Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l81SN-0006Ok-LY for pgadmin-hackers@arkaria.postgresql.org; Fri, 05 Feb 2021 13:47:32 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l81SM-0005eM-Il for pgadmin-hackers@arkaria.postgresql.org; Fri, 05 Feb 2021 13:47:30 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l81SM-0005e7-38 for pgadmin-hackers@lists.postgresql.org; Fri, 05 Feb 2021 13:47:30 +0000 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1l81SG-0001Ea-0T for pgadmin-hackers@postgresql.org; Fri, 05 Feb 2021 13:47:29 +0000 Received: by mail-ej1-x62b.google.com with SMTP id bl23so12020019ejb.5 for ; Fri, 05 Feb 2021 05:47:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=e17YMSHYmH7YyemhbKmwVoboCzsIkuR4zkUGQuDTVVE=; b=h8rX5MpTfaFnecxHJs2I4I401ayJNESVYw8/s/icxFhFXAitglCFuzpFyPfWTf//Fr 01zPPWz2hWMSu3hv5S4vxgUJ2K3vdULxv3caCVP0IjZny3wsel6UWerGhpIbYb31zSUH RXYFGTOpvGrAEp3oos7S+JyhfmTvnzc7G77rKoKgyaXw7dH986iD75reIpHcrFesjZtj o1KN1ZTSLvd6JdFyLXwycQgWM4DE518O2fpI2S/QR85xELH1F99xBxs57xLEOCAFqF8L 62FXY6cwUwQGSd5Cq2BqpQEQYlxQiGbr62BtTncHkEvwYhcsuxbDWJKOUv8ijqP8/Hoy eAQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=e17YMSHYmH7YyemhbKmwVoboCzsIkuR4zkUGQuDTVVE=; b=PGTzgci6Ape3SZKzSqJ/tDjl7mg97hfflSuPW2t9TnPhia4Lqex7UDaPAM3OmjxaKm agvcp4843b29Z0UukdrD1dmKZ5BhgnNzUjVqFz8WFJAIIif4lVGb0Wi9OPL6xsJSYB0V GPVvoSOtdrZYR/S+jWECV4WGx9AId3zysECVY9KkjGm3o0J52j2OyCb9zO86nMwyMmbD kBhMLtXDKbFTAP0yEbkx9igJuGX78rhPeALZenhrISnoWWLTNG4hwMNf8BgrgfEuNi7y QJKsC2ePxAIDCsCPuEV0a7ytPG+gUFzdn/xXDYujvLb9OAYDafnYBNbMp/A+H6eeeIwz 8zZg== X-Gm-Message-State: AOAM532FbJA9JHM8V2/lt2GPj1Tv31FQoYfq8521YMYEnHVpnNuEXeWY HYrTcWYT+pDKTmxTSKycDu17ABXq+jcTHT37ldNh4TMqJXXQ2ajN X-Google-Smtp-Source: ABdhPJxeAE7dTUeESBgh3Ma65kQCVg+ctWJG5bAw7KjE9U3GbBS/PKzLqWI7IKZeZDKR1ybQaIToWlZFxMSoAuoSArk= X-Received: by 2002:a17:907:f81:: with SMTP id kb1mr4197737ejc.412.1612532842609; Fri, 05 Feb 2021 05:47:22 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Dave Page Date: Fri, 5 Feb 2021 13:47:11 +0000 Message-ID: Subject: Re: UBI based container patch To: pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000004674e805ba970ff1" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000004674e805ba970ff1 Content-Type: multipart/alternative; boundary="0000000000004674e605ba970fef" --0000000000004674e605ba970fef Content-Type: text/plain; charset="UTF-8" * Do not commit this! * For the archives.... I reworked the patch to minimise the size of the resulting container. I managed to knock 52MB off, taking it down to 410MB. In parallel, I also managed to reduce the size of the Alpine container by about 25MB as I realised we were shipping some files that aren't required. To reduce the size of the UBI container, I essentially built a 'ubi-micro' container, by installing only the RPMs that are actually required into an alternate root directory from within the standard UBI container, and then copied that directory into the root of a 'FROM scratch' container. Unfortunately it seems that the issue is essentially the RPM packaging; pulling in things like Postfix also pulls in a huge amount of dependencies that aren't really required (for pgAdmin). Alpine avoids this by minimising their package dependencies. So, I think it's not feasible to move to UBI, without adding a lot to the size of the resulting container. Here's the patch anyway! On Mon, Feb 1, 2021 at 4:21 PM Dave Page wrote: > * Do not commit this! * > > The dev team have discussed moving the pgAdmin container to be based on > Redhat's UBI instead of Alpine Linux. I got some time today to work on > that, and a patch is attached for interest/archives. > > Whilst the build process is arguably cleaner with this patch, plus it > would be easier to maintain the versions of the PostgreSQL tools that are > included, unfortunately using UBI takes the size of the container from > ~278MB to ~462MB. > > So... unless someone finds a huge error in the patch that causes this > bloat, I think we have no choice but to stick with Alpine Linux. > > Any thoughts/comments? > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EDB: http://www.enterprisedb.com > > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EDB: http://www.enterprisedb.com --0000000000004674e605ba970fef Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
* Do not commit this! *

For the archives....

I rew= orked the patch to minimise the size of the resulting container. I managed = to knock 52MB off, taking it down to 410MB. In parallel, I also managed to = reduce the size of the Alpine container by about 25MB as I realised we were= shipping some files that aren't required.

