Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vVfLb-0067YE-2Q for pgsql-www@arkaria.postgresql.org; Wed, 17 Dec 2025 00:24:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vVfLa-009Kci-1X for pgsql-www@arkaria.postgresql.org; Wed, 17 Dec 2025 00:24:55 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vVfLa-009KcS-0d for pgsql-www@lists.postgresql.org; Wed, 17 Dec 2025 00:24:55 +0000 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vVfLY-0018S9-0b for pgsql-www@lists.postgresql.org; Wed, 17 Dec 2025 00:24:54 +0000 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-647a3bca834so7789960a12.2 for ; Tue, 16 Dec 2025 16:24:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765931091; x=1766535891; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=lFAwxDKCJmCjXX4yLu2/Jq3lPgondGT3EpcSxp42ZB4=; b=fCDhFQMqz4fTcGjy0c8Iu4q/1Lp8Lw33WTXy+Iwi2X184+ibDmXA+hTaKT82cuvhaV LzY5FFcWSEa6nRCHrp4MS3wXdIEoa03viCrQByQ7kla0/8R9gkikoLaqyMignh4DUeFL lmwVjHRyoD7pjoyYN1y8YjnXHIJi83zkw6YqTg8RK75zdDmBhEI/qIP7tLS6+VQI0rA3 vagl0RjEsYh2ZiqR9wHvy32d7swDKF+k60otRVuNhH7keUgYnAKPWIGhar4RANZ/qxvi zOzTft1VXhnMVLrmWw8y/IaG4SK0lx+lPDkQNFY5gJo/dFmXiIcz0zH5r565BmrJmOfv L5WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765931091; x=1766535891; h=cc:to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=lFAwxDKCJmCjXX4yLu2/Jq3lPgondGT3EpcSxp42ZB4=; b=wIvDwRXdPYGT4CxXW6F6V25M30r4CkyA9AMjkNpdj0nEGAc2RU5jYQIYEg8k4MOGD4 cUKRhBazaOhOAShDjdWYP19AB6P3BcA5u8Csv4zunog0zQvKfPuG+jHTlSBtnb9Ah66m DeqqQP8okhtoUBrY9heaROdaNYbYjrQLI8P7jGW6ldvWZeWeU3InAcqv/L5okzCz9uEN y1RCMJBX87/DMiiDi+pAYCs0wnLnKImbDtTfQ5/gAlZyLvAPZd4eHG6y/pOVHOALFns6 ujHxuG8n7bAf6+ycKJzucfZvXFNNlrokIGWu8P+zuSCc9FiIsBgx8/LFAqnNZHNe4g4v R1Mw== X-Gm-Message-State: AOJu0YxolYLFVCRxR56xBWjkZWVAQpai1tHdG/vi+/+t86AqKi0MSiBC ci3q/NkqUIz/fVW52xNl38om4nj2Zyn0pNWA6eLi8Ul18q4bVPVCprJ+Zzchmjz0lumcwnojeps 0xzukQ40VFINk87WP3MhRP3Go1l0GggipqxMB X-Gm-Gg: AY/fxX7V5Rwa7DPu43V652pNZLPiv0R5YuF40ui52IXb9VNcTknjEARe1zhlazoJaU7 dGvpB0NlEKx0XSEE9Ax7L7iyOV3/vFVSQhPmYtW+CgsUbkFXz3857gA0NI/YOG8dRdCUjHenFf/ IQLqjEbgjgWg+MIQUEIzORTsh2wDV98Uz7metAgic7yViJvvSAKK6EHKxIt5/hQJIw+PRQ+Z63+ P0CV1Yrt4yCz1sfrLv1saUo6rEX1RkFrdBaQeZrnX9Zi5i0s5BkNRYVDiS3To/tYi3Mhrf+ X-Google-Smtp-Source: AGHT+IEPhX982nBcZFQ4rKeM0vFzd6Bsr99NCmuZCHIfyWbLpNHNOxbrsWqTLV9tFjIiBsc10PyxbB23b1Vzs4bM/Z8= X-Received: by 2002:a05:6402:2792:b0:64b:428a:c666 with SMTP id 4fb4d7f45d1cf-64b428ac732mr255654a12.25.1765931090704; Tue, 16 Dec 2025 16:24:50 -0800 (PST) MIME-Version: 1.0 From: Melanie Plageman Date: Tue, 16 Dec 2025 19:24:38 -0500 X-Gm-Features: AQt7F2pchPDjNROekkBAS-oK9UeDqvK6VQpkcphQJOk4xsuTUw2VOr7qjdpIc_k Message-ID: Subject: Public contributor profile pages To: pgsql-www@lists.postgresql.org Cc: PostgreSQL Contributors Content-Type: multipart/mixed; boundary="0000000000005c4ddf06461adfa9" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000005c4ddf06461adfa9 Content-Type: text/plain; charset="UTF-8" Hello, The Contributors Committee is working on a new program to recognize specific contributions (e.g. "volunteered at PGConf.dev 2024" or "contributed code to PostgreSQL 18"). These would be listed on an individual contributor's profile. As a step toward that, we are proposing to add public contributor profile pages. Attached is a patch set which implements this by: 1) allowing all those with pgo user accounts to edit their "contributions" (currently only enabled for recognized contributors) 2) adds a public contributor profile view accessible via postgresql.org/community/contributors/[username] 3) links all recognized contributors on [1] to their public contributor profile There are quite a few details to work out. A few I know of are: - How should opting into a public profile work? What about existing recognized contributors, do we opt them all in automatically? Or just opt-in Major Contributors since their "Contributions" are already on a public web page? (see patch 0003) - How to make the public profile URL scheme work for contributors who do not have a pgo user account? Or should it work at all? This is my first real web patch, so I'm sure I did some things in a non-pgweb-idiomatic (or non web-idiomatic) way and didn't think of lots of things. I'll probably need lots of guidance. - Melanie [1] https://www.postgresql.org/community/contributors/ --0000000000005c4ddf06461adfa9 Content-Type: application/octet-stream; name="v1-0002-Add-public-contributor-profiles.patch" Content-Disposition: attachment; filename="v1-0002-Add-public-contributor-profiles.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mj99qb5h1 RnJvbSA4YjhkMGNjNTlkZTllY2M3ZTcyMDE3MjJlZGY4YWJjZTViN2UyMjRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNZWxhbmllIFBsYWdlbWFuIDxtZWxhbmllcGxhZ2VtYW5AZ21h aWwuY29tPgpEYXRlOiBUdWUsIDE2IERlYyAyMDI1IDE1OjM1OjIxIC0wNTAwClN1YmplY3Q6IFtQ QVRDSCB2MSAyLzNdIEFkZCBwdWJsaWMgY29udHJpYnV0b3IgcHJvZmlsZXMKCk5vdyBhbnlvbmUg Y2FuIHZpc2l0IHBvc3RncmVzcWwub3JnL2NvbW11bml0eS9jb250cmlidXRvcnMvW3VzZXJuYW1l XSB0bwpzZWUgYSB1c2VyJ3Mgc2VsZi1kZXNjcmliZWQgY29udHJpYnV0aW9ucy4gVGhpcyBjb21t aXQgYWRkcyB0aGUgcHJvZmlsZQp2aWV3IGFuZCBhbHNvIGxpbmtzIHJlY29nbml6ZWQgY29udHJp YnV0b3JzJyBuYW1lcyB0byB0aGVpciBwcm9maWxlcy4KClRoZSB1cmxzIGFyZSBiYXNlZCBvbiB1 c2VybmFtZSwgd2hpY2ggbWF5IG5vdCBiZSB0aGUgcmlnaHQgZGVzaWduCmJlY2F1c2Ugbm90IGFs bCBjb250cmlidXRvcnMgaGF2ZSB1c2VyIHByb2ZpbGVzLCBidXQgaXQgaXMgYSBzdGFydGluZwpw b2ludC4KLS0tCiBwZ3dlYi9jb250cmlidXRvcnMvdmlld3MucHkgICAgICAgICB8IDEwICsrKysr LQogcGd3ZWIvdXJscy5weSAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiB0ZW1wbGF0ZXMv Y29udHJpYnV0b3JzL2xpc3QuaHRtbCAgICB8ICA2ICsrLS0KIHRlbXBsYXRlcy9jb250cmlidXRv cnMvcHJvZmlsZS5odG1sIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmls ZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0ZW1wbGF0ZXMvY29udHJpYnV0b3JzL3Byb2ZpbGUuaHRtbAoKZGlmZiAtLWdpdCBh L3Bnd2ViL2NvbnRyaWJ1dG9ycy92aWV3cy5weSBiL3Bnd2ViL2NvbnRyaWJ1dG9ycy92aWV3cy5w eQppbmRleCA0NWI4NTUxZS4uNjBmYWRiZDkgMTAwNjQ0Ci0tLSBhL3Bnd2ViL2NvbnRyaWJ1dG9y cy92aWV3cy5weQorKysgYi9wZ3dlYi9jb250cmlidXRvcnMvdmlld3MucHkKQEAgLTEsNiArMSw3 IEBACitmcm9tIGRqYW5nby5zaG9ydGN1dHMgaW1wb3J0IGdldF9vYmplY3Rfb3JfNDA0CiBmcm9t IHBnd2ViLnV0aWwuY29udGV4dHMgaW1wb3J0IHJlbmRlcl9wZ3dlYgogCi1mcm9tIC5tb2RlbHMg aW1wb3J0IENvbnRyaWJ1dG9yVHlwZQorZnJvbSAubW9kZWxzIGltcG9ydCBDb250cmlidXRvclR5 cGUsIENvbnRyaWJ1dG9yCiAKIAogZGVmIGNvbXBsZXRlbGlzdChyZXF1ZXN0KToKQEAgLTgsMyAr OSwxMCBAQCBkZWYgY29tcGxldGVsaXN0KHJlcXVlc3QpOgogICAgIHJldHVybiByZW5kZXJfcGd3 ZWIocmVxdWVzdCwgJ2NvbW11bml0eScsICdjb250cmlidXRvcnMvbGlzdC5odG1sJywgewogICAg ICAgICAnY29udHJpYnV0b3J0eXBlcyc6IGNvbnRyaWJ1dG9ydHlwZXMsCiAgICAgfSkKKworCitk ZWYgY29udHJpYnV0b3JfcHJvZmlsZShyZXF1ZXN0LCB1c2VybmFtZSk6CisgICAgY29udHJpYnV0 b3IgPSBnZXRfb2JqZWN0X29yXzQwNChDb250cmlidXRvciwgdXNlcl9fdXNlcm5hbWU9dXNlcm5h bWUpCisgICAgcmV0dXJuIHJlbmRlcl9wZ3dlYihyZXF1ZXN0LCAnY29tbXVuaXR5JywgJ2NvbnRy aWJ1dG9ycy9wcm9maWxlLmh0bWwnLCB7CisgICAgICAgICdjb250cmlidXRvcic6IGNvbnRyaWJ1 dG9yLAorICAgIH0pCmRpZmYgLS1naXQgYS9wZ3dlYi91cmxzLnB5IGIvcGd3ZWIvdXJscy5weQpp bmRleCBkOWI4MWY3NS4uZDRhOTQ2ZWEgMTAwNjQ0Ci0tLSBhL3Bnd2ViL3VybHMucHkKKysrIGIv cGd3ZWIvdXJscy5weQpAQCAtNzAsNiArNzAsNyBAQCB1cmxwYXR0ZXJucyA9IFsKIAogICAgIHJl X3BhdGgocideY29tbXVuaXR5LyQnLCBwZ3dlYi5jb3JlLnZpZXdzLmNvbW11bml0eSksCiAgICAg cmVfcGF0aChyJ15jb21tdW5pdHkvY29udHJpYnV0b3JzLyQnLCBwZ3dlYi5jb250cmlidXRvcnMu dmlld3MuY29tcGxldGVsaXN0KSwKKyAgICByZV9wYXRoKHInXmNvbW11bml0eS9jb250cmlidXRv cnMvKFteL10rKS8kJywgcGd3ZWIuY29udHJpYnV0b3JzLnZpZXdzLmNvbnRyaWJ1dG9yX3Byb2Zp bGUpLAogICAgIHJlX3BhdGgocideY29tbXVuaXR5L2xpc3RzLyQnLCBSZWRpcmVjdFZpZXcuYXNf dmlldyh1cmw9Jy9saXN0LycsIHBlcm1hbmVudD1UcnVlKSksCiAgICAgcmVfcGF0aChyJ15jb21t dW5pdHkvbGlzdHMvc3Vic2NyaWJlLyQnLCBSZWRpcmVjdFZpZXcuYXNfdmlldyh1cmw9J2h0dHBz Oi8vbGlzdHMucG9zdGdyZXNxbC5vcmcvJywgcGVybWFuZW50PVRydWUpKSwKIApkaWZmIC0tZ2l0 IGEvdGVtcGxhdGVzL2NvbnRyaWJ1dG9ycy9saXN0Lmh0bWwgYi90ZW1wbGF0ZXMvY29udHJpYnV0 b3JzL2xpc3QuaHRtbAppbmRleCAwNjhmYzk0OS4uZTcxM2NlZTIgMTAwNjQ0Ci0tLSBhL3RlbXBs YXRlcy9jb250cmlidXRvcnMvbGlzdC5odG1sCisrKyBiL3RlbXBsYXRlcy9jb250cmlidXRvcnMv bGlzdC5odG1sCkBAIC0zMiw3ICszMiw3IEBACiAgICAgeyVmb3IgYyBpbiB0LmNvbnRyaWJ1dG9y X3NldC5hbGwgJX0KICAgICAgeyVpZiB0LmRldGFpbGVkJX0KICAgICAgIDx0cj4KLSAgICAgICA8 dGQ+e3tjLmZpcnN0bmFtZX19IHt7Yy5sYXN0bmFtZX19IHslaWYgdC5zaG93ZW1haWwgYW5kIGMu ZW1haWwlfSh7e2MuZW1haWx8aGlkZW1haWx9fSl7JWVuZGlmJX0KKyAgICAgICA8dGQ+eyUgaWYg Yy51c2VyICV9PGEgaHJlZj0iL2NvbW11bml0eS9jb250cmlidXRvcnMve3tjLnVzZXIudXNlcm5h bWV9fS8iPnt7Yy5maXJzdG5hbWV9fSB7e2MubGFzdG5hbWV9fTwvYT57JSBlbHNlICV9e3tjLmZp cnN0bmFtZX19IHt7Yy5sYXN0bmFtZX19eyUgZW5kaWYgJX0geyVpZiB0LnNob3dlbWFpbCBhbmQg Yy5lbWFpbCV9KHt7Yy5lbWFpbHxoaWRlbWFpbH19KXslZW5kaWYlfQogICAgICAgICAgIHslaWYg Yy5jb21wYW55ICV9CiAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgIHslIGlmIGMuY29tcGFu eXVybCAlfQpAQCAtNDksMTMgKzQ5LDEzIEBACiAgICAgIHslZWxzZSV9CiAgICAgICB7JWlmIGZv cmxvb3AuY291bnRlcjB8ZGl2aXNpYmxlYnk6IjIiICV9CiAgICAgICAgPHRyPgotICAgICAgICA8 dGQ+e3tjLmZpcnN0bmFtZX19IHt7Yy5sYXN0bmFtZX19eyVpZiB0LnNob3dlbWFpbCBhbmQgYy5l bWFpbCV9ICh7e2MuZW1haWx8aGlkZW1haWx9fSl7JWVuZGlmJX08L3RkPgorICAgICAgICA8dGQ+ eyUgaWYgYy51c2VyICV9PGEgaHJlZj0iL2NvbW11bml0eS9jb250cmlidXRvcnMve3tjLnVzZXIu dXNlcm5hbWV9fS8iPnt7Yy5maXJzdG5hbWV9fSB7e2MubGFzdG5hbWV9fTwvYT57JSBlbHNlICV9 e3tjLmZpcnN0bmFtZX19IHt7Yy5sYXN0bmFtZX19eyUgZW5kaWYgJX17JWlmIHQuc2hvd2VtYWls IGFuZCBjLmVtYWlsJX0gKHt7Yy5lbWFpbHxoaWRlbWFpbH19KXslZW5kaWYlfTwvdGQ+CiAgICAg ICAgIHslaWYgZm9ybG9vcC5sYXN0JX0KICAgICAgICAgPHRkPjwvdGQ+CiAgICAgICAgPC90cj4K ICAgICAgICAgeyVlbmRpZiV9CiAgICAgICB7JWVsc2UlfQotICAgICAgICA8dGQ+e3tjLmZpcnN0 bmFtZX19IHt7Yy5sYXN0bmFtZX19eyVpZiB0LnNob3dlbWFpbCBhbmQgYy5lbWFpbCV9ICh7e2Mu ZW1haWx8aGlkZW1haWx9fSl7JWVuZGlmJX08L3RkPgorICAgICAgICA8dGQ+eyUgaWYgYy51c2Vy ICV9PGEgaHJlZj0iL2NvbW11bml0eS9jb250cmlidXRvcnMve3tjLnVzZXIudXNlcm5hbWV9fS8i Pnt7Yy5maXJzdG5hbWV9fSB7e2MubGFzdG5hbWV9fTwvYT57JSBlbHNlICV9e3tjLmZpcnN0bmFt ZX19IHt7Yy5sYXN0bmFtZX19eyUgZW5kaWYgJX17JWlmIHQuc2hvd2VtYWlsIGFuZCBjLmVtYWls JX0gKHt7Yy5lbWFpbHxoaWRlbWFpbH19KXslZW5kaWYlfTwvdGQ+CiAgICAgICAgPC90cj4KICAg ICAgIHslZW5kaWYlfQogICAgICB7JWVuZGlmJX0KZGlmZiAtLWdpdCBhL3RlbXBsYXRlcy9jb250 cmlidXRvcnMvcHJvZmlsZS5odG1sIGIvdGVtcGxhdGVzL2NvbnRyaWJ1dG9ycy9wcm9maWxlLmh0 bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjZmNDc2YzNjCi0tLSAvZGV2 L251bGwKKysrIGIvdGVtcGxhdGVzL2NvbnRyaWJ1dG9ycy9wcm9maWxlLmh0bWwKQEAgLTAsMCAr MSw1MSBAQAoreyVleHRlbmRzICJiYXNlL3BhZ2UuaHRtbCIlfQoreyVsb2FkIHBnZmlsdGVycyV9 Cit7JWJsb2NrIHRpdGxlJX17e2NvbnRyaWJ1dG9yLmZpcnN0bmFtZX19IHt7Y29udHJpYnV0b3Iu bGFzdG5hbWV9fSAtIENvbnRyaWJ1dG9yIFByb2ZpbGV7JWVuZGJsb2NrJX0KK3slYmxvY2sgY29u dGVudHMlfQorPGgxPnt7Y29udHJpYnV0b3IuZmlyc3RuYW1lfX0ge3tjb250cmlidXRvci5sYXN0 bmFtZX19IDxpIGNsYXNzPSJmYSBmYS11c2VyIj48L2k+PC9oMT4KKworPGRpdiBjbGFzcz0icm93 Ij4KKyAgPGRpdiBjbGFzcz0iY29sLW1kLTgiPgorICAgIHslaWYgY29udHJpYnV0b3IuY29udHJp YnV0aW9uJX0KKyAgICA8aDI+Q29udHJpYnV0aW9uPC9oMj4KKyAgICA8cD57e2NvbnRyaWJ1dG9y LmNvbnRyaWJ1dGlvbn19PC9wPgorICAgIHslZW5kaWYlfQorCisgICAgPGgyPkluZm9ybWF0aW9u PC9oMj4KKyAgICA8ZGwgY2xhc3M9InJvdyI+CisgICAgICA8ZHQgY2xhc3M9ImNvbC1zbS0zIj5D b250cmlidXRvciBUeXBlPC9kdD4KKyAgICAgIDxkZCBjbGFzcz0iY29sLXNtLTkiPnt7Y29udHJp YnV0b3IuY3R5cGUudHlwZW5hbWV9fTwvZGQ+CisKKyAgICAgIHslaWYgY29udHJpYnV0b3IuZW1h aWwlfQorICAgICAgPGR0IGNsYXNzPSJjb2wtc20tMyI+RW1haWw8L2R0PgorICAgICAgPGRkIGNs YXNzPSJjb2wtc20tOSI+e3tjb250cmlidXRvci5lbWFpbHxoaWRlbWFpbH19PC9kZD4KKyAgICAg IHslZW5kaWYlfQorCisgICAgICB7JWlmIGNvbnRyaWJ1dG9yLmxvY2F0aW9uJX0KKyAgICAgIDxk dCBjbGFzcz0iY29sLXNtLTMiPkxvY2F0aW9uPC9kdD4KKyAgICAgIDxkZCBjbGFzcz0iY29sLXNt LTkiPnt7Y29udHJpYnV0b3IubG9jYXRpb259fTwvZGQ+CisgICAgICB7JWVuZGlmJX0KKworICAg ICAgeyVpZiBjb250cmlidXRvci5jb21wYW55JX0KKyAgICAgIDxkdCBjbGFzcz0iY29sLXNtLTMi PkNvbXBhbnk8L2R0PgorICAgICAgPGRkIGNsYXNzPSJjb2wtc20tOSI+CisgICAgICAgIHslaWYg Y29udHJpYnV0b3IuY29tcGFueXVybCV9CisgICAgICAgICAgPGEgaHJlZj0ie3tjb250cmlidXRv ci5jb21wYW55dXJsfX0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj57e2NvbnRyaWJ1 dG9yLmNvbXBhbnl9fTwvYT4KKyAgICAgICAgeyVlbHNlJX0KKyAgICAgICAgICB7e2NvbnRyaWJ1 dG9yLmNvbXBhbnl9fQorICAgICAgICB7JWVuZGlmJX0KKyAgICAgIDwvZGQ+CisgICAgICB7JWVu ZGlmJX0KKyAgICA8L2RsPgorICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJtdC00Ij4K KyAgPHA+CisgICAgPGEgaHJlZj0ibWFpbHRvOmNvbnRyaWJ1dG9yc0Bwb3N0Z3Jlc3FsLm9yZz9z dWJqZWN0PVJlcG9ydCBjb250cmlidXRvciBwcm9maWxlOiB7e2NvbnRyaWJ1dG9yLmZpcnN0bmFt ZX19IHt7Y29udHJpYnV0b3IubGFzdG5hbWV9fSIgdGl0bGU9IlJlcG9ydCBpbmFwcHJvcHJpYXRl IHByb2ZpbGUgdGhhdCB2aW9sYXRlcyBQb3N0Z3JlU1FMIENvZGUgb2YgQ29uZHVjdCI+CisgICAg ICA8aSBjbGFzcz0iZmEgZmEtZmxhZyI+PC9pPiBSZXBvcnQgdGhpcyBwcm9maWxlCisgICAgPC9h PgorICA8L3A+Cis8L2Rpdj4KKworeyVlbmRibG9jayV9Ci0tIAoyLjUxLjIKCg== --0000000000005c4ddf06461adfa9 Content-Type: application/octet-stream; name="v1-0001-Allow-all-users-a-contributor-description.patch" Content-Disposition: attachment; filename="v1-0001-Allow-all-users-a-contributor-description.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mj99qb560 RnJvbSBmMWM0YmU4NTA5YjQ2NDEwZjYzNGYxZjU2ZWJmOTA4NzZkNGViOTY2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNZWxhbmllIFBsYWdlbWFuIDxtZWxhbmllcGxhZ2VtYW5AZ21h aWwuY29tPgpEYXRlOiBUdWUsIDE2IERlYyAyMDI1IDE1OjE4OjQ0IC0wNTAwClN1YmplY3Q6IFtQ QVRDSCB2MSAxLzNdIEFsbG93IGFsbCB1c2VycyBhIGNvbnRyaWJ1dG9yIGRlc2NyaXB0aW9uCgpQ cmV2aW91c2x5IG9ubHkgcmVjb2duaXplZCBjb250cmlidXRvcnMgY291bGQgYWRkIGEgZGVzY3Jp cHRpb24gb2YgdGhlaXIKY29udHJpYnV0aW9ucyB0byBQb3N0Z3Jlcy4gSW4gb3JkZXIgdG8gc3Vw cG9ydCBwdWJsaWMgY29udHJpYnV0b3IKcHJvZmlsZXMgZm9yIGFsbCB1c2VycyAobm90IGp1c3Qg cmVjb2duaXplZCBjb250cmlidXRvcnMpLCBjb250cmlidXRvcnMKbXVzdCBiZSBhYmxlIHRvIGFk ZCBjb250cmlidXRpb25zLgotLS0KIHBnd2ViL2FjY291bnQvdmlld3MucHkgICAgICAgICAgICAg ICAgICAgICAgICB8IDI3ICsrKysrKysrKy0tLS0tLS0tLS0KIC4uLi8wMDA0X2FsdGVyX2NvbnRy aWJ1dG9yX2N0eXBlLnB5ICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrCiBwZ3dlYi9j b250cmlidXRvcnMvbW9kZWxzLnB5ICAgICAgICAgICAgICAgICAgfCAgNiArKystLQogdGVtcGxh dGVzL2FjY291bnQvdXNlcnByb2ZpbGVmb3JtLmh0bWwgICAgICAgIHwgIDggKysrLS0tCiA0IGZp bGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHBnd2ViL2NvbnRyaWJ1dG9ycy9taWdyYXRpb25zLzAwMDRfYWx0ZXJfY29udHJp YnV0b3JfY3R5cGUucHkKCmRpZmYgLS1naXQgYS9wZ3dlYi9hY2NvdW50L3ZpZXdzLnB5IGIvcGd3 ZWIvYWNjb3VudC92aWV3cy5weQppbmRleCA0ZjZjZmE3OC4uNjkwMGUwNGYgMTAwNjQ0Ci0tLSBh L3Bnd2ViL2FjY291bnQvdmlld3MucHkKKysrIGIvcGd3ZWIvYWNjb3VudC92aWV3cy5weQpAQCAt MTQyLDE0ICsxNDIsMTQgQEAgZGVmIHByb2ZpbGUocmVxdWVzdCk6CiAgICAgIyBhY2NvdW50cy4K ICAgICBjYW5fY2hhbmdlX2VtYWlsID0gKHJlcXVlc3QudXNlci5wYXNzd29yZCAhPSBPQVVUSF9Q QVNTV09SRF9TVE9SRSkKIAotICAgICMgV2UgbWF5IGhhdmUgYSBjb250cmlidXRvciByZWNvcmQg LSBhbmQgd2Ugb25seSBzaG93IHRoYXQgcGFydCBvZiB0aGUKLSAgICAjIGZvcm0gaWYgd2UgaGF2 ZSBpdCBmb3IgdGhpcyB1c2VyLgotICAgIHRyeToKLSAgICAgICAgY29udHJpYiA9IENvbnRyaWJ1 dG9yLm9iamVjdHMuZ2V0KHVzZXI9cmVxdWVzdC51c2VyLnBrKQotICAgIGV4Y2VwdCBDb250cmli dXRvci5Eb2VzTm90RXhpc3Q6Ci0gICAgICAgIGNvbnRyaWIgPSBOb25lCi0KLSAgICBjb250cmli Zm9ybSA9IE5vbmUKKyAgICBjb250cmliLCBfID0gQ29udHJpYnV0b3Iub2JqZWN0cy5nZXRfb3Jf Y3JlYXRlKAorICAgICAgICB1c2VyPXJlcXVlc3QudXNlciwKKyAgICAgICAgZGVmYXVsdHM9ewor ICAgICAgICAgICAgJ2ZpcnN0bmFtZSc6IHJlcXVlc3QudXNlci5maXJzdF9uYW1lLAorICAgICAg ICAgICAgJ2xhc3RuYW1lJzogcmVxdWVzdC51c2VyLmxhc3RfbmFtZSwKKyAgICAgICAgICAgICdl bWFpbCc6IHJlcXVlc3QudXNlci5lbWFpbCwKKyAgICAgICAgfQorICAgICkKIAogICAgIHNlY29u ZGFyeWFkZHJlc3NlcyA9IFNlY29uZGFyeUVtYWlsLm9iamVjdHMuZmlsdGVyKHVzZXI9cmVxdWVz dC51c2VyKQogCkBAIC0xNTgsMTAgKzE1OCw5IEBAIGRlZiBwcm9maWxlKHJlcXVlc3QpOgogICAg ICAgICB1c2VyZm9ybSA9IFVzZXJGb3JtKGNhbl9jaGFuZ2VfZW1haWwsIHNlY29uZGFyeWFkZHJl c3NlcywgZGF0YT1yZXF1ZXN0LlBPU1QsIGluc3RhbmNlPXJlcXVlc3QudXNlcikKICAgICAgICAg cHJvZmlsZWZvcm0gPSBVc2VyUHJvZmlsZUZvcm0oZGF0YT1yZXF1ZXN0LlBPU1QsIGluc3RhbmNl PXByb2ZpbGUpCiAgICAgICAgIHNlY29uZGFyeWVtYWlsZm9ybSA9IEFkZEVtYWlsRm9ybShyZXF1 ZXN0LnVzZXIsIGRhdGE9cmVxdWVzdC5QT1NUKQotICAgICAgICBpZiBjb250cmliOgotICAgICAg ICAgICAgY29udHJpYmZvcm0gPSBDb250cmlidXRvckZvcm0oZGF0YT1yZXF1ZXN0LlBPU1QsIGlu c3RhbmNlPWNvbnRyaWIpCisgICAgICAgIGNvbnRyaWJmb3JtID0gQ29udHJpYnV0b3JGb3JtKGRh dGE9cmVxdWVzdC5QT1NULCBpbnN0YW5jZT1jb250cmliKQogCi0gICAgICAgIGlmIHVzZXJmb3Jt LmlzX3ZhbGlkKCkgYW5kIHByb2ZpbGVmb3JtLmlzX3ZhbGlkKCkgYW5kIHNlY29uZGFyeWVtYWls Zm9ybS5pc192YWxpZCgpIGFuZCAobm90IGNvbnRyaWIgb3IgY29udHJpYmZvcm0uaXNfdmFsaWQo KSk6CisgICAgICAgIGlmIHVzZXJmb3JtLmlzX3ZhbGlkKCkgYW5kIHByb2ZpbGVmb3JtLmlzX3Zh bGlkKCkgYW5kIHNlY29uZGFyeWVtYWlsZm9ybS5pc192YWxpZCgpIGFuZCBjb250cmliZm9ybS5p c192YWxpZCgpOgogICAgICAgICAgICAgdXNlciA9IHVzZXJmb3JtLnNhdmUoKQogCiAgICAgICAg ICAgICAjIEVtYWlsIHRha2VzIHNvbWUgbWFnaWMgc3BlY2lhbCBoYW5kbGluZywgc2luY2Ugd2Ug b25seSBhbGxvdyBwaWNraW5nIG9mIGV4aXN0aW5nIHNlY29uZGFyeSBlbWFpbHMsIGJ1dCBpdCdz CkBAIC0xNzksOCArMTc4LDcgQEAgZGVmIHByb2ZpbGUocmVxdWVzdCk6CiAgICAgICAgICAgICAg ICAgbG9nLmluZm8oIlVzZXIge30gY2hhbmdlZCBwcmltYXJ5IGVtYWlsIGZyb20ge30gdG8ge30i LmZvcm1hdCh1c2VyLnVzZXJuYW1lLCBvbGRlbWFpbCwgdXNlci5lbWFpbCkpCiAKICAgICAgICAg ICAgIHByb2ZpbGVmb3JtLnNhdmUoKQotICAgICAgICAgICAgaWYgY29udHJpYjoKLSAgICAgICAg ICAgICAgICBjb250cmliZm9ybS5zYXZlKCkKKyAgICAgICAgICAgIGNvbnRyaWJmb3JtLnNhdmUo KQogICAgICAgICAgICAgaWYgc2Vjb25kYXJ5ZW1haWxmb3JtLmNsZWFuZWRfZGF0YS5nZXQoJ2Vt YWlsMScsICcnKToKICAgICAgICAgICAgICAgICBzYSA9IFNlY29uZGFyeUVtYWlsKHVzZXI9cmVx dWVzdC51c2VyLCBlbWFpbD1zZWNvbmRhcnllbWFpbGZvcm0uY2xlYW5lZF9kYXRhWydlbWFpbDEn XSwgdG9rZW49Z2VuZXJhdGVfcmFuZG9tX3Rva2VuKCkpCiAgICAgICAgICAgICAgICAgc2Euc2F2 ZSgpCkBAIC0yMDMsOCArMjAxLDcgQEAgZGVmIHByb2ZpbGUocmVxdWVzdCk6CiAgICAgICAgIHVz ZXJmb3JtID0gVXNlckZvcm0oY2FuX2NoYW5nZV9lbWFpbCwgc2Vjb25kYXJ5YWRkcmVzc2VzLCBp bnN0YW5jZT1yZXF1ZXN0LnVzZXIpCiAgICAgICAgIHByb2ZpbGVmb3JtID0gVXNlclByb2ZpbGVG b3JtKGluc3RhbmNlPXByb2ZpbGUpCiAgICAgICAgIHNlY29uZGFyeWVtYWlsZm9ybSA9IEFkZEVt YWlsRm9ybShyZXF1ZXN0LnVzZXIpCi0gICAgICAgIGlmIGNvbnRyaWI6Ci0gICAgICAgICAgICBj b250cmliZm9ybSA9IENvbnRyaWJ1dG9yRm9ybShpbnN0YW5jZT1jb250cmliKQorICAgICAgICBj b250cmliZm9ybSA9IENvbnRyaWJ1dG9yRm9ybShpbnN0YW5jZT1jb250cmliKQogCiAgICAgcmV0 dXJuIHJlbmRlcl9wZ3dlYihyZXF1ZXN0LCAnYWNjb3VudCcsICdhY2NvdW50L3VzZXJwcm9maWxl Zm9ybS5odG1sJywgewogICAgICAgICAndXNlcmZvcm0nOiB1c2VyZm9ybSwKZGlmZiAtLWdpdCBh L3Bnd2ViL2NvbnRyaWJ1dG9ycy9taWdyYXRpb25zLzAwMDRfYWx0ZXJfY29udHJpYnV0b3JfY3R5 cGUucHkgYi9wZ3dlYi9jb250cmlidXRvcnMvbWlncmF0aW9ucy8wMDA0X2FsdGVyX2NvbnRyaWJ1 dG9yX2N0eXBlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5mZGYxNTQw NQotLS0gL2Rldi9udWxsCisrKyBiL3Bnd2ViL2NvbnRyaWJ1dG9ycy9taWdyYXRpb25zLzAwMDRf YWx0ZXJfY29udHJpYnV0b3JfY3R5cGUucHkKQEAgLTAsMCArMSwyNCBAQAorIyBHZW5lcmF0ZWQg YnkgRGphbmdvIDUuMi44IG9uIDIwMjUtMTItMTUgMjM6NTkKKworaW1wb3J0IGRqYW5nby5kYi5t b2RlbHMuZGVsZXRpb24KK2Zyb20gZGphbmdvLmRiIGltcG9ydCBtaWdyYXRpb25zLCBtb2RlbHMK KworCitjbGFzcyBNaWdyYXRpb24obWlncmF0aW9ucy5NaWdyYXRpb24pOgorCisgICAgZGVwZW5k ZW5jaWVzID0gWworICAgICAgICAoJ2NvbnRyaWJ1dG9ycycsICcwMDAzX21ha2VfZW1haWxfbnVs bGFibGUnKSwKKyAgICBdCisKKyAgICBvcGVyYXRpb25zID0gWworICAgICAgICBtaWdyYXRpb25z LkFsdGVyRmllbGQoCisgICAgICAgICAgICBtb2RlbF9uYW1lPSdjb250cmlidXRvcicsCisgICAg ICAgICAgICBuYW1lPSdjdHlwZScsCisgICAgICAgICAgICBmaWVsZD1tb2RlbHMuRm9yZWlnbktl eShibGFuaz1UcnVlLCBudWxsPVRydWUsIG9uX2RlbGV0ZT1kamFuZ28uZGIubW9kZWxzLmRlbGV0 aW9uLkNBU0NBREUsIHRvPSdjb250cmlidXRvcnMuY29udHJpYnV0b3J0eXBlJywgdmVyYm9zZV9u YW1lPSdDb250cmlidXRvciBUeXBlJyksCisgICAgICAgICksCisgICAgICAgIG1pZ3JhdGlvbnMu QWx0ZXJGaWVsZCgKKyAgICAgICAgICAgIG1vZGVsX25hbWU9J2NvbnRyaWJ1dG9yJywKKyAgICAg ICAgICAgIG5hbWU9J2NvbnRyaWJ1dGlvbicsCisgICAgICAgICAgICBmaWVsZD1tb2RlbHMuVGV4 dEZpZWxkKGJsYW5rPVRydWUsIGhlbHBfdGV4dD0nT25seSBkaXNwbGF5ZWQgZm9yIE1ham9yIENv bnRyaWJ1dG9ycycsIG51bGw9VHJ1ZSksCisgICAgICAgICksCisgICAgXQpkaWZmIC0tZ2l0IGEv cGd3ZWIvY29udHJpYnV0b3JzL21vZGVscy5weSBiL3Bnd2ViL2NvbnRyaWJ1dG9ycy9tb2RlbHMu cHkKaW5kZXggMzQyY2RkYjIuLmFmZWNmMmJlIDEwMDY0NAotLS0gYS9wZ3dlYi9jb250cmlidXRv cnMvbW9kZWxzLnB5CisrKyBiL3Bnd2ViL2NvbnRyaWJ1dG9ycy9tb2RlbHMucHkKQEAgLTE5LDcg KzE5LDkgQEAgY2xhc3MgQ29udHJpYnV0b3JUeXBlKG1vZGVscy5Nb2RlbCk6CiAKIAogY2xhc3Mg Q29udHJpYnV0b3IobW9kZWxzLk1vZGVsKToKLSAgICBjdHlwZSA9IG1vZGVscy5Gb3JlaWduS2V5 KENvbnRyaWJ1dG9yVHlwZSwgb25fZGVsZXRlPW1vZGVscy5DQVNDQURFLCB2ZXJib3NlX25hbWU9 J0NvbnRyaWJ1dG9yIFR5cGUnKQorICAgIGN0eXBlID0gbW9kZWxzLkZvcmVpZ25LZXkoQ29udHJp YnV0b3JUeXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25fZGVsZXRlPW1vZGVs cy5DQVNDQURFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyYm9zZV9uYW1lPSdD b250cmlidXRvciBUeXBlJywgbnVsbD1UcnVlLCBibGFuaz1UcnVlKQogICAgIGxhc3RuYW1lID0g bW9kZWxzLkNoYXJGaWVsZChtYXhfbGVuZ3RoPTEwMCwgbnVsbD1GYWxzZSwgYmxhbms9RmFsc2Up CiAgICAgZmlyc3RuYW1lID0gbW9kZWxzLkNoYXJGaWVsZChtYXhfbGVuZ3RoPTEwMCwgbnVsbD1G YWxzZSwgYmxhbms9RmFsc2UpCiAgICAgZW1haWwgPSBtb2RlbHMuRW1haWxGaWVsZChudWxsPUZh bHNlLCBibGFuaz1UcnVlKQpAQCAtMjcsNyArMjksNyBAQCBjbGFzcyBDb250cmlidXRvcihtb2Rl bHMuTW9kZWwpOgogICAgIGNvbXBhbnl1cmwgPSBtb2RlbHMuVVJMRmllbGQobWF4X2xlbmd0aD0x MDAsIG51bGw9VHJ1ZSwgYmxhbms9VHJ1ZSwgdmVyYm9zZV9uYW1lPSdDb21wYW55IFVSTCcpCiAg ICAgbG9jYXRpb24gPSBtb2RlbHMuQ2hhckZpZWxkKG1heF9sZW5ndGg9MTAwLCBudWxsPVRydWUs IGJsYW5rPVRydWUpCiAgICAgY29udHJpYnV0aW9uID0gbW9kZWxzLlRleHRGaWVsZChudWxsPVRy dWUsIGJsYW5rPVRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxw X3RleHQ9J1RoaXMgZGVzY3JpcHRpb24gaXMgY3VycmVudGx5IHVzZWQgZm9yIG1ham9yIGNvbnRy aWJ1dG9ycyBvbmx5JykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHBf dGV4dD0nT25seSBkaXNwbGF5ZWQgZm9yIE1ham9yIENvbnRyaWJ1dG9ycycpCiAgICAgdXNlciA9 IG1vZGVscy5Gb3JlaWduS2V5KFVzZXIsIG51bGw9VHJ1ZSwgYmxhbms9VHJ1ZSwgb25fZGVsZXRl PW1vZGVscy5DQVNDQURFKQogCiAgICAgc2VuZF9ub3RpZmljYXRpb24gPSBUcnVlCmRpZmYgLS1n aXQgYS90ZW1wbGF0ZXMvYWNjb3VudC91c2VycHJvZmlsZWZvcm0uaHRtbCBiL3RlbXBsYXRlcy9h Y2NvdW50L3VzZXJwcm9maWxlZm9ybS5odG1sCmluZGV4IDk2ZWQyNzc5Li4xMmQ2YWNlNCAxMDA2 NDQKLS0tIGEvdGVtcGxhdGVzL2FjY291bnQvdXNlcnByb2ZpbGVmb3JtLmh0bWwKKysrIGIvdGVt cGxhdGVzL2FjY291bnQvdXNlcnByb2ZpbGVmb3JtLmh0bWwKQEAgLTk0LDkgKzk0LDEyIEBACiAg ICAgICA8L2Rpdj4KICAgICB7JWVuZGZvciV9CiAKLSAgeyUgaWYgY29udHJpYmZvcm0gJX0KICAg ICA8aDI+RWRpdCBjb250cmlidXRvciBpbmZvcm1hdGlvbjwvaDI+Ci0gICAgPHA+WW91IGNhbiBl ZGl0IHRoZSBpbmZvcm1hdGlvbiB0aGF0J3Mgc2hvd24gb24gdGhlIDxhIGhyZWY9Ii9jb21tdW5p dHkvY29udHJpYnV0b3JzLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPmNvbnRyaWJ1 dG9yczwvYT4gcGFnZS4gUGxlYXNlIGJlIGNhcmVmdWwgYXMgeW91ciBjaGFuZ2VzIHdpbGwgdGFr ZSBlZmZlY3QgaW1tZWRpYXRlbHkhCisgICAgPHA+WW91IGNhbiBlZGl0IHRoZSBpbmZvcm1hdGlv biB0aGF0IGlzIHNob3duIG9uIHlvdXIgY29udHJpYnV0b3IgcHJvZmlsZS4KKyAgICAgIElmIHlv dSBhcmUgYSByZWNvZ25pemVkIE1ham9yIENvbnRyaWJ1dG9yLCB0aGlzIGlzIHdoYXQgd2lsbCBi ZSBkaXNwbGF5ZWQKKyAgICAgIG9uIHRoZQorICAgICAgPGEgaHJlZj0iL2NvbW11bml0eS9jb250 cmlidXRvcnMvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+Y29udHJpYnV0b3JzPC9h PgorICAgICAgcGFnZS4gUGxlYXNlIGJlIGNhcmVmdWwgYXMgeW91ciBjaGFuZ2VzIHdpbGwgdGFr ZSBlZmZlY3QgaW1tZWRpYXRlbHkhCiAgICAgPC9wPgogICAgIHslIGZvciBmaWVsZCBpbiBjb250 cmliZm9ybSAlfQogICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCByb3ciPgpAQCAtMTE2LDcg KzExOSw2IEBACiAgICAgICAgIDwvZGl2PgogICAgICAgPC9kaXY+CiAgICAgeyUgZW5kZm9yICV9 Ci0gIHslIGVuZGlmICV9CiAKICAgPGRpdiBjbGFzcz0ic3VibWl0LXJvdyI+CiAgICAgPGlucHV0 IGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNhdmUiIC8+Ci0t IAoyLjUxLjIKCg== --0000000000005c4ddf06461adfa9 Content-Type: application/octet-stream; name="v1-0003-Make-public-contributor-profile-opt-in.patch" Content-Disposition: attachment; filename="v1-0003-Make-public-contributor-profile-opt-in.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mj99qb5o2 RnJvbSBjZDMyNDc4YzJiYjQ5ZWVkMTBlYjU2ZjJmMjFkYjlmMTBhMzRiOTg5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNZWxhbmllIFBsYWdlbWFuIDxtZWxhbmllcGxhZ2VtYW5AZ21h aWwuY29tPgpEYXRlOiBUdWUsIDE2IERlYyAyMDI1IDE4OjAwOjU3IC0wNTAwClN1YmplY3Q6IFtQ QVRDSCB2MSAzLzNdIE1ha2UgcHVibGljIGNvbnRyaWJ1dG9yIHByb2ZpbGUgb3B0LWluCgpJJ20g bm90IHJlYWxseSBzdXJlIGlmIHRoaXMgaXMgdGhlIHJpZ2h0IHdheSB0byBkbyB0aGlzIGF0IGFs bCwgc28gSQptYWRlIGl0IGEgc2VwYXJhdGUgcGF0Y2guIEJhc2ljYWxseSwgd2UgcHJvYmFibHkg ZG9uJ3Qgd2FudCB0byBqdXN0CnN1ZGRlbmx5IGhhdmUgZXZlcnlib2R5IHdpdGggYSB1c2VyIGFj Y291bnQgYXQgcG9zdGdyZXNxbC5vcmcgaGF2ZSBhCnB1YmxpYyBwcm9maWxlIHBhZ2UuIEJ1dCwg SSBkb24ndCBrbm93IGhvdyBpdCBzaG91bGQgd29yayBleGFjdGx5IC0tCmJvdGggZnJvbSBhIGZl YXR1cmUgc3BlY2lmaWNhdGlvbiBwZXJzcGVjdGl2ZSBhbmQgYW4gaW1wbGVtZW50YXRpb24KcGVy c3BlY3RpdmUuCgpGb3Igb25lLCB3ZSBjYW4ndCBoYXZlIGFsbCBleGlzdGluZyBjb250cmlidXRv cnMgbm90IGJlIGRpc3BsYXllZCBvbiB0aGUKcmVjb2duaXplZCBjb250cmlidXRvciBwYWdlIGp1 c3QgYmVjYXVzZSB0aGV5IGRpZG4ndCBvcHQtaW4gKHdoaWNoIGlzCndoYXQgSSBkaWQgaGVyZSku IEJ1dCBkbyB3ZSB3YW50IGFsbCBvZiB0aGVtIHRvIGdldCBwcm9maWxlcyB3aXRob3V0CmZpcnN0 IG9wdGluZyBpbj8KLS0tCiBwZ3dlYi9hY2NvdW50L2Zvcm1zLnB5ICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDMgKysrCiAuLi4vbWlncmF0aW9ucy8wMDA1X2FkZF9oaWRkZW5fZmllbGQucHkg ICAgICAgIHwgMTggKysrKysrKysrKysrKysrKysrCiBwZ3dlYi9jb250cmlidXRvcnMvbW9kZWxz LnB5ICAgICAgICAgICAgICAgICAgIHwgIDMgKysrCiBwZ3dlYi9jb250cmlidXRvcnMvdmlld3Mu cHkgICAgICAgICAgICAgICAgICAgIHwgIDcgKysrKysrLQogcGd3ZWIvY29yZS9tb2RlbHMucHkg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrKwogdGVtcGxhdGVzL2NvbnRyaWJ1dG9y cy9saXN0Lmh0bWwgICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogNiBmaWxlcyBjaGFuZ2VkLCAz NiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBnd2Vi L2NvbnRyaWJ1dG9ycy9taWdyYXRpb25zLzAwMDVfYWRkX2hpZGRlbl9maWVsZC5weQoKZGlmZiAt LWdpdCBhL3Bnd2ViL2FjY291bnQvZm9ybXMucHkgYi9wZ3dlYi9hY2NvdW50L2Zvcm1zLnB5Cmlu ZGV4IGZiMzY0MWIwLi41ZTgwMDJlZCAxMDA2NDQKLS0tIGEvcGd3ZWIvYWNjb3VudC9mb3Jtcy5w eQorKysgYi9wZ3dlYi9hY2NvdW50L2Zvcm1zLnB5CkBAIC0xNjEsNiArMTYxLDkgQEAgY2xhc3Mg Q29udHJpYnV0b3JGb3JtKGZvcm1zLk1vZGVsRm9ybSk6CiAgICAgY2xhc3MgTWV0YToKICAgICAg ICAgbW9kZWwgPSBDb250cmlidXRvcgogICAgICAgICBleGNsdWRlID0gKCdjdHlwZScsICdsYXN0 bmFtZScsICdmaXJzdG5hbWUnLCAndXNlcicsICkKKyAgICAgICAgd2lkZ2V0cyA9IHsKKyAgICAg ICAgICAgICdoaWRkZW4nOiBmb3Jtcy5DaGVja2JveElucHV0KGF0dHJzPXsnY2xhc3MnOiAnZm9y bS1jaGVjay1pbnB1dCd9KSwKKyAgICAgICAgfQogCiAKIGNsYXNzIEFkZEVtYWlsRm9ybShmb3Jt cy5Gb3JtKToKZGlmZiAtLWdpdCBhL3Bnd2ViL2NvbnRyaWJ1dG9ycy9taWdyYXRpb25zLzAwMDVf YWRkX2hpZGRlbl9maWVsZC5weSBiL3Bnd2ViL2NvbnRyaWJ1dG9ycy9taWdyYXRpb25zLzAwMDVf YWRkX2hpZGRlbl9maWVsZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4u YWQ1Nzk5ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9wZ3dlYi9jb250cmlidXRvcnMvbWlncmF0aW9u cy8wMDA1X2FkZF9oaWRkZW5fZmllbGQucHkKQEAgLTAsMCArMSwxOCBAQAorIyBHZW5lcmF0ZWQg YnkgRGphbmdvIDUuMi44IG9uIDIwMjUtMTItMTYgMjM6NDcKKworZnJvbSBkamFuZ28uZGIgaW1w b3J0IG1pZ3JhdGlvbnMsIG1vZGVscworCisKK2NsYXNzIE1pZ3JhdGlvbihtaWdyYXRpb25zLk1p Z3JhdGlvbik6CisKKyAgICBkZXBlbmRlbmNpZXMgPSBbCisgICAgICAgICgnY29udHJpYnV0b3Jz JywgJzAwMDRfYWx0ZXJfY29udHJpYnV0b3JfY3R5cGUnKSwKKyAgICBdCisKKyAgICBvcGVyYXRp b25zID0gWworICAgICAgICBtaWdyYXRpb25zLkFkZEZpZWxkKAorICAgICAgICAgICAgbW9kZWxf bmFtZT0nY29udHJpYnV0b3InLAorICAgICAgICAgICAgbmFtZT0naGlkZGVuJywKKyAgICAgICAg ICAgIGZpZWxkPW1vZGVscy5Cb29sZWFuRmllbGQoZGVmYXVsdD1UcnVlLCBoZWxwX3RleHQ9J0hp ZGUgeW91ciBjb250cmlidXRvciBwcm9maWxlIGZyb20gL2NvbW11bml0eS9jb250cmlidXRvcnMv W3VzZXJuYW1lXS8nLCB2ZXJib3NlX25hbWU9J0hpZGUgcHVibGljIHByb2ZpbGUnKSwKKyAgICAg ICAgKSwKKyAgICBdCmRpZmYgLS1naXQgYS9wZ3dlYi9jb250cmlidXRvcnMvbW9kZWxzLnB5IGIv cGd3ZWIvY29udHJpYnV0b3JzL21vZGVscy5weQppbmRleCBhZmVjZjJiZS4uNTkyMjI3ZWMgMTAw NjQ0Ci0tLSBhL3Bnd2ViL2NvbnRyaWJ1dG9ycy9tb2RlbHMucHkKKysrIGIvcGd3ZWIvY29udHJp YnV0b3JzL21vZGVscy5weQpAQCAtMzEsNiArMzEsOSBAQCBjbGFzcyBDb250cmlidXRvcihtb2Rl bHMuTW9kZWwpOgogICAgIGNvbnRyaWJ1dGlvbiA9IG1vZGVscy5UZXh0RmllbGQobnVsbD1UcnVl LCBibGFuaz1UcnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscF90 ZXh0PSdPbmx5IGRpc3BsYXllZCBmb3IgTWFqb3IgQ29udHJpYnV0b3JzJykKICAgICB1c2VyID0g bW9kZWxzLkZvcmVpZ25LZXkoVXNlciwgbnVsbD1UcnVlLCBibGFuaz1UcnVlLCBvbl9kZWxldGU9 bW9kZWxzLkNBU0NBREUpCisgICAgaGlkZGVuID0gbW9kZWxzLkJvb2xlYW5GaWVsZChudWxsPUZh bHNlLCBibGFuaz1GYWxzZSwgZGVmYXVsdD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmVyYm9zZV9uYW1lPSdIaWRlIHB1YmxpYyBwcm9maWxlJywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhlbHBfdGV4dD0nQ2hlY2sgdG8gaGlkZSB5b3VyIGNvbnRy aWJ1dG9yIHByb2ZpbGUuIFVuY2hlY2sgdG8gbWFrZSBpdCBwdWJsaWNseSBhY2Nlc3NpYmxlIGF0 IC9jb21tdW5pdHkvY29udHJpYnV0b3JzL1t1c2VybmFtZV0vJykKIAogICAgIHNlbmRfbm90aWZp Y2F0aW9uID0gVHJ1ZQogICAgIHB1cmdlX3VybHMgPSAoJy9jb21tdW5pdHkvY29udHJpYnV0b3Jz LycsICkKZGlmZiAtLWdpdCBhL3Bnd2ViL2NvbnRyaWJ1dG9ycy92aWV3cy5weSBiL3Bnd2ViL2Nv bnRyaWJ1dG9ycy92aWV3cy5weQppbmRleCA2MGZhZGJkOS4uNzY3ZTc2MjQgMTAwNjQ0Ci0tLSBh L3Bnd2ViL2NvbnRyaWJ1dG9ycy92aWV3cy5weQorKysgYi9wZ3dlYi9jb250cmlidXRvcnMvdmll d3MucHkKQEAgLTEyLDcgKzEyLDEyIEBAIGRlZiBjb21wbGV0ZWxpc3QocmVxdWVzdCk6CiAKIAog ZGVmIGNvbnRyaWJ1dG9yX3Byb2ZpbGUocmVxdWVzdCwgdXNlcm5hbWUpOgotICAgIGNvbnRyaWJ1 dG9yID0gZ2V0X29iamVjdF9vcl80MDQoQ29udHJpYnV0b3IsIHVzZXJfX3VzZXJuYW1lPXVzZXJu YW1lKQorICAgICMgT25seSBzaG93IHByb2ZpbGVzIHRoYXQgYXJlIG5vdCBoaWRkZW4KKyAgICBj b250cmlidXRvciA9IGdldF9vYmplY3Rfb3JfNDA0KAorICAgICAgICBDb250cmlidXRvciwKKyAg ICAgICAgdXNlcl9fdXNlcm5hbWU9dXNlcm5hbWUsCisgICAgICAgIGhpZGRlbj1GYWxzZQorICAg ICkKICAgICByZXR1cm4gcmVuZGVyX3Bnd2ViKHJlcXVlc3QsICdjb21tdW5pdHknLCAnY29udHJp YnV0b3JzL3Byb2ZpbGUuaHRtbCcsIHsKICAgICAgICAgJ2NvbnRyaWJ1dG9yJzogY29udHJpYnV0 b3IsCiAgICAgfSkKZGlmZiAtLWdpdCBhL3Bnd2ViL2NvcmUvbW9kZWxzLnB5IGIvcGd3ZWIvY29y ZS9tb2RlbHMucHkKaW5kZXggNTQxODU5MTcuLjJlODhjMDRmIDEwMDY0NAotLS0gYS9wZ3dlYi9j b3JlL21vZGVscy5weQorKysgYi9wZ3dlYi9jb3JlL21vZGVscy5weQpAQCAtMjcyLDYgKzI3Miw5 IEBAIGNsYXNzIFVzZXJQcm9maWxlKG1vZGVscy5Nb2RlbCk6CiAgICAgYmxvY2tfb2F1dGggPSBt b2RlbHMuQm9vbGVhbkZpZWxkKG51bGw9RmFsc2UsIGJsYW5rPUZhbHNlLCBkZWZhdWx0PUZhbHNl LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJib3NlX25hbWU9IkJs b2NrIE9BdXRoIGxvZ2luIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aGVscF90ZXh0PSJEaXNhbGxvdyBsb2dpbiB0byB0aGlzIGFjY291bnQgdXNpbmcgT0F1dGggcHJv dmlkZXJzIGxpa2UgR29vZ2xlIG9yIE1pY3Jvc29mdC4iKQorICAgIHNob3dfY29udHJpYnV0b3Jf cHJvZmlsZSA9IG1vZGVscy5Cb29sZWFuRmllbGQobnVsbD1GYWxzZSwgYmxhbms9RmFsc2UsIGRl ZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2ZXJib3NlX25hbWU9IlNob3cgcHVibGljIGNvbnRyaWJ1dG9yIHByb2ZpbGUiLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscF90 ZXh0PSJBbGxvdyBvdGhlcnMgdG8gdmlldyB5b3VyIGNvbnRyaWJ1dG9yIHByb2ZpbGUgYXQgL2Nv bW11bml0eS9jb250cmlidXRvcnMvW3VzZXJuYW1lXS8iKQogCiAKIGNsYXNzIFVzZXJTdWJtaXNz aW9uKG1vZGVscy5Nb2RlbCk6CmRpZmYgLS1naXQgYS90ZW1wbGF0ZXMvY29udHJpYnV0b3JzL2xp c3QuaHRtbCBiL3RlbXBsYXRlcy9jb250cmlidXRvcnMvbGlzdC5odG1sCmluZGV4IGU3MTNjZWUy Li5lZjMyNDU3MiAxMDA2NDQKLS0tIGEvdGVtcGxhdGVzL2NvbnRyaWJ1dG9ycy9saXN0Lmh0bWwK KysrIGIvdGVtcGxhdGVzL2NvbnRyaWJ1dG9ycy9saXN0Lmh0bWwKQEAgLTMyLDcgKzMyLDcgQEAK ICAgICB7JWZvciBjIGluIHQuY29udHJpYnV0b3Jfc2V0LmFsbCAlfQogICAgICB7JWlmIHQuZGV0 YWlsZWQlfQogICAgICAgPHRyPgotICAgICAgIDx0ZD57JSBpZiBjLnVzZXIgJX08YSBocmVmPSIv Y29tbXVuaXR5L2NvbnRyaWJ1dG9ycy97e2MudXNlci51c2VybmFtZX19LyI+e3tjLmZpcnN0bmFt ZX19IHt7Yy5sYXN0bmFtZX19PC9hPnslIGVsc2UgJX17e2MuZmlyc3RuYW1lfX0ge3tjLmxhc3Ru YW1lfX17JSBlbmRpZiAlfSB7JWlmIHQuc2hvd2VtYWlsIGFuZCBjLmVtYWlsJX0oe3tjLmVtYWls fGhpZGVtYWlsfX0peyVlbmRpZiV9CisgICAgICAgPHRkPnslIGlmIGMudXNlciBhbmQgbm90IGMu aGlkZGVuICV9PGEgaHJlZj0iL2NvbW11bml0eS9jb250cmlidXRvcnMve3tjLnVzZXIudXNlcm5h bWV9fS8iPnt7Yy5maXJzdG5hbWV9fSB7e2MubGFzdG5hbWV9fTwvYT57JSBlbHNlICV9e3tjLmZp cnN0bmFtZX19IHt7Yy5sYXN0bmFtZX19eyUgZW5kaWYgJX0geyVpZiB0LnNob3dlbWFpbCBhbmQg Yy5lbWFpbCV9KHt7Yy5lbWFpbHxoaWRlbWFpbH19KXslZW5kaWYlfQogICAgICAgICAgIHslaWYg Yy5jb21wYW55ICV9CiAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgIHslIGlmIGMuY29tcGFu eXVybCAlfQpAQCAtNDksMTMgKzQ5LDEzIEBACiAgICAgIHslZWxzZSV9CiAgICAgICB7JWlmIGZv cmxvb3AuY291bnRlcjB8ZGl2aXNpYmxlYnk6IjIiICV9CiAgICAgICAgPHRyPgotICAgICAgICA8 dGQ+eyUgaWYgYy51c2VyICV9PGEgaHJlZj0iL2NvbW11bml0eS9jb250cmlidXRvcnMve3tjLnVz ZXIudXNlcm5hbWV9fS8iPnt7Yy5maXJzdG5hbWV9fSB7e2MubGFzdG5hbWV9fTwvYT57JSBlbHNl ICV9e3tjLmZpcnN0bmFtZX19IHt7Yy5sYXN0bmFtZX19eyUgZW5kaWYgJX17JWlmIHQuc2hvd2Vt YWlsIGFuZCBjLmVtYWlsJX0gKHt7Yy5lbWFpbHxoaWRlbWFpbH19KXslZW5kaWYlfTwvdGQ+Cisg ICAgICAgIDx0ZD57JSBpZiBjLnVzZXIgYW5kIG5vdCBjLmhpZGRlbiAlfTxhIGhyZWY9Ii9jb21t dW5pdHkvY29udHJpYnV0b3JzL3t7Yy51c2VyLnVzZXJuYW1lfX0vIj57e2MuZmlyc3RuYW1lfX0g e3tjLmxhc3RuYW1lfX08L2E+eyUgZWxzZSAlfXt7Yy5maXJzdG5hbWV9fSB7e2MubGFzdG5hbWV9 fXslIGVuZGlmICV9eyVpZiB0LnNob3dlbWFpbCBhbmQgYy5lbWFpbCV9ICh7e2MuZW1haWx8aGlk ZW1haWx9fSl7JWVuZGlmJX08L3RkPgogICAgICAgICB7JWlmIGZvcmxvb3AubGFzdCV9CiAgICAg ICAgIDx0ZD48L3RkPgogICAgICAgIDwvdHI+CiAgICAgICAgIHslZW5kaWYlfQogICAgICAgeyVl bHNlJX0KLSAgICAgICAgPHRkPnslIGlmIGMudXNlciAlfTxhIGhyZWY9Ii9jb21tdW5pdHkvY29u dHJpYnV0b3JzL3t7Yy51c2VyLnVzZXJuYW1lfX0vIj57e2MuZmlyc3RuYW1lfX0ge3tjLmxhc3Ru YW1lfX08L2E+eyUgZWxzZSAlfXt7Yy5maXJzdG5hbWV9fSB7e2MubGFzdG5hbWV9fXslIGVuZGlm ICV9eyVpZiB0LnNob3dlbWFpbCBhbmQgYy5lbWFpbCV9ICh7e2MuZW1haWx8aGlkZW1haWx9fSl7 JWVuZGlmJX08L3RkPgorICAgICAgICA8dGQ+eyUgaWYgYy51c2VyIGFuZCBub3QgYy5oaWRkZW4g JX08YSBocmVmPSIvY29tbXVuaXR5L2NvbnRyaWJ1dG9ycy97e2MudXNlci51c2VybmFtZX19LyI+ e3tjLmZpcnN0bmFtZX19IHt7Yy5sYXN0bmFtZX19PC9hPnslIGVsc2UgJX17e2MuZmlyc3RuYW1l fX0ge3tjLmxhc3RuYW1lfX17JSBlbmRpZiAlfXslaWYgdC5zaG93ZW1haWwgYW5kIGMuZW1haWwl fSAoe3tjLmVtYWlsfGhpZGVtYWlsfX0peyVlbmRpZiV9PC90ZD4KICAgICAgICA8L3RyPgogICAg ICAgeyVlbmRpZiV9CiAgICAgIHslZW5kaWYlfQotLSAKMi41MS4yCgo= --0000000000005c4ddf06461adfa9--