From cd7e6618707477c554ac37d56cf4565851c81d3c Mon Sep 17 00:00:00 2001
From: Thomas Boerger <tboerger@suse.de>
Date: Thu, 24 Nov 2016 14:40:56 +0100
Subject: [PATCH 1/5] Added dummy tasks for mysql and pgsql tests

---
 Makefile | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Makefile b/Makefile
index a57f6610af..7370d53cbe 100644
--- a/Makefile
+++ b/Makefile
@@ -62,6 +62,14 @@ lint:
 test:
 	for PKG in $(PACKAGES); do go test -cover -coverprofile $$GOPATH/src/$$PKG/coverage.out $$PKG || exit 1; done;
 
+.PHONY: test-mysql
+test-mysql:
+	@echo "Not integrated yet!"
+
+.PHONY: test-pgsql
+test-pgsql:
+	@echo "Not integrated yet!"
+
 .PHONY: check
 check: test
 

From fd13b71fb2d6f4f1fbb05da8d9e179d708637f74 Mon Sep 17 00:00:00 2001
From: Thomas Boerger <tboerger@suse.de>
Date: Thu, 24 Nov 2016 14:41:30 +0100
Subject: [PATCH 2/5] Added drone instead of travis detection to makefile

---
 Makefile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 7370d53cbe..88eafb0488 100644
--- a/Makefile
+++ b/Makefile
@@ -19,11 +19,11 @@ PACKAGES ?= $(shell go list ./... | grep -v /vendor/)
 
 TAGS ?=
 
-ifneq ($(TRAVIS_TAG),)
-	VERSION ?= $(TRAVIS_TAG)
+ifneq ($(DRONE_TAG),)
+	VERSION ?= $(DRONE_TAG)
 else
-	ifneq ($(TRAVIS_BRANCH),)
-		VERSION ?= $(TRAVIS_BRANCH)
+	ifneq ($(DRONE_BRANCH),)
+		VERSION ?= $(DRONE_BRANCH)
 	else
 		VERSION ?= master
 	endif

From cb0b91cdc952a1f70c89182b066a62d0140ece1e Mon Sep 17 00:00:00 2001
From: Thomas Boerger <tboerger@suse.de>
Date: Thu, 24 Nov 2016 14:41:59 +0100
Subject: [PATCH 3/5] Dropped travis config

---
 .travis.yml | 36 ------------------------------------
 1 file changed, 36 deletions(-)
 delete mode 100644 .travis.yml

diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index fd97313c75..0000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-language: go
-
-go_import_path: code.gitea.io/gitea
-
-go:
-  - 1.6
-  - 1.7
-
-env:
-  TAGS: cert sqlite pam miniwinsvc
-
-before_install:
-  - sudo apt-get update -qq
-  - sudo apt-get install -y libpam-dev
-
-script:
-  - make clean
-  - make vet
-
-  # - make lint
-
-  - make test
-  - make build
-
-after_success:
-  - bash <(curl -s https://codecov.io/bash)
-
-notifications:
-  webhooks:
-    on_success: change
-    on_failure: always
-    on_start: never
-    urls:
-      - https://webhooks.gitter.im/e/ee6b822f3cf54c98e70c
-      - https://webhooks.gitter.im/e/87428658ef177ce8a7e4
-      - https://webhooks.gitter.im/e/a1d2b69804dfda72187e

From 4c0397432660adb1204975f4156c55e9bc204ba0 Mon Sep 17 00:00:00 2001
From: Matthias Loibl <mail@matthiasloibl.com>
Date: Sun, 6 Nov 2016 18:32:54 +0100
Subject: [PATCH 4/5] Create a first draft for .drone.yml

---
 .drone.yml     | 118 +++++++++++++++++++++++++++++++++++++++++++++++++
 .drone.yml.sig |   1 +
 2 files changed, 119 insertions(+)
 create mode 100644 .drone.yml
 create mode 100644 .drone.yml.sig

diff --git a/.drone.yml b/.drone.yml
new file mode 100644
index 0000000000..fdc0afea45
--- /dev/null
+++ b/.drone.yml
@@ -0,0 +1,118 @@
+workspace:
+  base: /srv/app
+  path: src/code.gitea.io/gitea
+
+pipeline:
+  test:
+    image: webhippie/golang:edge
+    pull: true
+    environment:
+      CGO_ENABLED: 0
+      TAGS: cert sqlite pam miniwinsvc
+    commands:
+      - apk -U add linux-pam-dev openssh-client
+
+      - make clean
+      - make vet
+#      - make lint fails currently with 500 errors
+      - make test
+      - make build
+
+  mysql:
+    image: webhippie/golang:edge
+    pull: true
+    commands:
+     - make test-mysql
+    when:
+      event: push
+
+  pgsql:
+    image: webhippie/golang:edge
+    pull: true
+    commands:
+     - make test-pgsql
+    when:
+      event: push
+
+  updater:
+    image: karalabe/xgo-latest:latest
+    pull: true
+    commands:
+      - make publish
+    when:
+      event: [ push, tag ]
+      branch: [ master, refs/tags/* ]
+
+  coverage:
+    image: plugins/coverage
+    server: https://coverage.gitea.io
+
+  docker1:
+    image: plugins/docker
+    repo: gitea/gitea
+    tags: [ '${TAG}' ]
+    when:
+      event: tag
+      branch: refs/tags/*
+
+  docker2:
+    image: plugins/docker
+    repo: gitea/gitea
+    tags: [ 'latest' ]
+    when:
+      event: push
+      branch: master
+
+  release1:
+    image: plugins/s3
+    path_style: true
+    source: dist/release/
+    target: /lgtm/master
+    when:
+      event: push
+      branch: master
+
+  release2:
+    image: plugins/s3
+    path_style: true
+    source: dist/release/
+    target: /lgtm/$$TAG
+    when:
+      event: tag
+      branch: refs/tags/*
+
+  release3:
+    image: plugins/s3
+    path_style: true
+    source: dist/latest/
+    target: /lgtm/latest
+    when:
+      event: tag
+      branch: refs/tags/*
+
+  github:
+    image: plugins/github-release
+    files:
+      - dist/release/*
+    when:
+      event: tag
+      branch: refs/tags/*
+
+  gitter:
+    image: plugins/gitter
+
+services:
+  mysqlsvc:
+    image: mysql:5.7
+    environment:
+      - MYSQL_DATABASE=test
+      - MYSQL_ALLOW_EMPTY_PASSWORD=yes
+    when:
+      event: push
+
+  pgsqlsvc:
+    image: postgres:9.5
+    environment:
+      - POSTGRES_DB=test
+    when:
+      event: push
diff --git a/.drone.yml.sig b/.drone.yml.sig
new file mode 100644
index 0000000000..1437e0f45b
--- /dev/null
+++ b/.drone.yml.sig
@@ -0,0 +1 @@
+eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIGJhc2U6IC9zcnYvYXBwCiAgcGF0aDogc3JjL2NvZGUuZ2l0ZWEuaW8vZ2l0ZWEKCnBpcGVsaW5lOgogIHRlc3Q6CiAgICBpbWFnZTogd2ViaGlwcGllL2dvbGFuZzplZGdlCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQ0dPX0VOQUJMRUQ6IDAKICAgICAgVEFHUzogY2VydCBzcWxpdGUgcGFtIG1pbml3aW5zdmMKICAgIGNvbW1hbmRzOgogICAgICAtIGFwayAtVSBhZGQgbGludXgtcGFtLWRldiBvcGVuc3NoLWNsaWVudAoKICAgICAgLSBtYWtlIGNsZWFuCiAgICAgIC0gbWFrZSB2ZXQKIyAgICAgIC0gbWFrZSBsaW50IGZhaWxzIGN1cnJlbnRseSB3aXRoIDUwMCBlcnJvcnMKICAgICAgLSBtYWtlIHRlc3QKICAgICAgLSBtYWtlIGJ1aWxkCgogIG15c3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgLSBtYWtlIHRlc3QtbXlzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCgogIHBnc3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgLSBtYWtlIHRlc3QtcGdzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCgogIHVwZGF0ZXI6CiAgICBpbWFnZToga2FyYWxhYmUveGdvLWxhdGVzdDpsYXRlc3QKICAgIHB1bGw6IHRydWUKICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2UgcHVibGlzaAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciwgcmVmcy90YWdzLyogXQoKICBjb3ZlcmFnZToKICAgIGltYWdlOiBwbHVnaW5zL2NvdmVyYWdlCiAgICBzZXJ2ZXI6IGh0dHBzOi8vY292ZXJhZ2UuZ2l0ZWEuaW8KCiAgZG9ja2VyMToKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogZ2l0ZWEvZ2l0ZWEKICAgIHRhZ3M6IFsgJyR7VEFHfScgXQogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwogICAgICBicmFuY2g6IHJlZnMvdGFncy8qCgogIGRvY2tlcjI6CiAgICBpbWFnZTogcGx1Z2lucy9kb2NrZXIKICAgIHJlcG86IGdpdGVhL2dpdGVhCiAgICB0YWdzOiBbICdsYXRlc3QnIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCiAgICAgIGJyYW5jaDogbWFzdGVyCgogIHJlbGVhc2UxOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHNvdXJjZTogZGlzdC9yZWxlYXNlLwogICAgdGFyZ2V0OiAvbGd0bS9tYXN0ZXIKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCiAgICAgIGJyYW5jaDogbWFzdGVyCgogIHJlbGVhc2UyOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHNvdXJjZTogZGlzdC9yZWxlYXNlLwogICAgdGFyZ2V0OiAvbGd0bS8kJFRBRwogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwogICAgICBicmFuY2g6IHJlZnMvdGFncy8qCgogIHJlbGVhc2UzOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHNvdXJjZTogZGlzdC9sYXRlc3QvCiAgICB0YXJnZXQ6IC9sZ3RtL2xhdGVzdAogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwogICAgICBicmFuY2g6IHJlZnMvdGFncy8qCgogIGdpdGh1YjoKICAgIGltYWdlOiBwbHVnaW5zL2dpdGh1Yi1yZWxlYXNlCiAgICBmaWxlczoKICAgICAgLSBkaXN0L3JlbGVhc2UvKgogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwogICAgICBicmFuY2g6IHJlZnMvdGFncy8qCgogIGdpdHRlcjoKICAgIGltYWdlOiBwbHVnaW5zL2dpdHRlcgoKc2VydmljZXM6CiAgbXlzcWxzdmM6CiAgICBpbWFnZTogbXlzcWw6NS43CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBNWVNRTF9EQVRBQkFTRT10ZXN0CiAgICAgIC0gTVlTUUxfQUxMT1dfRU1QVFlfUEFTU1dPUkQ9eWVzCiAgICB3aGVuOgogICAgICBldmVudDogcHVzaAoKICBwZ3NxbHN2YzoKICAgIGltYWdlOiBwb3N0Z3Jlczo5LjUKICAgIGVudmlyb25tZW50OgogICAgICAtIFBPU1RHUkVTX0RCPXRlc3QKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCg.opfoV7bpz1nSKIymq-VjF68P3dhGlvRg9z1NjMDf7Bg
\ No newline at end of file

From fd090dc29b2482b60fb821912be2859209aeb1a5 Mon Sep 17 00:00:00 2001
From: Thomas Boerger <tboerger@suse.de>
Date: Thu, 24 Nov 2016 14:48:40 +0100
Subject: [PATCH 5/5] Added matrix drone builds

---
 .drone.yml     | 50 ++++++++++++++++++++++++++++++++++++--------------
 .drone.yml.sig |  2 +-
 2 files changed, 37 insertions(+), 15 deletions(-)

diff --git a/.drone.yml b/.drone.yml
index fdc0afea45..f4608b7661 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -4,30 +4,30 @@ workspace:
 
 pipeline:
   test:
-    image: webhippie/golang:edge
+    image: webhippie/golang:${GO_VERSION}
     pull: true
     environment:
-      CGO_ENABLED: 0
+      CGO_ENABLED: 1
       TAGS: cert sqlite pam miniwinsvc
     commands:
       - apk -U add linux-pam-dev openssh-client
 
       - make clean
       - make vet
-#      - make lint fails currently with 500 errors
+      # - make lint
       - make test
       - make build
 
-  mysql:
-    image: webhippie/golang:edge
+  test-mysql:
+    image: webhippie/golang:${GO_VERSION}
     pull: true
     commands:
      - make test-mysql
     when:
       event: push
 
-  pgsql:
-    image: webhippie/golang:edge
+  test-pgsql:
+    image: webhippie/golang:${GO_VERSION}
     pull: true
     commands:
      - make test-pgsql
@@ -42,28 +42,37 @@ pipeline:
     when:
       event: [ push, tag ]
       branch: [ master, refs/tags/* ]
+      matrix:
+        GO_VERSION: 1.7
 
   coverage:
     image: plugins/coverage
     server: https://coverage.gitea.io
+    when:
+      matrix:
+        GO_VERSION: 1.7
 
-  docker1:
+  docker:
     image: plugins/docker
     repo: gitea/gitea
     tags: [ '${TAG}' ]
     when:
       event: tag
       branch: refs/tags/*
+      matrix:
+        GO_VERSION: 1.7
 
-  docker2:
+  docker:
     image: plugins/docker
     repo: gitea/gitea
     tags: [ 'latest' ]
     when:
       event: push
       branch: master
+      matrix:
+        GO_VERSION: 1.7
 
-  release1:
+  release:
     image: plugins/s3
     path_style: true
     source: dist/release/
@@ -71,8 +80,10 @@ pipeline:
     when:
       event: push
       branch: master
+      matrix:
+        GO_VERSION: 1.7
 
-  release2:
+  release:
     image: plugins/s3
     path_style: true
     source: dist/release/
@@ -80,8 +91,10 @@ pipeline:
     when:
       event: tag
       branch: refs/tags/*
+      matrix:
+        GO_VERSION: 1.7
 
-  release3:
+  latest:
     image: plugins/s3
     path_style: true
     source: dist/latest/
@@ -89,6 +102,8 @@ pipeline:
     when:
       event: tag
       branch: refs/tags/*
+      matrix:
+        GO_VERSION: 1.7
 
   github:
     image: plugins/github-release
@@ -97,12 +112,14 @@ pipeline:
     when:
       event: tag
       branch: refs/tags/*
+      matrix:
+        GO_VERSION: 1.7
 
   gitter:
     image: plugins/gitter
 
 services:
-  mysqlsvc:
+  mysql:
     image: mysql:5.7
     environment:
       - MYSQL_DATABASE=test
@@ -110,9 +127,14 @@ services:
     when:
       event: push
 
-  pgsqlsvc:
+  pgsql:
     image: postgres:9.5
     environment:
       - POSTGRES_DB=test
     when:
       event: push
+
+matrix:
+  GO_VERSION:
+    - 1.6
+    - 1.7
diff --git a/.drone.yml.sig b/.drone.yml.sig
index 1437e0f45b..978c1cd5f4 100644
--- a/.drone.yml.sig
+++ b/.drone.yml.sig
@@ -1 +1 @@
-eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIGJhc2U6IC9zcnYvYXBwCiAgcGF0aDogc3JjL2NvZGUuZ2l0ZWEuaW8vZ2l0ZWEKCnBpcGVsaW5lOgogIHRlc3Q6CiAgICBpbWFnZTogd2ViaGlwcGllL2dvbGFuZzplZGdlCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQ0dPX0VOQUJMRUQ6IDAKICAgICAgVEFHUzogY2VydCBzcWxpdGUgcGFtIG1pbml3aW5zdmMKICAgIGNvbW1hbmRzOgogICAgICAtIGFwayAtVSBhZGQgbGludXgtcGFtLWRldiBvcGVuc3NoLWNsaWVudAoKICAgICAgLSBtYWtlIGNsZWFuCiAgICAgIC0gbWFrZSB2ZXQKIyAgICAgIC0gbWFrZSBsaW50IGZhaWxzIGN1cnJlbnRseSB3aXRoIDUwMCBlcnJvcnMKICAgICAgLSBtYWtlIHRlc3QKICAgICAgLSBtYWtlIGJ1aWxkCgogIG15c3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgLSBtYWtlIHRlc3QtbXlzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCgogIHBnc3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgLSBtYWtlIHRlc3QtcGdzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCgogIHVwZGF0ZXI6CiAgICBpbWFnZToga2FyYWxhYmUveGdvLWxhdGVzdDpsYXRlc3QKICAgIHB1bGw6IHRydWUKICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2UgcHVibGlzaAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciwgcmVmcy90YWdzLyogXQoKICBjb3ZlcmFnZToKICAgIGltYWdlOiBwbHVnaW5zL2NvdmVyYWdlCiAgICBzZXJ2ZXI6IGh0dHBzOi8vY292ZXJhZ2UuZ2l0ZWEuaW8KCiAgZG9ja2VyMToKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogZ2l0ZWEvZ2l0ZWEKICAgIHRhZ3M6IFsgJyR7VEFHfScgXQogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwogICAgICBicmFuY2g6IHJlZnMvdGFncy8qCgogIGRvY2tlcjI6CiAgICBpbWFnZTogcGx1Z2lucy9kb2NrZXIKICAgIHJlcG86IGdpdGVhL2dpdGVhCiAgICB0YWdzOiBbICdsYXRlc3QnIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCiAgICAgIGJyYW5jaDogbWFzdGVyCgogIHJlbGVhc2UxOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHNvdXJjZTogZGlzdC9yZWxlYXNlLwogICAgdGFyZ2V0OiAvbGd0bS9tYXN0ZXIKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCiAgICAgIGJyYW5jaDogbWFzdGVyCgogIHJlbGVhc2UyOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHNvdXJjZTogZGlzdC9yZWxlYXNlLwogICAgdGFyZ2V0OiAvbGd0bS8kJFRBRwogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwogICAgICBicmFuY2g6IHJlZnMvdGFncy8qCgogIHJlbGVhc2UzOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHNvdXJjZTogZGlzdC9sYXRlc3QvCiAgICB0YXJnZXQ6IC9sZ3RtL2xhdGVzdAogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwogICAgICBicmFuY2g6IHJlZnMvdGFncy8qCgogIGdpdGh1YjoKICAgIGltYWdlOiBwbHVnaW5zL2dpdGh1Yi1yZWxlYXNlCiAgICBmaWxlczoKICAgICAgLSBkaXN0L3JlbGVhc2UvKgogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwogICAgICBicmFuY2g6IHJlZnMvdGFncy8qCgogIGdpdHRlcjoKICAgIGltYWdlOiBwbHVnaW5zL2dpdHRlcgoKc2VydmljZXM6CiAgbXlzcWxzdmM6CiAgICBpbWFnZTogbXlzcWw6NS43CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBNWVNRTF9EQVRBQkFTRT10ZXN0CiAgICAgIC0gTVlTUUxfQUxMT1dfRU1QVFlfUEFTU1dPUkQ9eWVzCiAgICB3aGVuOgogICAgICBldmVudDogcHVzaAoKICBwZ3NxbHN2YzoKICAgIGltYWdlOiBwb3N0Z3Jlczo5LjUKICAgIGVudmlyb25tZW50OgogICAgICAtIFBPU1RHUkVTX0RCPXRlc3QKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCg.opfoV7bpz1nSKIymq-VjF68P3dhGlvRg9z1NjMDf7Bg
\ No newline at end of file
+eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIGJhc2U6IC9zcnYvYXBwCiAgcGF0aDogc3JjL2NvZGUuZ2l0ZWEuaW8vZ2l0ZWEKCnBpcGVsaW5lOgogIHRlc3Q6CiAgICBpbWFnZTogd2ViaGlwcGllL2dvbGFuZzoke0dPX1ZFUlNJT059CiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQ0dPX0VOQUJMRUQ6IDEKICAgICAgVEFHUzogY2VydCBzcWxpdGUgcGFtIG1pbml3aW5zdmMKICAgIGNvbW1hbmRzOgogICAgICAtIGFwayAtVSBhZGQgbGludXgtcGFtLWRldiBvcGVuc3NoLWNsaWVudAoKICAgICAgLSBtYWtlIGNsZWFuCiAgICAgIC0gbWFrZSB2ZXQKICAgICAgIyAtIG1ha2UgbGludAogICAgICAtIG1ha2UgdGVzdAogICAgICAtIG1ha2UgYnVpbGQKCiAgdGVzdC1teXNxbDoKICAgIGltYWdlOiB3ZWJoaXBwaWUvZ29sYW5nOiR7R09fVkVSU0lPTn0KICAgIHB1bGw6IHRydWUKICAgIGNvbW1hbmRzOgogICAgIC0gbWFrZSB0ZXN0LW15c3FsCiAgICB3aGVuOgogICAgICBldmVudDogcHVzaAoKICB0ZXN0LXBnc3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6JHtHT19WRVJTSU9OfQogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgLSBtYWtlIHRlc3QtcGdzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCgogIHVwZGF0ZXI6CiAgICBpbWFnZToga2FyYWxhYmUveGdvLWxhdGVzdDpsYXRlc3QKICAgIHB1bGw6IHRydWUKICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2UgcHVibGlzaAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciwgcmVmcy90YWdzLyogXQogICAgICBtYXRyaXg6CiAgICAgICAgR09fVkVSU0lPTjogMS43CgogIGNvdmVyYWdlOgogICAgaW1hZ2U6IHBsdWdpbnMvY292ZXJhZ2UKICAgIHNlcnZlcjogaHR0cHM6Ly9jb3ZlcmFnZS5naXRlYS5pbwogICAgd2hlbjoKICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNwoKICBkb2NrZXI6CiAgICBpbWFnZTogcGx1Z2lucy9kb2NrZXIKICAgIHJlcG86IGdpdGVhL2dpdGVhCiAgICB0YWdzOiBbICcke1RBR30nIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiB0YWcKICAgICAgYnJhbmNoOiByZWZzL3RhZ3MvKgogICAgICBtYXRyaXg6CiAgICAgICAgR09fVkVSU0lPTjogMS43CgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogZ2l0ZWEvZ2l0ZWEKICAgIHRhZ3M6IFsgJ2xhdGVzdCcgXQogICAgd2hlbjoKICAgICAgZXZlbnQ6IHB1c2gKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgbWF0cml4OgogICAgICAgIEdPX1ZFUlNJT046IDEuNwoKICByZWxlYXNlOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHNvdXJjZTogZGlzdC9yZWxlYXNlLwogICAgdGFyZ2V0OiAvbGd0bS9tYXN0ZXIKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCiAgICAgIGJyYW5jaDogbWFzdGVyCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcKCiAgcmVsZWFzZToKICAgIGltYWdlOiBwbHVnaW5zL3MzCiAgICBwYXRoX3N0eWxlOiB0cnVlCiAgICBzb3VyY2U6IGRpc3QvcmVsZWFzZS8KICAgIHRhcmdldDogL2xndG0vJCRUQUcKICAgIHdoZW46CiAgICAgIGV2ZW50OiB0YWcKICAgICAgYnJhbmNoOiByZWZzL3RhZ3MvKgogICAgICBtYXRyaXg6CiAgICAgICAgR09fVkVSU0lPTjogMS43CgogIGxhdGVzdDoKICAgIGltYWdlOiBwbHVnaW5zL3MzCiAgICBwYXRoX3N0eWxlOiB0cnVlCiAgICBzb3VyY2U6IGRpc3QvbGF0ZXN0LwogICAgdGFyZ2V0OiAvbGd0bS9sYXRlc3QKICAgIHdoZW46CiAgICAgIGV2ZW50OiB0YWcKICAgICAgYnJhbmNoOiByZWZzL3RhZ3MvKgogICAgICBtYXRyaXg6CiAgICAgICAgR09fVkVSU0lPTjogMS43CgogIGdpdGh1YjoKICAgIGltYWdlOiBwbHVnaW5zL2dpdGh1Yi1yZWxlYXNlCiAgICBmaWxlczoKICAgICAgLSBkaXN0L3JlbGVhc2UvKgogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwogICAgICBicmFuY2g6IHJlZnMvdGFncy8qCiAgICAgIG1hdHJpeDoKICAgICAgICBHT19WRVJTSU9OOiAxLjcKCiAgZ2l0dGVyOgogICAgaW1hZ2U6IHBsdWdpbnMvZ2l0dGVyCgpzZXJ2aWNlczoKICBteXNxbDoKICAgIGltYWdlOiBteXNxbDo1LjcKICAgIGVudmlyb25tZW50OgogICAgICAtIE1ZU1FMX0RBVEFCQVNFPXRlc3QKICAgICAgLSBNWVNRTF9BTExPV19FTVBUWV9QQVNTV09SRD15ZXMKICAgIHdoZW46CiAgICAgIGV2ZW50OiBwdXNoCgogIHBnc3FsOgogICAgaW1hZ2U6IHBvc3RncmVzOjkuNQogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gUE9TVEdSRVNfREI9dGVzdAogICAgd2hlbjoKICAgICAgZXZlbnQ6IHB1c2gKCm1hdHJpeDoKICBHT19WRVJTSU9OOgogICAgLSAxLjYKICAgIC0gMS43Cg.oE18Ibc0sX6XpnJXhtJvch7hW9cJNXCeGu7O59UW5-w
\ No newline at end of file