From 32073781142342d878e37c1dca018de3e6ccac82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kim=20=22BKC=22=20Carlb=C3=A4cker?=
 <kim.carlbacker@gmail.com>
Date: Mon, 30 Jan 2017 13:29:22 +0100
Subject: [PATCH 1/8] Enable nginx, replace favicon, update docs

---
 Procfile.example              |   2 +-
 doc/prepare.md                |  15 ++++++++-------
 nginx/conf/nginx.conf.example |   4 ++++
 nginx/favicon-gdk.ico         | Bin 0 -> 5430 bytes
 4 files changed, 13 insertions(+), 8 deletions(-)
 create mode 100644 nginx/favicon-gdk.ico

diff --git a/Procfile.example b/Procfile.example
index 94c61da..5823682 100644
--- a/Procfile.example
+++ b/Procfile.example
@@ -12,5 +12,5 @@ rails-background-jobs: exec /usr/bin/env SIDEKIQ_LOG_ARGUMENTS=1 RAILS_ENV=devel
 #influxdb: exec influxdb/bin/influxd -config influxdb/influxdb.conf
 #grafana: exec support/wait-postgresql-ready support/exec-cd grafana bin/grafana-server -config grafana.ini
 #sshd: exec /usr/sbin/sshd -e -D -f /home/git/openssh/sshd_config
-#nginx: exec nginx -p /home/git/nginx -c conf/nginx.conf
+nginx: exec nginx -p /home/git/nginx -c /home/git/nginc/conf/nginx.conf
 #gitaly: exec /usr/bin/env GITALY_SOCKET_PATH=/home/git/gitaly.socket GITALY_PROMETHEUS_LISTEN_ADDR=:9101 gitaly/bin/gitaly
diff --git a/doc/prepare.md b/doc/prepare.md
index 60a827f..be1ac29 100644
--- a/doc/prepare.md
+++ b/doc/prepare.md
@@ -49,6 +49,7 @@ We are using PostgreSQL-9.5 in the following example. If you want to use another
 
 ```
 sudo port install git redis libiconv postgresql95-server icu pkgconfig cmake nodejs4 go openssl npm2
+sudo port install nginx +ssl
 bundle config build.eventmachine --with-cppflags=-I/opt/local/include/openssl
 sudo npm install phantomjs-prebuilt@2.1.12 -g
 echo 'export PATH=/opt/local/lib/postgresql95/bin/:$PATH' >> ~/.profile
@@ -65,7 +66,7 @@ sudo apt-get install software-properties-common python-software-properties
 # This PPA contains an up-to-date version of Go
 sudo apt-add-repository -y ppa:ubuntu-lxc/lxd-stable
 sudo apt-get update
-sudo apt-get install git postgresql postgresql-contrib libpq-dev redis-server libicu-dev cmake g++ nodejs nodejs-legacy npm libkrb5-dev golang ed pkg-config
+sudo apt-get install git postgresql postgresql-contrib libpq-dev redis-server libicu-dev cmake g++ nodejs nodejs-legacy npm libkrb5-dev golang ed pkg-config nginx
 npm install phantomjs-prebuilt@2.1.12 -g
 ```
 