To = reduce the size of the UBI container, I essentially built a 'ubi-micro&= #39; container, by installing only the RPMs that are actually required into= an alternate root directory from within the standard UBI container, and th= en copied that directory into the root of a 'FROM scratch' containe= r. Unfortunately it seems that the issue is essentially the RPM packaging; = pulling in things like Postfix also pulls in a huge amount of dependencies = that aren't really required (for pgAdmin). Alpine avoids this by minimi= sing their package dependencies.

So, I think it= 9;s not feasible to move to UBI, without adding a lot to the size of the re= sulting container.

Here's the patch anyway!
On = Mon, Feb 1, 2021 at 4:21 PM Dave Page <dpage@pgadmin.org> wrote:
* Do not commit this! *

The dev team have discussed moving the pgAdmin container to be based = on Redhat's=C2=A0UBI instead of Alpine Linux. I got some time today to = work on that, and a patch is attached for interest/archives.

=
Whilst the build process is arguably cleaner with this patch, pl= us it would=C2=A0be easier to maintain the versions of the PostgreSQL tools= that are included, unfortunately using UBI takes the size of the container= from ~278MB to ~462MB.=C2=A0

So... unless someone= finds a huge error in the patch that causes this bloat, I think we have no= choice but to stick with Alpine Linux.

Any though= ts/comments?

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

ED= B: http://www.ent= erprisedb.com



