From f462635a95fa3cb3d52678556104dd144351dcb6 Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Tue, 30 Oct 2018 10:42:32 +0000
Subject: [PATCH] Upgrade more dependencies

---
 vendor/github.com/cenkalti/backoff/context.go |    8 +-
 .../cenkalti/backoff/exponential.go           |    7 +-
 vendor/github.com/cenkalti/backoff/retry.go   |    2 +-
 vendor/github.com/gogo/protobuf/LICENSE       |   35 -
 .../github.com/gogo/protobuf/proto/Makefile   |   43 -
 .../github.com/gogo/protobuf/proto/clone.go   |  258 --
 .../gogo/protobuf/proto/custom_gogo.go        |   39 -
 .../github.com/gogo/protobuf/proto/decode.go  |  428 ---
 .../github.com/gogo/protobuf/proto/discard.go |  350 --
 .../gogo/protobuf/proto/duration.go           |  100 -
 .../gogo/protobuf/proto/duration_gogo.go      |   49 -
 .../github.com/gogo/protobuf/proto/encode.go  |  218 --
 .../gogo/protobuf/proto/encode_gogo.go        |   33 -
 .../github.com/gogo/protobuf/proto/equal.go   |  300 --
 .../gogo/protobuf/proto/extensions.go         |  604 ----
 .../gogo/protobuf/proto/extensions_gogo.go    |  368 ---
 vendor/github.com/gogo/protobuf/proto/lib.go  |  929 ------
 .../gogo/protobuf/proto/lib_gogo.go           |   50 -
 .../gogo/protobuf/proto/message_set.go        |  314 --
 .../gogo/protobuf/proto/pointer_reflect.go    |  357 ---
 .../protobuf/proto/pointer_reflect_gogo.go    |   59 -
 .../gogo/protobuf/proto/pointer_unsafe.go     |  308 --
 .../protobuf/proto/pointer_unsafe_gogo.go     |   56 -
 .../gogo/protobuf/proto/properties.go         |  600 ----
 .../gogo/protobuf/proto/properties_gogo.go    |   36 -
 .../gogo/protobuf/proto/skip_gogo.go          |  119 -
 .../gogo/protobuf/proto/table_marshal.go      | 2803 -----------------
 .../gogo/protobuf/proto/table_marshal_gogo.go |  388 ---
 .../gogo/protobuf/proto/table_merge.go        |  657 ----
 .../gogo/protobuf/proto/table_unmarshal.go    | 2058 ------------
 .../protobuf/proto/table_unmarshal_gogo.go    |  385 ---
 vendor/github.com/gogo/protobuf/proto/text.go |  928 ------
 .../gogo/protobuf/proto/text_gogo.go          |   57 -
 .../gogo/protobuf/proto/text_parser.go        |  998 ------
 .../gogo/protobuf/proto/timestamp.go          |  113 -
 .../gogo/protobuf/proto/timestamp_gogo.go     |   49 -
 vendor/github.com/gorilla/context/README.md   |    2 +-
 vendor/github.com/gorilla/handlers/README.md  |    2 +-
 vendor/github.com/gorilla/handlers/cors.go    |   29 +-
 vendor/github.com/gorilla/mux/README.md       |  383 ++-
 .../github.com/gorilla/mux/context_gorilla.go |   26 +
 .../github.com/gorilla/mux/context_native.go  |   24 +
 vendor/github.com/gorilla/mux/doc.go          |   77 +-
 vendor/github.com/gorilla/mux/mux.go          |  309 +-
 vendor/github.com/gorilla/mux/regexp.go       |  165 +-
 vendor/github.com/gorilla/mux/route.go        |  310 +-
 vendor/github.com/mssola/user_agent/README.md |    2 +-
 .../client_golang/prometheus/collector.go     |   36 +-
 .../client_golang/prometheus/desc.go          |    8 +-
 .../client_golang/prometheus/histogram.go     |  155 +-
 .../client_golang/prometheus/http.go          |  134 +-
 .../prometheus/internal/metric.go             |   85 +
 .../client_golang/prometheus/metric.go        |   27 +-
 .../prometheus/process_collector.go           |  105 +-
 .../client_golang/prometheus/promhttp/http.go |  104 +-
 .../client_golang/prometheus/registry.go      |  120 +-
 .../client_golang/prometheus/summary.go       |   15 +-
 .../client_golang/prometheus/value.go         |   12 +-
 .../client_golang/prometheus/wrap.go          |  179 ++
 .../prometheus/common/expfmt/text_create.go   |  357 ++-
 .../prometheus/common/model/time.go           |    2 +-
 .../prometheus/procfs/fixtures.ttar           |   16 +
 .../prometheus/procfs/internal/util/parse.go  |   15 +-
 .../procfs/internal/util/sysreadfile_linux.go |   45 +
 vendor/github.com/prometheus/procfs/proc.go   |   20 +
 vendor/golang.org/x/sys/unix/aliases.go       |   14 -
 vendor/golang.org/x/sys/unix/asm_aix_ppc64.s  |   17 -
 vendor/golang.org/x/sys/unix/constants.go     |    2 +-
 vendor/golang.org/x/sys/unix/dev_aix_ppc.go   |   27 -
 vendor/golang.org/x/sys/unix/dev_aix_ppc64.go |   29 -
 vendor/golang.org/x/sys/unix/dirent.go        |    2 +-
 vendor/golang.org/x/sys/unix/env_unix.go      |    2 +-
 vendor/golang.org/x/sys/unix/fcntl.go         |    6 +-
 vendor/golang.org/x/sys/unix/gccgo.go         |    1 -
 vendor/golang.org/x/sys/unix/gccgo_c.c        |    1 -
 vendor/golang.org/x/sys/unix/ioctl.go         |   30 -
 vendor/golang.org/x/sys/unix/mkall.sh         |   20 +-
 vendor/golang.org/x/sys/unix/mkerrors.sh      |   66 +-
 .../x/sys/unix/mksyscall_aix_ppc.pl           |  384 ---
 .../x/sys/unix/mksyscall_aix_ppc64.pl         |  579 ----
 .../x/sys/unix/mksyscall_solaris.pl           |    5 -
 .../golang.org/x/sys/unix/mksysctl_openbsd.pl |    1 -
 .../golang.org/x/sys/unix/mksysnum_freebsd.pl |    2 +-
 .../golang.org/x/sys/unix/openbsd_pledge.go   |  152 +-
 .../golang.org/x/sys/unix/openbsd_unveil.go   |   44 -
 vendor/golang.org/x/sys/unix/pagesize_unix.go |    2 +-
 vendor/golang.org/x/sys/unix/race0.go         |    2 +-
 vendor/golang.org/x/sys/unix/sockcmsg_unix.go |    4 +-
 vendor/golang.org/x/sys/unix/str.go           |    2 +-
 vendor/golang.org/x/sys/unix/syscall.go       |    2 +-
 vendor/golang.org/x/sys/unix/syscall_aix.go   |  547 ----
 .../golang.org/x/sys/unix/syscall_aix_ppc.go  |   34 -
 .../x/sys/unix/syscall_aix_ppc64.go           |   34 -
 vendor/golang.org/x/sys/unix/syscall_bsd.go   |    8 +-
 .../golang.org/x/sys/unix/syscall_darwin.go   |   36 +-
 .../x/sys/unix/syscall_dragonfly.go           |    6 +-
 .../golang.org/x/sys/unix/syscall_freebsd.go  |  559 ++--
 vendor/golang.org/x/sys/unix/syscall_linux.go |  216 +-
 .../x/sys/unix/syscall_linux_amd64.go         |   13 -
 .../x/sys/unix/syscall_linux_arm64.go         |    9 +-
 .../x/sys/unix/syscall_linux_mipsx.go         |    7 +-
 .../x/sys/unix/syscall_linux_ppc64x.go        |   22 +-
 .../x/sys/unix/syscall_linux_riscv64.go       |  209 --
 .../x/sys/unix/syscall_linux_s390x.go         |   13 -
 .../golang.org/x/sys/unix/syscall_netbsd.go   |   33 +-
 .../golang.org/x/sys/unix/syscall_openbsd.go  |   32 +-
 .../x/sys/unix/syscall_openbsd_386.go         |    4 -
 .../x/sys/unix/syscall_openbsd_arm.go         |    4 -
 .../golang.org/x/sys/unix/syscall_solaris.go  |   18 +-
 vendor/golang.org/x/sys/unix/syscall_unix.go  |   14 +-
 vendor/golang.org/x/sys/unix/timestruct.go    |    2 +-
 vendor/golang.org/x/sys/unix/xattr_bsd.go     |  231 --
 .../golang.org/x/sys/unix/zerrors_aix_ppc.go  | 1372 --------
 .../x/sys/unix/zerrors_aix_ppc64.go           | 1373 --------
 .../x/sys/unix/zerrors_dragonfly_amd64.go     |   66 +-
 .../x/sys/unix/zerrors_freebsd_386.go         |   29 -
 .../x/sys/unix/zerrors_freebsd_amd64.go       |   29 -
 .../x/sys/unix/zerrors_freebsd_arm.go         |   29 -
 .../x/sys/unix/zerrors_linux_386.go           |  112 +-
 .../x/sys/unix/zerrors_linux_amd64.go         |  112 +-
 .../x/sys/unix/zerrors_linux_arm.go           |  112 +-
 .../x/sys/unix/zerrors_linux_arm64.go         |  112 +-
 .../x/sys/unix/zerrors_linux_mips.go          |  111 +-
 .../x/sys/unix/zerrors_linux_mips64.go        |  111 +-
 .../x/sys/unix/zerrors_linux_mips64le.go      |  111 +-
 .../x/sys/unix/zerrors_linux_mipsle.go        |  111 +-
 .../x/sys/unix/zerrors_linux_ppc64.go         |  111 +-
 .../x/sys/unix/zerrors_linux_ppc64le.go       |  111 +-
 .../x/sys/unix/zerrors_linux_riscv64.go       | 2691 ----------------
 .../x/sys/unix/zerrors_linux_s390x.go         |  112 +-
 .../x/sys/unix/zerrors_linux_sparc64.go       |  350 +-
 .../x/sys/unix/zerrors_netbsd_386.go          |   44 -
 .../x/sys/unix/zerrors_netbsd_amd64.go        |   44 -
 .../x/sys/unix/zerrors_netbsd_arm.go          |   44 -
 .../x/sys/unix/zerrors_openbsd_386.go         |   54 -
 .../x/sys/unix/zerrors_openbsd_amd64.go       |   59 -
 .../x/sys/unix/zerrors_openbsd_arm.go         |   54 -
 .../x/sys/unix/zerrors_solaris_amd64.go       |   35 -
 .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 1450 ---------
 .../x/sys/unix/zsyscall_aix_ppc64.go          | 1408 ---------
 .../x/sys/unix/zsyscall_aix_ppc64_gc.go       | 1162 -------
 .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go    | 1042 ------
 .../x/sys/unix/zsyscall_darwin_386.go         |   57 -
 .../x/sys/unix/zsyscall_darwin_amd64.go       |   57 -
 .../x/sys/unix/zsyscall_darwin_arm.go         |   57 -
 .../x/sys/unix/zsyscall_darwin_arm64.go       |   57 -
 .../x/sys/unix/zsyscall_freebsd_386.go        |  108 +-
 .../x/sys/unix/zsyscall_freebsd_amd64.go      |  108 +-
 .../x/sys/unix/zsyscall_freebsd_arm.go        |  108 +-
 .../x/sys/unix/zsyscall_linux_386.go          |  172 -
 .../x/sys/unix/zsyscall_linux_amd64.go        |  187 --
 .../x/sys/unix/zsyscall_linux_arm.go          |  172 -
 .../x/sys/unix/zsyscall_linux_arm64.go        |  172 -
 .../x/sys/unix/zsyscall_linux_mips.go         |  184 --
 .../x/sys/unix/zsyscall_linux_mips64.go       |  172 -
 .../x/sys/unix/zsyscall_linux_mips64le.go     |  172 -
 .../x/sys/unix/zsyscall_linux_mipsle.go       |  184 --
 .../x/sys/unix/zsyscall_linux_ppc64.go        |  231 +-
 .../x/sys/unix/zsyscall_linux_ppc64le.go      |  231 +-
 .../x/sys/unix/zsyscall_linux_riscv64.go      | 2191 -------------
 .../x/sys/unix/zsyscall_linux_s390x.go        |  187 --
 .../x/sys/unix/zsyscall_netbsd_386.go         |  214 --
 .../x/sys/unix/zsyscall_netbsd_amd64.go       |  214 --
 .../x/sys/unix/zsyscall_netbsd_arm.go         |  214 --
 .../x/sys/unix/zsyscall_openbsd_386.go        |   27 -
 .../x/sys/unix/zsyscall_openbsd_amd64.go      |   27 -
 .../x/sys/unix/zsyscall_openbsd_arm.go        |   27 -
 .../x/sys/unix/zsyscall_solaris_amd64.go      |  256 --
 .../x/sys/unix/zsysctl_openbsd_amd64.go       |   13 -
 .../x/sys/unix/zsysnum_freebsd_386.go         |  736 ++---
 .../x/sys/unix/zsysnum_freebsd_amd64.go       |  736 ++---
 .../x/sys/unix/zsysnum_freebsd_arm.go         |  736 ++---
 .../x/sys/unix/zsysnum_linux_386.go           |    2 -
 .../x/sys/unix/zsysnum_linux_amd64.go         |    2 -
 .../x/sys/unix/zsysnum_linux_arm.go           |    2 -
 .../x/sys/unix/zsysnum_linux_arm64.go         |    2 -
 .../x/sys/unix/zsysnum_linux_mips.go          |    2 -
 .../x/sys/unix/zsysnum_linux_mips64.go        |    2 -
 .../x/sys/unix/zsysnum_linux_mips64le.go      |    2 -
 .../x/sys/unix/zsysnum_linux_mipsle.go        |    2 -
 .../x/sys/unix/zsysnum_linux_ppc64.go         |    2 -
 .../x/sys/unix/zsysnum_linux_ppc64le.go       |    2 -
 .../x/sys/unix/zsysnum_linux_riscv64.go       |  287 --
 .../x/sys/unix/zsysnum_linux_s390x.go         |    2 -
 .../x/sys/unix/zsysnum_openbsd_386.go         |   25 +-
 .../x/sys/unix/zsysnum_openbsd_amd64.go       |    1 -
 .../x/sys/unix/zsysnum_openbsd_arm.go         |   13 +-
 .../golang.org/x/sys/unix/ztypes_aix_ppc.go   |  345 --
 .../golang.org/x/sys/unix/ztypes_aix_ppc64.go |  354 ---
 .../x/sys/unix/ztypes_darwin_386.go           |   10 +-
 .../x/sys/unix/ztypes_darwin_amd64.go         |   10 +-
 .../x/sys/unix/ztypes_darwin_arm.go           |   10 +-
 .../x/sys/unix/ztypes_darwin_arm64.go         |   10 +-
 .../x/sys/unix/ztypes_dragonfly_amd64.go      |   27 +-
 .../x/sys/unix/ztypes_freebsd_386.go          |  276 +-
 .../x/sys/unix/ztypes_freebsd_amd64.go        |  294 +-
 .../x/sys/unix/ztypes_freebsd_arm.go          |  298 +-
 .../golang.org/x/sys/unix/ztypes_linux_386.go |  154 +-
 .../x/sys/unix/ztypes_linux_amd64.go          |  156 +-
 .../golang.org/x/sys/unix/ztypes_linux_arm.go |  155 +-
 .../x/sys/unix/ztypes_linux_arm64.go          |  156 +-
 .../x/sys/unix/ztypes_linux_mips.go           |  155 +-
 .../x/sys/unix/ztypes_linux_mips64.go         |  156 +-
 .../x/sys/unix/ztypes_linux_mips64le.go       |  156 +-
 .../x/sys/unix/ztypes_linux_mipsle.go         |  155 +-
 .../x/sys/unix/ztypes_linux_ppc64.go          |  156 +-
 .../x/sys/unix/ztypes_linux_ppc64le.go        |  156 +-
 .../x/sys/unix/ztypes_linux_riscv64.go        | 2016 ------------
 .../x/sys/unix/ztypes_linux_s390x.go          |  156 +-
 .../x/sys/unix/ztypes_linux_sparc64.go        |   10 +-
 .../x/sys/unix/ztypes_netbsd_386.go           |   20 +-
 .../x/sys/unix/ztypes_netbsd_amd64.go         |   20 +-
 .../x/sys/unix/ztypes_netbsd_arm.go           |   20 +-
 .../x/sys/unix/ztypes_openbsd_386.go          |  120 +-
 .../x/sys/unix/ztypes_openbsd_amd64.go        |  120 +-
 .../x/sys/unix/ztypes_openbsd_arm.go          |  120 +-
 .../x/sys/unix/ztypes_solaris_amd64.go        |   27 +-
 vendor/golang.org/x/sys/windows/aliases.go    |   13 -
 .../x/sys/windows/asm_windows_arm.s           |   11 -
 vendor/golang.org/x/sys/windows/service.go    |   18 -
 .../x/sys/windows/syscall_windows.go          |   60 +-
 .../golang.org/x/sys/windows/types_windows.go |  148 +-
 .../x/sys/windows/types_windows_arm.go        |   22 -
 vendor/gopkg.in/yaml.v2/NOTICE                |   13 -
 vendor/gopkg.in/yaml.v2/README.md             |    4 +-
 vendor/gopkg.in/yaml.v2/apic.go               |   55 +-
 vendor/gopkg.in/yaml.v2/decode.go             |  240 +-
 vendor/gopkg.in/yaml.v2/emitterc.go           |   11 +-
 vendor/gopkg.in/yaml.v2/encode.go             |  136 +-
 vendor/gopkg.in/yaml.v2/go.mod                |    5 -
 vendor/gopkg.in/yaml.v2/readerc.go            |   20 +-
 vendor/gopkg.in/yaml.v2/resolve.go            |   80 +-
 vendor/gopkg.in/yaml.v2/scannerc.go           |   29 +-
 vendor/gopkg.in/yaml.v2/sorter.go             |    9 -
 vendor/gopkg.in/yaml.v2/writerc.go            |   65 +-
 vendor/gopkg.in/yaml.v2/yaml.go               |  125 +-
 vendor/gopkg.in/yaml.v2/yamlh.go              |   30 +-
 vendor/vendor.json                            |  144 +-
 238 files changed, 4888 insertions(+), 43401 deletions(-)
 delete mode 100644 vendor/github.com/gogo/protobuf/LICENSE
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/Makefile
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/clone.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/custom_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/decode.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/discard.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/duration.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/duration_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/encode.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/encode_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/equal.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/extensions.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/extensions_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/lib.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/lib_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/message_set.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/pointer_reflect.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/properties.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/properties_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/skip_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/table_marshal.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/table_marshal_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/table_merge.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/table_unmarshal.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/table_unmarshal_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/text.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/text_gogo.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/text_parser.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/timestamp.go
 delete mode 100644 vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go
 create mode 100644 vendor/github.com/gorilla/mux/context_gorilla.go
 create mode 100644 vendor/github.com/gorilla/mux/context_native.go
 create mode 100644 vendor/github.com/prometheus/client_golang/prometheus/internal/metric.go
 create mode 100644 vendor/github.com/prometheus/client_golang/prometheus/wrap.go
 create mode 100644 vendor/github.com/prometheus/procfs/internal/util/sysreadfile_linux.go
 delete mode 100644 vendor/golang.org/x/sys/unix/aliases.go
 delete mode 100644 vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
 delete mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc.go
 delete mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
 delete mode 100644 vendor/golang.org/x/sys/unix/ioctl.go
 delete mode 100755 vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.pl
 delete mode 100755 vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.pl
 delete mode 100644 vendor/golang.org/x/sys/unix/openbsd_unveil.go
 delete mode 100644 vendor/golang.org/x/sys/unix/syscall_aix.go
 delete mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
 delete mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
 delete mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
 delete mode 100644 vendor/golang.org/x/sys/unix/xattr_bsd.go
 delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
 delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
 delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
 delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
 delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
 delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
 delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
 delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
 delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
 delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
 delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
 delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
 delete mode 100644 vendor/golang.org/x/sys/windows/aliases.go
 delete mode 100644 vendor/golang.org/x/sys/windows/asm_windows_arm.s
 delete mode 100644 vendor/golang.org/x/sys/windows/types_windows_arm.go
 delete mode 100644 vendor/gopkg.in/yaml.v2/NOTICE
 delete mode 100644 vendor/gopkg.in/yaml.v2/go.mod

diff --git a/vendor/github.com/cenkalti/backoff/context.go b/vendor/github.com/cenkalti/backoff/context.go
index d700552..7706faa 100644
--- a/vendor/github.com/cenkalti/backoff/context.go
+++ b/vendor/github.com/cenkalti/backoff/context.go
@@ -51,9 +51,13 @@ func (b *backOffContext) Context() context.Context {
 
 func (b *backOffContext) NextBackOff() time.Duration {
 	select {
-	case <-b.Context().Done():
+	case <-b.ctx.Done():
 		return Stop
 	default:
-		return b.BackOff.NextBackOff()
 	}
+	next := b.BackOff.NextBackOff()
+	if deadline, ok := b.ctx.Deadline(); ok && deadline.Sub(time.Now()) < next {
+		return Stop
+	}
+	return next
 }
diff --git a/vendor/github.com/cenkalti/backoff/exponential.go b/vendor/github.com/cenkalti/backoff/exponential.go
index d9de15a..a031a65 100644
--- a/vendor/github.com/cenkalti/backoff/exponential.go
+++ b/vendor/github.com/cenkalti/backoff/exponential.go
@@ -63,7 +63,6 @@ type ExponentialBackOff struct {
 
 	currentInterval time.Duration
 	startTime       time.Time
-	random          *rand.Rand
 }
 
 // Clock is an interface that returns current time for BackOff.
@@ -89,7 +88,6 @@ func NewExponentialBackOff() *ExponentialBackOff {
 		MaxInterval:         DefaultMaxInterval,
 		MaxElapsedTime:      DefaultMaxElapsedTime,
 		Clock:               SystemClock,
-		random:              rand.New(rand.NewSource(time.Now().UnixNano())),
 	}
 	b.Reset()
 	return b
@@ -118,10 +116,7 @@ func (b *ExponentialBackOff) NextBackOff() time.Duration {
 		return Stop
 	}
 	defer b.incrementCurrentInterval()
-	if b.random == nil {
-		b.random = rand.New(rand.NewSource(time.Now().UnixNano()))
-	}
-	return getRandomValueFromInterval(b.RandomizationFactor, b.random.Float64(), b.currentInterval)
+	return getRandomValueFromInterval(b.RandomizationFactor, rand.Float64(), b.currentInterval)
 }
 
 // GetElapsedTime returns the elapsed time since an ExponentialBackOff instance
diff --git a/vendor/github.com/cenkalti/backoff/retry.go b/vendor/github.com/cenkalti/backoff/retry.go
index e65cc70..49a30e9 100644
--- a/vendor/github.com/cenkalti/backoff/retry.go
+++ b/vendor/github.com/cenkalti/backoff/retry.go
@@ -41,7 +41,7 @@ func RetryNotify(operation Operation, b BackOff, notify Notify) error {
 			return permanent.Err
 		}
 
-		if next = b.NextBackOff(); next == Stop {
+		if next = cb.NextBackOff(); next == Stop {
 			return err
 		}
 
diff --git a/vendor/github.com/gogo/protobuf/LICENSE b/vendor/github.com/gogo/protobuf/LICENSE
deleted file mode 100644
index f57de90..0000000
--- a/vendor/github.com/gogo/protobuf/LICENSE
+++ /dev/null
@@ -1,35 +0,0 @@
-Copyright (c) 2013, The GoGo Authors. All rights reserved.
-
-Protocol Buffers for Go with Gadgets
-
-Go support for Protocol Buffers - Google's data interchange format
-
-Copyright 2010 The Go Authors.  All rights reserved.
-https://github.com/golang/protobuf
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-    * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/vendor/github.com/gogo/protobuf/proto/Makefile b/vendor/github.com/gogo/protobuf/proto/Makefile
deleted file mode 100644
index 00d65f3..0000000
--- a/vendor/github.com/gogo/protobuf/proto/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# Go support for Protocol Buffers - Google's data interchange format
-#
-# Copyright 2010 The Go Authors.  All rights reserved.
-# https://github.com/golang/protobuf
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-#     * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-#     * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-install:
-	go install
-
-test: install generate-test-pbs
-	go test
-
-
-generate-test-pbs:
-	make install
-	make -C test_proto
-	make -C proto3_proto
-	make
diff --git a/vendor/github.com/gogo/protobuf/proto/clone.go b/vendor/github.com/gogo/protobuf/proto/clone.go
deleted file mode 100644
index a26b046..0000000
--- a/vendor/github.com/gogo/protobuf/proto/clone.go
+++ /dev/null
@@ -1,258 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2011 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Protocol buffer deep copy and merge.
-// TODO: RawMessage.
-
-package proto
-
-import (
-	"fmt"
-	"log"
-	"reflect"
-	"strings"
-)
-
-// Clone returns a deep copy of a protocol buffer.
-func Clone(src Message) Message {
-	in := reflect.ValueOf(src)
-	if in.IsNil() {
-		return src
-	}
-	out := reflect.New(in.Type().Elem())
-	dst := out.Interface().(Message)
-	Merge(dst, src)
-	return dst
-}
-
-// Merger is the interface representing objects that can merge messages of the same type.
-type Merger interface {
-	// Merge merges src into this message.
-	// Required and optional fields that are set in src will be set to that value in dst.
-	// Elements of repeated fields will be appended.
-	//
-	// Merge may panic if called with a different argument type than the receiver.
-	Merge(src Message)
-}
-
-// generatedMerger is the custom merge method that generated protos will have.
-// We must add this method since a generate Merge method will conflict with
-// many existing protos that have a Merge data field already defined.
-type generatedMerger interface {
-	XXX_Merge(src Message)
-}
-
-// Merge merges src into dst.
-// Required and optional fields that are set in src will be set to that value in dst.
-// Elements of repeated fields will be appended.
-// Merge panics if src and dst are not the same type, or if dst is nil.
-func Merge(dst, src Message) {
-	if m, ok := dst.(Merger); ok {
-		m.Merge(src)
-		return
-	}
-
-	in := reflect.ValueOf(src)
-	out := reflect.ValueOf(dst)
-	if out.IsNil() {
-		panic("proto: nil destination")
-	}
-	if in.Type() != out.Type() {
-		panic(fmt.Sprintf("proto.Merge(%T, %T) type mismatch", dst, src))
-	}
-	if in.IsNil() {
-		return // Merge from nil src is a noop
-	}
-	if m, ok := dst.(generatedMerger); ok {
-		m.XXX_Merge(src)
-		return
-	}
-	mergeStruct(out.Elem(), in.Elem())
-}
-
-func mergeStruct(out, in reflect.Value) {
-	sprop := GetProperties(in.Type())
-	for i := 0; i < in.NumField(); i++ {
-		f := in.Type().Field(i)
-		if strings.HasPrefix(f.Name, "XXX_") {
-			continue
-		}
-		mergeAny(out.Field(i), in.Field(i), false, sprop.Prop[i])
-	}
-
-	if emIn, ok := in.Addr().Interface().(extensionsBytes); ok {
-		emOut := out.Addr().Interface().(extensionsBytes)
-		bIn := emIn.GetExtensions()
-		bOut := emOut.GetExtensions()
-		*bOut = append(*bOut, *bIn...)
-	} else if emIn, err := extendable(in.Addr().Interface()); err == nil {
-		emOut, _ := extendable(out.Addr().Interface())
-		mIn, muIn := emIn.extensionsRead()
-		if mIn != nil {
-			mOut := emOut.extensionsWrite()
-			muIn.Lock()
-			mergeExtension(mOut, mIn)
-			muIn.Unlock()
-		}
-	}
-
-	uf := in.FieldByName("XXX_unrecognized")
-	if !uf.IsValid() {
-		return
-	}
-	uin := uf.Bytes()
-	if len(uin) > 0 {
-		out.FieldByName("XXX_unrecognized").SetBytes(append([]byte(nil), uin...))
-	}
-}
-
-// mergeAny performs a merge between two values of the same type.
-// viaPtr indicates whether the values were indirected through a pointer (implying proto2).
-// prop is set if this is a struct field (it may be nil).
-func mergeAny(out, in reflect.Value, viaPtr bool, prop *Properties) {
-	if in.Type() == protoMessageType {
-		if !in.IsNil() {
-			if out.IsNil() {
-				out.Set(reflect.ValueOf(Clone(in.Interface().(Message))))
-			} else {
-				Merge(out.Interface().(Message), in.Interface().(Message))
-			}
-		}
-		return
-	}
-	switch in.Kind() {
-	case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,
-		reflect.String, reflect.Uint32, reflect.Uint64:
-		if !viaPtr && isProto3Zero(in) {
-			return
-		}
-		out.Set(in)
-	case reflect.Interface:
-		// Probably a oneof field; copy non-nil values.
-		if in.IsNil() {
-			return
-		}
-		// Allocate destination if it is not set, or set to a different type.
-		// Otherwise we will merge as normal.
-		if out.IsNil() || out.Elem().Type() != in.Elem().Type() {
-			out.Set(reflect.New(in.Elem().Elem().Type())) // interface -> *T -> T -> new(T)
-		}
-		mergeAny(out.Elem(), in.Elem(), false, nil)
-	case reflect.Map:
-		if in.Len() == 0 {
-			return
-		}
-		if out.IsNil() {
-			out.Set(reflect.MakeMap(in.Type()))
-		}
-		// For maps with value types of *T or []byte we need to deep copy each value.
-		elemKind := in.Type().Elem().Kind()
-		for _, key := range in.MapKeys() {
-			var val reflect.Value
-			switch elemKind {
-			case reflect.Ptr:
-				val = reflect.New(in.Type().Elem().Elem())
-				mergeAny(val, in.MapIndex(key), false, nil)
-			case reflect.Slice:
-				val = in.MapIndex(key)
-				val = reflect.ValueOf(append([]byte{}, val.Bytes()...))
-			default:
-				val = in.MapIndex(key)
-			}
-			out.SetMapIndex(key, val)
-		}
-	case reflect.Ptr:
-		if in.IsNil() {
-			return
-		}
-		if out.IsNil() {
-			out.Set(reflect.New(in.Elem().Type()))
-		}
-		mergeAny(out.Elem(), in.Elem(), true, nil)
-	case reflect.Slice:
-		if in.IsNil() {
-			return
-		}
-		if in.Type().Elem().Kind() == reflect.Uint8 {
-			// []byte is a scalar bytes field, not a repeated field.
-
-			// Edge case: if this is in a proto3 message, a zero length
-			// bytes field is considered the zero value, and should not
-			// be merged.
-			if prop != nil && prop.proto3 && in.Len() == 0 {
-				return
-			}
-
-			// Make a deep copy.
-			// Append to []byte{} instead of []byte(nil) so that we never end up
-			// with a nil result.
-			out.SetBytes(append([]byte{}, in.Bytes()...))
-			return
-		}
-		n := in.Len()
-		if out.IsNil() {
-			out.Set(reflect.MakeSlice(in.Type(), 0, n))
-		}
-		switch in.Type().Elem().Kind() {
-		case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,
-			reflect.String, reflect.Uint32, reflect.Uint64:
-			out.Set(reflect.AppendSlice(out, in))
-		default:
-			for i := 0; i < n; i++ {
-				x := reflect.Indirect(reflect.New(in.Type().Elem()))
-				mergeAny(x, in.Index(i), false, nil)
-				out.Set(reflect.Append(out, x))
-			}
-		}
-	case reflect.Struct:
-		mergeStruct(out, in)
-	default:
-		// unknown type, so not a protocol buffer
-		log.Printf("proto: don't know how to copy %v", in)
-	}
-}
-
-func mergeExtension(out, in map[int32]Extension) {
-	for extNum, eIn := range in {
-		eOut := Extension{desc: eIn.desc}
-		if eIn.value != nil {
-			v := reflect.New(reflect.TypeOf(eIn.value)).Elem()
-			mergeAny(v, reflect.ValueOf(eIn.value), false, nil)
-			eOut.value = v.Interface()
-		}
-		if eIn.enc != nil {
-			eOut.enc = make([]byte, len(eIn.enc))
-			copy(eOut.enc, eIn.enc)
-		}
-
-		out[extNum] = eOut
-	}
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/custom_gogo.go b/vendor/github.com/gogo/protobuf/proto/custom_gogo.go
deleted file mode 100644
index 2455248..0000000
--- a/vendor/github.com/gogo/protobuf/proto/custom_gogo.go
+++ /dev/null
@@ -1,39 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2018, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import "reflect"
-
-type custom interface {
-	Marshal() ([]byte, error)
-	Unmarshal(data []byte) error
-	Size() int
-}
-
-var customType = reflect.TypeOf((*custom)(nil)).Elem()
diff --git a/vendor/github.com/gogo/protobuf/proto/decode.go b/vendor/github.com/gogo/protobuf/proto/decode.go
deleted file mode 100644
index d9aa3c4..0000000
--- a/vendor/github.com/gogo/protobuf/proto/decode.go
+++ /dev/null
@@ -1,428 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2010 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-/*
- * Routines for decoding protocol buffer data to construct in-memory representations.
- */
-
-import (
-	"errors"
-	"fmt"
-	"io"
-)
-
-// errOverflow is returned when an integer is too large to be represented.
-var errOverflow = errors.New("proto: integer overflow")
-
-// ErrInternalBadWireType is returned by generated code when an incorrect
-// wire type is encountered. It does not get returned to user code.
-var ErrInternalBadWireType = errors.New("proto: internal error: bad wiretype for oneof")
-
-// DecodeVarint reads a varint-encoded integer from the slice.
-// It returns the integer and the number of bytes consumed, or
-// zero if there is not enough.
-// This is the format for the
-// int32, int64, uint32, uint64, bool, and enum
-// protocol buffer types.
-func DecodeVarint(buf []byte) (x uint64, n int) {
-	for shift := uint(0); shift < 64; shift += 7 {
-		if n >= len(buf) {
-			return 0, 0
-		}
-		b := uint64(buf[n])
-		n++
-		x |= (b & 0x7F) << shift
-		if (b & 0x80) == 0 {
-			return x, n
-		}
-	}
-
-	// The number is too large to represent in a 64-bit value.
-	return 0, 0
-}
-
-func (p *Buffer) decodeVarintSlow() (x uint64, err error) {
-	i := p.index
-	l := len(p.buf)
-
-	for shift := uint(0); shift < 64; shift += 7 {
-		if i >= l {
-			err = io.ErrUnexpectedEOF
-			return
-		}
-		b := p.buf[i]
-		i++
-		x |= (uint64(b) & 0x7F) << shift
-		if b < 0x80 {
-			p.index = i
-			return
-		}
-	}
-
-	// The number is too large to represent in a 64-bit value.
-	err = errOverflow
-	return
-}
-
-// DecodeVarint reads a varint-encoded integer from the Buffer.
-// This is the format for the
-// int32, int64, uint32, uint64, bool, and enum
-// protocol buffer types.
-func (p *Buffer) DecodeVarint() (x uint64, err error) {
-	i := p.index
-	buf := p.buf
-
-	if i >= len(buf) {
-		return 0, io.ErrUnexpectedEOF
-	} else if buf[i] < 0x80 {
-		p.index++
-		return uint64(buf[i]), nil
-	} else if len(buf)-i < 10 {
-		return p.decodeVarintSlow()
-	}
-
-	var b uint64
-	// we already checked the first byte
-	x = uint64(buf[i]) - 0x80
-	i++
-
-	b = uint64(buf[i])
-	i++
-	x += b << 7
-	if b&0x80 == 0 {
-		goto done
-	}
-	x -= 0x80 << 7
-
-	b = uint64(buf[i])
-	i++
-	x += b << 14
-	if b&0x80 == 0 {
-		goto done
-	}
-	x -= 0x80 << 14
-
-	b = uint64(buf[i])
-	i++
-	x += b << 21
-	if b&0x80 == 0 {
-		goto done
-	}
-	x -= 0x80 << 21
-
-	b = uint64(buf[i])
-	i++
-	x += b << 28
-	if b&0x80 == 0 {
-		goto done
-	}
-	x -= 0x80 << 28
-
-	b = uint64(buf[i])
-	i++
-	x += b << 35
-	if b&0x80 == 0 {
-		goto done
-	}
-	x -= 0x80 << 35
-
-	b = uint64(buf[i])
-	i++
-	x += b << 42
-	if b&0x80 == 0 {
-		goto done
-	}
-	x -= 0x80 << 42
-
-	b = uint64(buf[i])
-	i++
-	x += b << 49
-	if b&0x80 == 0 {
-		goto done
-	}
-	x -= 0x80 << 49
-
-	b = uint64(buf[i])
-	i++
-	x += b << 56
-	if b&0x80 == 0 {
-		goto done
-	}
-	x -= 0x80 << 56
-
-	b = uint64(buf[i])
-	i++
-	x += b << 63
-	if b&0x80 == 0 {
-		goto done
-	}
-	// x -= 0x80 << 63 // Always zero.
-
-	return 0, errOverflow
-
-done:
-	p.index = i
-	return x, nil
-}
-
-// DecodeFixed64 reads a 64-bit integer from the Buffer.
-// This is the format for the
-// fixed64, sfixed64, and double protocol buffer types.
-func (p *Buffer) DecodeFixed64() (x uint64, err error) {
-	// x, err already 0
-	i := p.index + 8
-	if i < 0 || i > len(p.buf) {
-		err = io.ErrUnexpectedEOF
-		return
-	}
-	p.index = i
-
-	x = uint64(p.buf[i-8])
-	x |= uint64(p.buf[i-7]) << 8
-	x |= uint64(p.buf[i-6]) << 16
-	x |= uint64(p.buf[i-5]) << 24
-	x |= uint64(p.buf[i-4]) << 32
-	x |= uint64(p.buf[i-3]) << 40
-	x |= uint64(p.buf[i-2]) << 48
-	x |= uint64(p.buf[i-1]) << 56
-	return
-}
-
-// DecodeFixed32 reads a 32-bit integer from the Buffer.
-// This is the format for the
-// fixed32, sfixed32, and float protocol buffer types.
-func (p *Buffer) DecodeFixed32() (x uint64, err error) {
-	// x, err already 0
-	i := p.index + 4
-	if i < 0 || i > len(p.buf) {
-		err = io.ErrUnexpectedEOF
-		return
-	}
-	p.index = i
-
-	x = uint64(p.buf[i-4])
-	x |= uint64(p.buf[i-3]) << 8
-	x |= uint64(p.buf[i-2]) << 16
-	x |= uint64(p.buf[i-1]) << 24
-	return
-}
-
-// DecodeZigzag64 reads a zigzag-encoded 64-bit integer
-// from the Buffer.
-// This is the format used for the sint64 protocol buffer type.
-func (p *Buffer) DecodeZigzag64() (x uint64, err error) {
-	x, err = p.DecodeVarint()
-	if err != nil {
-		return
-	}
-	x = (x >> 1) ^ uint64((int64(x&1)<<63)>>63)
-	return
-}
-
-// DecodeZigzag32 reads a zigzag-encoded 32-bit integer
-// from  the Buffer.
-// This is the format used for the sint32 protocol buffer type.
-func (p *Buffer) DecodeZigzag32() (x uint64, err error) {
-	x, err = p.DecodeVarint()
-	if err != nil {
-		return
-	}
-	x = uint64((uint32(x) >> 1) ^ uint32((int32(x&1)<<31)>>31))
-	return
-}
-
-// DecodeRawBytes reads a count-delimited byte buffer from the Buffer.
-// This is the format used for the bytes protocol buffer
-// type and for embedded messages.
-func (p *Buffer) DecodeRawBytes(alloc bool) (buf []byte, err error) {
-	n, err := p.DecodeVarint()
-	if err != nil {
-		return nil, err
-	}
-
-	nb := int(n)
-	if nb < 0 {
-		return nil, fmt.Errorf("proto: bad byte length %d", nb)
-	}
-	end := p.index + nb
-	if end < p.index || end > len(p.buf) {
-		return nil, io.ErrUnexpectedEOF
-	}
-
-	if !alloc {
-		// todo: check if can get more uses of alloc=false
-		buf = p.buf[p.index:end]
-		p.index += nb
-		return
-	}
-
-	buf = make([]byte, nb)
-	copy(buf, p.buf[p.index:])
-	p.index += nb
-	return
-}
-
-// DecodeStringBytes reads an encoded string from the Buffer.
-// This is the format used for the proto2 string type.
-func (p *Buffer) DecodeStringBytes() (s string, err error) {
-	buf, err := p.DecodeRawBytes(false)
-	if err != nil {
-		return
-	}
-	return string(buf), nil
-}
-
-// Unmarshaler is the interface representing objects that can
-// unmarshal themselves.  The argument points to data that may be
-// overwritten, so implementations should not keep references to the
-// buffer.
-// Unmarshal implementations should not clear the receiver.
-// Any unmarshaled data should be merged into the receiver.
-// Callers of Unmarshal that do not want to retain existing data
-// should Reset the receiver before calling Unmarshal.
-type Unmarshaler interface {
-	Unmarshal([]byte) error
-}
-
-// newUnmarshaler is the interface representing objects that can
-// unmarshal themselves. The semantics are identical to Unmarshaler.
-//
-// This exists to support protoc-gen-go generated messages.
-// The proto package will stop type-asserting to this interface in the future.
-//
-// DO NOT DEPEND ON THIS.
-type newUnmarshaler interface {
-	XXX_Unmarshal([]byte) error
-}
-
-// Unmarshal parses the protocol buffer representation in buf and places the
-// decoded result in pb.  If the struct underlying pb does not match
-// the data in buf, the results can be unpredictable.
-//
-// Unmarshal resets pb before starting to unmarshal, so any
-// existing data in pb is always removed. Use UnmarshalMerge
-// to preserve and append to existing data.
-func Unmarshal(buf []byte, pb Message) error {
-	pb.Reset()
-	if u, ok := pb.(newUnmarshaler); ok {
-		return u.XXX_Unmarshal(buf)
-	}
-	if u, ok := pb.(Unmarshaler); ok {
-		return u.Unmarshal(buf)
-	}
-	return NewBuffer(buf).Unmarshal(pb)
-}
-
-// UnmarshalMerge parses the protocol buffer representation in buf and
-// writes the decoded result to pb.  If the struct underlying pb does not match
-// the data in buf, the results can be unpredictable.
-//
-// UnmarshalMerge merges into existing data in pb.
-// Most code should use Unmarshal instead.
-func UnmarshalMerge(buf []byte, pb Message) error {
-	if u, ok := pb.(newUnmarshaler); ok {
-		return u.XXX_Unmarshal(buf)
-	}
-	if u, ok := pb.(Unmarshaler); ok {
-		// NOTE: The history of proto have unfortunately been inconsistent
-		// whether Unmarshaler should or should not implicitly clear itself.
-		// Some implementations do, most do not.
-		// Thus, calling this here may or may not do what people want.
-		//
-		// See https://github.com/golang/protobuf/issues/424
-		return u.Unmarshal(buf)
-	}
-	return NewBuffer(buf).Unmarshal(pb)
-}
-
-// DecodeMessage reads a count-delimited message from the Buffer.
-func (p *Buffer) DecodeMessage(pb Message) error {
-	enc, err := p.DecodeRawBytes(false)
-	if err != nil {
-		return err
-	}
-	return NewBuffer(enc).Unmarshal(pb)
-}
-
-// DecodeGroup reads a tag-delimited group from the Buffer.
-// StartGroup tag is already consumed. This function consumes
-// EndGroup tag.
-func (p *Buffer) DecodeGroup(pb Message) error {
-	b := p.buf[p.index:]
-	x, y := findEndGroup(b)
-	if x < 0 {
-		return io.ErrUnexpectedEOF
-	}
-	err := Unmarshal(b[:x], pb)
-	p.index += y
-	return err
-}
-
-// Unmarshal parses the protocol buffer representation in the
-// Buffer and places the decoded result in pb.  If the struct
-// underlying pb does not match the data in the buffer, the results can be
-// unpredictable.
-//
-// Unlike proto.Unmarshal, this does not reset pb before starting to unmarshal.
-func (p *Buffer) Unmarshal(pb Message) error {
-	// If the object can unmarshal itself, let it.
-	if u, ok := pb.(newUnmarshaler); ok {
-		err := u.XXX_Unmarshal(p.buf[p.index:])
-		p.index = len(p.buf)
-		return err
-	}
-	if u, ok := pb.(Unmarshaler); ok {
-		// NOTE: The history of proto have unfortunately been inconsistent
-		// whether Unmarshaler should or should not implicitly clear itself.
-		// Some implementations do, most do not.
-		// Thus, calling this here may or may not do what people want.
-		//
-		// See https://github.com/golang/protobuf/issues/424
-		err := u.Unmarshal(p.buf[p.index:])
-		p.index = len(p.buf)
-		return err
-	}
-
-	// Slow workaround for messages that aren't Unmarshalers.
-	// This includes some hand-coded .pb.go files and
-	// bootstrap protos.
-	// TODO: fix all of those and then add Unmarshal to
-	// the Message interface. Then:
-	// The cast above and code below can be deleted.
-	// The old unmarshaler can be deleted.
-	// Clients can call Unmarshal directly (can already do that, actually).
-	var info InternalMessageInfo
-	err := info.Unmarshal(pb, p.buf[p.index:])
-	p.index = len(p.buf)
-	return err
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/discard.go b/vendor/github.com/gogo/protobuf/proto/discard.go
deleted file mode 100644
index fe1bd7d..0000000
--- a/vendor/github.com/gogo/protobuf/proto/discard.go
+++ /dev/null
@@ -1,350 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2017 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"fmt"
-	"reflect"
-	"strings"
-	"sync"
-	"sync/atomic"
-)
-
-type generatedDiscarder interface {
-	XXX_DiscardUnknown()
-}
-
-// DiscardUnknown recursively discards all unknown fields from this message
-// and all embedded messages.
-//
-// When unmarshaling a message with unrecognized fields, the tags and values
-// of such fields are preserved in the Message. This allows a later call to
-// marshal to be able to produce a message that continues to have those
-// unrecognized fields. To avoid this, DiscardUnknown is used to
-// explicitly clear the unknown fields after unmarshaling.
-//
-// For proto2 messages, the unknown fields of message extensions are only
-// discarded from messages that have been accessed via GetExtension.
-func DiscardUnknown(m Message) {
-	if m, ok := m.(generatedDiscarder); ok {
-		m.XXX_DiscardUnknown()
-		return
-	}
-	// TODO: Dynamically populate a InternalMessageInfo for legacy messages,
-	// but the master branch has no implementation for InternalMessageInfo,
-	// so it would be more work to replicate that approach.
-	discardLegacy(m)
-}
-
-// DiscardUnknown recursively discards all unknown fields.
-func (a *InternalMessageInfo) DiscardUnknown(m Message) {
-	di := atomicLoadDiscardInfo(&a.discard)
-	if di == nil {
-		di = getDiscardInfo(reflect.TypeOf(m).Elem())
-		atomicStoreDiscardInfo(&a.discard, di)
-	}
-	di.discard(toPointer(&m))
-}
-
-type discardInfo struct {
-	typ reflect.Type
-
-	initialized int32 // 0: only typ is valid, 1: everything is valid
-	lock        sync.Mutex
-
-	fields       []discardFieldInfo
-	unrecognized field
-}
-
-type discardFieldInfo struct {
-	field   field // Offset of field, guaranteed to be valid
-	discard func(src pointer)
-}
-
-var (
-	discardInfoMap  = map[reflect.Type]*discardInfo{}
-	discardInfoLock sync.Mutex
-)
-
-func getDiscardInfo(t reflect.Type) *discardInfo {
-	discardInfoLock.Lock()
-	defer discardInfoLock.Unlock()
-	di := discardInfoMap[t]
-	if di == nil {
-		di = &discardInfo{typ: t}
-		discardInfoMap[t] = di
-	}
-	return di
-}
-
-func (di *discardInfo) discard(src pointer) {
-	if src.isNil() {
-		return // Nothing to do.
-	}
-
-	if atomic.LoadInt32(&di.initialized) == 0 {
-		di.computeDiscardInfo()
-	}
-
-	for _, fi := range di.fields {
-		sfp := src.offset(fi.field)
-		fi.discard(sfp)
-	}
-
-	// For proto2 messages, only discard unknown fields in message extensions
-	// that have been accessed via GetExtension.
-	if em, err := extendable(src.asPointerTo(di.typ).Interface()); err == nil {
-		// Ignore lock since DiscardUnknown is not concurrency safe.
-		emm, _ := em.extensionsRead()
-		for _, mx := range emm {
-			if m, ok := mx.value.(Message); ok {
-				DiscardUnknown(m)
-			}
-		}
-	}
-
-	if di.unrecognized.IsValid() {
-		*src.offset(di.unrecognized).toBytes() = nil
-	}
-}
-
-func (di *discardInfo) computeDiscardInfo() {
-	di.lock.Lock()
-	defer di.lock.Unlock()
-	if di.initialized != 0 {
-		return
-	}
-	t := di.typ
-	n := t.NumField()
-
-	for i := 0; i < n; i++ {
-		f := t.Field(i)
-		if strings.HasPrefix(f.Name, "XXX_") {
-			continue
-		}
-
-		dfi := discardFieldInfo{field: toField(&f)}
-		tf := f.Type
-
-		// Unwrap tf to get its most basic type.
-		var isPointer, isSlice bool
-		if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {
-			isSlice = true
-			tf = tf.Elem()
-		}
-		if tf.Kind() == reflect.Ptr {
-			isPointer = true
-			tf = tf.Elem()
-		}
-		if isPointer && isSlice && tf.Kind() != reflect.Struct {
-			panic(fmt.Sprintf("%v.%s cannot be a slice of pointers to primitive types", t, f.Name))
-		}
-
-		switch tf.Kind() {
-		case reflect.Struct:
-			switch {
-			case !isPointer:
-				panic(fmt.Sprintf("%v.%s cannot be a direct struct value", t, f.Name))
-			case isSlice: // E.g., []*pb.T
-				discardInfo := getDiscardInfo(tf)
-				dfi.discard = func(src pointer) {
-					sps := src.getPointerSlice()
-					for _, sp := range sps {
-						if !sp.isNil() {
-							discardInfo.discard(sp)
-						}
-					}
-				}
-			default: // E.g., *pb.T
-				discardInfo := getDiscardInfo(tf)
-				dfi.discard = func(src pointer) {
-					sp := src.getPointer()
-					if !sp.isNil() {
-						discardInfo.discard(sp)
-					}
-				}
-			}
-		case reflect.Map:
-			switch {
-			case isPointer || isSlice:
-				panic(fmt.Sprintf("%v.%s cannot be a pointer to a map or a slice of map values", t, f.Name))
-			default: // E.g., map[K]V
-				if tf.Elem().Kind() == reflect.Ptr { // Proto struct (e.g., *T)
-					dfi.discard = func(src pointer) {
-						sm := src.asPointerTo(tf).Elem()
-						if sm.Len() == 0 {
-							return
-						}
-						for _, key := range sm.MapKeys() {
-							val := sm.MapIndex(key)
-							DiscardUnknown(val.Interface().(Message))
-						}
-					}
-				} else {
-					dfi.discard = func(pointer) {} // Noop
-				}
-			}
-		case reflect.Interface:
-			// Must be oneof field.
-			switch {
-			case isPointer || isSlice:
-				panic(fmt.Sprintf("%v.%s cannot be a pointer to a interface or a slice of interface values", t, f.Name))
-			default: // E.g., interface{}
-				// TODO: Make this faster?
-				dfi.discard = func(src pointer) {
-					su := src.asPointerTo(tf).Elem()
-					if !su.IsNil() {
-						sv := su.Elem().Elem().Field(0)
-						if sv.Kind() == reflect.Ptr && sv.IsNil() {
-							return
-						}
-						switch sv.Type().Kind() {
-						case reflect.Ptr: // Proto struct (e.g., *T)
-							DiscardUnknown(sv.Interface().(Message))
-						}
-					}
-				}
-			}
-		default:
-			continue
-		}
-		di.fields = append(di.fields, dfi)
-	}
-
-	di.unrecognized = invalidField
-	if f, ok := t.FieldByName("XXX_unrecognized"); ok {
-		if f.Type != reflect.TypeOf([]byte{}) {
-			panic("expected XXX_unrecognized to be of type []byte")
-		}
-		di.unrecognized = toField(&f)
-	}
-
-	atomic.StoreInt32(&di.initialized, 1)
-}
-
-func discardLegacy(m Message) {
-	v := reflect.ValueOf(m)
-	if v.Kind() != reflect.Ptr || v.IsNil() {
-		return
-	}
-	v = v.Elem()
-	if v.Kind() != reflect.Struct {
-		return
-	}
-	t := v.Type()
-
-	for i := 0; i < v.NumField(); i++ {
-		f := t.Field(i)
-		if strings.HasPrefix(f.Name, "XXX_") {
-			continue
-		}
-		vf := v.Field(i)
-		tf := f.Type
-
-		// Unwrap tf to get its most basic type.
-		var isPointer, isSlice bool
-		if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {
-			isSlice = true
-			tf = tf.Elem()
-		}
-		if tf.Kind() == reflect.Ptr {
-			isPointer = true
-			tf = tf.Elem()
-		}
-		if isPointer && isSlice && tf.Kind() != reflect.Struct {
-			panic(fmt.Sprintf("%T.%s cannot be a slice of pointers to primitive types", m, f.Name))
-		}
-
-		switch tf.Kind() {
-		case reflect.Struct:
-			switch {
-			case !isPointer:
-				panic(fmt.Sprintf("%T.%s cannot be a direct struct value", m, f.Name))
-			case isSlice: // E.g., []*pb.T
-				for j := 0; j < vf.Len(); j++ {
-					discardLegacy(vf.Index(j).Interface().(Message))
-				}
-			default: // E.g., *pb.T
-				discardLegacy(vf.Interface().(Message))
-			}
-		case reflect.Map:
-			switch {
-			case isPointer || isSlice:
-				panic(fmt.Sprintf("%T.%s cannot be a pointer to a map or a slice of map values", m, f.Name))
-			default: // E.g., map[K]V
-				tv := vf.Type().Elem()
-				if tv.Kind() == reflect.Ptr && tv.Implements(protoMessageType) { // Proto struct (e.g., *T)
-					for _, key := range vf.MapKeys() {
-						val := vf.MapIndex(key)
-						discardLegacy(val.Interface().(Message))
-					}
-				}
-			}
-		case reflect.Interface:
-			// Must be oneof field.
-			switch {
-			case isPointer || isSlice:
-				panic(fmt.Sprintf("%T.%s cannot be a pointer to a interface or a slice of interface values", m, f.Name))
-			default: // E.g., test_proto.isCommunique_Union interface
-				if !vf.IsNil() && f.Tag.Get("protobuf_oneof") != "" {
-					vf = vf.Elem() // E.g., *test_proto.Communique_Msg
-					if !vf.IsNil() {
-						vf = vf.Elem()   // E.g., test_proto.Communique_Msg
-						vf = vf.Field(0) // E.g., Proto struct (e.g., *T) or primitive value
-						if vf.Kind() == reflect.Ptr {
-							discardLegacy(vf.Interface().(Message))
-						}
-					}
-				}
-			}
-		}
-	}
-
-	if vf := v.FieldByName("XXX_unrecognized"); vf.IsValid() {
-		if vf.Type() != reflect.TypeOf([]byte{}) {
-			panic("expected XXX_unrecognized to be of type []byte")
-		}
-		vf.Set(reflect.ValueOf([]byte(nil)))
-	}
-
-	// For proto2 messages, only discard unknown fields in message extensions
-	// that have been accessed via GetExtension.
-	if em, err := extendable(m); err == nil {
-		// Ignore lock since discardLegacy is not concurrency safe.
-		emm, _ := em.extensionsRead()
-		for _, mx := range emm {
-			if m, ok := mx.value.(Message); ok {
-				discardLegacy(m)
-			}
-		}
-	}
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/duration.go b/vendor/github.com/gogo/protobuf/proto/duration.go
deleted file mode 100644
index 93464c9..0000000
--- a/vendor/github.com/gogo/protobuf/proto/duration.go
+++ /dev/null
@@ -1,100 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2016 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-// This file implements conversions between google.protobuf.Duration
-// and time.Duration.
-
-import (
-	"errors"
-	"fmt"
-	"time"
-)
-
-const (
-	// Range of a Duration in seconds, as specified in
-	// google/protobuf/duration.proto. This is about 10,000 years in seconds.
-	maxSeconds = int64(10000 * 365.25 * 24 * 60 * 60)
-	minSeconds = -maxSeconds
-)
-
-// validateDuration determines whether the Duration is valid according to the
-// definition in google/protobuf/duration.proto. A valid Duration
-// may still be too large to fit into a time.Duration (the range of Duration
-// is about 10,000 years, and the range of time.Duration is about 290).
-func validateDuration(d *duration) error {
-	if d == nil {
-		return errors.New("duration: nil Duration")
-	}
-	if d.Seconds < minSeconds || d.Seconds > maxSeconds {
-		return fmt.Errorf("duration: %#v: seconds out of range", d)
-	}
-	if d.Nanos <= -1e9 || d.Nanos >= 1e9 {
-		return fmt.Errorf("duration: %#v: nanos out of range", d)
-	}
-	// Seconds and Nanos must have the same sign, unless d.Nanos is zero.
-	if (d.Seconds < 0 && d.Nanos > 0) || (d.Seconds > 0 && d.Nanos < 0) {
-		return fmt.Errorf("duration: %#v: seconds and nanos have different signs", d)
-	}
-	return nil
-}
-
-// DurationFromProto converts a Duration to a time.Duration. DurationFromProto
-// returns an error if the Duration is invalid or is too large to be
-// represented in a time.Duration.
-func durationFromProto(p *duration) (time.Duration, error) {
-	if err := validateDuration(p); err != nil {
-		return 0, err
-	}
-	d := time.Duration(p.Seconds) * time.Second
-	if int64(d/time.Second) != p.Seconds {
-		return 0, fmt.Errorf("duration: %#v is out of range for time.Duration", p)
-	}
-	if p.Nanos != 0 {
-		d += time.Duration(p.Nanos)
-		if (d < 0) != (p.Nanos < 0) {
-			return 0, fmt.Errorf("duration: %#v is out of range for time.Duration", p)
-		}
-	}
-	return d, nil
-}
-
-// DurationProto converts a time.Duration to a Duration.
-func durationProto(d time.Duration) *duration {
-	nanos := d.Nanoseconds()
-	secs := nanos / 1e9
-	nanos -= secs * 1e9
-	return &duration{
-		Seconds: secs,
-		Nanos:   int32(nanos),
-	}
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/duration_gogo.go b/vendor/github.com/gogo/protobuf/proto/duration_gogo.go
deleted file mode 100644
index e748e17..0000000
--- a/vendor/github.com/gogo/protobuf/proto/duration_gogo.go
+++ /dev/null
@@ -1,49 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2016, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"reflect"
-	"time"
-)
-
-var durationType = reflect.TypeOf((*time.Duration)(nil)).Elem()
-
-type duration struct {
-	Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
-	Nanos   int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
-}
-
-func (m *duration) Reset()       { *m = duration{} }
-func (*duration) ProtoMessage()  {}
-func (*duration) String() string { return "duration<string>" }
-
-func init() {
-	RegisterType((*duration)(nil), "gogo.protobuf.proto.duration")
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/encode.go b/vendor/github.com/gogo/protobuf/proto/encode.go
deleted file mode 100644
index 4c35d33..0000000
--- a/vendor/github.com/gogo/protobuf/proto/encode.go
+++ /dev/null
@@ -1,218 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2010 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-/*
- * Routines for encoding data into the wire format for protocol buffers.
- */
-
-import (
-	"errors"
-	"fmt"
-	"reflect"
-)
-
-// RequiredNotSetError is an error type returned by either Marshal or Unmarshal.
-// Marshal reports this when a required field is not initialized.
-// Unmarshal reports this when a required field is missing from the wire data.
-type RequiredNotSetError struct {
-	field string
-}
-
-func (e *RequiredNotSetError) Error() string {
-	if e.field == "" {
-		return fmt.Sprintf("proto: required field not set")
-	}
-	return fmt.Sprintf("proto: required field %q not set", e.field)
-}
-
-var (
-	// errRepeatedHasNil is the error returned if Marshal is called with
-	// a struct with a repeated field containing a nil element.
-	errRepeatedHasNil = errors.New("proto: repeated field has nil element")
-
-	// errOneofHasNil is the error returned if Marshal is called with
-	// a struct with a oneof field containing a nil element.
-	errOneofHasNil = errors.New("proto: oneof field has nil value")
-
-	// ErrNil is the error returned if Marshal is called with nil.
-	ErrNil = errors.New("proto: Marshal called with nil")
-
-	// ErrTooLarge is the error returned if Marshal is called with a
-	// message that encodes to >2GB.
-	ErrTooLarge = errors.New("proto: message encodes to over 2 GB")
-)
-
-// The fundamental encoders that put bytes on the wire.
-// Those that take integer types all accept uint64 and are
-// therefore of type valueEncoder.
-
-const maxVarintBytes = 10 // maximum length of a varint
-
-// EncodeVarint returns the varint encoding of x.
-// This is the format for the
-// int32, int64, uint32, uint64, bool, and enum
-// protocol buffer types.
-// Not used by the package itself, but helpful to clients
-// wishing to use the same encoding.
-func EncodeVarint(x uint64) []byte {
-	var buf [maxVarintBytes]byte
-	var n int
-	for n = 0; x > 127; n++ {
-		buf[n] = 0x80 | uint8(x&0x7F)
-		x >>= 7
-	}
-	buf[n] = uint8(x)
-	n++
-	return buf[0:n]
-}
-
-// EncodeVarint writes a varint-encoded integer to the Buffer.
-// This is the format for the
-// int32, int64, uint32, uint64, bool, and enum
-// protocol buffer types.
-func (p *Buffer) EncodeVarint(x uint64) error {
-	for x >= 1<<7 {
-		p.buf = append(p.buf, uint8(x&0x7f|0x80))
-		x >>= 7
-	}
-	p.buf = append(p.buf, uint8(x))
-	return nil
-}
-
-// SizeVarint returns the varint encoding size of an integer.
-func SizeVarint(x uint64) int {
-	switch {
-	case x < 1<<7:
-		return 1
-	case x < 1<<14:
-		return 2
-	case x < 1<<21:
-		return 3
-	case x < 1<<28:
-		return 4
-	case x < 1<<35:
-		return 5
-	case x < 1<<42:
-		return 6
-	case x < 1<<49:
-		return 7
-	case x < 1<<56:
-		return 8
-	case x < 1<<63:
-		return 9
-	}
-	return 10
-}
-
-// EncodeFixed64 writes a 64-bit integer to the Buffer.
-// This is the format for the
-// fixed64, sfixed64, and double protocol buffer types.
-func (p *Buffer) EncodeFixed64(x uint64) error {
-	p.buf = append(p.buf,
-		uint8(x),
-		uint8(x>>8),
-		uint8(x>>16),
-		uint8(x>>24),
-		uint8(x>>32),
-		uint8(x>>40),
-		uint8(x>>48),
-		uint8(x>>56))
-	return nil
-}
-
-// EncodeFixed32 writes a 32-bit integer to the Buffer.
-// This is the format for the
-// fixed32, sfixed32, and float protocol buffer types.
-func (p *Buffer) EncodeFixed32(x uint64) error {
-	p.buf = append(p.buf,
-		uint8(x),
-		uint8(x>>8),
-		uint8(x>>16),
-		uint8(x>>24))
-	return nil
-}
-
-// EncodeZigzag64 writes a zigzag-encoded 64-bit integer
-// to the Buffer.
-// This is the format used for the sint64 protocol buffer type.
-func (p *Buffer) EncodeZigzag64(x uint64) error {
-	// use signed number to get arithmetic right shift.
-	return p.EncodeVarint(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-
-// EncodeZigzag32 writes a zigzag-encoded 32-bit integer
-// to the Buffer.
-// This is the format used for the sint32 protocol buffer type.
-func (p *Buffer) EncodeZigzag32(x uint64) error {
-	// use signed number to get arithmetic right shift.
-	return p.EncodeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31))))
-}
-
-// EncodeRawBytes writes a count-delimited byte buffer to the Buffer.
-// This is the format used for the bytes protocol buffer
-// type and for embedded messages.
-func (p *Buffer) EncodeRawBytes(b []byte) error {
-	p.EncodeVarint(uint64(len(b)))
-	p.buf = append(p.buf, b...)
-	return nil
-}
-
-// EncodeStringBytes writes an encoded string to the Buffer.
-// This is the format used for the proto2 string type.
-func (p *Buffer) EncodeStringBytes(s string) error {
-	p.EncodeVarint(uint64(len(s)))
-	p.buf = append(p.buf, s...)
-	return nil
-}
-
-// Marshaler is the interface representing objects that can marshal themselves.
-type Marshaler interface {
-	Marshal() ([]byte, error)
-}
-
-// EncodeMessage writes the protocol buffer to the Buffer,
-// prefixed by a varint-encoded length.
-func (p *Buffer) EncodeMessage(pb Message) error {
-	siz := Size(pb)
-	p.EncodeVarint(uint64(siz))
-	return p.Marshal(pb)
-}
-
-// All protocol buffer fields are nillable, but be careful.
-func isNil(v reflect.Value) bool {
-	switch v.Kind() {
-	case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice:
-		return v.IsNil()
-	}
-	return false
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/encode_gogo.go b/vendor/github.com/gogo/protobuf/proto/encode_gogo.go
deleted file mode 100644
index 0f5fb17..0000000
--- a/vendor/github.com/gogo/protobuf/proto/encode_gogo.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2013, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-func NewRequiredNotSetError(field string) *RequiredNotSetError {
-	return &RequiredNotSetError{field}
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/equal.go b/vendor/github.com/gogo/protobuf/proto/equal.go
deleted file mode 100644
index d4db5a1..0000000
--- a/vendor/github.com/gogo/protobuf/proto/equal.go
+++ /dev/null
@@ -1,300 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2011 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Protocol buffer comparison.
-
-package proto
-
-import (
-	"bytes"
-	"log"
-	"reflect"
-	"strings"
-)
-
-/*
-Equal returns true iff protocol buffers a and b are equal.
-The arguments must both be pointers to protocol buffer structs.
-
-Equality is defined in this way:
-  - Two messages are equal iff they are the same type,
-    corresponding fields are equal, unknown field sets
-    are equal, and extensions sets are equal.
-  - Two set scalar fields are equal iff their values are equal.
-    If the fields are of a floating-point type, remember that
-    NaN != x for all x, including NaN. If the message is defined
-    in a proto3 .proto file, fields are not "set"; specifically,
-    zero length proto3 "bytes" fields are equal (nil == {}).
-  - Two repeated fields are equal iff their lengths are the same,
-    and their corresponding elements are equal. Note a "bytes" field,
-    although represented by []byte, is not a repeated field and the
-    rule for the scalar fields described above applies.
-  - Two unset fields are equal.
-  - Two unknown field sets are equal if their current
-    encoded state is equal.
-  - Two extension sets are equal iff they have corresponding
-    elements that are pairwise equal.
-  - Two map fields are equal iff their lengths are the same,
-    and they contain the same set of elements. Zero-length map
-    fields are equal.
-  - Every other combination of things are not equal.
-
-The return value is undefined if a and b are not protocol buffers.
-*/
-func Equal(a, b Message) bool {
-	if a == nil || b == nil {
-		return a == b
-	}
-	v1, v2 := reflect.ValueOf(a), reflect.ValueOf(b)
-	if v1.Type() != v2.Type() {
-		return false
-	}
-	if v1.Kind() == reflect.Ptr {
-		if v1.IsNil() {
-			return v2.IsNil()
-		}
-		if v2.IsNil() {
-			return false
-		}
-		v1, v2 = v1.Elem(), v2.Elem()
-	}
-	if v1.Kind() != reflect.Struct {
-		return false
-	}
-	return equalStruct(v1, v2)
-}
-
-// v1 and v2 are known to have the same type.
-func equalStruct(v1, v2 reflect.Value) bool {
-	sprop := GetProperties(v1.Type())
-	for i := 0; i < v1.NumField(); i++ {
-		f := v1.Type().Field(i)
-		if strings.HasPrefix(f.Name, "XXX_") {
-			continue
-		}
-		f1, f2 := v1.Field(i), v2.Field(i)
-		if f.Type.Kind() == reflect.Ptr {
-			if n1, n2 := f1.IsNil(), f2.IsNil(); n1 && n2 {
-				// both unset
-				continue
-			} else if n1 != n2 {
-				// set/unset mismatch
-				return false
-			}
-			f1, f2 = f1.Elem(), f2.Elem()
-		}
-		if !equalAny(f1, f2, sprop.Prop[i]) {
-			return false
-		}
-	}
-
-	if em1 := v1.FieldByName("XXX_InternalExtensions"); em1.IsValid() {
-		em2 := v2.FieldByName("XXX_InternalExtensions")
-		if !equalExtensions(v1.Type(), em1.Interface().(XXX_InternalExtensions), em2.Interface().(XXX_InternalExtensions)) {
-			return false
-		}
-	}
-
-	if em1 := v1.FieldByName("XXX_extensions"); em1.IsValid() {
-		em2 := v2.FieldByName("XXX_extensions")
-		if !equalExtMap(v1.Type(), em1.Interface().(map[int32]Extension), em2.Interface().(map[int32]Extension)) {
-			return false
-		}
-	}
-
-	uf := v1.FieldByName("XXX_unrecognized")
-	if !uf.IsValid() {
-		return true
-	}
-
-	u1 := uf.Bytes()
-	u2 := v2.FieldByName("XXX_unrecognized").Bytes()
-	return bytes.Equal(u1, u2)
-}
-
-// v1 and v2 are known to have the same type.
-// prop may be nil.
-func equalAny(v1, v2 reflect.Value, prop *Properties) bool {
-	if v1.Type() == protoMessageType {
-		m1, _ := v1.Interface().(Message)
-		m2, _ := v2.Interface().(Message)
-		return Equal(m1, m2)
-	}
-	switch v1.Kind() {
-	case reflect.Bool:
-		return v1.Bool() == v2.Bool()
-	case reflect.Float32, reflect.Float64:
-		return v1.Float() == v2.Float()
-	case reflect.Int32, reflect.Int64:
-		return v1.Int() == v2.Int()
-	case reflect.Interface:
-		// Probably a oneof field; compare the inner values.
-		n1, n2 := v1.IsNil(), v2.IsNil()
-		if n1 || n2 {
-			return n1 == n2
-		}
-		e1, e2 := v1.Elem(), v2.Elem()
-		if e1.Type() != e2.Type() {
-			return false
-		}
-		return equalAny(e1, e2, nil)
-	case reflect.Map:
-		if v1.Len() != v2.Len() {
-			return false
-		}
-		for _, key := range v1.MapKeys() {
-			val2 := v2.MapIndex(key)
-			if !val2.IsValid() {
-				// This key was not found in the second map.
-				return false
-			}
-			if !equalAny(v1.MapIndex(key), val2, nil) {
-				return false
-			}
-		}
-		return true
-	case reflect.Ptr:
-		// Maps may have nil values in them, so check for nil.
-		if v1.IsNil() && v2.IsNil() {
-			return true
-		}
-		if v1.IsNil() != v2.IsNil() {
-			return false
-		}
-		return equalAny(v1.Elem(), v2.Elem(), prop)
-	case reflect.Slice:
-		if v1.Type().Elem().Kind() == reflect.Uint8 {
-			// short circuit: []byte
-
-			// Edge case: if this is in a proto3 message, a zero length
-			// bytes field is considered the zero value.
-			if prop != nil && prop.proto3 && v1.Len() == 0 && v2.Len() == 0 {
-				return true
-			}
-			if v1.IsNil() != v2.IsNil() {
-				return false
-			}
-			return bytes.Equal(v1.Interface().([]byte), v2.Interface().([]byte))
-		}
-
-		if v1.Len() != v2.Len() {
-			return false
-		}
-		for i := 0; i < v1.Len(); i++ {
-			if !equalAny(v1.Index(i), v2.Index(i), prop) {
-				return false
-			}
-		}
-		return true
-	case reflect.String:
-		return v1.Interface().(string) == v2.Interface().(string)
-	case reflect.Struct:
-		return equalStruct(v1, v2)
-	case reflect.Uint32, reflect.Uint64:
-		return v1.Uint() == v2.Uint()
-	}
-
-	// unknown type, so not a protocol buffer
-	log.Printf("proto: don't know how to compare %v", v1)
-	return false
-}
-
-// base is the struct type that the extensions are based on.
-// x1 and x2 are InternalExtensions.
-func equalExtensions(base reflect.Type, x1, x2 XXX_InternalExtensions) bool {
-	em1, _ := x1.extensionsRead()
-	em2, _ := x2.extensionsRead()
-	return equalExtMap(base, em1, em2)
-}
-
-func equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool {
-	if len(em1) != len(em2) {
-		return false
-	}
-
-	for extNum, e1 := range em1 {
-		e2, ok := em2[extNum]
-		if !ok {
-			return false
-		}
-
-		m1, m2 := e1.value, e2.value
-
-		if m1 == nil && m2 == nil {
-			// Both have only encoded form.
-			if bytes.Equal(e1.enc, e2.enc) {
-				continue
-			}
-			// The bytes are different, but the extensions might still be
-			// equal. We need to decode them to compare.
-		}
-
-		if m1 != nil && m2 != nil {
-			// Both are unencoded.
-			if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {
-				return false
-			}
-			continue
-		}
-
-		// At least one is encoded. To do a semantically correct comparison
-		// we need to unmarshal them first.
-		var desc *ExtensionDesc
-		if m := extensionMaps[base]; m != nil {
-			desc = m[extNum]
-		}
-		if desc == nil {
-			// If both have only encoded form and the bytes are the same,
-			// it is handled above. We get here when the bytes are different.
-			// We don't know how to decode it, so just compare them as byte
-			// slices.
-			log.Printf("proto: don't know how to compare extension %d of %v", extNum, base)
-			return false
-		}
-		var err error
-		if m1 == nil {
-			m1, err = decodeExtension(e1.enc, desc)
-		}
-		if m2 == nil && err == nil {
-			m2, err = decodeExtension(e2.enc, desc)
-		}
-		if err != nil {
-			// The encoded form is invalid.
-			log.Printf("proto: badly encoded extension %d of %v: %v", extNum, base, err)
-			return false
-		}
-		if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {
-			return false
-		}
-	}
-
-	return true
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/extensions.go b/vendor/github.com/gogo/protobuf/proto/extensions.go
deleted file mode 100644
index 44ebd45..0000000
--- a/vendor/github.com/gogo/protobuf/proto/extensions.go
+++ /dev/null
@@ -1,604 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2010 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-/*
- * Types and routines for supporting protocol buffer extensions.
- */
-
-import (
-	"errors"
-	"fmt"
-	"io"
-	"reflect"
-	"strconv"
-	"sync"
-)
-
-// ErrMissingExtension is the error returned by GetExtension if the named extension is not in the message.
-var ErrMissingExtension = errors.New("proto: missing extension")
-
-// ExtensionRange represents a range of message extensions for a protocol buffer.
-// Used in code generated by the protocol compiler.
-type ExtensionRange struct {
-	Start, End int32 // both inclusive
-}
-
-// extendableProto is an interface implemented by any protocol buffer generated by the current
-// proto compiler that may be extended.
-type extendableProto interface {
-	Message
-	ExtensionRangeArray() []ExtensionRange
-	extensionsWrite() map[int32]Extension
-	extensionsRead() (map[int32]Extension, sync.Locker)
-}
-
-// extendableProtoV1 is an interface implemented by a protocol buffer generated by the previous
-// version of the proto compiler that may be extended.
-type extendableProtoV1 interface {
-	Message
-	ExtensionRangeArray() []ExtensionRange
-	ExtensionMap() map[int32]Extension
-}
-
-// extensionAdapter is a wrapper around extendableProtoV1 that implements extendableProto.
-type extensionAdapter struct {
-	extendableProtoV1
-}
-
-func (e extensionAdapter) extensionsWrite() map[int32]Extension {
-	return e.ExtensionMap()
-}
-
-func (e extensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) {
-	return e.ExtensionMap(), notLocker{}
-}
-
-// notLocker is a sync.Locker whose Lock and Unlock methods are nops.
-type notLocker struct{}
-
-func (n notLocker) Lock()   {}
-func (n notLocker) Unlock() {}
-
-// extendable returns the extendableProto interface for the given generated proto message.
-// If the proto message has the old extension format, it returns a wrapper that implements
-// the extendableProto interface.
-func extendable(p interface{}) (extendableProto, error) {
-	switch p := p.(type) {
-	case extendableProto:
-		if isNilPtr(p) {
-			return nil, fmt.Errorf("proto: nil %T is not extendable", p)
-		}
-		return p, nil
-	case extendableProtoV1:
-		if isNilPtr(p) {
-			return nil, fmt.Errorf("proto: nil %T is not extendable", p)
-		}
-		return extensionAdapter{p}, nil
-	case extensionsBytes:
-		return slowExtensionAdapter{p}, nil
-	}
-	// Don't allocate a specific error containing %T:
-	// this is the hot path for Clone and MarshalText.
-	return nil, errNotExtendable
-}
-
-var errNotExtendable = errors.New("proto: not an extendable proto.Message")
-
-func isNilPtr(x interface{}) bool {
-	v := reflect.ValueOf(x)
-	return v.Kind() == reflect.Ptr && v.IsNil()
-}
-
-// XXX_InternalExtensions is an internal representation of proto extensions.
-//
-// Each generated message struct type embeds an anonymous XXX_InternalExtensions field,
-// thus gaining the unexported 'extensions' method, which can be called only from the proto package.
-//
-// The methods of XXX_InternalExtensions are not concurrency safe in general,
-// but calls to logically read-only methods such as has and get may be executed concurrently.
-type XXX_InternalExtensions struct {
-	// The struct must be indirect so that if a user inadvertently copies a
-	// generated message and its embedded XXX_InternalExtensions, they
-	// avoid the mayhem of a copied mutex.
-	//
-	// The mutex serializes all logically read-only operations to p.extensionMap.
-	// It is up to the client to ensure that write operations to p.extensionMap are
-	// mutually exclusive with other accesses.
-	p *struct {
-		mu           sync.Mutex
-		extensionMap map[int32]Extension
-	}
-}
-
-// extensionsWrite returns the extension map, creating it on first use.
-func (e *XXX_InternalExtensions) extensionsWrite() map[int32]Extension {
-	if e.p == nil {
-		e.p = new(struct {
-			mu           sync.Mutex
-			extensionMap map[int32]Extension
-		})
-		e.p.extensionMap = make(map[int32]Extension)
-	}
-	return e.p.extensionMap
-}
-
-// extensionsRead returns the extensions map for read-only use.  It may be nil.
-// The caller must hold the returned mutex's lock when accessing Elements within the map.
-func (e *XXX_InternalExtensions) extensionsRead() (map[int32]Extension, sync.Locker) {
-	if e.p == nil {
-		return nil, nil
-	}
-	return e.p.extensionMap, &e.p.mu
-}
-
-// ExtensionDesc represents an extension specification.
-// Used in generated code from the protocol compiler.
-type ExtensionDesc struct {
-	ExtendedType  Message     // nil pointer to the type that is being extended
-	ExtensionType interface{} // nil pointer to the extension type
-	Field         int32       // field number
-	Name          string      // fully-qualified name of extension, for text formatting
-	Tag           string      // protobuf tag style
-	Filename      string      // name of the file in which the extension is defined
-}
-
-func (ed *ExtensionDesc) repeated() bool {
-	t := reflect.TypeOf(ed.ExtensionType)
-	return t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8
-}
-
-// Extension represents an extension in a message.
-type Extension struct {
-	// When an extension is stored in a message using SetExtension
-	// only desc and value are set. When the message is marshaled
-	// enc will be set to the encoded form of the message.
-	//
-	// When a message is unmarshaled and contains extensions, each
-	// extension will have only enc set. When such an extension is
-	// accessed using GetExtension (or GetExtensions) desc and value
-	// will be set.
-	desc  *ExtensionDesc
-	value interface{}
-	enc   []byte
-}
-
-// SetRawExtension is for testing only.
-func SetRawExtension(base Message, id int32, b []byte) {
-	if ebase, ok := base.(extensionsBytes); ok {
-		clearExtension(base, id)
-		ext := ebase.GetExtensions()
-		*ext = append(*ext, b...)
-		return
-	}
-	epb, err := extendable(base)
-	if err != nil {
-		return
-	}
-	extmap := epb.extensionsWrite()
-	extmap[id] = Extension{enc: b}
-}
-
-// isExtensionField returns true iff the given field number is in an extension range.
-func isExtensionField(pb extendableProto, field int32) bool {
-	for _, er := range pb.ExtensionRangeArray() {
-		if er.Start <= field && field <= er.End {
-			return true
-		}
-	}
-	return false
-}
-
-// checkExtensionTypes checks that the given extension is valid for pb.
-func checkExtensionTypes(pb extendableProto, extension *ExtensionDesc) error {
-	var pbi interface{} = pb
-	// Check the extended type.
-	if ea, ok := pbi.(extensionAdapter); ok {
-		pbi = ea.extendableProtoV1
-	}
-	if ea, ok := pbi.(slowExtensionAdapter); ok {
-		pbi = ea.extensionsBytes
-	}
-	if a, b := reflect.TypeOf(pbi), reflect.TypeOf(extension.ExtendedType); a != b {
-		return fmt.Errorf("proto: bad extended type; %v does not extend %v", b, a)
-	}
-	// Check the range.
-	if !isExtensionField(pb, extension.Field) {
-		return errors.New("proto: bad extension number; not in declared ranges")
-	}
-	return nil
-}
-
-// extPropKey is sufficient to uniquely identify an extension.
-type extPropKey struct {
-	base  reflect.Type
-	field int32
-}
-
-var extProp = struct {
-	sync.RWMutex
-	m map[extPropKey]*Properties
-}{
-	m: make(map[extPropKey]*Properties),
-}
-
-func extensionProperties(ed *ExtensionDesc) *Properties {
-	key := extPropKey{base: reflect.TypeOf(ed.ExtendedType), field: ed.Field}
-
-	extProp.RLock()
-	if prop, ok := extProp.m[key]; ok {
-		extProp.RUnlock()
-		return prop
-	}
-	extProp.RUnlock()
-
-	extProp.Lock()
-	defer extProp.Unlock()
-	// Check again.
-	if prop, ok := extProp.m[key]; ok {
-		return prop
-	}
-
-	prop := new(Properties)
-	prop.Init(reflect.TypeOf(ed.ExtensionType), "unknown_name", ed.Tag, nil)
-	extProp.m[key] = prop
-	return prop
-}
-
-// HasExtension returns whether the given extension is present in pb.
-func HasExtension(pb Message, extension *ExtensionDesc) bool {
-	if epb, doki := pb.(extensionsBytes); doki {
-		ext := epb.GetExtensions()
-		buf := *ext
-		o := 0
-		for o < len(buf) {
-			tag, n := DecodeVarint(buf[o:])
-			fieldNum := int32(tag >> 3)
-			if int32(fieldNum) == extension.Field {
-				return true
-			}
-			wireType := int(tag & 0x7)
-			o += n
-			l, err := size(buf[o:], wireType)
-			if err != nil {
-				return false
-			}
-			o += l
-		}
-		return false
-	}
-	// TODO: Check types, field numbers, etc.?
-	epb, err := extendable(pb)
-	if err != nil {
-		return false
-	}
-	extmap, mu := epb.extensionsRead()
-	if extmap == nil {
-		return false
-	}
-	mu.Lock()
-	_, ok := extmap[extension.Field]
-	mu.Unlock()
-	return ok
-}
-
-// ClearExtension removes the given extension from pb.
-func ClearExtension(pb Message, extension *ExtensionDesc) {
-	clearExtension(pb, extension.Field)
-}
-
-func clearExtension(pb Message, fieldNum int32) {
-	if epb, ok := pb.(extensionsBytes); ok {
-		offset := 0
-		for offset != -1 {
-			offset = deleteExtension(epb, fieldNum, offset)
-		}
-		return
-	}
-	epb, err := extendable(pb)
-	if err != nil {
-		return
-	}
-	// TODO: Check types, field numbers, etc.?
-	extmap := epb.extensionsWrite()
-	delete(extmap, fieldNum)
-}
-
-// GetExtension retrieves a proto2 extended field from pb.
-//
-// If the descriptor is type complete (i.e., ExtensionDesc.ExtensionType is non-nil),
-// then GetExtension parses the encoded field and returns a Go value of the specified type.
-// If the field is not present, then the default value is returned (if one is specified),
-// otherwise ErrMissingExtension is reported.
-//
-// If the descriptor is not type complete (i.e., ExtensionDesc.ExtensionType is nil),
-// then GetExtension returns the raw encoded bytes of the field extension.
-func GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) {
-	if epb, doki := pb.(extensionsBytes); doki {
-		ext := epb.GetExtensions()
-		return decodeExtensionFromBytes(extension, *ext)
-	}
-
-	epb, err := extendable(pb)
-	if err != nil {
-		return nil, err
-	}
-
-	if extension.ExtendedType != nil {
-		// can only check type if this is a complete descriptor
-		if cerr := checkExtensionTypes(epb, extension); cerr != nil {
-			return nil, cerr
-		}
-	}
-
-	emap, mu := epb.extensionsRead()
-	if emap == nil {
-		return defaultExtensionValue(extension)
-	}
-	mu.Lock()
-	defer mu.Unlock()
-	e, ok := emap[extension.Field]
-	if !ok {
-		// defaultExtensionValue returns the default value or
-		// ErrMissingExtension if there is no default.
-		return defaultExtensionValue(extension)
-	}
-
-	if e.value != nil {
-		// Already decoded. Check the descriptor, though.
-		if e.desc != extension {
-			// This shouldn't happen. If it does, it means that
-			// GetExtension was called twice with two different
-			// descriptors with the same field number.
-			return nil, errors.New("proto: descriptor conflict")
-		}
-		return e.value, nil
-	}
-
-	if extension.ExtensionType == nil {
-		// incomplete descriptor
-		return e.enc, nil
-	}
-
-	v, err := decodeExtension(e.enc, extension)
-	if err != nil {
-		return nil, err
-	}
-
-	// Remember the decoded version and drop the encoded version.
-	// That way it is safe to mutate what we return.
-	e.value = v
-	e.desc = extension
-	e.enc = nil
-	emap[extension.Field] = e
-	return e.value, nil
-}
-
-// defaultExtensionValue returns the default value for extension.
-// If no default for an extension is defined ErrMissingExtension is returned.
-func defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) {
-	if extension.ExtensionType == nil {
-		// incomplete descriptor, so no default
-		return nil, ErrMissingExtension
-	}
-
-	t := reflect.TypeOf(extension.ExtensionType)
-	props := extensionProperties(extension)
-
-	sf, _, err := fieldDefault(t, props)
-	if err != nil {
-		return nil, err
-	}
-
-	if sf == nil || sf.value == nil {
-		// There is no default value.
-		return nil, ErrMissingExtension
-	}
-
-	if t.Kind() != reflect.Ptr {
-		// We do not need to return a Ptr, we can directly return sf.value.
-		return sf.value, nil
-	}
-
-	// We need to return an interface{} that is a pointer to sf.value.
-	value := reflect.New(t).Elem()
-	value.Set(reflect.New(value.Type().Elem()))
-	if sf.kind == reflect.Int32 {
-		// We may have an int32 or an enum, but the underlying data is int32.
-		// Since we can't set an int32 into a non int32 reflect.value directly
-		// set it as a int32.
-		value.Elem().SetInt(int64(sf.value.(int32)))
-	} else {
-		value.Elem().Set(reflect.ValueOf(sf.value))
-	}
-	return value.Interface(), nil
-}
-
-// decodeExtension decodes an extension encoded in b.
-func decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) {
-	t := reflect.TypeOf(extension.ExtensionType)
-	unmarshal := typeUnmarshaler(t, extension.Tag)
-
-	// t is a pointer to a struct, pointer to basic type or a slice.
-	// Allocate space to store the pointer/slice.
-	value := reflect.New(t).Elem()
-
-	var err error
-	for {
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		wire := int(x) & 7
-
-		b, err = unmarshal(b, valToPointer(value.Addr()), wire)
-		if err != nil {
-			return nil, err
-		}
-
-		if len(b) == 0 {
-			break
-		}
-	}
-	return value.Interface(), nil
-}
-
-// GetExtensions returns a slice of the extensions present in pb that are also listed in es.
-// The returned slice has the same length as es; missing extensions will appear as nil elements.
-func GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, err error) {
-	epb, err := extendable(pb)
-	if err != nil {
-		return nil, err
-	}
-	extensions = make([]interface{}, len(es))
-	for i, e := range es {
-		extensions[i], err = GetExtension(epb, e)
-		if err == ErrMissingExtension {
-			err = nil
-		}
-		if err != nil {
-			return
-		}
-	}
-	return
-}
-
-// ExtensionDescs returns a new slice containing pb's extension descriptors, in undefined order.
-// For non-registered extensions, ExtensionDescs returns an incomplete descriptor containing
-// just the Field field, which defines the extension's field number.
-func ExtensionDescs(pb Message) ([]*ExtensionDesc, error) {
-	epb, err := extendable(pb)
-	if err != nil {
-		return nil, err
-	}
-	registeredExtensions := RegisteredExtensions(pb)
-
-	emap, mu := epb.extensionsRead()
-	if emap == nil {
-		return nil, nil
-	}
-	mu.Lock()
-	defer mu.Unlock()
-	extensions := make([]*ExtensionDesc, 0, len(emap))
-	for extid, e := range emap {
-		desc := e.desc
-		if desc == nil {
-			desc = registeredExtensions[extid]
-			if desc == nil {
-				desc = &ExtensionDesc{Field: extid}
-			}
-		}
-
-		extensions = append(extensions, desc)
-	}
-	return extensions, nil
-}
-
-// SetExtension sets the specified extension of pb to the specified value.
-func SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error {
-	if epb, ok := pb.(extensionsBytes); ok {
-		newb, err := encodeExtension(extension, value)
-		if err != nil {
-			return err
-		}
-		bb := epb.GetExtensions()
-		*bb = append(*bb, newb...)
-		return nil
-	}
-	epb, err := extendable(pb)
-	if err != nil {
-		return err
-	}
-	if err := checkExtensionTypes(epb, extension); err != nil {
-		return err
-	}
-	typ := reflect.TypeOf(extension.ExtensionType)
-	if typ != reflect.TypeOf(value) {
-		return errors.New("proto: bad extension value type")
-	}
-	// nil extension values need to be caught early, because the
-	// encoder can't distinguish an ErrNil due to a nil extension
-	// from an ErrNil due to a missing field. Extensions are
-	// always optional, so the encoder would just swallow the error
-	// and drop all the extensions from the encoded message.
-	if reflect.ValueOf(value).IsNil() {
-		return fmt.Errorf("proto: SetExtension called with nil value of type %T", value)
-	}
-
-	extmap := epb.extensionsWrite()
-	extmap[extension.Field] = Extension{desc: extension, value: value}
-	return nil
-}
-
-// ClearAllExtensions clears all extensions from pb.
-func ClearAllExtensions(pb Message) {
-	if epb, doki := pb.(extensionsBytes); doki {
-		ext := epb.GetExtensions()
-		*ext = []byte{}
-		return
-	}
-	epb, err := extendable(pb)
-	if err != nil {
-		return
-	}
-	m := epb.extensionsWrite()
-	for k := range m {
-		delete(m, k)
-	}
-}
-
-// A global registry of extensions.
-// The generated code will register the generated descriptors by calling RegisterExtension.
-
-var extensionMaps = make(map[reflect.Type]map[int32]*ExtensionDesc)
-
-// RegisterExtension is called from the generated code.
-func RegisterExtension(desc *ExtensionDesc) {
-	st := reflect.TypeOf(desc.ExtendedType).Elem()
-	m := extensionMaps[st]
-	if m == nil {
-		m = make(map[int32]*ExtensionDesc)
-		extensionMaps[st] = m
-	}
-	if _, ok := m[desc.Field]; ok {
-		panic("proto: duplicate extension registered: " + st.String() + " " + strconv.Itoa(int(desc.Field)))
-	}
-	m[desc.Field] = desc
-}
-
-// RegisteredExtensions returns a map of the registered extensions of a
-// protocol buffer struct, indexed by the extension number.
-// The argument pb should be a nil pointer to the struct type.
-func RegisteredExtensions(pb Message) map[int32]*ExtensionDesc {
-	return extensionMaps[reflect.TypeOf(pb).Elem()]
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go b/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go
deleted file mode 100644
index 53ebd8c..0000000
--- a/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go
+++ /dev/null
@@ -1,368 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2013, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"bytes"
-	"errors"
-	"fmt"
-	"io"
-	"reflect"
-	"sort"
-	"strings"
-	"sync"
-)
-
-type extensionsBytes interface {
-	Message
-	ExtensionRangeArray() []ExtensionRange
-	GetExtensions() *[]byte
-}
-
-type slowExtensionAdapter struct {
-	extensionsBytes
-}
-
-func (s slowExtensionAdapter) extensionsWrite() map[int32]Extension {
-	panic("Please report a bug to github.com/gogo/protobuf if you see this message: Writing extensions is not supported for extensions stored in a byte slice field.")
-}
-
-func (s slowExtensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) {
-	b := s.GetExtensions()
-	m, err := BytesToExtensionsMap(*b)
-	if err != nil {
-		panic(err)
-	}
-	return m, notLocker{}
-}
-
-func GetBoolExtension(pb Message, extension *ExtensionDesc, ifnotset bool) bool {
-	if reflect.ValueOf(pb).IsNil() {
-		return ifnotset
-	}
-	value, err := GetExtension(pb, extension)
-	if err != nil {
-		return ifnotset
-	}
-	if value == nil {
-		return ifnotset
-	}
-	if value.(*bool) == nil {
-		return ifnotset
-	}
-	return *(value.(*bool))
-}
-
-func (this *Extension) Equal(that *Extension) bool {
-	if err := this.Encode(); err != nil {
-		return false
-	}
-	if err := that.Encode(); err != nil {
-		return false
-	}
-	return bytes.Equal(this.enc, that.enc)
-}
-
-func (this *Extension) Compare(that *Extension) int {
-	if err := this.Encode(); err != nil {
-		return 1
-	}
-	if err := that.Encode(); err != nil {
-		return -1
-	}
-	return bytes.Compare(this.enc, that.enc)
-}
-
-func SizeOfInternalExtension(m extendableProto) (n int) {
-	info := getMarshalInfo(reflect.TypeOf(m))
-	return info.sizeV1Extensions(m.extensionsWrite())
-}
-
-type sortableMapElem struct {
-	field int32
-	ext   Extension
-}
-
-func newSortableExtensionsFromMap(m map[int32]Extension) sortableExtensions {
-	s := make(sortableExtensions, 0, len(m))
-	for k, v := range m {
-		s = append(s, &sortableMapElem{field: k, ext: v})
-	}
-	return s
-}
-
-type sortableExtensions []*sortableMapElem
-
-func (this sortableExtensions) Len() int { return len(this) }
-
-func (this sortableExtensions) Swap(i, j int) { this[i], this[j] = this[j], this[i] }
-
-func (this sortableExtensions) Less(i, j int) bool { return this[i].field < this[j].field }
-
-func (this sortableExtensions) String() string {
-	sort.Sort(this)
-	ss := make([]string, len(this))
-	for i := range this {
-		ss[i] = fmt.Sprintf("%d: %v", this[i].field, this[i].ext)
-	}
-	return "map[" + strings.Join(ss, ",") + "]"
-}
-
-func StringFromInternalExtension(m extendableProto) string {
-	return StringFromExtensionsMap(m.extensionsWrite())
-}
-
-func StringFromExtensionsMap(m map[int32]Extension) string {
-	return newSortableExtensionsFromMap(m).String()
-}
-
-func StringFromExtensionsBytes(ext []byte) string {
-	m, err := BytesToExtensionsMap(ext)
-	if err != nil {
-		panic(err)
-	}
-	return StringFromExtensionsMap(m)
-}
-
-func EncodeInternalExtension(m extendableProto, data []byte) (n int, err error) {
-	return EncodeExtensionMap(m.extensionsWrite(), data)
-}
-
-func EncodeExtensionMap(m map[int32]Extension, data []byte) (n int, err error) {
-	o := 0
-	for _, e := range m {
-		if err := e.Encode(); err != nil {
-			return 0, err
-		}
-		n := copy(data[o:], e.enc)
-		if n != len(e.enc) {
-			return 0, io.ErrShortBuffer
-		}
-		o += n
-	}
-	return o, nil
-}
-
-func GetRawExtension(m map[int32]Extension, id int32) ([]byte, error) {
-	e := m[id]
-	if err := e.Encode(); err != nil {
-		return nil, err
-	}
-	return e.enc, nil
-}
-
-func size(buf []byte, wire int) (int, error) {
-	switch wire {
-	case WireVarint:
-		_, n := DecodeVarint(buf)
-		return n, nil
-	case WireFixed64:
-		return 8, nil
-	case WireBytes:
-		v, n := DecodeVarint(buf)
-		return int(v) + n, nil
-	case WireFixed32:
-		return 4, nil
-	case WireStartGroup:
-		offset := 0
-		for {
-			u, n := DecodeVarint(buf[offset:])
-			fwire := int(u & 0x7)
-			offset += n
-			if fwire == WireEndGroup {
-				return offset, nil
-			}
-			s, err := size(buf[offset:], wire)
-			if err != nil {
-				return 0, err
-			}
-			offset += s
-		}
-	}
-	return 0, fmt.Errorf("proto: can't get size for unknown wire type %d", wire)
-}
-
-func BytesToExtensionsMap(buf []byte) (map[int32]Extension, error) {
-	m := make(map[int32]Extension)
-	i := 0
-	for i < len(buf) {
-		tag, n := DecodeVarint(buf[i:])
-		if n <= 0 {
-			return nil, fmt.Errorf("unable to decode varint")
-		}
-		fieldNum := int32(tag >> 3)
-		wireType := int(tag & 0x7)
-		l, err := size(buf[i+n:], wireType)
-		if err != nil {
-			return nil, err
-		}
-		end := i + int(l) + n
-		m[int32(fieldNum)] = Extension{enc: buf[i:end]}
-		i = end
-	}
-	return m, nil
-}
-
-func NewExtension(e []byte) Extension {
-	ee := Extension{enc: make([]byte, len(e))}
-	copy(ee.enc, e)
-	return ee
-}
-
-func AppendExtension(e Message, tag int32, buf []byte) {
-	if ee, eok := e.(extensionsBytes); eok {
-		ext := ee.GetExtensions()
-		*ext = append(*ext, buf...)
-		return
-	}
-	if ee, eok := e.(extendableProto); eok {
-		m := ee.extensionsWrite()
-		ext := m[int32(tag)] // may be missing
-		ext.enc = append(ext.enc, buf...)
-		m[int32(tag)] = ext
-	}
-}
-
-func encodeExtension(extension *ExtensionDesc, value interface{}) ([]byte, error) {
-	u := getMarshalInfo(reflect.TypeOf(extension.ExtendedType))
-	ei := u.getExtElemInfo(extension)
-	v := value
-	p := toAddrPointer(&v, ei.isptr)
-	siz := ei.sizer(p, SizeVarint(ei.wiretag))
-	buf := make([]byte, 0, siz)
-	return ei.marshaler(buf, p, ei.wiretag, false)
-}
-
-func decodeExtensionFromBytes(extension *ExtensionDesc, buf []byte) (interface{}, error) {
-	o := 0
-	for o < len(buf) {
-		tag, n := DecodeVarint((buf)[o:])
-		fieldNum := int32(tag >> 3)
-		wireType := int(tag & 0x7)
-		if o+n > len(buf) {
-			return nil, fmt.Errorf("unable to decode extension")
-		}
-		l, err := size((buf)[o+n:], wireType)
-		if err != nil {
-			return nil, err
-		}
-		if int32(fieldNum) == extension.Field {
-			if o+n+l > len(buf) {
-				return nil, fmt.Errorf("unable to decode extension")
-			}
-			v, err := decodeExtension((buf)[o:o+n+l], extension)
-			if err != nil {
-				return nil, err
-			}
-			return v, nil
-		}
-		o += n + l
-	}
-	return defaultExtensionValue(extension)
-}
-
-func (this *Extension) Encode() error {
-	if this.enc == nil {
-		var err error
-		this.enc, err = encodeExtension(this.desc, this.value)
-		if err != nil {
-			return err
-		}
-	}
-	return nil
-}
-
-func (this Extension) GoString() string {
-	if err := this.Encode(); err != nil {
-		return fmt.Sprintf("error encoding extension: %v", err)
-	}
-	return fmt.Sprintf("proto.NewExtension(%#v)", this.enc)
-}
-
-func SetUnsafeExtension(pb Message, fieldNum int32, value interface{}) error {
-	typ := reflect.TypeOf(pb).Elem()
-	ext, ok := extensionMaps[typ]
-	if !ok {
-		return fmt.Errorf("proto: bad extended type; %s is not extendable", typ.String())
-	}
-	desc, ok := ext[fieldNum]
-	if !ok {
-		return errors.New("proto: bad extension number; not in declared ranges")
-	}
-	return SetExtension(pb, desc, value)
-}
-
-func GetUnsafeExtension(pb Message, fieldNum int32) (interface{}, error) {
-	typ := reflect.TypeOf(pb).Elem()
-	ext, ok := extensionMaps[typ]
-	if !ok {
-		return nil, fmt.Errorf("proto: bad extended type; %s is not extendable", typ.String())
-	}
-	desc, ok := ext[fieldNum]
-	if !ok {
-		return nil, fmt.Errorf("unregistered field number %d", fieldNum)
-	}
-	return GetExtension(pb, desc)
-}
-
-func NewUnsafeXXX_InternalExtensions(m map[int32]Extension) XXX_InternalExtensions {
-	x := &XXX_InternalExtensions{
-		p: new(struct {
-			mu           sync.Mutex
-			extensionMap map[int32]Extension
-		}),
-	}
-	x.p.extensionMap = m
-	return *x
-}
-
-func GetUnsafeExtensionsMap(extendable Message) map[int32]Extension {
-	pb := extendable.(extendableProto)
-	return pb.extensionsWrite()
-}
-
-func deleteExtension(pb extensionsBytes, theFieldNum int32, offset int) int {
-	ext := pb.GetExtensions()
-	for offset < len(*ext) {
-		tag, n1 := DecodeVarint((*ext)[offset:])
-		fieldNum := int32(tag >> 3)
-		wireType := int(tag & 0x7)
-		n2, err := size((*ext)[offset+n1:], wireType)
-		if err != nil {
-			panic(err)
-		}
-		newOffset := offset + n1 + n2
-		if fieldNum == theFieldNum {
-			*ext = append((*ext)[:offset], (*ext)[newOffset:]...)
-			return offset
-		}
-		offset = newOffset
-	}
-	return -1
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/lib.go b/vendor/github.com/gogo/protobuf/proto/lib.go
deleted file mode 100644
index 37d1781..0000000
--- a/vendor/github.com/gogo/protobuf/proto/lib.go
+++ /dev/null
@@ -1,929 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2010 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/*
-Package proto converts data structures to and from the wire format of
-protocol buffers.  It works in concert with the Go source code generated
-for .proto files by the protocol compiler.
-
-A summary of the properties of the protocol buffer interface
-for a protocol buffer variable v:
-
-  - Names are turned from camel_case to CamelCase for export.
-  - There are no methods on v to set fields; just treat
-	them as structure fields.
-  - There are getters that return a field's value if set,
-	and return the field's default value if unset.
-	The getters work even if the receiver is a nil message.
-  - The zero value for a struct is its correct initialization state.
-	All desired fields must be set before marshaling.
-  - A Reset() method will restore a protobuf struct to its zero state.
-  - Non-repeated fields are pointers to the values; nil means unset.
-	That is, optional or required field int32 f becomes F *int32.
-  - Repeated fields are slices.
-  - Helper functions are available to aid the setting of fields.
-	msg.Foo = proto.String("hello") // set field
-  - Constants are defined to hold the default values of all fields that
-	have them.  They have the form Default_StructName_FieldName.
-	Because the getter methods handle defaulted values,
-	direct use of these constants should be rare.
-  - Enums are given type names and maps from names to values.
-	Enum values are prefixed by the enclosing message's name, or by the
-	enum's type name if it is a top-level enum. Enum types have a String
-	method, and a Enum method to assist in message construction.
-  - Nested messages, groups and enums have type names prefixed with the name of
-	the surrounding message type.
-  - Extensions are given descriptor names that start with E_,
-	followed by an underscore-delimited list of the nested messages
-	that contain it (if any) followed by the CamelCased name of the
-	extension field itself.  HasExtension, ClearExtension, GetExtension
-	and SetExtension are functions for manipulating extensions.
-  - Oneof field sets are given a single field in their message,
-	with distinguished wrapper types for each possible field value.
-  - Marshal and Unmarshal are functions to encode and decode the wire format.
-
-When the .proto file specifies `syntax="proto3"`, there are some differences:
-
-  - Non-repeated fields of non-message type are values instead of pointers.
-  - Enum types do not get an Enum method.
-
-The simplest way to describe this is to see an example.
-Given file test.proto, containing
-
-	package example;
-
-	enum FOO { X = 17; }
-
-	message Test {
-	  required string label = 1;
-	  optional int32 type = 2 [default=77];
-	  repeated int64 reps = 3;
-	  optional group OptionalGroup = 4 {
-	    required string RequiredField = 5;
-	  }
-	  oneof union {
-	    int32 number = 6;
-	    string name = 7;
-	  }
-	}
-
-The resulting file, test.pb.go, is:
-
-	package example
-
-	import proto "github.com/gogo/protobuf/proto"
-	import math "math"
-
-	type FOO int32
-	const (
-		FOO_X FOO = 17
-	)
-	var FOO_name = map[int32]string{
-		17: "X",
-	}
-	var FOO_value = map[string]int32{
-		"X": 17,
-	}
-
-	func (x FOO) Enum() *FOO {
-		p := new(FOO)
-		*p = x
-		return p
-	}
-	func (x FOO) String() string {
-		return proto.EnumName(FOO_name, int32(x))
-	}
-	func (x *FOO) UnmarshalJSON(data []byte) error {
-		value, err := proto.UnmarshalJSONEnum(FOO_value, data)
-		if err != nil {
-			return err
-		}
-		*x = FOO(value)
-		return nil
-	}
-
-	type Test struct {
-		Label         *string             `protobuf:"bytes,1,req,name=label" json:"label,omitempty"`
-		Type          *int32              `protobuf:"varint,2,opt,name=type,def=77" json:"type,omitempty"`
-		Reps          []int64             `protobuf:"varint,3,rep,name=reps" json:"reps,omitempty"`
-		Optionalgroup *Test_OptionalGroup `protobuf:"group,4,opt,name=OptionalGroup" json:"optionalgroup,omitempty"`
-		// Types that are valid to be assigned to Union:
-		//	*Test_Number
-		//	*Test_Name
-		Union            isTest_Union `protobuf_oneof:"union"`
-		XXX_unrecognized []byte       `json:"-"`
-	}
-	func (m *Test) Reset()         { *m = Test{} }
-	func (m *Test) String() string { return proto.CompactTextString(m) }
-	func (*Test) ProtoMessage() {}
-
-	type isTest_Union interface {
-		isTest_Union()
-	}
-
-	type Test_Number struct {
-		Number int32 `protobuf:"varint,6,opt,name=number"`
-	}
-	type Test_Name struct {
-		Name string `protobuf:"bytes,7,opt,name=name"`
-	}
-
-	func (*Test_Number) isTest_Union() {}
-	func (*Test_Name) isTest_Union()   {}
-
-	func (m *Test) GetUnion() isTest_Union {
-		if m != nil {
-			return m.Union
-		}
-		return nil
-	}
-	const Default_Test_Type int32 = 77
-
-	func (m *Test) GetLabel() string {
-		if m != nil && m.Label != nil {
-			return *m.Label
-		}
-		return ""
-	}
-
-	func (m *Test) GetType() int32 {
-		if m != nil && m.Type != nil {
-			return *m.Type
-		}
-		return Default_Test_Type
-	}
-
-	func (m *Test) GetOptionalgroup() *Test_OptionalGroup {
-		if m != nil {
-			return m.Optionalgroup
-		}
-		return nil
-	}
-
-	type Test_OptionalGroup struct {
-		RequiredField *string `protobuf:"bytes,5,req" json:"RequiredField,omitempty"`
-	}
-	func (m *Test_OptionalGroup) Reset()         { *m = Test_OptionalGroup{} }
-	func (m *Test_OptionalGroup) String() string { return proto.CompactTextString(m) }
-
-	func (m *Test_OptionalGroup) GetRequiredField() string {
-		if m != nil && m.RequiredField != nil {
-			return *m.RequiredField
-		}
-		return ""
-	}
-
-	func (m *Test) GetNumber() int32 {
-		if x, ok := m.GetUnion().(*Test_Number); ok {
-			return x.Number
-		}
-		return 0
-	}
-
-	func (m *Test) GetName() string {
-		if x, ok := m.GetUnion().(*Test_Name); ok {
-			return x.Name
-		}
-		return ""
-	}
-
-	func init() {
-		proto.RegisterEnum("example.FOO", FOO_name, FOO_value)
-	}
-
-To create and play with a Test object:
-
-	package main
-
-	import (
-		"log"
-
-		"github.com/gogo/protobuf/proto"
-		pb "./example.pb"
-	)
-
-	func main() {
-		test := &pb.Test{
-			Label: proto.String("hello"),
-			Type:  proto.Int32(17),
-			Reps:  []int64{1, 2, 3},
-			Optionalgroup: &pb.Test_OptionalGroup{
-				RequiredField: proto.String("good bye"),
-			},
-			Union: &pb.Test_Name{"fred"},
-		}
-		data, err := proto.Marshal(test)
-		if err != nil {
-			log.Fatal("marshaling error: ", err)
-		}
-		newTest := &pb.Test{}
-		err = proto.Unmarshal(data, newTest)
-		if err != nil {
-			log.Fatal("unmarshaling error: ", err)
-		}
-		// Now test and newTest contain the same data.
-		if test.GetLabel() != newTest.GetLabel() {
-			log.Fatalf("data mismatch %q != %q", test.GetLabel(), newTest.GetLabel())
-		}
-		// Use a type switch to determine which oneof was set.
-		switch u := test.Union.(type) {
-		case *pb.Test_Number: // u.Number contains the number.
-		case *pb.Test_Name: // u.Name contains the string.
-		}
-		// etc.
-	}
-*/
-package proto
-
-import (
-	"encoding/json"
-	"errors"
-	"fmt"
-	"log"
-	"reflect"
-	"sort"
-	"strconv"
-	"sync"
-)
-
-var errInvalidUTF8 = errors.New("proto: invalid UTF-8 string")
-
-// Message is implemented by generated protocol buffer messages.
-type Message interface {
-	Reset()
-	String() string
-	ProtoMessage()
-}
-
-// Stats records allocation details about the protocol buffer encoders
-// and decoders.  Useful for tuning the library itself.
-type Stats struct {
-	Emalloc uint64 // mallocs in encode
-	Dmalloc uint64 // mallocs in decode
-	Encode  uint64 // number of encodes
-	Decode  uint64 // number of decodes
-	Chit    uint64 // number of cache hits
-	Cmiss   uint64 // number of cache misses
-	Size    uint64 // number of sizes
-}
-
-// Set to true to enable stats collection.
-const collectStats = false
-
-var stats Stats
-
-// GetStats returns a copy of the global Stats structure.
-func GetStats() Stats { return stats }
-
-// A Buffer is a buffer manager for marshaling and unmarshaling
-// protocol buffers.  It may be reused between invocations to
-// reduce memory usage.  It is not necessary to use a Buffer;
-// the global functions Marshal and Unmarshal create a
-// temporary Buffer and are fine for most applications.
-type Buffer struct {
-	buf   []byte // encode/decode byte stream
-	index int    // read point
-
-	deterministic bool
-}
-
-// NewBuffer allocates a new Buffer and initializes its internal data to
-// the contents of the argument slice.
-func NewBuffer(e []byte) *Buffer {
-	return &Buffer{buf: e}
-}
-
-// Reset resets the Buffer, ready for marshaling a new protocol buffer.
-func (p *Buffer) Reset() {
-	p.buf = p.buf[0:0] // for reading/writing
-	p.index = 0        // for reading
-}
-
-// SetBuf replaces the internal buffer with the slice,
-// ready for unmarshaling the contents of the slice.
-func (p *Buffer) SetBuf(s []byte) {
-	p.buf = s
-	p.index = 0
-}
-
-// Bytes returns the contents of the Buffer.
-func (p *Buffer) Bytes() []byte { return p.buf }
-
-// SetDeterministic sets whether to use deterministic serialization.
-//
-// Deterministic serialization guarantees that for a given binary, equal
-// messages will always be serialized to the same bytes. This implies:
-//
-//   - Repeated serialization of a message will return the same bytes.
-//   - Different processes of the same binary (which may be executing on
-//     different machines) will serialize equal messages to the same bytes.
-//
-// Note that the deterministic serialization is NOT canonical across
-// languages. It is not guaranteed to remain stable over time. It is unstable
-// across different builds with schema changes due to unknown fields.
-// Users who need canonical serialization (e.g., persistent storage in a
-// canonical form, fingerprinting, etc.) should define their own
-// canonicalization specification and implement their own serializer rather
-// than relying on this API.
-//
-// If deterministic serialization is requested, map entries will be sorted
-// by keys in lexographical order. This is an implementation detail and
-// subject to change.
-func (p *Buffer) SetDeterministic(deterministic bool) {
-	p.deterministic = deterministic
-}
-
-/*
- * Helper routines for simplifying the creation of optional fields of basic type.
- */
-
-// Bool is a helper routine that allocates a new bool value
-// to store v and returns a pointer to it.
-func Bool(v bool) *bool {
-	return &v
-}
-
-// Int32 is a helper routine that allocates a new int32 value
-// to store v and returns a pointer to it.
-func Int32(v int32) *int32 {
-	return &v
-}
-
-// Int is a helper routine that allocates a new int32 value
-// to store v and returns a pointer to it, but unlike Int32
-// its argument value is an int.
-func Int(v int) *int32 {
-	p := new(int32)
-	*p = int32(v)
-	return p
-}
-
-// Int64 is a helper routine that allocates a new int64 value
-// to store v and returns a pointer to it.
-func Int64(v int64) *int64 {
-	return &v
-}
-
-// Float32 is a helper routine that allocates a new float32 value
-// to store v and returns a pointer to it.
-func Float32(v float32) *float32 {
-	return &v
-}
-
-// Float64 is a helper routine that allocates a new float64 value
-// to store v and returns a pointer to it.
-func Float64(v float64) *float64 {
-	return &v
-}
-
-// Uint32 is a helper routine that allocates a new uint32 value
-// to store v and returns a pointer to it.
-func Uint32(v uint32) *uint32 {
-	return &v
-}
-
-// Uint64 is a helper routine that allocates a new uint64 value
-// to store v and returns a pointer to it.
-func Uint64(v uint64) *uint64 {
-	return &v
-}
-
-// String is a helper routine that allocates a new string value
-// to store v and returns a pointer to it.
-func String(v string) *string {
-	return &v
-}
-
-// EnumName is a helper function to simplify printing protocol buffer enums
-// by name.  Given an enum map and a value, it returns a useful string.
-func EnumName(m map[int32]string, v int32) string {
-	s, ok := m[v]
-	if ok {
-		return s
-	}
-	return strconv.Itoa(int(v))
-}
-
-// UnmarshalJSONEnum is a helper function to simplify recovering enum int values
-// from their JSON-encoded representation. Given a map from the enum's symbolic
-// names to its int values, and a byte buffer containing the JSON-encoded
-// value, it returns an int32 that can be cast to the enum type by the caller.
-//
-// The function can deal with both JSON representations, numeric and symbolic.
-func UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) {
-	if data[0] == '"' {
-		// New style: enums are strings.
-		var repr string
-		if err := json.Unmarshal(data, &repr); err != nil {
-			return -1, err
-		}
-		val, ok := m[repr]
-		if !ok {
-			return 0, fmt.Errorf("unrecognized enum %s value %q", enumName, repr)
-		}
-		return val, nil
-	}
-	// Old style: enums are ints.
-	var val int32
-	if err := json.Unmarshal(data, &val); err != nil {
-		return 0, fmt.Errorf("cannot unmarshal %#q into enum %s", data, enumName)
-	}
-	return val, nil
-}
-
-// DebugPrint dumps the encoded data in b in a debugging format with a header
-// including the string s. Used in testing but made available for general debugging.
-func (p *Buffer) DebugPrint(s string, b []byte) {
-	var u uint64
-
-	obuf := p.buf
-	sindex := p.index
-	p.buf = b
-	p.index = 0
-	depth := 0
-
-	fmt.Printf("\n--- %s ---\n", s)
-
-out:
-	for {
-		for i := 0; i < depth; i++ {
-			fmt.Print("  ")
-		}
-
-		index := p.index
-		if index == len(p.buf) {
-			break
-		}
-
-		op, err := p.DecodeVarint()
-		if err != nil {
-			fmt.Printf("%3d: fetching op err %v\n", index, err)
-			break out
-		}
-		tag := op >> 3
-		wire := op & 7
-
-		switch wire {
-		default:
-			fmt.Printf("%3d: t=%3d unknown wire=%d\n",
-				index, tag, wire)
-			break out
-
-		case WireBytes:
-			var r []byte
-
-			r, err = p.DecodeRawBytes(false)
-			if err != nil {
-				break out
-			}
-			fmt.Printf("%3d: t=%3d bytes [%d]", index, tag, len(r))
-			if len(r) <= 6 {
-				for i := 0; i < len(r); i++ {
-					fmt.Printf(" %.2x", r[i])
-				}
-			} else {
-				for i := 0; i < 3; i++ {
-					fmt.Printf(" %.2x", r[i])
-				}
-				fmt.Printf(" ..")
-				for i := len(r) - 3; i < len(r); i++ {
-					fmt.Printf(" %.2x", r[i])
-				}
-			}
-			fmt.Printf("\n")
-
-		case WireFixed32:
-			u, err = p.DecodeFixed32()
-			if err != nil {
-				fmt.Printf("%3d: t=%3d fix32 err %v\n", index, tag, err)
-				break out
-			}
-			fmt.Printf("%3d: t=%3d fix32 %d\n", index, tag, u)
-
-		case WireFixed64:
-			u, err = p.DecodeFixed64()
-			if err != nil {
-				fmt.Printf("%3d: t=%3d fix64 err %v\n", index, tag, err)
-				break out
-			}
-			fmt.Printf("%3d: t=%3d fix64 %d\n", index, tag, u)
-
-		case WireVarint:
-			u, err = p.DecodeVarint()
-			if err != nil {
-				fmt.Printf("%3d: t=%3d varint err %v\n", index, tag, err)
-				break out
-			}
-			fmt.Printf("%3d: t=%3d varint %d\n", index, tag, u)
-
-		case WireStartGroup:
-			fmt.Printf("%3d: t=%3d start\n", index, tag)
-			depth++
-
-		case WireEndGroup:
-			depth--
-			fmt.Printf("%3d: t=%3d end\n", index, tag)
-		}
-	}
-
-	if depth != 0 {
-		fmt.Printf("%3d: start-end not balanced %d\n", p.index, depth)
-	}
-	fmt.Printf("\n")
-
-	p.buf = obuf
-	p.index = sindex
-}
-
-// SetDefaults sets unset protocol buffer fields to their default values.
-// It only modifies fields that are both unset and have defined defaults.
-// It recursively sets default values in any non-nil sub-messages.
-func SetDefaults(pb Message) {
-	setDefaults(reflect.ValueOf(pb), true, false)
-}
-
-// v is a struct.
-func setDefaults(v reflect.Value, recur, zeros bool) {
-	if v.Kind() == reflect.Ptr {
-		v = v.Elem()
-	}
-
-	defaultMu.RLock()
-	dm, ok := defaults[v.Type()]
-	defaultMu.RUnlock()
-	if !ok {
-		dm = buildDefaultMessage(v.Type())
-		defaultMu.Lock()
-		defaults[v.Type()] = dm
-		defaultMu.Unlock()
-	}
-
-	for _, sf := range dm.scalars {
-		f := v.Field(sf.index)
-		if !f.IsNil() {
-			// field already set
-			continue
-		}
-		dv := sf.value
-		if dv == nil && !zeros {
-			// no explicit default, and don't want to set zeros
-			continue
-		}
-		fptr := f.Addr().Interface() // **T
-		// TODO: Consider batching the allocations we do here.
-		switch sf.kind {
-		case reflect.Bool:
-			b := new(bool)
-			if dv != nil {
-				*b = dv.(bool)
-			}
-			*(fptr.(**bool)) = b
-		case reflect.Float32:
-			f := new(float32)
-			if dv != nil {
-				*f = dv.(float32)
-			}
-			*(fptr.(**float32)) = f
-		case reflect.Float64:
-			f := new(float64)
-			if dv != nil {
-				*f = dv.(float64)
-			}
-			*(fptr.(**float64)) = f
-		case reflect.Int32:
-			// might be an enum
-			if ft := f.Type(); ft != int32PtrType {
-				// enum
-				f.Set(reflect.New(ft.Elem()))
-				if dv != nil {
-					f.Elem().SetInt(int64(dv.(int32)))
-				}
-			} else {
-				// int32 field
-				i := new(int32)
-				if dv != nil {
-					*i = dv.(int32)
-				}
-				*(fptr.(**int32)) = i
-			}
-		case reflect.Int64:
-			i := new(int64)
-			if dv != nil {
-				*i = dv.(int64)
-			}
-			*(fptr.(**int64)) = i
-		case reflect.String:
-			s := new(string)
-			if dv != nil {
-				*s = dv.(string)
-			}
-			*(fptr.(**string)) = s
-		case reflect.Uint8:
-			// exceptional case: []byte
-			var b []byte
-			if dv != nil {
-				db := dv.([]byte)
-				b = make([]byte, len(db))
-				copy(b, db)
-			} else {
-				b = []byte{}
-			}
-			*(fptr.(*[]byte)) = b
-		case reflect.Uint32:
-			u := new(uint32)
-			if dv != nil {
-				*u = dv.(uint32)
-			}
-			*(fptr.(**uint32)) = u
-		case reflect.Uint64:
-			u := new(uint64)
-			if dv != nil {
-				*u = dv.(uint64)
-			}
-			*(fptr.(**uint64)) = u
-		default:
-			log.Printf("proto: can't set default for field %v (sf.kind=%v)", f, sf.kind)
-		}
-	}
-
-	for _, ni := range dm.nested {
-		f := v.Field(ni)
-		// f is *T or T or []*T or []T
-		switch f.Kind() {
-		case reflect.Struct:
-			setDefaults(f, recur, zeros)
-
-		case reflect.Ptr:
-			if f.IsNil() {
-				continue
-			}
-			setDefaults(f, recur, zeros)
-
-		case reflect.Slice:
-			for i := 0; i < f.Len(); i++ {
-				e := f.Index(i)
-				if e.Kind() == reflect.Ptr && e.IsNil() {
-					continue
-				}
-				setDefaults(e, recur, zeros)
-			}
-
-		case reflect.Map:
-			for _, k := range f.MapKeys() {
-				e := f.MapIndex(k)
-				if e.IsNil() {
-					continue
-				}
-				setDefaults(e, recur, zeros)
-			}
-		}
-	}
-}
-
-var (
-	// defaults maps a protocol buffer struct type to a slice of the fields,
-	// with its scalar fields set to their proto-declared non-zero default values.
-	defaultMu sync.RWMutex
-	defaults  = make(map[reflect.Type]defaultMessage)
-
-	int32PtrType = reflect.TypeOf((*int32)(nil))
-)
-
-// defaultMessage represents information about the default values of a message.
-type defaultMessage struct {
-	scalars []scalarField
-	nested  []int // struct field index of nested messages
-}
-
-type scalarField struct {
-	index int          // struct field index
-	kind  reflect.Kind // element type (the T in *T or []T)
-	value interface{}  // the proto-declared default value, or nil
-}
-
-// t is a struct type.
-func buildDefaultMessage(t reflect.Type) (dm defaultMessage) {
-	sprop := GetProperties(t)
-	for _, prop := range sprop.Prop {
-		fi, ok := sprop.decoderTags.get(prop.Tag)
-		if !ok {
-			// XXX_unrecognized
-			continue
-		}
-		ft := t.Field(fi).Type
-
-		sf, nested, err := fieldDefault(ft, prop)
-		switch {
-		case err != nil:
-			log.Print(err)
-		case nested:
-			dm.nested = append(dm.nested, fi)
-		case sf != nil:
-			sf.index = fi
-			dm.scalars = append(dm.scalars, *sf)
-		}
-	}
-
-	return dm
-}
-
-// fieldDefault returns the scalarField for field type ft.
-// sf will be nil if the field can not have a default.
-// nestedMessage will be true if this is a nested message.
-// Note that sf.index is not set on return.
-func fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMessage bool, err error) {
-	var canHaveDefault bool
-	switch ft.Kind() {
-	case reflect.Struct:
-		nestedMessage = true // non-nullable
-
-	case reflect.Ptr:
-		if ft.Elem().Kind() == reflect.Struct {
-			nestedMessage = true
-		} else {
-			canHaveDefault = true // proto2 scalar field
-		}
-
-	case reflect.Slice:
-		switch ft.Elem().Kind() {
-		case reflect.Ptr, reflect.Struct:
-			nestedMessage = true // repeated message
-		case reflect.Uint8:
-			canHaveDefault = true // bytes field
-		}
-
-	case reflect.Map:
-		if ft.Elem().Kind() == reflect.Ptr {
-			nestedMessage = true // map with message values
-		}
-	}
-
-	if !canHaveDefault {
-		if nestedMessage {
-			return nil, true, nil
-		}
-		return nil, false, nil
-	}
-
-	// We now know that ft is a pointer or slice.
-	sf = &scalarField{kind: ft.Elem().Kind()}
-
-	// scalar fields without defaults
-	if !prop.HasDefault {
-		return sf, false, nil
-	}
-
-	// a scalar field: either *T or []byte
-	switch ft.Elem().Kind() {
-	case reflect.Bool:
-		x, err := strconv.ParseBool(prop.Default)
-		if err != nil {
-			return nil, false, fmt.Errorf("proto: bad default bool %q: %v", prop.Default, err)
-		}
-		sf.value = x
-	case reflect.Float32:
-		x, err := strconv.ParseFloat(prop.Default, 32)
-		if err != nil {
-			return nil, false, fmt.Errorf("proto: bad default float32 %q: %v", prop.Default, err)
-		}
-		sf.value = float32(x)
-	case reflect.Float64:
-		x, err := strconv.ParseFloat(prop.Default, 64)
-		if err != nil {
-			return nil, false, fmt.Errorf("proto: bad default float64 %q: %v", prop.Default, err)
-		}
-		sf.value = x
-	case reflect.Int32:
-		x, err := strconv.ParseInt(prop.Default, 10, 32)
-		if err != nil {
-			return nil, false, fmt.Errorf("proto: bad default int32 %q: %v", prop.Default, err)
-		}
-		sf.value = int32(x)
-	case reflect.Int64:
-		x, err := strconv.ParseInt(prop.Default, 10, 64)
-		if err != nil {
-			return nil, false, fmt.Errorf("proto: bad default int64 %q: %v", prop.Default, err)
-		}
-		sf.value = x
-	case reflect.String:
-		sf.value = prop.Default
-	case reflect.Uint8:
-		// []byte (not *uint8)
-		sf.value = []byte(prop.Default)
-	case reflect.Uint32:
-		x, err := strconv.ParseUint(prop.Default, 10, 32)
-		if err != nil {
-			return nil, false, fmt.Errorf("proto: bad default uint32 %q: %v", prop.Default, err)
-		}
-		sf.value = uint32(x)
-	case reflect.Uint64:
-		x, err := strconv.ParseUint(prop.Default, 10, 64)
-		if err != nil {
-			return nil, false, fmt.Errorf("proto: bad default uint64 %q: %v", prop.Default, err)
-		}
-		sf.value = x
-	default:
-		return nil, false, fmt.Errorf("proto: unhandled def kind %v", ft.Elem().Kind())
-	}
-
-	return sf, false, nil
-}
-
-// mapKeys returns a sort.Interface to be used for sorting the map keys.
-// Map fields may have key types of non-float scalars, strings and enums.
-func mapKeys(vs []reflect.Value) sort.Interface {
-	s := mapKeySorter{vs: vs}
-
-	// Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps.
-	if len(vs) == 0 {
-		return s
-	}
-	switch vs[0].Kind() {
-	case reflect.Int32, reflect.Int64:
-		s.less = func(a, b reflect.Value) bool { return a.Int() < b.Int() }
-	case reflect.Uint32, reflect.Uint64:
-		s.less = func(a, b reflect.Value) bool { return a.Uint() < b.Uint() }
-	case reflect.Bool:
-		s.less = func(a, b reflect.Value) bool { return !a.Bool() && b.Bool() } // false < true
-	case reflect.String:
-		s.less = func(a, b reflect.Value) bool { return a.String() < b.String() }
-	default:
-		panic(fmt.Sprintf("unsupported map key type: %v", vs[0].Kind()))
-	}
-
-	return s
-}
-
-type mapKeySorter struct {
-	vs   []reflect.Value
-	less func(a, b reflect.Value) bool
-}
-
-func (s mapKeySorter) Len() int      { return len(s.vs) }
-func (s mapKeySorter) Swap(i, j int) { s.vs[i], s.vs[j] = s.vs[j], s.vs[i] }
-func (s mapKeySorter) Less(i, j int) bool {
-	return s.less(s.vs[i], s.vs[j])
-}
-
-// isProto3Zero reports whether v is a zero proto3 value.
-func isProto3Zero(v reflect.Value) bool {
-	switch v.Kind() {
-	case reflect.Bool:
-		return !v.Bool()
-	case reflect.Int32, reflect.Int64:
-		return v.Int() == 0
-	case reflect.Uint32, reflect.Uint64:
-		return v.Uint() == 0
-	case reflect.Float32, reflect.Float64:
-		return v.Float() == 0
-	case reflect.String:
-		return v.String() == ""
-	}
-	return false
-}
-
-// ProtoPackageIsVersion2 is referenced from generated protocol buffer files
-// to assert that that code is compatible with this version of the proto package.
-const GoGoProtoPackageIsVersion2 = true
-
-// ProtoPackageIsVersion1 is referenced from generated protocol buffer files
-// to assert that that code is compatible with this version of the proto package.
-const GoGoProtoPackageIsVersion1 = true
-
-// InternalMessageInfo is a type used internally by generated .pb.go files.
-// This type is not intended to be used by non-generated code.
-// This type is not subject to any compatibility guarantee.
-type InternalMessageInfo struct {
-	marshal   *marshalInfo
-	unmarshal *unmarshalInfo
-	merge     *mergeInfo
-	discard   *discardInfo
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/lib_gogo.go b/vendor/github.com/gogo/protobuf/proto/lib_gogo.go
deleted file mode 100644
index b3aa391..0000000
--- a/vendor/github.com/gogo/protobuf/proto/lib_gogo.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2013, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"encoding/json"
-	"strconv"
-)
-
-type Sizer interface {
-	Size() int
-}
-
-type ProtoSizer interface {
-	ProtoSize() int
-}
-
-func MarshalJSONEnum(m map[int32]string, value int32) ([]byte, error) {
-	s, ok := m[value]
-	if !ok {
-		s = strconv.Itoa(int(value))
-	}
-	return json.Marshal(s)
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/message_set.go b/vendor/github.com/gogo/protobuf/proto/message_set.go
deleted file mode 100644
index 3b6ca41..0000000
--- a/vendor/github.com/gogo/protobuf/proto/message_set.go
+++ /dev/null
@@ -1,314 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2010 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-/*
- * Support for message sets.
- */
-
-import (
-	"bytes"
-	"encoding/json"
-	"errors"
-	"fmt"
-	"reflect"
-	"sort"
-	"sync"
-)
-
-// errNoMessageTypeID occurs when a protocol buffer does not have a message type ID.
-// A message type ID is required for storing a protocol buffer in a message set.
-var errNoMessageTypeID = errors.New("proto does not have a message type ID")
-
-// The first two types (_MessageSet_Item and messageSet)
-// model what the protocol compiler produces for the following protocol message:
-//   message MessageSet {
-//     repeated group Item = 1 {
-//       required int32 type_id = 2;
-//       required string message = 3;
-//     };
-//   }
-// That is the MessageSet wire format. We can't use a proto to generate these
-// because that would introduce a circular dependency between it and this package.
-
-type _MessageSet_Item struct {
-	TypeId  *int32 `protobuf:"varint,2,req,name=type_id"`
-	Message []byte `protobuf:"bytes,3,req,name=message"`
-}
-
-type messageSet struct {
-	Item             []*_MessageSet_Item `protobuf:"group,1,rep"`
-	XXX_unrecognized []byte
-	// TODO: caching?
-}
-
-// Make sure messageSet is a Message.
-var _ Message = (*messageSet)(nil)
-
-// messageTypeIder is an interface satisfied by a protocol buffer type
-// that may be stored in a MessageSet.
-type messageTypeIder interface {
-	MessageTypeId() int32
-}
-
-func (ms *messageSet) find(pb Message) *_MessageSet_Item {
-	mti, ok := pb.(messageTypeIder)
-	if !ok {
-		return nil
-	}
-	id := mti.MessageTypeId()
-	for _, item := range ms.Item {
-		if *item.TypeId == id {
-			return item
-		}
-	}
-	return nil
-}
-
-func (ms *messageSet) Has(pb Message) bool {
-	return ms.find(pb) != nil
-}
-
-func (ms *messageSet) Unmarshal(pb Message) error {
-	if item := ms.find(pb); item != nil {
-		return Unmarshal(item.Message, pb)
-	}
-	if _, ok := pb.(messageTypeIder); !ok {
-		return errNoMessageTypeID
-	}
-	return nil // TODO: return error instead?
-}
-
-func (ms *messageSet) Marshal(pb Message) error {
-	msg, err := Marshal(pb)
-	if err != nil {
-		return err
-	}
-	if item := ms.find(pb); item != nil {
-		// reuse existing item
-		item.Message = msg
-		return nil
-	}
-
-	mti, ok := pb.(messageTypeIder)
-	if !ok {
-		return errNoMessageTypeID
-	}
-
-	mtid := mti.MessageTypeId()
-	ms.Item = append(ms.Item, &_MessageSet_Item{
-		TypeId:  &mtid,
-		Message: msg,
-	})
-	return nil
-}
-
-func (ms *messageSet) Reset()         { *ms = messageSet{} }
-func (ms *messageSet) String() string { return CompactTextString(ms) }
-func (*messageSet) ProtoMessage()     {}
-
-// Support for the message_set_wire_format message option.
-
-func skipVarint(buf []byte) []byte {
-	i := 0
-	for ; buf[i]&0x80 != 0; i++ {
-	}
-	return buf[i+1:]
-}
-
-// MarshalMessageSet encodes the extension map represented by m in the message set wire format.
-// It is called by generated Marshal methods on protocol buffer messages with the message_set_wire_format option.
-func MarshalMessageSet(exts interface{}) ([]byte, error) {
-	return marshalMessageSet(exts, false)
-}
-
-// marshaMessageSet implements above function, with the opt to turn on / off deterministic during Marshal.
-func marshalMessageSet(exts interface{}, deterministic bool) ([]byte, error) {
-	switch exts := exts.(type) {
-	case *XXX_InternalExtensions:
-		var u marshalInfo
-		siz := u.sizeMessageSet(exts)
-		b := make([]byte, 0, siz)
-		return u.appendMessageSet(b, exts, deterministic)
-
-	case map[int32]Extension:
-		// This is an old-style extension map.
-		// Wrap it in a new-style XXX_InternalExtensions.
-		ie := XXX_InternalExtensions{
-			p: &struct {
-				mu           sync.Mutex
-				extensionMap map[int32]Extension
-			}{
-				extensionMap: exts,
-			},
-		}
-
-		var u marshalInfo
-		siz := u.sizeMessageSet(&ie)
-		b := make([]byte, 0, siz)
-		return u.appendMessageSet(b, &ie, deterministic)
-
-	default:
-		return nil, errors.New("proto: not an extension map")
-	}
-}
-
-// UnmarshalMessageSet decodes the extension map encoded in buf in the message set wire format.
-// It is called by Unmarshal methods on protocol buffer messages with the message_set_wire_format option.
-func UnmarshalMessageSet(buf []byte, exts interface{}) error {
-	var m map[int32]Extension
-	switch exts := exts.(type) {
-	case *XXX_InternalExtensions:
-		m = exts.extensionsWrite()
-	case map[int32]Extension:
-		m = exts
-	default:
-		return errors.New("proto: not an extension map")
-	}
-
-	ms := new(messageSet)
-	if err := Unmarshal(buf, ms); err != nil {
-		return err
-	}
-	for _, item := range ms.Item {
-		id := *item.TypeId
-		msg := item.Message
-
-		// Restore wire type and field number varint, plus length varint.
-		// Be careful to preserve duplicate items.
-		b := EncodeVarint(uint64(id)<<3 | WireBytes)
-		if ext, ok := m[id]; ok {
-			// Existing data; rip off the tag and length varint
-			// so we join the new data correctly.
-			// We can assume that ext.enc is set because we are unmarshaling.
-			o := ext.enc[len(b):]   // skip wire type and field number
-			_, n := DecodeVarint(o) // calculate length of length varint
-			o = o[n:]               // skip length varint
-			msg = append(o, msg...) // join old data and new data
-		}
-		b = append(b, EncodeVarint(uint64(len(msg)))...)
-		b = append(b, msg...)
-
-		m[id] = Extension{enc: b}
-	}
-	return nil
-}
-
-// MarshalMessageSetJSON encodes the extension map represented by m in JSON format.
-// It is called by generated MarshalJSON methods on protocol buffer messages with the message_set_wire_format option.
-func MarshalMessageSetJSON(exts interface{}) ([]byte, error) {
-	var m map[int32]Extension
-	switch exts := exts.(type) {
-	case *XXX_InternalExtensions:
-		var mu sync.Locker
-		m, mu = exts.extensionsRead()
-		if m != nil {
-			// Keep the extensions map locked until we're done marshaling to prevent
-			// races between marshaling and unmarshaling the lazily-{en,de}coded
-			// values.
-			mu.Lock()
-			defer mu.Unlock()
-		}
-	case map[int32]Extension:
-		m = exts
-	default:
-		return nil, errors.New("proto: not an extension map")
-	}
-	var b bytes.Buffer
-	b.WriteByte('{')
-
-	// Process the map in key order for deterministic output.
-	ids := make([]int32, 0, len(m))
-	for id := range m {
-		ids = append(ids, id)
-	}
-	sort.Sort(int32Slice(ids)) // int32Slice defined in text.go
-
-	for i, id := range ids {
-		ext := m[id]
-		msd, ok := messageSetMap[id]
-		if !ok {
-			// Unknown type; we can't render it, so skip it.
-			continue
-		}
-
-		if i > 0 && b.Len() > 1 {
-			b.WriteByte(',')
-		}
-
-		fmt.Fprintf(&b, `"[%s]":`, msd.name)
-
-		x := ext.value
-		if x == nil {
-			x = reflect.New(msd.t.Elem()).Interface()
-			if err := Unmarshal(ext.enc, x.(Message)); err != nil {
-				return nil, err
-			}
-		}
-		d, err := json.Marshal(x)
-		if err != nil {
-			return nil, err
-		}
-		b.Write(d)
-	}
-	b.WriteByte('}')
-	return b.Bytes(), nil
-}
-
-// UnmarshalMessageSetJSON decodes the extension map encoded in buf in JSON format.
-// It is called by generated UnmarshalJSON methods on protocol buffer messages with the message_set_wire_format option.
-func UnmarshalMessageSetJSON(buf []byte, exts interface{}) error {
-	// Common-case fast path.
-	if len(buf) == 0 || bytes.Equal(buf, []byte("{}")) {
-		return nil
-	}
-
-	// This is fairly tricky, and it's not clear that it is needed.
-	return errors.New("TODO: UnmarshalMessageSetJSON not yet implemented")
-}
-
-// A global registry of types that can be used in a MessageSet.
-
-var messageSetMap = make(map[int32]messageSetDesc)
-
-type messageSetDesc struct {
-	t    reflect.Type // pointer to struct
-	name string
-}
-
-// RegisterMessageSetType is called from the generated code.
-func RegisterMessageSetType(m Message, fieldNum int32, name string) {
-	messageSetMap[fieldNum] = messageSetDesc{
-		t:    reflect.TypeOf(m),
-		name: name,
-	}
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/pointer_reflect.go b/vendor/github.com/gogo/protobuf/proto/pointer_reflect.go
deleted file mode 100644
index b6cad90..0000000
--- a/vendor/github.com/gogo/protobuf/proto/pointer_reflect.go
+++ /dev/null
@@ -1,357 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2012 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// +build purego appengine js
-
-// This file contains an implementation of proto field accesses using package reflect.
-// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can
-// be used on App Engine.
-
-package proto
-
-import (
-	"reflect"
-	"sync"
-)
-
-const unsafeAllowed = false
-
-// A field identifies a field in a struct, accessible from a pointer.
-// In this implementation, a field is identified by the sequence of field indices
-// passed to reflect's FieldByIndex.
-type field []int
-
-// toField returns a field equivalent to the given reflect field.
-func toField(f *reflect.StructField) field {
-	return f.Index
-}
-
-// invalidField is an invalid field identifier.
-var invalidField = field(nil)
-
-// zeroField is a noop when calling pointer.offset.
-var zeroField = field([]int{})
-
-// IsValid reports whether the field identifier is valid.
-func (f field) IsValid() bool { return f != nil }
-
-// The pointer type is for the table-driven decoder.
-// The implementation here uses a reflect.Value of pointer type to
-// create a generic pointer. In pointer_unsafe.go we use unsafe
-// instead of reflect to implement the same (but faster) interface.
-type pointer struct {
-	v reflect.Value
-}
-
-// toPointer converts an interface of pointer type to a pointer
-// that points to the same target.
-func toPointer(i *Message) pointer {
-	return pointer{v: reflect.ValueOf(*i)}
-}
-
-// toAddrPointer converts an interface to a pointer that points to
-// the interface data.
-func toAddrPointer(i *interface{}, isptr bool) pointer {
-	v := reflect.ValueOf(*i)
-	u := reflect.New(v.Type())
-	u.Elem().Set(v)
-	return pointer{v: u}
-}
-
-// valToPointer converts v to a pointer.  v must be of pointer type.
-func valToPointer(v reflect.Value) pointer {
-	return pointer{v: v}
-}
-
-// offset converts from a pointer to a structure to a pointer to
-// one of its fields.
-func (p pointer) offset(f field) pointer {
-	return pointer{v: p.v.Elem().FieldByIndex(f).Addr()}
-}
-
-func (p pointer) isNil() bool {
-	return p.v.IsNil()
-}
-
-// grow updates the slice s in place to make it one element longer.
-// s must be addressable.
-// Returns the (addressable) new element.
-func grow(s reflect.Value) reflect.Value {
-	n, m := s.Len(), s.Cap()
-	if n < m {
-		s.SetLen(n + 1)
-	} else {
-		s.Set(reflect.Append(s, reflect.Zero(s.Type().Elem())))
-	}
-	return s.Index(n)
-}
-
-func (p pointer) toInt64() *int64 {
-	return p.v.Interface().(*int64)
-}
-func (p pointer) toInt64Ptr() **int64 {
-	return p.v.Interface().(**int64)
-}
-func (p pointer) toInt64Slice() *[]int64 {
-	return p.v.Interface().(*[]int64)
-}
-
-var int32ptr = reflect.TypeOf((*int32)(nil))
-
-func (p pointer) toInt32() *int32 {
-	return p.v.Convert(int32ptr).Interface().(*int32)
-}
-
-// The toInt32Ptr/Slice methods don't work because of enums.
-// Instead, we must use set/get methods for the int32ptr/slice case.
-/*
-	func (p pointer) toInt32Ptr() **int32 {
-		return p.v.Interface().(**int32)
-}
-	func (p pointer) toInt32Slice() *[]int32 {
-		return p.v.Interface().(*[]int32)
-}
-*/
-func (p pointer) getInt32Ptr() *int32 {
-	if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {
-		// raw int32 type
-		return p.v.Elem().Interface().(*int32)
-	}
-	// an enum
-	return p.v.Elem().Convert(int32PtrType).Interface().(*int32)
-}
-func (p pointer) setInt32Ptr(v int32) {
-	// Allocate value in a *int32. Possibly convert that to a *enum.
-	// Then assign it to a **int32 or **enum.
-	// Note: we can convert *int32 to *enum, but we can't convert
-	// **int32 to **enum!
-	p.v.Elem().Set(reflect.ValueOf(&v).Convert(p.v.Type().Elem()))
-}
-
-// getInt32Slice copies []int32 from p as a new slice.
-// This behavior differs from the implementation in pointer_unsafe.go.
-func (p pointer) getInt32Slice() []int32 {
-	if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {
-		// raw int32 type
-		return p.v.Elem().Interface().([]int32)
-	}
-	// an enum
-	// Allocate a []int32, then assign []enum's values into it.
-	// Note: we can't convert []enum to []int32.
-	slice := p.v.Elem()
-	s := make([]int32, slice.Len())
-	for i := 0; i < slice.Len(); i++ {
-		s[i] = int32(slice.Index(i).Int())
-	}
-	return s
-}
-
-// setInt32Slice copies []int32 into p as a new slice.
-// This behavior differs from the implementation in pointer_unsafe.go.
-func (p pointer) setInt32Slice(v []int32) {
-	if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {
-		// raw int32 type
-		p.v.Elem().Set(reflect.ValueOf(v))
-		return
-	}
-	// an enum
-	// Allocate a []enum, then assign []int32's values into it.
-	// Note: we can't convert []enum to []int32.
-	slice := reflect.MakeSlice(p.v.Type().Elem(), len(v), cap(v))
-	for i, x := range v {
-		slice.Index(i).SetInt(int64(x))
-	}
-	p.v.Elem().Set(slice)
-}
-func (p pointer) appendInt32Slice(v int32) {
-	grow(p.v.Elem()).SetInt(int64(v))
-}
-
-func (p pointer) toUint64() *uint64 {
-	return p.v.Interface().(*uint64)
-}
-func (p pointer) toUint64Ptr() **uint64 {
-	return p.v.Interface().(**uint64)
-}
-func (p pointer) toUint64Slice() *[]uint64 {
-	return p.v.Interface().(*[]uint64)
-}
-func (p pointer) toUint32() *uint32 {
-	return p.v.Interface().(*uint32)
-}
-func (p pointer) toUint32Ptr() **uint32 {
-	return p.v.Interface().(**uint32)
-}
-func (p pointer) toUint32Slice() *[]uint32 {
-	return p.v.Interface().(*[]uint32)
-}
-func (p pointer) toBool() *bool {
-	return p.v.Interface().(*bool)
-}
-func (p pointer) toBoolPtr() **bool {
-	return p.v.Interface().(**bool)
-}
-func (p pointer) toBoolSlice() *[]bool {
-	return p.v.Interface().(*[]bool)
-}
-func (p pointer) toFloat64() *float64 {
-	return p.v.Interface().(*float64)
-}
-func (p pointer) toFloat64Ptr() **float64 {
-	return p.v.Interface().(**float64)
-}
-func (p pointer) toFloat64Slice() *[]float64 {
-	return p.v.Interface().(*[]float64)
-}
-func (p pointer) toFloat32() *float32 {
-	return p.v.Interface().(*float32)
-}
-func (p pointer) toFloat32Ptr() **float32 {
-	return p.v.Interface().(**float32)
-}
-func (p pointer) toFloat32Slice() *[]float32 {
-	return p.v.Interface().(*[]float32)
-}
-func (p pointer) toString() *string {
-	return p.v.Interface().(*string)
-}
-func (p pointer) toStringPtr() **string {
-	return p.v.Interface().(**string)
-}
-func (p pointer) toStringSlice() *[]string {
-	return p.v.Interface().(*[]string)
-}
-func (p pointer) toBytes() *[]byte {
-	return p.v.Interface().(*[]byte)
-}
-func (p pointer) toBytesSlice() *[][]byte {
-	return p.v.Interface().(*[][]byte)
-}
-func (p pointer) toExtensions() *XXX_InternalExtensions {
-	return p.v.Interface().(*XXX_InternalExtensions)
-}
-func (p pointer) toOldExtensions() *map[int32]Extension {
-	return p.v.Interface().(*map[int32]Extension)
-}
-func (p pointer) getPointer() pointer {
-	return pointer{v: p.v.Elem()}
-}
-func (p pointer) setPointer(q pointer) {
-	p.v.Elem().Set(q.v)
-}
-func (p pointer) appendPointer(q pointer) {
-	grow(p.v.Elem()).Set(q.v)
-}
-
-// getPointerSlice copies []*T from p as a new []pointer.
-// This behavior differs from the implementation in pointer_unsafe.go.
-func (p pointer) getPointerSlice() []pointer {
-	if p.v.IsNil() {
-		return nil
-	}
-	n := p.v.Elem().Len()
-	s := make([]pointer, n)
-	for i := 0; i < n; i++ {
-		s[i] = pointer{v: p.v.Elem().Index(i)}
-	}
-	return s
-}
-
-// setPointerSlice copies []pointer into p as a new []*T.
-// This behavior differs from the implementation in pointer_unsafe.go.
-func (p pointer) setPointerSlice(v []pointer) {
-	if v == nil {
-		p.v.Elem().Set(reflect.New(p.v.Elem().Type()).Elem())
-		return
-	}
-	s := reflect.MakeSlice(p.v.Elem().Type(), 0, len(v))
-	for _, p := range v {
-		s = reflect.Append(s, p.v)
-	}
-	p.v.Elem().Set(s)
-}
-
-// getInterfacePointer returns a pointer that points to the
-// interface data of the interface pointed by p.
-func (p pointer) getInterfacePointer() pointer {
-	if p.v.Elem().IsNil() {
-		return pointer{v: p.v.Elem()}
-	}
-	return pointer{v: p.v.Elem().Elem().Elem().Field(0).Addr()} // *interface -> interface -> *struct -> struct
-}
-
-func (p pointer) asPointerTo(t reflect.Type) reflect.Value {
-	// TODO: check that p.v.Type().Elem() == t?
-	return p.v
-}
-
-func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo {
-	atomicLock.Lock()
-	defer atomicLock.Unlock()
-	return *p
-}
-func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) {
-	atomicLock.Lock()
-	defer atomicLock.Unlock()
-	*p = v
-}
-func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo {
-	atomicLock.Lock()
-	defer atomicLock.Unlock()
-	return *p
-}
-func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) {
-	atomicLock.Lock()
-	defer atomicLock.Unlock()
-	*p = v
-}
-func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo {
-	atomicLock.Lock()
-	defer atomicLock.Unlock()
-	return *p
-}
-func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) {
-	atomicLock.Lock()
-	defer atomicLock.Unlock()
-	*p = v
-}
-func atomicLoadDiscardInfo(p **discardInfo) *discardInfo {
-	atomicLock.Lock()
-	defer atomicLock.Unlock()
-	return *p
-}
-func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) {
-	atomicLock.Lock()
-	defer atomicLock.Unlock()
-	*p = v
-}
-
-var atomicLock sync.Mutex
diff --git a/vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go b/vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go
deleted file mode 100644
index 7ffd3c2..0000000
--- a/vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go
+++ /dev/null
@@ -1,59 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2018, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// +build purego appengine js
-
-// This file contains an implementation of proto field accesses using package reflect.
-// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can
-// be used on App Engine.
-
-package proto
-
-import (
-	"reflect"
-)
-
-// TODO: untested, so probably incorrect.
-
-func (p pointer) getRef() pointer {
-	return pointer{v: p.v.Addr()}
-}
-
-func (p pointer) appendRef(v pointer, typ reflect.Type) {
-	slice := p.getSlice(typ)
-	elem := v.asPointerTo(typ).Elem()
-	newSlice := reflect.Append(slice, elem)
-	slice.Set(newSlice)
-}
-
-func (p pointer) getSlice(typ reflect.Type) reflect.Value {
-	sliceTyp := reflect.SliceOf(typ)
-	slice := p.asPointerTo(sliceTyp)
-	slice = slice.Elem()
-	return slice
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go b/vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go
deleted file mode 100644
index d55a335..0000000
--- a/vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go
+++ /dev/null
@@ -1,308 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2012 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// +build !purego,!appengine,!js
-
-// This file contains the implementation of the proto field accesses using package unsafe.
-
-package proto
-
-import (
-	"reflect"
-	"sync/atomic"
-	"unsafe"
-)
-
-const unsafeAllowed = true
-
-// A field identifies a field in a struct, accessible from a pointer.
-// In this implementation, a field is identified by its byte offset from the start of the struct.
-type field uintptr
-
-// toField returns a field equivalent to the given reflect field.
-func toField(f *reflect.StructField) field {
-	return field(f.Offset)
-}
-
-// invalidField is an invalid field identifier.
-const invalidField = ^field(0)
-
-// zeroField is a noop when calling pointer.offset.
-const zeroField = field(0)
-
-// IsValid reports whether the field identifier is valid.
-func (f field) IsValid() bool {
-	return f != invalidField
-}
-
-// The pointer type below is for the new table-driven encoder/decoder.
-// The implementation here uses unsafe.Pointer to create a generic pointer.
-// In pointer_reflect.go we use reflect instead of unsafe to implement
-// the same (but slower) interface.
-type pointer struct {
-	p unsafe.Pointer
-}
-
-// size of pointer
-var ptrSize = unsafe.Sizeof(uintptr(0))
-
-// toPointer converts an interface of pointer type to a pointer
-// that points to the same target.
-func toPointer(i *Message) pointer {
-	// Super-tricky - read pointer out of data word of interface value.
-	// Saves ~25ns over the equivalent:
-	// return valToPointer(reflect.ValueOf(*i))
-	return pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]}
-}
-
-// toAddrPointer converts an interface to a pointer that points to
-// the interface data.
-func toAddrPointer(i *interface{}, isptr bool) pointer {
-	// Super-tricky - read or get the address of data word of interface value.
-	if isptr {
-		// The interface is of pointer type, thus it is a direct interface.
-		// The data word is the pointer data itself. We take its address.
-		return pointer{p: unsafe.Pointer(uintptr(unsafe.Pointer(i)) + ptrSize)}
-	}
-	// The interface is not of pointer type. The data word is the pointer
-	// to the data.
-	return pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]}
-}
-
-// valToPointer converts v to a pointer. v must be of pointer type.
-func valToPointer(v reflect.Value) pointer {
-	return pointer{p: unsafe.Pointer(v.Pointer())}
-}
-
-// offset converts from a pointer to a structure to a pointer to
-// one of its fields.
-func (p pointer) offset(f field) pointer {
-	// For safety, we should panic if !f.IsValid, however calling panic causes
-	// this to no longer be inlineable, which is a serious performance cost.
-	/*
-		if !f.IsValid() {
-			panic("invalid field")
-		}
-	*/
-	return pointer{p: unsafe.Pointer(uintptr(p.p) + uintptr(f))}
-}
-
-func (p pointer) isNil() bool {
-	return p.p == nil
-}
-
-func (p pointer) toInt64() *int64 {
-	return (*int64)(p.p)
-}
-func (p pointer) toInt64Ptr() **int64 {
-	return (**int64)(p.p)
-}
-func (p pointer) toInt64Slice() *[]int64 {
-	return (*[]int64)(p.p)
-}
-func (p pointer) toInt32() *int32 {
-	return (*int32)(p.p)
-}
-
-// See pointer_reflect.go for why toInt32Ptr/Slice doesn't exist.
-/*
-	func (p pointer) toInt32Ptr() **int32 {
-		return (**int32)(p.p)
-	}
-	func (p pointer) toInt32Slice() *[]int32 {
-		return (*[]int32)(p.p)
-	}
-*/
-func (p pointer) getInt32Ptr() *int32 {
-	return *(**int32)(p.p)
-}
-func (p pointer) setInt32Ptr(v int32) {
-	*(**int32)(p.p) = &v
-}
-
-// getInt32Slice loads a []int32 from p.
-// The value returned is aliased with the original slice.
-// This behavior differs from the implementation in pointer_reflect.go.
-func (p pointer) getInt32Slice() []int32 {
-	return *(*[]int32)(p.p)
-}
-
-// setInt32Slice stores a []int32 to p.
-// The value set is aliased with the input slice.
-// This behavior differs from the implementation in pointer_reflect.go.
-func (p pointer) setInt32Slice(v []int32) {
-	*(*[]int32)(p.p) = v
-}
-
-// TODO: Can we get rid of appendInt32Slice and use setInt32Slice instead?
-func (p pointer) appendInt32Slice(v int32) {
-	s := (*[]int32)(p.p)
-	*s = append(*s, v)
-}
-
-func (p pointer) toUint64() *uint64 {
-	return (*uint64)(p.p)
-}
-func (p pointer) toUint64Ptr() **uint64 {
-	return (**uint64)(p.p)
-}
-func (p pointer) toUint64Slice() *[]uint64 {
-	return (*[]uint64)(p.p)
-}
-func (p pointer) toUint32() *uint32 {
-	return (*uint32)(p.p)
-}
-func (p pointer) toUint32Ptr() **uint32 {
-	return (**uint32)(p.p)
-}
-func (p pointer) toUint32Slice() *[]uint32 {
-	return (*[]uint32)(p.p)
-}
-func (p pointer) toBool() *bool {
-	return (*bool)(p.p)
-}
-func (p pointer) toBoolPtr() **bool {
-	return (**bool)(p.p)
-}
-func (p pointer) toBoolSlice() *[]bool {
-	return (*[]bool)(p.p)
-}
-func (p pointer) toFloat64() *float64 {
-	return (*float64)(p.p)
-}
-func (p pointer) toFloat64Ptr() **float64 {
-	return (**float64)(p.p)
-}
-func (p pointer) toFloat64Slice() *[]float64 {
-	return (*[]float64)(p.p)
-}
-func (p pointer) toFloat32() *float32 {
-	return (*float32)(p.p)
-}
-func (p pointer) toFloat32Ptr() **float32 {
-	return (**float32)(p.p)
-}
-func (p pointer) toFloat32Slice() *[]float32 {
-	return (*[]float32)(p.p)
-}
-func (p pointer) toString() *string {
-	return (*string)(p.p)
-}
-func (p pointer) toStringPtr() **string {
-	return (**string)(p.p)
-}
-func (p pointer) toStringSlice() *[]string {
-	return (*[]string)(p.p)
-}
-func (p pointer) toBytes() *[]byte {
-	return (*[]byte)(p.p)
-}
-func (p pointer) toBytesSlice() *[][]byte {
-	return (*[][]byte)(p.p)
-}
-func (p pointer) toExtensions() *XXX_InternalExtensions {
-	return (*XXX_InternalExtensions)(p.p)
-}
-func (p pointer) toOldExtensions() *map[int32]Extension {
-	return (*map[int32]Extension)(p.p)
-}
-
-// getPointerSlice loads []*T from p as a []pointer.
-// The value returned is aliased with the original slice.
-// This behavior differs from the implementation in pointer_reflect.go.
-func (p pointer) getPointerSlice() []pointer {
-	// Super-tricky - p should point to a []*T where T is a
-	// message type. We load it as []pointer.
-	return *(*[]pointer)(p.p)
-}
-
-// setPointerSlice stores []pointer into p as a []*T.
-// The value set is aliased with the input slice.
-// This behavior differs from the implementation in pointer_reflect.go.
-func (p pointer) setPointerSlice(v []pointer) {
-	// Super-tricky - p should point to a []*T where T is a
-	// message type. We store it as []pointer.
-	*(*[]pointer)(p.p) = v
-}
-
-// getPointer loads the pointer at p and returns it.
-func (p pointer) getPointer() pointer {
-	return pointer{p: *(*unsafe.Pointer)(p.p)}
-}
-
-// setPointer stores the pointer q at p.
-func (p pointer) setPointer(q pointer) {
-	*(*unsafe.Pointer)(p.p) = q.p
-}
-
-// append q to the slice pointed to by p.
-func (p pointer) appendPointer(q pointer) {
-	s := (*[]unsafe.Pointer)(p.p)
-	*s = append(*s, q.p)
-}
-
-// getInterfacePointer returns a pointer that points to the
-// interface data of the interface pointed by p.
-func (p pointer) getInterfacePointer() pointer {
-	// Super-tricky - read pointer out of data word of interface value.
-	return pointer{p: (*(*[2]unsafe.Pointer)(p.p))[1]}
-}
-
-// asPointerTo returns a reflect.Value that is a pointer to an
-// object of type t stored at p.
-func (p pointer) asPointerTo(t reflect.Type) reflect.Value {
-	return reflect.NewAt(t, p.p)
-}
-
-func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo {
-	return (*unmarshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))
-}
-func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) {
-	atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))
-}
-func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo {
-	return (*marshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))
-}
-func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) {
-	atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))
-}
-func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo {
-	return (*mergeInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))
-}
-func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) {
-	atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))
-}
-func atomicLoadDiscardInfo(p **discardInfo) *discardInfo {
-	return (*discardInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))
-}
-func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) {
-	atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go b/vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go
deleted file mode 100644
index aca8eed..0000000
--- a/vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2018, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// +build !purego,!appengine,!js
-
-// This file contains the implementation of the proto field accesses using package unsafe.
-
-package proto
-
-import (
-	"reflect"
-	"unsafe"
-)
-
-func (p pointer) getRef() pointer {
-	return pointer{p: (unsafe.Pointer)(&p.p)}
-}
-
-func (p pointer) appendRef(v pointer, typ reflect.Type) {
-	slice := p.getSlice(typ)
-	elem := v.asPointerTo(typ).Elem()
-	newSlice := reflect.Append(slice, elem)
-	slice.Set(newSlice)
-}
-
-func (p pointer) getSlice(typ reflect.Type) reflect.Value {
-	sliceTyp := reflect.SliceOf(typ)
-	slice := p.asPointerTo(sliceTyp)
-	slice = slice.Elem()
-	return slice
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/properties.go b/vendor/github.com/gogo/protobuf/proto/properties.go
deleted file mode 100644
index 7a5e28e..0000000
--- a/vendor/github.com/gogo/protobuf/proto/properties.go
+++ /dev/null
@@ -1,600 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2013, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2010 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-/*
- * Routines for encoding data into the wire format for protocol buffers.
- */
-
-import (
-	"fmt"
-	"log"
-	"os"
-	"reflect"
-	"sort"
-	"strconv"
-	"strings"
-	"sync"
-)
-
-const debug bool = false
-
-// Constants that identify the encoding of a value on the wire.
-const (
-	WireVarint     = 0
-	WireFixed64    = 1
-	WireBytes      = 2
-	WireStartGroup = 3
-	WireEndGroup   = 4
-	WireFixed32    = 5
-)
-
-// tagMap is an optimization over map[int]int for typical protocol buffer
-// use-cases. Encoded protocol buffers are often in tag order with small tag
-// numbers.
-type tagMap struct {
-	fastTags []int
-	slowTags map[int]int
-}
-
-// tagMapFastLimit is the upper bound on the tag number that will be stored in
-// the tagMap slice rather than its map.
-const tagMapFastLimit = 1024
-
-func (p *tagMap) get(t int) (int, bool) {
-	if t > 0 && t < tagMapFastLimit {
-		if t >= len(p.fastTags) {
-			return 0, false
-		}
-		fi := p.fastTags[t]
-		return fi, fi >= 0
-	}
-	fi, ok := p.slowTags[t]
-	return fi, ok
-}
-
-func (p *tagMap) put(t int, fi int) {
-	if t > 0 && t < tagMapFastLimit {
-		for len(p.fastTags) < t+1 {
-			p.fastTags = append(p.fastTags, -1)
-		}
-		p.fastTags[t] = fi
-		return
-	}
-	if p.slowTags == nil {
-		p.slowTags = make(map[int]int)
-	}
-	p.slowTags[t] = fi
-}
-
-// StructProperties represents properties for all the fields of a struct.
-// decoderTags and decoderOrigNames should only be used by the decoder.
-type StructProperties struct {
-	Prop             []*Properties  // properties for each field
-	reqCount         int            // required count
-	decoderTags      tagMap         // map from proto tag to struct field number
-	decoderOrigNames map[string]int // map from original name to struct field number
-	order            []int          // list of struct field numbers in tag order
-
-	// OneofTypes contains information about the oneof fields in this message.
-	// It is keyed by the original name of a field.
-	OneofTypes map[string]*OneofProperties
-}
-
-// OneofProperties represents information about a specific field in a oneof.
-type OneofProperties struct {
-	Type  reflect.Type // pointer to generated struct type for this oneof field
-	Field int          // struct field number of the containing oneof in the message
-	Prop  *Properties
-}
-
-// Implement the sorting interface so we can sort the fields in tag order, as recommended by the spec.
-// See encode.go, (*Buffer).enc_struct.
-
-func (sp *StructProperties) Len() int { return len(sp.order) }
-func (sp *StructProperties) Less(i, j int) bool {
-	return sp.Prop[sp.order[i]].Tag < sp.Prop[sp.order[j]].Tag
-}
-func (sp *StructProperties) Swap(i, j int) { sp.order[i], sp.order[j] = sp.order[j], sp.order[i] }
-
-// Properties represents the protocol-specific behavior of a single struct field.
-type Properties struct {
-	Name     string // name of the field, for error messages
-	OrigName string // original name before protocol compiler (always set)
-	JSONName string // name to use for JSON; determined by protoc
-	Wire     string
-	WireType int
-	Tag      int
-	Required bool
-	Optional bool
-	Repeated bool
-	Packed   bool   // relevant for repeated primitives only
-	Enum     string // set for enum types only
-	proto3   bool   // whether this is known to be a proto3 field; set for []byte only
-	oneof    bool   // whether this is a oneof field
-
-	Default     string // default value
-	HasDefault  bool   // whether an explicit default was provided
-	CustomType  string
-	CastType    string
-	StdTime     bool
-	StdDuration bool
-
-	stype reflect.Type      // set for struct types only
-	ctype reflect.Type      // set for custom types only
-	sprop *StructProperties // set for struct types only
-
-	mtype    reflect.Type // set for map types only
-	mkeyprop *Properties  // set for map types only
-	mvalprop *Properties  // set for map types only
-}
-
-// String formats the properties in the protobuf struct field tag style.
-func (p *Properties) String() string {
-	s := p.Wire
-	s += ","
-	s += strconv.Itoa(p.Tag)
-	if p.Required {
-		s += ",req"
-	}
-	if p.Optional {
-		s += ",opt"
-	}
-	if p.Repeated {
-		s += ",rep"
-	}
-	if p.Packed {
-		s += ",packed"
-	}
-	s += ",name=" + p.OrigName
-	if p.JSONName != p.OrigName {
-		s += ",json=" + p.JSONName
-	}
-	if p.proto3 {
-		s += ",proto3"
-	}
-	if p.oneof {
-		s += ",oneof"
-	}
-	if len(p.Enum) > 0 {
-		s += ",enum=" + p.Enum
-	}
-	if p.HasDefault {
-		s += ",def=" + p.Default
-	}
-	return s
-}
-
-// Parse populates p by parsing a string in the protobuf struct field tag style.
-func (p *Properties) Parse(s string) {
-	// "bytes,49,opt,name=foo,def=hello!"
-	fields := strings.Split(s, ",") // breaks def=, but handled below.
-	if len(fields) < 2 {
-		fmt.Fprintf(os.Stderr, "proto: tag has too few fields: %q\n", s)
-		return
-	}
-
-	p.Wire = fields[0]
-	switch p.Wire {
-	case "varint":
-		p.WireType = WireVarint
-	case "fixed32":
-		p.WireType = WireFixed32
-	case "fixed64":
-		p.WireType = WireFixed64
-	case "zigzag32":
-		p.WireType = WireVarint
-	case "zigzag64":
-		p.WireType = WireVarint
-	case "bytes", "group":
-		p.WireType = WireBytes
-		// no numeric converter for non-numeric types
-	default:
-		fmt.Fprintf(os.Stderr, "proto: tag has unknown wire type: %q\n", s)
-		return
-	}
-
-	var err error
-	p.Tag, err = strconv.Atoi(fields[1])
-	if err != nil {
-		return
-	}
-
-outer:
-	for i := 2; i < len(fields); i++ {
-		f := fields[i]
-		switch {
-		case f == "req":
-			p.Required = true
-		case f == "opt":
-			p.Optional = true
-		case f == "rep":
-			p.Repeated = true
-		case f == "packed":
-			p.Packed = true
-		case strings.HasPrefix(f, "name="):
-			p.OrigName = f[5:]
-		case strings.HasPrefix(f, "json="):
-			p.JSONName = f[5:]
-		case strings.HasPrefix(f, "enum="):
-			p.Enum = f[5:]
-		case f == "proto3":
-			p.proto3 = true
-		case f == "oneof":
-			p.oneof = true
-		case strings.HasPrefix(f, "def="):
-			p.HasDefault = true
-			p.Default = f[4:] // rest of string
-			if i+1 < len(fields) {
-				// Commas aren't escaped, and def is always last.
-				p.Default += "," + strings.Join(fields[i+1:], ",")
-				break outer
-			}
-		case strings.HasPrefix(f, "embedded="):
-			p.OrigName = strings.Split(f, "=")[1]
-		case strings.HasPrefix(f, "customtype="):
-			p.CustomType = strings.Split(f, "=")[1]
-		case strings.HasPrefix(f, "casttype="):
-			p.CastType = strings.Split(f, "=")[1]
-		case f == "stdtime":
-			p.StdTime = true
-		case f == "stdduration":
-			p.StdDuration = true
-		}
-	}
-}
-
-var protoMessageType = reflect.TypeOf((*Message)(nil)).Elem()
-
-// setFieldProps initializes the field properties for submessages and maps.
-func (p *Properties) setFieldProps(typ reflect.Type, f *reflect.StructField, lockGetProp bool) {
-	isMap := typ.Kind() == reflect.Map
-	if len(p.CustomType) > 0 && !isMap {
-		p.ctype = typ
-		p.setTag(lockGetProp)
-		return
-	}
-	if p.StdTime && !isMap {
-		p.setTag(lockGetProp)
-		return
-	}
-	if p.StdDuration && !isMap {
-		p.setTag(lockGetProp)
-		return
-	}
-	switch t1 := typ; t1.Kind() {
-	case reflect.Struct:
-		p.stype = typ
-	case reflect.Ptr:
-		if t1.Elem().Kind() == reflect.Struct {
-			p.stype = t1.Elem()
-		}
-	case reflect.Slice:
-		switch t2 := t1.Elem(); t2.Kind() {
-		case reflect.Ptr:
-			switch t3 := t2.Elem(); t3.Kind() {
-			case reflect.Struct:
-				p.stype = t3
-			}
-		case reflect.Struct:
-			p.stype = t2
-		}
-
-	case reflect.Map:
-
-		p.mtype = t1
-		p.mkeyprop = &Properties{}
-		p.mkeyprop.init(reflect.PtrTo(p.mtype.Key()), "Key", f.Tag.Get("protobuf_key"), nil, lockGetProp)
-		p.mvalprop = &Properties{}
-		vtype := p.mtype.Elem()
-		if vtype.Kind() != reflect.Ptr && vtype.Kind() != reflect.Slice {
-			// The value type is not a message (*T) or bytes ([]byte),
-			// so we need encoders for the pointer to this type.
-			vtype = reflect.PtrTo(vtype)
-		}
-
-		p.mvalprop.CustomType = p.CustomType
-		p.mvalprop.StdDuration = p.StdDuration
-		p.mvalprop.StdTime = p.StdTime
-		p.mvalprop.init(vtype, "Value", f.Tag.Get("protobuf_val"), nil, lockGetProp)
-	}
-	p.setTag(lockGetProp)
-}
-
-func (p *Properties) setTag(lockGetProp bool) {
-	if p.stype != nil {
-		if lockGetProp {
-			p.sprop = GetProperties(p.stype)
-		} else {
-			p.sprop = getPropertiesLocked(p.stype)
-		}
-	}
-}
-
-var (
-	marshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem()
-)
-
-// Init populates the properties from a protocol buffer struct tag.
-func (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) {
-	p.init(typ, name, tag, f, true)
-}
-
-func (p *Properties) init(typ reflect.Type, name, tag string, f *reflect.StructField, lockGetProp bool) {
-	// "bytes,49,opt,def=hello!"
-	p.Name = name
-	p.OrigName = name
-	if tag == "" {
-		return
-	}
-	p.Parse(tag)
-	p.setFieldProps(typ, f, lockGetProp)
-}
-
-var (
-	propertiesMu  sync.RWMutex
-	propertiesMap = make(map[reflect.Type]*StructProperties)
-)
-
-// GetProperties returns the list of properties for the type represented by t.
-// t must represent a generated struct type of a protocol message.
-func GetProperties(t reflect.Type) *StructProperties {
-	if t.Kind() != reflect.Struct {
-		panic("proto: type must have kind struct")
-	}
-
-	// Most calls to GetProperties in a long-running program will be
-	// retrieving details for types we have seen before.
-	propertiesMu.RLock()
-	sprop, ok := propertiesMap[t]
-	propertiesMu.RUnlock()
-	if ok {
-		if collectStats {
-			stats.Chit++
-		}
-		return sprop
-	}
-
-	propertiesMu.Lock()
-	sprop = getPropertiesLocked(t)
-	propertiesMu.Unlock()
-	return sprop
-}
-
-// getPropertiesLocked requires that propertiesMu is held.
-func getPropertiesLocked(t reflect.Type) *StructProperties {
-	if prop, ok := propertiesMap[t]; ok {
-		if collectStats {
-			stats.Chit++
-		}
-		return prop
-	}
-	if collectStats {
-		stats.Cmiss++
-	}
-
-	prop := new(StructProperties)
-	// in case of recursive protos, fill this in now.
-	propertiesMap[t] = prop
-
-	// build properties
-	prop.Prop = make([]*Properties, t.NumField())
-	prop.order = make([]int, t.NumField())
-
-	isOneofMessage := false
-	for i := 0; i < t.NumField(); i++ {
-		f := t.Field(i)
-		p := new(Properties)
-		name := f.Name
-		p.init(f.Type, name, f.Tag.Get("protobuf"), &f, false)
-
-		oneof := f.Tag.Get("protobuf_oneof") // special case
-		if oneof != "" {
-			isOneofMessage = true
-			// Oneof fields don't use the traditional protobuf tag.
-			p.OrigName = oneof
-		}
-		prop.Prop[i] = p
-		prop.order[i] = i
-		if debug {
-			print(i, " ", f.Name, " ", t.String(), " ")
-			if p.Tag > 0 {
-				print(p.String())
-			}
-			print("\n")
-		}
-	}
-
-	// Re-order prop.order.
-	sort.Sort(prop)
-
-	type oneofMessage interface {
-		XXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{})
-	}
-	if om, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); isOneofMessage && ok {
-		var oots []interface{}
-		_, _, _, oots = om.XXX_OneofFuncs()
-
-		// Interpret oneof metadata.
-		prop.OneofTypes = make(map[string]*OneofProperties)
-		for _, oot := range oots {
-			oop := &OneofProperties{
-				Type: reflect.ValueOf(oot).Type(), // *T
-				Prop: new(Properties),
-			}
-			sft := oop.Type.Elem().Field(0)
-			oop.Prop.Name = sft.Name
-			oop.Prop.Parse(sft.Tag.Get("protobuf"))
-			// There will be exactly one interface field that
-			// this new value is assignable to.
-			for i := 0; i < t.NumField(); i++ {
-				f := t.Field(i)
-				if f.Type.Kind() != reflect.Interface {
-					continue
-				}
-				if !oop.Type.AssignableTo(f.Type) {
-					continue
-				}
-				oop.Field = i
-				break
-			}
-			prop.OneofTypes[oop.Prop.OrigName] = oop
-		}
-	}
-
-	// build required counts
-	// build tags
-	reqCount := 0
-	prop.decoderOrigNames = make(map[string]int)
-	for i, p := range prop.Prop {
-		if strings.HasPrefix(p.Name, "XXX_") {
-			// Internal fields should not appear in tags/origNames maps.
-			// They are handled specially when encoding and decoding.
-			continue
-		}
-		if p.Required {
-			reqCount++
-		}
-		prop.decoderTags.put(p.Tag, i)
-		prop.decoderOrigNames[p.OrigName] = i
-	}
-	prop.reqCount = reqCount
-
-	return prop
-}
-
-// A global registry of enum types.
-// The generated code will register the generated maps by calling RegisterEnum.
-
-var enumValueMaps = make(map[string]map[string]int32)
-var enumStringMaps = make(map[string]map[int32]string)
-
-// RegisterEnum is called from the generated code to install the enum descriptor
-// maps into the global table to aid parsing text format protocol buffers.
-func RegisterEnum(typeName string, unusedNameMap map[int32]string, valueMap map[string]int32) {
-	if _, ok := enumValueMaps[typeName]; ok {
-		panic("proto: duplicate enum registered: " + typeName)
-	}
-	enumValueMaps[typeName] = valueMap
-	if _, ok := enumStringMaps[typeName]; ok {
-		panic("proto: duplicate enum registered: " + typeName)
-	}
-	enumStringMaps[typeName] = unusedNameMap
-}
-
-// EnumValueMap returns the mapping from names to integers of the
-// enum type enumType, or a nil if not found.
-func EnumValueMap(enumType string) map[string]int32 {
-	return enumValueMaps[enumType]
-}
-
-// A registry of all linked message types.
-// The string is a fully-qualified proto name ("pkg.Message").
-var (
-	protoTypedNils = make(map[string]Message)      // a map from proto names to typed nil pointers
-	protoMapTypes  = make(map[string]reflect.Type) // a map from proto names to map types
-	revProtoTypes  = make(map[reflect.Type]string)
-)
-
-// RegisterType is called from generated code and maps from the fully qualified
-// proto name to the type (pointer to struct) of the protocol buffer.
-func RegisterType(x Message, name string) {
-	if _, ok := protoTypedNils[name]; ok {
-		// TODO: Some day, make this a panic.
-		log.Printf("proto: duplicate proto type registered: %s", name)
-		return
-	}
-	t := reflect.TypeOf(x)
-	if v := reflect.ValueOf(x); v.Kind() == reflect.Ptr && v.Pointer() == 0 {
-		// Generated code always calls RegisterType with nil x.
-		// This check is just for extra safety.
-		protoTypedNils[name] = x
-	} else {
-		protoTypedNils[name] = reflect.Zero(t).Interface().(Message)
-	}
-	revProtoTypes[t] = name
-}
-
-// RegisterMapType is called from generated code and maps from the fully qualified
-// proto name to the native map type of the proto map definition.
-func RegisterMapType(x interface{}, name string) {
-	if reflect.TypeOf(x).Kind() != reflect.Map {
-		panic(fmt.Sprintf("RegisterMapType(%T, %q); want map", x, name))
-	}
-	if _, ok := protoMapTypes[name]; ok {
-		log.Printf("proto: duplicate proto type registered: %s", name)
-		return
-	}
-	t := reflect.TypeOf(x)
-	protoMapTypes[name] = t
-	revProtoTypes[t] = name
-}
-
-// MessageName returns the fully-qualified proto name for the given message type.
-func MessageName(x Message) string {
-	type xname interface {
-		XXX_MessageName() string
-	}
-	if m, ok := x.(xname); ok {
-		return m.XXX_MessageName()
-	}
-	return revProtoTypes[reflect.TypeOf(x)]
-}
-
-// MessageType returns the message type (pointer to struct) for a named message.
-// The type is not guaranteed to implement proto.Message if the name refers to a
-// map entry.
-func MessageType(name string) reflect.Type {
-	if t, ok := protoTypedNils[name]; ok {
-		return reflect.TypeOf(t)
-	}
-	return protoMapTypes[name]
-}
-
-// A registry of all linked proto files.
-var (
-	protoFiles = make(map[string][]byte) // file name => fileDescriptor
-)
-
-// RegisterFile is called from generated code and maps from the
-// full file name of a .proto file to its compressed FileDescriptorProto.
-func RegisterFile(filename string, fileDescriptor []byte) {
-	protoFiles[filename] = fileDescriptor
-}
-
-// FileDescriptor returns the compressed FileDescriptorProto for a .proto file.
-func FileDescriptor(filename string) []byte { return protoFiles[filename] }
diff --git a/vendor/github.com/gogo/protobuf/proto/properties_gogo.go b/vendor/github.com/gogo/protobuf/proto/properties_gogo.go
deleted file mode 100644
index 40ea3dd..0000000
--- a/vendor/github.com/gogo/protobuf/proto/properties_gogo.go
+++ /dev/null
@@ -1,36 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2018, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"reflect"
-)
-
-var sizerType = reflect.TypeOf((*Sizer)(nil)).Elem()
-var protosizerType = reflect.TypeOf((*ProtoSizer)(nil)).Elem()
diff --git a/vendor/github.com/gogo/protobuf/proto/skip_gogo.go b/vendor/github.com/gogo/protobuf/proto/skip_gogo.go
deleted file mode 100644
index 5a5fd93..0000000
--- a/vendor/github.com/gogo/protobuf/proto/skip_gogo.go
+++ /dev/null
@@ -1,119 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2013, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"fmt"
-	"io"
-)
-
-func Skip(data []byte) (n int, err error) {
-	l := len(data)
-	index := 0
-	for index < l {
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if index >= l {
-				return 0, io.ErrUnexpectedEOF
-			}
-			b := data[index]
-			index++
-			wire |= (uint64(b) & 0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		wireType := int(wire & 0x7)
-		switch wireType {
-		case 0:
-			for {
-				if index >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				index++
-				if data[index-1] < 0x80 {
-					break
-				}
-			}
-			return index, nil
-		case 1:
-			index += 8
-			return index, nil
-		case 2:
-			var length int
-			for shift := uint(0); ; shift += 7 {
-				if index >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				b := data[index]
-				index++
-				length |= (int(b) & 0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			index += length
-			return index, nil
-		case 3:
-			for {
-				var innerWire uint64
-				var start int = index
-				for shift := uint(0); ; shift += 7 {
-					if index >= l {
-						return 0, io.ErrUnexpectedEOF
-					}
-					b := data[index]
-					index++
-					innerWire |= (uint64(b) & 0x7F) << shift
-					if b < 0x80 {
-						break
-					}
-				}
-				innerWireType := int(innerWire & 0x7)
-				if innerWireType == 4 {
-					break
-				}
-				next, err := Skip(data[start:])
-				if err != nil {
-					return 0, err
-				}
-				index = start + next
-			}
-			return index, nil
-		case 4:
-			return index, nil
-		case 5:
-			index += 4
-			return index, nil
-		default:
-			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
-		}
-	}
-	panic("unreachable")
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/table_marshal.go b/vendor/github.com/gogo/protobuf/proto/table_marshal.go
deleted file mode 100644
index b479760..0000000
--- a/vendor/github.com/gogo/protobuf/proto/table_marshal.go
+++ /dev/null
@@ -1,2803 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2016 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"errors"
-	"fmt"
-	"math"
-	"reflect"
-	"sort"
-	"strconv"
-	"strings"
-	"sync"
-	"sync/atomic"
-	"unicode/utf8"
-)
-
-// a sizer takes a pointer to a field and the size of its tag, computes the size of
-// the encoded data.
-type sizer func(pointer, int) int
-
-// a marshaler takes a byte slice, a pointer to a field, and its tag (in wire format),
-// marshals the field to the end of the slice, returns the slice and error (if any).
-type marshaler func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error)
-
-// marshalInfo is the information used for marshaling a message.
-type marshalInfo struct {
-	typ          reflect.Type
-	fields       []*marshalFieldInfo
-	unrecognized field                      // offset of XXX_unrecognized
-	extensions   field                      // offset of XXX_InternalExtensions
-	v1extensions field                      // offset of XXX_extensions
-	sizecache    field                      // offset of XXX_sizecache
-	initialized  int32                      // 0 -- only typ is set, 1 -- fully initialized
-	messageset   bool                       // uses message set wire format
-	hasmarshaler bool                       // has custom marshaler
-	sync.RWMutex                            // protect extElems map, also for initialization
-	extElems     map[int32]*marshalElemInfo // info of extension elements
-
-	hassizer      bool // has custom sizer
-	hasprotosizer bool // has custom protosizer
-
-	bytesExtensions field // offset of XXX_extensions where the field type is []byte
-}
-
-// marshalFieldInfo is the information used for marshaling a field of a message.
-type marshalFieldInfo struct {
-	field      field
-	wiretag    uint64 // tag in wire format
-	tagsize    int    // size of tag in wire format
-	sizer      sizer
-	marshaler  marshaler
-	isPointer  bool
-	required   bool                              // field is required
-	name       string                            // name of the field, for error reporting
-	oneofElems map[reflect.Type]*marshalElemInfo // info of oneof elements
-}
-
-// marshalElemInfo is the information used for marshaling an extension or oneof element.
-type marshalElemInfo struct {
-	wiretag   uint64 // tag in wire format
-	tagsize   int    // size of tag in wire format
-	sizer     sizer
-	marshaler marshaler
-	isptr     bool // elem is pointer typed, thus interface of this type is a direct interface (extension only)
-}
-
-var (
-	marshalInfoMap  = map[reflect.Type]*marshalInfo{}
-	marshalInfoLock sync.Mutex
-)
-
-// getMarshalInfo returns the information to marshal a given type of message.
-// The info it returns may not necessarily initialized.
-// t is the type of the message (NOT the pointer to it).
-func getMarshalInfo(t reflect.Type) *marshalInfo {
-	marshalInfoLock.Lock()
-	u, ok := marshalInfoMap[t]
-	if !ok {
-		u = &marshalInfo{typ: t}
-		marshalInfoMap[t] = u
-	}
-	marshalInfoLock.Unlock()
-	return u
-}
-
-// Size is the entry point from generated code,
-// and should be ONLY called by generated code.
-// It computes the size of encoded data of msg.
-// a is a pointer to a place to store cached marshal info.
-func (a *InternalMessageInfo) Size(msg Message) int {
-	u := getMessageMarshalInfo(msg, a)
-	ptr := toPointer(&msg)
-	if ptr.isNil() {
-		// We get here if msg is a typed nil ((*SomeMessage)(nil)),
-		// so it satisfies the interface, and msg == nil wouldn't
-		// catch it. We don't want crash in this case.
-		return 0
-	}
-	return u.size(ptr)
-}
-
-// Marshal is the entry point from generated code,
-// and should be ONLY called by generated code.
-// It marshals msg to the end of b.
-// a is a pointer to a place to store cached marshal info.
-func (a *InternalMessageInfo) Marshal(b []byte, msg Message, deterministic bool) ([]byte, error) {
-	u := getMessageMarshalInfo(msg, a)
-	ptr := toPointer(&msg)
-	if ptr.isNil() {
-		// We get here if msg is a typed nil ((*SomeMessage)(nil)),
-		// so it satisfies the interface, and msg == nil wouldn't
-		// catch it. We don't want crash in this case.
-		return b, ErrNil
-	}
-	return u.marshal(b, ptr, deterministic)
-}
-
-func getMessageMarshalInfo(msg interface{}, a *InternalMessageInfo) *marshalInfo {
-	// u := a.marshal, but atomically.
-	// We use an atomic here to ensure memory consistency.
-	u := atomicLoadMarshalInfo(&a.marshal)
-	if u == nil {
-		// Get marshal information from type of message.
-		t := reflect.ValueOf(msg).Type()
-		if t.Kind() != reflect.Ptr {
-			panic(fmt.Sprintf("cannot handle non-pointer message type %v", t))
-		}
-		u = getMarshalInfo(t.Elem())
-		// Store it in the cache for later users.
-		// a.marshal = u, but atomically.
-		atomicStoreMarshalInfo(&a.marshal, u)
-	}
-	return u
-}
-
-// size is the main function to compute the size of the encoded data of a message.
-// ptr is the pointer to the message.
-func (u *marshalInfo) size(ptr pointer) int {
-	if atomic.LoadInt32(&u.initialized) == 0 {
-		u.computeMarshalInfo()
-	}
-
-	// If the message can marshal itself, let it do it, for compatibility.
-	// NOTE: This is not efficient.
-	if u.hasmarshaler {
-		// Uses the message's Size method if available
-		if u.hassizer {
-			s := ptr.asPointerTo(u.typ).Interface().(Sizer)
-			return s.Size()
-		}
-		// Uses the message's ProtoSize method if available
-		if u.hasprotosizer {
-			s := ptr.asPointerTo(u.typ).Interface().(ProtoSizer)
-			return s.ProtoSize()
-		}
-
-		m := ptr.asPointerTo(u.typ).Interface().(Marshaler)
-		b, _ := m.Marshal()
-		return len(b)
-	}
-
-	n := 0
-	for _, f := range u.fields {
-		if f.isPointer && ptr.offset(f.field).getPointer().isNil() {
-			// nil pointer always marshals to nothing
-			continue
-		}
-		n += f.sizer(ptr.offset(f.field), f.tagsize)
-	}
-	if u.extensions.IsValid() {
-		e := ptr.offset(u.extensions).toExtensions()
-		if u.messageset {
-			n += u.sizeMessageSet(e)
-		} else {
-			n += u.sizeExtensions(e)
-		}
-	}
-	if u.v1extensions.IsValid() {
-		m := *ptr.offset(u.v1extensions).toOldExtensions()
-		n += u.sizeV1Extensions(m)
-	}
-	if u.bytesExtensions.IsValid() {
-		s := *ptr.offset(u.bytesExtensions).toBytes()
-		n += len(s)
-	}
-	if u.unrecognized.IsValid() {
-		s := *ptr.offset(u.unrecognized).toBytes()
-		n += len(s)
-	}
-
-	// cache the result for use in marshal
-	if u.sizecache.IsValid() {
-		atomic.StoreInt32(ptr.offset(u.sizecache).toInt32(), int32(n))
-	}
-	return n
-}
-
-// cachedsize gets the size from cache. If there is no cache (i.e. message is not generated),
-// fall back to compute the size.
-func (u *marshalInfo) cachedsize(ptr pointer) int {
-	if u.sizecache.IsValid() {
-		return int(atomic.LoadInt32(ptr.offset(u.sizecache).toInt32()))
-	}
-	return u.size(ptr)
-}
-
-// marshal is the main function to marshal a message. It takes a byte slice and appends
-// the encoded data to the end of the slice, returns the slice and error (if any).
-// ptr is the pointer to the message.
-// If deterministic is true, map is marshaled in deterministic order.
-func (u *marshalInfo) marshal(b []byte, ptr pointer, deterministic bool) ([]byte, error) {
-	if atomic.LoadInt32(&u.initialized) == 0 {
-		u.computeMarshalInfo()
-	}
-
-	// If the message can marshal itself, let it do it, for compatibility.
-	// NOTE: This is not efficient.
-	if u.hasmarshaler {
-		if deterministic {
-			return nil, errors.New("proto: deterministic not supported by the Marshal method of " + u.typ.String())
-		}
-		m := ptr.asPointerTo(u.typ).Interface().(Marshaler)
-		b1, err := m.Marshal()
-		b = append(b, b1...)
-		return b, err
-	}
-
-	var err, errreq error
-	// The old marshaler encodes extensions at beginning.
-	if u.extensions.IsValid() {
-		e := ptr.offset(u.extensions).toExtensions()
-		if u.messageset {
-			b, err = u.appendMessageSet(b, e, deterministic)
-		} else {
-			b, err = u.appendExtensions(b, e, deterministic)
-		}
-		if err != nil {
-			return b, err
-		}
-	}
-	if u.v1extensions.IsValid() {
-		m := *ptr.offset(u.v1extensions).toOldExtensions()
-		b, err = u.appendV1Extensions(b, m, deterministic)
-		if err != nil {
-			return b, err
-		}
-	}
-	if u.bytesExtensions.IsValid() {
-		s := *ptr.offset(u.bytesExtensions).toBytes()
-		b = append(b, s...)
-	}
-	for _, f := range u.fields {
-		if f.required && errreq == nil {
-			if f.isPointer && ptr.offset(f.field).getPointer().isNil() {
-				// Required field is not set.
-				// We record the error but keep going, to give a complete marshaling.
-				errreq = &RequiredNotSetError{f.name}
-				continue
-			}
-		}
-		if f.isPointer && ptr.offset(f.field).getPointer().isNil() {
-			// nil pointer always marshals to nothing
-			continue
-		}
-		b, err = f.marshaler(b, ptr.offset(f.field), f.wiretag, deterministic)
-		if err != nil {
-			if err1, ok := err.(*RequiredNotSetError); ok {
-				// Required field in submessage is not set.
-				// We record the error but keep going, to give a complete marshaling.
-				if errreq == nil {
-					errreq = &RequiredNotSetError{f.name + "." + err1.field}
-				}
-				continue
-			}
-			if err == errRepeatedHasNil {
-				err = errors.New("proto: repeated field " + f.name + " has nil element")
-			}
-			if err == errInvalidUTF8 {
-				fullName := revProtoTypes[reflect.PtrTo(u.typ)] + "." + f.name
-				err = fmt.Errorf("proto: string field %q contains invalid UTF-8", fullName)
-			}
-			return b, err
-		}
-	}
-	if u.unrecognized.IsValid() {
-		s := *ptr.offset(u.unrecognized).toBytes()
-		b = append(b, s...)
-	}
-	return b, errreq
-}
-
-// computeMarshalInfo initializes the marshal info.
-func (u *marshalInfo) computeMarshalInfo() {
-	u.Lock()
-	defer u.Unlock()
-	if u.initialized != 0 { // non-atomic read is ok as it is protected by the lock
-		return
-	}
-
-	t := u.typ
-	u.unrecognized = invalidField
-	u.extensions = invalidField
-	u.v1extensions = invalidField
-	u.bytesExtensions = invalidField
-	u.sizecache = invalidField
-	isOneofMessage := false
-
-	if reflect.PtrTo(t).Implements(sizerType) {
-		u.hassizer = true
-	}
-	if reflect.PtrTo(t).Implements(protosizerType) {
-		u.hasprotosizer = true
-	}
-	// If the message can marshal itself, let it do it, for compatibility.
-	// NOTE: This is not efficient.
-	if reflect.PtrTo(t).Implements(marshalerType) {
-		u.hasmarshaler = true
-		atomic.StoreInt32(&u.initialized, 1)
-		return
-	}
-
-	n := t.NumField()
-
-	// deal with XXX fields first
-	for i := 0; i < t.NumField(); i++ {
-		f := t.Field(i)
-		if f.Tag.Get("protobuf_oneof") != "" {
-			isOneofMessage = true
-		}
-		if !strings.HasPrefix(f.Name, "XXX_") {
-			continue
-		}
-		switch f.Name {
-		case "XXX_sizecache":
-			u.sizecache = toField(&f)
-		case "XXX_unrecognized":
-			u.unrecognized = toField(&f)
-		case "XXX_InternalExtensions":
-			u.extensions = toField(&f)
-			u.messageset = f.Tag.Get("protobuf_messageset") == "1"
-		case "XXX_extensions":
-			if f.Type.Kind() == reflect.Map {
-				u.v1extensions = toField(&f)
-			} else {
-				u.bytesExtensions = toField(&f)
-			}
-		case "XXX_NoUnkeyedLiteral":
-			// nothing to do
-		default:
-			panic("unknown XXX field: " + f.Name)
-		}
-		n--
-	}
-
-	// get oneof implementers
-	var oneofImplementers []interface{}
-	// gogo: isOneofMessage is needed for embedded oneof messages, without a marshaler and unmarshaler
-	if m, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); ok && isOneofMessage {
-		_, _, _, oneofImplementers = m.XXX_OneofFuncs()
-	}
-
-	// normal fields
-	fields := make([]marshalFieldInfo, n) // batch allocation
-	u.fields = make([]*marshalFieldInfo, 0, n)
-	for i, j := 0, 0; i < t.NumField(); i++ {
-		f := t.Field(i)
-
-		if strings.HasPrefix(f.Name, "XXX_") {
-			continue
-		}
-		field := &fields[j]
-		j++
-		field.name = f.Name
-		u.fields = append(u.fields, field)
-		if f.Tag.Get("protobuf_oneof") != "" {
-			field.computeOneofFieldInfo(&f, oneofImplementers)
-			continue
-		}
-		if f.Tag.Get("protobuf") == "" {
-			// field has no tag (not in generated message), ignore it
-			u.fields = u.fields[:len(u.fields)-1]
-			j--
-			continue
-		}
-		field.computeMarshalFieldInfo(&f)
-	}
-
-	// fields are marshaled in tag order on the wire.
-	sort.Sort(byTag(u.fields))
-
-	atomic.StoreInt32(&u.initialized, 1)
-}
-
-// helper for sorting fields by tag
-type byTag []*marshalFieldInfo
-
-func (a byTag) Len() int           { return len(a) }
-func (a byTag) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
-func (a byTag) Less(i, j int) bool { return a[i].wiretag < a[j].wiretag }
-
-// getExtElemInfo returns the information to marshal an extension element.
-// The info it returns is initialized.
-func (u *marshalInfo) getExtElemInfo(desc *ExtensionDesc) *marshalElemInfo {
-	// get from cache first
-	u.RLock()
-	e, ok := u.extElems[desc.Field]
-	u.RUnlock()
-	if ok {
-		return e
-	}
-
-	t := reflect.TypeOf(desc.ExtensionType) // pointer or slice to basic type or struct
-	tags := strings.Split(desc.Tag, ",")
-	tag, err := strconv.Atoi(tags[1])
-	if err != nil {
-		panic("tag is not an integer")
-	}
-	wt := wiretype(tags[0])
-	sizr, marshalr := typeMarshaler(t, tags, false, false)
-	e = &marshalElemInfo{
-		wiretag:   uint64(tag)<<3 | wt,
-		tagsize:   SizeVarint(uint64(tag) << 3),
-		sizer:     sizr,
-		marshaler: marshalr,
-		isptr:     t.Kind() == reflect.Ptr,
-	}
-
-	// update cache
-	u.Lock()
-	if u.extElems == nil {
-		u.extElems = make(map[int32]*marshalElemInfo)
-	}
-	u.extElems[desc.Field] = e
-	u.Unlock()
-	return e
-}
-
-// computeMarshalFieldInfo fills up the information to marshal a field.
-func (fi *marshalFieldInfo) computeMarshalFieldInfo(f *reflect.StructField) {
-	// parse protobuf tag of the field.
-	// tag has format of "bytes,49,opt,name=foo,def=hello!"
-	tags := strings.Split(f.Tag.Get("protobuf"), ",")
-	if tags[0] == "" {
-		return
-	}
-	tag, err := strconv.Atoi(tags[1])
-	if err != nil {
-		panic("tag is not an integer")
-	}
-	wt := wiretype(tags[0])
-	if tags[2] == "req" {
-		fi.required = true
-	}
-	fi.setTag(f, tag, wt)
-	fi.setMarshaler(f, tags)
-}
-
-func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofImplementers []interface{}) {
-	fi.field = toField(f)
-	fi.wiretag = 1<<31 - 1 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire.
-	fi.isPointer = true
-	fi.sizer, fi.marshaler = makeOneOfMarshaler(fi, f)
-	fi.oneofElems = make(map[reflect.Type]*marshalElemInfo)
-
-	ityp := f.Type // interface type
-	for _, o := range oneofImplementers {
-		t := reflect.TypeOf(o)
-		if !t.Implements(ityp) {
-			continue
-		}
-		sf := t.Elem().Field(0) // oneof implementer is a struct with a single field
-		tags := strings.Split(sf.Tag.Get("protobuf"), ",")
-		tag, err := strconv.Atoi(tags[1])
-		if err != nil {
-			panic("tag is not an integer")
-		}
-		wt := wiretype(tags[0])
-		sizr, marshalr := typeMarshaler(sf.Type, tags, false, true) // oneof should not omit any zero value
-		fi.oneofElems[t.Elem()] = &marshalElemInfo{
-			wiretag:   uint64(tag)<<3 | wt,
-			tagsize:   SizeVarint(uint64(tag) << 3),
-			sizer:     sizr,
-			marshaler: marshalr,
-		}
-	}
-}
-
-type oneofMessage interface {
-	XXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{})
-}
-
-// wiretype returns the wire encoding of the type.
-func wiretype(encoding string) uint64 {
-	switch encoding {
-	case "fixed32":
-		return WireFixed32
-	case "fixed64":
-		return WireFixed64
-	case "varint", "zigzag32", "zigzag64":
-		return WireVarint
-	case "bytes":
-		return WireBytes
-	case "group":
-		return WireStartGroup
-	}
-	panic("unknown wire type " + encoding)
-}
-
-// setTag fills up the tag (in wire format) and its size in the info of a field.
-func (fi *marshalFieldInfo) setTag(f *reflect.StructField, tag int, wt uint64) {
-	fi.field = toField(f)
-	fi.wiretag = uint64(tag)<<3 | wt
-	fi.tagsize = SizeVarint(uint64(tag) << 3)
-}
-
-// setMarshaler fills up the sizer and marshaler in the info of a field.
-func (fi *marshalFieldInfo) setMarshaler(f *reflect.StructField, tags []string) {
-	switch f.Type.Kind() {
-	case reflect.Map:
-		// map field
-		fi.isPointer = true
-		fi.sizer, fi.marshaler = makeMapMarshaler(f)
-		return
-	case reflect.Ptr, reflect.Slice:
-		fi.isPointer = true
-	}
-	fi.sizer, fi.marshaler = typeMarshaler(f.Type, tags, true, false)
-}
-
-// typeMarshaler returns the sizer and marshaler of a given field.
-// t is the type of the field.
-// tags is the generated "protobuf" tag of the field.
-// If nozero is true, zero value is not marshaled to the wire.
-// If oneof is true, it is a oneof field.
-func typeMarshaler(t reflect.Type, tags []string, nozero, oneof bool) (sizer, marshaler) {
-	encoding := tags[0]
-
-	pointer := false
-	slice := false
-	if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 {
-		slice = true
-		t = t.Elem()
-	}
-	if t.Kind() == reflect.Ptr {
-		pointer = true
-		t = t.Elem()
-	}
-
-	packed := false
-	proto3 := false
-	ctype := false
-	isTime := false
-	isDuration := false
-	for i := 2; i < len(tags); i++ {
-		if tags[i] == "packed" {
-			packed = true
-		}
-		if tags[i] == "proto3" {
-			proto3 = true
-		}
-		if strings.HasPrefix(tags[i], "customtype=") {
-			ctype = true
-		}
-		if tags[i] == "stdtime" {
-			isTime = true
-		}
-		if tags[i] == "stdduration" {
-			isDuration = true
-		}
-	}
-	if !proto3 && !pointer && !slice {
-		nozero = false
-	}
-
-	if ctype {
-		if reflect.PtrTo(t).Implements(customType) {
-			if slice {
-				return makeMessageRefSliceMarshaler(getMarshalInfo(t))
-			}
-			if pointer {
-				return makeCustomPtrMarshaler(getMarshalInfo(t))
-			}
-			return makeCustomMarshaler(getMarshalInfo(t))
-		} else {
-			panic(fmt.Sprintf("custom type: type: %v, does not implement the proto.custom interface", t))
-		}
-	}
-
-	if isTime {
-		if pointer {
-			if slice {
-				return makeTimePtrSliceMarshaler(getMarshalInfo(t))
-			}
-			return makeTimePtrMarshaler(getMarshalInfo(t))
-		}
-		if slice {
-			return makeTimeSliceMarshaler(getMarshalInfo(t))
-		}
-		return makeTimeMarshaler(getMarshalInfo(t))
-	}
-
-	if isDuration {
-		if pointer {
-			if slice {
-				return makeDurationPtrSliceMarshaler(getMarshalInfo(t))
-			}
-			return makeDurationPtrMarshaler(getMarshalInfo(t))
-		}
-		if slice {
-			return makeDurationSliceMarshaler(getMarshalInfo(t))
-		}
-		return makeDurationMarshaler(getMarshalInfo(t))
-	}
-
-	switch t.Kind() {
-	case reflect.Bool:
-		if pointer {
-			return sizeBoolPtr, appendBoolPtr
-		}
-		if slice {
-			if packed {
-				return sizeBoolPackedSlice, appendBoolPackedSlice
-			}
-			return sizeBoolSlice, appendBoolSlice
-		}
-		if nozero {
-			return sizeBoolValueNoZero, appendBoolValueNoZero
-		}
-		return sizeBoolValue, appendBoolValue
-	case reflect.Uint32:
-		switch encoding {
-		case "fixed32":
-			if pointer {
-				return sizeFixed32Ptr, appendFixed32Ptr
-			}
-			if slice {
-				if packed {
-					return sizeFixed32PackedSlice, appendFixed32PackedSlice
-				}
-				return sizeFixed32Slice, appendFixed32Slice
-			}
-			if nozero {
-				return sizeFixed32ValueNoZero, appendFixed32ValueNoZero
-			}
-			return sizeFixed32Value, appendFixed32Value
-		case "varint":
-			if pointer {
-				return sizeVarint32Ptr, appendVarint32Ptr
-			}
-			if slice {
-				if packed {
-					return sizeVarint32PackedSlice, appendVarint32PackedSlice
-				}
-				return sizeVarint32Slice, appendVarint32Slice
-			}
-			if nozero {
-				return sizeVarint32ValueNoZero, appendVarint32ValueNoZero
-			}
-			return sizeVarint32Value, appendVarint32Value
-		}
-	case reflect.Int32:
-		switch encoding {
-		case "fixed32":
-			if pointer {
-				return sizeFixedS32Ptr, appendFixedS32Ptr
-			}
-			if slice {
-				if packed {
-					return sizeFixedS32PackedSlice, appendFixedS32PackedSlice
-				}
-				return sizeFixedS32Slice, appendFixedS32Slice
-			}
-			if nozero {
-				return sizeFixedS32ValueNoZero, appendFixedS32ValueNoZero
-			}
-			return sizeFixedS32Value, appendFixedS32Value
-		case "varint":
-			if pointer {
-				return sizeVarintS32Ptr, appendVarintS32Ptr
-			}
-			if slice {
-				if packed {
-					return sizeVarintS32PackedSlice, appendVarintS32PackedSlice
-				}
-				return sizeVarintS32Slice, appendVarintS32Slice
-			}
-			if nozero {
-				return sizeVarintS32ValueNoZero, appendVarintS32ValueNoZero
-			}
-			return sizeVarintS32Value, appendVarintS32Value
-		case "zigzag32":
-			if pointer {
-				return sizeZigzag32Ptr, appendZigzag32Ptr
-			}
-			if slice {
-				if packed {
-					return sizeZigzag32PackedSlice, appendZigzag32PackedSlice
-				}
-				return sizeZigzag32Slice, appendZigzag32Slice
-			}
-			if nozero {
-				return sizeZigzag32ValueNoZero, appendZigzag32ValueNoZero
-			}
-			return sizeZigzag32Value, appendZigzag32Value
-		}
-	case reflect.Uint64:
-		switch encoding {
-		case "fixed64":
-			if pointer {
-				return sizeFixed64Ptr, appendFixed64Ptr
-			}
-			if slice {
-				if packed {
-					return sizeFixed64PackedSlice, appendFixed64PackedSlice
-				}
-				return sizeFixed64Slice, appendFixed64Slice
-			}
-			if nozero {
-				return sizeFixed64ValueNoZero, appendFixed64ValueNoZero
-			}
-			return sizeFixed64Value, appendFixed64Value
-		case "varint":
-			if pointer {
-				return sizeVarint64Ptr, appendVarint64Ptr
-			}
-			if slice {
-				if packed {
-					return sizeVarint64PackedSlice, appendVarint64PackedSlice
-				}
-				return sizeVarint64Slice, appendVarint64Slice
-			}
-			if nozero {
-				return sizeVarint64ValueNoZero, appendVarint64ValueNoZero
-			}
-			return sizeVarint64Value, appendVarint64Value
-		}
-	case reflect.Int64:
-		switch encoding {
-		case "fixed64":
-			if pointer {
-				return sizeFixedS64Ptr, appendFixedS64Ptr
-			}
-			if slice {
-				if packed {
-					return sizeFixedS64PackedSlice, appendFixedS64PackedSlice
-				}
-				return sizeFixedS64Slice, appendFixedS64Slice
-			}
-			if nozero {
-				return sizeFixedS64ValueNoZero, appendFixedS64ValueNoZero
-			}
-			return sizeFixedS64Value, appendFixedS64Value
-		case "varint":
-			if pointer {
-				return sizeVarintS64Ptr, appendVarintS64Ptr
-			}
-			if slice {
-				if packed {
-					return sizeVarintS64PackedSlice, appendVarintS64PackedSlice
-				}
-				return sizeVarintS64Slice, appendVarintS64Slice
-			}
-			if nozero {
-				return sizeVarintS64ValueNoZero, appendVarintS64ValueNoZero
-			}
-			return sizeVarintS64Value, appendVarintS64Value
-		case "zigzag64":
-			if pointer {
-				return sizeZigzag64Ptr, appendZigzag64Ptr
-			}
-			if slice {
-				if packed {
-					return sizeZigzag64PackedSlice, appendZigzag64PackedSlice
-				}
-				return sizeZigzag64Slice, appendZigzag64Slice
-			}
-			if nozero {
-				return sizeZigzag64ValueNoZero, appendZigzag64ValueNoZero
-			}
-			return sizeZigzag64Value, appendZigzag64Value
-		}
-	case reflect.Float32:
-		if pointer {
-			return sizeFloat32Ptr, appendFloat32Ptr
-		}
-		if slice {
-			if packed {
-				return sizeFloat32PackedSlice, appendFloat32PackedSlice
-			}
-			return sizeFloat32Slice, appendFloat32Slice
-		}
-		if nozero {
-			return sizeFloat32ValueNoZero, appendFloat32ValueNoZero
-		}
-		return sizeFloat32Value, appendFloat32Value
-	case reflect.Float64:
-		if pointer {
-			return sizeFloat64Ptr, appendFloat64Ptr
-		}
-		if slice {
-			if packed {
-				return sizeFloat64PackedSlice, appendFloat64PackedSlice
-			}
-			return sizeFloat64Slice, appendFloat64Slice
-		}
-		if nozero {
-			return sizeFloat64ValueNoZero, appendFloat64ValueNoZero
-		}
-		return sizeFloat64Value, appendFloat64Value
-	case reflect.String:
-		if pointer {
-			return sizeStringPtr, appendStringPtr
-		}
-		if slice {
-			return sizeStringSlice, appendStringSlice
-		}
-		if nozero {
-			return sizeStringValueNoZero, appendStringValueNoZero
-		}
-		return sizeStringValue, appendStringValue
-	case reflect.Slice:
-		if slice {
-			return sizeBytesSlice, appendBytesSlice
-		}
-		if oneof {
-			// Oneof bytes field may also have "proto3" tag.
-			// We want to marshal it as a oneof field. Do this
-			// check before the proto3 check.
-			return sizeBytesOneof, appendBytesOneof
-		}
-		if proto3 {
-			return sizeBytes3, appendBytes3
-		}
-		return sizeBytes, appendBytes
-	case reflect.Struct:
-		switch encoding {
-		case "group":
-			if slice {
-				return makeGroupSliceMarshaler(getMarshalInfo(t))
-			}
-			return makeGroupMarshaler(getMarshalInfo(t))
-		case "bytes":
-			if pointer {
-				if slice {
-					return makeMessageSliceMarshaler(getMarshalInfo(t))
-				}
-				return makeMessageMarshaler(getMarshalInfo(t))
-			} else {
-				if slice {
-					return makeMessageRefSliceMarshaler(getMarshalInfo(t))
-				}
-				return makeMessageRefMarshaler(getMarshalInfo(t))
-			}
-		}
-	}
-	panic(fmt.Sprintf("unknown or mismatched type: type: %v, wire type: %v", t, encoding))
-}
-
-// Below are functions to size/marshal a specific type of a field.
-// They are stored in the field's info, and called by function pointers.
-// They have type sizer or marshaler.
-
-func sizeFixed32Value(_ pointer, tagsize int) int {
-	return 4 + tagsize
-}
-func sizeFixed32ValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toUint32()
-	if v == 0 {
-		return 0
-	}
-	return 4 + tagsize
-}
-func sizeFixed32Ptr(ptr pointer, tagsize int) int {
-	p := *ptr.toUint32Ptr()
-	if p == nil {
-		return 0
-	}
-	return 4 + tagsize
-}
-func sizeFixed32Slice(ptr pointer, tagsize int) int {
-	s := *ptr.toUint32Slice()
-	return (4 + tagsize) * len(s)
-}
-func sizeFixed32PackedSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toUint32Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize
-}
-func sizeFixedS32Value(_ pointer, tagsize int) int {
-	return 4 + tagsize
-}
-func sizeFixedS32ValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toInt32()
-	if v == 0 {
-		return 0
-	}
-	return 4 + tagsize
-}
-func sizeFixedS32Ptr(ptr pointer, tagsize int) int {
-	p := ptr.getInt32Ptr()
-	if p == nil {
-		return 0
-	}
-	return 4 + tagsize
-}
-func sizeFixedS32Slice(ptr pointer, tagsize int) int {
-	s := ptr.getInt32Slice()
-	return (4 + tagsize) * len(s)
-}
-func sizeFixedS32PackedSlice(ptr pointer, tagsize int) int {
-	s := ptr.getInt32Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize
-}
-func sizeFloat32Value(_ pointer, tagsize int) int {
-	return 4 + tagsize
-}
-func sizeFloat32ValueNoZero(ptr pointer, tagsize int) int {
-	v := math.Float32bits(*ptr.toFloat32())
-	if v == 0 {
-		return 0
-	}
-	return 4 + tagsize
-}
-func sizeFloat32Ptr(ptr pointer, tagsize int) int {
-	p := *ptr.toFloat32Ptr()
-	if p == nil {
-		return 0
-	}
-	return 4 + tagsize
-}
-func sizeFloat32Slice(ptr pointer, tagsize int) int {
-	s := *ptr.toFloat32Slice()
-	return (4 + tagsize) * len(s)
-}
-func sizeFloat32PackedSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toFloat32Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize
-}
-func sizeFixed64Value(_ pointer, tagsize int) int {
-	return 8 + tagsize
-}
-func sizeFixed64ValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toUint64()
-	if v == 0 {
-		return 0
-	}
-	return 8 + tagsize
-}
-func sizeFixed64Ptr(ptr pointer, tagsize int) int {
-	p := *ptr.toUint64Ptr()
-	if p == nil {
-		return 0
-	}
-	return 8 + tagsize
-}
-func sizeFixed64Slice(ptr pointer, tagsize int) int {
-	s := *ptr.toUint64Slice()
-	return (8 + tagsize) * len(s)
-}
-func sizeFixed64PackedSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toUint64Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize
-}
-func sizeFixedS64Value(_ pointer, tagsize int) int {
-	return 8 + tagsize
-}
-func sizeFixedS64ValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toInt64()
-	if v == 0 {
-		return 0
-	}
-	return 8 + tagsize
-}
-func sizeFixedS64Ptr(ptr pointer, tagsize int) int {
-	p := *ptr.toInt64Ptr()
-	if p == nil {
-		return 0
-	}
-	return 8 + tagsize
-}
-func sizeFixedS64Slice(ptr pointer, tagsize int) int {
-	s := *ptr.toInt64Slice()
-	return (8 + tagsize) * len(s)
-}
-func sizeFixedS64PackedSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toInt64Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize
-}
-func sizeFloat64Value(_ pointer, tagsize int) int {
-	return 8 + tagsize
-}
-func sizeFloat64ValueNoZero(ptr pointer, tagsize int) int {
-	v := math.Float64bits(*ptr.toFloat64())
-	if v == 0 {
-		return 0
-	}
-	return 8 + tagsize
-}
-func sizeFloat64Ptr(ptr pointer, tagsize int) int {
-	p := *ptr.toFloat64Ptr()
-	if p == nil {
-		return 0
-	}
-	return 8 + tagsize
-}
-func sizeFloat64Slice(ptr pointer, tagsize int) int {
-	s := *ptr.toFloat64Slice()
-	return (8 + tagsize) * len(s)
-}
-func sizeFloat64PackedSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toFloat64Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize
-}
-func sizeVarint32Value(ptr pointer, tagsize int) int {
-	v := *ptr.toUint32()
-	return SizeVarint(uint64(v)) + tagsize
-}
-func sizeVarint32ValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toUint32()
-	if v == 0 {
-		return 0
-	}
-	return SizeVarint(uint64(v)) + tagsize
-}
-func sizeVarint32Ptr(ptr pointer, tagsize int) int {
-	p := *ptr.toUint32Ptr()
-	if p == nil {
-		return 0
-	}
-	return SizeVarint(uint64(*p)) + tagsize
-}
-func sizeVarint32Slice(ptr pointer, tagsize int) int {
-	s := *ptr.toUint32Slice()
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v)) + tagsize
-	}
-	return n
-}
-func sizeVarint32PackedSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toUint32Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v))
-	}
-	return n + SizeVarint(uint64(n)) + tagsize
-}
-func sizeVarintS32Value(ptr pointer, tagsize int) int {
-	v := *ptr.toInt32()
-	return SizeVarint(uint64(v)) + tagsize
-}
-func sizeVarintS32ValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toInt32()
-	if v == 0 {
-		return 0
-	}
-	return SizeVarint(uint64(v)) + tagsize
-}
-func sizeVarintS32Ptr(ptr pointer, tagsize int) int {
-	p := ptr.getInt32Ptr()
-	if p == nil {
-		return 0
-	}
-	return SizeVarint(uint64(*p)) + tagsize
-}
-func sizeVarintS32Slice(ptr pointer, tagsize int) int {
-	s := ptr.getInt32Slice()
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v)) + tagsize
-	}
-	return n
-}
-func sizeVarintS32PackedSlice(ptr pointer, tagsize int) int {
-	s := ptr.getInt32Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v))
-	}
-	return n + SizeVarint(uint64(n)) + tagsize
-}
-func sizeVarint64Value(ptr pointer, tagsize int) int {
-	v := *ptr.toUint64()
-	return SizeVarint(v) + tagsize
-}
-func sizeVarint64ValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toUint64()
-	if v == 0 {
-		return 0
-	}
-	return SizeVarint(v) + tagsize
-}
-func sizeVarint64Ptr(ptr pointer, tagsize int) int {
-	p := *ptr.toUint64Ptr()
-	if p == nil {
-		return 0
-	}
-	return SizeVarint(*p) + tagsize
-}
-func sizeVarint64Slice(ptr pointer, tagsize int) int {
-	s := *ptr.toUint64Slice()
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(v) + tagsize
-	}
-	return n
-}
-func sizeVarint64PackedSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toUint64Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(v)
-	}
-	return n + SizeVarint(uint64(n)) + tagsize
-}
-func sizeVarintS64Value(ptr pointer, tagsize int) int {
-	v := *ptr.toInt64()
-	return SizeVarint(uint64(v)) + tagsize
-}
-func sizeVarintS64ValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toInt64()
-	if v == 0 {
-		return 0
-	}
-	return SizeVarint(uint64(v)) + tagsize
-}
-func sizeVarintS64Ptr(ptr pointer, tagsize int) int {
-	p := *ptr.toInt64Ptr()
-	if p == nil {
-		return 0
-	}
-	return SizeVarint(uint64(*p)) + tagsize
-}
-func sizeVarintS64Slice(ptr pointer, tagsize int) int {
-	s := *ptr.toInt64Slice()
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v)) + tagsize
-	}
-	return n
-}
-func sizeVarintS64PackedSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toInt64Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v))
-	}
-	return n + SizeVarint(uint64(n)) + tagsize
-}
-func sizeZigzag32Value(ptr pointer, tagsize int) int {
-	v := *ptr.toInt32()
-	return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize
-}
-func sizeZigzag32ValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toInt32()
-	if v == 0 {
-		return 0
-	}
-	return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize
-}
-func sizeZigzag32Ptr(ptr pointer, tagsize int) int {
-	p := ptr.getInt32Ptr()
-	if p == nil {
-		return 0
-	}
-	v := *p
-	return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize
-}
-func sizeZigzag32Slice(ptr pointer, tagsize int) int {
-	s := ptr.getInt32Slice()
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize
-	}
-	return n
-}
-func sizeZigzag32PackedSlice(ptr pointer, tagsize int) int {
-	s := ptr.getInt32Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31))))
-	}
-	return n + SizeVarint(uint64(n)) + tagsize
-}
-func sizeZigzag64Value(ptr pointer, tagsize int) int {
-	v := *ptr.toInt64()
-	return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize
-}
-func sizeZigzag64ValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toInt64()
-	if v == 0 {
-		return 0
-	}
-	return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize
-}
-func sizeZigzag64Ptr(ptr pointer, tagsize int) int {
-	p := *ptr.toInt64Ptr()
-	if p == nil {
-		return 0
-	}
-	v := *p
-	return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize
-}
-func sizeZigzag64Slice(ptr pointer, tagsize int) int {
-	s := *ptr.toInt64Slice()
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize
-	}
-	return n
-}
-func sizeZigzag64PackedSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toInt64Slice()
-	if len(s) == 0 {
-		return 0
-	}
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63)))
-	}
-	return n + SizeVarint(uint64(n)) + tagsize
-}
-func sizeBoolValue(_ pointer, tagsize int) int {
-	return 1 + tagsize
-}
-func sizeBoolValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toBool()
-	if !v {
-		return 0
-	}
-	return 1 + tagsize
-}
-func sizeBoolPtr(ptr pointer, tagsize int) int {
-	p := *ptr.toBoolPtr()
-	if p == nil {
-		return 0
-	}
-	return 1 + tagsize
-}
-func sizeBoolSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toBoolSlice()
-	return (1 + tagsize) * len(s)
-}
-func sizeBoolPackedSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toBoolSlice()
-	if len(s) == 0 {
-		return 0
-	}
-	return len(s) + SizeVarint(uint64(len(s))) + tagsize
-}
-func sizeStringValue(ptr pointer, tagsize int) int {
-	v := *ptr.toString()
-	return len(v) + SizeVarint(uint64(len(v))) + tagsize
-}
-func sizeStringValueNoZero(ptr pointer, tagsize int) int {
-	v := *ptr.toString()
-	if v == "" {
-		return 0
-	}
-	return len(v) + SizeVarint(uint64(len(v))) + tagsize
-}
-func sizeStringPtr(ptr pointer, tagsize int) int {
-	p := *ptr.toStringPtr()
-	if p == nil {
-		return 0
-	}
-	v := *p
-	return len(v) + SizeVarint(uint64(len(v))) + tagsize
-}
-func sizeStringSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toStringSlice()
-	n := 0
-	for _, v := range s {
-		n += len(v) + SizeVarint(uint64(len(v))) + tagsize
-	}
-	return n
-}
-func sizeBytes(ptr pointer, tagsize int) int {
-	v := *ptr.toBytes()
-	if v == nil {
-		return 0
-	}
-	return len(v) + SizeVarint(uint64(len(v))) + tagsize
-}
-func sizeBytes3(ptr pointer, tagsize int) int {
-	v := *ptr.toBytes()
-	if len(v) == 0 {
-		return 0
-	}
-	return len(v) + SizeVarint(uint64(len(v))) + tagsize
-}
-func sizeBytesOneof(ptr pointer, tagsize int) int {
-	v := *ptr.toBytes()
-	return len(v) + SizeVarint(uint64(len(v))) + tagsize
-}
-func sizeBytesSlice(ptr pointer, tagsize int) int {
-	s := *ptr.toBytesSlice()
-	n := 0
-	for _, v := range s {
-		n += len(v) + SizeVarint(uint64(len(v))) + tagsize
-	}
-	return n
-}
-
-// appendFixed32 appends an encoded fixed32 to b.
-func appendFixed32(b []byte, v uint32) []byte {
-	b = append(b,
-		byte(v),
-		byte(v>>8),
-		byte(v>>16),
-		byte(v>>24))
-	return b
-}
-
-// appendFixed64 appends an encoded fixed64 to b.
-func appendFixed64(b []byte, v uint64) []byte {
-	b = append(b,
-		byte(v),
-		byte(v>>8),
-		byte(v>>16),
-		byte(v>>24),
-		byte(v>>32),
-		byte(v>>40),
-		byte(v>>48),
-		byte(v>>56))
-	return b
-}
-
-// appendVarint appends an encoded varint to b.
-func appendVarint(b []byte, v uint64) []byte {
-	// TODO: make 1-byte (maybe 2-byte) case inline-able, once we
-	// have non-leaf inliner.
-	switch {
-	case v < 1<<7:
-		b = append(b, byte(v))
-	case v < 1<<14:
-		b = append(b,
-			byte(v&0x7f|0x80),
-			byte(v>>7))
-	case v < 1<<21:
-		b = append(b,
-			byte(v&0x7f|0x80),
-			byte((v>>7)&0x7f|0x80),
-			byte(v>>14))
-	case v < 1<<28:
-		b = append(b,
-			byte(v&0x7f|0x80),
-			byte((v>>7)&0x7f|0x80),
-			byte((v>>14)&0x7f|0x80),
-			byte(v>>21))
-	case v < 1<<35:
-		b = append(b,
-			byte(v&0x7f|0x80),
-			byte((v>>7)&0x7f|0x80),
-			byte((v>>14)&0x7f|0x80),
-			byte((v>>21)&0x7f|0x80),
-			byte(v>>28))
-	case v < 1<<42:
-		b = append(b,
-			byte(v&0x7f|0x80),
-			byte((v>>7)&0x7f|0x80),
-			byte((v>>14)&0x7f|0x80),
-			byte((v>>21)&0x7f|0x80),
-			byte((v>>28)&0x7f|0x80),
-			byte(v>>35))
-	case v < 1<<49:
-		b = append(b,
-			byte(v&0x7f|0x80),
-			byte((v>>7)&0x7f|0x80),
-			byte((v>>14)&0x7f|0x80),
-			byte((v>>21)&0x7f|0x80),
-			byte((v>>28)&0x7f|0x80),
-			byte((v>>35)&0x7f|0x80),
-			byte(v>>42))
-	case v < 1<<56:
-		b = append(b,
-			byte(v&0x7f|0x80),
-			byte((v>>7)&0x7f|0x80),
-			byte((v>>14)&0x7f|0x80),
-			byte((v>>21)&0x7f|0x80),
-			byte((v>>28)&0x7f|0x80),
-			byte((v>>35)&0x7f|0x80),
-			byte((v>>42)&0x7f|0x80),
-			byte(v>>49))
-	case v < 1<<63:
-		b = append(b,
-			byte(v&0x7f|0x80),
-			byte((v>>7)&0x7f|0x80),
-			byte((v>>14)&0x7f|0x80),
-			byte((v>>21)&0x7f|0x80),
-			byte((v>>28)&0x7f|0x80),
-			byte((v>>35)&0x7f|0x80),
-			byte((v>>42)&0x7f|0x80),
-			byte((v>>49)&0x7f|0x80),
-			byte(v>>56))
-	default:
-		b = append(b,
-			byte(v&0x7f|0x80),
-			byte((v>>7)&0x7f|0x80),
-			byte((v>>14)&0x7f|0x80),
-			byte((v>>21)&0x7f|0x80),
-			byte((v>>28)&0x7f|0x80),
-			byte((v>>35)&0x7f|0x80),
-			byte((v>>42)&0x7f|0x80),
-			byte((v>>49)&0x7f|0x80),
-			byte((v>>56)&0x7f|0x80),
-			1)
-	}
-	return b
-}
-
-func appendFixed32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toUint32()
-	b = appendVarint(b, wiretag)
-	b = appendFixed32(b, v)
-	return b, nil
-}
-func appendFixed32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toUint32()
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed32(b, v)
-	return b, nil
-}
-func appendFixed32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toUint32Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed32(b, *p)
-	return b, nil
-}
-func appendFixed32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toUint32Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendFixed32(b, v)
-	}
-	return b, nil
-}
-func appendFixed32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toUint32Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	b = appendVarint(b, uint64(4*len(s)))
-	for _, v := range s {
-		b = appendFixed32(b, v)
-	}
-	return b, nil
-}
-func appendFixedS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt32()
-	b = appendVarint(b, wiretag)
-	b = appendFixed32(b, uint32(v))
-	return b, nil
-}
-func appendFixedS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt32()
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed32(b, uint32(v))
-	return b, nil
-}
-func appendFixedS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := ptr.getInt32Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed32(b, uint32(*p))
-	return b, nil
-}
-func appendFixedS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := ptr.getInt32Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendFixed32(b, uint32(v))
-	}
-	return b, nil
-}
-func appendFixedS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := ptr.getInt32Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	b = appendVarint(b, uint64(4*len(s)))
-	for _, v := range s {
-		b = appendFixed32(b, uint32(v))
-	}
-	return b, nil
-}
-func appendFloat32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := math.Float32bits(*ptr.toFloat32())
-	b = appendVarint(b, wiretag)
-	b = appendFixed32(b, v)
-	return b, nil
-}
-func appendFloat32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := math.Float32bits(*ptr.toFloat32())
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed32(b, v)
-	return b, nil
-}
-func appendFloat32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toFloat32Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed32(b, math.Float32bits(*p))
-	return b, nil
-}
-func appendFloat32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toFloat32Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendFixed32(b, math.Float32bits(v))
-	}
-	return b, nil
-}
-func appendFloat32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toFloat32Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	b = appendVarint(b, uint64(4*len(s)))
-	for _, v := range s {
-		b = appendFixed32(b, math.Float32bits(v))
-	}
-	return b, nil
-}
-func appendFixed64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toUint64()
-	b = appendVarint(b, wiretag)
-	b = appendFixed64(b, v)
-	return b, nil
-}
-func appendFixed64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toUint64()
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed64(b, v)
-	return b, nil
-}
-func appendFixed64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toUint64Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed64(b, *p)
-	return b, nil
-}
-func appendFixed64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toUint64Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendFixed64(b, v)
-	}
-	return b, nil
-}
-func appendFixed64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toUint64Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	b = appendVarint(b, uint64(8*len(s)))
-	for _, v := range s {
-		b = appendFixed64(b, v)
-	}
-	return b, nil
-}
-func appendFixedS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt64()
-	b = appendVarint(b, wiretag)
-	b = appendFixed64(b, uint64(v))
-	return b, nil
-}
-func appendFixedS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt64()
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed64(b, uint64(v))
-	return b, nil
-}
-func appendFixedS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toInt64Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed64(b, uint64(*p))
-	return b, nil
-}
-func appendFixedS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toInt64Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendFixed64(b, uint64(v))
-	}
-	return b, nil
-}
-func appendFixedS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toInt64Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	b = appendVarint(b, uint64(8*len(s)))
-	for _, v := range s {
-		b = appendFixed64(b, uint64(v))
-	}
-	return b, nil
-}
-func appendFloat64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := math.Float64bits(*ptr.toFloat64())
-	b = appendVarint(b, wiretag)
-	b = appendFixed64(b, v)
-	return b, nil
-}
-func appendFloat64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := math.Float64bits(*ptr.toFloat64())
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed64(b, v)
-	return b, nil
-}
-func appendFloat64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toFloat64Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendFixed64(b, math.Float64bits(*p))
-	return b, nil
-}
-func appendFloat64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toFloat64Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendFixed64(b, math.Float64bits(v))
-	}
-	return b, nil
-}
-func appendFloat64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toFloat64Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	b = appendVarint(b, uint64(8*len(s)))
-	for _, v := range s {
-		b = appendFixed64(b, math.Float64bits(v))
-	}
-	return b, nil
-}
-func appendVarint32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toUint32()
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(v))
-	return b, nil
-}
-func appendVarint32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toUint32()
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(v))
-	return b, nil
-}
-func appendVarint32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toUint32Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(*p))
-	return b, nil
-}
-func appendVarint32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toUint32Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendVarint(b, uint64(v))
-	}
-	return b, nil
-}
-func appendVarint32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toUint32Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	// compute size
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v))
-	}
-	b = appendVarint(b, uint64(n))
-	for _, v := range s {
-		b = appendVarint(b, uint64(v))
-	}
-	return b, nil
-}
-func appendVarintS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt32()
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(v))
-	return b, nil
-}
-func appendVarintS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt32()
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(v))
-	return b, nil
-}
-func appendVarintS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := ptr.getInt32Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(*p))
-	return b, nil
-}
-func appendVarintS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := ptr.getInt32Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendVarint(b, uint64(v))
-	}
-	return b, nil
-}
-func appendVarintS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := ptr.getInt32Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	// compute size
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v))
-	}
-	b = appendVarint(b, uint64(n))
-	for _, v := range s {
-		b = appendVarint(b, uint64(v))
-	}
-	return b, nil
-}
-func appendVarint64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toUint64()
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, v)
-	return b, nil
-}
-func appendVarint64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toUint64()
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, v)
-	return b, nil
-}
-func appendVarint64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toUint64Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, *p)
-	return b, nil
-}
-func appendVarint64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toUint64Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendVarint(b, v)
-	}
-	return b, nil
-}
-func appendVarint64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toUint64Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	// compute size
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(v)
-	}
-	b = appendVarint(b, uint64(n))
-	for _, v := range s {
-		b = appendVarint(b, v)
-	}
-	return b, nil
-}
-func appendVarintS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt64()
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(v))
-	return b, nil
-}
-func appendVarintS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt64()
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(v))
-	return b, nil
-}
-func appendVarintS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toInt64Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(*p))
-	return b, nil
-}
-func appendVarintS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toInt64Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendVarint(b, uint64(v))
-	}
-	return b, nil
-}
-func appendVarintS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toInt64Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	// compute size
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v))
-	}
-	b = appendVarint(b, uint64(n))
-	for _, v := range s {
-		b = appendVarint(b, uint64(v))
-	}
-	return b, nil
-}
-func appendZigzag32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt32()
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))
-	return b, nil
-}
-func appendZigzag32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt32()
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))
-	return b, nil
-}
-func appendZigzag32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := ptr.getInt32Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	v := *p
-	b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))
-	return b, nil
-}
-func appendZigzag32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := ptr.getInt32Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))
-	}
-	return b, nil
-}
-func appendZigzag32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := ptr.getInt32Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	// compute size
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31))))
-	}
-	b = appendVarint(b, uint64(n))
-	for _, v := range s {
-		b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))
-	}
-	return b, nil
-}
-func appendZigzag64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt64()
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))
-	return b, nil
-}
-func appendZigzag64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toInt64()
-	if v == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))
-	return b, nil
-}
-func appendZigzag64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toInt64Ptr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	v := *p
-	b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))
-	return b, nil
-}
-func appendZigzag64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toInt64Slice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))
-	}
-	return b, nil
-}
-func appendZigzag64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toInt64Slice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	// compute size
-	n := 0
-	for _, v := range s {
-		n += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63)))
-	}
-	b = appendVarint(b, uint64(n))
-	for _, v := range s {
-		b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))
-	}
-	return b, nil
-}
-func appendBoolValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toBool()
-	b = appendVarint(b, wiretag)
-	if v {
-		b = append(b, 1)
-	} else {
-		b = append(b, 0)
-	}
-	return b, nil
-}
-func appendBoolValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toBool()
-	if !v {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = append(b, 1)
-	return b, nil
-}
-
-func appendBoolPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toBoolPtr()
-	if p == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	if *p {
-		b = append(b, 1)
-	} else {
-		b = append(b, 0)
-	}
-	return b, nil
-}
-func appendBoolSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toBoolSlice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		if v {
-			b = append(b, 1)
-		} else {
-			b = append(b, 0)
-		}
-	}
-	return b, nil
-}
-func appendBoolPackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toBoolSlice()
-	if len(s) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag&^7|WireBytes)
-	b = appendVarint(b, uint64(len(s)))
-	for _, v := range s {
-		if v {
-			b = append(b, 1)
-		} else {
-			b = append(b, 0)
-		}
-	}
-	return b, nil
-}
-func appendStringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toString()
-	if !utf8.ValidString(v) {
-		return nil, errInvalidUTF8
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(len(v)))
-	b = append(b, v...)
-	return b, nil
-}
-func appendStringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toString()
-	if v == "" {
-		return b, nil
-	}
-	if !utf8.ValidString(v) {
-		return nil, errInvalidUTF8
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(len(v)))
-	b = append(b, v...)
-	return b, nil
-}
-func appendStringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	p := *ptr.toStringPtr()
-	if p == nil {
-		return b, nil
-	}
-	v := *p
-	if !utf8.ValidString(v) {
-		return nil, errInvalidUTF8
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(len(v)))
-	b = append(b, v...)
-	return b, nil
-}
-func appendStringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toStringSlice()
-	for _, v := range s {
-		if !utf8.ValidString(v) {
-			return nil, errInvalidUTF8
-		}
-		b = appendVarint(b, wiretag)
-		b = appendVarint(b, uint64(len(v)))
-		b = append(b, v...)
-	}
-	return b, nil
-}
-func appendBytes(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toBytes()
-	if v == nil {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(len(v)))
-	b = append(b, v...)
-	return b, nil
-}
-func appendBytes3(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toBytes()
-	if len(v) == 0 {
-		return b, nil
-	}
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(len(v)))
-	b = append(b, v...)
-	return b, nil
-}
-func appendBytesOneof(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	v := *ptr.toBytes()
-	b = appendVarint(b, wiretag)
-	b = appendVarint(b, uint64(len(v)))
-	b = append(b, v...)
-	return b, nil
-}
-func appendBytesSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {
-	s := *ptr.toBytesSlice()
-	for _, v := range s {
-		b = appendVarint(b, wiretag)
-		b = appendVarint(b, uint64(len(v)))
-		b = append(b, v...)
-	}
-	return b, nil
-}
-
-// makeGroupMarshaler returns the sizer and marshaler for a group.
-// u is the marshal info of the underlying message.
-func makeGroupMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			p := ptr.getPointer()
-			if p.isNil() {
-				return 0
-			}
-			return u.size(p) + 2*tagsize
-		},
-		func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			p := ptr.getPointer()
-			if p.isNil() {
-				return b, nil
-			}
-			var err error
-			b = appendVarint(b, wiretag) // start group
-			b, err = u.marshal(b, p, deterministic)
-			b = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group
-			return b, err
-		}
-}
-
-// makeGroupSliceMarshaler returns the sizer and marshaler for a group slice.
-// u is the marshal info of the underlying message.
-func makeGroupSliceMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			s := ptr.getPointerSlice()
-			n := 0
-			for _, v := range s {
-				if v.isNil() {
-					continue
-				}
-				n += u.size(v) + 2*tagsize
-			}
-			return n
-		},
-		func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			s := ptr.getPointerSlice()
-			var err, errreq error
-			for _, v := range s {
-				if v.isNil() {
-					return b, errRepeatedHasNil
-				}
-				b = appendVarint(b, wiretag) // start group
-				b, err = u.marshal(b, v, deterministic)
-				b = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group
-				if err != nil {
-					if _, ok := err.(*RequiredNotSetError); ok {
-						// Required field in submessage is not set.
-						// We record the error but keep going, to give a complete marshaling.
-						if errreq == nil {
-							errreq = err
-						}
-						continue
-					}
-					if err == ErrNil {
-						err = errRepeatedHasNil
-					}
-					return b, err
-				}
-			}
-			return b, errreq
-		}
-}
-
-// makeMessageMarshaler returns the sizer and marshaler for a message field.
-// u is the marshal info of the message.
-func makeMessageMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			p := ptr.getPointer()
-			if p.isNil() {
-				return 0
-			}
-			siz := u.size(p)
-			return siz + SizeVarint(uint64(siz)) + tagsize
-		},
-		func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			p := ptr.getPointer()
-			if p.isNil() {
-				return b, nil
-			}
-			b = appendVarint(b, wiretag)
-			siz := u.cachedsize(p)
-			b = appendVarint(b, uint64(siz))
-			return u.marshal(b, p, deterministic)
-		}
-}
-
-// makeMessageSliceMarshaler returns the sizer and marshaler for a message slice.
-// u is the marshal info of the message.
-func makeMessageSliceMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			s := ptr.getPointerSlice()
-			n := 0
-			for _, v := range s {
-				if v.isNil() {
-					continue
-				}
-				siz := u.size(v)
-				n += siz + SizeVarint(uint64(siz)) + tagsize
-			}
-			return n
-		},
-		func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			s := ptr.getPointerSlice()
-			var err, errreq error
-			for _, v := range s {
-				if v.isNil() {
-					return b, errRepeatedHasNil
-				}
-				b = appendVarint(b, wiretag)
-				siz := u.cachedsize(v)
-				b = appendVarint(b, uint64(siz))
-				b, err = u.marshal(b, v, deterministic)
-				if err != nil {
-					if _, ok := err.(*RequiredNotSetError); ok {
-						// Required field in submessage is not set.
-						// We record the error but keep going, to give a complete marshaling.
-						if errreq == nil {
-							errreq = err
-						}
-						continue
-					}
-					if err == ErrNil {
-						err = errRepeatedHasNil
-					}
-					return b, err
-				}
-			}
-			return b, errreq
-		}
-}
-
-// makeMapMarshaler returns the sizer and marshaler for a map field.
-// f is the pointer to the reflect data structure of the field.
-func makeMapMarshaler(f *reflect.StructField) (sizer, marshaler) {
-	// figure out key and value type
-	t := f.Type
-	keyType := t.Key()
-	valType := t.Elem()
-	tags := strings.Split(f.Tag.Get("protobuf"), ",")
-	keyTags := strings.Split(f.Tag.Get("protobuf_key"), ",")
-	valTags := strings.Split(f.Tag.Get("protobuf_val"), ",")
-	for _, t := range tags {
-		if strings.HasPrefix(t, "customtype=") {
-			valTags = append(valTags, t)
-		}
-		if t == "stdtime" {
-			valTags = append(valTags, t)
-		}
-		if t == "stdduration" {
-			valTags = append(valTags, t)
-		}
-	}
-	keySizer, keyMarshaler := typeMarshaler(keyType, keyTags, false, false) // don't omit zero value in map
-	valSizer, valMarshaler := typeMarshaler(valType, valTags, false, false) // don't omit zero value in map
-	keyWireTag := 1<<3 | wiretype(keyTags[0])
-	valWireTag := 2<<3 | wiretype(valTags[0])
-
-	// We create an interface to get the addresses of the map key and value.
-	// If value is pointer-typed, the interface is a direct interface, the
-	// idata itself is the value. Otherwise, the idata is the pointer to the
-	// value.
-	// Key cannot be pointer-typed.
-	valIsPtr := valType.Kind() == reflect.Ptr
-	return func(ptr pointer, tagsize int) int {
-			m := ptr.asPointerTo(t).Elem() // the map
-			n := 0
-			for _, k := range m.MapKeys() {
-				ki := k.Interface()
-				vi := m.MapIndex(k).Interface()
-				kaddr := toAddrPointer(&ki, false)             // pointer to key
-				vaddr := toAddrPointer(&vi, valIsPtr)          // pointer to value
-				siz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1)
-				n += siz + SizeVarint(uint64(siz)) + tagsize
-			}
-			return n
-		},
-		func(b []byte, ptr pointer, tag uint64, deterministic bool) ([]byte, error) {
-			m := ptr.asPointerTo(t).Elem() // the map
-			var err error
-			keys := m.MapKeys()
-			if len(keys) > 1 && deterministic {
-				sort.Sort(mapKeys(keys))
-			}
-			for _, k := range keys {
-				ki := k.Interface()
-				vi := m.MapIndex(k).Interface()
-				kaddr := toAddrPointer(&ki, false)    // pointer to key
-				vaddr := toAddrPointer(&vi, valIsPtr) // pointer to value
-				b = appendVarint(b, tag)
-				siz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1)
-				b = appendVarint(b, uint64(siz))
-				b, err = keyMarshaler(b, kaddr, keyWireTag, deterministic)
-				if err != nil {
-					return b, err
-				}
-				b, err = valMarshaler(b, vaddr, valWireTag, deterministic)
-				if err != nil && err != ErrNil { // allow nil value in map
-					return b, err
-				}
-			}
-			return b, nil
-		}
-}
-
-// makeOneOfMarshaler returns the sizer and marshaler for a oneof field.
-// fi is the marshal info of the field.
-// f is the pointer to the reflect data structure of the field.
-func makeOneOfMarshaler(fi *marshalFieldInfo, f *reflect.StructField) (sizer, marshaler) {
-	// Oneof field is an interface. We need to get the actual data type on the fly.
-	t := f.Type
-	return func(ptr pointer, _ int) int {
-			p := ptr.getInterfacePointer()
-			if p.isNil() {
-				return 0
-			}
-			v := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct
-			telem := v.Type()
-			e := fi.oneofElems[telem]
-			return e.sizer(p, e.tagsize)
-		},
-		func(b []byte, ptr pointer, _ uint64, deterministic bool) ([]byte, error) {
-			p := ptr.getInterfacePointer()
-			if p.isNil() {
-				return b, nil
-			}
-			v := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct
-			telem := v.Type()
-			if telem.Field(0).Type.Kind() == reflect.Ptr && p.getPointer().isNil() {
-				return b, errOneofHasNil
-			}
-			e := fi.oneofElems[telem]
-			return e.marshaler(b, p, e.wiretag, deterministic)
-		}
-}
-
-// sizeExtensions computes the size of encoded data for a XXX_InternalExtensions field.
-func (u *marshalInfo) sizeExtensions(ext *XXX_InternalExtensions) int {
-	m, mu := ext.extensionsRead()
-	if m == nil {
-		return 0
-	}
-	mu.Lock()
-
-	n := 0
-	for _, e := range m {
-		if e.value == nil || e.desc == nil {
-			// Extension is only in its encoded form.
-			n += len(e.enc)
-			continue
-		}
-
-		// We don't skip extensions that have an encoded form set,
-		// because the extension value may have been mutated after
-		// the last time this function was called.
-		ei := u.getExtElemInfo(e.desc)
-		v := e.value
-		p := toAddrPointer(&v, ei.isptr)
-		n += ei.sizer(p, ei.tagsize)
-	}
-	mu.Unlock()
-	return n
-}
-
-// appendExtensions marshals a XXX_InternalExtensions field to the end of byte slice b.
-func (u *marshalInfo) appendExtensions(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) {
-	m, mu := ext.extensionsRead()
-	if m == nil {
-		return b, nil
-	}
-	mu.Lock()
-	defer mu.Unlock()
-
-	var err error
-
-	// Fast-path for common cases: zero or one extensions.
-	// Don't bother sorting the keys.
-	if len(m) <= 1 {
-		for _, e := range m {
-			if e.value == nil || e.desc == nil {
-				// Extension is only in its encoded form.
-				b = append(b, e.enc...)
-				continue
-			}
-
-			// We don't skip extensions that have an encoded form set,
-			// because the extension value may have been mutated after
-			// the last time this function was called.
-
-			ei := u.getExtElemInfo(e.desc)
-			v := e.value
-			p := toAddrPointer(&v, ei.isptr)
-			b, err = ei.marshaler(b, p, ei.wiretag, deterministic)
-			if err != nil {
-				return b, err
-			}
-		}
-		return b, nil
-	}
-
-	// Sort the keys to provide a deterministic encoding.
-	// Not sure this is required, but the old code does it.
-	keys := make([]int, 0, len(m))
-	for k := range m {
-		keys = append(keys, int(k))
-	}
-	sort.Ints(keys)
-
-	for _, k := range keys {
-		e := m[int32(k)]
-		if e.value == nil || e.desc == nil {
-			// Extension is only in its encoded form.
-			b = append(b, e.enc...)
-			continue
-		}
-
-		// We don't skip extensions that have an encoded form set,
-		// because the extension value may have been mutated after
-		// the last time this function was called.
-
-		ei := u.getExtElemInfo(e.desc)
-		v := e.value
-		p := toAddrPointer(&v, ei.isptr)
-		b, err = ei.marshaler(b, p, ei.wiretag, deterministic)
-		if err != nil {
-			return b, err
-		}
-	}
-	return b, nil
-}
-
-// message set format is:
-//   message MessageSet {
-//     repeated group Item = 1 {
-//       required int32 type_id = 2;
-//       required string message = 3;
-//     };
-//   }
-
-// sizeMessageSet computes the size of encoded data for a XXX_InternalExtensions field
-// in message set format (above).
-func (u *marshalInfo) sizeMessageSet(ext *XXX_InternalExtensions) int {
-	m, mu := ext.extensionsRead()
-	if m == nil {
-		return 0
-	}
-	mu.Lock()
-
-	n := 0
-	for id, e := range m {
-		n += 2                          // start group, end group. tag = 1 (size=1)
-		n += SizeVarint(uint64(id)) + 1 // type_id, tag = 2 (size=1)
-
-		if e.value == nil || e.desc == nil {
-			// Extension is only in its encoded form.
-			msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint
-			siz := len(msgWithLen)
-			n += siz + 1 // message, tag = 3 (size=1)
-			continue
-		}
-
-		// We don't skip extensions that have an encoded form set,
-		// because the extension value may have been mutated after
-		// the last time this function was called.
-
-		ei := u.getExtElemInfo(e.desc)
-		v := e.value
-		p := toAddrPointer(&v, ei.isptr)
-		n += ei.sizer(p, 1) // message, tag = 3 (size=1)
-	}
-	mu.Unlock()
-	return n
-}
-
-// appendMessageSet marshals a XXX_InternalExtensions field in message set format (above)
-// to the end of byte slice b.
-func (u *marshalInfo) appendMessageSet(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) {
-	m, mu := ext.extensionsRead()
-	if m == nil {
-		return b, nil
-	}
-	mu.Lock()
-	defer mu.Unlock()
-
-	var err error
-
-	// Fast-path for common cases: zero or one extensions.
-	// Don't bother sorting the keys.
-	if len(m) <= 1 {
-		for id, e := range m {
-			b = append(b, 1<<3|WireStartGroup)
-			b = append(b, 2<<3|WireVarint)
-			b = appendVarint(b, uint64(id))
-
-			if e.value == nil || e.desc == nil {
-				// Extension is only in its encoded form.
-				msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint
-				b = append(b, 3<<3|WireBytes)
-				b = append(b, msgWithLen...)
-				b = append(b, 1<<3|WireEndGroup)
-				continue
-			}
-
-			// We don't skip extensions that have an encoded form set,
-			// because the extension value may have been mutated after
-			// the last time this function was called.
-
-			ei := u.getExtElemInfo(e.desc)
-			v := e.value
-			p := toAddrPointer(&v, ei.isptr)
-			b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic)
-			if err != nil {
-				return b, err
-			}
-			b = append(b, 1<<3|WireEndGroup)
-		}
-		return b, nil
-	}
-
-	// Sort the keys to provide a deterministic encoding.
-	keys := make([]int, 0, len(m))
-	for k := range m {
-		keys = append(keys, int(k))
-	}
-	sort.Ints(keys)
-
-	for _, id := range keys {
-		e := m[int32(id)]
-		b = append(b, 1<<3|WireStartGroup)
-		b = append(b, 2<<3|WireVarint)
-		b = appendVarint(b, uint64(id))
-
-		if e.value == nil || e.desc == nil {
-			// Extension is only in its encoded form.
-			msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint
-			b = append(b, 3<<3|WireBytes)
-			b = append(b, msgWithLen...)
-			b = append(b, 1<<3|WireEndGroup)
-			continue
-		}
-
-		// We don't skip extensions that have an encoded form set,
-		// because the extension value may have been mutated after
-		// the last time this function was called.
-
-		ei := u.getExtElemInfo(e.desc)
-		v := e.value
-		p := toAddrPointer(&v, ei.isptr)
-		b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic)
-		b = append(b, 1<<3|WireEndGroup)
-		if err != nil {
-			return b, err
-		}
-	}
-	return b, nil
-}
-
-// sizeV1Extensions computes the size of encoded data for a V1-API extension field.
-func (u *marshalInfo) sizeV1Extensions(m map[int32]Extension) int {
-	if m == nil {
-		return 0
-	}
-
-	n := 0
-	for _, e := range m {
-		if e.value == nil || e.desc == nil {
-			// Extension is only in its encoded form.
-			n += len(e.enc)
-			continue
-		}
-
-		// We don't skip extensions that have an encoded form set,
-		// because the extension value may have been mutated after
-		// the last time this function was called.
-
-		ei := u.getExtElemInfo(e.desc)
-		v := e.value
-		p := toAddrPointer(&v, ei.isptr)
-		n += ei.sizer(p, ei.tagsize)
-	}
-	return n
-}
-
-// appendV1Extensions marshals a V1-API extension field to the end of byte slice b.
-func (u *marshalInfo) appendV1Extensions(b []byte, m map[int32]Extension, deterministic bool) ([]byte, error) {
-	if m == nil {
-		return b, nil
-	}
-
-	// Sort the keys to provide a deterministic encoding.
-	keys := make([]int, 0, len(m))
-	for k := range m {
-		keys = append(keys, int(k))
-	}
-	sort.Ints(keys)
-
-	var err error
-	for _, k := range keys {
-		e := m[int32(k)]
-		if e.value == nil || e.desc == nil {
-			// Extension is only in its encoded form.
-			b = append(b, e.enc...)
-			continue
-		}
-
-		// We don't skip extensions that have an encoded form set,
-		// because the extension value may have been mutated after
-		// the last time this function was called.
-
-		ei := u.getExtElemInfo(e.desc)
-		v := e.value
-		p := toAddrPointer(&v, ei.isptr)
-		b, err = ei.marshaler(b, p, ei.wiretag, deterministic)
-		if err != nil {
-			return b, err
-		}
-	}
-	return b, nil
-}
-
-// newMarshaler is the interface representing objects that can marshal themselves.
-//
-// This exists to support protoc-gen-go generated messages.
-// The proto package will stop type-asserting to this interface in the future.
-//
-// DO NOT DEPEND ON THIS.
-type newMarshaler interface {
-	XXX_Size() int
-	XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
-}
-
-// Size returns the encoded size of a protocol buffer message.
-// This is the main entry point.
-func Size(pb Message) int {
-	if m, ok := pb.(newMarshaler); ok {
-		return m.XXX_Size()
-	}
-	if m, ok := pb.(Marshaler); ok {
-		// If the message can marshal itself, let it do it, for compatibility.
-		// NOTE: This is not efficient.
-		b, _ := m.Marshal()
-		return len(b)
-	}
-	// in case somehow we didn't generate the wrapper
-	if pb == nil {
-		return 0
-	}
-	var info InternalMessageInfo
-	return info.Size(pb)
-}
-
-// Marshal takes a protocol buffer message
-// and encodes it into the wire format, returning the data.
-// This is the main entry point.
-func Marshal(pb Message) ([]byte, error) {
-	if m, ok := pb.(newMarshaler); ok {
-		siz := m.XXX_Size()
-		b := make([]byte, 0, siz)
-		return m.XXX_Marshal(b, false)
-	}
-	if m, ok := pb.(Marshaler); ok {
-		// If the message can marshal itself, let it do it, for compatibility.
-		// NOTE: This is not efficient.
-		return m.Marshal()
-	}
-	// in case somehow we didn't generate the wrapper
-	if pb == nil {
-		return nil, ErrNil
-	}
-	var info InternalMessageInfo
-	siz := info.Size(pb)
-	b := make([]byte, 0, siz)
-	return info.Marshal(b, pb, false)
-}
-
-// Marshal takes a protocol buffer message
-// and encodes it into the wire format, writing the result to the
-// Buffer.
-// This is an alternative entry point. It is not necessary to use
-// a Buffer for most applications.
-func (p *Buffer) Marshal(pb Message) error {
-	var err error
-	if m, ok := pb.(newMarshaler); ok {
-		siz := m.XXX_Size()
-		p.grow(siz) // make sure buf has enough capacity
-		p.buf, err = m.XXX_Marshal(p.buf, p.deterministic)
-		return err
-	}
-	if m, ok := pb.(Marshaler); ok {
-		// If the message can marshal itself, let it do it, for compatibility.
-		// NOTE: This is not efficient.
-		var b []byte
-		b, err = m.Marshal()
-		p.buf = append(p.buf, b...)
-		return err
-	}
-	// in case somehow we didn't generate the wrapper
-	if pb == nil {
-		return ErrNil
-	}
-	var info InternalMessageInfo
-	siz := info.Size(pb)
-	p.grow(siz) // make sure buf has enough capacity
-	p.buf, err = info.Marshal(p.buf, pb, p.deterministic)
-	return err
-}
-
-// grow grows the buffer's capacity, if necessary, to guarantee space for
-// another n bytes. After grow(n), at least n bytes can be written to the
-// buffer without another allocation.
-func (p *Buffer) grow(n int) {
-	need := len(p.buf) + n
-	if need <= cap(p.buf) {
-		return
-	}
-	newCap := len(p.buf) * 2
-	if newCap < need {
-		newCap = need
-	}
-	p.buf = append(make([]byte, 0, newCap), p.buf...)
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/table_marshal_gogo.go b/vendor/github.com/gogo/protobuf/proto/table_marshal_gogo.go
deleted file mode 100644
index 997f57c..0000000
--- a/vendor/github.com/gogo/protobuf/proto/table_marshal_gogo.go
+++ /dev/null
@@ -1,388 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2018, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"reflect"
-	"time"
-)
-
-// makeMessageRefMarshaler differs a bit from makeMessageMarshaler
-// It marshal a message T instead of a *T
-func makeMessageRefMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			siz := u.size(ptr)
-			return siz + SizeVarint(uint64(siz)) + tagsize
-		},
-		func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			b = appendVarint(b, wiretag)
-			siz := u.cachedsize(ptr)
-			b = appendVarint(b, uint64(siz))
-			return u.marshal(b, ptr, deterministic)
-		}
-}
-
-// makeMessageRefSliceMarshaler differs quite a lot from makeMessageSliceMarshaler
-// It marshals a slice of messages []T instead of []*T
-func makeMessageRefSliceMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			s := ptr.getSlice(u.typ)
-			n := 0
-			for i := 0; i < s.Len(); i++ {
-				elem := s.Index(i)
-				e := elem.Interface()
-				v := toAddrPointer(&e, false)
-				siz := u.size(v)
-				n += siz + SizeVarint(uint64(siz)) + tagsize
-			}
-			return n
-		},
-		func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			s := ptr.getSlice(u.typ)
-			var err, errreq error
-			for i := 0; i < s.Len(); i++ {
-				elem := s.Index(i)
-				e := elem.Interface()
-				v := toAddrPointer(&e, false)
-				b = appendVarint(b, wiretag)
-				siz := u.size(v)
-				b = appendVarint(b, uint64(siz))
-				b, err = u.marshal(b, v, deterministic)
-
-				if err != nil {
-					if _, ok := err.(*RequiredNotSetError); ok {
-						// Required field in submessage is not set.
-						// We record the error but keep going, to give a complete marshaling.
-						if errreq == nil {
-							errreq = err
-						}
-						continue
-					}
-					if err == ErrNil {
-						err = errRepeatedHasNil
-					}
-					return b, err
-				}
-			}
-
-			return b, errreq
-		}
-}
-
-func makeCustomPtrMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			if ptr.isNil() {
-				return 0
-			}
-			m := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(custom)
-			siz := m.Size()
-			return tagsize + SizeVarint(uint64(siz)) + siz
-		}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			if ptr.isNil() {
-				return b, nil
-			}
-			m := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(custom)
-			siz := m.Size()
-			buf, err := m.Marshal()
-			if err != nil {
-				return nil, err
-			}
-			b = appendVarint(b, wiretag)
-			b = appendVarint(b, uint64(siz))
-			b = append(b, buf...)
-			return b, nil
-		}
-}
-
-func makeCustomMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			m := ptr.asPointerTo(u.typ).Interface().(custom)
-			siz := m.Size()
-			return tagsize + SizeVarint(uint64(siz)) + siz
-		}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			m := ptr.asPointerTo(u.typ).Interface().(custom)
-			siz := m.Size()
-			buf, err := m.Marshal()
-			if err != nil {
-				return nil, err
-			}
-			b = appendVarint(b, wiretag)
-			b = appendVarint(b, uint64(siz))
-			b = append(b, buf...)
-			return b, nil
-		}
-}
-
-func makeTimeMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			t := ptr.asPointerTo(u.typ).Interface().(*time.Time)
-			ts, err := timestampProto(*t)
-			if err != nil {
-				return 0
-			}
-			siz := Size(ts)
-			return tagsize + SizeVarint(uint64(siz)) + siz
-		}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			t := ptr.asPointerTo(u.typ).Interface().(*time.Time)
-			ts, err := timestampProto(*t)
-			if err != nil {
-				return nil, err
-			}
-			buf, err := Marshal(ts)
-			if err != nil {
-				return nil, err
-			}
-			b = appendVarint(b, wiretag)
-			b = appendVarint(b, uint64(len(buf)))
-			b = append(b, buf...)
-			return b, nil
-		}
-}
-
-func makeTimePtrMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			if ptr.isNil() {
-				return 0
-			}
-			t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Time)
-			ts, err := timestampProto(*t)
-			if err != nil {
-				return 0
-			}
-			siz := Size(ts)
-			return tagsize + SizeVarint(uint64(siz)) + siz
-		}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			if ptr.isNil() {
-				return b, nil
-			}
-			t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Time)
-			ts, err := timestampProto(*t)
-			if err != nil {
-				return nil, err
-			}
-			buf, err := Marshal(ts)
-			if err != nil {
-				return nil, err
-			}
-			b = appendVarint(b, wiretag)
-			b = appendVarint(b, uint64(len(buf)))
-			b = append(b, buf...)
-			return b, nil
-		}
-}
-
-func makeTimeSliceMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			s := ptr.getSlice(u.typ)
-			n := 0
-			for i := 0; i < s.Len(); i++ {
-				elem := s.Index(i)
-				t := elem.Interface().(time.Time)
-				ts, err := timestampProto(t)
-				if err != nil {
-					return 0
-				}
-				siz := Size(ts)
-				n += siz + SizeVarint(uint64(siz)) + tagsize
-			}
-			return n
-		},
-		func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			s := ptr.getSlice(u.typ)
-			for i := 0; i < s.Len(); i++ {
-				elem := s.Index(i)
-				t := elem.Interface().(time.Time)
-				ts, err := timestampProto(t)
-				if err != nil {
-					return nil, err
-				}
-				siz := Size(ts)
-				buf, err := Marshal(ts)
-				if err != nil {
-					return nil, err
-				}
-				b = appendVarint(b, wiretag)
-				b = appendVarint(b, uint64(siz))
-				b = append(b, buf...)
-			}
-
-			return b, nil
-		}
-}
-
-func makeTimePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			s := ptr.getSlice(reflect.PtrTo(u.typ))
-			n := 0
-			for i := 0; i < s.Len(); i++ {
-				elem := s.Index(i)
-				t := elem.Interface().(*time.Time)
-				ts, err := timestampProto(*t)
-				if err != nil {
-					return 0
-				}
-				siz := Size(ts)
-				n += siz + SizeVarint(uint64(siz)) + tagsize
-			}
-			return n
-		},
-		func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			s := ptr.getSlice(reflect.PtrTo(u.typ))
-			for i := 0; i < s.Len(); i++ {
-				elem := s.Index(i)
-				t := elem.Interface().(*time.Time)
-				ts, err := timestampProto(*t)
-				if err != nil {
-					return nil, err
-				}
-				siz := Size(ts)
-				buf, err := Marshal(ts)
-				if err != nil {
-					return nil, err
-				}
-				b = appendVarint(b, wiretag)
-				b = appendVarint(b, uint64(siz))
-				b = append(b, buf...)
-			}
-
-			return b, nil
-		}
-}
-
-func makeDurationMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			d := ptr.asPointerTo(u.typ).Interface().(*time.Duration)
-			dur := durationProto(*d)
-			siz := Size(dur)
-			return tagsize + SizeVarint(uint64(siz)) + siz
-		}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			d := ptr.asPointerTo(u.typ).Interface().(*time.Duration)
-			dur := durationProto(*d)
-			buf, err := Marshal(dur)
-			if err != nil {
-				return nil, err
-			}
-			b = appendVarint(b, wiretag)
-			b = appendVarint(b, uint64(len(buf)))
-			b = append(b, buf...)
-			return b, nil
-		}
-}
-
-func makeDurationPtrMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			if ptr.isNil() {
-				return 0
-			}
-			d := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Duration)
-			dur := durationProto(*d)
-			siz := Size(dur)
-			return tagsize + SizeVarint(uint64(siz)) + siz
-		}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			if ptr.isNil() {
-				return b, nil
-			}
-			d := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Duration)
-			dur := durationProto(*d)
-			buf, err := Marshal(dur)
-			if err != nil {
-				return nil, err
-			}
-			b = appendVarint(b, wiretag)
-			b = appendVarint(b, uint64(len(buf)))
-			b = append(b, buf...)
-			return b, nil
-		}
-}
-
-func makeDurationSliceMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			s := ptr.getSlice(u.typ)
-			n := 0
-			for i := 0; i < s.Len(); i++ {
-				elem := s.Index(i)
-				d := elem.Interface().(time.Duration)
-				dur := durationProto(d)
-				siz := Size(dur)
-				n += siz + SizeVarint(uint64(siz)) + tagsize
-			}
-			return n
-		},
-		func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			s := ptr.getSlice(u.typ)
-			for i := 0; i < s.Len(); i++ {
-				elem := s.Index(i)
-				d := elem.Interface().(time.Duration)
-				dur := durationProto(d)
-				siz := Size(dur)
-				buf, err := Marshal(dur)
-				if err != nil {
-					return nil, err
-				}
-				b = appendVarint(b, wiretag)
-				b = appendVarint(b, uint64(siz))
-				b = append(b, buf...)
-			}
-
-			return b, nil
-		}
-}
-
-func makeDurationPtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) {
-	return func(ptr pointer, tagsize int) int {
-			s := ptr.getSlice(reflect.PtrTo(u.typ))
-			n := 0
-			for i := 0; i < s.Len(); i++ {
-				elem := s.Index(i)
-				d := elem.Interface().(*time.Duration)
-				dur := durationProto(*d)
-				siz := Size(dur)
-				n += siz + SizeVarint(uint64(siz)) + tagsize
-			}
-			return n
-		},
-		func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {
-			s := ptr.getSlice(reflect.PtrTo(u.typ))
-			for i := 0; i < s.Len(); i++ {
-				elem := s.Index(i)
-				d := elem.Interface().(*time.Duration)
-				dur := durationProto(*d)
-				siz := Size(dur)
-				buf, err := Marshal(dur)
-				if err != nil {
-					return nil, err
-				}
-				b = appendVarint(b, wiretag)
-				b = appendVarint(b, uint64(siz))
-				b = append(b, buf...)
-			}
-
-			return b, nil
-		}
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/table_merge.go b/vendor/github.com/gogo/protobuf/proto/table_merge.go
deleted file mode 100644
index f520106..0000000
--- a/vendor/github.com/gogo/protobuf/proto/table_merge.go
+++ /dev/null
@@ -1,657 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2016 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"fmt"
-	"reflect"
-	"strings"
-	"sync"
-	"sync/atomic"
-)
-
-// Merge merges the src message into dst.
-// This assumes that dst and src of the same type and are non-nil.
-func (a *InternalMessageInfo) Merge(dst, src Message) {
-	mi := atomicLoadMergeInfo(&a.merge)
-	if mi == nil {
-		mi = getMergeInfo(reflect.TypeOf(dst).Elem())
-		atomicStoreMergeInfo(&a.merge, mi)
-	}
-	mi.merge(toPointer(&dst), toPointer(&src))
-}
-
-type mergeInfo struct {
-	typ reflect.Type
-
-	initialized int32 // 0: only typ is valid, 1: everything is valid
-	lock        sync.Mutex
-
-	fields       []mergeFieldInfo
-	unrecognized field // Offset of XXX_unrecognized
-}
-
-type mergeFieldInfo struct {
-	field field // Offset of field, guaranteed to be valid
-
-	// isPointer reports whether the value in the field is a pointer.
-	// This is true for the following situations:
-	//	* Pointer to struct
-	//	* Pointer to basic type (proto2 only)
-	//	* Slice (first value in slice header is a pointer)
-	//	* String (first value in string header is a pointer)
-	isPointer bool
-
-	// basicWidth reports the width of the field assuming that it is directly
-	// embedded in the struct (as is the case for basic types in proto3).
-	// The possible values are:
-	// 	0: invalid
-	//	1: bool
-	//	4: int32, uint32, float32
-	//	8: int64, uint64, float64
-	basicWidth int
-
-	// Where dst and src are pointers to the types being merged.
-	merge func(dst, src pointer)
-}
-
-var (
-	mergeInfoMap  = map[reflect.Type]*mergeInfo{}
-	mergeInfoLock sync.Mutex
-)
-
-func getMergeInfo(t reflect.Type) *mergeInfo {
-	mergeInfoLock.Lock()
-	defer mergeInfoLock.Unlock()
-	mi := mergeInfoMap[t]
-	if mi == nil {
-		mi = &mergeInfo{typ: t}
-		mergeInfoMap[t] = mi
-	}
-	return mi
-}
-
-// merge merges src into dst assuming they are both of type *mi.typ.
-func (mi *mergeInfo) merge(dst, src pointer) {
-	if dst.isNil() {
-		panic("proto: nil destination")
-	}
-	if src.isNil() {
-		return // Nothing to do.
-	}
-
-	if atomic.LoadInt32(&mi.initialized) == 0 {
-		mi.computeMergeInfo()
-	}
-
-	for _, fi := range mi.fields {
-		sfp := src.offset(fi.field)
-
-		// As an optimization, we can avoid the merge function call cost
-		// if we know for sure that the source will have no effect
-		// by checking if it is the zero value.
-		if unsafeAllowed {
-			if fi.isPointer && sfp.getPointer().isNil() { // Could be slice or string
-				continue
-			}
-			if fi.basicWidth > 0 {
-				switch {
-				case fi.basicWidth == 1 && !*sfp.toBool():
-					continue
-				case fi.basicWidth == 4 && *sfp.toUint32() == 0:
-					continue
-				case fi.basicWidth == 8 && *sfp.toUint64() == 0:
-					continue
-				}
-			}
-		}
-
-		dfp := dst.offset(fi.field)
-		fi.merge(dfp, sfp)
-	}
-
-	// TODO: Make this faster?
-	out := dst.asPointerTo(mi.typ).Elem()
-	in := src.asPointerTo(mi.typ).Elem()
-	if emIn, err := extendable(in.Addr().Interface()); err == nil {
-		emOut, _ := extendable(out.Addr().Interface())
-		mIn, muIn := emIn.extensionsRead()
-		if mIn != nil {
-			mOut := emOut.extensionsWrite()
-			muIn.Lock()
-			mergeExtension(mOut, mIn)
-			muIn.Unlock()
-		}
-	}
-
-	if mi.unrecognized.IsValid() {
-		if b := *src.offset(mi.unrecognized).toBytes(); len(b) > 0 {
-			*dst.offset(mi.unrecognized).toBytes() = append([]byte(nil), b...)
-		}
-	}
-}
-
-func (mi *mergeInfo) computeMergeInfo() {
-	mi.lock.Lock()
-	defer mi.lock.Unlock()
-	if mi.initialized != 0 {
-		return
-	}
-	t := mi.typ
-	n := t.NumField()
-
-	props := GetProperties(t)
-	for i := 0; i < n; i++ {
-		f := t.Field(i)
-		if strings.HasPrefix(f.Name, "XXX_") {
-			continue
-		}
-
-		mfi := mergeFieldInfo{field: toField(&f)}
-		tf := f.Type
-
-		// As an optimization, we can avoid the merge function call cost
-		// if we know for sure that the source will have no effect
-		// by checking if it is the zero value.
-		if unsafeAllowed {
-			switch tf.Kind() {
-			case reflect.Ptr, reflect.Slice, reflect.String:
-				// As a special case, we assume slices and strings are pointers
-				// since we know that the first field in the SliceSlice or
-				// StringHeader is a data pointer.
-				mfi.isPointer = true
-			case reflect.Bool:
-				mfi.basicWidth = 1
-			case reflect.Int32, reflect.Uint32, reflect.Float32:
-				mfi.basicWidth = 4
-			case reflect.Int64, reflect.Uint64, reflect.Float64:
-				mfi.basicWidth = 8
-			}
-		}
-
-		// Unwrap tf to get at its most basic type.
-		var isPointer, isSlice bool
-		if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {
-			isSlice = true
-			tf = tf.Elem()
-		}
-		if tf.Kind() == reflect.Ptr {
-			isPointer = true
-			tf = tf.Elem()
-		}
-		if isPointer && isSlice && tf.Kind() != reflect.Struct {
-			panic("both pointer and slice for basic type in " + tf.Name())
-		}
-
-		switch tf.Kind() {
-		case reflect.Int32:
-			switch {
-			case isSlice: // E.g., []int32
-				mfi.merge = func(dst, src pointer) {
-					// NOTE: toInt32Slice is not defined (see pointer_reflect.go).
-					/*
-						sfsp := src.toInt32Slice()
-						if *sfsp != nil {
-							dfsp := dst.toInt32Slice()
-							*dfsp = append(*dfsp, *sfsp...)
-							if *dfsp == nil {
-								*dfsp = []int64{}
-							}
-						}
-					*/
-					sfs := src.getInt32Slice()
-					if sfs != nil {
-						dfs := dst.getInt32Slice()
-						dfs = append(dfs, sfs...)
-						if dfs == nil {
-							dfs = []int32{}
-						}
-						dst.setInt32Slice(dfs)
-					}
-				}
-			case isPointer: // E.g., *int32
-				mfi.merge = func(dst, src pointer) {
-					// NOTE: toInt32Ptr is not defined (see pointer_reflect.go).
-					/*
-						sfpp := src.toInt32Ptr()
-						if *sfpp != nil {
-							dfpp := dst.toInt32Ptr()
-							if *dfpp == nil {
-								*dfpp = Int32(**sfpp)
-							} else {
-								**dfpp = **sfpp
-							}
-						}
-					*/
-					sfp := src.getInt32Ptr()
-					if sfp != nil {
-						dfp := dst.getInt32Ptr()
-						if dfp == nil {
-							dst.setInt32Ptr(*sfp)
-						} else {
-							*dfp = *sfp
-						}
-					}
-				}
-			default: // E.g., int32
-				mfi.merge = func(dst, src pointer) {
-					if v := *src.toInt32(); v != 0 {
-						*dst.toInt32() = v
-					}
-				}
-			}
-		case reflect.Int64:
-			switch {
-			case isSlice: // E.g., []int64
-				mfi.merge = func(dst, src pointer) {
-					sfsp := src.toInt64Slice()
-					if *sfsp != nil {
-						dfsp := dst.toInt64Slice()
-						*dfsp = append(*dfsp, *sfsp...)
-						if *dfsp == nil {
-							*dfsp = []int64{}
-						}
-					}
-				}
-			case isPointer: // E.g., *int64
-				mfi.merge = func(dst, src pointer) {
-					sfpp := src.toInt64Ptr()
-					if *sfpp != nil {
-						dfpp := dst.toInt64Ptr()
-						if *dfpp == nil {
-							*dfpp = Int64(**sfpp)
-						} else {
-							**dfpp = **sfpp
-						}
-					}
-				}
-			default: // E.g., int64
-				mfi.merge = func(dst, src pointer) {
-					if v := *src.toInt64(); v != 0 {
-						*dst.toInt64() = v
-					}
-				}
-			}
-		case reflect.Uint32:
-			switch {
-			case isSlice: // E.g., []uint32
-				mfi.merge = func(dst, src pointer) {
-					sfsp := src.toUint32Slice()
-					if *sfsp != nil {
-						dfsp := dst.toUint32Slice()
-						*dfsp = append(*dfsp, *sfsp...)
-						if *dfsp == nil {
-							*dfsp = []uint32{}
-						}
-					}
-				}
-			case isPointer: // E.g., *uint32
-				mfi.merge = func(dst, src pointer) {
-					sfpp := src.toUint32Ptr()
-					if *sfpp != nil {
-						dfpp := dst.toUint32Ptr()
-						if *dfpp == nil {
-							*dfpp = Uint32(**sfpp)
-						} else {
-							**dfpp = **sfpp
-						}
-					}
-				}
-			default: // E.g., uint32
-				mfi.merge = func(dst, src pointer) {
-					if v := *src.toUint32(); v != 0 {
-						*dst.toUint32() = v
-					}
-				}
-			}
-		case reflect.Uint64:
-			switch {
-			case isSlice: // E.g., []uint64
-				mfi.merge = func(dst, src pointer) {
-					sfsp := src.toUint64Slice()
-					if *sfsp != nil {
-						dfsp := dst.toUint64Slice()
-						*dfsp = append(*dfsp, *sfsp...)
-						if *dfsp == nil {
-							*dfsp = []uint64{}
-						}
-					}
-				}
-			case isPointer: // E.g., *uint64
-				mfi.merge = func(dst, src pointer) {
-					sfpp := src.toUint64Ptr()
-					if *sfpp != nil {
-						dfpp := dst.toUint64Ptr()
-						if *dfpp == nil {
-							*dfpp = Uint64(**sfpp)
-						} else {
-							**dfpp = **sfpp
-						}
-					}
-				}
-			default: // E.g., uint64
-				mfi.merge = func(dst, src pointer) {
-					if v := *src.toUint64(); v != 0 {
-						*dst.toUint64() = v
-					}
-				}
-			}
-		case reflect.Float32:
-			switch {
-			case isSlice: // E.g., []float32
-				mfi.merge = func(dst, src pointer) {
-					sfsp := src.toFloat32Slice()
-					if *sfsp != nil {
-						dfsp := dst.toFloat32Slice()
-						*dfsp = append(*dfsp, *sfsp...)
-						if *dfsp == nil {
-							*dfsp = []float32{}
-						}
-					}
-				}
-			case isPointer: // E.g., *float32
-				mfi.merge = func(dst, src pointer) {
-					sfpp := src.toFloat32Ptr()
-					if *sfpp != nil {
-						dfpp := dst.toFloat32Ptr()
-						if *dfpp == nil {
-							*dfpp = Float32(**sfpp)
-						} else {
-							**dfpp = **sfpp
-						}
-					}
-				}
-			default: // E.g., float32
-				mfi.merge = func(dst, src pointer) {
-					if v := *src.toFloat32(); v != 0 {
-						*dst.toFloat32() = v
-					}
-				}
-			}
-		case reflect.Float64:
-			switch {
-			case isSlice: // E.g., []float64
-				mfi.merge = func(dst, src pointer) {
-					sfsp := src.toFloat64Slice()
-					if *sfsp != nil {
-						dfsp := dst.toFloat64Slice()
-						*dfsp = append(*dfsp, *sfsp...)
-						if *dfsp == nil {
-							*dfsp = []float64{}
-						}
-					}
-				}
-			case isPointer: // E.g., *float64
-				mfi.merge = func(dst, src pointer) {
-					sfpp := src.toFloat64Ptr()
-					if *sfpp != nil {
-						dfpp := dst.toFloat64Ptr()
-						if *dfpp == nil {
-							*dfpp = Float64(**sfpp)
-						} else {
-							**dfpp = **sfpp
-						}
-					}
-				}
-			default: // E.g., float64
-				mfi.merge = func(dst, src pointer) {
-					if v := *src.toFloat64(); v != 0 {
-						*dst.toFloat64() = v
-					}
-				}
-			}
-		case reflect.Bool:
-			switch {
-			case isSlice: // E.g., []bool
-				mfi.merge = func(dst, src pointer) {
-					sfsp := src.toBoolSlice()
-					if *sfsp != nil {
-						dfsp := dst.toBoolSlice()
-						*dfsp = append(*dfsp, *sfsp...)
-						if *dfsp == nil {
-							*dfsp = []bool{}
-						}
-					}
-				}
-			case isPointer: // E.g., *bool
-				mfi.merge = func(dst, src pointer) {
-					sfpp := src.toBoolPtr()
-					if *sfpp != nil {
-						dfpp := dst.toBoolPtr()
-						if *dfpp == nil {
-							*dfpp = Bool(**sfpp)
-						} else {
-							**dfpp = **sfpp
-						}
-					}
-				}
-			default: // E.g., bool
-				mfi.merge = func(dst, src pointer) {
-					if v := *src.toBool(); v {
-						*dst.toBool() = v
-					}
-				}
-			}
-		case reflect.String:
-			switch {
-			case isSlice: // E.g., []string
-				mfi.merge = func(dst, src pointer) {
-					sfsp := src.toStringSlice()
-					if *sfsp != nil {
-						dfsp := dst.toStringSlice()
-						*dfsp = append(*dfsp, *sfsp...)
-						if *dfsp == nil {
-							*dfsp = []string{}
-						}
-					}
-				}
-			case isPointer: // E.g., *string
-				mfi.merge = func(dst, src pointer) {
-					sfpp := src.toStringPtr()
-					if *sfpp != nil {
-						dfpp := dst.toStringPtr()
-						if *dfpp == nil {
-							*dfpp = String(**sfpp)
-						} else {
-							**dfpp = **sfpp
-						}
-					}
-				}
-			default: // E.g., string
-				mfi.merge = func(dst, src pointer) {
-					if v := *src.toString(); v != "" {
-						*dst.toString() = v
-					}
-				}
-			}
-		case reflect.Slice:
-			isProto3 := props.Prop[i].proto3
-			switch {
-			case isPointer:
-				panic("bad pointer in byte slice case in " + tf.Name())
-			case tf.Elem().Kind() != reflect.Uint8:
-				panic("bad element kind in byte slice case in " + tf.Name())
-			case isSlice: // E.g., [][]byte
-				mfi.merge = func(dst, src pointer) {
-					sbsp := src.toBytesSlice()
-					if *sbsp != nil {
-						dbsp := dst.toBytesSlice()
-						for _, sb := range *sbsp {
-							if sb == nil {
-								*dbsp = append(*dbsp, nil)
-							} else {
-								*dbsp = append(*dbsp, append([]byte{}, sb...))
-							}
-						}
-						if *dbsp == nil {
-							*dbsp = [][]byte{}
-						}
-					}
-				}
-			default: // E.g., []byte
-				mfi.merge = func(dst, src pointer) {
-					sbp := src.toBytes()
-					if *sbp != nil {
-						dbp := dst.toBytes()
-						if !isProto3 || len(*sbp) > 0 {
-							*dbp = append([]byte{}, *sbp...)
-						}
-					}
-				}
-			}
-		case reflect.Struct:
-			switch {
-			case !isPointer:
-				mergeInfo := getMergeInfo(tf)
-				mfi.merge = func(dst, src pointer) {
-					mergeInfo.merge(dst, src)
-				}
-			case isSlice: // E.g., []*pb.T
-				mergeInfo := getMergeInfo(tf)
-				mfi.merge = func(dst, src pointer) {
-					sps := src.getPointerSlice()
-					if sps != nil {
-						dps := dst.getPointerSlice()
-						for _, sp := range sps {
-							var dp pointer
-							if !sp.isNil() {
-								dp = valToPointer(reflect.New(tf))
-								mergeInfo.merge(dp, sp)
-							}
-							dps = append(dps, dp)
-						}
-						if dps == nil {
-							dps = []pointer{}
-						}
-						dst.setPointerSlice(dps)
-					}
-				}
-			default: // E.g., *pb.T
-				mergeInfo := getMergeInfo(tf)
-				mfi.merge = func(dst, src pointer) {
-					sp := src.getPointer()
-					if !sp.isNil() {
-						dp := dst.getPointer()
-						if dp.isNil() {
-							dp = valToPointer(reflect.New(tf))
-							dst.setPointer(dp)
-						}
-						mergeInfo.merge(dp, sp)
-					}
-				}
-			}
-		case reflect.Map:
-			switch {
-			case isPointer || isSlice:
-				panic("bad pointer or slice in map case in " + tf.Name())
-			default: // E.g., map[K]V
-				mfi.merge = func(dst, src pointer) {
-					sm := src.asPointerTo(tf).Elem()
-					if sm.Len() == 0 {
-						return
-					}
-					dm := dst.asPointerTo(tf).Elem()
-					if dm.IsNil() {
-						dm.Set(reflect.MakeMap(tf))
-					}
-
-					switch tf.Elem().Kind() {
-					case reflect.Ptr: // Proto struct (e.g., *T)
-						for _, key := range sm.MapKeys() {
-							val := sm.MapIndex(key)
-							val = reflect.ValueOf(Clone(val.Interface().(Message)))
-							dm.SetMapIndex(key, val)
-						}
-					case reflect.Slice: // E.g. Bytes type (e.g., []byte)
-						for _, key := range sm.MapKeys() {
-							val := sm.MapIndex(key)
-							val = reflect.ValueOf(append([]byte{}, val.Bytes()...))
-							dm.SetMapIndex(key, val)
-						}
-					default: // Basic type (e.g., string)
-						for _, key := range sm.MapKeys() {
-							val := sm.MapIndex(key)
-							dm.SetMapIndex(key, val)
-						}
-					}
-				}
-			}
-		case reflect.Interface:
-			// Must be oneof field.
-			switch {
-			case isPointer || isSlice:
-				panic("bad pointer or slice in interface case in " + tf.Name())
-			default: // E.g., interface{}
-				// TODO: Make this faster?
-				mfi.merge = func(dst, src pointer) {
-					su := src.asPointerTo(tf).Elem()
-					if !su.IsNil() {
-						du := dst.asPointerTo(tf).Elem()
-						typ := su.Elem().Type()
-						if du.IsNil() || du.Elem().Type() != typ {
-							du.Set(reflect.New(typ.Elem())) // Initialize interface if empty
-						}
-						sv := su.Elem().Elem().Field(0)
-						if sv.Kind() == reflect.Ptr && sv.IsNil() {
-							return
-						}
-						dv := du.Elem().Elem().Field(0)
-						if dv.Kind() == reflect.Ptr && dv.IsNil() {
-							dv.Set(reflect.New(sv.Type().Elem())) // Initialize proto message if empty
-						}
-						switch sv.Type().Kind() {
-						case reflect.Ptr: // Proto struct (e.g., *T)
-							Merge(dv.Interface().(Message), sv.Interface().(Message))
-						case reflect.Slice: // E.g. Bytes type (e.g., []byte)
-							dv.Set(reflect.ValueOf(append([]byte{}, sv.Bytes()...)))
-						default: // Basic type (e.g., string)
-							dv.Set(sv)
-						}
-					}
-				}
-			}
-		default:
-			panic(fmt.Sprintf("merger not found for type:%s", tf))
-		}
-		mi.fields = append(mi.fields, mfi)
-	}
-
-	mi.unrecognized = invalidField
-	if f, ok := t.FieldByName("XXX_unrecognized"); ok {
-		if f.Type != reflect.TypeOf([]byte{}) {
-			panic("expected XXX_unrecognized to be of type []byte")
-		}
-		mi.unrecognized = toField(&f)
-	}
-
-	atomic.StoreInt32(&mi.initialized, 1)
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/table_unmarshal.go b/vendor/github.com/gogo/protobuf/proto/table_unmarshal.go
deleted file mode 100644
index b6371bb..0000000
--- a/vendor/github.com/gogo/protobuf/proto/table_unmarshal.go
+++ /dev/null
@@ -1,2058 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2016 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"errors"
-	"fmt"
-	"io"
-	"math"
-	"reflect"
-	"strconv"
-	"strings"
-	"sync"
-	"sync/atomic"
-	"unicode/utf8"
-)
-
-// Unmarshal is the entry point from the generated .pb.go files.
-// This function is not intended to be used by non-generated code.
-// This function is not subject to any compatibility guarantee.
-// msg contains a pointer to a protocol buffer struct.
-// b is the data to be unmarshaled into the protocol buffer.
-// a is a pointer to a place to store cached unmarshal information.
-func (a *InternalMessageInfo) Unmarshal(msg Message, b []byte) error {
-	// Load the unmarshal information for this message type.
-	// The atomic load ensures memory consistency.
-	u := atomicLoadUnmarshalInfo(&a.unmarshal)
-	if u == nil {
-		// Slow path: find unmarshal info for msg, update a with it.
-		u = getUnmarshalInfo(reflect.TypeOf(msg).Elem())
-		atomicStoreUnmarshalInfo(&a.unmarshal, u)
-	}
-	// Then do the unmarshaling.
-	err := u.unmarshal(toPointer(&msg), b)
-	return err
-}
-
-type unmarshalInfo struct {
-	typ reflect.Type // type of the protobuf struct
-
-	// 0 = only typ field is initialized
-	// 1 = completely initialized
-	initialized     int32
-	lock            sync.Mutex                    // prevents double initialization
-	dense           []unmarshalFieldInfo          // fields indexed by tag #
-	sparse          map[uint64]unmarshalFieldInfo // fields indexed by tag #
-	reqFields       []string                      // names of required fields
-	reqMask         uint64                        // 1<<len(reqFields)-1
-	unrecognized    field                         // offset of []byte to put unrecognized data (or invalidField if we should throw it away)
-	extensions      field                         // offset of extensions field (of type proto.XXX_InternalExtensions), or invalidField if it does not exist
-	oldExtensions   field                         // offset of old-form extensions field (of type map[int]Extension)
-	extensionRanges []ExtensionRange              // if non-nil, implies extensions field is valid
-	isMessageSet    bool                          // if true, implies extensions field is valid
-
-	bytesExtensions field // offset of XXX_extensions with type []byte
-}
-
-// An unmarshaler takes a stream of bytes and a pointer to a field of a message.
-// It decodes the field, stores it at f, and returns the unused bytes.
-// w is the wire encoding.
-// b is the data after the tag and wire encoding have been read.
-type unmarshaler func(b []byte, f pointer, w int) ([]byte, error)
-
-type unmarshalFieldInfo struct {
-	// location of the field in the proto message structure.
-	field field
-
-	// function to unmarshal the data for the field.
-	unmarshal unmarshaler
-
-	// if a required field, contains a single set bit at this field's index in the required field list.
-	reqMask uint64
-
-	name string // name of the field, for error reporting
-}
-
-var (
-	unmarshalInfoMap  = map[reflect.Type]*unmarshalInfo{}
-	unmarshalInfoLock sync.Mutex
-)
-
-// getUnmarshalInfo returns the data structure which can be
-// subsequently used to unmarshal a message of the given type.
-// t is the type of the message (note: not pointer to message).
-func getUnmarshalInfo(t reflect.Type) *unmarshalInfo {
-	// It would be correct to return a new unmarshalInfo
-	// unconditionally. We would end up allocating one
-	// per occurrence of that type as a message or submessage.
-	// We use a cache here just to reduce memory usage.
-	unmarshalInfoLock.Lock()
-	defer unmarshalInfoLock.Unlock()
-	u := unmarshalInfoMap[t]
-	if u == nil {
-		u = &unmarshalInfo{typ: t}
-		// Note: we just set the type here. The rest of the fields
-		// will be initialized on first use.
-		unmarshalInfoMap[t] = u
-	}
-	return u
-}
-
-// unmarshal does the main work of unmarshaling a message.
-// u provides type information used to unmarshal the message.
-// m is a pointer to a protocol buffer message.
-// b is a byte stream to unmarshal into m.
-// This is top routine used when recursively unmarshaling submessages.
-func (u *unmarshalInfo) unmarshal(m pointer, b []byte) error {
-	if atomic.LoadInt32(&u.initialized) == 0 {
-		u.computeUnmarshalInfo()
-	}
-	if u.isMessageSet {
-		return UnmarshalMessageSet(b, m.offset(u.extensions).toExtensions())
-	}
-	var reqMask uint64            // bitmask of required fields we've seen.
-	var rnse *RequiredNotSetError // an instance of a RequiredNotSetError returned by a submessage.
-	for len(b) > 0 {
-		// Read tag and wire type.
-		// Special case 1 and 2 byte varints.
-		var x uint64
-		if b[0] < 128 {
-			x = uint64(b[0])
-			b = b[1:]
-		} else if len(b) >= 2 && b[1] < 128 {
-			x = uint64(b[0]&0x7f) + uint64(b[1])<<7
-			b = b[2:]
-		} else {
-			var n int
-			x, n = decodeVarint(b)
-			if n == 0 {
-				return io.ErrUnexpectedEOF
-			}
-			b = b[n:]
-		}
-		tag := x >> 3
-		wire := int(x) & 7
-
-		// Dispatch on the tag to one of the unmarshal* functions below.
-		var f unmarshalFieldInfo
-		if tag < uint64(len(u.dense)) {
-			f = u.dense[tag]
-		} else {
-			f = u.sparse[tag]
-		}
-		if fn := f.unmarshal; fn != nil {
-			var err error
-			b, err = fn(b, m.offset(f.field), wire)
-			if err == nil {
-				reqMask |= f.reqMask
-				continue
-			}
-			if r, ok := err.(*RequiredNotSetError); ok {
-				// Remember this error, but keep parsing. We need to produce
-				// a full parse even if a required field is missing.
-				rnse = r
-				reqMask |= f.reqMask
-				continue
-			}
-			if err != errInternalBadWireType {
-				return err
-			}
-			// Fragments with bad wire type are treated as unknown fields.
-		}
-
-		// Unknown tag.
-		if !u.unrecognized.IsValid() {
-			// Don't keep unrecognized data; just skip it.
-			var err error
-			b, err = skipField(b, wire)
-			if err != nil {
-				return err
-			}
-			continue
-		}
-		// Keep unrecognized data around.
-		// maybe in extensions, maybe in the unrecognized field.
-		z := m.offset(u.unrecognized).toBytes()
-		var emap map[int32]Extension
-		var e Extension
-		for _, r := range u.extensionRanges {
-			if uint64(r.Start) <= tag && tag <= uint64(r.End) {
-				if u.extensions.IsValid() {
-					mp := m.offset(u.extensions).toExtensions()
-					emap = mp.extensionsWrite()
-					e = emap[int32(tag)]
-					z = &e.enc
-					break
-				}
-				if u.oldExtensions.IsValid() {
-					p := m.offset(u.oldExtensions).toOldExtensions()
-					emap = *p
-					if emap == nil {
-						emap = map[int32]Extension{}
-						*p = emap
-					}
-					e = emap[int32(tag)]
-					z = &e.enc
-					break
-				}
-				if u.bytesExtensions.IsValid() {
-					z = m.offset(u.bytesExtensions).toBytes()
-					break
-				}
-				panic("no extensions field available")
-			}
-		}
-		// Use wire type to skip data.
-		var err error
-		b0 := b
-		b, err = skipField(b, wire)
-		if err != nil {
-			return err
-		}
-		*z = encodeVarint(*z, tag<<3|uint64(wire))
-		*z = append(*z, b0[:len(b0)-len(b)]...)
-
-		if emap != nil {
-			emap[int32(tag)] = e
-		}
-	}
-	if rnse != nil {
-		// A required field of a submessage/group is missing. Return that error.
-		return rnse
-	}
-	if reqMask != u.reqMask {
-		// A required field of this message is missing.
-		for _, n := range u.reqFields {
-			if reqMask&1 == 0 {
-				return &RequiredNotSetError{n}
-			}
-			reqMask >>= 1
-		}
-	}
-	return nil
-}
-
-// computeUnmarshalInfo fills in u with information for use
-// in unmarshaling protocol buffers of type u.typ.
-func (u *unmarshalInfo) computeUnmarshalInfo() {
-	u.lock.Lock()
-	defer u.lock.Unlock()
-	if u.initialized != 0 {
-		return
-	}
-	t := u.typ
-	n := t.NumField()
-
-	// Set up the "not found" value for the unrecognized byte buffer.
-	// This is the default for proto3.
-	u.unrecognized = invalidField
-	u.extensions = invalidField
-	u.oldExtensions = invalidField
-	u.bytesExtensions = invalidField
-
-	// List of the generated type and offset for each oneof field.
-	type oneofField struct {
-		ityp  reflect.Type // interface type of oneof field
-		field field        // offset in containing message
-	}
-	var oneofFields []oneofField
-
-	for i := 0; i < n; i++ {
-		f := t.Field(i)
-		if f.Name == "XXX_unrecognized" {
-			// The byte slice used to hold unrecognized input is special.
-			if f.Type != reflect.TypeOf(([]byte)(nil)) {
-				panic("bad type for XXX_unrecognized field: " + f.Type.Name())
-			}
-			u.unrecognized = toField(&f)
-			continue
-		}
-		if f.Name == "XXX_InternalExtensions" {
-			// Ditto here.
-			if f.Type != reflect.TypeOf(XXX_InternalExtensions{}) {
-				panic("bad type for XXX_InternalExtensions field: " + f.Type.Name())
-			}
-			u.extensions = toField(&f)
-			if f.Tag.Get("protobuf_messageset") == "1" {
-				u.isMessageSet = true
-			}
-			continue
-		}
-		if f.Name == "XXX_extensions" {
-			// An older form of the extensions field.
-			if f.Type == reflect.TypeOf((map[int32]Extension)(nil)) {
-				u.oldExtensions = toField(&f)
-				continue
-			} else if f.Type == reflect.TypeOf(([]byte)(nil)) {
-				u.bytesExtensions = toField(&f)
-				continue
-			}
-			panic("bad type for XXX_extensions field: " + f.Type.Name())
-		}
-		if f.Name == "XXX_NoUnkeyedLiteral" || f.Name == "XXX_sizecache" {
-			continue
-		}
-
-		oneof := f.Tag.Get("protobuf_oneof")
-		if oneof != "" {
-			oneofFields = append(oneofFields, oneofField{f.Type, toField(&f)})
-			// The rest of oneof processing happens below.
-			continue
-		}
-
-		tags := f.Tag.Get("protobuf")
-		tagArray := strings.Split(tags, ",")
-		if len(tagArray) < 2 {
-			panic("protobuf tag not enough fields in " + t.Name() + "." + f.Name + ": " + tags)
-		}
-		tag, err := strconv.Atoi(tagArray[1])
-		if err != nil {
-			panic("protobuf tag field not an integer: " + tagArray[1])
-		}
-
-		name := ""
-		for _, tag := range tagArray[3:] {
-			if strings.HasPrefix(tag, "name=") {
-				name = tag[5:]
-			}
-		}
-
-		// Extract unmarshaling function from the field (its type and tags).
-		unmarshal := fieldUnmarshaler(&f)
-
-		// Required field?
-		var reqMask uint64
-		if tagArray[2] == "req" {
-			bit := len(u.reqFields)
-			u.reqFields = append(u.reqFields, name)
-			reqMask = uint64(1) << uint(bit)
-			// TODO: if we have more than 64 required fields, we end up
-			// not verifying that all required fields are present.
-			// Fix this, perhaps using a count of required fields?
-		}
-
-		// Store the info in the correct slot in the message.
-		u.setTag(tag, toField(&f), unmarshal, reqMask, name)
-	}
-
-	// Find any types associated with oneof fields.
-	// TODO: XXX_OneofFuncs returns more info than we need.  Get rid of some of it?
-	fn := reflect.Zero(reflect.PtrTo(t)).MethodByName("XXX_OneofFuncs")
-	// gogo: len(oneofFields) > 0 is needed for embedded oneof messages, without a marshaler and unmarshaler
-	if fn.IsValid() && len(oneofFields) > 0 {
-		res := fn.Call(nil)[3] // last return value from XXX_OneofFuncs: []interface{}
-		for i := res.Len() - 1; i >= 0; i-- {
-			v := res.Index(i)                             // interface{}
-			tptr := reflect.ValueOf(v.Interface()).Type() // *Msg_X
-			typ := tptr.Elem()                            // Msg_X
-
-			f := typ.Field(0) // oneof implementers have one field
-			baseUnmarshal := fieldUnmarshaler(&f)
-			tags := strings.Split(f.Tag.Get("protobuf"), ",")
-			fieldNum, err := strconv.Atoi(tags[1])
-			if err != nil {
-				panic("protobuf tag field not an integer: " + tags[1])
-			}
-			var name string
-			for _, tag := range tags {
-				if strings.HasPrefix(tag, "name=") {
-					name = strings.TrimPrefix(tag, "name=")
-					break
-				}
-			}
-
-			// Find the oneof field that this struct implements.
-			// Might take O(n^2) to process all of the oneofs, but who cares.
-			for _, of := range oneofFields {
-				if tptr.Implements(of.ityp) {
-					// We have found the corresponding interface for this struct.
-					// That lets us know where this struct should be stored
-					// when we encounter it during unmarshaling.
-					unmarshal := makeUnmarshalOneof(typ, of.ityp, baseUnmarshal)
-					u.setTag(fieldNum, of.field, unmarshal, 0, name)
-				}
-			}
-		}
-	}
-
-	// Get extension ranges, if any.
-	fn = reflect.Zero(reflect.PtrTo(t)).MethodByName("ExtensionRangeArray")
-	if fn.IsValid() {
-		if !u.extensions.IsValid() && !u.oldExtensions.IsValid() && !u.bytesExtensions.IsValid() {
-			panic("a message with extensions, but no extensions field in " + t.Name())
-		}
-		u.extensionRanges = fn.Call(nil)[0].Interface().([]ExtensionRange)
-	}
-
-	// Explicitly disallow tag 0. This will ensure we flag an error
-	// when decoding a buffer of all zeros. Without this code, we
-	// would decode and skip an all-zero buffer of even length.
-	// [0 0] is [tag=0/wiretype=varint varint-encoded-0].
-	u.setTag(0, zeroField, func(b []byte, f pointer, w int) ([]byte, error) {
-		return nil, fmt.Errorf("proto: %s: illegal tag 0 (wire type %d)", t, w)
-	}, 0, "")
-
-	// Set mask for required field check.
-	u.reqMask = uint64(1)<<uint(len(u.reqFields)) - 1
-
-	atomic.StoreInt32(&u.initialized, 1)
-}
-
-// setTag stores the unmarshal information for the given tag.
-// tag = tag # for field
-// field/unmarshal = unmarshal info for that field.
-// reqMask = if required, bitmask for field position in required field list. 0 otherwise.
-// name = short name of the field.
-func (u *unmarshalInfo) setTag(tag int, field field, unmarshal unmarshaler, reqMask uint64, name string) {
-	i := unmarshalFieldInfo{field: field, unmarshal: unmarshal, reqMask: reqMask, name: name}
-	n := u.typ.NumField()
-	if tag >= 0 && (tag < 16 || tag < 2*n) { // TODO: what are the right numbers here?
-		for len(u.dense) <= tag {
-			u.dense = append(u.dense, unmarshalFieldInfo{})
-		}
-		u.dense[tag] = i
-		return
-	}
-	if u.sparse == nil {
-		u.sparse = map[uint64]unmarshalFieldInfo{}
-	}
-	u.sparse[uint64(tag)] = i
-}
-
-// fieldUnmarshaler returns an unmarshaler for the given field.
-func fieldUnmarshaler(f *reflect.StructField) unmarshaler {
-	if f.Type.Kind() == reflect.Map {
-		return makeUnmarshalMap(f)
-	}
-	return typeUnmarshaler(f.Type, f.Tag.Get("protobuf"))
-}
-
-// typeUnmarshaler returns an unmarshaler for the given field type / field tag pair.
-func typeUnmarshaler(t reflect.Type, tags string) unmarshaler {
-	tagArray := strings.Split(tags, ",")
-	encoding := tagArray[0]
-	name := "unknown"
-	ctype := false
-	isTime := false
-	isDuration := false
-	for _, tag := range tagArray[3:] {
-		if strings.HasPrefix(tag, "name=") {
-			name = tag[5:]
-		}
-		if strings.HasPrefix(tag, "customtype=") {
-			ctype = true
-		}
-		if tag == "stdtime" {
-			isTime = true
-		}
-		if tag == "stdduration" {
-			isDuration = true
-		}
-	}
-
-	// Figure out packaging (pointer, slice, or both)
-	slice := false
-	pointer := false
-	if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 {
-		slice = true
-		t = t.Elem()
-	}
-	if t.Kind() == reflect.Ptr {
-		pointer = true
-		t = t.Elem()
-	}
-
-	if ctype {
-		if reflect.PtrTo(t).Implements(customType) {
-			if slice {
-				return makeUnmarshalCustomSlice(getUnmarshalInfo(t), name)
-			}
-			if pointer {
-				return makeUnmarshalCustomPtr(getUnmarshalInfo(t), name)
-			}
-			return makeUnmarshalCustom(getUnmarshalInfo(t), name)
-		} else {
-			panic(fmt.Sprintf("custom type: type: %v, does not implement the proto.custom interface", t))
-		}
-	}
-
-	if isTime {
-		if pointer {
-			if slice {
-				return makeUnmarshalTimePtrSlice(getUnmarshalInfo(t), name)
-			}
-			return makeUnmarshalTimePtr(getUnmarshalInfo(t), name)
-		}
-		if slice {
-			return makeUnmarshalTimeSlice(getUnmarshalInfo(t), name)
-		}
-		return makeUnmarshalTime(getUnmarshalInfo(t), name)
-	}
-
-	if isDuration {
-		if pointer {
-			if slice {
-				return makeUnmarshalDurationPtrSlice(getUnmarshalInfo(t), name)
-			}
-			return makeUnmarshalDurationPtr(getUnmarshalInfo(t), name)
-		}
-		if slice {
-			return makeUnmarshalDurationSlice(getUnmarshalInfo(t), name)
-		}
-		return makeUnmarshalDuration(getUnmarshalInfo(t), name)
-	}
-
-	// We'll never have both pointer and slice for basic types.
-	if pointer && slice && t.Kind() != reflect.Struct {
-		panic("both pointer and slice for basic type in " + t.Name())
-	}
-
-	switch t.Kind() {
-	case reflect.Bool:
-		if pointer {
-			return unmarshalBoolPtr
-		}
-		if slice {
-			return unmarshalBoolSlice
-		}
-		return unmarshalBoolValue
-	case reflect.Int32:
-		switch encoding {
-		case "fixed32":
-			if pointer {
-				return unmarshalFixedS32Ptr
-			}
-			if slice {
-				return unmarshalFixedS32Slice
-			}
-			return unmarshalFixedS32Value
-		case "varint":
-			// this could be int32 or enum
-			if pointer {
-				return unmarshalInt32Ptr
-			}
-			if slice {
-				return unmarshalInt32Slice
-			}
-			return unmarshalInt32Value
-		case "zigzag32":
-			if pointer {
-				return unmarshalSint32Ptr
-			}
-			if slice {
-				return unmarshalSint32Slice
-			}
-			return unmarshalSint32Value
-		}
-	case reflect.Int64:
-		switch encoding {
-		case "fixed64":
-			if pointer {
-				return unmarshalFixedS64Ptr
-			}
-			if slice {
-				return unmarshalFixedS64Slice
-			}
-			return unmarshalFixedS64Value
-		case "varint":
-			if pointer {
-				return unmarshalInt64Ptr
-			}
-			if slice {
-				return unmarshalInt64Slice
-			}
-			return unmarshalInt64Value
-		case "zigzag64":
-			if pointer {
-				return unmarshalSint64Ptr
-			}
-			if slice {
-				return unmarshalSint64Slice
-			}
-			return unmarshalSint64Value
-		}
-	case reflect.Uint32:
-		switch encoding {
-		case "fixed32":
-			if pointer {
-				return unmarshalFixed32Ptr
-			}
-			if slice {
-				return unmarshalFixed32Slice
-			}
-			return unmarshalFixed32Value
-		case "varint":
-			if pointer {
-				return unmarshalUint32Ptr
-			}
-			if slice {
-				return unmarshalUint32Slice
-			}
-			return unmarshalUint32Value
-		}
-	case reflect.Uint64:
-		switch encoding {
-		case "fixed64":
-			if pointer {
-				return unmarshalFixed64Ptr
-			}
-			if slice {
-				return unmarshalFixed64Slice
-			}
-			return unmarshalFixed64Value
-		case "varint":
-			if pointer {
-				return unmarshalUint64Ptr
-			}
-			if slice {
-				return unmarshalUint64Slice
-			}
-			return unmarshalUint64Value
-		}
-	case reflect.Float32:
-		if pointer {
-			return unmarshalFloat32Ptr
-		}
-		if slice {
-			return unmarshalFloat32Slice
-		}
-		return unmarshalFloat32Value
-	case reflect.Float64:
-		if pointer {
-			return unmarshalFloat64Ptr
-		}
-		if slice {
-			return unmarshalFloat64Slice
-		}
-		return unmarshalFloat64Value
-	case reflect.Map:
-		panic("map type in typeUnmarshaler in " + t.Name())
-	case reflect.Slice:
-		if pointer {
-			panic("bad pointer in slice case in " + t.Name())
-		}
-		if slice {
-			return unmarshalBytesSlice
-		}
-		return unmarshalBytesValue
-	case reflect.String:
-		if pointer {
-			return unmarshalStringPtr
-		}
-		if slice {
-			return unmarshalStringSlice
-		}
-		return unmarshalStringValue
-	case reflect.Struct:
-		// message or group field
-		if !pointer {
-			switch encoding {
-			case "bytes":
-				if slice {
-					return makeUnmarshalMessageSlice(getUnmarshalInfo(t), name)
-				}
-				return makeUnmarshalMessage(getUnmarshalInfo(t), name)
-			}
-		}
-		switch encoding {
-		case "bytes":
-			if slice {
-				return makeUnmarshalMessageSlicePtr(getUnmarshalInfo(t), name)
-			}
-			return makeUnmarshalMessagePtr(getUnmarshalInfo(t), name)
-		case "group":
-			if slice {
-				return makeUnmarshalGroupSlicePtr(getUnmarshalInfo(t), name)
-			}
-			return makeUnmarshalGroupPtr(getUnmarshalInfo(t), name)
-		}
-	}
-	panic(fmt.Sprintf("unmarshaler not found type:%s encoding:%s", t, encoding))
-}
-
-// Below are all the unmarshalers for individual fields of various types.
-
-func unmarshalInt64Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int64(x)
-	*f.toInt64() = v
-	return b, nil
-}
-
-func unmarshalInt64Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int64(x)
-	*f.toInt64Ptr() = &v
-	return b, nil
-}
-
-func unmarshalInt64Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			x, n = decodeVarint(b)
-			if n == 0 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			b = b[n:]
-			v := int64(x)
-			s := f.toInt64Slice()
-			*s = append(*s, v)
-		}
-		return res, nil
-	}
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int64(x)
-	s := f.toInt64Slice()
-	*s = append(*s, v)
-	return b, nil
-}
-
-func unmarshalSint64Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int64(x>>1) ^ int64(x)<<63>>63
-	*f.toInt64() = v
-	return b, nil
-}
-
-func unmarshalSint64Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int64(x>>1) ^ int64(x)<<63>>63
-	*f.toInt64Ptr() = &v
-	return b, nil
-}
-
-func unmarshalSint64Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			x, n = decodeVarint(b)
-			if n == 0 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			b = b[n:]
-			v := int64(x>>1) ^ int64(x)<<63>>63
-			s := f.toInt64Slice()
-			*s = append(*s, v)
-		}
-		return res, nil
-	}
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int64(x>>1) ^ int64(x)<<63>>63
-	s := f.toInt64Slice()
-	*s = append(*s, v)
-	return b, nil
-}
-
-func unmarshalUint64Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := uint64(x)
-	*f.toUint64() = v
-	return b, nil
-}
-
-func unmarshalUint64Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := uint64(x)
-	*f.toUint64Ptr() = &v
-	return b, nil
-}
-
-func unmarshalUint64Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			x, n = decodeVarint(b)
-			if n == 0 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			b = b[n:]
-			v := uint64(x)
-			s := f.toUint64Slice()
-			*s = append(*s, v)
-		}
-		return res, nil
-	}
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := uint64(x)
-	s := f.toUint64Slice()
-	*s = append(*s, v)
-	return b, nil
-}
-
-func unmarshalInt32Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int32(x)
-	*f.toInt32() = v
-	return b, nil
-}
-
-func unmarshalInt32Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int32(x)
-	f.setInt32Ptr(v)
-	return b, nil
-}
-
-func unmarshalInt32Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			x, n = decodeVarint(b)
-			if n == 0 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			b = b[n:]
-			v := int32(x)
-			f.appendInt32Slice(v)
-		}
-		return res, nil
-	}
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int32(x)
-	f.appendInt32Slice(v)
-	return b, nil
-}
-
-func unmarshalSint32Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int32(x>>1) ^ int32(x)<<31>>31
-	*f.toInt32() = v
-	return b, nil
-}
-
-func unmarshalSint32Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int32(x>>1) ^ int32(x)<<31>>31
-	f.setInt32Ptr(v)
-	return b, nil
-}
-
-func unmarshalSint32Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			x, n = decodeVarint(b)
-			if n == 0 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			b = b[n:]
-			v := int32(x>>1) ^ int32(x)<<31>>31
-			f.appendInt32Slice(v)
-		}
-		return res, nil
-	}
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := int32(x>>1) ^ int32(x)<<31>>31
-	f.appendInt32Slice(v)
-	return b, nil
-}
-
-func unmarshalUint32Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := uint32(x)
-	*f.toUint32() = v
-	return b, nil
-}
-
-func unmarshalUint32Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := uint32(x)
-	*f.toUint32Ptr() = &v
-	return b, nil
-}
-
-func unmarshalUint32Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			x, n = decodeVarint(b)
-			if n == 0 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			b = b[n:]
-			v := uint32(x)
-			s := f.toUint32Slice()
-			*s = append(*s, v)
-		}
-		return res, nil
-	}
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	v := uint32(x)
-	s := f.toUint32Slice()
-	*s = append(*s, v)
-	return b, nil
-}
-
-func unmarshalFixed64Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed64 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 8 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
-	*f.toUint64() = v
-	return b[8:], nil
-}
-
-func unmarshalFixed64Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed64 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 8 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
-	*f.toUint64Ptr() = &v
-	return b[8:], nil
-}
-
-func unmarshalFixed64Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			if len(b) < 8 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
-			s := f.toUint64Slice()
-			*s = append(*s, v)
-			b = b[8:]
-		}
-		return res, nil
-	}
-	if w != WireFixed64 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 8 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
-	s := f.toUint64Slice()
-	*s = append(*s, v)
-	return b[8:], nil
-}
-
-func unmarshalFixedS64Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed64 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 8 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56
-	*f.toInt64() = v
-	return b[8:], nil
-}
-
-func unmarshalFixedS64Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed64 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 8 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56
-	*f.toInt64Ptr() = &v
-	return b[8:], nil
-}
-
-func unmarshalFixedS64Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			if len(b) < 8 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56
-			s := f.toInt64Slice()
-			*s = append(*s, v)
-			b = b[8:]
-		}
-		return res, nil
-	}
-	if w != WireFixed64 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 8 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56
-	s := f.toInt64Slice()
-	*s = append(*s, v)
-	return b[8:], nil
-}
-
-func unmarshalFixed32Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed32 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 4 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
-	*f.toUint32() = v
-	return b[4:], nil
-}
-
-func unmarshalFixed32Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed32 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 4 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
-	*f.toUint32Ptr() = &v
-	return b[4:], nil
-}
-
-func unmarshalFixed32Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			if len(b) < 4 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
-			s := f.toUint32Slice()
-			*s = append(*s, v)
-			b = b[4:]
-		}
-		return res, nil
-	}
-	if w != WireFixed32 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 4 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
-	s := f.toUint32Slice()
-	*s = append(*s, v)
-	return b[4:], nil
-}
-
-func unmarshalFixedS32Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed32 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 4 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24
-	*f.toInt32() = v
-	return b[4:], nil
-}
-
-func unmarshalFixedS32Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed32 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 4 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24
-	f.setInt32Ptr(v)
-	return b[4:], nil
-}
-
-func unmarshalFixedS32Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			if len(b) < 4 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24
-			f.appendInt32Slice(v)
-			b = b[4:]
-		}
-		return res, nil
-	}
-	if w != WireFixed32 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 4 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24
-	f.appendInt32Slice(v)
-	return b[4:], nil
-}
-
-func unmarshalBoolValue(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	// Note: any length varint is allowed, even though any sane
-	// encoder will use one byte.
-	// See https://github.com/golang/protobuf/issues/76
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	// TODO: check if x>1? Tests seem to indicate no.
-	v := x != 0
-	*f.toBool() = v
-	return b[n:], nil
-}
-
-func unmarshalBoolPtr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := x != 0
-	*f.toBoolPtr() = &v
-	return b[n:], nil
-}
-
-func unmarshalBoolSlice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			x, n = decodeVarint(b)
-			if n == 0 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			v := x != 0
-			s := f.toBoolSlice()
-			*s = append(*s, v)
-			b = b[n:]
-		}
-		return res, nil
-	}
-	if w != WireVarint {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := x != 0
-	s := f.toBoolSlice()
-	*s = append(*s, v)
-	return b[n:], nil
-}
-
-func unmarshalFloat64Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed64 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 8 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)
-	*f.toFloat64() = v
-	return b[8:], nil
-}
-
-func unmarshalFloat64Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed64 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 8 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)
-	*f.toFloat64Ptr() = &v
-	return b[8:], nil
-}
-
-func unmarshalFloat64Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			if len(b) < 8 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)
-			s := f.toFloat64Slice()
-			*s = append(*s, v)
-			b = b[8:]
-		}
-		return res, nil
-	}
-	if w != WireFixed64 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 8 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)
-	s := f.toFloat64Slice()
-	*s = append(*s, v)
-	return b[8:], nil
-}
-
-func unmarshalFloat32Value(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed32 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 4 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
-	*f.toFloat32() = v
-	return b[4:], nil
-}
-
-func unmarshalFloat32Ptr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireFixed32 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 4 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
-	*f.toFloat32Ptr() = &v
-	return b[4:], nil
-}
-
-func unmarshalFloat32Slice(b []byte, f pointer, w int) ([]byte, error) {
-	if w == WireBytes { // packed
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		res := b[x:]
-		b = b[:x]
-		for len(b) > 0 {
-			if len(b) < 4 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
-			s := f.toFloat32Slice()
-			*s = append(*s, v)
-			b = b[4:]
-		}
-		return res, nil
-	}
-	if w != WireFixed32 {
-		return b, errInternalBadWireType
-	}
-	if len(b) < 4 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)
-	s := f.toFloat32Slice()
-	*s = append(*s, v)
-	return b[4:], nil
-}
-
-func unmarshalStringValue(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireBytes {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	if x > uint64(len(b)) {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := string(b[:x])
-	if !utf8.ValidString(v) {
-		return nil, errInvalidUTF8
-	}
-	*f.toString() = v
-	return b[x:], nil
-}
-
-func unmarshalStringPtr(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireBytes {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	if x > uint64(len(b)) {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := string(b[:x])
-	if !utf8.ValidString(v) {
-		return nil, errInvalidUTF8
-	}
-	*f.toStringPtr() = &v
-	return b[x:], nil
-}
-
-func unmarshalStringSlice(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireBytes {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	if x > uint64(len(b)) {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := string(b[:x])
-	if !utf8.ValidString(v) {
-		return nil, errInvalidUTF8
-	}
-	s := f.toStringSlice()
-	*s = append(*s, v)
-	return b[x:], nil
-}
-
-var emptyBuf [0]byte
-
-func unmarshalBytesValue(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireBytes {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	if x > uint64(len(b)) {
-		return nil, io.ErrUnexpectedEOF
-	}
-	// The use of append here is a trick which avoids the zeroing
-	// that would be required if we used a make/copy pair.
-	// We append to emptyBuf instead of nil because we want
-	// a non-nil result even when the length is 0.
-	v := append(emptyBuf[:], b[:x]...)
-	*f.toBytes() = v
-	return b[x:], nil
-}
-
-func unmarshalBytesSlice(b []byte, f pointer, w int) ([]byte, error) {
-	if w != WireBytes {
-		return b, errInternalBadWireType
-	}
-	x, n := decodeVarint(b)
-	if n == 0 {
-		return nil, io.ErrUnexpectedEOF
-	}
-	b = b[n:]
-	if x > uint64(len(b)) {
-		return nil, io.ErrUnexpectedEOF
-	}
-	v := append(emptyBuf[:], b[:x]...)
-	s := f.toBytesSlice()
-	*s = append(*s, v)
-	return b[x:], nil
-}
-
-func makeUnmarshalMessagePtr(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return b, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		// First read the message field to see if something is there.
-		// The semantics of multiple submessages are weird.  Instead of
-		// the last one winning (as it is for all other fields), multiple
-		// submessages are merged.
-		v := f.getPointer()
-		if v.isNil() {
-			v = valToPointer(reflect.New(sub.typ))
-			f.setPointer(v)
-		}
-		err := sub.unmarshal(v, b[:x])
-		if err != nil {
-			if r, ok := err.(*RequiredNotSetError); ok {
-				r.field = name + "." + r.field
-			} else {
-				return nil, err
-			}
-		}
-		return b[x:], err
-	}
-}
-
-func makeUnmarshalMessageSlicePtr(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return b, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		v := valToPointer(reflect.New(sub.typ))
-		err := sub.unmarshal(v, b[:x])
-		if err != nil {
-			if r, ok := err.(*RequiredNotSetError); ok {
-				r.field = name + "." + r.field
-			} else {
-				return nil, err
-			}
-		}
-		f.appendPointer(v)
-		return b[x:], err
-	}
-}
-
-func makeUnmarshalGroupPtr(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireStartGroup {
-			return b, errInternalBadWireType
-		}
-		x, y := findEndGroup(b)
-		if x < 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		v := f.getPointer()
-		if v.isNil() {
-			v = valToPointer(reflect.New(sub.typ))
-			f.setPointer(v)
-		}
-		err := sub.unmarshal(v, b[:x])
-		if err != nil {
-			if r, ok := err.(*RequiredNotSetError); ok {
-				r.field = name + "." + r.field
-			} else {
-				return nil, err
-			}
-		}
-		return b[y:], err
-	}
-}
-
-func makeUnmarshalGroupSlicePtr(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireStartGroup {
-			return b, errInternalBadWireType
-		}
-		x, y := findEndGroup(b)
-		if x < 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		v := valToPointer(reflect.New(sub.typ))
-		err := sub.unmarshal(v, b[:x])
-		if err != nil {
-			if r, ok := err.(*RequiredNotSetError); ok {
-				r.field = name + "." + r.field
-			} else {
-				return nil, err
-			}
-		}
-		f.appendPointer(v)
-		return b[y:], err
-	}
-}
-
-func makeUnmarshalMap(f *reflect.StructField) unmarshaler {
-	t := f.Type
-	kt := t.Key()
-	vt := t.Elem()
-	tagArray := strings.Split(f.Tag.Get("protobuf"), ",")
-	valTags := strings.Split(f.Tag.Get("protobuf_val"), ",")
-	for _, t := range tagArray {
-		if strings.HasPrefix(t, "customtype=") {
-			valTags = append(valTags, t)
-		}
-		if t == "stdtime" {
-			valTags = append(valTags, t)
-		}
-		if t == "stdduration" {
-			valTags = append(valTags, t)
-		}
-	}
-	unmarshalKey := typeUnmarshaler(kt, f.Tag.Get("protobuf_key"))
-	unmarshalVal := typeUnmarshaler(vt, strings.Join(valTags, ","))
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		// The map entry is a submessage. Figure out how big it is.
-		if w != WireBytes {
-			return nil, fmt.Errorf("proto: bad wiretype for map field: got %d want %d", w, WireBytes)
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		r := b[x:] // unused data to return
-		b = b[:x]  // data for map entry
-
-		// Note: we could use #keys * #values ~= 200 functions
-		// to do map decoding without reflection. Probably not worth it.
-		// Maps will be somewhat slow. Oh well.
-
-		// Read key and value from data.
-		k := reflect.New(kt)
-		v := reflect.New(vt)
-		for len(b) > 0 {
-			x, n := decodeVarint(b)
-			if n == 0 {
-				return nil, io.ErrUnexpectedEOF
-			}
-			wire := int(x) & 7
-			b = b[n:]
-
-			var err error
-			switch x >> 3 {
-			case 1:
-				b, err = unmarshalKey(b, valToPointer(k), wire)
-			case 2:
-				b, err = unmarshalVal(b, valToPointer(v), wire)
-			default:
-				err = errInternalBadWireType // skip unknown tag
-			}
-
-			if err == nil {
-				continue
-			}
-			if err != errInternalBadWireType {
-				return nil, err
-			}
-
-			// Skip past unknown fields.
-			b, err = skipField(b, wire)
-			if err != nil {
-				return nil, err
-			}
-		}
-
-		// Get map, allocate if needed.
-		m := f.asPointerTo(t).Elem() // an addressable map[K]T
-		if m.IsNil() {
-			m.Set(reflect.MakeMap(t))
-		}
-
-		// Insert into map.
-		m.SetMapIndex(k.Elem(), v.Elem())
-
-		return r, nil
-	}
-}
-
-// makeUnmarshalOneof makes an unmarshaler for oneof fields.
-// for:
-// message Msg {
-//   oneof F {
-//     int64 X = 1;
-//     float64 Y = 2;
-//   }
-// }
-// typ is the type of the concrete entry for a oneof case (e.g. Msg_X).
-// ityp is the interface type of the oneof field (e.g. isMsg_F).
-// unmarshal is the unmarshaler for the base type of the oneof case (e.g. int64).
-// Note that this function will be called once for each case in the oneof.
-func makeUnmarshalOneof(typ, ityp reflect.Type, unmarshal unmarshaler) unmarshaler {
-	sf := typ.Field(0)
-	field0 := toField(&sf)
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		// Allocate holder for value.
-		v := reflect.New(typ)
-
-		// Unmarshal data into holder.
-		// We unmarshal into the first field of the holder object.
-		var err error
-		b, err = unmarshal(b, valToPointer(v).offset(field0), w)
-		if err != nil {
-			return nil, err
-		}
-
-		// Write pointer to holder into target field.
-		f.asPointerTo(ityp).Elem().Set(v)
-
-		return b, nil
-	}
-}
-
-// Error used by decode internally.
-var errInternalBadWireType = errors.New("proto: internal error: bad wiretype")
-
-// skipField skips past a field of type wire and returns the remaining bytes.
-func skipField(b []byte, wire int) ([]byte, error) {
-	switch wire {
-	case WireVarint:
-		_, k := decodeVarint(b)
-		if k == 0 {
-			return b, io.ErrUnexpectedEOF
-		}
-		b = b[k:]
-	case WireFixed32:
-		if len(b) < 4 {
-			return b, io.ErrUnexpectedEOF
-		}
-		b = b[4:]
-	case WireFixed64:
-		if len(b) < 8 {
-			return b, io.ErrUnexpectedEOF
-		}
-		b = b[8:]
-	case WireBytes:
-		m, k := decodeVarint(b)
-		if k == 0 || uint64(len(b)-k) < m {
-			return b, io.ErrUnexpectedEOF
-		}
-		b = b[uint64(k)+m:]
-	case WireStartGroup:
-		_, i := findEndGroup(b)
-		if i == -1 {
-			return b, io.ErrUnexpectedEOF
-		}
-		b = b[i:]
-	default:
-		return b, fmt.Errorf("proto: can't skip unknown wire type %d", wire)
-	}
-	return b, nil
-}
-
-// findEndGroup finds the index of the next EndGroup tag.
-// Groups may be nested, so the "next" EndGroup tag is the first
-// unpaired EndGroup.
-// findEndGroup returns the indexes of the start and end of the EndGroup tag.
-// Returns (-1,-1) if it can't find one.
-func findEndGroup(b []byte) (int, int) {
-	depth := 1
-	i := 0
-	for {
-		x, n := decodeVarint(b[i:])
-		if n == 0 {
-			return -1, -1
-		}
-		j := i
-		i += n
-		switch x & 7 {
-		case WireVarint:
-			_, k := decodeVarint(b[i:])
-			if k == 0 {
-				return -1, -1
-			}
-			i += k
-		case WireFixed32:
-			if len(b)-4 < i {
-				return -1, -1
-			}
-			i += 4
-		case WireFixed64:
-			if len(b)-8 < i {
-				return -1, -1
-			}
-			i += 8
-		case WireBytes:
-			m, k := decodeVarint(b[i:])
-			if k == 0 {
-				return -1, -1
-			}
-			i += k
-			if uint64(len(b)-i) < m {
-				return -1, -1
-			}
-			i += int(m)
-		case WireStartGroup:
-			depth++
-		case WireEndGroup:
-			depth--
-			if depth == 0 {
-				return j, i
-			}
-		default:
-			return -1, -1
-		}
-	}
-}
-
-// encodeVarint appends a varint-encoded integer to b and returns the result.
-func encodeVarint(b []byte, x uint64) []byte {
-	for x >= 1<<7 {
-		b = append(b, byte(x&0x7f|0x80))
-		x >>= 7
-	}
-	return append(b, byte(x))
-}
-
-// decodeVarint reads a varint-encoded integer from b.
-// Returns the decoded integer and the number of bytes read.
-// If there is an error, it returns 0,0.
-func decodeVarint(b []byte) (uint64, int) {
-	var x, y uint64
-	if len(b) <= 0 {
-		goto bad
-	}
-	x = uint64(b[0])
-	if x < 0x80 {
-		return x, 1
-	}
-	x -= 0x80
-
-	if len(b) <= 1 {
-		goto bad
-	}
-	y = uint64(b[1])
-	x += y << 7
-	if y < 0x80 {
-		return x, 2
-	}
-	x -= 0x80 << 7
-
-	if len(b) <= 2 {
-		goto bad
-	}
-	y = uint64(b[2])
-	x += y << 14
-	if y < 0x80 {
-		return x, 3
-	}
-	x -= 0x80 << 14
-
-	if len(b) <= 3 {
-		goto bad
-	}
-	y = uint64(b[3])
-	x += y << 21
-	if y < 0x80 {
-		return x, 4
-	}
-	x -= 0x80 << 21
-
-	if len(b) <= 4 {
-		goto bad
-	}
-	y = uint64(b[4])
-	x += y << 28
-	if y < 0x80 {
-		return x, 5
-	}
-	x -= 0x80 << 28
-
-	if len(b) <= 5 {
-		goto bad
-	}
-	y = uint64(b[5])
-	x += y << 35
-	if y < 0x80 {
-		return x, 6
-	}
-	x -= 0x80 << 35
-
-	if len(b) <= 6 {
-		goto bad
-	}
-	y = uint64(b[6])
-	x += y << 42
-	if y < 0x80 {
-		return x, 7
-	}
-	x -= 0x80 << 42
-
-	if len(b) <= 7 {
-		goto bad
-	}
-	y = uint64(b[7])
-	x += y << 49
-	if y < 0x80 {
-		return x, 8
-	}
-	x -= 0x80 << 49
-
-	if len(b) <= 8 {
-		goto bad
-	}
-	y = uint64(b[8])
-	x += y << 56
-	if y < 0x80 {
-		return x, 9
-	}
-	x -= 0x80 << 56
-
-	if len(b) <= 9 {
-		goto bad
-	}
-	y = uint64(b[9])
-	x += y << 63
-	if y < 2 {
-		return x, 10
-	}
-
-bad:
-	return 0, 0
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/table_unmarshal_gogo.go b/vendor/github.com/gogo/protobuf/proto/table_unmarshal_gogo.go
deleted file mode 100644
index 00d6c7a..0000000
--- a/vendor/github.com/gogo/protobuf/proto/table_unmarshal_gogo.go
+++ /dev/null
@@ -1,385 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2018, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"io"
-	"reflect"
-)
-
-func makeUnmarshalMessage(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		// First read the message field to see if something is there.
-		// The semantics of multiple submessages are weird.  Instead of
-		// the last one winning (as it is for all other fields), multiple
-		// submessages are merged.
-		v := f // gogo: changed from v := f.getPointer()
-		if v.isNil() {
-			v = valToPointer(reflect.New(sub.typ))
-			f.setPointer(v)
-		}
-		err := sub.unmarshal(v, b[:x])
-		if err != nil {
-			if r, ok := err.(*RequiredNotSetError); ok {
-				r.field = name + "." + r.field
-			} else {
-				return nil, err
-			}
-		}
-		return b[x:], err
-	}
-}
-
-func makeUnmarshalMessageSlice(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		v := valToPointer(reflect.New(sub.typ))
-		err := sub.unmarshal(v, b[:x])
-		if err != nil {
-			if r, ok := err.(*RequiredNotSetError); ok {
-				r.field = name + "." + r.field
-			} else {
-				return nil, err
-			}
-		}
-		f.appendRef(v, sub.typ) // gogo: changed from f.appendPointer(v)
-		return b[x:], err
-	}
-}
-
-func makeUnmarshalCustomPtr(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-
-		s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem()
-		s.Set(reflect.New(sub.typ))
-		m := s.Interface().(custom)
-		if err := m.Unmarshal(b[:x]); err != nil {
-			return nil, err
-		}
-		return b[x:], nil
-	}
-}
-
-func makeUnmarshalCustomSlice(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		m := reflect.New(sub.typ)
-		c := m.Interface().(custom)
-		if err := c.Unmarshal(b[:x]); err != nil {
-			return nil, err
-		}
-		v := valToPointer(m)
-		f.appendRef(v, sub.typ)
-		return b[x:], nil
-	}
-}
-
-func makeUnmarshalCustom(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-
-		m := f.asPointerTo(sub.typ).Interface().(custom)
-		if err := m.Unmarshal(b[:x]); err != nil {
-			return nil, err
-		}
-		return b[x:], nil
-	}
-}
-
-func makeUnmarshalTime(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		m := &timestamp{}
-		if err := Unmarshal(b[:x], m); err != nil {
-			return nil, err
-		}
-		t, err := timestampFromProto(m)
-		if err != nil {
-			return nil, err
-		}
-		s := f.asPointerTo(sub.typ).Elem()
-		s.Set(reflect.ValueOf(t))
-		return b[x:], nil
-	}
-}
-
-func makeUnmarshalTimePtr(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		m := &timestamp{}
-		if err := Unmarshal(b[:x], m); err != nil {
-			return nil, err
-		}
-		t, err := timestampFromProto(m)
-		if err != nil {
-			return nil, err
-		}
-		s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem()
-		s.Set(reflect.ValueOf(&t))
-		return b[x:], nil
-	}
-}
-
-func makeUnmarshalTimePtrSlice(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		m := &timestamp{}
-		if err := Unmarshal(b[:x], m); err != nil {
-			return nil, err
-		}
-		t, err := timestampFromProto(m)
-		if err != nil {
-			return nil, err
-		}
-		slice := f.getSlice(reflect.PtrTo(sub.typ))
-		newSlice := reflect.Append(slice, reflect.ValueOf(&t))
-		slice.Set(newSlice)
-		return b[x:], nil
-	}
-}
-
-func makeUnmarshalTimeSlice(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		m := &timestamp{}
-		if err := Unmarshal(b[:x], m); err != nil {
-			return nil, err
-		}
-		t, err := timestampFromProto(m)
-		if err != nil {
-			return nil, err
-		}
-		slice := f.getSlice(sub.typ)
-		newSlice := reflect.Append(slice, reflect.ValueOf(t))
-		slice.Set(newSlice)
-		return b[x:], nil
-	}
-}
-
-func makeUnmarshalDurationPtr(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		m := &duration{}
-		if err := Unmarshal(b[:x], m); err != nil {
-			return nil, err
-		}
-		d, err := durationFromProto(m)
-		if err != nil {
-			return nil, err
-		}
-		s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem()
-		s.Set(reflect.ValueOf(&d))
-		return b[x:], nil
-	}
-}
-
-func makeUnmarshalDuration(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		m := &duration{}
-		if err := Unmarshal(b[:x], m); err != nil {
-			return nil, err
-		}
-		d, err := durationFromProto(m)
-		if err != nil {
-			return nil, err
-		}
-		s := f.asPointerTo(sub.typ).Elem()
-		s.Set(reflect.ValueOf(d))
-		return b[x:], nil
-	}
-}
-
-func makeUnmarshalDurationPtrSlice(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		m := &duration{}
-		if err := Unmarshal(b[:x], m); err != nil {
-			return nil, err
-		}
-		d, err := durationFromProto(m)
-		if err != nil {
-			return nil, err
-		}
-		slice := f.getSlice(reflect.PtrTo(sub.typ))
-		newSlice := reflect.Append(slice, reflect.ValueOf(&d))
-		slice.Set(newSlice)
-		return b[x:], nil
-	}
-}
-
-func makeUnmarshalDurationSlice(sub *unmarshalInfo, name string) unmarshaler {
-	return func(b []byte, f pointer, w int) ([]byte, error) {
-		if w != WireBytes {
-			return nil, errInternalBadWireType
-		}
-		x, n := decodeVarint(b)
-		if n == 0 {
-			return nil, io.ErrUnexpectedEOF
-		}
-		b = b[n:]
-		if x > uint64(len(b)) {
-			return nil, io.ErrUnexpectedEOF
-		}
-		m := &duration{}
-		if err := Unmarshal(b[:x], m); err != nil {
-			return nil, err
-		}
-		d, err := durationFromProto(m)
-		if err != nil {
-			return nil, err
-		}
-		slice := f.getSlice(sub.typ)
-		newSlice := reflect.Append(slice, reflect.ValueOf(d))
-		slice.Set(newSlice)
-		return b[x:], nil
-	}
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/text.go b/vendor/github.com/gogo/protobuf/proto/text.go
deleted file mode 100644
index 4f5706d..0000000
--- a/vendor/github.com/gogo/protobuf/proto/text.go
+++ /dev/null
@@ -1,928 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2013, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2010 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-// Functions for writing the text protocol buffer format.
-
-import (
-	"bufio"
-	"bytes"
-	"encoding"
-	"errors"
-	"fmt"
-	"io"
-	"log"
-	"math"
-	"reflect"
-	"sort"
-	"strings"
-	"sync"
-	"time"
-)
-
-var (
-	newline         = []byte("\n")
-	spaces          = []byte("                                        ")
-	endBraceNewline = []byte("}\n")
-	backslashN      = []byte{'\\', 'n'}
-	backslashR      = []byte{'\\', 'r'}
-	backslashT      = []byte{'\\', 't'}
-	backslashDQ     = []byte{'\\', '"'}
-	backslashBS     = []byte{'\\', '\\'}
-	posInf          = []byte("inf")
-	negInf          = []byte("-inf")
-	nan             = []byte("nan")
-)
-
-type writer interface {
-	io.Writer
-	WriteByte(byte) error
-}
-
-// textWriter is an io.Writer that tracks its indentation level.
-type textWriter struct {
-	ind      int
-	complete bool // if the current position is a complete line
-	compact  bool // whether to write out as a one-liner
-	w        writer
-}
-
-func (w *textWriter) WriteString(s string) (n int, err error) {
-	if !strings.Contains(s, "\n") {
-		if !w.compact && w.complete {
-			w.writeIndent()
-		}
-		w.complete = false
-		return io.WriteString(w.w, s)
-	}
-	// WriteString is typically called without newlines, so this
-	// codepath and its copy are rare.  We copy to avoid
-	// duplicating all of Write's logic here.
-	return w.Write([]byte(s))
-}
-
-func (w *textWriter) Write(p []byte) (n int, err error) {
-	newlines := bytes.Count(p, newline)
-	if newlines == 0 {
-		if !w.compact && w.complete {
-			w.writeIndent()
-		}
-		n, err = w.w.Write(p)
-		w.complete = false
-		return n, err
-	}
-
-	frags := bytes.SplitN(p, newline, newlines+1)
-	if w.compact {
-		for i, frag := range frags {
-			if i > 0 {
-				if err := w.w.WriteByte(' '); err != nil {
-					return n, err
-				}
-				n++
-			}
-			nn, err := w.w.Write(frag)
-			n += nn
-			if err != nil {
-				return n, err
-			}
-		}
-		return n, nil
-	}
-
-	for i, frag := range frags {
-		if w.complete {
-			w.writeIndent()
-		}
-		nn, err := w.w.Write(frag)
-		n += nn
-		if err != nil {
-			return n, err
-		}
-		if i+1 < len(frags) {
-			if err := w.w.WriteByte('\n'); err != nil {
-				return n, err
-			}
-			n++
-		}
-	}
-	w.complete = len(frags[len(frags)-1]) == 0
-	return n, nil
-}
-
-func (w *textWriter) WriteByte(c byte) error {
-	if w.compact && c == '\n' {
-		c = ' '
-	}
-	if !w.compact && w.complete {
-		w.writeIndent()
-	}
-	err := w.w.WriteByte(c)
-	w.complete = c == '\n'
-	return err
-}
-
-func (w *textWriter) indent() { w.ind++ }
-
-func (w *textWriter) unindent() {
-	if w.ind == 0 {
-		log.Print("proto: textWriter unindented too far")
-		return
-	}
-	w.ind--
-}
-
-func writeName(w *textWriter, props *Properties) error {
-	if _, err := w.WriteString(props.OrigName); err != nil {
-		return err
-	}
-	if props.Wire != "group" {
-		return w.WriteByte(':')
-	}
-	return nil
-}
-
-func requiresQuotes(u string) bool {
-	// When type URL contains any characters except [0-9A-Za-z./\-]*, it must be quoted.
-	for _, ch := range u {
-		switch {
-		case ch == '.' || ch == '/' || ch == '_':
-			continue
-		case '0' <= ch && ch <= '9':
-			continue
-		case 'A' <= ch && ch <= 'Z':
-			continue
-		case 'a' <= ch && ch <= 'z':
-			continue
-		default:
-			return true
-		}
-	}
-	return false
-}
-
-// isAny reports whether sv is a google.protobuf.Any message
-func isAny(sv reflect.Value) bool {
-	type wkt interface {
-		XXX_WellKnownType() string
-	}
-	t, ok := sv.Addr().Interface().(wkt)
-	return ok && t.XXX_WellKnownType() == "Any"
-}
-
-// writeProto3Any writes an expanded google.protobuf.Any message.
-//
-// It returns (false, nil) if sv value can't be unmarshaled (e.g. because
-// required messages are not linked in).
-//
-// It returns (true, error) when sv was written in expanded format or an error
-// was encountered.
-func (tm *TextMarshaler) writeProto3Any(w *textWriter, sv reflect.Value) (bool, error) {
-	turl := sv.FieldByName("TypeUrl")
-	val := sv.FieldByName("Value")
-	if !turl.IsValid() || !val.IsValid() {
-		return true, errors.New("proto: invalid google.protobuf.Any message")
-	}
-
-	b, ok := val.Interface().([]byte)
-	if !ok {
-		return true, errors.New("proto: invalid google.protobuf.Any message")
-	}
-
-	parts := strings.Split(turl.String(), "/")
-	mt := MessageType(parts[len(parts)-1])
-	if mt == nil {
-		return false, nil
-	}
-	m := reflect.New(mt.Elem())
-	if err := Unmarshal(b, m.Interface().(Message)); err != nil {
-		return false, nil
-	}
-	w.Write([]byte("["))
-	u := turl.String()
-	if requiresQuotes(u) {
-		writeString(w, u)
-	} else {
-		w.Write([]byte(u))
-	}
-	if w.compact {
-		w.Write([]byte("]:<"))
-	} else {
-		w.Write([]byte("]: <\n"))
-		w.ind++
-	}
-	if err := tm.writeStruct(w, m.Elem()); err != nil {
-		return true, err
-	}
-	if w.compact {
-		w.Write([]byte("> "))
-	} else {
-		w.ind--
-		w.Write([]byte(">\n"))
-	}
-	return true, nil
-}
-
-func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error {
-	if tm.ExpandAny && isAny(sv) {
-		if canExpand, err := tm.writeProto3Any(w, sv); canExpand {
-			return err
-		}
-	}
-	st := sv.Type()
-	sprops := GetProperties(st)
-	for i := 0; i < sv.NumField(); i++ {
-		fv := sv.Field(i)
-		props := sprops.Prop[i]
-		name := st.Field(i).Name
-
-		if name == "XXX_NoUnkeyedLiteral" {
-			continue
-		}
-
-		if strings.HasPrefix(name, "XXX_") {
-			// There are two XXX_ fields:
-			//   XXX_unrecognized []byte
-			//   XXX_extensions   map[int32]proto.Extension
-			// The first is handled here;
-			// the second is handled at the bottom of this function.
-			if name == "XXX_unrecognized" && !fv.IsNil() {
-				if err := writeUnknownStruct(w, fv.Interface().([]byte)); err != nil {
-					return err
-				}
-			}
-			continue
-		}
-		if fv.Kind() == reflect.Ptr && fv.IsNil() {
-			// Field not filled in. This could be an optional field or
-			// a required field that wasn't filled in. Either way, there
-			// isn't anything we can show for it.
-			continue
-		}
-		if fv.Kind() == reflect.Slice && fv.IsNil() {
-			// Repeated field that is empty, or a bytes field that is unused.
-			continue
-		}
-
-		if props.Repeated && fv.Kind() == reflect.Slice {
-			// Repeated field.
-			for j := 0; j < fv.Len(); j++ {
-				if err := writeName(w, props); err != nil {
-					return err
-				}
-				if !w.compact {
-					if err := w.WriteByte(' '); err != nil {
-						return err
-					}
-				}
-				v := fv.Index(j)
-				if v.Kind() == reflect.Ptr && v.IsNil() {
-					// A nil message in a repeated field is not valid,
-					// but we can handle that more gracefully than panicking.
-					if _, err := w.Write([]byte("<nil>\n")); err != nil {
-						return err
-					}
-					continue
-				}
-				if len(props.Enum) > 0 {
-					if err := tm.writeEnum(w, v, props); err != nil {
-						return err
-					}
-				} else if err := tm.writeAny(w, v, props); err != nil {
-					return err
-				}
-				if err := w.WriteByte('\n'); err != nil {
-					return err
-				}
-			}
-			continue
-		}
-		if fv.Kind() == reflect.Map {
-			// Map fields are rendered as a repeated struct with key/value fields.
-			keys := fv.MapKeys()
-			sort.Sort(mapKeys(keys))
-			for _, key := range keys {
-				val := fv.MapIndex(key)
-				if err := writeName(w, props); err != nil {
-					return err
-				}
-				if !w.compact {
-					if err := w.WriteByte(' '); err != nil {
-						return err
-					}
-				}
-				// open struct
-				if err := w.WriteByte('<'); err != nil {
-					return err
-				}
-				if !w.compact {
-					if err := w.WriteByte('\n'); err != nil {
-						return err
-					}
-				}
-				w.indent()
-				// key
-				if _, err := w.WriteString("key:"); err != nil {
-					return err
-				}
-				if !w.compact {
-					if err := w.WriteByte(' '); err != nil {
-						return err
-					}
-				}
-				if err := tm.writeAny(w, key, props.mkeyprop); err != nil {
-					return err
-				}
-				if err := w.WriteByte('\n'); err != nil {
-					return err
-				}
-				// nil values aren't legal, but we can avoid panicking because of them.
-				if val.Kind() != reflect.Ptr || !val.IsNil() {
-					// value
-					if _, err := w.WriteString("value:"); err != nil {
-						return err
-					}
-					if !w.compact {
-						if err := w.WriteByte(' '); err != nil {
-							return err
-						}
-					}
-					if err := tm.writeAny(w, val, props.mvalprop); err != nil {
-						return err
-					}
-					if err := w.WriteByte('\n'); err != nil {
-						return err
-					}
-				}
-				// close struct
-				w.unindent()
-				if err := w.WriteByte('>'); err != nil {
-					return err
-				}
-				if err := w.WriteByte('\n'); err != nil {
-					return err
-				}
-			}
-			continue
-		}
-		if props.proto3 && fv.Kind() == reflect.Slice && fv.Len() == 0 {
-			// empty bytes field
-			continue
-		}
-		if props.proto3 && fv.Kind() != reflect.Ptr && fv.Kind() != reflect.Slice {
-			// proto3 non-repeated scalar field; skip if zero value
-			if isProto3Zero(fv) {
-				continue
-			}
-		}
-
-		if fv.Kind() == reflect.Interface {
-			// Check if it is a oneof.
-			if st.Field(i).Tag.Get("protobuf_oneof") != "" {
-				// fv is nil, or holds a pointer to generated struct.
-				// That generated struct has exactly one field,
-				// which has a protobuf struct tag.
-				if fv.IsNil() {
-					continue
-				}
-				inner := fv.Elem().Elem() // interface -> *T -> T
-				tag := inner.Type().Field(0).Tag.Get("protobuf")
-				props = new(Properties) // Overwrite the outer props var, but not its pointee.
-				props.Parse(tag)
-				// Write the value in the oneof, not the oneof itself.
-				fv = inner.Field(0)
-
-				// Special case to cope with malformed messages gracefully:
-				// If the value in the oneof is a nil pointer, don't panic
-				// in writeAny.
-				if fv.Kind() == reflect.Ptr && fv.IsNil() {
-					// Use errors.New so writeAny won't render quotes.
-					msg := errors.New("/* nil */")
-					fv = reflect.ValueOf(&msg).Elem()
-				}
-			}
-		}
-
-		if err := writeName(w, props); err != nil {
-			return err
-		}
-		if !w.compact {
-			if err := w.WriteByte(' '); err != nil {
-				return err
-			}
-		}
-
-		if len(props.Enum) > 0 {
-			if err := tm.writeEnum(w, fv, props); err != nil {
-				return err
-			}
-		} else if err := tm.writeAny(w, fv, props); err != nil {
-			return err
-		}
-
-		if err := w.WriteByte('\n'); err != nil {
-			return err
-		}
-	}
-
-	// Extensions (the XXX_extensions field).
-	pv := sv
-	if pv.CanAddr() {
-		pv = sv.Addr()
-	} else {
-		pv = reflect.New(sv.Type())
-		pv.Elem().Set(sv)
-	}
-	if _, err := extendable(pv.Interface()); err == nil {
-		if err := tm.writeExtensions(w, pv); err != nil {
-			return err
-		}
-	}
-
-	return nil
-}
-
-// writeAny writes an arbitrary field.
-func (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Properties) error {
-	v = reflect.Indirect(v)
-
-	if props != nil {
-		if len(props.CustomType) > 0 {
-			custom, ok := v.Interface().(Marshaler)
-			if ok {
-				data, err := custom.Marshal()
-				if err != nil {
-					return err
-				}
-				if err := writeString(w, string(data)); err != nil {
-					return err
-				}
-				return nil
-			}
-		} else if len(props.CastType) > 0 {
-			if _, ok := v.Interface().(interface {
-				String() string
-			}); ok {
-				switch v.Kind() {
-				case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
-					reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
-					_, err := fmt.Fprintf(w, "%d", v.Interface())
-					return err
-				}
-			}
-		} else if props.StdTime {
-			t, ok := v.Interface().(time.Time)
-			if !ok {
-				return fmt.Errorf("stdtime is not time.Time, but %T", v.Interface())
-			}
-			tproto, err := timestampProto(t)
-			if err != nil {
-				return err
-			}
-			propsCopy := *props // Make a copy so that this is goroutine-safe
-			propsCopy.StdTime = false
-			err = tm.writeAny(w, reflect.ValueOf(tproto), &propsCopy)
-			return err
-		} else if props.StdDuration {
-			d, ok := v.Interface().(time.Duration)
-			if !ok {
-				return fmt.Errorf("stdtime is not time.Duration, but %T", v.Interface())
-			}
-			dproto := durationProto(d)
-			propsCopy := *props // Make a copy so that this is goroutine-safe
-			propsCopy.StdDuration = false
-			err := tm.writeAny(w, reflect.ValueOf(dproto), &propsCopy)
-			return err
-		}
-	}
-
-	// Floats have special cases.
-	if v.Kind() == reflect.Float32 || v.Kind() == reflect.Float64 {
-		x := v.Float()
-		var b []byte
-		switch {
-		case math.IsInf(x, 1):
-			b = posInf
-		case math.IsInf(x, -1):
-			b = negInf
-		case math.IsNaN(x):
-			b = nan
-		}
-		if b != nil {
-			_, err := w.Write(b)
-			return err
-		}
-		// Other values are handled below.
-	}
-
-	// We don't attempt to serialise every possible value type; only those
-	// that can occur in protocol buffers.
-	switch v.Kind() {
-	case reflect.Slice:
-		// Should only be a []byte; repeated fields are handled in writeStruct.
-		if err := writeString(w, string(v.Bytes())); err != nil {
-			return err
-		}
-	case reflect.String:
-		if err := writeString(w, v.String()); err != nil {
-			return err
-		}
-	case reflect.Struct:
-		// Required/optional group/message.
-		var bra, ket byte = '<', '>'
-		if props != nil && props.Wire == "group" {
-			bra, ket = '{', '}'
-		}
-		if err := w.WriteByte(bra); err != nil {
-			return err
-		}
-		if !w.compact {
-			if err := w.WriteByte('\n'); err != nil {
-				return err
-			}
-		}
-		w.indent()
-		if v.CanAddr() {
-			// Calling v.Interface on a struct causes the reflect package to
-			// copy the entire struct. This is racy with the new Marshaler
-			// since we atomically update the XXX_sizecache.
-			//
-			// Thus, we retrieve a pointer to the struct if possible to avoid
-			// a race since v.Interface on the pointer doesn't copy the struct.
-			//
-			// If v is not addressable, then we are not worried about a race
-			// since it implies that the binary Marshaler cannot possibly be
-			// mutating this value.
-			v = v.Addr()
-		}
-		if etm, ok := v.Interface().(encoding.TextMarshaler); ok {
-			text, err := etm.MarshalText()
-			if err != nil {
-				return err
-			}
-			if _, err = w.Write(text); err != nil {
-				return err
-			}
-		} else {
-			if v.Kind() == reflect.Ptr {
-				v = v.Elem()
-			}
-			if err := tm.writeStruct(w, v); err != nil {
-				return err
-			}
-		}
-		w.unindent()
-		if err := w.WriteByte(ket); err != nil {
-			return err
-		}
-	default:
-		_, err := fmt.Fprint(w, v.Interface())
-		return err
-	}
-	return nil
-}
-
-// equivalent to C's isprint.
-func isprint(c byte) bool {
-	return c >= 0x20 && c < 0x7f
-}
-
-// writeString writes a string in the protocol buffer text format.
-// It is similar to strconv.Quote except we don't use Go escape sequences,
-// we treat the string as a byte sequence, and we use octal escapes.
-// These differences are to maintain interoperability with the other
-// languages' implementations of the text format.
-func writeString(w *textWriter, s string) error {
-	// use WriteByte here to get any needed indent
-	if err := w.WriteByte('"'); err != nil {
-		return err
-	}
-	// Loop over the bytes, not the runes.
-	for i := 0; i < len(s); i++ {
-		var err error
-		// Divergence from C++: we don't escape apostrophes.
-		// There's no need to escape them, and the C++ parser
-		// copes with a naked apostrophe.
-		switch c := s[i]; c {
-		case '\n':
-			_, err = w.w.Write(backslashN)
-		case '\r':
-			_, err = w.w.Write(backslashR)
-		case '\t':
-			_, err = w.w.Write(backslashT)
-		case '"':
-			_, err = w.w.Write(backslashDQ)
-		case '\\':
-			_, err = w.w.Write(backslashBS)
-		default:
-			if isprint(c) {
-				err = w.w.WriteByte(c)
-			} else {
-				_, err = fmt.Fprintf(w.w, "\\%03o", c)
-			}
-		}
-		if err != nil {
-			return err
-		}
-	}
-	return w.WriteByte('"')
-}
-
-func writeUnknownStruct(w *textWriter, data []byte) (err error) {
-	if !w.compact {
-		if _, err := fmt.Fprintf(w, "/* %d unknown bytes */\n", len(data)); err != nil {
-			return err
-		}
-	}
-	b := NewBuffer(data)
-	for b.index < len(b.buf) {
-		x, err := b.DecodeVarint()
-		if err != nil {
-			_, ferr := fmt.Fprintf(w, "/* %v */\n", err)
-			return ferr
-		}
-		wire, tag := x&7, x>>3
-		if wire == WireEndGroup {
-			w.unindent()
-			if _, werr := w.Write(endBraceNewline); werr != nil {
-				return werr
-			}
-			continue
-		}
-		if _, ferr := fmt.Fprint(w, tag); ferr != nil {
-			return ferr
-		}
-		if wire != WireStartGroup {
-			if err = w.WriteByte(':'); err != nil {
-				return err
-			}
-		}
-		if !w.compact || wire == WireStartGroup {
-			if err = w.WriteByte(' '); err != nil {
-				return err
-			}
-		}
-		switch wire {
-		case WireBytes:
-			buf, e := b.DecodeRawBytes(false)
-			if e == nil {
-				_, err = fmt.Fprintf(w, "%q", buf)
-			} else {
-				_, err = fmt.Fprintf(w, "/* %v */", e)
-			}
-		case WireFixed32:
-			x, err = b.DecodeFixed32()
-			err = writeUnknownInt(w, x, err)
-		case WireFixed64:
-			x, err = b.DecodeFixed64()
-			err = writeUnknownInt(w, x, err)
-		case WireStartGroup:
-			err = w.WriteByte('{')
-			w.indent()
-		case WireVarint:
-			x, err = b.DecodeVarint()
-			err = writeUnknownInt(w, x, err)
-		default:
-			_, err = fmt.Fprintf(w, "/* unknown wire type %d */", wire)
-		}
-		if err != nil {
-			return err
-		}
-		if err := w.WriteByte('\n'); err != nil {
-			return err
-		}
-	}
-	return nil
-}
-
-func writeUnknownInt(w *textWriter, x uint64, err error) error {
-	if err == nil {
-		_, err = fmt.Fprint(w, x)
-	} else {
-		_, err = fmt.Fprintf(w, "/* %v */", err)
-	}
-	return err
-}
-
-type int32Slice []int32
-
-func (s int32Slice) Len() int           { return len(s) }
-func (s int32Slice) Less(i, j int) bool { return s[i] < s[j] }
-func (s int32Slice) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }
-
-// writeExtensions writes all the extensions in pv.
-// pv is assumed to be a pointer to a protocol message struct that is extendable.
-func (tm *TextMarshaler) writeExtensions(w *textWriter, pv reflect.Value) error {
-	emap := extensionMaps[pv.Type().Elem()]
-	e := pv.Interface().(Message)
-
-	var m map[int32]Extension
-	var mu sync.Locker
-	if em, ok := e.(extensionsBytes); ok {
-		eb := em.GetExtensions()
-		var err error
-		m, err = BytesToExtensionsMap(*eb)
-		if err != nil {
-			return err
-		}
-		mu = notLocker{}
-	} else if _, ok := e.(extendableProto); ok {
-		ep, _ := extendable(e)
-		m, mu = ep.extensionsRead()
-		if m == nil {
-			return nil
-		}
-	}
-
-	// Order the extensions by ID.
-	// This isn't strictly necessary, but it will give us
-	// canonical output, which will also make testing easier.
-
-	mu.Lock()
-	ids := make([]int32, 0, len(m))
-	for id := range m {
-		ids = append(ids, id)
-	}
-	sort.Sort(int32Slice(ids))
-	mu.Unlock()
-
-	for _, extNum := range ids {
-		ext := m[extNum]
-		var desc *ExtensionDesc
-		if emap != nil {
-			desc = emap[extNum]
-		}
-		if desc == nil {
-			// Unknown extension.
-			if err := writeUnknownStruct(w, ext.enc); err != nil {
-				return err
-			}
-			continue
-		}
-
-		pb, err := GetExtension(e, desc)
-		if err != nil {
-			return fmt.Errorf("failed getting extension: %v", err)
-		}
-
-		// Repeated extensions will appear as a slice.
-		if !desc.repeated() {
-			if err := tm.writeExtension(w, desc.Name, pb); err != nil {
-				return err
-			}
-		} else {
-			v := reflect.ValueOf(pb)
-			for i := 0; i < v.Len(); i++ {
-				if err := tm.writeExtension(w, desc.Name, v.Index(i).Interface()); err != nil {
-					return err
-				}
-			}
-		}
-	}
-	return nil
-}
-
-func (tm *TextMarshaler) writeExtension(w *textWriter, name string, pb interface{}) error {
-	if _, err := fmt.Fprintf(w, "[%s]:", name); err != nil {
-		return err
-	}
-	if !w.compact {
-		if err := w.WriteByte(' '); err != nil {
-			return err
-		}
-	}
-	if err := tm.writeAny(w, reflect.ValueOf(pb), nil); err != nil {
-		return err
-	}
-	if err := w.WriteByte('\n'); err != nil {
-		return err
-	}
-	return nil
-}
-
-func (w *textWriter) writeIndent() {
-	if !w.complete {
-		return
-	}
-	remain := w.ind * 2
-	for remain > 0 {
-		n := remain
-		if n > len(spaces) {
-			n = len(spaces)
-		}
-		w.w.Write(spaces[:n])
-		remain -= n
-	}
-	w.complete = false
-}
-
-// TextMarshaler is a configurable text format marshaler.
-type TextMarshaler struct {
-	Compact   bool // use compact text format (one line).
-	ExpandAny bool // expand google.protobuf.Any messages of known types
-}
-
-// Marshal writes a given protocol buffer in text format.
-// The only errors returned are from w.
-func (tm *TextMarshaler) Marshal(w io.Writer, pb Message) error {
-	val := reflect.ValueOf(pb)
-	if pb == nil || val.IsNil() {
-		w.Write([]byte("<nil>"))
-		return nil
-	}
-	var bw *bufio.Writer
-	ww, ok := w.(writer)
-	if !ok {
-		bw = bufio.NewWriter(w)
-		ww = bw
-	}
-	aw := &textWriter{
-		w:        ww,
-		complete: true,
-		compact:  tm.Compact,
-	}
-
-	if etm, ok := pb.(encoding.TextMarshaler); ok {
-		text, err := etm.MarshalText()
-		if err != nil {
-			return err
-		}
-		if _, err = aw.Write(text); err != nil {
-			return err
-		}
-		if bw != nil {
-			return bw.Flush()
-		}
-		return nil
-	}
-	// Dereference the received pointer so we don't have outer < and >.
-	v := reflect.Indirect(val)
-	if err := tm.writeStruct(aw, v); err != nil {
-		return err
-	}
-	if bw != nil {
-		return bw.Flush()
-	}
-	return nil
-}
-
-// Text is the same as Marshal, but returns the string directly.
-func (tm *TextMarshaler) Text(pb Message) string {
-	var buf bytes.Buffer
-	tm.Marshal(&buf, pb)
-	return buf.String()
-}
-
-var (
-	defaultTextMarshaler = TextMarshaler{}
-	compactTextMarshaler = TextMarshaler{Compact: true}
-)
-
-// TODO: consider removing some of the Marshal functions below.
-
-// MarshalText writes a given protocol buffer in text format.
-// The only errors returned are from w.
-func MarshalText(w io.Writer, pb Message) error { return defaultTextMarshaler.Marshal(w, pb) }
-
-// MarshalTextString is the same as MarshalText, but returns the string directly.
-func MarshalTextString(pb Message) string { return defaultTextMarshaler.Text(pb) }
-
-// CompactText writes a given protocol buffer in compact text format (one line).
-func CompactText(w io.Writer, pb Message) error { return compactTextMarshaler.Marshal(w, pb) }
-
-// CompactTextString is the same as CompactText, but returns the string directly.
-func CompactTextString(pb Message) string { return compactTextMarshaler.Text(pb) }
diff --git a/vendor/github.com/gogo/protobuf/proto/text_gogo.go b/vendor/github.com/gogo/protobuf/proto/text_gogo.go
deleted file mode 100644
index 1d6c6aa..0000000
--- a/vendor/github.com/gogo/protobuf/proto/text_gogo.go
+++ /dev/null
@@ -1,57 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2013, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"fmt"
-	"reflect"
-)
-
-func (tm *TextMarshaler) writeEnum(w *textWriter, v reflect.Value, props *Properties) error {
-	m, ok := enumStringMaps[props.Enum]
-	if !ok {
-		if err := tm.writeAny(w, v, props); err != nil {
-			return err
-		}
-	}
-	key := int32(0)
-	if v.Kind() == reflect.Ptr {
-		key = int32(v.Elem().Int())
-	} else {
-		key = int32(v.Int())
-	}
-	s, ok := m[key]
-	if !ok {
-		if err := tm.writeAny(w, v, props); err != nil {
-			return err
-		}
-	}
-	_, err := fmt.Fprint(w, s)
-	return err
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/text_parser.go b/vendor/github.com/gogo/protobuf/proto/text_parser.go
deleted file mode 100644
index fbb000d..0000000
--- a/vendor/github.com/gogo/protobuf/proto/text_parser.go
+++ /dev/null
@@ -1,998 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2013, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2010 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-// Functions for parsing the Text protocol buffer format.
-// TODO: message sets.
-
-import (
-	"encoding"
-	"errors"
-	"fmt"
-	"reflect"
-	"strconv"
-	"strings"
-	"time"
-	"unicode/utf8"
-)
-
-// Error string emitted when deserializing Any and fields are already set
-const anyRepeatedlyUnpacked = "Any message unpacked multiple times, or %q already set"
-
-type ParseError struct {
-	Message string
-	Line    int // 1-based line number
-	Offset  int // 0-based byte offset from start of input
-}
-
-func (p *ParseError) Error() string {
-	if p.Line == 1 {
-		// show offset only for first line
-		return fmt.Sprintf("line 1.%d: %v", p.Offset, p.Message)
-	}
-	return fmt.Sprintf("line %d: %v", p.Line, p.Message)
-}
-
-type token struct {
-	value    string
-	err      *ParseError
-	line     int    // line number
-	offset   int    // byte number from start of input, not start of line
-	unquoted string // the unquoted version of value, if it was a quoted string
-}
-
-func (t *token) String() string {
-	if t.err == nil {
-		return fmt.Sprintf("%q (line=%d, offset=%d)", t.value, t.line, t.offset)
-	}
-	return fmt.Sprintf("parse error: %v", t.err)
-}
-
-type textParser struct {
-	s            string // remaining input
-	done         bool   // whether the parsing is finished (success or error)
-	backed       bool   // whether back() was called
-	offset, line int
-	cur          token
-}
-
-func newTextParser(s string) *textParser {
-	p := new(textParser)
-	p.s = s
-	p.line = 1
-	p.cur.line = 1
-	return p
-}
-
-func (p *textParser) errorf(format string, a ...interface{}) *ParseError {
-	pe := &ParseError{fmt.Sprintf(format, a...), p.cur.line, p.cur.offset}
-	p.cur.err = pe
-	p.done = true
-	return pe
-}
-
-// Numbers and identifiers are matched by [-+._A-Za-z0-9]
-func isIdentOrNumberChar(c byte) bool {
-	switch {
-	case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z':
-		return true
-	case '0' <= c && c <= '9':
-		return true
-	}
-	switch c {
-	case '-', '+', '.', '_':
-		return true
-	}
-	return false
-}
-
-func isWhitespace(c byte) bool {
-	switch c {
-	case ' ', '\t', '\n', '\r':
-		return true
-	}
-	return false
-}
-
-func isQuote(c byte) bool {
-	switch c {
-	case '"', '\'':
-		return true
-	}
-	return false
-}
-
-func (p *textParser) skipWhitespace() {
-	i := 0
-	for i < len(p.s) && (isWhitespace(p.s[i]) || p.s[i] == '#') {
-		if p.s[i] == '#' {
-			// comment; skip to end of line or input
-			for i < len(p.s) && p.s[i] != '\n' {
-				i++
-			}
-			if i == len(p.s) {
-				break
-			}
-		}
-		if p.s[i] == '\n' {
-			p.line++
-		}
-		i++
-	}
-	p.offset += i
-	p.s = p.s[i:len(p.s)]
-	if len(p.s) == 0 {
-		p.done = true
-	}
-}
-
-func (p *textParser) advance() {
-	// Skip whitespace
-	p.skipWhitespace()
-	if p.done {
-		return
-	}
-
-	// Start of non-whitespace
-	p.cur.err = nil
-	p.cur.offset, p.cur.line = p.offset, p.line
-	p.cur.unquoted = ""
-	switch p.s[0] {
-	case '<', '>', '{', '}', ':', '[', ']', ';', ',', '/':
-		// Single symbol
-		p.cur.value, p.s = p.s[0:1], p.s[1:len(p.s)]
-	case '"', '\'':
-		// Quoted string
-		i := 1
-		for i < len(p.s) && p.s[i] != p.s[0] && p.s[i] != '\n' {
-			if p.s[i] == '\\' && i+1 < len(p.s) {
-				// skip escaped char
-				i++
-			}
-			i++
-		}
-		if i >= len(p.s) || p.s[i] != p.s[0] {
-			p.errorf("unmatched quote")
-			return
-		}
-		unq, err := unquoteC(p.s[1:i], rune(p.s[0]))
-		if err != nil {
-			p.errorf("invalid quoted string %s: %v", p.s[0:i+1], err)
-			return
-		}
-		p.cur.value, p.s = p.s[0:i+1], p.s[i+1:len(p.s)]
-		p.cur.unquoted = unq
-	default:
-		i := 0
-		for i < len(p.s) && isIdentOrNumberChar(p.s[i]) {
-			i++
-		}
-		if i == 0 {
-			p.errorf("unexpected byte %#x", p.s[0])
-			return
-		}
-		p.cur.value, p.s = p.s[0:i], p.s[i:len(p.s)]
-	}
-	p.offset += len(p.cur.value)
-}
-
-var (
-	errBadUTF8 = errors.New("proto: bad UTF-8")
-)
-
-func unquoteC(s string, quote rune) (string, error) {
-	// This is based on C++'s tokenizer.cc.
-	// Despite its name, this is *not* parsing C syntax.
-	// For instance, "\0" is an invalid quoted string.
-
-	// Avoid allocation in trivial cases.
-	simple := true
-	for _, r := range s {
-		if r == '\\' || r == quote {
-			simple = false
-			break
-		}
-	}
-	if simple {
-		return s, nil
-	}
-
-	buf := make([]byte, 0, 3*len(s)/2)
-	for len(s) > 0 {
-		r, n := utf8.DecodeRuneInString(s)
-		if r == utf8.RuneError && n == 1 {
-			return "", errBadUTF8
-		}
-		s = s[n:]
-		if r != '\\' {
-			if r < utf8.RuneSelf {
-				buf = append(buf, byte(r))
-			} else {
-				buf = append(buf, string(r)...)
-			}
-			continue
-		}
-
-		ch, tail, err := unescape(s)
-		if err != nil {
-			return "", err
-		}
-		buf = append(buf, ch...)
-		s = tail
-	}
-	return string(buf), nil
-}
-
-func unescape(s string) (ch string, tail string, err error) {
-	r, n := utf8.DecodeRuneInString(s)
-	if r == utf8.RuneError && n == 1 {
-		return "", "", errBadUTF8
-	}
-	s = s[n:]
-	switch r {
-	case 'a':
-		return "\a", s, nil
-	case 'b':
-		return "\b", s, nil
-	case 'f':
-		return "\f", s, nil
-	case 'n':
-		return "\n", s, nil
-	case 'r':
-		return "\r", s, nil
-	case 't':
-		return "\t", s, nil
-	case 'v':
-		return "\v", s, nil
-	case '?':
-		return "?", s, nil // trigraph workaround
-	case '\'', '"', '\\':
-		return string(r), s, nil
-	case '0', '1', '2', '3', '4', '5', '6', '7':
-		if len(s) < 2 {
-			return "", "", fmt.Errorf(`\%c requires 2 following digits`, r)
-		}
-		ss := string(r) + s[:2]
-		s = s[2:]
-		i, err := strconv.ParseUint(ss, 8, 8)
-		if err != nil {
-			return "", "", fmt.Errorf(`\%s contains non-octal digits`, ss)
-		}
-		return string([]byte{byte(i)}), s, nil
-	case 'x', 'X', 'u', 'U':
-		var n int
-		switch r {
-		case 'x', 'X':
-			n = 2
-		case 'u':
-			n = 4
-		case 'U':
-			n = 8
-		}
-		if len(s) < n {
-			return "", "", fmt.Errorf(`\%c requires %d following digits`, r, n)
-		}
-		ss := s[:n]
-		s = s[n:]
-		i, err := strconv.ParseUint(ss, 16, 64)
-		if err != nil {
-			return "", "", fmt.Errorf(`\%c%s contains non-hexadecimal digits`, r, ss)
-		}
-		if r == 'x' || r == 'X' {
-			return string([]byte{byte(i)}), s, nil
-		}
-		if i > utf8.MaxRune {
-			return "", "", fmt.Errorf(`\%c%s is not a valid Unicode code point`, r, ss)
-		}
-		return string(i), s, nil
-	}
-	return "", "", fmt.Errorf(`unknown escape \%c`, r)
-}
-
-// Back off the parser by one token. Can only be done between calls to next().
-// It makes the next advance() a no-op.
-func (p *textParser) back() { p.backed = true }
-
-// Advances the parser and returns the new current token.
-func (p *textParser) next() *token {
-	if p.backed || p.done {
-		p.backed = false
-		return &p.cur
-	}
-	p.advance()
-	if p.done {
-		p.cur.value = ""
-	} else if len(p.cur.value) > 0 && isQuote(p.cur.value[0]) {
-		// Look for multiple quoted strings separated by whitespace,
-		// and concatenate them.
-		cat := p.cur
-		for {
-			p.skipWhitespace()
-			if p.done || !isQuote(p.s[0]) {
-				break
-			}
-			p.advance()
-			if p.cur.err != nil {
-				return &p.cur
-			}
-			cat.value += " " + p.cur.value
-			cat.unquoted += p.cur.unquoted
-		}
-		p.done = false // parser may have seen EOF, but we want to return cat
-		p.cur = cat
-	}
-	return &p.cur
-}
-
-func (p *textParser) consumeToken(s string) error {
-	tok := p.next()
-	if tok.err != nil {
-		return tok.err
-	}
-	if tok.value != s {
-		p.back()
-		return p.errorf("expected %q, found %q", s, tok.value)
-	}
-	return nil
-}
-
-// Return a RequiredNotSetError indicating which required field was not set.
-func (p *textParser) missingRequiredFieldError(sv reflect.Value) *RequiredNotSetError {
-	st := sv.Type()
-	sprops := GetProperties(st)
-	for i := 0; i < st.NumField(); i++ {
-		if !isNil(sv.Field(i)) {
-			continue
-		}
-
-		props := sprops.Prop[i]
-		if props.Required {
-			return &RequiredNotSetError{fmt.Sprintf("%v.%v", st, props.OrigName)}
-		}
-	}
-	return &RequiredNotSetError{fmt.Sprintf("%v.<unknown field name>", st)} // should not happen
-}
-
-// Returns the index in the struct for the named field, as well as the parsed tag properties.
-func structFieldByName(sprops *StructProperties, name string) (int, *Properties, bool) {
-	i, ok := sprops.decoderOrigNames[name]
-	if ok {
-		return i, sprops.Prop[i], true
-	}
-	return -1, nil, false
-}
-
-// Consume a ':' from the input stream (if the next token is a colon),
-// returning an error if a colon is needed but not present.
-func (p *textParser) checkForColon(props *Properties, typ reflect.Type) *ParseError {
-	tok := p.next()
-	if tok.err != nil {
-		return tok.err
-	}
-	if tok.value != ":" {
-		// Colon is optional when the field is a group or message.
-		needColon := true
-		switch props.Wire {
-		case "group":
-			needColon = false
-		case "bytes":
-			// A "bytes" field is either a message, a string, or a repeated field;
-			// those three become *T, *string and []T respectively, so we can check for
-			// this field being a pointer to a non-string.
-			if typ.Kind() == reflect.Ptr {
-				// *T or *string
-				if typ.Elem().Kind() == reflect.String {
-					break
-				}
-			} else if typ.Kind() == reflect.Slice {
-				// []T or []*T
-				if typ.Elem().Kind() != reflect.Ptr {
-					break
-				}
-			} else if typ.Kind() == reflect.String {
-				// The proto3 exception is for a string field,
-				// which requires a colon.
-				break
-			}
-			needColon = false
-		}
-		if needColon {
-			return p.errorf("expected ':', found %q", tok.value)
-		}
-		p.back()
-	}
-	return nil
-}
-
-func (p *textParser) readStruct(sv reflect.Value, terminator string) error {
-	st := sv.Type()
-	sprops := GetProperties(st)
-	reqCount := sprops.reqCount
-	var reqFieldErr error
-	fieldSet := make(map[string]bool)
-	// A struct is a sequence of "name: value", terminated by one of
-	// '>' or '}', or the end of the input.  A name may also be
-	// "[extension]" or "[type/url]".
-	//
-	// The whole struct can also be an expanded Any message, like:
-	// [type/url] < ... struct contents ... >
-	for {
-		tok := p.next()
-		if tok.err != nil {
-			return tok.err
-		}
-		if tok.value == terminator {
-			break
-		}
-		if tok.value == "[" {
-			// Looks like an extension or an Any.
-			//
-			// TODO: Check whether we need to handle
-			// namespace rooted names (e.g. ".something.Foo").
-			extName, err := p.consumeExtName()
-			if err != nil {
-				return err
-			}
-
-			if s := strings.LastIndex(extName, "/"); s >= 0 {
-				// If it contains a slash, it's an Any type URL.
-				messageName := extName[s+1:]
-				mt := MessageType(messageName)
-				if mt == nil {
-					return p.errorf("unrecognized message %q in google.protobuf.Any", messageName)
-				}
-				tok = p.next()
-				if tok.err != nil {
-					return tok.err
-				}
-				// consume an optional colon
-				if tok.value == ":" {
-					tok = p.next()
-					if tok.err != nil {
-						return tok.err
-					}
-				}
-				var terminator string
-				switch tok.value {
-				case "<":
-					terminator = ">"
-				case "{":
-					terminator = "}"
-				default:
-					return p.errorf("expected '{' or '<', found %q", tok.value)
-				}
-				v := reflect.New(mt.Elem())
-				if pe := p.readStruct(v.Elem(), terminator); pe != nil {
-					return pe
-				}
-				b, err := Marshal(v.Interface().(Message))
-				if err != nil {
-					return p.errorf("failed to marshal message of type %q: %v", messageName, err)
-				}
-				if fieldSet["type_url"] {
-					return p.errorf(anyRepeatedlyUnpacked, "type_url")
-				}
-				if fieldSet["value"] {
-					return p.errorf(anyRepeatedlyUnpacked, "value")
-				}
-				sv.FieldByName("TypeUrl").SetString(extName)
-				sv.FieldByName("Value").SetBytes(b)
-				fieldSet["type_url"] = true
-				fieldSet["value"] = true
-				continue
-			}
-
-			var desc *ExtensionDesc
-			// This could be faster, but it's functional.
-			// TODO: Do something smarter than a linear scan.
-			for _, d := range RegisteredExtensions(reflect.New(st).Interface().(Message)) {
-				if d.Name == extName {
-					desc = d
-					break
-				}
-			}
-			if desc == nil {
-				return p.errorf("unrecognized extension %q", extName)
-			}
-
-			props := &Properties{}
-			props.Parse(desc.Tag)
-
-			typ := reflect.TypeOf(desc.ExtensionType)
-			if err := p.checkForColon(props, typ); err != nil {
-				return err
-			}
-
-			rep := desc.repeated()
-
-			// Read the extension structure, and set it in
-			// the value we're constructing.
-			var ext reflect.Value
-			if !rep {
-				ext = reflect.New(typ).Elem()
-			} else {
-				ext = reflect.New(typ.Elem()).Elem()
-			}
-			if err := p.readAny(ext, props); err != nil {
-				if _, ok := err.(*RequiredNotSetError); !ok {
-					return err
-				}
-				reqFieldErr = err
-			}
-			ep := sv.Addr().Interface().(Message)
-			if !rep {
-				SetExtension(ep, desc, ext.Interface())
-			} else {
-				old, err := GetExtension(ep, desc)
-				var sl reflect.Value
-				if err == nil {
-					sl = reflect.ValueOf(old) // existing slice
-				} else {
-					sl = reflect.MakeSlice(typ, 0, 1)
-				}
-				sl = reflect.Append(sl, ext)
-				SetExtension(ep, desc, sl.Interface())
-			}
-			if err := p.consumeOptionalSeparator(); err != nil {
-				return err
-			}
-			continue
-		}
-
-		// This is a normal, non-extension field.
-		name := tok.value
-		var dst reflect.Value
-		fi, props, ok := structFieldByName(sprops, name)
-		if ok {
-			dst = sv.Field(fi)
-		} else if oop, ok := sprops.OneofTypes[name]; ok {
-			// It is a oneof.
-			props = oop.Prop
-			nv := reflect.New(oop.Type.Elem())
-			dst = nv.Elem().Field(0)
-			field := sv.Field(oop.Field)
-			if !field.IsNil() {
-				return p.errorf("field '%s' would overwrite already parsed oneof '%s'", name, sv.Type().Field(oop.Field).Name)
-			}
-			field.Set(nv)
-		}
-		if !dst.IsValid() {
-			return p.errorf("unknown field name %q in %v", name, st)
-		}
-
-		if dst.Kind() == reflect.Map {
-			// Consume any colon.
-			if err := p.checkForColon(props, dst.Type()); err != nil {
-				return err
-			}
-
-			// Construct the map if it doesn't already exist.
-			if dst.IsNil() {
-				dst.Set(reflect.MakeMap(dst.Type()))
-			}
-			key := reflect.New(dst.Type().Key()).Elem()
-			val := reflect.New(dst.Type().Elem()).Elem()
-
-			// The map entry should be this sequence of tokens:
-			//	< key : KEY value : VALUE >
-			// However, implementations may omit key or value, and technically
-			// we should support them in any order.  See b/28924776 for a time
-			// this went wrong.
-
-			tok := p.next()
-			var terminator string
-			switch tok.value {
-			case "<":
-				terminator = ">"
-			case "{":
-				terminator = "}"
-			default:
-				return p.errorf("expected '{' or '<', found %q", tok.value)
-			}
-			for {
-				tok := p.next()
-				if tok.err != nil {
-					return tok.err
-				}
-				if tok.value == terminator {
-					break
-				}
-				switch tok.value {
-				case "key":
-					if err := p.consumeToken(":"); err != nil {
-						return err
-					}
-					if err := p.readAny(key, props.mkeyprop); err != nil {
-						return err
-					}
-					if err := p.consumeOptionalSeparator(); err != nil {
-						return err
-					}
-				case "value":
-					if err := p.checkForColon(props.mvalprop, dst.Type().Elem()); err != nil {
-						return err
-					}
-					if err := p.readAny(val, props.mvalprop); err != nil {
-						return err
-					}
-					if err := p.consumeOptionalSeparator(); err != nil {
-						return err
-					}
-				default:
-					p.back()
-					return p.errorf(`expected "key", "value", or %q, found %q`, terminator, tok.value)
-				}
-			}
-
-			dst.SetMapIndex(key, val)
-			continue
-		}
-
-		// Check that it's not already set if it's not a repeated field.
-		if !props.Repeated && fieldSet[name] {
-			return p.errorf("non-repeated field %q was repeated", name)
-		}
-
-		if err := p.checkForColon(props, dst.Type()); err != nil {
-			return err
-		}
-
-		// Parse into the field.
-		fieldSet[name] = true
-		if err := p.readAny(dst, props); err != nil {
-			if _, ok := err.(*RequiredNotSetError); !ok {
-				return err
-			}
-			reqFieldErr = err
-		}
-		if props.Required {
-			reqCount--
-		}
-
-		if err := p.consumeOptionalSeparator(); err != nil {
-			return err
-		}
-
-	}
-
-	if reqCount > 0 {
-		return p.missingRequiredFieldError(sv)
-	}
-	return reqFieldErr
-}
-
-// consumeExtName consumes extension name or expanded Any type URL and the
-// following ']'. It returns the name or URL consumed.
-func (p *textParser) consumeExtName() (string, error) {
-	tok := p.next()
-	if tok.err != nil {
-		return "", tok.err
-	}
-
-	// If extension name or type url is quoted, it's a single token.
-	if len(tok.value) > 2 && isQuote(tok.value[0]) && tok.value[len(tok.value)-1] == tok.value[0] {
-		name, err := unquoteC(tok.value[1:len(tok.value)-1], rune(tok.value[0]))
-		if err != nil {
-			return "", err
-		}
-		return name, p.consumeToken("]")
-	}
-
-	// Consume everything up to "]"
-	var parts []string
-	for tok.value != "]" {
-		parts = append(parts, tok.value)
-		tok = p.next()
-		if tok.err != nil {
-			return "", p.errorf("unrecognized type_url or extension name: %s", tok.err)
-		}
-		if p.done && tok.value != "]" {
-			return "", p.errorf("unclosed type_url or extension name")
-		}
-	}
-	return strings.Join(parts, ""), nil
-}
-
-// consumeOptionalSeparator consumes an optional semicolon or comma.
-// It is used in readStruct to provide backward compatibility.
-func (p *textParser) consumeOptionalSeparator() error {
-	tok := p.next()
-	if tok.err != nil {
-		return tok.err
-	}
-	if tok.value != ";" && tok.value != "," {
-		p.back()
-	}
-	return nil
-}
-
-func (p *textParser) readAny(v reflect.Value, props *Properties) error {
-	tok := p.next()
-	if tok.err != nil {
-		return tok.err
-	}
-	if tok.value == "" {
-		return p.errorf("unexpected EOF")
-	}
-	if len(props.CustomType) > 0 {
-		if props.Repeated {
-			t := reflect.TypeOf(v.Interface())
-			if t.Kind() == reflect.Slice {
-				tc := reflect.TypeOf(new(Marshaler))
-				ok := t.Elem().Implements(tc.Elem())
-				if ok {
-					fv := v
-					flen := fv.Len()
-					if flen == fv.Cap() {
-						nav := reflect.MakeSlice(v.Type(), flen, 2*flen+1)
-						reflect.Copy(nav, fv)
-						fv.Set(nav)
-					}
-					fv.SetLen(flen + 1)
-
-					// Read one.
-					p.back()
-					return p.readAny(fv.Index(flen), props)
-				}
-			}
-		}
-		if reflect.TypeOf(v.Interface()).Kind() == reflect.Ptr {
-			custom := reflect.New(props.ctype.Elem()).Interface().(Unmarshaler)
-			err := custom.Unmarshal([]byte(tok.unquoted))
-			if err != nil {
-				return p.errorf("%v %v: %v", err, v.Type(), tok.value)
-			}
-			v.Set(reflect.ValueOf(custom))
-		} else {
-			custom := reflect.New(reflect.TypeOf(v.Interface())).Interface().(Unmarshaler)
-			err := custom.Unmarshal([]byte(tok.unquoted))
-			if err != nil {
-				return p.errorf("%v %v: %v", err, v.Type(), tok.value)
-			}
-			v.Set(reflect.Indirect(reflect.ValueOf(custom)))
-		}
-		return nil
-	}
-	if props.StdTime {
-		fv := v
-		p.back()
-		props.StdTime = false
-		tproto := &timestamp{}
-		err := p.readAny(reflect.ValueOf(tproto).Elem(), props)
-		props.StdTime = true
-		if err != nil {
-			return err
-		}
-		tim, err := timestampFromProto(tproto)
-		if err != nil {
-			return err
-		}
-		if props.Repeated {
-			t := reflect.TypeOf(v.Interface())
-			if t.Kind() == reflect.Slice {
-				if t.Elem().Kind() == reflect.Ptr {
-					ts := fv.Interface().([]*time.Time)
-					ts = append(ts, &tim)
-					fv.Set(reflect.ValueOf(ts))
-					return nil
-				} else {
-					ts := fv.Interface().([]time.Time)
-					ts = append(ts, tim)
-					fv.Set(reflect.ValueOf(ts))
-					return nil
-				}
-			}
-		}
-		if reflect.TypeOf(v.Interface()).Kind() == reflect.Ptr {
-			v.Set(reflect.ValueOf(&tim))
-		} else {
-			v.Set(reflect.Indirect(reflect.ValueOf(&tim)))
-		}
-		return nil
-	}
-	if props.StdDuration {
-		fv := v
-		p.back()
-		props.StdDuration = false
-		dproto := &duration{}
-		err := p.readAny(reflect.ValueOf(dproto).Elem(), props)
-		props.StdDuration = true
-		if err != nil {
-			return err
-		}
-		dur, err := durationFromProto(dproto)
-		if err != nil {
-			return err
-		}
-		if props.Repeated {
-			t := reflect.TypeOf(v.Interface())
-			if t.Kind() == reflect.Slice {
-				if t.Elem().Kind() == reflect.Ptr {
-					ds := fv.Interface().([]*time.Duration)
-					ds = append(ds, &dur)
-					fv.Set(reflect.ValueOf(ds))
-					return nil
-				} else {
-					ds := fv.Interface().([]time.Duration)
-					ds = append(ds, dur)
-					fv.Set(reflect.ValueOf(ds))
-					return nil
-				}
-			}
-		}
-		if reflect.TypeOf(v.Interface()).Kind() == reflect.Ptr {
-			v.Set(reflect.ValueOf(&dur))
-		} else {
-			v.Set(reflect.Indirect(reflect.ValueOf(&dur)))
-		}
-		return nil
-	}
-	switch fv := v; fv.Kind() {
-	case reflect.Slice:
-		at := v.Type()
-		if at.Elem().Kind() == reflect.Uint8 {
-			// Special case for []byte
-			if tok.value[0] != '"' && tok.value[0] != '\'' {
-				// Deliberately written out here, as the error after
-				// this switch statement would write "invalid []byte: ...",
-				// which is not as user-friendly.
-				return p.errorf("invalid string: %v", tok.value)
-			}
-			bytes := []byte(tok.unquoted)
-			fv.Set(reflect.ValueOf(bytes))
-			return nil
-		}
-		// Repeated field.
-		if tok.value == "[" {
-			// Repeated field with list notation, like [1,2,3].
-			for {
-				fv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))
-				err := p.readAny(fv.Index(fv.Len()-1), props)
-				if err != nil {
-					return err
-				}
-				ntok := p.next()
-				if ntok.err != nil {
-					return ntok.err
-				}
-				if ntok.value == "]" {
-					break
-				}
-				if ntok.value != "," {
-					return p.errorf("Expected ']' or ',' found %q", ntok.value)
-				}
-			}
-			return nil
-		}
-		// One value of the repeated field.
-		p.back()
-		fv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))
-		return p.readAny(fv.Index(fv.Len()-1), props)
-	case reflect.Bool:
-		// true/1/t/True or false/f/0/False.
-		switch tok.value {
-		case "true", "1", "t", "True":
-			fv.SetBool(true)
-			return nil
-		case "false", "0", "f", "False":
-			fv.SetBool(false)
-			return nil
-		}
-	case reflect.Float32, reflect.Float64:
-		v := tok.value
-		// Ignore 'f' for compatibility with output generated by C++, but don't
-		// remove 'f' when the value is "-inf" or "inf".
-		if strings.HasSuffix(v, "f") && tok.value != "-inf" && tok.value != "inf" {
-			v = v[:len(v)-1]
-		}
-		if f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil {
-			fv.SetFloat(f)
-			return nil
-		}
-	case reflect.Int32:
-		if x, err := strconv.ParseInt(tok.value, 0, 32); err == nil {
-			fv.SetInt(x)
-			return nil
-		}
-
-		if len(props.Enum) == 0 {
-			break
-		}
-		m, ok := enumValueMaps[props.Enum]
-		if !ok {
-			break
-		}
-		x, ok := m[tok.value]
-		if !ok {
-			break
-		}
-		fv.SetInt(int64(x))
-		return nil
-	case reflect.Int64:
-		if x, err := strconv.ParseInt(tok.value, 0, 64); err == nil {
-			fv.SetInt(x)
-			return nil
-		}
-
-	case reflect.Ptr:
-		// A basic field (indirected through pointer), or a repeated message/group
-		p.back()
-		fv.Set(reflect.New(fv.Type().Elem()))
-		return p.readAny(fv.Elem(), props)
-	case reflect.String:
-		if tok.value[0] == '"' || tok.value[0] == '\'' {
-			fv.SetString(tok.unquoted)
-			return nil
-		}
-	case reflect.Struct:
-		var terminator string
-		switch tok.value {
-		case "{":
-			terminator = "}"
-		case "<":
-			terminator = ">"
-		default:
-			return p.errorf("expected '{' or '<', found %q", tok.value)
-		}
-		// TODO: Handle nested messages which implement encoding.TextUnmarshaler.
-		return p.readStruct(fv, terminator)
-	case reflect.Uint32:
-		if x, err := strconv.ParseUint(tok.value, 0, 32); err == nil {
-			fv.SetUint(uint64(x))
-			return nil
-		}
-	case reflect.Uint64:
-		if x, err := strconv.ParseUint(tok.value, 0, 64); err == nil {
-			fv.SetUint(x)
-			return nil
-		}
-	}
-	return p.errorf("invalid %v: %v", v.Type(), tok.value)
-}
-
-// UnmarshalText reads a protocol buffer in Text format. UnmarshalText resets pb
-// before starting to unmarshal, so any existing data in pb is always removed.
-// If a required field is not set and no other error occurs,
-// UnmarshalText returns *RequiredNotSetError.
-func UnmarshalText(s string, pb Message) error {
-	if um, ok := pb.(encoding.TextUnmarshaler); ok {
-		return um.UnmarshalText([]byte(s))
-	}
-	pb.Reset()
-	v := reflect.ValueOf(pb)
-	return newTextParser(s).readStruct(v.Elem(), "")
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/timestamp.go b/vendor/github.com/gogo/protobuf/proto/timestamp.go
deleted file mode 100644
index 9324f65..0000000
--- a/vendor/github.com/gogo/protobuf/proto/timestamp.go
+++ /dev/null
@@ -1,113 +0,0 @@
-// Go support for Protocol Buffers - Google's data interchange format
-//
-// Copyright 2016 The Go Authors.  All rights reserved.
-// https://github.com/golang/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-// This file implements operations on google.protobuf.Timestamp.
-
-import (
-	"errors"
-	"fmt"
-	"time"
-)
-
-const (
-	// Seconds field of the earliest valid Timestamp.
-	// This is time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix().
-	minValidSeconds = -62135596800
-	// Seconds field just after the latest valid Timestamp.
-	// This is time.Date(10000, 1, 1, 0, 0, 0, 0, time.UTC).Unix().
-	maxValidSeconds = 253402300800
-)
-
-// validateTimestamp determines whether a Timestamp is valid.
-// A valid timestamp represents a time in the range
-// [0001-01-01, 10000-01-01) and has a Nanos field
-// in the range [0, 1e9).
-//
-// If the Timestamp is valid, validateTimestamp returns nil.
-// Otherwise, it returns an error that describes
-// the problem.
-//
-// Every valid Timestamp can be represented by a time.Time, but the converse is not true.
-func validateTimestamp(ts *timestamp) error {
-	if ts == nil {
-		return errors.New("timestamp: nil Timestamp")
-	}
-	if ts.Seconds < minValidSeconds {
-		return fmt.Errorf("timestamp: %#v before 0001-01-01", ts)
-	}
-	if ts.Seconds >= maxValidSeconds {
-		return fmt.Errorf("timestamp: %#v after 10000-01-01", ts)
-	}
-	if ts.Nanos < 0 || ts.Nanos >= 1e9 {
-		return fmt.Errorf("timestamp: %#v: nanos not in range [0, 1e9)", ts)
-	}
-	return nil
-}
-
-// TimestampFromProto converts a google.protobuf.Timestamp proto to a time.Time.
-// It returns an error if the argument is invalid.
-//
-// Unlike most Go functions, if Timestamp returns an error, the first return value
-// is not the zero time.Time. Instead, it is the value obtained from the
-// time.Unix function when passed the contents of the Timestamp, in the UTC
-// locale. This may or may not be a meaningful time; many invalid Timestamps
-// do map to valid time.Times.
-//
-// A nil Timestamp returns an error. The first return value in that case is
-// undefined.
-func timestampFromProto(ts *timestamp) (time.Time, error) {
-	// Don't return the zero value on error, because corresponds to a valid
-	// timestamp. Instead return whatever time.Unix gives us.
-	var t time.Time
-	if ts == nil {
-		t = time.Unix(0, 0).UTC() // treat nil like the empty Timestamp
-	} else {
-		t = time.Unix(ts.Seconds, int64(ts.Nanos)).UTC()
-	}
-	return t, validateTimestamp(ts)
-}
-
-// TimestampProto converts the time.Time to a google.protobuf.Timestamp proto.
-// It returns an error if the resulting Timestamp is invalid.
-func timestampProto(t time.Time) (*timestamp, error) {
-	seconds := t.Unix()
-	nanos := int32(t.Sub(time.Unix(seconds, 0)))
-	ts := &timestamp{
-		Seconds: seconds,
-		Nanos:   nanos,
-	}
-	if err := validateTimestamp(ts); err != nil {
-		return nil, err
-	}
-	return ts, nil
-}
diff --git a/vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go b/vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go
deleted file mode 100644
index 38439fa..0000000
--- a/vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go
+++ /dev/null
@@ -1,49 +0,0 @@
-// Protocol Buffers for Go with Gadgets
-//
-// Copyright (c) 2016, The GoGo Authors. All rights reserved.
-// http://github.com/gogo/protobuf
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package proto
-
-import (
-	"reflect"
-	"time"
-)
-
-var timeType = reflect.TypeOf((*time.Time)(nil)).Elem()
-
-type timestamp struct {
-	Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
-	Nanos   int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
-}
-
-func (m *timestamp) Reset()       { *m = timestamp{} }
-func (*timestamp) ProtoMessage()  {}
-func (*timestamp) String() string { return "timestamp<string>" }
-
-func init() {
-	RegisterType((*timestamp)(nil), "gogo.protobuf.proto.timestamp")
-}
diff --git a/vendor/github.com/gorilla/context/README.md b/vendor/github.com/gorilla/context/README.md
index d31f2ba..08f8669 100644
--- a/vendor/github.com/gorilla/context/README.md
+++ b/vendor/github.com/gorilla/context/README.md
@@ -7,4 +7,4 @@ gorilla/context is a general purpose registry for global request variables.
 > Note: gorilla/context, having been born well before `context.Context` existed, does not play well
 > with the shallow copying of the request that [`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) (added to net/http Go 1.7 onwards) performs. You should either use *just* gorilla/context, or moving forward, the new `http.Request.Context()`.
 
-Read the full documentation here: https://www.gorillatoolkit.org/pkg/context
+Read the full documentation here: http://www.gorillatoolkit.org/pkg/context
diff --git a/vendor/github.com/gorilla/handlers/README.md b/vendor/github.com/gorilla/handlers/README.md
index 4a6895d..296a956 100644
--- a/vendor/github.com/gorilla/handlers/README.md
+++ b/vendor/github.com/gorilla/handlers/README.md
@@ -25,7 +25,7 @@ with Go's `net/http` package (or any framework supporting `http.Handler`), inclu
 * [**RecoveryHandler**](https://godoc.org/github.com/gorilla/handlers#RecoveryHandler) for recovering from unexpected panics.
 
 Other handlers are documented [on the Gorilla
-website](http://www.gorillatoolkit.org/pkg/handlers).
+website](https://www.gorillatoolkit.org/pkg/handlers).
 
 ## Example
 
diff --git a/vendor/github.com/gorilla/handlers/cors.go b/vendor/github.com/gorilla/handlers/cors.go
index 1acf80d..0dcdffb 100644
--- a/vendor/github.com/gorilla/handlers/cors.go
+++ b/vendor/github.com/gorilla/handlers/cors.go
@@ -19,14 +19,16 @@ type cors struct {
 	maxAge                 int
 	ignoreOptions          bool
 	allowCredentials       bool
+	optionStatusCode       int
 }
 
 // OriginValidator takes an origin string and returns whether or not that origin is allowed.
 type OriginValidator func(string) bool
 
 var (
-	defaultCorsMethods = []string{"GET", "HEAD", "POST"}
-	defaultCorsHeaders = []string{"Accept", "Accept-Language", "Content-Language", "Origin"}
+	defaultCorsOptionStatusCode = 200
+	defaultCorsMethods          = []string{"GET", "HEAD", "POST"}
+	defaultCorsHeaders          = []string{"Accept", "Accept-Language", "Content-Language", "Origin"}
 	// (WebKit/Safari v9 sends the Origin header by default in AJAX requests)
 )
 
@@ -130,6 +132,7 @@ func (ch *cors) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 	w.Header().Set(corsAllowOriginHeader, returnOrigin)
 
 	if r.Method == corsOptionMethod {
+		w.WriteHeader(ch.optionStatusCode)
 		return
 	}
 	ch.h.ServeHTTP(w, r)
@@ -164,9 +167,10 @@ func CORS(opts ...CORSOption) func(http.Handler) http.Handler {
 
 func parseCORSOptions(opts ...CORSOption) *cors {
 	ch := &cors{
-		allowedMethods: defaultCorsMethods,
-		allowedHeaders: defaultCorsHeaders,
-		allowedOrigins: []string{},
+		allowedMethods:   defaultCorsMethods,
+		allowedHeaders:   defaultCorsHeaders,
+		allowedOrigins:   []string{},
+		optionStatusCode: defaultCorsOptionStatusCode,
 	}
 
 	for _, option := range opts {
@@ -251,7 +255,20 @@ func AllowedOriginValidator(fn OriginValidator) CORSOption {
 	}
 }
 
-// ExposeHeaders can be used to specify headers that are available
+// OptionStatusCode sets a custom status code on the OPTIONS requests.
+// Default behaviour sets it to 200 to reflect best practices. This is option is not mandatory
+// and can be used if you need a custom status code (i.e 204).
+//
+// More informations on the spec:
+// https://fetch.spec.whatwg.org/#cors-preflight-fetch
+func OptionStatusCode(code int) CORSOption {
+	return func(ch *cors) error {
+		ch.optionStatusCode = code
+		return nil
+	}
+}
+
+// ExposedHeaders can be used to specify headers that are available
 // and will not be stripped out by the user-agent.
 func ExposedHeaders(headers []string) CORSOption {
 	return func(ch *cors) error {
diff --git a/vendor/github.com/gorilla/mux/README.md b/vendor/github.com/gorilla/mux/README.md
index f6db41a..8dcd718 100644
--- a/vendor/github.com/gorilla/mux/README.md
+++ b/vendor/github.com/gorilla/mux/README.md
@@ -1,6 +1,383 @@
-mux
+gorilla/mux
 ===
+[![GoDoc](https://godoc.org/github.com/gorilla/mux?status.svg)](https://godoc.org/github.com/gorilla/mux)
+[![Build Status](https://travis-ci.org/gorilla/mux.svg?branch=master)](https://travis-ci.org/gorilla/mux)
+[![Sourcegraph](https://sourcegraph.com/github.com/gorilla/mux/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/mux?badge)
 
-gorilla/mux is a powerful URL router and dispatcher.
+![Gorilla Logo](http://www.gorillatoolkit.org/static/images/gorilla-icon-64.png)
 
-Read the full documentation here: http://www.gorillatoolkit.org/pkg/mux
+http://www.gorillatoolkit.org/pkg/mux
+
+Package `gorilla/mux` implements a request router and dispatcher for matching incoming requests to
+their respective handler.
+
+The name mux stands for "HTTP request multiplexer". Like the standard `http.ServeMux`, `mux.Router` matches incoming requests against a list of registered routes and calls a handler for the route that matches the URL or other conditions. The main features are:
+
+* It implements the `http.Handler` interface so it is compatible with the standard `http.ServeMux`.
+* Requests can be matched based on URL host, path, path prefix, schemes, header and query values, HTTP methods or using custom matchers.
+* URL hosts, paths and query values can have variables with an optional regular expression.
+* Registered URLs can be built, or "reversed", which helps maintaining references to resources.
+* Routes can be used as subrouters: nested routes are only tested if the parent route matches. This is useful to define groups of routes that share common conditions like a host, a path prefix or other repeated attributes. As a bonus, this optimizes request matching.
+
+---
+
+* [Install](#install)
+* [Examples](#examples)
+* [Matching Routes](#matching-routes)
+* [Static Files](#static-files)
+* [Registered URLs](#registered-urls)
+* [Walking Routes](#walking-routes)
+* [Full Example](#full-example)
+
+---
+
+## Install
+
+With a [correctly configured](https://golang.org/doc/install#testing) Go toolchain:
+
+```sh
+go get -u github.com/gorilla/mux
+```
+
+## Examples
+
+Let's start registering a couple of URL paths and handlers:
+
+```go
+func main() {
+	r := mux.NewRouter()
+	r.HandleFunc("/", HomeHandler)
+	r.HandleFunc("/products", ProductsHandler)
+	r.HandleFunc("/articles", ArticlesHandler)
+	http.Handle("/", r)
+}
+```
+
+Here we register three routes mapping URL paths to handlers. This is equivalent to how `http.HandleFunc()` works: if an incoming request URL matches one of the paths, the corresponding handler is called passing (`http.ResponseWriter`, `*http.Request`) as parameters.
+
+Paths can have variables. They are defined using the format `{name}` or `{name:pattern}`. If a regular expression pattern is not defined, the matched variable will be anything until the next slash. For example:
+
+```go
+r := mux.NewRouter()
+r.HandleFunc("/products/{key}", ProductHandler)
+r.HandleFunc("/articles/{category}/", ArticlesCategoryHandler)
+r.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler)
+```
+
+The names are used to create a map of route variables which can be retrieved calling `mux.Vars()`:
+
+```go
+func ArticlesCategoryHandler(w http.ResponseWriter, r *http.Request) {
+	vars := mux.Vars(r)
+	w.WriteHeader(http.StatusOK)
+	fmt.Fprintf(w, "Category: %v\n", vars["category"])
+}
+```
+
+And this is all you need to know about the basic usage. More advanced options are explained below.
+
+### Matching Routes
+
+Routes can also be restricted to a domain or subdomain. Just define a host pattern to be matched. They can also have variables:
+
+```go
+r := mux.NewRouter()
+// Only matches if domain is "www.example.com".
+r.Host("www.example.com")
+// Matches a dynamic subdomain.
+r.Host("{subdomain:[a-z]+}.domain.com")
+```
+
+There are several other matchers that can be added. To match path prefixes:
+
+```go
+r.PathPrefix("/products/")
+```
+
+...or HTTP methods:
+
+```go
+r.Methods("GET", "POST")
+```
+
+...or URL schemes:
+
+```go
+r.Schemes("https")
+```
+
+...or header values:
+
+```go
+r.Headers("X-Requested-With", "XMLHttpRequest")
+```
+
+...or query values:
+
+```go
+r.Queries("key", "value")
+```
+
+...or to use a custom matcher function:
+
+```go
+r.MatcherFunc(func(r *http.Request, rm *RouteMatch) bool {
+	return r.ProtoMajor == 0
+})
+```
+
+...and finally, it is possible to combine several matchers in a single route:
+
+```go
+r.HandleFunc("/products", ProductsHandler).
+  Host("www.example.com").
+  Methods("GET").
+  Schemes("http")
+```
+
+Setting the same matching conditions again and again can be boring, so we have a way to group several routes that share the same requirements. We call it "subrouting".
+
+For example, let's say we have several URLs that should only match when the host is `www.example.com`. Create a route for that host and get a "subrouter" from it:
+
+```go
+r := mux.NewRouter()
+s := r.Host("www.example.com").Subrouter()
+```
+
+Then register routes in the subrouter:
+
+```go
+s.HandleFunc("/products/", ProductsHandler)
+s.HandleFunc("/products/{key}", ProductHandler)
+s.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler)
+```
+
+The three URL paths we registered above will only be tested if the domain is `www.example.com`, because the subrouter is tested first. This is not only convenient, but also optimizes request matching. You can create subrouters combining any attribute matchers accepted by a route.
+
+Subrouters can be used to create domain or path "namespaces": you define subrouters in a central place and then parts of the app can register its paths relatively to a given subrouter.
+
+There's one more thing about subroutes. When a subrouter has a path prefix, the inner routes use it as base for their paths:
+
+```go
+r := mux.NewRouter()
+s := r.PathPrefix("/products").Subrouter()
+// "/products/"
+s.HandleFunc("/", ProductsHandler)
+// "/products/{key}/"
+s.HandleFunc("/{key}/", ProductHandler)
+// "/products/{key}/details"
+s.HandleFunc("/{key}/details", ProductDetailsHandler)
+```
+### Listing Routes
+
+Routes on a mux can be listed using the Router.Walk method—useful for generating documentation:
+
+```go
+package main
+
+import (
+    "fmt"
+    "net/http"
+    "strings"
+
+    "github.com/gorilla/mux"
+)
+
+func handler(w http.ResponseWriter, r *http.Request) {
+    return
+}
+
+func main() {
+    r := mux.NewRouter()
+    r.HandleFunc("/", handler)
+    r.HandleFunc("/products", handler).Methods("POST")
+    r.HandleFunc("/articles", handler).Methods("GET")
+    r.HandleFunc("/articles/{id}", handler).Methods("GET", "PUT")
+    r.Walk(func(route *mux.Route, router *mux.Router, ancestors []*mux.Route) error {
+        t, err := route.GetPathTemplate()
+        if err != nil {
+            return err
+        }
+        // p will contain regular expression is compatible with regular expression in Perl, Python, and other languages.
+        // for instance the regular expression for path '/articles/{id}' will be '^/articles/(?P<v0>[^/]+)$'
+        p, err := route.GetPathRegexp()
+        if err != nil {
+            return err
+        }
+        m, err := route.GetMethods()
+        if err != nil {
+            return err
+        }
+        fmt.Println(strings.Join(m, ","), t, p)
+        return nil
+    })
+    http.Handle("/", r)
+}
+```
+
+### Static Files
+
+Note that the path provided to `PathPrefix()` represents a "wildcard": calling
+`PathPrefix("/static/").Handler(...)` means that the handler will be passed any
+request that matches "/static/*". This makes it easy to serve static files with mux:
+
+```go
+func main() {
+	var dir string
+
+	flag.StringVar(&dir, "dir", ".", "the directory to serve files from. Defaults to the current dir")
+	flag.Parse()
+	r := mux.NewRouter()
+
+	// This will serve files under http://localhost:8000/static/<filename>
+	r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir(dir))))
+
+	srv := &http.Server{
+		Handler:      r,
+		Addr:         "127.0.0.1:8000",
+		// Good practice: enforce timeouts for servers you create!
+		WriteTimeout: 15 * time.Second,
+		ReadTimeout:  15 * time.Second,
+	}
+
+	log.Fatal(srv.ListenAndServe())
+}
+```
+
+### Registered URLs
+
+Now let's see how to build registered URLs.
+
+Routes can be named. All routes that define a name can have their URLs built, or "reversed". We define a name calling `Name()` on a route. For example:
+
+```go
+r := mux.NewRouter()
+r.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler).
+  Name("article")
+```
+
+To build a URL, get the route and call the `URL()` method, passing a sequence of key/value pairs for the route variables. For the previous route, we would do:
+
+```go
+url, err := r.Get("article").URL("category", "technology", "id", "42")
+```
+
+...and the result will be a `url.URL` with the following path:
+
+```
+"/articles/technology/42"
+```
+
+This also works for host and query value variables:
+
+```go
+r := mux.NewRouter()
+r.Host("{subdomain}.domain.com").
+  Path("/articles/{category}/{id:[0-9]+}").
+  Queries("filter", "{filter}").
+  HandlerFunc(ArticleHandler).
+  Name("article")
+
+// url.String() will be "http://news.domain.com/articles/technology/42?filter=gorilla"
+url, err := r.Get("article").URL("subdomain", "news",
+                                 "category", "technology",
+                                 "id", "42",
+                                 "filter", "gorilla")
+```
+
+All variables defined in the route are required, and their values must conform to the corresponding patterns. These requirements guarantee that a generated URL will always match a registered route -- the only exception is for explicitly defined "build-only" routes which never match.
+
+Regex support also exists for matching Headers within a route. For example, we could do:
+
+```go
+r.HeadersRegexp("Content-Type", "application/(text|json)")
+```
+
+...and the route will match both requests with a Content-Type of `application/json` as well as `application/text`
+
+There's also a way to build only the URL host or path for a route: use the methods `URLHost()` or `URLPath()` instead. For the previous route, we would do:
+
+```go
+// "http://news.domain.com/"
+host, err := r.Get("article").URLHost("subdomain", "news")
+
+// "/articles/technology/42"
+path, err := r.Get("article").URLPath("category", "technology", "id", "42")
+```
+
+And if you use subrouters, host and path defined separately can be built as well:
+
+```go
+r := mux.NewRouter()
+s := r.Host("{subdomain}.domain.com").Subrouter()
+s.Path("/articles/{category}/{id:[0-9]+}").
+  HandlerFunc(ArticleHandler).
+  Name("article")
+
+// "http://news.domain.com/articles/technology/42"
+url, err := r.Get("article").URL("subdomain", "news",
+                                 "category", "technology",
+                                 "id", "42")
+```
+
+### Walking Routes
+
+The `Walk` function on `mux.Router` can be used to visit all of the routes that are registered on a router. For example,
+the following prints all of the registered routes:
+
+```go
+r := mux.NewRouter()
+r.HandleFunc("/", handler)
+r.HandleFunc("/products", handler).Methods("POST")
+r.HandleFunc("/articles", handler).Methods("GET")
+r.HandleFunc("/articles/{id}", handler).Methods("GET", "PUT")
+r.Walk(func(route *mux.Route, router *mux.Router, ancestors []*mux.Route) error {
+    t, err := route.GetPathTemplate()
+    if err != nil {
+        return err
+    }
+    // p will contain a regular expression that is compatible with regular expressions in Perl, Python, and other languages.
+    // For example, the regular expression for path '/articles/{id}' will be '^/articles/(?P<v0>[^/]+)$'.
+    p, err := route.GetPathRegexp()
+    if err != nil {
+        return err
+    }
+    m, err := route.GetMethods()
+    if err != nil {
+        return err
+    }
+    fmt.Println(strings.Join(m, ","), t, p)
+    return nil
+})
+```
+
+## Full Example
+
+Here's a complete, runnable example of a small `mux` based server:
+
+```go
+package main
+
+import (
+	"net/http"
+	"log"
+	"github.com/gorilla/mux"
+)
+
+func YourHandler(w http.ResponseWriter, r *http.Request) {
+	w.Write([]byte("Gorilla!\n"))
+}
+
+func main() {
+	r := mux.NewRouter()
+	// Routes consist of a path and a handler function.
+	r.HandleFunc("/", YourHandler)
+
+	// Bind to a port and pass our router in
+	log.Fatal(http.ListenAndServe(":8000", r))
+}
+```
+
+## License
+
+BSD licensed. See the LICENSE file for details.
diff --git a/vendor/github.com/gorilla/mux/context_gorilla.go b/vendor/github.com/gorilla/mux/context_gorilla.go
new file mode 100644
index 0000000..d7adaa8
--- /dev/null
+++ b/vendor/github.com/gorilla/mux/context_gorilla.go
@@ -0,0 +1,26 @@
+// +build !go1.7
+
+package mux
+
+import (
+	"net/http"
+
+	"github.com/gorilla/context"
+)
+
+func contextGet(r *http.Request, key interface{}) interface{} {
+	return context.Get(r, key)
+}
+
+func contextSet(r *http.Request, key, val interface{}) *http.Request {
+	if val == nil {
+		return r
+	}
+
+	context.Set(r, key, val)
+	return r
+}
+
+func contextClear(r *http.Request) {
+	context.Clear(r)
+}
diff --git a/vendor/github.com/gorilla/mux/context_native.go b/vendor/github.com/gorilla/mux/context_native.go
new file mode 100644
index 0000000..209cbea
--- /dev/null
+++ b/vendor/github.com/gorilla/mux/context_native.go
@@ -0,0 +1,24 @@
+// +build go1.7
+
+package mux
+
+import (
+	"context"
+	"net/http"
+)
+
+func contextGet(r *http.Request, key interface{}) interface{} {
+	return r.Context().Value(key)
+}
+
+func contextSet(r *http.Request, key, val interface{}) *http.Request {
+	if val == nil {
+		return r
+	}
+
+	return r.WithContext(context.WithValue(r.Context(), key, val))
+}
+
+func contextClear(r *http.Request) {
+	return
+}
diff --git a/vendor/github.com/gorilla/mux/doc.go b/vendor/github.com/gorilla/mux/doc.go
index 8ee5540..cce30b2 100644
--- a/vendor/github.com/gorilla/mux/doc.go
+++ b/vendor/github.com/gorilla/mux/doc.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 /*
-Package gorilla/mux implements a request router and dispatcher.
+Package mux implements a request router and dispatcher.
 
 The name mux stands for "HTTP request multiplexer". Like the standard
 http.ServeMux, mux.Router matches incoming requests against a list of
@@ -12,8 +12,8 @@ or other conditions. The main features are:
 
 	* Requests can be matched based on URL host, path, path prefix, schemes,
 	  header and query values, HTTP methods or using custom matchers.
-	* URL hosts and paths can have variables with an optional regular
-	  expression.
+	* URL hosts, paths and query values can have variables with an optional
+	  regular expression.
 	* Registered URLs can be built, or "reversed", which helps maintaining
 	  references to resources.
 	* Routes can be used as subrouters: nested routes are only tested if the
@@ -47,12 +47,21 @@ variable will be anything until the next slash. For example:
 	r.HandleFunc("/articles/{category}/", ArticlesCategoryHandler)
 	r.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler)
 
+Groups can be used inside patterns, as long as they are non-capturing (?:re). For example:
+
+	r.HandleFunc("/articles/{category}/{sort:(?:asc|desc|new)}", ArticlesCategoryHandler)
+
 The names are used to create a map of route variables which can be retrieved
 calling mux.Vars():
 
 	vars := mux.Vars(request)
 	category := vars["category"]
 
+Note that if any capturing groups are present, mux will panic() during parsing. To prevent
+this, convert any capturing groups to non-capturing, e.g. change "/{sort:(asc|desc)}" to
+"/{sort:(?:asc|desc)}". This is a change from prior versions which behaved unpredictably
+when capturing groups were present.
+
 And this is all you need to know about the basic usage. More advanced options
 are explained below.
 
@@ -60,8 +69,8 @@ Routes can also be restricted to a domain or subdomain. Just define a host
 pattern to be matched. They can also have variables:
 
 	r := mux.NewRouter()
-	// Only matches if domain is "www.domain.com".
-	r.Host("www.domain.com")
+	// Only matches if domain is "www.example.com".
+	r.Host("www.example.com")
 	// Matches a dynamic subdomain.
 	r.Host("{subdomain:[a-z]+}.domain.com")
 
@@ -89,12 +98,12 @@ There are several other matchers that can be added. To match path prefixes:
 
 	r.MatcherFunc(func(r *http.Request, rm *RouteMatch) bool {
 		return r.ProtoMajor == 0
-    })
+	})
 
 ...and finally, it is possible to combine several matchers in a single route:
 
 	r.HandleFunc("/products", ProductsHandler).
-	  Host("www.domain.com").
+	  Host("www.example.com").
 	  Methods("GET").
 	  Schemes("http")
 
@@ -103,11 +112,11 @@ a way to group several routes that share the same requirements.
 We call it "subrouting".
 
 For example, let's say we have several URLs that should only match when the
-host is "www.domain.com". Create a route for that host and get a "subrouter"
+host is "www.example.com". Create a route for that host and get a "subrouter"
 from it:
 
 	r := mux.NewRouter()
-	s := r.Host("www.domain.com").Subrouter()
+	s := r.Host("www.example.com").Subrouter()
 
 Then register routes in the subrouter:
 
@@ -116,7 +125,7 @@ Then register routes in the subrouter:
 	s.HandleFunc("/articles/{category}/{id:[0-9]+}"), ArticleHandler)
 
 The three URL paths we registered above will only be tested if the domain is
-"www.domain.com", because the subrouter is tested first. This is not
+"www.example.com", because the subrouter is tested first. This is not
 only convenient, but also optimizes request matching. You can create
 subrouters combining any attribute matchers accepted by a route.
 
@@ -134,7 +143,32 @@ the inner routes use it as base for their paths:
 	// "/products/{key}/"
 	s.HandleFunc("/{key}/", ProductHandler)
 	// "/products/{key}/details"
-	s.HandleFunc("/{key}/details"), ProductDetailsHandler)
+	s.HandleFunc("/{key}/details", ProductDetailsHandler)
+
+Note that the path provided to PathPrefix() represents a "wildcard": calling
+PathPrefix("/static/").Handler(...) means that the handler will be passed any
+request that matches "/static/*". This makes it easy to serve static files with mux:
+
+	func main() {
+		var dir string
+
+		flag.StringVar(&dir, "dir", ".", "the directory to serve files from. Defaults to the current dir")
+		flag.Parse()
+		r := mux.NewRouter()
+
+		// This will serve files under http://localhost:8000/static/<filename>
+		r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir(dir))))
+
+		srv := &http.Server{
+			Handler:      r,
+			Addr:         "127.0.0.1:8000",
+			// Good practice: enforce timeouts for servers you create!
+			WriteTimeout: 15 * time.Second,
+			ReadTimeout:  15 * time.Second,
+		}
+
+		log.Fatal(srv.ListenAndServe())
+	}
 
 Now let's see how to build registered URLs.
 
@@ -154,24 +188,33 @@ key/value pairs for the route variables. For the previous route, we would do:
 
 	"/articles/technology/42"
 
-This also works for host variables:
+This also works for host and query value variables:
 
 	r := mux.NewRouter()
 	r.Host("{subdomain}.domain.com").
 	  Path("/articles/{category}/{id:[0-9]+}").
+	  Queries("filter", "{filter}").
 	  HandlerFunc(ArticleHandler).
 	  Name("article")
 
-	// url.String() will be "http://news.domain.com/articles/technology/42"
+	// url.String() will be "http://news.domain.com/articles/technology/42?filter=gorilla"
 	url, err := r.Get("article").URL("subdomain", "news",
-									 "category", "technology",
-									 "id", "42")
+	                                 "category", "technology",
+	                                 "id", "42",
+	                                 "filter", "gorilla")
 
 All variables defined in the route are required, and their values must
 conform to the corresponding patterns. These requirements guarantee that a
 generated URL will always match a registered route -- the only exception is
 for explicitly defined "build-only" routes which never match.
 
+Regex support also exists for matching Headers within a route. For example, we could do:
+
+	r.HeadersRegexp("Content-Type", "application/(text|json)")
+
+...and the route will match both requests with a Content-Type of `application/json` as well as
+`application/text`
+
 There's also a way to build only the URL host or path for a route:
 use the methods URLHost() or URLPath() instead. For the previous route,
 we would do:
@@ -193,7 +236,7 @@ as well:
 
 	// "http://news.domain.com/articles/technology/42"
 	url, err := r.Get("article").URL("subdomain", "news",
-									 "category", "technology",
-									 "id", "42")
+	                                 "category", "technology",
+	                                 "id", "42")
 */
 package mux
diff --git a/vendor/github.com/gorilla/mux/mux.go b/vendor/github.com/gorilla/mux/mux.go
index 3857173..fb69196 100644
--- a/vendor/github.com/gorilla/mux/mux.go
+++ b/vendor/github.com/gorilla/mux/mux.go
@@ -5,16 +5,21 @@
 package mux
 
 import (
+	"errors"
 	"fmt"
 	"net/http"
 	"path"
+	"regexp"
+	"strings"
+)
 
-	"github.com/gorilla/context"
+var (
+	ErrMethodMismatch = errors.New("method is not allowed")
 )
 
 // NewRouter returns a new router instance.
 func NewRouter() *Router {
-	return &Router{namedRoutes: make(map[string]*Route)}
+	return &Router{namedRoutes: make(map[string]*Route), KeepContext: false}
 }
 
 // Router registers routes to be matched and dispatches a handler.
@@ -38,6 +43,10 @@ func NewRouter() *Router {
 type Router struct {
 	// Configurable Handler to be used when no route matches.
 	NotFoundHandler http.Handler
+
+	// Configurable Handler to be used when the request method does not match the route.
+	MethodNotAllowedHandler http.Handler
+
 	// Parent route, if this is a subrouter.
 	parent parentRoute
 	// Routes to be matched, in order.
@@ -46,6 +55,14 @@ type Router struct {
 	namedRoutes map[string]*Route
 	// See Router.StrictSlash(). This defines the flag for new routes.
 	strictSlash bool
+	// See Router.SkipClean(). This defines the flag for new routes.
+	skipClean bool
+	// If true, do not clear the request context after handling the request.
+	// This has no effect when go1.7+ is used, since the context is stored
+	// on the request itself.
+	KeepContext bool
+	// see Router.UseEncodedPath(). This defines a flag for all routes.
+	useEncodedPath bool
 }
 
 // Match matches registered routes against the request.
@@ -55,6 +72,17 @@ func (r *Router) Match(req *http.Request, match *RouteMatch) bool {
 			return true
 		}
 	}
+
+	if match.MatchErr == ErrMethodMismatch && r.MethodNotAllowedHandler != nil {
+		match.Handler = r.MethodNotAllowedHandler
+		return true
+	}
+
+	// Closest match for a router (includes sub-routers)
+	if r.NotFoundHandler != nil {
+		match.Handler = r.NotFoundHandler
+		return true
+	}
 	return false
 }
 
@@ -63,26 +91,45 @@ func (r *Router) Match(req *http.Request, match *RouteMatch) bool {
 // When there is a match, the route variables can be retrieved calling
 // mux.Vars(request).
 func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request) {
-	// Clean path to canonical form and redirect.
-	if p := cleanPath(req.URL.Path); p != req.URL.Path {
-		w.Header().Set("Location", p)
-		w.WriteHeader(http.StatusMovedPermanently)
-		return
+	if !r.skipClean {
+		path := req.URL.Path
+		if r.useEncodedPath {
+			path = getPath(req)
+		}
+		// Clean path to canonical form and redirect.
+		if p := cleanPath(path); p != path {
+
+			// Added 3 lines (Philip Schlump) - It was dropping the query string and #whatever from query.
+			// This matches with fix in go 1.2 r.c. 4 for same problem.  Go Issue:
+			// http://code.google.com/p/go/issues/detail?id=5252
+			url := *req.URL
+			url.Path = p
+			p = url.String()
+
+			w.Header().Set("Location", p)
+			w.WriteHeader(http.StatusMovedPermanently)
+			return
+		}
 	}
 	var match RouteMatch
 	var handler http.Handler
 	if r.Match(req, &match) {
 		handler = match.Handler
-		setVars(req, match.Vars)
-		setCurrentRoute(req, match.Route)
+		req = setVars(req, match.Vars)
+		req = setCurrentRoute(req, match.Route)
 	}
+
+	if handler == nil && match.MatchErr == ErrMethodMismatch {
+		handler = methodNotAllowedHandler()
+	}
+
 	if handler == nil {
-		if r.NotFoundHandler == nil {
-			r.NotFoundHandler = http.NotFoundHandler()
-		}
-		handler = r.NotFoundHandler
+		handler = http.NotFoundHandler()
+	}
+
+	if !r.KeepContext {
+		defer contextClear(req)
 	}
-	defer context.Clear(req)
 	handler.ServeHTTP(w, req)
 }
 
@@ -97,23 +144,64 @@ func (r *Router) GetRoute(name string) *Route {
 	return r.getNamedRoutes()[name]
 }
 
-// StrictSlash defines the slash behavior for new routes.
+// StrictSlash defines the trailing slash behavior for new routes. The initial
+// value is false.
 //
 // When true, if the route path is "/path/", accessing "/path" will redirect
-// to the former and vice versa.
+// to the former and vice versa. In other words, your application will always
+// see the path as specified in the route.
 //
-// Special case: when a route sets a path prefix, strict slash is
-// automatically set to false for that route because the redirect behavior
-// can't be determined for prefixes.
+// When false, if the route path is "/path", accessing "/path/" will not match
+// this route and vice versa.
+//
+// Special case: when a route sets a path prefix using the PathPrefix() method,
+// strict slash is ignored for that route because the redirect behavior can't
+// be determined from a prefix alone. However, any subrouters created from that
+// route inherit the original StrictSlash setting.
 func (r *Router) StrictSlash(value bool) *Router {
 	r.strictSlash = value
 	return r
 }
 
+// SkipClean defines the path cleaning behaviour for new routes. The initial
+// value is false. Users should be careful about which routes are not cleaned
+//
+// When true, if the route path is "/path//to", it will remain with the double
+// slash. This is helpful if you have a route like: /fetch/http://xkcd.com/534/
+//
+// When false, the path will be cleaned, so /fetch/http://xkcd.com/534/ will
+// become /fetch/http/xkcd.com/534
+func (r *Router) SkipClean(value bool) *Router {
+	r.skipClean = value
+	return r
+}
+
+// UseEncodedPath tells the router to match the encoded original path
+// to the routes.
+// For eg. "/path/foo%2Fbar/to" will match the path "/path/{var}/to".
+// This behavior has the drawback of needing to match routes against
+// r.RequestURI instead of r.URL.Path. Any modifications (such as http.StripPrefix)
+// to r.URL.Path will not affect routing when this flag is on and thus may
+// induce unintended behavior.
+//
+// If not called, the router will match the unencoded path to the routes.
+// For eg. "/path/foo%2Fbar/to" will match the path "/path/foo/bar/to"
+func (r *Router) UseEncodedPath() *Router {
+	r.useEncodedPath = true
+	return r
+}
+
 // ----------------------------------------------------------------------------
 // parentRoute
 // ----------------------------------------------------------------------------
 
+func (r *Router) getBuildScheme() string {
+	if r.parent != nil {
+		return r.parent.getBuildScheme()
+	}
+	return ""
+}
+
 // getNamedRoutes returns the map where named routes are registered.
 func (r *Router) getNamedRoutes() map[string]*Route {
 	if r.namedRoutes == nil {
@@ -134,13 +222,20 @@ func (r *Router) getRegexpGroup() *routeRegexpGroup {
 	return nil
 }
 
+func (r *Router) buildVars(m map[string]string) map[string]string {
+	if r.parent != nil {
+		m = r.parent.buildVars(m)
+	}
+	return m
+}
+
 // ----------------------------------------------------------------------------
 // Route factories
 // ----------------------------------------------------------------------------
 
 // NewRoute registers an empty route.
 func (r *Router) NewRoute() *Route {
-	route := &Route{parent: r, strictSlash: r.strictSlash}
+	route := &Route{parent: r, strictSlash: r.strictSlash, skipClean: r.skipClean, useEncodedPath: r.useEncodedPath}
 	r.routes = append(r.routes, route)
 	return route
 }
@@ -206,6 +301,59 @@ func (r *Router) Schemes(schemes ...string) *Route {
 	return r.NewRoute().Schemes(schemes...)
 }
 
+// BuildVarsFunc registers a new route with a custom function for modifying
+// route variables before building a URL.
+func (r *Router) BuildVarsFunc(f BuildVarsFunc) *Route {
+	return r.NewRoute().BuildVarsFunc(f)
+}
+
+// Walk walks the router and all its sub-routers, calling walkFn for each route
+// in the tree. The routes are walked in the order they were added. Sub-routers
+// are explored depth-first.
+func (r *Router) Walk(walkFn WalkFunc) error {
+	return r.walk(walkFn, []*Route{})
+}
+
+// SkipRouter is used as a return value from WalkFuncs to indicate that the
+// router that walk is about to descend down to should be skipped.
+var SkipRouter = errors.New("skip this router")
+
+// WalkFunc is the type of the function called for each route visited by Walk.
+// At every invocation, it is given the current route, and the current router,
+// and a list of ancestor routes that lead to the current route.
+type WalkFunc func(route *Route, router *Router, ancestors []*Route) error
+
+func (r *Router) walk(walkFn WalkFunc, ancestors []*Route) error {
+	for _, t := range r.routes {
+		err := walkFn(t, r, ancestors)
+		if err == SkipRouter {
+			continue
+		}
+		if err != nil {
+			return err
+		}
+		for _, sr := range t.matchers {
+			if h, ok := sr.(*Router); ok {
+				ancestors = append(ancestors, t)
+				err := h.walk(walkFn, ancestors)
+				if err != nil {
+					return err
+				}
+				ancestors = ancestors[:len(ancestors)-1]
+			}
+		}
+		if h, ok := t.handler.(*Router); ok {
+			ancestors = append(ancestors, t)
+			err := h.walk(walkFn, ancestors)
+			if err != nil {
+				return err
+			}
+			ancestors = ancestors[:len(ancestors)-1]
+		}
+	}
+	return nil
+}
+
 // ----------------------------------------------------------------------------
 // Context
 // ----------------------------------------------------------------------------
@@ -215,6 +363,11 @@ type RouteMatch struct {
 	Route   *Route
 	Handler http.Handler
 	Vars    map[string]string
+
+	// MatchErr is set to appropriate matching error
+	// It is set to ErrMethodMismatch if there is a mismatch in
+	// the request method and route method
+	MatchErr error
 }
 
 type contextKey int
@@ -226,32 +379,58 @@ const (
 
 // Vars returns the route variables for the current request, if any.
 func Vars(r *http.Request) map[string]string {
-	if rv := context.Get(r, varsKey); rv != nil {
+	if rv := contextGet(r, varsKey); rv != nil {
 		return rv.(map[string]string)
 	}
 	return nil
 }
 
 // CurrentRoute returns the matched route for the current request, if any.
+// This only works when called inside the handler of the matched route
+// because the matched route is stored in the request context which is cleared
+// after the handler returns, unless the KeepContext option is set on the
+// Router.
 func CurrentRoute(r *http.Request) *Route {
-	if rv := context.Get(r, routeKey); rv != nil {
+	if rv := contextGet(r, routeKey); rv != nil {
 		return rv.(*Route)
 	}
 	return nil
 }
 
-func setVars(r *http.Request, val interface{}) {
-	context.Set(r, varsKey, val)
+func setVars(r *http.Request, val interface{}) *http.Request {
+	return contextSet(r, varsKey, val)
 }
 
-func setCurrentRoute(r *http.Request, val interface{}) {
-	context.Set(r, routeKey, val)
+func setCurrentRoute(r *http.Request, val interface{}) *http.Request {
+	return contextSet(r, routeKey, val)
 }
 
 // ----------------------------------------------------------------------------
 // Helpers
 // ----------------------------------------------------------------------------
 
+// getPath returns the escaped path if possible; doing what URL.EscapedPath()
+// which was added in go1.5 does
+func getPath(req *http.Request) string {
+	if req.RequestURI != "" {
+		// Extract the path from RequestURI (which is escaped unlike URL.Path)
+		// as detailed here as detailed in https://golang.org/pkg/net/url/#URL
+		// for < 1.5 server side workaround
+		// http://localhost/path/here?v=1 -> /path/here
+		path := req.RequestURI
+		path = strings.TrimPrefix(path, req.URL.Scheme+`://`)
+		path = strings.TrimPrefix(path, req.URL.Host)
+		if i := strings.LastIndex(path, "?"); i > -1 {
+			path = path[:i]
+		}
+		if i := strings.LastIndex(path, "#"); i > -1 {
+			path = path[:i]
+		}
+		return path
+	}
+	return req.URL.Path
+}
+
 // cleanPath returns the canonical path for p, eliminating . and .. elements.
 // Borrowed from the net/http package.
 func cleanPath(p string) string {
@@ -267,6 +446,7 @@ func cleanPath(p string) string {
 	if p[len(p)-1] == '/' && np != "/" {
 		np += "/"
 	}
+
 	return np
 }
 
@@ -282,13 +462,24 @@ func uniqueVars(s1, s2 []string) error {
 	return nil
 }
 
-// mapFromPairs converts variadic string parameters to a string map.
-func mapFromPairs(pairs ...string) (map[string]string, error) {
+// checkPairs returns the count of strings passed in, and an error if
+// the count is not an even number.
+func checkPairs(pairs ...string) (int, error) {
 	length := len(pairs)
 	if length%2 != 0 {
-		return nil, fmt.Errorf(
+		return length, fmt.Errorf(
 			"mux: number of parameters must be multiple of 2, got %v", pairs)
 	}
+	return length, nil
+}
+
+// mapFromPairsToString converts variadic string parameters to a
+// string to string map.
+func mapFromPairsToString(pairs ...string) (map[string]string, error) {
+	length, err := checkPairs(pairs...)
+	if err != nil {
+		return nil, err
+	}
 	m := make(map[string]string, length/2)
 	for i := 0; i < length; i += 2 {
 		m[pairs[i]] = pairs[i+1]
@@ -296,6 +487,24 @@ func mapFromPairs(pairs ...string) (map[string]string, error) {
 	return m, nil
 }
 
+// mapFromPairsToRegex converts variadic string parameters to a
+// string to regex map.
+func mapFromPairsToRegex(pairs ...string) (map[string]*regexp.Regexp, error) {
+	length, err := checkPairs(pairs...)
+	if err != nil {
+		return nil, err
+	}
+	m := make(map[string]*regexp.Regexp, length/2)
+	for i := 0; i < length; i += 2 {
+		regex, err := regexp.Compile(pairs[i+1])
+		if err != nil {
+			return nil, err
+		}
+		m[pairs[i]] = regex
+	}
+	return m, nil
+}
+
 // matchInArray returns true if the given string value is in the array.
 func matchInArray(arr []string, value string) bool {
 	for _, v := range arr {
@@ -306,9 +515,8 @@ func matchInArray(arr []string, value string) bool {
 	return false
 }
 
-// matchMap returns true if the given key/value pairs exist in a given map.
-func matchMap(toCheck map[string]string, toMatch map[string][]string,
-	canonicalKey bool) bool {
+// matchMapWithString returns true if the given key/value pairs exist in a given map.
+func matchMapWithString(toCheck map[string]string, toMatch map[string][]string, canonicalKey bool) bool {
 	for k, v := range toCheck {
 		// Check if key exists.
 		if canonicalKey {
@@ -333,3 +541,40 @@ func matchMap(toCheck map[string]string, toMatch map[string][]string,
 	}
 	return true
 }
+
+// matchMapWithRegex returns true if the given key/value pairs exist in a given map compiled against
+// the given regex
+func matchMapWithRegex(toCheck map[string]*regexp.Regexp, toMatch map[string][]string, canonicalKey bool) bool {
+	for k, v := range toCheck {
+		// Check if key exists.
+		if canonicalKey {
+			k = http.CanonicalHeaderKey(k)
+		}
+		if values := toMatch[k]; values == nil {
+			return false
+		} else if v != nil {
+			// If value was defined as an empty string we only check that the
+			// key exists. Otherwise we also check for equality.
+			valueExists := false
+			for _, value := range values {
+				if v.MatchString(value) {
+					valueExists = true
+					break
+				}
+			}
+			if !valueExists {
+				return false
+			}
+		}
+	}
+	return true
+}
+
+// methodNotAllowed replies to the request with an HTTP status code 405.
+func methodNotAllowed(w http.ResponseWriter, r *http.Request) {
+	w.WriteHeader(http.StatusMethodNotAllowed)
+}
+
+// methodNotAllowedHandler returns a simple request handler
+// that replies to each request with a status code 405.
+func methodNotAllowedHandler() http.Handler { return http.HandlerFunc(methodNotAllowed) }
diff --git a/vendor/github.com/gorilla/mux/regexp.go b/vendor/github.com/gorilla/mux/regexp.go
index 4c3482b..80d1f78 100644
--- a/vendor/github.com/gorilla/mux/regexp.go
+++ b/vendor/github.com/gorilla/mux/regexp.go
@@ -10,11 +10,12 @@ import (
 	"net/http"
 	"net/url"
 	"regexp"
+	"strconv"
 	"strings"
 )
 
 // newRouteRegexp parses a route template and returns a routeRegexp,
-// used to match a host or path.
+// used to match a host, a path or a query string.
 //
 // It will extract named variables, assemble a regexp to be matched, create
 // a "reverse" template to build URLs and compile regexps to validate variable
@@ -23,7 +24,7 @@ import (
 // Previously we accepted only Python-like identifiers for variable
 // names ([a-zA-Z_][a-zA-Z0-9_]*), but currently the only restriction is that
 // name and pattern can't be empty, and names can't contain a colon.
-func newRouteRegexp(tpl string, matchHost, matchPrefix, strictSlash bool) (*routeRegexp, error) {
+func newRouteRegexp(tpl string, matchHost, matchPrefix, matchQuery, strictSlash, useEncodedPath bool) (*routeRegexp, error) {
 	// Check if it is well-formed.
 	idxs, errBraces := braceIndices(tpl)
 	if errBraces != nil {
@@ -33,11 +34,14 @@ func newRouteRegexp(tpl string, matchHost, matchPrefix, strictSlash bool) (*rout
 	template := tpl
 	// Now let's parse it.
 	defaultPattern := "[^/]+"
-	if matchHost {
+	if matchQuery {
+		defaultPattern = ".*"
+	} else if matchHost {
 		defaultPattern = "[^.]+"
-		matchPrefix, strictSlash = false, false
+		matchPrefix = false
 	}
-	if matchPrefix {
+	// Only match strict slash if not matching
+	if matchPrefix || matchHost || matchQuery {
 		strictSlash = false
 	}
 	// Set a flag for strictSlash.
@@ -48,7 +52,8 @@ func newRouteRegexp(tpl string, matchHost, matchPrefix, strictSlash bool) (*rout
 	}
 	varsN := make([]string, len(idxs)/2)
 	varsR := make([]*regexp.Regexp, len(idxs)/2)
-	pattern := bytes.NewBufferString("^")
+	pattern := bytes.NewBufferString("")
+	pattern.WriteByte('^')
 	reverse := bytes.NewBufferString("")
 	var end int
 	var err error
@@ -68,9 +73,11 @@ func newRouteRegexp(tpl string, matchHost, matchPrefix, strictSlash bool) (*rout
 				tpl[idxs[i]:end])
 		}
 		// Build the regexp pattern.
-		fmt.Fprintf(pattern, "%s(%s)", regexp.QuoteMeta(raw), patt)
+		fmt.Fprintf(pattern, "%s(?P<%s>%s)", regexp.QuoteMeta(raw), varGroupName(i/2), patt)
+
 		// Build the reverse template.
 		fmt.Fprintf(reverse, "%s%%s", raw)
+
 		// Append variable name and compiled pattern.
 		varsN[i/2] = name
 		varsR[i/2], err = regexp.Compile(fmt.Sprintf("^%s$", patt))
@@ -84,6 +91,12 @@ func newRouteRegexp(tpl string, matchHost, matchPrefix, strictSlash bool) (*rout
 	if strictSlash {
 		pattern.WriteString("[/]?")
 	}
+	if matchQuery {
+		// Add the default pattern if the query value is empty
+		if queryVal := strings.SplitN(template, "=", 2)[1]; queryVal == "" {
+			pattern.WriteString(defaultPattern)
+		}
+	}
 	if !matchPrefix {
 		pattern.WriteByte('$')
 	}
@@ -96,14 +109,24 @@ func newRouteRegexp(tpl string, matchHost, matchPrefix, strictSlash bool) (*rout
 	if errCompile != nil {
 		return nil, errCompile
 	}
+
+	// Check for capturing groups which used to work in older versions
+	if reg.NumSubexp() != len(idxs)/2 {
+		panic(fmt.Sprintf("route %s contains capture groups in its regexp. ", template) +
+			"Only non-capturing groups are accepted: e.g. (?:pattern) instead of (pattern)")
+	}
+
 	// Done!
 	return &routeRegexp{
-		template:  template,
-		matchHost: matchHost,
-		regexp:    reg,
-		reverse:   reverse.String(),
-		varsN:     varsN,
-		varsR:     varsR,
+		template:       template,
+		matchHost:      matchHost,
+		matchQuery:     matchQuery,
+		strictSlash:    strictSlash,
+		useEncodedPath: useEncodedPath,
+		regexp:         reg,
+		reverse:        reverse.String(),
+		varsN:          varsN,
+		varsR:          varsR,
 	}, nil
 }
 
@@ -112,8 +135,15 @@ func newRouteRegexp(tpl string, matchHost, matchPrefix, strictSlash bool) (*rout
 type routeRegexp struct {
 	// The unmodified template.
 	template string
-	// True for host match, false for path match.
+	// True for host match, false for path or query string match.
 	matchHost bool
+	// True for query string match, false for path and host match.
+	matchQuery bool
+	// The strictSlash value defined on the route, but disabled if PathPrefix was used.
+	strictSlash bool
+	// Determines whether to use encoded path from getPath function or unencoded
+	// req.URL.Path for path matching
+	useEncodedPath bool
 	// Expanded regexp.
 	regexp *regexp.Regexp
 	// Reverse template.
@@ -127,23 +157,30 @@ type routeRegexp struct {
 // Match matches the regexp against the URL host or path.
 func (r *routeRegexp) Match(req *http.Request, match *RouteMatch) bool {
 	if !r.matchHost {
-		return r.regexp.MatchString(req.URL.Path)
+		if r.matchQuery {
+			return r.matchQueryString(req)
+		}
+		path := req.URL.Path
+		if r.useEncodedPath {
+			path = getPath(req)
+		}
+		return r.regexp.MatchString(path)
 	}
+
 	return r.regexp.MatchString(getHost(req))
 }
 
 // url builds a URL part using the given values.
-func (r *routeRegexp) url(pairs ...string) (string, error) {
-	values, err := mapFromPairs(pairs...)
-	if err != nil {
-		return "", err
-	}
+func (r *routeRegexp) url(values map[string]string) (string, error) {
 	urlValues := make([]interface{}, len(r.varsN))
 	for k, v := range r.varsN {
 		value, ok := values[v]
 		if !ok {
 			return "", fmt.Errorf("mux: missing route variable %q", v)
 		}
+		if r.matchQuery {
+			value = url.QueryEscape(value)
+		}
 		urlValues[k] = value
 	}
 	rv := fmt.Sprintf(r.reverse, urlValues...)
@@ -162,11 +199,31 @@ func (r *routeRegexp) url(pairs ...string) (string, error) {
 	return rv, nil
 }
 
+// getURLQuery returns a single query parameter from a request URL.
+// For a URL with foo=bar&baz=ding, we return only the relevant key
+// value pair for the routeRegexp.
+func (r *routeRegexp) getURLQuery(req *http.Request) string {
+	if !r.matchQuery {
+		return ""
+	}
+	templateKey := strings.SplitN(r.template, "=", 2)[0]
+	for key, vals := range req.URL.Query() {
+		if key == templateKey && len(vals) > 0 {
+			return key + "=" + vals[0]
+		}
+	}
+	return ""
+}
+
+func (r *routeRegexp) matchQueryString(req *http.Request) bool {
+	return r.regexp.MatchString(r.getURLQuery(req))
+}
+
 // braceIndices returns the first level curly brace indices from a string.
 // It returns an error in case of unbalanced braces.
 func braceIndices(s string) ([]int, error) {
 	var level, idx int
-	idxs := make([]int, 0)
+	var idxs []int
 	for i := 0; i < len(s); i++ {
 		switch s[i] {
 		case '{':
@@ -187,37 +244,44 @@ func braceIndices(s string) ([]int, error) {
 	return idxs, nil
 }
 
+// varGroupName builds a capturing group name for the indexed variable.
+func varGroupName(idx int) string {
+	return "v" + strconv.Itoa(idx)
+}
+
 // ----------------------------------------------------------------------------
 // routeRegexpGroup
 // ----------------------------------------------------------------------------
 
 // routeRegexpGroup groups the route matchers that carry variables.
 type routeRegexpGroup struct {
-	host *routeRegexp
-	path *routeRegexp
+	host    *routeRegexp
+	path    *routeRegexp
+	queries []*routeRegexp
 }
 
 // setMatch extracts the variables from the URL once a route matches.
 func (v *routeRegexpGroup) setMatch(req *http.Request, m *RouteMatch, r *Route) {
 	// Store host variables.
 	if v.host != nil {
-		hostVars := v.host.regexp.FindStringSubmatch(getHost(req))
-		if hostVars != nil {
-			for k, v := range v.host.varsN {
-				m.Vars[v] = hostVars[k+1]
-			}
+		host := getHost(req)
+		matches := v.host.regexp.FindStringSubmatchIndex(host)
+		if len(matches) > 0 {
+			extractVars(host, matches, v.host.varsN, m.Vars)
 		}
 	}
+	path := req.URL.Path
+	if r.useEncodedPath {
+		path = getPath(req)
+	}
 	// Store path variables.
 	if v.path != nil {
-		pathVars := v.path.regexp.FindStringSubmatch(req.URL.Path)
-		if pathVars != nil {
-			for k, v := range v.path.varsN {
-				m.Vars[v] = pathVars[k+1]
-			}
+		matches := v.path.regexp.FindStringSubmatchIndex(path)
+		if len(matches) > 0 {
+			extractVars(path, matches, v.path.varsN, m.Vars)
 			// Check if we should redirect.
-			if r.strictSlash {
-				p1 := strings.HasSuffix(req.URL.Path, "/")
+			if v.path.strictSlash {
+				p1 := strings.HasSuffix(path, "/")
 				p2 := strings.HasSuffix(v.path.template, "/")
 				if p1 != p2 {
 					u, _ := url.Parse(req.URL.String())
@@ -231,17 +295,32 @@ func (v *routeRegexpGroup) setMatch(req *http.Request, m *RouteMatch, r *Route)
 			}
 		}
 	}
+	// Store query string variables.
+	for _, q := range v.queries {
+		queryURL := q.getURLQuery(req)
+		matches := q.regexp.FindStringSubmatchIndex(queryURL)
+		if len(matches) > 0 {
+			extractVars(queryURL, matches, q.varsN, m.Vars)
+		}
+	}
 }
 
 // getHost tries its best to return the request host.
 func getHost(r *http.Request) string {
-	if !r.URL.IsAbs() {
-		host := r.Host
-		// Slice off any port information.
-		if i := strings.Index(host, ":"); i != -1 {
-			host = host[:i]
-		}
-		return host
+	if r.URL.IsAbs() {
+		return r.URL.Host
+	}
+	host := r.Host
+	// Slice off any port information.
+	if i := strings.Index(host, ":"); i != -1 {
+		host = host[:i]
+	}
+	return host
+
+}
+
+func extractVars(input string, matches []int, names []string, output map[string]string) {
+	for i, name := range names {
+		output[name] = input[matches[2*i+2]:matches[2*i+3]]
 	}
-	return r.URL.Host
 }
diff --git a/vendor/github.com/gorilla/mux/route.go b/vendor/github.com/gorilla/mux/route.go
index cb538ea..6863adb 100644
--- a/vendor/github.com/gorilla/mux/route.go
+++ b/vendor/github.com/gorilla/mux/route.go
@@ -9,6 +9,7 @@ import (
 	"fmt"
 	"net/http"
 	"net/url"
+	"regexp"
 	"strings"
 )
 
@@ -25,12 +26,25 @@ type Route struct {
 	// If true, when the path pattern is "/path/", accessing "/path" will
 	// redirect to the former and vice versa.
 	strictSlash bool
+	// If true, when the path pattern is "/path//to", accessing "/path//to"
+	// will not redirect
+	skipClean bool
+	// If true, "/path/foo%2Fbar/to" will match the path "/path/{var}/to"
+	useEncodedPath bool
+	// The scheme used when building URLs.
+	buildScheme string
 	// If true, this route never matches: it is only used to build URLs.
 	buildOnly bool
 	// The name used to build URLs.
 	name string
 	// Error resulted from building a route.
 	err error
+
+	buildVarsFunc BuildVarsFunc
+}
+
+func (r *Route) SkipClean() bool {
+	return r.skipClean
 }
 
 // Match matches the route against the request.
@@ -38,12 +52,27 @@ func (r *Route) Match(req *http.Request, match *RouteMatch) bool {
 	if r.buildOnly || r.err != nil {
 		return false
 	}
+
+	var matchErr error
+
 	// Match everything.
 	for _, m := range r.matchers {
 		if matched := m.Match(req, match); !matched {
+			if _, ok := m.(methodMatcher); ok {
+				matchErr = ErrMethodMismatch
+				continue
+			}
+			matchErr = nil
 			return false
 		}
 	}
+
+	if matchErr != nil {
+		match.MatchErr = matchErr
+		return false
+	}
+
+	match.MatchErr = nil
 	// Yay, we have a match. Let's collect some info about it.
 	if match.Route == nil {
 		match.Route = r
@@ -54,6 +83,7 @@ func (r *Route) Match(req *http.Request, match *RouteMatch) bool {
 	if match.Vars == nil {
 		match.Vars = make(map[string]string)
 	}
+
 	// Set variables.
 	if r.regexp != nil {
 		r.regexp.setMatch(req, match, r)
@@ -135,23 +165,28 @@ func (r *Route) addMatcher(m matcher) *Route {
 }
 
 // addRegexpMatcher adds a host or path matcher and builder to a route.
-func (r *Route) addRegexpMatcher(tpl string, matchHost, matchPrefix bool) error {
+func (r *Route) addRegexpMatcher(tpl string, matchHost, matchPrefix, matchQuery bool) error {
 	if r.err != nil {
 		return r.err
 	}
 	r.regexp = r.getRegexpGroup()
-	if !matchHost {
-		if len(tpl) == 0 || tpl[0] != '/' {
+	if !matchHost && !matchQuery {
+		if len(tpl) > 0 && tpl[0] != '/' {
 			return fmt.Errorf("mux: path must start with a slash, got %q", tpl)
 		}
 		if r.regexp.path != nil {
 			tpl = strings.TrimRight(r.regexp.path.template, "/") + tpl
 		}
 	}
-	rr, err := newRouteRegexp(tpl, matchHost, matchPrefix, r.strictSlash)
+	rr, err := newRouteRegexp(tpl, matchHost, matchPrefix, matchQuery, r.strictSlash, r.useEncodedPath)
 	if err != nil {
 		return err
 	}
+	for _, q := range r.regexp.queries {
+		if err = uniqueVars(rr.varsN, q.varsN); err != nil {
+			return err
+		}
+	}
 	if matchHost {
 		if r.regexp.path != nil {
 			if err = uniqueVars(rr.varsN, r.regexp.path.varsN); err != nil {
@@ -165,7 +200,11 @@ func (r *Route) addRegexpMatcher(tpl string, matchHost, matchPrefix bool) error
 				return err
 			}
 		}
-		r.regexp.path = rr
+		if matchQuery {
+			r.regexp.queries = append(r.regexp.queries, rr)
+		} else {
+			r.regexp.path = rr
+		}
 	}
 	r.addMatcher(rr)
 	return nil
@@ -177,7 +216,7 @@ func (r *Route) addRegexpMatcher(tpl string, matchHost, matchPrefix bool) error
 type headerMatcher map[string]string
 
 func (m headerMatcher) Match(r *http.Request, match *RouteMatch) bool {
-	return matchMap(m, r.Header, true)
+	return matchMapWithString(m, r.Header, true)
 }
 
 // Headers adds a matcher for request header values.
@@ -188,22 +227,46 @@ func (m headerMatcher) Match(r *http.Request, match *RouteMatch) bool {
 //               "X-Requested-With", "XMLHttpRequest")
 //
 // The above route will only match if both request header values match.
-//
-// It the value is an empty string, it will match any value if the key is set.
+// If the value is an empty string, it will match any value if the key is set.
 func (r *Route) Headers(pairs ...string) *Route {
 	if r.err == nil {
 		var headers map[string]string
-		headers, r.err = mapFromPairs(pairs...)
+		headers, r.err = mapFromPairsToString(pairs...)
 		return r.addMatcher(headerMatcher(headers))
 	}
 	return r
 }
 
+// headerRegexMatcher matches the request against the route given a regex for the header
+type headerRegexMatcher map[string]*regexp.Regexp
+
+func (m headerRegexMatcher) Match(r *http.Request, match *RouteMatch) bool {
+	return matchMapWithRegex(m, r.Header, true)
+}
+
+// HeadersRegexp accepts a sequence of key/value pairs, where the value has regex
+// support. For example:
+//
+//     r := mux.NewRouter()
+//     r.HeadersRegexp("Content-Type", "application/(text|json)",
+//               "X-Requested-With", "XMLHttpRequest")
+//
+// The above route will only match if both the request header matches both regular expressions.
+// It the value is an empty string, it will match any value if the key is set.
+func (r *Route) HeadersRegexp(pairs ...string) *Route {
+	if r.err == nil {
+		var headers map[string]*regexp.Regexp
+		headers, r.err = mapFromPairsToRegex(pairs...)
+		return r.addMatcher(headerRegexMatcher(headers))
+	}
+	return r
+}
+
 // Host -----------------------------------------------------------------------
 
 // Host adds a matcher for the URL host.
 // It accepts a template with zero or more URL variables enclosed by {}.
-// Variables can define an optional regexp pattern to me matched:
+// Variables can define an optional regexp pattern to be matched:
 //
 // - {name} matches anything until the next dot.
 //
@@ -212,14 +275,14 @@ func (r *Route) Headers(pairs ...string) *Route {
 // For example:
 //
 //     r := mux.NewRouter()
-//     r.Host("www.domain.com")
+//     r.Host("www.example.com")
 //     r.Host("{subdomain}.domain.com")
 //     r.Host("{subdomain:[a-z]+}.domain.com")
 //
 // Variable names must be unique in a given route. They can be retrieved
 // calling mux.Vars(request).
 func (r *Route) Host(tpl string) *Route {
-	r.err = r.addRegexpMatcher(tpl, true, false)
+	r.err = r.addRegexpMatcher(tpl, true, false, false)
 	return r
 }
 
@@ -228,6 +291,7 @@ func (r *Route) Host(tpl string) *Route {
 // MatcherFunc is the function signature used by custom matchers.
 type MatcherFunc func(*http.Request, *RouteMatch) bool
 
+// Match returns the match for a given request.
 func (m MatcherFunc) Match(r *http.Request, match *RouteMatch) bool {
 	return m(r, match)
 }
@@ -259,8 +323,9 @@ func (r *Route) Methods(methods ...string) *Route {
 // Path -----------------------------------------------------------------------
 
 // Path adds a matcher for the URL path.
-// It accepts a template with zero or more URL variables enclosed by {}.
-// Variables can define an optional regexp pattern to me matched:
+// It accepts a template with zero or more URL variables enclosed by {}. The
+// template must start with a "/".
+// Variables can define an optional regexp pattern to be matched:
 //
 // - {name} matches anything until the next slash.
 //
@@ -277,44 +342,58 @@ func (r *Route) Methods(methods ...string) *Route {
 // Variable names must be unique in a given route. They can be retrieved
 // calling mux.Vars(request).
 func (r *Route) Path(tpl string) *Route {
-	r.err = r.addRegexpMatcher(tpl, false, false)
+	r.err = r.addRegexpMatcher(tpl, false, false, false)
 	return r
 }
 
 // PathPrefix -----------------------------------------------------------------
 
-// PathPrefix adds a matcher for the URL path prefix.
+// PathPrefix adds a matcher for the URL path prefix. This matches if the given
+// template is a prefix of the full URL path. See Route.Path() for details on
+// the tpl argument.
+//
+// Note that it does not treat slashes specially ("/foobar/" will be matched by
+// the prefix "/foo") so you may want to use a trailing slash here.
+//
+// Also note that the setting of Router.StrictSlash() has no effect on routes
+// with a PathPrefix matcher.
 func (r *Route) PathPrefix(tpl string) *Route {
-	r.strictSlash = false
-	r.err = r.addRegexpMatcher(tpl, false, true)
+	r.err = r.addRegexpMatcher(tpl, false, true, false)
 	return r
 }
 
 // Query ----------------------------------------------------------------------
 
-// queryMatcher matches the request against URL queries.
-type queryMatcher map[string]string
-
-func (m queryMatcher) Match(r *http.Request, match *RouteMatch) bool {
-	return matchMap(m, r.URL.Query(), false)
-}
-
 // Queries adds a matcher for URL query values.
-// It accepts a sequence of key/value pairs. For example:
+// It accepts a sequence of key/value pairs. Values may define variables.
+// For example:
 //
 //     r := mux.NewRouter()
-//     r.Queries("foo", "bar", "baz", "ding")
+//     r.Queries("foo", "bar", "id", "{id:[0-9]+}")
 //
 // The above route will only match if the URL contains the defined queries
-// values, e.g.: ?foo=bar&baz=ding.
+// values, e.g.: ?foo=bar&id=42.
 //
 // It the value is an empty string, it will match any value if the key is set.
+//
+// Variables can define an optional regexp pattern to be matched:
+//
+// - {name} matches anything until the next slash.
+//
+// - {name:pattern} matches the given regexp pattern.
 func (r *Route) Queries(pairs ...string) *Route {
-	if r.err == nil {
-		var queries map[string]string
-		queries, r.err = mapFromPairs(pairs...)
-		return r.addMatcher(queryMatcher(queries))
+	length := len(pairs)
+	if length%2 != 0 {
+		r.err = fmt.Errorf(
+			"mux: number of parameters must be multiple of 2, got %v", pairs)
+		return nil
+	}
+	for i := 0; i < length; i += 2 {
+		if r.err = r.addRegexpMatcher(pairs[i]+"="+pairs[i+1], false, false, true); r.err != nil {
+			return r
+		}
 	}
+
 	return r
 }
 
@@ -328,14 +407,30 @@ func (m schemeMatcher) Match(r *http.Request, match *RouteMatch) bool {
 }
 
 // Schemes adds a matcher for URL schemes.
-// It accepts a sequence schemes to be matched, e.g.: "http", "https".
+// It accepts a sequence of schemes to be matched, e.g.: "http", "https".
 func (r *Route) Schemes(schemes ...string) *Route {
 	for k, v := range schemes {
 		schemes[k] = strings.ToLower(v)
 	}
+	if r.buildScheme == "" && len(schemes) > 0 {
+		r.buildScheme = schemes[0]
+	}
 	return r.addMatcher(schemeMatcher(schemes))
 }
 
+// BuildVarsFunc --------------------------------------------------------------
+
+// BuildVarsFunc is the function signature used by custom build variable
+// functions (which can modify route variables before a route's URL is built).
+type BuildVarsFunc func(map[string]string) map[string]string
+
+// BuildVarsFunc adds a custom function to be used to modify build variables
+// before a route's URL is built.
+func (r *Route) BuildVarsFunc(f BuildVarsFunc) *Route {
+	r.buildVarsFunc = f
+	return r
+}
+
 // Subrouter ------------------------------------------------------------------
 
 // Subrouter creates a subrouter for the route.
@@ -343,7 +438,7 @@ func (r *Route) Schemes(schemes ...string) *Route {
 // It will test the inner routes only if the parent route matched. For example:
 //
 //     r := mux.NewRouter()
-//     s := r.Host("www.domain.com").Subrouter()
+//     s := r.Host("www.example.com").Subrouter()
 //     s.HandleFunc("/products/", ProductsHandler)
 //     s.HandleFunc("/products/{key}", ProductHandler)
 //     s.HandleFunc("/articles/{category}/{id:[0-9]+}"), ArticleHandler)
@@ -398,24 +493,38 @@ func (r *Route) URL(pairs ...string) (*url.URL, error) {
 	if r.regexp == nil {
 		return nil, errors.New("mux: route doesn't have a host or path")
 	}
+	values, err := r.prepareVars(pairs...)
+	if err != nil {
+		return nil, err
+	}
 	var scheme, host, path string
-	var err error
+	queries := make([]string, 0, len(r.regexp.queries))
 	if r.regexp.host != nil {
-		// Set a default scheme.
-		scheme = "http"
-		if host, err = r.regexp.host.url(pairs...); err != nil {
+		if host, err = r.regexp.host.url(values); err != nil {
 			return nil, err
 		}
+		scheme = "http"
+		if s := r.getBuildScheme(); s != "" {
+			scheme = s
+		}
 	}
 	if r.regexp.path != nil {
-		if path, err = r.regexp.path.url(pairs...); err != nil {
+		if path, err = r.regexp.path.url(values); err != nil {
 			return nil, err
 		}
 	}
+	for _, q := range r.regexp.queries {
+		var query string
+		if query, err = q.url(values); err != nil {
+			return nil, err
+		}
+		queries = append(queries, query)
+	}
 	return &url.URL{
-		Scheme: scheme,
-		Host:   host,
-		Path:   path,
+		Scheme:   scheme,
+		Host:     host,
+		Path:     path,
+		RawQuery: strings.Join(queries, "&"),
 	}, nil
 }
 
@@ -429,14 +538,22 @@ func (r *Route) URLHost(pairs ...string) (*url.URL, error) {
 	if r.regexp == nil || r.regexp.host == nil {
 		return nil, errors.New("mux: route doesn't have a host")
 	}
-	host, err := r.regexp.host.url(pairs...)
+	values, err := r.prepareVars(pairs...)
 	if err != nil {
 		return nil, err
 	}
-	return &url.URL{
+	host, err := r.regexp.host.url(values)
+	if err != nil {
+		return nil, err
+	}
+	u := &url.URL{
 		Scheme: "http",
 		Host:   host,
-	}, nil
+	}
+	if s := r.getBuildScheme(); s != "" {
+		u.Scheme = s
+	}
+	return u, nil
 }
 
 // URLPath builds the path part of the URL for a route. See Route.URL().
@@ -449,7 +566,11 @@ func (r *Route) URLPath(pairs ...string) (*url.URL, error) {
 	if r.regexp == nil || r.regexp.path == nil {
 		return nil, errors.New("mux: route doesn't have a path")
 	}
-	path, err := r.regexp.path.url(pairs...)
+	values, err := r.prepareVars(pairs...)
+	if err != nil {
+		return nil, err
+	}
+	path, err := r.regexp.path.url(values)
 	if err != nil {
 		return nil, err
 	}
@@ -458,14 +579,106 @@ func (r *Route) URLPath(pairs ...string) (*url.URL, error) {
 	}, nil
 }
 
+// GetPathTemplate returns the template used to build the
+// route match.
+// This is useful for building simple REST API documentation and for instrumentation
+// against third-party services.
+// An error will be returned if the route does not define a path.
+func (r *Route) GetPathTemplate() (string, error) {
+	if r.err != nil {
+		return "", r.err
+	}
+	if r.regexp == nil || r.regexp.path == nil {
+		return "", errors.New("mux: route doesn't have a path")
+	}
+	return r.regexp.path.template, nil
+}
+
+// GetPathRegexp returns the expanded regular expression used to match route path.
+// This is useful for building simple REST API documentation and for instrumentation
+// against third-party services.
+// An error will be returned if the route does not define a path.
+func (r *Route) GetPathRegexp() (string, error) {
+	if r.err != nil {
+		return "", r.err
+	}
+	if r.regexp == nil || r.regexp.path == nil {
+		return "", errors.New("mux: route does not have a path")
+	}
+	return r.regexp.path.regexp.String(), nil
+}
+
+// GetMethods returns the methods the route matches against
+// This is useful for building simple REST API documentation and for instrumentation
+// against third-party services.
+// An empty list will be returned if route does not have methods.
+func (r *Route) GetMethods() ([]string, error) {
+	if r.err != nil {
+		return nil, r.err
+	}
+	for _, m := range r.matchers {
+		if methods, ok := m.(methodMatcher); ok {
+			return []string(methods), nil
+		}
+	}
+	return nil, nil
+}
+
+// GetHostTemplate returns the template used to build the
+// route match.
+// This is useful for building simple REST API documentation and for instrumentation
+// against third-party services.
+// An error will be returned if the route does not define a host.
+func (r *Route) GetHostTemplate() (string, error) {
+	if r.err != nil {
+		return "", r.err
+	}
+	if r.regexp == nil || r.regexp.host == nil {
+		return "", errors.New("mux: route doesn't have a host")
+	}
+	return r.regexp.host.template, nil
+}
+
+// prepareVars converts the route variable pairs into a map. If the route has a
+// BuildVarsFunc, it is invoked.
+func (r *Route) prepareVars(pairs ...string) (map[string]string, error) {
+	m, err := mapFromPairsToString(pairs...)
+	if err != nil {
+		return nil, err
+	}
+	return r.buildVars(m), nil
+}
+
+func (r *Route) buildVars(m map[string]string) map[string]string {
+	if r.parent != nil {
+		m = r.parent.buildVars(m)
+	}
+	if r.buildVarsFunc != nil {
+		m = r.buildVarsFunc(m)
+	}
+	return m
+}
+
 // ----------------------------------------------------------------------------
 // parentRoute
 // ----------------------------------------------------------------------------
 
 // parentRoute allows routes to know about parent host and path definitions.
 type parentRoute interface {
+	getBuildScheme() string
 	getNamedRoutes() map[string]*Route
 	getRegexpGroup() *routeRegexpGroup
+	buildVars(map[string]string) map[string]string
+}
+
+func (r *Route) getBuildScheme() string {
+	if r.buildScheme != "" {
+		return r.buildScheme
+	}
+	if r.parent != nil {
+		return r.parent.getBuildScheme()
+	}
+	return ""
 }
 
 // getNamedRoutes returns the map where named routes are registered.
@@ -490,8 +703,9 @@ func (r *Route) getRegexpGroup() *routeRegexpGroup {
 		} else {
 			// Copy.
 			r.regexp = &routeRegexpGroup{
-				host: regexp.host,
-				path: regexp.path,
+				host:    regexp.host,
+				path:    regexp.path,
+				queries: regexp.queries,
 			}
 		}
 	}
diff --git a/vendor/github.com/mssola/user_agent/README.md b/vendor/github.com/mssola/user_agent/README.md
index 7b5028f..575977d 100644
--- a/vendor/github.com/mssola/user_agent/README.md
+++ b/vendor/github.com/mssola/user_agent/README.md
@@ -19,7 +19,7 @@ func main() {
     // The "New" function will create a new UserAgent object and it will parse
     // the given string. If you need to parse more strings, you can re-use
     // this object and call: ua.Parse("another string")
-    ua := user_agent.New("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11");
+    ua := user_agent.New("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11")
 
     fmt.Printf("%v\n", ua.Mobile())   // => false
     fmt.Printf("%v\n", ua.Bot())      // => false
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/collector.go b/vendor/github.com/prometheus/client_golang/prometheus/collector.go
index 3c9bae2..c0d70b2 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/collector.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/collector.go
@@ -40,7 +40,8 @@ type Collector interface {
 	// Collector may yield any Metric it sees fit in its Collect method.
 	//
 	// This method idempotently sends the same descriptors throughout the
-	// lifetime of the Collector.
+	// lifetime of the Collector. It may be called concurrently and
+	// therefore must be implemented in a concurrency safe way.
 	//
 	// If a Collector encounters an error while executing this method, it
 	// must send an invalid descriptor (created with NewInvalidDesc) to
@@ -61,6 +62,39 @@ type Collector interface {
 	Collect(chan<- Metric)
 }
 
+// DescribeByCollect is a helper to implement the Describe method of a custom
+// Collector. It collects the metrics from the provided Collector and sends
+// their descriptors to the provided channel.
+//
+// If a Collector collects the same metrics throughout its lifetime, its
+// Describe method can simply be implemented as:
+//
+//   func (c customCollector) Describe(ch chan<- *Desc) {
+//   	DescribeByCollect(c, ch)
+//   }
+//
+// However, this will not work if the metrics collected change dynamically over
+// the lifetime of the Collector in a way that their combined set of descriptors
+// changes as well. The shortcut implementation will then violate the contract
+// of the Describe method. If a Collector sometimes collects no metrics at all
+// (for example vectors like CounterVec, GaugeVec, etc., which only collect
+// metrics after a metric with a fully specified label set has been accessed),
+// it might even get registered as an unchecked Collecter (cf. the Register
+// method of the Registerer interface). Hence, only use this shortcut
+// implementation of Describe if you are certain to fulfill the contract.
+//
+// The Collector example demonstrates a use of DescribeByCollect.
+func DescribeByCollect(c Collector, descs chan<- *Desc) {
+	metrics := make(chan Metric)
+	go func() {
+		c.Collect(metrics)
+		close(metrics)
+	}()
+	for m := range metrics {
+		descs <- m.Desc()
+	}
+}
+
 // selfCollector implements Collector for a single Metric so that the Metric
 // collects itself. Add it as an anonymous field to a struct that implements
 // Metric, and call init with the Metric itself as an argument.
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/desc.go b/vendor/github.com/prometheus/client_golang/prometheus/desc.go
index 4a755b0..7b8827f 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/desc.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/desc.go
@@ -67,7 +67,7 @@ type Desc struct {
 
 // NewDesc allocates and initializes a new Desc. Errors are recorded in the Desc
 // and will be reported on registration time. variableLabels and constLabels can
-// be nil if no such labels should be set. fqName and help must not be empty.
+// be nil if no such labels should be set. fqName must not be empty.
 //
 // variableLabels only contain the label names. Their label values are variable
 // and therefore not part of the Desc. (They are managed within the Metric.)
@@ -80,10 +80,6 @@ func NewDesc(fqName, help string, variableLabels []string, constLabels Labels) *
 		help:           help,
 		variableLabels: variableLabels,
 	}
-	if help == "" {
-		d.err = errors.New("empty help string")
-		return d
-	}
 	if !model.IsValidMetricName(model.LabelValue(fqName)) {
 		d.err = fmt.Errorf("%q is not a valid metric name", fqName)
 		return d
@@ -156,7 +152,7 @@ func NewDesc(fqName, help string, variableLabels []string, constLabels Labels) *
 			Value: proto.String(v),
 		})
 	}
-	sort.Sort(LabelPairSorter(d.constLabelPairs))
+	sort.Sort(labelPairSorter(d.constLabelPairs))
 	return d
 }
 
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/histogram.go b/vendor/github.com/prometheus/client_golang/prometheus/histogram.go
index 331783a..4d7fa97 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/histogram.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/histogram.go
@@ -16,7 +16,9 @@ package prometheus
 import (
 	"fmt"
 	"math"
+	"runtime"
 	"sort"
+	"sync"
 	"sync/atomic"
 
 	"github.com/golang/protobuf/proto"
@@ -108,8 +110,9 @@ func ExponentialBuckets(start, factor float64, count int) []float64 {
 }
 
 // HistogramOpts bundles the options for creating a Histogram metric. It is
-// mandatory to set Name and Help to a non-empty string. All other fields are
-// optional and can safely be left at their zero value.
+// mandatory to set Name to a non-empty string. All other fields are optional
+// and can safely be left at their zero value, although it is strongly
+// encouraged to set a Help string.
 type HistogramOpts struct {
 	// Namespace, Subsystem, and Name are components of the fully-qualified
 	// name of the Histogram (created by joining these components with
@@ -120,7 +123,7 @@ type HistogramOpts struct {
 	Subsystem string
 	Name      string
 
-	// Help provides information about this Histogram. Mandatory!
+	// Help provides information about this Histogram.
 	//
 	// Metrics with the same fully-qualified name must have the same Help
 	// string.
@@ -184,6 +187,7 @@ func newHistogram(desc *Desc, opts HistogramOpts, labelValues ...string) Histogr
 		desc:        desc,
 		upperBounds: opts.Buckets,
 		labelPairs:  makeLabelPairs(desc, labelValues),
+		counts:      [2]*histogramCounts{&histogramCounts{}, &histogramCounts{}},
 	}
 	for i, upperBound := range h.upperBounds {
 		if i < len(h.upperBounds)-1 {
@@ -200,28 +204,53 @@ func newHistogram(desc *Desc, opts HistogramOpts, labelValues ...string) Histogr
 			}
 		}
 	}
-	// Finally we know the final length of h.upperBounds and can make counts.
-	h.counts = make([]uint64, len(h.upperBounds))
+	// Finally we know the final length of h.upperBounds and can make counts
+	// for both states:
+	h.counts[0].buckets = make([]uint64, len(h.upperBounds))
+	h.counts[1].buckets = make([]uint64, len(h.upperBounds))
 
 	h.init(h) // Init self-collection.
 	return h
 }
 
-type histogram struct {
+type histogramCounts struct {
 	// sumBits contains the bits of the float64 representing the sum of all
 	// observations. sumBits and count have to go first in the struct to
 	// guarantee alignment for atomic operations.
 	// http://golang.org/pkg/sync/atomic/#pkg-note-BUG
 	sumBits uint64
 	count   uint64
+	buckets []uint64
+}
 
-	selfCollector
-	// Note that there is no mutex required.
+type histogram struct {
+	// countAndHotIdx is a complicated one. For lock-free yet atomic
+	// observations, we need to save the total count of observations again,
+	// combined with the index of the currently-hot counts struct, so that
+	// we can perform the operation on both values atomically. The least
+	// significant bit defines the hot counts struct. The remaining 63 bits
+	// represent the total count of observations. This happens under the
+	// assumption that the 63bit count will never overflow. Rationale: An
+	// observations takes about 30ns. Let's assume it could happen in
+	// 10ns. Overflowing the counter will then take at least (2^63)*10ns,
+	// which is about 3000 years.
+	//
+	// This has to be first in the struct for 64bit alignment. See
+	// http://golang.org/pkg/sync/atomic/#pkg-note-BUG
+	countAndHotIdx uint64
 
-	desc *Desc
+	selfCollector
+	desc     *Desc
+	writeMtx sync.Mutex // Only used in the Write method.
 
 	upperBounds []float64
-	counts      []uint64
+
+	// Two counts, one is "hot" for lock-free observations, the other is
+	// "cold" for writing out a dto.Metric. It has to be an array of
+	// pointers to guarantee 64bit alignment of the histogramCounts, see
+	// http://golang.org/pkg/sync/atomic/#pkg-note-BUG.
+	counts [2]*histogramCounts
+	hotIdx int // Index of currently-hot counts. Only used within Write.
 
 	labelPairs []*dto.LabelPair
 }
@@ -241,36 +270,113 @@ func (h *histogram) Observe(v float64) {
 	// 100 buckets: 78.1 ns/op linear - binary 54.9 ns/op
 	// 300 buckets: 154 ns/op linear - binary 61.6 ns/op
 	i := sort.SearchFloat64s(h.upperBounds, v)
-	if i < len(h.counts) {
-		atomic.AddUint64(&h.counts[i], 1)
+
+	// We increment h.countAndHotIdx by 2 so that the counter in the upper
+	// 63 bits gets incremented by 1. At the same time, we get the new value
+	// back, which we can use to find the currently-hot counts.
+	n := atomic.AddUint64(&h.countAndHotIdx, 2)
+	hotCounts := h.counts[n%2]
+
+	if i < len(h.upperBounds) {
+		atomic.AddUint64(&hotCounts.buckets[i], 1)
 	}
-	atomic.AddUint64(&h.count, 1)
 	for {
-		oldBits := atomic.LoadUint64(&h.sumBits)
+		oldBits := atomic.LoadUint64(&hotCounts.sumBits)
 		newBits := math.Float64bits(math.Float64frombits(oldBits) + v)
-		if atomic.CompareAndSwapUint64(&h.sumBits, oldBits, newBits) {
+		if atomic.CompareAndSwapUint64(&hotCounts.sumBits, oldBits, newBits) {
 			break
 		}
 	}
+	// Increment count last as we take it as a signal that the observation
+	// is complete.
+	atomic.AddUint64(&hotCounts.count, 1)
 }
 
 func (h *histogram) Write(out *dto.Metric) error {
-	his := &dto.Histogram{}
-	buckets := make([]*dto.Bucket, len(h.upperBounds))
+	var (
+		his                   = &dto.Histogram{}
+		buckets               = make([]*dto.Bucket, len(h.upperBounds))
+		hotCounts, coldCounts *histogramCounts
+		count                 uint64
+	)
 
-	his.SampleSum = proto.Float64(math.Float64frombits(atomic.LoadUint64(&h.sumBits)))
-	his.SampleCount = proto.Uint64(atomic.LoadUint64(&h.count))
-	var count uint64
+	// For simplicity, we mutex the rest of this method. It is not in the
+	// hot path, i.e.  Observe is called much more often than Write. The
+	// complication of making Write lock-free isn't worth it.
+	h.writeMtx.Lock()
+	defer h.writeMtx.Unlock()
+
+	// This is a bit arcane, which is why the following spells out this if
+	// clause in English:
+	//
+	// If the currently-hot counts struct is #0, we atomically increment
+	// h.countAndHotIdx by 1 so that from now on Observe will use the counts
+	// struct #1. Furthermore, the atomic increment gives us the new value,
+	// which, in its most significant 63 bits, tells us the count of
+	// observations done so far up to and including currently ongoing
+	// observations still using the counts struct just changed from hot to
+	// cold. To have a normal uint64 for the count, we bitshift by 1 and
+	// save the result in count. We also set h.hotIdx to 1 for the next
+	// Write call, and we will refer to counts #1 as hotCounts and to counts
+	// #0 as coldCounts.
+	//
+	// If the currently-hot counts struct is #1, we do the corresponding
+	// things the other way round. We have to _decrement_ h.countAndHotIdx
+	// (which is a bit arcane in itself, as we have to express -1 with an
+	// unsigned int...).
+	if h.hotIdx == 0 {
+		count = atomic.AddUint64(&h.countAndHotIdx, 1) >> 1
+		h.hotIdx = 1
+		hotCounts = h.counts[1]
+		coldCounts = h.counts[0]
+	} else {
+		count = atomic.AddUint64(&h.countAndHotIdx, ^uint64(0)) >> 1 // Decrement.
+		h.hotIdx = 0
+		hotCounts = h.counts[0]
+		coldCounts = h.counts[1]
+	}
+
+	// Now we have to wait for the now-declared-cold counts to actually cool
+	// down, i.e. wait for all observations still using it to finish. That's
+	// the case once the count in the cold counts struct is the same as the
+	// one atomically retrieved from the upper 63bits of h.countAndHotIdx.
+	for {
+		if count == atomic.LoadUint64(&coldCounts.count) {
+			break
+		}
+		runtime.Gosched() // Let observations get work done.
+	}
+
+	his.SampleCount = proto.Uint64(count)
+	his.SampleSum = proto.Float64(math.Float64frombits(atomic.LoadUint64(&coldCounts.sumBits)))
+	var cumCount uint64
 	for i, upperBound := range h.upperBounds {
-		count += atomic.LoadUint64(&h.counts[i])
+		cumCount += atomic.LoadUint64(&coldCounts.buckets[i])
 		buckets[i] = &dto.Bucket{
-			CumulativeCount: proto.Uint64(count),
+			CumulativeCount: proto.Uint64(cumCount),
 			UpperBound:      proto.Float64(upperBound),
 		}
 	}
+
 	his.Bucket = buckets
 	out.Histogram = his
 	out.Label = h.labelPairs
+
+	// Finally add all the cold counts to the new hot counts and reset the cold counts.
+	atomic.AddUint64(&hotCounts.count, count)
+	atomic.StoreUint64(&coldCounts.count, 0)
+	for {
+		oldBits := atomic.LoadUint64(&hotCounts.sumBits)
+		newBits := math.Float64bits(math.Float64frombits(oldBits) + his.GetSampleSum())
+		if atomic.CompareAndSwapUint64(&hotCounts.sumBits, oldBits, newBits) {
+			atomic.StoreUint64(&coldCounts.sumBits, 0)
+			break
+		}
+	}
+	for i := range h.upperBounds {
+		atomic.AddUint64(&hotCounts.buckets[i], atomic.LoadUint64(&coldCounts.buckets[i]))
+		atomic.StoreUint64(&coldCounts.buckets[i], 0)
+	}
 	return nil
 }
 
@@ -454,7 +560,7 @@ func (h *constHistogram) Write(out *dto.Metric) error {
 // bucket.
 //
 // NewConstHistogram returns an error if the length of labelValues is not
-// consistent with the variable labels in Desc.
+// consistent with the variable labels in Desc or if Desc is invalid.
 func NewConstHistogram(
 	desc *Desc,
 	count uint64,
@@ -462,6 +568,9 @@ func NewConstHistogram(
 	buckets map[float64]uint64,
 	labelValues ...string,
 ) (Metric, error) {
+	if desc.err != nil {
+		return nil, desc.err
+	}
 	if err := validateLabelValues(labelValues, len(desc.variableLabels)); err != nil {
 		return nil, err
 	}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/http.go b/vendor/github.com/prometheus/client_golang/prometheus/http.go
index 3f1fa15..9f0875b 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/http.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/http.go
@@ -15,9 +15,7 @@ package prometheus
 
 import (
 	"bufio"
-	"bytes"
 	"compress/gzip"
-	"fmt"
 	"io"
 	"net"
 	"net/http"
@@ -41,19 +39,10 @@ const (
 	acceptEncodingHeader  = "Accept-Encoding"
 )
 
-var bufPool sync.Pool
-
-func getBuf() *bytes.Buffer {
-	buf := bufPool.Get()
-	if buf == nil {
-		return &bytes.Buffer{}
-	}
-	return buf.(*bytes.Buffer)
-}
-
-func giveBuf(buf *bytes.Buffer) {
-	buf.Reset()
-	bufPool.Put(buf)
+var gzipPool = sync.Pool{
+	New: func() interface{} {
+		return gzip.NewWriter(nil)
+	},
 }
 
 // Handler returns an HTTP handler for the DefaultGatherer. It is
@@ -61,68 +50,50 @@ func giveBuf(buf *bytes.Buffer) {
 // name).
 //
 // Deprecated: Please note the issues described in the doc comment of
-// InstrumentHandler. You might want to consider using
-// promhttp.InstrumentedHandler instead.
+// InstrumentHandler. You might want to consider using promhttp.Handler instead.
 func Handler() http.Handler {
 	return InstrumentHandler("prometheus", UninstrumentedHandler())
 }
 
 // UninstrumentedHandler returns an HTTP handler for the DefaultGatherer.
 //
-// Deprecated: Use promhttp.Handler instead. See there for further documentation.
+// Deprecated: Use promhttp.HandlerFor(DefaultGatherer, promhttp.HandlerOpts{})
+// instead. See there for further documentation.
 func UninstrumentedHandler() http.Handler {
-	return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
+	return http.HandlerFunc(func(rsp http.ResponseWriter, req *http.Request) {
 		mfs, err := DefaultGatherer.Gather()
 		if err != nil {
-			http.Error(w, "An error has occurred during metrics collection:\n\n"+err.Error(), http.StatusInternalServerError)
+			httpError(rsp, err)
 			return
 		}
 
 		contentType := expfmt.Negotiate(req.Header)
-		buf := getBuf()
-		defer giveBuf(buf)
-		writer, encoding := decorateWriter(req, buf)
-		enc := expfmt.NewEncoder(writer, contentType)
-		var lastErr error
+		header := rsp.Header()
+		header.Set(contentTypeHeader, string(contentType))
+
+		w := io.Writer(rsp)
+		if gzipAccepted(req.Header) {
+			header.Set(contentEncodingHeader, "gzip")
+			gz := gzipPool.Get().(*gzip.Writer)
+			defer gzipPool.Put(gz)
+
+			gz.Reset(w)
+			defer gz.Close()
+
+			w = gz
+		}
+
+		enc := expfmt.NewEncoder(w, contentType)
+
 		for _, mf := range mfs {
 			if err := enc.Encode(mf); err != nil {
-				lastErr = err
-				http.Error(w, "An error has occurred during metrics encoding:\n\n"+err.Error(), http.StatusInternalServerError)
+				httpError(rsp, err)
 				return
 			}
 		}
-		if closer, ok := writer.(io.Closer); ok {
-			closer.Close()
-		}
-		if lastErr != nil && buf.Len() == 0 {
-			http.Error(w, "No metrics encoded, last error:\n\n"+lastErr.Error(), http.StatusInternalServerError)
-			return
-		}
-		header := w.Header()
-		header.Set(contentTypeHeader, string(contentType))
-		header.Set(contentLengthHeader, fmt.Sprint(buf.Len()))
-		if encoding != "" {
-			header.Set(contentEncodingHeader, encoding)
-		}
-		w.Write(buf.Bytes())
 	})
 }
 
-// decorateWriter wraps a writer to handle gzip compression if requested.  It
-// returns the decorated writer and the appropriate "Content-Encoding" header
-// (which is empty if no compression is enabled).
-func decorateWriter(request *http.Request, writer io.Writer) (io.Writer, string) {
-	header := request.Header.Get(acceptEncodingHeader)
-	parts := strings.Split(header, ",")
-	for _, part := range parts {
-		part = strings.TrimSpace(part)
-		if part == "gzip" || strings.HasPrefix(part, "gzip;") {
-			return gzip.NewWriter(writer), "gzip"
-		}
-	}
-	return writer, ""
-}
-
 var instLabels = []string{"method", "code"}
 
 type nower interface {
@@ -149,21 +120,14 @@ var now nower = nowFunc(func() time.Time {
 // (label name "method") and HTTP status code (label name "code").
 //
 // Deprecated: InstrumentHandler has several issues. Use the tooling provided in
-// package promhttp instead. The issues are the following:
-//
-// - It uses Summaries rather than Histograms. Summaries are not useful if
-// aggregation across multiple instances is required.
-//
-// - It uses microseconds as unit, which is deprecated and should be replaced by
-// seconds.
-//
-// - The size of the request is calculated in a separate goroutine. Since this
-// calculator requires access to the request header, it creates a race with
-// any writes to the header performed during request handling.
-// httputil.ReverseProxy is a prominent example for a handler
-// performing such writes.
-//
-// - It has additional issues with HTTP/2, cf.
+// package promhttp instead. The issues are the following: (1) It uses Summaries
+// rather than Histograms. Summaries are not useful if aggregation across
+// multiple instances is required. (2) It uses microseconds as unit, which is
+// deprecated and should be replaced by seconds. (3) The size of the request is
+// calculated in a separate goroutine. Since this calculator requires access to
+// the request header, it creates a race with any writes to the header performed
+// during request handling.  httputil.ReverseProxy is a prominent example for a
+// handler performing such writes. (4) It has additional issues with HTTP/2, cf.
 // https://github.com/prometheus/client_golang/issues/272.
 func InstrumentHandler(handlerName string, handler http.Handler) http.HandlerFunc {
 	return InstrumentHandlerFunc(handlerName, handler.ServeHTTP)
@@ -510,3 +474,31 @@ func sanitizeCode(s int) string {
 		return strconv.Itoa(s)
 	}
 }
+
+// gzipAccepted returns whether the client will accept gzip-encoded content.
+func gzipAccepted(header http.Header) bool {
+	a := header.Get(acceptEncodingHeader)
+	parts := strings.Split(a, ",")
+	for _, part := range parts {
+		part = strings.TrimSpace(part)
+		if part == "gzip" || strings.HasPrefix(part, "gzip;") {
+			return true
+		}
+	}
+	return false
+}
+
+// httpError removes any content-encoding header and then calls http.Error with
+// the provided error and http.StatusInternalServerErrer. Error contents is
+// supposed to be uncompressed plain text. However, same as with a plain
+// http.Error, any header settings will be void if the header has already been
+// sent. The error message will still be written to the writer, but it will
+// probably be of limited use.
+func httpError(rsp http.ResponseWriter, err error) {
+	rsp.Header().Del(contentEncodingHeader)
+	http.Error(
+		rsp,
+		"An error has occurred while serving metrics:\n\n"+err.Error(),
+		http.StatusInternalServerError,
+	)
+}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/internal/metric.go b/vendor/github.com/prometheus/client_golang/prometheus/internal/metric.go
new file mode 100644
index 0000000..351c26e
--- /dev/null
+++ b/vendor/github.com/prometheus/client_golang/prometheus/internal/metric.go
@@ -0,0 +1,85 @@
+// Copyright 2018 The Prometheus Authors
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package internal
+
+import (
+	"sort"
+
+	dto "github.com/prometheus/client_model/go"
+)
+
+// metricSorter is a sortable slice of *dto.Metric.
+type metricSorter []*dto.Metric
+
+func (s metricSorter) Len() int {
+	return len(s)
+}
+
+func (s metricSorter) Swap(i, j int) {
+	s[i], s[j] = s[j], s[i]
+}
+
+func (s metricSorter) Less(i, j int) bool {
+	if len(s[i].Label) != len(s[j].Label) {
+		// This should not happen. The metrics are
+		// inconsistent. However, we have to deal with the fact, as
+		// people might use custom collectors or metric family injection
+		// to create inconsistent metrics. So let's simply compare the
+		// number of labels in this case. That will still yield
+		// reproducible sorting.
+		return len(s[i].Label) < len(s[j].Label)
+	}
+	for n, lp := range s[i].Label {
+		vi := lp.GetValue()
+		vj := s[j].Label[n].GetValue()
+		if vi != vj {
+			return vi < vj
+		}
+	}
+
+	// We should never arrive here. Multiple metrics with the same
+	// label set in the same scrape will lead to undefined ingestion
+	// behavior. However, as above, we have to provide stable sorting
+	// here, even for inconsistent metrics. So sort equal metrics
+	// by their timestamp, with missing timestamps (implying "now")
+	// coming last.
+	if s[i].TimestampMs == nil {
+		return false
+	}
+	if s[j].TimestampMs == nil {
+		return true
+	}
+	return s[i].GetTimestampMs() < s[j].GetTimestampMs()
+}
+
+// NormalizeMetricFamilies returns a MetricFamily slice with empty
+// MetricFamilies pruned and the remaining MetricFamilies sorted by name within
+// the slice, with the contained Metrics sorted within each MetricFamily.
+func NormalizeMetricFamilies(metricFamiliesByName map[string]*dto.MetricFamily) []*dto.MetricFamily {
+	for _, mf := range metricFamiliesByName {
+		sort.Sort(metricSorter(mf.Metric))
+	}
+	names := make([]string, 0, len(metricFamiliesByName))
+	for name, mf := range metricFamiliesByName {
+		if len(mf.Metric) > 0 {
+			names = append(names, name)
+		}
+	}
+	sort.Strings(names)
+	result := make([]*dto.MetricFamily, 0, len(names))
+	for _, name := range names {
+		result = append(result, metricFamiliesByName[name])
+	}
+	return result
+}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/metric.go b/vendor/github.com/prometheus/client_golang/prometheus/metric.go
index 06897f2..55e6d86 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/metric.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/metric.go
@@ -17,7 +17,7 @@ import (
 	"strings"
 	"time"
 
-	"github.com/gogo/protobuf/proto"
+	"github.com/golang/protobuf/proto"
 
 	dto "github.com/prometheus/client_model/go"
 )
@@ -46,9 +46,8 @@ type Metric interface {
 	// While populating dto.Metric, it is the responsibility of the
 	// implementation to ensure validity of the Metric protobuf (like valid
 	// UTF-8 strings or syntactically valid metric and label names). It is
-	// recommended to sort labels lexicographically. (Implementers may find
-	// LabelPairSorter useful for that.) Callers of Write should still make
-	// sure of sorting if they depend on it.
+	// recommended to sort labels lexicographically. Callers of Write should
+	// still make sure of sorting if they depend on it.
 	Write(*dto.Metric) error
 	// TODO(beorn7): The original rationale of passing in a pre-allocated
 	// dto.Metric protobuf to save allocations has disappeared. The
@@ -60,8 +59,9 @@ type Metric interface {
 // implementation XXX has its own XXXOpts type, but in most cases, it is just be
 // an alias of this type (which might change when the requirement arises.)
 //
-// It is mandatory to set Name and Help to a non-empty string. All other fields
-// are optional and can safely be left at their zero value.
+// It is mandatory to set Name to a non-empty string. All other fields are
+// optional and can safely be left at their zero value, although it is strongly
+// encouraged to set a Help string.
 type Opts struct {
 	// Namespace, Subsystem, and Name are components of the fully-qualified
 	// name of the Metric (created by joining these components with
@@ -72,7 +72,7 @@ type Opts struct {
 	Subsystem string
 	Name      string
 
-	// Help provides information about this metric. Mandatory!
+	// Help provides information about this metric.
 	//
 	// Metrics with the same fully-qualified name must have the same Help
 	// string.
@@ -113,20 +113,19 @@ func BuildFQName(namespace, subsystem, name string) string {
 	return name
 }
 
-// LabelPairSorter implements sort.Interface. It is used to sort a slice of
-// dto.LabelPair pointers. This is useful for implementing the Write method of
-// custom metrics.
-type LabelPairSorter []*dto.LabelPair
+// labelPairSorter implements sort.Interface. It is used to sort a slice of
+// dto.LabelPair pointers.
+type labelPairSorter []*dto.LabelPair
 
-func (s LabelPairSorter) Len() int {
+func (s labelPairSorter) Len() int {
 	return len(s)
 }
 
-func (s LabelPairSorter) Swap(i, j int) {
+func (s labelPairSorter) Swap(i, j int) {
 	s[i], s[j] = s[j], s[i]
 }
 
-func (s LabelPairSorter) Less(i, j int) bool {
+func (s labelPairSorter) Less(i, j int) bool {
 	return s[i].GetName() < s[j].GetName()
 }
 
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector.go
index 5ab2b1c..55176d5 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/process_collector.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector.go
@@ -13,11 +13,17 @@
 
 package prometheus
 
-import "github.com/prometheus/procfs"
+import (
+	"errors"
+	"os"
+
+	"github.com/prometheus/procfs"
+)
 
 type processCollector struct {
 	collectFn       func(chan<- Metric)
 	pidFn           func() (int, error)
+	reportErrors    bool
 	cpuTotal        *Desc
 	openFDs, maxFDs *Desc
 	vsize, maxVsize *Desc
@@ -25,34 +31,56 @@ type processCollector struct {
 	startTime       *Desc
 }
 
+// ProcessCollectorOpts defines the behavior of a process metrics collector
+// created with NewProcessCollector.
+type ProcessCollectorOpts struct {
+	// PidFn returns the PID of the process the collector collects metrics
+	// for. It is called upon each collection. By default, the PID of the
+	// current process is used, as determined on construction time by
+	// calling os.Getpid().
+	PidFn func() (int, error)
+	// If non-empty, each of the collected metrics is prefixed by the
+	// provided string and an underscore ("_").
+	Namespace string
+	// If true, any error encountered during collection is reported as an
+	// invalid metric (see NewInvalidMetric). Otherwise, errors are ignored
+	// and the collected metrics will be incomplete. (Possibly, no metrics
+	// will be collected at all.) While that's usually not desired, it is
+	// appropriate for the common "mix-in" of process metrics, where process
+	// metrics are nice to have, but failing to collect them should not
+	// disrupt the collection of the remaining metrics.
+	ReportErrors bool
+}
+
 // NewProcessCollector returns a collector which exports the current state of
 // process metrics including CPU, memory and file descriptor usage as well as
-// the process start time for the given process ID under the given namespace.
+// the process start time. The detailed behavior is defined by the provided
+// ProcessCollectorOpts. The zero value of ProcessCollectorOpts creates a
+// collector for the current process with an empty namespace string and no error
+// reporting.
 //
 // Currently, the collector depends on a Linux-style proc filesystem and
 // therefore only exports metrics for Linux.
-func NewProcessCollector(pid int, namespace string) Collector {
-	return NewProcessCollectorPIDFn(
-		func() (int, error) { return pid, nil },
-		namespace,
-	)
-}
-
-// NewProcessCollectorPIDFn works like NewProcessCollector but the process ID is
-// determined on each collect anew by calling the given pidFn function.
-func NewProcessCollectorPIDFn(
-	pidFn func() (int, error),
-	namespace string,
-) Collector {
+//
+// Note: An older version of this function had the following signature:
+//
+//     NewProcessCollector(pid int, namespace string) Collector
+//
+// Most commonly, it was called as
+//
+//     NewProcessCollector(os.Getpid(), "")
+//
+// The following call of the current version is equivalent to the above:
+//
+//     NewProcessCollector(ProcessCollectorOpts{})
+func NewProcessCollector(opts ProcessCollectorOpts) Collector {
 	ns := ""
-	if len(namespace) > 0 {
-		ns = namespace + "_"
+	if len(opts.Namespace) > 0 {
+		ns = opts.Namespace + "_"
 	}
 
-	c := processCollector{
-		pidFn:     pidFn,
-		collectFn: func(chan<- Metric) {},
-
+	c := &processCollector{
+		reportErrors: opts.ReportErrors,
 		cpuTotal: NewDesc(
 			ns+"process_cpu_seconds_total",
 			"Total user and system CPU time spent in seconds.",
@@ -90,12 +118,23 @@ func NewProcessCollectorPIDFn(
 		),
 	}
 
+	if opts.PidFn == nil {
+		pid := os.Getpid()
+		c.pidFn = func() (int, error) { return pid, nil }
+	} else {
+		c.pidFn = opts.PidFn
+	}
+
 	// Set up process metric collection if supported by the runtime.
 	if _, err := procfs.NewStat(); err == nil {
 		c.collectFn = c.processCollect
+	} else {
+		c.collectFn = func(ch chan<- Metric) {
+			c.reportError(ch, nil, errors.New("process metrics not supported on this platform"))
+		}
 	}
 
-	return &c
+	return c
 }
 
 // Describe returns all descriptions of the collector.
@@ -114,16 +153,16 @@ func (c *processCollector) Collect(ch chan<- Metric) {
 	c.collectFn(ch)
 }
 
-// TODO(ts): Bring back error reporting by reverting 7faf9e7 as soon as the
-// client allows users to configure the error behavior.
 func (c *processCollector) processCollect(ch chan<- Metric) {
 	pid, err := c.pidFn()
 	if err != nil {
+		c.reportError(ch, nil, err)
 		return
 	}
 
 	p, err := procfs.NewProc(pid)
 	if err != nil {
+		c.reportError(ch, nil, err)
 		return
 	}
 
@@ -133,15 +172,33 @@ func (c *processCollector) processCollect(ch chan<- Metric) {
 		ch <- MustNewConstMetric(c.rss, GaugeValue, float64(stat.ResidentMemory()))
 		if startTime, err := stat.StartTime(); err == nil {
 			ch <- MustNewConstMetric(c.startTime, GaugeValue, startTime)
+		} else {
+			c.reportError(ch, c.startTime, err)
 		}
+	} else {
+		c.reportError(ch, nil, err)
 	}
 
 	if fds, err := p.FileDescriptorsLen(); err == nil {
 		ch <- MustNewConstMetric(c.openFDs, GaugeValue, float64(fds))
+	} else {
+		c.reportError(ch, c.openFDs, err)
 	}
 
 	if limits, err := p.NewLimits(); err == nil {
 		ch <- MustNewConstMetric(c.maxFDs, GaugeValue, float64(limits.OpenFiles))
 		ch <- MustNewConstMetric(c.maxVsize, GaugeValue, float64(limits.AddressSpace))
+	} else {
+		c.reportError(ch, nil, err)
+	}
+}
+
+func (c *processCollector) reportError(ch chan<- Metric, desc *Desc, err error) {
+	if !c.reportErrors {
+		return
+	}
+	if desc == nil {
+		desc = NewInvalidDesc(err)
 	}
+	ch <- NewInvalidMetric(desc, err)
 }
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go
index 0135737..668eb6b 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go
@@ -32,7 +32,6 @@
 package promhttp
 
 import (
-	"bytes"
 	"compress/gzip"
 	"fmt"
 	"io"
@@ -53,19 +52,10 @@ const (
 	acceptEncodingHeader  = "Accept-Encoding"
 )
 
-var bufPool sync.Pool
-
-func getBuf() *bytes.Buffer {
-	buf := bufPool.Get()
-	if buf == nil {
-		return &bytes.Buffer{}
-	}
-	return buf.(*bytes.Buffer)
-}
-
-func giveBuf(buf *bytes.Buffer) {
-	buf.Reset()
-	bufPool.Put(buf)
+var gzipPool = sync.Pool{
+	New: func() interface{} {
+		return gzip.NewWriter(nil)
+	},
 }
 
 // Handler returns an http.Handler for the prometheus.DefaultGatherer, using
@@ -100,19 +90,18 @@ func HandlerFor(reg prometheus.Gatherer, opts HandlerOpts) http.Handler {
 		inFlightSem = make(chan struct{}, opts.MaxRequestsInFlight)
 	}
 
-	h := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
+	h := http.HandlerFunc(func(rsp http.ResponseWriter, req *http.Request) {
 		if inFlightSem != nil {
 			select {
 			case inFlightSem <- struct{}{}: // All good, carry on.
 				defer func() { <-inFlightSem }()
 			default:
-				http.Error(w, fmt.Sprintf(
+				http.Error(rsp, fmt.Sprintf(
 					"Limit of concurrent requests reached (%d), try again later.", opts.MaxRequestsInFlight,
 				), http.StatusServiceUnavailable)
 				return
 			}
 		}
-
 		mfs, err := reg.Gather()
 		if err != nil {
 			if opts.ErrorLog != nil {
@@ -123,26 +112,40 @@ func HandlerFor(reg prometheus.Gatherer, opts HandlerOpts) http.Handler {
 				panic(err)
 			case ContinueOnError:
 				if len(mfs) == 0 {
-					http.Error(w, "No metrics gathered, last error:\n\n"+err.Error(), http.StatusInternalServerError)
+					// Still report the error if no metrics have been gathered.
+					httpError(rsp, err)
 					return
 				}
 			case HTTPErrorOnError:
-				http.Error(w, "An error has occurred during metrics gathering:\n\n"+err.Error(), http.StatusInternalServerError)
+				httpError(rsp, err)
 				return
 			}
 		}
 
 		contentType := expfmt.Negotiate(req.Header)
-		buf := getBuf()
-		defer giveBuf(buf)
-		writer, encoding := decorateWriter(req, buf, opts.DisableCompression)
-		enc := expfmt.NewEncoder(writer, contentType)
+		header := rsp.Header()
+		header.Set(contentTypeHeader, string(contentType))
+
+		w := io.Writer(rsp)
+		if !opts.DisableCompression && gzipAccepted(req.Header) {
+			header.Set(contentEncodingHeader, "gzip")
+			gz := gzipPool.Get().(*gzip.Writer)
+			defer gzipPool.Put(gz)
+
+			gz.Reset(w)
+			defer gz.Close()
+
+			w = gz
+		}
+
+		enc := expfmt.NewEncoder(w, contentType)
+
 		var lastErr error
 		for _, mf := range mfs {
 			if err := enc.Encode(mf); err != nil {
 				lastErr = err
 				if opts.ErrorLog != nil {
-					opts.ErrorLog.Println("error encoding metric family:", err)
+					opts.ErrorLog.Println("error encoding and sending metric family:", err)
 				}
 				switch opts.ErrorHandling {
 				case PanicOnError:
@@ -150,28 +153,15 @@ func HandlerFor(reg prometheus.Gatherer, opts HandlerOpts) http.Handler {
 				case ContinueOnError:
 					// Handled later.
 				case HTTPErrorOnError:
-					http.Error(w, "An error has occurred during metrics encoding:\n\n"+err.Error(), http.StatusInternalServerError)
+					httpError(rsp, err)
 					return
 				}
 			}
 		}
-		if closer, ok := writer.(io.Closer); ok {
-			closer.Close()
-		}
-		if lastErr != nil && buf.Len() == 0 {
-			http.Error(w, "No metrics encoded, last error:\n\n"+lastErr.Error(), http.StatusInternalServerError)
-			return
-		}
-		header := w.Header()
-		header.Set(contentTypeHeader, string(contentType))
-		header.Set(contentLengthHeader, fmt.Sprint(buf.Len()))
-		if encoding != "" {
-			header.Set(contentEncodingHeader, encoding)
-		}
-		if _, err := w.Write(buf.Bytes()); err != nil && opts.ErrorLog != nil {
-			opts.ErrorLog.Println("error while sending encoded metrics:", err)
+
+		if lastErr != nil {
+			httpError(rsp, lastErr)
 		}
-		// TODO(beorn7): Consider streaming serving of metrics.
 	})
 
 	if opts.Timeout <= 0 {
@@ -292,20 +282,30 @@ type HandlerOpts struct {
 	Timeout time.Duration
 }
 
-// decorateWriter wraps a writer to handle gzip compression if requested.  It
-// returns the decorated writer and the appropriate "Content-Encoding" header
-// (which is empty if no compression is enabled).
-func decorateWriter(request *http.Request, writer io.Writer, compressionDisabled bool) (io.Writer, string) {
-	if compressionDisabled {
-		return writer, ""
-	}
-	header := request.Header.Get(acceptEncodingHeader)
-	parts := strings.Split(header, ",")
+// gzipAccepted returns whether the client will accept gzip-encoded content.
+func gzipAccepted(header http.Header) bool {
+	a := header.Get(acceptEncodingHeader)
+	parts := strings.Split(a, ",")
 	for _, part := range parts {
 		part = strings.TrimSpace(part)
 		if part == "gzip" || strings.HasPrefix(part, "gzip;") {
-			return gzip.NewWriter(writer), "gzip"
+			return true
 		}
 	}
-	return writer, ""
+	return false
+}
+
+// httpError removes any content-encoding header and then calls http.Error with
+// the provided error and http.StatusInternalServerErrer. Error contents is
+// supposed to be uncompressed plain text. However, same as with a plain
+// http.Error, any header settings will be void if the header has already been
+// sent. The error message will still be written to the writer, but it will
+// probably be of limited use.
+func httpError(rsp http.ResponseWriter, err error) {
+	rsp.Header().Del(contentEncodingHeader)
+	http.Error(
+		rsp,
+		"An error has occurred while serving metrics:\n\n"+err.Error(),
+		http.StatusInternalServerError,
+	)
 }
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/registry.go b/vendor/github.com/prometheus/client_golang/prometheus/registry.go
index 896838f..e422ef3 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/registry.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/registry.go
@@ -16,7 +16,6 @@ package prometheus
 import (
 	"bytes"
 	"fmt"
-	"os"
 	"runtime"
 	"sort"
 	"strings"
@@ -26,6 +25,8 @@ import (
 	"github.com/golang/protobuf/proto"
 
 	dto "github.com/prometheus/client_model/go"
+
+	"github.com/prometheus/client_golang/prometheus/internal"
 )
 
 const (
@@ -52,7 +53,7 @@ var (
 )
 
 func init() {
-	MustRegister(NewProcessCollector(os.Getpid(), ""))
+	MustRegister(NewProcessCollector(ProcessCollectorOpts{}))
 	MustRegister(NewGoCollector())
 }
 
@@ -106,9 +107,6 @@ type Registerer interface {
 	// Collector, and for providing a Collector that will not cause
 	// inconsistent metrics on collection. (This would lead to scrape
 	// errors.)
-	//
-	// It is in general not safe to register the same Collector multiple
-	// times concurrently.
 	Register(Collector) error
 	// MustRegister works like Register but registers any number of
 	// Collectors and panics upon the first registration that causes an
@@ -272,7 +270,12 @@ func (r *Registry) Register(c Collector) error {
 		close(descChan)
 	}()
 	r.mtx.Lock()
-	defer r.mtx.Unlock()
+	defer func() {
+		// Drain channel in case of premature return to not leak a goroutine.
+		for range descChan {
+		}
+		r.mtx.Unlock()
+	}()
 	// Conduct various tests...
 	for desc := range descChan {
 
@@ -527,7 +530,7 @@ func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
 			break
 		}
 	}
-	return normalizeMetricFamilies(metricFamiliesByName), errs.MaybeUnwrap()
+	return internal.NormalizeMetricFamilies(metricFamiliesByName), errs.MaybeUnwrap()
 }
 
 // processMetric is an internal helper method only used by the Gather method.
@@ -538,6 +541,11 @@ func processMetric(
 	registeredDescIDs map[uint64]struct{},
 ) error {
 	desc := metric.Desc()
+	// Wrapped metrics collected by an unchecked Collector can have an
+	// invalid Desc.
+	if desc.err != nil {
+		return desc.err
+	}
 	dtoMetric := &dto.Metric{}
 	if err := metric.Write(dtoMetric); err != nil {
 		return fmt.Errorf("error collecting metric %v: %s", desc, err)
@@ -707,72 +715,7 @@ func (gs Gatherers) Gather() ([]*dto.MetricFamily, error) {
 			}
 		}
 	}
-	return normalizeMetricFamilies(metricFamiliesByName), errs.MaybeUnwrap()
-}
-
-// metricSorter is a sortable slice of *dto.Metric.
-type metricSorter []*dto.Metric
-
-func (s metricSorter) Len() int {
-	return len(s)
-}
-
-func (s metricSorter) Swap(i, j int) {
-	s[i], s[j] = s[j], s[i]
-}
-
-func (s metricSorter) Less(i, j int) bool {
-	if len(s[i].Label) != len(s[j].Label) {
-		// This should not happen. The metrics are
-		// inconsistent. However, we have to deal with the fact, as
-		// people might use custom collectors or metric family injection
-		// to create inconsistent metrics. So let's simply compare the
-		// number of labels in this case. That will still yield
-		// reproducible sorting.
-		return len(s[i].Label) < len(s[j].Label)
-	}
-	for n, lp := range s[i].Label {
-		vi := lp.GetValue()
-		vj := s[j].Label[n].GetValue()
-		if vi != vj {
-			return vi < vj
-		}
-	}
-
-	// We should never arrive here. Multiple metrics with the same
-	// label set in the same scrape will lead to undefined ingestion
-	// behavior. However, as above, we have to provide stable sorting
-	// here, even for inconsistent metrics. So sort equal metrics
-	// by their timestamp, with missing timestamps (implying "now")
-	// coming last.
-	if s[i].TimestampMs == nil {
-		return false
-	}
-	if s[j].TimestampMs == nil {
-		return true
-	}
-	return s[i].GetTimestampMs() < s[j].GetTimestampMs()
-}
-
-// normalizeMetricFamilies returns a MetricFamily slice with empty
-// MetricFamilies pruned and the remaining MetricFamilies sorted by name within
-// the slice, with the contained Metrics sorted within each MetricFamily.
-func normalizeMetricFamilies(metricFamiliesByName map[string]*dto.MetricFamily) []*dto.MetricFamily {
-	for _, mf := range metricFamiliesByName {
-		sort.Sort(metricSorter(mf.Metric))
-	}
-	names := make([]string, 0, len(metricFamiliesByName))
-	for name, mf := range metricFamiliesByName {
-		if len(mf.Metric) > 0 {
-			names = append(names, name)
-		}
-	}
-	sort.Strings(names)
-	result := make([]*dto.MetricFamily, 0, len(names))
-	for _, name := range names {
-		result = append(result, metricFamiliesByName[name])
-	}
-	return result
+	return internal.NormalizeMetricFamilies(metricFamiliesByName), errs.MaybeUnwrap()
 }
 
 // checkSuffixCollisions checks for collisions with the “magic” suffixes the
@@ -844,6 +787,8 @@ func checkMetricConsistency(
 	dtoMetric *dto.Metric,
 	metricHashes map[uint64]struct{},
 ) error {
+	name := metricFamily.GetName()
+
 	// Type consistency with metric family.
 	if metricFamily.GetType() == dto.MetricType_GAUGE && dtoMetric.Gauge == nil ||
 		metricFamily.GetType() == dto.MetricType_COUNTER && dtoMetric.Counter == nil ||
@@ -852,37 +797,46 @@ func checkMetricConsistency(
 		metricFamily.GetType() == dto.MetricType_UNTYPED && dtoMetric.Untyped == nil {
 		return fmt.Errorf(
 			"collected metric %q { %s} is not a %s",
-			metricFamily.GetName(), dtoMetric, metricFamily.GetType(),
+			name, dtoMetric, metricFamily.GetType(),
 		)
 	}
 
+	previousLabelName := ""
 	for _, labelPair := range dtoMetric.GetLabel() {
-		if !checkLabelName(labelPair.GetName()) {
+		labelName := labelPair.GetName()
+		if labelName == previousLabelName {
+			return fmt.Errorf(
+				"collected metric %q { %s} has two or more labels with the same name: %s",
+				name, dtoMetric, labelName,
+			)
+		}
+		if !checkLabelName(labelName) {
 			return fmt.Errorf(
 				"collected metric %q { %s} has a label with an invalid name: %s",
-				metricFamily.GetName(), dtoMetric, labelPair.GetName(),
+				name, dtoMetric, labelName,
 			)
 		}
-		if dtoMetric.Summary != nil && labelPair.GetName() == quantileLabel {
+		if dtoMetric.Summary != nil && labelName == quantileLabel {
 			return fmt.Errorf(
 				"collected metric %q { %s} must not have an explicit %q label",
-				metricFamily.GetName(), dtoMetric, quantileLabel,
+				name, dtoMetric, quantileLabel,
 			)
 		}
 		if !utf8.ValidString(labelPair.GetValue()) {
 			return fmt.Errorf(
 				"collected metric %q { %s} has a label named %q whose value is not utf8: %#v",
-				metricFamily.GetName(), dtoMetric, labelPair.GetName(), labelPair.GetValue())
+				name, dtoMetric, labelName, labelPair.GetValue())
 		}
+		previousLabelName = labelName
 	}
 
 	// Is the metric unique (i.e. no other metric with the same name and the same labels)?
 	h := hashNew()
-	h = hashAdd(h, metricFamily.GetName())
+	h = hashAdd(h, name)
 	h = hashAddByte(h, separatorByte)
 	// Make sure label pairs are sorted. We depend on it for the consistency
 	// check.
-	sort.Sort(LabelPairSorter(dtoMetric.Label))
+	sort.Sort(labelPairSorter(dtoMetric.Label))
 	for _, lp := range dtoMetric.Label {
 		h = hashAdd(h, lp.GetName())
 		h = hashAddByte(h, separatorByte)
@@ -892,7 +846,7 @@ func checkMetricConsistency(
 	if _, exists := metricHashes[h]; exists {
 		return fmt.Errorf(
 			"collected metric %q { %s} was collected before with the same name and label values",
-			metricFamily.GetName(), dtoMetric,
+			name, dtoMetric,
 		)
 	}
 	metricHashes[h] = struct{}{}
@@ -926,7 +880,7 @@ func checkDescConsistency(
 			metricFamily.GetName(), dtoMetric, desc,
 		)
 	}
-	sort.Sort(LabelPairSorter(lpsFromDesc))
+	sort.Sort(labelPairSorter(lpsFromDesc))
 	for i, lpFromDesc := range lpsFromDesc {
 		lpFromMetric := dtoMetric.Label[i]
 		if lpFromDesc.GetName() != lpFromMetric.GetName() ||
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/summary.go b/vendor/github.com/prometheus/client_golang/prometheus/summary.go
index 38ee98c..f7e92d8 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/summary.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/summary.go
@@ -81,10 +81,10 @@ const (
 )
 
 // SummaryOpts bundles the options for creating a Summary metric. It is
-// mandatory to set Name and Help to a non-empty string. While all other fields
-// are optional and can safely be left at their zero value, it is recommended to
-// explicitly set the Objectives field to the desired value as the default value
-// will change in the upcoming v0.10 of the library.
+// mandatory to set Name to a non-empty string. While all other fields are
+// optional and can safely be left at their zero value, it is recommended to set
+// a help string and to explicitly set the Objectives field to the desired value
+// as the default value will change in the upcoming v0.10 of the library.
 type SummaryOpts struct {
 	// Namespace, Subsystem, and Name are components of the fully-qualified
 	// name of the Summary (created by joining these components with
@@ -95,7 +95,7 @@ type SummaryOpts struct {
 	Subsystem string
 	Name      string
 
-	// Help provides information about this Summary. Mandatory!
+	// Help provides information about this Summary.
 	//
 	// Metrics with the same fully-qualified name must have the same Help
 	// string.
@@ -586,7 +586,7 @@ func (s *constSummary) Write(out *dto.Metric) error {
 //     map[float64]float64{0.5: 0.23, 0.99: 0.56}
 //
 // NewConstSummary returns an error if the length of labelValues is not
-// consistent with the variable labels in Desc.
+// consistent with the variable labels in Desc or if Desc is invalid.
 func NewConstSummary(
 	desc *Desc,
 	count uint64,
@@ -594,6 +594,9 @@ func NewConstSummary(
 	quantiles map[float64]float64,
 	labelValues ...string,
 ) (Metric, error) {
+	if desc.err != nil {
+		return nil, desc.err
+	}
 	if err := validateLabelValues(labelValues, len(desc.variableLabels)); err != nil {
 		return nil, err
 	}
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/value.go b/vendor/github.com/prometheus/client_golang/prometheus/value.go
index 9fb7eab..eb248f1 100644
--- a/vendor/github.com/prometheus/client_golang/prometheus/value.go
+++ b/vendor/github.com/prometheus/client_golang/prometheus/value.go
@@ -17,9 +17,9 @@ import (
 	"fmt"
 	"sort"
 
-	dto "github.com/prometheus/client_model/go"
-
 	"github.com/golang/protobuf/proto"
+
+	dto "github.com/prometheus/client_model/go"
 )
 
 // ValueType is an enumeration of metric types that represent a simple value.
@@ -77,8 +77,12 @@ func (v *valueFunc) Write(out *dto.Metric) error {
 // operations. However, when implementing custom Collectors, it is useful as a
 // throw-away metric that is generated on the fly to send it to Prometheus in
 // the Collect method. NewConstMetric returns an error if the length of
-// labelValues is not consistent with the variable labels in Desc.
+// labelValues is not consistent with the variable labels in Desc or if Desc is
+// invalid.
 func NewConstMetric(desc *Desc, valueType ValueType, value float64, labelValues ...string) (Metric, error) {
+	if desc.err != nil {
+		return nil, desc.err
+	}
 	if err := validateLabelValues(labelValues, len(desc.variableLabels)); err != nil {
 		return nil, err
 	}
@@ -153,6 +157,6 @@ func makeLabelPairs(desc *Desc, labelValues []string) []*dto.LabelPair {
 		})
 	}
 	labelPairs = append(labelPairs, desc.constLabelPairs...)
-	sort.Sort(LabelPairSorter(labelPairs))
+	sort.Sort(labelPairSorter(labelPairs))
 	return labelPairs
 }
diff --git a/vendor/github.com/prometheus/client_golang/prometheus/wrap.go b/vendor/github.com/prometheus/client_golang/prometheus/wrap.go
new file mode 100644
index 0000000..49159bf
--- /dev/null
+++ b/vendor/github.com/prometheus/client_golang/prometheus/wrap.go
@@ -0,0 +1,179 @@
+// Copyright 2018 The Prometheus Authors
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package prometheus
+
+import (
+	"fmt"
+	"sort"
+
+	"github.com/golang/protobuf/proto"
+
+	dto "github.com/prometheus/client_model/go"
+)
+
+// WrapRegistererWith returns a Registerer wrapping the provided
+// Registerer. Collectors registered with the returned Registerer will be
+// registered with the wrapped Registerer in a modified way. The modified
+// Collector adds the provided Labels to all Metrics it collects (as
+// ConstLabels). The Metrics collected by the unmodified Collector must not
+// duplicate any of those labels.
+//
+// WrapRegistererWith provides a way to add fixed labels to a subset of
+// Collectors. It should not be used to add fixed labels to all metrics exposed.
+//
+// The Collector example demonstrates a use of WrapRegistererWith.
+func WrapRegistererWith(labels Labels, reg Registerer) Registerer {
+	return &wrappingRegisterer{
+		wrappedRegisterer: reg,
+		labels:            labels,
+	}
+}
+
+// WrapRegistererWithPrefix returns a Registerer wrapping the provided
+// Registerer. Collectors registered with the returned Registerer will be
+// registered with the wrapped Registerer in a modified way. The modified
+// Collector adds the provided prefix to the name of all Metrics it collects.
+//
+// WrapRegistererWithPrefix is useful to have one place to prefix all metrics of
+// a sub-system. To make this work, register metrics of the sub-system with the
+// wrapping Registerer returned by WrapRegistererWithPrefix. It is rarely useful
+// to use the same prefix for all metrics exposed. In particular, do not prefix
+// metric names that are standardized across applications, as that would break
+// horizontal monitoring, for example the metrics provided by the Go collector
+// (see NewGoCollector) and the process collector (see NewProcessCollector). (In
+// fact, those metrics are already prefixed with “go_” or “process_”,
+// respectively.)
+func WrapRegistererWithPrefix(prefix string, reg Registerer) Registerer {
+	return &wrappingRegisterer{
+		wrappedRegisterer: reg,
+		prefix:            prefix,
+	}
+}
+
+type wrappingRegisterer struct {
+	wrappedRegisterer Registerer
+	prefix            string
+	labels            Labels
+}
+
+func (r *wrappingRegisterer) Register(c Collector) error {
+	return r.wrappedRegisterer.Register(&wrappingCollector{
+		wrappedCollector: c,
+		prefix:           r.prefix,
+		labels:           r.labels,
+	})
+}
+
+func (r *wrappingRegisterer) MustRegister(cs ...Collector) {
+	for _, c := range cs {
+		if err := r.Register(c); err != nil {
+			panic(err)
+		}
+	}
+}
+
+func (r *wrappingRegisterer) Unregister(c Collector) bool {
+	return r.wrappedRegisterer.Unregister(&wrappingCollector{
+		wrappedCollector: c,
+		prefix:           r.prefix,
+		labels:           r.labels,
+	})
+}
+
+type wrappingCollector struct {
+	wrappedCollector Collector
+	prefix           string
+	labels           Labels
+}
+
+func (c *wrappingCollector) Collect(ch chan<- Metric) {
+	wrappedCh := make(chan Metric)
+	go func() {
+		c.wrappedCollector.Collect(wrappedCh)
+		close(wrappedCh)
+	}()
+	for m := range wrappedCh {
+		ch <- &wrappingMetric{
+			wrappedMetric: m,
+			prefix:        c.prefix,
+			labels:        c.labels,
+		}
+	}
+}
+
+func (c *wrappingCollector) Describe(ch chan<- *Desc) {
+	wrappedCh := make(chan *Desc)
+	go func() {
+		c.wrappedCollector.Describe(wrappedCh)
+		close(wrappedCh)
+	}()
+	for desc := range wrappedCh {
+		ch <- wrapDesc(desc, c.prefix, c.labels)
+	}
+}
+
+type wrappingMetric struct {
+	wrappedMetric Metric
+	prefix        string
+	labels        Labels
+}
+
+func (m *wrappingMetric) Desc() *Desc {
+	return wrapDesc(m.wrappedMetric.Desc(), m.prefix, m.labels)
+}
+
+func (m *wrappingMetric) Write(out *dto.Metric) error {
+	if err := m.wrappedMetric.Write(out); err != nil {
+		return err
+	}
+	if len(m.labels) == 0 {
+		// No wrapping labels.
+		return nil
+	}
+	for ln, lv := range m.labels {
+		out.Label = append(out.Label, &dto.LabelPair{
+			Name:  proto.String(ln),
+			Value: proto.String(lv),
+		})
+	}
+	sort.Sort(labelPairSorter(out.Label))
+	return nil
+}
+
+func wrapDesc(desc *Desc, prefix string, labels Labels) *Desc {
+	constLabels := Labels{}
+	for _, lp := range desc.constLabelPairs {
+		constLabels[*lp.Name] = *lp.Value
+	}
+	for ln, lv := range labels {
+		if _, alreadyUsed := constLabels[ln]; alreadyUsed {
+			return &Desc{
+				fqName:          desc.fqName,
+				help:            desc.help,
+				variableLabels:  desc.variableLabels,
+				constLabelPairs: desc.constLabelPairs,
+				err:             fmt.Errorf("attempted wrapping with already existing label name %q", ln),
+			}
+		}
+		constLabels[ln] = lv
+	}
+	// NewDesc will do remaining validations.
+	newDesc := NewDesc(prefix+desc.fqName, desc.help, desc.variableLabels, constLabels)
+	// Propagate errors if there was any. This will override any errer
+	// created by NewDesc above, i.e. earlier errors get precedence.
+	if desc.err != nil {
+		newDesc.err = desc.err
+	}
+	return newDesc
+}
diff --git a/vendor/github.com/prometheus/common/expfmt/text_create.go b/vendor/github.com/prometheus/common/expfmt/text_create.go
index f11321c..8e473d0 100644
--- a/vendor/github.com/prometheus/common/expfmt/text_create.go
+++ b/vendor/github.com/prometheus/common/expfmt/text_create.go
@@ -14,13 +14,45 @@
 package expfmt
 
 import (
+	"bytes"
 	"fmt"
 	"io"
 	"math"
+	"strconv"
 	"strings"
+	"sync"
 
-	dto "github.com/prometheus/client_model/go"
 	"github.com/prometheus/common/model"
+
+	dto "github.com/prometheus/client_model/go"
+)
+
+// enhancedWriter has all the enhanced write functions needed here. bytes.Buffer
+// implements it.
+type enhancedWriter interface {
+	io.Writer
+	WriteRune(r rune) (n int, err error)
+	WriteString(s string) (n int, err error)
+	WriteByte(c byte) error
+}
+
+const (
+	initialBufSize    = 512
+	initialNumBufSize = 24
+)
+
+var (
+	bufPool = sync.Pool{
+		New: func() interface{} {
+			return bytes.NewBuffer(make([]byte, 0, initialBufSize))
+		},
+	}
+	numBufPool = sync.Pool{
+		New: func() interface{} {
+			b := make([]byte, 0, initialNumBufSize)
+			return &b
+		},
+	}
 )
 
 // MetricFamilyToText converts a MetricFamily proto message into text format and
@@ -32,37 +64,92 @@ import (
 // will result in invalid text format output.
 //
 // This method fulfills the type 'prometheus.encoder'.
-func MetricFamilyToText(out io.Writer, in *dto.MetricFamily) (int, error) {
-	var written int
-
+func MetricFamilyToText(out io.Writer, in *dto.MetricFamily) (written int, err error) {
 	// Fail-fast checks.
 	if len(in.Metric) == 0 {
-		return written, fmt.Errorf("MetricFamily has no metrics: %s", in)
+		return 0, fmt.Errorf("MetricFamily has no metrics: %s", in)
 	}
 	name := in.GetName()
 	if name == "" {
-		return written, fmt.Errorf("MetricFamily has no name: %s", in)
+		return 0, fmt.Errorf("MetricFamily has no name: %s", in)
+	}
+
+	// Try the interface upgrade. If it doesn't work, we'll use a
+	// bytes.Buffer from the sync.Pool and write out its content to out in a
+	// single go in the end.
+	w, ok := out.(enhancedWriter)
+	if !ok {
+		b := bufPool.Get().(*bytes.Buffer)
+		b.Reset()
+		w = b
+		defer func() {
+			bWritten, bErr := out.Write(b.Bytes())
+			written = bWritten
+			if err == nil {
+				err = bErr
+			}
+			bufPool.Put(b)
+		}()
 	}
 
+	var n int
+
 	// Comments, first HELP, then TYPE.
 	if in.Help != nil {
-		n, err := fmt.Fprintf(
-			out, "# HELP %s %s\n",
-			name, escapeString(*in.Help, false),
-		)
+		n, err = w.WriteString("# HELP ")
 		written += n
 		if err != nil {
-			return written, err
+			return
+		}
+		n, err = w.WriteString(name)
+		written += n
+		if err != nil {
+			return
+		}
+		err = w.WriteByte(' ')
+		written++
+		if err != nil {
+			return
 		}
+		n, err = writeEscapedString(w, *in.Help, false)
+		written += n
+		if err != nil {
+			return
+		}
+		err = w.WriteByte('\n')
+		written++
+		if err != nil {
+			return
+		}
+	}
+	n, err = w.WriteString("# TYPE ")
+	written += n
+	if err != nil {
+		return
+	}
+	n, err = w.WriteString(name)
+	written += n
+	if err != nil {
+		return
 	}
 	metricType := in.GetType()
-	n, err := fmt.Fprintf(
-		out, "# TYPE %s %s\n",
-		name, strings.ToLower(metricType.String()),
-	)
+	switch metricType {
+	case dto.MetricType_COUNTER:
+		n, err = w.WriteString(" counter\n")
+	case dto.MetricType_GAUGE:
+		n, err = w.WriteString(" gauge\n")
+	case dto.MetricType_SUMMARY:
+		n, err = w.WriteString(" summary\n")
+	case dto.MetricType_UNTYPED:
+		n, err = w.WriteString(" untyped\n")
+	case dto.MetricType_HISTOGRAM:
+		n, err = w.WriteString(" histogram\n")
+	default:
+		return written, fmt.Errorf("unknown metric type %s", metricType.String())
+	}
 	written += n
 	if err != nil {
-		return written, err
+		return
 	}
 
 	// Finally the samples, one line for each.
@@ -75,9 +162,8 @@ func MetricFamilyToText(out io.Writer, in *dto.MetricFamily) (int, error) {
 				)
 			}
 			n, err = writeSample(
-				name, metric, "", "",
+				w, name, "", metric, "", 0,
 				metric.Counter.GetValue(),
-				out,
 			)
 		case dto.MetricType_GAUGE:
 			if metric.Gauge == nil {
@@ -86,9 +172,8 @@ func MetricFamilyToText(out io.Writer, in *dto.MetricFamily) (int, error) {
 				)
 			}
 			n, err = writeSample(
-				name, metric, "", "",
+				w, name, "", metric, "", 0,
 				metric.Gauge.GetValue(),
-				out,
 			)
 		case dto.MetricType_UNTYPED:
 			if metric.Untyped == nil {
@@ -97,9 +182,8 @@ func MetricFamilyToText(out io.Writer, in *dto.MetricFamily) (int, error) {
 				)
 			}
 			n, err = writeSample(
-				name, metric, "", "",
+				w, name, "", metric, "", 0,
 				metric.Untyped.GetValue(),
-				out,
 			)
 		case dto.MetricType_SUMMARY:
 			if metric.Summary == nil {
@@ -109,29 +193,26 @@ func MetricFamilyToText(out io.Writer, in *dto.MetricFamily) (int, error) {
 			}
 			for _, q := range metric.Summary.Quantile {
 				n, err = writeSample(
-					name, metric,
-					model.QuantileLabel, fmt.Sprint(q.GetQuantile()),
+					w, name, "", metric,
+					model.QuantileLabel, q.GetQuantile(),
 					q.GetValue(),
-					out,
 				)
 				written += n
 				if err != nil {
-					return written, err
+					return
 				}
 			}
 			n, err = writeSample(
-				name+"_sum", metric, "", "",
+				w, name, "_sum", metric, "", 0,
 				metric.Summary.GetSampleSum(),
-				out,
 			)
+			written += n
 			if err != nil {
-				return written, err
+				return
 			}
-			written += n
 			n, err = writeSample(
-				name+"_count", metric, "", "",
+				w, name, "_count", metric, "", 0,
 				float64(metric.Summary.GetSampleCount()),
-				out,
 			)
 		case dto.MetricType_HISTOGRAM:
 			if metric.Histogram == nil {
@@ -140,46 +221,42 @@ func MetricFamilyToText(out io.Writer, in *dto.MetricFamily) (int, error) {
 				)
 			}
 			infSeen := false
-			for _, q := range metric.Histogram.Bucket {
+			for _, b := range metric.Histogram.Bucket {
 				n, err = writeSample(
-					name+"_bucket", metric,
-					model.BucketLabel, fmt.Sprint(q.GetUpperBound()),
-					float64(q.GetCumulativeCount()),
-					out,
+					w, name, "_bucket", metric,
+					model.BucketLabel, b.GetUpperBound(),
+					float64(b.GetCumulativeCount()),
 				)
 				written += n
 				if err != nil {
-					return written, err
+					return
 				}
-				if math.IsInf(q.GetUpperBound(), +1) {
+				if math.IsInf(b.GetUpperBound(), +1) {
 					infSeen = true
 				}
 			}
 			if !infSeen {
 				n, err = writeSample(
-					name+"_bucket", metric,
-					model.BucketLabel, "+Inf",
+					w, name, "_bucket", metric,
+					model.BucketLabel, math.Inf(+1),
 					float64(metric.Histogram.GetSampleCount()),
-					out,
 				)
+				written += n
 				if err != nil {
-					return written, err
+					return
 				}
-				written += n
 			}
 			n, err = writeSample(
-				name+"_sum", metric, "", "",
+				w, name, "_sum", metric, "", 0,
 				metric.Histogram.GetSampleSum(),
-				out,
 			)
+			written += n
 			if err != nil {
-				return written, err
+				return
 			}
-			written += n
 			n, err = writeSample(
-				name+"_count", metric, "", "",
+				w, name, "_count", metric, "", 0,
 				float64(metric.Histogram.GetSampleCount()),
-				out,
 			)
 		default:
 			return written, fmt.Errorf(
@@ -188,116 +265,204 @@ func MetricFamilyToText(out io.Writer, in *dto.MetricFamily) (int, error) {
 		}
 		written += n
 		if err != nil {
-			return written, err
+			return
 		}
 	}
-	return written, nil
+	return
 }
 
-// writeSample writes a single sample in text format to out, given the metric
+// writeSample writes a single sample in text format to w, given the metric
 // name, the metric proto message itself, optionally an additional label name
-// and value (use empty strings if not required), and the value. The function
-// returns the number of bytes written and any error encountered.
+// with a float64 value (use empty string as label name if not required), and
+// the value. The function returns the number of bytes written and any error
+// encountered.
 func writeSample(
-	name string,
+	w enhancedWriter,
+	name, suffix string,
 	metric *dto.Metric,
-	additionalLabelName, additionalLabelValue string,
+	additionalLabelName string, additionalLabelValue float64,
 	value float64,
-	out io.Writer,
 ) (int, error) {
 	var written int
-	n, err := fmt.Fprint(out, name)
+	n, err := w.WriteString(name)
 	written += n
 	if err != nil {
 		return written, err
 	}
-	n, err = labelPairsToText(
-		metric.Label,
-		additionalLabelName, additionalLabelValue,
-		out,
+	if suffix != "" {
+		n, err = w.WriteString(suffix)
+		written += n
+		if err != nil {
+			return written, err
+		}
+	}
+	n, err = writeLabelPairs(
+		w, metric.Label, additionalLabelName, additionalLabelValue,
 	)
 	written += n
 	if err != nil {
 		return written, err
 	}
-	n, err = fmt.Fprintf(out, " %v", value)
+	err = w.WriteByte(' ')
+	written++
+	if err != nil {
+		return written, err
+	}
+	n, err = writeFloat(w, value)
 	written += n
 	if err != nil {
 		return written, err
 	}
 	if metric.TimestampMs != nil {
-		n, err = fmt.Fprintf(out, " %v", *metric.TimestampMs)
+		err = w.WriteByte(' ')
+		written++
+		if err != nil {
+			return written, err
+		}
+		n, err = writeInt(w, *metric.TimestampMs)
 		written += n
 		if err != nil {
 			return written, err
 		}
 	}
-	n, err = out.Write([]byte{'\n'})
-	written += n
+	err = w.WriteByte('\n')
+	written++
 	if err != nil {
 		return written, err
 	}
 	return written, nil
 }
 
-// labelPairsToText converts a slice of LabelPair proto messages plus the
+// writeLabelPairs converts a slice of LabelPair proto messages plus the
 // explicitly given additional label pair into text formatted as required by the
-// text format and writes it to 'out'. An empty slice in combination with an
-// empty string 'additionalLabelName' results in nothing being
-// written. Otherwise, the label pairs are written, escaped as required by the
-// text format, and enclosed in '{...}'. The function returns the number of
-// bytes written and any error encountered.
-func labelPairsToText(
+// text format and writes it to 'w'. An empty slice in combination with an empty
+// string 'additionalLabelName' results in nothing being written. Otherwise, the
+// label pairs are written, escaped as required by the text format, and enclosed
+// in '{...}'. The function returns the number of bytes written and any error
+// encountered.
+func writeLabelPairs(
+	w enhancedWriter,
 	in []*dto.LabelPair,
-	additionalLabelName, additionalLabelValue string,
-	out io.Writer,
+	additionalLabelName string, additionalLabelValue float64,
 ) (int, error) {
 	if len(in) == 0 && additionalLabelName == "" {
 		return 0, nil
 	}
-	var written int
-	separator := '{'
+	var (
+		written   int
+		separator byte = '{'
+	)
 	for _, lp := range in {
-		n, err := fmt.Fprintf(
-			out, `%c%s="%s"`,
-			separator, lp.GetName(), escapeString(lp.GetValue(), true),
-		)
+		err := w.WriteByte(separator)
+		written++
+		if err != nil {
+			return written, err
+		}
+		n, err := w.WriteString(lp.GetName())
+		written += n
+		if err != nil {
+			return written, err
+		}
+		n, err = w.WriteString(`="`)
+		written += n
+		if err != nil {
+			return written, err
+		}
+		n, err = writeEscapedString(w, lp.GetValue(), true)
 		written += n
 		if err != nil {
 			return written, err
 		}
+		err = w.WriteByte('"')
+		written++
+		if err != nil {
+			return written, err
+		}
 		separator = ','
 	}
 	if additionalLabelName != "" {
-		n, err := fmt.Fprintf(
-			out, `%c%s="%s"`,
-			separator, additionalLabelName,
-			escapeString(additionalLabelValue, true),
-		)
+		err := w.WriteByte(separator)
+		written++
+		if err != nil {
+			return written, err
+		}
+		n, err := w.WriteString(additionalLabelName)
+		written += n
+		if err != nil {
+			return written, err
+		}
+		n, err = w.WriteString(`="`)
+		written += n
+		if err != nil {
+			return written, err
+		}
+		n, err = writeFloat(w, additionalLabelValue)
 		written += n
 		if err != nil {
 			return written, err
 		}
+		err = w.WriteByte('"')
+		written++
+		if err != nil {
+			return written, err
+		}
 	}
-	n, err := out.Write([]byte{'}'})
-	written += n
+	err := w.WriteByte('}')
+	written++
 	if err != nil {
 		return written, err
 	}
 	return written, nil
 }
 
+// writeEscapedString replaces '\' by '\\', new line character by '\n', and - if
+// includeDoubleQuote is true - '"' by '\"'.
 var (
-	escape                = strings.NewReplacer("\\", `\\`, "\n", `\n`)
-	escapeWithDoubleQuote = strings.NewReplacer("\\", `\\`, "\n", `\n`, "\"", `\"`)
+	escaper       = strings.NewReplacer("\\", `\\`, "\n", `\n`)
+	quotedEscaper = strings.NewReplacer("\\", `\\`, "\n", `\n`, "\"", `\"`)
 )
 
-// escapeString replaces '\' by '\\', new line character by '\n', and - if
-// includeDoubleQuote is true - '"' by '\"'.
-func escapeString(v string, includeDoubleQuote bool) string {
+func writeEscapedString(w enhancedWriter, v string, includeDoubleQuote bool) (int, error) {
 	if includeDoubleQuote {
-		return escapeWithDoubleQuote.Replace(v)
+		return quotedEscaper.WriteString(w, v)
+	} else {
+		return escaper.WriteString(w, v)
+	}
+}
+
+// writeFloat is equivalent to fmt.Fprint with a float64 argument but hardcodes
+// a few common cases for increased efficiency. For non-hardcoded cases, it uses
+// strconv.AppendFloat to avoid allocations, similar to writeInt.
+func writeFloat(w enhancedWriter, f float64) (int, error) {
+	switch {
+	case f == 1:
+		return 1, w.WriteByte('1')
+	case f == 0:
+		return 1, w.WriteByte('0')
+	case f == -1:
+		return w.WriteString("-1")
+	case math.IsNaN(f):
+		return w.WriteString("NaN")
+	case math.IsInf(f, +1):
+		return w.WriteString("+Inf")
+	case math.IsInf(f, -1):
+		return w.WriteString("-Inf")
+	default:
+		bp := numBufPool.Get().(*[]byte)
+		*bp = strconv.AppendFloat((*bp)[:0], f, 'g', -1, 64)
+		written, err := w.Write(*bp)
+		numBufPool.Put(bp)
+		return written, err
 	}
+}
 
-	return escape.Replace(v)
+// writeInt is equivalent to fmt.Fprint with an int64 argument but uses
+// strconv.AppendInt with a byte slice taken from a sync.Pool to avoid
+// allocations.
+func writeInt(w enhancedWriter, i int64) (int, error) {
+	bp := numBufPool.Get().(*[]byte)
+	*bp = strconv.AppendInt((*bp)[:0], i, 10)
+	written, err := w.Write(*bp)
+	numBufPool.Put(bp)
+	return written, err
 }
diff --git a/vendor/github.com/prometheus/common/model/time.go b/vendor/github.com/prometheus/common/model/time.go
index 74ed5a9..46259b1 100644
--- a/vendor/github.com/prometheus/common/model/time.go
+++ b/vendor/github.com/prometheus/common/model/time.go
@@ -43,7 +43,7 @@ const (
 // (1970-01-01 00:00 UTC) excluding leap seconds.
 type Time int64
 
-// Interval describes and interval between two timestamps.
+// Interval describes an interval between two timestamps.
 type Interval struct {
 	Start, End Time
 }
diff --git a/vendor/github.com/prometheus/procfs/fixtures.ttar b/vendor/github.com/prometheus/procfs/fixtures.ttar
index 3ee8291..13c831e 100644
--- a/vendor/github.com/prometheus/procfs/fixtures.ttar
+++ b/vendor/github.com/prometheus/procfs/fixtures.ttar
@@ -15,6 +15,9 @@ Lines: 1
 vim
 Mode: 644
 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+Path: fixtures/26231/cwd
+SymlinkTo: /usr/bin
+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Path: fixtures/26231/exe
 SymlinkTo: /usr/bin/vim
 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -111,6 +114,9 @@ SymlinkTo: mnt:[4026531840]
 Path: fixtures/26231/ns/net
 SymlinkTo: net:[4026531993]
 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+Path: fixtures/26231/root
+SymlinkTo: /
+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Path: fixtures/26231/stat
 Lines: 1
 26231 (vim) R 5392 7446 5392 34835 7446 4218880 32533 309516 26 82 1677 44 158 99 20 0 1 0 82375 56274944 1981 18446744073709551615 4194304 6294284 140736914091744 140736914087944 139965136429984 0 0 12288 1870679807 0 0 0 17 0 0 0 31 0 0 8391624 8481048 16420864 140736914093252 140736914093279 140736914093279 140736914096107 0
@@ -128,6 +134,9 @@ Lines: 1
 ata_sff
 Mode: 644
 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+Path: fixtures/26232/cwd
+SymlinkTo: /does/not/exist
+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Directory: fixtures/26232/fd
 Mode: 755
 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -167,6 +176,9 @@ Max realtime priority     0                    0
 Max realtime timeout      unlimited            unlimited            us        
 Mode: 644
 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+Path: fixtures/26232/root
+SymlinkTo: /does/not/exist
+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Path: fixtures/26232/stat
 Lines: 1
 33 (ata_sff) S 2 0 0 0 -1 69238880 0 0 0 0 0 0 0 0 0 -20 1 0 5 0 0 18446744073709551615 0 0 0 0 0 0 0 2147483647 0 18446744073709551615 0 0 17 1 0 0 0 0 0 0 0 0 0 0 0 0 0
@@ -444,3 +456,7 @@ Path: fixtures/symlinktargets/xyz
 Lines: 0
 Mode: 644
 # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+Path: fixtures/.unpacked
+Lines: 0
+Mode: 664
+# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/vendor/github.com/prometheus/procfs/internal/util/parse.go b/vendor/github.com/prometheus/procfs/internal/util/parse.go
index 1ad21c9..2ff228e 100644
--- a/vendor/github.com/prometheus/procfs/internal/util/parse.go
+++ b/vendor/github.com/prometheus/procfs/internal/util/parse.go
@@ -13,7 +13,11 @@
 
 package util
 
-import "strconv"
+import (
+	"io/ioutil"
+	"strconv"
+	"strings"
+)
 
 // ParseUint32s parses a slice of strings into a slice of uint32s.
 func ParseUint32s(ss []string) ([]uint32, error) {
@@ -44,3 +48,12 @@ func ParseUint64s(ss []string) ([]uint64, error) {
 
 	return us, nil
 }
+
+// ReadUintFromFile reads a file and attempts to parse a uint64 from it.
+func ReadUintFromFile(path string) (uint64, error) {
+	data, err := ioutil.ReadFile(path)
+	if err != nil {
+		return 0, err
+	}
+	return strconv.ParseUint(strings.TrimSpace(string(data)), 10, 64)
+}
diff --git a/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_linux.go b/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_linux.go
new file mode 100644
index 0000000..df0d567
--- /dev/null
+++ b/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_linux.go
@@ -0,0 +1,45 @@
+// Copyright 2018 The Prometheus Authors
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// +build !windows
+
+package util
+
+import (
+	"bytes"
+	"os"
+	"syscall"
+)
+
+// SysReadFile is a simplified ioutil.ReadFile that invokes syscall.Read directly.
+// https://github.com/prometheus/node_exporter/pull/728/files
+func SysReadFile(file string) (string, error) {
+	f, err := os.Open(file)
+	if err != nil {
+		return "", err
+	}
+	defer f.Close()
+
+	// On some machines, hwmon drivers are broken and return EAGAIN.  This causes
+	// Go's ioutil.ReadFile implementation to poll forever.
+	//
+	// Since we either want to read data or bail immediately, do the simplest
+	// possible read using syscall directly.
+	b := make([]byte, 128)
+	n, err := syscall.Read(int(f.Fd()), b)
+	if err != nil {
+		return "", err
+	}
+
+	return string(bytes.TrimSpace(b[:n])), nil
+}
diff --git a/vendor/github.com/prometheus/procfs/proc.go b/vendor/github.com/prometheus/procfs/proc.go
index 7cf5b8a..06bed0e 100644
--- a/vendor/github.com/prometheus/procfs/proc.go
+++ b/vendor/github.com/prometheus/procfs/proc.go
@@ -156,6 +156,26 @@ func (p Proc) Executable() (string, error) {
 	return exe, err
 }
 
+// Cwd returns the absolute path to the current working directory of the process.
+func (p Proc) Cwd() (string, error) {
+	wd, err := os.Readlink(p.path("cwd"))
+	if os.IsNotExist(err) {
+		return "", nil
+	}
+
+	return wd, err
+}
+
+// RootDir returns the absolute path to the process's root directory (as set by chroot)
+func (p Proc) RootDir() (string, error) {
+	rdir, err := os.Readlink(p.path("root"))
+	if os.IsNotExist(err) {
+		return "", nil
+	}
+
+	return rdir, err
+}
+
 // FileDescriptors returns the currently open file descriptors of a process.
 func (p Proc) FileDescriptors() ([]uintptr, error) {
 	names, err := p.fileDescriptors()
diff --git a/vendor/golang.org/x/sys/unix/aliases.go b/vendor/golang.org/x/sys/unix/aliases.go
deleted file mode 100644
index 951fce4..0000000
--- a/vendor/golang.org/x/sys/unix/aliases.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2018 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.
-
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
-// +build go1.9
-
-package unix
-
-import "syscall"
-
-type Signal = syscall.Signal
-type Errno = syscall.Errno
-type SysProcAttr = syscall.SysProcAttr
diff --git a/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
deleted file mode 100644
index 06f84b8..0000000
--- a/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2018 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.
-
-// +build !gccgo
-
-#include "textflag.h"
-
-//
-// System calls for ppc64, AIX are implemented in runtime/syscall_aix.go
-//
-
-TEXT ·syscall6(SB),NOSPLIT,$0-88
-	JMP	syscall·syscall6(SB)
-
-TEXT ·rawSyscall6(SB),NOSPLIT,$0-88
-	JMP	syscall·rawSyscall6(SB)
diff --git a/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go
index 3a6ac64..a96f0eb 100644
--- a/vendor/golang.org/x/sys/unix/constants.go
+++ b/vendor/golang.org/x/sys/unix/constants.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package unix
 
diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
deleted file mode 100644
index 5e5fb45..0000000
--- a/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2018 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.
-
-// +build aix
-// +build ppc
-
-// Functions to access/create device major and minor numbers matching the
-// encoding used by AIX.
-
-package unix
-
-// Major returns the major component of a Linux device number.
-func Major(dev uint64) uint32 {
-	return uint32((dev >> 16) & 0xffff)
-}
-
-// Minor returns the minor component of a Linux device number.
-func Minor(dev uint64) uint32 {
-	return uint32(dev & 0xffff)
-}
-
-// Mkdev returns a Linux device number generated from the given major and minor
-// components.
-func Mkdev(major, minor uint32) uint64 {
-	return uint64(((major) << 16) | (minor))
-}
diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
deleted file mode 100644
index 8b40124..0000000
--- a/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2018 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.
-
-// +build aix
-// +build ppc64
-
-// Functions to access/create device major and minor numbers matching the
-// encoding used AIX.
-
-package unix
-
-// Major returns the major component of a Linux device number.
-func Major(dev uint64) uint32 {
-	return uint32((dev & 0x3fffffff00000000) >> 32)
-}
-
-// Minor returns the minor component of a Linux device number.
-func Minor(dev uint64) uint32 {
-	return uint32((dev & 0x00000000ffffffff) >> 0)
-}
-
-// Mkdev returns a Linux device number generated from the given major and minor
-// components.
-func Mkdev(major, minor uint32) uint64 {
-	var DEVNO64 uint64
-	DEVNO64 = 0x8000000000000000
-	return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64)
-}
diff --git a/vendor/golang.org/x/sys/unix/dirent.go b/vendor/golang.org/x/sys/unix/dirent.go
index 4407c50..95fd353 100644
--- a/vendor/golang.org/x/sys/unix/dirent.go
+++ b/vendor/golang.org/x/sys/unix/dirent.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
+// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris
 
 package unix
 
diff --git a/vendor/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go
index 84178b0..706b3cd 100644
--- a/vendor/golang.org/x/sys/unix/env_unix.go
+++ b/vendor/golang.org/x/sys/unix/env_unix.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
 
 // Unix environment variables.
 
diff --git a/vendor/golang.org/x/sys/unix/fcntl.go b/vendor/golang.org/x/sys/unix/fcntl.go
index 9379ba9..0c58c7e 100644
--- a/vendor/golang.org/x/sys/unix/fcntl.go
+++ b/vendor/golang.org/x/sys/unix/fcntl.go
@@ -14,11 +14,7 @@ var fcntl64Syscall uintptr = SYS_FCNTL
 
 // FcntlInt performs a fcntl syscall on fd with the provided command and argument.
 func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
-	valptr, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(arg))
-	var err error
-	if errno != 0 {
-		err = errno
-	}
+	valptr, _, err := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(arg))
 	return int(valptr), err
 }
 
diff --git a/vendor/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go
index cd6f5a6..50062e3 100644
--- a/vendor/golang.org/x/sys/unix/gccgo.go
+++ b/vendor/golang.org/x/sys/unix/gccgo.go
@@ -3,7 +3,6 @@
 // license that can be found in the LICENSE file.
 
 // +build gccgo
-// +build !aix
 
 package unix
 
diff --git a/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c
index c44730c..46523ce 100644
--- a/vendor/golang.org/x/sys/unix/gccgo_c.c
+++ b/vendor/golang.org/x/sys/unix/gccgo_c.c
@@ -3,7 +3,6 @@
 // license that can be found in the LICENSE file.
 
 // +build gccgo
-// +build !aix
 
 #include <errno.h>
 #include <stdint.h>
diff --git a/vendor/golang.org/x/sys/unix/ioctl.go b/vendor/golang.org/x/sys/unix/ioctl.go
deleted file mode 100644
index f121a8d..0000000
--- a/vendor/golang.org/x/sys/unix/ioctl.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2018 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.
-
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
-
-package unix
-
-import "runtime"
-
-// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
-//
-// To change fd's window size, the req argument should be TIOCSWINSZ.
-func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
-	// TODO: if we get the chance, remove the req parameter and
-	// hardcode TIOCSWINSZ.
-	err := ioctlSetWinsize(fd, req, value)
-	runtime.KeepAlive(value)
-	return err
-}
-
-// IoctlSetTermios performs an ioctl on fd with a *Termios.
-//
-// The req value will usually be TCSETA or TIOCSETA.
-func IoctlSetTermios(fd int, req uint, value *Termios) error {
-	// TODO: if we get the chance, remove the req parameter.
-	err := ioctlSetTermios(fd, req, value)
-	runtime.KeepAlive(value)
-	return err
-}
diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh
index 9b76ad6..1715122 100755
--- a/vendor/golang.org/x/sys/unix/mkall.sh
+++ b/vendor/golang.org/x/sys/unix/mkall.sh
@@ -59,16 +59,6 @@ _* | *_ | _)
 	echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2
 	exit 1
 	;;
-aix_ppc)
-	mkerrors="$mkerrors -maix32"
-	mksyscall="./mksyscall_aix_ppc.pl -aix"
-	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
-	;;
-aix_ppc64)
-	mkerrors="$mkerrors -maix64"
-	mksyscall="./mksyscall_aix_ppc64.pl -aix"
-	mktypes="GOARCH=$GOARCH go tool cgo -godefs"
-	;;
 darwin_386)
 	mkerrors="$mkerrors -m32"
 	mksyscall="./mksyscall.pl -l32"
@@ -187,14 +177,8 @@ esac
 			syscall_goos="syscall_bsd.go $syscall_goos"
 			;;
 		esac
-		if [ -n "$mksyscall" ]; then
-			if [ "$GOOSARCH" == "aix_ppc64" ]; then
-				# aix/ppc64 script generates files instead of writing to stdin.
-				echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ;
-			else
-				echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go";
-			fi
-		fi
+		if [ -n "$mksyscall" ]; then echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; fi
+		;;
 	esac
 	if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi
 	if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi
diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh
index 73e179a..4a2c5dc 100755
--- a/vendor/golang.org/x/sys/unix/mkerrors.sh
+++ b/vendor/golang.org/x/sys/unix/mkerrors.sh
@@ -25,11 +25,7 @@ if [[ "$GOOS" = "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then
 	fi
 fi
 
-if [[ "$GOOS" = "aix" ]]; then
-	CC=${CC:-gcc}
-else
-	CC=${CC:-cc}
-fi
+CC=${CC:-cc}
 
 if [[ "$GOOS" = "solaris" ]]; then
 	# Assumes GNU versions of utilities in PATH.
@@ -38,21 +34,6 @@ fi
 
 uname=$(uname)
 
-includes_AIX='
-#include <net/if.h>
-#include <net/netopt.h>
-#include <netinet/ip_mroute.h>
-#include <sys/protosw.h>
-#include <sys/stropts.h>
-#include <sys/mman.h>
-#include <sys/poll.h>
-#include <sys/termio.h>
-#include <termios.h>
-#include <fcntl.h>
-
-#define AF_LOCAL AF_UNIX
-'
-
 includes_Darwin='
 #define _DARWIN_C_SOURCE
 #define KERNEL
@@ -84,10 +65,8 @@ includes_DragonFly='
 #include <sys/event.h>
 #include <sys/socket.h>
 #include <sys/sockio.h>
-#include <sys/stat.h>
 #include <sys/sysctl.h>
 #include <sys/mman.h>
-#include <sys/mount.h>
 #include <sys/wait.h>
 #include <sys/ioctl.h>
 #include <net/bpf.h>
@@ -107,7 +86,6 @@ includes_FreeBSD='
 #include <sys/event.h>
 #include <sys/socket.h>
 #include <sys/sockio.h>
-#include <sys/stat.h>
 #include <sys/sysctl.h>
 #include <sys/mman.h>
 #include <sys/mount.h>
@@ -193,14 +171,10 @@ struct ltchars {
 #include <linux/falloc.h>
 #include <linux/filter.h>
 #include <linux/fs.h>
-#include <linux/kexec.h>
 #include <linux/keyctl.h>
 #include <linux/magic.h>
-#include <linux/memfd.h>
-#include <linux/module.h>
 #include <linux/netfilter/nfnetlink.h>
 #include <linux/netlink.h>
-#include <linux/net_namespace.h>
 #include <linux/perf_event.h>
 #include <linux/random.h>
 #include <linux/reboot.h>
@@ -216,11 +190,10 @@ struct ltchars {
 #include <linux/vm_sockets.h>
 #include <linux/taskstats.h>
 #include <linux/genetlink.h>
+#include <linux/stat.h>
 #include <linux/watchdog.h>
 #include <linux/hdreg.h>
 #include <linux/rtc.h>
-#include <linux/if_xdp.h>
-#include <mtd/ubi-user.h>
 #include <net/route.h>
 #include <asm/termbits.h>
 
@@ -250,25 +223,13 @@ struct ltchars {
 #define FS_KEY_DESC_PREFIX              "fscrypt:"
 #define FS_KEY_DESC_PREFIX_SIZE         8
 #define FS_MAX_KEY_SIZE                 64
-
-// XDP socket constants do not appear to be picked up otherwise.
-// Copied from samples/bpf/xdpsock_user.c.
-#ifndef SOL_XDP
-#define SOL_XDP 283
-#endif
-
-#ifndef AF_XDP
-#define AF_XDP 44
-#endif
 '
 
 includes_NetBSD='
 #include <sys/types.h>
 #include <sys/param.h>
 #include <sys/event.h>
-#include <sys/extattr.h>
 #include <sys/mman.h>
-#include <sys/mount.h>
 #include <sys/socket.h>
 #include <sys/sockio.h>
 #include <sys/sysctl.h>
@@ -294,14 +255,11 @@ includes_OpenBSD='
 #include <sys/param.h>
 #include <sys/event.h>
 #include <sys/mman.h>
-#include <sys/mount.h>
 #include <sys/socket.h>
 #include <sys/sockio.h>
-#include <sys/stat.h>
 #include <sys/sysctl.h>
 #include <sys/termios.h>
 #include <sys/ttycom.h>
-#include <sys/unistd.h>
 #include <sys/wait.h>
 #include <net/bpf.h>
 #include <net/if.h>
@@ -333,7 +291,6 @@ includes_SunOS='
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/sockio.h>
-#include <sys/stat.h>
 #include <sys/mman.h>
 #include <sys/wait.h>
 #include <sys/ioctl.h>
@@ -396,7 +353,6 @@ ccflags="$@"
 		$2 ~ /^EXTATTR_NAMESPACE_NAMES/ ||
 		$2 ~ /^EXTATTR_NAMESPACE_[A-Z]+_STRING/ {next}
 
-		$2 !~ /^ECCAPBITS/ &&
 		$2 !~ /^ETH_/ &&
 		$2 !~ /^EPROC_/ &&
 		$2 !~ /^EQUIV_/ &&
@@ -432,7 +388,7 @@ ccflags="$@"
 		$2 ~ /^TC[IO](ON|OFF)$/ ||
 		$2 ~ /^IN_/ ||
 		$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
-		$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
+		$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
 		$2 ~ /^TP_STATUS_/ ||
 		$2 ~ /^FALLOC_/ ||
 		$2 == "ICMPV6_FILTER" ||
@@ -443,16 +399,13 @@ ccflags="$@"
 		$2 ~ /^KERN_(HOSTNAME|OS(RELEASE|TYPE)|VERSION)$/ ||
 		$2 ~ /^HW_MACHINE$/ ||
 		$2 ~ /^SYSCTL_VERS/ ||
-		$2 !~ "MNT_BITS" &&
 		$2 ~ /^(MS|MNT|UMOUNT)_/ ||
 		$2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ ||
 		$2 ~ /^(O|F|E?FD|NAME|S|PTRACE|PT)_/ ||
-		$2 ~ /^KEXEC_/ ||
 		$2 ~ /^LINUX_REBOOT_CMD_/ ||
 		$2 ~ /^LINUX_REBOOT_MAGIC[12]$/ ||
-		$2 ~ /^MODULE_INIT_/ ||
 		$2 !~ "NLA_TYPE_MASK" &&
-		$2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ ||
+		$2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P)_/ ||
 		$2 ~ /^SIOC/ ||
 		$2 ~ /^TIOC/ ||
 		$2 ~ /^TCGET/ ||
@@ -478,25 +431,20 @@ ccflags="$@"
 		$2 ~ /^PERF_EVENT_IOC_/ ||
 		$2 ~ /^SECCOMP_MODE_/ ||
 		$2 ~ /^SPLICE_/ ||
-		$2 ~ /^SYNC_FILE_RANGE_/ ||
 		$2 !~ /^AUDIT_RECORD_MAGIC/ &&
-		$2 !~ /IOC_MAGIC/ &&
-		$2 ~ /^[A-Z][A-Z0-9_]+_MAGIC2?$/ ||
+		$2 ~ /^[A-Z0-9_]+_MAGIC2?$/ ||
 		$2 ~ /^(VM|VMADDR)_/ ||
 		$2 ~ /^IOCTL_VM_SOCKETS_/ ||
 		$2 ~ /^(TASKSTATS|TS)_/ ||
 		$2 ~ /^CGROUPSTATS_/ ||
 		$2 ~ /^GENL_/ ||
 		$2 ~ /^STATX_/ ||
-		$2 ~ /^RENAME/ ||
-		$2 ~ /^UBI_IOC[A-Z]/ ||
 		$2 ~ /^UTIME_/ ||
 		$2 ~ /^XATTR_(CREATE|REPLACE|NO(DEFAULT|FOLLOW|SECURITY)|SHOWCOMPRESSION)/ ||
 		$2 ~ /^ATTR_(BIT_MAP_COUNT|(CMN|VOL|FILE)_)/ ||
 		$2 ~ /^FSOPT_/ ||
 		$2 ~ /^WDIOC_/ ||
 		$2 ~ /^NFN/ ||
-		$2 ~ /^XDP_/ ||
 		$2 ~ /^(HDIO|WIN|SMART)_/ ||
 		$2 !~ "WMESGLEN" &&
 		$2 ~ /^W[A-Z0-9]+$/ ||
@@ -521,7 +469,7 @@ errors=$(
 signals=$(
 	echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |
 	awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print $2 }' |
-	egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT|SIGMAX64)' |
+	egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' |
 	sort
 )
 
@@ -531,7 +479,7 @@ echo '#include <errno.h>' | $CC -x c - -E -dM $ccflags |
 	sort >_error.grep
 echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |
 	awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print "^\t" $2 "[ \t]*=" }' |
-	egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT|SIGMAX64)' |
+	egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' |
 	sort >_signal.grep
 
 echo '// mkerrors.sh' "$@"
diff --git a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.pl b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.pl
deleted file mode 100755
index c44de8d..0000000
--- a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.pl
+++ /dev/null
@@ -1,384 +0,0 @@
-#!/usr/bin/env perl
-# Copyright 2018 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.
-
-# This program reads a file containing function prototypes
-# (like syscall_aix.go) and generates system call bodies.
-# The prototypes are marked by lines beginning with "//sys"
-# and read like func declarations if //sys is replaced by func, but:
-#	* The parameter lists must give a name for each argument.
-#	  This includes return parameters.
-#	* The parameter lists must give a type for each argument:
-#	  the (x, y, z int) shorthand is not allowed.
-#	* If the return parameter is an error number, it must be named err.
-#	* If go func name needs to be different than its libc name,
-#	* or the function is not in libc, name could be specified
-#	* at the end, after "=" sign, like
-#	  //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt
-
-use strict;
-
-my $cmdline = "mksyscall_aix_ppc.pl " . join(' ', @ARGV);
-my $errors = 0;
-my $_32bit = "";
-my $tags = "";  # build tags
-my $aix = 0;
-my $solaris = 0;
-
-binmode STDOUT;
-
-if($ARGV[0] eq "-b32") {
-	$_32bit = "big-endian";
-	shift;
-} elsif($ARGV[0] eq "-l32") {
-	$_32bit = "little-endian";
-	shift;
-}
-if($ARGV[0] eq "-aix") {
-	$aix = 1;
-	shift;
-}
-if($ARGV[0] eq "-tags") {
-	shift;
-	$tags = $ARGV[0];
-	shift;
-}
-
-if($ARGV[0] =~ /^-/) {
-	print STDERR "usage: mksyscall_aix.pl [-b32 | -l32] [-tags x,y] [file ...]\n";
-	exit 1;
-}
-
-sub parseparamlist($) {
-	my ($list) = @_;
-	$list =~ s/^\s*//;
-	$list =~ s/\s*$//;
-	if($list eq "") {
-		return ();
-	}
-	return split(/\s*,\s*/, $list);
-}
-
-sub parseparam($) {
-	my ($p) = @_;
-	if($p !~ /^(\S*) (\S*)$/) {
-		print STDERR "$ARGV:$.: malformed parameter: $p\n";
-		$errors = 1;
-		return ("xx", "int");
-	}
-	return ($1, $2);
-}
-
-my $package = "";
-my $text = "";
-my $c_extern = "/*\n#include <stdint.h>\n#include <stddef.h>\n";
-my @vars = ();
-while(<>) {
-	chomp;
-	s/\s+/ /g;
-	s/^\s+//;
-	s/\s+$//;
-	$package = $1 if !$package && /^package (\S+)$/;
-	my $nonblock = /^\/\/sysnb /;
-	next if !/^\/\/sys / && !$nonblock;
-
-	# Line must be of the form
-	# func Open(path string, mode int, perm int) (fd int, err error)
-	# Split into name, in params, out params.
-	if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$/) {
-		print STDERR "$ARGV:$.: malformed //sys declaration\n";
-		$errors = 1;
-		next;
-	}
-	my ($nb, $func, $in, $out, $modname, $sysname) = ($1, $2, $3, $4, $5, $6);
-
-	# Split argument lists on comma.
-	my @in = parseparamlist($in);
-	my @out = parseparamlist($out);
-
-	$in = join(', ', @in);
-	$out = join(', ', @out);
-
-	# Try in vain to keep people from editing this file.
-	# The theory is that they jump into the middle of the file
-	# without reading the header.
-	$text .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n";
-
-	# Check if value return, err return available
-	my $errvar = "";
-	my $retvar = "";
-	my $rettype = "";
-	foreach my $p (@out) {
-		my ($name, $type) = parseparam($p);
-		if($type eq "error") {
-			$errvar = $name;
-		} else {
-			$retvar = $name;
-			$rettype = $type;
-		}
-	}
-
-	# System call name.
-	#if($func ne "fcntl") {
-
-	if($sysname eq "") {
-		$sysname = "$func";
-	}
-
-	$sysname =~ s/([a-z])([A-Z])/${1}_$2/g;
-	$sysname =~ y/A-Z/a-z/; # All libc functions are lowercase.
-
-	my $C_rettype = "";
-	if($rettype eq "unsafe.Pointer") {
-		$C_rettype = "uintptr_t";
-	} elsif($rettype eq "uintptr") {
-		$C_rettype = "uintptr_t";
-	} elsif($rettype =~ /^_/) {
-		$C_rettype = "uintptr_t";
-	} elsif($rettype eq "int") {
-		$C_rettype = "int";
-	} elsif($rettype eq "int32") {
-		$C_rettype = "int";
-	} elsif($rettype eq "int64") {
-		$C_rettype = "long long";
-	} elsif($rettype eq "uint32") {
-		$C_rettype = "unsigned int";
-	} elsif($rettype eq "uint64") {
-		$C_rettype = "unsigned long long";
-	} else {
-		$C_rettype = "int";
-	}
-	if($sysname eq "exit") {
-		$C_rettype = "void";
-	}
-
-	# Change types to c
-	my @c_in = ();
-	foreach my $p (@in) {
-		my ($name, $type) = parseparam($p);
-		if($type =~ /^\*/) {
-			push @c_in, "uintptr_t";
-			} elsif($type eq "string") {
-			push @c_in, "uintptr_t";
-		} elsif($type =~ /^\[\](.*)/) {
-			push @c_in, "uintptr_t", "size_t";
-		} elsif($type eq "unsafe.Pointer") {
-			push @c_in, "uintptr_t";
-		} elsif($type eq "uintptr") {
-			push @c_in, "uintptr_t";
-		} elsif($type =~ /^_/) {
-			push @c_in, "uintptr_t";
-		} elsif($type eq "int") {
-			push @c_in, "int";
-		} elsif($type eq "int32") {
-			push @c_in, "int";
-		} elsif($type eq "int64") {
-			push @c_in, "long long";
-		} elsif($type eq "uint32") {
-			push @c_in, "unsigned int";
-		} elsif($type eq "uint64") {
-			push @c_in, "unsigned long long";
-		} else {
-			push @c_in, "int";
-		}
-	}
-
-	if ($func ne "fcntl" && $func ne "FcntlInt" && $func ne "readlen" && $func ne "writelen") {
-		# Imports of system calls from libc
-		$c_extern .= "$C_rettype $sysname";
-		my $c_in = join(', ', @c_in);
-		$c_extern .= "($c_in);\n";
-	}
-
-	# So file name.
-	if($aix) {
-		if($modname eq "") {
-			$modname = "libc.a/shr_64.o";
-		} else {
-			print STDERR "$func: only syscall using libc are available\n";
-			$errors = 1;
-			next;
-		}
-	}
-
-	my $strconvfunc = "C.CString";
-	my $strconvtype = "*byte";
-
-	# Go function header.
-	if($out ne "") {
-		$out = " ($out)";
-	}
-	if($text ne "") {
-		$text .= "\n"
-	}
-
-	$text .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out ;
-
-	# Prepare arguments to call.
-	my @args = ();
-	my $n = 0;
-	my $arg_n = 0;
-	foreach my $p (@in) {
-		my ($name, $type) = parseparam($p);
-		if($type =~ /^\*/) {
-			push @args, "C.uintptr_t(uintptr(unsafe.Pointer($name)))";
-		} elsif($type eq "string" && $errvar ne "") {
-			$text .= "\t_p$n := uintptr(unsafe.Pointer($strconvfunc($name)))\n";
-			push @args, "C.uintptr_t(_p$n)";
-			$n++;
-		} elsif($type eq "string") {
-			print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n";
-			$text .= "\t_p$n := uintptr(unsafe.Pointer($strconvfunc($name)))\n";
-			push @args, "C.uintptr_t(_p$n)";
-			$n++;
-		} elsif($type =~ /^\[\](.*)/) {
-			# Convert slice into pointer, length.
-			# Have to be careful not to take address of &a[0] if len == 0:
-			# pass nil in that case.
-			$text .= "\tvar _p$n *$1\n";
-			$text .= "\tif len($name) > 0 {\n\t\t_p$n = \&$name\[0]\n\t}\n";
-			push @args, "C.uintptr_t(uintptr(unsafe.Pointer(_p$n)))";
-			$n++;
-			$text .= "\tvar _p$n int\n";
-			$text .= "\t_p$n = len($name)\n";
-			push @args, "C.size_t(_p$n)";
-			$n++;
-		} elsif($type eq "int64" && $_32bit ne "") {
-			if($_32bit eq "big-endian") {
-				push @args, "uintptr($name >> 32)", "uintptr($name)";
-			} else {
-				push @args, "uintptr($name)", "uintptr($name >> 32)";
-			}
-			$n++;
-		} elsif($type eq "bool") {
-			$text .= "\tvar _p$n uint32\n";
-			$text .= "\tif $name {\n\t\t_p$n = 1\n\t} else {\n\t\t_p$n = 0\n\t}\n";
-			push @args, "_p$n";
-			$n++;
-		} elsif($type =~ /^_/) {
-			push @args, "C.uintptr_t(uintptr($name))";
-		} elsif($type eq "unsafe.Pointer") {
-			push @args, "C.uintptr_t(uintptr($name))";
-		} elsif($type eq "int") {
-			if (($arg_n == 2) && (($func eq "readlen") || ($func eq "writelen"))) {
-				push @args, "C.size_t($name)";
-			} elsif ($arg_n == 0 && $func eq "fcntl") {
-				push @args, "C.uintptr_t($name)";
-			} elsif (($arg_n == 2) && (($func eq "fcntl") || ($func eq "FcntlInt"))) {
-				push @args, "C.uintptr_t($name)";
-			} else {
-				push @args, "C.int($name)";
-			}
-		} elsif($type eq "int32") {
-			push @args, "C.int($name)";
-		} elsif($type eq "int64") {
-			push @args, "C.longlong($name)";
-		} elsif($type eq "uint32") {
-			push @args, "C.uint($name)";
-		} elsif($type eq "uint64") {
-			push @args, "C.ulonglong($name)";
-		} elsif($type eq "uintptr") {
-			push @args, "C.uintptr_t($name)";
-		} else {
-			push @args, "C.int($name)";
-		}
-		$arg_n++;
-	}
-	my $nargs = @args;
-
-
-	# Determine which form to use; pad args with zeros.
-	if ($nonblock) {
-	}
-
-	my $args = join(', ', @args);
-	my $call = "";
-	if ($sysname eq "exit") {
-		if ($errvar ne "") {
-			$call .= "er :=";
-		} else {
-			$call .= "";
-		}
-	}  elsif ($errvar ne "") {
-		$call .= "r0,er :=";
-	}  elsif ($retvar ne "") {
-		$call .= "r0,_ :=";
-	}  else {
-		$call .= ""
-	}
-	$call .= "C.$sysname($args)";
-
-	# Assign return values.
-	my $body = "";
-	my $failexpr = "";
-
-	for(my $i=0; $i<@out; $i++) {
-		my $p = $out[$i];
-		my ($name, $type) = parseparam($p);
-		my $reg = "";
-		if($name eq "err") {
-			$reg = "e1";
-		} else {
-			$reg = "r0";
-		}
-		if($reg ne "e1" ) {
-						$body .= "\t$name = $type($reg)\n";
-		}
-	}
-
-	# verify return
-	if ($sysname ne "exit" && $errvar ne "") {
-		if ($C_rettype =~ /^uintptr/) {
-			$body .= "\tif \(uintptr\(r0\) ==\^uintptr\(0\) && er != nil\) {\n";
-			$body .= "\t\t$errvar = er\n";
-			$body .= "\t}\n";
-		} else {
-			$body .= "\tif \(r0 ==-1 && er != nil\) {\n";
-			$body .= "\t\t$errvar = er\n";
-			$body .= "\t}\n";
-		}
-	} elsif ($errvar ne "") {
-		$body .= "\tif \(er != nil\) {\n";
-		$body .= "\t\t$errvar = er\n";
-		$body .= "\t}\n";
-	}
-
-	$text .= "\t$call\n";
-	$text .= $body;
-
-	$text .= "\treturn\n";
-	$text .= "}\n";
-}
-
-if($errors) {
-	exit 1;
-}
-
-print <<EOF;
-// $cmdline
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build $tags
-
-package $package
-
-
-$c_extern
-*/
-import "C"
-import (
-	"unsafe"
-)
-
-
-EOF
-
-print "import \"golang.org/x/sys/unix\"\n" if $package ne "unix";
-
-chomp($_=<<EOF);
-
-$text
-EOF
-print $_;
-exit 0;
diff --git a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.pl b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.pl
deleted file mode 100755
index 53df26b..0000000
--- a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.pl
+++ /dev/null
@@ -1,579 +0,0 @@
-#!/usr/bin/env perl
-# Copyright 2018 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.
-
-# This program reads a file containing function prototypes
-# (like syscall_aix.go) and generates system call bodies.
-# The prototypes are marked by lines beginning with "//sys"
-# and read like func declarations if //sys is replaced by func, but:
-#	* The parameter lists must give a name for each argument.
-#	  This includes return parameters.
-#	* The parameter lists must give a type for each argument:
-#	  the (x, y, z int) shorthand is not allowed.
-#	* If the return parameter is an error number, it must be named err.
-#	* If go func name needs to be different than its libc name,
-#	* or the function is not in libc, name could be specified
-#	* at the end, after "=" sign, like
-#	  //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt
-
-# This program will generate three files and handle both gc and gccgo implementation:
-#   - zsyscall_aix_ppc64.go: the common part of each implementation (error handler, pointer creation)
-#   - zsyscall_aix_ppc64_gc.go: gc part with //go_cgo_import_dynamic and a call to syscall6
-#   - zsyscall_aix_ppc64_gccgo.go: gccgo part with C function and conversion to C type.
-
-# The generated code looks like this
-#
-# zsyscall_aix_ppc64.go
-# func asyscall(...) (n int, err error) {
-#	  // Pointer Creation
-#	  r1, e1 := callasyscall(...)
-#	  // Type Conversion
-#	  // Error Handler
-#	  return
-# }
-#
-# zsyscall_aix_ppc64_gc.go
-# //go:cgo_import_dynamic libc_asyscall asyscall "libc.a/shr_64.o"
-# //go:linkname libc_asyscall libc_asyscall
-# var asyscall syscallFunc
-#
-# func callasyscall(...) (r1 uintptr, e1 Errno) {
-#	  r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_asyscall)), "nb_args", ... )
-#	  return
-# }
-#
-# zsyscall_aix_ppc64_ggcgo.go
-# /*
-#  int asyscall(...)
-#
-# */
-# import "C"
-#
-# func callasyscall(...) (r1 uintptr, e1 Errno) {
-#	  r1 = uintptr(C.asyscall(...))
-#	  e1 = syscall.GetErrno()
-#	  return
-# }
-
-
-
-use strict;
-
-my $cmdline = "mksyscall_aix_ppc64.pl " . join(' ', @ARGV);
-my $errors = 0;
-my $_32bit = "";
-my $tags = "";  # build tags
-my $aix = 0;
-my $solaris = 0;
-
-binmode STDOUT;
-
-if($ARGV[0] eq "-b32") {
-	$_32bit = "big-endian";
-	shift;
-} elsif($ARGV[0] eq "-l32") {
-	$_32bit = "little-endian";
-	shift;
-}
-if($ARGV[0] eq "-aix") {
-	$aix = 1;
-	shift;
-}
-if($ARGV[0] eq "-tags") {
-	shift;
-	$tags = $ARGV[0];
-	shift;
-}
-
-if($ARGV[0] =~ /^-/) {
-	print STDERR "usage: mksyscall_aix.pl [-b32 | -l32] [-tags x,y] [file ...]\n";
-	exit 1;
-}
-
-sub parseparamlist($) {
-	my ($list) = @_;
-	$list =~ s/^\s*//;
-	$list =~ s/\s*$//;
-	if($list eq "") {
-		return ();
-	}
-	return split(/\s*,\s*/, $list);
-}
-
-sub parseparam($) {
-	my ($p) = @_;
-	if($p !~ /^(\S*) (\S*)$/) {
-		print STDERR "$ARGV:$.: malformed parameter: $p\n";
-		$errors = 1;
-		return ("xx", "int");
-	}
-	return ($1, $2);
-}
-
-my $package = "";
-# GCCGO
-my $textgccgo = "";
-my $c_extern = "/*\n#include <stdint.h>\n";
-# GC
-my $textgc = "";
-my $dynimports = "";
-my $linknames = "";
-my @vars = ();
-# COMMUN
-my $textcommon = "";
-
-while(<>) {
-	chomp;
-	s/\s+/ /g;
-	s/^\s+//;
-	s/\s+$//;
-	$package = $1 if !$package && /^package (\S+)$/;
-	my $nonblock = /^\/\/sysnb /;
-	next if !/^\/\/sys / && !$nonblock;
-
-	# Line must be of the form
-	# func Open(path string, mode int, perm int) (fd int, err error)
-	# Split into name, in params, out params.
-	if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$/) {
-		print STDERR "$ARGV:$.: malformed //sys declaration\n";
-		$errors = 1;
-		next;
-	}
-	my ($nb, $func, $in, $out, $modname, $sysname) = ($1, $2, $3, $4, $5, $6);
-
-	# Split argument lists on comma.
-	my @in = parseparamlist($in);
-	my @out = parseparamlist($out);
-
-	$in = join(', ', @in);
-	$out = join(', ', @out);
-
-	if($sysname eq "") {
-		$sysname = "$func";
-	}
-
-	my $onlyCommon = 0;
-	if ($func eq "readlen" || $func eq "writelen" || $func eq "FcntlInt" || $func eq "FcntlFlock") {
-		# This function call another syscall which is already implemented.
-		# Therefore, the gc and gccgo part must not be generated.
-		$onlyCommon = 1
-	}
-
-	# Try in vain to keep people from editing this file.
-	# The theory is that they jump into the middle of the file
-	# without reading the header.
-
-	$textcommon .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n";
-	if (!$onlyCommon) {
-		$textgccgo .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n";
-		$textgc .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n";
-	}
-
-
-	# Check if value return, err return available
-	my $errvar = "";
-	my $retvar = "";
-	my $rettype = "";
-	foreach my $p (@out) {
-		my ($name, $type) = parseparam($p);
-		if($type eq "error") {
-			$errvar = $name;
-		} else {
-			$retvar = $name;
-			$rettype = $type;
-		}
-	}
-
-
-	$sysname =~ s/([a-z])([A-Z])/${1}_$2/g;
-	$sysname =~ y/A-Z/a-z/; # All libc functions are lowercase.
-
-	# GCCGO Prototype return type
-	my $C_rettype = "";
-	if($rettype eq "unsafe.Pointer") {
-		$C_rettype = "uintptr_t";
-	} elsif($rettype eq "uintptr") {
-		$C_rettype = "uintptr_t";
-	} elsif($rettype =~ /^_/) {
-		$C_rettype = "uintptr_t";
-	} elsif($rettype eq "int") {
-		$C_rettype = "int";
-	} elsif($rettype eq "int32") {
-		$C_rettype = "int";
-	} elsif($rettype eq "int64") {
-		$C_rettype = "long long";
-	} elsif($rettype eq "uint32") {
-		$C_rettype = "unsigned int";
-	} elsif($rettype eq "uint64") {
-		$C_rettype = "unsigned long long";
-	} else {
-		$C_rettype = "int";
-	}
-	if($sysname eq "exit") {
-		$C_rettype = "void";
-	}
-
-	# GCCGO Prototype arguments type
-	my @c_in = ();
-	foreach my $i (0 .. $#in) {
-		my ($name, $type) = parseparam($in[$i]);
-		if($type =~ /^\*/) {
-			push @c_in, "uintptr_t";
-			} elsif($type eq "string") {
-			push @c_in, "uintptr_t";
-		} elsif($type =~ /^\[\](.*)/) {
-			push @c_in, "uintptr_t", "size_t";
-		} elsif($type eq "unsafe.Pointer") {
-			push @c_in, "uintptr_t";
-		} elsif($type eq "uintptr") {
-			push @c_in, "uintptr_t";
-		} elsif($type =~ /^_/) {
-			push @c_in, "uintptr_t";
-		} elsif($type eq "int") {
-			if (($i == 0 || $i == 2) && $func eq "fcntl"){
-				# These fcntl arguments needs to be uintptr to be able to call FcntlInt and FcntlFlock
-				push @c_in, "uintptr_t";
-			} else {
-				push @c_in, "int";
-			}
-		} elsif($type eq "int32") {
-			push @c_in, "int";
-		} elsif($type eq "int64") {
-			push @c_in, "long long";
-		} elsif($type eq "uint32") {
-			push @c_in, "unsigned int";
-		} elsif($type eq "uint64") {
-			push @c_in, "unsigned long long";
-		} else {
-			push @c_in, "int";
-		}
-	}
-
-	if (!$onlyCommon){
-		# GCCGO Prototype Generation
-		# Imports of system calls from libc
-		$c_extern .= "$C_rettype $sysname";
-		my $c_in = join(', ', @c_in);
-		$c_extern .= "($c_in);\n";
-	}
-
-	# GC Library name
-	if($modname eq "") {
-		$modname = "libc.a/shr_64.o";
-	} else {
-		print STDERR "$func: only syscall using libc are available\n";
-		$errors = 1;
-		next;
-	}
-	my $sysvarname = "libc_${sysname}";
-
-	if (!$onlyCommon){
-		# GC Runtime import of function to allow cross-platform builds.
-		$dynimports .= "//go:cgo_import_dynamic ${sysvarname} ${sysname} \"$modname\"\n";
-		# GC Link symbol to proc address variable.
-		$linknames .= "//go:linkname ${sysvarname} ${sysvarname}\n";
-		# GC Library proc address variable.
-		push @vars, $sysvarname;
-	}
-
-	my $strconvfunc ="BytePtrFromString";
-	my $strconvtype = "*byte";
-
-	# Go function header.
-	if($out ne "") {
-		$out = " ($out)";
-	}
-	if($textcommon ne "") {
-		$textcommon .= "\n"
-	}
-
-	$textcommon .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out ;
-
-	# Prepare arguments to call.
-	my @argscommun = (); # Arguments in the commun part
-	my @argscall = ();   # Arguments for call prototype
-	my @argsgc = ();     # Arguments for gc call (with syscall6)
-	my @argsgccgo = ();  # Arguments for gccgo call (with C.name_of_syscall)
-	my $n = 0;
-	my $arg_n = 0;
-	foreach my $p (@in) {
-		my ($name, $type) = parseparam($p);
-		if($type =~ /^\*/) {
-			push @argscommun, "uintptr(unsafe.Pointer($name))";
-			push @argscall, "$name uintptr";
-			push @argsgc, "$name";
-			push @argsgccgo, "C.uintptr_t($name)";
-		} elsif($type eq "string" && $errvar ne "") {
-			$textcommon .= "\tvar _p$n $strconvtype\n";
-			$textcommon .= "\t_p$n, $errvar = $strconvfunc($name)\n";
-			$textcommon .= "\tif $errvar != nil {\n\t\treturn\n\t}\n";
-
-			push @argscommun, "uintptr(unsafe.Pointer(_p$n))";
-			push @argscall, "_p$n uintptr ";
-			push @argsgc, "_p$n";
-			push @argsgccgo, "C.uintptr_t(_p$n)";
-			$n++;
-		} elsif($type eq "string") {
-			print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n";
-			$textcommon .= "\tvar _p$n $strconvtype\n";
-			$textcommon .= "\t_p$n, $errvar = $strconvfunc($name)\n";
-			$textcommon .= "\tif $errvar != nil {\n\t\treturn\n\t}\n";
-
-			push @argscommun, "uintptr(unsafe.Pointer(_p$n))";
-			push @argscall, "_p$n uintptr";
-			push @argsgc, "_p$n";
-			push @argsgccgo, "C.uintptr_t(_p$n)";
-			$n++;
-		} elsif($type =~ /^\[\](.*)/) {
-			# Convert slice into pointer, length.
-			# Have to be careful not to take address of &a[0] if len == 0:
-			# pass nil in that case.
-			$textcommon .= "\tvar _p$n *$1\n";
-			$textcommon .= "\tif len($name) > 0 {\n\t\t_p$n = \&$name\[0]\n\t}\n";
-			push @argscommun, "uintptr(unsafe.Pointer(_p$n))", "len($name)";
-			push @argscall, "_p$n uintptr", "_lenp$n int";
-			push @argsgc, "_p$n", "uintptr(_lenp$n)";
-			push @argsgccgo, "C.uintptr_t(_p$n)", "C.size_t(_lenp$n)";
-			$n++;
-		} elsif($type eq "int64" && $_32bit ne "") {
-			print STDERR "$ARGV:$.: $func uses int64 with 32 bits mode. Case not yet implemented\n";
-			# if($_32bit eq "big-endian") {
-			# 	push @args, "uintptr($name >> 32)", "uintptr($name)";
-			# } else {
-			# 	push @args, "uintptr($name)", "uintptr($name >> 32)";
-			# }
-			# $n++;
-		} elsif($type eq "bool") {
-			print STDERR "$ARGV:$.: $func uses bool. Case not yet implemented\n";
-			# $text .= "\tvar _p$n uint32\n";
-			# $text .= "\tif $name {\n\t\t_p$n = 1\n\t} else {\n\t\t_p$n = 0\n\t}\n";
-			# push @args, "_p$n";
-			# $n++;
-		} elsif($type =~ /^_/ ||$type eq "unsafe.Pointer") {
-			push @argscommun, "uintptr($name)";
-			push @argscall, "$name uintptr";
-			push @argsgc, "$name";
-			push @argsgccgo, "C.uintptr_t($name)";
-		} elsif($type eq "int") {
-			if (($arg_n == 0 || $arg_n == 2) && ($func eq "fcntl" || $func eq "FcntlInt" || $func eq "FcntlFlock")) {
-				# These fcntl arguments need to be uintptr to be able to call FcntlInt and FcntlFlock
-				push @argscommun, "uintptr($name)";
-				push @argscall, "$name uintptr";
-				push @argsgc, "$name";
-				push @argsgccgo, "C.uintptr_t($name)";
-			} else {
-				push @argscommun, "$name";
-				push @argscall, "$name int";
-				push @argsgc, "uintptr($name)";
-				push @argsgccgo, "C.int($name)";
-			}
-		} elsif($type eq "int32") {
-			push @argscommun, "$name";
-			push @argscall, "$name int32";
-			push @argsgc, "uintptr($name)";
-			push @argsgccgo, "C.int($name)";
-		} elsif($type eq "int64") {
-			push @argscommun, "$name";
-			push @argscall, "$name int64";
-			push @argsgc, "uintptr($name)";
-			push @argsgccgo, "C.longlong($name)";
-		} elsif($type eq "uint32") {
-			push @argscommun, "$name";
-			push @argscall, "$name uint32";
-			push @argsgc, "uintptr($name)";
-			push @argsgccgo, "C.uint($name)";
-		} elsif($type eq "uint64") {
-			push @argscommun, "$name";
-			push @argscall, "$name uint64";
-			push @argsgc, "uintptr($name)";
-			push @argsgccgo, "C.ulonglong($name)";
-		} elsif($type eq "uintptr") {
-			push @argscommun, "$name";
-			push @argscall, "$name uintptr";
-			push @argsgc, "$name";
-			push @argsgccgo, "C.uintptr_t($name)";
-		} else {
-			push @argscommun, "int($name)";
-			push @argscall, "$name int";
-			push @argsgc, "uintptr($name)";
-			push @argsgccgo, "C.int($name)";
-		}
-		$arg_n++;
-	}
-	my $nargs = @argsgc;
-
-	# COMMUN function generation
-	my $argscommun = join(', ', @argscommun);
-	my $callcommun = "call$sysname($argscommun)";
-	my @ret = ("_", "_");
-	my $body = "";
-	my $do_errno = 0;
-	for(my $i=0; $i<@out; $i++) {
-		my $p = $out[$i];
-		my ($name, $type) = parseparam($p);
-		my $reg = "";
-		if($name eq "err") {
-			$reg = "e1";
-			$ret[1] = $reg;
-			$do_errno = 1;
-		} else {
-			$reg = "r0";
-			$ret[0] = $reg;
-		}
-		if($type eq "bool") {
-			$reg = "$reg != 0";
-		}
-		if($reg ne "e1") {
-			$body .= "\t$name = $type($reg)\n";
-		}
-	}
-	if ($ret[0] eq "_"  && $ret[1] eq "_") {
-		$textcommon .= "\t$callcommun\n";
-	} else {
-		$textcommon .= "\t$ret[0], $ret[1] := $callcommun\n";
-	}
-	$textcommon .= $body;
-
-	if ($do_errno) {
-		$textcommon .= "\tif e1 != 0 {\n";
-		$textcommon .= "\t\terr = errnoErr(e1)\n";
-		$textcommon .= "\t}\n";
-	}
-	$textcommon .= "\treturn\n";
-	$textcommon .= "}\n";
-
-	if ($onlyCommon){
-		next
-	}
-	# CALL Prototype
-	my $callProto = sprintf "func call%s(%s) (r1 uintptr, e1 Errno) {\n", $sysname, join(', ', @argscall);
-
-	# GC function generation
-	my $asm = "syscall6";
-	if ($nonblock) {
-		$asm = "rawSyscall6";
-	}
-
-	if(@argsgc <= 6) {
-		while(@argsgc < 6) {
-			push @argsgc, "0";
-		}
-	} else {
-		print STDERR "$ARGV:$.: too many arguments to system call\n";
-	}
-	my $argsgc = join(', ', @argsgc);
-	my $callgc = "$asm(uintptr(unsafe.Pointer(&$sysvarname)), $nargs, $argsgc)";
-
-	$textgc .= $callProto;
-	$textgc .= "\tr1, _, e1 = $callgc\n";
-	$textgc .= "\treturn\n}\n";
-
-	# GCCGO function generation
-	my $argsgccgo = join(', ', @argsgccgo);
-	my $callgccgo = "C.$sysname($argsgccgo)";
-	$textgccgo .= $callProto;
-	$textgccgo .= "\tr1 = uintptr($callgccgo)\n";
-	$textgccgo .= "\te1 = syscall.GetErrno()\n";
-	$textgccgo .= "\treturn\n}\n";
-}
-
-if($errors) {
-	exit 1;
-}
-
-# Print zsyscall_aix_ppc64.go
-open(my $fcommun, '>', 'zsyscall_aix_ppc64.go');
-my $tofcommun = <<EOF;
-// $cmdline
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build $tags
-
-package $package
-
-import (
-	"unsafe"
-)
-
-EOF
-
-$tofcommun .= "import \"golang.org/x/sys/unix\"\n" if $package ne "unix";
-
-$tofcommun .=<<EOF;
-
-$textcommon
-EOF
-print $fcommun $tofcommun;
-
-
-# Print zsyscall_aix_ppc64_gc.go
-open(my $fgc, '>', 'zsyscall_aix_ppc64_gc.go');
-my $tofgc = <<EOF;
-// $cmdline
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build $tags
-// +build !gccgo
-
-package $package
-
-import (
-	"unsafe"
-)
-
-
-EOF
-
-$tofgc .= "import \"golang.org/x/sys/unix\"\n" if $package ne "unix";
-
-my $vardecls = "\t" . join(",\n\t", @vars);
-$vardecls .= " syscallFunc";
-
-$tofgc .=<<EOF;
-$dynimports
-$linknames
-type syscallFunc uintptr
-
-var (
-$vardecls
-)
-
-// Implemented in runtime/syscall_aix.go.
-func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-
-$textgc
-EOF
-print $fgc $tofgc;
-
-# Print zsyscall_aix_ppc64_gc.go
-open(my $fgccgo, '>', 'zsyscall_aix_ppc64_gccgo.go');
-my $tofgccgo = <<EOF;
-// $cmdline
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build $tags
-// +build gccgo
-
-package $package
-
-
-$c_extern
-*/
-import "C"
-import (
-	"syscall"
-)
-
-
-EOF
-
-$tofgccgo .= "import \"golang.org/x/sys/unix\"\n" if $package ne "unix";
-
-$tofgccgo .=<<EOF;
-
-$textgccgo
-EOF
-print $fgccgo $tofgccgo;
-exit 0;
diff --git a/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl b/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
index a354df5..3e6ed9d 100755
--- a/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
+++ b/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
@@ -92,11 +92,6 @@ while(<>) {
 	my @in = parseparamlist($in);
 	my @out = parseparamlist($out);
 
-	# Try in vain to keep people from editing this file.
-	# The theory is that they jump into the middle of the file
-	# without reading the header.
-	$text .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n";
-
 	# So file name.
 	if($modname eq "") {
 		$modname = "libc";
diff --git a/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
index 20632e1..49f186f 100755
--- a/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
+++ b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
@@ -32,7 +32,6 @@ my @headers = qw (
 	sys/sem.h
 	sys/shm.h
 	sys/vmmeter.h
-	uvm/uvmexp.h
 	uvm/uvm_param.h
 	uvm/uvm_swap_encrypt.h
 	ddb/db_var.h
diff --git a/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
index 198993d..a0a22bf 100755
--- a/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
+++ b/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
@@ -27,7 +27,7 @@ const (
 EOF
 
 while(<>){
-	if(/^([0-9]+)\s+\S+\s+(?:NO)?STD\s+({ \S+\s+(\w+).*)$/){
+	if(/^([0-9]+)\s+\S+\s+STD\s+({ \S+\s+(\w+).*)$/){
 		my $num = $1;
 		my $proto = $2;
 		my $name = "SYS_$3";
diff --git a/vendor/golang.org/x/sys/unix/openbsd_pledge.go b/vendor/golang.org/x/sys/unix/openbsd_pledge.go
index 230a36d..9b1e86a 100644
--- a/vendor/golang.org/x/sys/unix/openbsd_pledge.go
+++ b/vendor/golang.org/x/sys/unix/openbsd_pledge.go
@@ -8,159 +8,31 @@
 package unix
 
 import (
-	"errors"
-	"fmt"
-	"strconv"
 	"syscall"
 	"unsafe"
 )
 
-// Pledge implements the pledge syscall.
-//
-// The pledge syscall does not accept execpromises on OpenBSD releases
-// before 6.3.
-//
-// execpromises must be empty when Pledge is called on OpenBSD
-// releases predating 6.3, otherwise an error will be returned.
-//
-// For more information see pledge(2).
-func Pledge(promises, execpromises string) error {
-	maj, min, err := majmin()
-	if err != nil {
-		return err
-	}
-
-	err = pledgeAvailable(maj, min, execpromises)
-	if err != nil {
-		return err
-	}
+const (
+	_SYS_PLEDGE = 108
+)
 
-	pptr, err := syscall.BytePtrFromString(promises)
+// Pledge implements the pledge syscall. For more information see pledge(2).
+func Pledge(promises string, paths []string) error {
+	promisesPtr, err := syscall.BytePtrFromString(promises)
 	if err != nil {
 		return err
 	}
-
-	// This variable will hold either a nil unsafe.Pointer or
-	// an unsafe.Pointer to a string (execpromises).
-	var expr unsafe.Pointer
-
-	// If we're running on OpenBSD > 6.2, pass execpromises to the syscall.
-	if maj > 6 || (maj == 6 && min > 2) {
-		exptr, err := syscall.BytePtrFromString(execpromises)
-		if err != nil {
+	promisesUnsafe, pathsUnsafe := unsafe.Pointer(promisesPtr), unsafe.Pointer(nil)
+	if paths != nil {
+		var pathsPtr []*byte
+		if pathsPtr, err = syscall.SlicePtrFromStrings(paths); err != nil {
 			return err
 		}
-		expr = unsafe.Pointer(exptr)
-	}
-
-	_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0)
-	if e != 0 {
-		return e
-	}
-
-	return nil
-}
-
-// PledgePromises implements the pledge syscall.
-//
-// This changes the promises and leaves the execpromises untouched.
-//
-// For more information see pledge(2).
-func PledgePromises(promises string) error {
-	maj, min, err := majmin()
-	if err != nil {
-		return err
-	}
-
-	err = pledgeAvailable(maj, min, "")
-	if err != nil {
-		return err
-	}
-
-	// This variable holds the execpromises and is always nil.
-	var expr unsafe.Pointer
-
-	pptr, err := syscall.BytePtrFromString(promises)
-	if err != nil {
-		return err
-	}
-
-	_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0)
-	if e != 0 {
-		return e
-	}
-
-	return nil
-}
-
-// PledgeExecpromises implements the pledge syscall.
-//
-// This changes the execpromises and leaves the promises untouched.
-//
-// For more information see pledge(2).
-func PledgeExecpromises(execpromises string) error {
-	maj, min, err := majmin()
-	if err != nil {
-		return err
-	}
-
-	err = pledgeAvailable(maj, min, execpromises)
-	if err != nil {
-		return err
+		pathsUnsafe = unsafe.Pointer(&pathsPtr[0])
 	}
-
-	// This variable holds the promises and is always nil.
-	var pptr unsafe.Pointer
-
-	exptr, err := syscall.BytePtrFromString(execpromises)
-	if err != nil {
-		return err
-	}
-
-	_, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(pptr), uintptr(unsafe.Pointer(exptr)), 0)
+	_, _, e := syscall.Syscall(_SYS_PLEDGE, uintptr(promisesUnsafe), uintptr(pathsUnsafe), 0)
 	if e != 0 {
 		return e
 	}
-
-	return nil
-}
-
-// majmin returns major and minor version number for an OpenBSD system.
-func majmin() (major int, minor int, err error) {
-	var v Utsname
-	err = Uname(&v)
-	if err != nil {
-		return
-	}
-
-	major, err = strconv.Atoi(string(v.Release[0]))
-	if err != nil {
-		err = errors.New("cannot parse major version number returned by uname")
-		return
-	}
-
-	minor, err = strconv.Atoi(string(v.Release[2]))
-	if err != nil {
-		err = errors.New("cannot parse minor version number returned by uname")
-		return
-	}
-
-	return
-}
-
-// pledgeAvailable checks for availability of the pledge(2) syscall
-// based on the running OpenBSD version.
-func pledgeAvailable(maj, min int, execpromises string) error {
-	// If OpenBSD <= 5.9, pledge is not available.
-	if (maj == 5 && min != 9) || maj < 5 {
-		return fmt.Errorf("pledge syscall is not available on OpenBSD %d.%d", maj, min)
-	}
-
-	// If OpenBSD <= 6.2 and execpromises is not empty,
-	// return an error - execpromises is not available before 6.3
-	if (maj < 6 || (maj == 6 && min <= 2)) && execpromises != "" {
-		return fmt.Errorf("cannot use execpromises on OpenBSD %d.%d", maj, min)
-	}
-
 	return nil
 }
diff --git a/vendor/golang.org/x/sys/unix/openbsd_unveil.go b/vendor/golang.org/x/sys/unix/openbsd_unveil.go
deleted file mode 100644
index aebc2dc..0000000
--- a/vendor/golang.org/x/sys/unix/openbsd_unveil.go
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2018 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.
-
-// +build openbsd
-
-package unix
-
-import (
-	"syscall"
-	"unsafe"
-)
-
-// Unveil implements the unveil syscall.
-// For more information see unveil(2).
-// Note that the special case of blocking further
-// unveil calls is handled by UnveilBlock.
-func Unveil(path string, flags string) error {
-	pathPtr, err := syscall.BytePtrFromString(path)
-	if err != nil {
-		return err
-	}
-	flagsPtr, err := syscall.BytePtrFromString(flags)
-	if err != nil {
-		return err
-	}
-	_, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(unsafe.Pointer(pathPtr)), uintptr(unsafe.Pointer(flagsPtr)), 0)
-	if e != 0 {
-		return e
-	}
-	return nil
-}
-
-// UnveilBlock blocks future unveil calls.
-// For more information see unveil(2).
-func UnveilBlock() error {
-	// Both pointers must be nil.
-	var pathUnsafe, flagsUnsafe unsafe.Pointer
-	_, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(pathUnsafe), uintptr(flagsUnsafe), 0)
-	if e != 0 {
-		return e
-	}
-	return nil
-}
diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go
index bc2f362..83c85e0 100644
--- a/vendor/golang.org/x/sys/unix/pagesize_unix.go
+++ b/vendor/golang.org/x/sys/unix/pagesize_unix.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
 
 // For Unix, get the pagesize from the runtime.
 
diff --git a/vendor/golang.org/x/sys/unix/race0.go b/vendor/golang.org/x/sys/unix/race0.go
index ad02667..dd08204 100644
--- a/vendor/golang.org/x/sys/unix/race0.go
+++ b/vendor/golang.org/x/sys/unix/race0.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly
+// +build darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly
 
 package unix
 
diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
index 9dd2f32..bb756ec 100644
--- a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
+++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
 
 // Socket control messages
 
@@ -12,7 +12,7 @@ import "unsafe"
 
 // Round the length of a raw sockaddr up to align it properly.
 func cmsgAlignOf(salen int) int {
-	salign := SizeofPtr
+	salign := sizeofPtr
 	// NOTE: It seems like 64-bit Darwin, DragonFly BSD and
 	// Solaris kernels still require 32-bit aligned access to
 	// network subsystem.
diff --git a/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go
index 17fb698..35ed664 100644
--- a/vendor/golang.org/x/sys/unix/str.go
+++ b/vendor/golang.org/x/sys/unix/str.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package unix
 
diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go
index 0d4b1d7..ef35fce 100644
--- a/vendor/golang.org/x/sys/unix/syscall.go
+++ b/vendor/golang.org/x/sys/unix/syscall.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
 
 // Package unix contains an interface to the low-level operating system
 // primitives. OS details vary depending on the underlying system, and
diff --git a/vendor/golang.org/x/sys/unix/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go
deleted file mode 100644
index f8eac17..0000000
--- a/vendor/golang.org/x/sys/unix/syscall_aix.go
+++ /dev/null
@@ -1,547 +0,0 @@
-// Copyright 2018 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.
-
-// +build aix
-
-// Aix system calls.
-// This file is compiled as ordinary Go code,
-// but it is also input to mksyscall,
-// which parses the //sys lines and generates system call stubs.
-// Note that sometimes we use a lowercase //sys name and
-// wrap it in our own nicer implementation.
-
-package unix
-
-import (
-	"syscall"
-	"unsafe"
-)
-
-/*
- * Wrapped
- */
-
-//sys	utimes(path string, times *[2]Timeval) (err error)
-func Utimes(path string, tv []Timeval) error {
-	if len(tv) != 2 {
-		return EINVAL
-	}
-	return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
-}
-
-//sys	utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error)
-func UtimesNano(path string, ts []Timespec) error {
-	if len(ts) != 2 {
-		return EINVAL
-	}
-	return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
-}
-
-func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
-	if ts == nil {
-		return utimensat(dirfd, path, nil, flags)
-	}
-	if len(ts) != 2 {
-		return EINVAL
-	}
-	return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)
-}
-
-func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
-	if sa.Port < 0 || sa.Port > 0xFFFF {
-		return nil, 0, EINVAL
-	}
-	sa.raw.Family = AF_INET
-	p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
-	p[0] = byte(sa.Port >> 8)
-	p[1] = byte(sa.Port)
-	for i := 0; i < len(sa.Addr); i++ {
-		sa.raw.Addr[i] = sa.Addr[i]
-	}
-	return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil
-}
-
-func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
-	if sa.Port < 0 || sa.Port > 0xFFFF {
-		return nil, 0, EINVAL
-	}
-	sa.raw.Family = AF_INET6
-	p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
-	p[0] = byte(sa.Port >> 8)
-	p[1] = byte(sa.Port)
-	sa.raw.Scope_id = sa.ZoneId
-	for i := 0; i < len(sa.Addr); i++ {
-		sa.raw.Addr[i] = sa.Addr[i]
-	}
-	return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil
-}
-
-func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
-	name := sa.Name
-	n := len(name)
-	if n > len(sa.raw.Path) {
-		return nil, 0, EINVAL
-	}
-	if n == len(sa.raw.Path) && name[0] != '@' {
-		return nil, 0, EINVAL
-	}
-	sa.raw.Family = AF_UNIX
-	for i := 0; i < n; i++ {
-		sa.raw.Path[i] = uint8(name[i])
-	}
-	// length is family (uint16), name, NUL.
-	sl := _Socklen(2)
-	if n > 0 {
-		sl += _Socklen(n) + 1
-	}
-	if sa.raw.Path[0] == '@' {
-		sa.raw.Path[0] = 0
-		// Don't count trailing NUL for abstract address.
-		sl--
-	}
-
-	return unsafe.Pointer(&sa.raw), sl, nil
-}
-
-func Getsockname(fd int) (sa Sockaddr, err error) {
-	var rsa RawSockaddrAny
-	var len _Socklen = SizeofSockaddrAny
-	if err = getsockname(fd, &rsa, &len); err != nil {
-		return
-	}
-	return anyToSockaddr(fd, &rsa)
-}
-
-//sys	getcwd(buf []byte) (err error)
-
-const ImplementsGetwd = true
-
-func Getwd() (ret string, err error) {
-	for len := uint64(4096); ; len *= 2 {
-		b := make([]byte, len)
-		err := getcwd(b)
-		if err == nil {
-			i := 0
-			for b[i] != 0 {
-				i++
-			}
-			return string(b[0:i]), nil
-		}
-		if err != ERANGE {
-			return "", err
-		}
-	}
-}
-
-func Getcwd(buf []byte) (n int, err error) {
-	err = getcwd(buf)
-	if err == nil {
-		i := 0
-		for buf[i] != 0 {
-			i++
-		}
-		n = i + 1
-	}
-	return
-}
-
-func Getgroups() (gids []int, err error) {
-	n, err := getgroups(0, nil)
-	if err != nil {
-		return nil, err
-	}
-	if n == 0 {
-		return nil, nil
-	}
-
-	// Sanity check group count. Max is 16 on BSD.
-	if n < 0 || n > 1000 {
-		return nil, EINVAL
-	}
-
-	a := make([]_Gid_t, n)
-	n, err = getgroups(n, &a[0])
-	if err != nil {
-		return nil, err
-	}
-	gids = make([]int, n)
-	for i, v := range a[0:n] {
-		gids[i] = int(v)
-	}
-	return
-}
-
-func Setgroups(gids []int) (err error) {
-	if len(gids) == 0 {
-		return setgroups(0, nil)
-	}
-
-	a := make([]_Gid_t, len(gids))
-	for i, v := range gids {
-		a[i] = _Gid_t(v)
-	}
-	return setgroups(len(a), &a[0])
-}
-
-/*
- * Socket
- */
-
-//sys	accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
-
-func Accept(fd int) (nfd int, sa Sockaddr, err error) {
-	var rsa RawSockaddrAny
-	var len _Socklen = SizeofSockaddrAny
-	nfd, err = accept(fd, &rsa, &len)
-	if nfd == -1 {
-		return
-	}
-	sa, err = anyToSockaddr(fd, &rsa)
-	if err != nil {
-		Close(nfd)
-		nfd = 0
-	}
-	return
-}
-
-func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
-	// Recvmsg not implemented on AIX
-	sa := new(SockaddrUnix)
-	return -1, -1, -1, sa, ENOSYS
-}
-
-func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
-	_, err = SendmsgN(fd, p, oob, to, flags)
-	return
-}
-
-func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
-	// SendmsgN not implemented on AIX
-	return -1, ENOSYS
-}
-
-func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
-	switch rsa.Addr.Family {
-
-	case AF_UNIX:
-		pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))
-		sa := new(SockaddrUnix)
-
-		// Some versions of AIX have a bug in getsockname (see IV78655).
-		// We can't rely on sa.Len being set correctly.
-		n := SizeofSockaddrUnix - 3 // substract leading Family, Len, terminating NUL.
-		for i := 0; i < n; i++ {
-			if pp.Path[i] == 0 {
-				n = i
-				break
-			}
-		}
-
-		bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
-		sa.Name = string(bytes)
-		return sa, nil
-
-	case AF_INET:
-		pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
-		sa := new(SockaddrInet4)
-		p := (*[2]byte)(unsafe.Pointer(&pp.Port))
-		sa.Port = int(p[0])<<8 + int(p[1])
-		for i := 0; i < len(sa.Addr); i++ {
-			sa.Addr[i] = pp.Addr[i]
-		}
-		return sa, nil
-
-	case AF_INET6:
-		pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
-		sa := new(SockaddrInet6)
-		p := (*[2]byte)(unsafe.Pointer(&pp.Port))
-		sa.Port = int(p[0])<<8 + int(p[1])
-		sa.ZoneId = pp.Scope_id
-		for i := 0; i < len(sa.Addr); i++ {
-			sa.Addr[i] = pp.Addr[i]
-		}
-		return sa, nil
-	}
-	return nil, EAFNOSUPPORT
-}
-
-func Gettimeofday(tv *Timeval) (err error) {
-	err = gettimeofday(tv, nil)
-	return
-}
-
-// TODO
-func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-	return -1, ENOSYS
-}
-
-//sys	getdirent(fd int, buf []byte) (n int, err error)
-func ReadDirent(fd int, buf []byte) (n int, err error) {
-	return getdirent(fd, buf)
-}
-
-//sys	wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error)
-func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
-	var status _C_int
-	var r Pid_t
-	err = ERESTART
-	// AIX wait4 may return with ERESTART errno, while the processus is still
-	// active.
-	for err == ERESTART {
-		r, err = wait4(Pid_t(pid), &status, options, rusage)
-	}
-	wpid = int(r)
-	if wstatus != nil {
-		*wstatus = WaitStatus(status)
-	}
-	return
-}
-
-/*
- * Wait
- */
-
-type WaitStatus uint32
-
-func (w WaitStatus) Stopped() bool { return w&0x40 != 0 }
-func (w WaitStatus) StopSignal() Signal {
-	if !w.Stopped() {
-		return -1
-	}
-	return Signal(w>>8) & 0xFF
-}
-
-func (w WaitStatus) Exited() bool { return w&0xFF == 0 }
-func (w WaitStatus) ExitStatus() int {
-	if !w.Exited() {
-		return -1
-	}
-	return int((w >> 8) & 0xFF)
-}
-
-func (w WaitStatus) Signaled() bool { return w&0x40 == 0 && w&0xFF != 0 }
-func (w WaitStatus) Signal() Signal {
-	if !w.Signaled() {
-		return -1
-	}
-	return Signal(w>>16) & 0xFF
-}
-
-func (w WaitStatus) Continued() bool { return w&0x01000000 != 0 }
-
-func (w WaitStatus) CoreDump() bool { return w&0x200 != 0 }
-
-func (w WaitStatus) TrapCause() int { return -1 }
-
-//sys	ioctl(fd int, req uint, arg uintptr) (err error)
-
-// ioctl itself should not be exposed directly, but additional get/set
-// functions for specific types are permissible.
-
-// IoctlSetInt performs an ioctl operation which sets an integer value
-// on fd, using the specified request number.
-func IoctlSetInt(fd int, req uint, value int) error {
-	return ioctl(fd, req, uintptr(value))
-}
-
-func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
-	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
-}
-
-func ioctlSetTermios(fd int, req uint, value *Termios) error {
-	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
-}
-
-// IoctlGetInt performs an ioctl operation which gets an integer value
-// from fd, using the specified request number.
-func IoctlGetInt(fd int, req uint) (int, error) {
-	var value int
-	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
-	return value, err
-}
-
-func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
-	var value Winsize
-	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
-	return &value, err
-}
-
-func IoctlGetTermios(fd int, req uint) (*Termios, error) {
-	var value Termios
-	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
-	return &value, err
-}
-
-// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX
-// There is no way to create a custom fcntl and to keep //sys fcntl easily,
-// Therefore, the programmer must call dup2 instead of fcntl in this case.
-
-// FcntlInt performs a fcntl syscall on fd with the provided command and argument.
-//sys	FcntlInt(fd uintptr, cmd int, arg int) (r int,err error) = fcntl
-
-// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
-//sys	FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) = fcntl
-
-//sys	fcntl(fd int, cmd int, arg int) (val int, err error)
-
-func Flock(fd int, how int) (err error) {
-	return syscall.Flock(fd, how)
-}
-
-/*
- * Direct access
- */
-
-//sys	Acct(path string) (err error)
-//sys	Chdir(path string) (err error)
-//sys	Chroot(path string) (err error)
-//sys	Close(fd int) (err error)
-//sys	Dup(oldfd int) (fd int, err error)
-//sys	Exit(code int)
-//sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
-//sys	Fchdir(fd int) (err error)
-//sys	Fchmod(fd int, mode uint32) (err error)
-//sys	Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
-//sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
-//sys	Fdatasync(fd int) (err error)
-//sys	Fsync(fd int) (err error)
-// readdir_r
-//sysnb	Getpgid(pid int) (pgid int, err error)
-
-//sys	Getpgrp() (pid int)
-
-//sysnb	Getpid() (pid int)
-//sysnb	Getppid() (ppid int)
-//sys	Getpriority(which int, who int) (prio int, err error)
-//sysnb	Getrusage(who int, rusage *Rusage) (err error)
-//sysnb	Getsid(pid int) (sid int, err error)
-//sysnb	Kill(pid int, sig Signal) (err error)
-//sys	Klogctl(typ int, buf []byte) (n int, err error) = syslog
-//sys	Mkdir(dirfd int, path string, mode uint32) (err error)
-//sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
-//sys	Mkfifo(path string, mode uint32) (err error)
-//sys	Mknod(path string, mode uint32, dev int) (err error)
-//sys	Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
-//sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
-//sys   Open(path string, mode int, perm uint32) (fd int, err error) = open64
-//sys   Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
-//sys	read(fd int, p []byte) (n int, err error)
-//sys	Readlink(path string, buf []byte) (n int, err error)
-//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
-//sys	Setdomainname(p []byte) (err error)
-//sys	Sethostname(p []byte) (err error)
-//sysnb	Setpgid(pid int, pgid int) (err error)
-//sysnb	Setsid() (pid int, err error)
-//sysnb	Settimeofday(tv *Timeval) (err error)
-
-//sys	Setuid(uid int) (err error)
-//sys	Setgid(uid int) (err error)
-
-//sys	Setpriority(which int, who int, prio int) (err error)
-//sys	Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)
-//sys	Sync()
-//sysnb	Times(tms *Tms) (ticks uintptr, err error)
-//sysnb	Umask(mask int) (oldmask int)
-//sysnb	Uname(buf *Utsname) (err error)
-//TODO umount
-// //sys	Unmount(target string, flags int) (err error) = umount
-//sys   Unlink(path string) (err error)
-//sys   Unlinkat(dirfd int, path string, flags int) (err error)
-//sys	Ustat(dev int, ubuf *Ustat_t) (err error)
-//sys	write(fd int, p []byte) (n int, err error)
-//sys	readlen(fd int, p *byte, np int) (n int, err error) = read
-//sys	writelen(fd int, p *byte, np int) (n int, err error) = write
-
-//sys	Dup2(oldfd int, newfd int) (err error)
-//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = posix_fadvise64
-//sys	Fchown(fd int, uid int, gid int) (err error)
-//sys	Fstat(fd int, stat *Stat_t) (err error)
-//sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat
-//sys	Fstatfs(fd int, buf *Statfs_t) (err error)
-//sys	Ftruncate(fd int, length int64) (err error)
-//sysnb	Getegid() (egid int)
-//sysnb	Geteuid() (euid int)
-//sysnb	Getgid() (gid int)
-//sysnb	Getuid() (uid int)
-//sys	Lchown(path string, uid int, gid int) (err error)
-//sys	Listen(s int, n int) (err error)
-//sys	Lstat(path string, stat *Stat_t) (err error)
-//sys	Pause() (err error)
-//sys	Pread(fd int, p []byte, offset int64) (n int, err error) = pread64
-//sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64
-//TODO Select
-// //sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
-//sys	Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
-//sysnb	Setregid(rgid int, egid int) (err error)
-//sysnb	Setreuid(ruid int, euid int) (err error)
-//sys	Shutdown(fd int, how int) (err error)
-//sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
-//sys	Stat(path string, stat *Stat_t) (err error)
-//sys	Statfs(path string, buf *Statfs_t) (err error)
-//sys	Truncate(path string, length int64) (err error)
-
-//sys	bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-//sys	connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-//sysnb	getgroups(n int, list *_Gid_t) (nn int, err error)
-//sysnb	setgroups(n int, list *_Gid_t) (err error)
-//sys	getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)
-//sys	setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)
-//sysnb	socket(domain int, typ int, proto int) (fd int, err error)
-//sysnb	socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
-//sysnb	getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
-//sysnb	getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
-//sys	recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
-//sys	sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
-//sys	recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
-//sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
-
-//sys	munmap(addr uintptr, length uintptr) (err error)
-
-var mapper = &mmapper{
-	active: make(map[*byte][]byte),
-	mmap:   mmap,
-	munmap: munmap,
-}
-
-func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {
-	return mapper.Mmap(fd, offset, length, prot, flags)
-}
-
-func Munmap(b []byte) (err error) {
-	return mapper.Munmap(b)
-}
-
-//sys	Madvise(b []byte, advice int) (err error)
-//sys	Mprotect(b []byte, prot int) (err error)
-//sys	Mlock(b []byte) (err error)
-//sys	Mlockall(flags int) (err error)
-//sys	Msync(b []byte, flags int) (err error)
-//sys	Munlock(b []byte) (err error)
-//sys	Munlockall() (err error)
-
-//sysnb pipe(p *[2]_C_int) (err error)
-
-func Pipe(p []int) (err error) {
-	if len(p) != 2 {
-		return EINVAL
-	}
-	var pp [2]_C_int
-	err = pipe(&pp)
-	p[0] = int(pp[0])
-	p[1] = int(pp[1])
-	return
-}
-
-//sys	poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
-	if len(fds) == 0 {
-		return poll(nil, 0, timeout)
-	}
-	return poll(&fds[0], len(fds), timeout)
-}
-
-//sys	gettimeofday(tv *Timeval, tzp *Timezone) (err error)
-//sysnb	Time(t *Time_t) (tt Time_t, err error)
-//sys	Utime(path string, buf *Utimbuf) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
deleted file mode 100644
index c28af1f..0000000
--- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2018 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.
-
-// +build aix
-// +build ppc
-
-package unix
-
-//sysnb	Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64
-//sysnb	Setrlimit(resource int, rlim *Rlimit) (err error) = setrlimit64
-//sys	Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64
-
-//sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
-
-func setTimespec(sec, nsec int64) Timespec {
-	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
-}
-
-func setTimeval(sec, usec int64) Timeval {
-	return Timeval{Sec: int32(sec), Usec: int32(usec)}
-}
-
-func (iov *Iovec) SetLen(length int) {
-	iov.Len = uint32(length)
-}
-
-func (msghdr *Msghdr) SetControllen(length int) {
-	msghdr.Controllen = uint32(length)
-}
-
-func (cmsg *Cmsghdr) SetLen(length int) {
-	cmsg.Len = uint32(length)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
deleted file mode 100644
index 881cacc..0000000
--- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2018 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.
-
-// +build aix
-// +build ppc64
-
-package unix
-
-//sysnb	Getrlimit(resource int, rlim *Rlimit) (err error)
-//sysnb	Setrlimit(resource int, rlim *Rlimit) (err error)
-//sys	Seek(fd int, offset int64, whence int) (off int64, err error) = lseek
-
-//sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64
-
-func setTimespec(sec, nsec int64) Timespec {
-	return Timespec{Sec: sec, Nsec: nsec}
-}
-
-func setTimeval(sec, usec int64) Timeval {
-	return Timeval{Sec: int64(sec), Usec: int32(usec)}
-}
-
-func (iov *Iovec) SetLen(length int) {
-	iov.Len = uint64(length)
-}
-
-func (msghdr *Msghdr) SetControllen(length int) {
-	msghdr.Controllen = uint32(length)
-}
-
-func (cmsg *Cmsghdr) SetLen(length int) {
-	cmsg.Len = uint32(length)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go
index 33c8b5f..53fb851 100644
--- a/vendor/golang.org/x/sys/unix/syscall_bsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go
@@ -206,7 +206,7 @@ func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) {
 	return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil
 }
 
-func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
+func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
 	switch rsa.Addr.Family {
 	case AF_LINK:
 		pp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa))
@@ -286,7 +286,7 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) {
 		Close(nfd)
 		return 0, nil, ECONNABORTED
 	}
-	sa, err = anyToSockaddr(fd, &rsa)
+	sa, err = anyToSockaddr(&rsa)
 	if err != nil {
 		Close(nfd)
 		nfd = 0
@@ -306,7 +306,7 @@ func Getsockname(fd int) (sa Sockaddr, err error) {
 		rsa.Addr.Family = AF_UNIX
 		rsa.Addr.Len = SizeofSockaddrUnix
 	}
-	return anyToSockaddr(fd, &rsa)
+	return anyToSockaddr(&rsa)
 }
 
 //sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
@@ -356,7 +356,7 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from
 	recvflags = int(msg.Flags)
 	// source address is only specified if the socket is unconnected
 	if rsa.Addr.Family != AF_UNSPEC {
-		from, err = anyToSockaddr(fd, &rsa)
+		from, err = anyToSockaddr(&rsa)
 	}
 	return
 }
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go
index 1aabc56..79e9476 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go
@@ -199,13 +199,7 @@ func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
 	return getxattr(link, attr, xattrPointer(dest), len(dest), 0, XATTR_NOFOLLOW)
 }
 
-//sys	fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error)
-
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	return fgetxattr(fd, attr, xattrPointer(dest), len(dest), 0, 0)
-}
-
-//sys	setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error)
+//sys  setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error)
 
 func Setxattr(path string, attr string, data []byte, flags int) (err error) {
 	// The parameters for the OS X implementation vary slightly compared to the
@@ -241,13 +235,7 @@ func Lsetxattr(link string, attr string, data []byte, flags int) (err error) {
 	return setxattr(link, attr, xattrPointer(data), len(data), 0, flags|XATTR_NOFOLLOW)
 }
 
-//sys	fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error)
-
-func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
-	return fsetxattr(fd, attr, xattrPointer(data), len(data), 0, 0)
-}
-
-//sys	removexattr(path string, attr string, options int) (err error)
+//sys removexattr(path string, attr string, options int) (err error)
 
 func Removexattr(path string, attr string) (err error) {
 	// We wrap around and explicitly zero out the options provided to the OS X
@@ -260,12 +248,6 @@ func Lremovexattr(link string, attr string) (err error) {
 	return removexattr(link, attr, XATTR_NOFOLLOW)
 }
 
-//sys	fremovexattr(fd int, attr string, options int) (err error)
-
-func Fremovexattr(fd int, attr string) (err error) {
-	return fremovexattr(fd, attr, 0)
-}
-
 //sys	listxattr(path string, dest *byte, size int, options int) (sz int, err error)
 
 func Listxattr(path string, dest []byte) (sz int, err error) {
@@ -276,12 +258,6 @@ func Llistxattr(link string, dest []byte) (sz int, err error) {
 	return listxattr(link, xattrPointer(dest), len(dest), XATTR_NOFOLLOW)
 }
 
-//sys	flistxattr(fd int, dest *byte, size int, options int) (sz int, err error)
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	return flistxattr(fd, xattrPointer(dest), len(dest), 0)
-}
-
 func setattrlistTimes(path string, times []Timespec, flags int) error {
 	_p0, err := BytePtrFromString(path)
 	if err != nil {
@@ -337,11 +313,11 @@ func IoctlSetInt(fd int, req uint, value int) error {
 	return ioctl(fd, req, uintptr(value))
 }
 
-func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
+func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
-func ioctlSetTermios(fd int, req uint, value *Termios) error {
+func IoctlSetTermios(fd int, req uint, value *Termios) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
@@ -553,6 +529,10 @@ func Uname(uname *Utsname) error {
 // Watchevent
 // Waitevent
 // Modwatch
+// Fgetxattr
+// Fsetxattr
+// Fremovexattr
+// Flistxattr
 // Fsctl
 // Initgroups
 // Posix_spawn
diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
index 79d125b..b5072de 100644
--- a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
@@ -87,7 +87,7 @@ func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {
 	if len > SizeofSockaddrAny {
 		panic("RawSockaddrAny too small")
 	}
-	sa, err = anyToSockaddr(fd, &rsa)
+	sa, err = anyToSockaddr(&rsa)
 	if err != nil {
 		Close(nfd)
 		nfd = 0
@@ -143,11 +143,11 @@ func IoctlSetInt(fd int, req uint, value int) error {
 	return ioctl(fd, req, uintptr(value))
 }
 
-func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
+func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
-func ioctlSetTermios(fd int, req uint, value *Termios) error {
+func IoctlSetTermios(fd int, req uint, value *Termios) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
index 085a808..ba9df4a 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
@@ -13,34 +13,10 @@
 package unix
 
 import (
-	"sync"
+	"strings"
 	"unsafe"
 )
 
-const (
-	SYS_FSTAT_FREEBSD12         = 551 // { int fstat(int fd, _Out_ struct stat *sb); }
-	SYS_FSTATAT_FREEBSD12       = 552 // { int fstatat(int fd, _In_z_ char *path, \
-	SYS_GETDIRENTRIES_FREEBSD12 = 554 // { ssize_t getdirentries(int fd, \
-	SYS_STATFS_FREEBSD12        = 555 // { int statfs(_In_z_ char *path, \
-	SYS_FSTATFS_FREEBSD12       = 556 // { int fstatfs(int fd, \
-	SYS_GETFSSTAT_FREEBSD12     = 557 // { int getfsstat( \
-	SYS_MKNODAT_FREEBSD12       = 559 // { int mknodat(int fd, _In_z_ char *path, \
-)
-
-// See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html.
-var (
-	osreldateOnce sync.Once
-	osreldate     uint32
-)
-
-// INO64_FIRST from /usr/src/lib/libc/sys/compat-ino64.h
-const _ino64First = 1200031
-
-func supportsABI(ver uint32) bool {
-	osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") })
-	return osreldate >= ver
-}
-
 // SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
 type SockaddrDatalink struct {
 	Len    uint8
@@ -82,21 +58,14 @@ func nametomib(name string) (mib []_C_int, err error) {
 	return buf[0 : n/siz], nil
 }
 
-func Pipe(p []int) (err error) {
-	return Pipe2(p, 0)
-}
-
-//sysnb	pipe2(p *[2]_C_int, flags int) (err error)
+//sysnb pipe() (r int, w int, err error)
 
-func Pipe2(p []int, flags int) error {
+func Pipe(p []int) (err error) {
 	if len(p) != 2 {
 		return EINVAL
 	}
-	var pp [2]_C_int
-	err := pipe2(&pp, flags)
-	p[0] = int(pp[0])
-	p[1] = int(pp[1])
-	return err
+	p[0], p[1], err = pipe()
+	return
 }
 
 func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
@@ -120,7 +89,7 @@ func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {
 	if len > SizeofSockaddrAny {
 		panic("RawSockaddrAny too small")
 	}
-	sa, err = anyToSockaddr(fd, &rsa)
+	sa, err = anyToSockaddr(&rsa)
 	if err != nil {
 		Close(nfd)
 		nfd = 0
@@ -146,39 +115,17 @@ func Getwd() (string, error) {
 }
 
 func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
-	var (
-		_p0          unsafe.Pointer
-		bufsize      uintptr
-		oldBuf       []statfs_freebsd11_t
-		needsConvert bool
-	)
-
+	var _p0 unsafe.Pointer
+	var bufsize uintptr
 	if len(buf) > 0 {
-		if supportsABI(_ino64First) {
-			_p0 = unsafe.Pointer(&buf[0])
-			bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))
-		} else {
-			n := len(buf)
-			oldBuf = make([]statfs_freebsd11_t, n)
-			_p0 = unsafe.Pointer(&oldBuf[0])
-			bufsize = unsafe.Sizeof(statfs_freebsd11_t{}) * uintptr(n)
-			needsConvert = true
-		}
-	}
-	var sysno uintptr = SYS_GETFSSTAT
-	if supportsABI(_ino64First) {
-		sysno = SYS_GETFSSTAT_FREEBSD12
+		_p0 = unsafe.Pointer(&buf[0])
+		bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))
 	}
-	r0, _, e1 := Syscall(sysno, uintptr(_p0), bufsize, uintptr(flags))
+	r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))
 	n = int(r0)
 	if e1 != 0 {
 		err = e1
 	}
-	if e1 == 0 && needsConvert {
-		for i := range oldBuf {
-			buf[i].convertFrom(&oldBuf[i])
-		}
-	}
 	return
 }
 
@@ -187,6 +134,225 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
 	return ENOSYS
 }
 
+// Derive extattr namespace and attribute name
+
+func xattrnamespace(fullattr string) (ns int, attr string, err error) {
+	s := strings.IndexByte(fullattr, '.')
+	if s == -1 {
+		return -1, "", ENOATTR
+	}
+
+	namespace := fullattr[0:s]
+	attr = fullattr[s+1:]
+
+	switch namespace {
+	case "user":
+		return EXTATTR_NAMESPACE_USER, attr, nil
+	case "system":
+		return EXTATTR_NAMESPACE_SYSTEM, attr, nil
+	default:
+		return -1, "", ENOATTR
+	}
+}
+
+func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) {
+	if len(dest) > idx {
+		return unsafe.Pointer(&dest[idx])
+	} else {
+		return unsafe.Pointer(_zero)
+	}
+}
+
+// FreeBSD implements its own syscalls to handle extended attributes
+
+func Getxattr(file string, attr string, dest []byte) (sz int, err error) {
+	d := initxattrdest(dest, 0)
+	destsize := len(dest)
+
+	nsid, a, err := xattrnamespace(attr)
+	if err != nil {
+		return -1, err
+	}
+
+	return ExtattrGetFile(file, nsid, a, uintptr(d), destsize)
+}
+
+func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
+	d := initxattrdest(dest, 0)
+	destsize := len(dest)
+
+	nsid, a, err := xattrnamespace(attr)
+	if err != nil {
+		return -1, err
+	}
+
+	return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize)
+}
+
+func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
+	d := initxattrdest(dest, 0)
+	destsize := len(dest)
+
+	nsid, a, err := xattrnamespace(attr)
+	if err != nil {
+		return -1, err
+	}
+
+	return ExtattrGetLink(link, nsid, a, uintptr(d), destsize)
+}
+
+// flags are unused on FreeBSD
+
+func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
+	d := unsafe.Pointer(&data[0])
+	datasiz := len(data)
+
+	nsid, a, err := xattrnamespace(attr)
+	if err != nil {
+		return
+	}
+
+	_, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz)
+	return
+}
+
+func Setxattr(file string, attr string, data []byte, flags int) (err error) {
+	d := unsafe.Pointer(&data[0])
+	datasiz := len(data)
+
+	nsid, a, err := xattrnamespace(attr)
+	if err != nil {
+		return
+	}
+
+	_, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz)
+	return
+}
+
+func Lsetxattr(link string, attr string, data []byte, flags int) (err error) {
+	d := unsafe.Pointer(&data[0])
+	datasiz := len(data)
+
+	nsid, a, err := xattrnamespace(attr)
+	if err != nil {
+		return
+	}
+
+	_, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz)
+	return
+}
+
+func Removexattr(file string, attr string) (err error) {
+	nsid, a, err := xattrnamespace(attr)
+	if err != nil {
+		return
+	}
+
+	err = ExtattrDeleteFile(file, nsid, a)
+	return
+}
+
+func Fremovexattr(fd int, attr string) (err error) {
+	nsid, a, err := xattrnamespace(attr)
+	if err != nil {
+		return
+	}
+
+	err = ExtattrDeleteFd(fd, nsid, a)
+	return
+}
+
+func Lremovexattr(link string, attr string) (err error) {
+	nsid, a, err := xattrnamespace(attr)
+	if err != nil {
+		return
+	}
+
+	err = ExtattrDeleteLink(link, nsid, a)
+	return
+}
+
+func Listxattr(file string, dest []byte) (sz int, err error) {
+	d := initxattrdest(dest, 0)
+	destsiz := len(dest)
+
+	// FreeBSD won't allow you to list xattrs from multiple namespaces
+	s := 0
+	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
+		stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz)
+
+		/* Errors accessing system attrs are ignored so that
+		 * we can implement the Linux-like behavior of omitting errors that
+		 * we don't have read permissions on
+		 *
+		 * Linux will still error if we ask for user attributes on a file that
+		 * we don't have read permissions on, so don't ignore those errors
+		 */
+		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
+			continue
+		} else if e != nil {
+			return s, e
+		}
+
+		s += stmp
+		destsiz -= s
+		if destsiz < 0 {
+			destsiz = 0
+		}
+		d = initxattrdest(dest, s)
+	}
+
+	return s, nil
+}
+
+func Flistxattr(fd int, dest []byte) (sz int, err error) {
+	d := initxattrdest(dest, 0)
+	destsiz := len(dest)
+
+	s := 0
+	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
+		stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz)
+		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
+			continue
+		} else if e != nil {
+			return s, e
+		}
+
+		s += stmp
+		destsiz -= s
+		if destsiz < 0 {
+			destsiz = 0
+		}
+		d = initxattrdest(dest, s)
+	}
+
+	return s, nil
+}
+
+func Llistxattr(link string, dest []byte) (sz int, err error) {
+	d := initxattrdest(dest, 0)
+	destsiz := len(dest)
+
+	s := 0
+	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
+		stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz)
+		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
+			continue
+		} else if e != nil {
+			return s, e
+		}
+
+		s += stmp
+		destsiz -= s
+		if destsiz < 0 {
+			destsiz = 0
+		}
+		d = initxattrdest(dest, s)
+	}
+
+	return s, nil
+}
+
 //sys   ioctl(fd int, req uint, arg uintptr) (err error)
 
 // ioctl itself should not be exposed directly, but additional get/set
@@ -198,11 +364,11 @@ func IoctlSetInt(fd int, req uint, value int) error {
 	return ioctl(fd, req, uintptr(value))
 }
 
-func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
+func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
-func ioctlSetTermios(fd int, req uint, value *Termios) error {
+func IoctlSetTermios(fd int, req uint, value *Termios) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
@@ -272,234 +438,6 @@ func Uname(uname *Utsname) error {
 	return nil
 }
 
-func Stat(path string, st *Stat_t) (err error) {
-	var oldStat stat_freebsd11_t
-	if supportsABI(_ino64First) {
-		return fstatat_freebsd12(AT_FDCWD, path, st, 0)
-	}
-	err = stat(path, &oldStat)
-	if err != nil {
-		return err
-	}
-
-	st.convertFrom(&oldStat)
-	return nil
-}
-
-func Lstat(path string, st *Stat_t) (err error) {
-	var oldStat stat_freebsd11_t
-	if supportsABI(_ino64First) {
-		return fstatat_freebsd12(AT_FDCWD, path, st, AT_SYMLINK_NOFOLLOW)
-	}
-	err = lstat(path, &oldStat)
-	if err != nil {
-		return err
-	}
-
-	st.convertFrom(&oldStat)
-	return nil
-}
-
-func Fstat(fd int, st *Stat_t) (err error) {
-	var oldStat stat_freebsd11_t
-	if supportsABI(_ino64First) {
-		return fstat_freebsd12(fd, st)
-	}
-	err = fstat(fd, &oldStat)
-	if err != nil {
-		return err
-	}
-
-	st.convertFrom(&oldStat)
-	return nil
-}
-
-func Fstatat(fd int, path string, st *Stat_t, flags int) (err error) {
-	var oldStat stat_freebsd11_t
-	if supportsABI(_ino64First) {
-		return fstatat_freebsd12(fd, path, st, flags)
-	}
-	err = fstatat(fd, path, &oldStat, flags)
-	if err != nil {
-		return err
-	}
-
-	st.convertFrom(&oldStat)
-	return nil
-}
-
-func Statfs(path string, st *Statfs_t) (err error) {
-	var oldStatfs statfs_freebsd11_t
-	if supportsABI(_ino64First) {
-		return statfs_freebsd12(path, st)
-	}
-	err = statfs(path, &oldStatfs)
-	if err != nil {
-		return err
-	}
-
-	st.convertFrom(&oldStatfs)
-	return nil
-}
-
-func Fstatfs(fd int, st *Statfs_t) (err error) {
-	var oldStatfs statfs_freebsd11_t
-	if supportsABI(_ino64First) {
-		return fstatfs_freebsd12(fd, st)
-	}
-	err = fstatfs(fd, &oldStatfs)
-	if err != nil {
-		return err
-	}
-
-	st.convertFrom(&oldStatfs)
-	return nil
-}
-
-func Getdents(fd int, buf []byte) (n int, err error) {
-	return Getdirentries(fd, buf, nil)
-}
-
-func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
-	if supportsABI(_ino64First) {
-		return getdirentries_freebsd12(fd, buf, basep)
-	}
-
-	// The old syscall entries are smaller than the new. Use 1/4 of the original
-	// buffer size rounded up to DIRBLKSIZ (see /usr/src/lib/libc/sys/getdirentries.c).
-	oldBufLen := roundup(len(buf)/4, _dirblksiz)
-	oldBuf := make([]byte, oldBufLen)
-	n, err = getdirentries(fd, oldBuf, basep)
-	if err == nil && n > 0 {
-		n = convertFromDirents11(buf, oldBuf[:n])
-	}
-	return
-}
-
-func Mknod(path string, mode uint32, dev uint64) (err error) {
-	var oldDev int
-	if supportsABI(_ino64First) {
-		return mknodat_freebsd12(AT_FDCWD, path, mode, dev)
-	}
-	oldDev = int(dev)
-	return mknod(path, mode, oldDev)
-}
-
-func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) {
-	var oldDev int
-	if supportsABI(_ino64First) {
-		return mknodat_freebsd12(fd, path, mode, dev)
-	}
-	oldDev = int(dev)
-	return mknodat(fd, path, mode, oldDev)
-}
-
-// round x to the nearest multiple of y, larger or equal to x.
-//
-// from /usr/include/sys/param.h Macros for counting and rounding.
-// #define roundup(x, y)   ((((x)+((y)-1))/(y))*(y))
-func roundup(x, y int) int {
-	return ((x + y - 1) / y) * y
-}
-
-func (s *Stat_t) convertFrom(old *stat_freebsd11_t) {
-	*s = Stat_t{
-		Dev:      uint64(old.Dev),
-		Ino:      uint64(old.Ino),
-		Nlink:    uint64(old.Nlink),
-		Mode:     old.Mode,
-		Uid:      old.Uid,
-		Gid:      old.Gid,
-		Rdev:     uint64(old.Rdev),
-		Atim:     old.Atim,
-		Mtim:     old.Mtim,
-		Ctim:     old.Ctim,
-		Birthtim: old.Birthtim,
-		Size:     old.Size,
-		Blocks:   old.Blocks,
-		Blksize:  old.Blksize,
-		Flags:    old.Flags,
-		Gen:      uint64(old.Gen),
-	}
-}
-
-func (s *Statfs_t) convertFrom(old *statfs_freebsd11_t) {
-	*s = Statfs_t{
-		Version:     _statfsVersion,
-		Type:        old.Type,
-		Flags:       old.Flags,
-		Bsize:       old.Bsize,
-		Iosize:      old.Iosize,
-		Blocks:      old.Blocks,
-		Bfree:       old.Bfree,
-		Bavail:      old.Bavail,
-		Files:       old.Files,
-		Ffree:       old.Ffree,
-		Syncwrites:  old.Syncwrites,
-		Asyncwrites: old.Asyncwrites,
-		Syncreads:   old.Syncreads,
-		Asyncreads:  old.Asyncreads,
-		// Spare
-		Namemax: old.Namemax,
-		Owner:   old.Owner,
-		Fsid:    old.Fsid,
-		// Charspare
-		// Fstypename
-		// Mntfromname
-		// Mntonname
-	}
-
-	sl := old.Fstypename[:]
-	n := clen(*(*[]byte)(unsafe.Pointer(&sl)))
-	copy(s.Fstypename[:], old.Fstypename[:n])
-
-	sl = old.Mntfromname[:]
-	n = clen(*(*[]byte)(unsafe.Pointer(&sl)))
-	copy(s.Mntfromname[:], old.Mntfromname[:n])
-
-	sl = old.Mntonname[:]
-	n = clen(*(*[]byte)(unsafe.Pointer(&sl)))
-	copy(s.Mntonname[:], old.Mntonname[:n])
-}
-
-func convertFromDirents11(buf []byte, old []byte) int {
-	const (
-		fixedSize    = int(unsafe.Offsetof(Dirent{}.Name))
-		oldFixedSize = int(unsafe.Offsetof(dirent_freebsd11{}.Name))
-	)
-
-	dstPos := 0
-	srcPos := 0
-	for dstPos+fixedSize < len(buf) && srcPos+oldFixedSize < len(old) {
-		dstDirent := (*Dirent)(unsafe.Pointer(&buf[dstPos]))
-		srcDirent := (*dirent_freebsd11)(unsafe.Pointer(&old[srcPos]))
-
-		reclen := roundup(fixedSize+int(srcDirent.Namlen)+1, 8)
-		if dstPos+reclen > len(buf) {
-			break
-		}
-
-		dstDirent.Fileno = uint64(srcDirent.Fileno)
-		dstDirent.Off = 0
-		dstDirent.Reclen = uint16(reclen)
-		dstDirent.Type = srcDirent.Type
-		dstDirent.Pad0 = 0
-		dstDirent.Namlen = uint16(srcDirent.Namlen)
-		dstDirent.Pad1 = 0
-
-		copy(dstDirent.Name[:], srcDirent.Name[:srcDirent.Namlen])
-		padding := buf[dstPos+fixedSize+int(dstDirent.Namlen) : dstPos+reclen]
-		for i := range padding {
-			padding[i] = 0
-		}
-
-		dstPos += int(dstDirent.Reclen)
-		srcPos += int(srcDirent.Reclen)
-	}
-
-	return dstPos
-}
-
 /*
  * Exposed directly
  */
@@ -539,16 +477,13 @@ func convertFromDirents11(buf []byte, old []byte) int {
 //sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
 //sys	Flock(fd int, how int) (err error)
 //sys	Fpathconf(fd int, name int) (val int, err error)
-//sys	fstat(fd int, stat *stat_freebsd11_t) (err error)
-//sys	fstat_freebsd12(fd int, stat *Stat_t) (err error)
-//sys	fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error)
-//sys	fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error)
-//sys	fstatfs(fd int, stat *statfs_freebsd11_t) (err error)
-//sys	fstatfs_freebsd12(fd int, stat *Statfs_t) (err error)
+//sys	Fstat(fd int, stat *Stat_t) (err error)
+//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
+//sys	Fstatfs(fd int, stat *Statfs_t) (err error)
 //sys	Fsync(fd int) (err error)
 //sys	Ftruncate(fd int, length int64) (err error)
-//sys	getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
-//sys	getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error)
+//sys	Getdents(fd int, buf []byte) (n int, err error)
+//sys	Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
 //sys	Getdtablesize() (size int)
 //sysnb	Getegid() (egid int)
 //sysnb	Geteuid() (uid int)
@@ -570,13 +505,11 @@ func convertFromDirents11(buf []byte, old []byte) int {
 //sys	Link(path string, link string) (err error)
 //sys	Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error)
 //sys	Listen(s int, backlog int) (err error)
-//sys	lstat(path string, stat *stat_freebsd11_t) (err error)
+//sys	Lstat(path string, stat *Stat_t) (err error)
 //sys	Mkdir(path string, mode uint32) (err error)
 //sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
 //sys	Mkfifo(path string, mode uint32) (err error)
-//sys	mknod(path string, mode uint32, dev int) (err error)
-//sys	mknodat(fd int, path string, mode uint32, dev int) (err error)
-//sys	mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error)
+//sys	Mknod(path string, mode uint32, dev int) (err error)
 //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
 //sys	Open(path string, mode int, perm uint32) (fd int, err error)
 //sys	Openat(fdat int, path string, mode int, perm uint32) (fd int, err error)
@@ -606,9 +539,8 @@ func convertFromDirents11(buf []byte, old []byte) int {
 //sysnb	Setsid() (pid int, err error)
 //sysnb	Settimeofday(tp *Timeval) (err error)
 //sysnb	Setuid(uid int) (err error)
-//sys	stat(path string, stat *stat_freebsd11_t) (err error)
-//sys	statfs(path string, stat *statfs_freebsd11_t) (err error)
-//sys	statfs_freebsd12(path string, stat *Statfs_t) (err error)
+//sys	Stat(path string, stat *Stat_t) (err error)
+//sys	Statfs(path string, stat *Statfs_t) (err error)
 //sys	Symlink(path string, link string) (err error)
 //sys	Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
 //sys	Sync() (err error)
@@ -663,7 +595,6 @@ func convertFromDirents11(buf []byte, old []byte) int {
 // Kqueue_portset
 // Getattrlist
 // Setattrlist
-// Getdents
 // Getdirentriesattr
 // Searchfs
 // Delete
@@ -671,6 +602,14 @@ func convertFromDirents11(buf []byte, old []byte) int {
 // Watchevent
 // Waitevent
 // Modwatch
+// Getxattr
+// Fgetxattr
+// Setxattr
+// Fsetxattr
+// Removexattr
+// Fremovexattr
+// Listxattr
+// Flistxattr
 // Fsctl
 // Initgroups
 // Posix_spawn
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go
index 84aa8ea..9908030 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go
@@ -61,11 +61,11 @@ func IoctlSetInt(fd int, req uint, value int) error {
 	return ioctl(fd, req, uintptr(value))
 }
 
-func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
+func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
-func ioctlSetTermios(fd int, req uint, value *Termios) error {
+func IoctlSetTermios(fd int, req uint, value *Termios) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
@@ -489,47 +489,6 @@ func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) {
 	return unsafe.Pointer(&sa.raw), SizeofSockaddrL2, nil
 }
 
-// SockaddrRFCOMM implements the Sockaddr interface for AF_BLUETOOTH type sockets
-// using the RFCOMM protocol.
-//
-// Server example:
-//
-//      fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)
-//      _ = unix.Bind(fd, &unix.SockaddrRFCOMM{
-//      	Channel: 1,
-//      	Addr:    [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00
-//      })
-//      _ = Listen(fd, 1)
-//      nfd, sa, _ := Accept(fd)
-//      fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd)
-//      Read(nfd, buf)
-//
-// Client example:
-//
-//      fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)
-//      _ = Connect(fd, &SockaddrRFCOMM{
-//      	Channel: 1,
-//      	Addr:    [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11
-//      })
-//      Write(fd, []byte(`hello`))
-type SockaddrRFCOMM struct {
-	// Addr represents a bluetooth address, byte ordering is little-endian.
-	Addr [6]uint8
-
-	// Channel is a designated bluetooth channel, only 1-30 are available for use.
-	// Since Linux 2.6.7 and further zero value is the first available channel.
-	Channel uint8
-
-	raw RawSockaddrRFCOMM
-}
-
-func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) {
-	sa.raw.Family = AF_BLUETOOTH
-	sa.raw.Channel = sa.Channel
-	sa.raw.Bdaddr = sa.Addr
-	return unsafe.Pointer(&sa.raw), SizeofSockaddrRFCOMM, nil
-}
-
 // SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets.
 // The RxID and TxID fields are used for transport protocol addressing in
 // (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with
@@ -692,25 +651,7 @@ func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) {
 	return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil
 }
 
-type SockaddrXDP struct {
-	Flags        uint16
-	Ifindex      uint32
-	QueueID      uint32
-	SharedUmemFD uint32
-	raw          RawSockaddrXDP
-}
-
-func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) {
-	sa.raw.Family = AF_XDP
-	sa.raw.Flags = sa.Flags
-	sa.raw.Ifindex = sa.Ifindex
-	sa.raw.Queue_id = sa.QueueID
-	sa.raw.Shared_umem_fd = sa.SharedUmemFD
-
-	return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil
-}
-
-func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
+func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
 	switch rsa.Addr.Family {
 	case AF_NETLINK:
 		pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa))
@@ -787,39 +728,6 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
 			Port: pp.Port,
 		}
 		return sa, nil
-	case AF_BLUETOOTH:
-		proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL)
-		if err != nil {
-			return nil, err
-		}
-		// only BTPROTO_L2CAP and BTPROTO_RFCOMM can accept connections
-		switch proto {
-		case BTPROTO_L2CAP:
-			pp := (*RawSockaddrL2)(unsafe.Pointer(rsa))
-			sa := &SockaddrL2{
-				PSM:      pp.Psm,
-				CID:      pp.Cid,
-				Addr:     pp.Bdaddr,
-				AddrType: pp.Bdaddr_type,
-			}
-			return sa, nil
-		case BTPROTO_RFCOMM:
-			pp := (*RawSockaddrRFCOMM)(unsafe.Pointer(rsa))
-			sa := &SockaddrRFCOMM{
-				Channel: pp.Channel,
-				Addr:    pp.Bdaddr,
-			}
-			return sa, nil
-		}
-	case AF_XDP:
-		pp := (*RawSockaddrXDP)(unsafe.Pointer(rsa))
-		sa := &SockaddrXDP{
-			Flags:        pp.Flags,
-			Ifindex:      pp.Ifindex,
-			QueueID:      pp.Queue_id,
-			SharedUmemFD: pp.Shared_umem_fd,
-		}
-		return sa, nil
 	}
 	return nil, EAFNOSUPPORT
 }
@@ -831,7 +739,7 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) {
 	if err != nil {
 		return
 	}
-	sa, err = anyToSockaddr(fd, &rsa)
+	sa, err = anyToSockaddr(&rsa)
 	if err != nil {
 		Close(nfd)
 		nfd = 0
@@ -849,7 +757,7 @@ func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
 	if len > SizeofSockaddrAny {
 		panic("RawSockaddrAny too small")
 	}
-	sa, err = anyToSockaddr(fd, &rsa)
+	sa, err = anyToSockaddr(&rsa)
 	if err != nil {
 		Close(nfd)
 		nfd = 0
@@ -863,7 +771,7 @@ func Getsockname(fd int) (sa Sockaddr, err error) {
 	if err = getsockname(fd, &rsa, &len); err != nil {
 		return
 	}
-	return anyToSockaddr(fd, &rsa)
+	return anyToSockaddr(&rsa)
 }
 
 func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
@@ -1052,7 +960,7 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from
 	recvflags = int(msg.Flags)
 	// source address is only specified if the socket is unconnected
 	if rsa.Addr.Family != AF_UNSPEC {
-		from, err = anyToSockaddr(fd, &rsa)
+		from, err = anyToSockaddr(&rsa)
 	}
 	return
 }
@@ -1122,7 +1030,7 @@ func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err erro
 	// The ptrace syscall differs from glibc's ptrace.
 	// Peeks returns the word in *data, not as the return value.
 
-	var buf [SizeofPtr]byte
+	var buf [sizeofPtr]byte
 
 	// Leading edge. PEEKTEXT/PEEKDATA don't require aligned
 	// access (PEEKUSER warns that it might), but if we don't
@@ -1130,12 +1038,12 @@ func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err erro
 	// boundary and not get the bytes leading up to the page
 	// boundary.
 	n := 0
-	if addr%SizeofPtr != 0 {
-		err = ptrace(req, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
+	if addr%sizeofPtr != 0 {
+		err = ptrace(req, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
 		if err != nil {
 			return 0, err
 		}
-		n += copy(out, buf[addr%SizeofPtr:])
+		n += copy(out, buf[addr%sizeofPtr:])
 		out = out[n:]
 	}
 
@@ -1173,15 +1081,15 @@ func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (c
 
 	// Leading edge.
 	n := 0
-	if addr%SizeofPtr != 0 {
-		var buf [SizeofPtr]byte
-		err = ptrace(peekReq, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
+	if addr%sizeofPtr != 0 {
+		var buf [sizeofPtr]byte
+		err = ptrace(peekReq, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
 		if err != nil {
 			return 0, err
 		}
-		n += copy(buf[addr%SizeofPtr:], data)
+		n += copy(buf[addr%sizeofPtr:], data)
 		word := *((*uintptr)(unsafe.Pointer(&buf[0])))
-		err = ptrace(pokeReq, pid, addr-addr%SizeofPtr, word)
+		err = ptrace(pokeReq, pid, addr-addr%sizeofPtr, word)
 		if err != nil {
 			return 0, err
 		}
@@ -1189,19 +1097,19 @@ func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (c
 	}
 
 	// Interior.
-	for len(data) > SizeofPtr {
+	for len(data) > sizeofPtr {
 		word := *((*uintptr)(unsafe.Pointer(&data[0])))
 		err = ptrace(pokeReq, pid, addr+uintptr(n), word)
 		if err != nil {
 			return n, err
 		}
-		n += SizeofPtr
-		data = data[SizeofPtr:]
+		n += sizeofPtr
+		data = data[sizeofPtr:]
 	}
 
 	// Trailing edge.
 	if len(data) > 0 {
-		var buf [SizeofPtr]byte
+		var buf [sizeofPtr]byte
 		err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0])))
 		if err != nil {
 			return n, err
@@ -1300,11 +1208,9 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri
 //sys	Adjtimex(buf *Timex) (state int, err error)
 //sys	Chdir(path string) (err error)
 //sys	Chroot(path string) (err error)
-//sys	ClockGetres(clockid int32, res *Timespec) (err error)
 //sys	ClockGettime(clockid int32, time *Timespec) (err error)
 //sys	Close(fd int) (err error)
 //sys	CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)
-//sys	DeleteModule(name string, flags int) (err error)
 //sys	Dup(oldfd int) (fd int, err error)
 //sys	Dup3(oldfd int, newfd int, flags int) (err error)
 //sysnb	EpollCreate1(flag int) (fd int, err error)
@@ -1317,12 +1223,7 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri
 //sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
 //sys	fcntl(fd int, cmd int, arg int) (val int, err error)
 //sys	Fdatasync(fd int) (err error)
-//sys	Fgetxattr(fd int, attr string, dest []byte) (sz int, err error)
-//sys	FinitModule(fd int, params string, flags int) (err error)
-//sys	Flistxattr(fd int, dest []byte) (sz int, err error)
 //sys	Flock(fd int, how int) (err error)
-//sys	Fremovexattr(fd int, attr string) (err error)
-//sys	Fsetxattr(fd int, attr string, dest []byte, flags int) (err error)
 //sys	Fsync(fd int) (err error)
 //sys	Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64
 //sysnb	Getpgid(pid int) (pgid int, err error)
@@ -1340,7 +1241,6 @@ func Getpgrp() (pid int) {
 //sysnb	Getsid(pid int) (sid int, err error)
 //sysnb	Gettid() (tid int)
 //sys	Getxattr(path string, attr string, dest []byte) (sz int, err error)
-//sys	InitModule(moduleImage []byte, params string) (err error)
 //sys	InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error)
 //sysnb	InotifyInit1(flags int) (fd int, err error)
 //sysnb	InotifyRmWatch(fd int, watchdesc uint32) (success int, err error)
@@ -1351,7 +1251,6 @@ func Getpgrp() (pid int) {
 //sys	Llistxattr(path string, dest []byte) (sz int, err error)
 //sys	Lremovexattr(path string, attr string) (err error)
 //sys	Lsetxattr(path string, attr string, data []byte, flags int) (err error)
-//sys	MemfdCreate(name string, flags int) (fd int, err error)
 //sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
 //sys	Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
 //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
@@ -1363,7 +1262,6 @@ func Getpgrp() (pid int) {
 //sys	read(fd int, p []byte) (n int, err error)
 //sys	Removexattr(path string, attr string) (err error)
 //sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
-//sys	Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error)
 //sys	RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error)
 //sys	Setdomainname(p []byte) (err error)
 //sys	Sethostname(p []byte) (err error)
@@ -1452,70 +1350,10 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
 func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 	if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 {
 		return EINVAL
+	} else if flags&(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 {
+		return EOPNOTSUPP
 	}
-
-	// The Linux kernel faccessat system call does not take any flags.
-	// The glibc faccessat implements the flags itself; see
-	// https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;hb=HEAD
-	// Because people naturally expect syscall.Faccessat to act
-	// like C faccessat, we do the same.
-
-	if flags == 0 {
-		return faccessat(dirfd, path, mode)
-	}
-
-	var st Stat_t
-	if err := Fstatat(dirfd, path, &st, flags&AT_SYMLINK_NOFOLLOW); err != nil {
-		return err
-	}
-
-	mode &= 7
-	if mode == 0 {
-		return nil
-	}
-
-	var uid int
-	if flags&AT_EACCESS != 0 {
-		uid = Geteuid()
-	} else {
-		uid = Getuid()
-	}
-
-	if uid == 0 {
-		if mode&1 == 0 {
-			// Root can read and write any file.
-			return nil
-		}
-		if st.Mode&0111 != 0 {
-			// Root can execute any file that anybody can execute.
-			return nil
-		}
-		return EACCES
-	}
-
-	var fmode uint32
-	if uint32(uid) == st.Uid {
-		fmode = (st.Mode >> 6) & 7
-	} else {
-		var gid int
-		if flags&AT_EACCESS != 0 {
-			gid = Getegid()
-		} else {
-			gid = Getgid()
-		}
-
-		if uint32(gid) == st.Gid {
-			fmode = (st.Mode >> 3) & 7
-		} else {
-			fmode = st.Mode & 7
-		}
-	}
-
-	if fmode&mode == mode {
-		return nil
-	}
-
-	return EACCES
+	return faccessat(dirfd, path, mode)
 }
 
 /*
@@ -1527,14 +1365,21 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 // Brk
 // Capget
 // Capset
+// ClockGetres
 // ClockNanosleep
 // ClockSettime
 // Clone
+// CreateModule
+// DeleteModule
 // EpollCtlOld
 // EpollPwait
 // EpollWaitOld
 // Execve
+// Fgetxattr
+// Flistxattr
 // Fork
+// Fremovexattr
+// Fsetxattr
 // Futex
 // GetKernelSyms
 // GetMempolicy
@@ -1573,6 +1418,7 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 // Pselect6
 // Ptrace
 // Putpmsg
+// QueryModule
 // Quotactl
 // Readahead
 // Readv
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
index 5247d9f..5f9b245 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
@@ -160,16 +160,3 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
 	}
 	return poll(&fds[0], len(fds), timeout)
 }
-
-//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
-
-func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
-	cmdlineLen := len(cmdline)
-	if cmdlineLen > 0 {
-		// Account for the additional NULL byte added by
-		// BytePtrFromString in kexecFileLoad. The kexec_file_load
-		// syscall expects a NULL-terminated string.
-		cmdlineLen++
-	}
-	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
index fa5a9a6..646f295 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
@@ -191,9 +191,12 @@ func Dup2(oldfd int, newfd int) (err error) {
 	return Dup3(oldfd, newfd, 0)
 }
 
-func Pause() error {
-	_, err := ppoll(nil, 0, nil, nil)
-	return err
+func Pause() (err error) {
+	_, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0)
+	if e1 != 0 {
+		err = errnoErr(e1)
+	}
+	return
 }
 
 func Poll(fds []PollFd, timeout int) (n int, err error) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
index 99e0e99..0e05924 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
@@ -124,13 +124,14 @@ func Pipe2(p []int, flags int) (err error) {
 	return
 }
 
-//sysnb pipe() (p1 int, p2 int, err error)
-
 func Pipe(p []int) (err error) {
 	if len(p) != 2 {
 		return EINVAL
 	}
-	p[0], p[1], err = pipe()
+	var pp [2]_C_int
+	err = pipe2(&pp, 0)
+	p[0] = int(pp[0])
+	p[1] = int(pp[1])
 	return
 }
 
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
index 4145185..8c6720f 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
@@ -44,6 +44,7 @@ package unix
 //sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
 //sys	Stat(path string, stat *Stat_t) (err error)
 //sys	Statfs(path string, buf *Statfs_t) (err error)
+//sys	SyncFileRange(fd int, off int64, n int64, flags int) (err error) = SYS_SYNC_FILE_RANGE2
 //sys	Truncate(path string, length int64) (err error)
 //sys	Ustat(dev int, ubuf *Ustat_t) (err error)
 //sys	accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
@@ -128,24 +129,3 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
 	}
 	return poll(&fds[0], len(fds), timeout)
 }
-
-//sys	syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2
-
-func SyncFileRange(fd int, off int64, n int64, flags int) error {
-	// The sync_file_range and sync_file_range2 syscalls differ only in the
-	// order of their arguments.
-	return syncFileRange2(fd, flags, off, n)
-}
-
-//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
-
-func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
-	cmdlineLen := len(cmdline)
-	if cmdlineLen > 0 {
-		// Account for the additional NULL byte added by
-		// BytePtrFromString in kexecFileLoad. The kexec_file_load
-		// syscall expects a NULL-terminated string.
-		cmdlineLen++
-	}
-	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
deleted file mode 100644
index 44aa122..0000000
--- a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
+++ /dev/null
@@ -1,209 +0,0 @@
-// Copyright 2018 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.
-
-// +build riscv64,linux
-
-package unix
-
-import "unsafe"
-
-func EpollCreate(size int) (fd int, err error) {
-	if size <= 0 {
-		return -1, EINVAL
-	}
-	return EpollCreate1(0)
-}
-
-//sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
-//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
-//sys	Fchown(fd int, uid int, gid int) (err error)
-//sys	Fstat(fd int, stat *Stat_t) (err error)
-//sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
-//sys	Fstatfs(fd int, buf *Statfs_t) (err error)
-//sys	Ftruncate(fd int, length int64) (err error)
-//sysnb	Getegid() (egid int)
-//sysnb	Geteuid() (euid int)
-//sysnb	Getgid() (gid int)
-//sysnb	Getrlimit(resource int, rlim *Rlimit) (err error)
-//sysnb	Getuid() (uid int)
-//sys	Listen(s int, n int) (err error)
-//sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
-//sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
-//sys	Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
-
-func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
-	var ts *Timespec
-	if timeout != nil {
-		ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
-	}
-	return Pselect(nfd, r, w, e, ts, nil)
-}
-
-//sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
-//sys	Setfsgid(gid int) (err error)
-//sys	Setfsuid(uid int) (err error)
-//sysnb	Setregid(rgid int, egid int) (err error)
-//sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
-//sysnb	Setresuid(ruid int, euid int, suid int) (err error)
-//sysnb	Setrlimit(resource int, rlim *Rlimit) (err error)
-//sysnb	Setreuid(ruid int, euid int) (err error)
-//sys	Shutdown(fd int, how int) (err error)
-//sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
-
-func Stat(path string, stat *Stat_t) (err error) {
-	return Fstatat(AT_FDCWD, path, stat, 0)
-}
-
-func Lchown(path string, uid int, gid int) (err error) {
-	return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW)
-}
-
-func Lstat(path string, stat *Stat_t) (err error) {
-	return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW)
-}
-
-//sys	Statfs(path string, buf *Statfs_t) (err error)
-//sys	SyncFileRange(fd int, off int64, n int64, flags int) (err error)
-//sys	Truncate(path string, length int64) (err error)
-
-func Ustat(dev int, ubuf *Ustat_t) (err error) {
-	return ENOSYS
-}
-
-//sys	accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
-//sys	accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
-//sys	bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-//sys	connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
-//sysnb	getgroups(n int, list *_Gid_t) (nn int, err error)
-//sysnb	setgroups(n int, list *_Gid_t) (err error)
-//sys	getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)
-//sys	setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)
-//sysnb	socket(domain int, typ int, proto int) (fd int, err error)
-//sysnb	socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
-//sysnb	getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
-//sysnb	getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
-//sys	recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
-//sys	sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
-//sys	recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
-//sys	sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
-//sys	mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
-
-//sysnb	Gettimeofday(tv *Timeval) (err error)
-
-func setTimespec(sec, nsec int64) Timespec {
-	return Timespec{Sec: sec, Nsec: nsec}
-}
-
-func setTimeval(sec, usec int64) Timeval {
-	return Timeval{Sec: sec, Usec: usec}
-}
-
-func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
-	if tv == nil {
-		return utimensat(dirfd, path, nil, 0)
-	}
-
-	ts := []Timespec{
-		NsecToTimespec(TimevalToNsec(tv[0])),
-		NsecToTimespec(TimevalToNsec(tv[1])),
-	}
-	return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
-}
-
-func Time(t *Time_t) (Time_t, error) {
-	var tv Timeval
-	err := Gettimeofday(&tv)
-	if err != nil {
-		return 0, err
-	}
-	if t != nil {
-		*t = Time_t(tv.Sec)
-	}
-	return Time_t(tv.Sec), nil
-}
-
-func Utime(path string, buf *Utimbuf) error {
-	tv := []Timeval{
-		{Sec: buf.Actime},
-		{Sec: buf.Modtime},
-	}
-	return Utimes(path, tv)
-}
-
-func utimes(path string, tv *[2]Timeval) (err error) {
-	if tv == nil {
-		return utimensat(AT_FDCWD, path, nil, 0)
-	}
-
-	ts := []Timespec{
-		NsecToTimespec(TimevalToNsec(tv[0])),
-		NsecToTimespec(TimevalToNsec(tv[1])),
-	}
-	return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
-}
-
-func Pipe(p []int) (err error) {
-	if len(p) != 2 {
-		return EINVAL
-	}
-	var pp [2]_C_int
-	err = pipe2(&pp, 0)
-	p[0] = int(pp[0])
-	p[1] = int(pp[1])
-	return
-}
-
-//sysnb pipe2(p *[2]_C_int, flags int) (err error)
-
-func Pipe2(p []int, flags int) (err error) {
-	if len(p) != 2 {
-		return EINVAL
-	}
-	var pp [2]_C_int
-	err = pipe2(&pp, flags)
-	p[0] = int(pp[0])
-	p[1] = int(pp[1])
-	return
-}
-
-func (r *PtraceRegs) PC() uint64 { return r.Pc }
-
-func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc }
-
-func (iov *Iovec) SetLen(length int) {
-	iov.Len = uint64(length)
-}
-
-func (msghdr *Msghdr) SetControllen(length int) {
-	msghdr.Controllen = uint64(length)
-}
-
-func (cmsg *Cmsghdr) SetLen(length int) {
-	cmsg.Len = uint64(length)
-}
-
-func InotifyInit() (fd int, err error) {
-	return InotifyInit1(0)
-}
-
-func Dup2(oldfd int, newfd int) (err error) {
-	return Dup3(oldfd, newfd, 0)
-}
-
-func Pause() error {
-	_, err := ppoll(nil, 0, nil, nil)
-	return err
-}
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
-	var ts *Timespec
-	if timeout >= 0 {
-		ts = new(Timespec)
-		*ts = NsecToTimespec(int64(timeout) * 1e6)
-	}
-	if len(fds) == 0 {
-		return ppoll(nil, 0, ts, nil)
-	}
-	return ppoll(&fds[0], len(fds), ts, nil)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
index f52f148..6e4ee0c 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
@@ -322,16 +322,3 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
 	}
 	return poll(&fds[0], len(fds), timeout)
 }
-
-//sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
-
-func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
-	cmdlineLen := len(cmdline)
-	if cmdlineLen > 0 {
-		// Account for the additional NULL byte added by
-		// BytePtrFromString in kexecFileLoad. The kexec_file_load
-		// syscall expects a NULL-terminated string.
-		cmdlineLen++
-	}
-	return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
index 206ce2a..369a2be 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
@@ -93,23 +93,6 @@ func nametomib(name string) (mib []_C_int, err error) {
 	return mib, nil
 }
 
-func SysctlClockinfo(name string) (*Clockinfo, error) {
-	mib, err := sysctlmib(name)
-	if err != nil {
-		return nil, err
-	}
-
-	n := uintptr(SizeofClockinfo)
-	var ci Clockinfo
-	if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil {
-		return nil, err
-	}
-	if n != SizeofClockinfo {
-		return nil, EIO
-	}
-	return &ci, nil
-}
-
 //sysnb pipe() (fd1 int, fd2 int, err error)
 func Pipe(p []int) (err error) {
 	if len(p) != 2 {
@@ -162,11 +145,11 @@ func IoctlSetInt(fd int, req uint, value int) error {
 	return ioctl(fd, req, uintptr(value))
 }
 
-func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
+func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
-func ioctlSetTermios(fd int, req uint, value *Termios) error {
+func IoctlSetTermios(fd int, req uint, value *Termios) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
@@ -250,18 +233,6 @@ func Uname(uname *Utsname) error {
 //sys	Dup(fd int) (nfd int, err error)
 //sys	Dup2(from int, to int) (err error)
 //sys	Exit(code int)
-//sys	ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-//sys	ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-//sys	ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error)
-//sys	ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
-//sys	ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-//sys	ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-//sys	ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error)
-//sys	ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
-//sys	ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-//sys	ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
-//sys	ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error)
-//sys	ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
 //sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
 //sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE
 //sys	Fchdir(fd int) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
index 2b9f26a..9fc9c06 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
@@ -43,23 +43,6 @@ func nametomib(name string) (mib []_C_int, err error) {
 	return nil, EINVAL
 }
 
-func SysctlUvmexp(name string) (*Uvmexp, error) {
-	mib, err := sysctlmib(name)
-	if err != nil {
-		return nil, err
-	}
-
-	n := uintptr(SizeofUvmexp)
-	var u Uvmexp
-	if err := sysctl(mib, (*byte)(unsafe.Pointer(&u)), &n, nil, 0); err != nil {
-		return nil, err
-	}
-	if n != SizeofUvmexp {
-		return nil, EIO
-	}
-	return &u, nil
-}
-
 //sysnb pipe(p *[2]_C_int) (err error)
 func Pipe(p []int) (err error) {
 	if len(p) != 2 {
@@ -130,11 +113,11 @@ func IoctlSetInt(fd int, req uint, value int) error {
 	return ioctl(fd, req, uintptr(value))
 }
 
-func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
+func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
-func ioctlSetTermios(fd int, req uint, value *Termios) error {
+func IoctlSetTermios(fd int, req uint, value *Termios) error {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
@@ -158,15 +141,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
 	return &value, err
 }
 
-//sys	ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
-
-func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-	if len(fds) == 0 {
-		return ppoll(nil, 0, timeout, sigmask)
-	}
-	return ppoll(&fds[0], len(fds), timeout, sigmask)
-}
-
 func Uname(uname *Utsname) error {
 	mib := []_C_int{CTL_KERN, KERN_OSTYPE}
 	n := unsafe.Sizeof(uname.Sysname)
@@ -266,7 +240,6 @@ func Uname(uname *Utsname) error {
 //sys	Mknod(path string, mode uint32, dev int) (err error)
 //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
 //sys	Open(path string, mode int, perm uint32) (fd int, err error)
-//sys	Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
 //sys	Pathconf(path string, name int) (val int, err error)
 //sys	Pread(fd int, p []byte, offset int64) (n int, err error)
 //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error)
@@ -357,6 +330,7 @@ func Uname(uname *Utsname) error {
 // msgsnd
 // nfssvc
 // nnpfspioctl
+// openat
 // preadv
 // profil
 // pwritev
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
index d62da60..994964a 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
@@ -31,7 +31,3 @@ func (msghdr *Msghdr) SetControllen(length int) {
 func (cmsg *Cmsghdr) SetLen(length int) {
 	cmsg.Len = uint32(length)
 }
-
-// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
-// of openbsd/386 the syscall is called sysctl instead of __sysctl.
-const SYS___SYSCTL = SYS_SYSCTL
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
index 5d812aa..59844f5 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
@@ -31,7 +31,3 @@ func (msghdr *Msghdr) SetControllen(length int) {
 func (cmsg *Cmsghdr) SetLen(length int) {
 	cmsg.Len = uint32(length)
 }
-
-// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
-// of openbsd/arm the syscall is called sysctl instead of __sysctl.
-const SYS___SYSCTL = SYS_SYSCTL
diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go
index 53b8078..4d7efbc 100644
--- a/vendor/golang.org/x/sys/unix/syscall_solaris.go
+++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go
@@ -112,7 +112,7 @@ func Getsockname(fd int) (sa Sockaddr, err error) {
 	if err = getsockname(fd, &rsa, &len); err != nil {
 		return
 	}
-	return anyToSockaddr(fd, &rsa)
+	return anyToSockaddr(&rsa)
 }
 
 // GetsockoptString returns the string value of the socket option opt for the
@@ -314,11 +314,7 @@ func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
 
 // FcntlInt performs a fcntl syscall on fd with the provided command and argument.
 func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
-	valptr, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0)
-	var err error
-	if errno != 0 {
-		err = errno
-	}
+	valptr, _, err := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0)
 	return int(valptr), err
 }
 
@@ -360,7 +356,7 @@ func Futimes(fd int, tv []Timeval) error {
 	return futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
 }
 
-func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
+func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
 	switch rsa.Addr.Family {
 	case AF_UNIX:
 		pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))
@@ -411,7 +407,7 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) {
 	if nfd == -1 {
 		return
 	}
-	sa, err = anyToSockaddr(fd, &rsa)
+	sa, err = anyToSockaddr(&rsa)
 	if err != nil {
 		Close(nfd)
 		nfd = 0
@@ -448,7 +444,7 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from
 	oobn = int(msg.Accrightslen)
 	// source address is only specified if the socket is unconnected
 	if rsa.Addr.Family != AF_UNSPEC {
-		from, err = anyToSockaddr(fd, &rsa)
+		from, err = anyToSockaddr(&rsa)
 	}
 	return
 }
@@ -540,11 +536,11 @@ func IoctlSetInt(fd int, req uint, value int) (err error) {
 	return ioctl(fd, req, uintptr(value))
 }
 
-func ioctlSetWinsize(fd int, req uint, value *Winsize) (err error) {
+func IoctlSetWinsize(fd int, req uint, value *Winsize) (err error) {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
-func ioctlSetTermios(fd int, req uint, value *Termios) (err error) {
+func IoctlSetTermios(fd int, req uint, value *Termios) (err error) {
 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
 }
 
diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go
index 64fcda4..b835bad 100644
--- a/vendor/golang.org/x/sys/unix/syscall_unix.go
+++ b/vendor/golang.org/x/sys/unix/syscall_unix.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package unix
 
@@ -22,10 +22,10 @@ var (
 )
 
 const (
-	darwin64Bit    = runtime.GOOS == "darwin" && SizeofPtr == 8
-	dragonfly64Bit = runtime.GOOS == "dragonfly" && SizeofPtr == 8
-	netbsd32Bit    = runtime.GOOS == "netbsd" && SizeofPtr == 4
-	solaris64Bit   = runtime.GOOS == "solaris" && SizeofPtr == 8
+	darwin64Bit    = runtime.GOOS == "darwin" && sizeofPtr == 8
+	dragonfly64Bit = runtime.GOOS == "dragonfly" && sizeofPtr == 8
+	netbsd32Bit    = runtime.GOOS == "netbsd" && sizeofPtr == 4
+	solaris64Bit   = runtime.GOOS == "solaris" && sizeofPtr == 8
 )
 
 // Do the interface allocations only once for common
@@ -219,7 +219,7 @@ func Getpeername(fd int) (sa Sockaddr, err error) {
 	if err = getpeername(fd, &rsa, &len); err != nil {
 		return
 	}
-	return anyToSockaddr(fd, &rsa)
+	return anyToSockaddr(&rsa)
 }
 
 func GetsockoptByte(fd, level, opt int) (value byte, err error) {
@@ -291,7 +291,7 @@ func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {
 		return
 	}
 	if rsa.Addr.Family != AF_UNSPEC {
-		from, err = anyToSockaddr(fd, &rsa)
+		from, err = anyToSockaddr(&rsa)
 	}
 	return
 }
diff --git a/vendor/golang.org/x/sys/unix/timestruct.go b/vendor/golang.org/x/sys/unix/timestruct.go
index 4a672f5..47b9011 100644
--- a/vendor/golang.org/x/sys/unix/timestruct.go
+++ b/vendor/golang.org/x/sys/unix/timestruct.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package unix
 
diff --git a/vendor/golang.org/x/sys/unix/xattr_bsd.go b/vendor/golang.org/x/sys/unix/xattr_bsd.go
deleted file mode 100644
index 9304993..0000000
--- a/vendor/golang.org/x/sys/unix/xattr_bsd.go
+++ /dev/null
@@ -1,231 +0,0 @@
-// Copyright 2018 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.
-
-// +build freebsd netbsd
-
-package unix
-
-import (
-	"strings"
-	"unsafe"
-)
-
-// Derive extattr namespace and attribute name
-
-func xattrnamespace(fullattr string) (ns int, attr string, err error) {
-	s := strings.IndexByte(fullattr, '.')
-	if s == -1 {
-		return -1, "", ENOATTR
-	}
-
-	namespace := fullattr[0:s]
-	attr = fullattr[s+1:]
-
-	switch namespace {
-	case "user":
-		return EXTATTR_NAMESPACE_USER, attr, nil
-	case "system":
-		return EXTATTR_NAMESPACE_SYSTEM, attr, nil
-	default:
-		return -1, "", ENOATTR
-	}
-}
-
-func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) {
-	if len(dest) > idx {
-		return unsafe.Pointer(&dest[idx])
-	} else {
-		return unsafe.Pointer(_zero)
-	}
-}
-
-// FreeBSD and NetBSD implement their own syscalls to handle extended attributes
-
-func Getxattr(file string, attr string, dest []byte) (sz int, err error) {
-	d := initxattrdest(dest, 0)
-	destsize := len(dest)
-
-	nsid, a, err := xattrnamespace(attr)
-	if err != nil {
-		return -1, err
-	}
-
-	return ExtattrGetFile(file, nsid, a, uintptr(d), destsize)
-}
-
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	d := initxattrdest(dest, 0)
-	destsize := len(dest)
-
-	nsid, a, err := xattrnamespace(attr)
-	if err != nil {
-		return -1, err
-	}
-
-	return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize)
-}
-
-func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
-	d := initxattrdest(dest, 0)
-	destsize := len(dest)
-
-	nsid, a, err := xattrnamespace(attr)
-	if err != nil {
-		return -1, err
-	}
-
-	return ExtattrGetLink(link, nsid, a, uintptr(d), destsize)
-}
-
-// flags are unused on FreeBSD
-
-func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
-	d := unsafe.Pointer(&data[0])
-	datasiz := len(data)
-
-	nsid, a, err := xattrnamespace(attr)
-	if err != nil {
-		return
-	}
-
-	_, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz)
-	return
-}
-
-func Setxattr(file string, attr string, data []byte, flags int) (err error) {
-	d := unsafe.Pointer(&data[0])
-	datasiz := len(data)
-
-	nsid, a, err := xattrnamespace(attr)
-	if err != nil {
-		return
-	}
-
-	_, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz)
-	return
-}
-
-func Lsetxattr(link string, attr string, data []byte, flags int) (err error) {
-	d := unsafe.Pointer(&data[0])
-	datasiz := len(data)
-
-	nsid, a, err := xattrnamespace(attr)
-	if err != nil {
-		return
-	}
-
-	_, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz)
-	return
-}
-
-func Removexattr(file string, attr string) (err error) {
-	nsid, a, err := xattrnamespace(attr)
-	if err != nil {
-		return
-	}
-
-	err = ExtattrDeleteFile(file, nsid, a)
-	return
-}
-
-func Fremovexattr(fd int, attr string) (err error) {
-	nsid, a, err := xattrnamespace(attr)
-	if err != nil {
-		return
-	}
-
-	err = ExtattrDeleteFd(fd, nsid, a)
-	return
-}
-
-func Lremovexattr(link string, attr string) (err error) {
-	nsid, a, err := xattrnamespace(attr)
-	if err != nil {
-		return
-	}
-
-	err = ExtattrDeleteLink(link, nsid, a)
-	return
-}
-
-func Listxattr(file string, dest []byte) (sz int, err error) {
-	d := initxattrdest(dest, 0)
-	destsiz := len(dest)
-
-	// FreeBSD won't allow you to list xattrs from multiple namespaces
-	s := 0
-	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
-		stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz)
-
-		/* Errors accessing system attrs are ignored so that
-		 * we can implement the Linux-like behavior of omitting errors that
-		 * we don't have read permissions on
-		 *
-		 * Linux will still error if we ask for user attributes on a file that
-		 * we don't have read permissions on, so don't ignore those errors
-		 */
-		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
-			continue
-		} else if e != nil {
-			return s, e
-		}
-
-		s += stmp
-		destsiz -= s
-		if destsiz < 0 {
-			destsiz = 0
-		}
-		d = initxattrdest(dest, s)
-	}
-
-	return s, nil
-}
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	d := initxattrdest(dest, 0)
-	destsiz := len(dest)
-
-	s := 0
-	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
-		stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz)
-		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
-			continue
-		} else if e != nil {
-			return s, e
-		}
-
-		s += stmp
-		destsiz -= s
-		if destsiz < 0 {
-			destsiz = 0
-		}
-		d = initxattrdest(dest, s)
-	}
-
-	return s, nil
-}
-
-func Llistxattr(link string, dest []byte) (sz int, err error) {
-	d := initxattrdest(dest, 0)
-	destsiz := len(dest)
-
-	s := 0
-	for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {
-		stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz)
-		if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {
-			continue
-		} else if e != nil {
-			return s, e
-		}
-
-		s += stmp
-		destsiz -= s
-		if destsiz < 0 {
-			destsiz = 0
-		}
-		d = initxattrdest(dest, s)
-	}
-
-	return s, nil
-}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
deleted file mode 100644
index 4b7b965..0000000
--- a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
+++ /dev/null
@@ -1,1372 +0,0 @@
-// mkerrors.sh -maix32
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build ppc,aix
-
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- -maix32 _const.go
-
-package unix
-
-import "syscall"
-
-const (
-	AF_APPLETALK                  = 0x10
-	AF_BYPASS                     = 0x19
-	AF_CCITT                      = 0xa
-	AF_CHAOS                      = 0x5
-	AF_DATAKIT                    = 0x9
-	AF_DECnet                     = 0xc
-	AF_DLI                        = 0xd
-	AF_ECMA                       = 0x8
-	AF_HYLINK                     = 0xf
-	AF_IMPLINK                    = 0x3
-	AF_INET                       = 0x2
-	AF_INET6                      = 0x18
-	AF_INTF                       = 0x14
-	AF_ISO                        = 0x7
-	AF_LAT                        = 0xe
-	AF_LINK                       = 0x12
-	AF_LOCAL                      = 0x1
-	AF_MAX                        = 0x1e
-	AF_NDD                        = 0x17
-	AF_NETWARE                    = 0x16
-	AF_NS                         = 0x6
-	AF_OSI                        = 0x7
-	AF_PUP                        = 0x4
-	AF_RIF                        = 0x15
-	AF_ROUTE                      = 0x11
-	AF_SNA                        = 0xb
-	AF_UNIX                       = 0x1
-	AF_UNSPEC                     = 0x0
-	ALTWERASE                     = 0x400000
-	ARPHRD_802_3                  = 0x6
-	ARPHRD_802_5                  = 0x6
-	ARPHRD_ETHER                  = 0x1
-	ARPHRD_FDDI                   = 0x1
-	B0                            = 0x0
-	B110                          = 0x3
-	B1200                         = 0x9
-	B134                          = 0x4
-	B150                          = 0x5
-	B1800                         = 0xa
-	B19200                        = 0xe
-	B200                          = 0x6
-	B2400                         = 0xb
-	B300                          = 0x7
-	B38400                        = 0xf
-	B4800                         = 0xc
-	B50                           = 0x1
-	B600                          = 0x8
-	B75                           = 0x2
-	B9600                         = 0xd
-	BRKINT                        = 0x2
-	BS0                           = 0x0
-	BS1                           = 0x1000
-	BSDLY                         = 0x1000
-	CAP_AACCT                     = 0x6
-	CAP_ARM_APPLICATION           = 0x5
-	CAP_BYPASS_RAC_VMM            = 0x3
-	CAP_CLEAR                     = 0x0
-	CAP_CREDENTIALS               = 0x7
-	CAP_EFFECTIVE                 = 0x1
-	CAP_EWLM_AGENT                = 0x4
-	CAP_INHERITABLE               = 0x2
-	CAP_MAXIMUM                   = 0x7
-	CAP_NUMA_ATTACH               = 0x2
-	CAP_PERMITTED                 = 0x3
-	CAP_PROPAGATE                 = 0x1
-	CAP_PROPOGATE                 = 0x1
-	CAP_SET                       = 0x1
-	CBAUD                         = 0xf
-	CFLUSH                        = 0xf
-	CIBAUD                        = 0xf0000
-	CLOCAL                        = 0x800
-	CLOCK_MONOTONIC               = 0xa
-	CLOCK_PROCESS_CPUTIME_ID      = 0xb
-	CLOCK_REALTIME                = 0x9
-	CLOCK_THREAD_CPUTIME_ID       = 0xc
-	CR0                           = 0x0
-	CR1                           = 0x100
-	CR2                           = 0x200
-	CR3                           = 0x300
-	CRDLY                         = 0x300
-	CREAD                         = 0x80
-	CS5                           = 0x0
-	CS6                           = 0x10
-	CS7                           = 0x20
-	CS8                           = 0x30
-	CSIOCGIFCONF                  = -0x3ff796dc
-	CSIZE                         = 0x30
-	CSMAP_DIR                     = "/usr/lib/nls/csmap/"
-	CSTART                        = '\021'
-	CSTOP                         = '\023'
-	CSTOPB                        = 0x40
-	CSUSP                         = 0x1a
-	ECHO                          = 0x8
-	ECHOCTL                       = 0x20000
-	ECHOE                         = 0x10
-	ECHOK                         = 0x20
-	ECHOKE                        = 0x80000
-	ECHONL                        = 0x40
-	ECHOPRT                       = 0x40000
-	ECH_ICMPID                    = 0x2
-	ETHERNET_CSMACD               = 0x6
-	EVENP                         = 0x80
-	EXCONTINUE                    = 0x0
-	EXDLOK                        = 0x3
-	EXIO                          = 0x2
-	EXPGIO                        = 0x0
-	EXRESUME                      = 0x2
-	EXRETURN                      = 0x1
-	EXSIG                         = 0x4
-	EXTA                          = 0xe
-	EXTB                          = 0xf
-	EXTRAP                        = 0x1
-	EYEC_RTENTRYA                 = 0x257274656e747241
-	EYEC_RTENTRYF                 = 0x257274656e747246
-	E_ACC                         = 0x0
-	FD_CLOEXEC                    = 0x1
-	FD_SETSIZE                    = 0xfffe
-	FF0                           = 0x0
-	FF1                           = 0x2000
-	FFDLY                         = 0x2000
-	FLUSHBAND                     = 0x40
-	FLUSHLOW                      = 0x8
-	FLUSHO                        = 0x100000
-	FLUSHR                        = 0x1
-	FLUSHRW                       = 0x3
-	FLUSHW                        = 0x2
-	F_CLOSEM                      = 0xa
-	F_DUP2FD                      = 0xe
-	F_DUPFD                       = 0x0
-	F_GETFD                       = 0x1
-	F_GETFL                       = 0x3
-	F_GETLK                       = 0x5
-	F_GETLK64                     = 0xb
-	F_GETOWN                      = 0x8
-	F_LOCK                        = 0x1
-	F_OK                          = 0x0
-	F_RDLCK                       = 0x1
-	F_SETFD                       = 0x2
-	F_SETFL                       = 0x4
-	F_SETLK                       = 0x6
-	F_SETLK64                     = 0xc
-	F_SETLKW                      = 0x7
-	F_SETLKW64                    = 0xd
-	F_SETOWN                      = 0x9
-	F_TEST                        = 0x3
-	F_TLOCK                       = 0x2
-	F_TSTLK                       = 0xf
-	F_ULOCK                       = 0x0
-	F_UNLCK                       = 0x3
-	F_WRLCK                       = 0x2
-	HUPCL                         = 0x400
-	IBSHIFT                       = 0x10
-	ICANON                        = 0x2
-	ICMP6_FILTER                  = 0x26
-	ICMP6_SEC_SEND_DEL            = 0x46
-	ICMP6_SEC_SEND_GET            = 0x47
-	ICMP6_SEC_SEND_SET            = 0x44
-	ICMP6_SEC_SEND_SET_CGA_ADDR   = 0x45
-	ICRNL                         = 0x100
-	IEXTEN                        = 0x200000
-	IFA_FIRSTALIAS                = 0x2000
-	IFA_ROUTE                     = 0x1
-	IFF_64BIT                     = 0x4000000
-	IFF_ALLCAST                   = 0x20000
-	IFF_ALLMULTI                  = 0x200
-	IFF_BPF                       = 0x8000000
-	IFF_BRIDGE                    = 0x40000
-	IFF_BROADCAST                 = 0x2
-	IFF_CANTCHANGE                = 0x80c52
-	IFF_CHECKSUM_OFFLOAD          = 0x10000000
-	IFF_D1                        = 0x8000
-	IFF_D2                        = 0x4000
-	IFF_D3                        = 0x2000
-	IFF_D4                        = 0x1000
-	IFF_DEBUG                     = 0x4
-	IFF_DEVHEALTH                 = 0x4000
-	IFF_DO_HW_LOOPBACK            = 0x10000
-	IFF_GROUP_ROUTING             = 0x2000000
-	IFF_IFBUFMGT                  = 0x800000
-	IFF_LINK0                     = 0x100000
-	IFF_LINK1                     = 0x200000
-	IFF_LINK2                     = 0x400000
-	IFF_LOOPBACK                  = 0x8
-	IFF_MULTICAST                 = 0x80000
-	IFF_NOARP                     = 0x80
-	IFF_NOECHO                    = 0x800
-	IFF_NOTRAILERS                = 0x20
-	IFF_OACTIVE                   = 0x400
-	IFF_POINTOPOINT               = 0x10
-	IFF_PROMISC                   = 0x100
-	IFF_PSEG                      = 0x40000000
-	IFF_RUNNING                   = 0x40
-	IFF_SIMPLEX                   = 0x800
-	IFF_SNAP                      = 0x8000
-	IFF_TCP_DISABLE_CKSUM         = 0x20000000
-	IFF_TCP_NOCKSUM               = 0x1000000
-	IFF_UP                        = 0x1
-	IFF_VIPA                      = 0x80000000
-	IFNAMSIZ                      = 0x10
-	IFO_FLUSH                     = 0x1
-	IFT_1822                      = 0x2
-	IFT_AAL5                      = 0x31
-	IFT_ARCNET                    = 0x23
-	IFT_ARCNETPLUS                = 0x24
-	IFT_ATM                       = 0x25
-	IFT_CEPT                      = 0x13
-	IFT_CLUSTER                   = 0x3e
-	IFT_DS3                       = 0x1e
-	IFT_EON                       = 0x19
-	IFT_ETHER                     = 0x6
-	IFT_FCS                       = 0x3a
-	IFT_FDDI                      = 0xf
-	IFT_FRELAY                    = 0x20
-	IFT_FRELAYDCE                 = 0x2c
-	IFT_GIFTUNNEL                 = 0x3c
-	IFT_HDH1822                   = 0x3
-	IFT_HF                        = 0x3d
-	IFT_HIPPI                     = 0x2f
-	IFT_HSSI                      = 0x2e
-	IFT_HY                        = 0xe
-	IFT_IB                        = 0xc7
-	IFT_ISDNBASIC                 = 0x14
-	IFT_ISDNPRIMARY               = 0x15
-	IFT_ISO88022LLC               = 0x29
-	IFT_ISO88023                  = 0x7
-	IFT_ISO88024                  = 0x8
-	IFT_ISO88025                  = 0x9
-	IFT_ISO88026                  = 0xa
-	IFT_LAPB                      = 0x10
-	IFT_LOCALTALK                 = 0x2a
-	IFT_LOOP                      = 0x18
-	IFT_MIOX25                    = 0x26
-	IFT_MODEM                     = 0x30
-	IFT_NSIP                      = 0x1b
-	IFT_OTHER                     = 0x1
-	IFT_P10                       = 0xc
-	IFT_P80                       = 0xd
-	IFT_PARA                      = 0x22
-	IFT_PPP                       = 0x17
-	IFT_PROPMUX                   = 0x36
-	IFT_PROPVIRTUAL               = 0x35
-	IFT_PTPSERIAL                 = 0x16
-	IFT_RS232                     = 0x21
-	IFT_SDLC                      = 0x11
-	IFT_SIP                       = 0x1f
-	IFT_SLIP                      = 0x1c
-	IFT_SMDSDXI                   = 0x2b
-	IFT_SMDSICIP                  = 0x34
-	IFT_SN                        = 0x38
-	IFT_SONET                     = 0x27
-	IFT_SONETPATH                 = 0x32
-	IFT_SONETVT                   = 0x33
-	IFT_SP                        = 0x39
-	IFT_STARLAN                   = 0xb
-	IFT_T1                        = 0x12
-	IFT_TUNNEL                    = 0x3b
-	IFT_ULTRA                     = 0x1d
-	IFT_V35                       = 0x2d
-	IFT_VIPA                      = 0x37
-	IFT_X25                       = 0x5
-	IFT_X25DDN                    = 0x4
-	IFT_X25PLE                    = 0x28
-	IFT_XETHER                    = 0x1a
-	IGNBRK                        = 0x1
-	IGNCR                         = 0x80
-	IGNPAR                        = 0x4
-	IMAXBEL                       = 0x10000
-	INLCR                         = 0x40
-	INPCK                         = 0x10
-	IN_CLASSA_HOST                = 0xffffff
-	IN_CLASSA_MAX                 = 0x80
-	IN_CLASSA_NET                 = 0xff000000
-	IN_CLASSA_NSHIFT              = 0x18
-	IN_CLASSB_HOST                = 0xffff
-	IN_CLASSB_MAX                 = 0x10000
-	IN_CLASSB_NET                 = 0xffff0000
-	IN_CLASSB_NSHIFT              = 0x10
-	IN_CLASSC_HOST                = 0xff
-	IN_CLASSC_NET                 = 0xffffff00
-	IN_CLASSC_NSHIFT              = 0x8
-	IN_CLASSD_HOST                = 0xfffffff
-	IN_CLASSD_NET                 = 0xf0000000
-	IN_CLASSD_NSHIFT              = 0x1c
-	IN_LOOPBACKNET                = 0x7f
-	IN_USE                        = 0x1
-	IPPROTO_AH                    = 0x33
-	IPPROTO_BIP                   = 0x53
-	IPPROTO_DSTOPTS               = 0x3c
-	IPPROTO_EGP                   = 0x8
-	IPPROTO_EON                   = 0x50
-	IPPROTO_ESP                   = 0x32
-	IPPROTO_FRAGMENT              = 0x2c
-	IPPROTO_GGP                   = 0x3
-	IPPROTO_GIF                   = 0x8c
-	IPPROTO_GRE                   = 0x2f
-	IPPROTO_HOPOPTS               = 0x0
-	IPPROTO_ICMP                  = 0x1
-	IPPROTO_ICMPV6                = 0x3a
-	IPPROTO_IDP                   = 0x16
-	IPPROTO_IGMP                  = 0x2
-	IPPROTO_IP                    = 0x0
-	IPPROTO_IPIP                  = 0x4
-	IPPROTO_IPV6                  = 0x29
-	IPPROTO_LOCAL                 = 0x3f
-	IPPROTO_MAX                   = 0x100
-	IPPROTO_MH                    = 0x87
-	IPPROTO_NONE                  = 0x3b
-	IPPROTO_PUP                   = 0xc
-	IPPROTO_QOS                   = 0x2d
-	IPPROTO_RAW                   = 0xff
-	IPPROTO_ROUTING               = 0x2b
-	IPPROTO_RSVP                  = 0x2e
-	IPPROTO_SCTP                  = 0x84
-	IPPROTO_TCP                   = 0x6
-	IPPROTO_TP                    = 0x1d
-	IPPROTO_UDP                   = 0x11
-	IPV6_ADDRFORM                 = 0x16
-	IPV6_ADDR_PREFERENCES         = 0x4a
-	IPV6_ADD_MEMBERSHIP           = 0xc
-	IPV6_AIXRAWSOCKET             = 0x39
-	IPV6_CHECKSUM                 = 0x27
-	IPV6_DONTFRAG                 = 0x2d
-	IPV6_DROP_MEMBERSHIP          = 0xd
-	IPV6_DSTOPTS                  = 0x36
-	IPV6_FLOWINFO_FLOWLABEL       = 0xffffff
-	IPV6_FLOWINFO_PRIFLOW         = 0xfffffff
-	IPV6_FLOWINFO_PRIORITY        = 0xf000000
-	IPV6_FLOWINFO_SRFLAG          = 0x10000000
-	IPV6_FLOWINFO_VERSION         = 0xf0000000
-	IPV6_HOPLIMIT                 = 0x28
-	IPV6_HOPOPTS                  = 0x34
-	IPV6_JOIN_GROUP               = 0xc
-	IPV6_LEAVE_GROUP              = 0xd
-	IPV6_MIPDSTOPTS               = 0x36
-	IPV6_MULTICAST_HOPS           = 0xa
-	IPV6_MULTICAST_IF             = 0x9
-	IPV6_MULTICAST_LOOP           = 0xb
-	IPV6_NEXTHOP                  = 0x30
-	IPV6_NOPROBE                  = 0x1c
-	IPV6_PATHMTU                  = 0x2e
-	IPV6_PKTINFO                  = 0x21
-	IPV6_PKTOPTIONS               = 0x24
-	IPV6_PRIORITY_10              = 0xa000000
-	IPV6_PRIORITY_11              = 0xb000000
-	IPV6_PRIORITY_12              = 0xc000000
-	IPV6_PRIORITY_13              = 0xd000000
-	IPV6_PRIORITY_14              = 0xe000000
-	IPV6_PRIORITY_15              = 0xf000000
-	IPV6_PRIORITY_8               = 0x8000000
-	IPV6_PRIORITY_9               = 0x9000000
-	IPV6_PRIORITY_BULK            = 0x4000000
-	IPV6_PRIORITY_CONTROL         = 0x7000000
-	IPV6_PRIORITY_FILLER          = 0x1000000
-	IPV6_PRIORITY_INTERACTIVE     = 0x6000000
-	IPV6_PRIORITY_RESERVED1       = 0x3000000
-	IPV6_PRIORITY_RESERVED2       = 0x5000000
-	IPV6_PRIORITY_UNATTENDED      = 0x2000000
-	IPV6_PRIORITY_UNCHARACTERIZED = 0x0
-	IPV6_RECVDSTOPTS              = 0x38
-	IPV6_RECVHOPLIMIT             = 0x29
-	IPV6_RECVHOPOPTS              = 0x35
-	IPV6_RECVHOPS                 = 0x22
-	IPV6_RECVIF                   = 0x1e
-	IPV6_RECVPATHMTU              = 0x2f
-	IPV6_RECVPKTINFO              = 0x23
-	IPV6_RECVRTHDR                = 0x33
-	IPV6_RECVSRCRT                = 0x1d
-	IPV6_RECVTCLASS               = 0x2a
-	IPV6_RTHDR                    = 0x32
-	IPV6_RTHDRDSTOPTS             = 0x37
-	IPV6_RTHDR_TYPE_0             = 0x0
-	IPV6_RTHDR_TYPE_2             = 0x2
-	IPV6_SENDIF                   = 0x1f
-	IPV6_SRFLAG_LOOSE             = 0x0
-	IPV6_SRFLAG_STRICT            = 0x10000000
-	IPV6_TCLASS                   = 0x2b
-	IPV6_TOKEN_LENGTH             = 0x40
-	IPV6_UNICAST_HOPS             = 0x4
-	IPV6_USE_MIN_MTU              = 0x2c
-	IPV6_V6ONLY                   = 0x25
-	IPV6_VERSION                  = 0x60000000
-	IP_ADDRFORM                   = 0x16
-	IP_ADD_MEMBERSHIP             = 0xc
-	IP_ADD_SOURCE_MEMBERSHIP      = 0x3c
-	IP_BLOCK_SOURCE               = 0x3a
-	IP_BROADCAST_IF               = 0x10
-	IP_CACHE_LINE_SIZE            = 0x80
-	IP_DEFAULT_MULTICAST_LOOP     = 0x1
-	IP_DEFAULT_MULTICAST_TTL      = 0x1
-	IP_DF                         = 0x4000
-	IP_DHCPMODE                   = 0x11
-	IP_DONTFRAG                   = 0x19
-	IP_DROP_MEMBERSHIP            = 0xd
-	IP_DROP_SOURCE_MEMBERSHIP     = 0x3d
-	IP_FINDPMTU                   = 0x1a
-	IP_HDRINCL                    = 0x2
-	IP_INC_MEMBERSHIPS            = 0x14
-	IP_INIT_MEMBERSHIP            = 0x14
-	IP_MAXPACKET                  = 0xffff
-	IP_MF                         = 0x2000
-	IP_MSS                        = 0x240
-	IP_MULTICAST_HOPS             = 0xa
-	IP_MULTICAST_IF               = 0x9
-	IP_MULTICAST_LOOP             = 0xb
-	IP_MULTICAST_TTL              = 0xa
-	IP_OPT                        = 0x1b
-	IP_OPTIONS                    = 0x1
-	IP_PMTUAGE                    = 0x1b
-	IP_RECVDSTADDR                = 0x7
-	IP_RECVIF                     = 0x14
-	IP_RECVIFINFO                 = 0xf
-	IP_RECVINTERFACE              = 0x20
-	IP_RECVMACHDR                 = 0xe
-	IP_RECVOPTS                   = 0x5
-	IP_RECVRETOPTS                = 0x6
-	IP_RECVTTL                    = 0x22
-	IP_RETOPTS                    = 0x8
-	IP_SOURCE_FILTER              = 0x48
-	IP_TOS                        = 0x3
-	IP_TTL                        = 0x4
-	IP_UNBLOCK_SOURCE             = 0x3b
-	IP_UNICAST_HOPS               = 0x4
-	ISIG                          = 0x1
-	ISTRIP                        = 0x20
-	IUCLC                         = 0x800
-	IXANY                         = 0x1000
-	IXOFF                         = 0x400
-	IXON                          = 0x200
-	I_FLUSH                       = 0x20005305
-	LNOFLSH                       = 0x8000
-	LOCK_EX                       = 0x2
-	LOCK_NB                       = 0x4
-	LOCK_SH                       = 0x1
-	LOCK_UN                       = 0x8
-	MADV_DONTNEED                 = 0x4
-	MADV_NORMAL                   = 0x0
-	MADV_RANDOM                   = 0x1
-	MADV_SEQUENTIAL               = 0x2
-	MADV_SPACEAVAIL               = 0x5
-	MADV_WILLNEED                 = 0x3
-	MAP_ANON                      = 0x10
-	MAP_ANONYMOUS                 = 0x10
-	MAP_FILE                      = 0x0
-	MAP_FIXED                     = 0x100
-	MAP_PRIVATE                   = 0x2
-	MAP_SHARED                    = 0x1
-	MAP_TYPE                      = 0xf0
-	MAP_VARIABLE                  = 0x0
-	MCL_CURRENT                   = 0x100
-	MCL_FUTURE                    = 0x200
-	MSG_ANY                       = 0x4
-	MSG_ARGEXT                    = 0x400
-	MSG_BAND                      = 0x2
-	MSG_COMPAT                    = 0x8000
-	MSG_CTRUNC                    = 0x20
-	MSG_DONTROUTE                 = 0x4
-	MSG_EOR                       = 0x8
-	MSG_HIPRI                     = 0x1
-	MSG_MAXIOVLEN                 = 0x10
-	MSG_MPEG2                     = 0x80
-	MSG_NONBLOCK                  = 0x4000
-	MSG_NOSIGNAL                  = 0x100
-	MSG_OOB                       = 0x1
-	MSG_PEEK                      = 0x2
-	MSG_TRUNC                     = 0x10
-	MSG_WAITALL                   = 0x40
-	MSG_WAITFORONE                = 0x200
-	MS_ASYNC                      = 0x10
-	MS_EINTR                      = 0x80
-	MS_INVALIDATE                 = 0x40
-	MS_PER_SEC                    = 0x3e8
-	MS_SYNC                       = 0x20
-	NL0                           = 0x0
-	NL1                           = 0x4000
-	NL2                           = 0x8000
-	NL3                           = 0xc000
-	NLDLY                         = 0x4000
-	NOFLSH                        = 0x80
-	NOFLUSH                       = 0x80000000
-	OCRNL                         = 0x8
-	OFDEL                         = 0x80
-	OFILL                         = 0x40
-	OLCUC                         = 0x2
-	ONLCR                         = 0x4
-	ONLRET                        = 0x20
-	ONOCR                         = 0x10
-	ONOEOT                        = 0x80000
-	OPOST                         = 0x1
-	OXTABS                        = 0x40000
-	O_ACCMODE                     = 0x23
-	O_APPEND                      = 0x8
-	O_CIO                         = 0x80
-	O_CIOR                        = 0x800000000
-	O_CLOEXEC                     = 0x800000
-	O_CREAT                       = 0x100
-	O_DEFER                       = 0x2000
-	O_DELAY                       = 0x4000
-	O_DIRECT                      = 0x8000000
-	O_DIRECTORY                   = 0x80000
-	O_DSYNC                       = 0x400000
-	O_EFSOFF                      = 0x400000000
-	O_EFSON                       = 0x200000000
-	O_EXCL                        = 0x400
-	O_EXEC                        = 0x20
-	O_LARGEFILE                   = 0x4000000
-	O_NDELAY                      = 0x8000
-	O_NOCACHE                     = 0x100000
-	O_NOCTTY                      = 0x800
-	O_NOFOLLOW                    = 0x1000000
-	O_NONBLOCK                    = 0x4
-	O_NONE                        = 0x3
-	O_NSHARE                      = 0x10000
-	O_RAW                         = 0x100000000
-	O_RDONLY                      = 0x0
-	O_RDWR                        = 0x2
-	O_RSHARE                      = 0x1000
-	O_RSYNC                       = 0x200000
-	O_SEARCH                      = 0x20
-	O_SNAPSHOT                    = 0x40
-	O_SYNC                        = 0x10
-	O_TRUNC                       = 0x200
-	O_TTY_INIT                    = 0x0
-	O_WRONLY                      = 0x1
-	PARENB                        = 0x100
-	PAREXT                        = 0x100000
-	PARMRK                        = 0x8
-	PARODD                        = 0x200
-	PENDIN                        = 0x20000000
-	PRIO_PGRP                     = 0x1
-	PRIO_PROCESS                  = 0x0
-	PRIO_USER                     = 0x2
-	PROT_EXEC                     = 0x4
-	PROT_NONE                     = 0x0
-	PROT_READ                     = 0x1
-	PROT_WRITE                    = 0x2
-	PR_64BIT                      = 0x20
-	PR_ADDR                       = 0x2
-	PR_ARGEXT                     = 0x400
-	PR_ATOMIC                     = 0x1
-	PR_CONNREQUIRED               = 0x4
-	PR_FASTHZ                     = 0x5
-	PR_INP                        = 0x40
-	PR_INTRLEVEL                  = 0x8000
-	PR_MLS                        = 0x100
-	PR_MLS_1_LABEL                = 0x200
-	PR_NOEOR                      = 0x4000
-	PR_RIGHTS                     = 0x10
-	PR_SLOWHZ                     = 0x2
-	PR_WANTRCVD                   = 0x8
-	RLIMIT_AS                     = 0x6
-	RLIMIT_CORE                   = 0x4
-	RLIMIT_CPU                    = 0x0
-	RLIMIT_DATA                   = 0x2
-	RLIMIT_FSIZE                  = 0x1
-	RLIMIT_NOFILE                 = 0x7
-	RLIMIT_NPROC                  = 0x9
-	RLIMIT_RSS                    = 0x5
-	RLIMIT_STACK                  = 0x3
-	RLIM_INFINITY                 = 0x7fffffff
-	RTAX_AUTHOR                   = 0x6
-	RTAX_BRD                      = 0x7
-	RTAX_DST                      = 0x0
-	RTAX_GATEWAY                  = 0x1
-	RTAX_GENMASK                  = 0x3
-	RTAX_IFA                      = 0x5
-	RTAX_IFP                      = 0x4
-	RTAX_MAX                      = 0x8
-	RTAX_NETMASK                  = 0x2
-	RTA_AUTHOR                    = 0x40
-	RTA_BRD                       = 0x80
-	RTA_DOWNSTREAM                = 0x100
-	RTA_DST                       = 0x1
-	RTA_GATEWAY                   = 0x2
-	RTA_GENMASK                   = 0x8
-	RTA_IFA                       = 0x20
-	RTA_IFP                       = 0x10
-	RTA_NETMASK                   = 0x4
-	RTC_IA64                      = 0x3
-	RTC_POWER                     = 0x1
-	RTC_POWER_PC                  = 0x2
-	RTF_ACTIVE_DGD                = 0x1000000
-	RTF_BCE                       = 0x80000
-	RTF_BLACKHOLE                 = 0x1000
-	RTF_BROADCAST                 = 0x400000
-	RTF_BUL                       = 0x2000
-	RTF_CLONE                     = 0x10000
-	RTF_CLONED                    = 0x20000
-	RTF_CLONING                   = 0x100
-	RTF_DONE                      = 0x40
-	RTF_DYNAMIC                   = 0x10
-	RTF_FREE_IN_PROG              = 0x4000000
-	RTF_GATEWAY                   = 0x2
-	RTF_HOST                      = 0x4
-	RTF_LLINFO                    = 0x400
-	RTF_LOCAL                     = 0x200000
-	RTF_MASK                      = 0x80
-	RTF_MODIFIED                  = 0x20
-	RTF_MULTICAST                 = 0x800000
-	RTF_PERMANENT6                = 0x8000000
-	RTF_PINNED                    = 0x100000
-	RTF_PROTO1                    = 0x8000
-	RTF_PROTO2                    = 0x4000
-	RTF_PROTO3                    = 0x40000
-	RTF_REJECT                    = 0x8
-	RTF_SMALLMTU                  = 0x40000
-	RTF_STATIC                    = 0x800
-	RTF_STOPSRCH                  = 0x2000000
-	RTF_UNREACHABLE               = 0x10000000
-	RTF_UP                        = 0x1
-	RTF_XRESOLVE                  = 0x200
-	RTM_ADD                       = 0x1
-	RTM_CHANGE                    = 0x3
-	RTM_DELADDR                   = 0xd
-	RTM_DELETE                    = 0x2
-	RTM_EXPIRE                    = 0xf
-	RTM_GET                       = 0x4
-	RTM_GETNEXT                   = 0x11
-	RTM_IFINFO                    = 0xe
-	RTM_LOCK                      = 0x8
-	RTM_LOSING                    = 0x5
-	RTM_MISS                      = 0x7
-	RTM_NEWADDR                   = 0xc
-	RTM_OLDADD                    = 0x9
-	RTM_OLDDEL                    = 0xa
-	RTM_REDIRECT                  = 0x6
-	RTM_RESOLVE                   = 0xb
-	RTM_RTLOST                    = 0x10
-	RTM_RTTUNIT                   = 0xf4240
-	RTM_SAMEADDR                  = 0x12
-	RTM_SET                       = 0x13
-	RTM_VERSION                   = 0x2
-	RTM_VERSION_GR                = 0x4
-	RTM_VERSION_GR_COMPAT         = 0x3
-	RTM_VERSION_POLICY            = 0x5
-	RTM_VERSION_POLICY_EXT        = 0x6
-	RTM_VERSION_POLICY_PRFN       = 0x7
-	RTV_EXPIRE                    = 0x4
-	RTV_HOPCOUNT                  = 0x2
-	RTV_MTU                       = 0x1
-	RTV_RPIPE                     = 0x8
-	RTV_RTT                       = 0x40
-	RTV_RTTVAR                    = 0x80
-	RTV_SPIPE                     = 0x10
-	RTV_SSTHRESH                  = 0x20
-	RUSAGE_CHILDREN               = -0x1
-	RUSAGE_SELF                   = 0x0
-	RUSAGE_THREAD                 = 0x1
-	SCM_RIGHTS                    = 0x1
-	SHUT_RD                       = 0x0
-	SHUT_RDWR                     = 0x2
-	SHUT_WR                       = 0x1
-	SIGMAX64                      = 0xff
-	SIGQUEUE_MAX                  = 0x20
-	SIOCADDIFVIPA                 = 0x20006942
-	SIOCADDMTU                    = -0x7ffb9690
-	SIOCADDMULTI                  = -0x7fdf96cf
-	SIOCADDNETID                  = -0x7fd796a9
-	SIOCADDRT                     = -0x7fcf8df6
-	SIOCAIFADDR                   = -0x7fbf96e6
-	SIOCATMARK                    = 0x40047307
-	SIOCDARP                      = -0x7fb396e0
-	SIOCDELIFVIPA                 = 0x20006943
-	SIOCDELMTU                    = -0x7ffb968f
-	SIOCDELMULTI                  = -0x7fdf96ce
-	SIOCDELPMTU                   = -0x7fd78ff6
-	SIOCDELRT                     = -0x7fcf8df5
-	SIOCDIFADDR                   = -0x7fd796e7
-	SIOCDNETOPT                   = -0x3ffe9680
-	SIOCDX25XLATE                 = -0x7fd7969b
-	SIOCFIFADDR                   = -0x7fdf966d
-	SIOCGARP                      = -0x3fb396da
-	SIOCGETMTUS                   = 0x2000696f
-	SIOCGETSGCNT                  = -0x3feb8acc
-	SIOCGETVIFCNT                 = -0x3feb8acd
-	SIOCGHIWAT                    = 0x40047301
-	SIOCGIFADDR                   = -0x3fd796df
-	SIOCGIFADDRS                  = 0x2000698c
-	SIOCGIFBAUDRATE               = -0x3fd79693
-	SIOCGIFBRDADDR                = -0x3fd796dd
-	SIOCGIFCONF                   = -0x3ff796bb
-	SIOCGIFCONFGLOB               = -0x3ff79670
-	SIOCGIFDSTADDR                = -0x3fd796de
-	SIOCGIFFLAGS                  = -0x3fd796ef
-	SIOCGIFGIDLIST                = 0x20006968
-	SIOCGIFHWADDR                 = -0x3fab966b
-	SIOCGIFMETRIC                 = -0x3fd796e9
-	SIOCGIFMTU                    = -0x3fd796aa
-	SIOCGIFNETMASK                = -0x3fd796db
-	SIOCGIFOPTIONS                = -0x3fd796d6
-	SIOCGISNO                     = -0x3fd79695
-	SIOCGLOADF                    = -0x3ffb967e
-	SIOCGLOWAT                    = 0x40047303
-	SIOCGNETOPT                   = -0x3ffe96a5
-	SIOCGNETOPT1                  = -0x3fdf967f
-	SIOCGNMTUS                    = 0x2000696e
-	SIOCGPGRP                     = 0x40047309
-	SIOCGSIZIFCONF                = 0x4004696a
-	SIOCGSRCFILTER                = -0x3fe796cb
-	SIOCGTUNEPHASE                = -0x3ffb9676
-	SIOCGX25XLATE                 = -0x3fd7969c
-	SIOCIFATTACH                  = -0x7fdf9699
-	SIOCIFDETACH                  = -0x7fdf969a
-	SIOCIFGETPKEY                 = -0x7fdf969b
-	SIOCIF_ATM_DARP               = -0x7fdf9683
-	SIOCIF_ATM_DUMPARP            = -0x7fdf9685
-	SIOCIF_ATM_GARP               = -0x7fdf9682
-	SIOCIF_ATM_IDLE               = -0x7fdf9686
-	SIOCIF_ATM_SARP               = -0x7fdf9681
-	SIOCIF_ATM_SNMPARP            = -0x7fdf9687
-	SIOCIF_ATM_SVC                = -0x7fdf9684
-	SIOCIF_ATM_UBR                = -0x7fdf9688
-	SIOCIF_DEVHEALTH              = -0x7ffb966c
-	SIOCIF_IB_ARP_INCOMP          = -0x7fdf9677
-	SIOCIF_IB_ARP_TIMER           = -0x7fdf9678
-	SIOCIF_IB_CLEAR_PINFO         = -0x3fdf966f
-	SIOCIF_IB_DEL_ARP             = -0x7fdf967f
-	SIOCIF_IB_DEL_PINFO           = -0x3fdf9670
-	SIOCIF_IB_DUMP_ARP            = -0x7fdf9680
-	SIOCIF_IB_GET_ARP             = -0x7fdf967e
-	SIOCIF_IB_GET_INFO            = -0x3f879675
-	SIOCIF_IB_GET_STATS           = -0x3f879672
-	SIOCIF_IB_NOTIFY_ADDR_REM     = -0x3f87966a
-	SIOCIF_IB_RESET_STATS         = -0x3f879671
-	SIOCIF_IB_RESIZE_CQ           = -0x7fdf9679
-	SIOCIF_IB_SET_ARP             = -0x7fdf967d
-	SIOCIF_IB_SET_PKEY            = -0x7fdf967c
-	SIOCIF_IB_SET_PORT            = -0x7fdf967b
-	SIOCIF_IB_SET_QKEY            = -0x7fdf9676
-	SIOCIF_IB_SET_QSIZE           = -0x7fdf967a
-	SIOCLISTIFVIPA                = 0x20006944
-	SIOCSARP                      = -0x7fb396e2
-	SIOCSHIWAT                    = 0x80047300
-	SIOCSIFADDR                   = -0x7fd796f4
-	SIOCSIFADDRORI                = -0x7fdb9673
-	SIOCSIFBRDADDR                = -0x7fd796ed
-	SIOCSIFDSTADDR                = -0x7fd796f2
-	SIOCSIFFLAGS                  = -0x7fd796f0
-	SIOCSIFGIDLIST                = 0x20006969
-	SIOCSIFMETRIC                 = -0x7fd796e8
-	SIOCSIFMTU                    = -0x7fd796a8
-	SIOCSIFNETDUMP                = -0x7fd796e4
-	SIOCSIFNETMASK                = -0x7fd796ea
-	SIOCSIFOPTIONS                = -0x7fd796d7
-	SIOCSIFSUBCHAN                = -0x7fd796e5
-	SIOCSISNO                     = -0x7fd79694
-	SIOCSLOADF                    = -0x3ffb967d
-	SIOCSLOWAT                    = 0x80047302
-	SIOCSNETOPT                   = -0x7ffe96a6
-	SIOCSPGRP                     = 0x80047308
-	SIOCSX25XLATE                 = -0x7fd7969d
-	SOCK_CONN_DGRAM               = 0x6
-	SOCK_DGRAM                    = 0x2
-	SOCK_RAW                      = 0x3
-	SOCK_RDM                      = 0x4
-	SOCK_SEQPACKET                = 0x5
-	SOCK_STREAM                   = 0x1
-	SOL_SOCKET                    = 0xffff
-	SOMAXCONN                     = 0x400
-	SO_ACCEPTCONN                 = 0x2
-	SO_AUDIT                      = 0x8000
-	SO_BROADCAST                  = 0x20
-	SO_CKSUMRECV                  = 0x800
-	SO_DEBUG                      = 0x1
-	SO_DONTROUTE                  = 0x10
-	SO_ERROR                      = 0x1007
-	SO_KEEPALIVE                  = 0x8
-	SO_KERNACCEPT                 = 0x2000
-	SO_LINGER                     = 0x80
-	SO_NOMULTIPATH                = 0x4000
-	SO_NOREUSEADDR                = 0x1000
-	SO_OOBINLINE                  = 0x100
-	SO_PEERID                     = 0x1009
-	SO_RCVBUF                     = 0x1002
-	SO_RCVLOWAT                   = 0x1004
-	SO_RCVTIMEO                   = 0x1006
-	SO_REUSEADDR                  = 0x4
-	SO_REUSEPORT                  = 0x200
-	SO_SNDBUF                     = 0x1001
-	SO_SNDLOWAT                   = 0x1003
-	SO_SNDTIMEO                   = 0x1005
-	SO_TIMESTAMPNS                = 0x100a
-	SO_TYPE                       = 0x1008
-	SO_USELOOPBACK                = 0x40
-	SO_USE_IFBUFS                 = 0x400
-	S_BANDURG                     = 0x400
-	S_EMODFMT                     = 0x3c000000
-	S_ENFMT                       = 0x400
-	S_ERROR                       = 0x100
-	S_HANGUP                      = 0x200
-	S_HIPRI                       = 0x2
-	S_ICRYPTO                     = 0x80000
-	S_IEXEC                       = 0x40
-	S_IFBLK                       = 0x6000
-	S_IFCHR                       = 0x2000
-	S_IFDIR                       = 0x4000
-	S_IFIFO                       = 0x1000
-	S_IFJOURNAL                   = 0x10000
-	S_IFLNK                       = 0xa000
-	S_IFMPX                       = 0x2200
-	S_IFMT                        = 0xf000
-	S_IFPDIR                      = 0x4000000
-	S_IFPSDIR                     = 0x8000000
-	S_IFPSSDIR                    = 0xc000000
-	S_IFREG                       = 0x8000
-	S_IFSOCK                      = 0xc000
-	S_IFSYSEA                     = 0x30000000
-	S_INPUT                       = 0x1
-	S_IREAD                       = 0x100
-	S_IRGRP                       = 0x20
-	S_IROTH                       = 0x4
-	S_IRUSR                       = 0x100
-	S_IRWXG                       = 0x38
-	S_IRWXO                       = 0x7
-	S_IRWXU                       = 0x1c0
-	S_ISGID                       = 0x400
-	S_ISUID                       = 0x800
-	S_ISVTX                       = 0x200
-	S_ITCB                        = 0x1000000
-	S_ITP                         = 0x800000
-	S_IWGRP                       = 0x10
-	S_IWOTH                       = 0x2
-	S_IWRITE                      = 0x80
-	S_IWUSR                       = 0x80
-	S_IXACL                       = 0x2000000
-	S_IXATTR                      = 0x40000
-	S_IXGRP                       = 0x8
-	S_IXINTERFACE                 = 0x100000
-	S_IXMOD                       = 0x40000000
-	S_IXOTH                       = 0x1
-	S_IXUSR                       = 0x40
-	S_MSG                         = 0x8
-	S_OUTPUT                      = 0x4
-	S_RDBAND                      = 0x20
-	S_RDNORM                      = 0x10
-	S_RESERVED1                   = 0x20000
-	S_RESERVED2                   = 0x200000
-	S_RESERVED3                   = 0x400000
-	S_RESERVED4                   = 0x80000000
-	S_RESFMT1                     = 0x10000000
-	S_RESFMT10                    = 0x34000000
-	S_RESFMT11                    = 0x38000000
-	S_RESFMT12                    = 0x3c000000
-	S_RESFMT2                     = 0x14000000
-	S_RESFMT3                     = 0x18000000
-	S_RESFMT4                     = 0x1c000000
-	S_RESFMT5                     = 0x20000000
-	S_RESFMT6                     = 0x24000000
-	S_RESFMT7                     = 0x28000000
-	S_RESFMT8                     = 0x2c000000
-	S_WRBAND                      = 0x80
-	S_WRNORM                      = 0x40
-	TAB0                          = 0x0
-	TAB1                          = 0x400
-	TAB2                          = 0x800
-	TAB3                          = 0xc00
-	TABDLY                        = 0xc00
-	TCFLSH                        = 0x540c
-	TCGETA                        = 0x5405
-	TCGETS                        = 0x5401
-	TCIFLUSH                      = 0x0
-	TCIOFF                        = 0x2
-	TCIOFLUSH                     = 0x2
-	TCION                         = 0x3
-	TCOFLUSH                      = 0x1
-	TCOOFF                        = 0x0
-	TCOON                         = 0x1
-	TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800
-	TCP_ACLADD                    = 0x23
-	TCP_ACLBIND                   = 0x26
-	TCP_ACLCLEAR                  = 0x22
-	TCP_ACLDEL                    = 0x24
-	TCP_ACLDENY                   = 0x8
-	TCP_ACLFLUSH                  = 0x21
-	TCP_ACLGID                    = 0x1
-	TCP_ACLLS                     = 0x25
-	TCP_ACLSUBNET                 = 0x4
-	TCP_ACLUID                    = 0x2
-	TCP_CWND_DF                   = 0x16
-	TCP_CWND_IF                   = 0x15
-	TCP_DELAY_ACK_FIN             = 0x2
-	TCP_DELAY_ACK_SYN             = 0x1
-	TCP_FASTNAME                  = 0x101080a
-	TCP_KEEPCNT                   = 0x13
-	TCP_KEEPIDLE                  = 0x11
-	TCP_KEEPINTVL                 = 0x12
-	TCP_LSPRIV                    = 0x29
-	TCP_LUID                      = 0x20
-	TCP_MAXBURST                  = 0x8
-	TCP_MAXDF                     = 0x64
-	TCP_MAXIF                     = 0x64
-	TCP_MAXSEG                    = 0x2
-	TCP_MAXWIN                    = 0xffff
-	TCP_MAXWINDOWSCALE            = 0xe
-	TCP_MAX_SACK                  = 0x4
-	TCP_MSS                       = 0x5b4
-	TCP_NODELAY                   = 0x1
-	TCP_NODELAYACK                = 0x14
-	TCP_NOREDUCE_CWND_EXIT_FRXMT  = 0x19
-	TCP_NOREDUCE_CWND_IN_FRXMT    = 0x18
-	TCP_NOTENTER_SSTART           = 0x17
-	TCP_OPT                       = 0x19
-	TCP_RFC1323                   = 0x4
-	TCP_SETPRIV                   = 0x27
-	TCP_STDURG                    = 0x10
-	TCP_TIMESTAMP_OPTLEN          = 0xc
-	TCP_UNSETPRIV                 = 0x28
-	TCSAFLUSH                     = 0x2
-	TCSBRK                        = 0x5409
-	TCSETA                        = 0x5406
-	TCSETAF                       = 0x5408
-	TCSETAW                       = 0x5407
-	TCSETS                        = 0x5402
-	TCSETSF                       = 0x5404
-	TCSETSW                       = 0x5403
-	TCXONC                        = 0x540b
-	TIOC                          = 0x5400
-	TIOCCBRK                      = 0x2000747a
-	TIOCCDTR                      = 0x20007478
-	TIOCCONS                      = 0x80047462
-	TIOCEXCL                      = 0x2000740d
-	TIOCFLUSH                     = 0x80047410
-	TIOCGETC                      = 0x40067412
-	TIOCGETD                      = 0x40047400
-	TIOCGETP                      = 0x40067408
-	TIOCGLTC                      = 0x40067474
-	TIOCGPGRP                     = 0x40047477
-	TIOCGSID                      = 0x40047448
-	TIOCGSIZE                     = 0x40087468
-	TIOCGWINSZ                    = 0x40087468
-	TIOCHPCL                      = 0x20007402
-	TIOCLBIC                      = 0x8004747e
-	TIOCLBIS                      = 0x8004747f
-	TIOCLGET                      = 0x4004747c
-	TIOCLSET                      = 0x8004747d
-	TIOCMBIC                      = 0x8004746b
-	TIOCMBIS                      = 0x8004746c
-	TIOCMGET                      = 0x4004746a
-	TIOCMIWAIT                    = 0x80047464
-	TIOCMODG                      = 0x40047403
-	TIOCMODS                      = 0x80047404
-	TIOCMSET                      = 0x8004746d
-	TIOCM_CAR                     = 0x40
-	TIOCM_CD                      = 0x40
-	TIOCM_CTS                     = 0x20
-	TIOCM_DSR                     = 0x100
-	TIOCM_DTR                     = 0x2
-	TIOCM_LE                      = 0x1
-	TIOCM_RI                      = 0x80
-	TIOCM_RNG                     = 0x80
-	TIOCM_RTS                     = 0x4
-	TIOCM_SR                      = 0x10
-	TIOCM_ST                      = 0x8
-	TIOCNOTTY                     = 0x20007471
-	TIOCNXCL                      = 0x2000740e
-	TIOCOUTQ                      = 0x40047473
-	TIOCPKT                       = 0x80047470
-	TIOCPKT_DATA                  = 0x0
-	TIOCPKT_DOSTOP                = 0x20
-	TIOCPKT_FLUSHREAD             = 0x1
-	TIOCPKT_FLUSHWRITE            = 0x2
-	TIOCPKT_NOSTOP                = 0x10
-	TIOCPKT_START                 = 0x8
-	TIOCPKT_STOP                  = 0x4
-	TIOCREMOTE                    = 0x80047469
-	TIOCSBRK                      = 0x2000747b
-	TIOCSDTR                      = 0x20007479
-	TIOCSETC                      = 0x80067411
-	TIOCSETD                      = 0x80047401
-	TIOCSETN                      = 0x8006740a
-	TIOCSETP                      = 0x80067409
-	TIOCSLTC                      = 0x80067475
-	TIOCSPGRP                     = 0x80047476
-	TIOCSSIZE                     = 0x80087467
-	TIOCSTART                     = 0x2000746e
-	TIOCSTI                       = 0x80017472
-	TIOCSTOP                      = 0x2000746f
-	TIOCSWINSZ                    = 0x80087467
-	TIOCUCNTL                     = 0x80047466
-	TOSTOP                        = 0x10000
-	UTIME_NOW                     = -0x2
-	UTIME_OMIT                    = -0x3
-	VDISCRD                       = 0xc
-	VDSUSP                        = 0xa
-	VEOF                          = 0x4
-	VEOL                          = 0x5
-	VEOL2                         = 0x6
-	VERASE                        = 0x2
-	VINTR                         = 0x0
-	VKILL                         = 0x3
-	VLNEXT                        = 0xe
-	VMIN                          = 0x4
-	VQUIT                         = 0x1
-	VREPRINT                      = 0xb
-	VSTART                        = 0x7
-	VSTOP                         = 0x8
-	VSTRT                         = 0x7
-	VSUSP                         = 0x9
-	VT0                           = 0x0
-	VT1                           = 0x8000
-	VTDELAY                       = 0x2000
-	VTDLY                         = 0x8000
-	VTIME                         = 0x5
-	VWERSE                        = 0xd
-	WPARSTART                     = 0x1
-	WPARSTOP                      = 0x2
-	WPARTTYNAME                   = "Global"
-	XCASE                         = 0x4
-	XTABS                         = 0xc00
-	_FDATAFLUSH                   = 0x2000000000
-)
-
-// Errors
-const (
-	E2BIG           = syscall.Errno(0x7)
-	EACCES          = syscall.Errno(0xd)
-	EADDRINUSE      = syscall.Errno(0x43)
-	EADDRNOTAVAIL   = syscall.Errno(0x44)
-	EAFNOSUPPORT    = syscall.Errno(0x42)
-	EAGAIN          = syscall.Errno(0xb)
-	EALREADY        = syscall.Errno(0x38)
-	EBADF           = syscall.Errno(0x9)
-	EBADMSG         = syscall.Errno(0x78)
-	EBUSY           = syscall.Errno(0x10)
-	ECANCELED       = syscall.Errno(0x75)
-	ECHILD          = syscall.Errno(0xa)
-	ECHRNG          = syscall.Errno(0x25)
-	ECLONEME        = syscall.Errno(0x52)
-	ECONNABORTED    = syscall.Errno(0x48)
-	ECONNREFUSED    = syscall.Errno(0x4f)
-	ECONNRESET      = syscall.Errno(0x49)
-	ECORRUPT        = syscall.Errno(0x59)
-	EDEADLK         = syscall.Errno(0x2d)
-	EDESTADDREQ     = syscall.Errno(0x3a)
-	EDESTADDRREQ    = syscall.Errno(0x3a)
-	EDIST           = syscall.Errno(0x35)
-	EDOM            = syscall.Errno(0x21)
-	EDQUOT          = syscall.Errno(0x58)
-	EEXIST          = syscall.Errno(0x11)
-	EFAULT          = syscall.Errno(0xe)
-	EFBIG           = syscall.Errno(0x1b)
-	EFORMAT         = syscall.Errno(0x30)
-	EHOSTDOWN       = syscall.Errno(0x50)
-	EHOSTUNREACH    = syscall.Errno(0x51)
-	EIDRM           = syscall.Errno(0x24)
-	EILSEQ          = syscall.Errno(0x74)
-	EINPROGRESS     = syscall.Errno(0x37)
-	EINTR           = syscall.Errno(0x4)
-	EINVAL          = syscall.Errno(0x16)
-	EIO             = syscall.Errno(0x5)
-	EISCONN         = syscall.Errno(0x4b)
-	EISDIR          = syscall.Errno(0x15)
-	EL2HLT          = syscall.Errno(0x2c)
-	EL2NSYNC        = syscall.Errno(0x26)
-	EL3HLT          = syscall.Errno(0x27)
-	EL3RST          = syscall.Errno(0x28)
-	ELNRNG          = syscall.Errno(0x29)
-	ELOOP           = syscall.Errno(0x55)
-	EMEDIA          = syscall.Errno(0x6e)
-	EMFILE          = syscall.Errno(0x18)
-	EMLINK          = syscall.Errno(0x1f)
-	EMSGSIZE        = syscall.Errno(0x3b)
-	EMULTIHOP       = syscall.Errno(0x7d)
-	ENAMETOOLONG    = syscall.Errno(0x56)
-	ENETDOWN        = syscall.Errno(0x45)
-	ENETRESET       = syscall.Errno(0x47)
-	ENETUNREACH     = syscall.Errno(0x46)
-	ENFILE          = syscall.Errno(0x17)
-	ENOATTR         = syscall.Errno(0x70)
-	ENOBUFS         = syscall.Errno(0x4a)
-	ENOCONNECT      = syscall.Errno(0x32)
-	ENOCSI          = syscall.Errno(0x2b)
-	ENODATA         = syscall.Errno(0x7a)
-	ENODEV          = syscall.Errno(0x13)
-	ENOENT          = syscall.Errno(0x2)
-	ENOEXEC         = syscall.Errno(0x8)
-	ENOLCK          = syscall.Errno(0x31)
-	ENOLINK         = syscall.Errno(0x7e)
-	ENOMEM          = syscall.Errno(0xc)
-	ENOMSG          = syscall.Errno(0x23)
-	ENOPROTOOPT     = syscall.Errno(0x3d)
-	ENOSPC          = syscall.Errno(0x1c)
-	ENOSR           = syscall.Errno(0x76)
-	ENOSTR          = syscall.Errno(0x7b)
-	ENOSYS          = syscall.Errno(0x6d)
-	ENOTBLK         = syscall.Errno(0xf)
-	ENOTCONN        = syscall.Errno(0x4c)
-	ENOTDIR         = syscall.Errno(0x14)
-	ENOTEMPTY       = syscall.Errno(0x11)
-	ENOTREADY       = syscall.Errno(0x2e)
-	ENOTRECOVERABLE = syscall.Errno(0x5e)
-	ENOTRUST        = syscall.Errno(0x72)
-	ENOTSOCK        = syscall.Errno(0x39)
-	ENOTSUP         = syscall.Errno(0x7c)
-	ENOTTY          = syscall.Errno(0x19)
-	ENXIO           = syscall.Errno(0x6)
-	EOPNOTSUPP      = syscall.Errno(0x40)
-	EOVERFLOW       = syscall.Errno(0x7f)
-	EOWNERDEAD      = syscall.Errno(0x5f)
-	EPERM           = syscall.Errno(0x1)
-	EPFNOSUPPORT    = syscall.Errno(0x41)
-	EPIPE           = syscall.Errno(0x20)
-	EPROCLIM        = syscall.Errno(0x53)
-	EPROTO          = syscall.Errno(0x79)
-	EPROTONOSUPPORT = syscall.Errno(0x3e)
-	EPROTOTYPE      = syscall.Errno(0x3c)
-	ERANGE          = syscall.Errno(0x22)
-	EREMOTE         = syscall.Errno(0x5d)
-	ERESTART        = syscall.Errno(0x52)
-	EROFS           = syscall.Errno(0x1e)
-	ESAD            = syscall.Errno(0x71)
-	ESHUTDOWN       = syscall.Errno(0x4d)
-	ESOCKTNOSUPPORT = syscall.Errno(0x3f)
-	ESOFT           = syscall.Errno(0x6f)
-	ESPIPE          = syscall.Errno(0x1d)
-	ESRCH           = syscall.Errno(0x3)
-	ESTALE          = syscall.Errno(0x34)
-	ESYSERROR       = syscall.Errno(0x5a)
-	ETIME           = syscall.Errno(0x77)
-	ETIMEDOUT       = syscall.Errno(0x4e)
-	ETOOMANYREFS    = syscall.Errno(0x73)
-	ETXTBSY         = syscall.Errno(0x1a)
-	EUNATCH         = syscall.Errno(0x2a)
-	EUSERS          = syscall.Errno(0x54)
-	EWOULDBLOCK     = syscall.Errno(0xb)
-	EWRPROTECT      = syscall.Errno(0x2f)
-	EXDEV           = syscall.Errno(0x12)
-)
-
-// Signals
-const (
-	SIGABRT     = syscall.Signal(0x6)
-	SIGAIO      = syscall.Signal(0x17)
-	SIGALRM     = syscall.Signal(0xe)
-	SIGALRM1    = syscall.Signal(0x26)
-	SIGBUS      = syscall.Signal(0xa)
-	SIGCAPI     = syscall.Signal(0x31)
-	SIGCHLD     = syscall.Signal(0x14)
-	SIGCLD      = syscall.Signal(0x14)
-	SIGCONT     = syscall.Signal(0x13)
-	SIGCPUFAIL  = syscall.Signal(0x3b)
-	SIGDANGER   = syscall.Signal(0x21)
-	SIGEMT      = syscall.Signal(0x7)
-	SIGFPE      = syscall.Signal(0x8)
-	SIGGRANT    = syscall.Signal(0x3c)
-	SIGHUP      = syscall.Signal(0x1)
-	SIGILL      = syscall.Signal(0x4)
-	SIGINT      = syscall.Signal(0x2)
-	SIGIO       = syscall.Signal(0x17)
-	SIGIOINT    = syscall.Signal(0x10)
-	SIGIOT      = syscall.Signal(0x6)
-	SIGKAP      = syscall.Signal(0x3c)
-	SIGKILL     = syscall.Signal(0x9)
-	SIGLOST     = syscall.Signal(0x6)
-	SIGMAX      = syscall.Signal(0x3f)
-	SIGMAX32    = syscall.Signal(0x3f)
-	SIGMIGRATE  = syscall.Signal(0x23)
-	SIGMSG      = syscall.Signal(0x1b)
-	SIGPIPE     = syscall.Signal(0xd)
-	SIGPOLL     = syscall.Signal(0x17)
-	SIGPRE      = syscall.Signal(0x24)
-	SIGPROF     = syscall.Signal(0x20)
-	SIGPTY      = syscall.Signal(0x17)
-	SIGPWR      = syscall.Signal(0x1d)
-	SIGQUIT     = syscall.Signal(0x3)
-	SIGRECONFIG = syscall.Signal(0x3a)
-	SIGRETRACT  = syscall.Signal(0x3d)
-	SIGSAK      = syscall.Signal(0x3f)
-	SIGSEGV     = syscall.Signal(0xb)
-	SIGSOUND    = syscall.Signal(0x3e)
-	SIGSTOP     = syscall.Signal(0x11)
-	SIGSYS      = syscall.Signal(0xc)
-	SIGSYSERROR = syscall.Signal(0x30)
-	SIGTALRM    = syscall.Signal(0x26)
-	SIGTERM     = syscall.Signal(0xf)
-	SIGTRAP     = syscall.Signal(0x5)
-	SIGTSTP     = syscall.Signal(0x12)
-	SIGTTIN     = syscall.Signal(0x15)
-	SIGTTOU     = syscall.Signal(0x16)
-	SIGURG      = syscall.Signal(0x10)
-	SIGUSR1     = syscall.Signal(0x1e)
-	SIGUSR2     = syscall.Signal(0x1f)
-	SIGVIRT     = syscall.Signal(0x25)
-	SIGVTALRM   = syscall.Signal(0x22)
-	SIGWAITING  = syscall.Signal(0x27)
-	SIGWINCH    = syscall.Signal(0x1c)
-	SIGXCPU     = syscall.Signal(0x18)
-	SIGXFSZ     = syscall.Signal(0x19)
-)
-
-// Error table
-var errorList = [...]struct {
-	num  syscall.Errno
-	name string
-	desc string
-}{
-	{1, "EPERM", "not owner"},
-	{2, "ENOENT", "no such file or directory"},
-	{3, "ESRCH", "no such process"},
-	{4, "EINTR", "interrupted system call"},
-	{5, "EIO", "I/O error"},
-	{6, "ENXIO", "no such device or address"},
-	{7, "E2BIG", "arg list too long"},
-	{8, "ENOEXEC", "exec format error"},
-	{9, "EBADF", "bad file number"},
-	{10, "ECHILD", "no child processes"},
-	{11, "EWOULDBLOCK", "resource temporarily unavailable"},
-	{12, "ENOMEM", "not enough space"},
-	{13, "EACCES", "permission denied"},
-	{14, "EFAULT", "bad address"},
-	{15, "ENOTBLK", "block device required"},
-	{16, "EBUSY", "device busy"},
-	{17, "ENOTEMPTY", "file exists"},
-	{18, "EXDEV", "cross-device link"},
-	{19, "ENODEV", "no such device"},
-	{20, "ENOTDIR", "not a directory"},
-	{21, "EISDIR", "is a directory"},
-	{22, "EINVAL", "invalid argument"},
-	{23, "ENFILE", "file table overflow"},
-	{24, "EMFILE", "too many open files"},
-	{25, "ENOTTY", "not a typewriter"},
-	{26, "ETXTBSY", "text file busy"},
-	{27, "EFBIG", "file too large"},
-	{28, "ENOSPC", "no space left on device"},
-	{29, "ESPIPE", "illegal seek"},
-	{30, "EROFS", "read-only file system"},
-	{31, "EMLINK", "too many links"},
-	{32, "EPIPE", "broken pipe"},
-	{33, "EDOM", "argument out of domain"},
-	{34, "ERANGE", "result too large"},
-	{35, "ENOMSG", "no message of desired type"},
-	{36, "EIDRM", "identifier removed"},
-	{37, "ECHRNG", "channel number out of range"},
-	{38, "EL2NSYNC", "level 2 not synchronized"},
-	{39, "EL3HLT", "level 3 halted"},
-	{40, "EL3RST", "level 3 reset"},
-	{41, "ELNRNG", "link number out of range"},
-	{42, "EUNATCH", "protocol driver not attached"},
-	{43, "ENOCSI", "no CSI structure available"},
-	{44, "EL2HLT", "level 2 halted"},
-	{45, "EDEADLK", "deadlock condition if locked"},
-	{46, "ENOTREADY", "device not ready"},
-	{47, "EWRPROTECT", "write-protected media"},
-	{48, "EFORMAT", "unformatted or incompatible media"},
-	{49, "ENOLCK", "no locks available"},
-	{50, "ENOCONNECT", "cannot Establish Connection"},
-	{52, "ESTALE", "missing file or filesystem"},
-	{53, "EDIST", "requests blocked by Administrator"},
-	{55, "EINPROGRESS", "operation now in progress"},
-	{56, "EALREADY", "operation already in progress"},
-	{57, "ENOTSOCK", "socket operation on non-socket"},
-	{58, "EDESTADDREQ", "destination address required"},
-	{59, "EMSGSIZE", "message too long"},
-	{60, "EPROTOTYPE", "protocol wrong type for socket"},
-	{61, "ENOPROTOOPT", "protocol not available"},
-	{62, "EPROTONOSUPPORT", "protocol not supported"},
-	{63, "ESOCKTNOSUPPORT", "socket type not supported"},
-	{64, "EOPNOTSUPP", "operation not supported on socket"},
-	{65, "EPFNOSUPPORT", "protocol family not supported"},
-	{66, "EAFNOSUPPORT", "addr family not supported by protocol"},
-	{67, "EADDRINUSE", "address already in use"},
-	{68, "EADDRNOTAVAIL", "can't assign requested address"},
-	{69, "ENETDOWN", "network is down"},
-	{70, "ENETUNREACH", "network is unreachable"},
-	{71, "ENETRESET", "network dropped connection on reset"},
-	{72, "ECONNABORTED", "software caused connection abort"},
-	{73, "ECONNRESET", "connection reset by peer"},
-	{74, "ENOBUFS", "no buffer space available"},
-	{75, "EISCONN", "socket is already connected"},
-	{76, "ENOTCONN", "socket is not connected"},
-	{77, "ESHUTDOWN", "can't send after socket shutdown"},
-	{78, "ETIMEDOUT", "connection timed out"},
-	{79, "ECONNREFUSED", "connection refused"},
-	{80, "EHOSTDOWN", "host is down"},
-	{81, "EHOSTUNREACH", "no route to host"},
-	{82, "ERESTART", "restart the system call"},
-	{83, "EPROCLIM", "too many processes"},
-	{84, "EUSERS", "too many users"},
-	{85, "ELOOP", "too many levels of symbolic links"},
-	{86, "ENAMETOOLONG", "file name too long"},
-	{88, "EDQUOT", "disk quota exceeded"},
-	{89, "ECORRUPT", "invalid file system control data detected"},
-	{90, "ESYSERROR", "for future use "},
-	{93, "EREMOTE", "item is not local to host"},
-	{94, "ENOTRECOVERABLE", "state not recoverable "},
-	{95, "EOWNERDEAD", "previous owner died "},
-	{109, "ENOSYS", "function not implemented"},
-	{110, "EMEDIA", "media surface error"},
-	{111, "ESOFT", "I/O completed, but needs relocation"},
-	{112, "ENOATTR", "no attribute found"},
-	{113, "ESAD", "security Authentication Denied"},
-	{114, "ENOTRUST", "not a Trusted Program"},
-	{115, "ETOOMANYREFS", "too many references: can't splice"},
-	{116, "EILSEQ", "invalid wide character"},
-	{117, "ECANCELED", "asynchronous I/O cancelled"},
-	{118, "ENOSR", "out of STREAMS resources"},
-	{119, "ETIME", "system call timed out"},
-	{120, "EBADMSG", "next message has wrong type"},
-	{121, "EPROTO", "error in protocol"},
-	{122, "ENODATA", "no message on stream head read q"},
-	{123, "ENOSTR", "fd not associated with a stream"},
-	{124, "ENOTSUP", "unsupported attribute value"},
-	{125, "EMULTIHOP", "multihop is not allowed"},
-	{126, "ENOLINK", "the server link has been severed"},
-	{127, "EOVERFLOW", "value too large to be stored in data type"},
-}
-
-// Signal table
-var signalList = [...]struct {
-	num  syscall.Signal
-	name string
-	desc string
-}{
-	{1, "SIGHUP", "hangup"},
-	{2, "SIGINT", "interrupt"},
-	{3, "SIGQUIT", "quit"},
-	{4, "SIGILL", "illegal instruction"},
-	{5, "SIGTRAP", "trace/BPT trap"},
-	{6, "SIGIOT", "IOT/Abort trap"},
-	{7, "SIGEMT", "EMT trap"},
-	{8, "SIGFPE", "floating point exception"},
-	{9, "SIGKILL", "killed"},
-	{10, "SIGBUS", "bus error"},
-	{11, "SIGSEGV", "segmentation fault"},
-	{12, "SIGSYS", "bad system call"},
-	{13, "SIGPIPE", "broken pipe"},
-	{14, "SIGALRM", "alarm clock"},
-	{15, "SIGTERM", "terminated"},
-	{16, "SIGURG", "urgent I/O condition"},
-	{17, "SIGSTOP", "stopped (signal)"},
-	{18, "SIGTSTP", "stopped"},
-	{19, "SIGCONT", "continued"},
-	{20, "SIGCHLD", "child exited"},
-	{21, "SIGTTIN", "stopped (tty input)"},
-	{22, "SIGTTOU", "stopped (tty output)"},
-	{23, "SIGIO", "I/O possible/complete"},
-	{24, "SIGXCPU", "cputime limit exceeded"},
-	{25, "SIGXFSZ", "filesize limit exceeded"},
-	{27, "SIGMSG", "input device data"},
-	{28, "SIGWINCH", "window size changes"},
-	{29, "SIGPWR", "power-failure"},
-	{30, "SIGUSR1", "user defined signal 1"},
-	{31, "SIGUSR2", "user defined signal 2"},
-	{32, "SIGPROF", "profiling timer expired"},
-	{33, "SIGDANGER", "paging space low"},
-	{34, "SIGVTALRM", "virtual timer expired"},
-	{35, "SIGMIGRATE", "signal 35"},
-	{36, "SIGPRE", "signal 36"},
-	{37, "SIGVIRT", "signal 37"},
-	{38, "SIGTALRM", "signal 38"},
-	{39, "SIGWAITING", "signal 39"},
-	{48, "SIGSYSERROR", "signal 48"},
-	{49, "SIGCAPI", "signal 49"},
-	{58, "SIGRECONFIG", "signal 58"},
-	{59, "SIGCPUFAIL", "CPU Failure Predicted"},
-	{60, "SIGKAP", "monitor mode granted"},
-	{61, "SIGRETRACT", "monitor mode retracted"},
-	{62, "SIGSOUND", "sound completed"},
-	{63, "SIGSAK", "secure attention"},
-}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
deleted file mode 100644
index ed04fd1..0000000
--- a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
+++ /dev/null
@@ -1,1373 +0,0 @@
-// mkerrors.sh -maix64
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build ppc64,aix
-
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- -maix64 _const.go
-
-package unix
-
-import "syscall"
-
-const (
-	AF_APPLETALK                  = 0x10
-	AF_BYPASS                     = 0x19
-	AF_CCITT                      = 0xa
-	AF_CHAOS                      = 0x5
-	AF_DATAKIT                    = 0x9
-	AF_DECnet                     = 0xc
-	AF_DLI                        = 0xd
-	AF_ECMA                       = 0x8
-	AF_HYLINK                     = 0xf
-	AF_IMPLINK                    = 0x3
-	AF_INET                       = 0x2
-	AF_INET6                      = 0x18
-	AF_INTF                       = 0x14
-	AF_ISO                        = 0x7
-	AF_LAT                        = 0xe
-	AF_LINK                       = 0x12
-	AF_LOCAL                      = 0x1
-	AF_MAX                        = 0x1e
-	AF_NDD                        = 0x17
-	AF_NETWARE                    = 0x16
-	AF_NS                         = 0x6
-	AF_OSI                        = 0x7
-	AF_PUP                        = 0x4
-	AF_RIF                        = 0x15
-	AF_ROUTE                      = 0x11
-	AF_SNA                        = 0xb
-	AF_UNIX                       = 0x1
-	AF_UNSPEC                     = 0x0
-	ALTWERASE                     = 0x400000
-	ARPHRD_802_3                  = 0x6
-	ARPHRD_802_5                  = 0x6
-	ARPHRD_ETHER                  = 0x1
-	ARPHRD_FDDI                   = 0x1
-	B0                            = 0x0
-	B110                          = 0x3
-	B1200                         = 0x9
-	B134                          = 0x4
-	B150                          = 0x5
-	B1800                         = 0xa
-	B19200                        = 0xe
-	B200                          = 0x6
-	B2400                         = 0xb
-	B300                          = 0x7
-	B38400                        = 0xf
-	B4800                         = 0xc
-	B50                           = 0x1
-	B600                          = 0x8
-	B75                           = 0x2
-	B9600                         = 0xd
-	BRKINT                        = 0x2
-	BS0                           = 0x0
-	BS1                           = 0x1000
-	BSDLY                         = 0x1000
-	CAP_AACCT                     = 0x6
-	CAP_ARM_APPLICATION           = 0x5
-	CAP_BYPASS_RAC_VMM            = 0x3
-	CAP_CLEAR                     = 0x0
-	CAP_CREDENTIALS               = 0x7
-	CAP_EFFECTIVE                 = 0x1
-	CAP_EWLM_AGENT                = 0x4
-	CAP_INHERITABLE               = 0x2
-	CAP_MAXIMUM                   = 0x7
-	CAP_NUMA_ATTACH               = 0x2
-	CAP_PERMITTED                 = 0x3
-	CAP_PROPAGATE                 = 0x1
-	CAP_PROPOGATE                 = 0x1
-	CAP_SET                       = 0x1
-	CBAUD                         = 0xf
-	CFLUSH                        = 0xf
-	CIBAUD                        = 0xf0000
-	CLOCAL                        = 0x800
-	CLOCK_MONOTONIC               = 0xa
-	CLOCK_PROCESS_CPUTIME_ID      = 0xb
-	CLOCK_REALTIME                = 0x9
-	CLOCK_THREAD_CPUTIME_ID       = 0xc
-	CR0                           = 0x0
-	CR1                           = 0x100
-	CR2                           = 0x200
-	CR3                           = 0x300
-	CRDLY                         = 0x300
-	CREAD                         = 0x80
-	CS5                           = 0x0
-	CS6                           = 0x10
-	CS7                           = 0x20
-	CS8                           = 0x30
-	CSIOCGIFCONF                  = -0x3fef96dc
-	CSIZE                         = 0x30
-	CSMAP_DIR                     = "/usr/lib/nls/csmap/"
-	CSTART                        = '\021'
-	CSTOP                         = '\023'
-	CSTOPB                        = 0x40
-	CSUSP                         = 0x1a
-	ECHO                          = 0x8
-	ECHOCTL                       = 0x20000
-	ECHOE                         = 0x10
-	ECHOK                         = 0x20
-	ECHOKE                        = 0x80000
-	ECHONL                        = 0x40
-	ECHOPRT                       = 0x40000
-	ECH_ICMPID                    = 0x2
-	ETHERNET_CSMACD               = 0x6
-	EVENP                         = 0x80
-	EXCONTINUE                    = 0x0
-	EXDLOK                        = 0x3
-	EXIO                          = 0x2
-	EXPGIO                        = 0x0
-	EXRESUME                      = 0x2
-	EXRETURN                      = 0x1
-	EXSIG                         = 0x4
-	EXTA                          = 0xe
-	EXTB                          = 0xf
-	EXTRAP                        = 0x1
-	EYEC_RTENTRYA                 = 0x257274656e747241
-	EYEC_RTENTRYF                 = 0x257274656e747246
-	E_ACC                         = 0x0
-	FD_CLOEXEC                    = 0x1
-	FD_SETSIZE                    = 0xfffe
-	FF0                           = 0x0
-	FF1                           = 0x2000
-	FFDLY                         = 0x2000
-	FLUSHBAND                     = 0x40
-	FLUSHLOW                      = 0x8
-	FLUSHO                        = 0x100000
-	FLUSHR                        = 0x1
-	FLUSHRW                       = 0x3
-	FLUSHW                        = 0x2
-	F_CLOSEM                      = 0xa
-	F_DUP2FD                      = 0xe
-	F_DUPFD                       = 0x0
-	F_GETFD                       = 0x1
-	F_GETFL                       = 0x3
-	F_GETLK                       = 0xb
-	F_GETLK64                     = 0xb
-	F_GETOWN                      = 0x8
-	F_LOCK                        = 0x1
-	F_OK                          = 0x0
-	F_RDLCK                       = 0x1
-	F_SETFD                       = 0x2
-	F_SETFL                       = 0x4
-	F_SETLK                       = 0xc
-	F_SETLK64                     = 0xc
-	F_SETLKW                      = 0xd
-	F_SETLKW64                    = 0xd
-	F_SETOWN                      = 0x9
-	F_TEST                        = 0x3
-	F_TLOCK                       = 0x2
-	F_TSTLK                       = 0xf
-	F_ULOCK                       = 0x0
-	F_UNLCK                       = 0x3
-	F_WRLCK                       = 0x2
-	HUPCL                         = 0x400
-	IBSHIFT                       = 0x10
-	ICANON                        = 0x2
-	ICMP6_FILTER                  = 0x26
-	ICMP6_SEC_SEND_DEL            = 0x46
-	ICMP6_SEC_SEND_GET            = 0x47
-	ICMP6_SEC_SEND_SET            = 0x44
-	ICMP6_SEC_SEND_SET_CGA_ADDR   = 0x45
-	ICRNL                         = 0x100
-	IEXTEN                        = 0x200000
-	IFA_FIRSTALIAS                = 0x2000
-	IFA_ROUTE                     = 0x1
-	IFF_64BIT                     = 0x4000000
-	IFF_ALLCAST                   = 0x20000
-	IFF_ALLMULTI                  = 0x200
-	IFF_BPF                       = 0x8000000
-	IFF_BRIDGE                    = 0x40000
-	IFF_BROADCAST                 = 0x2
-	IFF_CANTCHANGE                = 0x80c52
-	IFF_CHECKSUM_OFFLOAD          = 0x10000000
-	IFF_D1                        = 0x8000
-	IFF_D2                        = 0x4000
-	IFF_D3                        = 0x2000
-	IFF_D4                        = 0x1000
-	IFF_DEBUG                     = 0x4
-	IFF_DEVHEALTH                 = 0x4000
-	IFF_DO_HW_LOOPBACK            = 0x10000
-	IFF_GROUP_ROUTING             = 0x2000000
-	IFF_IFBUFMGT                  = 0x800000
-	IFF_LINK0                     = 0x100000
-	IFF_LINK1                     = 0x200000
-	IFF_LINK2                     = 0x400000
-	IFF_LOOPBACK                  = 0x8
-	IFF_MULTICAST                 = 0x80000
-	IFF_NOARP                     = 0x80
-	IFF_NOECHO                    = 0x800
-	IFF_NOTRAILERS                = 0x20
-	IFF_OACTIVE                   = 0x400
-	IFF_POINTOPOINT               = 0x10
-	IFF_PROMISC                   = 0x100
-	IFF_PSEG                      = 0x40000000
-	IFF_RUNNING                   = 0x40
-	IFF_SIMPLEX                   = 0x800
-	IFF_SNAP                      = 0x8000
-	IFF_TCP_DISABLE_CKSUM         = 0x20000000
-	IFF_TCP_NOCKSUM               = 0x1000000
-	IFF_UP                        = 0x1
-	IFF_VIPA                      = 0x80000000
-	IFNAMSIZ                      = 0x10
-	IFO_FLUSH                     = 0x1
-	IFT_1822                      = 0x2
-	IFT_AAL5                      = 0x31
-	IFT_ARCNET                    = 0x23
-	IFT_ARCNETPLUS                = 0x24
-	IFT_ATM                       = 0x25
-	IFT_CEPT                      = 0x13
-	IFT_CLUSTER                   = 0x3e
-	IFT_DS3                       = 0x1e
-	IFT_EON                       = 0x19
-	IFT_ETHER                     = 0x6
-	IFT_FCS                       = 0x3a
-	IFT_FDDI                      = 0xf
-	IFT_FRELAY                    = 0x20
-	IFT_FRELAYDCE                 = 0x2c
-	IFT_GIFTUNNEL                 = 0x3c
-	IFT_HDH1822                   = 0x3
-	IFT_HF                        = 0x3d
-	IFT_HIPPI                     = 0x2f
-	IFT_HSSI                      = 0x2e
-	IFT_HY                        = 0xe
-	IFT_IB                        = 0xc7
-	IFT_ISDNBASIC                 = 0x14
-	IFT_ISDNPRIMARY               = 0x15
-	IFT_ISO88022LLC               = 0x29
-	IFT_ISO88023                  = 0x7
-	IFT_ISO88024                  = 0x8
-	IFT_ISO88025                  = 0x9
-	IFT_ISO88026                  = 0xa
-	IFT_LAPB                      = 0x10
-	IFT_LOCALTALK                 = 0x2a
-	IFT_LOOP                      = 0x18
-	IFT_MIOX25                    = 0x26
-	IFT_MODEM                     = 0x30
-	IFT_NSIP                      = 0x1b
-	IFT_OTHER                     = 0x1
-	IFT_P10                       = 0xc
-	IFT_P80                       = 0xd
-	IFT_PARA                      = 0x22
-	IFT_PPP                       = 0x17
-	IFT_PROPMUX                   = 0x36
-	IFT_PROPVIRTUAL               = 0x35
-	IFT_PTPSERIAL                 = 0x16
-	IFT_RS232                     = 0x21
-	IFT_SDLC                      = 0x11
-	IFT_SIP                       = 0x1f
-	IFT_SLIP                      = 0x1c
-	IFT_SMDSDXI                   = 0x2b
-	IFT_SMDSICIP                  = 0x34
-	IFT_SN                        = 0x38
-	IFT_SONET                     = 0x27
-	IFT_SONETPATH                 = 0x32
-	IFT_SONETVT                   = 0x33
-	IFT_SP                        = 0x39
-	IFT_STARLAN                   = 0xb
-	IFT_T1                        = 0x12
-	IFT_TUNNEL                    = 0x3b
-	IFT_ULTRA                     = 0x1d
-	IFT_V35                       = 0x2d
-	IFT_VIPA                      = 0x37
-	IFT_X25                       = 0x5
-	IFT_X25DDN                    = 0x4
-	IFT_X25PLE                    = 0x28
-	IFT_XETHER                    = 0x1a
-	IGNBRK                        = 0x1
-	IGNCR                         = 0x80
-	IGNPAR                        = 0x4
-	IMAXBEL                       = 0x10000
-	INLCR                         = 0x40
-	INPCK                         = 0x10
-	IN_CLASSA_HOST                = 0xffffff
-	IN_CLASSA_MAX                 = 0x80
-	IN_CLASSA_NET                 = 0xff000000
-	IN_CLASSA_NSHIFT              = 0x18
-	IN_CLASSB_HOST                = 0xffff
-	IN_CLASSB_MAX                 = 0x10000
-	IN_CLASSB_NET                 = 0xffff0000
-	IN_CLASSB_NSHIFT              = 0x10
-	IN_CLASSC_HOST                = 0xff
-	IN_CLASSC_NET                 = 0xffffff00
-	IN_CLASSC_NSHIFT              = 0x8
-	IN_CLASSD_HOST                = 0xfffffff
-	IN_CLASSD_NET                 = 0xf0000000
-	IN_CLASSD_NSHIFT              = 0x1c
-	IN_LOOPBACKNET                = 0x7f
-	IN_USE                        = 0x1
-	IPPROTO_AH                    = 0x33
-	IPPROTO_BIP                   = 0x53
-	IPPROTO_DSTOPTS               = 0x3c
-	IPPROTO_EGP                   = 0x8
-	IPPROTO_EON                   = 0x50
-	IPPROTO_ESP                   = 0x32
-	IPPROTO_FRAGMENT              = 0x2c
-	IPPROTO_GGP                   = 0x3
-	IPPROTO_GIF                   = 0x8c
-	IPPROTO_GRE                   = 0x2f
-	IPPROTO_HOPOPTS               = 0x0
-	IPPROTO_ICMP                  = 0x1
-	IPPROTO_ICMPV6                = 0x3a
-	IPPROTO_IDP                   = 0x16
-	IPPROTO_IGMP                  = 0x2
-	IPPROTO_IP                    = 0x0
-	IPPROTO_IPIP                  = 0x4
-	IPPROTO_IPV6                  = 0x29
-	IPPROTO_LOCAL                 = 0x3f
-	IPPROTO_MAX                   = 0x100
-	IPPROTO_MH                    = 0x87
-	IPPROTO_NONE                  = 0x3b
-	IPPROTO_PUP                   = 0xc
-	IPPROTO_QOS                   = 0x2d
-	IPPROTO_RAW                   = 0xff
-	IPPROTO_ROUTING               = 0x2b
-	IPPROTO_RSVP                  = 0x2e
-	IPPROTO_SCTP                  = 0x84
-	IPPROTO_TCP                   = 0x6
-	IPPROTO_TP                    = 0x1d
-	IPPROTO_UDP                   = 0x11
-	IPV6_ADDRFORM                 = 0x16
-	IPV6_ADDR_PREFERENCES         = 0x4a
-	IPV6_ADD_MEMBERSHIP           = 0xc
-	IPV6_AIXRAWSOCKET             = 0x39
-	IPV6_CHECKSUM                 = 0x27
-	IPV6_DONTFRAG                 = 0x2d
-	IPV6_DROP_MEMBERSHIP          = 0xd
-	IPV6_DSTOPTS                  = 0x36
-	IPV6_FLOWINFO_FLOWLABEL       = 0xffffff
-	IPV6_FLOWINFO_PRIFLOW         = 0xfffffff
-	IPV6_FLOWINFO_PRIORITY        = 0xf000000
-	IPV6_FLOWINFO_SRFLAG          = 0x10000000
-	IPV6_FLOWINFO_VERSION         = 0xf0000000
-	IPV6_HOPLIMIT                 = 0x28
-	IPV6_HOPOPTS                  = 0x34
-	IPV6_JOIN_GROUP               = 0xc
-	IPV6_LEAVE_GROUP              = 0xd
-	IPV6_MIPDSTOPTS               = 0x36
-	IPV6_MULTICAST_HOPS           = 0xa
-	IPV6_MULTICAST_IF             = 0x9
-	IPV6_MULTICAST_LOOP           = 0xb
-	IPV6_NEXTHOP                  = 0x30
-	IPV6_NOPROBE                  = 0x1c
-	IPV6_PATHMTU                  = 0x2e
-	IPV6_PKTINFO                  = 0x21
-	IPV6_PKTOPTIONS               = 0x24
-	IPV6_PRIORITY_10              = 0xa000000
-	IPV6_PRIORITY_11              = 0xb000000
-	IPV6_PRIORITY_12              = 0xc000000
-	IPV6_PRIORITY_13              = 0xd000000
-	IPV6_PRIORITY_14              = 0xe000000
-	IPV6_PRIORITY_15              = 0xf000000
-	IPV6_PRIORITY_8               = 0x8000000
-	IPV6_PRIORITY_9               = 0x9000000
-	IPV6_PRIORITY_BULK            = 0x4000000
-	IPV6_PRIORITY_CONTROL         = 0x7000000
-	IPV6_PRIORITY_FILLER          = 0x1000000
-	IPV6_PRIORITY_INTERACTIVE     = 0x6000000
-	IPV6_PRIORITY_RESERVED1       = 0x3000000
-	IPV6_PRIORITY_RESERVED2       = 0x5000000
-	IPV6_PRIORITY_UNATTENDED      = 0x2000000
-	IPV6_PRIORITY_UNCHARACTERIZED = 0x0
-	IPV6_RECVDSTOPTS              = 0x38
-	IPV6_RECVHOPLIMIT             = 0x29
-	IPV6_RECVHOPOPTS              = 0x35
-	IPV6_RECVHOPS                 = 0x22
-	IPV6_RECVIF                   = 0x1e
-	IPV6_RECVPATHMTU              = 0x2f
-	IPV6_RECVPKTINFO              = 0x23
-	IPV6_RECVRTHDR                = 0x33
-	IPV6_RECVSRCRT                = 0x1d
-	IPV6_RECVTCLASS               = 0x2a
-	IPV6_RTHDR                    = 0x32
-	IPV6_RTHDRDSTOPTS             = 0x37
-	IPV6_RTHDR_TYPE_0             = 0x0
-	IPV6_RTHDR_TYPE_2             = 0x2
-	IPV6_SENDIF                   = 0x1f
-	IPV6_SRFLAG_LOOSE             = 0x0
-	IPV6_SRFLAG_STRICT            = 0x10000000
-	IPV6_TCLASS                   = 0x2b
-	IPV6_TOKEN_LENGTH             = 0x40
-	IPV6_UNICAST_HOPS             = 0x4
-	IPV6_USE_MIN_MTU              = 0x2c
-	IPV6_V6ONLY                   = 0x25
-	IPV6_VERSION                  = 0x60000000
-	IP_ADDRFORM                   = 0x16
-	IP_ADD_MEMBERSHIP             = 0xc
-	IP_ADD_SOURCE_MEMBERSHIP      = 0x3c
-	IP_BLOCK_SOURCE               = 0x3a
-	IP_BROADCAST_IF               = 0x10
-	IP_CACHE_LINE_SIZE            = 0x80
-	IP_DEFAULT_MULTICAST_LOOP     = 0x1
-	IP_DEFAULT_MULTICAST_TTL      = 0x1
-	IP_DF                         = 0x4000
-	IP_DHCPMODE                   = 0x11
-	IP_DONTFRAG                   = 0x19
-	IP_DROP_MEMBERSHIP            = 0xd
-	IP_DROP_SOURCE_MEMBERSHIP     = 0x3d
-	IP_FINDPMTU                   = 0x1a
-	IP_HDRINCL                    = 0x2
-	IP_INC_MEMBERSHIPS            = 0x14
-	IP_INIT_MEMBERSHIP            = 0x14
-	IP_MAXPACKET                  = 0xffff
-	IP_MF                         = 0x2000
-	IP_MSS                        = 0x240
-	IP_MULTICAST_HOPS             = 0xa
-	IP_MULTICAST_IF               = 0x9
-	IP_MULTICAST_LOOP             = 0xb
-	IP_MULTICAST_TTL              = 0xa
-	IP_OPT                        = 0x1b
-	IP_OPTIONS                    = 0x1
-	IP_PMTUAGE                    = 0x1b
-	IP_RECVDSTADDR                = 0x7
-	IP_RECVIF                     = 0x14
-	IP_RECVIFINFO                 = 0xf
-	IP_RECVINTERFACE              = 0x20
-	IP_RECVMACHDR                 = 0xe
-	IP_RECVOPTS                   = 0x5
-	IP_RECVRETOPTS                = 0x6
-	IP_RECVTTL                    = 0x22
-	IP_RETOPTS                    = 0x8
-	IP_SOURCE_FILTER              = 0x48
-	IP_TOS                        = 0x3
-	IP_TTL                        = 0x4
-	IP_UNBLOCK_SOURCE             = 0x3b
-	IP_UNICAST_HOPS               = 0x4
-	ISIG                          = 0x1
-	ISTRIP                        = 0x20
-	IUCLC                         = 0x800
-	IXANY                         = 0x1000
-	IXOFF                         = 0x400
-	IXON                          = 0x200
-	I_FLUSH                       = 0x20005305
-	LNOFLSH                       = 0x8000
-	LOCK_EX                       = 0x2
-	LOCK_NB                       = 0x4
-	LOCK_SH                       = 0x1
-	LOCK_UN                       = 0x8
-	MADV_DONTNEED                 = 0x4
-	MADV_NORMAL                   = 0x0
-	MADV_RANDOM                   = 0x1
-	MADV_SEQUENTIAL               = 0x2
-	MADV_SPACEAVAIL               = 0x5
-	MADV_WILLNEED                 = 0x3
-	MAP_ANON                      = 0x10
-	MAP_ANONYMOUS                 = 0x10
-	MAP_FILE                      = 0x0
-	MAP_FIXED                     = 0x100
-	MAP_PRIVATE                   = 0x2
-	MAP_SHARED                    = 0x1
-	MAP_TYPE                      = 0xf0
-	MAP_VARIABLE                  = 0x0
-	MCL_CURRENT                   = 0x100
-	MCL_FUTURE                    = 0x200
-	MSG_ANY                       = 0x4
-	MSG_ARGEXT                    = 0x400
-	MSG_BAND                      = 0x2
-	MSG_COMPAT                    = 0x8000
-	MSG_CTRUNC                    = 0x20
-	MSG_DONTROUTE                 = 0x4
-	MSG_EOR                       = 0x8
-	MSG_HIPRI                     = 0x1
-	MSG_MAXIOVLEN                 = 0x10
-	MSG_MPEG2                     = 0x80
-	MSG_NONBLOCK                  = 0x4000
-	MSG_NOSIGNAL                  = 0x100
-	MSG_OOB                       = 0x1
-	MSG_PEEK                      = 0x2
-	MSG_TRUNC                     = 0x10
-	MSG_WAITALL                   = 0x40
-	MSG_WAITFORONE                = 0x200
-	MS_ASYNC                      = 0x10
-	MS_EINTR                      = 0x80
-	MS_INVALIDATE                 = 0x40
-	MS_PER_SEC                    = 0x3e8
-	MS_SYNC                       = 0x20
-	NL0                           = 0x0
-	NL1                           = 0x4000
-	NL2                           = 0x8000
-	NL3                           = 0xc000
-	NLDLY                         = 0x4000
-	NOFLSH                        = 0x80
-	NOFLUSH                       = 0x80000000
-	OCRNL                         = 0x8
-	OFDEL                         = 0x80
-	OFILL                         = 0x40
-	OLCUC                         = 0x2
-	ONLCR                         = 0x4
-	ONLRET                        = 0x20
-	ONOCR                         = 0x10
-	ONOEOT                        = 0x80000
-	OPOST                         = 0x1
-	OXTABS                        = 0x40000
-	O_ACCMODE                     = 0x23
-	O_APPEND                      = 0x8
-	O_CIO                         = 0x80
-	O_CIOR                        = 0x800000000
-	O_CLOEXEC                     = 0x800000
-	O_CREAT                       = 0x100
-	O_DEFER                       = 0x2000
-	O_DELAY                       = 0x4000
-	O_DIRECT                      = 0x8000000
-	O_DIRECTORY                   = 0x80000
-	O_DSYNC                       = 0x400000
-	O_EFSOFF                      = 0x400000000
-	O_EFSON                       = 0x200000000
-	O_EXCL                        = 0x400
-	O_EXEC                        = 0x20
-	O_LARGEFILE                   = 0x4000000
-	O_NDELAY                      = 0x8000
-	O_NOCACHE                     = 0x100000
-	O_NOCTTY                      = 0x800
-	O_NOFOLLOW                    = 0x1000000
-	O_NONBLOCK                    = 0x4
-	O_NONE                        = 0x3
-	O_NSHARE                      = 0x10000
-	O_RAW                         = 0x100000000
-	O_RDONLY                      = 0x0
-	O_RDWR                        = 0x2
-	O_RSHARE                      = 0x1000
-	O_RSYNC                       = 0x200000
-	O_SEARCH                      = 0x20
-	O_SNAPSHOT                    = 0x40
-	O_SYNC                        = 0x10
-	O_TRUNC                       = 0x200
-	O_TTY_INIT                    = 0x0
-	O_WRONLY                      = 0x1
-	PARENB                        = 0x100
-	PAREXT                        = 0x100000
-	PARMRK                        = 0x8
-	PARODD                        = 0x200
-	PENDIN                        = 0x20000000
-	PRIO_PGRP                     = 0x1
-	PRIO_PROCESS                  = 0x0
-	PRIO_USER                     = 0x2
-	PROT_EXEC                     = 0x4
-	PROT_NONE                     = 0x0
-	PROT_READ                     = 0x1
-	PROT_WRITE                    = 0x2
-	PR_64BIT                      = 0x20
-	PR_ADDR                       = 0x2
-	PR_ARGEXT                     = 0x400
-	PR_ATOMIC                     = 0x1
-	PR_CONNREQUIRED               = 0x4
-	PR_FASTHZ                     = 0x5
-	PR_INP                        = 0x40
-	PR_INTRLEVEL                  = 0x8000
-	PR_MLS                        = 0x100
-	PR_MLS_1_LABEL                = 0x200
-	PR_NOEOR                      = 0x4000
-	PR_RIGHTS                     = 0x10
-	PR_SLOWHZ                     = 0x2
-	PR_WANTRCVD                   = 0x8
-	RLIMIT_AS                     = 0x6
-	RLIMIT_CORE                   = 0x4
-	RLIMIT_CPU                    = 0x0
-	RLIMIT_DATA                   = 0x2
-	RLIMIT_FSIZE                  = 0x1
-	RLIMIT_NOFILE                 = 0x7
-	RLIMIT_NPROC                  = 0x9
-	RLIMIT_RSS                    = 0x5
-	RLIMIT_STACK                  = 0x3
-	RLIM_INFINITY                 = 0x7fffffffffffffff
-	RTAX_AUTHOR                   = 0x6
-	RTAX_BRD                      = 0x7
-	RTAX_DST                      = 0x0
-	RTAX_GATEWAY                  = 0x1
-	RTAX_GENMASK                  = 0x3
-	RTAX_IFA                      = 0x5
-	RTAX_IFP                      = 0x4
-	RTAX_MAX                      = 0x8
-	RTAX_NETMASK                  = 0x2
-	RTA_AUTHOR                    = 0x40
-	RTA_BRD                       = 0x80
-	RTA_DOWNSTREAM                = 0x100
-	RTA_DST                       = 0x1
-	RTA_GATEWAY                   = 0x2
-	RTA_GENMASK                   = 0x8
-	RTA_IFA                       = 0x20
-	RTA_IFP                       = 0x10
-	RTA_NETMASK                   = 0x4
-	RTC_IA64                      = 0x3
-	RTC_POWER                     = 0x1
-	RTC_POWER_PC                  = 0x2
-	RTF_ACTIVE_DGD                = 0x1000000
-	RTF_BCE                       = 0x80000
-	RTF_BLACKHOLE                 = 0x1000
-	RTF_BROADCAST                 = 0x400000
-	RTF_BUL                       = 0x2000
-	RTF_CLONE                     = 0x10000
-	RTF_CLONED                    = 0x20000
-	RTF_CLONING                   = 0x100
-	RTF_DONE                      = 0x40
-	RTF_DYNAMIC                   = 0x10
-	RTF_FREE_IN_PROG              = 0x4000000
-	RTF_GATEWAY                   = 0x2
-	RTF_HOST                      = 0x4
-	RTF_LLINFO                    = 0x400
-	RTF_LOCAL                     = 0x200000
-	RTF_MASK                      = 0x80
-	RTF_MODIFIED                  = 0x20
-	RTF_MULTICAST                 = 0x800000
-	RTF_PERMANENT6                = 0x8000000
-	RTF_PINNED                    = 0x100000
-	RTF_PROTO1                    = 0x8000
-	RTF_PROTO2                    = 0x4000
-	RTF_PROTO3                    = 0x40000
-	RTF_REJECT                    = 0x8
-	RTF_SMALLMTU                  = 0x40000
-	RTF_STATIC                    = 0x800
-	RTF_STOPSRCH                  = 0x2000000
-	RTF_UNREACHABLE               = 0x10000000
-	RTF_UP                        = 0x1
-	RTF_XRESOLVE                  = 0x200
-	RTM_ADD                       = 0x1
-	RTM_CHANGE                    = 0x3
-	RTM_DELADDR                   = 0xd
-	RTM_DELETE                    = 0x2
-	RTM_EXPIRE                    = 0xf
-	RTM_GET                       = 0x4
-	RTM_GETNEXT                   = 0x11
-	RTM_IFINFO                    = 0xe
-	RTM_LOCK                      = 0x8
-	RTM_LOSING                    = 0x5
-	RTM_MISS                      = 0x7
-	RTM_NEWADDR                   = 0xc
-	RTM_OLDADD                    = 0x9
-	RTM_OLDDEL                    = 0xa
-	RTM_REDIRECT                  = 0x6
-	RTM_RESOLVE                   = 0xb
-	RTM_RTLOST                    = 0x10
-	RTM_RTTUNIT                   = 0xf4240
-	RTM_SAMEADDR                  = 0x12
-	RTM_SET                       = 0x13
-	RTM_VERSION                   = 0x2
-	RTM_VERSION_GR                = 0x4
-	RTM_VERSION_GR_COMPAT         = 0x3
-	RTM_VERSION_POLICY            = 0x5
-	RTM_VERSION_POLICY_EXT        = 0x6
-	RTM_VERSION_POLICY_PRFN       = 0x7
-	RTV_EXPIRE                    = 0x4
-	RTV_HOPCOUNT                  = 0x2
-	RTV_MTU                       = 0x1
-	RTV_RPIPE                     = 0x8
-	RTV_RTT                       = 0x40
-	RTV_RTTVAR                    = 0x80
-	RTV_SPIPE                     = 0x10
-	RTV_SSTHRESH                  = 0x20
-	RUSAGE_CHILDREN               = -0x1
-	RUSAGE_SELF                   = 0x0
-	RUSAGE_THREAD                 = 0x1
-	SCM_RIGHTS                    = 0x1
-	SHUT_RD                       = 0x0
-	SHUT_RDWR                     = 0x2
-	SHUT_WR                       = 0x1
-	SIGMAX64                      = 0xff
-	SIGQUEUE_MAX                  = 0x20
-	SIOCADDIFVIPA                 = 0x20006942
-	SIOCADDMTU                    = -0x7ffb9690
-	SIOCADDMULTI                  = -0x7fdf96cf
-	SIOCADDNETID                  = -0x7fd796a9
-	SIOCADDRT                     = -0x7fc78df6
-	SIOCAIFADDR                   = -0x7fbf96e6
-	SIOCATMARK                    = 0x40047307
-	SIOCDARP                      = -0x7fb396e0
-	SIOCDELIFVIPA                 = 0x20006943
-	SIOCDELMTU                    = -0x7ffb968f
-	SIOCDELMULTI                  = -0x7fdf96ce
-	SIOCDELPMTU                   = -0x7fd78ff6
-	SIOCDELRT                     = -0x7fc78df5
-	SIOCDIFADDR                   = -0x7fd796e7
-	SIOCDNETOPT                   = -0x3ffe9680
-	SIOCDX25XLATE                 = -0x7fd7969b
-	SIOCFIFADDR                   = -0x7fdf966d
-	SIOCGARP                      = -0x3fb396da
-	SIOCGETMTUS                   = 0x2000696f
-	SIOCGETSGCNT                  = -0x3feb8acc
-	SIOCGETVIFCNT                 = -0x3feb8acd
-	SIOCGHIWAT                    = 0x40047301
-	SIOCGIFADDR                   = -0x3fd796df
-	SIOCGIFADDRS                  = 0x2000698c
-	SIOCGIFBAUDRATE               = -0x3fd79693
-	SIOCGIFBRDADDR                = -0x3fd796dd
-	SIOCGIFCONF                   = -0x3fef96bb
-	SIOCGIFCONFGLOB               = -0x3fef9670
-	SIOCGIFDSTADDR                = -0x3fd796de
-	SIOCGIFFLAGS                  = -0x3fd796ef
-	SIOCGIFGIDLIST                = 0x20006968
-	SIOCGIFHWADDR                 = -0x3fab966b
-	SIOCGIFMETRIC                 = -0x3fd796e9
-	SIOCGIFMTU                    = -0x3fd796aa
-	SIOCGIFNETMASK                = -0x3fd796db
-	SIOCGIFOPTIONS                = -0x3fd796d6
-	SIOCGISNO                     = -0x3fd79695
-	SIOCGLOADF                    = -0x3ffb967e
-	SIOCGLOWAT                    = 0x40047303
-	SIOCGNETOPT                   = -0x3ffe96a5
-	SIOCGNETOPT1                  = -0x3fdf967f
-	SIOCGNMTUS                    = 0x2000696e
-	SIOCGPGRP                     = 0x40047309
-	SIOCGSIZIFCONF                = 0x4004696a
-	SIOCGSRCFILTER                = -0x3fe796cb
-	SIOCGTUNEPHASE                = -0x3ffb9676
-	SIOCGX25XLATE                 = -0x3fd7969c
-	SIOCIFATTACH                  = -0x7fdf9699
-	SIOCIFDETACH                  = -0x7fdf969a
-	SIOCIFGETPKEY                 = -0x7fdf969b
-	SIOCIF_ATM_DARP               = -0x7fdf9683
-	SIOCIF_ATM_DUMPARP            = -0x7fdf9685
-	SIOCIF_ATM_GARP               = -0x7fdf9682
-	SIOCIF_ATM_IDLE               = -0x7fdf9686
-	SIOCIF_ATM_SARP               = -0x7fdf9681
-	SIOCIF_ATM_SNMPARP            = -0x7fdf9687
-	SIOCIF_ATM_SVC                = -0x7fdf9684
-	SIOCIF_ATM_UBR                = -0x7fdf9688
-	SIOCIF_DEVHEALTH              = -0x7ffb966c
-	SIOCIF_IB_ARP_INCOMP          = -0x7fdf9677
-	SIOCIF_IB_ARP_TIMER           = -0x7fdf9678
-	SIOCIF_IB_CLEAR_PINFO         = -0x3fdf966f
-	SIOCIF_IB_DEL_ARP             = -0x7fdf967f
-	SIOCIF_IB_DEL_PINFO           = -0x3fdf9670
-	SIOCIF_IB_DUMP_ARP            = -0x7fdf9680
-	SIOCIF_IB_GET_ARP             = -0x7fdf967e
-	SIOCIF_IB_GET_INFO            = -0x3f879675
-	SIOCIF_IB_GET_STATS           = -0x3f879672
-	SIOCIF_IB_NOTIFY_ADDR_REM     = -0x3f87966a
-	SIOCIF_IB_RESET_STATS         = -0x3f879671
-	SIOCIF_IB_RESIZE_CQ           = -0x7fdf9679
-	SIOCIF_IB_SET_ARP             = -0x7fdf967d
-	SIOCIF_IB_SET_PKEY            = -0x7fdf967c
-	SIOCIF_IB_SET_PORT            = -0x7fdf967b
-	SIOCIF_IB_SET_QKEY            = -0x7fdf9676
-	SIOCIF_IB_SET_QSIZE           = -0x7fdf967a
-	SIOCLISTIFVIPA                = 0x20006944
-	SIOCSARP                      = -0x7fb396e2
-	SIOCSHIWAT                    = 0xffffffff80047300
-	SIOCSIFADDR                   = -0x7fd796f4
-	SIOCSIFADDRORI                = -0x7fdb9673
-	SIOCSIFBRDADDR                = -0x7fd796ed
-	SIOCSIFDSTADDR                = -0x7fd796f2
-	SIOCSIFFLAGS                  = -0x7fd796f0
-	SIOCSIFGIDLIST                = 0x20006969
-	SIOCSIFMETRIC                 = -0x7fd796e8
-	SIOCSIFMTU                    = -0x7fd796a8
-	SIOCSIFNETDUMP                = -0x7fd796e4
-	SIOCSIFNETMASK                = -0x7fd796ea
-	SIOCSIFOPTIONS                = -0x7fd796d7
-	SIOCSIFSUBCHAN                = -0x7fd796e5
-	SIOCSISNO                     = -0x7fd79694
-	SIOCSLOADF                    = -0x3ffb967d
-	SIOCSLOWAT                    = 0xffffffff80047302
-	SIOCSNETOPT                   = -0x7ffe96a6
-	SIOCSPGRP                     = 0xffffffff80047308
-	SIOCSX25XLATE                 = -0x7fd7969d
-	SOCK_CONN_DGRAM               = 0x6
-	SOCK_DGRAM                    = 0x2
-	SOCK_RAW                      = 0x3
-	SOCK_RDM                      = 0x4
-	SOCK_SEQPACKET                = 0x5
-	SOCK_STREAM                   = 0x1
-	SOL_SOCKET                    = 0xffff
-	SOMAXCONN                     = 0x400
-	SO_ACCEPTCONN                 = 0x2
-	SO_AUDIT                      = 0x8000
-	SO_BROADCAST                  = 0x20
-	SO_CKSUMRECV                  = 0x800
-	SO_DEBUG                      = 0x1
-	SO_DONTROUTE                  = 0x10
-	SO_ERROR                      = 0x1007
-	SO_KEEPALIVE                  = 0x8
-	SO_KERNACCEPT                 = 0x2000
-	SO_LINGER                     = 0x80
-	SO_NOMULTIPATH                = 0x4000
-	SO_NOREUSEADDR                = 0x1000
-	SO_OOBINLINE                  = 0x100
-	SO_PEERID                     = 0x1009
-	SO_RCVBUF                     = 0x1002
-	SO_RCVLOWAT                   = 0x1004
-	SO_RCVTIMEO                   = 0x1006
-	SO_REUSEADDR                  = 0x4
-	SO_REUSEPORT                  = 0x200
-	SO_SNDBUF                     = 0x1001
-	SO_SNDLOWAT                   = 0x1003
-	SO_SNDTIMEO                   = 0x1005
-	SO_TIMESTAMPNS                = 0x100a
-	SO_TYPE                       = 0x1008
-	SO_USELOOPBACK                = 0x40
-	SO_USE_IFBUFS                 = 0x400
-	S_BANDURG                     = 0x400
-	S_EMODFMT                     = 0x3c000000
-	S_ENFMT                       = 0x400
-	S_ERROR                       = 0x100
-	S_HANGUP                      = 0x200
-	S_HIPRI                       = 0x2
-	S_ICRYPTO                     = 0x80000
-	S_IEXEC                       = 0x40
-	S_IFBLK                       = 0x6000
-	S_IFCHR                       = 0x2000
-	S_IFDIR                       = 0x4000
-	S_IFIFO                       = 0x1000
-	S_IFJOURNAL                   = 0x10000
-	S_IFLNK                       = 0xa000
-	S_IFMPX                       = 0x2200
-	S_IFMT                        = 0xf000
-	S_IFPDIR                      = 0x4000000
-	S_IFPSDIR                     = 0x8000000
-	S_IFPSSDIR                    = 0xc000000
-	S_IFREG                       = 0x8000
-	S_IFSOCK                      = 0xc000
-	S_IFSYSEA                     = 0x30000000
-	S_INPUT                       = 0x1
-	S_IREAD                       = 0x100
-	S_IRGRP                       = 0x20
-	S_IROTH                       = 0x4
-	S_IRUSR                       = 0x100
-	S_IRWXG                       = 0x38
-	S_IRWXO                       = 0x7
-	S_IRWXU                       = 0x1c0
-	S_ISGID                       = 0x400
-	S_ISUID                       = 0x800
-	S_ISVTX                       = 0x200
-	S_ITCB                        = 0x1000000
-	S_ITP                         = 0x800000
-	S_IWGRP                       = 0x10
-	S_IWOTH                       = 0x2
-	S_IWRITE                      = 0x80
-	S_IWUSR                       = 0x80
-	S_IXACL                       = 0x2000000
-	S_IXATTR                      = 0x40000
-	S_IXGRP                       = 0x8
-	S_IXINTERFACE                 = 0x100000
-	S_IXMOD                       = 0x40000000
-	S_IXOTH                       = 0x1
-	S_IXUSR                       = 0x40
-	S_MSG                         = 0x8
-	S_OUTPUT                      = 0x4
-	S_RDBAND                      = 0x20
-	S_RDNORM                      = 0x10
-	S_RESERVED1                   = 0x20000
-	S_RESERVED2                   = 0x200000
-	S_RESERVED3                   = 0x400000
-	S_RESERVED4                   = 0x80000000
-	S_RESFMT1                     = 0x10000000
-	S_RESFMT10                    = 0x34000000
-	S_RESFMT11                    = 0x38000000
-	S_RESFMT12                    = 0x3c000000
-	S_RESFMT2                     = 0x14000000
-	S_RESFMT3                     = 0x18000000
-	S_RESFMT4                     = 0x1c000000
-	S_RESFMT5                     = 0x20000000
-	S_RESFMT6                     = 0x24000000
-	S_RESFMT7                     = 0x28000000
-	S_RESFMT8                     = 0x2c000000
-	S_WRBAND                      = 0x80
-	S_WRNORM                      = 0x40
-	TAB0                          = 0x0
-	TAB1                          = 0x400
-	TAB2                          = 0x800
-	TAB3                          = 0xc00
-	TABDLY                        = 0xc00
-	TCFLSH                        = 0x540c
-	TCGETA                        = 0x5405
-	TCGETS                        = 0x5401
-	TCIFLUSH                      = 0x0
-	TCIOFF                        = 0x2
-	TCIOFLUSH                     = 0x2
-	TCION                         = 0x3
-	TCOFLUSH                      = 0x1
-	TCOOFF                        = 0x0
-	TCOON                         = 0x1
-	TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800
-	TCP_ACLADD                    = 0x23
-	TCP_ACLBIND                   = 0x26
-	TCP_ACLCLEAR                  = 0x22
-	TCP_ACLDEL                    = 0x24
-	TCP_ACLDENY                   = 0x8
-	TCP_ACLFLUSH                  = 0x21
-	TCP_ACLGID                    = 0x1
-	TCP_ACLLS                     = 0x25
-	TCP_ACLSUBNET                 = 0x4
-	TCP_ACLUID                    = 0x2
-	TCP_CWND_DF                   = 0x16
-	TCP_CWND_IF                   = 0x15
-	TCP_DELAY_ACK_FIN             = 0x2
-	TCP_DELAY_ACK_SYN             = 0x1
-	TCP_FASTNAME                  = 0x101080a
-	TCP_KEEPCNT                   = 0x13
-	TCP_KEEPIDLE                  = 0x11
-	TCP_KEEPINTVL                 = 0x12
-	TCP_LSPRIV                    = 0x29
-	TCP_LUID                      = 0x20
-	TCP_MAXBURST                  = 0x8
-	TCP_MAXDF                     = 0x64
-	TCP_MAXIF                     = 0x64
-	TCP_MAXSEG                    = 0x2
-	TCP_MAXWIN                    = 0xffff
-	TCP_MAXWINDOWSCALE            = 0xe
-	TCP_MAX_SACK                  = 0x4
-	TCP_MSS                       = 0x5b4
-	TCP_NODELAY                   = 0x1
-	TCP_NODELAYACK                = 0x14
-	TCP_NOREDUCE_CWND_EXIT_FRXMT  = 0x19
-	TCP_NOREDUCE_CWND_IN_FRXMT    = 0x18
-	TCP_NOTENTER_SSTART           = 0x17
-	TCP_OPT                       = 0x19
-	TCP_RFC1323                   = 0x4
-	TCP_SETPRIV                   = 0x27
-	TCP_STDURG                    = 0x10
-	TCP_TIMESTAMP_OPTLEN          = 0xc
-	TCP_UNSETPRIV                 = 0x28
-	TCSAFLUSH                     = 0x2
-	TCSBRK                        = 0x5409
-	TCSETA                        = 0x5406
-	TCSETAF                       = 0x5408
-	TCSETAW                       = 0x5407
-	TCSETS                        = 0x5402
-	TCSETSF                       = 0x5404
-	TCSETSW                       = 0x5403
-	TCXONC                        = 0x540b
-	TIOC                          = 0x5400
-	TIOCCBRK                      = 0x2000747a
-	TIOCCDTR                      = 0x20007478
-	TIOCCONS                      = 0xffffffff80047462
-	TIOCEXCL                      = 0x2000740d
-	TIOCFLUSH                     = 0xffffffff80047410
-	TIOCGETC                      = 0x40067412
-	TIOCGETD                      = 0x40047400
-	TIOCGETP                      = 0x40067408
-	TIOCGLTC                      = 0x40067474
-	TIOCGPGRP                     = 0x40047477
-	TIOCGSID                      = 0x40047448
-	TIOCGSIZE                     = 0x40087468
-	TIOCGWINSZ                    = 0x40087468
-	TIOCHPCL                      = 0x20007402
-	TIOCLBIC                      = 0xffffffff8004747e
-	TIOCLBIS                      = 0xffffffff8004747f
-	TIOCLGET                      = 0x4004747c
-	TIOCLSET                      = 0xffffffff8004747d
-	TIOCMBIC                      = 0xffffffff8004746b
-	TIOCMBIS                      = 0xffffffff8004746c
-	TIOCMGET                      = 0x4004746a
-	TIOCMIWAIT                    = 0xffffffff80047464
-	TIOCMODG                      = 0x40047403
-	TIOCMODS                      = 0xffffffff80047404
-	TIOCMSET                      = 0xffffffff8004746d
-	TIOCM_CAR                     = 0x40
-	TIOCM_CD                      = 0x40
-	TIOCM_CTS                     = 0x20
-	TIOCM_DSR                     = 0x100
-	TIOCM_DTR                     = 0x2
-	TIOCM_LE                      = 0x1
-	TIOCM_RI                      = 0x80
-	TIOCM_RNG                     = 0x80
-	TIOCM_RTS                     = 0x4
-	TIOCM_SR                      = 0x10
-	TIOCM_ST                      = 0x8
-	TIOCNOTTY                     = 0x20007471
-	TIOCNXCL                      = 0x2000740e
-	TIOCOUTQ                      = 0x40047473
-	TIOCPKT                       = 0xffffffff80047470
-	TIOCPKT_DATA                  = 0x0
-	TIOCPKT_DOSTOP                = 0x20
-	TIOCPKT_FLUSHREAD             = 0x1
-	TIOCPKT_FLUSHWRITE            = 0x2
-	TIOCPKT_NOSTOP                = 0x10
-	TIOCPKT_START                 = 0x8
-	TIOCPKT_STOP                  = 0x4
-	TIOCREMOTE                    = 0xffffffff80047469
-	TIOCSBRK                      = 0x2000747b
-	TIOCSDTR                      = 0x20007479
-	TIOCSETC                      = 0xffffffff80067411
-	TIOCSETD                      = 0xffffffff80047401
-	TIOCSETN                      = 0xffffffff8006740a
-	TIOCSETP                      = 0xffffffff80067409
-	TIOCSLTC                      = 0xffffffff80067475
-	TIOCSPGRP                     = 0xffffffff80047476
-	TIOCSSIZE                     = 0xffffffff80087467
-	TIOCSTART                     = 0x2000746e
-	TIOCSTI                       = 0xffffffff80017472
-	TIOCSTOP                      = 0x2000746f
-	TIOCSWINSZ                    = 0xffffffff80087467
-	TIOCUCNTL                     = 0xffffffff80047466
-	TOSTOP                        = 0x10000
-	UTIME_NOW                     = -0x2
-	UTIME_OMIT                    = -0x3
-	VDISCRD                       = 0xc
-	VDSUSP                        = 0xa
-	VEOF                          = 0x4
-	VEOL                          = 0x5
-	VEOL2                         = 0x6
-	VERASE                        = 0x2
-	VINTR                         = 0x0
-	VKILL                         = 0x3
-	VLNEXT                        = 0xe
-	VMIN                          = 0x4
-	VQUIT                         = 0x1
-	VREPRINT                      = 0xb
-	VSTART                        = 0x7
-	VSTOP                         = 0x8
-	VSTRT                         = 0x7
-	VSUSP                         = 0x9
-	VT0                           = 0x0
-	VT1                           = 0x8000
-	VTDELAY                       = 0x2000
-	VTDLY                         = 0x8000
-	VTIME                         = 0x5
-	VWERSE                        = 0xd
-	WPARSTART                     = 0x1
-	WPARSTOP                      = 0x2
-	WPARTTYNAME                   = "Global"
-	XCASE                         = 0x4
-	XTABS                         = 0xc00
-	_FDATAFLUSH                   = 0x2000000000
-)
-
-// Errors
-const (
-	E2BIG           = syscall.Errno(0x7)
-	EACCES          = syscall.Errno(0xd)
-	EADDRINUSE      = syscall.Errno(0x43)
-	EADDRNOTAVAIL   = syscall.Errno(0x44)
-	EAFNOSUPPORT    = syscall.Errno(0x42)
-	EAGAIN          = syscall.Errno(0xb)
-	EALREADY        = syscall.Errno(0x38)
-	EBADF           = syscall.Errno(0x9)
-	EBADMSG         = syscall.Errno(0x78)
-	EBUSY           = syscall.Errno(0x10)
-	ECANCELED       = syscall.Errno(0x75)
-	ECHILD          = syscall.Errno(0xa)
-	ECHRNG          = syscall.Errno(0x25)
-	ECLONEME        = syscall.Errno(0x52)
-	ECONNABORTED    = syscall.Errno(0x48)
-	ECONNREFUSED    = syscall.Errno(0x4f)
-	ECONNRESET      = syscall.Errno(0x49)
-	ECORRUPT        = syscall.Errno(0x59)
-	EDEADLK         = syscall.Errno(0x2d)
-	EDESTADDREQ     = syscall.Errno(0x3a)
-	EDESTADDRREQ    = syscall.Errno(0x3a)
-	EDIST           = syscall.Errno(0x35)
-	EDOM            = syscall.Errno(0x21)
-	EDQUOT          = syscall.Errno(0x58)
-	EEXIST          = syscall.Errno(0x11)
-	EFAULT          = syscall.Errno(0xe)
-	EFBIG           = syscall.Errno(0x1b)
-	EFORMAT         = syscall.Errno(0x30)
-	EHOSTDOWN       = syscall.Errno(0x50)
-	EHOSTUNREACH    = syscall.Errno(0x51)
-	EIDRM           = syscall.Errno(0x24)
-	EILSEQ          = syscall.Errno(0x74)
-	EINPROGRESS     = syscall.Errno(0x37)
-	EINTR           = syscall.Errno(0x4)
-	EINVAL          = syscall.Errno(0x16)
-	EIO             = syscall.Errno(0x5)
-	EISCONN         = syscall.Errno(0x4b)
-	EISDIR          = syscall.Errno(0x15)
-	EL2HLT          = syscall.Errno(0x2c)
-	EL2NSYNC        = syscall.Errno(0x26)
-	EL3HLT          = syscall.Errno(0x27)
-	EL3RST          = syscall.Errno(0x28)
-	ELNRNG          = syscall.Errno(0x29)
-	ELOOP           = syscall.Errno(0x55)
-	EMEDIA          = syscall.Errno(0x6e)
-	EMFILE          = syscall.Errno(0x18)
-	EMLINK          = syscall.Errno(0x1f)
-	EMSGSIZE        = syscall.Errno(0x3b)
-	EMULTIHOP       = syscall.Errno(0x7d)
-	ENAMETOOLONG    = syscall.Errno(0x56)
-	ENETDOWN        = syscall.Errno(0x45)
-	ENETRESET       = syscall.Errno(0x47)
-	ENETUNREACH     = syscall.Errno(0x46)
-	ENFILE          = syscall.Errno(0x17)
-	ENOATTR         = syscall.Errno(0x70)
-	ENOBUFS         = syscall.Errno(0x4a)
-	ENOCONNECT      = syscall.Errno(0x32)
-	ENOCSI          = syscall.Errno(0x2b)
-	ENODATA         = syscall.Errno(0x7a)
-	ENODEV          = syscall.Errno(0x13)
-	ENOENT          = syscall.Errno(0x2)
-	ENOEXEC         = syscall.Errno(0x8)
-	ENOLCK          = syscall.Errno(0x31)
-	ENOLINK         = syscall.Errno(0x7e)
-	ENOMEM          = syscall.Errno(0xc)
-	ENOMSG          = syscall.Errno(0x23)
-	ENOPROTOOPT     = syscall.Errno(0x3d)
-	ENOSPC          = syscall.Errno(0x1c)
-	ENOSR           = syscall.Errno(0x76)
-	ENOSTR          = syscall.Errno(0x7b)
-	ENOSYS          = syscall.Errno(0x6d)
-	ENOTBLK         = syscall.Errno(0xf)
-	ENOTCONN        = syscall.Errno(0x4c)
-	ENOTDIR         = syscall.Errno(0x14)
-	ENOTEMPTY       = syscall.Errno(0x11)
-	ENOTREADY       = syscall.Errno(0x2e)
-	ENOTRECOVERABLE = syscall.Errno(0x5e)
-	ENOTRUST        = syscall.Errno(0x72)
-	ENOTSOCK        = syscall.Errno(0x39)
-	ENOTSUP         = syscall.Errno(0x7c)
-	ENOTTY          = syscall.Errno(0x19)
-	ENXIO           = syscall.Errno(0x6)
-	EOPNOTSUPP      = syscall.Errno(0x40)
-	EOVERFLOW       = syscall.Errno(0x7f)
-	EOWNERDEAD      = syscall.Errno(0x5f)
-	EPERM           = syscall.Errno(0x1)
-	EPFNOSUPPORT    = syscall.Errno(0x41)
-	EPIPE           = syscall.Errno(0x20)
-	EPROCLIM        = syscall.Errno(0x53)
-	EPROTO          = syscall.Errno(0x79)
-	EPROTONOSUPPORT = syscall.Errno(0x3e)
-	EPROTOTYPE      = syscall.Errno(0x3c)
-	ERANGE          = syscall.Errno(0x22)
-	EREMOTE         = syscall.Errno(0x5d)
-	ERESTART        = syscall.Errno(0x52)
-	EROFS           = syscall.Errno(0x1e)
-	ESAD            = syscall.Errno(0x71)
-	ESHUTDOWN       = syscall.Errno(0x4d)
-	ESOCKTNOSUPPORT = syscall.Errno(0x3f)
-	ESOFT           = syscall.Errno(0x6f)
-	ESPIPE          = syscall.Errno(0x1d)
-	ESRCH           = syscall.Errno(0x3)
-	ESTALE          = syscall.Errno(0x34)
-	ESYSERROR       = syscall.Errno(0x5a)
-	ETIME           = syscall.Errno(0x77)
-	ETIMEDOUT       = syscall.Errno(0x4e)
-	ETOOMANYREFS    = syscall.Errno(0x73)
-	ETXTBSY         = syscall.Errno(0x1a)
-	EUNATCH         = syscall.Errno(0x2a)
-	EUSERS          = syscall.Errno(0x54)
-	EWOULDBLOCK     = syscall.Errno(0xb)
-	EWRPROTECT      = syscall.Errno(0x2f)
-	EXDEV           = syscall.Errno(0x12)
-)
-
-// Signals
-const (
-	SIGABRT     = syscall.Signal(0x6)
-	SIGAIO      = syscall.Signal(0x17)
-	SIGALRM     = syscall.Signal(0xe)
-	SIGALRM1    = syscall.Signal(0x26)
-	SIGBUS      = syscall.Signal(0xa)
-	SIGCAPI     = syscall.Signal(0x31)
-	SIGCHLD     = syscall.Signal(0x14)
-	SIGCLD      = syscall.Signal(0x14)
-	SIGCONT     = syscall.Signal(0x13)
-	SIGCPUFAIL  = syscall.Signal(0x3b)
-	SIGDANGER   = syscall.Signal(0x21)
-	SIGEMT      = syscall.Signal(0x7)
-	SIGFPE      = syscall.Signal(0x8)
-	SIGGRANT    = syscall.Signal(0x3c)
-	SIGHUP      = syscall.Signal(0x1)
-	SIGILL      = syscall.Signal(0x4)
-	SIGINT      = syscall.Signal(0x2)
-	SIGIO       = syscall.Signal(0x17)
-	SIGIOINT    = syscall.Signal(0x10)
-	SIGIOT      = syscall.Signal(0x6)
-	SIGKAP      = syscall.Signal(0x3c)
-	SIGKILL     = syscall.Signal(0x9)
-	SIGLOST     = syscall.Signal(0x6)
-	SIGMAX      = syscall.Signal(0xff)
-	SIGMAX32    = syscall.Signal(0x3f)
-	SIGMIGRATE  = syscall.Signal(0x23)
-	SIGMSG      = syscall.Signal(0x1b)
-	SIGPIPE     = syscall.Signal(0xd)
-	SIGPOLL     = syscall.Signal(0x17)
-	SIGPRE      = syscall.Signal(0x24)
-	SIGPROF     = syscall.Signal(0x20)
-	SIGPTY      = syscall.Signal(0x17)
-	SIGPWR      = syscall.Signal(0x1d)
-	SIGQUIT     = syscall.Signal(0x3)
-	SIGRECONFIG = syscall.Signal(0x3a)
-	SIGRETRACT  = syscall.Signal(0x3d)
-	SIGSAK      = syscall.Signal(0x3f)
-	SIGSEGV     = syscall.Signal(0xb)
-	SIGSOUND    = syscall.Signal(0x3e)
-	SIGSTOP     = syscall.Signal(0x11)
-	SIGSYS      = syscall.Signal(0xc)
-	SIGSYSERROR = syscall.Signal(0x30)
-	SIGTALRM    = syscall.Signal(0x26)
-	SIGTERM     = syscall.Signal(0xf)
-	SIGTRAP     = syscall.Signal(0x5)
-	SIGTSTP     = syscall.Signal(0x12)
-	SIGTTIN     = syscall.Signal(0x15)
-	SIGTTOU     = syscall.Signal(0x16)
-	SIGURG      = syscall.Signal(0x10)
-	SIGUSR1     = syscall.Signal(0x1e)
-	SIGUSR2     = syscall.Signal(0x1f)
-	SIGVIRT     = syscall.Signal(0x25)
-	SIGVTALRM   = syscall.Signal(0x22)
-	SIGWAITING  = syscall.Signal(0x27)
-	SIGWINCH    = syscall.Signal(0x1c)
-	SIGXCPU     = syscall.Signal(0x18)
-	SIGXFSZ     = syscall.Signal(0x19)
-)
-
-// Error table
-var errorList = [...]struct {
-	num  syscall.Errno
-	name string
-	desc string
-}{
-	{1, "EPERM", "not owner"},
-	{2, "ENOENT", "no such file or directory"},
-	{3, "ESRCH", "no such process"},
-	{4, "EINTR", "interrupted system call"},
-	{5, "EIO", "I/O error"},
-	{6, "ENXIO", "no such device or address"},
-	{7, "E2BIG", "arg list too long"},
-	{8, "ENOEXEC", "exec format error"},
-	{9, "EBADF", "bad file number"},
-	{10, "ECHILD", "no child processes"},
-	{11, "EWOULDBLOCK", "resource temporarily unavailable"},
-	{12, "ENOMEM", "not enough space"},
-	{13, "EACCES", "permission denied"},
-	{14, "EFAULT", "bad address"},
-	{15, "ENOTBLK", "block device required"},
-	{16, "EBUSY", "device busy"},
-	{17, "ENOTEMPTY", "file exists"},
-	{18, "EXDEV", "cross-device link"},
-	{19, "ENODEV", "no such device"},
-	{20, "ENOTDIR", "not a directory"},
-	{21, "EISDIR", "is a directory"},
-	{22, "EINVAL", "invalid argument"},
-	{23, "ENFILE", "file table overflow"},
-	{24, "EMFILE", "too many open files"},
-	{25, "ENOTTY", "not a typewriter"},
-	{26, "ETXTBSY", "text file busy"},
-	{27, "EFBIG", "file too large"},
-	{28, "ENOSPC", "no space left on device"},
-	{29, "ESPIPE", "illegal seek"},
-	{30, "EROFS", "read-only file system"},
-	{31, "EMLINK", "too many links"},
-	{32, "EPIPE", "broken pipe"},
-	{33, "EDOM", "argument out of domain"},
-	{34, "ERANGE", "result too large"},
-	{35, "ENOMSG", "no message of desired type"},
-	{36, "EIDRM", "identifier removed"},
-	{37, "ECHRNG", "channel number out of range"},
-	{38, "EL2NSYNC", "level 2 not synchronized"},
-	{39, "EL3HLT", "level 3 halted"},
-	{40, "EL3RST", "level 3 reset"},
-	{41, "ELNRNG", "link number out of range"},
-	{42, "EUNATCH", "protocol driver not attached"},
-	{43, "ENOCSI", "no CSI structure available"},
-	{44, "EL2HLT", "level 2 halted"},
-	{45, "EDEADLK", "deadlock condition if locked"},
-	{46, "ENOTREADY", "device not ready"},
-	{47, "EWRPROTECT", "write-protected media"},
-	{48, "EFORMAT", "unformatted or incompatible media"},
-	{49, "ENOLCK", "no locks available"},
-	{50, "ENOCONNECT", "cannot Establish Connection"},
-	{52, "ESTALE", "missing file or filesystem"},
-	{53, "EDIST", "requests blocked by Administrator"},
-	{55, "EINPROGRESS", "operation now in progress"},
-	{56, "EALREADY", "operation already in progress"},
-	{57, "ENOTSOCK", "socket operation on non-socket"},
-	{58, "EDESTADDREQ", "destination address required"},
-	{59, "EMSGSIZE", "message too long"},
-	{60, "EPROTOTYPE", "protocol wrong type for socket"},
-	{61, "ENOPROTOOPT", "protocol not available"},
-	{62, "EPROTONOSUPPORT", "protocol not supported"},
-	{63, "ESOCKTNOSUPPORT", "socket type not supported"},
-	{64, "EOPNOTSUPP", "operation not supported on socket"},
-	{65, "EPFNOSUPPORT", "protocol family not supported"},
-	{66, "EAFNOSUPPORT", "addr family not supported by protocol"},
-	{67, "EADDRINUSE", "address already in use"},
-	{68, "EADDRNOTAVAIL", "can't assign requested address"},
-	{69, "ENETDOWN", "network is down"},
-	{70, "ENETUNREACH", "network is unreachable"},
-	{71, "ENETRESET", "network dropped connection on reset"},
-	{72, "ECONNABORTED", "software caused connection abort"},
-	{73, "ECONNRESET", "connection reset by peer"},
-	{74, "ENOBUFS", "no buffer space available"},
-	{75, "EISCONN", "socket is already connected"},
-	{76, "ENOTCONN", "socket is not connected"},
-	{77, "ESHUTDOWN", "can't send after socket shutdown"},
-	{78, "ETIMEDOUT", "connection timed out"},
-	{79, "ECONNREFUSED", "connection refused"},
-	{80, "EHOSTDOWN", "host is down"},
-	{81, "EHOSTUNREACH", "no route to host"},
-	{82, "ERESTART", "restart the system call"},
-	{83, "EPROCLIM", "too many processes"},
-	{84, "EUSERS", "too many users"},
-	{85, "ELOOP", "too many levels of symbolic links"},
-	{86, "ENAMETOOLONG", "file name too long"},
-	{88, "EDQUOT", "disk quota exceeded"},
-	{89, "ECORRUPT", "invalid file system control data detected"},
-	{90, "ESYSERROR", "for future use "},
-	{93, "EREMOTE", "item is not local to host"},
-	{94, "ENOTRECOVERABLE", "state not recoverable "},
-	{95, "EOWNERDEAD", "previous owner died "},
-	{109, "ENOSYS", "function not implemented"},
-	{110, "EMEDIA", "media surface error"},
-	{111, "ESOFT", "I/O completed, but needs relocation"},
-	{112, "ENOATTR", "no attribute found"},
-	{113, "ESAD", "security Authentication Denied"},
-	{114, "ENOTRUST", "not a Trusted Program"},
-	{115, "ETOOMANYREFS", "too many references: can't splice"},
-	{116, "EILSEQ", "invalid wide character"},
-	{117, "ECANCELED", "asynchronous I/O cancelled"},
-	{118, "ENOSR", "out of STREAMS resources"},
-	{119, "ETIME", "system call timed out"},
-	{120, "EBADMSG", "next message has wrong type"},
-	{121, "EPROTO", "error in protocol"},
-	{122, "ENODATA", "no message on stream head read q"},
-	{123, "ENOSTR", "fd not associated with a stream"},
-	{124, "ENOTSUP", "unsupported attribute value"},
-	{125, "EMULTIHOP", "multihop is not allowed"},
-	{126, "ENOLINK", "the server link has been severed"},
-	{127, "EOVERFLOW", "value too large to be stored in data type"},
-}
-
-// Signal table
-var signalList = [...]struct {
-	num  syscall.Signal
-	name string
-	desc string
-}{
-	{1, "SIGHUP", "hangup"},
-	{2, "SIGINT", "interrupt"},
-	{3, "SIGQUIT", "quit"},
-	{4, "SIGILL", "illegal instruction"},
-	{5, "SIGTRAP", "trace/BPT trap"},
-	{6, "SIGIOT", "IOT/Abort trap"},
-	{7, "SIGEMT", "EMT trap"},
-	{8, "SIGFPE", "floating point exception"},
-	{9, "SIGKILL", "killed"},
-	{10, "SIGBUS", "bus error"},
-	{11, "SIGSEGV", "segmentation fault"},
-	{12, "SIGSYS", "bad system call"},
-	{13, "SIGPIPE", "broken pipe"},
-	{14, "SIGALRM", "alarm clock"},
-	{15, "SIGTERM", "terminated"},
-	{16, "SIGURG", "urgent I/O condition"},
-	{17, "SIGSTOP", "stopped (signal)"},
-	{18, "SIGTSTP", "stopped"},
-	{19, "SIGCONT", "continued"},
-	{20, "SIGCHLD", "child exited"},
-	{21, "SIGTTIN", "stopped (tty input)"},
-	{22, "SIGTTOU", "stopped (tty output)"},
-	{23, "SIGIO", "I/O possible/complete"},
-	{24, "SIGXCPU", "cputime limit exceeded"},
-	{25, "SIGXFSZ", "filesize limit exceeded"},
-	{27, "SIGMSG", "input device data"},
-	{28, "SIGWINCH", "window size changes"},
-	{29, "SIGPWR", "power-failure"},
-	{30, "SIGUSR1", "user defined signal 1"},
-	{31, "SIGUSR2", "user defined signal 2"},
-	{32, "SIGPROF", "profiling timer expired"},
-	{33, "SIGDANGER", "paging space low"},
-	{34, "SIGVTALRM", "virtual timer expired"},
-	{35, "SIGMIGRATE", "signal 35"},
-	{36, "SIGPRE", "signal 36"},
-	{37, "SIGVIRT", "signal 37"},
-	{38, "SIGTALRM", "signal 38"},
-	{39, "SIGWAITING", "signal 39"},
-	{48, "SIGSYSERROR", "signal 48"},
-	{49, "SIGCAPI", "signal 49"},
-	{58, "SIGRECONFIG", "signal 58"},
-	{59, "SIGCPUFAIL", "CPU Failure Predicted"},
-	{60, "SIGGRANT", "monitor mode granted"},
-	{61, "SIGRETRACT", "monitor mode retracted"},
-	{62, "SIGSOUND", "sound completed"},
-	{63, "SIGMAX32", "secure attention"},
-	{255, "SIGMAX", "signal 255"},
-}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
index bbe6089..46a082b 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
@@ -3,7 +3,7 @@
 
 // +build amd64,dragonfly
 
-// Code generated by cmd/cgo -godefs; DO NOT EDIT.
+// Created by cgo -godefs - DO NOT EDIT
 // cgo -godefs -- -m64 _const.go
 
 package unix
@@ -880,40 +880,6 @@ const (
 	MAP_VPAGETABLE                    = 0x2000
 	MCL_CURRENT                       = 0x1
 	MCL_FUTURE                        = 0x2
-	MNT_ASYNC                         = 0x40
-	MNT_AUTOMOUNTED                   = 0x20
-	MNT_CMDFLAGS                      = 0xf0000
-	MNT_DEFEXPORTED                   = 0x200
-	MNT_DELEXPORT                     = 0x20000
-	MNT_EXKERB                        = 0x800
-	MNT_EXPORTANON                    = 0x400
-	MNT_EXPORTED                      = 0x100
-	MNT_EXPUBLIC                      = 0x20000000
-	MNT_EXRDONLY                      = 0x80
-	MNT_FORCE                         = 0x80000
-	MNT_IGNORE                        = 0x800000
-	MNT_LAZY                          = 0x4
-	MNT_LOCAL                         = 0x1000
-	MNT_NOATIME                       = 0x10000000
-	MNT_NOCLUSTERR                    = 0x40000000
-	MNT_NOCLUSTERW                    = 0x80000000
-	MNT_NODEV                         = 0x10
-	MNT_NOEXEC                        = 0x4
-	MNT_NOSUID                        = 0x8
-	MNT_NOSYMFOLLOW                   = 0x400000
-	MNT_NOWAIT                        = 0x2
-	MNT_QUOTA                         = 0x2000
-	MNT_RDONLY                        = 0x1
-	MNT_RELOAD                        = 0x40000
-	MNT_ROOTFS                        = 0x4000
-	MNT_SOFTDEP                       = 0x200000
-	MNT_SUIDDIR                       = 0x100000
-	MNT_SYNCHRONOUS                   = 0x2
-	MNT_TRIM                          = 0x1000000
-	MNT_UPDATE                        = 0x10000
-	MNT_USER                          = 0x8000
-	MNT_VISFLAGMASK                   = 0xf1f0ffff
-	MNT_WAIT                          = 0x1
 	MSG_CMSG_CLOEXEC                  = 0x1000
 	MSG_CTRUNC                        = 0x20
 	MSG_DONTROUTE                     = 0x4
@@ -1202,36 +1168,6 @@ const (
 	SO_TIMESTAMP                      = 0x400
 	SO_TYPE                           = 0x1008
 	SO_USELOOPBACK                    = 0x40
-	S_BLKSIZE                         = 0x200
-	S_IEXEC                           = 0x40
-	S_IFBLK                           = 0x6000
-	S_IFCHR                           = 0x2000
-	S_IFDB                            = 0x9000
-	S_IFDIR                           = 0x4000
-	S_IFIFO                           = 0x1000
-	S_IFLNK                           = 0xa000
-	S_IFMT                            = 0xf000
-	S_IFREG                           = 0x8000
-	S_IFSOCK                          = 0xc000
-	S_IFWHT                           = 0xe000
-	S_IREAD                           = 0x100
-	S_IRGRP                           = 0x20
-	S_IROTH                           = 0x4
-	S_IRUSR                           = 0x100
-	S_IRWXG                           = 0x38
-	S_IRWXO                           = 0x7
-	S_IRWXU                           = 0x1c0
-	S_ISGID                           = 0x400
-	S_ISTXT                           = 0x200
-	S_ISUID                           = 0x800
-	S_ISVTX                           = 0x200
-	S_IWGRP                           = 0x10
-	S_IWOTH                           = 0x2
-	S_IWRITE                          = 0x80
-	S_IWUSR                           = 0x80
-	S_IXGRP                           = 0x8
-	S_IXOTH                           = 0x1
-	S_IXUSR                           = 0x40
 	TCIFLUSH                          = 0x1
 	TCIOFF                            = 0x3
 	TCIOFLUSH                         = 0x3
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
index d2bbaab..2947dc0 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
@@ -1345,35 +1345,6 @@ const (
 	SO_USELOOPBACK                 = 0x40
 	SO_USER_COOKIE                 = 0x1015
 	SO_VENDOR                      = 0x80000000
-	S_BLKSIZE                      = 0x200
-	S_IEXEC                        = 0x40
-	S_IFBLK                        = 0x6000
-	S_IFCHR                        = 0x2000
-	S_IFDIR                        = 0x4000
-	S_IFIFO                        = 0x1000
-	S_IFLNK                        = 0xa000
-	S_IFMT                         = 0xf000
-	S_IFREG                        = 0x8000
-	S_IFSOCK                       = 0xc000
-	S_IFWHT                        = 0xe000
-	S_IREAD                        = 0x100
-	S_IRGRP                        = 0x20
-	S_IROTH                        = 0x4
-	S_IRUSR                        = 0x100
-	S_IRWXG                        = 0x38
-	S_IRWXO                        = 0x7
-	S_IRWXU                        = 0x1c0
-	S_ISGID                        = 0x400
-	S_ISTXT                        = 0x200
-	S_ISUID                        = 0x800
-	S_ISVTX                        = 0x200
-	S_IWGRP                        = 0x10
-	S_IWOTH                        = 0x2
-	S_IWRITE                       = 0x80
-	S_IWUSR                        = 0x80
-	S_IXGRP                        = 0x8
-	S_IXOTH                        = 0x1
-	S_IXUSR                        = 0x40
 	TAB0                           = 0x0
 	TAB3                           = 0x4
 	TABDLY                         = 0x4
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
index 4f8db78..c600d01 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
@@ -1346,35 +1346,6 @@ const (
 	SO_USELOOPBACK                 = 0x40
 	SO_USER_COOKIE                 = 0x1015
 	SO_VENDOR                      = 0x80000000
-	S_BLKSIZE                      = 0x200
-	S_IEXEC                        = 0x40
-	S_IFBLK                        = 0x6000
-	S_IFCHR                        = 0x2000
-	S_IFDIR                        = 0x4000
-	S_IFIFO                        = 0x1000
-	S_IFLNK                        = 0xa000
-	S_IFMT                         = 0xf000
-	S_IFREG                        = 0x8000
-	S_IFSOCK                       = 0xc000
-	S_IFWHT                        = 0xe000
-	S_IREAD                        = 0x100
-	S_IRGRP                        = 0x20
-	S_IROTH                        = 0x4
-	S_IRUSR                        = 0x100
-	S_IRWXG                        = 0x38
-	S_IRWXO                        = 0x7
-	S_IRWXU                        = 0x1c0
-	S_ISGID                        = 0x400
-	S_ISTXT                        = 0x200
-	S_ISUID                        = 0x800
-	S_ISVTX                        = 0x200
-	S_IWGRP                        = 0x10
-	S_IWOTH                        = 0x2
-	S_IWRITE                       = 0x80
-	S_IWUSR                        = 0x80
-	S_IXGRP                        = 0x8
-	S_IXOTH                        = 0x1
-	S_IXUSR                        = 0x40
 	TAB0                           = 0x0
 	TAB3                           = 0x4
 	TABDLY                         = 0x4
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
index 53e5de6..e8240d2 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
@@ -1354,35 +1354,6 @@ const (
 	SO_USELOOPBACK                 = 0x40
 	SO_USER_COOKIE                 = 0x1015
 	SO_VENDOR                      = 0x80000000
-	S_BLKSIZE                      = 0x200
-	S_IEXEC                        = 0x40
-	S_IFBLK                        = 0x6000
-	S_IFCHR                        = 0x2000
-	S_IFDIR                        = 0x4000
-	S_IFIFO                        = 0x1000
-	S_IFLNK                        = 0xa000
-	S_IFMT                         = 0xf000
-	S_IFREG                        = 0x8000
-	S_IFSOCK                       = 0xc000
-	S_IFWHT                        = 0xe000
-	S_IREAD                        = 0x100
-	S_IRGRP                        = 0x20
-	S_IROTH                        = 0x4
-	S_IRUSR                        = 0x100
-	S_IRWXG                        = 0x38
-	S_IRWXO                        = 0x7
-	S_IRWXU                        = 0x1c0
-	S_ISGID                        = 0x400
-	S_ISTXT                        = 0x200
-	S_ISUID                        = 0x800
-	S_ISVTX                        = 0x200
-	S_IWGRP                        = 0x10
-	S_IWOTH                        = 0x2
-	S_IWRITE                       = 0x80
-	S_IWUSR                        = 0x80
-	S_IXGRP                        = 0x8
-	S_IXOTH                        = 0x1
-	S_IXUSR                        = 0x40
 	TAB0                           = 0x0
 	TAB3                           = 0x4
 	TABDLY                         = 0x4
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
index 673152b..2f0091b 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -500,8 +499,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
@@ -639,7 +636,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -766,7 +763,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -879,26 +875,6 @@ const (
 	IXOFF                                = 0x1000
 	IXON                                 = 0x400
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -980,7 +956,6 @@ const (
 	MAP_EXECUTABLE                       = 0x1000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x100
 	MAP_HUGETLB                          = 0x40000
 	MAP_HUGE_MASK                        = 0x3f
@@ -991,30 +966,11 @@ const (
 	MAP_POPULATE                         = 0x8000
 	MAP_PRIVATE                          = 0x2
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x20000
-	MAP_SYNC                             = 0x80000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x1
 	MCL_FUTURE                           = 0x2
 	MCL_ONFAULT                          = 0x4
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1023,8 +979,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1122,8 +1076,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1475,9 +1427,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x9
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1520,7 +1469,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1588,7 +1537,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1609,7 +1557,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1624,12 +1571,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1644,8 +1590,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1659,22 +1605,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1694,7 +1635,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1840,7 +1780,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1e
 	SO_ATTACH_BPF                        = 0x32
@@ -1899,7 +1838,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x3
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1937,9 +1875,6 @@ const (
 	STATX_TYPE                           = 0x1
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -2003,8 +1938,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2172,21 +2105,6 @@ const (
 	TUNSETVNETBE                         = 0x400454de
 	TUNSETVNETHDRSZ                      = 0x400454d8
 	TUNSETVNETLE                         = 0x400454dc
-	UBI_IOCATT                           = 0x40186f40
-	UBI_IOCDET                           = 0x40046f41
-	UBI_IOCEBCH                          = 0x40044f02
-	UBI_IOCEBER                          = 0x40044f01
-	UBI_IOCEBISMAP                       = 0x80044f05
-	UBI_IOCEBMAP                         = 0x40084f03
-	UBI_IOCEBUNMAP                       = 0x40044f04
-	UBI_IOCMKVOL                         = 0x40986f00
-	UBI_IOCRMVOL                         = 0x40046f01
-	UBI_IOCRNVOL                         = 0x51106f03
-	UBI_IOCRSVOL                         = 0x400c6f02
-	UBI_IOCSETVOLPROP                    = 0x40104f06
-	UBI_IOCVOLCRBLK                      = 0x40804f07
-	UBI_IOCVOLRMBLK                      = 0x4f08
-	UBI_IOCVOLUP                         = 0x40084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2324,26 +2242,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0x1800
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
index 5735bcf..a80c7ae 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -500,8 +499,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
@@ -639,7 +636,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -766,7 +763,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -879,26 +875,6 @@ const (
 	IXOFF                                = 0x1000
 	IXON                                 = 0x400
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -980,7 +956,6 @@ const (
 	MAP_EXECUTABLE                       = 0x1000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x100
 	MAP_HUGETLB                          = 0x40000
 	MAP_HUGE_MASK                        = 0x3f
@@ -991,30 +966,11 @@ const (
 	MAP_POPULATE                         = 0x8000
 	MAP_PRIVATE                          = 0x2
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x20000
-	MAP_SYNC                             = 0x80000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x1
 	MCL_FUTURE                           = 0x2
 	MCL_ONFAULT                          = 0x4
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1023,8 +979,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1122,8 +1076,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1476,9 +1428,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x9
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1521,7 +1470,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1589,7 +1538,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1610,7 +1558,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1625,12 +1572,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1645,8 +1591,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1660,22 +1606,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1695,7 +1636,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1841,7 +1781,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1e
 	SO_ATTACH_BPF                        = 0x32
@@ -1900,7 +1839,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x3
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1938,9 +1876,6 @@ const (
 	STATX_TYPE                           = 0x1
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -2004,8 +1939,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2173,21 +2106,6 @@ const (
 	TUNSETVNETBE                         = 0x400454de
 	TUNSETVNETHDRSZ                      = 0x400454d8
 	TUNSETVNETLE                         = 0x400454dc
-	UBI_IOCATT                           = 0x40186f40
-	UBI_IOCDET                           = 0x40046f41
-	UBI_IOCEBCH                          = 0x40044f02
-	UBI_IOCEBER                          = 0x40044f01
-	UBI_IOCEBISMAP                       = 0x80044f05
-	UBI_IOCEBMAP                         = 0x40084f03
-	UBI_IOCEBUNMAP                       = 0x40044f04
-	UBI_IOCMKVOL                         = 0x40986f00
-	UBI_IOCRMVOL                         = 0x40046f01
-	UBI_IOCRNVOL                         = 0x51106f03
-	UBI_IOCRSVOL                         = 0x400c6f02
-	UBI_IOCSETVOLPROP                    = 0x40104f06
-	UBI_IOCVOLCRBLK                      = 0x40804f07
-	UBI_IOCVOLRMBLK                      = 0x4f08
-	UBI_IOCVOLUP                         = 0x40084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2324,26 +2242,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0x1800
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
index d8e8442..49a9b01 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -499,8 +498,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
@@ -638,7 +635,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -765,7 +762,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -878,26 +874,6 @@ const (
 	IXOFF                                = 0x1000
 	IXON                                 = 0x400
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -978,7 +954,6 @@ const (
 	MAP_EXECUTABLE                       = 0x1000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x100
 	MAP_HUGETLB                          = 0x40000
 	MAP_HUGE_MASK                        = 0x3f
@@ -989,30 +964,11 @@ const (
 	MAP_POPULATE                         = 0x8000
 	MAP_PRIVATE                          = 0x2
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x20000
-	MAP_SYNC                             = 0x80000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x1
 	MCL_FUTURE                           = 0x2
 	MCL_ONFAULT                          = 0x4
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1021,8 +977,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1120,8 +1074,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1482,9 +1434,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x9
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1527,7 +1476,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1595,7 +1544,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1616,7 +1564,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1631,12 +1578,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1651,8 +1597,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1666,22 +1612,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1701,7 +1642,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1847,7 +1787,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1e
 	SO_ATTACH_BPF                        = 0x32
@@ -1906,7 +1845,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x3
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1944,9 +1882,6 @@ const (
 	STATX_TYPE                           = 0x1
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -2010,8 +1945,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2179,21 +2112,6 @@ const (
 	TUNSETVNETBE                         = 0x400454de
 	TUNSETVNETHDRSZ                      = 0x400454d8
 	TUNSETVNETLE                         = 0x400454dc
-	UBI_IOCATT                           = 0x40186f40
-	UBI_IOCDET                           = 0x40046f41
-	UBI_IOCEBCH                          = 0x40044f02
-	UBI_IOCEBER                          = 0x40044f01
-	UBI_IOCEBISMAP                       = 0x80044f05
-	UBI_IOCEBMAP                         = 0x40084f03
-	UBI_IOCEBUNMAP                       = 0x40044f04
-	UBI_IOCMKVOL                         = 0x40986f00
-	UBI_IOCRMVOL                         = 0x40046f01
-	UBI_IOCRNVOL                         = 0x51106f03
-	UBI_IOCRSVOL                         = 0x400c6f02
-	UBI_IOCSETVOLPROP                    = 0x40104f06
-	UBI_IOCVOLCRBLK                      = 0x40804f07
-	UBI_IOCVOLRMBLK                      = 0x4f08
-	UBI_IOCVOLUP                         = 0x40084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2330,26 +2248,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0x1800
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
index 5d79b78..8d70233 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -502,8 +501,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
@@ -641,7 +638,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -768,7 +765,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -881,26 +877,6 @@ const (
 	IXOFF                                = 0x1000
 	IXON                                 = 0x400
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -981,7 +957,6 @@ const (
 	MAP_EXECUTABLE                       = 0x1000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x100
 	MAP_HUGETLB                          = 0x40000
 	MAP_HUGE_MASK                        = 0x3f
@@ -992,30 +967,11 @@ const (
 	MAP_POPULATE                         = 0x8000
 	MAP_PRIVATE                          = 0x2
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x20000
-	MAP_SYNC                             = 0x80000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x1
 	MCL_FUTURE                           = 0x2
 	MCL_ONFAULT                          = 0x4
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1024,8 +980,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1123,8 +1077,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1466,9 +1418,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x9
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1511,7 +1460,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1579,7 +1528,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1600,7 +1548,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1615,12 +1562,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1635,8 +1581,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1650,22 +1596,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1685,7 +1626,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1831,7 +1771,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1e
 	SO_ATTACH_BPF                        = 0x32
@@ -1890,7 +1829,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x3
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1929,9 +1867,6 @@ const (
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
 	SVE_MAGIC                            = 0x53564501
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -1995,8 +1930,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2164,21 +2097,6 @@ const (
 	TUNSETVNETBE                         = 0x400454de
 	TUNSETVNETHDRSZ                      = 0x400454d8
 	TUNSETVNETLE                         = 0x400454dc
-	UBI_IOCATT                           = 0x40186f40
-	UBI_IOCDET                           = 0x40046f41
-	UBI_IOCEBCH                          = 0x40044f02
-	UBI_IOCEBER                          = 0x40044f01
-	UBI_IOCEBISMAP                       = 0x80044f05
-	UBI_IOCEBMAP                         = 0x40084f03
-	UBI_IOCEBUNMAP                       = 0x40044f04
-	UBI_IOCMKVOL                         = 0x40986f00
-	UBI_IOCRMVOL                         = 0x40046f01
-	UBI_IOCRNVOL                         = 0x51106f03
-	UBI_IOCRSVOL                         = 0x400c6f02
-	UBI_IOCSETVOLPROP                    = 0x40104f06
-	UBI_IOCVOLCRBLK                      = 0x40804f07
-	UBI_IOCVOLRMBLK                      = 0x4f08
-	UBI_IOCVOLUP                         = 0x40084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2315,26 +2233,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0x1800
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
index 3c91615..410ab56 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -499,8 +498,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
@@ -638,7 +635,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -765,7 +762,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -878,26 +874,6 @@ const (
 	IXOFF                                = 0x1000
 	IXON                                 = 0x400
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -978,7 +954,6 @@ const (
 	MAP_EXECUTABLE                       = 0x4000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x1000
 	MAP_HUGETLB                          = 0x80000
 	MAP_HUGE_MASK                        = 0x3f
@@ -990,29 +965,11 @@ const (
 	MAP_PRIVATE                          = 0x2
 	MAP_RENAME                           = 0x800
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x40000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x1
 	MCL_FUTURE                           = 0x2
 	MCL_ONFAULT                          = 0x4
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1021,8 +978,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1120,8 +1075,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1475,9 +1428,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x6
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1520,7 +1470,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1588,7 +1538,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1609,7 +1558,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1624,12 +1572,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1644,8 +1591,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1659,22 +1606,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1694,7 +1636,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1840,7 +1781,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1009
 	SO_ATTACH_BPF                        = 0x32
@@ -1900,7 +1840,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x1008
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1938,9 +1877,6 @@ const (
 	STATX_TYPE                           = 0x1
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -2003,8 +1939,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2174,21 +2108,6 @@ const (
 	TUNSETVNETBE                         = 0x800454de
 	TUNSETVNETHDRSZ                      = 0x800454d8
 	TUNSETVNETLE                         = 0x800454dc
-	UBI_IOCATT                           = 0x80186f40
-	UBI_IOCDET                           = 0x80046f41
-	UBI_IOCEBCH                          = 0x80044f02
-	UBI_IOCEBER                          = 0x80044f01
-	UBI_IOCEBISMAP                       = 0x40044f05
-	UBI_IOCEBMAP                         = 0x80084f03
-	UBI_IOCEBUNMAP                       = 0x80044f04
-	UBI_IOCMKVOL                         = 0x80986f00
-	UBI_IOCRMVOL                         = 0x80046f01
-	UBI_IOCRNVOL                         = 0x91106f03
-	UBI_IOCRSVOL                         = 0x800c6f02
-	UBI_IOCSETVOLPROP                    = 0x80104f06
-	UBI_IOCVOLCRBLK                      = 0x80804f07
-	UBI_IOCVOLRMBLK                      = 0x20004f08
-	UBI_IOCVOLUP                         = 0x80084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2326,26 +2245,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0x1800
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
index e1f86c1..dac4d90 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -499,8 +498,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
@@ -638,7 +635,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -765,7 +762,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -878,26 +874,6 @@ const (
 	IXOFF                                = 0x1000
 	IXON                                 = 0x400
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -978,7 +954,6 @@ const (
 	MAP_EXECUTABLE                       = 0x4000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x1000
 	MAP_HUGETLB                          = 0x80000
 	MAP_HUGE_MASK                        = 0x3f
@@ -990,29 +965,11 @@ const (
 	MAP_PRIVATE                          = 0x2
 	MAP_RENAME                           = 0x800
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x40000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x1
 	MCL_FUTURE                           = 0x2
 	MCL_ONFAULT                          = 0x4
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1021,8 +978,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1120,8 +1075,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1475,9 +1428,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x6
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1520,7 +1470,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1588,7 +1538,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1609,7 +1558,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1624,12 +1572,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1644,8 +1591,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1659,22 +1606,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1694,7 +1636,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1840,7 +1781,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1009
 	SO_ATTACH_BPF                        = 0x32
@@ -1900,7 +1840,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x1008
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1938,9 +1877,6 @@ const (
 	STATX_TYPE                           = 0x1
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -2003,8 +1939,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2174,21 +2108,6 @@ const (
 	TUNSETVNETBE                         = 0x800454de
 	TUNSETVNETHDRSZ                      = 0x800454d8
 	TUNSETVNETLE                         = 0x800454dc
-	UBI_IOCATT                           = 0x80186f40
-	UBI_IOCDET                           = 0x80046f41
-	UBI_IOCEBCH                          = 0x80044f02
-	UBI_IOCEBER                          = 0x80044f01
-	UBI_IOCEBISMAP                       = 0x40044f05
-	UBI_IOCEBMAP                         = 0x80084f03
-	UBI_IOCEBUNMAP                       = 0x80044f04
-	UBI_IOCMKVOL                         = 0x80986f00
-	UBI_IOCRMVOL                         = 0x80046f01
-	UBI_IOCRNVOL                         = 0x91106f03
-	UBI_IOCRSVOL                         = 0x800c6f02
-	UBI_IOCSETVOLPROP                    = 0x80104f06
-	UBI_IOCVOLCRBLK                      = 0x80804f07
-	UBI_IOCVOLRMBLK                      = 0x20004f08
-	UBI_IOCVOLUP                         = 0x80084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2326,26 +2245,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0x1800
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
index d09e3b6..1d2f0e6 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -499,8 +498,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
@@ -638,7 +635,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -765,7 +762,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -878,26 +874,6 @@ const (
 	IXOFF                                = 0x1000
 	IXON                                 = 0x400
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -978,7 +954,6 @@ const (
 	MAP_EXECUTABLE                       = 0x4000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x1000
 	MAP_HUGETLB                          = 0x80000
 	MAP_HUGE_MASK                        = 0x3f
@@ -990,29 +965,11 @@ const (
 	MAP_PRIVATE                          = 0x2
 	MAP_RENAME                           = 0x800
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x40000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x1
 	MCL_FUTURE                           = 0x2
 	MCL_ONFAULT                          = 0x4
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1021,8 +978,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1120,8 +1075,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1475,9 +1428,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x6
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1520,7 +1470,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1588,7 +1538,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1609,7 +1558,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1624,12 +1572,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1644,8 +1591,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1659,22 +1606,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1694,7 +1636,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1840,7 +1781,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1009
 	SO_ATTACH_BPF                        = 0x32
@@ -1900,7 +1840,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x1008
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1938,9 +1877,6 @@ const (
 	STATX_TYPE                           = 0x1
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -2003,8 +1939,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2174,21 +2108,6 @@ const (
 	TUNSETVNETBE                         = 0x800454de
 	TUNSETVNETHDRSZ                      = 0x800454d8
 	TUNSETVNETLE                         = 0x800454dc
-	UBI_IOCATT                           = 0x80186f40
-	UBI_IOCDET                           = 0x80046f41
-	UBI_IOCEBCH                          = 0x80044f02
-	UBI_IOCEBER                          = 0x80044f01
-	UBI_IOCEBISMAP                       = 0x40044f05
-	UBI_IOCEBMAP                         = 0x80084f03
-	UBI_IOCEBUNMAP                       = 0x80044f04
-	UBI_IOCMKVOL                         = 0x80986f00
-	UBI_IOCRMVOL                         = 0x80046f01
-	UBI_IOCRNVOL                         = 0x91106f03
-	UBI_IOCRSVOL                         = 0x800c6f02
-	UBI_IOCSETVOLPROP                    = 0x80104f06
-	UBI_IOCVOLCRBLK                      = 0x80804f07
-	UBI_IOCVOLRMBLK                      = 0x20004f08
-	UBI_IOCVOLUP                         = 0x80084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2326,26 +2245,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0x1800
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
index f78108d..33b9940 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -499,8 +498,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
@@ -638,7 +635,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -765,7 +762,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -878,26 +874,6 @@ const (
 	IXOFF                                = 0x1000
 	IXON                                 = 0x400
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -978,7 +954,6 @@ const (
 	MAP_EXECUTABLE                       = 0x4000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x1000
 	MAP_HUGETLB                          = 0x80000
 	MAP_HUGE_MASK                        = 0x3f
@@ -990,29 +965,11 @@ const (
 	MAP_PRIVATE                          = 0x2
 	MAP_RENAME                           = 0x800
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x40000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x1
 	MCL_FUTURE                           = 0x2
 	MCL_ONFAULT                          = 0x4
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1021,8 +978,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1120,8 +1075,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1475,9 +1428,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x6
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1520,7 +1470,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1588,7 +1538,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1609,7 +1558,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1624,12 +1572,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1644,8 +1591,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1659,22 +1606,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1694,7 +1636,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1840,7 +1781,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1009
 	SO_ATTACH_BPF                        = 0x32
@@ -1900,7 +1840,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x1008
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1938,9 +1877,6 @@ const (
 	STATX_TYPE                           = 0x1
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -2003,8 +1939,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2174,21 +2108,6 @@ const (
 	TUNSETVNETBE                         = 0x800454de
 	TUNSETVNETHDRSZ                      = 0x800454d8
 	TUNSETVNETLE                         = 0x800454dc
-	UBI_IOCATT                           = 0x80186f40
-	UBI_IOCDET                           = 0x80046f41
-	UBI_IOCEBCH                          = 0x80044f02
-	UBI_IOCEBER                          = 0x80044f01
-	UBI_IOCEBISMAP                       = 0x40044f05
-	UBI_IOCEBMAP                         = 0x80084f03
-	UBI_IOCEBUNMAP                       = 0x80044f04
-	UBI_IOCMKVOL                         = 0x80986f00
-	UBI_IOCRMVOL                         = 0x80046f01
-	UBI_IOCRNVOL                         = 0x91106f03
-	UBI_IOCRSVOL                         = 0x800c6f02
-	UBI_IOCSETVOLPROP                    = 0x80104f06
-	UBI_IOCVOLCRBLK                      = 0x80804f07
-	UBI_IOCVOLRMBLK                      = 0x20004f08
-	UBI_IOCVOLUP                         = 0x80084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2326,26 +2245,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0x1800
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
index 8da57a9..c78d669 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -499,8 +498,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
@@ -638,7 +635,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -765,7 +762,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -878,26 +874,6 @@ const (
 	IXOFF                                = 0x400
 	IXON                                 = 0x200
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -978,7 +954,6 @@ const (
 	MAP_EXECUTABLE                       = 0x1000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x100
 	MAP_HUGETLB                          = 0x40000
 	MAP_HUGE_MASK                        = 0x3f
@@ -989,29 +964,11 @@ const (
 	MAP_POPULATE                         = 0x8000
 	MAP_PRIVATE                          = 0x2
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x20000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x2000
 	MCL_FUTURE                           = 0x4000
 	MCL_ONFAULT                          = 0x8000
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1020,8 +977,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1119,8 +1074,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1531,9 +1484,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x9
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1576,7 +1526,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1644,7 +1594,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1665,7 +1614,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1680,12 +1628,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1700,8 +1647,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1715,22 +1662,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1750,7 +1692,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1896,7 +1837,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1e
 	SO_ATTACH_BPF                        = 0x32
@@ -1955,7 +1895,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x3
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1993,9 +1932,6 @@ const (
 	STATX_TYPE                           = 0x1
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -2057,8 +1993,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2232,21 +2166,6 @@ const (
 	TUNSETVNETBE                         = 0x800454de
 	TUNSETVNETHDRSZ                      = 0x800454d8
 	TUNSETVNETLE                         = 0x800454dc
-	UBI_IOCATT                           = 0x80186f40
-	UBI_IOCDET                           = 0x80046f41
-	UBI_IOCEBCH                          = 0x80044f02
-	UBI_IOCEBER                          = 0x80044f01
-	UBI_IOCEBISMAP                       = 0x40044f05
-	UBI_IOCEBMAP                         = 0x80084f03
-	UBI_IOCEBUNMAP                       = 0x80044f04
-	UBI_IOCMKVOL                         = 0x80986f00
-	UBI_IOCRMVOL                         = 0x80046f01
-	UBI_IOCRNVOL                         = 0x91106f03
-	UBI_IOCRSVOL                         = 0x800c6f02
-	UBI_IOCSETVOLPROP                    = 0x80104f06
-	UBI_IOCVOLCRBLK                      = 0x80804f07
-	UBI_IOCVOLRMBLK                      = 0x20004f08
-	UBI_IOCVOLUP                         = 0x80084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2383,26 +2302,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4000
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0xc00
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
index 1832c0a..6349375 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -499,8 +498,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613
@@ -638,7 +635,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -765,7 +762,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -878,26 +874,6 @@ const (
 	IXOFF                                = 0x400
 	IXON                                 = 0x200
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -978,7 +954,6 @@ const (
 	MAP_EXECUTABLE                       = 0x1000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x100
 	MAP_HUGETLB                          = 0x40000
 	MAP_HUGE_MASK                        = 0x3f
@@ -989,29 +964,11 @@ const (
 	MAP_POPULATE                         = 0x8000
 	MAP_PRIVATE                          = 0x2
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x20000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x2000
 	MCL_FUTURE                           = 0x4000
 	MCL_ONFAULT                          = 0x8000
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1020,8 +977,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1119,8 +1074,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1531,9 +1484,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x9
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1576,7 +1526,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1644,7 +1594,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1665,7 +1614,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1680,12 +1628,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1700,8 +1647,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1715,22 +1662,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1750,7 +1692,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1896,7 +1837,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1e
 	SO_ATTACH_BPF                        = 0x32
@@ -1955,7 +1895,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x3
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1993,9 +1932,6 @@ const (
 	STATX_TYPE                           = 0x1
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -2057,8 +1993,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2232,21 +2166,6 @@ const (
 	TUNSETVNETBE                         = 0x800454de
 	TUNSETVNETHDRSZ                      = 0x800454d8
 	TUNSETVNETLE                         = 0x800454dc
-	UBI_IOCATT                           = 0x80186f40
-	UBI_IOCDET                           = 0x80046f41
-	UBI_IOCEBCH                          = 0x80044f02
-	UBI_IOCEBER                          = 0x80044f01
-	UBI_IOCEBISMAP                       = 0x40044f05
-	UBI_IOCEBMAP                         = 0x80084f03
-	UBI_IOCEBUNMAP                       = 0x80044f04
-	UBI_IOCMKVOL                         = 0x80986f00
-	UBI_IOCRMVOL                         = 0x80046f01
-	UBI_IOCRNVOL                         = 0x91106f03
-	UBI_IOCRSVOL                         = 0x800c6f02
-	UBI_IOCSETVOLPROP                    = 0x80104f06
-	UBI_IOCVOLCRBLK                      = 0x80804f07
-	UBI_IOCVOLRMBLK                      = 0x20004f08
-	UBI_IOCVOLUP                         = 0x80084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2383,26 +2302,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4000
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0xc00
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
deleted file mode 100644
index c6bd4ef..0000000
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
+++ /dev/null
@@ -1,2691 +0,0 @@
-// mkerrors.sh -Wall -Werror -static -I/tmp/include
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build riscv64,linux
-
-// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
-
-package unix
-
-import "syscall"
-
-const (
-	AAFS_MAGIC                           = 0x5a3c69f0
-	ADFS_SUPER_MAGIC                     = 0xadf5
-	AFFS_SUPER_MAGIC                     = 0xadff
-	AFS_FS_MAGIC                         = 0x6b414653
-	AFS_SUPER_MAGIC                      = 0x5346414f
-	AF_ALG                               = 0x26
-	AF_APPLETALK                         = 0x5
-	AF_ASH                               = 0x12
-	AF_ATMPVC                            = 0x8
-	AF_ATMSVC                            = 0x14
-	AF_AX25                              = 0x3
-	AF_BLUETOOTH                         = 0x1f
-	AF_BRIDGE                            = 0x7
-	AF_CAIF                              = 0x25
-	AF_CAN                               = 0x1d
-	AF_DECnet                            = 0xc
-	AF_ECONET                            = 0x13
-	AF_FILE                              = 0x1
-	AF_IB                                = 0x1b
-	AF_IEEE802154                        = 0x24
-	AF_INET                              = 0x2
-	AF_INET6                             = 0xa
-	AF_IPX                               = 0x4
-	AF_IRDA                              = 0x17
-	AF_ISDN                              = 0x22
-	AF_IUCV                              = 0x20
-	AF_KCM                               = 0x29
-	AF_KEY                               = 0xf
-	AF_LLC                               = 0x1a
-	AF_LOCAL                             = 0x1
-	AF_MAX                               = 0x2c
-	AF_MPLS                              = 0x1c
-	AF_NETBEUI                           = 0xd
-	AF_NETLINK                           = 0x10
-	AF_NETROM                            = 0x6
-	AF_NFC                               = 0x27
-	AF_PACKET                            = 0x11
-	AF_PHONET                            = 0x23
-	AF_PPPOX                             = 0x18
-	AF_QIPCRTR                           = 0x2a
-	AF_RDS                               = 0x15
-	AF_ROSE                              = 0xb
-	AF_ROUTE                             = 0x10
-	AF_RXRPC                             = 0x21
-	AF_SECURITY                          = 0xe
-	AF_SMC                               = 0x2b
-	AF_SNA                               = 0x16
-	AF_TIPC                              = 0x1e
-	AF_UNIX                              = 0x1
-	AF_UNSPEC                            = 0x0
-	AF_VSOCK                             = 0x28
-	AF_WANPIPE                           = 0x19
-	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
-	ALG_OP_DECRYPT                       = 0x0
-	ALG_OP_ENCRYPT                       = 0x1
-	ALG_SET_AEAD_ASSOCLEN                = 0x4
-	ALG_SET_AEAD_AUTHSIZE                = 0x5
-	ALG_SET_IV                           = 0x2
-	ALG_SET_KEY                          = 0x1
-	ALG_SET_OP                           = 0x3
-	ANON_INODE_FS_MAGIC                  = 0x9041934
-	ARPHRD_6LOWPAN                       = 0x339
-	ARPHRD_ADAPT                         = 0x108
-	ARPHRD_APPLETLK                      = 0x8
-	ARPHRD_ARCNET                        = 0x7
-	ARPHRD_ASH                           = 0x30d
-	ARPHRD_ATM                           = 0x13
-	ARPHRD_AX25                          = 0x3
-	ARPHRD_BIF                           = 0x307
-	ARPHRD_CAIF                          = 0x336
-	ARPHRD_CAN                           = 0x118
-	ARPHRD_CHAOS                         = 0x5
-	ARPHRD_CISCO                         = 0x201
-	ARPHRD_CSLIP                         = 0x101
-	ARPHRD_CSLIP6                        = 0x103
-	ARPHRD_DDCMP                         = 0x205
-	ARPHRD_DLCI                          = 0xf
-	ARPHRD_ECONET                        = 0x30e
-	ARPHRD_EETHER                        = 0x2
-	ARPHRD_ETHER                         = 0x1
-	ARPHRD_EUI64                         = 0x1b
-	ARPHRD_FCAL                          = 0x311
-	ARPHRD_FCFABRIC                      = 0x313
-	ARPHRD_FCPL                          = 0x312
-	ARPHRD_FCPP                          = 0x310
-	ARPHRD_FDDI                          = 0x306
-	ARPHRD_FRAD                          = 0x302
-	ARPHRD_HDLC                          = 0x201
-	ARPHRD_HIPPI                         = 0x30c
-	ARPHRD_HWX25                         = 0x110
-	ARPHRD_IEEE1394                      = 0x18
-	ARPHRD_IEEE802                       = 0x6
-	ARPHRD_IEEE80211                     = 0x321
-	ARPHRD_IEEE80211_PRISM               = 0x322
-	ARPHRD_IEEE80211_RADIOTAP            = 0x323
-	ARPHRD_IEEE802154                    = 0x324
-	ARPHRD_IEEE802154_MONITOR            = 0x325
-	ARPHRD_IEEE802_TR                    = 0x320
-	ARPHRD_INFINIBAND                    = 0x20
-	ARPHRD_IP6GRE                        = 0x337
-	ARPHRD_IPDDP                         = 0x309
-	ARPHRD_IPGRE                         = 0x30a
-	ARPHRD_IRDA                          = 0x30f
-	ARPHRD_LAPB                          = 0x204
-	ARPHRD_LOCALTLK                      = 0x305
-	ARPHRD_LOOPBACK                      = 0x304
-	ARPHRD_METRICOM                      = 0x17
-	ARPHRD_NETLINK                       = 0x338
-	ARPHRD_NETROM                        = 0x0
-	ARPHRD_NONE                          = 0xfffe
-	ARPHRD_PHONET                        = 0x334
-	ARPHRD_PHONET_PIPE                   = 0x335
-	ARPHRD_PIMREG                        = 0x30b
-	ARPHRD_PPP                           = 0x200
-	ARPHRD_PRONET                        = 0x4
-	ARPHRD_RAWHDLC                       = 0x206
-	ARPHRD_RAWIP                         = 0x207
-	ARPHRD_ROSE                          = 0x10e
-	ARPHRD_RSRVD                         = 0x104
-	ARPHRD_SIT                           = 0x308
-	ARPHRD_SKIP                          = 0x303
-	ARPHRD_SLIP                          = 0x100
-	ARPHRD_SLIP6                         = 0x102
-	ARPHRD_TUNNEL                        = 0x300
-	ARPHRD_TUNNEL6                       = 0x301
-	ARPHRD_VOID                          = 0xffff
-	ARPHRD_VSOCKMON                      = 0x33a
-	ARPHRD_X25                           = 0x10f
-	AUTOFS_SUPER_MAGIC                   = 0x187
-	B0                                   = 0x0
-	B1000000                             = 0x1008
-	B110                                 = 0x3
-	B115200                              = 0x1002
-	B1152000                             = 0x1009
-	B1200                                = 0x9
-	B134                                 = 0x4
-	B150                                 = 0x5
-	B1500000                             = 0x100a
-	B1800                                = 0xa
-	B19200                               = 0xe
-	B200                                 = 0x6
-	B2000000                             = 0x100b
-	B230400                              = 0x1003
-	B2400                                = 0xb
-	B2500000                             = 0x100c
-	B300                                 = 0x7
-	B3000000                             = 0x100d
-	B3500000                             = 0x100e
-	B38400                               = 0xf
-	B4000000                             = 0x100f
-	B460800                              = 0x1004
-	B4800                                = 0xc
-	B50                                  = 0x1
-	B500000                              = 0x1005
-	B57600                               = 0x1001
-	B576000                              = 0x1006
-	B600                                 = 0x8
-	B75                                  = 0x2
-	B921600                              = 0x1007
-	B9600                                = 0xd
-	BALLOON_KVM_MAGIC                    = 0x13661366
-	BDEVFS_MAGIC                         = 0x62646576
-	BINFMTFS_MAGIC                       = 0x42494e4d
-	BLKBSZGET                            = 0x80081270
-	BLKBSZSET                            = 0x40081271
-	BLKFLSBUF                            = 0x1261
-	BLKFRAGET                            = 0x1265
-	BLKFRASET                            = 0x1264
-	BLKGETSIZE                           = 0x1260
-	BLKGETSIZE64                         = 0x80081272
-	BLKPBSZGET                           = 0x127b
-	BLKRAGET                             = 0x1263
-	BLKRASET                             = 0x1262
-	BLKROGET                             = 0x125e
-	BLKROSET                             = 0x125d
-	BLKRRPART                            = 0x125f
-	BLKSECTGET                           = 0x1267
-	BLKSECTSET                           = 0x1266
-	BLKSSZGET                            = 0x1268
-	BOTHER                               = 0x1000
-	BPF_A                                = 0x10
-	BPF_ABS                              = 0x20
-	BPF_ADD                              = 0x0
-	BPF_ALU                              = 0x4
-	BPF_AND                              = 0x50
-	BPF_B                                = 0x10
-	BPF_DIV                              = 0x30
-	BPF_FS_MAGIC                         = 0xcafe4a11
-	BPF_H                                = 0x8
-	BPF_IMM                              = 0x0
-	BPF_IND                              = 0x40
-	BPF_JA                               = 0x0
-	BPF_JEQ                              = 0x10
-	BPF_JGE                              = 0x30
-	BPF_JGT                              = 0x20
-	BPF_JMP                              = 0x5
-	BPF_JSET                             = 0x40
-	BPF_K                                = 0x0
-	BPF_LD                               = 0x0
-	BPF_LDX                              = 0x1
-	BPF_LEN                              = 0x80
-	BPF_LL_OFF                           = -0x200000
-	BPF_LSH                              = 0x60
-	BPF_MAJOR_VERSION                    = 0x1
-	BPF_MAXINSNS                         = 0x1000
-	BPF_MEM                              = 0x60
-	BPF_MEMWORDS                         = 0x10
-	BPF_MINOR_VERSION                    = 0x1
-	BPF_MISC                             = 0x7
-	BPF_MOD                              = 0x90
-	BPF_MSH                              = 0xa0
-	BPF_MUL                              = 0x20
-	BPF_NEG                              = 0x80
-	BPF_NET_OFF                          = -0x100000
-	BPF_OR                               = 0x40
-	BPF_RET                              = 0x6
-	BPF_RSH                              = 0x70
-	BPF_ST                               = 0x2
-	BPF_STX                              = 0x3
-	BPF_SUB                              = 0x10
-	BPF_TAX                              = 0x0
-	BPF_TXA                              = 0x80
-	BPF_W                                = 0x0
-	BPF_X                                = 0x8
-	BPF_XOR                              = 0xa0
-	BRKINT                               = 0x2
-	BS0                                  = 0x0
-	BS1                                  = 0x2000
-	BSDLY                                = 0x2000
-	BTRFS_SUPER_MAGIC                    = 0x9123683e
-	BTRFS_TEST_MAGIC                     = 0x73727279
-	CAN_BCM                              = 0x2
-	CAN_EFF_FLAG                         = 0x80000000
-	CAN_EFF_ID_BITS                      = 0x1d
-	CAN_EFF_MASK                         = 0x1fffffff
-	CAN_ERR_FLAG                         = 0x20000000
-	CAN_ERR_MASK                         = 0x1fffffff
-	CAN_INV_FILTER                       = 0x20000000
-	CAN_ISOTP                            = 0x6
-	CAN_MAX_DLC                          = 0x8
-	CAN_MAX_DLEN                         = 0x8
-	CAN_MCNET                            = 0x5
-	CAN_MTU                              = 0x10
-	CAN_NPROTO                           = 0x7
-	CAN_RAW                              = 0x1
-	CAN_RAW_FILTER_MAX                   = 0x200
-	CAN_RTR_FLAG                         = 0x40000000
-	CAN_SFF_ID_BITS                      = 0xb
-	CAN_SFF_MASK                         = 0x7ff
-	CAN_TP16                             = 0x3
-	CAN_TP20                             = 0x4
-	CBAUD                                = 0x100f
-	CBAUDEX                              = 0x1000
-	CFLUSH                               = 0xf
-	CGROUP2_SUPER_MAGIC                  = 0x63677270
-	CGROUP_SUPER_MAGIC                   = 0x27e0eb
-	CIBAUD                               = 0x100f0000
-	CLOCAL                               = 0x800
-	CLOCK_BOOTTIME                       = 0x7
-	CLOCK_BOOTTIME_ALARM                 = 0x9
-	CLOCK_DEFAULT                        = 0x0
-	CLOCK_EXT                            = 0x1
-	CLOCK_INT                            = 0x2
-	CLOCK_MONOTONIC                      = 0x1
-	CLOCK_MONOTONIC_COARSE               = 0x6
-	CLOCK_MONOTONIC_RAW                  = 0x4
-	CLOCK_PROCESS_CPUTIME_ID             = 0x2
-	CLOCK_REALTIME                       = 0x0
-	CLOCK_REALTIME_ALARM                 = 0x8
-	CLOCK_REALTIME_COARSE                = 0x5
-	CLOCK_TAI                            = 0xb
-	CLOCK_THREAD_CPUTIME_ID              = 0x3
-	CLOCK_TXFROMRX                       = 0x4
-	CLOCK_TXINT                          = 0x3
-	CLONE_CHILD_CLEARTID                 = 0x200000
-	CLONE_CHILD_SETTID                   = 0x1000000
-	CLONE_DETACHED                       = 0x400000
-	CLONE_FILES                          = 0x400
-	CLONE_FS                             = 0x200
-	CLONE_IO                             = 0x80000000
-	CLONE_NEWCGROUP                      = 0x2000000
-	CLONE_NEWIPC                         = 0x8000000
-	CLONE_NEWNET                         = 0x40000000
-	CLONE_NEWNS                          = 0x20000
-	CLONE_NEWPID                         = 0x20000000
-	CLONE_NEWUSER                        = 0x10000000
-	CLONE_NEWUTS                         = 0x4000000
-	CLONE_PARENT                         = 0x8000
-	CLONE_PARENT_SETTID                  = 0x100000
-	CLONE_PTRACE                         = 0x2000
-	CLONE_SETTLS                         = 0x80000
-	CLONE_SIGHAND                        = 0x800
-	CLONE_SYSVSEM                        = 0x40000
-	CLONE_THREAD                         = 0x10000
-	CLONE_UNTRACED                       = 0x800000
-	CLONE_VFORK                          = 0x4000
-	CLONE_VM                             = 0x100
-	CMSPAR                               = 0x40000000
-	CODA_SUPER_MAGIC                     = 0x73757245
-	CR0                                  = 0x0
-	CR1                                  = 0x200
-	CR2                                  = 0x400
-	CR3                                  = 0x600
-	CRAMFS_MAGIC                         = 0x28cd3d45
-	CRDLY                                = 0x600
-	CREAD                                = 0x80
-	CRTSCTS                              = 0x80000000
-	CS5                                  = 0x0
-	CS6                                  = 0x10
-	CS7                                  = 0x20
-	CS8                                  = 0x30
-	CSIGNAL                              = 0xff
-	CSIZE                                = 0x30
-	CSTART                               = 0x11
-	CSTATUS                              = 0x0
-	CSTOP                                = 0x13
-	CSTOPB                               = 0x40
-	CSUSP                                = 0x1a
-	DAXFS_MAGIC                          = 0x64646178
-	DEBUGFS_MAGIC                        = 0x64626720
-	DEVPTS_SUPER_MAGIC                   = 0x1cd1
-	DT_BLK                               = 0x6
-	DT_CHR                               = 0x2
-	DT_DIR                               = 0x4
-	DT_FIFO                              = 0x1
-	DT_LNK                               = 0xa
-	DT_REG                               = 0x8
-	DT_SOCK                              = 0xc
-	DT_UNKNOWN                           = 0x0
-	DT_WHT                               = 0xe
-	ECHO                                 = 0x8
-	ECHOCTL                              = 0x200
-	ECHOE                                = 0x10
-	ECHOK                                = 0x20
-	ECHOKE                               = 0x800
-	ECHONL                               = 0x40
-	ECHOPRT                              = 0x400
-	ECRYPTFS_SUPER_MAGIC                 = 0xf15f
-	EFD_CLOEXEC                          = 0x80000
-	EFD_NONBLOCK                         = 0x800
-	EFD_SEMAPHORE                        = 0x1
-	EFIVARFS_MAGIC                       = 0xde5e81e4
-	EFS_SUPER_MAGIC                      = 0x414a53
-	ENCODING_DEFAULT                     = 0x0
-	ENCODING_FM_MARK                     = 0x3
-	ENCODING_FM_SPACE                    = 0x4
-	ENCODING_MANCHESTER                  = 0x5
-	ENCODING_NRZ                         = 0x1
-	ENCODING_NRZI                        = 0x2
-	EPOLLERR                             = 0x8
-	EPOLLET                              = 0x80000000
-	EPOLLEXCLUSIVE                       = 0x10000000
-	EPOLLHUP                             = 0x10
-	EPOLLIN                              = 0x1
-	EPOLLMSG                             = 0x400
-	EPOLLONESHOT                         = 0x40000000
-	EPOLLOUT                             = 0x4
-	EPOLLPRI                             = 0x2
-	EPOLLRDBAND                          = 0x80
-	EPOLLRDHUP                           = 0x2000
-	EPOLLRDNORM                          = 0x40
-	EPOLLWAKEUP                          = 0x20000000
-	EPOLLWRBAND                          = 0x200
-	EPOLLWRNORM                          = 0x100
-	EPOLL_CLOEXEC                        = 0x80000
-	EPOLL_CTL_ADD                        = 0x1
-	EPOLL_CTL_DEL                        = 0x2
-	EPOLL_CTL_MOD                        = 0x3
-	ETH_P_1588                           = 0x88f7
-	ETH_P_8021AD                         = 0x88a8
-	ETH_P_8021AH                         = 0x88e7
-	ETH_P_8021Q                          = 0x8100
-	ETH_P_80221                          = 0x8917
-	ETH_P_802_2                          = 0x4
-	ETH_P_802_3                          = 0x1
-	ETH_P_802_3_MIN                      = 0x600
-	ETH_P_802_EX1                        = 0x88b5
-	ETH_P_AARP                           = 0x80f3
-	ETH_P_AF_IUCV                        = 0xfbfb
-	ETH_P_ALL                            = 0x3
-	ETH_P_AOE                            = 0x88a2
-	ETH_P_ARCNET                         = 0x1a
-	ETH_P_ARP                            = 0x806
-	ETH_P_ATALK                          = 0x809b
-	ETH_P_ATMFATE                        = 0x8884
-	ETH_P_ATMMPOA                        = 0x884c
-	ETH_P_AX25                           = 0x2
-	ETH_P_BATMAN                         = 0x4305
-	ETH_P_BPQ                            = 0x8ff
-	ETH_P_CAIF                           = 0xf7
-	ETH_P_CAN                            = 0xc
-	ETH_P_CANFD                          = 0xd
-	ETH_P_CONTROL                        = 0x16
-	ETH_P_CUST                           = 0x6006
-	ETH_P_DDCMP                          = 0x6
-	ETH_P_DEC                            = 0x6000
-	ETH_P_DIAG                           = 0x6005
-	ETH_P_DNA_DL                         = 0x6001
-	ETH_P_DNA_RC                         = 0x6002
-	ETH_P_DNA_RT                         = 0x6003
-	ETH_P_DSA                            = 0x1b
-	ETH_P_ECONET                         = 0x18
-	ETH_P_EDSA                           = 0xdada
-	ETH_P_ERSPAN                         = 0x88be
-	ETH_P_ERSPAN2                        = 0x22eb
-	ETH_P_FCOE                           = 0x8906
-	ETH_P_FIP                            = 0x8914
-	ETH_P_HDLC                           = 0x19
-	ETH_P_HSR                            = 0x892f
-	ETH_P_IBOE                           = 0x8915
-	ETH_P_IEEE802154                     = 0xf6
-	ETH_P_IEEEPUP                        = 0xa00
-	ETH_P_IEEEPUPAT                      = 0xa01
-	ETH_P_IFE                            = 0xed3e
-	ETH_P_IP                             = 0x800
-	ETH_P_IPV6                           = 0x86dd
-	ETH_P_IPX                            = 0x8137
-	ETH_P_IRDA                           = 0x17
-	ETH_P_LAT                            = 0x6004
-	ETH_P_LINK_CTL                       = 0x886c
-	ETH_P_LOCALTALK                      = 0x9
-	ETH_P_LOOP                           = 0x60
-	ETH_P_LOOPBACK                       = 0x9000
-	ETH_P_MACSEC                         = 0x88e5
-	ETH_P_MAP                            = 0xf9
-	ETH_P_MOBITEX                        = 0x15
-	ETH_P_MPLS_MC                        = 0x8848
-	ETH_P_MPLS_UC                        = 0x8847
-	ETH_P_MVRP                           = 0x88f5
-	ETH_P_NCSI                           = 0x88f8
-	ETH_P_NSH                            = 0x894f
-	ETH_P_PAE                            = 0x888e
-	ETH_P_PAUSE                          = 0x8808
-	ETH_P_PHONET                         = 0xf5
-	ETH_P_PPPTALK                        = 0x10
-	ETH_P_PPP_DISC                       = 0x8863
-	ETH_P_PPP_MP                         = 0x8
-	ETH_P_PPP_SES                        = 0x8864
-	ETH_P_PREAUTH                        = 0x88c7
-	ETH_P_PRP                            = 0x88fb
-	ETH_P_PUP                            = 0x200
-	ETH_P_PUPAT                          = 0x201
-	ETH_P_QINQ1                          = 0x9100
-	ETH_P_QINQ2                          = 0x9200
-	ETH_P_QINQ3                          = 0x9300
-	ETH_P_RARP                           = 0x8035
-	ETH_P_SCA                            = 0x6007
-	ETH_P_SLOW                           = 0x8809
-	ETH_P_SNAP                           = 0x5
-	ETH_P_TDLS                           = 0x890d
-	ETH_P_TEB                            = 0x6558
-	ETH_P_TIPC                           = 0x88ca
-	ETH_P_TRAILER                        = 0x1c
-	ETH_P_TR_802_2                       = 0x11
-	ETH_P_TSN                            = 0x22f0
-	ETH_P_WAN_PPP                        = 0x7
-	ETH_P_WCCP                           = 0x883e
-	ETH_P_X25                            = 0x805
-	ETH_P_XDSA                           = 0xf8
-	EXABYTE_ENABLE_NEST                  = 0xf0
-	EXT2_SUPER_MAGIC                     = 0xef53
-	EXT3_SUPER_MAGIC                     = 0xef53
-	EXT4_SUPER_MAGIC                     = 0xef53
-	EXTA                                 = 0xe
-	EXTB                                 = 0xf
-	EXTPROC                              = 0x10000
-	F2FS_SUPER_MAGIC                     = 0xf2f52010
-	FALLOC_FL_COLLAPSE_RANGE             = 0x8
-	FALLOC_FL_INSERT_RANGE               = 0x20
-	FALLOC_FL_KEEP_SIZE                  = 0x1
-	FALLOC_FL_NO_HIDE_STALE              = 0x4
-	FALLOC_FL_PUNCH_HOLE                 = 0x2
-	FALLOC_FL_UNSHARE_RANGE              = 0x40
-	FALLOC_FL_ZERO_RANGE                 = 0x10
-	FD_CLOEXEC                           = 0x1
-	FD_SETSIZE                           = 0x400
-	FF0                                  = 0x0
-	FF1                                  = 0x8000
-	FFDLY                                = 0x8000
-	FLUSHO                               = 0x1000
-	FS_ENCRYPTION_MODE_AES_128_CBC       = 0x5
-	FS_ENCRYPTION_MODE_AES_128_CTS       = 0x6
-	FS_ENCRYPTION_MODE_AES_256_CBC       = 0x3
-	FS_ENCRYPTION_MODE_AES_256_CTS       = 0x4
-	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
-	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
-	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
-	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
-	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
-	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
-	FS_KEY_DESCRIPTOR_SIZE               = 0x8
-	FS_KEY_DESC_PREFIX                   = "fscrypt:"
-	FS_KEY_DESC_PREFIX_SIZE              = 0x8
-	FS_MAX_KEY_SIZE                      = 0x40
-	FS_POLICY_FLAGS_PAD_16               = 0x2
-	FS_POLICY_FLAGS_PAD_32               = 0x3
-	FS_POLICY_FLAGS_PAD_4                = 0x0
-	FS_POLICY_FLAGS_PAD_8                = 0x1
-	FS_POLICY_FLAGS_PAD_MASK             = 0x3
-	FS_POLICY_FLAGS_VALID                = 0x3
-	FUTEXFS_SUPER_MAGIC                  = 0xbad1dea
-	F_ADD_SEALS                          = 0x409
-	F_DUPFD                              = 0x0
-	F_DUPFD_CLOEXEC                      = 0x406
-	F_EXLCK                              = 0x4
-	F_GETFD                              = 0x1
-	F_GETFL                              = 0x3
-	F_GETLEASE                           = 0x401
-	F_GETLK                              = 0x5
-	F_GETLK64                            = 0x5
-	F_GETOWN                             = 0x9
-	F_GETOWN_EX                          = 0x10
-	F_GETPIPE_SZ                         = 0x408
-	F_GETSIG                             = 0xb
-	F_GET_FILE_RW_HINT                   = 0x40d
-	F_GET_RW_HINT                        = 0x40b
-	F_GET_SEALS                          = 0x40a
-	F_LOCK                               = 0x1
-	F_NOTIFY                             = 0x402
-	F_OFD_GETLK                          = 0x24
-	F_OFD_SETLK                          = 0x25
-	F_OFD_SETLKW                         = 0x26
-	F_OK                                 = 0x0
-	F_RDLCK                              = 0x0
-	F_SEAL_GROW                          = 0x4
-	F_SEAL_SEAL                          = 0x1
-	F_SEAL_SHRINK                        = 0x2
-	F_SEAL_WRITE                         = 0x8
-	F_SETFD                              = 0x2
-	F_SETFL                              = 0x4
-	F_SETLEASE                           = 0x400
-	F_SETLK                              = 0x6
-	F_SETLK64                            = 0x6
-	F_SETLKW                             = 0x7
-	F_SETLKW64                           = 0x7
-	F_SETOWN                             = 0x8
-	F_SETOWN_EX                          = 0xf
-	F_SETPIPE_SZ                         = 0x407
-	F_SETSIG                             = 0xa
-	F_SET_FILE_RW_HINT                   = 0x40e
-	F_SET_RW_HINT                        = 0x40c
-	F_SHLCK                              = 0x8
-	F_TEST                               = 0x3
-	F_TLOCK                              = 0x2
-	F_ULOCK                              = 0x0
-	F_UNLCK                              = 0x2
-	F_WRLCK                              = 0x1
-	GENL_ADMIN_PERM                      = 0x1
-	GENL_CMD_CAP_DO                      = 0x2
-	GENL_CMD_CAP_DUMP                    = 0x4
-	GENL_CMD_CAP_HASPOL                  = 0x8
-	GENL_HDRLEN                          = 0x4
-	GENL_ID_CTRL                         = 0x10
-	GENL_ID_PMCRAID                      = 0x12
-	GENL_ID_VFS_DQUOT                    = 0x11
-	GENL_MAX_ID                          = 0x3ff
-	GENL_MIN_ID                          = 0x10
-	GENL_NAMSIZ                          = 0x10
-	GENL_START_ALLOC                     = 0x13
-	GENL_UNS_ADMIN_PERM                  = 0x10
-	GRND_NONBLOCK                        = 0x1
-	GRND_RANDOM                          = 0x2
-	HDIO_DRIVE_CMD                       = 0x31f
-	HDIO_DRIVE_CMD_AEB                   = 0x31e
-	HDIO_DRIVE_CMD_HDR_SIZE              = 0x4
-	HDIO_DRIVE_HOB_HDR_SIZE              = 0x8
-	HDIO_DRIVE_RESET                     = 0x31c
-	HDIO_DRIVE_TASK                      = 0x31e
-	HDIO_DRIVE_TASKFILE                  = 0x31d
-	HDIO_DRIVE_TASK_HDR_SIZE             = 0x8
-	HDIO_GETGEO                          = 0x301
-	HDIO_GET_32BIT                       = 0x309
-	HDIO_GET_ACOUSTIC                    = 0x30f
-	HDIO_GET_ADDRESS                     = 0x310
-	HDIO_GET_BUSSTATE                    = 0x31a
-	HDIO_GET_DMA                         = 0x30b
-	HDIO_GET_IDENTITY                    = 0x30d
-	HDIO_GET_KEEPSETTINGS                = 0x308
-	HDIO_GET_MULTCOUNT                   = 0x304
-	HDIO_GET_NICE                        = 0x30c
-	HDIO_GET_NOWERR                      = 0x30a
-	HDIO_GET_QDMA                        = 0x305
-	HDIO_GET_UNMASKINTR                  = 0x302
-	HDIO_GET_WCACHE                      = 0x30e
-	HDIO_OBSOLETE_IDENTITY               = 0x307
-	HDIO_SCAN_HWIF                       = 0x328
-	HDIO_SET_32BIT                       = 0x324
-	HDIO_SET_ACOUSTIC                    = 0x32c
-	HDIO_SET_ADDRESS                     = 0x32f
-	HDIO_SET_BUSSTATE                    = 0x32d
-	HDIO_SET_DMA                         = 0x326
-	HDIO_SET_KEEPSETTINGS                = 0x323
-	HDIO_SET_MULTCOUNT                   = 0x321
-	HDIO_SET_NICE                        = 0x329
-	HDIO_SET_NOWERR                      = 0x325
-	HDIO_SET_PIO_MODE                    = 0x327
-	HDIO_SET_QDMA                        = 0x32e
-	HDIO_SET_UNMASKINTR                  = 0x322
-	HDIO_SET_WCACHE                      = 0x32b
-	HDIO_SET_XFER                        = 0x306
-	HDIO_TRISTATE_HWIF                   = 0x31b
-	HDIO_UNREGISTER_HWIF                 = 0x32a
-	HOSTFS_SUPER_MAGIC                   = 0xc0ffee
-	HPFS_SUPER_MAGIC                     = 0xf995e849
-	HUGETLBFS_MAGIC                      = 0x958458f6
-	HUPCL                                = 0x400
-	IBSHIFT                              = 0x10
-	ICANON                               = 0x2
-	ICMPV6_FILTER                        = 0x1
-	ICRNL                                = 0x100
-	IEXTEN                               = 0x8000
-	IFA_F_DADFAILED                      = 0x8
-	IFA_F_DEPRECATED                     = 0x20
-	IFA_F_HOMEADDRESS                    = 0x10
-	IFA_F_MANAGETEMPADDR                 = 0x100
-	IFA_F_MCAUTOJOIN                     = 0x400
-	IFA_F_NODAD                          = 0x2
-	IFA_F_NOPREFIXROUTE                  = 0x200
-	IFA_F_OPTIMISTIC                     = 0x4
-	IFA_F_PERMANENT                      = 0x80
-	IFA_F_SECONDARY                      = 0x1
-	IFA_F_STABLE_PRIVACY                 = 0x800
-	IFA_F_TEMPORARY                      = 0x1
-	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
-	IFF_ALLMULTI                         = 0x200
-	IFF_ATTACH_QUEUE                     = 0x200
-	IFF_AUTOMEDIA                        = 0x4000
-	IFF_BROADCAST                        = 0x2
-	IFF_DEBUG                            = 0x4
-	IFF_DETACH_QUEUE                     = 0x400
-	IFF_DORMANT                          = 0x20000
-	IFF_DYNAMIC                          = 0x8000
-	IFF_ECHO                             = 0x40000
-	IFF_LOOPBACK                         = 0x8
-	IFF_LOWER_UP                         = 0x10000
-	IFF_MASTER                           = 0x400
-	IFF_MULTICAST                        = 0x1000
-	IFF_MULTI_QUEUE                      = 0x100
-	IFF_NAPI                             = 0x10
-	IFF_NAPI_FRAGS                       = 0x20
-	IFF_NOARP                            = 0x80
-	IFF_NOFILTER                         = 0x1000
-	IFF_NOTRAILERS                       = 0x20
-	IFF_NO_PI                            = 0x1000
-	IFF_ONE_QUEUE                        = 0x2000
-	IFF_PERSIST                          = 0x800
-	IFF_POINTOPOINT                      = 0x10
-	IFF_PORTSEL                          = 0x2000
-	IFF_PROMISC                          = 0x100
-	IFF_RUNNING                          = 0x40
-	IFF_SLAVE                            = 0x800
-	IFF_TAP                              = 0x2
-	IFF_TUN                              = 0x1
-	IFF_TUN_EXCL                         = 0x8000
-	IFF_UP                               = 0x1
-	IFF_VNET_HDR                         = 0x4000
-	IFF_VOLATILE                         = 0x70c5a
-	IFNAMSIZ                             = 0x10
-	IGNBRK                               = 0x1
-	IGNCR                                = 0x80
-	IGNPAR                               = 0x4
-	IMAXBEL                              = 0x2000
-	INLCR                                = 0x40
-	INPCK                                = 0x10
-	IN_ACCESS                            = 0x1
-	IN_ALL_EVENTS                        = 0xfff
-	IN_ATTRIB                            = 0x4
-	IN_CLASSA_HOST                       = 0xffffff
-	IN_CLASSA_MAX                        = 0x80
-	IN_CLASSA_NET                        = 0xff000000
-	IN_CLASSA_NSHIFT                     = 0x18
-	IN_CLASSB_HOST                       = 0xffff
-	IN_CLASSB_MAX                        = 0x10000
-	IN_CLASSB_NET                        = 0xffff0000
-	IN_CLASSB_NSHIFT                     = 0x10
-	IN_CLASSC_HOST                       = 0xff
-	IN_CLASSC_NET                        = 0xffffff00
-	IN_CLASSC_NSHIFT                     = 0x8
-	IN_CLOEXEC                           = 0x80000
-	IN_CLOSE                             = 0x18
-	IN_CLOSE_NOWRITE                     = 0x10
-	IN_CLOSE_WRITE                       = 0x8
-	IN_CREATE                            = 0x100
-	IN_DELETE                            = 0x200
-	IN_DELETE_SELF                       = 0x400
-	IN_DONT_FOLLOW                       = 0x2000000
-	IN_EXCL_UNLINK                       = 0x4000000
-	IN_IGNORED                           = 0x8000
-	IN_ISDIR                             = 0x40000000
-	IN_LOOPBACKNET                       = 0x7f
-	IN_MASK_ADD                          = 0x20000000
-	IN_MODIFY                            = 0x2
-	IN_MOVE                              = 0xc0
-	IN_MOVED_FROM                        = 0x40
-	IN_MOVED_TO                          = 0x80
-	IN_MOVE_SELF                         = 0x800
-	IN_NONBLOCK                          = 0x800
-	IN_ONESHOT                           = 0x80000000
-	IN_ONLYDIR                           = 0x1000000
-	IN_OPEN                              = 0x20
-	IN_Q_OVERFLOW                        = 0x4000
-	IN_UNMOUNT                           = 0x2000
-	IOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9
-	IPPROTO_AH                           = 0x33
-	IPPROTO_BEETPH                       = 0x5e
-	IPPROTO_COMP                         = 0x6c
-	IPPROTO_DCCP                         = 0x21
-	IPPROTO_DSTOPTS                      = 0x3c
-	IPPROTO_EGP                          = 0x8
-	IPPROTO_ENCAP                        = 0x62
-	IPPROTO_ESP                          = 0x32
-	IPPROTO_FRAGMENT                     = 0x2c
-	IPPROTO_GRE                          = 0x2f
-	IPPROTO_HOPOPTS                      = 0x0
-	IPPROTO_ICMP                         = 0x1
-	IPPROTO_ICMPV6                       = 0x3a
-	IPPROTO_IDP                          = 0x16
-	IPPROTO_IGMP                         = 0x2
-	IPPROTO_IP                           = 0x0
-	IPPROTO_IPIP                         = 0x4
-	IPPROTO_IPV6                         = 0x29
-	IPPROTO_MH                           = 0x87
-	IPPROTO_MPLS                         = 0x89
-	IPPROTO_MTP                          = 0x5c
-	IPPROTO_NONE                         = 0x3b
-	IPPROTO_PIM                          = 0x67
-	IPPROTO_PUP                          = 0xc
-	IPPROTO_RAW                          = 0xff
-	IPPROTO_ROUTING                      = 0x2b
-	IPPROTO_RSVP                         = 0x2e
-	IPPROTO_SCTP                         = 0x84
-	IPPROTO_TCP                          = 0x6
-	IPPROTO_TP                           = 0x1d
-	IPPROTO_UDP                          = 0x11
-	IPPROTO_UDPLITE                      = 0x88
-	IPV6_2292DSTOPTS                     = 0x4
-	IPV6_2292HOPLIMIT                    = 0x8
-	IPV6_2292HOPOPTS                     = 0x3
-	IPV6_2292PKTINFO                     = 0x2
-	IPV6_2292PKTOPTIONS                  = 0x6
-	IPV6_2292RTHDR                       = 0x5
-	IPV6_ADDRFORM                        = 0x1
-	IPV6_ADDR_PREFERENCES                = 0x48
-	IPV6_ADD_MEMBERSHIP                  = 0x14
-	IPV6_AUTHHDR                         = 0xa
-	IPV6_AUTOFLOWLABEL                   = 0x46
-	IPV6_CHECKSUM                        = 0x7
-	IPV6_DONTFRAG                        = 0x3e
-	IPV6_DROP_MEMBERSHIP                 = 0x15
-	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
-	IPV6_HDRINCL                         = 0x24
-	IPV6_HOPLIMIT                        = 0x34
-	IPV6_HOPOPTS                         = 0x36
-	IPV6_IPSEC_POLICY                    = 0x22
-	IPV6_JOIN_ANYCAST                    = 0x1b
-	IPV6_JOIN_GROUP                      = 0x14
-	IPV6_LEAVE_ANYCAST                   = 0x1c
-	IPV6_LEAVE_GROUP                     = 0x15
-	IPV6_MINHOPCOUNT                     = 0x49
-	IPV6_MTU                             = 0x18
-	IPV6_MTU_DISCOVER                    = 0x17
-	IPV6_MULTICAST_HOPS                  = 0x12
-	IPV6_MULTICAST_IF                    = 0x11
-	IPV6_MULTICAST_LOOP                  = 0x13
-	IPV6_NEXTHOP                         = 0x9
-	IPV6_ORIGDSTADDR                     = 0x4a
-	IPV6_PATHMTU                         = 0x3d
-	IPV6_PKTINFO                         = 0x32
-	IPV6_PMTUDISC_DO                     = 0x2
-	IPV6_PMTUDISC_DONT                   = 0x0
-	IPV6_PMTUDISC_INTERFACE              = 0x4
-	IPV6_PMTUDISC_OMIT                   = 0x5
-	IPV6_PMTUDISC_PROBE                  = 0x3
-	IPV6_PMTUDISC_WANT                   = 0x1
-	IPV6_RECVDSTOPTS                     = 0x3a
-	IPV6_RECVERR                         = 0x19
-	IPV6_RECVFRAGSIZE                    = 0x4d
-	IPV6_RECVHOPLIMIT                    = 0x33
-	IPV6_RECVHOPOPTS                     = 0x35
-	IPV6_RECVORIGDSTADDR                 = 0x4a
-	IPV6_RECVPATHMTU                     = 0x3c
-	IPV6_RECVPKTINFO                     = 0x31
-	IPV6_RECVRTHDR                       = 0x38
-	IPV6_RECVTCLASS                      = 0x42
-	IPV6_ROUTER_ALERT                    = 0x16
-	IPV6_RTHDR                           = 0x39
-	IPV6_RTHDRDSTOPTS                    = 0x37
-	IPV6_RTHDR_LOOSE                     = 0x0
-	IPV6_RTHDR_STRICT                    = 0x1
-	IPV6_RTHDR_TYPE_0                    = 0x0
-	IPV6_RXDSTOPTS                       = 0x3b
-	IPV6_RXHOPOPTS                       = 0x36
-	IPV6_TCLASS                          = 0x43
-	IPV6_TRANSPARENT                     = 0x4b
-	IPV6_UNICAST_HOPS                    = 0x10
-	IPV6_UNICAST_IF                      = 0x4c
-	IPV6_V6ONLY                          = 0x1a
-	IPV6_XFRM_POLICY                     = 0x23
-	IP_ADD_MEMBERSHIP                    = 0x23
-	IP_ADD_SOURCE_MEMBERSHIP             = 0x27
-	IP_BIND_ADDRESS_NO_PORT              = 0x18
-	IP_BLOCK_SOURCE                      = 0x26
-	IP_CHECKSUM                          = 0x17
-	IP_DEFAULT_MULTICAST_LOOP            = 0x1
-	IP_DEFAULT_MULTICAST_TTL             = 0x1
-	IP_DF                                = 0x4000
-	IP_DROP_MEMBERSHIP                   = 0x24
-	IP_DROP_SOURCE_MEMBERSHIP            = 0x28
-	IP_FREEBIND                          = 0xf
-	IP_HDRINCL                           = 0x3
-	IP_IPSEC_POLICY                      = 0x10
-	IP_MAXPACKET                         = 0xffff
-	IP_MAX_MEMBERSHIPS                   = 0x14
-	IP_MF                                = 0x2000
-	IP_MINTTL                            = 0x15
-	IP_MSFILTER                          = 0x29
-	IP_MSS                               = 0x240
-	IP_MTU                               = 0xe
-	IP_MTU_DISCOVER                      = 0xa
-	IP_MULTICAST_ALL                     = 0x31
-	IP_MULTICAST_IF                      = 0x20
-	IP_MULTICAST_LOOP                    = 0x22
-	IP_MULTICAST_TTL                     = 0x21
-	IP_NODEFRAG                          = 0x16
-	IP_OFFMASK                           = 0x1fff
-	IP_OPTIONS                           = 0x4
-	IP_ORIGDSTADDR                       = 0x14
-	IP_PASSSEC                           = 0x12
-	IP_PKTINFO                           = 0x8
-	IP_PKTOPTIONS                        = 0x9
-	IP_PMTUDISC                          = 0xa
-	IP_PMTUDISC_DO                       = 0x2
-	IP_PMTUDISC_DONT                     = 0x0
-	IP_PMTUDISC_INTERFACE                = 0x4
-	IP_PMTUDISC_OMIT                     = 0x5
-	IP_PMTUDISC_PROBE                    = 0x3
-	IP_PMTUDISC_WANT                     = 0x1
-	IP_RECVERR                           = 0xb
-	IP_RECVFRAGSIZE                      = 0x19
-	IP_RECVOPTS                          = 0x6
-	IP_RECVORIGDSTADDR                   = 0x14
-	IP_RECVRETOPTS                       = 0x7
-	IP_RECVTOS                           = 0xd
-	IP_RECVTTL                           = 0xc
-	IP_RETOPTS                           = 0x7
-	IP_RF                                = 0x8000
-	IP_ROUTER_ALERT                      = 0x5
-	IP_TOS                               = 0x1
-	IP_TRANSPARENT                       = 0x13
-	IP_TTL                               = 0x2
-	IP_UNBLOCK_SOURCE                    = 0x25
-	IP_UNICAST_IF                        = 0x32
-	IP_XFRM_POLICY                       = 0x11
-	ISIG                                 = 0x1
-	ISOFS_SUPER_MAGIC                    = 0x9660
-	ISTRIP                               = 0x20
-	IUCLC                                = 0x200
-	IUTF8                                = 0x4000
-	IXANY                                = 0x800
-	IXOFF                                = 0x1000
-	IXON                                 = 0x400
-	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
-	KEYCTL_ASSUME_AUTHORITY              = 0x10
-	KEYCTL_CHOWN                         = 0x4
-	KEYCTL_CLEAR                         = 0x7
-	KEYCTL_DESCRIBE                      = 0x6
-	KEYCTL_DH_COMPUTE                    = 0x17
-	KEYCTL_GET_KEYRING_ID                = 0x0
-	KEYCTL_GET_PERSISTENT                = 0x16
-	KEYCTL_GET_SECURITY                  = 0x11
-	KEYCTL_INSTANTIATE                   = 0xc
-	KEYCTL_INSTANTIATE_IOV               = 0x14
-	KEYCTL_INVALIDATE                    = 0x15
-	KEYCTL_JOIN_SESSION_KEYRING          = 0x1
-	KEYCTL_LINK                          = 0x8
-	KEYCTL_NEGATE                        = 0xd
-	KEYCTL_READ                          = 0xb
-	KEYCTL_REJECT                        = 0x13
-	KEYCTL_RESTRICT_KEYRING              = 0x1d
-	KEYCTL_REVOKE                        = 0x3
-	KEYCTL_SEARCH                        = 0xa
-	KEYCTL_SESSION_TO_PARENT             = 0x12
-	KEYCTL_SETPERM                       = 0x5
-	KEYCTL_SET_REQKEY_KEYRING            = 0xe
-	KEYCTL_SET_TIMEOUT                   = 0xf
-	KEYCTL_UNLINK                        = 0x9
-	KEYCTL_UPDATE                        = 0x2
-	KEY_REQKEY_DEFL_DEFAULT              = 0x0
-	KEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6
-	KEY_REQKEY_DEFL_NO_CHANGE            = -0x1
-	KEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2
-	KEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7
-	KEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3
-	KEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1
-	KEY_REQKEY_DEFL_USER_KEYRING         = 0x4
-	KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5
-	KEY_SPEC_GROUP_KEYRING               = -0x6
-	KEY_SPEC_PROCESS_KEYRING             = -0x2
-	KEY_SPEC_REQKEY_AUTH_KEY             = -0x7
-	KEY_SPEC_REQUESTOR_KEYRING           = -0x8
-	KEY_SPEC_SESSION_KEYRING             = -0x3
-	KEY_SPEC_THREAD_KEYRING              = -0x1
-	KEY_SPEC_USER_KEYRING                = -0x4
-	KEY_SPEC_USER_SESSION_KEYRING        = -0x5
-	LINUX_REBOOT_CMD_CAD_OFF             = 0x0
-	LINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef
-	LINUX_REBOOT_CMD_HALT                = 0xcdef0123
-	LINUX_REBOOT_CMD_KEXEC               = 0x45584543
-	LINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc
-	LINUX_REBOOT_CMD_RESTART             = 0x1234567
-	LINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4
-	LINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2
-	LINUX_REBOOT_MAGIC1                  = 0xfee1dead
-	LINUX_REBOOT_MAGIC2                  = 0x28121969
-	LOCK_EX                              = 0x2
-	LOCK_NB                              = 0x4
-	LOCK_SH                              = 0x1
-	LOCK_UN                              = 0x8
-	MADV_DODUMP                          = 0x11
-	MADV_DOFORK                          = 0xb
-	MADV_DONTDUMP                        = 0x10
-	MADV_DONTFORK                        = 0xa
-	MADV_DONTNEED                        = 0x4
-	MADV_FREE                            = 0x8
-	MADV_HUGEPAGE                        = 0xe
-	MADV_HWPOISON                        = 0x64
-	MADV_KEEPONFORK                      = 0x13
-	MADV_MERGEABLE                       = 0xc
-	MADV_NOHUGEPAGE                      = 0xf
-	MADV_NORMAL                          = 0x0
-	MADV_RANDOM                          = 0x1
-	MADV_REMOVE                          = 0x9
-	MADV_SEQUENTIAL                      = 0x2
-	MADV_UNMERGEABLE                     = 0xd
-	MADV_WILLNEED                        = 0x3
-	MADV_WIPEONFORK                      = 0x12
-	MAP_ANON                             = 0x20
-	MAP_ANONYMOUS                        = 0x20
-	MAP_DENYWRITE                        = 0x800
-	MAP_EXECUTABLE                       = 0x1000
-	MAP_FILE                             = 0x0
-	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
-	MAP_GROWSDOWN                        = 0x100
-	MAP_HUGETLB                          = 0x40000
-	MAP_HUGE_MASK                        = 0x3f
-	MAP_HUGE_SHIFT                       = 0x1a
-	MAP_LOCKED                           = 0x2000
-	MAP_NONBLOCK                         = 0x10000
-	MAP_NORESERVE                        = 0x4000
-	MAP_POPULATE                         = 0x8000
-	MAP_PRIVATE                          = 0x2
-	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
-	MAP_STACK                            = 0x20000
-	MAP_SYNC                             = 0x80000
-	MAP_TYPE                             = 0xf
-	MCL_CURRENT                          = 0x1
-	MCL_FUTURE                           = 0x2
-	MCL_ONFAULT                          = 0x4
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
-	MINIX2_SUPER_MAGIC                   = 0x2468
-	MINIX2_SUPER_MAGIC2                  = 0x2478
-	MINIX3_SUPER_MAGIC                   = 0x4d5a
-	MINIX_SUPER_MAGIC                    = 0x137f
-	MINIX_SUPER_MAGIC2                   = 0x138f
-	MNT_DETACH                           = 0x2
-	MNT_EXPIRE                           = 0x4
-	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
-	MSDOS_SUPER_MAGIC                    = 0x4d44
-	MSG_BATCH                            = 0x40000
-	MSG_CMSG_CLOEXEC                     = 0x40000000
-	MSG_CONFIRM                          = 0x800
-	MSG_CTRUNC                           = 0x8
-	MSG_DONTROUTE                        = 0x4
-	MSG_DONTWAIT                         = 0x40
-	MSG_EOR                              = 0x80
-	MSG_ERRQUEUE                         = 0x2000
-	MSG_FASTOPEN                         = 0x20000000
-	MSG_FIN                              = 0x200
-	MSG_MORE                             = 0x8000
-	MSG_NOSIGNAL                         = 0x4000
-	MSG_OOB                              = 0x1
-	MSG_PEEK                             = 0x2
-	MSG_PROXY                            = 0x10
-	MSG_RST                              = 0x1000
-	MSG_SYN                              = 0x400
-	MSG_TRUNC                            = 0x20
-	MSG_TRYHARD                          = 0x4
-	MSG_WAITALL                          = 0x100
-	MSG_WAITFORONE                       = 0x10000
-	MSG_ZEROCOPY                         = 0x4000000
-	MS_ACTIVE                            = 0x40000000
-	MS_ASYNC                             = 0x1
-	MS_BIND                              = 0x1000
-	MS_BORN                              = 0x20000000
-	MS_DIRSYNC                           = 0x80
-	MS_INVALIDATE                        = 0x2
-	MS_I_VERSION                         = 0x800000
-	MS_KERNMOUNT                         = 0x400000
-	MS_LAZYTIME                          = 0x2000000
-	MS_MANDLOCK                          = 0x40
-	MS_MGC_MSK                           = 0xffff0000
-	MS_MGC_VAL                           = 0xc0ed0000
-	MS_MOVE                              = 0x2000
-	MS_NOATIME                           = 0x400
-	MS_NODEV                             = 0x4
-	MS_NODIRATIME                        = 0x800
-	MS_NOEXEC                            = 0x8
-	MS_NOREMOTELOCK                      = 0x8000000
-	MS_NOSEC                             = 0x10000000
-	MS_NOSUID                            = 0x2
-	MS_NOUSER                            = -0x80000000
-	MS_POSIXACL                          = 0x10000
-	MS_PRIVATE                           = 0x40000
-	MS_RDONLY                            = 0x1
-	MS_REC                               = 0x4000
-	MS_RELATIME                          = 0x200000
-	MS_REMOUNT                           = 0x20
-	MS_RMT_MASK                          = 0x2800051
-	MS_SHARED                            = 0x100000
-	MS_SILENT                            = 0x8000
-	MS_SLAVE                             = 0x80000
-	MS_STRICTATIME                       = 0x1000000
-	MS_SUBMOUNT                          = 0x4000000
-	MS_SYNC                              = 0x4
-	MS_SYNCHRONOUS                       = 0x10
-	MS_UNBINDABLE                        = 0x20000
-	MS_VERBOSE                           = 0x8000
-	MTD_INODE_FS_MAGIC                   = 0x11307854
-	NAME_MAX                             = 0xff
-	NCP_SUPER_MAGIC                      = 0x564c
-	NETLINK_ADD_MEMBERSHIP               = 0x1
-	NETLINK_AUDIT                        = 0x9
-	NETLINK_BROADCAST_ERROR              = 0x4
-	NETLINK_CAP_ACK                      = 0xa
-	NETLINK_CONNECTOR                    = 0xb
-	NETLINK_CRYPTO                       = 0x15
-	NETLINK_DNRTMSG                      = 0xe
-	NETLINK_DROP_MEMBERSHIP              = 0x2
-	NETLINK_ECRYPTFS                     = 0x13
-	NETLINK_EXT_ACK                      = 0xb
-	NETLINK_FIB_LOOKUP                   = 0xa
-	NETLINK_FIREWALL                     = 0x3
-	NETLINK_GENERIC                      = 0x10
-	NETLINK_INET_DIAG                    = 0x4
-	NETLINK_IP6_FW                       = 0xd
-	NETLINK_ISCSI                        = 0x8
-	NETLINK_KOBJECT_UEVENT               = 0xf
-	NETLINK_LISTEN_ALL_NSID              = 0x8
-	NETLINK_LIST_MEMBERSHIPS             = 0x9
-	NETLINK_NETFILTER                    = 0xc
-	NETLINK_NFLOG                        = 0x5
-	NETLINK_NO_ENOBUFS                   = 0x5
-	NETLINK_PKTINFO                      = 0x3
-	NETLINK_RDMA                         = 0x14
-	NETLINK_ROUTE                        = 0x0
-	NETLINK_RX_RING                      = 0x6
-	NETLINK_SCSITRANSPORT                = 0x12
-	NETLINK_SELINUX                      = 0x7
-	NETLINK_SMC                          = 0x16
-	NETLINK_SOCK_DIAG                    = 0x4
-	NETLINK_TX_RING                      = 0x7
-	NETLINK_UNUSED                       = 0x1
-	NETLINK_USERSOCK                     = 0x2
-	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
-	NFNETLINK_V0                         = 0x0
-	NFNLGRP_ACCT_QUOTA                   = 0x8
-	NFNLGRP_CONNTRACK_DESTROY            = 0x3
-	NFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6
-	NFNLGRP_CONNTRACK_EXP_NEW            = 0x4
-	NFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5
-	NFNLGRP_CONNTRACK_NEW                = 0x1
-	NFNLGRP_CONNTRACK_UPDATE             = 0x2
-	NFNLGRP_MAX                          = 0x9
-	NFNLGRP_NFTABLES                     = 0x7
-	NFNLGRP_NFTRACE                      = 0x9
-	NFNLGRP_NONE                         = 0x0
-	NFNL_BATCH_MAX                       = 0x1
-	NFNL_MSG_BATCH_BEGIN                 = 0x10
-	NFNL_MSG_BATCH_END                   = 0x11
-	NFNL_NFA_NEST                        = 0x8000
-	NFNL_SUBSYS_ACCT                     = 0x7
-	NFNL_SUBSYS_COUNT                    = 0xc
-	NFNL_SUBSYS_CTHELPER                 = 0x9
-	NFNL_SUBSYS_CTNETLINK                = 0x1
-	NFNL_SUBSYS_CTNETLINK_EXP            = 0x2
-	NFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8
-	NFNL_SUBSYS_IPSET                    = 0x6
-	NFNL_SUBSYS_NFTABLES                 = 0xa
-	NFNL_SUBSYS_NFT_COMPAT               = 0xb
-	NFNL_SUBSYS_NONE                     = 0x0
-	NFNL_SUBSYS_OSF                      = 0x5
-	NFNL_SUBSYS_QUEUE                    = 0x3
-	NFNL_SUBSYS_ULOG                     = 0x4
-	NFS_SUPER_MAGIC                      = 0x6969
-	NILFS_SUPER_MAGIC                    = 0x3434
-	NL0                                  = 0x0
-	NL1                                  = 0x100
-	NLA_ALIGNTO                          = 0x4
-	NLA_F_NESTED                         = 0x8000
-	NLA_F_NET_BYTEORDER                  = 0x4000
-	NLA_HDRLEN                           = 0x4
-	NLDLY                                = 0x100
-	NLMSG_ALIGNTO                        = 0x4
-	NLMSG_DONE                           = 0x3
-	NLMSG_ERROR                          = 0x2
-	NLMSG_HDRLEN                         = 0x10
-	NLMSG_MIN_TYPE                       = 0x10
-	NLMSG_NOOP                           = 0x1
-	NLMSG_OVERRUN                        = 0x4
-	NLM_F_ACK                            = 0x4
-	NLM_F_ACK_TLVS                       = 0x200
-	NLM_F_APPEND                         = 0x800
-	NLM_F_ATOMIC                         = 0x400
-	NLM_F_CAPPED                         = 0x100
-	NLM_F_CREATE                         = 0x400
-	NLM_F_DUMP                           = 0x300
-	NLM_F_DUMP_FILTERED                  = 0x20
-	NLM_F_DUMP_INTR                      = 0x10
-	NLM_F_ECHO                           = 0x8
-	NLM_F_EXCL                           = 0x200
-	NLM_F_MATCH                          = 0x200
-	NLM_F_MULTI                          = 0x2
-	NLM_F_NONREC                         = 0x100
-	NLM_F_REPLACE                        = 0x100
-	NLM_F_REQUEST                        = 0x1
-	NLM_F_ROOT                           = 0x100
-	NOFLSH                               = 0x80
-	NSFS_MAGIC                           = 0x6e736673
-	OCFS2_SUPER_MAGIC                    = 0x7461636f
-	OCRNL                                = 0x8
-	OFDEL                                = 0x80
-	OFILL                                = 0x40
-	OLCUC                                = 0x2
-	ONLCR                                = 0x4
-	ONLRET                               = 0x20
-	ONOCR                                = 0x10
-	OPENPROM_SUPER_MAGIC                 = 0x9fa1
-	OPOST                                = 0x1
-	OVERLAYFS_SUPER_MAGIC                = 0x794c7630
-	O_ACCMODE                            = 0x3
-	O_APPEND                             = 0x400
-	O_ASYNC                              = 0x2000
-	O_CLOEXEC                            = 0x80000
-	O_CREAT                              = 0x40
-	O_DIRECT                             = 0x4000
-	O_DIRECTORY                          = 0x10000
-	O_DSYNC                              = 0x1000
-	O_EXCL                               = 0x80
-	O_FSYNC                              = 0x101000
-	O_LARGEFILE                          = 0x0
-	O_NDELAY                             = 0x800
-	O_NOATIME                            = 0x40000
-	O_NOCTTY                             = 0x100
-	O_NOFOLLOW                           = 0x20000
-	O_NONBLOCK                           = 0x800
-	O_PATH                               = 0x200000
-	O_RDONLY                             = 0x0
-	O_RDWR                               = 0x2
-	O_RSYNC                              = 0x101000
-	O_SYNC                               = 0x101000
-	O_TMPFILE                            = 0x410000
-	O_TRUNC                              = 0x200
-	O_WRONLY                             = 0x1
-	PACKET_ADD_MEMBERSHIP                = 0x1
-	PACKET_AUXDATA                       = 0x8
-	PACKET_BROADCAST                     = 0x1
-	PACKET_COPY_THRESH                   = 0x7
-	PACKET_DROP_MEMBERSHIP               = 0x2
-	PACKET_FANOUT                        = 0x12
-	PACKET_FANOUT_CBPF                   = 0x6
-	PACKET_FANOUT_CPU                    = 0x2
-	PACKET_FANOUT_DATA                   = 0x16
-	PACKET_FANOUT_EBPF                   = 0x7
-	PACKET_FANOUT_FLAG_DEFRAG            = 0x8000
-	PACKET_FANOUT_FLAG_ROLLOVER          = 0x1000
-	PACKET_FANOUT_FLAG_UNIQUEID          = 0x2000
-	PACKET_FANOUT_HASH                   = 0x0
-	PACKET_FANOUT_LB                     = 0x1
-	PACKET_FANOUT_QM                     = 0x5
-	PACKET_FANOUT_RND                    = 0x4
-	PACKET_FANOUT_ROLLOVER               = 0x3
-	PACKET_FASTROUTE                     = 0x6
-	PACKET_HDRLEN                        = 0xb
-	PACKET_HOST                          = 0x0
-	PACKET_KERNEL                        = 0x7
-	PACKET_LOOPBACK                      = 0x5
-	PACKET_LOSS                          = 0xe
-	PACKET_MR_ALLMULTI                   = 0x2
-	PACKET_MR_MULTICAST                  = 0x0
-	PACKET_MR_PROMISC                    = 0x1
-	PACKET_MR_UNICAST                    = 0x3
-	PACKET_MULTICAST                     = 0x2
-	PACKET_ORIGDEV                       = 0x9
-	PACKET_OTHERHOST                     = 0x3
-	PACKET_OUTGOING                      = 0x4
-	PACKET_QDISC_BYPASS                  = 0x14
-	PACKET_RECV_OUTPUT                   = 0x3
-	PACKET_RESERVE                       = 0xc
-	PACKET_ROLLOVER_STATS                = 0x15
-	PACKET_RX_RING                       = 0x5
-	PACKET_STATISTICS                    = 0x6
-	PACKET_TIMESTAMP                     = 0x11
-	PACKET_TX_HAS_OFF                    = 0x13
-	PACKET_TX_RING                       = 0xd
-	PACKET_TX_TIMESTAMP                  = 0x10
-	PACKET_USER                          = 0x6
-	PACKET_VERSION                       = 0xa
-	PACKET_VNET_HDR                      = 0xf
-	PARENB                               = 0x100
-	PARITY_CRC16_PR0                     = 0x2
-	PARITY_CRC16_PR0_CCITT               = 0x4
-	PARITY_CRC16_PR1                     = 0x3
-	PARITY_CRC16_PR1_CCITT               = 0x5
-	PARITY_CRC32_PR0_CCITT               = 0x6
-	PARITY_CRC32_PR1_CCITT               = 0x7
-	PARITY_DEFAULT                       = 0x0
-	PARITY_NONE                          = 0x1
-	PARMRK                               = 0x8
-	PARODD                               = 0x200
-	PENDIN                               = 0x4000
-	PERF_EVENT_IOC_DISABLE               = 0x2401
-	PERF_EVENT_IOC_ENABLE                = 0x2400
-	PERF_EVENT_IOC_ID                    = 0x80082407
-	PERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x4008240b
-	PERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409
-	PERF_EVENT_IOC_PERIOD                = 0x40082404
-	PERF_EVENT_IOC_QUERY_BPF             = 0xc008240a
-	PERF_EVENT_IOC_REFRESH               = 0x2402
-	PERF_EVENT_IOC_RESET                 = 0x2403
-	PERF_EVENT_IOC_SET_BPF               = 0x40042408
-	PERF_EVENT_IOC_SET_FILTER            = 0x40082406
-	PERF_EVENT_IOC_SET_OUTPUT            = 0x2405
-	PIPEFS_MAGIC                         = 0x50495045
-	PRIO_PGRP                            = 0x1
-	PRIO_PROCESS                         = 0x0
-	PRIO_USER                            = 0x2
-	PROC_SUPER_MAGIC                     = 0x9fa0
-	PROT_EXEC                            = 0x4
-	PROT_GROWSDOWN                       = 0x1000000
-	PROT_GROWSUP                         = 0x2000000
-	PROT_NONE                            = 0x0
-	PROT_READ                            = 0x1
-	PROT_WRITE                           = 0x2
-	PR_CAPBSET_DROP                      = 0x18
-	PR_CAPBSET_READ                      = 0x17
-	PR_CAP_AMBIENT                       = 0x2f
-	PR_CAP_AMBIENT_CLEAR_ALL             = 0x4
-	PR_CAP_AMBIENT_IS_SET                = 0x1
-	PR_CAP_AMBIENT_LOWER                 = 0x3
-	PR_CAP_AMBIENT_RAISE                 = 0x2
-	PR_ENDIAN_BIG                        = 0x0
-	PR_ENDIAN_LITTLE                     = 0x1
-	PR_ENDIAN_PPC_LITTLE                 = 0x2
-	PR_FPEMU_NOPRINT                     = 0x1
-	PR_FPEMU_SIGFPE                      = 0x2
-	PR_FP_EXC_ASYNC                      = 0x2
-	PR_FP_EXC_DISABLED                   = 0x0
-	PR_FP_EXC_DIV                        = 0x10000
-	PR_FP_EXC_INV                        = 0x100000
-	PR_FP_EXC_NONRECOV                   = 0x1
-	PR_FP_EXC_OVF                        = 0x20000
-	PR_FP_EXC_PRECISE                    = 0x3
-	PR_FP_EXC_RES                        = 0x80000
-	PR_FP_EXC_SW_ENABLE                  = 0x80
-	PR_FP_EXC_UND                        = 0x40000
-	PR_FP_MODE_FR                        = 0x1
-	PR_FP_MODE_FRE                       = 0x2
-	PR_GET_CHILD_SUBREAPER               = 0x25
-	PR_GET_DUMPABLE                      = 0x3
-	PR_GET_ENDIAN                        = 0x13
-	PR_GET_FPEMU                         = 0x9
-	PR_GET_FPEXC                         = 0xb
-	PR_GET_FP_MODE                       = 0x2e
-	PR_GET_KEEPCAPS                      = 0x7
-	PR_GET_NAME                          = 0x10
-	PR_GET_NO_NEW_PRIVS                  = 0x27
-	PR_GET_PDEATHSIG                     = 0x2
-	PR_GET_SECCOMP                       = 0x15
-	PR_GET_SECUREBITS                    = 0x1b
-	PR_GET_SPECULATION_CTRL              = 0x34
-	PR_GET_THP_DISABLE                   = 0x2a
-	PR_GET_TID_ADDRESS                   = 0x28
-	PR_GET_TIMERSLACK                    = 0x1e
-	PR_GET_TIMING                        = 0xd
-	PR_GET_TSC                           = 0x19
-	PR_GET_UNALIGN                       = 0x5
-	PR_MCE_KILL                          = 0x21
-	PR_MCE_KILL_CLEAR                    = 0x0
-	PR_MCE_KILL_DEFAULT                  = 0x2
-	PR_MCE_KILL_EARLY                    = 0x1
-	PR_MCE_KILL_GET                      = 0x22
-	PR_MCE_KILL_LATE                     = 0x0
-	PR_MCE_KILL_SET                      = 0x1
-	PR_MPX_DISABLE_MANAGEMENT            = 0x2c
-	PR_MPX_ENABLE_MANAGEMENT             = 0x2b
-	PR_SET_CHILD_SUBREAPER               = 0x24
-	PR_SET_DUMPABLE                      = 0x4
-	PR_SET_ENDIAN                        = 0x14
-	PR_SET_FPEMU                         = 0xa
-	PR_SET_FPEXC                         = 0xc
-	PR_SET_FP_MODE                       = 0x2d
-	PR_SET_KEEPCAPS                      = 0x8
-	PR_SET_MM                            = 0x23
-	PR_SET_MM_ARG_END                    = 0x9
-	PR_SET_MM_ARG_START                  = 0x8
-	PR_SET_MM_AUXV                       = 0xc
-	PR_SET_MM_BRK                        = 0x7
-	PR_SET_MM_END_CODE                   = 0x2
-	PR_SET_MM_END_DATA                   = 0x4
-	PR_SET_MM_ENV_END                    = 0xb
-	PR_SET_MM_ENV_START                  = 0xa
-	PR_SET_MM_EXE_FILE                   = 0xd
-	PR_SET_MM_MAP                        = 0xe
-	PR_SET_MM_MAP_SIZE                   = 0xf
-	PR_SET_MM_START_BRK                  = 0x6
-	PR_SET_MM_START_CODE                 = 0x1
-	PR_SET_MM_START_DATA                 = 0x3
-	PR_SET_MM_START_STACK                = 0x5
-	PR_SET_NAME                          = 0xf
-	PR_SET_NO_NEW_PRIVS                  = 0x26
-	PR_SET_PDEATHSIG                     = 0x1
-	PR_SET_PTRACER                       = 0x59616d61
-	PR_SET_PTRACER_ANY                   = 0xffffffffffffffff
-	PR_SET_SECCOMP                       = 0x16
-	PR_SET_SECUREBITS                    = 0x1c
-	PR_SET_SPECULATION_CTRL              = 0x35
-	PR_SET_THP_DISABLE                   = 0x29
-	PR_SET_TIMERSLACK                    = 0x1d
-	PR_SET_TIMING                        = 0xe
-	PR_SET_TSC                           = 0x1a
-	PR_SET_UNALIGN                       = 0x6
-	PR_SPEC_DISABLE                      = 0x4
-	PR_SPEC_ENABLE                       = 0x2
-	PR_SPEC_FORCE_DISABLE                = 0x8
-	PR_SPEC_NOT_AFFECTED                 = 0x0
-	PR_SPEC_PRCTL                        = 0x1
-	PR_SPEC_STORE_BYPASS                 = 0x0
-	PR_SVE_GET_VL                        = 0x33
-	PR_SVE_SET_VL                        = 0x32
-	PR_SVE_SET_VL_ONEXEC                 = 0x40000
-	PR_SVE_VL_INHERIT                    = 0x20000
-	PR_SVE_VL_LEN_MASK                   = 0xffff
-	PR_TASK_PERF_EVENTS_DISABLE          = 0x1f
-	PR_TASK_PERF_EVENTS_ENABLE           = 0x20
-	PR_TIMING_STATISTICAL                = 0x0
-	PR_TIMING_TIMESTAMP                  = 0x1
-	PR_TSC_ENABLE                        = 0x1
-	PR_TSC_SIGSEGV                       = 0x2
-	PR_UNALIGN_NOPRINT                   = 0x1
-	PR_UNALIGN_SIGBUS                    = 0x2
-	PSTOREFS_MAGIC                       = 0x6165676c
-	PTRACE_ATTACH                        = 0x10
-	PTRACE_CONT                          = 0x7
-	PTRACE_DETACH                        = 0x11
-	PTRACE_EVENT_CLONE                   = 0x3
-	PTRACE_EVENT_EXEC                    = 0x4
-	PTRACE_EVENT_EXIT                    = 0x6
-	PTRACE_EVENT_FORK                    = 0x1
-	PTRACE_EVENT_SECCOMP                 = 0x7
-	PTRACE_EVENT_STOP                    = 0x80
-	PTRACE_EVENT_VFORK                   = 0x2
-	PTRACE_EVENT_VFORK_DONE              = 0x5
-	PTRACE_GETEVENTMSG                   = 0x4201
-	PTRACE_GETREGS                       = 0xc
-	PTRACE_GETREGSET                     = 0x4204
-	PTRACE_GETSIGINFO                    = 0x4202
-	PTRACE_GETSIGMASK                    = 0x420a
-	PTRACE_INTERRUPT                     = 0x4207
-	PTRACE_KILL                          = 0x8
-	PTRACE_LISTEN                        = 0x4208
-	PTRACE_O_EXITKILL                    = 0x100000
-	PTRACE_O_MASK                        = 0x3000ff
-	PTRACE_O_SUSPEND_SECCOMP             = 0x200000
-	PTRACE_O_TRACECLONE                  = 0x8
-	PTRACE_O_TRACEEXEC                   = 0x10
-	PTRACE_O_TRACEEXIT                   = 0x40
-	PTRACE_O_TRACEFORK                   = 0x2
-	PTRACE_O_TRACESECCOMP                = 0x80
-	PTRACE_O_TRACESYSGOOD                = 0x1
-	PTRACE_O_TRACEVFORK                  = 0x4
-	PTRACE_O_TRACEVFORKDONE              = 0x20
-	PTRACE_PEEKDATA                      = 0x2
-	PTRACE_PEEKSIGINFO                   = 0x4209
-	PTRACE_PEEKSIGINFO_SHARED            = 0x1
-	PTRACE_PEEKTEXT                      = 0x1
-	PTRACE_PEEKUSR                       = 0x3
-	PTRACE_POKEDATA                      = 0x5
-	PTRACE_POKETEXT                      = 0x4
-	PTRACE_POKEUSR                       = 0x6
-	PTRACE_SECCOMP_GET_FILTER            = 0x420c
-	PTRACE_SECCOMP_GET_METADATA          = 0x420d
-	PTRACE_SEIZE                         = 0x4206
-	PTRACE_SETOPTIONS                    = 0x4200
-	PTRACE_SETREGS                       = 0xd
-	PTRACE_SETREGSET                     = 0x4205
-	PTRACE_SETSIGINFO                    = 0x4203
-	PTRACE_SETSIGMASK                    = 0x420b
-	PTRACE_SINGLESTEP                    = 0x9
-	PTRACE_SYSCALL                       = 0x18
-	PTRACE_TRACEME                       = 0x0
-	QNX4_SUPER_MAGIC                     = 0x2f
-	QNX6_SUPER_MAGIC                     = 0x68191122
-	RAMFS_MAGIC                          = 0x858458f6
-	RDTGROUP_SUPER_MAGIC                 = 0x7655821
-	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
-	RLIMIT_AS                            = 0x9
-	RLIMIT_CORE                          = 0x4
-	RLIMIT_CPU                           = 0x0
-	RLIMIT_DATA                          = 0x2
-	RLIMIT_FSIZE                         = 0x1
-	RLIMIT_LOCKS                         = 0xa
-	RLIMIT_MEMLOCK                       = 0x8
-	RLIMIT_MSGQUEUE                      = 0xc
-	RLIMIT_NICE                          = 0xd
-	RLIMIT_NOFILE                        = 0x7
-	RLIMIT_NPROC                         = 0x6
-	RLIMIT_RSS                           = 0x5
-	RLIMIT_RTPRIO                        = 0xe
-	RLIMIT_RTTIME                        = 0xf
-	RLIMIT_SIGPENDING                    = 0xb
-	RLIMIT_STACK                         = 0x3
-	RLIM_INFINITY                        = 0xffffffffffffffff
-	RTAX_ADVMSS                          = 0x8
-	RTAX_CC_ALGO                         = 0x10
-	RTAX_CWND                            = 0x7
-	RTAX_FASTOPEN_NO_COOKIE              = 0x11
-	RTAX_FEATURES                        = 0xc
-	RTAX_FEATURE_ALLFRAG                 = 0x8
-	RTAX_FEATURE_ECN                     = 0x1
-	RTAX_FEATURE_MASK                    = 0xf
-	RTAX_FEATURE_SACK                    = 0x2
-	RTAX_FEATURE_TIMESTAMP               = 0x4
-	RTAX_HOPLIMIT                        = 0xa
-	RTAX_INITCWND                        = 0xb
-	RTAX_INITRWND                        = 0xe
-	RTAX_LOCK                            = 0x1
-	RTAX_MAX                             = 0x11
-	RTAX_MTU                             = 0x2
-	RTAX_QUICKACK                        = 0xf
-	RTAX_REORDERING                      = 0x9
-	RTAX_RTO_MIN                         = 0xd
-	RTAX_RTT                             = 0x4
-	RTAX_RTTVAR                          = 0x5
-	RTAX_SSTHRESH                        = 0x6
-	RTAX_UNSPEC                          = 0x0
-	RTAX_WINDOW                          = 0x3
-	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
-	RTCF_DIRECTSRC                       = 0x4000000
-	RTCF_DOREDIRECT                      = 0x1000000
-	RTCF_LOG                             = 0x2000000
-	RTCF_MASQ                            = 0x400000
-	RTCF_NAT                             = 0x800000
-	RTCF_VALVE                           = 0x200000
-	RTC_AF                               = 0x20
-	RTC_AIE_OFF                          = 0x7002
-	RTC_AIE_ON                           = 0x7001
-	RTC_ALM_READ                         = 0x80247008
-	RTC_ALM_SET                          = 0x40247007
-	RTC_EPOCH_READ                       = 0x8008700d
-	RTC_EPOCH_SET                        = 0x4008700e
-	RTC_IRQF                             = 0x80
-	RTC_IRQP_READ                        = 0x8008700b
-	RTC_IRQP_SET                         = 0x4008700c
-	RTC_MAX_FREQ                         = 0x2000
-	RTC_PF                               = 0x40
-	RTC_PIE_OFF                          = 0x7006
-	RTC_PIE_ON                           = 0x7005
-	RTC_PLL_GET                          = 0x80207011
-	RTC_PLL_SET                          = 0x40207012
-	RTC_RD_TIME                          = 0x80247009
-	RTC_SET_TIME                         = 0x4024700a
-	RTC_UF                               = 0x10
-	RTC_UIE_OFF                          = 0x7004
-	RTC_UIE_ON                           = 0x7003
-	RTC_VL_CLR                           = 0x7014
-	RTC_VL_READ                          = 0x80047013
-	RTC_WIE_OFF                          = 0x7010
-	RTC_WIE_ON                           = 0x700f
-	RTC_WKALM_RD                         = 0x80287010
-	RTC_WKALM_SET                        = 0x4028700f
-	RTF_ADDRCLASSMASK                    = 0xf8000000
-	RTF_ADDRCONF                         = 0x40000
-	RTF_ALLONLINK                        = 0x20000
-	RTF_BROADCAST                        = 0x10000000
-	RTF_CACHE                            = 0x1000000
-	RTF_DEFAULT                          = 0x10000
-	RTF_DYNAMIC                          = 0x10
-	RTF_FLOW                             = 0x2000000
-	RTF_GATEWAY                          = 0x2
-	RTF_HOST                             = 0x4
-	RTF_INTERFACE                        = 0x40000000
-	RTF_IRTT                             = 0x100
-	RTF_LINKRT                           = 0x100000
-	RTF_LOCAL                            = 0x80000000
-	RTF_MODIFIED                         = 0x20
-	RTF_MSS                              = 0x40
-	RTF_MTU                              = 0x40
-	RTF_MULTICAST                        = 0x20000000
-	RTF_NAT                              = 0x8000000
-	RTF_NOFORWARD                        = 0x1000
-	RTF_NONEXTHOP                        = 0x200000
-	RTF_NOPMTUDISC                       = 0x4000
-	RTF_POLICY                           = 0x4000000
-	RTF_REINSTATE                        = 0x8
-	RTF_REJECT                           = 0x200
-	RTF_STATIC                           = 0x400
-	RTF_THROW                            = 0x2000
-	RTF_UP                               = 0x1
-	RTF_WINDOW                           = 0x80
-	RTF_XRESOLVE                         = 0x800
-	RTM_BASE                             = 0x10
-	RTM_DELACTION                        = 0x31
-	RTM_DELADDR                          = 0x15
-	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
-	RTM_DELLINK                          = 0x11
-	RTM_DELMDB                           = 0x55
-	RTM_DELNEIGH                         = 0x1d
-	RTM_DELNETCONF                       = 0x51
-	RTM_DELNSID                          = 0x59
-	RTM_DELQDISC                         = 0x25
-	RTM_DELROUTE                         = 0x19
-	RTM_DELRULE                          = 0x21
-	RTM_DELTCLASS                        = 0x29
-	RTM_DELTFILTER                       = 0x2d
-	RTM_F_CLONED                         = 0x200
-	RTM_F_EQUALIZE                       = 0x400
-	RTM_F_FIB_MATCH                      = 0x2000
-	RTM_F_LOOKUP_TABLE                   = 0x1000
-	RTM_F_NOTIFY                         = 0x100
-	RTM_F_PREFIX                         = 0x800
-	RTM_GETACTION                        = 0x32
-	RTM_GETADDR                          = 0x16
-	RTM_GETADDRLABEL                     = 0x4a
-	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
-	RTM_GETDCB                           = 0x4e
-	RTM_GETLINK                          = 0x12
-	RTM_GETMDB                           = 0x56
-	RTM_GETMULTICAST                     = 0x3a
-	RTM_GETNEIGH                         = 0x1e
-	RTM_GETNEIGHTBL                      = 0x42
-	RTM_GETNETCONF                       = 0x52
-	RTM_GETNSID                          = 0x5a
-	RTM_GETQDISC                         = 0x26
-	RTM_GETROUTE                         = 0x1a
-	RTM_GETRULE                          = 0x22
-	RTM_GETSTATS                         = 0x5e
-	RTM_GETTCLASS                        = 0x2a
-	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
-	RTM_NEWACTION                        = 0x30
-	RTM_NEWADDR                          = 0x14
-	RTM_NEWADDRLABEL                     = 0x48
-	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
-	RTM_NEWLINK                          = 0x10
-	RTM_NEWMDB                           = 0x54
-	RTM_NEWNDUSEROPT                     = 0x44
-	RTM_NEWNEIGH                         = 0x1c
-	RTM_NEWNEIGHTBL                      = 0x40
-	RTM_NEWNETCONF                       = 0x50
-	RTM_NEWNSID                          = 0x58
-	RTM_NEWPREFIX                        = 0x34
-	RTM_NEWQDISC                         = 0x24
-	RTM_NEWROUTE                         = 0x18
-	RTM_NEWRULE                          = 0x20
-	RTM_NEWSTATS                         = 0x5c
-	RTM_NEWTCLASS                        = 0x28
-	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
-	RTM_SETDCB                           = 0x4f
-	RTM_SETLINK                          = 0x13
-	RTM_SETNEIGHTBL                      = 0x43
-	RTNH_ALIGNTO                         = 0x4
-	RTNH_COMPARE_MASK                    = 0x19
-	RTNH_F_DEAD                          = 0x1
-	RTNH_F_LINKDOWN                      = 0x10
-	RTNH_F_OFFLOAD                       = 0x8
-	RTNH_F_ONLINK                        = 0x4
-	RTNH_F_PERVASIVE                     = 0x2
-	RTNH_F_UNRESOLVED                    = 0x20
-	RTN_MAX                              = 0xb
-	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
-	RTPROT_BIRD                          = 0xc
-	RTPROT_BOOT                          = 0x3
-	RTPROT_DHCP                          = 0x10
-	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
-	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
-	RTPROT_KERNEL                        = 0x2
-	RTPROT_MROUTED                       = 0x11
-	RTPROT_MRT                           = 0xa
-	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
-	RTPROT_RA                            = 0x9
-	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
-	RTPROT_STATIC                        = 0x4
-	RTPROT_UNSPEC                        = 0x0
-	RTPROT_XORP                          = 0xe
-	RTPROT_ZEBRA                         = 0xb
-	RT_CLASS_DEFAULT                     = 0xfd
-	RT_CLASS_LOCAL                       = 0xff
-	RT_CLASS_MAIN                        = 0xfe
-	RT_CLASS_MAX                         = 0xff
-	RT_CLASS_UNSPEC                      = 0x0
-	RUSAGE_CHILDREN                      = -0x1
-	RUSAGE_SELF                          = 0x0
-	RUSAGE_THREAD                        = 0x1
-	SCM_CREDENTIALS                      = 0x2
-	SCM_RIGHTS                           = 0x1
-	SCM_TIMESTAMP                        = 0x1d
-	SCM_TIMESTAMPING                     = 0x25
-	SCM_TIMESTAMPING_OPT_STATS           = 0x36
-	SCM_TIMESTAMPING_PKTINFO             = 0x3a
-	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
-	SCM_WIFI_STATUS                      = 0x29
-	SECCOMP_MODE_DISABLED                = 0x0
-	SECCOMP_MODE_FILTER                  = 0x2
-	SECCOMP_MODE_STRICT                  = 0x1
-	SECURITYFS_MAGIC                     = 0x73636673
-	SELINUX_MAGIC                        = 0xf97cff8c
-	SHUT_RD                              = 0x0
-	SHUT_RDWR                            = 0x2
-	SHUT_WR                              = 0x1
-	SIOCADDDLCI                          = 0x8980
-	SIOCADDMULTI                         = 0x8931
-	SIOCADDRT                            = 0x890b
-	SIOCATMARK                           = 0x8905
-	SIOCBONDCHANGEACTIVE                 = 0x8995
-	SIOCBONDENSLAVE                      = 0x8990
-	SIOCBONDINFOQUERY                    = 0x8994
-	SIOCBONDRELEASE                      = 0x8991
-	SIOCBONDSETHWADDR                    = 0x8992
-	SIOCBONDSLAVEINFOQUERY               = 0x8993
-	SIOCBRADDBR                          = 0x89a0
-	SIOCBRADDIF                          = 0x89a2
-	SIOCBRDELBR                          = 0x89a1
-	SIOCBRDELIF                          = 0x89a3
-	SIOCDARP                             = 0x8953
-	SIOCDELDLCI                          = 0x8981
-	SIOCDELMULTI                         = 0x8932
-	SIOCDELRT                            = 0x890c
-	SIOCDEVPRIVATE                       = 0x89f0
-	SIOCDIFADDR                          = 0x8936
-	SIOCDRARP                            = 0x8960
-	SIOCETHTOOL                          = 0x8946
-	SIOCGARP                             = 0x8954
-	SIOCGHWTSTAMP                        = 0x89b1
-	SIOCGIFADDR                          = 0x8915
-	SIOCGIFBR                            = 0x8940
-	SIOCGIFBRDADDR                       = 0x8919
-	SIOCGIFCONF                          = 0x8912
-	SIOCGIFCOUNT                         = 0x8938
-	SIOCGIFDSTADDR                       = 0x8917
-	SIOCGIFENCAP                         = 0x8925
-	SIOCGIFFLAGS                         = 0x8913
-	SIOCGIFHWADDR                        = 0x8927
-	SIOCGIFINDEX                         = 0x8933
-	SIOCGIFMAP                           = 0x8970
-	SIOCGIFMEM                           = 0x891f
-	SIOCGIFMETRIC                        = 0x891d
-	SIOCGIFMTU                           = 0x8921
-	SIOCGIFNAME                          = 0x8910
-	SIOCGIFNETMASK                       = 0x891b
-	SIOCGIFPFLAGS                        = 0x8935
-	SIOCGIFSLAVE                         = 0x8929
-	SIOCGIFTXQLEN                        = 0x8942
-	SIOCGIFVLAN                          = 0x8982
-	SIOCGMIIPHY                          = 0x8947
-	SIOCGMIIREG                          = 0x8948
-	SIOCGPGRP                            = 0x8904
-	SIOCGRARP                            = 0x8961
-	SIOCGSKNS                            = 0x894c
-	SIOCGSTAMP                           = 0x8906
-	SIOCGSTAMPNS                         = 0x8907
-	SIOCINQ                              = 0x541b
-	SIOCOUTQ                             = 0x5411
-	SIOCOUTQNSD                          = 0x894b
-	SIOCPROTOPRIVATE                     = 0x89e0
-	SIOCRTMSG                            = 0x890d
-	SIOCSARP                             = 0x8955
-	SIOCSHWTSTAMP                        = 0x89b0
-	SIOCSIFADDR                          = 0x8916
-	SIOCSIFBR                            = 0x8941
-	SIOCSIFBRDADDR                       = 0x891a
-	SIOCSIFDSTADDR                       = 0x8918
-	SIOCSIFENCAP                         = 0x8926
-	SIOCSIFFLAGS                         = 0x8914
-	SIOCSIFHWADDR                        = 0x8924
-	SIOCSIFHWBROADCAST                   = 0x8937
-	SIOCSIFLINK                          = 0x8911
-	SIOCSIFMAP                           = 0x8971
-	SIOCSIFMEM                           = 0x8920
-	SIOCSIFMETRIC                        = 0x891e
-	SIOCSIFMTU                           = 0x8922
-	SIOCSIFNAME                          = 0x8923
-	SIOCSIFNETMASK                       = 0x891c
-	SIOCSIFPFLAGS                        = 0x8934
-	SIOCSIFSLAVE                         = 0x8930
-	SIOCSIFTXQLEN                        = 0x8943
-	SIOCSIFVLAN                          = 0x8983
-	SIOCSMIIREG                          = 0x8949
-	SIOCSPGRP                            = 0x8902
-	SIOCSRARP                            = 0x8962
-	SIOCWANDEV                           = 0x894a
-	SMACK_MAGIC                          = 0x43415d53
-	SMART_AUTOSAVE                       = 0xd2
-	SMART_AUTO_OFFLINE                   = 0xdb
-	SMART_DISABLE                        = 0xd9
-	SMART_ENABLE                         = 0xd8
-	SMART_HCYL_PASS                      = 0xc2
-	SMART_IMMEDIATE_OFFLINE              = 0xd4
-	SMART_LCYL_PASS                      = 0x4f
-	SMART_READ_LOG_SECTOR                = 0xd5
-	SMART_READ_THRESHOLDS                = 0xd1
-	SMART_READ_VALUES                    = 0xd0
-	SMART_SAVE                           = 0xd3
-	SMART_STATUS                         = 0xda
-	SMART_WRITE_LOG_SECTOR               = 0xd6
-	SMART_WRITE_THRESHOLDS               = 0xd7
-	SMB_SUPER_MAGIC                      = 0x517b
-	SOCKFS_MAGIC                         = 0x534f434b
-	SOCK_CLOEXEC                         = 0x80000
-	SOCK_DCCP                            = 0x6
-	SOCK_DGRAM                           = 0x2
-	SOCK_IOC_TYPE                        = 0x89
-	SOCK_NONBLOCK                        = 0x800
-	SOCK_PACKET                          = 0xa
-	SOCK_RAW                             = 0x3
-	SOCK_RDM                             = 0x4
-	SOCK_SEQPACKET                       = 0x5
-	SOCK_STREAM                          = 0x1
-	SOL_AAL                              = 0x109
-	SOL_ALG                              = 0x117
-	SOL_ATM                              = 0x108
-	SOL_CAIF                             = 0x116
-	SOL_CAN_BASE                         = 0x64
-	SOL_DCCP                             = 0x10d
-	SOL_DECNET                           = 0x105
-	SOL_ICMPV6                           = 0x3a
-	SOL_IP                               = 0x0
-	SOL_IPV6                             = 0x29
-	SOL_IRDA                             = 0x10a
-	SOL_IUCV                             = 0x115
-	SOL_KCM                              = 0x119
-	SOL_LLC                              = 0x10c
-	SOL_NETBEUI                          = 0x10b
-	SOL_NETLINK                          = 0x10e
-	SOL_NFC                              = 0x118
-	SOL_PACKET                           = 0x107
-	SOL_PNPIPE                           = 0x113
-	SOL_PPPOL2TP                         = 0x111
-	SOL_RAW                              = 0xff
-	SOL_RDS                              = 0x114
-	SOL_RXRPC                            = 0x110
-	SOL_SOCKET                           = 0x1
-	SOL_TCP                              = 0x6
-	SOL_TIPC                             = 0x10f
-	SOL_TLS                              = 0x11a
-	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
-	SOMAXCONN                            = 0x80
-	SO_ACCEPTCONN                        = 0x1e
-	SO_ATTACH_BPF                        = 0x32
-	SO_ATTACH_FILTER                     = 0x1a
-	SO_ATTACH_REUSEPORT_CBPF             = 0x33
-	SO_ATTACH_REUSEPORT_EBPF             = 0x34
-	SO_BINDTODEVICE                      = 0x19
-	SO_BPF_EXTENSIONS                    = 0x30
-	SO_BROADCAST                         = 0x6
-	SO_BSDCOMPAT                         = 0xe
-	SO_BUSY_POLL                         = 0x2e
-	SO_CNX_ADVICE                        = 0x35
-	SO_COOKIE                            = 0x39
-	SO_DEBUG                             = 0x1
-	SO_DETACH_BPF                        = 0x1b
-	SO_DETACH_FILTER                     = 0x1b
-	SO_DOMAIN                            = 0x27
-	SO_DONTROUTE                         = 0x5
-	SO_ERROR                             = 0x4
-	SO_GET_FILTER                        = 0x1a
-	SO_INCOMING_CPU                      = 0x31
-	SO_INCOMING_NAPI_ID                  = 0x38
-	SO_KEEPALIVE                         = 0x9
-	SO_LINGER                            = 0xd
-	SO_LOCK_FILTER                       = 0x2c
-	SO_MARK                              = 0x24
-	SO_MAX_PACING_RATE                   = 0x2f
-	SO_MEMINFO                           = 0x37
-	SO_NOFCS                             = 0x2b
-	SO_NO_CHECK                          = 0xb
-	SO_OOBINLINE                         = 0xa
-	SO_PASSCRED                          = 0x10
-	SO_PASSSEC                           = 0x22
-	SO_PEEK_OFF                          = 0x2a
-	SO_PEERCRED                          = 0x11
-	SO_PEERGROUPS                        = 0x3b
-	SO_PEERNAME                          = 0x1c
-	SO_PEERSEC                           = 0x1f
-	SO_PRIORITY                          = 0xc
-	SO_PROTOCOL                          = 0x26
-	SO_RCVBUF                            = 0x8
-	SO_RCVBUFFORCE                       = 0x21
-	SO_RCVLOWAT                          = 0x12
-	SO_RCVTIMEO                          = 0x14
-	SO_REUSEADDR                         = 0x2
-	SO_REUSEPORT                         = 0xf
-	SO_RXQ_OVFL                          = 0x28
-	SO_SECURITY_AUTHENTICATION           = 0x16
-	SO_SECURITY_ENCRYPTION_NETWORK       = 0x18
-	SO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17
-	SO_SELECT_ERR_QUEUE                  = 0x2d
-	SO_SNDBUF                            = 0x7
-	SO_SNDBUFFORCE                       = 0x20
-	SO_SNDLOWAT                          = 0x13
-	SO_SNDTIMEO                          = 0x15
-	SO_TIMESTAMP                         = 0x1d
-	SO_TIMESTAMPING                      = 0x25
-	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
-	SO_TYPE                              = 0x3
-	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
-	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
-	SO_VM_SOCKETS_BUFFER_SIZE            = 0x0
-	SO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6
-	SO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7
-	SO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3
-	SO_VM_SOCKETS_TRUSTED                = 0x5
-	SO_WIFI_STATUS                       = 0x29
-	SO_ZEROCOPY                          = 0x3c
-	SPLICE_F_GIFT                        = 0x8
-	SPLICE_F_MORE                        = 0x4
-	SPLICE_F_MOVE                        = 0x1
-	SPLICE_F_NONBLOCK                    = 0x2
-	SQUASHFS_MAGIC                       = 0x73717368
-	STACK_END_MAGIC                      = 0x57ac6e9d
-	STATX_ALL                            = 0xfff
-	STATX_ATIME                          = 0x20
-	STATX_ATTR_APPEND                    = 0x20
-	STATX_ATTR_AUTOMOUNT                 = 0x1000
-	STATX_ATTR_COMPRESSED                = 0x4
-	STATX_ATTR_ENCRYPTED                 = 0x800
-	STATX_ATTR_IMMUTABLE                 = 0x10
-	STATX_ATTR_NODUMP                    = 0x40
-	STATX_BASIC_STATS                    = 0x7ff
-	STATX_BLOCKS                         = 0x400
-	STATX_BTIME                          = 0x800
-	STATX_CTIME                          = 0x80
-	STATX_GID                            = 0x10
-	STATX_INO                            = 0x100
-	STATX_MODE                           = 0x2
-	STATX_MTIME                          = 0x40
-	STATX_NLINK                          = 0x4
-	STATX_SIZE                           = 0x200
-	STATX_TYPE                           = 0x1
-	STATX_UID                            = 0x8
-	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
-	SYSFS_MAGIC                          = 0x62656572
-	S_BLKSIZE                            = 0x200
-	S_IEXEC                              = 0x40
-	S_IFBLK                              = 0x6000
-	S_IFCHR                              = 0x2000
-	S_IFDIR                              = 0x4000
-	S_IFIFO                              = 0x1000
-	S_IFLNK                              = 0xa000
-	S_IFMT                               = 0xf000
-	S_IFREG                              = 0x8000
-	S_IFSOCK                             = 0xc000
-	S_IREAD                              = 0x100
-	S_IRGRP                              = 0x20
-	S_IROTH                              = 0x4
-	S_IRUSR                              = 0x100
-	S_IRWXG                              = 0x38
-	S_IRWXO                              = 0x7
-	S_IRWXU                              = 0x1c0
-	S_ISGID                              = 0x400
-	S_ISUID                              = 0x800
-	S_ISVTX                              = 0x200
-	S_IWGRP                              = 0x10
-	S_IWOTH                              = 0x2
-	S_IWRITE                             = 0x80
-	S_IWUSR                              = 0x80
-	S_IXGRP                              = 0x8
-	S_IXOTH                              = 0x1
-	S_IXUSR                              = 0x40
-	TAB0                                 = 0x0
-	TAB1                                 = 0x800
-	TAB2                                 = 0x1000
-	TAB3                                 = 0x1800
-	TABDLY                               = 0x1800
-	TASKSTATS_CMD_ATTR_MAX               = 0x4
-	TASKSTATS_CMD_MAX                    = 0x2
-	TASKSTATS_GENL_NAME                  = "TASKSTATS"
-	TASKSTATS_GENL_VERSION               = 0x1
-	TASKSTATS_TYPE_MAX                   = 0x6
-	TASKSTATS_VERSION                    = 0x8
-	TCFLSH                               = 0x540b
-	TCGETA                               = 0x5405
-	TCGETS                               = 0x5401
-	TCGETS2                              = 0x802c542a
-	TCGETX                               = 0x5432
-	TCIFLUSH                             = 0x0
-	TCIOFF                               = 0x2
-	TCIOFLUSH                            = 0x2
-	TCION                                = 0x3
-	TCOFLUSH                             = 0x1
-	TCOOFF                               = 0x0
-	TCOON                                = 0x1
-	TCP_CC_INFO                          = 0x1a
-	TCP_CONGESTION                       = 0xd
-	TCP_COOKIE_IN_ALWAYS                 = 0x1
-	TCP_COOKIE_MAX                       = 0x10
-	TCP_COOKIE_MIN                       = 0x8
-	TCP_COOKIE_OUT_NEVER                 = 0x2
-	TCP_COOKIE_PAIR_SIZE                 = 0x20
-	TCP_COOKIE_TRANSACTIONS              = 0xf
-	TCP_CORK                             = 0x3
-	TCP_DEFER_ACCEPT                     = 0x9
-	TCP_FASTOPEN                         = 0x17
-	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
-	TCP_INFO                             = 0xb
-	TCP_KEEPCNT                          = 0x6
-	TCP_KEEPIDLE                         = 0x4
-	TCP_KEEPINTVL                        = 0x5
-	TCP_LINGER2                          = 0x8
-	TCP_MAXSEG                           = 0x2
-	TCP_MAXWIN                           = 0xffff
-	TCP_MAX_WINSHIFT                     = 0xe
-	TCP_MD5SIG                           = 0xe
-	TCP_MD5SIG_EXT                       = 0x20
-	TCP_MD5SIG_FLAG_PREFIX               = 0x1
-	TCP_MD5SIG_MAXKEYLEN                 = 0x50
-	TCP_MSS                              = 0x200
-	TCP_MSS_DEFAULT                      = 0x218
-	TCP_MSS_DESIRED                      = 0x4c4
-	TCP_NODELAY                          = 0x1
-	TCP_NOTSENT_LOWAT                    = 0x19
-	TCP_QUEUE_SEQ                        = 0x15
-	TCP_QUICKACK                         = 0xc
-	TCP_REPAIR                           = 0x13
-	TCP_REPAIR_OPTIONS                   = 0x16
-	TCP_REPAIR_QUEUE                     = 0x14
-	TCP_REPAIR_WINDOW                    = 0x1d
-	TCP_SAVED_SYN                        = 0x1c
-	TCP_SAVE_SYN                         = 0x1b
-	TCP_SYNCNT                           = 0x7
-	TCP_S_DATA_IN                        = 0x4
-	TCP_S_DATA_OUT                       = 0x8
-	TCP_THIN_DUPACK                      = 0x11
-	TCP_THIN_LINEAR_TIMEOUTS             = 0x10
-	TCP_TIMESTAMP                        = 0x18
-	TCP_ULP                              = 0x1f
-	TCP_USER_TIMEOUT                     = 0x12
-	TCP_WINDOW_CLAMP                     = 0xa
-	TCSAFLUSH                            = 0x2
-	TCSBRK                               = 0x5409
-	TCSBRKP                              = 0x5425
-	TCSETA                               = 0x5406
-	TCSETAF                              = 0x5408
-	TCSETAW                              = 0x5407
-	TCSETS                               = 0x5402
-	TCSETS2                              = 0x402c542b
-	TCSETSF                              = 0x5404
-	TCSETSF2                             = 0x402c542d
-	TCSETSW                              = 0x5403
-	TCSETSW2                             = 0x402c542c
-	TCSETX                               = 0x5433
-	TCSETXF                              = 0x5434
-	TCSETXW                              = 0x5435
-	TCXONC                               = 0x540a
-	TIOCCBRK                             = 0x5428
-	TIOCCONS                             = 0x541d
-	TIOCEXCL                             = 0x540c
-	TIOCGDEV                             = 0x80045432
-	TIOCGETD                             = 0x5424
-	TIOCGEXCL                            = 0x80045440
-	TIOCGICOUNT                          = 0x545d
-	TIOCGLCKTRMIOS                       = 0x5456
-	TIOCGPGRP                            = 0x540f
-	TIOCGPKT                             = 0x80045438
-	TIOCGPTLCK                           = 0x80045439
-	TIOCGPTN                             = 0x80045430
-	TIOCGPTPEER                          = 0x5441
-	TIOCGRS485                           = 0x542e
-	TIOCGSERIAL                          = 0x541e
-	TIOCGSID                             = 0x5429
-	TIOCGSOFTCAR                         = 0x5419
-	TIOCGWINSZ                           = 0x5413
-	TIOCINQ                              = 0x541b
-	TIOCLINUX                            = 0x541c
-	TIOCMBIC                             = 0x5417
-	TIOCMBIS                             = 0x5416
-	TIOCMGET                             = 0x5415
-	TIOCMIWAIT                           = 0x545c
-	TIOCMSET                             = 0x5418
-	TIOCM_CAR                            = 0x40
-	TIOCM_CD                             = 0x40
-	TIOCM_CTS                            = 0x20
-	TIOCM_DSR                            = 0x100
-	TIOCM_DTR                            = 0x2
-	TIOCM_LE                             = 0x1
-	TIOCM_RI                             = 0x80
-	TIOCM_RNG                            = 0x80
-	TIOCM_RTS                            = 0x4
-	TIOCM_SR                             = 0x10
-	TIOCM_ST                             = 0x8
-	TIOCNOTTY                            = 0x5422
-	TIOCNXCL                             = 0x540d
-	TIOCOUTQ                             = 0x5411
-	TIOCPKT                              = 0x5420
-	TIOCPKT_DATA                         = 0x0
-	TIOCPKT_DOSTOP                       = 0x20
-	TIOCPKT_FLUSHREAD                    = 0x1
-	TIOCPKT_FLUSHWRITE                   = 0x2
-	TIOCPKT_IOCTL                        = 0x40
-	TIOCPKT_NOSTOP                       = 0x10
-	TIOCPKT_START                        = 0x8
-	TIOCPKT_STOP                         = 0x4
-	TIOCSBRK                             = 0x5427
-	TIOCSCTTY                            = 0x540e
-	TIOCSERCONFIG                        = 0x5453
-	TIOCSERGETLSR                        = 0x5459
-	TIOCSERGETMULTI                      = 0x545a
-	TIOCSERGSTRUCT                       = 0x5458
-	TIOCSERGWILD                         = 0x5454
-	TIOCSERSETMULTI                      = 0x545b
-	TIOCSERSWILD                         = 0x5455
-	TIOCSER_TEMT                         = 0x1
-	TIOCSETD                             = 0x5423
-	TIOCSIG                              = 0x40045436
-	TIOCSLCKTRMIOS                       = 0x5457
-	TIOCSPGRP                            = 0x5410
-	TIOCSPTLCK                           = 0x40045431
-	TIOCSRS485                           = 0x542f
-	TIOCSSERIAL                          = 0x541f
-	TIOCSSOFTCAR                         = 0x541a
-	TIOCSTI                              = 0x5412
-	TIOCSWINSZ                           = 0x5414
-	TIOCVHANGUP                          = 0x5437
-	TMPFS_MAGIC                          = 0x1021994
-	TOSTOP                               = 0x100
-	TPACKET_ALIGNMENT                    = 0x10
-	TPACKET_HDRLEN                       = 0x34
-	TP_STATUS_AVAILABLE                  = 0x0
-	TP_STATUS_BLK_TMO                    = 0x20
-	TP_STATUS_COPY                       = 0x2
-	TP_STATUS_CSUMNOTREADY               = 0x8
-	TP_STATUS_CSUM_VALID                 = 0x80
-	TP_STATUS_KERNEL                     = 0x0
-	TP_STATUS_LOSING                     = 0x4
-	TP_STATUS_SENDING                    = 0x2
-	TP_STATUS_SEND_REQUEST               = 0x1
-	TP_STATUS_TS_RAW_HARDWARE            = -0x80000000
-	TP_STATUS_TS_SOFTWARE                = 0x20000000
-	TP_STATUS_TS_SYS_HARDWARE            = 0x40000000
-	TP_STATUS_USER                       = 0x1
-	TP_STATUS_VLAN_TPID_VALID            = 0x40
-	TP_STATUS_VLAN_VALID                 = 0x10
-	TP_STATUS_WRONG_FORMAT               = 0x4
-	TRACEFS_MAGIC                        = 0x74726163
-	TS_COMM_LEN                          = 0x20
-	TUNATTACHFILTER                      = 0x401054d5
-	TUNDETACHFILTER                      = 0x401054d6
-	TUNGETFEATURES                       = 0x800454cf
-	TUNGETFILTER                         = 0x801054db
-	TUNGETIFF                            = 0x800454d2
-	TUNGETSNDBUF                         = 0x800454d3
-	TUNGETVNETBE                         = 0x800454df
-	TUNGETVNETHDRSZ                      = 0x800454d7
-	TUNGETVNETLE                         = 0x800454dd
-	TUNSETDEBUG                          = 0x400454c9
-	TUNSETFILTEREBPF                     = 0x800454e1
-	TUNSETGROUP                          = 0x400454ce
-	TUNSETIFF                            = 0x400454ca
-	TUNSETIFINDEX                        = 0x400454da
-	TUNSETLINK                           = 0x400454cd
-	TUNSETNOCSUM                         = 0x400454c8
-	TUNSETOFFLOAD                        = 0x400454d0
-	TUNSETOWNER                          = 0x400454cc
-	TUNSETPERSIST                        = 0x400454cb
-	TUNSETQUEUE                          = 0x400454d9
-	TUNSETSNDBUF                         = 0x400454d4
-	TUNSETSTEERINGEBPF                   = 0x800454e0
-	TUNSETTXFILTER                       = 0x400454d1
-	TUNSETVNETBE                         = 0x400454de
-	TUNSETVNETHDRSZ                      = 0x400454d8
-	TUNSETVNETLE                         = 0x400454dc
-	UBI_IOCATT                           = 0x40186f40
-	UBI_IOCDET                           = 0x40046f41
-	UBI_IOCEBCH                          = 0x40044f02
-	UBI_IOCEBER                          = 0x40044f01
-	UBI_IOCEBISMAP                       = 0x80044f05
-	UBI_IOCEBMAP                         = 0x40084f03
-	UBI_IOCEBUNMAP                       = 0x40044f04
-	UBI_IOCMKVOL                         = 0x40986f00
-	UBI_IOCRMVOL                         = 0x40046f01
-	UBI_IOCRNVOL                         = 0x51106f03
-	UBI_IOCRSVOL                         = 0x400c6f02
-	UBI_IOCSETVOLPROP                    = 0x40104f06
-	UBI_IOCVOLCRBLK                      = 0x40804f07
-	UBI_IOCVOLRMBLK                      = 0x4f08
-	UBI_IOCVOLUP                         = 0x40084f00
-	UDF_SUPER_MAGIC                      = 0x15013346
-	UMOUNT_NOFOLLOW                      = 0x8
-	USBDEVICE_SUPER_MAGIC                = 0x9fa2
-	UTIME_NOW                            = 0x3fffffff
-	UTIME_OMIT                           = 0x3ffffffe
-	V9FS_MAGIC                           = 0x1021997
-	VDISCARD                             = 0xd
-	VEOF                                 = 0x4
-	VEOL                                 = 0xb
-	VEOL2                                = 0x10
-	VERASE                               = 0x2
-	VINTR                                = 0x0
-	VKILL                                = 0x3
-	VLNEXT                               = 0xf
-	VMADDR_CID_ANY                       = 0xffffffff
-	VMADDR_CID_HOST                      = 0x2
-	VMADDR_CID_HYPERVISOR                = 0x0
-	VMADDR_CID_RESERVED                  = 0x1
-	VMADDR_PORT_ANY                      = 0xffffffff
-	VMIN                                 = 0x6
-	VM_SOCKETS_INVALID_VERSION           = 0xffffffff
-	VQUIT                                = 0x1
-	VREPRINT                             = 0xc
-	VSTART                               = 0x8
-	VSTOP                                = 0x9
-	VSUSP                                = 0xa
-	VSWTC                                = 0x7
-	VT0                                  = 0x0
-	VT1                                  = 0x4000
-	VTDLY                                = 0x4000
-	VTIME                                = 0x5
-	VWERASE                              = 0xe
-	WALL                                 = 0x40000000
-	WCLONE                               = 0x80000000
-	WCONTINUED                           = 0x8
-	WDIOC_GETBOOTSTATUS                  = 0x80045702
-	WDIOC_GETPRETIMEOUT                  = 0x80045709
-	WDIOC_GETSTATUS                      = 0x80045701
-	WDIOC_GETSUPPORT                     = 0x80285700
-	WDIOC_GETTEMP                        = 0x80045703
-	WDIOC_GETTIMELEFT                    = 0x8004570a
-	WDIOC_GETTIMEOUT                     = 0x80045707
-	WDIOC_KEEPALIVE                      = 0x80045705
-	WDIOC_SETOPTIONS                     = 0x80045704
-	WDIOC_SETPRETIMEOUT                  = 0xc0045708
-	WDIOC_SETTIMEOUT                     = 0xc0045706
-	WEXITED                              = 0x4
-	WIN_ACKMEDIACHANGE                   = 0xdb
-	WIN_CHECKPOWERMODE1                  = 0xe5
-	WIN_CHECKPOWERMODE2                  = 0x98
-	WIN_DEVICE_RESET                     = 0x8
-	WIN_DIAGNOSE                         = 0x90
-	WIN_DOORLOCK                         = 0xde
-	WIN_DOORUNLOCK                       = 0xdf
-	WIN_DOWNLOAD_MICROCODE               = 0x92
-	WIN_FLUSH_CACHE                      = 0xe7
-	WIN_FLUSH_CACHE_EXT                  = 0xea
-	WIN_FORMAT                           = 0x50
-	WIN_GETMEDIASTATUS                   = 0xda
-	WIN_IDENTIFY                         = 0xec
-	WIN_IDENTIFY_DMA                     = 0xee
-	WIN_IDLEIMMEDIATE                    = 0xe1
-	WIN_INIT                             = 0x60
-	WIN_MEDIAEJECT                       = 0xed
-	WIN_MULTREAD                         = 0xc4
-	WIN_MULTREAD_EXT                     = 0x29
-	WIN_MULTWRITE                        = 0xc5
-	WIN_MULTWRITE_EXT                    = 0x39
-	WIN_NOP                              = 0x0
-	WIN_PACKETCMD                        = 0xa0
-	WIN_PIDENTIFY                        = 0xa1
-	WIN_POSTBOOT                         = 0xdc
-	WIN_PREBOOT                          = 0xdd
-	WIN_QUEUED_SERVICE                   = 0xa2
-	WIN_READ                             = 0x20
-	WIN_READDMA                          = 0xc8
-	WIN_READDMA_EXT                      = 0x25
-	WIN_READDMA_ONCE                     = 0xc9
-	WIN_READDMA_QUEUED                   = 0xc7
-	WIN_READDMA_QUEUED_EXT               = 0x26
-	WIN_READ_BUFFER                      = 0xe4
-	WIN_READ_EXT                         = 0x24
-	WIN_READ_LONG                        = 0x22
-	WIN_READ_LONG_ONCE                   = 0x23
-	WIN_READ_NATIVE_MAX                  = 0xf8
-	WIN_READ_NATIVE_MAX_EXT              = 0x27
-	WIN_READ_ONCE                        = 0x21
-	WIN_RECAL                            = 0x10
-	WIN_RESTORE                          = 0x10
-	WIN_SECURITY_DISABLE                 = 0xf6
-	WIN_SECURITY_ERASE_PREPARE           = 0xf3
-	WIN_SECURITY_ERASE_UNIT              = 0xf4
-	WIN_SECURITY_FREEZE_LOCK             = 0xf5
-	WIN_SECURITY_SET_PASS                = 0xf1
-	WIN_SECURITY_UNLOCK                  = 0xf2
-	WIN_SEEK                             = 0x70
-	WIN_SETFEATURES                      = 0xef
-	WIN_SETIDLE1                         = 0xe3
-	WIN_SETIDLE2                         = 0x97
-	WIN_SETMULT                          = 0xc6
-	WIN_SET_MAX                          = 0xf9
-	WIN_SET_MAX_EXT                      = 0x37
-	WIN_SLEEPNOW1                        = 0xe6
-	WIN_SLEEPNOW2                        = 0x99
-	WIN_SMART                            = 0xb0
-	WIN_SPECIFY                          = 0x91
-	WIN_SRST                             = 0x8
-	WIN_STANDBY                          = 0xe2
-	WIN_STANDBY2                         = 0x96
-	WIN_STANDBYNOW1                      = 0xe0
-	WIN_STANDBYNOW2                      = 0x94
-	WIN_VERIFY                           = 0x40
-	WIN_VERIFY_EXT                       = 0x42
-	WIN_VERIFY_ONCE                      = 0x41
-	WIN_WRITE                            = 0x30
-	WIN_WRITEDMA                         = 0xca
-	WIN_WRITEDMA_EXT                     = 0x35
-	WIN_WRITEDMA_ONCE                    = 0xcb
-	WIN_WRITEDMA_QUEUED                  = 0xcc
-	WIN_WRITEDMA_QUEUED_EXT              = 0x36
-	WIN_WRITE_BUFFER                     = 0xe8
-	WIN_WRITE_EXT                        = 0x34
-	WIN_WRITE_LONG                       = 0x32
-	WIN_WRITE_LONG_ONCE                  = 0x33
-	WIN_WRITE_ONCE                       = 0x31
-	WIN_WRITE_SAME                       = 0xe9
-	WIN_WRITE_VERIFY                     = 0x3c
-	WNOHANG                              = 0x1
-	WNOTHREAD                            = 0x20000000
-	WNOWAIT                              = 0x1000000
-	WORDSIZE                             = 0x40
-	WSTOPPED                             = 0x2
-	WUNTRACED                            = 0x2
-	XATTR_CREATE                         = 0x1
-	XATTR_REPLACE                        = 0x2
-	XCASE                                = 0x4
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
-	XENFS_SUPER_MAGIC                    = 0xabba1974
-	XTABS                                = 0x1800
-	ZSMALLOC_MAGIC                       = 0x58295829
-)
-
-// Errors
-const (
-	E2BIG           = syscall.Errno(0x7)
-	EACCES          = syscall.Errno(0xd)
-	EADDRINUSE      = syscall.Errno(0x62)
-	EADDRNOTAVAIL   = syscall.Errno(0x63)
-	EADV            = syscall.Errno(0x44)
-	EAFNOSUPPORT    = syscall.Errno(0x61)
-	EAGAIN          = syscall.Errno(0xb)
-	EALREADY        = syscall.Errno(0x72)
-	EBADE           = syscall.Errno(0x34)
-	EBADF           = syscall.Errno(0x9)
-	EBADFD          = syscall.Errno(0x4d)
-	EBADMSG         = syscall.Errno(0x4a)
-	EBADR           = syscall.Errno(0x35)
-	EBADRQC         = syscall.Errno(0x38)
-	EBADSLT         = syscall.Errno(0x39)
-	EBFONT          = syscall.Errno(0x3b)
-	EBUSY           = syscall.Errno(0x10)
-	ECANCELED       = syscall.Errno(0x7d)
-	ECHILD          = syscall.Errno(0xa)
-	ECHRNG          = syscall.Errno(0x2c)
-	ECOMM           = syscall.Errno(0x46)
-	ECONNABORTED    = syscall.Errno(0x67)
-	ECONNREFUSED    = syscall.Errno(0x6f)
-	ECONNRESET      = syscall.Errno(0x68)
-	EDEADLK         = syscall.Errno(0x23)
-	EDEADLOCK       = syscall.Errno(0x23)
-	EDESTADDRREQ    = syscall.Errno(0x59)
-	EDOM            = syscall.Errno(0x21)
-	EDOTDOT         = syscall.Errno(0x49)
-	EDQUOT          = syscall.Errno(0x7a)
-	EEXIST          = syscall.Errno(0x11)
-	EFAULT          = syscall.Errno(0xe)
-	EFBIG           = syscall.Errno(0x1b)
-	EHOSTDOWN       = syscall.Errno(0x70)
-	EHOSTUNREACH    = syscall.Errno(0x71)
-	EHWPOISON       = syscall.Errno(0x85)
-	EIDRM           = syscall.Errno(0x2b)
-	EILSEQ          = syscall.Errno(0x54)
-	EINPROGRESS     = syscall.Errno(0x73)
-	EINTR           = syscall.Errno(0x4)
-	EINVAL          = syscall.Errno(0x16)
-	EIO             = syscall.Errno(0x5)
-	EISCONN         = syscall.Errno(0x6a)
-	EISDIR          = syscall.Errno(0x15)
-	EISNAM          = syscall.Errno(0x78)
-	EKEYEXPIRED     = syscall.Errno(0x7f)
-	EKEYREJECTED    = syscall.Errno(0x81)
-	EKEYREVOKED     = syscall.Errno(0x80)
-	EL2HLT          = syscall.Errno(0x33)
-	EL2NSYNC        = syscall.Errno(0x2d)
-	EL3HLT          = syscall.Errno(0x2e)
-	EL3RST          = syscall.Errno(0x2f)
-	ELIBACC         = syscall.Errno(0x4f)
-	ELIBBAD         = syscall.Errno(0x50)
-	ELIBEXEC        = syscall.Errno(0x53)
-	ELIBMAX         = syscall.Errno(0x52)
-	ELIBSCN         = syscall.Errno(0x51)
-	ELNRNG          = syscall.Errno(0x30)
-	ELOOP           = syscall.Errno(0x28)
-	EMEDIUMTYPE     = syscall.Errno(0x7c)
-	EMFILE          = syscall.Errno(0x18)
-	EMLINK          = syscall.Errno(0x1f)
-	EMSGSIZE        = syscall.Errno(0x5a)
-	EMULTIHOP       = syscall.Errno(0x48)
-	ENAMETOOLONG    = syscall.Errno(0x24)
-	ENAVAIL         = syscall.Errno(0x77)
-	ENETDOWN        = syscall.Errno(0x64)
-	ENETRESET       = syscall.Errno(0x66)
-	ENETUNREACH     = syscall.Errno(0x65)
-	ENFILE          = syscall.Errno(0x17)
-	ENOANO          = syscall.Errno(0x37)
-	ENOBUFS         = syscall.Errno(0x69)
-	ENOCSI          = syscall.Errno(0x32)
-	ENODATA         = syscall.Errno(0x3d)
-	ENODEV          = syscall.Errno(0x13)
-	ENOENT          = syscall.Errno(0x2)
-	ENOEXEC         = syscall.Errno(0x8)
-	ENOKEY          = syscall.Errno(0x7e)
-	ENOLCK          = syscall.Errno(0x25)
-	ENOLINK         = syscall.Errno(0x43)
-	ENOMEDIUM       = syscall.Errno(0x7b)
-	ENOMEM          = syscall.Errno(0xc)
-	ENOMSG          = syscall.Errno(0x2a)
-	ENONET          = syscall.Errno(0x40)
-	ENOPKG          = syscall.Errno(0x41)
-	ENOPROTOOPT     = syscall.Errno(0x5c)
-	ENOSPC          = syscall.Errno(0x1c)
-	ENOSR           = syscall.Errno(0x3f)
-	ENOSTR          = syscall.Errno(0x3c)
-	ENOSYS          = syscall.Errno(0x26)
-	ENOTBLK         = syscall.Errno(0xf)
-	ENOTCONN        = syscall.Errno(0x6b)
-	ENOTDIR         = syscall.Errno(0x14)
-	ENOTEMPTY       = syscall.Errno(0x27)
-	ENOTNAM         = syscall.Errno(0x76)
-	ENOTRECOVERABLE = syscall.Errno(0x83)
-	ENOTSOCK        = syscall.Errno(0x58)
-	ENOTSUP         = syscall.Errno(0x5f)
-	ENOTTY          = syscall.Errno(0x19)
-	ENOTUNIQ        = syscall.Errno(0x4c)
-	ENXIO           = syscall.Errno(0x6)
-	EOPNOTSUPP      = syscall.Errno(0x5f)
-	EOVERFLOW       = syscall.Errno(0x4b)
-	EOWNERDEAD      = syscall.Errno(0x82)
-	EPERM           = syscall.Errno(0x1)
-	EPFNOSUPPORT    = syscall.Errno(0x60)
-	EPIPE           = syscall.Errno(0x20)
-	EPROTO          = syscall.Errno(0x47)
-	EPROTONOSUPPORT = syscall.Errno(0x5d)
-	EPROTOTYPE      = syscall.Errno(0x5b)
-	ERANGE          = syscall.Errno(0x22)
-	EREMCHG         = syscall.Errno(0x4e)
-	EREMOTE         = syscall.Errno(0x42)
-	EREMOTEIO       = syscall.Errno(0x79)
-	ERESTART        = syscall.Errno(0x55)
-	ERFKILL         = syscall.Errno(0x84)
-	EROFS           = syscall.Errno(0x1e)
-	ESHUTDOWN       = syscall.Errno(0x6c)
-	ESOCKTNOSUPPORT = syscall.Errno(0x5e)
-	ESPIPE          = syscall.Errno(0x1d)
-	ESRCH           = syscall.Errno(0x3)
-	ESRMNT          = syscall.Errno(0x45)
-	ESTALE          = syscall.Errno(0x74)
-	ESTRPIPE        = syscall.Errno(0x56)
-	ETIME           = syscall.Errno(0x3e)
-	ETIMEDOUT       = syscall.Errno(0x6e)
-	ETOOMANYREFS    = syscall.Errno(0x6d)
-	ETXTBSY         = syscall.Errno(0x1a)
-	EUCLEAN         = syscall.Errno(0x75)
-	EUNATCH         = syscall.Errno(0x31)
-	EUSERS          = syscall.Errno(0x57)
-	EWOULDBLOCK     = syscall.Errno(0xb)
-	EXDEV           = syscall.Errno(0x12)
-	EXFULL          = syscall.Errno(0x36)
-)
-
-// Signals
-const (
-	SIGABRT   = syscall.Signal(0x6)
-	SIGALRM   = syscall.Signal(0xe)
-	SIGBUS    = syscall.Signal(0x7)
-	SIGCHLD   = syscall.Signal(0x11)
-	SIGCLD    = syscall.Signal(0x11)
-	SIGCONT   = syscall.Signal(0x12)
-	SIGFPE    = syscall.Signal(0x8)
-	SIGHUP    = syscall.Signal(0x1)
-	SIGILL    = syscall.Signal(0x4)
-	SIGINT    = syscall.Signal(0x2)
-	SIGIO     = syscall.Signal(0x1d)
-	SIGIOT    = syscall.Signal(0x6)
-	SIGKILL   = syscall.Signal(0x9)
-	SIGPIPE   = syscall.Signal(0xd)
-	SIGPOLL   = syscall.Signal(0x1d)
-	SIGPROF   = syscall.Signal(0x1b)
-	SIGPWR    = syscall.Signal(0x1e)
-	SIGQUIT   = syscall.Signal(0x3)
-	SIGSEGV   = syscall.Signal(0xb)
-	SIGSTKFLT = syscall.Signal(0x10)
-	SIGSTOP   = syscall.Signal(0x13)
-	SIGSYS    = syscall.Signal(0x1f)
-	SIGTERM   = syscall.Signal(0xf)
-	SIGTRAP   = syscall.Signal(0x5)
-	SIGTSTP   = syscall.Signal(0x14)
-	SIGTTIN   = syscall.Signal(0x15)
-	SIGTTOU   = syscall.Signal(0x16)
-	SIGURG    = syscall.Signal(0x17)
-	SIGUSR1   = syscall.Signal(0xa)
-	SIGUSR2   = syscall.Signal(0xc)
-	SIGVTALRM = syscall.Signal(0x1a)
-	SIGWINCH  = syscall.Signal(0x1c)
-	SIGXCPU   = syscall.Signal(0x18)
-	SIGXFSZ   = syscall.Signal(0x19)
-)
-
-// Error table
-var errorList = [...]struct {
-	num  syscall.Errno
-	name string
-	desc string
-}{
-	{1, "EPERM", "operation not permitted"},
-	{2, "ENOENT", "no such file or directory"},
-	{3, "ESRCH", "no such process"},
-	{4, "EINTR", "interrupted system call"},
-	{5, "EIO", "input/output error"},
-	{6, "ENXIO", "no such device or address"},
-	{7, "E2BIG", "argument list too long"},
-	{8, "ENOEXEC", "exec format error"},
-	{9, "EBADF", "bad file descriptor"},
-	{10, "ECHILD", "no child processes"},
-	{11, "EAGAIN", "resource temporarily unavailable"},
-	{12, "ENOMEM", "cannot allocate memory"},
-	{13, "EACCES", "permission denied"},
-	{14, "EFAULT", "bad address"},
-	{15, "ENOTBLK", "block device required"},
-	{16, "EBUSY", "device or resource busy"},
-	{17, "EEXIST", "file exists"},
-	{18, "EXDEV", "invalid cross-device link"},
-	{19, "ENODEV", "no such device"},
-	{20, "ENOTDIR", "not a directory"},
-	{21, "EISDIR", "is a directory"},
-	{22, "EINVAL", "invalid argument"},
-	{23, "ENFILE", "too many open files in system"},
-	{24, "EMFILE", "too many open files"},
-	{25, "ENOTTY", "inappropriate ioctl for device"},
-	{26, "ETXTBSY", "text file busy"},
-	{27, "EFBIG", "file too large"},
-	{28, "ENOSPC", "no space left on device"},
-	{29, "ESPIPE", "illegal seek"},
-	{30, "EROFS", "read-only file system"},
-	{31, "EMLINK", "too many links"},
-	{32, "EPIPE", "broken pipe"},
-	{33, "EDOM", "numerical argument out of domain"},
-	{34, "ERANGE", "numerical result out of range"},
-	{35, "EDEADLK", "resource deadlock avoided"},
-	{36, "ENAMETOOLONG", "file name too long"},
-	{37, "ENOLCK", "no locks available"},
-	{38, "ENOSYS", "function not implemented"},
-	{39, "ENOTEMPTY", "directory not empty"},
-	{40, "ELOOP", "too many levels of symbolic links"},
-	{42, "ENOMSG", "no message of desired type"},
-	{43, "EIDRM", "identifier removed"},
-	{44, "ECHRNG", "channel number out of range"},
-	{45, "EL2NSYNC", "level 2 not synchronized"},
-	{46, "EL3HLT", "level 3 halted"},
-	{47, "EL3RST", "level 3 reset"},
-	{48, "ELNRNG", "link number out of range"},
-	{49, "EUNATCH", "protocol driver not attached"},
-	{50, "ENOCSI", "no CSI structure available"},
-	{51, "EL2HLT", "level 2 halted"},
-	{52, "EBADE", "invalid exchange"},
-	{53, "EBADR", "invalid request descriptor"},
-	{54, "EXFULL", "exchange full"},
-	{55, "ENOANO", "no anode"},
-	{56, "EBADRQC", "invalid request code"},
-	{57, "EBADSLT", "invalid slot"},
-	{59, "EBFONT", "bad font file format"},
-	{60, "ENOSTR", "device not a stream"},
-	{61, "ENODATA", "no data available"},
-	{62, "ETIME", "timer expired"},
-	{63, "ENOSR", "out of streams resources"},
-	{64, "ENONET", "machine is not on the network"},
-	{65, "ENOPKG", "package not installed"},
-	{66, "EREMOTE", "object is remote"},
-	{67, "ENOLINK", "link has been severed"},
-	{68, "EADV", "advertise error"},
-	{69, "ESRMNT", "srmount error"},
-	{70, "ECOMM", "communication error on send"},
-	{71, "EPROTO", "protocol error"},
-	{72, "EMULTIHOP", "multihop attempted"},
-	{73, "EDOTDOT", "RFS specific error"},
-	{74, "EBADMSG", "bad message"},
-	{75, "EOVERFLOW", "value too large for defined data type"},
-	{76, "ENOTUNIQ", "name not unique on network"},
-	{77, "EBADFD", "file descriptor in bad state"},
-	{78, "EREMCHG", "remote address changed"},
-	{79, "ELIBACC", "can not access a needed shared library"},
-	{80, "ELIBBAD", "accessing a corrupted shared library"},
-	{81, "ELIBSCN", ".lib section in a.out corrupted"},
-	{82, "ELIBMAX", "attempting to link in too many shared libraries"},
-	{83, "ELIBEXEC", "cannot exec a shared library directly"},
-	{84, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-	{85, "ERESTART", "interrupted system call should be restarted"},
-	{86, "ESTRPIPE", "streams pipe error"},
-	{87, "EUSERS", "too many users"},
-	{88, "ENOTSOCK", "socket operation on non-socket"},
-	{89, "EDESTADDRREQ", "destination address required"},
-	{90, "EMSGSIZE", "message too long"},
-	{91, "EPROTOTYPE", "protocol wrong type for socket"},
-	{92, "ENOPROTOOPT", "protocol not available"},
-	{93, "EPROTONOSUPPORT", "protocol not supported"},
-	{94, "ESOCKTNOSUPPORT", "socket type not supported"},
-	{95, "ENOTSUP", "operation not supported"},
-	{96, "EPFNOSUPPORT", "protocol family not supported"},
-	{97, "EAFNOSUPPORT", "address family not supported by protocol"},
-	{98, "EADDRINUSE", "address already in use"},
-	{99, "EADDRNOTAVAIL", "cannot assign requested address"},
-	{100, "ENETDOWN", "network is down"},
-	{101, "ENETUNREACH", "network is unreachable"},
-	{102, "ENETRESET", "network dropped connection on reset"},
-	{103, "ECONNABORTED", "software caused connection abort"},
-	{104, "ECONNRESET", "connection reset by peer"},
-	{105, "ENOBUFS", "no buffer space available"},
-	{106, "EISCONN", "transport endpoint is already connected"},
-	{107, "ENOTCONN", "transport endpoint is not connected"},
-	{108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-	{109, "ETOOMANYREFS", "too many references: cannot splice"},
-	{110, "ETIMEDOUT", "connection timed out"},
-	{111, "ECONNREFUSED", "connection refused"},
-	{112, "EHOSTDOWN", "host is down"},
-	{113, "EHOSTUNREACH", "no route to host"},
-	{114, "EALREADY", "operation already in progress"},
-	{115, "EINPROGRESS", "operation now in progress"},
-	{116, "ESTALE", "stale file handle"},
-	{117, "EUCLEAN", "structure needs cleaning"},
-	{118, "ENOTNAM", "not a XENIX named type file"},
-	{119, "ENAVAIL", "no XENIX semaphores available"},
-	{120, "EISNAM", "is a named type file"},
-	{121, "EREMOTEIO", "remote I/O error"},
-	{122, "EDQUOT", "disk quota exceeded"},
-	{123, "ENOMEDIUM", "no medium found"},
-	{124, "EMEDIUMTYPE", "wrong medium type"},
-	{125, "ECANCELED", "operation canceled"},
-	{126, "ENOKEY", "required key not available"},
-	{127, "EKEYEXPIRED", "key has expired"},
-	{128, "EKEYREVOKED", "key has been revoked"},
-	{129, "EKEYREJECTED", "key was rejected by service"},
-	{130, "EOWNERDEAD", "owner died"},
-	{131, "ENOTRECOVERABLE", "state not recoverable"},
-	{132, "ERFKILL", "operation not possible due to RF-kill"},
-	{133, "EHWPOISON", "memory page has hardware error"},
-}
-
-// Signal table
-var signalList = [...]struct {
-	num  syscall.Signal
-	name string
-	desc string
-}{
-	{1, "SIGHUP", "hangup"},
-	{2, "SIGINT", "interrupt"},
-	{3, "SIGQUIT", "quit"},
-	{4, "SIGILL", "illegal instruction"},
-	{5, "SIGTRAP", "trace/breakpoint trap"},
-	{6, "SIGABRT", "aborted"},
-	{7, "SIGBUS", "bus error"},
-	{8, "SIGFPE", "floating point exception"},
-	{9, "SIGKILL", "killed"},
-	{10, "SIGUSR1", "user defined signal 1"},
-	{11, "SIGSEGV", "segmentation fault"},
-	{12, "SIGUSR2", "user defined signal 2"},
-	{13, "SIGPIPE", "broken pipe"},
-	{14, "SIGALRM", "alarm clock"},
-	{15, "SIGTERM", "terminated"},
-	{16, "SIGSTKFLT", "stack fault"},
-	{17, "SIGCHLD", "child exited"},
-	{18, "SIGCONT", "continued"},
-	{19, "SIGSTOP", "stopped (signal)"},
-	{20, "SIGTSTP", "stopped"},
-	{21, "SIGTTIN", "stopped (tty input)"},
-	{22, "SIGTTOU", "stopped (tty output)"},
-	{23, "SIGURG", "urgent I/O condition"},
-	{24, "SIGXCPU", "CPU time limit exceeded"},
-	{25, "SIGXFSZ", "file size limit exceeded"},
-	{26, "SIGVTALRM", "virtual timer expired"},
-	{27, "SIGPROF", "profiling timer expired"},
-	{28, "SIGWINCH", "window changed"},
-	{29, "SIGIO", "I/O possible"},
-	{30, "SIGPWR", "power failure"},
-	{31, "SIGSYS", "bad system call"},
-}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
index 8cdf353..3814df8 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
@@ -64,7 +64,6 @@ const (
 	AF_VSOCK                             = 0x28
 	AF_WANPIPE                           = 0x19
 	AF_X25                               = 0x9
-	AF_XDP                               = 0x2c
 	ALG_OP_DECRYPT                       = 0x0
 	ALG_OP_ENCRYPT                       = 0x1
 	ALG_SET_AEAD_ASSOCLEN                = 0x4
@@ -499,8 +498,6 @@ const (
 	FS_ENCRYPTION_MODE_AES_256_GCM       = 0x2
 	FS_ENCRYPTION_MODE_AES_256_XTS       = 0x1
 	FS_ENCRYPTION_MODE_INVALID           = 0x0
-	FS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8
-	FS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7
 	FS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615
 	FS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614
 	FS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613
@@ -638,7 +635,7 @@ const (
 	IFA_F_STABLE_PRIVACY                 = 0x800
 	IFA_F_TEMPORARY                      = 0x1
 	IFA_F_TENTATIVE                      = 0x40
-	IFA_MAX                              = 0x9
+	IFA_MAX                              = 0x8
 	IFF_ALLMULTI                         = 0x200
 	IFF_ATTACH_QUEUE                     = 0x200
 	IFF_AUTOMEDIA                        = 0x4000
@@ -765,7 +762,6 @@ const (
 	IPV6_DONTFRAG                        = 0x3e
 	IPV6_DROP_MEMBERSHIP                 = 0x15
 	IPV6_DSTOPTS                         = 0x3b
-	IPV6_FREEBIND                        = 0x4e
 	IPV6_HDRINCL                         = 0x24
 	IPV6_HOPLIMIT                        = 0x34
 	IPV6_HOPOPTS                         = 0x36
@@ -878,26 +874,6 @@ const (
 	IXOFF                                = 0x1000
 	IXON                                 = 0x400
 	JFFS2_SUPER_MAGIC                    = 0x72b6
-	KEXEC_ARCH_386                       = 0x30000
-	KEXEC_ARCH_68K                       = 0x40000
-	KEXEC_ARCH_AARCH64                   = 0xb70000
-	KEXEC_ARCH_ARM                       = 0x280000
-	KEXEC_ARCH_DEFAULT                   = 0x0
-	KEXEC_ARCH_IA_64                     = 0x320000
-	KEXEC_ARCH_MASK                      = 0xffff0000
-	KEXEC_ARCH_MIPS                      = 0x80000
-	KEXEC_ARCH_MIPS_LE                   = 0xa0000
-	KEXEC_ARCH_PPC                       = 0x140000
-	KEXEC_ARCH_PPC64                     = 0x150000
-	KEXEC_ARCH_S390                      = 0x160000
-	KEXEC_ARCH_SH                        = 0x2a0000
-	KEXEC_ARCH_X86_64                    = 0x3e0000
-	KEXEC_FILE_NO_INITRAMFS              = 0x4
-	KEXEC_FILE_ON_CRASH                  = 0x2
-	KEXEC_FILE_UNLOAD                    = 0x1
-	KEXEC_ON_CRASH                       = 0x1
-	KEXEC_PRESERVE_CONTEXT               = 0x2
-	KEXEC_SEGMENT_MAX                    = 0x10
 	KEYCTL_ASSUME_AUTHORITY              = 0x10
 	KEYCTL_CHOWN                         = 0x4
 	KEYCTL_CLEAR                         = 0x7
@@ -978,7 +954,6 @@ const (
 	MAP_EXECUTABLE                       = 0x1000
 	MAP_FILE                             = 0x0
 	MAP_FIXED                            = 0x10
-	MAP_FIXED_NOREPLACE                  = 0x100000
 	MAP_GROWSDOWN                        = 0x100
 	MAP_HUGETLB                          = 0x40000
 	MAP_HUGE_MASK                        = 0x3f
@@ -989,30 +964,11 @@ const (
 	MAP_POPULATE                         = 0x8000
 	MAP_PRIVATE                          = 0x2
 	MAP_SHARED                           = 0x1
-	MAP_SHARED_VALIDATE                  = 0x3
 	MAP_STACK                            = 0x20000
-	MAP_SYNC                             = 0x80000
 	MAP_TYPE                             = 0xf
 	MCL_CURRENT                          = 0x1
 	MCL_FUTURE                           = 0x2
 	MCL_ONFAULT                          = 0x4
-	MFD_ALLOW_SEALING                    = 0x2
-	MFD_CLOEXEC                          = 0x1
-	MFD_HUGETLB                          = 0x4
-	MFD_HUGE_16GB                        = -0x78000000
-	MFD_HUGE_16MB                        = 0x60000000
-	MFD_HUGE_1GB                         = 0x78000000
-	MFD_HUGE_1MB                         = 0x50000000
-	MFD_HUGE_256MB                       = 0x70000000
-	MFD_HUGE_2GB                         = 0x7c000000
-	MFD_HUGE_2MB                         = 0x54000000
-	MFD_HUGE_32MB                        = 0x64000000
-	MFD_HUGE_512KB                       = 0x4c000000
-	MFD_HUGE_512MB                       = 0x74000000
-	MFD_HUGE_64KB                        = 0x40000000
-	MFD_HUGE_8MB                         = 0x5c000000
-	MFD_HUGE_MASK                        = 0x3f
-	MFD_HUGE_SHIFT                       = 0x1a
 	MINIX2_SUPER_MAGIC                   = 0x2468
 	MINIX2_SUPER_MAGIC2                  = 0x2478
 	MINIX3_SUPER_MAGIC                   = 0x4d5a
@@ -1021,8 +977,6 @@ const (
 	MNT_DETACH                           = 0x2
 	MNT_EXPIRE                           = 0x4
 	MNT_FORCE                            = 0x1
-	MODULE_INIT_IGNORE_MODVERSIONS       = 0x1
-	MODULE_INIT_IGNORE_VERMAGIC          = 0x2
 	MSDOS_SUPER_MAGIC                    = 0x4d44
 	MSG_BATCH                            = 0x40000
 	MSG_CMSG_CLOEXEC                     = 0x40000000
@@ -1120,8 +1074,6 @@ const (
 	NETLINK_UNUSED                       = 0x1
 	NETLINK_USERSOCK                     = 0x2
 	NETLINK_XFRM                         = 0x6
-	NETNSA_MAX                           = 0x3
-	NETNSA_NSID_NOT_ASSIGNED             = -0x1
 	NFNETLINK_V0                         = 0x0
 	NFNLGRP_ACCT_QUOTA                   = 0x8
 	NFNLGRP_CONNTRACK_DESTROY            = 0x3
@@ -1536,9 +1488,6 @@ const (
 	RAMFS_MAGIC                          = 0x858458f6
 	RDTGROUP_SUPER_MAGIC                 = 0x7655821
 	REISERFS_SUPER_MAGIC                 = 0x52654973
-	RENAME_EXCHANGE                      = 0x2
-	RENAME_NOREPLACE                     = 0x1
-	RENAME_WHITEOUT                      = 0x4
 	RLIMIT_AS                            = 0x9
 	RLIMIT_CORE                          = 0x4
 	RLIMIT_CPU                           = 0x0
@@ -1581,7 +1530,7 @@ const (
 	RTAX_UNSPEC                          = 0x0
 	RTAX_WINDOW                          = 0x3
 	RTA_ALIGNTO                          = 0x4
-	RTA_MAX                              = 0x1d
+	RTA_MAX                              = 0x1a
 	RTCF_DIRECTSRC                       = 0x4000000
 	RTCF_DOREDIRECT                      = 0x1000000
 	RTCF_LOG                             = 0x2000000
@@ -1649,7 +1598,6 @@ const (
 	RTM_DELACTION                        = 0x31
 	RTM_DELADDR                          = 0x15
 	RTM_DELADDRLABEL                     = 0x49
-	RTM_DELCHAIN                         = 0x65
 	RTM_DELLINK                          = 0x11
 	RTM_DELMDB                           = 0x55
 	RTM_DELNEIGH                         = 0x1d
@@ -1670,7 +1618,6 @@ const (
 	RTM_GETADDR                          = 0x16
 	RTM_GETADDRLABEL                     = 0x4a
 	RTM_GETANYCAST                       = 0x3e
-	RTM_GETCHAIN                         = 0x66
 	RTM_GETDCB                           = 0x4e
 	RTM_GETLINK                          = 0x12
 	RTM_GETMDB                           = 0x56
@@ -1685,12 +1632,11 @@ const (
 	RTM_GETSTATS                         = 0x5e
 	RTM_GETTCLASS                        = 0x2a
 	RTM_GETTFILTER                       = 0x2e
-	RTM_MAX                              = 0x67
+	RTM_MAX                              = 0x63
 	RTM_NEWACTION                        = 0x30
 	RTM_NEWADDR                          = 0x14
 	RTM_NEWADDRLABEL                     = 0x48
 	RTM_NEWCACHEREPORT                   = 0x60
-	RTM_NEWCHAIN                         = 0x64
 	RTM_NEWLINK                          = 0x10
 	RTM_NEWMDB                           = 0x54
 	RTM_NEWNDUSEROPT                     = 0x44
@@ -1705,8 +1651,8 @@ const (
 	RTM_NEWSTATS                         = 0x5c
 	RTM_NEWTCLASS                        = 0x28
 	RTM_NEWTFILTER                       = 0x2c
-	RTM_NR_FAMILIES                      = 0x16
-	RTM_NR_MSGTYPES                      = 0x58
+	RTM_NR_FAMILIES                      = 0x15
+	RTM_NR_MSGTYPES                      = 0x54
 	RTM_SETDCB                           = 0x4f
 	RTM_SETLINK                          = 0x13
 	RTM_SETNEIGHTBL                      = 0x43
@@ -1720,22 +1666,17 @@ const (
 	RTNH_F_UNRESOLVED                    = 0x20
 	RTN_MAX                              = 0xb
 	RTPROT_BABEL                         = 0x2a
-	RTPROT_BGP                           = 0xba
 	RTPROT_BIRD                          = 0xc
 	RTPROT_BOOT                          = 0x3
 	RTPROT_DHCP                          = 0x10
 	RTPROT_DNROUTED                      = 0xd
-	RTPROT_EIGRP                         = 0xc0
 	RTPROT_GATED                         = 0x8
-	RTPROT_ISIS                          = 0xbb
 	RTPROT_KERNEL                        = 0x2
 	RTPROT_MROUTED                       = 0x11
 	RTPROT_MRT                           = 0xa
 	RTPROT_NTK                           = 0xf
-	RTPROT_OSPF                          = 0xbc
 	RTPROT_RA                            = 0x9
 	RTPROT_REDIRECT                      = 0x1
-	RTPROT_RIP                           = 0xbd
 	RTPROT_STATIC                        = 0x4
 	RTPROT_UNSPEC                        = 0x0
 	RTPROT_XORP                          = 0xe
@@ -1755,7 +1696,6 @@ const (
 	SCM_TIMESTAMPING_OPT_STATS           = 0x36
 	SCM_TIMESTAMPING_PKTINFO             = 0x3a
 	SCM_TIMESTAMPNS                      = 0x23
-	SCM_TXTIME                           = 0x3d
 	SCM_WIFI_STATUS                      = 0x29
 	SECCOMP_MODE_DISABLED                = 0x0
 	SECCOMP_MODE_FILTER                  = 0x2
@@ -1901,7 +1841,6 @@ const (
 	SOL_TIPC                             = 0x10f
 	SOL_TLS                              = 0x11a
 	SOL_X25                              = 0x106
-	SOL_XDP                              = 0x11b
 	SOMAXCONN                            = 0x80
 	SO_ACCEPTCONN                        = 0x1e
 	SO_ATTACH_BPF                        = 0x32
@@ -1960,7 +1899,6 @@ const (
 	SO_TIMESTAMP                         = 0x1d
 	SO_TIMESTAMPING                      = 0x25
 	SO_TIMESTAMPNS                       = 0x23
-	SO_TXTIME                            = 0x3d
 	SO_TYPE                              = 0x3
 	SO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2
 	SO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1
@@ -1998,9 +1936,6 @@ const (
 	STATX_TYPE                           = 0x1
 	STATX_UID                            = 0x8
 	STATX__RESERVED                      = 0x80000000
-	SYNC_FILE_RANGE_WAIT_AFTER           = 0x4
-	SYNC_FILE_RANGE_WAIT_BEFORE          = 0x1
-	SYNC_FILE_RANGE_WRITE                = 0x2
 	SYSFS_MAGIC                          = 0x62656572
 	S_BLKSIZE                            = 0x200
 	S_IEXEC                              = 0x40
@@ -2064,8 +1999,6 @@ const (
 	TCP_DEFER_ACCEPT                     = 0x9
 	TCP_FASTOPEN                         = 0x17
 	TCP_FASTOPEN_CONNECT                 = 0x1e
-	TCP_FASTOPEN_KEY                     = 0x21
-	TCP_FASTOPEN_NO_COOKIE               = 0x22
 	TCP_INFO                             = 0xb
 	TCP_KEEPCNT                          = 0x6
 	TCP_KEEPIDLE                         = 0x4
@@ -2233,21 +2166,6 @@ const (
 	TUNSETVNETBE                         = 0x400454de
 	TUNSETVNETHDRSZ                      = 0x400454d8
 	TUNSETVNETLE                         = 0x400454dc
-	UBI_IOCATT                           = 0x40186f40
-	UBI_IOCDET                           = 0x40046f41
-	UBI_IOCEBCH                          = 0x40044f02
-	UBI_IOCEBER                          = 0x40044f01
-	UBI_IOCEBISMAP                       = 0x80044f05
-	UBI_IOCEBMAP                         = 0x40084f03
-	UBI_IOCEBUNMAP                       = 0x40044f04
-	UBI_IOCMKVOL                         = 0x40986f00
-	UBI_IOCRMVOL                         = 0x40046f01
-	UBI_IOCRNVOL                         = 0x51106f03
-	UBI_IOCRSVOL                         = 0x400c6f02
-	UBI_IOCSETVOLPROP                    = 0x40104f06
-	UBI_IOCVOLCRBLK                      = 0x40804f07
-	UBI_IOCVOLRMBLK                      = 0x4f08
-	UBI_IOCVOLUP                         = 0x40084f00
 	UDF_SUPER_MAGIC                      = 0x15013346
 	UMOUNT_NOFOLLOW                      = 0x8
 	USBDEVICE_SUPER_MAGIC                = 0x9fa2
@@ -2384,26 +2302,6 @@ const (
 	XATTR_CREATE                         = 0x1
 	XATTR_REPLACE                        = 0x2
 	XCASE                                = 0x4
-	XDP_COPY                             = 0x2
-	XDP_FLAGS_DRV_MODE                   = 0x4
-	XDP_FLAGS_HW_MODE                    = 0x8
-	XDP_FLAGS_MASK                       = 0xf
-	XDP_FLAGS_MODES                      = 0xe
-	XDP_FLAGS_SKB_MODE                   = 0x2
-	XDP_FLAGS_UPDATE_IF_NOEXIST          = 0x1
-	XDP_MMAP_OFFSETS                     = 0x1
-	XDP_PGOFF_RX_RING                    = 0x0
-	XDP_PGOFF_TX_RING                    = 0x80000000
-	XDP_RX_RING                          = 0x2
-	XDP_SHARED_UMEM                      = 0x1
-	XDP_STATISTICS                       = 0x7
-	XDP_TX_RING                          = 0x3
-	XDP_UMEM_COMPLETION_RING             = 0x6
-	XDP_UMEM_FILL_RING                   = 0x5
-	XDP_UMEM_PGOFF_COMPLETION_RING       = 0x180000000
-	XDP_UMEM_PGOFF_FILL_RING             = 0x100000000
-	XDP_UMEM_REG                         = 0x4
-	XDP_ZEROCOPY                         = 0x4
 	XENFS_SUPER_MAGIC                    = 0xabba1974
 	XTABS                                = 0x1800
 	ZSMALLOC_MAGIC                       = 0x58295829
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
index ba93f3e..7fdc85b 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
@@ -1,10 +1,10 @@
-// mkerrors.sh -Wall -Werror -static -I/tmp/include
-// Code generated by the command above; see README.md. DO NOT EDIT.
+// mkerrors.sh -m64
+// Code generated by the command above; DO NOT EDIT.
 
 // +build sparc64,linux
 
-// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -m64 _const.go
 
 package unix
 
@@ -1969,182 +1969,174 @@ const (
 )
 
 // Error table
-var errorList = [...]struct {
-	num  syscall.Errno
-	name string
-	desc string
-}{
-	{1, "EPERM", "operation not permitted"},
-	{2, "ENOENT", "no such file or directory"},
-	{3, "ESRCH", "no such process"},
-	{4, "EINTR", "interrupted system call"},
-	{5, "EIO", "input/output error"},
-	{6, "ENXIO", "no such device or address"},
-	{7, "E2BIG", "argument list too long"},
-	{8, "ENOEXEC", "exec format error"},
-	{9, "EBADF", "bad file descriptor"},
-	{10, "ECHILD", "no child processes"},
-	{11, "EAGAIN", "resource temporarily unavailable"},
-	{12, "ENOMEM", "cannot allocate memory"},
-	{13, "EACCES", "permission denied"},
-	{14, "EFAULT", "bad address"},
-	{15, "ENOTBLK", "block device required"},
-	{16, "EBUSY", "device or resource busy"},
-	{17, "EEXIST", "file exists"},
-	{18, "EXDEV", "invalid cross-device link"},
-	{19, "ENODEV", "no such device"},
-	{20, "ENOTDIR", "not a directory"},
-	{21, "EISDIR", "is a directory"},
-	{22, "EINVAL", "invalid argument"},
-	{23, "ENFILE", "too many open files in system"},
-	{24, "EMFILE", "too many open files"},
-	{25, "ENOTTY", "inappropriate ioctl for device"},
-	{26, "ETXTBSY", "text file busy"},
-	{27, "EFBIG", "file too large"},
-	{28, "ENOSPC", "no space left on device"},
-	{29, "ESPIPE", "illegal seek"},
-	{30, "EROFS", "read-only file system"},
-	{31, "EMLINK", "too many links"},
-	{32, "EPIPE", "broken pipe"},
-	{33, "EDOM", "numerical argument out of domain"},
-	{34, "ERANGE", "numerical result out of range"},
-	{36, "EINPROGRESS", "operation now in progress"},
-	{37, "EALREADY", "operation already in progress"},
-	{38, "ENOTSOCK", "socket operation on non-socket"},
-	{39, "EDESTADDRREQ", "destination address required"},
-	{40, "EMSGSIZE", "message too long"},
-	{41, "EPROTOTYPE", "protocol wrong type for socket"},
-	{42, "ENOPROTOOPT", "protocol not available"},
-	{43, "EPROTONOSUPPORT", "protocol not supported"},
-	{44, "ESOCKTNOSUPPORT", "socket type not supported"},
-	{45, "ENOTSUP", "operation not supported"},
-	{46, "EPFNOSUPPORT", "protocol family not supported"},
-	{47, "EAFNOSUPPORT", "address family not supported by protocol"},
-	{48, "EADDRINUSE", "address already in use"},
-	{49, "EADDRNOTAVAIL", "cannot assign requested address"},
-	{50, "ENETDOWN", "network is down"},
-	{51, "ENETUNREACH", "network is unreachable"},
-	{52, "ENETRESET", "network dropped connection on reset"},
-	{53, "ECONNABORTED", "software caused connection abort"},
-	{54, "ECONNRESET", "connection reset by peer"},
-	{55, "ENOBUFS", "no buffer space available"},
-	{56, "EISCONN", "transport endpoint is already connected"},
-	{57, "ENOTCONN", "transport endpoint is not connected"},
-	{58, "ESHUTDOWN", "cannot send after transport endpoint shutdown"},
-	{59, "ETOOMANYREFS", "too many references: cannot splice"},
-	{60, "ETIMEDOUT", "connection timed out"},
-	{61, "ECONNREFUSED", "connection refused"},
-	{62, "ELOOP", "too many levels of symbolic links"},
-	{63, "ENAMETOOLONG", "file name too long"},
-	{64, "EHOSTDOWN", "host is down"},
-	{65, "EHOSTUNREACH", "no route to host"},
-	{66, "ENOTEMPTY", "directory not empty"},
-	{67, "EPROCLIM", "too many processes"},
-	{68, "EUSERS", "too many users"},
-	{69, "EDQUOT", "disk quota exceeded"},
-	{70, "ESTALE", "stale file handle"},
-	{71, "EREMOTE", "object is remote"},
-	{72, "ENOSTR", "device not a stream"},
-	{73, "ETIME", "timer expired"},
-	{74, "ENOSR", "out of streams resources"},
-	{75, "ENOMSG", "no message of desired type"},
-	{76, "EBADMSG", "bad message"},
-	{77, "EIDRM", "identifier removed"},
-	{78, "EDEADLK", "resource deadlock avoided"},
-	{79, "ENOLCK", "no locks available"},
-	{80, "ENONET", "machine is not on the network"},
-	{81, "ERREMOTE", "unknown error 81"},
-	{82, "ENOLINK", "link has been severed"},
-	{83, "EADV", "advertise error"},
-	{84, "ESRMNT", "srmount error"},
-	{85, "ECOMM", "communication error on send"},
-	{86, "EPROTO", "protocol error"},
-	{87, "EMULTIHOP", "multihop attempted"},
-	{88, "EDOTDOT", "RFS specific error"},
-	{89, "EREMCHG", "remote address changed"},
-	{90, "ENOSYS", "function not implemented"},
-	{91, "ESTRPIPE", "streams pipe error"},
-	{92, "EOVERFLOW", "value too large for defined data type"},
-	{93, "EBADFD", "file descriptor in bad state"},
-	{94, "ECHRNG", "channel number out of range"},
-	{95, "EL2NSYNC", "level 2 not synchronized"},
-	{96, "EL3HLT", "level 3 halted"},
-	{97, "EL3RST", "level 3 reset"},
-	{98, "ELNRNG", "link number out of range"},
-	{99, "EUNATCH", "protocol driver not attached"},
-	{100, "ENOCSI", "no CSI structure available"},
-	{101, "EL2HLT", "level 2 halted"},
-	{102, "EBADE", "invalid exchange"},
-	{103, "EBADR", "invalid request descriptor"},
-	{104, "EXFULL", "exchange full"},
-	{105, "ENOANO", "no anode"},
-	{106, "EBADRQC", "invalid request code"},
-	{107, "EBADSLT", "invalid slot"},
-	{108, "EDEADLOCK", "file locking deadlock error"},
-	{109, "EBFONT", "bad font file format"},
-	{110, "ELIBEXEC", "cannot exec a shared library directly"},
-	{111, "ENODATA", "no data available"},
-	{112, "ELIBBAD", "accessing a corrupted shared library"},
-	{113, "ENOPKG", "package not installed"},
-	{114, "ELIBACC", "can not access a needed shared library"},
-	{115, "ENOTUNIQ", "name not unique on network"},
-	{116, "ERESTART", "interrupted system call should be restarted"},
-	{117, "EUCLEAN", "structure needs cleaning"},
-	{118, "ENOTNAM", "not a XENIX named type file"},
-	{119, "ENAVAIL", "no XENIX semaphores available"},
-	{120, "EISNAM", "is a named type file"},
-	{121, "EREMOTEIO", "remote I/O error"},
-	{122, "EILSEQ", "invalid or incomplete multibyte or wide character"},
-	{123, "ELIBMAX", "attempting to link in too many shared libraries"},
-	{124, "ELIBSCN", ".lib section in a.out corrupted"},
-	{125, "ENOMEDIUM", "no medium found"},
-	{126, "EMEDIUMTYPE", "wrong medium type"},
-	{127, "ECANCELED", "operation canceled"},
-	{128, "ENOKEY", "required key not available"},
-	{129, "EKEYEXPIRED", "key has expired"},
-	{130, "EKEYREVOKED", "key has been revoked"},
-	{131, "EKEYREJECTED", "key was rejected by service"},
-	{132, "EOWNERDEAD", "owner died"},
-	{133, "ENOTRECOVERABLE", "state not recoverable"},
-	{134, "ERFKILL", "operation not possible due to RF-kill"},
-	{135, "EHWPOISON", "memory page has hardware error"},
+var errors = [...]string{
+	1:   "operation not permitted",
+	2:   "no such file or directory",
+	3:   "no such process",
+	4:   "interrupted system call",
+	5:   "input/output error",
+	6:   "no such device or address",
+	7:   "argument list too long",
+	8:   "exec format error",
+	9:   "bad file descriptor",
+	10:  "no child processes",
+	11:  "resource temporarily unavailable",
+	12:  "cannot allocate memory",
+	13:  "permission denied",
+	14:  "bad address",
+	15:  "block device required",
+	16:  "device or resource busy",
+	17:  "file exists",
+	18:  "invalid cross-device link",
+	19:  "no such device",
+	20:  "not a directory",
+	21:  "is a directory",
+	22:  "invalid argument",
+	23:  "too many open files in system",
+	24:  "too many open files",
+	25:  "inappropriate ioctl for device",
+	26:  "text file busy",
+	27:  "file too large",
+	28:  "no space left on device",
+	29:  "illegal seek",
+	30:  "read-only file system",
+	31:  "too many links",
+	32:  "broken pipe",
+	33:  "numerical argument out of domain",
+	34:  "numerical result out of range",
+	36:  "operation now in progress",
+	37:  "operation already in progress",
+	38:  "socket operation on non-socket",
+	39:  "destination address required",
+	40:  "message too long",
+	41:  "protocol wrong type for socket",
+	42:  "protocol not available",
+	43:  "protocol not supported",
+	44:  "socket type not supported",
+	45:  "operation not supported",
+	46:  "protocol family not supported",
+	47:  "address family not supported by protocol",
+	48:  "address already in use",
+	49:  "cannot assign requested address",
+	50:  "network is down",
+	51:  "network is unreachable",
+	52:  "network dropped connection on reset",
+	53:  "software caused connection abort",
+	54:  "connection reset by peer",
+	55:  "no buffer space available",
+	56:  "transport endpoint is already connected",
+	57:  "transport endpoint is not connected",
+	58:  "cannot send after transport endpoint shutdown",
+	59:  "too many references: cannot splice",
+	60:  "connection timed out",
+	61:  "connection refused",
+	62:  "too many levels of symbolic links",
+	63:  "file name too long",
+	64:  "host is down",
+	65:  "no route to host",
+	66:  "directory not empty",
+	67:  "too many processes",
+	68:  "too many users",
+	69:  "disk quota exceeded",
+	70:  "stale file handle",
+	71:  "object is remote",
+	72:  "device not a stream",
+	73:  "timer expired",
+	74:  "out of streams resources",
+	75:  "no message of desired type",
+	76:  "bad message",
+	77:  "identifier removed",
+	78:  "resource deadlock avoided",
+	79:  "no locks available",
+	80:  "machine is not on the network",
+	81:  "unknown error 81",
+	82:  "link has been severed",
+	83:  "advertise error",
+	84:  "srmount error",
+	85:  "communication error on send",
+	86:  "protocol error",
+	87:  "multihop attempted",
+	88:  "RFS specific error",
+	89:  "remote address changed",
+	90:  "function not implemented",
+	91:  "streams pipe error",
+	92:  "value too large for defined data type",
+	93:  "file descriptor in bad state",
+	94:  "channel number out of range",
+	95:  "level 2 not synchronized",
+	96:  "level 3 halted",
+	97:  "level 3 reset",
+	98:  "link number out of range",
+	99:  "protocol driver not attached",
+	100: "no CSI structure available",
+	101: "level 2 halted",
+	102: "invalid exchange",
+	103: "invalid request descriptor",
+	104: "exchange full",
+	105: "no anode",
+	106: "invalid request code",
+	107: "invalid slot",
+	108: "file locking deadlock error",
+	109: "bad font file format",
+	110: "cannot exec a shared library directly",
+	111: "no data available",
+	112: "accessing a corrupted shared library",
+	113: "package not installed",
+	114: "can not access a needed shared library",
+	115: "name not unique on network",
+	116: "interrupted system call should be restarted",
+	117: "structure needs cleaning",
+	118: "not a XENIX named type file",
+	119: "no XENIX semaphores available",
+	120: "is a named type file",
+	121: "remote I/O error",
+	122: "invalid or incomplete multibyte or wide character",
+	123: "attempting to link in too many shared libraries",
+	124: ".lib section in a.out corrupted",
+	125: "no medium found",
+	126: "wrong medium type",
+	127: "operation canceled",
+	128: "required key not available",
+	129: "key has expired",
+	130: "key has been revoked",
+	131: "key was rejected by service",
+	132: "owner died",
+	133: "state not recoverable",
+	134: "operation not possible due to RF-kill",
+	135: "memory page has hardware error",
 }
 
 // Signal table
-var signalList = [...]struct {
-	num  syscall.Signal
-	name string
-	desc string
-}{
-	{1, "SIGHUP", "hangup"},
-	{2, "SIGINT", "interrupt"},
-	{3, "SIGQUIT", "quit"},
-	{4, "SIGILL", "illegal instruction"},
-	{5, "SIGTRAP", "trace/breakpoint trap"},
-	{6, "SIGABRT", "aborted"},
-	{7, "SIGEMT", "EMT trap"},
-	{8, "SIGFPE", "floating point exception"},
-	{9, "SIGKILL", "killed"},
-	{10, "SIGBUS", "bus error"},
-	{11, "SIGSEGV", "segmentation fault"},
-	{12, "SIGSYS", "bad system call"},
-	{13, "SIGPIPE", "broken pipe"},
-	{14, "SIGALRM", "alarm clock"},
-	{15, "SIGTERM", "terminated"},
-	{16, "SIGURG", "urgent I/O condition"},
-	{17, "SIGSTOP", "stopped (signal)"},
-	{18, "SIGTSTP", "stopped"},
-	{19, "SIGCONT", "continued"},
-	{20, "SIGCHLD", "child exited"},
-	{21, "SIGTTIN", "stopped (tty input)"},
-	{22, "SIGTTOU", "stopped (tty output)"},
-	{23, "SIGIO", "I/O possible"},
-	{24, "SIGXCPU", "CPU time limit exceeded"},
-	{25, "SIGXFSZ", "file size limit exceeded"},
-	{26, "SIGVTALRM", "virtual timer expired"},
-	{27, "SIGPROF", "profiling timer expired"},
-	{28, "SIGWINCH", "window changed"},
-	{29, "SIGLOST", "power failure"},
-	{30, "SIGUSR1", "user defined signal 1"},
-	{31, "SIGUSR2", "user defined signal 2"},
+var signals = [...]string{
+	1:  "hangup",
+	2:  "interrupt",
+	3:  "quit",
+	4:  "illegal instruction",
+	5:  "trace/breakpoint trap",
+	6:  "aborted",
+	7:  "EMT trap",
+	8:  "floating point exception",
+	9:  "killed",
+	10: "bus error",
+	11: "segmentation fault",
+	12: "bad system call",
+	13: "broken pipe",
+	14: "alarm clock",
+	15: "terminated",
+	16: "urgent I/O condition",
+	17: "stopped (signal)",
+	18: "stopped",
+	19: "continued",
+	20: "child exited",
+	21: "stopped (tty input)",
+	22: "stopped (tty output)",
+	23: "I/O possible",
+	24: "CPU time limit exceeded",
+	25: "file size limit exceeded",
+	26: "virtual timer expired",
+	27: "profiling timer expired",
+	28: "window changed",
+	29: "resource lost",
+	30: "user defined signal 1",
+	31: "user defined signal 2",
 }
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
index 78cc04e..cd93ce0 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
@@ -550,10 +550,6 @@ const (
 	EV_ONESHOT                        = 0x10
 	EV_SYSFLAGS                       = 0xf000
 	EXTA                              = 0x4b00
-	EXTATTR_CMD_START                 = 0x1
-	EXTATTR_CMD_STOP                  = 0x2
-	EXTATTR_NAMESPACE_SYSTEM          = 0x2
-	EXTATTR_NAMESPACE_USER            = 0x1
 	EXTB                              = 0x9600
 	EXTPROC                           = 0x800
 	FD_CLOEXEC                        = 0x1
@@ -1020,43 +1016,6 @@ const (
 	MAP_WIRED                         = 0x800
 	MCL_CURRENT                       = 0x1
 	MCL_FUTURE                        = 0x2
-	MNT_ASYNC                         = 0x40
-	MNT_BASIC_FLAGS                   = 0xe782807f
-	MNT_DEFEXPORTED                   = 0x200
-	MNT_DISCARD                       = 0x800000
-	MNT_EXKERB                        = 0x800
-	MNT_EXNORESPORT                   = 0x8000000
-	MNT_EXPORTANON                    = 0x400
-	MNT_EXPORTED                      = 0x100
-	MNT_EXPUBLIC                      = 0x10000000
-	MNT_EXRDONLY                      = 0x80
-	MNT_EXTATTR                       = 0x1000000
-	MNT_FORCE                         = 0x80000
-	MNT_GETARGS                       = 0x400000
-	MNT_IGNORE                        = 0x100000
-	MNT_LAZY                          = 0x3
-	MNT_LOCAL                         = 0x1000
-	MNT_LOG                           = 0x2000000
-	MNT_NOATIME                       = 0x4000000
-	MNT_NOCOREDUMP                    = 0x8000
-	MNT_NODEV                         = 0x10
-	MNT_NODEVMTIME                    = 0x40000000
-	MNT_NOEXEC                        = 0x4
-	MNT_NOSUID                        = 0x8
-	MNT_NOWAIT                        = 0x2
-	MNT_OP_FLAGS                      = 0x4d0000
-	MNT_QUOTA                         = 0x2000
-	MNT_RDONLY                        = 0x1
-	MNT_RELATIME                      = 0x20000
-	MNT_RELOAD                        = 0x40000
-	MNT_ROOTFS                        = 0x4000
-	MNT_SOFTDEP                       = 0x80000000
-	MNT_SYMPERM                       = 0x20000000
-	MNT_SYNCHRONOUS                   = 0x2
-	MNT_UNION                         = 0x20
-	MNT_UPDATE                        = 0x10000
-	MNT_VISFLAGMASK                   = 0xff90ffff
-	MNT_WAIT                          = 0x1
 	MSG_BCAST                         = 0x100
 	MSG_CMSG_CLOEXEC                  = 0x800
 	MSG_CONTROLMBUF                   = 0x2000000
@@ -1150,10 +1109,7 @@ const (
 	RLIMIT_CPU                        = 0x0
 	RLIMIT_DATA                       = 0x2
 	RLIMIT_FSIZE                      = 0x1
-	RLIMIT_MEMLOCK                    = 0x6
 	RLIMIT_NOFILE                     = 0x8
-	RLIMIT_NPROC                      = 0x7
-	RLIMIT_RSS                        = 0x5
 	RLIMIT_STACK                      = 0x3
 	RLIM_INFINITY                     = 0x7fffffffffffffff
 	RTAX_AUTHOR                       = 0x6
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
index 92185e6..071701c 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
@@ -540,10 +540,6 @@ const (
 	EV_ONESHOT                        = 0x10
 	EV_SYSFLAGS                       = 0xf000
 	EXTA                              = 0x4b00
-	EXTATTR_CMD_START                 = 0x1
-	EXTATTR_CMD_STOP                  = 0x2
-	EXTATTR_NAMESPACE_SYSTEM          = 0x2
-	EXTATTR_NAMESPACE_USER            = 0x1
 	EXTB                              = 0x9600
 	EXTPROC                           = 0x800
 	FD_CLOEXEC                        = 0x1
@@ -1010,43 +1006,6 @@ const (
 	MAP_WIRED                         = 0x800
 	MCL_CURRENT                       = 0x1
 	MCL_FUTURE                        = 0x2
-	MNT_ASYNC                         = 0x40
-	MNT_BASIC_FLAGS                   = 0xe782807f
-	MNT_DEFEXPORTED                   = 0x200
-	MNT_DISCARD                       = 0x800000
-	MNT_EXKERB                        = 0x800
-	MNT_EXNORESPORT                   = 0x8000000
-	MNT_EXPORTANON                    = 0x400
-	MNT_EXPORTED                      = 0x100
-	MNT_EXPUBLIC                      = 0x10000000
-	MNT_EXRDONLY                      = 0x80
-	MNT_EXTATTR                       = 0x1000000
-	MNT_FORCE                         = 0x80000
-	MNT_GETARGS                       = 0x400000
-	MNT_IGNORE                        = 0x100000
-	MNT_LAZY                          = 0x3
-	MNT_LOCAL                         = 0x1000
-	MNT_LOG                           = 0x2000000
-	MNT_NOATIME                       = 0x4000000
-	MNT_NOCOREDUMP                    = 0x8000
-	MNT_NODEV                         = 0x10
-	MNT_NODEVMTIME                    = 0x40000000
-	MNT_NOEXEC                        = 0x4
-	MNT_NOSUID                        = 0x8
-	MNT_NOWAIT                        = 0x2
-	MNT_OP_FLAGS                      = 0x4d0000
-	MNT_QUOTA                         = 0x2000
-	MNT_RDONLY                        = 0x1
-	MNT_RELATIME                      = 0x20000
-	MNT_RELOAD                        = 0x40000
-	MNT_ROOTFS                        = 0x4000
-	MNT_SOFTDEP                       = 0x80000000
-	MNT_SYMPERM                       = 0x20000000
-	MNT_SYNCHRONOUS                   = 0x2
-	MNT_UNION                         = 0x20
-	MNT_UPDATE                        = 0x10000
-	MNT_VISFLAGMASK                   = 0xff90ffff
-	MNT_WAIT                          = 0x1
 	MSG_BCAST                         = 0x100
 	MSG_CMSG_CLOEXEC                  = 0x800
 	MSG_CONTROLMBUF                   = 0x2000000
@@ -1140,10 +1099,7 @@ const (
 	RLIMIT_CPU                        = 0x0
 	RLIMIT_DATA                       = 0x2
 	RLIMIT_FSIZE                      = 0x1
-	RLIMIT_MEMLOCK                    = 0x6
 	RLIMIT_NOFILE                     = 0x8
-	RLIMIT_NPROC                      = 0x7
-	RLIMIT_RSS                        = 0x5
 	RLIMIT_STACK                      = 0x3
 	RLIM_INFINITY                     = 0x7fffffffffffffff
 	RTAX_AUTHOR                       = 0x6
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
index 373ad45..5fe56ae 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
@@ -532,10 +532,6 @@ const (
 	EV_ONESHOT                        = 0x10
 	EV_SYSFLAGS                       = 0xf000
 	EXTA                              = 0x4b00
-	EXTATTR_CMD_START                 = 0x1
-	EXTATTR_CMD_STOP                  = 0x2
-	EXTATTR_NAMESPACE_SYSTEM          = 0x2
-	EXTATTR_NAMESPACE_USER            = 0x1
 	EXTB                              = 0x9600
 	EXTPROC                           = 0x800
 	FD_CLOEXEC                        = 0x1
@@ -1000,43 +996,6 @@ const (
 	MAP_STACK                         = 0x2000
 	MAP_TRYFIXED                      = 0x400
 	MAP_WIRED                         = 0x800
-	MNT_ASYNC                         = 0x40
-	MNT_BASIC_FLAGS                   = 0xe782807f
-	MNT_DEFEXPORTED                   = 0x200
-	MNT_DISCARD                       = 0x800000
-	MNT_EXKERB                        = 0x800
-	MNT_EXNORESPORT                   = 0x8000000
-	MNT_EXPORTANON                    = 0x400
-	MNT_EXPORTED                      = 0x100
-	MNT_EXPUBLIC                      = 0x10000000
-	MNT_EXRDONLY                      = 0x80
-	MNT_EXTATTR                       = 0x1000000
-	MNT_FORCE                         = 0x80000
-	MNT_GETARGS                       = 0x400000
-	MNT_IGNORE                        = 0x100000
-	MNT_LAZY                          = 0x3
-	MNT_LOCAL                         = 0x1000
-	MNT_LOG                           = 0x2000000
-	MNT_NOATIME                       = 0x4000000
-	MNT_NOCOREDUMP                    = 0x8000
-	MNT_NODEV                         = 0x10
-	MNT_NODEVMTIME                    = 0x40000000
-	MNT_NOEXEC                        = 0x4
-	MNT_NOSUID                        = 0x8
-	MNT_NOWAIT                        = 0x2
-	MNT_OP_FLAGS                      = 0x4d0000
-	MNT_QUOTA                         = 0x2000
-	MNT_RDONLY                        = 0x1
-	MNT_RELATIME                      = 0x20000
-	MNT_RELOAD                        = 0x40000
-	MNT_ROOTFS                        = 0x4000
-	MNT_SOFTDEP                       = 0x80000000
-	MNT_SYMPERM                       = 0x20000000
-	MNT_SYNCHRONOUS                   = 0x2
-	MNT_UNION                         = 0x20
-	MNT_UPDATE                        = 0x10000
-	MNT_VISFLAGMASK                   = 0xff90ffff
-	MNT_WAIT                          = 0x1
 	MSG_BCAST                         = 0x100
 	MSG_CMSG_CLOEXEC                  = 0x800
 	MSG_CONTROLMBUF                   = 0x2000000
@@ -1130,10 +1089,7 @@ const (
 	RLIMIT_CPU                        = 0x0
 	RLIMIT_DATA                       = 0x2
 	RLIMIT_FSIZE                      = 0x1
-	RLIMIT_MEMLOCK                    = 0x6
 	RLIMIT_NOFILE                     = 0x8
-	RLIMIT_NPROC                      = 0x7
-	RLIMIT_RSS                        = 0x5
 	RLIMIT_STACK                      = 0x3
 	RLIM_INFINITY                     = 0x7fffffffffffffff
 	RTAX_AUTHOR                       = 0x6
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
index d8be045..0a1c3e7 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
@@ -899,32 +899,6 @@ const (
 	MAP_TRYFIXED                      = 0x400
 	MCL_CURRENT                       = 0x1
 	MCL_FUTURE                        = 0x2
-	MNT_ASYNC                         = 0x40
-	MNT_DEFEXPORTED                   = 0x200
-	MNT_DELEXPORT                     = 0x20000
-	MNT_DOOMED                        = 0x8000000
-	MNT_EXPORTANON                    = 0x400
-	MNT_EXPORTED                      = 0x100
-	MNT_EXRDONLY                      = 0x80
-	MNT_FORCE                         = 0x80000
-	MNT_LAZY                          = 0x3
-	MNT_LOCAL                         = 0x1000
-	MNT_NOATIME                       = 0x8000
-	MNT_NODEV                         = 0x10
-	MNT_NOEXEC                        = 0x4
-	MNT_NOSUID                        = 0x8
-	MNT_NOWAIT                        = 0x2
-	MNT_QUOTA                         = 0x2000
-	MNT_RDONLY                        = 0x1
-	MNT_RELOAD                        = 0x40000
-	MNT_ROOTFS                        = 0x4000
-	MNT_SOFTDEP                       = 0x4000000
-	MNT_SYNCHRONOUS                   = 0x2
-	MNT_UPDATE                        = 0x10000
-	MNT_VISFLAGMASK                   = 0x400ffff
-	MNT_WAIT                          = 0x1
-	MNT_WANTRDWR                      = 0x2000000
-	MNT_WXALLOWED                     = 0x800
 	MSG_BCAST                         = 0x100
 	MSG_CTRUNC                        = 0x20
 	MSG_DONTROUTE                     = 0x4
@@ -1244,34 +1218,6 @@ const (
 	SO_TIMESTAMP                      = 0x800
 	SO_TYPE                           = 0x1008
 	SO_USELOOPBACK                    = 0x40
-	S_BLKSIZE                         = 0x200
-	S_IEXEC                           = 0x40
-	S_IFBLK                           = 0x6000
-	S_IFCHR                           = 0x2000
-	S_IFDIR                           = 0x4000
-	S_IFIFO                           = 0x1000
-	S_IFLNK                           = 0xa000
-	S_IFMT                            = 0xf000
-	S_IFREG                           = 0x8000
-	S_IFSOCK                          = 0xc000
-	S_IREAD                           = 0x100
-	S_IRGRP                           = 0x20
-	S_IROTH                           = 0x4
-	S_IRUSR                           = 0x100
-	S_IRWXG                           = 0x38
-	S_IRWXO                           = 0x7
-	S_IRWXU                           = 0x1c0
-	S_ISGID                           = 0x400
-	S_ISTXT                           = 0x200
-	S_ISUID                           = 0x800
-	S_ISVTX                           = 0x200
-	S_IWGRP                           = 0x10
-	S_IWOTH                           = 0x2
-	S_IWRITE                          = 0x80
-	S_IWUSR                           = 0x80
-	S_IXGRP                           = 0x8
-	S_IXOTH                           = 0x1
-	S_IXUSR                           = 0x40
 	TCIFLUSH                          = 0x1
 	TCIOFLUSH                         = 0x3
 	TCOFLUSH                          = 0x2
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
index 1f9e8a2..acfc664 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
@@ -472,7 +472,6 @@ const (
 	F_GETLK                           = 0x7
 	F_GETOWN                          = 0x5
 	F_ISATTY                          = 0xb
-	F_OK                              = 0x0
 	F_RDLCK                           = 0x1
 	F_SETFD                           = 0x2
 	F_SETFL                           = 0x4
@@ -939,34 +938,6 @@ const (
 	MAP_TRYFIXED                      = 0x0
 	MCL_CURRENT                       = 0x1
 	MCL_FUTURE                        = 0x2
-	MNT_ASYNC                         = 0x40
-	MNT_DEFEXPORTED                   = 0x200
-	MNT_DELEXPORT                     = 0x20000
-	MNT_DOOMED                        = 0x8000000
-	MNT_EXPORTANON                    = 0x400
-	MNT_EXPORTED                      = 0x100
-	MNT_EXRDONLY                      = 0x80
-	MNT_FORCE                         = 0x80000
-	MNT_LAZY                          = 0x3
-	MNT_LOCAL                         = 0x1000
-	MNT_NOATIME                       = 0x8000
-	MNT_NODEV                         = 0x10
-	MNT_NOEXEC                        = 0x4
-	MNT_NOPERM                        = 0x20
-	MNT_NOSUID                        = 0x8
-	MNT_NOWAIT                        = 0x2
-	MNT_QUOTA                         = 0x2000
-	MNT_RDONLY                        = 0x1
-	MNT_RELOAD                        = 0x40000
-	MNT_ROOTFS                        = 0x4000
-	MNT_SOFTDEP                       = 0x4000000
-	MNT_STALLED                       = 0x100000
-	MNT_SYNCHRONOUS                   = 0x2
-	MNT_UPDATE                        = 0x10000
-	MNT_VISFLAGMASK                   = 0x400ffff
-	MNT_WAIT                          = 0x1
-	MNT_WANTRDWR                      = 0x2000000
-	MNT_WXALLOWED                     = 0x800
 	MSG_BCAST                         = 0x100
 	MSG_CMSG_CLOEXEC                  = 0x800
 	MSG_CTRUNC                        = 0x20
@@ -1325,34 +1296,6 @@ const (
 	SO_TYPE                           = 0x1008
 	SO_USELOOPBACK                    = 0x40
 	SO_ZEROIZE                        = 0x2000
-	S_BLKSIZE                         = 0x200
-	S_IEXEC                           = 0x40
-	S_IFBLK                           = 0x6000
-	S_IFCHR                           = 0x2000
-	S_IFDIR                           = 0x4000
-	S_IFIFO                           = 0x1000
-	S_IFLNK                           = 0xa000
-	S_IFMT                            = 0xf000
-	S_IFREG                           = 0x8000
-	S_IFSOCK                          = 0xc000
-	S_IREAD                           = 0x100
-	S_IRGRP                           = 0x20
-	S_IROTH                           = 0x4
-	S_IRUSR                           = 0x100
-	S_IRWXG                           = 0x38
-	S_IRWXO                           = 0x7
-	S_IRWXU                           = 0x1c0
-	S_ISGID                           = 0x400
-	S_ISTXT                           = 0x200
-	S_ISUID                           = 0x800
-	S_ISVTX                           = 0x200
-	S_IWGRP                           = 0x10
-	S_IWOTH                           = 0x2
-	S_IWRITE                          = 0x80
-	S_IWUSR                           = 0x80
-	S_IXGRP                           = 0x8
-	S_IXOTH                           = 0x1
-	S_IXUSR                           = 0x40
 	TCIFLUSH                          = 0x1
 	TCIOFF                            = 0x3
 	TCIOFLUSH                         = 0x3
@@ -1443,8 +1386,6 @@ const (
 	TIOCUCNTL_CBRK                    = 0x7a
 	TIOCUCNTL_SBRK                    = 0x7b
 	TOSTOP                            = 0x400000
-	UTIME_NOW                         = -0x2
-	UTIME_OMIT                        = -0x1
 	VDISCARD                          = 0xf
 	VDSUSP                            = 0xb
 	VEOF                              = 0x0
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
index 79d5695..93e37c4 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
@@ -899,32 +899,6 @@ const (
 	MAP_TRYFIXED                      = 0x0
 	MCL_CURRENT                       = 0x1
 	MCL_FUTURE                        = 0x2
-	MNT_ASYNC                         = 0x40
-	MNT_DEFEXPORTED                   = 0x200
-	MNT_DELEXPORT                     = 0x20000
-	MNT_DOOMED                        = 0x8000000
-	MNT_EXPORTANON                    = 0x400
-	MNT_EXPORTED                      = 0x100
-	MNT_EXRDONLY                      = 0x80
-	MNT_FORCE                         = 0x80000
-	MNT_LAZY                          = 0x3
-	MNT_LOCAL                         = 0x1000
-	MNT_NOATIME                       = 0x8000
-	MNT_NODEV                         = 0x10
-	MNT_NOEXEC                        = 0x4
-	MNT_NOSUID                        = 0x8
-	MNT_NOWAIT                        = 0x2
-	MNT_QUOTA                         = 0x2000
-	MNT_RDONLY                        = 0x1
-	MNT_RELOAD                        = 0x40000
-	MNT_ROOTFS                        = 0x4000
-	MNT_SOFTDEP                       = 0x4000000
-	MNT_SYNCHRONOUS                   = 0x2
-	MNT_UPDATE                        = 0x10000
-	MNT_VISFLAGMASK                   = 0x400ffff
-	MNT_WAIT                          = 0x1
-	MNT_WANTRDWR                      = 0x2000000
-	MNT_WXALLOWED                     = 0x800
 	MSG_BCAST                         = 0x100
 	MSG_CMSG_CLOEXEC                  = 0x800
 	MSG_CTRUNC                        = 0x20
@@ -1247,34 +1221,6 @@ const (
 	SO_TIMESTAMP                      = 0x800
 	SO_TYPE                           = 0x1008
 	SO_USELOOPBACK                    = 0x40
-	S_BLKSIZE                         = 0x200
-	S_IEXEC                           = 0x40
-	S_IFBLK                           = 0x6000
-	S_IFCHR                           = 0x2000
-	S_IFDIR                           = 0x4000
-	S_IFIFO                           = 0x1000
-	S_IFLNK                           = 0xa000
-	S_IFMT                            = 0xf000
-	S_IFREG                           = 0x8000
-	S_IFSOCK                          = 0xc000
-	S_IREAD                           = 0x100
-	S_IRGRP                           = 0x20
-	S_IROTH                           = 0x4
-	S_IRUSR                           = 0x100
-	S_IRWXG                           = 0x38
-	S_IRWXO                           = 0x7
-	S_IRWXU                           = 0x1c0
-	S_ISGID                           = 0x400
-	S_ISTXT                           = 0x200
-	S_ISUID                           = 0x800
-	S_ISVTX                           = 0x200
-	S_IWGRP                           = 0x10
-	S_IWOTH                           = 0x2
-	S_IWRITE                          = 0x80
-	S_IWUSR                           = 0x80
-	S_IXGRP                           = 0x8
-	S_IXOTH                           = 0x1
-	S_IXUSR                           = 0x40
 	TCIFLUSH                          = 0x1
 	TCIOFLUSH                         = 0x3
 	TCOFLUSH                          = 0x2
diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
index 22569db..be42830 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
@@ -996,39 +996,6 @@ const (
 	SO_USELOOPBACK                = 0x40
 	SO_VRRP                       = 0x1017
 	SO_WROFF                      = 0x2
-	S_ENFMT                       = 0x400
-	S_IAMB                        = 0x1ff
-	S_IEXEC                       = 0x40
-	S_IFBLK                       = 0x6000
-	S_IFCHR                       = 0x2000
-	S_IFDIR                       = 0x4000
-	S_IFDOOR                      = 0xd000
-	S_IFIFO                       = 0x1000
-	S_IFLNK                       = 0xa000
-	S_IFMT                        = 0xf000
-	S_IFNAM                       = 0x5000
-	S_IFPORT                      = 0xe000
-	S_IFREG                       = 0x8000
-	S_IFSOCK                      = 0xc000
-	S_INSEM                       = 0x1
-	S_INSHD                       = 0x2
-	S_IREAD                       = 0x100
-	S_IRGRP                       = 0x20
-	S_IROTH                       = 0x4
-	S_IRUSR                       = 0x100
-	S_IRWXG                       = 0x38
-	S_IRWXO                       = 0x7
-	S_IRWXU                       = 0x1c0
-	S_ISGID                       = 0x400
-	S_ISUID                       = 0x800
-	S_ISVTX                       = 0x200
-	S_IWGRP                       = 0x10
-	S_IWOTH                       = 0x2
-	S_IWRITE                      = 0x80
-	S_IWUSR                       = 0x80
-	S_IXGRP                       = 0x8
-	S_IXOTH                       = 0x1
-	S_IXUSR                       = 0x40
 	TAB0                          = 0x0
 	TAB1                          = 0x800
 	TAB2                          = 0x1000
@@ -1135,8 +1102,6 @@ const (
 	TIOCSTOP                      = 0x746f
 	TIOCSWINSZ                    = 0x5467
 	TOSTOP                        = 0x100
-	UTIME_NOW                     = -0x1
-	UTIME_OMIT                    = -0x2
 	VCEOF                         = 0x8
 	VCEOL                         = 0x9
 	VDISCARD                      = 0xd
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
deleted file mode 100644
index 6bae21e..0000000
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
+++ /dev/null
@@ -1,1450 +0,0 @@
-// mksyscall_aix_ppc.pl -aix -tags aix,ppc syscall_aix.go syscall_aix_ppc.go
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build aix,ppc
-
-package unix
-
-/*
-#include <stdint.h>
-#include <stddef.h>
-int utimes(uintptr_t, uintptr_t);
-int utimensat(int, uintptr_t, uintptr_t, int);
-int getcwd(uintptr_t, size_t);
-int accept(int, uintptr_t, uintptr_t);
-int getdirent(int, uintptr_t, size_t);
-int wait4(int, uintptr_t, int, uintptr_t);
-int ioctl(int, int, uintptr_t);
-int fcntl(uintptr_t, int, uintptr_t);
-int acct(uintptr_t);
-int chdir(uintptr_t);
-int chroot(uintptr_t);
-int close(int);
-int dup(int);
-void exit(int);
-int faccessat(int, uintptr_t, unsigned int, int);
-int fchdir(int);
-int fchmod(int, unsigned int);
-int fchmodat(int, uintptr_t, unsigned int, int);
-int fchownat(int, uintptr_t, int, int, int);
-int fdatasync(int);
-int fsync(int);
-int getpgid(int);
-int getpgrp();
-int getpid();
-int getppid();
-int getpriority(int, int);
-int getrusage(int, uintptr_t);
-int getsid(int);
-int kill(int, int);
-int syslog(int, uintptr_t, size_t);
-int mkdir(int, uintptr_t, unsigned int);
-int mkdirat(int, uintptr_t, unsigned int);
-int mkfifo(uintptr_t, unsigned int);
-int mknod(uintptr_t, unsigned int, int);
-int mknodat(int, uintptr_t, unsigned int, int);
-int nanosleep(uintptr_t, uintptr_t);
-int open64(uintptr_t, int, unsigned int);
-int openat(int, uintptr_t, int, unsigned int);
-int read(int, uintptr_t, size_t);
-int readlink(uintptr_t, uintptr_t, size_t);
-int renameat(int, uintptr_t, int, uintptr_t);
-int setdomainname(uintptr_t, size_t);
-int sethostname(uintptr_t, size_t);
-int setpgid(int, int);
-int setsid();
-int settimeofday(uintptr_t);
-int setuid(int);
-int setgid(int);
-int setpriority(int, int, int);
-int statx(int, uintptr_t, int, int, uintptr_t);
-int sync();
-uintptr_t times(uintptr_t);
-int umask(int);
-int uname(uintptr_t);
-int unlink(uintptr_t);
-int unlinkat(int, uintptr_t, int);
-int ustat(int, uintptr_t);
-int write(int, uintptr_t, size_t);
-int dup2(int, int);
-int posix_fadvise64(int, long long, long long, int);
-int fchown(int, int, int);
-int fstat(int, uintptr_t);
-int fstatat(int, uintptr_t, uintptr_t, int);
-int fstatfs(int, uintptr_t);
-int ftruncate(int, long long);
-int getegid();
-int geteuid();
-int getgid();
-int getuid();
-int lchown(uintptr_t, int, int);
-int listen(int, int);
-int lstat(uintptr_t, uintptr_t);
-int pause();
-int pread64(int, uintptr_t, size_t, long long);
-int pwrite64(int, uintptr_t, size_t, long long);
-int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
-int setregid(int, int);
-int setreuid(int, int);
-int shutdown(int, int);
-long long splice(int, uintptr_t, int, uintptr_t, int, int);
-int stat(uintptr_t, uintptr_t);
-int statfs(uintptr_t, uintptr_t);
-int truncate(uintptr_t, long long);
-int bind(int, uintptr_t, uintptr_t);
-int connect(int, uintptr_t, uintptr_t);
-int getgroups(int, uintptr_t);
-int setgroups(int, uintptr_t);
-int getsockopt(int, int, int, uintptr_t, uintptr_t);
-int setsockopt(int, int, int, uintptr_t, uintptr_t);
-int socket(int, int, int);
-int socketpair(int, int, int, uintptr_t);
-int getpeername(int, uintptr_t, uintptr_t);
-int getsockname(int, uintptr_t, uintptr_t);
-int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
-int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
-int recvmsg(int, uintptr_t, int);
-int sendmsg(int, uintptr_t, int);
-int munmap(uintptr_t, uintptr_t);
-int madvise(uintptr_t, size_t, int);
-int mprotect(uintptr_t, size_t, int);
-int mlock(uintptr_t, size_t);
-int mlockall(int);
-int msync(uintptr_t, size_t, int);
-int munlock(uintptr_t, size_t);
-int munlockall();
-int pipe(uintptr_t);
-int poll(uintptr_t, int, int);
-int gettimeofday(uintptr_t, uintptr_t);
-int time(uintptr_t);
-int utime(uintptr_t, uintptr_t);
-int getrlimit64(int, uintptr_t);
-int setrlimit64(int, uintptr_t);
-long long lseek64(int, long long, int);
-uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long);
-
-*/
-import "C"
-import (
-	"unsafe"
-)
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func utimes(path string, times *[2]Timeval) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.utimes(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times))), C.int(flag))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getcwd(buf []byte) (err error) {
-	var _p0 *byte
-	if len(buf) > 0 {
-		_p0 = &buf[0]
-	}
-	var _p1 int
-	_p1 = len(buf)
-	r0, er := C.getcwd(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
-	r0, er := C.accept(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen))))
-	fd = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getdirent(fd int, buf []byte) (n int, err error) {
-	var _p0 *byte
-	if len(buf) > 0 {
-		_p0 = &buf[0]
-	}
-	var _p1 int
-	_p1 = len(buf)
-	r0, er := C.getdirent(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) {
-	r0, er := C.wait4(C.int(pid), C.uintptr_t(uintptr(unsafe.Pointer(status))), C.int(options), C.uintptr_t(uintptr(unsafe.Pointer(rusage))))
-	wpid = Pid_t(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ioctl(fd int, req uint, arg uintptr) (err error) {
-	r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) {
-	r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg))
-	r = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) {
-	r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(uintptr(unsafe.Pointer(lk))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func fcntl(fd int, cmd int, arg int) (val int, err error) {
-	r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg))
-	val = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Acct(path string) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.acct(C.uintptr_t(_p0))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Chdir(path string) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.chdir(C.uintptr_t(_p0))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Chroot(path string) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.chroot(C.uintptr_t(_p0))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Close(fd int) (err error) {
-	r0, er := C.close(C.int(fd))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Dup(oldfd int) (fd int, err error) {
-	r0, er := C.dup(C.int(oldfd))
-	fd = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Exit(code int) {
-	C.exit(C.int(code))
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchdir(fd int) (err error) {
-	r0, er := C.fchdir(C.int(fd))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchmod(fd int, mode uint32) (err error) {
-	r0, er := C.fchmod(C.int(fd), C.uint(mode))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fdatasync(fd int) (err error) {
-	r0, er := C.fdatasync(C.int(fd))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsync(fd int) (err error) {
-	r0, er := C.fsync(C.int(fd))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpgid(pid int) (pgid int, err error) {
-	r0, er := C.getpgid(C.int(pid))
-	pgid = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpgrp() (pid int) {
-	r0, _ := C.getpgrp()
-	pid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpid() (pid int) {
-	r0, _ := C.getpid()
-	pid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getppid() (ppid int) {
-	r0, _ := C.getppid()
-	ppid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpriority(which int, who int) (prio int, err error) {
-	r0, er := C.getpriority(C.int(which), C.int(who))
-	prio = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getrusage(who int, rusage *Rusage) (err error) {
-	r0, er := C.getrusage(C.int(who), C.uintptr_t(uintptr(unsafe.Pointer(rusage))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getsid(pid int) (sid int, err error) {
-	r0, er := C.getsid(C.int(pid))
-	sid = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Kill(pid int, sig Signal) (err error) {
-	r0, er := C.kill(C.int(pid), C.int(sig))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Klogctl(typ int, buf []byte) (n int, err error) {
-	var _p0 *byte
-	if len(buf) > 0 {
-		_p0 = &buf[0]
-	}
-	var _p1 int
-	_p1 = len(buf)
-	r0, er := C.syslog(C.int(typ), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mkdir(dirfd int, path string, mode uint32) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mkfifo(path string, mode uint32) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.mkfifo(C.uintptr_t(_p0), C.uint(mode))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mknod(path string, mode uint32, dev int) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
-	r0, er := C.nanosleep(C.uintptr_t(uintptr(unsafe.Pointer(time))), C.uintptr_t(uintptr(unsafe.Pointer(leftover))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Open(path string, mode int, perm uint32) (fd int, err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm))
-	fd = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode))
-	fd = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func read(fd int, p []byte) (n int, err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	var _p1 int
-	_p1 = len(p)
-	r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Readlink(path string, buf []byte) (n int, err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	var _p1 *byte
-	if len(buf) > 0 {
-		_p1 = &buf[0]
-	}
-	var _p2 int
-	_p2 = len(buf)
-	r0, er := C.readlink(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(_p1))), C.size_t(_p2))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(oldpath)))
-	_p1 := uintptr(unsafe.Pointer(C.CString(newpath)))
-	r0, er := C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setdomainname(p []byte) (err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	var _p1 int
-	_p1 = len(p)
-	r0, er := C.setdomainname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Sethostname(p []byte) (err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	var _p1 int
-	_p1 = len(p)
-	r0, er := C.sethostname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setpgid(pid int, pgid int) (err error) {
-	r0, er := C.setpgid(C.int(pid), C.int(pgid))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setsid() (pid int, err error) {
-	r0, er := C.setsid()
-	pid = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Settimeofday(tv *Timeval) (err error) {
-	r0, er := C.settimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setuid(uid int) (err error) {
-	r0, er := C.setuid(C.int(uid))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setgid(uid int) (err error) {
-	r0, er := C.setgid(C.int(uid))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setpriority(which int, who int, prio int) (err error) {
-	r0, er := C.setpriority(C.int(which), C.int(who), C.int(prio))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(uintptr(unsafe.Pointer(stat))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Sync() {
-	C.sync()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Times(tms *Tms) (ticks uintptr, err error) {
-	r0, er := C.times(C.uintptr_t(uintptr(unsafe.Pointer(tms))))
-	ticks = uintptr(r0)
-	if uintptr(r0) == ^uintptr(0) && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Umask(mask int) (oldmask int) {
-	r0, _ := C.umask(C.int(mask))
-	oldmask = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Uname(buf *Utsname) (err error) {
-	r0, er := C.uname(C.uintptr_t(uintptr(unsafe.Pointer(buf))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Unlink(path string) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.unlink(C.uintptr_t(_p0))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Unlinkat(dirfd int, path string, flags int) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Ustat(dev int, ubuf *Ustat_t) (err error) {
-	r0, er := C.ustat(C.int(dev), C.uintptr_t(uintptr(unsafe.Pointer(ubuf))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func write(fd int, p []byte) (n int, err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	var _p1 int
-	_p1 = len(p)
-	r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func readlen(fd int, p *byte, np int) (n int, err error) {
-	r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func writelen(fd int, p *byte, np int) (n int, err error) {
-	r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Dup2(oldfd int, newfd int) (err error) {
-	r0, er := C.dup2(C.int(oldfd), C.int(newfd))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-	r0, er := C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchown(fd int, uid int, gid int) (err error) {
-	r0, er := C.fchown(C.int(fd), C.int(uid), C.int(gid))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstat(fd int, stat *Stat_t) (err error) {
-	r0, er := C.fstat(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(stat))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))), C.int(flags))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstatfs(fd int, buf *Statfs_t) (err error) {
-	r0, er := C.fstatfs(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(buf))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Ftruncate(fd int, length int64) (err error) {
-	r0, er := C.ftruncate(C.int(fd), C.longlong(length))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getegid() (egid int) {
-	r0, _ := C.getegid()
-	egid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Geteuid() (euid int) {
-	r0, _ := C.geteuid()
-	euid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getgid() (gid int) {
-	r0, _ := C.getgid()
-	gid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getuid() (uid int) {
-	r0, _ := C.getuid()
-	uid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Lchown(path string, uid int, gid int) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Listen(s int, n int) (err error) {
-	r0, er := C.listen(C.int(s), C.int(n))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Lstat(path string, stat *Stat_t) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.lstat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pause() (err error) {
-	r0, er := C.pause()
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pread(fd int, p []byte, offset int64) (n int, err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	var _p1 int
-	_p1 = len(p)
-	r0, er := C.pread64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	var _p1 int
-	_p1 = len(p)
-	r0, er := C.pwrite64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-	r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask))))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setregid(rgid int, egid int) (err error) {
-	r0, er := C.setregid(C.int(rgid), C.int(egid))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setreuid(ruid int, euid int) (err error) {
-	r0, er := C.setreuid(C.int(ruid), C.int(euid))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Shutdown(fd int, how int) (err error) {
-	r0, er := C.shutdown(C.int(fd), C.int(how))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
-	r0, er := C.splice(C.int(rfd), C.uintptr_t(uintptr(unsafe.Pointer(roff))), C.int(wfd), C.uintptr_t(uintptr(unsafe.Pointer(woff))), C.int(len), C.int(flags))
-	n = int64(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Stat(path string, stat *Stat_t) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Statfs(path string, buf *Statfs_t) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.statfs(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Truncate(path string, length int64) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.truncate(C.uintptr_t(_p0), C.longlong(length))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-	r0, er := C.bind(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen)))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-	r0, er := C.connect(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen)))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getgroups(n int, list *_Gid_t) (nn int, err error) {
-	r0, er := C.getgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list))))
-	nn = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func setgroups(n int, list *_Gid_t) (err error) {
-	r0, er := C.setgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
-	r0, er := C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(uintptr(unsafe.Pointer(vallen))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
-	r0, er := C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(vallen))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func socket(domain int, typ int, proto int) (fd int, err error) {
-	r0, er := C.socket(C.int(domain), C.int(typ), C.int(proto))
-	fd = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
-	r0, er := C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(uintptr(unsafe.Pointer(fd))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-	r0, er := C.getpeername(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-	r0, er := C.getsockname(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	var _p1 int
-	_p1 = len(p)
-	r0, er := C.recvfrom(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(unsafe.Pointer(from))), C.uintptr_t(uintptr(unsafe.Pointer(fromlen))))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
-	var _p0 *byte
-	if len(buf) > 0 {
-		_p0 = &buf[0]
-	}
-	var _p1 int
-	_p1 = len(buf)
-	r0, er := C.sendto(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(to)), C.uintptr_t(uintptr(addrlen)))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-	r0, er := C.recvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-	r0, er := C.sendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func munmap(addr uintptr, length uintptr) (err error) {
-	r0, er := C.munmap(C.uintptr_t(addr), C.uintptr_t(length))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Madvise(b []byte, advice int) (err error) {
-	var _p0 *byte
-	if len(b) > 0 {
-		_p0 = &b[0]
-	}
-	var _p1 int
-	_p1 = len(b)
-	r0, er := C.madvise(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(advice))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
-	var _p0 *byte
-	if len(b) > 0 {
-		_p0 = &b[0]
-	}
-	var _p1 int
-	_p1 = len(b)
-	r0, er := C.mprotect(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(prot))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlock(b []byte) (err error) {
-	var _p0 *byte
-	if len(b) > 0 {
-		_p0 = &b[0]
-	}
-	var _p1 int
-	_p1 = len(b)
-	r0, er := C.mlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
-	r0, er := C.mlockall(C.int(flags))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Msync(b []byte, flags int) (err error) {
-	var _p0 *byte
-	if len(b) > 0 {
-		_p0 = &b[0]
-	}
-	var _p1 int
-	_p1 = len(b)
-	r0, er := C.msync(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
-	var _p0 *byte
-	if len(b) > 0 {
-		_p0 = &b[0]
-	}
-	var _p1 int
-	_p1 = len(b)
-	r0, er := C.munlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
-	r0, er := C.munlockall()
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func pipe(p *[2]_C_int) (err error) {
-	r0, er := C.pipe(C.uintptr_t(uintptr(unsafe.Pointer(p))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-	r0, er := C.poll(C.uintptr_t(uintptr(unsafe.Pointer(fds))), C.int(nfds), C.int(timeout))
-	n = int(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func gettimeofday(tv *Timeval, tzp *Timezone) (err error) {
-	r0, er := C.gettimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv))), C.uintptr_t(uintptr(unsafe.Pointer(tzp))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Time(t *Time_t) (tt Time_t, err error) {
-	r0, er := C.time(C.uintptr_t(uintptr(unsafe.Pointer(t))))
-	tt = Time_t(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Utime(path string, buf *Utimbuf) (err error) {
-	_p0 := uintptr(unsafe.Pointer(C.CString(path)))
-	r0, er := C.utime(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getrlimit(resource int, rlim *Rlimit) (err error) {
-	r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
-	r0, er := C.setrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim))))
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Seek(fd int, offset int64, whence int) (off int64, err error) {
-	r0, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence))
-	off = int64(r0)
-	if r0 == -1 && er != nil {
-		err = er
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {
-	r0, er := C.mmap(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset))
-	xaddr = uintptr(r0)
-	if uintptr(r0) == ^uintptr(0) && er != nil {
-		err = er
-	}
-	return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
deleted file mode 100644
index 3e929e5..0000000
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
+++ /dev/null
@@ -1,1408 +0,0 @@
-// mksyscall_aix_ppc64.pl -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build aix,ppc64
-
-package unix
-
-import (
-	"unsafe"
-)
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func utimes(path string, times *[2]Timeval) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callutimes(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callutimensat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), flag)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getcwd(buf []byte) (err error) {
-	var _p0 *byte
-	if len(buf) > 0 {
-		_p0 = &buf[0]
-	}
-	_, e1 := callgetcwd(uintptr(unsafe.Pointer(_p0)), len(buf))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
-	r0, e1 := callaccept(s, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getdirent(fd int, buf []byte) (n int, err error) {
-	var _p0 *byte
-	if len(buf) > 0 {
-		_p0 = &buf[0]
-	}
-	r0, e1 := callgetdirent(fd, uintptr(unsafe.Pointer(_p0)), len(buf))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) {
-	r0, e1 := callwait4(int(pid), uintptr(unsafe.Pointer(status)), options, uintptr(unsafe.Pointer(rusage)))
-	wpid = Pid_t(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ioctl(fd int, req uint, arg uintptr) (err error) {
-	_, e1 := callioctl(fd, int(req), arg)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) {
-	r0, e1 := callfcntl(fd, cmd, uintptr(arg))
-	r = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) {
-	_, e1 := callfcntl(fd, cmd, uintptr(unsafe.Pointer(lk)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func fcntl(fd int, cmd int, arg int) (val int, err error) {
-	r0, e1 := callfcntl(uintptr(fd), cmd, uintptr(arg))
-	val = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Acct(path string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callacct(uintptr(unsafe.Pointer(_p0)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Chdir(path string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callchdir(uintptr(unsafe.Pointer(_p0)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Chroot(path string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callchroot(uintptr(unsafe.Pointer(_p0)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Close(fd int) (err error) {
-	_, e1 := callclose(fd)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Dup(oldfd int) (fd int, err error) {
-	r0, e1 := calldup(oldfd)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Exit(code int) {
-	callexit(code)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callfaccessat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchdir(fd int) (err error) {
-	_, e1 := callfchdir(fd)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchmod(fd int, mode uint32) (err error) {
-	_, e1 := callfchmod(fd, mode)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callfchmodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callfchownat(dirfd, uintptr(unsafe.Pointer(_p0)), uid, gid, flags)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fdatasync(fd int) (err error) {
-	_, e1 := callfdatasync(fd)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsync(fd int) (err error) {
-	_, e1 := callfsync(fd)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpgid(pid int) (pgid int, err error) {
-	r0, e1 := callgetpgid(pid)
-	pgid = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpgrp() (pid int) {
-	r0, _ := callgetpgrp()
-	pid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpid() (pid int) {
-	r0, _ := callgetpid()
-	pid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getppid() (ppid int) {
-	r0, _ := callgetppid()
-	ppid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpriority(which int, who int) (prio int, err error) {
-	r0, e1 := callgetpriority(which, who)
-	prio = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getrusage(who int, rusage *Rusage) (err error) {
-	_, e1 := callgetrusage(who, uintptr(unsafe.Pointer(rusage)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getsid(pid int) (sid int, err error) {
-	r0, e1 := callgetsid(pid)
-	sid = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Kill(pid int, sig Signal) (err error) {
-	_, e1 := callkill(pid, int(sig))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Klogctl(typ int, buf []byte) (n int, err error) {
-	var _p0 *byte
-	if len(buf) > 0 {
-		_p0 = &buf[0]
-	}
-	r0, e1 := callsyslog(typ, uintptr(unsafe.Pointer(_p0)), len(buf))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mkdir(dirfd int, path string, mode uint32) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callmkdir(dirfd, uintptr(unsafe.Pointer(_p0)), mode)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callmkdirat(dirfd, uintptr(unsafe.Pointer(_p0)), mode)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mkfifo(path string, mode uint32) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callmkfifo(uintptr(unsafe.Pointer(_p0)), mode)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mknod(path string, mode uint32, dev int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callmknod(uintptr(unsafe.Pointer(_p0)), mode, dev)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callmknodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, dev)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
-	_, e1 := callnanosleep(uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Open(path string, mode int, perm uint32) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	r0, e1 := callopen64(uintptr(unsafe.Pointer(_p0)), mode, perm)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	r0, e1 := callopenat(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mode)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func read(fd int, p []byte) (n int, err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	r0, e1 := callread(fd, uintptr(unsafe.Pointer(_p0)), len(p))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Readlink(path string, buf []byte) (n int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	if len(buf) > 0 {
-		_p1 = &buf[0]
-	}
-	r0, e1 := callreadlink(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), len(buf))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, e1 := callrenameat(olddirfd, uintptr(unsafe.Pointer(_p0)), newdirfd, uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setdomainname(p []byte) (err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	_, e1 := callsetdomainname(uintptr(unsafe.Pointer(_p0)), len(p))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Sethostname(p []byte) (err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	_, e1 := callsethostname(uintptr(unsafe.Pointer(_p0)), len(p))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setpgid(pid int, pgid int) (err error) {
-	_, e1 := callsetpgid(pid, pgid)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setsid() (pid int, err error) {
-	r0, e1 := callsetsid()
-	pid = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Settimeofday(tv *Timeval) (err error) {
-	_, e1 := callsettimeofday(uintptr(unsafe.Pointer(tv)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setuid(uid int) (err error) {
-	_, e1 := callsetuid(uid)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setgid(uid int) (err error) {
-	_, e1 := callsetgid(uid)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setpriority(which int, who int, prio int) (err error) {
-	_, e1 := callsetpriority(which, who, prio)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callstatx(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mask, uintptr(unsafe.Pointer(stat)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Sync() {
-	callsync()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Times(tms *Tms) (ticks uintptr, err error) {
-	r0, e1 := calltimes(uintptr(unsafe.Pointer(tms)))
-	ticks = uintptr(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Umask(mask int) (oldmask int) {
-	r0, _ := callumask(mask)
-	oldmask = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Uname(buf *Utsname) (err error) {
-	_, e1 := calluname(uintptr(unsafe.Pointer(buf)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Unlink(path string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callunlink(uintptr(unsafe.Pointer(_p0)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Unlinkat(dirfd int, path string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callunlinkat(dirfd, uintptr(unsafe.Pointer(_p0)), flags)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Ustat(dev int, ubuf *Ustat_t) (err error) {
-	_, e1 := callustat(dev, uintptr(unsafe.Pointer(ubuf)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func write(fd int, p []byte) (n int, err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(_p0)), len(p))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func readlen(fd int, p *byte, np int) (n int, err error) {
-	r0, e1 := callread(fd, uintptr(unsafe.Pointer(p)), np)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func writelen(fd int, p *byte, np int) (n int, err error) {
-	r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(p)), np)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Dup2(oldfd int, newfd int) (err error) {
-	_, e1 := calldup2(oldfd, newfd)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-	_, e1 := callposix_fadvise64(fd, offset, length, advice)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchown(fd int, uid int, gid int) (err error) {
-	_, e1 := callfchown(fd, uid, gid)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstat(fd int, stat *Stat_t) (err error) {
-	_, e1 := callfstat(fd, uintptr(unsafe.Pointer(stat)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callfstatat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), flags)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstatfs(fd int, buf *Statfs_t) (err error) {
-	_, e1 := callfstatfs(fd, uintptr(unsafe.Pointer(buf)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Ftruncate(fd int, length int64) (err error) {
-	_, e1 := callftruncate(fd, length)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getegid() (egid int) {
-	r0, _ := callgetegid()
-	egid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Geteuid() (euid int) {
-	r0, _ := callgeteuid()
-	euid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getgid() (gid int) {
-	r0, _ := callgetgid()
-	gid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getuid() (uid int) {
-	r0, _ := callgetuid()
-	uid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Lchown(path string, uid int, gid int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := calllchown(uintptr(unsafe.Pointer(_p0)), uid, gid)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Listen(s int, n int) (err error) {
-	_, e1 := calllisten(s, n)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Lstat(path string, stat *Stat_t) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := calllstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pause() (err error) {
-	_, e1 := callpause()
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pread(fd int, p []byte, offset int64) (n int, err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	r0, e1 := callpread64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	r0, e1 := callpwrite64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-	r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setregid(rgid int, egid int) (err error) {
-	_, e1 := callsetregid(rgid, egid)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setreuid(ruid int, euid int) (err error) {
-	_, e1 := callsetreuid(ruid, euid)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Shutdown(fd int, how int) (err error) {
-	_, e1 := callshutdown(fd, how)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
-	r0, e1 := callsplice(rfd, uintptr(unsafe.Pointer(roff)), wfd, uintptr(unsafe.Pointer(woff)), len, flags)
-	n = int64(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Stat(path string, stat *Stat_t) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Statfs(path string, buf *Statfs_t) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callstatfs(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Truncate(path string, length int64) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := calltruncate(uintptr(unsafe.Pointer(_p0)), length)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-	_, e1 := callbind(s, uintptr(addr), uintptr(addrlen))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-	_, e1 := callconnect(s, uintptr(addr), uintptr(addrlen))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getgroups(n int, list *_Gid_t) (nn int, err error) {
-	r0, e1 := callgetgroups(n, uintptr(unsafe.Pointer(list)))
-	nn = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func setgroups(n int, list *_Gid_t) (err error) {
-	_, e1 := callsetgroups(n, uintptr(unsafe.Pointer(list)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
-	_, e1 := callgetsockopt(s, level, name, uintptr(val), uintptr(unsafe.Pointer(vallen)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
-	_, e1 := callsetsockopt(s, level, name, uintptr(val), vallen)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func socket(domain int, typ int, proto int) (fd int, err error) {
-	r0, e1 := callsocket(domain, typ, proto)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
-	_, e1 := callsocketpair(domain, typ, proto, uintptr(unsafe.Pointer(fd)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-	_, e1 := callgetpeername(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-	_, e1 := callgetsockname(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
-	var _p0 *byte
-	if len(p) > 0 {
-		_p0 = &p[0]
-	}
-	r0, e1 := callrecvfrom(fd, uintptr(unsafe.Pointer(_p0)), len(p), flags, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
-	var _p0 *byte
-	if len(buf) > 0 {
-		_p0 = &buf[0]
-	}
-	_, e1 := callsendto(s, uintptr(unsafe.Pointer(_p0)), len(buf), flags, uintptr(to), uintptr(addrlen))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-	r0, e1 := callrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-	r0, e1 := callsendmsg(s, uintptr(unsafe.Pointer(msg)), flags)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func munmap(addr uintptr, length uintptr) (err error) {
-	_, e1 := callmunmap(addr, length)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Madvise(b []byte, advice int) (err error) {
-	var _p0 *byte
-	if len(b) > 0 {
-		_p0 = &b[0]
-	}
-	_, e1 := callmadvise(uintptr(unsafe.Pointer(_p0)), len(b), advice)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
-	var _p0 *byte
-	if len(b) > 0 {
-		_p0 = &b[0]
-	}
-	_, e1 := callmprotect(uintptr(unsafe.Pointer(_p0)), len(b), prot)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlock(b []byte) (err error) {
-	var _p0 *byte
-	if len(b) > 0 {
-		_p0 = &b[0]
-	}
-	_, e1 := callmlock(uintptr(unsafe.Pointer(_p0)), len(b))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
-	_, e1 := callmlockall(flags)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Msync(b []byte, flags int) (err error) {
-	var _p0 *byte
-	if len(b) > 0 {
-		_p0 = &b[0]
-	}
-	_, e1 := callmsync(uintptr(unsafe.Pointer(_p0)), len(b), flags)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
-	var _p0 *byte
-	if len(b) > 0 {
-		_p0 = &b[0]
-	}
-	_, e1 := callmunlock(uintptr(unsafe.Pointer(_p0)), len(b))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
-	_, e1 := callmunlockall()
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func pipe(p *[2]_C_int) (err error) {
-	_, e1 := callpipe(uintptr(unsafe.Pointer(p)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
-	r0, e1 := callpoll(uintptr(unsafe.Pointer(fds)), nfds, timeout)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func gettimeofday(tv *Timeval, tzp *Timezone) (err error) {
-	_, e1 := callgettimeofday(uintptr(unsafe.Pointer(tv)), uintptr(unsafe.Pointer(tzp)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Time(t *Time_t) (tt Time_t, err error) {
-	r0, e1 := calltime(uintptr(unsafe.Pointer(t)))
-	tt = Time_t(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Utime(path string, buf *Utimbuf) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, e1 := callutime(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getrlimit(resource int, rlim *Rlimit) (err error) {
-	_, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
-	_, e1 := callsetrlimit(resource, uintptr(unsafe.Pointer(rlim)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Seek(fd int, offset int64, whence int) (off int64, err error) {
-	r0, e1 := calllseek(fd, offset, whence)
-	off = int64(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {
-	r0, e1 := callmmap64(addr, length, prot, flags, fd, offset)
-	xaddr = uintptr(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
deleted file mode 100644
index a185ee8..0000000
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
+++ /dev/null
@@ -1,1162 +0,0 @@
-// mksyscall_aix_ppc64.pl -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build aix,ppc64
-// +build !gccgo
-
-package unix
-
-import (
-	"unsafe"
-)
-
-//go:cgo_import_dynamic libc_utimes utimes "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_utimensat utimensat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getcwd getcwd "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_accept accept "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getdirent getdirent "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_wait4 wait4 "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_ioctl ioctl "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fcntl fcntl "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_acct acct "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_chdir chdir "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_chroot chroot "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_close close "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_dup dup "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_exit exit "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_faccessat faccessat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fchdir fchdir "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fchmod fchmod "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fchownat fchownat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fsync fsync "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getpgid getpgid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getpid getpid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getppid getppid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getpriority getpriority "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getrusage getrusage "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getsid getsid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_kill kill "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_syslog syslog "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_mkdir mkdir "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_mknod mknod "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_mknodat mknodat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_open64 open64 "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_openat openat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_read read "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_readlink readlink "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_renameat renameat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setdomainname setdomainname "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_sethostname sethostname "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setpgid setpgid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setsid setsid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_settimeofday settimeofday "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setuid setuid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setgid setgid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setpriority setpriority "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_statx statx "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_sync sync "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_times times "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_umask umask "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_uname uname "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_unlink unlink "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_ustat ustat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_write write "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_dup2 dup2 "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_posix_fadvise64 posix_fadvise64 "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fchown fchown "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fstat fstat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fstatat fstatat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fstatfs fstatfs "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getegid getegid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_geteuid geteuid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getgid getgid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getuid getuid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_lchown lchown "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_listen listen "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_lstat lstat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_shutdown shutdown "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_splice splice "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_stat stat "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_statfs statfs "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_truncate truncate "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_bind bind "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_connect connect "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getgroups getgroups "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setgroups setgroups "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getsockopt getsockopt "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setsockopt setsockopt "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_socket socket "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_socketpair socketpair "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getpeername getpeername "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_recvmsg recvmsg "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_sendmsg sendmsg "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_mlock mlock "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_mlockall mlockall "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_msync msync "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_munlock munlock "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_munlockall munlockall "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_pipe pipe "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_poll poll "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_time time "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o"
-
-//go:linkname libc_utimes libc_utimes
-//go:linkname libc_utimensat libc_utimensat
-//go:linkname libc_getcwd libc_getcwd
-//go:linkname libc_accept libc_accept
-//go:linkname libc_getdirent libc_getdirent
-//go:linkname libc_wait4 libc_wait4
-//go:linkname libc_ioctl libc_ioctl
-//go:linkname libc_fcntl libc_fcntl
-//go:linkname libc_acct libc_acct
-//go:linkname libc_chdir libc_chdir
-//go:linkname libc_chroot libc_chroot
-//go:linkname libc_close libc_close
-//go:linkname libc_dup libc_dup
-//go:linkname libc_exit libc_exit
-//go:linkname libc_faccessat libc_faccessat
-//go:linkname libc_fchdir libc_fchdir
-//go:linkname libc_fchmod libc_fchmod
-//go:linkname libc_fchmodat libc_fchmodat
-//go:linkname libc_fchownat libc_fchownat
-//go:linkname libc_fdatasync libc_fdatasync
-//go:linkname libc_fsync libc_fsync
-//go:linkname libc_getpgid libc_getpgid
-//go:linkname libc_getpgrp libc_getpgrp
-//go:linkname libc_getpid libc_getpid
-//go:linkname libc_getppid libc_getppid
-//go:linkname libc_getpriority libc_getpriority
-//go:linkname libc_getrusage libc_getrusage
-//go:linkname libc_getsid libc_getsid
-//go:linkname libc_kill libc_kill
-//go:linkname libc_syslog libc_syslog
-//go:linkname libc_mkdir libc_mkdir
-//go:linkname libc_mkdirat libc_mkdirat
-//go:linkname libc_mkfifo libc_mkfifo
-//go:linkname libc_mknod libc_mknod
-//go:linkname libc_mknodat libc_mknodat
-//go:linkname libc_nanosleep libc_nanosleep
-//go:linkname libc_open64 libc_open64
-//go:linkname libc_openat libc_openat
-//go:linkname libc_read libc_read
-//go:linkname libc_readlink libc_readlink
-//go:linkname libc_renameat libc_renameat
-//go:linkname libc_setdomainname libc_setdomainname
-//go:linkname libc_sethostname libc_sethostname
-//go:linkname libc_setpgid libc_setpgid
-//go:linkname libc_setsid libc_setsid
-//go:linkname libc_settimeofday libc_settimeofday
-//go:linkname libc_setuid libc_setuid
-//go:linkname libc_setgid libc_setgid
-//go:linkname libc_setpriority libc_setpriority
-//go:linkname libc_statx libc_statx
-//go:linkname libc_sync libc_sync
-//go:linkname libc_times libc_times
-//go:linkname libc_umask libc_umask
-//go:linkname libc_uname libc_uname
-//go:linkname libc_unlink libc_unlink
-//go:linkname libc_unlinkat libc_unlinkat
-//go:linkname libc_ustat libc_ustat
-//go:linkname libc_write libc_write
-//go:linkname libc_dup2 libc_dup2
-//go:linkname libc_posix_fadvise64 libc_posix_fadvise64
-//go:linkname libc_fchown libc_fchown
-//go:linkname libc_fstat libc_fstat
-//go:linkname libc_fstatat libc_fstatat
-//go:linkname libc_fstatfs libc_fstatfs
-//go:linkname libc_ftruncate libc_ftruncate
-//go:linkname libc_getegid libc_getegid
-//go:linkname libc_geteuid libc_geteuid
-//go:linkname libc_getgid libc_getgid
-//go:linkname libc_getuid libc_getuid
-//go:linkname libc_lchown libc_lchown
-//go:linkname libc_listen libc_listen
-//go:linkname libc_lstat libc_lstat
-//go:linkname libc_pause libc_pause
-//go:linkname libc_pread64 libc_pread64
-//go:linkname libc_pwrite64 libc_pwrite64
-//go:linkname libc_pselect libc_pselect
-//go:linkname libc_setregid libc_setregid
-//go:linkname libc_setreuid libc_setreuid
-//go:linkname libc_shutdown libc_shutdown
-//go:linkname libc_splice libc_splice
-//go:linkname libc_stat libc_stat
-//go:linkname libc_statfs libc_statfs
-//go:linkname libc_truncate libc_truncate
-//go:linkname libc_bind libc_bind
-//go:linkname libc_connect libc_connect
-//go:linkname libc_getgroups libc_getgroups
-//go:linkname libc_setgroups libc_setgroups
-//go:linkname libc_getsockopt libc_getsockopt
-//go:linkname libc_setsockopt libc_setsockopt
-//go:linkname libc_socket libc_socket
-//go:linkname libc_socketpair libc_socketpair
-//go:linkname libc_getpeername libc_getpeername
-//go:linkname libc_getsockname libc_getsockname
-//go:linkname libc_recvfrom libc_recvfrom
-//go:linkname libc_sendto libc_sendto
-//go:linkname libc_recvmsg libc_recvmsg
-//go:linkname libc_sendmsg libc_sendmsg
-//go:linkname libc_munmap libc_munmap
-//go:linkname libc_madvise libc_madvise
-//go:linkname libc_mprotect libc_mprotect
-//go:linkname libc_mlock libc_mlock
-//go:linkname libc_mlockall libc_mlockall
-//go:linkname libc_msync libc_msync
-//go:linkname libc_munlock libc_munlock
-//go:linkname libc_munlockall libc_munlockall
-//go:linkname libc_pipe libc_pipe
-//go:linkname libc_poll libc_poll
-//go:linkname libc_gettimeofday libc_gettimeofday
-//go:linkname libc_time libc_time
-//go:linkname libc_utime libc_utime
-//go:linkname libc_getrlimit libc_getrlimit
-//go:linkname libc_setrlimit libc_setrlimit
-//go:linkname libc_lseek libc_lseek
-//go:linkname libc_mmap64 libc_mmap64
-
-type syscallFunc uintptr
-
-var (
-	libc_utimes,
-	libc_utimensat,
-	libc_getcwd,
-	libc_accept,
-	libc_getdirent,
-	libc_wait4,
-	libc_ioctl,
-	libc_fcntl,
-	libc_acct,
-	libc_chdir,
-	libc_chroot,
-	libc_close,
-	libc_dup,
-	libc_exit,
-	libc_faccessat,
-	libc_fchdir,
-	libc_fchmod,
-	libc_fchmodat,
-	libc_fchownat,
-	libc_fdatasync,
-	libc_fsync,
-	libc_getpgid,
-	libc_getpgrp,
-	libc_getpid,
-	libc_getppid,
-	libc_getpriority,
-	libc_getrusage,
-	libc_getsid,
-	libc_kill,
-	libc_syslog,
-	libc_mkdir,
-	libc_mkdirat,
-	libc_mkfifo,
-	libc_mknod,
-	libc_mknodat,
-	libc_nanosleep,
-	libc_open64,
-	libc_openat,
-	libc_read,
-	libc_readlink,
-	libc_renameat,
-	libc_setdomainname,
-	libc_sethostname,
-	libc_setpgid,
-	libc_setsid,
-	libc_settimeofday,
-	libc_setuid,
-	libc_setgid,
-	libc_setpriority,
-	libc_statx,
-	libc_sync,
-	libc_times,
-	libc_umask,
-	libc_uname,
-	libc_unlink,
-	libc_unlinkat,
-	libc_ustat,
-	libc_write,
-	libc_dup2,
-	libc_posix_fadvise64,
-	libc_fchown,
-	libc_fstat,
-	libc_fstatat,
-	libc_fstatfs,
-	libc_ftruncate,
-	libc_getegid,
-	libc_geteuid,
-	libc_getgid,
-	libc_getuid,
-	libc_lchown,
-	libc_listen,
-	libc_lstat,
-	libc_pause,
-	libc_pread64,
-	libc_pwrite64,
-	libc_pselect,
-	libc_setregid,
-	libc_setreuid,
-	libc_shutdown,
-	libc_splice,
-	libc_stat,
-	libc_statfs,
-	libc_truncate,
-	libc_bind,
-	libc_connect,
-	libc_getgroups,
-	libc_setgroups,
-	libc_getsockopt,
-	libc_setsockopt,
-	libc_socket,
-	libc_socketpair,
-	libc_getpeername,
-	libc_getsockname,
-	libc_recvfrom,
-	libc_sendto,
-	libc_recvmsg,
-	libc_sendmsg,
-	libc_munmap,
-	libc_madvise,
-	libc_mprotect,
-	libc_mlock,
-	libc_mlockall,
-	libc_msync,
-	libc_munlock,
-	libc_munlockall,
-	libc_pipe,
-	libc_poll,
-	libc_gettimeofday,
-	libc_time,
-	libc_utime,
-	libc_getrlimit,
-	libc_setrlimit,
-	libc_lseek,
-	libc_mmap64 syscallFunc
-)
-
-// Implemented in runtime/syscall_aix.go.
-func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimes)), 2, _p0, times, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimensat)), 4, uintptr(dirfd), _p0, times, uintptr(flag), 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getcwd)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_accept)), 3, uintptr(s), rsa, addrlen, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getdirent)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_wait4)), 4, uintptr(pid), status, uintptr(options), rusage, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ioctl)), 3, uintptr(fd), uintptr(req), arg, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fcntl)), 3, fd, uintptr(cmd), arg, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_acct)), 1, _p0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chdir)), 1, _p0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chroot)), 1, _p0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callclose(fd int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_close)), 1, uintptr(fd), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calldup(oldfd int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup)), 1, uintptr(oldfd), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callexit(code int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_exit)), 1, uintptr(code), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_faccessat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfchdir(fd int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchownat)), 5, uintptr(dirfd), _p0, uintptr(uid), uintptr(gid), uintptr(flags), 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfdatasync(fd int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfsync(fd int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync)), 1, uintptr(fd), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetpgid(pid int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetpgrp() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpgrp)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetpid() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpid)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetppid() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getppid)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrusage)), 2, uintptr(who), rusage, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetsid(pid int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsid)), 1, uintptr(pid), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callkill(pid int, sig int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_kill)), 2, uintptr(pid), uintptr(sig), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_syslog)), 3, uintptr(typ), _p0, uintptr(_lenp0), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdir)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdirat)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkfifo)), 2, _p0, uintptr(mode), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknod)), 3, _p0, uintptr(mode), uintptr(dev), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(dev), 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nanosleep)), 2, time, leftover, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_open64)), 3, _p0, uintptr(mode), uintptr(perm), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_openat)), 4, uintptr(dirfd), _p0, uintptr(flags), uintptr(mode), 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_read)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_readlink)), 3, _p0, _p1, uintptr(_lenp1), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_renameat)), 4, uintptr(olddirfd), _p0, uintptr(newdirfd), _p1, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setdomainname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sethostname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetsid() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setsid)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_settimeofday)), 1, tv, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetuid(uid int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setuid)), 1, uintptr(uid), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetgid(uid int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setgid)), 1, uintptr(uid), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statx)), 5, uintptr(dirfd), _p0, uintptr(flags), uintptr(mask), stat, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsync() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sync)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calltimes(tms uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_times)), 1, tms, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callumask(mask int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_umask)), 1, uintptr(mask), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calluname(buf uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_uname)), 1, buf, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlink)), 1, _p0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlinkat)), 3, uintptr(dirfd), _p0, uintptr(flags), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ustat)), 2, uintptr(dev), ubuf, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_write)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_posix_fadvise64)), 4, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstat)), 2, uintptr(fd), stat, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatat)), 4, uintptr(dirfd), _p0, stat, uintptr(flags), 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatfs)), 2, uintptr(fd), buf, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ftruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetegid() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getegid)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgeteuid() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_geteuid)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetgid() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgid)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetuid() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getuid)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lchown)), 3, _p0, uintptr(uid), uintptr(gid), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calllisten(s int, n int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_listen)), 2, uintptr(s), uintptr(n), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lstat)), 2, _p0, stat, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpause() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pause)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pread64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pwrite64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_shutdown)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_splice)), 6, uintptr(rfd), roff, uintptr(wfd), woff, uintptr(len), uintptr(flags))
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, stat, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statfs)), 2, _p0, buf, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_truncate)), 2, _p0, uintptr(length), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_bind)), 3, uintptr(s), addr, addrlen, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_connect)), 3, uintptr(s), addr, addrlen, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgroups)), 2, uintptr(n), list, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setgroups)), 2, uintptr(n), list, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), fd, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpeername)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsockname)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvfrom)), 6, uintptr(fd), _p0, uintptr(_lenp0), uintptr(flags), from, fromlen)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendto)), 6, uintptr(s), _p0, uintptr(_lenp0), uintptr(flags), to, addrlen)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munmap)), 2, addr, length, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_madvise)), 3, _p0, uintptr(_lenp0), uintptr(advice), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mprotect)), 3, _p0, uintptr(_lenp0), uintptr(prot), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmlockall(flags int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_msync)), 3, _p0, uintptr(_lenp0), uintptr(flags), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmunlockall() (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlockall)), 0, 0, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpipe(p uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_pipe)), 1, p, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_poll)), 3, fds, uintptr(nfds), uintptr(timeout), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_gettimeofday)), 2, tv, tzp, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calltime(t uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_time)), 1, t, 0, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utime)), 2, _p0, buf, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) {
-	r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mmap64)), 6, addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))
-	return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
deleted file mode 100644
index aef7c0e..0000000
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
+++ /dev/null
@@ -1,1042 +0,0 @@
-// mksyscall_aix_ppc64.pl -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build aix,ppc64
-// +build gccgo
-
-package unix
-
-/*
-#include <stdint.h>
-int utimes(uintptr_t, uintptr_t);
-int utimensat(int, uintptr_t, uintptr_t, int);
-int getcwd(uintptr_t, size_t);
-int accept(int, uintptr_t, uintptr_t);
-int getdirent(int, uintptr_t, size_t);
-int wait4(int, uintptr_t, int, uintptr_t);
-int ioctl(int, int, uintptr_t);
-int fcntl(uintptr_t, int, uintptr_t);
-int acct(uintptr_t);
-int chdir(uintptr_t);
-int chroot(uintptr_t);
-int close(int);
-int dup(int);
-void exit(int);
-int faccessat(int, uintptr_t, unsigned int, int);
-int fchdir(int);
-int fchmod(int, unsigned int);
-int fchmodat(int, uintptr_t, unsigned int, int);
-int fchownat(int, uintptr_t, int, int, int);
-int fdatasync(int);
-int fsync(int);
-int getpgid(int);
-int getpgrp();
-int getpid();
-int getppid();
-int getpriority(int, int);
-int getrusage(int, uintptr_t);
-int getsid(int);
-int kill(int, int);
-int syslog(int, uintptr_t, size_t);
-int mkdir(int, uintptr_t, unsigned int);
-int mkdirat(int, uintptr_t, unsigned int);
-int mkfifo(uintptr_t, unsigned int);
-int mknod(uintptr_t, unsigned int, int);
-int mknodat(int, uintptr_t, unsigned int, int);
-int nanosleep(uintptr_t, uintptr_t);
-int open64(uintptr_t, int, unsigned int);
-int openat(int, uintptr_t, int, unsigned int);
-int read(int, uintptr_t, size_t);
-int readlink(uintptr_t, uintptr_t, size_t);
-int renameat(int, uintptr_t, int, uintptr_t);
-int setdomainname(uintptr_t, size_t);
-int sethostname(uintptr_t, size_t);
-int setpgid(int, int);
-int setsid();
-int settimeofday(uintptr_t);
-int setuid(int);
-int setgid(int);
-int setpriority(int, int, int);
-int statx(int, uintptr_t, int, int, uintptr_t);
-int sync();
-uintptr_t times(uintptr_t);
-int umask(int);
-int uname(uintptr_t);
-int unlink(uintptr_t);
-int unlinkat(int, uintptr_t, int);
-int ustat(int, uintptr_t);
-int write(int, uintptr_t, size_t);
-int dup2(int, int);
-int posix_fadvise64(int, long long, long long, int);
-int fchown(int, int, int);
-int fstat(int, uintptr_t);
-int fstatat(int, uintptr_t, uintptr_t, int);
-int fstatfs(int, uintptr_t);
-int ftruncate(int, long long);
-int getegid();
-int geteuid();
-int getgid();
-int getuid();
-int lchown(uintptr_t, int, int);
-int listen(int, int);
-int lstat(uintptr_t, uintptr_t);
-int pause();
-int pread64(int, uintptr_t, size_t, long long);
-int pwrite64(int, uintptr_t, size_t, long long);
-int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
-int setregid(int, int);
-int setreuid(int, int);
-int shutdown(int, int);
-long long splice(int, uintptr_t, int, uintptr_t, int, int);
-int stat(uintptr_t, uintptr_t);
-int statfs(uintptr_t, uintptr_t);
-int truncate(uintptr_t, long long);
-int bind(int, uintptr_t, uintptr_t);
-int connect(int, uintptr_t, uintptr_t);
-int getgroups(int, uintptr_t);
-int setgroups(int, uintptr_t);
-int getsockopt(int, int, int, uintptr_t, uintptr_t);
-int setsockopt(int, int, int, uintptr_t, uintptr_t);
-int socket(int, int, int);
-int socketpair(int, int, int, uintptr_t);
-int getpeername(int, uintptr_t, uintptr_t);
-int getsockname(int, uintptr_t, uintptr_t);
-int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
-int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t);
-int recvmsg(int, uintptr_t, int);
-int sendmsg(int, uintptr_t, int);
-int munmap(uintptr_t, uintptr_t);
-int madvise(uintptr_t, size_t, int);
-int mprotect(uintptr_t, size_t, int);
-int mlock(uintptr_t, size_t);
-int mlockall(int);
-int msync(uintptr_t, size_t, int);
-int munlock(uintptr_t, size_t);
-int munlockall();
-int pipe(uintptr_t);
-int poll(uintptr_t, int, int);
-int gettimeofday(uintptr_t, uintptr_t);
-int time(uintptr_t);
-int utime(uintptr_t, uintptr_t);
-int getrlimit(int, uintptr_t);
-int setrlimit(int, uintptr_t);
-long long lseek(int, long long, int);
-uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long);
-
-*/
-import "C"
-import (
-	"syscall"
-)
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.utimes(C.uintptr_t(_p0), C.uintptr_t(times)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(times), C.int(flag)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getcwd(C.uintptr_t(_p0), C.size_t(_lenp0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.accept(C.int(s), C.uintptr_t(rsa), C.uintptr_t(addrlen)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getdirent(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.wait4(C.int(pid), C.uintptr_t(status), C.int(options), C.uintptr_t(rusage)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.acct(C.uintptr_t(_p0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.chdir(C.uintptr_t(_p0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.chroot(C.uintptr_t(_p0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callclose(fd int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.close(C.int(fd)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calldup(oldfd int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.dup(C.int(oldfd)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callexit(code int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.exit(C.int(code)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfchdir(fd int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fchdir(C.int(fd)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fchmod(C.int(fd), C.uint(mode)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfdatasync(fd int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fdatasync(C.int(fd)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfsync(fd int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fsync(C.int(fd)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetpgid(pid int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getpgid(C.int(pid)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetpgrp() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getpgrp())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetpid() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getpid())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetppid() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getppid())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getpriority(C.int(which), C.int(who)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getrusage(C.int(who), C.uintptr_t(rusage)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetsid(pid int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getsid(C.int(pid)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callkill(pid int, sig int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.kill(C.int(pid), C.int(sig)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.syslog(C.int(typ), C.uintptr_t(_p0), C.size_t(_lenp0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.mkfifo(C.uintptr_t(_p0), C.uint(mode)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.nanosleep(C.uintptr_t(time), C.uintptr_t(leftover)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.read(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.readlink(C.uintptr_t(_p0), C.uintptr_t(_p1), C.size_t(_lenp1)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setdomainname(C.uintptr_t(_p0), C.size_t(_lenp0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.sethostname(C.uintptr_t(_p0), C.size_t(_lenp0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setpgid(C.int(pid), C.int(pgid)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetsid() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setsid())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.settimeofday(C.uintptr_t(tv)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetuid(uid int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setuid(C.int(uid)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetgid(uid int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setgid(C.int(uid)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setpriority(C.int(which), C.int(who), C.int(prio)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(stat)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsync() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.sync())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calltimes(tms uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.times(C.uintptr_t(tms)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callumask(mask int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.umask(C.int(mask)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calluname(buf uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.uname(C.uintptr_t(buf)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.unlink(C.uintptr_t(_p0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.ustat(C.int(dev), C.uintptr_t(ubuf)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.write(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.dup2(C.int(oldfd), C.int(newfd)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fchown(C.int(fd), C.int(uid), C.int(gid)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fstat(C.int(fd), C.uintptr_t(stat)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(stat), C.int(flags)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.fstatfs(C.int(fd), C.uintptr_t(buf)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.ftruncate(C.int(fd), C.longlong(length)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetegid() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getegid())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgeteuid() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.geteuid())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetgid() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getgid())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetuid() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getuid())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calllisten(s int, n int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.listen(C.int(s), C.int(n)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.lstat(C.uintptr_t(_p0), C.uintptr_t(stat)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpause() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.pause())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.pread64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.pwrite64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setregid(C.int(rgid), C.int(egid)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setreuid(C.int(ruid), C.int(euid)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.shutdown(C.int(fd), C.int(how)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.splice(C.int(rfd), C.uintptr_t(roff), C.int(wfd), C.uintptr_t(woff), C.int(len), C.int(flags)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(stat)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.statfs(C.uintptr_t(_p0), C.uintptr_t(buf)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.truncate(C.uintptr_t(_p0), C.longlong(length)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.bind(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.connect(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getgroups(C.int(n), C.uintptr_t(list)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setgroups(C.int(n), C.uintptr_t(list)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.socket(C.int(domain), C.int(typ), C.int(proto)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(fd)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getpeername(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getsockname(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.recvfrom(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(from), C.uintptr_t(fromlen)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.sendto(C.int(s), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(to), C.uintptr_t(addrlen)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.recvmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.sendmsg(C.int(s), C.uintptr_t(msg), C.int(flags)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.munmap(C.uintptr_t(addr), C.uintptr_t(length)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.madvise(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(advice)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.mprotect(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(prot)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.mlock(C.uintptr_t(_p0), C.size_t(_lenp0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmlockall(flags int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.mlockall(C.int(flags)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.msync(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.munlock(C.uintptr_t(_p0), C.size_t(_lenp0)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmunlockall() (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.munlockall())
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpipe(p uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.pipe(C.uintptr_t(p)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.poll(C.uintptr_t(fds), C.int(nfds), C.int(timeout)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.gettimeofday(C.uintptr_t(tv), C.uintptr_t(tzp)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calltime(t uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.time(C.uintptr_t(t)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.utime(C.uintptr_t(_p0), C.uintptr_t(buf)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.setrlimit(C.int(resource), C.uintptr_t(rlim)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence)))
-	e1 = syscall.GetErrno()
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) {
-	r1 = uintptr(C.mmap64(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset)))
-	e1 = syscall.GetErrno()
-	return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
index 9ce06df..ac02d4d 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
@@ -420,22 +420,6 @@ func getxattr(path string, attr string, dest *byte, size int, position uint32, o
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -456,21 +440,6 @@ func setxattr(path string, attr string, data *byte, size int, position uint32, o
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func removexattr(path string, attr string, options int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -491,21 +460,6 @@ func removexattr(path string, attr string, options int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fremovexattr(fd int, attr string, options int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -522,17 +476,6 @@ func listxattr(path string, dest *byte, size int, options int) (sz int, err erro
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-	r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func kill(pid int, signum int, posix int) (err error) {
 	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
 	if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
index de99270..1dd3cfa 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
@@ -420,22 +420,6 @@ func getxattr(path string, attr string, dest *byte, size int, position uint32, o
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -456,21 +440,6 @@ func setxattr(path string, attr string, data *byte, size int, position uint32, o
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func removexattr(path string, attr string, options int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -491,21 +460,6 @@ func removexattr(path string, attr string, options int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fremovexattr(fd int, attr string, options int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -522,17 +476,6 @@ func listxattr(path string, dest *byte, size int, options int) (sz int, err erro
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-	r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func kill(pid int, signum int, posix int) (err error) {
 	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
 	if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
index 81c4f09..cab46e7 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
@@ -420,22 +420,6 @@ func getxattr(path string, attr string, dest *byte, size int, position uint32, o
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -456,21 +440,6 @@ func setxattr(path string, attr string, data *byte, size int, position uint32, o
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func removexattr(path string, attr string, options int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -491,21 +460,6 @@ func removexattr(path string, attr string, options int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fremovexattr(fd int, attr string, options int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -522,17 +476,6 @@ func listxattr(path string, dest *byte, size int, options int) (sz int, err erro
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-	r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func kill(pid int, signum int, posix int) (err error) {
 	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
 	if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
index 338c32d..13478dd 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
@@ -420,22 +420,6 @@ func getxattr(path string, attr string, dest *byte, size int, position uint32, o
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -456,21 +440,6 @@ func setxattr(path string, attr string, data *byte, size int, position uint32, o
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func removexattr(path string, attr string, options int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -491,21 +460,6 @@ func removexattr(path string, attr string, options int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fremovexattr(fd int, attr string, options int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func listxattr(path string, dest *byte, size int, options int) (sz int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -522,17 +476,6 @@ func listxattr(path string, dest *byte, size int, options int) (sz int, err erro
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {
-	r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func kill(pid int, signum int, posix int) (err error) {
 	_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))
 	if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
index 9bbbf96..a86434a 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
@@ -377,8 +377,10 @@ func Munlockall() (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe2(p *[2]_C_int, flags int) (err error) {
-	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
+func pipe() (r int, w int, err error) {
+	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
+	r = int(r0)
+	w = int(r1)
 	if e1 != 0 {
 		err = errnoErr(e1)
 	}
@@ -912,7 +914,7 @@ func Fpathconf(fd int, name int) (val int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstat(fd int, stat *stat_freebsd11_t) (err error) {
+func Fstat(fd int, stat *Stat_t) (err error) {
 	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -922,17 +924,7 @@ func fstat(fd int, stat *stat_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstat_freebsd12(fd int, stat *Stat_t) (err error) {
-	_, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) {
+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -947,22 +939,7 @@ func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error)
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) {
+func Fstatfs(fd int, stat *Statfs_t) (err error) {
 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -972,16 +949,6 @@ func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) {
-	_, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -1002,14 +969,14 @@ func Ftruncate(fd int, length int64) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
+func Getdents(fd int, buf []byte) (n int, err error) {
 	var _p0 unsafe.Pointer
 	if len(buf) > 0 {
 		_p0 = unsafe.Pointer(&buf[0])
 	} else {
 		_p0 = unsafe.Pointer(&_zero)
 	}
-	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
+	r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
 	n = int(r0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -1019,14 +986,14 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) {
+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 	var _p0 unsafe.Pointer
 	if len(buf) > 0 {
 		_p0 = unsafe.Pointer(&buf[0])
 	} else {
 		_p0 = unsafe.Pointer(&_zero)
 	}
-	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
+	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
 	n = int(r0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -1257,7 +1224,7 @@ func Listen(s int, backlog int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func lstat(path string, stat *stat_freebsd11_t) (err error) {
+func Lstat(path string, stat *Stat_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1317,7 +1284,7 @@ func Mkfifo(path string, mode uint32) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func mknod(path string, mode uint32, dev int) (err error) {
+func Mknod(path string, mode uint32, dev int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1332,36 +1299,6 @@ func mknod(path string, mode uint32, dev int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func mknodat(fd int, path string, mode uint32, dev int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
 	if e1 != 0 {
@@ -1752,7 +1689,7 @@ func Setuid(uid int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func stat(path string, stat *stat_freebsd11_t) (err error) {
+func Stat(path string, stat *Stat_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1767,7 +1704,7 @@ func stat(path string, stat *stat_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func statfs(path string, stat *statfs_freebsd11_t) (err error) {
+func Statfs(path string, stat *Statfs_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1782,21 +1719,6 @@ func statfs(path string, stat *statfs_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func statfs_freebsd12(path string, stat *Statfs_t) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Symlink(path string, link string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
index ee7090f..040e2f7 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
@@ -377,8 +377,10 @@ func Munlockall() (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe2(p *[2]_C_int, flags int) (err error) {
-	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
+func pipe() (r int, w int, err error) {
+	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
+	r = int(r0)
+	w = int(r1)
 	if e1 != 0 {
 		err = errnoErr(e1)
 	}
@@ -912,7 +914,7 @@ func Fpathconf(fd int, name int) (val int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstat(fd int, stat *stat_freebsd11_t) (err error) {
+func Fstat(fd int, stat *Stat_t) (err error) {
 	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -922,17 +924,7 @@ func fstat(fd int, stat *stat_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstat_freebsd12(fd int, stat *Stat_t) (err error) {
-	_, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) {
+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -947,22 +939,7 @@ func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error)
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) {
+func Fstatfs(fd int, stat *Statfs_t) (err error) {
 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -972,16 +949,6 @@ func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) {
-	_, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -1002,14 +969,14 @@ func Ftruncate(fd int, length int64) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
+func Getdents(fd int, buf []byte) (n int, err error) {
 	var _p0 unsafe.Pointer
 	if len(buf) > 0 {
 		_p0 = unsafe.Pointer(&buf[0])
 	} else {
 		_p0 = unsafe.Pointer(&_zero)
 	}
-	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
+	r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
 	n = int(r0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -1019,14 +986,14 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) {
+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 	var _p0 unsafe.Pointer
 	if len(buf) > 0 {
 		_p0 = unsafe.Pointer(&buf[0])
 	} else {
 		_p0 = unsafe.Pointer(&_zero)
 	}
-	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
+	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
 	n = int(r0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -1257,7 +1224,7 @@ func Listen(s int, backlog int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func lstat(path string, stat *stat_freebsd11_t) (err error) {
+func Lstat(path string, stat *Stat_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1317,7 +1284,7 @@ func Mkfifo(path string, mode uint32) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func mknod(path string, mode uint32, dev int) (err error) {
+func Mknod(path string, mode uint32, dev int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1332,36 +1299,6 @@ func mknod(path string, mode uint32, dev int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func mknodat(fd int, path string, mode uint32, dev int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
 	if e1 != 0 {
@@ -1752,7 +1689,7 @@ func Setuid(uid int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func stat(path string, stat *stat_freebsd11_t) (err error) {
+func Stat(path string, stat *Stat_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1767,7 +1704,7 @@ func stat(path string, stat *stat_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func statfs(path string, stat *statfs_freebsd11_t) (err error) {
+func Statfs(path string, stat *Statfs_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1782,21 +1719,6 @@ func statfs(path string, stat *statfs_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func statfs_freebsd12(path string, stat *Statfs_t) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Symlink(path string, link string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
index 9aeff51..cddc5e8 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
@@ -377,8 +377,10 @@ func Munlockall() (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe2(p *[2]_C_int, flags int) (err error) {
-	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
+func pipe() (r int, w int, err error) {
+	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
+	r = int(r0)
+	w = int(r1)
 	if e1 != 0 {
 		err = errnoErr(e1)
 	}
@@ -912,7 +914,7 @@ func Fpathconf(fd int, name int) (val int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstat(fd int, stat *stat_freebsd11_t) (err error) {
+func Fstat(fd int, stat *Stat_t) (err error) {
 	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -922,17 +924,7 @@ func fstat(fd int, stat *stat_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstat_freebsd12(fd int, stat *Stat_t) (err error) {
-	_, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) {
+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -947,22 +939,7 @@ func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error)
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) {
+func Fstatfs(fd int, stat *Statfs_t) (err error) {
 	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -972,16 +949,6 @@ func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) {
-	_, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -1002,14 +969,14 @@ func Ftruncate(fd int, length int64) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
+func Getdents(fd int, buf []byte) (n int, err error) {
 	var _p0 unsafe.Pointer
 	if len(buf) > 0 {
 		_p0 = unsafe.Pointer(&buf[0])
 	} else {
 		_p0 = unsafe.Pointer(&_zero)
 	}
-	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
+	r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
 	n = int(r0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -1019,14 +986,14 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) {
+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 	var _p0 unsafe.Pointer
 	if len(buf) > 0 {
 		_p0 = unsafe.Pointer(&buf[0])
 	} else {
 		_p0 = unsafe.Pointer(&_zero)
 	}
-	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
+	r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)
 	n = int(r0)
 	if e1 != 0 {
 		err = errnoErr(e1)
@@ -1257,7 +1224,7 @@ func Listen(s int, backlog int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func lstat(path string, stat *stat_freebsd11_t) (err error) {
+func Lstat(path string, stat *Stat_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1317,7 +1284,7 @@ func Mkfifo(path string, mode uint32) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func mknod(path string, mode uint32, dev int) (err error) {
+func Mknod(path string, mode uint32, dev int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1332,36 +1299,6 @@ func mknod(path string, mode uint32, dev int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func mknodat(fd int, path string, mode uint32, dev int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
 	if e1 != 0 {
@@ -1752,7 +1689,7 @@ func Setuid(uid int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func stat(path string, stat *stat_freebsd11_t) (err error) {
+func Stat(path string, stat *Stat_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1767,7 +1704,7 @@ func stat(path string, stat *stat_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func statfs(path string, stat *statfs_freebsd11_t) (err error) {
+func Statfs(path string, stat *Statfs_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
 	if err != nil {
@@ -1782,21 +1719,6 @@ func statfs(path string, stat *statfs_freebsd11_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func statfs_freebsd12(path string, stat *Statfs_t) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Symlink(path string, link string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
index cd94680..237e960 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
index 96e9df7..9b40f58 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
@@ -2347,18 +2175,3 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
 	}
 	return
 }
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(cmdline)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
index e8d82d1..d93cc2f 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
index 41f2d0c..5f7d021 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
index 7e65fe0..e761705 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
@@ -2309,18 +2137,6 @@ func pipe2(p *[2]_C_int, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe() (p1 int, p2 int, err error) {
-	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
-	p1 = int(r0)
-	p2 = int(r1)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) {
 	r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset))
 	xaddr = uintptr(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
index fd06fb8..382e072 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
index 9e8ec28..da33eb1 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
index b4d2ccb..f6e4518 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
@@ -2309,18 +2137,6 @@ func pipe2(p *[2]_C_int, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func pipe() (p1 int, p2 int, err error) {
-	r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
-	p1 = int(r0)
-	p2 = int(r1)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) {
 	r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset))
 	xaddr = uintptr(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
index bca3d25..0ae2aa8 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
@@ -1646,13 +1474,8 @@ func Munlockall() (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func faccessat(dirfd int, path string, mode uint32) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+func Dup2(oldfd int, newfd int) (err error) {
+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
 	if e1 != 0 {
 		err = errnoErr(e1)
 	}
@@ -1661,8 +1484,9 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Dup2(oldfd int, newfd int) (err error) {
-	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
+func EpollCreate(size int) (fd int, err error) {
+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
+	fd = int(r0)
 	if e1 != 0 {
 		err = errnoErr(e1)
 	}
@@ -1671,9 +1495,13 @@ func Dup2(oldfd int, newfd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func EpollCreate(size int) (fd int, err error) {
-	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-	fd = int(r0)
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+	var _p0 *byte
+	_p0, err = BytePtrFromString(path)
+	if err != nil {
+		return
+	}
+	_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
 	if e1 != 0 {
 		err = errnoErr(e1)
 	}
@@ -2075,6 +1903,16 @@ func Statfs(path string, buf *Statfs_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
+	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)
+	if e1 != 0 {
+		err = errnoErr(e1)
+	}
+	return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Truncate(path string, length int64) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -2384,28 +2222,3 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
 	}
 	return
 }
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func syncFileRange2(fd int, flags int, off int64, n int64) (err error) {
-	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(cmdline)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
index e34089c..fa16c16 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
@@ -1646,13 +1474,8 @@ func Munlockall() (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func faccessat(dirfd int, path string, mode uint32) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+func Dup2(oldfd int, newfd int) (err error) {
+	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
 	if e1 != 0 {
 		err = errnoErr(e1)
 	}
@@ -1661,8 +1484,9 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Dup2(oldfd int, newfd int) (err error) {
-	_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
+func EpollCreate(size int) (fd int, err error) {
+	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
+	fd = int(r0)
 	if e1 != 0 {
 		err = errnoErr(e1)
 	}
@@ -1671,9 +1495,13 @@ func Dup2(oldfd int, newfd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func EpollCreate(size int) (fd int, err error) {
-	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)
-	fd = int(r0)
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+	var _p0 *byte
+	_p0, err = BytePtrFromString(path)
+	if err != nil {
+		return
+	}
+	_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
 	if e1 != 0 {
 		err = errnoErr(e1)
 	}
@@ -2075,6 +1903,16 @@ func Statfs(path string, buf *Statfs_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
+	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)
+	if e1 != 0 {
+		err = errnoErr(e1)
+	}
+	return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Truncate(path string, length int64) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -2384,28 +2222,3 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
 	}
 	return
 }
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func syncFileRange2(fd int, flags int, off int64, n int64) (err error) {
-	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(cmdline)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
deleted file mode 100644
index 312b2af..0000000
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
+++ /dev/null
@@ -1,2191 +0,0 @@
-// mksyscall.pl -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build linux,riscv64
-
-package unix
-
-import (
-	"syscall"
-	"unsafe"
-)
-
-var _ syscall.Errno
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func fchmodat(dirfd int, path string, mode uint32) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ioctl(fd int, req uint, arg uintptr) (err error) {
-	_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(buf) > 0 {
-		_p1 = unsafe.Pointer(&buf[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Unlinkat(dirfd int, path string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getcwd(buf []byte) (n int, err error) {
-	var _p0 unsafe.Pointer
-	if len(buf) > 0 {
-		_p0 = unsafe.Pointer(&buf[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {
-	r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
-	wpid = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {
-	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {
-	var _p0 unsafe.Pointer
-	if len(buf) > 0 {
-		_p0 = unsafe.Pointer(&buf[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func keyctlJoin(cmd int, arg2 string) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(arg2)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(arg3)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(arg4)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {
-	var _p0 unsafe.Pointer
-	if len(payload) > 0 {
-		_p0 = unsafe.Pointer(&payload[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {
-	var _p0 unsafe.Pointer
-	if len(buf) > 0 {
-		_p0 = unsafe.Pointer(&buf[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
-	_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(arg)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(source)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(target)
-	if err != nil {
-		return
-	}
-	var _p2 *byte
-	_p2, err = BytePtrFromString(fstype)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Acct(path string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(keyType)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(description)
-	if err != nil {
-		return
-	}
-	var _p2 unsafe.Pointer
-	if len(payload) > 0 {
-		_p2 = unsafe.Pointer(&payload[0])
-	} else {
-		_p2 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)
-	id = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Adjtimex(buf *Timex) (state int, err error) {
-	r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)
-	state = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Chdir(path string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Chroot(path string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ClockGettime(clockid int32, time *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Close(fd int) (err error) {
-	_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {
-	r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Dup(oldfd int) (fd int, err error) {
-	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Dup3(oldfd int, newfd int, flags int) (err error) {
-	_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func EpollCreate1(flag int) (fd int, err error) {
-	r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
-	_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Eventfd(initval uint, flags int) (fd int, err error) {
-	r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Exit(code int) {
-	SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
-	_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchdir(fd int) (err error) {
-	_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchmod(fd int, mode uint32) (err error) {
-	_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func fcntl(fd int, cmd int, arg int) (val int, err error) {
-	r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))
-	val = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fdatasync(fd int) (err error) {
-	_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flock(fd int, how int) (err error) {
-	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsync(fd int) (err error) {
-	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getdents(fd int, buf []byte) (n int, err error) {
-	var _p0 unsafe.Pointer
-	if len(buf) > 0 {
-		_p0 = unsafe.Pointer(&buf[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpgid(pid int) (pgid int, err error) {
-	r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)
-	pgid = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpid() (pid int) {
-	r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)
-	pid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getppid() (ppid int) {
-	r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)
-	ppid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getpriority(which int, who int) (prio int, err error) {
-	r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)
-	prio = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getrandom(buf []byte, flags int) (n int, err error) {
-	var _p0 unsafe.Pointer
-	if len(buf) > 0 {
-		_p0 = unsafe.Pointer(&buf[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getrusage(who int, rusage *Rusage) (err error) {
-	_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getsid(pid int) (sid int, err error) {
-	r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)
-	sid = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Gettid() (tid int) {
-	r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)
-	tid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p2 unsafe.Pointer
-	if len(dest) > 0 {
-		_p2 = unsafe.Pointer(&dest[0])
-	} else {
-		_p2 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(pathname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
-	watchdesc = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func InotifyInit1(flags int) (fd int, err error) {
-	r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {
-	r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)
-	success = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Kill(pid int, sig syscall.Signal) (err error) {
-	_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Klogctl(typ int, buf []byte) (n int, err error) {
-	var _p0 unsafe.Pointer
-	if len(buf) > 0 {
-		_p0 = unsafe.Pointer(&buf[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p2 unsafe.Pointer
-	if len(dest) > 0 {
-		_p2 = unsafe.Pointer(&dest[0])
-	} else {
-		_p2 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Listxattr(path string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Llistxattr(path string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Lremovexattr(path string, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p2 unsafe.Pointer
-	if len(data) > 0 {
-		_p2 = unsafe.Pointer(&data[0])
-	} else {
-		_p2 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mkdirat(dirfd int, path string, mode uint32) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {
-	r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func PivotRoot(newroot string, putold string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(newroot)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(putold)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
-	_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
-	_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-	r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func read(fd int, p []byte) (n int, err error) {
-	var _p0 unsafe.Pointer
-	if len(p) > 0 {
-		_p0 = unsafe.Pointer(&p[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Removexattr(path string, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(keyType)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(description)
-	if err != nil {
-		return
-	}
-	var _p2 *byte
-	_p2, err = BytePtrFromString(callback)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)
-	id = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setdomainname(p []byte) (err error) {
-	var _p0 unsafe.Pointer
-	if len(p) > 0 {
-		_p0 = unsafe.Pointer(&p[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Sethostname(p []byte) (err error) {
-	var _p0 unsafe.Pointer
-	if len(p) > 0 {
-		_p0 = unsafe.Pointer(&p[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setpgid(pid int, pgid int) (err error) {
-	_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setsid() (pid int, err error) {
-	r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
-	pid = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Settimeofday(tv *Timeval) (err error) {
-	_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setns(fd int, nstype int) (err error) {
-	_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setpriority(which int, who int, prio int) (err error) {
-	_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setxattr(path string, attr string, data []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p2 unsafe.Pointer
-	if len(data) > 0 {
-		_p2 = unsafe.Pointer(&data[0])
-	} else {
-		_p2 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Sync() {
-	SyscallNoError(SYS_SYNC, 0, 0, 0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Syncfs(fd int) (err error) {
-	_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Sysinfo(info *Sysinfo_t) (err error) {
-	_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
-	r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)
-	n = int64(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {
-	_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Times(tms *Tms) (ticks uintptr, err error) {
-	r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)
-	ticks = uintptr(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Umask(mask int) (oldmask int) {
-	r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)
-	oldmask = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Uname(buf *Utsname) (err error) {
-	_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Unmount(target string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(target)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Unshare(flags int) (err error) {
-	_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func write(fd int, p []byte) (n int, err error) {
-	var _p0 unsafe.Pointer
-	if len(p) > 0 {
-		_p0 = unsafe.Pointer(&p[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func exitThread(code int) (err error) {
-	_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func readlen(fd int, p *byte, np int) (n int, err error) {
-	r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func writelen(fd int, p *byte, np int) (n int, err error) {
-	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func munmap(addr uintptr, length uintptr) (err error) {
-	_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Madvise(b []byte, advice int) (err error) {
-	var _p0 unsafe.Pointer
-	if len(b) > 0 {
-		_p0 = unsafe.Pointer(&b[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
-	var _p0 unsafe.Pointer
-	if len(b) > 0 {
-		_p0 = unsafe.Pointer(&b[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlock(b []byte) (err error) {
-	var _p0 unsafe.Pointer
-	if len(b) > 0 {
-		_p0 = unsafe.Pointer(&b[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
-	_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Msync(b []byte, flags int) (err error) {
-	var _p0 unsafe.Pointer
-	if len(b) > 0 {
-		_p0 = unsafe.Pointer(&b[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
-	var _p0 unsafe.Pointer
-	if len(b) > 0 {
-		_p0 = unsafe.Pointer(&b[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
-	_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func faccessat(dirfd int, path string, mode uint32) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
-	var _p0 unsafe.Pointer
-	if len(events) > 0 {
-		_p0 = unsafe.Pointer(&events[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
-	_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchown(fd int, uid int, gid int) (err error) {
-	_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstat(fd int, stat *Stat_t) (err error) {
-	_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fstatfs(fd int, buf *Statfs_t) (err error) {
-	_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Ftruncate(fd int, length int64) (err error) {
-	_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getegid() (egid int) {
-	r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)
-	egid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Geteuid() (euid int) {
-	r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)
-	euid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getgid() (gid int) {
-	r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)
-	gid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getrlimit(resource int, rlim *Rlimit) (err error) {
-	_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Getuid() (uid int) {
-	r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)
-	uid = int(r0)
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Listen(s int, n int) (err error) {
-	_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pread(fd int, p []byte, offset int64) (n int, err error) {
-	var _p0 unsafe.Pointer
-	if len(p) > 0 {
-		_p0 = unsafe.Pointer(&p[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
-	var _p0 unsafe.Pointer
-	if len(p) > 0 {
-		_p0 = unsafe.Pointer(&p[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Seek(fd int, offset int64, whence int) (off int64, err error) {
-	r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
-	off = int64(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
-	r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
-	written = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setfsgid(gid int) (err error) {
-	_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setfsuid(uid int) (err error) {
-	_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setregid(rgid int, egid int) (err error) {
-	_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setresgid(rgid int, egid int, sgid int) (err error) {
-	_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setresuid(ruid int, euid int, suid int) (err error) {
-	_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setrlimit(resource int, rlim *Rlimit) (err error) {
-	_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Setreuid(ruid int, euid int) (err error) {
-	_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Shutdown(fd int, how int) (err error) {
-	_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
-	r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
-	n = int64(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Statfs(path string, buf *Statfs_t) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func SyncFileRange(fd int, off int64, n int64, flags int) (err error) {
-	_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Truncate(path string, length int64) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
-	r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
-	r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-	_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
-	_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getgroups(n int, list *_Gid_t) (nn int, err error) {
-	r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
-	nn = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func setgroups(n int, list *_Gid_t) (err error) {
-	_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
-	_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
-	_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func socket(domain int, typ int, proto int) (fd int, err error) {
-	r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
-	_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-	_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
-	_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
-	var _p0 unsafe.Pointer
-	if len(p) > 0 {
-		_p0 = unsafe.Pointer(&p[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
-	var _p0 unsafe.Pointer
-	if len(buf) > 0 {
-		_p0 = unsafe.Pointer(&buf[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-	r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
-	r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {
-	r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))
-	xaddr = uintptr(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Gettimeofday(tv *Timeval) (err error) {
-	_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func pipe2(p *[2]_C_int, flags int) (err error) {
-	_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
index 04ec8be..38f903c 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
@@ -417,16 +417,6 @@ func Chroot(path string) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ClockGetres(clockid int32, res *Timespec) (err error) {
-	_, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ClockGettime(clockid int32, time *Timespec) (err error) {
 	_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
 	if e1 != 0 {
@@ -458,21 +448,6 @@ func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags in
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func DeleteModule(name string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(oldfd int) (fd int, err error) {
 	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
 	fd = int(r0)
@@ -599,60 +574,6 @@ func Fdatasync(fd int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func FinitModule(fd int, params string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Flistxattr(fd int, dest []byte) (sz int, err error) {
-	var _p0 unsafe.Pointer
-	if len(dest) > 0 {
-		_p0 = unsafe.Pointer(&dest[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))
-	sz = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)
 	if e1 != 0 {
@@ -663,42 +584,6 @@ func Flock(fd int, how int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Fremovexattr(fd int, attr string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attr)
-	if err != nil {
-		return
-	}
-	var _p1 unsafe.Pointer
-	if len(dest) > 0 {
-		_p1 = unsafe.Pointer(&dest[0])
-	} else {
-		_p1 = unsafe.Pointer(&_zero)
-	}
-	_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)
 	if e1 != 0 {
@@ -837,27 +722,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func InitModule(moduleImage []byte, params string) (err error) {
-	var _p0 unsafe.Pointer
-	if len(moduleImage) > 0 {
-		_p0 = unsafe.Pointer(&moduleImage[0])
-	} else {
-		_p0 = unsafe.Pointer(&_zero)
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(params)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(pathname)
@@ -1040,22 +904,6 @@ func Lsetxattr(path string, attr string, data []byte, flags int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func MemfdCreate(name string, flags int) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(name)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1215,26 +1063,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(oldpath)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(newpath)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(keyType)
@@ -2164,18 +1992,3 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
 	}
 	return
 }
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(cmdline)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
index f1874d5..b329893 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
@@ -571,220 +571,6 @@ func Exit(code int) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
index eb80283..5096ef0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
@@ -571,220 +571,6 @@ func Exit(code int) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
index 7b36499..b7141c6 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
@@ -571,220 +571,6 @@ func Exit(code int) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(file)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	var _p1 *byte
-	_p1, err = BytePtrFromString(attrname)
-	if err != nil {
-		return
-	}
-	_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(link)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
-	ret = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
index 0822356..1942049 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
@@ -431,17 +431,6 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Access(path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1016,22 +1005,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Pathconf(path string, name int) (val int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
index 3d0bae4..d351c72 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
@@ -431,17 +431,6 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Access(path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1016,22 +1005,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Pathconf(path string, name int) (val int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
index 6422c46..617d47f 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
@@ -431,17 +431,6 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
-	r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
-	n = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Access(path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1016,22 +1005,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {
-	var _p0 *byte
-	_p0, err = BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)
-	fd = int(r0)
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Pathconf(path string, name int) (val int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
index 97b22a4..e2e5fc5 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
@@ -399,8 +399,6 @@ var (
 	procrecvfrom syscallFunc
 )
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func pipe(p *[2]_C_int) (n int, err error) {
 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0)
 	n = int(r0)
@@ -410,8 +408,6 @@ func pipe(p *[2]_C_int) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
 	if e1 != 0 {
@@ -420,8 +416,6 @@ func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getcwd(buf []byte) (n int, err error) {
 	var _p0 *byte
 	if len(buf) > 0 {
@@ -435,8 +429,6 @@ func Getcwd(buf []byte) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0)
 	n = int(r0)
@@ -446,8 +438,6 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func setgroups(ngid int, gid *_Gid_t) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -456,8 +446,6 @@ func setgroups(ngid int, gid *_Gid_t) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)
 	wpid = int32(r0)
@@ -467,8 +455,6 @@ func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32,
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func gethostname(buf []byte) (n int, err error) {
 	var _p0 *byte
 	if len(buf) > 0 {
@@ -482,8 +468,6 @@ func gethostname(buf []byte) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func utimes(path string, times *[2]Timeval) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -497,8 +481,6 @@ func utimes(path string, times *[2]Timeval) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -512,8 +494,6 @@ func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func fcntl(fd int, cmd int, arg int) (val int, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0)
 	val = int(r0)
@@ -523,8 +503,6 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0)
 	if e1 != 0 {
@@ -533,8 +511,6 @@ func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
 	fd = int(r0)
@@ -544,8 +520,6 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_recvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)
 	n = int(r0)
@@ -555,8 +529,6 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)
 	n = int(r0)
@@ -566,8 +538,6 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func acct(path *byte) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -576,32 +546,24 @@ func acct(path *byte) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func __makedev(version int, major uint, minor uint) (val uint64) {
 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0)
 	val = uint64(r0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func __major(version int, dev uint64) (val uint) {
 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0)
 	val = uint(r0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func __minor(version int, dev uint64) (val uint) {
 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0)
 	val = uint(r0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func ioctl(fd int, req uint, arg uintptr) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0)
 	if e1 != 0 {
@@ -610,8 +572,6 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpoll)), 3, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout), 0, 0, 0)
 	n = int(r0)
@@ -621,8 +581,6 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Access(path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -636,8 +594,6 @@ func Access(path string, mode uint32) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -646,8 +602,6 @@ func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Chdir(path string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -661,8 +615,6 @@ func Chdir(path string) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Chmod(path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -676,8 +628,6 @@ func Chmod(path string, mode uint32) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Chown(path string, uid int, gid int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -691,8 +641,6 @@ func Chown(path string, uid int, gid int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Chroot(path string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -706,8 +654,6 @@ func Chroot(path string) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Close(fd int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -716,8 +662,6 @@ func Close(fd int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Creat(path string, mode uint32) (fd int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -732,8 +676,6 @@ func Creat(path string, mode uint32) (fd int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup(fd int) (nfd int, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0)
 	nfd = int(r0)
@@ -743,8 +685,6 @@ func Dup(fd int) (nfd int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Dup2(oldfd int, newfd int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -753,15 +693,11 @@ func Dup2(oldfd int, newfd int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Exit(code int) {
 	sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -775,8 +711,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fchdir(fd int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -785,8 +719,6 @@ func Fchdir(fd int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fchmod(fd int, mode uint32) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -795,8 +727,6 @@ func Fchmod(fd int, mode uint32) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -810,8 +740,6 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fchown(fd int, uid int, gid int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0)
 	if e1 != 0 {
@@ -820,8 +748,6 @@ func Fchown(fd int, uid int, gid int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -835,8 +761,6 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fdatasync(fd int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -845,8 +769,6 @@ func Fdatasync(fd int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Flock(fd int, how int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -855,8 +777,6 @@ func Flock(fd int, how int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fpathconf(fd int, name int) (val int, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0)
 	val = int(r0)
@@ -866,8 +786,6 @@ func Fpathconf(fd int, name int) (val int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fstat(fd int, stat *Stat_t) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -876,8 +794,6 @@ func Fstat(fd int, stat *Stat_t) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -891,8 +807,6 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatvfs)), 2, uintptr(fd), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -901,8 +815,6 @@ func Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) {
 	var _p0 *byte
 	if len(buf) > 0 {
@@ -916,24 +828,18 @@ func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getgid() (gid int) {
 	r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0)
 	gid = int(r0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getpid() (pid int) {
 	r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0)
 	pid = int(r0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getpgid(pid int) (pgid int, err error) {
 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0)
 	pgid = int(r0)
@@ -943,8 +849,6 @@ func Getpgid(pid int) (pgid int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getpgrp() (pgid int, err error) {
 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0)
 	pgid = int(r0)
@@ -954,32 +858,24 @@ func Getpgrp() (pgid int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Geteuid() (euid int) {
 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0)
 	euid = int(r0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getegid() (egid int) {
 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0)
 	egid = int(r0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getppid() (ppid int) {
 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0)
 	ppid = int(r0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getpriority(which int, who int) (n int, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0)
 	n = int(r0)
@@ -989,8 +885,6 @@ func Getpriority(which int, who int) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getrlimit(which int, lim *Rlimit) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -999,8 +893,6 @@ func Getrlimit(which int, lim *Rlimit) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getrusage(who int, rusage *Rusage) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1009,8 +901,6 @@ func Getrusage(who int, rusage *Rusage) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Gettimeofday(tv *Timeval) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1019,16 +909,12 @@ func Gettimeofday(tv *Timeval) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Getuid() (uid int) {
 	r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0)
 	uid = int(r0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Kill(pid int, signum syscall.Signal) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1037,8 +923,6 @@ func Kill(pid int, signum syscall.Signal) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Lchown(path string, uid int, gid int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1052,8 +936,6 @@ func Lchown(path string, uid int, gid int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Link(path string, link string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1072,8 +954,6 @@ func Link(path string, link string) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Listen(s int, backlog int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1082,8 +962,6 @@ func Listen(s int, backlog int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Lstat(path string, stat *Stat_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1097,8 +975,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Madvise(b []byte, advice int) (err error) {
 	var _p0 *byte
 	if len(b) > 0 {
@@ -1111,8 +987,6 @@ func Madvise(b []byte, advice int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdir(path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1126,8 +1000,6 @@ func Mkdir(path string, mode uint32) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1141,8 +1013,6 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkfifo(path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1156,8 +1026,6 @@ func Mkfifo(path string, mode uint32) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1171,8 +1039,6 @@ func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mknod(path string, mode uint32, dev int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1186,8 +1052,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1201,8 +1065,6 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mlock(b []byte) (err error) {
 	var _p0 *byte
 	if len(b) > 0 {
@@ -1215,8 +1077,6 @@ func Mlock(b []byte) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mlockall(flags int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1225,8 +1085,6 @@ func Mlockall(flags int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Mprotect(b []byte, prot int) (err error) {
 	var _p0 *byte
 	if len(b) > 0 {
@@ -1239,8 +1097,6 @@ func Mprotect(b []byte, prot int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Msync(b []byte, flags int) (err error) {
 	var _p0 *byte
 	if len(b) > 0 {
@@ -1253,8 +1109,6 @@ func Msync(b []byte, flags int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Munlock(b []byte) (err error) {
 	var _p0 *byte
 	if len(b) > 0 {
@@ -1267,8 +1121,6 @@ func Munlock(b []byte) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Munlockall() (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1277,8 +1129,6 @@ func Munlockall() (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1287,8 +1137,6 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Open(path string, mode int, perm uint32) (fd int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1303,8 +1151,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1319,8 +1165,6 @@ func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Pathconf(path string, name int) (val int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1335,8 +1179,6 @@ func Pathconf(path string, name int) (val int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Pause() (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1345,8 +1187,6 @@ func Pause() (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Pread(fd int, p []byte, offset int64) (n int, err error) {
 	var _p0 *byte
 	if len(p) > 0 {
@@ -1360,8 +1200,6 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
 	var _p0 *byte
 	if len(p) > 0 {
@@ -1375,8 +1213,6 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func read(fd int, p []byte) (n int, err error) {
 	var _p0 *byte
 	if len(p) > 0 {
@@ -1390,8 +1226,6 @@ func read(fd int, p []byte) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Readlink(path string, buf []byte) (n int, err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1410,8 +1244,6 @@ func Readlink(path string, buf []byte) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Rename(from string, to string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(from)
@@ -1430,8 +1262,6 @@ func Rename(from string, to string) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(oldpath)
@@ -1450,8 +1280,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Rmdir(path string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1465,8 +1293,6 @@ func Rmdir(path string) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0)
 	newoffset = int64(r0)
@@ -1476,8 +1302,6 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSelect)), 5, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
 	if e1 != 0 {
@@ -1486,8 +1310,6 @@ func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Setegid(egid int) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1496,8 +1318,6 @@ func Setegid(egid int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Seteuid(euid int) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1506,8 +1326,6 @@ func Seteuid(euid int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Setgid(gid int) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1516,8 +1334,6 @@ func Setgid(gid int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Sethostname(p []byte) (err error) {
 	var _p0 *byte
 	if len(p) > 0 {
@@ -1530,8 +1346,6 @@ func Sethostname(p []byte) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Setpgid(pid int, pgid int) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1540,8 +1354,6 @@ func Setpgid(pid int, pgid int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Setpriority(which int, who int, prio int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0)
 	if e1 != 0 {
@@ -1550,8 +1362,6 @@ func Setpriority(which int, who int, prio int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Setregid(rgid int, egid int) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1560,8 +1370,6 @@ func Setregid(rgid int, egid int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Setreuid(ruid int, euid int) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1570,8 +1378,6 @@ func Setreuid(ruid int, euid int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Setrlimit(which int, lim *Rlimit) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1580,8 +1386,6 @@ func Setrlimit(which int, lim *Rlimit) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Setsid() (pid int, err error) {
 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0)
 	pid = int(r0)
@@ -1591,8 +1395,6 @@ func Setsid() (pid int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Setuid(uid int) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1601,8 +1403,6 @@ func Setuid(uid int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Shutdown(s int, how int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1611,8 +1411,6 @@ func Shutdown(s int, how int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Stat(path string, stat *Stat_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1626,8 +1424,6 @@ func Stat(path string, stat *Stat_t) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Statvfs(path string, vfsstat *Statvfs_t) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1641,8 +1437,6 @@ func Statvfs(path string, vfsstat *Statvfs_t) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Symlink(path string, link string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1661,8 +1455,6 @@ func Symlink(path string, link string) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Sync() (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1671,8 +1463,6 @@ func Sync() (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Times(tms *Tms) (ticks uintptr, err error) {
 	r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0)
 	ticks = uintptr(r0)
@@ -1682,8 +1472,6 @@ func Times(tms *Tms) (ticks uintptr, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Truncate(path string, length int64) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1697,8 +1485,6 @@ func Truncate(path string, length int64) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fsync(fd int) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1707,8 +1493,6 @@ func Fsync(fd int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Ftruncate(fd int, length int64) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1717,16 +1501,12 @@ func Ftruncate(fd int, length int64) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Umask(mask int) (oldmask int) {
 	r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0)
 	oldmask = int(r0)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Uname(buf *Utsname) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1735,8 +1515,6 @@ func Uname(buf *Utsname) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Unmount(target string, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(target)
@@ -1750,8 +1528,6 @@ func Unmount(target string, flags int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Unlink(path string) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1765,8 +1541,6 @@ func Unlink(path string) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Unlinkat(dirfd int, path string, flags int) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1780,8 +1554,6 @@ func Unlinkat(dirfd int, path string, flags int) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Ustat(dev int, ubuf *Ustat_t) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1790,8 +1562,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Utime(path string, buf *Utimbuf) (err error) {
 	var _p0 *byte
 	_p0, err = BytePtrFromString(path)
@@ -1805,8 +1575,6 @@ func Utime(path string, buf *Utimbuf) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)
 	if e1 != 0 {
@@ -1815,8 +1583,6 @@ func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)
 	if e1 != 0 {
@@ -1825,8 +1591,6 @@ func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))
 	ret = uintptr(r0)
@@ -1836,8 +1600,6 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func munmap(addr uintptr, length uintptr) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0)
 	if e1 != 0 {
@@ -1846,8 +1608,6 @@ func munmap(addr uintptr, length uintptr) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendfile)), 4, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
 	written = int(r0)
@@ -1857,8 +1617,6 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {
 	var _p0 *byte
 	if len(buf) > 0 {
@@ -1871,8 +1629,6 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func socket(domain int, typ int, proto int) (fd int, err error) {
 	r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0)
 	fd = int(r0)
@@ -1882,8 +1638,6 @@ func socket(domain int, typ int, proto int) (fd int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
 	if e1 != 0 {
@@ -1892,8 +1646,6 @@ func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func write(fd int, p []byte) (n int, err error) {
 	var _p0 *byte
 	if len(p) > 0 {
@@ -1907,8 +1659,6 @@ func write(fd int, p []byte) (n int, err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
 	if e1 != 0 {
@@ -1917,8 +1667,6 @@ func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
 	_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
 	if e1 != 0 {
@@ -1927,8 +1675,6 @@ func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {
 	_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)
 	if e1 != 0 {
@@ -1937,8 +1683,6 @@ func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr)
 	return
 }
 
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {
 	var _p0 *byte
 	if len(p) > 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
index d014451..90c95c2 100644
--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
@@ -254,17 +254,4 @@ var sysctlMib = []mibentry{
 	{"net.mpls.ttl", []_C_int{4, 33, 2}},
 	{"net.pflow.stats", []_C_int{4, 34, 1}},
 	{"net.pipex.enable", []_C_int{4, 35, 1}},
-	{"vm.anonmin", []_C_int{2, 7}},
-	{"vm.loadavg", []_C_int{2, 2}},
-	{"vm.maxslp", []_C_int{2, 10}},
-	{"vm.nkmempages", []_C_int{2, 6}},
-	{"vm.psstrings", []_C_int{2, 3}},
-	{"vm.swapencrypt.enable", []_C_int{2, 5, 0}},
-	{"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}},
-	{"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}},
-	{"vm.uspace", []_C_int{2, 11}},
-	{"vm.uvmexp", []_C_int{2, 4}},
-	{"vm.vmmeter", []_C_int{2, 1}},
-	{"vm.vnodemin", []_C_int{2, 9}},
-	{"vm.vtextmin", []_C_int{2, 8}},
 }
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
index 1ab8780..b64a812 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
@@ -7,397 +7,347 @@ package unix
 
 const (
 	// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int
-	SYS_EXIT                     = 1   // { void sys_exit(int rval); } exit \
-	SYS_FORK                     = 2   // { int fork(void); }
-	SYS_READ                     = 3   // { ssize_t read(int fd, void *buf, \
-	SYS_WRITE                    = 4   // { ssize_t write(int fd, const void *buf, \
-	SYS_OPEN                     = 5   // { int open(char *path, int flags, int mode); }
-	SYS_CLOSE                    = 6   // { int close(int fd); }
-	SYS_WAIT4                    = 7   // { int wait4(int pid, int *status, \
-	SYS_LINK                     = 9   // { int link(char *path, char *link); }
-	SYS_UNLINK                   = 10  // { int unlink(char *path); }
-	SYS_CHDIR                    = 12  // { int chdir(char *path); }
-	SYS_FCHDIR                   = 13  // { int fchdir(int fd); }
-	SYS_MKNOD                    = 14  // { int mknod(char *path, int mode, int dev); }
-	SYS_CHMOD                    = 15  // { int chmod(char *path, int mode); }
-	SYS_CHOWN                    = 16  // { int chown(char *path, int uid, int gid); }
-	SYS_OBREAK                   = 17  // { int obreak(char *nsize); } break \
-	SYS_GETPID                   = 20  // { pid_t getpid(void); }
-	SYS_MOUNT                    = 21  // { int mount(char *type, char *path, \
-	SYS_UNMOUNT                  = 22  // { int unmount(char *path, int flags); }
-	SYS_SETUID                   = 23  // { int setuid(uid_t uid); }
-	SYS_GETUID                   = 24  // { uid_t getuid(void); }
-	SYS_GETEUID                  = 25  // { uid_t geteuid(void); }
-	SYS_PTRACE                   = 26  // { int ptrace(int req, pid_t pid, \
-	SYS_RECVMSG                  = 27  // { int recvmsg(int s, struct msghdr *msg, \
-	SYS_SENDMSG                  = 28  // { int sendmsg(int s, struct msghdr *msg, \
-	SYS_RECVFROM                 = 29  // { int recvfrom(int s, caddr_t buf, \
-	SYS_ACCEPT                   = 30  // { int accept(int s, \
-	SYS_GETPEERNAME              = 31  // { int getpeername(int fdes, \
-	SYS_GETSOCKNAME              = 32  // { int getsockname(int fdes, \
-	SYS_ACCESS                   = 33  // { int access(char *path, int amode); }
-	SYS_CHFLAGS                  = 34  // { int chflags(const char *path, u_long flags); }
-	SYS_FCHFLAGS                 = 35  // { int fchflags(int fd, u_long flags); }
-	SYS_SYNC                     = 36  // { int sync(void); }
-	SYS_KILL                     = 37  // { int kill(int pid, int signum); }
-	SYS_GETPPID                  = 39  // { pid_t getppid(void); }
-	SYS_DUP                      = 41  // { int dup(u_int fd); }
-	SYS_PIPE                     = 42  // { int pipe(void); }
-	SYS_GETEGID                  = 43  // { gid_t getegid(void); }
-	SYS_PROFIL                   = 44  // { int profil(caddr_t samples, size_t size, \
-	SYS_KTRACE                   = 45  // { int ktrace(const char *fname, int ops, \
-	SYS_GETGID                   = 47  // { gid_t getgid(void); }
-	SYS_GETLOGIN                 = 49  // { int getlogin(char *namebuf, u_int \
-	SYS_SETLOGIN                 = 50  // { int setlogin(char *namebuf); }
-	SYS_ACCT                     = 51  // { int acct(char *path); }
-	SYS_SIGALTSTACK              = 53  // { int sigaltstack(stack_t *ss, \
-	SYS_IOCTL                    = 54  // { int ioctl(int fd, u_long com, \
-	SYS_REBOOT                   = 55  // { int reboot(int opt); }
-	SYS_REVOKE                   = 56  // { int revoke(char *path); }
-	SYS_SYMLINK                  = 57  // { int symlink(char *path, char *link); }
-	SYS_READLINK                 = 58  // { ssize_t readlink(char *path, char *buf, \
-	SYS_EXECVE                   = 59  // { int execve(char *fname, char **argv, \
-	SYS_UMASK                    = 60  // { int umask(int newmask); } umask umask_args \
-	SYS_CHROOT                   = 61  // { int chroot(char *path); }
-	SYS_MSYNC                    = 65  // { int msync(void *addr, size_t len, \
-	SYS_VFORK                    = 66  // { int vfork(void); }
-	SYS_SBRK                     = 69  // { int sbrk(int incr); }
-	SYS_SSTK                     = 70  // { int sstk(int incr); }
-	SYS_OVADVISE                 = 72  // { int ovadvise(int anom); } vadvise \
-	SYS_MUNMAP                   = 73  // { int munmap(void *addr, size_t len); }
-	SYS_MPROTECT                 = 74  // { int mprotect(const void *addr, size_t len, \
-	SYS_MADVISE                  = 75  // { int madvise(void *addr, size_t len, \
-	SYS_MINCORE                  = 78  // { int mincore(const void *addr, size_t len, \
-	SYS_GETGROUPS                = 79  // { int getgroups(u_int gidsetsize, \
-	SYS_SETGROUPS                = 80  // { int setgroups(u_int gidsetsize, \
-	SYS_GETPGRP                  = 81  // { int getpgrp(void); }
-	SYS_SETPGID                  = 82  // { int setpgid(int pid, int pgid); }
-	SYS_SETITIMER                = 83  // { int setitimer(u_int which, struct \
-	SYS_SWAPON                   = 85  // { int swapon(char *name); }
-	SYS_GETITIMER                = 86  // { int getitimer(u_int which, \
-	SYS_GETDTABLESIZE            = 89  // { int getdtablesize(void); }
-	SYS_DUP2                     = 90  // { int dup2(u_int from, u_int to); }
-	SYS_FCNTL                    = 92  // { int fcntl(int fd, int cmd, long arg); }
-	SYS_SELECT                   = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
-	SYS_FSYNC                    = 95  // { int fsync(int fd); }
-	SYS_SETPRIORITY              = 96  // { int setpriority(int which, int who, \
-	SYS_SOCKET                   = 97  // { int socket(int domain, int type, \
-	SYS_CONNECT                  = 98  // { int connect(int s, caddr_t name, \
-	SYS_GETPRIORITY              = 100 // { int getpriority(int which, int who); }
-	SYS_BIND                     = 104 // { int bind(int s, caddr_t name, \
-	SYS_SETSOCKOPT               = 105 // { int setsockopt(int s, int level, int name, \
-	SYS_LISTEN                   = 106 // { int listen(int s, int backlog); }
-	SYS_GETTIMEOFDAY             = 116 // { int gettimeofday(struct timeval *tp, \
-	SYS_GETRUSAGE                = 117 // { int getrusage(int who, \
-	SYS_GETSOCKOPT               = 118 // { int getsockopt(int s, int level, int name, \
-	SYS_READV                    = 120 // { int readv(int fd, struct iovec *iovp, \
-	SYS_WRITEV                   = 121 // { int writev(int fd, struct iovec *iovp, \
-	SYS_SETTIMEOFDAY             = 122 // { int settimeofday(struct timeval *tv, \
-	SYS_FCHOWN                   = 123 // { int fchown(int fd, int uid, int gid); }
-	SYS_FCHMOD                   = 124 // { int fchmod(int fd, int mode); }
-	SYS_SETREUID                 = 126 // { int setreuid(int ruid, int euid); }
-	SYS_SETREGID                 = 127 // { int setregid(int rgid, int egid); }
-	SYS_RENAME                   = 128 // { int rename(char *from, char *to); }
-	SYS_FLOCK                    = 131 // { int flock(int fd, int how); }
-	SYS_MKFIFO                   = 132 // { int mkfifo(char *path, int mode); }
-	SYS_SENDTO                   = 133 // { int sendto(int s, caddr_t buf, size_t len, \
-	SYS_SHUTDOWN                 = 134 // { int shutdown(int s, int how); }
-	SYS_SOCKETPAIR               = 135 // { int socketpair(int domain, int type, \
-	SYS_MKDIR                    = 136 // { int mkdir(char *path, int mode); }
-	SYS_RMDIR                    = 137 // { int rmdir(char *path); }
-	SYS_UTIMES                   = 138 // { int utimes(char *path, \
-	SYS_ADJTIME                  = 140 // { int adjtime(struct timeval *delta, \
-	SYS_SETSID                   = 147 // { int setsid(void); }
-	SYS_QUOTACTL                 = 148 // { int quotactl(char *path, int cmd, int uid, \
-	SYS_NLM_SYSCALL              = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); }
-	SYS_NFSSVC                   = 155 // { int nfssvc(int flag, caddr_t argp); }
-	SYS_LGETFH                   = 160 // { int lgetfh(char *fname, \
-	SYS_GETFH                    = 161 // { int getfh(char *fname, \
-	SYS_SYSARCH                  = 165 // { int sysarch(int op, char *parms); }
-	SYS_RTPRIO                   = 166 // { int rtprio(int function, pid_t pid, \
-	SYS_SEMSYS                   = 169 // { int semsys(int which, int a2, int a3, \
-	SYS_MSGSYS                   = 170 // { int msgsys(int which, int a2, int a3, \
-	SYS_SHMSYS                   = 171 // { int shmsys(int which, int a2, int a3, \
-	SYS_FREEBSD6_PREAD           = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
-	SYS_FREEBSD6_PWRITE          = 174 // { ssize_t freebsd6_pwrite(int fd, \
-	SYS_SETFIB                   = 175 // { int setfib(int fibnum); }
-	SYS_NTP_ADJTIME              = 176 // { int ntp_adjtime(struct timex *tp); }
-	SYS_SETGID                   = 181 // { int setgid(gid_t gid); }
-	SYS_SETEGID                  = 182 // { int setegid(gid_t egid); }
-	SYS_SETEUID                  = 183 // { int seteuid(uid_t euid); }
-	SYS_STAT                     = 188 // { int stat(char *path, struct stat *ub); }
-	SYS_FSTAT                    = 189 // { int fstat(int fd, struct stat *sb); }
-	SYS_LSTAT                    = 190 // { int lstat(char *path, struct stat *ub); }
-	SYS_PATHCONF                 = 191 // { int pathconf(char *path, int name); }
-	SYS_FPATHCONF                = 192 // { int fpathconf(int fd, int name); }
-	SYS_GETRLIMIT                = 194 // { int getrlimit(u_int which, \
-	SYS_SETRLIMIT                = 195 // { int setrlimit(u_int which, \
-	SYS_GETDIRENTRIES            = 196 // { int getdirentries(int fd, char *buf, \
-	SYS_FREEBSD6_MMAP            = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
-	SYS_FREEBSD6_LSEEK           = 199 // { off_t freebsd6_lseek(int fd, int pad, \
-	SYS_FREEBSD6_TRUNCATE        = 200 // { int freebsd6_truncate(char *path, int pad, \
-	SYS_FREEBSD6_FTRUNCATE       = 201 // { int freebsd6_ftruncate(int fd, int pad, \
-	SYS___SYSCTL                 = 202 // { int __sysctl(int *name, u_int namelen, \
-	SYS_MLOCK                    = 203 // { int mlock(const void *addr, size_t len); }
-	SYS_MUNLOCK                  = 204 // { int munlock(const void *addr, size_t len); }
-	SYS_UNDELETE                 = 205 // { int undelete(char *path); }
-	SYS_FUTIMES                  = 206 // { int futimes(int fd, struct timeval *tptr); }
-	SYS_GETPGID                  = 207 // { int getpgid(pid_t pid); }
-	SYS_POLL                     = 209 // { int poll(struct pollfd *fds, u_int nfds, \
-	SYS_SEMGET                   = 221 // { int semget(key_t key, int nsems, \
-	SYS_SEMOP                    = 222 // { int semop(int semid, struct sembuf *sops, \
-	SYS_MSGGET                   = 225 // { int msgget(key_t key, int msgflg); }
-	SYS_MSGSND                   = 226 // { int msgsnd(int msqid, const void *msgp, \
-	SYS_MSGRCV                   = 227 // { int msgrcv(int msqid, void *msgp, \
-	SYS_SHMAT                    = 228 // { int shmat(int shmid, const void *shmaddr, \
-	SYS_SHMDT                    = 230 // { int shmdt(const void *shmaddr); }
-	SYS_SHMGET                   = 231 // { int shmget(key_t key, size_t size, \
-	SYS_CLOCK_GETTIME            = 232 // { int clock_gettime(clockid_t clock_id, \
-	SYS_CLOCK_SETTIME            = 233 // { int clock_settime( \
-	SYS_CLOCK_GETRES             = 234 // { int clock_getres(clockid_t clock_id, \
-	SYS_KTIMER_CREATE            = 235 // { int ktimer_create(clockid_t clock_id, \
-	SYS_KTIMER_DELETE            = 236 // { int ktimer_delete(int timerid); }
-	SYS_KTIMER_SETTIME           = 237 // { int ktimer_settime(int timerid, int flags, \
-	SYS_KTIMER_GETTIME           = 238 // { int ktimer_gettime(int timerid, struct \
-	SYS_KTIMER_GETOVERRUN        = 239 // { int ktimer_getoverrun(int timerid); }
-	SYS_NANOSLEEP                = 240 // { int nanosleep(const struct timespec *rqtp, \
-	SYS_FFCLOCK_GETCOUNTER       = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
-	SYS_FFCLOCK_SETESTIMATE      = 242 // { int ffclock_setestimate( \
-	SYS_FFCLOCK_GETESTIMATE      = 243 // { int ffclock_getestimate( \
-	SYS_CLOCK_GETCPUCLOCKID2     = 247 // { int clock_getcpuclockid2(id_t id,\
-	SYS_NTP_GETTIME              = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
-	SYS_MINHERIT                 = 250 // { int minherit(void *addr, size_t len, \
-	SYS_RFORK                    = 251 // { int rfork(int flags); }
-	SYS_OPENBSD_POLL             = 252 // { int openbsd_poll(struct pollfd *fds, \
-	SYS_ISSETUGID                = 253 // { int issetugid(void); }
-	SYS_LCHOWN                   = 254 // { int lchown(char *path, int uid, int gid); }
-	SYS_AIO_READ                 = 255 // { int aio_read(struct aiocb *aiocbp); }
-	SYS_AIO_WRITE                = 256 // { int aio_write(struct aiocb *aiocbp); }
-	SYS_LIO_LISTIO               = 257 // { int lio_listio(int mode, \
-	SYS_GETDENTS                 = 272 // { int getdents(int fd, char *buf, \
-	SYS_LCHMOD                   = 274 // { int lchmod(char *path, mode_t mode); }
-	SYS_LUTIMES                  = 276 // { int lutimes(char *path, \
-	SYS_NSTAT                    = 278 // { int nstat(char *path, struct nstat *ub); }
-	SYS_NFSTAT                   = 279 // { int nfstat(int fd, struct nstat *sb); }
-	SYS_NLSTAT                   = 280 // { int nlstat(char *path, struct nstat *ub); }
-	SYS_PREADV                   = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
-	SYS_PWRITEV                  = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
-	SYS_FHOPEN                   = 298 // { int fhopen(const struct fhandle *u_fhp, \
-	SYS_FHSTAT                   = 299 // { int fhstat(const struct fhandle *u_fhp, \
-	SYS_MODNEXT                  = 300 // { int modnext(int modid); }
-	SYS_MODSTAT                  = 301 // { int modstat(int modid, \
-	SYS_MODFNEXT                 = 302 // { int modfnext(int modid); }
-	SYS_MODFIND                  = 303 // { int modfind(const char *name); }
-	SYS_KLDLOAD                  = 304 // { int kldload(const char *file); }
-	SYS_KLDUNLOAD                = 305 // { int kldunload(int fileid); }
-	SYS_KLDFIND                  = 306 // { int kldfind(const char *file); }
-	SYS_KLDNEXT                  = 307 // { int kldnext(int fileid); }
-	SYS_KLDSTAT                  = 308 // { int kldstat(int fileid, struct \
-	SYS_KLDFIRSTMOD              = 309 // { int kldfirstmod(int fileid); }
-	SYS_GETSID                   = 310 // { int getsid(pid_t pid); }
-	SYS_SETRESUID                = 311 // { int setresuid(uid_t ruid, uid_t euid, \
-	SYS_SETRESGID                = 312 // { int setresgid(gid_t rgid, gid_t egid, \
-	SYS_AIO_RETURN               = 314 // { int aio_return(struct aiocb *aiocbp); }
-	SYS_AIO_SUSPEND              = 315 // { int aio_suspend( \
-	SYS_AIO_CANCEL               = 316 // { int aio_cancel(int fd, \
-	SYS_AIO_ERROR                = 317 // { int aio_error(struct aiocb *aiocbp); }
-	SYS_OAIO_READ                = 318 // { int oaio_read(struct oaiocb *aiocbp); }
-	SYS_OAIO_WRITE               = 319 // { int oaio_write(struct oaiocb *aiocbp); }
-	SYS_OLIO_LISTIO              = 320 // { int olio_listio(int mode, \
-	SYS_YIELD                    = 321 // { int yield(void); }
-	SYS_MLOCKALL                 = 324 // { int mlockall(int how); }
-	SYS_MUNLOCKALL               = 325 // { int munlockall(void); }
-	SYS___GETCWD                 = 326 // { int __getcwd(char *buf, u_int buflen); }
-	SYS_SCHED_SETPARAM           = 327 // { int sched_setparam (pid_t pid, \
-	SYS_SCHED_GETPARAM           = 328 // { int sched_getparam (pid_t pid, struct \
-	SYS_SCHED_SETSCHEDULER       = 329 // { int sched_setscheduler (pid_t pid, int \
-	SYS_SCHED_GETSCHEDULER       = 330 // { int sched_getscheduler (pid_t pid); }
-	SYS_SCHED_YIELD              = 331 // { int sched_yield (void); }
-	SYS_SCHED_GET_PRIORITY_MAX   = 332 // { int sched_get_priority_max (int policy); }
-	SYS_SCHED_GET_PRIORITY_MIN   = 333 // { int sched_get_priority_min (int policy); }
-	SYS_SCHED_RR_GET_INTERVAL    = 334 // { int sched_rr_get_interval (pid_t pid, \
-	SYS_UTRACE                   = 335 // { int utrace(const void *addr, size_t len); }
-	SYS_KLDSYM                   = 337 // { int kldsym(int fileid, int cmd, \
-	SYS_JAIL                     = 338 // { int jail(struct jail *jail); }
-	SYS_SIGPROCMASK              = 340 // { int sigprocmask(int how, \
-	SYS_SIGSUSPEND               = 341 // { int sigsuspend(const sigset_t *sigmask); }
-	SYS_SIGPENDING               = 343 // { int sigpending(sigset_t *set); }
-	SYS_SIGTIMEDWAIT             = 345 // { int sigtimedwait(const sigset_t *set, \
-	SYS_SIGWAITINFO              = 346 // { int sigwaitinfo(const sigset_t *set, \
-	SYS___ACL_GET_FILE           = 347 // { int __acl_get_file(const char *path, \
-	SYS___ACL_SET_FILE           = 348 // { int __acl_set_file(const char *path, \
-	SYS___ACL_GET_FD             = 349 // { int __acl_get_fd(int filedes, \
-	SYS___ACL_SET_FD             = 350 // { int __acl_set_fd(int filedes, \
-	SYS___ACL_DELETE_FILE        = 351 // { int __acl_delete_file(const char *path, \
-	SYS___ACL_DELETE_FD          = 352 // { int __acl_delete_fd(int filedes, \
-	SYS___ACL_ACLCHECK_FILE      = 353 // { int __acl_aclcheck_file(const char *path, \
-	SYS___ACL_ACLCHECK_FD        = 354 // { int __acl_aclcheck_fd(int filedes, \
-	SYS_EXTATTRCTL               = 355 // { int extattrctl(const char *path, int cmd, \
-	SYS_EXTATTR_SET_FILE         = 356 // { ssize_t extattr_set_file( \
-	SYS_EXTATTR_GET_FILE         = 357 // { ssize_t extattr_get_file( \
-	SYS_EXTATTR_DELETE_FILE      = 358 // { int extattr_delete_file(const char *path, \
-	SYS_AIO_WAITCOMPLETE         = 359 // { int aio_waitcomplete( \
-	SYS_GETRESUID                = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
-	SYS_GETRESGID                = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
-	SYS_KQUEUE                   = 362 // { int kqueue(void); }
-	SYS_KEVENT                   = 363 // { int kevent(int fd, \
-	SYS_EXTATTR_SET_FD           = 371 // { ssize_t extattr_set_fd(int fd, \
-	SYS_EXTATTR_GET_FD           = 372 // { ssize_t extattr_get_fd(int fd, \
-	SYS_EXTATTR_DELETE_FD        = 373 // { int extattr_delete_fd(int fd, \
-	SYS___SETUGID                = 374 // { int __setugid(int flag); }
-	SYS_EACCESS                  = 376 // { int eaccess(char *path, int amode); }
-	SYS_NMOUNT                   = 378 // { int nmount(struct iovec *iovp, \
-	SYS___MAC_GET_PROC           = 384 // { int __mac_get_proc(struct mac *mac_p); }
-	SYS___MAC_SET_PROC           = 385 // { int __mac_set_proc(struct mac *mac_p); }
-	SYS___MAC_GET_FD             = 386 // { int __mac_get_fd(int fd, \
-	SYS___MAC_GET_FILE           = 387 // { int __mac_get_file(const char *path_p, \
-	SYS___MAC_SET_FD             = 388 // { int __mac_set_fd(int fd, \
-	SYS___MAC_SET_FILE           = 389 // { int __mac_set_file(const char *path_p, \
-	SYS_KENV                     = 390 // { int kenv(int what, const char *name, \
-	SYS_LCHFLAGS                 = 391 // { int lchflags(const char *path, \
-	SYS_UUIDGEN                  = 392 // { int uuidgen(struct uuid *store, \
-	SYS_SENDFILE                 = 393 // { int sendfile(int fd, int s, off_t offset, \
-	SYS_MAC_SYSCALL              = 394 // { int mac_syscall(const char *policy, \
-	SYS_GETFSSTAT                = 395 // { int getfsstat(struct statfs *buf, \
-	SYS_STATFS                   = 396 // { int statfs(char *path, \
-	SYS_FSTATFS                  = 397 // { int fstatfs(int fd, struct statfs *buf); }
-	SYS_FHSTATFS                 = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
-	SYS_KSEM_CLOSE               = 400 // { int ksem_close(semid_t id); }
-	SYS_KSEM_POST                = 401 // { int ksem_post(semid_t id); }
-	SYS_KSEM_WAIT                = 402 // { int ksem_wait(semid_t id); }
-	SYS_KSEM_TRYWAIT             = 403 // { int ksem_trywait(semid_t id); }
-	SYS_KSEM_INIT                = 404 // { int ksem_init(semid_t *idp, \
-	SYS_KSEM_OPEN                = 405 // { int ksem_open(semid_t *idp, \
-	SYS_KSEM_UNLINK              = 406 // { int ksem_unlink(const char *name); }
-	SYS_KSEM_GETVALUE            = 407 // { int ksem_getvalue(semid_t id, int *val); }
-	SYS_KSEM_DESTROY             = 408 // { int ksem_destroy(semid_t id); }
-	SYS___MAC_GET_PID            = 409 // { int __mac_get_pid(pid_t pid, \
-	SYS___MAC_GET_LINK           = 410 // { int __mac_get_link(const char *path_p, \
-	SYS___MAC_SET_LINK           = 411 // { int __mac_set_link(const char *path_p, \
-	SYS_EXTATTR_SET_LINK         = 412 // { ssize_t extattr_set_link( \
-	SYS_EXTATTR_GET_LINK         = 413 // { ssize_t extattr_get_link( \
-	SYS_EXTATTR_DELETE_LINK      = 414 // { int extattr_delete_link( \
-	SYS___MAC_EXECVE             = 415 // { int __mac_execve(char *fname, char **argv, \
-	SYS_SIGACTION                = 416 // { int sigaction(int sig, \
-	SYS_SIGRETURN                = 417 // { int sigreturn( \
-	SYS_GETCONTEXT               = 421 // { int getcontext(struct __ucontext *ucp); }
-	SYS_SETCONTEXT               = 422 // { int setcontext( \
-	SYS_SWAPCONTEXT              = 423 // { int swapcontext(struct __ucontext *oucp, \
-	SYS_SWAPOFF                  = 424 // { int swapoff(const char *name); }
-	SYS___ACL_GET_LINK           = 425 // { int __acl_get_link(const char *path, \
-	SYS___ACL_SET_LINK           = 426 // { int __acl_set_link(const char *path, \
-	SYS___ACL_DELETE_LINK        = 427 // { int __acl_delete_link(const char *path, \
-	SYS___ACL_ACLCHECK_LINK      = 428 // { int __acl_aclcheck_link(const char *path, \
-	SYS_SIGWAIT                  = 429 // { int sigwait(const sigset_t *set, \
-	SYS_THR_CREATE               = 430 // { int thr_create(ucontext_t *ctx, long *id, \
-	SYS_THR_EXIT                 = 431 // { void thr_exit(long *state); }
-	SYS_THR_SELF                 = 432 // { int thr_self(long *id); }
-	SYS_THR_KILL                 = 433 // { int thr_kill(long id, int sig); }
-	SYS__UMTX_LOCK               = 434 // { int _umtx_lock(struct umtx *umtx); }
-	SYS__UMTX_UNLOCK             = 435 // { int _umtx_unlock(struct umtx *umtx); }
-	SYS_JAIL_ATTACH              = 436 // { int jail_attach(int jid); }
-	SYS_EXTATTR_LIST_FD          = 437 // { ssize_t extattr_list_fd(int fd, \
-	SYS_EXTATTR_LIST_FILE        = 438 // { ssize_t extattr_list_file( \
-	SYS_EXTATTR_LIST_LINK        = 439 // { ssize_t extattr_list_link( \
-	SYS_KSEM_TIMEDWAIT           = 441 // { int ksem_timedwait(semid_t id, \
-	SYS_THR_SUSPEND              = 442 // { int thr_suspend( \
-	SYS_THR_WAKE                 = 443 // { int thr_wake(long id); }
-	SYS_KLDUNLOADF               = 444 // { int kldunloadf(int fileid, int flags); }
-	SYS_AUDIT                    = 445 // { int audit(const void *record, \
-	SYS_AUDITON                  = 446 // { int auditon(int cmd, void *data, \
-	SYS_GETAUID                  = 447 // { int getauid(uid_t *auid); }
-	SYS_SETAUID                  = 448 // { int setauid(uid_t *auid); }
-	SYS_GETAUDIT                 = 449 // { int getaudit(struct auditinfo *auditinfo); }
-	SYS_SETAUDIT                 = 450 // { int setaudit(struct auditinfo *auditinfo); }
-	SYS_GETAUDIT_ADDR            = 451 // { int getaudit_addr( \
-	SYS_SETAUDIT_ADDR            = 452 // { int setaudit_addr( \
-	SYS_AUDITCTL                 = 453 // { int auditctl(char *path); }
-	SYS__UMTX_OP                 = 454 // { int _umtx_op(void *obj, int op, \
-	SYS_THR_NEW                  = 455 // { int thr_new(struct thr_param *param, \
-	SYS_SIGQUEUE                 = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
-	SYS_KMQ_OPEN                 = 457 // { int kmq_open(const char *path, int flags, \
-	SYS_KMQ_SETATTR              = 458 // { int kmq_setattr(int mqd,		\
-	SYS_KMQ_TIMEDRECEIVE         = 459 // { int kmq_timedreceive(int mqd,	\
-	SYS_KMQ_TIMEDSEND            = 460 // { int kmq_timedsend(int mqd,		\
-	SYS_KMQ_NOTIFY               = 461 // { int kmq_notify(int mqd,		\
-	SYS_KMQ_UNLINK               = 462 // { int kmq_unlink(const char *path); }
-	SYS_ABORT2                   = 463 // { int abort2(const char *why, int nargs, void **args); }
-	SYS_THR_SET_NAME             = 464 // { int thr_set_name(long id, const char *name); }
-	SYS_AIO_FSYNC                = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); }
-	SYS_RTPRIO_THREAD            = 466 // { int rtprio_thread(int function, \
-	SYS_SCTP_PEELOFF             = 471 // { int sctp_peeloff(int sd, uint32_t name); }
-	SYS_SCTP_GENERIC_SENDMSG     = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \
-	SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
-	SYS_SCTP_GENERIC_RECVMSG     = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
-	SYS_PREAD                    = 475 // { ssize_t pread(int fd, void *buf, \
-	SYS_PWRITE                   = 476 // { ssize_t pwrite(int fd, const void *buf, \
-	SYS_MMAP                     = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
-	SYS_LSEEK                    = 478 // { off_t lseek(int fd, off_t offset, \
-	SYS_TRUNCATE                 = 479 // { int truncate(char *path, off_t length); }
-	SYS_FTRUNCATE                = 480 // { int ftruncate(int fd, off_t length); }
-	SYS_THR_KILL2                = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
-	SYS_SHM_OPEN                 = 482 // { int shm_open(const char *path, int flags, \
-	SYS_SHM_UNLINK               = 483 // { int shm_unlink(const char *path); }
-	SYS_CPUSET                   = 484 // { int cpuset(cpusetid_t *setid); }
-	SYS_CPUSET_SETID             = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
-	SYS_CPUSET_GETID             = 486 // { int cpuset_getid(cpulevel_t level, \
-	SYS_CPUSET_GETAFFINITY       = 487 // { int cpuset_getaffinity(cpulevel_t level, \
-	SYS_CPUSET_SETAFFINITY       = 488 // { int cpuset_setaffinity(cpulevel_t level, \
-	SYS_FACCESSAT                = 489 // { int faccessat(int fd, char *path, int amode, \
-	SYS_FCHMODAT                 = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
-	SYS_FCHOWNAT                 = 491 // { int fchownat(int fd, char *path, uid_t uid, \
-	SYS_FEXECVE                  = 492 // { int fexecve(int fd, char **argv, \
-	SYS_FSTATAT                  = 493 // { int fstatat(int fd, char *path, \
-	SYS_FUTIMESAT                = 494 // { int futimesat(int fd, char *path, \
-	SYS_LINKAT                   = 495 // { int linkat(int fd1, char *path1, int fd2, \
-	SYS_MKDIRAT                  = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
-	SYS_MKFIFOAT                 = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
-	SYS_MKNODAT                  = 498 // { int mknodat(int fd, char *path, mode_t mode, \
-	SYS_OPENAT                   = 499 // { int openat(int fd, char *path, int flag, \
-	SYS_READLINKAT               = 500 // { int readlinkat(int fd, char *path, char *buf, \
-	SYS_RENAMEAT                 = 501 // { int renameat(int oldfd, char *old, int newfd, \
-	SYS_SYMLINKAT                = 502 // { int symlinkat(char *path1, int fd, \
-	SYS_UNLINKAT                 = 503 // { int unlinkat(int fd, char *path, int flag); }
-	SYS_POSIX_OPENPT             = 504 // { int posix_openpt(int flags); }
-	SYS_GSSD_SYSCALL             = 505 // { int gssd_syscall(char *path); }
-	SYS_JAIL_GET                 = 506 // { int jail_get(struct iovec *iovp, \
-	SYS_JAIL_SET                 = 507 // { int jail_set(struct iovec *iovp, \
-	SYS_JAIL_REMOVE              = 508 // { int jail_remove(int jid); }
-	SYS_CLOSEFROM                = 509 // { int closefrom(int lowfd); }
-	SYS___SEMCTL                 = 510 // { int __semctl(int semid, int semnum, \
-	SYS_MSGCTL                   = 511 // { int msgctl(int msqid, int cmd, \
-	SYS_SHMCTL                   = 512 // { int shmctl(int shmid, int cmd, \
-	SYS_LPATHCONF                = 513 // { int lpathconf(char *path, int name); }
-	SYS___CAP_RIGHTS_GET         = 515 // { int __cap_rights_get(int version, \
-	SYS_CAP_ENTER                = 516 // { int cap_enter(void); }
-	SYS_CAP_GETMODE              = 517 // { int cap_getmode(u_int *modep); }
-	SYS_PDFORK                   = 518 // { int pdfork(int *fdp, int flags); }
-	SYS_PDKILL                   = 519 // { int pdkill(int fd, int signum); }
-	SYS_PDGETPID                 = 520 // { int pdgetpid(int fd, pid_t *pidp); }
-	SYS_PSELECT                  = 522 // { int pselect(int nd, fd_set *in, \
-	SYS_GETLOGINCLASS            = 523 // { int getloginclass(char *namebuf, \
-	SYS_SETLOGINCLASS            = 524 // { int setloginclass(const char *namebuf); }
-	SYS_RCTL_GET_RACCT           = 525 // { int rctl_get_racct(const void *inbufp, \
-	SYS_RCTL_GET_RULES           = 526 // { int rctl_get_rules(const void *inbufp, \
-	SYS_RCTL_GET_LIMITS          = 527 // { int rctl_get_limits(const void *inbufp, \
-	SYS_RCTL_ADD_RULE            = 528 // { int rctl_add_rule(const void *inbufp, \
-	SYS_RCTL_REMOVE_RULE         = 529 // { int rctl_remove_rule(const void *inbufp, \
-	SYS_POSIX_FALLOCATE          = 530 // { int posix_fallocate(int fd, \
-	SYS_POSIX_FADVISE            = 531 // { int posix_fadvise(int fd, off_t offset, \
-	SYS_WAIT6                    = 532 // { int wait6(idtype_t idtype, id_t id, \
-	SYS_CAP_RIGHTS_LIMIT         = 533 // { int cap_rights_limit(int fd, \
-	SYS_CAP_IOCTLS_LIMIT         = 534 // { int cap_ioctls_limit(int fd, \
-	SYS_CAP_IOCTLS_GET           = 535 // { ssize_t cap_ioctls_get(int fd, \
-	SYS_CAP_FCNTLS_LIMIT         = 536 // { int cap_fcntls_limit(int fd, \
-	SYS_CAP_FCNTLS_GET           = 537 // { int cap_fcntls_get(int fd, \
-	SYS_BINDAT                   = 538 // { int bindat(int fd, int s, caddr_t name, \
-	SYS_CONNECTAT                = 539 // { int connectat(int fd, int s, caddr_t name, \
-	SYS_CHFLAGSAT                = 540 // { int chflagsat(int fd, const char *path, \
-	SYS_ACCEPT4                  = 541 // { int accept4(int s, \
-	SYS_PIPE2                    = 542 // { int pipe2(int *fildes, int flags); }
-	SYS_AIO_MLOCK                = 543 // { int aio_mlock(struct aiocb *aiocbp); }
-	SYS_PROCCTL                  = 544 // { int procctl(idtype_t idtype, id_t id, \
-	SYS_PPOLL                    = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
-	SYS_FUTIMENS                 = 546 // { int futimens(int fd, \
-	SYS_UTIMENSAT                = 547 // { int utimensat(int fd, \
+	SYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \
+	SYS_FORK                   = 2   // { int fork(void); }
+	SYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \
+	SYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \
+	SYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }
+	SYS_CLOSE                  = 6   // { int close(int fd); }
+	SYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \
+	SYS_LINK                   = 9   // { int link(char *path, char *link); }
+	SYS_UNLINK                 = 10  // { int unlink(char *path); }
+	SYS_CHDIR                  = 12  // { int chdir(char *path); }
+	SYS_FCHDIR                 = 13  // { int fchdir(int fd); }
+	SYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }
+	SYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }
+	SYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }
+	SYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \
+	SYS_GETPID                 = 20  // { pid_t getpid(void); }
+	SYS_MOUNT                  = 21  // { int mount(char *type, char *path, \
+	SYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }
+	SYS_SETUID                 = 23  // { int setuid(uid_t uid); }
+	SYS_GETUID                 = 24  // { uid_t getuid(void); }
+	SYS_GETEUID                = 25  // { uid_t geteuid(void); }
+	SYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \
+	SYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \
+	SYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \
+	SYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \
+	SYS_ACCEPT                 = 30  // { int accept(int s, \
+	SYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \
+	SYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \
+	SYS_ACCESS                 = 33  // { int access(char *path, int amode); }
+	SYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }
+	SYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }
+	SYS_SYNC                   = 36  // { int sync(void); }
+	SYS_KILL                   = 37  // { int kill(int pid, int signum); }
+	SYS_GETPPID                = 39  // { pid_t getppid(void); }
+	SYS_DUP                    = 41  // { int dup(u_int fd); }
+	SYS_PIPE                   = 42  // { int pipe(void); }
+	SYS_GETEGID                = 43  // { gid_t getegid(void); }
+	SYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \
+	SYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \
+	SYS_GETGID                 = 47  // { gid_t getgid(void); }
+	SYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \
+	SYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }
+	SYS_ACCT                   = 51  // { int acct(char *path); }
+	SYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \
+	SYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \
+	SYS_REBOOT                 = 55  // { int reboot(int opt); }
+	SYS_REVOKE                 = 56  // { int revoke(char *path); }
+	SYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }
+	SYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \
+	SYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \
+	SYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \
+	SYS_CHROOT                 = 61  // { int chroot(char *path); }
+	SYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \
+	SYS_VFORK                  = 66  // { int vfork(void); }
+	SYS_SBRK                   = 69  // { int sbrk(int incr); }
+	SYS_SSTK                   = 70  // { int sstk(int incr); }
+	SYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \
+	SYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }
+	SYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \
+	SYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \
+	SYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \
+	SYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \
+	SYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \
+	SYS_GETPGRP                = 81  // { int getpgrp(void); }
+	SYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }
+	SYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \
+	SYS_SWAPON                 = 85  // { int swapon(char *name); }
+	SYS_GETITIMER              = 86  // { int getitimer(u_int which, \
+	SYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }
+	SYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }
+	SYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }
+	SYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
+	SYS_FSYNC                  = 95  // { int fsync(int fd); }
+	SYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \
+	SYS_SOCKET                 = 97  // { int socket(int domain, int type, \
+	SYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \
+	SYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }
+	SYS_BIND                   = 104 // { int bind(int s, caddr_t name, \
+	SYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \
+	SYS_LISTEN                 = 106 // { int listen(int s, int backlog); }
+	SYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \
+	SYS_GETRUSAGE              = 117 // { int getrusage(int who, \
+	SYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \
+	SYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \
+	SYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \
+	SYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \
+	SYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }
+	SYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }
+	SYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }
+	SYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }
+	SYS_RENAME                 = 128 // { int rename(char *from, char *to); }
+	SYS_FLOCK                  = 131 // { int flock(int fd, int how); }
+	SYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }
+	SYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \
+	SYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }
+	SYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \
+	SYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }
+	SYS_RMDIR                  = 137 // { int rmdir(char *path); }
+	SYS_UTIMES                 = 138 // { int utimes(char *path, \
+	SYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \
+	SYS_SETSID                 = 147 // { int setsid(void); }
+	SYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \
+	SYS_LGETFH                 = 160 // { int lgetfh(char *fname, \
+	SYS_GETFH                  = 161 // { int getfh(char *fname, \
+	SYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }
+	SYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \
+	SYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
+	SYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \
+	SYS_SETFIB                 = 175 // { int setfib(int fibnum); }
+	SYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }
+	SYS_SETGID                 = 181 // { int setgid(gid_t gid); }
+	SYS_SETEGID                = 182 // { int setegid(gid_t egid); }
+	SYS_SETEUID                = 183 // { int seteuid(uid_t euid); }
+	SYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }
+	SYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }
+	SYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }
+	SYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }
+	SYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }
+	SYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \
+	SYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \
+	SYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \
+	SYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
+	SYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \
+	SYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \
+	SYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \
+	SYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \
+	SYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }
+	SYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }
+	SYS_UNDELETE               = 205 // { int undelete(char *path); }
+	SYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }
+	SYS_GETPGID                = 207 // { int getpgid(pid_t pid); }
+	SYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \
+	SYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \
+	SYS_CLOCK_SETTIME          = 233 // { int clock_settime( \
+	SYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \
+	SYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \
+	SYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }
+	SYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \
+	SYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \
+	SYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }
+	SYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \
+	SYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
+	SYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \
+	SYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \
+	SYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\
+	SYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
+	SYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \
+	SYS_RFORK                  = 251 // { int rfork(int flags); }
+	SYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \
+	SYS_ISSETUGID              = 253 // { int issetugid(void); }
+	SYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }
+	SYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \
+	SYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }
+	SYS_LUTIMES                = 276 // { int lutimes(char *path, \
+	SYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }
+	SYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }
+	SYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }
+	SYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
+	SYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
+	SYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \
+	SYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \
+	SYS_MODNEXT                = 300 // { int modnext(int modid); }
+	SYS_MODSTAT                = 301 // { int modstat(int modid, \
+	SYS_MODFNEXT               = 302 // { int modfnext(int modid); }
+	SYS_MODFIND                = 303 // { int modfind(const char *name); }
+	SYS_KLDLOAD                = 304 // { int kldload(const char *file); }
+	SYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }
+	SYS_KLDFIND                = 306 // { int kldfind(const char *file); }
+	SYS_KLDNEXT                = 307 // { int kldnext(int fileid); }
+	SYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \
+	SYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }
+	SYS_GETSID                 = 310 // { int getsid(pid_t pid); }
+	SYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \
+	SYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \
+	SYS_YIELD                  = 321 // { int yield(void); }
+	SYS_MLOCKALL               = 324 // { int mlockall(int how); }
+	SYS_MUNLOCKALL             = 325 // { int munlockall(void); }
+	SYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }
+	SYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \
+	SYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \
+	SYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \
+	SYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }
+	SYS_SCHED_YIELD            = 331 // { int sched_yield (void); }
+	SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }
+	SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }
+	SYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \
+	SYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }
+	SYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \
+	SYS_JAIL                   = 338 // { int jail(struct jail *jail); }
+	SYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \
+	SYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }
+	SYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }
+	SYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \
+	SYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \
+	SYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \
+	SYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \
+	SYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \
+	SYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \
+	SYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \
+	SYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \
+	SYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \
+	SYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \
+	SYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \
+	SYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \
+	SYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \
+	SYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \
+	SYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
+	SYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
+	SYS_KQUEUE                 = 362 // { int kqueue(void); }
+	SYS_KEVENT                 = 363 // { int kevent(int fd, \
+	SYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \
+	SYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \
+	SYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \
+	SYS___SETUGID              = 374 // { int __setugid(int flag); }
+	SYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }
+	SYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \
+	SYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }
+	SYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }
+	SYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \
+	SYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \
+	SYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \
+	SYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \
+	SYS_KENV                   = 390 // { int kenv(int what, const char *name, \
+	SYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \
+	SYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \
+	SYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \
+	SYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \
+	SYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \
+	SYS_STATFS                 = 396 // { int statfs(char *path, \
+	SYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }
+	SYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
+	SYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \
+	SYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \
+	SYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \
+	SYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \
+	SYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \
+	SYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \
+	SYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \
+	SYS_SIGACTION              = 416 // { int sigaction(int sig, \
+	SYS_SIGRETURN              = 417 // { int sigreturn( \
+	SYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }
+	SYS_SETCONTEXT             = 422 // { int setcontext( \
+	SYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \
+	SYS_SWAPOFF                = 424 // { int swapoff(const char *name); }
+	SYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \
+	SYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \
+	SYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \
+	SYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \
+	SYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \
+	SYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \
+	SYS_THR_EXIT               = 431 // { void thr_exit(long *state); }
+	SYS_THR_SELF               = 432 // { int thr_self(long *id); }
+	SYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }
+	SYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }
+	SYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }
+	SYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }
+	SYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \
+	SYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \
+	SYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \
+	SYS_THR_SUSPEND            = 442 // { int thr_suspend( \
+	SYS_THR_WAKE               = 443 // { int thr_wake(long id); }
+	SYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }
+	SYS_AUDIT                  = 445 // { int audit(const void *record, \
+	SYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \
+	SYS_GETAUID                = 447 // { int getauid(uid_t *auid); }
+	SYS_SETAUID                = 448 // { int setauid(uid_t *auid); }
+	SYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }
+	SYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }
+	SYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \
+	SYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \
+	SYS_AUDITCTL               = 453 // { int auditctl(char *path); }
+	SYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \
+	SYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \
+	SYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
+	SYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }
+	SYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }
+	SYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \
+	SYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \
+	SYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \
+	SYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
+	SYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \
+	SYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }
+	SYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }
+	SYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
+	SYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \
+	SYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }
+	SYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }
+	SYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
+	SYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \
+	SYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \
+	SYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \
+	SYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \
+	SYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
+	SYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \
+	SYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \
+	SYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \
+	SYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \
+	SYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \
+	SYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
+	SYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
+	SYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \
+	SYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \
+	SYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \
+	SYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \
+	SYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \
+	SYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }
+	SYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }
+	SYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \
+	SYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \
+	SYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }
+	SYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }
+	SYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }
+	SYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \
+	SYS_CAP_ENTER              = 516 // { int cap_enter(void); }
+	SYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }
+	SYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }
+	SYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }
+	SYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }
+	SYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \
+	SYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \
+	SYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }
+	SYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \
+	SYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \
+	SYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \
+	SYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \
+	SYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \
+	SYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \
+	SYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \
+	SYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \
+	SYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \
+	SYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \
+	SYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \
+	SYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \
+	SYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \
+	SYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \
+	SYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \
+	SYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \
+	SYS_ACCEPT4                = 541 // { int accept4(int s, \
+	SYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }
+	SYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \
+	SYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+	SYS_FUTIMENS               = 546 // { int futimens(int fd, \
+	SYS_UTIMENSAT              = 547 // { int utimensat(int fd, \
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
index b66f900..81722ac 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
@@ -7,397 +7,347 @@ package unix
 
 const (
 	// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int
-	SYS_EXIT                     = 1   // { void sys_exit(int rval); } exit \
-	SYS_FORK                     = 2   // { int fork(void); }
-	SYS_READ                     = 3   // { ssize_t read(int fd, void *buf, \
-	SYS_WRITE                    = 4   // { ssize_t write(int fd, const void *buf, \
-	SYS_OPEN                     = 5   // { int open(char *path, int flags, int mode); }
-	SYS_CLOSE                    = 6   // { int close(int fd); }
-	SYS_WAIT4                    = 7   // { int wait4(int pid, int *status, \
-	SYS_LINK                     = 9   // { int link(char *path, char *link); }
-	SYS_UNLINK                   = 10  // { int unlink(char *path); }
-	SYS_CHDIR                    = 12  // { int chdir(char *path); }
-	SYS_FCHDIR                   = 13  // { int fchdir(int fd); }
-	SYS_MKNOD                    = 14  // { int mknod(char *path, int mode, int dev); }
-	SYS_CHMOD                    = 15  // { int chmod(char *path, int mode); }
-	SYS_CHOWN                    = 16  // { int chown(char *path, int uid, int gid); }
-	SYS_OBREAK                   = 17  // { int obreak(char *nsize); } break \
-	SYS_GETPID                   = 20  // { pid_t getpid(void); }
-	SYS_MOUNT                    = 21  // { int mount(char *type, char *path, \
-	SYS_UNMOUNT                  = 22  // { int unmount(char *path, int flags); }
-	SYS_SETUID                   = 23  // { int setuid(uid_t uid); }
-	SYS_GETUID                   = 24  // { uid_t getuid(void); }
-	SYS_GETEUID                  = 25  // { uid_t geteuid(void); }
-	SYS_PTRACE                   = 26  // { int ptrace(int req, pid_t pid, \
-	SYS_RECVMSG                  = 27  // { int recvmsg(int s, struct msghdr *msg, \
-	SYS_SENDMSG                  = 28  // { int sendmsg(int s, struct msghdr *msg, \
-	SYS_RECVFROM                 = 29  // { int recvfrom(int s, caddr_t buf, \
-	SYS_ACCEPT                   = 30  // { int accept(int s, \
-	SYS_GETPEERNAME              = 31  // { int getpeername(int fdes, \
-	SYS_GETSOCKNAME              = 32  // { int getsockname(int fdes, \
-	SYS_ACCESS                   = 33  // { int access(char *path, int amode); }
-	SYS_CHFLAGS                  = 34  // { int chflags(const char *path, u_long flags); }
-	SYS_FCHFLAGS                 = 35  // { int fchflags(int fd, u_long flags); }
-	SYS_SYNC                     = 36  // { int sync(void); }
-	SYS_KILL                     = 37  // { int kill(int pid, int signum); }
-	SYS_GETPPID                  = 39  // { pid_t getppid(void); }
-	SYS_DUP                      = 41  // { int dup(u_int fd); }
-	SYS_PIPE                     = 42  // { int pipe(void); }
-	SYS_GETEGID                  = 43  // { gid_t getegid(void); }
-	SYS_PROFIL                   = 44  // { int profil(caddr_t samples, size_t size, \
-	SYS_KTRACE                   = 45  // { int ktrace(const char *fname, int ops, \
-	SYS_GETGID                   = 47  // { gid_t getgid(void); }
-	SYS_GETLOGIN                 = 49  // { int getlogin(char *namebuf, u_int \
-	SYS_SETLOGIN                 = 50  // { int setlogin(char *namebuf); }
-	SYS_ACCT                     = 51  // { int acct(char *path); }
-	SYS_SIGALTSTACK              = 53  // { int sigaltstack(stack_t *ss, \
-	SYS_IOCTL                    = 54  // { int ioctl(int fd, u_long com, \
-	SYS_REBOOT                   = 55  // { int reboot(int opt); }
-	SYS_REVOKE                   = 56  // { int revoke(char *path); }
-	SYS_SYMLINK                  = 57  // { int symlink(char *path, char *link); }
-	SYS_READLINK                 = 58  // { ssize_t readlink(char *path, char *buf, \
-	SYS_EXECVE                   = 59  // { int execve(char *fname, char **argv, \
-	SYS_UMASK                    = 60  // { int umask(int newmask); } umask umask_args \
-	SYS_CHROOT                   = 61  // { int chroot(char *path); }
-	SYS_MSYNC                    = 65  // { int msync(void *addr, size_t len, \
-	SYS_VFORK                    = 66  // { int vfork(void); }
-	SYS_SBRK                     = 69  // { int sbrk(int incr); }
-	SYS_SSTK                     = 70  // { int sstk(int incr); }
-	SYS_OVADVISE                 = 72  // { int ovadvise(int anom); } vadvise \
-	SYS_MUNMAP                   = 73  // { int munmap(void *addr, size_t len); }
-	SYS_MPROTECT                 = 74  // { int mprotect(const void *addr, size_t len, \
-	SYS_MADVISE                  = 75  // { int madvise(void *addr, size_t len, \
-	SYS_MINCORE                  = 78  // { int mincore(const void *addr, size_t len, \
-	SYS_GETGROUPS                = 79  // { int getgroups(u_int gidsetsize, \
-	SYS_SETGROUPS                = 80  // { int setgroups(u_int gidsetsize, \
-	SYS_GETPGRP                  = 81  // { int getpgrp(void); }
-	SYS_SETPGID                  = 82  // { int setpgid(int pid, int pgid); }
-	SYS_SETITIMER                = 83  // { int setitimer(u_int which, struct \
-	SYS_SWAPON                   = 85  // { int swapon(char *name); }
-	SYS_GETITIMER                = 86  // { int getitimer(u_int which, \
-	SYS_GETDTABLESIZE            = 89  // { int getdtablesize(void); }
-	SYS_DUP2                     = 90  // { int dup2(u_int from, u_int to); }
-	SYS_FCNTL                    = 92  // { int fcntl(int fd, int cmd, long arg); }
-	SYS_SELECT                   = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
-	SYS_FSYNC                    = 95  // { int fsync(int fd); }
-	SYS_SETPRIORITY              = 96  // { int setpriority(int which, int who, \
-	SYS_SOCKET                   = 97  // { int socket(int domain, int type, \
-	SYS_CONNECT                  = 98  // { int connect(int s, caddr_t name, \
-	SYS_GETPRIORITY              = 100 // { int getpriority(int which, int who); }
-	SYS_BIND                     = 104 // { int bind(int s, caddr_t name, \
-	SYS_SETSOCKOPT               = 105 // { int setsockopt(int s, int level, int name, \
-	SYS_LISTEN                   = 106 // { int listen(int s, int backlog); }
-	SYS_GETTIMEOFDAY             = 116 // { int gettimeofday(struct timeval *tp, \
-	SYS_GETRUSAGE                = 117 // { int getrusage(int who, \
-	SYS_GETSOCKOPT               = 118 // { int getsockopt(int s, int level, int name, \
-	SYS_READV                    = 120 // { int readv(int fd, struct iovec *iovp, \
-	SYS_WRITEV                   = 121 // { int writev(int fd, struct iovec *iovp, \
-	SYS_SETTIMEOFDAY             = 122 // { int settimeofday(struct timeval *tv, \
-	SYS_FCHOWN                   = 123 // { int fchown(int fd, int uid, int gid); }
-	SYS_FCHMOD                   = 124 // { int fchmod(int fd, int mode); }
-	SYS_SETREUID                 = 126 // { int setreuid(int ruid, int euid); }
-	SYS_SETREGID                 = 127 // { int setregid(int rgid, int egid); }
-	SYS_RENAME                   = 128 // { int rename(char *from, char *to); }
-	SYS_FLOCK                    = 131 // { int flock(int fd, int how); }
-	SYS_MKFIFO                   = 132 // { int mkfifo(char *path, int mode); }
-	SYS_SENDTO                   = 133 // { int sendto(int s, caddr_t buf, size_t len, \
-	SYS_SHUTDOWN                 = 134 // { int shutdown(int s, int how); }
-	SYS_SOCKETPAIR               = 135 // { int socketpair(int domain, int type, \
-	SYS_MKDIR                    = 136 // { int mkdir(char *path, int mode); }
-	SYS_RMDIR                    = 137 // { int rmdir(char *path); }
-	SYS_UTIMES                   = 138 // { int utimes(char *path, \
-	SYS_ADJTIME                  = 140 // { int adjtime(struct timeval *delta, \
-	SYS_SETSID                   = 147 // { int setsid(void); }
-	SYS_QUOTACTL                 = 148 // { int quotactl(char *path, int cmd, int uid, \
-	SYS_NLM_SYSCALL              = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); }
-	SYS_NFSSVC                   = 155 // { int nfssvc(int flag, caddr_t argp); }
-	SYS_LGETFH                   = 160 // { int lgetfh(char *fname, \
-	SYS_GETFH                    = 161 // { int getfh(char *fname, \
-	SYS_SYSARCH                  = 165 // { int sysarch(int op, char *parms); }
-	SYS_RTPRIO                   = 166 // { int rtprio(int function, pid_t pid, \
-	SYS_SEMSYS                   = 169 // { int semsys(int which, int a2, int a3, \
-	SYS_MSGSYS                   = 170 // { int msgsys(int which, int a2, int a3, \
-	SYS_SHMSYS                   = 171 // { int shmsys(int which, int a2, int a3, \
-	SYS_FREEBSD6_PREAD           = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
-	SYS_FREEBSD6_PWRITE          = 174 // { ssize_t freebsd6_pwrite(int fd, \
-	SYS_SETFIB                   = 175 // { int setfib(int fibnum); }
-	SYS_NTP_ADJTIME              = 176 // { int ntp_adjtime(struct timex *tp); }
-	SYS_SETGID                   = 181 // { int setgid(gid_t gid); }
-	SYS_SETEGID                  = 182 // { int setegid(gid_t egid); }
-	SYS_SETEUID                  = 183 // { int seteuid(uid_t euid); }
-	SYS_STAT                     = 188 // { int stat(char *path, struct stat *ub); }
-	SYS_FSTAT                    = 189 // { int fstat(int fd, struct stat *sb); }
-	SYS_LSTAT                    = 190 // { int lstat(char *path, struct stat *ub); }
-	SYS_PATHCONF                 = 191 // { int pathconf(char *path, int name); }
-	SYS_FPATHCONF                = 192 // { int fpathconf(int fd, int name); }
-	SYS_GETRLIMIT                = 194 // { int getrlimit(u_int which, \
-	SYS_SETRLIMIT                = 195 // { int setrlimit(u_int which, \
-	SYS_GETDIRENTRIES            = 196 // { int getdirentries(int fd, char *buf, \
-	SYS_FREEBSD6_MMAP            = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
-	SYS_FREEBSD6_LSEEK           = 199 // { off_t freebsd6_lseek(int fd, int pad, \
-	SYS_FREEBSD6_TRUNCATE        = 200 // { int freebsd6_truncate(char *path, int pad, \
-	SYS_FREEBSD6_FTRUNCATE       = 201 // { int freebsd6_ftruncate(int fd, int pad, \
-	SYS___SYSCTL                 = 202 // { int __sysctl(int *name, u_int namelen, \
-	SYS_MLOCK                    = 203 // { int mlock(const void *addr, size_t len); }
-	SYS_MUNLOCK                  = 204 // { int munlock(const void *addr, size_t len); }
-	SYS_UNDELETE                 = 205 // { int undelete(char *path); }
-	SYS_FUTIMES                  = 206 // { int futimes(int fd, struct timeval *tptr); }
-	SYS_GETPGID                  = 207 // { int getpgid(pid_t pid); }
-	SYS_POLL                     = 209 // { int poll(struct pollfd *fds, u_int nfds, \
-	SYS_SEMGET                   = 221 // { int semget(key_t key, int nsems, \
-	SYS_SEMOP                    = 222 // { int semop(int semid, struct sembuf *sops, \
-	SYS_MSGGET                   = 225 // { int msgget(key_t key, int msgflg); }
-	SYS_MSGSND                   = 226 // { int msgsnd(int msqid, const void *msgp, \
-	SYS_MSGRCV                   = 227 // { int msgrcv(int msqid, void *msgp, \
-	SYS_SHMAT                    = 228 // { int shmat(int shmid, const void *shmaddr, \
-	SYS_SHMDT                    = 230 // { int shmdt(const void *shmaddr); }
-	SYS_SHMGET                   = 231 // { int shmget(key_t key, size_t size, \
-	SYS_CLOCK_GETTIME            = 232 // { int clock_gettime(clockid_t clock_id, \
-	SYS_CLOCK_SETTIME            = 233 // { int clock_settime( \
-	SYS_CLOCK_GETRES             = 234 // { int clock_getres(clockid_t clock_id, \
-	SYS_KTIMER_CREATE            = 235 // { int ktimer_create(clockid_t clock_id, \
-	SYS_KTIMER_DELETE            = 236 // { int ktimer_delete(int timerid); }
-	SYS_KTIMER_SETTIME           = 237 // { int ktimer_settime(int timerid, int flags, \
-	SYS_KTIMER_GETTIME           = 238 // { int ktimer_gettime(int timerid, struct \
-	SYS_KTIMER_GETOVERRUN        = 239 // { int ktimer_getoverrun(int timerid); }
-	SYS_NANOSLEEP                = 240 // { int nanosleep(const struct timespec *rqtp, \
-	SYS_FFCLOCK_GETCOUNTER       = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
-	SYS_FFCLOCK_SETESTIMATE      = 242 // { int ffclock_setestimate( \
-	SYS_FFCLOCK_GETESTIMATE      = 243 // { int ffclock_getestimate( \
-	SYS_CLOCK_GETCPUCLOCKID2     = 247 // { int clock_getcpuclockid2(id_t id,\
-	SYS_NTP_GETTIME              = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
-	SYS_MINHERIT                 = 250 // { int minherit(void *addr, size_t len, \
-	SYS_RFORK                    = 251 // { int rfork(int flags); }
-	SYS_OPENBSD_POLL             = 252 // { int openbsd_poll(struct pollfd *fds, \
-	SYS_ISSETUGID                = 253 // { int issetugid(void); }
-	SYS_LCHOWN                   = 254 // { int lchown(char *path, int uid, int gid); }
-	SYS_AIO_READ                 = 255 // { int aio_read(struct aiocb *aiocbp); }
-	SYS_AIO_WRITE                = 256 // { int aio_write(struct aiocb *aiocbp); }
-	SYS_LIO_LISTIO               = 257 // { int lio_listio(int mode, \
-	SYS_GETDENTS                 = 272 // { int getdents(int fd, char *buf, \
-	SYS_LCHMOD                   = 274 // { int lchmod(char *path, mode_t mode); }
-	SYS_LUTIMES                  = 276 // { int lutimes(char *path, \
-	SYS_NSTAT                    = 278 // { int nstat(char *path, struct nstat *ub); }
-	SYS_NFSTAT                   = 279 // { int nfstat(int fd, struct nstat *sb); }
-	SYS_NLSTAT                   = 280 // { int nlstat(char *path, struct nstat *ub); }
-	SYS_PREADV                   = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
-	SYS_PWRITEV                  = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
-	SYS_FHOPEN                   = 298 // { int fhopen(const struct fhandle *u_fhp, \
-	SYS_FHSTAT                   = 299 // { int fhstat(const struct fhandle *u_fhp, \
-	SYS_MODNEXT                  = 300 // { int modnext(int modid); }
-	SYS_MODSTAT                  = 301 // { int modstat(int modid, \
-	SYS_MODFNEXT                 = 302 // { int modfnext(int modid); }
-	SYS_MODFIND                  = 303 // { int modfind(const char *name); }
-	SYS_KLDLOAD                  = 304 // { int kldload(const char *file); }
-	SYS_KLDUNLOAD                = 305 // { int kldunload(int fileid); }
-	SYS_KLDFIND                  = 306 // { int kldfind(const char *file); }
-	SYS_KLDNEXT                  = 307 // { int kldnext(int fileid); }
-	SYS_KLDSTAT                  = 308 // { int kldstat(int fileid, struct \
-	SYS_KLDFIRSTMOD              = 309 // { int kldfirstmod(int fileid); }
-	SYS_GETSID                   = 310 // { int getsid(pid_t pid); }
-	SYS_SETRESUID                = 311 // { int setresuid(uid_t ruid, uid_t euid, \
-	SYS_SETRESGID                = 312 // { int setresgid(gid_t rgid, gid_t egid, \
-	SYS_AIO_RETURN               = 314 // { int aio_return(struct aiocb *aiocbp); }
-	SYS_AIO_SUSPEND              = 315 // { int aio_suspend( \
-	SYS_AIO_CANCEL               = 316 // { int aio_cancel(int fd, \
-	SYS_AIO_ERROR                = 317 // { int aio_error(struct aiocb *aiocbp); }
-	SYS_OAIO_READ                = 318 // { int oaio_read(struct oaiocb *aiocbp); }
-	SYS_OAIO_WRITE               = 319 // { int oaio_write(struct oaiocb *aiocbp); }
-	SYS_OLIO_LISTIO              = 320 // { int olio_listio(int mode, \
-	SYS_YIELD                    = 321 // { int yield(void); }
-	SYS_MLOCKALL                 = 324 // { int mlockall(int how); }
-	SYS_MUNLOCKALL               = 325 // { int munlockall(void); }
-	SYS___GETCWD                 = 326 // { int __getcwd(char *buf, u_int buflen); }
-	SYS_SCHED_SETPARAM           = 327 // { int sched_setparam (pid_t pid, \
-	SYS_SCHED_GETPARAM           = 328 // { int sched_getparam (pid_t pid, struct \
-	SYS_SCHED_SETSCHEDULER       = 329 // { int sched_setscheduler (pid_t pid, int \
-	SYS_SCHED_GETSCHEDULER       = 330 // { int sched_getscheduler (pid_t pid); }
-	SYS_SCHED_YIELD              = 331 // { int sched_yield (void); }
-	SYS_SCHED_GET_PRIORITY_MAX   = 332 // { int sched_get_priority_max (int policy); }
-	SYS_SCHED_GET_PRIORITY_MIN   = 333 // { int sched_get_priority_min (int policy); }
-	SYS_SCHED_RR_GET_INTERVAL    = 334 // { int sched_rr_get_interval (pid_t pid, \
-	SYS_UTRACE                   = 335 // { int utrace(const void *addr, size_t len); }
-	SYS_KLDSYM                   = 337 // { int kldsym(int fileid, int cmd, \
-	SYS_JAIL                     = 338 // { int jail(struct jail *jail); }
-	SYS_SIGPROCMASK              = 340 // { int sigprocmask(int how, \
-	SYS_SIGSUSPEND               = 341 // { int sigsuspend(const sigset_t *sigmask); }
-	SYS_SIGPENDING               = 343 // { int sigpending(sigset_t *set); }
-	SYS_SIGTIMEDWAIT             = 345 // { int sigtimedwait(const sigset_t *set, \
-	SYS_SIGWAITINFO              = 346 // { int sigwaitinfo(const sigset_t *set, \
-	SYS___ACL_GET_FILE           = 347 // { int __acl_get_file(const char *path, \
-	SYS___ACL_SET_FILE           = 348 // { int __acl_set_file(const char *path, \
-	SYS___ACL_GET_FD             = 349 // { int __acl_get_fd(int filedes, \
-	SYS___ACL_SET_FD             = 350 // { int __acl_set_fd(int filedes, \
-	SYS___ACL_DELETE_FILE        = 351 // { int __acl_delete_file(const char *path, \
-	SYS___ACL_DELETE_FD          = 352 // { int __acl_delete_fd(int filedes, \
-	SYS___ACL_ACLCHECK_FILE      = 353 // { int __acl_aclcheck_file(const char *path, \
-	SYS___ACL_ACLCHECK_FD        = 354 // { int __acl_aclcheck_fd(int filedes, \
-	SYS_EXTATTRCTL               = 355 // { int extattrctl(const char *path, int cmd, \
-	SYS_EXTATTR_SET_FILE         = 356 // { ssize_t extattr_set_file( \
-	SYS_EXTATTR_GET_FILE         = 357 // { ssize_t extattr_get_file( \
-	SYS_EXTATTR_DELETE_FILE      = 358 // { int extattr_delete_file(const char *path, \
-	SYS_AIO_WAITCOMPLETE         = 359 // { int aio_waitcomplete( \
-	SYS_GETRESUID                = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
-	SYS_GETRESGID                = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
-	SYS_KQUEUE                   = 362 // { int kqueue(void); }
-	SYS_KEVENT                   = 363 // { int kevent(int fd, \
-	SYS_EXTATTR_SET_FD           = 371 // { ssize_t extattr_set_fd(int fd, \
-	SYS_EXTATTR_GET_FD           = 372 // { ssize_t extattr_get_fd(int fd, \
-	SYS_EXTATTR_DELETE_FD        = 373 // { int extattr_delete_fd(int fd, \
-	SYS___SETUGID                = 374 // { int __setugid(int flag); }
-	SYS_EACCESS                  = 376 // { int eaccess(char *path, int amode); }
-	SYS_NMOUNT                   = 378 // { int nmount(struct iovec *iovp, \
-	SYS___MAC_GET_PROC           = 384 // { int __mac_get_proc(struct mac *mac_p); }
-	SYS___MAC_SET_PROC           = 385 // { int __mac_set_proc(struct mac *mac_p); }
-	SYS___MAC_GET_FD             = 386 // { int __mac_get_fd(int fd, \
-	SYS___MAC_GET_FILE           = 387 // { int __mac_get_file(const char *path_p, \
-	SYS___MAC_SET_FD             = 388 // { int __mac_set_fd(int fd, \
-	SYS___MAC_SET_FILE           = 389 // { int __mac_set_file(const char *path_p, \
-	SYS_KENV                     = 390 // { int kenv(int what, const char *name, \
-	SYS_LCHFLAGS                 = 391 // { int lchflags(const char *path, \
-	SYS_UUIDGEN                  = 392 // { int uuidgen(struct uuid *store, \
-	SYS_SENDFILE                 = 393 // { int sendfile(int fd, int s, off_t offset, \
-	SYS_MAC_SYSCALL              = 394 // { int mac_syscall(const char *policy, \
-	SYS_GETFSSTAT                = 395 // { int getfsstat(struct statfs *buf, \
-	SYS_STATFS                   = 396 // { int statfs(char *path, \
-	SYS_FSTATFS                  = 397 // { int fstatfs(int fd, struct statfs *buf); }
-	SYS_FHSTATFS                 = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
-	SYS_KSEM_CLOSE               = 400 // { int ksem_close(semid_t id); }
-	SYS_KSEM_POST                = 401 // { int ksem_post(semid_t id); }
-	SYS_KSEM_WAIT                = 402 // { int ksem_wait(semid_t id); }
-	SYS_KSEM_TRYWAIT             = 403 // { int ksem_trywait(semid_t id); }
-	SYS_KSEM_INIT                = 404 // { int ksem_init(semid_t *idp, \
-	SYS_KSEM_OPEN                = 405 // { int ksem_open(semid_t *idp, \
-	SYS_KSEM_UNLINK              = 406 // { int ksem_unlink(const char *name); }
-	SYS_KSEM_GETVALUE            = 407 // { int ksem_getvalue(semid_t id, int *val); }
-	SYS_KSEM_DESTROY             = 408 // { int ksem_destroy(semid_t id); }
-	SYS___MAC_GET_PID            = 409 // { int __mac_get_pid(pid_t pid, \
-	SYS___MAC_GET_LINK           = 410 // { int __mac_get_link(const char *path_p, \
-	SYS___MAC_SET_LINK           = 411 // { int __mac_set_link(const char *path_p, \
-	SYS_EXTATTR_SET_LINK         = 412 // { ssize_t extattr_set_link( \
-	SYS_EXTATTR_GET_LINK         = 413 // { ssize_t extattr_get_link( \
-	SYS_EXTATTR_DELETE_LINK      = 414 // { int extattr_delete_link( \
-	SYS___MAC_EXECVE             = 415 // { int __mac_execve(char *fname, char **argv, \
-	SYS_SIGACTION                = 416 // { int sigaction(int sig, \
-	SYS_SIGRETURN                = 417 // { int sigreturn( \
-	SYS_GETCONTEXT               = 421 // { int getcontext(struct __ucontext *ucp); }
-	SYS_SETCONTEXT               = 422 // { int setcontext( \
-	SYS_SWAPCONTEXT              = 423 // { int swapcontext(struct __ucontext *oucp, \
-	SYS_SWAPOFF                  = 424 // { int swapoff(const char *name); }
-	SYS___ACL_GET_LINK           = 425 // { int __acl_get_link(const char *path, \
-	SYS___ACL_SET_LINK           = 426 // { int __acl_set_link(const char *path, \
-	SYS___ACL_DELETE_LINK        = 427 // { int __acl_delete_link(const char *path, \
-	SYS___ACL_ACLCHECK_LINK      = 428 // { int __acl_aclcheck_link(const char *path, \
-	SYS_SIGWAIT                  = 429 // { int sigwait(const sigset_t *set, \
-	SYS_THR_CREATE               = 430 // { int thr_create(ucontext_t *ctx, long *id, \
-	SYS_THR_EXIT                 = 431 // { void thr_exit(long *state); }
-	SYS_THR_SELF                 = 432 // { int thr_self(long *id); }
-	SYS_THR_KILL                 = 433 // { int thr_kill(long id, int sig); }
-	SYS__UMTX_LOCK               = 434 // { int _umtx_lock(struct umtx *umtx); }
-	SYS__UMTX_UNLOCK             = 435 // { int _umtx_unlock(struct umtx *umtx); }
-	SYS_JAIL_ATTACH              = 436 // { int jail_attach(int jid); }
-	SYS_EXTATTR_LIST_FD          = 437 // { ssize_t extattr_list_fd(int fd, \
-	SYS_EXTATTR_LIST_FILE        = 438 // { ssize_t extattr_list_file( \
-	SYS_EXTATTR_LIST_LINK        = 439 // { ssize_t extattr_list_link( \
-	SYS_KSEM_TIMEDWAIT           = 441 // { int ksem_timedwait(semid_t id, \
-	SYS_THR_SUSPEND              = 442 // { int thr_suspend( \
-	SYS_THR_WAKE                 = 443 // { int thr_wake(long id); }
-	SYS_KLDUNLOADF               = 444 // { int kldunloadf(int fileid, int flags); }
-	SYS_AUDIT                    = 445 // { int audit(const void *record, \
-	SYS_AUDITON                  = 446 // { int auditon(int cmd, void *data, \
-	SYS_GETAUID                  = 447 // { int getauid(uid_t *auid); }
-	SYS_SETAUID                  = 448 // { int setauid(uid_t *auid); }
-	SYS_GETAUDIT                 = 449 // { int getaudit(struct auditinfo *auditinfo); }
-	SYS_SETAUDIT                 = 450 // { int setaudit(struct auditinfo *auditinfo); }
-	SYS_GETAUDIT_ADDR            = 451 // { int getaudit_addr( \
-	SYS_SETAUDIT_ADDR            = 452 // { int setaudit_addr( \
-	SYS_AUDITCTL                 = 453 // { int auditctl(char *path); }
-	SYS__UMTX_OP                 = 454 // { int _umtx_op(void *obj, int op, \
-	SYS_THR_NEW                  = 455 // { int thr_new(struct thr_param *param, \
-	SYS_SIGQUEUE                 = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
-	SYS_KMQ_OPEN                 = 457 // { int kmq_open(const char *path, int flags, \
-	SYS_KMQ_SETATTR              = 458 // { int kmq_setattr(int mqd,		\
-	SYS_KMQ_TIMEDRECEIVE         = 459 // { int kmq_timedreceive(int mqd,	\
-	SYS_KMQ_TIMEDSEND            = 460 // { int kmq_timedsend(int mqd,		\
-	SYS_KMQ_NOTIFY               = 461 // { int kmq_notify(int mqd,		\
-	SYS_KMQ_UNLINK               = 462 // { int kmq_unlink(const char *path); }
-	SYS_ABORT2                   = 463 // { int abort2(const char *why, int nargs, void **args); }
-	SYS_THR_SET_NAME             = 464 // { int thr_set_name(long id, const char *name); }
-	SYS_AIO_FSYNC                = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); }
-	SYS_RTPRIO_THREAD            = 466 // { int rtprio_thread(int function, \
-	SYS_SCTP_PEELOFF             = 471 // { int sctp_peeloff(int sd, uint32_t name); }
-	SYS_SCTP_GENERIC_SENDMSG     = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \
-	SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
-	SYS_SCTP_GENERIC_RECVMSG     = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
-	SYS_PREAD                    = 475 // { ssize_t pread(int fd, void *buf, \
-	SYS_PWRITE                   = 476 // { ssize_t pwrite(int fd, const void *buf, \
-	SYS_MMAP                     = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
-	SYS_LSEEK                    = 478 // { off_t lseek(int fd, off_t offset, \
-	SYS_TRUNCATE                 = 479 // { int truncate(char *path, off_t length); }
-	SYS_FTRUNCATE                = 480 // { int ftruncate(int fd, off_t length); }
-	SYS_THR_KILL2                = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
-	SYS_SHM_OPEN                 = 482 // { int shm_open(const char *path, int flags, \
-	SYS_SHM_UNLINK               = 483 // { int shm_unlink(const char *path); }
-	SYS_CPUSET                   = 484 // { int cpuset(cpusetid_t *setid); }
-	SYS_CPUSET_SETID             = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
-	SYS_CPUSET_GETID             = 486 // { int cpuset_getid(cpulevel_t level, \
-	SYS_CPUSET_GETAFFINITY       = 487 // { int cpuset_getaffinity(cpulevel_t level, \
-	SYS_CPUSET_SETAFFINITY       = 488 // { int cpuset_setaffinity(cpulevel_t level, \
-	SYS_FACCESSAT                = 489 // { int faccessat(int fd, char *path, int amode, \
-	SYS_FCHMODAT                 = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
-	SYS_FCHOWNAT                 = 491 // { int fchownat(int fd, char *path, uid_t uid, \
-	SYS_FEXECVE                  = 492 // { int fexecve(int fd, char **argv, \
-	SYS_FSTATAT                  = 493 // { int fstatat(int fd, char *path, \
-	SYS_FUTIMESAT                = 494 // { int futimesat(int fd, char *path, \
-	SYS_LINKAT                   = 495 // { int linkat(int fd1, char *path1, int fd2, \
-	SYS_MKDIRAT                  = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
-	SYS_MKFIFOAT                 = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
-	SYS_MKNODAT                  = 498 // { int mknodat(int fd, char *path, mode_t mode, \
-	SYS_OPENAT                   = 499 // { int openat(int fd, char *path, int flag, \
-	SYS_READLINKAT               = 500 // { int readlinkat(int fd, char *path, char *buf, \
-	SYS_RENAMEAT                 = 501 // { int renameat(int oldfd, char *old, int newfd, \
-	SYS_SYMLINKAT                = 502 // { int symlinkat(char *path1, int fd, \
-	SYS_UNLINKAT                 = 503 // { int unlinkat(int fd, char *path, int flag); }
-	SYS_POSIX_OPENPT             = 504 // { int posix_openpt(int flags); }
-	SYS_GSSD_SYSCALL             = 505 // { int gssd_syscall(char *path); }
-	SYS_JAIL_GET                 = 506 // { int jail_get(struct iovec *iovp, \
-	SYS_JAIL_SET                 = 507 // { int jail_set(struct iovec *iovp, \
-	SYS_JAIL_REMOVE              = 508 // { int jail_remove(int jid); }
-	SYS_CLOSEFROM                = 509 // { int closefrom(int lowfd); }
-	SYS___SEMCTL                 = 510 // { int __semctl(int semid, int semnum, \
-	SYS_MSGCTL                   = 511 // { int msgctl(int msqid, int cmd, \
-	SYS_SHMCTL                   = 512 // { int shmctl(int shmid, int cmd, \
-	SYS_LPATHCONF                = 513 // { int lpathconf(char *path, int name); }
-	SYS___CAP_RIGHTS_GET         = 515 // { int __cap_rights_get(int version, \
-	SYS_CAP_ENTER                = 516 // { int cap_enter(void); }
-	SYS_CAP_GETMODE              = 517 // { int cap_getmode(u_int *modep); }
-	SYS_PDFORK                   = 518 // { int pdfork(int *fdp, int flags); }
-	SYS_PDKILL                   = 519 // { int pdkill(int fd, int signum); }
-	SYS_PDGETPID                 = 520 // { int pdgetpid(int fd, pid_t *pidp); }
-	SYS_PSELECT                  = 522 // { int pselect(int nd, fd_set *in, \
-	SYS_GETLOGINCLASS            = 523 // { int getloginclass(char *namebuf, \
-	SYS_SETLOGINCLASS            = 524 // { int setloginclass(const char *namebuf); }
-	SYS_RCTL_GET_RACCT           = 525 // { int rctl_get_racct(const void *inbufp, \
-	SYS_RCTL_GET_RULES           = 526 // { int rctl_get_rules(const void *inbufp, \
-	SYS_RCTL_GET_LIMITS          = 527 // { int rctl_get_limits(const void *inbufp, \
-	SYS_RCTL_ADD_RULE            = 528 // { int rctl_add_rule(const void *inbufp, \
-	SYS_RCTL_REMOVE_RULE         = 529 // { int rctl_remove_rule(const void *inbufp, \
-	SYS_POSIX_FALLOCATE          = 530 // { int posix_fallocate(int fd, \
-	SYS_POSIX_FADVISE            = 531 // { int posix_fadvise(int fd, off_t offset, \
-	SYS_WAIT6                    = 532 // { int wait6(idtype_t idtype, id_t id, \
-	SYS_CAP_RIGHTS_LIMIT         = 533 // { int cap_rights_limit(int fd, \
-	SYS_CAP_IOCTLS_LIMIT         = 534 // { int cap_ioctls_limit(int fd, \
-	SYS_CAP_IOCTLS_GET           = 535 // { ssize_t cap_ioctls_get(int fd, \
-	SYS_CAP_FCNTLS_LIMIT         = 536 // { int cap_fcntls_limit(int fd, \
-	SYS_CAP_FCNTLS_GET           = 537 // { int cap_fcntls_get(int fd, \
-	SYS_BINDAT                   = 538 // { int bindat(int fd, int s, caddr_t name, \
-	SYS_CONNECTAT                = 539 // { int connectat(int fd, int s, caddr_t name, \
-	SYS_CHFLAGSAT                = 540 // { int chflagsat(int fd, const char *path, \
-	SYS_ACCEPT4                  = 541 // { int accept4(int s, \
-	SYS_PIPE2                    = 542 // { int pipe2(int *fildes, int flags); }
-	SYS_AIO_MLOCK                = 543 // { int aio_mlock(struct aiocb *aiocbp); }
-	SYS_PROCCTL                  = 544 // { int procctl(idtype_t idtype, id_t id, \
-	SYS_PPOLL                    = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
-	SYS_FUTIMENS                 = 546 // { int futimens(int fd, \
-	SYS_UTIMENSAT                = 547 // { int utimensat(int fd, \
+	SYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \
+	SYS_FORK                   = 2   // { int fork(void); }
+	SYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \
+	SYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \
+	SYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }
+	SYS_CLOSE                  = 6   // { int close(int fd); }
+	SYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \
+	SYS_LINK                   = 9   // { int link(char *path, char *link); }
+	SYS_UNLINK                 = 10  // { int unlink(char *path); }
+	SYS_CHDIR                  = 12  // { int chdir(char *path); }
+	SYS_FCHDIR                 = 13  // { int fchdir(int fd); }
+	SYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }
+	SYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }
+	SYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }
+	SYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \
+	SYS_GETPID                 = 20  // { pid_t getpid(void); }
+	SYS_MOUNT                  = 21  // { int mount(char *type, char *path, \
+	SYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }
+	SYS_SETUID                 = 23  // { int setuid(uid_t uid); }
+	SYS_GETUID                 = 24  // { uid_t getuid(void); }
+	SYS_GETEUID                = 25  // { uid_t geteuid(void); }
+	SYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \
+	SYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \
+	SYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \
+	SYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \
+	SYS_ACCEPT                 = 30  // { int accept(int s, \
+	SYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \
+	SYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \
+	SYS_ACCESS                 = 33  // { int access(char *path, int amode); }
+	SYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }
+	SYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }
+	SYS_SYNC                   = 36  // { int sync(void); }
+	SYS_KILL                   = 37  // { int kill(int pid, int signum); }
+	SYS_GETPPID                = 39  // { pid_t getppid(void); }
+	SYS_DUP                    = 41  // { int dup(u_int fd); }
+	SYS_PIPE                   = 42  // { int pipe(void); }
+	SYS_GETEGID                = 43  // { gid_t getegid(void); }
+	SYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \
+	SYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \
+	SYS_GETGID                 = 47  // { gid_t getgid(void); }
+	SYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \
+	SYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }
+	SYS_ACCT                   = 51  // { int acct(char *path); }
+	SYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \
+	SYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \
+	SYS_REBOOT                 = 55  // { int reboot(int opt); }
+	SYS_REVOKE                 = 56  // { int revoke(char *path); }
+	SYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }
+	SYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \
+	SYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \
+	SYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \
+	SYS_CHROOT                 = 61  // { int chroot(char *path); }
+	SYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \
+	SYS_VFORK                  = 66  // { int vfork(void); }
+	SYS_SBRK                   = 69  // { int sbrk(int incr); }
+	SYS_SSTK                   = 70  // { int sstk(int incr); }
+	SYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \
+	SYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }
+	SYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \
+	SYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \
+	SYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \
+	SYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \
+	SYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \
+	SYS_GETPGRP                = 81  // { int getpgrp(void); }
+	SYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }
+	SYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \
+	SYS_SWAPON                 = 85  // { int swapon(char *name); }
+	SYS_GETITIMER              = 86  // { int getitimer(u_int which, \
+	SYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }
+	SYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }
+	SYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }
+	SYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
+	SYS_FSYNC                  = 95  // { int fsync(int fd); }
+	SYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \
+	SYS_SOCKET                 = 97  // { int socket(int domain, int type, \
+	SYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \
+	SYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }
+	SYS_BIND                   = 104 // { int bind(int s, caddr_t name, \
+	SYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \
+	SYS_LISTEN                 = 106 // { int listen(int s, int backlog); }
+	SYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \
+	SYS_GETRUSAGE              = 117 // { int getrusage(int who, \
+	SYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \
+	SYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \
+	SYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \
+	SYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \
+	SYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }
+	SYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }
+	SYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }
+	SYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }
+	SYS_RENAME                 = 128 // { int rename(char *from, char *to); }
+	SYS_FLOCK                  = 131 // { int flock(int fd, int how); }
+	SYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }
+	SYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \
+	SYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }
+	SYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \
+	SYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }
+	SYS_RMDIR                  = 137 // { int rmdir(char *path); }
+	SYS_UTIMES                 = 138 // { int utimes(char *path, \
+	SYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \
+	SYS_SETSID                 = 147 // { int setsid(void); }
+	SYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \
+	SYS_LGETFH                 = 160 // { int lgetfh(char *fname, \
+	SYS_GETFH                  = 161 // { int getfh(char *fname, \
+	SYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }
+	SYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \
+	SYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
+	SYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \
+	SYS_SETFIB                 = 175 // { int setfib(int fibnum); }
+	SYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }
+	SYS_SETGID                 = 181 // { int setgid(gid_t gid); }
+	SYS_SETEGID                = 182 // { int setegid(gid_t egid); }
+	SYS_SETEUID                = 183 // { int seteuid(uid_t euid); }
+	SYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }
+	SYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }
+	SYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }
+	SYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }
+	SYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }
+	SYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \
+	SYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \
+	SYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \
+	SYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
+	SYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \
+	SYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \
+	SYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \
+	SYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \
+	SYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }
+	SYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }
+	SYS_UNDELETE               = 205 // { int undelete(char *path); }
+	SYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }
+	SYS_GETPGID                = 207 // { int getpgid(pid_t pid); }
+	SYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \
+	SYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \
+	SYS_CLOCK_SETTIME          = 233 // { int clock_settime( \
+	SYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \
+	SYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \
+	SYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }
+	SYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \
+	SYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \
+	SYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }
+	SYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \
+	SYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
+	SYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \
+	SYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \
+	SYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\
+	SYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
+	SYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \
+	SYS_RFORK                  = 251 // { int rfork(int flags); }
+	SYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \
+	SYS_ISSETUGID              = 253 // { int issetugid(void); }
+	SYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }
+	SYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \
+	SYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }
+	SYS_LUTIMES                = 276 // { int lutimes(char *path, \
+	SYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }
+	SYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }
+	SYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }
+	SYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
+	SYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
+	SYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \
+	SYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \
+	SYS_MODNEXT                = 300 // { int modnext(int modid); }
+	SYS_MODSTAT                = 301 // { int modstat(int modid, \
+	SYS_MODFNEXT               = 302 // { int modfnext(int modid); }
+	SYS_MODFIND                = 303 // { int modfind(const char *name); }
+	SYS_KLDLOAD                = 304 // { int kldload(const char *file); }
+	SYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }
+	SYS_KLDFIND                = 306 // { int kldfind(const char *file); }
+	SYS_KLDNEXT                = 307 // { int kldnext(int fileid); }
+	SYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \
+	SYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }
+	SYS_GETSID                 = 310 // { int getsid(pid_t pid); }
+	SYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \
+	SYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \
+	SYS_YIELD                  = 321 // { int yield(void); }
+	SYS_MLOCKALL               = 324 // { int mlockall(int how); }
+	SYS_MUNLOCKALL             = 325 // { int munlockall(void); }
+	SYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }
+	SYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \
+	SYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \
+	SYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \
+	SYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }
+	SYS_SCHED_YIELD            = 331 // { int sched_yield (void); }
+	SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }
+	SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }
+	SYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \
+	SYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }
+	SYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \
+	SYS_JAIL                   = 338 // { int jail(struct jail *jail); }
+	SYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \
+	SYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }
+	SYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }
+	SYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \
+	SYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \
+	SYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \
+	SYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \
+	SYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \
+	SYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \
+	SYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \
+	SYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \
+	SYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \
+	SYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \
+	SYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \
+	SYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \
+	SYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \
+	SYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \
+	SYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
+	SYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
+	SYS_KQUEUE                 = 362 // { int kqueue(void); }
+	SYS_KEVENT                 = 363 // { int kevent(int fd, \
+	SYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \
+	SYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \
+	SYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \
+	SYS___SETUGID              = 374 // { int __setugid(int flag); }
+	SYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }
+	SYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \
+	SYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }
+	SYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }
+	SYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \
+	SYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \
+	SYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \
+	SYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \
+	SYS_KENV                   = 390 // { int kenv(int what, const char *name, \
+	SYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \
+	SYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \
+	SYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \
+	SYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \
+	SYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \
+	SYS_STATFS                 = 396 // { int statfs(char *path, \
+	SYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }
+	SYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
+	SYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \
+	SYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \
+	SYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \
+	SYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \
+	SYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \
+	SYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \
+	SYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \
+	SYS_SIGACTION              = 416 // { int sigaction(int sig, \
+	SYS_SIGRETURN              = 417 // { int sigreturn( \
+	SYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }
+	SYS_SETCONTEXT             = 422 // { int setcontext( \
+	SYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \
+	SYS_SWAPOFF                = 424 // { int swapoff(const char *name); }
+	SYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \
+	SYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \
+	SYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \
+	SYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \
+	SYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \
+	SYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \
+	SYS_THR_EXIT               = 431 // { void thr_exit(long *state); }
+	SYS_THR_SELF               = 432 // { int thr_self(long *id); }
+	SYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }
+	SYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }
+	SYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }
+	SYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }
+	SYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \
+	SYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \
+	SYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \
+	SYS_THR_SUSPEND            = 442 // { int thr_suspend( \
+	SYS_THR_WAKE               = 443 // { int thr_wake(long id); }
+	SYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }
+	SYS_AUDIT                  = 445 // { int audit(const void *record, \
+	SYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \
+	SYS_GETAUID                = 447 // { int getauid(uid_t *auid); }
+	SYS_SETAUID                = 448 // { int setauid(uid_t *auid); }
+	SYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }
+	SYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }
+	SYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \
+	SYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \
+	SYS_AUDITCTL               = 453 // { int auditctl(char *path); }
+	SYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \
+	SYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \
+	SYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
+	SYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }
+	SYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }
+	SYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \
+	SYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \
+	SYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \
+	SYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
+	SYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \
+	SYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }
+	SYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }
+	SYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
+	SYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \
+	SYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }
+	SYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }
+	SYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
+	SYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \
+	SYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \
+	SYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \
+	SYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \
+	SYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
+	SYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \
+	SYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \
+	SYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \
+	SYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \
+	SYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \
+	SYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
+	SYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
+	SYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \
+	SYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \
+	SYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \
+	SYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \
+	SYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \
+	SYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }
+	SYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }
+	SYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \
+	SYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \
+	SYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }
+	SYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }
+	SYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }
+	SYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \
+	SYS_CAP_ENTER              = 516 // { int cap_enter(void); }
+	SYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }
+	SYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }
+	SYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }
+	SYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }
+	SYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \
+	SYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \
+	SYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }
+	SYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \
+	SYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \
+	SYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \
+	SYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \
+	SYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \
+	SYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \
+	SYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \
+	SYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \
+	SYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \
+	SYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \
+	SYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \
+	SYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \
+	SYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \
+	SYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \
+	SYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \
+	SYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \
+	SYS_ACCEPT4                = 541 // { int accept4(int s, \
+	SYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }
+	SYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \
+	SYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+	SYS_FUTIMENS               = 546 // { int futimens(int fd, \
+	SYS_UTIMENSAT              = 547 // { int utimensat(int fd, \
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
index d61941b..4488314 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
@@ -7,397 +7,347 @@ package unix
 
 const (
 	// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int
-	SYS_EXIT                     = 1   // { void sys_exit(int rval); } exit \
-	SYS_FORK                     = 2   // { int fork(void); }
-	SYS_READ                     = 3   // { ssize_t read(int fd, void *buf, \
-	SYS_WRITE                    = 4   // { ssize_t write(int fd, const void *buf, \
-	SYS_OPEN                     = 5   // { int open(char *path, int flags, int mode); }
-	SYS_CLOSE                    = 6   // { int close(int fd); }
-	SYS_WAIT4                    = 7   // { int wait4(int pid, int *status, \
-	SYS_LINK                     = 9   // { int link(char *path, char *link); }
-	SYS_UNLINK                   = 10  // { int unlink(char *path); }
-	SYS_CHDIR                    = 12  // { int chdir(char *path); }
-	SYS_FCHDIR                   = 13  // { int fchdir(int fd); }
-	SYS_MKNOD                    = 14  // { int mknod(char *path, int mode, int dev); }
-	SYS_CHMOD                    = 15  // { int chmod(char *path, int mode); }
-	SYS_CHOWN                    = 16  // { int chown(char *path, int uid, int gid); }
-	SYS_OBREAK                   = 17  // { int obreak(char *nsize); } break \
-	SYS_GETPID                   = 20  // { pid_t getpid(void); }
-	SYS_MOUNT                    = 21  // { int mount(char *type, char *path, \
-	SYS_UNMOUNT                  = 22  // { int unmount(char *path, int flags); }
-	SYS_SETUID                   = 23  // { int setuid(uid_t uid); }
-	SYS_GETUID                   = 24  // { uid_t getuid(void); }
-	SYS_GETEUID                  = 25  // { uid_t geteuid(void); }
-	SYS_PTRACE                   = 26  // { int ptrace(int req, pid_t pid, \
-	SYS_RECVMSG                  = 27  // { int recvmsg(int s, struct msghdr *msg, \
-	SYS_SENDMSG                  = 28  // { int sendmsg(int s, struct msghdr *msg, \
-	SYS_RECVFROM                 = 29  // { int recvfrom(int s, caddr_t buf, \
-	SYS_ACCEPT                   = 30  // { int accept(int s, \
-	SYS_GETPEERNAME              = 31  // { int getpeername(int fdes, \
-	SYS_GETSOCKNAME              = 32  // { int getsockname(int fdes, \
-	SYS_ACCESS                   = 33  // { int access(char *path, int amode); }
-	SYS_CHFLAGS                  = 34  // { int chflags(const char *path, u_long flags); }
-	SYS_FCHFLAGS                 = 35  // { int fchflags(int fd, u_long flags); }
-	SYS_SYNC                     = 36  // { int sync(void); }
-	SYS_KILL                     = 37  // { int kill(int pid, int signum); }
-	SYS_GETPPID                  = 39  // { pid_t getppid(void); }
-	SYS_DUP                      = 41  // { int dup(u_int fd); }
-	SYS_PIPE                     = 42  // { int pipe(void); }
-	SYS_GETEGID                  = 43  // { gid_t getegid(void); }
-	SYS_PROFIL                   = 44  // { int profil(caddr_t samples, size_t size, \
-	SYS_KTRACE                   = 45  // { int ktrace(const char *fname, int ops, \
-	SYS_GETGID                   = 47  // { gid_t getgid(void); }
-	SYS_GETLOGIN                 = 49  // { int getlogin(char *namebuf, u_int \
-	SYS_SETLOGIN                 = 50  // { int setlogin(char *namebuf); }
-	SYS_ACCT                     = 51  // { int acct(char *path); }
-	SYS_SIGALTSTACK              = 53  // { int sigaltstack(stack_t *ss, \
-	SYS_IOCTL                    = 54  // { int ioctl(int fd, u_long com, \
-	SYS_REBOOT                   = 55  // { int reboot(int opt); }
-	SYS_REVOKE                   = 56  // { int revoke(char *path); }
-	SYS_SYMLINK                  = 57  // { int symlink(char *path, char *link); }
-	SYS_READLINK                 = 58  // { ssize_t readlink(char *path, char *buf, \
-	SYS_EXECVE                   = 59  // { int execve(char *fname, char **argv, \
-	SYS_UMASK                    = 60  // { int umask(int newmask); } umask umask_args \
-	SYS_CHROOT                   = 61  // { int chroot(char *path); }
-	SYS_MSYNC                    = 65  // { int msync(void *addr, size_t len, \
-	SYS_VFORK                    = 66  // { int vfork(void); }
-	SYS_SBRK                     = 69  // { int sbrk(int incr); }
-	SYS_SSTK                     = 70  // { int sstk(int incr); }
-	SYS_OVADVISE                 = 72  // { int ovadvise(int anom); } vadvise \
-	SYS_MUNMAP                   = 73  // { int munmap(void *addr, size_t len); }
-	SYS_MPROTECT                 = 74  // { int mprotect(const void *addr, size_t len, \
-	SYS_MADVISE                  = 75  // { int madvise(void *addr, size_t len, \
-	SYS_MINCORE                  = 78  // { int mincore(const void *addr, size_t len, \
-	SYS_GETGROUPS                = 79  // { int getgroups(u_int gidsetsize, \
-	SYS_SETGROUPS                = 80  // { int setgroups(u_int gidsetsize, \
-	SYS_GETPGRP                  = 81  // { int getpgrp(void); }
-	SYS_SETPGID                  = 82  // { int setpgid(int pid, int pgid); }
-	SYS_SETITIMER                = 83  // { int setitimer(u_int which, struct \
-	SYS_SWAPON                   = 85  // { int swapon(char *name); }
-	SYS_GETITIMER                = 86  // { int getitimer(u_int which, \
-	SYS_GETDTABLESIZE            = 89  // { int getdtablesize(void); }
-	SYS_DUP2                     = 90  // { int dup2(u_int from, u_int to); }
-	SYS_FCNTL                    = 92  // { int fcntl(int fd, int cmd, long arg); }
-	SYS_SELECT                   = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
-	SYS_FSYNC                    = 95  // { int fsync(int fd); }
-	SYS_SETPRIORITY              = 96  // { int setpriority(int which, int who, \
-	SYS_SOCKET                   = 97  // { int socket(int domain, int type, \
-	SYS_CONNECT                  = 98  // { int connect(int s, caddr_t name, \
-	SYS_GETPRIORITY              = 100 // { int getpriority(int which, int who); }
-	SYS_BIND                     = 104 // { int bind(int s, caddr_t name, \
-	SYS_SETSOCKOPT               = 105 // { int setsockopt(int s, int level, int name, \
-	SYS_LISTEN                   = 106 // { int listen(int s, int backlog); }
-	SYS_GETTIMEOFDAY             = 116 // { int gettimeofday(struct timeval *tp, \
-	SYS_GETRUSAGE                = 117 // { int getrusage(int who, \
-	SYS_GETSOCKOPT               = 118 // { int getsockopt(int s, int level, int name, \
-	SYS_READV                    = 120 // { int readv(int fd, struct iovec *iovp, \
-	SYS_WRITEV                   = 121 // { int writev(int fd, struct iovec *iovp, \
-	SYS_SETTIMEOFDAY             = 122 // { int settimeofday(struct timeval *tv, \
-	SYS_FCHOWN                   = 123 // { int fchown(int fd, int uid, int gid); }
-	SYS_FCHMOD                   = 124 // { int fchmod(int fd, int mode); }
-	SYS_SETREUID                 = 126 // { int setreuid(int ruid, int euid); }
-	SYS_SETREGID                 = 127 // { int setregid(int rgid, int egid); }
-	SYS_RENAME                   = 128 // { int rename(char *from, char *to); }
-	SYS_FLOCK                    = 131 // { int flock(int fd, int how); }
-	SYS_MKFIFO                   = 132 // { int mkfifo(char *path, int mode); }
-	SYS_SENDTO                   = 133 // { int sendto(int s, caddr_t buf, size_t len, \
-	SYS_SHUTDOWN                 = 134 // { int shutdown(int s, int how); }
-	SYS_SOCKETPAIR               = 135 // { int socketpair(int domain, int type, \
-	SYS_MKDIR                    = 136 // { int mkdir(char *path, int mode); }
-	SYS_RMDIR                    = 137 // { int rmdir(char *path); }
-	SYS_UTIMES                   = 138 // { int utimes(char *path, \
-	SYS_ADJTIME                  = 140 // { int adjtime(struct timeval *delta, \
-	SYS_SETSID                   = 147 // { int setsid(void); }
-	SYS_QUOTACTL                 = 148 // { int quotactl(char *path, int cmd, int uid, \
-	SYS_NLM_SYSCALL              = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); }
-	SYS_NFSSVC                   = 155 // { int nfssvc(int flag, caddr_t argp); }
-	SYS_LGETFH                   = 160 // { int lgetfh(char *fname, \
-	SYS_GETFH                    = 161 // { int getfh(char *fname, \
-	SYS_SYSARCH                  = 165 // { int sysarch(int op, char *parms); }
-	SYS_RTPRIO                   = 166 // { int rtprio(int function, pid_t pid, \
-	SYS_SEMSYS                   = 169 // { int semsys(int which, int a2, int a3, \
-	SYS_MSGSYS                   = 170 // { int msgsys(int which, int a2, int a3, \
-	SYS_SHMSYS                   = 171 // { int shmsys(int which, int a2, int a3, \
-	SYS_FREEBSD6_PREAD           = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
-	SYS_FREEBSD6_PWRITE          = 174 // { ssize_t freebsd6_pwrite(int fd, \
-	SYS_SETFIB                   = 175 // { int setfib(int fibnum); }
-	SYS_NTP_ADJTIME              = 176 // { int ntp_adjtime(struct timex *tp); }
-	SYS_SETGID                   = 181 // { int setgid(gid_t gid); }
-	SYS_SETEGID                  = 182 // { int setegid(gid_t egid); }
-	SYS_SETEUID                  = 183 // { int seteuid(uid_t euid); }
-	SYS_STAT                     = 188 // { int stat(char *path, struct stat *ub); }
-	SYS_FSTAT                    = 189 // { int fstat(int fd, struct stat *sb); }
-	SYS_LSTAT                    = 190 // { int lstat(char *path, struct stat *ub); }
-	SYS_PATHCONF                 = 191 // { int pathconf(char *path, int name); }
-	SYS_FPATHCONF                = 192 // { int fpathconf(int fd, int name); }
-	SYS_GETRLIMIT                = 194 // { int getrlimit(u_int which, \
-	SYS_SETRLIMIT                = 195 // { int setrlimit(u_int which, \
-	SYS_GETDIRENTRIES            = 196 // { int getdirentries(int fd, char *buf, \
-	SYS_FREEBSD6_MMAP            = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
-	SYS_FREEBSD6_LSEEK           = 199 // { off_t freebsd6_lseek(int fd, int pad, \
-	SYS_FREEBSD6_TRUNCATE        = 200 // { int freebsd6_truncate(char *path, int pad, \
-	SYS_FREEBSD6_FTRUNCATE       = 201 // { int freebsd6_ftruncate(int fd, int pad, \
-	SYS___SYSCTL                 = 202 // { int __sysctl(int *name, u_int namelen, \
-	SYS_MLOCK                    = 203 // { int mlock(const void *addr, size_t len); }
-	SYS_MUNLOCK                  = 204 // { int munlock(const void *addr, size_t len); }
-	SYS_UNDELETE                 = 205 // { int undelete(char *path); }
-	SYS_FUTIMES                  = 206 // { int futimes(int fd, struct timeval *tptr); }
-	SYS_GETPGID                  = 207 // { int getpgid(pid_t pid); }
-	SYS_POLL                     = 209 // { int poll(struct pollfd *fds, u_int nfds, \
-	SYS_SEMGET                   = 221 // { int semget(key_t key, int nsems, \
-	SYS_SEMOP                    = 222 // { int semop(int semid, struct sembuf *sops, \
-	SYS_MSGGET                   = 225 // { int msgget(key_t key, int msgflg); }
-	SYS_MSGSND                   = 226 // { int msgsnd(int msqid, const void *msgp, \
-	SYS_MSGRCV                   = 227 // { int msgrcv(int msqid, void *msgp, \
-	SYS_SHMAT                    = 228 // { int shmat(int shmid, const void *shmaddr, \
-	SYS_SHMDT                    = 230 // { int shmdt(const void *shmaddr); }
-	SYS_SHMGET                   = 231 // { int shmget(key_t key, size_t size, \
-	SYS_CLOCK_GETTIME            = 232 // { int clock_gettime(clockid_t clock_id, \
-	SYS_CLOCK_SETTIME            = 233 // { int clock_settime( \
-	SYS_CLOCK_GETRES             = 234 // { int clock_getres(clockid_t clock_id, \
-	SYS_KTIMER_CREATE            = 235 // { int ktimer_create(clockid_t clock_id, \
-	SYS_KTIMER_DELETE            = 236 // { int ktimer_delete(int timerid); }
-	SYS_KTIMER_SETTIME           = 237 // { int ktimer_settime(int timerid, int flags, \
-	SYS_KTIMER_GETTIME           = 238 // { int ktimer_gettime(int timerid, struct \
-	SYS_KTIMER_GETOVERRUN        = 239 // { int ktimer_getoverrun(int timerid); }
-	SYS_NANOSLEEP                = 240 // { int nanosleep(const struct timespec *rqtp, \
-	SYS_FFCLOCK_GETCOUNTER       = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
-	SYS_FFCLOCK_SETESTIMATE      = 242 // { int ffclock_setestimate( \
-	SYS_FFCLOCK_GETESTIMATE      = 243 // { int ffclock_getestimate( \
-	SYS_CLOCK_GETCPUCLOCKID2     = 247 // { int clock_getcpuclockid2(id_t id,\
-	SYS_NTP_GETTIME              = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
-	SYS_MINHERIT                 = 250 // { int minherit(void *addr, size_t len, \
-	SYS_RFORK                    = 251 // { int rfork(int flags); }
-	SYS_OPENBSD_POLL             = 252 // { int openbsd_poll(struct pollfd *fds, \
-	SYS_ISSETUGID                = 253 // { int issetugid(void); }
-	SYS_LCHOWN                   = 254 // { int lchown(char *path, int uid, int gid); }
-	SYS_AIO_READ                 = 255 // { int aio_read(struct aiocb *aiocbp); }
-	SYS_AIO_WRITE                = 256 // { int aio_write(struct aiocb *aiocbp); }
-	SYS_LIO_LISTIO               = 257 // { int lio_listio(int mode, \
-	SYS_GETDENTS                 = 272 // { int getdents(int fd, char *buf, \
-	SYS_LCHMOD                   = 274 // { int lchmod(char *path, mode_t mode); }
-	SYS_LUTIMES                  = 276 // { int lutimes(char *path, \
-	SYS_NSTAT                    = 278 // { int nstat(char *path, struct nstat *ub); }
-	SYS_NFSTAT                   = 279 // { int nfstat(int fd, struct nstat *sb); }
-	SYS_NLSTAT                   = 280 // { int nlstat(char *path, struct nstat *ub); }
-	SYS_PREADV                   = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
-	SYS_PWRITEV                  = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
-	SYS_FHOPEN                   = 298 // { int fhopen(const struct fhandle *u_fhp, \
-	SYS_FHSTAT                   = 299 // { int fhstat(const struct fhandle *u_fhp, \
-	SYS_MODNEXT                  = 300 // { int modnext(int modid); }
-	SYS_MODSTAT                  = 301 // { int modstat(int modid, \
-	SYS_MODFNEXT                 = 302 // { int modfnext(int modid); }
-	SYS_MODFIND                  = 303 // { int modfind(const char *name); }
-	SYS_KLDLOAD                  = 304 // { int kldload(const char *file); }
-	SYS_KLDUNLOAD                = 305 // { int kldunload(int fileid); }
-	SYS_KLDFIND                  = 306 // { int kldfind(const char *file); }
-	SYS_KLDNEXT                  = 307 // { int kldnext(int fileid); }
-	SYS_KLDSTAT                  = 308 // { int kldstat(int fileid, struct \
-	SYS_KLDFIRSTMOD              = 309 // { int kldfirstmod(int fileid); }
-	SYS_GETSID                   = 310 // { int getsid(pid_t pid); }
-	SYS_SETRESUID                = 311 // { int setresuid(uid_t ruid, uid_t euid, \
-	SYS_SETRESGID                = 312 // { int setresgid(gid_t rgid, gid_t egid, \
-	SYS_AIO_RETURN               = 314 // { int aio_return(struct aiocb *aiocbp); }
-	SYS_AIO_SUSPEND              = 315 // { int aio_suspend( \
-	SYS_AIO_CANCEL               = 316 // { int aio_cancel(int fd, \
-	SYS_AIO_ERROR                = 317 // { int aio_error(struct aiocb *aiocbp); }
-	SYS_OAIO_READ                = 318 // { int oaio_read(struct oaiocb *aiocbp); }
-	SYS_OAIO_WRITE               = 319 // { int oaio_write(struct oaiocb *aiocbp); }
-	SYS_OLIO_LISTIO              = 320 // { int olio_listio(int mode, \
-	SYS_YIELD                    = 321 // { int yield(void); }
-	SYS_MLOCKALL                 = 324 // { int mlockall(int how); }
-	SYS_MUNLOCKALL               = 325 // { int munlockall(void); }
-	SYS___GETCWD                 = 326 // { int __getcwd(char *buf, u_int buflen); }
-	SYS_SCHED_SETPARAM           = 327 // { int sched_setparam (pid_t pid, \
-	SYS_SCHED_GETPARAM           = 328 // { int sched_getparam (pid_t pid, struct \
-	SYS_SCHED_SETSCHEDULER       = 329 // { int sched_setscheduler (pid_t pid, int \
-	SYS_SCHED_GETSCHEDULER       = 330 // { int sched_getscheduler (pid_t pid); }
-	SYS_SCHED_YIELD              = 331 // { int sched_yield (void); }
-	SYS_SCHED_GET_PRIORITY_MAX   = 332 // { int sched_get_priority_max (int policy); }
-	SYS_SCHED_GET_PRIORITY_MIN   = 333 // { int sched_get_priority_min (int policy); }
-	SYS_SCHED_RR_GET_INTERVAL    = 334 // { int sched_rr_get_interval (pid_t pid, \
-	SYS_UTRACE                   = 335 // { int utrace(const void *addr, size_t len); }
-	SYS_KLDSYM                   = 337 // { int kldsym(int fileid, int cmd, \
-	SYS_JAIL                     = 338 // { int jail(struct jail *jail); }
-	SYS_SIGPROCMASK              = 340 // { int sigprocmask(int how, \
-	SYS_SIGSUSPEND               = 341 // { int sigsuspend(const sigset_t *sigmask); }
-	SYS_SIGPENDING               = 343 // { int sigpending(sigset_t *set); }
-	SYS_SIGTIMEDWAIT             = 345 // { int sigtimedwait(const sigset_t *set, \
-	SYS_SIGWAITINFO              = 346 // { int sigwaitinfo(const sigset_t *set, \
-	SYS___ACL_GET_FILE           = 347 // { int __acl_get_file(const char *path, \
-	SYS___ACL_SET_FILE           = 348 // { int __acl_set_file(const char *path, \
-	SYS___ACL_GET_FD             = 349 // { int __acl_get_fd(int filedes, \
-	SYS___ACL_SET_FD             = 350 // { int __acl_set_fd(int filedes, \
-	SYS___ACL_DELETE_FILE        = 351 // { int __acl_delete_file(const char *path, \
-	SYS___ACL_DELETE_FD          = 352 // { int __acl_delete_fd(int filedes, \
-	SYS___ACL_ACLCHECK_FILE      = 353 // { int __acl_aclcheck_file(const char *path, \
-	SYS___ACL_ACLCHECK_FD        = 354 // { int __acl_aclcheck_fd(int filedes, \
-	SYS_EXTATTRCTL               = 355 // { int extattrctl(const char *path, int cmd, \
-	SYS_EXTATTR_SET_FILE         = 356 // { ssize_t extattr_set_file( \
-	SYS_EXTATTR_GET_FILE         = 357 // { ssize_t extattr_get_file( \
-	SYS_EXTATTR_DELETE_FILE      = 358 // { int extattr_delete_file(const char *path, \
-	SYS_AIO_WAITCOMPLETE         = 359 // { int aio_waitcomplete( \
-	SYS_GETRESUID                = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
-	SYS_GETRESGID                = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
-	SYS_KQUEUE                   = 362 // { int kqueue(void); }
-	SYS_KEVENT                   = 363 // { int kevent(int fd, \
-	SYS_EXTATTR_SET_FD           = 371 // { ssize_t extattr_set_fd(int fd, \
-	SYS_EXTATTR_GET_FD           = 372 // { ssize_t extattr_get_fd(int fd, \
-	SYS_EXTATTR_DELETE_FD        = 373 // { int extattr_delete_fd(int fd, \
-	SYS___SETUGID                = 374 // { int __setugid(int flag); }
-	SYS_EACCESS                  = 376 // { int eaccess(char *path, int amode); }
-	SYS_NMOUNT                   = 378 // { int nmount(struct iovec *iovp, \
-	SYS___MAC_GET_PROC           = 384 // { int __mac_get_proc(struct mac *mac_p); }
-	SYS___MAC_SET_PROC           = 385 // { int __mac_set_proc(struct mac *mac_p); }
-	SYS___MAC_GET_FD             = 386 // { int __mac_get_fd(int fd, \
-	SYS___MAC_GET_FILE           = 387 // { int __mac_get_file(const char *path_p, \
-	SYS___MAC_SET_FD             = 388 // { int __mac_set_fd(int fd, \
-	SYS___MAC_SET_FILE           = 389 // { int __mac_set_file(const char *path_p, \
-	SYS_KENV                     = 390 // { int kenv(int what, const char *name, \
-	SYS_LCHFLAGS                 = 391 // { int lchflags(const char *path, \
-	SYS_UUIDGEN                  = 392 // { int uuidgen(struct uuid *store, \
-	SYS_SENDFILE                 = 393 // { int sendfile(int fd, int s, off_t offset, \
-	SYS_MAC_SYSCALL              = 394 // { int mac_syscall(const char *policy, \
-	SYS_GETFSSTAT                = 395 // { int getfsstat(struct statfs *buf, \
-	SYS_STATFS                   = 396 // { int statfs(char *path, \
-	SYS_FSTATFS                  = 397 // { int fstatfs(int fd, struct statfs *buf); }
-	SYS_FHSTATFS                 = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
-	SYS_KSEM_CLOSE               = 400 // { int ksem_close(semid_t id); }
-	SYS_KSEM_POST                = 401 // { int ksem_post(semid_t id); }
-	SYS_KSEM_WAIT                = 402 // { int ksem_wait(semid_t id); }
-	SYS_KSEM_TRYWAIT             = 403 // { int ksem_trywait(semid_t id); }
-	SYS_KSEM_INIT                = 404 // { int ksem_init(semid_t *idp, \
-	SYS_KSEM_OPEN                = 405 // { int ksem_open(semid_t *idp, \
-	SYS_KSEM_UNLINK              = 406 // { int ksem_unlink(const char *name); }
-	SYS_KSEM_GETVALUE            = 407 // { int ksem_getvalue(semid_t id, int *val); }
-	SYS_KSEM_DESTROY             = 408 // { int ksem_destroy(semid_t id); }
-	SYS___MAC_GET_PID            = 409 // { int __mac_get_pid(pid_t pid, \
-	SYS___MAC_GET_LINK           = 410 // { int __mac_get_link(const char *path_p, \
-	SYS___MAC_SET_LINK           = 411 // { int __mac_set_link(const char *path_p, \
-	SYS_EXTATTR_SET_LINK         = 412 // { ssize_t extattr_set_link( \
-	SYS_EXTATTR_GET_LINK         = 413 // { ssize_t extattr_get_link( \
-	SYS_EXTATTR_DELETE_LINK      = 414 // { int extattr_delete_link( \
-	SYS___MAC_EXECVE             = 415 // { int __mac_execve(char *fname, char **argv, \
-	SYS_SIGACTION                = 416 // { int sigaction(int sig, \
-	SYS_SIGRETURN                = 417 // { int sigreturn( \
-	SYS_GETCONTEXT               = 421 // { int getcontext(struct __ucontext *ucp); }
-	SYS_SETCONTEXT               = 422 // { int setcontext( \
-	SYS_SWAPCONTEXT              = 423 // { int swapcontext(struct __ucontext *oucp, \
-	SYS_SWAPOFF                  = 424 // { int swapoff(const char *name); }
-	SYS___ACL_GET_LINK           = 425 // { int __acl_get_link(const char *path, \
-	SYS___ACL_SET_LINK           = 426 // { int __acl_set_link(const char *path, \
-	SYS___ACL_DELETE_LINK        = 427 // { int __acl_delete_link(const char *path, \
-	SYS___ACL_ACLCHECK_LINK      = 428 // { int __acl_aclcheck_link(const char *path, \
-	SYS_SIGWAIT                  = 429 // { int sigwait(const sigset_t *set, \
-	SYS_THR_CREATE               = 430 // { int thr_create(ucontext_t *ctx, long *id, \
-	SYS_THR_EXIT                 = 431 // { void thr_exit(long *state); }
-	SYS_THR_SELF                 = 432 // { int thr_self(long *id); }
-	SYS_THR_KILL                 = 433 // { int thr_kill(long id, int sig); }
-	SYS__UMTX_LOCK               = 434 // { int _umtx_lock(struct umtx *umtx); }
-	SYS__UMTX_UNLOCK             = 435 // { int _umtx_unlock(struct umtx *umtx); }
-	SYS_JAIL_ATTACH              = 436 // { int jail_attach(int jid); }
-	SYS_EXTATTR_LIST_FD          = 437 // { ssize_t extattr_list_fd(int fd, \
-	SYS_EXTATTR_LIST_FILE        = 438 // { ssize_t extattr_list_file( \
-	SYS_EXTATTR_LIST_LINK        = 439 // { ssize_t extattr_list_link( \
-	SYS_KSEM_TIMEDWAIT           = 441 // { int ksem_timedwait(semid_t id, \
-	SYS_THR_SUSPEND              = 442 // { int thr_suspend( \
-	SYS_THR_WAKE                 = 443 // { int thr_wake(long id); }
-	SYS_KLDUNLOADF               = 444 // { int kldunloadf(int fileid, int flags); }
-	SYS_AUDIT                    = 445 // { int audit(const void *record, \
-	SYS_AUDITON                  = 446 // { int auditon(int cmd, void *data, \
-	SYS_GETAUID                  = 447 // { int getauid(uid_t *auid); }
-	SYS_SETAUID                  = 448 // { int setauid(uid_t *auid); }
-	SYS_GETAUDIT                 = 449 // { int getaudit(struct auditinfo *auditinfo); }
-	SYS_SETAUDIT                 = 450 // { int setaudit(struct auditinfo *auditinfo); }
-	SYS_GETAUDIT_ADDR            = 451 // { int getaudit_addr( \
-	SYS_SETAUDIT_ADDR            = 452 // { int setaudit_addr( \
-	SYS_AUDITCTL                 = 453 // { int auditctl(char *path); }
-	SYS__UMTX_OP                 = 454 // { int _umtx_op(void *obj, int op, \
-	SYS_THR_NEW                  = 455 // { int thr_new(struct thr_param *param, \
-	SYS_SIGQUEUE                 = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
-	SYS_KMQ_OPEN                 = 457 // { int kmq_open(const char *path, int flags, \
-	SYS_KMQ_SETATTR              = 458 // { int kmq_setattr(int mqd,		\
-	SYS_KMQ_TIMEDRECEIVE         = 459 // { int kmq_timedreceive(int mqd,	\
-	SYS_KMQ_TIMEDSEND            = 460 // { int kmq_timedsend(int mqd,		\
-	SYS_KMQ_NOTIFY               = 461 // { int kmq_notify(int mqd,		\
-	SYS_KMQ_UNLINK               = 462 // { int kmq_unlink(const char *path); }
-	SYS_ABORT2                   = 463 // { int abort2(const char *why, int nargs, void **args); }
-	SYS_THR_SET_NAME             = 464 // { int thr_set_name(long id, const char *name); }
-	SYS_AIO_FSYNC                = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); }
-	SYS_RTPRIO_THREAD            = 466 // { int rtprio_thread(int function, \
-	SYS_SCTP_PEELOFF             = 471 // { int sctp_peeloff(int sd, uint32_t name); }
-	SYS_SCTP_GENERIC_SENDMSG     = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \
-	SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
-	SYS_SCTP_GENERIC_RECVMSG     = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
-	SYS_PREAD                    = 475 // { ssize_t pread(int fd, void *buf, \
-	SYS_PWRITE                   = 476 // { ssize_t pwrite(int fd, const void *buf, \
-	SYS_MMAP                     = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
-	SYS_LSEEK                    = 478 // { off_t lseek(int fd, off_t offset, \
-	SYS_TRUNCATE                 = 479 // { int truncate(char *path, off_t length); }
-	SYS_FTRUNCATE                = 480 // { int ftruncate(int fd, off_t length); }
-	SYS_THR_KILL2                = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
-	SYS_SHM_OPEN                 = 482 // { int shm_open(const char *path, int flags, \
-	SYS_SHM_UNLINK               = 483 // { int shm_unlink(const char *path); }
-	SYS_CPUSET                   = 484 // { int cpuset(cpusetid_t *setid); }
-	SYS_CPUSET_SETID             = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
-	SYS_CPUSET_GETID             = 486 // { int cpuset_getid(cpulevel_t level, \
-	SYS_CPUSET_GETAFFINITY       = 487 // { int cpuset_getaffinity(cpulevel_t level, \
-	SYS_CPUSET_SETAFFINITY       = 488 // { int cpuset_setaffinity(cpulevel_t level, \
-	SYS_FACCESSAT                = 489 // { int faccessat(int fd, char *path, int amode, \
-	SYS_FCHMODAT                 = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
-	SYS_FCHOWNAT                 = 491 // { int fchownat(int fd, char *path, uid_t uid, \
-	SYS_FEXECVE                  = 492 // { int fexecve(int fd, char **argv, \
-	SYS_FSTATAT                  = 493 // { int fstatat(int fd, char *path, \
-	SYS_FUTIMESAT                = 494 // { int futimesat(int fd, char *path, \
-	SYS_LINKAT                   = 495 // { int linkat(int fd1, char *path1, int fd2, \
-	SYS_MKDIRAT                  = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
-	SYS_MKFIFOAT                 = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
-	SYS_MKNODAT                  = 498 // { int mknodat(int fd, char *path, mode_t mode, \
-	SYS_OPENAT                   = 499 // { int openat(int fd, char *path, int flag, \
-	SYS_READLINKAT               = 500 // { int readlinkat(int fd, char *path, char *buf, \
-	SYS_RENAMEAT                 = 501 // { int renameat(int oldfd, char *old, int newfd, \
-	SYS_SYMLINKAT                = 502 // { int symlinkat(char *path1, int fd, \
-	SYS_UNLINKAT                 = 503 // { int unlinkat(int fd, char *path, int flag); }
-	SYS_POSIX_OPENPT             = 504 // { int posix_openpt(int flags); }
-	SYS_GSSD_SYSCALL             = 505 // { int gssd_syscall(char *path); }
-	SYS_JAIL_GET                 = 506 // { int jail_get(struct iovec *iovp, \
-	SYS_JAIL_SET                 = 507 // { int jail_set(struct iovec *iovp, \
-	SYS_JAIL_REMOVE              = 508 // { int jail_remove(int jid); }
-	SYS_CLOSEFROM                = 509 // { int closefrom(int lowfd); }
-	SYS___SEMCTL                 = 510 // { int __semctl(int semid, int semnum, \
-	SYS_MSGCTL                   = 511 // { int msgctl(int msqid, int cmd, \
-	SYS_SHMCTL                   = 512 // { int shmctl(int shmid, int cmd, \
-	SYS_LPATHCONF                = 513 // { int lpathconf(char *path, int name); }
-	SYS___CAP_RIGHTS_GET         = 515 // { int __cap_rights_get(int version, \
-	SYS_CAP_ENTER                = 516 // { int cap_enter(void); }
-	SYS_CAP_GETMODE              = 517 // { int cap_getmode(u_int *modep); }
-	SYS_PDFORK                   = 518 // { int pdfork(int *fdp, int flags); }
-	SYS_PDKILL                   = 519 // { int pdkill(int fd, int signum); }
-	SYS_PDGETPID                 = 520 // { int pdgetpid(int fd, pid_t *pidp); }
-	SYS_PSELECT                  = 522 // { int pselect(int nd, fd_set *in, \
-	SYS_GETLOGINCLASS            = 523 // { int getloginclass(char *namebuf, \
-	SYS_SETLOGINCLASS            = 524 // { int setloginclass(const char *namebuf); }
-	SYS_RCTL_GET_RACCT           = 525 // { int rctl_get_racct(const void *inbufp, \
-	SYS_RCTL_GET_RULES           = 526 // { int rctl_get_rules(const void *inbufp, \
-	SYS_RCTL_GET_LIMITS          = 527 // { int rctl_get_limits(const void *inbufp, \
-	SYS_RCTL_ADD_RULE            = 528 // { int rctl_add_rule(const void *inbufp, \
-	SYS_RCTL_REMOVE_RULE         = 529 // { int rctl_remove_rule(const void *inbufp, \
-	SYS_POSIX_FALLOCATE          = 530 // { int posix_fallocate(int fd, \
-	SYS_POSIX_FADVISE            = 531 // { int posix_fadvise(int fd, off_t offset, \
-	SYS_WAIT6                    = 532 // { int wait6(idtype_t idtype, id_t id, \
-	SYS_CAP_RIGHTS_LIMIT         = 533 // { int cap_rights_limit(int fd, \
-	SYS_CAP_IOCTLS_LIMIT         = 534 // { int cap_ioctls_limit(int fd, \
-	SYS_CAP_IOCTLS_GET           = 535 // { ssize_t cap_ioctls_get(int fd, \
-	SYS_CAP_FCNTLS_LIMIT         = 536 // { int cap_fcntls_limit(int fd, \
-	SYS_CAP_FCNTLS_GET           = 537 // { int cap_fcntls_get(int fd, \
-	SYS_BINDAT                   = 538 // { int bindat(int fd, int s, caddr_t name, \
-	SYS_CONNECTAT                = 539 // { int connectat(int fd, int s, caddr_t name, \
-	SYS_CHFLAGSAT                = 540 // { int chflagsat(int fd, const char *path, \
-	SYS_ACCEPT4                  = 541 // { int accept4(int s, \
-	SYS_PIPE2                    = 542 // { int pipe2(int *fildes, int flags); }
-	SYS_AIO_MLOCK                = 543 // { int aio_mlock(struct aiocb *aiocbp); }
-	SYS_PROCCTL                  = 544 // { int procctl(idtype_t idtype, id_t id, \
-	SYS_PPOLL                    = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
-	SYS_FUTIMENS                 = 546 // { int futimens(int fd, \
-	SYS_UTIMENSAT                = 547 // { int utimensat(int fd, \
+	SYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \
+	SYS_FORK                   = 2   // { int fork(void); }
+	SYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \
+	SYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \
+	SYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }
+	SYS_CLOSE                  = 6   // { int close(int fd); }
+	SYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \
+	SYS_LINK                   = 9   // { int link(char *path, char *link); }
+	SYS_UNLINK                 = 10  // { int unlink(char *path); }
+	SYS_CHDIR                  = 12  // { int chdir(char *path); }
+	SYS_FCHDIR                 = 13  // { int fchdir(int fd); }
+	SYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }
+	SYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }
+	SYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }
+	SYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \
+	SYS_GETPID                 = 20  // { pid_t getpid(void); }
+	SYS_MOUNT                  = 21  // { int mount(char *type, char *path, \
+	SYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }
+	SYS_SETUID                 = 23  // { int setuid(uid_t uid); }
+	SYS_GETUID                 = 24  // { uid_t getuid(void); }
+	SYS_GETEUID                = 25  // { uid_t geteuid(void); }
+	SYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \
+	SYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \
+	SYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \
+	SYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \
+	SYS_ACCEPT                 = 30  // { int accept(int s, \
+	SYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \
+	SYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \
+	SYS_ACCESS                 = 33  // { int access(char *path, int amode); }
+	SYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }
+	SYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }
+	SYS_SYNC                   = 36  // { int sync(void); }
+	SYS_KILL                   = 37  // { int kill(int pid, int signum); }
+	SYS_GETPPID                = 39  // { pid_t getppid(void); }
+	SYS_DUP                    = 41  // { int dup(u_int fd); }
+	SYS_PIPE                   = 42  // { int pipe(void); }
+	SYS_GETEGID                = 43  // { gid_t getegid(void); }
+	SYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \
+	SYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \
+	SYS_GETGID                 = 47  // { gid_t getgid(void); }
+	SYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \
+	SYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }
+	SYS_ACCT                   = 51  // { int acct(char *path); }
+	SYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \
+	SYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \
+	SYS_REBOOT                 = 55  // { int reboot(int opt); }
+	SYS_REVOKE                 = 56  // { int revoke(char *path); }
+	SYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }
+	SYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \
+	SYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \
+	SYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \
+	SYS_CHROOT                 = 61  // { int chroot(char *path); }
+	SYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \
+	SYS_VFORK                  = 66  // { int vfork(void); }
+	SYS_SBRK                   = 69  // { int sbrk(int incr); }
+	SYS_SSTK                   = 70  // { int sstk(int incr); }
+	SYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \
+	SYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }
+	SYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \
+	SYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \
+	SYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \
+	SYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \
+	SYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \
+	SYS_GETPGRP                = 81  // { int getpgrp(void); }
+	SYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }
+	SYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \
+	SYS_SWAPON                 = 85  // { int swapon(char *name); }
+	SYS_GETITIMER              = 86  // { int getitimer(u_int which, \
+	SYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }
+	SYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }
+	SYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }
+	SYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \
+	SYS_FSYNC                  = 95  // { int fsync(int fd); }
+	SYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \
+	SYS_SOCKET                 = 97  // { int socket(int domain, int type, \
+	SYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \
+	SYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }
+	SYS_BIND                   = 104 // { int bind(int s, caddr_t name, \
+	SYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \
+	SYS_LISTEN                 = 106 // { int listen(int s, int backlog); }
+	SYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \
+	SYS_GETRUSAGE              = 117 // { int getrusage(int who, \
+	SYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \
+	SYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \
+	SYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \
+	SYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \
+	SYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }
+	SYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }
+	SYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }
+	SYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }
+	SYS_RENAME                 = 128 // { int rename(char *from, char *to); }
+	SYS_FLOCK                  = 131 // { int flock(int fd, int how); }
+	SYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }
+	SYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \
+	SYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }
+	SYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \
+	SYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }
+	SYS_RMDIR                  = 137 // { int rmdir(char *path); }
+	SYS_UTIMES                 = 138 // { int utimes(char *path, \
+	SYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \
+	SYS_SETSID                 = 147 // { int setsid(void); }
+	SYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \
+	SYS_LGETFH                 = 160 // { int lgetfh(char *fname, \
+	SYS_GETFH                  = 161 // { int getfh(char *fname, \
+	SYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }
+	SYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \
+	SYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
+	SYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \
+	SYS_SETFIB                 = 175 // { int setfib(int fibnum); }
+	SYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }
+	SYS_SETGID                 = 181 // { int setgid(gid_t gid); }
+	SYS_SETEGID                = 182 // { int setegid(gid_t egid); }
+	SYS_SETEUID                = 183 // { int seteuid(uid_t euid); }
+	SYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }
+	SYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }
+	SYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }
+	SYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }
+	SYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }
+	SYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \
+	SYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \
+	SYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \
+	SYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
+	SYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \
+	SYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \
+	SYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \
+	SYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \
+	SYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }
+	SYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }
+	SYS_UNDELETE               = 205 // { int undelete(char *path); }
+	SYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }
+	SYS_GETPGID                = 207 // { int getpgid(pid_t pid); }
+	SYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \
+	SYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \
+	SYS_CLOCK_SETTIME          = 233 // { int clock_settime( \
+	SYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \
+	SYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \
+	SYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }
+	SYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \
+	SYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \
+	SYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }
+	SYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \
+	SYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
+	SYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \
+	SYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \
+	SYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\
+	SYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
+	SYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \
+	SYS_RFORK                  = 251 // { int rfork(int flags); }
+	SYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \
+	SYS_ISSETUGID              = 253 // { int issetugid(void); }
+	SYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }
+	SYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \
+	SYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }
+	SYS_LUTIMES                = 276 // { int lutimes(char *path, \
+	SYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }
+	SYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }
+	SYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }
+	SYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \
+	SYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
+	SYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \
+	SYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \
+	SYS_MODNEXT                = 300 // { int modnext(int modid); }
+	SYS_MODSTAT                = 301 // { int modstat(int modid, \
+	SYS_MODFNEXT               = 302 // { int modfnext(int modid); }
+	SYS_MODFIND                = 303 // { int modfind(const char *name); }
+	SYS_KLDLOAD                = 304 // { int kldload(const char *file); }
+	SYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }
+	SYS_KLDFIND                = 306 // { int kldfind(const char *file); }
+	SYS_KLDNEXT                = 307 // { int kldnext(int fileid); }
+	SYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \
+	SYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }
+	SYS_GETSID                 = 310 // { int getsid(pid_t pid); }
+	SYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \
+	SYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \
+	SYS_YIELD                  = 321 // { int yield(void); }
+	SYS_MLOCKALL               = 324 // { int mlockall(int how); }
+	SYS_MUNLOCKALL             = 325 // { int munlockall(void); }
+	SYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }
+	SYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \
+	SYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \
+	SYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \
+	SYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }
+	SYS_SCHED_YIELD            = 331 // { int sched_yield (void); }
+	SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }
+	SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }
+	SYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \
+	SYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }
+	SYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \
+	SYS_JAIL                   = 338 // { int jail(struct jail *jail); }
+	SYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \
+	SYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }
+	SYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }
+	SYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \
+	SYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \
+	SYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \
+	SYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \
+	SYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \
+	SYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \
+	SYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \
+	SYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \
+	SYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \
+	SYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \
+	SYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \
+	SYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \
+	SYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \
+	SYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \
+	SYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
+	SYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
+	SYS_KQUEUE                 = 362 // { int kqueue(void); }
+	SYS_KEVENT                 = 363 // { int kevent(int fd, \
+	SYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \
+	SYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \
+	SYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \
+	SYS___SETUGID              = 374 // { int __setugid(int flag); }
+	SYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }
+	SYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \
+	SYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }
+	SYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }
+	SYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \
+	SYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \
+	SYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \
+	SYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \
+	SYS_KENV                   = 390 // { int kenv(int what, const char *name, \
+	SYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \
+	SYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \
+	SYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \
+	SYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \
+	SYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \
+	SYS_STATFS                 = 396 // { int statfs(char *path, \
+	SYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }
+	SYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
+	SYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \
+	SYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \
+	SYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \
+	SYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \
+	SYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \
+	SYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \
+	SYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \
+	SYS_SIGACTION              = 416 // { int sigaction(int sig, \
+	SYS_SIGRETURN              = 417 // { int sigreturn( \
+	SYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }
+	SYS_SETCONTEXT             = 422 // { int setcontext( \
+	SYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \
+	SYS_SWAPOFF                = 424 // { int swapoff(const char *name); }
+	SYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \
+	SYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \
+	SYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \
+	SYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \
+	SYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \
+	SYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \
+	SYS_THR_EXIT               = 431 // { void thr_exit(long *state); }
+	SYS_THR_SELF               = 432 // { int thr_self(long *id); }
+	SYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }
+	SYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }
+	SYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }
+	SYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }
+	SYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \
+	SYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \
+	SYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \
+	SYS_THR_SUSPEND            = 442 // { int thr_suspend( \
+	SYS_THR_WAKE               = 443 // { int thr_wake(long id); }
+	SYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }
+	SYS_AUDIT                  = 445 // { int audit(const void *record, \
+	SYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \
+	SYS_GETAUID                = 447 // { int getauid(uid_t *auid); }
+	SYS_SETAUID                = 448 // { int setauid(uid_t *auid); }
+	SYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }
+	SYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }
+	SYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \
+	SYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \
+	SYS_AUDITCTL               = 453 // { int auditctl(char *path); }
+	SYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \
+	SYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \
+	SYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
+	SYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }
+	SYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }
+	SYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \
+	SYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \
+	SYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \
+	SYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
+	SYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \
+	SYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }
+	SYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }
+	SYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }
+	SYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \
+	SYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }
+	SYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }
+	SYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \
+	SYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \
+	SYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \
+	SYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \
+	SYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \
+	SYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
+	SYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \
+	SYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \
+	SYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \
+	SYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \
+	SYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \
+	SYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }
+	SYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }
+	SYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \
+	SYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \
+	SYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \
+	SYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \
+	SYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \
+	SYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }
+	SYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }
+	SYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \
+	SYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \
+	SYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }
+	SYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }
+	SYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }
+	SYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \
+	SYS_CAP_ENTER              = 516 // { int cap_enter(void); }
+	SYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }
+	SYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }
+	SYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }
+	SYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }
+	SYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \
+	SYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \
+	SYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }
+	SYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \
+	SYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \
+	SYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \
+	SYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \
+	SYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \
+	SYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \
+	SYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \
+	SYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \
+	SYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \
+	SYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \
+	SYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \
+	SYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \
+	SYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \
+	SYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \
+	SYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \
+	SYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \
+	SYS_ACCEPT4                = 541 // { int accept4(int s, \
+	SYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }
+	SYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \
+	SYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+	SYS_FUTIMENS               = 546 // { int futimens(int fd, \
+	SYS_UTIMENSAT              = 547 // { int utimensat(int fd, \
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
index 8f33ece..95ab129 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
@@ -387,6 +387,4 @@ const (
 	SYS_PKEY_FREE              = 382
 	SYS_STATX                  = 383
 	SYS_ARCH_PRCTL             = 384
-	SYS_IO_PGETEVENTS          = 385
-	SYS_RSEQ                   = 386
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
index 70c1a2c..c5dabf2 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
@@ -339,6 +339,4 @@ const (
 	SYS_PKEY_ALLOC             = 330
 	SYS_PKEY_FREE              = 331
 	SYS_STATX                  = 332
-	SYS_IO_PGETEVENTS          = 333
-	SYS_RSEQ                   = 334
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
index 6e281d6..ab7fa5f 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
@@ -359,6 +359,4 @@ const (
 	SYS_PKEY_ALLOC             = 395
 	SYS_PKEY_FREE              = 396
 	SYS_STATX                  = 397
-	SYS_RSEQ                   = 398
-	SYS_IO_PGETEVENTS          = 399
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
index f9157e1..b1c6b4b 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
@@ -283,6 +283,4 @@ const (
 	SYS_PKEY_ALLOC             = 289
 	SYS_PKEY_FREE              = 290
 	SYS_STATX                  = 291
-	SYS_IO_PGETEVENTS          = 292
-	SYS_RSEQ                   = 293
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
index 1671449..2e9aa7a 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
@@ -372,6 +372,4 @@ const (
 	SYS_PKEY_ALLOC             = 4364
 	SYS_PKEY_FREE              = 4365
 	SYS_STATX                  = 4366
-	SYS_RSEQ                   = 4367
-	SYS_IO_PGETEVENTS          = 4368
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
index 1270a1c..9282763 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
@@ -332,6 +332,4 @@ const (
 	SYS_PKEY_ALLOC             = 5324
 	SYS_PKEY_FREE              = 5325
 	SYS_STATX                  = 5326
-	SYS_RSEQ                   = 5327
-	SYS_IO_PGETEVENTS          = 5328
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
index 93980be..45bd3fd 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
@@ -332,6 +332,4 @@ const (
 	SYS_PKEY_ALLOC             = 5324
 	SYS_PKEY_FREE              = 5325
 	SYS_STATX                  = 5326
-	SYS_RSEQ                   = 5327
-	SYS_IO_PGETEVENTS          = 5328
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
index 0fc7726..62ccac4 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
@@ -372,6 +372,4 @@ const (
 	SYS_PKEY_ALLOC             = 4364
 	SYS_PKEY_FREE              = 4365
 	SYS_STATX                  = 4366
-	SYS_RSEQ                   = 4367
-	SYS_IO_PGETEVENTS          = 4368
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
index a5c5f3d..384d49b 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
@@ -370,6 +370,4 @@ const (
 	SYS_PKEY_ALLOC             = 384
 	SYS_PKEY_FREE              = 385
 	SYS_PKEY_MPROTECT          = 386
-	SYS_RSEQ                   = 387
-	SYS_IO_PGETEVENTS          = 388
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
index 5470ead..9623248 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
@@ -370,6 +370,4 @@ const (
 	SYS_PKEY_ALLOC             = 384
 	SYS_PKEY_FREE              = 385
 	SYS_PKEY_MPROTECT          = 386
-	SYS_RSEQ                   = 387
-	SYS_IO_PGETEVENTS          = 388
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
deleted file mode 100644
index a5d9919..0000000
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
+++ /dev/null
@@ -1,287 +0,0 @@
-// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build riscv64,linux
-
-package unix
-
-const (
-	SYS_IO_SETUP               = 0
-	SYS_IO_DESTROY             = 1
-	SYS_IO_SUBMIT              = 2
-	SYS_IO_CANCEL              = 3
-	SYS_IO_GETEVENTS           = 4
-	SYS_SETXATTR               = 5
-	SYS_LSETXATTR              = 6
-	SYS_FSETXATTR              = 7
-	SYS_GETXATTR               = 8
-	SYS_LGETXATTR              = 9
-	SYS_FGETXATTR              = 10
-	SYS_LISTXATTR              = 11
-	SYS_LLISTXATTR             = 12
-	SYS_FLISTXATTR             = 13
-	SYS_REMOVEXATTR            = 14
-	SYS_LREMOVEXATTR           = 15
-	SYS_FREMOVEXATTR           = 16
-	SYS_GETCWD                 = 17
-	SYS_LOOKUP_DCOOKIE         = 18
-	SYS_EVENTFD2               = 19
-	SYS_EPOLL_CREATE1          = 20
-	SYS_EPOLL_CTL              = 21
-	SYS_EPOLL_PWAIT            = 22
-	SYS_DUP                    = 23
-	SYS_DUP3                   = 24
-	SYS_FCNTL                  = 25
-	SYS_INOTIFY_INIT1          = 26
-	SYS_INOTIFY_ADD_WATCH      = 27
-	SYS_INOTIFY_RM_WATCH       = 28
-	SYS_IOCTL                  = 29
-	SYS_IOPRIO_SET             = 30
-	SYS_IOPRIO_GET             = 31
-	SYS_FLOCK                  = 32
-	SYS_MKNODAT                = 33
-	SYS_MKDIRAT                = 34
-	SYS_UNLINKAT               = 35
-	SYS_SYMLINKAT              = 36
-	SYS_LINKAT                 = 37
-	SYS_UMOUNT2                = 39
-	SYS_MOUNT                  = 40
-	SYS_PIVOT_ROOT             = 41
-	SYS_NFSSERVCTL             = 42
-	SYS_STATFS                 = 43
-	SYS_FSTATFS                = 44
-	SYS_TRUNCATE               = 45
-	SYS_FTRUNCATE              = 46
-	SYS_FALLOCATE              = 47
-	SYS_FACCESSAT              = 48
-	SYS_CHDIR                  = 49
-	SYS_FCHDIR                 = 50
-	SYS_CHROOT                 = 51
-	SYS_FCHMOD                 = 52
-	SYS_FCHMODAT               = 53
-	SYS_FCHOWNAT               = 54
-	SYS_FCHOWN                 = 55
-	SYS_OPENAT                 = 56
-	SYS_CLOSE                  = 57
-	SYS_VHANGUP                = 58
-	SYS_PIPE2                  = 59
-	SYS_QUOTACTL               = 60
-	SYS_GETDENTS64             = 61
-	SYS_LSEEK                  = 62
-	SYS_READ                   = 63
-	SYS_WRITE                  = 64
-	SYS_READV                  = 65
-	SYS_WRITEV                 = 66
-	SYS_PREAD64                = 67
-	SYS_PWRITE64               = 68
-	SYS_PREADV                 = 69
-	SYS_PWRITEV                = 70
-	SYS_SENDFILE               = 71
-	SYS_PSELECT6               = 72
-	SYS_PPOLL                  = 73
-	SYS_SIGNALFD4              = 74
-	SYS_VMSPLICE               = 75
-	SYS_SPLICE                 = 76
-	SYS_TEE                    = 77
-	SYS_READLINKAT             = 78
-	SYS_FSTATAT                = 79
-	SYS_FSTAT                  = 80
-	SYS_SYNC                   = 81
-	SYS_FSYNC                  = 82
-	SYS_FDATASYNC              = 83
-	SYS_SYNC_FILE_RANGE        = 84
-	SYS_TIMERFD_CREATE         = 85
-	SYS_TIMERFD_SETTIME        = 86
-	SYS_TIMERFD_GETTIME        = 87
-	SYS_UTIMENSAT              = 88
-	SYS_ACCT                   = 89
-	SYS_CAPGET                 = 90
-	SYS_CAPSET                 = 91
-	SYS_PERSONALITY            = 92
-	SYS_EXIT                   = 93
-	SYS_EXIT_GROUP             = 94
-	SYS_WAITID                 = 95
-	SYS_SET_TID_ADDRESS        = 96
-	SYS_UNSHARE                = 97
-	SYS_FUTEX                  = 98
-	SYS_SET_ROBUST_LIST        = 99
-	SYS_GET_ROBUST_LIST        = 100
-	SYS_NANOSLEEP              = 101
-	SYS_GETITIMER              = 102
-	SYS_SETITIMER              = 103
-	SYS_KEXEC_LOAD             = 104
-	SYS_INIT_MODULE            = 105
-	SYS_DELETE_MODULE          = 106
-	SYS_TIMER_CREATE           = 107
-	SYS_TIMER_GETTIME          = 108
-	SYS_TIMER_GETOVERRUN       = 109
-	SYS_TIMER_SETTIME          = 110
-	SYS_TIMER_DELETE           = 111
-	SYS_CLOCK_SETTIME          = 112
-	SYS_CLOCK_GETTIME          = 113
-	SYS_CLOCK_GETRES           = 114
-	SYS_CLOCK_NANOSLEEP        = 115
-	SYS_SYSLOG                 = 116
-	SYS_PTRACE                 = 117
-	SYS_SCHED_SETPARAM         = 118
-	SYS_SCHED_SETSCHEDULER     = 119
-	SYS_SCHED_GETSCHEDULER     = 120
-	SYS_SCHED_GETPARAM         = 121
-	SYS_SCHED_SETAFFINITY      = 122
-	SYS_SCHED_GETAFFINITY      = 123
-	SYS_SCHED_YIELD            = 124
-	SYS_SCHED_GET_PRIORITY_MAX = 125
-	SYS_SCHED_GET_PRIORITY_MIN = 126
-	SYS_SCHED_RR_GET_INTERVAL  = 127
-	SYS_RESTART_SYSCALL        = 128
-	SYS_KILL                   = 129
-	SYS_TKILL                  = 130
-	SYS_TGKILL                 = 131
-	SYS_SIGALTSTACK            = 132
-	SYS_RT_SIGSUSPEND          = 133
-	SYS_RT_SIGACTION           = 134
-	SYS_RT_SIGPROCMASK         = 135
-	SYS_RT_SIGPENDING          = 136
-	SYS_RT_SIGTIMEDWAIT        = 137
-	SYS_RT_SIGQUEUEINFO        = 138
-	SYS_RT_SIGRETURN           = 139
-	SYS_SETPRIORITY            = 140
-	SYS_GETPRIORITY            = 141
-	SYS_REBOOT                 = 142
-	SYS_SETREGID               = 143
-	SYS_SETGID                 = 144
-	SYS_SETREUID               = 145
-	SYS_SETUID                 = 146
-	SYS_SETRESUID              = 147
-	SYS_GETRESUID              = 148
-	SYS_SETRESGID              = 149
-	SYS_GETRESGID              = 150
-	SYS_SETFSUID               = 151
-	SYS_SETFSGID               = 152
-	SYS_TIMES                  = 153
-	SYS_SETPGID                = 154
-	SYS_GETPGID                = 155
-	SYS_GETSID                 = 156
-	SYS_SETSID                 = 157
-	SYS_GETGROUPS              = 158
-	SYS_SETGROUPS              = 159
-	SYS_UNAME                  = 160
-	SYS_SETHOSTNAME            = 161
-	SYS_SETDOMAINNAME          = 162
-	SYS_GETRLIMIT              = 163
-	SYS_SETRLIMIT              = 164
-	SYS_GETRUSAGE              = 165
-	SYS_UMASK                  = 166
-	SYS_PRCTL                  = 167
-	SYS_GETCPU                 = 168
-	SYS_GETTIMEOFDAY           = 169
-	SYS_SETTIMEOFDAY           = 170
-	SYS_ADJTIMEX               = 171
-	SYS_GETPID                 = 172
-	SYS_GETPPID                = 173
-	SYS_GETUID                 = 174
-	SYS_GETEUID                = 175
-	SYS_GETGID                 = 176
-	SYS_GETEGID                = 177
-	SYS_GETTID                 = 178
-	SYS_SYSINFO                = 179
-	SYS_MQ_OPEN                = 180
-	SYS_MQ_UNLINK              = 181
-	SYS_MQ_TIMEDSEND           = 182
-	SYS_MQ_TIMEDRECEIVE        = 183
-	SYS_MQ_NOTIFY              = 184
-	SYS_MQ_GETSETATTR          = 185
-	SYS_MSGGET                 = 186
-	SYS_MSGCTL                 = 187
-	SYS_MSGRCV                 = 188
-	SYS_MSGSND                 = 189
-	SYS_SEMGET                 = 190
-	SYS_SEMCTL                 = 191
-	SYS_SEMTIMEDOP             = 192
-	SYS_SEMOP                  = 193
-	SYS_SHMGET                 = 194
-	SYS_SHMCTL                 = 195
-	SYS_SHMAT                  = 196
-	SYS_SHMDT                  = 197
-	SYS_SOCKET                 = 198
-	SYS_SOCKETPAIR             = 199
-	SYS_BIND                   = 200
-	SYS_LISTEN                 = 201
-	SYS_ACCEPT                 = 202
-	SYS_CONNECT                = 203
-	SYS_GETSOCKNAME            = 204
-	SYS_GETPEERNAME            = 205
-	SYS_SENDTO                 = 206
-	SYS_RECVFROM               = 207
-	SYS_SETSOCKOPT             = 208
-	SYS_GETSOCKOPT             = 209
-	SYS_SHUTDOWN               = 210
-	SYS_SENDMSG                = 211
-	SYS_RECVMSG                = 212
-	SYS_READAHEAD              = 213
-	SYS_BRK                    = 214
-	SYS_MUNMAP                 = 215
-	SYS_MREMAP                 = 216
-	SYS_ADD_KEY                = 217
-	SYS_REQUEST_KEY            = 218
-	SYS_KEYCTL                 = 219
-	SYS_CLONE                  = 220
-	SYS_EXECVE                 = 221
-	SYS_MMAP                   = 222
-	SYS_FADVISE64              = 223
-	SYS_SWAPON                 = 224
-	SYS_SWAPOFF                = 225
-	SYS_MPROTECT               = 226
-	SYS_MSYNC                  = 227
-	SYS_MLOCK                  = 228
-	SYS_MUNLOCK                = 229
-	SYS_MLOCKALL               = 230
-	SYS_MUNLOCKALL             = 231
-	SYS_MINCORE                = 232
-	SYS_MADVISE                = 233
-	SYS_REMAP_FILE_PAGES       = 234
-	SYS_MBIND                  = 235
-	SYS_GET_MEMPOLICY          = 236
-	SYS_SET_MEMPOLICY          = 237
-	SYS_MIGRATE_PAGES          = 238
-	SYS_MOVE_PAGES             = 239
-	SYS_RT_TGSIGQUEUEINFO      = 240
-	SYS_PERF_EVENT_OPEN        = 241
-	SYS_ACCEPT4                = 242
-	SYS_RECVMMSG               = 243
-	SYS_ARCH_SPECIFIC_SYSCALL  = 244
-	SYS_WAIT4                  = 260
-	SYS_PRLIMIT64              = 261
-	SYS_FANOTIFY_INIT          = 262
-	SYS_FANOTIFY_MARK          = 263
-	SYS_NAME_TO_HANDLE_AT      = 264
-	SYS_OPEN_BY_HANDLE_AT      = 265
-	SYS_CLOCK_ADJTIME          = 266
-	SYS_SYNCFS                 = 267
-	SYS_SETNS                  = 268
-	SYS_SENDMMSG               = 269
-	SYS_PROCESS_VM_READV       = 270
-	SYS_PROCESS_VM_WRITEV      = 271
-	SYS_KCMP                   = 272
-	SYS_FINIT_MODULE           = 273
-	SYS_SCHED_SETATTR          = 274
-	SYS_SCHED_GETATTR          = 275
-	SYS_RENAMEAT2              = 276
-	SYS_SECCOMP                = 277
-	SYS_GETRANDOM              = 278
-	SYS_MEMFD_CREATE           = 279
-	SYS_BPF                    = 280
-	SYS_EXECVEAT               = 281
-	SYS_USERFAULTFD            = 282
-	SYS_MEMBARRIER             = 283
-	SYS_MLOCK2                 = 284
-	SYS_COPY_FILE_RANGE        = 285
-	SYS_PREADV2                = 286
-	SYS_PWRITEV2               = 287
-	SYS_PKEY_MPROTECT          = 288
-	SYS_PKEY_ALLOC             = 289
-	SYS_PKEY_FREE              = 290
-	SYS_STATX                  = 291
-	SYS_IO_PGETEVENTS          = 292
-	SYS_RSEQ                   = 293
-)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
index de0245a..c061d6f 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
@@ -332,6 +332,4 @@ const (
 	SYS_STATX                  = 379
 	SYS_S390_STHYI             = 380
 	SYS_KEXEC_FILE_LOAD        = 381
-	SYS_IO_PGETEVENTS          = 382
-	SYS_RSEQ                   = 383
 )
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
index f93f391..0778730 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
@@ -1,5 +1,5 @@
 // mksysnum_openbsd.pl
-// Code generated by the command above; see README.md. DO NOT EDIT.
+// Code generated by the command above; DO NOT EDIT.
 
 // +build 386,openbsd
 
@@ -12,7 +12,6 @@ const (
 	SYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \
 	SYS_OPEN           = 5   // { int sys_open(const char *path, \
 	SYS_CLOSE          = 6   // { int sys_close(int fd); }
-	SYS_GETENTROPY     = 7   // { int sys_getentropy(void *buf, size_t nbyte); }
 	SYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \
 	SYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }
 	SYS_UNLINK         = 10  // { int sys_unlink(const char *path); }
@@ -38,10 +37,11 @@ const (
 	SYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \
 	SYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \
 	SYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \
-	SYS_ACCESS         = 33  // { int sys_access(const char *path, int amode); }
+	SYS_ACCESS         = 33  // { int sys_access(const char *path, int flags); }
 	SYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }
 	SYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }
 	SYS_SYNC           = 36  // { void sys_sync(void); }
+	SYS_KILL           = 37  // { int sys_kill(int pid, int signum); }
 	SYS_STAT           = 38  // { int sys_stat(const char *path, struct stat *ub); }
 	SYS_GETPPID        = 39  // { pid_t sys_getppid(void); }
 	SYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }
@@ -53,6 +53,7 @@ const (
 	SYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \
 	SYS_GETGID         = 47  // { gid_t sys_getgid(void); }
 	SYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }
+	SYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }
 	SYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }
 	SYS_ACCT           = 51  // { int sys_acct(const char *path); }
 	SYS_SIGPENDING     = 52  // { int sys_sigpending(void); }
@@ -61,7 +62,7 @@ const (
 	SYS_REBOOT         = 55  // { int sys_reboot(int opt); }
 	SYS_REVOKE         = 56  // { int sys_revoke(const char *path); }
 	SYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \
-	SYS_READLINK       = 58  // { ssize_t sys_readlink(const char *path, \
+	SYS_READLINK       = 58  // { int sys_readlink(const char *path, char *buf, \
 	SYS_EXECVE         = 59  // { int sys_execve(const char *path, \
 	SYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }
 	SYS_CHROOT         = 61  // { int sys_chroot(const char *path); }
@@ -85,18 +86,15 @@ const (
 	SYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \
 	SYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \
 	SYS_GETPGRP        = 81  // { int sys_getpgrp(void); }
-	SYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, pid_t pgid); }
-	SYS_FUTEX          = 83  // { int sys_futex(uint32_t *f, int op, int val, \
+	SYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, int pgid); }
 	SYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \
 	SYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \
-	SYS_KBIND          = 86  // { int sys_kbind(const struct __kbind *param, \
 	SYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \
 	SYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \
 	SYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \
 	SYS_DUP2           = 90  // { int sys_dup2(int from, int to); }
 	SYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \
 	SYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }
-	SYS_ACCEPT4        = 93  // { int sys_accept4(int s, struct sockaddr *name, \
 	SYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \
 	SYS_FSYNC          = 95  // { int sys_fsync(int fd); }
 	SYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }
@@ -104,24 +102,16 @@ const (
 	SYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \
 	SYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }
 	SYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }
-	SYS_PIPE2          = 101 // { int sys_pipe2(int *fdp, int flags); }
-	SYS_DUP3           = 102 // { int sys_dup3(int from, int to, int flags); }
 	SYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }
 	SYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \
 	SYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \
 	SYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }
-	SYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, \
-	SYS_PLEDGE         = 108 // { int sys_pledge(const char *promises, \
 	SYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \
 	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
 	SYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }
-	SYS_SENDSYSLOG     = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, \
-	SYS_UNVEIL         = 114 // { int sys_unveil(const char *path, \
 	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \
-	SYS_THRKILL        = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); }
 	SYS_READV          = 120 // { ssize_t sys_readv(int fd, \
 	SYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \
-	SYS_KILL           = 122 // { int sys_kill(int pid, int signum); }
 	SYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }
 	SYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }
 	SYS_SETREUID       = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }
@@ -135,7 +125,6 @@ const (
 	SYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }
 	SYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }
 	SYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \
-	SYS_GETLOGIN_R     = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); }
 	SYS_SETSID         = 147 // { int sys_setsid(void); }
 	SYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \
 	SYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }
@@ -155,7 +144,7 @@ const (
 	SYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \
 	SYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \
 	SYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }
-	SYS_SYSCTL         = 202 // { int sys_sysctl(const int *name, u_int namelen, \
+	SYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \
 	SYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }
 	SYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }
 	SYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
index bc7fa57..10edff0 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
@@ -116,7 +116,6 @@ const (
 	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
 	SYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }
 	SYS_SENDSYSLOG     = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, \
-	SYS_UNVEIL         = 114 // { int sys_unveil(const char *path, \
 	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \
 	SYS_THRKILL        = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); }
 	SYS_READV          = 120 // { ssize_t sys_readv(int fd, \
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
index be1198d..7a1693a 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
@@ -1,5 +1,5 @@
 // mksysnum_openbsd.pl
-// Code generated by the command above; see README.md. DO NOT EDIT.
+// Code generated by the command above; DO NOT EDIT.
 
 // +build arm,openbsd
 
@@ -53,6 +53,7 @@ const (
 	SYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \
 	SYS_GETGID         = 47  // { gid_t sys_getgid(void); }
 	SYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }
+	SYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }
 	SYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }
 	SYS_ACCT           = 51  // { int sys_acct(const char *path); }
 	SYS_SIGPENDING     = 52  // { int sys_sigpending(void); }
@@ -86,10 +87,9 @@ const (
 	SYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \
 	SYS_GETPGRP        = 81  // { int sys_getpgrp(void); }
 	SYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, pid_t pgid); }
-	SYS_FUTEX          = 83  // { int sys_futex(uint32_t *f, int op, int val, \
+	SYS_SENDSYSLOG     = 83  // { int sys_sendsyslog(const void *buf, size_t nbyte); }
 	SYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \
 	SYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \
-	SYS_KBIND          = 86  // { int sys_kbind(const struct __kbind *param, \
 	SYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \
 	SYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \
 	SYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \
@@ -111,14 +111,10 @@ const (
 	SYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \
 	SYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }
 	SYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, \
-	SYS_PLEDGE         = 108 // { int sys_pledge(const char *promises, \
 	SYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \
 	SYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
 	SYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }
-	SYS_SENDSYSLOG     = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, \
-	SYS_UNVEIL         = 114 // { int sys_unveil(const char *path, \
 	SYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \
-	SYS_THRKILL        = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); }
 	SYS_READV          = 120 // { ssize_t sys_readv(int fd, \
 	SYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \
 	SYS_KILL           = 122 // { int sys_kill(int pid, int signum); }
@@ -135,7 +131,6 @@ const (
 	SYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }
 	SYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }
 	SYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \
-	SYS_GETLOGIN_R     = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); }
 	SYS_SETSID         = 147 // { int sys_setsid(void); }
 	SYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \
 	SYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }
@@ -155,7 +150,7 @@ const (
 	SYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \
 	SYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \
 	SYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }
-	SYS_SYSCTL         = 202 // { int sys_sysctl(const int *name, u_int namelen, \
+	SYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \
 	SYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }
 	SYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }
 	SYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }
diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
deleted file mode 100644
index cedc9b0..0000000
--- a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
+++ /dev/null
@@ -1,345 +0,0 @@
-// cgo -godefs types_aix.go | go run mkpost.go
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build ppc,aix
-
-package unix
-
-const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
-	PathMax        = 0x3ff
-)
-
-type (
-	_C_short     int16
-	_C_int       int32
-	_C_long      int32
-	_C_long_long int64
-)
-
-type off64 int64
-type off int32
-type Mode_t uint32
-
-type Timespec struct {
-	Sec  int32
-	Nsec int32
-}
-
-type StTimespec struct {
-	Sec  int32
-	Nsec int32
-}
-
-type Timeval struct {
-	Sec  int32
-	Usec int32
-}
-
-type Timeval32 struct {
-	Sec  int32
-	Usec int32
-}
-
-type Timex struct{}
-
-type Time_t int32
-
-type Tms struct{}
-
-type Utimbuf struct {
-	Actime  int32
-	Modtime int32
-}
-
-type Timezone struct {
-	Minuteswest int32
-	Dsttime     int32
-}
-
-type Rusage struct {
-	Utime    Timeval
-	Stime    Timeval
-	Maxrss   int32
-	Ixrss    int32
-	Idrss    int32
-	Isrss    int32
-	Minflt   int32
-	Majflt   int32
-	Nswap    int32
-	Inblock  int32
-	Oublock  int32
-	Msgsnd   int32
-	Msgrcv   int32
-	Nsignals int32
-	Nvcsw    int32
-	Nivcsw   int32
-}
-
-type Rlimit struct {
-	Cur uint64
-	Max uint64
-}
-
-type Pid_t int32
-
-type _Gid_t uint32
-
-type dev_t uint32
-
-type Stat_t struct {
-	Dev      uint32
-	Ino      uint32
-	Mode     uint32
-	Nlink    int16
-	Flag     uint16
-	Uid      uint32
-	Gid      uint32
-	Rdev     uint32
-	Size     int32
-	Atim     StTimespec
-	Mtim     StTimespec
-	Ctim     StTimespec
-	Blksize  int32
-	Blocks   int32
-	Vfstype  int32
-	Vfs      uint32
-	Type     uint32
-	Gen      uint32
-	Reserved [9]uint32
-}
-
-type StatxTimestamp struct{}
-
-type Statx_t struct{}
-
-type Dirent struct {
-	Offset uint32
-	Ino    uint32
-	Reclen uint16
-	Namlen uint16
-	Name   [256]uint8
-}
-
-type RawSockaddrInet4 struct {
-	Len    uint8
-	Family uint8
-	Port   uint16
-	Addr   [4]byte /* in_addr */
-	Zero   [8]uint8
-}
-
-type RawSockaddrInet6 struct {
-	Len      uint8
-	Family   uint8
-	Port     uint16
-	Flowinfo uint32
-	Addr     [16]byte /* in6_addr */
-	Scope_id uint32
-}
-
-type RawSockaddrUnix struct {
-	Len    uint8
-	Family uint8
-	Path   [1023]uint8
-}
-
-type RawSockaddr struct {
-	Len    uint8
-	Family uint8
-	Data   [14]uint8
-}
-
-type RawSockaddrAny struct {
-	Addr RawSockaddr
-	Pad  [1012]uint8
-}
-
-type _Socklen uint32
-
-type Cmsghdr struct {
-	Len   uint32
-	Level int32
-	Type  int32
-}
-
-type ICMPv6Filter struct {
-	Filt [8]uint32
-}
-
-type Iovec struct {
-	Base *byte
-	Len  uint32
-}
-
-type IPMreq struct {
-	Multiaddr [4]byte /* in_addr */
-	Interface [4]byte /* in_addr */
-}
-
-type IPv6Mreq struct {
-	Multiaddr [16]byte /* in6_addr */
-	Interface uint32
-}
-
-type IPv6MTUInfo struct {
-	Addr RawSockaddrInet6
-	Mtu  uint32
-}
-
-type Linger struct {
-	Onoff  int32
-	Linger int32
-}
-
-type Msghdr struct {
-	Name       *byte
-	Namelen    uint32
-	Iov        *Iovec
-	Iovlen     int32
-	Control    *byte
-	Controllen uint32
-	Flags      int32
-}
-
-const (
-	SizeofSockaddrInet4 = 0x10
-	SizeofSockaddrInet6 = 0x1c
-	SizeofSockaddrAny   = 0x404
-	SizeofSockaddrUnix  = 0x401
-	SizeofLinger        = 0x8
-	SizeofIPMreq        = 0x8
-	SizeofIPv6Mreq      = 0x14
-	SizeofIPv6MTUInfo   = 0x20
-	SizeofMsghdr        = 0x1c
-	SizeofCmsghdr       = 0xc
-	SizeofICMPv6Filter  = 0x20
-)
-
-const (
-	SizeofIfMsghdr = 0x10
-)
-
-type IfMsgHdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	Addrlen uint8
-	_       [1]byte
-}
-
-type FdSet struct {
-	Bits [2048]int32
-}
-
-type Utsname struct {
-	Sysname  [32]byte
-	Nodename [32]byte
-	Release  [32]byte
-	Version  [32]byte
-	Machine  [32]byte
-}
-
-type Ustat_t struct{}
-
-type Sigset_t struct {
-	Losigs uint32
-	Hisigs uint32
-}
-
-const (
-	AT_FDCWD            = -0x2
-	AT_REMOVEDIR        = 0x1
-	AT_SYMLINK_NOFOLLOW = 0x1
-)
-
-type Termios struct {
-	Iflag uint32
-	Oflag uint32
-	Cflag uint32
-	Lflag uint32
-	Cc    [16]uint8
-}
-
-type Termio struct {
-	Iflag uint16
-	Oflag uint16
-	Cflag uint16
-	Lflag uint16
-	Line  uint8
-	Cc    [8]uint8
-	_     [1]byte
-}
-
-type Winsize struct {
-	Row    uint16
-	Col    uint16
-	Xpixel uint16
-	Ypixel uint16
-}
-
-type PollFd struct {
-	Fd      int32
-	Events  uint16
-	Revents uint16
-}
-
-const (
-	POLLERR    = 0x4000
-	POLLHUP    = 0x2000
-	POLLIN     = 0x1
-	POLLNVAL   = 0x8000
-	POLLOUT    = 0x2
-	POLLPRI    = 0x4
-	POLLRDBAND = 0x20
-	POLLRDNORM = 0x10
-	POLLWRBAND = 0x40
-	POLLWRNORM = 0x2
-)
-
-type Flock_t struct {
-	Type   int16
-	Whence int16
-	Sysid  uint32
-	Pid    int32
-	Vfs    int32
-	Start  int64
-	Len    int64
-}
-
-type Fsid_t struct {
-	Val [2]uint32
-}
-type Fsid64_t struct {
-	Val [2]uint64
-}
-
-type Statfs_t struct {
-	Version   int32
-	Type      int32
-	Bsize     uint32
-	Blocks    uint32
-	Bfree     uint32
-	Bavail    uint32
-	Files     uint32
-	Ffree     uint32
-	Fsid      Fsid_t
-	Vfstype   int32
-	Fsize     uint32
-	Vfsnumber int32
-	Vfsoff    int32
-	Vfslen    int32
-	Vfsvers   int32
-	Fname     [32]uint8
-	Fpack     [32]uint8
-	Name_max  int32
-}
-
-const RNDGETENTCNT = 0x80045200
diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
deleted file mode 100644
index f46482d..0000000
--- a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
+++ /dev/null
@@ -1,354 +0,0 @@
-// cgo -godefs types_aix.go | go run mkpost.go
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build ppc64,aix
-
-package unix
-
-const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
-	PathMax        = 0x3ff
-)
-
-type (
-	_C_short     int16
-	_C_int       int32
-	_C_long      int64
-	_C_long_long int64
-)
-
-type off64 int64
-type off int64
-type Mode_t uint32
-
-type Timespec struct {
-	Sec  int64
-	Nsec int64
-}
-
-type StTimespec struct {
-	Sec  int64
-	Nsec int32
-	_    [4]byte
-}
-
-type Timeval struct {
-	Sec  int64
-	Usec int32
-	_    [4]byte
-}
-
-type Timeval32 struct {
-	Sec  int32
-	Usec int32
-}
-
-type Timex struct{}
-
-type Time_t int64
-
-type Tms struct{}
-
-type Utimbuf struct {
-	Actime  int64
-	Modtime int64
-}
-
-type Timezone struct {
-	Minuteswest int32
-	Dsttime     int32
-}
-
-type Rusage struct {
-	Utime    Timeval
-	Stime    Timeval
-	Maxrss   int64
-	Ixrss    int64
-	Idrss    int64
-	Isrss    int64
-	Minflt   int64
-	Majflt   int64
-	Nswap    int64
-	Inblock  int64
-	Oublock  int64
-	Msgsnd   int64
-	Msgrcv   int64
-	Nsignals int64
-	Nvcsw    int64
-	Nivcsw   int64
-}
-
-type Rlimit struct {
-	Cur uint64
-	Max uint64
-}
-
-type Pid_t int32
-
-type _Gid_t uint32
-
-type dev_t uint64
-
-type Stat_t struct {
-	Dev      uint64
-	Ino      uint64
-	Mode     uint32
-	Nlink    int16
-	Flag     uint16
-	Uid      uint32
-	Gid      uint32
-	Rdev     uint64
-	Ssize    int32
-	_        [4]byte
-	Atim     StTimespec
-	Mtim     StTimespec
-	Ctim     StTimespec
-	Blksize  int64
-	Blocks   int64
-	Vfstype  int32
-	Vfs      uint32
-	Type     uint32
-	Gen      uint32
-	Reserved [9]uint32
-	Padto_ll uint32
-	Size     int64
-}
-
-type StatxTimestamp struct{}
-
-type Statx_t struct{}
-
-type Dirent struct {
-	Offset uint64
-	Ino    uint64
-	Reclen uint16
-	Namlen uint16
-	Name   [256]uint8
-	_      [4]byte
-}
-
-type RawSockaddrInet4 struct {
-	Len    uint8
-	Family uint8
-	Port   uint16
-	Addr   [4]byte /* in_addr */
-	Zero   [8]uint8
-}
-
-type RawSockaddrInet6 struct {
-	Len      uint8
-	Family   uint8
-	Port     uint16
-	Flowinfo uint32
-	Addr     [16]byte /* in6_addr */
-	Scope_id uint32
-}
-
-type RawSockaddrUnix struct {
-	Len    uint8
-	Family uint8
-	Path   [1023]uint8
-}
-
-type RawSockaddr struct {
-	Len    uint8
-	Family uint8
-	Data   [14]uint8
-}
-
-type RawSockaddrAny struct {
-	Addr RawSockaddr
-	Pad  [1012]uint8
-}
-
-type _Socklen uint32
-
-type Cmsghdr struct {
-	Len   uint32
-	Level int32
-	Type  int32
-}
-
-type ICMPv6Filter struct {
-	Filt [8]uint32
-}
-
-type Iovec struct {
-	Base *byte
-	Len  uint64
-}
-
-type IPMreq struct {
-	Multiaddr [4]byte /* in_addr */
-	Interface [4]byte /* in_addr */
-}
-
-type IPv6Mreq struct {
-	Multiaddr [16]byte /* in6_addr */
-	Interface uint32
-}
-
-type IPv6MTUInfo struct {
-	Addr RawSockaddrInet6
-	Mtu  uint32
-}
-
-type Linger struct {
-	Onoff  int32
-	Linger int32
-}
-
-type Msghdr struct {
-	Name       *byte
-	Namelen    uint32
-	_          [4]byte
-	Iov        *Iovec
-	Iovlen     int32
-	_          [4]byte
-	Control    *byte
-	Controllen uint32
-	Flags      int32
-}
-
-const (
-	SizeofSockaddrInet4 = 0x10
-	SizeofSockaddrInet6 = 0x1c
-	SizeofSockaddrAny   = 0x404
-	SizeofSockaddrUnix  = 0x401
-	SizeofLinger        = 0x8
-	SizeofIPMreq        = 0x8
-	SizeofIPv6Mreq      = 0x14
-	SizeofIPv6MTUInfo   = 0x20
-	SizeofMsghdr        = 0x30
-	SizeofCmsghdr       = 0xc
-	SizeofICMPv6Filter  = 0x20
-)
-
-const (
-	SizeofIfMsghdr = 0x10
-)
-
-type IfMsgHdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	Addrlen uint8
-	_       [1]byte
-}
-
-type FdSet struct {
-	Bits [1024]int64
-}
-
-type Utsname struct {
-	Sysname  [32]byte
-	Nodename [32]byte
-	Release  [32]byte
-	Version  [32]byte
-	Machine  [32]byte
-}
-
-type Ustat_t struct{}
-
-type Sigset_t struct {
-	Set [4]uint64
-}
-
-const (
-	AT_FDCWD            = -0x2
-	AT_REMOVEDIR        = 0x1
-	AT_SYMLINK_NOFOLLOW = 0x1
-)
-
-type Termios struct {
-	Iflag uint32
-	Oflag uint32
-	Cflag uint32
-	Lflag uint32
-	Cc    [16]uint8
-}
-
-type Termio struct {
-	Iflag uint16
-	Oflag uint16
-	Cflag uint16
-	Lflag uint16
-	Line  uint8
-	Cc    [8]uint8
-	_     [1]byte
-}
-
-type Winsize struct {
-	Row    uint16
-	Col    uint16
-	Xpixel uint16
-	Ypixel uint16
-}
-
-type PollFd struct {
-	Fd      int32
-	Events  uint16
-	Revents uint16
-}
-
-const (
-	POLLERR    = 0x4000
-	POLLHUP    = 0x2000
-	POLLIN     = 0x1
-	POLLNVAL   = 0x8000
-	POLLOUT    = 0x2
-	POLLPRI    = 0x4
-	POLLRDBAND = 0x20
-	POLLRDNORM = 0x10
-	POLLWRBAND = 0x40
-	POLLWRNORM = 0x2
-)
-
-type Flock_t struct {
-	Type   int16
-	Whence int16
-	Sysid  uint32
-	Pid    int32
-	Vfs    int32
-	Start  int64
-	Len    int64
-}
-
-type Fsid_t struct {
-	Val [2]uint32
-}
-type Fsid64_t struct {
-	Val [2]uint64
-}
-
-type Statfs_t struct {
-	Version   int32
-	Type      int32
-	Bsize     uint64
-	Blocks    uint64
-	Bfree     uint64
-	Bavail    uint64
-	Files     uint64
-	Ffree     uint64
-	Fsid      Fsid64_t
-	Vfstype   int32
-	_         [4]byte
-	Fsize     uint64
-	Vfsnumber int32
-	Vfsoff    int32
-	Vfslen    int32
-	Vfsvers   int32
-	Fname     [32]uint8
-	Fpack     [32]uint8
-	Name_max  int32
-	_         [4]byte
-}
-
-const RNDGETENTCNT = 0x80045200
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
index 2aeb52a..327af5f 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 )
 
 type (
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
index 0d0d9f2..116e6e0 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 )
 
 type (
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
index 04e344b..2750ad7 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
@@ -7,11 +7,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 )
 
 type (
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
index 9fec185..8cead09 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 )
 
 type (
diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
index 7b34e2e..315a553 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 )
 
 type (
@@ -56,6 +56,23 @@ type Rlimit struct {
 
 type _Gid_t uint32
 
+const (
+	S_IFMT   = 0xf000
+	S_IFIFO  = 0x1000
+	S_IFCHR  = 0x2000
+	S_IFDIR  = 0x4000
+	S_IFBLK  = 0x6000
+	S_IFREG  = 0x8000
+	S_IFLNK  = 0xa000
+	S_IFSOCK = 0xc000
+	S_ISUID  = 0x800
+	S_ISGID  = 0x400
+	S_ISVTX  = 0x200
+	S_IRUSR  = 0x100
+	S_IWUSR  = 0x80
+	S_IXUSR  = 0x40
+)
+
 type Stat_t struct {
 	Ino      uint64
 	Nlink    uint32
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
index 28ef524..878a21a 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 )
 
 type (
@@ -57,83 +57,44 @@ type Rlimit struct {
 type _Gid_t uint32
 
 const (
-	_statfsVersion = 0x20140518
-	_dirblksiz     = 0x400
+	S_IFMT   = 0xf000
+	S_IFIFO  = 0x1000
+	S_IFCHR  = 0x2000
+	S_IFDIR  = 0x4000
+	S_IFBLK  = 0x6000
+	S_IFREG  = 0x8000
+	S_IFLNK  = 0xa000
+	S_IFSOCK = 0xc000
+	S_ISUID  = 0x800
+	S_ISGID  = 0x400
+	S_ISVTX  = 0x200
+	S_IRUSR  = 0x100
+	S_IWUSR  = 0x80
+	S_IXUSR  = 0x40
 )
 
 type Stat_t struct {
-	Dev      uint64
-	Ino      uint64
-	Nlink    uint64
-	Mode     uint16
-	_0       int16
-	Uid      uint32
-	Gid      uint32
-	_1       int32
-	Rdev     uint64
-	Atim_ext int32
-	Atim     Timespec
-	Mtim_ext int32
-	Mtim     Timespec
-	Ctim_ext int32
-	Ctim     Timespec
-	Btim_ext int32
-	Birthtim Timespec
-	Size     int64
-	Blocks   int64
-	Blksize  int32
-	Flags    uint32
-	Gen      uint64
-	Spare    [10]uint64
-}
-
-type stat_freebsd11_t struct {
-	Dev      uint32
-	Ino      uint32
-	Mode     uint16
-	Nlink    uint16
-	Uid      uint32
-	Gid      uint32
-	Rdev     uint32
-	Atim     Timespec
-	Mtim     Timespec
-	Ctim     Timespec
-	Size     int64
-	Blocks   int64
-	Blksize  int32
-	Flags    uint32
-	Gen      uint32
-	Lspare   int32
-	Birthtim Timespec
-	_        [8]byte
+	Dev           uint32
+	Ino           uint32
+	Mode          uint16
+	Nlink         uint16
+	Uid           uint32
+	Gid           uint32
+	Rdev          uint32
+	Atimespec     Timespec
+	Mtimespec     Timespec
+	Ctimespec     Timespec
+	Size          int64
+	Blocks        int64
+	Blksize       int32
+	Flags         uint32
+	Gen           uint32
+	Lspare        int32
+	Birthtimespec Timespec
+	Pad_cgo_0     [8]byte
 }
 
 type Statfs_t struct {
-	Version     uint32
-	Type        uint32
-	Flags       uint64
-	Bsize       uint64
-	Iosize      uint64
-	Blocks      uint64
-	Bfree       uint64
-	Bavail      int64
-	Files       uint64
-	Ffree       int64
-	Syncwrites  uint64
-	Asyncwrites uint64
-	Syncreads   uint64
-	Asyncreads  uint64
-	Spare       [10]uint64
-	Namemax     uint32
-	Owner       uint32
-	Fsid        Fsid
-	Charspare   [80]int8
-	Fstypename  [16]int8
-	Mntfromname [1024]int8
-	Mntonname   [1024]int8
-}
-
-type statfs_freebsd11_t struct {
 	Version     uint32
 	Type        uint32
 	Flags       uint64
@@ -168,17 +129,6 @@ type Flock_t struct {
 }
 
 type Dirent struct {
-	Fileno uint64
-	Off    int64
-	Reclen uint16
-	Type   uint8
-	Pad0   uint8
-	Namlen uint16
-	Pad1   uint16
-	Name   [256]int8
-}
-
-type dirent_freebsd11 struct {
 	Fileno uint32
 	Reclen uint16
 	Type   uint8
@@ -339,7 +289,7 @@ type Kevent_t struct {
 }
 
 type FdSet struct {
-	_ [32]uint32
+	X__fds_bits [32]uint32
 }
 
 const (
@@ -355,53 +305,53 @@ const (
 )
 
 type ifMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
-	Data    ifData
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Data      ifData
 }
 
 type IfMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
-	Data    IfData
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Data      IfData
 }
 
 type ifData struct {
-	Type       uint8
-	Physical   uint8
-	Addrlen    uint8
-	Hdrlen     uint8
-	Link_state uint8
-	Vhid       uint8
-	Datalen    uint16
-	Mtu        uint32
-	Metric     uint32
-	Baudrate   uint64
-	Ipackets   uint64
-	Ierrors    uint64
-	Opackets   uint64
-	Oerrors    uint64
-	Collisions uint64
-	Ibytes     uint64
-	Obytes     uint64
-	Imcasts    uint64
-	Omcasts    uint64
-	Iqdrops    uint64
-	Oqdrops    uint64
-	Noproto    uint64
-	Hwassist   uint64
-	_          [8]byte
-	_          [16]byte
+	Type              uint8
+	Physical          uint8
+	Addrlen           uint8
+	Hdrlen            uint8
+	Link_state        uint8
+	Vhid              uint8
+	Datalen           uint16
+	Mtu               uint32
+	Metric            uint32
+	Baudrate          uint64
+	Ipackets          uint64
+	Ierrors           uint64
+	Opackets          uint64
+	Oerrors           uint64
+	Collisions        uint64
+	Ibytes            uint64
+	Obytes            uint64
+	Imcasts           uint64
+	Omcasts           uint64
+	Iqdrops           uint64
+	Oqdrops           uint64
+	Noproto           uint64
+	Hwassist          uint64
+	X__ifi_epoch      [8]byte
+	X__ifi_lastchange [16]byte
 }
 
 type IfData struct {
@@ -433,24 +383,24 @@ type IfData struct {
 }
 
 type IfaMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
-	Metric  int32
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Metric    int32
 }
 
 type IfmaMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
 }
 
 type IfAnnounceMsghdr struct {
@@ -463,19 +413,19 @@ type IfAnnounceMsghdr struct {
 }
 
 type RtMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Index   uint16
-	_       [2]byte
-	Flags   int32
-	Addrs   int32
-	Pid     int32
-	Seq     int32
-	Errno   int32
-	Fmask   int32
-	Inits   uint32
-	Rmx     RtMetrics
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Flags     int32
+	Addrs     int32
+	Pid       int32
+	Seq       int32
+	Errno     int32
+	Fmask     int32
+	Inits     uint32
+	Rmx       RtMetrics
 }
 
 type RtMetrics struct {
@@ -532,18 +482,18 @@ type BpfInsn struct {
 }
 
 type BpfHdr struct {
-	Tstamp  Timeval
-	Caplen  uint32
-	Datalen uint32
-	Hdrlen  uint16
-	_       [2]byte
+	Tstamp    Timeval
+	Caplen    uint32
+	Datalen   uint32
+	Hdrlen    uint16
+	Pad_cgo_0 [2]byte
 }
 
 type BpfZbufHeader struct {
 	Kernel_gen uint32
 	Kernel_len uint32
 	User_gen   uint32
-	_          [5]uint32
+	X_bzh_pad  [5]uint32
 }
 
 type Termios struct {
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
index e2d984a..8408af1 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 )
 
 type (
@@ -57,78 +57,43 @@ type Rlimit struct {
 type _Gid_t uint32
 
 const (
-	_statfsVersion = 0x20140518
-	_dirblksiz     = 0x400
+	S_IFMT   = 0xf000
+	S_IFIFO  = 0x1000
+	S_IFCHR  = 0x2000
+	S_IFDIR  = 0x4000
+	S_IFBLK  = 0x6000
+	S_IFREG  = 0x8000
+	S_IFLNK  = 0xa000
+	S_IFSOCK = 0xc000
+	S_ISUID  = 0x800
+	S_ISGID  = 0x400
+	S_ISVTX  = 0x200
+	S_IRUSR  = 0x100
+	S_IWUSR  = 0x80
+	S_IXUSR  = 0x40
 )
 
 type Stat_t struct {
-	Dev      uint64
-	Ino      uint64
-	Nlink    uint64
-	Mode     uint16
-	_0       int16
-	Uid      uint32
-	Gid      uint32
-	_1       int32
-	Rdev     uint64
-	Atim     Timespec
-	Mtim     Timespec
-	Ctim     Timespec
-	Birthtim Timespec
-	Size     int64
-	Blocks   int64
-	Blksize  int32
-	Flags    uint32
-	Gen      uint64
-	Spare    [10]uint64
-}
-
-type stat_freebsd11_t struct {
-	Dev      uint32
-	Ino      uint32
-	Mode     uint16
-	Nlink    uint16
-	Uid      uint32
-	Gid      uint32
-	Rdev     uint32
-	Atim     Timespec
-	Mtim     Timespec
-	Ctim     Timespec
-	Size     int64
-	Blocks   int64
-	Blksize  int32
-	Flags    uint32
-	Gen      uint32
-	Lspare   int32
-	Birthtim Timespec
+	Dev           uint32
+	Ino           uint32
+	Mode          uint16
+	Nlink         uint16
+	Uid           uint32
+	Gid           uint32
+	Rdev          uint32
+	Atimespec     Timespec
+	Mtimespec     Timespec
+	Ctimespec     Timespec
+	Size          int64
+	Blocks        int64
+	Blksize       int32
+	Flags         uint32
+	Gen           uint32
+	Lspare        int32
+	Birthtimespec Timespec
 }
 
 type Statfs_t struct {
-	Version     uint32
-	Type        uint32
-	Flags       uint64
-	Bsize       uint64
-	Iosize      uint64
-	Blocks      uint64
-	Bfree       uint64
-	Bavail      int64
-	Files       uint64
-	Ffree       int64
-	Syncwrites  uint64
-	Asyncwrites uint64
-	Syncreads   uint64
-	Asyncreads  uint64
-	Spare       [10]uint64
-	Namemax     uint32
-	Owner       uint32
-	Fsid        Fsid
-	Charspare   [80]int8
-	Fstypename  [16]int8
-	Mntfromname [1024]int8
-	Mntonname   [1024]int8
-}
-
-type statfs_freebsd11_t struct {
 	Version     uint32
 	Type        uint32
 	Flags       uint64
@@ -154,27 +119,16 @@ type statfs_freebsd11_t struct {
 }
 
 type Flock_t struct {
-	Start  int64
-	Len    int64
-	Pid    int32
-	Type   int16
-	Whence int16
-	Sysid  int32
-	_      [4]byte
+	Start     int64
+	Len       int64
+	Pid       int32
+	Type      int16
+	Whence    int16
+	Sysid     int32
+	Pad_cgo_0 [4]byte
 }
 
 type Dirent struct {
-	Fileno uint64
-	Off    int64
-	Reclen uint16
-	Type   uint8
-	Pad0   uint8
-	Namlen uint16
-	Pad1   uint16
-	Name   [256]int8
-}
-
-type dirent_freebsd11 struct {
 	Fileno uint32
 	Reclen uint16
 	Type   uint8
@@ -275,10 +229,10 @@ type IPv6Mreq struct {
 type Msghdr struct {
 	Name       *byte
 	Namelen    uint32
-	_          [4]byte
+	Pad_cgo_0  [4]byte
 	Iov        *Iovec
 	Iovlen     int32
-	_          [4]byte
+	Pad_cgo_1  [4]byte
 	Control    *byte
 	Controllen uint32
 	Flags      int32
@@ -337,7 +291,7 @@ type Kevent_t struct {
 }
 
 type FdSet struct {
-	_ [16]uint64
+	X__fds_bits [16]uint64
 }
 
 const (
@@ -353,53 +307,53 @@ const (
 )
 
 type ifMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
-	Data    ifData
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Data      ifData
 }
 
 type IfMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
-	Data    IfData
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Data      IfData
 }
 
 type ifData struct {
-	Type       uint8
-	Physical   uint8
-	Addrlen    uint8
-	Hdrlen     uint8
-	Link_state uint8
-	Vhid       uint8
-	Datalen    uint16
-	Mtu        uint32
-	Metric     uint32
-	Baudrate   uint64
-	Ipackets   uint64
-	Ierrors    uint64
-	Opackets   uint64
-	Oerrors    uint64
-	Collisions uint64
-	Ibytes     uint64
-	Obytes     uint64
-	Imcasts    uint64
-	Omcasts    uint64
-	Iqdrops    uint64
-	Oqdrops    uint64
-	Noproto    uint64
-	Hwassist   uint64
-	_          [8]byte
-	_          [16]byte
+	Type              uint8
+	Physical          uint8
+	Addrlen           uint8
+	Hdrlen            uint8
+	Link_state        uint8
+	Vhid              uint8
+	Datalen           uint16
+	Mtu               uint32
+	Metric            uint32
+	Baudrate          uint64
+	Ipackets          uint64
+	Ierrors           uint64
+	Opackets          uint64
+	Oerrors           uint64
+	Collisions        uint64
+	Ibytes            uint64
+	Obytes            uint64
+	Imcasts           uint64
+	Omcasts           uint64
+	Iqdrops           uint64
+	Oqdrops           uint64
+	Noproto           uint64
+	Hwassist          uint64
+	X__ifi_epoch      [8]byte
+	X__ifi_lastchange [16]byte
 }
 
 type IfData struct {
@@ -431,24 +385,24 @@ type IfData struct {
 }
 
 type IfaMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
-	Metric  int32
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Metric    int32
 }
 
 type IfmaMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
 }
 
 type IfAnnounceMsghdr struct {
@@ -461,19 +415,19 @@ type IfAnnounceMsghdr struct {
 }
 
 type RtMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Index   uint16
-	_       [2]byte
-	Flags   int32
-	Addrs   int32
-	Pid     int32
-	Seq     int32
-	Errno   int32
-	Fmask   int32
-	Inits   uint64
-	Rmx     RtMetrics
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Flags     int32
+	Addrs     int32
+	Pid       int32
+	Seq       int32
+	Errno     int32
+	Fmask     int32
+	Inits     uint64
+	Rmx       RtMetrics
 }
 
 type RtMetrics struct {
@@ -518,9 +472,9 @@ type BpfZbuf struct {
 }
 
 type BpfProgram struct {
-	Len   uint32
-	_     [4]byte
-	Insns *BpfInsn
+	Len       uint32
+	Pad_cgo_0 [4]byte
+	Insns     *BpfInsn
 }
 
 type BpfInsn struct {
@@ -531,18 +485,18 @@ type BpfInsn struct {
 }
 
 type BpfHdr struct {
-	Tstamp  Timeval
-	Caplen  uint32
-	Datalen uint32
-	Hdrlen  uint16
-	_       [6]byte
+	Tstamp    Timeval
+	Caplen    uint32
+	Datalen   uint32
+	Hdrlen    uint16
+	Pad_cgo_0 [6]byte
 }
 
 type BpfZbufHeader struct {
 	Kernel_gen uint32
 	Kernel_len uint32
 	User_gen   uint32
-	_          [5]uint32
+	X_bzh_pad  [5]uint32
 }
 
 type Termios struct {
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
index 9b415ab..4b2d9a4 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 )
 
 type (
@@ -21,15 +21,15 @@ type (
 )
 
 type Timespec struct {
-	Sec  int64
-	Nsec int32
-	_    [4]byte
+	Sec       int64
+	Nsec      int32
+	Pad_cgo_0 [4]byte
 }
 
 type Timeval struct {
-	Sec  int64
-	Usec int32
-	_    [4]byte
+	Sec       int64
+	Usec      int32
+	Pad_cgo_0 [4]byte
 }
 
 type Rusage struct {
@@ -59,78 +59,43 @@ type Rlimit struct {
 type _Gid_t uint32
 
 const (
-	_statfsVersion = 0x20140518
-	_dirblksiz     = 0x400
+	S_IFMT   = 0xf000
+	S_IFIFO  = 0x1000
+	S_IFCHR  = 0x2000
+	S_IFDIR  = 0x4000
+	S_IFBLK  = 0x6000
+	S_IFREG  = 0x8000
+	S_IFLNK  = 0xa000
+	S_IFSOCK = 0xc000
+	S_ISUID  = 0x800
+	S_ISGID  = 0x400
+	S_ISVTX  = 0x200
+	S_IRUSR  = 0x100
+	S_IWUSR  = 0x80
+	S_IXUSR  = 0x40
 )
 
 type Stat_t struct {
-	Dev      uint64
-	Ino      uint64
-	Nlink    uint64
-	Mode     uint16
-	_0       int16
-	Uid      uint32
-	Gid      uint32
-	_1       int32
-	Rdev     uint64
-	Atim     Timespec
-	Mtim     Timespec
-	Ctim     Timespec
-	Birthtim Timespec
-	Size     int64
-	Blocks   int64
-	Blksize  int32
-	Flags    uint32
-	Gen      uint64
-	Spare    [10]uint64
-}
-
-type stat_freebsd11_t struct {
-	Dev      uint32
-	Ino      uint32
-	Mode     uint16
-	Nlink    uint16
-	Uid      uint32
-	Gid      uint32
-	Rdev     uint32
-	Atim     Timespec
-	Mtim     Timespec
-	Ctim     Timespec
-	Size     int64
-	Blocks   int64
-	Blksize  int32
-	Flags    uint32
-	Gen      uint32
-	Lspare   int32
-	Birthtim Timespec
+	Dev           uint32
+	Ino           uint32
+	Mode          uint16
+	Nlink         uint16
+	Uid           uint32
+	Gid           uint32
+	Rdev          uint32
+	Atimespec     Timespec
+	Mtimespec     Timespec
+	Ctimespec     Timespec
+	Size          int64
+	Blocks        int64
+	Blksize       int32
+	Flags         uint32
+	Gen           uint32
+	Lspare        int32
+	Birthtimespec Timespec
 }
 
 type Statfs_t struct {
-	Version     uint32
-	Type        uint32
-	Flags       uint64
-	Bsize       uint64
-	Iosize      uint64
-	Blocks      uint64
-	Bfree       uint64
-	Bavail      int64
-	Files       uint64
-	Ffree       int64
-	Syncwrites  uint64
-	Asyncwrites uint64
-	Syncreads   uint64
-	Asyncreads  uint64
-	Spare       [10]uint64
-	Namemax     uint32
-	Owner       uint32
-	Fsid        Fsid
-	Charspare   [80]int8
-	Fstypename  [16]int8
-	Mntfromname [1024]int8
-	Mntonname   [1024]int8
-}
-
-type statfs_freebsd11_t struct {
 	Version     uint32
 	Type        uint32
 	Flags       uint64
@@ -156,27 +121,16 @@ type statfs_freebsd11_t struct {
 }
 
 type Flock_t struct {
-	Start  int64
-	Len    int64
-	Pid    int32
-	Type   int16
-	Whence int16
-	Sysid  int32
-	_      [4]byte
+	Start     int64
+	Len       int64
+	Pid       int32
+	Type      int16
+	Whence    int16
+	Sysid     int32
+	Pad_cgo_0 [4]byte
 }
 
 type Dirent struct {
-	Fileno uint64
-	Off    int64
-	Reclen uint16
-	Type   uint8
-	Pad0   uint8
-	Namlen uint16
-	Pad1   uint16
-	Name   [256]int8
-}
-
-type dirent_freebsd11 struct {
 	Fileno uint32
 	Reclen uint16
 	Type   uint8
@@ -337,7 +291,7 @@ type Kevent_t struct {
 }
 
 type FdSet struct {
-	_ [32]uint32
+	X__fds_bits [32]uint32
 }
 
 const (
@@ -353,53 +307,53 @@ const (
 )
 
 type ifMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
-	Data    ifData
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Data      ifData
 }
 
 type IfMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
-	Data    IfData
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Data      IfData
 }
 
 type ifData struct {
-	Type       uint8
-	Physical   uint8
-	Addrlen    uint8
-	Hdrlen     uint8
-	Link_state uint8
-	Vhid       uint8
-	Datalen    uint16
-	Mtu        uint32
-	Metric     uint32
-	Baudrate   uint64
-	Ipackets   uint64
-	Ierrors    uint64
-	Opackets   uint64
-	Oerrors    uint64
-	Collisions uint64
-	Ibytes     uint64
-	Obytes     uint64
-	Imcasts    uint64
-	Omcasts    uint64
-	Iqdrops    uint64
-	Oqdrops    uint64
-	Noproto    uint64
-	Hwassist   uint64
-	_          [8]byte
-	_          [16]byte
+	Type              uint8
+	Physical          uint8
+	Addrlen           uint8
+	Hdrlen            uint8
+	Link_state        uint8
+	Vhid              uint8
+	Datalen           uint16
+	Mtu               uint32
+	Metric            uint32
+	Baudrate          uint64
+	Ipackets          uint64
+	Ierrors           uint64
+	Opackets          uint64
+	Oerrors           uint64
+	Collisions        uint64
+	Ibytes            uint64
+	Obytes            uint64
+	Imcasts           uint64
+	Omcasts           uint64
+	Iqdrops           uint64
+	Oqdrops           uint64
+	Noproto           uint64
+	Hwassist          uint64
+	X__ifi_epoch      [8]byte
+	X__ifi_lastchange [16]byte
 }
 
 type IfData struct {
@@ -426,30 +380,30 @@ type IfData struct {
 	Iqdrops     uint32
 	Noproto     uint32
 	Hwassist    uint32
-	_           [4]byte
+	Pad_cgo_0   [4]byte
 	Epoch       int64
 	Lastchange  Timeval
 }
 
 type IfaMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
-	Metric  int32
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Metric    int32
 }
 
 type IfmaMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Addrs   int32
-	Flags   int32
-	Index   uint16
-	_       [2]byte
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Addrs     int32
+	Flags     int32
+	Index     uint16
+	Pad_cgo_0 [2]byte
 }
 
 type IfAnnounceMsghdr struct {
@@ -462,19 +416,19 @@ type IfAnnounceMsghdr struct {
 }
 
 type RtMsghdr struct {
-	Msglen  uint16
-	Version uint8
-	Type    uint8
-	Index   uint16
-	_       [2]byte
-	Flags   int32
-	Addrs   int32
-	Pid     int32
-	Seq     int32
-	Errno   int32
-	Fmask   int32
-	Inits   uint32
-	Rmx     RtMetrics
+	Msglen    uint16
+	Version   uint8
+	Type      uint8
+	Index     uint16
+	Pad_cgo_0 [2]byte
+	Flags     int32
+	Addrs     int32
+	Pid       int32
+	Seq       int32
+	Errno     int32
+	Fmask     int32
+	Inits     uint32
+	Rmx       RtMetrics
 }
 
 type RtMetrics struct {
@@ -531,18 +485,18 @@ type BpfInsn struct {
 }
 
 type BpfHdr struct {
-	Tstamp  Timeval
-	Caplen  uint32
-	Datalen uint32
-	Hdrlen  uint16
-	_       [6]byte
+	Tstamp    Timeval
+	Caplen    uint32
+	Datalen   uint32
+	Hdrlen    uint16
+	Pad_cgo_0 [6]byte
 }
 
 type BpfZbufHeader struct {
 	Kernel_gen uint32
 	Kernel_len uint32
 	User_gen   uint32
-	_          [5]uint32
+	X_bzh_pad  [5]uint32
 }
 
 type Termios struct {
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
index 5f8f034..e89bc6b 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -248,13 +248,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -278,14 +271,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]int8
@@ -416,11 +401,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x8
 	SizeofIPMreq            = 0x8
@@ -450,7 +433,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -494,7 +476,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -519,20 +501,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1876,113 +1844,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int32
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-}
-
-const (
-	BLKPG                  = 0x1269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
index aa52a43..d95372b 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -250,13 +250,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -280,14 +273,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]int8
@@ -420,11 +405,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x10
 	SizeofIPMreq            = 0x8
@@ -454,7 +437,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -498,7 +480,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -523,20 +505,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1896,115 +1864,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int64
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	_       [4]byte
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x1269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
index 23c8438..77875ba 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -251,13 +251,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -281,14 +274,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]uint8
@@ -419,11 +404,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x8
 	SizeofIPMreq            = 0x8
@@ -453,7 +436,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -497,7 +479,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -522,20 +504,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1865,114 +1833,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int32
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x1269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
index d7a993e..5a9df69 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -251,13 +251,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -281,14 +274,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]int8
@@ -421,11 +406,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x10
 	SizeofIPMreq            = 0x8
@@ -455,7 +438,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -499,7 +481,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -524,20 +506,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1875,115 +1843,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int64
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	_       [4]byte
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x1269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
index b8c3d0a..dcb239d 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -249,13 +249,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -279,14 +272,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]int8
@@ -417,11 +402,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x8
 	SizeofIPMreq            = 0x8
@@ -451,7 +434,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -495,7 +477,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -520,20 +502,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1870,114 +1838,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int32
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x20001269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
index a6f7614..9cf85f7 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -251,13 +251,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -281,14 +274,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]int8
@@ -421,11 +406,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x10
 	SizeofIPMreq            = 0x8
@@ -455,7 +438,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -499,7 +481,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -524,20 +506,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1877,115 +1845,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int64
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	_       [4]byte
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x20001269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
index 3dd1941..6fd66e7 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -251,13 +251,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -281,14 +274,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]int8
@@ -421,11 +406,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x10
 	SizeofIPMreq            = 0x8
@@ -455,7 +438,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -499,7 +481,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -524,20 +506,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1877,115 +1845,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int64
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	_       [4]byte
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x20001269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
index 210de76..faa5b3e 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -249,13 +249,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -279,14 +272,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]int8
@@ -417,11 +402,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x8
 	SizeofIPMreq            = 0x8
@@ -451,7 +434,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -495,7 +477,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -520,20 +502,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1870,114 +1838,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int32
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x20001269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
index b46d54e..ad4c452 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -252,13 +252,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -282,14 +275,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]uint8
@@ -422,11 +407,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x10
 	SizeofIPMreq            = 0x8
@@ -456,7 +439,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -500,7 +482,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -525,20 +507,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1885,115 +1853,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int64
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	_       [4]byte
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x20001269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
index 6ee799c..1fdb2f2 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -252,13 +252,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -282,14 +275,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]uint8
@@ -422,11 +407,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x10
 	SizeofIPMreq            = 0x8
@@ -456,7 +439,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -500,7 +482,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -525,20 +507,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1885,115 +1853,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int64
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	_       [4]byte
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x20001269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
deleted file mode 100644
index 60ae71e..0000000
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
+++ /dev/null
@@ -1,2016 +0,0 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
-// Code generated by the command above; see README.md. DO NOT EDIT.
-
-// +build riscv64,linux
-
-package unix
-
-const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
-	PathMax        = 0x1000
-)
-
-type (
-	_C_short     int16
-	_C_int       int32
-	_C_long      int64
-	_C_long_long int64
-)
-
-type Timespec struct {
-	Sec  int64
-	Nsec int64
-}
-
-type Timeval struct {
-	Sec  int64
-	Usec int64
-}
-
-type Timex struct {
-	Modes     uint32
-	_         [4]byte
-	Offset    int64
-	Freq      int64
-	Maxerror  int64
-	Esterror  int64
-	Status    int32
-	_         [4]byte
-	Constant  int64
-	Precision int64
-	Tolerance int64
-	Time      Timeval
-	Tick      int64
-	Ppsfreq   int64
-	Jitter    int64
-	Shift     int32
-	_         [4]byte
-	Stabil    int64
-	Jitcnt    int64
-	Calcnt    int64
-	Errcnt    int64
-	Stbcnt    int64
-	Tai       int32
-	_         [44]byte
-}
-
-type Time_t int64
-
-type Tms struct {
-	Utime  int64
-	Stime  int64
-	Cutime int64
-	Cstime int64
-}
-
-type Utimbuf struct {
-	Actime  int64
-	Modtime int64
-}
-
-type Rusage struct {
-	Utime    Timeval
-	Stime    Timeval
-	Maxrss   int64
-	Ixrss    int64
-	Idrss    int64
-	Isrss    int64
-	Minflt   int64
-	Majflt   int64
-	Nswap    int64
-	Inblock  int64
-	Oublock  int64
-	Msgsnd   int64
-	Msgrcv   int64
-	Nsignals int64
-	Nvcsw    int64
-	Nivcsw   int64
-}
-
-type Rlimit struct {
-	Cur uint64
-	Max uint64
-}
-
-type _Gid_t uint32
-
-type Stat_t struct {
-	Dev     uint64
-	Ino     uint64
-	Mode    uint32
-	Nlink   uint32
-	Uid     uint32
-	Gid     uint32
-	Rdev    uint64
-	_       uint64
-	Size    int64
-	Blksize int32
-	_       int32
-	Blocks  int64
-	Atim    Timespec
-	Mtim    Timespec
-	Ctim    Timespec
-	_       [2]int32
-}
-
-type StatxTimestamp struct {
-	Sec  int64
-	Nsec uint32
-	_    int32
-}
-
-type Statx_t struct {
-	Mask            uint32
-	Blksize         uint32
-	Attributes      uint64
-	Nlink           uint32
-	Uid             uint32
-	Gid             uint32
-	Mode            uint16
-	_               [1]uint16
-	Ino             uint64
-	Size            uint64
-	Blocks          uint64
-	Attributes_mask uint64
-	Atime           StatxTimestamp
-	Btime           StatxTimestamp
-	Ctime           StatxTimestamp
-	Mtime           StatxTimestamp
-	Rdev_major      uint32
-	Rdev_minor      uint32
-	Dev_major       uint32
-	Dev_minor       uint32
-	_               [14]uint64
-}
-
-type Dirent struct {
-	Ino    uint64
-	Off    int64
-	Reclen uint16
-	Type   uint8
-	Name   [256]uint8
-	_      [5]byte
-}
-
-type Fsid struct {
-	Val [2]int32
-}
-
-type Flock_t struct {
-	Type   int16
-	Whence int16
-	_      [4]byte
-	Start  int64
-	Len    int64
-	Pid    int32
-	_      [4]byte
-}
-
-type FscryptPolicy struct {
-	Version                   uint8
-	Contents_encryption_mode  uint8
-	Filenames_encryption_mode uint8
-	Flags                     uint8
-	Master_key_descriptor     [8]uint8
-}
-
-type FscryptKey struct {
-	Mode uint32
-	Raw  [64]uint8
-	Size uint32
-}
-
-type KeyctlDHParams struct {
-	Private int32
-	Prime   int32
-	Base    int32
-}
-
-const (
-	FADV_NORMAL     = 0x0
-	FADV_RANDOM     = 0x1
-	FADV_SEQUENTIAL = 0x2
-	FADV_WILLNEED   = 0x3
-	FADV_DONTNEED   = 0x4
-	FADV_NOREUSE    = 0x5
-)
-
-type RawSockaddrInet4 struct {
-	Family uint16
-	Port   uint16
-	Addr   [4]byte /* in_addr */
-	Zero   [8]uint8
-}
-
-type RawSockaddrInet6 struct {
-	Family   uint16
-	Port     uint16
-	Flowinfo uint32
-	Addr     [16]byte /* in6_addr */
-	Scope_id uint32
-}
-
-type RawSockaddrUnix struct {
-	Family uint16
-	Path   [108]uint8
-}
-
-type RawSockaddrLinklayer struct {
-	Family   uint16
-	Protocol uint16
-	Ifindex  int32
-	Hatype   uint16
-	Pkttype  uint8
-	Halen    uint8
-	Addr     [8]uint8
-}
-
-type RawSockaddrNetlink struct {
-	Family uint16
-	Pad    uint16
-	Pid    uint32
-	Groups uint32
-}
-
-type RawSockaddrHCI struct {
-	Family  uint16
-	Dev     uint16
-	Channel uint16
-}
-
-type RawSockaddrL2 struct {
-	Family      uint16
-	Psm         uint16
-	Bdaddr      [6]uint8
-	Cid         uint16
-	Bdaddr_type uint8
-	_           [1]byte
-}
-
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
-type RawSockaddrCAN struct {
-	Family  uint16
-	_       [2]byte
-	Ifindex int32
-	Addr    [8]byte
-}
-
-type RawSockaddrALG struct {
-	Family uint16
-	Type   [14]uint8
-	Feat   uint32
-	Mask   uint32
-	Name   [64]uint8
-}
-
-type RawSockaddrVM struct {
-	Family    uint16
-	Reserved1 uint16
-	Port      uint32
-	Cid       uint32
-	Zero      [4]uint8
-}
-
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
-type RawSockaddr struct {
-	Family uint16
-	Data   [14]uint8
-}
-
-type RawSockaddrAny struct {
-	Addr RawSockaddr
-	Pad  [96]uint8
-}
-
-type _Socklen uint32
-
-type Linger struct {
-	Onoff  int32
-	Linger int32
-}
-
-type Iovec struct {
-	Base *byte
-	Len  uint64
-}
-
-type IPMreq struct {
-	Multiaddr [4]byte /* in_addr */
-	Interface [4]byte /* in_addr */
-}
-
-type IPMreqn struct {
-	Multiaddr [4]byte /* in_addr */
-	Address   [4]byte /* in_addr */
-	Ifindex   int32
-}
-
-type IPv6Mreq struct {
-	Multiaddr [16]byte /* in6_addr */
-	Interface uint32
-}
-
-type PacketMreq struct {
-	Ifindex int32
-	Type    uint16
-	Alen    uint16
-	Address [8]uint8
-}
-
-type Msghdr struct {
-	Name       *byte
-	Namelen    uint32
-	_          [4]byte
-	Iov        *Iovec
-	Iovlen     uint64
-	Control    *byte
-	Controllen uint64
-	Flags      int32
-	_          [4]byte
-}
-
-type Cmsghdr struct {
-	Len   uint64
-	Level int32
-	Type  int32
-}
-
-type Inet4Pktinfo struct {
-	Ifindex  int32
-	Spec_dst [4]byte /* in_addr */
-	Addr     [4]byte /* in_addr */
-}
-
-type Inet6Pktinfo struct {
-	Addr    [16]byte /* in6_addr */
-	Ifindex uint32
-}
-
-type IPv6MTUInfo struct {
-	Addr RawSockaddrInet6
-	Mtu  uint32
-}
-
-type ICMPv6Filter struct {
-	Data [8]uint32
-}
-
-type Ucred struct {
-	Pid int32
-	Uid uint32
-	Gid uint32
-}
-
-type TCPInfo struct {
-	State          uint8
-	Ca_state       uint8
-	Retransmits    uint8
-	Probes         uint8
-	Backoff        uint8
-	Options        uint8
-	_              [2]byte
-	Rto            uint32
-	Ato            uint32
-	Snd_mss        uint32
-	Rcv_mss        uint32
-	Unacked        uint32
-	Sacked         uint32
-	Lost           uint32
-	Retrans        uint32
-	Fackets        uint32
-	Last_data_sent uint32
-	Last_ack_sent  uint32
-	Last_data_recv uint32
-	Last_ack_recv  uint32
-	Pmtu           uint32
-	Rcv_ssthresh   uint32
-	Rtt            uint32
-	Rttvar         uint32
-	Snd_ssthresh   uint32
-	Snd_cwnd       uint32
-	Advmss         uint32
-	Reordering     uint32
-	Rcv_rtt        uint32
-	Rcv_space      uint32
-	Total_retrans  uint32
-}
-
-const (
-	SizeofSockaddrInet4     = 0x10
-	SizeofSockaddrInet6     = 0x1c
-	SizeofSockaddrAny       = 0x70
-	SizeofSockaddrUnix      = 0x6e
-	SizeofSockaddrLinklayer = 0x14
-	SizeofSockaddrNetlink   = 0xc
-	SizeofSockaddrHCI       = 0x6
-	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
-	SizeofSockaddrCAN       = 0x10
-	SizeofSockaddrALG       = 0x58
-	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
-	SizeofLinger            = 0x8
-	SizeofIovec             = 0x10
-	SizeofIPMreq            = 0x8
-	SizeofIPMreqn           = 0xc
-	SizeofIPv6Mreq          = 0x14
-	SizeofPacketMreq        = 0x10
-	SizeofMsghdr            = 0x38
-	SizeofCmsghdr           = 0x10
-	SizeofInet4Pktinfo      = 0xc
-	SizeofInet6Pktinfo      = 0x14
-	SizeofIPv6MTUInfo       = 0x20
-	SizeofICMPv6Filter      = 0x20
-	SizeofUcred             = 0xc
-	SizeofTCPInfo           = 0x68
-)
-
-const (
-	IFA_UNSPEC           = 0x0
-	IFA_ADDRESS          = 0x1
-	IFA_LOCAL            = 0x2
-	IFA_LABEL            = 0x3
-	IFA_BROADCAST        = 0x4
-	IFA_ANYCAST          = 0x5
-	IFA_CACHEINFO        = 0x6
-	IFA_MULTICAST        = 0x7
-	IFLA_UNSPEC          = 0x0
-	IFLA_ADDRESS         = 0x1
-	IFLA_BROADCAST       = 0x2
-	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
-	IFLA_MTU             = 0x4
-	IFLA_LINK            = 0x5
-	IFLA_QDISC           = 0x6
-	IFLA_STATS           = 0x7
-	IFLA_COST            = 0x8
-	IFLA_PRIORITY        = 0x9
-	IFLA_MASTER          = 0xa
-	IFLA_WIRELESS        = 0xb
-	IFLA_PROTINFO        = 0xc
-	IFLA_TXQLEN          = 0xd
-	IFLA_MAP             = 0xe
-	IFLA_WEIGHT          = 0xf
-	IFLA_OPERSTATE       = 0x10
-	IFLA_LINKMODE        = 0x11
-	IFLA_LINKINFO        = 0x12
-	IFLA_NET_NS_PID      = 0x13
-	IFLA_IFALIAS         = 0x14
-	IFLA_NUM_VF          = 0x15
-	IFLA_VFINFO_LIST     = 0x16
-	IFLA_STATS64         = 0x17
-	IFLA_VF_PORTS        = 0x18
-	IFLA_PORT_SELF       = 0x19
-	IFLA_AF_SPEC         = 0x1a
-	IFLA_GROUP           = 0x1b
-	IFLA_NET_NS_FD       = 0x1c
-	IFLA_EXT_MASK        = 0x1d
-	IFLA_PROMISCUITY     = 0x1e
-	IFLA_NUM_TX_QUEUES   = 0x1f
-	IFLA_NUM_RX_QUEUES   = 0x20
-	IFLA_CARRIER         = 0x21
-	IFLA_PHYS_PORT_ID    = 0x22
-	IFLA_CARRIER_CHANGES = 0x23
-	IFLA_PHYS_SWITCH_ID  = 0x24
-	IFLA_LINK_NETNSID    = 0x25
-	IFLA_PHYS_PORT_NAME  = 0x26
-	IFLA_PROTO_DOWN      = 0x27
-	IFLA_GSO_MAX_SEGS    = 0x28
-	IFLA_GSO_MAX_SIZE    = 0x29
-	IFLA_PAD             = 0x2a
-	IFLA_XDP             = 0x2b
-	IFLA_EVENT           = 0x2c
-	IFLA_NEW_NETNSID     = 0x2d
-	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
-	RT_SCOPE_UNIVERSE    = 0x0
-	RT_SCOPE_SITE        = 0xc8
-	RT_SCOPE_LINK        = 0xfd
-	RT_SCOPE_HOST        = 0xfe
-	RT_SCOPE_NOWHERE     = 0xff
-	RT_TABLE_UNSPEC      = 0x0
-	RT_TABLE_COMPAT      = 0xfc
-	RT_TABLE_DEFAULT     = 0xfd
-	RT_TABLE_MAIN        = 0xfe
-	RT_TABLE_LOCAL       = 0xff
-	RT_TABLE_MAX         = 0xffffffff
-	RTA_UNSPEC           = 0x0
-	RTA_DST              = 0x1
-	RTA_SRC              = 0x2
-	RTA_IIF              = 0x3
-	RTA_OIF              = 0x4
-	RTA_GATEWAY          = 0x5
-	RTA_PRIORITY         = 0x6
-	RTA_PREFSRC          = 0x7
-	RTA_METRICS          = 0x8
-	RTA_MULTIPATH        = 0x9
-	RTA_FLOW             = 0xb
-	RTA_CACHEINFO        = 0xc
-	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
-	RTN_UNSPEC           = 0x0
-	RTN_UNICAST          = 0x1
-	RTN_LOCAL            = 0x2
-	RTN_BROADCAST        = 0x3
-	RTN_ANYCAST          = 0x4
-	RTN_MULTICAST        = 0x5
-	RTN_BLACKHOLE        = 0x6
-	RTN_UNREACHABLE      = 0x7
-	RTN_PROHIBIT         = 0x8
-	RTN_THROW            = 0x9
-	RTN_NAT              = 0xa
-	RTN_XRESOLVE         = 0xb
-	RTNLGRP_NONE         = 0x0
-	RTNLGRP_LINK         = 0x1
-	RTNLGRP_NOTIFY       = 0x2
-	RTNLGRP_NEIGH        = 0x3
-	RTNLGRP_TC           = 0x4
-	RTNLGRP_IPV4_IFADDR  = 0x5
-	RTNLGRP_IPV4_MROUTE  = 0x6
-	RTNLGRP_IPV4_ROUTE   = 0x7
-	RTNLGRP_IPV4_RULE    = 0x8
-	RTNLGRP_IPV6_IFADDR  = 0x9
-	RTNLGRP_IPV6_MROUTE  = 0xa
-	RTNLGRP_IPV6_ROUTE   = 0xb
-	RTNLGRP_IPV6_IFINFO  = 0xc
-	RTNLGRP_IPV6_PREFIX  = 0x12
-	RTNLGRP_IPV6_RULE    = 0x13
-	RTNLGRP_ND_USEROPT   = 0x14
-	SizeofNlMsghdr       = 0x10
-	SizeofNlMsgerr       = 0x14
-	SizeofRtGenmsg       = 0x1
-	SizeofNlAttr         = 0x4
-	SizeofRtAttr         = 0x4
-	SizeofIfInfomsg      = 0x10
-	SizeofIfAddrmsg      = 0x8
-	SizeofRtMsg          = 0xc
-	SizeofRtNexthop      = 0x8
-)
-
-type NlMsghdr struct {
-	Len   uint32
-	Type  uint16
-	Flags uint16
-	Seq   uint32
-	Pid   uint32
-}
-
-type NlMsgerr struct {
-	Error int32
-	Msg   NlMsghdr
-}
-
-type RtGenmsg struct {
-	Family uint8
-}
-
-type NlAttr struct {
-	Len  uint16
-	Type uint16
-}
-
-type RtAttr struct {
-	Len  uint16
-	Type uint16
-}
-
-type IfInfomsg struct {
-	Family uint8
-	_      uint8
-	Type   uint16
-	Index  int32
-	Flags  uint32
-	Change uint32
-}
-
-type IfAddrmsg struct {
-	Family    uint8
-	Prefixlen uint8
-	Flags     uint8
-	Scope     uint8
-	Index     uint32
-}
-
-type RtMsg struct {
-	Family   uint8
-	Dst_len  uint8
-	Src_len  uint8
-	Tos      uint8
-	Table    uint8
-	Protocol uint8
-	Scope    uint8
-	Type     uint8
-	Flags    uint32
-}
-
-type RtNexthop struct {
-	Len     uint16
-	Flags   uint8
-	Hops    uint8
-	Ifindex int32
-}
-
-const (
-	SizeofSockFilter = 0x8
-	SizeofSockFprog  = 0x10
-)
-
-type SockFilter struct {
-	Code uint16
-	Jt   uint8
-	Jf   uint8
-	K    uint32
-}
-
-type SockFprog struct {
-	Len    uint16
-	_      [6]byte
-	Filter *SockFilter
-}
-
-type InotifyEvent struct {
-	Wd     int32
-	Mask   uint32
-	Cookie uint32
-	Len    uint32
-}
-
-const SizeofInotifyEvent = 0x10
-
-type PtraceRegs struct {
-	Pc  uint64
-	Ra  uint64
-	Sp  uint64
-	Gp  uint64
-	Tp  uint64
-	T0  uint64
-	T1  uint64
-	T2  uint64
-	S0  uint64
-	S1  uint64
-	A0  uint64
-	A1  uint64
-	A2  uint64
-	A3  uint64
-	A4  uint64
-	A5  uint64
-	A6  uint64
-	A7  uint64
-	S2  uint64
-	S3  uint64
-	S4  uint64
-	S5  uint64
-	S6  uint64
-	S7  uint64
-	S8  uint64
-	S9  uint64
-	S10 uint64
-	S11 uint64
-	T3  uint64
-	T4  uint64
-	T5  uint64
-	T6  uint64
-}
-
-type FdSet struct {
-	Bits [16]int64
-}
-
-type Sysinfo_t struct {
-	Uptime    int64
-	Loads     [3]uint64
-	Totalram  uint64
-	Freeram   uint64
-	Sharedram uint64
-	Bufferram uint64
-	Totalswap uint64
-	Freeswap  uint64
-	Procs     uint16
-	Pad       uint16
-	_         [4]byte
-	Totalhigh uint64
-	Freehigh  uint64
-	Unit      uint32
-	_         [0]uint8
-	_         [4]byte
-}
-
-type Utsname struct {
-	Sysname    [65]byte
-	Nodename   [65]byte
-	Release    [65]byte
-	Version    [65]byte
-	Machine    [65]byte
-	Domainname [65]byte
-}
-
-type Ustat_t struct {
-	Tfree  int32
-	_      [4]byte
-	Tinode uint64
-	Fname  [6]uint8
-	Fpack  [6]uint8
-	_      [4]byte
-}
-
-type EpollEvent struct {
-	Events uint32
-	Fd     int32
-	Pad    int32
-}
-
-const (
-	AT_EMPTY_PATH   = 0x1000
-	AT_FDCWD        = -0x64
-	AT_NO_AUTOMOUNT = 0x800
-	AT_REMOVEDIR    = 0x200
-
-	AT_STATX_SYNC_AS_STAT = 0x0
-	AT_STATX_FORCE_SYNC   = 0x2000
-	AT_STATX_DONT_SYNC    = 0x4000
-
-	AT_SYMLINK_FOLLOW   = 0x400
-	AT_SYMLINK_NOFOLLOW = 0x100
-
-	AT_EACCESS = 0x200
-)
-
-type PollFd struct {
-	Fd      int32
-	Events  int16
-	Revents int16
-}
-
-const (
-	POLLIN    = 0x1
-	POLLPRI   = 0x2
-	POLLOUT   = 0x4
-	POLLRDHUP = 0x2000
-	POLLERR   = 0x8
-	POLLHUP   = 0x10
-	POLLNVAL  = 0x20
-)
-
-type Sigset_t struct {
-	Val [16]uint64
-}
-
-const RNDGETENTCNT = 0x80045200
-
-const PERF_IOC_FLAG_GROUP = 0x1
-
-type Termios struct {
-	Iflag  uint32
-	Oflag  uint32
-	Cflag  uint32
-	Lflag  uint32
-	Line   uint8
-	Cc     [19]uint8
-	Ispeed uint32
-	Ospeed uint32
-}
-
-type Winsize struct {
-	Row    uint16
-	Col    uint16
-	Xpixel uint16
-	Ypixel uint16
-}
-
-type Taskstats struct {
-	Version                   uint16
-	_                         [2]byte
-	Ac_exitcode               uint32
-	Ac_flag                   uint8
-	Ac_nice                   uint8
-	_                         [6]byte
-	Cpu_count                 uint64
-	Cpu_delay_total           uint64
-	Blkio_count               uint64
-	Blkio_delay_total         uint64
-	Swapin_count              uint64
-	Swapin_delay_total        uint64
-	Cpu_run_real_total        uint64
-	Cpu_run_virtual_total     uint64
-	Ac_comm                   [32]uint8
-	Ac_sched                  uint8
-	Ac_pad                    [3]uint8
-	_                         [4]byte
-	Ac_uid                    uint32
-	Ac_gid                    uint32
-	Ac_pid                    uint32
-	Ac_ppid                   uint32
-	Ac_btime                  uint32
-	_                         [4]byte
-	Ac_etime                  uint64
-	Ac_utime                  uint64
-	Ac_stime                  uint64
-	Ac_minflt                 uint64
-	Ac_majflt                 uint64
-	Coremem                   uint64
-	Virtmem                   uint64
-	Hiwater_rss               uint64
-	Hiwater_vm                uint64
-	Read_char                 uint64
-	Write_char                uint64
-	Read_syscalls             uint64
-	Write_syscalls            uint64
-	Read_bytes                uint64
-	Write_bytes               uint64
-	Cancelled_write_bytes     uint64
-	Nvcsw                     uint64
-	Nivcsw                    uint64
-	Ac_utimescaled            uint64
-	Ac_stimescaled            uint64
-	Cpu_scaled_run_real_total uint64
-	Freepages_count           uint64
-	Freepages_delay_total     uint64
-}
-
-const (
-	TASKSTATS_CMD_UNSPEC                  = 0x0
-	TASKSTATS_CMD_GET                     = 0x1
-	TASKSTATS_CMD_NEW                     = 0x2
-	TASKSTATS_TYPE_UNSPEC                 = 0x0
-	TASKSTATS_TYPE_PID                    = 0x1
-	TASKSTATS_TYPE_TGID                   = 0x2
-	TASKSTATS_TYPE_STATS                  = 0x3
-	TASKSTATS_TYPE_AGGR_PID               = 0x4
-	TASKSTATS_TYPE_AGGR_TGID              = 0x5
-	TASKSTATS_TYPE_NULL                   = 0x6
-	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
-	TASKSTATS_CMD_ATTR_PID                = 0x1
-	TASKSTATS_CMD_ATTR_TGID               = 0x2
-	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
-	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
-)
-
-type CGroupStats struct {
-	Sleeping        uint64
-	Running         uint64
-	Stopped         uint64
-	Uninterruptible uint64
-	Io_wait         uint64
-}
-
-const (
-	CGROUPSTATS_CMD_UNSPEC        = 0x3
-	CGROUPSTATS_CMD_GET           = 0x4
-	CGROUPSTATS_CMD_NEW           = 0x5
-	CGROUPSTATS_TYPE_UNSPEC       = 0x0
-	CGROUPSTATS_TYPE_CGROUP_STATS = 0x1
-	CGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0
-	CGROUPSTATS_CMD_ATTR_FD       = 0x1
-)
-
-type Genlmsghdr struct {
-	Cmd      uint8
-	Version  uint8
-	Reserved uint16
-}
-
-const (
-	CTRL_CMD_UNSPEC            = 0x0
-	CTRL_CMD_NEWFAMILY         = 0x1
-	CTRL_CMD_DELFAMILY         = 0x2
-	CTRL_CMD_GETFAMILY         = 0x3
-	CTRL_CMD_NEWOPS            = 0x4
-	CTRL_CMD_DELOPS            = 0x5
-	CTRL_CMD_GETOPS            = 0x6
-	CTRL_CMD_NEWMCAST_GRP      = 0x7
-	CTRL_CMD_DELMCAST_GRP      = 0x8
-	CTRL_CMD_GETMCAST_GRP      = 0x9
-	CTRL_ATTR_UNSPEC           = 0x0
-	CTRL_ATTR_FAMILY_ID        = 0x1
-	CTRL_ATTR_FAMILY_NAME      = 0x2
-	CTRL_ATTR_VERSION          = 0x3
-	CTRL_ATTR_HDRSIZE          = 0x4
-	CTRL_ATTR_MAXATTR          = 0x5
-	CTRL_ATTR_OPS              = 0x6
-	CTRL_ATTR_MCAST_GROUPS     = 0x7
-	CTRL_ATTR_OP_UNSPEC        = 0x0
-	CTRL_ATTR_OP_ID            = 0x1
-	CTRL_ATTR_OP_FLAGS         = 0x2
-	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
-	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
-	CTRL_ATTR_MCAST_GRP_ID     = 0x2
-)
-
-type cpuMask uint64
-
-const (
-	_CPU_SETSIZE = 0x400
-	_NCPUBITS    = 0x40
-)
-
-const (
-	BDADDR_BREDR     = 0x0
-	BDADDR_LE_PUBLIC = 0x1
-	BDADDR_LE_RANDOM = 0x2
-)
-
-type PerfEventAttr struct {
-	Type               uint32
-	Size               uint32
-	Config             uint64
-	Sample             uint64
-	Sample_type        uint64
-	Read_format        uint64
-	Bits               uint64
-	Wakeup             uint32
-	Bp_type            uint32
-	Ext1               uint64
-	Ext2               uint64
-	Branch_sample_type uint64
-	Sample_regs_user   uint64
-	Sample_stack_user  uint32
-	Clockid            int32
-	Sample_regs_intr   uint64
-	Aux_watermark      uint32
-	_                  uint32
-}
-
-type PerfEventMmapPage struct {
-	Version        uint32
-	Compat_version uint32
-	Lock           uint32
-	Index          uint32
-	Offset         int64
-	Time_enabled   uint64
-	Time_running   uint64
-	Capabilities   uint64
-	Pmc_width      uint16
-	Time_shift     uint16
-	Time_mult      uint32
-	Time_offset    uint64
-	Time_zero      uint64
-	Size           uint32
-	_              [948]uint8
-	Data_head      uint64
-	Data_tail      uint64
-	Data_offset    uint64
-	Data_size      uint64
-	Aux_head       uint64
-	Aux_tail       uint64
-	Aux_offset     uint64
-	Aux_size       uint64
-}
-
-const (
-	PerfBitDisabled               uint64 = CBitFieldMaskBit0
-	PerfBitInherit                       = CBitFieldMaskBit1
-	PerfBitPinned                        = CBitFieldMaskBit2
-	PerfBitExclusive                     = CBitFieldMaskBit3
-	PerfBitExcludeUser                   = CBitFieldMaskBit4
-	PerfBitExcludeKernel                 = CBitFieldMaskBit5
-	PerfBitExcludeHv                     = CBitFieldMaskBit6
-	PerfBitExcludeIdle                   = CBitFieldMaskBit7
-	PerfBitMmap                          = CBitFieldMaskBit8
-	PerfBitComm                          = CBitFieldMaskBit9
-	PerfBitFreq                          = CBitFieldMaskBit10
-	PerfBitInheritStat                   = CBitFieldMaskBit11
-	PerfBitEnableOnExec                  = CBitFieldMaskBit12
-	PerfBitTask                          = CBitFieldMaskBit13
-	PerfBitWatermark                     = CBitFieldMaskBit14
-	PerfBitPreciseIPBit1                 = CBitFieldMaskBit15
-	PerfBitPreciseIPBit2                 = CBitFieldMaskBit16
-	PerfBitMmapData                      = CBitFieldMaskBit17
-	PerfBitSampleIDAll                   = CBitFieldMaskBit18
-	PerfBitExcludeHost                   = CBitFieldMaskBit19
-	PerfBitExcludeGuest                  = CBitFieldMaskBit20
-	PerfBitExcludeCallchainKernel        = CBitFieldMaskBit21
-	PerfBitExcludeCallchainUser          = CBitFieldMaskBit22
-	PerfBitMmap2                         = CBitFieldMaskBit23
-	PerfBitCommExec                      = CBitFieldMaskBit24
-	PerfBitUseClockID                    = CBitFieldMaskBit25
-	PerfBitContextSwitch                 = CBitFieldMaskBit26
-)
-
-const (
-	PERF_TYPE_HARDWARE   = 0x0
-	PERF_TYPE_SOFTWARE   = 0x1
-	PERF_TYPE_TRACEPOINT = 0x2
-	PERF_TYPE_HW_CACHE   = 0x3
-	PERF_TYPE_RAW        = 0x4
-	PERF_TYPE_BREAKPOINT = 0x5
-
-	PERF_COUNT_HW_CPU_CYCLES              = 0x0
-	PERF_COUNT_HW_INSTRUCTIONS            = 0x1
-	PERF_COUNT_HW_CACHE_REFERENCES        = 0x2
-	PERF_COUNT_HW_CACHE_MISSES            = 0x3
-	PERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4
-	PERF_COUNT_HW_BRANCH_MISSES           = 0x5
-	PERF_COUNT_HW_BUS_CYCLES              = 0x6
-	PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7
-	PERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8
-	PERF_COUNT_HW_REF_CPU_CYCLES          = 0x9
-
-	PERF_COUNT_HW_CACHE_L1D  = 0x0
-	PERF_COUNT_HW_CACHE_L1I  = 0x1
-	PERF_COUNT_HW_CACHE_LL   = 0x2
-	PERF_COUNT_HW_CACHE_DTLB = 0x3
-	PERF_COUNT_HW_CACHE_ITLB = 0x4
-	PERF_COUNT_HW_CACHE_BPU  = 0x5
-	PERF_COUNT_HW_CACHE_NODE = 0x6
-
-	PERF_COUNT_HW_CACHE_OP_READ     = 0x0
-	PERF_COUNT_HW_CACHE_OP_WRITE    = 0x1
-	PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2
-
-	PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0
-	PERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1
-
-	PERF_COUNT_SW_CPU_CLOCK        = 0x0
-	PERF_COUNT_SW_TASK_CLOCK       = 0x1
-	PERF_COUNT_SW_PAGE_FAULTS      = 0x2
-	PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3
-	PERF_COUNT_SW_CPU_MIGRATIONS   = 0x4
-	PERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5
-	PERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6
-	PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7
-	PERF_COUNT_SW_EMULATION_FAULTS = 0x8
-	PERF_COUNT_SW_DUMMY            = 0x9
-
-	PERF_SAMPLE_IP           = 0x1
-	PERF_SAMPLE_TID          = 0x2
-	PERF_SAMPLE_TIME         = 0x4
-	PERF_SAMPLE_ADDR         = 0x8
-	PERF_SAMPLE_READ         = 0x10
-	PERF_SAMPLE_CALLCHAIN    = 0x20
-	PERF_SAMPLE_ID           = 0x40
-	PERF_SAMPLE_CPU          = 0x80
-	PERF_SAMPLE_PERIOD       = 0x100
-	PERF_SAMPLE_STREAM_ID    = 0x200
-	PERF_SAMPLE_RAW          = 0x400
-	PERF_SAMPLE_BRANCH_STACK = 0x800
-
-	PERF_SAMPLE_BRANCH_USER       = 0x1
-	PERF_SAMPLE_BRANCH_KERNEL     = 0x2
-	PERF_SAMPLE_BRANCH_HV         = 0x4
-	PERF_SAMPLE_BRANCH_ANY        = 0x8
-	PERF_SAMPLE_BRANCH_ANY_CALL   = 0x10
-	PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20
-	PERF_SAMPLE_BRANCH_IND_CALL   = 0x40
-
-	PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1
-	PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2
-	PERF_FORMAT_ID                 = 0x4
-	PERF_FORMAT_GROUP              = 0x8
-
-	PERF_RECORD_MMAP       = 0x1
-	PERF_RECORD_LOST       = 0x2
-	PERF_RECORD_COMM       = 0x3
-	PERF_RECORD_EXIT       = 0x4
-	PERF_RECORD_THROTTLE   = 0x5
-	PERF_RECORD_UNTHROTTLE = 0x6
-	PERF_RECORD_FORK       = 0x7
-	PERF_RECORD_READ       = 0x8
-	PERF_RECORD_SAMPLE     = 0x9
-
-	PERF_CONTEXT_HV     = -0x20
-	PERF_CONTEXT_KERNEL = -0x80
-	PERF_CONTEXT_USER   = -0x200
-
-	PERF_CONTEXT_GUEST        = -0x800
-	PERF_CONTEXT_GUEST_KERNEL = -0x880
-	PERF_CONTEXT_GUEST_USER   = -0xa00
-
-	PERF_FLAG_FD_NO_GROUP = 0x1
-	PERF_FLAG_FD_OUTPUT   = 0x2
-	PERF_FLAG_PID_CGROUP  = 0x4
-)
-
-const (
-	CBitFieldMaskBit0  = 0x1
-	CBitFieldMaskBit1  = 0x2
-	CBitFieldMaskBit2  = 0x4
-	CBitFieldMaskBit3  = 0x8
-	CBitFieldMaskBit4  = 0x10
-	CBitFieldMaskBit5  = 0x20
-	CBitFieldMaskBit6  = 0x40
-	CBitFieldMaskBit7  = 0x80
-	CBitFieldMaskBit8  = 0x100
-	CBitFieldMaskBit9  = 0x200
-	CBitFieldMaskBit10 = 0x400
-	CBitFieldMaskBit11 = 0x800
-	CBitFieldMaskBit12 = 0x1000
-	CBitFieldMaskBit13 = 0x2000
-	CBitFieldMaskBit14 = 0x4000
-	CBitFieldMaskBit15 = 0x8000
-	CBitFieldMaskBit16 = 0x10000
-	CBitFieldMaskBit17 = 0x20000
-	CBitFieldMaskBit18 = 0x40000
-	CBitFieldMaskBit19 = 0x80000
-	CBitFieldMaskBit20 = 0x100000
-	CBitFieldMaskBit21 = 0x200000
-	CBitFieldMaskBit22 = 0x400000
-	CBitFieldMaskBit23 = 0x800000
-	CBitFieldMaskBit24 = 0x1000000
-	CBitFieldMaskBit25 = 0x2000000
-	CBitFieldMaskBit26 = 0x4000000
-	CBitFieldMaskBit27 = 0x8000000
-	CBitFieldMaskBit28 = 0x10000000
-	CBitFieldMaskBit29 = 0x20000000
-	CBitFieldMaskBit30 = 0x40000000
-	CBitFieldMaskBit31 = 0x80000000
-	CBitFieldMaskBit32 = 0x100000000
-	CBitFieldMaskBit33 = 0x200000000
-	CBitFieldMaskBit34 = 0x400000000
-	CBitFieldMaskBit35 = 0x800000000
-	CBitFieldMaskBit36 = 0x1000000000
-	CBitFieldMaskBit37 = 0x2000000000
-	CBitFieldMaskBit38 = 0x4000000000
-	CBitFieldMaskBit39 = 0x8000000000
-	CBitFieldMaskBit40 = 0x10000000000
-	CBitFieldMaskBit41 = 0x20000000000
-	CBitFieldMaskBit42 = 0x40000000000
-	CBitFieldMaskBit43 = 0x80000000000
-	CBitFieldMaskBit44 = 0x100000000000
-	CBitFieldMaskBit45 = 0x200000000000
-	CBitFieldMaskBit46 = 0x400000000000
-	CBitFieldMaskBit47 = 0x800000000000
-	CBitFieldMaskBit48 = 0x1000000000000
-	CBitFieldMaskBit49 = 0x2000000000000
-	CBitFieldMaskBit50 = 0x4000000000000
-	CBitFieldMaskBit51 = 0x8000000000000
-	CBitFieldMaskBit52 = 0x10000000000000
-	CBitFieldMaskBit53 = 0x20000000000000
-	CBitFieldMaskBit54 = 0x40000000000000
-	CBitFieldMaskBit55 = 0x80000000000000
-	CBitFieldMaskBit56 = 0x100000000000000
-	CBitFieldMaskBit57 = 0x200000000000000
-	CBitFieldMaskBit58 = 0x400000000000000
-	CBitFieldMaskBit59 = 0x800000000000000
-	CBitFieldMaskBit60 = 0x1000000000000000
-	CBitFieldMaskBit61 = 0x2000000000000000
-	CBitFieldMaskBit62 = 0x4000000000000000
-	CBitFieldMaskBit63 = 0x8000000000000000
-)
-
-type SockaddrStorage struct {
-	Family uint16
-	_      [118]uint8
-	_      uint64
-}
-
-type TCPMD5Sig struct {
-	Addr      SockaddrStorage
-	Flags     uint8
-	Prefixlen uint8
-	Keylen    uint16
-	_         uint32
-	Key       [80]uint8
-}
-
-type HDDriveCmdHdr struct {
-	Command uint8
-	Number  uint8
-	Feature uint8
-	Count   uint8
-}
-
-type HDGeometry struct {
-	Heads     uint8
-	Sectors   uint8
-	Cylinders uint16
-	_         [4]byte
-	Start     uint64
-}
-
-type HDDriveID struct {
-	Config         uint16
-	Cyls           uint16
-	Reserved2      uint16
-	Heads          uint16
-	Track_bytes    uint16
-	Sector_bytes   uint16
-	Sectors        uint16
-	Vendor0        uint16
-	Vendor1        uint16
-	Vendor2        uint16
-	Serial_no      [20]uint8
-	Buf_type       uint16
-	Buf_size       uint16
-	Ecc_bytes      uint16
-	Fw_rev         [8]uint8
-	Model          [40]uint8
-	Max_multsect   uint8
-	Vendor3        uint8
-	Dword_io       uint16
-	Vendor4        uint8
-	Capability     uint8
-	Reserved50     uint16
-	Vendor5        uint8
-	TPIO           uint8
-	Vendor6        uint8
-	TDMA           uint8
-	Field_valid    uint16
-	Cur_cyls       uint16
-	Cur_heads      uint16
-	Cur_sectors    uint16
-	Cur_capacity0  uint16
-	Cur_capacity1  uint16
-	Multsect       uint8
-	Multsect_valid uint8
-	Lba_capacity   uint32
-	Dma_1word      uint16
-	Dma_mword      uint16
-	Eide_pio_modes uint16
-	Eide_dma_min   uint16
-	Eide_dma_time  uint16
-	Eide_pio       uint16
-	Eide_pio_iordy uint16
-	Words69_70     [2]uint16
-	Words71_74     [4]uint16
-	Queue_depth    uint16
-	Words76_79     [4]uint16
-	Major_rev_num  uint16
-	Minor_rev_num  uint16
-	Command_set_1  uint16
-	Command_set_2  uint16
-	Cfsse          uint16
-	Cfs_enable_1   uint16
-	Cfs_enable_2   uint16
-	Csf_default    uint16
-	Dma_ultra      uint16
-	Trseuc         uint16
-	TrsEuc         uint16
-	CurAPMvalues   uint16
-	Mprc           uint16
-	Hw_config      uint16
-	Acoustic       uint16
-	Msrqs          uint16
-	Sxfert         uint16
-	Sal            uint16
-	Spg            uint32
-	Lba_capacity_2 uint64
-	Words104_125   [22]uint16
-	Last_lun       uint16
-	Word127        uint16
-	Dlf            uint16
-	Csfo           uint16
-	Words130_155   [26]uint16
-	Word156        uint16
-	Words157_159   [3]uint16
-	Cfa_power      uint16
-	Words161_175   [15]uint16
-	Words176_205   [30]uint16
-	Words206_254   [49]uint16
-	Integrity_word uint16
-}
-
-type Statfs_t struct {
-	Type    int64
-	Bsize   int64
-	Blocks  uint64
-	Bfree   uint64
-	Bavail  uint64
-	Files   uint64
-	Ffree   uint64
-	Fsid    Fsid
-	Namelen int64
-	Frsize  int64
-	Flags   int64
-	Spare   [4]int64
-}
-
-const (
-	ST_MANDLOCK    = 0x40
-	ST_NOATIME     = 0x400
-	ST_NODEV       = 0x4
-	ST_NODIRATIME  = 0x800
-	ST_NOEXEC      = 0x8
-	ST_NOSUID      = 0x2
-	ST_RDONLY      = 0x1
-	ST_RELATIME    = 0x1000
-	ST_SYNCHRONOUS = 0x10
-)
-
-type TpacketHdr struct {
-	Status  uint64
-	Len     uint32
-	Snaplen uint32
-	Mac     uint16
-	Net     uint16
-	Sec     uint32
-	Usec    uint32
-	_       [4]byte
-}
-
-type Tpacket2Hdr struct {
-	Status    uint32
-	Len       uint32
-	Snaplen   uint32
-	Mac       uint16
-	Net       uint16
-	Sec       uint32
-	Nsec      uint32
-	Vlan_tci  uint16
-	Vlan_tpid uint16
-	_         [4]uint8
-}
-
-type Tpacket3Hdr struct {
-	Next_offset uint32
-	Sec         uint32
-	Nsec        uint32
-	Snaplen     uint32
-	Len         uint32
-	Status      uint32
-	Mac         uint16
-	Net         uint16
-	Hv1         TpacketHdrVariant1
-	_           [8]uint8
-}
-
-type TpacketHdrVariant1 struct {
-	Rxhash    uint32
-	Vlan_tci  uint32
-	Vlan_tpid uint16
-	_         uint16
-}
-
-type TpacketBlockDesc struct {
-	Version uint32
-	To_priv uint32
-	Hdr     [40]byte
-}
-
-type TpacketReq struct {
-	Block_size uint32
-	Block_nr   uint32
-	Frame_size uint32
-	Frame_nr   uint32
-}
-
-type TpacketReq3 struct {
-	Block_size       uint32
-	Block_nr         uint32
-	Frame_size       uint32
-	Frame_nr         uint32
-	Retire_blk_tov   uint32
-	Sizeof_priv      uint32
-	Feature_req_word uint32
-}
-
-type TpacketStats struct {
-	Packets uint32
-	Drops   uint32
-}
-
-type TpacketStatsV3 struct {
-	Packets      uint32
-	Drops        uint32
-	Freeze_q_cnt uint32
-}
-
-type TpacketAuxdata struct {
-	Status    uint32
-	Len       uint32
-	Snaplen   uint32
-	Mac       uint16
-	Net       uint16
-	Vlan_tci  uint16
-	Vlan_tpid uint16
-}
-
-const (
-	TPACKET_V1 = 0x0
-	TPACKET_V2 = 0x1
-	TPACKET_V3 = 0x2
-)
-
-const (
-	SizeofTpacketHdr  = 0x20
-	SizeofTpacket2Hdr = 0x20
-	SizeofTpacket3Hdr = 0x30
-)
-
-const (
-	NF_INET_PRE_ROUTING  = 0x0
-	NF_INET_LOCAL_IN     = 0x1
-	NF_INET_FORWARD      = 0x2
-	NF_INET_LOCAL_OUT    = 0x3
-	NF_INET_POST_ROUTING = 0x4
-	NF_INET_NUMHOOKS     = 0x5
-)
-
-const (
-	NF_NETDEV_INGRESS  = 0x0
-	NF_NETDEV_NUMHOOKS = 0x1
-)
-
-const (
-	NFPROTO_UNSPEC   = 0x0
-	NFPROTO_INET     = 0x1
-	NFPROTO_IPV4     = 0x2
-	NFPROTO_ARP      = 0x3
-	NFPROTO_NETDEV   = 0x5
-	NFPROTO_BRIDGE   = 0x7
-	NFPROTO_IPV6     = 0xa
-	NFPROTO_DECNET   = 0xc
-	NFPROTO_NUMPROTO = 0xd
-)
-
-type Nfgenmsg struct {
-	Nfgen_family uint8
-	Version      uint8
-	Res_id       uint16
-}
-
-const (
-	NFNL_BATCH_UNSPEC = 0x0
-	NFNL_BATCH_GENID  = 0x1
-)
-
-const (
-	NFT_REG_VERDICT                   = 0x0
-	NFT_REG_1                         = 0x1
-	NFT_REG_2                         = 0x2
-	NFT_REG_3                         = 0x3
-	NFT_REG_4                         = 0x4
-	NFT_REG32_00                      = 0x8
-	NFT_REG32_01                      = 0x9
-	NFT_REG32_02                      = 0xa
-	NFT_REG32_03                      = 0xb
-	NFT_REG32_04                      = 0xc
-	NFT_REG32_05                      = 0xd
-	NFT_REG32_06                      = 0xe
-	NFT_REG32_07                      = 0xf
-	NFT_REG32_08                      = 0x10
-	NFT_REG32_09                      = 0x11
-	NFT_REG32_10                      = 0x12
-	NFT_REG32_11                      = 0x13
-	NFT_REG32_12                      = 0x14
-	NFT_REG32_13                      = 0x15
-	NFT_REG32_14                      = 0x16
-	NFT_REG32_15                      = 0x17
-	NFT_CONTINUE                      = -0x1
-	NFT_BREAK                         = -0x2
-	NFT_JUMP                          = -0x3
-	NFT_GOTO                          = -0x4
-	NFT_RETURN                        = -0x5
-	NFT_MSG_NEWTABLE                  = 0x0
-	NFT_MSG_GETTABLE                  = 0x1
-	NFT_MSG_DELTABLE                  = 0x2
-	NFT_MSG_NEWCHAIN                  = 0x3
-	NFT_MSG_GETCHAIN                  = 0x4
-	NFT_MSG_DELCHAIN                  = 0x5
-	NFT_MSG_NEWRULE                   = 0x6
-	NFT_MSG_GETRULE                   = 0x7
-	NFT_MSG_DELRULE                   = 0x8
-	NFT_MSG_NEWSET                    = 0x9
-	NFT_MSG_GETSET                    = 0xa
-	NFT_MSG_DELSET                    = 0xb
-	NFT_MSG_NEWSETELEM                = 0xc
-	NFT_MSG_GETSETELEM                = 0xd
-	NFT_MSG_DELSETELEM                = 0xe
-	NFT_MSG_NEWGEN                    = 0xf
-	NFT_MSG_GETGEN                    = 0x10
-	NFT_MSG_TRACE                     = 0x11
-	NFT_MSG_NEWOBJ                    = 0x12
-	NFT_MSG_GETOBJ                    = 0x13
-	NFT_MSG_DELOBJ                    = 0x14
-	NFT_MSG_GETOBJ_RESET              = 0x15
-	NFT_MSG_MAX                       = 0x19
-	NFTA_LIST_UNPEC                   = 0x0
-	NFTA_LIST_ELEM                    = 0x1
-	NFTA_HOOK_UNSPEC                  = 0x0
-	NFTA_HOOK_HOOKNUM                 = 0x1
-	NFTA_HOOK_PRIORITY                = 0x2
-	NFTA_HOOK_DEV                     = 0x3
-	NFT_TABLE_F_DORMANT               = 0x1
-	NFTA_TABLE_UNSPEC                 = 0x0
-	NFTA_TABLE_NAME                   = 0x1
-	NFTA_TABLE_FLAGS                  = 0x2
-	NFTA_TABLE_USE                    = 0x3
-	NFTA_CHAIN_UNSPEC                 = 0x0
-	NFTA_CHAIN_TABLE                  = 0x1
-	NFTA_CHAIN_HANDLE                 = 0x2
-	NFTA_CHAIN_NAME                   = 0x3
-	NFTA_CHAIN_HOOK                   = 0x4
-	NFTA_CHAIN_POLICY                 = 0x5
-	NFTA_CHAIN_USE                    = 0x6
-	NFTA_CHAIN_TYPE                   = 0x7
-	NFTA_CHAIN_COUNTERS               = 0x8
-	NFTA_CHAIN_PAD                    = 0x9
-	NFTA_RULE_UNSPEC                  = 0x0
-	NFTA_RULE_TABLE                   = 0x1
-	NFTA_RULE_CHAIN                   = 0x2
-	NFTA_RULE_HANDLE                  = 0x3
-	NFTA_RULE_EXPRESSIONS             = 0x4
-	NFTA_RULE_COMPAT                  = 0x5
-	NFTA_RULE_POSITION                = 0x6
-	NFTA_RULE_USERDATA                = 0x7
-	NFTA_RULE_PAD                     = 0x8
-	NFTA_RULE_ID                      = 0x9
-	NFT_RULE_COMPAT_F_INV             = 0x2
-	NFT_RULE_COMPAT_F_MASK            = 0x2
-	NFTA_RULE_COMPAT_UNSPEC           = 0x0
-	NFTA_RULE_COMPAT_PROTO            = 0x1
-	NFTA_RULE_COMPAT_FLAGS            = 0x2
-	NFT_SET_ANONYMOUS                 = 0x1
-	NFT_SET_CONSTANT                  = 0x2
-	NFT_SET_INTERVAL                  = 0x4
-	NFT_SET_MAP                       = 0x8
-	NFT_SET_TIMEOUT                   = 0x10
-	NFT_SET_EVAL                      = 0x20
-	NFT_SET_OBJECT                    = 0x40
-	NFT_SET_POL_PERFORMANCE           = 0x0
-	NFT_SET_POL_MEMORY                = 0x1
-	NFTA_SET_DESC_UNSPEC              = 0x0
-	NFTA_SET_DESC_SIZE                = 0x1
-	NFTA_SET_UNSPEC                   = 0x0
-	NFTA_SET_TABLE                    = 0x1
-	NFTA_SET_NAME                     = 0x2
-	NFTA_SET_FLAGS                    = 0x3
-	NFTA_SET_KEY_TYPE                 = 0x4
-	NFTA_SET_KEY_LEN                  = 0x5
-	NFTA_SET_DATA_TYPE                = 0x6
-	NFTA_SET_DATA_LEN                 = 0x7
-	NFTA_SET_POLICY                   = 0x8
-	NFTA_SET_DESC                     = 0x9
-	NFTA_SET_ID                       = 0xa
-	NFTA_SET_TIMEOUT                  = 0xb
-	NFTA_SET_GC_INTERVAL              = 0xc
-	NFTA_SET_USERDATA                 = 0xd
-	NFTA_SET_PAD                      = 0xe
-	NFTA_SET_OBJ_TYPE                 = 0xf
-	NFT_SET_ELEM_INTERVAL_END         = 0x1
-	NFTA_SET_ELEM_UNSPEC              = 0x0
-	NFTA_SET_ELEM_KEY                 = 0x1
-	NFTA_SET_ELEM_DATA                = 0x2
-	NFTA_SET_ELEM_FLAGS               = 0x3
-	NFTA_SET_ELEM_TIMEOUT             = 0x4
-	NFTA_SET_ELEM_EXPIRATION          = 0x5
-	NFTA_SET_ELEM_USERDATA            = 0x6
-	NFTA_SET_ELEM_EXPR                = 0x7
-	NFTA_SET_ELEM_PAD                 = 0x8
-	NFTA_SET_ELEM_OBJREF              = 0x9
-	NFTA_SET_ELEM_LIST_UNSPEC         = 0x0
-	NFTA_SET_ELEM_LIST_TABLE          = 0x1
-	NFTA_SET_ELEM_LIST_SET            = 0x2
-	NFTA_SET_ELEM_LIST_ELEMENTS       = 0x3
-	NFTA_SET_ELEM_LIST_SET_ID         = 0x4
-	NFT_DATA_VALUE                    = 0x0
-	NFT_DATA_VERDICT                  = 0xffffff00
-	NFTA_DATA_UNSPEC                  = 0x0
-	NFTA_DATA_VALUE                   = 0x1
-	NFTA_DATA_VERDICT                 = 0x2
-	NFTA_VERDICT_UNSPEC               = 0x0
-	NFTA_VERDICT_CODE                 = 0x1
-	NFTA_VERDICT_CHAIN                = 0x2
-	NFTA_EXPR_UNSPEC                  = 0x0
-	NFTA_EXPR_NAME                    = 0x1
-	NFTA_EXPR_DATA                    = 0x2
-	NFTA_IMMEDIATE_UNSPEC             = 0x0
-	NFTA_IMMEDIATE_DREG               = 0x1
-	NFTA_IMMEDIATE_DATA               = 0x2
-	NFTA_BITWISE_UNSPEC               = 0x0
-	NFTA_BITWISE_SREG                 = 0x1
-	NFTA_BITWISE_DREG                 = 0x2
-	NFTA_BITWISE_LEN                  = 0x3
-	NFTA_BITWISE_MASK                 = 0x4
-	NFTA_BITWISE_XOR                  = 0x5
-	NFT_BYTEORDER_NTOH                = 0x0
-	NFT_BYTEORDER_HTON                = 0x1
-	NFTA_BYTEORDER_UNSPEC             = 0x0
-	NFTA_BYTEORDER_SREG               = 0x1
-	NFTA_BYTEORDER_DREG               = 0x2
-	NFTA_BYTEORDER_OP                 = 0x3
-	NFTA_BYTEORDER_LEN                = 0x4
-	NFTA_BYTEORDER_SIZE               = 0x5
-	NFT_CMP_EQ                        = 0x0
-	NFT_CMP_NEQ                       = 0x1
-	NFT_CMP_LT                        = 0x2
-	NFT_CMP_LTE                       = 0x3
-	NFT_CMP_GT                        = 0x4
-	NFT_CMP_GTE                       = 0x5
-	NFTA_CMP_UNSPEC                   = 0x0
-	NFTA_CMP_SREG                     = 0x1
-	NFTA_CMP_OP                       = 0x2
-	NFTA_CMP_DATA                     = 0x3
-	NFT_RANGE_EQ                      = 0x0
-	NFT_RANGE_NEQ                     = 0x1
-	NFTA_RANGE_UNSPEC                 = 0x0
-	NFTA_RANGE_SREG                   = 0x1
-	NFTA_RANGE_OP                     = 0x2
-	NFTA_RANGE_FROM_DATA              = 0x3
-	NFTA_RANGE_TO_DATA                = 0x4
-	NFT_LOOKUP_F_INV                  = 0x1
-	NFTA_LOOKUP_UNSPEC                = 0x0
-	NFTA_LOOKUP_SET                   = 0x1
-	NFTA_LOOKUP_SREG                  = 0x2
-	NFTA_LOOKUP_DREG                  = 0x3
-	NFTA_LOOKUP_SET_ID                = 0x4
-	NFTA_LOOKUP_FLAGS                 = 0x5
-	NFT_DYNSET_OP_ADD                 = 0x0
-	NFT_DYNSET_OP_UPDATE              = 0x1
-	NFT_DYNSET_F_INV                  = 0x1
-	NFTA_DYNSET_UNSPEC                = 0x0
-	NFTA_DYNSET_SET_NAME              = 0x1
-	NFTA_DYNSET_SET_ID                = 0x2
-	NFTA_DYNSET_OP                    = 0x3
-	NFTA_DYNSET_SREG_KEY              = 0x4
-	NFTA_DYNSET_SREG_DATA             = 0x5
-	NFTA_DYNSET_TIMEOUT               = 0x6
-	NFTA_DYNSET_EXPR                  = 0x7
-	NFTA_DYNSET_PAD                   = 0x8
-	NFTA_DYNSET_FLAGS                 = 0x9
-	NFT_PAYLOAD_LL_HEADER             = 0x0
-	NFT_PAYLOAD_NETWORK_HEADER        = 0x1
-	NFT_PAYLOAD_TRANSPORT_HEADER      = 0x2
-	NFT_PAYLOAD_CSUM_NONE             = 0x0
-	NFT_PAYLOAD_CSUM_INET             = 0x1
-	NFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1
-	NFTA_PAYLOAD_UNSPEC               = 0x0
-	NFTA_PAYLOAD_DREG                 = 0x1
-	NFTA_PAYLOAD_BASE                 = 0x2
-	NFTA_PAYLOAD_OFFSET               = 0x3
-	NFTA_PAYLOAD_LEN                  = 0x4
-	NFTA_PAYLOAD_SREG                 = 0x5
-	NFTA_PAYLOAD_CSUM_TYPE            = 0x6
-	NFTA_PAYLOAD_CSUM_OFFSET          = 0x7
-	NFTA_PAYLOAD_CSUM_FLAGS           = 0x8
-	NFT_EXTHDR_F_PRESENT              = 0x1
-	NFT_EXTHDR_OP_IPV6                = 0x0
-	NFT_EXTHDR_OP_TCPOPT              = 0x1
-	NFTA_EXTHDR_UNSPEC                = 0x0
-	NFTA_EXTHDR_DREG                  = 0x1
-	NFTA_EXTHDR_TYPE                  = 0x2
-	NFTA_EXTHDR_OFFSET                = 0x3
-	NFTA_EXTHDR_LEN                   = 0x4
-	NFTA_EXTHDR_FLAGS                 = 0x5
-	NFTA_EXTHDR_OP                    = 0x6
-	NFTA_EXTHDR_SREG                  = 0x7
-	NFT_META_LEN                      = 0x0
-	NFT_META_PROTOCOL                 = 0x1
-	NFT_META_PRIORITY                 = 0x2
-	NFT_META_MARK                     = 0x3
-	NFT_META_IIF                      = 0x4
-	NFT_META_OIF                      = 0x5
-	NFT_META_IIFNAME                  = 0x6
-	NFT_META_OIFNAME                  = 0x7
-	NFT_META_IIFTYPE                  = 0x8
-	NFT_META_OIFTYPE                  = 0x9
-	NFT_META_SKUID                    = 0xa
-	NFT_META_SKGID                    = 0xb
-	NFT_META_NFTRACE                  = 0xc
-	NFT_META_RTCLASSID                = 0xd
-	NFT_META_SECMARK                  = 0xe
-	NFT_META_NFPROTO                  = 0xf
-	NFT_META_L4PROTO                  = 0x10
-	NFT_META_BRI_IIFNAME              = 0x11
-	NFT_META_BRI_OIFNAME              = 0x12
-	NFT_META_PKTTYPE                  = 0x13
-	NFT_META_CPU                      = 0x14
-	NFT_META_IIFGROUP                 = 0x15
-	NFT_META_OIFGROUP                 = 0x16
-	NFT_META_CGROUP                   = 0x17
-	NFT_META_PRANDOM                  = 0x18
-	NFT_RT_CLASSID                    = 0x0
-	NFT_RT_NEXTHOP4                   = 0x1
-	NFT_RT_NEXTHOP6                   = 0x2
-	NFT_RT_TCPMSS                     = 0x3
-	NFT_HASH_JENKINS                  = 0x0
-	NFT_HASH_SYM                      = 0x1
-	NFTA_HASH_UNSPEC                  = 0x0
-	NFTA_HASH_SREG                    = 0x1
-	NFTA_HASH_DREG                    = 0x2
-	NFTA_HASH_LEN                     = 0x3
-	NFTA_HASH_MODULUS                 = 0x4
-	NFTA_HASH_SEED                    = 0x5
-	NFTA_HASH_OFFSET                  = 0x6
-	NFTA_HASH_TYPE                    = 0x7
-	NFTA_META_UNSPEC                  = 0x0
-	NFTA_META_DREG                    = 0x1
-	NFTA_META_KEY                     = 0x2
-	NFTA_META_SREG                    = 0x3
-	NFTA_RT_UNSPEC                    = 0x0
-	NFTA_RT_DREG                      = 0x1
-	NFTA_RT_KEY                       = 0x2
-	NFT_CT_STATE                      = 0x0
-	NFT_CT_DIRECTION                  = 0x1
-	NFT_CT_STATUS                     = 0x2
-	NFT_CT_MARK                       = 0x3
-	NFT_CT_SECMARK                    = 0x4
-	NFT_CT_EXPIRATION                 = 0x5
-	NFT_CT_HELPER                     = 0x6
-	NFT_CT_L3PROTOCOL                 = 0x7
-	NFT_CT_SRC                        = 0x8
-	NFT_CT_DST                        = 0x9
-	NFT_CT_PROTOCOL                   = 0xa
-	NFT_CT_PROTO_SRC                  = 0xb
-	NFT_CT_PROTO_DST                  = 0xc
-	NFT_CT_LABELS                     = 0xd
-	NFT_CT_PKTS                       = 0xe
-	NFT_CT_BYTES                      = 0xf
-	NFT_CT_AVGPKT                     = 0x10
-	NFT_CT_ZONE                       = 0x11
-	NFT_CT_EVENTMASK                  = 0x12
-	NFTA_CT_UNSPEC                    = 0x0
-	NFTA_CT_DREG                      = 0x1
-	NFTA_CT_KEY                       = 0x2
-	NFTA_CT_DIRECTION                 = 0x3
-	NFTA_CT_SREG                      = 0x4
-	NFT_LIMIT_PKTS                    = 0x0
-	NFT_LIMIT_PKT_BYTES               = 0x1
-	NFT_LIMIT_F_INV                   = 0x1
-	NFTA_LIMIT_UNSPEC                 = 0x0
-	NFTA_LIMIT_RATE                   = 0x1
-	NFTA_LIMIT_UNIT                   = 0x2
-	NFTA_LIMIT_BURST                  = 0x3
-	NFTA_LIMIT_TYPE                   = 0x4
-	NFTA_LIMIT_FLAGS                  = 0x5
-	NFTA_LIMIT_PAD                    = 0x6
-	NFTA_COUNTER_UNSPEC               = 0x0
-	NFTA_COUNTER_BYTES                = 0x1
-	NFTA_COUNTER_PACKETS              = 0x2
-	NFTA_COUNTER_PAD                  = 0x3
-	NFTA_LOG_UNSPEC                   = 0x0
-	NFTA_LOG_GROUP                    = 0x1
-	NFTA_LOG_PREFIX                   = 0x2
-	NFTA_LOG_SNAPLEN                  = 0x3
-	NFTA_LOG_QTHRESHOLD               = 0x4
-	NFTA_LOG_LEVEL                    = 0x5
-	NFTA_LOG_FLAGS                    = 0x6
-	NFTA_QUEUE_UNSPEC                 = 0x0
-	NFTA_QUEUE_NUM                    = 0x1
-	NFTA_QUEUE_TOTAL                  = 0x2
-	NFTA_QUEUE_FLAGS                  = 0x3
-	NFTA_QUEUE_SREG_QNUM              = 0x4
-	NFT_QUOTA_F_INV                   = 0x1
-	NFT_QUOTA_F_DEPLETED              = 0x2
-	NFTA_QUOTA_UNSPEC                 = 0x0
-	NFTA_QUOTA_BYTES                  = 0x1
-	NFTA_QUOTA_FLAGS                  = 0x2
-	NFTA_QUOTA_PAD                    = 0x3
-	NFTA_QUOTA_CONSUMED               = 0x4
-	NFT_REJECT_ICMP_UNREACH           = 0x0
-	NFT_REJECT_TCP_RST                = 0x1
-	NFT_REJECT_ICMPX_UNREACH          = 0x2
-	NFT_REJECT_ICMPX_NO_ROUTE         = 0x0
-	NFT_REJECT_ICMPX_PORT_UNREACH     = 0x1
-	NFT_REJECT_ICMPX_HOST_UNREACH     = 0x2
-	NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3
-	NFTA_REJECT_UNSPEC                = 0x0
-	NFTA_REJECT_TYPE                  = 0x1
-	NFTA_REJECT_ICMP_CODE             = 0x2
-	NFT_NAT_SNAT                      = 0x0
-	NFT_NAT_DNAT                      = 0x1
-	NFTA_NAT_UNSPEC                   = 0x0
-	NFTA_NAT_TYPE                     = 0x1
-	NFTA_NAT_FAMILY                   = 0x2
-	NFTA_NAT_REG_ADDR_MIN             = 0x3
-	NFTA_NAT_REG_ADDR_MAX             = 0x4
-	NFTA_NAT_REG_PROTO_MIN            = 0x5
-	NFTA_NAT_REG_PROTO_MAX            = 0x6
-	NFTA_NAT_FLAGS                    = 0x7
-	NFTA_MASQ_UNSPEC                  = 0x0
-	NFTA_MASQ_FLAGS                   = 0x1
-	NFTA_MASQ_REG_PROTO_MIN           = 0x2
-	NFTA_MASQ_REG_PROTO_MAX           = 0x3
-	NFTA_REDIR_UNSPEC                 = 0x0
-	NFTA_REDIR_REG_PROTO_MIN          = 0x1
-	NFTA_REDIR_REG_PROTO_MAX          = 0x2
-	NFTA_REDIR_FLAGS                  = 0x3
-	NFTA_DUP_UNSPEC                   = 0x0
-	NFTA_DUP_SREG_ADDR                = 0x1
-	NFTA_DUP_SREG_DEV                 = 0x2
-	NFTA_FWD_UNSPEC                   = 0x0
-	NFTA_FWD_SREG_DEV                 = 0x1
-	NFTA_OBJREF_UNSPEC                = 0x0
-	NFTA_OBJREF_IMM_TYPE              = 0x1
-	NFTA_OBJREF_IMM_NAME              = 0x2
-	NFTA_OBJREF_SET_SREG              = 0x3
-	NFTA_OBJREF_SET_NAME              = 0x4
-	NFTA_OBJREF_SET_ID                = 0x5
-	NFTA_GEN_UNSPEC                   = 0x0
-	NFTA_GEN_ID                       = 0x1
-	NFTA_GEN_PROC_PID                 = 0x2
-	NFTA_GEN_PROC_NAME                = 0x3
-	NFTA_FIB_UNSPEC                   = 0x0
-	NFTA_FIB_DREG                     = 0x1
-	NFTA_FIB_RESULT                   = 0x2
-	NFTA_FIB_FLAGS                    = 0x3
-	NFT_FIB_RESULT_UNSPEC             = 0x0
-	NFT_FIB_RESULT_OIF                = 0x1
-	NFT_FIB_RESULT_OIFNAME            = 0x2
-	NFT_FIB_RESULT_ADDRTYPE           = 0x3
-	NFTA_FIB_F_SADDR                  = 0x1
-	NFTA_FIB_F_DADDR                  = 0x2
-	NFTA_FIB_F_MARK                   = 0x4
-	NFTA_FIB_F_IIF                    = 0x8
-	NFTA_FIB_F_OIF                    = 0x10
-	NFTA_FIB_F_PRESENT                = 0x20
-	NFTA_CT_HELPER_UNSPEC             = 0x0
-	NFTA_CT_HELPER_NAME               = 0x1
-	NFTA_CT_HELPER_L3PROTO            = 0x2
-	NFTA_CT_HELPER_L4PROTO            = 0x3
-	NFTA_OBJ_UNSPEC                   = 0x0
-	NFTA_OBJ_TABLE                    = 0x1
-	NFTA_OBJ_NAME                     = 0x2
-	NFTA_OBJ_TYPE                     = 0x3
-	NFTA_OBJ_DATA                     = 0x4
-	NFTA_OBJ_USE                      = 0x5
-	NFTA_TRACE_UNSPEC                 = 0x0
-	NFTA_TRACE_TABLE                  = 0x1
-	NFTA_TRACE_CHAIN                  = 0x2
-	NFTA_TRACE_RULE_HANDLE            = 0x3
-	NFTA_TRACE_TYPE                   = 0x4
-	NFTA_TRACE_VERDICT                = 0x5
-	NFTA_TRACE_ID                     = 0x6
-	NFTA_TRACE_LL_HEADER              = 0x7
-	NFTA_TRACE_NETWORK_HEADER         = 0x8
-	NFTA_TRACE_TRANSPORT_HEADER       = 0x9
-	NFTA_TRACE_IIF                    = 0xa
-	NFTA_TRACE_IIFTYPE                = 0xb
-	NFTA_TRACE_OIF                    = 0xc
-	NFTA_TRACE_OIFTYPE                = 0xd
-	NFTA_TRACE_MARK                   = 0xe
-	NFTA_TRACE_NFPROTO                = 0xf
-	NFTA_TRACE_POLICY                 = 0x10
-	NFTA_TRACE_PAD                    = 0x11
-	NFT_TRACETYPE_UNSPEC              = 0x0
-	NFT_TRACETYPE_POLICY              = 0x1
-	NFT_TRACETYPE_RETURN              = 0x2
-	NFT_TRACETYPE_RULE                = 0x3
-	NFTA_NG_UNSPEC                    = 0x0
-	NFTA_NG_DREG                      = 0x1
-	NFTA_NG_MODULUS                   = 0x2
-	NFTA_NG_TYPE                      = 0x3
-	NFTA_NG_OFFSET                    = 0x4
-	NFT_NG_INCREMENTAL                = 0x0
-	NFT_NG_RANDOM                     = 0x1
-)
-
-type RTCTime struct {
-	Sec   int32
-	Min   int32
-	Hour  int32
-	Mday  int32
-	Mon   int32
-	Year  int32
-	Wday  int32
-	Yday  int32
-	Isdst int32
-}
-
-type RTCWkAlrm struct {
-	Enabled uint8
-	Pending uint8
-	_       [2]byte
-	Time    RTCTime
-}
-
-type RTCPLLInfo struct {
-	Ctrl    int32
-	Value   int32
-	Max     int32
-	Min     int32
-	Posmult int32
-	Negmult int32
-	Clock   int64
-}
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	_       [4]byte
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x1269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
index dea88f7..d32079d 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
@@ -250,13 +250,6 @@ type RawSockaddrL2 struct {
 	_           [1]byte
 }
 
-type RawSockaddrRFCOMM struct {
-	Family  uint16
-	Bdaddr  [6]uint8
-	Channel uint8
-	_       [1]byte
-}
-
 type RawSockaddrCAN struct {
 	Family  uint16
 	_       [2]byte
@@ -280,14 +273,6 @@ type RawSockaddrVM struct {
 	Zero      [4]uint8
 }
 
-type RawSockaddrXDP struct {
-	Family         uint16
-	Flags          uint16
-	Ifindex        uint32
-	Queue_id       uint32
-	Shared_umem_fd uint32
-}
-
 type RawSockaddr struct {
 	Family uint16
 	Data   [14]int8
@@ -420,11 +405,9 @@ const (
 	SizeofSockaddrNetlink   = 0xc
 	SizeofSockaddrHCI       = 0x6
 	SizeofSockaddrL2        = 0xe
-	SizeofSockaddrRFCOMM    = 0xa
 	SizeofSockaddrCAN       = 0x10
 	SizeofSockaddrALG       = 0x58
 	SizeofSockaddrVM        = 0x10
-	SizeofSockaddrXDP       = 0x10
 	SizeofLinger            = 0x8
 	SizeofIovec             = 0x10
 	SizeofIPMreq            = 0x8
@@ -454,7 +437,6 @@ const (
 	IFLA_ADDRESS         = 0x1
 	IFLA_BROADCAST       = 0x2
 	IFLA_IFNAME          = 0x3
-	IFLA_INFO_KIND       = 0x1
 	IFLA_MTU             = 0x4
 	IFLA_LINK            = 0x5
 	IFLA_QDISC           = 0x6
@@ -498,7 +480,7 @@ const (
 	IFLA_EVENT           = 0x2c
 	IFLA_NEW_NETNSID     = 0x2d
 	IFLA_IF_NETNSID      = 0x2e
-	IFLA_MAX             = 0x33
+	IFLA_MAX             = 0x31
 	RT_SCOPE_UNIVERSE    = 0x0
 	RT_SCOPE_SITE        = 0xc8
 	RT_SCOPE_LINK        = 0xfd
@@ -523,20 +505,6 @@ const (
 	RTA_FLOW             = 0xb
 	RTA_CACHEINFO        = 0xc
 	RTA_TABLE            = 0xf
-	RTA_MARK             = 0x10
-	RTA_MFC_STATS        = 0x11
-	RTA_VIA              = 0x12
-	RTA_NEWDST           = 0x13
-	RTA_PREF             = 0x14
-	RTA_ENCAP_TYPE       = 0x15
-	RTA_ENCAP            = 0x16
-	RTA_EXPIRES          = 0x17
-	RTA_PAD              = 0x18
-	RTA_UID              = 0x19
-	RTA_TTL_PROPAGATE    = 0x1a
-	RTA_IP_PROTO         = 0x1b
-	RTA_SPORT            = 0x1c
-	RTA_DPORT            = 0x1d
 	RTN_UNSPEC           = 0x0
 	RTN_UNICAST          = 0x1
 	RTN_LOCAL            = 0x2
@@ -1902,115 +1870,3 @@ type RTCPLLInfo struct {
 	Negmult int32
 	Clock   int64
 }
-
-type BlkpgIoctlArg struct {
-	Op      int32
-	Flags   int32
-	Datalen int32
-	_       [4]byte
-	Data    *byte
-}
-
-type BlkpgPartition struct {
-	Start   int64
-	Length  int64
-	Pno     int32
-	Devname [64]uint8
-	Volname [64]uint8
-	_       [4]byte
-}
-
-const (
-	BLKPG                  = 0x1269
-	BLKPG_ADD_PARTITION    = 0x1
-	BLKPG_DEL_PARTITION    = 0x2
-	BLKPG_RESIZE_PARTITION = 0x3
-)
-
-const (
-	NETNSA_NONE = 0x0
-	NETNSA_NSID = 0x1
-	NETNSA_PID  = 0x2
-	NETNSA_FD   = 0x3
-)
-
-type XDPRingOffset struct {
-	Producer uint64
-	Consumer uint64
-	Desc     uint64
-}
-
-type XDPMmapOffsets struct {
-	Rx XDPRingOffset
-	Tx XDPRingOffset
-	Fr XDPRingOffset
-	Cr XDPRingOffset
-}
-
-type XDPUmemReg struct {
-	Addr     uint64
-	Len      uint64
-	Size     uint32
-	Headroom uint32
-}
-
-type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
-}
-
-type XDPDesc struct {
-	Addr    uint64
-	Len     uint32
-	Options uint32
-}
-
-const (
-	NCSI_CMD_UNSPEC                 = 0x0
-	NCSI_CMD_PKG_INFO               = 0x1
-	NCSI_CMD_SET_INTERFACE          = 0x2
-	NCSI_CMD_CLEAR_INTERFACE        = 0x3
-	NCSI_ATTR_UNSPEC                = 0x0
-	NCSI_ATTR_IFINDEX               = 0x1
-	NCSI_ATTR_PACKAGE_LIST          = 0x2
-	NCSI_ATTR_PACKAGE_ID            = 0x3
-	NCSI_ATTR_CHANNEL_ID            = 0x4
-	NCSI_PKG_ATTR_UNSPEC            = 0x0
-	NCSI_PKG_ATTR                   = 0x1
-	NCSI_PKG_ATTR_ID                = 0x2
-	NCSI_PKG_ATTR_FORCED            = 0x3
-	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
-	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
-	NCSI_CHANNEL_ATTR               = 0x1
-	NCSI_CHANNEL_ATTR_ID            = 0x2
-	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
-	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
-	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
-	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
-	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
-	NCSI_CHANNEL_ATTR_FORCED        = 0x8
-	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
-	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
-)
-
-const (
-	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
-	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
-	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
-	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
-	SOF_TIMESTAMPING_SOFTWARE     = 0x10
-	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
-	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
-	SOF_TIMESTAMPING_OPT_ID       = 0x80
-	SOF_TIMESTAMPING_TX_SCHED     = 0x100
-	SOF_TIMESTAMPING_TX_ACK       = 0x200
-	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
-	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
-	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
-	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
-	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
-
-	SOF_TIMESTAMPING_LAST = 0x4000
-	SOF_TIMESTAMPING_MASK = 0x7fff
-)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
index 1fc7f7d..8e7384b 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
@@ -5,11 +5,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 	PathMax        = 0x1000
 )
 
diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
index 1fdc5fd..4b86fb2 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 )
 
 type (
@@ -446,13 +446,3 @@ type Utsname struct {
 	Version  [256]byte
 	Machine  [256]byte
 }
-
-const SizeofClockinfo = 0x14
-
-type Clockinfo struct {
-	Hz      int32
-	Tick    int32
-	Tickadj int32
-	Stathz  int32
-	Profhz  int32
-}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
index 711f780..9048a50 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 )
 
 type (
@@ -453,13 +453,3 @@ type Utsname struct {
 	Version  [256]byte
 	Machine  [256]byte
 }
-
-const SizeofClockinfo = 0x14
-
-type Clockinfo struct {
-	Hz      int32
-	Tick    int32
-	Tickadj int32
-	Stathz  int32
-	Profhz  int32
-}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
index fa1a16b..00525e7 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 )
 
 type (
@@ -451,13 +451,3 @@ type Utsname struct {
 	Version  [256]byte
 	Machine  [256]byte
 }
-
-const SizeofClockinfo = 0x14
-
-type Clockinfo struct {
-	Hz      int32
-	Tick    int32
-	Tickadj int32
-	Stathz  int32
-	Profhz  int32
-}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
index 8b37d83..d5a2d75 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 )
 
 type (
@@ -56,6 +56,23 @@ type Rlimit struct {
 
 type _Gid_t uint32
 
+const (
+	S_IFMT   = 0xf000
+	S_IFIFO  = 0x1000
+	S_IFCHR  = 0x2000
+	S_IFDIR  = 0x4000
+	S_IFBLK  = 0x6000
+	S_IFREG  = 0x8000
+	S_IFLNK  = 0xa000
+	S_IFSOCK = 0xc000
+	S_ISUID  = 0x800
+	S_ISGID  = 0x400
+	S_ISVTX  = 0x200
+	S_IRUSR  = 0x100
+	S_IWUSR  = 0x80
+	S_IXUSR  = 0x40
+)
+
 type Stat_t struct {
 	Mode           uint32
 	Dev            int32
@@ -458,8 +475,6 @@ const (
 	POLLWRNORM = 0x4
 )
 
-type Sigset_t uint32
-
 type Utsname struct {
 	Sysname  [256]byte
 	Nodename [256]byte
@@ -467,94 +482,3 @@ type Utsname struct {
 	Version  [256]byte
 	Machine  [256]byte
 }
-
-const SizeofUvmexp = 0x158
-
-type Uvmexp struct {
-	Pagesize           int32
-	Pagemask           int32
-	Pageshift          int32
-	Npages             int32
-	Free               int32
-	Active             int32
-	Inactive           int32
-	Paging             int32
-	Wired              int32
-	Zeropages          int32
-	Reserve_pagedaemon int32
-	Reserve_kernel     int32
-	Anonpages          int32
-	Vnodepages         int32
-	Vtextpages         int32
-	Freemin            int32
-	Freetarg           int32
-	Inactarg           int32
-	Wiredmax           int32
-	Anonmin            int32
-	Vtextmin           int32
-	Vnodemin           int32
-	Anonminpct         int32
-	Vtextminpct        int32
-	Vnodeminpct        int32
-	Nswapdev           int32
-	Swpages            int32
-	Swpginuse          int32
-	Swpgonly           int32
-	Nswget             int32
-	Nanon              int32
-	Nanonneeded        int32
-	Nfreeanon          int32
-	Faults             int32
-	Traps              int32
-	Intrs              int32
-	Swtch              int32
-	Softs              int32
-	Syscalls           int32
-	Pageins            int32
-	Obsolete_swapins   int32
-	Obsolete_swapouts  int32
-	Pgswapin           int32
-	Pgswapout          int32
-	Forks              int32
-	Forks_ppwait       int32
-	Forks_sharevm      int32
-	Pga_zerohit        int32
-	Pga_zeromiss       int32
-	Zeroaborts         int32
-	Fltnoram           int32
-	Fltnoanon          int32
-	Fltnoamap          int32
-	Fltpgwait          int32
-	Fltpgrele          int32
-	Fltrelck           int32
-	Fltrelckok         int32
-	Fltanget           int32
-	Fltanretry         int32
-	Fltamcopy          int32
-	Fltnamap           int32
-	Fltnomap           int32
-	Fltlget            int32
-	Fltget             int32
-	Flt_anon           int32
-	Flt_acow           int32
-	Flt_obj            int32
-	Flt_prcopy         int32
-	Flt_przero         int32
-	Pdwoke             int32
-	Pdrevs             int32
-	Pdswout            int32
-	Pdfreed            int32
-	Pdscans            int32
-	Pdanscan           int32
-	Pdobscan           int32
-	Pdreact            int32
-	Pdbusy             int32
-	Pdpageouts         int32
-	Pdpending          int32
-	Pddeact            int32
-	Pdreanon           int32
-	Pdrevnode          int32
-	Pdrevtext          int32
-	Fpswtch            int32
-	Kmapent            int32
-}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
index 6efea46..5a9c818 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 )
 
 type (
@@ -56,6 +56,23 @@ type Rlimit struct {
 
 type _Gid_t uint32
 
+const (
+	S_IFMT   = 0xf000
+	S_IFIFO  = 0x1000
+	S_IFCHR  = 0x2000
+	S_IFDIR  = 0x4000
+	S_IFBLK  = 0x6000
+	S_IFREG  = 0x8000
+	S_IFLNK  = 0xa000
+	S_IFSOCK = 0xc000
+	S_ISUID  = 0x800
+	S_ISGID  = 0x400
+	S_ISVTX  = 0x200
+	S_IRUSR  = 0x100
+	S_IWUSR  = 0x80
+	S_IXUSR  = 0x40
+)
+
 type Stat_t struct {
 	Mode    uint32
 	Dev     int32
@@ -458,8 +475,6 @@ const (
 	POLLWRNORM = 0x4
 )
 
-type Sigset_t uint32
-
 type Utsname struct {
 	Sysname  [256]byte
 	Nodename [256]byte
@@ -467,94 +482,3 @@ type Utsname struct {
 	Version  [256]byte
 	Machine  [256]byte
 }
-
-const SizeofUvmexp = 0x158
-
-type Uvmexp struct {
-	Pagesize           int32
-	Pagemask           int32
-	Pageshift          int32
-	Npages             int32
-	Free               int32
-	Active             int32
-	Inactive           int32
-	Paging             int32
-	Wired              int32
-	Zeropages          int32
-	Reserve_pagedaemon int32
-	Reserve_kernel     int32
-	Anonpages          int32
-	Vnodepages         int32
-	Vtextpages         int32
-	Freemin            int32
-	Freetarg           int32
-	Inactarg           int32
-	Wiredmax           int32
-	Anonmin            int32
-	Vtextmin           int32
-	Vnodemin           int32
-	Anonminpct         int32
-	Vtextminpct        int32
-	Vnodeminpct        int32
-	Nswapdev           int32
-	Swpages            int32
-	Swpginuse          int32
-	Swpgonly           int32
-	Nswget             int32
-	Nanon              int32
-	Nanonneeded        int32
-	Nfreeanon          int32
-	Faults             int32
-	Traps              int32
-	Intrs              int32
-	Swtch              int32
-	Softs              int32
-	Syscalls           int32
-	Pageins            int32
-	Obsolete_swapins   int32
-	Obsolete_swapouts  int32
-	Pgswapin           int32
-	Pgswapout          int32
-	Forks              int32
-	Forks_ppwait       int32
-	Forks_sharevm      int32
-	Pga_zerohit        int32
-	Pga_zeromiss       int32
-	Zeroaborts         int32
-	Fltnoram           int32
-	Fltnoanon          int32
-	Fltnoamap          int32
-	Fltpgwait          int32
-	Fltpgrele          int32
-	Fltrelck           int32
-	Fltrelckok         int32
-	Fltanget           int32
-	Fltanretry         int32
-	Fltamcopy          int32
-	Fltnamap           int32
-	Fltnomap           int32
-	Fltlget            int32
-	Fltget             int32
-	Flt_anon           int32
-	Flt_acow           int32
-	Flt_obj            int32
-	Flt_prcopy         int32
-	Flt_przero         int32
-	Pdwoke             int32
-	Pdrevs             int32
-	Pdswout            int32
-	Pdfreed            int32
-	Pdscans            int32
-	Pdanscan           int32
-	Pdobscan           int32
-	Pdreact            int32
-	Pdbusy             int32
-	Pdpageouts         int32
-	Pdpending          int32
-	Pddeact            int32
-	Pdreanon           int32
-	Pdrevnode          int32
-	Pdrevtext          int32
-	Fpswtch            int32
-	Kmapent            int32
-}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
index 87a637e..e35b13b 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x4
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x4
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x4
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x4
+	sizeofLongLong = 0x8
 )
 
 type (
@@ -56,6 +56,23 @@ type Rlimit struct {
 
 type _Gid_t uint32
 
+const (
+	S_IFMT   = 0xf000
+	S_IFIFO  = 0x1000
+	S_IFCHR  = 0x2000
+	S_IFDIR  = 0x4000
+	S_IFBLK  = 0x6000
+	S_IFREG  = 0x8000
+	S_IFLNK  = 0xa000
+	S_IFSOCK = 0xc000
+	S_ISUID  = 0x800
+	S_ISGID  = 0x400
+	S_ISVTX  = 0x200
+	S_IRUSR  = 0x100
+	S_IWUSR  = 0x80
+	S_IXUSR  = 0x40
+)
+
 type Stat_t struct {
 	Mode           uint32
 	Dev            int32
@@ -451,8 +468,6 @@ const (
 	POLLWRNORM = 0x4
 )
 
-type Sigset_t uint32
-
 type Utsname struct {
 	Sysname  [256]byte
 	Nodename [256]byte
@@ -460,94 +475,3 @@ type Utsname struct {
 	Version  [256]byte
 	Machine  [256]byte
 }
-
-const SizeofUvmexp = 0x158
-
-type Uvmexp struct {
-	Pagesize           int32
-	Pagemask           int32
-	Pageshift          int32
-	Npages             int32
-	Free               int32
-	Active             int32
-	Inactive           int32
-	Paging             int32
-	Wired              int32
-	Zeropages          int32
-	Reserve_pagedaemon int32
-	Reserve_kernel     int32
-	Anonpages          int32
-	Vnodepages         int32
-	Vtextpages         int32
-	Freemin            int32
-	Freetarg           int32
-	Inactarg           int32
-	Wiredmax           int32
-	Anonmin            int32
-	Vtextmin           int32
-	Vnodemin           int32
-	Anonminpct         int32
-	Vtextminpct        int32
-	Vnodeminpct        int32
-	Nswapdev           int32
-	Swpages            int32
-	Swpginuse          int32
-	Swpgonly           int32
-	Nswget             int32
-	Nanon              int32
-	Nanonneeded        int32
-	Nfreeanon          int32
-	Faults             int32
-	Traps              int32
-	Intrs              int32
-	Swtch              int32
-	Softs              int32
-	Syscalls           int32
-	Pageins            int32
-	Obsolete_swapins   int32
-	Obsolete_swapouts  int32
-	Pgswapin           int32
-	Pgswapout          int32
-	Forks              int32
-	Forks_ppwait       int32
-	Forks_sharevm      int32
-	Pga_zerohit        int32
-	Pga_zeromiss       int32
-	Zeroaborts         int32
-	Fltnoram           int32
-	Fltnoanon          int32
-	Fltnoamap          int32
-	Fltpgwait          int32
-	Fltpgrele          int32
-	Fltrelck           int32
-	Fltrelckok         int32
-	Fltanget           int32
-	Fltanretry         int32
-	Fltamcopy          int32
-	Fltnamap           int32
-	Fltnomap           int32
-	Fltlget            int32
-	Fltget             int32
-	Flt_anon           int32
-	Flt_acow           int32
-	Flt_obj            int32
-	Flt_prcopy         int32
-	Flt_przero         int32
-	Pdwoke             int32
-	Pdrevs             int32
-	Pdswout            int32
-	Pdfreed            int32
-	Pdscans            int32
-	Pdanscan           int32
-	Pdobscan           int32
-	Pdreact            int32
-	Pdbusy             int32
-	Pdpageouts         int32
-	Pdpending          int32
-	Pddeact            int32
-	Pdreanon           int32
-	Pdrevnode          int32
-	Pdrevtext          int32
-	Fpswtch            int32
-	Kmapent            int32
-}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
index 8531a19..2248598 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
@@ -6,11 +6,11 @@
 package unix
 
 const (
-	SizeofPtr      = 0x8
-	SizeofShort    = 0x2
-	SizeofInt      = 0x4
-	SizeofLong     = 0x8
-	SizeofLongLong = 0x8
+	sizeofPtr      = 0x8
+	sizeofShort    = 0x2
+	sizeofInt      = 0x4
+	sizeofLong     = 0x8
+	sizeofLongLong = 0x8
 	PathMax        = 0x400
 	MaxHostNameLen = 0x100
 )
@@ -75,6 +75,23 @@ type Rlimit struct {
 
 type _Gid_t uint32
 
+const (
+	S_IFMT   = 0xf000
+	S_IFIFO  = 0x1000
+	S_IFCHR  = 0x2000
+	S_IFDIR  = 0x4000
+	S_IFBLK  = 0x6000
+	S_IFREG  = 0x8000
+	S_IFLNK  = 0xa000
+	S_IFSOCK = 0xc000
+	S_ISUID  = 0x800
+	S_ISGID  = 0x400
+	S_ISVTX  = 0x200
+	S_IRUSR  = 0x100
+	S_IWUSR  = 0x80
+	S_IXUSR  = 0x40
+)
+
 type Stat_t struct {
 	Dev     uint64
 	Ino     uint64
diff --git a/vendor/golang.org/x/sys/windows/aliases.go b/vendor/golang.org/x/sys/windows/aliases.go
deleted file mode 100644
index af3af60..0000000
--- a/vendor/golang.org/x/sys/windows/aliases.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2018 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.
-
-// +build windows
-// +build go1.9
-
-package windows
-
-import "syscall"
-
-type Errno = syscall.Errno
-type SysProcAttr = syscall.SysProcAttr
diff --git a/vendor/golang.org/x/sys/windows/asm_windows_arm.s b/vendor/golang.org/x/sys/windows/asm_windows_arm.s
deleted file mode 100644
index 55d8b91..0000000
--- a/vendor/golang.org/x/sys/windows/asm_windows_arm.s
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2018 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.
-
-#include "textflag.h"
-
-TEXT ·getprocaddress(SB),NOSPLIT,$0
-	B	syscall·getprocaddress(SB)
-
-TEXT ·loadlibrary(SB),NOSPLIT,$0
-	B	syscall·loadlibrary(SB)
diff --git a/vendor/golang.org/x/sys/windows/service.go b/vendor/golang.org/x/sys/windows/service.go
index 62fc31b..24aa90b 100644
--- a/vendor/golang.org/x/sys/windows/service.go
+++ b/vendor/golang.org/x/sys/windows/service.go
@@ -43,11 +43,6 @@ const (
 
 	SC_STATUS_PROCESS_INFO = 0
 
-	SC_ACTION_NONE        = 0
-	SC_ACTION_RESTART     = 1
-	SC_ACTION_REBOOT      = 2
-	SC_ACTION_RUN_COMMAND = 3
-
 	SERVICE_STOPPED          = 1
 	SERVICE_START_PENDING    = 2
 	SERVICE_STOP_PENDING     = 3
@@ -153,19 +148,6 @@ type ENUM_SERVICE_STATUS_PROCESS struct {
 	ServiceStatusProcess SERVICE_STATUS_PROCESS
 }
 
-type SERVICE_FAILURE_ACTIONS struct {
-	ResetPeriod  uint32
-	RebootMsg    *uint16
-	Command      *uint16
-	ActionsCount uint32
-	Actions      *SC_ACTION
-}
-
-type SC_ACTION struct {
-	Type  uint32
-	Delay uint32
-}
-
 //sys	CloseServiceHandle(handle Handle) (err error) = advapi32.CloseServiceHandle
 //sys	CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) [failretval==0] = advapi32.CreateServiceW
 //sys	OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenServiceW
diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go
index 8a00b71..1e9f4bb 100644
--- a/vendor/golang.org/x/sys/windows/syscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/syscall_windows.go
@@ -112,14 +112,12 @@ func Getpagesize() int { return 4096 }
 
 // NewCallback converts a Go function to a function pointer conforming to the stdcall calling convention.
 // This is useful when interoperating with Windows code requiring callbacks.
-// The argument is expected to be a function with with one uintptr-sized result. The function must not have arguments with size larger than the size of uintptr.
 func NewCallback(fn interface{}) uintptr {
 	return syscall.NewCallback(fn)
 }
 
 // NewCallbackCDecl converts a Go function to a function pointer conforming to the cdecl calling convention.
 // This is useful when interoperating with Windows code requiring callbacks.
-// The argument is expected to be a function with with one uintptr-sized result. The function must not have arguments with size larger than the size of uintptr.
 func NewCallbackCDecl(fn interface{}) uintptr {
 	return syscall.NewCallbackCDecl(fn)
 }
@@ -655,7 +653,7 @@ type RawSockaddr struct {
 
 type RawSockaddrAny struct {
 	Addr RawSockaddr
-	Pad  [100]int8
+	Pad  [96]int8
 }
 
 type Sockaddr interface {
@@ -704,69 +702,19 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, int32, error) {
 	return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil
 }
 
-type RawSockaddrUnix struct {
-	Family uint16
-	Path   [UNIX_PATH_MAX]int8
-}
-
 type SockaddrUnix struct {
 	Name string
-	raw  RawSockaddrUnix
 }
 
 func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, int32, error) {
-	name := sa.Name
-	n := len(name)
-	if n > len(sa.raw.Path) {
-		return nil, 0, syscall.EINVAL
-	}
-	if n == len(sa.raw.Path) && name[0] != '@' {
-		return nil, 0, syscall.EINVAL
-	}
-	sa.raw.Family = AF_UNIX
-	for i := 0; i < n; i++ {
-		sa.raw.Path[i] = int8(name[i])
-	}
-	// length is family (uint16), name, NUL.
-	sl := int32(2)
-	if n > 0 {
-		sl += int32(n) + 1
-	}
-	if sa.raw.Path[0] == '@' {
-		sa.raw.Path[0] = 0
-		// Don't count trailing NUL for abstract address.
-		sl--
-	}
-
-	return unsafe.Pointer(&sa.raw), sl, nil
+	// TODO(brainman): implement SockaddrUnix.sockaddr()
+	return nil, 0, syscall.EWINDOWS
 }
 
 func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) {
 	switch rsa.Addr.Family {
 	case AF_UNIX:
-		pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))
-		sa := new(SockaddrUnix)
-		if pp.Path[0] == 0 {
-			// "Abstract" Unix domain socket.
-			// Rewrite leading NUL as @ for textual display.
-			// (This is the standard convention.)
-			// Not friendly to overwrite in place,
-			// but the callers below don't care.
-			pp.Path[0] = '@'
-		}
-
-		// Assume path ends at NUL.
-		// This is not technically the Linux semantics for
-		// abstract Unix domain sockets--they are supposed
-		// to be uninterpreted fixed-size binary blobs--but
-		// everyone uses this convention.
-		n := 0
-		for n < len(pp.Path) && pp.Path[n] != 0 {
-			n++
-		}
-		bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
-		sa.Name = string(bytes)
-		return sa, nil
+		return nil, syscall.EWINDOWS
 
 	case AF_INET:
 		pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go
index 141ca81..b4e4247 100644
--- a/vendor/golang.org/x/sys/windows/types_windows.go
+++ b/vendor/golang.org/x/sys/windows/types_windows.go
@@ -94,29 +94,16 @@ const (
 	FILE_APPEND_DATA      = 0x00000004
 	FILE_WRITE_ATTRIBUTES = 0x00000100
 
-	FILE_SHARE_READ   = 0x00000001
-	FILE_SHARE_WRITE  = 0x00000002
-	FILE_SHARE_DELETE = 0x00000004
-
-	FILE_ATTRIBUTE_READONLY              = 0x00000001
-	FILE_ATTRIBUTE_HIDDEN                = 0x00000002
-	FILE_ATTRIBUTE_SYSTEM                = 0x00000004
-	FILE_ATTRIBUTE_DIRECTORY             = 0x00000010
-	FILE_ATTRIBUTE_ARCHIVE               = 0x00000020
-	FILE_ATTRIBUTE_DEVICE                = 0x00000040
-	FILE_ATTRIBUTE_NORMAL                = 0x00000080
-	FILE_ATTRIBUTE_TEMPORARY             = 0x00000100
-	FILE_ATTRIBUTE_SPARSE_FILE           = 0x00000200
-	FILE_ATTRIBUTE_REPARSE_POINT         = 0x00000400
-	FILE_ATTRIBUTE_COMPRESSED            = 0x00000800
-	FILE_ATTRIBUTE_OFFLINE               = 0x00001000
-	FILE_ATTRIBUTE_NOT_CONTENT_INDEXED   = 0x00002000
-	FILE_ATTRIBUTE_ENCRYPTED             = 0x00004000
-	FILE_ATTRIBUTE_INTEGRITY_STREAM      = 0x00008000
-	FILE_ATTRIBUTE_VIRTUAL               = 0x00010000
-	FILE_ATTRIBUTE_NO_SCRUB_DATA         = 0x00020000
-	FILE_ATTRIBUTE_RECALL_ON_OPEN        = 0x00040000
-	FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = 0x00400000
+	FILE_SHARE_READ              = 0x00000001
+	FILE_SHARE_WRITE             = 0x00000002
+	FILE_SHARE_DELETE            = 0x00000004
+	FILE_ATTRIBUTE_READONLY      = 0x00000001
+	FILE_ATTRIBUTE_HIDDEN        = 0x00000002
+	FILE_ATTRIBUTE_SYSTEM        = 0x00000004
+	FILE_ATTRIBUTE_DIRECTORY     = 0x00000010
+	FILE_ATTRIBUTE_ARCHIVE       = 0x00000020
+	FILE_ATTRIBUTE_NORMAL        = 0x00000080
+	FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400
 
 	INVALID_FILE_ATTRIBUTES = 0xffffffff
 
@@ -270,87 +257,15 @@ const (
 	USAGE_MATCH_TYPE_AND = 0
 	USAGE_MATCH_TYPE_OR  = 1
 
-	/* msgAndCertEncodingType values for CertOpenStore function */
 	X509_ASN_ENCODING   = 0x00000001
 	PKCS_7_ASN_ENCODING = 0x00010000
 
-	/* storeProvider values for CertOpenStore function */
-	CERT_STORE_PROV_MSG               = 1
-	CERT_STORE_PROV_MEMORY            = 2
-	CERT_STORE_PROV_FILE              = 3
-	CERT_STORE_PROV_REG               = 4
-	CERT_STORE_PROV_PKCS7             = 5
-	CERT_STORE_PROV_SERIALIZED        = 6
-	CERT_STORE_PROV_FILENAME_A        = 7
-	CERT_STORE_PROV_FILENAME_W        = 8
-	CERT_STORE_PROV_FILENAME          = CERT_STORE_PROV_FILENAME_W
-	CERT_STORE_PROV_SYSTEM_A          = 9
-	CERT_STORE_PROV_SYSTEM_W          = 10
-	CERT_STORE_PROV_SYSTEM            = CERT_STORE_PROV_SYSTEM_W
-	CERT_STORE_PROV_COLLECTION        = 11
-	CERT_STORE_PROV_SYSTEM_REGISTRY_A = 12
-	CERT_STORE_PROV_SYSTEM_REGISTRY_W = 13
-	CERT_STORE_PROV_SYSTEM_REGISTRY   = CERT_STORE_PROV_SYSTEM_REGISTRY_W
-	CERT_STORE_PROV_PHYSICAL_W        = 14
-	CERT_STORE_PROV_PHYSICAL          = CERT_STORE_PROV_PHYSICAL_W
-	CERT_STORE_PROV_SMART_CARD_W      = 15
-	CERT_STORE_PROV_SMART_CARD        = CERT_STORE_PROV_SMART_CARD_W
-	CERT_STORE_PROV_LDAP_W            = 16
-	CERT_STORE_PROV_LDAP              = CERT_STORE_PROV_LDAP_W
-	CERT_STORE_PROV_PKCS12            = 17
-
-	/* store characteristics (low WORD of flag) for CertOpenStore function */
-	CERT_STORE_NO_CRYPT_RELEASE_FLAG            = 0x00000001
-	CERT_STORE_SET_LOCALIZED_NAME_FLAG          = 0x00000002
+	CERT_STORE_PROV_MEMORY = 2
+
+	CERT_STORE_ADD_ALWAYS = 4
+
 	CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG = 0x00000004
-	CERT_STORE_DELETE_FLAG                      = 0x00000010
-	CERT_STORE_UNSAFE_PHYSICAL_FLAG             = 0x00000020
-	CERT_STORE_SHARE_STORE_FLAG                 = 0x00000040
-	CERT_STORE_SHARE_CONTEXT_FLAG               = 0x00000080
-	CERT_STORE_MANIFOLD_FLAG                    = 0x00000100
-	CERT_STORE_ENUM_ARCHIVED_FLAG               = 0x00000200
-	CERT_STORE_UPDATE_KEYID_FLAG                = 0x00000400
-	CERT_STORE_BACKUP_RESTORE_FLAG              = 0x00000800
-	CERT_STORE_MAXIMUM_ALLOWED_FLAG             = 0x00001000
-	CERT_STORE_CREATE_NEW_FLAG                  = 0x00002000
-	CERT_STORE_OPEN_EXISTING_FLAG               = 0x00004000
-	CERT_STORE_READONLY_FLAG                    = 0x00008000
-
-	/* store locations (high WORD of flag) for CertOpenStore function */
-	CERT_SYSTEM_STORE_CURRENT_USER               = 0x00010000
-	CERT_SYSTEM_STORE_LOCAL_MACHINE              = 0x00020000
-	CERT_SYSTEM_STORE_CURRENT_SERVICE            = 0x00040000
-	CERT_SYSTEM_STORE_SERVICES                   = 0x00050000
-	CERT_SYSTEM_STORE_USERS                      = 0x00060000
-	CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY  = 0x00070000
-	CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY = 0x00080000
-	CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE   = 0x00090000
-	CERT_SYSTEM_STORE_UNPROTECTED_FLAG           = 0x40000000
-	CERT_SYSTEM_STORE_RELOCATE_FLAG              = 0x80000000
-
-	/* Miscellaneous high-WORD flags for CertOpenStore function */
-	CERT_REGISTRY_STORE_REMOTE_FLAG      = 0x00010000
-	CERT_REGISTRY_STORE_SERIALIZED_FLAG  = 0x00020000
-	CERT_REGISTRY_STORE_ROAMING_FLAG     = 0x00040000
-	CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG = 0x00080000
-	CERT_REGISTRY_STORE_LM_GPT_FLAG      = 0x01000000
-	CERT_REGISTRY_STORE_CLIENT_GPT_FLAG  = 0x80000000
-	CERT_FILE_STORE_COMMIT_ENABLE_FLAG   = 0x00010000
-	CERT_LDAP_STORE_SIGN_FLAG            = 0x00010000
-	CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG  = 0x00020000
-	CERT_LDAP_STORE_OPENED_FLAG          = 0x00040000
-	CERT_LDAP_STORE_UNBIND_FLAG          = 0x00080000
-
-	/* addDisposition values for CertAddCertificateContextToStore function */
-	CERT_STORE_ADD_NEW                                 = 1
-	CERT_STORE_ADD_USE_EXISTING                        = 2
-	CERT_STORE_ADD_REPLACE_EXISTING                    = 3
-	CERT_STORE_ADD_ALWAYS                              = 4
-	CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES = 5
-	CERT_STORE_ADD_NEWER                               = 6
-	CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES            = 7
-
-	/* ErrorStatus values for CertTrustStatus struct */
+
 	CERT_TRUST_NO_ERROR                          = 0x00000000
 	CERT_TRUST_IS_NOT_TIME_VALID                 = 0x00000001
 	CERT_TRUST_IS_REVOKED                        = 0x00000004
@@ -367,31 +282,11 @@ const (
 	CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT   = 0x00002000
 	CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = 0x00004000
 	CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT      = 0x00008000
-	CERT_TRUST_IS_PARTIAL_CHAIN                  = 0x00010000
-	CERT_TRUST_CTL_IS_NOT_TIME_VALID             = 0x00020000
-	CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID        = 0x00040000
-	CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE        = 0x00080000
-	CERT_TRUST_HAS_WEAK_SIGNATURE                = 0x00100000
 	CERT_TRUST_IS_OFFLINE_REVOCATION             = 0x01000000
 	CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY          = 0x02000000
 	CERT_TRUST_IS_EXPLICIT_DISTRUST              = 0x04000000
 	CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT    = 0x08000000
 
-	/* InfoStatus values for CertTrustStatus struct */
-	CERT_TRUST_HAS_EXACT_MATCH_ISSUER        = 0x00000001
-	CERT_TRUST_HAS_KEY_MATCH_ISSUER          = 0x00000002
-	CERT_TRUST_HAS_NAME_MATCH_ISSUER         = 0x00000004
-	CERT_TRUST_IS_SELF_SIGNED                = 0x00000008
-	CERT_TRUST_HAS_PREFERRED_ISSUER          = 0x00000100
-	CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY     = 0x00000400
-	CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS    = 0x00000400
-	CERT_TRUST_IS_PEER_TRUSTED               = 0x00000800
-	CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED     = 0x00001000
-	CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE = 0x00002000
-	CERT_TRUST_IS_CA_TRUSTED                 = 0x00004000
-	CERT_TRUST_IS_COMPLEX_CHAIN              = 0x00010000
-
-	/* policyOID values for CertVerifyCertificateChainPolicy function */
 	CERT_CHAIN_POLICY_BASE              = 1
 	CERT_CHAIN_POLICY_AUTHENTICODE      = 2
 	CERT_CHAIN_POLICY_AUTHENTICODE_TS   = 3
@@ -400,7 +295,6 @@ const (
 	CERT_CHAIN_POLICY_NT_AUTH           = 6
 	CERT_CHAIN_POLICY_MICROSOFT_ROOT    = 7
 	CERT_CHAIN_POLICY_EV                = 8
-	CERT_CHAIN_POLICY_SSL_F12           = 9
 
 	CERT_E_EXPIRED       = 0x800B0101
 	CERT_E_ROLE          = 0x800B0103
@@ -408,16 +302,8 @@ const (
 	CERT_E_UNTRUSTEDROOT = 0x800B0109
 	CERT_E_CN_NO_MATCH   = 0x800B010F
 
-	/* AuthType values for SSLExtraCertChainPolicyPara struct */
 	AUTHTYPE_CLIENT = 1
 	AUTHTYPE_SERVER = 2
-
-	/* Checks values for SSLExtraCertChainPolicyPara struct */
-	SECURITY_FLAG_IGNORE_REVOCATION        = 0x00000080
-	SECURITY_FLAG_IGNORE_UNKNOWN_CA        = 0x00000100
-	SECURITY_FLAG_IGNORE_WRONG_USAGE       = 0x00000200
-	SECURITY_FLAG_IGNORE_CERT_CN_INVALID   = 0x00001000
-	SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = 0x00002000
 )
 
 var (
@@ -1453,7 +1339,7 @@ type SmallRect struct {
 	Bottom int16
 }
 
-// Used with GetConsoleScreenBuffer to retrieve information about a console
+// Used with GetConsoleScreenBuffer to retreive information about a console
 // screen buffer. See
 // https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-info-str
 // for details.
@@ -1465,5 +1351,3 @@ type ConsoleScreenBufferInfo struct {
 	Window            SmallRect
 	MaximumWindowSize Coord
 }
-
-const UNIX_PATH_MAX = 108 // defined in afunix.h
diff --git a/vendor/golang.org/x/sys/windows/types_windows_arm.go b/vendor/golang.org/x/sys/windows/types_windows_arm.go
deleted file mode 100644
index 74571e3..0000000
--- a/vendor/golang.org/x/sys/windows/types_windows_arm.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2018 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 windows
-
-type WSAData struct {
-	Version      uint16
-	HighVersion  uint16
-	Description  [WSADESCRIPTION_LEN + 1]byte
-	SystemStatus [WSASYS_STATUS_LEN + 1]byte
-	MaxSockets   uint16
-	MaxUdpDg     uint16
-	VendorInfo   *byte
-}
-
-type Servent struct {
-	Name    *byte
-	Aliases **byte
-	Port    uint16
-	Proto   *byte
-}
diff --git a/vendor/gopkg.in/yaml.v2/NOTICE b/vendor/gopkg.in/yaml.v2/NOTICE
deleted file mode 100644
index 866d74a..0000000
--- a/vendor/gopkg.in/yaml.v2/NOTICE
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright 2011-2016 Canonical Ltd.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/vendor/gopkg.in/yaml.v2/README.md b/vendor/gopkg.in/yaml.v2/README.md
index b50c6e8..7a512d6 100644
--- a/vendor/gopkg.in/yaml.v2/README.md
+++ b/vendor/gopkg.in/yaml.v2/README.md
@@ -48,6 +48,8 @@ The yaml package is licensed under the Apache License 2.0. Please see the LICENS
 Example
 -------
 
+Some more examples can be found in the "examples" folder.
+
 ```Go
 package main
 
@@ -65,8 +67,6 @@ b:
   d: [3, 4]
 `
 
-// Note: struct fields must be public in order for unmarshal to
-// correctly populate the data.
 type T struct {
         A string
         B struct {
diff --git a/vendor/gopkg.in/yaml.v2/apic.go b/vendor/gopkg.in/yaml.v2/apic.go
index 1f7e87e..95ec014 100644
--- a/vendor/gopkg.in/yaml.v2/apic.go
+++ b/vendor/gopkg.in/yaml.v2/apic.go
@@ -2,6 +2,7 @@ package yaml
 
 import (
 	"io"
+	"os"
 )
 
 func yaml_insert_token(parser *yaml_parser_t, pos int, token *yaml_token_t) {
@@ -47,9 +48,9 @@ func yaml_string_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err
 	return n, nil
 }
 
-// Reader read handler.
-func yaml_reader_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) {
-	return parser.input_reader.Read(buffer)
+// File read handler.
+func yaml_file_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) {
+	return parser.input_file.Read(buffer)
 }
 
 // Set a string input.
@@ -63,12 +64,12 @@ func yaml_parser_set_input_string(parser *yaml_parser_t, input []byte) {
 }
 
 // Set a file input.
-func yaml_parser_set_input_reader(parser *yaml_parser_t, r io.Reader) {
+func yaml_parser_set_input_file(parser *yaml_parser_t, file *os.File) {
 	if parser.read_handler != nil {
 		panic("must set the input source only once")
 	}
-	parser.read_handler = yaml_reader_read_handler
-	parser.input_reader = r
+	parser.read_handler = yaml_file_read_handler
+	parser.input_file = file
 }
 
 // Set the source encoding.
@@ -80,13 +81,14 @@ func yaml_parser_set_encoding(parser *yaml_parser_t, encoding yaml_encoding_t) {
 }
 
 // Create a new emitter object.
-func yaml_emitter_initialize(emitter *yaml_emitter_t) {
+func yaml_emitter_initialize(emitter *yaml_emitter_t) bool {
 	*emitter = yaml_emitter_t{
 		buffer:     make([]byte, output_buffer_size),
 		raw_buffer: make([]byte, 0, output_raw_buffer_size),
 		states:     make([]yaml_emitter_state_t, 0, initial_stack_size),
 		events:     make([]yaml_event_t, 0, initial_queue_size),
 	}
+	return true
 }
 
 // Destroy an emitter object.
@@ -100,10 +102,9 @@ func yaml_string_write_handler(emitter *yaml_emitter_t, buffer []byte) error {
 	return nil
 }
 
-// yaml_writer_write_handler uses emitter.output_writer to write the
-// emitted text.
-func yaml_writer_write_handler(emitter *yaml_emitter_t, buffer []byte) error {
-	_, err := emitter.output_writer.Write(buffer)
+// File write handler.
+func yaml_file_write_handler(emitter *yaml_emitter_t, buffer []byte) error {
+	_, err := emitter.output_file.Write(buffer)
 	return err
 }
 
@@ -117,12 +118,12 @@ func yaml_emitter_set_output_string(emitter *yaml_emitter_t, output_buffer *[]by
 }
 
 // Set a file output.
-func yaml_emitter_set_output_writer(emitter *yaml_emitter_t, w io.Writer) {
+func yaml_emitter_set_output_file(emitter *yaml_emitter_t, file io.Writer) {
 	if emitter.write_handler != nil {
 		panic("must set the output target only once")
 	}
-	emitter.write_handler = yaml_writer_write_handler
-	emitter.output_writer = w
+	emitter.write_handler = yaml_file_write_handler
+	emitter.output_file = file
 }
 
 // Set the output encoding.
@@ -251,41 +252,41 @@ func yaml_emitter_set_break(emitter *yaml_emitter_t, line_break yaml_break_t) {
 //
 
 // Create STREAM-START.
-func yaml_stream_start_event_initialize(event *yaml_event_t, encoding yaml_encoding_t) {
+func yaml_stream_start_event_initialize(event *yaml_event_t, encoding yaml_encoding_t) bool {
 	*event = yaml_event_t{
 		typ:      yaml_STREAM_START_EVENT,
 		encoding: encoding,
 	}
+	return true
 }
 
 // Create STREAM-END.
-func yaml_stream_end_event_initialize(event *yaml_event_t) {
+func yaml_stream_end_event_initialize(event *yaml_event_t) bool {
 	*event = yaml_event_t{
 		typ: yaml_STREAM_END_EVENT,
 	}
+	return true
 }
 
 // Create DOCUMENT-START.
-func yaml_document_start_event_initialize(
-	event *yaml_event_t,
-	version_directive *yaml_version_directive_t,
-	tag_directives []yaml_tag_directive_t,
-	implicit bool,
-) {
+func yaml_document_start_event_initialize(event *yaml_event_t, version_directive *yaml_version_directive_t,
+	tag_directives []yaml_tag_directive_t, implicit bool) bool {
 	*event = yaml_event_t{
 		typ:               yaml_DOCUMENT_START_EVENT,
 		version_directive: version_directive,
 		tag_directives:    tag_directives,
 		implicit:          implicit,
 	}
+	return true
 }
 
 // Create DOCUMENT-END.
-func yaml_document_end_event_initialize(event *yaml_event_t, implicit bool) {
+func yaml_document_end_event_initialize(event *yaml_event_t, implicit bool) bool {
 	*event = yaml_event_t{
 		typ:      yaml_DOCUMENT_END_EVENT,
 		implicit: implicit,
 	}
+	return true
 }
 
 ///*
@@ -347,7 +348,7 @@ func yaml_sequence_end_event_initialize(event *yaml_event_t) bool {
 }
 
 // Create MAPPING-START.
-func yaml_mapping_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_mapping_style_t) {
+func yaml_mapping_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_mapping_style_t) bool {
 	*event = yaml_event_t{
 		typ:      yaml_MAPPING_START_EVENT,
 		anchor:   anchor,
@@ -355,13 +356,15 @@ func yaml_mapping_start_event_initialize(event *yaml_event_t, anchor, tag []byte
 		implicit: implicit,
 		style:    yaml_style_t(style),
 	}
+	return true
 }
 
 // Create MAPPING-END.
-func yaml_mapping_end_event_initialize(event *yaml_event_t) {
+func yaml_mapping_end_event_initialize(event *yaml_event_t) bool {
 	*event = yaml_event_t{
 		typ: yaml_MAPPING_END_EVENT,
 	}
+	return true
 }
 
 // Destroy an event object.
@@ -468,7 +471,7 @@ func yaml_event_delete(event *yaml_event_t) {
 //    } context
 //    tag_directive *yaml_tag_directive_t
 //
-//    context.error = YAML_NO_ERROR // Eliminate a compiler warning.
+//    context.error = YAML_NO_ERROR // Eliminate a compliler warning.
 //
 //    assert(document) // Non-NULL document object is expected.
 //
diff --git a/vendor/gopkg.in/yaml.v2/decode.go b/vendor/gopkg.in/yaml.v2/decode.go
index e4e56e2..db1f5f2 100644
--- a/vendor/gopkg.in/yaml.v2/decode.go
+++ b/vendor/gopkg.in/yaml.v2/decode.go
@@ -4,7 +4,6 @@ import (
 	"encoding"
 	"encoding/base64"
 	"fmt"
-	"io"
 	"math"
 	"reflect"
 	"strconv"
@@ -23,22 +22,19 @@ type node struct {
 	kind         int
 	line, column int
 	tag          string
-	// For an alias node, alias holds the resolved alias.
-	alias    *node
-	value    string
-	implicit bool
-	children []*node
-	anchors  map[string]*node
+	value        string
+	implicit     bool
+	children     []*node
+	anchors      map[string]*node
 }
 
 // ----------------------------------------------------------------------------
 // Parser, produces a node tree out of a libyaml event stream.
 
 type parser struct {
-	parser   yaml_parser_t
-	event    yaml_event_t
-	doc      *node
-	doneInit bool
+	parser yaml_parser_t
+	event  yaml_event_t
+	doc    *node
 }
 
 func newParser(b []byte) *parser {
@@ -46,30 +42,21 @@ func newParser(b []byte) *parser {
 	if !yaml_parser_initialize(&p.parser) {
 		panic("failed to initialize YAML emitter")
 	}
+
 	if len(b) == 0 {
 		b = []byte{'\n'}
 	}
+
 	yaml_parser_set_input_string(&p.parser, b)
-	return &p
-}
 
-func newParserFromReader(r io.Reader) *parser {
-	p := parser{}
-	if !yaml_parser_initialize(&p.parser) {
-		panic("failed to initialize YAML emitter")
+	p.skip()
+	if p.event.typ != yaml_STREAM_START_EVENT {
+		panic("expected stream start event, got " + strconv.Itoa(int(p.event.typ)))
 	}
-	yaml_parser_set_input_reader(&p.parser, r)
+	p.skip()
 	return &p
 }
 
-func (p *parser) init() {
-	if p.doneInit {
-		return
-	}
-	p.expect(yaml_STREAM_START_EVENT)
-	p.doneInit = true
-}
-
 func (p *parser) destroy() {
 	if p.event.typ != yaml_NO_EVENT {
 		yaml_event_delete(&p.event)
@@ -77,35 +64,16 @@ func (p *parser) destroy() {
 	yaml_parser_delete(&p.parser)
 }
 
-// expect consumes an event from the event stream and
-// checks that it's of the expected type.
-func (p *parser) expect(e yaml_event_type_t) {
-	if p.event.typ == yaml_NO_EVENT {
-		if !yaml_parser_parse(&p.parser, &p.event) {
-			p.fail()
-		}
-	}
-	if p.event.typ == yaml_STREAM_END_EVENT {
-		failf("attempted to go past the end of stream; corrupted value?")
-	}
-	if p.event.typ != e {
-		p.parser.problem = fmt.Sprintf("expected %s event but got %s", e, p.event.typ)
-		p.fail()
-	}
-	yaml_event_delete(&p.event)
-	p.event.typ = yaml_NO_EVENT
-}
-
-// peek peeks at the next event in the event stream,
-// puts the results into p.event and returns the event type.
-func (p *parser) peek() yaml_event_type_t {
+func (p *parser) skip() {
 	if p.event.typ != yaml_NO_EVENT {
-		return p.event.typ
+		if p.event.typ == yaml_STREAM_END_EVENT {
+			failf("attempted to go past the end of stream; corrupted value?")
+		}
+		yaml_event_delete(&p.event)
 	}
 	if !yaml_parser_parse(&p.parser, &p.event) {
 		p.fail()
 	}
-	return p.event.typ
 }
 
 func (p *parser) fail() {
@@ -113,10 +81,6 @@ func (p *parser) fail() {
 	var line int
 	if p.parser.problem_mark.line != 0 {
 		line = p.parser.problem_mark.line
-		// Scanner errors don't iterate line before returning error
-		if p.parser.error == yaml_SCANNER_ERROR {
-			line++
-		}
 	} else if p.parser.context_mark.line != 0 {
 		line = p.parser.context_mark.line
 	}
@@ -139,8 +103,7 @@ func (p *parser) anchor(n *node, anchor []byte) {
 }
 
 func (p *parser) parse() *node {
-	p.init()
-	switch p.peek() {
+	switch p.event.typ {
 	case yaml_SCALAR_EVENT:
 		return p.scalar()
 	case yaml_ALIAS_EVENT:
@@ -155,7 +118,7 @@ func (p *parser) parse() *node {
 		// Happens when attempting to decode an empty buffer.
 		return nil
 	default:
-		panic("attempted to parse unknown event: " + p.event.typ.String())
+		panic("attempted to parse unknown event: " + strconv.Itoa(int(p.event.typ)))
 	}
 }
 
@@ -171,20 +134,19 @@ func (p *parser) document() *node {
 	n := p.node(documentNode)
 	n.anchors = make(map[string]*node)
 	p.doc = n
-	p.expect(yaml_DOCUMENT_START_EVENT)
+	p.skip()
 	n.children = append(n.children, p.parse())
-	p.expect(yaml_DOCUMENT_END_EVENT)
+	if p.event.typ != yaml_DOCUMENT_END_EVENT {
+		panic("expected end of document event but got " + strconv.Itoa(int(p.event.typ)))
+	}
+	p.skip()
 	return n
 }
 
 func (p *parser) alias() *node {
 	n := p.node(aliasNode)
 	n.value = string(p.event.anchor)
-	n.alias = p.doc.anchors[n.value]
-	if n.alias == nil {
-		failf("unknown anchor '%s' referenced", n.value)
-	}
-	p.expect(yaml_ALIAS_EVENT)
+	p.skip()
 	return n
 }
 
@@ -194,29 +156,29 @@ func (p *parser) scalar() *node {
 	n.tag = string(p.event.tag)
 	n.implicit = p.event.implicit
 	p.anchor(n, p.event.anchor)
-	p.expect(yaml_SCALAR_EVENT)
+	p.skip()
 	return n
 }
 
 func (p *parser) sequence() *node {
 	n := p.node(sequenceNode)
 	p.anchor(n, p.event.anchor)
-	p.expect(yaml_SEQUENCE_START_EVENT)
-	for p.peek() != yaml_SEQUENCE_END_EVENT {
+	p.skip()
+	for p.event.typ != yaml_SEQUENCE_END_EVENT {
 		n.children = append(n.children, p.parse())
 	}
-	p.expect(yaml_SEQUENCE_END_EVENT)
+	p.skip()
 	return n
 }
 
 func (p *parser) mapping() *node {
 	n := p.node(mappingNode)
 	p.anchor(n, p.event.anchor)
-	p.expect(yaml_MAPPING_START_EVENT)
-	for p.peek() != yaml_MAPPING_END_EVENT {
+	p.skip()
+	for p.event.typ != yaml_MAPPING_END_EVENT {
 		n.children = append(n.children, p.parse(), p.parse())
 	}
-	p.expect(yaml_MAPPING_END_EVENT)
+	p.skip()
 	return n
 }
 
@@ -225,7 +187,7 @@ func (p *parser) mapping() *node {
 
 type decoder struct {
 	doc     *node
-	aliases map[*node]bool
+	aliases map[string]bool
 	mapType reflect.Type
 	terrors []string
 	strict  bool
@@ -236,13 +198,11 @@ var (
 	durationType   = reflect.TypeOf(time.Duration(0))
 	defaultMapType = reflect.TypeOf(map[interface{}]interface{}{})
 	ifaceType      = defaultMapType.Elem()
-	timeType       = reflect.TypeOf(time.Time{})
-	ptrTimeType    = reflect.TypeOf(&time.Time{})
 )
 
 func newDecoder(strict bool) *decoder {
 	d := &decoder{mapType: defaultMapType, strict: strict}
-	d.aliases = make(map[*node]bool)
+	d.aliases = make(map[string]bool)
 	return d
 }
 
@@ -291,7 +251,7 @@ func (d *decoder) callUnmarshaler(n *node, u Unmarshaler) (good bool) {
 //
 // If n holds a null value, prepare returns before doing anything.
 func (d *decoder) prepare(n *node, out reflect.Value) (newout reflect.Value, unmarshaled, good bool) {
-	if n.tag == yaml_NULL_TAG || n.kind == scalarNode && n.tag == "" && (n.value == "null" || n.value == "~" || n.value == "" && n.implicit) {
+	if n.tag == yaml_NULL_TAG || n.kind == scalarNode && n.tag == "" && (n.value == "null" || n.value == "" && n.implicit) {
 		return out, false, false
 	}
 	again := true
@@ -348,13 +308,16 @@ func (d *decoder) document(n *node, out reflect.Value) (good bool) {
 }
 
 func (d *decoder) alias(n *node, out reflect.Value) (good bool) {
-	if d.aliases[n] {
-		// TODO this could actually be allowed in some circumstances.
+	an, ok := d.doc.anchors[n.value]
+	if !ok {
+		failf("unknown anchor '%s' referenced", n.value)
+	}
+	if d.aliases[n.value] {
 		failf("anchor '%s' value contains itself", n.value)
 	}
-	d.aliases[n] = true
-	good = d.unmarshal(n.alias, out)
-	delete(d.aliases, n)
+	d.aliases[n.value] = true
+	good = d.unmarshal(an, out)
+	delete(d.aliases, n.value)
 	return good
 }
 
@@ -366,7 +329,7 @@ func resetMap(out reflect.Value) {
 	}
 }
 
-func (d *decoder) scalar(n *node, out reflect.Value) bool {
+func (d *decoder) scalar(n *node, out reflect.Value) (good bool) {
 	var tag string
 	var resolved interface{}
 	if n.tag == "" && !n.implicit {
@@ -390,26 +353,9 @@ func (d *decoder) scalar(n *node, out reflect.Value) bool {
 		}
 		return true
 	}
-	if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() {
-		// We've resolved to exactly the type we want, so use that.
-		out.Set(resolvedv)
-		return true
-	}
-	// Perhaps we can use the value as a TextUnmarshaler to
-	// set its value.
-	if out.CanAddr() {
-		u, ok := out.Addr().Interface().(encoding.TextUnmarshaler)
-		if ok {
-			var text []byte
-			if tag == yaml_BINARY_TAG {
-				text = []byte(resolved.(string))
-			} else {
-				// We let any value be unmarshaled into TextUnmarshaler.
-				// That might be more lax than we'd like, but the
-				// TextUnmarshaler itself should bowl out any dubious values.
-				text = []byte(n.value)
-			}
-			err := u.UnmarshalText(text)
+	if s, ok := resolved.(string); ok && out.CanAddr() {
+		if u, ok := out.Addr().Interface().(encoding.TextUnmarshaler); ok {
+			err := u.UnmarshalText([]byte(s))
 			if err != nil {
 				fail(err)
 			}
@@ -420,54 +366,46 @@ func (d *decoder) scalar(n *node, out reflect.Value) bool {
 	case reflect.String:
 		if tag == yaml_BINARY_TAG {
 			out.SetString(resolved.(string))
-			return true
-		}
-		if resolved != nil {
+			good = true
+		} else if resolved != nil {
 			out.SetString(n.value)
-			return true
+			good = true
 		}
 	case reflect.Interface:
 		if resolved == nil {
 			out.Set(reflect.Zero(out.Type()))
-		} else if tag == yaml_TIMESTAMP_TAG {
-			// It looks like a timestamp but for backward compatibility
-			// reasons we set it as a string, so that code that unmarshals
-			// timestamp-like values into interface{} will continue to
-			// see a string and not a time.Time.
-			// TODO(v3) Drop this.
-			out.Set(reflect.ValueOf(n.value))
 		} else {
 			out.Set(reflect.ValueOf(resolved))
 		}
-		return true
+		good = true
 	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
 		switch resolved := resolved.(type) {
 		case int:
 			if !out.OverflowInt(int64(resolved)) {
 				out.SetInt(int64(resolved))
-				return true
+				good = true
 			}
 		case int64:
 			if !out.OverflowInt(resolved) {
 				out.SetInt(resolved)
-				return true
+				good = true
 			}
 		case uint64:
 			if resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) {
 				out.SetInt(int64(resolved))
-				return true
+				good = true
 			}
 		case float64:
 			if resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) {
 				out.SetInt(int64(resolved))
-				return true
+				good = true
 			}
 		case string:
 			if out.Type() == durationType {
 				d, err := time.ParseDuration(resolved)
 				if err == nil {
 					out.SetInt(int64(d))
-					return true
+					good = true
 				}
 			}
 		}
@@ -476,49 +414,44 @@ func (d *decoder) scalar(n *node, out reflect.Value) bool {
 		case int:
 			if resolved >= 0 && !out.OverflowUint(uint64(resolved)) {
 				out.SetUint(uint64(resolved))
-				return true
+				good = true
 			}
 		case int64:
 			if resolved >= 0 && !out.OverflowUint(uint64(resolved)) {
 				out.SetUint(uint64(resolved))
-				return true
+				good = true
 			}
 		case uint64:
 			if !out.OverflowUint(uint64(resolved)) {
 				out.SetUint(uint64(resolved))
-				return true
+				good = true
 			}
 		case float64:
 			if resolved <= math.MaxUint64 && !out.OverflowUint(uint64(resolved)) {
 				out.SetUint(uint64(resolved))
-				return true
+				good = true
 			}
 		}
 	case reflect.Bool:
 		switch resolved := resolved.(type) {
 		case bool:
 			out.SetBool(resolved)
-			return true
+			good = true
 		}
 	case reflect.Float32, reflect.Float64:
 		switch resolved := resolved.(type) {
 		case int:
 			out.SetFloat(float64(resolved))
-			return true
+			good = true
 		case int64:
 			out.SetFloat(float64(resolved))
-			return true
+			good = true
 		case uint64:
 			out.SetFloat(float64(resolved))
-			return true
+			good = true
 		case float64:
 			out.SetFloat(resolved)
-			return true
-		}
-	case reflect.Struct:
-		if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() {
-			out.Set(resolvedv)
-			return true
+			good = true
 		}
 	case reflect.Ptr:
 		if out.Type().Elem() == reflect.TypeOf(resolved) {
@@ -526,11 +459,13 @@ func (d *decoder) scalar(n *node, out reflect.Value) bool {
 			elem := reflect.New(out.Type().Elem())
 			elem.Elem().Set(reflect.ValueOf(resolved))
 			out.Set(elem)
-			return true
+			good = true
 		}
 	}
-	d.terror(n, tag, out)
-	return false
+	if !good {
+		d.terror(n, tag, out)
+	}
+	return good
 }
 
 func settableValueOf(i interface{}) reflect.Value {
@@ -547,10 +482,6 @@ func (d *decoder) sequence(n *node, out reflect.Value) (good bool) {
 	switch out.Kind() {
 	case reflect.Slice:
 		out.Set(reflect.MakeSlice(out.Type(), l, l))
-	case reflect.Array:
-		if l != out.Len() {
-			failf("invalid array: want %d elements but got %d", out.Len(), l)
-		}
 	case reflect.Interface:
 		// No type hints. Will have to use a generic sequence.
 		iface = out
@@ -569,9 +500,7 @@ func (d *decoder) sequence(n *node, out reflect.Value) (good bool) {
 			j++
 		}
 	}
-	if out.Kind() != reflect.Array {
-		out.Set(out.Slice(0, j))
-	}
+	out.Set(out.Slice(0, j))
 	if iface.IsValid() {
 		iface.Set(out)
 	}
@@ -632,7 +561,7 @@ func (d *decoder) mapping(n *node, out reflect.Value) (good bool) {
 			}
 			e := reflect.New(et).Elem()
 			if d.unmarshal(n.children[i+1], e) {
-				d.setMapIndex(n.children[i+1], out, k, e)
+				out.SetMapIndex(k, e)
 			}
 		}
 	}
@@ -640,14 +569,6 @@ func (d *decoder) mapping(n *node, out reflect.Value) (good bool) {
 	return true
 }
 
-func (d *decoder) setMapIndex(n *node, out, k, v reflect.Value) {
-	if d.strict && out.MapIndex(k) != zeroValue {
-		d.terrors = append(d.terrors, fmt.Sprintf("line %d: key %#v already set in map", n.line+1, k.Interface()))
-		return
-	}
-	out.SetMapIndex(k, v)
-}
-
 func (d *decoder) mappingSlice(n *node, out reflect.Value) (good bool) {
 	outt := out.Type()
 	if outt.Elem() != mapItemType {
@@ -695,10 +616,6 @@ func (d *decoder) mappingStruct(n *node, out reflect.Value) (good bool) {
 		elemType = inlineMap.Type().Elem()
 	}
 
-	var doneFields []bool
-	if d.strict {
-		doneFields = make([]bool, len(sinfo.FieldsList))
-	}
 	for i := 0; i < l; i += 2 {
 		ni := n.children[i]
 		if isMerge(ni) {
@@ -709,13 +626,6 @@ func (d *decoder) mappingStruct(n *node, out reflect.Value) (good bool) {
 			continue
 		}
 		if info, ok := sinfo.FieldsMap[name.String()]; ok {
-			if d.strict {
-				if doneFields[info.Id] {
-					d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s already set in type %s", ni.line+1, name.String(), out.Type()))
-					continue
-				}
-				doneFields[info.Id] = true
-			}
 			var field reflect.Value
 			if info.Inline == nil {
 				field = out.Field(info.Num)
@@ -729,9 +639,9 @@ func (d *decoder) mappingStruct(n *node, out reflect.Value) (good bool) {
 			}
 			value := reflect.New(elemType).Elem()
 			d.unmarshal(n.children[i+1], value)
-			d.setMapIndex(n.children[i+1], inlineMap, name, value)
+			inlineMap.SetMapIndex(name, value)
 		} else if d.strict {
-			d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s not found in type %s", ni.line+1, name.String(), out.Type()))
+			d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s not found in struct %s", n.line+1, name.String(), out.Type()))
 		}
 	}
 	return true
diff --git a/vendor/gopkg.in/yaml.v2/emitterc.go b/vendor/gopkg.in/yaml.v2/emitterc.go
index a1c2cc5..41de8b8 100644
--- a/vendor/gopkg.in/yaml.v2/emitterc.go
+++ b/vendor/gopkg.in/yaml.v2/emitterc.go
@@ -2,7 +2,6 @@ package yaml
 
 import (
 	"bytes"
-	"fmt"
 )
 
 // Flush the buffer if needed.
@@ -665,7 +664,7 @@ func yaml_emitter_emit_node(emitter *yaml_emitter_t, event *yaml_event_t,
 		return yaml_emitter_emit_mapping_start(emitter, event)
 	default:
 		return yaml_emitter_set_emitter_error(emitter,
-			fmt.Sprintf("expected SCALAR, SEQUENCE-START, MAPPING-START, or ALIAS, but got %v", event.typ))
+			"expected SCALAR, SEQUENCE-START, MAPPING-START, or ALIAS")
 	}
 }
 
@@ -843,7 +842,7 @@ func yaml_emitter_select_scalar_style(emitter *yaml_emitter_t, event *yaml_event
 	return true
 }
 
-// Write an anchor.
+// Write an achor.
 func yaml_emitter_process_anchor(emitter *yaml_emitter_t) bool {
 	if emitter.anchor_data.anchor == nil {
 		return true
@@ -996,9 +995,9 @@ func yaml_emitter_analyze_scalar(emitter *yaml_emitter_t, value []byte) bool {
 		space_break    = false
 
 		preceded_by_whitespace = false
-		followed_by_whitespace = false
-		previous_space         = false
-		previous_break         = false
+		followed_by_whitespace  = false
+		previous_space          = false
+		previous_break          = false
 	)
 
 	emitter.scalar_data.value = value
diff --git a/vendor/gopkg.in/yaml.v2/encode.go b/vendor/gopkg.in/yaml.v2/encode.go
index a14435e..84f8499 100644
--- a/vendor/gopkg.in/yaml.v2/encode.go
+++ b/vendor/gopkg.in/yaml.v2/encode.go
@@ -3,14 +3,12 @@ package yaml
 import (
 	"encoding"
 	"fmt"
-	"io"
 	"reflect"
 	"regexp"
 	"sort"
 	"strconv"
 	"strings"
 	"time"
-	"unicode/utf8"
 )
 
 type encoder struct {
@@ -18,39 +16,25 @@ type encoder struct {
 	event   yaml_event_t
 	out     []byte
 	flow    bool
-	// doneInit holds whether the initial stream_start_event has been
-	// emitted.
-	doneInit bool
 }
 
-func newEncoder() *encoder {
-	e := &encoder{}
-	yaml_emitter_initialize(&e.emitter)
+func newEncoder() (e *encoder) {
+	e = &encoder{}
+	e.must(yaml_emitter_initialize(&e.emitter))
 	yaml_emitter_set_output_string(&e.emitter, &e.out)
 	yaml_emitter_set_unicode(&e.emitter, true)
-	return e
-}
-
-func newEncoderWithWriter(w io.Writer) *encoder {
-	e := &encoder{}
-	yaml_emitter_initialize(&e.emitter)
-	yaml_emitter_set_output_writer(&e.emitter, w)
-	yaml_emitter_set_unicode(&e.emitter, true)
-	return e
-}
-
-func (e *encoder) init() {
-	if e.doneInit {
-		return
-	}
-	yaml_stream_start_event_initialize(&e.event, yaml_UTF8_ENCODING)
+	e.must(yaml_stream_start_event_initialize(&e.event, yaml_UTF8_ENCODING))
+	e.emit()
+	e.must(yaml_document_start_event_initialize(&e.event, nil, nil, true))
 	e.emit()
-	e.doneInit = true
+	return e
 }
 
 func (e *encoder) finish() {
+	e.must(yaml_document_end_event_initialize(&e.event, true))
+	e.emit()
 	e.emitter.open_ended = false
-	yaml_stream_end_event_initialize(&e.event)
+	e.must(yaml_stream_end_event_initialize(&e.event))
 	e.emit()
 }
 
@@ -60,7 +44,9 @@ func (e *encoder) destroy() {
 
 func (e *encoder) emit() {
 	// This will internally delete the e.event value.
-	e.must(yaml_emitter_emit(&e.emitter, &e.event))
+	if !yaml_emitter_emit(&e.emitter, &e.event) && e.event.typ != yaml_DOCUMENT_END_EVENT && e.event.typ != yaml_STREAM_END_EVENT {
+		e.must(false)
+	}
 }
 
 func (e *encoder) must(ok bool) {
@@ -73,28 +59,13 @@ func (e *encoder) must(ok bool) {
 	}
 }
 
-func (e *encoder) marshalDoc(tag string, in reflect.Value) {
-	e.init()
-	yaml_document_start_event_initialize(&e.event, nil, nil, true)
-	e.emit()
-	e.marshal(tag, in)
-	yaml_document_end_event_initialize(&e.event, true)
-	e.emit()
-}
-
 func (e *encoder) marshal(tag string, in reflect.Value) {
-	if !in.IsValid() || in.Kind() == reflect.Ptr && in.IsNil() {
+	if !in.IsValid() {
 		e.nilv()
 		return
 	}
 	iface := in.Interface()
-	switch m := iface.(type) {
-	case time.Time, *time.Time:
-		// Although time.Time implements TextMarshaler,
-		// we don't want to treat it as a string for YAML
-		// purposes because YAML has special support for
-		// timestamps.
-	case Marshaler:
+	if m, ok := iface.(Marshaler); ok {
 		v, err := m.MarshalYAML()
 		if err != nil {
 			fail(err)
@@ -104,34 +75,31 @@ func (e *encoder) marshal(tag string, in reflect.Value) {
 			return
 		}
 		in = reflect.ValueOf(v)
-	case encoding.TextMarshaler:
+	} else if m, ok := iface.(encoding.TextMarshaler); ok {
 		text, err := m.MarshalText()
 		if err != nil {
 			fail(err)
 		}
 		in = reflect.ValueOf(string(text))
-	case nil:
-		e.nilv()
-		return
 	}
 	switch in.Kind() {
 	case reflect.Interface:
-		e.marshal(tag, in.Elem())
+		if in.IsNil() {
+			e.nilv()
+		} else {
+			e.marshal(tag, in.Elem())
+		}
 	case reflect.Map:
 		e.mapv(tag, in)
 	case reflect.Ptr:
-		if in.Type() == ptrTimeType {
-			e.timev(tag, in.Elem())
+		if in.IsNil() {
+			e.nilv()
 		} else {
 			e.marshal(tag, in.Elem())
 		}
 	case reflect.Struct:
-		if in.Type() == timeType {
-			e.timev(tag, in)
-		} else {
-			e.structv(tag, in)
-		}
-	case reflect.Slice, reflect.Array:
+		e.structv(tag, in)
+	case reflect.Slice:
 		if in.Type().Elem() == mapItemType {
 			e.itemsv(tag, in)
 		} else {
@@ -223,10 +191,10 @@ func (e *encoder) mappingv(tag string, f func()) {
 		e.flow = false
 		style = yaml_FLOW_MAPPING_STYLE
 	}
-	yaml_mapping_start_event_initialize(&e.event, nil, []byte(tag), implicit, style)
+	e.must(yaml_mapping_start_event_initialize(&e.event, nil, []byte(tag), implicit, style))
 	e.emit()
 	f()
-	yaml_mapping_end_event_initialize(&e.event)
+	e.must(yaml_mapping_end_event_initialize(&e.event))
 	e.emit()
 }
 
@@ -272,36 +240,23 @@ var base60float = regexp.MustCompile(`^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+(?:\.[0
 func (e *encoder) stringv(tag string, in reflect.Value) {
 	var style yaml_scalar_style_t
 	s := in.String()
-	canUsePlain := true
-	switch {
-	case !utf8.ValidString(s):
-		if tag == yaml_BINARY_TAG {
+	rtag, rs := resolve("", s)
+	if rtag == yaml_BINARY_TAG {
+		if tag == "" || tag == yaml_STR_TAG {
+			tag = rtag
+			s = rs.(string)
+		} else if tag == yaml_BINARY_TAG {
 			failf("explicitly tagged !!binary data must be base64-encoded")
-		}
-		if tag != "" {
+		} else {
 			failf("cannot marshal invalid UTF-8 data as %s", shortTag(tag))
 		}
-		// It can't be encoded directly as YAML so use a binary tag
-		// and encode it as base64.
-		tag = yaml_BINARY_TAG
-		s = encodeBase64(s)
-	case tag == "":
-		// Check to see if it would resolve to a specific
-		// tag when encoded unquoted. If it doesn't,
-		// there's no need to quote it.
-		rtag, _ := resolve("", s)
-		canUsePlain = rtag == yaml_STR_TAG && !isBase60Float(s)
 	}
-	// Note: it's possible for user code to emit invalid YAML
-	// if they explicitly specify a tag and a string containing
-	// text that's incompatible with that tag.
-	switch {
-	case strings.Contains(s, "\n"):
+	if tag == "" && (rtag != yaml_STR_TAG || isBase60Float(s)) {
+		style = yaml_DOUBLE_QUOTED_SCALAR_STYLE
+	} else if strings.Contains(s, "\n") {
 		style = yaml_LITERAL_SCALAR_STYLE
-	case canUsePlain:
+	} else {
 		style = yaml_PLAIN_SCALAR_STYLE
-	default:
-		style = yaml_DOUBLE_QUOTED_SCALAR_STYLE
 	}
 	e.emitScalar(s, "", tag, style)
 }
@@ -326,20 +281,9 @@ func (e *encoder) uintv(tag string, in reflect.Value) {
 	e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE)
 }
 
-func (e *encoder) timev(tag string, in reflect.Value) {
-	t := in.Interface().(time.Time)
-	s := t.Format(time.RFC3339Nano)
-	e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE)
-}
-
 func (e *encoder) floatv(tag string, in reflect.Value) {
-	// Issue #352: When formatting, use the precision of the underlying value
-	precision := 64
-	if in.Kind() == reflect.Float32 {
-		precision = 32
-	}
-
-	s := strconv.FormatFloat(in.Float(), 'g', -1, precision)
+	// FIXME: Handle 64 bits here.
+	s := strconv.FormatFloat(float64(in.Float()), 'g', -1, 32)
 	switch s {
 	case "+Inf":
 		s = ".inf"
diff --git a/vendor/gopkg.in/yaml.v2/go.mod b/vendor/gopkg.in/yaml.v2/go.mod
deleted file mode 100644
index 1934e87..0000000
--- a/vendor/gopkg.in/yaml.v2/go.mod
+++ /dev/null
@@ -1,5 +0,0 @@
-module "gopkg.in/yaml.v2"
-
-require (
-	"gopkg.in/check.v1" v0.0.0-20161208181325-20d25e280405
-)
diff --git a/vendor/gopkg.in/yaml.v2/readerc.go b/vendor/gopkg.in/yaml.v2/readerc.go
index 7c1f5fa..f450791 100644
--- a/vendor/gopkg.in/yaml.v2/readerc.go
+++ b/vendor/gopkg.in/yaml.v2/readerc.go
@@ -93,18 +93,9 @@ func yaml_parser_update_buffer(parser *yaml_parser_t, length int) bool {
 		panic("read handler must be set")
 	}
 
-	// [Go] This function was changed to guarantee the requested length size at EOF.
-	// The fact we need to do this is pretty awful, but the description above implies
-	// for that to be the case, and there are tests 
-
 	// If the EOF flag is set and the raw buffer is empty, do nothing.
 	if parser.eof && parser.raw_buffer_pos == len(parser.raw_buffer) {
-		// [Go] ACTUALLY! Read the documentation of this function above.
-		// This is just broken. To return true, we need to have the
-		// given length in the buffer. Not doing that means every single
-		// check that calls this function to make sure the buffer has a
-		// given length is Go) panicking; or C) accessing invalid memory.
-		//return true
+		return true
 	}
 
 	// Return if the buffer contains enough characters.
@@ -398,15 +389,6 @@ func yaml_parser_update_buffer(parser *yaml_parser_t, length int) bool {
 			break
 		}
 	}
-	// [Go] Read the documentation of this function above. To return true,
-	// we need to have the given length in the buffer. Not doing that means
-	// every single check that calls this function to make sure the buffer
-	// has a given length is Go) panicking; or C) accessing invalid memory.
-	// This happens here due to the EOF above breaking early.
-	for buffer_len < length {
-		parser.buffer[buffer_len] = 0
-		buffer_len++
-	}
 	parser.buffer = parser.buffer[:buffer_len]
 	return true
 }
diff --git a/vendor/gopkg.in/yaml.v2/resolve.go b/vendor/gopkg.in/yaml.v2/resolve.go
index 6c151db..232313c 100644
--- a/vendor/gopkg.in/yaml.v2/resolve.go
+++ b/vendor/gopkg.in/yaml.v2/resolve.go
@@ -6,7 +6,7 @@ import (
 	"regexp"
 	"strconv"
 	"strings"
-	"time"
+	"unicode/utf8"
 )
 
 type resolveMapItem struct {
@@ -75,7 +75,7 @@ func longTag(tag string) string {
 
 func resolvableTag(tag string) bool {
 	switch tag {
-	case "", yaml_STR_TAG, yaml_BOOL_TAG, yaml_INT_TAG, yaml_FLOAT_TAG, yaml_NULL_TAG, yaml_TIMESTAMP_TAG:
+	case "", yaml_STR_TAG, yaml_BOOL_TAG, yaml_INT_TAG, yaml_FLOAT_TAG, yaml_NULL_TAG:
 		return true
 	}
 	return false
@@ -92,19 +92,6 @@ func resolve(tag string, in string) (rtag string, out interface{}) {
 		switch tag {
 		case "", rtag, yaml_STR_TAG, yaml_BINARY_TAG:
 			return
-		case yaml_FLOAT_TAG:
-			if rtag == yaml_INT_TAG {
-				switch v := out.(type) {
-				case int64:
-					rtag = yaml_FLOAT_TAG
-					out = float64(v)
-					return
-				case int:
-					rtag = yaml_FLOAT_TAG
-					out = float64(v)
-					return
-				}
-			}
 		}
 		failf("cannot decode %s `%s` as a %s", shortTag(rtag), in, shortTag(tag))
 	}()
@@ -138,15 +125,6 @@ func resolve(tag string, in string) (rtag string, out interface{}) {
 
 		case 'D', 'S':
 			// Int, float, or timestamp.
-			// Only try values as a timestamp if the value is unquoted or there's an explicit
-			// !!timestamp tag.
-			if tag == "" || tag == yaml_TIMESTAMP_TAG {
-				t, ok := parseTimestamp(in)
-				if ok {
-					return yaml_TIMESTAMP_TAG, t
-				}
-			}
-
 			plain := strings.Replace(in, "_", "", -1)
 			intv, err := strconv.ParseInt(plain, 0, 64)
 			if err == nil {
@@ -180,20 +158,28 @@ func resolve(tag string, in string) (rtag string, out interface{}) {
 					return yaml_INT_TAG, uintv
 				}
 			} else if strings.HasPrefix(plain, "-0b") {
-				intv, err := strconv.ParseInt("-" + plain[3:], 2, 64)
+				intv, err := strconv.ParseInt(plain[3:], 2, 64)
 				if err == nil {
-					if true || intv == int64(int(intv)) {
-						return yaml_INT_TAG, int(intv)
+					if intv == int64(int(intv)) {
+						return yaml_INT_TAG, -int(intv)
 					} else {
-						return yaml_INT_TAG, intv
+						return yaml_INT_TAG, -intv
 					}
 				}
 			}
+			// XXX Handle timestamps here.
+
 		default:
 			panic("resolveTable item not yet handled: " + string(rune(hint)) + " (with " + in + ")")
 		}
 	}
-	return yaml_STR_TAG, in
+	if tag == yaml_BINARY_TAG {
+		return yaml_BINARY_TAG, in
+	}
+	if utf8.ValidString(in) {
+		return yaml_STR_TAG, in
+	}
+	return yaml_BINARY_TAG, encodeBase64(in)
 }
 
 // encodeBase64 encodes s as base64 that is broken up into multiple lines
@@ -220,39 +206,3 @@ func encodeBase64(s string) string {
 	}
 	return string(out[:k])
 }
-
-// This is a subset of the formats allowed by the regular expression
-// defined at http://yaml.org/type/timestamp.html.
-var allowedTimestampFormats = []string{
-	"2006-1-2T15:4:5.999999999Z07:00", // RCF3339Nano with short date fields.
-	"2006-1-2t15:4:5.999999999Z07:00", // RFC3339Nano with short date fields and lower-case "t".
-	"2006-1-2 15:4:5.999999999",       // space separated with no time zone
-	"2006-1-2",                        // date only
-	// Notable exception: time.Parse cannot handle: "2001-12-14 21:59:43.10 -5"
-	// from the set of examples.
-}
-
-// parseTimestamp parses s as a timestamp string and
-// returns the timestamp and reports whether it succeeded.
-// Timestamp formats are defined at http://yaml.org/type/timestamp.html
-func parseTimestamp(s string) (time.Time, bool) {
-	// TODO write code to check all the formats supported by
-	// http://yaml.org/type/timestamp.html instead of using time.Parse.
-
-	// Quick check: all date formats start with YYYY-.
-	i := 0
-	for ; i < len(s); i++ {
-		if c := s[i]; c < '0' || c > '9' {
-			break
-		}
-	}
-	if i != 4 || i == len(s) || s[i] != '-' {
-		return time.Time{}, false
-	}
-	for _, format := range allowedTimestampFormats {
-		if t, err := time.Parse(format, s); err == nil {
-			return t, true
-		}
-	}
-	return time.Time{}, false
-}
diff --git a/vendor/gopkg.in/yaml.v2/scannerc.go b/vendor/gopkg.in/yaml.v2/scannerc.go
index 077fd1d..0744844 100644
--- a/vendor/gopkg.in/yaml.v2/scannerc.go
+++ b/vendor/gopkg.in/yaml.v2/scannerc.go
@@ -871,6 +871,12 @@ func yaml_parser_save_simple_key(parser *yaml_parser_t) bool {
 
 	required := parser.flow_level == 0 && parser.indent == parser.mark.column
 
+	// A simple key is required only when it is the first token in the current
+	// line.  Therefore it is always allowed.  But we add a check anyway.
+	if required && !parser.simple_key_allowed {
+		panic("should not happen")
+	}
+
 	//
 	// If the current position may start a simple key, save it.
 	//
@@ -2469,10 +2475,6 @@ func yaml_parser_scan_flow_scalar(parser *yaml_parser_t, token *yaml_token_t, si
 			}
 		}
 
-		if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {
-			return false
-		}
-
 		// Check if we are at the end of the scalar.
 		if single {
 			if parser.buffer[parser.buffer_pos] == '\'' {
@@ -2485,6 +2487,10 @@ func yaml_parser_scan_flow_scalar(parser *yaml_parser_t, token *yaml_token_t, si
 		}
 
 		// Consume blank characters.
+		if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {
+			return false
+		}
+
 		for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) {
 			if is_blank(parser.buffer, parser.buffer_pos) {
 				// Consume a space or a tab character.
@@ -2586,10 +2592,19 @@ func yaml_parser_scan_plain_scalar(parser *yaml_parser_t, token *yaml_token_t) b
 		// Consume non-blank characters.
 		for !is_blankz(parser.buffer, parser.buffer_pos) {
 
+			// Check for 'x:x' in the flow context. TODO: Fix the test "spec-08-13".
+			if parser.flow_level > 0 &&
+				parser.buffer[parser.buffer_pos] == ':' &&
+				!is_blankz(parser.buffer, parser.buffer_pos+1) {
+				yaml_parser_set_scanner_error(parser, "while scanning a plain scalar",
+					start_mark, "found unexpected ':'")
+				return false
+			}
+
 			// Check for indicators that may end a plain scalar.
 			if (parser.buffer[parser.buffer_pos] == ':' && is_blankz(parser.buffer, parser.buffer_pos+1)) ||
 				(parser.flow_level > 0 &&
-					(parser.buffer[parser.buffer_pos] == ',' ||
+					(parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == ':' ||
 						parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == '[' ||
 						parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' ||
 						parser.buffer[parser.buffer_pos] == '}')) {
@@ -2641,10 +2656,10 @@ func yaml_parser_scan_plain_scalar(parser *yaml_parser_t, token *yaml_token_t) b
 		for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) {
 			if is_blank(parser.buffer, parser.buffer_pos) {
 
-				// Check for tab characters that abuse indentation.
+				// Check for tab character that abuse indentation.
 				if leading_blanks && parser.mark.column < indent && is_tab(parser.buffer, parser.buffer_pos) {
 					yaml_parser_set_scanner_error(parser, "while scanning a plain scalar",
-						start_mark, "found a tab character that violates indentation")
+						start_mark, "found a tab character that violate indentation")
 					return false
 				}
 
diff --git a/vendor/gopkg.in/yaml.v2/sorter.go b/vendor/gopkg.in/yaml.v2/sorter.go
index 4c45e66..5958822 100644
--- a/vendor/gopkg.in/yaml.v2/sorter.go
+++ b/vendor/gopkg.in/yaml.v2/sorter.go
@@ -51,15 +51,6 @@ func (l keyList) Less(i, j int) bool {
 		}
 		var ai, bi int
 		var an, bn int64
-		if ar[i] == '0' || br[i] == '0' {
-			for j := i-1; j >= 0 && unicode.IsDigit(ar[j]); j-- {
-				if ar[j] != '0' {
-					an = 1
-					bn = 1
-					break
-				}
-			}
-		}
 		for ai = i; ai < len(ar) && unicode.IsDigit(ar[ai]); ai++ {
 			an = an*10 + int64(ar[ai]-'0')
 		}
diff --git a/vendor/gopkg.in/yaml.v2/writerc.go b/vendor/gopkg.in/yaml.v2/writerc.go
index a2dde60..190362f 100644
--- a/vendor/gopkg.in/yaml.v2/writerc.go
+++ b/vendor/gopkg.in/yaml.v2/writerc.go
@@ -18,9 +18,72 @@ func yaml_emitter_flush(emitter *yaml_emitter_t) bool {
 		return true
 	}
 
-	if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil {
+	// If the output encoding is UTF-8, we don't need to recode the buffer.
+	if emitter.encoding == yaml_UTF8_ENCODING {
+		if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil {
+			return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error())
+		}
+		emitter.buffer_pos = 0
+		return true
+	}
+
+	// Recode the buffer into the raw buffer.
+	var low, high int
+	if emitter.encoding == yaml_UTF16LE_ENCODING {
+		low, high = 0, 1
+	} else {
+		high, low = 1, 0
+	}
+
+	pos := 0
+	for pos < emitter.buffer_pos {
+		// See the "reader.c" code for more details on UTF-8 encoding.  Note
+		// that we assume that the buffer contains a valid UTF-8 sequence.
+
+		// Read the next UTF-8 character.
+		octet := emitter.buffer[pos]
+
+		var w int
+		var value rune
+		switch {
+		case octet&0x80 == 0x00:
+			w, value = 1, rune(octet&0x7F)
+		case octet&0xE0 == 0xC0:
+			w, value = 2, rune(octet&0x1F)
+		case octet&0xF0 == 0xE0:
+			w, value = 3, rune(octet&0x0F)
+		case octet&0xF8 == 0xF0:
+			w, value = 4, rune(octet&0x07)
+		}
+		for k := 1; k < w; k++ {
+			octet = emitter.buffer[pos+k]
+			value = (value << 6) + (rune(octet) & 0x3F)
+		}
+		pos += w
+
+		// Write the character.
+		if value < 0x10000 {
+			var b [2]byte
+			b[high] = byte(value >> 8)
+			b[low] = byte(value & 0xFF)
+			emitter.raw_buffer = append(emitter.raw_buffer, b[0], b[1])
+		} else {
+			// Write the character using a surrogate pair (check "reader.c").
+			var b [4]byte
+			value -= 0x10000
+			b[high] = byte(0xD8 + (value >> 18))
+			b[low] = byte((value >> 10) & 0xFF)
+			b[high+2] = byte(0xDC + ((value >> 8) & 0xFF))
+			b[low+2] = byte(value & 0xFF)
+			emitter.raw_buffer = append(emitter.raw_buffer, b[0], b[1], b[2], b[3])
+		}
+	}
+
+	// Write the raw buffer.
+	if err := emitter.write_handler(emitter, emitter.raw_buffer); err != nil {
 		return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error())
 	}
 	emitter.buffer_pos = 0
+	emitter.raw_buffer = emitter.raw_buffer[:0]
 	return true
 }
diff --git a/vendor/gopkg.in/yaml.v2/yaml.go b/vendor/gopkg.in/yaml.v2/yaml.go
index de85aa4..bf18884 100644
--- a/vendor/gopkg.in/yaml.v2/yaml.go
+++ b/vendor/gopkg.in/yaml.v2/yaml.go
@@ -9,7 +9,6 @@ package yaml
 import (
 	"errors"
 	"fmt"
-	"io"
 	"reflect"
 	"strings"
 	"sync"
@@ -82,58 +81,12 @@ func Unmarshal(in []byte, out interface{}) (err error) {
 }
 
 // UnmarshalStrict is like Unmarshal except that any fields that are found
-// in the data that do not have corresponding struct members, or mapping
-// keys that are duplicates, will result in
+// in the data that do not have corresponding struct members will result in
 // an error.
 func UnmarshalStrict(in []byte, out interface{}) (err error) {
 	return unmarshal(in, out, true)
 }
 
-// A Decorder reads and decodes YAML values from an input stream.
-type Decoder struct {
-	strict bool
-	parser *parser
-}
-
-// NewDecoder returns a new decoder that reads from r.
-//
-// The decoder introduces its own buffering and may read
-// data from r beyond the YAML values requested.
-func NewDecoder(r io.Reader) *Decoder {
-	return &Decoder{
-		parser: newParserFromReader(r),
-	}
-}
-
-// SetStrict sets whether strict decoding behaviour is enabled when
-// decoding items in the data (see UnmarshalStrict). By default, decoding is not strict.
-func (dec *Decoder) SetStrict(strict bool) {
-	dec.strict = strict
-}
-
-// Decode reads the next YAML-encoded value from its input
-// and stores it in the value pointed to by v.
-//
-// See the documentation for Unmarshal for details about the
-// conversion of YAML into a Go value.
-func (dec *Decoder) Decode(v interface{}) (err error) {
-	d := newDecoder(dec.strict)
-	defer handleErr(&err)
-	node := dec.parser.parse()
-	if node == nil {
-		return io.EOF
-	}
-	out := reflect.ValueOf(v)
-	if out.Kind() == reflect.Ptr && !out.IsNil() {
-		out = out.Elem()
-	}
-	d.unmarshal(node, out)
-	if len(d.terrors) > 0 {
-		return &TypeError{d.terrors}
-	}
-	return nil
-}
-
 func unmarshal(in []byte, out interface{}, strict bool) (err error) {
 	defer handleErr(&err)
 	d := newDecoder(strict)
@@ -157,8 +110,8 @@ func unmarshal(in []byte, out interface{}, strict bool) (err error) {
 // of the generated document will reflect the structure of the value itself.
 // Maps and pointers (to struct, string, int, etc) are accepted as the in value.
 //
-// Struct fields are only marshalled if they are exported (have an upper case
-// first letter), and are marshalled using the field name lowercased as the
+// Struct fields are only unmarshalled if they are exported (have an upper case
+// first letter), and are unmarshalled using the field name lowercased as the
 // default key. Custom keys may be defined via the "yaml" name in the field
 // tag: the content preceding the first comma is used as the key, and the
 // following comma-separated options are used to tweak the marshalling process.
@@ -172,10 +125,7 @@ func unmarshal(in []byte, out interface{}, strict bool) (err error) {
 //
 //     omitempty    Only include the field if it's not set to the zero
 //                  value for the type or to empty slices or maps.
-//                  Zero valued structs will be omitted if all their public
-//                  fields are zero, unless they implement an IsZero
-//                  method (see the IsZeroer interface type), in which
-//                  case the field will be included if that method returns true.
+//                  Does not apply to zero valued structs.
 //
 //     flow         Marshal using a flow style (useful for structs,
 //                  sequences and maps).
@@ -190,7 +140,7 @@ func unmarshal(in []byte, out interface{}, strict bool) (err error) {
 // For example:
 //
 //     type T struct {
-//         F int `yaml:"a,omitempty"`
+//         F int "a,omitempty"
 //         B int
 //     }
 //     yaml.Marshal(&T{B: 2}) // Returns "b: 2\n"
@@ -200,47 +150,12 @@ func Marshal(in interface{}) (out []byte, err error) {
 	defer handleErr(&err)
 	e := newEncoder()
 	defer e.destroy()
-	e.marshalDoc("", reflect.ValueOf(in))
+	e.marshal("", reflect.ValueOf(in))
 	e.finish()
 	out = e.out
 	return
 }
 
-// An Encoder writes YAML values to an output stream.
-type Encoder struct {
-	encoder *encoder
-}
-
-// NewEncoder returns a new encoder that writes to w.
-// The Encoder should be closed after use to flush all data
-// to w.
-func NewEncoder(w io.Writer) *Encoder {
-	return &Encoder{
-		encoder: newEncoderWithWriter(w),
-	}
-}
-
-// Encode writes the YAML encoding of v to the stream.
-// If multiple items are encoded to the stream, the
-// second and subsequent document will be preceded
-// with a "---" document separator, but the first will not.
-//
-// See the documentation for Marshal for details about the conversion of Go
-// values to YAML.
-func (e *Encoder) Encode(v interface{}) (err error) {
-	defer handleErr(&err)
-	e.encoder.marshalDoc("", reflect.ValueOf(v))
-	return nil
-}
-
-// Close closes the encoder by writing any remaining data.
-// It does not write a stream terminating string "...".
-func (e *Encoder) Close() (err error) {
-	defer handleErr(&err)
-	e.encoder.finish()
-	return nil
-}
-
 func handleErr(err *error) {
 	if v := recover(); v != nil {
 		if e, ok := v.(yamlError); ok {
@@ -296,9 +211,6 @@ type fieldInfo struct {
 	Num       int
 	OmitEmpty bool
 	Flow      bool
-	// Id holds the unique field identifier, so we can cheaply
-	// check for field duplicates without maintaining an extra map.
-	Id int
 
 	// Inline holds the field index if the field is part of an inlined struct.
 	Inline []int
@@ -378,7 +290,6 @@ func getStructInfo(st reflect.Type) (*structInfo, error) {
 					} else {
 						finfo.Inline = append([]int{i}, finfo.Inline...)
 					}
-					finfo.Id = len(fieldsList)
 					fieldsMap[finfo.Key] = finfo
 					fieldsList = append(fieldsList, finfo)
 				}
@@ -400,16 +311,11 @@ func getStructInfo(st reflect.Type) (*structInfo, error) {
 			return nil, errors.New(msg)
 		}
 
-		info.Id = len(fieldsList)
 		fieldsList = append(fieldsList, info)
 		fieldsMap[info.Key] = info
 	}
 
-	sinfo = &structInfo{
-		FieldsMap:  fieldsMap,
-		FieldsList: fieldsList,
-		InlineMap:  inlineMap,
-	}
+	sinfo = &structInfo{fieldsMap, fieldsList, inlineMap}
 
 	fieldMapMutex.Lock()
 	structMap[st] = sinfo
@@ -417,23 +323,8 @@ func getStructInfo(st reflect.Type) (*structInfo, error) {
 	return sinfo, nil
 }
 
-// IsZeroer is used to check whether an object is zero to
-// determine whether it should be omitted when marshaling
-// with the omitempty flag. One notable implementation
-// is time.Time.
-type IsZeroer interface {
-	IsZero() bool
-}
-
 func isZero(v reflect.Value) bool {
-	kind := v.Kind()
-	if z, ok := v.Interface().(IsZeroer); ok {
-		if (kind == reflect.Ptr || kind == reflect.Interface) && v.IsNil() {
-			return true
-		}
-		return z.IsZero()
-	}
-	switch kind {
+	switch v.Kind() {
 	case reflect.String:
 		return len(v.String()) == 0
 	case reflect.Interface, reflect.Ptr:
diff --git a/vendor/gopkg.in/yaml.v2/yamlh.go b/vendor/gopkg.in/yaml.v2/yamlh.go
index e25cee5..3caeca0 100644
--- a/vendor/gopkg.in/yaml.v2/yamlh.go
+++ b/vendor/gopkg.in/yaml.v2/yamlh.go
@@ -1,7 +1,6 @@
 package yaml
 
 import (
-	"fmt"
 	"io"
 )
 
@@ -240,27 +239,6 @@ const (
 	yaml_MAPPING_END_EVENT    // A MAPPING-END event.
 )
 
-var eventStrings = []string{
-	yaml_NO_EVENT:             "none",
-	yaml_STREAM_START_EVENT:   "stream start",
-	yaml_STREAM_END_EVENT:     "stream end",
-	yaml_DOCUMENT_START_EVENT: "document start",
-	yaml_DOCUMENT_END_EVENT:   "document end",
-	yaml_ALIAS_EVENT:          "alias",
-	yaml_SCALAR_EVENT:         "scalar",
-	yaml_SEQUENCE_START_EVENT: "sequence start",
-	yaml_SEQUENCE_END_EVENT:   "sequence end",
-	yaml_MAPPING_START_EVENT:  "mapping start",
-	yaml_MAPPING_END_EVENT:    "mapping end",
-}
-
-func (e yaml_event_type_t) String() string {
-	if e < 0 || int(e) >= len(eventStrings) {
-		return fmt.Sprintf("unknown event %d", e)
-	}
-	return eventStrings[e]
-}
-
 // The event structure.
 type yaml_event_t struct {
 
@@ -543,9 +521,9 @@ type yaml_parser_t struct {
 
 	read_handler yaml_read_handler_t // Read handler.
 
-	input_reader io.Reader // File input data.
-	input        []byte    // String input data.
-	input_pos    int
+	input_file io.Reader // File input data.
+	input      []byte    // String input data.
+	input_pos  int
 
 	eof bool // EOF flag
 
@@ -654,7 +632,7 @@ type yaml_emitter_t struct {
 	write_handler yaml_write_handler_t // Write handler.
 
 	output_buffer *[]byte   // String output data.
-	output_writer io.Writer // File output data.
+	output_file   io.Writer // File output data.
 
 	buffer     []byte // The working buffer.
 	buffer_pos int    // The current position of the buffer.
diff --git a/vendor/vendor.json b/vendor/vendor.json
index d4cc35d..d199922 100644
--- a/vendor/vendor.json
+++ b/vendor/vendor.json
@@ -23,14 +23,14 @@
 		{
 			"checksumSHA1": "rcWTaHvwTmKqbl8NqUF/nDsHzk8=",
 			"path": "git.autistici.org/id/auth",
-			"revision": "efdc2eb6e85d9a2679fdc68e827c5df1dc157ece",
-			"revisionTime": "2018-10-29T06:45:57Z"
+			"revision": "797fa144f3c71ed5b411aca639dfdfce55a948c3",
+			"revisionTime": "2018-10-19T18:21:57Z"
 		},
 		{
 			"checksumSHA1": "48njEQBB73cV6tTPBEOnzSVRjeA=",
 			"path": "git.autistici.org/id/auth/client",
-			"revision": "efdc2eb6e85d9a2679fdc68e827c5df1dc157ece",
-			"revisionTime": "2018-10-29T06:45:57Z"
+			"revision": "797fa144f3c71ed5b411aca639dfdfce55a948c3",
+			"revisionTime": "2018-10-19T18:21:57Z"
 		},
 		{
 			"checksumSHA1": "MlpsZgRytv/c9IX9YawRJDN/ibQ=",
@@ -57,16 +57,16 @@
 			"revisionTime": "2018-03-21T16:47:47Z"
 		},
 		{
-			"checksumSHA1": "EAUmmJ4ccZbyuyf8Fnf+KU+DH3w=",
+			"checksumSHA1": "2nTxrtvUecg8v33ZkjIFiUxfUI8=",
 			"path": "github.com/cenkalti/backoff",
-			"revision": "b7325b0f3f1097c6546ea5e83c4a23267e58ad71",
-			"revisionTime": "2018-08-01T15:21:24Z"
+			"revision": "62661b46c4093e2c1f38d943e663db1a29873e80",
+			"revisionTime": "2018-10-03T08:08:54Z"
 		},
 		{
 			"checksumSHA1": "dPUClu2Gew2ddf1Y5rmgvxUUFeU=",
 			"path": "github.com/coreos/go-systemd/daemon",
-			"revision": "eee3db372b31153ca0b90702e165948699803fd0",
-			"revisionTime": "2018-08-28T14:03:53Z"
+			"revision": "c6f51f82210d9608a835763225a5e2a3c87583c6",
+			"revisionTime": "2018-10-12T12:30:02Z"
 		},
 		{
 			"checksumSHA1": "8zBDp6vRYSBYxja1o+Vr3RpAq2U=",
@@ -89,26 +89,20 @@
 		{
 			"checksumSHA1": "7DxViusFRJ7UPH0jZqYatwDrOkY=",
 			"path": "github.com/elazarl/go-bindata-assetfs",
-			"revision": "38087fe4dafb822e541b3f7955075cc1c30bd294",
-			"revisionTime": "2018-02-23T16:03:09Z"
-		},
-		{
-			"checksumSHA1": "47nJ3iu1bVvK9jPXwAinFYr4mBU=",
-			"path": "github.com/gogo/protobuf/proto",
-			"revision": "61dbc136cf5d2f08d68a011382652244990a53a9",
-			"revisionTime": "2018-09-25T08:36:12Z"
+			"revision": "30f82fa23fd844bd5bb1e5f216db87fd77b5eb43",
+			"revisionTime": "2017-02-27T21:27:28Z"
 		},
 		{
 			"checksumSHA1": "GaJLoEuMGnP5ofXvuweAI4wx06U=",
 			"path": "github.com/golang/protobuf/proto",
-			"revision": "7011d38ac0d201eeddff4a4085a657c3da322d75",
-			"revisionTime": "2018-09-28T22:12:48Z"
+			"revision": "0382e7636b97e3f60fb188fef87a8d2c42c51ba9",
+			"revisionTime": "2018-10-29T16:52:05Z"
 		},
 		{
-			"checksumSHA1": "oHwfghigjTz8Xs+ssxwdl/atb44=",
+			"checksumSHA1": "g/V4qrXjUGG9B+e3hB+4NAYJ5Gs=",
 			"path": "github.com/gorilla/context",
-			"revision": "51ce91d2eaddeca0ef29a71d766bb3634dadf729",
-			"revisionTime": "2018-10-12T15:35:48Z"
+			"revision": "08b5f424b9271eedf6f9f0ce86cb9396ed337a42",
+			"revisionTime": "2016-08-17T18:46:32Z"
 		},
 		{
 			"checksumSHA1": "uzOh/6ll8f2HnCNHDWRenwQ/Owo=",
@@ -117,16 +111,16 @@
 			"revisionTime": "2018-10-12T15:34:37Z"
 		},
 		{
-			"checksumSHA1": "22kXObb09lweSbdIjPZGeLBjnkg=",
+			"checksumSHA1": "bffinqNcCczds9fAuZGjoRWdvdU=",
 			"path": "github.com/gorilla/handlers",
-			"revision": "7e0847f9db758cdebd26c149d0ae9d5d0b9c98ce",
-			"revisionTime": "2018-07-27T23:06:46Z"
+			"revision": "350d97a79266938cd77a9192b7d995132d4e2b5b",
+			"revisionTime": "2018-10-12T15:33:34Z"
 		},
 		{
-			"checksumSHA1": "nAr0ZgojCZDeMSbDpXR5mI26yD0=",
+			"checksumSHA1": "+i76HB4vEOFz+vLYsUmThS6oeQI=",
 			"path": "github.com/gorilla/mux",
-			"revision": "9b36453141c35697401168b07f2c09fcff7721ce",
-			"revisionTime": "2013-04-08T12:01:04Z"
+			"revision": "24fca303ac6da784b9e8269f724ddeb0b2eea5e7",
+			"revisionTime": "2017-09-05T17:10:44Z"
 		},
 		{
 			"checksumSHA1": "NScdwrIOpSH9hoP7i3a6JGmE5rw=",
@@ -137,8 +131,8 @@
 		{
 			"checksumSHA1": "dxwmtflRNX8Q+gtB5EchmMwFnpQ=",
 			"path": "github.com/gorilla/sessions",
-			"revision": "b61c93cb7f67533c8bfbb5ea450efc07e5833c5e",
-			"revisionTime": "2017-08-02T14:17:18Z"
+			"revision": "a3acf13e802c358d65f249324d14ed24aac11370",
+			"revisionTime": "2017-10-08T21:47:40Z"
 		},
 		{
 			"checksumSHA1": "SGc5vSs9tXhrGJ5ncymDyMvTg24=",
@@ -153,10 +147,10 @@
 			"revisionTime": "2016-04-24T11:30:07Z"
 		},
 		{
-			"checksumSHA1": "HoN1IrpPpbocYo5z2McrI7rHEoc=",
+			"checksumSHA1": "6IFqsY8nzRzcaluSehwWoAq4ygw=",
 			"path": "github.com/mssola/user_agent",
-			"revision": "07efe2b857fb8c02d2dd85c12d0145f58554ec7c",
-			"revisionTime": "2017-01-01T15:44:15Z"
+			"revision": "a2f39d5a9b15ecc1fa1005b6aae73cd83da240ef",
+			"revisionTime": "2017-09-06T15:25:53Z"
 		},
 		{
 			"checksumSHA1": "N6I3i0LIjQckurgTeH3b2A5YTec=",
@@ -171,16 +165,22 @@
 			"revisionTime": "2018-10-23T23:59:46Z"
 		},
 		{
-			"checksumSHA1": "ht9dguR/tboX6Jv/mPTub9w1SVI=",
+			"checksumSHA1": "Giw7LmXy4y5JZwoYHj7GlSBQguo=",
 			"path": "github.com/prometheus/client_golang/prometheus",
-			"revision": "676eaf6b948046fcd9dbbcf5cc9ff5077921aa81",
-			"revisionTime": "2018-08-28T20:48:07Z"
+			"revision": "f30f428035633da15d00d3dfefb0128c5e569ef4",
+			"revisionTime": "2018-10-25T17:44:21Z"
+		},
+		{
+			"checksumSHA1": "UBqhkyjCz47+S19MVTigxJ2VjVQ=",
+			"path": "github.com/prometheus/client_golang/prometheus/internal",
+			"revision": "f30f428035633da15d00d3dfefb0128c5e569ef4",
+			"revisionTime": "2018-10-25T17:44:21Z"
 		},
 		{
-			"checksumSHA1": "d5BiEvD8MrgpWQ6PQJUvawJsMak=",
+			"checksumSHA1": "wJzzub/0w2espYvar3lylwHXBAk=",
 			"path": "github.com/prometheus/client_golang/prometheus/promhttp",
-			"revision": "676eaf6b948046fcd9dbbcf5cc9ff5077921aa81",
-			"revisionTime": "2018-08-28T20:48:07Z"
+			"revision": "f30f428035633da15d00d3dfefb0128c5e569ef4",
+			"revisionTime": "2018-10-25T17:44:21Z"
 		},
 		{
 			"checksumSHA1": "V8xkqgmP66sq2ZW4QO5wi9a4oZE=",
@@ -189,46 +189,46 @@
 			"revisionTime": "2018-07-12T10:51:10Z"
 		},
 		{
-			"checksumSHA1": "Q0mjhUEjAklUQvPkrOChWGLpvRY=",
+			"checksumSHA1": "ljxJzXiQ7dNsmuRIUhqqP+qjRWc=",
 			"path": "github.com/prometheus/common/expfmt",
-			"revision": "c7de2306084e37d54b8be01f3541a8464345e9a5",
-			"revisionTime": "2018-08-01T06:44:54Z"
+			"revision": "7e9e6cabbd393fc208072eedef99188d0ce788b6",
+			"revisionTime": "2018-10-20T17:39:14Z"
 		},
 		{
 			"checksumSHA1": "GWlM3d2vPYyNATtTFgftS10/A9w=",
 			"path": "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg",
-			"revision": "c7de2306084e37d54b8be01f3541a8464345e9a5",
-			"revisionTime": "2018-08-01T06:44:54Z"
+			"revision": "7e9e6cabbd393fc208072eedef99188d0ce788b6",
+			"revisionTime": "2018-10-20T17:39:14Z"
 		},
 		{
-			"checksumSHA1": "EXTRY7DL9gFW8c341Dk6LDXCBn8=",
+			"checksumSHA1": "ewHRWF7p/HQeh7RowZg5BUeDkdY=",
 			"path": "github.com/prometheus/common/model",
-			"revision": "c7de2306084e37d54b8be01f3541a8464345e9a5",
-			"revisionTime": "2018-08-01T06:44:54Z"
+			"revision": "7e9e6cabbd393fc208072eedef99188d0ce788b6",
+			"revisionTime": "2018-10-20T17:39:14Z"
 		},
 		{
-			"checksumSHA1": "jo/zxF+Pfj5yZjReTKGOACq9IBs=",
+			"checksumSHA1": "4zOdjJcskuocAzI+i6rcRzYjSlI=",
 			"path": "github.com/prometheus/procfs",
-			"revision": "05ee40e3a273f7245e8777337fc7b46e533a9a92",
-			"revisionTime": "2018-07-25T12:39:19Z"
+			"revision": "185b4288413d2a0dd0806f78c90dde719829e5ae",
+			"revisionTime": "2018-10-05T14:02:18Z"
 		},
 		{
-			"checksumSHA1": "lv9rIcjbVEGo8AT1UCUZXhXrfQc=",
+			"checksumSHA1": "8E1IbrgtLBee7J404VKPyoI+qsk=",
 			"path": "github.com/prometheus/procfs/internal/util",
-			"revision": "05ee40e3a273f7245e8777337fc7b46e533a9a92",
-			"revisionTime": "2018-07-25T12:39:19Z"
+			"revision": "185b4288413d2a0dd0806f78c90dde719829e5ae",
+			"revisionTime": "2018-10-05T14:02:18Z"
 		},
 		{
 			"checksumSHA1": "HSP5hVT0CNMRa8+Xtz4z2Ic5U0E=",
 			"path": "github.com/prometheus/procfs/nfs",
-			"revision": "05ee40e3a273f7245e8777337fc7b46e533a9a92",
-			"revisionTime": "2018-07-25T12:39:19Z"
+			"revision": "185b4288413d2a0dd0806f78c90dde719829e5ae",
+			"revisionTime": "2018-10-05T14:02:18Z"
 		},
 		{
 			"checksumSHA1": "yItvTQLUVqm/ArLEbvEhqG0T5a0=",
 			"path": "github.com/prometheus/procfs/xfs",
-			"revision": "05ee40e3a273f7245e8777337fc7b46e533a9a92",
-			"revisionTime": "2018-07-25T12:39:19Z"
+			"revision": "185b4288413d2a0dd0806f78c90dde719829e5ae",
+			"revisionTime": "2018-10-05T14:02:18Z"
 		},
 		{
 			"checksumSHA1": "UXPsmvl8HiH8mrBHG1JyU+fGP4g=",
@@ -257,20 +257,20 @@
 		{
 			"checksumSHA1": "2LpxYGSf068307b7bhAuVjvzLLc=",
 			"path": "golang.org/x/crypto/ed25519",
-			"revision": "e84da0312774c21d64ee2317962ef669b27ffb41",
-			"revisionTime": "2018-10-24T13:26:30Z"
+			"revision": "e3636079e1a4c1f337f212cc5cd2aca108f6c900",
+			"revisionTime": "2018-09-26T22:24:25Z"
 		},
 		{
 			"checksumSHA1": "0JTAFXPkankmWcZGQJGScLDiaN8=",
 			"path": "golang.org/x/crypto/ed25519/internal/edwards25519",
-			"revision": "e84da0312774c21d64ee2317962ef669b27ffb41",
-			"revisionTime": "2018-10-24T13:26:30Z"
+			"revision": "e3636079e1a4c1f337f212cc5cd2aca108f6c900",
+			"revisionTime": "2018-09-26T22:24:25Z"
 		},
 		{
 			"checksumSHA1": "TQoVgHqUD72/5ALzi9p5W3oyaug=",
 			"path": "golang.org/x/crypto/ripemd160",
-			"revision": "e84da0312774c21d64ee2317962ef669b27ffb41",
-			"revisionTime": "2018-10-24T13:26:30Z"
+			"revision": "e3636079e1a4c1f337f212cc5cd2aca108f6c900",
+			"revisionTime": "2018-09-26T22:24:25Z"
 		},
 		{
 			"checksumSHA1": "VhUZFUuhLFSBFUfskMC4am5RIdc=",
@@ -279,22 +279,22 @@
 			"revisionTime": "2018-03-14T17:21:19Z"
 		},
 		{
-			"checksumSHA1": "lYGArzap6by5XtK+vLqTC9OfVkg=",
+			"checksumSHA1": "USMsFbKZrNd1b9oRFbjevPr6PmI=",
 			"path": "golang.org/x/sys/unix",
-			"revision": "2772b66316d2c587efeb188dcd5ebc6987656e84",
-			"revisionTime": "2018-10-17T18:36:36Z"
+			"revision": "c4afb3effaa53fd9a06ca61262dc7ce8df4c081b",
+			"revisionTime": "2018-06-26T06:41:42Z"
 		},
 		{
-			"checksumSHA1": "Y7nctMxT58lRM78VtElPerhcnEs=",
+			"checksumSHA1": "zc2NI38L40/N4+pjd9P2ESz68/0=",
 			"path": "golang.org/x/sys/windows",
-			"revision": "2772b66316d2c587efeb188dcd5ebc6987656e84",
-			"revisionTime": "2018-10-17T18:36:36Z"
+			"revision": "c4afb3effaa53fd9a06ca61262dc7ce8df4c081b",
+			"revisionTime": "2018-06-26T06:41:42Z"
 		},
 		{
-			"checksumSHA1": "ZSWoOPUNRr5+3dhkLK3C4cZAQPk=",
+			"checksumSHA1": "RDJpJQwkF012L6m/2BJizyOksNw=",
 			"path": "gopkg.in/yaml.v2",
-			"revision": "5420a8b6744d3b0345ab293f6fcba19c978f1183",
-			"revisionTime": "2018-03-28T19:50:20Z"
+			"revision": "eb3733d160e74a9c7e442f435eb3bea458e1d19f",
+			"revisionTime": "2017-08-12T16:00:11Z"
 		}
 	],
 	"rootPath": "git.autistici.org/id/go-sso"
-- 
GitLab