@@ -74,7 +75,7 @@ npm install phantomjs-prebuilt@2.1.12 -g
 Please read [the prerequisites for all platforms](#prerequisites-for-all-platforms).
 
 ```
-pacman -S postgresql redis postgresql-libs icu nodejs ed cmake openssh git go
+pacman -S postgresql redis postgresql-libs icu nodejs ed cmake openssh git go nginx
 npm install phantomjs-prebuilt@2.1.12 -g
 ```
 
@@ -83,7 +84,7 @@ npm install phantomjs-prebuilt@2.1.12 -g
 Please read [the prerequisites for all platforms](#prerequisites-for-all-platforms).
 
 ```
-sudo apt-get install postgresql postgresql-contrib libpq-dev redis-server libicu-dev cmake g++ nodejs npm libkrb5-dev ed pkg-config
+sudo apt-get install postgresql postgresql-contrib libpq-dev redis-server libicu-dev cmake g++ nodejs npm libkrb5-dev ed pkg-config nginx-full
 ```
 
 If you are running Debian Stretch or newer you will need to install Go
@@ -108,7 +109,7 @@ You may need to install Redis 2.8 or newer manually.
 We assume you are using Fedora >= 22.
 
 ```
-sudo dnf install postgresql libpqxx-devel postgresql-libs redis libicu-devel nodejs git ed cmake rpm-build gcc-c++ krb5-devel go postgresql-server postgresql-contrib
+sudo dnf install postgresql libpqxx-devel postgresql-libs redis libicu-devel nodejs git ed cmake rpm-build gcc-c++ krb5-devel go postgresql-server postgresql-contrib nginx
 ```
 
 Install `phantomJS` manually, or download it and put in your $PATH. For
@@ -125,7 +126,7 @@ This is tested on CentOS 6.5:
 ```
 sudo yum install http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm
 sudo yum install https://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
-sudo yum install postgresql93-server libicu-devel cmake gcc-c++ redis ed fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6 golang nodejs
+sudo yum install postgresql93-server libicu-devel cmake gcc-c++ redis ed fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6 golang nodejs nginx
 
 sudo rvm install 2.3
 sudo rvm use 2.3
@@ -156,7 +157,7 @@ sudo zypper dup
 
 sudo zypper install libxslt-devel  postgresql postgresql-devel libpqxx-devel redis libicu-devel nodejs git ed cmake \
          rpm-build gcc-c++ krb5-devel go postgresql-server postgresql-contrib \
-         libxml2-devel libxml2-devel-32bit findutils-locate
+         libxml2-devel libxml2-devel-32bit findutils-locate nginx
 
 sudo npm install -g phantomjs
 ```
@@ -189,7 +190,7 @@ Please read [the prerequisites for all platforms](#prerequisites-for-all-platfor
 
 ```
 sudo pkg install postgresql93-server postgresql93-contrib postgresql-libpqxx \
-redis go node icu krb5 phantomjs gmake
+redis go node icu krb5 phantomjs gmake nginx
 ```
 
 ### Other platforms
diff --git a/nginx/conf/nginx.conf.example b/nginx/conf/nginx.conf.example
index 372e43f..800ec61 100644
--- a/nginx/conf/nginx.conf.example
+++ b/nginx/conf/nginx.conf.example
@@ -44,6 +44,10 @@ http {
     ssl_certificate /home/git/localhost.crt;
     ssl_certificate_key /home/git/localhost.key;
 
+    location ~* favicon.*\.ico$ {
+        alias /home/git/nginx/favicon-gdk.ico;
+    }
+
     location / {
         proxy_set_header    Host                $http_host;
         proxy_set_header    X-Real-IP           $remote_addr;
diff --git a/nginx/favicon-gdk.ico b/nginx/favicon-gdk.ico
new file mode 100644
index 0000000000000000000000000000000000000000..0de682e31d7bf898f4a385ca6b885d5b93c4a4c9
GIT binary patch
literal 5430
zcmcgwdv8=l6km-WfRE6>?yit%j6z}z7D1?m1kpw+EfEO_TY36G1O&pP^%1l@8X#0a
z8+oY&`XXw5AoT$T5slKCVvKDmZMQ7DvfXyKbLV)@+?~01@4drzMVaJe&OP%xkD0so
zoHH8;+!44lFlI~u=Yl}^u0X&D1Of#G*7H%6zk{+6%8*5bCCABkfM)O!6H-<6kba{P
zh|g#6ND^5235W&fAe8}|dlL9Sa#SYxPkq299sy>og5FRu^o6Dio;`dN_{Bc04bC~3
zhueUSdk^tjAZ<JcouNXcNrGp_R<ULtX#>JK2Ok;%bM+b2+mEyZDGWD^GU&V;^^u5Y
zMg`JNr2Sy7X$3w!B24hEzk$uFNBIGyeMl>i!Vn40RQkk|%v!6(8L>~)1Mj{8v@c7S
ze6K?a!-%mMx<iwdKJg^8Y!HU9Xru5Lu&0|W-gqms9)>~V8Ko=tkVKiKPjL_y^~;*U
z-1jr`yOEwpqO~wYgHL+&Nha4V>~1h?e*xYRg<)eE(tJhzMf0Jjcy1Pv%!wf#{>OFk
zF0M?Sqx=!?em`{3B)jrxslxRXl_^}bYNwJ%D|b3yZ5AKhy4}XTUZd8AzB{kv#Oub;
zH$T|8vp*^rPp6@4e6b+nb%Uo6cmHG1HDLzuwDtRu*vQI_K$L4lmam6_7dLreiKZ4v
zG`4u;Zb72qGZ<|CLWzBoLLNfOGX+SKkSHJNhH{uE!%Yt99iKqDrUi(<orA}Qfh}x;
zc(5F4F0jR?fX9b#O9=eZ0I(?^;y1Ti<iNhr48gOh9|3Q__P@qpp6md2&->`F5_9Jw
zkwdLKx(H=e!0xRBv+?qO9s^G^FgJgXJ}@^KyO1if@^Hc^7cyql2#i^IHt*V`3!3*0
zI&x_(+Fyy3oyP})j|-W#Mi`8<ycu|8P-k{ja(=!S*h5tFXx~KZk^Jhw6h|G{VB;rZ
zZM>kbjk+L2&8+(k*w}-%En}PTP5zU{JeBY4Ix<hKGvjSr59_XZ=#t9GI-gR`lUQ?K
zK8^aBS|;|r2cMTH`~G#PM6EMpDe`-f<hfyO#yU>*{APpy6$du+ghP+?DUMZ0Rt=<j
z+Y_4R+5gp0k-}J5(sAwqZOy`d2m1oQ!B2Mrd*B1qkul48OP1YXV}aGbWO@*J{?yZ?
za81T(&Dh(x?M*lYytPY(K)KVbxd1FE{W)i==W*JM2WNZsE@OxXOI`kDZ{)OzeCPm}
zdoGIKg!#(X-WWy9)H5x2*$a!DC;ho+D;HYt$&Q)&uFN;-Itz1cE3ol?XHM^Jt;e^@
zdG529&)8FrU|zI+%UIT-%=KHKSROnKY{}=i<~kqaO&=TCy{CKc^4ZFT(yw#Q^ma~P
zE4~Et<KJEWvwJ@0UYxzF^yi-KT<G*oJbk}p+ukeH6LBX{zrA;H{Us!~t~cko{mSR=
zkTVy$?U3!vdk7r_9vu?j0eh+;6W1nR-xQBu&XYdfGhzMqV97RHzUDNkZ_wO*5oOgk
z(edxS-G1fs^`J8sy3c@~w~PK>24J@JL&A6#sa#9Zh3lZdV$G;1x?ru=j^$%M-Vf|v
zMfC7f^m*mV<k_RHAG9Z7udqa$r+TJ&?-J3?)ml8Q<vXrz*rvBvwaa5J*?LZkPo6pF
z!RHbrzxq~d&+jh7hg0GXB7Z}2rh5sk<vYye5Om$=t&?5jr{f*R|1K0+_L?VVlKtD!
zU-7Ef-U}PG<`TzGdGLwj&02h}g&W5jy!Prp)vB>b6gtOFvUQMW5&JvQDry#3Z^X7m
zHEP@=z@jk?+7kDcRwy0fZ*^QP!T(z_^|7~nX-;$Ty>$v7-&2<pp9>JHIcVFfJ)8>;
zsrJhXpK81HyG-iWc4aT!@n=r|B6nfF%Qxrg49i^Tm-BQwvF)`GtFF~8=Pkd!Z7;-j
O9q`rD{V#C4<o^Hwaujj^

literal 0
HcmV?d00001

-- 
GitLab


From 5be3647007444a9a5153e73ae0132d979040e13a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kim=20=22BKC=22=20Carlb=C3=A4cker?=
 <kim.carlbacker@gmail.com>
Date: Mon, 30 Jan 2017 13:41:08 +0100
Subject: [PATCH 2/8] no SSL on :3080

---
 nginx/conf/nginx.conf.example | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/nginx/conf/nginx.conf.example b/nginx/conf/nginx.conf.example
index 800ec61..b0ff392 100644
--- a/nginx/conf/nginx.conf.example
+++ b/nginx/conf/nginx.conf.example
@@ -38,6 +38,27 @@ http {
       ''      close;
   }
 
+  server {
+    listen 127.0.0.1:3080;
+
+    location ~* favicon.*\.ico$ {
+        alias /home/git/nginx/favicon-gdk.ico;
+    }
+
+    location / {
+        proxy_set_header    Host                $http_host;
+        proxy_set_header    X-Real-IP           $remote_addr;
+        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
+        proxy_set_header    X-Forwarded-Proto   $scheme;
+        proxy_set_header    Upgrade             $http_upgrade;
+        proxy_set-header    Connection          $connection_upgrade;
+
+        proxy_read_timeout 300;
+
+        proxy_pass http://gitlab-workhorse;
+    }
+  }
+
   server {
     listen 127.0.0.1:3443 ssl;
 
-- 
GitLab


From 00cffe666a971ab9d12440e140bd013ddc20e272 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kim=20=22BKC=22=20Carlb=C3=A4cker?=
 <kim.carlbacker@gmail.com>
Date: Mon, 30 Jan 2017 14:26:35 +0100
Subject: [PATCH 3/8] Always rebuild nginx-config

---
 Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index 7a5d78e..7892a4f 100644
--- a/Makefile
+++ b/Makefile
@@ -252,6 +252,7 @@ openssh/ssh_host_rsa_key:
 
 nginx-setup: nginx/conf/nginx.conf nginx/logs nginx/tmp
 
+.PHONY: nginx/conf/nginx.conf
 nginx/conf/nginx.conf:
 	sed -e "s|/home/git|${gitlab_development_root}|" nginx/conf/nginx.conf.example > $@
 
-- 
GitLab


From e149fe5f8b021f660058c581266f7616dfab1ffd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kim=20=22BKC=22=20Carlb=C3=A4cker?=
 <kim.carlbacker@gmail.com>
Date: Mon, 30 Jan 2017 14:27:06 +0100
Subject: [PATCH 4/8] use relative path or nginx craps out

---
 Procfile.example | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Procfile.example b/Procfile.example
index 5823682..7c7f671 100644
--- a/Procfile.example
+++ b/Procfile.example
@@ -12,5 +12,5 @@ rails-background-jobs: exec /usr/bin/env SIDEKIQ_LOG_ARGUMENTS=1 RAILS_ENV=devel
 #influxdb: exec influxdb/bin/influxd -config influxdb/influxdb.conf
 #grafana: exec support/wait-postgresql-ready support/exec-cd grafana bin/grafana-server -config grafana.ini
 #sshd: exec /usr/sbin/sshd -e -D -f /home/git/openssh/sshd_config
-nginx: exec nginx -p /home/git/nginx -c /home/git/nginc/conf/nginx.conf
+nginx: exec nginx -p /home/git/nginx -c conf/nginx.conf
 #gitaly: exec /usr/bin/env GITALY_SOCKET_PATH=/home/git/gitaly.socket GITALY_PROMETHEUS_LISTEN_ADDR=:9101 gitaly/bin/gitaly
-- 
GitLab


From eb24268c25b3421d7558ddae52e0d4ac447a9d3d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kim=20=22BKC=22=20Carlb=C3=A4cker?=
 <kim.carlbacker@gmail.com>
Date: Mon, 30 Jan 2017 14:27:26 +0100
Subject: [PATCH 5/8] disable TLS since nginx fails w/o the cert-files

---
 nginx/conf/nginx.conf.example | 26 +-------------------------
 1 file changed, 1 insertion(+), 25 deletions(-)

diff --git a/nginx/conf/nginx.conf.example b/nginx/conf/nginx.conf.example
index b0ff392..d52520e 100644
--- a/nginx/conf/nginx.conf.example
+++ b/nginx/conf/nginx.conf.example
@@ -51,31 +51,7 @@ http {
         proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
         proxy_set_header    X-Forwarded-Proto   $scheme;
         proxy_set_header    Upgrade             $http_upgrade;
-        proxy_set-header    Connection          $connection_upgrade;
-
-        proxy_read_timeout 300;
-
-        proxy_pass http://gitlab-workhorse;
-    }
-  }
-
-  server {
-    listen 127.0.0.1:3443 ssl;
-
-    ssl_certificate /home/git/localhost.crt;
-    ssl_certificate_key /home/git/localhost.key;
-
-    location ~* favicon.*\.ico$ {
-        alias /home/git/nginx/favicon-gdk.ico;
-    }
-
-    location / {
-        proxy_set_header    Host                $http_host;
-        proxy_set_header    X-Real-IP           $remote_addr;
-        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
-        proxy_set_header    X-Forwarded-Proto   $scheme;
-        proxy_set_header    Upgrade             $http_upgrade;
-        proxy_set-header    Connection          $connection_upgrade;
+        proxy_set_header    Connection          $connection_upgrade;
 
         proxy_read_timeout 300;
 
-- 
GitLab


From c78d3c98cad4b65030a330474a4a7c28579413ba Mon Sep 17 00:00:00 2001
From: Dimitrie Hoekstra <dimitrie@gitlab.com>
Date: Mon, 30 Jan 2017 13:45:04 +0000
Subject: [PATCH 6/8] Update prepare.md with nginx for homebrew

---
 doc/prepare.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/prepare.md b/doc/prepare.md
index be1ac29..0ea90d6 100644
--- a/doc/prepare.md
+++ b/doc/prepare.md
@@ -38,7 +38,7 @@ Please read [the prerequisites for all platforms](#prerequisites-for-all-platfor
 ```
 brew tap homebrew/dupes
 brew tap homebrew/versions
-brew install git redis postgresql libiconv icu4c pkg-config cmake nodejs go openssl node npm
+brew install git redis postgresql libiconv icu4c pkg-config cmake nodejs go openssl node npm nginx
 bundle config build.eventmachine --with-cppflags=-I/usr/local/opt/openssl/include
 npm install phantomjs-prebuilt@2.1.12 -g
 ```
-- 
GitLab


From 2dc0bd5d2909966cb0c9eb636a07e786754d718e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kim=20=22BKC=22=20Carlb=C3=A4cker?=
 <kim.carlbacker@gmail.com>
Date: Mon, 30 Jan 2017 17:40:41 +0100
Subject: [PATCH 7/8] use absolute path for favicon

---
 nginx/conf/nginx.conf.example | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nginx/conf/nginx.conf.example b/nginx/conf/nginx.conf.example
index d52520e..684dfb8 100644
--- a/nginx/conf/nginx.conf.example
+++ b/nginx/conf/nginx.conf.example
@@ -41,7 +41,7 @@ http {
   server {
     listen 127.0.0.1:3080;
 
-    location ~* favicon.*\.ico$ {
+    location ~* /assets/favicon.*\.ico$ {
         alias /home/git/nginx/favicon-gdk.ico;
     }
 
-- 
GitLab


From 0b718f910eee7a2bb1399926323b041ca27a7d22 Mon Sep 17 00:00:00 2001
From: dimitrieh <dimitriehoekstra@gmail.com>
Date: Mon, 30 Jan 2017 18:58:27 +0100
Subject: [PATCH 8/8] updated favicon to include transparancy and be blue

---
 nginx/favicon-gdk.ico | Bin 5430 -> 5430 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 nginx/favicon-gdk.ico

diff --git a/nginx/favicon-gdk.ico b/nginx/favicon-gdk.ico
old mode 100644
new mode 100755
index 0de682e31d7bf898f4a385ca6b885d5b93c4a4c9..71acdf670ab48827376ef071657da6d7fa9e306f
GIT binary patch
literal 5430
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
OiaL_NMKKZNFv&ls2@&uB

literal 5430
zcmcgwdv8=l6km-WfRE6>?yit%j6z}z7D1?m1kpw+EfEO_TY36G1O&pP^%1l@8X#0a
z8+oY&`XXw5AoT$T5slKCVvKDmZMQ7DvfXyKbLV)@+?~01@4drzMVaJe&OP%xkD0so
zoHH8;+!44lFlI~u=Yl}^u0X&D1Of#G*7H%6zk{+6%8*5bCCABkfM)O!6H-<6kba{P
zh|g#6ND^5235W&fAe8}|dlL9Sa#SYxPkq299sy>og5FRu^o6Dio;`dN_{Bc04bC~3
zhueUSdk^tjAZ<JcouNXcNrGp_R<ULtX#>JK2Ok;%bM+b2+mEyZDGWD^GU&V;^^u5Y
zMg`JNr2Sy7X$3w!B24hEzk$uFNBIGyeMl>i!Vn40RQkk|%v!6(8L>~)1Mj{8v@c7S
ze6K?a!-%mMx<iwdKJg^8Y!HU9Xru5Lu&0|W-gqms9)>~V8Ko=tkVKiKPjL_y^~;*U
z-1jr`yOEwpqO~wYgHL+&Nha4V>~1h?e*xYRg<)eE(tJhzMf0Jjcy1Pv%!wf#{>OFk
zF0M?Sqx=!?em`{3B)jrxslxRXl_^}bYNwJ%D|b3yZ5AKhy4}XTUZd8AzB{kv#Oub;
zH$T|8vp*^rPp6@4e6b+nb%Uo6cmHG1HDLzuwDtRu*vQI_K$L4lmam6_7dLreiKZ4v
zG`4u;Zb72qGZ<|CLWzBoLLNfOGX+SKkSHJNhH{uE!%Yt99iKqDrUi(<orA}Qfh}x;
zc(5F4F0jR?fX9b#O9=eZ0I(?^;y1Ti<iNhr48gOh9|3Q__P@qpp6md2&->`F5_9Jw
zkwdLKx(H=e!0xRBv+?qO9s^G^FgJgXJ}@^KyO1if@^Hc^7cyql2#i^IHt*V`3!3*0
zI&x_(+Fyy3oyP})j|-W#Mi`8<ycu|8P-k{ja(=!S*h5tFXx~KZk^Jhw6h|G{VB;rZ
zZM>kbjk+L2&8+(k*w}-%En}PTP5zU{JeBY4Ix<hKGvjSr59_XZ=#t9GI-gR`lUQ?K
zK8^aBS|;|r2cMTH`~G#PM6EMpDe`-f<hfyO#yU>*{APpy6$du+ghP+?DUMZ0Rt=<j
z+Y_4R+5gp0k-}J5(sAwqZOy`d2m1oQ!B2Mrd*B1qkul48OP1YXV}aGbWO@*J{?yZ?
za81T(&Dh(x?M*lYytPY(K)KVbxd1FE{W)i==W*JM2WNZsE@OxXOI`kDZ{)OzeCPm}
zdoGIKg!#(X-WWy9)H5x2*$a!DC;ho+D;HYt$&Q)&uFN;-Itz1cE3ol?XHM^Jt;e^@
zdG529&)8FrU|zI+%UIT-%=KHKSROnKY{}=i<~kqaO&=TCy{CKc^4ZFT(yw#Q^ma~P
zE4~Et<KJEWvwJ@0UYxzF^yi-KT<G*oJbk}p+ukeH6LBX{zrA;H{Us!~t~cko{mSR=
zkTVy$?U3!vdk7r_9vu?j0eh+;6W1nR-xQBu&XYdfGhzMqV97RHzUDNkZ_wO*5oOgk
z(edxS-G1fs^`J8sy3c@~w~PK>24J@JL&A6#sa#9Zh3lZdV$G;1x?ru=j^$%M-Vf|v
zMfC7f^m*mV<k_RHAG9Z7udqa$r+TJ&?-J3?)ml8Q<vXrz*rvBvwaa5J*?LZkPo6pF
z!RHbrzxq~d&+jh7hg0GXB7Z}2rh5sk<vYye5Om$=t&?5jr{f*R|1K0+_L?VVlKtD!
zU-7Ef-U}PG<`TzGdGLwj&02h}g&W5jy!Prp)vB>b6gtOFvUQMW5&JvQDry#3Z^X7m
zHEP@=z@jk?+7kDcRwy0fZ*^QP!T(z_^|7~nX-;$Ty>$v7-&2<pp9>JHIcVFfJ)8>;
zsrJhXpK81HyG-iWc4aT!@n=r|B6nfF%Qxrg49i^Tm-BQwvF)`GtFF~8=Pkd!Z7;-j
O9q`rD{V#C4<o^Hwaujj^

-- 
GitLab