--
--0000000000004674e605ba970fef-- --0000000000004674e805ba970ff1 Content-Type: application/octet-stream; name="ubi-container_v2.diff" Content-Disposition: attachment; filename="ubi-container_v2.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kksce14n0 ZGlmZiAtLWdpdCBhLy5kb2NrZXJpZ25vcmUgYi8uZG9ja2VyaWdub3JlCmluZGV4IDRjM2Q4YjBh Yi4uNWZlYjJiYWU2IDEwMDY0NAotLS0gYS8uZG9ja2VyaWdub3JlCisrKyBiLy5kb2NrZXJpZ25v cmUKQEAgLTEsNCArMSw2IEBACiAuZ2l0Citkb2NzL2VuX1VTL19idWlsZC9odG1sL19zb3VyY2Vz Citkb2NzL2VuX1VTL19idWlsZC9odG1sL19zdGF0aWMvKi5wbmcKIHdlYi9ub2RlX21vZHVsZXMK IHdlYi8qLmxvZwogd2ViL3JlZ3Jlc3Npb24KZGlmZiAtLWdpdCBhL0RvY2tlcmZpbGUgYi9Eb2Nr ZXJmaWxlCmluZGV4IDE0MTNiYjEwYy4uZjI4YmFjNzg3IDEwMDY0NAotLS0gYS9Eb2NrZXJmaWxl CisrKyBiL0RvY2tlcmZpbGUKQEAgLTEyLDIwICsxMiwxMiBAQAogIyBhbmQgY2xlYW4gdXAgdGhl IHdlYi8gc291cmNlIGNvZGUKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotRlJPTSBub2RlOjE0LWFscGlu ZTMuMTIgQVMgYXBwLWJ1aWxkZXIKLQotUlVOIGFwayBhZGQgLS1uby1jYWNoZSBcCi0gICAgYXV0 b2NvbmYgXAotICAgIGF1dG9tYWtlIFwKLSAgICBiYXNoIFwKLSAgICBnKysgXAotICAgIGxpYmM2 LWNvbXBhdCBcCi0gICAgbGlianBlZy10dXJiby1kZXYgXAotICAgIGxpYnBuZy1kZXYgXAotICAg IG1ha2UgXAotICAgIG5hc20gXAotICAgIGdpdCBcCi0gICAgemxpYi1kZXYKK0ZST00gcmVnaXN0 cnkucmVkaGF0LmlvL3ViaTgvdWJpIEFTIGFwcC1idWlsZGVyCisKKyMgSW5zdGFsbCBkZXBlbmRl bmNpZXMKK1JVTiBkbmYgbW9kdWxlIGluc3RhbGwgLXkgbm9kZWpzOjE0CitSVU4gZG5mIGluc3Rh bGwgLXkgZ2l0CitSVU4gbnBtIGluc3RhbGwgLS1nbG9iYWwgeWFybgogCiAjIENyZWF0ZSB0aGUg L3BnYWRtaW40IGRpcmVjdG9yeSBhbmQgY29weSB0aGUgc291cmNlIGludG8gaXQuIEV4cGxpY2l0 bHkKICMgcmVtb3ZlIHRoZSBub2RlX21vZHVsZXMgZGlyZWN0b3J5IGFzIHdlJ2xsIHJlY3JlYXRl IGEgY2xlYW4gdmVyc2lvbiwgYXMgd2VsbApAQCAtNjAsMTQ1ICs1Miw5MiBAQCBSVU4gbnBtIGlu c3RhbGwgJiYgXAogICAgICAgICAgICBrYXJtYS5jb25mLmpzIFwKICAgICAgICAgICAgLi9wZ2Fk bWluL3N0YXRpYy9qcy9nZW5lcmF0ZWQvLmNhY2hlCiAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgTm93 LCBjcmVhdGUgYSBkb2N1bWVudGF0aW9uIGJ1aWxkIGNvbnRhaW5lciBmb3IgdGhlIFNwaGlueCBk b2NzCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMgTm93LCBjcmVhdGUg dGhlIHZpcnR1YWwgZW52aXJvbm1lbnQKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLUZST00gcHl0aG9u OjMuOS1hbHBpbmUzLjEyIGFzIGRvY3MtYnVpbGRlcgorRlJPTSByZWdpc3RyeS5yZWRoYXQuaW8v dWJpOC91YmkgQVMgZW52LWJ1aWxkZXIKIAogIyBJbnN0YWxsIGRlcGVuZGVuY2llcworUlVOIGRu ZiBpbnN0YWxsIC15IGdjYyBtYWtlIHB5dGhvbjMtZGV2ZWwgcHl0aG9uMy1waXAgcG9zdGdyZXNx bC1kZXZlbCBrcmI1LWRldmVsCisKIENPUFkgcmVxdWlyZW1lbnRzLnR4dCAvCi1SVU4gYXBrIGFk ZCAtLW5vLWNhY2hlIFwKLSAgICAgICAgbWFrZSBcCi0gICAgICAgIGJ1aWxkLWJhc2UgXAotICAg ICAgICBvcGVuc3NsLWRldiBcCi0gICAgICAgIGxpYmZmaS1kZXYgXAotICAgICAgICBwb3N0Z3Jl c3FsLWRldiBcCi0gICAgICAgIGtyYjUtZGV2ICYmIFwKLSAgICBwaXAgaW5zdGFsbCAtLW5vLWNh Y2hlLWRpciBcCi0gICAgICAgIHNwaGlueCAmJiBcCi0gICAgcGlwIGluc3RhbGwgLS1uby1jYWNo ZS1kaXIgLXIgcmVxdWlyZW1lbnRzLnR4dAorUlVOIHB5dGhvbjMgLW0gdmVudiAvdmVudgorUlVO IC92ZW52L2Jpbi9waXAzIGluc3RhbGwgLS11cGdyYWRlIHBpcAorUlVOIC92ZW52L2Jpbi9waXAz IGluc3RhbGwgLXIgcmVxdWlyZW1lbnRzLnR4dAorUlVOIC92ZW52L2Jpbi9waXAzIGluc3RhbGwg Z3VuaWNvcm4KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIE5vdywgY3JlYXRlIGEgZG9jdW1lbnRh dGlvbiBidWlsZCBjb250YWluZXIgZm9yIHRoZSBTcGhpbnggZG9jcworIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKworRlJPTSByZWdpc3RyeS5yZWRoYXQuaW8vdWJpOC91YmkgQVMgZG9jLWJ1aWxkZXIKKwor IyBJbnN0YWxsIGRlcGVuZGVuY2llcworUlVOIGRuZiBpbnN0YWxsIC15IG1ha2UgcHl0aG9uMwor Q09QWSAtLWZyb209ZW52LWJ1aWxkZXIgL3ZlbnYgL3ZlbnYKK1JVTiAvdmVudi9iaW4vcGlwMyBp bnN0YWxsIHNwaGlueAogCiAjIENvcHkgdGhlIGRvY3MgZnJvbSB0aGUgbG9jYWwgdHJlZS4gRXhw bGljaXRseSByZW1vdmUgYW55IGV4aXN0aW5nIGJ1aWxkcyB0aGF0Ci0jIG1heSBiZSBwcmVzZW50 CisjIG1heSBiZSBwcmVzZW50LiBXZSBkb24ndCB1c2UgdGhlIC5kb2NrZXJpZ25vcmUgZm9yIHRo aXMgYXMgd2UgbmVlZCB0byBjb3B5CisjIHRoZSBfYnVpbGQgZGlyZWN0b3J5IGxhdGVyCiBDT1BZ IGRvY3MgL3BnYWRtaW40L2RvY3MKIENPUFkgd2ViIC9wZ2FkbWluNC93ZWIKIFJVTiBybSAtcmYg L3BnYWRtaW40L2RvY3MvZW5fVVMvX2J1aWxkCiAKICMgQnVpbGQgdGhlIGRvY3MKLVJVTiBMQ19B TEw9ZW5fVVMuVVRGLTggTEFORz1lbl9VUy5VVEYtOCBtYWtlIC1DIC9wZ2FkbWluNC9kb2NzL2Vu X1VTIC1mIE1ha2VmaWxlLnNwaGlueCBodG1sCitSVU4gc291cmNlIC92ZW52L2Jpbi9hY3RpdmF0 ZSAmJiBcCisgICAgTENfQUxMPWVuX1VTLlVURi04IExBTkc9ZW5fVVMuVVRGLTggbWFrZSAtQyAv cGdhZG1pbjQvZG9jcy9lbl9VUyAtZiBNYWtlZmlsZS5zcGhpbnggaHRtbAogCi0jIENsZWFudXAg dW53YW50ZWQgZmlsZXMKLVJVTiBybSAtcmYgL3BnYWRtaW40L2RvY3MvZW5fVVMvX2J1aWxkL2h0 bWwvX3NvdXJjZXMKLVJVTiBybSAtcmYgL3BnYWRtaW40L2RvY3MvZW5fVVMvX2J1aWxkL2h0bWwv X3N0YXRpYy8qLnBuZworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIE5vdywgY3JlYXRlIHRoZSBiYXNl IGltYWdlCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIENyZWF0ZSBh ZGRpdGlvbmFsIGJ1aWxkZXJzIHRvIGdldCBhbGwgb2YgdGhlIFBvc3RncmVTUUwgdXRpbGl0aWVz Ci0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCitGUk9NIHJlZ2lzdHJ5LnJlZGhhdC5pby91Ymk4L3ViaSBBUyBi YXNlLWVudgogCi1GUk9NIHBvc3RncmVzOjkuNi1hbHBpbmUgYXMgcGc5Ni1idWlsZGVyCi1GUk9N IHBvc3RncmVzOjEwLWFscGluZSBhcyBwZzEwLWJ1aWxkZXIKLUZST00gcG9zdGdyZXM6MTEtYWxw aW5lIGFzIHBnMTEtYnVpbGRlcgotRlJPTSBwb3N0Z3JlczoxMi1hbHBpbmUgYXMgcGcxMi1idWls ZGVyCi1GUk9NIHBvc3RncmVzOjEzLWFscGluZSBhcyBwZzEzLWJ1aWxkZXIKLQotRlJPTSBhbHBp bmU6My4xMSBhcyB0b29sLWJ1aWxkZXIKLQotIyBDb3B5IHRoZSBQRyBiaW5hcmllcwotCi1DT1BZ IC0tZnJvbT1wZzk2LWJ1aWxkZXIgL3Vzci9sb2NhbC9iaW4vcGdfZHVtcCAvdXNyL2xvY2FsL3Bn c3FsL3Bnc3FsLTkuNi8KLUNPUFkgLS1mcm9tPXBnOTYtYnVpbGRlciAvdXNyL2xvY2FsL2Jpbi9w Z19kdW1wYWxsIC91c3IvbG9jYWwvcGdzcWwvcGdzcWwtOS42LwotQ09QWSAtLWZyb209cGc5Ni1i dWlsZGVyIC91c3IvbG9jYWwvYmluL3BnX3Jlc3RvcmUgL3Vzci9sb2NhbC9wZ3NxbC9wZ3NxbC05 LjYvCi1DT1BZIC0tZnJvbT1wZzk2LWJ1aWxkZXIgL3Vzci9sb2NhbC9iaW4vcHNxbCAvdXNyL2xv Y2FsL3Bnc3FsL3Bnc3FsLTkuNi8KLQotQ09QWSAtLWZyb209cGcxMC1idWlsZGVyIC91c3IvbG9j YWwvYmluL3BnX2R1bXAgL3Vzci9sb2NhbC9wZ3NxbC9wZ3NxbC0xMC8KLUNPUFkgLS1mcm9tPXBn MTAtYnVpbGRlciAvdXNyL2xvY2FsL2Jpbi9wZ19kdW1wYWxsIC91c3IvbG9jYWwvcGdzcWwvcGdz cWwtMTAvCi1DT1BZIC0tZnJvbT1wZzEwLWJ1aWxkZXIgL3Vzci9sb2NhbC9iaW4vcGdfcmVzdG9y ZSAvdXNyL2xvY2FsL3Bnc3FsL3Bnc3FsLTEwLwotQ09QWSAtLWZyb209cGcxMC1idWlsZGVyIC91 c3IvbG9jYWwvYmluL3BzcWwgL3Vzci9sb2NhbC9wZ3NxbC9wZ3NxbC0xMC8KLQotQ09QWSAtLWZy b209cGcxMS1idWlsZGVyIC91c3IvbG9jYWwvYmluL3BnX2R1bXAgL3Vzci9sb2NhbC9wZ3NxbC9w Z3NxbC0xMS8KLUNPUFkgLS1mcm9tPXBnMTEtYnVpbGRlciAvdXNyL2xvY2FsL2Jpbi9wZ19kdW1w YWxsIC91c3IvbG9jYWwvcGdzcWwvcGdzcWwtMTEvCi1DT1BZIC0tZnJvbT1wZzExLWJ1aWxkZXIg L3Vzci9sb2NhbC9iaW4vcGdfcmVzdG9yZSAvdXNyL2xvY2FsL3Bnc3FsL3Bnc3FsLTExLwotQ09Q WSAtLWZyb209cGcxMS1idWlsZGVyIC91c3IvbG9jYWwvYmluL3BzcWwgL3Vzci9sb2NhbC9wZ3Nx bC9wZ3NxbC0xMS8KLQotQ09QWSAtLWZyb209cGcxMi1idWlsZGVyIC91c3IvbG9jYWwvYmluL3Bn X2R1bXAgL3Vzci9sb2NhbC9wZ3NxbC9wZ3NxbC0xMi8KLUNPUFkgLS1mcm9tPXBnMTItYnVpbGRl ciAvdXNyL2xvY2FsL2Jpbi9wZ19kdW1wYWxsIC91c3IvbG9jYWwvcGdzcWwvcGdzcWwtMTIvCi1D T1BZIC0tZnJvbT1wZzEyLWJ1aWxkZXIgL3Vzci9sb2NhbC9iaW4vcGdfcmVzdG9yZSAvdXNyL2xv Y2FsL3Bnc3FsL3Bnc3FsLTEyLwotQ09QWSAtLWZyb209cGcxMi1idWlsZGVyIC91c3IvbG9jYWwv YmluL3BzcWwgL3Vzci9sb2NhbC9wZ3NxbC9wZ3NxbC0xMi8KLQotQ09QWSAtLWZyb209cGcxMy1i dWlsZGVyIC91c3IvbG9jYWwvYmluL3BnX2R1bXAgL3Vzci9sb2NhbC9wZ3NxbC9wZ3NxbC0xMy8K LUNPUFkgLS1mcm9tPXBnMTMtYnVpbGRlciAvdXNyL2xvY2FsL2Jpbi9wZ19kdW1wYWxsIC91c3Iv bG9jYWwvcGdzcWwvcGdzcWwtMTMvCi1DT1BZIC0tZnJvbT1wZzEzLWJ1aWxkZXIgL3Vzci9sb2Nh bC9iaW4vcGdfcmVzdG9yZSAvdXNyL2xvY2FsL3Bnc3FsL3Bnc3FsLTEzLwotQ09QWSAtLWZyb209 cGcxMy1idWlsZGVyIC91c3IvbG9jYWwvYmluL3BzcWwgL3Vzci9sb2NhbC9wZ3NxbC9wZ3NxbC0x My8KKyMgQnVpbGQgdGhlIGJhc2UgT1MKK1JVTiBta2RpciAvb3V0cHV0CitSVU4gcnBtIC1pIGh0 dHBzOi8vZG93bmxvYWQucG9zdGdyZXNxbC5vcmcvcHViL3JlcG9zL3l1bS9yZXBvcnBtcy9FTC04 LXg4Nl82NC9wZ2RnLXJlZGhhdC1yZXBvLWxhdGVzdC5ub2FyY2gucnBtCitSVU4gZG5mIC15IGlu c3RhbGwgLS1kb3dubG9hZG9ubHkgLS1kb3dubG9hZGRpcj0vdG1wIC0tcmVsZWFzZXZlciA4IC0t c2V0b3B0PWluc3RhbGxfd2Vha19kZXBzPWZhbHNlIC0tbm9kb2NzIGdsaWJjLW1pbmltYWwtbGFu Z3BhY2sgY29yZXV0aWxzLXNpbmdsZSBwb3N0Zml4IHBvc3RncmVzcWwxMyBwb3N0Z3Jlc3FsMTIg cG9zdGdyZXNxbDExIHBvc3RncmVzcWwxMCBwb3N0Z3Jlc3FsOTYgcHl0aG9uMyBzZWQgc3Vkbwor UlVOIGRuZiAteSBpbnN0YWxsIC0taW5zdGFsbHJvb3Q9L291dHB1dCAtLXJlbGVhc2V2ZXIgOCAt LXNldG9wdD1pbnN0YWxsX3dlYWtfZGVwcz1mYWxzZSAtLW5vZG9jcyAvdG1wLyoucnBtCitSVU4g ZG5mIC15IC0taW5zdGFsbHJvb3QgL291dHB1dCAtLXJlbGVhc2V2ZXIgOCBjbGVhbiBhbGwKIAog IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwogIyBBc3NlbWJsZSBldmVyeXRoaW5nIGludG8gdGhlIGZpbmFsIGNv bnRhaW5lci4KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotRlJPTSBweXRob246My45LWFscGluZTMuMTIK LQotQ09QWSAtLWZyb209dG9vbC1idWlsZGVyIC91c3IvbG9jYWwvcGdzcWwgL3Vzci9sb2NhbC8K K0ZST00gc2NyYXRjaAogCiBXT1JLRElSIC9wZ2FkbWluNAogRU5WIFBZVEhPTlBBVEg9L3BnYWRt aW40CiAKICMgQ29weSBpbiB0aGUgY29kZSBhbmQgZG9jcworQ09QWSAtLWZyb209YmFzZS1lbnYg L291dHB1dCAvCiBDT1BZIC0tZnJvbT1hcHAtYnVpbGRlciAvcGdhZG1pbjQvd2ViIC9wZ2FkbWlu NAotQ09QWSAtLWZyb209ZG9jcy1idWlsZGVyIC9wZ2FkbWluNC9kb2NzL2VuX1VTL19idWlsZC9o dG1sLyAvcGdhZG1pbjQvZG9jcwotQ09QWSByZXF1aXJlbWVudHMudHh0IC9wZ2FkbWluNC9yZXF1 aXJlbWVudHMudHh0Ci0KLSMgTGljZW5zZSBmaWxlcwotQ09QWSBMSUNFTlNFIC9wZ2FkbWluNC9M SUNFTlNFCi1DT1BZIERFUEVOREVOQ0lFUyAvcGdhZG1pbjQvREVQRU5ERU5DSUVTCi0KLSMgSW5z dGFsbCBidWlsZC1kZXBlbmRlbmNpZXMsIGJ1aWxkICYgaW5zdGFsbCBDIGV4dGVuc2lvbnMgYW5k IHB1cmdlIGRlcHMgaW4KLSMgb25lIFJVTiBzdGVwCi1SVU4gYXBrIGFkZCAtLW5vLWNhY2hlIC0t dmlydHVhbCBcCi0gICAgICAgIGJ1aWxkLWRlcHMgXAotICAgICAgICBidWlsZC1iYXNlIFwKLSAg ICAgICAgcG9zdGdyZXNxbC1kZXYgXAotICAgICAgICBsaWJmZmktZGV2IFwKLSAgICAgICAga3Ji NS1kZXYgXAotICAgICAgICBlMmZzcHJvZ3MtZGV2IFwKLSAgICAgICAga3JiNS1zZXJ2ZXItbGRh cCBcCi0gICAgICAgIGxpbnV4LWhlYWRlcnMgJiYgXAotICAgIGFwayBhZGQgXAotICAgICAgICBw b3N0Zml4IFwKLSAgICAgICAgcG9zdGdyZXNxbC1jbGllbnQgXAotICAgICAgICBwb3N0Z3Jlc3Fs LWxpYnMgXAotICAgICAgICBrcmI1LWxpYnMgXAotICAgICAgICBzaGFkb3cgXAotICAgICAgICBz dWRvIFwKLSAgICAgICAgbGliY2FwICYmIFwKLSAgICBwaXAgaW5zdGFsbCAtLXVwZ3JhZGUgcGlw ICYmIFwKLSAgICBwaXAgaW5zdGFsbCAtLW5vLWNhY2hlLWRpciAtciByZXF1aXJlbWVudHMudHh0 ICYmIFwKLSAgICBwaXAgaW5zdGFsbCAtLW5vLWNhY2hlLWRpciBndW5pY29ybiAmJiBcCi0gICAg YXBrIGRlbCAtLW5vLWNhY2hlIGJ1aWxkLWRlcHMgJiYgXAotICAgIGVjaG8gInBnYWRtaW4gQUxM ID0gTk9QQVNTV0Q6IC91c3Ivc2Jpbi9wb3N0Zml4IHN0YXJ0IiA+IC9ldGMvc3Vkb2Vycy5kL3Bv c3RmaXgKLQotIyBXZSBuZWVkIHRoZSB2MTMgbGlicHEKLUNPUFkgLS1mcm9tPXBnMTMtYnVpbGRl ciAvdXNyL2xvY2FsL2xpYi9saWJwcS5zby41LjEzIC91c3IvbGliLwotUlVOIGxuIC1zZiAvdXNy L2xpYi9saWJwcS5zby41LjEzIC91c3IvbGliL2xpYnBxLnNvLjUKLQotIyBDb3B5IHRoZSB2YXJp b3VzIHNjcmlwdHMKK0NPUFkgLS1mcm9tPWRvYy1idWlsZGVyIC9wZ2FkbWluNC9kb2NzL2VuX1VT L19idWlsZC9odG1sLyAvcGdhZG1pbjQvZG9jcworQ09QWSAtLWZyb209ZW52LWJ1aWxkZXIgL3Zl bnYgL3ZlbnYKIENPUFkgcGtnL2RvY2tlci9ydW5fcGdhZG1pbi5weSAvcGdhZG1pbjQKIENPUFkg cGtnL2RvY2tlci9ndW5pY29ybl9jb25maWcucHkgL3BnYWRtaW40CiBDT1BZIHBrZy9kb2NrZXIv ZW50cnlwb2ludC5zaCAvZW50cnlwb2ludC5zaAogCi0jIFByZWNvbXBpbGUgYW5kIG9wdGltaXpl IHB5dGhvbiBjb2RlIHRvIHNhdmUgdGltZSBhbmQgc3BhY2Ugb24gc3RhcnR1cAotUlVOIHB5dGhv biAtTyAtbSBjb21waWxlYWxsIC14IG5vZGVfbW9kdWxlcyAvcGdhZG1pbjQKLQotUlVOIGdyb3Vw YWRkIC1nIDUwNTAgcGdhZG1pbiAmJiBcCi0gICAgdXNlcmFkZCAtciAtdSA1MDUwIC1nIHBnYWRt aW4gcGdhZG1pbiAmJiBcCisjIFBlcmZvcm0gYWxsIHRoZSBPUy1sZXZlbCBzZXR1cC4gRG8gdGhp cyBpbiBvbmUgUlVOIGNvbW1hbmQgdG8gbWluaW1pc2UgdGhlCisjIG51bWJlciBvZiBsYXllcnMK K1JVTiBlY2hvICJwZ2FkbWluOng6NTA1MDoiID4+IC9ldGMvZ3JvdXAgJiYgXAorICAgIGVjaG8g InBnYWRtaW46ITo6IiA+PiAvZXRjL2dzaGFkb3cgJiYgXAorICAgIGVjaG8gInBnYWRtaW46eDo1 MDUwOjUwNTA6Oi9wZ2FkbWluNDovYmluL2Jhc2giID4+IC9ldGMvcGFzc3dkICYmIFwKKyAgICBl Y2hvICJwZ2FkbWluOiEhOjE4NjA4Ojo6Ojo6IiA+PiAvZXRjL3NoYWRvdyAmJiBcCiAgICAgbWtk aXIgLXAgL3Zhci9saWIvcGdhZG1pbiAmJiBcCiAgICAgY2hvd24gcGdhZG1pbjpwZ2FkbWluIC92 YXIvbGliL3BnYWRtaW4gJiYgXAogICAgIHRvdWNoIC9wZ2FkbWluNC9jb25maWdfZGlzdHJvLnB5 ICYmIFwKLSAgICBjaG93biBwZ2FkbWluOnBnYWRtaW4gL3BnYWRtaW40L2NvbmZpZ19kaXN0cm8u cHkgJiYgXAotICAgIHNldGNhcCBDQVBfTkVUX0JJTkRfU0VSVklDRT0rZWlwIC91c3IvbG9jYWwv YmluL3B5dGhvbjMuOQorICAgIGNob3duIHBnYWRtaW46cGdhZG1pbiAvcGdhZG1pbjQvY29uZmln X2Rpc3Ryby5weSAjICYmIFwKKyAgICBzZXRjYXAgQ0FQX05FVF9CSU5EX1NFUlZJQ0U9K2VpcCAv dXNyL2xpYmV4ZWMvcGxhdGZvcm0tcHl0aG9uMy42ICYmIFwKKyAgICBzZWQgLWkgJ3MvaW5ldF9w cm90b2NvbHMgPSAuKi9pbmV0X3Byb3RvY29scyA9IGlwdjQvZycgL2V0Yy9wb3N0Zml4L21haW4u Y2YgJiYgXAorICAgIGVjaG8gInBnYWRtaW4gQUxMID0gTk9QQVNTV0Q6IC91c3Ivc2Jpbi9wb3N0 Zml4IHN0YXJ0IiA+IC9ldGMvc3Vkb2Vycy5kL3Bvc3RmaXggJiYgXAorCiBVU0VSIHBnYWRtaW4K IAogIyBGaW5pc2ggdXAKIFZPTFVNRSAvdmFyL2xpYi9wZ2FkbWluCiBFWFBPU0UgODAgNDQzCiAK LUVOVFJZUE9JTlQgWyIvZW50cnlwb2ludC5zaCJdCitFTlRSWVBPSU5UIFsiL2VudHJ5cG9pbnQu c2giXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3BrZy9kb2NrZXIv ZW50cnlwb2ludC5zaCBiL3BrZy9kb2NrZXIvZW50cnlwb2ludC5zaAppbmRleCA4NDQ1N2QzNzku LmE5MzE0YmNjZiAxMDA3NTUKLS0tIGEvcGtnL2RvY2tlci9lbnRyeXBvaW50LnNoCisrKyBiL3Br Zy9kb2NrZXIvZW50cnlwb2ludC5zaApAQCAtMzQsNyArMzQsNyBAQCBpZiBbICEgLWYgL3Zhci9s aWIvcGdhZG1pbi9wZ2FkbWluNC5kYiBdOyB0aGVuCiAKICAgICAjIEluaXRpYWxpemUgREIgYmVm b3JlIHN0YXJ0aW5nIEd1bmljb3JuCiAgICAgIyBJbXBvcnRpbmcgcGdhZG1pbjQgKGZyb20gdGhp cyBzY3JpcHQpIGlzIGVub3VnaAotICAgIHB5dGhvbiBydW5fcGdhZG1pbi5weQorICAgIC92ZW52 L2Jpbi9weXRob24gcnVuX3BnYWRtaW4ucHkKIAogICAgIGV4cG9ydCBQR0FETUlOX1NFUlZFUl9K U09OX0ZJTEU9JHtQR0FETUlOX1NFUlZFUl9KU09OX0ZJTEU6LS9wZ2FkbWluNC9zZXJ2ZXJzLmpz b259CiAgICAgIyBQcmUtbG9hZCBhbnkgcmVxdWlyZWQgc2VydmVycwpAQCAtNDIsOSArNDIsOSBA QCBpZiBbICEgLWYgL3Zhci9saWIvcGdhZG1pbi9wZ2FkbWluNC5kYiBdOyB0aGVuCiAgICAgICAg ICMgV2hlbiBydW5uaW5nIGluIERlc2t0b3AgbW9kZSwgbm8gdXNlciBpcyBjcmVhdGVkCiAgICAg ICAgICMgc28gd2UgaGF2ZSB0byBpbXBvcnQgc2VydmVycyBhbm9ueW1vdXNseQogICAgICAgICBp ZiBbICIke1BHQURNSU5fQ09ORklHX1NFUlZFUl9NT0RFfSIgPSAiRmFsc2UiIF07IHRoZW4KLSAg ICAgICAgICAgIC91c3IvbG9jYWwvYmluL3B5dGhvbiAvcGdhZG1pbjQvc2V0dXAucHkgLS1sb2Fk LXNlcnZlcnMgIiR7UEdBRE1JTl9TRVJWRVJfSlNPTl9GSUxFfSIKKyAgICAgICAgICAgIC92ZW52 L2Jpbi9weXRob24gL3BnYWRtaW40L3NldHVwLnB5IC0tbG9hZC1zZXJ2ZXJzICIke1BHQURNSU5f U0VSVkVSX0pTT05fRklMRX0iCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIC91c3IvbG9jYWwv YmluL3B5dGhvbiAvcGdhZG1pbjQvc2V0dXAucHkgLS1sb2FkLXNlcnZlcnMgIiR7UEdBRE1JTl9T RVJWRVJfSlNPTl9GSUxFfSIgLS11c2VyICR7UEdBRE1JTl9ERUZBVUxUX0VNQUlMfQorICAgICAg ICAgICAgL3ZlbnYvYmluL3B5dGhvbiAvcGdhZG1pbjQvc2V0dXAucHkgLS1sb2FkLXNlcnZlcnMg IiR7UEdBRE1JTl9TRVJWRVJfSlNPTl9GSUxFfSIgLS11c2VyICR7UEdBRE1JTl9ERUZBVUxUX0VN QUlMfQogICAgICAgICBmaQogICAgIGZpCiBmaQpAQCAtNTYsMTMgKzU2LDEzIEBAIGZpCiAKICMg R2V0IHRoZSBzZXNzaW9uIHRpbWVvdXQgZnJvbSB0aGUgcGdBZG1pbiBjb25maWcuIFdlJ2xsIHVz ZSB0aGlzIChpbiBzZWNvbmRzKQogIyB0byBkZWZpbmUgdGhlIEd1bmljb3JuIHdvcmtlciB0aW1l b3V0Ci1USU1FT1VUPSQoY2QgL3BnYWRtaW40ICYmIHB5dGhvbiAtYyAnaW1wb3J0IGNvbmZpZzsg cHJpbnQoY29uZmlnLlNFU1NJT05fRVhQSVJBVElPTl9USU1FICogNjAgKiA2MCAqIDI0KScpCitU SU1FT1VUPSQoY2QgL3BnYWRtaW40ICYmIC92ZW52L2Jpbi9weXRob24gLWMgJ2ltcG9ydCBjb25m aWc7IHByaW50KGNvbmZpZy5TRVNTSU9OX0VYUElSQVRJT05fVElNRSAqIDYwICogNjAgKiAyNCkn KQogCiAjIE5PVEU6IGN1cnJlbnRseSBwZ2FkbWluIGNhbiBydW4gb25seSB3aXRoIDEgd29ya2Vy IGR1ZSB0byBzZXNzaW9ucyBpbXBsZW1lbnRhdGlvbgogIyBVc2luZyAtLXRocmVhZHMgdG8gaGF2 ZSBtdWx0aS10aHJlYWRlZCBzaW5nbGUtcHJvY2VzcyB3b3JrZXIKIAogaWYgWyAhIC16ICR7UEdB RE1JTl9FTkFCTEVfVExTfSBdOyB0aGVuCi0gICAgZXhlYyBndW5pY29ybiAtLXRpbWVvdXQgJHtU SU1FT1VUfSAtLWJpbmQgJHtQR0FETUlOX0xJU1RFTl9BRERSRVNTOi1bOjpdfToke1BHQURNSU5f TElTVEVOX1BPUlQ6LTQ0M30gLXcgMSAtLXRocmVhZHMgJHtHVU5JQ09STl9USFJFQURTOi0yNX0g LS1hY2Nlc3MtbG9nZmlsZSAke0dVTklDT1JOX0FDQ0VTU19MT0dGSUxFOi0tfSAtLWtleWZpbGUg L2NlcnRzL3NlcnZlci5rZXkgLS1jZXJ0ZmlsZSAvY2VydHMvc2VydmVyLmNlcnQgLWMgZ3VuaWNv cm5fY29uZmlnLnB5IHJ1bl9wZ2FkbWluOmFwcAorICAgIGV4ZWMgL3ZlbnYvYmluL2d1bmljb3Ju IC0tdGltZW91dCAke1RJTUVPVVR9IC0tYmluZCAke1BHQURNSU5fTElTVEVOX0FERFJFU1M6LVs6 Ol19OiR7UEdBRE1JTl9MSVNURU5fUE9SVDotNDQzfSAtdyAxIC0tdGhyZWFkcyAke0dVTklDT1JO X1RIUkVBRFM6LTI1fSAtLWFjY2Vzcy1sb2dmaWxlICR7R1VOSUNPUk5fQUNDRVNTX0xPR0ZJTEU6 LS19IC0ta2V5ZmlsZSAvY2VydHMvc2VydmVyLmtleSAtLWNlcnRmaWxlIC9jZXJ0cy9zZXJ2ZXIu Y2VydCAtYyBndW5pY29ybl9jb25maWcucHkgcnVuX3BnYWRtaW46YXBwCiBlbHNlCi0gICAgZXhl YyBndW5pY29ybiAtLXRpbWVvdXQgJHtUSU1FT1VUfSAtLWJpbmQgJHtQR0FETUlOX0xJU1RFTl9B RERSRVNTOi1bOjpdfToke1BHQURNSU5fTElTVEVOX1BPUlQ6LTgwfSAtdyAxIC0tdGhyZWFkcyAk e0dVTklDT1JOX1RIUkVBRFM6LTI1fSAtLWFjY2Vzcy1sb2dmaWxlICR7R1VOSUNPUk5fQUNDRVNT X0xPR0ZJTEU6LS19IC1jIGd1bmljb3JuX2NvbmZpZy5weSBydW5fcGdhZG1pbjphcHAKKyAgICBl eGVjIC92ZW52L2Jpbi9ndW5pY29ybiAtLXRpbWVvdXQgJHtUSU1FT1VUfSAtLWJpbmQgJHtQR0FE TUlOX0xJU1RFTl9BRERSRVNTOi1bOjpdfToke1BHQURNSU5fTElTVEVOX1BPUlQ6LTgwfSAtdyAx IC0tdGhyZWFkcyAke0dVTklDT1JOX1RIUkVBRFM6LTI1fSAtLWFjY2Vzcy1sb2dmaWxlICR7R1VO SUNPUk5fQUNDRVNTX0xPR0ZJTEU6LS19IC1jIGd1bmljb3JuX2NvbmZpZy5weSBydW5fcGdhZG1p bjphcHAKIGZpCmRpZmYgLS1naXQgYS93ZWIvY29uZmlnLnB5IGIvd2ViL2NvbmZpZy5weQppbmRl eCA4ZmQ4YjAzOTEuLjg0NzkyZjU4YyAxMDA2NDQKLS0tIGEvd2ViL2NvbmZpZy5weQorKysgYi93 ZWIvY29uZmlnLnB5CkBAIC0zNTAsNyArMzUwLDcgQEAgU0VTU0lPTl9DT09LSUVfTkFNRSA9ICdw Z2E0X3Nlc3Npb24nCiAjIFRoZXNlIHNldHRpbmdzIGFyZSB1c2VkIHdoZW4gcnVubmluZyBpbiB3 ZWIgc2VydmVyIG1vZGUgZm9yIGNvbmZpcm1pbmcKICMgYW5kIHJlc2V0dGluZyBwYXNzd29yZHMg ZXRjLgogIyBTZWU6IGh0dHA6Ly9weXRob25ob3N0ZWQub3JnL0ZsYXNrLU1haWwvIGZvciBtb3Jl IGluZm8KLU1BSUxfU0VSVkVSID0gJ2xvY2FsaG9zdCcKK01BSUxfU0VSVkVSID0gJzEyNy4wLjAu MScKIE1BSUxfUE9SVCA9IDI1CiBNQUlMX1VTRV9TU0wgPSBGYWxzZQogTUFJTF9VU0VfVExTID0g RmFsc2UK --0000000000004674e805ba970ff1--