diff --git a/sdk_container/src/third_party/coreos-overlay/.gitignore b/sdk_container/src/third_party/coreos-overlay/.gitignore
new file mode 100644
index 0000000000..70cffbf46e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/.gitignore
@@ -0,0 +1 @@
+metadata/md5-cache
diff --git a/sdk_container/src/third_party/coreos-overlay/.travis.yml b/sdk_container/src/third_party/coreos-overlay/.travis.yml
new file mode 100644
index 0000000000..5afcfddad5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/.travis.yml
@@ -0,0 +1,21 @@
+# Derived from https://github.com/mrueg/repoman-travis/
+
+sudo: required
+language: python
+python:
+ - pypy
+
+# For some reason portage is defaulting to lbzip2/lbunzip2 here and then complaining when they don't
+# exist, so use plain old b{,un}zip2.
+env:
+ - PORTAGE_VER="2.3.40" PORTAGE_BZIP2_COMMAND="bzip2" PORTAGE_BUNZIP2_COMMAND="bunzip2"
+
+before_install:
+ - sudo apt-get -qq update
+ - pip install lxml pyyaml
+
+before_script: ./.travis/setup_repoman.sh
+
+script:
+ - cd /usr/coreos-overlay
+ - /tmp/portage/portage-${PORTAGE_VER}/repoman/bin/repoman --experimental-repository-modules=y -dx full
diff --git a/sdk_container/src/third_party/coreos-overlay/.travis/coreos.conf b/sdk_container/src/third_party/coreos-overlay/.travis/coreos.conf
new file mode 100644
index 0000000000..f95be5e178
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/.travis/coreos.conf
@@ -0,0 +1,8 @@
+[DEFAULT]
+main-repo = portage-stable
+
+[coreos]
+location = /usr/coreos-overlay
+
+[portage-stable]
+location = /usr/portage
diff --git a/sdk_container/src/third_party/coreos-overlay/.travis/setup_repoman.sh b/sdk_container/src/third_party/coreos-overlay/.travis/setup_repoman.sh
new file mode 100755
index 0000000000..bfad0f2cf6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/.travis/setup_repoman.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -euo pipefail
+
+# Set up directory permissions/portage user and group.
+sudo chmod a+rwX /etc/passwd /etc/group /etc /usr
+echo "portage:x:250:250:portage:/var/tmp/portage:/bin/false" >> /etc/passwd
+echo "portage::250:portage,travis" >> /etc/group
+
+# Shuffle portage repositories around into the right places.
+mkdir -p /etc/portage/repos.conf /usr/coreos-overlay
+mv * /usr/coreos-overlay/
+mv .git /usr/coreos-overlay/
+git clone https://github.com/coreos/portage-stable /usr/portage/
+cp .travis/coreos.conf /etc/portage/repos.conf/
+ln -s /usr/coreos-overlay/profiles/coreos/amd64/sdk /etc/portage/make.profile
+mkdir -p /usr/portage/metadata/{dtd,xml-schema}
+wget -O /usr/portage/metadata/dtd/metadata.dtd https://www.gentoo.org/dtd/metadata.dtd
+wget -O /usr/portage/metadata/xml-schema/metadata.xsd https://www.gentoo.org/xml-schema/metadata.xsd
+
+# Download portage.
+mkdir /tmp/portage && cd /tmp/portage
+wget -qO - "https://gitweb.gentoo.org/proj/portage.git/snapshot/portage-${PORTAGE_VER}.tar.gz" | tar xz
diff --git a/sdk_container/src/third_party/coreos-overlay/CHANGELOG.md b/sdk_container/src/third_party/coreos-overlay/CHANGELOG.md
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/sdk_container/src/third_party/coreos-overlay/README.md b/sdk_container/src/third_party/coreos-overlay/README.md
new file mode 100644
index 0000000000..150fb7b649
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/README.md
@@ -0,0 +1,57 @@
+# Overview
+
+This overlay contains Container Linux specific packages and Gentoo packages
+that differ from their upstream Gentoo versions.
+
+See the [portage-stable](https://github.com/coreos/portage-stable) repo
+for packages which do not have Container Linux specific changes.
+
+Licensing information can be found in the respective files, so consult
+them directly. Most ebuilds are licensed under the GPL version 2.
+
+Upstream Gentoo sources: https://gitweb.gentoo.org/repo/gentoo.git
+
+# Important packages
+
+`coreos-base/coreos` is the package responsible for everything that gets
+built into a production image and is not OEM specific.
+
+`coreos-base/coreos-dev` is the package responsible for everything that
+gets built into a developer image and is not OEM specific.
+
+`coreos-devel/sdk-depends` is the package responsible for everything that
+gets built into the Container Linux SDK.
+
+`coreos-devel/board-packages` is everything that could be built into a
+development or production image, plus any OEM specific packages.
+
+`coreos-base/oem-*` are the OEM specific packages. They mostly install things
+that belong in the OEM partition. Any RDEPENDS from these packages should
+be copied to the RDEPENDS in `board-packages` to ensure they are built.
+
+`coreos-base/coreos-oem-*` are metapackages for OEM specific ACIs.
+
+# Updating
+
+To update follow the following steps:
+
+* Remove or rename the whole folder of the package to prepare the import from
+ upstream Gentoo, not only resetting the ebuild file but also any additional
+ files like patches or downstream additions under `files`.
+* Run `~/trunk/src/scripts/update_ebuilds --portage_stable . CATEGORY/PACKAGE`
+ in the `coreos-overlay` folder to import a new version from upstream Gentoo.
+ Drop the ebuild files that you don't plan to use.
+* Commit the changes with a message like `CATEGORY/PACKAGE: Sync from Gentoo`,
+ and mention the the commit ID in the body (`git show update_ebuilds/master`).
+* Now find all downstream patches for the package by running
+ `git log CATEGORY/PACKAGE`. If everybody followed the process of resetting
+ before importing an upstream update, you only have to look for the commits
+ after the last update and port them to the new version. Otherwise you have
+ to compare the files manually to their upstream versions from older
+ [portage](https://github.com/gentoo/portage/) revisions.
+* You can combine all old and new downstream patches into a single new commit
+ with the message `CATEGORY/PACKAGE: Apply Flatcar patches` to keep the number of
+ commits to port low, or have separate commits. Make sure that you explain
+ the changes and carry the explanations from old commits over, either in the
+ commit message, through comments in the ebuild file, or through a `README.md`
+ in the folder.
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/Manifest b/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/Manifest
new file mode 100644
index 0000000000..b650d0d7a4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/Manifest
@@ -0,0 +1 @@
+DIST adcli-0.9.0.tar.bz2 83331 SHA512 22e26be0fe836ee550b98192c03fef0d7da9add228ba6a5a8bceb08a87936d26dfd3c524758ae64ab9d699aa26c4494e278942d28b6c2d11d00c48d326715399 BLAKE2B 6df373c140a4631e1e931d6983e22dc7f967889c52d5c5e12a60f9afca0cf7954bd8a05cdcb2c69a910567e5d7382951281e3fcb0789e95e1553b0e9ec61bdcb
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/adcli-0.9.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/adcli-0.9.0.ebuild
new file mode 120000
index 0000000000..555ce8e8cb
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/adcli-0.9.0.ebuild
@@ -0,0 +1 @@
+adcli-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/adcli-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/adcli-9999.ebuild
new file mode 100644
index 0000000000..041f507dba
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/adcli-9999.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/realmd/adcli.git"
+ KEYWORDS="~amd64 ~arm64"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.freedesktop.org/realmd/adcli/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="amd64 arm64"
+fi
+
+inherit autotools
+
+DESCRIPTION="A helper library and tools for Active Directory client operations"
+HOMEPAGE="https://www.freedesktop.org/software/realmd/adcli/"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+IUSE="debug doc"
+
+RDEPEND="
+ app-crypt/mit-krb5
+ dev-libs/cyrus-sasl
+ net-nds/openldap
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xml-dtd:4.3
+ dev-libs/libxslt
+ )
+"
+
+src_prepare() {
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable doc)
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/adcli/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.0.ebuild
new file mode 100644
index 0000000000..de8545b4fc
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright (c) 2016 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd
+
+DESCRIPTION="etcd (System Application Container)"
+HOMEPAGE="https://github.com/etcd-io/etcd"
+KEYWORDS="amd64 arm64"
+
+LICENSE="Apache-2.0"
+IUSE=""
+SLOT=0
+
+DEPEND=""
+
+RDEPEND=">=app-admin/sdnotify-proxy-0.1.0"
+
+S=${WORKDIR}
+
+src_install() {
+ local tag="v${PV}"
+ if [[ "${ARCH}" != "amd64" ]]; then
+ tag+="-${ARCH}"
+ fi
+
+ exeinto /usr/lib/flatcar
+ doexe "${FILESDIR}"/etcd-wrapper
+
+ sed "s|@ETCD_IMAGE_TAG@|${tag}|g" \
+ "${FILESDIR}"/etcd-member.service > ${T}/etcd-member.service
+ systemd_dounit ${T}/etcd-member.service
+ systemd_dotmpfilesd "${FILESDIR}"/etcd-wrapper.conf
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-member.service b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-member.service
new file mode 100644
index 0000000000..1ebc82e893
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-member.service
@@ -0,0 +1,29 @@
+[Unit]
+Description=etcd (System Application Container)
+Documentation=https://github.com/etcd-io/etcd
+Wants=network-online.target network.target
+After=network-online.target
+Conflicts=etcd.service
+Conflicts=etcd2.service
+
+[Service]
+Type=notify
+NotifyAccess=all
+Restart=always
+RestartSec=10s
+TimeoutStartSec=0
+LimitNOFILE=40000
+
+Environment="ETCD_IMAGE_URL=quay.io/coreos/etcd"
+Environment="ETCD_IMAGE_TAG=@ETCD_IMAGE_TAG@"
+Environment="ETCD_NAME=%m"
+Environment="ETCD_USER=etcd"
+Environment="ETCD_DATA_DIR=/var/lib/etcd"
+Environment="ETCD_SSL_DIR=/etc/ssl/certs"
+
+ExecStart=/usr/lib/flatcar/etcd-wrapper $ETCD_OPTS
+ExecStop=/usr/bin/docker stop etcd-member
+ExecStopPost=/usr/bin/docker rm etcd-member
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper
new file mode 100755
index 0000000000..7a2296c350
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper
@@ -0,0 +1,36 @@
+#!/bin/bash
+# The "etcd-wrapper" script can't be deleted because ct overwrites
+# the ExecStart directive with etcd-wrapper. Do the new action of
+# ExecStart here.
+set -e
+
+# Since etcd/v3 we can't use both `--name` and `ETCD_NAME` at the same time.
+# We parse the etcd command line options to find a `--name/-name` flag if we found one,
+# we unset the `ETCD_NAME` to not conflict with it.
+for f in "${@}"; do
+ if [[ $f =~ ^-?-name=? ]]; then
+ unset ETCD_NAME
+ break
+ fi
+done
+
+
+# Do not pass ETCD_DATA_DIR through to the container. The default path,
+# /var/lib/etcd is always used inside the container.
+etcd_data_dir="${ETCD_DATA_DIR}"
+ETCD_DATA_DIR="/var/lib/etcd"
+mkdir -p ${etcd_data_dir}
+chown -R etcd:etcd ${etcd_data_dir}
+chmod 700 ${etcd_data_dir}
+# A better way to run the Flannel/etcd container image is Podman because
+# Flannel depends on etcd but wants to be run before Docker so that it
+# can set up the Docker networking. Etcd and Flannel are part of the
+# Container Linux Config specification and thus can't be dropped easily.
+# For now we have to resort to running these services with Docker and try
+# to restart Docker for the Flannel options to take effect.
+/usr/bin/docker stop etcd-member || true
+/usr/bin/docker rm -f etcd-member || true
+# set umask so that sdnotify-proxy creates /run/etcd-notify with the same relaxed permissions as NOTIFY_SOCKET (/run/systemd/notify) normally has, to allow ETCD_USER to write to it
+umask 000
+# mapping only /run/etcd-notify does not work and we use the full /run, also we must set NOTIFY_SOCKET in the container but use the original for /usr/libexec/sdnotify-proxy
+/usr/libexec/sdnotify-proxy /run/etcd-notify /usr/bin/docker run --name etcd-member --network=host --ipc=host -u $(id -u ${ETCD_USER}):$(id -g ${ETCD_USER}) -v /run:/run -v /usr/share/ca-certificates:/usr/share/ca-certificates:ro -v ${etcd_data_dir}:/var/lib/etcd:rw -v ${ETCD_SSL_DIR}:/etc/ssl/certs:ro --env-file <(env; echo PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; echo NOTIFY_SOCKET=/run/etcd-notify) --entrypoint /usr/local/bin/etcd ${ETCD_IMAGE:-${ETCD_IMAGE_URL}:${ETCD_IMAGE_TAG}} "$@"
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.conf b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.conf
new file mode 100644
index 0000000000..1ebc5a2316
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.conf
@@ -0,0 +1 @@
+d /var/lib/etcd 0700 etcd etcd - -
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/50-flannel.link b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/50-flannel.link
new file mode 100644
index 0000000000..202aea5ba0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/50-flannel.link
@@ -0,0 +1,5 @@
+[Match]
+OriginalName=flannel*
+
+[Link]
+MACAddressPolicy=none
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/50-flannel.network b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/50-flannel.network
new file mode 100644
index 0000000000..e5d48d739b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/50-flannel.network
@@ -0,0 +1,5 @@
+[Match]
+Name=flannel*
+
+[Link]
+Unmanaged=yes
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/flannel-docker-opts.service b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/flannel-docker-opts.service
new file mode 100644
index 0000000000..9ab7ddce64
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/flannel-docker-opts.service
@@ -0,0 +1,24 @@
+[Unit]
+Description=flannel docker export service - Network fabric for containers (System Application Container)
+Documentation=https://github.com/coreos/flannel
+PartOf=flanneld.service
+Requires=flanneld.service
+After=flanneld.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+Restart=on-failure
+RestartSec=5s
+
+Environment="FLANNEL_IMAGE_URL=quay.io/coreos/flannel"
+Environment="FLANNEL_IMAGE_TAG=@FLANNEL_IMAGE_TAG@"
+Environment="FLANNEL_CMD=/opt/bin/mk-docker-opts.sh"
+Environment="FLANNEL_CONTAINER=flannel-docker-opts"
+
+ExecStart=/usr/lib/flatcar/flannel-wrapper -d /run/flannel/flannel_docker_opts.env -i
+ExecStop=/usr/bin/docker stop flannel-docker-opts
+ExecStopPost=/usr/bin/docker rm flannel-docker-opts
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/flannel-wrapper b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/flannel-wrapper
new file mode 100755
index 0000000000..c8aa3b05a9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/flannel-wrapper
@@ -0,0 +1,42 @@
+#!/bin/bash
+# The "flannel-wrapper" script can't be deleted because ct overwrites
+# the ExecStart directive with flannel-wrapper. Do the new action of
+# ExecStart here.
+set -e
+
+ETCD_SSL_DIR="${ETCD_SSL_DIR:-/etc/ssl/etcd}"
+RUN_ARGS=""
+if [[ -d "${ETCD_SSL_DIR}" ]]; then
+ RUN_ARGS="-v ${ETCD_SSL_DIR}:${ETCD_SSL_DIR}:ro"
+fi
+
+mkdir --parents /run/flannel
+
+
+WRAP=""
+if [[ -S "${NOTIFY_SOCKET}" ]]; then
+ WRAP="/usr/libexec/sdnotify-proxy /run/${FLANNEL_CONTAINER}-notify"
+fi
+
+# A better way to run the Flannel/etcd container image is Podman because
+# Flannel depends on etcd but wants to be run before Docker so that it
+# can set up the Docker networking. Etcd and Flannel are part of the
+# Container Linux Config specification and thus can't be dropped easily.
+# For now we have to resort to running these services with Docker and try
+# to restart Docker for the Flannel options to take effect (but that also
+# terminates the etcd and flannel containers, causing the services to
+# restart).
+RESTART_DOCKER=0
+if [ "${FLANNEL_CMD}" = "/opt/bin/mk-docker-opts.sh" ] && [ "$1" = "-d" ] && [ ! -f "$2" ]; then
+ # only restart Docker only on first run, propagating updates on later runs was not done before in the rkt version, so keep the behavior
+ # (which also helps to break the loop which otherwise exists because "restart docker" mentioned above)
+ RESTART_DOCKER=1
+fi
+/usr/bin/docker stop ${FLANNEL_CONTAINER} || true
+/usr/bin/docker rm -f ${FLANNEL_CONTAINER} || true
+# mapping only /run/${FLANNEL_CONTAINER}-notify does not work and we map the full /run (using /run:/run covers /run/flannel, too), also we must set NOTIFY_SOCKET in the container but use the original for /usr/libexec/sdnotify-proxy
+${WRAP} /usr/bin/docker run --name ${FLANNEL_CONTAINER} --privileged --network=host --ipc=host ${RUN_ARGS} -v /run:/run:rw -v /etc/ssl/certs:/etc/ssl/certs:ro -v /usr/share/ca-certificates:/usr/share/ca-certificates:ro --env-file <(env; echo PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; echo NOTIFY_SOCKET=/run/${FLANNEL_CONTAINER}-notify) --entrypoint ${FLANNEL_CMD} ${FLANNEL_IMAGE:-${FLANNEL_IMAGE_URL}:${FLANNEL_IMAGE_TAG}} "$@"
+if [ "${RESTART_DOCKER}" = 1 ]; then
+ systemctl restart docker
+ echo "Restarted Docker to apply Flannel options"
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/flanneld.service b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/flanneld.service
new file mode 100644
index 0000000000..7fa589d6bf
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/files/flanneld.service
@@ -0,0 +1,29 @@
+[Unit]
+Description=flannel - Network fabric for containers (System Application Container)
+Documentation=https://github.com/coreos/flannel
+After=etcd.service etcd2.service etcd-member.service
+Requires=flannel-docker-opts.service
+
+[Service]
+Type=notify
+NotifyAccess=all
+Restart=always
+RestartSec=10s
+TimeoutStartSec=300
+LimitNOFILE=40000
+LimitNPROC=1048576
+
+Environment="FLANNEL_IMAGE_URL=quay.io/coreos/flannel"
+Environment="FLANNEL_IMAGE_TAG=@FLANNEL_IMAGE_TAG@"
+Environment="FLANNEL_OPTS=--ip-masq=true"
+Environment="FLANNEL_CMD=/opt/bin/flanneld"
+Environment="FLANNEL_CONTAINER=flannel"
+EnvironmentFile=-/run/flannel/options.env
+
+ExecStartPre=/sbin/modprobe ip_tables
+ExecStart=/usr/lib/flatcar/flannel-wrapper $FLANNEL_OPTS
+ExecStop=/usr/bin/docker stop flannel
+ExecStopPost=/usr/bin/docker rm flannel
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/flannel-wrapper-0.14.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/flannel-wrapper-0.14.0.ebuild
new file mode 100644
index 0000000000..31fe837498
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/flannel-wrapper-0.14.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd
+
+DESCRIPTION="flannel (System Application Container)"
+HOMEPAGE="https://github.com/coreos/flannel"
+
+KEYWORDS="amd64 arm64"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ !app-admin/flannel
+ >=app-admin/sdnotify-proxy-0.1.0
+"
+
+S="$WORKDIR"
+
+src_install() {
+ local tag="v${PV}"
+ if [[ "${ARCH}" != "amd64" ]]; then
+ tag+="-${ARCH}"
+ fi
+
+ exeinto /usr/lib/flatcar
+ doexe "${FILESDIR}"/flannel-wrapper
+
+ sed "s|@FLANNEL_IMAGE_TAG@|${tag}|g" \
+ "${FILESDIR}"/flanneld.service > ${T}/flanneld.service
+ systemd_dounit ${T}/flanneld.service
+
+ sed "s|@FLANNEL_IMAGE_TAG@|${tag}|g" \
+ "${FILESDIR}"/flannel-docker-opts.service > ${T}/flannel-docker-opts.service
+ systemd_dounit ${T}/flannel-docker-opts.service
+
+ insinto /usr/lib/systemd/network
+ doins "${FILESDIR}"/50-flannel.network
+ doins "${FILESDIR}"/50-flannel.link
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/flannel-wrapper/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/locksmith/locksmith-0.7.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/locksmith/locksmith-0.7.0.ebuild
new file mode 120000
index 0000000000..5771961c24
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/locksmith/locksmith-0.7.0.ebuild
@@ -0,0 +1 @@
+locksmith-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/locksmith/locksmith-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/locksmith/locksmith-9999.ebuild
new file mode 100644
index 0000000000..0b063ed000
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/locksmith/locksmith-9999.ebuild
@@ -0,0 +1,37 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="flatcar/locksmith"
+CROS_WORKON_LOCALNAME="locksmith"
+CROS_WORKON_REPO="https://github.com"
+COREOS_GO_PACKAGE="github.com/flatcar/locksmith"
+inherit cros-workon systemd coreos-go
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="c4cca93a15c7b7fd175e6687a83fc2725029a17a" # flatcar-master
+ KEYWORDS="amd64 arm64"
+fi
+
+DESCRIPTION="locksmith"
+HOMEPAGE="https://github.com/flatcar/locksmith"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+src_compile() {
+ COREOS_GO_MOD=vendor go_build "${COREOS_GO_PACKAGE}/locksmithctl"
+}
+
+src_install() {
+ dobin ${GOBIN}/locksmithctl
+ dodir /usr/lib/locksmith
+ dosym ../../../bin/locksmithctl /usr/lib/locksmith/locksmithd
+
+ systemd_dounit "${S}"/systemd/locksmithd.service
+ systemd_enable_service multi-user.target locksmithd.service
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/locksmith/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/locksmith/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/locksmith/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/mayday/mayday-1.0.0-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/mayday/mayday-1.0.0-r2.ebuild
new file mode 120000
index 0000000000..f1e34b30f4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/mayday/mayday-1.0.0-r2.ebuild
@@ -0,0 +1 @@
+mayday-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/mayday/mayday-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/mayday/mayday-9999.ebuild
new file mode 100644
index 0000000000..7aaf9801c4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/mayday/mayday-9999.ebuild
@@ -0,0 +1,35 @@
+# Copyright (c) 2015 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="flatcar/mayday"
+CROS_WORKON_LOCALNAME="mayday"
+CROS_WORKON_REPO="https://github.com"
+COREOS_GO_PACKAGE="github.com/flatcar/mayday"
+inherit coreos-go cros-workon
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="9de08c8f9f4360fe52cb3a56a7fb8f4bc4e75dcc" # flatcar-master
+ KEYWORDS="amd64 arm64"
+fi
+
+DESCRIPTION="mayday"
+HOMEPAGE="https://github.com/flatcar/mayday"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+src_compile() {
+ COREOS_GO_MOD=vendor go_build "${COREOS_GO_PACKAGE}"
+}
+
+src_install() {
+ newbin ${GOBIN}/mayday mayday
+ insinto /usr/share/mayday
+ doins "${S}/default.json"
+}
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/mayday/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/mayday/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/mayday/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/sdnotify-proxy/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/sdnotify-proxy/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/sdnotify-proxy/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/sdnotify-proxy/sdnotify-proxy-0.1.0-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/sdnotify-proxy/sdnotify-proxy-0.1.0-r3.ebuild
new file mode 120000
index 0000000000..e74a1470d7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/sdnotify-proxy/sdnotify-proxy-0.1.0-r3.ebuild
@@ -0,0 +1 @@
+sdnotify-proxy-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/sdnotify-proxy/sdnotify-proxy-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/sdnotify-proxy/sdnotify-proxy-9999.ebuild
new file mode 100644
index 0000000000..09741cb18f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/sdnotify-proxy/sdnotify-proxy-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="kinvolk/sdnotify-proxy"
+CROS_WORKON_LOCALNAME="sdnotify-proxy"
+CROS_WORKON_REPO="https://github.com"
+COREOS_GO_PACKAGE="github.com/coreos/sdnotify-proxy"
+COREOS_GO_GO111MODULE="off"
+inherit coreos-go cros-workon
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="0f8ef1aa86c59fc6d54eadaffb248feaccd1018b" # master
+ KEYWORDS="amd64 arm64"
+fi
+
+DESCRIPTION="sdnotify-proxy"
+HOMEPAGE="https://github.com/coreos/sdnotify-proxy"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+src_install() {
+ # Put sdnotify-proxy into its well-know location.
+ exeinto /usr/libexec
+ doexe ${GOBIN}/sdnotify-proxy
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/Manifest b/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/Manifest
new file mode 100644
index 0000000000..98d0e91a1c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/Manifest
@@ -0,0 +1,2 @@
+DIST sudo-1.8.31.tar.gz 3350674 BLAKE2B de5a968732fdd58933b4c513d13c43a08cb50075a00c3e0d338c9892570a416a2b3a8f19940c0893715f4eeab991e804831a87ef656ffd91e7f1ba047c119261 SHA512 b9e408a322938c7a712458e9012d8a5f648fba5b23a5057cf5d8372c7f931262595f1575c32c32b9cb1a04af670ff4611e7df48d197e5c4cc038d6b65439a28a
+DIST sudo-1.9.5p2.tar.gz 4012277 BLAKE2B 41913887463e4f775564af8d614fb5ed762200aa777dc789ec333842d4f432323474fc952a531fe929b33607cdfbcd18d7fe7470a15d67139deaf855841ed11f SHA512 f0fe914963c31a6f8ab6c86847ff6cdd125bd5a839b27f46dcae03963f4fc413b3d4cca54c1979feb825c8479b44c7df0642c07345c941eecf6f9f1e03ea0e27
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/metadata.xml
new file mode 100644
index 0000000000..72faa0680c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/metadata.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+
+ Sudo (superuser do) allows a system administrator to give certain
+ users (or groups of users) the ability to run some (or all)
+ commands as root or another user while logging the commands and
+ arguments.
+
+
+
+ cpe:/a:todd_miller:sudo
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/sudo-1.8.31.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/sudo-1.8.31.ebuild
new file mode 100644
index 0000000000..5c6a768ae8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/sudo-1.8.31.ebuild
@@ -0,0 +1,259 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit pam multilib libtool tmpfiles
+
+MY_P="${P/_/}"
+MY_P="${MY_P/beta/b}"
+
+DESCRIPTION="Allows users or groups to run commands as other users"
+HOMEPAGE="https://www.sudo.ws/"
+if [[ ${PV} == "9999" ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
+else
+ uri_prefix=
+ case ${P} in
+ *_beta*|*_rc*) uri_prefix=beta/ ;;
+ esac
+
+ SRC_URI="https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
+ ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
+ if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-solaris"
+ fi
+fi
+
+# Basic license is ISC-style as-is, some files are released under
+# 3-clause BSD license
+LICENSE="ISC BSD"
+SLOT="0"
+IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey sssd system-digest"
+
+DEPEND="
+ sys-libs/zlib:=
+ ldap? (
+ >=net-nds/openldap-2.1.30-r1
+ sasl? (
+ dev-libs/cyrus-sasl
+ net-nds/openldap[sasl]
+ )
+ )
+ pam? ( sys-libs/pam )
+ sasl? ( dev-libs/cyrus-sasl )
+ skey? ( >=sys-auth/skey-1.1.5-r1 )
+ sssd? ( sys-auth/sssd[sudo] )
+ system-digest? (
+ gcrypt? ( dev-libs/libgcrypt:= )
+ !gcrypt? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=app-misc/editor-wrapper-3
+ virtual/editor
+ pam? ( sys-auth/pambase )
+ selinux? ( sec-policy/selinux-sudo )
+ sendmail? ( virtual/mta )
+"
+BDEPEND="
+ sys-devel/bison
+"
+
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+ pam? ( !skey )
+ skey? ( !pam )
+"
+
+MAKEOPTS+=" SAMPLES="
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+set_secure_path() {
+ # FIXME: secure_path is a compile time setting. using PATH or
+ # ROOTPATH is not perfect, env-update may invalidate this, but until it
+ # is available as a sudoers setting this will have to do.
+ einfo "Setting secure_path ..."
+
+ # first extract the default ROOTPATH from build env
+ SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env;
+ echo "${ROOTPATH}")
+ case "${SECURE_PATH}" in
+ */usr/sbin*) ;;
+ *) SECURE_PATH=$(unset PATH;
+ . "${EPREFIX}"/etc/profile.env; echo "${PATH}")
+ ;;
+ esac
+ if [[ -z ${SECURE_PATH} ]] ; then
+ ewarn " Failed to detect SECURE_PATH, please report this"
+ fi
+
+ # then remove duplicate path entries
+ cleanpath() {
+ local newpath thisp IFS=:
+ for thisp in $1 ; do
+ if [[ :${newpath}: != *:${thisp}:* ]] ; then
+ newpath+=:${thisp}
+ else
+ einfo " Duplicate entry ${thisp} removed..."
+ fi
+ done
+ SECURE_PATH=${newpath#:}
+ }
+ cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
+
+ # finally, strip gcc paths #136027
+ rmpath() {
+ local e newpath thisp IFS=:
+ for thisp in ${SECURE_PATH} ; do
+ for e ; do [[ ${thisp} == ${e} ]] && continue 2 ; done
+ newpath+=:${thisp}
+ done
+ SECURE_PATH=${newpath#:}
+ }
+ rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
+
+ einfo "... done"
+}
+
+src_configure() {
+ local SECURE_PATH
+ set_secure_path
+
+ # audit: somebody got to explain me how I can test this before I
+ # enable it.. - Diego
+ # plugindir: autoconf code is crappy and does not delay evaluation
+ # until `make` time, so we have to use a full path here rather than
+ # basing off other values.
+ myeconfargs=(
+ --enable-zlib=system
+ --enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
+ --with-editor="${EPREFIX}"/usr/libexec/editor
+ --with-env-editor
+ --with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
+ --with-rundir="${EPREFIX}"/run/sudo
+ $(use_with secure-path secure-path "${SECURE_PATH}")
+ --with-vardir="${EPREFIX}"/var/db/sudo
+ --without-linux-audit
+ --without-opie
+ $(use_enable gcrypt)
+ $(use_enable nls)
+ $(use_enable sasl)
+ $(use_with offensive insults)
+ $(use_with offensive all-insults)
+ $(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
+ $(use_with ldap)
+ $(use_with pam)
+ $(use_with skey)
+ $(use_with sssd)
+ $(use_with selinux)
+ $(use_with sendmail)
+ )
+
+ if use system-digest && ! use gcrypt; then
+ myeconfargs+=("--enable-openssl")
+ else
+ myeconfargs+=("--disable-openssl")
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ if use ldap ; then
+ dodoc README.LDAP
+
+ cat <<-EOF > "${T}"/ldap.conf.sudo
+ # See ldap.conf(5) and README.LDAP for details
+ # This file should only be readable by root
+
+ # supported directives: host, port, ssl, ldap_version
+ # uri, binddn, bindpw, sudoers_base, sudoers_debug
+ # tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
+ EOF
+
+ if use sasl ; then
+ cat <<-EOF >> "${T}"/ldap.conf.sudo
+
+ # SASL directives: use_sasl, sasl_mech, sasl_auth_id
+ # sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
+ EOF
+ fi
+
+ insinto /etc
+ doins "${T}"/ldap.conf.sudo
+ fperms 0440 /etc/ldap.conf.sudo
+ fi
+
+ pamd_mimic system-auth sudo auth account session
+
+ keepdir /var/db/sudo/lectured
+ fperms 0700 /var/db/sudo/lectured
+ fperms 0711 /var/db/sudo #652958
+
+ # Don't install into /run as that is a tmpfs most of the time
+ # (bug #504854)
+ rm -rf "${ED}"/run
+
+ find "${ED}" -type f -name "*.la" -delete || die #697812
+}
+
+pkg_postinst() {
+ tmpfiles_process sudo.conf
+
+ #652958
+ local sudo_db="${EROOT}/var/db/sudo"
+ if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
+ chmod 711 "${sudo_db}" || die
+ fi
+
+ if use ldap ; then
+ ewarn
+ ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
+ ewarn
+ if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
+ ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
+ ewarn "configured in /etc/nsswitch.conf."
+ ewarn
+ ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
+ ewarn " sudoers: ldap files"
+ ewarn
+ fi
+ fi
+ if use prefix ; then
+ ewarn
+ ewarn "To use sudo, you need to change file ownership and permissions"
+ ewarn "with root privileges, as follows:"
+ ewarn
+ ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
+ ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
+ ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
+ ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
+ ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
+ ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
+ ewarn
+ fi
+
+ elog "To use the -A (askpass) option, you need to install a compatible"
+ elog "password program from the following list. Starred packages will"
+ elog "automatically register for the use with sudo (but will not force"
+ elog "the -A option):"
+ elog ""
+ elog " [*] net-misc/ssh-askpass-fullscreen"
+ elog " net-misc/x11-ssh-askpass"
+ elog ""
+ elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
+ elog "variable to the program you want to use."
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/sudo-1.9.5_p2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/sudo-1.9.5_p2.ebuild
new file mode 100644
index 0000000000..413bb5d9f1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/sudo/sudo-1.9.5_p2.ebuild
@@ -0,0 +1,271 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit pam multilib libtool systemd tmpfiles
+
+MY_P="${P/_/}"
+MY_P="${MY_P/beta/b}"
+
+DESCRIPTION="Allows users or groups to run commands as other users"
+HOMEPAGE="https://www.sudo.ws/"
+if [[ ${PV} == "9999" ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
+else
+ uri_prefix=
+ case ${P} in
+ *_beta*|*_rc*) uri_prefix=beta/ ;;
+ esac
+
+ SRC_URI="https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
+ ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
+ if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~sparc-solaris"
+ fi
+fi
+
+# Basic license is ISC-style as-is, some files are released under
+# 3-clause BSD license
+LICENSE="ISC BSD"
+SLOT="0"
+IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
+
+DEPEND="
+ sys-libs/zlib:=
+ gcrypt? ( dev-libs/libgcrypt:= )
+ ldap? (
+ >=net-nds/openldap-2.1.30-r1
+ sasl? (
+ dev-libs/cyrus-sasl
+ net-nds/openldap[sasl]
+ )
+ )
+ pam? ( sys-libs/pam )
+ sasl? ( dev-libs/cyrus-sasl )
+ skey? ( >=sys-auth/skey-1.1.5-r1 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ sssd? ( sys-auth/sssd[sudo] )
+"
+
+# Flatcar: remove perl runtime dependency
+# ldap? ( dev-lang/perl )
+
+RDEPEND="
+ ${DEPEND}
+ >=app-misc/editor-wrapper-3
+ virtual/editor
+ pam? ( sys-auth/pambase )
+ selinux? ( sec-policy/selinux-sudo )
+ sendmail? ( virtual/mta )
+"
+BDEPEND="
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+ ?? ( pam skey )
+ ?? ( gcrypt ssl )
+"
+
+MAKEOPTS+=" SAMPLES="
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+set_secure_path() {
+ # FIXME: secure_path is a compile time setting. using PATH or
+ # ROOTPATH is not perfect, env-update may invalidate this, but until it
+ # is available as a sudoers setting this will have to do.
+ einfo "Setting secure_path ..."
+
+ # first extract the default ROOTPATH from build env
+ SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env;
+ echo "${ROOTPATH}")
+ case "${SECURE_PATH}" in
+ */usr/sbin*) ;;
+ *) SECURE_PATH=$(unset PATH;
+ . "${EPREFIX}"/etc/profile.env; echo "${PATH}")
+ ;;
+ esac
+ if [[ -z ${SECURE_PATH} ]] ; then
+ ewarn " Failed to detect SECURE_PATH, please report this"
+ fi
+
+ # then remove duplicate path entries
+ cleanpath() {
+ local newpath thisp IFS=:
+ for thisp in $1 ; do
+ if [[ :${newpath}: != *:${thisp}:* ]] ; then
+ newpath+=:${thisp}
+ else
+ einfo " Duplicate entry ${thisp} removed..."
+ fi
+ done
+ SECURE_PATH=${newpath#:}
+ }
+ cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
+
+ # finally, strip gcc paths #136027
+ rmpath() {
+ local e newpath thisp IFS=:
+ for thisp in ${SECURE_PATH} ; do
+ for e ; do [[ ${thisp} == ${e} ]] && continue 2 ; done
+ newpath+=:${thisp}
+ done
+ SECURE_PATH=${newpath#:}
+ }
+ rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
+
+ einfo "... done"
+}
+
+src_configure() {
+ local SECURE_PATH
+ set_secure_path
+
+ # audit: somebody got to explain me how I can test this before I
+ # enable it.. - Diego
+ # plugindir: autoconf code is crappy and does not delay evaluation
+ # until `make` time, so we have to use a full path here rather than
+ # basing off other values.
+ myeconfargs=(
+ # requires some python eclass
+ --disable-python
+ --enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
+ --enable-zlib=system
+ --with-editor="${EPREFIX}"/usr/libexec/editor
+ --with-env-editor
+ --with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
+ --with-rundir="${EPREFIX}"/run/sudo
+ --with-vardir="${EPREFIX}"/var/db/sudo
+ --without-linux-audit
+ --without-opie
+ $(use_enable gcrypt)
+ $(use_enable nls)
+ $(use_enable sasl)
+ $(use_enable ssl openssl)
+ $(use_with ldap)
+ $(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
+ $(use_with offensive insults)
+ $(use_with offensive all-insults)
+ $(use_with pam)
+ $(use_with pam pam-login)
+ $(use_with secure-path secure-path "${SECURE_PATH}")
+ $(use_with selinux)
+ $(use_with sendmail)
+ $(use_with skey)
+ $(use_with sssd)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ if use ldap ; then
+ dodoc README.LDAP
+
+ cat <<-EOF > "${T}"/ldap.conf.sudo
+ # See ldap.conf(5) and README.LDAP for details
+ # This file should only be readable by root
+
+ # supported directives: host, port, ssl, ldap_version
+ # uri, binddn, bindpw, sudoers_base, sudoers_debug
+ # tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
+ EOF
+
+ if use sasl ; then
+ cat <<-EOF >> "${T}"/ldap.conf.sudo
+
+ # SASL directives: use_sasl, sasl_mech, sasl_auth_id
+ # sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
+ EOF
+ fi
+
+ insinto /etc
+ doins "${T}"/ldap.conf.sudo
+ fperms 0440 /etc/ldap.conf.sudo
+
+ # Flatcar: we don't ship openldap schemas
+ #insinto /etc/openldap/schema
+ #newins doc/schema.OpenLDAP sudo.schema
+ fi
+ if use pam; then
+ pamd_mimic system-auth sudo auth account session
+ pamd_mimic system-auth sudo-i auth account session
+ fi
+
+ keepdir /var/db/sudo/lectured
+ fperms 0700 /var/db/sudo/lectured
+ fperms 0711 /var/db/sudo #652958
+
+ # Don't install into /run as that is a tmpfs most of the time
+ # (bug #504854)
+ rm -rf "${ED}"/run || die
+
+ find "${ED}" -type f -name "*.la" -delete || die #697812
+
+ # Flatcar specific:
+ # - remove sudo.conf (shipped by baselayout)
+ rm "${ED}/etc/sudo.conf"
+ # Flatcar end
+}
+
+pkg_postinst() {
+ tmpfiles_process sudo.conf
+
+ #652958
+ local sudo_db="${EROOT}/var/db/sudo"
+ if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
+ chmod 711 "${sudo_db}" || die
+ fi
+
+ if use ldap ; then
+ ewarn
+ ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
+ ewarn
+ if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
+ ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
+ ewarn "configured in /etc/nsswitch.conf."
+ ewarn
+ ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
+ ewarn " sudoers: ldap files"
+ ewarn
+ fi
+ fi
+ if use prefix ; then
+ ewarn
+ ewarn "To use sudo, you need to change file ownership and permissions"
+ ewarn "with root privileges, as follows:"
+ ewarn
+ ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
+ ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
+ ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
+ ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
+ ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
+ ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
+ ewarn
+ fi
+
+ elog "To use the -A (askpass) option, you need to install a compatible"
+ elog "password program from the following list. Starred packages will"
+ elog "automatically register for the use with sudo (but will not force"
+ elog "the -A option):"
+ elog ""
+ elog " [*] net-misc/ssh-askpass-fullscreen"
+ elog " net-misc/x11-ssh-askpass"
+ elog ""
+ elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
+ elog "variable to the program you want to use."
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/toolbox/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/toolbox/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/toolbox/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/toolbox/toolbox-0.0.0-r16.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/toolbox/toolbox-0.0.0-r16.ebuild
new file mode 120000
index 0000000000..54febbc58a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/toolbox/toolbox-0.0.0-r16.ebuild
@@ -0,0 +1 @@
+toolbox-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/toolbox/toolbox-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/toolbox/toolbox-9999.ebuild
new file mode 100644
index 0000000000..9520a0f184
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/toolbox/toolbox-9999.ebuild
@@ -0,0 +1,28 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="flatcar/toolbox"
+CROS_WORKON_LOCALNAME="toolbox"
+CROS_WORKON_REPO="https://github.com"
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="a851cb8961f092012e4d64ba1e71b27b36b7ec9d" # flatcar-master
+ KEYWORDS="amd64 arm64"
+fi
+
+inherit cros-workon
+
+DESCRIPTION="toolbox"
+HOMEPAGE="https://github.com/flatcar/toolbox"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+src_install() {
+ dobin ${S}/toolbox
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/updateservicectl/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/updateservicectl/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/updateservicectl/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/updateservicectl/updateservicectl-2.1.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/updateservicectl/updateservicectl-2.1.0.ebuild
new file mode 120000
index 0000000000..5a4f2b118e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/updateservicectl/updateservicectl-2.1.0.ebuild
@@ -0,0 +1 @@
+updateservicectl-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/updateservicectl/updateservicectl-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/updateservicectl/updateservicectl-9999.ebuild
new file mode 100644
index 0000000000..f8c95fe3e8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-admin/updateservicectl/updateservicectl-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="kinvolk/updateservicectl"
+CROS_WORKON_LOCALNAME="updateservicectl"
+CROS_WORKON_REPO="https://github.com"
+COREOS_GO_PACKAGE="github.com/kinvolk/updateservicectl"
+COREOS_GO_GO111MODULE="on"
+inherit cros-workon coreos-go
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="6a4ff4ca879082c07353dd379439c437cbe27e18" # main
+ KEYWORDS="amd64 arm64"
+fi
+
+DESCRIPTION="CoreUpdate Management CLI"
+HOMEPAGE="https://github.com/kinvolk/updateservicectl"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+RDEPEND="!app-admin/updatectl"
+
+src_prepare() {
+ coreos-go_src_prepare
+ GOPATH+=":${S}/Godeps/_workspace"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/Manifest b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/Manifest
new file mode 100644
index 0000000000..03ffea8912
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/Manifest
@@ -0,0 +1,2 @@
+DIST bzip2-1.0.6.tar.gz 782025 BLAKE2B b31533af7c71d715e6600874bb0a11b9b3aebbb08af0414a6d88bd5a2ad879a482ad408338159cb6c241815da8f48798d2ea7789ea971431d0be42ee827b0a7e SHA512 00ace5438cfa0c577e5f578d8a808613187eff5217c35164ffe044fbafdfec9e98f4192c02a7d67e01e5a5ccced630583ad1003c37697219b0f147343a3fdd12
+DIST bzip2-1.0.8.tar.gz 810029 BLAKE2B 22ab3acd84f4db8c3d6f59340c252faedfd4447cea00dafbd652e65b6cf8a20adf6835c22e58563004cfafdb15348c924996230b4b23cae42da5e25eeac4bdad SHA512 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/bzip2-1.0.6-r12.ebuild b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/bzip2-1.0.6-r12.ebuild
new file mode 100644
index 0000000000..ef8bc3b3a8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/bzip2-1.0.6-r12.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly
+# (since we're building shared libs) ...
+
+EAPI=6
+
+inherit toolchain-funcs multilib-minimal
+
+DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
+HOMEPAGE="https://sourceware.org/bzip2/"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="BZIP2"
+SLOT="0/1" # subslot = SONAME
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static static-libs"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch
+ "${FILESDIR}"/${PN}-1.0.6-saneso.patch
+ "${FILESDIR}"/${PN}-1.0.4-man-links.patch #172986
+ "${FILESDIR}"/${PN}-1.0.6-progress.patch
+ "${FILESDIR}"/${PN}-1.0.3-no-test.patch
+ "${FILESDIR}"/${PN}-1.0.4-POSIX-shell.patch #193365
+ "${FILESDIR}"/${PN}-1.0.6-mingw.patch #393573
+ "${FILESDIR}"/${PN}-1.0.6-out-of-tree-build.patch
+ "${FILESDIR}"/${PN}-1.0.6-CVE-2016-3189.patch #620466
+ "${FILESDIR}"/${PN}-1.0.6-ubsan-error.patch
+)
+
+DOCS=( CHANGES README{,.COMPILATION.PROBLEMS,.XML.STUFF} manual.pdf )
+HTML_DOCS=( manual.html )
+
+src_prepare() {
+ default
+
+ # - Use right man path
+ # - Generate symlinks instead of hardlinks
+ # - pass custom variables to control libdir
+ sed -i \
+ -e 's:\$(PREFIX)/man:\$(PREFIX)/share/man:g' \
+ -e 's:ln -s -f $(PREFIX)/bin/:ln -s -f :' \
+ -e 's:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \
+ Makefile || die
+}
+
+bemake() {
+ emake \
+ VPATH="${S}" \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ "$@"
+}
+
+multilib_src_compile() {
+ bemake -f "${S}"/Makefile-libbz2_so all
+ # Make sure we link against the shared lib #504648
+ ln -s libbz2.so.${PV} libbz2.so || die
+ bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static '')"
+}
+
+multilib_src_install() {
+ into /usr
+
+ # Install the shared lib manually. We install:
+ # .x.x.x - standard shared lib behavior
+ # .x.x - SONAME some distros use #338321
+ # .x - SONAME Gentoo uses
+ dolib.so libbz2.so.${PV}
+ local v
+ for v in libbz2.so{,.{${PV%%.*},${PV%.*}}} ; do
+ dosym libbz2.so.${PV} /usr/$(get_libdir)/${v}
+ done
+ use static-libs && dolib.a libbz2.a
+
+ if multilib_is_native_abi ; then
+ gen_usr_ldscript -a bz2
+
+ dobin bzip2recover
+ into /
+ dobin bzip2
+ fi
+}
+
+multilib_src_install_all() {
+ # `make install` doesn't cope with out-of-tree builds, nor with
+ # installing just non-binaries, so handle things ourselves.
+ insinto /usr/include
+ doins bzlib.h
+ into /usr
+ dobin bz{diff,grep,more}
+ doman *.1
+
+ dosym bzdiff /usr/bin/bzcmp
+ dosym bzdiff.1 /usr/share/man/man1/bzcmp.1
+
+ dosym bzmore /usr/bin/bzless
+ dosym bzmore.1 /usr/share/man/man1/bzless.1
+
+ local x
+ for x in bunzip2 bzcat bzip2recover ; do
+ dosym bzip2.1 /usr/share/man/man1/${x}.1
+ done
+ for x in bz{e,f}grep ; do
+ dosym bzgrep /usr/bin/${x}
+ dosym bzgrep.1 /usr/share/man/man1/${x}.1
+ done
+
+ einstalldocs
+
+ # move "important" bzip2 binaries to /bin and use the shared libbz2.so
+ dosym bzip2 /bin/bzcat
+ dosym bzip2 /bin/bunzip2
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/bzip2-1.0.8-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/bzip2-1.0.8-r1.ebuild
new file mode 100644
index 0000000000..9b4062d3ee
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/bzip2-1.0.8-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly
+# (since we're building shared libs) ...
+
+EAPI=6
+
+inherit toolchain-funcs multilib-minimal usr-ldscript
+
+DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
+HOMEPAGE="https://sourceware.org/bzip2/"
+SRC_URI="https://sourceware.org/pub/${PN}/${P}.tar.gz"
+
+LICENSE="BZIP2"
+SLOT="0/1" # subslot = SONAME
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="static static-libs"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch
+ "${FILESDIR}"/${PN}-1.0.8-saneso.patch
+ "${FILESDIR}"/${PN}-1.0.4-man-links.patch #172986
+ "${FILESDIR}"/${PN}-1.0.6-progress.patch
+ "${FILESDIR}"/${PN}-1.0.3-no-test.patch
+ "${FILESDIR}"/${PN}-1.0.8-mingw.patch #393573
+ "${FILESDIR}"/${PN}-1.0.8-out-of-tree-build.patch
+)
+
+DOCS=( CHANGES README{,.COMPILATION.PROBLEMS,.XML.STUFF} manual.pdf )
+HTML_DOCS=( manual.html )
+
+src_prepare() {
+ default
+
+ # - Use right man path
+ # - Generate symlinks instead of hardlinks
+ # - pass custom variables to control libdir
+ sed -i \
+ -e 's:\$(PREFIX)/man:\$(PREFIX)/share/man:g' \
+ -e 's:ln -s -f $(PREFIX)/bin/:ln -s -f :' \
+ -e 's:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \
+ Makefile || die
+}
+
+bemake() {
+ emake \
+ VPATH="${S}" \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ "$@"
+}
+
+multilib_src_compile() {
+ bemake -f "${S}"/Makefile-libbz2_so all
+ # Make sure we link against the shared lib #504648
+ ln -s libbz2.so.${PV} libbz2.so || die
+ bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static '')"
+}
+
+multilib_src_install() {
+ into /usr
+
+ # Install the shared lib manually. We install:
+ # .x.x.x - standard shared lib behavior
+ # .x.x - SONAME some distros use #338321
+ # .x - SONAME Gentoo uses
+ dolib.so libbz2.so.${PV}
+ local v
+ for v in libbz2.so{,.{${PV%%.*},${PV%.*}}} ; do
+ dosym libbz2.so.${PV} /usr/$(get_libdir)/${v}
+ done
+
+ # Install libbz2.so.1.0 due to accidental soname change in 1.0.7.
+ # Reference: 98da0ad82192d21ad74ae52366ea8466e2acea24.
+ # OK to remove one year after 2020-04-11.
+ if [[ ! -L "${ED}/usr/$(get_libdir)/libbz2.so.1.0" ]]; then
+ dosym libbz2.so.${PV} "/usr/$(get_libdir)/libbz2.so.1.0"
+ fi
+
+ use static-libs && dolib.a libbz2.a
+
+ if multilib_is_native_abi ; then
+ gen_usr_ldscript -a bz2
+
+ dobin bzip2recover
+ into /
+ dobin bzip2
+ fi
+}
+
+multilib_src_install_all() {
+ # `make install` doesn't cope with out-of-tree builds, nor with
+ # installing just non-binaries, so handle things ourselves.
+ insinto /usr/include
+ doins bzlib.h
+ into /usr
+ dobin bz{diff,grep,more}
+ doman *.1
+
+ dosym bzdiff /usr/bin/bzcmp
+ dosym bzdiff.1 /usr/share/man/man1/bzcmp.1
+
+ dosym bzmore /usr/bin/bzless
+ dosym bzmore.1 /usr/share/man/man1/bzless.1
+
+ local x
+ for x in bunzip2 bzcat bzip2recover ; do
+ dosym bzip2.1 /usr/share/man/man1/${x}.1
+ done
+ for x in bz{e,f}grep ; do
+ dosym bzgrep /usr/bin/${x}
+ dosym bzgrep.1 /usr/share/man/man1/${x}.1
+ done
+
+ einstalldocs
+
+ # move "important" bzip2 binaries to /bin and use the shared libbz2.so
+ dosym bzip2 /bin/bzcat
+ dosym bzip2 /bin/bunzip2
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.3-no-test.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.3-no-test.patch
new file mode 100644
index 0000000000..9e554f7951
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.3-no-test.patch
@@ -0,0 +1,9 @@
+--- a/Makefile
++++ b/Makefile
+@@ -23,5 +23,5 @@
+ bzlib.o
+
+-all: libbz2.a bzip2 bzip2recover test
++all: libbz2.a bzip2 bzip2recover
+
+ bzip2: libbz2.a bzip2.o
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch
new file mode 100644
index 0000000000..74f8df000b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch
@@ -0,0 +1,21 @@
+bzgrep uses !/bin/sh but then uses the bashism ${var//} so replace those
+with calls to sed so POSIX shells work
+
+http://bugs.gentoo.org/193365
+
+--- a/bzgrep
++++ b/bzgrep
+@@ -63,10 +63,9 @@
+ bzip2 -cdfq "$i" | $grep $opt "$pat"
+ r=$?
+ else
+- j=${i//\\/\\\\}
+- j=${j//|/\\|}
+- j=${j//&/\\&}
+- j=`printf "%s" "$j" | tr '\n' ' '`
++ # the backslashes here are doubled up as we have to escape each one for the
++ # shell and then escape each one for the sed expression
++ j=`printf "%s" "${i}" | sed -e 's:\\\\:\\\\\\\\:g' -e 's:[|]:\\\\|:g' -e 's:[&]:\\\\&:g' | tr '\n' ' '`
+ bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|"
+ r=$?
+ fi
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch
new file mode 100644
index 0000000000..04bd0d9abd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch
@@ -0,0 +1,25 @@
+--- a/Makefile
++++ b/Makefile
+@@ -18,10 +18,9 @@
+ CC=gcc
+ AR=ar
+ RANLIB=ranlib
+-LDFLAGS=
+
+ BIGFILES=-D_FILE_OFFSET_BITS=64
+-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
++CFLAGS+=-Wall -Winline $(BIGFILES) $(CPPFLAGS)
+
+ # Where you want it installed when you do 'make install'
+ PREFIX=/usr/local
+--- a/Makefile-libbz2_so
++++ b/Makefile-libbz2_so
+@@ -24,7 +24,7 @@
+ SHELL=/bin/sh
+ CC=gcc
+ BIGFILES=-D_FILE_OFFSET_BITS=64
+-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
++CFLAGS+=-fpic -fPIC -Wall -Winline $(BIGFILES) $(CPPFLAGS)
+
+ OBJS= blocksort.o \
+ huffman.o \
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.4-man-links.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.4-man-links.patch
new file mode 100644
index 0000000000..deaa981adc
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.4-man-links.patch
@@ -0,0 +1,12 @@
+http://bugs.gentoo.org/172986
+
+--- a/Makefile
++++ b/Makefile
+@@ -85,4 +85,7 @@
+ cp -f bzip2.1 $(PREFIX)/share/man/man1
+ chmod a+r $(PREFIX)/share/man/man1/bzip2.1
++ ln -s -f bzip2.1 $(PREFIX)/share/man/man1/bunzip2.1
++ ln -s -f bzip2.1 $(PREFIX)/share/man/man1/bzcat.1
++ ln -s -f bzip2.1 $(PREFIX)/share/man/man1/bzip2recover.1
+ cp -f bzlib.h $(PREFIX)/include
+ chmod a+r $(PREFIX)/include/bzlib.h
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-CVE-2016-3189.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-CVE-2016-3189.patch
new file mode 100644
index 0000000000..b031c808fe
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-CVE-2016-3189.patch
@@ -0,0 +1,18 @@
+Upstream-Status: Backport
+https://bugzilla.suse.com/attachment.cgi?id=681334
+
+CVE: CVE-2016-3189
+Signed-off-by: Armin Kuster
+
+Index: bzip2-1.0.6/bzip2recover.c
+===================================================================
+--- a/bzip2recover.c
++++ b/bzip2recover.c
+@@ -457,6 +457,7 @@ Int32 main ( Int32 argc, Char** argv )
+ bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
+ bsPutUInt32 ( bsWr, blockCRC );
+ bsClose ( bsWr );
++ outFile = NULL;
+ }
+ if (wrBlock >= rbCtr) break;
+ wrBlock++;
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-mingw.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-mingw.patch
new file mode 100644
index 0000000000..51469ca4c9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-mingw.patch
@@ -0,0 +1,27 @@
+make it build for mingw targets
+
+https://bugs.gentoo.org/393573
+
+--- a/bzip2.c
++++ b/bzip2.c
+@@ -129,7 +129,7 @@
+ #if BZ_LCCWIN32
+ # include
+ # include
+-# include
++# include
+
+ # define NORETURN /**/
+ # define PATH_SEP '\\'
+--- a/bzlib.h
++++ b/bzlib.h
+@@ -81,6 +81,9 @@ typedef
+ /* windows.h define small to char */
+ # undef small
+ # endif
++# ifndef WINAPI
++# define WINAPI
++# endif
+ # ifdef BZ_EXPORT
+ # define BZ_API(func) WINAPI func
+ # define BZ_EXTERN extern
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-out-of-tree-build.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-out-of-tree-build.patch
new file mode 100644
index 0000000000..806339ebb6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-out-of-tree-build.patch
@@ -0,0 +1,79 @@
+--- a/Makefile
++++ b/Makefile
+@@ -53,7 +53,6 @@ libbz2.a: $(OBJS)
+
+ check: test
+ test: bzip2
+- @cat words1
+ ./bzip2 -1 < sample1.ref > sample1.rb2
+ ./bzip2 -2 < sample2.ref > sample2.rb2
+ ./bzip2 -3 < sample3.ref > sample3.rb2
+@@ -66,7 +65,6 @@ test: bzip2
+ cmp sample1.tst sample1.ref
+ cmp sample2.tst sample2.ref
+ cmp sample3.tst sample3.ref
+- @cat words3
+
+ install: bzip2 bzip2recover
+ if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
+@@ -115,25 +113,8 @@ clean:
+ sample1.rb2 sample2.rb2 sample3.rb2 \
+ sample1.tst sample2.tst sample3.tst
+
+-blocksort.o: blocksort.c
+- @cat words0
+- $(CC) $(CFLAGS) -c blocksort.c
+-huffman.o: huffman.c
+- $(CC) $(CFLAGS) -c huffman.c
+-crctable.o: crctable.c
+- $(CC) $(CFLAGS) -c crctable.c
+-randtable.o: randtable.c
+- $(CC) $(CFLAGS) -c randtable.c
+-compress.o: compress.c
+- $(CC) $(CFLAGS) -c compress.c
+-decompress.o: decompress.c
+- $(CC) $(CFLAGS) -c decompress.c
+-bzlib.o: bzlib.c
+- $(CC) $(CFLAGS) -c bzlib.c
+-bzip2.o: bzip2.c
+- $(CC) $(CFLAGS) -c bzip2.c
+-bzip2recover.o: bzip2recover.c
+- $(CC) $(CFLAGS) -c bzip2recover.c
++%.o: %.c
++ $(CC) $(CFLAGS) -c $<
+
+
+ distclean: clean
+--- a/Makefile-libbz2_so
++++ b/Makefile-libbz2_so
+@@ -36,9 +36,7 @@ OBJS= blocksort.o \
+
+ all: $(OBJS)
+ $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.6 $(OBJS)
+- $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
+- rm -f libbz2.so.1.0
+- ln -s libbz2.so.1.0.6 libbz2.so.1.0
++ ln -sf libbz2.so.1.0.6 libbz2.so.1.0
+
+ clean:
+ rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared
+@@ -43,17 +43,5 @@ all: $(OBJS)
+ clean:
+ rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared
+
+-blocksort.o: blocksort.c
+- $(CC) $(CFLAGS) -c blocksort.c
+-huffman.o: huffman.c
+- $(CC) $(CFLAGS) -c huffman.c
+-crctable.o: crctable.c
+- $(CC) $(CFLAGS) -c crctable.c
+-randtable.o: randtable.c
+- $(CC) $(CFLAGS) -c randtable.c
+-compress.o: compress.c
+- $(CC) $(CFLAGS) -c compress.c
+-decompress.o: decompress.c
+- $(CC) $(CFLAGS) -c decompress.c
+-bzlib.o: bzlib.c
+- $(CC) $(CFLAGS) -c bzlib.c
++%.o: %.c
++ $(CC) $(CFLAGS) -c $<
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-progress.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-progress.patch
new file mode 100644
index 0000000000..8369597714
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-progress.patch
@@ -0,0 +1,163 @@
+Ripped from Mandrake
+
+http://bugs.gentoo.org/82192
+
+--- a/bzip2.1
++++ b/bzip2.1
+@@ -235,6 +235,10 @@
+ Suppress non-essential warning messages. Messages pertaining to
+ I/O errors and other critical events will not be suppressed.
+ .TP
++.B \-p \-\-show\-progress
++Show percentage of input\-file done and while compressing show the percentage
++of the original file the new file is.
++.TP
+ .B \-v --verbose
+ Verbose mode -- show the compression ratio for each file processed.
+ Further \-v's increase the verbosity level, spewing out lots of
+--- a/bzip2.c
++++ b/bzip2.c
+@@ -145,6 +145,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include "bzlib.h"
+
+@@ -301,6 +302,7 @@
+ Char progNameReally[FILE_NAME_LEN];
+ FILE *outputHandleJustInCase;
+ Int32 workFactor;
++Char showProgress;
+
+ static void panic ( Char* ) NORETURN;
+ static void ioError ( void ) NORETURN;
+@@ -425,6 +427,12 @@
+ UInt32 nbytes_in_lo32, nbytes_in_hi32;
+ UInt32 nbytes_out_lo32, nbytes_out_hi32;
+ Int32 bzerr, bzerr_dummy, ret;
++ double fileSize = 0; /* initialized to make the compiler stop crying */
++ /* double because big files might otherwhise give
++ * overflows. not long long since not all compilers
++ * support that one
++ */
++ time_t startTime, currentTime;
+
+ SET_BINARY_MODE(stream);
+ SET_BINARY_MODE(zStream);
+@@ -432,12 +440,21 @@
+ if (ferror(stream)) goto errhandler_io;
+ if (ferror(zStream)) goto errhandler_io;
+
++ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
++ (void)fseek(stream, 0, SEEK_END);
++ fileSize = ftello(stream);
++ rewind(stream);
++ if (verbosity >= 1)
++ fprintf(stderr, "Input-file size: %ld\n", (long)fileSize);
++ }
++
+ bzf = BZ2_bzWriteOpen ( &bzerr, zStream,
+ blockSize100k, verbosity, workFactor );
+ if (bzerr != BZ_OK) goto errhandler;
+
+ if (verbosity >= 2) fprintf ( stderr, "\n" );
+
++ time(&startTime);
+ while (True) {
+
+ if (myfeof(stream)) break;
+@@ -446,6 +463,22 @@
+ if (nIbuf > 0) BZ2_bzWrite ( &bzerr, bzf, (void*)ibuf, nIbuf );
+ if (bzerr != BZ_OK) goto errhandler;
+
++ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
++ time(¤tTime);
++
++ if ((currentTime - startTime) > 1) { /* show progress every 2 seconds */
++ double curInPos = ftello(stream);
++ double curOutPos = ftello(zStream);
++
++ startTime = currentTime;
++
++ fprintf(stderr, "%.2f%% done", (curInPos * 100.0) / fileSize);
++ if (srcMode == SM_F2F)
++ fprintf(stderr, ", new size: %.2f%%", (curOutPos * 100.0) / curInPos);
++
++ fprintf(stderr, " \r");
++ }
++ }
+ }
+
+ BZ2_bzWriteClose64 ( &bzerr, bzf, 0,
+@@ -526,6 +559,8 @@
+ UChar unused[BZ_MAX_UNUSED];
+ Int32 nUnused;
+ UChar* unusedTmp;
++ double fileSize = 0; /* initialized to make the compiler stop crying */
++ time_t startTime, currentTime;
+
+ nUnused = 0;
+ streamNo = 0;
+@@ -533,9 +568,19 @@
+ SET_BINARY_MODE(stream);
+ SET_BINARY_MODE(zStream);
+
++ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
++ off_t dummy = ftello(zStream);
++ (void)fseeko(zStream, 0, SEEK_END);
++ fileSize = ftello(zStream);
++ (void)fseeko(zStream, dummy, SEEK_SET);
++ if (verbosity >= 1)
++ fprintf(stderr, "Input-file size: %ld\n", (long)fileSize);
++ }
++
+ if (ferror(stream)) goto errhandler_io;
+ if (ferror(zStream)) goto errhandler_io;
+
++ time(&startTime);
+ while (True) {
+
+ bzf = BZ2_bzReadOpen (
+@@ -551,6 +596,16 @@
+ if ((bzerr == BZ_OK || bzerr == BZ_STREAM_END) && nread > 0)
+ fwrite ( obuf, sizeof(UChar), nread, stream );
+ if (ferror(stream)) goto errhandler_io;
++
++ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
++ time(¤tTime);
++ if ((currentTime - startTime) >= 2) {
++ double curInPos = ftello(zStream);
++ startTime = currentTime;
++
++ fprintf(stderr, "%.2f%% done\r", (curInPos * 100.0) / fileSize);
++ }
++ }
+ }
+ if (bzerr != BZ_STREAM_END) goto errhandler;
+
+@@ -1872,6 +1927,7 @@
+ deleteOutputOnInterrupt = False;
+ exitValue = 0;
+ i = j = 0; /* avoid bogus warning from egcs-1.1.X */
++ showProgress = False;
+
+ /*-- Set up signal handlers for mem access errors --*/
+ signal (SIGSEGV, mySIGSEGVorSIGBUScatcher);
+@@ -1949,6 +2005,7 @@
+ case 'k': keepInputFiles = True; break;
+ case 's': smallMode = True; break;
+ case 'q': noisy = False; break;
++ case 'p': showProgress = True; break;
+ case '1': blockSize100k = 1; break;
+ case '2': blockSize100k = 2; break;
+ case '3': blockSize100k = 3; break;
+@@ -1985,6 +2042,7 @@
+ if (ISFLAG("--keep")) keepInputFiles = True; else
+ if (ISFLAG("--small")) smallMode = True; else
+ if (ISFLAG("--quiet")) noisy = False; else
++ if (ISFLAG("--show-progress")) showProgress = True; else
+ if (ISFLAG("--version")) license(); else
+ if (ISFLAG("--license")) license(); else
+ if (ISFLAG("--exponential")) workFactor = 1; else
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-saneso.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-saneso.patch
new file mode 100644
index 0000000000..52ea791ce3
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-saneso.patch
@@ -0,0 +1,13 @@
+--- a/Makefile-libbz2_so
++++ b/Makefile-libbz2_so
+@@ -35,8 +35,8 @@
+ bzlib.o
+
+ all: $(OBJS)
+- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS)
+- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
++ $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.6 $(OBJS)
++ $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
+ rm -f libbz2.so.1.0
+ ln -s libbz2.so.1.0.6 libbz2.so.1.0
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-ubsan-error.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-ubsan-error.patch
new file mode 100644
index 0000000000..84b811177e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.6-ubsan-error.patch
@@ -0,0 +1,24 @@
+Author: Manoj Gupta
+
+Use unsigned 1 for shifting instead of signed 1.
+
+This fixed an issue with shift caught by undefined behavior
+sanitizer in clang.
+bzip2-1.0.6/blocksort.c:255:7
+runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
+
+--- a/blocksort.c
++++ b/blocksort.c
+@@ -202,9 +202,9 @@ void fallbackQSort3 ( UInt32* fmap,
+ bhtab [ 0 .. 2+(nblock/32) ] destroyed
+ */
+
+-#define SET_BH(zz) bhtab[(zz) >> 5] |= (1 << ((zz) & 31))
+-#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1 << ((zz) & 31))
+-#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1 << ((zz) & 31)))
++#define SET_BH(zz) bhtab[(zz) >> 5] |= (1u << ((zz) & 31))
++#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1u << ((zz) & 31))
++#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1u << ((zz) & 31)))
+ #define WORD_BH(zz) bhtab[(zz) >> 5]
+ #define UNALIGNED_BH(zz) ((zz) & 0x01f)
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.8-mingw.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.8-mingw.patch
new file mode 100644
index 0000000000..b512a8f466
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.8-mingw.patch
@@ -0,0 +1,16 @@
+make it build for mingw targets
+
+https://bugs.gentoo.org/393573
+
+--- a/bzlib.h
++++ b/bzlib.h
+@@ -81,6 +81,9 @@ typedef
+ /* windows.h define small to char */
+ # undef small
+ # endif
++# ifndef WINAPI
++# define WINAPI
++# endif
+ # ifdef BZ_EXPORT
+ # define BZ_API(func) WINAPI func
+ # define BZ_EXTERN extern
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.8-out-of-tree-build.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.8-out-of-tree-build.patch
new file mode 100644
index 0000000000..04818265b7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.8-out-of-tree-build.patch
@@ -0,0 +1,76 @@
+--- bzip2-1.0.8/Makefile
++++ bzip2-1.0.8/Makefile
+@@ -54,7 +54,6 @@
+
+ check: test
+ test: bzip2
+- @cat words1
+ ./bzip2 -1 < sample1.ref > sample1.rb2
+ ./bzip2 -2 < sample2.ref > sample2.rb2
+ ./bzip2 -3 < sample3.ref > sample3.rb2
+@@ -67,7 +66,6 @@
+ cmp sample1.tst sample1.ref
+ cmp sample2.tst sample2.ref
+ cmp sample3.tst sample3.ref
+- @cat words3
+
+ install: bzip2 bzip2recover
+ if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
+@@ -113,25 +111,8 @@
+ sample1.rb2 sample2.rb2 sample3.rb2 \
+ sample1.tst sample2.tst sample3.tst
+
+-blocksort.o: blocksort.c
+- @cat words0
+- $(CC) $(CFLAGS) -c blocksort.c
+-huffman.o: huffman.c
+- $(CC) $(CFLAGS) -c huffman.c
+-crctable.o: crctable.c
+- $(CC) $(CFLAGS) -c crctable.c
+-randtable.o: randtable.c
+- $(CC) $(CFLAGS) -c randtable.c
+-compress.o: compress.c
+- $(CC) $(CFLAGS) -c compress.c
+-decompress.o: decompress.c
+- $(CC) $(CFLAGS) -c decompress.c
+-bzlib.o: bzlib.c
+- $(CC) $(CFLAGS) -c bzlib.c
+-bzip2.o: bzip2.c
+- $(CC) $(CFLAGS) -c bzip2.c
+-bzip2recover.o: bzip2recover.c
+- $(CC) $(CFLAGS) -c bzip2recover.c
++%.o: %.c
++ $(CC) $(CFLAGS) -c $<
+
+
+ distclean: clean
+--- bzip2-1.0.8/Makefile-libbz2_so
++++ bzip2-1.0.8/Makefile-libbz2_so
+@@ -36,24 +36,10 @@
+
+ all: $(OBJS)
+ $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
+- $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
+- rm -f libbz2.so.1.0
+- ln -s libbz2.so.1.0.8 libbz2.so.1.0
++ ln -sf libbz2.so.1.0.8 libbz2.so.1.0
+
+ clean:
+ rm -f $(OBJS) bzip2.o libbz2.so.1.0.8 libbz2.so.1.0 bzip2-shared
+
+-blocksort.o: blocksort.c
+- $(CC) $(CFLAGS) -c blocksort.c
+-huffman.o: huffman.c
+- $(CC) $(CFLAGS) -c huffman.c
+-crctable.o: crctable.c
+- $(CC) $(CFLAGS) -c crctable.c
+-randtable.o: randtable.c
+- $(CC) $(CFLAGS) -c randtable.c
+-compress.o: compress.c
+- $(CC) $(CFLAGS) -c compress.c
+-decompress.o: decompress.c
+- $(CC) $(CFLAGS) -c decompress.c
+-bzlib.o: bzlib.c
+- $(CC) $(CFLAGS) -c bzlib.c
++%.o: %.c
++ $(CC) $(CFLAGS) -c $<
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.8-saneso.patch b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.8-saneso.patch
new file mode 100644
index 0000000000..63409f5a85
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/files/bzip2-1.0.8-saneso.patch
@@ -0,0 +1,13 @@
+--- bzip2-1.0.8/Makefile-libbz2_so
++++ bzip2-1.0.8/Makefile-libbz2_so
+@@ -35,8 +35,8 @@
+ bzlib.o
+
+ all: $(OBJS)
+- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
+- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
++ $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
++ $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
+ rm -f libbz2.so.1.0
+ ln -s libbz2.so.1.0.8 libbz2.so.1.0
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/metadata.xml
new file mode 100644
index 0000000000..83d6d32d00
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/bzip2/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+
+ cpe:/a:bzip:bzip2
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/compat-wrapper.sh b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/compat-wrapper.sh
new file mode 100644
index 0000000000..122162deca
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/compat-wrapper.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+set -e
+
+bin=${0##*/}
+seal=/run/metadata/torcx
+
+if [ -z "${bin}" ]
+then
+ echo 'Failed to determine the executed program name.' 1>&2
+ exit 1
+fi
+
+if [ -s "${seal}" ]
+then
+ . "${seal}"
+else
+ echo "The program ${bin} is managed by torcx, which did not run." 1>&2
+ exit 1
+fi
+
+if [ -z "${TORCX_BINDIR-}" ]
+then
+ echo "The torcx seal file ${seal} is invalid." 1>&2
+ exit 1
+fi
+
+if [ ! -x "${TORCX_BINDIR}/${bin}" ]
+then
+ echo "The current torcx profile did not install a ${bin} program." 1>&2
+ exit 1
+fi
+
+PATH="${TORCX_BINDIR}${PATH:+:${PATH}}" exec "${TORCX_BINDIR}/${bin}" "$@"
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/docker-1.12-no.json b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/docker-1.12-no.json
new file mode 100644
index 0000000000..4480c4e767
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/docker-1.12-no.json
@@ -0,0 +1,11 @@
+{
+ "kind": "profile-manifest-v0",
+ "value": {
+ "images": [
+ {
+ "name": "docker",
+ "reference": "com.coreos.cl"
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/dockerd-wrapper.sh b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/dockerd-wrapper.sh
new file mode 100644
index 0000000000..19c440bdda
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/dockerd-wrapper.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+# Wrapper for launching docker daemons with selinux default on
+# This wrapper script has been deprecated (euank: 2017-05-09) and is retained
+# for backwards compatibility.
+
+set -e
+
+parse_docker_args() {
+ local flag
+ while [[ $# -gt 0 ]]; do
+ flag="$1"
+ shift
+
+ # treat --flag=foo and --flag foo identically
+ if [[ "${flag}" == *=* ]]; then
+ set -- "${flag#*=}" "$@"
+ flag="${flag%=*}"
+ fi
+
+ case "${flag}" in
+ --selinux-enabled)
+ ARG_SELINUX="$1"
+ shift
+ ;;
+ *)
+ # ignore everything else
+ ;;
+ esac
+ done
+}
+
+parse_docker_args "$@"
+
+USE_SELINUX=""
+# Do not override selinux if it is already explicitly configured.
+if [[ -z "${ARG_SELINUX}" ]]; then
+ # If unspecified, default off
+ USE_SELINUX="--selinux-enabled=false"
+fi
+
+exec dockerd "$@" ${USE_SELINUX}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/torcx.target b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/torcx.target
new file mode 100644
index 0000000000..adfd836204
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/torcx.target
@@ -0,0 +1,7 @@
+[Unit]
+Description=Verify torcx succeeded
+DefaultDependencies=no
+AssertPathExists=/run/metadata/torcx
+
+[Install]
+WantedBy=basic.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/vendor.json b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/vendor.json
new file mode 100644
index 0000000000..4480c4e767
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/files/vendor.json
@@ -0,0 +1,11 @@
+{
+ "kind": "profile-manifest-v0",
+ "value": {
+ "images": [
+ {
+ "name": "docker",
+ "reference": "com.coreos.cl"
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/torcx-0.2.0-r7.ebuild b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/torcx-0.2.0-r7.ebuild
new file mode 120000
index 0000000000..a82f2db352
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/torcx-0.2.0-r7.ebuild
@@ -0,0 +1 @@
+torcx-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/torcx-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/torcx-9999.ebuild
new file mode 100644
index 0000000000..b5f39c1b73
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-arch/torcx/torcx-9999.ebuild
@@ -0,0 +1,58 @@
+# Copyright (c) 2017-2018 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="flatcar/torcx"
+CROS_WORKON_LOCALNAME="torcx"
+CROS_WORKON_REPO="https://github.com"
+COREOS_GO_PACKAGE="github.com/flatcar/torcx"
+COREOS_GO_GO111MODULE="off"
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="72556df98e14575721b6a8dc3c9775d2b4d6e3e8" # flatcar-master
+ KEYWORDS="amd64 arm64"
+fi
+
+inherit coreos-go cros-workon systemd
+
+DESCRIPTION="torcx is a boot-time addon manager for immutable systems"
+HOMEPAGE="https://github.com/flatcar/torcx"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+src_compile() {
+ CGO_ENABLED=0 go_export
+ ${EGO} build -v \
+ -p "$(makeopts_jobs)" \
+ -ldflags "-X ${COREOS_GO_PACKAGE}/pkg/version.VERSION=${PV}" \
+ -o "bin/${ARCH}/torcx" \
+ -tags containers_image_openpgp \
+ "${COREOS_GO_PACKAGE}"
+}
+
+src_install() {
+ local generatordir=/usr/lib/systemd/system-generators
+ local vendordir=/usr/share/torcx
+ local libcoreosdir=/usr/lib/flatcar
+
+ # Install generator and userland.
+ exeinto "${generatordir}"
+ newexe "${S}/bin/${ARCH}/torcx" torcx-generator
+ dosym ../systemd/system-generators/torcx-generator "${libcoreosdir}/torcx"
+ systemd_dounit "${FILESDIR}/torcx.target"
+
+ insinto "${vendordir}/profiles"
+ doins "${FILESDIR}/docker-1.12-no.json"
+ doins "${FILESDIR}/vendor.json"
+ dodir "${vendordir}/store"
+
+ # Preserve program paths for torcx packages.
+ newbin "${FILESDIR}/compat-wrapper.sh" docker
+ for link in {docker-,}{containerd{,-shim},runc} ctr docker-{init,proxy} dockerd tini
+ do ln -fns docker "${ED}/usr/bin/${link}"
+ done
+ exeinto /usr/lib/flatcar
+ newexe "${FILESDIR}/dockerd-wrapper.sh" dockerd
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/Manifest b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/Manifest
new file mode 100644
index 0000000000..e2a729dfe8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/Manifest
@@ -0,0 +1,5 @@
+DIST gnupg-2.2.16-scdaemon_shared-access.patch 2586 BLAKE2B 42fd5482c4e86751ce62836125997c2295c44bc5db0671a06460fd306b2ed93f290fb898fc1b1e463a863eddf9ab5f99ea3c90a55499ef45ca1ed6edf2854663 SHA512 38abaa4200114ae6b6f220fabc0a84a056761949c97bd0564557f4411a299b9a1939893555c27e26da2d8e8da4bc97a298fa7e68f1e80fe99c3f88cc329eaa84
+DIST gnupg-2.2.27.tar.bz2 7191555 BLAKE2B d652aad382cf07cc458b29ff82718edd47457d8236dcbeee51f22d88503be141f009e9ea45b6dafe614115d9558fe371509579e58ce17a5f04540a31aa406ea3 SHA512 cf336962116c9c08ac80b1299654b94948033ef51d6d5e7f54c2f07bbf7d92c7b0bddb606ceee2cdd837063f519b8d59af5a82816b840a0fc47d90c07b0e95ab
+DIST gnupg-2.2.29.tar.bz2 7215986 BLAKE2B 04b777730b8fcbe8d93dfc8985aadd6bc7385ac2ac9684e6248cb3ae6d008daae5aa976ffa3bae27fe9e89bc2c4c1d4ae81dcaa259fb08d13f894f00f12072e9 SHA512 12645e230fc6aa4811420ef33def6baa590e847ecdf7e5f8b96eb49122e6406cbdba4595d0b52fa26700d5d5def67acb4ed7dfe7f778e496d4d21ccbef3c476b
+DIST gnupg-2.2.31.tar.bz2 7212188 BLAKE2B 57a2b6c6ea491137a708e18a0119502621b7bdf0591818d19beb8b08a521a7dbf60472243e1723f53acbfb9a5de612b8e5040c45dc847bdda26012244edb11be SHA512 2f6fa200e08d6b8993b482e5825bea6083afc8686c4e1ae80386b36ae49e1c2d73066c508edaa359a7794cb26ba7a00f81555a906fa422d1117e41415cfa2fea
+DIST gnupg-2.3.2.tar.bz2 7589445 BLAKE2B f7e35ed553ea89cdb073abb1432f67fa00bb625f6e686e534f96bca11d88f09ea272b3cb0d6706e4bce2c023f8c5b8d628742aa2f60752a2e605132cd32f62ed SHA512 2747cbe38546f500d165f024ebb2dc5be70fa68d20702af3f61e97db685eba94caf65307293137c76ea6cfcc189ed24aaee025c80cd33f26609e5fe512bdda73
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/files/gnupg-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/files/gnupg-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
new file mode 100644
index 0000000000..dd75e3a5e9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/files/gnupg-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
@@ -0,0 +1,33 @@
+From e3bdb7d17264b8d5bd9abab97c96d9c4a50e4f61 Mon Sep 17 00:00:00 2001
+From: Kristian Fiskerstrand
+Date: Mon, 3 Apr 2017 23:44:56 +0300
+Subject: [PATCH] gpgscm: Use shorter socket path lengts to improve test
+ reliability
+
+--
+As socket lengths are normally restricted to 108 characters
+(UNIX_PATH_MAX variable in /usr/include/linux/un.h), using 42 characters
+by default easily results in errors.
+---
+ tests/gpgscm/tests.scm | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/gpgscm/tests.scm b/tests/gpgscm/tests.scm
+index 592b36f..f54a387 100644
+--- a/tests/gpgscm/tests.scm
++++ b/tests/gpgscm/tests.scm
+@@ -273,9 +273,9 @@
+ (canonical-path (_mkdtemp (if (null? components)
+ (path-join
+ (get-temp-path)
+- (string-append "gpgscm-" (get-isotime) "-"
++ (string-append "gscm"
+ (basename-suffix *scriptname* ".scm")
+- "-XXXXXX"))
++ "XXXXXX"))
+ (apply path-join components)))))
+
+ ;; Make a temporary directory and remove it at interpreter shutdown.
+--
+2.10.2
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/files/gnupg-accept-subkeys-with-a-good-revocation-but-no-self-sig.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/files/gnupg-accept-subkeys-with-a-good-revocation-but-no-self-sig.patch
new file mode 100644
index 0000000000..a6173968f5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/files/gnupg-accept-subkeys-with-a-good-revocation-but-no-self-sig.patch
@@ -0,0 +1,32 @@
+From: Vincent Breitmoser
+Date: Thu, 13 Jun 2019 21:27:43 +0200
+Subject: gpg: accept subkeys with a good revocation but no self-sig during
+ import
+
+* g10/import.c (chk_self_sigs): Set the NODE_GOOD_SELFSIG flag when we
+encounter a valid revocation signature. This allows import of subkey
+revocation signatures, even in the absence of a corresponding subkey
+binding signature.
+
+--
+
+This fixes the remaining test in import-incomplete.scm.
+
+GnuPG-Bug-id: 4393
+Signed-off-by: Daniel Kahn Gillmor
+---
+ g10/import.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/g10/import.c b/g10/import.c
+index f9acf95..9217911 100644
+--- a/g10/import.c
++++ b/g10/import.c
+@@ -3602,6 +3602,7 @@ chk_self_sigs (ctrl_t ctrl, kbnode_t keyblock, u32 *keyid, int *non_self)
+ /* It's valid, so is it newer? */
+ if (sig->timestamp >= rsdate)
+ {
++ knode->flag |= NODE_GOOD_SELFSIG; /* Subkey is valid. */
+ if (rsnode)
+ {
+ /* Delete the last revocation sig since
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/files/gnupg-allow-import-of-previously-known-keys-even-without-UI.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/files/gnupg-allow-import-of-previously-known-keys-even-without-UI.patch
new file mode 100644
index 0000000000..4b5690f955
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/files/gnupg-allow-import-of-previously-known-keys-even-without-UI.patch
@@ -0,0 +1,106 @@
+From: Vincent Breitmoser
+Date: Thu, 13 Jun 2019 21:27:42 +0200
+Subject: gpg: allow import of previously known keys, even without UIDs
+
+* g10/import.c (import_one): Accept an incoming OpenPGP certificate that
+has no user id, as long as we already have a local variant of the cert
+that matches the primary key.
+
+--
+
+This fixes two of the three broken tests in import-incomplete.scm.
+
+GnuPG-Bug-id: 4393
+Signed-off-by: Daniel Kahn Gillmor
+---
+ g10/import.c | 44 +++++++++++---------------------------------
+ 1 file changed, 11 insertions(+), 33 deletions(-)
+
+diff --git a/g10/import.c b/g10/import.c
+index 5d3162c..f9acf95 100644
+--- a/g10/import.c
++++ b/g10/import.c
+@@ -1788,7 +1788,6 @@ import_one_real (ctrl_t ctrl,
+ size_t an;
+ char pkstrbuf[PUBKEY_STRING_SIZE];
+ int merge_keys_done = 0;
+- int any_filter = 0;
+ KEYDB_HANDLE hd = NULL;
+
+ if (r_valid)
+@@ -1825,14 +1824,6 @@ import_one_real (ctrl_t ctrl,
+ log_printf ("\n");
+ }
+
+-
+- if (!uidnode )
+- {
+- if (!silent)
+- log_error( _("key %s: no user ID\n"), keystr_from_pk(pk));
+- return 0;
+- }
+-
+ if (screener && screener (keyblock, screener_arg))
+ {
+ log_error (_("key %s: %s\n"), keystr_from_pk (pk),
+@@ -1907,17 +1898,10 @@ import_one_real (ctrl_t ctrl,
+ }
+ }
+
+- if (!delete_inv_parts (ctrl, keyblock, keyid, options ) )
+- {
+- if (!silent)
+- {
+- log_error( _("key %s: no valid user IDs\n"), keystr_from_pk(pk));
+- if (!opt.quiet )
+- log_info(_("this may be caused by a missing self-signature\n"));
+- }
+- stats->no_user_id++;
+- return 0;
+- }
++ /* Delete invalid parts, and note if we have any valid ones left.
++ * We will later abort import if this key is new but contains
++ * no valid uids. */
++ delete_inv_parts (ctrl, keyblock, keyid, options);
+
+ /* Get rid of deleted nodes. */
+ commit_kbnode (&keyblock);
+@@ -1927,24 +1911,11 @@ import_one_real (ctrl_t ctrl,
+ {
+ apply_keep_uid_filter (ctrl, keyblock, import_filter.keep_uid);
+ commit_kbnode (&keyblock);
+- any_filter = 1;
+ }
+ if (import_filter.drop_sig)
+ {
+ apply_drop_sig_filter (ctrl, keyblock, import_filter.drop_sig);
+ commit_kbnode (&keyblock);
+- any_filter = 1;
+- }
+-
+- /* If we ran any filter we need to check that at least one user id
+- * is left in the keyring. Note that we do not use log_error in
+- * this case. */
+- if (any_filter && !any_uid_left (keyblock))
+- {
+- if (!opt.quiet )
+- log_info ( _("key %s: no valid user IDs\n"), keystr_from_pk (pk));
+- stats->no_user_id++;
+- return 0;
+ }
+
+ /* The keyblock is valid and ready for real import. */
+@@ -2002,6 +1973,13 @@ import_one_real (ctrl_t ctrl,
+ err = 0;
+ stats->skipped_new_keys++;
+ }
++ else if (err && !any_uid_left (keyblock))
++ {
++ if (!silent)
++ log_info( _("key %s: new key but contains no user ID - skipped\n"), keystr(keyid));
++ err = 0;
++ stats->no_user_id++;
++ }
+ else if (err) /* Insert this key. */
+ {
+ /* Note: ERR can only be NO_PUBKEY or UNUSABLE_PUBKEY. */
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/gnupg-2.2.29.ebuild b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/gnupg-2.2.29.ebuild
new file mode 100644
index 0000000000..c7231c63b2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/gnupg-2.2.29.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Flatcar: use EAPI=7, until EAPI 8 could be fully supported
+EAPI=7
+
+inherit flag-o-matic systemd toolchain-funcs
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
+HOMEPAGE="https://gnupg.org/"
+SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl tofu tools usb user-socket wks-server"
+
+# Existence of executables is checked during configuration.
+DEPEND=">=dev-libs/libassuan-2.5.0
+ >=dev-libs/libgcrypt-1.8.0
+ >=dev-libs/libgpg-error-1.29
+ >=dev-libs/libksba-1.3.4
+ >=dev-libs/npth-1.2
+ >=net-misc/curl-7.10
+ bzip2? ( app-arch/bzip2 )
+ ldap? ( net-nds/openldap )
+ readline? ( sys-libs/readline:0= )
+ smartcard? ( usb? ( virtual/libusb:1 ) )
+ ssl? ( >=net-libs/gnutls-3.0:0= )
+ sys-libs/zlib
+ tofu? ( >=dev-db/sqlite-3.7 )"
+
+RDEPEND="${DEPEND}
+ app-crypt/pinentry
+ nls? ( virtual/libintl )
+ selinux? ( sec-policy/selinux-gpg )
+ wks-server? ( virtual/mta )"
+
+BDEPEND="virtual/pkgconfig
+ doc? ( sys-apps/texinfo )
+ nls? ( sys-devel/gettext )"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=(
+ ChangeLog NEWS README THANKS TODO VERSION
+ doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch"
+ # Flatcar: the patches below are added only for Flatcar, to address the
+ # upstream gnupg issue https://dev.gnupg.org/T4393.
+ "${FILESDIR}/${PN}-allow-import-of-previously-known-keys-even-without-UI.patch"
+ "${FILESDIR}/${PN}-accept-subkeys-with-a-good-revocation-but-no-self-sig.patch"
+)
+
+src_prepare() {
+ default
+
+ # Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
+ # idea borrowed from libdbus, see
+ # https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
+ #
+ # This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
+ # which in turn requires discovery in Autoconf, something that upstream deeply resents.
+ sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
+ -i doc/examples/systemd-user/gpg-agent-ssh.socket || die
+}
+
+src_configure() {
+ local myconf=(
+ $(use_enable bzip2)
+ $(use_enable nls)
+ $(use_enable smartcard scdaemon)
+ $(use_enable ssl gnutls)
+ $(use_enable tofu)
+ $(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
+ $(use_enable wks-server wks-tools)
+ $(use_with ldap)
+ $(use_with readline)
+ --with-mailprog=/usr/libexec/sendmail
+ --disable-ntbtls
+ --enable-all-tests
+ --enable-gpg
+ --enable-gpgsm
+ --enable-large-secmem
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config"
+ LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config"
+ LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
+ NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config"
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+ )
+
+ if use prefix && use usb; then
+ # bug #649598
+ append-cppflags -I"${EPREFIX}/usr/include/libusb-1.0"
+ fi
+
+ #bug 663142
+ if use user-socket; then
+ myconf+=( --enable-run-gnupg-user-socket )
+ fi
+
+ # glib fails and picks up clang's internal stdint.h causing weird errors
+ [[ ${CC} == *clang ]] && \
+ export gl_cv_absolute_stdint_h=/usr/include/stdint.h
+
+ # Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
+ # As of GnuPG 2.3, the mailprog substitution is used for the binary called
+ # by wks-client & wks-server; and if it's autodetected but not not exist at
+ # build time, then then 'gpg-wks-client --send' functionality will not
+ # work. This has an unwanted side-effect in stage3 builds: there was a
+ # [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
+ # the build where the install guide previously make the user chose the
+ # logger & mta early in the install.
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ use doc && emake -C doc html
+}
+
+src_test() {
+ #Bug: 638574
+ use tofu && export TESTFLAGS=--parallel
+ default
+}
+
+src_install() {
+ default
+
+ use tools &&
+ dobin \
+ tools/{convert-from-106,gpg-check-pattern} \
+ tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys} \
+ tools/make-dns-cert
+
+ dosym gpg /usr/bin/gpg2
+ dosym gpgv /usr/bin/gpgv2
+ echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
+ echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
+
+ dodir /etc/env.d
+ echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
+
+ use doc && dodoc doc/gnupg.html/* doc/*.png
+
+ systemd_douserunit doc/examples/systemd-user/*.{service,socket}
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/metadata.xml
new file mode 100644
index 0000000000..f6fc64ff0b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/gnupg/metadata.xml
@@ -0,0 +1,46 @@
+
+
+
+
+ zlogene@gentoo.org
+ Mikle Kolyada
+
+
+ polynomial-c@gentoo.org
+ Lars Wendler
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+
+
+ cpe:/a:gnupg:gnupg
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/go-tspi/files/tpmd.service b/sdk_container/src/third_party/coreos-overlay/app-crypt/go-tspi/files/tpmd.service
new file mode 100644
index 0000000000..edf5c70aed
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/go-tspi/files/tpmd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=TPM remote access daemon
+Requires=tcsd.service
+
+[Service]
+ExecStart=/bin/tpmd 23179
+Restart=always
+RestartSec=0
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/go-tspi/go-tspi-0.1-r4.ebuild b/sdk_container/src/third_party/coreos-overlay/app-crypt/go-tspi/go-tspi-0.1-r4.ebuild
new file mode 120000
index 0000000000..b5bacefd3d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/go-tspi/go-tspi-0.1-r4.ebuild
@@ -0,0 +1 @@
+go-tspi-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/go-tspi/go-tspi-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-crypt/go-tspi/go-tspi-9999.ebuild
new file mode 100644
index 0000000000..efacbff37d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/go-tspi/go-tspi-9999.ebuild
@@ -0,0 +1,31 @@
+EAPI=7
+
+inherit coreos-go eutils git-r3 systemd
+COREOS_GO_PACKAGE="github.com/coreos/go-tspi"
+COREOS_GO_GO111MODULE="off"
+EGIT_REPO_URI="https://github.com/coreos/go-tspi.git"
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ EGIT_COMMIT="27182e3e7b1dfcfb398b5408a619abc4f652a38b"
+ KEYWORDS="amd64 arm64"
+fi
+
+IUSE=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="app-crypt/trousers"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ go_build "${COREOS_GO_PACKAGE}/tpmd"
+ go_build "${COREOS_GO_PACKAGE}/tpmown"
+}
+
+src_install() {
+ dobin ${GOBIN}/*
+ systemd_dounit "${FILESDIR}"/tpmd.service
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/Manifest b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/Manifest
new file mode 100644
index 0000000000..a5005ab76f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/Manifest
@@ -0,0 +1 @@
+DIST krb5-1.19.2.tar.gz 8741053 BLAKE2B 963722721201e75381c91a2af6e982f569a5b1602beb2d1ded83d35f6f914235a6ed91e5d54f56c97e94921a32ed27c49aded258327966ee13d39485208c38d8 SHA512 b90d6ed0e1e8a87eb5cb2c36d88b823a6a6caabf85e5d419adb8a930f7eea09a5f8491464e7e454cca7ba88be09d19415962fe0036ad2e31fc584f9fc0bbd470
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/kpropd.xinetd b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/kpropd.xinetd
new file mode 100644
index 0000000000..af542fcf8a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/kpropd.xinetd
@@ -0,0 +1,11 @@
+service tell
+{
+ disable = yes
+ socket_type = stream
+ user = root
+ wait = no
+ server = /usr/sbin/kpropd
+ only_from = 0.0.0.0
+ log_on_success = PID HOST EXIT DURATION
+ log_on_failure = HOST
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-1.12_warn_cflags.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-1.12_warn_cflags.patch
new file mode 100644
index 0000000000..53037d9702
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-1.12_warn_cflags.patch
@@ -0,0 +1,11 @@
+gentoo bug #498794
+--- src/aclocal.m4 2014-01-16 00:44:15.000000000 +0000
++++ src/aclocal.m4 2014-03-26 10:20:54.000000000 +0000
+@@ -501,6 +501,7 @@
+ fi
+ if test "x$krb5_ac_warn_cflags_set" = xset ; then
+ AC_MSG_NOTICE(not adding extra gcc warning flags because WARN_CFLAGS was set)
++ WARN_CFLAGS=""
+ else
+ AC_MSG_NOTICE(adding extra warning flags for gcc)
+ WARN_CFLAGS="$WARN_CFLAGS $extra_gcc_warn_opts -Wmissing-prototypes"
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-1.18.2-krb5-config.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-1.18.2-krb5-config.patch
new file mode 100644
index 0000000000..ec901ce9c3
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-1.18.2-krb5-config.patch
@@ -0,0 +1,15 @@
+--- a/build-tools/krb5-config.in
++++ b/build-tools/krb5-config.in
+@@ -208,12 +208,6 @@
+
+
+ if test -n "$do_libs"; then
+- # Assumes /usr/lib is the standard library directory everywhere...
+- if test "$libdir" = /usr/lib; then
+- libdirarg=
+- else
+- libdirarg="-L$libdir"
+- fi
+ # Ugly gross hack for our build tree
+ lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \
+ -e 's/\$(PURE)//' \
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-config_LDFLAGS-r1.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-config_LDFLAGS-r1.patch
new file mode 100644
index 0000000000..39bac974af
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-config_LDFLAGS-r1.patch
@@ -0,0 +1,12 @@
+Bug #448778
+--- a/build-tools/krb5-config.in 2012-12-18 02:47:04.000000000 +0000
++++ b/build-tools/krb5-config.in 2012-12-28 07:13:16.582693363 +0000
+@@ -217,7 +217,7 @@
+ -e 's#\$(PROG_RPATH)#'$libdir'#' \
+ -e 's#\$(PROG_LIBPATH)#'$libdirarg'#' \
+ -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \
+- -e 's#\$(LDFLAGS)#'"$LDFLAGS"'#' \
++ -e 's#\$(LDFLAGS)##' \
+ -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \
+ -e 's#\$(CFLAGS)##'`
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-warn-crossbuild.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-warn-crossbuild.patch
new file mode 100644
index 0000000000..37d6eca0b6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5-warn-crossbuild.patch
@@ -0,0 +1,35 @@
+diff --git a/aclocal.m4 b/aclocal.m4
+index 8709a7f5..fe6d41b4 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -746,7 +746,7 @@ AC_TRY_RUN([
+ #include
+ regex_t x; regmatch_t m;
+ int main() { return regcomp(&x,"pat.*",0) || regexec(&x,"pattern",1,&m,0); }
+-], ac_cv_func_regcomp=yes, ac_cv_func_regcomp=no, AC_MSG_ERROR([Cannot test regcomp when cross compiling]))])
++], ac_cv_func_regcomp=yes, ac_cv_func_regcomp=no, AC_MSG_WARN([Cannot test regcomp when cross compiling]))])
+ AC_MSG_RESULT($ac_cv_func_regcomp)
+ test $ac_cv_func_regcomp = yes && AC_DEFINE(HAVE_REGCOMP,1,[Define if regcomp exists and functions])
+ dnl
+@@ -1608,7 +1608,7 @@ void foo2() __attribute__((destructor));
+ void foo2() { unlink("conftest.2"); }
+ int main () { return 0; }],
+ [test -r conftest.1 || a=yes
+-test -r conftest.2 || b=yes], , AC_MSG_ERROR(Cannot test for constructor/destructor support when cross compiling))
++test -r conftest.2 || b=yes], , AC_MSG_WARN(Cannot test for constructor/destructor support when cross compiling))
+ case $krb5_cv_host in
+ *-*-aix4.*)
+ # Under AIX 4.3.3, at least, shared library destructor functions
+diff --git a/configure.ac b/configure.ac
+index 234f4281..0e9f86dd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -928,7 +928,7 @@ int main () {
+ }],
+ ac_cv_printf_positional=yes,
+ ac_cv_printf_positional=no,
+- AC_MSG_ERROR([Cannot test for printf positional argument support when cross compiling]))])
++ AC_MSG_WARN([Cannot test for printf positional argument support when cross compiling]))])
+ # Nothing for autoconf.h for now.
+ AC_MSG_RESULT($ac_cv_printf_positional)
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5_dont_create_rundir.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5_dont_create_rundir.patch
new file mode 100644
index 0000000000..4cc7d826ee
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5_dont_create_rundir.patch
@@ -0,0 +1,10 @@
+--- src/Makefile.in 2019-12-12 10:15:51.674552983 +0300
++++ src/Makefile.in 2019-12-12 10:16:33.205543490 +0300
+@@ -71,7 +71,6 @@
+ $(KRB5_AD_MODULE_DIR) \
+ $(KRB5_LIBKRB5_MODULE_DIR) $(KRB5_TLS_MODULE_DIR) \
+ $(localstatedir) $(localstatedir)/krb5kdc \
+- $(runstatedir) $(runstatedir)/krb5kdc \
+ $(KRB5_INCSUBDIRS) $(datadir) $(EXAMPLEDIR) \
+ $(PKGCONFIG_DIR)
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kadmind.confd b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kadmind.confd
new file mode 100644
index 0000000000..f6029b6097
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kadmind.confd
@@ -0,0 +1,2 @@
+# Define startup options for Kerberos administration server
+KADMIND_OPTS=""
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kadmind.initd-r2 b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kadmind.initd-r2
new file mode 100644
index 0000000000..03e64f83e2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kadmind.initd-r2
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+
+#---------------------------------------------------------------------------
+# This script starts/stops the MIT Kerberos 5 Admin daemon
+#---------------------------------------------------------------------------
+
+daemon="MIT Kerberos 5 Admin daemon"
+exec="/usr/sbin/kadmind"
+
+depend() {
+ need mit-krb5kdc
+ use net
+}
+
+start() {
+ ebegin "Starting $daemon"
+ start-stop-daemon --start --quiet --exec ${exec} -- ${KADMIND_OPTS} 1>&2
+ eend $? "Error starting $daemon"
+}
+
+stop() {
+ ebegin "Stopping $daemon"
+ start-stop-daemon --stop --quiet --exec ${exec} 1>&2
+ eend $? "Error stopping $daemon"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kadmind.service b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kadmind.service
new file mode 100644
index 0000000000..f3836c8986
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kadmind.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Kerberos 5 administration server
+
+[Service]
+ExecStart=/usr/sbin/kadmind -nofork
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kdc.confd b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kdc.confd
new file mode 100644
index 0000000000..887d3d8c7b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kdc.confd
@@ -0,0 +1,2 @@
+# Define startup options for Kerberos KDC
+KDC_OPTS=""
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kdc.initd-r2 b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kdc.initd-r2
new file mode 100644
index 0000000000..ecd47e4568
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kdc.initd-r2
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+
+#---------------------------------------------------------------------------
+# This script starts/stops the MIT Kerberos 5 KDC
+#---------------------------------------------------------------------------
+
+daemon="MIT Kerberos 5 KDC"
+exec="/usr/sbin/krb5kdc"
+
+depend() {
+ use net
+}
+
+start() {
+ ebegin "Starting $daemon"
+ start-stop-daemon --start --quiet --exec ${exec} -- ${KDC_OPTS} 1>&2
+ eend $? "Error starting $daemon"
+}
+
+stop() {
+ ebegin "Stopping $daemon"
+ start-stop-daemon --stop --quiet --exec ${exec} 1>&2
+ eend $? "Error stopping $daemon"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kdc.service b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kdc.service
new file mode 100644
index 0000000000..6ec93bb723
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kdc.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Kerberos 5 KDC
+
+[Service]
+ExecStart=/usr/sbin/krb5kdc -n
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.confd b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.confd
new file mode 100644
index 0000000000..d75d41ab81
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.confd
@@ -0,0 +1,2 @@
+# Define startup options for Kerberos incremental propagation server
+KPROPD_OPTS=""
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.initd-r2 b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.initd-r2
new file mode 100644
index 0000000000..f6ab7872c9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.initd-r2
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+
+#---------------------------------------------------------------------------
+# This script starts/stops the MIT Kerberos 5 kpropd
+#---------------------------------------------------------------------------
+
+daemon="MIT Kerberos 5 kpropd"
+exec="/usr/sbin/kpropd"
+
+depend() {
+ use net mit-krb5kdc mit-krb5kadmind
+}
+
+start() {
+ ebegin "Starting $daemon"
+ start-stop-daemon --start --quiet --exec ${exec} -- ${KPROPD_OPTS} 1>&2
+ eend $? "Error starting $daemon"
+}
+
+stop() {
+ ebegin "Stopping $daemon"
+ start-stop-daemon --stop --quiet --exec ${exec} 1>&2
+ eend $? "Error stopping $daemon"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.service b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.service
new file mode 100644
index 0000000000..a7c5b579d2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Kerberos 5 propagation server
+
+[Service]
+ExecStart=/usr/sbin/kpropd -S
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.socket b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.socket
new file mode 100644
index 0000000000..4389290c0b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Kerberos 5 propagation server
+
+[Socket]
+ListenStream=754
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd_at.service b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd_at.service
new file mode 100644
index 0000000000..f826eb33cb
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/files/mit-krb5kpropd_at.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Kerberos 5 propagation server
+Conflicts=mit-krb5kpropd.service
+
+[Service]
+ExecStart=/usr/sbin/kpropd
+StandardInput=socket
+StandardError=syslog
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/metadata.xml
new file mode 100644
index 0000000000..ea5af54c10
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/metadata.xml
@@ -0,0 +1,22 @@
+
+
+
+
+ kerberos@gentoo.org
+ Kerberos
+
+
+
+ cpe:/a:mit:kerberos
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/mit-krb5-1.19.2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/mit-krb5-1.19.2.ebuild
new file mode 100644
index 0000000000..fae72f489c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/mit-krb5/mit-krb5-1.19.2.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+inherit autotools flag-o-matic multilib-minimal python-any-r1 systemd toolchain-funcs
+
+MY_P="${P/mit-}"
+P_DIR=$(ver_cut 1-2)
+DESCRIPTION="MIT Kerberos V"
+HOMEPAGE="https://web.mit.edu/kerberos/www/"
+SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
+
+LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="cpu_flags_x86_aes doc +keyutils lmdb nls openldap +pkinit selinux +threads test xinetd"
+
+# Test suite requires network access
+RESTRICT="test"
+
+DEPEND="
+ !!app-crypt/heimdal
+ >=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
+ >=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
+ )
+ keyutils? ( >=sys-apps/keyutils-1.5.8:=[${MULTILIB_USEDEP}] )
+ lmdb? ( dev-db/lmdb )
+ nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
+ openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
+ pkinit? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ xinetd? ( sys-apps/xinetd )
+ "
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/yacc
+ cpu_flags_x86_aes? (
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ )
+ doc? ( virtual/latex-base )
+ test? (
+ ${PYTHON_DEPS}
+ dev-lang/tcl:0
+ dev-util/dejagnu
+ dev-util/cmocka
+ )"
+RDEPEND="${DEPEND}
+ selinux? ( sec-policy/selinux-kerberos )"
+
+S=${WORKDIR}/${MY_P}/src
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
+ "${FILESDIR}/${PN}-config_LDFLAGS-r1.patch"
+ "${FILESDIR}/${PN}_dont_create_rundir.patch"
+ "${FILESDIR}/${PN}-1.18.2-krb5-config.patch"
+ "${FILESDIR}/${PN}-warn-crossbuild.patch"
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/krb5-config
+)
+
+src_prepare() {
+ default
+ # Make sure we always use the system copies.
+ rm -rf util/{et,ss,verto}
+ sed -i 's:^[[:space:]]*util/verto$::' configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # QA
+ append-flags -fno-strict-aliasing
+ append-flags -fno-strict-overflow
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ AR="$(tc-getAR)" \
+ WARN_CFLAGS="set" \
+ econf \
+ $(use_with openldap ldap) \
+ "$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
+ $(use_enable nls) \
+ $(use_enable pkinit) \
+ $(use_enable threads thread-support) \
+ $(use_with lmdb) \
+ $(use_with keyutils) \
+ --without-hesiod \
+ --enable-shared \
+ --with-system-et \
+ --with-system-ss \
+ --enable-dns-for-realm \
+ --enable-kdc-lookaside-cache \
+ --with-system-verto \
+ --disable-rpath
+}
+
+multilib_src_compile() {
+ emake -j1
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && emake -j1 check
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
+ install
+}
+
+multilib_src_install_all() {
+ # default database dir
+ keepdir /var/lib/krb5kdc
+
+ cd ..
+ dodoc README
+
+ if use doc; then
+ dodoc -r doc/html
+ docinto pdf
+ dodoc doc/pdf/*.pdf
+ fi
+
+ newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
+ newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
+ newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
+ newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
+ newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
+ newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
+
+ systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service
+ systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service
+ systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service
+ systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service"
+ systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket
+
+ insinto /etc
+ newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
+ insinto /var/lib/krb5kdc
+ newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
+
+ if use openldap ; then
+ insinto /etc/openldap/schema
+ doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
+ fi
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/kpropd.xinetd" kpropd
+ fi
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/Manifest b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/Manifest
new file mode 100644
index 0000000000..a054ddc31c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/Manifest
@@ -0,0 +1,3 @@
+DIST sbsigntool-0.8-ccan.tar.gz 113537 BLAKE2B 8fbf27463d30c1895930628a145be2d521ae4f6adb7af3299bf2f5f4319fd643df0a07347ef6851bd41d233af4c3fc5f77002771af1c43aa0f20665aef2390b8 SHA512 6857096879f116f1802eb6b44789cbea7bb24440bc0f16503aeadf5f276fa45943f322f844dbb9abee717655205d82b830143be3a7f4424fd4146b9360674a09
+DIST sbsigntool_0.6.orig.tar.gz 212375 BLAKE2B fab9141c7fbfa01ec24f975503ac83be4ae0664251a1311afb3d95124fec3750ce20a5ffab35b6965d4ee4585ab4ee91f25ae49488214a983b6fc006071d0968 SHA512 ed314d1cb7278cf5f27d4c3cd17f2195678419a7f9e47770429b6f95df35f7df035331e60c45970183ddd9b150a9b752f876c777929598b0525872b3255af95c
+DIST sbsigntools-0.9.1.tar.gz 56497 BLAKE2B 22791bd4b490f36963a19e82da3ce7b93a56d948bf44d1ffdb62fa3291a3f815b2c19d68f9180b607c2b1438f656367ec1f9002f0b1225734d16a9aadc6d20ec SHA512 ae16232327c098bbc60a9701185d856d851cb7fa8f62be64d3c8f75c8b274b8521fcc4212226189def05db980690878ee6ac9a9b418166c92442aaf35e790d29
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/files/0002-image.c-clear-image-variable.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/files/0002-image.c-clear-image-variable.patch
new file mode 100644
index 0000000000..dfe183e66c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/files/0002-image.c-clear-image-variable.patch
@@ -0,0 +1,29 @@
+From 21e984fa9d93a760cc03f5d9d13d023809227df2 Mon Sep 17 00:00:00 2001
+From: James Bottomley
+Date: Thu, 11 Apr 2013 21:12:17 -0700
+Subject: image.c: clear image variable
+
+Not zeroing the image after talloc occasionally leads to a segfault because
+the programme thinks it has a signature when in reality it just has a junk
+pointer and segfaults.
+
+Signed-off-by: James Bottomley
+---
+ src/image.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/image.c b/src/image.c
+index cc55791..10eba0e 100644
+--- a/src/image.c
++++ b/src/image.c
+@@ -401,6 +401,7 @@ struct image *image_load(const char *filename)
+ return NULL;
+ }
+
++ memset(image, 0, sizeof(*image));
+ rc = fileio_read_file(image, filename, &image->buf, &image->size);
+ if (rc)
+ goto err;
+--
+1.8.2.1
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/files/0003-Fix-for-multi-sign.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/files/0003-Fix-for-multi-sign.patch
new file mode 100644
index 0000000000..f42c69616d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/files/0003-Fix-for-multi-sign.patch
@@ -0,0 +1,39 @@
+From e58a528ef57e53008222f238cce7c326a14572e2 Mon Sep 17 00:00:00 2001
+From: James Bottomley
+Date: Mon, 30 Sep 2013 19:25:37 -0700
+Subject: [PATCH 4/4] Fix for multi-sign
+
+The new Tianocore multi-sign code fails now for images signed with
+sbsigntools. The reason is that we don't actually align the signature table,
+we just slap it straight after the binary data. Unfortunately, the new
+multi-signature code checks that our alignment offsets are correct and fails
+the signature for this reason. Fix by adding junk to the end of the image to
+align the signature section.
+
+Signed-off-by: James Bottomley
+---
+ src/image.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/src/image.c b/src/image.c
+index 10eba0e..519e288 100644
+--- a/src/image.c
++++ b/src/image.c
+@@ -385,7 +385,13 @@ static int image_find_regions(struct image *image)
+
+ /* record the size of non-signature data */
+ r = &image->checksum_regions[image->n_checksum_regions - 1];
+- image->data_size = (r->data - (void *)image->buf) + r->size;
++ /*
++ * The new Tianocore multisign does a stricter check of the signatures
++ * in particular, the signature table must start at an aligned offset
++ * fix this by adding bytes to the end of the text section (which must
++ * be included in the hash)
++ */
++ image->data_size = align_up((r->data - (void *)image->buf) + r->size, 8);
+
+ return 0;
+ }
+--
+1.8.4
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/files/sbsigntools-0.9.1-openssl-1.1.0-compat.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/files/sbsigntools-0.9.1-openssl-1.1.0-compat.patch
new file mode 100644
index 0000000000..2f9364f246
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/files/sbsigntools-0.9.1-openssl-1.1.0-compat.patch
@@ -0,0 +1,152 @@
+diff --git a/src/fileio.c b/src/fileio.c
+index 032eb1e..09bc3aa 100644
+--- a/src/fileio.c
++++ b/src/fileio.c
+@@ -40,6 +40,7 @@
+ #include
+ #include
+ #include
++#include
+
+ #include
+ #include
+diff --git a/src/idc.c b/src/idc.c
+index 236cefd..6d87bd4 100644
+--- a/src/idc.c
++++ b/src/idc.c
+@@ -238,7 +238,11 @@ struct idc *IDC_get(PKCS7 *p7, BIO *bio)
+
+ /* extract the idc from the signed PKCS7 'other' data */
+ str = p7->d.sign->contents->d.other->value.asn1_string;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ idcbuf = buf = ASN1_STRING_data(str);
++#else
++ idcbuf = buf = ASN1_STRING_get0_data(str);
++#endif
+ idc = d2i_IDC(NULL, &buf, ASN1_STRING_length(str));
+
+ /* If we were passed a BIO, write the idc data, minus type and length,
+@@ -289,7 +293,11 @@ int IDC_check_hash(struct idc *idc, struct image *image)
+ }
+
+ /* check hash against the one we calculated from the image */
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ buf = ASN1_STRING_data(str);
++#else
++ buf = ASN1_STRING_get0_data(str);
++#endif
+ if (memcmp(buf, sha, sizeof(sha))) {
+ fprintf(stderr, "Hash doesn't match image\n");
+ fprintf(stderr, " got: %s\n", sha256_str(buf));
+diff --git a/src/sbattach.c b/src/sbattach.c
+index a0c01b8..e89a23e 100644
+--- a/src/sbattach.c
++++ b/src/sbattach.c
+@@ -231,6 +231,7 @@ int main(int argc, char **argv)
+ return EXIT_FAILURE;
+ }
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ ERR_load_crypto_strings();
+ OpenSSL_add_all_digests();
+ OPENSSL_config(NULL);
+@@ -239,6 +240,7 @@ int main(int argc, char **argv)
+ * module isn't present). In either case ignore the errors
+ * (malloc will cause other failures out lower down */
+ ERR_clear_error();
++#endif
+
+ image = image_load(image_filename);
+ if (!image) {
+diff --git a/src/sbkeysync.c b/src/sbkeysync.c
+index 7b17f40..419b1e7 100644
+--- a/src/sbkeysync.c
++++ b/src/sbkeysync.c
+@@ -208,7 +208,11 @@ static int x509_key_parse(struct key *key, uint8_t *data, size_t len)
+ goto out;
+
+ key->id_len = ASN1_STRING_length(serial);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ key->id = talloc_memdup(key, ASN1_STRING_data(serial), key->id_len);
++#else
++ key->id = talloc_memdup(key, ASN1_STRING_get0_data(serial), key->id_len);
++#endif
+
+ key->description = talloc_array(key, char, description_len);
+ X509_NAME_oneline(X509_get_subject_name(x509),
+@@ -927,6 +931,7 @@ int main(int argc, char **argv)
+ return EXIT_FAILURE;
+ }
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ ERR_load_crypto_strings();
+ OpenSSL_add_all_digests();
+ OpenSSL_add_all_ciphers();
+@@ -936,6 +941,7 @@ int main(int argc, char **argv)
+ * module isn't present). In either case ignore the errors
+ * (malloc will cause other failures out lower down */
+ ERR_clear_error();
++#endif
+
+ ctx->filesystem_keys = init_keyset(ctx);
+ ctx->firmware_keys = init_keyset(ctx);
+diff --git a/src/sbsign.c b/src/sbsign.c
+index ff1fdfd..78d8d64 100644
+--- a/src/sbsign.c
++++ b/src/sbsign.c
+@@ -188,6 +188,7 @@ int main(int argc, char **argv)
+
+ talloc_steal(ctx, ctx->image);
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ ERR_load_crypto_strings();
+ OpenSSL_add_all_digests();
+ OpenSSL_add_all_ciphers();
+@@ -197,6 +198,7 @@ int main(int argc, char **argv)
+ * module isn't present). In either case ignore the errors
+ * (malloc will cause other failures out lower down */
+ ERR_clear_error();
++#endif
+ if (engine)
+ pkey = fileio_read_engine_key(engine, keyfilename);
+ else
+diff --git a/src/sbvarsign.c b/src/sbvarsign.c
+index 7dcbe51..9319c8b 100644
+--- a/src/sbvarsign.c
++++ b/src/sbvarsign.c
+@@ -509,6 +509,7 @@ int main(int argc, char **argv)
+ return EXIT_FAILURE;
+ }
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ /* initialise openssl */
+ OpenSSL_add_all_digests();
+ OpenSSL_add_all_ciphers();
+@@ -519,6 +520,7 @@ int main(int argc, char **argv)
+ * module isn't present). In either case ignore the errors
+ * (malloc will cause other failures out lower down */
+ ERR_clear_error();
++#endif
+
+ /* set up the variable signing context */
+ varname = argv[optind];
+diff --git a/src/sbverify.c b/src/sbverify.c
+index 3920d91..d0b203a 100644
+--- a/src/sbverify.c
++++ b/src/sbverify.c
+@@ -250,6 +250,7 @@ int main(int argc, char **argv)
+ verbose = false;
+ detached_sig_filename = NULL;
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ OpenSSL_add_all_digests();
+ ERR_load_crypto_strings();
+ OPENSSL_config(NULL);
+@@ -258,6 +259,7 @@ int main(int argc, char **argv)
+ * module isn't present). In either case ignore the errors
+ * (malloc will cause other failures out lower down */
+ ERR_clear_error();
++#endif
+
+ for (;;) {
+ int idx;
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/metadata.xml
new file mode 100644
index 0000000000..20001d6eb7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/metadata.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ tamiko@gentoo.org
+
+
+ ubuntu
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/sbsigntools-0.9.1-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/sbsigntools-0.9.1-r1.ebuild
new file mode 100644
index 0000000000..dfa056c857
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/sbsigntools/sbsigntools-0.9.1-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+MY_PN="${PN::-1}"
+
+inherit eutils autotools
+
+DESCRIPTION="Utilities for signing and verifying files for UEFI Secure Boot"
+HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/jejb/sbsigntools.git/"
+SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/${PN}.git/snapshot/${P}.tar.gz
+ https://dev.gentoo.org/~tamiko/distfiles/${MY_PN}-0.8-ccan.tar.gz"
+
+LICENSE="GPL-3 LGPL-3 LGPL-2.1 CC0-1.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/openssl:0=
+ sys-apps/util-linux"
+DEPEND="${RDEPEND}
+ sys-apps/help2man
+ sys-boot/gnu-efi
+ sys-libs/binutils-libs
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-openssl-1.1.0-compat.patch
+)
+
+src_prepare() {
+ mv "${WORKDIR}"/lib/ccan "${S}"/lib || die "mv failed"
+ rmdir "${WORKDIR}"/lib || die "rmdir failed"
+
+ local iarch
+ case ${ARCH} in
+ amd64) iarch=x86_64 ;;
+ arm64) iarch=aarch64 ;;
+ ia64) iarch=ia64 ;;
+ x86) iarch=ia32 ;;
+ *) die "unsupported architecture: ${ARCH}" ;;
+ esac
+ sed -i "/^EFI_ARCH=/s:=.*:=${iarch}:" configure.ac || die
+ sed -i 's/-m64$/& -march=x86-64/' tests/Makefile.am || die
+ sed -i "/^AR /s:=.*:= $(tc-getAR):" lib/ccan/Makefile.in || die #481480
+
+ default
+ eautoreconf
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/tpmpolicy/files/tpm_hostpolicy b/sdk_container/src/third_party/coreos-overlay/app-crypt/tpmpolicy/files/tpm_hostpolicy
new file mode 100755
index 0000000000..10bd015ec4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/tpmpolicy/files/tpm_hostpolicy
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+set -e
+
+if [ ! -c /dev/tpm0 ]; then
+ >&2 echo "System has no TPM"
+ exit 1
+fi
+
+echo -n '{'
+VALUES=();
+while read PCR value type event; do
+ if [ $PCR = 4 ] && [ $type != 0d ]; then
+ VALUES+=("{\"value\": \"$value\", \"description\": \"$event\"}");
+ fi;
+done
+
+
+
+ mjg59@srcf.ucam.org
+ Tools for generating TPM policy
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/tpmpolicy/tpmpolicy-20160404.ebuild b/sdk_container/src/third_party/coreos-overlay/app-crypt/tpmpolicy/tpmpolicy-20160404.ebuild
new file mode 100644
index 0000000000..4f085209f8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/tpmpolicy/tpmpolicy-20160404.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Copyright 2016 CoreOS, Inc
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Tools for generating TPM policy"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 arm64"
+IUSE=""
+
+S="${WORKDIR}"
+
+src_install() {
+ dosbin "${FILESDIR}"/tpm_hostpolicy
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/Manifest b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/Manifest
new file mode 100644
index 0000000000..bbdd682524
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/Manifest
@@ -0,0 +1 @@
+DIST trousers-0.3.14.tar.gz 1378438 BLAKE2B 3dc2824fa2ca1b1f1181f98d59e85276e7d38af4bfc07ee8246431d9ccb300a8e0820b318643d4cf5d757d2a49492c8686e2fe9de03484263d2189d4bbaa32d0 SHA512 bf87f00329cf1d76a12cf6b6181fa22f90e76af3c5786e6e2db98438d2d3f0c0e05364374664173f45e3a2f6c0e2364948d0b958a7845cb23fcb340150cd9b21
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/61-trousers.rules b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/61-trousers.rules
new file mode 100644
index 0000000000..20e89cbe3a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/61-trousers.rules
@@ -0,0 +1,2 @@
+KERNEL=="tpm[0-9]*", MODE="0660", OWNER="tss", GROUP="tss", SYMLINK+="tpm"
+# vim: ft=udevrules:
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data
new file mode 100644
index 0000000000..b498fd495d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/system.data
@@ -0,0 +1 @@
+/
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.confd b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.confd
new file mode 100644
index 0000000000..78bedb9fda
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.confd
@@ -0,0 +1,9 @@
+# /etc/conf.d/tscd
+
+# Configuration file for the TrouSerS' TCS daemon (tcsd) init script
+# Have a look on /etc/tcsd.conf too, there is more to configure there.
+
+# TPM_MODULES: name of the module(s) that should be loaded. You only need to
+# set this if your driver is not compiled in kernel and is not already loaded
+# on boot. (default: unset)
+#TPM_MODULES="tpm_atmel"
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.initd b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.initd
new file mode 100644
index 0000000000..c9c050cb06
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.initd
@@ -0,0 +1,38 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use logger
+ need net
+}
+
+checkconfig() {
+ local mod
+ if [ -n "${TPM_MODULES}" ] ; then
+ for mod in ${TPM_MODULES} ; do
+ lsmod | grep -q "^${mod}\b" \
+ || modprobe ${mod} &>/dev/null \
+ || ewarn "Failed to load module ${mod}"
+ done
+ # Should we sleep or something to wait for device creation?
+ fi
+ if [ ! -c /dev/tpm ] && [ ! -c /dev/tpm0 ] ; then
+ eerror "No TPM device found!"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ ebegin "Starting TrouSerS' TCS daemon (tcsd)"
+ checkconfig || eend $?
+ start-stop-daemon --start --user tss --exec /usr/sbin/tcsd
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping TrouSerS' TCS daemon (tcsd)"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/tcsd --user tss
+ eend $?
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service
new file mode 100644
index 0000000000..c4dc803dfc
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tcsd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=TCG Core Services Daemon
+ConditionPathExists=/dev/tpm0
+ConditionSecurity=!tpm2
+
+[Service]
+User=tss
+ExecCondition=/bin/bash -c "/usr/bin/test $(cat /sys/class/tpm/*/tpm_version_major | grep -m 1 1 || echo 0) -eq 1"
+ExecStart=/usr/sbin/tcsd -f
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf
new file mode 100644
index 0000000000..ad2171ad3d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/tmpfiles.d/trousers.conf
@@ -0,0 +1,3 @@
+d /var/lib/tpm 0755 tss tss - -
+C /etc/tcsd.conf 0640 root tss - /usr/share/trousers/tcsd.conf
+C /var/lib/tpm/system.data 0600 tss tss - /usr/share/trousers/system.data
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.13-nouseradd.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.13-nouseradd.patch
new file mode 100644
index 0000000000..5426e9929f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.13-nouseradd.patch
@@ -0,0 +1,12 @@
+diff -urNp trousers-0.3.13.org/dist/Makefile.am trousers-0.3.13/dist/Makefile.am
+--- trousers-0.3.13.org/dist/Makefile.am 2014-04-24 21:05:43.000000000 +0300
++++ trousers-0.3.13/dist/Makefile.am 2015-04-08 10:05:51.018955728 +0300
+@@ -11,8 +11,6 @@ endif
+ install-exec-hook:
+ /bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
+ if !NOUSERCHECK
+- /usr/sbin/groupadd tss || true
+- /usr/sbin/useradd -r tss -g tss || true
+ /bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
+ /bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
+ endif
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch
new file mode 100644
index 0000000000..10031e0882
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch
@@ -0,0 +1,58 @@
+Index: trousers-0.3.14/src/tcs/ps/tcsps.c
+===================================================================
+--- trousers-0.3.14.orig/src/tcs/ps/tcsps.c
++++ trousers-0.3.14/src/tcs/ps/tcsps.c
+@@ -72,7 +72,7 @@ get_file()
+ }
+
+ /* open and lock the file */
+- system_ps_fd = open(tcsd_options.system_ps_file, O_CREAT|O_RDWR, 0600);
++ system_ps_fd = open(tcsd_options.system_ps_file, O_CREAT|O_RDWR|O_NOFOLLOW, 0600);
+ if (system_ps_fd < 0) {
+ LogError("system PS: open() of %s failed: %s",
+ tcsd_options.system_ps_file, strerror(errno));
+Index: trousers-0.3.14/src/tcsd/svrside.c
+===================================================================
+--- trousers-0.3.14.orig/src/tcsd/svrside.c
++++ trousers-0.3.14/src/tcsd/svrside.c
+@@ -473,6 +473,7 @@ main(int argc, char **argv)
+ }
+ return TCSERR(TSS_E_INTERNAL_ERROR);
+ }
++ setgid(pwd->pw_gid);
+ setuid(pwd->pw_uid);
+ #endif
+ #endif
+Index: trousers-0.3.14/src/tcsd/tcsd_conf.c
+===================================================================
+--- trousers-0.3.14.orig/src/tcsd/tcsd_conf.c
++++ trousers-0.3.14/src/tcsd/tcsd_conf.c
+@@ -743,7 +743,7 @@ conf_file_init(struct tcsd_config *conf)
+ #ifndef SOLARIS
+ struct group *grp;
+ struct passwd *pw;
+- mode_t mode = (S_IRUSR|S_IWUSR);
++ mode_t mode = (S_IRUSR|S_IWUSR|S_IRGRP);
+ #endif /* SOLARIS */
+ TSS_RESULT result;
+
+@@ -798,15 +798,15 @@ conf_file_init(struct tcsd_config *conf)
+ }
+
+ /* make sure user/group TSS owns the conf file */
+- if (pw->pw_uid != stat_buf.st_uid || grp->gr_gid != stat_buf.st_gid) {
++ if (stat_buf.st_uid != 0 || grp->gr_gid != stat_buf.st_gid) {
+ LogError("TCSD config file (%s) must be user/group %s/%s", tcsd_config_file,
+- TSS_USER_NAME, TSS_GROUP_NAME);
++ "root", TSS_GROUP_NAME);
+ return TCSERR(TSS_E_INTERNAL_ERROR);
+ }
+
+- /* make sure only the tss user can manipulate the config file */
++ /* make sure only the tss user can read (but not manipulate) the config file */
+ if (((stat_buf.st_mode & 0777) ^ mode) != 0) {
+- LogError("TCSD config file (%s) must be mode 0600", tcsd_config_file);
++ LogError("TCSD config file (%s) must be mode 0640", tcsd_config_file);
+ return TCSERR(TSS_E_INTERNAL_ERROR);
+ }
+ #endif /* SOLARIS */
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-Makefile.am-Mark-tddl.a-nodist.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-Makefile.am-Mark-tddl.a-nodist.patch
new file mode 100644
index 0000000000..f777b629ce
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-Makefile.am-Mark-tddl.a-nodist.patch
@@ -0,0 +1,25 @@
+From 5b1dbb5f8eada9002ec10f4ebc0bc418272e58b2 Mon Sep 17 00:00:00 2001
+From: Salah Coronya
+Date: Sun, 7 Jun 2020 12:34:03 -0500
+Subject: [PATCH] src/tddl/Makefile.am: Mark tddl.a nodist
+
+This makes tddl.a nodist like the others, so it is not installed
+
+Signed-off-by: Salah Coronya
+---
+ src/tddl/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/tddl/Makefile.am b/src/tddl/Makefile.am
+index 607eb8e..2cd599b 100644
+--- a/src/tddl/Makefile.am
++++ b/src/tddl/Makefile.am
+@@ -1,4 +1,4 @@
+-lib_LIBRARIES=libtddl.a
++noinst_LIBRARIES=libtddl.a
+
+ libtddl_a_SOURCES=tddl.c
+ libtddl_a_CFLAGS=-DAPPID=\"TCSD\ TDDL\" -I${top_srcdir}/src/include -fPIE -DPIE
+--
+2.26.2
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-fno-common.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-fno-common.patch
new file mode 100644
index 0000000000..5046bc7088
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-fno-common.patch
@@ -0,0 +1,15 @@
+diff --git a/src/include/tcsd.h b/src/include/tcsd.h
+index 5b9462b..05bae97 100644
+--- a/src/include/tcsd.h
++++ b/src/include/tcsd.h
+@@ -166,8 +166,8 @@ void thread_signal_init();
+
+ /* signal handling */
+ #ifndef __APPLE__
+-struct sigaction tcsd_sa_int;
+-struct sigaction tcsd_sa_chld;
++extern struct sigaction tcsd_sa_int;
++extern struct sigaction tcsd_sa_chld;
+ #endif
+
+ #endif
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-libressl.patch b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-libressl.patch
new file mode 100644
index 0000000000..9ee7c167e2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/files/trousers-0.3.14-libressl.patch
@@ -0,0 +1,28 @@
+From b8b1cda430270f03dc556cf9cf7d2fd478101525 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev
+Date: Wed, 7 Dec 2016 09:36:34 +0200
+Subject: [PATCH] tspi: support libressl
+
+Bug: https://sourceforge.net/p/trousers/bugs/222/
+
+Signed-off-by: Alon Bar-Lev
+---
+ src/trspi/crypto/openssl/rsa.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/trspi/crypto/openssl/rsa.c b/src/trspi/crypto/openssl/rsa.c
+index 2b1205f..3e56015 100644
+--- a/src/trspi/crypto/openssl/rsa.c
++++ b/src/trspi/crypto/openssl/rsa.c
+@@ -38,7 +38,7 @@
+ #define DEBUG_print_openssl_errors()
+ #endif
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100001L
++#if OPENSSL_VERSION_NUMBER < 0x10100001L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
+ static int
+ RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
+ {
+--
+2.7.3
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/metadata.xml
new file mode 100644
index 0000000000..643c6bf8c7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/metadata.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ salah.coronya@gmail.com
+ Salah Coronya
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
+ cpe:/a:debian:trousers
+ trousers
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild
new file mode 100644
index 0000000000..fce278c35c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-crypt/trousers/trousers-0.3.14-r2.ebuild
@@ -0,0 +1,89 @@
+# Flatcar modifications:
+# - added "Flatcar:" customizations
+# - added condition to files/tcsd.service
+# - created files/tmpfiles.d/trousers.conf
+# - created files/system.data
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools linux-info readme.gentoo-r1 systemd udev
+
+DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation"
+HOMEPAGE="http://trousers.sf.net"
+SRC_URI="mirror://sourceforge/trousers/${PN}/${P}.tar.gz"
+
+LICENSE="CPL-1.0 GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~m68k ~ppc ppc64 ~s390 x86"
+IUSE="doc libressl selinux" # gtk
+
+# gtk support presently does NOT compile.
+# gtk? ( >=x11-libs/gtk+-2 )
+
+DEPEND="acct-group/tss
+ acct-user/tss
+ >=dev-libs/glib-2
+ !libressl? ( >=dev-libs/openssl-0.9.7:0= )
+ libressl? ( dev-libs/libressl:0= )"
+RDEPEND="${DEPEND}
+ selinux? ( sec-policy/selinux-tcsd )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.3.13-nouseradd.patch"
+ "${FILESDIR}/${P}-libressl.patch"
+ "${FILESDIR}/${P}-fno-common.patch"
+ "${FILESDIR}/${P}-Makefile.am-Mark-tddl.a-nodist.patch"
+ "${FILESDIR}/${P}-CVE-2020-24330_CVE-2020-24331_CVE-2020-24332.patch"
+)
+
+DOCS="AUTHORS ChangeLog NICETOHAVES README TODO"
+
+DOC_CONTENTS="
+ If you have problems starting tcsd, please check permissions and
+ ownership on /dev/tpm* and ~tss/system.data
+"
+S="${WORKDIR}"
+
+CONFIG_CHECK="~TCG_TPM"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # econf --with-gui=$(usex gtk gtk openssl)
+ econf --with-gui=openssl
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+
+ keepdir /var/lib/tpm
+ use doc && dodoc doc/*
+ # Flatcar:
+ # (removed newinitd and newconfd)
+ fowners root:tss /etc/tcsd.conf
+
+ systemd_dounit "${FILESDIR}"/tcsd.service
+
+ # Flatcar:
+ systemd_enable_service multi-user.target tcsd.service
+
+ udev_dorules "${FILESDIR}"/61-trousers.rules
+ fowners tss:tss /var/lib/tpm
+ readme.gentoo_create_doc
+
+ # Flatcar:
+ insinto /usr/share/trousers/
+ doins "${FILESDIR}"/system.data
+ # stash a copy of the config so we can restore it from tmpfiles
+ doins "${D}"/etc/tcsd.conf
+ fowners tss:tss /usr/share/trousers/system.data
+ fowners root:tss /usr/share/trousers/tcsd.conf
+ systemd_dotmpfilesd "${FILESDIR}"/tmpfiles.d/trousers.conf
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/acbuild/acbuild-0.4.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/acbuild/acbuild-0.4.0.ebuild
new file mode 120000
index 0000000000..64278d411f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/acbuild/acbuild-0.4.0.ebuild
@@ -0,0 +1 @@
+acbuild-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/acbuild/acbuild-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/acbuild/acbuild-9999.ebuild
new file mode 100644
index 0000000000..ca430b3f2b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/acbuild/acbuild-9999.ebuild
@@ -0,0 +1,49 @@
+# Copyright (c) 2015 CoreOS, Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="appc/acbuild"
+CROS_WORKON_REPO="https://github.com"
+CROS_WORKON_LOCALNAME="appc-acbuild"
+COREOS_GO_PACKAGE="github.com/appc/acbuild"
+COREOS_GO_GO111MODULE="off"
+inherit coreos-go toolchain-funcs cros-workon
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="2d120a832bd4c3601ca307bf7dd1612a12b55d29" # v0.4.0
+ KEYWORDS="amd64 arm64"
+fi
+
+DESCRIPTION="A build tool for ACIs"
+HOMEPAGE="https://github.com/appc/acbuild"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+RDEPEND="sys-apps/kmod
+ app-crypt/gnupg
+ sys-apps/systemd"
+
+src_compile(){
+ if [[ "${PV}" == 9999 ]]; then
+ # set semver
+ local v
+ v=$(git describe --long --dirty) || die
+ v=${v#v}
+ v=${v/-/+}
+ GO_LDFLAGS="-X ${COREOS_GO_PACKAGE}/lib.Version=${v}"
+ else
+ GO_LDFLAGS="-X ${COREOS_GO_PACKAGE}/lib.Version=${PV}"
+ fi
+
+ go_build "${COREOS_GO_PACKAGE}/acbuild"
+}
+
+src_install(){
+ dobin "${WORKDIR}/gopath/bin/acbuild"
+}
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/actool/actool-0.8.11.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/actool/actool-0.8.11.ebuild
new file mode 120000
index 0000000000..394b35eae1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/actool/actool-0.8.11.ebuild
@@ -0,0 +1 @@
+actool-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/actool/actool-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/actool/actool-9999.ebuild
new file mode 100644
index 0000000000..03ed2192cd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/actool/actool-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright (c) 2015 CoreOS, Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="appc/spec"
+CROS_WORKON_REPO="https://github.com"
+CROS_WORKON_LOCALNAME="appc-spec"
+COREOS_GO_PACKAGE="github.com/appc/spec"
+COREOS_GO_GO111MODULE="off"
+inherit coreos-go cros-workon
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="cbe99b7160b1397bf89f9c8bb1418f69c9424049" # v0.8.11
+ KEYWORDS="amd64 arm64"
+fi
+
+DESCRIPTION="App Container builder and validator"
+HOMEPAGE="https://github.com/appc/spec"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+src_compile() {
+ go_build "${COREOS_GO_PACKAGE}/actool"
+}
+
+src_install() {
+ dobin "${WORKDIR}/gopath/bin/actool"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/actool/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/actool/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/actool/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/Manifest
new file mode 100644
index 0000000000..2098798341
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/Manifest
@@ -0,0 +1 @@
+DIST amazon-ssm-agent-2.3.1319.0.tar.gz 22207875 BLAKE2B 9c94f6837079d8117dffea09b1f793d261ac0cb2321c5e0f5a422ea1c57f5abeb3eb38fae74f91481d70ab3bb55dd2098fca4136c37a692d182b45560ed05900 SHA512 bb1d09704981277701bd0b70fadb8c6c917b72fce3f228511def621ea85ee4f401b20456e82bd7e9eed28350260b63076d49cf5f4004555fa16d645bafbecc41
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/amazon-ssm-agent-2.3.1319.0-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/amazon-ssm-agent-2.3.1319.0-r1.ebuild
new file mode 100644
index 0000000000..ce6c39e455
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/amazon-ssm-agent-2.3.1319.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+COREOS_GO_PACKAGE="${GITHUB_URI}"
+COREOS_GO_VERSION="go1.12"
+
+inherit coreos-go-depend golang-vcs-snapshot
+
+EGO_PN="github.com/aws/${PN}"
+DESCRIPTION="AWS Systems Manager Agent"
+HOMEPAGE="https://github.com/aws/amazon-ssm-agent"
+LICENSE="Apache-2.0"
+SRC_URI="https://${EGO_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz ${EGO_VENDOR_URI}"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+
+S="${WORKDIR}/${PN}-${PV}/src/${EGO_PN}"
+
+PATCHES=(
+ # patch generated by `goimports -w ./agent` command
+ "${FILESDIR}"/${P}-goimports.patch
+)
+
+src_prepare() {
+ default
+ ln -s ${PWD}/vendor/src/* ${PWD}/vendor/
+}
+
+src_compile() {
+ go_export
+
+ # this is replication of commands from the vendor makefile
+ # but without network activity during build phase
+ local GO_LDFLAGS="-s -w -extldflags=-Wl,-z,now,-z,relro,-z,defs"
+ export GOPATH="${WORKDIR}/${PN}-${PV}"
+ export GO111MODULE="off"
+ # set agent release version
+ BRAZIL_PACKAGE_VERSION=${PV} ${EGO} run ./agent/version/versiongenerator/version-gen.go
+ # build all the tools
+ ${EGO} build -v -ldflags "${GO_LDFLAGS}" -buildmode=pie \
+ -o bin/amazon-ssm-agent ./agent || die
+ ${EGO} build -v -ldflags "${GO_LDFLAGS}" -buildmode=pie \
+ -o bin/ssm-cli ./agent/cli-main || die
+ ${EGO} build -v -ldflags "${GO_LDFLAGS}" -buildmode=pie \
+ -o bin/ssm-document-worker ./agent/framework/processor/executer/outofproc/worker || die
+ ${EGO} build -v -ldflags "${GO_LDFLAGS}" -buildmode=pie \
+ -o bin/ssm-session-logger ./agent/session/logging || die
+ ${EGO} build -v -ldflags "${GO_LDFLAGS}" -buildmode=pie \
+ -o bin/ssm-session-worker ./agent/framework/processor/executer/outofproc/sessionworker || die
+}
+
+src_install() {
+ into "/usr/share/oem"
+ dobin bin/amazon-ssm-agent bin/ssm-cli bin/ssm-document-worker bin/ssm-session-logger bin/ssm-session-worker
+ # files used by ignition on a first run
+ insinto "/usr/share/oem/ssm"
+ newins seelog_unix.xml seelog.xml.template
+ doins amazon-ssm-agent.json.template
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/files/amazon-ssm-agent-2.3.1319.0-goimports.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/files/amazon-ssm-agent-2.3.1319.0-goimports.patch
new file mode 100644
index 0000000000..390ada1d53
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/files/amazon-ssm-agent-2.3.1319.0-goimports.patch
@@ -0,0 +1,23 @@
+diff --git a/agent/plugins/inventory/gatherers/application/dataProvider.go b/agent/plugins/inventory/gatherers/application/dataProvider.go
+index d252ffb4..d1a010ed 100644
+--- a/agent/plugins/inventory/gatherers/application/dataProvider.go
++++ b/agent/plugins/inventory/gatherers/application/dataProvider.go
+@@ -7,7 +7,6 @@ import (
+ "fmt"
+
+ "github.com/aws/amazon-ssm-agent/agent/context"
+- "github.com/aws/amazon-ssm-agent/agent/plugins/configurepackage/localpackages"
+ "github.com/aws/amazon-ssm-agent/agent/plugins/inventory/model"
+ )
+
+diff --git a/agent/plugins/inventory/gatherers/application/dataProvider_unix_test.go b/agent/plugins/inventory/gatherers/application/dataProvider_unix_test.go
+index af51fa2d..a2757005 100644
+--- a/agent/plugins/inventory/gatherers/application/dataProvider_unix_test.go
++++ b/agent/plugins/inventory/gatherers/application/dataProvider_unix_test.go
+@@ -241,4 +241,4 @@ func TestApplicationDataWithPackageRepositoryData(t *testing.T) {
+ data := CollectApplicationData(mockContext)
+ assert.Equal(t, len(sampleDataParsed), len(data))
+ assert.NotEqual(t, len(mockData), len(data))
+-}
+\ No newline at end of file
++}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/metadata.xml
new file mode 100644
index 0000000000..f30b435f18
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/metadata.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ Amazon EC2 Simple Systems Manager (SSM) Agent is software developed
+ for the Simple Systems Manager Service.
+
+
+ samm@os2.kiev.ua
+ Oleksii Samorukov
+
+
+ aws/amazon-ssm-agent
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/Manifest
new file mode 100644
index 0000000000..d529739dc2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/Manifest
@@ -0,0 +1 @@
+DIST containerd-1.5.13.tar.gz 7514582 BLAKE2B 7136edd284bd10e3717a751dceafece65547fc21e146cf045172a0fd67c5b0d8c4558c93cc13d2a24b518549e9ee906089ecd4f8416b2e5febb0f13f6bd7d346 SHA512 3b4aac9148150223c53a61e3a0f5c89b7354a16bed745de6bc9a6578be6b4d0671090c4b865f7acbe27697a4291d192a500ef4b8a34bac82cf24a2cfe575129a
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-1.5.13.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-1.5.13.ebuild
new file mode 120000
index 0000000000..c5606b90ce
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-1.5.13.ebuild
@@ -0,0 +1 @@
+containerd-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-9999.ebuild
new file mode 100644
index 0000000000..9bc4b7d159
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/containerd-9999.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GITHUB_URI="github.com/containerd/containerd"
+COREOS_GO_PACKAGE="${GITHUB_URI}"
+COREOS_GO_VERSION="go1.17"
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://${GITHUB_URI}.git"
+ inherit git-r3
+else
+ MY_PV="${PV/_rc/-rc.}"
+ EGIT_COMMIT="v${MY_PV}"
+ CONTAINERD_COMMIT="d0d56c1a4ace8bae8c7c98d28ba98f0537ebe704"
+ SRC_URI="https://${GITHUB_URI}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm64"
+ inherit vcs-snapshot
+fi
+
+inherit coreos-go systemd
+
+DESCRIPTION="A daemon to control runC"
+HOMEPAGE="https://containerd.tools"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+btrfs hardened"
+
+DEPEND="btrfs? ( sys-fs/btrfs-progs )"
+RDEPEND="~app-emulation/docker-runc-1.0.3
+ sys-libs/libseccomp"
+
+S=${WORKDIR}/${P}/src/${COREOS_GO_PACKAGE}
+
+RESTRICT="test"
+
+src_unpack() {
+ mkdir -p "${S}"
+ tar --strip-components=1 -C "${S}" -xf "${DISTDIR}/${A}"
+}
+
+src_prepare() {
+ coreos-go_src_prepare
+ if [[ ${PV} != *9999* ]]; then
+ sed -i -e "s/git describe --match.*$/echo ${PV})/"\
+ -e "s/git rev-parse HEAD.*$/echo $CONTAINERD_COMMIT)/"\
+ -e "s/-s -w//" \
+ Makefile || die
+ fi
+}
+
+src_compile() {
+ local options=( $(usex btrfs "" "no_btrfs") )
+ export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
+ export GO111MODULE=on
+ export GOFLAGS="-v -x -mod=vendor"
+ LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') emake BUILDTAGS="${options[*]}"
+}
+
+src_install() {
+ dobin bin/containerd{-shim,-shim-runc-v*,} bin/ctr
+ systemd_newunit "${FILESDIR}/${PN}-1.0.0.service" "${PN}.service"
+ systemd_enable_service multi-user.target "${PN}.service"
+ insinto /usr/share/containerd
+ doins "${FILESDIR}/config.toml"
+ doins "${FILESDIR}/config-cgroupfs.toml"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/config-cgroupfs.toml b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/config-cgroupfs.toml
new file mode 100644
index 0000000000..e2b6806b14
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/config-cgroupfs.toml
@@ -0,0 +1,34 @@
+version = 2
+
+# persistent data location
+root = "/var/lib/containerd"
+# runtime state information
+state = "/run/containerd"
+# set containerd as a subreaper on linux when it is not running as PID 1
+subreaper = true
+# set containerd's OOM score
+oom_score = -999
+disabled_plugins = []
+
+# grpc configuration
+[grpc]
+address = "/run/containerd/containerd.sock"
+# socket uid
+uid = 0
+# socket gid
+gid = 0
+
+[plugins."containerd.runtime.v1.linux"]
+# shim binary name/path
+shim = "containerd-shim"
+# runtime binary name/path
+runtime = "runc"
+# do not use a shim when starting containers, saves on memory but
+# live restore is not supported
+no_shim = false
+
+[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
+# setting runc.options unsets parent settings
+runtime_type = "io.containerd.runc.v2"
+[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
+SystemdCgroup = false
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/config.toml b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/config.toml
new file mode 100644
index 0000000000..b5459b93db
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/config.toml
@@ -0,0 +1,34 @@
+version = 2
+
+# persistent data location
+root = "/var/lib/containerd"
+# runtime state information
+state = "/run/containerd"
+# set containerd as a subreaper on linux when it is not running as PID 1
+subreaper = true
+# set containerd's OOM score
+oom_score = -999
+disabled_plugins = []
+
+# grpc configuration
+[grpc]
+address = "/run/containerd/containerd.sock"
+# socket uid
+uid = 0
+# socket gid
+gid = 0
+
+[plugins."containerd.runtime.v1.linux"]
+# shim binary name/path
+shim = "containerd-shim"
+# runtime binary name/path
+runtime = "runc"
+# do not use a shim when starting containers, saves on memory but
+# live restore is not supported
+no_shim = false
+
+[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
+# setting runc.options unsets parent settings
+runtime_type = "io.containerd.runc.v2"
+[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
+SystemdCgroup = true
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/containerd-1.0.0.service b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/containerd-1.0.0.service
new file mode 100644
index 0000000000..ac2b18d806
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/containerd-1.0.0.service
@@ -0,0 +1,24 @@
+[Unit]
+Description=containerd container runtime
+Documentation=https://containerd.io
+After=network.target
+
+[Service]
+Delegate=yes
+Environment=CONTAINERD_CONFIG=/usr/share/containerd/config.toml
+ExecStartPre=mkdir -p /run/docker/libcontainerd
+ExecStartPre=ln -fs /run/containerd/containerd.sock /run/docker/libcontainerd/docker-containerd.sock
+ExecStart=/usr/bin/containerd --config ${TORCX_UNPACKDIR}${TORCX_IMAGEDIR}${CONTAINERD_CONFIG}
+KillMode=process
+Type=notify
+Restart=always
+RestartSec=5
+
+# (lack of) limits from the upstream docker service unit
+LimitNOFILE=1048576
+LimitNPROC=infinity
+LimitCORE=infinity
+TasksMax=infinity
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/containerd.service b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/containerd.service
new file mode 100644
index 0000000000..5af2182266
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/files/containerd.service
@@ -0,0 +1,20 @@
+[Unit]
+Description=Containerd Container Daemon
+Documentation=http://github.com/docker/containerd
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/containerd --listen unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim /usr/bin/containerd-shim --state-dir /var/run/docker/libcontainerd/containerd --start-timeout 2m
+Restart=always
+
+# (lack of) limits from the upstream docker service unit
+LimitNOFILE=1048576
+LimitNPROC=infinity
+LimitCORE=infinity
+TasksMax=infinity
+
+# set delegate yes so that systemd does not reset the cgroups of containers
+Delegate=yes
+
+[Install]
+WantedBy=multi-user.target early-docker.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/metadata.xml
new file mode 100644
index 0000000000..7cc4630534
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/containerd/metadata.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ Containerd is a daemon with an API and a command line client, to manage
+ containers on one machine. It uses runC to run containers according to
+ the OCI specification. Containerd has advanced features such as seccomp
+ and user namespace support as well as checkpoint and restore for cloning
+ and live migration of containers.
+
+
+ admwiggin@gmail.com
+ Tianon
+
+
+ mrueg@gentoo.org
+ Manuel Rüger
+
+
+ williamh@gentoo.org
+ William Hubbs
+
+
+
+ docker/containerd
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/cri-tools/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/cri-tools/Manifest
new file mode 100644
index 0000000000..5110256b01
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/cri-tools/Manifest
@@ -0,0 +1 @@
+DIST cri-tools-1.19.0.tar.gz 5199409 BLAKE2B ac8dde307cd1c2817bb303c1676ec7d9136d76dd62d73646c60d9695084edb630bff103f431c505da3ff51398994e0dbd3f68812ca8c1717c2af1b4bbc80b6ec SHA512 835660af08a44f918c36fd4bbd24e94e0c6183ed21fa2a0497df0ba28a2c79473ed945c4842e2a93e195f11895aceca3c9b978b5a66f8f058a40d3b7808a1b43
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/cri-tools/cri-tools-1.19.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/cri-tools/cri-tools-1.19.0.ebuild
new file mode 100644
index 0000000000..07e5cf53db
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/cri-tools/cri-tools-1.19.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit coreos-go
+
+COREOS_GO_PACKAGE="github.com/kubernetes-sigs/cri-tools"
+COREOS_GO_MOD="vendor"
+
+MY_PV="v${PV/_beta/-beta.}"
+
+EGO_PN="${COREOS_GO_PACKAGE}"
+DESCRIPTION="CLI and validation tools for Kubelet Container Runtime (CRI)"
+HOMEPAGE="https://github.com/kubernetes-sigs/cri-tools"
+SRC_URI="https://github.com/kubernetes-sigs/cri-tools/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
+SLOT="0"
+# Flatcar: keyword arm64
+KEYWORDS="amd64 arm64"
+
+S=${WORKDIR}/cri-tools-${PV}
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ # Flatcar: to optimize the binary size of crictl, make use of the existing
+ # helpers provided by `coreos-go.eclass`.
+ # Add "-X $(PROJECT)/pkg/version.Version=$(VERSION)" to GO_LDFLAGS,
+ # as the original cri-tools Makefile does.
+ # Note, we cannot run the native command like `emake crictl`, because
+ # the cri-tools Makefile does not allow custom env variables like BUILDTAGS
+ # or GO_LDFLAGS to be configured.
+ GO_LDFLAGS="-s -w -extldflags=-Wl,-z,now,-z,relro,-z,defs "
+ GO_LDFLAGS+="-X ${COREOS_GO_PACKAGE}/pkg/version.Version=${PV} "
+ go_build "${COREOS_GO_PACKAGE}/cmd/crictl"
+}
+
+src_install() {
+ # Flatcar: install only crictl binary
+ dobin "${GOBIN}/crictl"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/cri-tools/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/cri-tools/metadata.xml
new file mode 100644
index 0000000000..ded6fbaced
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/cri-tools/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+ kubernetes-sigs/cri-tools
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-cli/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-cli/Manifest
new file mode 100644
index 0000000000..55a3682870
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-cli/Manifest
@@ -0,0 +1 @@
+DIST docker-cli-20.10.12.tar.gz 7527161 BLAKE2B 34a90f6df9f43507461307817e72cfb9e37f88d00e6fc50b8b16f3db9c573e54edc2eb2641ff4e091a2a73e936f8844011520efe5aaec37a9eb9880f5f81c51a SHA512 ac7c997f5751f2e34b9bcb9f026d3d0c2cd58c32a13e9255536b0eb0d7eabd81c42f2d608c0fe7725322b619f2360818b08379e847d598dd0bec570602ad224f
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-cli/docker-cli-20.10.12.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-cli/docker-cli-20.10.12.ebuild
new file mode 100644
index 0000000000..cfed0df18a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-cli/docker-cli-20.10.12.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GIT_COMMIT=60293e390e
+EGO_PN="github.com/docker/cli"
+
+COREOS_GO_PACKAGE="${EGO_PN}"
+COREOS_GO_VERSION="go1.17"
+
+inherit bash-completion-r1 golang-vcs-snapshot coreos-go-depend
+
+DESCRIPTION="the command line binary for docker"
+HOMEPAGE="https://www.docker.com/"
+MY_PV=${PV/_/-}
+SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE="hardened"
+
+RDEPEND="!
+
+
+
+ williamh@gentoo.org
+ William Hubbs
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/Manifest
new file mode 100644
index 0000000000..f11ead0a94
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/Manifest
@@ -0,0 +1 @@
+DIST docker-proxy-0.8.0_p20210525.tar.gz 3154432 BLAKE2B 3f273cd4c2dd3c797117bebfe06eb3ae8ce3b3f70d495cb0c77a372d64e23f1d9ad31e8efef64df494cc462e9f4fda9311c99ae7e7218f0fc41b6bf44cf8c08d SHA512 6a94fe23ce1bab0a428ee4bbe20089f5a4470e72c5da156b2b1a89de01cca803374fd9cdcd4c5b25b86af1c4e956c75a1a5ad7fb6639def7bcec69859a77c047
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-0.8.0_p20210525.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-0.8.0_p20210525.ebuild
new file mode 120000
index 0000000000..dafe77c5fe
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-0.8.0_p20210525.ebuild
@@ -0,0 +1 @@
+docker-proxy-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-9999.ebuild
new file mode 100644
index 0000000000..e9221e635d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-proxy/docker-proxy-9999.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+EGO_PN="github.com/docker/libnetwork"
+
+COREOS_GO_PACKAGE="${EGO_PN}"
+COREOS_GO_VERSION="go1.17"
+COREOS_GO_GO111MODULE="off"
+
+if [[ ${PV} == *9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+ inherit golang-vcs
+else
+ EGIT_COMMIT="64b7a4574d1426139437d20e81c0b6d391130ec8"
+ SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm64"
+ inherit golang-vcs-snapshot
+fi
+
+inherit coreos-go
+
+DESCRIPTION="Docker container networking"
+HOMEPAGE="https://github.com/docker/libnetwork"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+S=${WORKDIR}/${P}/src/${EGO_PN}
+
+RDEPEND="!
+
+
+
+ tianon@dockerproject.org
+ Tianon
+
+
+ mrueg@gentoo.org
+ Manuel Rüger
+
+
+ williamh@gentoo.org
+ William Hubbs
+
+
+ docker/libnetwork
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/Manifest
new file mode 100644
index 0000000000..9012d22bf5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/Manifest
@@ -0,0 +1 @@
+DIST docker-runc-1.0.3.tar.gz 2377894 BLAKE2B 56407cdbe3d5c22f949ec86f75ad14e2e4c0893e1741a449babd0f29bd2e9faca22df021aa7682021a387f9ba65335d05887868af2a4236beef34928aea12f42 SHA512 7f1a886597bc66ad4e1afebddd4cce70e5ef22426a4b83c0cd5cb89846b4c90816ef776b360681f2647866455928529a66896ff4bec4892d88399363113b3505
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/docker-runc-1.0.3.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/docker-runc-1.0.3.ebuild
new file mode 100644
index 0000000000..7fcbeebd67
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/docker-runc-1.0.3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GITHUB_URI="github.com/opencontainers/runc"
+COREOS_GO_PACKAGE="${GITHUB_URI}"
+COREOS_GO_VERSION="go1.17"
+# the commit of runc that docker uses.
+# see https://github.com/docker/docker-ce/blob/v19.03.15/components/engine/hack/dockerfile/install/runc.installer#L4
+COMMIT_ID="e4bccdbd64361ac5ea8ba90bb8845add78f957a6"
+
+inherit eutils flag-o-matic coreos-go vcs-snapshot
+
+SRC_URI="https://${GITHUB_URI}/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="amd64 arm64"
+
+DESCRIPTION="runc container cli tools (docker fork)"
+HOMEPAGE="http://runc.io"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="ambient apparmor hardened +seccomp selinux"
+
+RDEPEND="
+ apparmor? ( sys-libs/libapparmor )
+ seccomp? ( sys-libs/libseccomp )
+"
+
+S=${WORKDIR}/${P}/src/${COREOS_GO_PACKAGE}
+
+RESTRICT="test"
+
+src_unpack() {
+ mkdir -p "${S}"
+ tar --strip-components=1 -C "${S}" -xf "${DISTDIR}/${A}"
+}
+
+PATCHES=(
+ "${FILESDIR}/0001-Delay-unshare-of-clone-newipc-for-selinux.patch"
+)
+
+src_compile() {
+ # Taken from app-emulation/docker-1.7.0-r1
+ export CGO_CFLAGS="-I${SYSROOT}/usr/include"
+ export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
+ -L${SYSROOT}/usr/$(get_libdir)"
+
+ # build up optional flags
+ local options=(
+ $(usex ambient 'ambient' '')
+ $(usex apparmor 'apparmor' '')
+ $(usex seccomp 'seccomp' '')
+ $(usex selinux 'selinux' '')
+ )
+
+ GOPATH="${WORKDIR}/${P}" emake BUILDTAGS="${options[*]}" \
+ VERSION=1.0.3+dev.docker-20.10 \
+ COMMIT="${COMMIT_ID}"
+}
+
+src_install() {
+ dobin runc
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/0001-Delay-unshare-of-clone-newipc-for-selinux.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/0001-Delay-unshare-of-clone-newipc-for-selinux.patch
new file mode 100644
index 0000000000..dba875395f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/0001-Delay-unshare-of-clone-newipc-for-selinux.patch
@@ -0,0 +1,46 @@
+From ab3a3b89d712bb1c6ca2e09ffc375f4b837e9401 Mon Sep 17 00:00:00 2001
+From: Mrunal Patel
+Date: Thu, 2 Feb 2017 11:23:26 -0800
+Subject: [PATCH] Delay unshare of CLONE_NEWIPC for SELinux
+
+We ensure that mqueue is owned by user namespace root
+by unsharing CLONE_NEWIPC after we become user namespace
+root. This allows us to apply the container SELinux label
+to mqueue.
+
+Signed-off-by: Mrunal Patel
+---
+ libcontainer/nsenter/nsexec.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c
+index 0ad68834..5100698a 100644
+--- a/libcontainer/nsenter/nsexec.c
++++ b/libcontainer/nsenter/nsexec.c
+@@ -719,7 +719,12 @@ void nsexec(void)
+ * some old kernel versions where clone(CLONE_PARENT | CLONE_NEWPID)
+ * was broken, so we'll just do it the long way anyway.
+ */
+ write_log(DEBUG, "unshare remaining namespace (except cgroupns)");
+- if (unshare(config.cloneflags & ~CLONE_NEWCGROUP) < 0)
++ uint32_t apply_cloneflags = config.cloneflags;
++ if ((config.cloneflags & CLONE_NEWUSER) && (config.cloneflags & CLONE_NEWIPC)) {
++ apply_cloneflags &= ~CLONE_NEWIPC;
++ }
++
++ if (unshare(apply_cloneflags & ~CLONE_NEWCGROUP) < 0)
+ bail("failed to unshare remaining namespaces (except cgroupns)");
+
+ /*
+@@ -841,6 +846,11 @@ void nsexec(void)
+ bail("setgroups failed");
+ }
+
++ if ((config.cloneflags & CLONE_NEWUSER) && (config.cloneflags & CLONE_NEWIPC)) {
++ if (unshare(CLONE_NEWIPC) < 0)
++ bail("unshare ipc failed");
++ }
++
+ /*
+ * Wait until our topmost parent has finished cgroup setup in
+ * p.manager.Apply().
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/0001-nsenter-clone-proc-self-exe-to-avoid-exposing-host-b.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/0001-nsenter-clone-proc-self-exe-to-avoid-exposing-host-b.patch
new file mode 100644
index 0000000000..92b024eb4e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/0001-nsenter-clone-proc-self-exe-to-avoid-exposing-host-b.patch
@@ -0,0 +1,334 @@
+From 2d069bb79260e594870ce3e7466477e54a0c5307 Mon Sep 17 00:00:00 2001
+From: Aleksa Sarai
+Date: Wed, 9 Jan 2019 13:40:01 +1100
+Subject: [PATCH] nsenter: clone /proc/self/exe to avoid exposing host binary
+ to container
+
+There are quite a few circumstances where /proc/self/exe pointing to a
+pretty important container binary is a _bad_ thing, so to avoid this we
+have to make a copy (preferably doing self-clean-up and not being
+writeable).
+
+We require memfd_create(2) -- though there is an O_TMPFILE fallback --
+but we can always extend this to use a scratch MNT_DETACH overlayfs or
+tmpfs. The main downside to this approach is no page-cache sharing for
+the runc binary (which overlayfs would give us) but this is far less
+complicated.
+
+This is only done during nsenter so that it happens transparently to the
+Go code, and any libcontainer users benefit from it. This also makes
+ExtraFiles and --preserve-fds handling trivial (because we don't need to
+worry about it).
+
+Fixes: CVE-2019-5736
+Co-developed-by: Christian Brauner
+Signed-off-by: Aleksa Sarai
+---
+ libcontainer/nsenter/cloned_binary.c | 268 +++++++++++++++++++++++++++
+ libcontainer/nsenter/nsexec.c | 11 ++
+ 2 files changed, 279 insertions(+)
+ create mode 100644 libcontainer/nsenter/cloned_binary.c
+
+diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c
+new file mode 100644
+index 000000000000..c8a42c23f73f
+--- /dev/null
++++ b/libcontainer/nsenter/cloned_binary.c
+@@ -0,0 +1,268 @@
++/*
++ * Copyright (C) 2019 Aleksa Sarai
++ * Copyright (C) 2019 SUSE LLC
++ *
++ * 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.
++ */
++
++#define _GNU_SOURCE
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++
++#include
++#include
++#include
++#include
++#include
++#include
++
++/* Use our own wrapper for memfd_create. */
++#if !defined(SYS_memfd_create) && defined(__NR_memfd_create)
++# define SYS_memfd_create __NR_memfd_create
++#endif
++#ifdef SYS_memfd_create
++# define HAVE_MEMFD_CREATE
++/* memfd_create(2) flags -- copied from . */
++# ifndef MFD_CLOEXEC
++# define MFD_CLOEXEC 0x0001U
++# define MFD_ALLOW_SEALING 0x0002U
++# endif
++int memfd_create(const char *name, unsigned int flags)
++{
++ return syscall(SYS_memfd_create, name, flags);
++}
++#endif
++
++/* This comes directly from . */
++#ifndef F_LINUX_SPECIFIC_BASE
++# define F_LINUX_SPECIFIC_BASE 1024
++#endif
++#ifndef F_ADD_SEALS
++# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
++# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
++#endif
++#ifndef F_SEAL_SEAL
++# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */
++# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */
++# define F_SEAL_GROW 0x0004 /* prevent file from growing */
++# define F_SEAL_WRITE 0x0008 /* prevent writes */
++#endif
++
++#define RUNC_SENDFILE_MAX 0x7FFFF000 /* sendfile(2) is limited to 2GB. */
++#ifdef HAVE_MEMFD_CREATE
++# define RUNC_MEMFD_COMMENT "runc_cloned:/proc/self/exe"
++# define RUNC_MEMFD_SEALS \
++ (F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE)
++#endif
++
++static void *must_realloc(void *ptr, size_t size)
++{
++ void *old = ptr;
++ do {
++ ptr = realloc(old, size);
++ } while(!ptr);
++ return ptr;
++}
++
++/*
++ * Verify whether we are currently in a self-cloned program (namely, is
++ * /proc/self/exe a memfd). F_GET_SEALS will only succeed for memfds (or rather
++ * for shmem files), and we want to be sure it's actually sealed.
++ */
++static int is_self_cloned(void)
++{
++ int fd, ret, is_cloned = 0;
++
++ fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC);
++ if (fd < 0)
++ return -ENOTRECOVERABLE;
++
++#ifdef HAVE_MEMFD_CREATE
++ ret = fcntl(fd, F_GET_SEALS);
++ is_cloned = (ret == RUNC_MEMFD_SEALS);
++#else
++ struct stat statbuf = {0};
++ ret = fstat(fd, &statbuf);
++ if (ret >= 0)
++ is_cloned = (statbuf.st_nlink == 0);
++#endif
++ close(fd);
++ return is_cloned;
++}
++
++/*
++ * Basic wrapper around mmap(2) that gives you the file length so you can
++ * safely treat it as an ordinary buffer. Only gives you read access.
++ */
++static char *read_file(char *path, size_t *length)
++{
++ int fd;
++ char buf[4096], *copy = NULL;
++
++ if (!length)
++ return NULL;
++
++ fd = open(path, O_RDONLY | O_CLOEXEC);
++ if (fd < 0)
++ return NULL;
++
++ *length = 0;
++ for (;;) {
++ int n;
++
++ n = read(fd, buf, sizeof(buf));
++ if (n < 0)
++ goto error;
++ if (!n)
++ break;
++
++ copy = must_realloc(copy, (*length + n) * sizeof(*copy));
++ memcpy(copy + *length, buf, n);
++ *length += n;
++ }
++ close(fd);
++ return copy;
++
++error:
++ close(fd);
++ free(copy);
++ return NULL;
++}
++
++/*
++ * A poor-man's version of "xargs -0". Basically parses a given block of
++ * NUL-delimited data, within the given length and adds a pointer to each entry
++ * to the array of pointers.
++ */
++static int parse_xargs(char *data, int data_length, char ***output)
++{
++ int num = 0;
++ char *cur = data;
++
++ if (!data || *output != NULL)
++ return -1;
++
++ while (cur < data + data_length) {
++ num++;
++ *output = must_realloc(*output, (num + 1) * sizeof(**output));
++ (*output)[num - 1] = cur;
++ cur += strlen(cur) + 1;
++ }
++ (*output)[num] = NULL;
++ return num;
++}
++
++/*
++ * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ.
++ * This is necessary because we are running in a context where we don't have a
++ * main() that we can just get the arguments from.
++ */
++static int fetchve(char ***argv, char ***envp)
++{
++ char *cmdline = NULL, *environ = NULL;
++ size_t cmdline_size, environ_size;
++
++ cmdline = read_file("/proc/self/cmdline", &cmdline_size);
++ if (!cmdline)
++ goto error;
++ environ = read_file("/proc/self/environ", &environ_size);
++ if (!environ)
++ goto error;
++
++ if (parse_xargs(cmdline, cmdline_size, argv) <= 0)
++ goto error;
++ if (parse_xargs(environ, environ_size, envp) <= 0)
++ goto error;
++
++ return 0;
++
++error:
++ free(environ);
++ free(cmdline);
++ return -EINVAL;
++}
++
++static int clone_binary(void)
++{
++ int binfd, memfd;
++ ssize_t sent = 0;
++
++#ifdef HAVE_MEMFD_CREATE
++ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING);
++#else
++ memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711);
++#endif
++ if (memfd < 0)
++ return -ENOTRECOVERABLE;
++
++ binfd = open("/proc/self/exe", O_RDONLY | O_CLOEXEC);
++ if (binfd < 0)
++ goto error;
++
++ sent = sendfile(memfd, binfd, NULL, RUNC_SENDFILE_MAX);
++ close(binfd);
++ if (sent < 0)
++ goto error;
++
++#ifdef HAVE_MEMFD_CREATE
++ int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS);
++ if (err < 0)
++ goto error;
++#else
++ /* Need to re-open "memfd" as read-only to avoid execve(2) giving -EXTBUSY. */
++ int newfd;
++ char *fdpath = NULL;
++
++ if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0)
++ goto error;
++ newfd = open(fdpath, O_RDONLY | O_CLOEXEC);
++ free(fdpath);
++ if (newfd < 0)
++ goto error;
++
++ close(memfd);
++ memfd = newfd;
++#endif
++ return memfd;
++
++error:
++ close(memfd);
++ return -EIO;
++}
++
++int ensure_cloned_binary(void)
++{
++ int execfd;
++ char **argv = NULL, **envp = NULL;
++
++ /* Check that we're not self-cloned, and if we are then bail. */
++ int cloned = is_self_cloned();
++ if (cloned > 0 || cloned == -ENOTRECOVERABLE)
++ return cloned;
++
++ if (fetchve(&argv, &envp) < 0)
++ return -EINVAL;
++
++ execfd = clone_binary();
++ if (execfd < 0)
++ return -EIO;
++
++ fexecve(execfd, argv, envp);
++ return -ENOEXEC;
++}
+diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c
+index 28269dfc027f..7750af35ea92 100644
+--- a/libcontainer/nsenter/nsexec.c
++++ b/libcontainer/nsenter/nsexec.c
+@@ -534,6 +534,9 @@ void join_namespaces(char *nslist)
+ free(namespaces);
+ }
+
++/* Defined in cloned_binary.c. */
++extern int ensure_cloned_binary(void);
++
+ void nsexec(void)
+ {
+ int pipenum;
+@@ -549,6 +552,14 @@ void nsexec(void)
+ if (pipenum == -1)
+ return;
+
++ /*
++ * We need to re-exec if we are not in a cloned binary. This is necessary
++ * to ensure that containers won't be able to access the host binary
++ * through /proc/self/exe. See CVE-2019-5736.
++ */
++ if (ensure_cloned_binary() < 0)
++ bail("could not ensure we are a cloned binary");
++
+ /* Parse all of the netlink configuration. */
+ nl_parse(pipenum, &config);
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/docker-runc-1.0.0_rc2-mount-propagation.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/docker-runc-1.0.0_rc2-mount-propagation.patch
new file mode 100644
index 0000000000..c284e9972d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/files/docker-runc-1.0.0_rc2-mount-propagation.patch
@@ -0,0 +1,41 @@
+From db55cd4f29298ae08b20f92b8953735723ee2167 Mon Sep 17 00:00:00 2001
+From: Euan Kemp
+Date: Fri, 22 Sep 2017 02:31:17 -0700
+Subject: [PATCH] libcontainer: default mount propagation correctly
+
+The code in prepareRoot (https://github.com/opencontainers/runc/blob/e385f67a0e45fa1d8ef8154e2aea5128ea1d331b/libcontainer/rootfs_linux.go#L599-L605)
+attempts to default the rootfs mount to `rslave`. However, since the spec
+conversion has already defaulted it to `rprivate`, that code doesn't
+actually ever do anything.
+
+This changes the spec conversion code to accept "" and treat it as 0.
+
+Implicitly, this makes rootfs propagation default to `rslave`, which is
+a part of fixing the moby bug https://github.com/moby/moby/issues/34672
+
+Alternate implementatoins include changing this defaulting to be
+`rslave` and removing the defaulting code in prepareRoot, or skipping
+the mapping entirely for "", but I think this change is the cleanest of
+those options.
+
+Signed-off-by: Euan Kemp
+---
+ libcontainer/specconv/spec_linux.go | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go
+index 1575ae03..8a2947f6 100644
+--- a/libcontainer/specconv/spec_linux.go
++++ b/libcontainer/specconv/spec_linux.go
+@@ -36,7 +36,7 @@ var mountPropagationMapping = map[string]int{
+ "slave": syscall.MS_SLAVE,
+ "rshared": syscall.MS_SHARED | syscall.MS_REC,
+ "shared": syscall.MS_SHARED,
+- "": syscall.MS_PRIVATE | syscall.MS_REC,
++ "": 0,
+ }
+
+ var allowedDevices = []*configs.Device{
+--
+2.13.5
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/metadata.xml
new file mode 100644
index 0000000000..9fe8126b58
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker-runc/metadata.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ runc is a CLI tool for spawning and running containers according
+ to the OCF (Open Container Format) specification.
+
+
+ mrueg@gentoo.org
+ Manuel Rüger
+
+
+
+ docker/runc
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/Manifest
new file mode 100644
index 0000000000..67a015b7b8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/Manifest
@@ -0,0 +1 @@
+DIST docker-20.10.12.tar.gz 11091999 BLAKE2B e3b1c40d2dcd2df9b158942759e035d53481dbd63c0fda188ec8564b0249402f5eff5f25fcb1a53c5d9af5b4c49f0919fc07f1f52d0b7333044c0a9c12631c21 SHA512 f4122c8cbc67e6b7703856dc76d6f15d7fab1b2001d4916b89958d5319c16d8b8445881841ef4804e8d47d64694184aec1be93e22d7baceb021c4a99c2c03753
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-20.10.12.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-20.10.12.ebuild
new file mode 100644
index 0000000000..5c344e308a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-20.10.12.ebuild
@@ -0,0 +1,310 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+EGO_PN=github.com/docker/docker
+GIT_COMMIT=bd6d47cb47
+# Flatcar: force building with go1.17 like upstream does
+COREOS_GO_VERSION="go1.17"
+COREOS_GO_GO111MODULE="off"
+
+inherit bash-completion-r1 linux-info systemd udev golang-vcs-snapshot
+# Flatcar: use coreos-go-depend to force building with go1.17
+inherit coreos-go-depend
+
+DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
+HOMEPAGE="https://www.docker.com/"
+MY_PV=${PV/_/-}
+SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~x86"
+# Flatcar: default enable required USE flags
+IUSE="apparmor aufs +btrfs +cli +container-init +device-mapper +hardened +overlay +seccomp +journald"
+
+DEPEND="
+ acct-group/docker
+ >=dev-db/sqlite-3.7.9:3
+ apparmor? ( sys-libs/libapparmor )
+ btrfs? ( >=sys-fs/btrfs-progs-3.16.1 )
+ device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] )
+ seccomp? ( >=sys-libs/libseccomp-2.2.1 )
+"
+
+# Flatcar:
+# For CoreOS builds coreos-kernel must be installed because this ebuild
+# checks the kernel config. The kernel config is left by the kernel compile
+# or an explicit copy when installing binary packages. See coreos-kernel.eclass
+DEPEND+="sys-kernel/coreos-kernel"
+
+# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
+# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies
+# https://github.com/moby/moby/tree/master//hack/dockerfile/install
+# make sure docker-proxy is pinned to exact version from ^,
+# for appropriate branchch/version of course
+# Flatcar:
+# containerd ebuild doesn't support apparmor, device-mapper and seccomp use flags
+# tini ebuild doesn't support static use flag
+RDEPEND="
+ ${DEPEND}
+ >=net-firewall/iptables-1.4
+ sys-process/procps
+ >=dev-vcs/git-1.7
+ >=app-arch/xz-utils-4.9
+ dev-libs/libltdl
+ >=app-emulation/containerd-1.4.6[btrfs?]
+ ~app-emulation/docker-proxy-0.8.0_p20210525
+ cli? ( app-emulation/docker-cli )
+ container-init? ( >=sys-process/tini-0.19.0 )
+"
+
+# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
+# Flatcar: drop go-md2man
+BDEPEND="
+ >=dev-lang/go-1.13.12
+ virtual/pkgconfig
+"
+# tests require running dockerd as root and downloading containers
+RESTRICT="installsources strip test"
+
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552
+PATCHES=(
+ "${FILESDIR}/etcd-F_OFD_GETLK-fix.patch"
+ "${FILESDIR}/ppc64-buildmode.patch"
+)
+
+# see "contrib/check-config.sh" from upstream's sources
+CONFIG_CHECK="
+ ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
+ ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
+ ~CGROUP_NET_PRIO
+ ~KEYS
+ ~VETH ~BRIDGE ~BRIDGE_NETFILTER
+ ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE ~NETFILTER_XT_MARK
+ ~NETFILTER_NETLINK ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS
+ ~IP_NF_NAT ~NF_NAT
+ ~POSIX_MQUEUE
+
+ ~USER_NS
+ ~SECCOMP
+ ~CGROUP_PIDS
+ ~MEMCG_SWAP
+
+ ~BLK_CGROUP ~BLK_DEV_THROTTLING
+ ~CGROUP_PERF
+ ~CGROUP_HUGETLB
+ ~NET_CLS_CGROUP
+ ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED
+ ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR
+
+ ~VXLAN
+ ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER
+ ~IPVLAN
+ ~MACVLAN ~DUMMY
+
+ ~OVERLAY_FS ~!OVERLAY_FS_REDIRECT_DIR
+ ~EXT4_FS_SECURITY
+ ~EXT4_FS_POSIX_ACL
+"
+
+ERROR_KEYS="CONFIG_KEYS: is mandatory"
+ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
+ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
+
+ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
+ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
+ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
+ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
+ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
+ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
+
+pkg_setup() {
+
+ if kernel_is lt 4 5; then
+ CONFIG_CHECK+="
+ ~MEMCG_KMEM
+ "
+ ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
+ fi
+
+ if kernel_is lt 4 7; then
+ CONFIG_CHECK+="
+ ~DEVPTS_MULTIPLE_INSTANCES
+ "
+ fi
+
+ if kernel_is lt 5 1; then
+ CONFIG_CHECK+="
+ ~NF_NAT_IPV4
+ ~IOSCHED_CFQ
+ ~CFQ_GROUP_IOSCHED
+ "
+ fi
+
+ if kernel_is lt 5 2; then
+ CONFIG_CHECK+="
+ ~NF_NAT_NEEDED
+ "
+ fi
+
+ if kernel_is lt 5 8; then
+ CONFIG_CHECK+="
+ ~MEMCG_SWAP_ENABLED
+ "
+ fi
+
+ if use aufs; then
+ CONFIG_CHECK+="
+ ~AUFS_FS
+ ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
+ "
+ ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs is patched to kernel instead of using standalone"
+ fi
+
+ if use btrfs; then
+ CONFIG_CHECK+="
+ ~BTRFS_FS
+ ~BTRFS_FS_POSIX_ACL
+ "
+ fi
+
+ if use device-mapper; then
+ CONFIG_CHECK+="
+ ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
+ "
+ fi
+
+ linux-info_pkg_setup
+}
+
+src_compile() {
+ # Flatcar: for cross-compilation
+ go_export
+ export DOCKER_GITCOMMIT="${GIT_COMMIT}"
+ export GOPATH="${WORKDIR}/${P}"
+ export VERSION=${PV}
+
+ # setup CFLAGS and LDFLAGS for separate build target
+ # see https://github.com/tianon/docker-overlay/pull/10
+ # Flatcar: allow injecting CFLAGS/LDFLAGS, which is needed for torcx rpath
+ export CGO_CFLAGS="${CGO_CFLAGS} -I${ESYSROOT}/usr/include"
+ export CGO_LDFLAGS="${CGO_LDFLAGS} -L${ESYSROOT}/usr/$(get_libdir)"
+
+ # let's set up some optional features :)
+ export DOCKER_BUILDTAGS=''
+ for gd in aufs btrfs device-mapper overlay; do
+ if ! use $gd; then
+ DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
+ fi
+ done
+
+ for tag in apparmor seccomp journald; do
+ if use $tag; then
+ DOCKER_BUILDTAGS+=" $tag"
+ fi
+ done
+
+ # Flatcar:
+ # inject LDFLAGS for torcx
+ if use hardened; then
+ sed -i "s#EXTLDFLAGS_STATIC='#&-fno-PIC $LDFLAGS #" hack/make.sh || die
+ grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
+ sed "s#LDFLAGS_STATIC_DOCKER='#&-extldflags \"-fno-PIC $LDFLAGS\" #" \
+ -i hack/make/dynbinary-daemon || die
+ grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
+ fi
+
+ # build daemon
+ ./hack/make.sh dynbinary || die 'dynbinary failed'
+}
+
+src_install() {
+ dosym containerd /usr/bin/docker-containerd
+ dosym containerd-shim /usr/bin/docker-containerd-shim
+ dosym runc /usr/bin/docker-runc
+ use container-init && dosym tini /usr/bin/docker-init
+ newbin bundles/dynbinary-daemon/dockerd dockerd
+
+ newinitd contrib/init/openrc/docker.initd docker
+ newconfd contrib/init/openrc/docker.confd docker
+
+ # Flatcar:
+ # install our systemd units/network config and our wrapper into
+ # /usr/lib/flatcar/docker for backwards compatibility
+ exeinto /usr/lib/flatcar
+ doexe "${FILESDIR}/dockerd"
+
+ systemd_dounit "${FILESDIR}/docker.service"
+ systemd_dounit "${FILESDIR}/docker.socket"
+
+ insinto /usr/lib/systemd/network
+ doins "${FILESDIR}/50-docker.network"
+ doins "${FILESDIR}/90-docker-veth.network"
+
+ udev_dorules contrib/udev/*.rules
+
+ dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
+ dodoc -r docs/*
+
+ # Flatcar:
+ # don't install contrib bits
+}
+
+pkg_postinst() {
+ udev_reload
+
+ elog
+ elog "To use Docker, the Docker daemon must be running as root. To automatically"
+ elog "start the Docker daemon at boot:"
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ elog " systemctl enable docker.service"
+ else
+ elog " rc-update add docker default"
+ fi
+ elog
+ elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
+ elog ' usermod -aG docker '
+ elog
+
+ if use device-mapper; then
+ elog " Devicemapper storage driver has been deprecated"
+ elog " It will be removed in a future release"
+ elog
+ fi
+
+ if use overlay; then
+ elog " Overlay storage driver/USEflag has been deprecated"
+ elog " in favor of overlay2 (enabled unconditionally)"
+ elog
+ fi
+
+ if has_version sys-fs/zfs; then
+ elog " ZFS storage driver is available"
+ elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
+ elog
+ fi
+
+ if use cli; then
+ ewarn "Starting with docker 20.10.2, docker has been split into"
+ ewarn "two packages upstream, so Gentoo has followed suit."
+ ewarn
+ ewarn "app-emulation/docker contains the daemon and"
+ ewarn "app-emulation/docker-cli contains the docker command."
+ ewarn
+ ewarn "docker currently installs docker-cli using the cli use flag."
+ ewarn
+ ewarn "This use flag is temporary, so you need to take the"
+ ewarn "following actions:"
+ ewarn
+ ewarn "First, disable the cli use flag for app-emulation/docker"
+ ewarn
+ ewarn "Then, if you need docker-cli and docker on the same machine,"
+ ewarn "run the following command:"
+ ewarn
+ ewarn "# emerge --noreplace docker-cli"
+ ewarn
+ fi
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/50-docker.network b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/50-docker.network
new file mode 100644
index 0000000000..a0d17b5368
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/50-docker.network
@@ -0,0 +1,6 @@
+[Match]
+Type=bridge
+Name=docker* br-*
+
+[Link]
+Unmanaged=yes
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/90-docker-veth.network b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/90-docker-veth.network
new file mode 100644
index 0000000000..3ca3816c23
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/90-docker-veth.network
@@ -0,0 +1,5 @@
+[Match]
+Driver=veth
+
+[Link]
+Unmanaged=yes
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker.service b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker.service
new file mode 100644
index 0000000000..a8f1bf4ef5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker.service
@@ -0,0 +1,37 @@
+[Unit]
+Description=Docker Application Container Engine
+Documentation=http://docs.docker.com
+After=containerd.service docker.socket network-online.target
+Wants=network-online.target
+Requires=containerd.service docker.socket
+
+[Service]
+Type=notify
+EnvironmentFile=-/run/flannel/flannel_docker_opts.env
+Environment=DOCKER_SELINUX=--selinux-enabled=true
+
+# the default is not to use systemd for cgroups because the delegate issues still
+# exists and systemd currently does not support the cgroup feature set required
+# for containers run by docker
+ExecStart=/usr/bin/dockerd --host=fd:// --containerd=/var/run/docker/libcontainerd/docker-containerd.sock $DOCKER_SELINUX $DOCKER_OPTS $DOCKER_CGROUPS $DOCKER_OPT_BIP $DOCKER_OPT_MTU $DOCKER_OPT_IPMASQ
+ExecReload=/bin/kill -s HUP $MAINPID
+LimitNOFILE=1048576
+# Having non-zero Limit*s causes performance problems due to accounting overhead
+# in the kernel. We recommend using cgroups to do container-local accounting.
+LimitNPROC=infinity
+LimitCORE=infinity
+# Uncomment TasksMax if your systemd version supports it.
+# Only systemd 226 and above support this version.
+TasksMax=infinity
+TimeoutStartSec=0
+# set delegate yes so that systemd does not reset the cgroups of docker containers
+Delegate=yes
+# kill only the docker process, not all processes in the cgroup
+KillMode=process
+# restart the docker process if it exits prematurely
+Restart=on-failure
+StartLimitBurst=3
+StartLimitInterval=60s
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker.socket b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker.socket
new file mode 100644
index 0000000000..53133c4f8f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker.socket
@@ -0,0 +1,13 @@
+[Unit]
+Description=Docker Socket for the API
+PartOf=docker.service
+
+[Socket]
+ListenStream=/var/run/docker.sock
+SocketMode=0660
+SocketUser=root
+SocketGroup=docker
+
+[Install]
+WantedBy=sockets.target
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/dockerd b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/dockerd
new file mode 100644
index 0000000000..19c440bdda
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/dockerd
@@ -0,0 +1,41 @@
+#!/bin/bash
+# Wrapper for launching docker daemons with selinux default on
+# This wrapper script has been deprecated (euank: 2017-05-09) and is retained
+# for backwards compatibility.
+
+set -e
+
+parse_docker_args() {
+ local flag
+ while [[ $# -gt 0 ]]; do
+ flag="$1"
+ shift
+
+ # treat --flag=foo and --flag foo identically
+ if [[ "${flag}" == *=* ]]; then
+ set -- "${flag#*=}" "$@"
+ flag="${flag%=*}"
+ fi
+
+ case "${flag}" in
+ --selinux-enabled)
+ ARG_SELINUX="$1"
+ shift
+ ;;
+ *)
+ # ignore everything else
+ ;;
+ esac
+ done
+}
+
+parse_docker_args "$@"
+
+USE_SELINUX=""
+# Do not override selinux if it is already explicitly configured.
+if [[ -z "${ARG_SELINUX}" ]]; then
+ # If unspecified, default off
+ USE_SELINUX="--selinux-enabled=false"
+fi
+
+exec dockerd "$@" ${USE_SELINUX}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/etcd-F_OFD_GETLK-fix.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/etcd-F_OFD_GETLK-fix.patch
new file mode 100644
index 0000000000..bd574e26f0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/etcd-F_OFD_GETLK-fix.patch
@@ -0,0 +1,28 @@
+From ec81adb21605acd56b122bc35c53644b13d3ab7e Mon Sep 17 00:00:00 2001
+From: Moritz Both
+Date: Sun, 1 Nov 2020 23:20:12 +0100
+Subject: [PATCH] pkg/fileutil: fix constant for linux locking
+
+The constant F_OFD_GETLK is 36, not 37, according to
+/usr/include/bits/fcntl-linux.h
+Credits go to joakim-tjernlund who digged deep enough
+to find this.
+
+Fixes #31182
+---
+ pkg/fileutil/lock_linux.go | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pkg/fileutil/lock_linux.go b/pkg/fileutil/lock_linux.go
+index 939fea62381..004d35fa23b 100644
+--- a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_linux.go
++++ b/vendor/github.com/coreos/etcd/pkg/fileutil/lock_linux.go
+@@ -29,7 +29,7 @@ import (
+ //
+ // constants from /usr/include/bits/fcntl-linux.h
+ const (
+- F_OFD_GETLK = 37
++ F_OFD_GETLK = 36
+ F_OFD_SETLK = 37
+ F_OFD_SETLKW = 38
+ )
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/ppc64-buildmode.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/ppc64-buildmode.patch
new file mode 100644
index 0000000000..f16756e850
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/ppc64-buildmode.patch
@@ -0,0 +1,30 @@
+From c4135e37e54a6480abfe18746f227f05cb9269ab Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev
+Date: Thu, 10 Jun 2021 16:19:22 -0700
+Subject: [PATCH] don't use buildmode=pie on ppc64
+
+It's already omitted for ppc64 in
+hack/dockerfile/install/install.sh
+not using wildcard, because GOARCH=ppc64le supports pie
+
+Signed-off-by: Georgy Yakovlev
+---
+ hack/make/.binary | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hack/make/.binary b/hack/make/.binary
+index 5ea3e373f2..7a911de15a 100644
+--- a/hack/make/.binary
++++ b/hack/make/.binary
+@@ -70,7 +70,7 @@ hash_files() {
+
+ # -buildmode=pie is not supported on Windows and Linux on mips and riscv64.
+ case "$(go env GOOS)/$(go env GOARCH)" in
+- windows/* | linux/mips* | linux/riscv*) ;;
++ windows/* | linux/mips* | linux/riscv* | linux/ppc64) ;;
+
+ *)
+ BUILDFLAGS+=("-buildmode=pie")
+--
+2.32.0
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/metadata.xml
new file mode 100644
index 0000000000..1ec7d35307
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/docker/metadata.xml
@@ -0,0 +1,53 @@
+
+
+
+
+ Docker is an open-source project to easily create lightweight,
+ portable, self-sufficient containers from any application. The same
+ container that a developer builds and tests on a laptop can run at
+ scale, in production, on VMs, bare metal, OpenStack clusters, public
+ clouds and more.
+
+
+ williamh@gentoo.org
+ William Hubbs
+
+
+ gyakovlev@gentoo.org
+ Georgy Yakovlev
+
+
+
+ moby/moby
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/Manifest
new file mode 100644
index 0000000000..cd11d66d4f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/Manifest
@@ -0,0 +1 @@
+DIST 20180611.tar.gz 143678 SHA256 f71bdc6d01cff014bb4d066096be9a6e067fd3028c730cc4c9557001ec99ab6e SHA512 9e94cdda66f9b45dbb0ade25ce2dabbcc38c96b7c6f94a09bfef80f1611e7fe0233578ccc55f76530dca16f4ee261a22c05ae12b76ce527734be50b856caca3e WHIRLPOOL f37f980686924003570567e77ec1b740a7ce538a03917d01757f2599a595c17f8babd32184ca26b6075df14de1e5da2876f5eb3111141d442c1571e043350b8d
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20180611.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20180611.ebuild
new file mode 100644
index 0000000000..202b851a51
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/google-compute-engine/google-compute-engine-20180611.ebuild
@@ -0,0 +1,39 @@
+# Copyright (c) 2016-2018 CoreOS, Inc. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils
+
+DESCRIPTION="Linux Guest Environment for Google Compute Engine"
+HOMEPAGE="https://github.com/GoogleCloudPlatform/compute-image-packages"
+SRC_URI="https://github.com/GoogleCloudPlatform/compute-image-packages/archive/${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools"
+
+# These dependencies cover all commands called by the scripts.
+RDEPEND="
+ app-admin/sudo
+ dev-python/boto
+ dev-python/setuptools
+ sys-apps/ethtool
+ sys-apps/gawk
+ sys-apps/grep
+ sys-apps/iproute2
+ sys-apps/shadow
+"
+
+S="${WORKDIR}/compute-image-packages-${PV}"
+
+src_compile() {
+ (cd "${S}" && exec python setup.py build)
+}
+
+src_install() {
+ (cd "${S}" && exec python setup.py install -O1 --skip-build --root "${D}")
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/Manifest
new file mode 100644
index 0000000000..864efd4706
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/Manifest
@@ -0,0 +1 @@
+DIST open-vm-tools-11.3.5-18557794.tar.gz 4218935 BLAKE2B 41e3f5877a5074bfb206870d7bdba613a468aa104d6d497dcf16e80b24fcbdd2195fcce370b150ced4665dd19296ff27dc06922d2742a43f5bf70b1b5eea9d48 SHA512 fa31f5615c9c90865ba9122f7fcd0831068d48defee30a5f5c620e744b76ccd5b7cc2de20cea4e37b596f99619ffb7bb47774de04e7c4bea666c7c0b6fa1560e
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/README b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/README
new file mode 100644
index 0000000000..aff503a9c8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/README
@@ -0,0 +1,3 @@
+When updating the version of open-vm-tools the ebuild version of
+oem-vmware must be updated to match as well. That way the reported "OEM"
+version directly reflects the installed tools.
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/files/open-vm-tools-0001-configure-Add-options-for-fuse-hgfs-and-udev.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/files/open-vm-tools-0001-configure-Add-options-for-fuse-hgfs-and-udev.patch
new file mode 100644
index 0000000000..60bd09a383
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/files/open-vm-tools-0001-configure-Add-options-for-fuse-hgfs-and-udev.patch
@@ -0,0 +1,53 @@
+From d41aae8430eb0148dda9f71f311626bbe779d115 Mon Sep 17 00:00:00 2001
+From: Benjamin Gilbert
+Date: Tue, 21 Mar 2017 16:04:30 -0700
+Subject: [PATCH] configure: Add options for fuse, hgfs, and udev
+
+---
+ open-vm-tools/configure.ac | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
+index ab315b84..33839087 100644
+--- a/open-vm-tools/configure.ac
++++ b/open-vm-tools/configure.ac
+@@ -519,6 +519,13 @@ fi
+ #
+ # Check for fuse.
+ #
++AC_ARG_WITH([fuse],
++ [AS_HELP_STRING([--without-fuse],
++ [compiles without fuse support.])],
++ [],
++ [with_fuse=yes])
++
++if test "$with_fuse" = "yes"; then
+ AC_VMW_CHECK_LIB([fuse],
+ [FUSE],
+ [fuse],
+@@ -529,6 +536,7 @@ AC_VMW_CHECK_LIB([fuse],
+ [have_fuse=yes],
+ [have_fuse=no;
+ AC_MSG_WARN([Fuse is missing, vmblock-fuse/vmhgfs-fuse will be disabled.])])
++fi
+
+ #
+ # Check for PAM.
+@@ -1425,7 +1433,13 @@ if test "$os" = "solaris"; then
+ fi
+ fi
+
+-if test "$os" = "linux"; then
++AC_ARG_WITH([udev-rules],
++ [AS_HELP_STRING([--without-udev-rules],
++ [don't install udev rules])],
++ [],
++ [with_udev_rules=yes])
++
++if test "$os" = "linux" -a "$with_udev_rules" = "yes"; then
+ have_udev="yes"
+ AC_ARG_WITH([udev-rules-dir],
+ [AS_HELP_STRING([--with-udev-rules-dir=DIR],
+--
+2.26.3
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/metadata.xml
new file mode 100644
index 0000000000..9e8e61bb81
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/metadata.xml
@@ -0,0 +1,36 @@
+
+
+
+
+ floppym@gentoo.org
+ Mike Gilbert
+
+
+ vmware@gentoo.org
+ Gentoo VMware Project
+
+
+ The Open Virtual Machine Tools (open-vm-tools) are the open source
+ implementation of VMware Tools. They are a set of guest operating system
+ virtualization components that enhance performance and user experience
+ of virtual machines.
+
+
+
+ vmware/open-vm-tools
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/open-vm-tools-11.3.5.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/open-vm-tools-11.3.5.ebuild
new file mode 100644
index 0000000000..2f0066dcab
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vm-tools/open-vm-tools-11.3.5.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="Opensourced tools for VMware guests"
+HOMEPAGE="https://github.com/vmware/open-vm-tools"
+MY_P="${P}-18557794"
+SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="+dnet +pic +deploypkg" # TODO: pam
+
+DEPEND="dev-libs/glib:2
+ net-libs/libtirpc
+ deploypkg? ( dev-libs/libmspack )
+ dnet? ( dev-libs/libdnet )"
+
+# Runtime dependencies provided by CoreOS, not the OEM:
+# dev-libs/glib:2
+# sys-apps/ethtool
+# pam? ( sys-libs/pam )
+RDEPEND="dnet? ( dev-libs/libdnet )
+ deploypkg? ( dev-libs/libmspack )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0001-configure-Add-options-for-fuse-hgfs-and-udev.patch"
+)
+
+src_prepare() {
+ eapply -p2 "${PATCHES[@]}"
+ eapply_user
+ eautoreconf
+}
+
+# Override configure's use of pkg-config to ensure ${SYSROOT} is respected.
+override_vmw_check_lib() {
+ local lib="$1"
+ local var="$2"
+ local pkgconfig="$(tc-getPKG_CONFIG)"
+ export "CUSTOM_${var}_CPPFLAGS=$(${pkgconfig} --cflags ${lib})"
+ export "CUSTOM_${var}_LIBS=$(${pkgconfig} --libs ${lib})"
+}
+
+src_configure() {
+ local oemlib="/usr/share/oem/$(get_libdir)"
+ local oeminc="/usr/share/oem/include"
+
+ # set rpath even if oem is in ld.so.conf
+ append-ldflags "-Wl,-rpath,${oemlib}"
+
+ # libdnet is installed to /usr/share/oem
+ export CUSTOM_DNET_CPPFLAGS="-I=${oeminc}"
+ export CUSTOM_DNET_LIBS="-L=${oemlib}"
+ export CUSTOM_MSPACK_CPPFLAGS="-I=${oeminc}"
+ export CUSTOM_MSPACK_LIBS="-L=${oemlib}"
+
+ # for everything else configure is still wrong because it calls
+ # pkg-config directly instead of favoring the ${CHOST}-pkg-config
+ # wrapper or using the standard autoconf macro.
+ override_vmw_check_lib glib-2.0 GLIB2
+ override_vmw_check_lib gmodule-2.0 GMODULE
+ override_vmw_check_lib gobject-2.0 GOBJECT
+ override_vmw_check_lib gthread-2.0 GTHREAD
+
+ local myeconfargs=(
+ --prefix=/usr/share/oem
+ $(use_enable deploypkg)
+ --disable-docs
+ --disable-multimon
+ --disable-tests
+ --without-fuse
+ --without-icu
+ --without-kernel-modules
+ --without-pam
+ --without-udev-rules
+ --without-x
+ --disable-vgauth
+ $(use_with dnet)
+ $(use_with pic)
+ )
+ # TODO: $(use_with pam)
+
+ econf "${myeconfargs[@]}"
+
+ # Bugs 260878, 326761
+ find ./ -name Makefile | xargs sed -i -e 's/-Werror//g' || die "sed out Werror failed"
+}
+
+src_install() {
+ # Relocate event scripts, a symlink will be created by the systemd
+ # unit.
+ emake DESTDIR="${D}" confdir=/usr/share/oem/vmware-tools install
+
+ rm "${D}"/etc/pam.d/vmtoolsd
+ # TODO: pamd_mimic_system vmtoolsd auth account
+
+ # We never bother with i10n on CoreOS
+ rm -rf "${D}"/usr/share/open-vm-tools
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/open-vmdk-1.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/open-vmdk-1.0.ebuild
new file mode 100644
index 0000000000..44916caa32
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/open-vmdk-1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2014 VMware
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=7
+
+inherit git-r3
+
+DESCRIPTION="Tool to convert vmdk to an ova file"
+HOMEPAGE="https://github.com/vmware/open-vmdk"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+EGIT_REPO_URI="https://github.com/vmware/open-vmdk"
+EGIT_BRANCH="master"
+EGIT_COMMIT="fed311f0529333efb42a289dc864d1ea9f59ebfa"
+
+KEYWORDS="amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_install() {
+ emake DESTDIR="${D}" install
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/Manifest
new file mode 100644
index 0000000000..2157b27ec6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/Manifest
@@ -0,0 +1 @@
+DIST qemu-5.2.0.tar.xz 106902800 BLAKE2B 4413d5591cbabf80faba5b0b7347ee7749ff0a71af44bdf7f64b1995e17ecf1f3df539fa8e63959e0d50cd0502a41a2921e60cc6d078ed8ab5b09ab4b86d4ed7 SHA512 bddd633ce111471ebc651e03080251515178808556b49a308a724909e55dac0be0cc0c79c536ac12d239678ae94c60100dc124be9b9d9538340c03a2f27177f3
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/65-kvm.rules-r1 b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/65-kvm.rules-r1
new file mode 100644
index 0000000000..ab3776ac29
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/65-kvm.rules-r1
@@ -0,0 +1,2 @@
+KERNEL=="kvm", GROUP="kvm", MODE="0660"
+KERNEL=="vhost-net", GROUP="kvm", MODE="0660", OPTIONS+="static_node=vhost-net"
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/65-kvm.rules-r2 b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/65-kvm.rules-r2
new file mode 100644
index 0000000000..15c89b2018
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/65-kvm.rules-r2
@@ -0,0 +1,3 @@
+KERNEL=="kvm", GROUP="kvm", MODE="0660"
+KERNEL=="vhost-net", GROUP="kvm", MODE="0660", OPTIONS+="static_node=vhost-net"
+KERNEL=="vhost-vsock", GROUP="kvm", MODE="0660", OPTIONS+="static_node=vhost-vsock"
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/bridge.conf b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/bridge.conf
new file mode 100644
index 0000000000..2bde37e2ef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/bridge.conf
@@ -0,0 +1,14 @@
+# This should have the following permissions: root:qemu 0640
+
+# allow br0
+# Uncommenting the above would allow users in the 'qemu' group
+# to add devices to 'br0'
+
+# allow virbr0
+# Uncommenting the above would allow users in the 'qemu' group
+# to add devices to 'virbr0'
+
+# include /etc/qemu/bob.conf
+# Uncommenting the above would allow users in the 'bob' group
+# to have permissions defined in it, iff it has the following
+# permissions: root:bob 0640
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-2.11.1-capstone_include_path.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-2.11.1-capstone_include_path.patch
new file mode 100644
index 0000000000..d79570ebb8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-2.11.1-capstone_include_path.patch
@@ -0,0 +1,11 @@
+--- qemu-2.11.1/include/disas/capstone.h 2018-02-14 22:53:22.000000000 +0100
++++ qemu-2.11.1/include/disas/capstone.h 2018-02-17 20:12:12.754703951 +0100
+@@ -3,7 +3,7 @@
+
+ #ifdef CONFIG_CAPSTONE
+
+-#include
++#include
+
+ #else
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch
new file mode 100644
index 0000000000..33115f1df4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch
@@ -0,0 +1,40 @@
+-Wall -Wextra compains about unused arguments,
+causes safe-stack to be mis-detected.
+--- a/configure
++++ b/configure
+@@ -2293,7 +2293,7 @@ fi
+ cat > $TMPC << EOF
+ #include
+ #include
+-int main(int argc, char *argv[]) {
++int main(void) {
+ return printf("%zu", SIZE_MAX);
+ }
+ EOF
+@@ -4911,7 +4911,7 @@ fi
+
+ if test "$safe_stack" = "yes"; then
+ cat > $TMPC << EOF
+-int main(int argc, char *argv[])
++int main(void)
+ {
+ #if ! __has_feature(safe_stack)
+ #error SafeStack Disabled
+@@ -4933,7 +4933,7 @@ EOF
+ fi
+ else
+ cat > $TMPC << EOF
+-int main(int argc, char *argv[])
++int main(void)
+ {
+ #if defined(__has_feature)
+ #if __has_feature(safe_stack)
+@@ -5283,7 +5283,7 @@ static const int Z = 1;
+ #define TAUT(X) ((X) == Z)
+ #define PAREN(X, Y) (X == Y)
+ #define ID(X) (X)
+-int main(int argc, char *argv[])
++int main(void)
+ {
+ int x = 0, y = 0;
+ x = ID(x);
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch
new file mode 100644
index 0000000000..4b5676be4d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-disable-keymap.patch
@@ -0,0 +1,25 @@
+Do not use system's 'qemu-keymap' in native case.
+--- a/meson.build
++++ b/meson.build
+@@ -337,6 +337,8 @@ if 'CONFIG_LIBCAP_NG' in config_host
+ endif
+ if get_option('xkbcommon').auto() and not have_system and not have_tools
+ xkbcommon = not_found
++elif get_option('xkbcommon').disabled()
++ xkbcommon = not_found
+ else
+ xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'),
+ method: 'pkg-config', static: enable_static)
+--- a/pc-bios/keymaps/meson.build
++++ b/pc-bios/keymaps/meson.build
+@@ -33,7 +33,9 @@ keymaps = {
+ 'tr': '-l tr',
+ }
+
+-if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
++if meson.is_cross_build()
+ native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
++elif get_option('xkbcommon').disabled()
++ native_qemu_keymap = not_found
+ else
+ native_qemu_keymap = qemu_keymap
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-fix-firmware-path.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-fix-firmware-path.patch
new file mode 100644
index 0000000000..5396983379
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-fix-firmware-path.patch
@@ -0,0 +1,16 @@
+Se absolute filename in files like
+ /usr/share/qemu/firmware/50-edk2-x86_64-secure.json
+
+Bug: https://bugs.gentoo.org/766743
+Patch-by: Jannik Glückert
+--- a/pc-bios/descriptors/meson.build
++++ b/pc-bios/descriptors/meson.build
+@@ -8,7 +8,7 @@ foreach f: [
+ ]
+ configure_file(input: files(f),
+ output: f,
+- configuration: {'DATADIR': qemu_datadir},
++ configuration: {'DATADIR': get_option('prefix') / qemu_datadir},
+ install: get_option('install_blobs'),
+ install_dir: qemu_datadir / 'firmware')
+ endforeach
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-no-pie-ld.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-no-pie-ld.patch
new file mode 100644
index 0000000000..f47a58790c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-no-pie-ld.patch
@@ -0,0 +1,73 @@
+From bbd2d5a8120771ec59b86a80a1f51884e0a26e53 Mon Sep 17 00:00:00 2001
+From: Christian Ehrhardt
+Date: Mon, 14 Dec 2020 16:09:38 +0100
+Subject: [PATCH] build: -no-pie is no functional linker flag
+
+Recent binutils changes dropping unsupported options [1] caused a build
+issue in regard to the optionroms.
+
+ ld -m elf_i386 -T /<>/pc-bios/optionrom//flat.lds -no-pie \
+ -s -o multiboot.img multiboot.o
+ ld.bfd: Error: unable to disambiguate: -no-pie (did you mean --no-pie ?)
+
+This isn't really a regression in ld.bfd, filing the bug upstream
+revealed that this never worked as a ld flag [2] - in fact it seems we
+were by accident setting --nmagic).
+
+Since it never had the wanted effect this usage of LDFLAGS_NOPIE, should be
+droppable without any effect. This also is the only use-case of LDFLAGS_NOPIE
+in .mak, therefore we can also remove it from being added there.
+
+[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=983d925d
+[2]: https://sourceware.org/bugzilla/show_bug.cgi?id=27050#c5
+
+Signed-off-by: Christian Ehrhardt
+Message-Id: <20201214150938.1297512-1-christian.ehrhardt@canonical.com>
+Cc: qemu-stable@nongnu.org
+Signed-off-by: Paolo Bonzini
+---
+ configure | 3 ---
+ pc-bios/optionrom/Makefile | 1 -
+ 2 files changed, 4 deletions(-)
+
+--- a/configure
++++ b/configure
+@@ -2137,7 +2137,6 @@ EOF
+ # Check we support --no-pie first; we will need this for building ROMs.
+ if compile_prog "-Werror -fno-pie" "-no-pie"; then
+ CFLAGS_NOPIE="-fno-pie"
+- LDFLAGS_NOPIE="-no-pie"
+ fi
+
+ if test "$static" = "yes"; then
+@@ -2153,7 +2152,6 @@ if test "$static" = "yes"; then
+ fi
+ elif test "$pie" = "no"; then
+ CONFIGURE_CFLAGS="$CFLAGS_NOPIE $CONFIGURE_CFLAGS"
+- CONFIGURE_LDFLAGS="$LDFLAGS_NOPIE $CONFIGURE_LDFLAGS"
+ elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then
+ CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS"
+ CONFIGURE_LDFLAGS="-pie $CONFIGURE_LDFLAGS"
+@@ -6714,7 +6712,6 @@ echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak
+ echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
+ echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
+ echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
+-echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
+ echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
+ echo "EXESUF=$EXESUF" >> $config_host_mak
+ echo "HOST_DSOSUF=$HOST_DSOSUF" >> $config_host_mak
+diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
+index 084fc10f05..30771f8d17 100644
+--- a/pc-bios/optionrom/Makefile
++++ b/pc-bios/optionrom/Makefile
+@@ -41,7 +41,6 @@ override CFLAGS += $(call cc-option, $(Wa)-32)
+
+ LD_I386_EMULATION ?= elf_i386
+ override LDFLAGS = -m $(LD_I386_EMULATION) -T $(SRC_DIR)/flat.lds
+-override LDFLAGS += $(LDFLAGS_NOPIE)
+
+ all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
+
+--
+2.30.0
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-strings.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-strings.patch
new file mode 100644
index 0000000000..0b3dcdce78
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-strings.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/759310
+--- a/configure
++++ b/configure
+@@ -521,6 +521,7 @@ ld="${LD-${cross_prefix}ld}"
+ ranlib="${RANLIB-${cross_prefix}ranlib}"
+ nm="${NM-${cross_prefix}nm}"
+ strip="${STRIP-${cross_prefix}strip}"
++strings="${STRINGS-${cross_prefix}strings}"
+ windres="${WINDRES-${cross_prefix}windres}"
+ pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
+ query_pkg_config() {
+@@ -2265,9 +2266,9 @@ int main(int argc, char *argv[]) {
+ EOF
+
+ if compile_object ; then
+- if strings -a $TMPO | grep -q BiGeNdIaN ; then
++ if $strings -a $TMPO | grep -q BiGeNdIaN ; then
+ bigendian="yes"
+- elif strings -a $TMPO | grep -q LiTtLeEnDiAn ; then
++ elif $strings -a $TMPO | grep -q LiTtLeEnDiAn ; then
+ bigendian="no"
+ else
+ echo big/little test failed
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-9999-fix-firmware-path.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-9999-fix-firmware-path.patch
new file mode 100644
index 0000000000..ffff31402b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-9999-fix-firmware-path.patch
@@ -0,0 +1,17 @@
+Set absolute filename in files like
+ /usr/share/qemu/firmware/50-edk2-x86_64-secure.json
+
+Bug: https://bugs.gentoo.org/766743
+Bug: https://bugs.launchpad.net/qemu/+bug/1913012
+Patch-by: Jannik Glückert
+--- a/pc-bios/descriptors/meson.build
++++ b/pc-bios/descriptors/meson.build
+@@ -9,7 +9,7 @@ if install_edk2_blobs
+ ]
+ configure_file(input: files(f),
+ output: f,
+- configuration: {'DATADIR': qemu_datadir},
++ configuration: {'DATADIR': get_option('prefix') / qemu_datadir},
+ install: get_option('install_blobs'),
+ install_dir: qemu_datadir / 'firmware')
+ endforeach
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-binfmt.initd.head b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-binfmt.initd.head
new file mode 100644
index 0000000000..832ddb0b8e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-binfmt.initd.head
@@ -0,0 +1,64 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Enable automatic non-native program execution by the kernel.
+
+# Defaulting to OC should be safe because it comes down to:
+# - do we trust the interp itself to not be malicious? yes; we built it.
+# - do we trust the programs we're running? ish; same permission as native
+# binaries apply. so if user can do bad stuff natively, cross isn't worse.
+: ${QEMU_BINFMT_FLAGS:=OC}
+
+depend() {
+ after procfs
+}
+
+start() {
+ ebegin "Registering qemu-user binaries (flags: ${QEMU_BINFMT_FLAGS})"
+
+ if [ ! -d /proc/sys/fs/binfmt_misc ] ; then
+ modprobe -q binfmt_misc
+ fi
+
+ if [ ! -d /proc/sys/fs/binfmt_misc ] ; then
+ eend 1 "You need support for 'misc binaries' in your kernel!"
+ return
+ fi
+
+ if [ ! -f /proc/sys/fs/binfmt_misc/register ] ; then
+ mount -t binfmt_misc -o nodev,noexec,nosuid \
+ binfmt_misc /proc/sys/fs/binfmt_misc >/dev/null 2>&1
+ eend $? || return
+ fi
+
+ # Probe the native cpu type so we don't try registering them.
+ local cpu="$(uname -m)"
+ case "${cpu}" in
+ armv[4-9]*)
+ cpu="arm"
+ ;;
+ i386|i486|i586|i686|i86pc|BePC|x86_64)
+ cpu="i386"
+ ;;
+ m68k)
+ cpu="m68k"
+ ;;
+ mips*)
+ cpu="mips"
+ ;;
+ "Power Macintosh"|ppc|ppc64)
+ cpu="ppc"
+ ;;
+ s390*)
+ cpu="s390"
+ ;;
+ sh*)
+ cpu="sh"
+ ;;
+ sparc*)
+ cpu="sparc"
+ ;;
+ esac
+
+ # Register the interpreter for each cpu except for the native one.
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-binfmt.initd.tail b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-binfmt.initd.tail
new file mode 100644
index 0000000000..7679481929
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-binfmt.initd.tail
@@ -0,0 +1,14 @@
+ eend 0
+}
+
+stop() {
+ # We unregister everything in the "qemu-xxx" namespace.
+ ebegin "Unregistering qemu-user binaries"
+ local f
+ for f in /proc/sys/fs/binfmt_misc/qemu-* ; do
+ if [ -f "${f}" ] ; then
+ echo '-1' > "${f}"
+ fi
+ done
+ eend 0
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/metadata.xml
new file mode 100644
index 0000000000..ec3f45a063
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/metadata.xml
@@ -0,0 +1,68 @@
+
+
+
+
+ tamiko@gentoo.org
+ Matthias Maier
+
+
+ slyfox@gentoo.org
+ Sergei Trofimovich
+
+
+ virtualization@gentoo.org
+ Gentoo Virtualization Project
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/qemu-5.2.0-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/qemu-5.2.0-r2.ebuild
new file mode 100644
index 0000000000..1fbcecb462
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/qemu-5.2.0-r2.ebuild
@@ -0,0 +1,860 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python{3_6,3_7} )
+PYTHON_REQ_USE="ncurses,readline"
+
+FIRMWARE_ABI_VERSION="4.0.0-r50"
+
+inherit eutils linux-info toolchain-funcs multilib python-r1 \
+ udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
+ EGIT_SUBMODULES=(
+ meson
+ tests/fp/berkeley-softfloat-3
+ tests/fp/berkeley-testfloat-3
+ ui/keycodemapdb
+ )
+ inherit git-r3
+ SRC_URI=""
+else
+ SRC_URI="https://download.qemu.org/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~ppc ~ppc64 x86"
+fi
+
+DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
+HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
+
+LICENSE="GPL-2 LGPL-2 BSD-2"
+SLOT="0"
+
+IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
+ +fdt glusterfs gnutls gtk infiniband iscsi io-uring
+ jack jemalloc +jpeg kernel_linux
+ kernel_FreeBSD lzo multipath
+ ncurses nfs nls numa opengl +oss +pin-upstream-blobs
+ plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+ +slirp
+ smartcard snappy spice ssh static static-user systemtap test udev usb
+ usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
+ xfs zstd"
+
+COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
+ mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
+ sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb"
+IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
+ avr lm32 moxie rx tricore unicore32"
+IUSE_USER_TARGETS="${COMMON_TARGETS}
+ aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
+ tilegx"
+
+use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
+use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
+IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
+
+RESTRICT="!test? ( test )"
+# Allow no targets to be built so that people can get a tools-only build.
+# Block USE flag configurations known to not work.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ qemu_softmmu_targets_arm? ( fdt )
+ qemu_softmmu_targets_microblaze? ( fdt )
+ qemu_softmmu_targets_mips64el? ( fdt )
+ qemu_softmmu_targets_ppc64? ( fdt )
+ qemu_softmmu_targets_ppc? ( fdt )
+ qemu_softmmu_targets_riscv32? ( fdt )
+ qemu_softmmu_targets_riscv64? ( fdt )
+ static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
+ static-user? ( !plugins )
+ vhost-user-fs? ( caps seccomp )
+ virtfs? ( caps xattr )
+ vte? ( gtk )
+ multipath? ( udev )
+ plugins? ( !static !static-user )
+"
+
+# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
+# and user/softmmu targets (qemu-*, qemu-system-*).
+#
+# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
+#
+# The attr lib isn't always linked in (although the USE flag is always
+# respected). This is because qemu supports using the C library's API
+# when available rather than always using the external library.
+ALL_DEPEND="
+ >=dev-libs/glib-2.0[static-libs(+)]
+ sys-libs/zlib[static-libs(+)]
+ python? ( ${PYTHON_DEPS} )
+ systemtap? ( dev-util/systemtap )
+ xattr? ( sys-apps/attr[static-libs(+)] )"
+
+# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
+# softmmu targets (qemu-system-*).
+SOFTMMU_TOOLS_DEPEND="
+ dev-libs/libxml2[static-libs(+)]
+ >=x11-libs/pixman-0.28.0[static-libs(+)]
+ accessibility? (
+ app-accessibility/brltty[api]
+ app-accessibility/brltty[static-libs(+)]
+ )
+ aio? ( dev-libs/libaio[static-libs(+)] )
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ bzip2? ( app-arch/bzip2[static-libs(+)] )
+ capstone? ( dev-libs/capstone:= )
+ caps? ( sys-libs/libcap-ng[static-libs(+)] )
+ curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
+ glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
+ gnutls? (
+ dev-libs/nettle:=[static-libs(+)]
+ >=net-libs/gnutls-3.0:=[static-libs(+)]
+ )
+ gtk? (
+ x11-libs/gtk+:3
+ vte? ( x11-libs/vte:2.91 )
+ )
+ infiniband? (
+ sys-fabric/libibumad:=[static-libs(+)]
+ sys-fabric/libibverbs:=[static-libs(+)]
+ sys-fabric/librdmacm:=[static-libs(+)]
+ )
+ iscsi? ( net-libs/libiscsi )
+ io-uring? ( sys-libs/liburing:=[static-libs(+)] )
+ jack? ( virtual/jack )
+ jemalloc? ( dev-libs/jemalloc )
+ jpeg? ( virtual/jpeg:0=[static-libs(+)] )
+ lzo? ( dev-libs/lzo:2[static-libs(+)] )
+ multipath? ( sys-fs/multipath-tools )
+ ncurses? (
+ sys-libs/ncurses:0=[unicode]
+ sys-libs/ncurses:0=[static-libs(+)]
+ )
+ nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
+ numa? ( sys-process/numactl[static-libs(+)] )
+ opengl? (
+ virtual/opengl
+ media-libs/libepoxy[static-libs(+)]
+ media-libs/mesa[static-libs(+)]
+ media-libs/mesa[egl,gbm]
+ )
+ png? ( media-libs/libpng:0=[static-libs(+)] )
+ pulseaudio? ( media-sound/pulseaudio )
+ rbd? ( sys-cluster/ceph )
+ sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
+ sdl? (
+ media-libs/libsdl2[video]
+ media-libs/libsdl2[static-libs(+)]
+ )
+ sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
+ seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
+ slirp? ( net-libs/libslirp[static-libs(+)] )
+ smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
+ snappy? ( app-arch/snappy:= )
+ spice? (
+ >=app-emulation/spice-protocol-0.12.3
+ >=app-emulation/spice-0.12.0[static-libs(+)]
+ )
+ ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
+ udev? ( virtual/libudev[static-libs(+)] )
+ usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
+ usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
+ vde? ( net-misc/vde[static-libs(+)] )
+ virgl? ( media-libs/virglrenderer[static-libs(+)] )
+ virtfs? ( sys-libs/libcap )
+ xen? ( app-emulation/xen-tools:= )
+ xfs? ( sys-fs/xfsprogs[static-libs(+)] )
+ zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
+"
+
+X86_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/edk2-ovmf-201905[binary]
+ ~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu]
+ ~sys-firmware/seabios-1.12.0[binary,seavgabios]
+ ~sys-firmware/sgabios-0.1_pre8[binary]
+ )
+ !pin-upstream-blobs? (
+ sys-firmware/edk2-ovmf
+ sys-firmware/ipxe[qemu]
+ >=sys-firmware/seabios-1.10.2[seavgabios]
+ sys-firmware/sgabios
+ )"
+PPC_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/seabios-1.12.0[binary,seavgabios]
+ )
+ !pin-upstream-blobs? (
+ >=sys-firmware/seabios-1.10.2[seavgabios]
+ )
+"
+
+BDEPEND="
+ $(python_gen_impl_dep)
+ dev-lang/perl
+ sys-apps/texinfo
+ virtual/pkgconfig
+ doc? ( dev-python/sphinx )
+ gtk? ( nls? ( sys-devel/gettext ) )
+ test? (
+ dev-libs/glib[utils]
+ sys-devel/bc
+ )
+"
+CDEPEND="
+ !static? (
+ ${ALL_DEPEND//\[static-libs(+)]}
+ ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
+ )
+ qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
+"
+DEPEND="${CDEPEND}
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
+ static? (
+ ${ALL_DEPEND}
+ ${SOFTMMU_TOOLS_DEPEND}
+ )
+ static-user? ( ${ALL_DEPEND} )"
+RDEPEND="${CDEPEND}
+ acct-group/kvm
+ selinux? ( sec-policy/selinux-qemu )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
+ "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
+ "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
+ "${FILESDIR}"/${PN}-5.2.0-strings.patch
+ "${FILESDIR}"/${PN}-5.2.0-fix-firmware-path.patch
+ "${FILESDIR}"/${PN}-5.2.0-no-pie-ld.patch
+)
+
+QA_PREBUILT="
+ usr/share/qemu/hppa-firmware.img
+ usr/share/qemu/openbios-ppc
+ usr/share/qemu/openbios-sparc64
+ usr/share/qemu/openbios-sparc32
+ usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
+ usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
+ usr/share/qemu/palcode-clipper
+ usr/share/qemu/s390-ccw.img
+ usr/share/qemu/s390-netboot.img
+ usr/share/qemu/u-boot.e500
+"
+
+QA_WX_LOAD="usr/bin/qemu-i386
+ usr/bin/qemu-x86_64
+ usr/bin/qemu-alpha
+ usr/bin/qemu-arm
+ usr/bin/qemu-cris
+ usr/bin/qemu-m68k
+ usr/bin/qemu-microblaze
+ usr/bin/qemu-microblazeel
+ usr/bin/qemu-mips
+ usr/bin/qemu-mipsel
+ usr/bin/qemu-or1k
+ usr/bin/qemu-ppc
+ usr/bin/qemu-ppc64
+ usr/bin/qemu-ppc64abi32
+ usr/bin/qemu-sh4
+ usr/bin/qemu-sh4eb
+ usr/bin/qemu-sparc
+ usr/bin/qemu-sparc64
+ usr/bin/qemu-armeb
+ usr/bin/qemu-sparc32plus
+ usr/bin/qemu-s390x
+ usr/bin/qemu-unicore32
+"
+
+DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
+kernel module loaded before running kvm. The easiest way to ensure that the
+kernel module is loaded is to load it on boot.
+ For AMD CPUs the module is called 'kvm-amd'.
+ For Intel CPUs the module is called 'kvm-intel'.
+Please review /etc/conf.d/modules for how to load these.
+
+Make sure your user is in the 'kvm' group. Just run
+ $ gpasswd -a kvm
+then have re-login.
+
+For brand new installs, the default permissions on /dev/kvm might not let
+you access it. You can tell udev to reset ownership/perms:
+ $ udevadm trigger -c add /dev/kvm
+
+If you want to register binfmt handlers for qemu user targets:
+For openrc:
+ # rc-update add qemu-binfmt
+For systemd:
+ # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
+
+pkg_pretend() {
+ if use kernel_linux && kernel_is lt 2 6 25; then
+ eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
+ elif use kernel_linux; then
+ if ! linux_config_exists; then
+ eerror "Unable to check your kernel for KVM support"
+ else
+ CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
+ ERROR_KVM="You must enable KVM in your kernel to continue"
+ ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
+ ERROR_KVM_AMD+=" your kernel configuration."
+ ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
+ ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
+ ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
+ ERROR_TUN+=" into your kernel or loaded as a module to use the"
+ ERROR_TUN+=" virtual network device if using -net tap."
+ ERROR_BRIDGE="You will also need support for 802.1d"
+ ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
+ use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
+ ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
+ ERROR_VHOST_NET+=" support"
+
+ if use amd64 || use x86 || use amd64-linux || use x86-linux; then
+ if grep -q AuthenticAMD /proc/cpuinfo; then
+ CONFIG_CHECK+=" ~KVM_AMD"
+ elif grep -q GenuineIntel /proc/cpuinfo; then
+ CONFIG_CHECK+=" ~KVM_INTEL"
+ fi
+ fi
+
+ use python && CONFIG_CHECK+=" ~DEBUG_FS"
+ ERROR_DEBUG_FS="debugFS support required for kvm_stat"
+
+ # Now do the actual checks setup above
+ check_extra_config
+ fi
+ fi
+
+ if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
+ eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
+ eerror "instances are still pointing to it. Please update your"
+ eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
+ eerror "and the right system binary (e.g. qemu-system-x86_64)."
+ die "update your virt configs to not use qemu-kvm"
+ fi
+}
+
+# Sanity check to make sure target lists are kept up-to-date.
+check_targets() {
+ local var=$1 mak=$2
+ local detected sorted
+
+ pushd "${S}"/default-configs/targets/ >/dev/null || die
+
+ # Force C locale until glibc is updated. #564936
+ detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
+ sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
+ if [[ ${sorted} != "${detected}" ]] ; then
+ eerror "The ebuild needs to be kept in sync."
+ eerror "${var}: ${sorted}"
+ eerror "$(printf '%-*s' ${#var} configure): ${detected}"
+ die "sync ${var} to the list of targets"
+ fi
+
+ popd >/dev/null
+}
+
+src_prepare() {
+ check_targets IUSE_SOFTMMU_TARGETS softmmu
+ check_targets IUSE_USER_TARGETS linux-user
+
+ default
+
+ # Use correct toolchain to fix cross-compiling
+ tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
+ export WINDRES=${CHOST}-windres
+
+ # Verbose builds
+ MAKEOPTS+=" V=1"
+
+ # Remove bundled copy of libfdt
+ rm -r dtc || die
+}
+
+##
+# configures qemu based on the build directory and the build type
+# we are using.
+#
+qemu_src_configure() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local buildtype=$1
+ local builddir="${S}/${buildtype}-build"
+
+ mkdir "${builddir}"
+
+ local conf_opts=(
+ --prefix=/usr
+ --sysconfdir=/etc
+ --bindir=/usr/bin
+ --libdir=/usr/$(get_libdir)
+ --datadir=/usr/share
+ --docdir=/usr/share/doc/${PF}/html
+ --mandir=/usr/share/man
+ --localstatedir=/var
+ --disable-bsd-user
+ --disable-containers # bug #732972
+ --disable-guest-agent
+ --disable-strip
+
+ # bug #746752: TCG interpreter has a few limitations:
+ # - it does not support FPU
+ # - it's generally slower on non-self-modifying code
+ # It's advantage is support for host architectures
+ # where native codegeneration is not implemented.
+ # Gentoo has qemu keyworded only on targets with
+ # native code generation available. Avoid the interpreter.
+ --disable-tcg-interpreter
+
+ --disable-werror
+ # We support gnutls/nettle for crypto operations. It is possible
+ # to use gcrypt when gnutls/nettle are disabled (but not when they
+ # are enabled), but it's not really worth the hassle. Disable it
+ # all the time to avoid automatically detecting it. #568856
+ --disable-gcrypt
+ --python="${PYTHON}"
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --host-cc="$(tc-getBUILD_CC)"
+ $(use_enable debug debug-info)
+ $(use_enable debug debug-tcg)
+ $(use_enable doc docs)
+ $(use_enable nls gettext)
+ $(use_enable plugins)
+ $(use_enable xattr attr)
+ )
+
+ # Disable options not used by user targets. This simplifies building
+ # static user targets (USE=static-user) considerably.
+ conf_notuser() {
+ if [[ ${buildtype} == "user" ]] ; then
+ echo "--disable-${2:-$1}"
+ else
+ use_enable "$@"
+ fi
+ }
+ # Enable option only for softmmu build, but not 'user' or 'tools'
+ conf_softmmu() {
+ if [[ ${buildtype} == "softmmu" ]] ; then
+ use_enable "$@"
+ else
+ echo "--disable-${2:-$1}"
+ fi
+ }
+ # Enable option only for tools build, but not 'user' or 'softmmu'
+ conf_tools() {
+ if [[ ${buildtype} == "tools" ]] ; then
+ use_enable "$@"
+ else
+ echo "--disable-${2:-$1}"
+ fi
+ }
+ conf_opts+=(
+ $(conf_notuser accessibility brlapi)
+ $(conf_notuser aio linux-aio)
+ $(conf_notuser bzip2)
+ $(conf_notuser capstone)
+ $(conf_notuser caps cap-ng)
+ $(conf_notuser curl)
+ $(conf_notuser fdt)
+ $(conf_notuser glusterfs)
+ $(conf_notuser gnutls)
+ $(conf_notuser gnutls nettle)
+ $(conf_notuser gtk)
+ $(conf_notuser infiniband rdma)
+ $(conf_notuser iscsi libiscsi)
+ $(conf_notuser io-uring linux-io-uring)
+ $(conf_notuser jemalloc jemalloc)
+ $(conf_notuser jpeg vnc-jpeg)
+ $(conf_notuser kernel_linux kvm)
+ $(conf_notuser lzo)
+ $(conf_notuser multipath mpath)
+ $(conf_notuser ncurses curses)
+ $(conf_notuser nfs libnfs)
+ $(conf_notuser numa)
+ $(conf_notuser opengl)
+ $(conf_notuser png vnc-png)
+ $(conf_notuser rbd)
+ $(conf_notuser sasl vnc-sasl)
+ $(conf_notuser sdl)
+ $(conf_softmmu sdl-image)
+ $(conf_notuser seccomp)
+ $(conf_notuser slirp slirp system)
+ $(conf_notuser smartcard)
+ $(conf_notuser snappy)
+ $(conf_notuser spice)
+ $(conf_notuser ssh libssh)
+ $(conf_notuser udev libudev)
+ $(conf_notuser usb libusb)
+ $(conf_notuser usbredir usb-redir)
+ $(conf_notuser vde)
+ $(conf_notuser vhost-net)
+ $(conf_notuser vhost-user-fs)
+ $(conf_tools vhost-user-fs virtiofsd)
+ $(conf_notuser virgl virglrenderer)
+ $(conf_notuser virtfs)
+ $(conf_notuser vnc)
+ $(conf_notuser vte)
+ $(conf_notuser xen)
+ $(conf_notuser xen xen-pci-passthrough)
+ $(conf_notuser xfs xfsctl)
+ # use prebuilt keymaps, bug #759604
+ --disable-xkbcommon
+ $(conf_notuser zstd)
+ )
+
+ if [[ ${buildtype} == "user" ]] ; then
+ conf_opts+=( --disable-libxml2 )
+ else
+ conf_opts+=( --enable-libxml2 )
+ fi
+
+ if [[ ! ${buildtype} == "user" ]] ; then
+ # audio options
+ local audio_opts=(
+ # Note: backend order matters here: #716202
+ # We iterate from higher-level to lower level.
+ $(usex pulseaudio pa "")
+ $(usev jack)
+ $(usev sdl)
+ $(usev alsa)
+ $(usev oss)
+ )
+ conf_opts+=(
+ --audio-drv-list=$(printf "%s," "${audio_opts[@]}")
+ )
+ fi
+
+ case ${buildtype} in
+ user)
+ conf_opts+=(
+ --enable-linux-user
+ --disable-system
+ --disable-blobs
+ --disable-tools
+ )
+ local static_flag="static-user"
+ ;;
+ softmmu)
+ conf_opts+=(
+ --disable-linux-user
+ --enable-system
+ --disable-tools
+ )
+ local static_flag="static"
+ ;;
+ tools)
+ conf_opts+=(
+ --disable-linux-user
+ --disable-system
+ --disable-blobs
+ --enable-tools
+ )
+ local static_flag="static"
+ ;;
+ esac
+
+ local targets="${buildtype}_targets"
+ [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
+
+ # Add support for SystemTAP
+ use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
+
+ # We always want to attempt to build with PIE support as it results
+ # in a more secure binary. But it doesn't work with static or if
+ # the current GCC doesn't have PIE support.
+ if use ${static_flag}; then
+ conf_opts+=( --static --disable-pie )
+ else
+ tc-enables-pie && conf_opts+=( --enable-pie )
+ fi
+
+ # Plumb through equivalent of EXTRA_ECONF to allow experiments
+ # like bug #747928.
+ conf_opts+=( ${EXTRA_CONF_QEMU} )
+
+ echo "../configure ${conf_opts[*]}"
+ cd "${builddir}"
+ ../configure "${conf_opts[@]}" || die "configure failed"
+
+ # FreeBSD's kernel does not support QEMU assigning/grabbing
+ # host USB devices yet
+ use kernel_FreeBSD && \
+ sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
+}
+
+src_configure() {
+ local target
+
+ python_setup
+
+ softmmu_targets= softmmu_bins=()
+ user_targets= user_bins=()
+
+ for target in ${IUSE_SOFTMMU_TARGETS} ; do
+ if use "qemu_softmmu_targets_${target}"; then
+ softmmu_targets+=",${target}-softmmu"
+ softmmu_bins+=( "qemu-system-${target}" )
+ fi
+ done
+
+ for target in ${IUSE_USER_TARGETS} ; do
+ if use "qemu_user_targets_${target}"; then
+ user_targets+=",${target}-linux-user"
+ user_bins+=( "qemu-${target}" )
+ fi
+ done
+
+ softmmu_targets=${softmmu_targets#,}
+ user_targets=${user_targets#,}
+
+ [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
+ [[ -n ${user_targets} ]] && qemu_src_configure "user"
+ qemu_src_configure "tools"
+}
+
+src_compile() {
+ if [[ -n ${user_targets} ]]; then
+ cd "${S}/user-build"
+ default
+ fi
+
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build"
+ default
+ fi
+
+ cd "${S}/tools-build"
+ default
+}
+
+src_test() {
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build"
+ pax-mark m */qemu-system-* #515550
+ emake check
+ fi
+}
+
+qemu_python_install() {
+ python_domodule "${S}/python/qemu"
+
+ python_doscript "${S}/scripts/kvm/vmxcap"
+ python_doscript "${S}/scripts/qmp/qmp-shell"
+ python_doscript "${S}/scripts/qmp/qemu-ga-client"
+}
+
+# Generate binfmt support files.
+# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
+# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
+generate_initd() {
+ local out="${T}/qemu-binfmt"
+ local out_systemd="${T}/qemu.conf"
+ local d="${T}/binfmt.d"
+
+ einfo "Generating qemu binfmt scripts and configuration files"
+
+ # Generate the debian fragments first.
+ mkdir -p "${d}"
+ "${S}"/scripts/qemu-binfmt-conf.sh \
+ --debian \
+ --exportdir "${d}" \
+ --qemu-path "${EPREFIX}/usr/bin" \
+ || die
+ # Then turn the fragments into a shell script we can source.
+ sed -E -i \
+ -e 's:^([^ ]+) (.*)$:\1="\2":' \
+ "${d}"/* || die
+
+ # Generate the init.d script by assembling the fragments from above.
+ local f qcpu package interpreter magic mask
+ cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
+ for f in "${d}"/qemu-* ; do
+ source "${f}"
+
+ # Normalize the cpu logic like we do in the init.d for the native cpu.
+ qcpu=${package#qemu-}
+ case ${qcpu} in
+ arm*) qcpu="arm";;
+ mips*) qcpu="mips";;
+ ppc*) qcpu="ppc";;
+ s390*) qcpu="s390";;
+ sh*) qcpu="sh";;
+ sparc*) qcpu="sparc";;
+ esac
+
+ # we use 'printf' here to be portable across 'sh'
+ # implementations: #679168
+ cat <>"${out}"
+ if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
+ printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
+ fi
+EOF
+
+ echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
+
+ done
+ cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
+}
+
+src_install() {
+ if [[ -n ${user_targets} ]]; then
+ cd "${S}/user-build"
+ emake DESTDIR="${ED}" install
+
+ # Install binfmt handler init script for user targets.
+ generate_initd
+ doinitd "${T}/qemu-binfmt"
+
+ # Install binfmt/qemu.conf.
+ insinto "/usr/share/qemu/binfmt.d"
+ doins "${T}/qemu.conf"
+ fi
+
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build"
+ emake DESTDIR="${ED}" install
+
+ # This might not exist if the test failed. #512010
+ [[ -e check-report.html ]] && dodoc check-report.html
+
+ if use kernel_linux; then
+ udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
+ fi
+
+ if use python; then
+ python_foreach_impl qemu_python_install
+ fi
+ fi
+
+ cd "${S}/tools-build"
+ emake DESTDIR="${ED}" install
+
+ # Disable mprotect on the qemu binaries as they use JITs to be fast #459348
+ pushd "${ED}"/usr/bin >/dev/null
+ pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
+ popd >/dev/null
+
+ # Install config file example for qemu-bridge-helper
+ insinto "/etc/qemu"
+ doins "${FILESDIR}/bridge.conf"
+
+ cd "${S}"
+ dodoc MAINTAINERS docs/specs/pci-ids.txt
+ newdoc pc-bios/README README.pc-bios
+
+ # Disallow stripping of prebuilt firmware files.
+ dostrip -x ${QA_PREBUILT}
+
+ if [[ -n ${softmmu_targets} ]]; then
+ # Remove SeaBIOS since we're using the SeaBIOS packaged one
+ rm "${ED}/usr/share/qemu/bios.bin"
+ rm "${ED}/usr/share/qemu/bios-256k.bin"
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
+ dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
+ fi
+
+ # Remove vgabios since we're using the seavgabios packaged one
+ rm "${ED}/usr/share/qemu/vgabios.bin"
+ rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
+ rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
+ rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
+ rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
+ rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
+ # PPC/PPC64 loads vgabios-stdvga
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
+ dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
+ dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
+ dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
+ dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
+ dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
+ dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
+ fi
+
+ # Remove sgabios since we're using the sgabios packaged one
+ rm "${ED}/usr/share/qemu/sgabios.bin"
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
+ fi
+
+ # Remove iPXE since we're using the iPXE packaged one
+ rm "${ED}"/usr/share/qemu/pxe-*.rom
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
+ dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
+ dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
+ dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
+ dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
+ dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
+ fi
+ fi
+
+ DISABLE_AUTOFORMATTING=true
+ readme.gentoo_create_doc
+}
+
+firmware_abi_change() {
+ local pv
+ for pv in ${REPLACING_VERSIONS}; do
+ if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+pkg_postinst() {
+ if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
+ udev_reload
+ fi
+
+ xdg_icon_cache_update
+
+ [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
+ fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper
+
+ DISABLE_AUTOFORMATTING=true
+ readme.gentoo_print_elog
+
+ if use pin-upstream-blobs && firmware_abi_change; then
+ ewarn "This version of qemu pins new versions of firmware blobs:"
+ ewarn " $(best_version sys-firmware/edk2-ovmf)"
+ ewarn " $(best_version sys-firmware/ipxe)"
+ ewarn " $(best_version sys-firmware/seabios)"
+ ewarn " $(best_version sys-firmware/sgabios)"
+ ewarn "This might break resume of hibernated guests (started with a different"
+ ewarn "firmware version) and live migration to/from qemu versions with different"
+ ewarn "firmware. Please (cold) restart all running guests. For functional"
+ ewarn "guest migration ensure that all"
+ ewarn "hosts run at least"
+ ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
+ fi
+}
+
+pkg_info() {
+ echo "Using:"
+ echo " $(best_version app-emulation/spice-protocol)"
+ echo " $(best_version sys-firmware/edk2-ovmf)"
+ if has_version 'sys-firmware/edk2-ovmf[binary]'; then
+ echo " USE=binary"
+ else
+ echo " USE=''"
+ fi
+ echo " $(best_version sys-firmware/ipxe)"
+ echo " $(best_version sys-firmware/seabios)"
+ if has_version 'sys-firmware/seabios[binary]'; then
+ echo " USE=binary"
+ else
+ echo " USE=''"
+ fi
+ echo " $(best_version sys-firmware/sgabios)"
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/Manifest
new file mode 100644
index 0000000000..448200fa2a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/Manifest
@@ -0,0 +1 @@
+DIST wa-linux-agent-2.6.0.2.tar.gz 1530936 BLAKE2B f47a4293a939da03859dafac2f422c4066dc2e92d6d4417a7e61e64abf22f1e096fcc7fc4ddfbe3166427ca44df75d967dbd1379d06c1b409fc3edc6340a17f2 SHA512 8826482ceb9e47a9b7f7271c5db19bf46ccabcefd327119e44f2760b147206a1fd3905a0cc8178527fe3326d4179f84bab8f7c673ede3c6de8dcacde0008e405
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/files/waagent.conf b/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/files/waagent.conf
new file mode 100644
index 0000000000..3d65d06b50
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/files/waagent.conf
@@ -0,0 +1,127 @@
+#
+# Microsoft Azure Linux Agent Configuration
+#
+
+# Enable instance creation
+Provisioning.Enabled=y
+
+# Enable extension handling. Do not disable this unless you do not need password reset,
+# backup, monitoring, or any extension handling whatsoever.
+Extensions.Enabled=y
+
+# Rely on cloud-init to provision
+Provisioning.UseCloudInit=n
+
+# Password authentication for root account will be unavailable.
+Provisioning.DeleteRootPassword=n
+
+# Generate fresh host key pair.
+Provisioning.RegenerateSshHostKeyPair=n
+
+# Supported values are "rsa", "dsa", "ecdsa", "ed25519", and "auto".
+# The "auto" option is supported on OpenSSH 5.9 (2011) and later.
+Provisioning.SshHostKeyPairType=auto
+
+# Monitor host name changes and publish changes via DHCP requests.
+Provisioning.MonitorHostName=y
+
+# Decode CustomData from Base64.
+Provisioning.DecodeCustomData=y
+
+# Execute CustomData after provisioning.
+Provisioning.ExecuteCustomData=n
+
+# Algorithm used by crypt when generating password hash.
+#Provisioning.PasswordCryptId=6
+
+# Length of random salt used when generating password hash.
+#Provisioning.PasswordCryptSaltLength=10
+
+# Allow reset password of sys user
+Provisioning.AllowResetSysUser=n
+
+# Format if unformatted. If 'n', resource disk will not be mounted.
+ResourceDisk.Format=y
+
+# File system on the resource disk
+# Typically ext3 or ext4. FreeBSD images should use 'ufs2' here.
+ResourceDisk.Filesystem=ext4
+
+# Mount point for the resource disk
+ResourceDisk.MountPoint=/mnt/resource
+
+# Create and use swapfile on resource disk.
+ResourceDisk.EnableSwap=n
+
+# Size of the swapfile.
+ResourceDisk.SwapSizeMB=0
+
+# Comma-seperated list of mount options. See man(8) for valid options.
+ResourceDisk.MountOptions=None
+
+# Enable verbose logging (y|n)
+Logs.Verbose=n
+
+# Is FIPS enabled
+OS.EnableFIPS=n
+
+# Root device timeout in seconds.
+OS.RootDeviceScsiTimeout=300
+
+# If "None", the system default version is used.
+OS.OpensslPath=None
+
+# Set the SSH ClientAliveInterval
+# OS.SshClientAliveInterval=180
+
+# Set the path to SSH keys and configuration files
+OS.SshDir=/etc/ssh
+
+# If set, agent will use proxy server to access internet
+#HttpProxy.Host=None
+#HttpProxy.Port=None
+
+# Detect Scvmm environment, default is n
+# DetectScvmmEnv=n
+
+#
+# Lib.Dir=/var/lib/waagent
+
+#
+# DVD.MountPoint=/mnt/cdrom/secure
+
+#
+# Pid.File=/var/run/waagent.pid
+
+#
+# Extension.LogDir=/var/log/azure
+
+#
+# Home.Dir=/home
+
+# Enable RDMA management and set up, should only be used in HPC images
+# OS.EnableRDMA=y
+
+# Enable or disable goal state processing auto-update, default is enabled
+# AutoUpdate.Enabled=y
+
+# Determine the update family, this should not be changed
+# AutoUpdate.GAFamily=Prod
+
+# Determine if the overprovisioning feature is enabled. If yes, hold extension
+# handling until inVMArtifactsProfile.OnHold is false.
+# Default is enabled
+# EnableOverProvisioning=y
+
+# Allow fallback to HTTP if HTTPS is unavailable
+# Note: Allowing HTTP (vs. HTTPS) may cause security risks
+# OS.AllowHTTP=n
+
+# Add firewall rules to protect access to Azure host node services
+OS.EnableFirewall=y
+
+# Enforce control groups limits on the agent and extensions
+CGroups.EnforceLimits=n
+
+# CGroups which are excluded from limits, comma separated
+CGroups.Excluded=customscript,runcommand
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/wa-linux-agent-2.6.0.2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/wa-linux-agent-2.6.0.2.ebuild
new file mode 100644
index 0000000000..79444d227b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/wa-linux-agent/wa-linux-agent-2.6.0.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Windows Azure Linux Agent"
+HOMEPAGE="https://github.com/Azure/WALinuxAgent"
+KEYWORDS="amd64 arm64"
+SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+# Depending on specific version of python-oem allows us to notice when
+# we update the major version of python and then to make sure that we
+# install the package in correctly versioned site-packages directory.
+DEP_PYVER="3.6"
+
+RDEPEND="
+dev-lang/python-oem:${DEP_PYVER}
+dev-python/distro-oem
+"
+
+S="${WORKDIR}/WALinuxAgent-${PV}"
+
+src_install() {
+ into "/usr/share/oem"
+ dobin "${S}/bin/waagent"
+
+ insinto "/usr/share/oem/python/$(get_libdir)/python${DEP_PYVER}/site-packages"
+ doins -r "${S}/azurelinuxagent/"
+
+ insinto "/usr/share/oem"
+ doins "${FILESDIR}/waagent.conf"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenserver-pv-version/files/xenserver-pv-version.service b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenserver-pv-version/files/xenserver-pv-version.service
new file mode 100644
index 0000000000..37e243d69a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenserver-pv-version/files/xenserver-pv-version.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Set fake PV driver version for XenServer
+DefaultDependencies=false
+Requires=proc-xen.mount
+After=proc-xen.mount
+IgnoreOnIsolate=true
+ConditionVirtualization=xen
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+# Only attempt the write if 'attr' exists, it may not.
+ExecStart=/bin/sh -c \
+ 'if xenstore exists attr; then xenstore write \
+ attr/PVAddons/MajorVersion @@MAJOR@@ \
+ attr/PVAddons/MinorVersion @@MINOR@@ \
+ attr/PVAddons/MicroVersion @@MICRO@@ \
+ data/updated 1; fi'
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenserver-pv-version/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenserver-pv-version/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenserver-pv-version/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenserver-pv-version/xenserver-pv-version-6.2.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenserver-pv-version/xenserver-pv-version-6.2.0.ebuild
new file mode 100644
index 0000000000..dca7ab0561
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenserver-pv-version/xenserver-pv-version-6.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=7
+
+inherit systemd
+
+DESCRIPTION="Fake data for XenServer's PV driver version detection."
+HOMEPAGE="http://xenserver.org/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="app-emulation/xenstore"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ local split=($(ver_cut 1-3))
+ sed -e "s/@@MAJOR@@/${split[0]}/" \
+ -e "s/@@MINOR@@/${split[1]}/" \
+ -e "s/@@MICRO@@/${split[2]}/" \
+ "${FILESDIR}"/xenserver-pv-version.service \
+ > "${T}"/xenserver-pv-version.service || die
+}
+
+src_install() {
+ systemd_dounit "${T}"/xenserver-pv-version.service
+ systemd_enable_service sysinit.target xenserver-pv-version.service
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/Manifest
new file mode 100644
index 0000000000..6b7f56e7aa
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/Manifest
@@ -0,0 +1 @@
+DIST xen-4.14.2.tar.gz 39973157 BLAKE2B db5d3570f79e0fd97872f5e5dd57a4eb39e005728387bfef3b51fabe1c693cfd8108d09b1026f5a5a7eb79de71be6f4af36d252f7e0b35a65a1567b7949e3e29 SHA512 83c9333b70dbee3e29c6bf08e5ad030676e6c4a32b976f3f5e6a8f8d0dd9e4898bac88dd8e1c9d2ad3509cebb5d212e1745f9392a469d7afeb841d79801ccf39
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/files/Tools.mk b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/files/Tools.mk
new file mode 100644
index 0000000000..4a4d14eaa2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/files/Tools.mk
@@ -0,0 +1,72 @@
+# Tools path
+BISON :=
+FLEX :=
+PYTHON := # overridden in ebuild
+PYTHON_PATH :=
+PY_NOOPT_CFLAGS :=
+PERL := # overridden in ebuild
+BASH :=
+XGETTTEXT :=
+AS86 :=
+LD86 :=
+BCC :=
+IASL :=
+AWK := # overridden in ebuild
+FETCHER :=
+
+# Extra folder for libs/includes
+PREPEND_INCLUDES :=
+PREPEND_LIB :=
+APPEND_INCLUDES :=
+APPEND_LIB :=
+
+PTHREAD_CFLAGS := -pthread
+PTHREAD_LDFLAGS := -pthread
+PTHREAD_LIBS :=
+
+PTYFUNCS_LIBS :=
+
+LIBNL3_LIBS :=
+LIBNL3_CFLAGS :=
+XEN_TOOLS_RPATH := n
+
+# Download GIT repositories via HTTP or GIT's own protocol?
+# GIT's protocol is faster and more robust, when it works at all (firewalls
+# may block it). We make it the default, but if your GIT repository downloads
+# fail or hang, please pass --enable-githttp to configure.
+GIT_HTTP ?= n
+
+# Optional components
+XENSTAT_XENTOP := n
+OCAML_TOOLS := n
+FLASK_POLICY := y # TODO
+CONFIG_OVMF := n
+CONFIG_ROMBIOS := n
+CONFIG_SEABIOS := n
+CONFIG_IPXE := n
+CONFIG_QEMU_TRAD := n
+CONFIG_QEMU_XEN := n
+CONFIG_QEMUU_EXTRA_ARGS :=
+CONFIG_LIBNL := n
+CONFIG_GOLANG := n
+
+CONFIG_SYSTEMD := n
+SYSTEMD_CFLAGS :=
+SYSTEMD_LIBS :=
+XEN_SYSTEMD_DIR :=
+XEN_SYSTEMD_MODULES_LOAD :=
+CONFIG_9PFS :=
+
+LINUX_BACKEND_MODULES :=
+
+#System options
+ZLIB :=
+CONFIG_LIBICONV := n
+EXTFS_LIBS :=
+CURSES_LIBS :=
+TINFO_LIBS :=
+ARGP_LDFLAGS :=
+
+FILE_OFFSET_BITS :=
+
+CONFIG_PV_SHIM := n
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/files/config.h b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/files/config.h
new file mode 100644
index 0000000000..8a640521da
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/files/config.h
@@ -0,0 +1,139 @@
+/* config.h. Generated from config.h.in by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Enabling support partial device tree in libxl */
+/* #undef ENABLE_PARTIAL_DEVICE_TREE */
+
+/* Define to 1 if you have the declaration of `fdt_first_subnode', and to 0 if
+ you don't. */
+/* #undef HAVE_DECL_FDT_FIRST_SUBNODE */
+
+/* Define to 1 if you have the declaration of `fdt_next_subnode', and to 0 if
+ you don't. */
+/* #undef HAVE_DECL_FDT_NEXT_SUBNODE */
+
+/* Define to 1 if you have the declaration of `fdt_property_u32', and to 0 if
+ you don't. */
+/* #undef HAVE_DECL_FDT_PROPERTY_U32 */
+
+/* Define to 1 if you have the `fdt_first_subnode' function. */
+/* #undef HAVE_FDT_FIRST_SUBNODE */
+
+/* Define to 1 if you have the `fdt_next_subnode' function. */
+/* #undef HAVE_FDT_NEXT_SUBNODE */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `fdt' library (-lfdt). */
+/* #undef HAVE_LIBFDT */
+
+/* Define to 1 if you have the `lzma' library (-llzma). */
+/* #undef HAVE_LIBLZMA */
+
+/* Define to 1 if you have the `yajl' library (-lyajl). */
+/* #undef HAVE_LIBYAJL */
+
+/* Define to 1 if you have the `z' library (-lz). */
+/* #undef HAVE_LIBZ */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_MEMORY_H 1
+
+/* Qemu traditional enabled */
+/* #undef HAVE_QEMU_TRADITIONAL */
+
+/* ROMBIOS enabled */
+/* #undef HAVE_ROMBIOS */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_STRING_H 1
+
+/* Systemd available and enabled */
+/* #undef HAVE_SYSTEMD */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_EVENTFD_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_UTMP_H 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_VALGRIND_MEMCHECK_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_YAJL_YAJL_VERSION_H */
+
+/* Define curses header to use */
+/* #undef INCLUDE_CURSES_H */
+
+/* Define extfs header to use */
+/* #undef INCLUDE_EXTFS_H */
+
+/* libutil header file name */
+/* #undef INCLUDE_LIBUTIL_H */
+
+/* IPXE path */
+/* #undef IPXE_PATH */
+
+/* OVMF path */
+/* #undef OVMF_PATH */
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "Xen Hypervisor Tools"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "Xen Hypervisor Tools 4.14"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "xen"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "http://www.xen.org/"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "4.14"
+
+/* Qemu Xen path */
+/* #undef QEMU_XEN_PATH */
+
+/* SeaBIOS path */
+/* #undef SEABIOS_PATH */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* QMP proxy path */
+/* #undef STUBDOM_QMP_PROXY_PATH */
+
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/files/proc-xen.mount b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/files/proc-xen.mount
new file mode 100644
index 0000000000..2213272f5c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/files/proc-xen.mount
@@ -0,0 +1,9 @@
+[Unit]
+Before=local-fs.target
+DefaultDependencies=false
+ConditionVirtualization=xen
+
+[Mount]
+What=xenfs
+Where=/proc/xen
+Type=xenfs
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/xenstore-4.14.2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/xenstore-4.14.2.ebuild
new file mode 100644
index 0000000000..bf16b9e108
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/xenstore/xenstore-4.14.2.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-4.4.0.ebuild,v 1.3 2014/04/04 01:06:31 idella4 Exp $
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_6 )
+
+inherit multilib python-any-r1 systemd toolchain-funcs
+
+MY_PV=${PV/_/-}
+S="${WORKDIR}/xen-${MY_PV}"
+
+DESCRIPTION="Xen's xenstore client utility"
+HOMEPAGE="https://www.xenproject.org"
+SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~x86"
+IUSE=""
+
+DEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+"
+RDEPEND=""
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+
+ if [[ -z ${XEN_TARGET_ARCH} ]] ; then
+ if use x86 && use amd64; then
+ die "Confusion! Both x86 and amd64 are set in your use flags!"
+ elif use x86; then
+ export XEN_TARGET_ARCH="x86_32"
+ elif use amd64 ; then
+ export XEN_TARGET_ARCH="x86_64"
+ elif use arm; then
+ export XEN_TARGET_ARCH="arm32"
+ elif use arm64; then
+ export XEN_TARGET_ARCH="arm64"
+ else
+ die "Unsupported architecture!"
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+ cp "${FILESDIR}"/config.h tools/ || die
+ cp "${FILESDIR}"/Tools.mk config/ || die
+}
+
+src_configure() {
+ : # configured manually
+}
+
+src_compile() {
+ local opts=(
+ prefix="/usr"
+ libdir="/usr/$(get_libdir)"
+
+ AR="$(tc-getAR)"
+ AWK='awk'
+ CC="$(tc-getCC)"
+ LD="$(tc-getLD)"
+ PERL='perl'
+ PYTHON="${PYTHON}"
+ RANLIB="$(tc-getRANLIB)"
+ )
+ unset LDFLAGS
+ unset CFLAGS
+ emake "${opts[@]}" -C tools/include all
+ emake "${opts[@]}" -C tools/libs/toolcore all
+ emake "${opts[@]}" -C tools/xenstore clients
+}
+
+src_install() {
+ dolib.so tools/libs/toolcore/libxentoolcore.so*
+ dolib.so tools/xenstore/libxenstore.so*
+ dobin tools/xenstore/xenstore
+
+ systemd_dounit "${FILESDIR}"/proc-xen.mount
+ systemd_enable_service local-fs.target proc-xen.mount
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-eselect/eselect-go/Manifest b/sdk_container/src/third_party/coreos-overlay/app-eselect/eselect-go/Manifest
new file mode 100644
index 0000000000..1fed1134a7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-eselect/eselect-go/Manifest
@@ -0,0 +1 @@
+DIST eselect-go-0.1.0.tar.gz 104232 SHA256 541de8bc7b77d93f070f907f17760bb30dc3fa8244216d565fcdfb58ab04381b SHA512 b7e9bf07bc7026115d639ed893c54332d63cd2d7a46a6f3b2f8a6748658dfb82f09e875def8bf9abecfb1e39f054ef194b39b0c415ac9ce69ea03332125d4c1f WHIRLPOOL 77996759041eea27f169eadab48f122e55ec11886e851d583ebdd0cf667500d7ca45a62a9edfb99400cc69cbd936887ddface15e7c81d2b301ba111c53123a6a
diff --git a/sdk_container/src/third_party/coreos-overlay/app-eselect/eselect-go/eselect-go-0.1.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-eselect/eselect-go/eselect-go-0.1.0.ebuild
new file mode 100644
index 0000000000..b2478f5963
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-eselect/eselect-go/eselect-go-0.1.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2016 CoreOS, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+DESCRIPTION="Eselect module for managing multiple Go versions"
+HOMEPAGE="https://github.com/coreos/eselect-go"
+SRC_URI="${HOMEPAGE}/releases/download/v${PV}/${P}.tar.gz"
+# Note for future releases: the tarball was generated via `make dist` and
+# uploaded to GitHub so there is no need for initializing autotools here.
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE="test"
+
+DEPEND="test? ( dev-libs/glib )"
+RDEPEND="app-admin/eselect
+ !dev-lang/go:0"
+
+src_configure() {
+ # Go is installed to /usr/lib, not /usr/lib64
+ econf --libdir=/usr/lib
+}
+
+src_install() {
+ keepdir /etc/env.d/go
+ default
+}
+
+pkg_postinst() {
+ if has_version 'dev-lang/go'; then
+ eselect go update --if-unset
+ fi
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-eselect/eselect-go/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-eselect/eselect-go/metadata.xml
new file mode 100644
index 0000000000..5b46f1713c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-eselect/eselect-go/metadata.xml
@@ -0,0 +1,9 @@
+
+
+
+
+ This tool is intended for use in the CoreOS SDK in order to support
+ packages or architectures that cannot upgrade to the same Go version
+ all at the same time. Gentoo doesn't support this use case.
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/Manifest b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/Manifest
new file mode 100644
index 0000000000..a4743b4e9c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/Manifest
@@ -0,0 +1 @@
+DIST nss-3.89.tar.gz 71617802 BLAKE2B 92428a635167f311b258411420c8073fafdbadef5b1fc4ff8400e41834fc67a03f2151265d5bbfb64ae53b9a8acb29750352f6c2c83d1cd9a2f89a2139ad34c9 SHA512 1db06d4575f2c16d2a0629007981211e714f99c014c0a6256dd33d0caf8c809ba8d5be204d018f9d1cc99b9fcd055ac1fb99b399486ed43c9cf3f55f2747de82
diff --git a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.89.ebuild b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.89.ebuild
new file mode 100644
index 0000000000..c367c9526b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/ca-certificates-3.89.ebuild
@@ -0,0 +1,100 @@
+# Copyright 2014 The CoreOS Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_6 )
+inherit python-any-r1 systemd
+
+RTM_NAME="NSS_${PV//./_}_RTM"
+MY_PN="nss"
+MY_P="${MY_PN}-${PV}"
+S="${WORKDIR}"
+
+DESCRIPTION="Mozilla's CA Certificate Store"
+HOMEPAGE="http://www.mozilla.org/en-US/about/governance/policies/security-group/certs/"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${RTM_NAME}/src/${MY_P}.tar.gz"
+
+# NSS is licensed under the MPL, files/certdata2pem.py is GPL
+LICENSE="MPL-2.0 GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE=""
+
+RDEPEND="dev-libs/openssl
+ sys-apps/findutils
+ sys-apps/systemd"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}"
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+
+ # Deal with the case where older ca-certificates installed a
+ # dir here, but newer one installs symlinks. Portage will
+ # barf when you try to transition file types.
+ # This trick is stolen from sys-libs/timezone-data
+ if cd "${EROOT}"/usr/share/${PN} 2>/dev/null ; then
+ # In case of a failed upgrade, clean up the symlinks #506570
+ if [ -L .gentoo-upgrade ] ; then
+ rm -rf mozilla .gentoo-upgrade
+ fi
+ if [ -d mozilla ] ; then
+ rm -rf .gentoo-upgrade #487192
+ mv mozilla .gentoo-upgrade || die
+ ln -s .gentoo-upgrade mozilla || die
+ fi
+ fi
+}
+
+gen_hash_links() {
+ local certfile certhash
+ for certfile in "$@"; do
+ certhash=$(openssl x509 -hash -noout -in "${certfile}") || die
+ # This assumes the hashes have no collisions
+ ln -s "${certfile}" "${certhash}.0" || die
+ done
+}
+
+gen_tmpfiles() {
+ local certfile
+ echo "d /etc/ssl - - - - -"
+ echo "d /etc/ssl/certs - - - - -"
+ for certfile in "$@"; do
+ local l="/etc/ssl/certs/${certfile}"
+ local p="../../../usr/share/${PN}/${certfile}"
+ echo "L ${l} - - - - ${p}"
+ done
+}
+
+src_compile() {
+ local certdata="${MY_P}/nss/lib/ckfw/builtins/certdata.txt"
+ ${PYTHON} "${FILESDIR}/certdata2pem.py" "${certdata}" certs || die
+
+ cd certs || die
+ gen_hash_links *.pem
+ cat *.pem > ca-certificates.crt || die
+ gen_tmpfiles * > "${S}/${PN}.conf" || die
+}
+
+src_install() {
+ insinto /usr/share/${PN}
+ doins certs/*
+
+ # for compatibility with older directory structure
+ dosym . /usr/share/${PN}/mozilla
+
+ dosbin "${FILESDIR}/update-ca-certificates"
+ systemd_dounit "${FILESDIR}/clean-ca-certificates.service"
+ systemd_dounit "${FILESDIR}/update-ca-certificates.service"
+ systemd_enable_service sysinit.target clean-ca-certificates.service
+ systemd_enable_service sysinit.target update-ca-certificates.service
+ systemd_dotmpfilesd ${PN}.conf
+
+ # Setup initial links in /etc
+ dodir /etc/ssl/certs
+ systemd-tmpfiles --root="${D}" --create
+}
+
+pkg_postinst() {
+ rm -rf "${EROOT}"/usr/share/${PN}/.gentoo-upgrade
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/certdata2pem.py b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/certdata2pem.py
new file mode 100644
index 0000000000..d8e9d51996
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/certdata2pem.py
@@ -0,0 +1,136 @@
+#!/usr/bin/python3
+# vim:set et sw=4:
+#
+# certdata2pem.py - splits certdata.txt into multiple files
+#
+# Copyright (C) 2009 Philipp Kern
+# Copyright (C) 2014 The CoreOS Authors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
+# USA.
+
+import base64
+import os.path
+import re
+import sys
+import textwrap
+
+if len(sys.argv) != 3:
+ sys.stderr.write("Usage: certdata2pem.py certdata.txt output_dir\n")
+ sys.exit(1)
+
+certdata = sys.argv[1]
+output_dir = sys.argv[2]
+objects = []
+
+# Dirty file parser.
+in_data, in_multiline, in_obj = False, False, False
+field, field_type, value, obj = None, None, None, dict()
+for line in open(certdata, mode='r', encoding='utf8'):
+ # Ignore the file header.
+ if not in_data:
+ if line.startswith('BEGINDATA'):
+ in_data = True
+ continue
+ # Ignore comment lines.
+ if line.startswith('#'):
+ continue
+ # Empty lines are significant if we are inside an object.
+ if in_obj and len(line.strip()) == 0:
+ objects.append(obj)
+ obj = dict()
+ in_obj = False
+ continue
+ if len(line.strip()) == 0:
+ continue
+ if in_multiline:
+ if not line.startswith('END'):
+ line = line.strip()
+ value += line
+ continue
+ obj[field] = value
+ in_multiline = False
+ continue
+ if line.startswith('CKA_CLASS'):
+ in_obj = True
+ line_parts = line.strip().split(' ', 2)
+ if len(line_parts) > 2:
+ field, field_type = line_parts[0:2]
+ value = ' '.join(line_parts[2:])
+ elif len(line_parts) == 2:
+ field, field_type = line_parts
+ value = None
+ else:
+ raise NotImplementedError('line_parts < 2 not supported.')
+ if field_type == 'MULTILINE_OCTAL':
+ in_multiline = True
+ value = ""
+ continue
+ obj[field] = value
+if len(list(obj.items())) > 0:
+ objects.append(obj)
+
+# Build up trust database.
+trust = dict()
+for obj in objects:
+ if obj['CKA_CLASS'] not in ('CKO_NETSCAPE_TRUST', 'CKO_NSS_TRUST'):
+ continue
+ elif obj['CKA_TRUST_SERVER_AUTH'] in ('CKT_NETSCAPE_TRUSTED_DELEGATOR',
+ 'CKT_NSS_TRUSTED_DELEGATOR'):
+ trust[obj['CKA_LABEL']] = True
+ elif obj['CKA_TRUST_EMAIL_PROTECTION'] in ('CKT_NETSCAPE_TRUSTED_DELEGATOR',
+ 'CKT_NSS_TRUSTED_DELEGATOR'):
+ trust[obj['CKA_LABEL']] = True
+ else:
+ print("Ignoring certificate %s. SAUTH=%s, EPROT=%s" % \
+ (obj['CKA_LABEL'], obj['CKA_TRUST_SERVER_AUTH'],
+ obj['CKA_TRUST_EMAIL_PROTECTION']))
+
+if not os.path.isdir(output_dir):
+ os.makedirs(output_dir)
+os.chdir(output_dir)
+
+for obj in objects:
+ if obj['CKA_CLASS'] == 'CKO_CERTIFICATE':
+ if not obj['CKA_LABEL'] in trust or not trust[obj['CKA_LABEL']]:
+ continue
+ fname = obj['CKA_LABEL'][1:-1].replace('/', '_')\
+ .replace(' ', '_')\
+ .replace('(', '=')\
+ .replace(')', '=')\
+ .replace(',', '_') + '.pem'
+ # fname can be either in utf8 form ("NetLock Arany (Class
+ # Gold) Főtanúsítvány") or in an encoded form ("AC Ra\xC3\xADz
+ # Certic\xC3\xA1mara S.A.")
+ #
+ # If fname.encode('latin1') fails, then we assume the first form.
+ try:
+ # Don't ask, this seems to be the way to convert a string
+ # like "T\xc3\x9c\x42\xC4\xB0TAK" into "TÜBİTAK".
+ #
+ # https://docs.python.org/3/library/codecs.html#text-encodings
+ fname = fname.encode('latin1').decode('unicode_escape').encode('latin1').decode('utf8')
+ except (UnicodeEncodeError, UnicodeDecodeError):
+ pass
+
+ f = open(fname.encode(encoding=sys.getfilesystemencoding(), errors="ignore"), 'w')
+ f.write("-----BEGIN CERTIFICATE-----\n")
+ # obj['CKA_VALUE'] is a string of octals like '\060\311…',
+ # with a number not greater than octal 377 (which is 255,
+ # which fits in a byte).
+ match_to_int = lambda match: int(match.group(1), 8)
+ raw = bytes(map(match_to_int, re.finditer(r'\\([0-3][0-7][0-7])', obj['CKA_VALUE'])))
+ f.write("\n".join(textwrap.wrap(base64.b64encode(raw).decode('utf8'), 64)))
+ f.write("\n-----END CERTIFICATE-----\n")
diff --git a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/clean-ca-certificates.service b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/clean-ca-certificates.service
new file mode 100644
index 0000000000..e7842407e4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/clean-ca-certificates.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Clean up broken links in /etc/ssl/certs
+# Since other services depend on the certificate store run this early
+DefaultDependencies=no
+Wants=systemd-tmpfiles-setup.service sysroot.mount sysroot-usr.mount
+After=systemd-tmpfiles-setup.service sysroot.mount sysroot-usr.mount
+Before=sysinit.target
+ConditionPathIsReadWrite=/etc/ssl/certs
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/find -L /etc/ssl/certs -type l -delete
diff --git a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/update-ca-certificates b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/update-ca-certificates
new file mode 100644
index 0000000000..ea7cb27cff
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/update-ca-certificates
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+set -e
+
+CERTSDIR="${ROOT}/etc/ssl/certs"
+CERTBUNDLE="${CERTSDIR}/ca-certificates.crt"
+SKIP_REHASH=0
+
+while [[ $# -gt 0 ]]; do
+ case "$1" in
+ --skip-rehash)
+ SKIP_REHASH=1 ;;
+ --help|-h|*)
+ echo "$0 [--skip-rehash]"
+ exit ;;
+ esac
+ shift
+done
+
+if [[ ! -w "${CERTSDIR}" ]]; then
+ echo "Error: SSL certificate directory ${CERTSDIR} isn't writable" >&2
+ exit 1
+fi
+
+if [[ ${SKIP_REHASH} -ne 1 ]]; then
+ c_rehash "${CERTSDIR}"
+fi
+
+if [[ ! -e "${CERTBUNDLE}" || "${CERTSDIR}" -nt "${CERTBUNDLE}" ]]; then
+ echo "Recreating certificate bundle ${CERTBUNDLE}"
+ TEMPBUNDLE=$(mktemp "${CERTBUNDLE}.XXXXXXXXXX")
+ trap "rm -f '${CERTSDIR}/${TEMPBUNDLE}'" EXIT
+
+ # Use .0 instead of .pem to pull in only what c_rehash validated
+ cat "${CERTSDIR}"/*.[0-9] > "${TEMPBUNDLE}"
+ chmod 644 "${TEMPBUNDLE}"
+ mv -f "${TEMPBUNDLE}" "${CERTBUNDLE}"
+ trap - EXIT
+
+ # Update the bundle's mtime so future runs know not to regenerate it
+ touch --reference="${CERTSDIR}" "${CERTBUNDLE}"
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/update-ca-certificates.service b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/update-ca-certificates.service
new file mode 100644
index 0000000000..3de77d8864
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/files/update-ca-certificates.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Update CA bundle at /etc/ssl/certs/ca-certificates.crt
+# Since other services depend on the certificate store run this early
+DefaultDependencies=no
+Wants=systemd-tmpfiles-setup.service clean-ca-certificates.service
+After=systemd-tmpfiles-setup.service clean-ca-certificates.service
+Before=sysinit.target
+ConditionPathIsReadWrite=/etc/ssl/certs
+# Do nothing if update-ca-certificates has never been run before
+ConditionPathIsSymbolicLink=!/etc/ssl/certs/ca-certificates.crt
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/update-ca-certificates --skip-rehash
diff --git a/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/metadata.xml
new file mode 100644
index 0000000000..9f0fc84b66
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-misc/ca-certificates/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+base-system
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-shells/bash/Manifest b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/Manifest
new file mode 100644
index 0000000000..0013eb5942
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/Manifest
@@ -0,0 +1,9 @@
+DIST bash-5.1.tar.gz 10458638 BLAKE2B 42059556694b604911b5b7936f94d42d8923f2931f3ebacefd95454274c7baadb1ec97629a524c1542e2e282dae66f1389334f8edc572ca8ee841cc3ac449ba7 SHA512 c44a0ce381469219548a3a27589af3fea4f22eda1ca4e9434b59fc16da81b471c29ce18e31590e0860a6a251a664b68c2b45e3a17d22cfc02799ffd9a208390c
+DIST bash51-001 2894 BLAKE2B 7918eb48d4afe91a167eed666f0d15ca220e002d824cfc5ebb753430144a8bf884e8895e6d050158153e08c115fb0b90659608ed98b18aec737e75b5e61098f3 SHA512 1cd86805a2639614372aec29a710bc456e330abcbbaa0867820c94f714a1fa5fb5c1b18aa2c10263ae0bce9dad7579c7af2f732282315c1c34bfd6a90777bfd2
+DIST bash51-002 1575 BLAKE2B 70336d2ef04c63fa29a625a2719c0b36f7e34818cadbb4b09e1434d72d6695dd882c758a00f2ea48f38d3918abc15f494780825b7d2f7cfc6c747a3be89ac497 SHA512 923e7822a9629645347d3aea0058fb5e2d52223507159a62369309f264612df44a84931c19e0ccb3852e98ce672dfbd454477090b4041b5a0de477c94eb61088
+DIST bash51-003 1800 BLAKE2B 6dd284666273016d3b9007537502d75ad7c4e1347c3a13dcdab2325e4f191a149180ee86f9904fc96291ed8217e1d26dcd2b8b20c283ea616f322dbd293d1998 SHA512 01e952dcfdae58624723d64912ea3444eed2fdcd266ba1a929b95ec3abd70f914bf400607c3f7bb7a94ac2925f794f91f37c1929d5bb987de2ba7f60a19cb8bd
+DIST bash51-004 3745 BLAKE2B dbbe2713c1cc4aa6de99366c1d91e136d1a7a86ac11108e8dd1aea3823ba0f9e005f48f1507acd1f86ce2f3c2f4ac60ae04ff066e5587229e7f19aefbe4d6e39 SHA512 10ff24cd91a2cd88818bfa7218050843af6b409e43fcca89f5ec70d8266020c6c2a55132426271f165cd0f154f49eb0f8ec2761b80fc066c921b83120bb543ce
+DIST bash51-005 2577 BLAKE2B 573dafdff4a0d11cf6c458d6a3c9087b728542000fce5e16266636444278b7a9b4c75b05e6de31648e2b1ad5ffc2b55336d9fec088ea2c4c6c854eb7e16527aa SHA512 fa83d894fe874a05b9a7d47b8bca8e5b7f4067221d82e8b1af616d17725592c3737c621f2a8ad3c917b29846012c37c85acd34dcbb43eb6b05065ccce89b260c
+DIST bash51-006 1412 BLAKE2B 3b32c69cef9438f66afaad0279627567d6aac32fabbec5af899552427489f2a87b148a3886bc30139647ec4204241c2e77cad83cdae1251176b7ec54699e1445 SHA512 b9b6e3d71f7b7718e2e8598ec8e337dcc675571fb233c29e5230ebf14eab2249204531f2fe8c4d1459c5fed10acb679048588d1e457e98dbc00ffc4d2cd227e3
+DIST bash51-007 2621 BLAKE2B f2802bc7267efe69abecb5c4d0cf5879bb57219e9e972d4c74f86ca88f99ba4dd3d9314beaca9c426351ffe429ddb4a03615776f569bad9962df7c5094d52a28 SHA512 e4ebdc47e780ddc2588ecdfcfe00cb618039c7044e250ab2b836b0735c461ebacd15beaf2145e277c70b7f51cded55bd8dde7757df810f33f8dae306ee5ba571
+DIST bash51-008 1821 BLAKE2B 9820066c99c8ed5f6322fceb2346f8900ac77b6c50c75de39c9ff7472c33f78b054f8bd0493ce7a4b8e17c70456d867aa6791e892246bce64624549a95c3211d SHA512 97f9558a08a66cc9da62c285bf9118b39328e25ed3b9277728e0539b1ac0adef176a090e39cd96dc03d6fd900d8155bd58040cb3390a09f637bab1de8af3faf6
diff --git a/sdk_container/src/third_party/coreos-overlay/app-shells/bash/bash-5.1_p8.ebuild b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/bash-5.1_p8.ebuild
new file mode 100644
index 0000000000..19bb8a51ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/bash-5.1_p8.ebuild
@@ -0,0 +1,266 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs prefix
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-5.0-patches/
+PLEVEL="${PV##*_p}"
+MY_PV="${PV/_p*}"
+MY_PV="${MY_PV/_/-}"
+MY_P="${PN}-${MY_PV}"
+is_release() {
+ case ${PV} in
+ *_alpha*|*_beta*|*_rc*) return 1 ;;
+ *) return 0 ;;
+ esac
+}
+[[ ${PV} != *_p* ]] && PLEVEL=0
+patches() {
+ local opt=${1} plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
+ [[ ${plevel} -eq 0 ]] && return 1
+ eval set -- {1..${plevel}}
+ set -- $(printf "${pn}${pv/\.}-%03d " "$@")
+ if [[ ${opt} == -s ]] ; then
+ echo "${@/#/${DISTDIR}/}"
+ else
+ local u
+ for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
+ printf "${u}/${pn}-${pv}-patches/%s " "$@"
+ done
+ fi
+}
+
+# The version of readline this bash normally ships with.
+READLINE_VER="8.1"
+
+DESCRIPTION="The standard GNU Bourne again shell"
+HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
+if is_release ; then
+ SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
+else
+ SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+[[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline"
+
+DEPEND="
+ >=sys-libs/ncurses-5.2-r2:0=
+ nls? ( virtual/libintl )
+ readline? ( >=sys-libs/readline-${READLINE_VER}:0= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+# We only need yacc when the .y files get patched (bash42-005)
+#BDEPEND="virtual/yacc"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ # Patches from Chet sent to bashbug ml
+ "${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch
+)
+
+pkg_setup() {
+ # bug #7332
+ if is-flag -malign-double ; then
+ eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
+ eerror "as it breaks LFS (struct stat64) on x86."
+ die "remove -malign-double from your CFLAGS mr ricer"
+ fi
+
+ if use bashlogger ; then
+ ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
+ ewarn "This will log ALL output you enter into the shell, you have been warned."
+ fi
+}
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz
+}
+
+src_prepare() {
+ # Include official patches
+ [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s)
+
+ # Clean out local libs so we know we use system ones w/releases.
+ if is_release ; then
+ rm -rf lib/{readline,termcap}/* || die
+ touch lib/{readline,termcap}/Makefile.in || die # for config.status
+ sed -ri -e 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in || die
+ fi
+
+ # Prefixify hardcoded path names. No-op for non-prefix.
+ hprefixify pathnames.h.in
+
+ # Avoid regenerating docs after patches, bug #407985
+ sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
+ touch -r . doc/* || die
+
+ eapply -p0 "${PATCHES[@]}"
+ eapply_user
+}
+
+src_configure() {
+ local myconf=(
+ --disable-profiling
+
+ # Force linking with system curses ... the bundled termcap lib
+ # sucks bad compared to ncurses. For the most part, ncurses
+ # is here because readline needs it. But bash itself calls
+ # ncurses in one or two small places :(.
+ --with-curses
+
+ $(use_enable mem-scramble)
+ $(use_enable net net-redirections)
+ $(use_enable readline)
+ $(use_enable readline bang-history)
+ $(use_enable readline history)
+ $(use_with afs)
+ $(use_with mem-scramble bash-malloc)
+ )
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
+ append-cppflags \
+ -DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
+ -DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \
+ -DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \
+ -DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \
+ -DNON_INTERACTIVE_LOGIN_SHELLS \
+ -DSSH_SOURCE_BASHRC \
+ $(use bashlogger && echo -DSYSLOG_HISTORY)
+
+ # Don't even think about building this statically without
+ # reading bug #7714 first. If you still build it statically,
+ # don't come crying to us with bugs ;).
+ #use static && export LDFLAGS="${LDFLAGS} -static"
+ use nls || myconf+=( --disable-nls )
+
+ # Historically, we always used the builtin readline, but since
+ # our handling of SONAME upgrades has gotten much more stable
+ # in the PM (and the readline ebuild itself preserves the old
+ # libs during upgrades), linking against the system copy should
+ # be safe.
+ # Exact cached version here doesn't really matter as long as it
+ # is at least what's in the DEPEND up above.
+ export ac_cv_rl_version=${READLINE_VER%%_*}
+
+ if is_release ; then
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins ; then
+ append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
+ else
+ # Disable the plugins logic by hand since bash doesn't
+ # provide a way of doing it.
+ export ac_cv_func_dl{close,open,sym}=no \
+ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
+
+ sed -i \
+ -e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
+ configure || die
+ fi
+
+ # bug #444070
+ tc-export AR
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake
+
+ if use plugins ; then
+ emake -C examples/loadables all others
+ fi
+}
+
+src_install() {
+ local d f
+
+ default
+
+ dodir /bin
+ mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /usr/share/bash
+ for f in bash{_logout,rc} ; do
+ doins "${FILESDIR}"/${f}
+ dosym ../../usr/share/bash/${f} /etc/bash/${f}
+ done
+
+ insinto /usr/share/skel
+ for f in bash{_logout,_profile,rc} ; do
+ newins "${FILESDIR}"/dot-${f} .${f}
+ dosym ../../usr/share/skel/.${f} /etc/skel/.${f}
+ done
+
+ local sed_args=(
+ -e "s:#${USERLAND}#@::"
+ -e '/#@/d'
+ )
+
+ if ! use readline ; then
+ # bug #432338
+ sed_args+=(
+ -e '/^shopt -s histappend/s:^:#:'
+ -e 's:use_color=true:use_color=false:'
+ )
+ fi
+
+ sed -i \
+ "${sed_args[@]}" \
+ "${ED}"/usr/share/skel/.bashrc \
+ "${ED}"/usr/share/bash/bashrc || die
+
+ if use plugins ; then
+ exeinto /usr/$(get_libdir)/bash
+ doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
+
+ insinto /usr/include/bash-plugins
+ doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples ; then
+ for d in examples/{functions,misc,scripts,startup-files} ; do
+ exeinto /usr/share/doc/${PF}/${d}
+ docinto ${d}
+ for f in ${d}/* ; do
+ if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
+ doexe ${f}
+ else
+ dodoc ${f}
+ fi
+ done
+ done
+ fi
+
+ doman doc/*.1
+ newdoc CWRU/changelog ChangeLog
+ dosym bash.info /usr/share/info/bashref.info
+}
+
+pkg_preinst() {
+ if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
+ mkdir -p "${EROOT}"/etc/bash
+ mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
+ fi
+}
+
+pkg_postinst() {
+ # If /bin/sh does not exist, provide it
+ if [[ ! -e ${EROOT}/bin/sh ]] ; then
+ ln -sf bash "${EROOT}"/bin/sh
+ fi
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/bash-5.0-syslog-history-extern.patch b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/bash-5.0-syslog-history-extern.patch
new file mode 100644
index 0000000000..79909a3d0c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/bash-5.0-syslog-history-extern.patch
@@ -0,0 +1,15 @@
+*** ../bash-5.0-patched/builtins/shopt.def 2018-10-05 14:49:02.000000000 -0400
+--- builtins/shopt.def 2019-01-23 09:55:22.000000000 -0500
+***************
+*** 123,127 ****
+ #endif
+
+! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
+ extern int syslog_history;
+ #endif
+--- 123,127 ----
+ #endif
+
+! #if defined (SYSLOG_HISTORY)
+ extern int syslog_history;
+ #endif
diff --git a/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/bash_logout b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/bash_logout
new file mode 100644
index 0000000000..50a79331c0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/bash_logout
@@ -0,0 +1,9 @@
+# /etc/bash/bash_logout
+
+# This file is sourced when a login shell terminates.
+
+# You may wish to clear everyone's screen when they logout.
+#clear
+
+# Or maybe you want to leave a thoughtful note.
+#fortune
diff --git a/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/bashrc b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/bashrc
new file mode 100644
index 0000000000..bce7204e3c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/bashrc
@@ -0,0 +1,109 @@
+# /etc/bash/bashrc
+#
+# This file is sourced by all *interactive* bash shells on startup,
+# including some apparently interactive shells such as scp and rcp
+# that can't tolerate any output. So make sure this doesn't display
+# anything or bad things will happen !
+
+
+# Test for an interactive shell. There is no need to set anything
+# past this point for scp and rcp, and it's important to refrain from
+# outputting anything in those cases.
+if [[ $- != *i* ]] ; then
+ # Shell is non-interactive. Be done now!
+ return
+fi
+
+# Bash won't get SIGWINCH if another process is in the foreground.
+# Enable checkwinsize so that bash will check the terminal size when
+# it regains control. #65623
+# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
+shopt -s checkwinsize
+
+# Disable completion when the input buffer is empty. i.e. Hitting tab
+# and waiting a long time for bash to expand all of $PATH.
+shopt -s no_empty_cmd_completion
+
+# Enable history appending instead of overwriting when exiting. #139609
+shopt -s histappend
+
+# Save each command to the history file as it's executed. #517342
+# This does mean sessions get interleaved when reading later on, but this
+# way the history is always up to date. History is not synced across live
+# sessions though; that is what `history -n` does.
+# Disabled by default due to concerns related to system recovery when $HOME
+# is under duress, or lives somewhere flaky (like NFS). Constantly syncing
+# the history will halt the shell prompt until it's finished.
+#PROMPT_COMMAND='history -a'
+
+# Change the window title of X terminals
+case ${TERM} in
+ [aEkx]term*|rxvt*|gnome*|konsole*|interix|tmux*)
+ PS1='\[\033]0;\u@\h:\w\007\]'
+ ;;
+ screen*)
+ PS1='\[\033k\u@\h:\w\033\\\]'
+ ;;
+ *)
+ unset PS1
+ ;;
+esac
+
+# Set colorful PS1 only on colorful terminals.
+# dircolors --print-database uses its own built-in database
+# instead of using /etc/DIR_COLORS. Try to use the external file
+# first to take advantage of user additions.
+# We run dircolors directly due to its changes in file syntax and
+# terminal name patching.
+use_color=false
+if type -P dircolors >/dev/null ; then
+ # Enable colors for ls, etc. Prefer ~/.dir_colors #64489
+ LS_COLORS=
+ if [[ -f ~/.dir_colors ]] ; then
+ eval "$(dircolors -b ~/.dir_colors)"
+ elif [[ -f /etc/DIR_COLORS ]] ; then
+ eval "$(dircolors -b /etc/DIR_COLORS)"
+ else
+ eval "$(dircolors -b)"
+ fi
+ # Note: We always evaluate the LS_COLORS setting even when it's the
+ # default. If it isn't set, then `ls` will only colorize by default
+ # based on file attributes and ignore extensions (even the compiled
+ # in defaults of dircolors). #583814
+ if [[ -n ${LS_COLORS:+set} ]] ; then
+ use_color=true
+ else
+ # Delete it if it's empty as it's useless in that case.
+ unset LS_COLORS
+ fi
+else
+ # Some systems (e.g. BSD & embedded) don't typically come with
+ # dircolors so we need to hardcode some terminals in here.
+ case ${TERM} in
+ [aEkx]term*|rxvt*|gnome*|konsole*|screen|tmux|cons25|*color) use_color=true;;
+ esac
+fi
+
+if ${use_color} ; then
+ if [[ ${EUID} == 0 ]] ; then
+ PS1+='\[\033[01;31m\]\h\[\033[01;34m\] \w \$\[\033[00m\] '
+ else
+ PS1+='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
+ fi
+
+ #BSD#@export CLICOLOR=1
+ #GNU#@alias ls='ls --color=auto'
+ alias grep='grep --colour=auto'
+ alias egrep='grep -E --colour=auto'
+ alias fgrep='grep -F --colour=auto'
+else
+ # show root@ when we don't have colors
+ PS1+='\u@\h \w \$ '
+fi
+
+for sh in /etc/bash/bashrc.d/* ; do
+ [[ -r ${sh} ]] && source "${sh}"
+done
+
+# Try to keep environment pollution down, EPA loves us.
+unset use_color sh
diff --git a/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/dot-bash_logout b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/dot-bash_logout
new file mode 100644
index 0000000000..44b6f79ca8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/dot-bash_logout
@@ -0,0 +1,6 @@
+# /etc/skel/.bash_logout
+
+# This file is sourced when a login shell terminates.
+
+# Clear the screen for security's sake.
+clear
diff --git a/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/dot-bash_profile b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/dot-bash_profile
new file mode 100644
index 0000000000..1de05a45e3
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/dot-bash_profile
@@ -0,0 +1,7 @@
+# /etc/skel/.bash_profile
+
+# This file is sourced by bash for login shells. The following line
+# runs your .bashrc and is recommended by the bash info pages.
+if [[ -f ~/.bashrc ]] ; then
+ . ~/.bashrc
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/dot-bashrc b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/dot-bashrc
new file mode 100644
index 0000000000..f020892b5c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/files/dot-bashrc
@@ -0,0 +1,27 @@
+# /etc/skel/.bashrc
+#
+# This file is sourced by all *interactive* bash shells on startup,
+# including some apparently interactive shells such as scp and rcp
+# that can't tolerate any output. So make sure this doesn't display
+# anything or bad things will happen !
+
+
+# Test for an interactive shell. There is no need to set anything
+# past this point for scp and rcp, and it's important to refrain from
+# outputting anything in those cases.
+if [[ $- != *i* ]] ; then
+ # Shell is non-interactive. Be done now!
+ return
+fi
+
+
+# Put your fun stuff here.
+
+alias_bcc_tool() {
+ local tool="${1}"
+ alias iovisor-${tool}="docker run --rm -it -v /lib/modules:/lib/modules -v /sys/kernel/debug:/sys/kernel/debug -v /sys/fs/cgroup:/sys/fs/cgroup -v /sys/fs/bpf:/sys/fs/bpf --privileged --net host --pid host quay.io/iovisor/bcc /usr/share/bcc/tools/${tool}"
+}
+
+bcc_debug_toolset=( tcpretrans tcpconnect tcpaccept biolatency )
+
+for t in "${bcc_debug_toolset[@]}"; do alias_bcc_tool "${t}"; done
diff --git a/sdk_container/src/third_party/coreos-overlay/app-shells/bash/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/metadata.xml
new file mode 100644
index 0000000000..9b5e498670
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-shells/bash/metadata.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+
+
+ cpe:/a:gnu:bash
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/docker-20.10.ebuild b/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/docker-20.10.ebuild
new file mode 100644
index 0000000000..3665d5f72e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/docker-20.10.ebuild
@@ -0,0 +1,32 @@
+# Copyright (c) 2017-2018 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Packages to be installed in a torcx image for Docker"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+
+# Explicitly list all packages that will be built into the image.
+RDEPEND="
+ ~app-emulation/docker-20.10.12
+ ~app-emulation/docker-cli-20.10.12
+ ~app-emulation/containerd-1.5.13
+ ~app-emulation/docker-proxy-0.8.0_p20210525
+ ~app-emulation/docker-runc-1.0.3
+ =dev-libs/libltdl-2.4.6
+ ~sys-process/tini-0.19.0
+"
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /.torcx
+ newins "${FILESDIR}/${P}-manifest.json" manifest.json
+
+ # Enable the Docker socket by default.
+ local unitdir=/usr/lib/systemd/system
+ dosym ../docker.socket "${unitdir}/sockets.target.wants/docker.socket"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/files/docker-17.03-manifest.json b/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/files/docker-17.03-manifest.json
new file mode 100644
index 0000000000..190f9e8538
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/files/docker-17.03-manifest.json
@@ -0,0 +1,29 @@
+{
+ "kind": "image-manifest-v0",
+ "value": {
+ "bin": [
+ "/bin/containerd",
+ "/bin/containerd-shim",
+ "/bin/ctr",
+ "/bin/docker",
+ "/bin/docker-containerd",
+ "/bin/docker-containerd-shim",
+ "/bin/docker-init",
+ "/bin/docker-proxy",
+ "/bin/docker-runc",
+ "/bin/dockerd",
+ "/bin/runc",
+ "/bin/tini"
+ ],
+ "network": [
+ "/lib/systemd/network/50-docker.network",
+ "/lib/systemd/network/90-docker-veth.network"
+ ],
+ "units": [
+ "/lib/systemd/system/containerd.service",
+ "/lib/systemd/system/docker.service",
+ "/lib/systemd/system/docker.socket",
+ "/lib/systemd/system/sockets.target.wants"
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/files/docker-19.03-manifest.json b/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/files/docker-19.03-manifest.json
new file mode 100644
index 0000000000..190f9e8538
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/files/docker-19.03-manifest.json
@@ -0,0 +1,29 @@
+{
+ "kind": "image-manifest-v0",
+ "value": {
+ "bin": [
+ "/bin/containerd",
+ "/bin/containerd-shim",
+ "/bin/ctr",
+ "/bin/docker",
+ "/bin/docker-containerd",
+ "/bin/docker-containerd-shim",
+ "/bin/docker-init",
+ "/bin/docker-proxy",
+ "/bin/docker-runc",
+ "/bin/dockerd",
+ "/bin/runc",
+ "/bin/tini"
+ ],
+ "network": [
+ "/lib/systemd/network/50-docker.network",
+ "/lib/systemd/network/90-docker-veth.network"
+ ],
+ "units": [
+ "/lib/systemd/system/containerd.service",
+ "/lib/systemd/system/docker.service",
+ "/lib/systemd/system/docker.socket",
+ "/lib/systemd/system/sockets.target.wants"
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/files/docker-20.10-manifest.json b/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/files/docker-20.10-manifest.json
new file mode 100644
index 0000000000..418acbdcd9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/app-torcx/docker/files/docker-20.10-manifest.json
@@ -0,0 +1,30 @@
+{
+ "kind": "image-manifest-v0",
+ "value": {
+ "bin": [
+ "/bin/containerd",
+ "/bin/containerd-shim",
+ "/bin/ctr",
+ "/bin/docker",
+ "/bin/docker-containerd",
+ "/bin/docker-containerd-shim",
+ "/bin/docker-init",
+ "/bin/docker-proxy",
+ "/bin/docker-runc",
+ "/bin/dockerd",
+ "/bin/runc",
+ "/bin/tini"
+ ],
+ "network": [
+ "/lib/systemd/network/50-docker.network",
+ "/lib/systemd/network/90-docker-veth.network"
+ ],
+ "units": [
+ "/lib/systemd/system/containerd.service",
+ "/lib/systemd/system/docker.service",
+ "/lib/systemd/system/docker.socket",
+ "/lib/systemd/system/sockets.target.wants",
+ "/lib/systemd/system/multi-user.target.wants"
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/README.md b/sdk_container/src/third_party/coreos-overlay/changelog/README.md
new file mode 100644
index 0000000000..cf4aaf46de
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/README.md
@@ -0,0 +1,39 @@
+The `changelog` directory contains the description of the changes introduced
+into the repository. The changes are essentially divided into 4 categories:
+- changes: PRs bringing Changes and/or Enhancements
+- bugfixes: PRs fixing existing issues
+- security: PRs fixing security issues
+- updates: PRs updating packages
+
+## How to add the file
+
+Based on the category the PR falls into create a new file in the respective
+directory with the filename format `YYYY-MM-DD-.md`
+(can be generated via: `$(date '+%Y-%m-%d')-.md`).
+The file should contain a markdown bullet point entry (`- TEXT...`).
+
+Example for the bugfix section:
+
+```
+- The Torcx profile `docker-1.12-no` got fixed to reference the current Docker version instead of 19.03 which wasn't found on the image, causing Torcx to fail to provide Docker [PR#1456](https://github.com/flatcar-linux/coreos-overlay/pull/1456)
+```
+
+The contents of the file should describe the changes in a concise manner,
+and only contain information relevant for the end users.
+(use the past tense for the change/bugfix description to avoid confusion with
+the imperative voice for actions the user should do as a result). Security
+fixes of upstream packages and package updates can be kept short in most cases
+and follow a standard format.
+
+As `Updates` refer to the package updates, contents of the file should be of
+the following format: `- Package Name ([Version](link to changelog))`. Example:
+`- Linux ([5.10.77](https://lwn.net/Articles/874852/))`. Note the leading dash
+that will create a bullet list in the rendered markdown.
+
+The security section follows this format:
+
+```
+- Package Name ([CVE-NUMBER](NIST-LINK), [CVE-NUMBER](NIST-LINK), ...)
+```
+
+E.g., `Linux ([CVE-2021-4002](https://nvd.nist.gov/vuln/detail/CVE-2021-4002), [CVE-2020-27820](https://nvd.nist.gov/vuln/detail/CVE-2020-27820))`.
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/.gitkeep b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2021-12-01-torcx-docker-1.12-no-profile.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2021-12-01-torcx-docker-1.12-no-profile.md
new file mode 100644
index 0000000000..dc8fc42a15
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2021-12-01-torcx-docker-1.12-no-profile.md
@@ -0,0 +1 @@
+- The Torcx profile `docker-1.12-no` got fixed to reference the current Docker version instead of 19.03 which wasn't found on the image, causing Torcx to fail to provide Docker [PR#1456](https://github.com/flatcar-linux/coreos-overlay/pull/1456)
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2021-12-16-ensure-xtables-lock-exists.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2021-12-16-ensure-xtables-lock-exists.md
new file mode 100644
index 0000000000..b145ad3fb5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2021-12-16-ensure-xtables-lock-exists.md
@@ -0,0 +1 @@
+- Ensured that the `/run/xtables.lock` coordination file exists for modifications of the xtables backend from containers (must be bind-mounted) or the `iptables-legacy` binaries on the host ([PR#57](https://github.com/flatcar-linux/init/pull/57))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2021-12-16-policycoreutils-fix-semodule-postinst.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2021-12-16-policycoreutils-fix-semodule-postinst.md
new file mode 100644
index 0000000000..0b37dfe269
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2021-12-16-policycoreutils-fix-semodule-postinst.md
@@ -0,0 +1 @@
+- SDK: Fixed build error popping up in the new SDK Container because `policycoreutils` used the wrong ROOT to update the SELinux store ([PR#1502](https://github.com/flatcar-linux/coreos-overlay/pull/1502))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-01-13-policycoreutils-fix-root-path.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-01-13-policycoreutils-fix-root-path.md
new file mode 100644
index 0000000000..77fb882557
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-01-13-policycoreutils-fix-root-path.md
@@ -0,0 +1 @@
+- Fixed leak of SELinux policy store to the root filesystem top directory due to wrong store path in `policycoreutils` instead of `/var/lib/selinux` ([flatcar-linux/Flatcar#596](https://github.com/flatcar-linux/Flatcar/issues/596))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-02-07-networkd-foreign-routes-cilium.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-02-07-networkd-foreign-routes-cilium.md
new file mode 100644
index 0000000000..8faa6f3f90
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-02-07-networkd-foreign-routes-cilium.md
@@ -0,0 +1 @@
+- Disabled the systemd-networkd settings `ManageForeignRoutes` and `ManageForeignRoutingPolicyRules` by default to ensure that CNIs like Cilium don't get their routes or routing policy rules discarded on network reconfiguration events ([Flatcar#620](https://github.com/flatcar-linux/Flatcar/issues/620)).
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-02-10-aws-arm64-console.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-02-10-aws-arm64-console.md
new file mode 100644
index 0000000000..422b8c0a42
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-02-10-aws-arm64-console.md
@@ -0,0 +1 @@
+- AWS: specify correct console (ttyS0) on kernel command line for ARM64 instances ([PR#1628](https://github.com/flatcar-linux/coreos-overlay/pull/1628))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-02-16-ignition-udev-race.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-02-16-ignition-udev-race.md
new file mode 100644
index 0000000000..cbaeabef68
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-02-16-ignition-udev-race.md
@@ -0,0 +1 @@
+- Prevented hitting races when creating filesystems in Ignition, these races caused boot failures like `fsck[1343]: Failed to stat /dev/disk/by-label/ROOT: No such file or directory` when creating a btrfs root filesystem ([PR#35](https://github.com/flatcar-linux/ignition/pull/35))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-03-02-kernel-ipsec-id0-revert.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-03-02-kernel-ipsec-id0-revert.md
new file mode 100644
index 0000000000..9a7ddaedb8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-03-02-kernel-ipsec-id0-revert.md
@@ -0,0 +1 @@
+- Reverted the Linux kernel change to forbid xfrm id 0 for IPSec state because it broke Cilium ([Flatcar#626](https://github.com/flatcar-linux/Flatcar/issues/626), [PR#1682](https://github.com/flatcar-linux/coreos-overlay/pull/1682))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-03-14-kernel-msi-revert.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-03-14-kernel-msi-revert.md
new file mode 100644
index 0000000000..b3510c8765
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-03-14-kernel-msi-revert.md
@@ -0,0 +1 @@
+- Reverted the Linux kernel commit which broke networking on AWS instances which use Intel 82559 NIC (c4/m4) ([Flatcar#665](https://github.com/flatcar-linux/Flatcar/issues/665), [PR#1720](https://github.com/flatcar-linux/coreos-overlay/pull/1720))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-04-25-fix-dev-container-module-builds.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-04-25-fix-dev-container-module-builds.md
new file mode 100644
index 0000000000..43e313a564
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-04-25-fix-dev-container-module-builds.md
@@ -0,0 +1 @@
+- Added pahole to developer container, without it kernel modules built against /usr/src/linux may fail to probe with an 'invalid relocation target' error ([PR#1839](https://github.com/flatcar-linux/coreos-overlay/pull/1839))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-05-11-create-etc-flatcar-update.conf.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-05-11-create-etc-flatcar-update.conf.md
new file mode 100644
index 0000000000..9f4c6b307b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-05-11-create-etc-flatcar-update.conf.md
@@ -0,0 +1 @@
+- Ensured `/etc/flatcar/update.conf` exists because it happens to be used as flag file for Ansible ([init#71](https://github.com/flatcar-linux/init/pull/71))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-06-30-remove-outdated-lts-motd.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-06-30-remove-outdated-lts-motd.md
new file mode 100644
index 0000000000..1e2d3d6189
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-06-30-remove-outdated-lts-motd.md
@@ -0,0 +1 @@
+- Removed outdated LTS channel information printed on login ([init#75](https://github.com/flatcar-linux/init/pull/75))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-08-30-equinix-metal-serial.md b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-08-30-equinix-metal-serial.md
new file mode 100644
index 0000000000..8443b27da8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/bugfixes/2022-08-30-equinix-metal-serial.md
@@ -0,0 +1 @@
+- Equinix Metal: Fixed serial console settings for the `m3.small.x86` instance by expanding the GRUB check for `i386` to `x86_64` [coreos-overlay#2122](https://github.com/flatcar-linux/coreos-overlay/pull/2122)
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/.gitkeep b/sdk_container/src/third_party/coreos-overlay/changelog/changes/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2021-12-21-iproute-with-elf.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2021-12-21-iproute-with-elf.md
new file mode 100644
index 0000000000..c84ccdfaad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2021-12-21-iproute-with-elf.md
@@ -0,0 +1 @@
+- Backported `elf` support for `iproute2` [flatcar-linux/coreos-overlay#1256](https://github.com/flatcar-linux/coreos-overlay/pull/1526)
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-01-31-enable-fips-kernel.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-01-31-enable-fips-kernel.md
new file mode 100644
index 0000000000..bdb227d25c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-01-31-enable-fips-kernel.md
@@ -0,0 +1 @@
+- Enabled the FIPS support for the Linux kernel, which users can now choose through a kernel parameter in `grub.cfg` (check it taking effect with `cat /proc/sys/crypto/fips_enabled`) ([PR#1602](https://github.com/flatcar-linux/coreos-overlay/pull/1602))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-02-16-networkd-foreign-routes.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-02-16-networkd-foreign-routes.md
new file mode 100644
index 0000000000..8d17efc203
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-02-16-networkd-foreign-routes.md
@@ -0,0 +1 @@
+- The systemd-networkd `ManageForeignRoutes` and `ManageForeignRoutingPolicyRules` settings are now disabled through a drop-in file and thus can only be enabled again by a drop-in file under `/etc/systemd/networkd.conf.d/` because drop-in files take precedence over `/etc/systemd/networkd.conf` ([PR#61](https://github.com/flatcar-linux/init/pull/61))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-02-28-merge-pro-features-into-regular-image.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-02-28-merge-pro-features-into-regular-image.md
new file mode 100644
index 0000000000..1730c3ee55
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-02-28-merge-pro-features-into-regular-image.md
@@ -0,0 +1 @@
+- Merge the Flatcar Pro features into the regular Flatcar images ([#1679](https://github.com/flatcar-linux/coreos-overlay/pull/1679))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-03-01-cgroupv1.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-03-01-cgroupv1.md
new file mode 100644
index 0000000000..37ef4534ba
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-03-01-cgroupv1.md
@@ -0,0 +1 @@
+- Added support for switching back to CGroupsV1 without requiring a reboot. Create `/etc/flatcar-cgroupv1` through ignition. ([PR#1666](https://github.com/flatcar-linux/coreos-overlay/pull/1666))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-03-22-fips.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-03-22-fips.md
new file mode 100644
index 0000000000..fd86567f6e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-03-22-fips.md
@@ -0,0 +1 @@
+- Enabled FIPS mode for cryptsetup ([flatcar-linux/coreos-overlay#1747](https://github.com/flatcar-linux/coreos-overlay/pull/1747))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-04-07-google-gve.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-04-07-google-gve.md
new file mode 100644
index 0000000000..1273d09105
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-04-07-google-gve.md
@@ -0,0 +1 @@
+- GCE: Enabled GVE kernel driver, which adds support for Google Virtual NIC on GCP ([PR#1802](https://github.com/flatcar-linux/coreos-overlay/pull/1802))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-04-20-mantle-sdk.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-04-20-mantle-sdk.md
new file mode 100644
index 0000000000..ff8b6b17e4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-04-20-mantle-sdk.md
@@ -0,0 +1 @@
+- SDK: Dropped the mantle binaries (kola, ore, etc.) from the SDK, they are now provided by the `ghcr.io/flatcar-linux/mantle` image ([PR#1827](https://github.com/flatcar-linux/coreos-overlay/pull/1827), [PR#275](https://github.com/flatcar-linux/scripts/pull/275))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-06-16-kubernetes.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-06-16-kubernetes.md
new file mode 100644
index 0000000000..d615197052
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-06-16-kubernetes.md
@@ -0,0 +1 @@
+- Enabled `containerd.service` unit, `br_netfilter` and `overlay` modules by default to follow Kubernetes requirements ([coreos-overlay#1944](https://github.com/flatcar-linux/coreos-overlay/pull/1944), [init#72](https://github.com/flatcar-linux/init/pull/72))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-08-11-new-image-signing-subkey.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-08-11-new-image-signing-subkey.md
new file mode 100644
index 0000000000..6a37f7604b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-08-11-new-image-signing-subkey.md
@@ -0,0 +1 @@
+- The new image signing subkey was added to the public key embedded into `flatcar-install` (the old expired on 10th August 2022), only an updated `flatcar-install` script can verify releases signed with the new key ([init#79](https://github.com/flatcar-linux/init/pull/79))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-09-08-emerge-gitclone.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-09-08-emerge-gitclone.md
new file mode 100644
index 0000000000..d398ca6ad9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2022-09-08-emerge-gitclone.md
@@ -0,0 +1 @@
+- emerge-gitclone: Migrate emerge-gitclone to use scripts repo tags and submodule refs
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/changes/2023-03-09-image-signing-key.md b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2023-03-09-image-signing-key.md
new file mode 100644
index 0000000000..2d7ed5d8a0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/changes/2023-03-09-image-signing-key.md
@@ -0,0 +1 @@
+- Added new image signing pub key to `flatcar-install`, needed for download verification of releases built from July 2023 onwards, if you have copies of `flatcar-install` or the image signing pub key, you need to update them as well ([init#92](https://github.com/flatcar/init/pull/92))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/.gitkeep b/sdk_container/src/third_party/coreos-overlay/changelog/security/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2021-11-30-CVE-2020-14040.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2021-11-30-CVE-2020-14040.md
new file mode 100644
index 0000000000..030eafeea8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2021-11-30-CVE-2020-14040.md
@@ -0,0 +1 @@
+- [CVE-2020-14040](https://nvd.nist.gov/vuln/detail/CVE-2020-14040)
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2021-12-03-torcx-golang-crypto-text.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2021-12-03-torcx-golang-crypto-text.md
new file mode 100644
index 0000000000..f96bef56c7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2021-12-03-torcx-golang-crypto-text.md
@@ -0,0 +1 @@
+- torcx ([CVE-2021-38561](https://nvd.nist.gov/vuln/detail/CVE-2021-38561), [CVE-2021-43565](https://nvd.nist.gov/vuln/detail/CVE-2021-43565))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2021-12-09-golang-1.17.5.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2021-12-09-golang-1.17.5.md
new file mode 100644
index 0000000000..dbdcb40761
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2021-12-09-golang-1.17.5.md
@@ -0,0 +1,2 @@
+- [CVE-2021-44716](https://nvd.nist.gov/vuln/detail/CVE-2021-44716)
+- [CVE-2021-44717](https://nvd.nist.gov/vuln/detail/CVE-2021-44717)
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-01-07-containerd-1.5.9.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-01-07-containerd-1.5.9.md
new file mode 100644
index 0000000000..f7b0a6b4bd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-01-07-containerd-1.5.9.md
@@ -0,0 +1 @@
+- [CVE-2021-43816](https://nvd.nist.gov/vuln/detail/CVE-2021-43816)
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-01-27-polkit.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-01-27-polkit.md
new file mode 100644
index 0000000000..f930a00379
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-01-27-polkit.md
@@ -0,0 +1 @@
+- polkit ([CVE-2021-4034](https://nvd.nist.gov/vuln/detail/CVE-2021-4034))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-01-28-glibc-2.33-r10.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-01-28-glibc-2.33-r10.md
new file mode 100644
index 0000000000..61d88af1f4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-01-28-glibc-2.33-r10.md
@@ -0,0 +1 @@
+- glibc ([CVE-2021-3998](https://nvd.nist.gov/vuln/detail/CVE-2021-3998), [CVE-2021-3999](https://nvd.nist.gov/vuln/detail/CVE-2021-3999), [CVE-2022-23218](https://nvd.nist.gov/vuln/detail/CVE-2022-23218), [CVE-2022-23219](https://nvd.nist.gov/vuln/detail/CVE-2022-23219))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-02-14-go-1.17.7.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-02-14-go-1.17.7.md
new file mode 100644
index 0000000000..64ffd2b669
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-02-14-go-1.17.7.md
@@ -0,0 +1 @@
+- go ([CVE-2022-23806](https://nvd.nist.gov/vuln/detail/CVE-2022-23806), [CVE-2022-23772](https://nvd.nist.gov/vuln/detail/CVE-2022-23772), [CVE-2022-23773](https://nvd.nist.gov/vuln/detail/CVE-2022-23773))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-02-17-nvidia-drivers-510.47.03.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-02-17-nvidia-drivers-510.47.03.md
new file mode 100644
index 0000000000..83bf231a6f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-02-17-nvidia-drivers-510.47.03.md
@@ -0,0 +1 @@
+- nvidia-drivers ([CVE-2022-21814](https://nvd.nist.gov/vuln/detail/CVE-2022-21814), [CVE-2022-21813](https://nvd.nist.gov/vuln/detail/CVE-2022-21813))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-11-go-1.17.8.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-11-go-1.17.8.md
new file mode 100644
index 0000000000..28ed4e09f9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-11-go-1.17.8.md
@@ -0,0 +1 @@
+- go ([CVE-2022-24921](https://nvd.nist.gov/vuln/detail/CVE-2022-24921))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-14-systemd-249.10.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-14-systemd-249.10.md
new file mode 100644
index 0000000000..db779a8f8c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-14-systemd-249.10.md
@@ -0,0 +1 @@
+- systemd ([CVE-2021-3997](https://nvd.nist.gov/vuln/detail/CVE-2021-3997))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-16-containerd-1.5.10.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-16-containerd-1.5.10.md
new file mode 100644
index 0000000000..cfeab84903
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-16-containerd-1.5.10.md
@@ -0,0 +1 @@
+- containerd ([CVE-2022-23648](https://nvd.nist.gov/vuln/detail/CVE-2022-23648))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-16-openssl.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-16-openssl.md
new file mode 100644
index 0000000000..df73230713
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-16-openssl.md
@@ -0,0 +1 @@
+- openssl ([CVE-2022-0778](https://nvd.nist.gov/vuln/detail/CVE-2022-0778))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-24-containerd-1.5.11.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-24-containerd-1.5.11.md
new file mode 100644
index 0000000000..72ec0a4252
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-03-24-containerd-1.5.11.md
@@ -0,0 +1 @@
+- containerd ([CVE-2022-24769](https://nvd.nist.gov/vuln/detail/CVE-2022-24769))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-05-06-torcx-golang-crypto.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-05-06-torcx-golang-crypto.md
new file mode 100644
index 0000000000..503cf22ab2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-05-06-torcx-golang-crypto.md
@@ -0,0 +1 @@
+- torcx ([CVE-2022-27191](https://nvd.nist.gov/vuln/detail/CVE-2022-27191))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-06-13-containerd-1.5.13.md b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-06-13-containerd-1.5.13.md
new file mode 100644
index 0000000000..c97dc4b244
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/security/2022-06-13-containerd-1.5.13.md
@@ -0,0 +1 @@
+- containerd ([CVE-2022-31030](https://nvd.nist.gov/vuln/detail/CVE-2022-31030))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/.gitkeep b/sdk_container/src/third_party/coreos-overlay/changelog/updates/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-03-golang-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-03-golang-update.md
new file mode 100644
index 0000000000..60783397e2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-03-golang-update.md
@@ -0,0 +1 @@
+- Go ([1.17.4](https://go.googlesource.com/go/+/refs/tags/go1.17.4))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-06-ca-certificates-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-06-ca-certificates-update.md
new file mode 100644
index 0000000000..944d052880
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-06-ca-certificates-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.73](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_73.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-06-runc-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-06-runc-update.md
new file mode 100644
index 0000000000..9e46f2d86b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-06-runc-update.md
@@ -0,0 +1 @@
+- runc ([1.0.3](https://github.com/opencontainers/runc/releases/tag/v1.0.3))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-09-golang-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-09-golang-update.md
new file mode 100644
index 0000000000..e17ec77eef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-09-golang-update.md
@@ -0,0 +1 @@
+- Go ([1.17.5](https://go.googlesource.com/go/+/refs/tags/go1.17.5))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-09-linux-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-09-linux-update.md
new file mode 100644
index 0000000000..531426f5e4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-09-linux-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.84](https://lwn.net/Articles/878041))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-15-docker-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-15-docker-update.md
new file mode 100644
index 0000000000..5cac3b1a13
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-15-docker-update.md
@@ -0,0 +1 @@
+- Docker ([20.10.12](https://docs.docker.com/engine/release-notes/#201012))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-20-ca-certificates-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-20-ca-certificates-update.md
new file mode 100644
index 0000000000..ada326ed28
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-20-ca-certificates-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.73.1](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_73_1.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-21-linux-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-21-linux-update.md
new file mode 100644
index 0000000000..b6586dae07
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-21-linux-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.87](https://lwn.net/Articles/879024) (includes [5.10.86](https://lwn.net/Articles/878899), [5.10.85](https://lwn.net/Articles/878632)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-23-linux-firmware-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-23-linux-firmware-update.md
new file mode 100644
index 0000000000..8c8e2b8d1b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2021-12-23-linux-firmware-update.md
@@ -0,0 +1 @@
+- Linux Firmware ([20211216](https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tag/?h=20211216))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-03-linux-5.10.89-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-03-linux-5.10.89-update.md
new file mode 100644
index 0000000000..5720f8bbd4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-03-linux-5.10.89-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.89](https://lwn.net/Articles/879998) (includes [5.10.88](https://lwn.net/Articles/879497)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-06-linux-5.10.90-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-06-linux-5.10.90-update.md
new file mode 100644
index 0000000000..32f14f0fc8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-06-linux-5.10.90-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.90](https://lwn.net/Articles/880468))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-07-containerd-1.5.9-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-07-containerd-1.5.9-update.md
new file mode 100644
index 0000000000..f50bb32247
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-07-containerd-1.5.9-update.md
@@ -0,0 +1 @@
+- containerd ([1.5.9](https://github.com/containerd/containerd/releases/tag/v1.5.9))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-10-ca-certificates-3.74-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-10-ca-certificates-3.74-update.md
new file mode 100644
index 0000000000..33e4e716a8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-10-ca-certificates-3.74-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.74](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_74.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-10-golang-1.17.6-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-10-golang-1.17.6-update.md
new file mode 100644
index 0000000000..11d16ecc0a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-10-golang-1.17.6-update.md
@@ -0,0 +1 @@
+- Go ([1.17.6](https://go.googlesource.com/go/+/refs/tags/go1.17.6))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-12-linux-5.10.91-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-12-linux-5.10.91-update.md
new file mode 100644
index 0000000000..d5d088d509
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-12-linux-5.10.91-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.91](https://lwn.net/Articles/881017))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-17-linux-5.10.92-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-17-linux-5.10.92-update.md
new file mode 100644
index 0000000000..82f3c80554
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-17-linux-5.10.92-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.92](https://lwn.net/Articles/881549))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-21-linux-5.10.93-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-21-linux-5.10.93-update.md
new file mode 100644
index 0000000000..20f6c08ff1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-21-linux-5.10.93-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.93](https://lwn.net/Articles/881964))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-28-linux-5.10.94-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-28-linux-5.10.94-update.md
new file mode 100644
index 0000000000..867a4d81cb
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-28-linux-5.10.94-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.94](https://lwn.net/Articles/882912/))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-30-linux-5.10.95-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-30-linux-5.10.95-update.md
new file mode 100644
index 0000000000..b881c98196
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-01-30-linux-5.10.95-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.95](https://lwn.net/Articles/883327/))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-02-linux-5.10.96-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-02-linux-5.10.96-update.md
new file mode 100644
index 0000000000..d35e083eb9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-02-linux-5.10.96-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.96](https://lwn.net/Articles/883442))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-07-ca-certificates-3.75-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-07-ca-certificates-3.75-update.md
new file mode 100644
index 0000000000..5b1595a5dd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-07-ca-certificates-3.75-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.75](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_75.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-09-linux-5.10.99-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-09-linux-5.10.99-update.md
new file mode 100644
index 0000000000..8d1e32859d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-09-linux-5.10.99-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.99](https://lwn.net/Articles/884109) (includes [5.10.98](https://lwn.net/Articles/883957), [5.10.97](https://lwn.net/Articles/883952)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-09-walinuxagent.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-09-walinuxagent.md
new file mode 100644
index 0000000000..7a894d3964
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-09-walinuxagent.md
@@ -0,0 +1 @@
+- WALinuxAgent ([2.6.0.2](https://github.com/Azure/WALinuxAgent/releases/tag/v2.6.0.2))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-12-linux-5.10.100-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-12-linux-5.10.100-update.md
new file mode 100644
index 0000000000..197504c766
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-12-linux-5.10.100-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.100](https://lwn.net/Articles/884528))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-14-golang-1.17.7-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-14-golang-1.17.7-update.md
new file mode 100644
index 0000000000..eecbaa23d9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-14-golang-1.17.7-update.md
@@ -0,0 +1 @@
+- Go ([1.17.7](https://go.googlesource.com/go/+/refs/tags/go1.17.7))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-17-linux-5.10.101-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-17-linux-5.10.101-update.md
new file mode 100644
index 0000000000..c0e7f396dd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-17-linux-5.10.101-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.101](https://lwn.net/Articles/884974))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-17-nvidia-drivers-510.47.03.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-17-nvidia-drivers-510.47.03.md
new file mode 100644
index 0000000000..e376ea50f7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-17-nvidia-drivers-510.47.03.md
@@ -0,0 +1 @@
+- nvidia-drivers ([510.47.03](https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-510-47-03/index.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-24-linux-5.10.102-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-24-linux-5.10.102-update.md
new file mode 100644
index 0000000000..d697fb1bff
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-02-24-linux-5.10.102-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.102](https://lwn.net/Articles/885896))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-07-ca-certificates-3.76-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-07-ca-certificates-3.76-update.md
new file mode 100644
index 0000000000..127a94bff8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-07-ca-certificates-3.76-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.76](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_76.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-07-golang-1.17.8-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-07-golang-1.17.8-update.md
new file mode 100644
index 0000000000..4e14e9cb59
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-07-golang-1.17.8-update.md
@@ -0,0 +1 @@
+- Go ([1.17.8](https://go.googlesource.com/go/+/refs/tags/go1.17.8))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-09-linux-5.10.104-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-09-linux-5.10.104-update.md
new file mode 100644
index 0000000000..0eb564677f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-09-linux-5.10.104-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.104](https://lwn.net/Articles/887220) (includes [5.10.103](https://lwn.net/Articles/886570)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-12-linux-5.10.105-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-12-linux-5.10.105-update.md
new file mode 100644
index 0000000000..3f6782369c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-12-linux-5.10.105-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.105](https://lwn.net/Articles/887639))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-14-systemd-249.10-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-14-systemd-249.10-update.md
new file mode 100644
index 0000000000..cc01b90e41
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-14-systemd-249.10-update.md
@@ -0,0 +1 @@
+- systemd ([249.10](https://github.com/systemd/systemd-stable/releases/tag/v249.10))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-16-containerd-1.5.10-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-16-containerd-1.5.10-update.md
new file mode 100644
index 0000000000..a765311360
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-16-containerd-1.5.10-update.md
@@ -0,0 +1 @@
+- containerd ([1.5.10](https://github.com/containerd/containerd/releases/tag/v1.5.10))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-16-openssl.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-16-openssl.md
new file mode 100644
index 0000000000..5fc4d7e8e6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-16-openssl.md
@@ -0,0 +1 @@
+- openssl ([1.1.1n](https://www.openssl.org/news/changelog.html#openssl-111))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-20-linux-5.10.107-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-20-linux-5.10.107-update.md
new file mode 100644
index 0000000000..a7d144e4b1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-20-linux-5.10.107-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.107](https://lwn.net/Articles/888522) (includes [5.10.106](https://lwn.net/Articles/888115)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-24-containerd-1.5.11-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-24-containerd-1.5.11-update.md
new file mode 100644
index 0000000000..ab3112878d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-24-containerd-1.5.11-update.md
@@ -0,0 +1 @@
+- containerd ([1.5.11](https://github.com/containerd/containerd/releases/tag/v1.5.11))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-24-linux-5.10.108-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-24-linux-5.10.108-update.md
new file mode 100644
index 0000000000..fc913732bf
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-24-linux-5.10.108-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.108](https://lwn.net/Articles/889002))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-29-linux-5.10.109-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-29-linux-5.10.109-update.md
new file mode 100644
index 0000000000..fa4870193b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-03-29-linux-5.10.109-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.109](https://lwn.net/Articles/889439))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-04-04-ca-certificates-3.77-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-04-04-ca-certificates-3.77-update.md
new file mode 100644
index 0000000000..5d1abc5e26
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-04-04-ca-certificates-3.77-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.77](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_77.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-06-linux-5.10.113-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-06-linux-5.10.113-update.md
new file mode 100644
index 0000000000..4a7e81dfe3
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-06-linux-5.10.113-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.113](https://lwn.net/Articles/892813) (includes [5.10.112](https://lwn.net/Articles/891997), [5.10.111](https://lwn.net/Articles/891252), [5.10.110](https://lwn.net/Articles/890723)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-09-ca-certificates-3.78-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-09-ca-certificates-3.78-update.md
new file mode 100644
index 0000000000..d62ea9bfbd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-09-ca-certificates-3.78-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.78](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_78.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-16-linux-5.10.116-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-16-linux-5.10.116-update.md
new file mode 100644
index 0000000000..6b26f9d230
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-16-linux-5.10.116-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.116](https://lwn.net/Articles/895319) (includes [5.10.115](https://lwn.net/Articles/895071), [5.10.114](https://lwn.net/Articles/894358)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-19-linux-5.10.117-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-19-linux-5.10.117-update.md
new file mode 100644
index 0000000000..0d8ed65917
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-19-linux-5.10.117-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.117](https://lwn.net/Articles/895646))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-26-linux-5.10.118-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-26-linux-5.10.118-update.md
new file mode 100644
index 0000000000..8bab922618
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-26-linux-5.10.118-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.118](https://lwn.net/Articles/896220))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-31-linux-5.10.119-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-31-linux-5.10.119-update.md
new file mode 100644
index 0000000000..42717dae22
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-05-31-linux-5.10.119-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.119](https://lwn.net/Articles/896648))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-02-ca-certificates-3.79-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-02-ca-certificates-3.79-update.md
new file mode 100644
index 0000000000..8650bb0a1d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-02-ca-certificates-3.79-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.79](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_79.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-13-containerd-1.5.13-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-13-containerd-1.5.13-update.md
new file mode 100644
index 0000000000..69051db77d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-13-containerd-1.5.13-update.md
@@ -0,0 +1 @@
+- containerd ([1.5.13](https://github.com/containerd/containerd/releases/tag/v1.5.13))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-15-linux-5.10.122-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-15-linux-5.10.122-update.md
new file mode 100644
index 0000000000..dd844e5b7e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-15-linux-5.10.122-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.122](https://lwn.net/Articles/897903) (includes [5.10.121](https://lwn.net/Articles/897378), [5.10.120](https://lwn.net/Articles/897168)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-17-linux-5.10.123-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-17-linux-5.10.123-update.md
new file mode 100644
index 0000000000..48e9346f92
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-17-linux-5.10.123-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.123](https://lwn.net/Articles/898125))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-27-ca-certificates-3.80-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-27-ca-certificates-3.80-update.md
new file mode 100644
index 0000000000..e671efb4b8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-27-ca-certificates-3.80-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.80](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_80.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-28-linux-5.10.126-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-28-linux-5.10.126-update.md
new file mode 100644
index 0000000000..4607a3fd52
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-28-linux-5.10.126-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.126](https://lwn.net/Articles/899121) (includes [5.10.125](https://lwn.net/Articles/899090), [5.10.124](https://lwn.net/Articles/898623)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-30-linux-5.10.127-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-30-linux-5.10.127-update.md
new file mode 100644
index 0000000000..97f3f122db
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-06-30-linux-5.10.127-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.127](https://lwn.net/Articles/899371))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-03-linux-5.10.128-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-03-linux-5.10.128-update.md
new file mode 100644
index 0000000000..ab54b55f4e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-03-linux-5.10.128-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.128](https://lwn.net/Articles/899789))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-13-linux-5.10.130-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-13-linux-5.10.130-update.md
new file mode 100644
index 0000000000..2d320f6012
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-13-linux-5.10.130-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.130](https://lwn.net/Articles/900910) (includes [5.10.129](https://lwn.net/Articles/900322)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-16-linux-5.10.131-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-16-linux-5.10.131-update.md
new file mode 100644
index 0000000000..8cb900e7aa
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-16-linux-5.10.131-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.131](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tag/?h=v5.10.131))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-22-linux-5.10.132-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-22-linux-5.10.132-update.md
new file mode 100644
index 0000000000..9ba5628166
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-22-linux-5.10.132-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.132](https://lwn.net/Articles/902102))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-25-ca-certificates-3.81-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-25-ca-certificates-3.81-update.md
new file mode 100644
index 0000000000..dd30dc48de
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-25-ca-certificates-3.81-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.81](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_81.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-30-linux-5.10.134-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-30-linux-5.10.134-update.md
new file mode 100644
index 0000000000..8887de7ccd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-07-30-linux-5.10.134-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.134](https://lwn.net/Articles/902918) (includes [5.10.133](https://lwn.net/Articles/902372)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-04-linux-5.10.135-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-04-linux-5.10.135-update.md
new file mode 100644
index 0000000000..5c269dd84f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-04-linux-5.10.135-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.135](https://lwn.net/Articles/903689))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-12-linux-5.10.136-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-12-linux-5.10.136-update.md
new file mode 100644
index 0000000000..61957819ee
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-12-linux-5.10.136-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.136](https://lwn.net/Articles/904462))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-22-ca-certificates-3.82-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-22-ca-certificates-3.82-update.md
new file mode 100644
index 0000000000..284a995296
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-22-ca-certificates-3.82-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.82](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_82.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-22-linux-5.10.137-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-22-linux-5.10.137-update.md
new file mode 100644
index 0000000000..31c7d05232
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-08-22-linux-5.10.137-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.137](https://lwn.net/Articles/905534))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-01-linux-5.10.140-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-01-linux-5.10.140-update.md
new file mode 100644
index 0000000000..3eca0be93b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-01-linux-5.10.140-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.140](https://lwn.net/Articles/906628) (includes [5.10.139](https://lwn.net/Articles/906359), [5.10.138](https://lwn.net/Articles/906062)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-13-linux-5.10.142-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-13-linux-5.10.142-update.md
new file mode 100644
index 0000000000..69e21af2ed
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-13-linux-5.10.142-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.142](https://lwn.net/Articles/907525) (includes [5.10.141](https://lwn.net/Articles/907205)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-14-locksmith.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-14-locksmith.md
new file mode 100644
index 0000000000..ab265e79f6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-14-locksmith.md
@@ -0,0 +1 @@
+- locksmith([0.7.0](https://github.com/flatcar/locksmith/blob/v0.7.0/CHANGELOG.md#v070--30112021))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-19-ca-certificates-3.83-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-19-ca-certificates-3.83-update.md
new file mode 100644
index 0000000000..4adee883c2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-09-19-ca-certificates-3.83-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.83](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_83.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-10-17-ca-certificates-3.84-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-10-17-ca-certificates-3.84-update.md
new file mode 100644
index 0000000000..89cbe646fd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-10-17-ca-certificates-3.84-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.84](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_84.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-10-18-linux-5.10.149-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-10-18-linux-5.10.149-update.md
new file mode 100644
index 0000000000..61c1980dfd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-10-18-linux-5.10.149-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.149](https://lwn.net/Articles/911488) (includes [5.10.148](https://lwn.net/Articles/911276), [5.10.147](https://lwn.net/Articles/910399), [5.10.146](https://lwn.net/Articles/909680), [5.10.145](https://lwn.net/Articles/909213), [5.10.144](https://lwn.net/Articles/908783), [5.10.143](https://lwn.net/Articles/908141)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-11-04-linux-5.10.153-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-11-04-linux-5.10.153-update.md
new file mode 100644
index 0000000000..712db5cc2f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-11-04-linux-5.10.153-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.153](https://lwn.net/Articles/913682) (includes [5.10.152](https://lwn.net/Articles/913110), [5.10.151](https://lwn.net/Articles/912993), [5.10.150](https://lwn.net/Articles/912501)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-11-11-linux-5.10.154-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-11-11-linux-5.10.154-update.md
new file mode 100644
index 0000000000..7c181a6fa5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-11-11-linux-5.10.154-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.154](https://lwn.net/Articles/914423))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-11-14-ca-certificates-3.85-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-11-14-ca-certificates-3.85-update.md
new file mode 100644
index 0000000000..19525ed265
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-11-14-ca-certificates-3.85-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.85](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_85.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-12-03-linux-5.10.157-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-12-03-linux-5.10.157-update.md
new file mode 100644
index 0000000000..53edfb2856
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-12-03-linux-5.10.157-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.157](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tag/?h=v5.10.157) (includes [5.10.156](https://lwn.net/Articles/915992), [5.10.155](https://lwn.net/Articles/915101)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-12-12-ca-certificates-3.86-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-12-12-ca-certificates-3.86-update.md
new file mode 100644
index 0000000000..f90a1e7838
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2022-12-12-ca-certificates-3.86-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.86](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_86.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-01-09-ca-certificates-3.87-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-01-09-ca-certificates-3.87-update.md
new file mode 100644
index 0000000000..c544c6e34f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-01-09-ca-certificates-3.87-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.87](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_87.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-01-19-linux-5.10.164-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-01-19-linux-5.10.164-update.md
new file mode 100644
index 0000000000..c2d5106a08
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-01-19-linux-5.10.164-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.164](https://lwn.net/Articles/920319) (includes [5.10.163](https://lwn.net/Articles/920013), [5.10.162](https://lwn.net/Articles/919055), [5.10.161](https://lwn.net/Articles/918330), [5.10.160](https://lwn.net/Articles/918207), [5.10.159](https://lwn.net/Articles/917899), [5.10.158](https://lwn.net/Articles/917402)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-02-13-ca-certificates-3.88.1-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-02-13-ca-certificates-3.88.1-update.md
new file mode 100644
index 0000000000..8f0d11ee93
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-02-13-ca-certificates-3.88.1-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.88.1](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_88_1.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-03-04-linux-5.10.172-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-03-04-linux-5.10.172-update.md
new file mode 100644
index 0000000000..11b6da4d89
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-03-04-linux-5.10.172-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.172](https://lwn.net/Articles/925079) (includes [5.10.171](https://lwn.net/Articles/925065), [5.10.170](https://lwn.net/Articles/924440), [5.10.169](https://lwn.net/Articles/924074), [5.10.168](https://lwn.net/Articles/923395), [5.10.167](https://lwn.net/Articles/922341), [5.10.166](https://lwn.net/Articles/921852), [5.10.165](https://lwn.net/Articles/921030)))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-03-13-ca-certificates-3.89-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-03-13-ca-certificates-3.89-update.md
new file mode 100644
index 0000000000..39fa5965f4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-03-13-ca-certificates-3.89-update.md
@@ -0,0 +1 @@
+- ca-certificates ([3.89](https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_89.html))
diff --git a/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-04-06-linux-5.10.177-update.md b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-04-06-linux-5.10.177-update.md
new file mode 100644
index 0000000000..2b7cfaee1b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/changelog/updates/2023-04-06-linux-5.10.177-update.md
@@ -0,0 +1 @@
+- Linux ([5.10.177](https://lwn.net/Articles/928342) (includes [5.10.176](https://lwn.net/Articles/926874), [5.10.175](https://lwn.net/Articles/926416), [5.10.174](https://lwn.net/Articles/925992), [5.10.173](https://lwn.net/Articles/925935)))
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest
new file mode 100644
index 0000000000..9c3072becb
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest
@@ -0,0 +1,208 @@
+DIST adler32-1.0.3.crate 5734 BLAKE2B 31cd43d1e13b5e854a195824084dc34a157ef59cccabaa335cfba2de532096046bbb66a9fce2430979b243509d608bfef752c46d80bdcc7e420e039269d575a3 SHA512 2128cc34abc74a363b18eec5abf414b95e4d84bfd99b6508ac807e13c026ad0e37e67b5a8c429212b85e78071f03e0df24ee70db5995772c4bc78acfb0234459
+DIST aho-corasick-0.6.9.crate 25979 BLAKE2B a1bbec11c322d20d435d8683151b144e31f04b07ca47fc1c8128464533256f4004c8d346fe59a1e1c41be5609fdf768fad5f1afa5df94d1a02ced5c4f02c4bac SHA512 8dfc817b435d8a44fb4ca79bb20e283659c2fe9a75a4892389958f5880acc436bbe32552098429f15585ee025d064fdb5806b814f0e9d67a4261ffd23852172b
+DIST ansi_term-0.11.0.crate 17087 BLAKE2B 9bd35c045a01ce4c6c4a5db1b4f15e9412bb97426eec19d4421dffbec633de8d13452c13c1dc1b30998690b78d7ed38311aca700087f13a81f66bd1d5d7300c4 SHA512 a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa
+DIST arrayvec-0.4.9.crate 26103 BLAKE2B 2f3885f5c71e8965c7078224c6d9cc58f328329165df6e880b0c1884952eeec7ac18dab193d09c2332e7fd72fb078d054cadd0c24de234dea5bdac9dc21c4831 SHA512 a15499426d076976b33c7d32c73fdc8f8bc100cd2789f9cc760ea17c270394737c205d72d3615e758b70b3689ddfd8072cd7c37f46cdb23d6cf4f1a79675467e
+DIST atty-0.2.11.crate 5916 BLAKE2B e502c23faaa9dd27cc5865b68a721b0403071edb483fca0c745707f4c0ca1b1787b5677b2d8ad7f327b8f5588ba784126ce78496c1db54f7ca4ce0ccea669499 SHA512 9d6417dc1e8abdb4969418525b36c451274fd76769adb57bef9875ef62ef521c50d58626ebc4f96d2bea32cbadb6999fd67653b570293d7253b403b6d0736c79
+DIST autocfg-1.0.1.crate 12908 BLAKE2B 40c53cab298e4f26634c3acff3ece6a3371188d91dbf377ed664eabedcde20536edaa93daf406618f37edde019f049a6e7b9a47f627344587dbd126bee2b5e3a SHA512 630b348acb98b012e97804e6325d03c89abc22f2157762c59144c04e6c733daf550bdc7f0fe0b9f3b50e15dae8c1c3c4bdfce3d805b02f0fc987311f5332419b
+DIST base64-0.10.1.crate 41988 BLAKE2B 6e28a70cc0d5e426d9a3944825952851928ec2e32fa2543a8e1d1b886ad306f38fd6e673da62e96581e56613f133265feeff5b0d2f1e2e34593e58c0424eee9e SHA512 674a8cbee95a41f755499a4e3bb93ebd3f80140c3e8e2d44a0b73890ee423754e7ba8abcd92132683cd54501ff5d14438d023a202eaf12776aecbe36df9e5535
+DIST base64-0.9.3.crate 37993 BLAKE2B c0943b223d0d35438c647aa53fec5f85e65a78a5d272e4c65865bf182607b44c45b3ed1a0353e081a9dc5d9f4c9cda6cc6b8d68929a2676a512a7907cc94d8b6 SHA512 4790e4de201123e7b3e3c8a574c92089e38900a67f1bb4868987da4088785ea05e4258559c1c32be67341c2ba8a19deacd156492d8383949e1c9a6ae218b7eeb
+DIST bitflags-0.5.0.crate 10940 BLAKE2B 69d9f52d1dfbec986034981f4629022b25b94c01d54424ae2399a0749c51f0f1c725ca312cfb3f953efc95732b7ca32e432e29b1e5bbba416cb4e0c21a266546 SHA512 220511ed57391bbbd4c8828cf485aed25d078a1cad6305367939072383e48468d545550002398a288d30d8501b9232fb9a91e7a3651f67103991677b9f25de0c
+DIST bitflags-0.7.0.crate 10851 BLAKE2B 00a4e2b66275d6fc8a7374aeec275b5fdf0e2c197e7e90e56afe89ac45554d14ba2063aa26a486dd88d822939b6ea5a5b40936d45d8717e2a98e95ba1d3f501f SHA512 fdfe472c26e5486d1a3f1bfe5a27d26678781235c6e14b49bdb75388359cb78841f38d794fc4557548581a80a10b715d8840182c9ca3316049984a6b9f35b3c0
+DIST bitflags-1.0.4.crate 15282 BLAKE2B 63f5feb47460c344983cef8822804b1c4ac2f3adfffcf206df2b05fafb9c7bfd73986721cde46705a3e4a0dc72a40683e4d369f2339adfc1b55208bad1766875 SHA512 81850d2be62eabb8486024ab263da67e6eb8ebfa732cac3a5d46a9186c564b2065cba15fa3da468bbd26eaf2b67038680e5de19d5dd99d78f60dae8a1776c8de
+DIST block-buffer-0.7.0.crate 6975 BLAKE2B b601e21e0eb32e463c59d0967387ceba6f545e9914bc0e8acdc8275e38bbef4d1d97c469b5d7206f4e2763e6d0ed60370e1e9b228a44ef03b655dd6097c5591e SHA512 d2550a960960188d88e9a14e2c7f08e1733b5a70935ce374503b6628b743532f750f418dc66a2294834104364ecf9a458b6657f1b7c5e9409bc19aa628e51d2c
+DIST block-padding-0.1.2.crate 7193 BLAKE2B b6f476d933f713d4306dc1e97dcd26841ed0735346868e74aadbc2509bd0a036fad8926e2e5fbaf225979a02676f48adbf33b1a78415003fc08334d3c02f166c SHA512 749a9a39fca583c8747f4f1804eda87cdabcee17130a466e7b0df72ab6ee47d8b3a98f105638b2e2ff3f6e7d38e1473ab63b6ede2b4df627dc3eea64c2028b83
+DIST byte-tools-0.3.0.crate 5442 BLAKE2B 60bb19464eca00aa979e6e0437d3208069e61138d4f1b0aa0da9951d22010f8b9e5779b036c37ea8bcd8997370ac364499807b21587e4a1db9d803c248c173db SHA512 0eef073e4f16bace47c2ce4086f51738a700284092d4c3ee8c420beb9b5a22dea65054d72dcb98769f7c6a9a7993dfadeb0c38a72875b420c7bcae321bf9c52d
+DIST byteorder-1.3.1.crate 20959 BLAKE2B dcc5d3b97a0bd82272616599454673790d64d799b699b9e339feaf1d8a75b64b6f4cde19642d5359babf6c769b14325b89a51d29594f1e8ce48c2190348bd4cf SHA512 b8d8273293f776cf567dbb9357e73a65cfd352461963b2ba202959bb48338f5e14eaebb221f940c09dc0b3214924e40194f6952c32631f20a18030ad22258c25
+DIST bytes-0.4.11.crate 45988 BLAKE2B 617fa9bdd07bf22a6f0089e8acfc44cd1444af07174b7a02a00f21438405620cd2cafb9574d04811464316108a05c60e6066b8d87d6662a5791ecd17a7f8f8d5 SHA512 3a0354981488c354b2aaa664f320b18cfb09ed07a5f74a10f8fc120279d660dc7899306bd01b1b3405fc92eec5de3f6f8e9d6c1e5d4a2374da865d5a8a8405d3
+DIST cc-1.0.26.crate 42350 BLAKE2B 3a31535c6168036179930c8f8a4aab0a52632d733c9e0b54fa8d1e8a5d6c426ffca4e7da55bf23ea9fddb7ca72e6894a1f6a8e9175fc4058a37b7a181afd7bc4 SHA512 f4ab851d2aefce6d9e6b08b2af99e7b6c63238c6ef931d3f7872d79edb139f62627911335b62e8ef0c62f54bec65693a97411487af449b1f750a5b6652c785f1
+DIST cfg-if-0.1.6.crate 7411 BLAKE2B 0a19f5afaa89acfa7877e06e747c1e73af8b8a9886c97a803fc3d61d075b43f3fee6089c67ed28efe70aaf4082fc21dd5b24ea514fb1d761ba3d939dad496fee SHA512 e393816f659bb5b1e64ebc72a4b6e3e673afd00cba302c3c92c6f2e98db341a29197f6cf413107e569175a86aad85e74a93e2cd3a9fa9fa2d1b70b01c3fcf378
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST chrono-0.4.6.crate 133108 BLAKE2B ac9573577f4ea6516007df2f9948f9df4e8170e53119ba7cf1e55592bc594bd1cbf05759ce2baf9b6397b68a72aa9e0518ab0b7a9c63bd043ee4a7a8b81e36b4 SHA512 c869cab6da906d50531476c892510042eeccb3daf790ef13b3014121c805b3f8e23c7a6ffccb3bb11d15a1615e997df4180e41f0140a2c327cc816b94f28976d
+DIST clap-2.33.0.crate 196458 BLAKE2B 3bb62d817afc77b421a6282746b9b61367d224de6b614c7ed66bde452ce1046728077dab3368a46635b5c74d82ba3196586d87c0201478ce5b89638910dadb1a SHA512 f1075031414d48e4340bfe308904a95a31b72460724773c52a0bc8c004e625a04c904a39fc5420cb8c26a633321f9b5f4f69019c7aae5ed89900b63ed8c21a91
+DIST cloudabi-0.0.3.crate 22156 BLAKE2B e12054fd474754031f8f5038d5e2829e1586db974d38230cfd8774db591a58dfdcaea9fb61fc0b35366889d348b2c73ceaabbb462f1abeeffeaab167013c986f SHA512 691ed793e9b35ba382f03897f4c0efc31a528394862a27b814ba8993ad30bbe0ebc9808484baf580e8b69d9c13ad1612776a1efd0f6981545b420139ff83592c
+DIST colored-1.6.1.crate 17671 BLAKE2B 2cef5bf563616a61f42592045fab37cee97ff7651846fd4b70f67445b76819e7025fc41397e4c82b4c229160849e395c92564c838645ea0441190f74bf34304e SHA512 b275491a6688fd2fb8ef395f38d6bbec5ef3d53d9875a41a0ab4ff2d597782c81e580f67c2fb03449a1e6c8ea503d2ae927f492525f34ee621ab3187ac719bf7
+DIST core-foundation-0.5.1.crate 22519 BLAKE2B bc411c7a7bd1dcb00b4f02d75cbdb9d8422c2802cd6a3aebb7ac5136b19756f7ad5e48553e15b6c5a7ff85fa3f4f3fa98e8644a0eb13b4525fe2edd3a5b3daf4 SHA512 209b06bf889ef75451b9d055505dcd19eeb8ed6b6f57f7b3288556ec9be90fbe716175679f7d0a650c1d55644b3c56eee9b1116f2c8b533b4b4580008c79cdb2
+DIST core-foundation-sys-0.5.1.crate 15974 BLAKE2B 5065520f9d7661523edd7018e77d43346f39bcdef407ffe7bafbdec019e39389118b90a11599d5afb4f78c8b454dbf4530a6c81c834fd9952557529f87cdcb0f SHA512 9cb023399eb660ca318c9d3461b9f177206792c3542564d990c08ba4788dc41da2f2c6070f0b55550b2ded0278c3f3d21a159212a20d18c12997658df3df5052
+DIST crc32fast-1.1.2.crate 38312 BLAKE2B 7448304242aba1798491da328eacc326132dd7c8bab21c9909bdd729b9b70eb321d00f992f6c7fc026ed2d0f6a562af1113e45baf61b907b8bdb4412357436e1 SHA512 f0ff5c889a89e0c235ff876d2e0bf50a5c97b85c6f19abbc3d12de26c97e678e784c04cc975be7d008b45fba7ac68c9a129680e37492d77f7a0f433fa895c659
+DIST crossbeam-0.2.12.crate 33349 BLAKE2B 169eae02576d6e7bd038b28be19b5aa9c5cf3606810e473fe5501ac311982734e98f9ad04ab611e737e25230dd9a8c9fbdd8fe1f52e1102c66b0cea51e587cbb SHA512 0fe16e734f3768d1ce267c940b1e3d32c9838f37cd30a985ebf9bf7a83ba2ad43b4830213a14f6ae8d56ea5f0195771a766a886b18aea764f403cd7a0fe40039
+DIST crossbeam-deque-0.6.3.crate 14238 BLAKE2B d6174c2acbc063c389a4a19e5f16f812a56f3d64387eb5f19443924888d4b8ef2524c43352e087fc73c3b2c509ef1f1e6644f278d0e4890638033156d852ffab SHA512 a3248a310c10d09e5a9d394a4e7c571bb75c92c904924fd26b40a55d6fa97c054fa2f1a978ed52263d91b495702c5957dc69aa8793a5c42b4b9e83ac86d4f263
+DIST crossbeam-epoch-0.7.0.crate 34324 BLAKE2B 7dd1644ffe0face5158ec4c888127d6f57cf58b33beab59432ee0774db3cb33184fa2b9e408e6f4fde7bfbc46ec24a951fd247e3909b7593f85002a3503f9b84 SHA512 25eaefa2995ec546a3da2a1bd8554061ef840036fa93e666cd0850b35b217286000fbf605f0f7d5b85ecd0075694afb24b1cb873241c261f3f40b884320fedd9
+DIST crossbeam-utils-0.6.3.crate 22304 BLAKE2B bb2c1cff2806cb7e8eb219d4bd63e4b2444a47f00c08b925bb165622cb1c50147732d939ab0a0e91fa7edbbae6c60cc9f78afbc9f49c3d097e6f5c2db5bf74bd SHA512 3a6df428dc2791a76823be7658905be2c45bb859703bc13e5c1142c4e5c815f2c0bc12da7419370c541afbba8e85c078f0ee0da65c27502972a6187c80b8ee7d
+DIST difference-2.0.0.crate 147616 BLAKE2B d720202ba8d73fb9b3cc6a982208e4fbe22eda4b3e296f4238a7b2d8ed0339827ca5a3d93a983396901614a9eabe36a0baf55ecc5f55075ebf7fa1e4c0699eb2 SHA512 cc9956757770ecf237d8f46abef25ce219193c877be6cf83163e87c494956cca3202951ac01bba0728e7202fcde2261009c1b4599f389cf979858f25936a5482
+DIST digest-0.8.0.crate 9401 BLAKE2B 3b0a6d60551f64b736b31f320244c7fc720908e8093e6c554da4ff82595eb088c0e8be97d25b32c6162b249ca02804cbd45d9655af8ebfdff1445bde4dc703d6 SHA512 b5c4b7d0d1131d2b24fa010839019fa5fc825a88bcda12f4b170b5d7bc93500319895a8c6282eda98be59e880825147f06d21eb9bea43828752cafc998b23e56
+DIST dtoa-0.4.3.crate 14456 BLAKE2B e310c71454a3ebe77e9b3f479b45b8dc15b988823eeea4549198df1ef3dbce05888ca6f34701b27dc5e8c0748d99e03a14af96e4901be740bc98ba1342589ae6 SHA512 e400efb07317fd605e93fad6670bb4569f52abc66139042649a4112ad1eb2bbdf4b819ac5771fae133a60248da7a440e30109e68e919867d3fd29853618d7315
+DIST encoding_rs-0.8.13.crate 1428086 BLAKE2B 9e6401d8878297457aff61e883da1d2c2bb79cd9b415ea656512edf0cef209b594113aee3a871f1b008c24051178b16be64be8bab96e884efbe42458832c76c7 SHA512 aacd303486158bff5bd36b30b4b4b253e929caac2b78706cf23025c6e8426083dbeeae0806b6a0014cadb58f89899978ab34833e352088e13652ad45c1566f6e
+DIST error-chain-0.12.0.crate 27056 BLAKE2B a6d699ae63838d3b0d40a63977642fc464558fd45a46c2da9c7a57889450f7ce183c43dddfbe325c8cf6db2775c1a41f547bfd3802cda5b46d4a09f6e0a91aa5 SHA512 7e9fd94de9f0f8e61039766953d85b3cc5f87be2b8c37016295031ea3234dbcbccd111f521ddaaf97dab7f8ff8c30828b8949958014ef1e13a02544b6143b9e4
+DIST fake-simd-0.1.2.crate 5398 BLAKE2B 40437b18ca7b77258577f518232dcf67e2bf09b64234dc3f02b9eba0c5c1fede8f8d1dc7cbc112ce80e4f0bf317387d1b8046d41a4f83a7c54981fd2b71fc8e2 SHA512 d57242c54ea3283185eaecbf8d96a4c9decbada3ae3aceb516a79710be9bf038a6e06a29b9ba4ebcd41b8f42943a3024a983ea23e36b17edc445a8c4980f2893
+DIST fnv-1.0.6.crate 11131 BLAKE2B 220cf5463749b21e1560419ab9b1f235de08dd548c4a9a7fa6190d9516ce7db884f877b67174ee50b66b22be80d3be73ccafca80e06e94e0fa6e96fbb94475f6 SHA512 f1356b3da25f76cb3ccb4336ff54d4967f1dc7523eae6cba21a4349b8ce563516f6a2aa10d626cd5bb6046b55ac2f246e61e4e526a03fad5e78d0ea174841844
+DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232
+DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a
+DIST fs2-0.4.3.crate 13138 BLAKE2B a8c53130014affc276544360425718c480fe6b6583675e15e8bf25dca0cd2752aeb0793135fce1bdc12bcfc0ef21fb7f6aa298981d61ac150300eb134c2014e0 SHA512 b83fefa9123f304e4813ec1dacbb1aee5dc0c94e1316cd7c8a434aa2a242c9c42523d2bd8232d78e6c84c4e172b5c46ef8605e93b54216a2d4496fdf885dcf50
+DIST fuchsia-zircon-0.3.3.crate 22565 BLAKE2B a4dac3457036efab8f79fe5d5b4545e4091e994d3dc63188f71fafbcc28bf98ef359dcd20add30ac1d990ab2e66159723302fb66697349c65fab0aa58d54535e SHA512 a43ee59452d49742111e506d6bdd8b8399a3a646e08648e25292864d7f71460c1dd1f2d77b8efa8ed09ac21fa4ff0442a2709f16d8833a3849bde0c388d83a93
+DIST fuchsia-zircon-sys-0.3.3.crate 7191 BLAKE2B 530bb5d475ac828843af248c6bbd24ca3b5dd8118c8884ccc6d7261818cff1c79038077114ffa04bc73a078177527824c4d9d20a9b022e4057afee3330258cff SHA512 978b7e8795a5877a68409ed3a1d7b4246263f8e7e7ce9ba8a022643be98f58f329cc1c234717df80a509db849da4394f39e90a8e2a6f56f8fa8dd3c07e7d4386
+DIST futures-0.1.25.crate 158626 BLAKE2B 88b8f274a4cd5673760ec57e0d6a1d92eacc34346b5b81935a1ae8a5f7067c12438af81ce3cc30c57891047683fe9cc395f6dbb8f89e8c2568259448644cf188 SHA512 5bba3ed715e5ecb40450b3911d2f3d469bfd93935c94a526d70c2b6604de7953f8b1e4ed80a276e42870771f581d3c7f0b40dfb9cd076bd215a3dcffc78136b3
+DIST futures-cpupool-0.1.8.crate 10583 BLAKE2B 5832359dc451551a3cb77e48b73054ec1505e28e04b2307af5d8e17a3be9e0552941deaaa94d477082b924daade1a2aeb15a0e095629e29ce983b0788a15251a SHA512 49d7a75e2e0a6a6d2103212a9ad9474119f4f33cf3748b605dfbb461ec822330115cada6bbf6457f2093f4af4cc04b4db63dbab8c0faa8b25ee31fea29f660e6
+DIST generic-array-0.12.0.crate 17977 BLAKE2B 4df0061a5d2da5d352a59842d6de429bb86ae08ba5ee7170877c2d1441912920dbdb505bc30d7d938895c6fadc7e280b3f6f0a6ce7350b15a07f645a98beecde SHA512 ecad969ae86b7370ae0c68b67900216a63d0aaa39c50f541fbcb0c28c31c12f28290ba6d1ead061b563b8e7ccbb8a8867d69d3c57550c41c5627dc93fe7af5b4
+DIST glob-0.2.11.crate 18065 BLAKE2B 8531890ce378023f0119baccd5c556f297128d3f09c07d320d5cdc3c90032447f2e5a4f2fad0097bd3c6faf93b83256b387d232b3c9f9d3c40e54c48245321eb SHA512 91a1a751bc4ed3b13154aa056180f2b8123c33627cbe972bdd7986fb0b6f1ef90e59abd4128d6e4db5e69523d757440c7df9b9721a61f5ea5a091ffc9843e10e
+DIST h2-0.1.14.crate 140365 BLAKE2B 02306283f9be8b881bea55dd1fc1b86e765f4a6e815290b68d93cacaf13a27fc379fa27d9da60c2568f2a0769f7e3fd4871cd6ae09954dda3d40aadc280efc3d SHA512 3aa07eb2da38fc2aefd780193968e4da6be361c25ef0cc0b83dc77ba1eb68f9b9337749135df8ae9db227c1e918193930a562074ea29528edc58d9655398b4d7
+DIST hostname-0.1.5.crate 2365 BLAKE2B c3090105336ec5039b5f3be5ed6bde3883891f4be564987b4ae9152347774c8ae647f9755d50a36be77d2390dedf239c0a9f1b65cc440a0970c5ea3752119a8a SHA512 1b822bc6261cda2a52518c625790878eb4592fbccbea72b503da42322659b8e6c95ccac442753a6cf1d5d612413679221650e0c584bb06162c3b1c89d8bafb02
+DIST http-0.1.14.crate 97027 BLAKE2B 02f83c006d6a9fd4176ad7d564688b81505d8c75cc1ccb7655ea33dadf72f1d13be81408f57626d96752fd53be5819ea197d846b730d3cd36107f2c9e9fcea58 SHA512 7cfc8fe2e3890a0cc430e5bdc8a88afacb185462381c63670acba59607bf89952f823a16c627010bc17e037881b14be5fe2f2ffddf85aeaf781a31f516bcfcf5
+DIST httparse-1.3.3.crate 23689 BLAKE2B 17aac3985a19a3cbcbf1072e134cfa15644367d15186ed924ff7f76205bca42ffa0fa96a46236d7387d599a0153e31d9727d40bf177736bf1ed116adda120225 SHA512 b7c3486fde1ec34c07b317df1ad03be6585c3a114a8abcc593dad4244ba372ff4faca9c25151c5c896609dce72523a9daceebd554efc396a937a0c80f87a2087
+DIST hyper-0.12.18.crate 113003 BLAKE2B 993ea7a744f21e703fd8671ec417bce647fdc8157f155fb83c9313ee0dec079d91329c304ab1bb685ffa499d4aa0e621326df7a8dd6235416d41e3546520f8ab SHA512 a17f47a286c80d2941c5aa3c54843953b3dd2ddc2641e7166595bdbb7bac991b5c1b0d91bca0d12395f8571c2f532087b8ca1452b485fbf72a504724148c425e
+DIST hyper-tls-0.3.1.crate 8836 BLAKE2B c678f9ecb89f51d1beca7ebfcc258162dd6f87d444bf83f6c5b82a28070320bfe9d4b118571b3762ba3803d4fdfdfef70bdd780116154ae95542547ed08abc87 SHA512 3094057eadabd596ce7909c45aa24f6ed5a5dbbce4773fc20293ddf95c712234065253d38422a17e24c3fe674ff94d0bffb95e4034a97dfc46d4402b9add396c
+DIST idna-0.1.5.crate 258735 BLAKE2B 31f2506f76e9bbab68c0da6222db214865dc37994851d91eab8c6e7f0220e6bcebe50ce3a571866bc03f3ad1b337f25c3a02c7e7f1494553d91e85c1bf042950 SHA512 217bc49f667242bd89eff708fef395fd46cfe3d24440bfb76869086fb93805c4f49d718251fb1c35ac40d5588ec98cf8b8b516fda53d6d7fd3da1ab04b0d173a
+DIST indexmap-1.0.2.crate 38255 BLAKE2B 78d99087e4f282fe4e4789c131621bfe5d873be801cc105629aa8932a3e4c8a519180560b0bd83463d808eb3b75194b551e39166260a1b9056e822fac07fed94 SHA512 cfae9d222efcce9ab15c5a8368db2865fbdb6819b4fc317ca0aed55c32ea312b5c5ca13130d4aabf08af1803c34d465a1a1209dabbce37e7a1a911faf5cfcfe8
+DIST iovec-0.1.2.crate 8565 BLAKE2B c1ff225d7e8cb8b7efc2be01763740c4f0c1188a5f1f27c5fd3fc34104b2280bee59915d71812756bfd36832fb807374d531792936ed8a7228d52ab98d622a50 SHA512 3e523bcb8b9891be66398f44c97933d246b7a7fbfc4f315bfda6cdb22ca2786ccc82139ee1b646b4c24f6f50f57fba38f9b1fb7c75e859722e9e9c789b458223
+DIST ipnetwork-0.14.0.crate 12580 BLAKE2B 125321fa04e08983d94f80efc5ccf449214a119557d32e3188d861802e50746a490af3645db06e730b6c4bc97e359d9c1923020c0b7316e5e0fd9e6c669b9ce0 SHA512 28f9a73dd68c967ab285f4cc832011cd66b8e91dae8cfcd7938471c55a2fbeeb78a52778481fd62c8af22d1138c8bba32fd815f7cc8663998b401f329a178d47
+DIST isatty-0.1.9.crate 8009 BLAKE2B 147f6aa986fcf4855d9a07f3d70dc83a0ef9c9f6c197be8ed39623332f75260ba48ca3c8e0cf5a60f81fd13263895a83d5b6173c06c8cb93be01c96a8bc9eb2d SHA512 64283bd77f3987a91f88c1292be94a2efe7ce25d8d617da6da94643c27cda4cef2d9ae121c6f08d4ae2790080486db996b4aa4cea65c49ae4ba56493676e080e
+DIST itoa-0.4.3.crate 11061 BLAKE2B 76ab02d37c62453ddfee00788ed83805c3c57a66120fcd266401806c005bb55c00b90e074a39a0cdf99d8018181c5bd3f7c3a4fffcefcdc762e19191f0a362e6 SHA512 da1d1c988c2c81f37de8d048ca8f8fb8787c48c34e815dc64616368cb787990ae0255cf1a3259f87ad02964c9b3e1e20c759072442c18c7d32db1deac11b52c1
+DIST kernel32-sys-0.2.2.crate 24537 BLAKE2B dfc4a1e31d3ec9e2ac62b890839919fb7fed1444070c1dcd75bb75acfb53556d6cf2eddf5a6639e7852a3df2a0cc715c5ce1d3fc898ef16a1687020d98f715bc SHA512 682bc7c629aefd035966a2873518fd60719121cca7d63d89d6c97ff5306f24d8b5055a3c91b4eedaec22b1d5dd3fb8b48ff7341a05bbd72d86e06c422dab473b
+DIST lazy_static-0.2.11.crate 12361 BLAKE2B 3fe6a480c30a792448a3a2b378e05634ec59603f07baa03c0881fe5af85ecde5a172bb0733e7043fb6c43eabc261635b23410658d48add09eef6d807a750d22f SHA512 c85ac434d1b7d41d638e76a142a43d925b96bdddda112b1abeca1bae160d828262a85cd333d72499fe1dc7ae9574d3db226106acb433328c056028eb8c42bfe6
+DIST lazy_static-1.2.0.crate 10840 BLAKE2B ab0adcf0421131ddd35e95a31a0053e2ffccb03dfc0f46ca4bbb6341f40bdd56d01aed0987489e5e73aa5f7289f3c323d1de0db353a30bb0a75acf53ce8436f8 SHA512 0d80334da99292d68fb2ea9879540676fd45788547b7170b6df1b0a606c1645a07188837f9414196eb44ac63010a3c84fe5c4319478f6fc2cef837295a255edc
+DIST lazycell-1.2.1.crate 11691 BLAKE2B 9b1d6e9ced918aa94dd5dddcd3ffba59116dae922d264180ac36c288d8a6dd9244324a7c3050c5991b216a241e482ee17b2e6d27527b88339b606586128df1f5 SHA512 de74ccd6a3c32c360a12a51ba1d51d6530130396b37d63350a960956ae0ba13e9ac31e2bb70b61ddf055fdfbe7e559b20a38415cac3906839684905a01256ff2
+DIST libc-0.2.47.crate 351491 BLAKE2B 10ff90405b911c40478793cadc9a1962e14eb4d7b4ff758554a225bb87340989bbd6089441eaa2638db93782de7d0faba20f77a7e3569a52cec40ba55eb56c06 SHA512 f0eddcbe456b1ee2da22963585ff689ad44f0f8d70af33d9bec41a1ec5a1b3dee26fbeaa29786792cd44d020fc56461b44bbb2da962662377552fa562b2694f6
+DIST libflate-0.1.19.crate 35247 BLAKE2B 790113e87a0f29234cdacb25f4280a36f0ecfdd4bc5254139b61f09f146932d0b8b8d438580fc7508fdc5cdfc93b524ed2d0b38f5439cf5a33c62aeb1fccad4a SHA512 75b5dca9f4fa5c724ae91236cdd6f9b02543f1717002989eddd1a2e10e9e1f86b70bb6cbdee07090635c4bd3c01dfeee31cbfbe2ec3144596e0b6d4f71108b8c
+DIST lock_api-0.1.5.crate 16967 BLAKE2B c44ebe24fa6074394d0719b293d447ab67a9a23788821f2ba816b5e5b7a6b09d543c630a946b956811dd199144bf43568b52da5ebdd5e8b674e489f9efd2234d SHA512 e6049a8a840c11f00b6505dc9d01d1f759aa7bee47520f86e36caf6c52ca476236b09609b0a5cab0f4c247a40a4736f8fc04cf26fce0962cbbf2956ad4adbfde
+DIST log-0.3.9.crate 16686 BLAKE2B 543a8a2425c88bd3cf00d4cd2b4790ef344f9743b61776d65f1d8aaaa1ee1069933e33aec114a2dcaada5cf698bbd983fb22354aa50bca58b161a36b2f1efc47 SHA512 1d49a0dcff0a17c1238aba6a6cbc485a61986e8c4768805ded912c5014d0fba6ca38c9bd038f3f53900a6309d41fc0216682f137362e63715878195453d2de6f
+DIST log-0.4.6.crate 22303 BLAKE2B 3b1ad5e1cc1cf7bb223df569a6024b5749fdc973bb99a2a1f11772774cb384cc98214366e62d846b57c7d150f925cdf0e906f8113039204a82fbf001ae15133a SHA512 3844c771f97531ae7312c6bb0cf74ccaab94925f68bf1172419cc44fa4b5373f3ac6b42fb6d0ba636a970b295ea5d1b5abbe72b4da67a103e8dc4ed48a0cc5cb
+DIST matches-0.1.8.crate 2216 BLAKE2B f18176110921b1cf6e58d52d12f1d1a3455ce2dc04421fbf1b392f66cdd81a88e924571fa27e307a06301d83b04f3b8a0ca3ae40d2da6f2decb8aac4e2801fbb SHA512 98b58f6a2694b03a7dd1be69ebf7e3ad14483fc8e4cb6e6c26a4937e4e660e843efb4dd04a7312dd9659ca02acd3775678f73b8faac44a76ffafaf873c22f590
+DIST md-5-0.8.0.crate 13122 BLAKE2B cb74805b5b939e4261deb85de94b57ca0b64da03214221437f099dab2c49b1b4c2b1f2a6a8cfe7ea3047d4df41ca9117ff885516de06de298ff4ca416fcc5137 SHA512 f0baae0ede1dddb9be047f8d776fda2819980ece24e86da9d7bc4828308e53c4fa82597d416912ca115e75019518839a8edc076ba1e43686b0023aa559838a28
+DIST memchr-2.1.2.crate 19520 BLAKE2B 4a8409fa4e019ab5cdbfc2787eeebacbbcfd21415d1ea6a3796ef18434ddfad0f63f6df3027eea5d286e08eda892e21cae66e3f25ffee9d6a2a3327b841e5377 SHA512 ba3bad3b911fdd767b6c770209e93dfc367c6228117a5d85bfa95d70ec66df9842f3cf788ac560d1255415dba49028187542000b9a71fbe79ec51a386afda38f
+DIST memoffset-0.2.1.crate 4618 BLAKE2B f04c4e5e1747d5516dff26fb045d91f01a2eea6011974a342c1830ad2aa6b203d5c6cd4db464177797f799197656085f980c00e78d0257efe5d3377188a8b8ee SHA512 4901eca49eb20acc53d1120548925d691d5e0a0ee899f5c26f55f8b997549cea3b819b1f9b4f5495f4bc73fbcaa386cda50cefdc0036c097c4eeca8086568530
+DIST mime-0.3.13.crate 14939 BLAKE2B e522741251fe764f685b5f240da3e32148e54bc0f94a2e234de477d792fb0652748410ae7e625a509706bf9ec635d2528fc14e5d58e576026d8706747fc68f8b SHA512 92805a4eaebb1f6146facf1edd0b9cc710731949141af6bfc2226edb7fbd749b04bd8a921e79c2f4a31b79d11053e36a4b7b9dba9be1405a1174a8600654e320
+DIST mime_guess-2.0.0-alpha.6.crate 17579 BLAKE2B b480910ab11e5709e428433c2ed7b462530fa709cd1fe241eff957b4e337901f42f678c9e5468016a643c0f79755a6158d371eabd9ae8f4a7ca0d852ed846442 SHA512 b32bdea0942443aede186317a7e3b3d2e36e3bda56e43794c040aad6ddc1fb847bd380f514299800e449f188208c218680d4d07f16ab30c9c7cbab02c5245733
+DIST mio-0.6.16.crate 126174 BLAKE2B 34e8634e11959b61abc52842b1c0afe9034cdfbe9923f8a0e65e9d4efdb0c13c46ee5d7272e86595ad8a1d3d9e987dd9b47e1074d7c66cee3f9d889401fdee64 SHA512 ca9290edfdbd4659c686a9f47d7bcd2177001fbfe02ce1fcf6e8aaff4c6e4ba52abb0d698b103337e4587789e7e31945886a90f5e334651d27ac7b109f560c95
+DIST mio-uds-0.6.7.crate 14389 BLAKE2B b01fbe5ba2e2f58d2bc513ef577c70890ab0a556313dc8e980d4f51d4622be9180215e2e9655e3f02aced40823bdf69b94a8b63c6b2624e28cd24fb5dd89b0c4 SHA512 fe16c8702eef599c2379a2b72a0408970c3318e240d6ed59077c7fcae142bfcda4d9e342e3185338671b82719f7c2ab156bb28a54818a54c249216dbb0f8bb04
+DIST miow-0.2.1.crate 21133 BLAKE2B a60f04feb5bd98eaafe6123f7579ffb0287b0a3d1de0dbe1b504141d76dfbc247891eb6dd87753ce5d6e2ae0406387ccc8684a91980c5ef1ad6610c29ec9e3bc SHA512 b2639b1976274b7a01ec3ff7fd019087775e3bc5365101b24db480bf9c9b66e8a1aa34405d44db6c2be753265a5124054eb37870b84cae2c63fb6b36bd5c6d72
+DIST mockito-0.17.0.crate 195558 BLAKE2B 9ea3477f87d8b1389c4875edbe5973fcbe6f17feb0fb1ecd2086cec1eddc24dbf3e7127015fa92f9168b4eb81d998e599bb2534c7d0713954ed3d28d04a24e5d SHA512 c1e7d39bc47f686881aa64f30ae5a4222d009b5eebb58cb6b0fea321385b924289bbecc8849a3eff5086886cc6c305c7771ae0be13a8760c18439c3a826e0f22
+DIST native-tls-0.2.2.crate 29238 BLAKE2B f8407b3989be8c24181cb5134838b2b9532c6e00f310915cb8fb7d92721d3c9ba29c8b92d12d71c02b9862f064a0ec8c819981513a981b47132f7498a3d41f9a SHA512 4bff0f1e1833e46d069818ee53a74eed8d792430d222cccc9aadf28ce57246b3b9901f095d97e3567eddff85f59739ec02e1662955d23bba8060febcd7eecdc9
+DIST net2-0.2.33.crate 20936 BLAKE2B ddbc96e7cc4877b8a66d019e7e65a260379cce19c87bf507701ddf1b00208e7a321d34882282fa650a52f6b9d878605a6fc3be461fbb7e10182dda04a04e5806 SHA512 e522b399071daf1a9b913429e2eee52503d9604114feaf6987e97b85c128246b9137e3dcf03f45ca93d623ca6a4b295c9b703db4c319af47498e07d7714c07a9
+DIST nix-0.13.0.crate 176804 BLAKE2B 4aec3245a1812d0db51b77b65f1a75f039797672f5929d8cf02200a4f6c56f432d6fe9bb313ee160acc86ab7aab59f8e5ef83f25d45a1e024f6e93d24d5feb22 SHA512 6345871b599ea0c4482248d0ff98953e4976d5af85d596d8a1ef739c661e54734f1379f3a6c41162a9e2b8eff1d9dd9a9e3fdef6928ba21eb855bd369a278752
+DIST nodrop-0.1.13.crate 7508 BLAKE2B 6918c8ea7f2b84d1a30e8159ac6cf9d061270bf8cf60fb2ee7c96f9d8a5566f1922a3222f80c769fceedd65637d6ee76a4d45b533d5b02aa0decb8114f6cb11a SHA512 2648c0aec970c99f001dbd8169939731610ccff6433acba8c71c669bea5078613b2a785d3ac5ce5a839fcec714b5bc55f2cc83522ab4cc09560c846f4cf8023e
+DIST num-integer-0.1.39.crate 17881 BLAKE2B 1398b54766719f6fe298fb20489373ef774f1466349bcb96479610c00bb0f6f54b1a794def2841a0bf70558f6e5a080b528071ad5c64baa82bfac084354fa203 SHA512 1e00ef9fe5adcc312b4b8a59923015eb1387d90e6b3d7239b3aabcd83a9e67f2384b3a383d84ce8cdc82a470770f56373a89f0a679727a5fcc8f5bdb1f1209e3
+DIST num-traits-0.2.6.crate 39923 BLAKE2B 7bd781368c553622620f0d62a09f2c82fd26d4e6378ea8fc51b0e655dcf0561701881027f46f7a98da1bc25b777c62ab7338387c776a9e5e3463ea53a7efe922 SHA512 db638c662737972f07bc7ab82b923bece8a6c04719199ec0c7ca90140ac11e4fd1e4eb3748a69ddd3ad2791d4f5f5f69a00ce8aae92a647d9015d130f85b6b4c
+DIST num_cpus-1.9.0.crate 10599 BLAKE2B 2dafafa67a4f187d148019c690c609c01743dbb0a8df77fc2771ae08d288b12a20550d9d582218900e3caf291e0e83e1bacd3b76ae46e6e65b94d5a642235c7e SHA512 8e51f266dfa1b9837f677d41a7edafe3768a9a0fea552ff5e63ca52874d1bf174b7fab018b1a6c130cc33259d0ff81e31d3933a376535f63c28d6da206d05c02
+DIST once_cell-1.8.0.crate 28925 BLAKE2B 7681b1a7497b5711e663773c1a7e076f333c06c10d3f289079a781c36f050c1620cc279742ea8e5b15ec48f3d6038a6079bbda7fee3ae8e1128bd916d53ed43a SHA512 88e55c9433225ce85a08353168c87fca2237615482160a5c28f3ac17f06d48c63e0c21b5f7ef81f82ca133436e371802ea099453844f1c111003bcb6ba89e827
+DIST opaque-debug-0.2.1.crate 5527 BLAKE2B 84911de95f16d5db836408ddfee65b8d08726517cd871199cc7d928843ded8b9e15c9ef7688cb2b4622d73d4b2baf932f4e08e9ec670bcd7566dfd9aa1007f60 SHA512 2910c44134814342479ae916fb3fccfbc71c1e995b6bc3a162457266ff239bd09c124f4e41008a6757dd09fdbd286fe1d31620dccbcad1be77cbda221e12d974
+DIST openssh-keys-0.4.1.crate 17659 BLAKE2B 6da07dc48f0042080cdff7ceeb1b054dd39d9249b07acdceab2fb65d96e4aa665d8a811d6507f7035e8e1e2154e80a84d45b06fdb9c9a41111a994fa22cf7857 SHA512 380f03d0249da01bf04da4797807f13a8a9c1abb44568b1419c83ec887912211beb0ec5a61196d4974c33200cb8b634bea0b139c929957d98657afe82dcae52f
+DIST openssl-0.10.36.crate 206367 BLAKE2B d059480338da28c1e6707db85127bdd4721e931f74bf27d2c8f80315c43cf9c37a977740b9d799a03bb59a1fdf26fc1fd9ef11319863b63ac7b6ba3ddc2c1385 SHA512 bf215f7ccfe24b3f490d516541ac746785853dc61ab6cf023e303275578c206fcb14b6e5001f36de2f71b0a8c48ccb26f4f343c5b88ae38ad2cba12ccc941641
+DIST openssl-probe-0.1.2.crate 6427 BLAKE2B 8df00c8ab6af7887a88dd1672bf2c40c6aed5867b0b8d07dacc94b80591814e2fee4ac5dc775ea0e98cc33641b9eeebb6d5979d34717ba400b907358ceb2a469 SHA512 4001eeea5c4f859559475b4b1df8248611bd44273116b31e7ef775e02918cc989825989868f331f0f0e387787680c1e4ba721ac0fd4695f7363005ccc0815d9a
+DIST openssl-sys-0.9.67.crate 54600 BLAKE2B 8371057756351f2e77e953e2a827e812477fd404a66053047f6a1dd891d5374ff6f6666e3c8af5f858201814d351e72a4473f95ca439c2c0b02e08c89a1ed336 SHA512 cca7edceac5a11f3e3ca0c4c09aada27f94664eb9c7ada4784dc147fdd1c9cbb5eb1ad1ec145957155aff006a21e7c954363c0f72691bcd241cb43dee98b42d1
+DIST owning_ref-0.4.0.crate 12233 BLAKE2B c50343d2bbc99c4c8035e1251c2ab31609e8209fe5b6bbdca8bdb0cc5fe7749ce29ef2aae77c90798e2f2f201e12ad81e6607c34c2797195890b5587178dd194 SHA512 51bb1cb259452f7395bce0ac4e7d2d6f3733dfe7a8a1a46d50179516ef921924f745a248e4816da5e434b589b5956a20ca554f9a93790b2ed1c55451b9b885ba
+DIST parking_lot-0.6.4.crate 31890 BLAKE2B 95024d434bc988a3612d231e83808efc96a4184d059b51a1c2a9c86e661fbd3d75ef284381f0fe168e73a1c811754a6386ff6410ea2e248434e524ff9de54de0 SHA512 e2d91dcddb872d09d1f4a9d7fff21ca53c0c8b15f49e46b68e4a59f2ccffe1e852214860bd99d9407a66e4b6ecf102fb96ad792bb3e9676ecde349d728f16028
+DIST parking_lot_core-0.3.1.crate 26635 BLAKE2B c0da77758b3b4a1a5b7982f1304e3cd74b4345bfe4ab1e9dccfcaee828e1024419fc20c6069efad2ee2dcad0180350d240ae689a5b700e4b47a0b3b3808b6539 SHA512 3cca0091e839cb0b63dd17f989c1d3d196e9706b4adb227f9308cd2b43b68806dfdf0b7ea098592cdc520bff249ddcadf23d0c0a7c23eda179ac11594c26e127
+DIST percent-encoding-1.0.1.crate 10057 BLAKE2B 6dbfea557cb7a604a99b6fa694ed24b1555fec34bfed54503d98fa4b285a91aab1405b7156bd00be0001b10bf15706878b7bfb4f73cc34560166e0e8f004d944 SHA512 6e884d7172e8cadcf6e39056c9f92b70252f56a8062af0e792179dcf990344f47553c04e2fce84841f20f5c28557d7768727f60c862b9876d29cabffd4ad19e9
+DIST phf-0.7.23.crate 3841 BLAKE2B 9b5b3305687626f79c3846f4d24f3d2e8bda91af4284d61ae397ab1fbac1611725f7dad42aa026f6c7c57e23482ffc2e217df5b6736081d3552eec91257b3285 SHA512 8bc773f2c8993a1b2aa3d555fa56cda736b6574b602a3eac5a48faf3d937ba99a140d9d8d98b998caba432d8346364194849947a84df52bb86eb1bead31da8d4
+DIST phf_codegen-0.7.23.crate 2866 BLAKE2B 40260597f05867b579d4d96fa686774a1d7e2e0d59d1adafd1b21c9403718f0c42aa1cd77c6266b7c9805c76ba1bdbc47a3f20bf4db3912df89d569a9c2504db SHA512 64142b8403f5b966ac17dca51bcb52a89cde6d365b5475c3e9aba5e6a808efa6bc9d5eac512dcaf9648ff02af0c2c06aba22b5ea8614b7c32a9a50cb630dfe23
+DIST phf_generator-0.7.23.crate 2219 BLAKE2B 40ed4a207e9eeead6e243911682471a896d75b55cc31f38a508e16389533a4b5ac209557b595331a0cf0f9521f9f8874d2afa44447e406d79a204c3ef4c0a6ac SHA512 0837d40f937f11c2902112f754003fa7465ba710ad86d397b3c33cf949d0b50ce3693030d40a5e1b7bbb21445983cdc63f2f8be615a7d4bdc33ee4d970341671
+DIST phf_shared-0.7.23.crate 2084 BLAKE2B c9299cea4778e0931268a669a558d99a242bc8dc4ba1f558d143e9690509562d917ae4e9cfc86ef7c7a90d73cda00f8668f0c77c0ded473e47d9caaee8f56403 SHA512 ae5036273bf2c724fe7661db59b3b537073b9291d1e20e0e8dc055fb144ea9d19fa769887cc7c6576c52eac47b7cd7075ffe7dbaaa83fccedaf4576223736a25
+DIST pkg-config-0.3.14.crate 13565 BLAKE2B bc457c2bee4034e7b5a5303bddf078e0b3e52018eb7513c5fa610ec9b272b95fab6cbbe35281e86bf0f97883526d91dcf8c156ea83e7dc23da0924a395b6c811 SHA512 bf120f0694f44d7b83b431eb28fe14ef3aca4d08ae0c2c9edbf8f184c145ba3faa479a6ab25e2d7e9f9d9f2d9a3fc21674fd4ddfe88bcc4fadad40bd8285656d
+DIST pnet-0.22.0.crate 24740 BLAKE2B eb99d7de9f5952d89f0ede4d66666384cc2f6e914322a25ece97bf4ac8d794ad1adc21114c1b52e86e3e9637ed13a71363c923c5f5d75656ebf0c410569bd314 SHA512 8d708deb7c22ec45852be5e750c1561a3160bb379968fc2efa409f1bbb75eab6647b9fea870b42fdfbb61d450eb40bc482db4d366d531111adf18c6fadf94bca
+DIST pnet_base-0.22.0.crate 3941 BLAKE2B 142d69ac42371e59202a75f9944c026bfdf64436a68048925a04da612d60246259c6331823d4a1f9fa765c0a195bec9bc8b2da6e5acb33b4f2d1e5cbaf097de6 SHA512 d69a46da5f2e5873c7d5f752b0872f4cd2d1ce7967bdb3c21f6a3add001981cd689c453c8cda252c204df5f6c72f6335fe6e9d1eb6602031d089586072aa5ec6
+DIST pnet_datalink-0.22.0.crate 20961 BLAKE2B 0932fb341ab481184a73d0268634be9c7c4095c5c39910ef1b69e3c9d02e9fef0e6f364c353ce975ad0b85f7d72e3144740e684ee37a8f63d14c9b5c3160d48f SHA512 225232ac029cff051c63fcd485966e83fcc5bf3c1adfd9e5a91cfa7f3bdfcb9d0ae7af4302e755a0fbe9d0f7b0d149dcc4ce802d18a4921e89cb7aeaa71e3320
+DIST pnet_macros-0.21.0.crate 22267 BLAKE2B 15bac6f491f8bf07e7fd220293018076bcbb83f2f04ef89e9e421cebe7a16d6bf349efbf23cbb9f834b73a7992689d14c89fa47e01d1792fbc907fa2d507c95a SHA512 ef05904215c09611fab4a60ca863b05aad94a0ac52b806f9b88b0dfbabd0b085c9b2263a79b3114b347f1887777b4d56adcb35785538f9a515aae695e2011a6b
+DIST pnet_macros_support-0.22.0.crate 4467 BLAKE2B a8cda3e4d91a52804f68779fd325e182d1721b26a0634fe52ef13d002634f45efad73080ec9b3af386153bca3aee200df257046abc710d3a87a5ff5968feefdd SHA512 2c0db253a1c00b5561a90bb88addd44ecc34772bc8802d843b9f921e939203fe2600295df3c0cfb37f5c66fa387734c714187dcc0e20e03f5de32a7ce6db0f21
+DIST pnet_packet-0.22.0.crate 24240 BLAKE2B d914322bad25fd73816020329f980325162a603bc4ee3c9fcaedd7e88a24190b5857766ccff3360970fd26509e02e52a109cb4ebe25c77ab9ba16ef92c0624f1 SHA512 1e1a95f3aac830159a25df1367fd64e65d7679fc7ab95f4674ae8a0a8ab4a44c75974ed2d3f171180d775e795ce9041f2402993e93ba41a0c0e895dccfb5cecf
+DIST pnet_sys-0.22.0.crate 3753 BLAKE2B c1e10c319d9bfc4152b8a2dc67d47afaf1609070f25ab0aa84ceb6b64ef99a1714c528eebe0e2bb75fe54b4bec1d779df1daabf5b7a0ac21342b86c368a9e3a8 SHA512 b1a9a1b708c98fff9cc52b5318d7beda08a3784a7a29b26d0752effd237ef6b82b3a05a848dff603c19952c4730c88bb232245f9bc31e9d1052b3b24186756cc
+DIST pnet_transport-0.22.0.crate 4549 BLAKE2B 38332a8d8e7e25a5ae43aef08980d85b5b897b07c79af144c6a04b274f0010c5117955c821c7ca10bfd2224e68fc5bc3374c81f52f66727e78ae8e06e115fa38 SHA512 7cc764f5ba037e209cf4976bc50f522f6e66f97996eb5ec60a7692ebb31adc17d725eddfcd0f819fea33dcb5c56b4572af6252d6f1cb4b0d77cd78b709e2070e
+DIST proc-macro2-0.4.24.crate 30970 BLAKE2B d6b0a5fe633c5773e6d8b4bc2c9f32c66f8072f85ff48bf449fd3d8ada87e639ee730f8bd3d3170acd1528806698bcf1c329c57f102cd79833f96e2fd1bb7e0e SHA512 57ae6a761fcc14f22277df025db6b09f1173035e1496d1c4906d9af9231c19f0b93750abf36e4013ae82799069869047a7e3f1b3e095344e55c603fe5a462d03
+DIST quote-0.6.10.crate 15795 BLAKE2B f81cf2cc13efb42bcf90f4c9cce832d94b2138428d133516d579a0eed157bacda9f5b29cd1c604a89261390ec011fe4825c31788486db007efd97fbb3de261f6 SHA512 92250a3664fe872175ee8c8aa7c4fec121ffe6fcec11a957646fab1297e9e946be03924ce1d7897125cdc0d4883400ac05774ed55a32f943a129fa8d48a1a162
+DIST rand-0.4.3.crate 76094 BLAKE2B 3889a26c9c41fd6b0b5bfdc75961aa4f74dd22aa61060914b0391361129a7557b504f3f23777cfddba6c2f71092ef9f2a76359245c0d594988c5ae7aa2968ad4 SHA512 d287faa583d07134a10db61d1dad30a3ac006624815240d50a8a21faca49085c3ef5c01c3741def25b3e93cb52507fff36497521caacf525e106f419013381d3
+DIST rand-0.5.5.crate 137359 BLAKE2B ca594d61b964b3511cc0c995dadf1aa270ea3f962367e2faab3d73ba5caef8557b5404756f7997aaeda0511184d3a8ec0f35197bbf7d3d507152f1f7c63825a1 SHA512 e135a9c97943662bcea9c4730f19ec6e01ea73303801101592c14e97b59adbbc3457ed7a3dd57843776f5febb6fa34890aad9d1c2c596ae89416e1a281062cc8
+DIST rand-0.6.1.crate 126613 BLAKE2B e7779ba6b13aa58edc3632f250787d35ad486185d3307d17528b12bb6d2adf6eef8aa91c5f51f021fb8e037d4ab1fb64fa364ec093fae0a5bd79095d51e06791 SHA512 dab500d25d538d28bac5b9b60e3b262f64e9d0581c5c17f165890497f7cb459603b815e8a43451610e75d8f5390aa41aad57dcb532307c479ebb99f475f4d4a4
+DIST rand_chacha-0.1.0.crate 11637 BLAKE2B 423f7e835d9c69f49f991ef2ad00c40c8af929935de531821ef32054b39bed54991709e04b352a9f429c7c49f17548084f703353df3a768f1f31a655111b8ebd SHA512 b911dea149eeb859e532d17074a4db8527da2d048b6f59b0d58fdbb51dfe3e839092e1c614e748f471a7381d28605e994ef8783643bb419eedb2c4e04f3dd0a3
+DIST rand_core-0.2.2.crate 15450 BLAKE2B 407d86fff0cefa6786f4132a032c52d0c81291e3f1ad7f3de6a4b58f12cb744535d14d1be44244c3a21a4c562b8c48c1de5e096786d0f7da817bf4242b0fa310 SHA512 fc06e20d22751c55cf869707b527a55709c48d04d498b4301b4d629e4fde2e2ad0d9009734ad20f64f188f55b2e4d5f0ed8a81b7e681a8a0890a4900d63a0bde
+DIST rand_core-0.3.0.crate 20581 BLAKE2B fe46ab0ef5fe8f5f5695906336683350abd7aca246a537e2e4bc9fcf10686d39aaac259584f17c022200ec1139e01e817f71caf33933ad3f353baa10e6cd11ab SHA512 a476510ef936571e3351f42e0f1c615530732b7c66f41975fef10dc6b8f4d8536a6d8166bb90d6da2bb997108ee3e87f4d80884264b239680e6ffd3494dcb748
+DIST rand_hc-0.1.0.crate 11644 BLAKE2B 24e9db27c6673ce657dd18e0bb5ac092c4340b818e79edf4a3ebfbd9a49759d3969c22f4357be5884192b6e6375528831683be54e1283112eb94097ff38d7d88 SHA512 808d8c167daa66a2608884d5d3f1444cdb21f8ca1c61e59fc9bdfb506a634ebb22c0143cfc0574e15313f82559fd2d117a46910eba3b4eb7e0052ec280f5cd2f
+DIST rand_isaac-0.1.1.crate 16020 BLAKE2B a720ac67770133f6051720afb6681623c1b3700be9ab8f663fa8ea852132a81c1404e34aed6829c197b92996007997cbc9105cea0e125e5ff3fc931306c55da4 SHA512 9e8f6c79abc53352c971f8182dcaa7979904d5649eec9008262bb0aaf0585b4c4817351cd80ffa8d07f172ff4c82d85a09ef2642a08f608fc6be3e246ed7f82e
+DIST rand_pcg-0.1.1.crate 10881 BLAKE2B adafb2f28603e4c1ccced838b1946b4d0de94f7d11c85b1a0fdd69a1de3a7c3e1b3030af25b600441c08e2eb73595ff4bad195e5d2ef04f3fa2da5f9614e14f8 SHA512 5104d9a3352f631eb7775218fae6da430d0b26c500aa10a333baa0b1b3d4ff7ff6e8a0162cfe8f514382b0a9342a00e3d2ad6b0313047c5e0c324f3184cfa9e3
+DIST rand_xorshift-0.1.0.crate 9194 BLAKE2B e35999cedfb58b4c2192fcb0d4b606b1535a4ff32cf0f9a8d337f029704cff285af741b507c98afa27040e04f2be23d53a7c749fbd86242469a4a85d61939f64 SHA512 6bdec89da3e3c07c8fe42ba4ce5c24d76ea81b522fad533ae172c5d402f109fd9ce793bc13647dc1db188202bd78f48a9ad55f0caa43f1b88c711f3f2c18a0bb
+DIST redox_syscall-0.1.44.crate 15254 BLAKE2B bf2ed8addf2dccdc4c2dcad2e3079f01788db01a839a9a99ec73389a1fc6e8d8e3aab61e4b3aaeeeaf76b451f5847c963ec71ba3e48d93474c0a9423d331c541 SHA512 c3f7225837be18775c50535d18888ca7ced5c2e577891c67eee34409b583ad685389d806f7aa24cefe6fc1a2b6dc47fef2a8e482f6c77a32240de7889ee1fda2
+DIST redox_termios-0.1.1.crate 3227 BLAKE2B 0b109d34e942735e804dd3da2a9639506e8bf6eb5b1f69ae021b115b0b75ae5159e8457abdf647dabfc19d5119cd3a44b8966635d7862cc66a8a997e4468e1ab SHA512 201d051900e919e2c6c6769ef252e51979d90133df16b6605e2a2f424cfb2e6e505e21add75ef5854fe5e0cab1ed1f1c1451010f072ae4bc8703c585a4323981
+DIST regex-0.2.11.crate 209507 BLAKE2B d8e52b078e96c64663a730208d14af4808abb62d7f2ddc21026410d78305bcf45c8fa5bd6bc28a61a62dffc3dbed6118562bf5294d176f04a9aa8b3eac295a5c SHA512 e0f48ab9a692f7ebd83a21bc70060aed0a7dccc9aaaef6995262fa4e2e33f4404a04a217588b72025820b1a0e4697c076ad47a017e7c51cdd4b6c1909c015ead
+DIST regex-1.1.0.crate 241219 BLAKE2B 37441c1cedfa7fac3904a3a261f618afbdc64e9bcbd9f6913c551ac2cffd454456fce71ae1aefda70cf32d000d990d4e97d9867ffa042abf0e71bdc9df3cbec1 SHA512 f60d9e7c5a8647a1e0d35e995e799335ae695903985cd9f90923ab6483172602e9493005b7c7bd3dee0824de992dcd2f03320d58419206a0d5cfb675c68c4745
+DIST regex-syntax-0.5.6.crate 233912 BLAKE2B 828c35471d8a91be9fbcad00e036c40ff0e2c38d008c5d916cb096f0a6856f124a64a203d547fb5ef45cc296565221e5f96343754413cf6bf2fd1463c7e02f1d SHA512 4ee43272d0d6e5cc0b554816e20e2d93b0ee774fd71643d5edae06627b295d374769ecdc3c1233a688d306d1cb86a83b6850ffe4022baa3db78beeea1190b455
+DIST regex-syntax-0.6.4.crate 272048 BLAKE2B 921cb35d306d796baeb9e3f2fd243bd6c90e92ff175cb9be23e12b1a0f19f51a40075aaf66a56e32fe9b1f08eb30b2a1f47469127061542c96b4f68733780b9a SHA512 7a199c43668f7d660a28a1324ce1951cd6ec299cd98edbfde3b6a6d172e9f1a52135457673b432a0318163a5c23e541abca58607623a310f15fbefeafb50ee3b
+DIST remove_dir_all-0.5.1.crate 8726 BLAKE2B b654deae9905c03b068f07d17b5fe3715393cf7c495ee017467fe1cdf955bf44781516d0e6aaa1dd738ace3b3bdd4fb38f7edaaab062eeba02baf50a1250ed0f SHA512 9ee9a11717d45aebd28cd2f50719a2183cc623bdb1af099701e4edbdb9c98bc14cf2278ba06aca4658bfeddaffff00d0d1464c82d175fba7d6fb272918dd6928
+DIST reqwest-0.9.5.crate 63819 BLAKE2B f8f2a524cd542b234966712a07d7178ff24d57fe2fe809c9830f08e91f994575f7f6cb3accaf9e12188033ab9becd384b7c1b654862409cb42b65928d6e2d9dc SHA512 c63ee8937bc91427e6a40539cace7d91722660e517ee789e57584be49efe299f0a7e3ff7a8addcd74109fb69d8ec4cc0697508bda577a94eea6b471815a00de8
+DIST rustc-serialize-0.3.24.crate 45926 BLAKE2B 11dee8dac7eb007067ee0eb19d122bf45d912e6cefa95fd5ae3db7a4585a3f37e66b123c8c7bb761cc451b402cb9191dd5c974618331bb9aa9efbe9215115abc SHA512 60b40a0b41678287627cf5898e0ff6ac5668865f1ce5a482190ecd7539b59a955a73c675fedac76e68a5126efb92ff0cf1d1b4f24359a932463434bb76d9e884
+DIST rustc_version-0.2.3.crate 10210 BLAKE2B 1f707d1c66d907c9b1d2ef6d0bc6bc9c89990a7b922a6dfc2041865940ff3854c4d0e1daf558279fd5871af5818d4000457a32c949104f46538312fbf730443b SHA512 01fa7a758dcaa4f15c18628a0d5ee5adde5ade96a8b7dde0908e39e27b290d1e9adb20d44e2adcd379341d2d4a0c34a80dc12553a3bb4efa4758988f28989779
+DIST ryu-0.2.7.crate 41382 BLAKE2B 267fc35f85a118384ff716f5e3d4045678f0addb74f1eb82e6d81bee2ecbb27472a8e31d9b279352496a622f040ad057ae2d132fba125be784d332d6bc818408 SHA512 94805952eabddc1c295b76e5b6d5b441748763b41d9371f3a2116c0bce6fa933767a3c1682a39d339d4430b86190c84e9421b5f3acd4d3274998d0d96bf229a4
+DIST safemem-0.3.0.crate 6947 BLAKE2B 1f3e86944eda42c890a5f5792b7e0a50fe6574b1cbb077b7f08aca7dfd33e26deb0fccb3aa96056de3d637d014658b682aa47b523f0efb1f8145af7bf34ce3a7 SHA512 c7d56204b29e9c0fcf925ccc43a2c910f6cd74d232c500b61996559a783ced3938cefa058128d72759e94edea683bb8922ac5ea631d16e31b58de093d6650b0f
+DIST schannel-0.1.14.crate 38833 BLAKE2B 8825f6325f65c5aa4031a2260c4c54ad2a65634d2ce349bf6c31fc10a76f539dfe58d4de1e04fe6e48e885fabf5f720f5b4e4625f4a511e96c7cfe9837c901fa SHA512 550623a87f01c3c6181dad44d44397f172aa07c1b262a78d6eb38ca0676d68bcb8f231970c4eac87e93286225e17acae09551b07128c43b576ea77caae18c0b7
+DIST scopeguard-0.3.3.crate 9605 BLAKE2B 2379e45123c1c6ef456001cccbcec3298d6d32a5197ee9ac51e0233522cc24e8dff1900f1a70fe4d8a7889348b0c668e8e5c8956ec0add0898c719ae8e2a0a5d SHA512 57ce8e32dbe342040a63ec65fbef3680d66d439f0f704c5d485670041505905cfc602e7e3580748b4b4a55ce892d17a453e6d2f853cf0de4c6a2082f0fe95719
+DIST security-framework-0.2.1.crate 39220 BLAKE2B 271e0cecf9bfb0fc0aa305d96e9bee753c6dddaba201e40beed76b3db0471e170dad447181068994b0fd8065604133fabcf88588a1a7a1ecb20049f4d97da635 SHA512 877f432af0e531d98028f01cdc3bf3efb4747c78b447face9335ed5039ba16da1b893a5bec77705cd1e5b2151f4d6674f6c6baeddabe46180b67a031031ed82a
+DIST security-framework-sys-0.2.1.crate 7790 BLAKE2B 20fdafdfb5ae59033fc6b893f35219d84c758658f1f6b5a376d23064dc8ea357778b2c3c856bb43aa751b08f5ababf289b6882b4dab71b062ff9ea3d94e4d94f SHA512 ca18ddee68178f49cf8b50f79391dc43c6269dc879d14950b13fa510e5b46959a8af78cbd007f8445fd510866d79570f25eb0dddc0a72b1f7b4390285cd93f84
+DIST semver-0.9.0.crate 17344 BLAKE2B ae782bc78f29e45577de8574ee58959c70b54bb0b6f45a5a7b09cc4d358d9a0a80bbefc6e0f2a330e2b55adfbbe5c1f64f4ec9bb94c4adf7bb3e4fc9c142db6c SHA512 03a2ea563456f812c301721c3572370fe4934a22db60079da0dd6ffa33fa789e5e2436ef09e62fc35e0b742b06fabc290992c74eed80419a353c9de9449928dc
+DIST semver-parser-0.7.0.crate 10268 BLAKE2B e46b7cf9d292f8fc54561fca4df8534dc96f6be920a5c869c405ddb31b9d1a18eab0799207113cf4910a52cc0df5017ab1bc1883a7c3787ebf2d60f09ac0ab4f SHA512 17320468ec6b9862d595f358d70c09ac6e09db7885fe0ead7a1e596f79350a6306e8bfde5bbd6512008a7c5454da1c7ae55fe1e3bc1c1ff02ac9df54c0a6121f
+DIST serde-1.0.90.crate 71415 BLAKE2B 7793a7d5227ecfa4645c9ce6cd22e0d9c76b216012bc4028e4f940938e1e4921c337cdd27deaa3ccb54df9fe57bee7ffc35f2c2d69c98a6b8e0964d7831af60f SHA512 6ad37dc002a7b8db9e38590f70a9dc26a93a82a1f6d9414fc2a45dd2f57b974a947c1a4c350c970f69199de08d5a94cb6ba5b53c0cc7efa817e3442957638a5d
+DIST serde-xml-rs-0.2.1.crate 13772 BLAKE2B 928c835ecce84a0aba0ec9d6af89090ca2907690be5f9bab7ad03f69c2470785e13a5cbf91b04b9288af68525c1e3a33f49ed53a150a8b489a77e6fd2104b410 SHA512 4c1e5ec3fc1a2dc3adf5c4a262d333b358880705125af9c73794f1f63d6dfef36a46c0f896186c63e1400ebd68be9e5bb27b8a89918a7ac7e998cce7084c792f
+DIST serde_derive-1.0.90.crate 48815 BLAKE2B f662383f4fe4cd5fd46f763bcd3228eb54ec681231e6749ffe9c3710e3ebc49687eb25435cf9b976322df2cc478d4c9febe1d1d770aa4f11c4102745f52162bf SHA512 50ecd5c54dda7708959a2163e365cff09489489893d421e5dda09bca8a6f824b42722af1eff76fcc93f8b9f507db33019f7eb743301025b3504e19ab3d64d015
+DIST serde_json-1.0.39.crate 69621 BLAKE2B 9eaa881f9a16d1895d2bc6f3aff3d6febd155d6ceff3c383968d0520d0f28dfa6fa57f2edd10c02eeb8448e2d87287d2cc04ee99f2c0bf96a60970c49aca14a9 SHA512 7180e5deb60e196f6b1ba3ac2a1bad6cea59d29f65fa7fb9258beb3d7012d6f3ea624e21fbb17868f5a21224f93b3f7b24875a94d50ba0d05e5b8d2aef632036
+DIST serde_urlencoded-0.5.4.crate 12552 BLAKE2B b4f7b852afdbc961a99100838745948b1e61032b171d78f9c80f39a78ef0d40ac00ebc147b63e378b7b7ec1e4b28ce2ce6db6467e6ac2c1093fae0363832a425 SHA512 b32c2cf86c9c023b18ce5627992692e53a0848a1d44508c510e553731e6a4fb1ad30aef8f2cafac6ab0cf3faa45eb5f1df42cf8cbce36b673d2aa6754d3ef45b
+DIST sha2-0.8.0.crate 17302 BLAKE2B ed37c8567479bade08207b73d61cb1af15b58a930b42cf422ee960e24a3caf76a6f3c08ea28ebd925f6d24835f2d0045bf7b0321df4c86923531d8fad253a320 SHA512 6d95888b40c7f84b245864891d4a3e8c06ed3e0cde1aaeacde2ef75c969e00b524fe6045aa9b978d0036b315cc74502f88aab0da67c6708b2450efa9119abdad
+DIST siphasher-0.2.3.crate 8717 BLAKE2B dc5f80933bf9a172dc3747d702ecc47827c18543a1955811c22ab15a3bd21ed8ff1bb6a99f96115231daa2184526fe6a12cd9f73d91655315077aa6b9c3fadd5 SHA512 7bccf3a0c988da97c36d5f80518a5adaca58385f7000697cf10771ab246e88509746e2ec9a356122d25c98f0acd98eef97fb97f81a92959622ed51dff61b37d0
+DIST slab-0.4.1.crate 9479 BLAKE2B 3695c01f8aa9786edc64d2566abab20be6c155bd479b3da08e9c405028a4021e1ca8f937f1f29714b6f26513a0e753a602469c1e57a2bf84098e29c539551786 SHA512 ff8a967579f8d91548c03002f05f6612c6660796cd6fc35b325994f9bd48148ae124d58d9b991fe0b1d7bc111e9a6e43d4ae0be7a31a9faa126ef96ce82a248f
+DIST slog-2.4.1.crate 42607 BLAKE2B 82a40498bbe0a5917f3eb09fb2dde834fc263b4650e7ef479e52d5f71d22d30297ae2feff4cb3e032206d3d81af1ff2973a9fadc1b93a05c8ce1914b86eaf359 SHA512 7a20e256960b330fb1bf16812c72c497f33c2b17b7e25d111b9cec78de1a13a0c32e3bbb273876be00d19a29b5a80fea8b2dd2420b69d2beae0a7df9254679d4
+DIST slog-async-2.3.0.crate 13845 BLAKE2B f038e2febd104a6ec9a6fa49cf318d7d7f555679a1cfb527e25e49ea91f0af6e0f39482c58d0215023017910c556c0f19398b62492189832c974e26bc0af4942 SHA512 64551b4dd3fac6c62a52704cf35e7b04ae0f0771aa8cb045434090dfd1e55e36659654fe8c785a7cab2013a9a36770a55a20276affc7bec634545c9b8a2921b5
+DIST slog-scope-4.0.1.crate 10857 BLAKE2B 066418f608e1f498bfa47c3f885a0dfd4f7d90340d9f1bb1dc11b5ca19b75a6ffb596df6b48e2c04fba4c2c8b4b767e5267672edee255b285f24e0b685a90b6b SHA512 3eca23608dfd8fa8615363380fabec822d928b02ff5cb0b3bed95eceec33ed535d81269adeb8f72419ec91b277060f8f73f70584ce30f2ad3e7308cd77915c6f
+DIST slog-term-2.4.0.crate 17151 BLAKE2B 532e886445f9a74e847043c86cdc1619792ee17229c4887e4a5e4043c1512cbaaadb71baa9119b942f5055e2c9e6630a6028cc6e5fde3022d9147ea2d78a62ed SHA512 ddbce3397ccd98f37e18c2cbd4a8d86df15bf0674ed9b7a637dd3922cf6799bb9a021473b1507f930df46783b92d00ad2dc5e88997d1ea8b29b178d72e28b033
+DIST smallvec-0.6.7.crate 21450 BLAKE2B 35201ac343c2029d9ced9de0361d1ae9046913abc3701c5f6a000008eb7aabfdcb6a05b63368989f4f182b7f0ab89956d7d211a0760432887f2be975be9ce0e9 SHA512 2f3e45b27d8a1e02ff856e9690d982a8c785eef797f0e33beb8a832b6de5038d5ca3d285f49d67bbcf9fb2cb4de278dc33f2e77c615ecd333da014f56c8aec1e
+DIST stable_deref_trait-1.1.1.crate 8007 BLAKE2B 35bb1e1b24f36a0958aa3fd3972d0f30b3849f8bcd41f0221e2a893b1d17b0029369e21e8b735b7c29884a67ba6c9b2ff1558f544b500ed7c119d8bcdabe5602 SHA512 ca224226d612e1c4eb178271cee0d18b44fc036959e528d720e33f65c3ecd7a40c20d32f294c029d0d7b74dc6ce57d19aadfe3cf02c5f894e94ddb3bb06898e4
+DIST string-0.1.2.crate 3989 BLAKE2B 56fe4a944186fdca6d0c1153f179f20ae1be7c052f3e984e48df5b5c064c1f3d2610eedc04cf2e35f3a8fba18bd43ba8d5581eb234c6eac12df40168ae424824 SHA512 1c147d5f0be85e9b0821411864e3f4b71678d9b910506f98376108136cf4b6a3f65cc7d2a34d132becee33216b7cd4215f83023221a7863df3e8ef9cc3219881
+DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
+DIST syn-0.15.23.crate 145369 BLAKE2B f66939982ee09090f2baf1cc4522615e6975d4350c7c65b3b0a3568cd3b3aef04231f6c23b818333107af784780366cafe7d726f03f346ed227c1db6cca522c1 SHA512 d447ec08199d36e289ea303ee8e871e13e002a4d67c396187ef56eb16b69cf21d64becd24fd8d2f7a1c826685f7b6df747903e7eb8cc5c334ee0528998597128
+DIST syntex-0.42.2.crate 3173 BLAKE2B 40624fa9370cf2c5ef02c28fb158b34926c22942ace0855d284a2c8b0ebc968492b67440eb010df10fc3fc06ed01c894b2f5ac87456ef2b7cce933cff22f1764 SHA512 b03cf0edc5367e31215e187d5ab32b76d1e909e47a34b0b9f58fe620681b7d55eed0689eb6b6c9b7312bb791d03995ce60b7daa1035df87959aa2d3117aa82c1
+DIST syntex_errors-0.42.0.crate 14621 BLAKE2B b0a5e6c75f41b1967e980d0e3d06ea8ff13bc2da34496195ea429dfa8697abd676015039fccb8a182330eb7813c91ddb0d778184dd45bae205bda6a3dc6179ec SHA512 4e821e947190a2c5888ad73e6d1c40eee0821f8cc86f6adf404a033bb2429b772873d6a0a86f3eef323b2607e4a059addaa26eac66b4d0c4a14cdd8d64b03667
+DIST syntex_pos-0.42.0.crate 6727 BLAKE2B 2af3c7f8617483ab8289f380ee09155c21eb84b840edb9d442c53f2fd3c29c1ffc3565a182afef732713b3353e47e648c27f3ad71dad8c8d565642be32442de1 SHA512 64eae847e30b23f210b4dea68291094fbd29b3747539bda7c9b69d41d5a49a36a779c8a1d244be931fa317786129fa6c8a197b319bef14149541a447698fc77e
+DIST syntex_syntax-0.42.0.crate 256508 BLAKE2B 7717a5da3feb313fba7651eea9ccecddfce24671908cbada516bc5aa9184d80c22e08f119600e568f6358e7be8a5894e627dad117aa9c1932d8d522ac7c8f2fc SHA512 db2e1b2d90d91e5f695d0b65f06ef9cc64d51c23bd1907c1e5b3516cc38c33b471e5bc75f02426caca58d1dc8827fb5f9adcc21fb344005878d54c4d7e925ebf
+DIST take_mut-0.2.2.crate 4263 BLAKE2B 3660c519b5ce8a39ab4f06dd61ac062f645de321f36913e948e8f10ead18866e2aae2609eb1f7f5faa7cc2500083743fcad816578defaddede456c6c05b3244e SHA512 f75a5ce723e710809130878b0ff5df368f5929201e557661dd0154f3b31ea58d7d30d84672ca5a684fbfcae5f82ab2c21b1b5d9edc4c67d08c221228bd9de814
+DIST tempdir-0.3.7.crate 11468 BLAKE2B 65850a69a07c5c7e5c25d77bfc9881c994b1fe8466b1712b904d9758b234f8d12db6e1b740d461a48b13667bdeca8178e75c956fd6eaa0c0d5aca5aa1ac7523b SHA512 e5b02f7d260ff594fc2dbbd441eb8adfa36ede937f32c8c812b458167c0e49f5cf493c6ebf83ce8007a0aeb97016169fda7f5d2996fecc72f9409d6f463d9bbe
+DIST tempfile-3.0.7.crate 23922 BLAKE2B ea7207d7a5c893751fedca320dc0b08c01de041eed2baf39c1e63f744b55ba3a823890d60fff504c1018950ff9e564eb17cc086f7c519279293570ef2e470751 SHA512 b6fb6a1f4f0f5483255f9672114fa6adf13edd4bfe8f7fbe6c4225a36ccab5b58fc5f5510c50e70746e2697f2cf503b20682e5b44cef0b65b7ffac4ee39529e8
+DIST term-0.4.6.crate 38250 BLAKE2B e4509c0754dc87e6048fdeb42f9d0e6e2c888c5e43fa3aed451ad21a88a399179a1f9935532f6483c3ec374b4676066125f2de35aa2805b1ed1908f45722cd82 SHA512 b88d9a93082521d12071148b98fc236ceba43d7a13bbaf5da679ca03ea9a6a95e38a14ea72e71fe108a5fc6deba1c8c8b25afe5abb511d19965f5e219e7c1cf1
+DIST term-0.5.1.crate 39105 BLAKE2B 508ad7194a76c0526c750a2cab87f69d31cbad6a30114c914d4ddbce63f428f9b1e9fc02bff80d91d4774202c3dedd65ad7b258a8a5af8049f60f4ee79ea5a21 SHA512 cbfe1f3653a31f07a8bdc0b46a5093f45e38b587b639b8683d361480937d65c531abab7c3af3ec2cc8aa3ac41cc3ccd93e31868fd7b327152e878a10070733b0
+DIST termion-1.5.1.crate 20659 BLAKE2B 5b4291c2c26a074c16eac2e7bcb40467380181bac69c941e5c958059dc239cbbfd74872d9bd3da65245d010f9fc39804c43dc96f4caab2499b021cf35977a6b0 SHA512 1d1536f08600c7c1f414b4579a1a6e7eff91f4c105504125118d3cadf71c7886a352d1c5f7e07f3d7c28aa8b4752f07b51eddb4d9adc6a9286f7b6bade2bec76
+DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
+DIST thread_local-0.3.6.crate 12388 BLAKE2B 290c35e5327e80a5cdca5609252b1efd1b78a654fc9ab4ba68eeaa3c2769d844f725d17d91cbb15048dbaac84913c51edcb39bb402882c9e7b4d0c4e4811518d SHA512 cd783d3d9caec43868da1f6118d4c4d520e03b9f1049d8f15d2c12482989401d3aee748e04a149953d35e5d6487355c2891d44569ef688bc1d45f01b6461d253
+DIST time-0.1.41.crate 29991 BLAKE2B fc4be86b43a0cceaa4388539fb9d87f24c8886d50b295e583d48588741f200c40df40e176484d07dbaa515751f50ec8333e5a36456d457d40791ef8fc97f4c21 SHA512 9dcfc89dd33122b5dc77d9bec3038bc492f9162eb1fa15e68f1f9682ade3429c526bfc5d9ec4d102beed007a8ab77f5b07a2f04444c8b2630ec54e569c982942
+DIST tokio-0.1.13.crate 79248 BLAKE2B fb2b76385c2ec8e05ff2e321f9c09fbdb4ea8589b80a5688ea155fee1c9b06342dff40e5aa9446b69cb7c6ae7804621ec4938055472c644752003a56bc3730d9 SHA512 9014af3d1cdd9f63790318f5a71d4a1b991c7721f453adfb067eede32e4d8f410f38e28109ac3f42de93013a46885808026102b134ec89e53580e64c46ca73c4
+DIST tokio-codec-0.1.1.crate 7617 BLAKE2B 868f45ddaa16cef0ec7143ae7d25d422fa4fd7fe59bc99a7ae4b97f700dd6418610b917a880f1fa5c939799168d8c31901d7186a0195c7b72bd130a01c787b7a SHA512 9c868545e8adc234a51b81966836b786019181ea25907bf14887ce26ed1cf5866f5df8898bbf6bb7c8d3626f145ce0465d3a79050d53f8dcffe98f71886f9044
+DIST tokio-current-thread-0.1.4.crate 19400 BLAKE2B 1eadd257b7e6da5cba623f6b9365cab7f44864c344564d90b073f6ee32ad7a8f7176d2e8072323781ce1953a3a5f53a97c2305caa0565fd99dfd44ecefe16a98 SHA512 2d6c0af55470795b3ad237a2fd3e59b3d75831b04841219f57033556372f2d31af71500374022359fc661f7d606967c6b922a06c1e71e5bcea0759eea7c0ace3
+DIST tokio-executor-0.1.5.crate 10540 BLAKE2B 34a515a160907a64e177880e5d319e191a79c92a30dd12616d23b7e0b33a342651ae1943c4ac8c00658b64f1d4c2076f8ccc48adaf62ebf324bd2232069546a2 SHA512 488b75570e1f07c521972bd33b6313926c0e763385872f50858a58af1e738f2ea1a276e8899263a25a4788f641ba94f9280ad55c32978a97af9337bb0c8af987
+DIST tokio-fs-0.1.4.crate 12706 BLAKE2B dc09d985a2f242c00283cddd93842a1d9566953af60fcd389f1c574655b572c06b9ae93c8c483782076c630ff5ba4a3d86b31476a09fde46ec4089578771e860 SHA512 aa9393f9f9cf32ccba258821b22d6f3a7297ff2b4a84db934abfc66cd421239de581ad3d756815e47095435d045dcfcf6897124e0414f1fca7452f28644844d8
+DIST tokio-io-0.1.10.crate 33143 BLAKE2B ed90d1aa36a90469fcdb95f59e0b9a5817945207002bde1cdd43adde936c854ce04dc60d62acb94955c4fcdb2669e7975e23ad5c3ab60880fb7511c8f381ddd5 SHA512 6e5327e5d555fa5b84bbe361219e2a1cf3c47ae8ca2f26bf38b258176e00af6e4c3602bbe0dc2636241730e0735482189edc5ac5300bf411c9963546f103792d
+DIST tokio-reactor-0.1.7.crate 23740 BLAKE2B 8a8f499ae181809c0988d2baf6f843474ef884fe56c4e25f6786f524307845bc18c808f58f4299850402020dc3ccd1ed3e8d997169410a8e465323c85f8ab3ea SHA512 4859751a0eb2d423ad1216c0a63248b6dccfcd987e3d9c58cf4277d47c5123e9ae2e9a0e8a4f3178d83b46fd4d89c14a0e09a4ef3b7b10a3ff3a662be794077a
+DIST tokio-tcp-0.1.2.crate 10633 BLAKE2B 0298c8831f44500640f5362cb7a426e7215878e63376c05ff24a726fcd745e1f02678c0047b6525b55b3b508693388b1e266a414cb732d5ff12e49365af5993b SHA512 d250eeff3a1e8133cf20201dd3c54ba2a6f057407f051cda3da195437d0cb8eb0592e9467343145d85f916276bc76910434a5190af476cc845ff6e7e0e66e8b1
+DIST tokio-threadpool-0.1.9.crate 48778 BLAKE2B 3bb9d6ae52fc7c12307e80e3af203cf2732180d8c013a8440be144c3ea70f10557d6ba10817e67906e889cedc7550e660f3746e441e388fa18bc7d53c2cbe141 SHA512 b2f4f2951bb581d6e1110f6c39fee1341dfec6605717e93bdd9fa1958c4ebb2b849af0e068521478b07f9fadb7384807d6f8922a4be4637c18d4d4e47793c13d
+DIST tokio-timer-0.2.8.crate 36835 BLAKE2B eb154c609a0d9a58794d90e4429775ca7a0f1f4752853825eb1fe0b9f75b86ec01b6bddef442e28cb5c85449534ed18b130ac5af03483b217713dca38a530c63 SHA512 5542ffdabb01f3d64774b87e2bfb124e09e3c0ac0edcb3ec5ba9dede09f26a6a43cd0266cc8e1b3e7c35892d3497a1916e9caa7b4119781163e75dc24f742030
+DIST tokio-udp-0.1.3.crate 10227 BLAKE2B 8080306c695b694ba9f25252474a9370279f7ee28dddee14575f73d36cb5731743bf0101736624eafd97f55e6f83f6be9806b8ad748411eaa382a2f90d7e874e SHA512 a2fd724ebe46b8fc8757558b6d267491b86ed5625ff91b212a6c77448231c72fa2b8e5c389cb27e93f2b924f48c88c154f23eb8721ecb93e7c1820c7c4dbead2
+DIST tokio-uds-0.2.4.crate 11837 BLAKE2B 2419656eaa25c41320f51660a6d67134824cb3a1001c6164c440483ed7a002ca5ab59df8388b117b9a5a3addca3b47f5e450d5733dbf2b9eb2e741aa3aef62c0 SHA512 d59bcecd7a92c847cddfc5e5624828a7063dc1bac5515771a16e0d6987ad6a8777e779b45ed6395abb7588bad807695704c2d600e93f6617e09dcac1ae83d472
+DIST try-lock-0.2.2.crate 3638 BLAKE2B fdd33b9760b12db5c90dd9c34980e62d061e1a691eab760ed80dafdcd1ae82055b4ccac7313babb43dc9f2f38d3cac3bbf3f586b26f407fbd035c5c3dfca168d SHA512 aeb54abe3cc02d5dfd0d13010558454e5caab2568bd923a035dfef5ed5d3394b4bab9f7ab21dbaf82f1c20ccd95955bcf6ac2bdc976a824d9508d6f2a27ef330
+DIST typenum-1.10.0.crate 30009 BLAKE2B ea68f463c2edd2cd7ace126571a88cead26ea37beb8a13ebc00eb033d9a6e9d7060bebcdb208830cea4944a2b2eae16e7ed7a60f0b9270868559292bf99df6c7 SHA512 9ff611df79e312b8ab32522007981220213f2beddd959118a855d08b94b7a7d35d38378694c8667c2d6aa324933307a47a4072a89cacf7e594537794385b9449
+DIST ucd-util-0.1.3.crate 25897 BLAKE2B d67d250603625d7fe55b1bd17a8bff03ddf2e48b531e8f754f51dcd49370a2b66d0915842fb2fce85a69df2c38f9c086ac3c36115d40c5a8138e5451f71a1cfe SHA512 50a796feb198012241d73001bb53c8e3d3168df379de91d7ecaccfd829b08a356afe3db736fb8cced8748141d7a9e4b157440442c425816c78c0615c08e20f2e
+DIST unicase-1.4.2.crate 3907 BLAKE2B 0800a061c30d4d32e36ba0f07045e8d6073eb1fc492c3e4130e9a08e9e3fcc0c4f971bc928a2bd35590d51a9c432b34a5f2e95fad41b3e89d1e357787c55a6a3 SHA512 f92ceb4b9b4757a813fcf23949c8a9770e5169aec19d43c7ea9c3b49b365a2d4ef619255693b5dc30b974e6fe5bed857fa0743caec0ad88abd5b5c80df96fcac
+DIST unicase-2.2.0.crate 19587 BLAKE2B f83ab62d23aaec93555ed1c342c720bbcadf9d6b14a443bf956c8b8a930136ca55fed66a7f412ea39c6a936e8da535fe20f83e564c08b924d7290b39cc32b86e SHA512 7aad01e881c18536d1f758303661d9ddeaecdccd13c7e41ae2f11f7d1030fe36dd164234aa1b4a9ef3c0e4dd847f451423a80b68e80c17663286b9c803de20c7
+DIST unicode-bidi-0.3.4.crate 32228 BLAKE2B 853a85b29d1ac2025b7a28af64ead9387e3b4b1e790ad719d4374e349c1853ddbb5959a2890d9d6c94a5c28e4523fc3324deb6b1ed1aeb5e917f21b0e2516f6c SHA512 170ce083fa82bed13ecc62d85cb882fdd6491ae721e1633d3c1a5d3cee69422153afcf6695765c0e8fc7035440d0370d34afac9e978cb27f7506c07cba300e1e
+DIST unicode-normalization-0.1.7.crate 330545 BLAKE2B abffe09db26d75c7ff8d09a485c0966e3a6ff1192b5edbbf4fd1e6915bbc9214242d6ae9d99dccf304c0d75b61006b4edbcd680d7823cdd47b8ed5a7075ef685 SHA512 4b4d3737244b1425ef8000318316decf8e167d3c92524e92bdd3c34798cf6fd1388ba7651da67d565f07d4640e9881145334fbcdfb8f20c33873d6e40ef3630e
+DIST unicode-width-0.1.5.crate 15761 BLAKE2B 575e6bfe8b8b70cb0e5a167bf546df2964361a223b03a65bdc588c32d4cf9f01194daa8d6d1c90319f1f9981aa5b092dce67c9c97450be4ea630784d834cdbe2 SHA512 bd5ac5f0433953d79408074239edc7c43ce23d56659d467805d81ab01c576a3cf77ccedb3bba41d48bc4ad46a8905ac8a1927b99312053ef6295fd940a6766d2
+DIST unicode-xid-0.0.3.crate 15998 BLAKE2B 2e112dbd311399836dd12ee37bbe7b9d83ed6fba89549784f1bf2ca9479b3e3cedd1bc2b15bf5e21b0cdb30fd3b88b973aadf37cb634024316ac33fc77d98d11 SHA512 268c1f3ec79ed2255c4e3759e4526b4892cb04f54ced07afbfff0ff8dcdec953e5b540fcb58b30bfec01b6401b58ef3b21320a0c1bf3a43aec22f0715568dcc5
+DIST unicode-xid-0.1.0.crate 16000 BLAKE2B 159004a7bbb7476b39e982b51dbf615717095fd5946536e757653aa941bbf1b774f331db744ecc33bb2ead4b0a6d254fde86cfd6cd8b83ab9983fa89928eddbe SHA512 cc5343e2166938322cfd7c73f1f918f2a9c46846ac0ef55933d1e44cdfaf6f7da2b7ff18b68e356c47b6d8ba5565eda0db42c347dcbde830683f341ac2b1849d
+DIST unreachable-1.0.0.crate 6355 BLAKE2B c41706721e8124c695259c12741ee95f98d3599871bb7fae2f8cb0d63a04f0cff11e01ab0376867de4de8707fd50fbd02f8b6d9c19bedda84bb5938876c5d803 SHA512 054e0a471d1068b7703853d838c7c381ac6865ac1f8abae08747581e3754416ccec5b80a5b04fedbcd01e68bfeba286b849e3b8ea67bbe62444f2974655e4948
+DIST update-ssh-keys-0.4.1.crate 18729 BLAKE2B 0c0fd32cabc44bc76afe2a88b425cfce36fe23186910e4bf9d402eab3fe85c45ff26d5b758f4dbea16a7dcbcd2ccc23dd158e4867d8e52ac593abdf4e9645f50 SHA512 88c8f02f2612dac372286f3198ad7c6f21a45007da981e19597e34baad26bf083b6a3175f261379618c1ba39212ae66f2ce1b2d1302c25f016cba91abed3ec74
+DIST url-1.7.2.crate 68597 BLAKE2B d8d7a4b05e956a956c745dbb536ff94abbe81af22e53af3d7baccf01ed7e556cc4f1f8e0a0d97c258c1f1a23209e1ae494079948de9f0d402901c0b6cdafc373 SHA512 c53d7c397416cb1f3c9f7654a8a0653f350c28d41880859f29f681cd6269848890c1396b7ccdf571ec84212a8f3959138f47193ac0595a97bf98972b58e1ed04
+DIST users-0.8.1.crate 18406 BLAKE2B 9e6c36e04a64fc5e1e33a4a5714bd360d10c254cd4140c008e00cbdca7b1699e0f66aaabf8dfb8d9c9142ceed4c39af357d6d754c07fe2aa38364128fd6fbe97 SHA512 04de8d9943d9b929ddf060e08f7a019662a0ce9fb7423a8c09c81d52462bf86988f99c29f51d19ff2c72f53cc9d2179f3a57a68e544611427a1c016cf8a474b0
+DIST utf8-ranges-1.0.2.crate 8510 BLAKE2B 877ff38444aec99bf8e0d09c6880d4835eb453c8c7e38fa5e7f8fe3cadd5b34b11a030193e46fe97b19fd90e94de156c0eaf12c613aae7cee47f0f016a3fb96d SHA512 ac168b908a34c4814a682b77502d2e5aa3130acb01fa87e29c78b760a61ba61b01f9fa2d67202604ac9824e0b2fe92143b72c0d4100a62ff9f53e4b00a4a12fb
+DIST uuid-0.7.1.crate 32775 BLAKE2B b5d5d558a3b9091dd9c938a8f493de1ba11bb805829881acde4fc7f97cd565d3a87cd793c36dcf0503a33961ad44cb08e25b9b64d76fc884b760a7120947f5e0 SHA512 6559d538ee7a0ec8ec01f86dfc650a46aea8c7dd7c828c3e6c907c252573ec088261726eade02b89fa626b1058a6a5b3f679f507a506cc75ef838c885194453d
+DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172
+DIST vec_map-0.8.1.crate 14959 BLAKE2B f5c179ccb4349d543747d5e3bb3edfca4bc9f3f64ba3c2d40fb1d9cba98433b7a0641387aafda6347c9b3603592c64bd820b217b46fbfcd37f802f298e5793ab SHA512 026cf10dc7ba98ae51dd312fc847cbaea41c25f0da5db6e0e22c2ecf75584bbf876d7bd96035fbbcf6696d702d5a3f25977e02a2d77cf519aa21e3ed05710e40
+DIST version_check-0.1.5.crate 8173 BLAKE2B c1778a95fbc79e93bc25d6ee85c408cbcc2afc1a2317bd96b6d5e1c99862f26cc031e0a8b14451d7ea5a44d96c9b599c899bcebda36d3974effc51f9c236ca56 SHA512 cd3ca0b36108b0fe8e6a5c26614b4f3e3c36ffd13cd9eeb7693086b4a1f7b67c025613d90e79f4dd1bd3234a3e387b2ee890c6c410fe67d293b9b5503f5e9362
+DIST void-1.0.2.crate 2356 BLAKE2B 41578fb5507f94e7d135f9595cec107ed00a926f4968df8b59792d1676ba5b6980cd67310f820fc37a9c14ebe43a171833fa8dfc09eac5dd42f2ebe808632a83 SHA512 1cc7d282600dc0164d7e410aa895d5dc99de1174991549c6733c94cc2027026517f66797751d737869eae58c560fa26edbf43f36b3015eb2fd99828fe40e0aa1
+DIST want-0.0.6.crate 5434 BLAKE2B 46cc6ffc8c5edc4c0b7e48475a82e339e1ce746941823fedb3bdcd1942bfaa9d59800f465470002fa7cebf4d88614d1236cd92736c10690e04810e85aad2c1d2 SHA512 65612379ffb46e5baeae46c7f6f3f3f03133ed9a99c5746bb405fd9b1bc3715739be199cf0f4ee3fa1ac5a2f624ca59fae75bfc14de19b4d5c80270c74f82a86
+DIST winapi-0.2.8.crate 455145 BLAKE2B 50f3c2a0cf4eeedd6891b11392e520c1cca139a71f8f736eabaf43aa7e4b1b5d57697918978220459572d373940edf971eb8302f292cbff832283e905076319a SHA512 115e6f027cdd4a56f77ca24f4ab249d2a6cac1e1f955c826a9b6ee05db4861790a533f5e674aebbb540370fff52ed41618c2cd7c906e73200e92df213109cebe
+DIST winapi-0.3.6.crate 1029391 BLAKE2B 9a52085c3cb74d84bc66cee575da0105eeca69f6abd3c8c601a4de013bafea795f044748be10ec9ab419a9ec82a304a0b65ba4d74f6cb39baff91228f83009f1 SHA512 991eb3d6ba08d59e7f7ec81ebf469cecc56b3723b636392972d2fdc1d6f13d88f8a244ad5cbb20f6058d12b44e060ed663c12aa3fbcd1235ab511fafa105cd3c
+DIST winapi-build-0.1.1.crate 669 BLAKE2B 6c8d8e0f81574c086f06fb3f234b0e6759d293d1d254857c3d491e4d43279e5c2f57f2fcfdc9d5d7b083280f4cc2a75a6ee9bc1541ec6ce8f8d904ded0567faf SHA512 8b0a239e205a5368892f41c870a8a7ea16e3468c364b03382bef7fa3a2e7159b09c07661e95b1227578f6d72c14879daa4444b28c51ae20ef15d985d59ca5a77
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST winutil-0.1.1.crate 1880 BLAKE2B 6f899758572e18b2f7782456c9b15d4e1c0c5eb826880a4a3b1d3ea30a5d226f9681a13e0a112c40690c235cd6b0e5cf1eb179d45682c0384397d1449314dad0 SHA512 68afe1dce3d5daaaa6a15d023dcbf91d26b06f4319ddd76d0993d97c10fd8d9f6c2a76c87290347d50281640609aefbb9fc8f691ebd18104f566a005d84c43bc
+DIST ws2_32-sys-0.2.1.crate 4697 BLAKE2B 52a7a3f57bcd73156730ada4d78fe12a54a498c9064e0928e09de13a95bd9237f884538e5f9368b47a7ac3c425f0f798c26bad85f20bed4ea26c2fa16c779b97 SHA512 18356861fc595efe7d0180afb8ce7649da35a4f9ba456271d2068679ab258a861af32a2e016e241fbfbf5f6ef0eb33127b26eabfc11428af39506538faa4821f
+DIST xml-rs-0.3.6.crate 48158 BLAKE2B 1f97a6950c16b9310c01eecde3474ae75d51071c49a214c5ed5ce3a9824c3add3bf88801dde559ce84066ff5d1bbffd1fc63cf7c27c9f0427fe3cbb9724d1bbf SHA512 fb7f702808c1ddba3b7ba5e27b68fd3a9d4e0c5d90e2e31f290b9387d994abad6ffeeef19eeeca5a111aa137d1aa125dcde9050c73439191746501758abfaba1
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-4.0.0-r4.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-4.0.0-r4.ebuild
new file mode 120000
index 0000000000..a9c82b7799
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-4.0.0-r4.ebuild
@@ -0,0 +1 @@
+afterburn-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild
new file mode 100644
index 0000000000..5d6ffc1521
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild
@@ -0,0 +1,267 @@
+# Copyright (c) 2017 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_PROJECT="flatcar-linux/afterburn"
+CROS_WORKON_LOCALNAME="afterburn"
+CROS_WORKON_REPO="https://github.com"
+
+if [[ ${PV} == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="bb3cdd0b895e9803c843d1e1831f9c0613e35e02" # flatcar-master
+ KEYWORDS="amd64 arm64"
+fi
+
+inherit coreos-cargo cros-workon systemd
+
+DESCRIPTION="A tool for collecting instance metadata from various providers"
+HOMEPAGE="https://github.com/flatcar-linux/afterburn"
+LICENSE="Apache-2.0"
+SLOT="0"
+RDEPEND="!coreos-base/coreos-metadata"
+
+# sed -n 's/^"checksum \([^ ]*\) \([^ ]*\) .*/\1-\2/p' Cargo.lock
+CRATES="
+adler32-1.0.3
+aho-corasick-0.6.9
+ansi_term-0.11.0
+arrayvec-0.4.9
+atty-0.2.11
+autocfg-1.0.1
+base64-0.10.1
+base64-0.9.3
+bitflags-0.5.0
+bitflags-0.7.0
+bitflags-1.0.4
+block-buffer-0.7.0
+block-padding-0.1.2
+byte-tools-0.3.0
+byteorder-1.3.1
+bytes-0.4.11
+cc-1.0.26
+cfg-if-0.1.6
+cfg-if-1.0.0
+chrono-0.4.6
+clap-2.33.0
+cloudabi-0.0.3
+colored-1.6.1
+core-foundation-0.5.1
+core-foundation-sys-0.5.1
+crc32fast-1.1.2
+crossbeam-0.2.12
+crossbeam-deque-0.6.3
+crossbeam-epoch-0.7.0
+crossbeam-utils-0.6.3
+difference-2.0.0
+digest-0.8.0
+dtoa-0.4.3
+encoding_rs-0.8.13
+error-chain-0.12.0
+fake-simd-0.1.2
+fnv-1.0.6
+foreign-types-0.3.2
+foreign-types-shared-0.1.1
+fs2-0.4.3
+fuchsia-zircon-0.3.3
+fuchsia-zircon-sys-0.3.3
+futures-0.1.25
+futures-cpupool-0.1.8
+generic-array-0.12.0
+glob-0.2.11
+h2-0.1.14
+hostname-0.1.5
+http-0.1.14
+httparse-1.3.3
+hyper-0.12.18
+hyper-tls-0.3.1
+idna-0.1.5
+indexmap-1.0.2
+iovec-0.1.2
+ipnetwork-0.14.0
+isatty-0.1.9
+itoa-0.4.3
+kernel32-sys-0.2.2
+lazy_static-0.2.11
+lazy_static-1.2.0
+lazycell-1.2.1
+libc-0.2.47
+libflate-0.1.19
+lock_api-0.1.5
+log-0.3.9
+log-0.4.6
+matches-0.1.8
+md-5-0.8.0
+memchr-2.1.2
+memoffset-0.2.1
+mime-0.3.13
+mime_guess-2.0.0-alpha.6
+mio-0.6.16
+mio-uds-0.6.7
+miow-0.2.1
+mockito-0.17.0
+native-tls-0.2.2
+net2-0.2.33
+nix-0.13.0
+nodrop-0.1.13
+num-integer-0.1.39
+num-traits-0.2.6
+num_cpus-1.9.0
+once_cell-1.8.0
+opaque-debug-0.2.1
+openssh-keys-0.4.1
+openssl-0.10.36
+openssl-probe-0.1.2
+openssl-sys-0.9.67
+owning_ref-0.4.0
+parking_lot-0.6.4
+parking_lot_core-0.3.1
+percent-encoding-1.0.1
+phf-0.7.23
+phf_codegen-0.7.23
+phf_generator-0.7.23
+phf_shared-0.7.23
+pkg-config-0.3.14
+pnet-0.22.0
+pnet_base-0.22.0
+pnet_datalink-0.22.0
+pnet_macros-0.21.0
+pnet_macros_support-0.22.0
+pnet_packet-0.22.0
+pnet_sys-0.22.0
+pnet_transport-0.22.0
+proc-macro2-0.4.24
+quote-0.6.10
+rand-0.4.3
+rand-0.5.5
+rand-0.6.1
+rand_chacha-0.1.0
+rand_core-0.2.2
+rand_core-0.3.0
+rand_hc-0.1.0
+rand_isaac-0.1.1
+rand_pcg-0.1.1
+rand_xorshift-0.1.0
+redox_syscall-0.1.44
+redox_termios-0.1.1
+regex-0.2.11
+regex-1.1.0
+regex-syntax-0.5.6
+regex-syntax-0.6.4
+remove_dir_all-0.5.1
+reqwest-0.9.5
+rustc-serialize-0.3.24
+rustc_version-0.2.3
+ryu-0.2.7
+safemem-0.3.0
+schannel-0.1.14
+scopeguard-0.3.3
+security-framework-0.2.1
+security-framework-sys-0.2.1
+semver-0.9.0
+semver-parser-0.7.0
+serde-1.0.90
+serde-xml-rs-0.2.1
+serde_derive-1.0.90
+serde_json-1.0.39
+serde_urlencoded-0.5.4
+sha2-0.8.0
+siphasher-0.2.3
+slab-0.4.1
+slog-2.4.1
+slog-async-2.3.0
+slog-scope-4.0.1
+slog-term-2.4.0
+smallvec-0.6.7
+stable_deref_trait-1.1.1
+string-0.1.2
+strsim-0.8.0
+syn-0.15.23
+syntex-0.42.2
+syntex_errors-0.42.0
+syntex_pos-0.42.0
+syntex_syntax-0.42.0
+take_mut-0.2.2
+tempdir-0.3.7
+tempfile-3.0.7
+term-0.4.6
+term-0.5.1
+termion-1.5.1
+textwrap-0.11.0
+thread_local-0.3.6
+time-0.1.41
+tokio-0.1.13
+tokio-codec-0.1.1
+tokio-current-thread-0.1.4
+tokio-executor-0.1.5
+tokio-fs-0.1.4
+tokio-io-0.1.10
+tokio-reactor-0.1.7
+tokio-tcp-0.1.2
+tokio-threadpool-0.1.9
+tokio-timer-0.2.8
+tokio-udp-0.1.3
+tokio-uds-0.2.4
+try-lock-0.2.2
+typenum-1.10.0
+ucd-util-0.1.3
+unicase-1.4.2
+unicase-2.2.0
+unicode-bidi-0.3.4
+unicode-normalization-0.1.7
+unicode-width-0.1.5
+unicode-xid-0.0.3
+unicode-xid-0.1.0
+unreachable-1.0.0
+update-ssh-keys-0.4.1
+url-1.7.2
+users-0.8.1
+utf8-ranges-1.0.2
+uuid-0.7.1
+vcpkg-0.2.15
+vec_map-0.8.1
+version_check-0.1.5
+void-1.0.2
+want-0.0.6
+winapi-0.2.8
+winapi-0.3.6
+winapi-build-0.1.1
+winapi-i686-pc-windows-gnu-0.4.0
+winapi-x86_64-pc-windows-gnu-0.4.0
+winutil-0.1.1
+ws2_32-sys-0.2.1
+xml-rs-0.3.6
+"
+
+SRC_URI="$(cargo_crate_uris ${CRATES})"
+
+src_unpack() {
+ cros-workon_src_unpack "$@"
+ coreos-cargo_src_unpack "$@"
+}
+
+src_prepare() {
+ default
+
+ # tell the rust-openssl bindings where the openssl library and include dirs are
+ export PKG_CONFIG_ALLOW_CROSS=1
+ export OPENSSL_LIB_DIR=/usr/lib64/
+ export OPENSSL_INCLUDE_DIR=/usr/include/openssl/
+}
+
+src_compile() {
+ cargo_src_compile --features cl-legacy "$@"
+}
+
+src_install() {
+ cargo_src_install --features cl-legacy "$@"
+ mv "${D}/usr/bin/afterburn" "${D}/usr/bin/coreos-metadata"
+
+ systemd_dounit "${FILESDIR}/coreos-metadata.service"
+ systemd_dounit "${FILESDIR}/coreos-metadata-sshkeys@.service"
+}
+
+src_test() {
+ cargo_src_test --features cl-legacy "$@"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata-sshkeys@.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata-sshkeys@.service
new file mode 100644
index 0000000000..6faa004e86
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata-sshkeys@.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Flatcar Metadata Agent (SSH Keys)
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+Restart=on-failure
+RestartSec=10
+Environment=COREOS_METADATA_OPT_PROVIDER=--cmdline
+ExecStart=/usr/bin/coreos-metadata ${COREOS_METADATA_OPT_PROVIDER} --ssh-keys=%i
+
+[Install]
+DefaultInstance=core
+RequiredBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service
new file mode 100644
index 0000000000..9204dedffc
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Flatcar Metadata Agent
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+Restart=on-failure
+RestartSec=10
+Environment=COREOS_METADATA_OPT_PROVIDER=--cmdline
+ExecStart=/usr/bin/coreos-metadata ${COREOS_METADATA_OPT_PROVIDER} --attributes=/run/metadata/flatcar
+ExecStartPost=/usr/bin/ln -fs /run/metadata/flatcar /run/metadata/coreos
+
+[Install]
+RequiredBy=metadata.target
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/coreos-au-key-0.0.2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/coreos-au-key-0.0.2.ebuild
new file mode 100644
index 0000000000..e933aa3efa
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/coreos-au-key-0.0.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright (c) 2013 CoreOS Inc. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="CoreOS auto update signing keys."
+HOMEPAGE="http://github.com/coreos/"
+SRC_URI=""
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86"
+IUSE="cros_host official"
+
+# Do not enable offical and SDK at the same time,
+# the SDK only needs developer keys.
+REQUIRED_USE="?? ( cros_host official )"
+
+# No source to unpack
+S="${WORKDIR}"
+
+src_install() {
+ insinto /usr/share/update_engine
+ if use official; then
+ newins "${FILESDIR}/official-v2.pub.pem" update-payload-key.pub.pem
+ else
+ newins "${FILESDIR}/developer-v1.key.pem" update-payload-key.key.pem
+ newins "${FILESDIR}/developer-v1.pub.pem" update-payload-key.pub.pem
+ fi
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/files/developer-v1.key.pem b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/files/developer-v1.key.pem
new file mode 100644
index 0000000000..ac660a755e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/files/developer-v1.key.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAzFS5uVJ+pgibcFLD3kbYk02Edj0HXq31ZT/Bva1sLp3Ysv+Q
+Tv/ezjf0gGFfASdgpz6G+zTipS9AIrQr0yFR+tdp1ZsHLGxVwvUoXFftdapqlyj8
+uQcWjjbN7qJsZu0Ett/qo93hQ5nHW7Sv5dRm/ZsDFqk2Uvyaoef4bF9r03wYpZq7
+K3oALZ2smETv+A5600mj1Xg5M52QFU67UHlsEFkZphrGjiqiCdp9AAbAvE7a5rFc
+Jf86YR73QX08K8BX7OMzkn3DsqdnWvLB3l3W6kvIuP+75SrMNeYAcU8PI1+bzLcA
+G3VN3jA78zeKALgynUNH50mxuiiU3DO4DZ+p5QIDAQABAoIBAH7ENbE+9+nkPyMx
+hekaBPVmSz7b3/2iaTNWmckmlY5aSX3LxejtH3rLBjq7rihWGMXJqg6hodcfeGfP
+Zb0H2AeKq1Nlac7qq05XsKGRv3WXs6dyO1BDkH/Minh5dk1o0NrwEm91kXLSLfe8
+IsCwxPCjwgfGFTjpFLpL4zjA/nFmWRyk2eyvs5VYRGKbbC83alUy7LutyRdZfw1b
+nwXldw2m8k/HPbGhaAqPpXTOjckIXZS5Dcp3smrOzwObZ6c3gQzg8upaRmxJVOmk
+cgCFTe0yUB2GMTEE3SUmuWJyZqECoyQtuiu0yT3igH8MZQpjg9NXm0eho/bXjN36
+frH+ikUCgYEA7VdCRcisnYWct29j+Bnaio9yXwwxhfoee53a4LQgjw5RLGUe1mXe
+j56oZ1Mak3Hh55sVQLNXZBuXHQqPsr7KkWXJXedDNFfq1u6by4LeJV0YYiDjjaCM
+T5G4Tcs7xhBWszLMCjhpJCrwHdGk3aa65UQ+angZlxhyziULCjpb5rMCgYEA3GUb
+VkqlVuNkHoogOMwg+h1jUSkwtWvP/z/FOXrKjivuwSgQ+i6PsildI3FL/WQtJxgd
+arB+l0L8TZJ6spFdNXwGmdCLqEcgEBYl11EojOXYLa7oLONI41iRQ3/nBBIqC38P
+Cs6CZQG/ZpKSoOzXE34BwcrOL99MA2oaVpGHuQcCgYA1IIk3Mbph8FyqOwb3rGHd
+Dksdt48GXHyiUy2BixCWtS+6blA+0cLGB0/PAS07wAw/WdmiCAMR55Ml7w1Hh6m0
+bkJrAK9schmhTvwUzBCJ8JLatF37f+qojQfichHJPjMKHd7KkuIGNI5XPmxXKVFA
+rMwD7SpdRh28w1H7UiDsPQKBgGebnFtXohyTr2hv9K/evo32LM9ltsFC2rga6YOZ
+BwoI+yeQx1JleyX9LgzQYTHQ2y0quAGE0S4YznVFLCswDQpssMm0cUL9lMQbNVTg
+kViTYKoxNHKNsqE17Kw3v4l5ZIydAZxJ8qC7TphQxV+jl4RRU1AgIAf/SEO+qH0T
+0yMXAoGBAN+y9QpGnGX6cgwLQQ7IC6MC+3NRed21s+KxHzpyF+Zh/q6NTLUSgp8H
+dBmeF4wAZTY+g/fdB9drYeaSdRs3SZsM7gMEvjspjYgE2rV/5gkncFyGKRAiNOR4
+bsy1Gm/UYLTc8+S3fq/xjg9RCjW9JMwavAwL6oVNNt7nyAXPfvSu
+-----END RSA PRIVATE KEY-----
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/files/developer-v1.pub.pem b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/files/developer-v1.pub.pem
new file mode 100644
index 0000000000..ccee9ee90b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/files/developer-v1.pub.pem
@@ -0,0 +1,9 @@
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzFS5uVJ+pgibcFLD3kbY
+k02Edj0HXq31ZT/Bva1sLp3Ysv+QTv/ezjf0gGFfASdgpz6G+zTipS9AIrQr0yFR
++tdp1ZsHLGxVwvUoXFftdapqlyj8uQcWjjbN7qJsZu0Ett/qo93hQ5nHW7Sv5dRm
+/ZsDFqk2Uvyaoef4bF9r03wYpZq7K3oALZ2smETv+A5600mj1Xg5M52QFU67UHls
+EFkZphrGjiqiCdp9AAbAvE7a5rFcJf86YR73QX08K8BX7OMzkn3DsqdnWvLB3l3W
+6kvIuP+75SrMNeYAcU8PI1+bzLcAG3VN3jA78zeKALgynUNH50mxuiiU3DO4DZ+p
+5QIDAQAB
+-----END PUBLIC KEY-----
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/files/official-v2.pub.pem b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/files/official-v2.pub.pem
new file mode 100644
index 0000000000..bdc2f1af89
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/files/official-v2.pub.pem
@@ -0,0 +1,9 @@
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw/NZ5Tvc93KynOLPDOxa
+hyAGRKB2NvgF9l2A61SsFw5CuZc/k02u1/BvFehK4XL/eOo90Dt8A2l28D/YKs7g
+2IPUSAnA9hc5OKBbpHsDzisxlAh7kg4FpeeJJWJMzO8NDCG5NZVqXEpGjCmX0qSh
+5MLiTDr9dU2YhLo93/92dKnTvsLjUVv5wnuF55Lt2wJv4CbxVn4hHwotGfSomTBO
++7o6hE3VIIo1C6lkP+FAqMyWKA9s6U0x4tGxCXszW3hPWOANLIT4m0e55ayxiy5A
+ESEVW/xx6Rul75u925m21AqA6wwaEB6ZPKTnUiWoNKNv1xi8LPIz12+0nuE6iT1K
+jQIDAQAB
+-----END PUBLIC KEY-----
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-au-key/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-1.14.0-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-1.14.0-r2.ebuild
new file mode 120000
index 0000000000..2fef540816
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-1.14.0-r2.ebuild
@@ -0,0 +1 @@
+coreos-cloudinit-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild
new file mode 100644
index 0000000000..23fcb739c1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild
@@ -0,0 +1,57 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="flatcar/coreos-cloudinit"
+CROS_WORKON_LOCALNAME="coreos-cloudinit"
+CROS_WORKON_REPO="https://github.com"
+COREOS_GO_PACKAGE="github.com/coreos/coreos-cloudinit"
+COREOS_GO_GO111MODULE="off"
+inherit cros-workon systemd toolchain-funcs udev coreos-go
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="4de1033b7a0600c84ea86f8fac8b580116f4f8f1" # flatcar-master
+ KEYWORDS="amd64 arm64"
+fi
+
+DESCRIPTION="coreos-cloudinit"
+HOMEPAGE="https://github.com/coreos/coreos-cloudinit"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="!=sys-apps/shadow-4.1.5.1
+"
+
+src_prepare() {
+ coreos-go_src_prepare
+
+ GOPATH+=":${S}/third_party"
+
+ if gcc-specs-pie; then
+ CGO_LDFLAGS+=" -fno-PIC"
+ fi
+}
+
+src_compile() {
+ export GO15VENDOREXPERIMENT="1"
+ GO_LDFLAGS="-X main.version=$(git describe --dirty)" || die
+ coreos-go_src_compile
+}
+
+src_install() {
+ dobin ${GOBIN}/coreos-cloudinit
+ udev_dorules units/*.rules
+ systemd_dounit units/*.mount
+ systemd_dounit units/*.path
+ systemd_dounit units/*.service
+ systemd_dounit units/*.target
+ systemd_enable_service multi-user.target system-config.target
+ systemd_enable_service multi-user.target user-config.target
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/coreos-dev-0.1.0-r81.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/coreos-dev-0.1.0-r81.ebuild
new file mode 120000
index 0000000000..ca6eabbbd6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/coreos-dev-0.1.0-r81.ebuild
@@ -0,0 +1 @@
+coreos-dev-0.1.0.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/coreos-dev-0.1.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/coreos-dev-0.1.0.ebuild
new file mode 100644
index 0000000000..60ef839532
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/coreos-dev-0.1.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="CoreOS developer images and containers (meta package)"
+HOMEPAGE="http://coreos.com"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86"
+
+# The dependencies here are meant to capture "all the packages
+# developers want to use for development, test, or debug". This
+# category is meant to include all developer use cases, including
+# software test and debug, performance tuning, hardware validation,
+# and debugging failures.
+RDEPEND="
+ app-portage/gentoolkit
+ coreos-base/coreos
+ coreos-base/emerge-gitclone
+ dev-lang/python
+ dev-util/strace
+ || ( dev-util/pahole dev-util/dwarves )
+ dev-vcs/repo
+ net-analyzer/netperf
+ net-dialup/minicom
+ net-misc/iperf
+ net-misc/iputils
+ net-misc/openssh
+ net-misc/rsync
+ sys-apps/coreutils
+ sys-apps/diffutils
+ sys-apps/file
+ sys-apps/findutils
+ sys-apps/i2c-tools
+ sys-apps/kbd
+ sys-apps/less
+ sys-apps/portage
+ sys-apps/smartmontools
+ sys-apps/which
+ sys-devel/gcc
+ sys-devel/gdb
+ sys-fs/lvm2
+ sys-process/procps
+ sys-process/psmisc
+ "
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-dev/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/README b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/README
new file mode 100644
index 0000000000..ecfbc513fb
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/README
@@ -0,0 +1,2 @@
+If /etc/sshd_config changes make sure to apply the change to sys-auth/google-oslogin.
+Those files must be kept in sync.
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r173.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r173.ebuild
new file mode 120000
index 0000000000..df02d424d0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r173.ebuild
@@ -0,0 +1 @@
+coreos-init-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild
new file mode 100644
index 0000000000..8e9edd44dd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild
@@ -0,0 +1,55 @@
+# Copyright (c) 2013 The CoreOS Authors. All rights reserved.
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="flatcar/init"
+CROS_WORKON_LOCALNAME="init"
+CROS_WORKON_REPO="https://github.com"
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+else
+ CROS_WORKON_COMMIT="80e4a9fa63fc1dc21cb2c76dd63842de93a6f031" # flatcar-3033-backport
+ KEYWORDS="amd64 arm arm64 x86"
+fi
+
+PYTHON_COMPAT=( python3_6 )
+
+inherit cros-workon systemd python-any-r1
+
+DESCRIPTION="Init scripts for CoreOS"
+HOMEPAGE="http://www.coreos.com/"
+SRC_URI=""
+
+LICENSE="BSD"
+SLOT="0/${PVR}"
+IUSE="test symlink-usr"
+
+REQUIRED_USE="symlink-usr"
+
+# Daemons we enable here must installed during build/install in addition to
+# during runtime so the systemd unit enable step works.
+DEPEND="
+ net-misc/openssh
+ net-nds/rpcbind
+ !coreos-base/oem-service
+ test? ( ${PYTHON_DEPS} )
+ "
+RDEPEND="${DEPEND}
+ app-admin/logrotate
+ sys-block/parted
+ sys-apps/gptfdisk
+ >=sys-apps/systemd-207-r5
+ >=coreos-base/coreos-cloudinit-0.1.2-r5
+ "
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # Enable some sockets that aren't enabled by their own ebuilds.
+ systemd_enable_service sockets.target sshd.socket
+
+ # Enable some services that aren't enabled elsewhere.
+ systemd_enable_service rpcbind.target rpcbind.service
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/coreos-oem-gce-0.0.1-r5.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/coreos-oem-gce-0.0.1-r5.ebuild
new file mode 120000
index 0000000000..348c68c571
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/coreos-oem-gce-0.0.1-r5.ebuild
@@ -0,0 +1 @@
+coreos-oem-gce-0.0.1.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/coreos-oem-gce-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/coreos-oem-gce-0.0.1.ebuild
new file mode 100644
index 0000000000..e1ee050a08
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/coreos-oem-gce-0.0.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright (c) 2016 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="CoreOS OEM suite for Google Compute Engine (meta package)"
+HOMEPAGE=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+RDEPEND="
+ app-emulation/google-compute-engine
+ app-shells/bash
+ sys-libs/glibc
+ sys-libs/nss-usrfiles
+"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/files/manglefs.sh b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/files/manglefs.sh
new file mode 100644
index 0000000000..82d80c3922
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/files/manglefs.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+set -e
+
+# GCE can work with our normal file system, but it needs an "init system".
+# Here is a better place to install this script so it doesn't get put in real
+# images built from the GCE Python package.
+cat << 'EOF' > init.sh && chmod 755 init.sh
+#!/bin/bash -ex
+
+# Write a configuration template if it does not exist.
+[ -e /etc/default/instance_configs.cfg.template ] ||
+echo -e > /etc/default/instance_configs.cfg.template \
+ '[InstanceSetup]\nset_host_keys = false'
+
+# Run the initialization scripts.
+/usr/bin/google_instance_setup
+/usr/bin/google_metadata_script_runner --script-type startup
+
+# Handle the signal to shut down this service.
+trap 'stopping=1 ; kill "${daemon_pids[@]}" || :' SIGTERM
+
+# Fork the daemon processes.
+daemon_pids=()
+for d in accounts clock_skew network
+do
+ /usr/bin/google_${d}_daemon & daemon_pids+=($!)
+done
+
+# Notify the host that everything is running.
+NOTIFY_SOCKET=/run/systemd/notify /usr/bin/systemd-notify --ready
+
+# Pause while the daemons are running, and stop them all when one dies.
+wait -n "${daemon_pids[@]}" || :
+kill "${daemon_pids[@]}" || :
+
+# If a daemon died while we're not shutting down, fail.
+test -n "$stopping" || exit 1
+
+# Otherwise, run the shutdown script before quitting.
+exec /usr/bin/google_metadata_script_runner --script-type shutdown
+EOF
+
+# Disable PAM checks in the container.
+rm -f usr/lib/pam.d/*
+cat << 'EOF' > usr/lib/pam.d/other
+account optional pam_permit.so
+auth optional pam_permit.so
+password optional pam_permit.so
+session optional pam_permit.so
+EOF
+
+# Don't bundle these paths, since they are useless to us.
+mv usr/lib64/systemd/lib*.so* usr/lib64/
+rm -fr boot etc/* usr/lib64/systemd var/db/pkg
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/files/manifest.in b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/files/manifest.in
new file mode 100644
index 0000000000..b7a8896f85
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/files/manifest.in
@@ -0,0 +1,33 @@
+{
+ "acKind": "ImageManifest",
+ "acVersion": "0.8.6",
+ "name": "@ACI_NAME@",
+ "labels": [
+ {"name": "arch", "value": "@ACI_ARCH@"},
+ {"name": "os", "value": "linux"},
+ {"name": "version", "value": "@ACI_VERSION@"}
+ ],
+ "app": {
+ "exec": [ "/init.sh" ],
+ "user": "0",
+ "group": "0",
+
+ "mountPoints": [
+ {
+ "name": "etc",
+ "path": "/etc",
+ "readOnly": false
+ },
+ {
+ "name": "home",
+ "path": "/home",
+ "readOnly": false
+ },
+ {
+ "name": "runsystemd",
+ "path": "/run/systemd",
+ "readOnly": false
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-oem-gce/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/coreos-sb-keys-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/coreos-sb-keys-0.0.1.ebuild
new file mode 100644
index 0000000000..9ff15fdf5d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/coreos-sb-keys-0.0.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright (c) 2015 CoreOS Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="CoreOS Secure Boot keys"
+HOMEPAGE=""
+SRC_URI=""
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86"
+IUSE=""
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /usr/share/sb_keys
+ newins "${FILESDIR}/PK.key" PK.key
+ newins "${FILESDIR}/PK.crt" PK.crt
+ newins "${FILESDIR}/KEK.key" KEK.key
+ newins "${FILESDIR}/KEK.crt" KEK.crt
+ newins "${FILESDIR}/DB.key" DB.key
+ newins "${FILESDIR}/DB.crt" DB.crt
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/DB.crt b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/DB.crt
new file mode 100644
index 0000000000..e621892143
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/DB.crt
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDBTCCAe2gAwIBAgIJALVWTDRRd7EnMA0GCSqGSIb3DQEBCwUAMBkxFzAVBgNV
+BAMMDkNvcmVPUyB0ZXN0IERCMB4XDTE1MDQxMzE4MzM0NloXDTE1MDUxMzE4MzM0
+NlowGTEXMBUGA1UEAwwOQ29yZU9TIHRlc3QgREIwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQCwQoQNxPH1ei+RNEcxmdn8cCNc/tYXuLObAUHtTp9AqCYr
+BkZiFZ25RmujfmJDdK4fPN81tpNC0aKKr71UYgcj13noHmOgR9Rv3rRxwBib3n7S
+K4RjnpW6V2aRDYNo0BH25lk/5M8IE6SX0SIuG1vCFavAj5s0dg5ycPHkDj1Ypbmv
+Q6froIdCVX3fSNXSgPY812Eb36yNyZFybetQupfVRsl0auCUNh3anNLPCFre1oZf
+lkx+U3BFXDZ0k8Fjq+fzvKxu4ef9XpZmXieow5YCwemCRItl+ftBeWD/OjXoNXBR
+sij3QNi/CxrO59DiklpGolPaCVA0oJYWL5XkWI/dAgMBAAGjUDBOMB0GA1UdDgQW
+BBRmPA/wBsfGI3EH2/X5W/SuwY1NOzAfBgNVHSMEGDAWgBRmPA/wBsfGI3EH2/X5
+W/SuwY1NOzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCW9TbpGhGv
+ZPPlb0X05wXYnzKUUq6U3IlxGVghwjLeE6/IIQvWn+sl7l9PNainzPATx1jZ7YSR
+HTCXhtfbnM9WICOV/h4Vztt7Z2m65gDa+/5679VpQfrqG5oV7FhucmPiMNbiy92Y
+F5SjB/HmRaSfimew3RmnOVUeUySW7Nw7tA5ka/nG0U9hXd296z7ghJlZQj1qTYtr
+1Y2yv4QSiRWNZcJSOq79tdGbAJqkqibo775UH6sj/UfHMoDQTvAenF8H/4F80r+6
+X2pgnX96ihshJ2MAXQnhbLLmPtXn/pV122xis/177yrefavHFTp14KPbnU1K3jeW
+hoLJhYcZKXdz
+-----END CERTIFICATE-----
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/DB.key b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/DB.key
new file mode 100644
index 0000000000..37b3b90688
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/DB.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCwQoQNxPH1ei+R
+NEcxmdn8cCNc/tYXuLObAUHtTp9AqCYrBkZiFZ25RmujfmJDdK4fPN81tpNC0aKK
+r71UYgcj13noHmOgR9Rv3rRxwBib3n7SK4RjnpW6V2aRDYNo0BH25lk/5M8IE6SX
+0SIuG1vCFavAj5s0dg5ycPHkDj1YpbmvQ6froIdCVX3fSNXSgPY812Eb36yNyZFy
+betQupfVRsl0auCUNh3anNLPCFre1oZflkx+U3BFXDZ0k8Fjq+fzvKxu4ef9XpZm
+Xieow5YCwemCRItl+ftBeWD/OjXoNXBRsij3QNi/CxrO59DiklpGolPaCVA0oJYW
+L5XkWI/dAgMBAAECggEBAJ3d1XynqrbciwIYurM4Qz+QCHxgWszAR01LoQq04nn8
+oMLkSeHLzoqFAh9bMRONy+56jMkFD3xHWrewk3iinBaEBdHadgy2iRTxeNhw3xmr
+/Batl1PKU/ykD19XpR0ZTx2+Tq2ld7CaN08qptx48IQy+LPta2tfWa0yb9R81IEx
+4NwuVe/wevPkcZYSL/G9PDKXBe6IoJoIP8RhqxPpYOxlyOpMxiIbjDRwsUSPM9FX
+coZ8kZ4Ypa3phyRcjSHdQBXwJdGu6jFbsg+lbVIETM6mGvygDgIIXLALBJk0SsGs
+pwZZqk3SAVL5veV8pCFab8xoa0P9352e54W8yJKBmgECgYEA3toELmYnPs/Gotd1
+MnTwkzIYdGn5OVOM1lmg3boizVkGAdC3EUQ/gdb5dUs6ondPcKvDWiJjnxQjGmqH
+en2mSLJSDpHv+zs+MhTdRBoGkqMPJZK5IEe8DU2ITv7io7gkyA7tecbftQEkzZCL
+wLUqFPOOt5xVbrazva+x1P28y8ECgYEAynpTsXVTjcXwrFqG3JPSfvAKYbO2SaBg
+FaBKtGa/Ve0ReKxbSDis4nDOdM64Vu1EGH50TBO4mp8EoTL8CaNGXI6nebMpFlID
+6AYkbwafo/qrQ/jG/bo6D+83Hmve3iCBqhaTlzIAIWQha3iHRJmtu5CJAmg/IV6r
+dt6472MAOx0CgYAWWqw8s0aQiGsWfqJk81IGkeneE5tKYtUn00nNtBQ1oQ53NCaI
+9t2f+p5/Y5J4JZu0Y6Zu7jAsDusOhU0dvmjlte2BRKZb/y9X+rvPTwUFxJGKZVNo
+p4l3lCVuNyco4Rnfb4/mvUpHb9vvOuap6AJWo6/XPzlap70T9AHUqbc8gQKBgQDE
+iWS/tkD6No5c3ipV5W7HJD0PhR+F7BQYKdUZszo6L7lrxvF78vdtfU4Jd7bbOceF
+dwlv5xyjiYM27YRT3pantRi/OrbBIa8FAyFOW8GNq/2eJtcQ5jkBypNYBiD4v9jc
+vrlYY4JY5xbBeObkIb/PdoZnPcU5oOkSozIju5c3yQKBgB696ZmO9FJy/mojDbhT
+zgzusTRs9AG0eHp/uAcwAb61UfDnmu8SonS+ba9M+UjAG0UlsN60RYjh2EKSUugv
+h1xOm4UCQzey7VhgJoHXWuxLWZ8rc3/wldf3ggDUgq1+aia+uwSBnjj9BtbfCy9Z
+LuqCnBSr1dq9sP2vNa71tpEk
+-----END PRIVATE KEY-----
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/KEK.crt b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/KEK.crt
new file mode 100644
index 0000000000..54646e2aae
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/KEK.crt
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDBzCCAe+gAwIBAgIJAN/ga2oSNhyiMA0GCSqGSIb3DQEBCwUAMBoxGDAWBgNV
+BAMMD0NvcmVPUyB0ZXN0IEtFSzAeFw0xNTA0MTMxODMzMzRaFw0xNTA1MTMxODMz
+MzRaMBoxGDAWBgNVBAMMD0NvcmVPUyB0ZXN0IEtFSzCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAL/DE8ss0bgdKgLmyQ6CQsAUpeWwLlxMNca+LROR5+UH
+VAa/Xph30xdfmpydWxUO0Ga1ZnyTfZp+UfOWya9kYkzzmmuKAzC0HLzolSWxQ3sL
+EDsXEbpfl7KsjDvPuXdVoJukdN8EppqP6DLGjHbY5lk5AfXj7xCP3wHlLzMsPoxu
+hkfDfZSB0qJ5r+L6egz50Vufvxn1oiolMWh7zorkQaM5i4cP6BEQtan7WNhKDJAZ
+3fbApmcJyOP7TvWLHcAyuI2FM13J89bc7vrclb2PrtAoijNyDnNImLb187/gC8Ab
+kHVFIm8KyZ8ZByNoU5hy4bA1U/EEZ+slyIqqKcnWbukCAwEAAaNQME4wHQYDVR0O
+BBYEFC1uWlFmCG6L18813V9Xy12dQ/MJMB8GA1UdIwQYMBaAFC1uWlFmCG6L1881
+3V9Xy12dQ/MJMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAEOKN7AS
+2szIJ4ejcxRJhih5rBFwVkim80rwBX8Ga3sStAAKEpdZC7fjrxXm8UWYbEa8Qisz
++O74T7QqXaCRoxh3ij4fgg4clULOfjGGWWEghl4rtpUIsarCk3HWtEzqLWbAQOA0
+co3B08KbwYhOYfx1MkRE1K6kFKojJ1tod/w9jxY1/w/qmJKFP/vM6//H9dhVPr14
+4ySqz/NYhb0FZRVGJkeLbXWy4sLZy2Of+ojCRjjAgmY9RAT6ZxovgyXqVBDWfboX
+4Yp9bAboktfNtX6+9wMIW5bTuZ5yZjK+I+MnHSqbRVh/6T/kh5j5+jdPXnKgZGXy
+PWAnhbRJTjUAVTY=
+-----END CERTIFICATE-----
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/KEK.key b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/KEK.key
new file mode 100644
index 0000000000..0536b49f82
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/KEK.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC/wxPLLNG4HSoC
+5skOgkLAFKXlsC5cTDXGvi0TkeflB1QGv16Yd9MXX5qcnVsVDtBmtWZ8k32aflHz
+lsmvZGJM85prigMwtBy86JUlsUN7CxA7FxG6X5eyrIw7z7l3VaCbpHTfBKaaj+gy
+xox22OZZOQH14+8Qj98B5S8zLD6MboZHw32UgdKiea/i+noM+dFbn78Z9aIqJTFo
+e86K5EGjOYuHD+gRELWp+1jYSgyQGd32wKZnCcjj+071ix3AMriNhTNdyfPW3O76
+3JW9j67QKIozcg5zSJi29fO/4AvAG5B1RSJvCsmfGQcjaFOYcuGwNVPxBGfrJciK
+qinJ1m7pAgMBAAECggEAL5jxMc4nJAcBJYU5RIOqo9i8MN3hNAGqm3Ea6S+fGqcO
+ATrA9SFQ4Q1W6Cbas8hgjA3cqXFGjPFr0AWOfB1zlNwmaSjxj8Y1F+K3Gor8T+84
+ESKxwMv3cF8J09LEm01Ctz9DzxNtcxHjNa84sEs4Kc9PoEP6U+cSGHtVkuMZh2t9
+hNad8DfdM2oZi5IPcVcBXr/+QmyjereKlTij5BPSdeKw2JKprv0NWgzuZkDlhtAF
+aSNLkODk3NT9+zMSqvuSkNkWuvcl8kFG32strHzsEKneugEbLQPLwEA2hRz6gDo2
+alPUo9shg4o54r47pascVJjbiFPevIvF0GTgmv/VAQKBgQDodWPClJZiyifJ6M65
+V4p+N4evhr6xBTxYMTfXoXIT6IwqyiDyhDnjUApM9wwr9YTxixJukAdcdDnWOMJb
+qR2JquGXeChPAArH69FzsuybVXURpBiIOBBNFmWf/T97Aw55l6OXxzA/aAuQMFyF
+H8zEQddC57yEMIpToTuNkNq8CQKBgQDTLpvNtsqKBxIpnybv2gRo2MDgJtk+PGu/
+UN3f1GDP1C9nhEVWb1n4v7n9bhYs5zra3vYkgvr317QVAbKF+PUmIPLmid5gN8J5
+46+qdVvK88UPJye2cuIrHO/XScWiC95SzQo6KfVNqawLJhioZ3OlK69pOcLoXWsO
+/nJC5i6T4QKBgQCM6hx/Z/OCD2nvS+GFGTwrJx5pmRUf2jyqeauQW53704yko8M1
+QFKXKX4VCe2m+D6O7e9OdqD/urUU13N6fRoayivW1lAZE711U860hFJKF5PQDdmR
+Oesnz9vrEGna+A9eRj41U9o7labs0WREjvJiRkdnl3L/7yzrZWHkf1sZgQKBgQDJ
+X49oKR6XYci68a0yV8WOqOm6lLDhPMJNy3HXBvBOHXoajrGDi2jS3xgehoQUy2V+
+4c763/8qqIBq65RtVgmGEzMsDFmFjIYgrrGKrKAcNjk5is++lWv/SneV5h3TuNeG
+Q0i2T94+8UVB2FD4/LT00mRQxaiK5NG6mX0hN9dAYQKBgEC8GarO5+lPEXNhkqcM
+rWBtZTszTP9WGs0nB6+ZGZ+23uMwNA/6YZvyvAssfJ9yr4pyI/r2WH0rHa9146s0
+rJx+Xs/TSbGRYDq7BcwjN3DuSvoCg/0arVeoptrmoDIrFOzhlgQWdrIOMqVKTNKi
+s/B7OsUuIhJ7HAJSatt2uzam
+-----END PRIVATE KEY-----
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/PK.crt b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/PK.crt
new file mode 100644
index 0000000000..9fcb2a2e17
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/PK.crt
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDBTCCAe2gAwIBAgIJAPrtEex/4ln3MA0GCSqGSIb3DQEBCwUAMBkxFzAVBgNV
+BAMMDkNvcmVPUyB0ZXN0IFBLMB4XDTE1MDQxMzE4MzMyMloXDTE1MDUxMzE4MzMy
+MlowGTEXMBUGA1UEAwwOQ29yZU9TIHRlc3QgUEswggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQCrAWnfZoNaw4FVFbdkQo+aBTjMnaEs643EdqoXRn8ohmJu
+gCnNNy4mcwsxrx7ksSyfU3ZeVeFXFcydAt53F0hFLsWEi/Riw59AImOuyOXxcrK5
+CAzaOqWIs0RvDqvEJjm7JSuOVndeTVFp7d/2up0zJoXltMaZLs3748AyI29aL2jr
+PEW8+FZRqp/z9/EWpifcPZXFzqc7QYTwamfznwqUIFXMLqW5bREroFpZ9MMTmc86
+WMQYUySPdCxvQKKgvGyf0qYWVw2mPp6jZZF84dELn1FvNJ4AMIa/d2TGSkNOpPkn
+0VTWtmJTZoY2n/0/KHFQPT1Ot7M9/s6pRd8IIfDzAgMBAAGjUDBOMB0GA1UdDgQW
+BBRHBFY7ba7b2aOujtUZB1dHVQUqFDAfBgNVHSMEGDAWgBRHBFY7ba7b2aOujtUZ
+B1dHVQUqFDAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCT3Xs/My5E
+ST//7SrupTakH+QRd7/qIFj2/coXuWE0Qp9cWiWIy9GDyd0oyQsKQklVbuLArju4
+N8oekgtJnNoYbJnLs0JPfAIC5Np3wYTNCyjVi8kSyKSWdXM2vKkycG023sFiFdSk
+0pgmwCO1E8fGxe9YDjCdtRTp8+j6m5GrRkl3YYfqYtUFfXy+BhcKs1H6AlfaKAZH
+m1fYDGmGGuOTij/5yEyY38NJybjL8Aak89nwuVrHm76whldsA3LfPYenjLk5qTd8
+yEYgvoajAZDIXkT05F9E9SdSaob2ZK1nDp98kG+rnv7dN/xQVfaKywuM3cdy5TKk
+VqV0ENF7w+O5
+-----END CERTIFICATE-----
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/PK.key b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/PK.key
new file mode 100644
index 0000000000..589fef190e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/files/PK.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCrAWnfZoNaw4FV
+FbdkQo+aBTjMnaEs643EdqoXRn8ohmJugCnNNy4mcwsxrx7ksSyfU3ZeVeFXFcyd
+At53F0hFLsWEi/Riw59AImOuyOXxcrK5CAzaOqWIs0RvDqvEJjm7JSuOVndeTVFp
+7d/2up0zJoXltMaZLs3748AyI29aL2jrPEW8+FZRqp/z9/EWpifcPZXFzqc7QYTw
+amfznwqUIFXMLqW5bREroFpZ9MMTmc86WMQYUySPdCxvQKKgvGyf0qYWVw2mPp6j
+ZZF84dELn1FvNJ4AMIa/d2TGSkNOpPkn0VTWtmJTZoY2n/0/KHFQPT1Ot7M9/s6p
+Rd8IIfDzAgMBAAECggEAZI/0Ptf+LwYBrJOUwXUTFbQ0br/T5KKxP/O4mu9uH9rH
+T8w2yOPGU/4beyBMvpgicZ+XYGqIlbnQFhV11frvGSAkL4pOMTZxFDok/MhP0Olu
+iLlfNYZ/iiBCAj1SbYs9L/zv3Eik8ePuGKk2p9WeVFI3M5pXoAWSRKruf42vEg0Q
+mAvjpabEFi41RavmO6EuDt5m6VOO3wgGXBZw/+skTtCtlhABK08aggV4a1jrrAJX
+FVH8+XmYG7xknxMLxQYSuG1H0n86iext1+jtL74qd51PeaVzfXfE00xjnM08naV+
+XivpwhxsSo0aSMsuOipvMefvQDDwbYVN1RVlEIDuoQKBgQDhRy7j2Dz1zN+C0Bg3
+X2xInQGHq3MineGa/DCzN17rGT0jYB/9FMZTSfk60RNzFacHgLhfSxk0sPfBdi+J
+WGWjm48nVz/vsx6V8DNOYiHoi2DxdpHoohUzdxKccySnv1vMDcVRQg3gb47UNp0p
+FRqi/g47Ts+JSLS29X6vqB/iBwKBgQDCU31L4ipLXOWbiJDQVGq5A0N0zAo2j+Jx
+Kr3G+R72XRHTBLCvverayCwrI+fvUyvAeUs/trswQ/PmXdkmg40EEJDCJ87ktfEW
+MfgRJhloPJkyTf+JKaLlUQwgV7YVtV932EWC8V9Rdcf8rNZ9gt9TiiwGOTCrNDH4
+tL1d1T9OtQKBgAXgw5pyU/Td6Z8SKu+W785dOmL92D04/V/74JFsim978xpvMaZ6
+2knmDji4p9dC417Qvv7NiNTVIUHNAaSFx/Ei5/NQ1Xw9ojirUctjyBq3OEpUm64E
+PKVhH/0xC+3MkmqamWFrZc1LW+CxpBwkTtOd6WUmw0eDvCNh+HJA4sQVAoGBAKFN
+rDPRCEqGUhFIyuwjJnNswhGxTMj9pnlJgT4ojAr0NldzDTbT7p6sif1FUMDXyPl7
+tXqts7PctBgEzrupduRo28BOSu6OGBDUaZXSikR8CK45EGRKq2yuWeJ+7CYY56YT
+X5/Ru81idx7GWUTV3Yr6ppCD6GI0cUaAwK+i02oBAoGAcCho+7uZ0+I2BkR9Fxz/
+gdHgL3Cw5o3x7i1erXXCoxN9YLHwidOtj9w+8IS9dSY9ii08w8LE4BXpgoFe+TGU
+yXgEnl8qOUAcXKMu4jRj4LqNaJWXnAZ7J+1WJZ4h7ygGEJh0aYByiUdL5aShs/YJ
+CevUdCQxnWbrAySfMEMIXg0=
+-----END PRIVATE KEY-----
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-sb-keys/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r301.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r301.ebuild
new file mode 120000
index 0000000000..cea9644219
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1-r301.ebuild
@@ -0,0 +1 @@
+coreos-0.0.1.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild
new file mode 100644
index 0000000000..6f7539e1ce
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild
@@ -0,0 +1,201 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="CoreOS (meta package)"
+HOMEPAGE="http://coreos.com"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86"
+IUSE="selinux"
+
+
+################################################################################
+#
+# READ THIS BEFORE ADDING PACKAGES TO THIS EBUILD!
+#
+################################################################################
+#
+# Every coreos dependency (along with its dependencies) is included in the
+# release image -- more packages contribute to longer build times, a larger
+# image, slower and bigger auto-updates, increased security risks, etc. Consider
+# the following before adding a new package:
+#
+# 1. Does the package really need to be part of the release image?
+#
+# Some packages can be included only in the developer or test images, i.e., the
+# chromeos-dev or chromeos-test ebuilds. If the package will eventually be used
+# in the release but it's still under development, consider adding it to
+# chromeos-dev initially until it's ready for production.
+#
+# 2. Why is the package a direct dependency of the chromeos ebuild?
+#
+# It makes sense for some packages to be included as a direct dependency of the
+# chromeos ebuild but for most it doesn't. The package should be added as a
+# direct dependency of the ebuilds for all packages that actually use it -- in
+# time, this ensures correct builds and allows easier cleanup of obsolete
+# packages. For example, if a utility will be invoked by the session manager,
+# its package should be added as a dependency in the chromeos-login ebuild. Or
+# if the package adds a daemon that will be started through an upstart job, it
+# should be added as a dependency in the chromeos-init ebuild. If the package
+# really needs to be a direct dependency of the chromeos ebuild, consider adding
+# a comment why the package is needed and how it's used.
+#
+# 3. Are all default package features and dependent packages needed?
+#
+# The release image should include only packages and features that are needed in
+# the production system. Often packages pull in features and additional packages
+# that are never used. Review these and consider pruning them (e.g., through USE
+# flags).
+#
+# 4. What is the impact on the image size?
+#
+# Before adding a package, evaluate the impact on the image size. If the package
+# and its dependencies increase the image size significantly, consider
+# alternative packages or approaches.
+#
+# 5. Is the package needed on all targets?
+#
+# If the package is needed only on some target boards, consider making it
+# conditional through USE flags in the board overlays.
+#
+################################################################################
+
+RDEPEND=">=sys-apps/baselayout-3.0.0"
+
+# Optionally enable SELinux for dbus and systemd (but always install packages and pull in the SELinux policy for containers)
+RDEPEND="${RDEPEND}
+ sys-apps/dbus[selinux?]
+ sys-apps/systemd[selinux?]
+ "
+
+# Only applicable or available on amd64
+RDEPEND="${RDEPEND}
+ amd64? (
+ app-admin/adcli
+ app-crypt/go-tspi
+ app-emulation/xenserver-pv-version
+ app-emulation/xenstore
+ net-fs/cifs-utils
+ sys-auth/realmd
+ sys-auth/sssd
+ )"
+
+RDEPEND="${RDEPEND}
+ app-admin/etcd-wrapper
+ app-admin/flannel-wrapper
+ app-admin/locksmith
+ app-admin/mayday
+ app-admin/sdnotify-proxy
+ app-admin/sudo
+ app-admin/toolbox
+ app-arch/gzip
+ app-arch/bzip2
+ app-arch/lbzip2
+ app-arch/lz4
+ app-arch/xz-utils
+ app-arch/zstd
+ app-arch/tar
+ app-arch/torcx
+ app-arch/unzip
+ app-arch/zip
+ app-crypt/gnupg
+ app-crypt/tpmpolicy
+ app-editors/vim
+ app-emulation/actool
+ app-emulation/cri-tools
+ app-misc/ca-certificates
+ app-misc/jq
+ app-misc/pax-utils
+ app-shells/bash
+ coreos-base/afterburn
+ coreos-base/coreos-cloudinit
+ coreos-base/coreos-init
+ coreos-base/update-ssh-keys
+ coreos-base/update_engine
+ dev-db/etcdctl
+ dev-libs/openssl
+ dev-util/strace
+ dev-util/bsdiff
+ dev-vcs/git
+ net-analyzer/nmap
+ net-analyzer/tcpdump
+ net-dns/bind-tools
+ net-firewall/conntrack-tools
+ net-firewall/ebtables
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/nftables
+ net-fs/nfs-utils
+ net-misc/bridge-utils
+ net-misc/curl
+ net-misc/iputils
+ net-misc/ntp
+ net-misc/rsync
+ net-misc/socat
+ net-misc/wget
+ net-misc/whois
+ net-vpn/wireguard-tools
+ sec-policy/selinux-virt
+ sec-policy/selinux-base
+ sec-policy/selinux-base-policy
+ sec-policy/selinux-unconfined
+ sys-apps/acl
+ sys-apps/attr
+ sys-apps/coreutils
+ sys-apps/checkpolicy
+ sys-apps/dbus
+ sys-apps/diffutils
+ sys-apps/ethtool
+ sys-apps/findutils
+ sys-apps/gawk
+ sys-apps/gptfdisk
+ sys-apps/grep
+ sys-apps/iproute2
+ sys-apps/kexec-tools
+ sys-apps/keyutils
+ sys-apps/less
+ sys-apps/lshw
+ sys-apps/net-tools
+ sys-apps/nvme-cli
+ sys-apps/pciutils
+ sys-apps/policycoreutils
+ sys-apps/rng-tools
+ sys-apps/sed
+ sys-apps/seismograph
+ sys-apps/semodule-utils
+ sys-apps/shadow
+ sys-apps/usbutils
+ sys-apps/util-linux
+ sys-apps/which
+ sys-block/open-iscsi
+ sys-block/parted
+ sys-cluster/ipvsadm
+ sys-fs/btrfs-progs
+ sys-fs/cryptsetup
+ sys-fs/dosfstools
+ sys-fs/e2fsprogs
+ sys-fs/lsscsi
+ sys-fs/lvm2
+ sys-fs/mdadm
+ sys-fs/multipath-tools
+ sys-fs/quota
+ sys-fs/xfsprogs
+ sys-kernel/coreos-firmware
+ sys-kernel/coreos-kernel
+ sys-libs/glibc
+ sys-libs/nss-usrfiles
+ sys-libs/timezone-data
+ sys-process/lsof
+ sys-process/procps
+ x11-drivers/nvidia-metadata
+"
+
+# OEM specific bits that need to go in USR
+RDEPEND+="
+ amd64? (
+ sys-auth/google-oslogin
+ )
+"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/metadata.xml
new file mode 100644
index 0000000000..78c72fa819
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/metadata.xml
@@ -0,0 +1,20 @@
+
+
+
+chromium
+
+ chromium-os-dev@chromium.org
+ Maintained by The Chromium OS Authors.
+
+The Chromium OS base package pulls in dependencies to build a Chromium OS system.
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-0.0.1-r590.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-0.0.1-r590.ebuild
new file mode 120000
index 0000000000..9e6a3d1fe6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-0.0.1-r590.ebuild
@@ -0,0 +1 @@
+emerge-gitclone-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-9999.ebuild
new file mode 100644
index 0000000000..461c328e53
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/emerge-gitclone-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="flatcar/flatcar-dev-util"
+CROS_WORKON_REPO="https://github.com"
+CROS_WORKON_LOCALNAME="dev"
+CROS_WORKON_LOCALDIR="src/platform"
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+else
+ CROS_WORKON_COMMIT="401e84df7b12b0f385879583003a7cc0bd9bbc60" # flatcar-master
+ KEYWORDS="amd64 arm arm64 x86"
+fi
+
+PYTHON_COMPAT=( python3_6 )
+
+inherit cros-workon python-single-r1
+
+DESCRIPTION="emerge utilities for Flatcar developer images"
+HOMEPAGE="https://github.com/flatcar/flatcar-dev-util/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="sys-apps/portage"
+
+src_compile() {
+ echo "Nothing to compile"
+}
+
+src_install() {
+ python_doscript emerge-gitclone
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/emerge-gitclone/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/bootstrap.patch b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/bootstrap.patch
new file mode 100644
index 0000000000..084ca79b76
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/bootstrap.patch
@@ -0,0 +1,99 @@
+--- orig/bootstrap.sh 2021-02-02 14:04:27.121358890 +0100
++++ flatcar/bootstrap.sh 2021-02-02 14:07:15.175175277 +0100
+@@ -268,6 +268,9 @@
+ exit 1
+ fi
+
++# Store the cluster name in a config file, to use it from other sources
++mkdir -p /etc/eks
++echo "CLUSTER_NAME=\"${CLUSTER_NAME}\"" > /etc/eks/cluster.conf
+
+ TOKEN=$(get_token)
+ AWS_DEFAULT_REGION=$(get_meta_data 'latest/dynamic/instance-identity/document' | jq .region -r)
+@@ -284,7 +287,8 @@
+ PAUSE_CONTAINER="$PAUSE_CONTAINER_IMAGE:$PAUSE_CONTAINER_VERSION"
+
+ ### kubelet kubeconfig
+-
++shopt -s expand_aliases
++alias aws="docker run --rm --network host amazon/aws-cli"
+ CA_CERTIFICATE_DIRECTORY=/etc/kubernetes/pki
+ CA_CERTIFICATE_FILE_PATH=$CA_CERTIFICATE_DIRECTORY/ca.crt
+ mkdir -p $CA_CERTIFICATE_DIRECTORY
+@@ -324,9 +328,9 @@
+
+ echo $B64_CLUSTER_CA | base64 -d > $CA_CERTIFICATE_FILE_PATH
+
+-sed -i s,CLUSTER_NAME,$CLUSTER_NAME,g /var/lib/kubelet/kubeconfig
+-sed -i s,MASTER_ENDPOINT,$APISERVER_ENDPOINT,g /var/lib/kubelet/kubeconfig
+-sed -i s,AWS_REGION,$AWS_DEFAULT_REGION,g /var/lib/kubelet/kubeconfig
++sed -i s,CLUSTER_NAME,$CLUSTER_NAME,g /usr/share/oem/eks/kubelet-kubeconfig
++sed -i s,MASTER_ENDPOINT,$APISERVER_ENDPOINT,g /usr/share/oem/eks/kubelet-kubeconfig
++sed -i s,AWS_REGION,$AWS_DEFAULT_REGION,g /usr/share/oem/eks/kubelet-kubeconfig
+ ### kubelet.service configuration
+
+ if [[ -z "${DNS_CLUSTER_IP}" ]]; then
+@@ -345,7 +349,7 @@
+ DNS_CLUSTER_IP="${DNS_CLUSTER_IP}"
+ fi
+
+-KUBELET_CONFIG=/etc/kubernetes/kubelet/kubelet-config.json
++KUBELET_CONFIG=/usr/share/oem/eks/kubelet-config.json
+ echo "$(jq ".clusterDNS=[\"$DNS_CLUSTER_IP\"]" $KUBELET_CONFIG)" > $KUBELET_CONFIG
+
+ INTERNAL_IP=$(get_meta_data 'latest/meta-data/local-ipv4')
+@@ -357,7 +361,7 @@
+ # with this formula when scheduling pods: Allocatable = Capacity - Reserved - Eviction Threshold.
+
+ #calculate the max number of pods per instance type
+-MAX_PODS_FILE="/etc/eks/eni-max-pods.txt"
++MAX_PODS_FILE="/usr/share/oem/eks/eni-max-pods.txt"
+ set +o pipefail
+ MAX_PODS=$(cat $MAX_PODS_FILE | awk "/^${INSTANCE_TYPE:-unset}/"' { print $2 }')
+ set -o pipefail
+@@ -382,6 +386,8 @@
+ fi
+ fi
+
++cp /usr/share/oem/eks/kubelet.service /etc/systemd/system/
++
+ mkdir -p /etc/systemd/system/kubelet.service.d
+
+ cat < /etc/systemd/system/kubelet.service.d/10-kubelet-args.conf
+@@ -396,10 +402,16 @@
+ EOF
+ fi
+
++
+ # Replace with custom docker config contents.
++mkdir -p /etc/docker
+ if [[ -n "$DOCKER_CONFIG_JSON" ]]; then
+ echo "$DOCKER_CONFIG_JSON" > /etc/docker/daemon.json
+ systemctl restart docker
++else
++ # Copy the docker config shipped in /usr/share/oem
++ cp /usr/share/oem/eks/docker-daemon.json /etc/docker/daemon.json
++ systemctl restart docker
+ fi
+
+ if [[ "$ENABLE_DOCKER_BRIDGE" = "true" ]]; then
+@@ -409,7 +421,19 @@
+ systemctl restart docker
+ fi
+
++# sysctl tweaking
++cat <"
+ echo "Bootstraps an instance into an EKS cluster"
+ echo ""
+ echo "-h,--help print this help"
+ echo "--use-max-pods Sets --max-pods for the kubelet when true. (default: true)"
+ echo "--b64-cluster-ca The base64 encoded cluster CA content. Only valid when used with --apiserver-endpoint. Bypasses calling \"aws eks describe-cluster\""
+ echo "--apiserver-endpoint The EKS cluster API Server endpoint. Only valid when used with --b64-cluster-ca. Bypasses calling \"aws eks describe-cluster\""
+ echo "--kubelet-extra-args Extra arguments to add to the kubelet. Useful for adding labels or taints."
+ echo "--enable-docker-bridge Restores the docker default bridge network. (default: false)"
+ echo "--aws-api-retry-attempts Number of retry attempts for AWS API call (DescribeCluster) (default: 3)"
+ echo "--docker-config-json The contents of the /etc/docker/daemon.json file. Useful if you want a custom config differing from the default one in the AMI"
+ echo "--dns-cluster-ip Overrides the IP address to use for DNS queries within the cluster. Defaults to 10.100.0.10 or 172.20.0.10 based on the IP address of the primary interface"
+ echo "--pause-container-account The AWS account (number) to pull the pause container from"
+ echo "--pause-container-version The tag of the pause container"
+}
+
+POSITIONAL=()
+
+while [[ $# -gt 0 ]]; do
+ key="$1"
+ case $key in
+ -h|--help)
+ print_help
+ exit 1
+ ;;
+ --use-max-pods)
+ USE_MAX_PODS="$2"
+ shift
+ shift
+ ;;
+ --b64-cluster-ca)
+ B64_CLUSTER_CA=$2
+ shift
+ shift
+ ;;
+ --apiserver-endpoint)
+ APISERVER_ENDPOINT=$2
+ shift
+ shift
+ ;;
+ --kubelet-extra-args)
+ KUBELET_EXTRA_ARGS=$2
+ shift
+ shift
+ ;;
+ --enable-docker-bridge)
+ ENABLE_DOCKER_BRIDGE=$2
+ shift
+ shift
+ ;;
+ --aws-api-retry-attempts)
+ API_RETRY_ATTEMPTS=$2
+ shift
+ shift
+ ;;
+ --docker-config-json)
+ DOCKER_CONFIG_JSON=$2
+ shift
+ shift
+ ;;
+ --pause-container-account)
+ PAUSE_CONTAINER_ACCOUNT=$2
+ shift
+ shift
+ ;;
+ --pause-container-version)
+ PAUSE_CONTAINER_VERSION=$2
+ shift
+ shift
+ ;;
+ --dns-cluster-ip)
+ DNS_CLUSTER_IP=$2
+ shift
+ shift
+ ;;
+ *) # unknown option
+ POSITIONAL+=("$1") # save it in an array for later
+ shift # past argument
+ ;;
+ esac
+done
+
+set +u
+set -- "${POSITIONAL[@]}" # restore positional parameters
+CLUSTER_NAME="$1"
+set -u
+
+USE_MAX_PODS="${USE_MAX_PODS:-true}"
+B64_CLUSTER_CA="${B64_CLUSTER_CA:-}"
+APISERVER_ENDPOINT="${APISERVER_ENDPOINT:-}"
+SERVICE_IPV4_CIDR="${SERVICE_IPV4_CIDR:-}"
+DNS_CLUSTER_IP="${DNS_CLUSTER_IP:-}"
+KUBELET_EXTRA_ARGS="${KUBELET_EXTRA_ARGS:-}"
+ENABLE_DOCKER_BRIDGE="${ENABLE_DOCKER_BRIDGE:-false}"
+API_RETRY_ATTEMPTS="${API_RETRY_ATTEMPTS:-3}"
+DOCKER_CONFIG_JSON="${DOCKER_CONFIG_JSON:-}"
+PAUSE_CONTAINER_VERSION="${PAUSE_CONTAINER_VERSION:-3.1-eksbuild.1}"
+
+function get_pause_container_account_for_region () {
+ local region="$1"
+ case "${region}" in
+ ap-east-1)
+ echo "${PAUSE_CONTAINER_ACCOUNT:-800184023465}";;
+ me-south-1)
+ echo "${PAUSE_CONTAINER_ACCOUNT:-558608220178}";;
+ cn-north-1)
+ echo "${PAUSE_CONTAINER_ACCOUNT:-918309763551}";;
+ cn-northwest-1)
+ echo "${PAUSE_CONTAINER_ACCOUNT:-961992271922}";;
+ us-gov-west-1)
+ echo "${PAUSE_CONTAINER_ACCOUNT:-013241004608}";;
+ us-gov-east-1)
+ echo "${PAUSE_CONTAINER_ACCOUNT:-151742754352}";;
+ af-south-1)
+ echo "${PAUSE_CONTAINER_ACCOUNT:-877085696533}";;
+ eu-south-1)
+ echo "${PAUSE_CONTAINER_ACCOUNT:-590381155156}";;
+ *)
+ echo "${PAUSE_CONTAINER_ACCOUNT:-602401143452}";;
+ esac
+}
+
+function _get_token() {
+ local token_result=
+ local http_result=
+
+ token_result=$(curl -s -w "\n%{http_code}" -X PUT -H "X-aws-ec2-metadata-token-ttl-seconds: 600" "http://169.254.169.254/latest/api/token")
+ http_result=$(echo "$token_result" | tail -n 1)
+ if [[ "$http_result" != "200" ]]
+ then
+ echo -e "Failed to get token:\n$token_result"
+ return 1
+ else
+ echo "$token_result" | head -n 1
+ return 0
+ fi
+}
+
+function get_token() {
+ local token=
+ local retries=20
+ local result=1
+
+ while [[ retries -gt 0 && $result -ne 0 ]]
+ do
+ retries=$[$retries-1]
+ token=$(_get_token)
+ result=$?
+ [[ $result != 0 ]] && sleep 5
+ done
+ [[ $result == 0 ]] && echo "$token"
+ return $result
+}
+
+function _get_meta_data() {
+ local path=$1
+ local metadata_result=
+
+ metadata_result=$(curl -s -w "\n%{http_code}" -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/$path)
+ http_result=$(echo "$metadata_result" | tail -n 1)
+ if [[ "$http_result" != "200" ]]
+ then
+ echo -e "Failed to get metadata:\n$metadata_result\nhttp://169.254.169.254/$path\n$TOKEN"
+ return 1
+ else
+ local lines=$(echo "$metadata_result" | wc -l)
+ echo "$metadata_result" | head -n $(( lines - 1 ))
+ return 0
+ fi
+}
+
+function get_meta_data() {
+ local metadata=
+ local path=$1
+ local retries=20
+ local result=1
+
+ while [[ retries -gt 0 && $result -ne 0 ]]
+ do
+ retries=$[$retries-1]
+ metadata=$(_get_meta_data $path)
+ result=$?
+ [[ $result != 0 ]] && TOKEN=$(get_token)
+ done
+ [[ $result == 0 ]] && echo "$metadata"
+ return $result
+}
+
+# Helper function which calculates the amount of the given resource (either CPU or memory)
+# to reserve in a given resource range, specified by a start and end of the range and a percentage
+# of the resource to reserve. Note that we return zero if the start of the resource range is
+# greater than the total resource capacity on the node. Additionally, if the end range exceeds the total
+# resource capacity of the node, we use the total resource capacity as the end of the range.
+# Args:
+# $1 total available resource on the worker node in input unit (either millicores for CPU or Mi for memory)
+# $2 start of the resource range in input unit
+# $3 end of the resource range in input unit
+# $4 percentage of range to reserve in percent*100 (to allow for two decimal digits)
+# Return:
+# amount of resource to reserve in input unit
+get_resource_to_reserve_in_range() {
+ local total_resource_on_instance=$1
+ local start_range=$2
+ local end_range=$3
+ local percentage=$4
+ resources_to_reserve="0"
+ if (( $total_resource_on_instance > $start_range )); then
+ resources_to_reserve=$(((($total_resource_on_instance < $end_range ? \
+ $total_resource_on_instance : $end_range) - $start_range) * $percentage / 100 / 100))
+ fi
+ echo $resources_to_reserve
+}
+
+# Calculates the amount of memory to reserve for kubeReserved in mebibytes. KubeReserved is a function of pod
+# density so we are calculating the amount of memory to reserve for Kubernetes systems daemons by
+# considering the maximum number of pods this instance type supports.
+# Args:
+# $1 the max number of pods per instance type (MAX_PODS) based on values from /etc/eks/eni-max-pods.txt
+# Return:
+# memory to reserve in Mi for the kubelet
+get_memory_mebibytes_to_reserve() {
+ local max_num_pods=$1
+ memory_to_reserve=$((11 * $max_num_pods + 255))
+ echo $memory_to_reserve
+}
+
+# Calculates the amount of CPU to reserve for kubeReserved in millicores from the total number of vCPUs available on the instance.
+# From the total core capacity of this worker node, we calculate the CPU resources to reserve by reserving a percentage
+# of the available cores in each range up to the total number of cores available on the instance.
+# We are using these CPU ranges from GKE (https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#node_allocatable):
+# 6% of the first core
+# 1% of the next core (up to 2 cores)
+# 0.5% of the next 2 cores (up to 4 cores)
+# 0.25% of any cores above 4 cores
+# Return:
+# CPU resources to reserve in millicores (m)
+get_cpu_millicores_to_reserve() {
+ local total_cpu_on_instance=$(($(nproc) * 1000))
+ local cpu_ranges=(0 1000 2000 4000 $total_cpu_on_instance)
+ local cpu_percentage_reserved_for_ranges=(600 100 50 25)
+ cpu_to_reserve="0"
+ for i in ${!cpu_percentage_reserved_for_ranges[@]}; do
+ local start_range=${cpu_ranges[$i]}
+ local end_range=${cpu_ranges[(($i+1))]}
+ local percentage_to_reserve_for_range=${cpu_percentage_reserved_for_ranges[$i]}
+ cpu_to_reserve=$(($cpu_to_reserve + \
+ $(get_resource_to_reserve_in_range $total_cpu_on_instance $start_range $end_range $percentage_to_reserve_for_range)))
+ done
+ echo $cpu_to_reserve
+}
+
+if [ -z "$CLUSTER_NAME" ]; then
+ echo "CLUSTER_NAME is not defined"
+ exit 1
+fi
+
+
+TOKEN=$(get_token)
+AWS_DEFAULT_REGION=$(get_meta_data 'latest/dynamic/instance-identity/document' | jq .region -r)
+AWS_SERVICES_DOMAIN=$(get_meta_data '2018-09-24/meta-data/services/domain')
+
+MACHINE=$(uname -m)
+if [[ "$MACHINE" != "x86_64" && "$MACHINE" != "aarch64" ]]; then
+ echo "Unknown machine architecture '$MACHINE'" >&2
+ exit 1
+fi
+
+PAUSE_CONTAINER_ACCOUNT=$(get_pause_container_account_for_region "${AWS_DEFAULT_REGION}")
+PAUSE_CONTAINER_IMAGE=${PAUSE_CONTAINER_IMAGE:-$PAUSE_CONTAINER_ACCOUNT.dkr.ecr.$AWS_DEFAULT_REGION.$AWS_SERVICES_DOMAIN/eks/pause}
+PAUSE_CONTAINER="$PAUSE_CONTAINER_IMAGE:$PAUSE_CONTAINER_VERSION"
+
+### kubelet kubeconfig
+
+CA_CERTIFICATE_DIRECTORY=/etc/kubernetes/pki
+CA_CERTIFICATE_FILE_PATH=$CA_CERTIFICATE_DIRECTORY/ca.crt
+mkdir -p $CA_CERTIFICATE_DIRECTORY
+if [[ -z "${B64_CLUSTER_CA}" ]] || [[ -z "${APISERVER_ENDPOINT}" ]]; then
+ DESCRIBE_CLUSTER_RESULT="/tmp/describe_cluster_result.txt"
+
+ # Retry the DescribeCluster API for API_RETRY_ATTEMPTS
+ for attempt in `seq 0 $API_RETRY_ATTEMPTS`; do
+ rc=0
+ if [[ $attempt -gt 0 ]]; then
+ echo "Attempt $attempt of $API_RETRY_ATTEMPTS"
+ fi
+
+ aws eks wait cluster-active \
+ --region=${AWS_DEFAULT_REGION} \
+ --name=${CLUSTER_NAME}
+
+ aws eks describe-cluster \
+ --region=${AWS_DEFAULT_REGION} \
+ --name=${CLUSTER_NAME} \
+ --output=text \
+ --query 'cluster.{certificateAuthorityData: certificateAuthority.data, endpoint: endpoint, kubernetesNetworkConfig: kubernetesNetworkConfig.serviceIpv4Cidr}' > $DESCRIBE_CLUSTER_RESULT || rc=$?
+ if [[ $rc -eq 0 ]]; then
+ break
+ fi
+ if [[ $attempt -eq $API_RETRY_ATTEMPTS ]]; then
+ exit $rc
+ fi
+ jitter=$((1 + RANDOM % 10))
+ sleep_sec="$(( $(( 5 << $((1+$attempt)) )) + $jitter))"
+ sleep $sleep_sec
+ done
+ B64_CLUSTER_CA=$(cat $DESCRIBE_CLUSTER_RESULT | awk '{print $1}')
+ APISERVER_ENDPOINT=$(cat $DESCRIBE_CLUSTER_RESULT | awk '{print $2}')
+ SERVICE_IPV4_CIDR=$(cat $DESCRIBE_CLUSTER_RESULT | awk '{print $3}')
+fi
+
+echo $B64_CLUSTER_CA | base64 -d > $CA_CERTIFICATE_FILE_PATH
+
+sed -i s,CLUSTER_NAME,$CLUSTER_NAME,g /var/lib/kubelet/kubeconfig
+sed -i s,MASTER_ENDPOINT,$APISERVER_ENDPOINT,g /var/lib/kubelet/kubeconfig
+sed -i s,AWS_REGION,$AWS_DEFAULT_REGION,g /var/lib/kubelet/kubeconfig
+### kubelet.service configuration
+
+if [[ -z "${DNS_CLUSTER_IP}" ]]; then
+ if [[ ! -z "${SERVICE_IPV4_CIDR}" ]] && [[ "${SERVICE_IPV4_CIDR}" != "None" ]] ; then
+ #Sets the DNS Cluster IP address that would be chosen from the serviceIpv4Cidr. (x.y.z.10)
+ DNS_CLUSTER_IP=${SERVICE_IPV4_CIDR%.*}.10
+ else
+ MAC=$(get_meta_data 'latest/meta-data/network/interfaces/macs/' | head -n 1 | sed 's/\/$//')
+ TEN_RANGE=$(get_meta_data "latest/meta-data/network/interfaces/macs/$MAC/vpc-ipv4-cidr-blocks" | grep -c '^10\..*' || true )
+ DNS_CLUSTER_IP=10.100.0.10
+ if [[ "$TEN_RANGE" != "0" ]]; then
+ DNS_CLUSTER_IP=172.20.0.10
+ fi
+ fi
+else
+ DNS_CLUSTER_IP="${DNS_CLUSTER_IP}"
+fi
+
+KUBELET_CONFIG=/etc/kubernetes/kubelet/kubelet-config.json
+echo "$(jq ".clusterDNS=[\"$DNS_CLUSTER_IP\"]" $KUBELET_CONFIG)" > $KUBELET_CONFIG
+
+INTERNAL_IP=$(get_meta_data 'latest/meta-data/local-ipv4')
+INSTANCE_TYPE=$(get_meta_data 'latest/meta-data/instance-type')
+
+# Sets kubeReserved and evictionHard in /etc/kubernetes/kubelet/kubelet-config.json for worker nodes. The following two function
+# calls calculate the CPU and memory resources to reserve for kubeReserved based on the instance type of the worker node.
+# Note that allocatable memory and CPU resources on worker nodes is calculated by the Kubernetes scheduler
+# with this formula when scheduling pods: Allocatable = Capacity - Reserved - Eviction Threshold.
+
+#calculate the max number of pods per instance type
+MAX_PODS_FILE="/etc/eks/eni-max-pods.txt"
+set +o pipefail
+MAX_PODS=$(cat $MAX_PODS_FILE | awk "/^${INSTANCE_TYPE:-unset}/"' { print $2 }')
+set -o pipefail
+if [ -z "$MAX_PODS" ] || [ -z "$INSTANCE_TYPE" ]; then
+ echo "No entry for type '$INSTANCE_TYPE' in $MAX_PODS_FILE"
+ exit 1
+fi
+
+# calculates the amount of each resource to reserve
+mebibytes_to_reserve=$(get_memory_mebibytes_to_reserve $MAX_PODS)
+cpu_millicores_to_reserve=$(get_cpu_millicores_to_reserve)
+# writes kubeReserved and evictionHard to the kubelet-config using the amount of CPU and memory to be reserved
+echo "$(jq '. += {"evictionHard": {"memory.available": "100Mi", "nodefs.available": "10%", "nodefs.inodesFree": "5%"}}' $KUBELET_CONFIG)" > $KUBELET_CONFIG
+echo "$(jq --arg mebibytes_to_reserve "${mebibytes_to_reserve}Mi" --arg cpu_millicores_to_reserve "${cpu_millicores_to_reserve}m" \
+ '. += {kubeReserved: {"cpu": $cpu_millicores_to_reserve, "ephemeral-storage": "1Gi", "memory": $mebibytes_to_reserve}}' $KUBELET_CONFIG)" > $KUBELET_CONFIG
+
+if [[ "$USE_MAX_PODS" = "true" ]]; then
+ if [[ -n "$MAX_PODS" ]]; then
+ echo "$(jq ".maxPods=$MAX_PODS" $KUBELET_CONFIG)" > $KUBELET_CONFIG
+ else
+ echo "No entry for $INSTANCE_TYPE in $MAX_PODS_FILE. Not setting max pods for kubelet"
+ fi
+fi
+
+mkdir -p /etc/systemd/system/kubelet.service.d
+
+cat < /etc/systemd/system/kubelet.service.d/10-kubelet-args.conf
+[Service]
+Environment='KUBELET_ARGS=--node-ip=$INTERNAL_IP --pod-infra-container-image=$PAUSE_CONTAINER'
+EOF
+
+if [[ -n "$KUBELET_EXTRA_ARGS" ]]; then
+ cat < /etc/systemd/system/kubelet.service.d/30-kubelet-extra-args.conf
+[Service]
+Environment='KUBELET_EXTRA_ARGS=$KUBELET_EXTRA_ARGS'
+EOF
+fi
+
+# Replace with custom docker config contents.
+if [[ -n "$DOCKER_CONFIG_JSON" ]]; then
+ echo "$DOCKER_CONFIG_JSON" > /etc/docker/daemon.json
+ systemctl restart docker
+fi
+
+if [[ "$ENABLE_DOCKER_BRIDGE" = "true" ]]; then
+ # Enabling the docker bridge network. We have to disable live-restore as it
+ # prevents docker from recreating the default bridge network on restart
+ echo "$(jq '.bridge="docker0" | ."live-restore"=false' /etc/docker/daemon.json)" > /etc/docker/daemon.json
+ systemctl restart docker
+fi
+
+systemctl daemon-reload
+systemctl enable kubelet
+systemctl start kubelet
+
+# gpu boost clock
+if command -v nvidia-smi &>/dev/null ; then
+ echo "nvidia-smi found"
+
+ sudo nvidia-smi -pm 1 # set persistence mode
+ sudo nvidia-smi --auto-boost-default=0
+
+ GPUNAME=$(nvidia-smi -L | head -n1)
+ echo $GPUNAME
+
+ # set application clock to maximum
+ if [[ $GPUNAME == *"A100"* ]]; then
+ nvidia-smi -ac 1215,1410
+ elif [[ $GPUNAME == *"V100"* ]]; then
+ nvidia-smi -ac 877,1530
+ elif [[ $GPUNAME == *"K80"* ]]; then
+ nvidia-smi -ac 2505,875
+ elif [[ $GPUNAME == *"T4"* ]]; then
+ nvidia-smi -ac 5001,1590
+ elif [[ $GPUNAME == *"M60"* ]]; then
+ nvidia-smi -ac 2505,1177
+ else
+ echo "unsupported gpu"
+ fi
+else
+ echo "nvidia-smi not found"
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/docker-daemon.json b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/docker-daemon.json
new file mode 100644
index 0000000000..4d4b2a5e72
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/docker-daemon.json
@@ -0,0 +1,20 @@
+{
+ "bridge": "none",
+ "exec-opts": [
+ "native.cgroupdriver=systemd"
+ ],
+ "log-driver": "json-file",
+ "log-opts": {
+ "max-size": "10m",
+ "max-file": "10"
+ },
+ "live-restore": true,
+ "max-concurrent-downloads": 10,
+ "default-ulimits": {
+ "memlock": {
+ "Hard": -1,
+ "Name": "memlock",
+ "Soft": -1
+ }
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/download-kubelet.sh b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/download-kubelet.sh
new file mode 100755
index 0000000000..075974c94b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/download-kubelet.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+set -euo pipefail
+
+# Get the cluster name from /etc/eks/cluster.conf
+. /etc/eks/cluster.conf
+if [[ -z "${CLUSTER_NAME}" ]]; then
+ echo "No cluster name found. Aborting"
+ exit 1
+fi
+
+# Query the Kubernetes version of the cluster
+mkdir -p /opt/eks
+shopt -s expand_aliases
+alias aws="docker run --rm --network host -v /opt/eks:/eks amazon/aws-cli"
+CLUSTER_VERSION=$(aws eks describe-cluster --name "${CLUSTER_NAME}" --output text --query cluster.version)
+
+if [[ -z "${CLUSTER_VERSION}" ]]; then
+ echo "No cluster version found. Aborting"
+ exit 1
+fi
+
+# Select the right path depending on the Kubernetes version.
+# https://github.com/awslabs/amazon-eks-ami/blob/master/Makefile
+case $CLUSTER_VERSION in
+ 1.21)
+ S3_PATH="1.21.2/2021-07-05"
+ ;;
+ 1.20)
+ S3_PATH="1.20.4/2021-04-12"
+ ;;
+ 1.19)
+ S3_PATH="1.19.6/2021-01-05"
+ ;;
+ 1.18)
+ S3_PATH="1.18.9/2020-11-02"
+ ;;
+ 1.17)
+ S3_PATH="1.17.12/2020-11-02"
+ ;;
+ 1.16)
+ S3_PATH="1.16.15/2020-11-02"
+ ;;
+ 1.15)
+ S3_PATH="1.15.12/2020-11-02"
+ ;;
+ *)
+ echo "Unsupported Kubernetes version"
+ exit 1
+ ;;
+esac
+
+# Sync the contents of the corresponding EKS bucket
+aws s3 sync s3://amazon-eks/${S3_PATH}/bin/linux/amd64/ /eks/
+
+# Install AWS CNI
+mkdir -p /opt/cni/bin /etc/cni/net.d
+tar -C /opt/cni/bin -zxvf /opt/eks/cni-amd64-v0.6.0.tgz
+tar -C /opt/cni/bin -zxvf /opt/eks/cni-plugins-linux-amd64-v0.8.6.tgz
+
+# Make binaries executable
+chmod +x /opt/eks/kubelet
+chmod +x /opt/eks/aws-iam-authenticator
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/eni-max-pods.txt b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/eni-max-pods.txt
new file mode 100644
index 0000000000..99e61b9ecb
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/eni-max-pods.txt
@@ -0,0 +1,411 @@
+# Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"). You may
+# not use this file except in compliance with the License. A copy of the
+# License is located at
+#
+# http://aws.amazon.com/apache2.0/
+#
+# or in the "license" file accompanying this file. This file 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.
+#
+# This file was generated at 2021-01-13T12:54:18-08:00
+#
+# Mapping is calculated from AWS EC2 API using the following formula:
+# * First IP on each ENI is not used for pods
+# * +2 for the pods that use host-networking (AWS CNI and kube-proxy)
+#
+# # of ENI * (# of IPv4 per ENI - 1) + 2
+#
+# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI
+#
+a1.2xlarge 58
+a1.4xlarge 234
+a1.large 29
+a1.medium 8
+a1.metal 234
+a1.xlarge 58
+c1.medium 12
+c1.xlarge 58
+c3.2xlarge 58
+c3.4xlarge 234
+c3.8xlarge 234
+c3.large 29
+c3.xlarge 58
+c4.2xlarge 58
+c4.4xlarge 234
+c4.8xlarge 234
+c4.large 29
+c4.xlarge 58
+c5.12xlarge 234
+c5.18xlarge 737
+c5.24xlarge 737
+c5.2xlarge 58
+c5.4xlarge 234
+c5.9xlarge 234
+c5.large 29
+c5.metal 737
+c5.xlarge 58
+c5a.12xlarge 234
+c5a.16xlarge 737
+c5a.24xlarge 737
+c5a.2xlarge 58
+c5a.4xlarge 234
+c5a.8xlarge 234
+c5a.large 29
+c5a.metal 737
+c5a.xlarge 58
+c5ad.12xlarge 234
+c5ad.16xlarge 737
+c5ad.24xlarge 737
+c5ad.2xlarge 58
+c5ad.4xlarge 234
+c5ad.8xlarge 234
+c5ad.large 29
+c5ad.metal 737
+c5ad.xlarge 58
+c5d.12xlarge 234
+c5d.18xlarge 737
+c5d.24xlarge 737
+c5d.2xlarge 58
+c5d.4xlarge 234
+c5d.9xlarge 234
+c5d.large 29
+c5d.metal 737
+c5d.xlarge 58
+c5n.18xlarge 737
+c5n.2xlarge 58
+c5n.4xlarge 234
+c5n.9xlarge 234
+c5n.large 29
+c5n.metal 737
+c5n.xlarge 58
+c6g.12xlarge 234
+c6g.16xlarge 737
+c6g.2xlarge 58
+c6g.4xlarge 234
+c6g.8xlarge 234
+c6g.large 29
+c6g.medium 8
+c6g.metal 737
+c6g.xlarge 58
+c6gd.12xlarge 234
+c6gd.16xlarge 737
+c6gd.2xlarge 58
+c6gd.4xlarge 234
+c6gd.8xlarge 234
+c6gd.large 29
+c6gd.medium 8
+c6gd.metal 737
+c6gd.xlarge 58
+c6gn.12xlarge 234
+c6gn.16xlarge 737
+c6gn.2xlarge 58
+c6gn.4xlarge 234
+c6gn.8xlarge 234
+c6gn.large 29
+c6gn.medium 8
+c6gn.xlarge 58
+cc2.8xlarge 234
+cr1.8xlarge 234
+d2.2xlarge 58
+d2.4xlarge 234
+d2.8xlarge 234
+d2.xlarge 58
+d3.2xlarge 18
+d3.4xlarge 38
+d3.8xlarge 59
+d3.xlarge 10
+d3en.12xlarge 89
+d3en.2xlarge 18
+d3en.4xlarge 38
+d3en.6xlarge 58
+d3en.8xlarge 78
+d3en.xlarge 10
+f1.16xlarge 394
+f1.2xlarge 58
+f1.4xlarge 234
+g2.2xlarge 58
+g2.8xlarge 234
+g3.16xlarge 737
+g3.4xlarge 234
+g3.8xlarge 234
+g3s.xlarge 58
+g4ad.16xlarge 234
+g4ad.4xlarge 29
+g4ad.8xlarge 58
+g4dn.12xlarge 234
+g4dn.16xlarge 58
+g4dn.2xlarge 29
+g4dn.4xlarge 29
+g4dn.8xlarge 58
+g4dn.metal 737
+g4dn.xlarge 29
+h1.16xlarge 737
+h1.2xlarge 58
+h1.4xlarge 234
+h1.8xlarge 234
+hs1.8xlarge 234
+i2.2xlarge 58
+i2.4xlarge 234
+i2.8xlarge 234
+i2.xlarge 58
+i3.16xlarge 737
+i3.2xlarge 58
+i3.4xlarge 234
+i3.8xlarge 234
+i3.large 29
+i3.metal 737
+i3.xlarge 58
+i3en.12xlarge 234
+i3en.24xlarge 737
+i3en.2xlarge 58
+i3en.3xlarge 58
+i3en.6xlarge 234
+i3en.large 29
+i3en.metal 737
+i3en.xlarge 58
+inf1.24xlarge 321
+inf1.2xlarge 38
+inf1.6xlarge 234
+inf1.xlarge 38
+m1.large 29
+m1.medium 12
+m1.small 8
+m1.xlarge 58
+m2.2xlarge 118
+m2.4xlarge 234
+m2.xlarge 58
+m3.2xlarge 118
+m3.large 29
+m3.medium 12
+m3.xlarge 58
+m4.10xlarge 234
+m4.16xlarge 234
+m4.2xlarge 58
+m4.4xlarge 234
+m4.large 20
+m4.xlarge 58
+m5.12xlarge 234
+m5.16xlarge 737
+m5.24xlarge 737
+m5.2xlarge 58
+m5.4xlarge 234
+m5.8xlarge 234
+m5.large 29
+m5.metal 737
+m5.xlarge 58
+m5a.12xlarge 234
+m5a.16xlarge 737
+m5a.24xlarge 737
+m5a.2xlarge 58
+m5a.4xlarge 234
+m5a.8xlarge 234
+m5a.large 29
+m5a.xlarge 58
+m5ad.12xlarge 234
+m5ad.16xlarge 737
+m5ad.24xlarge 737
+m5ad.2xlarge 58
+m5ad.4xlarge 234
+m5ad.8xlarge 234
+m5ad.large 29
+m5ad.xlarge 58
+m5d.12xlarge 234
+m5d.16xlarge 737
+m5d.24xlarge 737
+m5d.2xlarge 58
+m5d.4xlarge 234
+m5d.8xlarge 234
+m5d.large 29
+m5d.metal 737
+m5d.xlarge 58
+m5dn.12xlarge 234
+m5dn.16xlarge 737
+m5dn.24xlarge 737
+m5dn.2xlarge 58
+m5dn.4xlarge 234
+m5dn.8xlarge 234
+m5dn.large 29
+m5dn.xlarge 58
+m5n.12xlarge 234
+m5n.16xlarge 737
+m5n.24xlarge 737
+m5n.2xlarge 58
+m5n.4xlarge 234
+m5n.8xlarge 234
+m5n.large 29
+m5n.xlarge 58
+m5zn.12xlarge 737
+m5zn.2xlarge 58
+m5zn.3xlarge 234
+m5zn.6xlarge 234
+m5zn.large 29
+m5zn.metal 737
+m5zn.xlarge 58
+m6g.12xlarge 234
+m6g.16xlarge 737
+m6g.2xlarge 58
+m6g.4xlarge 234
+m6g.8xlarge 234
+m6g.large 29
+m6g.medium 8
+m6g.metal 737
+m6g.xlarge 58
+m6gd.12xlarge 234
+m6gd.16xlarge 737
+m6gd.2xlarge 58
+m6gd.4xlarge 234
+m6gd.8xlarge 234
+m6gd.large 29
+m6gd.medium 8
+m6gd.metal 737
+m6gd.xlarge 58
+mac1.metal 234
+p2.16xlarge 234
+p2.8xlarge 234
+p2.xlarge 58
+p3.16xlarge 234
+p3.2xlarge 58
+p3.8xlarge 234
+p3dn.24xlarge 737
+p4d.24xlarge 737
+r3.2xlarge 58
+r3.4xlarge 234
+r3.8xlarge 234
+r3.large 29
+r3.xlarge 58
+r4.16xlarge 737
+r4.2xlarge 58
+r4.4xlarge 234
+r4.8xlarge 234
+r4.large 29
+r4.xlarge 58
+r5.12xlarge 234
+r5.16xlarge 737
+r5.24xlarge 737
+r5.2xlarge 58
+r5.4xlarge 234
+r5.8xlarge 234
+r5.large 29
+r5.metal 737
+r5.xlarge 58
+r5a.12xlarge 234
+r5a.16xlarge 737
+r5a.24xlarge 737
+r5a.2xlarge 58
+r5a.4xlarge 234
+r5a.8xlarge 234
+r5a.large 29
+r5a.xlarge 58
+r5ad.12xlarge 234
+r5ad.16xlarge 737
+r5ad.24xlarge 737
+r5ad.2xlarge 58
+r5ad.4xlarge 234
+r5ad.8xlarge 234
+r5ad.large 29
+r5ad.xlarge 58
+r5b.12xlarge 234
+r5b.16xlarge 737
+r5b.24xlarge 737
+r5b.2xlarge 58
+r5b.4xlarge 234
+r5b.8xlarge 234
+r5b.large 29
+r5b.metal 737
+r5b.xlarge 58
+r5d.12xlarge 234
+r5d.16xlarge 737
+r5d.24xlarge 737
+r5d.2xlarge 58
+r5d.4xlarge 234
+r5d.8xlarge 234
+r5d.large 29
+r5d.metal 737
+r5d.xlarge 58
+r5dn.12xlarge 234
+r5dn.16xlarge 737
+r5dn.24xlarge 737
+r5dn.2xlarge 58
+r5dn.4xlarge 234
+r5dn.8xlarge 234
+r5dn.large 29
+r5dn.xlarge 58
+r5n.12xlarge 234
+r5n.16xlarge 737
+r5n.24xlarge 737
+r5n.2xlarge 58
+r5n.4xlarge 234
+r5n.8xlarge 234
+r5n.large 29
+r5n.xlarge 58
+r6g.12xlarge 234
+r6g.16xlarge 737
+r6g.2xlarge 58
+r6g.4xlarge 234
+r6g.8xlarge 234
+r6g.large 29
+r6g.medium 8
+r6g.metal 737
+r6g.xlarge 58
+r6gd.12xlarge 234
+r6gd.16xlarge 737
+r6gd.2xlarge 58
+r6gd.4xlarge 234
+r6gd.8xlarge 234
+r6gd.large 29
+r6gd.medium 8
+r6gd.metal 737
+r6gd.xlarge 58
+t1.micro 4
+t2.2xlarge 44
+t2.large 35
+t2.medium 17
+t2.micro 4
+t2.nano 4
+t2.small 11
+t2.xlarge 44
+t3.2xlarge 58
+t3.large 35
+t3.medium 17
+t3.micro 4
+t3.nano 4
+t3.small 11
+t3.xlarge 58
+t3a.2xlarge 58
+t3a.large 35
+t3a.medium 17
+t3a.micro 4
+t3a.nano 4
+t3a.small 8
+t3a.xlarge 58
+t4g.2xlarge 58
+t4g.large 35
+t4g.medium 17
+t4g.micro 4
+t4g.nano 4
+t4g.small 11
+t4g.xlarge 58
+u-12tb1.metal 147
+u-18tb1.metal 737
+u-24tb1.metal 737
+u-6tb1.metal 147
+u-9tb1.metal 147
+x1.16xlarge 234
+x1.32xlarge 234
+x1e.16xlarge 234
+x1e.2xlarge 58
+x1e.32xlarge 234
+x1e.4xlarge 58
+x1e.8xlarge 58
+x1e.xlarge 29
+z1d.12xlarge 737
+z1d.2xlarge 58
+z1d.3xlarge 234
+z1d.6xlarge 234
+z1d.large 29
+z1d.metal 737
+z1d.xlarge 58
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/kubelet-config.json b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/kubelet-config.json
new file mode 100644
index 0000000000..607de83feb
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/kubelet-config.json
@@ -0,0 +1,36 @@
+{
+ "kind": "KubeletConfiguration",
+ "apiVersion": "kubelet.config.k8s.io/v1beta1",
+ "address": "0.0.0.0",
+ "authentication": {
+ "anonymous": {
+ "enabled": false
+ },
+ "webhook": {
+ "cacheTTL": "2m0s",
+ "enabled": true
+ },
+ "x509": {
+ "clientCAFile": "/etc/kubernetes/pki/ca.crt"
+ }
+ },
+ "authorization": {
+ "mode": "Webhook",
+ "webhook": {
+ "cacheAuthorizedTTL": "5m0s",
+ "cacheUnauthorizedTTL": "30s"
+ }
+ },
+ "clusterDomain": "cluster.local",
+ "hairpinMode": "hairpin-veth",
+ "readOnlyPort": 0,
+ "cgroupDriver": "systemd",
+ "cgroupRoot": "/",
+ "featureGates": {
+ "RotateKubeletServerCertificate": true
+ },
+ "protectKernelDefaults": true,
+ "serializeImagePulls": false,
+ "serverTLSBootstrap": true,
+ "tlsCipherSuites": ["TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_RSA_WITH_AES_128_GCM_SHA256"]
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/kubelet-kubeconfig b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/kubelet-kubeconfig
new file mode 100644
index 0000000000..27ff3bd652
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/kubelet-kubeconfig
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Config
+clusters:
+- cluster:
+ certificate-authority: /etc/kubernetes/pki/ca.crt
+ server: MASTER_ENDPOINT
+ name: kubernetes
+contexts:
+- context:
+ cluster: kubernetes
+ user: kubelet
+ name: kubelet
+current-context: kubelet
+users:
+- name: kubelet
+ user:
+ exec:
+ apiVersion: client.authentication.k8s.io/v1alpha1
+ command: /opt/eks/aws-iam-authenticator
+ args:
+ - "token"
+ - "-i"
+ - "CLUSTER_NAME"
+ - --region
+ - "AWS_REGION"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/kubelet.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/kubelet.service
new file mode 100644
index 0000000000..73a3884950
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/files/kubelet.service
@@ -0,0 +1,29 @@
+[Unit]
+Description=EKS Kubelet
+Documentation=https://github.com/kubernetes/kubernetes
+Wants=docker.service coreos-metadata.service
+Requires=docker.service coreos-metadata.service
+After=docker.service iptables-restore.service
+
+[Service]
+EnvironmentFile=/run/metadata/flatcar
+ExecStartPre=/usr/share/oem/eks/download-kubelet.sh
+ExecStartPre=/sbin/iptables -P FORWARD ACCEPT -w 5
+ExecStart=/opt/eks/kubelet \
+ --cloud-provider aws \
+ --config /usr/share/oem/eks/kubelet-config.json \
+ --kubeconfig /usr/share/oem/eks/kubelet-kubeconfig \
+ --container-runtime docker \
+ --network-plugin cni \
+ --cni-bin-dir=/opt/cni/bin \
+ --cni-conf-dir=/etc/cni/net.d \
+ --hostname-override ${COREOS_EC2_HOSTNAME} \
+ $KUBELET_ARGS \
+ $KUBELET_EXTRA_ARGS
+
+Restart=always
+RestartSec=5
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/flatcar-eks-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/flatcar-eks-0.0.1.ebuild
new file mode 100644
index 0000000000..69a63b5648
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/flatcar-eks-0.0.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright (c) 2021 Kinvolk GmbH
+# Distributed under the terms of the Apache License 2.0
+
+# This package is heavily based on the files distributed in
+# https://github.com/awslabs/amazon-eks-ami, the files have been adapted to fit
+# Flatcar Container Linux instead of Amazon Linux.
+
+EAPI=6
+
+inherit eutils
+
+DESCRIPTION="Configuration for EKS worker nodes"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ # The bootstrap.sh file has been downloaded from:
+ # https://raw.githubusercontent.com/awslabs/amazon-eks-ami/master/files/bootstrap.sh
+ # We keep our patches separate to facilitate sychronizing changes
+ cp "${FILESDIR}/bootstrap.sh" "${WORKDIR}/"
+ eapply -p1 "${FILESDIR}/bootstrap.patch"
+ eapply_user
+}
+
+src_install() {
+ insinto /usr/share/oem/eks
+ doins "${WORKDIR}/bootstrap.sh"
+
+ # These files are based on the ones found on the amazon-eks-ami repository,
+ # but adapted to fit Flatcar needs. Since they are a lot simpler, we don't
+ # use the patching technique, but rather just edit them as needed.
+ doins "${FILESDIR}/kubelet-kubeconfig"
+ doins "${FILESDIR}/kubelet.service"
+
+ # These files are taken verbatim from the amazon-eks-ami repository:
+ # https://raw.githubusercontent.com/awslabs/amazon-eks-ami/master/files/kubelet-config.json
+ # https://raw.githubusercontent.com/awslabs/amazon-eks-ami/master/files/docker-daemon.json
+ # https://raw.githubusercontent.com/awslabs/amazon-eks-ami/master/files/eni-max-pods.txt
+ doins "${FILESDIR}/kubelet-config.json"
+ doins "${FILESDIR}/docker-daemon.json"
+ doins "${FILESDIR}/eni-max-pods.txt"
+
+ # This downloading script has been created specially for Flatcar. It gets
+ # the current EKS Cluster Kubernetes version and downloads all the
+ # necessary files to run the kubelet on the node.
+ doins "${FILESDIR}/download-kubelet.sh"
+
+ chmod +x "${D}/usr/share/oem/eks/bootstrap.sh" "${D}/usr/share/oem/eks/download-kubelet.sh"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/flatcar-eks/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/hard-host-depends/hard-host-depends-0.0.1-r199.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/hard-host-depends/hard-host-depends-0.0.1-r199.ebuild
new file mode 120000
index 0000000000..fdabb0fbff
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/hard-host-depends/hard-host-depends-0.0.1-r199.ebuild
@@ -0,0 +1 @@
+hard-host-depends-0.0.1.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/hard-host-depends/hard-host-depends-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/hard-host-depends/hard-host-depends-0.0.1.ebuild
new file mode 100644
index 0000000000..e0a7288e01
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/hard-host-depends/hard-host-depends-0.0.1.ebuild
@@ -0,0 +1,126 @@
+# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="List of packages that are needed on the buildhost (meta package)"
+HOMEPAGE="http://src.chromium.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE=""
+
+# Needed to run setup crossdev, run build scripts, and make a bootable image.
+RDEPEND="${RDEPEND}
+ app-arch/lzop
+ app-arch/pigz
+ app-admin/sudo
+ sys-apps/less
+ dev-embedded/u-boot-tools
+ !arm64? ( sys-boot/syslinux )
+ sys-devel/crossdev
+ sys-devel/sysroot-wrappers
+ sys-fs/dosfstools
+ "
+
+# Host dependencies for building cross-compiled packages.
+# TODO: chromeos-base/chromeos-installer
+RDEPEND="${RDEPEND}
+ >=app-arch/pbzip2-1.1.1-r1
+ app-arch/rpm2targz
+ app-arch/sharutils
+ app-arch/unzip
+ app-emulation/qemu
+ =dev-lang/python-2*
+ dev-python/setuptools
+ dev-lang/nasm
+ dev-lang/swig
+ dev-lang/yasm
+ dev-lang/go:1.12
+ dev-lang/go:1.17
+ dev-lang/go-bootstrap
+ dev-lang/tcl
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26.1
+ dev-libs/libgcrypt
+ dev-libs/libxslt
+ dev-libs/libyaml
+ dev-libs/nspr
+ dev-libs/protobuf
+ dev-python/ctypesgen
+ dev-python/mako
+ sys-devel/bc
+ dev-util/gdbus-codegen
+ dev-util/gperf
+ >=dev-util/gtk-doc-am-1.13
+ >=dev-util/intltool-0.30
+ dev-util/scons
+ >=dev-vcs/git-1.7.2
+ amd64? ( net-misc/google-cloud-sdk )
+ sys-apps/usbutils
+ sys-apps/systemd
+ sys-libs/nss-usrfiles
+ sys-power/iasl
+ virtual/udev
+ app-text/asciidoc
+ app-text/xmlto
+ sys-apps/gptfdisk
+ net-libs/libtirpc
+ "
+
+# Host dependencies that create usernames/groups we need to pull over to target.
+RDEPEND="${RDEPEND}
+ sys-apps/dbus
+ "
+
+# Host dependencies that are needed by mod_image_for_test.
+RDEPEND="${RDEPEND}
+ sys-process/lsof
+ "
+
+# Useful utilities for developers.
+RDEPEND="${RDEPEND}
+ app-arch/zip
+ app-doc/eclass-manpages
+ app-portage/gentoolkit
+ app-portage/portage-utils
+ app-editors/vim
+ dev-util/perf
+ sys-apps/pv
+ app-shells/bash-completion
+ "
+
+# Host dependencies that are needed to create and sign images
+# TODO: sys-apps/mosys
+RDEPEND="${RDEPEND}
+ sys-fs/squashfs-tools
+ "
+
+# Host dependencies that are needed for delta_generator.
+RDEPEND="${RDEPEND}
+ coreos-base/update_engine
+ "
+
+# Host dependencies for running pylint within the chroot
+RDEPEND="${RDEPEND}
+ dev-python/pylint
+ "
+
+# Host dependencies to scp binaries from the binary component server
+# TODO: chromeos-base/ssh-known-hosts
+# chromeos-base/ssh-root-dot-dir
+RDEPEND="${RDEPEND}
+ net-misc/openssh
+ net-misc/wget
+ "
+
+# Host dependencies for building ISOs
+RDEPEND="${RDEPEND}
+ virtual/cdrtools
+ "
+
+# Uninstall these packages.
+RDEPEND="${RDEPEND}
+ !coreos-base/google-breakpad
+ "
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/hard-host-depends/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/hard-host-depends/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/hard-host-depends/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/Manifest b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/Manifest
new file mode 100644
index 0000000000..b1077281b9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/Manifest
@@ -0,0 +1 @@
+DIST nova-agent-container-0.0.1.tar.gz 6634988 SHA256 ccaea8ea597111d5b89649e9fb03f6a9fdf8530e69c18c8af6e059d7ac20a029 SHA512 71468307ed8d87fafcaf44d1cb48b5499a42e9902a61d97d6ea191fed3e0e81cc8c3beb61839449f5ec87f54717801d2aa56df848bfa2b6602419360e3196005 WHIRLPOOL 0989323868fcf751c8aa4381130c0607cb19f8271c531018ee7bc12676b89e0f908f3999a7da6462c4654673eed822f427ed24d93da4e46d3ea0ddf7a8cc6eed
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/nova-agent-container-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/nova-agent-container-0.0.1.ebuild
new file mode 100644
index 0000000000..5c38688da0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-container/nova-agent-container-0.0.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="nova agent for rackspace images"
+HOMEPAGE="https://github.com/coreos/nova-agent-container"
+SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+src_install() {
+ dodir /usr/share/oem/nova-agent
+ rsync -aq "${S}/" "${D}/usr/share/oem/nova-agent/" || die
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-0.0.7-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-0.0.7-r1.ebuild
new file mode 120000
index 0000000000..9723e177c8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-0.0.7-r1.ebuild
@@ -0,0 +1 @@
+nova-agent-watcher-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-9999.ebuild
new file mode 100644
index 0000000000..7a8f5bc73f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/nova-agent-watcher/nova-agent-watcher-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="coreos/nova-agent-watcher"
+CROS_WORKON_LOCALNAME="nova-agent-watcher"
+CROS_WORKON_REPO="https://github.com"
+COREOS_GO_PACKAGE="github.com/coreos/nova-agent-watcher"
+COREOS_GO_GO111MODULE="off"
+inherit cros-workon systemd coreos-go
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="2262401fe363cfdcc4c6f02144622466d506de43"
+ KEYWORDS="amd64 arm64"
+fi
+
+DESCRIPTION="nova-agent-watcher"
+HOMEPAGE="https://github.com/coreos/nova-agent-watcher"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+src_install() {
+ into "/usr/share/oem"
+ dobin ${S}/scripts/gentoo-to-networkd
+ dobin ${GOBIN}/nova-agent-watcher
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/base/README b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/base/README
new file mode 100644
index 0000000000..d128309fef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/base/README
@@ -0,0 +1,4 @@
+These Ignition configs are part of the OEM configuration. Do not modify
+them. If you want to write an Ignition config directly to disk, put it in
+../config.ign and it will be applied at first boot instead of a config
+in userdata.
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/base/base.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/base/base.ign
new file mode 100644
index 0000000000..5c359a9410
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/base/base.ign
@@ -0,0 +1,37 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "storage": {
+ "files": [
+ {
+ "filesystem": "root",
+ "path": "/etc/systemd/system/waagent.service",
+ "contents": {
+ "source": "oem:///units/waagent.service"
+ },
+ "mode": 292
+ },
+ {
+ "filesystem": "root",
+ "path": "/etc/systemd/system/nvidia.service",
+ "contents": {
+ "source": "oem:///units/nvidia.service"
+ },
+ "mode": 292
+ }
+ ]
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "waagent.service",
+ "enabled": true
+ },
+ {
+ "name": "nvidia.service",
+ "enabled": true
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/base/default.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/base/default.ign
new file mode 100644
index 0000000000..29b7c91e59
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/base/default.ign
@@ -0,0 +1,14 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "oem-cloudinit.service",
+ "enabled": true,
+ "contents": "[Unit]\nDescription=Cloudinit from Azure metadata\n\n[Service]\nType=oneshot\nExecStart=/usr/bin/coreos-cloudinit --oem=azure\n\n[Install]\nWantedBy=multi-user.target\n"
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/grub.cfg
new file mode 100644
index 0000000000..5e5449f25a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/grub.cfg
@@ -0,0 +1,9 @@
+# Flatcar GRUB settings
+
+set oem_id="azure"
+
+# Azure only has a serial console.
+set linux_console="console=ttyS0,115200n8 earlyprintk=ttyS0,115200 flatcar.autologin"
+serial com0 --speed=115200 --word=8 --parity=no
+terminal_input serial_com0
+terminal_output serial_com0
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/oem-release
new file mode 100644
index 0000000000..fa11b4c3e0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/oem-release
@@ -0,0 +1,5 @@
+ID=azure
+VERSION_ID=@@OEM_VERSION_ID@@
+NAME="Microsoft Azure"
+HOME_URL="https://azure.microsoft.com/"
+BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/units/waagent.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/units/waagent.service
new file mode 100644
index 0000000000..cf34281af7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/files/units/waagent.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Microsoft Azure Agent
+Wants=network-online.target sshd-keygen.service
+After=network-online.target sshd-keygen.service
+
+[Service]
+Type=simple
+Restart=always
+RestartSec=5s
+Environment=PATH=/usr/share/oem/python/bin:/usr/share/oem/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
+Environment=PYTHONUNBUFFERED=x
+ExecStart=/usr/share/oem/bin/waagent -daemon
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/oem-azure-2.6.0.2-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/oem-azure-2.6.0.2-r1.ebuild
new file mode 100644
index 0000000000..575bba6467
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-azure/oem-azure-2.6.0.2-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for Azure"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+RDEPEND="
+ ~app-emulation/wa-linux-agent-${PV}
+ x11-drivers/nvidia-drivers
+"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/oem-release" > "${T}/oem-release" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${FILESDIR}/grub.cfg"
+ doins "${T}/oem-release"
+ doins -r "${FILESDIR}/base"
+ doins -r "${FILESDIR}/units"
+ dosym "/usr/bin/true" "/usr/share/oem/bin/eject"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/files/cloud-config.yml
new file mode 100644
index 0000000000..b78f16b7f0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/files/cloud-config.yml
@@ -0,0 +1,21 @@
+#cloud-config
+
+coreos:
+ units:
+ - name: oem-cloudinit.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ Description=Cloudinit from CloudSigma metadata
+
+ [Service]
+ Type=oneshot
+ ExecStart=/usr/bin/coreos-cloudinit --oem=cloudsigma
+
+ oem:
+ id: cloudsigma
+ name: CloudSigma
+ version-id: @@OEM_VERSION_ID@@
+ home-url: https://www.cloudsigma.com/
+ bug-report-url: https://issues.flatcar.org
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/files/grub.cfg
new file mode 100644
index 0000000000..5c95fb979f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="cloudsigma"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/oem-cloudsigma-0.0.3-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/oem-cloudsigma-0.0.3-r2.ebuild
new file mode 100644
index 0000000000..a847e20728
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudsigma/oem-cloudsigma-0.0.3-r2.ebuild
@@ -0,0 +1,27 @@
+# Copyright (c) 2015 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for CloudSigma images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${T}/cloud-config.yml"
+ doins "${FILESDIR}/grub.cfg"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloud-config.yml
new file mode 100644
index 0000000000..ece76e7899
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloud-config.yml
@@ -0,0 +1,34 @@
+#cloud-config
+
+coreos:
+ units:
+ - name: cloudstack-ssh-key.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ Description=Sets SSH key from metadata
+
+ [Service]
+ Type=oneshot
+ StandardOutput=journal+console
+ ExecStart=/usr/share/oem/bin/cloudstack-ssh-key
+ - name: cloudstack-cloudinit.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ Description=Cloudinit from CloudStack-style metadata
+ Requires=flatcar-setup-environment.service
+ After=flatcar-setup-environment.service
+
+ [Service]
+ Type=oneshot
+ EnvironmentFile=/etc/environment
+ ExecStart=/usr/share/oem/bin/cloudstack-coreos-cloudinit
+ oem:
+ id: cloudstack
+ name: CloudStack
+ version-id: @@OEM_VERSION_ID@@
+ home-url: http://cloudstack.apache.org/
+ bug-report-url: https://github.com/coreos/coreos-overlay
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-coreos-cloudinit b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-coreos-cloudinit
new file mode 100644
index 0000000000..67f178c01a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-coreos-cloudinit
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+. /usr/share/oem/bin/cloudstack-dhcp
+
+DHCP_SERVER=$(get_dhcp_ip)
+USERDATA_URL="http://${DHCP_SERVER}/latest/user-data"
+
+block-until-url "${USERDATA_URL}"
+coreos-cloudinit --from-url="${USERDATA_URL}"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-dhcp b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-dhcp
new file mode 100644
index 0000000000..72615f76e4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-dhcp
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+get_dhcp_ip() {
+ local leases_dir="/run/systemd/netif/leases"
+ local found=0
+ while true; do
+ for leasefile in $(find "${leases_dir}" -type f -size +1c); do
+ dhcp_server_ip=$(cat $leasefile | awk -F= '/SERVER_ADDRESS/ { print $2 }')
+ if [[ -n "${dhcp_server_ip}" ]]; then
+ metadata_url="http://${dhcp_server_ip}/latest/meta-data/"
+ if curl --fail -s "${metadata_url}" >/dev/null; then
+ echo $dhcp_server_ip
+ found=1
+ break
+ fi
+ fi
+ done
+ [[ $found -eq 0 ]] || break
+ sleep .5
+ done
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-ssh-key b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-ssh-key
new file mode 100644
index 0000000000..5dfdaebb0e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/cloudstack-ssh-key
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+. /usr/share/oem/bin/cloudstack-dhcp
+
+DHCP_SERVER=$(get_dhcp_ip)
+KEY_URL="http://${DHCP_SERVER}/latest/meta-data/public-keys"
+
+block-until-url "${KEY_URL}"
+curl --fail -s "${KEY_URL}" | update-ssh-keys -a cloudstack
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/flatcar-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/flatcar-setup-environment
new file mode 100644
index 0000000000..70540418ca
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/flatcar-setup-environment
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+ENV=$1
+
+if [[ -z "$ENV" ]]; then
+ echo "usage: $0 /etc/environment" >&2
+ exit 1
+fi
+
+# Make sure that the file is writable
+touch $ENV
+if [[ $? -ne 0 ]]; then
+ echo "$0: unable to modify ${ENV}" >&2
+ exit 1
+fi
+
+sed -i -e '/^COREOS_PUBLIC_IPV4=/d' \
+ -e '/^COREOS_PRIVATE_IPV4=/d' \
+ "${ENV}"
+
+. /usr/share/oem/bin/cloudstack-dhcp
+
+DHCP_SERVER=$(get_dhcp_ip)
+METADATA_URL="http://${DHCP_SERVER}/latest/meta-data/"
+
+block-until-url "${METADATA_URL}"
+
+PUBLIC_IP=$(curl --fail -s "${METADATA_URL}public-ipv4")
+echo COREOS_PUBLIC_IPV4=${PUBLIC_IP} >> $ENV
+
+PRIVATE_IP=$(curl --fail -s "${METADATA_URL}local-ipv4")
+echo COREOS_PRIVATE_IPV4=${PRIVATE_IP} >> $ENV
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/grub.cfg
new file mode 100644
index 0000000000..f35d20bd2a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="cloudstack"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/oem-cloudstack-0.0.4.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/oem-cloudstack-0.0.4.ebuild
new file mode 100644
index 0000000000..2dc8b8e901
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-cloudstack/oem-cloudstack-0.0.4.ebuild
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+# $Header:$
+#
+
+EAPI=7
+
+DESCRIPTION="OEM suite for CloudStack images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
+}
+
+src_install() {
+ into "/usr/share/oem"
+ dobin "${FILESDIR}/cloudstack-dhcp"
+ dobin "${FILESDIR}/cloudstack-ssh-key"
+ dobin "${FILESDIR}/cloudstack-coreos-cloudinit"
+ dobin "${FILESDIR}/flatcar-setup-environment"
+
+ insinto "/usr/share/oem"
+ doins "${T}/cloud-config.yml"
+ doins "${FILESDIR}/grub.cfg"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/base/README b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/base/README
new file mode 100644
index 0000000000..d128309fef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/base/README
@@ -0,0 +1,4 @@
+These Ignition configs are part of the OEM configuration. Do not modify
+them. If you want to write an Ignition config directly to disk, put it in
+../config.ign and it will be applied at first boot instead of a config
+in userdata.
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/base/base.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/base/base.ign
new file mode 100644
index 0000000000..bfcfd84e05
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/base/base.ign
@@ -0,0 +1,13 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "coreos-metadata-sshkeys@.service",
+ "enabled": true
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/base/default.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/base/default.ign
new file mode 100644
index 0000000000..58589c2d2a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/base/default.ign
@@ -0,0 +1,14 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "oem-cloudinit.service",
+ "enabled": true,
+ "contents": "[Unit]\nDescription=Cloudinit from DigitalOcean metadata\n\n[Service]\nType=oneshot\nExecStart=/usr/bin/coreos-cloudinit --oem=digitalocean\n\n[Install]\nWantedBy=multi-user.target\n"
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/grub.cfg
new file mode 100644
index 0000000000..a595676b61
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="digitalocean"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/oem-release
new file mode 100644
index 0000000000..3d6d250197
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/files/oem-release
@@ -0,0 +1,5 @@
+ID=digitalocean
+VERSION_ID=@@OEM_VERSION_ID@@
+NAME="DigitalOcean"
+HOME_URL="https://www.digitalocean.com/"
+BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/oem-digitalocean-0.1.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/oem-digitalocean-0.1.1.ebuild
new file mode 100644
index 0000000000..ec4976d690
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-digitalocean/oem-digitalocean-0.1.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for DigitalOcean images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/oem-release" > "${T}/oem-release" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${FILESDIR}/grub.cfg"
+ doins "${T}/oem-release"
+ doins -r "${FILESDIR}/base"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/base/README b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/base/README
new file mode 100644
index 0000000000..d128309fef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/base/README
@@ -0,0 +1,4 @@
+These Ignition configs are part of the OEM configuration. Do not modify
+them. If you want to write an Ignition config directly to disk, put it in
+../config.ign and it will be applied at first boot instead of a config
+in userdata.
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/base/base-ec2.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/base/base-ec2.ign
new file mode 100644
index 0000000000..6a18954039
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/base/base-ec2.ign
@@ -0,0 +1,58 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "coreos-metadata-sshkeys@.service",
+ "enabled": true
+ },
+ {
+ "name": "amazon-ssm-agent.service",
+ "enabled": true,
+ "contents": "[Unit]\nDescription=amazon-ssm-agent\nAfter=network-online.target\n\n[Service]\nType=simple\nWorkingDirectory=/usr/share/oem\nExecStart=/usr/share/oem/bin/amazon-ssm-agent\nKillMode=process\nRestart=on-failure\nRestartForceExitStatus=SIGPIPE\nRestartSec=15min\n\n[Install]\nWantedBy=multi-user.target\n"
+ },
+ {
+ "name": "nvidia.service",
+ "enabled": true
+ }
+ ]
+ },
+ "storage": {
+ "files": [
+ {
+ "filesystem": "root",
+ "path": "/etc/amazon/ssm/amazon-ssm-agent.json",
+ "contents": {
+ "source": "oem:///ssm/amazon-ssm-agent.json.template"
+ },
+ "mode": 292
+ },
+ {
+ "filesystem": "root",
+ "path": "/etc/amazon/ssm/seelog.xml",
+ "contents": {
+ "source": "oem:///ssm/seelog.xml.template"
+ },
+ "mode": 292
+ },
+ {
+ "filesystem": "root",
+ "path": "/etc/eks/bootstrap.sh",
+ "contents": {
+ "source": "oem:///eks/bootstrap.sh"
+ },
+ "mode": 493
+ },
+ {
+ "filesystem": "root",
+ "path": "/etc/systemd/system/nvidia.service",
+ "contents": {
+ "source": "oem:///units/nvidia.service"
+ },
+ "mode": 292
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/base/default.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/base/default.ign
new file mode 100644
index 0000000000..ed427e8a5b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/base/default.ign
@@ -0,0 +1,22 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "user-configdrive.service",
+ "mask": true
+ },
+ {
+ "name": "user-configvirtfs.service",
+ "mask": true
+ },
+ {
+ "name": "oem-cloudinit.service",
+ "enabled": true,
+ "contents": "[Unit]\nDescription=Cloudinit from platform metadata\n\n[Service]\nType=oneshot\nExecStart=/usr/bin/coreos-cloudinit --oem=ec2-compat\n\n[Install]\nWantedBy=multi-user.target\n"
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/grub-brightbox.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/grub-brightbox.cfg
new file mode 100644
index 0000000000..2d41cdd4ec
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/grub-brightbox.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings for EC2
+
+set oem_id="brightbox"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/grub-ec2.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/grub-ec2.cfg
new file mode 100644
index 0000000000..2ee4b3f33f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/grub-ec2.cfg
@@ -0,0 +1,17 @@
+# Flatcar GRUB settings for EC2
+
+set oem_id="ec2"
+
+# Blacklist the Xen framebuffer module so it doesn't get loaded at boot
+# Disable `ens3` style names, so eth0 is used for both ixgbevf or xen.
+set linux_append="modprobe.blacklist=xen_fbfront net.ifnames=0 nvme_core.io_timeout=4294967295"
+
+if [ "$grub_platform" = pc ]; then
+ set linux_console="console=ttyS0,115200n8"
+ serial com0 --speed=115200 --word=8 --parity=no
+ terminal_input serial_com0
+ terminal_output serial_com0
+fi
+if [ "$grub_cpu" = arm64 ]; then
+ set linux_console="console=tty1 console=ttyS0,115200n8 earlycon"
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/grub-openstack.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/grub-openstack.cfg
new file mode 100644
index 0000000000..1e71da2f21
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/grub-openstack.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings for EC2
+
+set oem_id="openstack"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/oem-release
new file mode 100644
index 0000000000..ad1968916f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/files/oem-release
@@ -0,0 +1,5 @@
+ID=@@OEM_ID@@
+VERSION_ID=@@OEM_VERSION_ID@@
+NAME="@@OEM_NAME@@"
+HOME_URL="@@OEM_HOME_URL@@"
+BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/oem-ec2-compat-0.1.2-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/oem-ec2-compat-0.1.2-r2.ebuild
new file mode 100644
index 0000000000..3978697142
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ec2-compat/oem-ec2-compat-0.1.2-r2.ebuild
@@ -0,0 +1,67 @@
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for EC2 compatible images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="ec2 openstack brightbox"
+REQUIRED_USE="^^ ( ec2 openstack brightbox )"
+
+RDEPEND="
+ ec2? ( app-emulation/amazon-ssm-agent )
+ coreos-base/flatcar-eks
+ x11-drivers/nvidia-drivers
+"
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ if use ec2 ; then
+ ID="ami"
+ NAME="Amazon EC2"
+ HOME_URL="http://aws.amazon.com/ec2/"
+ elif use openstack ; then
+ ID="openstack"
+ NAME="Openstack"
+ HOME_URL="https://www.openstack.org/"
+ elif use brightbox ; then
+ ID="brightbox"
+ NAME="Brightbox"
+ HOME_URL="http://brightbox.com/"
+ else
+ die "Unknown OEM!"
+ fi
+
+ sed -e "s\\@@OEM_ID@@\\${ID}\\g" \
+ -e "s\\@@OEM_NAME@@\\${NAME}\\g" \
+ -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ -e "s\\@@OEM_HOME_URL@@\\${HOME_URL}\\g" \
+ "${FILESDIR}/oem-release" > "${T}/oem-release" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${T}/oem-release"
+ if use ec2 ; then
+ newins "${FILESDIR}/grub-ec2.cfg" grub.cfg
+ elif use openstack ; then
+ newins "${FILESDIR}/grub-openstack.cfg" grub.cfg
+ elif use brightbox ; then
+ newins "${FILESDIR}/grub-brightbox.cfg" grub.cfg
+ fi
+
+ insinto "/usr/share/oem/base"
+ doins "${FILESDIR}/base/README"
+ doins "${FILESDIR}/base/default.ign"
+ if use ec2 ; then
+ newins "${FILESDIR}/base/base-ec2.ign" base.ign
+ fi
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/cloud-config.yml
new file mode 100644
index 0000000000..c76e47250c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/cloud-config.yml
@@ -0,0 +1,34 @@
+#cloud-config
+
+coreos:
+ units:
+ - name: exoscale-ssh-key.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ Description=Sets SSH key from metadata
+
+ [Service]
+ Type=oneshot
+ StandardOutput=journal+console
+ ExecStart=/usr/share/oem/bin/exoscale-ssh-key
+ - name: exoscale-cloudinit.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ Description=Cloudinit from exoscale (cloudstack-style) metadata
+ Requires=flatcar-setup-environment.service
+ After=flatcar-setup-environment.service
+
+ [Service]
+ Type=oneshot
+ EnvironmentFile=/etc/environment
+ ExecStart=/usr/share/oem/bin/exoscale-coreos-cloudinit
+ oem:
+ id: exoscale
+ name: exoscale
+ version-id: @@OEM_VERSION_ID@@
+ home-url: http://www.exoscale.ch
+ bug-report-url: https://github.com/coreos/coreos-overlay
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-coreos-cloudinit b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-coreos-cloudinit
new file mode 100644
index 0000000000..bbf68bb5cd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-coreos-cloudinit
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+. /usr/share/oem/bin/exoscale-dhcp
+
+DHCP_SERVER=$(get_dhcp_ip)
+USERDATA_URL="http://${DHCP_SERVER}/latest/user-data"
+
+block-until-url "${USERDATA_URL}"
+coreos-cloudinit --from-url="${USERDATA_URL}"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-dhcp b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-dhcp
new file mode 100644
index 0000000000..72615f76e4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-dhcp
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+get_dhcp_ip() {
+ local leases_dir="/run/systemd/netif/leases"
+ local found=0
+ while true; do
+ for leasefile in $(find "${leases_dir}" -type f -size +1c); do
+ dhcp_server_ip=$(cat $leasefile | awk -F= '/SERVER_ADDRESS/ { print $2 }')
+ if [[ -n "${dhcp_server_ip}" ]]; then
+ metadata_url="http://${dhcp_server_ip}/latest/meta-data/"
+ if curl --fail -s "${metadata_url}" >/dev/null; then
+ echo $dhcp_server_ip
+ found=1
+ break
+ fi
+ fi
+ done
+ [[ $found -eq 0 ]] || break
+ sleep .5
+ done
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-ssh-key b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-ssh-key
new file mode 100644
index 0000000000..e94b0c0253
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-ssh-key
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+. /usr/share/oem/bin/exoscale-dhcp
+
+DHCP_SERVER=$(get_dhcp_ip)
+KEY_URL="http://${DHCP_SERVER}/latest/public-keys"
+
+block-until-url "${KEY_URL}"
+curl --fail -s "${KEY_URL}" | update-ssh-keys -a exoscale
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/flatcar-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/flatcar-setup-environment
new file mode 100644
index 0000000000..b441401aa5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/flatcar-setup-environment
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+ENV=$1
+
+if [[ -z "$ENV" ]]; then
+ echo "usage: $0 /etc/environment" >&2
+ exit 1
+fi
+
+# Make sure that the file is writable
+touch $ENV
+if [[ $? -ne 0 ]]; then
+ echo "$0: unable to modify ${ENV}" >&2
+ exit 1
+fi
+
+sed -i -e '/^COREOS_PUBLIC_IPV4=/d' \
+ -e '/^COREOS_PRIVATE_IPV4=/d' \
+ "${ENV}"
+
+. /usr/share/oem/bin/exoscale-dhcp
+
+DHCP_SERVER=$(get_dhcp_ip)
+METADATA_URL="http://${DHCP_SERVER}/latest/"
+
+block-until-url "${METADATA_URL}"
+
+PUBLIC_IP=$(curl --fail -s "${METADATA_URL}public-ipv4")
+echo COREOS_PUBLIC_IPV4=${PUBLIC_IP} >> $ENV
+
+PRIVATE_IP=$(curl --fail -s "${METADATA_URL}local-ipv4")
+echo COREOS_PRIVATE_IPV4=${PRIVATE_IP} >> $ENV
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/grub.cfg
new file mode 100644
index 0000000000..9cdb448381
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="exoscale"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-0.0.5.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-0.0.5.ebuild
new file mode 100644
index 0000000000..51ef86022d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-0.0.5.ebuild
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+# $Header:$
+#
+
+EAPI=7
+
+DESCRIPTION="OEM suite for Exoscale images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
+}
+
+src_install() {
+ into "/usr/share/oem"
+ dobin "${FILESDIR}/exoscale-dhcp"
+ dobin "${FILESDIR}/exoscale-ssh-key"
+ dobin "${FILESDIR}/exoscale-coreos-cloudinit"
+ dobin "${FILESDIR}/flatcar-setup-environment"
+
+ insinto "/usr/share/oem"
+ doins "${T}/cloud-config.yml"
+ doins "${FILESDIR}/grub.cfg"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/README b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/README
new file mode 100644
index 0000000000..d128309fef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/README
@@ -0,0 +1,4 @@
+These Ignition configs are part of the OEM configuration. Do not modify
+them. If you want to write an Ignition config directly to disk, put it in
+../config.ign and it will be applied at first boot instead of a config
+in userdata.
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/base.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/base.ign
new file mode 100644
index 0000000000..ee30505752
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/base.ign
@@ -0,0 +1,57 @@
+{
+ "ignition": {
+ "version": "2.2.0"
+ },
+ "storage": {
+ "files": [
+ {
+ "filesystem": "root",
+ "path": "/etc/systemd/system/oem-gce.service",
+ "contents": {
+ "source": "oem:///units/oem-gce.service"
+ },
+ "mode": 292
+ },
+ {
+ "filesystem": "root",
+ "path": "/etc/systemd/system/oem-gce-enable-oslogin.service",
+ "contents": {
+ "source": "oem:///units/oem-gce-enable-oslogin.service"
+ },
+ "mode": 292
+ },
+ {
+ "filesystem": "root",
+ "path": "/etc/hosts",
+ "contents": {
+ "source": "oem:///files/hosts"
+ },
+ "mode": 292
+ },
+ {
+ "filesystem": "root",
+ "path": "/etc/profile.d/google-cloud-sdk.sh",
+ "contents": {
+ "source": "oem:///files/google-cloud-sdk.sh"
+ },
+ "mode": 292
+ }
+ ]
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "coreos-metadata-sshkeys@.service",
+ "enabled": true
+ },
+ {
+ "name": "oem-gce.service",
+ "enabled": true
+ },
+ {
+ "name": "oem-gce-enable-oslogin.service",
+ "enabled": true
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/default.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/default.ign
new file mode 100644
index 0000000000..28bf972ad5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/base/default.ign
@@ -0,0 +1,14 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "oem-cloudinit.service",
+ "enabled": true,
+ "contents": "[Unit]\nDescription=Cloudinit from GCE metadata\n\n[Service]\nType=oneshot\nExecStart=/usr/bin/coreos-cloudinit --oem=gce\n\n[Install]\nWantedBy=multi-user.target\n"
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/bin/enable-oslogin b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/bin/enable-oslogin
new file mode 100644
index 0000000000..abf9899b67
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/bin/enable-oslogin
@@ -0,0 +1,30 @@
+#!/usr/bin/bash
+
+# Verify all the config files were not touched by the user. Do not try to
+# enable oslogin if the user has messed with them
+
+if [ -e '/etc/pam.d/sshd' ]; then
+ echo '/etc/pam.d/sshd already exists. Not enabling OS Login'
+ exit 0
+fi
+
+if [ "$(readlink -f /etc/nsswitch.conf)" != '/usr/share/baselayout/nsswitch.conf' ]; then
+ echo '/etc/nsswitch.conf is not a symlink to /usr/share/baselayout/nsswitch.conf. Not enabling OS Login'
+ exit 0
+fi
+
+if [ "$(readlink -f /etc/ssh/sshd_config)" != '/usr/share/ssh/sshd_config' ]; then
+ echo '/etc/ssh/sshd_config is not a symlink to /usr/share/ssh/sshd_config. Not enabling OS Login'
+ exit 0
+fi
+
+# Actually start enabling things. Die if we fail.
+set -e
+
+mkdir -m 0750 -p '/var/lib/google-sudoers.d'
+mkdir -m 0750 -p '/var/lib/google-users.d'
+ln -f -s '/usr/share/google-oslogin/pam_sshd' '/etc/pam.d/sshd'
+ln -f -s '/usr/share/google-oslogin/nsswitch.conf' '/etc/nsswitch.conf'
+ln -f -s '/usr/share/google-oslogin/sshd_config' '/etc/ssh/sshd_config'
+ln -f -s '/usr/share/google-oslogin/oslogin-sudoers' '/etc/sudoers.d/oslogin-sudoers'
+ln -f -s '/usr/share/google-oslogin/group.conf' '/etc/security/group.conf'
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/files/google-cloud-sdk.sh b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/files/google-cloud-sdk.sh
new file mode 100644
index 0000000000..9114c0d400
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/files/google-cloud-sdk.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+alias gcloud="(docker images google/cloud-sdk || docker pull google/cloud-sdk) > /dev/null;docker run -ti --rm --net=host -v $HOME/.config:/root/.config -v /var/run/docker.sock:/var/run/docker.sock google/cloud-sdk gcloud"
+alias gsutil="(docker images google/cloud-sdk || docker pull google/cloud-sdk) > /dev/null;docker run -ti --rm --net=host -v $HOME/.config:/root/.config google/cloud-sdk gsutil"
+alias python="(docker images python:2-slim || docker pull python:2-slim) > /dev/null;docker run -ti --rm --net=host -v $HOME/.config:/root/.config -v "$PWD":/usr/src/pyapp -w /usr/src/pyapp python:2-slim python"
+alias python3="(docker images python:3-slim || docker pull python:3-slim) > /dev/null;docker run -ti --rm --net=host -v $HOME/.config:/root/.config -v "$PWD":/usr/src/pyapp -w /usr/src/pyapp python:3-slim python"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/files/hosts b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/files/hosts
new file mode 100644
index 0000000000..61c0c6b265
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/files/hosts
@@ -0,0 +1,2 @@
+169.254.169.254 metadata metadata.google.internal
+127.0.0.1 localhost
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/grub.cfg
new file mode 100644
index 0000000000..8366e12a55
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/grub.cfg
@@ -0,0 +1,9 @@
+# Flatcar GRUB settings
+
+set oem_id="gce"
+
+# GCE only has a serial console.
+set linux_console="console=ttyS0,115200n8"
+serial com0 --speed=115200 --word=8 --parity=no
+terminal_input serial_com0
+terminal_output serial_com0
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release
new file mode 100644
index 0000000000..92a20acf95
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release
@@ -0,0 +1,5 @@
+ID=gce
+VERSION_ID=@@OEM_VERSION_ID@@
+NAME="Google Compute Engine"
+HOME_URL="https://cloud.google.com/products/compute-engine/"
+BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/oem-gce-enable-oslogin.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/oem-gce-enable-oslogin.service
new file mode 100644
index 0000000000..51e5c56c73
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/oem-gce-enable-oslogin.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Enable GCE OS Login
+ConditionFirstBoot=true
+DefaultDependencies=false
+After=systemd-tmpfiles-setup.service
+Before=sshd.service
+Before=sshd.socket
+
+[Service]
+Type=oneshot
+
+ExecStart=/usr/share/oem/bin/enable-oslogin
+
+[Install]
+WantedBy=sysinit.target
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/oem-gce.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/oem-gce.service
new file mode 100644
index 0000000000..646b04ac1d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/units/oem-gce.service
@@ -0,0 +1,29 @@
+[Unit]
+Description=GCE Linux Agent
+After=local-fs.target network-online.target
+
+[Service]
+Type=notify
+NotifyAccess=all
+Restart=always
+RestartSec=5
+
+# There is a custom main process that kills all of the contained services.
+KillMode=process
+KillSignal=SIGTERM
+
+ExecStartPre=/usr/bin/rm -f /var/lib/flatcar-oem-gce.img
+ExecStartPre=/usr/bin/truncate -s 1G /var/lib/flatcar-oem-gce.img
+ExecStartPre=/usr/sbin/mkfs.ext4 /var/lib/flatcar-oem-gce.img
+ExecStartPre=/usr/bin/rm -rf /var/lib/flatcar-oem-gce
+ExecStartPre=/usr/bin/mkdir -p /var/lib/flatcar-oem-gce
+ExecStartPre=-/usr/bin/umount /var/lib/flatcar-oem-gce.img
+ExecStartPre=/usr/bin/mount /var/lib/flatcar-oem-gce.img /var/lib/flatcar-oem-gce
+ExecStartPre=/usr/bin/tar --directory=/var/lib/flatcar-oem-gce --extract --file=/usr/share/oem/flatcar-oem-gce.aci --strip-components=1 rootfs
+ExecStartPre=/usr/bin/umount /var/lib/flatcar-oem-gce.img
+ExecStart=/usr/bin/systemd-nspawn --keep-unit --register=no --link-journal=no \
+ --machine=oem-gce --capability=CAP_NET_ADMIN --bind=/dev/log --bind=/run/systemd --tmpfs=/run/lock --bind=/etc --bind=/home --bind-ro=/usr/share/google-oslogin/nsswitch.conf \
+ --read-only --volatile=overlay --image=/var/lib/flatcar-oem-gce.img /init.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r2.ebuild
new file mode 100644
index 0000000000..67dec02712
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-20180823-r2.ebuild
@@ -0,0 +1,33 @@
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for Google Compute Engine images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/oem-release" > "${T}/oem-release" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${FILESDIR}/grub.cfg"
+ doins "${T}/oem-release"
+ doins -r "${FILESDIR}/base"
+ doins -r "${FILESDIR}/files"
+ doins -r "${FILESDIR}/units"
+ exeinto "/usr/share/oem/bin"
+ doexe "${FILESDIR}/bin/enable-oslogin"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/grub.cfg
new file mode 100644
index 0000000000..7782d17b95
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="hyperv"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/oem-release
new file mode 100644
index 0000000000..1259a0aa68
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/files/oem-release
@@ -0,0 +1,4 @@
+ID=hyperv
+VERSION_ID=@@OEM_VERSION_ID@@
+NAME="Microsoft Hyper-V"
+BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.1.0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.1.0.ebuild
new file mode 100644
index 0000000000..30eb2ec8a0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-hyperv/oem-hyperv-0.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for Hyper-V"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/oem-release" > "${T}/oem-release" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${FILESDIR}/grub.cfg"
+ doins "${T}/oem-release"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloud-config.yml
new file mode 100644
index 0000000000..26154beb35
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloud-config.yml
@@ -0,0 +1,61 @@
+#cloud-config
+
+coreos:
+ units:
+ - name: vmtoolsd.service
+ command: start
+ content: |
+ [Unit]
+ Description=VMware Tools Agent
+ Documentation=http://open-vm-tools.sourceforge.net/
+ ConditionVirtualization=vmware
+
+ [Service]
+ ExecStartPre=/usr/bin/ln -sfT /usr/share/oem/vmware-tools /etc/vmware-tools
+ ExecStart=/usr/share/oem/bin/vmtoolsd
+ TimeoutStopSec=5
+ - name: cloudstack-ssh-key.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ Description=Sets SSH key from metadata
+ Requires=flatcar-setup-environment.service
+ After=flatcar-setup-environment.service
+
+ [Service]
+ Type=oneshot
+ StandardOutput=journal+console
+ EnvironmentFile=/etc/environment
+ ExecStart=/usr/share/oem/bin/cloudstack-ssh-key
+ - name: cloudstack-cloudinit.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ Description=Cloudinit from CloudStack-style metadata
+ Requires=flatcar-setup-environment.service
+ After=flatcar-setup-environment.service
+
+ [Service]
+ Type=oneshot
+ EnvironmentFile=/etc/environment
+ ExecStart=/usr/share/oem/bin/cloudstack-coreos-cloudinit
+ - name: cloudstack-set-guest-password.service
+ runtime: yes
+ content: |
+ [Unit]
+ Description=CloudStack Guest Password Reset
+ Requires=flatcar-setup-environment.service
+ After=flatcar-setup-environment.service
+
+ [Service]
+ Type=oneshot
+ ExecStart=/usr/share/oem/bin/cloudstack-set-guest-password
+ EnvironmentFile=/etc/environment
+ oem:
+ id: interoute
+ name: Interoute
+ version-id: @@OEM_VERSION_ID@@
+ home-url: http://interoute.com/
+ bug-report-url: https://issues.flatcar.org
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloudstack-coreos-cloudinit b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloudstack-coreos-cloudinit
new file mode 100644
index 0000000000..67ce925a42
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloudstack-coreos-cloudinit
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+DHCP_SERVER=${NIC_1_GATEWAY}
+USERDATA_URL="http://${DHCP_SERVER}/latest/user-data"
+
+block-until-url "${USERDATA_URL}"
+coreos-cloudinit --from-url="${USERDATA_URL}"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloudstack-set-guest-password b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloudstack-set-guest-password
new file mode 100644
index 0000000000..cf348b1479
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloudstack-set-guest-password
@@ -0,0 +1,101 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+# Installation steps (ArchLinux using base/dhcpcd-6.0.5-1)
+#
+# Install "wget" and "dhcpcd"
+# $ pacman -S wget dhcpcd
+# $ systemctl enable dhcpcd@eth0
+# Copy script to /usr/lib/systemd/scripts/
+# $ cp -v cloudstack-set-guest-password \
+# /usr/lib/systemd/scripts/
+# Copy the service file to /usr/lib/systemd/system/
+# $ cp -v cloudstack-set-guest-password.service \
+# /usr/lib/systemd/system/
+# Enable the service
+# $ systemctl enable cloudstack-set-guest-password.service
+
+# Modified: Dong Xie, 02-09-2015
+
+user=root
+password_received=0
+
+if [ ! -x /usr/sbin/chpasswd ]; then
+ logger -t "cloudstack" "$0 requires /usr/sbin/chpasswd command"
+ exit 1
+fi
+
+PASSWORD_SERVER_IP=${NIC_1_GATEWAY}
+
+if [ -n $PASSWORD_SERVER_IP ]; then
+ logger -t "cloudstack" "Found password server IP $PASSWORD_SERVER_IP"
+ logger -t "cloudstack" "Sending request to password server at $PASSWORD_SERVER_IP"
+ password=$(wget -q -t 3 -T 20 -O - --header "DomU_Request: send_my_password" $PASSWORD_SERVER_IP:8080)
+ if [ $? -ne 0 ]; then
+ logger -t "cloudstack" "Failed to run wget correctly. Network not ready?"
+ exit 1
+ fi
+ password=$(echo $password | tr -d '\r')
+ logger -t "cloudstack" "Got password as - $password - "
+
+ if [ $? -eq 0 ]; then
+ logger -t "cloudstack" "Got response from server at $PASSWORD_SERVER_IP"
+
+ case $password in
+ "")
+ logger -t "cloudstack" "Password server at $PASSWORD_SERVER_IP did not have any password for the VM"
+ ;;
+
+ "bad_request")
+ logger -t "cloudstack" "VM sent an invalid request to password server at $PASSWORD_SERVER_IP"
+ ;;
+
+ "saved_password")
+ logger -t "cloudstack" "VM has already saved a password from the password server at $PASSWORD_SERVER_IP"
+ ;;
+
+ *)
+ logger -t "cloudstack" "VM got a valid password from server at $PASSWORD_SERVER_IP"
+ password_received=1
+ ;;
+ esac
+ else
+ logger -t "cloudstack" "Failed to send request to password server at $PASSWORD_SERVER_IP"
+ fi
+else
+ logger -t "cloudstack" "Could not find password server IP for $interface"
+fi
+
+if [ "$password_received" == "1" ]; then
+ logger -t "cloudstack" "Changing password ..."
+ echo $user:$password | /usr/sbin/chpasswd
+
+ if [ $? -gt 0 ]; then
+ logger -t "cloudstack" "Failed to change password for user $user"
+ exit 1
+ fi
+
+ logger -t "cloudstack" "Successfully changed password for user $user"
+ logger -t "cloudstack" "Sending acknowledgment to password server at $PASSWORD_SERVER_IP"
+
+ wget -t 3 -T 20 -O - --header "DomU_Request: saved_password" $PASSWORD_SERVER_IP:8080
+fi
+
+exit 0
+# vim: set ts=2 sw=2 expandtab
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloudstack-ssh-key b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloudstack-ssh-key
new file mode 100644
index 0000000000..f048a938d7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/cloudstack-ssh-key
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+DHCP_SERVER=${NIC_1_GATEWAY}
+KEY_URL="http://${DHCP_SERVER}/latest/meta-data/public-keys"
+
+block-until-url "${KEY_URL}"
+curl --fail -s "${KEY_URL}" | update-ssh-keys -a cloudstack
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/flatcar-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/flatcar-setup-environment
new file mode 100644
index 0000000000..d694441427
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/flatcar-setup-environment
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+ENV=$1
+leases_dir="/run/systemd/netif/leases"
+
+if [[ -z "$ENV" ]]; then
+ echo "usage: $0 /etc/environment" >&2
+ exit 1
+fi
+
+# Make sure that the file is writable
+touch $ENV
+if [[ $? -ne 0 ]]; then
+ echo "$0: unable to modify ${ENV}" >&2
+ exit 1
+fi
+
+# Clean up values
+sed -i -e '/^COREOS_PUBLIC_IPV4=/d' \
+ -e '/^COREOS_PRIVATE_IPV4=/d' \
+ "${ENV}"
+
+sed -i -e '/^NIC_[0-9]*_IPV4=/d' \
+ -e '/^NIC_[0-9]*_GATEWAY=/d' \
+ "${ENV}"
+
+# Fetch number of NIC
+nic_count=$(ip link show | grep ens | wc -l)
+
+# Loop until all lease files ready
+while true; do
+ if [[ $(find "${leases_dir}" -maxdepth 1 -type f -size +1c | wc -l) -ge $nic_count ]]; then
+ break
+ fi
+ sleep .5
+done
+
+# Get leases in var
+leases=$(find "${leases_dir}" -type f | sort)
+
+# Take first lease which should be the default NIC
+default_lease=$(echo "${leases}" | head -n1)
+DHCP_SERVER=$(cat $default_lease | awk -F= '/SERVER_ADDRESS/ { print $2 }')
+METADATA_URL="http://${DHCP_SERVER}/latest/meta-data/"
+
+block-until-url "${METADATA_URL}"
+
+PUBLIC_IP=$(curl --fail -s "${METADATA_URL}public-ipv4")
+echo COREOS_PUBLIC_IPV4=${PUBLIC_IP} >> $ENV
+
+PRIVATE_IP=$(curl --fail -s "${METADATA_URL}local-ipv4")
+echo COREOS_PRIVATE_IPV4=${PRIVATE_IP} >> $ENV
+
+# Loop to export interoute style info into ENV
+count=1
+for lease in $leases;
+do
+ ip=$(cat $lease | awk -F= '/^ADDRESS/ { print $2 }')
+ gateway=$(cat $lease | awk -F= '/SERVER_ADDRESS/ { print $2 }')
+ echo "NIC_${count}_IPV4"=${ip} >> $ENV
+ echo "NIC_${count}_GATEWAY"=${gateway} >> $ENV
+ count=$(expr $count + 1)
+done
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/grub.cfg
new file mode 100644
index 0000000000..f3d466d03f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="interoute"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/oem-interoute-0.0.3-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/oem-interoute-0.0.3-r1.ebuild
new file mode 100644
index 0000000000..b53f7aec86
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-interoute/oem-interoute-0.0.3-r1.ebuild
@@ -0,0 +1,43 @@
+#
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+# $Header:$
+#
+
+EAPI=7
+
+DESCRIPTION="OEM suite for Interoute images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND="
+ app-emulation/open-vm-tools
+ "
+RDEPEND="${DEPEND}"
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
+}
+
+src_install() {
+ into "/usr/share/oem"
+ dobin "${FILESDIR}/cloudstack-set-guest-password"
+ dobin "${FILESDIR}/cloudstack-ssh-key"
+ dobin "${FILESDIR}/cloudstack-coreos-cloudinit"
+ dobin "${FILESDIR}/flatcar-setup-environment"
+
+ insinto "/usr/share/oem"
+ doins "${T}/cloud-config.yml"
+ doins "${FILESDIR}/grub.cfg"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/cloud-config.yml
new file mode 100644
index 0000000000..fda0724d3e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/cloud-config.yml
@@ -0,0 +1,57 @@
+#cloud-config
+
+coreos:
+ units:
+ - name: oem-ens192.network
+ content: |
+ [Match]
+ Name=ens192
+
+ [Network]
+ DHCP=v4
+ DNS=8.8.8.8
+ DNS=8.8.4.4
+ - name: vmtoolsd.service
+ command: start
+ content: |
+ [Unit]
+ Description=VMware Tools Agent
+ Documentation=http://open-vm-tools.sourceforge.net/
+ ConditionVirtualization=vmware
+
+ [Service]
+ ExecStartPre=/usr/bin/ln -sfT /usr/share/oem/vmware-tools /etc/vmware-tools
+ ExecStart=/usr/share/oem/bin/vmtoolsd
+ ExecStartPost=/usr/share/oem/bin/vmware-toolbox-cmd timesync enable
+ TimeoutStopSec=5
+ - name: niftycloud-coreos-cloudinit.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ After=flatcar-setup-environment.service
+ After=vmtoolsd.service
+ Requires=flatcar-setup-environment.service
+ Requires=vmtoolsd.service
+
+ [Service]
+ Type=oneshot
+ EnvironmentFile=/etc/environment
+ ExecStart=/usr/share/oem/bin/niftycloud-coreos-cloudinit
+ - name: niftycloud-ssh-key.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ Description=Sets SSH key from vmtoolsd
+ [Service]
+ Type=oneshot
+ StandardOutput=journal+console
+ ExecStart=/usr/share/oem/bin/niftycloud-ssh-key
+
+ oem:
+ id: niftycloud
+ name: NIFTY Cloud
+ version-id: @@OEM_VERSION_ID@@
+ home-url: http://cloud.nifty.com/
+ bug-report-url: https://issues.flatcar.org
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/flatcar-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/flatcar-setup-environment
new file mode 100755
index 0000000000..3df9436164
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/flatcar-setup-environment
@@ -0,0 +1,35 @@
+#!/bin/bash -e
+
+ENV=$1
+
+if [ -z "$ENV" ]; then
+ echo usage: $0 /etc/environment
+ exit 1
+fi
+
+# test for rw
+touch $ENV
+if [ $? -ne 0 ]; then
+ echo exiting, unable to modify: $ENV
+ exit 1
+fi
+
+sed -i -e '/^COREOS_PUBLIC_IPV4=/d' \
+ -e '/^COREOS_PRIVATE_IPV4=/d' \
+ "${ENV}"
+
+function get_ip () {
+ IF=$1
+ IP=
+ while [ 1 ]; do
+ IP=$(ip addr show $IF | awk '/inet /{print $2}' | awk -F'/' '{print $1}')
+ if [ "$IP" != "" ]; then
+ break
+ fi
+ sleep .1
+ done
+ echo $IP
+}
+
+echo COREOS_PUBLIC_IPV4=$(get_ip ens192) >> $ENV
+echo COREOS_PRIVATE_IPV4=$(get_ip ens224) >> $ENV
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/grub.cfg
new file mode 100644
index 0000000000..b4f808396d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="niftycloud"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/niftycloud-coreos-cloudinit b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/niftycloud-coreos-cloudinit
new file mode 100644
index 0000000000..2e579cb690
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/niftycloud-coreos-cloudinit
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+VMTOOLSD=""
+if [ -x /usr/share/oem/bin/vmtoolsd ]; then
+ VMTOOLSD="/usr/share/oem/bin/vmtoolsd"
+else
+ exit 1
+fi
+
+USER_DATA_DIR=/var/lib/flatcar-niftycloud
+USER_DATA_PATH=${USER_DATA_DIR}/user-data
+USER_DATA_FLAG=$(${VMTOOLSD} --cmd 'info-get guestinfo.set_user_data')
+
+if [ "$USER_DATA_FLAG" == "1" ]; then
+ TMPFILE=$(mktemp /tmp/XXXXXX-cloud-init)
+ ${VMTOOLSD} --cmd 'info-get guestinfo.user_data' | openssl enc -d -base64 > "${TMPFILE}"
+ if [ -s "${TMPFILE}" ]; then
+ coreos-cloudinit --from-file="${TMPFILE}" || exit $?
+ if [ "$(head -n 1 ${TMPFILE} | tr -d '\r' | tr -d '\n')" = "#cloud-config" ]; then
+ mkdir -p ${USER_DATA_DIR}
+ cp -p ${TMPFILE} ${USER_DATA_PATH}
+ fi
+ else
+ echo "guestinfo.user_data undefined." >&2
+ exit 1
+ fi
+ ${VMTOOLSD} --cmd 'info-set guestinfo.set_user_data 0'
+elif [ -f ${USER_DATA_PATH} ]; then
+ coreos-cloudinit --from-file="${USER_DATA_PATH}" || exit $?
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/niftycloud-ssh-key b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/niftycloud-ssh-key
new file mode 100644
index 0000000000..f835ac223c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/files/niftycloud-ssh-key
@@ -0,0 +1,25 @@
+#!/bin/bash -e
+
+set -e
+
+VMTOOLSD=""
+if [ -x /usr/share/oem/bin/vmtoolsd ]; then
+ VMTOOLSD="/usr/share/oem/bin/vmtoolsd"
+else
+ exit 1
+fi
+
+INIT=$(${VMTOOLSD} --cmd 'info-get guestinfo.init' 2>&1)
+if [ $? -ne 0 ]; then
+ echo "guestinfo.init undefined."
+ ${VMTOOLSD} --cmd 'info-set guestinfo.init_result 9999'
+ exit 0
+fi
+echo "guestinfo.init: $INIT"
+
+if [ $INIT == "1" ]; then
+ ${VMTOOLSD} --cmd 'info-get guestinfo.ssh_authorized_key' | update-ssh-keys -a "niftycloud" -
+ ${VMTOOLSD} --cmd 'info-set guestinfo.init 0'
+fi
+
+${VMTOOLSD} --cmd 'info-set guestinfo.init_result 1'
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/oem-niftycloud-0.0.3-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/oem-niftycloud-0.0.3-r1.ebuild
new file mode 100644
index 0000000000..c9701bdd87
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-niftycloud/oem-niftycloud-0.0.3-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright (c) 2014 NIFTY Corp.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for NIFTY Cloud images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+DEPEND="
+ app-emulation/open-vm-tools
+ "
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
+}
+
+src_install() {
+ into "/usr/share/oem"
+ dobin "${FILESDIR}/niftycloud-ssh-key"
+ dobin "${FILESDIR}/niftycloud-coreos-cloudinit"
+ dobin "${FILESDIR}/flatcar-setup-environment"
+
+ insinto "/usr/share/oem"
+ doins "${T}/cloud-config.yml"
+ doins "${FILESDIR}/grub.cfg"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/base/README b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/base/README
new file mode 100644
index 0000000000..d128309fef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/base/README
@@ -0,0 +1,4 @@
+These Ignition configs are part of the OEM configuration. Do not modify
+them. If you want to write an Ignition config directly to disk, put it in
+../config.ign and it will be applied at first boot instead of a config
+in userdata.
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/base/base.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/base/base.ign
new file mode 100644
index 0000000000..5c530660c4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/base/base.ign
@@ -0,0 +1,29 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "storage": {
+ "files": [
+ {
+ "filesystem": "root",
+ "path": "/etc/systemd/system/packet-phone-home.service",
+ "contents": {
+ "source": "oem:///units/packet-phone-home.service"
+ },
+ "mode": 292
+ }
+ ]
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "coreos-metadata-sshkeys@.service",
+ "enabled": true
+ },
+ {
+ "name": "packet-phone-home.service",
+ "enabled": true
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/base/default.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/base/default.ign
new file mode 100644
index 0000000000..8d97655935
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/base/default.ign
@@ -0,0 +1,14 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "oem-cloudinit.service",
+ "enabled": true,
+ "contents": "[Unit]\nDescription=Cloudinit from Packet metadata\n\n[Service]\nType=oneshot\nExecStart=/usr/bin/coreos-cloudinit --oem=packet\n\n[Install]\nWantedBy=multi-user.target\n"
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/grub.cfg
new file mode 100644
index 0000000000..f780fd76ec
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/grub.cfg
@@ -0,0 +1,9 @@
+# Flatcar GRUB settings
+
+set oem_id="packet"
+set linux_append="flatcar.autologin"
+
+if [ "$grub_cpu" = i386 ] || [ "$grub_cpu" = x86_64 ]; then
+ set gfxpayload="1024x768x8,1024x768"
+ set linux_console="console=tty0 console=ttyS1,115200n8"
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/oem-release
new file mode 100644
index 0000000000..61c35df879
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/oem-release
@@ -0,0 +1,5 @@
+ID=packet
+VERSION_ID=@@OEM_VERSION_ID@@
+NAME="Packet"
+HOME_URL="https://packet.net"
+BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/units/packet-phone-home.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/units/packet-phone-home.service
new file mode 100644
index 0000000000..c74cf022ff
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/files/units/packet-phone-home.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Report Success to Packet
+ConditionFirstBoot=true
+Requires=coreos-metadata.service
+After=coreos-metadata.service
+
+[Service]
+EnvironmentFile=/run/metadata/flatcar
+ExecStart=/usr/bin/curl --header "Content-Type: application/json" --request POST "${COREOS_PACKET_PHONE_HOME_URL}"
+Restart=on-failure
+RestartSec=2
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/oem-packet-0.2.2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/oem-packet-0.2.2.ebuild
new file mode 100644
index 0000000000..4551e0bf8b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-packet/oem-packet-0.2.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for Packet images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/oem-release" > "${T}/oem-release" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${FILESDIR}/grub.cfg"
+ doins "${T}/oem-release"
+ doins -r "${FILESDIR}/base"
+ doins -r "${FILESDIR}/units"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/files/grub.cfg
new file mode 100644
index 0000000000..2cd3a0a310
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/files/grub.cfg
@@ -0,0 +1,4 @@
+# Flatcar GRUB settings
+
+set oem_id="qemu"
+set linux_append="flatcar.autologin"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/files/oem-release
new file mode 100644
index 0000000000..280e43175d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/files/oem-release
@@ -0,0 +1,5 @@
+ID=qemu
+VERSION_ID=@@OEM_VERSION_ID@@
+NAME="QEMU"
+HOME_URL="https://www.qemu.org/"
+BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/oem-qemu-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/oem-qemu-0.0.1.ebuild
new file mode 100644
index 0000000000..22b47c2ef6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-qemu/oem-qemu-0.0.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright (c) 2020 Kinvolk GmbH. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for QEMU"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/oem-release" > "${T}/oem-release" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${FILESDIR}/grub.cfg"
+ doins "${T}/oem-release"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/cloud-config.yml
new file mode 100644
index 0000000000..c051c235bc
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/cloud-config.yml
@@ -0,0 +1,42 @@
+#cloud-config
+
+coreos:
+ units:
+ - name: user-configdrive.service.d/netconf.conf
+ runtime: yes
+ content: |
+ [Service]
+ ExecStart=
+ ExecStart=/usr/bin/coreos-cloudinit --oem=rackspace-onmetal
+ - name: ping-out.service
+ runtime: yes
+ enable: yes
+ content: |
+ [Unit]
+ After=user-config.target
+
+ [Service]
+ Type=oneshot
+ RemainAfterExit=yes
+ ExecStart=/usr/bin/sh -c "ping -A -c1 $(ip route | awk '/default/ { print $3 }')"
+
+ [Install]
+ WantedBy=user-config.target
+ - name: media-configdrive.mount
+ command: start
+ runtime: yes
+ content: |
+ [Unit]
+ Wants=user-configdrive.service
+ Before=user-configdrive.service
+
+ [Mount]
+ What=/dev/disk/by-label/config-2
+ Where=/media/configdrive
+ Options=ro
+ oem:
+ id: onmetal
+ name: Rackspace OnMetal
+ version-id: @@OEM_VERSION_ID@@
+ home-url: http://www.rackspace.com/
+ bug-report-url: https://issues.flatcar.org
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/grub.cfg
new file mode 100644
index 0000000000..9519ecd969
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/files/grub.cfg
@@ -0,0 +1,13 @@
+# Flatcar GRUB settings
+
+set oem_id="rackspace-onmetal"
+
+# Rackspace wanted a longer timeout, I forget why. (15 seconds)
+set timeout=15
+
+# Switch default console to ttyS4, only applies to Linux since
+# GRUB needs exact IO ports for non-standard serial devices.
+set linux_console="console=ttyS4,115200n8 8250.nr_uarts=5"
+
+# Blacklist MEI, the firmware is just plain broken.
+set linux_append="modprobe.blacklist=mei_me net.ifnames=0"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/oem-rackspace-onmetal-0.0.8-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/oem-rackspace-onmetal-0.0.8-r1.ebuild
new file mode 100644
index 0000000000..f896684cca
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace-onmetal/oem-rackspace-onmetal-0.0.8-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for Rackspace Teeth images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${T}/cloud-config.yml"
+ doins "${FILESDIR}/grub.cfg"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/cloud-config.yml
new file mode 100644
index 0000000000..6d9e4656ec
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/cloud-config.yml
@@ -0,0 +1,37 @@
+#cloud-config
+
+coreos:
+ units:
+ - name: nova-agent-auto.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ After=dbus.service
+ [Service]
+ Environment=HOME=/root
+ ExecStartPre=/bin/mount -t proc none /usr/share/oem/nova-agent/proc
+ ExecStartPre=/bin/mount -t xenfs none /usr/share/oem/nova-agent/proc/xen
+ ExecStartPre=/bin/mount --bind /dev /usr/share/oem/nova-agent/dev
+ ExecStartPre=/bin/mount --bind /sys /usr/share/oem/nova-agent/sys
+ ExecStart=/usr/bin/chroot /usr/share/oem/nova-agent/ /usr/share/nova-agent/0.0.1.38/sbin/nova-agent -o - -n -l info /usr/share/nova-agent/nova-agent.py
+ ExecStopPost=/bin/umount -f /usr/share/oem/nova-agent/sys
+ ExecStopPost=/bin/umount -f /usr/share/oem/nova-agent/dev
+ ExecStopPost=/bin/umount -f /usr/share/oem/nova-agent/proc/xen
+ ExecStopPost=/bin/umount -f /usr/share/oem/nova-agent/proc
+ - name: nova-agent-watcher.service
+ command: restart
+ runtime: yes
+ content: |
+ [Unit]
+ After=dbus.service
+
+ [Service]
+ ExecStart=/usr/share/oem/bin/nova-agent-watcher -watch-dir=/usr/share/oem/nova-agent -scripts-dir=/usr/share/oem/bin/
+
+ oem:
+ id: rackspace
+ name: Rackspace Cloud Servers
+ version-id: @@OEM_VERSION_ID@@
+ home-url: https://www.rackspace.com/cloud/servers/
+ bug-report-url: https://issues.flatcar.org
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/flatcar-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/flatcar-setup-environment
new file mode 100755
index 0000000000..2e5f9c1bd0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/flatcar-setup-environment
@@ -0,0 +1,35 @@
+#!/bin/bash -e
+
+ENV=$1
+
+if [ -z "$ENV" ]; then
+ echo usage: $0 /etc/environment
+ exit 1
+fi
+# test for rw
+touch $ENV
+if [ $? -ne 0 ]; then
+ echo exiting, unable to modify: $ENV
+ exit 1
+fi
+
+sed -i -e '/^COREOS_PUBLIC_IPV4=/d' \
+ -e '/^COREOS_PRIVATE_IPV4=/d' \
+ "${ENV}"
+
+# We spin loop until the nova-agent sets up the ip addresses
+function get_ip () {
+ IF=$1
+ IP=
+ while [ 1 ]; do
+ IP=$(ifconfig $IF | awk '/inet /{print $2}')
+ if [ "$IP" != "" ]; then
+ break
+ fi
+ sleep .1
+ done
+ echo $IP
+}
+
+echo COREOS_PUBLIC_IPV4=$(get_ip eth0) >> $ENV
+echo COREOS_PRIVATE_IPV4=$(get_ip eth1) >> $ENV
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/grub.cfg
new file mode 100644
index 0000000000..8e05a0e064
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="rackspace"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/oem-rackspace-0.0.4-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/oem-rackspace-0.0.4-r2.ebuild
new file mode 100644
index 0000000000..246c6c63bd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-rackspace/oem-rackspace-0.0.4-r2.ebuild
@@ -0,0 +1,39 @@
+#
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+# $Header:$
+#
+
+EAPI=7
+
+DESCRIPTION="oem suite for rackspace images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ coreos-base/nova-agent-container
+ coreos-base/nova-agent-watcher
+"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${T}/cloud-config.yml"
+ doins "${FILESDIR}/grub.cfg"
+
+ into "/usr/share/oem"
+ dobin "${FILESDIR}/flatcar-setup-environment"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/files/cloud-config.yml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/files/cloud-config.yml
new file mode 100644
index 0000000000..9fd8f6a434
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/files/cloud-config.yml
@@ -0,0 +1,4 @@
+#cloud-config
+
+ssh_authorized_keys:
+ - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/files/grub.cfg
new file mode 100644
index 0000000000..d42817d100
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="vagrant"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/oem-vagrant-key-0.0.3.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/oem-vagrant-key-0.0.3.ebuild
new file mode 100644
index 0000000000..82b074789d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-key/oem-vagrant-key-0.0.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2013 The CoreOS Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for login access via Vagrant's ssh key."
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${FILESDIR}/cloud-config.yml"
+ doins "${FILESDIR}/grub.cfg"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/Vagrantfile b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/Vagrantfile
new file mode 100644
index 0000000000..e5c4a2fe7b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/Vagrantfile
@@ -0,0 +1,31 @@
+# -*- mode: ruby -*-
+# # vi: set ft=ruby :
+
+if Vagrant::VERSION < "1.6.0"
+ raise "Need at least vagrant version 1.6.0, please update"
+end
+
+require_relative 'change_host_name.rb'
+require_relative 'configure_networks.rb'
+require_relative 'base_mac.rb'
+
+Vagrant.configure("2") do |config|
+ # always use Vagrants insecure key
+ config.ssh.insert_key = false
+
+ # SSH in as the default 'core' user, it has the vagrant ssh key.
+ config.ssh.username = "core"
+
+ # Disable the base shared folder, guest additions are unavailable.
+ config.vm.synced_folder ".", "/vagrant", disabled: true
+
+ config.vm.provider :virtualbox do |vb|
+ # Guest Additions are unavailable.
+ vb.check_guest_additions = false
+ vb.functional_vboxsf = false
+
+ # Fix docker not being able to resolve private registry in VirtualBox
+ vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
+ vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
+ end
+end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/base_mac.rb b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/base_mac.rb
new file mode 100644
index 0000000000..1f26796e07
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/base_mac.rb
@@ -0,0 +1,4 @@
+# This file must be rewritten with a real value for VirtualBox
+Vagrant.configure("2") do |config|
+ config.vm.base_mac = "080027000000"
+end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/change_host_name.rb b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/change_host_name.rb
new file mode 100644
index 0000000000..a4d5654b04
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/change_host_name.rb
@@ -0,0 +1,18 @@
+# -*- mode: ruby -*-
+# # vi: set ft=ruby :
+
+# NOTE: This monkey-patching is done to disable to old cloud config based
+# change_host_name built into the upstream vagrant project
+
+require Vagrant.source_root.join("plugins/guests/coreos/cap/change_host_name.rb")
+
+module VagrantPlugins
+ module GuestCoreOS
+ module Cap
+ class ChangeHostName
+ def self.change_host_name(machine, name)
+ end
+ end
+ end
+ end
+end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/configure_networks.rb b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/configure_networks.rb
new file mode 100644
index 0000000000..4788bd1b19
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/box/configure_networks.rb
@@ -0,0 +1,18 @@
+# -*- mode: ruby -*-
+# # vi: set ft=ruby :
+
+# NOTE: This monkey-patching is done to disable to old cloud config based
+# configure_networks built into the upstream vagrant project
+
+require Vagrant.source_root.join("plugins/guests/coreos/cap/configure_networks.rb")
+
+module VagrantPlugins
+ module GuestCoreOS
+ module Cap
+ class ConfigureNetworks
+ def self.configure_networks(machine, networks)
+ end
+ end
+ end
+ end
+end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/grub.cfg
new file mode 100644
index 0000000000..22ef469458
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="vagrant-virtualbox"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/oem-vagrant-virtualbox-0.0.2.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/oem-vagrant-virtualbox-0.0.2.ebuild
new file mode 100644
index 0000000000..2bfcd7b39b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant-virtualbox/oem-vagrant-virtualbox-0.0.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2017 The CoreOS Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for vagrant images (virtualbox)"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins -r "${FILESDIR}/box"
+ doins "${FILESDIR}/grub.cfg"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/Vagrantfile b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/Vagrantfile
new file mode 100644
index 0000000000..7bed8e3643
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/Vagrantfile
@@ -0,0 +1,41 @@
+# -*- mode: ruby -*-
+# # vi: set ft=ruby :
+
+if Vagrant::VERSION < "1.6.0"
+ raise "Need at least vagrant version 1.6.0, please update"
+end
+
+require_relative 'change_host_name.rb'
+require_relative 'configure_networks.rb'
+require_relative 'base_mac.rb'
+
+Vagrant.configure("2") do |config|
+ # always use Vagrants insecure key
+ config.ssh.insert_key = false
+
+ # SSH in as the default 'core' user, it has the vagrant ssh key.
+ config.ssh.username = "core"
+
+ # Disable the base shared folder, guest additions are unavailable.
+ config.vm.synced_folder ".", "/vagrant", disabled: true
+
+ config.vm.provider :virtualbox do |vb|
+ # Guest Additions are unavailable.
+ vb.check_guest_additions = false
+ vb.functional_vboxsf = false
+
+ # Fix docker not being able to resolve private registry in VirtualBox
+ vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
+ vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
+ end
+
+ config.vm.provider :vmware_fusion do |vf|
+ vf.functional_hgfs = false
+ end
+
+ config.vm.provider :parallels do |prl|
+ # Guest Tools are unavailable.
+ prl.check_guest_tools = false
+ prl.functional_psf = false
+ end
+ end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/base_mac.rb b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/base_mac.rb
new file mode 100644
index 0000000000..1f26796e07
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/base_mac.rb
@@ -0,0 +1,4 @@
+# This file must be rewritten with a real value for VirtualBox
+Vagrant.configure("2") do |config|
+ config.vm.base_mac = "080027000000"
+end
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/change_host_name.rb b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/change_host_name.rb
new file mode 100644
index 0000000000..bae625e235
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/box/change_host_name.rb
@@ -0,0 +1,37 @@
+# -*- mode: ruby -*-
+# # vi: set ft=ruby :
+
+# NOTE: This monkey-patching of the coreos guest plugin is a terrible
+# hack that needs to be removed once the upstream plugin works with
+# alpha CoreOS images.
+
+require 'tempfile'
+require Vagrant.source_root.join("plugins/guests/coreos/cap/change_host_name.rb")
+
+CLOUD_CONFIG = <&2
+ echo "Using localhost, for default public and private IPs" >&2
+ echo "COREOS_PUBLIC_IPV4=127.0.0.1" >> "$ENV"
+ echo "COREOS_PRIVATE_IPV4=127.0.0.1" >> "$ENV"
+ exit
+ fi
+ sleep 0.1
+done
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/grub.cfg
new file mode 100644
index 0000000000..d42817d100
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="vagrant"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.3.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.3.ebuild
new file mode 100644
index 0000000000..97dbbee8c7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/oem-vagrant-0.0.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2013 The CoreOS Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for vagrant images"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/cloud-config.yml" > "${T}/cloud-config.yml" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${T}/cloud-config.yml"
+ doins -r "${FILESDIR}/box"
+ doins "${FILESDIR}/grub.cfg"
+
+ into "/usr/share/oem"
+ dobin "${FILESDIR}/flatcar-setup-environment"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/grub.cfg
new file mode 100644
index 0000000000..67a990fe17
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/grub.cfg
@@ -0,0 +1,3 @@
+# Flatcar GRUB settings
+
+set oem_id="virtualbox"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/oem-release
new file mode 100644
index 0000000000..8a357cf6ff
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/files/oem-release
@@ -0,0 +1,4 @@
+ID=virtualbox
+VERSION_ID=@@OEM_VERSION_ID@@
+NAME="Oracle VirtualBox"
+BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/oem-virtualbox-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/oem-virtualbox-0.0.1.ebuild
new file mode 100644
index 0000000000..5ed1442b9e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-virtualbox/oem-virtualbox-0.0.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for VirtualBox"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/oem-release" > "${T}/oem-release" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${FILESDIR}/grub.cfg"
+ doins "${T}/oem-release"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/README b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/README
new file mode 100644
index 0000000000..bdc50aeed4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/README
@@ -0,0 +1 @@
+The OEM version should match the current version of open-vm-tools.
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/README b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/README
new file mode 100644
index 0000000000..97bd5f6738
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/README
@@ -0,0 +1,4 @@
+These Ignition configs are part of the OEM configuration. Do not modify
+them. If you want to write an Ignition config directly to disk, put it in
+../config.ign and it will be applied at first boot instead of a config
+in guestinfo.
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/base.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/base.ign
new file mode 100644
index 0000000000..cd57bdbb54
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/base.ign
@@ -0,0 +1,25 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "storage": {
+ "files": [
+ {
+ "filesystem": "root",
+ "path": "/etc/systemd/system/vmtoolsd.service",
+ "contents": {
+ "source": "oem:///units/vmtoolsd.service"
+ },
+ "mode": 292
+ }
+ ]
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "vmtoolsd.service",
+ "enabled": true
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/default.ign b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/default.ign
new file mode 100644
index 0000000000..4829082510
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/base/default.ign
@@ -0,0 +1,14 @@
+{
+ "ignition": {
+ "version": "2.1.0"
+ },
+ "systemd": {
+ "units": [
+ {
+ "name": "oem-cloudinit.service",
+ "enabled": true,
+ "contents": "[Unit]\nDescription=Cloudinit from VMware metadata\n\n[Service]\nType=oneshot\nExecStart=/usr/bin/coreos-cloudinit --oem=vmware\n\n[Install]\nWantedBy=multi-user.target\n"
+ }
+ ]
+ }
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/grub.cfg b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/grub.cfg
new file mode 100644
index 0000000000..d58568ab54
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/grub.cfg
@@ -0,0 +1,4 @@
+# Flatcar GRUB settings
+
+set oem_id="vmware"
+set linux_append="flatcar.autologin"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/oem-release
new file mode 100644
index 0000000000..9d6442280a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/oem-release
@@ -0,0 +1,5 @@
+ID=vmware
+VERSION_ID=@@OEM_VERSION_ID@@
+NAME="VMware"
+HOME_URL="https://www.vmware.com/"
+BUG_REPORT_URL="https://issues.flatcar.org"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/units/vmtoolsd.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/units/vmtoolsd.service
new file mode 100644
index 0000000000..85efdeb719
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/files/units/vmtoolsd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=VMware Tools Agent
+Documentation=https://github.com/vmware/open-vm-tools
+ConditionVirtualization=vmware
+
+[Service]
+ExecStartPre=/usr/bin/ln -sfT /usr/share/oem/vmware-tools /etc/vmware-tools
+ExecStart=/usr/share/oem/bin/vmtoolsd
+TimeoutStopSec=5
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-11.3.5.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-11.3.5.ebuild
new file mode 100644
index 0000000000..357d9cdd08
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vmware/oem-vmware-11.3.5.ebuild
@@ -0,0 +1,35 @@
+# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="OEM suite for VMware"
+HOMEPAGE="https://github.com/flatcar/coreos-overlay/tree/main/coreos-base"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND="
+ ~app-emulation/open-vm-tools-${PV}
+ "
+RDEPEND="${DEPEND}"
+
+# no source directory
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+ sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
+ "${FILESDIR}/oem-release" > "${T}/oem-release" || die
+}
+
+src_install() {
+ insinto "/usr/share/oem"
+ doins "${FILESDIR}/grub.cfg"
+ doins "${T}/oem-release"
+ doins -r "${FILESDIR}/base"
+ doins -r "${FILESDIR}/units"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/Manifest b/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/Manifest
new file mode 100644
index 0000000000..83aaaa7682
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/Manifest
@@ -0,0 +1,31 @@
+DIST ansi_term-0.11.0.crate 17087 BLAKE2B 9bd35c045a01ce4c6c4a5db1b4f15e9412bb97426eec19d4421dffbec633de8d13452c13c1dc1b30998690b78d7ed38311aca700087f13a81f66bd1d5d7300c4 SHA512 a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa
+DIST atty-0.2.11.crate 5916 BLAKE2B e502c23faaa9dd27cc5865b68a721b0403071edb483fca0c745707f4c0ca1b1787b5677b2d8ad7f327b8f5588ba784126ce78496c1db54f7ca4ce0ccea669499 SHA512 9d6417dc1e8abdb4969418525b36c451274fd76769adb57bef9875ef62ef521c50d58626ebc4f96d2bea32cbadb6999fd67653b570293d7253b403b6d0736c79
+DIST base64-0.10.1.crate 41988 BLAKE2B 6e28a70cc0d5e426d9a3944825952851928ec2e32fa2543a8e1d1b886ad306f38fd6e673da62e96581e56613f133265feeff5b0d2f1e2e34593e58c0424eee9e SHA512 674a8cbee95a41f755499a4e3bb93ebd3f80140c3e8e2d44a0b73890ee423754e7ba8abcd92132683cd54501ff5d14438d023a202eaf12776aecbe36df9e5535
+DIST bitflags-1.0.4.crate 15282 BLAKE2B 63f5feb47460c344983cef8822804b1c4ac2f3adfffcf206df2b05fafb9c7bfd73986721cde46705a3e4a0dc72a40683e4d369f2339adfc1b55208bad1766875 SHA512 81850d2be62eabb8486024ab263da67e6eb8ebfa732cac3a5d46a9186c564b2065cba15fa3da468bbd26eaf2b67038680e5de19d5dd99d78f60dae8a1776c8de
+DIST block-buffer-0.7.2.crate 7157 BLAKE2B 38f531e45b6e6de5cdc65d6c6af796dae3fca41b8679d9e79774802aca738fed8126196b97e90d7efd5e81f9a24e99a77cb130bafe7de4af3dc64c2f88e3e7aa SHA512 d08974f00439d01344ca2453a9d79fd186ab58d516b95dc02f0252e31c8640a516663d2cbf3f645bf626905ac99fd7e8f041d1f4a07351247b1105bc3f1fca85
+DIST block-padding-0.1.3.crate 7199 BLAKE2B 8a0d47c7cf0152398325812a1055a51234ccf48387bda24831d2a6cd7b8552faa98c564a984031c4a5b9fa2ecdc31fb1f36107b8eae5f33dcfba5d6cd58f4eb7 SHA512 9af8c4bad1435991be9570a423f7be50b2810a77c90a263d995115f4732c251d9de5ab40e173d832e972215b6399e47bdecead04cb2a80dbb98b34b3d476e80b
+DIST byte-tools-0.3.1.crate 5526 BLAKE2B e87163b1f2abde9c6ad5002c37b21308a98a879dc7af14059839be7b5a019d2487ef03867f3f5cd436b7081cb78a930abce79b5cce23eb95cc60e05067e1b1df SHA512 18e0f248a1e9780706e3a184d63558f03f30002646abc6d46ef49db9d5f6768af3d24d210b688aa4ad33d41248429e4df46bc3926f27851f90c92d260e5c4baa
+DIST byteorder-1.3.1.crate 20959 BLAKE2B dcc5d3b97a0bd82272616599454673790d64d799b699b9e339feaf1d8a75b64b6f4cde19642d5359babf6c769b14325b89a51d29594f1e8ce48c2190348bd4cf SHA512 b8d8273293f776cf567dbb9357e73a65cfd352461963b2ba202959bb48338f5e14eaebb221f940c09dc0b3214924e40194f6952c32631f20a18030ad22258c25
+DIST clap-2.33.0.crate 196458 BLAKE2B 3bb62d817afc77b421a6282746b9b61367d224de6b614c7ed66bde452ce1046728077dab3368a46635b5c74d82ba3196586d87c0201478ce5b89638910dadb1a SHA512 f1075031414d48e4340bfe308904a95a31b72460724773c52a0bc8c004e625a04c904a39fc5420cb8c26a633321f9b5f4f69019c7aae5ed89900b63ed8c21a91
+DIST digest-0.8.0.crate 9401 BLAKE2B 3b0a6d60551f64b736b31f320244c7fc720908e8093e6c554da4ff82595eb088c0e8be97d25b32c6162b249ca02804cbd45d9655af8ebfdff1445bde4dc703d6 SHA512 b5c4b7d0d1131d2b24fa010839019fa5fc825a88bcda12f4b170b5d7bc93500319895a8c6282eda98be59e880825147f06d21eb9bea43828752cafc998b23e56
+DIST error-chain-0.12.0.crate 27056 BLAKE2B a6d699ae63838d3b0d40a63977642fc464558fd45a46c2da9c7a57889450f7ce183c43dddfbe325c8cf6db2775c1a41f547bfd3802cda5b46d4a09f6e0a91aa5 SHA512 7e9fd94de9f0f8e61039766953d85b3cc5f87be2b8c37016295031ea3234dbcbccd111f521ddaaf97dab7f8ff8c30828b8949958014ef1e13a02544b6143b9e4
+DIST fake-simd-0.1.2.crate 5398 BLAKE2B 40437b18ca7b77258577f518232dcf67e2bf09b64234dc3f02b9eba0c5c1fede8f8d1dc7cbc112ce80e4f0bf317387d1b8046d41a4f83a7c54981fd2b71fc8e2 SHA512 d57242c54ea3283185eaecbf8d96a4c9decbada3ae3aceb516a79710be9bf038a6e06a29b9ba4ebcd41b8f42943a3024a983ea23e36b17edc445a8c4980f2893
+DIST fs2-0.4.3.crate 13138 BLAKE2B a8c53130014affc276544360425718c480fe6b6583675e15e8bf25dca0cd2752aeb0793135fce1bdc12bcfc0ef21fb7f6aa298981d61ac150300eb134c2014e0 SHA512 b83fefa9123f304e4813ec1dacbb1aee5dc0c94e1316cd7c8a434aa2a242c9c42523d2bd8232d78e6c84c4e172b5c46ef8605e93b54216a2d4496fdf885dcf50
+DIST generic-array-0.12.0.crate 17977 BLAKE2B 4df0061a5d2da5d352a59842d6de429bb86ae08ba5ee7170877c2d1441912920dbdb505bc30d7d938895c6fadc7e280b3f6f0a6ce7350b15a07f645a98beecde SHA512 ecad969ae86b7370ae0c68b67900216a63d0aaa39c50f541fbcb0c28c31c12f28290ba6d1ead061b563b8e7ccbb8a8867d69d3c57550c41c5627dc93fe7af5b4
+DIST libc-0.2.51.crate 397323 BLAKE2B 51306c2ab8eed6de1fabd4d59b7618ee74d8d699eaec776d21fa5df20c63cdd743a50ace3a37334b282e3050dd718faa9f95d359abd2495a2bb8de0384738b15 SHA512 d05693e7106e1887d94b23ddff5692111c2164e7ce59d9c60995af2a49fcf03ea8723e837370867c1177315aecdf25be82bf723c5e798ada66f5cc7886c22857
+DIST md-5-0.8.0.crate 13122 BLAKE2B cb74805b5b939e4261deb85de94b57ca0b64da03214221437f099dab2c49b1b4c2b1f2a6a8cfe7ea3047d4df41ca9117ff885516de06de298ff4ca416fcc5137 SHA512 f0baae0ede1dddb9be047f8d776fda2819980ece24e86da9d7bc4828308e53c4fa82597d416912ca115e75019518839a8edc076ba1e43686b0023aa559838a28
+DIST opaque-debug-0.2.2.crate 5639 BLAKE2B 602ef94e797a236cb82c7942321e0834d761e55d7195a098cea2fbd9d01e5ac6102cd86bbc5cc258ef5d26bbc2d18097dadb3b36746c86c29131e87cb32239a4 SHA512 3bbe9ada50d8fbeb46a0d3ee624a8e2a4f8012ba018f7a9e2408817756c6aeae2804b89537685509cd4872b1ac19bdbe01b6e09d7ba22995d9046b99587fa157
+DIST openssh-keys-0.4.1.crate 17659 BLAKE2B 6da07dc48f0042080cdff7ceeb1b054dd39d9249b07acdceab2fb65d96e4aa665d8a811d6507f7035e8e1e2154e80a84d45b06fdb9c9a41111a994fa22cf7857 SHA512 380f03d0249da01bf04da4797807f13a8a9c1abb44568b1419c83ec887912211beb0ec5a61196d4974c33200cb8b634bea0b139c929957d98657afe82dcae52f
+DIST redox_syscall-0.1.53.crate 15725 BLAKE2B 3629da80ab9c81ad671d6c75cab46bee61ee06db5b1104e268093b8652f5951c33573a338b62fbb5840638dbbd7de4491870dddb2628a50109048ccefb043df4 SHA512 6abbe58b7aecba25f93cd7e57cd0f5de8568f39131a9df16881443d78175854ef9bfdafd4eb5b729e951f797cd966e191b1e2f5806a2f3361653d8e0c47336a8
+DIST redox_termios-0.1.1.crate 3227 BLAKE2B 0b109d34e942735e804dd3da2a9639506e8bf6eb5b1f69ae021b115b0b75ae5159e8457abdf647dabfc19d5119cd3a44b8966635d7862cc66a8a997e4468e1ab SHA512 201d051900e919e2c6c6769ef252e51979d90133df16b6605e2a2f424cfb2e6e505e21add75ef5854fe5e0cab1ed1f1c1451010f072ae4bc8703c585a4323981
+DIST sha2-0.8.0.crate 17302 BLAKE2B ed37c8567479bade08207b73d61cb1af15b58a930b42cf422ee960e24a3caf76a6f3c08ea28ebd925f6d24835f2d0045bf7b0321df4c86923531d8fad253a320 SHA512 6d95888b40c7f84b245864891d4a3e8c06ed3e0cde1aaeacde2ef75c969e00b524fe6045aa9b978d0036b315cc74502f88aab0da67c6708b2450efa9119abdad
+DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
+DIST termion-1.5.1.crate 20659 BLAKE2B 5b4291c2c26a074c16eac2e7bcb40467380181bac69c941e5c958059dc239cbbfd74872d9bd3da65245d010f9fc39804c43dc96f4caab2499b021cf35977a6b0 SHA512 1d1536f08600c7c1f414b4579a1a6e7eff91f4c105504125118d3cadf71c7886a352d1c5f7e07f3d7c28aa8b4752f07b51eddb4d9adc6a9286f7b6bade2bec76
+DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
+DIST typenum-1.10.0.crate 30009 BLAKE2B ea68f463c2edd2cd7ace126571a88cead26ea37beb8a13ebc00eb033d9a6e9d7060bebcdb208830cea4944a2b2eae16e7ed7a60f0b9270868559292bf99df6c7 SHA512 9ff611df79e312b8ab32522007981220213f2beddd959118a855d08b94b7a7d35d38378694c8667c2d6aa324933307a47a4072a89cacf7e594537794385b9449
+DIST unicode-width-0.1.5.crate 15761 BLAKE2B 575e6bfe8b8b70cb0e5a167bf546df2964361a223b03a65bdc588c32d4cf9f01194daa8d6d1c90319f1f9981aa5b092dce67c9c97450be4ea630784d834cdbe2 SHA512 bd5ac5f0433953d79408074239edc7c43ce23d56659d467805d81ab01c576a3cf77ccedb3bba41d48bc4ad46a8905ac8a1927b99312053ef6295fd940a6766d2
+DIST users-0.8.1.crate 18406 BLAKE2B 9e6c36e04a64fc5e1e33a4a5714bd360d10c254cd4140c008e00cbdca7b1699e0f66aaabf8dfb8d9c9142ceed4c39af357d6d754c07fe2aa38364128fd6fbe97 SHA512 04de8d9943d9b929ddf060e08f7a019662a0ce9fb7423a8c09c81d52462bf86988f99c29f51d19ff2c72f53cc9d2179f3a57a68e544611427a1c016cf8a474b0
+DIST vec_map-0.8.1.crate 14959 BLAKE2B f5c179ccb4349d543747d5e3bb3edfca4bc9f3f64ba3c2d40fb1d9cba98433b7a0641387aafda6347c9b3603592c64bd820b217b46fbfcd37f802f298e5793ab SHA512 026cf10dc7ba98ae51dd312fc847cbaea41c25f0da5db6e0e22c2ecf75584bbf876d7bd96035fbbcf6696d702d5a3f25977e02a2d77cf519aa21e3ed05710e40
+DIST winapi-0.3.7.crate 1075776 BLAKE2B 694cea6d0d14fbe85ba718c0ca7b9db79ba8f943b44f4741d77000617de43314a2c657285736a032c138b5d2095b06146a2ac8d84b8efe2307ef44bb7073c604 SHA512 6871b93ad8d48e39b90cb7b31b3132f84665f965b4dfe06fcebdfb873e7d099007cf3d7a50e832a941c3425ad2f39c3ab48a77151e60863685b97fc05c71d134
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/update-ssh-keys-0.3.0-r5.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/update-ssh-keys-0.3.0-r5.ebuild
new file mode 120000
index 0000000000..e2e03e9c09
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/update-ssh-keys-0.3.0-r5.ebuild
@@ -0,0 +1 @@
+update-ssh-keys-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/update-ssh-keys-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/update-ssh-keys-9999.ebuild
new file mode 100644
index 0000000000..8a2139237a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/update-ssh-keys/update-ssh-keys-9999.ebuild
@@ -0,0 +1,72 @@
+# Copyright (c) 2017 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_PROJECT="flatcar/update-ssh-keys"
+CROS_WORKON_LOCALNAME="update-ssh-keys"
+CROS_WORKON_REPO="https://github.com"
+
+if [[ ${PV} == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm64"
+else
+ CROS_WORKON_COMMIT="9c41390e2523548cd1a58d98f0ad011bd9faacb7" # v0.3.0
+ KEYWORDS="amd64 arm64"
+fi
+
+inherit coreos-cargo cros-workon
+
+DESCRIPTION="Utility for managing OpenSSH authorized public keys"
+HOMEPAGE="https://github.com/flatcar-linux/update-ssh-keys"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+# make sure we have a new enough coreos-init that we won't conflict with the
+# old bash script
+RDEPEND="!
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-0.4.10-r4.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-0.4.10-r4.ebuild
new file mode 120000
index 0000000000..a0bfb1ef67
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-0.4.10-r4.ebuild
@@ -0,0 +1 @@
+update_engine-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-9999.ebuild
new file mode 100644
index 0000000000..2ac243b2ef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/update_engine-9999.ebuild
@@ -0,0 +1,99 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_PROJECT="flatcar/update_engine"
+CROS_WORKON_REPO="https://github.com"
+
+if [[ "${PV}" == 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+else
+ CROS_WORKON_COMMIT="858f3a502d88f031aca88d590bfb2b922f0dfc8a" # flatcar-master
+ KEYWORDS="amd64 arm64"
+fi
+
+inherit autotools flag-o-matic toolchain-funcs cros-workon systemd
+
+DESCRIPTION="CoreOS OS Update Engine"
+HOMEPAGE="https://github.com/coreos/update_engine"
+SRC_URI=""
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="cros-debug cros_host -delta_generator symlink-usr"
+
+RDEPEND="!coreos-base/coreos-installer
+ app-arch/bzip2
+ coreos-base/coreos-au-key
+ dev-cpp/gflags
+ dev-cpp/glog[gflags]
+ dev-libs/dbus-glib
+ dev-libs/glib
+ dev-libs/libxml2
+ dev-libs/openssl
+ dev-libs/protobuf:=
+ dev-util/bsdiff
+ net-misc/curl
+ >=sys-apps/seismograph-2.2.0
+ sys-fs/e2fsprogs"
+BDEPEND="dev-util/glib-utils"
+DEPEND="dev-cpp/gtest
+ ${BDEPEND}
+ ${RDEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Disable PIE when building for the SDK, this works around a bug that
+ # breaks using delta_generator from the update.zip bundle.
+ # https://code.google.com/p/chromium/issues/detail?id=394508
+ # https://code.google.com/p/chromium/issues/detail?id=394241
+ if use cros_host; then
+ append-flags -no-pie
+ append-ldflags -no-pie
+ fi
+
+ # Work around new gdbus-codegen output.
+ append-flags -Wno-unused-function
+
+ local myconf=(
+ $(use_enable cros-debug debug)
+ $(use_enable delta_generator)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ if use cros_host; then
+ default
+ else
+ ewarn "Skipping tests on cross-compiled target platform..."
+ fi
+}
+
+src_install() {
+ default
+
+ if use symlink-usr; then
+ dosym sbin/flatcar-postinst /usr/postinst
+ else
+ dosym usr/sbin/flatcar-postinst /postinst
+ fi
+
+ systemd_dounit systemd/update-engine.service
+ systemd_dounit systemd/update-engine-stub.service
+ systemd_dounit systemd/update-engine-stub.timer
+
+ systemd_enable_service multi-user.target update-engine.service
+ systemd_enable_service multi-user.target update-engine-stub.timer
+
+ insinto /usr/share/dbus-1/system.d
+ doins com.coreos.update1.conf
+
+ # Install rule to remove old UpdateEngine.conf from /etc
+ systemd_dotmpfilesd "${FILESDIR}"/update-engine.conf
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1-r9.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1-r9.ebuild
new file mode 120000
index 0000000000..b6c615eeb3
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1-r9.ebuild
@@ -0,0 +1 @@
+board-packages-0.0.1.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1.ebuild
new file mode 100644
index 0000000000..7cac97d4b0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/board-packages-0.0.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2013 The CoreOS Authors
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=7
+
+DESCRIPTION="Meta ebuild for building all binary packages."
+HOMEPAGE="http://coreos.com/docs/sdk/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE=""
+
+# Depend on everything OEMs need, but not the OEMs themselves.
+# This makes the built packages available for image_vm_util.sh but
+# avoids copying the oem specific files (e.g. grub configs) before
+# the oem partition is set up.
+DEPEND=""
+RDEPEND="
+ amd64? (
+ app-emulation/open-vm-tools
+ coreos-base/coreos-oem-gce
+ coreos-base/nova-agent-container
+ coreos-base/nova-agent-watcher
+ )
+ arm64? (
+ sys-boot/grub
+ sys-firmware/edk2-ovmf
+ )
+ app-emulation/amazon-ssm-agent
+ app-emulation/wa-linux-agent
+ coreos-base/coreos
+ coreos-base/coreos-dev
+ coreos-base/flatcar-eks
+ dev-lang/python-oem
+ x11-drivers/nvidia-drivers
+ "
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/board-packages/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/Manifest b/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/Manifest
new file mode 100644
index 0000000000..2c9c729562
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/Manifest
@@ -0,0 +1,133 @@
+DIST aho-corasick-0.6.4.crate 25443 BLAKE2B b866fec3f2d7bf39152b30d4c95c921c3912c832cb5d7016c771bf19cb8bf02851ee942c891cc95f339b35c0545f9b45e26ce893486660b26227129aa7792b84 SHA512 0191f627896469bdb271f1b9d2f3d3b0f7952579cd07c2659996ad66a961dbe605c6a4a929100d6b9c246e65199c0e180b1e8349943f06a6f08250e003e62b65
+DIST ansi_term-0.11.0.crate 17087 BLAKE2B 9bd35c045a01ce4c6c4a5db1b4f15e9412bb97426eec19d4421dffbec633de8d13452c13c1dc1b30998690b78d7ed38311aca700087f13a81f66bd1d5d7300c4 SHA512 a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa
+DIST arrayref-0.3.4.crate 7028 BLAKE2B 90a1d155801035d6883fd40b636e9c5c1f20f56b0823346f841035c8b93cdeccc9c62e448e0bba6c56daf7a6bc11d483728e85a34ed814330b7d53e7519dd3c3 SHA512 64a53e4fa200b2a43396ae79e7bebf9f7d6e97ce407f97493f80a220bdeac795915ef267804a137426ce2322fffdff1768bc8fbeef8436cb99cd95e79d7493d5
+DIST atty-0.2.10.crate 5962 BLAKE2B 36a2fe57eb500124f20464a7d67f86bc6270c2143f8273683011599adee180ee71fb0ea565c38171b9d471479d63041e4bbba4f713dfb92239b7d298e9d89e7e SHA512 76cbf960475073101d617bdaf12ed1e93dfdd96e22182674e1ec04c955fb1de2e3aa132345c50a1bebc579932d43c74c9aac64ae64107e98648a0f1f6562285b
+DIST backtrace-0.3.6.crate 28437 BLAKE2B 63f056086b8c56707e7a3f9719e211a70368584c85a6a3b05ed8ad31cf3ac86f6fc091c826392439fcaf9a0f4066de8da00449a9715d90c1585d450fff63bbdd SHA512 c42e9891a2297aefa08e6ec627520bfd3f93f7eddc2782cb5eb277092d588b1d84e75ac724d29548eab77de19de3400748b90bf2eccfed5ce1e20a979dd210e6
+DIST backtrace-sys-0.1.16.crate 283418 BLAKE2B d15f9c692dd805c61dbd219c70f0b47bb6d2a18bdb2657bd5b5bf6f94f1df621f6be56e2774d2d5d218f044c1358b1af4251705123c5d48ce5575ff3a2f3b50a SHA512 2fd32fee7c13d1c83be5e86341a4c1c0da06876a73a9fb74c680994132510eac9a3444144c97ddcb78919da044e628650d604a20a06ca7852289168da8d754b4
+DIST base64-0.8.0.crate 33091 BLAKE2B 9e72a457841f532956b684a30906924756fd791da2b1fbe6cd0ff4c418738f6eeea15d1a8379e6e033d0acec17736c78c4b01dd352dd5e9d59fd230be91235eb SHA512 7ce30633e5fa48cf0103ec66183192ecfec03a64b8147f42e5fd4dc9bb0d2e7885c19f7aadb130d306b8fbef6798b97199a1ab65b7c19a08b6d35d2e076d518d
+DIST bindgen-0.32.3.crate 172240 BLAKE2B f0f71a49778fb0dc6f99c690c9bb06975d181c686bac60b0666190ec3df3f11f2fb098f0364bef181daf3ad7190c097603014b226ea64452c7a9dfb314c41e75 SHA512 c20b844849d2f67f3e4d4b39ee372833cc94082b749954bb5969fe20b56bbdd01d28383f97a6ec70cd358e823aa1fc192165920fd6a6abe843739d07c5028a67
+DIST bit-vec-0.4.4.crate 17895 BLAKE2B 5c53607cd8a88ae518ccb6a1802ea56b67f619ade59ee40c13ac87d8a0bc2c7179eac8a27d075c3bfe84c166356fbe8a7e488faf2ca9567988cd256d7d6e2a47 SHA512 e42790ba17117c5b60c5408c06097ee6b0e142995cc32d6b626a31ef17e054f7fde7af0792cfeb38290b54a822f951ba06f4794a1e8a4e03934447eec1f6e021
+DIST bitflags-1.0.3.crate 13838 BLAKE2B d053495250ce43970d4dbca6ec7dd541e5f5ca6597f35b8ac7cae3230e80f95d8f056f3ea030c12dd02228b51184c8020f8d2ab5ee4da4dad88a97638ea3db41 SHA512 c1410967948a0c44c434bcf952c586166cea656f98532980156bce5eb68ea2966ad7457abd2e45e7444d346f47950aad9d6b4d6779486cddfbda70dee5716bd8
+DIST block-buffer-0.3.3.crate 7070 BLAKE2B 696a4e1d56b684eb1b03cb0851724d5118e02c4e8d428c8e4d22cd2b86e8120c7524c9a6298657c5869f33ff6367aa343f583cf42dd8b48e83b3ca849070827a SHA512 4214c64c16e66824776ea141241e2c2e5ec8249e99ce9706eb573b13e338976388338d484528d41587af48ece63e5403c813c43578457b7a550b7db31373679f
+DIST byte-tools-0.2.0.crate 6454 BLAKE2B 8fac079ccb1f8bdafacfd54d0bb20628b3c1c08ffdc86feb70c44ae973cb36dbdb8bf92fcf859535d5de0098b936592db68e4951edba8890902107d8952fc314 SHA512 bad83b237d3f8dd1784f9031f26dd8ce2772aa9d307951cf6f5eb6c445567f80b554c26f597a2933d4164adc110e42db618f35ee68e951a0bb837abf20f6b0b5
+DIST byteorder-1.2.2.crate 18909 BLAKE2B 69b23142053a738768028a9b28935461d5f12e1ac8849e30a007e7f223efe81004c4815ba13b92fa9e23867d32867810d889586f4d70bd5bac3280dfa5a6eb51 SHA512 b3b0aa23f0d6a5023fbc8571e73cb7aabd8148f9dcba8da9aad49cabf97dabbbb3a05764cd3604edbd00ecb56ee0695cd30a67d9d51264539169e400d7bbc478
+DIST bzip2-0.3.2.crate 14720 BLAKE2B 532e2e5e41eb2f24a2a96ef5313da1f6c12f2a6875179c1b57c0e44f86380699fa607c3b470b584b6c0407611cb12f90188cf549219e789f561067dd75ba2386 SHA512 da7fca72b1a4e476d39fc670fa7f92bc3963c21c19cb6fe4ac878a0dd4d2a72d0795087b3bbeeecd3c600b7ff8e353dd0217c3a17c9594e1ba2a774bb8aa70a4
+DIST bzip2-sys-0.1.6.crate 609274 BLAKE2B 8203c31de6279f5f80fc2549978eb2762630e43d85ee534bc942b36fb00daa076ed8314468a84c4ab6320948c80b1b0d455d571873fe60703783dd3eb67531a1 SHA512 d7c69e8eff1b9f1317577ccf0cbaffb6ed284c3f1f6c18db96e2e5380e69a818406107e6bc2634222c2f3ed56c478a1cb9ca58b7b3df29ee4a82e76493533d63
+DIST cc-1.0.15.crate 41839 BLAKE2B a00d432720c168b0d69fc7d321d3abec3e18662c6e0c44e6092482e7215dc51688b1f01888150f060e57c88f3003e58b5f8985f1dd31731bb259921bd7a45d9f SHA512 220b88ad675b076b6fc322253f4f8de641fb2c3b27814a3fa5fdc2f79c52e93f2de4e6fc176a6d3a0b7a9fff46d9bd2d4396310cfde4a68f7082224510a9a831
+DIST cexpr-0.2.3.crate 15747 BLAKE2B 59f416a367b2d129cbc520a04fedf867740e0bddbf9cbf9ace4ba0396e9168f066b517aac365d7c40c40eced6667f4cc5d1fd42b7142c275d1533ee5c16a2bf0 SHA512 93d87866dc192af4c091dc43484af58da6470cdec61f1b638abe3c084772efc084ce3a04ae3499a7c7dd89a19b672f383c68e74444fe67a984bcb1d968ae1e2d
+DIST cfg-if-0.1.2.crate 6668 BLAKE2B fd1960dfd30b3514bdb9943dba6418957068aaad3548667216d6dd4e4921a0df07d96cc4131f7b5121cacfb91aa59a802a47663a7b04ff401fa5b25ee1d321ea SHA512 ed6732d8ef2c99d99861f5dcfec3bcd2d1b62dcf6e8e4e88ca25148b5566f86418270dbbe9a7d2fae62a8320d432c5e0474059fa25a11c0f66787084e36f36aa
+DIST chrono-0.4.2.crate 129309 BLAKE2B 691be25cb01dc36b65dac214b7e0246515f85d646deb2754adb53243ccd30f84d659eef6c2c2d9169af98adfb27b52dc04a345ce6ade3236ece4a37cf097d4e7 SHA512 1433e5293931b41598ff7e50f233c8b17c6297617fb86ea293ae0f6dbea2d074b896ea8eb63edd4fb0f5c16fb8663666370cb76e7b3789efade06af202d6a74d
+DIST clang-sys-0.21.2.crate 31272 BLAKE2B 35109e6bf0f4f7167510f96a48aaf5c2d927164924ab3c22cc3d69fbda79efdb01644b48b07203eb20890750c42ff45d159e9185f21984af6fd61cc2b163fc0f SHA512 01209eee3355f63952f05039fc2c5c044de9c9c8709dcd7a8d37326a5b8807813d0ceae8ab559efa8676cf501d2e34ababb4aab159d40815df330cb936318ce7
+DIST clap-2.31.2.crate 194051 BLAKE2B 67ff210e200d387008fb5ddbb4b0a7961f568886a4df57b12b8aa1dd4c87b0408d11d9797980f3dadfbc9aa30bdf71586474a3d905d0d45eee13165692505bb8 SHA512 f43c3e2736a7fcd5c59ba4c80bcdb28fe436b85fe33ef74a53b76b7aab009d9315d2be007a52c1abdee2f754b118ab8132640e6e6954fd60017a17d0cc086127
+DIST cmake-0.1.30.crate 12477 BLAKE2B 23529899687c844e3d0e864272d964d5d4ea1900afbee9e4c323a4712fe9341378f41667463cd3b9e6944bc56c123c6331161e25e8816143a8efc3109164e14b SHA512 c27e7b6e50e77409f1e7481a88839e2de64ce6d94345cd955e9b3ff6f5720a090f02adcc1067113471cd48125b236952c0177920be7e03cf15bf2baa323788b1
+DIST conv-0.3.3.crate 22124 BLAKE2B 9a05d9beecbd288168438e920ab4f42075f1217f224c9dc91d8e23869808868274e108ae5f881da157276cd407a63f2e8dd990b7cd9fa1731045c2cbd2f3a48e SHA512 f050cff8528f0fb5a8dd936995c423c5478afc47041c3a8cc8611ceae3228098b80589fdadf78d0028e960fa354768440dd7084cf295a29f2c6aeb554f47a8cb
+DIST cstr-argument-0.0.2.crate 4402 BLAKE2B ae1de0d3c0ad08619b91a55cdeb202d726702c0bae1dfc9d6d5c6db137e03636fed5cf28575076d7c496e962c943a4c74cdc386dc9b719b5d8c50f8c5733aa18 SHA512 2039633777ea82202430a22d0f34aa6e3d5abcbb2636c70ef211bad747ab588864acf6a6fab10e88b7135d6dd7b89e39880d5106929ceeb409bf2aae2a46018d
+DIST custom_derive-0.1.7.crate 10700 BLAKE2B 205c46bd4f052873ff9790974052f8d81ca1fb16815b591d20db96fb330ef5b782a54eca9c07615edc5e55ba93eb38fcd37c1225f49251e83ea6059ed2cc3910 SHA512 593a98f7c9adfbd07eeacbc6915d3de053ffb33076099f425f5a72c089ee0dfabab8ea31f525cd3eb5da5c19782925ddd14a3672bd9999c6866fd9f14150518c
+DIST diesel-1.2.2.crate 169803 BLAKE2B 8b5d8ffd45dee99dfedc85b66f9bf31b728f68c1be24684f25ada00bb1694085f58724df092639c4f10ce2e98b52167ed00108feb8ab4417459f79c6a9b3e13b SHA512 f9b8e47e83d8a5bfe42bd74dc5159a07cf8d254797815c4b982753f58e945d3bfe3d973af02cde08a0746a6a0f1518a31da84d23564dccc13fe9ea539fe2a196
+DIST diesel-derive-enum-0.4.4.crate 9636 BLAKE2B e17461f4f65abac2602f10a0e2ca3ecaceda3b4027ddb230be5e01fcab212a253b21d4246d034ef4de2d3c4493e3bd78d4ef4e561cf8ea4a6690cfbbf58c0356 SHA512 98610d5ebe65ee9343e6c387aa3aac1606bc7d41a6ec24226d45a5351a9b0cdcaa6da689bf380bf83a343367c9a5dd647eb662fda3da947eac1e1f91383e1e80
+DIST diesel_derives-1.2.0.crate 16087 BLAKE2B 5406f7120ba5c1a66c981e06cc36477b98be148348ebb688ea6cdd21088fe297b766e09f841e741bcc99732a7962bafcd6151eb10f8d4ce559102d07b9e01be5 SHA512 1dc38f333c6ce8b660318130e52f45b665a8a44853789c0dd0bbc689c3a0c0f860d20bed552622b23257e77602b803399b1d44f8556a508bb63824e7a976f0d0
+DIST diesel_migrations-1.2.0.crate 3081 BLAKE2B 4f18cab86c00071d7e177f4d3647246f7c2a0a29bea6a086ac18f20d34c932e614ae0f9c1dac5f8e7f4ecc7a32d2e96b10fd122314a362689a65b74d45c3df13 SHA512 c3c2af2993968c703728831cdfb2e4792ef07d005beb96f306e52f73aa21c7943a35310afc8b2517e7023279768cb7f34092b81c8c27ae9ca01ddd2c726bef08
+DIST digest-0.7.2.crate 8386 BLAKE2B 1b83e7ddcd3ab570381a25097eb93e51744d3df76d9b64be9af46594373e6460668f9ea58e94899119df4278720781261d319eaf2ffc5190c0a1d7389e5025c5 SHA512 8232be4fbc7a77d437933d18423ed6c113abbc84084ceb998fac26413b374266975fd3c00e90131985c800dd0b83ff006dd9e77629d2e6ee19638bd67295ff85
+DIST env_logger-0.4.3.crate 10891 BLAKE2B acbe308cb75ad68f824dd8cbbef13a9bab3234f121952f16af274180ce87bbde6f6327bd98f0d2a4623fa7a4980b554ffecc9280b709df1323de149399537d6d SHA512 ba2c10608f87804e528a2de28c236e780485413dbc3835b5bd9acf4a9c11d9c66665a310747b5d8a5ef7752186ab8a1ab5fbf6042657a3447380cb0869722246
+DIST error-chain-0.11.0.crate 27207 BLAKE2B e50c4e2d6a173e9866311bb81adbde4bddd64d529bfcc919ecade60926112b537cff491a4ba8e84586b3dc63e87e2b3c0695452c165ddf202d6901b2d6247f2c SHA512 a7c06be660a554b4c50deacaf6ef0699cf6e8cf234d9610324c70dac0cffeff1540dfbf10efd41427858551b095c998d670f1287c9459c35217bd78d8887c60b
+DIST failure-0.1.1.crate 26782 BLAKE2B 6e00d30bc0189325e540a0a9290e517747ebbc79a94a884540de1f46fc0a64d257b59604725cdc30e62731b51e45b6aec215d2d488bffea6511b6ff53be50a0b SHA512 3c4075dc13c3ea6557582455ab3bb35ea81bd43892de5fac103e7dbcdf24ca3614e3b3673f694256d9fb9c6bdf97375ea17fbe290148881599403c01dab0e5e4
+DIST failure_derive-0.1.1.crate 9312 BLAKE2B 14dcb7bab17f874e5f3efa9abd059e079a4580d918017825de104851fab0b0cfb88aba4f71513f387ca645ab74a3199c5f0268853c156111c67351e1c7e9327d SHA512 885b45ebe5098f04699bc0c7cf2b6816d3afec6f111f8d244b0fa824c0198127ac3062e23c052186e196832755e9e0b271e5efb005df35e6d1e4d671640b8e91
+DIST fake-simd-0.1.2.crate 5398 BLAKE2B 40437b18ca7b77258577f518232dcf67e2bf09b64234dc3f02b9eba0c5c1fede8f8d1dc7cbc112ce80e4f0bf317387d1b8046d41a4f83a7c54981fd2b71fc8e2 SHA512 d57242c54ea3283185eaecbf8d96a4c9decbada3ae3aceb516a79710be9bf038a6e06a29b9ba4ebcd41b8f42943a3024a983ea23e36b17edc445a8c4980f2893
+DIST flate2-1.0.1.crate 61869 BLAKE2B 3f9b94327ae0d044f962759fe498776d7bef014fb93328e3454f5cd8f37c8ac8c8c5d3f38825e4744a07dc873f93ba5fb420450677a55622afca8492c9423057 SHA512 2be6cf3228e9df76643e7b45ab1ea4956e7618e90e9bf8cce62f6d0bac864e2bd7a808aad1b54728797831b170801acf43a6a254d9268c8fc57052f1e2d172b9
+DIST fuchsia-zircon-0.3.3.crate 22565 BLAKE2B a4dac3457036efab8f79fe5d5b4545e4091e994d3dc63188f71fafbcc28bf98ef359dcd20add30ac1d990ab2e66159723302fb66697349c65fab0aa58d54535e SHA512 a43ee59452d49742111e506d6bdd8b8399a3a646e08648e25292864d7f71460c1dd1f2d77b8efa8ed09ac21fa4ff0442a2709f16d8833a3849bde0c388d83a93
+DIST fuchsia-zircon-sys-0.3.3.crate 7191 BLAKE2B 530bb5d475ac828843af248c6bbd24ca3b5dd8118c8884ccc6d7261818cff1c79038077114ffa04bc73a078177527824c4d9d20a9b022e4057afee3330258cff SHA512 978b7e8795a5877a68409ed3a1d7b4246263f8e7e7ce9ba8a022643be98f58f329cc1c234717df80a509db849da4394f39e90a8e2a6f56f8fa8dd3c07e7d4386
+DIST futures-0.1.21.crate 155902 BLAKE2B 224db9e9767d76daccb8dac39f8b9f536d53829334a8dca0e14ec9f1b84aaf387d4bedbf116b635a4f3d63c7ec38a771f4ecee269a64d514e813f7a21f14b679 SHA512 b6079674974489fc325182404896ddd6c2fb3a3a230d0a5ebb611a418a404378442550c92c9895aad9742a6d305a90f3099c9d6ca5bdce55ed1dab2b3e01e755
+DIST gag-0.1.10.crate 5491 BLAKE2B a734246685628166de020a44d34968ecc53739f65e058d9208b133afafaadfc187697076b3b6aea158442178495f8ba53c4f6a77723da88ba72127e41c509cf6 SHA512 db76c8acedfc9ddd255f6b4ec1162c6f0391578b603807ac725564b79f2af7f78c231f36831e574775c22626ffd8f2309126ab862d43abd12345cb013fcc6d32
+DIST generic-array-0.9.0.crate 10702 BLAKE2B 4b8216493f7ffbe4dd6633b0595c0e0fc70aeea7de19da510241fbac3af4dc02e12c7986361246b1fd7167f73e0a1435b80d64804cc6fb66174d42825be79ab8 SHA512 e2a00d8856a4231a5c29bae592b2a84b98c70737058104fd67570af1220259994d11cb4506f1a1412f3c8a04576fe2617ef015600f677ecfccc8ff7a07425400
+DIST glob-0.2.11.crate 18065 BLAKE2B 8531890ce378023f0119baccd5c556f297128d3f09c07d320d5cdc3c90032447f2e5a4f2fad0097bd3c6faf93b83256b387d232b3c9f9d3c40e54c48245321eb SHA512 91a1a751bc4ed3b13154aa056180f2b8123c33627cbe972bdd7986fb0b6f1ef90e59abd4128d6e4db5e69523d757440c7df9b9721a61f5ea5a091ffc9843e10e
+DIST gpg-error-0.3.2.crate 4161 BLAKE2B 1fccab9b0a2e35c721ec168635d2a757f49b085ccf625e9d8def40e3d536319c061618910565fac8a0206efbd3dfde8d932e06f41810d7334643d221a836b8e2 SHA512 5dd640067556e00f3ec51cc9869a81d10e243b6db85d8da2351a97f3b8052d3097d7436f2602770ad2d4712e936b47bcd3116b2ec80e41ab088e13ad12725f93
+DIST gpgme-0.7.2.crate 75595 BLAKE2B 608d662a62c053fa038b7933c5c512953bfaed8e5f685c36189a60959b20677fc1b42726ec2ab4f09368d6b368bb5f7a749d10d68c1bec08425725d60425de5a SHA512 f975ba04a380dae698d5360ff31c0100149e6316a877ae9dd1029b6cc99bc2607bb5237ecc84b69e5322b4ca9a3021cf9da2e899304fc3b74f76a6b5f539d119
+DIST gpgme-sys-0.7.0.crate 1799939 BLAKE2B 9dff707f1c93a05c57f79294df47d630efdb136c60793808fea4f3d6a16d873b22ea2c6406f286ae1d33445a909084ea25d668372862a1c479f16d150aa5bac4 SHA512 d7f85d3013da0dc0f23715601818eed7e3b88f09fae1ac00068177f8caa42cbcd0ef80fba2049966e2452f08b7ad15a4ba2caf68bf95f21848ea53b16ce3012e
+DIST grpcio-0.2.3.crate 47106 BLAKE2B e79d0e437c3780ef0028ba968f8d8ae4843e168f86efc626f1fc57caf79083150c12b443e20d08af0b04884468cd7d2cbcef2abe9ef7a172e2035c8533deda72 SHA512 03dc64dd058b8302971032b01e250c7ab55213b51cf81fc5a1824851ad5d9f0417d7495b10c98782c0ae6ba75f9350241d01a81e469c0945bd185363712349e8
+DIST grpcio-compiler-0.2.0.crate 5456 BLAKE2B 9e9d302d860e305ad7ba67b43776cacc4d6438fb3b3d0dbb4812bea80198268444e05304582eca75d944386f368aced0ca94be9c67602ff72cb1d97a16698e70 SHA512 d693ad6d60123992984341ccdf671b37ad6cf5949154c0435da85a8f2fc3ecd975c56a0d0cc608c3fc6169c6849b1371e274ffb8a9d24c429203bc5868404a1f
+DIST grpcio-sys-0.2.3.crate 8844428 BLAKE2B f397e64f643bd5060eee6044c63a6180205e34c3064c0e79b1a8af1f1a81e2a1fd2922c302b5085f983488b9462ebda42d2d153cd9e59ef50499c5ebe2fd362c SHA512 23cac70f2e1a2b70e87bc10ef5b08bb23e47811f5f1ff4e095a6ff185c6f1c97cf1b4d9737c2780bb10c4f43f1cde5c15445881874146d2aa21ea603a7f05bd2
+DIST heck-0.3.0.crate 54128 BLAKE2B e2b922c722afa5d67e2c8a1ec2195ce579541141c9fc983afb2589de4c5208702476bd57c928b5358a5f8d09c5e67c179c7c43bf6bcdf4031cc0b78385c92c94 SHA512 6987552f783d26064968c2860e1ffac9ec1cdeaf69bcc2966e81c151bc001e481157179742704d41d7094198559720b89ad4113b989a9d3288ef2f2550c67903
+DIST kernel32-sys-0.2.2.crate 24537 BLAKE2B dfc4a1e31d3ec9e2ac62b890839919fb7fed1444070c1dcd75bb75acfb53556d6cf2eddf5a6639e7852a3df2a0cc715c5ce1d3fc898ef16a1687020d98f715bc SHA512 682bc7c629aefd035966a2873518fd60719121cca7d63d89d6c97ff5306f24d8b5055a3c91b4eedaec22b1d5dd3fb8b48ff7341a05bbd72d86e06c422dab473b
+DIST lazy_static-1.0.0.crate 12611 BLAKE2B c7ffeb553b82cacfeacf214ab069cd0abbc6b83d670ad84704ecd30919c390055b3679ddc85e9a7d0add530df588f6cba4cfd7c5e44e9158b609edef2fe85e4e SHA512 73044fce4d00002d35931d4b28810feb5c28c3debfb7bd570d9a8434cf15c29c17f0daf29ac04d748a32f52a205d5f52ecf69aa395f49d46b825e3fc0cbcd41b
+DIST libc-0.2.40.crate 327272 BLAKE2B fbad5d1e07d6ad43cf0c94d1e5e1ae9dc11490d7a500a796060fadef39b4b58778aaf9eea27c6bf93b9481b3d94cb807e192860eb074c682ac559349de9bf9df SHA512 21dfb230796885d4459b1119de31f2615ee4f1020578e74d2e07fa5340777fde4c2f60aabba7444f00434519c95f12e6e1a3bfc496b83c11cea582a219005dd4
+DIST libgpg-error-sys-0.3.2.crate 842786 BLAKE2B b8320dd583e7957c63ed7013b98f97c9ad1476815f454a3def0a15126fe1013ff2fdd717faa978b562c3cb7bae4c5d6a50bff30f2edf78eab7427089918dc721 SHA512 8c12bf87ede2108c5e53e74af1ec9c7b9d2c0756cfccfb21038f5995181f23d916f943da08558e5f9e10c109d6ef7bbd9a497faf7d65933989abc0595567a9c1
+DIST libloading-0.4.3.crate 15613 BLAKE2B b2c8c60e8f336043ba30bf17006a10f260b740fd167e139f98f2fef8704b331740084a6916667f960394e562c09a9c1c7f87e48133b4e947c4203f0ca1e1592f SHA512 ca5f6eef2241e7246d0d00808fc2feecfda4a424a2a34e5125ba020f5b555f6bad9aa26236b99b2515c465016dcb0a549cf3138cd8973d3a52e5ce12b75b9bc0
+DIST libsqlite3-sys-0.9.1.crate 2025898 BLAKE2B 17752c3a6963c5d0118e594f0795842785886e48ac8dcb2f2c0b087e38c4f3c67069693e552b0c01523816c8ecfdae22c9dfa527045113812b5c979307f735ab SHA512 a889fe811afe6aad12270cda3c9b98e24eafe32bb9aa86bbe902f3b4a774d828c8a2fe4ace3fd412b2f020242727d7d4e2d492f1f009de0176636790f69b6076
+DIST libyubihsm-0.2.1.crate 34948 BLAKE2B 355ffcaba8ee7fc18f46e98a0ebb31888e709ceef235e680d9b67a5345c3ef0e97298b0cb83091cadc61ca4b33e85111aef86a202b5865ec65aa8a0dcf513add SHA512 5786399f1d9a83dc4807215048c67ed7905ee10317575c2e9258768dc4b7fa02653120b720554dbbe0efd0594336a0822d7d1121455474b4e1ba639f3f40a647
+DIST log-0.3.9.crate 16686 BLAKE2B 543a8a2425c88bd3cf00d4cd2b4790ef344f9743b61776d65f1d8aaaa1ee1069933e33aec114a2dcaada5cf698bbd983fb22354aa50bca58b161a36b2f1efc47 SHA512 1d49a0dcff0a17c1238aba6a6cbc485a61986e8c4768805ded912c5014d0fba6ca38c9bd038f3f53900a6309d41fc0216682f137362e63715878195453d2de6f
+DIST log-0.4.1.crate 20731 BLAKE2B 5936919ddf0e218ca42d669b56271836e9eca61afa4145896a55970e5fb768196f18ac6f028caf8eaf505f5bb797700ca2f238970e1ad54edadea566efb6ca16 SHA512 a142f4d230cbe64a4efe2c46055722bf06e7af500c0f14d66f1d7d7fec99d552081ee9541d4a5b3aa5f46bc3be42f7702dff76132cc1eed7734234b2db37c0f0
+DIST loggerv-0.7.1.crate 10074 BLAKE2B 2590f84dc12ca93e5bccfdf96b08f615408346e33301fa59127ed19c12474a22da53ec5c0e728cdd45ba00e7c66cce3c83c5717e156a88b613bc55b8b97ed3df SHA512 51ef7ff7ebdbedb5c23d4dbda9466bdac12df97fe1247e198323517ea7e34761b744d4ca083eae37a73241417213dc1e90441df9c4bdc2ecbee7854a04dc9c10
+DIST md-5-0.7.0.crate 12771 BLAKE2B 55e02ba50fcd3089c500599952af8788cc0cbe23a33644306125f6bc4ac07aa9193fe107b663e403c4dd30061fb347578818be40b5bd4d46e03bb510efda59b3 SHA512 8e89377c0451e73ed119ece369078c52374f856e03893aff94935144d90cd184e31ce5cda35c2e9c295b8f0f53a6624084e719081d8016dc658fb045d9a794a8
+DIST memchr-1.0.2.crate 8639 BLAKE2B 3177eb1792892c0a74c5a7696ba6a4543fd5fabbea60d77e9b55e9d7eed365f3ed1b6dce44911246b52b8ad9a05e51679f42f9ffd4e6bbdbb5d01b5155eef280 SHA512 322b70bb881bcc2f9046f2daac5d939fd581370fee82b7e0500e27738d1d91e11c3f65fbf4576e0d987043cd08e5cd2b39a5ecf66d0ba7d95f48b6fee502bc24
+DIST memchr-2.0.1.crate 9858 BLAKE2B ccf5530245bdcf1b892b98858d1cfd8cdeec3765422f6d1503bfaf3e48744dabfbc1767212b310d1951f1594ec3d4ca09447ca72782ed272cc396113a7f9fef8 SHA512 50daeb73062c30b244c8fec965ff0c69c29571022a9228dafd1ed397164956e39fbe260b8adce33522b5cedcd7f9135500ac45d6bc0b5e72bf9e89ebea0954d1
+DIST migrations_internals-1.2.0.crate 7412 BLAKE2B 4b4faca0af25143713fba7d761871ff02ec11f61c2ea996d3bbd9a07589806a4d297eb37af5643c11a1e922e218e33b0320a9ba66717c98ed754e6a7ab8475e0 SHA512 20846c56986d95c5976b63376064d7907116dfbc2f3eb7cefed4be0596ffeec4fcb574d17a4799e69a32d6f77b62400563c0216aafcf53b21937247c4472dce8
+DIST migrations_macros-1.2.0.crate 3611 BLAKE2B de588b0bcd89c4c3c7c485e6474191377cd421dbbe4847278d2e866f86446e59f6bb673f5ed602c1aa99ffce2fc50bd4ac371ed1ebabbf283bc76fcd54de863a SHA512 1c9c5d6b6a59925b050d6c816deca70d2257d274c8eefe046e202bf0963694368e556237ad7c7d92ec135878edd9f38b6b83c90c5e0e53103dd028c1d75f3841
+DIST miniz-sys-0.1.10.crate 53357 BLAKE2B 88c511d46cfd47fc2053bf618180d6da3e7912bc9d0e84e4f904506daeaa5664c5f7c5036f3536c8c6def2a5b2d0615bb3bcd309653544c236ac3be64987cfaa SHA512 d7a6f0bc462cf10a5f630ea20f4c991830059b359f67780e160a662671a8bab21bbc29aae2220694d008817b1227b9b8e0c3c458b99a29ad2e5d141241c60844
+DIST nom-3.2.1.crate 104073 BLAKE2B 0aadea9d5b79fb0b34ace1c1c410119c954982810d928a033ebc280a824da6af61035bd1b31fe5f610812b9ebdcc02839ad5e863148aa01733b5c8472335d70e SHA512 2baf05e568c426eaa1560569538e0f08706e40333a797374bd3f897bcadfcf239c6dc9eaabb99e9ac72d8b79e46f12ade8b5d88b04ce10ef24e8b21513392c77
+DIST num-0.1.42.crate 8323 BLAKE2B 24c31affacb1a4bdfc30e30afc402d92344d4d17079b9cfc103e5a7fda50b0c62a877180b94af79a8898bb2b81de44324b04c00d5983c8d10d30581f3027464f SHA512 d8d48080f84dbda59d16418f39aca158deda1fabfba2aed1944f77b3c6099a244d7a32e79f28b9b72dad4cd446a8f4f854afaf3f368e3ffbbd124e64e4aef3cc
+DIST num-bigint-0.1.43.crate 63022 BLAKE2B 428c1bb5c0e0ce0c3b5a0658a555ef79496f52384c1df393563c17baca1888d4ffc1088ecfe06028190b3265829887d95cef1839484748361fd0ef3f5625ea7b SHA512 07119e28588b22236fce2f5cbd074ccc1b5a31081a9f5ca3d5981680ebe68231b21c1250d80f656ab1411f0ab3aa942d54889845c03935f28e68fd510ae943cb
+DIST num-complex-0.1.43.crate 17731 BLAKE2B 4b18c7839e7826c16c60b15f9d5c6bbf9f9874e962429cfaad6fc9fc9bca9dfb260ae390e051dac2b2e6cbd4700666851318ccff137badab00bd39f8c4407732 SHA512 e82f3ea86e9725a51e6669aad07b87dfe86cbf2fcbf76629a2479bcb9b7c5ea2cdc2fab7a98091686c15f4ae7ab68c66e01982f35738f9055a41938930e72582
+DIST num-integer-0.1.36.crate 12168 BLAKE2B b492ae16a4143996d447dd2cdd348ebee6237d924e2f756ffb4a236b9de166a9b12355ba8e9027bebb58c50404ec64f392b0c52bf336c6205128e27d1184cca2 SHA512 9f7f8ae499ab181d77d69f6e761457fc170305767a0867142ccd549cf55c24b9731434f6289856d959ac239aee32a6574c77a5a783a701ca583310ed9134911d
+DIST num-iter-0.1.35.crate 9013 BLAKE2B adfc4bfb7f390e2abbed94fb64348f4f4e7d6652f0bd5aab4d7f06a59c1cdeb46a5190ce3868e64705bec208a3ae4292516d99db2aef120153de5eb01a6e4251 SHA512 df4fc06ff7ae28b4576a1004d2284d49865e899ae315c5621258aa1087c951b2927e1e413d2a8fa992ede242c2e73eb40c6efbf3feb1adbbe5aad8ea323d9e4c
+DIST num-rational-0.1.42.crate 17253 BLAKE2B a3aad3fac51192e00f00a4489590c1358adf1bc7d0704dd069375501fb820c1413089f542900ad5593745d4c5f775f7101a38d65c1e2fe892dedf3d6f83245da SHA512 f0ad3c6e807db1cccb5260caa1b2abce354d1aca63e765c0bb2d18401e941d57a47c8edbe485ff0d67ab363c937592e2adcb89538132b5a2d6d4408141f17ef7
+DIST num-traits-0.2.2.crate 34777 BLAKE2B affa210c22e3c27f743d6b23393fc61749e37c066fb4503f7d9d5e634a2236c2632bb9fcb4130be10aea64a583e15160d33e28570fbbaf8ef935b1864fc0a9e8 SHA512 2b2baea40084f4b1c7b4aace26681e92f0d4fc40686ce248849ca9672b2e24f545dd168e37f33ef162b07663e192d81c9b1f2ede1cd45afa5910fe9aa2c365a5
+DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721
+DIST pem-0.5.0.crate 6752 BLAKE2B 95dc8a87c9d6a14d7732a8f79a3b6f8ddf5bb8c8901976c371020065368887df6849970e207f3b5c2f4be173cee4355790e563c5f00b8e25e4cae73c01d9774a SHA512 dbe99097d09a439b4a0b21be6e8f9d756ed202b80b5789a4ef37ccc024b9e7d37b6d9bc102b611752de7498db2fc575e3ff104ac580ca00c36afc620da2190c4
+DIST pkg-config-0.3.11.crate 13227 BLAKE2B f22a748d9330848379d9bcc32026c9ba4bcffc043495b864af95dde36ce3fe71344bf5b0534aa61574f677b9a3d1ec0e09f774dea0ee57c1810f1e6bd7edc1e4 SHA512 c5e53a9dd777bce55889fdf7028418443896890ff120beb2fda5e5fcc55624aaefc2ac058c2b4bc88519d48bacc477351b0ab1c4d4a65b4e4bf66a69a419aae6
+DIST pretty-good-0.2.2.crate 18766 BLAKE2B a7e5779bcd69420acf18417ee6528e9c73a940f7d9f90538e985b5e216583f14376a8089caf9eacafc1589d5dfc29c7cd1aec45624ed31e35d61b52b63b57bf3 SHA512 77fc2219f1834d09ac7e0686b1740add648c552e0401f680058686526fd5f59ee3b8de16d3476cf1d6b8a518cb919aefafa84453fb0f8d776efa77797a0d0a4a
+DIST proc-macro2-0.2.3.crate 21558 BLAKE2B 1facd121547c01345fdd4426a3584ced6939e15689aa0f9403fdbe15a2a499249b235fa59903a94cbaa776965f35d23f3bf8631935732ffb64c0d4b46a45cd6f SHA512 4805769dfba01ab6a10f1192189028cff8944ce4e3765ecd2a2ddbe6a66b0b4f884a51775391029277c69b8faaad4a9770835dd85c79a8ce4b9f5047496fc6f3
+DIST proc-macro2-0.4.6.crate 27767 BLAKE2B de75113c1481c23c97e2628db2fa1bcb97212778f566a0eb111cd8f2453dafdf688eb7879415d066babc1cb94545c6c71091bacf4d342839521a43b5ec935e01 SHA512 d5f92bee40455cdcbadae9a4ca8ebb08959f2d4996bf5165f1bc70ac02f55520286ac1342ca7bc7804d5116bd9a1dc18d2c6bd47e503f3c585c4682d3464b73a
+DIST protobuf-1.5.1.crate 165142 BLAKE2B 9d05f1d4bb723914ded40c51476eeac342a4f41523a25e59a976cf02478fc88b8446937e62ddfb99e5dc68380d282247b8ba2cdd842dd535daba10de1deb4f6f SHA512 d9729b419637e5858c497c1780b3632c245aecb5afc521da7935dda7618f72477c51eca2dd24ea42e9c6c5109bb98c1464b701aeb3748cbfcbd6ba5fc0020a89
+DIST protoc-1.5.1.crate 2692 BLAKE2B 06c527ffa59eebdd3429b741a9bd47bb6f2e91209928e14dc650f588cc143fb3bd1444fc448c2d4f16fd1459e5b93002462361480a2d86ec65e4ab491ffe34fa SHA512 3461de8c79934e7f9d4fe38a934a9c9718b56180bf99cb1b08334f6d58084bf3f23f42e43693314b0449a1bf22c8e0344edff3c963788cde00fbbd956fc5dfa9
+DIST quote-0.3.15.crate 12041 BLAKE2B c5796b464539b018351b41b5e2287398681ccb2ca76f46178b4f310e61a8184afe9ea2b8dd7638f27bf5bf37f60458895497e51c82b31326abf6feb4f69404d7 SHA512 2e5dbe725c0f76a81c6624181b43b60b95dceac208e2babaad3fa6d1487794805169e2ffd967659e4bb4e1abebe96505be5a1007c514d10f2a63ef282d699ea7
+DIST quote-0.4.2.crate 14756 BLAKE2B 0387aa925e862704403e88b552a11d07ef7c0337288024b0decf89e86e7cb819d852776adc43ce953f1bb0979949d98f9cf9a5f163b0e126513abee31c0c96fd SHA512 9ca038ee67a2b3e527cafbd7cd3536c92316ad6a05b4d9e787e882c12e0548b5fac648efe1da98b9a517f213581b2afc57b5838f9e968b5385a5292fe9c93a2a
+DIST quote-0.6.3.crate 14154 BLAKE2B 16a31875577eefec9568e3b990ed17b0afa5af6ec936f0b8d1f05303b7e1dae1737677a86089a048cf51b602c71f4b3c7802ee40fb9caadf2e13fc0e6df134a8 SHA512 f2ff3cd617c69007c4f60961728c73a7ac7a2eaeb1d6da51218d2fbc9e85c06baeaccc9b82771a304bace04024479a192b88336546f96e17c6446ba85df94a10
+DIST rand-0.4.2.crate 76170 BLAKE2B 28c9965519db48357f23517b5ac43a641d1f0ffc4396c42933d22181fda3c6df1cfe08dae66a188e60df0708112839781daaa5b5cbf667d6850b10bcc4448f99 SHA512 ac6eaf9f0914fd966c835a04ec644c5a8d62a4a634187d538cecfb711955a977234dc5fe487cd4d351514bc0de4f51cbd0f09a8f6aac56aa0467ae5eb17a4fad
+DIST redox_syscall-0.1.37.crate 13980 BLAKE2B 9896615b819ccee17b18093c28a778bf6b4e0b4f6986f071e9e956a9bbc9724e151fd497d394c669d0feb8dcb95c3258a4103af9aacfe8381fc930cd5a1acd8a SHA512 147e48d44227cfe8ea190d543f9f8ab1e49fe2336c80f7e2b83546e617d0eeb8a1e94ce6e4d6f633b92ca72241cbfe0aec082425bc5f7b63d5efd164b51d5e48
+DIST redox_termios-0.1.1.crate 3227 BLAKE2B 0b109d34e942735e804dd3da2a9639506e8bf6eb5b1f69ae021b115b0b75ae5159e8457abdf647dabfc19d5119cd3a44b8966635d7862cc66a8a997e4468e1ab SHA512 201d051900e919e2c6c6769ef252e51979d90133df16b6605e2a2f424cfb2e6e505e21add75ef5854fe5e0cab1ed1f1c1451010f072ae4bc8703c585a4323981
+DIST regex-0.2.11.crate 209507 BLAKE2B d8e52b078e96c64663a730208d14af4808abb62d7f2ddc21026410d78305bcf45c8fa5bd6bc28a61a62dffc3dbed6118562bf5294d176f04a9aa8b3eac295a5c SHA512 e0f48ab9a692f7ebd83a21bc70060aed0a7dccc9aaaef6995262fa4e2e33f4404a04a217588b72025820b1a0e4697c076ad47a017e7c51cdd4b6c1909c015ead
+DIST regex-syntax-0.5.6.crate 233912 BLAKE2B 828c35471d8a91be9fbcad00e036c40ff0e2c38d008c5d916cb096f0a6856f124a64a203d547fb5ef45cc296565221e5f96343754413cf6bf2fd1463c7e02f1d SHA512 4ee43272d0d6e5cc0b554816e20e2d93b0ee774fd71643d5edae06627b295d374769ecdc3c1233a688d306d1cb86a83b6850ffe4022baa3db78beeea1190b455
+DIST remove_dir_all-0.5.1.crate 8726 BLAKE2B b654deae9905c03b068f07d17b5fe3715393cf7c495ee017467fe1cdf955bf44781516d0e6aaa1dd738ace3b3bdd4fb38f7edaaab062eeba02baf50a1250ed0f SHA512 9ee9a11717d45aebd28cd2f50719a2183cc623bdb1af099701e4edbdb9c98bc14cf2278ba06aca4658bfeddaffff00d0d1464c82d175fba7d6fb272918dd6928
+DIST ripemd160-0.7.0.crate 9716 BLAKE2B 9e24e43955c6de0dca5805e0f2b908f3dc00262de4c46b41c1a5308a630388b4c23176b7855adeed450f1fcd9adcbc25f85f2d1babb5575fbd500cdf4585416f SHA512 5c791c169e8ed9cd040184ff12dd37c1832e4f43b91199799a20a045725bccdb6926671b296fd146f123e8553bc12852c69a835e64b893e7f43aa45eb39b9dab
+DIST rpassword-2.0.0.crate 8586 BLAKE2B c70ac825ab002abcbb8d63ed7d8e4fd1efed823ad706915799bde67e5f2882078af81c094968448d90f550651bc8d5084223a1dc5b98f666e5bf193fea1a0130 SHA512 ba9ecebc150b95af013fd0d26fda9242fb5bc4df37bea9ca1e14d435e4da9fbf3f165ebde3d8714dbbd75c25701109dc25dedb17a0b78f1b9992c0fc3b938792
+DIST rustc-demangle-0.1.7.crate 10681 BLAKE2B 2679a27863f3172712d13d24cc76e13c67b61ae018cdb1ce01296625a2aa4b53c3c44572e9d2bc639ce9f663e221fed8e91f79296bf721a3934b8d4267587b86 SHA512 75dd8581fd0dccfcc8cd2afaf18b9f44a5cea95f6c6573bf9e0b23d79cf5e959b3565bea0e9e26ee5b80f3142a16b549eefa99f5f65aa0ca9c780307091358ec
+DIST rustc-serialize-0.3.24.crate 45926 BLAKE2B 11dee8dac7eb007067ee0eb19d122bf45d912e6cefa95fd5ae3db7a4585a3f37e66b123c8c7bb761cc451b402cb9191dd5c974618331bb9aa9efbe9215115abc SHA512 60b40a0b41678287627cf5898e0ff6ac5668865f1ce5a482190ecd7539b59a955a73c675fedac76e68a5126efb92ff0cf1d1b4f24359a932463434bb76d9e884
+DIST safemem-0.2.0.crate 6450 BLAKE2B 44598e47fa6185ec0890b4ba6d0e7b5f52f8892875741c3819559dfa61491736d4326fa1713916ca41d6daac72829ad31d0905f2e339a069a987d9715f340795 SHA512 71901f472668572e849504a8a830d4dd9a742729b0158d2c6865a5ad86e65cae8b5bb83707240ba03a7a74c610ace87f8b59bde68998d2bd66c19849aec4fc8a
+DIST secstr-0.3.0.crate 6483 BLAKE2B c4158fe045887c020099b6c52e02e8292f2a92fbf47dd4842f864c95454e3754ac780b9f97b0ae521e0d7cc780107b30c77b8a9cc0708483ba92b42efe8f0fcf SHA512 524d90be4b53ae2123a6f309e066431e8c0effb9c5e7b795628521ffdd7e08503ef94b192aaa9b6a25884d723d52111fb557013d05348c439dfae35374cb41bf
+DIST semver-0.9.0.crate 17344 BLAKE2B ae782bc78f29e45577de8574ee58959c70b54bb0b6f45a5a7b09cc4d358d9a0a80bbefc6e0f2a330e2b55adfbbe5c1f64f4ec9bb94c4adf7bb3e4fc9c142db6c SHA512 03a2ea563456f812c301721c3572370fe4934a22db60079da0dd6ffa33fa789e5e2436ef09e62fc35e0b742b06fabc290992c74eed80419a353c9de9449928dc
+DIST semver-parser-0.7.0.crate 10268 BLAKE2B e46b7cf9d292f8fc54561fca4df8534dc96f6be920a5c869c405ddb31b9d1a18eab0799207113cf4910a52cc0df5017ab1bc1883a7c3787ebf2d60f09ac0ab4f SHA512 17320468ec6b9862d595f358d70c09ac6e09db7885fe0ead7a1e596f79350a6306e8bfde5bbd6512008a7c5454da1c7ae55fe1e3bc1c1ff02ac9df54c0a6121f
+DIST sha-1-0.7.0.crate 10710 BLAKE2B 50d78edf4ecb19362c8a76af9cf6731af66bd705edd2e39f2f955b4e63a5d7e0965db531b2ca42659420a92e2c635d7be1b603faba213dbd86febf9210d80773 SHA512 29201f72adf901eefc6360baf39e42d320f5ab0377d3f2b8b5026c9c26f319309f3c93136bd40e6b9faaf10d2f5293d43dd560132921524e8c7c0b5eafd37daa
+DIST sha2-0.7.1.crate 17626 BLAKE2B 1811030e01ba9e33040747448718133cc2f1967468bc06d404fd7c14e183a3932be6c466362453190331f8fb149744836a6cd9bc1b4eff42259119dd4225b274 SHA512 356ec3d0764ef922b2ddb9168538115b6e5e6475ee34464a9d59f87276bbb697214cc85eb2bf1d7e90662169c56ae0c6454b851fda13e0010db464c936a84ccc
+DIST smallvec-0.6.5.crate 20238 BLAKE2B 2c75f111c37e8327e18b806cb038713f8e3a7358a40d35289a55dbdcb30961c8ea4bf4e243ddd939b6f9f4a4515f11eeb25ad697ffb52f3b7fc88e6ffdf65bef SHA512 8fed4990c761151bfb2d66392505bdb6a5591aee8b90aaf9032079d0a68c2b3e36c4136d307b6eebc714cf0cabc0155080a0f2cc5f59fa099363c5144e7eed31
+DIST strsim-0.7.0.crate 8435 BLAKE2B 6869075bc3949fbdec1b74548b816560d1bf3759ba4c3e972a84f885e6732edd25596d75a4b6f6b85d93821f559757d096cb5f0b0eb04dabd8bb974d214f3188 SHA512 3f92df0f444129b16fbb15c533b7bc1d6f18970b487b57345f74747fb7f41e3dc0cb61255712e94d419a5777b8f6a9cdf1a716718698c479eb98dfb6464d1983
+DIST structopt-0.2.10.crate 21488 BLAKE2B 44e64a23e9daa5115f316f964e3e113a4ad3c7f773fdf213a6e500784493b41714ff86a5d9c50b62d80d799ddac05d86d4ab57244694a6bb0416eb1934c6699a SHA512 890e53afc1161025606e09930494c1f1abb80d1d126966e5e7763862b7b7716a937f6c399db8ae4e0861a7e7db5467cd8cc61db1b32dc817bd74a5fe9153eda5
+DIST structopt-derive-0.2.10.crate 11091 BLAKE2B d85d51371e0e6acdfbadb005065f85e76c9130beb18484c447d5a2d075d6192ce14c896f4e555f1979138c286b79d391e41bb99f8b61e1c903867c6dc87f91ad SHA512 082826c52d88f61e07dc430861a345af78ebc6caffd115aeb8a0ad2388d7f0aa51fa071657b8c66f1c885d929f1e2cdaccab716905581d656a691fd74325b036
+DIST syn-0.11.11.crate 63309 BLAKE2B ee33d3f02af356faafd0c03539d1c86ade1f46db8bc30054f76536c1cf537b8fa0d990c78f86b1e5187392b31c5d7364ad5767ae96de5844e252c9c7c41ec962 SHA512 285bdc1f9b53fe791bd35b10a06fc106231c4eca908244f7ba7366a865452ec2dc8bbff275a52725d29c48d2065790ff6eb37c6eb9c1968aeb0af38c028d173e
+DIST syn-0.12.15.crate 132636 BLAKE2B 4b0dd0f05f8e7c774b8400c088561c1af247a74846a8ef4e309b92fa1dd50c2f4859485014854ac975f79ee04c6bcd60aa28dfabe497090a8cf429b6e9a53310 SHA512 6d6afca4a83a8adf6f56b3609ecdc6bfafe0df7b51a5197dc6546dc53735351228faa49b5792b0819df52eeeb86416941513006d29fd161426535dae5cc32864
+DIST syn-0.14.4.crate 133818 BLAKE2B 30341fda4688c0e3f93d7b20e1cbac991e34b86a0e80b1bd5720026c983d348325a5486546c1aeb4649408f675351ca95ec982cc7c75ac914f55437b2d023878 SHA512 248aa29bab8403def4aba211fe7789efca3fc88571ff9646eadfcddb24b29b481066fb37ecc1fed947cbfa1d7a20a3f94384a9577b6ccc4d1fde9f52eb942ff6
+DIST synom-0.11.3.crate 17120 BLAKE2B 30c6bdaff48eb2f3c28a348f737ad4b9ebf4b385de75ec2510aa9fef3b426a8a00041d0dd1649d11a9ba39cd4b9363e0e3f7d808cd0b2d588a38edb395be86d5 SHA512 a9c75d667be94c82c7f545e0569bb5858afd1bfca6e045fd52f4ae18ec4fd440e7d374ef45dafc97bda6c749cd4b4e185d8192b833661657323229803ef4a28e
+DIST synstructure-0.6.1.crate 11257 BLAKE2B 28a71b4f0e49a658064dd5b4eee0f1a61ef5502a24de4edb7aaa0f0741529a7640b874d19400757feef527ff78432e29fbe8574732e19a7395d13f2cef23d39d SHA512 e3234d03a99373a7c35a33611e7d5383b282f232a17c592d630dc2ef5613ca272d3f8419a87d40cf1d50f3ff982a01086d9b7a0202c5a819463d157f684d41b9
+DIST tempdir-0.3.7.crate 11468 BLAKE2B 65850a69a07c5c7e5c25d77bfc9881c994b1fe8466b1712b904d9758b234f8d12db6e1b740d461a48b13667bdeca8178e75c956fd6eaa0c0d5aca5aa1ac7523b SHA512 e5b02f7d260ff594fc2dbbd441eb8adfa36ede937f32c8c812b458167c0e49f5cf493c6ebf83ce8007a0aeb97016169fda7f5d2996fecc72f9409d6f463d9bbe
+DIST tempfile-3.0.2.crate 20825 BLAKE2B 0165940c98b5a28dcc087bdbaebd94dffe532fd571b7f28c440583848fa2368029c9416be914291f3ff0366066b2c99b8a241f3e581209f73fbfbf8c71188530 SHA512 8ece130a10d4a698884d3d29530c925944ef6d9bf8375b87abdad890cf1baa196b0c80b461b6ff436a8fb29931e181b4d0acba50e851ebbf4c0e9aa512e823c6
+DIST termion-1.5.1.crate 20659 BLAKE2B 5b4291c2c26a074c16eac2e7bcb40467380181bac69c941e5c958059dc239cbbfd74872d9bd3da65245d010f9fc39804c43dc96f4caab2499b021cf35977a6b0 SHA512 1d1536f08600c7c1f414b4579a1a6e7eff91f4c105504125118d3cadf71c7886a352d1c5f7e07f3d7c28aa8b4752f07b51eddb4d9adc6a9286f7b6bade2bec76
+DIST textwrap-0.9.0.crate 15795 BLAKE2B c4dd89d5757da74c145b6971cd08844f3a6eeb5d29ca012b67010743a2637ed83bca00eefb54ec3ddb1d02a06c9cc3b84984919e6fd187dd71ed9c2e8af41f63 SHA512 e176f703f971eefb5cfc1ecf9047858bd7610a58fa4103879fd963b292c79872bd8466ef8fc9742a428ac707400dade307e72fa965dc4d61da66e932e5b20c35
+DIST thread_local-0.3.5.crate 11794 BLAKE2B 775c55a2165b942eec4cfaa78653e3ff06a6b951635e95dd176f8bde9c58f789a4e3698cc7fa5eb7a9d173fb6c1eb8da682c65a36aa29beded1facae01817336 SHA512 c17bb6bb58e8ef5f27cd6b0a4290752ec00c9856753c9800664e1debc347a26930970b073ba87d6f95936b1be540f87559a8410151b18d01ecc3fe77c45d6cb6
+DIST time-0.1.39.crate 29295 BLAKE2B b94696ad093d016b7e7ad92744d30191d8221a7c4695bed3f3ec79a97d3acff853345fc703ce126107efe7add614b641317a859581ed49360943caa34f61e544 SHA512 522e9f3a1fc712a6dbb428d5bfe4ea32067028137d5c68c3e9059bb31c874785993aace65e9ac137fb8355f762def9c2602ec08217f395d8ef8bfc790b38108d
+DIST typenum-1.10.0.crate 30009 BLAKE2B ea68f463c2edd2cd7ace126571a88cead26ea37beb8a13ebc00eb033d9a6e9d7060bebcdb208830cea4944a2b2eae16e7ed7a60f0b9270868559292bf99df6c7 SHA512 9ff611df79e312b8ab32522007981220213f2beddd959118a855d08b94b7a7d35d38378694c8667c2d6aa324933307a47a4072a89cacf7e594537794385b9449
+DIST ucd-util-0.1.1.crate 24221 BLAKE2B b03c4b21f30b1d7497814e22471f0ec94f52bf9815a8d8c454ab998040593e179e869e6e3d2fde61f993fc8d15ad6cd689f878bac9f0e1ea9a658d2dda242bf3 SHA512 3101bb088f9a804f311c23cfbec1b59ed6daebcc985af3c4a25cee5c1a0c0b8fe15a3b95516361cfc75bf0322895f2acc4835ee94122c782abfc8b0a1e6f8738
+DIST unicode-segmentation-1.2.1.crate 68223 BLAKE2B 935c15d99571fc7fd597c2af9cee9333ccb1f19153fe7c8a835dce4f8cf13bd69e424d9e42b0a056b7035a9122bb5169cfbb96239aa2b3839e317aa495559e70 SHA512 431da71eb9056902c51a5ab53d239c8cf6448dc2f87be727628cb40a4808f5700f427936a9da4ef41935156896d9e0234b9de80aaae342b839e95c9a80d053b3
+DIST unicode-width-0.1.4.crate 15283 BLAKE2B 61a72cc00c929624bbf46ab89a8850270ce36d0c986dd302b436b98405e2b53c1199588c70920a3379fa55c9dadd070404a8d3580544c02ffe9bbdb6ed078215 SHA512 f06b243e533ab9c68d88ccd06a283dfff5fd13e9340cf11bfa74473fc9100bb704c34e7fb66919202a97e7d2ba2e7eed968eced02d557835a06e6a0166865ea3
+DIST unicode-xid-0.0.4.crate 16034 BLAKE2B 7ce4752eab109f457a1f8cdd3a9bebfe637652d7e2c0625b6c6f76dcd2d5f3e8b66c89dc4ca158282044dc1a2b030adb1b28e3a44b5a462c7e206cd25d925e66 SHA512 7a3a60936a18d54001dc477f6da1c9784bec53263f13e5c21ba00228ae4ff09f7bb8445cfb39febde957b8500bd1a4a998cc5cfd18046aacbc68e9993510e091
+DIST unicode-xid-0.1.0.crate 16000 BLAKE2B 159004a7bbb7476b39e982b51dbf615717095fd5946536e757653aa941bbf1b774f331db744ecc33bb2ead4b0a6d254fde86cfd6cd8b83ab9983fa89928eddbe SHA512 cc5343e2166938322cfd7c73f1f918f2a9c46846ac0ef55933d1e44cdfaf6f7da2b7ff18b68e356c47b6d8ba5565eda0db42c347dcbde830683f341ac2b1849d
+DIST unreachable-1.0.0.crate 6355 BLAKE2B c41706721e8124c695259c12741ee95f98d3599871bb7fae2f8cb0d63a04f0cff11e01ab0376867de4de8707fd50fbd02f8b6d9c19bedda84bb5938876c5d803 SHA512 054e0a471d1068b7703853d838c7c381ac6865ac1f8abae08747581e3754416ccec5b80a5b04fedbcd01e68bfeba286b849e3b8ea67bbe62444f2974655e4948
+DIST utf8-ranges-1.0.0.crate 8599 BLAKE2B eb356d94a937f5f7cd6ed17ba85c03fc1ced30ab9215aad1cda3e600dc6efd8bedef744a2dadc9664dc2cac0ef815f451e88db5b75f70eb1f50670dceeb7e244 SHA512 da498433597582970860db1c66ff1cc2ed8b0e2bf816e6aabdb40424ec03c3f28e6ca5e7592e464442004077735dca4144acd13c8f6a2e799d67504699422643
+DIST vcpkg-0.2.3.crate 6015 BLAKE2B 8259f1e9c137fdbbc0277976bfaec28074af3ce87149fffb441a5692c84b0e4a9c70b61b57d82c82d7603569fb3a9a86244a68a1834797e4745f179b941d1ce6 SHA512 ff1440f2d7d2e231fd959a328fc07ac1d4e4041f42723d2edf2226b74024aa13016eaaa364d7221ca8440381769ca03c24bc1c8d49aa2b5708871541b8a9ef0a
+DIST vec_map-0.8.0.crate 13742 BLAKE2B 5e1fd880c56f01d69d1680d77b361c89f94e77d75b0c8d1d49c780e6b729e3bc5e8d9a72e3a298bb350b1c27fac02dd7b31eb2f2018208f242b02d8d6d64af21 SHA512 7ce0c05c0b410577b489adb4d35376bc2a55c6041ce50e011b78415e952b5fb7fcff89fdd00b95e086de742f26ff057e99e55585824bbc0482e0ac2134406520
+DIST void-1.0.2.crate 2356 BLAKE2B 41578fb5507f94e7d135f9595cec107ed00a926f4968df8b59792d1676ba5b6980cd67310f820fc37a9c14ebe43a171833fa8dfc09eac5dd42f2ebe808632a83 SHA512 1cc7d282600dc0164d7e410aa895d5dc99de1174991549c6733c94cc2027026517f66797751d737869eae58c560fa26edbf43f36b3015eb2fd99828fe40e0aa1
+DIST which-1.0.5.crate 5366 BLAKE2B fea2fd7040addae5f4511c48ca7c3140414fda04853e30a797e3a3c67df6dd6dde75d2c6537716d7d12b2aad2a0e113add7a13f994654da6b296b46b14fbe3cb SHA512 5f6f794abdac8479d0f2fe130cc72fa57dcb3f9c1310befcefa4110551bc5084dbbde503c48023a65dce9d73ceed8a705163508bcf1cb0fb975fb8c5202988ac
+DIST winapi-0.2.8.crate 455145 BLAKE2B 50f3c2a0cf4eeedd6891b11392e520c1cca139a71f8f736eabaf43aa7e4b1b5d57697918978220459572d373940edf971eb8302f292cbff832283e905076319a SHA512 115e6f027cdd4a56f77ca24f4ab249d2a6cac1e1f955c826a9b6ee05db4861790a533f5e674aebbb540370fff52ed41618c2cd7c906e73200e92df213109cebe
+DIST winapi-0.3.4.crate 905247 BLAKE2B a6dacb223c0f7743af4c16d4256eea6fdab49ef7f48b9d80bd3da8bc25d6c53e12e98d45e50eff17d08c20099fb92ebcf5ed50928ea2e0873df20461f30b9a5a SHA512 4636ceea813181de46c0bb2f837982936a69376e2b3a58d541a982a494ab4e5b52f3baf820f714a81a2e742def2bf07a2d8313e31b45e51dc7e4d350a5b24579
+DIST winapi-build-0.1.1.crate 669 BLAKE2B 6c8d8e0f81574c086f06fb3f234b0e6759d293d1d254857c3d491e4d43279e5c2f57f2fcfdc9d5d7b083280f4cc2a75a6ee9bc1541ec6ce8f8d904ded0567faf SHA512 8b0a239e205a5368892f41c870a8a7ea16e3468c364b03382bef7fa3a2e7159b09c07661e95b1227578f6d72c14879daa4444b28c51ae20ef15d985d59ca5a77
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST yasna-0.1.3.crate 19608 BLAKE2B 15d29bfa7c89756a8bbe3a14c94a1cf2e91c197904cb0919cd2d56b060959a7feb3a9365a181ee459a849fc96a8dcb23882c92608157c83aab36042137035728 SHA512 3edcb3ac918cc5f3b79f9699399650a8ccd9a80954abd7cdc2093ca0441c7603f73822de1eb376adf4ead7b8499af0981014436961b27ce4285f6984ce1f94a2
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/fero-client-0.1.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/fero-client-0.1.1.ebuild
new file mode 120000
index 0000000000..9c3c9626e1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/fero-client-0.1.1.ebuild
@@ -0,0 +1 @@
+fero-client-9999.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/fero-client-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/fero-client-9999.ebuild
new file mode 100644
index 0000000000..4bb4ac7507
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/fero-client-9999.ebuild
@@ -0,0 +1,196 @@
+# Copyright (c) 2018 CoreOS, Inc.. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_PROJECT="coreos/fero"
+CROS_WORKON_LOCALNAME="fero"
+CROS_WORKON_REPO="https://github.com"
+
+if [[ ${PV} == 9999 ]]; then
+ KEYWORDS="~amd64"
+else
+ CROS_WORKON_COMMIT="1fb33da499e51b2699394d158b0b66d36fc52974" # v0.1.1
+ KEYWORDS="amd64"
+fi
+
+inherit cargo cros-workon
+
+DESCRIPTION="Client for fero signing server"
+HOMEPAGE="https://github.com/coreos/fero"
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+IUSE=""
+
+DEPEND=">=dev-libs/protobuf-3.0.0
+ dev-util/cmake"
+RDEPEND=">=dev-libs/protobuf-3.0.0"
+
+src_unpack() {
+ cros-workon_src_unpack "$@"
+ cargo_src_unpack "$@"
+}
+
+src_prepare() {
+ # fero-client uses the grpcio-sys-0.2.3 Rust crate (amond others, see CRATES)
+ # grpcio-sys-0.2.3 needs a patch to compile against >=glibc-2.30.
+ # The crates's sources are put in ECARGO_HOME so we need to change
+ # directories before applying the patch.
+ local cwd="$(pwd)"
+ cd "${ECARGO_HOME}"
+ eapply -p0 "${FILESDIR}/0001-gettid-glibc-2.30.patch"
+ eapply_user
+ cd "$cwd"
+}
+
+src_compile() {
+ export CARGO_HOME="${ECARGO_HOME}"
+ cargo build -v -j $(makeopts_jobs) $(usex debug "" --release) -p ${PN} \
+ || die "cargo build failed"
+}
+
+src_install() {
+ cargo install -j $(makeopts_jobs) --root="${D}/usr" $(usex debug --debug "") --path fero-client \
+ || die "cargo install failed"
+ rm -f "${D}/usr/.crates.toml"
+}
+
+# sed -n 's/^"checksum \([^ ]*\) \([^ ]*\) .*/\1-\2/p' Cargo.lock
+CRATES="
+aho-corasick-0.6.4
+ansi_term-0.11.0
+arrayref-0.3.4
+atty-0.2.10
+backtrace-0.3.6
+backtrace-sys-0.1.16
+base64-0.8.0
+bindgen-0.32.3
+bit-vec-0.4.4
+bitflags-1.0.3
+block-buffer-0.3.3
+byte-tools-0.2.0
+byteorder-1.2.2
+bzip2-0.3.2
+bzip2-sys-0.1.6
+cc-1.0.15
+cexpr-0.2.3
+cfg-if-0.1.2
+chrono-0.4.2
+clang-sys-0.21.2
+clap-2.31.2
+cmake-0.1.30
+conv-0.3.3
+cstr-argument-0.0.2
+custom_derive-0.1.7
+diesel-1.2.2
+diesel-derive-enum-0.4.4
+diesel_derives-1.2.0
+diesel_migrations-1.2.0
+digest-0.7.2
+env_logger-0.4.3
+error-chain-0.11.0
+failure-0.1.1
+failure_derive-0.1.1
+fake-simd-0.1.2
+flate2-1.0.1
+fuchsia-zircon-0.3.3
+fuchsia-zircon-sys-0.3.3
+futures-0.1.21
+gag-0.1.10
+generic-array-0.9.0
+glob-0.2.11
+gpg-error-0.3.2
+gpgme-0.7.2
+gpgme-sys-0.7.0
+grpcio-0.2.3
+grpcio-compiler-0.2.0
+grpcio-sys-0.2.3
+heck-0.3.0
+kernel32-sys-0.2.2
+lazy_static-1.0.0
+libc-0.2.40
+libgpg-error-sys-0.3.2
+libloading-0.4.3
+libsqlite3-sys-0.9.1
+libyubihsm-0.2.1
+log-0.3.9
+log-0.4.1
+loggerv-0.7.1
+md-5-0.7.0
+memchr-1.0.2
+memchr-2.0.1
+migrations_internals-1.2.0
+migrations_macros-1.2.0
+miniz-sys-0.1.10
+nom-3.2.1
+num-0.1.42
+num-bigint-0.1.43
+num-complex-0.1.43
+num-integer-0.1.36
+num-iter-0.1.35
+num-rational-0.1.42
+num-traits-0.2.2
+peeking_take_while-0.1.2
+pem-0.5.0
+pkg-config-0.3.11
+pretty-good-0.2.2
+proc-macro2-0.2.3
+proc-macro2-0.4.6
+protobuf-1.5.1
+protoc-1.5.1
+quote-0.3.15
+quote-0.4.2
+quote-0.6.3
+rand-0.4.2
+redox_syscall-0.1.37
+redox_termios-0.1.1
+regex-0.2.11
+regex-syntax-0.5.6
+remove_dir_all-0.5.1
+ripemd160-0.7.0
+rpassword-2.0.0
+rustc-demangle-0.1.7
+rustc-serialize-0.3.24
+safemem-0.2.0
+secstr-0.3.0
+semver-0.9.0
+semver-parser-0.7.0
+sha-1-0.7.0
+sha2-0.7.1
+smallvec-0.6.5
+strsim-0.7.0
+structopt-0.2.10
+structopt-derive-0.2.10
+syn-0.11.11
+syn-0.12.15
+syn-0.14.4
+synom-0.11.3
+synstructure-0.6.1
+tempdir-0.3.7
+tempfile-3.0.2
+termion-1.5.1
+textwrap-0.9.0
+thread_local-0.3.5
+time-0.1.39
+typenum-1.10.0
+ucd-util-0.1.1
+unicode-segmentation-1.2.1
+unicode-width-0.1.4
+unicode-xid-0.0.4
+unicode-xid-0.1.0
+unreachable-1.0.0
+utf8-ranges-1.0.0
+vcpkg-0.2.3
+vec_map-0.8.0
+void-1.0.2
+which-1.0.5
+winapi-0.2.8
+winapi-0.3.4
+winapi-build-0.1.1
+winapi-i686-pc-windows-gnu-0.4.0
+winapi-x86_64-pc-windows-gnu-0.4.0
+yasna-0.1.3
+"
+
+SRC_URI="$(cargo_crate_uris ${CRATES})"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/files/0001-gettid-glibc-2.30.patch b/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/files/0001-gettid-glibc-2.30.patch
new file mode 100644
index 0000000000..8174587758
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/files/0001-gettid-glibc-2.30.patch
@@ -0,0 +1,34 @@
+grpcio-sys-0.2.3 defines its own gettid() function which conflicts with gettid()
+shipped with glibc-2.30 and above. So we only define that function if
+glibc < 2.30.
+
+Fixes:
+grpcio-sys-0.2.3/grpc/src/core/lib/support/log_linux.c:42:13: error: conflicting types for 'gettid'
+ 42 | static long gettid(void) { return syscall(__NR_gettid); }
+ | ^~~~~~
+ In file included from /usr/include/unistd.h:1187,
+ from grpcio-sys-0.2.3/grpc/src/core/lib/support/log_linux.c:40:
+ /usr/include/bits/unistd_ext.h:34:16: note: previous declaration of 'gettid' was here
+ 34 | extern __pid_t gettid (void) __THROW;
+ | ^~~~~~
+
+--- gentoo/grpcio-sys-0.2.3/grpc/src/core/lib/support/log_linux.c 2020-11-23 18:29:18.053038547 +0000
++++ gentoo/grpcio-sys-0.2.3/grpc/src/core/lib/support/log_linux.c 2020-11-23 18:32:39.502926134 +0000
+@@ -39,7 +39,17 @@
+ #include
+ #include
+
++/* glibc-2.30 and above ship gettid */
++#define NEED_GETTID 1
++#if defined(__GLIBC_PREREQ)
++# if __GLIBC_PREREQ(2,30)
++# define NEED_GETTID 0
++# endif
++#endif
++
++#if NEED_GETTID
+ static long gettid(void) { return syscall(__NR_gettid); }
++#endif
+
+ void gpr_log(const char *file, int line, gpr_log_severity severity,
+ const char *format, ...) {
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/fero-client/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1-r41.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1-r41.ebuild
new file mode 120000
index 0000000000..67c65bd845
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1-r41.ebuild
@@ -0,0 +1 @@
+sdk-depends-0.0.1.ebuild
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild
new file mode 100644
index 0000000000..9b42f0a6a2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2013 The CoreOS Authors
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=7
+
+DESCRIPTION="Meta ebuild for everything that needs to be in the SDK."
+HOMEPAGE="http://coreos.com/docs/sdk/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE=""
+
+DEPEND="
+ app-admin/sudo
+ app-admin/updateservicectl
+ app-arch/pbzip2
+ app-crypt/efitools
+ app-crypt/sbsigntools
+ app-emulation/acbuild
+ app-emulation/actool
+ app-emulation/open-vmdk
+ app-misc/jq
+ app-shells/bash-completion
+ coreos-base/hard-host-depends
+ coreos-base/coreos-sb-keys
+ coreos-devel/fero-client
+ dev-libs/gobject-introspection
+ dev-python/setuptools
+ dev-util/boost-build
+ dev-util/catalyst
+ dev-util/checkbashisms
+ dev-util/dwarves
+ dev-util/patchelf
+ dev-vcs/repo
+ net-dns/bind-tools
+ >=net-dns/dnsmasq-2.72[dhcp,ipv6]
+ net-libs/rpcsvc-proto
+ net-misc/curl
+ sys-apps/debianutils
+ sys-apps/iproute2
+ amd64? ( sys-apps/iucode_tool )
+ sys-apps/seismograph
+ sys-boot/grub
+ sys-boot/shim
+ sys-firmware/edk2-ovmf
+ sys-fs/btrfs-progs
+ sys-fs/cryptsetup
+ dev-perl/Parse-Yapp
+ "
+
+# Must match the build-time dependencies listed in selinux-policy-2.eclass
+DEPEND="${DEPEND}
+ !arm64? (
+ >=sys-apps/checkpolicy-2.0.21
+ >=sys-apps/policycoreutils-2.0.82
+ )
+ sys-devel/m4"
+
+# Required by dev-lang/spidermonkey-1.8.5
+DEPEND="${DEPEND}
+ sys-devel/autoconf:2.1"
+
+RDEPEND="${DEPEND}"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/.bash_profile b/sdk_container/src/third_party/coreos-overlay/coreos/config/.bash_profile
new file mode 100644
index 0000000000..2da80632aa
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/.bash_profile
@@ -0,0 +1,9 @@
+# /etc/skel/.bash_profile
+
+# This file is sourced by bash for login shells. The following line
+# runs your .bashrc and is recommended by the bash info pages.
+[[ -f ~/.bashrc ]] && . ~/.bashrc
+
+# Chromium OS build environment settings
+export CROS_WORKON_SRCROOT="/home/${USER}/trunk"
+export PORTAGE_USERNAME="${USER}"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/.bashrc b/sdk_container/src/third_party/coreos-overlay/coreos/config/.bashrc
new file mode 100644
index 0000000000..96eb997b24
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/.bashrc
@@ -0,0 +1,24 @@
+# /etc/skel/.bashrc
+#
+# This file is sourced by all *interactive* bash shells on startup,
+# including some apparently interactive shells such as scp and rcp
+# that can't tolerate any output. So make sure this doesn't display
+# anything or bad things will happen !
+
+
+# Test for an interactive shell. There is no need to set anything
+# past this point for scp and rcp, and it's important to refrain from
+# outputting anything in those cases.
+if [[ $- != *i* ]] ; then
+ # Shell is non-interactive. Be done now!
+ return
+fi
+
+
+# Chromium OS interactive shell settings
+
+# Settings necessary for both users and automation belong in bash_profile,
+# while user-specific and site-specific settings belong in ~/.cros_chrootrc
+# outside the chroot.
+
+export PS1="(cros-chroot) ${PS1}"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/cross_compile_config.cmake b/sdk_container/src/third_party/coreos-overlay/coreos/config/cross_compile_config.cmake
new file mode 100644
index 0000000000..af83a5cb1e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/cross_compile_config.cmake
@@ -0,0 +1,4 @@
+# Fix up cross compiling CMake
+
+SET(KWSYS_LFS_WORKS "1" CACHE STRING "" FORCE)
+SET(KWSYS_CHAR_IS_SIGNED "1" CACHE STRING "" FORCE)
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-admin/setools b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-admin/setools
new file mode 100644
index 0000000000..882a117cd1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-admin/setools
@@ -0,0 +1,2 @@
+export ac_cv_file__build_amd64_usr__usr_lib64_libsepol_a=yes
+
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-crypt/mit-krb5 b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-crypt/mit-krb5
new file mode 100644
index 0000000000..18e79e42f3
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-crypt/mit-krb5
@@ -0,0 +1,4 @@
+# work around configure test that cannot be cross compiled :(
+export krb5_cv_attr_constructor_destructor=yes,yes
+export ac_cv_func_regcomp=yes
+export ac_cv_printf_positional=yes
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-emulation/xen b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-emulation/xen
new file mode 100644
index 0000000000..60101e0239
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-emulation/xen
@@ -0,0 +1,5 @@
+# Creating symlinks on FAT doesn't work, so don't do that
+INSTALL_MASK="${INSTALL_MASK}
+ /boot/xen-?.?.gz
+ /boot/xen-?.gz
+ /boot/xen.gz"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-emulation/xen-tools b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-emulation/xen-tools
new file mode 100644
index 0000000000..422b8b0eda
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-emulation/xen-tools
@@ -0,0 +1,6 @@
+# We provide xenstore as a standalone package
+INSTALL_MASK="${INSTALL_MASK}
+ /usr/bin/xenstore
+ /usr/lib/debug/usr/bin/xenstore.debug
+ /usr/lib/debug/usr/lib*/libxenstore.so*
+ /usr/lib*/libxenstore.so*"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-shells/bash b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-shells/bash
new file mode 100644
index 0000000000..b7b266cfe9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/app-shells/bash
@@ -0,0 +1 @@
+export bash_cv_getcwd_malloc=yes
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/dev-lang/perl b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/dev-lang/perl
new file mode 100644
index 0000000000..38d1bf6f8d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/dev-lang/perl
@@ -0,0 +1,5 @@
+if [[ ${EBUILD_PHASE} == configure ]]; then
+ if tc-is-cross-compiler; then
+ append-cflags "-fwrapv -fno-strict-aliasing"
+ fi
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/dev-util/cmake b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/dev-util/cmake
new file mode 100644
index 0000000000..f84b7288d2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/dev-util/cmake
@@ -0,0 +1,3 @@
+if [[ $(cros_target) != "cros_host" ]] ; then
+ CMAKE_EXTRA_CACHE_FILE="${CROS_ADDONS_TREE}/config/cross_compile_config.cmake"
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/dev-util/dialog b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/dev-util/dialog
new file mode 100644
index 0000000000..299e72433e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/dev-util/dialog
@@ -0,0 +1,7 @@
+# The CF_NCURSES_CONFIG m4 helper from ncurses needs to be migrated from
+# AC_PATH_PROGS to AC_CHECK_TOOLS. But that'll take a while to filter
+# throughout the ecosystem ...
+cros_pre_src_configure_ncurses_config() {
+ [[ $(cros_target) != "board_sysroot" ]] && return 0
+ export ac_cv_path_NCURSES_CONFIG=${CROS_BUILD_BOARD_BIN}/${CHOST}-ncurses5-config
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-analyzer/tcpdump b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-analyzer/tcpdump
new file mode 100644
index 0000000000..297dc03d2a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-analyzer/tcpdump
@@ -0,0 +1,2 @@
+# Override the prefix that breaks building with sysroots.
+export EXTRA_ECONF="--with-crypto=yes"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-dns/bind-tools b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-dns/bind-tools
new file mode 100644
index 0000000000..4f1c422d57
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-dns/bind-tools
@@ -0,0 +1,2 @@
+# Work around failing OpenSSL feature detection.
+EXTRA_ECONF="--without-ecdsa"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-misc/curl b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-misc/curl
new file mode 100644
index 0000000000..01295e8c0e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-misc/curl
@@ -0,0 +1,6 @@
+# Since curl now builds static libraries, there are linking failures due to the
+# lack of -fPIC when building under src/ . The project is actually configured
+# to use -fPIC when the compiler is wrapped by libtool, but that only happens
+# under lib/ and not src/ .
+CFLAGS="${CFLAGS} -fPIC"
+CXXFLAGS="${CXXFLAGS} -fPIC"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-misc/openssh b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-misc/openssh
new file mode 100644
index 0000000000..f2b6e78792
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-misc/openssh
@@ -0,0 +1,11 @@
+# We install these with our chromeos-base package.
+if [[ $(cros_target) != "cros_host" ]] ; then
+ openssh_mask="
+ /etc/ssh/ssh_config
+ /etc/ssh/sshd_config
+ /usr/lib*/misc/ssh-keysign
+ "
+ PKG_INSTALL_MASK+=" ${openssh_mask}"
+ INSTALL_MASK+=" ${openssh_mask}"
+ unset openssh_mask
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-nds/openldap b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-nds/openldap
new file mode 100644
index 0000000000..f0590f1078
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-nds/openldap
@@ -0,0 +1,4 @@
+export ac_cv_func_memcmp_working=yes
+export ol_with_yielding_select=yes
+export with_yielding_select+set=yes
+export with_yielding_select=yes
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-nds/rpcbind b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-nds/rpcbind
new file mode 100644
index 0000000000..d972f62095
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/net-nds/rpcbind
@@ -0,0 +1 @@
+export EXTRA_ECONF="--with-nss-modules='files usrfiles'"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-apps/busybox b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-apps/busybox
new file mode 100644
index 0000000000..e02063bc6f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-apps/busybox
@@ -0,0 +1,5 @@
+# savedconfig by default saves the currently generated config into
+# /etc/portage/savedconfig. However we want to avoid placing it here
+# so that every re-emerge will pick up the configs from
+# chromeos-base/busybox-config
+INSTALL_MASK+=" /etc/portage/savedconfig"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-apps/efunctions b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-apps/efunctions
new file mode 100644
index 0000000000..14e19ac0dc
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-apps/efunctions
@@ -0,0 +1,3 @@
+# Don't filter out /etc/init.d/functions.sh
+PKG_INSTALL_MASK="${PKG_INSTALL_MASK/\/etc\/init.d}"
+INSTALL_MASK="${INSTALL_MASK/\/etc\/init.d}"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-auth/sssd b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-auth/sssd
new file mode 100644
index 0000000000..dc3db79940
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-auth/sssd
@@ -0,0 +1 @@
+export ac_cv_member_struct_ldap_conncb_lc_arg=no
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-boot/efibootmgr b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-boot/efibootmgr
new file mode 100644
index 0000000000..413ab46720
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-boot/efibootmgr
@@ -0,0 +1 @@
+export CROSS_COMPILE="${CHOST}-"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-boot/grub b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-boot/grub
new file mode 100644
index 0000000000..97fb8b8383
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-boot/grub
@@ -0,0 +1,14 @@
+PKG_INSTALL_MASK+=" /etc/grub.d/00_header
+ /etc/grub.d/10_linux
+ /etc/grub.d/30_os-prober
+ /etc/grub.d/40_custom
+ /etc/grub.d/README
+ /lib64/grub/grub-mkconfig_lib
+ /lib64/grub/update-grub_lib"
+INSTALL_MASK+=" /etc/grub.d/00_header
+ /etc/grub.d/10_linux
+ /etc/grub.d/30_os-prober
+ /etc/grub.d/40_custom
+ /etc/grub.d/README
+ /lib64/grub/grub-mkconfig_lib
+ /lib64/grub/update-grub_lib"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-cluster/ipvsadm b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-cluster/ipvsadm
new file mode 100644
index 0000000000..1adaae9363
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-cluster/ipvsadm
@@ -0,0 +1,4 @@
+# The package does not understand cross-compiling.
+export PKG_CONFIG_LIBDIR="${ROOT}usr/lib/pkgconfig:${ROOT}usr/lib64/pkgconfig"
+export PKG_CONFIG_PATH="${PKG_CONFIG_LIBDIR}:${ROOT}usr/share/pkgconfig"
+export PKG_CONFIG_SYSROOT_DIR="${ROOT}"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-devel/flex b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-devel/flex
new file mode 100644
index 0000000000..bfea8f4030
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-devel/flex
@@ -0,0 +1 @@
+export EXTRA_ECONF="--disable-bootstrap"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-devel/gettext b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-devel/gettext
new file mode 100644
index 0000000000..7495dea677
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-devel/gettext
@@ -0,0 +1 @@
+EXTRA_ECONF="--with-libncurses-prefix=${ROOT}usr --with-libxml2-prefix=${ROOT}usr"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-devel/libtool b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-devel/libtool
new file mode 100644
index 0000000000..47d205fa5f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-devel/libtool
@@ -0,0 +1,4 @@
+# Remove the *.la masking since libtool's autoconf detection code
+# relies on its existence.
+INSTALL_MASK=${INSTALL_MASK/\/usr\/lib\*\/\*.la}
+PKG_INSTALL_MASK=${PKG_INSTALL_MASK/\/usr\/lib\*\/\*.la}
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-libs/e2fsprogs-libs b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-libs/e2fsprogs-libs
new file mode 100644
index 0000000000..b312ac96b1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-libs/e2fsprogs-libs
@@ -0,0 +1,12 @@
+# Remove all the build-time helpers leaving just the libraries.
+# Not like we can execute them anyways for the target.
+if [[ $(cros_target) != "cros_host" ]] ; then
+ e2fsprogs_mask="
+ /usr/bin
+ /usr/share/et
+ /usr/share/ss
+ "
+ PKG_INSTALL_MASK+=" ${e2fsprogs_mask}"
+ INSTALL_MASK+=" ${e2fsprogs_mask}"
+ unset e2fsprogs_mask
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/scripts/build_packages b/sdk_container/src/third_party/coreos-overlay/coreos/scripts/build_packages
new file mode 120000
index 0000000000..c43c4e9b0c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/scripts/build_packages
@@ -0,0 +1 @@
+../../../../scripts/build_packages
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/scripts/config_wrapper b/sdk_container/src/third_party/coreos-overlay/coreos/scripts/config_wrapper
new file mode 100755
index 0000000000..1444f8a91e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/scripts/config_wrapper
@@ -0,0 +1,48 @@
+#!/bin/bash
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Wrap all the old style config scripts.
+
+# We'll be working with the env:
+# argv[0]: armv7a-cros-linux-gnueabi-ncurses5-config
+# CHOST: armv7a-cros-linux-gnueabi
+# SYSROOT: /build/arm-generic
+# See if there's a wrapper in the SYSROOT for us to execute, let's do
+# that, and then filter the output for any -I/-L paths that'd screw us up.
+
+wrap=${0##*/}
+
+if [[ -z ${CHOST} ]] ; then
+ # Let's figure out the answer from $0. Do it piece by piece as
+ # we cannot assume the number of components in the target tuple
+ # or in the config script name. Tuples can have 1, 2, 3, or 4
+ # components, and config scripts can have as many as they want
+ # (although most of the time, it's just 2).
+ parts=( ${wrap//-/ } )
+ i=$(( ${#parts[@]} - 1 ))
+ cfg=${parts[${i}]}
+ while [[ $(( --i )) -ge 0 ]] ; do
+ cfg="${parts[${i}]}-${cfg}"
+ if [[ -e ${SYSROOT}/usr/bin/${cfg} ]] ; then
+ CHOST=${wrap%-${cfg}}
+ type -P ${CHOST}-gcc >/dev/null && break
+ unset CHOST
+ fi
+ done
+else
+ cfg=${wrap#${CHOST}-}
+fi
+
+if [[ -z ${CHOST} ]] || [[ -z ${SYSROOT} ]] ; then
+ echo "${wrap}: please set CHOST/SYSROOT in the env" 1>&2
+ exit 1
+fi
+
+# Some wrappers will dynamically figure out where they're being run from,
+# and then output a full path -I/-L path based on that. So we trim any
+# expanded sysroot paths that might be in the output already to avoid
+# having it be -L${SYSROOT}${SYSROOT}/usr/lib.
+set -o pipefail
+exec ${SYSROOT}/usr/bin/${cfg} "$@" | sed -r "s:(-[IL])(${SYSROOT})?:\1${SYSROOT}:g"
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/scripts/setup_board b/sdk_container/src/third_party/coreos-overlay/coreos/scripts/setup_board
new file mode 120000
index 0000000000..1ae2ca87e1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/coreos/scripts/setup_board
@@ -0,0 +1 @@
+../../../../scripts/setup_board
\ No newline at end of file
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-db/etcdctl/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-db/etcdctl/Manifest
new file mode 100644
index 0000000000..f7b58efc8e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-db/etcdctl/Manifest
@@ -0,0 +1,575 @@
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.34.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.38.0.mod 1006 BLAKE2B 9d321b9bad7e881795f0215828ca23ff5753b8ca9cbe64ca085bcd2f64d36d0d5bdd5c3e80eb64e19e067748b6b23eb7837827cede0e75a840ed1cfa2b00c1a8 SHA512 8aa90e6ce7d50af3db56c8a7abdd16822f6351cabb96e6b75ac0cdefa15bb4a2d402aa84e6212fec4d599ec6f13cb1891bb37f41200e6a05a27642375a89a959
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.1.mod 1150 BLAKE2B dba381727351af838c47c0d81a0d842d3851dc4e4a6cce1fbea14ccef9dc21407dbe2749fcaf130df4211b083ddac015bc532f7285450e767064855cf729ecce SHA512 6a49609209f9d51e4851ed5c55a06b9451c0101de3bd92b7fa5b3662b2e85df4a667ad8068288773b9a85670c65fbba46f88c643aac290d1f65e2a44ef531409
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.2.mod 1075 BLAKE2B 370ba9f085033653a0fe9d328aca613b7feb50eb9407e55ed583d7b9302fd844856c9a1a9dca69c67c360c0a7b49ebff6ebd22946fb83c6c7061b9b8c573e99e SHA512 a58f7bd34b5ba8affd021a2d34be64e49dab0d9bb893ad25e00bf5b50ff92c4762b6d9093134b483dff2573ad3c0ebb5f42808dfbe33081cef0e96dc5215074f
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.45.1.mod 998 BLAKE2B 8dc0e29275055b37db12138b6e30fb22a6ccd995b3c3566efbb616f799660cd7073bfee935e41a77f311a95d0ec40ef9b5e40673ff8e59c9c06e5cfa32675adb SHA512 ade24f2b10476b5e5eb42d6f471b73ccb7d8107e6a26c5b1fd38191dc7d4ffee31552088fa5854983c47a2c4868a13bfc22d7f92f834662c75f7c4c88e0274ea
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.46.3.mod 960 BLAKE2B 879529244d38fbecdaea27588031c2d0d82551d8173f7e41f004dae8356e2264259d80e66953e941aa856a9613ae82211ea8dc0b12f9188f65bdf54487052952 SHA512 cbe178d04fe28f9b7dd07b0317fd4404d805e80ceada4953ad47763bafa2f215f88464c1315261a902ebcc52145af09df4c96a341e42644d38526909fcef313c
+DIST cloud.google.com%2Fgo%2F@v%2Fv0.46.3.zip 1195278 BLAKE2B 34c2662f7ff89dc98d6e9f156e77eafdfd26df0f6fd5d4858bac571261e9488dc5d4541e745b173387f42dcd497cd02345ca3e0acce0e326129997b77ca04a81 SHA512 bbcda7aee6a580061cfd9858fc8d7dbafefd8eecfad25e4c6825d16b2e038e6a5be7b5d876b348d86059763a0e0eeae7d1546fe35fc98f5b479f478a25a11512
+DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.0.1.mod 319 BLAKE2B 99d93b5a4dbd4c90f3e8dfb58e64ed41fdbb484f2348297a90c8dabe03b036ef6917c2c9fb7cc4795d0c8d25af10cefebff4c4bc1b2ebcdc876b6db8beae5eb8 SHA512 338a067f7ad15d8549da11ac146b65657923ae4fee3caf2eff888c104c0df0edcdf0d98f5be6a67a764aa39210d5cad811ebd9d604084a67049b753246fbf89a
+DIST cloud.google.com%2Fgo%2Fdatastore%2F@v%2Fv1.0.0.mod 433 BLAKE2B b3d58e290d719434bd433ffda9572fb233171493c7b81bfe353d9b7730130d5dec365f4e93a136a25467851b5f26cb21be6be06486696f010ccff1fcea140662 SHA512 8082ab039764aa6abd6615b1cf3a1830f2813dd5b791a27b7f0ebf5fa1ee68fe040a5e12988e6c91ba5d032a0a6666d384d6eceff12165d394a75ba56b744382
+DIST cloud.google.com%2Fgo%2Ffirestore%2F@v%2Fv1.1.0.mod 568 BLAKE2B d3d62f2d5c018c4ea3c829f7485e5a1239e2d810f79306af4d08ac32acda4d33e8e90c66c63540c4c95231f5fa116634758858dbf4af2a953a17b0db2b5c1cc9 SHA512 adb3d294ec1e9476bed820afa92aea5cabf77e7996d83bd1f03dff8447dfb13dd18ab4f091ad6ee209128151dcbfedb4967f99ccf7e10f5286e90b2ad56441d6
+DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.0.1.mod 508 BLAKE2B 9915d1d1a768852b3f262784771c8fe2e7e176e61f7d77841f8d3adac571dc141e36c6455c19090cf00a98a7a5ef0c2c887424142e2ecad339f8105b1c30f91e SHA512 8a393b8614207c22c73a706ccc3e66a8a16d2f305ab95d8f70774f13d0bcb7396b0ac5095daa57ebb991225a1db08c3110f1e85c26dd72f3bbcaf73fea536d9c
+DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.0.0.mod 374 BLAKE2B 4fef9f7da9f23e94efe43be0e279958715949a889c5d51e388f5b66ec9a7cdbf15a717c988883647032998facd71359ad1dcacebcf3334100144abbfa12dac03 SHA512 faf4a02a513ae4c23f931b8917e74a056c528b4267ef3b5b704949283910bfc5d41fdd7264b78d4fc1f6e5b370474a7c9933a2fad36bb5c872006def71f8ed0b
+DIST dmitri.shuralyov.com%2Fgpu%2Fmtl%2F@v%2Fv0.0.0-20190408044501-666a987793e9.mod 36 BLAKE2B b430ef9388b0dfe932b201495a00275a6036338c99160d7362556be1e25924584b0802061d193533f23b1f76719dfd6a9484572babd25f1af0e53fd9bf07ac00 SHA512 196affe091247f94ceda4b56629bd62d4ee2b397f2c0f56c9534c02e43531b46705ad33543b58c1a4fc7a48e25e5923db087fe0485a93966a4086581c0d1d3e1
+DIST etcdctl-3.5.0.tar.gz 4020010 BLAKE2B abd4c1aa7206d20033cc7ae41dad5e3c40d637a540b28f773aa82e6dfcd5cb935df5186ad0fd96b27364d4cf3ef08b9b04d079e0ea78c63f5f1b893c6d641a5f SHA512 ea332fe99c9bce842dc9919b7cf676db2024adf83c23c37dcd8db48bc2a2d3f98879893701644a2317dea69dc15f747f42f5473f14f4343fe7aee9a6b4ebceca
+DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
+DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.zip 56132 BLAKE2B 5edcfe991d7fc40094d637bae8d8d6f1f897ab3d3786ade2bb80287738103264520681ced8d30d2037253206c32d3f867f4d024a571cb9aad030ebc451e198eb SHA512 43ed64ae515738487e9b75a2290d0b2bc25e83c021a9f29b21487c37adbf34e74e1e7d3d5ec0dfe678c8396356f95c3993a5f5610d1791ff62056cd182a4272f
+DIST github.com%2F!burnt!sushi%2Fxgb%2F@v%2Fv0.0.0-20160522181843-27f122750802.mod 33 BLAKE2B d234bf9be3dd919cb1f8d33750a24dca68c90fea110fd0ff62f0dba86d2ebbfc66d55fea62745b6383c5607bc91cfd78c9d2cf12df251397e85995c04707caa2 SHA512 dbfa64ac31b25fdbff12110c6f9815abfde65f281e40852e7165499a2cefb6656c74fe0b82f0f018304daa02b83b421e9c15654efabad39787c69c1b2996a79d
+DIST github.com%2F!one!of!one%2Fxxhash%2F@v%2Fv1.2.2.mod 34 BLAKE2B 83966cb7de9bb687f99f17c5c89c03718258d2df34e3dda01b96a2fcb1273a0ba0e3253ba5950d5458193d3e54962371317a8fe85020ae338b44e864bd96667f SHA512 9081c69a2480ef726f547047306dc9136211ac7550882e68d458e2c04e5343366cb08f20525a51c804ab9a554dfe8363a1d9660bc0f9e501e1d996f7b6f320e4
+DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20160405071501-a0175ee3bccc.mod 38 BLAKE2B 2e1a897393e3527f0f82e6ab9baf62558d9cf54b56ada5d79aa1b206128de30395d9082bc600c4aa2a17e81095e429cc5874de95047854531cccc9ea0b867de7 SHA512 072ca7ba3d5ca815f58848db201002cc572d95334aeacfe44cb226505ad20d82ce06eb2ee059650912ae499db6291822c583296cb65a66e54adce62d6d850929
+DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20190718012654-fb15b899a751.mod 38 BLAKE2B 2e1a897393e3527f0f82e6ab9baf62558d9cf54b56ada5d79aa1b206128de30395d9082bc600c4aa2a17e81095e429cc5874de95047854531cccc9ea0b867de7 SHA512 072ca7ba3d5ca815f58848db201002cc572d95334aeacfe44cb226505ad20d82ce06eb2ee059650912ae499db6291822c583296cb65a66e54adce62d6d850929
+DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20151022065526-2efee857e7cf.mod 35 BLAKE2B 873b4b9c8491117a0b99bcc183ae96fc7e392c68d7271b73b5d7876574a5c7d67580425b35445ff2fff326c5cc7f328326d5d11946699c213cb2b84e8a9a0aad SHA512 7f23b8c5622c02b295646c7baf6f2ea3dd01e11e18ac9c263b853c7f771f5d098d8bcb75971f0cdc33d1c4765b563f3382ec5dc4bf20010065c3f1bc94e93175
+DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20190717042225-c3de453c63f4.mod 35 BLAKE2B 873b4b9c8491117a0b99bcc183ae96fc7e392c68d7271b73b5d7876574a5c7d67580425b35445ff2fff326c5cc7f328326d5d11946699c213cb2b84e8a9a0aad SHA512 7f23b8c5622c02b295646c7baf6f2ea3dd01e11e18ac9c263b853c7f771f5d098d8bcb75971f0cdc33d1c4765b563f3382ec5dc4bf20010065c3f1bc94e93175
+DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20190924025748-f65c72e2690d.mod 79 BLAKE2B 51cb1c2c33300626f74f843ce56c333b194b9a46230d3befe94343fe9daa62314a59b74a6d78c97415f839997fb42700c762fe02ef76240924ba52d18f723ad6 SHA512 df2dd357e057bb1fc65ef4869f64149f6446257406886e89a39f7dbc7e6c9da25a8c17567b14c8d3adefaf21fba98e0f2663924c7d32a4f82d30377ab4032162
+DIST github.com%2Fantihax%2Foptional%2F@v%2Fv1.0.0.mod 44 BLAKE2B 9ee187c88e6e4eba0b58dc16701725ff50dfc3af729ff9b58c3dcd200854af59d50689ffc51caafbe6af5685d5796331fc69dcb4a1813f6124c4e6f1a0bb5725 SHA512 e594fe55205c9dd96af55f58d011e5ef916c66eb057f7c0cb73fda0388133b6b476bce423969f85c1b95eb87ed9ed48bce7570fdbd131e0ad5e7ac6010514c58
+DIST github.com%2Farmon%2Fcircbuf%2F@v%2Fv0.0.0-20150827004946-bbbad097214e.mod 32 BLAKE2B f5b653f20e85bc44cbd3882fdd8f425c0b71733eae4bcdf2623952f1ed2524e8067a169f1cc0025f6570aaa4653969baa7d4626db6cf0dccb0d7378cc36da6b2 SHA512 a201f9c169bba0d962c2595ee8c625a2b7e39873e4bb3eb1ca646340638917dabb2309f1ba4b71d9fca4cf2da2d3684076c67ba362dd07a39538a45240f7f987
+DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.0.0-20180917152333-f0300d1749da.mod 35 BLAKE2B 97d3ccde6ba4ad06a5344183f954cd6dfea580673607a6d54f1c0f3a643aee512bbe5fe7bdbc22629e6ffeb58f70422b9b80577d70fb58db9b03ababc0552ba5 SHA512 fe8dfbec1d09d7da5829af43760a4ddb5495b6a63eeb76fb3758aeb2fcf83d83ea443a15789d7042a0f5e637664babc9c388dbebc63ff7d35fb9545c7c7da991
+DIST github.com%2Farmon%2Fgo-radix%2F@v%2Fv0.0.0-20180808171621-7fddfc383310.mod 33 BLAKE2B f9ad41153ccea8eeb725d791dd7f44f2c5d8c997d85a091c0091ebc2ae38601928fcf13cfc0e326ab459538d16a3147f762c6b1d9b2abccbaebeb35691b0e5dc SHA512 98f0f51365ecedecd1abe944a765160f99ccde69abe92a44d4f0e30f72a664b828cddb085886d8460ea7faabd0cbe7abdbde905ac758be0a3752c9a8f3600b6f
+DIST github.com%2Fbenbjohnson%2Fclock%2F@v%2Fv1.0.3.mod 45 BLAKE2B 57350526cf25f10ae2018fd72f9944dae239a72c2a44db02f0a7414d802cd03b48e58d3c63fea3cf02cffc26e6c7b334190b2f7a76b7e24ec50aaecdeba1a442 SHA512 d17d2e4a7184b75fde3ef47d7158c9913611ae55dc2e67ad2d0db87afaaf894d0eaf5f0f5b027e2d888c592735dec2d381c83c7992576eb164492e98b24b5f1d
+DIST github.com%2Fbenbjohnson%2Fclock%2F@v%2Fv1.0.3.zip 7220 BLAKE2B 0a7e9be6781be8c5c8726ac7acdce2d55c4b6690c151954442577b7a10005329261b1bac7d0ec9e0b15dd712762ad81c9614d90e03f7d32541eb99de904c8e2d SHA512 acb1039ee94aedeaab9cb25b218a2b7953ba22352198260630a168b1341f1d04dff827142a968b039cc03295055d2528fda134c696573ec1bee02648915ab22c
+DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20180321164747-3a771d992973.mod 31 BLAKE2B f69b0989e51b0b649f81b044169fe4309f130eba5bcc6ff33aa9666b1b754aa0e524b8c7a627a91000ccc4f93bf93cdee3e97bd3b2184b050878bc3f413f0c72 SHA512 f21fd002853e4435421f8396e6be016f65be1537815c60d23940caf26e3f14dd6f2caac802cb64cd586b1b1f1220b2727de347b3d1816b8e741f68d87ebcf03f
+DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.mod 40 BLAKE2B ce42c81a7dcb03d21a99d6240ce12f8455297722513497b1a75f2c848b5fb7ef70b577c2406638442f16beedd68806de890a5c299cf1c008c439df23df2f5bb1 SHA512 ec4424da8e1e3849408da7bfe83d37e21ac75edb889de8ef63be897d59678679b018f4606be78500952e7eee73a6252ee6e477b1a1612e2d036dbf72c17b9c9b
+DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.1.mod 40 BLAKE2B 6cc86f2bceda8617678a251604b6c049cfdc80f9afcae0cead6b2cd04f90fe1b5d5d56d0c29f98fddd7f4ff6fb4a0f97c052193b153dbfc772cf6597d664c09d SHA512 d0c78b8f08d177e05148ce845f8d720fe79a193a420c12ce15504af8fa3dffc4d2fcebea8030f5cca90aff5775013e2252e0c289d4ed5094e07657ea97a79570
+DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.1.zip 14678 BLAKE2B 6647c66a45f2dc67b83a1e493bc73d4439de7962f7f1472dc267be9a9408b5ddda66b8ee2fdadf18b2973648035fb3907fe539a8b7ccb768b8c99c4cae573eab SHA512 f973efba5ce7c651d9c3e4e467a1423b00b102034a054874d09977957b7b55557e05da06fb4c158e693db7bac01bf601f950cae0d411dc92afd0686d7e1de4cf
+DIST github.com%2Fbgentry%2Fspeakeasy%2F@v%2Fv0.1.0.mod 36 BLAKE2B ad3bb22bde28277f26a819b093ab7392da57c027bfb91bbbab4686d225ddc4e239c0905f6eec64cda2fd47746bd625682f663a11007bdbbf64f9cbff7dd1de76 SHA512 f961ced2c3e902be60fb862fff6b1c4457c57bd7586375a18857863be63d9b3ea998b05fc0c9c3a7270387e9907861d6f9d6ce4024643ec84ea6a63e59e915c1
+DIST github.com%2Fbgentry%2Fspeakeasy%2F@v%2Fv0.1.0.zip 9262 BLAKE2B 50feca006319c5a8d957976be1c02a0a6a7247441fa0e903b1a03de85859f2afd0c93cf8599f60974686f47bdb7f0c94e58c6ec01ffa3fc33cf5d04da3bfd08d SHA512 0e52838ad73009c795d6a43d7d52d082b0ec134e0f07015fa51caab7d1dd141b19df7807a7ab146312848567f8635966c6ce7ac22b934a630e0131383caef9cf
+DIST github.com%2Fbketelsen%2Fcrypt%2F@v%2Fv0.0.3-0.20200106085610-5cbc8cc4026c.mod 568 BLAKE2B a2769032d81e02d8f4945648d36e862a996841d0e138077fd190b47b700fa08cd4e8e8d300925fcae5ebe48ea972afed0dcde81870f3673a3227ba90beb5e341 SHA512 262ec838f5c4b97bc186533c20456e62633038ae74747c7b884788bd06ce01863a59237557877d35f37338ebc018d2c1c8ae963e4a42dd42e0823a5b3ec81bb3
+DIST github.com%2Fcensus-instrumentation%2Fopencensus-proto%2F@v%2Fv0.2.1.mod 58 BLAKE2B d724c8e5ab039b227f3c437ba570398b789f53fe80db6f8e57fd2cb2199a5e7acef24d7451f9b27a4da464770660d31fc785c7165deafbc35009718851329fc6 SHA512 23d6171dbcf339c72fe25ab7a7e70cb385dffd654998824fac0f6b6464717873332d39fe1f96101414f5e2d240faaab0b960da2e31c08ef98443aa238bbf02d4
+DIST github.com%2Fcertifi%2Fgocertifi%2F@v%2Fv0.0.0-20191021191039-0944d244cd40.mod 45 BLAKE2B c21093aebb1ef513bf84d13f3cc94ca5ed3dedfcb396d07a0e146031984a72d1ff488473cc8868303906fb397842b105bd81c8f725120eb80c17d59762ddeba3 SHA512 c1ab1e40d352c16aff7a2b91123ecab7500817522ca8cad2e5ed3c45d6dde6e63cf153f124ad3317c0ff4f6b74491d952e01fc3b329d0827b472878a6f001c10
+DIST github.com%2Fcertifi%2Fgocertifi%2F@v%2Fv0.0.0-20200922220541-2c3bb06c6054.mod 45 BLAKE2B c21093aebb1ef513bf84d13f3cc94ca5ed3dedfcb396d07a0e146031984a72d1ff488473cc8868303906fb397842b105bd81c8f725120eb80c17d59762ddeba3 SHA512 c1ab1e40d352c16aff7a2b91123ecab7500817522ca8cad2e5ed3c45d6dde6e63cf153f124ad3317c0ff4f6b74491d952e01fc3b329d0827b472878a6f001c10
+DIST github.com%2Fcertifi%2Fgocertifi%2F@v%2Fv0.0.0-20200922220541-2c3bb06c6054.zip 160134 BLAKE2B dddc0f17e3319db4c6e1a1d3499796d53a5f07bb78fd16670ebea4cc107a241393d02605603466508c081b63a4df4156e337d59ef4697c889d580bcdba7b69f6 SHA512 242da15e7bf049254e74a18974dce49cb2eae9f2e7abfbaf3a55ded4816906efca1959597bdf0775427a1407b8cae0651ba5fad77919977d27853d589e1d6fe0
+DIST github.com%2Fcespare%2Fxxhash%2F@v%2Fv1.1.0.mod 146 BLAKE2B 5efa8dad622ae253ffa106eafea277fd947fc0f28e6962e461283ce2267d992b85b1f0eb9074a90009d8ed1d47f9e1f3e03cfc0eb7ad7df104282cfd144cc12a SHA512 32c34a590e6c113a16700ef2faa5124ebb6c8773cd76594312157bd2b70d54cd939ff2c32fac47421b5615e804142cb7b393394d4745d5894f9b68392bc37ad9
+DIST github.com%2Fcespare%2Fxxhash%2F@v%2Fv1.1.0.zip 12221 BLAKE2B ea2f826b4582ec60f51c65783408df0e065d2a752d1cba17aaf277e0c2b48779a3bf3579982dcc26e5566c899c3f933e4c711d2f1e01c98c13e73d46fa08baad SHA512 09432cff34f69e9b0cc6f0d5bb9af376efccb85ab4396c14a4e0c072272f3172a93c240c5ae0aa89eab91799d1bed1a0e7e00ba83682843f46344c9e2fc2d4b6
+DIST github.com%2Fcespare%2Fxxhash%2Fv2%2F@v%2Fv2.1.1.mod 45 BLAKE2B 350e937e3f7b254b5c590445a9a7f7cc908daa2a5f208e293ac414d50b46bd29671bb483e55daeedca41d70a42fdcc62ce17fffd9992a932e29153ab6ca1168e SHA512 c1b9f572957bc4ed1ad0c61d22b7b5d6a4c863df2aaeb4cf914e304af21d949c9cfc53dc8eb67aacdf3dd56f339ee6f4a1f5fa464121d9db79b7b3febfb3251b
+DIST github.com%2Fcespare%2Fxxhash%2Fv2%2F@v%2Fv2.1.1.zip 12031 BLAKE2B 47bd92ee66282b671cdfea60969710e371540e79b3c1e2f510380e3dbbfe40ff76be23ab48f44855b1cbbbed7cdbfc4f1ea21bc4bd7a37716de7c27a7ef81329 SHA512 dc5efd476875fe3cfb3c5f5ce9314920bb2175be85fd1a4667faddee1b5360113b66bdc2f17e4fe889a7d104d684558744bdc6c56c8ac3afc585d7aad0114486
+DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.mod 35 BLAKE2B 45d27e6bbd9255a355b6bd14ac839c7d87fabb393693a8b862ad974017af01309e5d36fa99d4925905c1617c0d90b5263b54cd95af2dbab186e293936dc86459 SHA512 ca8192c6321468b4332eb63c765a5798150dce9312873123b48d9ec67ebb4229cffc7b7e8054b8b0a6f45611f08130008031edf33da3468bb9a4ee9455fa02a5
+DIST github.com%2Fcncf%2Fudpa%2Fgo%2F@v%2Fv0.0.0-20191209042840-269d4d468f6f.mod 170 BLAKE2B 68adbd7d4176fc66228fa579cbbffb2239322158a9fe1226a106a2db6a7210cf9811ec30fbed4bd26e260906a214b9546d178cc1f6efef57866d378cda457166 SHA512 3877a1f5b47e6316c7a4d4e14959b355381eb3a32fb11270c646617b9908299d7dc806869d21b1fa6faca7a326f168dd1a268735cd1d532be2c318ddf9237014
+DIST github.com%2Fcncf%2Fudpa%2Fgo%2F@v%2Fv0.0.0-20201120205902-5459f2c99403.mod 170 BLAKE2B c8f3e464fd2cb8f38cf999a300b44307a1e3d40101460176aaac8467ec7d371f08c69ebbcae7ad8086a48a02a0dd7fc4b1cda1bbd7b5199c4b76f1ff0492d7b3 SHA512 4cb0a4f9d5f74f3115a10661469cafa88044a8ed2de959b26054441714080fe8d639485b69df02e0f91fa9040db259fbef8281971c28a67953a5abe5b7220ccf
+DIST github.com%2Fcockroachdb%2Fdatadriven%2F@v%2Fv0.0.0-20200714090401-bf6692d28da5.mod 473 BLAKE2B a92fb866f551f78d532cdf06f354e02d27f64b0b6cf63529f2b272f94a88cdda0d67d10f20adfbc9cc64035437b78bd6935612889a7fefe3f6ab8736bb9ceb9a SHA512 76b1f03cf391c4a365282cc3caf4e1701c195cd0c0fff1e580333a722403868902dc28355f013cfe0e069a4013e2f54f28b10747e2cc1df00c64b84fffc947fd
+DIST github.com%2Fcockroachdb%2Fdatadriven%2F@v%2Fv0.0.0-20200714090401-bf6692d28da5.zip 23935 BLAKE2B 9ad133155820405e4b31287c275b4ad37fdbe8489de1d9d6745a8d849ad28bb696db84767a4dae74d79d3c85fad79d617270be266c60f255e73563a90213d312 SHA512 3fe25ed0c343c03e97d2230d829d93212603eacf9e2238e7c4a440e17710a854852c2fedb4234b7fe82f2a6921adc2aea28f4d1f0646dbf2102732d8f4ceaeb6
+DIST github.com%2Fcockroachdb%2Ferrors%2F@v%2Fv1.2.4.mod 37 BLAKE2B 1cfd7c10c31fcc2d78708be02ddb7fe18098782df3764f4394b2bbbed579fbd4e7692d2f75e1481a994c35e5f2355549eac6de2319ca1d07ea2bda3939cf5013 SHA512 1b62593fcfd90463192016f145a970fcb4c458b8482e60b10505a53e49f0df7ab3cb9bf5acef1d79cc278a2fd742d08df4cd0969e0b0ac04eda6fe35c5cb5bcf
+DIST github.com%2Fcockroachdb%2Ferrors%2F@v%2Fv1.2.4.zip 186141 BLAKE2B 6d071ceb36c2b67ceb7d79d66998044a3ce4cc262c446eca88b9cb4ff0fc62f3e397409fef1cfe4b7d668b96ec585bc0eed1d015e1fb2e45736e7d7611c19195 SHA512 feabfb2f518a47efd7f201b5f357b1e7bba5565112ff9ec4d5504042a4eab699f312a4779fc2c5bb217ad1cee459b43ddb91fdfa420b6c5bdef44243607bd11c
+DIST github.com%2Fcockroachdb%2Flogtags%2F@v%2Fv0.0.0-20190617123548-eb05cc24525f.mod 38 BLAKE2B 2b11ff7691f470b19935549dd6f4c0f112c2efcabf9d32a1b1e8130685b328f14c54907a51188deb8521cd6179a2d92a2c0f63d9a8dedb63a5bbbaa50f077232 SHA512 38726c73deabf25e639f9887a0f3787e43109d9c788427664d138ced64d883133c68cc75a2373483c3f54abd13daef92e0ca8d243f545058f0c0c59f995a6763
+DIST github.com%2Fcockroachdb%2Flogtags%2F@v%2Fv0.0.0-20190617123548-eb05cc24525f.zip 10900 BLAKE2B ffa7b16838c7d8faa4145da4ff60a8e602988ce9722e69b79bf4ed0deb4180554849256083e0f09afd762572d73d1796b97b91bc5e399e2d1a59aaad6d6a96fb SHA512 6860441048d1edb1abcca59f89d5e6f27c3d4cb3895b5e127d7024267dad809fe4e3107c49df40b0fd96078653dc1ff219c7d0f3a4faf53a61a69100fab4a637
+DIST github.com%2Fcoreos%2Fbbolt%2F@v%2Fv1.3.2.mod 31 BLAKE2B 7bbb809c199d39bac173751c3dc21b23ee8b020f20b4447c33681469b5083c64e74f699fa8d3dd55446b76ed44fc0949337303a776efeed90a764af1d751c8a4 SHA512 12f6b0e7090b257656ee9068083207fdd1b6d9f0b27546cb5b3a5a520e5944f3eccb8f6dd644a17e1089bbf787fd26b3e83eb0f0353071c8c4ef23ca99bc6251
+DIST github.com%2Fcoreos%2Fetcd%2F@v%2Fv3.3.13+incompatible.mod 30 BLAKE2B d511bd14351d68fcde2b3be3f008373eb12d2c61133c80aa3a1938e53ffa061c0aa51065f07b208a073b448c25309c3b2d67c0ed19ad3697309a679fcb844414 SHA512 a986c2cac4728288aaf90667b54ffe9cbb9e1a55697347f9541e6aa0dbfc5b8d245c2ac15e8a9558d41862d98325f3f2f4055b02bcf1e9045b78bb3577b3f45f
+DIST github.com%2Fcoreos%2Fgo-semver%2F@v%2Fv0.3.0.mod 35 BLAKE2B 931ceb7bcae15a876b79910a59b0f4ec67ae8f0ac5fbd401e80233107e7683d9cc4a947548c4d08b26f2d47ad6bfe4916f99ffd2a98abe26e8161af87eb49c64 SHA512 58d88566898778823c24b5f4ff7ac50384075312e3eb332aa01233ada3ff385cd8a0e3b8727a77ecf068f13b52a304fbdb5f47a27957333dbd5a8fb1448956c2
+DIST github.com%2Fcoreos%2Fgo-semver%2F@v%2Fv0.3.0.zip 13848 BLAKE2B dc2ec3bf79baaafad410ac2b4625dbc1c520803659b480c2014ffef484d409135ea5d09035669457162457962dc6b3532a480893f399b876810fbc1adfdab8e2 SHA512 918009558869443193fed748b3cc807dbfc540967d60e0315c74c6a09324d7d783067e0f21c5461ebadcdec3c7e6417522565a00e33617af8a8168281a0040c3
+DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20190321100706-95778dfbb74e.mod 36 BLAKE2B bec7662666b7a5313f4b7ed0789ca75f07dcebed3b4498cced2b75b3622bc4c8c7d624066338fc6d77adea4b778c89f0a1218fad524c6804ef350deae2f24d68 SHA512 00ccb440abed145db781cbc7bc12695057b7dfa034c8ebd7ab1aaf5ea509fafc0be7147328dd9654e3fc2623bbbf91fd3992a86ff29e78bfa3e868d994b47e7d
+DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20190321100706-95778dfbb74e.zip 109838 BLAKE2B 82e02c44f4fa60aa7257b79e385af47e23508e260415f0f768e4f7aac6a5962c713488458a50f1bc98308446ee3f45de973d5240811dc5a113e5b9577f33bab3 SHA512 7acd6ca00d067e6a81fbb12697ae9d46fa9880834934065549bb23671153012a8596d4c7875705578ca58a259ff81b1165e45aa65c93406d2c324c61954ea4df
+DIST github.com%2Fcoreos%2Fgo-systemd%2Fv22%2F@v%2Fv22.3.2.mod 91 BLAKE2B 75d03e4a6fc970743c11a4a9d52dedc93f72b3dd3052c72cdd660af9df42b014f48ecd65961248e3b20f3e258d1ea36e058879a7039ea58441902ec5f339e382 SHA512 722430decd4f1022e8b035bcc7c1ed295db21a3c64f9dbdf409bd0442356664d378d4af37b7de828c02453014a5a9ddefb3397cbbbc8481c14179ecba9499a5a
+DIST github.com%2Fcoreos%2Fgo-systemd%2Fv22%2F@v%2Fv22.3.2.zip 120397 BLAKE2B b34e5bae7f632d263c866a599ed6eb9058636e8c69c972409497acb9e93ae0e5228899020c507d9041080ba8c57b8a8dd82cf74cc409edfb19ea5a3a2d6b6d4e SHA512 52b3913281e95bc58c31efab3112186e660ccd74b575f482ab6e830e7331aeec8b92778400259114816ba58648463f505de42c5aaf322a30184a8aec5a08b1e3
+DIST github.com%2Fcoreos%2Fpkg%2F@v%2Fv0.0.0-20180928190104-399ea9e2e55f.mod 29 BLAKE2B db9b03b0adf02e3b379eb06d67988a60f2e2034d1217e56b40ebafc1262cb4803500b73a3e697a5a73418615c84310bd7f7aeca6db56f6ddbcf6c044cce0e9f3 SHA512 ea629c85891049bdff24f75a4dbce34f048a9627fc126b44f497b3ae65602045ca4fe0856e1b3d7ba050bb867226b90c25912565867c696bc370697341681c33
+DIST github.com%2Fcpuguy83%2Fgo-md2man%2Fv2%2F@v%2Fv2.0.0-20190314233015-f79a8a8ca69d.mod 217 BLAKE2B 4232fdc22064d42e7b97efa666b5345f93d53d40ba11231778e5d17bc7d48c6178d27f4e8678d2139ba4e40a90d46a6caeab1a9696b76db5aa361fc17d3c8c93 SHA512 000449de8fe27ac12c5e7614bfb48a31d506b582ce2deaf0a0709d3673c9fad41e3b97e25df872609c5a190e899a56755d2d9f974a38523c51c9fa3af521d73d
+DIST github.com%2Fcpuguy83%2Fgo-md2man%2Fv2%2F@v%2Fv2.0.0.mod 217 BLAKE2B 4232fdc22064d42e7b97efa666b5345f93d53d40ba11231778e5d17bc7d48c6178d27f4e8678d2139ba4e40a90d46a6caeab1a9696b76db5aa361fc17d3c8c93 SHA512 000449de8fe27ac12c5e7614bfb48a31d506b582ce2deaf0a0709d3673c9fad41e3b97e25df872609c5a190e899a56755d2d9f974a38523c51c9fa3af521d73d
+DIST github.com%2Fcpuguy83%2Fgo-md2man%2Fv2%2F@v%2Fv2.0.0.zip 11426 BLAKE2B 645000d6293b81d736462fbd50a8f96483b39d07e5bb56e5a6d2fbef55a760499237f963e4b45eabe34b955280997f8218c656eb6db0a1a35093d2ab8f17cc63 SHA512 140a934e4d50fc1e5bb36bc3bfebc05863b32a50fbb6e203abb3aee1f9e9cd1c2af6ee5e0757f9d6199522c30e06377a3c94842d877513e5c9339ef7d1dcbc9c
+DIST github.com%2Fcreack%2Fpty%2F@v%2Fv1.1.11.mod 39 BLAKE2B 71e70b038748ac19649698b1c0e59af99ce0b1c5d7c9177e8c55751eea9e82d4828b27dabb17cc04978142c9fb7a54d90c062a7cc3fdbb86116034026e40baf6 SHA512 9cf1687520933d3d6bbec9d7c51472998d3bdbe1b3d2a7478fca80f9e7944f9040a2b8ec7d49f1458bd46a5121bae4810d314725add41efd413319a5006b944a
+DIST github.com%2Fcreack%2Fpty%2F@v%2Fv1.1.9.mod 39 BLAKE2B 71e70b038748ac19649698b1c0e59af99ce0b1c5d7c9177e8c55751eea9e82d4828b27dabb17cc04978142c9fb7a54d90c062a7cc3fdbb86116034026e40baf6 SHA512 9cf1687520933d3d6bbec9d7c51472998d3bdbe1b3d2a7478fca80f9e7944f9040a2b8ec7d49f1458bd46a5121bae4810d314725add41efd413319a5006b944a
+DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
+DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
+DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb
+DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv3.2.0+incompatible.mod 35 BLAKE2B ae3ae89fc373221646f196cb2112e003afec9206977905007426d522c584b455fa207f105eaa35cc716fae74d605fcc2a88c0ab5b62e4025b7a739749410fbd9 SHA512 4d46c1b3280c5b4984d22e57b0541cc6762853c0f6cea19a7a5f392c23039e29ca616a4bd8f283c2a35c3c045ec54716f5000cb4f0f43f07f0464c12ed1369ec
+DIST github.com%2Fdgryski%2Fgo-sip13%2F@v%2Fv0.0.0-20181026042036-e10d5fee7954.mod 35 BLAKE2B 8f9b63ec3e5f70db4f7f0185a03aee0608efdaf267377c48bc0e1aa6c37d431119d6e422c8e7c9bd93f0819796ca0aac423804ff0acdd49458265dc37e9d439e SHA512 2b6a3774801edff4f0b3fd40ae8e5396782e796e36b02b4d2f34e5dcce19d2f064a7a8d0787a9cb994b9208acf39b466f291525cf6f459ecd7c45d947dfba50e
+DIST github.com%2Fdustin%2Fgo-humanize%2F@v%2Fv1.0.0.mod 37 BLAKE2B f097ba062c5ae93b06edbf7827cc21a40d6bf6d2130c44fc8002344e860b3471742cf930e505a74a6a2af3a77a6dcc7d01b103d01f6f208c96dd9ca713c96344 SHA512 be96d9da23cc31932c1001e2ed367e55d06ccf2af41cc106e83b92fb866b61110d06ff224797c942b9ab6104bdcba4542f2214b9fb2d88df63e69be8158c6e2b
+DIST github.com%2Fdustin%2Fgo-humanize%2F@v%2Fv1.0.0.zip 26356 BLAKE2B 665fb778605fc05dc686b59a3ad82a6df9020017243cc84498e4113c7b18343507a0084cd67febc329fa6b44e675696f99f632cd282ead5bb06f93ff3bd50bea SHA512 88e19d0139de7de602272e14586a99eda26b2867ea60ef56b517d13b37c0d28b1ab62c05b2f9cf1a9b8dcc8e5afa9c915baf7a30b0f17c4fbd47d5c71d0a3965
+DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.0.mod 378 BLAKE2B 571b914afee85b0d13a567132dd40a80f60224e20685279cfaa1e5e875897c8e0fc94d7097992881495f4c0c090b27c87f6d95db0161e1064434ca0434ae06dd SHA512 f0135b61ef0638fe384c875786abbf8ed9a93836f6ed29d19a2e9a626cf6d6c6a252146352eb32298b826e93bb61b8c733f8a6aa683e5856ebec37cccc64ce58
+DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.1-0.20191026205805-5f8ba28d4473.mod 378 BLAKE2B 571b914afee85b0d13a567132dd40a80f60224e20685279cfaa1e5e875897c8e0fc94d7097992881495f4c0c090b27c87f6d95db0161e1064434ca0434ae06dd SHA512 f0135b61ef0638fe384c875786abbf8ed9a93836f6ed29d19a2e9a626cf6d6c6a252146352eb32298b826e93bb61b8c733f8a6aa683e5856ebec37cccc64ce58
+DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.4.mod 471 BLAKE2B bc51330df71ca612b3a573a93a8ebe57ef4e677157835221dfc5f7bcbada1fd90f7a6a3a002cbde08c6a95642477789d532ddc80e7ecae1f9e6e7c081364e970 SHA512 323c4b1c27bdc5bfb1795f1353d21ad6b7a2056bb0b364adab5960aabb7bea20ab3287ba60685df130abddbd66c3d82dc98a291aff1849dbce8c182c63c7b0bf
+DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.9-0.20201210154907-fd9021fe5dad.mod 543 BLAKE2B 35a7d739e1bc24c321c5732b27fcfc0bd4ef872610759ae867d08f2dea85e55b3f515698fc48299902703b7a8cff9658f30f855a6b472d4f4945f38101ee42d8 SHA512 b52cfc5fde9300a89cb4e59585c549582fbe75c33ca19fe06d1d8797216fdccee4f35a30fb794f37a16ac0a5d54dee0ce53fd938073b42b73cd96203b3819c61
+DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.9-0.20210217033140-668b12f5399d.mod 543 BLAKE2B 35a7d739e1bc24c321c5732b27fcfc0bd4ef872610759ae867d08f2dea85e55b3f515698fc48299902703b7a8cff9658f30f855a6b472d4f4945f38101ee42d8 SHA512 b52cfc5fde9300a89cb4e59585c549582fbe75c33ca19fe06d1d8797216fdccee4f35a30fb794f37a16ac0a5d54dee0ce53fd938073b42b73cd96203b3819c61
+DIST github.com%2Fenvoyproxy%2Fprotoc-gen-validate%2F@v%2Fv0.1.0.mod 49 BLAKE2B d910253a9c976078b790d134a9d75e53cbde427e7733ab9e09c9060b312a5749aa083fc48263501e3339a580cc409b5859dafb820a4465827e7fba4eaca31ecd SHA512 755a3d173d43e70ca40fde2d5ce16c405365da90ff595003ef64598c9b9734b7200fe07a16fd555e4209f83e5e17561d18227c46a5f25a41976ff7ac024cb9aa
+DIST github.com%2Fetcd-io%2Fgofail%2F@v%2Fv0.0.0-20190801230047-ad7f989257ca.mod 33 BLAKE2B e2d862747cffddd2d31ecd2975d44483f471d2690388ee362fd8d23979d2435291fa6a3cc3e74d247d4d90b10bd034d47bda73a44b2f9f2dde1f80333c5f9113 SHA512 8c2d922b5fd4c24a92fec8f5478ce95aad498f9039e890c803794684a74175f41b40b5fb60b0275e4feb1df6d932f891da950015202059f1df89fff8b8519478
+DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.7.0.mod 30 BLAKE2B cdd74965525563fa7e3db19aae87c777b2de65faeaf2987957ea3bb4c0c6a91ab82fe02bfeeab4d6f523214bc2e929628c082edb967d49309e75483ff4c3bb41 SHA512 2dfc66b2f6accb7ecaccc48cb3daa338173f4751d954cb2912025d881f17a7a2df0457b2d7420f2d93b50519a2437a763450c4d639a26b3289fce7bdec5bb144
+DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.7.0.zip 11987 BLAKE2B bb585868c568466b366c1c50762376d9e2b6f3d3ac287af94c45f7d348516d2e80ee96c6980a4b5fede40f1302f0e3e900e24aae16fec29801a795cb7e514dec SHA512 70f78081c04bdbb52e8f5d24b8926b39a28c4f069beaee0d7bf24be946f2b0ee3bc08d8ecc1305412623670e1767433a37d458df3fc849d244c63b6222f1f599
+DIST github.com%2Fform3tech-oss%2Fjwt-go%2F@v%2Fv3.2.3+incompatible.mod 39 BLAKE2B 03c2848adc48e404015826fc857d2a7b923efe39f2b11ec28e238ad2b06b0c5f4539f256443f91a116bc135923de7c4013a44285763b482d2baab5db1bdbefc8 SHA512 6c5546d979277d5488fb31eeb9fc33999dea631baec6902f937e19f4d65a23a2bb8620481c3ec69606eabd019be0096553097040bc778522b05f85ebc56bb787
+DIST github.com%2Fform3tech-oss%2Fjwt-go%2F@v%2Fv3.2.3+incompatible.zip 59518 BLAKE2B 84f0fae94cf0c3c9661d671782662babb1f21c5d27a7964330d7f97cfb6ca838afe7ee72de0254ee204b9ed2e115647a87b2810959126241eeb74bda1c066b44 SHA512 621eb4f8ca54e2bcf28aacabfdd3a5bcc842011348d03810dd7c59890e64f0429dd686c14f8a8e4d662bee266d187ed2d77afa9e864172fe3e2b129319d5dbfc
+DIST github.com%2Ffsnotify%2Ffsnotify%2F@v%2Fv1.4.7.mod 36 BLAKE2B 2b77fbdbb6c6c20767c120b390fbd2992bf79dcae0a35c27121a6e755233da3ecb7d74e74c38c0a2463976b546ed8bbfb8a8d8cb140526dd9a0c4f524cc131a4 SHA512 5749d33fb085d63b7c12f43df824c96f168323cf6d88cfea3e2536eeb7b56689dab9dddb8cde1ec8bc9c2848e7148b8a37abf8523a99c55ce10f896245c5f341
+DIST github.com%2Fgetsentry%2Fraven-go%2F@v%2Fv0.2.0.mod 37 BLAKE2B f12e861904648d4931055fc40635565ba64e9e43909af9b6a238105ee85b98a01fc31da46c6ad7b737162f88648d4efe30f428a7d253cdcef7c38e9ff3863d5d SHA512 b10d9112b673106e50e51a54496b9f82af44ded3ae88811eefafcc0c1908b7fc89a1512d438a04748147326beb28026e01ca3e4dc3e833be7cb3d2b49d98e81f
+DIST github.com%2Fgetsentry%2Fraven-go%2F@v%2Fv0.2.0.zip 26210 BLAKE2B e7d3ba9ba27946dcb3f7ac50b439849fcd56ddc1fc1bc9925892c6ab2c28b5a1a94aa3a8b940e6799f6f601bf6620efe0cae8c1dc4c89c8018c4637860b59672 SHA512 51752c4fc76e160d0a3c5a9efb627f15d16c9b9a005a93e7a5c44f374d18e932ca5219debcd89900225a3cc2bcfd5842c59195f5ad3d8217a5d35d19bd053fdf
+DIST github.com%2Fghodss%2Fyaml%2F@v%2Fv1.0.0.mod 30 BLAKE2B 6a680b6e14f0cbca536b1ca02d633e16b2010cee7f590088748339785b2989cb0f86a51fba709da938d4c10ec810d5fe022d7d1a5c269d5ece253a78a5b2069f SHA512 7ffc7a5c3e0b39831e590ce3402dbf5c95392e88a08576a16d9e1887b11400efa71a9d183d3f1e080081246f28a70262a679348f009f7da6bd41f253a60b0741
+DIST github.com%2Fgo-gl%2Fglfw%2F@v%2Fv0.0.0-20190409004039-e6da0acd62b1.mod 29 BLAKE2B 1cefa73995b3d0b4206aea263f55c672b675dd22d42c61a92f7380b6e726f2d7ea40e0a9e456181f34808f5386eae3c485bd2872857caf1824254fe4a55cb635 SHA512 a709c650da5d5f513e94891b88c26697826fafebc1ca964fb9544415637ca14e3b9f1f4ddcf738e28032e10a2d39b619678ec5c8d44cc0a1dff738c75645e2f8
+DIST github.com%2Fgo-kit%2Fkit%2F@v%2Fv0.8.0.mod 29 BLAKE2B e43df3e551bcfb1d4a4843ddf00f1a9432cf768420f49943ee2936fcf3e890e59734b71ecbfcb85a70212122df3f03582335e37ca7330df9e335214e75a849d6 SHA512 2ace9d4bc029947991eb7237e7343fa31c5192d63927de1701434c305a659cb88fdae12e9b604f06ab318f1c26b207821edbe11e8d9382a0447544b782630c6c
+DIST github.com%2Fgo-kit%2Fkit%2F@v%2Fv0.9.0.mod 29 BLAKE2B e43df3e551bcfb1d4a4843ddf00f1a9432cf768420f49943ee2936fcf3e890e59734b71ecbfcb85a70212122df3f03582335e37ca7330df9e335214e75a849d6 SHA512 2ace9d4bc029947991eb7237e7343fa31c5192d63927de1701434c305a659cb88fdae12e9b604f06ab318f1c26b207821edbe11e8d9382a0447544b782630c6c
+DIST github.com%2Fgo-kit%2Flog%2F@v%2Fv0.1.0.mod 121 BLAKE2B 6463ba6a856a7bb4efcd00a3369f6593b31b8ef39da4bb16ce1acd741c0808d2243ca7787c0a52d4653a5b402841159e97cd4b42e0f6172ad39429beb2b06993 SHA512 564f0a1b0318004a7ed478c8f3a371ea2f59efd56eb2efec4fc806183de1b4a065d5b44aab6dbd40446d28caf5a74545a7ff6a3d428b1b41cb6df5eefc11e5c3
+DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.3.0.mod 35 BLAKE2B 0868f712c026b68559846a28bd29f39f584603cd79e1189a9ad76909cce7423a811f71265baf5b7f381a33bee76917759a9cb6ac131ab21450b4b52558cb6190 SHA512 526b97ecd0ccf878c0ada56c5217405c34c59d4c9cb53808f98b24a2823c0b3f1a74e862b9b1a5594034e570aa6749574d5e49212d6d48724e984f528b8c67ea
+DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.4.0.mod 100 BLAKE2B 2558b7edc234429c8bc0926d347231c2352cbfe83d83bc3c7e76ed0ac4b3a843de65cc3e0dede3f0acb7a2dedc623584eff8cb236787c12d7f5a47c9e1c39145 SHA512 5782a5d5e5d4c64244a8463e0f15dfb97de4b60b9fed527ebbd8dc5a26999af8ad0b3ce0064da30182c757785ea9b35f253c5946b233fa3d9a61c873b23011c7
+DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.5.0.mod 44 BLAKE2B 0122d72cea88331beb9500849a0936a966e7a48abdd2e76363151bbb124e35481e7248fd896523eba3c51c5f4575dbc13304c2471477757c1eb2f8fb2eee9cc1 SHA512 bfebb8d865586729abcb0dcf4c19a8938f06f9b502c78bed92d01c18d1d037f7df44cc1a1fbd4ca094b1835b8aefbd48fb5988e2884656ca44be0aa83206aadd
+DIST github.com%2Fgo-stack%2Fstack%2F@v%2Fv1.8.0.mod 33 BLAKE2B 366a1ff397488b2b1c7e42db8a946bced1eb8d4260a6c177a978eb978e14f89265e7ac1d0bcd77905bc89eb35b68b3ebb028c0dfc67ff71395ab14b62335d16c SHA512 f3dc70dfcf086b785750d5b346ea07d0dc7903937bdbba58eace0fb903e656b02ddf3a1d49b486ac29b1cac9ca9d346e964d55d3a4cc5ee5ae79ac40b24d0cd0
+DIST github.com%2Fgodbus%2Fdbus%2Fv5%2F@v%2Fv5.0.4.mod 42 BLAKE2B 79541bfacd3378a6c6dbe9591309a80390444f2dc2419fb0137c723c6a2ec1e0588c00704ce3c19dc93297b19db89f79bfa09daa2632f6674e35e76819473cb0 SHA512 b9aad4f1c1d4f2c43b293b0c9ca8a600a37ca407ba8b22b0f826c8355828cb7860a96a85df84f720fe8aa2840974807ea7ea7b790790c6dafed794e761f1f26b
+DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.mod 32 BLAKE2B 939b72a591bc5fbb649c21a95b2c4b3f5d3ade273377f1f89407e55f436e7a863f15d708aabfc5435334500c8cb1e3ba057439c8ec81cfde68c1ec6794c6de6e SHA512 ab6c57ada3b0d1e36c91f3e0f45e573b91a4869f230f02a7e5e3e5a8f7e020bf56c63df1cbdc5b552ef9a4229ab739cf76df7f799091a2efa148ab9e5c12b1c5
+DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.2.1.mod 88 BLAKE2B 0699027ef7284edb7deb6a2640db52a5b93076e3250d42710bf02a1cd7d5f591f1d335ffb1e7e753dda5fe177837fad87a25bf69b03466bb545708fb2952fd7d SHA512 b91b25b4fe769a403fd7a1f82d7720bdb0526a349ffe7cfdfff09a2ba5e0015d5a3446cd8e0e5fe46479b7d2296a8616de38a8183c0185f84fcfc75d202db106
+DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.1.mod 139 BLAKE2B 0c793b0070acfae7ad92de8d8e177d6b9a2519d521bb397da4dc2610927374e4c010db6a4454783556edaabf64e585b00112aea05820874c49f9bb4c4f049fb4 SHA512 232bef55468d9ff66ef7f446d8096a44a0a947533c8665f0f018300b7ec1804a634299a1a6ab64deaa67f1475e9ef68e7be233dc72fb2d9173559800f01af142
+DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.2.mod 215 BLAKE2B 0077e3bcaad8a354f484c15844594107eb1a56d551e7ec55cd75e4594e50af02fe3850d9d212b0bc425da71c20bfd7dd470aa37be046b4eb88c28cb6bb63bb53 SHA512 8f928dfbe495a84c91744bf72527c5662422e608125f8b58908803289a39abfec1823d4628a52b987ab5150103ca588509ae0074fb08799d075e7ffc4157dc33
+DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.2.zip 2700673 BLAKE2B 84605b73500cebee7cae122f45003110ec3a50074d0649b9e7e1e25915b1c5e789017c628e8305523edb28d8f93733b9032f5b20a186b4cba4a38f90c0add6b6 SHA512 5d27fdbda403bc5ca722280af1fc331e48e45dc97d6e0b9f99f0d48d2d173292ae88904236f43851173528d0523fca86dc15a633dae218bbe05bc0fc22e1d477
+DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.mod 30 BLAKE2B 6dea6116bb7fb72123a93cc8b83dca5455b76591c7948524ffe664bf966780799c4d007154502922e21f688aef5148211db6b0e3dd3f6b545c4192f5bd5166a8 SHA512 3714d2a95d0435a113c36df5feb13f77a07a1514fdf6b5f01e6e8cc5d159067736e0065bad8062dc636fa5c52c98e3fea6985075005b2838bdf53e0b07093024
+DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20190129154638-5b532d6fd5ef.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
+DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20210331224755-41bb18bfe9da.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
+DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20210331224755-41bb18bfe9da.zip 39744 BLAKE2B b1bd8b2983e8b27709639e447fdcb2fa10c1f6602d90b06f03445e294dd3f243d8f0ed1715c569acaa7e8b9455b4c8f9fef55ea64b1e625c927d89ff863e2070 SHA512 52a3eade285f16ca743f29de8676a7ce7dfcfd4728d1f2fe1ab64d372082a621fa160520a31ca9bf231e32f650f4b7faeb91ec172c769022bd55dcfb0d7856b5
+DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.1.1.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
+DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.2.0.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
+DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.3.1.mod 93 BLAKE2B aa4bc48d8914434d540f570e6017b3572dc4b75563174e73ecce9f86460669a264389e1e24ce26cbe056a26865b3cee294457315034b6ae9779001b7306d91a3 SHA512 5dff0170dc085e1be63ce69886cb019b9df09a5678128b3b0a1b174756500f7d4bd62dc25ee7546977e298f719746ce951119908ff59463a79a1aec7a8882e32
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.3.mod 43 BLAKE2B 1985b508a7ca5fbf7283bfe42510dd54e1e409894b4bf404c918943c8bbc38a3682d00322514c8fef7d6528059fc547534bd956fb262f91fc63dfd6e97fe0bcd SHA512 17d97ea39719fd59908591504c8df288f5914243fcc43a2cd8cba6c2c50fd6f5315b17afa008f92ecdbda732d5447f848d31bbbfe59ef9bec78aaa3f25f51833
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.1.0.20200221234624-67d41d38c208.mod 151 BLAKE2B 9c1bc32114f742984396777149c3fad997bb47288dfe265614a1d17412ae3946581c2e60ff9ab87e784d71cfbe423b7ed1ea5864b6cd3f81f35e9103c8c08a00 SHA512 431b8d4756fe79e43cdc2f8478f3171ac9c90912222e50503301fc83d34c90001fb6ee0fee3bc05f66e47d657977395769e54efa0fb74ba35f34429cc0dac5c3
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.1.mod 151 BLAKE2B 260f1bb3e48b0bf9870ea3b725b13f84d2f18a12c6ca1275afcc2897bef547fcc1e893bd6b1efd46330bc1de66a00e3ef133a4418a50a075302aa3141abed8e5 SHA512 b6d7911148c590b3ce2a14a158cfbb94dd56dd402b3a4a2399adcd0421604f85d904244ddf5f8dba65326f04a7817d5652b30a306c65f44fd248ed269485a21c
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.2.mod 151 BLAKE2B efe8a8f8394f082a813ed4983158ada7bcd20f92f9f8b9b0d0e61e8dbb968b3c825432ae05d69c9b61a04ad57533c1e60438d9a1964312d4c9168f86864ba2d3 SHA512 2df7aaf6cb36a18165dc458a7b3f4158e2bce3bf10165418de401dd43e06d44378511dd4fea6530cb668a8ebb17b4c3f294ba35f5018e6aeb1b7b9082aac8a84
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.4.0.20200313231945-b860323f09d0.mod 154 BLAKE2B 8645404d124dde54c3e9c284b1243b1faf2124f2b7d6c5e6566ca600d3c965f7787f09f6825840f5e3ea6d36c016ef2c7fef10e8e12dce354593f7a8a3210a33 SHA512 4c9416c4777123a39b23b49ecf6265295fc3432de083a04dbefc87264b8c69f0d9e342ebb7e8e488f30c3efdc02951fd7dec23dfd1fef0802c8f0250f96612a8
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0.mod 124 BLAKE2B 4c032e7f2e1c8765cdd720690c1067c7c0ba1005bbfae01cd928bc60d96bd82321052fdb18a4ae12119144e34865cf910e306c5116e4f4f56cc5f70f5d52004e SHA512 acbd5afd399b3798d4b24529479b18523ae4009e21acde15a3893d2af75f9a6e65fcbd5a237423849003eb8903718eaa0b1aed9177c390972ab9490f3acc0d1f
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.1.mod 124 BLAKE2B 9e60030e0014cbc67c0bc7064eef3b127dec57dfe25bbf7f0d0e2b9c8c77e28477066daf073a6793428116419900e7c9f6dea6e8841a5f61812cf11ff77e7009 SHA512 14a0f1fed404939fad835398d5889ad57621edeb0e183785b3094957183bb29a2026e2af939b94c7155f8496e966116c4a6a2497fab113a175a9aef3f7ec3f32
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.2.mod 124 BLAKE2B 3242575be48f0e1f74e2d0976d2a11f0edccc59c7b74cecde37233c19f97c51e576cd3032175cfad3c1ce9721cd41053f459341182fba836e0ff0456126e493e SHA512 9586be76b697c6a5c3216762ac13a7d297372ebe0c7ac5941d16c326d1580c8a73fb475236ed9a4214d158a7386e761877be16cdbd4ac2074e8a5e1dfdc95b54
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.3.mod 124 BLAKE2B 3242575be48f0e1f74e2d0976d2a11f0edccc59c7b74cecde37233c19f97c51e576cd3032175cfad3c1ce9721cd41053f459341182fba836e0ff0456126e493e SHA512 9586be76b697c6a5c3216762ac13a7d297372ebe0c7ac5941d16c326d1580c8a73fb475236ed9a4214d158a7386e761877be16cdbd4ac2074e8a5e1dfdc95b54
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.5.0.mod 129 BLAKE2B 15d140a0b2b22d6c9886ee9e517f923fda26ee8179755702a8eebf1ae8cf75be48e8d28a1df1bf875a7bfd499075d83a541c9716601856abe0e7c850a3ec68fd SHA512 467a3f6fb4c941cd55d8d4b2d6a2015966c60a8614691539c88c4bf0da2f8022055be8561cddd0e60b118f74f010be5998dd128b7b136f14edd2674e5650db2a
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.5.1.mod 124 BLAKE2B 4f470777c8d8816c52e0fb82b2ef37d4e9879c46fa93e8e4fc87c46b85c36ee6b4b1ffea22db22af2946c0fd3a12affa9df706f13f2367b14bb1a72c737ddb66 SHA512 6b46c8a019e49c6ed2307e7bf633d4fa04627938bcdffec22da42f722aeceb35de8655b04f69eb651fbc662ac5554b54b393340bec3ef4cdd01be2d7f6d07eab
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.5.2.mod 192 BLAKE2B 08ac45ddd213c260f4b9d33fec4ba9758ce949c699e2d8d6c7b31bc0fbd7498618cd5144a6ccc3e1b852e9f1a6b7d00191ada7d464dd5784d132506c9a8639ce SHA512 44c996ad31bf02aec42bef934d7cd65379ae5eca4d1069dab8c478be169f9479cbd55f8f72bd9567e51535d31c9f65cd1d56bbefb8b745f96cad0f5953f8c420
+DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.5.2.zip 206858 BLAKE2B 42c113333104cf0335d16d24748ca111dc44a52b3c6ceb8e11388c85b8ac80c5c324ca9c6d90d08c07dc865909eed4510fb145153024890e4e160cde2b877269 SHA512 6df84a92489b04e55e35bb2334f7e9e55f4fac646e9ad904eca189d069443609fe1affc4cf5e92d0f90ea9c75162a72f134c6298f828608efe9a71b6e496eeb5
+DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv0.0.0-20180813153112-4030bb1f1f0c.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410
+DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.0.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410
+DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.1.mod 629 BLAKE2B 301265d55a1b721f15a6761e5fa5123266ef57f11adac54db2d55b14a89b40dce70b307411dd012ff946c215fecf8a3c2b5342512ed0e974501c177499b95b2a SHA512 b1f1c83260a976b4d1e79b029bdcf7813184e3f6d45b066400f329b099ab478ac54afcddce10b3e358a14ae8af48c7a1b56dd231388ece034b6092fd11cc44c7
+DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.1.zip 18241 BLAKE2B 3fad298fbe3af586c31506677c832e5b98afc31a1cf180af912cd65bc8f45ce9448a663867c1c172ef485be458b021ae5804daf974019a1ac1abb7a6af5ec16c SHA512 b82644edae6e2d95dcbc7a7575e5eff35765fae183459dc809f44f337826ed38cf84ebfd01f142b79e3cdecfa3c0b65f9ff83aa91fb33a1a0c7c0bf48d472c63
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.mod 32 BLAKE2B 7c7baa1e29b9806fb97e0d557200e8722f2d373e149127307efa285cdfedb36dd57355168554d1a1bada62144e6a6a00c4d3246aa9afc7d0ffae0f087459c552 SHA512 7229d917bb0c788b07297e1b09b8f7952f951998a56f17ea1f69ff7c2f565a5686b212f42f45c6b8351905d6740a2ec5a235e493daa531ae00cb709faf67ae45
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.1.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.4.0.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.5.0.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.5.4.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.5.5.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
+DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.5.5.zip 130974 BLAKE2B 6e4efb8abb584c3839c7b1ab80c8060c125b695bddddd44c57f72c0fbf9de85d40595ecff57f57ddb533e34dbe72a95e0e8043d91d462d68818699f194766e90 SHA512 9cff1690cb177e70b1d67ddd305e4317e3d1ef2825f5f3ed4639210f7f2ee6e89ff03970495757b922f16fade5fafae5cc14c8da2b95694faa3fa48c63f3313d
+DIST github.com%2Fgoogle%2Fgofuzz%2F@v%2Fv1.0.0.mod 41 BLAKE2B 32370943a480c13662a0847b33fadc7d7f909784d044619ae8b00f03c9f537115448140ef2ea1b47606dbc64d7593e07cc8f9b9000fc5382e4f1ae94ae4086e9 SHA512 3dcfdb76a938cf370310213720ca952c6aa99c8b1b96afe41eb05f1bff15df7d98d279509d921893c0c749337c83d4bf40613813e117c01205859a041716b2ee
+DIST github.com%2Fgoogle%2Fmartian%2F@v%2Fv2.1.0+incompatible.mod 33 BLAKE2B 694b57887cca857fe6950b0df444dc6e3d757dde540c1846ddcd4bb8f96a5eef3f469eaec30cf415541ff2f53acaafffbf4032189122875603d7e5e3dad2ef97 SHA512 cffb5dc1c6531ae9d5998b3a57ba14de5dd8631a36dd48975da07ce5ec052d97b6f632c5d30ab9ab695f178758837aae8a6344c67d57c7a39ca8e9243f8211df
+DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20181206194817-3ea8567a2e57.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9
+DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20190515194954-54271f7e092f.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9
+DIST github.com%2Fgoogle%2Frenameio%2F@v%2Fv0.1.0.mod 34 BLAKE2B 1eabef50b2977886d7980d7da197828b826c54018766418b3160f5cd512784635e5791a40cc4fb806d52f5ead99f941fae8037872d6cedfd6c851103f3be1a74 SHA512 a46cae976ce90d1cef802eeaa873c059cc9ec3678d5c3c304a9de45f44f20a24d68fa290cfdcf78c4ac222a6d619a005825de8f11e72b9a5af476a0b0180092b
+DIST github.com%2Fgoogle%2Fuuid%2F@v%2Fv1.1.2.mod 30 BLAKE2B 704029826c505198458e86463528ce2c1b209376f376b92d4f05a0f4094d161b45470d04ed3c1b5635397aca3126c25911299711139d794cca3e9b2bb373ee17 SHA512 695f3424e0cc247a069fbd6b94820554e003030eb0e208ba7be38f660c5fc29f74a057e60031ec77918b5b320913d6deabdf19a0f0666b0f5bc5e2724e1fddba
+DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.4.mod 88 BLAKE2B 840afaa28e8d5b816289e6556e114311f039b477e5ac86fc1c2ac80b1f8d7729ab6a83b99baa4c03de9634240481feb13900fd4049753b8de839656d6a7cef8f SHA512 31e50016a01fd485775368e2e430959278cb6c03ae6b1871b3d0c173fd43e91654ae87d1758c08daf897e55be8b4044bcb47fc072ec645d16e2594f345b46c73
+DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.5.mod 79 BLAKE2B 21f442637ef0be838858e192b563e158bf6ed1f7e06e09a3872fbcd613046b095c5209d9ccd9cc0853ef14947b6b70d4483675505d0905a1d2aab15e7bfdf80a SHA512 2af320b0514b032ee87a92d99d673579981571f325d0d46133e212a639eca274d5a6f8164a7256cfa6c063967b98ace36e637f53d90331903fd6e4a21f1a5a19
+DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.mod 36 BLAKE2B d7cd8f31950392cb5de7f4223ff9fe3257568dd0a1c1b81c8b97934ba92379753dc936c81c39e5b553e4101bc7c035ce81c8d669d85ed1d1eee41a74218f3d88 SHA512 35151946ce44fde9d3bde1d0626749ac4bc68cc448736c3b0f056f40a9ae30aef591db614b271df3eba3a96dbc94052ea5bf7ff68749ec980088d60361934771
+DIST github.com%2Fgorilla%2Fwebsocket%2F@v%2Fv1.4.2.mod 45 BLAKE2B 5f187c997ed74f2aab1da57c9a828be383e41f47905531da8babc1360612ba5d4cc0fc6cc48106647ffa450f334c7cc5f455bea7f6e6b9734f3e55734cf623c6 SHA512 81ef224435efb5cbd429dd4339e8410234855f4a268302a61d34e76c388e89ea22c97ae90d71a6ef910ca00d3178e40d3587eaf484112966050fbd1f1f4843ab
+DIST github.com%2Fgorilla%2Fwebsocket%2F@v%2Fv1.4.2.zip 79096 BLAKE2B dfe472a48935e77689778e60ac3379abac11b1fd632c35033f4ba19afc601175a26e38bcdcaecdc56250d1b90aaa2f7f499010040eccc49e477dc904202de4b7 SHA512 4506c31c8d95fadde5570686eff451f177ff4bcc80469a5bdba92b65afcfb2597d05f14ca724e8dd40b43b867ab9eef1f62d98d7afed6bf93cd33b689d646c3c
+DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-middleware%2F@v%2Fv1.0.0.mod 52 BLAKE2B 51b2a4332061cdef080fa53a14d29b65645776c1077922e6cc37f02db2ddaf924c0f2f71c2cca4586c582075c7cf76861161ccf39d11cf803482276b78321b15 SHA512 6e5556550286ca0fed117d3db2f43d6023d7f0e7625762ca76c773e410fe51d6092c6acb574db7578284188bbf79cb9050aab7000f09510338b24195ea395945
+DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-middleware%2F@v%2Fv1.3.0.mod 746 BLAKE2B 91753d65b726ac5bfc246b9b84783a9374369c8883cffc0f4a55379ce12332f6bd611f698334d5431f9f39386d076e0e4c02c1303c3e7268b4f4fbd89f8a072a SHA512 3554fb792cf0898b664445f00e1d93a7298e3a8bfef948686f13b915592715e447c3c7e1214d640a582ff0bd83ee5ef1113709c0cb202c218ba80a6534c4f7b1
+DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-middleware%2F@v%2Fv1.3.0.zip 166741 BLAKE2B dc31b1a683b3c7e1a34c79b2716a3c8bdd9acc625fe3fcb5656f07c12efa00ff83fd23f29c5834d00d200bb09a4aeca00bd082a06d76aac4d53a0800bca3c21e SHA512 8a95316e4e86e6406603124aba7daa8854798da59c0590309942ae545794cf011b2cb709161f9abd22432e3c0d669b45a91ce9bca5a1bca7080660d80edb4a21
+DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-prometheus%2F@v%2Fv1.2.0.mod 52 BLAKE2B 9e5de5c147fb3f100119fc7c290e9790af57892762b7ea8b2a8328c397432466ba56ee20b64ced6dc548d58bf8ef0ecb2e62a51de2524f90a0ff39921d0f2a3f SHA512 c9e15e4a4436ffdedfe5ece51858a45806d6fd77d2306c35eb986a866a3da5bec0d5d06ddba55a05ca45c8c29a51bc7c58150849b5dbde569a6810012f3ace4e
+DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-prometheus%2F@v%2Fv1.2.0.zip 35110 BLAKE2B 4ebd3cf0dc4580a53cbefe7a955cf05cb6d1d60a69951ea4e18eaaf108ce2cd5bfd0b2dc4bed62a12b48922f6f9dcdf1e598b77a946bfa0267314caea827286d SHA512 5c8e6beedefdf390a9eda76fd8d5042323e1c9a6306605ec7ca8b1612bc038a6cb0c02ca1093e0b6373a05ea64b7eb0c0bc62720a74b37d4ceb61564f4d46753
+DIST github.com%2Fgrpc-ecosystem%2Fgrpc-gateway%2F@v%2Fv1.16.0.mod 588 BLAKE2B b3d6657ba787034ed2a14fdb98a7dee43e3d9dbcf253558c588f9dc550b58a294db9022d548d48717ece007f20f52f5004ccec0fe92415120f9110ccad5c9288 SHA512 6d314f14132c60d5dc614c81746fa3492dc821c77f2c0cfa90dccb3dddd5dac671682cd842d9ec4b0d03aefe1da92e5bc2275e9bfa2bbce60e8bcb8ea6bdb173
+DIST github.com%2Fgrpc-ecosystem%2Fgrpc-gateway%2F@v%2Fv1.16.0.zip 685854 BLAKE2B 2de9f99bde4593ee24aeb819c12df9fe950a62e7e78428dfc18051012c5c3dd791da1e157a1e2f8c5f9367f2ba404ae8e5132071c1ab3bda1ce70cd1aab391de SHA512 0d0ee621079056418847820d55f794befc0eda9a9e569c06c9f099887e680be31683943dd4aa25813caff89e0e573c6d2ed3b27ee7c99cfaa381c34c0d1c1edc
+DIST github.com%2Fgrpc-ecosystem%2Fgrpc-gateway%2F@v%2Fv1.9.0.mod 661 BLAKE2B c7566b98c99bd43fb31dcd6de0086533bc499df099dbfc3c37aeba4996bbf46cf11b98e0c356ecebd0c7adbcabf4ab54fb31c41309287c26c083e78cd1639451 SHA512 35fbfcc2b6fb04830cf6d4966469ccf37e4b7593c8d8c5479dd2322722bb325b7f303ca836989c3ea96f862a4c85bae7863c415f94b72bb91742763ef08bcb49
+DIST github.com%2Fhashicorp%2Fconsul%2Fapi%2F@v%2Fv1.1.0.mod 449 BLAKE2B 1fbabe18b977c8e6283312fc1f8d8b35514104080a4880afd4445b92fa20af4db49ef3f7fe1da703d4237e6bd78902e64fcc7e9d4db85e84153c2bdbc6a6366b SHA512 a6d33e281b580e5a3461edadbf4e5ebe6aa74a8a929b9f0e96582592b24c85eea1ab202457f88f648018cf5991d267811132ec77255ab4886b6ccf958487d5eb
+DIST github.com%2Fhashicorp%2Fconsul%2Fsdk%2F@v%2Fv0.1.1.mod 220 BLAKE2B bfe2c5d746b4762c2a5e90ebf1db1e0489fae5f8de20cc1a16f4c9aaba016fc4500251efd3daa8a14b0a6145220b6e429ce1608cf11d7d69605c68fbcdddb684 SHA512 883151379f088d2645429c88fd2fc598b736fcee56feed40d05efe4540562d409cb54ec061b58d9dfd5f8a363bf3e5183af3a44cc669ce23ac7fc7b9f512950c
+DIST github.com%2Fhashicorp%2Ferrwrap%2F@v%2Fv1.0.0.mod 36 BLAKE2B e3101c1f32c24b5d5bd3de55b4f15645e7f0b338cdcfa00d30cc4c063bf4e9e31e68972979e8282d04920ffcb54f112c8c8f6e0e109824e56881a6a699cdf622 SHA512 2b68ca06311d8602f04eb738a68a24951a9187aa70018d938e549cf7b555bf54dadbda5825501436c52f6103bcd220ed170c99e4cf777187e2b997c87f05fb0d
+DIST github.com%2Fhashicorp%2Fgo-cleanhttp%2F@v%2Fv0.5.1.mod 41 BLAKE2B 927bedbe012a3bba2fb1363bf0157795f58be7dde5d303332f72ae6d7bd13775e9e1e034db821821857801b21b2366a92a28bcb84c00704a12925db0ce19a4e4 SHA512 302b6f472b54597aaeb4b43528098b5a5264acc97abf2228d8cb62bf32e6a29a7171ec6fb8898b494ffe837ee044e58f5596bff425214985aacd2b8b69934341
+DIST github.com%2Fhashicorp%2Fgo-immutable-radix%2F@v%2Fv1.0.0.mod 137 BLAKE2B ca790b5dd3ebd80c7fa24936acad0e033a7376302440c349d53debe64672d75703e83086fdaab607bb87dca35fe7640b2ed941069692dfc9ae37d4a256c7be3e SHA512 aadecf34782d4b40af684ef29e5e45f560d3593b52d5b6ac6b95664c02c04565fd29dc2d48bf1519091129b86856aec732fde408a8acdba41ff9a7ca12bab140
+DIST github.com%2Fhashicorp%2Fgo-msgpack%2F@v%2Fv0.5.3.mod 39 BLAKE2B c5b445c060258545233b5453482e0c739f815c1ff605b539610f3b0bdbadb6da88954c6a408084f171354256bb8521b528573f56080d4125f4fac474ff9bde83 SHA512 45b4424a023ea15d95167322e022269e32f7a718dbeaf192d0cee9f6bd136f5b4a26827d6d041a8103a95f622a0dc92123b32e6463254199893f360ad8680de0
+DIST github.com%2Fhashicorp%2Fgo-multierror%2F@v%2Fv1.0.0.mod 87 BLAKE2B 34587a565b583aac6338d7d23b4e7c2ce12deb6700e00bec711d3d8d829ef1ae356eb1b28873d5bc2a0d6ed249dd6095539a1dfd8c177bec32e08d97f4003620 SHA512 d47dfa43806a386eb74b60f692b3bc580997edb9d7feff6633992a5adbf94d102a238e036d828952e204960152c62895288af6f09e2582e8b1408d259fb834c0
+DIST github.com%2Fhashicorp%2Fgo-rootcerts%2F@v%2Fv1.0.0.mod 89 BLAKE2B 9e53a988f41eb9425cc2fe3051c0bbe67c65208e6988ae1b455450183c225739b540edb0e59cdd8d010c34e89c4e4acb70687c2bcb861d379443a5c36e261458 SHA512 3446ae69871561766d2b70963eccaf443edafd9328f0f58a97630fde61fa746e59d26ee5d833548a92711555656aa9c1f44bb9e241aa87e21f4424a1f10fbe1a
+DIST github.com%2Fhashicorp%2Fgo-sockaddr%2F@v%2Fv1.0.0.mod 40 BLAKE2B 211ec0a2a2a91bfe13a6ad5d7c6cac97497b62796053c633e945a51aa13dc946b6dee1adf040db0e270e1aeca614a43242673dfe44baf06034856d89a61b4030 SHA512 756eee5fa17dc2f37aa9bd623aa2ea86e6ca35a804da1b48067b08fcabd4083ebcca867bb3562453d17f517aa1e6aaec0143cf5776fdf3686ed562f11147293d
+DIST github.com%2Fhashicorp%2Fgo-syslog%2F@v%2Fv1.0.0.mod 38 BLAKE2B 9696a247ecfb868250995f7fde811a647e8b01d6f3a33996109c44aaa16bc85c0c70e9bc621857db7208f5ef49706cd3b2313f13b9e6f3327aebac20f72b4a8f SHA512 dec8c92389eca1dc304cce77cc70a3b51940f073581320117627c759edd5b523c379473179865f1e3e3f86deb9f323a5fff54951871053ed43293b0454182871
+DIST github.com%2Fhashicorp%2Fgo-uuid%2F@v%2Fv1.0.0.mod 36 BLAKE2B 8596defaedca9def85f29cb25a0ae25f8d2ec8eb64d64bd143a237d54d4d23b6851cad71a580667127188cc22d499be07628ce9c916dba946e7b189b612cfc76 SHA512 900755decba72d81cb348184648aa676c4a4c7359cc88ba3b41ebdd7691eeff401a41a495bdca7747e82274b3b2b61499b599e67b5c7369caaf766ea3e488d0e
+DIST github.com%2Fhashicorp%2Fgo-uuid%2F@v%2Fv1.0.1.mod 36 BLAKE2B 8596defaedca9def85f29cb25a0ae25f8d2ec8eb64d64bd143a237d54d4d23b6851cad71a580667127188cc22d499be07628ce9c916dba946e7b189b612cfc76 SHA512 900755decba72d81cb348184648aa676c4a4c7359cc88ba3b41ebdd7691eeff401a41a495bdca7747e82274b3b2b61499b599e67b5c7369caaf766ea3e488d0e
+DIST github.com%2Fhashicorp%2Fgo.net%2F@v%2Fv0.0.1.mod 35 BLAKE2B e084dc4953a472039fcdbfaceb0046f7af0cbe4078af4f2560457d8a47e3bf4654c725578f4f54ca1d41f48e37ff6bd1b3968e9b061773ce9fbda5fa5c50f17f SHA512 a36b4a70bb4b943055ad91fc4f754d55473b48f1e6330c9526e4a50dc4aba3b3462b787c71d7f2e863f78518e945ce15f9198a9bd0d6817146f92799733460f1
+DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.0.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
+DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
+DIST github.com%2Fhashicorp%2Fhcl%2F@v%2Fv1.0.0.mod 75 BLAKE2B a44a3c2185418f331e2648bdef36882414dbf8416884b8fd385b7e926c9b837d317322a433e7312e14c27eb095cbed26a74eec9822f0f063a2d14e753031f632 SHA512 045ed40015294ebd8f7a6df06b418415da8f091d09fb4d34fd70718bbf5ce9f49dca7399dc5649336de3fc83bbbd93e740ad6f62d41ea540fae3b17f349cd66b
+DIST github.com%2Fhashicorp%2Flogutils%2F@v%2Fv1.0.0.mod 37 BLAKE2B b9e2cfa29511ec268d1dc1e0d8a8eeeaf1c246c1cd828fe6c2618c2f7d313deb4456e5d35d60034825585430da755b96d25ee003028f55c1b2aebaee2fbda535 SHA512 82c9a364ab098ebb6f830753e089529036cb405aed375df5b55459b203a1d2d02299103925bcf4dff94bf4868e7005f114367e90fd2d24d5f1db3e0287628f66
+DIST github.com%2Fhashicorp%2Fmdns%2F@v%2Fv1.0.0.mod 376 BLAKE2B dd92d033685d65d1876a52156317b2f1196028c035f6ef039849df4066b93fc518e9f9c06a666b4fb1fb803d984266f57fd9eecd891e241bc50f8b54ed6a9952 SHA512 541dffe3beadcf5eeebe266671462e3827262ae700a146c4a08700b325018b183252650b50a7d4e539e872c0b6e5d7e35de4f1abdd955dcad51543ea6b22acc1
+DIST github.com%2Fhashicorp%2Fmemberlist%2F@v%2Fv0.1.3.mod 921 BLAKE2B df064db28a23bae411857c5abc0e9a0e4635556e51326db806eaa79008505c49b9ed1579a7db6f72a9cbd6128fc10cb858cdaac6d71725fa4b21b43526767c04 SHA512 8128789efce7912b540284205af308c33ab47af7dcbcb165c1d0a86e342b17bbc8dc5c8cd6d5c5e751c412b6b4b8e80bb6d2f3b4fadd813dc147301ec27c45b6
+DIST github.com%2Fhashicorp%2Fserf%2F@v%2Fv0.8.2.mod 774 BLAKE2B 3b47f3c78972eb538f84348d5e698a2e44d86d4f51316b8cf596be23433e91a763c24ea9463cea0f52476c656067ee4e254d5cb905464d7e32a6b69aaed0bb56 SHA512 7fb4f6b07a08973d6cf33be6f03356eb1b176d816955274a4aa1571b8965fc311ff0c832901fe9a716c5d5bb697e7c861c458ce618fd7d2d4eecb316b2efbbdd
+DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.mod 44 BLAKE2B 764581d416faa477a91695a42c68cef5638d019a1622fb3bcee976c1581e904995d33c79ffed1d3b805f660931ece844b3e17437f158f8b82ddae82e95f0358f SHA512 0c77200112d96f9cddf8cf7da0059204914b06a8c400e2e672443bd02a45d9ebb3274275c20e6e7ee0728992e77579d945b36de44ccbaab2ee92fd55f382f7ac
+DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.zip 3712 BLAKE2B f4f79741bb83862583f51f2ac5e80181eb0e9c2a4578df32f7e24eb98f4f548b99333e0e6a377e03ef701057b01e852e6b710ab885b65170c861bef556863da4 SHA512 e16bd414c1df566a12944e4a99ebd84d2103f0cb3bf8ec312e3de400f20b3eae27845db50672801c10474dbf1dc61d0c2e16e5dcd3c4447681c0b77f9114a411
+DIST github.com%2Fjonboulle%2Fclockwork%2F@v%2Fv0.1.0.mod 38 BLAKE2B 091e824ab9156af7978fe3aa6f61ae046588510903cf635ec166225395e40df6a1c715e4eb3c47aee849435eca3cc10db971a7c28acdae233eda85a4408c7520 SHA512 377d94cf7dd50f88b57ba829ded5169a6c41c5a304814660df0a3447d10860b87855f25cdb945a6e4de14c41281651330d4109c6dd6684c86fa4dbba27a3872d
+DIST github.com%2Fjonboulle%2Fclockwork%2F@v%2Fv0.2.2.mod 47 BLAKE2B 82b32db5fad59fe9737687b615cbf4308dda3e892b04b34369022f27141f03b55e2cf1f348a7c18f763d67eb6f2e445b89cd49c938b396584d88d2490b99c778 SHA512 fab84681255c85de89c3909b709a0d535c078ae87832eec2386b43a07d73a1913ae2801a658f7023c83907ab7d4b489c82f7a69f83ecf867f22e7a78b531fe5f
+DIST github.com%2Fjonboulle%2Fclockwork%2F@v%2Fv0.2.2.zip 12459 BLAKE2B 663f1cef77a317ea2a7a2318bf62ffb7f230ca2127a3e5c983d3aa92f48a269058f65d48f1dfc567153771946d4642af5d2be411e47a14afb69964332dbdfac1 SHA512 be5c859d29e9b7aeaa9e4933cd74f417528756bc667653158addbf7a79b72d4a3bc9c8a52592e07e868fa7be7f59388ca3031345cdc3962c9346584be7042169
+DIST github.com%2Fjpillora%2Fbackoff%2F@v%2Fv1.0.0.mod 44 BLAKE2B eb9ba00998f4a45590f7ab28d94adcda4e2b511ae7078f5583bfdcc792d34b6eded81b8c0f71ced35b782cd1bf344542673677915b44b9eb31873e9c5d69e133 SHA512 4d591cc0f2d11ba450f294361950972fe0dd71bdff5bb0c3e72b673cad6ea990335680bf7650093e1f9978bc8556a0ef9329ae2e8a14c10b7de668aead7afe33
+DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.10.mod 295 BLAKE2B c143c3fdf7abf77b2a2f55a66f8efff4f0e99478a89cd3cfaf50fb042e0da2fda5dd1e203c227597cc2caa7039f269daa48339701233a3e21f898eaa028ecc87 SHA512 395eb3069c417f996120ec06ea8d7a712f6d8915c7398da1f346c5bf5e0fde4492bae0ff3833f3316a41a28d23fc7c9c494db312da72d5cacdf52b2bb95da6ff
+DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.11.mod 295 BLAKE2B c143c3fdf7abf77b2a2f55a66f8efff4f0e99478a89cd3cfaf50fb042e0da2fda5dd1e203c227597cc2caa7039f269daa48339701233a3e21f898eaa028ecc87 SHA512 395eb3069c417f996120ec06ea8d7a712f6d8915c7398da1f346c5bf5e0fde4492bae0ff3833f3316a41a28d23fc7c9c494db312da72d5cacdf52b2bb95da6ff
+DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.11.zip 139812 BLAKE2B 508f9a7823b1b52f042ecfd5bf1f12abc59d3a1d059e6168c10f2e9f0bfe6692e2a3eab75fd061d961459a2b98ffe21d29230c0a0f29f3871a5f95310eef792b SHA512 f922b107c536ef5b737ac5555074c237e92046bf0a8754f062c3f2dd0ec04820e32474b5ae3d9b32ef8272800e21fcfb90c5225b8bb466f0022b4adf1d79e910
+DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.6.mod 35 BLAKE2B aa26eb3b67893fa913ea0f88bf22ac283c6cbac246683f41ede681940cb2e4437d033811fc12f2b47f9d94337dca9cdc926fbb5f044b2caed19c8e46a5879432 SHA512 e8bb59637bc1154ed648179314c4e20fa7f549353d094f4861e2fdfaeb70da1c1711c1159e78d82914a35b8ce184641937efd8808ffb1384136c7a6f3fbeb78c
+DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.0.0-20190106144839-af01ea7f8024.mod 43 BLAKE2B 02346f7c8a28f8d40ef233bc1fc6f3cee54a54bfd79b374ab7f3435039a5d9f7da5d7fb7824c618d25034cde1d355b503bddd76b804d610828a080ccb2707dc2 SHA512 801663d67d1aead6b01df89e329c8ca969a1f860b5ee2c2018094791060bf6e8cddac8e2d788ac823e32278d4e9ad1dbd72935e4da2cf6e65a34dc97f195ce7c
+DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.mod 29 BLAKE2B 8efd6f84dfcb696fa2ebf7b09c7405d57457dc67e03a2cc753cddd93698b1b03d84022f241c4b652dd80e0521b2b1ede8127fa15dd47d1f678a7fe1c31fafedc SHA512 3a397e0ee84d8d426eb5a1f39c07d608e0ed53b1d4b2fdbd137d23bf9f401840802d18d5203bc468fac76402c508bfebf49bb20869d8a715e44c49e21fd3da4f
+DIST github.com%2Fjulienschmidt%2Fhttprouter%2F@v%2Fv1.2.0.mod 43 BLAKE2B 2b7883d00bddf90261a91670917e335bf5c59101032ed3ef5ab6752eb4da25e8417071b1d0021441fd887158b519f4fca4b028b6ea52fe3ae9a41b84441c8c06 SHA512 60340233f2a0205ee4b1a7b2d78ed52d88fe5d39887413d0e62d6ed006c51eda83ac117454b0c1a31ab29c5aceae13810ec719dadc554d10480219c1afc3e5bc
+DIST github.com%2Fjulienschmidt%2Fhttprouter%2F@v%2Fv1.3.0.mod 51 BLAKE2B 2e102c58874af58833146011d2b9d64950522530e5bb51d643b06f98b258d7cb52efa2caa36a1fd4d39d4307a37712de7f22d45990ebab7a755b7cacedcc861f SHA512 e208321653fa4f40d2af68b6db37a368134e27463a45691a1642bfbe67186efa2a6fa41cddb3e443e465c7425d8d44cee8364953b39e1b08fc16b447431cecb3
+DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.1.0.mod 143 BLAKE2B 128f8934f81d0e497e1258ec65129fe5d8831b66058669a5aef3fdb2fbe5f6d8ab30bfe97a1de7befadd34aafd55d6d15bb787e8948fb7718761392817203874 SHA512 c5e546822036a7114a29454e28290f8e1082392a47a101fb1d370e0969fc2c83186b4487473f903dd638abb8a763ce3180dc87993906895a2df33db7d8bc4790
+DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.2.0.mod 98 BLAKE2B b9d3c55999054ed927f666a43066ccc6758a6c5f550651f43ad5d85b5403c882ee76ac2b2553803d71789da33c60ea41857ed545003072ab6c666dbb77118e00 SHA512 3529b37d770af511a716a612b7fd7fb6a4805d13166e3a6f9378950443f6eceb2f3d95db5a46027437ce55b36e571c75bba72a03769d21ecdc97888019d80a68
+DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.5.0.mod 107 BLAKE2B cd132ab287312d1ae53abd542a75e6bdd5cecdcd46c5311be91da88d54e1a114019440b12d71a9357851585672f440dc66eaf359a99b7682ce1bd4ee03869325 SHA512 302828b5c2b6eec77f4a2ed075cd8b721da8d62a8747883d4382d5674a7c82dcea01a7de664d15d5eeba7e35b9667347dceae9b4ec93858ed3acf8adee692967
+DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9
+DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
+DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.3.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
+DIST github.com%2Fkr%2Flogfmt%2F@v%2Fv0.0.0-20140226030751-b84e30acd515.mod 28 BLAKE2B fddd4b3cdef60f53bc3f8da5a3154d10b49dd180c12837d3740c22b442947cba2025649f3ac7321bcf0c73a272527659b0ccd9be141ddca13caa7594bf6ad3fe SHA512 3c623d077e39697506174a50c0380cb7787a05a52819b1a73c2f64ba8dd819fd500777de83c83d8d9e80f19c828128a569b4cd783667b4d6b9a375b0e3d527a7
+DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.mod 67 BLAKE2B 2e1b4a8a38998179a32db321d331db54f881770a89719410876cdde1799cb8558ca2862bc70838d606540606d05918c4b115cf1c125945a77ed376c2efc4aa85 SHA512 4d841fc7a022e4e09e0a95925ad92a75809a67c30fb88de9190e4a2196383038dab9a5b3294b6a0b4786248977a0e09eea857a34100cbf22f8a52912ce9fa58d
+DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.zip 11159 BLAKE2B c176e4bc9b5534b0df153e027f22be7d28eefbea1c0adab10979f19d601b95d300c54086b5ee388f453c73b9931339b9b04208fc5e6512385b348c49faff5488 SHA512 bad73f3c47f70de55a90a977a1e2b4a68de545a8425c71533de081c7a8f71d7ab1b489001c56ba2e88dcb78c08804275f7f8128c812f50d005a074ed6dd9286f
+DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.1.mod 25 BLAKE2B 63db8520df2f699bca5a7ccecc44ee04973307d86099cfe66ded30e2ca1bdd76fc3db48cfca0138673c20c6f94061caf219f018b21b9d67231fe959eef338596 SHA512 967fcdce835c12afbf3b12bb204a256f32d46a3da535e2a7250159f62781a163ee107dd2a4fa20743b76bbf52b97e627e11e895c8d5ef73aede37d6a89e326eb
+DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.mod 64 BLAKE2B 475c51201a379df2cc4ff8c5681b6a7a1524f60d0b8fd0853fef569dea754efabf3425cd4b84e8427db8a6cf3e9b1141d5050d48d5d429cc1ce82162aa70050c SHA512 11d2502a7d241a0edf4e67bcb651a890a12f49d00f8b944cc9eb8f6e9cf5fbb2b2827e696021649bc795ffa275e95ee700e4a1706e03e88fa9ae079f5b9f48ce
+DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.2.0.mod 68 BLAKE2B 91222794e2d517a33cb43bb9430e2e7b497ace820ab8c47dcde253226e54f08b922404df7ba7a2dc74555a059e95b81471dc36fc5b63b55e385004fd9a16d61f SHA512 9fbff125d97ce2c4b9b301021a987edbeb686b37927504df4e5c2f0ddbebc8ed28ee5152de7db2eceb0a0fc5728579823dc4145f36df9ba1961b9c2da1ac4461
+DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.2.0.zip 12607 BLAKE2B 40090e35e5bfb0f1570cc11a3d3c3b6f9c4d097ffadb161280ac4dda90e7b74fe3784dbd31a74be243a2a0d6f3f3273f24a0dcb07523c7db8975171327de25d5 SHA512 5fbe5884d311244c5250d4a1b249749a84fc6a50d4d5d6b3967a4bccb317ebb807917fe540f13fea788abd863d7d2f2537a40b57cf156a3f920b15cd8b365ac0
+DIST github.com%2Fmagiconair%2Fproperties%2F@v%2Fv1.8.1.mod 40 BLAKE2B b8e71ef21c42894c31d75cce0e7423b21e716de0539a8a7ff462e0d5c05c77795238598630208055ad808af2db8c56a997e7e114ef391c07d380b996ce533544 SHA512 8a724e5cfce28512549e7b06ec42c9e02625adfb3398fd45af07f8c512782002a262e8567669929626814758f9d12041c318bd4258f88d110a851630537bd5d1
+DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.mod 37 BLAKE2B 6bd675a05c0bb6f9dc12d09203d13de115801888cf8c02cb5d609f72d214b7e7ebf13a72ddfa2eb9172e9c2ba1f3e5a040f089a86ce9fe873d49288d5f7dc5a7 SHA512 3cc3ae26618b96a0fc076b18bab6f8f0f6a1064d6a9913c1015a9867fd3571d17f5d2867d72cec008e9bc7005883a596edb21424084f82ad5b572443de90f976
+DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.zip 10606 BLAKE2B d9aed996970ecc4828716e86ddbc85a7949f60ceacc7326708ce499bfc09250bc8ee336806b229a44064839e7ce34f5cb2a7607da5e82c417a737ea869f97f03 SHA512 dd1763a8d04540b3e579d397fa4888c4bd8c00c3963cfcd1fe42af7c1990ef85f9a2e2fd5c5f2c7d3e6817448df5e2237241ff5a2cda651b061cc8932e0afdca
+DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.3.mod 34 BLAKE2B 55253c2475bc0169df729915bc92689eaad2908ff7b9dd81b8a553bd75d5f866c308a85fd69d664d31b0d2d373d8d52ee1701677cbebb07e361612ab8cf17f2a SHA512 00c272b4652db259c46875641b29489ecada2602e38beede8c8bd529d73b6e123bff58f8e0f8cadd2d680a6a5485aadffa448e9445548abbd2fb424b059a31e1
+DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.3.zip 7014 BLAKE2B 077be89b06969ca8149b1f3838940633896f1da465e21a189809ca1efda41755d33c5f52b3c6dab971726c2d8044b169950198c62f3223cc01ff813f6439bcb4 SHA512 bb4845cfecd934818a6352ee9d9311d795e0c6e7f8af97da4676b9e2085154bd0175599f745e3cc30ddf123cc807ce50ca02d82fdb665b2582edb842c001a8f7
+DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.9.mod 45 BLAKE2B a7d3b1ffaf20b96cc98161ea6756d62d8380e7557859606dc7975b3de91a2d4142932d5008caf40b41d8ff2ac1ff33f672dbfac351f3e518922a036d7c116a93 SHA512 0cfd4101dd8ed90f80b7f4ce2928cd322b93855764abae65d66c5ff9888a7c8aec6ee6581c7f05d1c80db5c78003ee2afc8537fda8a3855e2349bfb8267aba61
+DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.9.zip 20005 BLAKE2B c0f71323efd262296b78867d2b387a74491cfae3f4498e0dd22c036b20dd6fc1b6569171eebf267effd140ec009527fa5ccbcedda4f8cebab2679582766331ea SHA512 fad08292597cbd4a359e06f85bc7cc37b3d3d84b8046e47828259e36872063069c4ab17b7c89f2a5de4b5d0ab1ca5cc66cc515847a7887339a3a04b5f44e3c92
+DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.mod 56 BLAKE2B 50d2d6dc9c1ee92d629af8c9aae9fe5f70a0c6fe270a95a8232cee3c50132ef90c68218ac64a3b5b72d94e23ecbea5f567fef39a81be3d4585bae3f4f5348545 SHA512 5235188477921a263176fefaffccdaca4bf8175a2e248356a06596e37fa868400203172c7fe9fb80d0a65d335d23d80edefd242657de0eb83d9360589e063bba
+DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.zip 44378 BLAKE2B 15ccda2b94bb024656859fb8a6968782b9a1bffb786b0b1ed69a3284b01f4a2100b3f3c46b6ebcb8f7febedb5bd4f6762fe333b7d4f1d14c700f8fce60843352 SHA512 e9349ee2a7d5e5b129ec6a1c0507854aebca82cf9ac2d0a681cac2f4630ea35551ede48e1931494362232a83dc9f26b6b4162c6114e0176084c50101b1da46b0
+DIST github.com%2Fmiekg%2Fdns%2F@v%2Fv1.0.14.mod 28 BLAKE2B 7846fb7a9c146e4b4cd0db250d3a84bca13c7c3b8292ba71215a041006c8ea39a36b88dac7749a9bba96dc463b499633591f6f19d43369067b0f4f46594b8ddc SHA512 4ce4d3df63fbdbfe3505816e81dc7e806554d79cfe0254ce8e0228bc16eafc014c98475c24f4a6e0c6efb6fa16e891e2e47c43c9ea10ce20a95dc69f686f6361
+DIST github.com%2Fmitchellh%2Fcli%2F@v%2Fv1.0.0.mod 416 BLAKE2B 845f9f6d79c8b18d4a070255eb93aac9afc50ad01593fc5c6076c59e4b5c09f34856b29ab24809a67fd10ffc5cc28908faff8358a52cc8885947c53622d6090d SHA512 7cbcae5e1749c55a0c3fa25b007035c0c44c8f982a37635735afb95c63a20ba019a51e74244c568a170b5a379ccb10cc8c9df716b6261d324755ea92c7f462f4
+DIST github.com%2Fmitchellh%2Fgo-homedir%2F@v%2Fv1.0.0.mod 39 BLAKE2B e28ca0cdd6db21c4b97e47151a6c11487314f26d5a259f9d7f5581f3d92648a57d931e1d6b004597f76cf10916fbe14728c99192e24b6da674de2cdc9cc4e78e SHA512 a2b7ed5a25e6dcab620357d5c216546bdb554edbc6fd927a0703e788d7e7a10a743471d10f5c7cc56ad829ab35c7272c61d210e55947363447832e924844e9ee
+DIST github.com%2Fmitchellh%2Fgo-homedir%2F@v%2Fv1.1.0.mod 39 BLAKE2B e28ca0cdd6db21c4b97e47151a6c11487314f26d5a259f9d7f5581f3d92648a57d931e1d6b004597f76cf10916fbe14728c99192e24b6da674de2cdc9cc4e78e SHA512 a2b7ed5a25e6dcab620357d5c216546bdb554edbc6fd927a0703e788d7e7a10a743471d10f5c7cc56ad829ab35c7272c61d210e55947363447832e924844e9ee
+DIST github.com%2Fmitchellh%2Fgo-testing-interface%2F@v%2Fv1.0.0.mod 49 BLAKE2B d388b11419bfd0c80b52fb3bb5a2600712364115efe7b40ac02ba2da11d40ca30dffac19646056a4aa754de05c490d1f68af4549bdd1fab7596dae593eada97d SHA512 3e334e248e9584b050eb81bd23071a8542185c64b5f112f46b82c6842d2b8707099403bbba1b8485d64cd62faaacab3fd52e868bb405ca6e6067034e66ffc51b
+DIST github.com%2Fmitchellh%2Fgox%2F@v%2Fv0.4.0.mod 32 BLAKE2B d511476a16a86c50db84dbacb40afb4b30ac3f72c4fd5a8b20fdd8bc6de1c46592bd16b24f77bd037dcb23ba86cd217fa740b59a784c6fff0fea1720d2045695 SHA512 451fbf9129c151784d97cfe6af29d27a277b6821411cfa5b23e6730ba0f5d5a830054eb6ed660dd2192c16abd54d5999be5b80e39bbac3499c3198311d01ec1f
+DIST github.com%2Fmitchellh%2Fiochan%2F@v%2Fv1.0.0.mod 35 BLAKE2B 0b603da65c4738d257fb759b8aa3971011ee721c1fc783663e1b26175335c6c90ad56eab45ddb6422e39dc0c6603e13ea64756f8a97bbfcc5e77845248b16a74 SHA512 2249854bef533dc77479041f9dc5610e14c549be1aac292a39b8b74b36c9fc42c04d211d8d5b71082c05971cc26a94a57751c3e61895050d41909270ee5123f3
+DIST github.com%2Fmitchellh%2Fmapstructure%2F@v%2Fv0.0.0-20160808181253-ca63d7c062ee.mod 41 BLAKE2B 291f73049327af60c94a2b2113b8e370f90d2a3fc7074c58ac523ce2a613ebada88ce048a73cf882c68ff552dd6df0be42f796f4ed11a549c0b7ca6c67f61c38 SHA512 7816e3703475601df65f20ad4e5d1f6bbedc4a7c87c594518358c1a9c24421aa5ccb6e8389ad983a514a823674c6f0f771f1f367b10d99691dbd8db7105ec44e
+DIST github.com%2Fmitchellh%2Fmapstructure%2F@v%2Fv1.1.2.mod 41 BLAKE2B 291f73049327af60c94a2b2113b8e370f90d2a3fc7074c58ac523ce2a613ebada88ce048a73cf882c68ff552dd6df0be42f796f4ed11a549c0b7ca6c67f61c38 SHA512 7816e3703475601df65f20ad4e5d1f6bbedc4a7c87c594518358c1a9c24421aa5ccb6e8389ad983a514a823674c6f0f771f1f367b10d99691dbd8db7105ec44e
+DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180228061459-e0a39a4cb421.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844
+DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180306012644-bacd9c7ef1dd.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844
+DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180306012644-bacd9c7ef1dd.zip 10936 BLAKE2B b045256d37d4973e88d0d9c6dbad7397160ddd7b3102ea8420f92be2e8c3ebf6362f350eff10b52fc7fb447d98b00f07c2bc1da3f6e442ebdb8e90103492c8c5 SHA512 e7986e7dfb362e346309cf77ee3969c2881056959e34db07d2dfa0e505106844b7424270d8f17f1a89d335071688e98b992ac81e8ffe0c98c8a0e3d145144d4c
+DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv0.0.0-20180701023420-4b7aa43c6742.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9
+DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv1.0.1.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9
+DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv1.0.1.zip 25694 BLAKE2B 59d0a645e3fc29e94a04fbed5329cfaf2162f5779f1c13bfe96c9d979c7acd1b356587b6e30760568607ea15d2088a76bb58e4504e17abf360f2702eb6e8c3c8 SHA512 8fb62179a48e212b74f0e8af79ee1c20479b1725c089c75a12b43bf4936caaf87d42b35f2b7a7de87c60e793347bb185486beb8061e588b8085ac354a3ef8562
+DIST github.com%2Fmwitkow%2Fgo-conntrack%2F@v%2Fv0.0.0-20161129095857-cc309e4a2223.mod 39 BLAKE2B 391eaf696f1a5c764f9e156ae3f6285ae5bf8a4abf2a735fd13fd1591f3bb97737502b79df093156305503ed4b63e0d458900e61fa8717f96ee17a6d43bc2f79 SHA512 9fccb6717f5b37cff2d858cc31f7e16aed120a67498c2f0d24aa30ffac4eba2e87822b12d62f700a0c62d7561708bab2e13e35e89cf5407cfb06a0de5c70808b
+DIST github.com%2Fmwitkow%2Fgo-conntrack%2F@v%2Fv0.0.0-20190716064945-2f068394615f.mod 39 BLAKE2B 391eaf696f1a5c764f9e156ae3f6285ae5bf8a4abf2a735fd13fd1591f3bb97737502b79df093156305503ed4b63e0d458900e61fa8717f96ee17a6d43bc2f79 SHA512 9fccb6717f5b37cff2d858cc31f7e16aed120a67498c2f0d24aa30ffac4eba2e87822b12d62f700a0c62d7561708bab2e13e35e89cf5407cfb06a0de5c70808b
+DIST github.com%2Foklog%2Fulid%2F@v%2Fv1.3.1.mod 29 BLAKE2B f74d75a495f683f4e9047201721611229ecddc37ed01b5d4b5d81a06220a6385f06d0f99e514bf19cc2030fbdba6de3a08fd38b750e6651a822b10bf69c45327 SHA512 b426d975637bd2b4dddc10d7c88b70f8b946201f311859f22520d53ae0a2d9911ab358460c089771f7900d7a8740bbc0c6d3814ab8f955108fc31b7b602ab5cf
+DIST github.com%2Folekukonko%2Ftablewriter%2F@v%2Fv0.0.5.mod 96 BLAKE2B 7014a0ac5adf29ba3e90a2ef7400121b655c47924fa0fffe686fdf4234b4e01fe92ba04e82b5153b63c8d20c8b466af03f0fd0975f5a9d6e8dc2f305e4712cef SHA512 79c65033c9ed8b95230cc1f11ae5f1684a3a0d48ca9c47bc33d46376b732be4d08a8b6d39788e388b86ec16e502e378fea4654424e81ab3fa372ff30e87bfdfb
+DIST github.com%2Folekukonko%2Ftablewriter%2F@v%2Fv0.0.5.zip 24933 BLAKE2B 930a6651270418384adf858856eb9b603a289230f1f6ffc65d0f816f7b20a8d7e1f5dd3c6bc27eea4369670da7e5e5b512fc966b0b6d06eb6735625a53c85eff SHA512 51ac6647cf44f5ba36d9209576dff1f2f133ec8b0a13a957e4642e3034b2d2b755de8ebf34a0c77f146b3f33044cc2f71a85e512690553e3a3bf311c2f46bae8
+DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.1.0.mod 45 BLAKE2B 7a7820ed255877b390c76ffd281258a8e70dbb2812b7d2d0bf63bb431e8e4f52faad48d4e6801b301ce35cd6dcd49ceac6ab94b32e35befe2e6df56e1a1e8eec SHA512 13b356ebfd062cecffa1e323aa7768d933c6915c2963eff50b1f743712d48cb24f137ba839a7df211e6e02979a4d1c9d32eec8194227edd995c3d35849edeb54
+DIST github.com%2Fpascaldekloe%2Fgoe%2F@v%2Fv0.0.0-20180627143212-57f6aae5913c.mod 35 BLAKE2B 3db6c40257f2c4b0254a26c6e414fdc87c037f6312d4bf7bbd39420d6df70f50eab84c387b54cc71fe16068e1b25e3fc63a833e11cf5b4346f842bc61328b0dc SHA512 0b378d1e15db4fc5a3d7d711b63dedefd141d607192344c8d1ab2ac755ab9c6e91b2c320378ac8a485cf94deee59e6628e7930017c6d659bead6ba89cd78a802
+DIST github.com%2Fpelletier%2Fgo-toml%2F@v%2Fv1.2.0.mod 36 BLAKE2B a388b7d0db7c8b9a589164ac639887f1e54d3f5d59ed9bfdbb427b88d381d95455cec1f3474d6dadf847925b7b0e9944a3713656f4870db4fadaa1774595c3f1 SHA512 b74e16c113ace53ce6b7a4df1fc73f21a5acdcf3d2343a4c4f1ad7a2cd8d2282ef7ede98de8c1c46f7d35feae28c9f49ba4a2dff1071357cb4e88e93f25b521d
+DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
+DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
+DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.9.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
+DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.9.1.zip 17866 BLAKE2B bb8d50b9e736f5f1e129482bd50f720b7dbe80935fcb6cfbec6d5a5f5ba5d5434476d66a362f12bedc304e89c9886d4868d310710aa100c357900a742d4ee341 SHA512 82b0ed1ceadd44a2871b56e733a118003b1bae9e38fe95251e0aa06a0a4c9b4940c485336fa11335974e0df536dcd0491ec1b2e545ecdddc7f9ce59771f86321
+DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902
+DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.zip 12433 BLAKE2B 0c911c9d173080abd8edbbab1f47222343801d8eeae36b4add24773e3282fc2a39283fdf519a3d4483e39cdb7d9509b8570d151f46841ac1a616f312dc4cb0ba SHA512 3b85697185ba85cdef6202444ab6cabeabfad8a03d66b3839a852586b1f91ddae7897a57c8c138d5647022aa44906c7ef3c5339d520f90eeea0742a935da8cf2
+DIST github.com%2Fposener%2Fcomplete%2F@v%2Fv1.1.1.mod 35 BLAKE2B 763a350270dbd9e5a8f735ded2a13c7bde23a356f8f4187b4fe430b1dbf995cc9ca2dad54a38e927c07ba01b5c21f8aadcce69b8a94baaafee013d4a9fd0c988 SHA512 79b29fa26101598261ce7406c81be4fa53d79e89a7bed072abcd572d7f35f3a408da45055f1b05c7ace8acdb0ac2ea005d79a4766e7657087ca46327ebce842c
+DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.1.mod 43 BLAKE2B 2bfedb841a10d8d6a861189203de74eb9bc6bc37bb10cdfc2404b1e972b7672568ed27d235e143d831cf2f840943c039398296cb78f1309f00d1ad9e0ce21056 SHA512 191cf6496c41b2b82c9a8f2ab2aeab63ede47807160f7cf746c548b3e92e367fc8f80ff8c6efbb7e91ca5903d5672b235c1ab9f14d3f9f988e8ff1c821d3b8bf
+DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.3.mod 379 BLAKE2B 6a6db2bee0b69257e5c4d37b1d5395693ba6a88bce129a580b8c0ac986a7702729ebfaec726caa3b6c4d2537bd62a7d728705dd0cc6f6d8b6c9a4460c9bb33e2 SHA512 fe6b74b26571ed4afb49f8f2c6745644cb7db7b5fe95138761c78effdd05d9948c09aded96218ca0cf9d8da6372705901048c14290a4faca56b1d05ca3d74130
+DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.0.0.mod 535 BLAKE2B a8d3fb22b519e88dcb6b6f305a80c94e8b40fba8bdc96941230b354cc6bd8ec4bfd121b8e5ee57e9883e0b01b6224ff22a55fa8434bee1623133cf59489e64d0 SHA512 1d3646f93821b2ff1a4d80074f773eca22ff3675caca9d267762a31c1ec719ab464ba7ade7c8e2aa79b16a4f35f5a64f779fd909060a0c3056f09af77cebd655
+DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.11.0.mod 468 BLAKE2B 4ac6ec5b71271218f33b753092c494ec6dd01e73373df68af2f399d8d8ba32de0f02150c1c5fdac8518ac244391f126cdac602c63ec862bff559d76015cc78f5 SHA512 9c6244491c9a3012c4a2e575cdb361f7fa577f391ced254adfd8d567c361f073ce23ddd57a0f18ec3327189cf97ad737254c0d0ef2872085af6af7bf9dec1d72
+DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.11.0.zip 240896 BLAKE2B 4745181476be50303fdf0e66ec147d643995c809a1fd969c846f656d453025f2cd67089f3065b41bede74bfcaa65e5307dd9541457ed7f7ace31b6b567e2e135 SHA512 20c4e6baf239cbc8c8a754ec1b9ee814ff29df1b41332f75f7440b27864bc28397071f3f4d60ba6ff4d0aa531b7a20857e11ecca93057784f76f03876151e8f8
+DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.7.1.mod 569 BLAKE2B 0c975c1c48f40792b02fd8756be3b6bc044ca05725ae179445a858baed4861011ba76051aa25fb10be23c6cf14738cb9cab928418be49d8ad85211d398089ec8 SHA512 6fe81bf3c591058f2ff968b3c6656766d9d3fd74c8577b3e7cfac17e463392eed3268248237d252c98751b2f97bc7c48a8db15bfc3fbcd4afbbaca0e2970819b
+DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20180712105110-5c3871d89910.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a
+DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
+DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
+DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.2.0.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
+DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.2.0.zip 13785 BLAKE2B 2cd44410ea7af88683792807b0f2c31b0943d8664a4be050f2e422095ef3674e6d42f4b9b6a76083e13bc9f44be1578cb06a7389b4a4b201b5a88e756b40193c SHA512 db2396362357b6d5e99b21bd4aa8d8dc193dd2676a8f437c62eafae849a56a53875bce7411d58ad78e4fe36445b72ee1a34360b174a23ca84de911f5df189354
+DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.0.0-20181113130724-41aa239b4cce.mod 36 BLAKE2B 39120b6af83d45857c990115ff52d8828278a9ce158b01621d8dcc517c23ff139532a2c2e53ec97616f0c65a2e0db3ede7c5fe59eb33be277e2c60650362b232 SHA512 1b262da0100655c3a56c0e551866491b81d2b88fd5fed9cc43a57bce3634c88c82c798ed1a823237011f6be68b5f0e1fe8284526cd68204851de30a44fc34fbf
+DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.10.0.mod 817 BLAKE2B b4cabfb93633359c6ac6dcd400484e6162bc6b609bf0edfc4a82a2cc0137edef114d0d3e9c55bc47d1abd906d9ac00f9d84f07ee7072452c570ba9f98118f4b2 SHA512 7e1b17c424c8ec889d0efb0f5a171043ac0fffb48725144836d8ac635c036e877e65f34f75055359747142051afd00374cec9e39911175adddca2c50fde4c893
+DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.26.0.mod 794 BLAKE2B 91c9bb4469ac63bd98bdd1ce4d2f2cf3a233f62f6c30b1da0b2a94eb1215a975f3a19cf066c6bc5847fd1a642da6082b8377825987ab5ba21620c2ed9ef26af4 SHA512 05a0bd8a7de559925fc5ba7753d9fc80db41271fedfcd0ca3137f9620c68468c0bfb706e0b4915151657c74a5d64f52a5594736e19fa1421aa65124f551f0ddf
+DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.26.0.zip 175437 BLAKE2B e86832a3d0eea09f43735d7b45ec2335200d530bad4981da1d7cb12939d284cd769dab8e85412482c3b58a778cc910de6f5492765ff9745ec9a03b8276440411 SHA512 979628ae2384dde963f40dca23a77bd12138dad2b8d7bdd261cba5951678cf9287c47c335d40d4e7b54b561cc3101fcbd6eb7d9b1d039dc603917dbc84c1c4ef
+DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.4.0.mod 1223 BLAKE2B 969e069f2e210c2863b54504d62dec9ca606c485612ab1c42249e623a4bbde4e4ad0b41da30f83594b7efb4d4a44e0a68a5faa8c115263d73738773c35a98dab SHA512 02db8fa79cd8368060c72ba3925624c779bcc9e39817b6ed86ba143024959496db2c23c1aefe93a5d9f22b48e742072382e2ccaab430c1c9eae6254184e2358f
+DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.4.1.mod 1223 BLAKE2B 969e069f2e210c2863b54504d62dec9ca606c485612ab1c42249e623a4bbde4e4ad0b41da30f83594b7efb4d4a44e0a68a5faa8c115263d73738773c35a98dab SHA512 02db8fa79cd8368060c72ba3925624c779bcc9e39817b6ed86ba143024959496db2c23c1aefe93a5d9f22b48e742072382e2ccaab430c1c9eae6254184e2358f
+DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20181005140218-185b4288413d.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
+DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20190507164030-5867b95ac084.mod 98 BLAKE2B 23576c142554e5a22a11d704cbff1bbaf1029518ceec7f04e22aa849763a7aa5e26ad1405a8cbc0d87097264a5fa7cfa3d655cad18148f5de6209a06580722d3 SHA512 0897ba1b7b4a32f206763327e138d3b460194097d19bedb8ee1bb6889b9d188afae9439178d1c2151fbe17b7d18545cd6cfebd050bade93cd39b435b35b6acdb
+DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.2.mod 98 BLAKE2B 23576c142554e5a22a11d704cbff1bbaf1029518ceec7f04e22aa849763a7aa5e26ad1405a8cbc0d87097264a5fa7cfa3d655cad18148f5de6209a06580722d3 SHA512 0897ba1b7b4a32f206763327e138d3b460194097d19bedb8ee1bb6889b9d188afae9439178d1c2151fbe17b7d18545cd6cfebd050bade93cd39b435b35b6acdb
+DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.1.3.mod 198 BLAKE2B 9b5c175c915db6a1fdf18f440acf348e395fd2059e1f44fb1fd556e7c2c6821cfa397f88d2123f681b41fe5c5689ebc58c7c75865ef63f7f1c61fd8d323d8117 SHA512 7a54bddb87350ba24423842fcf1cd8b031be427e9f689467503d8d6a876691b209a5d2ac33d848a977d2c3890284d816fe4f2fa9391642010c96c3c0d691efcb
+DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.6.0.mod 198 BLAKE2B 954749eeaffd58f7885eff94ed89b9c933b2506dce66db05c8aa640fc7e8ff21032d855776ad091c86d43b77bd9e2d1db3cfa7b176f2984ea66c4a49b4373d9c SHA512 539fdd264ff10a459bf00eefdfcd2d3d079426cbcce7c4ecd27e1191d6392e0451804bddd5a39f7279e3c91e63a40ed882ebe1bcce7e71913d6109b7b6ba403b
+DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.6.0.zip 282768 BLAKE2B 22c62ac51bb14578571aa93f0acdecb984ca370b4617122078b28b8ec5ab4ac8cbd6e986d60335d5f9848028f51f94d8fcdae3d8b428c8d3c8196d97cb2f04db SHA512 1b73a550dfdda98e41da9ace048b230ba05bfe7518cec7b5f877c11afa58bdf9d53ad25fa848e316fcb5b25ff6eabb0a2d2688c1cfbd9642a8670b72c3f90a92
+DIST github.com%2Fprometheus%2Ftsdb%2F@v%2Fv0.7.1.mod 1346 BLAKE2B a46e52b7acf7ff0783cc3c18a1320f66e02ab9c6879434dccc9fe182b4c7fe4594a0be504c45ee5958e1a42c781870ae754648f5bb5ef4cd45c42d78ba189ca7 SHA512 7463ee6ed6735cf101502b6c0128c75960c55d6f9e42f37531e65afc02fb35b62d882a72f95c2fd76f3d0e253e9e70a9a2df2ddf782f53c4138135b370b69d0a
+DIST github.com%2Frogpeppe%2Ffastuuid%2F@v%2Fv0.0.0-20150106093220-6724a57986af.mod 36 BLAKE2B 6faef3be0b5f137ecc89a7875bed1f576d144f11623905c04cc44f93812b80f3e5b56f05ddb3343848e7fde7fc439f49627f4fbd10730b1e9c2c9153a2d3067c SHA512 8cedf150caf05299c5b9f8b4fcaa17e4771c613fa06bac434586048ffee22ba9501e0fa540da90a3a24f3e4f662c9517571a23a0353fbb29c881d6d6c26d5f1d
+DIST github.com%2Frogpeppe%2Ffastuuid%2F@v%2Fv1.2.0.mod 45 BLAKE2B 6fe371f17a31bcd132ac67cb50052f6f3874c9f62e2d67f48d52d241026fd21e58ca9abdc15fd53cb949f79e7d40dd0c289af3849da3d4d9ff75b491e8235c10 SHA512 ea2e9a81d7720b4e11129fbdd4772be224b6e1267157c29b9d33813b6f4ae905e43c3840cf1ade6ff5f73bd22c103430a0bc882355c16715e124b442652cd4da
+DIST github.com%2Frogpeppe%2Fgo-internal%2F@v%2Fv1.3.0.mod 73 BLAKE2B 21e3545a4518c64daac1cf36e47a2c8e1fc8ab7402372f2e871052d0dd9d83fc2aa44babb2f8751180cb66dcd2af82ed202afbf5ad3a219c4562da23ae8ce185 SHA512 4fd07ae7c00bcc135cc10a0b34ab102a893ed8ea4708f9d38da52f98b09fb66144f970ffd8795476fd6625b25c9e48390a5b1c5c99bd0c8d536a94201dc96613
+DIST github.com%2Frussross%2Fblackfriday%2Fv2%2F@v%2Fv2.0.1.mod 42 BLAKE2B 23dbba19737db7327590adaf3988abb9b5548cb3f959a9746a3b745c51f3c1397f071f2573a413a088f58e32959a2210c2b5354c47c263e90ad2ff1506872a5d SHA512 ac376a387fa39fe35dc4d073d8becd74e79f52e9d36b0a6628740dfe0e7c1f4fb6533fc262212663b105afcaa104082e055fa87d20cb3068359faae6dcba7738
+DIST github.com%2Frussross%2Fblackfriday%2Fv2%2F@v%2Fv2.0.1.zip 110026 BLAKE2B 862c858d51e59569c38e1304de08c256752db260cde7f7f44fab41d22695999fe73483d3854166f4e8d3da9b4f8e41b7999d7e44510ab8c2ca6c0120173b77e3 SHA512 992df87104aa66dec048d39496c85819cab19bc890cb2c60326660d011642f49cd926b082d3eb4136b229a6e4893ed023a133e4bf83a4993c534b24e14d77b4d
+DIST github.com%2Fryanuber%2Fcolumnize%2F@v%2Fv0.0.0-20160712163229-9b3edd62028f.mod 37 BLAKE2B 6f0d51a83cccf661003d3c9a10b10fca12a5933730c676a4279c47a0b8563ae5d897845ac84079070bf47b32ea1c2ec80879b85bf8ac72b91f1a63239292758f SHA512 0af9557d073093339188a1d8f226798eccb05d43e1394ac9d207118ada9449332077161e2d6ba2327d9b736aafae79d4a08abad233ae9aca9917c677809ce2c7
+DIST github.com%2Fsean-%2Fseed%2F@v%2Fv0.0.0-20170313163322-e2103e2c3529.mod 29 BLAKE2B 8f509981164937fb0aab63b0344ddbf25c183b926a6e87400e745f6aee9dcc478f0ed455c62a9753722954acb3506be5f7810915a15d03647668e7bb707c09c0 SHA512 c7dc34c7a73c5899ca207c0cac88dd38ddebaffa04b5dd511a86dd10160e60be2806dfc6e079a5871b0cb6142f53d7d7dc87ddbe3fb19240bf894430feac5875
+DIST github.com%2Fshurcoo!l%2Fsanitized_anchor_name%2F@v%2Fv1.0.0.mod 49 BLAKE2B 47bc5235e81d233e28b446ec2403accc442b4cc1ee956a0b7d47b5dac2a525f22bba87d05c3fe09179837860655f27191e073a3f6d7d0dad81c9a750752fe5f8 SHA512 6f6b924c2a3af28ef4342cdf8b83b726f2c409accf19c6ba0a4a47c6ae61857e4b69727fceb9e9e16fb8ce660a7181952714d49b6cafaacb282fa4e8af6e13b3
+DIST github.com%2Fshurcoo!l%2Fsanitized_anchor_name%2F@v%2Fv1.0.0.zip 3399 BLAKE2B 348c2171bf3404d8b69166fd412707d8a348e1d808618036de2ae01fce77e3880fc782ef301f9b4135a19d81ca9ded5cc0cc4fd73d36b66b121b7f0baa73df51 SHA512 d02d5e4b8a24b1709c053138c4128d4bd6347d4adef95d1e25141935cf560fdcfd5c2b7837d6e690f175f1cd5a21b0279ce97b8b3b66d5e0a5006e4103b25f46
+DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.2.0.mod 393 BLAKE2B b9d712acd24d7a0605c74920733902a8eb1f9151fe0b0c575f01e2f821705ca7323f854c5b88d5bc534ccc9155571c083d4f53c6f6892879c829146bd95729f3 SHA512 c1621afd4618d1027b2d89a8e9653d18dabe098a7004b376ca2be63955ab783879540a890ab1324c2560dae9e6f3198dacc32d5fb0afd4b5a779d29a8c28f035
+DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.2.mod 337 BLAKE2B 94ce7d2e23281061ee0ac0b1be2f8c3439c86e62c56ecf556a81123d57d819b1e0e95ec3b7c6425f13abaaa1683942b7a3d0bb8ad489577284b2a6063c777b37 SHA512 38a79599dbd09661614d54fc92149fe581575b7833e89dd73a3f754fafa4bc549c6c9078753ab8e2a85ce2be3ab81e528e29b6d19e7c329e0cb0f74896d2e418
+DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.6.0.mod 301 BLAKE2B 5322be7914862368eba07f521c046dbd7580edafd47ac633116b8c9f4b61526d0d63df11ba6894223590a1ffcf4bf478c394a335c305010ca9fc18107d4e61b7 SHA512 8fe5a437a5f3f8c1ce0aff067ee261a946d946d7640aa5acf7c34b9c8c4ee65128a6421aa38bbb1feeba1339b356952ad58b4bad98f1c89ac455d94e86684a8c
+DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.7.0.mod 242 BLAKE2B 68986e3744d3ae593a16a24b6ce79876723d93cdf96c978c185b14e4fb8d73d379d4ba05e138b412973b465a76a98a458c6606137b0affdd085dbcf20851471e SHA512 ba06d3386a03812f2ce65f0597b932beb62b70b4da92974c5f5ed81c150fb71ce0285a2d9779ec8a40916870b0e4da5c2c8c5591c3687f3b8e829652a01ec1f6
+DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.7.0.zip 66939 BLAKE2B 20b3a98bf2aa70e3e1e923d1dab88b543c0a14377518497f960b5f89812f982cb09fe24158d117938c8b8f1da47ad29a330e82f5f952461cf4180fdf267aedd6 SHA512 5f7f556c264900b79a512f17005c7d3d3b1e5d26485002cfc828411e5b183b62d88cc4e3a4c0a352751ef9a561997903ea2ff4cbab419592afe0abd69977dfee
+DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.mod 43 BLAKE2B ea265a40bcaaba6e4401504643cb9bc2f775a23792b1802d6c1b665121c49db7d4d850ba03c31087fbd6f344b08349ce00a106e430c8690b8016c95318cf3973 SHA512 222b0edcf745e14eb775eac28668dfa0c52051cbf302ec441b58d75846fc2570a0fc2e616cbec68f6312a1648fd7e6997b6597b160b1a7f84c1c500a42e93e6d
+DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.mod 302 BLAKE2B 69fd290c3e72f4ee0597f480bae8647d80ab5c4acab21ac3ea19e847e3af4ac91a767876fac04c94c2db8bc782a24577d3478d3d0653f673609f2d57d6cc3427 SHA512 24806ff2cbf2719f50bb37cc5ffadeca1b64c7b089a1647695b45d647ddac16332504c7026813b4ab9316e53e755ad0ebbf6db9ca88179d0526ca2634e27e25f
+DIST github.com%2Fsoheilhy%2Fcmux%2F@v%2Fv0.1.4.mod 32 BLAKE2B cf220acb07f93b3927afcfb4211e356e17f28dbef71cfdf777366d8cd09440282cd23e7800c7e86949615b90ec60ad4f2601ef21e58d4470349913c348758b0a SHA512 def5f190323350b58be18ef9f1b00e4810987a37e1fa9332be62a638a01df7f070788c75a19a0c11949890ccbc395419de45bf9c5f7fb38fdbef56118c681d32
+DIST github.com%2Fsoheilhy%2Fcmux%2F@v%2Fv0.1.5.mod 102 BLAKE2B 437487bf75334bee113c97152964774acc961e5046807a28eb13a45886d61579182ca22a8b4cb29aea27604dfbca6d2fd16ec561c7b2ba59cd108821289af699 SHA512 761412f1b7047c5a737b2e930431fad9daf21cbcf40aafaec5879173c08779699f0072fa40357b427f8274aa68d9f31c466ce63b91a9d11f0cd2c115f76b1a4b
+DIST github.com%2Fsoheilhy%2Fcmux%2F@v%2Fv0.1.5.zip 23712 BLAKE2B 4726b92c206a75b20efe33ddbca7776b21c8d91c36f65e9ec7aec53a62b5831d8eccc5cb4cc2585ce24321034b652ae24c33e16b95729986f6907d0193586e53 SHA512 3587b3b4530120a27f3f8fbc0ced4625b523671995b1330b45066d3b74b5b24b715b9fabbd567341a8533e9c9a808f388c2581e72fa51f2087f9d20fc1ad57a4
+DIST github.com%2Fspaolacci%2Fmurmur3%2F@v%2Fv0.0.0-20180118202830-f09979ecbc72.mod 36 BLAKE2B 1ba81fe6a6b84ed40868e0fff431dc8485b912700c192d90181c22588345e7250af63160673c297129add94a41281d7f0ddca5733c2b32e20f65ca7c27046306 SHA512 d14779867dcbbe24d451e82ac72c823f80551cec89758ecd39c9e72fd75560694a0b8261726020b738ad4f447ce1093f910c12797c58b8dede38f6bc737b9a25
+DIST github.com%2Fspf13%2Fafero%2F@v%2Fv1.1.2.mod 30 BLAKE2B 9bf213acd16f9456f4a010a7c300a1fb7bf1ab248d1ac9eed7883deae7f9a6f6d0c761127b7b2c84e8dc46e7b0da2eecac9b334fd5a94d2995d56858d345edb9 SHA512 3166c898d741be502c0b733653cdca0e8ac4999fa6a5d67460b3962799287c9176b7f0243f0c0da394a4b7737ed1d1a6a2ee4f84a8917cf7076c774ba9a2a648
+DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.0.mod 175 BLAKE2B 9077c3a2c65f4025500a3215c440b1b3856e09f1543cad7ca6a37fe5b42d51af01c2032b905c72cce445807bb311ed461c4a5fd4fe680a81ac7a1c0d94759c67 SHA512 7a0a21f6a7564b3261bccc8b1e1cd39d5d1a95bd0dd3debea914b1d37b687fbacdaee5f1dd5f1f74e4da11664c12f7ee63b484d690cd79389423cb79ff38dee9
+DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv1.1.3.mod 265 BLAKE2B 22909466af108048bc272b0e67db40f6fcac375de02b29aaee7bc31153d73b2c1130faab8e27a82dba9b5930c789de1840468fe9eafaa8881cbee126b0c9df1d SHA512 17049e0eb9bab7ebe298bcc1fd3ffe0eebd40a7642c48f4e5c2447dc37a3099359d04dd929643497f25ed55a71d7ab6ad6bf0e75553afd4fc98616295745a25b
+DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv1.1.3.zip 190543 BLAKE2B 692f5c496466f8d914c1172446f3cb79b1ff9c9e08d7afe44d8af3fe1248b6c1b31fecca3fdd8343afc2b014535dc8e1d3f49a3c71f360d46933ee28002c4c40 SHA512 12bf06f87e15ee039ca148873a13f5944ac6aa6800999ccd5df5175a79fca03edf4672236e2c25ebfe1a28a0aca24d0f6965c8b040c09fb648650976baf8c305
+DIST github.com%2Fspf13%2Fjwalterweatherman%2F@v%2Fv1.0.0.mod 42 BLAKE2B 1f0af0f4518708edd09c0f02aec6103960b023a6bc178181276c54cd86b653e8bd1ddd60c5d49fa75a85f1fa0d18f670a9c2ead381da7c4f2d5e611b24f51ca9 SHA512 748b5648bf8bec4d1efe13f4dc37608e7378acc2a7d954e9d3b649a4b170a1e2d1c61338f6bee8d9007ad75a5bde87487612b47a692d6f966bca56490dcb834d
+DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.3.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc
+DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.5.mod 39 BLAKE2B c9d700f96874e0a3977c2ffc7fd321acfffd8081aaa70ca50421ca55253fbe0636d48eca8f7093df202861f0a5f908fa00303533232c83c78bdba84e2973bba7 SHA512 8071c316d33aff1d8ffcabaeb42e8f9320465d83600cb57ac5ef071569f948d5cfd69e1bd2e92855c061395c1b814e84d1705f42e37f00d5bc713b6e724f29f5
+DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.5.zip 88931 BLAKE2B 7adcdaa60d4a3fd99b0f3e7e6888178b0a8d141ebcc0166b12df4bd4566500929bc792c391d33201b1ce215b6ca8ebb578cfcabb027ba453a54986270f5e37a1 SHA512 9a81f0635ca8ac059c48a15cbf625a7c91513f95a9b402ba166d48ab72d5d38cbd941d5309446f5637bd7c23eef35b60fef2f06e8b557f415dd8409a6ddf43e9
+DIST github.com%2Fspf13%2Fviper%2F@v%2Fv1.7.0.mod 1694 BLAKE2B 195244bf4042b519551efc149dfbd9fe10ff87e5b2ffe6f9a2d3777516315db8b43968533ff089b257c10f94f99babd076ff0a7203a434a79ea5aa7e39eb9818 SHA512 9f614a57ccae909af00a67e464b04eb91a92eebf1c28de3809351363b441d22a4a6628a1902fde8b67956d0bdedd91423d20158eaa6b9cd994fb7e284a35e061
+DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
+DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.2.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.mod 154 BLAKE2B 60cd7801e7cd33746305cd636b048b25a86270ec3b29a21c3c078c7e95b769bce7e80c2c7c5474113786bd788c7f88f3719e34f02141038e0d161b36e32f39b9 SHA512 bb808fad059f5abd0171e4bdc724411eff2c7e8d303a4ffb3608a00e21bb3cfafe9e83b4b4e9bccd42c9a4331f67ddc6043e3dd5eaa9a122c86626eed43a8383
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.mod 179 BLAKE2B 3bb7cee3118f0d335ade107dfefc3a594dc3883564fe4c9e96d615e179d394a49a3d6cd6584ba9c684772bc3dc6479af6a168dd3841c03957252667384f6ba11 SHA512 243bf1f69c146252164ad72f853773dcc77f15d7c9e9b731bee26a95e7c8f4ce9ed9738db601b01edb82f4b3808873e1f153a6d4a0c97be0babbe65abc0f8d52
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.5.1.mod 188 BLAKE2B e47d78f037db3684a329905985b02b7ddf0a609ab4c69dd4346202ed0981712d54d0fa1b9c230b50d1857854edbbf77ee144d54b12c7c46833e6542d6034171e SHA512 70adf6a86dc6f934ee611f6aefa459f1287b7294297eb9221a747427d031b10c3e606696a656be4c2746a25480c322106099ea2bb360cbe782f4d03c85cd9fcb
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.7.0.mod 216 BLAKE2B c597010cf6690e73cd265e800f0f0bbea331fb76217457b6326f5a19481eca044aa5426fa32519870b2f0f4b3bed95768a23d3138dbcc9739b7cf7e044f50668 SHA512 197e6ef15edb27ded67ccfb636c252fe522f0930ff012341a4b593f25b5dd8282e4f658970931cfdeb8f2c5ee0b4ebac6738fe7634bf00896d12270fcbf4b31b
+DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.7.0.zip 105564 BLAKE2B 7b082ff11190ff27ce4a3de68896fffbbbf80ebdead7612aa3b06981171974ad2935bee7d5d71cb9ea29b110a82b3e04447248e7b9376e84c8f3f53d5001ae4b SHA512 be80972112f0a3907bde960637cb2c08d6ba4256ca27cfa07de5a0a8e523d0dfbd8e90ae593e5302d7351b7dbddecf69dc3985a9d19b96087732dd886eff371f
+DIST github.com%2Fsubosito%2Fgotenv%2F@v%2Fv1.2.0.mod 34 BLAKE2B 85a4e50642e7088ee26b82c69c65e1bb0396d4e8819088fbdf1d93a8348d7aab950630e3bba1747517d01e0cfb9a9dd1b95341df0722480bbecf18399ba84674 SHA512 50b858817db72f0615a74431c9966f969d12a85fccc3f0dde25a72fbda32f77f3ac76cba50b12fdfd87ed7a7b3a337a291b1f9c86e1fbde81d2d0c2890c1c21d
+DIST github.com%2Ftmc%2Fgrpc-websocket-proxy%2F@v%2Fv0.0.0-20190109142713-0ad062ec5ee5.mod 43 BLAKE2B a0f8fc8639040a1b7194a35a4020cff543111ee47a3b013163e93d14d42325146b1f6c2acfd595438721c4f6e80f9e5871811c058accbf06c6500bdfd9524004 SHA512 b3b02f5e9f8b68a93f531ce9bece44fbaa691f1527528555327c15b574ecee209ba7f6b713d8ae1f6b58b1416a9eb39546be646ef73b4328e79d8bdf605dcf9b
+DIST github.com%2Ftmc%2Fgrpc-websocket-proxy%2F@v%2Fv0.0.0-20201229170055-e5319fda7802.mod 43 BLAKE2B a0f8fc8639040a1b7194a35a4020cff543111ee47a3b013163e93d14d42325146b1f6c2acfd595438721c4f6e80f9e5871811c058accbf06c6500bdfd9524004 SHA512 b3b02f5e9f8b68a93f531ce9bece44fbaa691f1527528555327c15b574ecee209ba7f6b713d8ae1f6b58b1416a9eb39546be646ef73b4328e79d8bdf605dcf9b
+DIST github.com%2Ftmc%2Fgrpc-websocket-proxy%2F@v%2Fv0.0.0-20201229170055-e5319fda7802.zip 14190 BLAKE2B 977064b97a044fcfe3086306dcab8f6eac6e8d7458f5ae0cd6db9469e70be478c2207cef3e703d5bf3604c1e722f5e5f327323896b1a32f44a43b9bd9bc06749 SHA512 1950754e1fc01ec7f540f807ace45a022177e6170a41ff104d64d578cebe5da90af46bedd9a339eb7411def462e304161ce47ce060e803240b1cec3db89299dd
+DIST github.com%2Furfave%2Fcli%2F@v%2Fv1.22.4.mod 180 BLAKE2B 5d858ca40ba2af791726707bdab12d76aebc9f9c9ea79e49a6125308b079cb945d6ed06ca2425116f19604651eb56f29b3ec8d79fd9f38ed044e745c9b73ddb6 SHA512 b5431ec3fbdaf9efda016ea275ff597106916f5d5781b2ca82e075e42da98f6c5d34a00410fe65ac3a3e64b3ac0e1ab02e68579effc426ccc5ee19a583c44d2c
+DIST github.com%2Furfave%2Fcli%2F@v%2Fv1.22.4.zip 109532 BLAKE2B ff6116d5112581b9836cb8e441ca181192f397d29b465522694d14c262c204a021212f35b619cac9e7259570a31a7d3907f9e68b707683a388054d8ac6c4e6c1 SHA512 fa67796ec04ffbfce4a84d55de6ebec571240d2c7a0642b4d2d403545d8a5ae36b4426f14d3fdfc679ed770b3a2e70643392c3317bd40d2a47cee27da3ac33bb
+DIST github.com%2Fxiang90%2Fprobing%2F@v%2Fv0.0.0-20190116061207-43a291ad63a2.mod 34 BLAKE2B da6bd307f61b08eb749a0b2d9a9f445dfc057c8cafaa13f4a7c6d2d2324f7812c9c8269d9747cc21db9c3478f73558da05035b3f1ce9940f5c5befb16dcdd159 SHA512 b9773f617e5b48c6767051fc7dd2faa63a8a9d537ee42fb51efe6db5b3d24060dea0a264568bb5324915de8917a334f3563dc49d35651a4ee7c15042faad2964
+DIST github.com%2Fxiang90%2Fprobing%2F@v%2Fv0.0.0-20190116061207-43a291ad63a2.zip 5264 BLAKE2B f6d986c7f5fbb1960fa1b62a5722d426c3ab79d865cb179bb9bca5a213bb2008a3cf4edb59dba1a336928cb0bd05d31f7083f394cec09270e66b55cd4a045b37 SHA512 2a8e1f10d10e4479568374b9e51b1b8dbbf1077d8af413d7dcd254ba1dc1cd38ee19e75a4661a4e237d3662e51cbcf96a08bc69a2e5beaf34a2559fcfb9d653c
+DIST github.com%2Fyuin%2Fgoldmark%2F@v%2Fv1.1.27.mod 41 BLAKE2B 44917ea3a6fc533933ccd76d1594e19246c682d96311e030eeeeaeac3c126f6cd2c2de67ca410c89738918c5ab0594f1e9b2c2202c48f462c368ad31fb5feff6 SHA512 b7d81f5cbf1b55ebebcbb86ae89899ffec6fcd730144f1719947a76080f587d298d0e37a073a8768d7768ef64fc47b1673104335203a32a557f31e42a4e5a950
+DIST github.com%2Fyuin%2Fgoldmark%2F@v%2Fv1.2.1.mod 41 BLAKE2B 44917ea3a6fc533933ccd76d1594e19246c682d96311e030eeeeaeac3c126f6cd2c2de67ca410c89738918c5ab0594f1e9b2c2202c48f462c368ad31fb5feff6 SHA512 b7d81f5cbf1b55ebebcbb86ae89899ffec6fcd730144f1719947a76080f587d298d0e37a073a8768d7768ef64fc47b1673104335203a32a557f31e42a4e5a950
+DIST github.com%2Fyuin%2Fgoldmark%2F@v%2Fv1.3.5.mod 41 BLAKE2B d7c63b68781b147d3baf10d81bce0539aaf0a046a70cd91958b59541dfb35107e01a73937b19de74504f42fe49983b46985a9635c45239e4d7a3e2cca2b85f72 SHA512 a6233a0864081261d4b9cda2d73cf37b236acada8f5fbc85b7b7978ccfbc3bd2949632f2fb67a7ba9db6eb43b41796df54460728379e0172082922820d6143a7
+DIST go.etcd.io%2Fbbolt%2F@v%2Fv1.3.2.mod 24 BLAKE2B f23f0532ce6fece605e76cd16e5f9a1fbf40657f26b2aa6a135bf300a232ffe8eaa9161f93d2845312b10ccb6dd5c4cfea40a2256b6481787ce9ddca7555b0fc SHA512 8988baa04517a19f905b323768f98690b19ce302d54da4648bf72baa2766c8ea8362efaf1c8dd2f02a82fb9c76e72f32373fd04cf48ff133804b6b251bd48529
+DIST go.etcd.io%2Fbbolt%2F@v%2Fv1.3.6.mod 94 BLAKE2B 097619943e3530007d2f8f9798cdbac483ba077b239096303e4ff7637459e7cb6d28c7a98d893d52e6686ecbcf3fa8900fe8ce46fc16b9061c1f4b0011ede3ea SHA512 d8a4fceaca0875493f0788147e464f36a1a1b9806376318fe88f8b0091ea3ae4bd5ec141ccc7c8bb86d88f34f25a36d2061dbc24d0346a9d68c1fbe45173fdde
+DIST go.etcd.io%2Fbbolt%2F@v%2Fv1.3.6.zip 118439 BLAKE2B 8cabb2171e4dc3f7587d6c2d7d56390dcc6ae14cd5cdc84b9b59afa8deabdff025c03090a8b86f3a45287b9e8eb51855076d7fe1fa6eaacbd434282aef81627a SHA512 2e71f7b8606ae949fb9f3287b76dcbc02c5273a44568bdb9b750c381dc1284ed9c4887fdcec652f572eb0e7066e4592a3bb9aa17117b039dfb65355033a0d54e
+DIST go.opencensus.io%2F@v%2Fv0.21.0.mod 305 BLAKE2B 73735106ac582b2e9d5f0d739412c3396e0df8627a6adbe810ac560998e4cf2eda12e449b6e336dd6b433eaf57c885b4a927359d0bc1bd6eba9432bb0793c35d SHA512 448e90223b8d67e4d5e4b150055ac83eacf9ef48aa34036c2e59559f21443f796e721df3c0395a829bf5d10d229cdc7beb956c8f90273e50f0989e45a82aace8
+DIST go.opencensus.io%2F@v%2Fv0.22.0.mod 408 BLAKE2B c96dc637d392594cdf710b9542b90504fb090392662ab45208d45abe2cbaac5b64e55f2f62d1afe5542d2747abef1eedfcff97cfc48d6e0649c23b9b8293f7e5 SHA512 823e1ca3a9adedb1a98f5ac900e190bd51480686872bd901cc20a394cf03be6c8fd69cfe7343e42cb6f9d3500282a8097b6c32376aeb3e92bf0b1ce3e75872d1
+DIST go.opentelemetry.io%2Fcontrib%2F@v%2Fv0.20.0.mod 44 BLAKE2B a52ef031b2b9283ad316c95ccaf3958a369fe3d07c90cc54e28718f824fb0df687588be003bbc03149ac9ae4dcbd931be08f1e49d7504a10cc3b04be9473e3fd SHA512 2aeb2810ba46082ee859e3928d6117196accf750332c2b2e5f9e572e44845221e90b714f270786a46e8e34a1b4f6fbe053b63c21a9996b6dc5680669cc68a99f
+DIST go.opentelemetry.io%2Fcontrib%2F@v%2Fv0.20.0.zip 31129 BLAKE2B b2fa4255f50670c47c49644aae18488724ec855937dc13770dc69602164d5d907c0cb36f617965fc8ea864788f07c3cd76ceb2d155eeeaf6b5fa49b0e7ace8ec SHA512 b6b38dcefbf9b47d5a37540dc106969f4dea913a258a2d015cd1c7bc43b1f7289ad1f8512148a34837e9539739efe57a9cfeb723ed3ab0fba7b8afb6b6ebb2ff
+DIST go.opentelemetry.io%2Fcontrib%2Finstrumentation%2Fgoogle.golang.org%2Fgrpc%2Fotelgrpc%2F@v%2Fv0.20.0.mod 443 BLAKE2B dd18627161ac6a1840d7264f79ed7bd42d8cd28c9761839032ce2e1f72ae3381acab73da7a3063f9c8a6e2da13cda99ba1d8d06e312cee2d7a3a9c72be358674 SHA512 c375129bd65f22e9f24e52be6cafcaec52319a6d0811a9af7452a3d1ea143f351db541afca8026171d01c595b46eb37efc09e3423e7ccf43de3e9c1ff32c1117
+DIST go.opentelemetry.io%2Fcontrib%2Finstrumentation%2Fgoogle.golang.org%2Fgrpc%2Fotelgrpc%2F@v%2Fv0.20.0.zip 24107 BLAKE2B 07b25cbdb1c9680b37197037c1024aef34a99ce8b63078c965f8160deae5d1bddc89c519826b1875fcc85ce13b8c4373d31bed3a3595aa61de1e6726f14fb8ec SHA512 bc359a39ce84edc3ceb7b743c5a49890374d24f1955a979578fc7ffc1b6572e5b3d57626d9c33f996fd7bd3bdc88cd550270caa1e41ce4e6874b9f697b6fc348
+DIST go.opentelemetry.io%2Fotel%2F@v%2Fv0.20.0.mod 1800 BLAKE2B e2005eaddd67d04b79f8295f1bf4d0018106f36cfe8a697a23ee1ac6767faad43b48a87b8fd0412c813139977f7188db008bd0c278fcfc0aa1000d5260487ae0 SHA512 0c44b58671f37f097def825346d69f0f0288e81926075b4fdb970e74757e333d22a8f552657ecbb152145e27277aeeaeeb2d09122de5fb1d1e284b1e93e68bed
+DIST go.opentelemetry.io%2Fotel%2F@v%2Fv0.20.0.zip 171776 BLAKE2B b1540b229942993a2d5848fc72023c3b6ca7be44258674d82ea427dfe40b9495afddfc70e4c3a2d062565d921a086438aedc35c42bec9185f29680e5cd355155 SHA512 95680313994d81ea8d92fb6e5b087aa136234fe2fa9c483ff9f382a34eb94498c5092fc49661e7212be7339d077ea9753f07c5e6cffca0c7a9f3b65516372de4
+DIST go.opentelemetry.io%2Fotel%2Fexporters%2Fotlp%2F@v%2Fv0.20.0.mod 2062 BLAKE2B 446cef219447a1bf7da98f287595f5c1896ace21bcf84df7cea23519e4e04a47b61803278955b5a27ee4800ac73cae159078e84df909b7cffc04c99153542cd8 SHA512 a70147113108c327fc4fd41f64639aa6071c399d0e2690e74c369537add86dc3e6fce69c6add549b9fba88fd05d14bd47738bfe3f29d9780b3b4b7bb68ce2812
+DIST go.opentelemetry.io%2Fotel%2Fexporters%2Fotlp%2F@v%2Fv0.20.0.zip 93655 BLAKE2B 8b76d9250c68acee2e5ee26a11bc3ce99da06289a6706d38c98407bcff0b042d77d3b605c80e346def2d4f3d9486a824413c640ea7e610da91f952f051243cda SHA512 8782c496c66ce9efe398924875fe918c6a1868539e7dc8aadca1cd20b62b90f9aee08ca80162c2044ec8bbd3eaa3b0a0e302ac17861393b40024a34baf1bbea4
+DIST go.opentelemetry.io%2Fotel%2Fmetric%2F@v%2Fv0.20.0.mod 1775 BLAKE2B 1d218c7e1adf5e04b19fe3447d1dd7da1da15cc71b3e9294d7a51e0397265b64857ca8d32c6ebc3b61d82a0614ad371bd46d812569dd378508b9a1a61363981f SHA512 34f8d2fc9d8032e6548ca24f7680e8dcb0d528ee183cce383cfc23d4f1b643f52ca4ef624e34dd04cfd37cc9d7fb784a36e09bcc171cdfdc13aa5208951a9350
+DIST go.opentelemetry.io%2Fotel%2Fmetric%2F@v%2Fv0.20.0.zip 35718 BLAKE2B 351b3220ee70c388e75cc861141d0241c6f62820c922d4804d35d251319750b82681c021963b5da54198c4400fdc61514f1b30c4c08f3cfa7b3b11f99246a824 SHA512 d6ea1e3ac0fbbce6dca5ef7f4347d4e425cc8697ca280811004b80b933b124d11f32a754ea1539bae36b04e3ac206b263ed5a0fa9df04ea7cbda6d7625875049
+DIST go.opentelemetry.io%2Fotel%2Foteltest%2F@v%2Fv0.20.0.mod 1744 BLAKE2B f053ca414f157096060ae3a07ac0d7f4723b716db892692152036f397d113dff46d43ca2b39679337bb47d48ffcfd6fbe3a49a8c63774383ce3518cba5854057 SHA512 cd84eadbecf933ea3f0785d4a604e5724d95deff0a152fb66a48ec38203f640da45780fdc86cb61d2cb8b996c9596e20fab92d6f54acb4f7fd22bad2354b0c41
+DIST go.opentelemetry.io%2Fotel%2Foteltest%2F@v%2Fv0.20.0.zip 27684 BLAKE2B 6c08e07d96e8d817eabc719c26b3d610a653284f5d8919ea81f73121fdd5eccdfaae5d5736a5e266e16297b5731b6c05c89fa970ec9bb9dcde89e5930bc92898 SHA512 0213e9fd8f5141e3a2d0d8dd58e299050724bc1ef7623d62e7a92f2ada2d34738c8169289ecd03351f743d3de7aaba7ad1280a2d9d12e2f4fb952319d2857357
+DIST go.opentelemetry.io%2Fotel%2Fsdk%2F@v%2Fv0.20.0.mod 1805 BLAKE2B ea3d75f8a92ae83eb39ed4230255d84c1897ba1c4658cbd603886aa9ff817279f6f79b336de3ab0dc4901add3bc256dc477d3c11a323e27c36e7e11aa7522dc5 SHA512 33568d8d5f47cb528f78f141f4f4970a3099ee9a1a651c1172c117a67dda0977372b9b052bc7ed258677ce7aeab7d22e33b0ce4a54deecbe50f2a744bed4f199
+DIST go.opentelemetry.io%2Fotel%2Fsdk%2F@v%2Fv0.20.0.zip 85289 BLAKE2B 7bf28721a0f3640fab40f7edb59e73f072c1a2bbf03182a6c437bad90c74192edd1080ed39238fa58d780c6f890b1e53625c32126c38c0c972b5b8ce002ab1c4 SHA512 7b3afba37331efd61fa640c5287e864df3a868bff6cb2862d7ce1933c1228374c25bfa301fafe8fe4c9a2778aa1f8df5341a42a600a1b71e4590f30e03b17ef8
+DIST go.opentelemetry.io%2Fotel%2Fsdk%2Fexport%2Fmetric%2F@v%2Fv0.20.0.mod 1889 BLAKE2B 60980f58ebb7d0599609030f781ddb70f4d46240813658c51ea200cc061ad7444705f26250e3c0083814939c4b89dbce571b012035325ff85f038e361de16833 SHA512 2088e8a3e6c25b15511ba67618c9a68037aba4a6f63642cb3f772c14783daa2fba808db696d335dab13ab8dcd18ec014d56c5dc4d89274c726049c60337b9903
+DIST go.opentelemetry.io%2Fotel%2Fsdk%2Fexport%2Fmetric%2F@v%2Fv0.20.0.zip 18321 BLAKE2B 2995bc13a6241ed5b6eb83fc3bac76b43fec49b0d0d8e410029b4e696e48c7611dd7913910f5eb326d96180fbfd6b8cb6e3dc1010a364bbb903cc91163d2028c SHA512 f86727e05b024343b53b453c261bec4c36a58ba42f44588305828333ccc396aec1648a02055454ed10cec439a019ef480a6d43679a032901fe9f3c0f1188cae8
+DIST go.opentelemetry.io%2Fotel%2Fsdk%2Fmetric%2F@v%2Fv0.20.0.mod 1980 BLAKE2B d77532489fd26a0b67b6e29c01f258c932b3a25521cab45b5dfe94ba3915f691e8a99aecd41f1bc3cc4987f7197eeb412d05dcea7222fc5d03a417fbb30da031 SHA512 80f4e868f589281a2b083aa5f7a2e352262d95a49ccdf7c71afc4c0c6c0947de7107b00b6b890e1f17401a18d3e0905af6ffc49f2210e0585dfe28f6f325a68b
+DIST go.opentelemetry.io%2Fotel%2Fsdk%2Fmetric%2F@v%2Fv0.20.0.zip 91170 BLAKE2B 4a427a12e932d6767a6195ca843d60402a59cc7be10b6d49b20ccb2db49b634e7504cb4450e56af4d886437cc00fc2cc12abf623589703880575dd8716936ac4 SHA512 0f56b5e46bcf7fbe0c5466c1bf2c011db3e324e81964c25e4687eafe5fc6ecce2914fbf4a7427cefe0b7530acd669b77b4fc3c7dade148f73dc12de8bf5898bf
+DIST go.opentelemetry.io%2Fotel%2Ftrace%2F@v%2Fv0.20.0.mod 1732 BLAKE2B 63cbf98b7152adbb31a47908f91f994355df404ae5010388ac4a99ec19594ced0ab7947f11edca423e7539c0796df908876f6c4370dc6e0fb4316b07d50e125d SHA512 262d653a0e1d1ec20d5dc2fbb3df55f84100bfa803184ddb1bcaf86eeb055d927cf090f5909795558698ff0104703cda2b1826bef34660fda3b2154667461f1f
+DIST go.opentelemetry.io%2Fotel%2Ftrace%2F@v%2Fv0.20.0.zip 26199 BLAKE2B abbec25b57ce85d471f9298a26bc3c1cd0227bc79be1643f1b323e4d469449a333ab7337990312a2b1384055e143e2be00bea9e28d67f2911ab7af4d51c59ded SHA512 789659153f297a0dd12cf7c4cec8ddcd4dd114a262fe288c802c1183feebc52805a1fe55733f622913e8f33974de1f898ed866d6b934f8a75fa0fc7bb7847da9
+DIST go.opentelemetry.io%2Fproto%2Fotlp%2F@v%2Fv0.7.0.mod 211 BLAKE2B 108e3a16472a1401b8ec1b18180c109e034394988b06050b6dd7e918d578917d1b6d139296b39046e09a9f6e251ea665a2cabb749b4b342cb301e6caa2cf0498 SHA512 4348e909c754b1ca8cabbafa293377cbb8f2b4f4d67ec412f6bcae4171d7d0212851d90631c1354e8b04b7955eb0a8077e5a86fbf8ed38d179e9ffb2e1ef16ae
+DIST go.opentelemetry.io%2Fproto%2Fotlp%2F@v%2Fv0.7.0.zip 70804 BLAKE2B 5f2abff8a7130e5612dbde3b199e49d9fd496acac585c24df348477d096179caaba38ba1ff870b8a0d7718e9efc0d1faeea27f9e5b0c910a910465807def174f SHA512 4ed01d37056b955c8ba2a3ba43eb5ab32359885913557b077e29f46f11d56b2f93788cd03df805b93aed00c53687143ad72e47bb3c5322d713e203ae3148e23e
+DIST go.uber.org%2Fatomic%2F@v%2Fv1.4.0.mod 26 BLAKE2B 00521092f85fc8940d69a5885423e84d8e6987a29749d886be3f40c230e563b55d96779ccd2efb99e939167c93067e8d37117750cf2567fc49e70bce9e847d07 SHA512 4c66fd56c35d6d25a3091f83a2d3872ba395092c10519e052aaccf3edca281fb874a46e86e7a7294b4f42a5d5a51d3cc0f066081e5ab945288a48ac223bc19e6
+DIST go.uber.org%2Fatomic%2F@v%2Fv1.7.0.mod 131 BLAKE2B 0abc8845d865fa3a1e96e938a9df81733f6d658b39592df46f26eb3292431b0db554eb5db00671f12471cc3c0e454bdf227215c0f9adb182493b5c146a12e3ee SHA512 ac727a2635d02ba4d12c9af7a9ca2d27c0f1bbdb2f2ef797a2852cf569d33cced35be8ce3e95e2ff3b13a0085b723622656ddb8731c055719fbf62cf10caa4df
+DIST go.uber.org%2Fatomic%2F@v%2Fv1.7.0.zip 53254 BLAKE2B 55083a93da944305baacb592cc1145f191412b4fa0a98ff3f4180484d7a3bf4dc65561d71670b8a462126f10ea82a3ca2846f73bacde8c9d8c485e895b329598 SHA512 127df97ad28854e4db92b6ef8f147c50eecf49e6a3f70dd0524325f24aa6bfe977127513443cd8926589587654212acfa4cb8f153e2290b8b27aaa09dd846368
+DIST go.uber.org%2Fgoleak%2F@v%2Fv1.1.10.mod 312 BLAKE2B 16bf4900b2afadc331814e16a34fa8cae0cfdc78c7ea9704312f121e166c93b7811db3604f6c167fc526faefdd1eb0ffca1dd09581094bfea4847fe0f62ecd91 SHA512 8814a6b8138027c366f3ebeea9033a71019990faf1cb613d75a25498a3a74d61fa2ba662302254150370a49a2a6f56da5c54889d4465117cf8afed4ec6cd9f63
+DIST go.uber.org%2Fgoleak%2F@v%2Fv1.1.10.zip 24823 BLAKE2B 25394ce97a80093bcc7113c651d95fc383863a5efbb47825d053890ee2946f04ba4b9c4bb708458183b91f195133d22fb4bde840a25b6150c1c6a756ef417fd5 SHA512 cad58d0a0f37a7ba9ce7fc5d4598d511eda4bc675689f968b1d02c4b2e95d15976b6aae9d4b8655d2aa85e255308414e474fa6d42e4f49b31092e2b943648b36
+DIST go.uber.org%2Fmultierr%2F@v%2Fv1.1.0.mod 28 BLAKE2B 4f0c4b42b00093024ef494b1b0a07896ec41eb140fb953affc085921181eab44bab0baa38ab559b9e36e022acf5cb9ebad5ddcc7303f33982d9012e9e150cb03 SHA512 7939dfe977dd42ac3ca8b91824a73046222ac9bed4f9cbcf0f2d332727b92a094540a56dfb19d095df6d5917b30cec86a6e9e1b082581049fb05bb7bb10106a4
+DIST go.uber.org%2Fmultierr%2F@v%2Fv1.6.0.mod 113 BLAKE2B 9c82de4ac4a30a4f5ef4881d70b75dc7433664ee90632c6d4dcd1594f3c08082aada1cea4740d38b79ea7753abe47cbba9a173051577c2be869a45ac1e90902a SHA512 850531fa2e156bb78b5a66f4afe89148f048e90ad6753308f4d36aa886f5bd179d2dd5ca67c99cb98976ced5aa6b14e4e463bb27f0d002b8a0e1814fc5316873
+DIST go.uber.org%2Fmultierr%2F@v%2Fv1.6.0.zip 17500 BLAKE2B 5d8607a8fde2c57caeb30459232e9d33bcb9c8cb3d1f046f5714510467ddecb6f82180959ec7d28c15053615390ea2ab114ee472988b6ccfc80de7247e74b0c9 SHA512 ab8d76e47875c4435d00d346ab4f9a04f570711f9e03d7eec23abe6a8d29dc49c4538150397da95e89276dc9ae617b8ce90b90422694b38d03b7773127bfd8e5
+DIST go.uber.org%2Fzap%2F@v%2Fv1.10.0.mod 23 BLAKE2B c60cbd3c1e15e71a99909c113b100de3909740d9e0f939da800209ed1ccde49f77be7a8c22e045b9edc663859995859bc7ccd60bb6953846829ca3164115f3fa SHA512 263e322e5615c91e810fb9ba30a601508e1e3e418f87c7c74de962c341f207e703930f2ad41ae1bf7b2ad106831dc37b0b96637b816d130bddc7225d41911946
+DIST go.uber.org%2Fzap%2F@v%2Fv1.17.0.mod 257 BLAKE2B b03dc3f61ab15720e3e89d8725be6a3a500f9aeba17419403df4bff7ae52b60abafb43af2ef785479017f625c6a3170913ca975fac64c36c65c0476b519540b5 SHA512 9677119c715a41ff061ea5caef85c35b23f79648aa09015e7427ded423c7ed73c0ba7da24d8fb586ea038499bf42ff211e5a328102573b67122ab3a74bfd9ebe
+DIST go.uber.org%2Fzap%2F@v%2Fv1.17.0.zip 232744 BLAKE2B 1d18d6beb771fa235ee9b999c4315817e068d0f4feda90ac270b90e81b67ced86e1622e30777871def262923a71950e81661d08d53ffb64398078e367cf9609b SHA512 4e5aaf0142e579b5b5231adab8b5c9e0a05aa5cd535ab16d04814ba39ff6aa4caa938d8af7de00dc1cd3834328dd2bc424a522261a971590e87a0dda4fb41520
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20180904163835-0709b304e793.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20181029021203-45a5f77698d3.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190510104115-cbcb75029529.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190605123033-f99c8df09eb5.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191011191535-87dc89f01550.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200622213623-75b288015ac9.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20201002170205-7f63de1d35b0.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
+DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20201002170205-7f63de1d35b0.zip 1878084 BLAKE2B 3c16360d960d416d175ed4c93d3fa78d8798971d368e189acccb9e12bc4620f24894c739ac2d350ba5561dcaa6f2d297f3f8b51d5cf556f5a19c5f3c67d6d84d SHA512 8aa88bbc68d280a791035d107c67735b859afd5d69d802136d0d06f05e65d750e0f7d5d6e5db47b4edf8b5d07ea0850ea987055f64f6d2ea50a61ac31a97bdcc
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190121172915-509febef88a4.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190306152737-a1d7652674e8.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190510132918-efd6b22b2522.mod 327 BLAKE2B 209bd1491b6099491fca7ccfd2fabb500b56112557b4b359819b5f9d18e1587b8b1551acab53ac6c222b66b825c4058ecd6adb1d886f1868b7b96ebbd5865eea SHA512 e16919da8b2302c45f8fab5f0d200f41c2c978ad31eab2b4db18310bfbe09079d738f682920ef6530f1d5f53359ddc3d4bf33fe5cefbcefd440212b31e72ef28
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190829153037-c13cbed26979.mod 352 BLAKE2B 5e146ef1d6b71ec65511cb06d8392eddb9a126b6194213f3b2ac6b675977dcdc77cbb3e46fc936189269583df4d0d80d2e393523c3ba4c55f1e8f9294e0dcaa1 SHA512 8ea874c371c0a582410e682cf475628b4fe6a0c0f57b05566a03343999da063250dcb987d9a863b96a8e1ee913612f323de296b4ddbcfecb166884bee06a8af9
+DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191030013958-a1ab85dbe136.mod 475 BLAKE2B 3be94804cb1c692471ca7f2af890586ef57ed45a306a50fd6d6eaec9c7a161e2e4945ed11640ed30ab6f0e48ca644ec06b6b12e232b0990d4e9a08347c27491a SHA512 4b495d303e08e9bb4b43ff0c82665107a6e0a9cdd33a6d14aea491e634901fedb6341fe9e47c45fca1f89688ea3548f57ac8d62b79ef4ccb596ef4eb2e809241
+DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20190227222117-0694c2d4d067.mod 60 BLAKE2B 1c8445e3c9313293a0551c8a2acc31a1738724b96886bdf165c74de6cf2d25b784baefa2c41997a64ff189333a8c59756fac7ac41b0ae1d4f167c38574905351 SHA512 c466f8b348acdc26208bcb782cf330a979d9af086a95f307a785884492430f11fe45d1ddc3abdc1b092654b3880a5e7a456740293935b1912a1d39b658de80e8
+DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20190802002840-cff245a6509b.mod 69 BLAKE2B f2318e92793bd626374b94e2917ea05ec2b41285c169f1461365edfa00412a798775a8ce137221e1c280983a62d03bf1cc97eadaf8668661ed4387ef5823963b SHA512 d463167481b44386a011b867d6e26eaf2fe81c750325ea89f631af7b065c5152249084c45e7195a662d9b9ddde0e81a5273d8110f73a18c4d841c155c67ea0f6
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20181026193005-c67002cb31c3.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190227174305-5b3e6a55c961.mod 88 BLAKE2B ce393846b227c374753f46fc076385826a6288b0c85095e097c041b844f46b87120774c68924492c4f33c33729103a2d916d2335e24953022630314b63f606d0 SHA512 0097db2957ab98a21a73960d2a37c526e5cabcd5ba4825e44f0ec4851ef83743ae171c8dc4b6c09ea4d931c15879c247e362ca53ef8dc762b484f1ddcc483d04
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190301231843-5614ed5bae6f.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190313153728-d0100b6bd8b3.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190409202823-959b441ac422.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190909230951-414d861bb4ac.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190930215403-16217165b5de.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20210508222113-6edffad5e616.mod 97 BLAKE2B 6bf1c22438e1c18af0d845f52a62fc4c96b6752486228e0201a794540a44aca52a045366ef1beee95fb7780c9d0a37aa53fea0b669241d45a0529731bd91c2c4 SHA512 5e1e301c678b32fcb56cd538fb907900e5e60162a44c285e04f0fc8db49f1b31f346e736055872ae9a69fe63798823466d7f159d2ffffb4880bb39b17d4ba5fe
+DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20210508222113-6edffad5e616.zip 46224 BLAKE2B 6a3961daa35b847f0bd943fba549cf89b69af80881d5de257cef88ea147f4f903598ae9e36232c00bf192dcaffc9375ce99854fbf32f897c81cb55dc2c31f7d2 SHA512 6a0f52ae48069a22d899047df2c2dc8b33ba053a5092eaf4f5b5dca59b97c38e189099918a725746b09fe02de5d68079926770d5f915424de223d2d4406362d2
+DIST golang.org%2Fx%2Fmobile%2F@v%2Fv0.0.0-20190312151609-d3739f865fa6.mod 27 BLAKE2B 9bc664bbb78cd778f132bf3504160bf8f6d9950342fa73c461db815f07c0ce2ae5bb2a0ac099457d022e1edf2d07e536566fea043a77aa8b21054254ae854c46 SHA512 a105eb088532321694d3adb5da0b3cdceb7781670a2d4a8a757799e3c8fde02784b981747714cfa8770ed29eb1a0228e0945ad3c363220c39108a7432fc29a32
+DIST golang.org%2Fx%2Fmobile%2F@v%2Fv0.0.0-20190719004257-d2bd2a29d028.mod 222 BLAKE2B 5f1962cf1df6a0e8d748eacc5616c3bf0b8de117d29e57da32017cfe26eafc879d33427deeb888b283eeab56d48b3c72ef1ad0aa3706a1dcaed208026eeb0054 SHA512 6689d7c55fea7d8cfb8d2b1a934ca45793dc8d4cf4fc5b001bafe676367a93b8a8c4964d8131ba145e5e41c4da50a238d6df01dd3fc336eeb18be61b49e62416
+DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.0.0-20190513183733-4bf6d317e70e.mod 97 BLAKE2B f6c97d5de5c229ab22e047250a7030c201829f8237b63c0b272c0453dd8ea91360f4a73f9d2b56212103c76c36c01699231d9dd31d48ba8624554b5b36499190 SHA512 15deca99c6d866dcffdd51b1334fbe7f33ce88e1fd82badec64f5155782681887e7fd959ec2686fb35adf70afbe08d743e36c6a891f43462074663357e5b309a
+DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.1.0.mod 97 BLAKE2B 54b5bbd5b0908619326ca8bcebebf13f45b2838737d22008f20d3f40ae52fb4f8fdb8c73cbd98b57873aefc8b37c7328aab2bf02ad82a7d5f83e0d75a9283e81 SHA512 4e955424df3c1cce0b716fc518eed10196feb34ec718c1fe537350ce99efd0676276c2000feca6faaa6f3db8ce626e2d330f700fa43a10c73120dd13f5f1a764
+DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.1.1-0.20191105210325-c90efee705ee.mod 159 BLAKE2B 7124b4e21f0b1ff142fe4cd5c57a22de7bc5b1c578e16e8661085d475d67573279c1ce3165e05a28c77a41eac43fe29b1d98854abdcc7b0b66167f82db652dd8 SHA512 5e225da646ef87b8bf435b745313187cecd1bd3e88660f8a90cd2a6fdcadbe8fc51f53edae4b3aa2357ad273a8e58034920bb61a1cd5898b95d3fe39f30ec648
+DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.2.0.mod 214 BLAKE2B 9a9c23e4a6fbf1e2168cc2559ab0eea14e2a1bbf32cab7eb95e276c3c1f2e06dadf6c58e39a4722211fb882e48f25a8de2969422590c62851292747f1da76b02 SHA512 16d72a943c436bf27c18ee65deb1e1a3b1283dcfcc76a49f01919df97f41ae6ef7c5fe7f95b5bb62cf6f6fee57eb9654ca27ec3bae448ebfe894f8d6d0101fa1
+DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.3.0.mod 214 BLAKE2B 9a9c23e4a6fbf1e2168cc2559ab0eea14e2a1bbf32cab7eb95e276c3c1f2e06dadf6c58e39a4722211fb882e48f25a8de2969422590c62851292747f1da76b02 SHA512 16d72a943c436bf27c18ee65deb1e1a3b1283dcfcc76a49f01919df97f41ae6ef7c5fe7f95b5bb62cf6f6fee57eb9654ca27ec3bae448ebfe894f8d6d0101fa1
+DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.4.2.mod 214 BLAKE2B 9a9c23e4a6fbf1e2168cc2559ab0eea14e2a1bbf32cab7eb95e276c3c1f2e06dadf6c58e39a4722211fb882e48f25a8de2969422590c62851292747f1da76b02 SHA512 16d72a943c436bf27c18ee65deb1e1a3b1283dcfcc76a49f01919df97f41ae6ef7c5fe7f95b5bb62cf6f6fee57eb9654ca27ec3bae448ebfe894f8d6d0101fa1
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180724234803-3673e40ba225.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180826012351-8a410e7b638d.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181023162649-9b4f9f5ad519.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181114220301-adae6a3d119a.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181201002055-351d144fa1fc.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181220203305-927f97764cc3.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190108225652-1e06a53dbb7e.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190213061140-3a22650c66bd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190501004415-9ce7a6920f09.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190503192946-f4e77d36d62c.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190603091049-60506f45cf65.mod 172 BLAKE2B 6c58510adee25cabb2e31dcbd88939145c6c0856ba2fd1f0b78f82ec6f2589fe0dcce736a192d145dbab8f4ba892bebb80cb6cea4ea89fbef72f7822d157c1a1 SHA512 5b9748f38f64301e4895d9d2bc106fc9bd05a29feff5cfb53e248d168af998fd1a501c1a3c27e23af663b283093d2a48393bb0798bea449256d89ae119b225eb
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190613194153-d28f0bde5980.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200226121028-0de0cce0169b.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200625001655-4c5254603344.mod 181 BLAKE2B 05d6754fa387bac4a6481ad34fb7b681064fc6443b3f70cba316fe2fd0896050e4a772fd8e1be655130a00bb5feaded4725ffea1c5dd6ba55ba55315aaae34d2 SHA512 54d242da2536da38e292b62a955b3961f7b0a9789fe36c5f7ae93577eeac734a6e5bac21a657cf71d488395278cd7683db538e16a9c853835277a800a9d43471
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200822124328-c89045814202.mod 181 BLAKE2B 05d6754fa387bac4a6481ad34fb7b681064fc6443b3f70cba316fe2fd0896050e4a772fd8e1be655130a00bb5feaded4725ffea1c5dd6ba55ba55315aaae34d2 SHA512 54d242da2536da38e292b62a955b3961f7b0a9789fe36c5f7ae93577eeac734a6e5bac21a657cf71d488395278cd7683db538e16a9c853835277a800a9d43471
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20201021035429-f5854403a974.mod 181 BLAKE2B 3d3ddd23252ae7c54121211421c04a53076d3c347a9511c24494ded58863b0e96b2fefbdd10ee783bb3c0089cca1af91358701ef709fbd52a2c2d1fdec011939 SHA512 098a7d7eadb99bc1eb8695f1d86e1ed2ec2f5f625045f3ed77648d4ef7047818cfc449d46c8a6ccf285f95956baf228c1c57d6e281da1f63f67cfa0f93ca4230
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20201202161906-c7110b5ffcbb.mod 181 BLAKE2B 3d3ddd23252ae7c54121211421c04a53076d3c347a9511c24494ded58863b0e96b2fefbdd10ee783bb3c0089cca1af91358701ef709fbd52a2c2d1fdec011939 SHA512 098a7d7eadb99bc1eb8695f1d86e1ed2ec2f5f625045f3ed77648d4ef7047818cfc449d46c8a6ccf285f95956baf228c1c57d6e281da1f63f67cfa0f93ca4230
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20210405180319-a5a99cb37ef4.mod 179 BLAKE2B d4f0ad22973a6e0a06b186e217dedbea3abb1800b259c56a29da9075c36808160620b42b0a485127f713760b24b4d9d6d9a61119c5739927340436bac307f5c4 SHA512 f48731641ffad3b90daf0a8bb79fdfc607c076961dbda1c51e71eab787dca0681e5984ffce048bd655ceb56052fa64426b30b32e6ee32957c92418a16d1c9f06
+DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20210405180319-a5a99cb37ef4.zip 1565731 BLAKE2B 25099f5d276bba9b2d3c5e75c603dac06f3364fd09d2a2c53aaf5030d4698fc3638758d23c0a82fc118a05661b40377b74ea55c2e8f5d9add2d03527104ae80b SHA512 23da0e9ed2c647eb043e4b57e384ae335119b3766411f84cb009496a1fae85c7cefed14a92154b3e8d7e93d92187dbfde9b9cc07236ea3a7ca4052b93c6dc0dd
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190226205417-e64efc72b421.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20200107190931-bf48bf16ab8d.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
+DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20200107190931-bf48bf16ab8d.zip 84373 BLAKE2B 39bd0256afae566a53bb0b7b95adf0416653fd003bf5312c7a316a2d7c3e5d1fa25fd08bdbcdf75df45a56116fea54dcb1bf9b68b07d15d3a909e072f8f9fa06 SHA512 10a924e5fb556c2726795462c91fe7086472d6baab511ac21c1fb3c137e5a3e0db55f9ce8fe1952566d887225e3528ec8b747136f8984163acf71e869a0d8c58
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20180314180146-1d60e4601c6f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181108010431-42b317875d0f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181221193216-37e7f081c4d4.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190227155943-e225da77a7e6.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20201020160332-67f06af15bc9.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20201207232520-09787c993a3a.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20210220032951-036812b2e83c.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
+DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20210220032951-036812b2e83c.zip 28693 BLAKE2B 3d6a34fa6da642f5ca71c930bd69a41439013f20ee60dde5d4dfab4bf688f1edb150a0477cb006670424c6c59e90d4bac9e5eb34f9fb4c518d903dfd26fb6cb7 SHA512 48b983589bd682ff9275c47733ec73637ebb5e58e1bca0c7744101229237d5cb34170efab63db0061aec857052cce9ef03c3497702b90a86287e6be88e1b33aa
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180823144017-11551d06cbcc.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180830151530-49385e6e1522.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180905080454-ebe1bf3edb33.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181026203630-95b1ffbd15a5.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181107165924-66b7b1311ac8.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181116152217-5ac8a444bdc5.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190312061237-fead79001313.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190422165155-953cdadca894.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190502145724-3ef323f4f1fd.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190507160741-ecd444e8653b.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190606165138-5da285871e9c.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190624142023-c5567b49c5d0.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191026070338-33540a1f6037.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200106162015-b016eb3dc98e.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200323222414-85ca7c5b95cd.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200615200032-f1bc736245b1.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200625212154-ddb9806d33ae.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200923182605-d9f96fdee20d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200930185726-fdedc70b468f.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201119102817-f84b799fce68.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210124154548-22da62e12c0c.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210330210617-4fbd30eecc44.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210403161142-5e06dd20ab57.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210510120138-977fb7262007.mod 33 BLAKE2B b74677ab15ab6b31640d71b052db667b0fb585ed6d1044e26bc5e4cf8da90e1ede81f8876babea843dd322b8b707189138e70c24d13d931f1f6dd04978ac222c SHA512 85e511b1261c1935f5ee4754ad31d1d946f9e10f0af9905f44c4348d6ce5104319c03fb38517dde616698f6487b0c62788cfa96bc0ffb3b6db80accd7e552655
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210603081109-ebe580a85c40.mod 33 BLAKE2B b74677ab15ab6b31640d71b052db667b0fb585ed6d1044e26bc5e4cf8da90e1ede81f8876babea843dd322b8b707189138e70c24d13d931f1f6dd04978ac222c SHA512 85e511b1261c1935f5ee4754ad31d1d946f9e10f0af9905f44c4348d6ce5104319c03fb38517dde616698f6487b0c62788cfa96bc0ffb3b6db80accd7e552655
+DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20210603081109-ebe580a85c40.zip 1639382 BLAKE2B 3d70aca9182ad2dd59a1260987d32b876da2d668a5181e6a94ce07f252399a5e861787ef0ddf5d3fb45a93c77b3289243fe23f724150f0719c0519dbc9db6a3e SHA512 ef385003c7858782b40f36e70eb0d4af9c9b18cf705872e474c7720eb2de61b889a6a9c85a2c9e1ecde43522cab440f97afba80598ab26f1c11703fe1e76eb77
+DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20201126162022-7de9c90e9dd1.mod 95 BLAKE2B 8385688f2081360fc2694f05d128ff0c587ef131e1b5757a942d9335870200e06545318afb1a7d1f059d060f51fe94fc16a48a1d7ec31a9a83e07b3c93f34ce3 SHA512 a3401e3d20dc1aaaebbf3c296a783668003f2182ed77ec830431f97339e07eda1859fe8c3c7fdfb0125b3ed331d23208519df520f86e20c1a05c822b3d766b08
+DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
+DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.1-0.20180807135948-17ff2d5776d2.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
+DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.mod 88 BLAKE2B f3dd520e0e4e9b57feab62ecabb9169f37f1ce49b2846b949f9266f807767d38f55e4aa8ea006229c6f81cfc1e2c9dc0d1e3c186235e416dfb90fe7e04751d07 SHA512 d9361afb453b10c9d02787568ec33ea4c97a115899c6b3d1a1246547a749244e9218475ae5ae9f741d9b355260d2d3c33852673e805fcdd5f26f3ca40f035884
+DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
+DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.5.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
+DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.5.zip 8609319 BLAKE2B a4459cdb830dd5de499cab9b0a37afa88f0cee1b3733a9d765a6693eea89fa5f7b2aafd9f5b27405c9bd38f27f715ef311845e52d3dedbcbf2ba020a04334898 SHA512 f40c677e92a896b7158f0b3ddb786e670a954fff7d981be3e0d3bc6d789d4f069174273050a0cedb8e2438d780e6950e027d84a2e2d64b7936e61edc613acd36
+DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20181108054448-85acf8d2951c.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
+DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20190308202827-9d24e82272b4.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
+DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20210220033141-f8bda1e9f3ba.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
+DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20210220033141-f8bda1e9f3ba.zip 12060 BLAKE2B b2dde82c9b26a012e4c7047d5a267b4b6b78cf510a292dc98cd26bc9d58ca6c9fda4be3df63e687a0560ee44a783a5610f75764f80c1e31a88227903eb6fc0bc SHA512 f90053946276726caeab58ba23b298a9c36a576c0450ea558c35edcba87396d32318f1257fe39285dc30137e46b7b0a588d7231a4c1b6a4cc59eb2d22a3bdf01
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180221164845-07fd8470d635.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20181030221726-6c7e314b6563.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190114222345-bf090417da8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190226205152-f727befe758c.mod 194 BLAKE2B 94f62204dd4fd9b865aca70366a7a7754e2e92ed27591beaf789b268ad272dfb34ca0906d888c608393b4c71bc5c9f975fc86c164528ed7d0390e41b66206ec4 SHA512 8b68acbca48744320e64a70a983a471e9e2fc2249562064b10256269033473fd50264b6544646227fb666f075c4f266df1835ca3f88ee679bb97d34bf62bd195
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190311212946-11955173bddd.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312151545-0bb0c0a6e846.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312170243-e65039ee4138.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190328211700-ab21143f2384.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190425150028-36563e24a262.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190506145303-2d16b83fe98c.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190524140312-2c0ae7006135.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190606124116-d0a3d012864b.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190621195816-6e04913cbbac.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190628153133-6cdbf07be9d0.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190816200558-6889da9d5479.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190911174233-4f2ddba30aff.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191012152004-8de300cfc20a.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191108193012-7d206e10da11.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191112195655-aa38f8e97acc.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191119224855-298f0cb1881e.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20200130002326-2f3ba24bd6e7.mod 267 BLAKE2B d21181b3e1491ef78b09fc3546ed8ffbfeb7a4578039aaa24e2f5cc2352885c1a4d7dbfaf2853c421daa2a06691ac47513b5f186d31893fb1ef476cf9d4bb9bc SHA512 91b0380c7073eac4442bfd1924d311fc7b50b098ec4c72ea72fcc831273012326a44245add9b05a90895be46d11052ddcc942ea6bb909bda51d782f95acddff8
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20200619180055-7c47624df98f.mod 271 BLAKE2B a7f35788b75abb2e24bcb7310d0584fa51045a86c35beb84ebc00cd6eaabb0e1ea2c81394a693ac528969222da686c64d064fd827f709b3d6695b80ae8e57e96 SHA512 8281ef87f633ddec7f1c4711773b09563e5695a44ef8140d062cdd9a14731a2edf24fde739c42e2a52038d6e100c3c5d7039db9adb62001e5e27a2e282faa057
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20210106214847-113979e3529a.mod 270 BLAKE2B e62694003f3e6a15a1494d429bb8d7388cbdeac1d09d28cb20244ca09eeb72b706a2c244d9cf77d7b3ff2b15a193fe35f411e9f5c34ff46a9c42abf813178730 SHA512 749bf78130d1fe8da6c022ea7f5fa65e66cd010cd4ea8278bcfdef116acc52d4d632e46a4a3070ddb7d775ef23b39e78724dbbab36e635ced32058174cbcd052
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.1.2.mod 323 BLAKE2B db1fc72e77cc95fbe79c62b179628f8e6e130846832146af32f604bd063c6610a6a8cebd1f166294ad4adae451c6760a0988e431846e35d25ad741920e06e839 SHA512 6fa4c11d23d3c08fed7331586d9e8da5299602dc97e861d74ce68f248c2e8b1d9ba5e55d2acbb96eaa3e1484f9d287b7d8c2f0e96f75109c957bfee88776996f
+DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.1.2.zip 3441487 BLAKE2B c91d9d98cb01c8562aa2a33931de3ca86d51d815a1514a6e55533854ada4d520f22c8a08c69b9ece3714156c787c46fb9ceba156f99f4b8bbc08d685ed2621d6 SHA512 0ee51d19f7a03af6f79771598ba4201f54b9035f38086829e9e9ea837156bb6e42b900d9f75151ace7e522b6439b21e0a86fe2c70f3d24f37bcf5a70a084cee7
+DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20190717185122-a985d3407aa7.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
+DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191011141410-1b5146add898.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
+DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
+DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20200804184101-5ec99f83aff1.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
+DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20200804184101-5ec99f83aff1.zip 22295 BLAKE2B 310f892b8ce32810a1afef53335428d73bc23e749e52d00d7624afea2d10422b1b73507026daf23efd2384b81262c4c7862c22da23f6fb43c1b5f79a51170d5e SHA512 34044424d303f5032d4fd302bbf1aca390d45e876583cc223fddf0d685a6eec2bde0a4c1b82c4e471eb5be97fc8aea9b14695b07940d1ecde806636a85d12051
+DIST google.golang.org%2Fapi%2F@v%2Fv0.13.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330
+DIST google.golang.org%2Fapi%2F@v%2Fv0.4.0.mod 506 BLAKE2B 6933fe30be88a21cca041b800cb9d095b1daf787f3701c0311da2606287d03799df9b556451d9170d02be8028ce686aaf69eaf941d2a8bdb4769c319c50c9905 SHA512 9fa566a26f8345a101dc94986755468b4782d78689d5a163aa5b960b507d4a0e8e435a8ce84073e07187745a156e2c9f586136895db2f08cfc4cd3329fc1e23a
+DIST google.golang.org%2Fapi%2F@v%2Fv0.7.0.mod 802 BLAKE2B 59277c0ab43500926ae727289dfd892ce524164f7acea3d6ede2f4efceb5e89e71e88c2c9fa3e4785da4d2a69c59e5c81c4d735887a6ab52c0b07a8b6baca88d SHA512 617883d94a4de6e07dfd82d046148ccfc5ab4eaf73840a76a9823e5cf03a60b0e0b4f1b62712620de28895d013f01bcd39477cb87bfb94524a634be8818c268c
+DIST google.golang.org%2Fapi%2F@v%2Fv0.8.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e
+DIST google.golang.org%2Fapi%2F@v%2Fv0.9.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.1.0.mod 35 BLAKE2B 24fb6ba95138448c45da7f1ecc4c87391485006b54b8e7ff96ec582c2659f9ea77574b4d5fef2442eff9e5564f3c3263ed8e6963c5d21cde8772a7143d82f3ed SHA512 6644c398d639794470e49cad4402d17765422934915b5a13e13e1f84d8890cc8fad9e6ea8c580d114aefea70d894242e05ce3a432ee596f772b98b6b73069fe2
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.4.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.5.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.1.mod 362 BLAKE2B 2d6d24186c2748c4d8f559feb269b351d4260c9c0e0b9342377f23af9e5ecc02fc7f84f7be299aedb0da1b1a6d6d67c3271a826b776bb7cc034256550479a0f5 SHA512 e3c391dfcc5f14fdc5430d7a1d239d4ebec89399b17851e4d7643b8c0c70077aaec3a1bc1a8dd5e3320d8bc6e1562a26e3fe1121d75ce578f37f5d2e84a4ddf6
+DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.1.zip 418135 BLAKE2B d3a64e18959e36aa267f235f1636d00ad545cb32a9245641bd771d511d8168c8070a2e517ae2b65d4d5911c1202267ea8cdd8ea8ed009cec3ccdb9013ad9a0ba SHA512 36a2b9842757e17959c520fe02243502017b8a074da8105763de86ba14c61659f49b3bb8b1eaf8b7c93f2ed297889a26dd43f3f87a139e205390cebb36f2e446
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180817151627-c66870c02cf8.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190307195333-5fe7a883aa19.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190418145605-e7d98fc518a7.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190425155659-357c62f0e4bb.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190502173448-54afdca5d873.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190801165951-fa694d86fc64.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190911173649-1774047e7e51.mod 339 BLAKE2B 06dd6c875e6235007ea4f4a8350a7f80b3285e21f8ef599ea1e955a6185c5e11658040d073937a4110910c3d21d923487427c0dc626e342e10fef8efbfa95b2b SHA512 8d2fe5cf81319645c17ff8be71f966294976889b7aff74a5b234913dc34a1c7ac03548bcc9ed29120ef651705e7dc6da0c2aff892c9262d67d0044fec5685ac3
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191108220845-16a3f7862a1a.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200423170343-7949de9c1215.mod 287 BLAKE2B ac895df309c4c2533900f7ff3aaecd59bf883fad6fde8fc7ffef9928fc8f18402fb2198bb3f0b75e876adb7d5d0e37073fc251d149245847ebdd95de1cdf6cd3 SHA512 44dc287d4a33c4225229768c59d1b9e61b51fdc27b1745a8161b17bdef4499cb08ebc565c56caa01673317cbef46cb228ac69b9ada7d4bac870b22eddf5a2977
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200513103714-09dca8ec2884.mod 287 BLAKE2B ac895df309c4c2533900f7ff3aaecd59bf883fad6fde8fc7ffef9928fc8f18402fb2198bb3f0b75e876adb7d5d0e37073fc251d149245847ebdd95de1cdf6cd3 SHA512 44dc287d4a33c4225229768c59d1b9e61b51fdc27b1745a8161b17bdef4499cb08ebc565c56caa01673317cbef46cb228ac69b9ada7d4bac870b22eddf5a2977
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200526211855-cb27e3aa2013.mod 353 BLAKE2B 7e159067adb934153bc2a45c1a091ea85083c9e52927db8aba3e7ef9e13f984dd738aaf3890e85f7daf86afdab8e5717775250715285c0edc05625a544664cd2 SHA512 17266a643d974e2fae18e7055986002b9705bd2a7fb1e3cd3664fe6dbefbc7a04aef6900146c1e1c3ed84bea8b4d1bda4d6c355af2cda013c01f19eed57568d5
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20210602131652-f16073e35f0c.mod 278 BLAKE2B bc29676533b5813b8383ab995cd9c117cfa3712c1a7091b504a3feb60614b704fd031692dabd7a479fef427efc584b697b74346fdea2fd6df6d09cca8efecf9e SHA512 dbc012381b6e5c891ca583f791ec02094b4d1c43f0c22d1d4a992497d5f2503fcc78fb8f119c891a474156dd8fcde92acc27e75f40cc026cd37913aa83298fc5
+DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20210602131652-f16073e35f0c.zip 11160629 BLAKE2B 22ee67ad1080d743f680eaf4f208f8832f7d8c196d532dd0869a574cd3d1ec3f663b445ab8bbcb847fa422763f5ea49c9867b32eec4f7cf1ca20565653481871 SHA512 90fb80975cb11ac20012ad30211ad4f34907adc353ac037df4f7e14f516946bbded4cf33c0595f53d7aeb34fd0b5384ceca19318c5261e455c50cd0d2eff2e2b
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.19.0.mod 833 BLAKE2B 71052eaeaf40883bff624eecce8fd6f5669fdea9355e6ae0db9c86c841a62f7176d5ab58838d1645f59b9cb4ad4b636048aa3e9f1d7db521104b8f09dc535bc7 SHA512 38c4f75a0121cecd31b2628da3c3d77aeeb9b2c1974eef2d2d2bb7a3eb507d330debb7f14a724c8910174439b38ab54458096aaf665ea4af87a83f866ca0452e
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.20.1.mod 795 BLAKE2B b825f2ab62a96b9b164410f761228575fd9882de37635c09803b9d2ce682ebbec30f301fd874aafaad95a5aa2431ba25962073e1bd4f336d8cb137e5939a8708 SHA512 585d4cf68b50a70d7967ac3941a7a83b83ed5df1a31773589a38348b6fdf247eb49e7778f7054b78ba1a65eef48d004a815abad932876cb1af2c09deea9c0db8
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.1.mod 828 BLAKE2B a57ef0fe7edabd002918282ba9ef83386689db2688fd8f1b9ebedd191bb0b7059cc0b99d95974ab68112cd48e1865558d314dda64c71ab239de39fe6e8f0db5b SHA512 f9ab0c8ed5a58799a39f64c63b995badb24d8ba1148c7a1be1e3342d1b0d6a6e334fa2cab16f8e9396907e60386cbccb6495dbbe3ca09440bb878e10e1686d62
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.0.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.25.1.mod 532 BLAKE2B 4c46c03905fc660d54c7acdb5cd614db9429b0e1add087fa5068f41a72d04b2f776e8326d1181e63ce29078f075d2312f9b0baeaeb048ea3d73f2fdba111e35d SHA512 0171fadf89079d7c0f18b1401aedfd886888d0a4ec4e107aec191c3875c640990532e1f57a3f5306a2e5705ddcf7e09ab2ce4953710347c09deb1d9d5f2d3c1f
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.27.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.29.1.mod 542 BLAKE2B d2411d4096489755e1a83388e3b3271930614b11b5d677af4a7ce0ee9c5d4618bda9ccf29c9dce7a2d0254676dfea8bd54c88ec857473f4beaee92d61da9c209 SHA512 a8ff8c888452392a2026849edd07ad5aa36691f7cb30357c33aee3457e03cac9daf48195b90c2ea62b71337c37bcea23d7a5996eaddc4330749487789dd70fb3
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.33.1.mod 542 BLAKE2B e4b2b7b1fa60a14dbc498ae1ba77dfe6056d4f990c8b699323802ca3f5c31896c498d907c766b49c093d0c89edf7d57604daac7f64a543fc5e0745e7b6fd1bc2 SHA512 4e4f309652556a76b4dcd3bc14b32c69d8aac9dde500456d1d9f9f4c773a5aeaa19061f29f5148f7e815c0c5dd0ba377470975d004b0b73213206e7d5aeb89df
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.36.0.mod 608 BLAKE2B 01e491f455fd8b3faf2dabdc8ba3e343c67461f3c58621a9c63575940474e3b4346e4eb1c8f260e78f3ca7cfecddf54f7656f590665d3596e6af1391974b284f SHA512 33faa853ccdf8c52a82c9c44e4b5f2dae76e5cc2c1e8227036f8f5fe7f1b496066fa72a379714491c6d2ac14e0ea8fe5419dc0a1626f9e60933b897903377b45
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.37.0.mod 608 BLAKE2B 7de276dcb3541de0e9509c95860d13991855aa3f9193d32fe540fd41b28db88e3787c767073a6be9c294b6ece11742d80d13a98cbc1a57c48fe81d1bb7c45004 SHA512 bf2d4e70b656e1345aee9029d35a922424bdbdd05edb45fd8f0267af3a17da53d1d1ff005d58b99d721883e7371b2d2ea99fb67bda9ae880f5ea12a32d8f2078
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.38.0.mod 608 BLAKE2B 7de276dcb3541de0e9509c95860d13991855aa3f9193d32fe540fd41b28db88e3787c767073a6be9c294b6ece11742d80d13a98cbc1a57c48fe81d1bb7c45004 SHA512 bf2d4e70b656e1345aee9029d35a922424bdbdd05edb45fd8f0267af3a17da53d1d1ff005d58b99d721883e7371b2d2ea99fb67bda9ae880f5ea12a32d8f2078
+DIST google.golang.org%2Fgrpc%2F@v%2Fv1.38.0.zip 1561437 BLAKE2B 6d0db85a058df199dd8237906082862bba5de66e2c6f92e01e8d90a6473100a0a9075b7239be96495457d7b822b67ff84b9f00d6cbcc4cc2f24dfa3dd0977f4f SHA512 197022bcb7846cbc2257410b6bf0f1b64592e889b222633ed6c3cc3cc9efe1ab3ea36e57b5bd8fa2cf72bae75271821888e91a354b3cf57e3932f05a2bb8678c
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv0.0.0-20200109180630-ec00e32a8dfd.mod 83 BLAKE2B 4cef0579e4d6b156c1af532343070021171ead815734fe1210a0be6a8ba9bc5f3d11b97ee14cde810f2556bca76c206520f56363ee82af7409772d33301e413d SHA512 3cb3393e78f44d9de80074244756d5e309d19adca15e8313a392b925a687edad46e93c612da1539dc09d0c0072a063eede6f04fbd9e5671059e9857da0f7b1e6
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv0.0.0-20200221191635-4d8936d0db64.mod 128 BLAKE2B 79cca062b7c73fedaa5357b7b43af16adc1ef83a86be48787887ec450e022d31e0700b7ca4cf5dca03bf2ad9db79727da0fbb89c73bdb006db6b68d75c3e1751 SHA512 bf45db2ba4ae10b447c471118551d337125d5432142f5aa4ba964054d09393730c23373e42eb34574ca93f9b1a12364669be13ba7faa7d9908cacb982984d414
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv0.0.0-20200228230310-ab0ca4ff8a60.mod 158 BLAKE2B 8cafd0a40647244f2dd1d3d3da7ef8e376c6eb3823fca68d7aeb041d480e1147b70b70c49c65e47ff1e9b92eba026a109c67c7900da88cf8569ebd037912a35c SHA512 7d00ab108b35ba41ed8c6ad54533bbbd967e0cdf39e62cb8914c0c6e4a531c779a28ea3fb2a4a7f6f4af7f3c922246a8d8ec8eabb779758245cedbebfdd97378
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.20.1-0.20200309200217-e05f789c0967.mod 128 BLAKE2B e36e105129abbd7729a6d509724246766c16df526ce22637e92ca8f29bf854b66622a0afc5afe8e4ad29c9efc498c488a87020fad5969e044757d49ed4bd6399 SHA512 802c0df5ed11f0bb2e221c01152c6339d3634068f89aac760654411884e6b936b031cbfabad57c5add340f9d504edfcd683c77cb0ba7d753e06bc604095257ce
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.21.0.mod 158 BLAKE2B 46e19153fe487751cddafb86818a962b621b10c109e513ef22e7f5c93b44dd94c6a1636e6c03d0db6e5099536901821549859bcf84f06c00483637d5d4284c43 SHA512 4797f4305d5b0159aba0825c0432cc5678cb74e55cd95eb5c42e9879a62db5aefa76c6286a436aee9a31b096193e8a3bc2e67175f0296c9d5eca3d03e98ab2d9
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.22.0.mod 123 BLAKE2B 1c4e918b0eba97f6cbf2766da4d81d59be965582a63fcb5d876194d0e57575bfc91ed40418bd435b7cb13f244c44acbe00821098b52b6d64111a4f812e4a5909 SHA512 dab1668079153e90bea3913c9aae022543d17d61e275e3d0e2ba7dfda3dd8f82642bcfd1e4d4add2b8f4fed342efd66ee6c7d7fe1e65e67e4e62f2d0ffd2387c
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.23.0.mod 123 BLAKE2B 1c4e918b0eba97f6cbf2766da4d81d59be965582a63fcb5d876194d0e57575bfc91ed40418bd435b7cb13f244c44acbe00821098b52b6d64111a4f812e4a5909 SHA512 dab1668079153e90bea3913c9aae022543d17d61e275e3d0e2ba7dfda3dd8f82642bcfd1e4d4add2b8f4fed342efd66ee6c7d7fe1e65e67e4e62f2d0ffd2387c
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.23.1-0.20200526195155-81db48ad09cc.mod 123 BLAKE2B 1c4e918b0eba97f6cbf2766da4d81d59be965582a63fcb5d876194d0e57575bfc91ed40418bd435b7cb13f244c44acbe00821098b52b6d64111a4f812e4a5909 SHA512 dab1668079153e90bea3913c9aae022543d17d61e275e3d0e2ba7dfda3dd8f82642bcfd1e4d4add2b8f4fed342efd66ee6c7d7fe1e65e67e4e62f2d0ffd2387c
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.25.0.mod 186 BLAKE2B 7df4a9ba66d7fcfc40d73332ba6fcece38a38ffef4e9686fe7887272cdc81904438cfdd0e733224058289d24ee23efe087ed9a2b4f2dc31e7213bc3038ed9512 SHA512 1b0e5543fcdbca876b51ed261aa7b8abf09e985e4622111d46378893b7a2bbad882135fc1eb26ebbf97078800f6ad9f2983dd11c62a8aaa2ab1a4f0774585e65
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.26.0-rc.1.mod 83 BLAKE2B 0e4901ba1d4e31ef22f0f978ee7b7d926ac2cd3a1cb5d8d8a81a33e02f9dc81aad6508280d65659862c3a9bc0667c334cb6cd8c0c532d5fdb3735a415c2a5eca SHA512 a7b2aad691925341e3d1f6d1d1453b68386902a4e2e1c0deb406bc157d04328c5519a01ce938a33a6e358cbd9dc0c2f862c9822bde5314d2eb9d416d7bf789d2
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.26.0.mod 123 BLAKE2B 73f875413489557d8f0bbcd665c06356b900f87e2cd9ef0ee5aba218a3a910842912d36dc9e653afa538c99cc723d28327a8bec6eac1f6bd93277d70fa891339 SHA512 d618524aca1cb3e525060bb66b0c8f06c9ad6be5389be228d265dbcdb368442f4f0a7e98f8c9082916b2579d77e627a550904f0b1c058b7d5e45eb7ceb77c2e0
+DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.26.0.zip 1557709 BLAKE2B bc672854cc46d48461bf28395c5be02fe99ff9da1d23e212078e549bf3e2beeaf953cc185e059c73a374f3e2662cb81fd6c3ff53472934964b8461f370b51a78 SHA512 de309c033d05be35503d6073e14ead585db4e6b75d478a674a37f93c7757e914c67bad446cf7ce04ccd49659d1ab2f9a024ee639a7536480ef92bb6b8b52dfdb
+DIST gopkg.in%2Falecthomas%2Fkingpin.v2%2F@v%2Fv2.2.6.mod 38 BLAKE2B e7781691d8c15b764ef6c89fcdf20e69fc28d46e8df2703b6fdc342247595c10ed25e3cc5b30cd29b81c57837f5685e4122e1b2c218a51fffbb1567c85b0835a SHA512 585188d3a75067e6b7d8a8321959fe7df80c6a19f8668a87f0d1b8687c4d2cefc039167446f6d02f7eeeb147371bc7a673348213bcb07f4d90bebc0ccf9f2015
+DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
+DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
+DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20190902080502-41f04d3bba15.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
+DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20190902080502-41f04d3bba15.zip 41481 BLAKE2B b952f04dc8d4717c839de5a5b7780ec2434915d11f897cc759647f71073dd3df717e1195ff2f4f804457195886c63620b342a089fc489f5deafa9c928708d4bb SHA512 40a523fc1dcc36677a0dc0e626313d44a308fa2ad5eedf7b616470ae2972dd8f5b78c18384efffa65d58391e60b704ed35db5557a5dce8362ae45204f64b721d
+DIST gopkg.in%2Fcheggaaa%2Fpb.v1%2F@v%2Fv1.0.28.mod 31 BLAKE2B 1a4baffd98c62173795d54bc25845b710fe8391726fc5d67cd6025131f783a3d94cd474299d72f5f077dc529203dcdf7a069268dc30fa39d9b3f7fab566df45b SHA512 b8685a6e649de49671d079375ba2132a467bb015a29a7182744caa9464f5e7ac72a952b10faf04e5b6d745ec955b565dc03cbc4ca9849d23ebd5303a12f18401
+DIST gopkg.in%2Fcheggaaa%2Fpb.v1%2F@v%2Fv1.0.28.zip 18118 BLAKE2B 554da95a16c0993b4cf83b7cfa01a09f8a74c5d6ab80b3732bc066e82fa73abb8fc49f92f6d73acbf7296346f335f202de0d10604ed3e42b4d32d8b4169a0718 SHA512 6575eb0dea6524b8e5072a7eeb8d57f57ea2d6c6354d137b28befe9a85cc13bddf061fbe6f0da7d418bcb4ad293b38a3664424096930eadf5e16c4554cdd450f
+DIST gopkg.in%2Ferrgo.v2%2F@v%2Fv2.1.0.mod 133 BLAKE2B c4ac637e2bf2d6635065be5213d73f23a1870054c58e9f1cce93af4627ed6fdefa96798b0fbbd27666573757f8b4a48c694ddf3f86c98e898124294459500771 SHA512 cac59fd7470fc9d3203dab6b9e881d4182cfca5acf0a19207a9aff2964d42f20422f9a164bb52b2fa73c523e3caafd63028189bd4190a1670870154dbf3e8178
+DIST gopkg.in%2Fini.v1%2F@v%2Fv1.51.0.mod 23 BLAKE2B 4e15082dd2b6e386e93baa78307538fba456343420c52605d453c6309f256e8062ea4b821d70c926096ae58a8feb33c6b796726d2dcc886c58e8293f99ac92a7 SHA512 7650ff592e6f5a0393f794fbdf17a28ad228a2d29ca79685c9ab8d9ec395554f1691b2a0d061e6248cf542f89be4d9a68884f7b24de7c8ddfef9c02cfeedda73
+DIST gopkg.in%2Fnatefinch%2Flumberjack.v2%2F@v%2Fv2.0.0.mod 40 BLAKE2B 33144c2d794f0c82dd97c993506bb6267aa9c65eb99c535e92b206dfdbba0d257a64b12d553f85ec2c770c87c196db9fda863c7f757778e4b36d4cb0fc98f844 SHA512 93ccbb29e7c38516a22d7ac174d4c2e9b87203061ae7bcdffa92499f30470e90d7e88f515f789e1a15c34cfaa6e7c50249e3d26ea1ef8b2afcd92dde62cba044
+DIST gopkg.in%2Fnatefinch%2Flumberjack.v2%2F@v%2Fv2.0.0.zip 17854 BLAKE2B 5580929fb891fd24550919ed250bbf70129f991a250669895a8b22d40ec40e691646dee8c243b39ce5f36accdfd749d46276b0358daf0512371f09f516819949 SHA512 26024daf1aec9a7b1e760b6fe789dd66d3f8300a9b413098c044d3f7c47d050dbad9809f9c807a1c8eb45d9d12d1821a45c8c8f0b14a96cfdf9752e271bb4de4
+DIST gopkg.in%2Fresty.v1%2F@v%2Fv1.12.0.mod 86 BLAKE2B a2c81f0cabd00084e6e52de82e9ba9a5bdf42d45123b7a58ebe4baa07b41631498c7590535884282869c4947b4f4f9ea0f41bfd28c1c7bbd516ea5631f207e30 SHA512 84c11a71dfd5f94cbcc79aaa8d387600ea3eec89cdb44bc63e55daad5700dc20aa719ce7a5c960cf97900231bedd118afbd93c408aec449e68ed5d8c5641ff57
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.0.0-20170812160011-eb3733d160e7.mod 24 BLAKE2B 1cb17a1c6b1eb33cebd983f9e965f6db03f5095441d7cd72aff6df805501eef4dc249c22ecc85da360c27696a7c4ae613f0769a1f89e73f286281de89ffd3ef2 SHA512 89b481cc62ed7a486990ebfcf65cf7a344e5d189deef680e6ddd82dc93f31d166af05fc27b4a95ea27c33fd3ced1b87d4050d617d52008ca059c4a5d3b6c26a9
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.1.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.3.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.4.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.5.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.8.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.3.0.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.4.0.mod 95 BLAKE2B 888532a43aa7569fc03a62d78507081f30342eb4be40c01252683b16cd3658dd7b30d5f8a071dffe2c05f57bbee3afbc1ee4324c471788c633a878d498ff7d57 SHA512 2790882fbfa812468b9b3443630b1f1ee67a968eb20da8e4a1bfd410e4b516a8a7e77c07414b64f17e11e2151161b85d019e172cc833a45b19e66d4c70f89f82
+DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.4.0.zip 81183 BLAKE2B 0e3222d715fe7e9e8e9a10abad817f75bdd095f9af250d6bdf1ee2881930c739111de8b526175c9204995c48e0ade9852541a7f22b0ce1261f473986a2739182 SHA512 d6f4ac547609c943adfc6b518ff03ac09da566ba2b29466abe8f6db3d5a41ae7e5c187068dce4e77271905b1aa88497ca49a43bb9bbf9c94011b7ccf1b4b2f42
+DIST gopkg.in%2Fyaml.v3%2F@v%2Fv3.0.0-20200313102051-9f266ea9e77c.mod 95 BLAKE2B fbb87f0644ec9da5d4386358d23cdb15b0d23e8212e712f16f338455a3a0ad19fbfd63e92c955c359237ddfa8bb76d6d08280eead24d321668431891eca1e8ab SHA512 307ca9123efc577ca04828996ee9d8edbb51794ccb4b8d9f169ba689e7276aa5f6ae106a04b22b7fab853ffacfebcbf74468b64eaefd57445864c1fbc77fad9d
+DIST gopkg.in%2Fyaml.v3%2F@v%2Fv3.0.0-20210107192922-496545a6307b.mod 95 BLAKE2B fbb87f0644ec9da5d4386358d23cdb15b0d23e8212e712f16f338455a3a0ad19fbfd63e92c955c359237ddfa8bb76d6d08280eead24d321668431891eca1e8ab SHA512 307ca9123efc577ca04828996ee9d8edbb51794ccb4b8d9f169ba689e7276aa5f6ae106a04b22b7fab853ffacfebcbf74468b64eaefd57445864c1fbc77fad9d
+DIST gopkg.in%2Fyaml.v3%2F@v%2Fv3.0.0-20210107192922-496545a6307b.zip 105245 BLAKE2B f0bcfd9d097905364d9c2b032b92a8aad64b63e0942eb864759b156eb97ac58769fbc035acf4ba57bd55db1b6596499ddc6d36e6d2e5cc584c2a465256ca3a73 SHA512 f9c0400f1f5590d7185ae3fdac7adf1787a5f5198e52ebd02841b7df5113c5e34de6a66fa01b2f5735be4b21190dffb46e9d8b084ad5c00ebd99599a39ff73db
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190102054323-c2f93a96b099.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190106161140-3f1c8253044a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190418001031-e561f6794a2a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190523083050-ea95bdfd59fc.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
+DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.1-2019.2.3.mod 300 BLAKE2B 3e3f5a2be0918cbaacd5e43e59fcc6c7c6999645f0c9214cd5a522c31d34b6d3dad61e3ddae8ccdb2f3f0d90b406c047802ee3d9d54dc40fe6eff9cd35620792 SHA512 0c8aa788d0c03d6d049f0dd7468d0f81ce2131ccedd5a5a3a18362b7d30eef7ef325277844eefe4b707b1ad71c6f83a44e110b7af7b98e05406d347237a7bafb
+DIST rsc.io%2Fbinaryregexp%2F@v%2Fv0.2.0.mod 36 BLAKE2B 61110bed2b9e99e0250cf6e8b842257202c89b3462edf9368b73cab29f9dbd4dcc66c3e290a1d6329b7d62321eecc52082a8c4c0797eac743a29a8a00910a93f SHA512 db50ff677b0bdccbc1a1ad3df7c5cc76f2fcccf3ab99d08d1c2868440eb9b893fe89452f4286f7d42f2f16abf0f4acda67fe86e174dcfa730a743aafcc166774
+DIST sigs.k8s.io%2Fyaml%2F@v%2Fv1.2.0.mod 106 BLAKE2B bd5d8af6c5046c6de9b171ea2915c308de08e9696a8c82b3831bf5dc01f8aefc21b13b5b9a210f24ff8782909308137c25363074753427109e009889b7860f5f SHA512 712a936d07bfe4c2e67a4f199346d7e96db35486a0f051365c4636ddbc6505cf540995bc67e6a03b1b58e1e4816ece573418f23bf9ce93fcdc141a05f922f527
+DIST sigs.k8s.io%2Fyaml%2F@v%2Fv1.2.0.zip 20937 BLAKE2B 1bc20da34d11c6704b2d34eb93b06fd376d1b0932626c7dcbdaf43df8c8eb14e07529e84e028576bb67ce1961c3c86d0303d375d8d0aa372ded259c3561b9291 SHA512 52a52b3d380ae6e2cbe1b2c849d3089f74aa876fb3fadfbd02eada97446e0f2cf387f10ddb527f2dfefd57dccba8c82b0b349efbecaa0e6e3d00dc2b5d4fc21e
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-db/etcdctl/etcdctl-3.5.0.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-db/etcdctl/etcdctl-3.5.0.ebuild
new file mode 100644
index 0000000000..6791566d89
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-db/etcdctl/etcdctl-3.5.0.ebuild
@@ -0,0 +1,607 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="The etcd command line client, v3, compatible with v2"
+HOMEPAGE="https://github.com/etcd-io/etcd"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE=""
+
+S=${WORKDIR}/etcd-${PV}
+
+inherit coreos-go-utils go-module
+
+# generated by merging /go.sum and /etcdctl/go.sum
+EGO_SUM=(
+ "cloud.google.com/go v0.26.0/go.mod"
+ "cloud.google.com/go v0.34.0/go.mod"
+ "cloud.google.com/go v0.38.0/go.mod"
+ "cloud.google.com/go v0.44.1/go.mod"
+ "cloud.google.com/go v0.44.2/go.mod"
+ "cloud.google.com/go v0.45.1/go.mod"
+ "cloud.google.com/go v0.46.3"
+ "cloud.google.com/go v0.46.3/go.mod"
+ "cloud.google.com/go/bigquery v1.0.1/go.mod"
+ "cloud.google.com/go/datastore v1.0.0/go.mod"
+ "cloud.google.com/go/firestore v1.1.0/go.mod"
+ "cloud.google.com/go/pubsub v1.0.1/go.mod"
+ "cloud.google.com/go/storage v1.0.0/go.mod"
+ "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod"
+ "github.com/BurntSushi/toml v0.3.1"
+ "github.com/BurntSushi/toml v0.3.1/go.mod"
+ "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
+ "github.com/OneOfOne/xxhash v1.2.2/go.mod"
+ "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
+ "github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod"
+ "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
+ "github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod"
+ "github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod"
+ "github.com/antihax/optional v1.0.0/go.mod"
+ "github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod"
+ "github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod"
+ "github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod"
+ "github.com/benbjohnson/clock v1.0.3"
+ "github.com/benbjohnson/clock v1.0.3/go.mod"
+ "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
+ "github.com/beorn7/perks v1.0.0/go.mod"
+ "github.com/beorn7/perks v1.0.1"
+ "github.com/beorn7/perks v1.0.1/go.mod"
+ "github.com/bgentry/speakeasy v0.1.0"
+ "github.com/bgentry/speakeasy v0.1.0/go.mod"
+ "github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod"
+ "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
+ "github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod"
+ "github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054"
+ "github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod"
+ "github.com/cespare/xxhash v1.1.0"
+ "github.com/cespare/xxhash v1.1.0/go.mod"
+ "github.com/cespare/xxhash/v2 v2.1.1"
+ "github.com/cespare/xxhash/v2 v2.1.1/go.mod"
+ "github.com/client9/misspell v0.3.4/go.mod"
+ "github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod"
+ "github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod"
+ "github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5"
+ "github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod"
+ "github.com/cockroachdb/errors v1.2.4"
+ "github.com/cockroachdb/errors v1.2.4/go.mod"
+ "github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f"
+ "github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod"
+ "github.com/coreos/bbolt v1.3.2/go.mod"
+ "github.com/coreos/etcd v3.3.13+incompatible/go.mod"
+ "github.com/coreos/go-semver v0.3.0"
+ "github.com/coreos/go-semver v0.3.0/go.mod"
+ "github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e"
+ "github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod"
+ "github.com/coreos/go-systemd/v22 v22.3.2"
+ "github.com/coreos/go-systemd/v22 v22.3.2/go.mod"
+ "github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod"
+ "github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod"
+ "github.com/cpuguy83/go-md2man/v2 v2.0.0"
+ "github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod"
+ "github.com/creack/pty v1.1.9/go.mod"
+ "github.com/creack/pty v1.1.11/go.mod"
+ "github.com/davecgh/go-spew v1.1.0/go.mod"
+ "github.com/davecgh/go-spew v1.1.1"
+ "github.com/davecgh/go-spew v1.1.1/go.mod"
+ "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
+ "github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod"
+ "github.com/dustin/go-humanize v1.0.0"
+ "github.com/dustin/go-humanize v1.0.0/go.mod"
+ "github.com/envoyproxy/go-control-plane v0.9.0/go.mod"
+ "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
+ "github.com/envoyproxy/go-control-plane v0.9.4/go.mod"
+ "github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod"
+ "github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod"
+ "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
+ "github.com/etcd-io/gofail v0.0.0-20190801230047-ad7f989257ca/go.mod"
+ "github.com/fatih/color v1.7.0"
+ "github.com/fatih/color v1.7.0/go.mod"
+ "github.com/form3tech-oss/jwt-go v3.2.3+incompatible"
+ "github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod"
+ "github.com/fsnotify/fsnotify v1.4.7/go.mod"
+ "github.com/getsentry/raven-go v0.2.0"
+ "github.com/getsentry/raven-go v0.2.0/go.mod"
+ "github.com/ghodss/yaml v1.0.0/go.mod"
+ "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod"
+ "github.com/go-kit/kit v0.8.0/go.mod"
+ "github.com/go-kit/kit v0.9.0/go.mod"
+ "github.com/go-kit/log v0.1.0/go.mod"
+ "github.com/go-logfmt/logfmt v0.3.0/go.mod"
+ "github.com/go-logfmt/logfmt v0.4.0/go.mod"
+ "github.com/go-logfmt/logfmt v0.5.0/go.mod"
+ "github.com/go-stack/stack v1.8.0/go.mod"
+ "github.com/godbus/dbus/v5 v5.0.4/go.mod"
+ "github.com/gogo/protobuf v1.1.1/go.mod"
+ "github.com/gogo/protobuf v1.2.1/go.mod"
+ "github.com/gogo/protobuf v1.3.1/go.mod"
+ "github.com/gogo/protobuf v1.3.2"
+ "github.com/gogo/protobuf v1.3.2/go.mod"
+ "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
+ "github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod"
+ "github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da"
+ "github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod"
+ "github.com/golang/mock v1.1.1/go.mod"
+ "github.com/golang/mock v1.2.0/go.mod"
+ "github.com/golang/mock v1.3.1/go.mod"
+ "github.com/golang/protobuf v1.2.0/go.mod"
+ "github.com/golang/protobuf v1.3.1/go.mod"
+ "github.com/golang/protobuf v1.3.2/go.mod"
+ "github.com/golang/protobuf v1.3.3/go.mod"
+ "github.com/golang/protobuf v1.4.0-rc.1/go.mod"
+ "github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod"
+ "github.com/golang/protobuf v1.4.0-rc.2/go.mod"
+ "github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod"
+ "github.com/golang/protobuf v1.4.0/go.mod"
+ "github.com/golang/protobuf v1.4.1/go.mod"
+ "github.com/golang/protobuf v1.4.2/go.mod"
+ "github.com/golang/protobuf v1.4.3/go.mod"
+ "github.com/golang/protobuf v1.5.0/go.mod"
+ "github.com/golang/protobuf v1.5.1/go.mod"
+ "github.com/golang/protobuf v1.5.2"
+ "github.com/golang/protobuf v1.5.2/go.mod"
+ "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
+ "github.com/google/btree v1.0.0/go.mod"
+ "github.com/google/btree v1.0.1"
+ "github.com/google/btree v1.0.1/go.mod"
+ "github.com/google/go-cmp v0.2.0/go.mod"
+ "github.com/google/go-cmp v0.3.0/go.mod"
+ "github.com/google/go-cmp v0.3.1/go.mod"
+ "github.com/google/go-cmp v0.4.0/go.mod"
+ "github.com/google/go-cmp v0.5.0/go.mod"
+ "github.com/google/go-cmp v0.5.4/go.mod"
+ "github.com/google/go-cmp v0.5.5"
+ "github.com/google/go-cmp v0.5.5/go.mod"
+ "github.com/google/gofuzz v1.0.0/go.mod"
+ "github.com/google/martian v2.1.0+incompatible/go.mod"
+ "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
+ "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
+ "github.com/google/renameio v0.1.0/go.mod"
+ "github.com/google/uuid v1.1.2/go.mod"
+ "github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
+ "github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
+ "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
+ "github.com/gorilla/websocket v1.4.2"
+ "github.com/gorilla/websocket v1.4.2/go.mod"
+ "github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod"
+ "github.com/grpc-ecosystem/go-grpc-middleware v1.3.0"
+ "github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod"
+ "github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0"
+ "github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod"
+ "github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod"
+ "github.com/grpc-ecosystem/grpc-gateway v1.16.0"
+ "github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod"
+ "github.com/hashicorp/consul/api v1.1.0/go.mod"
+ "github.com/hashicorp/consul/sdk v0.1.1/go.mod"
+ "github.com/hashicorp/errwrap v1.0.0/go.mod"
+ "github.com/hashicorp/go-cleanhttp v0.5.1/go.mod"
+ "github.com/hashicorp/go-immutable-radix v1.0.0/go.mod"
+ "github.com/hashicorp/go-msgpack v0.5.3/go.mod"
+ "github.com/hashicorp/go-multierror v1.0.0/go.mod"
+ "github.com/hashicorp/go-rootcerts v1.0.0/go.mod"
+ "github.com/hashicorp/go-sockaddr v1.0.0/go.mod"
+ "github.com/hashicorp/go-syslog v1.0.0/go.mod"
+ "github.com/hashicorp/go-uuid v1.0.0/go.mod"
+ "github.com/hashicorp/go-uuid v1.0.1/go.mod"
+ "github.com/hashicorp/go.net v0.0.1/go.mod"
+ "github.com/hashicorp/golang-lru v0.5.0/go.mod"
+ "github.com/hashicorp/golang-lru v0.5.1/go.mod"
+ "github.com/hashicorp/hcl v1.0.0/go.mod"
+ "github.com/hashicorp/logutils v1.0.0/go.mod"
+ "github.com/hashicorp/mdns v1.0.0/go.mod"
+ "github.com/hashicorp/memberlist v0.1.3/go.mod"
+ "github.com/hashicorp/serf v0.8.2/go.mod"
+ "github.com/inconshreveable/mousetrap v1.0.0"
+ "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
+ "github.com/jonboulle/clockwork v0.1.0/go.mod"
+ "github.com/jonboulle/clockwork v0.2.2"
+ "github.com/jonboulle/clockwork v0.2.2/go.mod"
+ "github.com/jpillora/backoff v1.0.0/go.mod"
+ "github.com/json-iterator/go v1.1.6/go.mod"
+ "github.com/json-iterator/go v1.1.10/go.mod"
+ "github.com/json-iterator/go v1.1.11"
+ "github.com/json-iterator/go v1.1.11/go.mod"
+ "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
+ "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
+ "github.com/julienschmidt/httprouter v1.2.0/go.mod"
+ "github.com/julienschmidt/httprouter v1.3.0/go.mod"
+ "github.com/kisielk/errcheck v1.1.0/go.mod"
+ "github.com/kisielk/errcheck v1.2.0/go.mod"
+ "github.com/kisielk/errcheck v1.5.0/go.mod"
+ "github.com/kisielk/gotool v1.0.0/go.mod"
+ "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
+ "github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod"
+ "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
+ "github.com/kr/pretty v0.1.0"
+ "github.com/kr/pretty v0.1.0/go.mod"
+ "github.com/kr/pty v1.1.1/go.mod"
+ "github.com/kr/text v0.1.0/go.mod"
+ "github.com/kr/text v0.2.0"
+ "github.com/kr/text v0.2.0/go.mod"
+ "github.com/magiconair/properties v1.8.1/go.mod"
+ "github.com/mattn/go-colorable v0.0.9"
+ "github.com/mattn/go-colorable v0.0.9/go.mod"
+ "github.com/mattn/go-isatty v0.0.3"
+ "github.com/mattn/go-isatty v0.0.3/go.mod"
+ "github.com/mattn/go-runewidth v0.0.9"
+ "github.com/mattn/go-runewidth v0.0.9/go.mod"
+ "github.com/matttproud/golang_protobuf_extensions v1.0.1"
+ "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
+ "github.com/miekg/dns v1.0.14/go.mod"
+ "github.com/mitchellh/cli v1.0.0/go.mod"
+ "github.com/mitchellh/go-homedir v1.0.0/go.mod"
+ "github.com/mitchellh/go-homedir v1.1.0/go.mod"
+ "github.com/mitchellh/go-testing-interface v1.0.0/go.mod"
+ "github.com/mitchellh/gox v0.4.0/go.mod"
+ "github.com/mitchellh/iochan v1.0.0/go.mod"
+ "github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod"
+ "github.com/mitchellh/mapstructure v1.1.2/go.mod"
+ "github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod"
+ "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd"
+ "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
+ "github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod"
+ "github.com/modern-go/reflect2 v1.0.1"
+ "github.com/modern-go/reflect2 v1.0.1/go.mod"
+ "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
+ "github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod"
+ "github.com/oklog/ulid v1.3.1/go.mod"
+ "github.com/olekukonko/tablewriter v0.0.5"
+ "github.com/olekukonko/tablewriter v0.0.5/go.mod"
+ "github.com/opentracing/opentracing-go v1.1.0/go.mod"
+ "github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod"
+ "github.com/pelletier/go-toml v1.2.0/go.mod"
+ "github.com/pkg/errors v0.8.0/go.mod"
+ "github.com/pkg/errors v0.8.1/go.mod"
+ "github.com/pkg/errors v0.9.1"
+ "github.com/pkg/errors v0.9.1/go.mod"
+ "github.com/pmezard/go-difflib v1.0.0"
+ "github.com/pmezard/go-difflib v1.0.0/go.mod"
+ "github.com/posener/complete v1.1.1/go.mod"
+ "github.com/prometheus/client_golang v0.9.1/go.mod"
+ "github.com/prometheus/client_golang v0.9.3/go.mod"
+ "github.com/prometheus/client_golang v1.0.0/go.mod"
+ "github.com/prometheus/client_golang v1.7.1/go.mod"
+ "github.com/prometheus/client_golang v1.11.0"
+ "github.com/prometheus/client_golang v1.11.0/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
+ "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
+ "github.com/prometheus/client_model v0.2.0"
+ "github.com/prometheus/client_model v0.2.0/go.mod"
+ "github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod"
+ "github.com/prometheus/common v0.4.0/go.mod"
+ "github.com/prometheus/common v0.4.1/go.mod"
+ "github.com/prometheus/common v0.10.0/go.mod"
+ "github.com/prometheus/common v0.26.0"
+ "github.com/prometheus/common v0.26.0/go.mod"
+ "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
+ "github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod"
+ "github.com/prometheus/procfs v0.0.2/go.mod"
+ "github.com/prometheus/procfs v0.1.3/go.mod"
+ "github.com/prometheus/procfs v0.6.0"
+ "github.com/prometheus/procfs v0.6.0/go.mod"
+ "github.com/prometheus/tsdb v0.7.1/go.mod"
+ "github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod"
+ "github.com/rogpeppe/fastuuid v1.2.0/go.mod"
+ "github.com/rogpeppe/go-internal v1.3.0/go.mod"
+ "github.com/russross/blackfriday/v2 v2.0.1/go.mod"
+ "github.com/russross/blackfriday/v2 v2.0.1"
+ "github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod"
+ "github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod"
+ "github.com/shurcooL/sanitized_anchor_name v1.0.0"
+ "github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod"
+ "github.com/sirupsen/logrus v1.2.0/go.mod"
+ "github.com/sirupsen/logrus v1.4.2/go.mod"
+ "github.com/sirupsen/logrus v1.6.0/go.mod"
+ "github.com/sirupsen/logrus v1.7.0"
+ "github.com/sirupsen/logrus v1.7.0/go.mod"
+ "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
+ "github.com/smartystreets/goconvey v1.6.4/go.mod"
+ "github.com/soheilhy/cmux v0.1.4/go.mod"
+ "github.com/soheilhy/cmux v0.1.5"
+ "github.com/soheilhy/cmux v0.1.5/go.mod"
+ "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod"
+ "github.com/spf13/afero v1.1.2/go.mod"
+ "github.com/spf13/cast v1.3.0/go.mod"
+ "github.com/spf13/cobra v1.1.3"
+ "github.com/spf13/cobra v1.1.3/go.mod"
+ "github.com/spf13/jwalterweatherman v1.0.0/go.mod"
+ "github.com/spf13/pflag v1.0.3/go.mod"
+ "github.com/spf13/pflag v1.0.5"
+ "github.com/spf13/pflag v1.0.5/go.mod"
+ "github.com/spf13/viper v1.7.0/go.mod"
+ "github.com/stretchr/objx v0.1.0/go.mod"
+ "github.com/stretchr/objx v0.1.1/go.mod"
+ "github.com/stretchr/testify v1.2.2/go.mod"
+ "github.com/stretchr/testify v1.3.0/go.mod"
+ "github.com/stretchr/testify v1.4.0/go.mod"
+ "github.com/stretchr/testify v1.5.1/go.mod"
+ "github.com/stretchr/testify v1.7.0"
+ "github.com/stretchr/testify v1.7.0/go.mod"
+ "github.com/subosito/gotenv v1.2.0/go.mod"
+ "github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod"
+ "github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802"
+ "github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod"
+ "github.com/urfave/cli v1.22.4"
+ "github.com/urfave/cli v1.22.4/go.mod"
+ "github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2"
+ "github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod"
+ "github.com/yuin/goldmark v1.1.27/go.mod"
+ "github.com/yuin/goldmark v1.2.1/go.mod"
+ "github.com/yuin/goldmark v1.3.5/go.mod"
+ "go.etcd.io/bbolt v1.3.2/go.mod"
+ "go.etcd.io/bbolt v1.3.6"
+ "go.etcd.io/bbolt v1.3.6/go.mod"
+ "go.opencensus.io v0.21.0/go.mod"
+ "go.opencensus.io v0.22.0/go.mod"
+ "go.opentelemetry.io/contrib v0.20.0"
+ "go.opentelemetry.io/contrib v0.20.0/go.mod"
+ "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0"
+ "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod"
+ "go.opentelemetry.io/otel v0.20.0"
+ "go.opentelemetry.io/otel v0.20.0/go.mod"
+ "go.opentelemetry.io/otel/exporters/otlp v0.20.0"
+ "go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod"
+ "go.opentelemetry.io/otel/metric v0.20.0"
+ "go.opentelemetry.io/otel/metric v0.20.0/go.mod"
+ "go.opentelemetry.io/otel/oteltest v0.20.0"
+ "go.opentelemetry.io/otel/oteltest v0.20.0/go.mod"
+ "go.opentelemetry.io/otel/sdk v0.20.0"
+ "go.opentelemetry.io/otel/sdk v0.20.0/go.mod"
+ "go.opentelemetry.io/otel/sdk/export/metric v0.20.0"
+ "go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod"
+ "go.opentelemetry.io/otel/sdk/metric v0.20.0"
+ "go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod"
+ "go.opentelemetry.io/otel/trace v0.20.0"
+ "go.opentelemetry.io/otel/trace v0.20.0/go.mod"
+ "go.opentelemetry.io/proto/otlp v0.7.0"
+ "go.opentelemetry.io/proto/otlp v0.7.0/go.mod"
+ "go.uber.org/atomic v1.4.0/go.mod"
+ "go.uber.org/atomic v1.7.0"
+ "go.uber.org/atomic v1.7.0/go.mod"
+ "go.uber.org/goleak v1.1.10"
+ "go.uber.org/goleak v1.1.10/go.mod"
+ "go.uber.org/multierr v1.1.0/go.mod"
+ "go.uber.org/multierr v1.6.0"
+ "go.uber.org/multierr v1.6.0/go.mod"
+ "go.uber.org/zap v1.10.0/go.mod"
+ "go.uber.org/zap v1.17.0"
+ "go.uber.org/zap v1.17.0/go.mod"
+ "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
+ "golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod"
+ "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
+ "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
+ "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
+ "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod"
+ "golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod"
+ "golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0"
+ "golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod"
+ "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
+ "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod"
+ "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
+ "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod"
+ "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod"
+ "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
+ "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod"
+ "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
+ "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
+ "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
+ "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
+ "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
+ "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod"
+ "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
+ "golang.org/x/lint v0.0.0-20210508222113-6edffad5e616"
+ "golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod"
+ "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
+ "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod"
+ "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
+ "golang.org/x/mod v0.1.0/go.mod"
+ "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod"
+ "golang.org/x/mod v0.2.0/go.mod"
+ "golang.org/x/mod v0.3.0/go.mod"
+ "golang.org/x/mod v0.4.2/go.mod"
+ "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
+ "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
+ "golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod"
+ "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
+ "golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod"
+ "golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod"
+ "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
+ "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
+ "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
+ "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
+ "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
+ "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
+ "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
+ "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
+ "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
+ "golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod"
+ "golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod"
+ "golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod"
+ "golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod"
+ "golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod"
+ "golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4"
+ "golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
+ "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d"
+ "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod"
+ "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
+ "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
+ "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
+ "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
+ "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
+ "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
+ "golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod"
+ "golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod"
+ "golang.org/x/sync v0.0.0-20210220032951-036812b2e83c"
+ "golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod"
+ "golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod"
+ "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
+ "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
+ "golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod"
+ "golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod"
+ "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod"
+ "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
+ "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod"
+ "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
+ "golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
+ "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
+ "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
+ "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod"
+ "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod"
+ "golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod"
+ "golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod"
+ "golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod"
+ "golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod"
+ "golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod"
+ "golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod"
+ "golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod"
+ "golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
+ "golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod"
+ "golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod"
+ "golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod"
+ "golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod"
+ "golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40"
+ "golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod"
+ "golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod"
+ "golang.org/x/text v0.3.0/go.mod"
+ "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
+ "golang.org/x/text v0.3.2/go.mod"
+ "golang.org/x/text v0.3.3/go.mod"
+ "golang.org/x/text v0.3.5"
+ "golang.org/x/text v0.3.5/go.mod"
+ "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
+ "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
+ "golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba"
+ "golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod"
+ "golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod"
+ "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
+ "golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod"
+ "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
+ "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
+ "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
+ "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
+ "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
+ "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
+ "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
+ "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
+ "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
+ "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
+ "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
+ "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
+ "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod"
+ "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod"
+ "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod"
+ "golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod"
+ "golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod"
+ "golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod"
+ "golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod"
+ "golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod"
+ "golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod"
+ "golang.org/x/tools v0.1.2"
+ "golang.org/x/tools v0.1.2/go.mod"
+ "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
+ "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod"
+ "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
+ "golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1"
+ "golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod"
+ "google.golang.org/api v0.4.0/go.mod"
+ "google.golang.org/api v0.7.0/go.mod"
+ "google.golang.org/api v0.8.0/go.mod"
+ "google.golang.org/api v0.9.0/go.mod"
+ "google.golang.org/api v0.13.0/go.mod"
+ "google.golang.org/appengine v1.1.0/go.mod"
+ "google.golang.org/appengine v1.4.0/go.mod"
+ "google.golang.org/appengine v1.5.0/go.mod"
+ "google.golang.org/appengine v1.6.1"
+ "google.golang.org/appengine v1.6.1/go.mod"
+ "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
+ "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
+ "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
+ "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
+ "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
+ "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
+ "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
+ "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod"
+ "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod"
+ "google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod"
+ "google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod"
+ "google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod"
+ "google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c"
+ "google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod"
+ "google.golang.org/grpc v1.19.0/go.mod"
+ "google.golang.org/grpc v1.20.1/go.mod"
+ "google.golang.org/grpc v1.21.1/go.mod"
+ "google.golang.org/grpc v1.23.0/go.mod"
+ "google.golang.org/grpc v1.25.1/go.mod"
+ "google.golang.org/grpc v1.27.0/go.mod"
+ "google.golang.org/grpc v1.29.1/go.mod"
+ "google.golang.org/grpc v1.33.1/go.mod"
+ "google.golang.org/grpc v1.36.0/go.mod"
+ "google.golang.org/grpc v1.37.0/go.mod"
+ "google.golang.org/grpc v1.38.0"
+ "google.golang.org/grpc v1.38.0/go.mod"
+ "google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod"
+ "google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod"
+ "google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod"
+ "google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod"
+ "google.golang.org/protobuf v1.21.0/go.mod"
+ "google.golang.org/protobuf v1.22.0/go.mod"
+ "google.golang.org/protobuf v1.23.0/go.mod"
+ "google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod"
+ "google.golang.org/protobuf v1.25.0/go.mod"
+ "google.golang.org/protobuf v1.26.0-rc.1/go.mod"
+ "google.golang.org/protobuf v1.26.0"
+ "google.golang.org/protobuf v1.26.0/go.mod"
+ "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
+ "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
+ "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
+ "gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15"
+ "gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
+ "gopkg.in/cheggaaa/pb.v1 v1.0.28"
+ "gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod"
+ "gopkg.in/errgo.v2 v2.1.0/go.mod"
+ "gopkg.in/ini.v1 v1.51.0/go.mod"
+ "gopkg.in/natefinch/lumberjack.v2 v2.0.0"
+ "gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod"
+ "gopkg.in/resty.v1 v1.12.0/go.mod"
+ "gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod"
+ "gopkg.in/yaml.v2 v2.2.1/go.mod"
+ "gopkg.in/yaml.v2 v2.2.2/go.mod"
+ "gopkg.in/yaml.v2 v2.2.3/go.mod"
+ "gopkg.in/yaml.v2 v2.2.4/go.mod"
+ "gopkg.in/yaml.v2 v2.2.5/go.mod"
+ "gopkg.in/yaml.v2 v2.2.8/go.mod"
+ "gopkg.in/yaml.v2 v2.3.0/go.mod"
+ "gopkg.in/yaml.v2 v2.4.0"
+ "gopkg.in/yaml.v2 v2.4.0/go.mod"
+ "gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod"
+ "gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b"
+ "gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod"
+ "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
+ "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
+ "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
+ "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
+ "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
+ "rsc.io/binaryregexp v0.2.0/go.mod"
+ "sigs.k8s.io/yaml v1.2.0"
+ "sigs.k8s.io/yaml v1.2.0/go.mod"
+)
+
+go-module_set_globals
+
+SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ ${EGO_SUM_SRC_URI}"
+
+src_compile() {
+ go_export
+ { cd etcdctl && CGO_ENABLED=0 go build -v -installsuffix=cgo -ldflags=-X=go.etcd.io/etcd/api/v3/version.GitSHA=GitNotFound -o=../bin/etcdctl . && cd .. ; } || die "build failed"
+}
+
+src_install() {
+ dobin ${WORKDIR}/etcd-${PV}/bin/etcdctl
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-db/etcdctl/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-db/etcdctl/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-db/etcdctl/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/ChangeLog b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/ChangeLog
new file mode 100644
index 0000000000..6e69f814a4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/ChangeLog
@@ -0,0 +1,17 @@
+# ChangeLog for dev-lang/go-bootstrap
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/go-bootstrap/ChangeLog,v 1.2 2015/03/18 00:51:29 williamh Exp $
+
+*go-bootstrap-1.4.2 (18 Mar 2015)
+
+ 18 Mar 2015; William Hubbs +go-bootstrap-1.4.2.ebuild:
+ version bump
+
+*go-bootstrap-1.4.1 (20 Jan 2015)
+
+ 20 Jan 2015; William Hubbs +go-bootstrap-1.4.1.ebuild,
+ +metadata.xml:
+ Initial commit of go-bootstrap for bug #536960.
+ go-bootstrap is intended only as a build time dependency used to build
+ newer versions of go.
+ See https://golang.org/s/go15bootstrap for how this works.
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/Manifest
new file mode 100644
index 0000000000..110c990929
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/Manifest
@@ -0,0 +1,2 @@
+DIST go-linux-amd64-bootstrap.tbz 48722911 SHA256 0ab0842fb1f6cc6f10a85f225ff1a2b9e5e4b38128a7136d0c1896819421a986 SHA512 ce4dbc979b63a4612f4a8f7e7a6c5247e11bbc3a2d62ab0537a1b405ec8ab22f153012421d2240a7d6a4f91a79bb3f1370454f9e843fac43b99757c17134e5b7 WHIRLPOOL a94d0e0a1c44e3385d23f8973d15e6ef041450a3578c38987f158c4f9f231d315bc5204539d9dc7322cc9ecb96b7618b22d023f906474e1348c5d666792dff58
+DIST go-linux-arm64-bootstrap.tbz 45369354 SHA256 810c998e6701580fe0f26d46c5796eefce648e252ff9d6d761304e60556b7fc0 SHA512 3f64869430c03efa77796ed74d07a337e2a205802485605cbdd67778a08e5ce041ce3925b7a5cca0a6b4ad24ab70e07ee54091b010f67ec7370a985022f5a21e WHIRLPOOL f6f470081d5f23c190310280aaf7454a4f58fe4e7545bbd219046711f8d27ce97cc5f5f1c207e777067d1f6332e4b3f2c819b178e899d21c2d5d1d466a42cc37
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.5.3.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.5.3.ebuild
new file mode 100644
index 0000000000..047bfb4cc1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.5.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit coreos-go-utils
+
+BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
+SRC_URI="amd64? ( ${BOOTSTRAP_DIST}/go-linux-amd64-bootstrap.tbz )
+ arm64? ( ${BOOTSTRAP_DIST}/go-linux-arm64-bootstrap.tbz )
+"
+
+KEYWORDS="-* amd64 arm64"
+
+DESCRIPTION="Version of go compiler used for bootstrapping"
+HOMEPAGE="http://www.golang.org"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+# Disable all QA_* checks since these are pre-built binaries.
+QA_PREBUILT="usr/lib/go-bootstrap/*"
+
+# Test data is never executed so don't check link dependencies.
+REQUIRES_EXCLUDE="/usr/lib/go-bootstrap/src/debug/elf/testdata/*"
+
+# The go language uses *.a files which are _NOT_ libraries and should not be
+# stripped. The test data objects should also be left alone and unstripped.
+STRIP_MASK="*.a /usr/lib/go-bootstrap/src/*"
+
+S="${WORKDIR}"/go-$(go_os)-$(go_arch)-bootstrap
+
+src_install() {
+ dodir /usr/lib/go-bootstrap
+ exeinto /usr/lib/go-bootstrap/bin
+ doexe bin/*
+
+ insopts -m0644 -p # preserve timestamps
+ insinto /usr/lib/go-bootstrap
+ doins -r lib pkg src
+ fperms -R +x /usr/lib/go-bootstrap/pkg/tool
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/metadata.xml
new file mode 100644
index 0000000000..afdfdb9907
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/metadata.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ williamh@gentoo.org
+ William Hubbs
+
+
+ This package is only necessary until gccgo supports go-1.4. It
+ will be removed as soon as stable gcc supports this.
+ It is here so that >=dev-lang/go 1.5 can use it to bootstrap.
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/Manifest
new file mode 100644
index 0000000000..cb608252bf
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/Manifest
@@ -0,0 +1,2 @@
+DIST go1.12.17.src.tar.gz 20725913 BLAKE2B 2eef7374195302656268a42409619445dfeb3ede1f9218ae4eab195916876b97f7510cc62585a0bfdd9f86dddf8a74000032a84b29bc9891d84fc69db94f0274 SHA512 069f8f445d9d2268ebb14b2446fab34843d56283c04561636d122fd8b4c1ea0b63640a84437db7a7be71039440ffe170cd3f8025b03b0acf95f2a56fa2febec6
+DIST go1.17.8.src.tar.gz 22199282 BLAKE2B 359089402c4f67b8102689a5772f6a168938c57fc3c809681f65f95725ce0a3b528d6cdfeff0da50844f5cfdb941d427658907c30597872315b1fd68a3a61be8 SHA512 21d5c51ce62bc3b987dd5bf7c6b7e1a934fe40582bfbbe99ca80c26d41253e796a4b9d02c571f1e5ab3fd7c3950175e23b9929b0d934f421c96a6d6128c44668
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go/files/go-1.12-revert-url-parsing-change.patch b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/files/go-1.12-revert-url-parsing-change.patch
new file mode 100644
index 0000000000..c51555fd9e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/files/go-1.12-revert-url-parsing-change.patch
@@ -0,0 +1,241 @@
+From 509793509fee8ada6d2d28cf0cd885a8f270bcf6 Mon Sep 17 00:00:00 2001
+From: Benjamin Gilbert
+Date: Tue, 8 Oct 2019 20:43:53 -0400
+Subject: [PATCH] Revert "[release-branch.go1.12-security] net/url: make
+ Hostname and Port predictable for invalid Host values"
+
+This breaks rkt for docker:// URLs that don't specify a registry.
+
+This reverts commit 3226f2d492963d361af9dfc6714ef141ba606713.
+---
+ src/net/http/transport.go | 2 -
+ src/net/http/transport_test.go | 2 +-
+ src/net/url/url.go | 54 ++++++++++++------------
+ src/net/url/url_test.go | 76 +++++++++++++++++-----------------
+ 4 files changed, 65 insertions(+), 69 deletions(-)
+
+diff --git a/src/net/http/transport.go b/src/net/http/transport.go
+index e946760963..07920cfde3 100644
+--- a/src/net/http/transport.go
++++ b/src/net/http/transport.go
+@@ -655,8 +655,6 @@ func resetProxyConfig() {
+ }
+
+ func (t *Transport) connectMethodForRequest(treq *transportRequest) (cm connectMethod, err error) {
+- // TODO: the validPort check is redundant after CL 189258, as url.URL.Port
+- // only returns valid ports now. golang.org/issue/33600
+ if port := treq.URL.Port(); !validPort(port) {
+ return cm, fmt.Errorf("invalid URL port %q", port)
+ }
+diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go
+index 5c329543e2..f66e72a00f 100644
+--- a/src/net/http/transport_test.go
++++ b/src/net/http/transport_test.go
+@@ -4163,7 +4163,7 @@ func TestTransportRejectsAlphaPort(t *testing.T) {
+ t.Fatalf("got %#v; want *url.Error", err)
+ }
+ got := ue.Err.Error()
+- want := `invalid port ":123foo" after host`
++ want := `invalid URL port "123foo"`
+ if got != want {
+ t.Errorf("got error %q; want %q", got, want)
+ }
+diff --git a/src/net/url/url.go b/src/net/url/url.go
+index 337861f80d..64274a0a36 100644
+--- a/src/net/url/url.go
++++ b/src/net/url/url.go
+@@ -655,11 +655,6 @@ func parseHost(host string) (string, error) {
+ }
+ return host1 + host2 + host3, nil
+ }
+- } else if i := strings.LastIndex(host, ":"); i != -1 {
+- colonPort := host[i:]
+- if !validOptionalPort(colonPort) {
+- return "", fmt.Errorf("invalid port %q after host", colonPort)
+- }
+ }
+
+ var err error
+@@ -1058,39 +1053,44 @@ func (u *URL) RequestURI() string {
+ return result
+ }
+
+-// Hostname returns u.Host, stripping any valid port number if present.
++// Hostname returns u.Host, without any port number.
+ //
+-// If the result is enclosed in square brackets, as literal IPv6 addresses are,
+-// the square brackets are removed from the result.
++// If Host is an IPv6 literal with a port number, Hostname returns the
++// IPv6 literal without the square brackets. IPv6 literals may include
++// a zone identifier.
+ func (u *URL) Hostname() string {
+- host, _ := splitHostPort(u.Host)
+- return host
++ return stripPort(u.Host)
+ }
+
+ // Port returns the port part of u.Host, without the leading colon.
+-//
+-// If u.Host doesn't contain a valid numeric port, Port returns an empty string.
++// If u.Host doesn't contain a port, Port returns an empty string.
+ func (u *URL) Port() string {
+- _, port := splitHostPort(u.Host)
+- return port
++ return portOnly(u.Host)
+ }
+
+-// splitHostPort separates host and port. If the port is not valid, it returns
+-// the entire input as host, and it doesn't check the validity of the host.
+-// Unlike net.SplitHostPort, but per RFC 3986, it requires ports to be numeric.
+-func splitHostPort(hostport string) (host, port string) {
+- host = hostport
+-
+- colon := strings.LastIndexByte(host, ':')
+- if colon != -1 && validOptionalPort(host[colon:]) {
+- host, port = host[:colon], host[colon+1:]
++func stripPort(hostport string) string {
++ colon := strings.IndexByte(hostport, ':')
++ if colon == -1 {
++ return hostport
+ }
+-
+- if strings.HasPrefix(host, "[") && strings.HasSuffix(host, "]") {
+- host = host[1 : len(host)-1]
++ if i := strings.IndexByte(hostport, ']'); i != -1 {
++ return strings.TrimPrefix(hostport[:i], "[")
+ }
++ return hostport[:colon]
++}
+
+- return
++func portOnly(hostport string) string {
++ colon := strings.IndexByte(hostport, ':')
++ if colon == -1 {
++ return ""
++ }
++ if i := strings.Index(hostport, "]:"); i != -1 {
++ return hostport[i+len("]:"):]
++ }
++ if strings.Contains(hostport, "]") {
++ return ""
++ }
++ return hostport[colon+len(":"):]
+ }
+
+ // Marshaling interface implementations.
+diff --git a/src/net/url/url_test.go b/src/net/url/url_test.go
+index b6f4623a52..c5fc90d515 100644
+--- a/src/net/url/url_test.go
++++ b/src/net/url/url_test.go
+@@ -422,10 +422,10 @@ var urltests = []URLTest{
+ },
+ // worst case host, still round trips
+ {
+- "scheme://!$&'()*+,;=hello!:1/path",
++ "scheme://!$&'()*+,;=hello!:port/path",
+ &URL{
+ Scheme: "scheme",
+- Host: "!$&'()*+,;=hello!:1",
++ Host: "!$&'()*+,;=hello!:port",
+ Path: "/path",
+ },
+ "",
+@@ -1420,13 +1420,11 @@ func TestParseErrors(t *testing.T) {
+ {"http://[::1]", false},
+ {"http://[::1]:80", false},
+ {"http://[::1]:namedport", true}, // rfc3986 3.2.3
+- {"http://x:namedport", true}, // rfc3986 3.2.3
+ {"http://[::1]/", false},
+ {"http://[::1]a", true},
+ {"http://[::1]%23", true},
+ {"http://[::1%25en0]", false}, // valid zone id
+ {"http://[::1]:", false}, // colon, but no port OK
+- {"http://x:", false}, // colon, but no port OK
+ {"http://[::1]:%38%30", true}, // not allowed: % encoding only for non-ASCII
+ {"http://[::1%25%41]", false}, // RFC 6874 allows over-escaping in zone
+ {"http://[%10::1]", true}, // no %xx escapes in IP address
+@@ -1618,46 +1616,46 @@ func TestURLErrorImplementsNetError(t *testing.T) {
+ }
+ }
+
+-func TestURLHostnameAndPort(t *testing.T) {
++func TestURLHostname(t *testing.T) {
+ tests := []struct {
+- in string // URL.Host field
+- host string
+- port string
++ host string // URL.Host field
++ want string
+ }{
+- {"foo.com:80", "foo.com", "80"},
+- {"foo.com", "foo.com", ""},
+- {"foo.com:", "foo.com", ""},
+- {"FOO.COM", "FOO.COM", ""}, // no canonicalization
+- {"1.2.3.4", "1.2.3.4", ""},
+- {"1.2.3.4:80", "1.2.3.4", "80"},
+- {"[1:2:3:4]", "1:2:3:4", ""},
+- {"[1:2:3:4]:80", "1:2:3:4", "80"},
+- {"[::1]:80", "::1", "80"},
+- {"[::1]", "::1", ""},
+- {"[::1]:", "::1", ""},
+- {"localhost", "localhost", ""},
+- {"localhost:443", "localhost", "443"},
+- {"some.super.long.domain.example.org:8080", "some.super.long.domain.example.org", "8080"},
+- {"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:17000", "2001:0db8:85a3:0000:0000:8a2e:0370:7334", "17000"},
+- {"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]", "2001:0db8:85a3:0000:0000:8a2e:0370:7334", ""},
+-
+- // Ensure that even when not valid, Host is one of "Hostname",
+- // "Hostname:Port", "[Hostname]" or "[Hostname]:Port".
+- // See https://golang.org/issue/29098.
+- {"[google.com]:80", "google.com", "80"},
+- {"google.com]:80", "google.com]", "80"},
+- {"google.com:80_invalid_port", "google.com:80_invalid_port", ""},
+- {"[::1]extra]:80", "::1]extra", "80"},
+- {"google.com]extra:extra", "google.com]extra:extra", ""},
++ {"foo.com:80", "foo.com"},
++ {"foo.com", "foo.com"},
++ {"FOO.COM", "FOO.COM"}, // no canonicalization (yet?)
++ {"1.2.3.4", "1.2.3.4"},
++ {"1.2.3.4:80", "1.2.3.4"},
++ {"[1:2:3:4]", "1:2:3:4"},
++ {"[1:2:3:4]:80", "1:2:3:4"},
++ {"[::1]:80", "::1"},
+ }
+ for _, tt := range tests {
+- u := &URL{Host: tt.in}
+- host, port := u.Hostname(), u.Port()
+- if host != tt.host {
+- t.Errorf("Hostname for Host %q = %q; want %q", tt.in, host, tt.host)
++ u := &URL{Host: tt.host}
++ got := u.Hostname()
++ if got != tt.want {
++ t.Errorf("Hostname for Host %q = %q; want %q", tt.host, got, tt.want)
+ }
+- if port != tt.port {
+- t.Errorf("Port for Host %q = %q; want %q", tt.in, port, tt.port)
++ }
++}
++
++func TestURLPort(t *testing.T) {
++ tests := []struct {
++ host string // URL.Host field
++ want string
++ }{
++ {"foo.com", ""},
++ {"foo.com:80", "80"},
++ {"1.2.3.4", ""},
++ {"1.2.3.4:80", "80"},
++ {"[1:2:3:4]", ""},
++ {"[1:2:3:4]:80", "80"},
++ }
++ for _, tt := range tests {
++ u := &URL{Host: tt.host}
++ got := u.Port()
++ if got != tt.want {
++ t.Errorf("Port for Host %q = %q; want %q", tt.host, got, tt.want)
+ }
+ }
+ }
+--
+2.21.0
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-1.12.17.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-1.12.17.ebuild
new file mode 100644
index 0000000000..1c8279bc14
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-1.12.17.ebuild
@@ -0,0 +1,12 @@
+# Copyright 2019 CoreOS, Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit coreos-go-lang
+
+KEYWORDS="-* amd64 arm64"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.12-revert-url-parsing-change.patch"
+)
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-1.17.8.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-1.17.8.ebuild
new file mode 100644
index 0000000000..6075ddc2a8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-1.17.8.ebuild
@@ -0,0 +1,8 @@
+# Copyright 2019 Kinvolk GmbH.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit coreos-go-lang
+
+KEYWORDS="-* amd64 arm64"
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/metadata.xml
new file mode 100644
index 0000000000..b8d86563d8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/metadata.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ williamh@gentoo.org
+ William Hubbs
+
+
+ Go is a new systems programming language developped at google by
+ Rob Pike. It has garbage collection, coroutines, communication
+ channels and a clean syntax.
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/Manifest
new file mode 100644
index 0000000000..3bc5a5ee34
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/Manifest
@@ -0,0 +1,2 @@
+DIST Python-3.6.5.tar.xz 17049912 BLAKE2B f393e9563a18a46c457afcd2e174d9eacda20fe2b0ae5461e11c582fa4d27b85c01bbe7b602f45511b6b44f635c6330205b12fb3e8325ffd07e87b78a8258889 SHA512 6b26fcd296b9bd8e67861eff10d14db7507711ddba947288d16d6def53135c39326b7f969c04bb2b2993f924d9e7ad3f5c5282a3915760bc0885cf0a8ea5eb51
+DIST python-gentoo-patches-3.6.4.tar.xz 12888 BLAKE2B 7cf49ae22df53e855f2e99df51686b5d4bd0da82ef4c22836e24726ea9ed561808352c0305a5659b052d38b843f1ff61b6466a7bc3673b7e5cfb4d81d22fa4bc SHA512 90a1b685f2539872ffd67f96581f70145b7afaf18af19f4a7f4a61214103d2a10bf0069c1769dac229ae011fceaf8538f041082b33c1671905246d018d184dd7
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/README.md b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/README.md
new file mode 100644
index 0000000000..b8b8890aef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/README.md
@@ -0,0 +1,65 @@
+Modifications made:
+
+- Drop python updater and eselect python stuff (so the pkg_ functions).
+
+- Drop src_test and the test use flag.
+
+- Rename one patch in PATCHES variable, so I don't need to rename the
+ file (the name in ebuild was using `${PN}`, which in
+ `dev-lang/python` expands to `python`, whereas in
+ `dev-lang/python-oem` it would expand to `python-oem`).
+
+- Drop the following use flags and simplify the ebuild assuming that
+ they were disabled: examples, gdbm, libressl, ncurses, sqlite, ssl,
+ tk, wininst.
+
+- Drop the following use flags and simplify the ebuild assuming that
+ they were enabled: build, ipv6, threads.
+
+- Drop xml use flag, but keep the internal copies of expat, do not
+ disable _elementtree and pyexpat modules and tell the configure
+ script to use the internal stuff.
+
+- Keep using internal libffi, instead of depending on system-provided
+ libffi.
+
+- Move RDEPEND to DEPEND, so RDEPEND remains empty. OEM packages are
+ installed after prod images are pruned of the previously installed
+ package database.
+
+- Make the following changes in configure flags:
+
+ - Add --prefix=/usr/share/oem/python to the myeconfargs variable.
+
+ - Change --enable-shared to --disable-shared.
+
+ - Set --mandir, --infodir and --includedir to some subdirectory of
+ /discard, so during installation this could be easily removed.
+
+- Export some configure variables for the cross-compilation:
+ ac_cv_file__dev_ptc and ac_cv_file__dev_ptmx. If not done, build
+ will fail with a message saying that these should be set to either
+ yes or no.
+
+- Simplify src_install:
+
+ - Replace the hardcoded ${ED}/usr/bin with bindir variable set to
+ ${ED}/usr/share/oem/python/bin.
+
+ - Create versionless links (python and python3) to python executable.
+
+ - Drop sed stuff mucking with LDFLAGS.
+
+ - Drop collision fixes.
+
+ - Drop ABIFLAGS hack.
+
+ - Do not install ACKS, HISTORY and NEWS files.
+
+ - Drop gdb autoload stuff.
+
+ - Drop pydoc.{conf,init} stuff.
+
+ - Drop python-exec stuff.
+
+ - Remove installed stuff in /discard.
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/3.6.5-disable-nis.patch b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/3.6.5-disable-nis.patch
new file mode 100644
index 0000000000..3937c6fe79
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/3.6.5-disable-nis.patch
@@ -0,0 +1,11 @@
+--- a/setup.py
++++ b/setup.py
+@@ -1364,7 +1364,7 @@ class PyBuildExt(build_ext):
+ else:
+ missing.extend(['resource', 'termios'])
+
+- nis = self._detect_nis(inc_dirs, lib_dirs)
++ nis = None
+ if nis is not None:
+ exts.append(nis)
+ else:
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/python-3.5-distutils-OO-build.patch b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/python-3.5-distutils-OO-build.patch
new file mode 100644
index 0000000000..8af8c30c76
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/python-3.5-distutils-OO-build.patch
@@ -0,0 +1,80 @@
+From 90507018442f9adabb586fd3d0a0206b9c2f2f50 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?=
+Date: Sun, 5 Jun 2016 08:18:01 +0200
+Subject: [PATCH] distutils: make -OO enable both opt-1 and opt-2 optimization
+
+Bug: http://bugs.python.org/issue27226
+Bug: https://bugs.gentoo.org/585060
+---
+ Lib/distutils/command/build_py.py | 8 ++++----
+ Lib/distutils/command/install_lib.py | 12 ++++++------
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/Lib/distutils/command/build_py.py b/Lib/distutils/command/build_py.py
+index cf0ca57..838d4e4 100644
+--- a/Lib/distutils/command/build_py.py
++++ b/Lib/distutils/command/build_py.py
+@@ -315,9 +315,9 @@ class build_py (Command):
+ if self.compile:
+ outputs.append(importlib.util.cache_from_source(
+ filename, optimization=''))
+- if self.optimize > 0:
++ for opt in range(1, self.optimize + 1):
+ outputs.append(importlib.util.cache_from_source(
+- filename, optimization=self.optimize))
++ filename, optimization=opt))
+
+ outputs += [
+ os.path.join(build_dir, filename)
+@@ -387,8 +387,8 @@ class build_py (Command):
+ if self.compile:
+ byte_compile(files, optimize=0,
+ force=self.force, prefix=prefix, dry_run=self.dry_run)
+- if self.optimize > 0:
+- byte_compile(files, optimize=self.optimize,
++ for opt in range(1, self.optimize + 1):
++ byte_compile(files, optimize=opt,
+ force=self.force, prefix=prefix, dry_run=self.dry_run)
+
+ class build_py_2to3(build_py, Mixin2to3):
+diff --git a/Lib/distutils/command/install_lib.py b/Lib/distutils/command/install_lib.py
+index 6154cf0..049b662 100644
+--- a/Lib/distutils/command/install_lib.py
++++ b/Lib/distutils/command/install_lib.py
+@@ -24,8 +24,8 @@ class install_lib(Command):
+ # 2) compile .pyc only (--compile --no-optimize; default)
+ # 3) compile .pyc and "opt-1" .pyc (--compile --optimize)
+ # 4) compile "opt-1" .pyc only (--no-compile --optimize)
+- # 5) compile .pyc and "opt-2" .pyc (--compile --optimize-more)
+- # 6) compile "opt-2" .pyc only (--no-compile --optimize-more)
++ # 5) compile .pyc, "opt-1" and "opt-2" .pyc (--compile --optimize-more)
++ # 6) compile "opt-1" and "opt-2" .pyc (--no-compile --optimize-more)
+ #
+ # The UI for this is two options, 'compile' and 'optimize'.
+ # 'compile' is strictly boolean, and only decides whether to
+@@ -132,8 +132,8 @@ class install_lib(Command):
+ byte_compile(files, optimize=0,
+ force=self.force, prefix=install_root,
+ dry_run=self.dry_run)
+- if self.optimize > 0:
+- byte_compile(files, optimize=self.optimize,
++ for opt in range(1, self.optimize + 1):
++ byte_compile(files, optimize=opt,
+ force=self.force, prefix=install_root,
+ verbose=self.verbose, dry_run=self.dry_run)
+
+@@ -167,9 +167,9 @@ class install_lib(Command):
+ if self.compile:
+ bytecode_files.append(importlib.util.cache_from_source(
+ py_file, optimization=''))
+- if self.optimize > 0:
++ for opt in range(1, self.optimize + 1):
+ bytecode_files.append(importlib.util.cache_from_source(
+- py_file, optimization=self.optimize))
++ py_file, optimization=opt))
+
+ return bytecode_files
+
+--
+2.8.3
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/python-3.6.5-hash-unaligned.patch b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/python-3.6.5-hash-unaligned.patch
new file mode 100644
index 0000000000..d096887cbf
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/python-3.6.5-hash-unaligned.patch
@@ -0,0 +1,42 @@
+The hash implementation casts the input pointer to uint64_t* and directly reads
+from this, which may cause unaligned accesses. Use memcpy() instead so this code
+will not crash with SIGBUS on sparc.
+
+--- a/Python/pyhash.c 2017-11-29 10:21:20.283094068 +0100
++++ b/Python/pyhash.c 2017-11-29 10:24:26.733087813 +0100
+@@ -369,7 +369,7 @@
+ uint64_t k0 = _le64toh(_Py_HashSecret.siphash.k0);
+ uint64_t k1 = _le64toh(_Py_HashSecret.siphash.k1);
+ uint64_t b = (uint64_t)src_sz << 56;
+- const uint64_t *in = (uint64_t*)src;
++ const uint8_t *in = (uint8_t*)src;
+
+ uint64_t v0 = k0 ^ 0x736f6d6570736575ULL;
+ uint64_t v1 = k1 ^ 0x646f72616e646f6dULL;
+@@ -378,11 +378,13 @@
+
+ uint64_t t;
+ uint8_t *pt;
+- uint8_t *m;
++ const uint8_t *m;
+
+ while (src_sz >= 8) {
+- uint64_t mi = _le64toh(*in);
+- in += 1;
+- src_sz -= 8;
++ uint64_t mi;
++ memcpy(&mi, in, sizeof(mi));
++ mi = _le64toh(mi);
++ in += sizeof(mi);
++ src_sz -= sizeof(mi);
+ v3 ^= mi;
+ DOUBLE_ROUND(v0,v1,v2,v3);
+@@ -391,7 +393,7 @@
+
+ t = 0;
+ pt = (uint8_t *)&t;
+- m = (uint8_t *)in;
++ m = in;
+ switch (src_sz) {
+ case 7: pt[6] = m[6]; /* fall through */
+ case 6: pt[5] = m[5]; /* fall through */
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/python-3.6.5-libressl-compatibility.patch b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/python-3.6.5-libressl-compatibility.patch
new file mode 100644
index 0000000000..2f9e6a2bef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/files/python-3.6.5-libressl-compatibility.patch
@@ -0,0 +1,114 @@
+From 8d89a385b71a2e4cce0fba0cfc8d91b63485edc5 Mon Sep 17 00:00:00 2001
+From: Christian Heimes
+Date: Sat, 24 Mar 2018 18:38:14 +0100
+Subject: [PATCH] [3.6] bpo-33127: Compatibility patch for LibreSSL 2.7.0
+ (GH-6210) (GH-6214)
+
+LibreSSL 2.7 introduced OpenSSL 1.1.0 API. The ssl module now detects
+LibreSSL 2.7 and only provides API shims for OpenSSL < 1.1.0 and
+LibreSSL < 2.7.
+
+Documentation updates and fixes for failing tests will be provided in
+another patch set.
+
+Signed-off-by: Christian Heimes .
+(cherry picked from commit 4ca0739c9d97ac7cd45499e0d31be68dc659d0e1)
+
+Co-authored-by: Christian Heimes
+---
+ Lib/test/test_ssl.py | 1 +
+ .../2018-03-24-15-08-24.bpo-33127.olJmHv.rst | 1 +
+ Modules/_ssl.c | 24 ++++++++++++-------
+ Tools/ssl/multissltests.py | 3 ++-
+ 4 files changed, 20 insertions(+), 9 deletions(-)
+ create mode 100644 Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.olJmHv.rst
+
+diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
+index 8dd3b41450..9785a59a7e 100644
+--- a/Lib/test/test_ssl.py
++++ b/Lib/test/test_ssl.py
+@@ -1687,6 +1687,7 @@ class SimpleBackgroundTests(unittest.TestCase):
+ self.assertEqual(len(ctx.get_ca_certs()), 1)
+
+ @needs_sni
++ @unittest.skipUnless(hasattr(ssl, "PROTOCOL_TLSv1_2"), "needs TLS 1.2")
+ def test_context_setget(self):
+ # Check that the context of a connected socket can be replaced.
+ ctx1 = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
+diff --git a/Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.olJmHv.rst b/Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.olJmHv.rst
+new file mode 100644
+index 0000000000..635aabbde0
+--- /dev/null
++++ b/Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.olJmHv.rst
+@@ -0,0 +1 @@
++The ssl module now compiles with LibreSSL 2.7.1.
+diff --git a/Modules/_ssl.c b/Modules/_ssl.c
+index c54e43c2b4..5e007da858 100644
+--- a/Modules/_ssl.c
++++ b/Modules/_ssl.c
+@@ -106,6 +106,12 @@ struct py_ssl_library_code {
+
+ #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+ # define OPENSSL_VERSION_1_1 1
++# define PY_OPENSSL_1_1_API 1
++#endif
++
++/* LibreSSL 2.7.0 provides necessary OpenSSL 1.1.0 APIs */
++#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL
++# define PY_OPENSSL_1_1_API 1
+ #endif
+
+ /* Openssl comes with TLSv1.1 and TLSv1.2 between 1.0.0h and 1.0.1
+@@ -152,16 +158,18 @@ struct py_ssl_library_code {
+ #define INVALID_SOCKET (-1)
+ #endif
+
+-#ifdef OPENSSL_VERSION_1_1
+-/* OpenSSL 1.1.0+ */
+-#ifndef OPENSSL_NO_SSL2
+-#define OPENSSL_NO_SSL2
+-#endif
+-#else /* OpenSSL < 1.1.0 */
+-#if defined(WITH_THREAD)
++/* OpenSSL 1.0.2 and LibreSSL needs extra code for locking */
++#if !defined(OPENSSL_VERSION_1_1) && defined(WITH_THREAD)
+ #define HAVE_OPENSSL_CRYPTO_LOCK
+ #endif
+
++#if defined(OPENSSL_VERSION_1_1) && !defined(OPENSSL_NO_SSL2)
++#define OPENSSL_NO_SSL2
++#endif
++
++#ifndef PY_OPENSSL_1_1_API
++/* OpenSSL 1.1 API shims for OpenSSL < 1.1.0 and LibreSSL < 2.7.0 */
++
+ #define TLS_method SSLv23_method
+ #define TLS_client_method SSLv23_client_method
+ #define TLS_server_method SSLv23_server_method
+@@ -227,7 +235,7 @@ SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s)
+ return s->tlsext_tick_lifetime_hint;
+ }
+
+-#endif /* OpenSSL < 1.1.0 or LibreSSL */
++#endif /* OpenSSL < 1.1.0 or LibreSSL < 2.7.0 */
+
+
+ enum py_ssl_error {
+diff --git a/Tools/ssl/multissltests.py b/Tools/ssl/multissltests.py
+index ce5bbd8530..ba4529ae06 100755
+--- a/Tools/ssl/multissltests.py
++++ b/Tools/ssl/multissltests.py
+@@ -57,8 +57,9 @@ LIBRESSL_OLD_VERSIONS = [
+ ]
+
+ LIBRESSL_RECENT_VERSIONS = [
+- "2.5.3",
+ "2.5.5",
++ "2.6.4",
++ "2.7.1",
+ ]
+
+ # store files in ../multissl
+--
+2.17.0
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/python-oem-3.6.5.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/python-oem-3.6.5.ebuild
new file mode 100644
index 0000000000..cfeef9768e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/python-oem/python-oem-3.6.5.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
+
+MY_P="Python-${PV}"
+PATCHSET_VERSION="3.6.4"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="https://www.python.org/"
+SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz"
+
+LICENSE="PSF-2"
+SLOT="3.6/3.6m"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="hardened"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND=""
+DEPEND="app-arch/bzip2:0=
+ app-arch/xz-utils:0=
+ >=sys-libs/zlib-1.1.3:0=
+ virtual/libintl
+ !!
+Date: Mon, 23 Nov 2020 14:52:04 -0800
+Subject: [PATCH] add gentoo musl target specs
+
+---
+ .../src/spec/aarch64_gentoo_linux_musl.rs | 11 +++++++++++
+ .../src/spec/armv7_gentoo_linux_musleabihf.rs | 11 +++++++++++
+ .../rustc_target/src/spec/i686_gentoo_linux_musl.rs | 11 +++++++++++
+ compiler/rustc_target/src/spec/mod.rs | 8 ++++++++
+ .../src/spec/powerpc64_gentoo_linux_musl.rs | 11 +++++++++++
+ .../src/spec/powerpc64le_gentoo_linux_musl.rs | 11 +++++++++++
+ .../src/spec/powerpc_gentoo_linux_musl.rs | 11 +++++++++++
+ .../rustc_target/src/spec/x86_64_gentoo_linux_musl.rs | 11 +++++++++++
+ 8 files changed, 85 insertions(+)
+ create mode 100644 compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs
+ create mode 100644 compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs
+ create mode 100644 compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs
+ create mode 100644 compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs
+ create mode 100644 compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs
+ create mode 100644 compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs
+ create mode 100644 compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs
+
+diff --git a/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..420fe7c
+--- /dev/null
++++ b/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::Target;
++
++pub fn target() -> Target {
++ let mut base = super::aarch64_unknown_linux_musl::target();
++
++ base.llvm_target = "aarch64-gentoo-linux-musl".to_string();
++ base.options.vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ base
++}
+diff --git a/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs b/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs
+new file mode 100644
+index 0000000..067e2d6
+--- /dev/null
++++ b/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs
+@@ -0,0 +1,11 @@
++use crate::spec::Target;
++
++pub fn target() -> Target {
++ let mut base = super::armv7_unknown_linux_musleabihf::target();
++
++ base.llvm_target = "armv7-gentoo-linux-musleabihf".to_string();
++ base.options.vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ base
++}
+diff --git a/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..1cd39cd
+--- /dev/null
++++ b/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::Target;
++
++pub fn target() -> Target {
++ let mut base = super::i686_unknown_linux_musl::target();
++
++ base.llvm_target = "i686-gentoo-linux-musl".to_string();
++ base.options.vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ base
++}
+diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
+index f1e8330..d8c0ba0 100644
+--- a/compiler/rustc_target/src/spec/mod.rs
++++ b/compiler/rustc_target/src/spec/mod.rs
+@@ -490,6 +490,14 @@ macro_rules! supported_targets {
+ }
+
+ supported_targets! {
++ ("aarch64-gentoo-linux-musl", aarch64_gentoo_linux_musl),
++ ("armv7-gentoo-linux-musleabihf", armv7_gentoo_linux_musleabihf),
++ ("i686-gentoo-linux-musl", i686_gentoo_linux_musl),
++ ("powerpc-gentoo-linux-musl", powerpc_gentoo_linux_musl),
++ ("powerpc64-gentoo-linux-musl", powerpc64_gentoo_linux_musl),
++ ("powerpc64le-gentoo-linux-musl", powerpc64le_gentoo_linux_musl),
++ ("x86_64-gentoo-linux-musl", x86_64_gentoo_linux_musl),
++
+ ("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu),
+ ("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32),
+ ("i686-unknown-linux-gnu", i686_unknown_linux_gnu),
+diff --git a/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..e840bb2
+--- /dev/null
++++ b/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::Target;
++
++pub fn target() -> Target {
++ let mut base = super::powerpc64_unknown_linux_musl::target();
++
++ base.llvm_target = "powerpc64-gentoo-linux-musl".to_string();
++ base.options.vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ base
++}
+diff --git a/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..1037d82
+--- /dev/null
++++ b/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::Target;
++
++pub fn target() -> Target {
++ let mut base = super::powerpc64le_unknown_linux_musl::target();
++
++ base.llvm_target = "powerpc64le-gentoo-linux-musl".to_string();
++ base.options.vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ base
++}
+diff --git a/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..a623ffe
+--- /dev/null
++++ b/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::Target;
++
++pub fn target() -> Target {
++ let mut base = super::powerpc_unknown_linux_musl::target();
++
++ base.llvm_target = "powerpc-gentoo-linux-musl".to_string();
++ base.options.vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ base
++}
+diff --git a/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..f330473
+--- /dev/null
++++ b/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::Target;
++
++pub fn target() -> Target {
++ let mut base = super::x86_64_unknown_linux_musl::target();
++
++ base.llvm_target = "x86_64-gentoo-linux-musl".to_string();
++ base.options.vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ base
++}
+--
+2.29.2
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/files/1.54.0-parallel-miri.patch b/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/files/1.54.0-parallel-miri.patch
new file mode 100644
index 0000000000..68239d98d3
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/files/1.54.0-parallel-miri.patch
@@ -0,0 +1,43 @@
+From a789b49e4c0e7d742cc39713484596293d844537 Mon Sep 17 00:00:00 2001
+From: hyd-dev
+Date: Fri, 30 Jul 2021 21:28:34 +0800
+Subject: [PATCH] Use `Lrc` instead of `Rc` in `MiriCompilerCalls::config()`
+
+---
+ src/bin/miri.rs | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/tools/miri/src/bin/miri.rs b/src/tools/miri/src/bin/miri.rs
+index 5a8f07263..18c393815 100644
+--- a/src/tools/miri/src/bin/miri.rs
++++ b/src/tools/miri/src/bin/miri.rs
+@@ -1,5 +1,6 @@
+ #![feature(rustc_private, bool_to_option, stmt_expr_attributes)]
+
++extern crate rustc_data_structures;
+ extern crate rustc_driver;
+ extern crate rustc_errors;
+ extern crate rustc_hir;
+@@ -12,12 +13,12 @@ use std::convert::TryFrom;
+ use std::env;
+ use std::num::NonZeroU64;
+ use std::path::PathBuf;
+-use std::rc::Rc;
+ use std::str::FromStr;
+
+ use hex::FromHexError;
+ use log::debug;
+
++use rustc_data_structures::sync::Lrc;
+ use rustc_driver::Compilation;
+ use rustc_errors::emitter::{ColorConfig, HumanReadableErrorType};
+ use rustc_hir::{self as hir, def_id::LOCAL_CRATE, Node};
+@@ -42,7 +43,7 @@ impl rustc_driver::Callbacks for MiriCompilerCalls {
+ // HACK: rustc will emit "crate ... required to be available in rlib format, but
+ // was not found in this form" errors once we use `tcx.dependency_formats()` if
+ // there's no rlib provided, so setting a dummy path here to workaround those errors.
+- Rc::make_mut(&mut crate_source).rlib = Some((PathBuf::new(), PathKind::All));
++ Lrc::make_mut(&mut crate_source).rlib = Some((PathBuf::new(), PathKind::All));
+ crate_source
+ };
+ });
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/files/1.55.0-ignore-broken-and-non-applicable-tests.patch b/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/files/1.55.0-ignore-broken-and-non-applicable-tests.patch
new file mode 100644
index 0000000000..c3bee9bae2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/files/1.55.0-ignore-broken-and-non-applicable-tests.patch
@@ -0,0 +1,76 @@
+From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001
+From: Samuel Holland
+Date: Sun, 16 Sep 2018 16:38:48 +0000
+Subject: [PATCH 12/15] Ignore broken and non-applicable tests
+
+c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
+env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
+long-linker-command-lines: takes >10 minutes to run (but still passes)
+simd-intrinsic-generic-bitmask.rs: broken on BE, #59356
+sparc-struct-abi: no sparc target
+sysroot-crates-are-unstable: can't run rustc without RPATH
+---
+ src/test/codegen/sparc-struct-abi.rs | 1 +
+ src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++
+ src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++
+ src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
+ src/test/ui/env-funky-keys.rs | 1 +
+ 6 files changed, 10 insertions(+)
+
+diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
+index 78e5b14a212..6f93e93286b 100644
+--- a/src/test/codegen/sparc-struct-abi.rs
++++ b/src/test/codegen/sparc-struct-abi.rs
+@@ -2,6 +2,7 @@
+
+ // only-sparc64
+ // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
+ // needs-llvm-components: sparc
++// ignore-test
+ #![feature(no_core, lang_items)]
+ #![no_core]
+
+diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+index f124ca2ab61..363b18f0985 100644
+--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
++++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+@@ -1,3 +1,5 @@
++# ignore-aarch64
++
+ -include ../tools.mk
+
+ all:
+diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+index 5876fbc94bc..5f167ece1a2 100644
+--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
++++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+@@ -1,3 +1,5 @@
++# ignore-test
++
+ -include ../tools.mk
+
+ all:
+diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+index 9e770706857..6d92ec5cec8 100644
+--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
++++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+@@ -1,1 +1,3 @@
++# ignore-test
++
+ all:
+ python2.7 test.py
+diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs
+index c5c824ac58d..f3fe047a79c 100644
+--- a/src/test/ui/env-funky-keys.rs
++++ b/src/test/ui/env-funky-keys.rs
+@@ -1,6 +1,7 @@
+ // run-pass
+ // Ignore this test on Android, because it segfaults there.
+
++// ignore-test
+ // ignore-android
+ // ignore-windows
+ // ignore-cloudabi no execve
+--
+2.24.1
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/metadata.xml
new file mode 100644
index 0000000000..7218029cc3
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/metadata.xml
@@ -0,0 +1,23 @@
+
+
+
+
+ gyakovlev@gentoo.org
+ Georgy Yakovlev
+
+
+ rust@gentoo.org
+ Rust Project
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/rust-1.55.0.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/rust-1.55.0.ebuild
new file mode 100644
index 0000000000..e5198a3873
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/rust/rust-1.55.0.ebuild
@@ -0,0 +1,705 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_6 )
+
+inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
+ multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
+
+if [[ ${PV} = *beta* ]]; then
+ betaver=${PV//*beta}
+ BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
+ MY_P="rustc-beta"
+ SLOT="beta/${PV}"
+ SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
+else
+ ABI_VER="$(ver_cut 1-2)"
+ SLOT="stable/${ABI_VER}"
+ MY_P="rustc-${PV}"
+ SRC="${MY_P}-src.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+SRC_URI="
+ https://static.rust-lang.org/dist/${SRC}
+ verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
+ !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
+"
+
+# keep in sync with llvm ebuild of the same version as bundled one.
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+
+IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
+
+# Please keep the LLVM dependency block separate. Since LLVM is slotted,
+# we need to *really* make sure we're not pulling more than one slot
+# simultaneously.
+
+# How to use it:
+# List all the working slots in LLVM_VALID_SLOTS, newest first.
+LLVM_VALID_SLOTS=( 12 )
+LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}"
+
+# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
+# (-) usedep needed because we may build with older llvm without that target
+LLVM_DEPEND="|| ( "
+for _s in ${LLVM_VALID_SLOTS[@]}; do
+ LLVM_DEPEND+=" ( "
+ for _x in ${ALL_LLVM_TARGETS[@]}; do
+ LLVM_DEPEND+="
+ ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )"
+ done
+ LLVM_DEPEND+=" )"
+done
+unset _s _x
+LLVM_DEPEND+=" )
+ =sys-devel/gcc-4.7
+ >=sys-devel/clang-3.5
+ )
+ system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
+ !system-llvm? (
+ >=dev-util/cmake-3.13.4
+ dev-util/ninja
+ )
+ test? ( sys-devel/gdb )
+ verify-sig? ( app-crypt/openpgp-keys-rust )
+"
+
+DEPEND="
+ >=app-arch/xz-utils-5.2
+ net-misc/curl:=[http2,ssl]
+ sys-libs/zlib:=
+ dev-libs/openssl:0=
+ elibc_musl? ( sys-libs/libunwind:= )
+ system-llvm? ( ${LLVM_DEPEND} )
+"
+
+# we need to block older versions due to layout changes.
+RDEPEND="${DEPEND}
+ app-eselect/eselect-rust
+ !/dev/null) )
+ rustc_version=${rustc_version[0]#rust-bin-}
+ rustc_version=${rustc_version#rust-}
+
+ [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
+
+ if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then
+ eerror "Rust >=${rustc_wanted} is required"
+ eerror "please run 'eselect rust' and set correct rust version"
+ die "selected rust version is too old"
+ elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then
+ eerror "Rust <${rustc_toonew} is required"
+ eerror "please run 'eselect rust' and set correct rust version"
+ die "selected rust version is too new"
+ else
+ einfo "Using rust ${rustc_version} to build"
+ fi
+}
+
+pre_build_checks() {
+ local M=4096
+ # multiply requirements by 1.5 if we are doing x86-multilib
+ if use amd64; then
+ M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 ))
+ fi
+ M=$(( $(usex clippy 128 0) + ${M} ))
+ M=$(( $(usex miri 128 0) + ${M} ))
+ M=$(( $(usex rls 512 0) + ${M} ))
+ M=$(( $(usex rustfmt 256 0) + ${M} ))
+ # add 2G if we compile llvm and 256M per llvm_target
+ if ! use system-llvm; then
+ M=$(( 2048 + ${M} ))
+ local ltarget
+ for ltarget in ${ALL_LLVM_TARGETS[@]}; do
+ M=$(( $(usex ${ltarget} 256 0) + ${M} ))
+ done
+ fi
+ M=$(( $(usex wasm 256 0) + ${M} ))
+ M=$(( $(usex debug 2 1) * ${M} ))
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ M=$(( 15 * ${M} / 10 ))
+ fi
+ eshopts_pop
+ M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
+ M=$(( $(usex doc 256 0) + ${M} ))
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+llvm_check_deps() {
+ has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ pre_build_checks
+ python-any-r1_pkg_setup
+
+ export LIBGIT2_NO_PKG_CONFIG=1 #749381
+
+ use system-bootstrap && bootstrap_rust_version_check
+
+ if use system-llvm; then
+ llvm_pkg_setup
+
+ local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ export LLVM_LINK_SHARED=1
+ export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
+ fi
+}
+
+src_prepare() {
+ if ! use system-bootstrap; then
+ local rust_stage0_root="${WORKDIR}"/rust-stage0
+ local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
+
+ "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
+ --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die
+ fi
+
+ default
+}
+
+src_configure() {
+ local rust_target="" rust_targets="" arch_cflags
+
+ # Collect rust target names to compile standard libs for all ABIs.
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
+ done
+ if use wasm; then
+ rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
+ if use system-llvm; then
+ # un-hardcode rust-lld linker for this target
+ # https://bugs.gentoo.org/715348
+ sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die
+ fi
+ fi
+ # Auto-enable cross-building only if the cross-compiler is available
+ if [ "${CBUILD}" != "aarch64-unknown-linux-gnu" ] && [ -f /usr/bin/aarch64-cros-linux-gnu-gcc ]; then
+ rust_targets="${rust_targets},\"aarch64-unknown-linux-gnu\""
+ fi
+ rust_targets="${rust_targets#,}"
+
+ local tools="\"cargo\","
+ if use clippy; then
+ tools="\"clippy\",$tools"
+ fi
+ if use miri; then
+ tools="\"miri\",$tools"
+ fi
+ if use rls; then
+ tools="\"rls\",\"analysis\",\"src\",$tools"
+ fi
+ if use rustfmt; then
+ tools="\"rustfmt\",$tools"
+ fi
+
+ local rust_stage0_root
+ if use system-bootstrap; then
+ local printsysroot
+ printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")"
+ rust_stage0_root="${printsysroot}"
+ else
+ rust_stage0_root="${WORKDIR}"/rust-stage0
+ fi
+ # in case of prefix it will be already prefixed, as --print sysroot returns full path
+ [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
+
+ rust_target="$(rust_abi)"
+
+ cat <<- _EOF_ > "${S}"/config.toml
+ changelog-seen = 2
+ [llvm]
+ download-ci-llvm = false
+ optimize = $(toml_usex !debug)
+ release-debuginfo = $(toml_usex debug)
+ assertions = $(toml_usex debug)
+ ninja = true
+ targets = "${LLVM_TARGETS// /;}"
+ experimental-targets = ""
+ link-shared = $(toml_usex system-llvm)
+ [build]
+ build-stage = 2
+ test-stage = 2
+ doc-stage = 2
+ build = "${rust_target}"
+ host = ["${rust_target}"]
+ target = [${rust_targets}]
+ cargo = "${rust_stage0_root}/bin/cargo"
+ rustc = "${rust_stage0_root}/bin/rustc"
+ rustfmt = "${rust_stage0_root}/bin/rustfmt"
+ docs = $(toml_usex doc)
+ compiler-docs = false
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ extended = true
+ tools = [${tools}]
+ verbose = 2
+ sanitizers = false
+ profiler = false
+ cargo-native-static = false
+ [install]
+ prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
+ sysconfdir = "etc"
+ docdir = "share/doc/rust"
+ bindir = "bin"
+ libdir = "lib"
+ mandir = "share/man"
+ [rust]
+ # https://github.com/rust-lang/rust/issues/54872
+ codegen-units-std = 1
+ optimize = true
+ debug = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ debug-assertions-std = $(toml_usex debug)
+ debuginfo-level = $(usex debug 2 0)
+ debuginfo-level-rustc = $(usex debug 2 0)
+ debuginfo-level-std = $(usex debug 2 0)
+ debuginfo-level-tools = $(usex debug 2 0)
+ debuginfo-level-tests = 0
+ backtrace = true
+ incremental = false
+ default-linker = "$(tc-getCC)"
+ parallel-compiler = $(toml_usex parallel-compiler)
+ channel = "$(usex nightly nightly stable)"
+ description = "gentoo"
+ rpath = false
+ verbose-tests = true
+ optimize-tests = $(toml_usex !debug)
+ codegen-tests = true
+ dist-src = false
+ remap-debuginfo = true
+ lld = $(usex system-llvm false $(toml_usex wasm))
+ # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it
+ # https://github.com/rust-lang/rust/issues/74976
+ # https://github.com/rust-lang/rust/issues/76526
+ deny-warnings = $(usex wasm $(usex doc false true) true)
+ backtrace-on-ice = true
+ jemalloc = false
+ [dist]
+ src-tarball = false
+ compression-formats = ["gz"]
+ _EOF_
+
+ for v in $(multilib_get_enabled_abi_pairs); do
+ rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
+ arch_cflags="$(get_abi_CFLAGS ${v##*.})"
+
+ cat <<- _EOF_ >> "${S}"/config.env
+ CFLAGS_${rust_target}=${arch_cflags}
+ _EOF_
+
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.${rust_target}]
+ cc = "$(tc-getBUILD_CC)"
+ cxx = "$(tc-getBUILD_CXX)"
+ linker = "$(tc-getCC)"
+ ar = "$(tc-getAR)"
+ _EOF_
+ # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
+ if use elibc_musl; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ crt-static = false
+ _EOF_
+ fi
+ if use system-llvm; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ _EOF_
+ fi
+ done
+ # Could soon be replaced by the "experimental cross support" below
+ if [ "${CBUILD}" != "aarch64-unknown-linux-gnu" ] && [ -f /usr/bin/aarch64-cros-linux-gnu-gcc ]; then
+ cat <<- 'EOF' > "${S}/cc.sh"
+ #!/bin/bash
+ args=("$@")
+ filtered=()
+ for i in "${args[@]}"; do
+ if [ "$i" != "-mindirect-branch-register" ] && [ "$i" != "-mindirect-branch=thunk" ]; then
+ filtered+=("$i")
+ fi
+ done
+ aarch64-cros-linux-gnu-gcc --sysroot=/usr/aarch64-cros-linux-gnu "${filtered[@]}"
+ EOF
+ sed 's/gcc/g++/g' "${S}/cc.sh" > "${S}/cxx.sh"
+ chmod +x "${S}/cc.sh" "${S}/cxx.sh"
+ cat <<- EOF >> "${S}"/config.toml
+ [target.aarch64-unknown-linux-gnu]
+ cc = "${S}/cc.sh"
+ cxx = "${S}/cxx.sh"
+ linker = "${S}/cc.sh"
+ ar = "aarch64-cros-linux-gnu-ar"
+ EOF
+ fi
+ if use wasm; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.wasm32-unknown-unknown]
+ linker = "$(usex system-llvm lld rust-lld)"
+ _EOF_
+ fi
+
+ if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below
+ # experimental cross support
+ # discussion: https://bugs.gentoo.org/679878
+ # TODO: c*flags, clang, system-llvm, cargo.eclass target support
+ # it would be much better if we could split out stdlib
+ # complilation to separate ebuild and abuse CATEGORY to
+ # just install to /usr/lib/rustlib/
+
+ # extra targets defined as a bash array
+ # spec format: ::
+ # best place would be /etc/portage/env/dev-lang/rust
+ # Example:
+ # RUST_CROSS_TARGETS=(
+ # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
+ # )
+ # no extra hand holding is done, no target transformations, all
+ # values are passed as-is with just basic checks, so it's up to user to supply correct values
+ # valid rust targets can be obtained with
+ # rustc --print target-list
+ # matching cross toolchain has to be installed
+ # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
+ # only gcc toolchains installed with crossdev are checked for now.
+
+ # BUG: we can't pass host flags to cross compiler, so just filter for now
+ # BUG: this should be more fine-grained.
+ filter-flags '-mcpu=*' '-march=*' '-mtune=*'
+
+ local cross_target_spec
+ for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
+ # extracts first element form ::
+ local cross_llvm_target="${cross_target_spec%%:*}"
+ # extracts toolchain triples, :
+ local cross_triples="${cross_target_spec#*:}"
+ # extracts first element after before : separator
+ local cross_rust_target="${cross_triples%%:*}"
+ # extracts last element after : separator
+ local cross_toolchain="${cross_triples##*:}"
+ use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
+ command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
+
+ cat <<- _EOF_ >> "${S}"/config.toml
+ [target.${cross_rust_target}]
+ cc = "${cross_toolchain}-gcc"
+ cxx = "${cross_toolchain}-g++"
+ linker = "${cross_toolchain}-gcc"
+ ar = "${cross_toolchain}-ar"
+ _EOF_
+ if use system-llvm; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
+ _EOF_
+ fi
+ if [[ "${cross_toolchain}" == *-musl* ]]; then
+ cat <<- _EOF_ >> "${S}"/config.toml
+ musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr"
+ _EOF_
+ fi
+
+ # append cross target to "normal" target list
+ # example 'target = ["powerpc64le-unknown-linux-gnu"]'
+ # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
+
+ rust_targets="${rust_targets},\"${cross_rust_target}\""
+ sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
+
+ ewarn
+ ewarn "Enabled ${cross_rust_target} rust target"
+ ewarn "Using ${cross_toolchain} cross toolchain"
+ ewarn
+ if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
+ ewarn "'sys-devel/binutils[multitarget]' is not installed"
+ ewarn "'strip' will be unable to strip cross libraries"
+ ewarn "cross targets will be installed with full debug information"
+ ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
+ ewarn
+ ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
+ ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
+ ewarn
+ fi
+ done
+ fi # I_KNOW_WHAT_I_AM_DOING_CROSS
+
+ einfo "Rust configured with the following flags:"
+ echo
+ echo RUSTFLAGS="${RUSTFLAGS:-}"
+ echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}"
+ echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}"
+ env | grep "CARGO_TARGET_.*_RUSTFLAGS="
+ cat "${S}"/config.env || die
+ echo
+ einfo "config.toml contents:"
+ cat "${S}"/config.toml || die
+ echo
+}
+
+src_compile() {
+ # we need \n IFS to have config.env with spaces loaded properly. #734018
+ (
+ IFS=$'\n'
+ env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
+ "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
+ )
+}
+
+src_test() {
+ # https://rustc-dev-guide.rust-lang.org/tests/intro.html
+
+ # those are basic and codegen tests.
+ local tests=(
+ codegen
+ codegen-units
+ compile-fail
+ incremental
+ mir-opt
+ pretty
+ run-make
+ )
+
+ # fails if llvm is not built with ALL targets.
+ # and known to fail with system llvm sometimes.
+ use system-llvm || tests+=( assembly )
+
+ # fragile/expensive/less important tests
+ # or tests that require extra builds
+ # TODO: instead of skipping, just make some nonfatal.
+ if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
+ tests+=(
+ rustdoc
+ rustdoc-js
+ rustdoc-js-std
+ rustdoc-ui
+ run-make-fulldeps
+ ui
+ ui-fulldeps
+ )
+ fi
+
+ local i failed=()
+ einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
+ for i in "${tests[@]}"; do
+ local t="src/test/${i}"
+ einfo "rust_src_test: running ${t}"
+ if ! (
+ IFS=$'\n'
+ env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \
+ "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
+ -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
+ )
+ then
+ failed+=( "${t}" )
+ eerror "rust_src_test: ${t} failed"
+ fi
+ done
+
+ if [[ ${#failed[@]} -ne 0 ]]; then
+ eerror "rust_src_test: failure summary: ${failed[@]}"
+ die "aborting due to test failures"
+ fi
+}
+
+src_install() {
+ (
+ IFS=$'\n'
+ env $(cat "${S}"/config.env) DESTDIR="${D}" \
+ "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
+ )
+
+ # bug #689562, #689160
+ rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
+ rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
+ newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
+
+ local symlinks=(
+ cargo
+ rustc
+ rustdoc
+ rust-gdb
+ rust-gdbgui
+ rust-lldb
+ )
+
+ use clippy && symlinks+=( clippy-driver cargo-clippy )
+ use miri && symlinks+=( miri cargo-miri )
+ use rls && symlinks+=( rls )
+ use rustfmt && symlinks+=( rustfmt cargo-fmt )
+
+ einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
+ local i
+ for i in "${symlinks[@]}"; do
+ # we need realpath on /usr/bin/* symlink return version-appended binary path.
+ # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc-
+ # need to fix eselect-rust to remove this hack.
+ local ver_i="${i}-${PV}"
+ if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
+ einfo "Installing ${i} symlink"
+ ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
+ else
+ ewarn "${i} symlink requested, but source file not found"
+ ewarn "please report this"
+ fi
+ dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
+ done
+
+ # symlinks to switch components to active rust in eselect
+ dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
+ dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}"
+ dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
+ dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
+ dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
+
+ newenvd - "50${P}" <<-_EOF_
+ LDPATH="${EPREFIX}/usr/lib/rust/lib"
+ MANPATH="${EPREFIX}/usr/lib/rust/man"
+ $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
+ $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
+ _EOF_
+
+ rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
+ rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
+
+ # note: eselect-rust adds EROOT to all paths below
+ cat <<-_EOF_ > "${T}/provider-${P}"
+ /usr/bin/cargo
+ /usr/bin/rustdoc
+ /usr/bin/rust-gdb
+ /usr/bin/rust-gdbgui
+ /usr/bin/rust-lldb
+ /usr/lib/rustlib
+ /usr/lib/rust/lib
+ /usr/lib/rust/libexec
+ /usr/lib/rust/man
+ /usr/share/doc/rust
+ _EOF_
+
+ if use clippy; then
+ echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+ fi
+ if use miri; then
+ echo /usr/bin/miri >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
+ fi
+ if use rls; then
+ echo /usr/bin/rls >> "${T}/provider-${P}"
+ fi
+ if use rustfmt; then
+ echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+ echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+ fi
+
+ insinto /etc/env.d/rust
+ doins "${T}/provider-${P}"
+}
+
+pkg_postinst() {
+ eselect rust update
+
+ if has_version sys-devel/gdb || has_version dev-util/lldb; then
+ elog "Rust installs a helper script for calling GDB and LLDB,"
+ elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
+ fi
+
+ if has_version app-editors/emacs; then
+ elog "install app-emacs/rust-mode to get emacs support for rust."
+ fi
+
+ if has_version app-editors/gvim || has_version app-editors/vim; then
+ elog "install app-vim/rust-vim to get vim support for rust."
+ fi
+}
+
+pkg_postrm() {
+ eselect rust cleanup
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/Manifest
new file mode 100644
index 0000000000..843afea7db
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/Manifest
@@ -0,0 +1 @@
+DIST cyrus-sasl-2.1.27.tar.gz 4111249 BLAKE2B 82c9acce8534521ce5c5806f093e927f1854b4bc4b83ea7db1b32ceaa811adc1a5b6fc16d03233d729194cd603836f6e58de67f915abab2cb74561a80d03f5a8 SHA512 d11549a99b3b06af79fc62d5478dba3305d7e7cc0824f4b91f0d2638daafbe940623eab235f85af9be38dcf5d42fc131db531c177040a85187aee5096b8df63b
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild
new file mode 100644
index 0000000000..bcbff9d8ba
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r3.ebuild
@@ -0,0 +1,262 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd
+
+SASLAUTHD_CONF_VER="2.1.26"
+
+DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
+HOMEPAGE="https://www.cyrusimap.org/sasl/"
+#SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
+SRC_URI="https://github.com/cyrusimap/${PN}/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="BSD-with-attribution"
+SLOT="2"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="authdaemond berkdb gdbm kerberos ldapdb libressl openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom"
+
+CDEPEND="
+ net-mail/mailbase
+ virtual/libcrypt:=
+ authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
+ berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] )
+ gdbm? ( >=sys-libs/gdbm-1.10-r1:=[${MULTILIB_USEDEP}] )
+ kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
+ openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
+ mysql? ( dev-db/mysql-connector-c:0=[${MULTILIB_USEDEP}] )
+ pam? ( >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] )
+ postgres? ( dev-db/postgresql:* )
+ sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl:=[${MULTILIB_USEDEP}] )
+ )
+ java? ( >=virtual/jdk-1.6:= )"
+
+REQUIRED_USE="ldapdb? ( openldap )"
+
+RDEPEND="
+ ${CDEPEND}
+ selinux? ( sec-policy/selinux-sasl )"
+
+DEPEND="${CDEPEND}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/sasl/md5global.h
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.1.27-avoid_pic_overwrite.patch"
+ "${FILESDIR}/${PN}-2.1.27-autotools_fixes.patch"
+ "${FILESDIR}/${PN}-2.1.27-as_needed.patch"
+ "${FILESDIR}/${PN}-2.1.25-auxprop.patch"
+ "${FILESDIR}/${PN}-2.1.27-gss_c_nt_hostbased_service.patch"
+ "${FILESDIR}/${PN}-2.1.26-missing-size_t.patch"
+ "${FILESDIR}/${PN}-2.1.27-doc_build_fix.patch"
+ "${FILESDIR}/${PN}-2.1.27-memmem.patch"
+ "${FILESDIR}/${PN}-2.1.27-CVE-2019-19906.patch"
+ # Flatcar:
+ "${FILESDIR}/${PN}-2.1.27-fix-cross-compiling.patch"
+)
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Get rid of the -R switch (runpath_switch for Sun)
+ # >=gcc-4.6 errors out with unknown option
+ sed -i -e '/LIB_SQLITE.*-R/s/ -R[^"]*//' \
+ configure.ac || die
+
+ # Use plugindir for sasldir
+ sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
+ "${S}"/plugins/Makefile.{am,in} || die "sed failed"
+
+ # #486740 #468556
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:g' \
+ -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
+ configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # getpassphrase is defined in /usr/include/stdlib.h
+ append-cppflags -DHAVE_GETPASSPHRASE
+ else
+ # this horrendously breaks things on Solaris
+ append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # Java support.
+ multilib_is_native_abi && use java && export JAVAC="${JAVAC} ${JAVACFLAGS}"
+
+ local myeconfargs=(
+ --enable-login
+ --enable-ntlm
+ --enable-auth-sasldb
+ --disable-cmulocal
+ --disable-krb4
+ --disable-macos-framework
+ --enable-otp
+ --without-sqlite
+ --with-saslauthd="${EPREFIX}"/run/saslauthd
+ --with-pwcheck="${EPREFIX}"/run/saslauthd
+ --with-configdir="${EPREFIX}"/etc/sasl2
+ --with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sasl2
+ --with-dbpath="${EPREFIX}"/etc/sasl2/sasldb2
+ --with-sphinx-build=no
+ $(use_with ssl openssl)
+ $(use_with pam)
+ $(use_with openldap ldap)
+ $(use_enable ldapdb)
+ $(multilib_native_use_enable sample)
+ $(use_enable kerberos gssapi)
+ $(multilib_native_use_enable java)
+ $(multilib_native_use_with mysql mysql "${EPREFIX}"/usr)
+ $(multilib_native_use_with postgres pgsql "${EPREFIX}"/usr/$(get_libdir)/postgresql)
+ $(use_with sqlite sqlite3 "${EPREFIX}"/usr/$(get_libdir))
+ $(use_enable srp)
+ $(use_enable static-libs static)
+
+ # Add authdaemond support (bug #56523).
+ $(usex authdaemond --with-authdaemond="${EPREFIX}"/var/lib/courier/authdaemon/socket '')
+
+ # Fix for bug #59634.
+ $(usex ssl '' --without-des)
+
+ # Use /dev/urandom instead of /dev/random (bug #46038).
+ $(usex urandom --with-devrandom=/dev/urandom '')
+ )
+
+ if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
+ myeconfargs+=( --enable-sql )
+ else
+ myeconfargs+=( --disable-sql )
+ fi
+
+ # Default to GDBM if both 'gdbm' and 'berkdb' are present.
+ if use gdbm ; then
+ einfo "Building with GNU DB as database backend for your SASLdb"
+ myeconfargs+=( --with-dblib=gdbm )
+ elif use berkdb ; then
+ einfo "Building with BerkeleyDB as database backend for your SASLdb"
+ myeconfargs+=(
+ --with-dblib=berkeley
+ --with-bdb-incdir="$(db_includedir)"
+ )
+ else
+ einfo "Building without SASLdb support"
+ myeconfargs+=( --with-dblib=none )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake
+
+ # Default location for java classes breaks OpenOffice (bug #60769).
+ # Thanks to axxo@gentoo.org for the solution.
+ if multilib_is_native_abi && use java ; then
+ jar -cvf ${PN}.jar -C java $(find java -name "*.class")
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi; then
+ if use sample ; then
+ docinto sample
+ dodoc "${S}"/sample/*.c
+ exeinto /usr/share/doc/${P}/sample
+ doexe sample/client sample/server
+ fi
+
+ # Default location for java classes breaks OpenOffice (bug #60769).
+ if use java; then
+ java-pkg_dojar ${PN}.jar
+ java-pkg_regso "${ED}/usr/$(get_libdir)/libjavasasl$(get_libname)"
+ # hackish, don't wanna dig through makefile
+ rm -rf "${ED}/usr/$(get_libdir)/java" || die
+ docinto "java"
+ dodoc "${S}/java/README" "${FILESDIR}/java.README.gentoo" "${S}"/java/doc/*
+ dodir "/usr/share/doc/${PF}/java/Test"
+ insinto "/usr/share/doc/${PF}/java/Test"
+ doins "${S}"/java/Test/*.java
+ fi
+
+ dosbin saslauthd/testsaslauthd
+ fi
+}
+
+multilib_src_install_all() {
+ doman man/*
+
+ keepdir /etc/sasl2
+
+ # Reset docinto to default value (#674296)
+ docinto
+ dodoc AUTHORS ChangeLog doc/legacy/TODO
+ newdoc pwcheck/README README.pwcheck
+
+ newdoc docsrc/sasl/release-notes/$(ver_cut 1-2)/index.rst release-notes
+ edos2unix "${ED}/usr/share/doc/${PF}/release-notes"
+
+ docinto html
+ dodoc doc/html/*.html
+
+ newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
+
+ newinitd "${FILESDIR}/pwcheck.rc6" pwcheck
+ systemd_dounit "${FILESDIR}/pwcheck.service"
+
+ newinitd "${FILESDIR}/saslauthd2.rc7" saslauthd
+ newconfd "${FILESDIR}/saslauthd-${SASLAUTHD_CONF_VER}.conf" saslauthd
+ systemd_dounit "${FILESDIR}/saslauthd.service"
+ systemd_dotmpfilesd "${FILESDIR}/${PN}.conf"
+
+ # The get_modname bit is important: do not remove the .la files on
+ # platforms where the lib isn't called .so for cyrus searches the .la to
+ # figure out what the name is supposed to be instead
+ if ! use static-libs && [[ $(get_modname) == .so ]] ; then
+ find "${ED}" -name "*.la" -delete || die
+ fi
+}
+
+pkg_postinst() {
+ # Generate an empty sasldb2 with correct permissions.
+ if ( use berkdb || use gdbm ) && [[ ! -f "${EROOT}/etc/sasl2/sasldb2" ]] ; then
+ einfo "Generating an empty sasldb2 with correct permissions ..."
+ echo "p" | "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -p login \
+ || die "Failed to generate sasldb2"
+ "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -d login \
+ || die "Failed to delete temp user"
+ chown root:mail "${EROOT}/etc/sasl2/sasldb2" \
+ || die "Failed to chown ${EROOT}/etc/sasl2/sasldb2"
+ chmod 0640 "${EROOT}/etc/sasl2/sasldb2" \
+ || die "Failed to chmod ${EROOT}/etc/sasl2/sasldb2"
+ fi
+
+ if use authdaemond ; then
+ elog "You need to add a user running a service using Courier's"
+ elog "authdaemon to the 'mail' group. For example, do:"
+ elog " gpasswd -a postfix mail"
+ elog "to add the 'postfix' user to the 'mail' group."
+ fi
+
+ elog "pwcheck and saslauthd home directories have moved to:"
+ elog " /run/saslauthd, using tmpfiles.d"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch
new file mode 100644
index 0000000000..a9dd1476d2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch
@@ -0,0 +1,16 @@
+https://bugzilla.cyrusimap.org/show_bug.cgi?id=3590
+https://bugs.gentoo.org/show_bug.cgi?id=392761
+
+--- cyrus-sasl-2.1.25/lib/auxprop.c~ 2011-10-20 17:33:46.423015318 +0200
++++ cyrus-sasl-2.1.25/lib/auxprop.c 2011-10-20 17:48:49.336348654 +0200
+@@ -971,6 +971,10 @@
+ }
+
+ if(!found) {
++ /* compatibility with <= 2.1.23, ignore the lack of auxrop plugin */
++ if (!plist)
++ result = SASL_OK;
++ else
+ _sasl_log(sparams->utils->conn, SASL_LOG_DEBUG,
+ "could not find auxprop plugin, was searching for '%s'",
+ plist ? plist : "[all]");
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch
new file mode 100644
index 0000000000..0177b52567
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-missing-size_t.patch
@@ -0,0 +1,13 @@
+Gentoo bug #458790
+--- a/include/sasl.h
++++ b/include/sasl.h
+@@ -121,6 +121,9 @@
+ #ifndef SASL_H
+ #define SASL_H 1
+
++/* stddef.h to get size_t defined */
++#include
++
+ /* Keep in sync with win32/common.mak */
+ #define SASL_VERSION_MAJOR 2
+ #define SASL_VERSION_MINOR 1
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-CVE-2019-19906.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-CVE-2019-19906.patch
new file mode 100644
index 0000000000..82b9e1fb6d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-CVE-2019-19906.patch
@@ -0,0 +1,20 @@
+Description: CVE-2019-19906: Off-by-one in _sasl_add_string function
+Origin: vendor
+Bug: https://github.com/cyrusimap/cyrus-sasl/issues/587
+Bug-Debian: https://bugs.debian.org/947043
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-19906
+Author: Stephan Zeisberg
+Reviewed-by: Salvatore Bonaccorso
+Last-Update: 2019-12-19
+
+--- a/lib/common.c
++++ b/lib/common.c
+@@ -190,7 +190,7 @@ int _sasl_add_string(char **out, size_t
+
+ if (add==NULL) add = "(null)";
+
+- addlen=strlen(add); /* only compute once */
++ addlen=strlen(add)+1; /* only compute once */
+ if (_buf_alloc(out, alloclen, (*outlen)+addlen)!=SASL_OK)
+ return SASL_NOMEM;
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-as_needed.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-as_needed.patch
new file mode 100644
index 0000000000..7cd9e151fb
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-as_needed.patch
@@ -0,0 +1,25 @@
+Author: Matthias Klose
+Desription: Fix FTBFS, add $(SASL_DB_LIB) as dependency to libsasldb, and use
+it.
+--- cyrus-sasl-2.1.27/saslauthd/Makefile.am
++++ cyrus-sasl-2.1.27/saslauthd/Makefile.am
+@@ -25,7 +25,7 @@
+ saslauthd_DEPENDENCIES = saslauthd-main.o $(LTLIBOBJS_FULL)
+ saslauthd_LDADD = @SASL_KRB_LIB@ \
+ @GSSAPIBASE_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \
+- @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ $(LTLIBOBJS_FULL) $(CRYPTO_COMPAT_OBJS) $(LIBSASLDB_OBJS)
++ @LIB_SOCKET@ ../sasldb/libsasldb.la @LIB_PAM@ @LDAP_LIBS@ $(LTLIBOBJS_FULL) $(CRYPTO_COMPAT_OBJS) $(LIBSASLDB_OBJS)
+
+ testsaslauthd_SOURCES = testsaslauthd.c utils.c
+ testsaslauthd_LDADD = @LIB_SOCKET@
+--- cyrus-sasl-2.1.27/sasldb/Makefile.am
++++ cyrus-sasl-2.1.27/sasldb/Makefile.am
+@@ -54,6 +54,6 @@
+
+ libsasldb_la_SOURCES = allockey.c sasldb.h
+ EXTRA_libsasldb_la_SOURCES = $(extra_common_sources)
+-libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND)
+-libsasldb_la_LIBADD = $(SASL_DB_BACKEND)
++libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND) $(SASL_DB_LIB)
++libsasldb_la_LIBADD = $(SASL_DB_BACKEND) $(SASL_DB_LIB)
+ libsasldb_la_LDFLAGS = -no-undefined
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-autotools_fixes.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-autotools_fixes.patch
new file mode 100644
index 0000000000..2ce971efc5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-autotools_fixes.patch
@@ -0,0 +1,31 @@
+--- cyrus-sasl-2.1.27/configure.ac
++++ cyrus-sasl-2.1.27/configure.ac
+@@ -44,6 +44,8 @@
+
+ AC_PREREQ(2.63)
+
++AC_CONFIG_MACRO_DIR([config])
++
+ dnl
+ dnl REMINDER: When changing the version number here, please also update
+ dnl the values in win32/include/config.h and include/sasl.h as well.
+--- cyrus-sasl-2.1.27/Makefile.am
++++ cyrus-sasl-2.1.27/Makefile.am
+@@ -44,6 +44,8 @@
+ #
+ ################################################################
+
++ACLOCAL_AMFLAGS = -I config
++
+ if SASLAUTHD
+ SAD = saslauthd
+ else
+--- cyrus-sasl-2.1.27/saslauthd/Makefile.am
++++ cyrus-sasl-2.1.27/saslauthd/Makefile.am
+@@ -1,4 +1,6 @@
+ AUTOMAKE_OPTIONS = 1.7
++ACLOCAL_AMFLAGS = -I ../config
++
+ sbin_PROGRAMS = saslauthd testsaslauthd
+ EXTRA_PROGRAMS = saslcache
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-avoid_pic_overwrite.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-avoid_pic_overwrite.patch
new file mode 100644
index 0000000000..c331039e2f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-avoid_pic_overwrite.patch
@@ -0,0 +1,17 @@
+Author: Fabian Fagerholm
+Description: This patch makes sure the non-PIC version of libsasldb.a, which
+is created out of non-PIC objects, is not going to overwrite the PIC version,
+which is created out of PIC objects. The PIC version is placed in .libs, and
+the non-PIC version in the current directory. This ensures that both non-PIC
+and PIC versions are available in the correct locations.
+--- cyrus-sasl-2.1.27/lib/Makefile.am
++++ cyrus-sasl-2.1.27/lib/Makefile.am
+@@ -98,7 +98,7 @@
+
+ libsasl2.a: libsasl2.la $(SASL_STATIC_OBJS)
+ @echo adding static plugins and dependencies
+- $(AR) cru .libs/$@ $(SASL_STATIC_OBJS)
++ $(AR) cru $@ $(SASL_STATIC_OBJS)
+ @for i in ./libsasl2.la ../common/libplugin_common.la ../sasldb/libsasldb.la ../plugins/lib*.la; do \
+ if test ! -f $$i; then continue; fi; . $$i; \
+ for j in $$dependency_libs foo; do \
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-doc_build_fix.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-doc_build_fix.patch
new file mode 100644
index 0000000000..bdd02f7796
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-doc_build_fix.patch
@@ -0,0 +1,11 @@
+--- cyrus-sasl-2.1.27/docsrc/exts/sphinxlocal/writers/manpage.py
++++ cyrus-sasl-2.1.27/docsrc/exts/sphinxlocal/writers/manpage.py
+@@ -23,7 +23,7 @@
+ from sphinx import addnodes
+ from sphinx.locale import admonitionlabels, _
+ from sphinx.util.osutil import ustrftime
+-from sphinx.util.compat import docutils_version
++#from sphinx.util.compat import docutils_version
+
+ class CyrusManualPageWriter(ManualPageWriter):
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch
new file mode 100644
index 0000000000..86fbcad2e4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-fix-cross-compiling.patch
@@ -0,0 +1,40 @@
+--- cyrus-sasl-2.1.27/m4/sasl2.m4
++++ cyrus-sasl-2.1.27/m4/sasl2.m4
+@@ -311,36 +311,7 @@ if test "$gssapi" != no; then
+ [AC_DEFINE(HAVE_GSS_C_SEC_CONTEXT_SASL_SSF,,
+ [Define if your GSSAPI implementation defines GSS_C_SEC_CONTEXT_SASL_SSF])])
+ fi
+- cmu_save_LIBS="$LIBS"
+- LIBS="$LIBS $GSSAPIBASE_LIBS"
+-
+- AC_MSG_CHECKING([for SPNEGO support in GSSAPI libraries])
+- AC_TRY_RUN([
+-#ifdef HAVE_GSSAPI_H
+-#include
+-#else
+-#include
+-#endif
+-
+-int main(void)
+-{
+- gss_OID_desc spnego_oid = { 6, (void *) "\x2b\x06\x01\x05\x05\x02" };
+- gss_OID_set mech_set;
+- OM_uint32 min_stat;
+- int have_spnego = 0;
+-
+- if (gss_indicate_mechs(&min_stat, &mech_set) == GSS_S_COMPLETE) {
+- gss_test_oid_set_member(&min_stat, &spnego_oid, mech_set, &have_spnego);
+- gss_release_oid_set(&min_stat, &mech_set);
+- }
+-
+- return (!have_spnego); // 0 = success, 1 = failure
+-}
+-],
+- [ AC_DEFINE(HAVE_GSS_SPNEGO,,[Define if your GSSAPI implementation supports SPNEGO])
+- AC_MSG_RESULT(yes) ],
+- AC_MSG_RESULT(no))
+- LIBS="$cmu_save_LIBS"
++ AC_DEFINE(HAVE_GSS_SPNEGO,,[1])
+
+ else
+ AC_MSG_RESULT([disabled])
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-gss_c_nt_hostbased_service.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-gss_c_nt_hostbased_service.patch
new file mode 100644
index 0000000000..c585cb158e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-gss_c_nt_hostbased_service.patch
@@ -0,0 +1,16 @@
+Gentoo bug #389349
+--- cyrus-sasl-2.1.27/m4/sasl2.m4
++++ cyrus-sasl-2.1.27/m4/sasl2.m4
+@@ -220,7 +220,11 @@
+ [AC_WARN([Cybersafe define not found])])
+
+ elif test "$ac_cv_header_gssapi_h" = "yes"; then
+- AC_EGREP_HEADER(GSS_C_NT_HOSTBASED_SERVICE, gssapi.h,
++ AC_EGREP_CPP(hostbased_service_gss_nt_yes, gssapi.h,
++ [#include
++ #ifdef GSS_C_NT_HOSTBASED_SERVICE
++ hostbased_service_gss_nt_yes
++ #endif],
+ [AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE,,
+ [Define if your GSSAPI implementation defines GSS_C_NT_HOSTBASED_SERVICE])])
+ elif test "$ac_cv_header_gssapi_gssapi_h"; then
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-memmem.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-memmem.patch
new file mode 100644
index 0000000000..158529dcb5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.27-memmem.patch
@@ -0,0 +1,53 @@
+auth_rimap: provide naive memmem implementation if missing
+
+read_response uses memmem, which is not available on e.g. Solaris 10
+
+Bug: https://github.com/cyrusimap/cyrus-sasl/pull/551
+Signed-off-by: Fabian Groffen
+
+--- a/saslauthd/auth_rimap.c
++++ b/saslauthd/auth_rimap.c
+@@ -367,6 +367,32 @@
+ /* END FUNCTION: process_login_reply */
+
+
++#ifndef HAVE_MEMMEM
++static void *memmem(
++ const void *big, size_t big_len,
++ const void *little, size_t little_len)
++{
++ const char *bp = (const char *)big;
++ const char *lp = (const char *)little;
++ size_t l;
++
++ if (big_len < little_len || little_len == 0 || big_len == 0)
++ return NULL;
++
++ while (big_len > 0) {
++ for (l = 0; l < little_len; l++) {
++ if (bp[l] != lp[l])
++ break;
++ }
++ if (l == little_len)
++ return (void *)bp;
++ bp++;
++ }
++
++ return NULL;
++}
++#endif
++
+ static int read_response(int s, char *rbuf, int buflen, const char *tag)
+ {
+ int rc = 0;
+--- a/configure.ac
++++ b/configure.ac
+@@ -1292,7 +1292,7 @@
+
+ #AC_FUNC_MEMCMP
+ #AC_FUNC_VPRINTF
+-AC_CHECK_FUNCS(gethostname getdomainname getpwnam getspnam gettimeofday inet_aton memcpy mkdir select socket strchr strdup strerror strspn strstr strtol jrand48 getpassphrase asprintf strlcat strlcpy)
++AC_CHECK_FUNCS(gethostname getdomainname getpwnam getspnam gettimeofday inet_aton memcpy memmem mkdir select socket strchr strdup strerror strspn strstr strtol jrand48 getpassphrase asprintf strlcat strlcpy)
+
+ if test $ac_cv_func_getspnam = yes; then
+ AC_MSG_CHECKING(if getpwnam_r/getspnam_r take 5 arguments)
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl.conf b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl.conf
new file mode 100644
index 0000000000..d4809f73c8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/cyrus-sasl.conf
@@ -0,0 +1 @@
+d /run/saslauthd 0755 root root -
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/java.README.gentoo b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/java.README.gentoo
new file mode 100644
index 0000000000..fb73204eca
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/java.README.gentoo
@@ -0,0 +1,39 @@
+4-Nov-2000
+
+Note: this file has been modified to adapt to Gentoo specific.
+
+class files are installed in
+
+`java-config -p cyrus-sasl-2`
+
+to compile programs using it, do:
+
+javac -classpath $JAVA_HOME/lib/tools.jar:`java-config -p cyrus-sasl-2` .java
+
+(make sure to substitute your JDK for $JAVA_HOME/lib/tools.jar)
+
+to run, do
+
+java -classpath
+
+----------------------------
+This is a java version of the SASL libraries. It supports all the
+mechanisms in the C version and conforms to the internet draft in the
+doc/ directory. JNI is used.
+
+Sample applications exist in the Test/ directory.
+
+They generally can be run with something like:
+
+java -debug -classpath
+../:$JAVA_HOME/lib/tools.jar:`java-config -p cyrus-sasl-2`:. jimtest -p 2143 -m
+KERBEROS_V4 cyrus-dev
+
+and
+
+java -debug -classpath
+../:$JAVA_HOME/lib/tools.jar:`java-config -p cyrus-sasl-2`:. testserver
+
+
+Any feedback is welcome.
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/pwcheck.rc6 b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/pwcheck.rc6
new file mode 100644
index 0000000000..7b43c4ea15
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/pwcheck.rc6
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need localmount
+ use logger
+}
+
+start() {
+ ebegin "Starting sasl pwcheck daemon"
+ start-stop-daemon --start --quiet --exec /usr/sbin/pwcheck
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping sasl pwcheck daemon"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/pwcheck
+ eend $?
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/pwcheck.service b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/pwcheck.service
new file mode 100644
index 0000000000..74ff4859ab
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/pwcheck.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=SASL pwcheck daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/pwcheck
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd-2.1.26.conf b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd-2.1.26.conf
new file mode 100644
index 0000000000..dd487b0eda
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd-2.1.26.conf
@@ -0,0 +1,19 @@
+# Config file for /etc/init.d/saslauthd and systemd unit
+
+# PLEASE READ THIS IF YOU ARE USING SYSTEMD
+# Please note that systemd does not expand shell variables
+# thus, something like FOO="${FOO} bar" won't work.
+
+# Specify the authentications mechanism.
+# **NOTE** For a list see: saslauthd -v
+# Since 2.1.19, add "-r" to options for old behavior,
+# ie. reassemble user and realm to user@realm form.
+#
+# Specify the hostname for remote IMAP server using:
+# "-O localhost".
+# Specify the number of worker processes to create using:
+# "-n ".
+# Enable credential cache, set cache size and timeout using:
+# "-c -s -t ".
+#
+SASLAUTHD_OPTS="-a pam"
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd.pam-include b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd.pam-include
new file mode 100644
index 0000000000..d50a84946a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd.pam-include
@@ -0,0 +1,8 @@
+#%PAM-1.0
+
+auth required pam_nologin.so
+auth include system-auth
+
+account include system-auth
+
+session include system-auth
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd.service b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd.service
new file mode 100644
index 0000000000..1609a651e4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=SASL Authentication Daemon
+
+[Service]
+Type=forking
+PIDFile=/run/saslauthd/saslauthd.pid
+EnvironmentFile=/etc/conf.d/saslauthd
+ExecStart=/usr/sbin/saslauthd $SASLAUTHD_OPTS
+ExecStop=/bin/kill -15 $MAINPID
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd2.rc7 b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd2.rc7
new file mode 100644
index 0000000000..0abeaf6f57
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/files/saslauthd2.rc7
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting saslauthd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/saslauthd \
+ -- ${SASLAUTHD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping saslauthd"
+ start-stop-daemon --stop --quiet --pidfile /run/saslauthd/saslauthd.pid
+ eend $?
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/metadata.xml
new file mode 100644
index 0000000000..bcabb66dbd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/cyrus-sasl/metadata.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/dbus-glib/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-libs/dbus-glib/Manifest
new file mode 100644
index 0000000000..92177545e8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/dbus-glib/Manifest
@@ -0,0 +1 @@
+DIST dbus-glib-0.110.tar.gz 836497 BLAKE2B d936402bbaa5c354b2730cbace273974ec0133db052503fea2780d70b128e50e4fdf54f6ebfeed024eb5602fa3725a40627e27320a4727647299f74b2eb75c85 SHA512 c40ccf7118d4951f0e09082216ccd26f21ee906bdf96d912611d3cd29badd7ef446bea74e19f26c28ebceb9e19bb659d11c643c3e712dac499df12907be88a54
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/dbus-glib/dbus-glib-0.110-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-libs/dbus-glib/dbus-glib-0.110-r1.ebuild
new file mode 100644
index 0000000000..2540e494ef
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/dbus-glib/dbus-glib-0.110-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit bash-completion-r1 eutils ltprune multilib-minimal
+
+DESCRIPTION="D-Bus bindings for glib"
+HOMEPAGE="https://dbus.freedesktop.org/"
+SRC_URI="https://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 AFL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x86-solaris"
+IUSE="debug static-libs test cros_host"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}]
+ >=sys-apps/dbus-1.8[${MULTILIB_USEDEP}]
+"
+DEPEND="${CDEPEND}
+ >=dev-util/glib-utils-2.40
+ >=dev-util/gtk-doc-am-1.14
+ virtual/pkgconfig
+"
+RDEPEND="${CDEPEND}"
+
+DOCS=( AUTHORS ChangeLog HACKING NEWS README )
+
+set_TBD() {
+ # out of sources build dir for make check
+ export TBD="${BUILD_DIR}-tests"
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --localstatedir="${EPREFIX}"/var
+ --enable-bash-completion
+ --disable-gtk-doc
+ $(use_enable debug asserts)
+ $(use_enable static-libs static)
+ )
+
+ # Use host tool when building cross.
+ if ! use cros_host; then
+ myconf+=("--with-dbus-binding-tool=/usr/bin/dbus-binding-tool")
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ ln -s "${S}"/doc/reference/html doc/reference/html || die #460042
+
+ if use test; then
+ set_TBD
+ mkdir "${TBD}" || die
+ cd "${TBD}" || die
+ einfo "Running configure in ${TBD}"
+ ECONF_SOURCE="${S}" econf \
+ "${myconf[@]}" \
+ $(use_enable test checks) \
+ $(use_enable test tests) \
+ $(use_enable test asserts)
+ fi
+}
+
+multilib_src_compile() {
+ emake
+
+ if use test; then
+ set_TBD
+ cd "${TBD}" || die
+ einfo "Running make in ${TBD}"
+ emake
+ fi
+}
+
+multilib_src_test() {
+ set_TBD
+ cd "${TBD}" || die
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ newbashcomp "${ED}"/etc/bash_completion.d/dbus-bash-completion.sh dbus-send
+ rm -rf "${ED}"/etc/bash_completion.d || die
+
+ prune_libtool_files
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/dbus-glib/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-libs/dbus-glib/metadata.xml
new file mode 100644
index 0000000000..63e7905d8e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/dbus-glib/metadata.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ freedesktop-bugs@gentoo.org
+
+
+ cpe:/a:freedesktop:dbus-glib
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/Manifest
new file mode 100644
index 0000000000..dad5f443f9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/Manifest
@@ -0,0 +1 @@
+DIST libdnet-1.14.tar.gz 520833 BLAKE2B 97e241fc374fc9489e70d440db5e19199f4e653650af85e24af56bbbc0167db1c451349c43fcb630a26c61f8ca15c58f5c879e0d82654e275189ca3e140bb22a SHA512 ce8d95228f5175e4d9a8ff71bb99eb1ccc3ccd599a85dd07adbfd9842fc54066235d362c8060828fb3ba8129d0e1e8e071e93d60d69c6d03be310c80e61cea93
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/README.md b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/README.md
new file mode 100644
index 0000000000..a99664f330
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/README.md
@@ -0,0 +1,6 @@
+This is a fork of gentoo package. It's a dependency of the
+open-vm-tools which is installed in the oem partition. We have it in
+overlay, because:
+
+- We drop python stuff from the package.
+- We change the prefix and sbindir.
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/files/libdnet-1.14-ndisc.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/files/libdnet-1.14-ndisc.patch
new file mode 100644
index 0000000000..439ffb7cb9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/files/libdnet-1.14-ndisc.patch
@@ -0,0 +1,796 @@
+From 1c324828f4c6c64c9340f169bc059152dba1f998 Mon Sep 17 00:00:00 2001
+From: Stas Grabois
+Date: Sat, 5 Sep 2020 13:15:32 +0300
+Subject: [PATCH] IPv6 support
+
+---
+ configure | 20 ++++
+ configure.ac | 7 ++
+ include/dnet.h | 1 +
+ include/dnet/Makefile.am | 2 +-
+ include/dnet/Makefile.in | 2 +-
+ include/dnet/ip6.h | 3 +
+ include/dnet/ndisc.h | 35 +++++++
+ include/dnet/route.h | 3 +
+ src/Makefile.in | 2 +-
+ src/intf.c | 101 +++++++++++++-------
+ src/ip6.c | 56 +++++++++++
+ src/ndisc-linux.c | 197 +++++++++++++++++++++++++++++++++++++++
+ src/ndisc-none.c | 55 +++++++++++
+ src/route-linux.c | 95 ++++++++++++++++++-
+ 14 files changed, 541 insertions(+), 38 deletions(-)
+ create mode 100644 include/dnet/ndisc.h
+ create mode 100644 src/ndisc-linux.c
+ create mode 100644 src/ndisc-none.c
+
+--- a/configure
++++ b/configure
+@@ -22025,6 +22025,26 @@
+
+ fi
+
++if test "$ac_cv_dnet_linux_procfs" = yes ; then
++ case $LIBOBJS in
++ "ndisc-linux.$ac_objext" | \
++ *" ndisc-linux.$ac_objext" | \
++ "ndisc-linux.$ac_objext "* | \
++ *" ndisc-linux.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS ndisc-linux.$ac_objext" ;;
++esac
++
++else
++ case $LIBOBJS in
++ "ndisc-none.$ac_objext" | \
++ *" ndisc-none.$ac_objext" | \
++ "ndisc-none.$ac_objext "* | \
++ *" ndisc-none.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS ndisc-none.$ac_objext" ;;
++esac
++
++fi
++
+ if test "$ac_cv_header_linux_if_tun_h" = yes ; then
+ case $LIBOBJS in
+ "tun-linux.$ac_objext" | \
+--- a/configure.ac
++++ b/configure.ac
+@@ -303,6 +303,13 @@
+ AC_LIBOBJ([route-none])
+ fi
+
++dnl Check for ndisc interface.
++if test "$ac_cv_dnet_linux_procfs" = yes ; then
++ AC_LIBOBJ([ndisc-linux])
++else
++ AC_LIBOBJ([ndisc-none])
++fi
++
+ dnl Check for tun interface.
+ if test "$ac_cv_header_linux_if_tun_h" = yes ; then
+ AC_LIBOBJ([tun-linux])
+--- a/include/dnet.h
++++ b/include/dnet.h
+@@ -16,6 +16,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include
+ #include
+--- a/include/dnet/Makefile.am
++++ b/include/dnet/Makefile.am
+@@ -5,4 +5,4 @@
+ dnetincludedir = $(includedir)/dnet
+
+ dnetinclude_HEADERS = addr.h arp.h blob.h eth.h fw.h icmp.h intf.h ip.h \
+- ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h
++ ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h ndisc.h
+--- a/include/dnet/Makefile.in
++++ b/include/dnet/Makefile.in
+@@ -106,7 +106,7 @@
+ dnetincludedir = $(includedir)/dnet
+
+ dnetinclude_HEADERS = addr.h arp.h blob.h eth.h fw.h icmp.h intf.h ip.h \
+- ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h
++ ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h ndisc.h
+
+ subdir = include/dnet
+ mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+--- a/include/dnet/ip6.h
++++ b/include/dnet/ip6.h
+@@ -179,6 +179,9 @@
+ char *ip6_ntoa(const ip6_addr_t *ip6);
+ #define ip6_aton ip6_pton
+
++ssize_t ip6_add_option(void *buf, size_t len,
++ int proto, const void *optbuf, size_t optlen);
++
+ void ip6_checksum(void *buf, size_t len);
+ __END_DECLS
+
+new file mode 100644
+--- a//dev/null
++++ b/include/dnet/ndisc.h
+@@ -0,0 +1,35 @@
++/*
++ * ndisc.c
++ *
++ * Kernel arp/ndisc table operations.
++ *
++ * Copyright (c) 2000 Dug Song
++ *
++ */
++
++#ifndef DNET_NDISC_H
++#define DNET_NDISC_H
++
++/*
++ * NDISC cache entry
++ */
++struct ndisc_entry {
++ int intf_index;
++ struct addr ndisc_pa; /* protocol address */
++ struct addr ndisc_ha; /* hardware address */
++};
++
++typedef struct ndisc_handle ndisc_t;
++
++typedef int (*ndisc_handler)(const struct ndisc_entry *entry, void *arg);
++
++__BEGIN_DECLS
++ndisc_t *ndisc_open(void);
++int ndisc_add(ndisc_t *n, const struct ndisc_entry *entry);
++int ndisc_delete(ndisc_t *n, const struct ndisc_entry *entry);
++int ndisc_get(ndisc_t *n, struct ndisc_entry *entry);
++int ndisc_loop(ndisc_t *n, ndisc_handler callback, void *arg);
++ndisc_t *ndisc_close(ndisc_t *r);
++__END_DECLS
++
++#endif /* DNET_NDISC_H */
+--- a/include/dnet/route.h
++++ b/include/dnet/route.h
+@@ -26,7 +26,10 @@
+ __BEGIN_DECLS
+ route_t *route_open(void);
+ int route_add(route_t *r, const struct route_entry *entry);
++int route_add_dev(route_t *r, const struct route_entry *entry, const char* dev);
++int route6_add(route_t *r, const struct route_entry *entry, int intf_index);
+ int route_delete(route_t *r, const struct route_entry *entry);
++int route6_delete(route_t *r, const struct route_entry *entry, int intf_index);
+ int route_get(route_t *r, struct route_entry *entry);
+ int route_loop(route_t *r, route_handler callback, void *arg);
+ route_t *route_close(route_t *r);
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -144,7 +144,7 @@
+ intf-win32.c intf.c ip-cooked.c ip-win32.c ip.c memcmp.c \
+ route-bsd.c route-hpux.c route-linux.c route-none.c \
+ route-win32.c strlcat.c strlcpy.c strsep.c tun-bsd.c \
+- tun-linux.c tun-none.c tun-solaris.c
++ tun-linux.c tun-none.c tun-solaris.c ndisc-linux.c ndisc-none.c
+ SOURCES = $(libdnet_la_SOURCES)
+
+ all: all-am
+--- a/src/intf.c
++++ b/src/intf.c
+@@ -20,6 +20,9 @@
+ # define IP_MULTICAST
+ #endif
+ #include
++#ifdef HAVE_NET_IF_DL_H
++# include
++#endif
+ #ifdef HAVE_NET_IF_VAR_H
+ # include
+ #endif
+@@ -79,6 +82,21 @@
+ u_char ifcbuf[4192];
+ };
+
++/* TODO: move to .h */
++union sockunion {
++#ifdef HAVE_NET_IF_DL_H
++ struct sockaddr_dl sdl;
++#endif
++ struct sockaddr_in sin;
++#ifdef HAVE_SOCKADDR_IN6
++ struct sockaddr_in6 sin6;
++#endif
++ struct sockaddr sa;
++#ifdef AF_RAW
++ struct sockaddr_raw sr;
++#endif
++};
++
+ static int
+ intf_flags_to_iff(u_short flags, int iff)
+ {
+@@ -129,14 +147,10 @@
+
+ setsockopt(intf->fd, SOL_SOCKET, SO_BROADCAST,
+ (const char *) &one, sizeof(one));
+-#ifdef SIOCGIFNETMASK_IN6
+ if ((intf->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
+-# ifdef EPROTONOSUPPORT
+ if (errno != EPROTONOSUPPORT)
+-# endif
+ return (intf_close(intf));
+ }
+-#endif
+ }
+ return (intf);
+ }
+@@ -586,34 +600,50 @@
+ return (_intf_get_aliases(intf, entry));
+ }
+
++static int
++get_max_bits(const struct addr *a)
++{
++ if (a->addr_type == ADDR_TYPE_IP) {
++ return IP_ADDR_BITS;
++ } else if (a->addr_type == ADDR_TYPE_IP6) {
++ return IP6_ADDR_BITS;
++ } else {
++ return 0;
++ }
++}
++
+ static int
+ _match_intf_src(const struct intf_entry *entry, void *arg)
+ {
+- int matched = 0;
+- int cnt;
+ struct intf_entry *save = (struct intf_entry *)arg;
+-
+- if (entry->intf_addr.addr_type == ADDR_TYPE_IP &&
+- entry->intf_addr.addr_ip == save->intf_addr.addr_ip) {
+- matched = 1;
+- } else {
+- for (cnt = 0; !matched && cnt < (int) entry->intf_alias_num; cnt++) {
+- if (entry->intf_alias_addrs[cnt].addr_type != ADDR_TYPE_IP)
+- continue;
+- if (entry->intf_alias_addrs[cnt].addr_ip == save->intf_addr.addr_ip)
+- matched = 1;
+- }
++ int len = save->intf_len < entry->intf_len ? save->intf_len : entry->intf_len;
++ int i;
++
++ struct addr a, saved_addr;
++
++ saved_addr = save->intf_addr;
++ saved_addr.addr_bits = get_max_bits(&saved_addr);
++
++ a = entry->intf_addr;
++ a.addr_bits = get_max_bits(&a);
++
++ if (addr_cmp(&a, &saved_addr) == 0) {
++ memcpy(save, entry, len);
++ return 1;
+ }
+
+- if (matched) {
+- /* XXX - truncated result if entry is too small. */
+- if (save->intf_len < entry->intf_len)
+- memcpy(save, entry, save->intf_len);
+- else
+- memcpy(save, entry, entry->intf_len);
+- return (1);
++ for (i = 0; i < (int)entry->intf_alias_num; i++) {
++ a = entry->intf_alias_addrs[i];
++ a.addr_bits = get_max_bits(&a);
++
++ if (addr_cmp(&a, &saved_addr) == 0) {
++ memcpy(save, entry, len);
++ save->intf_addr = entry->intf_alias_addrs[i];
++ return 1;
++ }
+ }
+- return (0);
++
++ return 0;
+ }
+
+ int
+@@ -631,24 +661,27 @@
+ int
+ intf_get_dst(intf_t *intf, struct intf_entry *entry, struct addr *dst)
+ {
+- struct sockaddr_in sin;
++ union sockunion sun;
+ socklen_t n;
+
+- if (dst->addr_type != ADDR_TYPE_IP) {
++ int fd;
++
++ if (dst->addr_type != ADDR_TYPE_IP && dst->addr_type != ADDR_TYPE_IP6) {
+ errno = EINVAL;
+ return (-1);
+ }
+- addr_ntos(dst, (struct sockaddr *)&sin);
+- sin.sin_port = htons(666);
+-
+- if (connect(intf->fd, (struct sockaddr *)&sin, sizeof(sin)) < 0)
++ addr_ntos(dst, (struct sockaddr *)&sun);
++ sun.sin.sin_port = htons(666);
++
++ fd = dst->addr_type == ADDR_TYPE_IP6 ? intf->fd6 : intf->fd;
++ if (connect(fd, (struct sockaddr *)&sun, sizeof(sun)) < 0)
+ return (-1);
+
+- n = sizeof(sin);
+- if (getsockname(intf->fd, (struct sockaddr *)&sin, &n) < 0)
++ n = sizeof(sun);
++ if (getsockname(fd, (struct sockaddr *)&sun, &n) < 0)
+ return (-1);
+
+- addr_ston((struct sockaddr *)&sin, &entry->intf_addr);
++ addr_ston((struct sockaddr *)&sun, &entry->intf_addr);
+
+ if (intf_loop(intf, _match_intf_src, entry) != 1)
+ return (-1);
+--- a/src/ip6.c
++++ b/src/ip6.c
+@@ -9,6 +9,8 @@
+ #include "config.h"
+
+ #include "dnet.h"
++#include
++#include
+
+ #define IP6_IS_EXT(n) \
+ ((n) == IP_PROTO_HOPOPTS || (n) == IP_PROTO_DSTOPTS || \
+@@ -70,3 +72,57 @@
+ }
+ }
+ }
++
++ssize_t
++ip6_add_option(void *buf, size_t len, int proto,
++ const void *optbuf, size_t optlen)
++{
++ struct ip6_hdr *ip6;
++ struct tcp_hdr *tcp = NULL;
++ u_char *p;
++ int hl, datalen, padlen;
++
++ if (proto != IP_PROTO_TCP) {
++ errno = EINVAL;
++ return (-1);
++ }
++
++ ip6 = (struct ip6_hdr *)buf;
++ p = (u_char *)buf + IP6_HDR_LEN;
++
++ tcp = (struct tcp_hdr *)p;
++ hl = tcp->th_off << 2;
++ p = (u_char *)tcp + hl;
++
++ datalen = ntohs(ip6->ip6_plen) + IP6_HDR_LEN - (p - (u_char *)buf);
++
++ /* Compute padding to next word boundary. */
++ if ((padlen = 4 - (optlen % 4)) == 4)
++ padlen = 0;
++
++ /* XXX - IP_HDR_LEN_MAX == TCP_HDR_LEN_MAX */
++ if (hl + optlen + padlen > IP_HDR_LEN_MAX ||
++ ntohs(ip6->ip6_plen) + IP6_HDR_LEN + optlen + padlen > len) {
++ errno = EINVAL;
++ return (-1);
++ }
++
++ /* Shift any existing data. */
++ if (datalen) {
++ memmove(p + optlen + padlen, p, datalen);
++ }
++ /* XXX - IP_OPT_NOP == TCP_OPT_NOP */
++ if (padlen) {
++ memset(p, IP_OPT_NOP, padlen);
++ p += padlen;
++ }
++ memmove(p, optbuf, optlen);
++ p += optlen;
++ optlen += padlen;
++
++ tcp->th_off = (p - (u_char *)tcp) >> 2;
++
++ ip6->ip6_plen = htons(ntohs(ip6->ip6_plen) + optlen);
++
++ return (optlen);
++}
+new file mode 100644
+--- a//dev/null
++++ b/src/ndisc-linux.c
+@@ -0,0 +1,197 @@
++/*
++ * ndisc-linux.c
++ *
++ * Copyright (c) 2000 Dug Song
++ *
++ */
++
++#include "config.h"
++
++#include
++#include
++#include
++#include
++
++#include
++#include
++#include
++#include
++
++#include
++
++#include
++#include
++#include
++#include
++#include
++#include
++
++#include "dnet.h"
++
++struct ndisc_handle
++{
++ int nlfd;
++ int seq;
++};
++
++ndisc_t *
++ndisc_open(void)
++{
++ struct sockaddr_nl snl;
++ ndisc_t *n;
++
++ if ((n = calloc(1, sizeof(*n))) != NULL) {
++ n->nlfd = -1;
++
++ if ((n->nlfd = socket(AF_NETLINK, SOCK_RAW,
++ NETLINK_ROUTE)) < 0)
++ return (ndisc_close(n));
++
++ memset(&snl, 0, sizeof(snl));
++ snl.nl_family = AF_NETLINK;
++
++ if (bind(n->nlfd, (struct sockaddr *)&snl, sizeof(snl)) < 0)
++ return (ndisc_close(n));
++ }
++ return (n);
++}
++
++static int
++netlink_addattr(struct nlmsghdr *n, int type, const void *data, int data_len)
++{
++ int len = RTA_LENGTH(data_len);
++ struct rtattr *rta;
++
++ rta = (struct rtattr *)((uint8_t*)n + NLMSG_ALIGN(n->nlmsg_len));
++ rta->rta_type = type;
++ rta->rta_len = len;
++ memcpy(RTA_DATA(rta), data, data_len);
++ n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len);
++ return 0;
++}
++
++int
++ndisc_modify(ndisc_t *n, const struct ndisc_entry *entry, int type, int flags)
++{
++ struct nlmsghdr *nmsg;
++ struct ndmsg *ndm;
++ struct rtattr *rta;
++ struct sockaddr_nl snl;
++ struct iovec iov;
++ struct msghdr msg;
++ u_char buf[512];
++ int i, af, alen;
++
++ switch (entry->ndisc_pa.addr_type) {
++ case ADDR_TYPE_IP:
++ af = AF_INET;
++ alen = IP_ADDR_LEN;
++ break;
++ case ADDR_TYPE_IP6:
++ af = AF_INET6;
++ alen = IP6_ADDR_LEN;
++ break;
++ default:
++ errno = EINVAL;
++ return (-1);
++ }
++ memset(buf, 0, sizeof(buf));
++
++ nmsg = (struct nlmsghdr *)buf;
++ nmsg->nlmsg_len = NLMSG_LENGTH(sizeof(struct ndmsg));
++ nmsg->nlmsg_flags = NLM_F_REQUEST | flags;
++ nmsg->nlmsg_type = type;
++ nmsg->nlmsg_seq = ++n->seq;
++
++ nmsg->nlmsg_flags |= NLM_F_ACK;
++
++ ndm = (struct ndmsg *)(nmsg + 1);
++ ndm->ndm_family = af;
++ ndm->ndm_state = NUD_PERMANENT;
++ ndm->ndm_ifindex = entry->intf_index;
++
++ netlink_addattr(nmsg, NDA_DST, &entry->ndisc_pa.addr_data8[0],
++ alen);
++
++ if (type == RTM_NEWNEIGH) {
++ netlink_addattr(nmsg, NDA_LLADDR,
++ &entry->ndisc_ha.addr_data8[0], ETH_ADDR_LEN);
++ }
++
++ memset(&snl, 0, sizeof(snl));
++ snl.nl_family = AF_NETLINK;
++
++ iov.iov_base = nmsg;
++ iov.iov_len = nmsg->nlmsg_len;
++
++ memset(&msg, 0, sizeof(msg));
++ msg.msg_name = &snl;
++ msg.msg_namelen = sizeof(snl);
++ msg.msg_iov = &iov;
++ msg.msg_iovlen = 1;
++
++ if (sendmsg(n->nlfd, &msg, 0) < 0)
++ return (-1);
++
++ iov.iov_base = buf;
++ iov.iov_len = sizeof(buf);
++
++ if ((i = recvmsg(n->nlfd, &msg, 0)) <= 0)
++ return (-1);
++
++ if (nmsg->nlmsg_len < (int)sizeof(*nmsg) || nmsg->nlmsg_len > i ||
++ nmsg->nlmsg_seq != n->seq) {
++ errno = EINVAL;
++ return (-1);
++ }
++ if (nmsg->nlmsg_type == NLMSG_ERROR) {
++ struct nlmsgerr *err = (struct nlmsgerr*)NLMSG_DATA(nmsg);
++ errno = -err->error;
++ if (errno == 0) {
++ return 0;
++ }
++
++ return (-1);
++ }
++
++ return (-1);
++}
++
++int
++ndisc_add(ndisc_t *n, const struct ndisc_entry *entry)
++{
++ return ndisc_modify(n, entry, RTM_NEWNEIGH, NLM_F_CREATE | NLM_F_EXCL);
++}
++
++int
++ndisc_delete(ndisc_t *n, const struct ndisc_entry *entry)
++{
++ return ndisc_modify(n, entry, RTM_DELNEIGH, 0);
++}
++
++int
++ndisc_get(ndisc_t *n, struct ndisc_entry *entry)
++{
++ /* TBD */
++ errno = ENOSYS;
++ return (-1);
++}
++
++int
++nsidc_loop(ndisc_t *n, ndisc_handler callback, void *arg)
++{
++ /* TBD */
++ errno = ENOSYS;
++ return (-1);
++}
++
++ndisc_t *
++ndisc_close(ndisc_t *n)
++{
++ if (n != NULL) {
++ if (n->nlfd >= 0)
++ close(n->nlfd);
++ free(n);
++ }
++ return (NULL);
++}
+new file mode 100644
+--- a//dev/null
++++ b/src/ndisc-none.c
+@@ -0,0 +1,55 @@
++/*
++ * ndisc-linux.c
++ *
++ * Copyright (c) 2000 Dug Song
++ *
++ */
++
++#include "config.h"
++
++#include
++#include
++#include
++
++#include "dnet.h"
++
++ndisc_t *
++ndisc_open(void)
++{
++ errno = ENOSYS;
++ return (NULL);
++}
++
++int
++ndisc_add(ndisc_t *n, const struct ndisc_entry *entry)
++{
++ errno = ENOSYS;
++ return (-1);
++}
++
++int
++ndisc_delete(ndisc_t *n, const struct ndisc_entry *entry)
++{
++ errno = ENOSYS;
++ return (-1);
++}
++
++int
++ndisc_get(ndisc_t *n, struct ndisc_entry *entry)
++{
++ errno = ENOSYS;
++ return (-1);
++}
++
++int
++nsidc_loop(ndisc_t *n, ndisc_handler callback, void *arg)
++{
++ errno = ENOSYS;
++ return (-1);
++}
++
++ndisc_t *
++ndisc_close(ndisc_t *n)
++{
++ return (NULL);
++}
+--- a/src/route-linux.c
++++ b/src/route-linux.c
+@@ -39,6 +39,7 @@
+
+ struct route_handle {
+ int fd;
++ int fd6;
+ int nlfd;
+ };
+
+@@ -49,10 +50,13 @@
+ route_t *r;
+
+ if ((r = calloc(1, sizeof(*r))) != NULL) {
+- r->fd = r->nlfd = -1;
++ r->fd = r->fd6 = r->nlfd = -1;
+
+ if ((r->fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
+ return (route_close(r));
++
++ if ((r->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0)
++ return (route_close(r));
+
+ if ((r->nlfd = socket(AF_NETLINK, SOCK_RAW,
+ NETLINK_ROUTE)) < 0)
+@@ -90,6 +94,67 @@
+ return (ioctl(r->fd, SIOCADDRT, &rt));
+ }
+
++int
++route_add_dev(route_t *r, const struct route_entry *entry, const char* dev)
++{
++ struct rtentry rt;
++ struct addr dst;
++
++ memset(&rt, 0, sizeof(rt));
++ rt.rt_flags = RTF_UP;
++ rt.rt_dev = (char*)dev;
++
++ if (ADDR_ISHOST(&entry->route_dst)) {
++ rt.rt_flags |= RTF_HOST;
++ memcpy(&dst, &entry->route_dst, sizeof(dst));
++ } else
++ addr_net(&entry->route_dst, &dst);
++
++ if (entry->route_gw.addr_ip != 0) {
++ rt.rt_flags |= RTF_GATEWAY;
++ }
++
++ if (addr_ntos(&dst, &rt.rt_dst) < 0 ||
++ addr_ntos(&entry->route_gw, &rt.rt_gateway) < 0 ||
++ addr_btos(entry->route_dst.addr_bits, &rt.rt_genmask) < 0)
++ return (-1);
++
++ int ret = (ioctl(r->fd, SIOCADDRT, &rt));
++ return ret;
++}
++
++int
++route6_add(route_t *r, const struct route_entry *entry, int intf_index)
++{
++ struct in6_rtmsg rt;
++ struct addr dst;
++
++ memset(&rt, 0, sizeof(rt));
++ rt.rtmsg_flags = RTF_UP;
++
++ if (ADDR_ISHOST(&entry->route_dst)) {
++ rt.rtmsg_flags |= RTF_HOST;
++ memcpy(&dst, &entry->route_dst, sizeof(dst));
++ } else {
++ addr_net(&entry->route_dst, &dst);
++ }
++
++ rt.rtmsg_dst_len = entry->route_dst.addr_bits;
++ rt.rtmsg_ifindex = intf_index;
++ rt.rtmsg_metric = 1;
++
++ memcpy(&rt.rtmsg_dst, &dst.addr_ip6, sizeof(rt.rtmsg_dst));
++
++ if (!IN6_IS_ADDR_UNSPECIFIED(&entry->route_gw.addr_ip6)) {
++ rt.rtmsg_flags |= RTF_GATEWAY;
++ memcpy(&rt.rtmsg_gateway, &entry->route_gw.addr_ip6,
++ sizeof(rt.rtmsg_gateway));
++ }
++
++ int ret = (ioctl(r->fd6, SIOCADDRT, &rt));
++ return ret;
++}
++
+ int
+ route_delete(route_t *r, const struct route_entry *entry)
+ {
+@@ -112,6 +177,32 @@
+ return (ioctl(r->fd, SIOCDELRT, &rt));
+ }
+
++int
++route6_delete(route_t *r, const struct route_entry *entry, int intf_index)
++{
++ struct in6_rtmsg rt;
++ struct addr dst;
++
++ memset(&rt, 0, sizeof(rt));
++ rt.rtmsg_flags = RTF_UP;
++
++ if (ADDR_ISHOST(&entry->route_dst)) {
++ rt.rtmsg_flags |= RTF_HOST;
++ memcpy(&dst, &entry->route_dst, sizeof(dst));
++ } else
++ addr_net(&entry->route_dst, &dst);
++
++ rt.rtmsg_dst_len = entry->route_dst.addr_bits;
++ rt.rtmsg_ifindex = intf_index;
++ rt.rtmsg_metric = 1;
++
++ memcpy(&rt.rtmsg_dst, &dst, sizeof(rt.rtmsg_dst));
++ memcpy(&rt.rtmsg_gateway, &entry->route_gw, sizeof(rt.rtmsg_gateway));
++
++ int ret = (ioctl(r->fd6, SIOCDELRT, &rt));
++ return ret;
++}
++
+ int
+ route_get(route_t *r, struct route_entry *entry)
+ {
+@@ -278,6 +369,8 @@
+ if (r != NULL) {
+ if (r->fd >= 0)
+ close(r->fd);
++ if (r->fd6 >= 0)
++ close(r->fd6);
+ if (r->nlfd >= 0)
+ close(r->nlfd);
+ free(r);
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch
new file mode 100644
index 0000000000..abc3a6b0f2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch
@@ -0,0 +1,10 @@
+--- a/python/dnet.c
++++ b/python/dnet.c
+@@ -22,6 +22,7 @@
+ #endif
+ __PYX_EXTERN_C double pow(double, double);
+ #include "dnet.h"
++#include "config.h"
+
+
+ typedef struct {const char *s; const void **p;} __Pyx_CApiTabEntry; /*proto*/
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/libdnet-1.14-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/libdnet-1.14-r2.ebuild
new file mode 100644
index 0000000000..8c64e16bb7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/libdnet-1.14-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+AT_M4DIR="config"
+
+inherit autotools
+
+DESCRIPTION="simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+REQUIRED_USE=""
+RESTRICT="!test? ( test )"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND="
+"
+
+DOCS=( README.md THANKS )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.14-ndisc.patch"
+ "${FILESDIR}/${PN}-1.14-strlcpy.patch"
+)
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # Install into OEM, don't bother with a sbin directory.
+ econf \
+ --prefix=/usr/share/oem \
+ --sbindir=/usr/share/oem/bin \
+ --disable-static \
+ --without-python
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/metadata.xml
new file mode 100644
index 0000000000..bc78db4058
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libdnet/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ netmon@gentoo.org
+ Gentoo network monitoring and analysis project
+
+
+ libdnet
+ dugsong/libdnet
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/Manifest
new file mode 100644
index 0000000000..8f6038ac56
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/Manifest
@@ -0,0 +1 @@
+DIST libgpg-error-1.27.tar.bz2 813060 BLAKE2B ece50b2f6f2fc21584724c07e4285ba6e3cd7c11def7155ef1e7be1d496e0d3a7abf977afa1f618b33ca8bcd0427c0c3b46fce2d0a2b9613378f06780f1aa47c SHA512 51b313c1159074fdbbce84f63bd8afd84b3b58cd608714865b25bed84c1862d050708aa06ac3dab92f1906593df5121161e594c2809653b0fb2c236cae5dcc2f
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/files/libgpg-error-1.27-cross-compile-fix.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/files/libgpg-error-1.27-cross-compile-fix.patch
new file mode 100644
index 0000000000..3047711211
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/files/libgpg-error-1.27-cross-compile-fix.patch
@@ -0,0 +1,107 @@
+From: https://bugs.gentoo.org/show_bug.cgi?id=584052
+
+A patch for libgpg-error-1.22.ebuild (and potentially other versions) to enable
+proper cross-compiling by adding the correct symlink to
+"${S}"/src/syscfg/lock-obj-pub.linux-gnueabi.h.
+
+See also: https://bugs.gnupg.org/gnupg/issue1744
+
+Fixes errors like these:
+
+ 'src/syscfg/lock-obj-pub.linux-gnu.h': No such file or directory
+
+--- a/configure.ac 2016-06-07 22:30:57.000000000 -0400
++++ b/configure.ac 2016-06-07 22:31:20.320303654 -0400
+@@ -533,6 +533,81 @@
+ build_doc=$enableval, build_doc=yes)
+ AM_CONDITIONAL([BUILD_DOC], [test "x$build_doc" != xno])
+
++header_file_triplet=no
++
++case $ac_cv_host in
++aarch64*-apple-darwin)
++ header_file_triplet=aarch64-apple-darwin;;
++aarch64*-linux-gnu)
++ header_file_triplet=aarch64-unknown-linux-gnu;;
++alpha*-linux-gnu)
++ header_file_triplet=alpha-unknown-linux-gnu;;
++arm*-apple-darwin)
++ header_file_triplet=arm-apple-darwin;;
++arm*-linux-androideabi)
++ header_file_triplet=arm-unknown-linux-androideabi;;
++arm*-hardfloat-linux-gnueabi)
++ header_file_triplet=arm-unknown-linux-gnueabihf;;
++arm*-linux-gnueabihf)
++ header_file_triplet=arm-unknown-linux-gnueabihf;;
++arm*-hardfloat-linux-musleabi)
++ header_file_triplet=armv6-unknown-linux-musleabihf;;
++arm*-linux-musleabihf)
++ header_file_triplet=armv6-unknown-linux-musleabihf;;
++arm*-linux-musleabi)
++ header_file_triplet=armv5-unknown-linux-musleabi;;
++arm*-linux-gnueabi)
++ header_file_triplet=arm-unknown-linux-gnueabi;;
++hppa*-linux-gnu)
++ header_file_triplet=hppa-unknown-linux-gnu;;
++i?86*freebsd-gnu)
++ header_file_triplet=i686-pc-kfreebsd-gnu;;
++i?86*-linux-gnu)
++ header_file_triplet=i686-pc-linux-gnu;;
++i?86*-pc-gnu)
++ header_file_triplet=i686-pc-gnu;;
++m68*-linux-gnu)
++ header_file_triplet=m68k-unknown-linux-gnu;;
++mingw32*)
++ header_file_triplet=mingw32;;
++mips64el*-linux-gnuabi64)
++ header_file_triplet=mips64el-unknown-linux-gnuabi64;;
++mipsel*-linux-gnu)
++ header_file_triplet=mipsel-unknown-linux-gnu;;
++mips*-linux-gnu)
++ header_file_triplet=mips-unknown-linux-gnu;;
++nios2*-linux-gnu)
++ header_file_triplet=nios2-unknown-linux-gnu;;
++or1k*-linux-gnu)
++ header_file_triplet=or1k-unknown-linux-gnu;;
++powerpc64le*-linux-gnu)
++ header_file_triplet=powerpc64le-unknown-linux-gnu;;
++powerpc64*-linux-gnu)
++ header_file_triplet=powerpc64-unknown-linux-gnu;;
++powerpc*-linux-gnu)
++ header_file_triplet=powerpc-unknown-linux-gnu;;
++s390x*-linux-gnu)
++ header_file_triplet=s390x-ibm-linux-gnu;;
++sh4*-linux-gnu)
++ header_file_triplet=sh4-unknown-linux-gnu;;
++sparc64*-linux-gnu)
++ header_file_triplet=sparc64-unknown-linux-gnu;;
++sparc*-linux-gnu)
++ header_file_triplet=sparc-unknown-linux-gnu;;
++x86_64*freebsd-gnu)
++ header_file_triplet=x86_64-pc-kfreebsd-gnu;;
++x86_64*-linux-musl)
++ header_file_triplet=x86_64-pc-linux-musl;;
++x86_64*-linux-gnux32)
++ header_file_triplet=x86_64-pc-linux-gnux32;;
++x86_64*-linux-gnu)
++ header_file_triplet=x86_64-pc-linux-gnu;;
++esac
++
++AM_CONDITIONAL([FOUND_VALID_HEADER_TRIPLET],
++ [test "x$header_file_triplet" != xno])
++AM_COND_IF([FOUND_VALID_HEADER_TRIPLET],
++ [AC_CONFIG_LINKS([src/syscfg/lock-obj-pub.$host_os.h:src/syscfg/lock-obj-pub.$header_file_triplet.h])])
+
+ #
+ # Substitution
+--- a/src/mkheader.c 2016-04-22 03:05:37.000000000 -0400
++++ b/src/mkheader.c 2016-06-07 23:32:52.263369960 -0400
+@@ -506,7 +506,7 @@
+ else if (!strcmp (tag, "include:lock-obj"))
+ {
+ if (try_include_file (fname, lnr, "./lock-obj-pub.native.h", write_line))
+- include_file (fname, lnr, "syscfg/lock-obj-pub.&.h", write_line);
++ include_file (fname, lnr, "./syscfg/lock-obj-pub.&.h", write_line);
+ }
+ else
+ return 0; /* Unknown tag. */
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/libgpg-error-1.27-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/libgpg-error-1.27-r1.ebuild
new file mode 100644
index 0000000000..e6f3f6f200
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/libgpg-error-1.27-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils libtool ltprune multilib-minimal toolchain-funcs
+
+DESCRIPTION="Contains error handling functions used by GnuPG software"
+HOMEPAGE="http://www.gnupg.org/related_software/libgpg-error"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="common-lisp nls static-libs"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r12
+ )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gpg-error-config
+)
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/gpg-error.h
+ /usr/include/gpgrt.h
+)
+
+src_prepare() {
+ default
+ epatch "${FILESDIR}/${P}-cross-compile-fix.patch"
+ eautoreconf
+ elibtoolize
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ CC_FOR_BUILD="$(tc-getBUILD_CC)" \
+ --enable-threads \
+ $(use_enable nls) \
+ $(use_enable static-libs static) \
+ $(use_enable common-lisp languages) \
+ $(multilib_is_native_abi || echo --disable-languages)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --all
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/metadata.xml
new file mode 100644
index 0000000000..89e984954f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libgpg-error/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ crypto@gentoo.org
+ Crypto
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/Manifest
new file mode 100644
index 0000000000..fa7a18545e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/Manifest
@@ -0,0 +1 @@
+DIST libmspack-0.9.1alpha.tar.gz 494651 BLAKE2B 4543215efbcac9cd2703cd56f2297645463831cc2dfa6b38d87c5f48f39676347bb20739e0e389e021983d910b9be99bfd369fb30d36090f3f72f09532d6bd1d SHA512 4e39c2be8768c5c0b0d0798c9322ff022173f5e05af1636c18541bbc9f58c1ae1af59252d5631340fca601495c5b1e5abed0ad83481387421d2df5efb75cd49a
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/files/libmspack-0.9.1_alpha-fix-bigendian.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/files/libmspack-0.9.1_alpha-fix-bigendian.patch
new file mode 100644
index 0000000000..c134fa0760
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/files/libmspack-0.9.1_alpha-fix-bigendian.patch
@@ -0,0 +1,17 @@
+https://github.com/kyz/libmspack/commit/c19e707936947b45cf05bc9aaee68517c6c2aca6
+
+---
+ configure.ac | 1 +
+ 1 files changed, 1 insertions(+)
+
+diff --git a/libmspack/configure.ac b/libmspack/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -30,6 +30,7 @@ AC_CHECK_HEADERS([inttypes.h])
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+ AC_C_INLINE
++AC_C_BIGENDIAN
+ AC_TYPE_MODE_T
+ AC_TYPE_OFF_T
+ AC_TYPE_SIZE_T
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/libmspack-0.9.1_alpha-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/libmspack-0.9.1_alpha-r1.ebuild
new file mode 100644
index 0000000000..8adf2c3990
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/libmspack-0.9.1_alpha-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools multilib-minimal
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/kyz/libmspack.git"
+ inherit git-r3
+ MY_P="${PN}-9999"
+else
+ KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sparc x86 ~x64-solaris"
+ MY_PV="${PV/_alpha/alpha}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="https://www.cabextract.org.uk/libmspack/libmspack-${MY_PV}.tar.gz"
+fi
+
+DESCRIPTION="A library for Microsoft compression formats"
+HOMEPAGE="https://www.cabextract.org.uk/libmspack/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="debug doc static-libs"
+
+DEPEND=""
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-fix-bigendian.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if [[ ${PV} == "9999" ]] ; then
+ # Re-create file layout from release tarball
+ pushd "${WORKDIR}" &>/dev/null || die
+ cp -aL "${S}"/${PN} "${WORKDIR}"/${PN}-source || die
+ rm -r "${S}" || die
+ mv "${WORKDIR}"/${PN}-source "${S}" || die
+ popd &>/dev/null || die
+ fi
+
+ default
+
+ eautoreconf
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --prefix=/usr/share/oem \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ default
+ cd "${S}"/test && "${BUILD_DIR}"/test/cabd_test || die
+ fi
+}
+
+multilib_src_install_all() {
+ DOCS=(AUTHORS ChangeLog NEWS README TODO)
+ use doc && HTML_DOCS=(doc/*)
+ default_src_install
+ if use doc; then
+ rm "${ED%/}"/usr/share/doc/"${PF}"/html/{Makefile*,Doxyfile*} || die
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/metadata.xml
new file mode 100644
index 0000000000..1e5806295c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/libmspack/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ reavertm@gentoo.org
+ Maciej Mrozowski
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/Manifest
new file mode 100644
index 0000000000..01ef060df2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/Manifest
@@ -0,0 +1 @@
+DIST openssl-1.1.1n.tar.gz 9850712 BLAKE2B af530258d9f7ca4f1bd1c6c344eb385e766e465c9341dd08797676165f67bbb82d3fd549ed7559dc12fb8c9c4db5e04fa6ec7ab729ec1467f5e8bce469ff5398 SHA512 1937796736613dcf4105a54e42ecb61f95a1cea74677156f9459aea0f2c95159359e766089632bf364ee6b0d28d661eb9957bce8fecc9d2436378d8d79e8d0a4
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/gentoo.config-1.0.2 b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/gentoo.config-1.0.2
new file mode 100644
index 0000000000..68d7d0ac1f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/gentoo.config-1.0.2
@@ -0,0 +1,171 @@
+#!/usr/bin/env bash
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# Openssl doesn't play along nicely with cross-compiling
+# like autotools based projects, so let's teach it new tricks.
+#
+# Review the bundled 'config' script to see why kind of targets
+# we can pass to the 'Configure' script.
+
+
+# Testing routines
+if [[ $1 == "test" ]] ; then
+ for c in \
+ "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \
+ "armv5b-linux-gnu |linux-armv4 -DB_ENDIAN" \
+ "x86_64-pc-linux-gnu |linux-x86_64" \
+ "alpha-linux-gnu |linux-alpha-gcc" \
+ "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \
+ "i686-pc-linux-gnu |linux-elf" \
+ "whatever-gentoo-freebsdX.Y |BSD-generic32" \
+ "i686-gentoo-freebsdX.Y |BSD-x86-elf" \
+ "sparc64-alpha-freebsdX.Y |BSD-sparc64" \
+ "ia64-gentoo-freebsd5.99234 |BSD-ia64" \
+ "x86_64-gentoo-freebsdX.Y |BSD-x86_64" \
+ "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \
+ "powerpc-gentOO-linux-uclibc |linux-ppc" \
+ "powerpc64-unk-linux-gnu |linux-ppc64" \
+ "powerpc64le-linux-gnu |linux-ppc64le" \
+ "x86_64-apple-darwinX |darwin64-x86_64-cc" \
+ "powerpc64-apple-darwinX |darwin64-ppc-cc" \
+ "i686-apple-darwinX |darwin-i386-cc" \
+ "i386-apple-darwinX |darwin-i386-cc" \
+ "powerpc-apple-darwinX |darwin-ppc-cc" \
+ "i586-pc-winnt |winnt-parity" \
+ "s390-ibm-linux-gnu |linux-generic32 -DB_ENDIAN" \
+ "s390x-linux-gnu |linux64-s390x" \
+ ;do
+ CHOST=${c/|*}
+ ret_want=${c/*|}
+ ret_got=$(CHOST=${CHOST} "$0")
+
+ if [[ ${ret_want} == "${ret_got}" ]] ; then
+ echo "PASS: ${CHOST}"
+ else
+ echo "FAIL: ${CHOST}"
+ echo -e "\twanted: ${ret_want}"
+ echo -e "\twe got: ${ret_got}"
+ fi
+ done
+ exit 0
+fi
+[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
+
+
+# Detect the operating system
+case ${CHOST} in
+ *-aix*) system="aix";;
+ *-darwin*) system="darwin";;
+ *-freebsd*) system="BSD";;
+ *-hpux*) system="hpux";;
+ *-linux*) system="linux";;
+ *-solaris*) system="solaris";;
+ *-winnt*) system="winnt";;
+ x86_64-*-mingw*) system="mingw64";;
+ *mingw*) system="mingw";;
+ *) exit 0;;
+esac
+
+
+# Compiler munging
+compiler="gcc"
+if [[ ${CC} == "ccc" ]] ; then
+ compiler=${CC}
+fi
+
+
+# Detect target arch
+machine=""
+chost_machine=${CHOST%%-*}
+case ${system} in
+linux)
+ case ${chost_machine}:${ABI} in
+ aarch64*be*) machine="aarch64 -DB_ENDIAN";;
+ aarch64*) machine="aarch64 -DL_ENDIAN";;
+ alphaev56*|\
+ alphaev[678]*)machine=alpha+bwx-${compiler};;
+ alpha*) machine=alpha-${compiler};;
+ armv[4-9]*b*) machine="armv4 -DB_ENDIAN";;
+ armv[4-9]*) machine="armv4 -DL_ENDIAN";;
+ arm*b*) machine="generic32 -DB_ENDIAN";;
+ arm*) machine="generic32 -DL_ENDIAN";;
+ avr*) machine="generic32 -DL_ENDIAN";;
+ bfin*) machine="generic32 -DL_ENDIAN";;
+ # hppa64*) machine=parisc64;;
+ hppa*) machine="generic32 -DB_ENDIAN";;
+ i[0-9]86*|\
+ x86_64*:x86) machine=elf;;
+ ia64*) machine=ia64;;
+ m68*) machine="generic32 -DB_ENDIAN";;
+ mips*el*) machine="generic32 -DL_ENDIAN";;
+ mips*) machine="generic32 -DB_ENDIAN";;
+ powerpc64*le*)machine=ppc64le;;
+ powerpc64*) machine=ppc64;;
+ powerpc*le*) machine="generic32 -DL_ENDIAN";;
+ powerpc*) machine=ppc;;
+ riscv32*) machine="generic32 -DL_ENDIAN";;
+ riscv64*) machine="generic64 -DL_ENDIAN";;
+ # sh64*) machine=elf;;
+ sh*b*) machine="generic32 -DB_ENDIAN";;
+ sh*) machine="generic32 -DL_ENDIAN";;
+ # TODO: Might want to do -mcpu probing like glibc to determine a
+ # better default for sparc-linux-gnu targets. This logic will
+ # break v7 and older systems when they use it.
+ sparc*v7*) machine="generic32 -DB_ENDIAN";;
+ sparc64*) machine=sparcv9 system=linux64;;
+ sparc*v9*) machine=sparcv9;;
+ sparc*v8*) machine=sparcv8;;
+ sparc*) machine=sparcv8;;
+ s390x*) machine=s390x system=linux64;;
+ s390*) machine="generic32 -DB_ENDIAN";;
+ x86_64*:x32) machine=x32;;
+ x86_64*) machine=x86_64;;
+ esac
+ ;;
+BSD)
+ case ${chost_machine} in
+ alpha*) machine=generic64;;
+ i[6-9]86*) machine=x86-elf;;
+ ia64*) machine=ia64;;
+ sparc64*) machine=sparc64;;
+ x86_64*) machine=x86_64;;
+ *) machine=generic32;;
+ esac
+ ;;
+aix)
+ machine=${compiler}
+ ;;
+darwin)
+ case ${chost_machine} in
+ powerpc64) machine=ppc-cc; system=${system}64;;
+ powerpc) machine=ppc-cc;;
+ i?86*) machine=i386-cc;;
+ x86_64) machine=x86_64-cc; system=${system}64;;
+ esac
+ ;;
+hpux)
+ case ${chost_machine} in
+ ia64) machine=ia64-${compiler} ;;
+ esac
+ ;;
+solaris)
+ case ${chost_machine} in
+ i386) machine=x86-${compiler} ;;
+ x86_64*) machine=x86_64-${compiler}; system=${system}64;;
+ sparcv9*) machine=sparcv9-${compiler}; system=${system}64;;
+ sparc*) machine=sparcv8-${compiler};;
+ esac
+ ;;
+winnt)
+ machine=parity
+ ;;
+mingw*)
+ # special case ... no xxx-yyy style name
+ echo ${system}
+ ;;
+esac
+
+
+# If we have something, show it
+[[ -n ${machine} ]] && echo ${system}-${machine}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl-1.1.0j-parallel_install_fix.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl-1.1.0j-parallel_install_fix.patch
new file mode 100644
index 0000000000..c837e208cf
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl-1.1.0j-parallel_install_fix.patch
@@ -0,0 +1,21 @@
+https://github.com/openssl/openssl/issues/7679
+
+--- a/Configurations/unix-Makefile.tmpl
++++ b/Configurations/unix-Makefile.tmpl
+@@ -77,8 +77,14 @@
+ # to. You're welcome.
+ sub dependmagic {
+ my $target = shift;
+-
+- return "$target: build_generated\n\t\$(MAKE) depend && \$(MAKE) _$target\n_$target";
++ my $magic = <<"_____";
++$target: build_generated depend
++ \$(MAKE) _$target
++_$target
++_____
++ # Remove line ending
++ $magic =~ s|\R$||;
++ return $magic;
+ }
+ '';
+ -}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl-1.1.1i-riscv32.patch b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl-1.1.1i-riscv32.patch
new file mode 100644
index 0000000000..c94b0323eb
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl-1.1.1i-riscv32.patch
@@ -0,0 +1,61 @@
+From 5b5e2985f355c8e99c196d9ce5d02c15bebadfbc Mon Sep 17 00:00:00 2001
+From: Alistair Francis
+Date: Thu, 29 Aug 2019 13:56:21 -0700
+Subject: [PATCH] Add support for io_pgetevents_time64 syscall
+
+32-bit architectures that are y2038 safe don't include syscalls that use
+32-bit time_t. Instead these architectures have suffixed syscalls that
+always use a 64-bit time_t. In the case of the io_getevents syscall the
+syscall has been replaced with the io_pgetevents_time64 syscall instead.
+
+This patch changes the io_getevents() function to use the correct
+syscall based on the avaliable syscalls and the time_t size. We will
+only use the new 64-bit time_t syscall if the architecture is using a
+64-bit time_t. This is to avoid having to deal with 32/64-bit
+conversions and relying on a 64-bit timespec struct on 32-bit time_t
+platforms. As of Linux 5.3 there are no 32-bit time_t architectures
+without __NR_io_getevents. In the future if a 32-bit time_t architecture
+wants to use the 64-bit syscalls we can handle the conversion.
+
+This fixes build failures on 32-bit RISC-V.
+
+Signed-off-by: Alistair Francis
+
+Reviewed-by: Richard Levitte
+Reviewed-by: Paul Dale
+(Merged from https://github.com/openssl/openssl/pull/9819)
+---
+ engines/e_afalg.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/engines/e_afalg.c b/engines/e_afalg.c
+index dacbe358cb..99516cb1bb 100644
+--- a/engines/e_afalg.c
++++ b/engines/e_afalg.c
+@@ -125,7 +125,23 @@ static ossl_inline int io_getevents(aio_context_t ctx, long min, long max,
+ struct io_event *events,
+ struct timespec *timeout)
+ {
++#if defined(__NR_io_getevents)
+ return syscall(__NR_io_getevents, ctx, min, max, events, timeout);
++#elif defined(__NR_io_pgetevents_time64)
++ /* Let's only support the 64 suffix syscalls for 64-bit time_t.
++ * This simplifies the code for us as we don't need to use a 64-bit
++ * version of timespec with a 32-bit time_t and handle converting
++ * between 64-bit and 32-bit times and check for overflows.
++ */
++ if (sizeof(timeout->tv_sec) == 8)
++ return syscall(__NR_io_pgetevents_time64, ctx, min, max, events, timeout, NULL);
++ else {
++ errno = ENOSYS;
++ return -1;
++ }
++#else
++# error "We require either the io_getevents syscall or __NR_io_pgetevents_time64."
++#endif
+ }
+
+ static void afalg_waitfd_cleanup(ASYNC_WAIT_CTX *ctx, const void *key,
+--
+2.26.2
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf
new file mode 100644
index 0000000000..ce86101ce7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/files/openssl.conf
@@ -0,0 +1,3 @@
+d /etc/ssl - - - - -
+d /etc/ssl/private 0700 - - - -
+L /etc/ssl/openssl.cnf - - - - ../../usr/share/ssl/openssl.cnf
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/metadata.xml
new file mode 100644
index 0000000000..e0b7df7365
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/metadata.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+
+
+ cpe:/a:openssl:openssl
+
+
+ For building against. This is the only slot
+ that provides headers and command line tools.
+ For binary compatibility, provides libcrypto.so.0.9.8
+ and libssl.so.0.9.8 only.
+ Reflect ABI of libcrypto.so and libssl.so.
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-1.1.1n.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-1.1.1n.ebuild
new file mode 100644
index 0000000000..c6e1a9c9e5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-libs/openssl/openssl-1.1.1n.ebuild
@@ -0,0 +1,294 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic toolchain-funcs multilib-minimal systemd
+
+MY_P=${P/_/-}
+
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
+HOMEPAGE="https://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
+
+LICENSE="openssl"
+SLOT="0/1.1" # .so version of libssl/libcrypto
+[[ "${PV}" = *_pre* ]] || \
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=app-misc/c_rehash-1.7-r1
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ sys-devel/bc
+ kernel_linux? ( sys-process/procps )
+ )"
+PDEPEND="app-misc/ca-certificates"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602
+ "${FILESDIR}"/${PN}-1.1.1i-riscv32.patch
+)
+
+S="${WORKDIR}/${MY_P}"
+
+# force upgrade to prevent broken login, bug 696950
+RDEPEND+=" !/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]]; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_prepare() {
+ # allow openssl to be cross-compiled
+ cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
+ chmod a+rx gentoo.config || die
+
+ # keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]] ; then
+ [[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}"
+ fi
+ fi
+
+ eapply_user #332661
+
+ if use test && use sctp && has network-sandbox ${FEATURES}; then
+ ebegin "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox"
+ rm test/recipes/80-test_ssl_new.t || die
+ eend $?
+ fi
+
+ # make sure the man pages are suffixed #302165
+ # don't bother building man pages if they're disabled
+ # Make DOCDIR Gentoo compliant
+ sed -i \
+ -e '/^MANSUFFIX/s:=.*:=ssl:' \
+ -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
+ -e $(has noman FEATURES \
+ && echo '/^install:/s:install_docs::' \
+ || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
+ -e "/^DOCDIR/s@\$(BASENAME)@&-${PVR}@" \
+ Configurations/unix-Makefile.tmpl \
+ || die
+
+ # quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (#417795 again)
+ [[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+ append-cppflags -DOPENSSL_NO_BUF_FREELISTS
+
+ # Prefixify Configure shebang (#141906)
+ sed \
+ -e "1s,/usr/bin/env,${EPREFIX}&," \
+ -i Configure || die
+ # Remove test target when FEATURES=test isn't set
+ if ! use test ; then
+ sed \
+ -e '/^$config{dirs}/s@ "test",@@' \
+ -i Configure || die
+ fi
+
+ if use prefix && [[ ${CHOST} == *-solaris* ]] ; then
+ # use GNU ld full option, not to confuse it on Solaris
+ sed -i \
+ -e 's/-Wl,-M,/-Wl,--version-script=/' \
+ -e 's/-Wl,-h,/-Wl,--soname=/' \
+ Configurations/10-main.conf || die
+
+ # fix building on Solaris 10
+ # https://github.com/openssl/openssl/issues/6333
+ sed -i \
+ -e 's/-lsocket -lnsl -ldl/-lsocket -lnsl -ldl -lrt/' \
+ Configurations/10-main.conf || die
+ fi
+
+ # The config script does stupid stuff to prompt the user. Kill it.
+ sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
+ ./config --test-sanity || die "I AM NOT SANE"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ unset APPS #197996
+ unset SCRIPTS #312551
+ unset CROSS_COMPILE #311473
+
+ tc-export CC AR RANLIB RC
+
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+ echoit() { echo "$@" ; "$@" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths. #460790
+ local ec_nistp_64_gcc_128
+ # Disable it for now though #469976
+ # echo "__uint128_t i;" > "${T}"/128.c
+ # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ # fi
+
+ local sslout=$(./gentoo.config)
+ einfo "Use configuration ${sslout:-(openssl knows best)}"
+ local config="Configure"
+ [[ -z ${sslout} ]] && config="config"
+
+ # "disable-deprecated" option breaks too many consumers.
+ # Don't set it without thorough revdeps testing.
+ # Make sure user flags don't get added *yet* to avoid duplicated
+ # flags.
+ CFLAGS= LDFLAGS= echoit \
+ ./${config} \
+ ${sslout} \
+ $(use cpu_flags_x86_sse2 || echo "no-sse2") \
+ enable-camellia \
+ enable-ec \
+ enable-ec2m \
+ enable-sm2 \
+ enable-srp \
+ $(use elibc_musl && echo "no-async") \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ enable-rc5 \
+ $(use_ssl sslv3 ssl3) \
+ $(use_ssl sslv3 ssl3-method) \
+ $(use_ssl asm) \
+ $(use_ssl rfc3779) \
+ $(use_ssl sctp) \
+ $(use_ssl tls-compression zlib) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ --prefix="${EPREFIX}"/usr \
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
+ --libdir=$(get_libdir) \
+ shared threads \
+ || die
+
+ # Clean out hardcoded flags that openssl uses
+ local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAGS=::' \
+ -e 's:\(^\| \)-fomit-frame-pointer::g' \
+ -e 's:\(^\| \)-O[^ ]*::g' \
+ -e 's:\(^\| \)-march=[^ ]*::g' \
+ -e 's:\(^\| \)-mcpu=[^ ]*::g' \
+ -e 's:\(^\| \)-m[^ ]*::g' \
+ -e 's:^ *::' \
+ -e 's: *$::' \
+ -e 's: \+: :g' \
+ -e 's:\\:\\\\:g'
+ )
+
+ # Now insert clean default flags with user flags
+ sed -i \
+ -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
+ -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
+ Makefile || die
+}
+
+multilib_src_compile() {
+ # depend is needed to use $confopts; it also doesn't matter
+ # that it's -j1 as the code itself serializes subdirs
+ emake -j1 depend
+ emake all
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ # We need to create $ED/usr on our own to avoid a race condition #665130
+ if [[ ! -d "${ED}/usr" ]]; then
+ # We can only create this directory once
+ mkdir "${ED}"/usr || die
+ fi
+
+ emake DESTDIR="${D}" install
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man || die
+ local m d s
+ for m in $(find . -type f | xargs grep -L '#include') ; do
+ d=${m%/*} ; d=${d#./} ; m=${m##*/}
+ [[ ${m} == openssl.1* ]] && continue
+ [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
+ mv ${d}/{,ssl-}${m}
+ # fix up references to renamed man pages
+ sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
+ ln -s ssl-${m} ${d}/openssl-${m}
+ # locate any symlinks that point to this man page ... we assume
+ # that any broken links are due to the above renaming
+ for s in $(find -L ${d} -type l) ; do
+ s=${s##*/}
+ rm -f ${d}/${s}
+ # We don't want to "|| die" here
+ ln -s ssl-${m} ${d}/ssl-${s}
+ ln -s ssl-${s} ${d}/openssl-${s}
+ done
+ done
+ [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
+
+ dodir /etc/sandbox.d #254521
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ # Don't keep the sample CA files and their ilk in /etc.
+ rm -r "${ED}"${SSL_CNF_DIR}
+
+ # Save the default openssl.cnf in /usr and link it into place.
+ dodir /usr/share/ssl
+ insinto /usr/share/ssl
+ doins "${S}"/apps/openssl.cnf
+ systemd_dotmpfilesd "${FILESDIR}"/openssl.conf
+
+ # Package the tmpfiles.d setup for SDK bootstrapping.
+ systemd-tmpfiles --create --root="${ED}" "${FILESDIR}"/openssl.conf
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/Manifest
new file mode 100644
index 0000000000..2f76217d5a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/Manifest
@@ -0,0 +1 @@
+DIST distro-1.6.0.tar.gz 69377 BLAKE2B 69119c3acfc12327a55e8b16f4e183fe1b039e965a5432081d83c6e5d0f6367846c403eb34764f2436beec173d3ceaa5265e0e1e7d786d1008e84772426ef049 SHA512 1682a52e617ba440eb0fac28ed653dd3bbc53012e3dc81099d792f088d399c1a6aba62d638e7b50aad88de2cd0935579a0bdd29a9abb5aad9d0c68bd90311268
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/README.md b/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/README.md
new file mode 100644
index 0000000000..7fcb570b32
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/README.md
@@ -0,0 +1,4 @@
+This package is a hacked-up way to install a distro module for oem
+packages to use. It's meant to be used by dev-lang/python-oem, thus
+not using any python-specific eclasses and whatnot, to avoid pulling
+python dependency into the production image.
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/distro-oem-1.6.0.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/distro-oem-1.6.0.ebuild
new file mode 100644
index 0000000000..9aaff1c3f0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/distro-oem-1.6.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2021 Microsoft Corporation
+# Distributed under the terms of GNU General Public License v2
+
+EAPI=7
+
+MY_PN='distro'
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="OS platform information API"
+HOMEPAGE="https://github.com/python-distro/distro"
+SRC_URI="${HOMEPAGE}/releases/download/v${PV}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 arm64"
+
+# Depending on specific version of python-oem allows us to notice when
+# we update the major version of python and then to make sure that we
+# install the package in correctly versioned site-packages directory.
+DEP_PYVER="3.6"
+
+SLOT="0"
+RDEPEND="dev-lang/python-oem:${DEP_PYVER}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_compile() {
+ # nothing to do
+ :
+}
+
+src_install() {
+ insinto "/usr/share/oem/python/$(get_libdir)/python${DEP_PYVER}/site-packages"
+ doins "${S}/distro.py"
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-python/distro-oem/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/Manifest
new file mode 100644
index 0000000000..dbf071aaff
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/Manifest
@@ -0,0 +1 @@
+DIST bsdiff-4.3.tar.gz 5740 RMD160 27bb255b5dd5aa56d3a076dac9ca76d238a79a04 SHA1 0c0a89d604fc55ef2b5e69cd18372b2972edd8b8 SHA256 18821588b2dc5bf159aa37d3bcb7b885d85ffd1e19f23a0c57a58723fea85f48
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/bsdiff-4.3-r8.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/bsdiff-4.3-r8.ebuild
new file mode 100644
index 0000000000..140635d62d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/bsdiff-4.3-r8.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="bsdiff: Binary Differencer using a suffix alg"
+HOMEPAGE="https://www.daemonology.net/bsdiff/"
+SRC_URI="https://www.daemonology.net/bsdiff/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD-2"
+# Flatcar: enable arm64
+KEYWORDS="~alpha amd64 ~arm arm64 hppa arm64 ~ia64 ~mips ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND="app-arch/bzip2"
+
+PATCHES=(
+ "${FILESDIR}/${P}-CVE-2014-9862.patch"
+ # Flatcar: Apply patch to change suffix sort to sais-lite, and
+ # to fix heap overflow vulnerability CVE-2020-14315.
+ "${FILESDIR}/${PV}_bsdiff-convert-to-sais-lite-suffix-sort.patch"
+ "${FILESDIR}/${P}-CVE-2020-14315.patch"
+)
+
+src_compile() {
+ doecho() {
+ echo "$@"
+ "$@"
+ }
+ append-lfs-flags
+ # Flatcar: build including sais.c, which comes from 3rd-party patch
+ # 4.3_bsdiff-convert-to-sais-lite-suffix-sort.patch.
+ doecho $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o bsdiff bsdiff.c sais.c -lbz2 || die "failed compiling bsdiff"
+ doecho $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o bspatch bspatch.c -lbz2 || die "failed compiling bspatch"
+}
+
+src_install() {
+ dobin bs{diff,patch}
+ doman bs{diff,patch}.1
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/files/4.3_bsdiff-convert-to-sais-lite-suffix-sort.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/files/4.3_bsdiff-convert-to-sais-lite-suffix-sort.patch
new file mode 100644
index 0000000000..589ecad248
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/files/4.3_bsdiff-convert-to-sais-lite-suffix-sort.patch
@@ -0,0 +1,754 @@
+From f220517e188924e67040c6171ca7e0dede16c6b4 Mon Sep 17 00:00:00 2001
+From: Geoff Levand
+Date: Tue, 14 Jul 2015 14:29:21 -0700
+Subject: [PATCH 2/2] bsdiff: Convert to sais-lite suffix sort
+
+Convert the bsdiff suffix sort algorithm from its own qsufsort implementation to
+the sais-lite suffix sort algorithm from [1]. Fixes problems with slow
+operation and program hangs as reported in [2] through [4].
+
+ [1] https://sites.google.com/site/yuta256/sais
+ [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=409664
+ [3] https://github.com/sparkle-project/Sparkle/pull/515
+ [4] https://chromium.googlesource.com/chromiumos/third_party/bsdiff/+/e2b85ce4ea246ca804ee2a9e18005c44e193d868
+
+Signed-off-by: Geoff Levand
+---
+ bsdiff.c | 104 +------------
+ sais.c | 534 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ sais.h | 59 +++++++
+ 3 files changed, 597 insertions(+), 100 deletions(-)
+ create mode 100644 sais.c
+ create mode 100644 sais.h
+
+diff --git a/bsdiff.c b/bsdiff.c
+index 150a7f7..5c6c94f 100644
+--- a/bsdiff.c
++++ b/bsdiff.c
+@@ -38,106 +38,9 @@ __FBSDID("$FreeBSD: src/usr.bin/bsdiff/bsdiff/bsdiff.c,v 1.1 2005/08/06 01:59:05
+ #include
+ #include
+
+-#define MIN(x,y) (((x)<(y)) ? (x) : (y))
+-
+-static void split(off_t *I,off_t *V,off_t start,off_t len,off_t h)
+-{
+- off_t i,j,k,x,tmp,jj,kk;
+-
+- if(len<16) {
+- for(k=start;kstart) split(I,V,start,jj-start,h);
+-
+- for(i=0;ikk) split(I,V,kk,start+len-kk,h);
+-}
++#include "sais.h"
+
+-static void qsufsort(off_t *I,off_t *V,u_char *old,off_t oldsize)
+-{
+- off_t buckets[256];
+- off_t i,h,len;
+-
+- for(i=0;i<256;i++) buckets[i]=0;
+- for(i=0;i0;i--) buckets[i]=buckets[i-1];
+- buckets[0]=0;
+-
+- for(i=0;i
++#include
++#include "sais.h"
++
++#ifndef UCHAR_SIZE
++# define UCHAR_SIZE 256
++#endif
++#ifndef MINBUCKETSIZE
++# define MINBUCKETSIZE 256
++#endif
++
++#define sais_bool_type int
++#define SAIS_LMSSORT2_LIMIT 0x3fffffff
++
++#define SAIS_MYMALLOC(_num, _type) ((_type *)malloc((_num) * sizeof(_type)))
++#define SAIS_MYFREE(_ptr, _num, _type) free((_ptr))
++#define chr(_a) (cs == sizeof(sais_index_type) ? ((sais_index_type *)T)[(_a)] : ((unsigned char *)T)[(_a)])
++
++/* find the start or end of each bucket */
++static
++void
++getCounts(const void *T, sais_index_type *C, sais_index_type n, sais_index_type k, int cs) {
++ sais_index_type i;
++ for(i = 0; i < k; ++i) { C[i] = 0; }
++ for(i = 0; i < n; ++i) { ++C[chr(i)]; }
++}
++static
++void
++getBuckets(const sais_index_type *C, sais_index_type *B, sais_index_type k, sais_bool_type end) {
++ sais_index_type i, sum = 0;
++ if(end) { for(i = 0; i < k; ++i) { sum += C[i]; B[i] = sum; } }
++ else { for(i = 0; i < k; ++i) { sum += C[i]; B[i] = sum - C[i]; } }
++}
++
++/* sort all type LMS suffixes */
++static
++void
++LMSsort1(const void *T, sais_index_type *SA,
++ sais_index_type *C, sais_index_type *B,
++ sais_index_type n, sais_index_type k, int cs) {
++ sais_index_type *b, i, j;
++ sais_index_type c0, c1;
++
++ /* compute SAl */
++ if(C == B) { getCounts(T, C, n, k, cs); }
++ getBuckets(C, B, k, 0); /* find starts of buckets */
++ j = n - 1;
++ b = SA + B[c1 = chr(j)];
++ --j;
++ *b++ = (chr(j) < c1) ? ~j : j;
++ for(i = 0; i < n; ++i) {
++ if(0 < (j = SA[i])) {
++ assert(chr(j) >= chr(j + 1));
++ if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
++ assert(i < (b - SA));
++ --j;
++ *b++ = (chr(j) < c1) ? ~j : j;
++ SA[i] = 0;
++ } else if(j < 0) {
++ SA[i] = ~j;
++ }
++ }
++ /* compute SAs */
++ if(C == B) { getCounts(T, C, n, k, cs); }
++ getBuckets(C, B, k, 1); /* find ends of buckets */
++ for(i = n - 1, b = SA + B[c1 = 0]; 0 <= i; --i) {
++ if(0 < (j = SA[i])) {
++ assert(chr(j) <= chr(j + 1));
++ if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
++ assert((b - SA) <= i);
++ --j;
++ *--b = (chr(j) > c1) ? ~(j + 1) : j;
++ SA[i] = 0;
++ }
++ }
++}
++static
++sais_index_type
++LMSpostproc1(const void *T, sais_index_type *SA,
++ sais_index_type n, sais_index_type m, int cs) {
++ sais_index_type i, j, p, q, plen, qlen, name;
++ sais_index_type c0, c1;
++ sais_bool_type diff;
++
++ /* compact all the sorted substrings into the first m items of SA
++ 2*m must be not larger than n (proveable) */
++ assert(0 < n);
++ for(i = 0; (p = SA[i]) < 0; ++i) { SA[i] = ~p; assert((i + 1) < n); }
++ if(i < m) {
++ for(j = i, ++i;; ++i) {
++ assert(i < n);
++ if((p = SA[i]) < 0) {
++ SA[j++] = ~p; SA[i] = 0;
++ if(j == m) { break; }
++ }
++ }
++ }
++
++ /* store the length of all substrings */
++ i = n - 1; j = n - 1; c0 = chr(n - 1);
++ do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
++ for(; 0 <= i;) {
++ do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) <= c1));
++ if(0 <= i) {
++ SA[m + ((i + 1) >> 1)] = j - i; j = i + 1;
++ do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
++ }
++ }
++
++ /* find the lexicographic names of all substrings */
++ for(i = 0, name = 0, q = n, qlen = 0; i < m; ++i) {
++ p = SA[i], plen = SA[m + (p >> 1)], diff = 1;
++ if((plen == qlen) && ((q + plen) < n)) {
++ for(j = 0; (j < plen) && (chr(p + j) == chr(q + j)); ++j) { }
++ if(j == plen) { diff = 0; }
++ }
++ if(diff != 0) { ++name, q = p, qlen = plen; }
++ SA[m + (p >> 1)] = name;
++ }
++
++ return name;
++}
++static
++void
++LMSsort2(const void *T, sais_index_type *SA,
++ sais_index_type *C, sais_index_type *B, sais_index_type *D,
++ sais_index_type n, sais_index_type k, int cs) {
++ sais_index_type *b, i, j, t, d;
++ sais_index_type c0, c1;
++ assert(C != B);
++
++ /* compute SAl */
++ getBuckets(C, B, k, 0); /* find starts of buckets */
++ j = n - 1;
++ b = SA + B[c1 = chr(j)];
++ --j;
++ t = (chr(j) < c1);
++ j += n;
++ *b++ = (t & 1) ? ~j : j;
++ for(i = 0, d = 0; i < n; ++i) {
++ if(0 < (j = SA[i])) {
++ if(n <= j) { d += 1; j -= n; }
++ assert(chr(j) >= chr(j + 1));
++ if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
++ assert(i < (b - SA));
++ --j;
++ t = c0; t = (t << 1) | (chr(j) < c1);
++ if(D[t] != d) { j += n; D[t] = d; }
++ *b++ = (t & 1) ? ~j : j;
++ SA[i] = 0;
++ } else if(j < 0) {
++ SA[i] = ~j;
++ }
++ }
++ for(i = n - 1; 0 <= i; --i) {
++ if(0 < SA[i]) {
++ if(SA[i] < n) {
++ SA[i] += n;
++ for(j = i - 1; SA[j] < n; --j) { }
++ SA[j] -= n;
++ i = j;
++ }
++ }
++ }
++
++ /* compute SAs */
++ getBuckets(C, B, k, 1); /* find ends of buckets */
++ for(i = n - 1, d += 1, b = SA + B[c1 = 0]; 0 <= i; --i) {
++ if(0 < (j = SA[i])) {
++ if(n <= j) { d += 1; j -= n; }
++ assert(chr(j) <= chr(j + 1));
++ if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
++ assert((b - SA) <= i);
++ --j;
++ t = c0; t = (t << 1) | (chr(j) > c1);
++ if(D[t] != d) { j += n; D[t] = d; }
++ *--b = (t & 1) ? ~(j + 1) : j;
++ SA[i] = 0;
++ }
++ }
++}
++static
++sais_index_type
++LMSpostproc2(sais_index_type *SA, sais_index_type n, sais_index_type m) {
++ sais_index_type i, j, d, name;
++
++ /* compact all the sorted LMS substrings into the first m items of SA */
++ assert(0 < n);
++ for(i = 0, name = 0; (j = SA[i]) < 0; ++i) {
++ j = ~j;
++ if(n <= j) { name += 1; }
++ SA[i] = j;
++ assert((i + 1) < n);
++ }
++ if(i < m) {
++ for(d = i, ++i;; ++i) {
++ assert(i < n);
++ if((j = SA[i]) < 0) {
++ j = ~j;
++ if(n <= j) { name += 1; }
++ SA[d++] = j; SA[i] = 0;
++ if(d == m) { break; }
++ }
++ }
++ }
++ if(name < m) {
++ /* store the lexicographic names */
++ for(i = m - 1, d = name + 1; 0 <= i; --i) {
++ if(n <= (j = SA[i])) { j -= n; --d; }
++ SA[m + (j >> 1)] = d;
++ }
++ } else {
++ /* unset flags */
++ for(i = 0; i < m; ++i) {
++ if(n <= (j = SA[i])) { j -= n; SA[i] = j; }
++ }
++ }
++
++ return name;
++}
++
++/* compute SA and BWT */
++static
++void
++induceSA(const void *T, sais_index_type *SA,
++ sais_index_type *C, sais_index_type *B,
++ sais_index_type n, sais_index_type k, int cs) {
++ sais_index_type *b, i, j;
++ sais_index_type c0, c1;
++ /* compute SAl */
++ if(C == B) { getCounts(T, C, n, k, cs); }
++ getBuckets(C, B, k, 0); /* find starts of buckets */
++ j = n - 1;
++ b = SA + B[c1 = chr(j)];
++ *b++ = ((0 < j) && (chr(j - 1) < c1)) ? ~j : j;
++ for(i = 0; i < n; ++i) {
++ j = SA[i], SA[i] = ~j;
++ if(0 < j) {
++ --j;
++ assert(chr(j) >= chr(j + 1));
++ if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
++ assert(i < (b - SA));
++ *b++ = ((0 < j) && (chr(j - 1) < c1)) ? ~j : j;
++ }
++ }
++ /* compute SAs */
++ if(C == B) { getCounts(T, C, n, k, cs); }
++ getBuckets(C, B, k, 1); /* find ends of buckets */
++ for(i = n - 1, b = SA + B[c1 = 0]; 0 <= i; --i) {
++ if(0 < (j = SA[i])) {
++ --j;
++ assert(chr(j) <= chr(j + 1));
++ if((c0 = chr(j)) != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
++ assert((b - SA) <= i);
++ *--b = ((j == 0) || (chr(j - 1) > c1)) ? ~j : j;
++ } else {
++ SA[i] = ~j;
++ }
++ }
++}
++static
++sais_index_type
++computeBWT(const void *T, sais_index_type *SA,
++ sais_index_type *C, sais_index_type *B,
++ sais_index_type n, sais_index_type k, int cs) {
++ sais_index_type *b, i, j, pidx = -1;
++ sais_index_type c0, c1;
++ /* compute SAl */
++ if(C == B) { getCounts(T, C, n, k, cs); }
++ getBuckets(C, B, k, 0); /* find starts of buckets */
++ j = n - 1;
++ b = SA + B[c1 = chr(j)];
++ *b++ = ((0 < j) && (chr(j - 1) < c1)) ? ~j : j;
++ for(i = 0; i < n; ++i) {
++ if(0 < (j = SA[i])) {
++ --j;
++ assert(chr(j) >= chr(j + 1));
++ SA[i] = ~((sais_index_type)(c0 = chr(j)));
++ if(c0 != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
++ assert(i < (b - SA));
++ *b++ = ((0 < j) && (chr(j - 1) < c1)) ? ~j : j;
++ } else if(j != 0) {
++ SA[i] = ~j;
++ }
++ }
++ /* compute SAs */
++ if(C == B) { getCounts(T, C, n, k, cs); }
++ getBuckets(C, B, k, 1); /* find ends of buckets */
++ for(i = n - 1, b = SA + B[c1 = 0]; 0 <= i; --i) {
++ if(0 < (j = SA[i])) {
++ --j;
++ assert(chr(j) <= chr(j + 1));
++ SA[i] = (c0 = chr(j));
++ if(c0 != c1) { B[c1] = b - SA; b = SA + B[c1 = c0]; }
++ assert((b - SA) <= i);
++ *--b = ((0 < j) && (chr(j - 1) > c1)) ? ~((sais_index_type)chr(j - 1)) : j;
++ } else if(j != 0) {
++ SA[i] = ~j;
++ } else {
++ pidx = i;
++ }
++ }
++ return pidx;
++}
++
++/* find the suffix array SA of T[0..n-1] in {0..255}^n */
++static
++sais_index_type
++sais_main(const void *T, sais_index_type *SA,
++ sais_index_type fs, sais_index_type n, sais_index_type k, int cs,
++ sais_bool_type isbwt) {
++ sais_index_type *C, *B, *D, *RA, *b;
++ sais_index_type i, j, m, p, q, t, name, pidx = 0, newfs;
++ sais_index_type c0, c1;
++ unsigned int flags;
++
++ assert((T != NULL) && (SA != NULL));
++ assert((0 <= fs) && (0 < n) && (1 <= k));
++
++ if(k <= MINBUCKETSIZE) {
++ if((C = SAIS_MYMALLOC((size_t)k, sais_index_type)) == NULL) { return -2; }
++ if(k <= fs) {
++ B = SA + (n + fs - k);
++ flags = 1;
++ } else {
++ if((B = SAIS_MYMALLOC((size_t)k, sais_index_type)) == NULL) { SAIS_MYFREE(C, k, sais_index_type); return -2; }
++ flags = 3;
++ }
++ } else if(k <= fs) {
++ C = SA + (n + fs - k);
++ if(k <= (fs - k)) {
++ B = C - k;
++ flags = 0;
++ } else if(k <= (MINBUCKETSIZE * 4)) {
++ if((B = SAIS_MYMALLOC((size_t)k, sais_index_type)) == NULL) { return -2; }
++ flags = 2;
++ } else {
++ B = C;
++ flags = 8;
++ }
++ } else {
++ if((C = B = SAIS_MYMALLOC((size_t)k, sais_index_type)) == NULL) { return -2; }
++ flags = 4 | 8;
++ }
++ if((n <= SAIS_LMSSORT2_LIMIT) && (2 <= (n / k))) {
++ if(flags & 1) { flags |= ((k * 2) <= (fs - k)) ? 32 : 16; }
++ else if((flags == 0) && ((k * 2) <= (fs - k * 2))) { flags |= 32; }
++ }
++
++ /* stage 1: reduce the problem by at least 1/2
++ sort all the LMS-substrings */
++ getCounts(T, C, n, k, cs); getBuckets(C, B, k, 1); /* find ends of buckets */
++ for(i = 0; i < n; ++i) { SA[i] = 0; }
++ b = &t; i = n - 1; j = n; m = 0; c0 = chr(n - 1);
++ do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
++ for(; 0 <= i;) {
++ do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) <= c1));
++ if(0 <= i) {
++ *b = j; b = SA + --B[c1]; j = i; ++m;
++ do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
++ }
++ }
++
++ if(1 < m) {
++ if(flags & (16 | 32)) {
++ if(flags & 16) {
++ if((D = SAIS_MYMALLOC((size_t)k * 2, sais_index_type)) == NULL) {
++ if(flags & (1 | 4)) { SAIS_MYFREE(C, k, sais_index_type); }
++ if(flags & 2) { SAIS_MYFREE(B, k, sais_index_type); }
++ return -2;
++ }
++ } else {
++ D = B - k * 2;
++ }
++ assert((j + 1) < n);
++ ++B[chr(j + 1)];
++ for(i = 0, j = 0; i < k; ++i) {
++ j += C[i];
++ if(B[i] != j) { assert(SA[B[i]] != 0); SA[B[i]] += n; }
++ D[i] = D[i + k] = 0;
++ }
++ LMSsort2(T, SA, C, B, D, n, k, cs);
++ name = LMSpostproc2(SA, n, m);
++ if(flags & 16) { SAIS_MYFREE(D, k * 2, sais_index_type); }
++ } else {
++ LMSsort1(T, SA, C, B, n, k, cs);
++ name = LMSpostproc1(T, SA, n, m, cs);
++ }
++ } else if(m == 1) {
++ *b = j + 1;
++ name = 1;
++ } else {
++ name = 0;
++ }
++
++ /* stage 2: solve the reduced problem
++ recurse if names are not yet unique */
++ if(name < m) {
++ if(flags & 4) { SAIS_MYFREE(C, k, sais_index_type); }
++ if(flags & 2) { SAIS_MYFREE(B, k, sais_index_type); }
++ newfs = (n + fs) - (m * 2);
++ if((flags & (1 | 4 | 8)) == 0) {
++ if((k + name) <= newfs) { newfs -= k; }
++ else { flags |= 8; }
++ }
++ assert((n >> 1) <= (newfs + m));
++ RA = SA + m + newfs;
++ for(i = m + (n >> 1) - 1, j = m - 1; m <= i; --i) {
++ if(SA[i] != 0) {
++ RA[j--] = SA[i] - 1;
++ }
++ }
++ if(sais_main(RA, SA, newfs, m, name, sizeof(sais_index_type), 0) != 0) {
++ if(flags & 1) { SAIS_MYFREE(C, k, sais_index_type); }
++ return -2;
++ }
++
++ i = n - 1; j = m - 1; c0 = chr(n - 1);
++ do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
++ for(; 0 <= i;) {
++ do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) <= c1));
++ if(0 <= i) {
++ RA[j--] = i + 1;
++ do { c1 = c0; } while((0 <= --i) && ((c0 = chr(i)) >= c1));
++ }
++ }
++ for(i = 0; i < m; ++i) { SA[i] = RA[SA[i]]; }
++ if(flags & 4) {
++ if((C = B = SAIS_MYMALLOC((size_t)k, sais_index_type)) == NULL) { return -2; }
++ }
++ if(flags & 2) {
++ if((B = SAIS_MYMALLOC((size_t)k, sais_index_type)) == NULL) {
++ if(flags & 1) { SAIS_MYFREE(C, k, sais_index_type); }
++ return -2;
++ }
++ }
++ }
++
++ /* stage 3: induce the result for the original problem */
++ if(flags & 8) { getCounts(T, C, n, k, cs); }
++ /* put all left-most S characters into their buckets */
++ if(1 < m) {
++ getBuckets(C, B, k, 1); /* find ends of buckets */
++ i = m - 1, j = n, p = SA[m - 1], c1 = chr(p);
++ do {
++ q = B[c0 = c1];
++ while(q < j) { SA[--j] = 0; }
++ do {
++ SA[--j] = p;
++ if(--i < 0) { break; }
++ p = SA[i];
++ } while((c1 = chr(p)) == c0);
++ } while(0 <= i);
++ while(0 < j) { SA[--j] = 0; }
++ }
++ if(isbwt == 0) { induceSA(T, SA, C, B, n, k, cs); }
++ else { pidx = computeBWT(T, SA, C, B, n, k, cs); }
++ if(flags & (1 | 4)) { SAIS_MYFREE(C, k, sais_index_type); }
++ if(flags & 2) { SAIS_MYFREE(B, k, sais_index_type); }
++
++ return pidx;
++}
++
++/*---------------------------------------------------------------------------*/
++
++sais_index_type
++sais(const unsigned char *T, sais_index_type *SA, int n) {
++ if((T == NULL) || (SA == NULL) || (n < 0)) { return -1; }
++ if(n <= 1) { if(n == 1) { SA[0] = 0; } return 0; }
++ return sais_main(T, SA, 0, n, UCHAR_SIZE, sizeof(unsigned char), 0);
++}
++
++sais_index_type
++sais_int(const int *T, sais_index_type *SA, int n, int k) {
++ if((T == NULL) || (SA == NULL) || (n < 0) || (k <= 0)) { return -1; }
++ if(n <= 1) { if(n == 1) { SA[0] = 0; } return 0; }
++ return sais_main(T, SA, 0, n, k, sizeof(int), 0);
++}
++
++sais_index_type
++sais_bwt(const unsigned char *T, unsigned char *U, sais_index_type *A, int n) {
++ int i;
++ sais_index_type pidx;
++ if((T == NULL) || (U == NULL) || (A == NULL) || (n < 0)) { return -1; }
++ if(n <= 1) { if(n == 1) { U[0] = T[0]; } return n; }
++ pidx = sais_main(T, A, 0, n, UCHAR_SIZE, sizeof(unsigned char), 1);
++ if(pidx < 0) { return pidx; }
++ U[0] = T[n - 1];
++ for(i = 0; i < pidx; ++i) { U[i + 1] = (unsigned char)A[i]; }
++ for(i += 1; i < n; ++i) { U[i] = (unsigned char)A[i]; }
++ pidx += 1;
++ return pidx;
++}
++
++sais_index_type
++sais_int_bwt(const sais_index_type *T, sais_index_type *U, sais_index_type *A, int n, int k) {
++ int i;
++ sais_index_type pidx;
++ if((T == NULL) || (U == NULL) || (A == NULL) || (n < 0) || (k <= 0)) { return -1; }
++ if(n <= 1) { if(n == 1) { U[0] = T[0]; } return n; }
++ pidx = sais_main(T, A, 0, n, k, sizeof(int), 1);
++ if(pidx < 0) { return pidx; }
++ U[0] = T[n - 1];
++ for(i = 0; i < pidx; ++i) { U[i + 1] = A[i]; }
++ for(i += 1; i < n; ++i) { U[i] = A[i]; }
++ pidx += 1;
++ return pidx;
++}
+diff --git a/sais.h b/sais.h
+new file mode 100644
+index 0000000..1abd0af
+--- /dev/null
++++ b/sais.h
+@@ -0,0 +1,59 @@
++/*
++ * sais.h for sais-lite
++ * Copyright (c) 2008-2010 Yuta Mori All Rights Reserved.
++ *
++ * Permission is hereby granted, free of charge, to any person
++ * obtaining a copy of this software and associated documentation
++ * files (the "Software"), to deal in the Software without
++ * restriction, including without limitation the rights to use,
++ * copy, modify, merge, publish, distribute, sublicense, and/or sell
++ * copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the following
++ * conditions:
++ *
++ * The above copyright notice and this permission notice shall be
++ * included in all copies or substantial portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ * OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++#ifndef _SAIS_H
++#define _SAIS_H 1
++
++#ifdef __cplusplus
++extern "C" {
++#endif /* __cplusplus */
++
++#include
++
++#define sais_index_type off_t
++
++/* find the suffix array SA of T[0..n-1]
++ use a working space (excluding T and SA) of at most 2n+O(lg n) */
++sais_index_type
++sais(const unsigned char *T, sais_index_type *SA, int n);
++
++/* find the suffix array SA of T[0..n-1] in {0..k-1}^n
++ use a working space (excluding T and SA) of at most MAX(4k,2n) */
++sais_index_type
++sais_int(const int *T, sais_index_type *SA, int n, int k);
++
++/* burrows-wheeler transform */
++sais_index_type
++sais_bwt(const unsigned char *T, unsigned char *U, sais_index_type *A, int n);
++sais_index_type
++sais_int_bwt(const sais_index_type *T, sais_index_type *U, sais_index_type *A, int n, int k);
++
++
++#ifdef __cplusplus
++} /* extern "C" */
++#endif /* __cplusplus */
++
++#endif /* _SAIS_H */
+--
+2.1.0
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/files/bsdiff-4.3-CVE-2014-9862.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/files/bsdiff-4.3-CVE-2014-9862.patch
new file mode 100644
index 0000000000..7aab818090
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/files/bsdiff-4.3-CVE-2014-9862.patch
@@ -0,0 +1,15 @@
+diff --git a/bspatch.c b/bspatch.c
+index 8d95633..ab77722 100644
+--- a/bspatch.c
++++ b/bspatch.c
+
+@@ -187,6 +187,10 @@
+ };
+
+ /* Sanity-check */
++ if ((ctrl[0] < 0) || (ctrl[1] < 0))
++ errx(1,"Corrupt patch\n");
++
++ /* Sanity-check */
+ if(newpos+ctrl[0]>newsize)
+ errx(1,"Corrupt patch\n");
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/files/bsdiff-4.3-CVE-2020-14315.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/files/bsdiff-4.3-CVE-2020-14315.patch
new file mode 100644
index 0000000000..1ee302dca2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/files/bsdiff-4.3-CVE-2020-14315.patch
@@ -0,0 +1,22 @@
+--- a/bspatch.c 2021-01-11 15:53:32.642707355 +0100
++++ b/bspatch.c 2021-01-11 16:00:14.704637769 +0100
+@@ -35,6 +35,7 @@
+ #include
+ #include
+ #include
++#include
+
+ static off_t offtin(u_char *buf)
+ {
+@@ -152,8 +153,9 @@
+ };
+
+ /* Sanity-check */
+- if ((ctrl[0] < 0) || (ctrl[1] < 0))
+- errx(1,"Corrupt patch\n");
++ if (ctrl[0] < 0 || ctrl[0] > INT_MAX ||
++ ctrl[1] < 0 || ctrl[1] > INT_MAX)
++ errx(1, "Corrupt patch\n");
+
+ /* Sanity-check */
+ if(newpos+ctrl[0]>newsize)
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/metadata.xml
new file mode 100644
index 0000000000..b6b8956cde
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/bsdiff/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ pinkbyte@gentoo.org
+ Sergey Popov
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/Manifest
new file mode 100644
index 0000000000..f015253b6c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/Manifest
@@ -0,0 +1 @@
+DIST catalyst-3.0.14.tar.bz2 621178 BLAKE2B 3fa87125f14661bb77432267f03c0966eff8f71f4ef334ce0a14218f7557dee270840afb79b6735a149851ed44b1ea2f6cf59d8274d74e049246d89874aa484b SHA512 938a63a83458fa5a26a4b4e62d18086ed813aec5638a9dd363ba553cb7aeb337c3b8ba0768f3b5a658aa54f2f375a7fe067279c739073d2420c3ad3a42830830
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/README.md b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/README.md
new file mode 100644
index 0000000000..7eeb779bb2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/README.md
@@ -0,0 +1,6 @@
+This is a fork of dev-util/catalyst package. The reasons for having it
+here are:
+
+- Add patches that move the scripts to use python3 explicitly, because
+ /usr/bin/python is still pointing to python2, but our portage is now
+ a python3 code.
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/catalyst-3.0.14-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/catalyst-3.0.14-r1.ebuild
new file mode 100644
index 0000000000..9e097fba35
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/catalyst-3.0.14-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Flatcar: Based on catalyst-3.0.14.ebuild from commit
+# 78fc35f2e766117caa26928db5a0a09b8af18c3c in Gentoo repo (see
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-util/catalyst/catalyst-3.0.14.ebuild?id=78fc35f2e766117caa26928db5a0a09b8af18c3c).
+
+EAPI=6
+
+if [[ ${PV} == *9999* ]]; then
+ SRC_ECLASS="git-r3"
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/catalyst.git"
+ EGIT_BRANCH="master"
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/catalyst.git/snapshot/${P}.tar.bz2"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86"
+fi
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS=no
+
+inherit distutils-r1 ${SRC_ECLASS}
+
+DESCRIPTION="Release metatool used for creating releases based on Gentoo Linux"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Catalyst"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="ccache doc +iso kernel_linux system-bootloader"
+
+DEPEND="
+ app-text/asciidoc
+ >=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/pydecomp-0.3[${PYTHON_USEDEP}]
+ app-arch/lbzip2
+ app-crypt/shash
+ sys-fs/dosfstools
+ !kernel_FreeBSD? ( || ( app-arch/tar[xattr] app-arch/libarchive[xattr] ) )
+ kernel_FreeBSD? ( app-arch/libarchive[xattr] )
+ amd64? ( >=sys-boot/syslinux-3.72 )
+ x86? ( >=sys-boot/syslinux-3.72 )
+ ccache? ( dev-util/ccache )
+ iso? ( virtual/cdrtools )
+ kernel_linux? ( app-misc/zisofs-tools >=sys-fs/squashfs-tools-2.1 )
+"
+PDEPEND="system-bootloader? ( >=sys-apps/memtest86+-5.01-r4
+ sys-boot/grub:2
+ amd64? ( sys-boot/grub[grub_platforms_efi-32,grub_platforms_efi-64] )
+ x86? ( sys-boot/grub[grub_platforms_efi-32] )
+ sys-boot/syslinux
+ sys-boot/shim )"
+
+PATCHES=(
+ "${FILESDIR}/0001-catalyst-Remove-left-over-Id.patch"
+ "${FILESDIR}/0002-catalyst-Remove-Maintained-by-sections.patch"
+ "${FILESDIR}/0003-catalyst-Remove-unnecessary-future-imports.patch"
+ "${FILESDIR}/0004-catalyst-Use-python3-shebangs.patch"
+ "${FILESDIR}/0005-chroot-funcs-use-python3-for-debug-output.patch"
+)
+
+python_prepare_all() {
+ python_setup
+ echo VERSION="${PV}" "${PYTHON}" setup.py set_version
+ VERSION="${PV}" "${PYTHON}" setup.py set_version || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # build the man pages and docs
+ emake
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use doc; then
+ dodoc files/HOWTO.html files/docbook-xsl.css
+ fi
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0001-catalyst-Remove-left-over-Id.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0001-catalyst-Remove-left-over-Id.patch
new file mode 100644
index 0000000000..189bfb0f1e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0001-catalyst-Remove-left-over-Id.patch
@@ -0,0 +1,71 @@
+From 6aebee1b3adee0c4b3775e69614c36f9e7ba980c Mon Sep 17 00:00:00 2001
+From: Matt Turner
+Date: Fri, 27 Mar 2020 23:49:05 -0700
+Subject: [PATCH 1/4] catalyst: Remove left over $Id$
+
+Signed-off-by: Matt Turner
+---
+ AUTHORS | 2 --
+ README | 2 --
+ TODO | 2 --
+ bin/catalyst | 1 -
+ catalyst/main.py | 1 -
+ 5 files changed, 8 deletions(-)
+
+diff --git a/AUTHORS b/AUTHORS
+index 3bf969bd..41366b8c 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -1,5 +1,3 @@
+-# $Id: 3bf969bd0798372f72ebdfc74321ac0c81174d68 $
+-
+ The copyright for catalyst is held by the Gentoo Foundation and by each
+ of the individual contributors.
+
+diff --git a/README b/README
+index 530abb35..6dc6a149 100644
+--- a/README
++++ b/README
+@@ -1,5 +1,3 @@
+-# $Id: 530abb353ec9c8e52e5bf677fbb628339e78b241 $
+-
+ Licensing
+ ========================
+
+diff --git a/TODO b/TODO
+index a2ee05dd..bf397840 100644
+--- a/TODO
++++ b/TODO
+@@ -1,5 +1,3 @@
+-# $Id: a2ee05ddd591798b18e2ea570e2f729dd30992f7 $
+-
+ This file is a rough list of changes that need to be made to catalyst.
+
+ Global:
+diff --git a/bin/catalyst b/bin/catalyst
+index 72a4cb4d..d0d3d639 100755
+--- a/bin/catalyst
++++ b/bin/catalyst
+@@ -5,7 +5,6 @@
+ # Release Engineering Team
+ # Andrew Gaffney
+ # Chris Gianelloni
+-# $Id: 72a4cb4db4d6f247a893e9744ca46f2a97859ba5 $
+
+
+ from __future__ import print_function
+diff --git a/catalyst/main.py b/catalyst/main.py
+index 01c456ea..e15d67d9 100644
+--- a/catalyst/main.py
++++ b/catalyst/main.py
+@@ -4,7 +4,6 @@
+ # Release Engineering Team
+ # Andrew Gaffney
+ # Chris Gianelloni
+-# $Id: 01c456ea99fb8fb3342e3bb0cf2c9b1a56357c65 $
+
+ import argparse
+ import datetime
+--
+2.29.2
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0002-catalyst-Remove-Maintained-by-sections.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0002-catalyst-Remove-Maintained-by-sections.patch
new file mode 100644
index 0000000000..b1db929d2b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0002-catalyst-Remove-Maintained-by-sections.patch
@@ -0,0 +1,108 @@
+From 44a1b09c566c05889b71fcdecedf319e162fea8e Mon Sep 17 00:00:00 2001
+From: Matt Turner
+Date: Fri, 27 Mar 2020 23:52:41 -0700
+Subject: [PATCH 2/4] catalyst: Remove "Maintained by" sections
+
+They're not useful and out of date to boot.
+
+Signed-off-by: Matt Turner
+---
+ bin/catalyst | 7 -------
+ catalyst/base/resume.py | 5 -----
+ catalyst/fileops.py | 5 -----
+ catalyst/main.py | 7 -------
+ catalyst/version.py | 7 -------
+ doc/catalyst.1.txt | 2 +-
+ 6 files changed, 1 insertion(+), 32 deletions(-)
+
+diff --git a/bin/catalyst b/bin/catalyst
+index d0d3d639..d3448fd8 100755
+--- a/bin/catalyst
++++ b/bin/catalyst
+@@ -1,12 +1,5 @@
+ #!/usr/bin/python -OO
+
+-# Maintained in full by:
+-# Catalyst Team
+-# Release Engineering Team
+-# Andrew Gaffney
+-# Chris Gianelloni
+-
+-
+ from __future__ import print_function
+
+ import sys
+diff --git a/catalyst/base/resume.py b/catalyst/base/resume.py
+index b2100735..4234f8b9 100644
+--- a/catalyst/base/resume.py
++++ b/catalyst/base/resume.py
+@@ -1,10 +1,5 @@
+ #!/usr/bin/python
+
+-# Maintained in full by:
+-# Catalyst Team
+-# Release Engineering Team
+-# Copyright 2013 Brian Dolbec
+-
+ '''resume.py
+
+ Performs autoresume tracking file operations such as
+diff --git a/catalyst/fileops.py b/catalyst/fileops.py
+index 878e6303..f7df4a01 100644
+--- a/catalyst/fileops.py
++++ b/catalyst/fileops.py
+@@ -1,8 +1,3 @@
+-
+-# Maintained in full by:
+-# Catalyst Team
+-# Release Engineering Team
+-
+ '''fileops.py
+
+ Performs file operations such as pack/unpack,
+diff --git a/catalyst/main.py b/catalyst/main.py
+index e15d67d9..23093e97 100644
+--- a/catalyst/main.py
++++ b/catalyst/main.py
+@@ -1,10 +1,3 @@
+-
+-# Maintained in full by:
+-# Catalyst Team
+-# Release Engineering Team
+-# Andrew Gaffney
+-# Chris Gianelloni
+-
+ import argparse
+ import datetime
+ import os
+diff --git a/catalyst/version.py b/catalyst/version.py
+index f0268686..fcf46fb0 100644
+--- a/catalyst/version.py
++++ b/catalyst/version.py
+@@ -1,10 +1,3 @@
+-# Maintained in full by:
+-# Catalyst Team
+-# Release Engineering Team
+-# Copyright: 2011 Brian Harring
+-# License: BSD/GPL2
+-# Copied & edited by: Brian Dolbec
+-
+ '''Version information and/or git version information
+ '''
+
+diff --git a/doc/catalyst.1.txt b/doc/catalyst.1.txt
+index 5a7a4d64..dc6c7acb 100644
+--- a/doc/catalyst.1.txt
++++ b/doc/catalyst.1.txt
+@@ -120,7 +120,7 @@ NOTES
+ stager projects, both of which were used to create pre-1.4 Gentoo releases.
+
+ *catalyst* was originally conceived and coded by both Daniel Robbins and
+-John Davis. It is currently maintained by Chris Gianelloni and Eric Edgar and
++John Davis. It is currently maintained by the Catalyst Project Team and
+ has been mostly re-written.
+
+
+--
+2.29.2
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0003-catalyst-Remove-unnecessary-future-imports.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0003-catalyst-Remove-unnecessary-future-imports.patch
new file mode 100644
index 0000000000..370bc5e971
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0003-catalyst-Remove-unnecessary-future-imports.patch
@@ -0,0 +1,97 @@
+From 45cf8f43116b13c4648fcb532aba93aff18670ae Mon Sep 17 00:00:00 2001
+From: Matt Turner
+Date: Sat, 28 Mar 2020 00:02:37 -0700
+Subject: [PATCH 3/4] catalyst: Remove unnecessary future imports
+
+Catalyst has been python 3-only for a while.
+
+Signed-off-by: Matt Turner
+---
+ bin/catalyst | 2 --
+ bin/catalyst.git | 2 --
+ bin/pylint | 2 --
+ catalyst/log.py | 2 --
+ doc/make_target_table.py | 2 --
+ setup.py | 2 --
+ 6 files changed, 12 deletions(-)
+
+diff --git a/bin/catalyst b/bin/catalyst
+index d3448fd8..228a913e 100755
+--- a/bin/catalyst
++++ b/bin/catalyst
+@@ -1,7 +1,5 @@
+ #!/usr/bin/python -OO
+
+-from __future__ import print_function
+-
+ import sys
+
+ # This block ensures that ^C interrupts are handled quietly.
+diff --git a/bin/catalyst.git b/bin/catalyst.git
+index eb6234b9..733ade15 100755
+--- a/bin/catalyst.git
++++ b/bin/catalyst.git
+@@ -5,8 +5,6 @@
+
+ """Run catalyst from git using local modules/scripts."""
+
+-from __future__ import print_function
+-
+ import os
+ import sys
+ import tempfile
+diff --git a/bin/pylint b/bin/pylint
+index b0018278..6c718134 100755
+--- a/bin/pylint
++++ b/bin/pylint
+@@ -4,8 +4,6 @@
+
+ """Run pylint with the right settings."""
+
+-from __future__ import print_function
+-
+ import os
+ import sys
+
+diff --git a/catalyst/log.py b/catalyst/log.py
+index d640dece..7956c28f 100644
+--- a/catalyst/log.py
++++ b/catalyst/log.py
+@@ -8,8 +8,6 @@ another level "notice" between warning & info, and all output goes through
+ the "catalyst" logger.
+ """
+
+-from __future__ import print_function
+-
+ import logging
+ import logging.handlers
+ import os
+diff --git a/doc/make_target_table.py b/doc/make_target_table.py
+index c4b49ad9..d1f97c9b 100755
+--- a/doc/make_target_table.py
++++ b/doc/make_target_table.py
+@@ -8,8 +8,6 @@
+ # source the testpath file then run "doc/make_target_table.py"
+
+
+-from __future__ import print_function
+-
+ import glob
+ import locale
+ import os
+diff --git a/setup.py b/setup.py
+index c6b52dcf..c6553b5d 100755
+--- a/setup.py
++++ b/setup.py
+@@ -1,8 +1,6 @@
+ #!/usr/bin/env python
+ """Catalyst is a release building tool used by Gentoo Linux"""
+
+-from __future__ import print_function
+-
+ import codecs as _codecs
+ from distutils.core import setup as _setup, Command as _Command
+ from email.utils import parseaddr as _parseaddr
+--
+2.29.2
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0004-catalyst-Use-python3-shebangs.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0004-catalyst-Use-python3-shebangs.patch
new file mode 100644
index 0000000000..3b4ed1d037
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0004-catalyst-Use-python3-shebangs.patch
@@ -0,0 +1,67 @@
+From 83ce8eb9a11987c93a8c361d745b3a7444d4ad23 Mon Sep 17 00:00:00 2001
+From: Matt Turner
+Date: Sat, 28 Mar 2020 00:00:58 -0700
+Subject: [PATCH 4/4] catalyst: Use python3 shebangs
+
+Signed-off-by: Matt Turner
+---
+ bin/catalyst | 2 +-
+ bin/catalyst.git | 2 +-
+ bin/pylint | 2 +-
+ catalyst/base/resume.py | 2 +-
+ targets/stage1/build.py | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/bin/catalyst b/bin/catalyst
+index 228a913e..97cbb0f9 100755
+--- a/bin/catalyst
++++ b/bin/catalyst
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python -OO
++#!/usr/bin/python3 -OO
+
+ import sys
+
+diff --git a/bin/catalyst.git b/bin/catalyst.git
+index 733ade15..9b3deaa1 100755
+--- a/bin/catalyst.git
++++ b/bin/catalyst.git
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ # -*- coding: utf-8 -*-
+ # Copyright 1999-2015 Gentoo Foundation
+ # Distributed under the terms of the GNU General Public License v2
+diff --git a/bin/pylint b/bin/pylint
+index 6c718134..98108f5f 100755
+--- a/bin/pylint
++++ b/bin/pylint
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ # Copyright 1999-2015 Gentoo Foundation
+ # Distributed under the terms of the GNU General Public License v2
+
+diff --git a/catalyst/base/resume.py b/catalyst/base/resume.py
+index 4234f8b9..6a4ebdfa 100644
+--- a/catalyst/base/resume.py
++++ b/catalyst/base/resume.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+
+ '''resume.py
+
+diff --git a/targets/stage1/build.py b/targets/stage1/build.py
+index fa4fd136..4373126b 100755
+--- a/targets/stage1/build.py
++++ b/targets/stage1/build.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+
+ import os
+ import sys
+--
+2.29.2
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0005-chroot-funcs-use-python3-for-debug-output.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0005-chroot-funcs-use-python3-for-debug-output.patch
new file mode 100644
index 0000000000..19385f05cd
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/0005-chroot-funcs-use-python3-for-debug-output.patch
@@ -0,0 +1,20 @@
+diff --git a/targets/support/chroot-functions.sh b/targets/support/chroot-functions.sh
+index f3727d0..e1c82c1 100755
+--- a/targets/support/chroot-functions.sh
++++ b/targets/support/chroot-functions.sh
+@@ -285,13 +285,13 @@ run_merge() {
+ }
+
+ show_debug() {
+- if [ "${clst_DEBUG}" = "1" ]
++ if [ -n "${clst_DEBUG}" ]
+ then
+ unset PACKAGES
+ echo "DEBUG:"
+ echo "Profile/target info:"
+ echo "Profile inheritance:"
+- python -c 'import portage; print(portage.settings.profiles)'
++ python3 -c 'import portage; print(portage.settings.profiles)'
+ echo
+ # TODO: make this work on non-portage
+ emerge --info
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/metadata.xml
new file mode 100644
index 0000000000..f89291ab29
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/metadata.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ catalyst@gentoo.org
+
+
+ livecd@gentoo.org
+ Gentoo LiveCD Project
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-vcs/repo/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-vcs/repo/Manifest
new file mode 100644
index 0000000000..57557e36df
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-vcs/repo/Manifest
@@ -0,0 +1 @@
+DIST repo-2.8 39134 BLAKE2B af52a2c06e09de83100cb297d585f89bcbe85d6e9e5c358024a371ee4d47c59992745d1088b164fc670cdd9db7394a5f3521967e3eb80840c53993af8b0172b1 SHA512 6d577fce34eb298035a7b98c24fc21521c8c9efbdf02abc37af8a54552893ecf8cdce2db5efbc5398d7f99226408f6cc9ce2f81c2961d9d5dd21fb0264194431
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-vcs/repo/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-vcs/repo/metadata.xml
new file mode 100644
index 0000000000..097975e3ad
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-vcs/repo/metadata.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/dev-vcs/repo/repo-2.8.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-vcs/repo/repo-2.8.ebuild
new file mode 100644
index 0000000000..719f26ba9c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/dev-vcs/repo/repo-2.8.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NB: The $PV tracks the *repo launcher version*, not the last signed release
+# of the repo project. The launcher only gets a new update when changes are
+# made in it.
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{6..7} )
+
+inherit python-r1
+
+DESCRIPTION="Google tool for managing git, particularly multiple repos"
+HOMEPAGE="https://gerrit.googlesource.com/git-repo"
+SRC_URI="https://storage.googleapis.com/git-repo-downloads/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ !app-admin/radmind
+ !dev-util/repo"
+
+S=${WORKDIR}
+
+src_install() {
+ python_foreach_impl python_newscript "${DISTDIR}/${P}" ${PN}
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/binutils-funcs.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/binutils-funcs.eclass
new file mode 100644
index 0000000000..32c32d1c21
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/eclass/binutils-funcs.eclass
@@ -0,0 +1,22 @@
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+# $Header:
+
+# @ECLASS: binutils-funcs.eclass
+# @MAINTAINER:
+# Raymes Khoury
+# @DESCRIPTION:
+# Functions to get the paths to binutils installations for gold and for GNU ld.
+
+inherit toolchain-funcs
+
+get_binutils_path_ld() {
+ local ld_path=$(readlink -f $(type -p $(tc-getLD ${1})))
+ local binutils_dir=$(dirname ${ld_path})
+ echo ${binutils_dir}
+}
+
+get_binutils_path_gold() {
+ echo $(get_binutils_path_ld ${1})-gold
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-cargo.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-cargo.eclass
new file mode 100644
index 0000000000..dfad60d56a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-cargo.eclass
@@ -0,0 +1,90 @@
+# Copyright 2017-2018 CoreOS, Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: coreos-cargo.eclass
+# @MAINTAINER:
+# team-os@coreos.com
+# @AUTHOR:
+# David Michael
+# @BLURB: cargo cross-compilation support for CoreOS/ChromeOS targets
+
+if [[ -z ${_COREOS_CARGO_ECLASS} ]]; then
+_COREOS_CARGO_ECLASS=1
+
+# XXX: Don't require host dependencies to also be in the sysroot.
+CATEGORY=dev-util PN=cargo inherit cargo
+inherit toolchain-funcs
+
+EXPORT_FUNCTIONS src_unpack
+
+# @FUNCTION: coreos-cargo_src_unpack
+# @DESCRIPTION:
+# This amends the src_unpack from cargo.eclass to add support for Rust
+# cross-compiling to the ChromeOS targets. It maps the host triplet to
+# one built into rustc and uses the board root as its sysroot.
+coreos-cargo_src_unpack() {
+ debug-print-function ${FUNCNAME} "$@"
+ cargo_src_unpack "$@"
+
+ [[ ${CBUILD:-${CHOST}} != ${CHOST} ]] || return 0
+
+ # Map the SDK host triplet to one that is built into rustc.
+ function rust_builtin_target() case "$1" in
+ aarch64-*-linux-gnu) echo aarch64-unknown-linux-gnu ;;
+ x86_64-*-linux-gnu) echo x86_64-unknown-linux-gnu ;;
+ *) die "Unknown host triplet: $1" ;;
+ esac
+
+ # Set the gcc-rs flags for cross-compiling.
+ export TARGET_CFLAGS="${CFLAGS}"
+ export TARGET_CXXFLAGS="${CXXFLAGS}"
+
+ # Wrap ar for gcc-rs to work around rust-lang/cargo#4456.
+ export TARGET_AR="${T}/rustproof-ar"
+ cat <<- EOF > "${TARGET_AR}" && chmod 0755 "${TARGET_AR}"
+ #!/bin/sh
+ unset LD_LIBRARY_PATH
+ exec $(tc-getAR) "\$@"
+ EOF
+
+ # Wrap gcc for gcc-rs to work around rust-lang/cargo#4456.
+ export TARGET_CC="${T}/rustproof-cc"
+ cat <<- EOF > "${TARGET_CC}" && chmod 0755 "${TARGET_CC}"
+ #!/bin/sh
+ unset LD_LIBRARY_PATH
+ exec $(tc-getCC) "\$@"
+ EOF
+
+ # Wrap g++ for gcc-rs to work around rust-lang/cargo#4456.
+ export TARGET_CXX="${T}/rustproof-cxx"
+ cat <<- EOF > "${TARGET_CXX}" && chmod 0755 "${TARGET_CXX}"
+ #!/bin/sh
+ unset LD_LIBRARY_PATH
+ exec $(tc-getCXX) "\$@"
+ EOF
+
+ # Create a compiler wrapper that uses a sysroot for cross-compiling.
+ export RUSTC_WRAPPER="${T}/wrustc"
+ cat <<- 'EOF' > "${RUSTC_WRAPPER}" && chmod 0755 "${RUSTC_WRAPPER}"
+ #!/bin/bash -e
+ rustc=${1:?Missing rustc command}
+ shift
+ xflags=()
+ # rustlib is part of host rustc now, so no: [ "x$*" = "x${*#--target}" ] || xflags=( --sysroot="${ROOT:-/}usr" )
+ exec "${rustc}" "${xflags[@]}" "$@"
+ EOF
+
+ # Compile for the built-in target, using the SDK cross-tools.
+ export RUST_TARGET=$(rust_builtin_target "${CHOST}")
+ cat <<- EOF >> "${ECARGO_HOME}/config"
+
+ [build]
+ target = "${RUST_TARGET}"
+
+ [target.${RUST_TARGET}]
+ ar = "${TARGET_AR}"
+ linker = "${TARGET_CC}"
+ EOF
+}
+
+fi
diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go-depend.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go-depend.eclass
new file mode 100644
index 0000000000..1fc55c2b51
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go-depend.eclass
@@ -0,0 +1,29 @@
+# Copyright 2016 CoreOS, Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: coreos-go-depend.eclass
+# @BLURB: Minimal Go eclass for simply depending on Go.
+
+# @ECLASS-VARIABLE: COREOS_GO_VERSION
+# @DESCRIPTION:
+# This variable specifies the version of Go to use. If ommitted the
+# default value below will be used.
+#
+# Example:
+# @CODE
+# COREOS_GO_VERSION=go1.17
+# @CODE
+export COREOS_GO_VERSION="${COREOS_GO_VERSION:-go1.17}"
+
+case "${EAPI:-0}" in
+ 5|6) DEPEND="dev-lang/go:${COREOS_GO_VERSION#go}=" ;;
+ 7) BDEPEND="dev-lang/go:${COREOS_GO_VERSION#go}=" ;;
+ *) die "Unsupported EAPI=${EAPI} for ${ECLASS}"
+esac
+
+inherit coreos-go-utils
+
+# Set a use flag to indicate what version of Go is being used ensure
+# the package gets rebuilt when the version changes.
+IUSE="+go_version_${COREOS_GO_VERSION//./_}"
+REQUIRED_USE="go_version_${COREOS_GO_VERSION//./_}"
diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go-lang.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go-lang.eclass
new file mode 100644
index 0000000000..74c6e5665c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go-lang.eclass
@@ -0,0 +1,116 @@
+# Copyright 2016 CoreOS, Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: coreos-go-lang.eclass
+# @BLURB: Common functionality for building Go itself
+# @DESCRIPTION:
+# Only dev-lang/go ebuilds should inherit this eclass.
+#
+# Native (${CHOST} == ${CTARGET}):
+#
+
+case "${EAPI:-0}" in
+ 6) ;;
+ *) die "Unsupported EAPI=${EAPI} for ${ECLASS}"
+esac
+
+inherit coreos-go-utils toolchain-funcs versionator
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+# Determine the main SLOT we will be using, e.g.: PV=1.5.3 SLOT=1.5
+GOSLOT="$(get_version_component_range 1-2)"
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="http://www.golang.org"
+SRC_URI="https://storage.googleapis.com/golang/go${PV}.src.tar.gz"
+
+LICENSE="BSD"
+SLOT="${GOSLOT}/${PV}"
+IUSE=""
+
+RDEPEND="app-eselect/eselect-go"
+DEPEND="${RDEPEND}
+ >=dev-lang/go-bootstrap-1.5.3"
+
+# These test data objects have writable/executable stacks.
+QA_EXECSTACK="usr/lib/go${GOSLOT}/src/debug/elf/testdata/*.obj"
+
+# Similarly, test data is never executed so don't check link dependencies.
+REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
+
+# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
+QA_MULTILIB_PATHS="usr/lib/go${GOSLOT}/pkg/tool/.*/.*"
+
+# The go language uses *.a files which are _NOT_ libraries and should not be
+# stripped. The test data objects should also be left alone and unstripped.
+STRIP_MASK="*.a /usr/lib/go${GOSLOT}/src/*"
+
+S="${WORKDIR}/go"
+
+coreos-go-lang_pkg_pretend() {
+ # make.bash does not understand cross-compiling a cross-compiler
+ if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
+ die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
+ fi
+}
+
+coreos-go-lang_src_compile() {
+ export GOROOT_BOOTSTRAP="${EPREFIX}/usr/lib/go-bootstrap"
+ export GOROOT_FINAL="${EPREFIX}/usr/lib/go${GOSLOT}"
+ export GOROOT="${S}"
+ export GOBIN="${GOROOT}/bin"
+
+ # Go's build script does not use BUILD/HOST/TARGET consistently. :(
+ go_export
+ export GOHOSTARCH=$(go_arch ${CBUILD})
+ export GOHOSTOS=$(go_os ${CBUILD})
+ export CC_FOR_TARGET=$(tc-getCC)
+ export CXX_FOR_TARGET=$(tc-getCXX)
+ # Must be set *after* calling tc-getCC
+ export CC=$(tc-getBUILD_CC)
+
+ cd src
+ ./make.bash || die "build failed"
+}
+
+coreos-go-lang_src_test() {
+ go_cross_compile && return 0
+
+ cd src
+ PATH="${GOBIN}:${PATH}" \
+ ./run.bash -no-rebuild || die "tests failed"
+}
+
+coreos-go-lang_src_install() {
+ exeinto "/usr/lib/go${GOSLOT}/bin"
+ if go_cross_compile; then
+ doexe "${GOBIN}/$(go_tuple)/"{go,gofmt}
+ else
+ doexe "${GOBIN}/"{go,gofmt}
+ fi
+ dosym "../lib/go${GOSLOT}/bin/go" "/usr/bin/go${GOSLOT}"
+ dosym "../lib/go${GOSLOT}/bin/gofmt" "/usr/bin/gofmt${GOSLOT}"
+
+ exeinto "/usr/lib/go${GOSLOT}/pkg/tool/$(go_tuple)"
+ doexe "pkg/tool/$(go_tuple)/"*
+
+ insopts -m0644 -p # preserve timestamps
+ insinto "/usr/lib/go${GOSLOT}"
+ doins -r doc lib src
+ insinto "/usr/lib/go${GOSLOT}/pkg"
+ doins -r "pkg/include" "pkg/$(go_tuple)"
+
+ dodoc AUTHORS CONTRIBUTORS PATENTS README.md
+}
+
+coreos-go-lang_pkg_postinst() {
+ eselect go update
+}
+
+coreos-go-lang_pkg_postrm() {
+ eselect go update
+}
+
+EXPORT_FUNCTIONS pkg_pretend src_compile src_test src_install pkg_postinst pkg_postrm
diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go-utils.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go-utils.eclass
new file mode 100644
index 0000000000..3bdfeef711
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go-utils.eclass
@@ -0,0 +1,125 @@
+# Copyright 2016 CoreOS, Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: coreos-go-utils.eclass
+# @BLURB: Utility functions for Go
+# @DESCRIPTION:
+# A utility eclass for functions needed when building both Go itself
+# and packages that depend on it. It does not set any metadata.
+
+case "${EAPI:-0}" in
+ 5|6|7) ;;
+ *) die "Unsupported EAPI=${EAPI} for ${ECLASS}"
+esac
+
+inherit flag-o-matic toolchain-funcs
+
+# @FUNCTION: go_arch
+# @USAGE: [chost]
+# @DESCRIPTION:
+# export GOARCH=$(go_arch $CHOST)
+go_arch() {
+ # By chance most portage arch names match Go
+ local portage_arch=$(tc-arch "${1:-${CHOST}}")
+ local endian=$(tc-endian "${1:-${CHOST}}")
+ case "${portage_arch}" in
+ x86) echo 386;;
+ x64-*) echo amd64;;
+ ppc64)
+ [[ "${endian}" = big ]] && echo ppc64 || echo ppc64le ;;
+ *) echo "${portage_arch}";;
+ esac
+}
+
+# @FUNCTION: go_arm
+# @USAGE: [chost]
+# @DESCRIPTION:
+# export GOARM=$(go_arm $CHOST)
+go_arm() {
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+# @FUNCTION: go_os
+# @USAGE: [chost]
+# @DESCRIPTION:
+# export GOOS=$(go_os $CHOST)
+go_os() {
+ case "${1:-${CHOST}}" in
+ *-linux*) echo linux;;
+ *-darwin*) echo darwin;;
+ *-freebsd*) echo freebsd;;
+ *-netbsd*) echo netbsd;;
+ *-openbsd*) echo openbsd;;
+ *-solaris*) echo solaris;;
+ *-cygwin*|*-interix*|*-winnt*)
+ echo windows
+ ;;
+ *)
+ die "unknown GOOS for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
+# @FUNCTION: go_export
+# @USAGE: [chost]
+# @DESCRIPTION:
+# Export GOARCH, GOOS, GOARM, CC, CXX, and CGO_* environment variables.
+go_export() {
+ export GOARCH=$(go_arch "$@")
+ export GOOS=$(go_os "$@")
+ if [[ "${GOARCH}" == "arm" ]]; then
+ export GOARM=$(go_arm "$@")
+ fi
+
+ # Go's 6l linker does not support PIE, disable so cgo binaries
+ # which use 6l+gcc for linking can be built correctly.
+ if gcc-specs-pie; then
+ append-ldflags -nopie
+ fi
+
+ export CC=$(tc-getCC)
+ export CXX=$(tc-getCXX)
+ export CGO_ENABLED=${CGO_ENABLED:-1}
+ export CGO_CFLAGS="${CFLAGS}"
+ export CGO_CPPFLAGS="${CPPFLAGS}"
+ export CGO_CXXFLAGS="${CXXFLAGS}"
+ export CGO_LDFLAGS="${LDFLAGS}"
+
+ # Ensure the `go` wrapper calls the version we expect
+ export EGO="${COREOS_GO_VERSION}"
+
+ # With Go >= 1.16, GO111MODULE=on is set by default.
+ # Few of our repos still don't support Go modules so we would need to set
+ # GO111MODULE=off for those packages.
+ if [[ "${COREOS_GO_GO111MODULE}" == "off" ]]; then
+ export GO111MODULE="${COREOS_GO_GO111MODULE}"
+ fi
+}
+
+# @FUNCTION: go_tuple
+# @USAGE: [chost]
+# @DESCRIPTION:
+# The uniqe string defining a Go target, as used in directory names.
+# e.g. linux_amd64 for x86_64-pc-linux-gnu
+go_tuple()
+{
+ echo "$(go_os $@)_$(go_arch $@)"
+}
+
+# @FUNCTION: go_cross_compile
+# @USAGE: [chost]
+# @DESCRIPTION:
+# Check if Go consideres compiling for $CHOST as cross-compilation.
+# Since Go's target tuples are smaller than GCC's Go may not consider
+# itself as a cross-compiler even if the GCC it is using for cgo is.
+go_cross_compile()
+{
+ [[ $(go_tuple ${CBUILD:-${CHOST}}) != $(go_tuple $@) ]]
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass
new file mode 100644
index 0000000000..4d0df35249
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass
@@ -0,0 +1,100 @@
+# Copyright 2014 CoreOS, Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: coreos-go.eclass
+# @BLURB: utility functions for building Go binaries
+
+# @ECLASS-VARIABLE: COREOS_GO_MOD
+# @DESCRIPTION:
+# Specify the module download mode for Go modules to use.
+#
+# Example:
+# @CODE
+# COREOS_GO_MOD=vendor
+# @CODE
+
+# @ECLASS-VARIABLE: COREOS_GO_PACKAGE
+# @REQUIRED
+# @DESCRIPTION:
+# Name of the Go package unpacked to ${S}.
+#
+# Example:
+# @CODE
+# COREOS_GO_PACKAGE="github.com/coreos/mantle"
+# @CODE
+
+# @ECLASS-VARIABLE: COREOS_GO_VERSION
+# @DESCRIPTION:
+# This variable specifies the version of Go to use. If ommitted the
+# default value from coreos-go-depend.eclass will be used.
+#
+# Example:
+# @CODE
+# COREOS_GO_VERSION=go1.17
+# @CODE
+
+case "${EAPI:-0}" in
+ 5|6|7) ;;
+ *) die "Unsupported EAPI=${EAPI} for ${ECLASS}"
+esac
+
+inherit coreos-go-depend multiprocessing
+
+RESTRICT="strip"
+
+# @FUNCTION: go_build
+# @USAGE: []
+go_build() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -eq 0 || $# -gt 2 ]] && die "${ECLASS}: ${FUNCNAME}: incorrect # of arguments"
+ local package_name="$1"
+ local binary_name="${package_name##*/}"
+
+ ebegin "${EGO} build ${package_name}"
+ debug-print EGO=${EGO} $(${EGO} env)
+
+ ${EGO} build -v \
+ -p "$(makeopts_jobs)" \
+ -ldflags "${GO_LDFLAGS} -extldflags '${LDFLAGS}'" \
+ ${COREOS_GO_MOD:+-mod "${COREOS_GO_MOD}"} \
+ -o "${GOBIN}/${binary_name}" \
+ "${package_name}"
+
+ local e=${?}
+ local msg="${FUNCNAME}: ${package_name} failed (${e})."
+ eend ${e} "${msg}" || die "${msg}"
+}
+
+coreos-go_src_prepare() {
+ debug-print-function ${FUNCNAME} "$@"
+ has ${EAPI:-0} 6 7 && default
+
+ go_export
+ export GOPATH="${WORKDIR}/gopath"
+ export GOBIN="${GOPATH}/bin"
+
+ mkdir -p "${GOBIN}" || die "${ECLASS}: bad path: ${GOBIN}"
+
+ if [[ -z "${COREOS_GO_PACKAGE}" ]]; then
+ die "${ECLASS}: COREOS_GO_PACKAGE must be defined by the ebuild"
+ fi
+
+ local package_path="${GOPATH}/src/${COREOS_GO_PACKAGE}"
+ mkdir -p "${package_path%/*}" || die "${ECLASS}: bad path: ${package_path%/*}"
+ ln -sT "${S}" "${package_path}" || die "${ECLASS}: bad path: ${S}"
+}
+
+coreos-go_src_compile() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ go_build "${COREOS_GO_PACKAGE}"
+}
+
+coreos-go_src_install() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ dobin "${GOBIN}"/*
+}
+
+EXPORT_FUNCTIONS src_prepare src_compile src_install
diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-kernel.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-kernel.eclass
new file mode 100644
index 0000000000..cc238f6ac2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-kernel.eclass
@@ -0,0 +1,296 @@
+# Copyright 2013-2014 CoreOS, Inc.
+# Copyright 2012 The Chromium OS Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS-VARIABLE: COREOS_SOURCE_REVISION
+# @DESCRIPTION:
+# Revision of the source ebuild, e.g. -r1. default is ""
+: ${COREOS_SOURCE_REVISION:=}
+
+COREOS_SOURCE_VERSION="${PV}${COREOS_SOURCE_REVISION}"
+
+# $COREOS_KERNEL_SOURCE_NAME is the kernel source name to be used for
+# $KERNEL_DIR, e.g. linux-4.19.0-coreos. This comes from upstream, so
+# Flatcar should not change it.
+#
+# On the other hand, $COREOS_SOURCE_NAME is the kernel name to be used for
+# $KV_OUT_DIR in individual coreos-kernel*.ebuild files. That one needs to
+# have a flatcar-specific name. We cannot define another variable like
+# $FLATCAR_SOURCE_NAME, because it will then be rewritten by upstream changes
+# that set $COREOS_SOURCE_NAME by default. In the Gentoo world, the ebuild
+# for each new version has a totally new file name. So it's hard to replace
+# a new $COREOS_SOURCE_NAME variable for every new ebuild.
+# $COREOS_SOURCE_NAME should be a name without a revision suffix (e.g. "-r1"),
+# because $KV_FULL would not include such a suffix.
+COREOS_KERNEL_SOURCE_NAME="linux-${PV/_rc/-rc}-coreos${COREOS_SOURCE_REVISION}"
+COREOS_SOURCE_NAME="linux-${PV/_rc/-rc}-flatcar"
+
+[[ ${EAPI} != "7" ]] && die "Only EAPI=7 is supported"
+
+inherit linux-info toolchain-funcs
+
+HOMEPAGE="http://www.kernel.org"
+LICENSE="GPL-2 freedist"
+SLOT="0/${PVR}"
+SRC_URI=""
+IUSE=""
+
+BDEPEND="|| ( dev-util/pahole dev-util/dwarves )"
+DEPEND="=sys-kernel/coreos-sources-${COREOS_SOURCE_VERSION}"
+
+# Do not analyze or strip installed files
+RESTRICT="binchecks strip"
+
+# The build tools are OK and shouldn't trip up multilib-strict.
+QA_MULTILIB_PATHS="usr/lib/modules/.*/build/scripts/.*"
+
+# Use source installed by coreos-sources
+# KERNEL_DIR must find the kernel source tree under /usr/src/linux-*-coreos,
+# not /usr/src/linux-*-flatcar, which does not exist at all.
+KERNEL_DIR="${SYSROOT}/usr/src/${COREOS_KERNEL_SOURCE_NAME}"
+
+# Search for an apropriate config in ${FILESDIR}. The config should reflect
+# the kernel version but partial matching is allowed if the config is
+# applicalbe to multiple ebuilds, such as different -r revisions or stable
+# kernel releases. For an amd64 ebuild with version 3.12.4-r2 the order is:
+# (uses the portage $ARCH instead of the kernel's for simplicity sake)
+# - amd64_defconfig-3.12.4-r2
+# - amd64_defconfig-3.12.4
+# - amd64_defconfig-3.12
+# - amd64_defconfig
+# and similarly for _rcN releases.
+# The first matching config is used, die otherwise.
+find_config() {
+ local base_path="${FILESDIR}/${1}"
+ local try_suffix try_path
+ for try_suffix in "-${PVR}" "-${PV}" "-${PV%[._]*}" ""; do
+ try_path="${base_path}${try_suffix}"
+ if [[ -f "${try_path}" ]]; then
+ echo "${try_path}"
+ return
+ fi
+ done
+
+ die "No ${1} found for ${PVR} in ${FILESDIR}"
+}
+
+find_archconfig () {
+ path=$(find_config "${ARCH}"_defconfig)
+ if [ -z ${path} ]; then
+ die "No arch config found for ${PVR} in ${FILESDIR}"
+ fi
+ echo "${path}"
+}
+
+find_commonconfig () {
+ path=$(find_config commonconfig)
+ if [ -z ${path} ]; then
+ die "No common config found for ${PVR} in ${FILESDIR}"
+ fi
+ echo "${path}"
+}
+
+config_update() {
+ key="${1%%=*}"
+ sed -i -e "/^${key}=/d" build/.config || die
+ echo "$1" >> build/.config || die
+}
+
+# Get the path to the architecture's kernel image.
+kernel_path() {
+ local kernel_arch=$(tc-arch-kernel)
+ case "${kernel_arch}" in
+ arm64) echo build/arch/arm64/boot/Image;;
+ x86) echo build/arch/x86/boot/bzImage;;
+ *) die "Unsupported kernel arch '${kernel_arch}'";;
+ esac
+}
+
+# Get the make target to build the kernel image.
+kernel_target() {
+ local path=$(kernel_path)
+ echo "${path##*/}"
+}
+
+kmake() {
+ local kernel_arch=$(tc-arch-kernel) kernel_cflags=
+ if gcc-specs-pie; then
+ kernel_cflags="-nopie -fstack-check=no"
+ fi
+ emake "--directory=${S}/source" \
+ ARCH="${kernel_arch}" \
+ CROSS_COMPILE="${CHOST}-" \
+ KBUILD_OUTPUT="../build" \
+ KCFLAGS="${kernel_cflags}" \
+ LDFLAGS="" \
+ "V=1" \
+ "$@"
+}
+
+# Prints the value of a given kernel config option.
+# Quotes around string values are removed.
+getconfig() {
+ local value=$(getfilevar_noexec "CONFIG_$1" build/.config)
+ [[ -n "${value}" ]] || die "$1 is not in the kernel config"
+ [[ "${value}" == '"'*'"' ]] && value="${value:1:-1}"
+ echo "${value}"
+}
+
+# Generate the module signing key for this build.
+setup_keys() {
+ local sig_hash sig_key
+ sig_hash=$(getconfig MODULE_SIG_HASH)
+ sig_key="build/$(getconfig MODULE_SIG_KEY)"
+
+ if [[ "${sig_key}" == "build/certs/signing_key.pem" ]]; then
+ die "MODULE_SIG_KEY is using the default value"
+ fi
+
+ mkdir -p certs "${sig_key%/*}" || die
+
+ # based on the default config the kernel auto-generates
+ cat >certs/modules.cnf <<-EOF
+ [ req ]
+ default_bits = 4096
+ distinguished_name = req_distinguished_name
+ prompt = no
+ string_mask = utf8only
+ x509_extensions = myexts
+
+ [ req_distinguished_name ]
+ O = Kinvolk GmbH
+ CN = Module signing key for ${KV_FULL}
+
+ [ myexts ]
+ basicConstraints=critical,CA:FALSE
+ keyUsage=digitalSignature
+ subjectKeyIdentifier=hash
+ authorityKeyIdentifier=keyid
+ EOF
+ openssl req -new -nodes -utf8 -days 36500 -batch -x509 \
+ "-${sig_hash}" -outform PEM \
+ -config certs/modules.cnf \
+ -out certs/modules.pub.pem \
+ -keyout certs/modules.key.pem \
+ || die "Generating module signing key failed"
+ cat certs/modules.pub.pem certs/modules.key.pem > "${sig_key}"
+}
+
+# Discard the module signing key but keep public certificate.
+shred_keys() {
+ local sig_key
+ sig_key="build/$(getconfig MODULE_SIG_KEY)"
+ shred -u certs/modules.key.pem "${sig_key}" || die
+ cp certs/modules.pub.pem "${sig_key}" || die
+}
+
+# Populate /lib/modules/$(uname -r)/{build,source}
+install_build_source() {
+ local kernel_arch=$(tc-arch-kernel)
+
+ # NOTE: We have to get ${archabspaths} before removing symlinks under
+ # /usr/lib/modules. However, do not exclude "dt-bindings" for now,
+ # as it looks architecture-independent.
+ local archabspaths=($(ls -1d ${D}/usr/lib/modules/${KV_FULL}/source/scripts/dtc/include-prefixes/* \
+ | grep -v dt-bindings ))
+
+ # remove the broken symlinks referencing $ROOT
+ rm "${D}/usr/lib/modules/${KV_FULL}"/{build,source} || die
+
+ # Compose list of architectures to be excluded from the kernel modules
+ # tree in the final image. It is an array to be used as a pattern for
+ # grep command below at the end of "find source/scripts" command for
+ # fetching kernel modules list, e.g.:
+ # find source/scripts -follow -print \
+ # | grep -E -v -w "include-prefixes/arc|include-prefixes/xtensa"
+ declare -a excarchlist
+ local excarchstr
+
+ for apath in "${archabspaths[@]}"; do
+ local arch
+ arch=$(basename "${apath}")
+ if [[ "${arch}" != "${kernel_arch}" ]]; then
+ excarchlist+=("include-prefixes/${arch}")
+
+ # Do not append delimiter '|' in case of the last element.
+ if [[ "${apath}" != "${archabspaths[-1]}" ]]; then
+ excarchlist+=("|")
+ fi
+ fi
+ done
+
+ # Remove every whitespace from the grep pattern string, to make pattern
+ # matching work well.
+ excarchstr=$(echo "${excarchlist[@]}" | sed -e 's/[[:space:]]*//g')
+
+ # Install a stripped source for out-of-tree module builds (Debian-derived)
+ #
+ # NOTE: we need to exclude unsupported architectures from source/scripts,
+ # to prevent the final image from having unnecessary directories under
+ # /usr/lib/modules/${KV_FULL}/source/scripts/dtc/include-prefixes.
+ # The grep must run with "-w" to exclude exact patterns like either arm
+ # or arm64.
+ {
+ echo source/Makefile
+ find source/arch/${kernel_arch} -follow -maxdepth 1 -name 'Makefile*' -print
+ find source/arch/${kernel_arch} -follow \( -name 'module.lds' -o -name 'Kbuild.platforms' -o -name 'Platform' \) -print
+ find $(find source/arch/${kernel_arch} -follow \( -name include -o -name scripts \) -follow -type d -print) -print
+ find source/include -follow -print
+ find source/scripts -follow -print | grep -E -v -w "${excarchstr}"
+ find build/ -print
+ } | cpio -pd \
+ --preserve-modification-time \
+ --owner=root:root \
+ --dereference \
+ "${D}/usr/lib/modules/${KV_FULL}" || die
+}
+
+coreos-kernel_pkg_pretend() {
+ [[ "${MERGE_TYPE}" == binary ]] && return
+
+ if [[ -f "${KERNEL_DIR}/.config" || -d "${KERNEL_DIR}/include/config" ]]
+ then
+ die "Source is not clean! Run make mrproper in ${KERNEL_DIR}"
+ fi
+}
+
+coreos-kernel_pkg_setup() {
+ [[ "${MERGE_TYPE}" == binary ]] && return
+
+ # tc-arch-kernel requires a call to get_version from linux-info.eclass
+ get_version || die "Failed to detect kernel version in ${KERNEL_DIR}"
+}
+
+coreos-kernel_src_unpack() {
+ # we more or less reproduce the layout in /lib/modules/$(uname -r)/
+ mkdir -p "${S}/build" || die
+ mkdir -p "${S}/source" || die
+ ln -s "${KERNEL_DIR}"/* "${S}/source/" || die
+}
+
+coreos-kernel_src_configure() {
+ # Use default for any options not explitly set in defconfig
+ kmake olddefconfig
+
+ # Verify that olddefconfig has not converted any y or m options to n
+ # (implying a new, disabled dependency). Allow options to be converted
+ # from m to y.
+ #
+ # generate regexes from enabled boolean/tristate options |
+ # filter them out of the defconfig |
+ # filter for boolean/tristate options, and format |
+ # sort (why not)
+ local missing=$( \
+ gawk -F = '/=[ym]$/ {print "^" $1 "="}' "${S}/build/.config" | \
+ grep -vf - "${S}/build/.config.old" | \
+ gawk -F = '/=[ym]$/ {print " " $1}' | \
+ sort)
+ if [[ -n "${missing}" ]]; then
+ die "Requested options not enabled in build:\n${missing}"
+ fi
+
+ # For convenience, generate a minimal defconfig of the build
+ kmake savedefconfig
+}
+
+EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_configure
diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/cros-debug.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/cros-debug.eclass
new file mode 100644
index 0000000000..04e48f1b9a
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/eclass/cros-debug.eclass
@@ -0,0 +1,15 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+#
+# Original Author: The Chromium OS Authors
+# Purpose: Set -DNDEBUG if the cros-debug USE flag is not defined.
+#
+
+inherit flag-o-matic
+
+IUSE="cros-debug"
+
+cros-debug-add-NDEBUG() {
+ use cros-debug || append-flags -DNDEBUG
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/cros-workon.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/cros-workon.eclass
new file mode 100644
index 0000000000..46d2b17bbe
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/eclass/cros-workon.eclass
@@ -0,0 +1,185 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: cros-workon.eclass
+# @BLURB: helper eclass for building CoreOS SDK provided source
+# @DESCRIPTION:
+# Instead of cloning git trees directly from github ebuilds can fetch
+# from the local cache maintained by repo. Additionally live builds can
+# build directly from the source checked out in the repo tree.
+
+# @ECLASS-VARIABLE: CROS_WORKON_REPO
+# @DESCRIPTION:
+# Git URL which is prefixed to CROS_WORKON_PROJECT
+: "${CROS_WORKON_REPO:=https://chromium.googlesource.com}"
+
+# @ECLASS-VARIABLE: CROS_WORKON_PROJECT
+# @DESCRIPTION:
+# Git project name which is suffixed to CROS_WORKON_REPO
+: "${CROS_WORKON_PROJECT:=${PN}}"
+
+# @ECLASS-VARIABLE: CROS_WORKON_LOCALDIR
+# @DESCRIPTION:
+# Repo checkout directory which is prefixed to CROS_WORKON_LOCALNAME
+# Generally is either src/third_party or src/platform
+: "${CROS_WORKON_LOCALDIR:=src/third_party}"
+
+# @ECLASS-VARIABLE: CROS_WORKON_LOCALNAME
+# @DESCRIPTION:
+# Directory name which is suffixed to CROS_WORKON_LOCALDIR
+: "${CROS_WORKON_LOCALNAME:=${PN}}"
+
+# @ECLASS-VARIABLE: CROS_WORKON_COMMIT
+# @DESCRIPTION:
+# Git commit to checkout to
+: "${CROS_WORKON_COMMIT:=}"
+
+# @ECLASS-VARIABLE: CROS_WORKON_TREE
+# @DESCRIPTION:
+# SHA1 of the contents of the repository. This is used for verifying the
+# correctness of prebuilts. Unlike the commit hash, this SHA1 is unaffected
+# by the history of the repository, or by commit messages.
+: "${CROS_WORKON_TREE:=}"
+
+# @ECLASS-VARIABLE: CROS_WORKON_SRCROOT
+# @DESCRIPTION:
+# Directory where chrome third party and platform sources are located (formerly CHROMEOS_ROOT)
+: "${CROS_WORKON_SRCROOT:=}"
+
+# TODO(marineam): Remove profiling and cros_workon_tree_* use flags.
+# These have never been used in CoreOS.
+IUSE="cros_workon_tree_$CROS_WORKON_TREE profiling"
+
+inherit git-r3
+
+# Calculate path where code should be cloned from.
+get_path() {
+ local pathbase
+ if [[ -n "${CROS_WORKON_SRCROOT}" ]]; then
+ pathbase="${CROS_WORKON_SRCROOT}"
+ elif [[ -n "${CHROMEOS_ROOT}" ]]; then
+ pathbase="${CHROMEOS_ROOT}"
+ else
+ # HACK: Figure out the missing legacy path for now
+ # this only happens in amd64 chroot with sudo emerge.
+ pathbase="/mnt/host/source"
+ fi
+
+ echo "${pathbase}/${CROS_WORKON_LOCALDIR}/${CROS_WORKON_LOCALNAME}"
+}
+
+local_copy() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local path="$(get_path)"
+
+ einfo "Cloning ${path}"
+ git clone -sn "${path}" "${S}" || die "Can't clone ${path}"
+
+ einfo "Copying source from ${path}"
+ rsync -a --exclude=.git "${path}/" "${S}" || return 1
+}
+
+local_clone() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local path="$(get_path)"
+ if [[ ! -d "${path}/.git" ]]; then
+ return 1
+ fi
+
+ einfo "Cloning ${path}"
+ einfo "Checking out ${CROS_WORKON_COMMIT}"
+
+ # Looks like we already have a local copy of the repository.
+ # Let's use these and checkout ${CROS_WORKON_COMMIT}.
+ # -s: For speed, share objects between ${path} and ${S}.
+ # -n: Don't checkout any files from the repository yet. We'll
+ # checkout the source separately.
+ #
+ # We don't use git clone to checkout the source because the -b
+ # option for clone defaults to HEAD if it can't find the
+ # revision you requested. On the other hand, git checkout fails
+ # if it can't find the revision you requested, so we use that
+ # instead.
+
+ git clone -sn "${path}" "${S}" || die "Can't clone ${path}"
+ if ! git -C "${S}" checkout -q "${CROS_WORKON_COMMIT}"; then
+ ewarn "Cannot run git checkout ${CROS_WORKON_COMMIT} in ${S}."
+ ewarn "Is ${path} up to date? Try running repo sync."
+ rm -rf "${S}" || die
+ return 1
+ fi
+}
+
+cros-workon_src_unpack() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ # Sanity check. We cannot have S set to WORKDIR because if/when we try
+ # to check out repos, git will die if it tries to check out into a dir
+ # that already exists. Some packages might try this when out-of-tree
+ # builds are enabled, and they'll work fine most of the time because
+ # they'll be using a full manifest and will just re-use the existing
+ # checkout in src/platform/*. But if the code detects that it has to
+ # make its own checkout, things fall apart. For out-of-tree builds,
+ # the initial $S doesn't even matter because it resets it below to the
+ # repo in src/platform/.
+ if [[ ${S} == "${WORKDIR}" ]]; then
+ die "Sorry, but \$S cannot be set to \$WORKDIR"
+ fi
+
+ # Hack
+ # TODO(msb): remove once we've resolved the include path issue
+ # http://groups.google.com/a/chromium.org/group/chromium-os-dev/browse_thread/thread/5e85f28f551eeda/3ae57db97ae327ae
+ ln -s "${S}" "${WORKDIR}/${CROS_WORKON_LOCALNAME}" &> /dev/null
+
+ if [[ "${PV}" == "9999" ]]; then
+ local_copy || die "Cannot create a local copy"
+ else
+ if [[ -z "${CROS_WORKON_COMMIT}" ]]; then
+ die "CROS_WORKON_COMMIT is unset"
+ fi
+
+ # Try cloning from a local repo first
+ local_clone && return
+
+ # There is no good way to ensure repo-maintained git trees
+ # always have exactly what ebuilds need so fall back gracefully
+ # to fetching remotely. Also, when ebuilds only specify a git
+ # hash there isn't a way to know which branch that is on. To be
+ # safe use git-r3's "mirror" mode to fetch all remote branches.
+ ewarn "Falling back to fetching from remote git repository..."
+
+ EGIT_CLONE_TYPE=mirror
+ EGIT_REPO_URI="${CROS_WORKON_REPO}/${CROS_WORKON_PROJECT}.git"
+ EGIT_CHECKOUT_DIR="${S}"
+ EGIT_COMMIT="${CROS_WORKON_COMMIT}"
+ git-r3_src_unpack
+ fi
+}
+
+# TODO(marineam): This is used by cros_workon to deal manage
+# 'minilayout' manifests but we don't bother with that in CoreOS.
+# Do a pass on the cros_workon tool to give it a freshening too...
+cros-workon_pkg_info() {
+ echo "CROS_WORKON_SRCDIR=(\"$(get_path)\")"
+ echo "CROS_WORKON_PROJECT=(\"${CROS_WORKON_PROJECT}\")"
+}
+
+# get the semver of the git repo that is being built
+get_semver() {
+ # get git tag/sha
+ local v
+ v=$(git describe --long --dirty) || die
+
+ # strip a leading v from the tag
+ v=${v#v}
+
+ # replace first - with +, to attach git sha/dirty as semver metadata
+ v=${v/-/+}
+
+ echo ${v}
+}
+
+EXPORT_FUNCTIONS src_unpack pkg_info
+
diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/git.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/git.eclass
new file mode 100644
index 0000000000..d2bfa64563
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/eclass/git.eclass
@@ -0,0 +1,479 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/git.eclass,v 1.43 2010/02/24 01:16:35 abcd Exp $
+
+# @ECLASS: git.eclass
+# @MAINTAINER:
+# Tomas Chvatal
+# Donnie Berkholz
+# @BLURB: This eclass provides functions for fetch and unpack git repositories
+# @DESCRIPTION:
+# The eclass is based on subversion eclass.
+# If you use this eclass, the ${S} is ${WORKDIR}/${P}.
+# It is necessary to define the EGIT_REPO_URI variable at least.
+# @THANKS TO:
+# Fernando J. Pereda
+
+inherit eutils
+
+EGIT="git.eclass"
+
+# We DEPEND on at least a bit recent git version
+DEPEND=">=dev-vcs/git-1.6"
+
+EXPORTED_FUNCTIONS="src_unpack"
+case "${EAPI:-0}" in
+ 3|2) EXPORTED_FUNCTIONS="${EXPORTED_FUNCTIONS} src_prepare" ;;
+ 1|0) ;;
+ :) DEPEND="EAPI-UNSUPPORTED" ;;
+esac
+EXPORT_FUNCTIONS ${EXPORTED_FUNCTIONS}
+
+# define some nice defaults but only if nothing is set already
+: ${HOMEPAGE:=http://git-scm.com/}
+
+# @ECLASS-VARIABLE: EGIT_QUIET
+# @DESCRIPTION:
+# Enables user specified verbosity for the eclass elog informations.
+# The user just needs to add EGIT_QUIET="ON" to the /etc/make.conf.
+: ${EGIT_QUIET:="OFF"}
+
+# @ECLASS-VARIABLE: EGIT_STORE_DIR
+# @DESCRIPTION:
+# Storage directory for git sources.
+# Can be redefined.
+[[ -z ${EGIT_STORE_DIR} ]] && EGIT_STORE_DIR="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/git-src"
+
+# @ECLASS-VARIABLE: EGIT_HAS_SUBMODULES
+# @DESCRIPTION:
+# Set this to "true" to enable the (slower) submodule support.
+# This variable should be set before inheriting git.eclass
+: ${EGIT_HAS_SUBMODULES:=false}
+
+# @ECLASS-VARIABLE: EGIT_FETCH_CMD
+# @DESCRIPTION:
+# Command for cloning the repository.
+: ${EGIT_FETCH_CMD:="git clone"}
+
+# @ECLASS-VARIABLE: EGIT_UPDATE_CMD
+# @DESCRIPTION:
+# Git fetch command.
+if ${EGIT_HAS_SUBMODULES}; then
+ EGIT_UPDATE_CMD="git pull -f -u"
+else
+ EGIT_UPDATE_CMD="git fetch -f -u"
+fi
+
+# @ECLASS-VARIABLE: EGIT_DIFFSTAT_CMD
+# @DESCRIPTION:
+# Git command for diffstat.
+EGIT_DIFFSTAT_CMD="git --no-pager diff --stat"
+
+# @ECLASS-VARIABLE: EGIT_OPTIONS
+# @DESCRIPTION:
+# This variable value is passed to clone and fetch.
+: ${EGIT_OPTIONS:=}
+
+# @ECLASS-VARIABLE: EGIT_MASTER
+# @DESCRIPTION:
+# Variable for specifying master branch.
+# Usefull when upstream don't have master branch.
+: ${EGIT_MASTER:=master}
+
+# @ECLASS-VARIABLE: EGIT_REPO_URI
+# @DESCRIPTION:
+# URI for the repository
+# e.g. http://foo, git://bar
+# Supported protocols:
+# http://
+# https://
+# git://
+# git+ssh://
+# rsync://
+# ssh://
+eval X="\$${PN//[-+]/_}_LIVE_REPO"
+if [[ ${X} = "" ]]; then
+ EGIT_REPO_URI=${EGIT_REPO_URI:=}
+else
+ EGIT_REPO_URI="${X}"
+fi
+# @ECLASS-VARIABLE: EGIT_PROJECT
+# @DESCRIPTION:
+# Project name of your ebuild.
+# Git eclass will check out the git repository like:
+# ${EGIT_STORE_DIR}/${EGIT_PROJECT}/${EGIT_REPO_URI##*/}
+# so if you define EGIT_REPO_URI as http://git.collab.net/repo/git or
+# http://git.collab.net/repo/git. and PN is subversion-git.
+# it will check out like:
+# ${EGIT_STORE_DIR}/subversion
+: ${EGIT_PROJECT:=${PN/-git}}
+
+# @ECLASS-VARIABLE: EGIT_BOOTSTRAP
+# @DESCRIPTION:
+# bootstrap script or command like autogen.sh or etc...
+: ${EGIT_BOOTSTRAP:=}
+
+# @ECLASS-VARIABLE: EGIT_OFFLINE
+# @DESCRIPTION:
+# Set this variable to a non-empty value to disable the automatic updating of
+# an GIT source tree. This is intended to be set outside the git source
+# tree by users.
+EGIT_OFFLINE="${EGIT_OFFLINE:-${ESCM_OFFLINE}}"
+
+# @ECLASS-VARIABLE: EGIT_PATCHES
+# @DESCRIPTION:
+# Similar to PATCHES array from base.eclass
+# Only difference is that this patches are applied before bootstrap.
+# Please take note that this variable should be bash array.
+
+# @ECLASS-VARIABLE: EGIT_BRANCH
+# @DESCRIPTION:
+# git eclass can fetch any branch in git_fetch().
+eval X="\$${PN//[-+]/_}_LIVE_BRANCH"
+if [[ ${X} = "" ]]; then
+ EGIT_BRANCH=${EGIT_BRANCH:=master}
+else
+ EGIT_BRANCH="${X}"
+fi
+
+# @ECLASS-VARIABLE: EGIT_COMMIT
+# @DESCRIPTION:
+# git eclass can checkout any commit.
+eval X="\$${PN//[-+]/_}_LIVE_COMMIT"
+if [[ ${X} = "" ]]; then
+ : ${EGIT_COMMIT:=${EGIT_BRANCH}}
+else
+ EGIT_COMMIT="${X}"
+fi
+
+# @ECLASS-VARIABLE: EGIT_REPACK
+# @DESCRIPTION:
+# git eclass will repack objects to save disk space. However this can take a
+# long time with VERY big repositories.
+: ${EGIT_REPACK:=false}
+
+# @ECLASS-VARIABLE: EGIT_PRUNE
+# @DESCRIPTION:
+# git eclass can prune the local clone. This is useful if upstream rewinds and
+# rebases branches too often.
+: ${EGIT_PRUNE:=false}
+
+# @FUNCTION: git_submodules
+# @DESCRIPTION:
+# Internal function wrapping the submodule initialisation and update
+git_submodules() {
+ if ${EGIT_HAS_SUBMODULES}; then
+ debug-print "git submodule init"
+ git submodule init
+ debug-print "git submodule update"
+ git submodule update
+ fi
+}
+
+# @FUNCTION: git_branch
+# @DESCRIPTION:
+# Internal function that changes branch for the repo based on EGIT_TREE and
+# EGIT_BRANCH variables.
+git_branch() {
+ local branchname=branch-${EGIT_BRANCH} src=origin/${EGIT_BRANCH}
+ if [[ ${EGIT_COMMIT} != ${EGIT_BRANCH} ]]; then
+ branchname=tree-${EGIT_COMMIT}
+ src=${EGIT_COMMIT}
+ fi
+ debug-print "git checkout -b ${branchname} ${src}"
+ git checkout -b ${branchname} ${src} || \
+ die "${EGIT}: Could not run git checkout -b ${branchname} ${src}"
+
+ unset branchname src
+}
+
+# @FUNCTION: git_fetch
+# @DESCRIPTION:
+# Gets repository from EGIT_REPO_URI and store it in specified EGIT_STORE_DIR
+git_fetch() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local GIT_DIR EGIT_CLONE_DIR oldsha1 cursha1 extra_clone_opts upstream_branch
+ ${EGIT_HAS_SUBMODULES} || export GIT_DIR
+
+ # choose if user wants elog or just einfo.
+ if [[ ${EGIT_QUIET} != OFF ]]; then
+ elogcmd="einfo"
+ else
+ elogcmd="elog"
+ fi
+
+ # If we have same branch and the tree we can do --depth 1 clone
+ # which outputs into really smaller data transfers.
+ # Sadly we can do shallow copy for now because quite a few packages need .git
+ # folder.
+ #[[ ${EGIT_COMMIT} = ${EGIT_BRANCH} ]] && \
+ # EGIT_FETCH_CMD="${EGIT_FETCH_CMD} --depth 1"
+ if [[ ! -z ${EGIT_TREE} ]] ; then
+ EGIT_COMMIT=${EGIT_TREE}
+ ewarn "QA: Usage of deprecated EGIT_TREE variable detected."
+ ewarn "QA: Use EGIT_COMMIT variable instead."
+ fi
+
+ # EGIT_REPO_URI is empty.
+ [[ -z ${EGIT_REPO_URI} ]] && die "${EGIT}: EGIT_REPO_URI is empty."
+
+ # check for the protocol or pull from a local repo.
+ if [[ -z ${EGIT_REPO_URI%%:*} ]] ; then
+ case ${EGIT_REPO_URI%%:*} in
+ git*|http|https|rsync|ssh) ;;
+ *) die "${EGIT}: protocol for fetch from "${EGIT_REPO_URI%:*}" is not yet implemented in eclass." ;;
+ esac
+ fi
+
+ # initial clone, we have to create master git storage directory and play
+ # nicely with sandbox
+ if [[ ! -d ${EGIT_STORE_DIR} ]] ; then
+ debug-print "${FUNCNAME}: initial clone. creating git directory"
+ addwrite /
+ # TODO(ers): Remove this workaround once we figure out how to make
+ # sure the directories are owned by the user instead of by root.
+ local old_umask="`umask`"
+ umask 002
+ mkdir -p "${EGIT_STORE_DIR}" \
+ || die "${EGIT}: can't mkdir ${EGIT_STORE_DIR}."
+ umask ${old_umask}
+ export SANDBOX_WRITE="${SANDBOX_WRITE%%:/}"
+ fi
+
+ cd -P "${EGIT_STORE_DIR}" || die "${EGIT}: can't chdir to ${EGIT_STORE_DIR}"
+ EGIT_STORE_DIR=${PWD}
+
+ # allow writing into EGIT_STORE_DIR
+ addwrite "${EGIT_STORE_DIR}"
+
+ [[ -z ${EGIT_REPO_URI##*/} ]] && EGIT_REPO_URI="${EGIT_REPO_URI%/}"
+ EGIT_CLONE_DIR="${EGIT_PROJECT}"
+
+ debug-print "${FUNCNAME}: EGIT_OPTIONS = \"${EGIT_OPTIONS}\""
+
+ GIT_DIR="${EGIT_STORE_DIR}/${EGIT_CLONE_DIR}"
+ # we also have to remove all shallow copied repositories
+ # and fetch them again
+ if [[ -e "${GIT_DIR}/shallow" ]]; then
+ rm -rf "${GIT_DIR}"
+ einfo "The ${EGIT_CLONE_DIR} was shallow copy. Refetching."
+ fi
+ # repack from bare copy to normal one
+ if ${EGIT_HAS_SUBMODULES} && [[ -d ${GIT_DIR} && ! -d "${GIT_DIR}/.git/" ]]; then
+ rm -rf "${GIT_DIR}"
+ einfo "The ${EGIT_CLONE_DIR} was bare copy. Refetching."
+ fi
+ if ! ${EGIT_HAS_SUBMODULES} && [[ -d ${GIT_DIR} && -d ${GIT_DIR}/.git ]]; then
+ rm -rf "${GIT_DIR}"
+ einfo "The ${EGIT_CLONE_DIR} was not a bare copy. Refetching."
+ fi
+
+ if ${EGIT_HAS_SUBMODULES}; then
+ upstream_branch=origin/${EGIT_BRANCH}
+ else
+ upstream_branch=${EGIT_BRANCH}
+ # Note: Normally clones are created using --bare, which does not fetch
+ # remote refs and only updates master. This is not okay. --mirror
+ # changes that.
+ extra_clone_opts=--mirror
+ fi
+
+ if [[ ! -d ${GIT_DIR} ]] ; then
+ # first clone
+ ${elogcmd} "GIT NEW clone -->"
+ ${elogcmd} " repository: ${EGIT_REPO_URI}"
+
+ debug-print "${EGIT_FETCH_CMD} ${extra_clone_opts} ${EGIT_OPTIONS} \"${EGIT_REPO_URI}\" ${GIT_DIR}"
+ # TODO(ers): Remove this workaround once we figure out how to make
+ # sure the directories are owned by the user instead of by root.
+ local old_umask="`umask`"
+ umask 002
+ ${EGIT_FETCH_CMD} ${extra_clone_opts} ${EGIT_OPTIONS} "${EGIT_REPO_URI}" ${GIT_DIR} \
+ || die "${EGIT}: can't fetch from ${EGIT_REPO_URI}."
+
+ umask ${old_umask}
+ pushd "${GIT_DIR}" &> /dev/null
+ cursha1=$(git rev-parse ${upstream_branch})
+ ${elogcmd} " at the commit: ${cursha1}"
+
+ git_submodules
+ popd &> /dev/null
+ elif [[ -n ${EGIT_OFFLINE} ]] ; then
+ pushd "${GIT_DIR}" &> /dev/null
+ cursha1=$(git rev-parse ${upstream_branch})
+ ${elogcmd} "GIT offline update -->"
+ ${elogcmd} " repository: ${EGIT_REPO_URI}"
+ ${elogcmd} " at the commit: ${cursha1}"
+ popd &> /dev/null
+ else
+ pushd "${GIT_DIR}" &> /dev/null
+ # Git urls might change, so unconditionally set it here
+ git config remote.origin.url "${EGIT_REPO_URI}"
+
+ # fetch updates
+ ${elogcmd} "GIT update -->"
+ ${elogcmd} " repository: ${EGIT_REPO_URI}"
+
+ oldsha1=$(git rev-parse ${upstream_branch})
+
+ if ${EGIT_HAS_SUBMODULES}; then
+ debug-print "${EGIT_UPDATE_CMD} ${EGIT_OPTIONS}"
+ # fix branching
+ git checkout ${EGIT_MASTER}
+ for x in $(git branch |grep -v "* ${EGIT_MASTER}" |tr '\n' ' '); do
+ git branch -D ${x}
+ done
+ ${EGIT_UPDATE_CMD} ${EGIT_OPTIONS} \
+ || die "${EGIT}: can't update from ${EGIT_REPO_URI}."
+ elif [[ "${EGIT_COMMIT}" = "${EGIT_BRANCH}" ]]; then
+ debug-print "${EGIT_UPDATE_CMD} ${EGIT_OPTIONS} origin ${EGIT_BRANCH}:${EGIT_BRANCH}"
+ ${EGIT_UPDATE_CMD} ${EGIT_OPTIONS} origin ${EGIT_BRANCH}:${EGIT_BRANCH} \
+ || die "${EGIT}: can't update from ${EGIT_REPO_URI}."
+ else
+ debug-print "${EGIT_UPDATE_CMD} ${EGIT_OPTIONS} origin"
+ ${EGIT_UPDATE_CMD} ${EGIT_OPTIONS} origin \
+ || die "${EGIT}: can't update from ${EGIT_REPO_URI}."
+ fi
+
+ git_submodules
+ cursha1=$(git rev-parse ${upstream_branch})
+
+ # write out message based on the revisions
+ if [[ ${oldsha1} != ${cursha1} ]]; then
+ ${elogcmd} " updating from commit: ${oldsha1}"
+ ${elogcmd} " to commit: ${cursha1}"
+ else
+ ${elogcmd} " at the commit: ${cursha1}"
+ # @ECLASS_VARIABLE: LIVE_FAIL_FETCH_IF_REPO_NOT_UPDATED
+ # @DESCRIPTION:
+ # If this variable is set to TRUE in make.conf or somewhere in
+ # enviroment the package will fail if there is no update, thus in
+ # combination with --keep-going it would lead in not-updating
+ # pakcages that are up-to-date.
+ # TODO: this can lead to issues if more projects/packages use same repo
+ [[ ${LIVE_FAIL_FETCH_IF_REPO_NOT_UPDATED} = true ]] && \
+ debug-print "${FUNCNAME}: Repository \"${EGIT_REPO_URI}\" is up-to-date. Skipping." && \
+ die "${EGIT}: Repository \"${EGIT_REPO_URI}\" is up-to-date. Skipping."
+ fi
+ ${EGIT_DIFFSTAT_CMD} ${oldsha1}..${upstream_branch}
+ popd &> /dev/null
+ fi
+
+ pushd "${GIT_DIR}" &> /dev/null
+ if ${EGIT_REPACK} || ${EGIT_PRUNE} ; then
+ ebegin "Garbage collecting the repository"
+ git gc $(${EGIT_PRUNE} && echo '--prune')
+ eend $?
+ fi
+ popd &> /dev/null
+
+ # export the git version
+ export EGIT_VERSION="${cursha1}"
+
+ # log the repo state
+ [[ ${EGIT_COMMIT} != ${EGIT_BRANCH} ]] && elog " commit: ${EGIT_COMMIT}"
+ ${elogcmd} " branch: ${EGIT_BRANCH}"
+ ${elogcmd} " storage directory: \"${GIT_DIR}\""
+
+ if ${EGIT_HAS_SUBMODULES}; then
+ pushd "${GIT_DIR}" &> /dev/null
+ debug-print "rsync -rlpgo . \"${S}\""
+ time rsync -rlpgo . "${S}"
+ popd &> /dev/null
+ else
+ unset GIT_DIR
+ debug-print "git clone -l -s -n \"${EGIT_STORE_DIR}/${EGIT_CLONE_DIR}\" \"${S}\""
+ git clone -l -s -n "${EGIT_STORE_DIR}/${EGIT_CLONE_DIR}" "${S}"
+ fi
+
+ pushd "${S}" &> /dev/null
+ git_branch
+ # submodules always reqire net (thanks to branches changing)
+ [[ -n ${EGIT_OFFLINE} ]] || git_submodules
+ popd &> /dev/null
+
+ echo ">>> Unpacked to ${S}"
+}
+
+# @FUNCTION: git_bootstrap
+# @DESCRIPTION:
+# Runs bootstrap command if EGIT_BOOTSTRAP variable contains some value
+# Remember that what ever gets to the EGIT_BOOTSTRAP variable gets evaled by bash.
+git_bootstrap() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ -n ${EGIT_BOOTSTRAP} ]] ; then
+ pushd "${S}" > /dev/null
+ einfo "Starting bootstrap"
+
+ if [[ -f ${EGIT_BOOTSTRAP} ]]; then
+ # we have file in the repo which we should execute
+ debug-print "$FUNCNAME: bootstraping with file \"${EGIT_BOOTSTRAP}\""
+
+ if [[ -x ${EGIT_BOOTSTRAP} ]]; then
+ eval "./${EGIT_BOOTSTRAP}" \
+ || die "${EGIT}: bootstrap script failed"
+ else
+ eerror "\"${EGIT_BOOTSTRAP}\" is not executable."
+ eerror "Report upstream, or bug ebuild maintainer to remove bootstrap command."
+ die "${EGIT}: \"${EGIT_BOOTSTRAP}\" is not executable."
+ fi
+ else
+ # we execute some system command
+ debug-print "$FUNCNAME: bootstraping with commands \"${EGIT_BOOTSTRAP}\""
+
+ eval "${EGIT_BOOTSTRAP}" \
+ || die "${EGIT}: bootstrap commands failed."
+
+ fi
+
+ einfo "Bootstrap finished"
+ popd > /dev/null
+ fi
+}
+
+# @FUNCTION: git_apply_patches
+# @DESCRIPTION:
+# Apply patches from EGIT_PATCHES bash array.
+# Preffered is using the variable as bash array but for now it allows to write
+# it also as normal space separated string list. (This part of code should be
+# removed when all ebuilds get converted on bash array).
+git_apply_patches() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ pushd "${S}" > /dev/null
+ if [[ ${#EGIT_PATCHES[@]} -gt 1 ]] ; then
+ for i in "${EGIT_PATCHES[@]}"; do
+ debug-print "$FUNCNAME: git_autopatch: patching from ${i}"
+ epatch "${i}"
+ done
+ elif [[ ${EGIT_PATCHES} != "" ]]; then
+ # no need for loop if space separated string is passed.
+ debug-print "$FUNCNAME: git_autopatch: patching from ${EGIT_PATCHES}"
+ epatch "${EGIT_PATCHES}"
+ fi
+
+ popd > /dev/null
+}
+
+# @FUNCTION: git_src_unpack
+# @DESCRIPTION:
+# src_upack function, calls src_prepare one if EAPI!=2.
+git_src_unpack() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ git_fetch || die "${EGIT}: unknown problem in git_fetch()."
+
+ has src_prepare ${EXPORTED_FUNCTIONS} || git_src_prepare
+}
+
+# @FUNCTION: git_src_prepare
+# @DESCRIPTION:
+# src_prepare function for git stuff. Patches, bootstrap...
+git_src_prepare() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ git_apply_patches
+ git_bootstrap
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/licenses/Google-TOS b/sdk_container/src/third_party/coreos-overlay/licenses/Google-TOS
new file mode 100644
index 0000000000..45f4409bd7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/licenses/Google-TOS
@@ -0,0 +1,96 @@
+Google Terms of Service
+Last modified: March 1, 2012
+
+Welcome to Google!
+
+Thanks for using our products and services (“Services”). The Services are provided by Google Inc. (“Google”), located at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+By using our Services, you are agreeing to these terms. Please read them carefully.
+
+Our Services are very diverse, so sometimes additional terms or product requirements (including age requirements) may apply. Additional terms will be available with the relevant Services, and those additional terms become part of your agreement with us if you use those Services.
+
+Using our Services
+
+You must follow any policies made available to you within the Services.
+
+Don’t misuse our Services. For example, don’t interfere with our Services or try to access them using a method other than the interface and the instructions that we provide. You may use our Services only as permitted by law, including applicable export and re-export control laws and regulations. We may suspend or stop providing our Services to you if you do not comply with our terms or policies or if we are investigating suspected misconduct.
+
+Using our Services does not give you ownership of any intellectual property rights in our Services or the content you access. You may not use content from our Services unless you obtain permission from its owner or are otherwise permitted by law. These terms do not grant you the right to use any branding or logos used in our Services. Don’t remove, obscure, or alter any legal notices displayed in or along with our Services.
+
+Our Services display some content that is not Google’s. This content is the sole responsibility of the entity that makes it available. We may review content to determine whether it is illegal or violates our policies, and we may remove or refuse to display content that we reasonably believe violates our policies or the law. But that does not necessarily mean that we review content, so please don’t assume that we do.
+
+In connection with your use of the Services, we may send you service announcements, administrative messages, and other information. You may opt out of some of those communications.
+
+Your Google Account
+
+You may need a Google Account in order to use some of our Services. You may create your own Google Account, or your Google Account may be assigned to you by an administrator, such as your employer or educational institution. If you are using a Google Account assigned to you by an administrator, different or additional terms may apply and your administrator may be able to access or disable your account.
+
+If you learn of any unauthorized use of your password or account, follow these instructions.
+
+Privacy and Copyright Protection
+
+Google’s privacy policies explain how we treat your personal data and protect your privacy when you use our Services. By using our Services, you agree that Google can use such data in accordance with our privacy policies.
+
+We respond to notices of alleged copyright infringement and terminate accounts of repeat infringers according to the process set out in the U.S. Digital Millennium Copyright Act.
+
+We provide information to help copyright holders manage their intellectual property online. If you think somebody is violating your copyrights and want to notify us, you can find information about submitting notices and Google’s policy about responding to notices in our Help Center.
+
+Your Content in our Services
+
+Some of our Services allow you to submit content. You retain ownership of any intellectual property rights that you hold in that content. In short, what belongs to you stays yours.
+
+When you upload or otherwise submit content to our Services, you give Google (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content. The rights you grant in this license are for the limited purpose of operating, promoting, and improving our Services, and to develop new ones. This license continues even if you stop using our Services (for example, for a business listing you have added to Google Maps). Some Services may offer you ways to access and remove content that has been provided to that Service. Also, in some of our Services, there are terms or settings that narrow the scope of our use of the content submitted in those Services. Make sure you have the necessary rights to grant us this license for any content that you submit to our Services.
+
+You can find more information about how Google uses and stores content in the privacy policy or additional terms for particular Services. If you submit feedback or suggestions about our Services, we may use your feedback or suggestions without obligation to you.
+
+About Software in our Services
+
+When a Service requires or includes downloadable software, this software may update automatically on your device once a new version or feature is available. Some Services may let you adjust your automatic update settings.
+
+Google gives you a personal, worldwide, royalty-free, non-assignable and non-exclusive license to use the software provided to you by Google as part of the Services. This license is for the sole purpose of enabling you to use and enjoy the benefit of the Services as provided by Google, in the manner permitted by these terms. You may not copy, modify, distribute, sell, or lease any part of our Services or included software, nor may you reverse engineer or attempt to extract the source code of that software, unless laws prohibit those restrictions or you have our written permission.
+
+Open source software is important to us. Some software used in our Services may be offered under an open source license that we will make available to you. There may be provisions in the open source license that expressly override some of these terms.
+
+Modifying and Terminating our Services
+
+We are constantly changing and improving our Services. We may add or remove functionalities or features, and we may suspend or stop a Service altogether.
+
+You can stop using our Services at any time, although we’ll be sorry to see you go. Google may also stop providing Services to you, or add or create new limits to our Services at any time.
+
+We believe that you own your data and preserving your access to such data is important. If we discontinue a Service, where reasonably possible, we will give you reasonable advance notice and a chance to get information out of that Service.
+
+Our Warranties and Disclaimers
+
+We provide our Services using a commercially reasonable level of skill and care and we hope that you will enjoy using them. But there are certain things that we don’t promise about our Services.
+
+OTHER THAN AS EXPRESSLY SET OUT IN THESE TERMS OR ADDITIONAL TERMS, NEITHER GOOGLE NOR ITS SUPPLIERS OR DISTRIBUTORS MAKE ANY SPECIFIC PROMISES ABOUT THE SERVICES. FOR EXAMPLE, WE DON’T MAKE ANY COMMITMENTS ABOUT THE CONTENT WITHIN THE SERVICES, THE SPECIFIC FUNCTION OF THE SERVICES, OR THEIR RELIABILITY, AVAILABILITY, OR ABILITY TO MEET YOUR NEEDS. WE PROVIDE THE SERVICES “AS IS”.
+
+SOME JURISDICTIONS PROVIDE FOR CERTAIN WARRANTIES, LIKE THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. TO THE EXTENT PERMITTED BY LAW, WE EXCLUDE ALL WARRANTIES.
+
+Liability for our Services
+
+WHEN PERMITTED BY LAW, GOOGLE, AND GOOGLE’S SUPPLIERS AND DISTRIBUTORS, WILL NOT BE RESPONSIBLE FOR LOST PROFITS, REVENUES, OR DATA, FINANCIAL LOSSES OR INDIRECT, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES.
+
+TO THE EXTENT PERMITTED BY LAW, THE TOTAL LIABILITY OF GOOGLE, AND ITS SUPPLIERS AND DISTRIBUTORS, FOR ANY CLAIM UNDER THESE TERMS, INCLUDING FOR ANY IMPLIED WARRANTIES, IS LIMITED TO THE AMOUNT YOU PAID US TO USE THE SERVICES (OR, IF WE CHOOSE, TO SUPPLYING YOU THE SERVICES AGAIN).
+
+IN ALL CASES, GOOGLE, AND ITS SUPPLIERS AND DISTRIBUTORS, WILL NOT BE LIABLE FOR ANY LOSS OR DAMAGE THAT IS NOT REASONABLY FORESEEABLE.
+
+Business uses of our Services
+
+If you are using our Services on behalf of a business, that business accepts these terms. It will hold harmless and indemnify Google and its affiliates, officers, agents, and employees from any claim, suit or action arising from or related to the use of the Services or violation of these terms, including any liability or expense arising from claims, losses, damages, suits, judgments, litigation costs and attorneys’ fees.
+
+About these Terms
+
+We may modify these terms or any additional terms that apply to a Service to, for example, reflect changes to the law or changes to our Services. You should look at the terms regularly. We’ll post notice of modifications to these terms on this page. We’ll post notice of modified additional terms in the applicable Service. Changes will not apply retroactively and will become effective no sooner than fourteen days after they are posted. However, changes addressing new functions for a Service or changes made for legal reasons will be effective immediately. If you do not agree to the modified terms for a Service, you should discontinue your use of that Service.
+
+If there is a conflict between these terms and the additional terms, the additional terms will control for that conflict.
+
+These terms control the relationship between Google and you. They do not create any third party beneficiary rights.
+
+If you do not comply with these terms, and we don’t take action right away, this doesn’t mean that we are giving up any rights that we may have (such as taking action in the future).
+
+If it turns out that a particular term is not enforceable, this will not affect any other terms.
+
+The laws of California, U.S.A., excluding California’s conflict of laws rules, will apply to any disputes arising out of or relating to these terms or the Services. All claims arising out of or relating to these terms or the Services will be litigated exclusively in the federal or state courts of Santa Clara County, California, USA, and you and Google consent to personal jurisdiction in those courts.
+
+For information about how to contact Google, please visit our contact page.
diff --git a/sdk_container/src/third_party/coreos-overlay/licenses/NVIDIA-codecs b/sdk_container/src/third_party/coreos-overlay/licenses/NVIDIA-codecs
new file mode 100644
index 0000000000..e4e6daad98
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/licenses/NVIDIA-codecs
@@ -0,0 +1,965 @@
+NVIDIA(r) Tegra(r) Software License Agreement - Tegra Linux Driver Package
+
+BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, OR USING THE SOFTWARE
+(AS DEFINED BELOW) THE END USER OF THE LICENSED MATERIALS ("YOU" OR
+"LICENSEE") AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCEPTING
+THESE TERMS ON BEHALF OF ANOTHER PERSON OR A COMPANY OR OTHER LEGAL
+ENTITY, YOU REPRESENT AND WARRANT THAT YOU HAVE FULL AUTHORITY TO BIND
+THAT PERSON, COMPANY, OR LEGAL ENTITY TO THESE TERMS. IF YOU DO NOT
+AGREE TO THESE TERMS,
+
+ * DO NOT (A) DOWNLOAD, INSTALL, COPY THE SOFTWARE; OR (B) ACCESS
+ OR USE THE LICENSED MATERIALS; AND
+ * PROMPTLY DESTROY THE LICENSED MATERIALS, OR RETURN THEM TO
+ THE PARTY FROM WHOM YOU ACQUIRED IT.
+
+NVIDIA Tegra Software License Agreement- Tegra Linux Driver Package
+(the "Agreement") is entered into by and between NVIDIA Corporation, a
+Delaware corporation, having its principal place of business at 2701
+San Tomas Expressway, Santa Clara, CA 95050 ("NVIDIA") and the
+individual person or single legal entity ("Licensee" or "You") who
+acknowledges and agrees to fully abide the terms and conditions of
+this Agreement.
+
+1. DEFINITIONS.
+
+ 1.1 "Affiliate" means any company or legal entity that at various
+times controls, is controlled by, or is under common control with
+Licensee. Only for the purposes of this definition, "Control" means
+(a) direct or indirect ownership of at least fifty percent (50%) of
+the voting power of the shares or other securities for election of
+directors (or other managing authority) of the controlled or commonly
+controlled entity; (b) holding, directly or indirectly, the power to
+exercise more than fifty percent (50%) of the entity's voting rights;
+or (c) holding, directly or indirectly, the power to appoint the
+majority of the members of the entity's board of directors (or similar
+governing body), or in each case, the maximum percentage permitted
+where a lesser percentage is required in a jurisdiction. The parties
+shall be fully responsible for the actions / inactions of their
+Affiliates under this Agreement.
+
+ 1.2 "Competitors" shall mean any company that develops,
+manufactures, produces, sells, distributes or licenses application
+processors, computers-on-chips, systems-on-chips, CPUs, DSPs or GPU
+technology.
+
+ 1.3 "Confidential Information" shall mean (a) the Licensed
+Materials; (b) either parties' technology, ideas, know-how,
+documentation, processes, algorithms and trade secrets embodied in the
+Licensed Materials; (c) any other information disclosed by either
+party to the other that is (i) identified as "confidential,"
+"proprietary" or with a similar legend at the time of disclosure, or
+(ii) if unmarked or disclosed orally or visually, are identified as
+confidential at the time of disclosure and confirmed by a written
+memorandum sent to the receiving party within thirty (30) calendar
+days of disclosure summarizing the confidential information
+sufficiently for identification; and (d) the terms and conditions of
+this Agreement.
+
+ Confidential Information shall not include any information which
+is (e) published or otherwise available to the public other than by
+breach of this Agreement by the receiving party; (f) rightfully
+received by the receiving party from a third party without
+confidentiality limitations; (g) independently developed by the
+receiving party or its Affiliates as evidenced by appropriate records;
+(h) known to the receiving party prior to its first receipt of same
+from the disclosing party as evidenced by appropriate records; (i)
+hereinafter disclosed by the disclosing party to a third party without
+restriction on disclosure; or (j) approved for public release by
+written authorization of the disclosing party.
+
+ 1.4 "Contractor" shall mean any third party company or
+individuals, including but not limited to original device
+manufacturers, who Licensee engages for the purpose of such third
+party performing services for the benefit of Licensee in connection
+with this Agreement.
+
+ 1.5 "Derivative Work(s)" means derivatives or modifications of the
+Licensed Materials created by Licensee or NVIDIA, or a third party on
+behalf of Licensee or NVIDIA respectively, which term shall include:
+(i) for copyrightable or copyrighted material, any translation,
+abridgement, revision or other form in which an existing work may be
+recast, transformed or adapted; (ii) for work protected by topography
+or mask right, any translation, abridgement, revision or other form in
+which an existing work may be recast, transformed or adapted; (iii)
+for patentable or patented material, any improvement; and (iv) for
+material protected by trade secret, any new material derived from or
+employing such existing trade secret.
+
+ 1.6 "Excluded License" means any license that requires as a
+condition of use, modification and/or distribution of software subject
+to the Excluded License, that such software or other software
+distributed and/or combined with such software be (i) disclosed or
+distributed in source code form, (ii) licensed for the purpose of
+making derivative works, or (iii) redistributable at no charge.
+
+ 1.7 "Intellectual Property Rights" shall mean all proprietary
+rights, including all patents, trademarks, copyrights, know-how, trade
+secrets, mask works, including all applications and registrations
+thereto, and any other similar protected rights in any country.
+
+ 1.8 "Licensed Materials" shall mean the Software, related
+documentation, Tegra development hardware (if applicable), and other
+materials as NVIDIA may deliver hereunder from time to time.
+
+ 1.9 "Licensee Products" shall mean Licensee's devices that have or
+will contain NVIDIA's family of graphics, or media and communication,
+or applications processors and related Software (as defined below)
+supplied directly or indirectly by NVIDIA.
+
+ 1.10 "Software" shall mean the NVIDIA Tegra Linux Driver Package,
+full or partial copies thereof, and any Derivative Work(s) thereto
+owned by NVIDIA.
+
+2. LICENSE.
+
+ 2.1 Grant. Subject to the terms and conditions of this Agreement,
+including applicable Exhibits, NVIDIA grants to Licensee and its
+Affiliates a personal, nonexclusive, worldwide, nonsublicensable,
+nontransferable, nonassignable and royalty-free right and license:
+
+ (a) to execute, compile, reproduce, display, perform, modify,
+ and to prepare and have prepared Derivative Work(s) of the
+ Software (in source code form as provided by NVIDIA)
+ solely to develop and customize Licensee Products for
+ Licensee's internal development purposes only;
+
+ (b) to reproduce, transmit, transfer, distribute and
+ sublicense object code forms of the Software and/or
+ Derivative Work(s) and related documentation incorporated
+ into Licensee Products with a form of end user license
+ agreement that is as protective of NVIDIA's Intellectual
+ Property Rights as this Agreement;
+
+ (c) for Contractors to exercise the foregoing rights of
+ Section 2.1 of this Agreement solely on behalf of
+ Licensee; and
+
+ (d) NVIDIA may, in its sole discretion, require Licensee to
+ accept, distribute, and/or incorporate certain
+ modifications, updates, fixes, changes, or revisions to
+ the Licensed Materials used in Licensee Products in a
+ timely manner.
+
+ 2.2 Reservation of Rights. NVIDIA reserves all rights not
+expressly granted to Licensee in Section 2.1 herein.
+
+ 2.3 License Grant Back. Licensee hereby grants to NVIDIA and its
+Affiliates an exclusive, worldwide, irrevocable, perpetual,
+sublicensable (through multiple tiers of sublicensees), royalty-free
+right, fully paid-up right and license to the Derivative Work(s) (in
+source and object code form) created by Licensee's employees,
+Affiliates or Contractors so that NVIDIA may copy, modify, create
+Derivative Works thereof, to use, have used, import, make, have made,
+sell, offer to sell, sublicense (through multiple tiers of
+sublicensees), distribute (through multiple tiers of distributors)
+such Derivative Work(s) on a stand-alone basis or as incorporated into
+the Software or other NVIDIA products. For the sake of clarity,
+NVIDIA is not prohibited or otherwise restricted from independently
+developing new features or functionality with respect to the Licensed
+Materials.
+
+ 2.4 Delivery Obligation of Derivative Work(s) Licensee shall
+deliver, upon NVIDIA's request, the Derivative Work(s) created by
+Licensee or on behalf of Licensee to NVIDIA pursuant to Section 2.3 of
+this Agreement.
+
+3. LIMITATIONS; OBLIGATIONS.
+
+ 3.1 Restrictions. Except as expressly permitted by this
+Agreement, Licensee shall not:
+
+ (a) use the Software and/or the Derivative Work(s) created by
+ Licensee or on behalf of Licensee on any non-NVIDIA
+ application processors ("External Systems"), except on
+ External Systems for the sole purpose of programming,
+ configuration or performing diagnostics on an NVIDIA
+ application processor;
+
+ (b) reverse engineer, decompile, disassemble, modify or create
+ derivative works of any portion of the Licensed Materials
+ (in object code form) or allow any third party (including
+ Licensee's Affiliates or Contractors) to do any of the
+ foregoing;
+
+ (c) sublicense, rent, lease, loan, timeshare, sell,
+ distribute, disclose, publish, assign or transfer any
+ rights, grant a security interest in, or transfer
+ possession of the Licensed Materials to any third party
+ without NVIDIA's express prior written consent;
+
+ (d) distribute the Licensed Materials on a standalone basis;
+ or
+
+ (e) under any circumstances allow the Software to be used,
+ pursuant to this Agreement, on NVIDIA's Competitors'
+ software operating and/or hardware platforms.
+
+ 3.2 No Implied Licenses. Nothing in this Agreement shall be
+construed as granting to Licensee by implication, estoppel or
+otherwise, (a) a license to any NVIDIA technology other than the
+Licensed Materials; or (b) any additional license rights for the
+Licensed Materials other than the licenses expressly granted in this
+Agreement.
+
+ 3.3 Additional Licensing Obligations. Licensee acknowledges and
+agrees that it is Licensee's sole responsibility to obtain any,
+additional, third party licenses required to make, have made, use,
+have used, sell, import, and offer for sale Licensee Products that
+include or incorporate any third party technology such as operating
+systems, audio and/or video encoders and decoders or any technology
+from, including but not limited to, Microsoft, Thomson, Fraunhofer
+IIS, Sisvel S.p.A., MPEG-LA, and Coding Technologies ("Third Party
+Components"). Licensee acknowledges and agrees that NVIDIA has not
+granted to Licensee under this Agreement any necessary patent rights
+with respect to those Third Party Components identified in the
+exhibits of this Agreement ("Third Party Licensing Terms and
+Notices"). As such, Licensee's use of the Third Party Components may
+be subject to further restrictions and terms and conditions described
+in the Third Party Licensing Terms and Notices. Licensee acknowledges
+and agrees that Licensee is solely and exclusively responsible for
+obtaining any and all authorizations and licenses required for the
+distribution and/or incorporation of the Third Party Components
+specified in the Third Party Licensing Terms and Notices.
+
+For the avoidance of doubt, except as expressly authorized by a
+separate written agreement by and between Licensee and Adobe Systems,
+Inc. ("Adobe"), Licensee has no right to distribute, sublicense, or
+otherwise commercialize Adobe's Third Party Components identified in
+Exhibit A-2.
+
+Excluding Section 9.5 of this Agreement, Licensee acknowledges and
+agrees that NVIDIA may at various times update the Third Party
+Licensing Terms and Notices without any advance written notice to
+Licensee. Licensee agrees to be bound by such Third Party Licensing
+Terms and Notices as they may be updated. In the event that NVIDIA's
+license rights to the Third Party Components are terminated and/or
+expired, Licensee agrees NVIDIA shall no longer have the obligation to
+deliver such Third Party Components to Licensee affected by such
+termination and/or expiration.
+
+ Licensee shall, at its own expense fully indemnify, hold harmless,
+defend, and settle any claim, suit or proceeding that is instituted by
+a third party against NVIDIA and its officers, employees or agents, to
+the extent such claim, suit or proceeding is based on (a) a breach by
+Licensee of any of the representations and warranties in Section 7
+("Warranties") of this Agreement; or (b) Licensee's failure to fully
+satisfy and/or comply with the third party licensing obligations
+expressly contained in the Third Party Licensing Terms and Notices (a
+"Claim").
+
+ In the event of a Claim, NVIDIA agrees to:
+
+ (a) promptly inform Licensee and furnish Licensee a copy of
+ the Claim;
+
+ (b) make commercially reasonable efforts to give such evidence
+ in NVIDIA's possession, custody or control as is
+ reasonable to Licensee, at Licensee's request and expense,
+ specifically and reasonably applicable to the Claim;
+
+ (c) provide Licensee commercially reasonable assistance in the
+ defense thereof, at Licensee's expense; and
+
+ (d) give Licensee sole control of the defense thereof and all
+ negotiations for its settlement and compromise, which
+ shall not be finalized without the prior written consent
+ of NVIDIA.
+
+ NVIDIA's failure to promptly notify Licensee shall not relieve
+Licensee of any liability or obligations that it has to NVIDIA, except
+to the extent Licensee demonstrates that the defense of such action is
+prejudiced by the failure or delay in giving notice. If NVIDIA
+retains counsel, it will be at NVIDIA's own expense.
+
+ In the event of a Claim, Licensee agrees to:
+
+ (a) pay all damages finally awarded against NVIDIA or agreed
+ upon in settlement by Licensee, which shall not be
+ finalized without the prior written consent of NVIDIA,
+ (including other reasonable costs incurred by NVIDIA,
+ including reasonable attorneys fees, in connection with
+ enforcing this paragraph);
+
+ (b) reimburse NVIDIA for any licensing fees and/or penalties
+ incurred by NVIDIA in connection with a Claim; and
+
+ (c) immediately procure/satisfy the third party licensing
+ obligations expressly contained in the Third Party
+ Licensing Terms and Notices.
+
+ 3.4 Proprietary Rights Notices. Licensee shall not remove, alter
+or obscure any copyright, trademark, patent notices or other
+proprietary rights notices that appear on the Licensed Materials.
+Licensee shall use commercially reasonable efforts to require its
+channel entities to comply with the provisions of this Section 3.4.
+
+ 3.5 No Excluded Licenses. The licenses granted in Section 2.1 do
+not include the right to, and Licensee shall not: (a) create
+Derivative Work(s) of the Licensed Materials in any manner that would
+cause the Licensed Materials, in whole or in part, to become subject
+to the terms of an Excluded License; or (b) distribute the Licensed
+Materials (or Derivative Works thereof) in any manner that would cause
+the Licensed Materials, or any component thereof, to become subject to
+the terms of an Excluded License.
+
+ 3.6 Source Code Protection. In addition to Licensee's
+restrictions and obligations in connection with the Licensed Materials
+set forth in this Agreement, Licensee agrees that source code to the
+Licensed Materials constitutes highly Confidential Information and
+proprietary trade secrets of NVIDIA and shall be protected by (a) the
+confidentiality obligations set forth in Section 5.1; and (b) any
+applicable non-disclosure agreement ("NDA"). In addition to the
+confidentiality obligations set forth in Section 5.1 and the NDA,
+Licensee agrees to the following:
+
+ (a) Licensee shall only allow its employees, Contractors, and
+ its Affiliates' employees and Contractors who have a need
+ to know basis to use the source code to the Software in
+ order for Licensee or its Affiliates to exercise their
+ license rights under this Agreement, provided that any
+ breach of this Agreement by such parties is considered
+ Licensee's breach of this Agreement and Licensee shall be
+ liable for such breach to the same extent as if it
+ committed the breach itself. Upon NVIDIA's request,
+ Licensee shall provide NVIDIA a list of all employees
+ (including employees of Affiliates), and Contractors who
+ have been granted source code access to the Licensed
+ Materials and update and maintain the accuracy of this
+ list at all times;
+
+ (b) Licensee shall protect the source code of the Licensed
+ Materials to the same degree as Licensee protects its own
+ Confidential Information;
+
+ (c) Licensee shall not grant third parties, excluding
+ Affiliates or Contractors, access to the source code of
+ the Licensed Materials;
+
+ (d) Licensee shall restrict disclosure and access to and use
+ of the Licensed Materials (in source code form) to those
+ employees (including those of its Affiliates and/or
+ Contractors) who have agreed to be bound by a written
+ confidentiality agreement which incorporates the
+ protections and restrictions no less protective than those
+ set forth in this Agreement with respect to the Licensed
+ Materials;
+
+ (e) Licensee shall secure the source code to the Software and
+ Licensed Materials in a secure location at all times;
+
+ (f) Licensee shall not use the Licensed Materials and/or
+ Derivative Work(s) created by Licensee to compete against
+ NVIDIA or shall not use the Licensed Materials and/or
+ Derivative Work(s) in litigation against NVIDIA; and
+
+ (g) Licensee's employees, Affiliates, or Contractors who have
+ been exposed to source code of the Licensed Materials
+ shall not be permitted to use any ideas, techniques or
+ know-how obtained from their respective use of the
+ Licensed Materials for any engagement, including but not
+ limited to services or product development (hardware or
+ software) work for the benefit of NVIDIA's Competitors.
+
+ 3.7 Defensive Suspension. If Licensee and/or its Affiliates
+commence or participates in any legal proceeding against NVIDIA, then
+NVIDIA may, in its sole discretion, suspend or terminate all license
+grants and any other rights provided under this Agreement during the
+pendency of such legal proceedings.
+
+4. OWNERSHIP; FEEDBACK.
+
+ 4.1 By NVIDIA. Except as expressly licensed to Licensee under
+this Agreement, NVIDIA reserves all right, title and interest,
+including but not limited to all Intellectual Property Rights, in and
+to the Licensed Materials and any Derivative Work(s) made thereto by
+or on behalf of NVIDIA.
+
+ 4.2 Feedback by Licensee. Licensee may, but is not obligated to,
+provide to NVIDIA any suggestions, comments and feedback regarding the
+Licensed Materials that are delivered by NVIDIA to Licensee under this
+Agreement (collectively, "Licensee Feedback"). NVIDIA may use and
+include any Licensee Feedback that Licensee voluntarily provides to
+improve the Licensed Materials or other related NVIDIA technologies.
+Accordingly, if Licensee provides Licensee Feedback, Licensee grants
+NVIDIA and its licensees a perpetual, irrevocable, worldwide,
+royalty-free, fully paid-up license grant to freely use, have used,
+sell, modify, reproduce, transmit, license, sublicense (through
+multiple tiers of sublicensees), distribute (through multiple tiers of
+distributors), and otherwise commercialize the Licensee Feedback in
+the Licensed Materials or other related technologies.
+
+5. CONFIDENTIAL INFORMATION; ACCESS TO SOFTWARE.
+
+ 5.1 Protection of Confidential Information. The parties shall not
+use or disclose any Confidential Information received from the other
+party, except as expressly authorized by this Agreement, and shall
+protect all such Confidential Information using the same degree of
+care which the receiving party uses with respect to its own
+proprietary information, but in no event with safeguards less than a
+reasonably prudent business would exercise under similar
+circumstances. The parties shall not use the Confidential Information
+for purposes other than those necessary to directly further the
+purposes of this Agreement. Except as expressly provided in this
+Agreement, no ownership or license rights are granted in any
+Confidential Information. The parties shall use commercially
+reasonable efforts to prevent any actual or threatened unauthorized
+copying, use or disclosure of Confidential Information, and shall
+promptly notify the other party of any such actual or threatened
+unauthorized disclosure or use. If any Confidential Information must
+be disclosed to any third party by reason of legal, accounting or
+regulatory requirements beyond the reasonable control of the
+disclosing party, the disclosing party shall promptly notify the other
+party of the order or request and permit the other party (at its own
+expense) to seek an appropriate protective order.
+
+ For the sake of clarity, the parties agree that, notwithstanding
+the preceding paragraph, any and all information identified as
+Confidential Information (as defined in the NDA) by the disclosing
+party in connection with this Agreement shall also be protected under
+the NDA; provided, however, that in the event of any conflict between
+the confidentiality obligations pursuant to this Agreement and the
+obligations pursuant to the NDA with regard to any Confidential
+Information (as defined in the NDA) in connection with this Agreement,
+including, without limitation, the source code to the Licensed
+Materials, the terms of this Agreement shall prevail.
+
+6. TERM; TERMINATION
+
+ 6.1 Term. This Agreement and the licenses granted hereunder shall
+be effective as of the date Licensee first uses the Licensed Materials
+("Effective Date") and continue for a period of one (1) year (the
+"Initial Term"), unless terminated in accordance with Section 6.2.
+Unless either party notifies the other party of its intent to
+terminate this Agreement at least one (1) month prior to the end of
+the Initial Term or the applicable renewal period ("Renewal
+Period(s)"), this Agreement will be automatically renewed for one (1)
+year Renewal Periods, provided however that this Agreement will
+automatically expire at such time when Licensee no longer intends to
+use the Licensed Materials for the authorized purposes described in
+this Agreement, at this time Licensee will comply with the termination
+provisions in Section 6.2 below.
+
+ 6.2 Termination. Either party may terminate this Agreement
+immediately upon written notice for the material breach of the other
+party, which material breach is curable and has remained uncured for a
+period of thirty (30) days from the date of delivery of written notice
+thereof to the other party. Upon the termination or expiration of
+this Agreement,
+
+ (a) Licensee shall (i) immediately cease using the Licensed
+ Materials for any purpose whatsoever; (ii) immediately
+ destroy or return to NVIDIA all materials belonging to
+ NVIDIA, including without limitation all copies of the
+ Software and NVIDIA Confidential Information then in
+ Licensee's possession or control; and (iii) certify to
+ NVIDIA in writing that it has done so; and
+
+ (b) NVIDIA shall (i) immediately destroy or return to Licensee
+ all materials belonging to Licensee that were provided to
+ NVIDIA pursuant to this Agreement, including without
+ limitation, Licensee's Confidential Information then in
+ NVIDIA's possession or control; and (ii) certify to
+ Licensee in writing that it has done so. These remedies
+ shall be cumulative and in addition to any other remedies
+ available to NVIDIA.
+
+ 6.3 Survival. Those provisions in this Agreement, which by their
+nature need to survive the termination or expiration of this
+Agreement, The following Sections shall survive termination or
+expiration of the Agreement, including but not limited to Sections 1,
+2.2, 2.3, 2.4, 3, 4, 5, 6.2 , 6.3, 7, 8, 9 and Exhibit A.
+
+7. WARRANTIES
+
+ THE LICENSED MATERIALS ARE LICENSED FOR LICENSEE'S USE "AS IS" AND
+NVIDIA AND ITS LICENSORS DISCLAIM ALL WARRANTIES, EXPRESS, IMPLIED AND
+STATUTORY INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF THIRD PARTY RIGHTS. NVIDIA DOES NOT REPRESENT OR WARRANT THAT THE
+LICENSED MATERIALS WILL MEET LICENSEE'S REQUIREMENTS OR THAT THE
+OPERATION OF THE SOFTWARE CONTAINED THEREIN OR RESULTING THEREFROM
+WILL BE UNINTERRUPTED OR ERROR-FREE. NO INFORMATION OR ADVICE GIVEN
+BY NVIDIA, ITS REPRESENTATIVES, AGENTS OR EMPLOYEES SHALL IN ANY WAY
+INCREASE THE SCOPE OF THIS WARRANTY.
+
+ (A) Licensee represents and warrants that it has, or will have
+prior to the commercial release of the Licensee Products, a valid and
+current license to all the Third Party Components referenced in the
+exhibits of this Agreement, for use in connection with Licensed
+Materials provided pursuant to this Agreement and Licensee Products.
+
+
+8. LIMITATION OF LIABILITY
+
+ IN NO EVENT SHALL:
+
+ (A) NVIDIA BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, INCIDENTAL,
+PUNITIVE OR SPECIAL DAMAGES, OF ANY KIND OR CHARACTER, INCLUDING LOST
+PROFITS, LOST REVENUE, FAILURE TO REALIZE SAVINGS OR OTHER BENEFITS,
+LOSS OF DATA OR USE, AND CLAIMS BY ANY THIRD PARTY, ARISING OUT OF OR
+RELATED TO THE SUBJECT MATTER OF THIS AGREEMENT; AND
+
+ (B) NVIDIA'S AGGREGATE LIABILITY ARISING OUT OF THIS AGREEMENT
+EXCEED THE AMOUNT PAID BY LICENSEE FOR USE OF THE LICENSED MATERIALS.
+THE FOREGOING EXCLUSION AND LIABILITY LIMITATIONS APPLY EVEN IF SUCH
+PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
+EXCLUSION AND LIABILITY LIMITATION SHALL APPLY EVEN IF ANY REMEDY
+FAILS OF ITS ESSENTIAL PURPOSE.
+
+9. GENERAL
+
+ 9.2 Governing Law. This Agreement shall be governed in all
+respects by the laws of the United States and of the State of
+Delaware, without regard to the conflicts of laws principles thereof.
+
+ 9.3 Jurisdiction. The state and/or federal courts residing in
+Santa Clara County, California shall have exclusive jurisdiction over
+any dispute or claim arising out of this Agreement.
+
+ 9.4 Severability. If for any reason a court of competent
+jurisdiction finds any provision of this Agreement, or portion
+thereof, to be unenforceable, that provision of the Agreement will be
+enforced to the maximum extent permissible so as to affect the intent
+of the parties, and the remainder of this Agreement will continue in
+full force and effect. This Agreement has been negotiated by the
+parties and their respective counsel and will be interpreted fairly in
+accordance with its terms and without any strict construction in favor
+of or against either party.
+
+ 9.5 Amendments. The Agreement shall not be modified except by a
+written agreement that names this Agreement and any provision to be
+modified, is dated subsequent to the Effective Date, and is signed by
+duly authorized representatives of both parties.
+
+ 9.6 No Waiver. No failure or delay on the part of either party in
+the exercise of any right, power or remedy under this Agreement or
+under law, or to insist upon or enforce performance by the other party
+of any of the provisions of this Agreement or under law, shall operate
+as a waiver thereof, nor shall any single or partial exercise of any
+right, power or remedy preclude other or further exercise thereof, or
+the exercise of any other right, power or remedy; rather the
+provision, right, or remedy shall be and remain in full force and
+effect.
+
+ 9.7 No Assignment. This Agreement, and each party's rights and
+obligations herein, may not be assigned, subcontracted, delegated, or
+otherwise transferred by either party without the other party's prior
+written consent, and any attempted assignment, subcontract,
+delegation, or transfer in violation of the foregoing will be null and
+void. The terms of this Agreement shall be binding upon assignees.
+
+ 9.8 Independent Contractors. NVIDIA's relationship to Licensee is
+that of an independent Contractor, and neither party is an agent or
+partner of the other. Neither party will have, and will not represent
+to any third party that it has, any authority to act on behalf of the
+other party.
+
+ 9.9 Export Restrictions. The parties acknowledge that the
+Licensed Materials are subject to U.S. export control laws and
+regulations. The parties agree to comply with all applicable
+international and national laws that apply to the Licensed Materials,
+including the U.S. Export Administration Regulations, as well as
+end-user, end-use and destination restrictions issued by U.S. and
+other governments.
+
+ 9.10 U.S. Government Legend. If Licensee is a branch or agency of
+the United States Government, the following provision applies. Any
+software provided under this Agreement, including any releases are
+comprised of "commercial computer software" and "commercial computer
+software documentation" as such terms are used in 48 C.F.R. 12.212 and
+are provided to the Government (i) for acquisition by or on behalf of
+civilian agencies, consistent with the policy set forth in 48
+C.F.R. 12.212; or (ii) for acquisition by or on behalf of units of the
+Department of Defense, consistent with the policies set forth in 48
+C.F.R. 227.7202-1 and 227.7202-3.
+
+ 9.11 Headings. The headings in this Agreement are for the sole
+purpose of convenience of reference and shall not in any way limit or
+affect the meaning or interpretation of any of the terms or provisions
+of this Agreement.
+
+ 9.12 Counterparts. This Agreement may be executed in
+counterparts, each of which shall be deemed an original, and all of
+which together shall constitute one instrument.
+
+ 9.13 No Third Party Beneficiaries. This Agreement is solely
+between NVIDIA and Licensee. There are no third party beneficiaries,
+express or implied, to this Agreement.
+
+ 9.14 Entire Agreement. This Agreement constitutes the entire
+agreement between the parties with respect to the subject matter
+contemplated herein, and merges all prior and contemporaneous
+communications.
+
+
+
+Exhibit A
+
+
+1. Coding Technologies/AAC+
+
+ Licensee shall be solely responsible for either obtaining a proper
+patent license under the Essential Patents for end products or to
+notify Licensee's respective customers of their obligations to obtain
+a proper patent license under the Essential Patents for end products
+in which the NVIDIA application processor(s) and/or the NVIDIA
+software package may be used. For the purpose of this paragraph,
+"Essential Patents" means patents which are infringed by the
+manufacture, offer for sale, sale (or other form of
+commercialization), use or import of products (hardware or software)
+implementing, incorporating, containing or using AACPLUSV2 or by the
+application of processes involving AACPLUSV2, including those which
+are infringed by any source code provided as part of any specification
+characterizing AACPLUSV2.
+
+2. Thomson Multimedia/MP3
+
+ Supply of the Licensed Materials does not convey a license under
+the relevant intellectual property of Thomson Multimedia and/or
+Fraunhofer Gesellschaft nor imply any right to use the Licensed
+Materials in any finished end user or ready-to-use final product. An
+independent license for such use is required. For details, please
+visit http://www.mp3licensing.com
+
+3. MPEG L.A., L.L.C./MPEG-2
+
+ USE OF THE APPLICABLE NVIDIA SOFTWARE PACKAGE IN ANY MANNER THAT
+COMPLIES WITH THE MPEG-2 STANDARD IS EXPRESSLY PROHIBITED WITHOUT A
+LICENSE UNDER APPLICABLE PATENTS IN THE MPEG-2 PATENT PORTFOLIO, WHICH
+LICENSE IS AVAILABLE FROM MPEG LA, L.L.C., 250 STREELE STREET, SUITE
+300, DENVER, COLORADO 80206. NO LICENSE IS GRANTED HEREIN, BY
+IMPLICATION OR OTHERWISE, TO LICENSEE TO USE MPEG 2 INTERMEDIATE
+PRODUCTS MANUFACTURED OR SOLD BY LICENSEE.
+
+4. MPEG-2 AAC
+
+ Licensee shall be solely responsible for either obtaining a valid
+and current license from AT&T Corp., Dolby Laboratories Licensing
+Corporation, Fraunhofer-Gesellscaft, and Sony Corporation for the
+applicable version of MPEG-2 AAC.
+
+5. Fraunhofer-Gesellschaft MPEG-4 HE-AAC
+
+ Licensee understands and accepts that (a) it may be necessary to
+execute a patent license with the appropriate licensing entities in
+order to obtain all rights necessary to create Licensee's products;
+and (b) Licensee will contact the appropriate licensing entities,
+e.g. Via Licensing, and negotiate in good faith the adequate
+contracts, if any. In addition, it is hereby understood that in the
+event that, besides the Fraunhofer-Gesellschaft patents licensed
+through such appropriate licensing entities, any further
+Fraunhofer-Gesellschaft patent shall be required in order to use the
+Licensed Materials, Fraunhofer-Gesellschaft shall not request from
+Licensee any additional payment in order to receive a license to such
+further Fraunhofer-Gesellschaft patent, as long as Licensee remains a
+valid licensee of such appropriate licensing entity.
+
+6. Microsoft Windows Media
+
+ Licensee acknowledges that Microsoft Windows Media is provided in
+object code form only, solely for the Licensee's own internal
+evaluation and testing purposes.
+
+
+ Licensee further acknowledges the following notice: "This product
+includes technology owned by Microsoft Corporation and cannot be used
+or further distributed without a license from Microsoft or a Microsoft
+affiliate."
+
+7. Microsoft PlayReady or WMDRM technology
+
+ Licensee acknowledges that the Licensed Materials (i) contain a
+certain version of Microsoft PlayReady or WMDRM technology ("PlayReady
+Technology"); and (ii) are subject to certain intellectual property
+rights of Microsoft and cannot be used or distributed further without
+the appropriate license(s) from Microsoft.
+
+ Licensee represents and warrants that (i) Licensee holds a current
+and valid license under a PlayReady Device Agreement and Intermediated
+Product Distribution License, a PlayReady Final Product Distribution
+License, or a like agreement, with Microsoft or a Microsoft affiliate;
+and (ii) Licensee will use the PlayReady Technology provided under
+this Agreement in Licensees' software, hardware product, or service
+offering that (a) is intended for distribution to and/or use by end
+users; and (b) is in a final form with Licensee-owned brand and/or
+logo most prominently displayed brand in a fully functional user
+interface.
+
+8. Ogg Vorbis Legal Information
+
+Copyright (c) 2002, Xiph.org Foundation
+
+ 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 the Xiph.org Foundation 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 FOUNDATION 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.
+
+EXHIBIT A-2
+
+Adobe Flash Demonstration and Evaluation License ("Adobe License")
+Terms and Conditions
+
+ 1. Software License. NVIDIA hereby grants to Licensee a
+non-exclusive, non-transferable, royalty free right to use, install,
+evaluate, test, demonstrate, publicly perform and display object code
+versions of the Adobe Software together with Licensee's product. For
+the avoidance of doubt, Licensee has no right to distribute,
+sublicense, or otherwise commercialize the Adobe Software, unless and
+until Adobe confirms in writing that Licensee has entered into an
+appropriate license agreement with Adobe.
+
+ "Adobe Software" means the Adobe Flash Player software version 10
+as modified by NVIDIA, in object code form as delivered by NVIDIA
+hereunder. NVIDIA may update the Adobe Software from time to time, in
+its sole discretion.
+
+ 2. Period. Licensee's limited license hereunder shall commence on
+the Effective Date and remain in effect until terminated by NVIDIA
+upon five (5) days written notice.
+
+ 3. Rights. Licensee agrees that it shall take no action in
+furtherance of seeking any patent rights or other intellectual
+property rights to the Adobe Software. The Software shall be returned
+to NVIDIA within fifteen (15) days of the end of the Evaluation
+Period. Licensee shall have no rights to sublicense or distribute the
+Software.
+
+ 4. Fees. There shall be no fees owed by either party under this
+Adobe License.
+
+ 5. Delivery. NVIDIA shall deliver the Adobe Software to Licensee
+shortly after execution of this Adobe License.
+
+ 6. Restrictions. Licensee does not have any rights to make use of
+the Adobe Software, or in any manner, copy, disseminate, or in any way
+circulate the Adobe Software other than as permitted under Section 1
+above. Licensee shall limit access to the Adobe Software to its
+employees who need to know such information and who have agreed,
+either as a condition to employment or prior to obtaining the Adobe
+Software, to be bound by terms and conditions of confidentiality. The
+rights herein do not entitle Licensee to use the Adobe Software, or
+any technology or intellectual property contained within it, as
+reference or inspiration for developing or creating another product in
+any way based upon the Adobe Software. Licensee agrees not to
+decompile, reverse engineer, reverse assemble, disassemble, or
+otherwise reverse engineer or reduce the Adobe Software provided in
+object code form to a human-perceivable form.
+
+ 7. Ownership. All right, title, and interest in the Adobe
+Software, shall be owned by Adobe. Except as set forth in Section 1
+above, Licensee acquires no license to any NVIDIA or Adobe
+intellectual property rights pursuant to this Adobe License. The Adobe
+Software, and any partial or whole copies thereof, and all copyright,
+patent, trade secret and other intellectual property rights therein,
+are and remain the property of Adobe and NVIDIA. The provisions of
+this paragraph shall survive expiration or earlier termination of this
+Adobe License. NVIDIA does not directly or indirectly grant, or
+purport to grant, to Licensee any rights or immunities under Adobe's
+intellectual property rights that will subject such intellectual
+property rights to an open source license or scheme in which there is
+or could be interpreted to be a requirement that as a condition of
+use, modification and/or distribution, the Adobe Software be: (i)
+disclosed or distributed in source code form; (ii) licensed for the
+purpose of making derivative works; or (iii) redistributable at no
+charge.
+
+
+ 8. Effect of Termination. Upon termination, the rights granted
+hereunder shall cease and all materials furnished to Licensee by
+NVIDIA hereunder relating to the Adobe Software shall be returned to
+it promptly, together with any copies thereof.
+
+ 9. Disclaimer. NVIDIA PROVIDES THE ADOBE SOFTWARE "AS IS" AND
+WITHOUT ANY WARRANTIES. THE ENTIRE RISK AS TO THE RESULTS AND
+PERFORMANCE OF THE ADOBE SOFTWARE IS ASSUMED BY LICENSEE. NVIDIA
+DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, WITH REGARD
+TO THE ADOBE SOFTWARE OR ANY OTHER INFORMATION PROVIDED HEREUNDER,
+INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT
+OF THIRD PARTY RIGHTS.
+
+ 10. Limitation on Liability. NOTWITHSTANDING ANY PROVISION IN THIS
+AGREEMENT, NEITHER NVIDIA NOR ADOBE SHALL BE LIABLE TO LICENSEE OR ANY
+THIRD PARTY FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, ARISING OUT OF OR RELATED TO THIS AGREEMENT, INCLUDING,
+WITHOUT LIMITATION, DAMAGES RESULTING FROM LOSS OF PROFITS, DATA,
+BUSINESS, OR GOODWILL, HOWEVER CAUSED AND ON WHATEVER THEORY, WHETHER
+BASED ON BREACH OF CONTRACT OR WARRANTY, TORT (INCLUDING NEGLIGENCE),
+THE FAILURE OR ASSERTED FAILURE OF NVIDIA TO PERFORM ITS OBLIGATIONS
+HEREUNDER, OR OTHERWISE, AND WHETHER OR NOT NVIDIA HAS BEEN ADVISED OR
+IS AWARE OF THE POSSIBILITY OF SUCH DAMAGES. NVIDIA's aggregate
+liability to Licensee or any third party arising out of or in
+connection with this Adobe License or any collateral agreement,
+whether in contract, tort (including negligence), or otherwise, shall
+be limited to fifty dollars (US$50).
+
+ 11. Relief. As the unauthorized distribution of the Adobe Software
+may diminish the value to NVIDIA or Adobe of the proprietary interests
+that are the subject of this Adobe License, if Licensee breaches any
+of its obligations under this Adobe License, NVIDIA or Adobe shall be
+entitled to seek equitable relief to protect its interests therein,
+including but not limited to injunctive relief, as well as money
+damages.
+
+ 12. Export Restrictions. The parties acknowledge that the Adobe
+Software is subject to U.S. export control laws and regulations. The
+parties agree to comply with all applicable international and national
+laws that apply to the Adobe Software, including the U.S. Export
+Administration Regulations and the United States Department of
+Commerce, as well as end-user, end-use and destination restrictions
+issued by U.S. and other governments.
+
+ 13. Evaluation Feedback.
+
+ 13.1 Feedback by Licensee. You must provide to NVIDIA any
+suggestions, comments and feedback regarding the Adobe Software
+("Licensee Feedback"). NVIDIA and Adobe may use and include any
+Licensee Feedback that you provide to improve the Software or other
+technologies and / or products. Accordingly, you grant to NVIDIA, its
+subsidiaries, its affiliates and its licensees a perpetual,
+irrevocable, worldwide, royalty-free, fully paid-up license to freely
+use, have used, sell, modify, reproduce, transmit, license, sublicense
+(through multiple tiers of sublicensees, including to Adobe),
+distribute (through multiple tiers of distributors), and otherwise
+commercialize the Licensee Feedback in the Adobe Software or other
+NVIDIA or Adobe technologies and/or products.
+
+ 13.2 Confidential Information. Licensee Feedback is considered
+Adobe's confidential information ("Adobe Confidential Information").
+You shall not use or disclose any Adobe Confidential Information
+except as expressly authorized herein, and you shall protect all such
+Adobe Confidential Information using the same degree of care you use
+with respect to your own proprietary information, but in no event with
+safeguards less than a reasonably prudent business would exercise
+under similar circumstances. You agree to take prompt and appropriate
+action to prevent unauthorized use or disclosure of any Adobe
+Confidential Information.
+
+
+
+
+Exhibit E
+
+(Open Source Portions)
+
+ Licensee agrees that the following terms and conditions shall
+apply to its use of certain portions (as referenced below) of the
+applicable software packages selected by the Licensee in connection
+with this Agreement. For the sake of clarity, Licensee agrees that the
+terms and conditions of the Agreement shall continue to govern
+Licensee's use of the Software and Licensed Materials. The parties
+agree that the capitalized terms used in this exhibit shall have the
+same meaning ascribed to such term in the Agreement or any amendment
+thereto.
+
+ 1. NVIDIA agrees that the open source portions expressly licensed
+under terms and conditions of Excluded Licenses (collectively the
+"Open Source Portions"), shall not be subject to the restrictions set
+forth in the following section ("No Excluded Licenses") of the
+Agreement (or substantially similar provision in the Agreement signed
+by Licensee):
+
+ "3.5 No Excluded Licenses. The licenses granted in Section 2.1 do
+not include the right to, and Licensee shall not: (a) create
+Derivative Work(s) of the Licensed Materials in any manner that would
+cause the Licensed Materials, in whole or in part, to become subject
+to the terms of an Excluded License; or (b) distribute the Licensed
+Materials (or Derivative Works thereof) in any manner that would cause
+the Licensed Materials, or any component thereof, to become subject to
+the terms of an Excluded License."
+
+ 2. Licensee agrees that it shall not externally distribute,
+license or otherwise disclose in any manner the Open Source Portions
+until the later of (a) the Licensee Products (as defined in the
+Agreement), that incorporates the Open Source Portions, in whole or in
+part, is commercialized and made generally available for sale; or (b)
+NVIDIA makes generally available to the public the Open Source
+Portions in source code form.
+
+ 3. Except as noted otherwise in this Exhibit E, the terms and
+conditions of this Exhibit E will supercede any conflicting terms and
+conditions between Exhibit E and the Agreement.
+
+
+
+EXHIBIT F
+
+Licensee acknowledges and agrees with this following third party
+licensing obligations and/or notices in connection with its use of (a)
+Tegra Linux Driver Package; and (b) Chromium:
+
+
+1. GNU General Public License 2.0
+
+ (For notice purposes only)
+
+ This product includes copyrighted third-party software licensed
+under the terms of the GNU General Public License. All third-party
+software packages are copyright by their respective authors. GNU
+General Public License is hereby incorporated into the Agreement by
+this reference.
+
+ http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
+
+2. Apache License v2.0
+
+ (For notice purposes only)
+
+ This product includes copyrighted third-party software licensed
+under the terms of the Apache License. All third-party software
+packages are copyright by their respective authors. Apache License is
+hereby incorporated into the Agreement by this reference.
+
+ http://www.apache.org/licenses/LICENSE-2.0.html
+
+3. BSD License
+
+ (For notice purposes only)
+
+ This product includes copyrighted third-party software licensed
+under the terms of the BSD License. All third-party software packages
+are copyright by their respective authors. BSD License is incorporated
+into the Agreement by this reference.
+
+ http://www.opensource.org/licenses/bsd-license.php
+
+4. MIT License
+
+ (For notice purposes only)
+
+ This product includes copyrighted third-party software licensed
+under the terms of the MIT License. All third-party software packages
+are copyright by their respective authors. MIT License is hereby
+incorporated into the Agreement by this reference
+
+ http://www.opensource.org/licenses/mit-license.php
+
+
+REV. 02.28.2012
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/licenses/ralink-firmware b/sdk_container/src/third_party/coreos-overlay/licenses/ralink-firmware
new file mode 100644
index 0000000000..18dd038e4f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/licenses/ralink-firmware
@@ -0,0 +1,39 @@
+Copyright (c) 2007, Ralink Technology Corporation
+All rights reserved.
+
+Redistribution. Redistribution and use in binary form, without
+modification, are permitted provided that the following conditions are
+met:
+
+* Redistributions must reproduce the above copyright notice and the
+ following disclaimer in the documentation and/or other materials
+ provided with the distribution.
+* Neither the name of Ralink Technology Corporation nor the names of its
+ suppliers may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+* No reverse engineering, decompilation, or disassembly of this software
+ is permitted.
+
+Limited patent license. Ralink Technology Corporation grants a world-wide,
+royalty-free, non-exclusive license under patents it now or hereafter
+owns or controls to make, have made, use, import, offer to sell and
+sell ("Utilize") this software, but solely to the extent that any
+such patent is necessary to Utilize the software alone, or in
+combination with an operating system licensed under an approved Open
+Source license as listed by the Open Source Initiative at
+http://opensource.org/licenses. The patent license shall not apply to
+any other combinations which include this software. No hardware per
+se is licensed hereunder.
+
+DISCLAIMER. 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/sdk_container/src/third_party/coreos-overlay/metadata/layout.conf b/sdk_container/src/third_party/coreos-overlay/metadata/layout.conf
new file mode 100644
index 0000000000..a83f5b1222
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/metadata/layout.conf
@@ -0,0 +1,5 @@
+masters = portage-stable
+thin-manifests = true
+use-manifests = strict
+cache-format = md5-dict
+profile-formats = portage-2
diff --git a/sdk_container/src/third_party/coreos-overlay/metadata/repoman/qa_data.yaml b/sdk_container/src/third_party/coreos-overlay/metadata/repoman/qa_data.yaml
new file mode 100644
index 0000000000..17c0e0b477
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/metadata/repoman/qa_data.yaml
@@ -0,0 +1,65 @@
+---
+
+version: 1
+repoman_version: 2.3.3
+
+missingvars:
+ - LICENSE
+
+qacats:
+ - EAPI.definition
+ - EAPI.deprecated
+ - EAPI.incompatible
+ - EAPI.unsupported
+ - LICENSE.invalid
+ - LICENSE.missing
+ - LICENSE.syntax
+ - dependency.syntax
+ - digest.assumed
+ - digest.missing
+ - ebuild.invalidname
+ - ebuild.majorsyn
+ - ebuild.syntax
+ - file.name
+ - inherit.missing
+ - manifest.bad
+ - repo.eapi.banned
+ - variable.invalidchar
+
+qawarnings:
+ - DESCRIPTION.missing
+ - DESCRIPTION.toolong
+ - HOMEPAGE.virtual
+ - IUSE.invalid
+ - IUSE.missing
+ - KEYWORDS.stupid
+ - LICENSE.deprecated
+ - LICENSE.virtual
+ - digest.unused
+ - ebuild.absdosym
+ - ebuild.invalidname
+ - ebuild.minorsyn
+ - ebuild.patches
+ - file.UTF8
+ - file.executable
+ - file.size
+ - inherit.unused
+ - inherit.deprecated
+ - portage.internal
+ - repo.eapi.deprecated
+ - upstream.workaround
+ - uri.https
+ - variable.readonly
+
+valid_restrict:
+ - binchecks
+ - bindist
+ - fetch
+ - installsources
+ - mirror
+ - preserve-libs
+ - primaryuri
+ - splitdebug
+ - strip
+ - test
+ - userpriv
diff --git a/sdk_container/src/third_party/coreos-overlay/metadata/repoman/repository.yaml b/sdk_container/src/third_party/coreos-overlay/metadata/repoman/repository.yaml
new file mode 100644
index 0000000000..d38f71c6db
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/metadata/repoman/repository.yaml
@@ -0,0 +1,78 @@
+---
+
+version: 1
+repoman_version: 2.3.3
+
+# The few modules disabled here generate unreasonable false positives for Container Linux:
+# * The `keywords` module generates KEYWORDS.dropped and KEYWORDS.invalid errors. These are more or
+# less irrelevant for Container Linux, as they tend to be for platforms with non-Linux kernels,
+# which aren't a concern for us. These could likely be marked as warnings in qa_data.yaml, but
+# they aren't really even worth fixing on their own, so there's no need to run them at all.
+# * The `pkgmetadata` module checks metadata.xml. Most of this isn't relevant to Container Linux,
+# users will not be interacting with the overlay themselves, and so any metadata specified in
+# metadata.xml will only ever be seen by users of the SDK. As with `keywords`, proper metadata
+# might be nice to have, but considering metadata issues as warnings or errors here adds more
+# noise than signal.
+# * The `profile` module, among other issues, generates a huge number (>10000) of dependency.bad
+# errors. This is due to unmodified (or minimally modified) ebuilds from Gentoo upstream that
+# depend on ebuilds not present in coreos-overlay or portage-stable. These dependencies are hidden
+# behind USE flags or otherwise unused in Container Linux, so the missing ebuilds aren't a
+# problem, but the amount of noise generated by this module makes it unusable.
+#
+# TODO(csssuf): The `profile` module also contains the LICENSE.invalid check which _is_ valuable
+# for Container Linux, but repoman currently provides no way to disable checks individually; they
+# can only be marked as warnings, or their containing modules disabled entirely. Unfortunately the
+# `profile` module contains so much noise that leaving it enabled isn't an option, so we lose the
+# ability to use the LICENSE.invalid check too. If/when repoman has a fix for this, use it.
+scan_modules:
+ description
+ eapi
+ ebuild_metadata
+ fetches
+ files
+ -keywords
+ live
+ manifests
+ multicheck
+ -pkgmetadata
+ -profile
+ restrict
+ ruby
+
+linechecks_modules:
+ assignment
+ eapi3assignment
+ implicitdepend
+ hasq
+ useq
+ preservelib
+ bindnow
+ inherit
+ dosym
+ definition
+ srcprepare
+ eapi3deprecated
+ pkgpretend
+ eapi4incompatible
+ eapi4gonevars
+ paralleldisabled
+ autodefault
+ -gentooheader
+ nooffset
+ nesteddie
+ patches
+ emakeparallel
+ srccompileeconf
+ srcunpackpatches
+ portageinternal
+ portageinternalvariableassignment
+ quote
+ quoteda
+ httpsuri
+ builtwith
+ uselesscds
+ uselessdodoc
+ whitespace
+ blankline
+ addpredict
+ noasneeded
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/Manifest b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/Manifest
new file mode 100644
index 0000000000..61a62a595d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/Manifest
@@ -0,0 +1 @@
+DIST ebtables-2.0.11.tar.gz 428411 BLAKE2B 62af4c38ad21498e43f41ef96c8abb5704e8d8a48f1327c587b664f36fdfa9849a9a37e59958db56d38019465d8bf1775914f7387fde99a441615913702cf504 SHA512 43a04c6174c8028c501591ef260526297e0f018016f226e2a3bcf80766fddf53d4605c347554d6da7c4ab5e2131584a18da20916ffddcbf2d26ac93b00c5777f
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/ebtables-2.0.11-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/ebtables-2.0.11-r3.ebuild
new file mode 100644
index 0000000000..bf33af5eb1
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/ebtables-2.0.11-r3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools
+
+MY_PV="$(ver_rs 3 '-' )"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Controls Ethernet frame filtering on a Linux bridge, MAC NAT and brouting"
+HOMEPAGE="https://ebtables.netfilter.org/"
+SRC_URI="http://ftp.netfilter.org/pub/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 ~riscv x86"
+IUSE="+perl static"
+
+BDEPEND=">=app-eselect/eselect-iptables-20200508"
+# The ebtables-save script is written in perl.
+RDEPEND="${BDEPEND}
+ perl? ( dev-lang/perl )
+ net-misc/ethertypes"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.11-makefile.patch"
+
+ # Enhance ebtables-save to take table names as parameters bug #189315
+ "${FILESDIR}/${PN}-2.0.11-ebt-save.patch"
+
+ # from upstream git
+ "${FILESDIR}/ebtables-2.0.11-remove-stray-atsign.patch"
+)
+
+pkg_setup() {
+ if use static; then
+ ewarn "You've chosen static build which is useful for embedded devices."
+ ewarn "It has no init script. Make sure that's really what you want."
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Don't install perl scripts if USE=perl is disabled.
+ if ! use perl; then
+ sed -i -e '/^sbin_SCRIPTS/ d' Makefile.am || die
+ fi
+
+ # The bundled autotools are borked, so force a rebuild.
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --bindir="/bin" \
+ --sbindir="/sbin" \
+ --libdir="/$(get_libdir)/${PN}" \
+ $(use_enable static)
+}
+
+src_compile() {
+ emake $(usex static 'static ebtables-legacy.8' '')
+}
+
+src_install() {
+ local -a DOCS=( ChangeLog THANKS )
+
+ if ! use static; then
+ emake DESTDIR="${D}" install
+ newinitd "${FILESDIR}"/ebtables.initd-r1 ebtables
+ newconfd "${FILESDIR}"/ebtables.confd-r1 ebtables
+
+ find "${D}" -name '*.la' -type f -delete || die
+
+ # The ethertypes package installs this for us.
+ rm "${ED}"/etc/ethertypes || die
+ else
+ into /
+ newsbin static ebtables
+ fi
+
+ newman ebtables-legacy.8 ebtables.8
+ einstalldocs
+}
+
+pkg_postinst() {
+ # Flatcar: Use the xtables-nft-multi to use the nft_backend instead of the legacy
+ if ! eselect ebtables show &>/dev/null; then
+ elog "Current ebtables implementation is unset, setting to xtables-nft-multi"
+ eselect ebtables set xtables-nft-multi
+ fi
+
+ eselect ebtables show
+}
+
+pkg_prerm() {
+ if [[ -z ${REPLACED_BY_VERSION} ]] && has_version 'net-firewall/iptables[nftables]'; then
+ elog "Resetting ebtables symlinks to xtables-nft-multi before removal"
+ eselect ebtables set xtables-nft-multi
+ else
+ elog "Unsetting ebtables symlinks before removal"
+ eselect ebtables unset
+ fi
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables-2.0.11-ebt-save.patch b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables-2.0.11-ebt-save.patch
new file mode 100644
index 0000000000..7cfe128bab
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables-2.0.11-ebt-save.patch
@@ -0,0 +1,26 @@
+diff --git a/ebtables-save.in b/ebtables-save.in
+index 17924a2..c7a64c3 100644
+--- a/ebtables-save.in
++++ b/ebtables-save.in
+@@ -12,6 +12,7 @@ my $ebtables = "@sbindir@/ebtables";
+ my $cnt = "";
+ my $version = "1.0";
+ my $table_name;
++my @table_names;
+
+ # ========================================================
+ # Process filter table
+@@ -49,6 +50,13 @@ sub process_table {
+ }
+ # ========================================================
+
++if ($#ARGV + 1 == 0) {
++ @table_names =split("\n", `grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//`);
++}
++else {
++ @table_names = @ARGV;
++}
++# ========================================================
+ unless (-x $ebtables) { exit -1 };
+ print "# Generated by ebtables-save v$version (legacy) on " . `date`;
+ if (defined($ENV{'EBTABLES_SAVE_COUNTER'}) && $ENV{'EBTABLES_SAVE_COUNTER'} eq "yes") {
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables-2.0.11-makefile.patch b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables-2.0.11-makefile.patch
new file mode 100644
index 0000000000..dc9be9e7d6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables-2.0.11-makefile.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.am b/Makefile.am
+index 6181003..de01139 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -50,7 +50,7 @@ ebtables_legacy_LDADD = libebtc.la
+ ebtablesd_LDADD = libebtc.la
+ ebtables_legacy_restore_SOURCES = ebtables-restore.c
+ ebtables_legacy_restore_LDADD = libebtc.la
+-static_SOURCES = ebtables.c
++static_SOURCES = ebtables.c ebtables-standalone.c
+ static_LDFLAGS = -static
+ static_LDADD = libebtc.la
+ examples_ulog_test_ulog_SOURCES = examples/ulog/test_ulog.c getethertype.c
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables-2.0.11-remove-stray-atsign.patch b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables-2.0.11-remove-stray-atsign.patch
new file mode 100644
index 0000000000..88f1d72965
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables-2.0.11-remove-stray-atsign.patch
@@ -0,0 +1,32 @@
+From 7d00e58157bc61168a057cde91a6e5b54dca573b Mon Sep 17 00:00:00 2001
+From: Jan Engelhardt
+Date: Mon, 2 Dec 2019 20:52:04 +0100
+Subject: build: remove stray @ sign in manpage
+
+Because the sed command was not matching the trailing @, it
+was left in the manpage, leading to
+
+NAME
+ ebtables-legacy (2.0.11@) - Ethernet bridge frame table administration (legacy)
+
+Signed-off-by: Jan Engelhardt
+Signed-off-by: Pablo Neira Ayuso
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index b879941..6181003 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -64,6 +64,6 @@ ebtables-legacy-save: ebtables-save.in ${top_builddir}/config.status
+ ${AM_V_GEN}sed -e 's![@]sbindir@!${sbindir}!g' <$< >$@
+
+ ebtables-legacy.8: ebtables-legacy.8.in ${top_builddir}/config.status
+- ${AM_V_GEN}sed -e 's![@]PACKAGE_VERSION!${PACKAGE_VERSION}!g' \
++ ${AM_V_GEN}sed -e 's![@]PACKAGE_VERSION@!${PACKAGE_VERSION}!g' \
+ -e 's![@]PACKAGE_DATE@!${PROGDATE}!g' \
+ -e 's![@]LOCKFILE@!${LOCKFILE}!g' <$< >$@
+--
+cgit v1.2.1
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables.confd-r1 b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables.confd-r1
new file mode 100644
index 0000000000..8e83c81b9f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables.confd-r1
@@ -0,0 +1,19 @@
+# /etc/conf.d/ebtables
+
+# Location in which ebtables initscript will save set rules on
+# service shutdown
+EBTABLES_SAVE="/var/lib/ebtables/rules-save"
+
+# Options to pass to ebtables-save and ebtables-restore
+SAVE_RESTORE_OPTIONS=""
+
+# Save state on stopping ebtables
+SAVE_ON_STOP="yes"
+
+# If you need to log iptables messages as soon as iptables starts,
+# AND your logger does NOT depend on the network, then you may wish
+# to uncomment the next line.
+# If your logger depends on the network, and you uncomment this line
+# you will create an unresolvable circular dependency during startup.
+# After commenting or uncommenting this line, you must run 'rc-update -u'.
+#rc_use="logger"
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables.initd-r1 b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables.initd-r1
new file mode 100644
index 0000000000..bdc0987b1b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/files/ebtables.initd-r1
@@ -0,0 +1,101 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="save panic"
+extra_started_commands="reload"
+
+ebtables_bin="/sbin/ebtables"
+ebtables_save=${EBTABLES_SAVE}
+
+depend() {
+ before net
+}
+
+ebtables_tables() {
+ local table
+ for table in filter nat broute; do
+ if ${ebtables_bin} -t ${table} -L > /dev/null 2>&1; then
+ printf '%s' "${table} "
+ fi
+ done
+}
+
+set_table_policy() {
+ local chains table=$1 policy=$2
+ case ${table} in
+ nat) chains="PREROUTING POSTROUTING OUTPUT";;
+ broute) chains="BROUTING";;
+ filter) chains="INPUT FORWARD OUTPUT";;
+ *) chains="";;
+ esac
+ local chain
+ for chain in ${chains} ; do
+ ${ebtables_bin} -t ${table} -P ${chain} ${policy}
+ done
+}
+
+checkconfig() {
+ if [ ! -f ${ebtables_save} ] ; then
+ eerror "Not starting ebtables. First create some rules then run:"
+ eerror "/etc/init.d/ebtables save"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Loading ebtables state and starting bridge firewall"
+ ${ebtables_bin}-restore ${SAVE_RESTORE_OPTIONS} < "${ebtables_save}"
+ eend $?
+}
+
+stop() {
+ if [ "${SAVE_ON_STOP}" = "yes" ] ; then
+ save || return 1
+ fi
+ ebegin "Stopping bridge firewall"
+ local a
+ for a in $(ebtables_tables); do
+ set_table_policy $a ACCEPT
+
+ ${ebtables_bin} -t $a -F
+ ${ebtables_bin} -t $a -X
+ done
+ eend $?
+}
+
+reload() {
+ ebegin "Flushing bridge firewall"
+ local a
+ for a in $(ebtables_tables); do
+ ${ebtables_bin} -t $a -F
+ ${ebtables_bin} -t $a -X
+ done
+ eend $?
+
+ start
+}
+
+save() {
+ ebegin "Saving ebtables state"
+ checkpath -d -m 0755 "${ebtables_save%/*}"
+ checkpath -f -m 0600 "${ebtables_save}"
+ ${ebtables_bin}-save $(ebtables_tables) ${SAVE_RESTORE_OPTIONS} > "${ebtables_save}"
+ eend $?
+}
+
+panic() {
+ service_started ebtables && svc_stop
+
+ local a
+ ebegin "Dropping all packets forwarded on bridges"
+ for a in $(ebtables_tables); do
+ ${ebtables_bin} -t $a -F
+ ${ebtables_bin} -t $a -X
+
+ set_table_policy $a DROP
+ done
+ eend $?
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/metadata.xml b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/metadata.xml
new file mode 100644
index 0000000000..3386c21e01
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/ebtables/metadata.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+
+
+ ebtables
+ cpe:/a:netfilter:ebtables
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/Manifest b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/Manifest
new file mode 100644
index 0000000000..20be9ec24c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/Manifest
@@ -0,0 +1 @@
+DIST iptables-1.8.7.tar.bz2 717862 BLAKE2B fd4dcff142eaadde2a14ce3eb5e45d41c326752553b52900c77fd2e2a20c0685d0a04b95755995e914df47658834d52216d6465c2ae9cd6abc6eb122b95cc976 SHA512 c0a33fafbf1139157a9f52860938ebedc282a1394a68dcbd58981159379eb525919f999b25925f2cb4d6b18089bd99a94b00b3e73cff5cb0a0e47bdff174ed75
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/ip6tables-r1.confd b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/ip6tables-r1.confd
new file mode 100644
index 0000000000..e608f41d1e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/ip6tables-r1.confd
@@ -0,0 +1,27 @@
+# /etc/conf.d/ip6tables
+
+# Set wait option for xtables lock in seconds
+# DEFAULT: 60
+#IPTABLES_LOCK_WAIT_TIME="60"
+
+# Set wait interval option for xtables lock in microseconds
+# DEFAULT: 1000
+#IPTABLES_LOCK_WAIT_INTERVAL="1000"
+
+# Location in which ip6tables initscript will save set rules on
+# service shutdown
+IP6TABLES_SAVE="/var/lib/ip6tables/rules-save"
+
+# Options to pass to ip6tables-save and ip6tables-restore
+SAVE_RESTORE_OPTIONS="-c"
+
+# Save state on stopping ip6tables
+SAVE_ON_STOP="yes"
+
+# If you need to log ip6tables messages as soon as ip6tables starts,
+# AND your logger does NOT depend on the network, then you may wish
+# to uncomment the next line.
+# If your logger depends on the network, and you uncomment this line
+# you will create an unresolvable circular dependency during startup.
+# After commenting or uncommenting this line, you must run 'rc-update -u'.
+#rc_use="logger"
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-1.8.2-link.patch b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-1.8.2-link.patch
new file mode 100644
index 0000000000..c20f2e54b8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-1.8.2-link.patch
@@ -0,0 +1,24 @@
+From ee4fc7c558d9eb9c37035250046d4eac9af3fa28 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping
+Date: Thu, 27 Dec 2018 23:47:33 +0100
+Subject: [PATCH] Fix link errors for USE="conntrack static-libs" (bug #586106)
+
+---
+ iptables/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/iptables/Makefile.am b/iptables/Makefile.am
+index 581dc32..2c3db86 100644
+--- a/iptables/Makefile.am
++++ b/iptables/Makefile.am
+@@ -26,6 +26,7 @@ xtables_legacy_multi_LDADD += ../libiptc/libip6tc.la ../extensions/libext6.a
+ endif
+ xtables_legacy_multi_SOURCES += xshared.c
+ xtables_legacy_multi_LDADD += ../libxtables/libxtables.la -lm
++xtables_legacy_multi_LDADD += ${libnetfilter_conntrack_LIBS}
+
+ # iptables using nf_tables api
+ if ENABLE_NFTABLES
+--
+2.19.1
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-1.8.4-no-symlinks.patch b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-1.8.4-no-symlinks.patch
new file mode 100644
index 0000000000..349a01abd5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-1.8.4-no-symlinks.patch
@@ -0,0 +1,19 @@
+diff --git a/iptables/Makefile.am b/iptables/Makefile.am
+index 71b1b1d4..30c77f9a 100644
+--- a/iptables/Makefile.am
++++ b/iptables/Makefile.am
+@@ -71,12 +71,10 @@ CLEANFILES = iptables.8 xtables-monitor.8 \
+
+ vx_bin_links = iptables-xml
+ if ENABLE_IPV4
+-v4_sbin_links = iptables-legacy iptables-legacy-restore iptables-legacy-save \
+- iptables iptables-restore iptables-save
++v4_sbin_links = iptables-legacy iptables-legacy-restore iptables-legacy-save
+ endif
+ if ENABLE_IPV6
+-v6_sbin_links = ip6tables-legacy ip6tables-legacy-restore ip6tables-legacy-save \
+- ip6tables ip6tables-restore ip6tables-save
++v6_sbin_links = ip6tables-legacy ip6tables-legacy-restore ip6tables-legacy-save
+ endif
+ if ENABLE_NFTABLES
+ x_sbin_links = iptables-nft iptables-nft-restore iptables-nft-save \
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-r1.confd b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-r1.confd
new file mode 100644
index 0000000000..d5055e0a5d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-r1.confd
@@ -0,0 +1,27 @@
+# /etc/conf.d/iptables
+
+# Set wait option for xtables lock in seconds
+# DEFAULT: 60
+#IPTABLES_LOCK_WAIT_TIME="60"
+
+# Set wait interval option for xtables lock in microseconds
+# DEFAULT: 1000
+#IPTABLES_LOCK_WAIT_INTERVAL="1000"
+
+# Location in which iptables initscript will save set rules on
+# service shutdown
+IPTABLES_SAVE="/var/lib/iptables/rules-save"
+
+# Options to pass to iptables-save and iptables-restore
+SAVE_RESTORE_OPTIONS="-c"
+
+# Save state on stopping iptables
+SAVE_ON_STOP="yes"
+
+# If you need to log iptables messages as soon as iptables starts,
+# AND your logger does NOT depend on the network, then you may wish
+# to uncomment the next line.
+# If your logger depends on the network, and you uncomment this line
+# you will create an unresolvable circular dependency during startup.
+# After commenting or uncommenting this line, you must run 'rc-update -u'.
+#rc_use="logger"
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-r2.init b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-r2.init
new file mode 100644
index 0000000000..3dcabb0dfb
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/iptables-r2.init
@@ -0,0 +1,165 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="check save panic"
+extra_started_commands="reload"
+
+iptables_lock_wait_time=${IPTABLES_LOCK_WAIT_TIME:-"60"}
+iptables_lock_wait_interval=${IPTABLES_LOCK_WAIT_INTERVAL:-"1000"}
+
+iptables_name=${SVCNAME}
+case ${iptables_name} in
+ iptables|ip6tables) ;;
+ *) iptables_name="iptables" ;;
+esac
+
+iptables_bin="/sbin/${iptables_name}"
+case ${iptables_name} in
+ iptables) iptables_proc="/proc/net/ip_tables_names"
+ iptables_save=${IPTABLES_SAVE};;
+ ip6tables) iptables_proc="/proc/net/ip6_tables_names"
+ iptables_save=${IP6TABLES_SAVE};;
+esac
+
+depend() {
+ need localmount #434774
+ before net
+}
+
+set_table_policy() {
+ local has_errors=0 chains table=$1 policy=$2
+ case ${table} in
+ nat) chains="PREROUTING POSTROUTING OUTPUT";;
+ mangle) chains="PREROUTING INPUT FORWARD OUTPUT POSTROUTING";;
+ filter) chains="INPUT FORWARD OUTPUT";;
+ *) chains="";;
+ esac
+
+ local chain
+ for chain in ${chains} ; do
+ ${iptables_bin} --wait ${iptables_lock_wait_time} --wait-interval ${iptables_lock_wait_interval} -t ${table} -P ${chain} ${policy}
+ [ $? -ne 0 ] && has_errors=1
+ done
+
+ return ${has_errors}
+}
+
+checkkernel() {
+ if [ ! -e ${iptables_proc} ] ; then
+ eerror "Your kernel lacks ${iptables_name} support, please load"
+ eerror "appropriate modules and try again."
+ return 1
+ fi
+ return 0
+}
+
+checkconfig() {
+ if [ -z "${iptables_save}" -o ! -f "${iptables_save}" ] ; then
+ eerror "Not starting ${iptables_name}. First create some rules then run:"
+ eerror "/etc/init.d/${iptables_name} save"
+ return 1
+ fi
+ return 0
+}
+
+start_pre() {
+ checkconfig || return 1
+}
+
+start() {
+ ebegin "Loading ${iptables_name} state and starting firewall"
+ ${iptables_bin}-restore --wait ${iptables_lock_wait_time} --wait-interval ${iptables_lock_wait_interval} ${SAVE_RESTORE_OPTIONS} < "${iptables_save}"
+ eend $?
+}
+
+stop_pre() {
+ checkkernel || return 1
+}
+
+stop() {
+ if [ "${SAVE_ON_STOP}" = "yes" ] ; then
+ save || return 1
+ fi
+
+ ebegin "Stopping firewall"
+ local has_errors=0 a
+ for a in $(cat ${iptables_proc}) ; do
+ set_table_policy $a ACCEPT
+ [ $? -ne 0 ] && has_errors=1
+
+ ${iptables_bin} --wait ${iptables_lock_wait_time} --wait-interval ${iptables_lock_wait_interval} -F -t $a
+ [ $? -ne 0 ] && has_errors=1
+
+ ${iptables_bin} --wait ${iptables_lock_wait_time} --wait-interval ${iptables_lock_wait_interval} -X -t $a
+ [ $? -ne 0 ] && has_errors=1
+ done
+ eend ${has_errors}
+}
+
+reload() {
+ checkkernel || return 1
+ checkrules || return 1
+ ebegin "Flushing firewall"
+ local has_errors=0 a
+ for a in $(cat ${iptables_proc}) ; do
+ ${iptables_bin} --wait ${iptables_lock_wait_time} --wait-interval ${iptables_lock_wait_interval} -F -t $a
+ [ $? -ne 0 ] && has_errors=1
+
+ ${iptables_bin} --wait ${iptables_lock_wait_time} --wait-interval ${iptables_lock_wait_interval} -X -t $a
+ [ $? -ne 0 ] && has_errors=1
+ done
+ eend ${has_errors}
+
+ start
+}
+
+checkrules() {
+ ebegin "Checking rules"
+ ${iptables_bin}-restore --test ${SAVE_RESTORE_OPTIONS} < "${iptables_save}"
+ eend $?
+}
+
+check() {
+ # Short name for users of init.d script.
+ checkrules
+}
+
+save() {
+ ebegin "Saving ${iptables_name} state"
+ checkpath -q -d "$(dirname "${iptables_save}")"
+ checkpath -q -m 0600 -f "${iptables_save}"
+ ${iptables_bin}-save ${SAVE_RESTORE_OPTIONS} > "${iptables_save}"
+ eend $?
+}
+
+panic() {
+ # use iptables autoload capability to load at least all required
+ # modules and filter table
+ ${iptables_bin} --wait ${iptables_lock_wait_time} --wait-interval ${iptables_lock_wait_interval} -S >/dev/null
+ if [ $? -ne 0 ] ; then
+ eerror "${iptables_bin} failed to load"
+ return 1
+ fi
+
+ if service_started ${iptables_name}; then
+ rc-service ${iptables_name} stop
+ fi
+
+ local has_errors=0 a
+ ebegin "Dropping all packets"
+ for a in $(cat ${iptables_proc}) ; do
+ ${iptables_bin} --wait ${iptables_lock_wait_time} --wait-interval ${iptables_lock_wait_interval} -F -t $a
+ [ $? -ne 0 ] && has_errors=1
+
+ ${iptables_bin} --wait ${iptables_lock_wait_time} --wait-interval ${iptables_lock_wait_interval} -X -t $a
+ [ $? -ne 0 ] && has_errors=1
+
+ if [ "${a}" != "nat" ]; then
+ # The "nat" table is not intended for filtering, the use of DROP is therefore inhibited.
+ set_table_policy $a DROP
+ [ $? -ne 0 ] && has_errors=1
+ fi
+ done
+ eend ${has_errors}
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/ip6tables-restore.service b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/ip6tables-restore.service
new file mode 100644
index 0000000000..921b691296
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/ip6tables-restore.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Restore ip6tables firewall rules
+# if both are queued for some reason, don't store before restoring :)
+Before=ip6tables-store.service
+# sounds reasonable to have firewall up before any of the services go up
+Before=network-pre.target
+Wants=network-pre.target
+
+[Service]
+Type=oneshot
+ExecStart=/sbin/ip6tables-restore -w -- /var/lib/ip6tables/rules-save
+
+[Install]
+WantedBy=basic.target
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/ip6tables-store.service b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/ip6tables-store.service
new file mode 100644
index 0000000000..9975378353
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/ip6tables-store.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Store ip6tables firewall rules
+Before=shutdown.target
+DefaultDependencies=No
+
+[Service]
+Type=oneshot
+ExecStart=/bin/sh -c "/sbin/ip6tables-save --counters > /var/lib/ip6tables/rules-save"
+
+[Install]
+WantedBy=shutdown.target
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/ip6tables.service b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/ip6tables.service
new file mode 100644
index 0000000000..0a6d7fa1c8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/ip6tables.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=Store and restore ip6tables firewall rules
+
+[Install]
+Also=ip6tables-store.service
+Also=ip6tables-restore.service
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/iptables-restore.service b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/iptables-restore.service
new file mode 100644
index 0000000000..a9e5679354
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/iptables-restore.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Restore iptables firewall rules
+# if both are queued for some reason, don't store before restoring :)
+Before=iptables-store.service
+# sounds reasonable to have firewall up before any of the services go up
+Before=network-pre.target
+Wants=network-pre.target
+
+[Service]
+Type=oneshot
+ExecStart=/sbin/iptables-restore -w -- /var/lib/iptables/rules-save
+
+[Install]
+WantedBy=basic.target
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/iptables-store.service b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/iptables-store.service
new file mode 100644
index 0000000000..aa16e75e9c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/iptables-store.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Store iptables firewall rules
+Before=shutdown.target
+DefaultDependencies=No
+
+[Service]
+Type=oneshot
+ExecStart=/bin/sh -c "/sbin/iptables-save --counters > /var/lib/iptables/rules-save"
+
+[Install]
+WantedBy=shutdown.target
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/iptables.service b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/iptables.service
new file mode 100644
index 0000000000..3643a3e310
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/files/systemd/iptables.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=Store and restore iptables firewall rules
+
+[Install]
+Also=iptables-store.service
+Also=iptables-restore.service
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/iptables-1.8.7.ebuild b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/iptables-1.8.7.ebuild
new file mode 100644
index 0000000000..bcf9182795
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/iptables-1.8.7.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib systemd toolchain-funcs autotools flag-o-matic usr-ldscript
+
+DESCRIPTION="Linux kernel (2.4+) firewall, NAT and packet mangling tools"
+HOMEPAGE="https://www.netfilter.org/projects/iptables/"
+SRC_URI="https://www.netfilter.org/projects/iptables/files/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+# Subslot reflects PV when libxtables and/or libip*tc was changed
+# the last time.
+SLOT="0/1.8.3"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="conntrack ipv6 netlink nftables pcap static-libs"
+
+BUILD_DEPEND="
+ >=app-eselect/eselect-iptables-20200508
+"
+COMMON_DEPEND="
+ conntrack? ( >=net-libs/libnetfilter_conntrack-1.0.6 )
+ netlink? ( net-libs/libnfnetlink )
+ nftables? (
+ >=net-libs/libmnl-1.0:0=
+ >=net-libs/libnftnl-1.1.6:0=
+ )
+ pcap? ( net-libs/libpcap )
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/os-headers
+ >=sys-kernel/linux-headers-4.4:0
+"
+BDEPEND="${BUILD_DEPEND}
+ app-eselect/eselect-iptables
+ virtual/pkgconfig
+ nftables? (
+ sys-devel/flex
+ virtual/yacc
+ )
+"
+# Flatcar: Drop BUILD_DEPEND, as we would not like to ship
+# eselect in the final image. Also, drop net-firewall/arptables as we don't
+# ship arptables
+RDEPEND="${COMMON_DEPEND}
+ nftables? ( net-misc/ethertypes )
+ !/dev/null; then
+ elog "Current iptables implementation is unset, setting to ${default_iptables}"
+ eselect iptables set "${default_iptables}"
+ fi
+ # Flatcar: Drop the arptables, but retain the `for` structure in favor of lesser diff
+ # to upstream
+ if use nftables; then
+ local tables
+ for tables in ebtables; do
+ if ! eselect ${tables} show &>/dev/null; then
+ elog "Current ${tables} implementation is unset, setting to ${default_iptables}"
+ eselect ${tables} set "${default_iptables}"
+ fi
+ done
+ fi
+
+ eselect iptables show
+}
+
+pkg_prerm() {
+ elog "Unsetting iptables symlinks before removal"
+ eselect iptables unset
+
+ if ! has_version 'net-firewall/ebtables'; then
+ elog "Unsetting ebtables symlinks before removal"
+ eselect ebtables unset
+ fi
+
+ # the eselect module failing should not be fatal
+ return 0
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/metadata.xml b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/metadata.xml
new file mode 100644
index 0000000000..0b5f57f8bf
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/iptables/metadata.xml
@@ -0,0 +1,29 @@
+
+
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+
+
+ iptables is the userspace command line program used to set up, maintain, and
+ inspect the tables of IPv4 packet filter rules in the Linux kernel. It's a
+ part of packet filtering framework which allows the stateless and stateful
+ packet filtering, all kinds of network address and port translation, and is a
+ flexible and extensible infrastructure with multiple layers of API's for 3rd
+ party extensions. The iptables package also includes ip6tables. ip6tables is
+ used for configuring the IPv6 packet filter.
+
+ Note that some extensions (e.g. imq and l7filter) are not included into
+ official kernel sources so you have to patch the sources before installation.
+
+
+ cpe:/a:netfilter_core_team:iptables
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/Manifest b/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/Manifest
new file mode 100644
index 0000000000..b81c0121c4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/Manifest
@@ -0,0 +1 @@
+DIST nftables-0.9.9.tar.bz2 922624 BLAKE2B 8de2709576a26ca84a8d694f7cb06cad2bb2fb4671ba21ffc32c0d5997e8124ae7cd794dafddf4db48d8a49c280b48b07d2a31b6c18f6647fdb67cfe7f065b61 SHA512 dfdd3ffc0ffc1742ca0494a3f8fac1c7b2fe942849e60d33fc3cb8a51e27bd39e1ccfeda2195191377a32bb5363ea244f4c3e71b4a6d930f33bf87e17a534fab
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/files/nftables-0.9.8-slibtool.patch b/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/files/nftables-0.9.8-slibtool.patch
new file mode 100644
index 0000000000..a92645f793
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/files/nftables-0.9.8-slibtool.patch
@@ -0,0 +1,13 @@
+This fixes build with sys-devel/slibtool
+
+--- nftables-0.9.8/src/Makefile.am
++++ nftables-0.9.8/src/Makefile.am
+@@ -90,7 +90,7 @@
+
+ libnftables_la_LIBADD = ${LIBMNL_LIBS} ${LIBNFTNL_LIBS} libparser.la
+ libnftables_la_LDFLAGS = -version-info ${libnftables_LIBVERSION} \
+- --version-script=$(srcdir)/libnftables.map
++ -Wl,--version-script=$(srcdir)/libnftables.map
+
+ if BUILD_MINIGMP
+ noinst_LTLIBRARIES += libminigmp.la
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/metadata.xml b/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/metadata.xml
new file mode 100644
index 0000000000..cdf267b12f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/metadata.xml
@@ -0,0 +1,22 @@
+
+
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+
+ prometheanfire@gentoo.org
+ Matthew Thode
+
+
+ klondike@gentoo.org
+ Francisco Blas Izquierdo Riera
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/nftables-0.9.9.ebuild b/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/nftables-0.9.9.ebuild
new file mode 100644
index 0000000000..559b1b5099
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-firewall/nftables/nftables-0.9.9.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_7 )
+
+inherit autotools linux-info python-r1 systemd
+
+DESCRIPTION="Linux kernel (3.13+) firewall, NAT and packet mangling tools"
+HOMEPAGE="https://netfilter.org/projects/nftables/"
+
+if [[ ${PV} =~ ^[9]{4,}$ ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.netfilter.org/${PN}"
+
+ BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ "
+else
+ SRC_URI="https://netfilter.org/projects/nftables/files/${P}.tar.bz2"
+ KEYWORDS="amd64 arm arm64 ~ia64 ppc ~ppc64 ~riscv sparc x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/1"
+IUSE="debug doc +gmp json libedit +modern-kernel python +readline static-libs xtables"
+
+RDEPEND="
+ >=net-libs/libmnl-1.0.4:0=
+ >=net-libs/libnftnl-1.2.0:0=
+ gmp? ( dev-libs/gmp:0= )
+ json? ( dev-libs/jansson:= )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ xtables? ( >=net-firewall/iptables-1.6.1 )
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND+="
+ doc? (
+ app-text/asciidoc
+ >=app-text/docbook2X-0.8.8-r4
+ )
+ virtual/pkgconfig
+"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ libedit? ( !readline )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.8-slibtool.patch"
+)
+
+python_make() {
+ emake \
+ -C py \
+ abs_builddir="${S}" \
+ DESTDIR="${D}" \
+ PYTHON_BIN="${PYTHON}" \
+ "${@}"
+}
+
+pkg_setup() {
+ if kernel_is ge 3 13; then
+ if use modern-kernel && kernel_is lt 3 18; then
+ eerror "The modern-kernel USE flag requires kernel version 3.18 or newer to work properly."
+ fi
+ CONFIG_CHECK="~NF_TABLES"
+ linux-info_pkg_setup
+ else
+ eerror "This package requires kernel version 3.13 or newer to work properly."
+ fi
+}
+
+src_prepare() {
+ default
+
+ # fix installation path for doc stuff
+ sed '/^pkgsysconfdir/s@${sysconfdir}.*$@${docdir}/skels@' \
+ -i files/nftables/Makefile.am || die
+ sed '/^pkgsysconfdir/s@${sysconfdir}.*$@${docdir}/skels/osf@' \
+ -i files/osf/Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ # We handle python separately
+ --disable-python
+ --sbindir="${EPREFIX}"/sbin
+ --sysconfdir="${EPREFIX}"/usr/share
+ $(use_enable debug)
+ $(use_enable doc man-doc)
+ $(use_with !gmp mini_gmp)
+ $(use_with json)
+ $(use_with libedit cli editline)
+ $(use_with readline cli readline)
+ $(use_enable static-libs static)
+ $(use_with xtables)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ python_foreach_impl python_make
+ fi
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/Manifest b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/Manifest
new file mode 100644
index 0000000000..1c3cfc61e7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/Manifest
@@ -0,0 +1 @@
+DIST nfs-utils-2.3.1.tar.bz2 854899 BLAKE2B f9541b9dc103d978f21d57d8ba0c14a3b30f6ba874b112239d014076c1c72b6654e8e02b4bfea686e658dac84d1e896b872bc2054591275ef1713ae4e7b7d005 SHA512 de3e70f8656bc5b5aa98262685a9e80929c6314234d9bbb74d4c7efcb7a8b2640d48d2100850b403157ebefc8f0eb48598b48238fae795f64c7a0e9a8bff93e3
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch
new file mode 100644
index 0000000000..c9e60afc74
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch
@@ -0,0 +1,39 @@
+ripped from Debian
+
+--- nfs-utils-1.1.4/utils/mount/fstab.c
++++ nfs-utils-1.1.4/utils/mount/fstab.c
+@@ -57,7 +57,7 @@ mtab_does_not_exist(void) {
+ return var_mtab_does_not_exist;
+ }
+
+-static int
++int
+ mtab_is_a_symlink(void) {
+ get_mtab_info();
+ return var_mtab_is_a_symlink;
+--- nfs-utils-1.1.4/utils/mount/fstab.h
++++ nfs-utils-1.1.4/utils/mount/fstab.h
+@@ -7,6 +7,7 @@
+ #define _PATH_FSTAB "/etc/fstab"
+ #endif
+
++int mtab_is_a_symlink(void);
+ int mtab_is_writable(void);
+ int mtab_does_not_exist(void);
+ void reset_mtab_info(void);
+--- nfs-utils-1.1.4/utils/mount/mount.c
++++ nfs-utils-1.1.4/utils/mount/mount.c
+@@ -230,6 +230,13 @@ create_mtab (void) {
+ int flags;
+ mntFILE *mfp;
+
++ /* Avoid writing if the mtab is a symlink to /proc/mounts, since
++ that would create a file /proc/mounts in case the proc filesystem
++ is not mounted, and the fchmod below would also fail. */
++ if (mtab_is_a_symlink()) {
++ return EX_SUCCESS;
++ }
++
+ lock_mtab();
+
+ mfp = nfs_setmntent (MOUNTED, "a+");
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils-1.2.8-cross-build.patch b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils-1.2.8-cross-build.patch
new file mode 100644
index 0000000000..7317115a0e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils-1.2.8-cross-build.patch
@@ -0,0 +1,48 @@
+this is kind of hacky, but automake doesn't make this easy
+for us atm, so hack away :(
+
+(recent autotools will always add $(CFLAGS)/etc... to the compile)
+
+--- a/tools/locktest/Makefile.am
++++ b/tools/locktest/Makefile.am
+@@ -1,12 +1,11 @@
+ ## Process this file with automake to produce Makefile.in
+
+ CC=$(CC_FOR_BUILD)
+-LIBTOOL = @LIBTOOL@ --tag=CC
++CFLAGS=$(CFLAGS_FOR_BUILD)
++CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++LDFLAGS=$(LDFLAGS_FOR_BUILD)
+
+ noinst_PROGRAMS = testlk
+ testlk_SOURCES = testlk.c
+-testlk_CFLAGS=$(CFLAGS_FOR_BUILD)
+-testlk_CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
+-testlk_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+
+ MAINTAINERCLEANFILES = Makefile.in
+--- a/tools/rpcgen/Makefile.am
++++ b/tools/rpcgen/Makefile.am
+@@ -1,7 +1,9 @@
+ ## Process this file with automake to produce Makefile.in
+
+ CC=$(CC_FOR_BUILD)
+-LIBTOOL = @LIBTOOL@ --tag=CC
++CFLAGS=$(CFLAGS_FOR_BUILD)
++CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++LDFLAGS=$(LDFLAGS_FOR_BUILD)
+
+ noinst_PROGRAMS = rpcgen
+ rpcgen_SOURCES = rpc_clntout.c rpc_cout.c rpc_hout.c rpc_main.c \
+@@ -9,10 +11,6 @@
+ rpc_util.c rpc_sample.c rpc_output.h rpc_parse.h \
+ rpc_scan.h rpc_util.h
+
+-rpcgen_CFLAGS=$(CFLAGS_FOR_BUILD)
+-rpcgen_CPPLAGS=$(CPPFLAGS_FOR_BUILD)
+-rpcgen_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+-rpcgen_LDADD=$(LIBTIRPC)
+
+ MAINTAINERCLEANFILES = Makefile.in
+
+ EXTRA_DIST = rpcgen.new.1
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils-2.3.1-svcgssd_undefined_reference.patch b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils-2.3.1-svcgssd_undefined_reference.patch
new file mode 100644
index 0000000000..77c902f272
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils-2.3.1-svcgssd_undefined_reference.patch
@@ -0,0 +1,40 @@
+From 1451d7585bf1c622658ccc04abac7e79ffe40263 Mon Sep 17 00:00:00 2001
+From: Justin Mitchell
+Date: Mon, 8 Jan 2018 09:14:11 -0500
+Subject: [PATCH] svcgssd: Update svcgssd so that it builds
+
+Since a15bd948 the --enable-svcgss option no longer builds
+as svcgssd references functions which were changed at that time.
+Fix those, and other function changes since then.
+
+Signed-off-by: Justin Mitchell
+Signed-off-by: Steve Dickson
+---
+ utils/gssd/svcgssd.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/utils/gssd/svcgssd.c b/utils/gssd/svcgssd.c
+index 3514ae1..23f0c0b 100644
+--- a/utils/gssd/svcgssd.c
++++ b/utils/gssd/svcgssd.c
+@@ -63,6 +63,8 @@
+ #include "err_util.h"
+ #include "conffile.h"
+
++struct state_paths etab;
++
+ void
+ sig_die(int signal)
+ {
+@@ -101,7 +103,7 @@ main(int argc, char *argv[])
+ char *principal = NULL;
+ char *s;
+
+- conf_init(NFS_CONFFILE);
++ conf_init_file(NFS_CONFFILE);
+
+ s = conf_get_str("svcgssd", "principal");
+ if (!s)
+--
+1.8.3.1
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils.conf b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils.conf
new file mode 100644
index 0000000000..02737e2f51
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/files/nfs-utils.conf
@@ -0,0 +1,9 @@
+d /var/lib/nfs/rpc_pipefs
+d /var/lib/nfs/v4recovery
+d /var/lib/nfs/v4root
+C /var/lib/nfs/etab - - - - /usr/lib64/nfs/etab
+C /var/lib/nfs/rmtab - - - - /usr/lib64/nfs/rmtab
+C /var/lib/nfs/sm - - - - /usr/lib64/nfs/sm
+C /var/lib/nfs/sm.bak - - - - /usr/lib64/nfs/sm.bak
+C /var/lib/nfs/state - - - - /usr/lib64/nfs/state
+C /var/lib/nfs/xtab - - - - /usr/lib64/nfs/xtab
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/metadata.xml b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/metadata.xml
new file mode 100644
index 0000000000..45351e4463
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/metadata.xml
@@ -0,0 +1,22 @@
+
+
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+ NFS client and server daemons
+
+
+ nfs
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/nfs-utils-2.3.1-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/nfs-utils-2.3.1-r3.ebuild
new file mode 100644
index 0000000000..2164415198
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/nfs-utils/nfs-utils-2.3.1-r3.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic multilib systemd
+
+DESCRIPTION="NFS client and server daemons"
+HOMEPAGE="http://linux-nfs.org/"
+
+if [[ "${PV}" = *_rc* ]] ; then
+ inherit versionator
+ MY_PV="$(replace_all_version_separators -)"
+ SRC_URI="http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=snapshot;h=refs/tags/${PN}-${MY_PV};sf=tgz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${PN}-${MY_PV}"
+else
+ SRC_URI="mirror://sourceforge/nfs/${P}.tar.bz2"
+ KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="caps ipv6 kerberos ldap +libmount nfsdcld +nfsidmap +nfsv4 nfsv41 selinux tcpd +uuid"
+REQUIRED_USE="kerberos? ( nfsv4 )"
+RESTRICT="test" #315573
+
+# kth-krb doesn't provide the right include
+# files, and nfs-utils doesn't build against heimdal either,
+# so don't depend on virtual/krb.
+# (04 Feb 2005 agriffis)
+DEPEND_COMMON="
+ net-libs/libtirpc:=
+ >=net-nds/rpcbind-0.2.4
+ sys-libs/e2fsprogs-libs
+ caps? ( sys-libs/libcap )
+ ldap? ( net-nds/openldap )
+ libmount? ( sys-apps/util-linux )
+ nfsdcld? ( >=dev-db/sqlite-3.3 )
+ nfsv4? (
+ dev-libs/libevent:=
+ >=sys-apps/keyutils-1.5.9
+ kerberos? (
+ >=net-libs/libtirpc-0.2.4-r1[kerberos]
+ app-crypt/mit-krb5
+ )
+ )
+ nfsv41? (
+ sys-fs/lvm2
+ )
+ tcpd? ( sys-apps/tcp-wrappers )
+ uuid? ( sys-apps/util-linux )"
+RDEPEND="${DEPEND_COMMON}
+ !net-libs/libnfsidmap
+ !net-nds/portmap
+ ! id_resolver.conf
+ doins id_resolver.conf
+ fi
+
+ systemd_dotmpfilesd "${FILESDIR}"/nfs-utils.conf
+
+ # Provide an empty xtab for compatibility with the old tmpfiles config.
+ touch "${ED%/}"/usr/$(get_libdir)/nfs/xtab
+
+ # Maintain compatibility with the old gentoo systemd unit names, since nfs-utils has units upstream now.
+ dosym nfs-server.service "$(systemd_get_systemunitdir)"/nfsd.service
+ dosym nfs-idmapd.service "$(systemd_get_systemunitdir)"/rpc-idmapd.service
+ dosym nfs-mountd.service "$(systemd_get_systemunitdir)"/rpc-mountd.service
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/Manifest b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/Manifest
new file mode 100644
index 0000000000..d30cd1649f
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/Manifest
@@ -0,0 +1 @@
+DIST samba-4.12.9.tar.gz 18236198 BLAKE2B e19cbbbb8416626ca2fe769bf26f3645e94f23781538b3c5e1f94ce618efb807d0732e5591525ec066a31cc0211463b9b66105d1d499989012d624edaa2a132c SHA512 8bd3122bcaab2f5a16a73902a9b628384063a8116a08f0254541e05c148016839b3215c60ff0d3291a332e7884708950ad64137204b0ac19801012d3b6684fa6
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/4.4/samba4.confd b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/4.4/samba4.confd
new file mode 100644
index 0000000000..629a605021
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/4.4/samba4.confd
@@ -0,0 +1,45 @@
+# Add "winbind" to the daemon_list if you also want winbind to start.
+# Replace "smbd nmbd" by "samba4" if you want the active directory domain controller part or the ntvfs
+# file server part or the rpc proxy to start.
+# Note that samba4 controls 'smbd' by itself, thus it can't be started manually. You can, however,
+# tweak the behaviour of a samba4-controlled smbd by modifying your '/etc/samba/smb.conf' file
+# accordingly.
+daemon_list="smbd nmbd"
+
+piddir="/run/samba"
+
+#----------------------------------------------------------------------------
+# Daemons calls: _
+#----------------------------------------------------------------------------
+my_service_name="samba"
+my_service_PRE="unset TMP TMPDIR"
+my_service_POST=""
+
+#----------------------------------------------------------------------------
+# Daemons calls: _
+#----------------------------------------------------------------------------
+smbd_start_options="-D"
+smbd_command="/usr/sbin/smbd"
+smbd_start="start-stop-daemon --start --exec ${smbd_command} -- ${smbd_start_options}"
+smbd_stop="start-stop-daemon --stop --exec ${smbd_command}"
+smbd_reload="killall -HUP smbd"
+
+nmbd_start_options="-D"
+nmbd_command="/usr/sbin/nmbd"
+nmbd_start="start-stop-daemon --start --exec ${nmbd_command} -- ${nmbd_start_options}"
+nmbd_stop="start-stop-daemon --stop --exec ${nmbd_command}"
+nmbd_reload="killall -HUP nmbd"
+
+samba4_start_options=""
+samba4_command="/usr/sbin/samba"
+samba4_pidfile="${piddir}/samba.pid"
+samba4_start="start-stop-daemon --start --exec ${samba4_command} --pidfile ${samba4_pidfile} -- ${samba4_start_options}"
+samba4_stop="start-stop-daemon --stop --exec ${samba4_command} --pidfile ${samba4_pidfile}"
+samba4_reload="killall -HUP samba"
+
+winbind_start_options=""
+winbind_command="/usr/sbin/winbindd"
+winbind_start="start-stop-daemon --start --exec ${winbind_command} -- ${winbind_start_options}"
+winbind_stop="start-stop-daemon --stop --exec ${winbind_command}"
+winbind_reload="killall -HUP winbindd"
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/4.4/samba4.initd-r1 b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/4.4/samba4.initd-r1
new file mode 100644
index 0000000000..0a52898285
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/4.4/samba4.initd-r1
@@ -0,0 +1,54 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+extra_started_commands="reload"
+[ -z "${piddir}" ] && piddir="/run/samba"
+
+depend() {
+ after slapd
+ use cupsd
+}
+
+DAEMONNAME="${SVCNAME##samba.}"
+[ "${DAEMONNAME}" != "samba" ] && daemon_list=${DAEMONNAME}
+
+signal_do() {
+ local signal="$1"
+ [ -z "${signal}" ] && return 0
+
+ local result=0 last_result=0 daemon= cmd_exec=
+ for daemon in ${daemon_list} ; do
+ eval cmd_exec=\$${daemon}_${signal}
+ if [ -n "${cmd_exec}" ]; then
+ ebegin "${my_service_name} -> ${signal}: ${daemon}"
+ #echo ${cmd} '->' ${!cmd}
+ ${cmd_exec} > /dev/null
+ last_result=$?
+ eend ${last_result}
+ fi
+ result=$(( ${result} + ${last_result} ))
+ done
+ return ${result}
+}
+
+start() {
+ ${my_service_PRE}
+ [ -d "${piddir}" ] || mkdir -p "${piddir}"
+ signal_do start && return 0
+
+ eerror "Error: starting services (see system logs)"
+ signal_do stop
+ return 1
+}
+stop() {
+ ${my_service_PRE}
+ if signal_do stop ; then
+ ${my_service_POST}
+ return 0
+ fi
+}
+reload() {
+ ${my_service_PRE}
+ signal_do reload
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/4.4/system-auth-winbind.pam b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/4.4/system-auth-winbind.pam
new file mode 100644
index 0000000000..8d6746b7ae
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/4.4/system-auth-winbind.pam
@@ -0,0 +1,18 @@
+#%PAM-1.0
+# $Id$
+
+auth required pam_env.so
+auth sufficient pam_winbind.so
+auth sufficient pam_unix.so likeauth nullok use_first_pass
+auth required pam_deny.so
+
+account sufficient pam_winbind.so
+account required pam_unix.so
+
+password required pam_cracklib.so retry=3
+password sufficient pam_unix.so nullok use_authtok md5 shadow
+password required pam_deny.so
+
+session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
+session required pam_limits.so
+session required pam_unix.so
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.11-fix-glibc-2.32-function-collisions.patch b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.11-fix-glibc-2.32-function-collisions.patch
new file mode 100644
index 0000000000..5d196a68af
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.11-fix-glibc-2.32-function-collisions.patch
@@ -0,0 +1,79 @@
+glibc-2.30 and above ship their own version of nss_setpwent, nss_endpwent,
+nss_setgrent, and nss_endgrent. So we rename the static functions here to
+prevent a name clash.
+
+Also see https://forums.gentoo.org/viewtopic-t-1118902.html?sid=e1809c2d407bafda1df63d9115bcaaef
+
+--- a/nsswitch/nsstest.c 2019-12-06 06:46:56.000000000 -0300
++++ b/nsswitch/nsstest.c 2020-09-11 18:35:27.199949579 -0300
+@@ -137,7 +137,7 @@
+ return &pwd;
+ }
+
+-static void nss_setpwent(void)
++static void nss_setpwent2(void)
+ {
+ NSS_STATUS (*_nss_setpwent)(void) =
+ (NSS_STATUS(*)(void))find_fn("setpwent");
+@@ -152,7 +152,7 @@
+ }
+ }
+
+-static void nss_endpwent(void)
++static void nss_endpwent2(void)
+ {
+ NSS_STATUS (*_nss_endpwent)(void) =
+ (NSS_STATUS (*)(void))find_fn("endpwent");
+@@ -290,7 +290,7 @@
+ return &grp;
+ }
+
+-static void nss_setgrent(void)
++static void nss_setgrent2(void)
+ {
+ NSS_STATUS (*_nss_setgrent)(void) =
+ (NSS_STATUS (*)(void))find_fn("setgrent");
+@@ -305,7 +305,7 @@
+ }
+ }
+
+-static void nss_endgrent(void)
++static void nss_endgrent2(void)
+ {
+ NSS_STATUS (*_nss_endgrent)(void) =
+ (NSS_STATUS (*)(void))find_fn("endgrent");
+@@ -402,7 +402,7 @@
+ {
+ struct passwd *pwd;
+
+- nss_setpwent();
++ nss_setpwent2();
+ /* loop over all users */
+ while ((pwd = nss_getpwent())) {
+ printf("Testing user %s\n", pwd->pw_name);
+@@ -424,14 +424,14 @@
+ printf("initgroups: "); nss_test_initgroups(pwd->pw_name, pwd->pw_gid);
+ printf("\n");
+ }
+- nss_endpwent();
++ nss_endpwent2();
+ }
+
+ static void nss_test_groups(void)
+ {
+ struct group *grp;
+
+- nss_setgrent();
++ nss_setgrent2();
+ /* loop over all groups */
+ while ((grp = nss_getgrent())) {
+ printf("Testing group %s\n", grp->gr_name);
+@@ -452,7 +452,7 @@
+ printf("getgrgid: "); print_group(grp);
+ printf("\n");
+ }
+- nss_endgrent();
++ nss_endgrent2();
+ }
+
+ static void nss_test_errors(void)
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.13-vfs_snapper_configure_option.patch b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.13-vfs_snapper_configure_option.patch
new file mode 100644
index 0000000000..b472119956
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.13-vfs_snapper_configure_option.patch
@@ -0,0 +1,56 @@
+From 7ae03a19b3ca895ba5f97a6bd4f9539d8daa6e0a Mon Sep 17 00:00:00 2001
+From: Matt Taylor
+Date: Mon, 11 May 2020 15:26:41 -0400
+Subject: [PATCH] build: add configure option to control vfs_snapper build
+
+vfs_snapper is currently built if dbus development headers / libraries
+are detected during configure. This commit adds new --disable-snapper
+and --enable-snapper (default) configure parameters. When enabled,
+configure will fail if the dbus development headers / libraries are
+missing.
+
+Signed-off-by: Matt Taylor
+Reviewed-by: David Disseldorp
+Reviewed-by: Andrew Bartlett
+
+Autobuild-User(master): Andrew Bartlett
+Autobuild-Date(master): Mon May 25 01:16:46 UTC 2020 on sn-devel-184
+---
+ source3/wscript | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/source3/wscript b/source3/wscript
+index 07991806c63..24ade3b0a2b 100644
+--- a/source3/wscript
++++ b/source3/wscript
+@@ -74,6 +74,7 @@ def options(opt):
+
+ opt.samba_add_onoff_option('glusterfs', with_name="enable", without_name="disable", default=True)
+ opt.samba_add_onoff_option('cephfs', with_name="enable", without_name="disable", default=True)
++ opt.samba_add_onoff_option('snapper', with_name="enable", without_name="disable", default=True)
+
+ opt.add_option('--enable-vxfs',
+ help=("enable support for VxFS (default=no)"),
+@@ -1752,11 +1753,16 @@ main() {
+ if Options.options.enable_vxfs:
+ conf.DEFINE('HAVE_VXFS', '1')
+
+- if conf.CHECK_CFG(package='dbus-1', args='--cflags --libs',
++ if Options.options.with_snapper:
++ if conf.CHECK_CFG(package='dbus-1', args='--cflags --libs',
+ msg='Checking for dbus', uselib_store="DBUS-1"):
+- if (conf.CHECK_HEADERS('dbus/dbus.h', lib='dbus-1')
++ if (conf.CHECK_HEADERS('dbus/dbus.h', lib='dbus-1')
+ and conf.CHECK_LIB('dbus-1', shlib=True)):
+- conf.DEFINE('HAVE_DBUS', '1')
++ conf.DEFINE('HAVE_DBUS', '1')
++ else:
++ conf.fatal("vfs_snapper is enabled but prerequisite DBUS libraries "
++ "or headers not found. Use --disable-snapper to disable "
++ "vfs_snapper support.");
+
+ if conf.CHECK_CFG(package='liburing', args='--cflags --libs',
+ msg='Checking for liburing package', uselib_store="URING"):
+--
+2.26.2
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.13-winexe_option.patch b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.13-winexe_option.patch
new file mode 100644
index 0000000000..63f8a9ec41
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.13-winexe_option.patch
@@ -0,0 +1,67 @@
+From 54c21a99e6ca54bdb963c70d322f6778b57a384f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?G=C3=BCnther=20Deschner?=
+Date: Wed, 4 Mar 2020 18:51:01 +0100
+Subject: [PATCH] winexe: add configure option to control whether to build it
+ (default: auto)
+
+Guenther
+
+Signed-off-by: Guenther Deschner
+Reviewed-by: Andreas Schneider
+
+Autobuild-User(master): Andreas Schneider
+Autobuild-Date(master): Mon Mar 9 16:27:21 UTC 2020 on sn-devel-184
+---
+ examples/winexe/wscript_build | 3 ++-
+ source3/wscript | 17 +++++++++++++++++
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/examples/winexe/wscript_build b/examples/winexe/wscript_build
+index 43c09717e3d..559ed3fc706 100644
+--- a/examples/winexe/wscript_build
++++ b/examples/winexe/wscript_build
+@@ -106,4 +106,5 @@ if winexesvc_binaries != '':
+ LOADPARM_CTX
+ libsmb
+ msrpc3
+- ''')
++ ''',
++ enabled=bld.env.build_winexe)
+diff --git a/source3/wscript b/source3/wscript
+index 85466b493fa..6d5bd22ca49 100644
+--- a/source3/wscript
++++ b/source3/wscript
+@@ -63,6 +63,7 @@ def options(opt):
+ opt.samba_add_onoff_option('cluster-support', default=False)
+
+ opt.samba_add_onoff_option('regedit', default=None)
++ opt.samba_add_onoff_option('winexe', default=None)
+
+ opt.samba_add_onoff_option('fake-kaserver',
+ help=("Include AFS fake-kaserver support"), default=False)
+@@ -1782,6 +1783,22 @@ main() {
+ if conf.CHECK_HEADERS('ftw.h') and conf.CHECK_FUNCS('nftw'):
+ conf.env.build_mvxattr = True
+
++ conf.env.build_winexe = False
++ if not Options.options.with_winexe == False:
++ if conf.CONFIG_SET('HAVE_WINEXE_CC_WIN32') or conf.CONFIG_SET('HAVE_WINEXE_CC_WIN64'):
++ conf.env.build_winexe = True
++
++ if conf.env.build_winexe:
++ Logs.info("building winexe")
++ else:
++ if Options.options.with_winexe == False:
++ Logs.info("not building winexe (--without-winexe)")
++ elif Options.options.with_winexe == True:
++ Logs.error("mingw not available, cannot build winexe")
++ conf.fatal("mingw not available, but --with-winexe was specified")
++ else:
++ Logs.info("mingw not available, not building winexe")
++
+ conf.CHECK_FUNCS_IN('DES_pcbc_encrypt', 'crypto')
+ if Options.options.with_fake_kaserver == True:
+ conf.CHECK_HEADERS('afs/param.h afs/stds.h', together=True)
+--
+2.26.2
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.4.0-pam.patch b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.4.0-pam.patch
new file mode 100644
index 0000000000..451601383d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.4.0-pam.patch
@@ -0,0 +1,29 @@
+--- samba-4.4.0rc2/source3/wscript
++++ samba-4.4.0rc2/source3/wscript
+@@ -870,7 +870,7 @@
+ if conf.env.with_iconv:
+ conf.DEFINE('HAVE_ICONV', 1)
+
+- if Options.options.with_pam:
++ if Options.options.with_pam != False:
+ use_pam=True
+ conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h')
+ if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'):
+@@ -943,6 +943,17 @@
+ conf.DEFINE('WITH_PAM', 1)
+ conf.DEFINE('WITH_PAM_MODULES', 1)
+
++ else:
++ Logs.warn("PAM disabled")
++ use_pam=False
++ conf.undefine('WITH_PAM')
++ conf.undefine('WITH_PAM_MODULES')
++ conf.undefine('HAVE_SECURITY_PAM_APPL_H')
++ conf.undefine('PAM_RHOST')
++ conf.undefine('PAM_TTY')
++ conf.undefine('HAVE_PAM_PAM_APPL_H')
++
++
+ seteuid = False
+
+ #
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.9.2-timespec.patch b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.9.2-timespec.patch
new file mode 100644
index 0000000000..c82f4af4e7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba-4.9.2-timespec.patch
@@ -0,0 +1,21 @@
+From 11e8c14b78e2423041f3846882f74cd6490a3e44 Mon Sep 17 00:00:00 2001
+From: Joan Karadimov
+Date: Thu, 18 Oct 2018 18:16:17 +0300
+Subject: [PATCH] Fix compatibility issues with the timespec struct
+
+---
+ source3/include/libsmbclient.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/source3/include/libsmbclient.h b/source3/include/libsmbclient.h
+index 5e4a1715402..6487ea7a8aa 100644
+--- a/source3/include/libsmbclient.h
++++ b/source3/include/libsmbclient.h
+@@ -78,6 +78,7 @@ extern "C" {
+ #include
+ #include
+ #include
++#include
+ #include
+
+ #define SMBC_BASE_FD 10000 /* smallest file descriptor returned */
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba.conf b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba.conf
new file mode 100644
index 0000000000..a7f4946fb0
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/files/samba.conf
@@ -0,0 +1,3 @@
+D /run/samba 0755 root root
+D /run/ctdb 0755 root root
+D /run/lock/samba 0755 root root
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/metadata.xml b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/metadata.xml
new file mode 100644
index 0000000000..e871aa5724
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/metadata.xml
@@ -0,0 +1,38 @@
+
+
+
+
+ samba@gentoo.org
+ Samba Team
+
+
+ Samba is an Open Source/Free Software suite that provides seamless file and print services to SMB/CIFS clients. Integration with various accounting and antivirus backends. License: GNU General Public License.
+
+
+
+ cpe:/a:samba:samba
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/samba/samba-4.12.9-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/samba-4.12.9-r2.ebuild
new file mode 100644
index 0000000000..423d6ca190
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-fs/samba/samba-4.12.9-r2.ebuild
@@ -0,0 +1,339 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_REQ_USE='threads(+),xml(+)'
+inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam
+
+MY_PV="${PV/_rc/rc}"
+MY_P="${PN}-${MY_PV}"
+
+SRC_PATH="stable"
+[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
+
+SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz"
+[[ ${PV} = *_rc* ]] || \
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ~ppc64 sparc x86"
+
+DESCRIPTION="Samba Suite Version 4"
+HOMEPAGE="https://www.samba.org/"
+LICENSE="GPL-3"
+
+SLOT="0"
+
+IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam glusterfs
+gpg iprint json ldap ntvfs pam profiling-data python quota +regedit selinux
+snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind
+zeroconf"
+IUSE+=" +minimal" # Flatcar: Only install libraries, not executables.
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/samba-4.0/policy.h
+ /usr/include/samba-4.0/dcerpc_server.h
+ /usr/include/samba-4.0/ctdb.h
+ /usr/include/samba-4.0/ctdb_client.h
+ /usr/include/samba-4.0/ctdb_protocol.h
+ /usr/include/samba-4.0/ctdb_private.h
+ /usr/include/samba-4.0/ctdb_typesafe_cb.h
+ /usr/include/samba-4.0/ctdb_version.h
+)
+
+CDEPEND="
+ >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
+ spotlight? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ dev-libs/libbsd[${MULTILIB_USEDEP}]
+ !minimal? ( dev-libs/libtasn1[${MULTILIB_USEDEP}] )
+ dev-libs/popt[${MULTILIB_USEDEP}]
+ >=net-libs/gnutls-3.4.7[${MULTILIB_USEDEP}]
+ sys-libs/e2fsprogs-libs[${MULTILIB_USEDEP}]
+ sys-libs/libcap[${MULTILIB_USEDEP}]
+ sys-libs/liburing:=[${MULTILIB_USEDEP}]
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ virtual/libiconv
+ pam? ( sys-libs/pam )
+ acl? ( virtual/acl )
+ addns? (
+ net-dns/bind-tools[gssapi]
+ dev-python/dnspython
+ )
+ ceph? ( sys-cluster/ceph )
+ cluster? (
+ net-libs/rpcsvc-proto
+ !dev-db/ctdb
+ )
+ cups? ( net-print/cups )
+ debug? ( dev-util/lttng-ust )
+ dmapi? ( sys-apps/dmapi )
+ fam? ( virtual/fam )
+ gpg? ( app-crypt/gpgme )
+ json? ( dev-libs/jansson )
+ ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
+ snapper? ( sys-apps/dbus )
+ system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
+ system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
+ systemd? ( sys-apps/systemd:0= )
+ zeroconf? ( net-dns/avahi[dbus] )
+"
+DEPEND="${CDEPEND}
+ ${PYTHON_DEPS}
+ dev-lang/perl:=
+ >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
+ net-libs/libtirpc[${MULTILIB_USEDEP}]
+ virtual/pkgconfig
+ || (
+ net-libs/rpcsvc-proto
+ =sys-libs/nss_wrapper-1.1.3
+ >=net-dns/resolv_wrapper-1.1.4
+ >=net-libs/socket_wrapper-1.1.9
+ >=sys-libs/uid_wrapper-1.2.1
+ )
+ )"
+RDEPEND="${CDEPEND}
+ python? ( ${PYTHON_DEPS} )
+ client? ( net-fs/cifs-utils[ads?] )
+ selinux? ( sec-policy/selinux-samba )
+"
+
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+"
+
+REQUIRED_USE="
+ addc? ( python json winbind )
+ addns? ( python )
+ ads? ( acl ldap winbind )
+ cluster? ( ads )
+ gpg? ( addc )
+ ntvfs? ( addc )
+ spotlight? ( json )
+ test? ( python )
+ ?? ( system-heimdal system-mitkrb5 )
+ ${PYTHON_REQUIRED_USE}
+"
+
+# the test suite is messed, it uses system-installed samba
+# bits instead of what was built, tests things disabled via use
+# flags, and generally just fails to work in a way ebuilds could
+# rely on in its current state
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.4.0-pam.patch"
+ "${FILESDIR}/${PN}-4.9.2-timespec.patch"
+ "${FILESDIR}/${PN}-4.13-winexe_option.patch"
+ "${FILESDIR}/${PN}-4.13-vfs_snapper_configure_option.patch"
+)
+
+#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
+CONFDIR="${FILESDIR}/4.4"
+
+WAF_BINARY="${S}/buildtools/bin/waf"
+
+SHAREDMODS=""
+
+pkg_setup() {
+ # Package fails to build with distcc
+ export DISTCC_DISABLE=1
+
+ python-single-r1_pkg_setup
+ if use cluster ; then
+ SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
+ elif use ads ; then
+ SHAREDMODS="idmap_ad"
+ fi
+}
+
+src_prepare() {
+ default
+
+ # un-bundle dnspython
+ sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
+
+ # unbundle iso8601 unless tests are enabled
+ if ! use test ; then
+ sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
+ fi
+
+ sed -e 's:::' \
+ -i source4/dsdb/samdb/ldb_modules/password_hash.c \
+ || die
+
+ # Friggin' WAF shit
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ # when specifying libs for samba build you must append NONE to the end to
+ # stop it automatically including things
+ local bundled_libs="NONE"
+ if ! use system-heimdal && ! use system-mitkrb5 ; then
+ bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE"
+ fi
+
+ # Flatcar: we need only the mandatory bundled library, ldb by default.
+ # Without that, configure will fail because of a missing bundled library.
+ bundled_libs="ldb"
+
+ local myconf=(
+ --enable-fhs
+ --sysconfdir="${EPREFIX}/etc"
+ --localstatedir="${EPREFIX}/var"
+ --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba"
+ --with-piddir="${EPREFIX}/run/${PN}"
+ --bundled-libraries="${bundled_libs}"
+ --builtin-libraries=NONE
+ --disable-rpath
+ --disable-rpath-install
+ --nopyc
+ --nopyo
+ --without-winexe
+ --disable-python
+ $(multilib_native_use_with acl acl-support)
+ $(multilib_native_usex addc '' '--without-ad-dc')
+ $(multilib_native_use_with addns dnsupdate)
+ $(multilib_native_use_with ads)
+ $(multilib_native_use_enable ceph cephfs)
+ $(multilib_native_use_with cluster cluster-support)
+ $(multilib_native_use_enable cups)
+ $(multilib_native_use_with dmapi)
+ $(multilib_native_use_with fam)
+ $(multilib_native_use_enable glusterfs)
+ $(multilib_native_use_with gpg gpgme)
+ $(multilib_native_use_with json)
+ $(multilib_native_use_enable iprint)
+ $(multilib_native_use_with ntvfs ntvfs-fileserver)
+ $(multilib_native_use_with pam)
+ $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
+ $(multilib_native_use_with quota quotas)
+ $(multilib_native_use_with regedit regedit)
+ $(multilib_native_use_enable snapper)
+ $(multilib_native_use_enable spotlight)
+ $(multilib_native_use_with syslog)
+ $(multilib_native_use_with systemd)
+ --systemd-install-services
+ --with-systemddir="$(systemd_get_systemunitdir)"
+ $(multilib_native_use_with winbind)
+ $(multilib_native_usex python '' '--disable-python')
+ $(multilib_native_use_enable zeroconf avahi)
+ $(multilib_native_usex test '--enable-selftest' '')
+ $(usex system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')" '')
+ $(use_with debug lttng)
+ $(use_with ldap)
+ $(use_with profiling-data)
+ # bug #683148
+ --jobs 1
+ )
+
+ multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} )
+
+ CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
+ waf-utils_src_configure ${myconf[@]}
+}
+
+multilib_src_compile() {
+ waf-utils_src_compile
+}
+
+multilib_src_install() {
+ waf-utils_src_install
+
+ # Make all .so files executable
+ find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die
+
+ if multilib_is_native_abi ; then
+ # install ldap schema for server (bug #491002)
+ if use ldap ; then
+ insinto /etc/openldap/schema
+ doins examples/LDAP/samba.schema
+ fi
+
+ # create symlink for cups (bug #552310)
+ if use cups ; then
+ dosym ../../../bin/smbspool /usr/libexec/cups/backend/smb
+ fi
+
+ # install example config file
+ insinto /etc/samba
+ doins examples/smb.conf.default
+
+ # Fix paths in example file (#603964)
+ sed \
+ -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \
+ -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \
+ -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \
+ -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \
+ -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \
+ -i "${ED%/}"/etc/samba/smb.conf.default || die
+
+ # Install init script and conf.d file
+ newinitd "${CONFDIR}/samba4.initd-r1" samba
+ newconfd "${CONFDIR}/samba4.confd" samba
+
+ [[ ! use_minimal ]] && systemd_dotmpfilesd "${FILESDIR}"/samba.conf
+ use addc || rm "${D}/$(systemd_get_systemunitdir)/samba.service" || die
+
+ # Preserve functionality for old gentoo-specific unit names
+ dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service"
+ dosym smb.service "$(systemd_get_systemunitdir)/smbd.service"
+ dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service"
+ fi
+
+ if use pam && use winbind ; then
+ newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind
+ # bugs #376853 and #590374
+ insinto /etc/security
+ doins examples/pam_winbind/pam_winbind.conf
+ fi
+
+ keepdir /var/cache/samba
+ keepdir /var/lib/ctdb
+ keepdir /var/lib/samba/{bind-dns,private}
+ keepdir /var/lock/samba
+ keepdir /var/log/samba
+
+
+ rm -f "${ED%/}"/etc/samba/*
+ rm -f "${ED%/}"/usr/lib*/samba/ldb/*
+ if use minimal ; then
+ mv "${ED%/}"/usr/bin/net "${T}"/
+ rm -f "${ED%/}"/usr/bin/* "${ED%/}"/usr/sbin/*
+ mv "${T}"/net "${ED%/}"/usr/bin/net
+ rm -rf ${ED%/}/lib*/security
+ rm -rf ${ED%/}/usr/lib/systemd
+ rm -rf ${ED%/}/usr/lib*/perl*
+ rm -rf ${ED%/}/usr/lib*/python*
+ rm -rf ${ED%/}/var
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi ; then
+ "${WAF_BINARY}" test || die "test failed"
+ fi
+}
+
+pkg_postinst() {
+ ewarn "Be aware that this release contains the best of all of Samba's"
+ ewarn "technology parts, both a file server (that you can reasonably expect"
+ ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
+ ewarn "controller work previously known as 'samba4'."
+
+ elog "For further information and migration steps make sure to read "
+ elog "https://samba.org/samba/history/${P}.html "
+ elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/Manifest b/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/Manifest
new file mode 100644
index 0000000000..7f745c7d4b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/Manifest
@@ -0,0 +1,2 @@
+DIST libtirpc-1.3.2.tar.bz2 513151 BLAKE2B 375b7bb046244f4666522c4f148428349fe1867b095dc5e268d037ba26982f88df70b0ad21fbe2b99150f644806a46651b524c3b9f7fe2499469806ea50b0331 SHA512 8664d5c4f842ee5acf83b9c1cadb7871f17b8157a7c4500e2236dcfb3a25768cab39f7c5123758dcd7381e30eb028ddfa26a28f458283f2dcea3426c9878c255
+DIST libtirpc-glibc-nfs.tar.xz 8948 BLAKE2B 7316623d9f2b6928e296137fe2bf6794b208d549c2ffba9e4a35b47f7b04bf023798a09f38c02d039debf6adc466d7689cf3c8274d71a22eaff08729642c0a28 SHA512 90255bf0a27af16164e0710dd940778609925d473f4343093ff19d98cc4f23023788bf4edf0178eae1961afc0ba8b69b273de95b7d7e2afdb706701d8ba6f7ba
diff --git a/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/README.md b/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/README.md
new file mode 100644
index 0000000000..9458af83d6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/README.md
@@ -0,0 +1,10 @@
+This is a fork of gentoo package. We have it on overlay because:
+
+- We change the NETCONFIG macro value from `"/etc/netconfig"` to
+ `"/usr/share/tirpc/netconfig"`.
+
+- We update the installation of the netconfig accordingly to the
+ previous point.
+
+- We include a patch that fixes a DOS vulnerability (comes from
+ https://git.linux-nfs.org/?p=steved/libtirpc.git;a=commit;h=86529758570cef4c73fb9b9c4104fdc510f701ed).
diff --git a/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/files/libtirpc-1.3.2-fix-dos.patch b/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/files/libtirpc-1.3.2-fix-dos.patch
new file mode 100644
index 0000000000..36bc16c3b5
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/files/libtirpc-1.3.2-fix-dos.patch
@@ -0,0 +1,562 @@
+From 86529758570cef4c73fb9b9c4104fdc510f701ed Mon Sep 17 00:00:00 2001
+From: Dai Ngo
+Date: Sat, 21 Aug 2021 13:16:23 -0400
+Subject: [PATCH] Fix DoS vulnerability in libtirpc
+
+Currently svc_run does not handle poll timeout and rendezvous_request
+does not handle EMFILE error returned from accept(2 as it used to.
+These two missing functionality were removed by commit b2c9430f46c4.
+
+The effect of not handling poll timeout allows idle TCP conections
+to remain ESTABLISHED indefinitely. When the number of connections
+reaches the limit of the open file descriptors (ulimit -n) then
+accept(2) fails with EMFILE. Since there is no handling of EMFILE
+error this causes svc_run() to get in a tight loop calling accept(2).
+This resulting in the RPC service of svc_run is being down, it's
+no longer able to service any requests.
+
+RPC service rpcbind, statd and mountd are effected by this
+problem.
+
+Fix by enhancing rendezvous_request to keep the number of
+SVCXPRT conections to 4/5 of the size of the file descriptor
+table. When this thresold is reached, it destroys the idle
+TCP connections or destroys the least active connection if
+no idle connnction was found.
+
+Fixes: 44bf15b8 rpcbind: don't use obsolete svc_fdset interface of libtirpc
+Signed-off-by: dai.ngo@oracle.com
+Signed-off-by: Steve Dickson
+---
+ INSTALL | 371 +----------------------------------------------------------
+ src/svc.c | 17 ++-
+ src/svc_vc.c | 62 +++++++++-
+ 3 files changed, 78 insertions(+), 372 deletions(-)
+ mode change 100644 => 120000 INSTALL
+
+diff --git a/INSTALL b/INSTALL
+deleted file mode 100644
+index 2099840..0000000
+--- a/INSTALL
++++ /dev/null
+@@ -1,370 +0,0 @@
+-Installation Instructions
+-*************************
+-
+-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
+-Inc.
+-
+- Copying and distribution of this file, with or without modification,
+-are permitted in any medium without royalty provided the copyright
+-notice and this notice are preserved. This file is offered as-is,
+-without warranty of any kind.
+-
+-Basic Installation
+-==================
+-
+- Briefly, the shell command `./configure && make && make install'
+-should configure, build, and install this package. The following
+-more-detailed instructions are generic; see the `README' file for
+-instructions specific to this package. Some packages provide this
+-`INSTALL' file but do not implement all of the features documented
+-below. The lack of an optional feature in a given package is not
+-necessarily a bug. More recommendations for GNU packages can be found
+-in *note Makefile Conventions: (standards)Makefile Conventions.
+-
+- The `configure' shell script attempts to guess correct values for
+-various system-dependent variables used during compilation. It uses
+-those values to create a `Makefile' in each directory of the package.
+-It may also create one or more `.h' files containing system-dependent
+-definitions. Finally, it creates a shell script `config.status' that
+-you can run in the future to recreate the current configuration, and a
+-file `config.log' containing compiler output (useful mainly for
+-debugging `configure').
+-
+- It can also use an optional file (typically called `config.cache'
+-and enabled with `--cache-file=config.cache' or simply `-C') that saves
+-the results of its tests to speed up reconfiguring. Caching is
+-disabled by default to prevent problems with accidental use of stale
+-cache files.
+-
+- If you need to do unusual things to compile the package, please try
+-to figure out how `configure' could check whether to do them, and mail
+-diffs or instructions to the address given in the `README' so they can
+-be considered for the next release. If you are using the cache, and at
+-some point `config.cache' contains results you don't want to keep, you
+-may remove or edit it.
+-
+- The file `configure.ac' (or `configure.in') is used to create
+-`configure' by a program called `autoconf'. You need `configure.ac' if
+-you want to change it or regenerate `configure' using a newer version
+-of `autoconf'.
+-
+- The simplest way to compile this package is:
+-
+- 1. `cd' to the directory containing the package's source code and type
+- `./configure' to configure the package for your system.
+-
+- Running `configure' might take a while. While running, it prints
+- some messages telling which features it is checking for.
+-
+- 2. Type `make' to compile the package.
+-
+- 3. Optionally, type `make check' to run any self-tests that come with
+- the package, generally using the just-built uninstalled binaries.
+-
+- 4. Type `make install' to install the programs and any data files and
+- documentation. When installing into a prefix owned by root, it is
+- recommended that the package be configured and built as a regular
+- user, and only the `make install' phase executed with root
+- privileges.
+-
+- 5. Optionally, type `make installcheck' to repeat any self-tests, but
+- this time using the binaries in their final installed location.
+- This target does not install anything. Running this target as a
+- regular user, particularly if the prior `make install' required
+- root privileges, verifies that the installation completed
+- correctly.
+-
+- 6. You can remove the program binaries and object files from the
+- source code directory by typing `make clean'. To also remove the
+- files that `configure' created (so you can compile the package for
+- a different kind of computer), type `make distclean'. There is
+- also a `make maintainer-clean' target, but that is intended mainly
+- for the package's developers. If you use it, you may have to get
+- all sorts of other programs in order to regenerate files that came
+- with the distribution.
+-
+- 7. Often, you can also type `make uninstall' to remove the installed
+- files again. In practice, not all packages have tested that
+- uninstallation works correctly, even though it is required by the
+- GNU Coding Standards.
+-
+- 8. Some packages, particularly those that use Automake, provide `make
+- distcheck', which can by used by developers to test that all other
+- targets like `make install' and `make uninstall' work correctly.
+- This target is generally not run by end users.
+-
+-Compilers and Options
+-=====================
+-
+- Some systems require unusual options for compilation or linking that
+-the `configure' script does not know about. Run `./configure --help'
+-for details on some of the pertinent environment variables.
+-
+- You can give `configure' initial values for configuration parameters
+-by setting variables in the command line or in the environment. Here
+-is an example:
+-
+- ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+-
+- *Note Defining Variables::, for more details.
+-
+-Compiling For Multiple Architectures
+-====================================
+-
+- You can compile the package for more than one kind of computer at the
+-same time, by placing the object files for each architecture in their
+-own directory. To do this, you can use GNU `make'. `cd' to the
+-directory where you want the object files and executables to go and run
+-the `configure' script. `configure' automatically checks for the
+-source code in the directory that `configure' is in and in `..'. This
+-is known as a "VPATH" build.
+-
+- With a non-GNU `make', it is safer to compile the package for one
+-architecture at a time in the source code directory. After you have
+-installed the package for one architecture, use `make distclean' before
+-reconfiguring for another architecture.
+-
+- On MacOS X 10.5 and later systems, you can create libraries and
+-executables that work on multiple system types--known as "fat" or
+-"universal" binaries--by specifying multiple `-arch' options to the
+-compiler but only a single `-arch' option to the preprocessor. Like
+-this:
+-
+- ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+- CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+- CPP="gcc -E" CXXCPP="g++ -E"
+-
+- This is not guaranteed to produce working output in all cases, you
+-may have to build one architecture at a time and combine the results
+-using the `lipo' tool if you have problems.
+-
+-Installation Names
+-==================
+-
+- By default, `make install' installs the package's commands under
+-`/usr/local/bin', include files under `/usr/local/include', etc. You
+-can specify an installation prefix other than `/usr/local' by giving
+-`configure' the option `--prefix=PREFIX', where PREFIX must be an
+-absolute file name.
+-
+- You can specify separate installation prefixes for
+-architecture-specific files and architecture-independent files. If you
+-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+-PREFIX as the prefix for installing programs and libraries.
+-Documentation and other data files still use the regular prefix.
+-
+- In addition, if you use an unusual directory layout you can give
+-options like `--bindir=DIR' to specify different values for particular
+-kinds of files. Run `configure --help' for a list of the directories
+-you can set and what kinds of files go in them. In general, the
+-default for these options is expressed in terms of `${prefix}', so that
+-specifying just `--prefix' will affect all of the other directory
+-specifications that were not explicitly provided.
+-
+- The most portable way to affect installation locations is to pass the
+-correct locations to `configure'; however, many packages provide one or
+-both of the following shortcuts of passing variable assignments to the
+-`make install' command line to change installation locations without
+-having to reconfigure or recompile.
+-
+- The first method involves providing an override variable for each
+-affected directory. For example, `make install
+-prefix=/alternate/directory' will choose an alternate location for all
+-directory configuration variables that were expressed in terms of
+-`${prefix}'. Any directories that were specified during `configure',
+-but not in terms of `${prefix}', must each be overridden at install
+-time for the entire installation to be relocated. The approach of
+-makefile variable overrides for each directory variable is required by
+-the GNU Coding Standards, and ideally causes no recompilation.
+-However, some platforms have known limitations with the semantics of
+-shared libraries that end up requiring recompilation when using this
+-method, particularly noticeable in packages that use GNU Libtool.
+-
+- The second method involves providing the `DESTDIR' variable. For
+-example, `make install DESTDIR=/alternate/directory' will prepend
+-`/alternate/directory' before all installation names. The approach of
+-`DESTDIR' overrides is not required by the GNU Coding Standards, and
+-does not work on platforms that have drive letters. On the other hand,
+-it does better at avoiding recompilation issues, and works well even
+-when some directory options were not specified in terms of `${prefix}'
+-at `configure' time.
+-
+-Optional Features
+-=================
+-
+- If the package supports it, you can cause programs to be installed
+-with an extra prefix or suffix on their names by giving `configure' the
+-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+-
+- Some packages pay attention to `--enable-FEATURE' options to
+-`configure', where FEATURE indicates an optional part of the package.
+-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+-is something like `gnu-as' or `x' (for the X Window System). The
+-`README' should mention any `--enable-' and `--with-' options that the
+-package recognizes.
+-
+- For packages that use the X Window System, `configure' can usually
+-find the X include and library files automatically, but if it doesn't,
+-you can use the `configure' options `--x-includes=DIR' and
+-`--x-libraries=DIR' to specify their locations.
+-
+- Some packages offer the ability to configure how verbose the
+-execution of `make' will be. For these packages, running `./configure
+---enable-silent-rules' sets the default to minimal output, which can be
+-overridden with `make V=1'; while running `./configure
+---disable-silent-rules' sets the default to verbose, which can be
+-overridden with `make V=0'.
+-
+-Particular systems
+-==================
+-
+- On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+-CC is not installed, it is recommended to use the following options in
+-order to use an ANSI C compiler:
+-
+- ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+-
+-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+-
+- HP-UX `make' updates targets which have the same time stamps as
+-their prerequisites, which makes it generally unusable when shipped
+-generated files such as `configure' are involved. Use GNU `make'
+-instead.
+-
+- On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+-parse its `' header file. The option `-nodtk' can be used as
+-a workaround. If GNU CC is not installed, it is therefore recommended
+-to try
+-
+- ./configure CC="cc"
+-
+-and if that doesn't work, try
+-
+- ./configure CC="cc -nodtk"
+-
+- On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+-directory contains several dysfunctional programs; working variants of
+-these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+-in your `PATH', put it _after_ `/usr/bin'.
+-
+- On Haiku, software installed for all users goes in `/boot/common',
+-not `/usr/local'. It is recommended to use the following options:
+-
+- ./configure --prefix=/boot/common
+-
+-Specifying the System Type
+-==========================
+-
+- There may be some features `configure' cannot figure out
+-automatically, but needs to determine by the type of machine the package
+-will run on. Usually, assuming the package is built to be run on the
+-_same_ architectures, `configure' can figure that out, but if it prints
+-a message saying it cannot guess the machine type, give it the
+-`--build=TYPE' option. TYPE can either be a short name for the system
+-type, such as `sun4', or a canonical name which has the form:
+-
+- CPU-COMPANY-SYSTEM
+-
+-where SYSTEM can have one of these forms:
+-
+- OS
+- KERNEL-OS
+-
+- See the file `config.sub' for the possible values of each field. If
+-`config.sub' isn't included in this package, then this package doesn't
+-need to know the machine type.
+-
+- If you are _building_ compiler tools for cross-compiling, you should
+-use the option `--target=TYPE' to select the type of system they will
+-produce code for.
+-
+- If you want to _use_ a cross compiler, that generates code for a
+-platform different from the build platform, you should specify the
+-"host" platform (i.e., that on which the generated programs will
+-eventually be run) with `--host=TYPE'.
+-
+-Sharing Defaults
+-================
+-
+- If you want to set default values for `configure' scripts to share,
+-you can create a site shell script called `config.site' that gives
+-default values for variables like `CC', `cache_file', and `prefix'.
+-`configure' looks for `PREFIX/share/config.site' if it exists, then
+-`PREFIX/etc/config.site' if it exists. Or, you can set the
+-`CONFIG_SITE' environment variable to the location of the site script.
+-A warning: not all `configure' scripts look for a site script.
+-
+-Defining Variables
+-==================
+-
+- Variables not defined in a site shell script can be set in the
+-environment passed to `configure'. However, some packages may run
+-configure again during the build, and the customized values of these
+-variables may be lost. In order to avoid this problem, you should set
+-them in the `configure' command line, using `VAR=value'. For example:
+-
+- ./configure CC=/usr/local2/bin/gcc
+-
+-causes the specified `gcc' to be used as the C compiler (unless it is
+-overridden in the site shell script).
+-
+-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+-an Autoconf limitation. Until the limitation is lifted, you can use
+-this workaround:
+-
+- CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
+-
+-`configure' Invocation
+-======================
+-
+- `configure' recognizes the following options to control how it
+-operates.
+-
+-`--help'
+-`-h'
+- Print a summary of all of the options to `configure', and exit.
+-
+-`--help=short'
+-`--help=recursive'
+- Print a summary of the options unique to this package's
+- `configure', and exit. The `short' variant lists options used
+- only in the top level, while the `recursive' variant lists options
+- also present in any nested packages.
+-
+-`--version'
+-`-V'
+- Print the version of Autoconf used to generate the `configure'
+- script, and exit.
+-
+-`--cache-file=FILE'
+- Enable the cache: use and save the results of the tests in FILE,
+- traditionally `config.cache'. FILE defaults to `/dev/null' to
+- disable caching.
+-
+-`--config-cache'
+-`-C'
+- Alias for `--cache-file=config.cache'.
+-
+-`--quiet'
+-`--silent'
+-`-q'
+- Do not print messages saying which checks are being made. To
+- suppress all normal output, redirect it to `/dev/null' (any error
+- messages will still be shown).
+-
+-`--srcdir=DIR'
+- Look for the package's source code in directory DIR. Usually
+- `configure' can determine that directory automatically.
+-
+-`--prefix=DIR'
+- Use DIR as the installation prefix. *note Installation Names::
+- for more details, including other options available for fine-tuning
+- the installation locations.
+-
+-`--no-create'
+-`-n'
+- Run the configure checks, but stop before creating any output
+- files.
+-
+-`configure' also accepts some other, not widely useful, options. Run
+-`configure --help' for more details.
+diff --git a/INSTALL b/INSTALL
+new file mode 120000
+index 0000000..e3f22c0
+--- /dev/null
++++ b/INSTALL
+@@ -0,0 +1 @@
++/usr/share/automake-1.16/INSTALL
+\ No newline at end of file
+diff --git a/src/svc.c b/src/svc.c
+index 6db164b..3a8709f 100644
+--- a/src/svc.c
++++ b/src/svc.c
+@@ -57,7 +57,7 @@
+
+ #define max(a, b) (a > b ? a : b)
+
+-static SVCXPRT **__svc_xports;
++SVCXPRT **__svc_xports;
+ int __svc_maxrec;
+
+ /*
+@@ -194,6 +194,21 @@ __xprt_do_unregister (xprt, dolock)
+ rwlock_unlock (&svc_fd_lock);
+ }
+
++int
++svc_open_fds()
++{
++ int ix;
++ int nfds = 0;
++
++ rwlock_rdlock (&svc_fd_lock);
++ for (ix = 0; ix < svc_max_pollfd; ++ix) {
++ if (svc_pollfd[ix].fd != -1)
++ nfds++;
++ }
++ rwlock_unlock (&svc_fd_lock);
++ return (nfds);
++}
++
+ /*
+ * Add a service program to the callout list.
+ * The dispatch routine will be called when a rpc request for this
+diff --git a/src/svc_vc.c b/src/svc_vc.c
+index f1d9f00..3dc8a75 100644
+--- a/src/svc_vc.c
++++ b/src/svc_vc.c
+@@ -64,6 +64,8 @@
+
+
+ extern rwlock_t svc_fd_lock;
++extern SVCXPRT **__svc_xports;
++extern int svc_open_fds();
+
+ static SVCXPRT *makefd_xprt(int, u_int, u_int);
+ static bool_t rendezvous_request(SVCXPRT *, struct rpc_msg *);
+@@ -82,6 +84,7 @@ static void svc_vc_ops(SVCXPRT *);
+ static bool_t svc_vc_control(SVCXPRT *xprt, const u_int rq, void *in);
+ static bool_t svc_vc_rendezvous_control (SVCXPRT *xprt, const u_int rq,
+ void *in);
++static int __svc_destroy_idle(int timeout);
+
+ struct cf_rendezvous { /* kept in xprt->xp_p1 for rendezvouser */
+ u_int sendsize;
+@@ -313,13 +316,14 @@ done:
+ return (xprt);
+ }
+
++
+ /*ARGSUSED*/
+ static bool_t
+ rendezvous_request(xprt, msg)
+ SVCXPRT *xprt;
+ struct rpc_msg *msg;
+ {
+- int sock, flags;
++ int sock, flags, nfds, cnt;
+ struct cf_rendezvous *r;
+ struct cf_conn *cd;
+ struct sockaddr_storage addr;
+@@ -379,6 +383,16 @@ again:
+
+ gettimeofday(&cd->last_recv_time, NULL);
+
++ nfds = svc_open_fds();
++ if (nfds >= (_rpc_dtablesize() / 5) * 4) {
++ /* destroy idle connections */
++ cnt = __svc_destroy_idle(15);
++ if (cnt == 0) {
++ /* destroy least active */
++ __svc_destroy_idle(0);
++ }
++ }
++
+ return (FALSE); /* there is never an rpc msg to be processed */
+ }
+
+@@ -820,3 +834,49 @@ __svc_clean_idle(fd_set *fds, int timeout, bool_t cleanblock)
+ {
+ return FALSE;
+ }
++
++static int
++__svc_destroy_idle(int timeout)
++{
++ int i, ncleaned = 0;
++ SVCXPRT *xprt, *least_active;
++ struct timeval tv, tdiff, tmax;
++ struct cf_conn *cd;
++
++ gettimeofday(&tv, NULL);
++ tmax.tv_sec = tmax.tv_usec = 0;
++ least_active = NULL;
++ rwlock_wrlock(&svc_fd_lock);
++
++ for (i = 0; i <= svc_max_pollfd; i++) {
++ if (svc_pollfd[i].fd == -1)
++ continue;
++ xprt = __svc_xports[i];
++ if (xprt == NULL || xprt->xp_ops == NULL ||
++ xprt->xp_ops->xp_recv != svc_vc_recv)
++ continue;
++ cd = (struct cf_conn *)xprt->xp_p1;
++ if (!cd->nonblock)
++ continue;
++ if (timeout == 0) {
++ timersub(&tv, &cd->last_recv_time, &tdiff);
++ if (timercmp(&tdiff, &tmax, >)) {
++ tmax = tdiff;
++ least_active = xprt;
++ }
++ continue;
++ }
++ if (tv.tv_sec - cd->last_recv_time.tv_sec > timeout) {
++ __xprt_unregister_unlocked(xprt);
++ __svc_vc_dodestroy(xprt);
++ ncleaned++;
++ }
++ }
++ if (timeout == 0 && least_active != NULL) {
++ __xprt_unregister_unlocked(least_active);
++ __svc_vc_dodestroy(least_active);
++ ncleaned++;
++ }
++ rwlock_unlock(&svc_fd_lock);
++ return (ncleaned);
++}
+--
+1.8.3.1
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/libtirpc-1.3.2.ebuild b/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/libtirpc-1.3.2.ebuild
new file mode 100644
index 0000000000..7bf4af9ed7
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/libtirpc-1.3.2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal usr-ldscript
+
+DESCRIPTION="Transport Independent RPC library (SunRPC replacement)"
+HOMEPAGE="https://sourceforge.net/projects/libtirpc/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
+ mirror://gentoo/${PN}-glibc-nfs.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0/3" # subslot matches SONAME major
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="ipv6 kerberos static-libs"
+
+RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ elibc_musl? ( sys-libs/queue-standalone )"
+BDEPEND="
+ app-arch/xz-utils
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3.2-fix-dos.patch"
+)
+
+src_prepare() {
+ cp -r "${WORKDIR}"/tirpc "${S}"/ || die
+ default
+
+ # Flatcar: Set netconfig path to /usr so NFS works in
+ # PXE/ISO-booted systems.
+ sed -i -e "s,/etc,/usr/share/tirpc," "${S}/tirpc/netconfig.h" || die
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable ipv6)
+ $(use_enable kerberos gssapi)
+ $(use_enable static-libs static)
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+ default
+
+ # libtirpc replaces rpc support in glibc, so we need it in /
+ gen_usr_ldscript -a tirpc
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ insinto /usr/share/tirpc
+ doins doc/netconfig
+
+ insinto /usr/include/tirpc
+ doins -r "${WORKDIR}"/tirpc/*
+
+ # makes sure that the linking order for nfs-utils is proper, as
+ # libtool would inject a libgssglue dependency in the list.
+ if ! use static-libs ; then
+ find "${ED}" -name "*.la" -delete || die
+ fi
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/metadata.xml b/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/metadata.xml
new file mode 100644
index 0000000000..2033e65a99
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-libs/libtirpc/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+
+ cpe:/a:libtirpc_project:libtirpc
+ libtirpc
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/Manifest b/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/Manifest
new file mode 100644
index 0000000000..dc231fa6a2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/Manifest
@@ -0,0 +1,2 @@
+DIST rpcsvc-proto-1.3.1.tar.gz 59174 BLAKE2B d50d958cfad79142d686ae6312cdaa6044f1322bc794dbc95c1b78d088396c5adda292c83d150f3502df859c23d4e370894283ae210e5fe9aa1d0e8ed05553d0 SHA512 d687665ed51fd6fd66ab638813c5020f0c8b8491625b91937ac4b5ee4dd2357eae8e2909394e7651494e7aea77a6279ae907ba6354682ba446de7088b55f54ea
+DIST rpcsvc-proto-1.4.tar.gz 59127 BLAKE2B 484c04d6a0f86d37c0057693771b7fe502166504fc419bce4dd182f76e349cf226307814a2c51b27fa0bc09e270b883cb40ae821f8bd7d7e0c9a120c4962ae34 SHA512 a29d7761ec9cca4d7d7aa6943a243771a6c7f35d303f01af84f390c8395dc5e543fad7ea28fec1be2f6ee8f2853bf22a157ad3b020057040685b6cbce9b09415
diff --git a/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/files/rpcsvc-proto-1.3.1-old-preprocessor.patch b/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/files/rpcsvc-proto-1.3.1-old-preprocessor.patch
new file mode 100644
index 0000000000..5d77786a71
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/files/rpcsvc-proto-1.3.1-old-preprocessor.patch
@@ -0,0 +1,31 @@
+From ce0ed4f45918f9230db435ee3b733090fa4f9620 Mon Sep 17 00:00:00 2001
+From: Florian Weimer
+Date: Tue, 27 Mar 2018 12:08:30 +0200
+Subject: [PATCH] Remove historic _RPC_THREAD_SAFE_ preprocessor conditional
+
+When the code was imported from glibc, the -D_RPC_THREAD_SAFE_
+build flag was missed.
+---
+ rpcgen/rpc_main.c | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/rpcgen/rpc_main.c b/rpcgen/rpc_main.c
+index 94bd818..1b26e52 100644
+--- a/rpcgen/rpc_main.c
++++ b/rpcgen/rpc_main.c
+@@ -1346,15 +1346,6 @@ parseargs (int argc, const char *argv[], struct commandline *cmd)
+ cmd->Scflag = flag['C'];
+ cmd->makefileflag = flag['M'];
+
+-#ifndef _RPC_THREAD_SAFE_
+- if (mtflag || newstyle)
+- {
+- /* glibc doesn't support these flags. */
+- f_print (stderr,
+- _("This implementation doesn't support newstyle or MT-safe code!\n"));
+- return (0);
+- }
+-#endif
+ if (tirpcflag)
+ {
+ pmflag = inetdflag ? 0 : 1; /* pmflag or inetdflag is always TRUE */
diff --git a/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/metadata.xml b/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/metadata.xml
new file mode 100644
index 0000000000..bcf493eae9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ toolchain@gentoo.org
+ Gentoo Toolchain Project
+
+
+ base-system@gentoo.org
+ Gentoo Base System Project
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/rpcsvc-proto-0.ebuild b/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/rpcsvc-proto-0.ebuild
new file mode 100644
index 0000000000..e78fd8941b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/rpcsvc-proto-0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="rpcsvc protocol definitions from glibc"
+HOMEPAGE="https://github.com/thkukuk/rpcsvc-proto"
+
+# Fake version to help portage upgrading.
+
+SLOT="0"
+LICENSE="LGPL-2.1+ BSD"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="elibc_glibc? ( sys-libs/glibc[rpc(-)] )"
+RDEPEND="${DEPEND}"
diff --git a/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/rpcsvc-proto-1.3.1-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/rpcsvc-proto-1.3.1-r1.ebuild
new file mode 100644
index 0000000000..8a8003bcc4
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-libs/rpcsvc-proto/rpcsvc-proto-1.3.1-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="rpcsvc protocol definitions from glibc"
+HOMEPAGE="https://github.com/thkukuk/rpcsvc-proto"
+SRC_URI="https://github.com/thkukuk/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1+ BSD"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
+IUSE=""
+
+RDEPEND="! ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1+ BSD"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+RDEPEND="!/dev/null | LC_COLLATE=C sort | sed -n '${s:/::;p;Q}')
+ if [[ -z ${VERSION} ]] ; then
+ VERSION=$(ls "${0%/*}"/../../ntp-*.ebuild | LC_COLLATE=C sort | sed -n '${s:.*/::;s:_::;s:[.]ebuild::;p;Q}')
+ if [[ -z ${VERSION} ]] ; then
+ echo "Usage: $0 "
+ exit 1
+ fi
+ fi
+fi
+[[ ${VERSION} != ntp-* ]] && VERSION="ntp-${VERSION}"
+
+SRCDIR=${0%/*}
+HTMLDIR=${SRCDIR}/${VERSION}/html
+DISTFILE=/usr/portage/distfiles/${VERSION}.tar.gz
+MANDIR=${SRCDIR}/man
+
+rm -rf ${SRCDIR}/${VERSION}
+if [[ ! -d ${HTMLDIR} ]] ; then
+ if [[ -f ${DISTFILE} ]] ; then
+ tar zxf ${DISTFILE} -C ${SRCDIR} || exit 1
+ else
+ echo "ERROR: $HTMLDIR / $DISTFILE does not exist"
+ exit 1
+ fi
+fi
+
+# Process a single HTML file
+processfile() {
+ HTMLFILE=$1
+ MANFILE=$2
+ echo -n "Processing $HTMLFILE ..."
+ sed -e "s:/:" $HTMLDIR/$HTMLFILE > .$HTMLFILE
+ xsltproc --html --stringparam version $VERSION ${SRCDIR}/ntp.xsl .$HTMLFILE > $MANDIR/$MANFILE || exit 1
+ rm -f .$HTMLFILE
+ echo "Done."
+}
+
+# Print information
+echo "Generates ntp man files from HTML documentation. Using:"
+echo "VERSION: $VERSION"
+echo "HTMLDIR: $HTMLDIR"
+echo "MANDIR: $MANDIR"
+echo "Press enter to continue, or Ctrl-C to cancel."
+read
+
+# Process HTML files
+rm -rf ${MANDIR}
+mkdir ${MANDIR}
+for f in ntp{date,dc,d,q,time,trace,dsim} keygen tickadj ; do
+ processfile ${f}.html ${f}.8
+done
+echo
+
+cp -vi /usr/local/src/freebsd/src/usr.sbin/ntp/doc/*.5 ${MANDIR}
+(
+d=${PWD}
+cd ${MANDIR}
+shopt -s nullglob
+for p in $d/*.5.patch ; do
+ patch -F0 -p0 < $p || exit 1
+done
+) || exit 1
+cp -vi ${SRCDIR}/*.patch ${SRCDIR}/genmans.sh ${SRCDIR}/ntp.xsl ${MANDIR}
+
+tar -jcf ${VERSION}-manpages.tar.bz2 -C ${MANDIR}/.. man
+du -b ${VERSION}-manpages.tar.bz2
+
+rm -rf ${MANDIR} ${SRCDIR}/${VERSION}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/man-pages/ntp.conf.5.patch b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/man-pages/ntp.conf.5.patch
new file mode 100644
index 0000000000..c3d8123022
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/man-pages/ntp.conf.5.patch
@@ -0,0 +1,27 @@
+--- ntp.conf.5
++++ ntp.conf.5
+@@ -24,16 +24,6 @@
+ .Fl c
+ command line option).
+ .Pp
+-The
+-.Pa /etc/rc.d/ntpdate
+-script reads this file to get a list of NTP servers to use if the
+-variable
+-.Dq Li ntpdate_hosts
+-was not declared.
+-Refer to the
+-.Xr rc.conf 5
+-man page for further info about this.
+-.Pp
+ The file format is similar to other
+ .Ux
+ configuration files.
+@@ -2686,7 +2676,6 @@
+ Diffie-Hellman agreement parameters
+ .El
+ .Sh SEE ALSO
+-.Xr rc.conf 5 ,
+ .Xr ntpd 8 ,
+ .Xr ntpdc 8 ,
+ .Xr ntpq 8
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/man-pages/ntp.xsl b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/man-pages/ntp.xsl
new file mode 100644
index 0000000000..ed9c1f8b8e
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/man-pages/ntp.xsl
@@ -0,0 +1,218 @@
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .\" Automatically generated from HTML source.
+ DO NOT EDIT!&newline;
+
+
+
+
+ .TH
+
+ 1 "" "ntp
+
+ "
+ &newline;
+ .SH NAME
+ &newline;
+
+ &newline;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &newline;
+
+ .SH
+
+ &newline;
+
+
+
+ .SH AUTHOR
+ &newline;
+
+
+
+
+
+
+
+
+ &newline;
+
+ .P
+ &newline;
+
+ &newline;
+
+
+
+ &newline;
+ &newline;
+
+
+
+
+
+
+
+ &newline;
+ .ft CW
+ &newline;
+ .nf
+ &newline;
+
+
+
+ &newline;
+ .ft R
+ &newline;
+ .fi
+ &newline;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .TP&newline;
+ .B
+
+ &newline;
+
+
+
+
+ &newline;
+
+
+
+
+
+ &newline;
+ &newline;
+
+
+
+
+ &newline;
+ \fB
+
+ \fR
+
+
+
+ &newline;
+ \fI
+
+ \fR
+
+
+
+
+
+
+
+
+
+ &newline;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8-ipc-caps.patch b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8-ipc-caps.patch
new file mode 100644
index 0000000000..a1e558052d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8-ipc-caps.patch
@@ -0,0 +1,16 @@
+http://bugs.ntp.org/show_bug.cgi?id=2646
+https://bugs.gentoo.org/533966
+
+--- a/ntpd/ntpd.c
++++ a/ntpd/ntpd.c
+@@ -971,8 +971,8 @@ getgroup:
+ char *captext;
+
+ captext = (0 != interface_interval)
+- ? "cap_sys_time,cap_net_bind_service=pe"
+- : "cap_sys_time=pe";
++ ? "cap_ipc_lock,cap_sys_time,cap_net_bind_service=pe"
++ : "cap_ipc_lock,cap_sys_time=pe";
+ caps = cap_from_text(captext);
+ if (!caps) {
+ msyslog(LOG_ERR,
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8-sntp-test-pthreads.patch b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8-sntp-test-pthreads.patch
new file mode 100644
index 0000000000..4f8d15ff85
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8-sntp-test-pthreads.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/563922
+http://bugs.ntp.org/show_bug.cgi?id=2906
+
+--- a/sntp/tests/Makefile.in
++++ b/sntp/tests/Makefile.in
+@@ -783,6 +783,7 @@ base_LDADD = \
+ $(LIBOPTS_LDADD) \
+ $(LDADD_LIBEVENT) \
+ $(top_builddir)/../libntp/libntp.a \
++ $(PTHREAD_LIBS) \
+ $(LDADD_LIBNTP) \
+ $(LDADD_NTP) \
+ $(NULL)
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8_p10-fix-build-wo-ssl-or-libressl.patch b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8_p10-fix-build-wo-ssl-or-libressl.patch
new file mode 100644
index 0000000000..1b532c6d89
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8_p10-fix-build-wo-ssl-or-libressl.patch
@@ -0,0 +1,39 @@
+Fix building with libressl or without SSL.
+
+Origin: http://bugs.ntp.org/attachment.cgi?id=1481
+
+LibreSSL fix from Joe Kappus (https://bugs.gentoo.org/show_bug.cgi?id=600668#c2)
+
+--- a/include/libssl_compat.h
++++ b/include/libssl_compat.h
+@@ -37,7 +37,7 @@
+ #endif
+
+ /* ----------------------------------------------------------------- */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ /* ----------------------------------------------------------------- */
+
+ # include
+--- a/libntp/libssl_compat.c
++++ b/libntp/libssl_compat.c
+@@ -26,7 +26,7 @@
+ /* ----------------------------------------------------------------- */
+
+ /* ----------------------------------------------------------------- */
+-#if defined(OPENSSL) && OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(OPENSSL) && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER))
+ /* ----------------------------------------------------------------- */
+
+ #include "libssl_compat.h"
+--- a/libntp/ssl_init.c
++++ b/libntp/ssl_init.c
+@@ -21,7 +21,7 @@
+
+ int ssl_init_done;
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+
+ static void
+ atexit_ssl_cleanup(void)
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8_p12-libressl-2.8.patch b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8_p12-libressl-2.8.patch
new file mode 100644
index 0000000000..182fcefe88
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8_p12-libressl-2.8.patch
@@ -0,0 +1,16 @@
+--- ntp-4.2.8p12.orig/include/libssl_compat.h 2018-12-08 01:14:58.434733497 +0000
++++ ntp-4.2.8p12/include/libssl_compat.h 2018-12-08 01:42:04.479474757 +0000
+@@ -107,10 +107,13 @@
+
+ #define OpenSSL_version_num SSLeay
+ #define OpenSSL_version SSLeay_version
++
++# if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x20800000L
+ #define X509_get0_notBefore X509_get_notBefore
+ #define X509_getm_notBefore X509_get_notBefore
+ #define X509_get0_notAfter X509_get_notAfter
+ #define X509_getm_notAfter X509_get_notAfter
++#endif /* !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x20800000L */
+
+ /* ----------------------------------------------------------------- */
+ #endif /* OPENSSL_VERSION_NUMBER < v1.1.0 */
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8_p14-add_cap_ipc_lock.patch b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8_p14-add_cap_ipc_lock.patch
new file mode 100644
index 0000000000..183b6d8d47
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp-4.2.8_p14-add_cap_ipc_lock.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/711530
+
+--- ntp-4.2.8p14/ntpd/ntpd.c
++++ ntp-4.2.8p14/ntpd/ntpd.c
+@@ -1189,7 +1189,7 @@
+ * drop privileges in this case.
+ */
+ cap_t caps;
+- caps = cap_from_text("cap_sys_time,cap_setuid,cap_setgid,cap_sys_chroot,cap_net_bind_service=pe");
++ caps = cap_from_text("cap_ipc_lock,cap_sys_time,cap_setuid,cap_setgid,cap_sys_chroot,cap_net_bind_service=pe");
+ if ( ! caps) {
+ msyslog( LOG_ERR, "cap_from_text() failed: %m" );
+ exit(-1);
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp.conf b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp.conf
new file mode 100644
index 0000000000..c0cd2271f9
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp.conf
@@ -0,0 +1,19 @@
+# Common pool
+server 0.flatcar.pool.ntp.org
+server 1.flatcar.pool.ntp.org
+server 2.flatcar.pool.ntp.org
+server 3.flatcar.pool.ntp.org
+
+# Warning: Using default NTP settings will leave your NTP
+# server accessible to all hosts on the Internet.
+
+# If you want to deny all machines (including your own)
+# from accessing the NTP server, uncomment:
+#restrict default ignore
+
+# Default configuration:
+# - Allow only time queries, at a limited rate, sending KoD when in excess.
+# - Allow all local queries (IPv4, IPv6)
+restrict default nomodify nopeer noquery notrap limited kod
+restrict 127.0.0.1
+restrict [::1]
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp.tmpfiles b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp.tmpfiles
new file mode 100644
index 0000000000..ac582aaeab
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntp.tmpfiles
@@ -0,0 +1,2 @@
+d /var/lib/ntp 0755 ntp ntp - -
+L /etc/ntp.conf - - - - /usr/share/ntp/ntp.conf
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntpd.service b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntpd.service
new file mode 100644
index 0000000000..65c109b243
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntpd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Network Time Service
+After=ntpdate.service sntp.service
+Conflicts=systemd-timesyncd.service
+
+[Service]
+ExecStart=/usr/sbin/ntpd -g -n -f /var/lib/ntp/ntp.drift
+PrivateTmp=true
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntpdate.service b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntpdate.service
new file mode 100644
index 0000000000..4ba6cf249c
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/ntpdate.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Set time via NTP using ntpdate
+After=network-online.target nss-lookup.target
+Before=time-sync.target
+Wants=time-sync.target
+Conflicts=systemd-timesyncd.service
+
+[Service]
+Type=oneshot
+Environment="SERVER=0.flatcar.pool.ntp.org 1.flatcar.pool.ntp.org 2.flatcar.pool.ntp.org 3.flatcar.pool.ntp.org"
+ExecStart=/usr/sbin/ntpdate -b -u $SERVER
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/sntp.service b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/sntp.service
new file mode 100644
index 0000000000..60a5784d50
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/files/sntp.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Set time via SNTP
+After=network.target NetworkManager-wait-online.service nss-lookup.target
+Before=time-sync.target
+Wants=time-sync.target
+Conflicts=systemd-timesyncd.service
+
+[Service]
+Type=oneshot
+Environment="SERVER=0.flatcar.pool.ntp.org 1.flatcar.pool.ntp.org 2.flatcar.pool.ntp.org 3.flatcar.pool.ntp.org"
+ExecStart=/usr/bin/sntp -s $SERVER
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/metadata.xml b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/metadata.xml
new file mode 100644
index 0000000000..88e81f1ab2
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/metadata.xml
@@ -0,0 +1,23 @@
+
+
+
+
+ base-system@gentoo.org
+ Gentoo Base System
+
+
+NTP is a protocol designed to synchronize the clocks of computers over a network. NTP
+version 3 is an internet draft standard, formalized in RFC 1305. NTP version 4 is a
+significant revision of the NTP standard, and is the current development version, but
+has not been formalized in an RFC. Simple NTP (SNTP) version 4 is described in RFC
+2030.
+
+
+
+ cpe:/a:ntp:ntp
+
+
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/ntp-4.2.8_p15.ebuild b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/ntp-4.2.8_p15.ebuild
new file mode 100644
index 0000000000..ea2e33085d
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/ntp/ntp-4.2.8_p15.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools toolchain-funcs flag-o-matic systemd
+
+MY_P=${P/_p/p}
+DESCRIPTION="Network Time Protocol suite/programs"
+HOMEPAGE="http://www.ntp.org/"
+SRC_URI="http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${PV:0:3}/${MY_P}.tar.gz
+ https://dev.gentoo.org/~polynomial-c/${MY_P}-manpages.tar.xz"
+
+LICENSE="HPND BSD ISC"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~m68k-mint"
+IUSE="caps debug ipv6 libressl openntpd parse-clocks perl readline samba selinux snmp ssl threads vim-syntax zeroconf"
+
+COMMON_DEPEND="readline? ( >=sys-libs/readline-4.1:0= )
+ >=dev-libs/libevent-2.0.9:=[threads?]
+ kernel_linux? ( caps? ( sys-libs/libcap ) )
+ zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
+ snmp? ( net-analyzer/net-snmp )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ parse-clocks? ( net-misc/pps-tools )"
+BDEPEND="virtual/pkgconfig
+ acct-group/ntp
+ acct-user/ntp"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ acct-group/ntp
+ acct-user/ntp
+ selinux? ( sec-policy/selinux-ntp )
+ vim-syntax? ( app-vim/ntp-syntax )
+ !net-misc/ntpsec
+ !openntpd? ( !net-misc/openntpd )
+"
+PDEPEND="openntpd? ( net-misc/openntpd )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.2.8-ipc-caps.patch #533966
+ "${FILESDIR}"/${PN}-4.2.8-sntp-test-pthreads.patch #563922
+ "${FILESDIR}"/${PN}-4.2.8_p10-fix-build-wo-ssl-or-libressl.patch
+ "${FILESDIR}"/${PN}-4.2.8_p12-libressl-2.8.patch
+ "${FILESDIR}"/${PN}-4.2.8_p14-add_cap_ipc_lock.patch #711530
+)
+
+src_prepare() {
+ default
+ use perl || sed -i -e '/^SUBDIRS *=/,/[^\\]$/{/scripts/d;}' Makefile.am || die
+ append-cppflags -D_GNU_SOURCE #264109
+ # Make sure every build uses the same install layout. #539092
+ find sntp/loc/ -type f '!' -name legacy -delete || die
+ eautoreconf #622754
+ # Disable pointless checks.
+ touch .checkChangeLog .gcc-warning FRC.html html/.datecheck
+}
+
+src_configure() {
+ # avoid libmd5/libelf
+ export ac_cv_search_MD5Init=no ac_cv_header_md5_h=no
+ export ac_cv_lib_elf_nlist=no
+ # blah, no real configure options #176333
+ export ac_cv_header_dns_sd_h=$(usex zeroconf)
+ export ac_cv_lib_dns_sd_DNSServiceRegister=${ac_cv_header_dns_sd_h}
+ # Increase the default memlimit from 32MiB to 128MiB. #533232
+ local myeconfargs=(
+ --with-lineeditlibs=readline,edit,editline
+ --with-yielding-select
+ --disable-local-libevent
+ --with-memlock=256
+ $(use_enable caps linuxcaps)
+ $(use_enable parse-clocks)
+ $(use_enable ipv6)
+ $(use_enable debug debugging)
+ $(use_with readline lineeditlibs readline)
+ $(use_enable samba ntp-signd)
+ $(use_with snmp ntpsnmpd)
+ $(use_with ssl crypto)
+ $(use_enable threads thread-support)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ # move ntpd/ntpdate to sbin #66671
+ dodir /usr/sbin
+ mv "${ED}"/usr/bin/{ntpd,ntpdate} "${ED}"/usr/sbin/ || die "move to sbin"
+
+ dodoc INSTALL WHERE-TO-START
+ doman "${WORKDIR}"/man/*.[58]
+
+ insinto /usr/share/ntp
+ doins "${FILESDIR}"/ntp.conf
+ use ipv6 || sed -i '/^restrict .*::1/d' "${ED%/}"/usr/share/ntp/ntp.conf #524726
+ systemd_newtmpfilesd "${FILESDIR}"/ntp.tmpfiles ntp.conf
+
+ keepdir /var/lib/ntp
+ use prefix || fowners ntp:ntp /var/lib/ntp
+
+ if use openntpd ; then
+ cd "${ED}" || die
+ rm usr/sbin/ntpd || die
+ rm -r var/lib || die
+ rm usr/share/man/*/ntpd.8 || die
+ else
+ systemd_dounit "${FILESDIR}"/ntpd.service
+ if use caps ; then
+ sed -i '/ExecStart/ s|$| -u ntp:ntp|' \
+ "${D}$(systemd_get_systemunitdir)"/ntpd.service \
+ || die
+ fi
+ systemd_enable_ntpunit 60-ntpd ntpd.service
+ fi
+
+ systemd_dounit "${FILESDIR}"/ntpdate.service
+ systemd_dounit "${FILESDIR}"/sntp.service
+}
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/Manifest b/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/Manifest
new file mode 100644
index 0000000000..abbd256887
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/Manifest
@@ -0,0 +1,6 @@
+DIST openssh-8.7p1+x509-13.2.diff.gz 1068695 BLAKE2B e542e5444f8360e0e28288d6a58d66995ff90e9f6bb1490b04a205162036e371a20d612655ca1bd479b8a04d5ccbfd9b7189b090d50ccbb019848e28571b036b SHA512 342e1ee050258c99f8f206664ef756e1be2c82e5faa5f966b80385aa2c6c601974681459ddba32c1ca5c33eda530af681e753471706c71902c1045a2913cd540
+DIST openssh-8.7p1-sctp-1.2.patch.xz 6740 BLAKE2B 468a455018ffddf4fa64d63acb732ad3e1fb722ae8b24d06cf3a683167a4580626b477bbc286f296c83d39dd36c101ac58597a21daa63de83ad55af00aa3a6be SHA512 aa9067c9025b6e4edfad5e45ec92da43db14edb11aae02cbbc296e66b48377cbbf62cdafcdd5edfd1fd4bf69420ee017223ab52e50a42b1976002d767984777c
+DIST openssh-8.7p1.tar.gz 1814595 BLAKE2B 9fdb8898485053d08c9eca419c15d0d03b7a60152cf6a9d7f1beed3a21c9e6ac3bd9f854580e6e474fb0c871f3d4be9ef4b49bee8c355d9e5769a5505f4e6ea9 SHA512 08c81024d9e1248abfda6cc874886ff5ae916669b93cd6aff640e0614ee8cbcbc3fe87a9ce47136b6443ddbb1168b114367c74e117551905994e1a7e3fa2c0c2
+DIST openssh-8_5_P1-hpn-AES-CTR-15.2.diff 30096 BLAKE2B f0c020dd2403806c79d4c37a019996d275655b04997301e247f5c4dd7fad35d12b3b7c25afb1b078d915ef2a4ae02f736f0aec9ba2a8c56a405d7ca303bcadf7 SHA512 4c2dbf99a9b5953fdb955f700272bbaeaa025f108a8860d2190197962b849f8385327af82c4d6a3a130a7fba35a74a8ec9437d642867601acb29817c49632a8f
+DIST openssh-8_5_P1-hpn-DynWinNoneSwitch-15.2.diff 51428 BLAKE2B 370b88a7da7f148bf5a4d445f05cf593b486e9df53bba027e2e179726f534b68cf9d94edd6e53024e0b6ff5f20e568727bc9d26c94d0d415603602a80d3ad241 SHA512 2d8d887901164b33b2799ff3ec72e86a39ae4a1696e52bcee0872dbae7772fcc534351e6e7f87126ee71b164c74e9091350f14b782f4b242a09f09b4f50d047a
+DIST openssh-8_5_P1-hpn-PeakTput-15.2.diff 2429 BLAKE2B 849bf3c313719ab7a25c75e82d5dc5ac98365a038b2a66fe58d01eae5b20c7777258b94b5830e799d6909e75c69753cda05a910f3bdab9606fb7d5efa68e05f1 SHA512 c4a56fab55fabd1d902d45f235b603708d43f969920e45c9a57e557dccfa9cade2ec61f26d1ace938f6f73e79f17b12f119b5aea9166cbda8e3435b910500914
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/files/openssh-6.7_p1-openssl-ignore-status.patch b/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/files/openssh-6.7_p1-openssl-ignore-status.patch
new file mode 100644
index 0000000000..fa33af39b6
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/files/openssh-6.7_p1-openssl-ignore-status.patch
@@ -0,0 +1,17 @@
+the last nibble of the openssl version represents the status. that is,
+whether it is a beta or release. when it comes to version checks in
+openssh, this component does not matter, so ignore it.
+
+https://bugzilla.mindrot.org/show_bug.cgi?id=2212
+
+--- a/openbsd-compat/openssl-compat.c
++++ b/openbsd-compat/openssl-compat.c
+@@ -58,7 +58,7 @@ ssh_compatible_openssl(long headerver, long libver)
+ * For versions >= 1.0.0, major,minor,status must match and library
+ * fix version must be equal to or newer than the header.
+ */
+- mask = 0xfff0000fL; /* major,minor,status */
++ mask = 0xfff00000L; /* major,minor,status */
+ hfix = (headerver & 0x000ff000) >> 12;
+ lfix = (libver & 0x000ff000) >> 12;
+ if ( (headerver & mask) == (libver & mask) && lfix >= hfix)
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/files/openssh-7.5_p1-disable-conch-interop-tests.patch b/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/files/openssh-7.5_p1-disable-conch-interop-tests.patch
new file mode 100644
index 0000000000..a5647ce9d8
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/files/openssh-7.5_p1-disable-conch-interop-tests.patch
@@ -0,0 +1,20 @@
+Disable conch interop tests which are failing when called
+via portage for yet unknown reason and because using conch
+seems to be flaky (test is failing when using Python2 but
+passing when using Python3).
+
+Bug: https://bugs.gentoo.org/605446
+
+--- a/regress/conch-ciphers.sh
++++ b/regress/conch-ciphers.sh
+@@ -3,6 +3,10 @@
+
+ tid="conch ciphers"
+
++# https://bugs.gentoo.org/605446
++echo "conch interop tests skipped due to Gentoo bug #605446"
++exit 0
++
+ if test "x$REGRESS_INTEROP_CONCH" != "xyes" ; then
+ echo "conch interop tests not enabled"
+ exit 0
diff --git a/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/files/openssh-7.9_p1-include-stdlib.patch b/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/files/openssh-7.9_p1-include-stdlib.patch
new file mode 100644
index 0000000000..c5697c2b8b
--- /dev/null
+++ b/sdk_container/src/third_party/coreos-overlay/net-misc/openssh/files/openssh-7.9_p1-include-stdlib.patch
@@ -0,0 +1,48 @@
+diff --git a/auth-options.c b/auth-options.c
+index b05d6d6f..d1f42f04 100644
+--- a/auth-options.c
++++ b/auth-options.c
+@@ -26,6 +26,7 @@
+ #include
+ #include
+ #include
++#include
+
+ #include "openbsd-compat/sys-queue.h"
+
+diff --git a/hmac.c b/hmac.c
+index 1c879640..a29f32c5 100644
+--- a/hmac.c
++++ b/hmac.c
+@@ -19,6 +19,7 @@
+
+ #include
+ #include
++#include
+
+ #include "sshbuf.h"
+ #include "digest.h"
+diff --git a/krl.c b/krl.c
+index 8e2d5d5d..c32e147a 100644
+--- a/krl.c
++++ b/krl.c
+@@ -28,6 +28,7 @@
+ #include
+ #include
+ #include