From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pmg-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 6773B1FF15E for <inbox@lore.proxmox.com>; Tue, 11 Mar 2025 11:22:52 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2EAB1BEF0; Tue, 11 Mar 2025 11:22:45 +0100 (CET) Message-ID: <46071399-2bf0-413e-a612-5fab40d3f542@proxmox.com> Date: Tue, 11 Mar 2025 11:22:10 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Markus Frank <m.frank@proxmox.com> To: Dominik Csapak <d.csapak@proxmox.com>, pmg-devel@lists.proxmox.com References: <20250303084958.2742-1-m.frank@proxmox.com> <02c92eb4-603a-4c85-9939-6b00ae2ee3ef@proxmox.com> Content-Language: en-US In-Reply-To: <02c92eb4-603a-4c85-9939-6b00ae2ee3ef@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.008 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox.com] Subject: Re: [pmg-devel] [PATCH pmg-gui v2] add OIDC configuration panel for PMG X-BeenThere: pmg-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Mail Gateway development discussion <pmg-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pmg-devel>, <mailto:pmg-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pmg-devel/> List-Post: <mailto:pmg-devel@lists.proxmox.com> List-Help: <mailto:pmg-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel>, <mailto:pmg-devel-request@lists.proxmox.com?subject=subscribe> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pmg-devel-bounces@lists.proxmox.com Sender: "pmg-devel" <pmg-devel-bounces@lists.proxmox.com> SSB3aWxsIGFkZHJlc3MgbW9zdCBvZiB5b3VyIGNvbW1lbnRzIGluIHYzLCB0aGFua3MuCgpTb21l IGNvbW1lbnRzL2Fuc3dlcnMgaW5saW5lOgoKT24gIDIwMjUtMDMtMTAgMTU6MzcsIERvbWluaWsg Q3NhcGFrIHdyb3RlOgo+IFdvcmtzIGZpbmUgZHVyaW5nIHRlc3RpbmcsIGJ1dCBub3RpY2VkIHNv bWUgdGhpbmdzIGluIHRoZSBjb2RlLAo+IHNlZSBjb21tZW50cyBpbmxpbmU6Cj4gCj4gT24gMy8z LzI1IDA5OjQ5LCBNYXJrdXMgRnJhbmsgd3JvdGU6Cj4+IEF1dGhFZGl0T0lEQy5qcyBpcyBiYXNl ZCBvbiBBdXRoRWRpdE9wZW5JZCBmcm9tIHdpZGdldC10b29sa2l0IGFuZAo+PiBhZGRzIGFkZGl0 aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBhdXRvY3JlYXRlLXJvbGUtYXNzaWdubWVu dC4KPj4KPj4gSXQgdXNlcyBzdWIvcHJlZmVycmVkX3VzZXJuYW1lIGZvciB1c2VybmFtZS1jbGFp bSBpbnN0ZWFkIG9mIHRoZSBvbGQKPj4gbmFtZXMgKHN1YmplY3QvdXNlcm5hbWUvZW1haWwpLiBS ZW1vdmVkIGVtYWlsIG9wdGlvbiBlbnRpcmVseSBhcyBpdCBpcwo+PiBpbmNvbXBhdGlibGUgd2l0 aCB0aGUgdXNlcm5hbWUgc2NoZW1lLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBNYXJrdXMgRnJhbmsg PG0uZnJhbmtAcHJveG1veC5jb20+Cj4+IC0tLQo+PiB2MjoKPj4gKiByZW5hbWVkIHN1YmplY3Qg dG8gc3ViCj4+ICogcmVuYW1lZCB1c2VybmFtZSB0byBwcmVmZXJyZWRfdXNlcm5hbWUKPj4gKiBy ZW1vdmVkIGVtYWlsIGVudGlyZWx5Cj4+Cj4+IMKgIGpzL0F1dGhFZGl0T0lEQy5qcyB8IDI3MCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gwqAganMvTWFr ZWZpbGXCoMKgwqDCoMKgwqDCoCB8wqDCoCAxICsKPj4gwqAganMvVXRpbHMuanPCoMKgwqDCoMKg wqDCoCB8wqDCoCAxICsKPj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCAyNzIgaW5zZXJ0aW9ucygrKQo+ PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQganMvQXV0aEVkaXRPSURDLmpzCj4+Cj4+IGRpZmYgLS1n aXQgYS9qcy9BdXRoRWRpdE9JREMuanMgYi9qcy9BdXRoRWRpdE9JREMuanMKPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMC4uY2RhOWQ2OAo+PiAtLS0gL2Rldi9udWxsCj4+ ICsrKyBiL2pzL0F1dGhFZGl0T0lEQy5qcwo+PiBAQCAtMCwwICsxLDI3MCBAQAo+PiArRXh0LmRl ZmluZSgnUE1HLk9JRENJbnB1dFBhbmVsJywgewo+PiArwqDCoMKgIGV4dGVuZDogJ1Byb3htb3gu cGFuZWwuSW5wdXRQYW5lbCcsCj4+ICvCoMKgwqAgeHR5cGU6ICdwbWdBdXRoT0lEQ1BhbmVsJywK Pj4gK8KgwqDCoCBtaXhpbnM6IFsnUHJveG1veC5NaXhpbi5DQmluZCddLAo+PiArCj4+ICvCoMKg wqAgc2hvd0RlZmF1bHRSZWFsbTogZmFsc2UsCj4+ICsKPj4gK8KgwqDCoCB0eXBlOiAnb2lkYycs Cj4+ICsKPj4gK8KgwqDCoCB2aWV3TW9kZWw6IHsKPj4gK8KgwqDCoCBkYXRhOiB7Cj4+ICvCoMKg wqDCoMKgwqDCoCByb2xlU291cmNlOiAnX19kZWZhdWx0X18nLAo+PiArwqDCoMKgwqDCoMKgwqAg YXV0b2NyZWF0ZTogMCwKPj4gK8KgwqDCoCB9LAo+PiArwqDCoMKgIGZvcm11bGFzOiB7Cj4+ICvC oMKgwqDCoMKgwqDCoCBoaWRlUm9sZUFzc2lnbm1lbnQ6IGZ1bmN0aW9uKGdldCkgewo+PiArwqDC oMKgwqDCoMKgwqAgbGV0IGF1dG9jcmVhdGUgPSBnZXQoJ2F1dG9jcmVhdGUnKTsKPj4gK8KgwqDC oMKgwqDCoMKgIGlmICghYXV0b2NyZWF0ZSkgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBy ZXR1cm4gMTsKPj4gK8KgwqDCoMKgwqDCoMKgIH0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBh dXRvY3JlYXRlID09PSAwOwo+IAo+IGluIG9uZSBicmFuY2ggeW91IHJldHVybiAxLCBidXQgbGF0 ZXIgdHJ1ZS9mYWxzZQo+IGFsc28gaWYgJ2F1dG9jcmVhdGUnID09PSAwLCAnIWF1dG9jcmVhdGUn IGlzIGFscmVhZHkgdHJ1ZS4uCj4gCj4gY291bGRuJ3QgeW91IHNpbXBseSB1c2UgJyFhdXRvY3Jl YXRlJyBpbiB0aGUgYmluZGluZ3MgdGhlbj8KPiAKPiAKPj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+ ICvCoMKgwqDCoMKgwqDCoCBoaWRlRml4ZWRSb2xlQXNzaWdubWVudDogZnVuY3Rpb24oZ2V0KSB7 Cj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gZ2V0KCdyb2xlU291cmNlJykgIT09ICdmaXhlZCcg fHwgZ2V0KCdoaWRlUm9sZUFzc2lnbm1lbnQnKTsKPj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+ICvC oMKgwqDCoMKgwqDCoCBoaWRlQ2xhaW1Sb2xlQXNzaWdubWVudDogZnVuY3Rpb24oZ2V0KSB7Cj4+ ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gZ2V0KCdyb2xlU291cmNlJykgIT09ICdmcm9tLWNsYWlt JyB8fCBnZXQoJ2hpZGVSb2xlQXNzaWdubWVudCcpOwo+PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4g K8KgwqDCoCB9LAo+PiArwqDCoMKgIH0sCj4+ICsKPj4gK8KgwqDCoCBvbkdldFZhbHVlczogZnVu Y3Rpb24odmFsdWVzKSB7Cj4+ICvCoMKgwqAgbGV0IG1lID0gdGhpczsKPj4gKwo+PiArwqDCoMKg IGlmIChtZS5pc0NyZWF0ZSAmJiAhbWUudXNlVHlwZUluVXJsKSB7Cj4+ICvCoMKgwqDCoMKgwqDC oCB2YWx1ZXMudHlwZSA9IG1lLnR5cGU7Cj4+ICvCoMKgwqAgfQo+PiArCj4+ICvCoMKgwqAgaWYg KHZhbHVlcy5zb3VyY2UpIHsKPj4gK8KgwqDCoMKgwqDCoMKgIGxldCBhdXRvY3JlYXRlUm9sZUFz c2lnbm1lbnQgPSB7fTsKPj4gK8KgwqDCoMKgwqDCoMKgIGF1dG9jcmVhdGVSb2xlQXNzaWdubWVu dC5zb3VyY2UgPSB2YWx1ZXMuc291cmNlOwo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKHZhbHVlcy5z b3VyY2UgPT09ICdmaXhlZCcpIHsKPj4gK8KgwqDCoMKgwqDCoMKgIGF1dG9jcmVhdGVSb2xlQXNz aWdubWVudFsnZml4ZWQtcm9sZSddID0gdmFsdWVzWydmaXhlZC1yb2xlJ107Cj4+ICvCoMKgwqDC oMKgwqDCoCB9IGVsc2UgaWYgKHZhbHVlcy5zb3VyY2UgPT09ICdmcm9tLWNsYWltJykgewo+PiAr wqDCoMKgwqDCoMKgwqAgYXV0b2NyZWF0ZVJvbGVBc3NpZ25tZW50Wydyb2xlLWNsYWltJ10gPSB2 YWx1ZXNbJ3JvbGUtY2xhaW0nXTsKPj4gK8KgwqDCoMKgwqDCoMKgIH0KPiAKPiBpZiB0aGUgY29u dGVudCBvZiAnc291cmNlJyB3b3VsZCBtYXRjaCB0aGUgaW5kaWNlcyAoJ2ZpeGVkLXJvbGUnIGFu ZCAncm9sZS1jbGFpbScpIHlvdSBjb3VsZCBkbwo+IHNvbWV0aGluZyBsaWtlIHRoaXMgKHBzdWVk by1jb2RlICYgdW50ZXN0ZWQhKQo+IAo+IGlmICh2YWx1ZXMuc291cmNlKSB7Cj4gIMKgwqDCoMKg bGV0IGFzc2lnbm1lbnQgPSB7fTsKPiAgwqDCoMKgwqBhc3NpZ25tZW50W3ZhbHVlcy5zb3VyY2Vd ID0gdmFsdWVzW3ZhbHVlcy5zb3VyY2VdOwo+ICDCoMKgwqDCoHZhbHVlc1snYXV0Li4uJ10gPSBw cmludFByb3BlcnR5U3RyaW5nKGFzc2lnbm1lbnQpOwo+IH0KPiAKPiBubz8KU2FkbHkgbm90LgoK SWYgdGhlIGNvbnRlbnQgb2YgJ3NvdXJjZScgd291bGQgbWF0Y2ggdGhlIGluZGljZXMgKCdmaXhl ZC1yb2xlJyBhbmQgJ3JvbGUtY2xhaW0nKSwKSSB3b3VsZCBzdGlsbCBuZWVkIHRvIHVzZSBhbiBp ZiB0byBjaGFuZ2UgdGhlIHNvdXJjZSB2YXJpYWJsZToKCmlmICh2YWx1ZXMuc291cmNlKSB7CiAg ICAgICBsZXQgYXNzaWdubWVudCA9IHt9OwogICAgICAgYXNzaWdubWVudFt2YWx1ZXMuc291cmNl XSA9IHZhbHVlc1t2YWx1ZXMuc291cmNlXTsKICAgICAgIGlmICh2YWx1ZXMuc291cmNlID09PSAn Zml4ZWQtcm9sZScpIHsKICAgICAgICAgICBhc3NpZ25tZW50LnNvdXJjZSA9ICdmaXhlZCc7CiAg ICAgICB9IGVsc2UgaWYgKHZhbHVlcy5zb3VyY2UgPT09ICdyb2xlLWNsYWltJykgewogICAgICAg ICAgIGFzc2lnbm1lbnQuc291cmNlID0gJ2Zyb20tY2xhaW0nOwogICAgICAgfQogICAgICAgdmFs dWVzWydhdXQuLi4nXSA9IHByaW50UHJvcGVydHlTdHJpbmcoYXNzaWdubWVudCk7Cn0KCkkgYW0g bm90IHN1cmUgaWYgdGhhdCB3b3VsZCBiZSBiZXR0ZXIuCj4gCj4gCj4+ICvCoMKgwqDCoMKgwqDC oCB2YWx1ZXNbJ2F1dG9jcmVhdGUtcm9sZS1hc3NpZ25tZW50J10gPQo+PiArwqDCoMKgwqDCoMKg wqAgUHJveG1veC5VdGlscy5wcmludFByb3BlcnR5U3RyaW5nKGF1dG9jcmVhdGVSb2xlQXNzaWdu bWVudCk7Cj4+ICvCoMKgwqAgfQo+PiArCj4+ICvCoMKgwqAgaWYgKCghdmFsdWVzLmF1dG9jcmVh dGUgfHwgIXZhbHVlcy5zb3VyY2UpICYmICFtZS5pc0NyZWF0ZSkgewo+PiArwqDCoMKgwqDCoMKg wqAgaWYgKHZhbHVlcy5kZWxldGUpIHsKPj4gK8KgwqDCoMKgwqDCoMKgIGlmIChFeHQuaXNBcnJh eSh2YWx1ZXMuZGVsZXRlKSkgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2YWx1ZXMuZGVs ZXRlLnB1c2goJ2F1dG9jcmVhdGUtcm9sZS1hc3NpZ25tZW50Jyk7Cj4+ICvCoMKgwqDCoMKgwqDC oCB9IGVsc2Ugewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2YWx1ZXMuZGVsZXRlICs9ICcs YXV0b2NyZWF0ZS1yb2xlLWFzc2lnbm1lbnQnOwo+PiArwqDCoMKgwqDCoMKgwqAgfQo+PiArwqDC oMKgwqDCoMKgwqAgfSBlbHNlIHsKPj4gK8KgwqDCoMKgwqDCoMKgIHZhbHVlcy5kZWxldGUgPSAn YXV0b2NyZWF0ZS1yb2xlLWFzc2lnbm1lbnQnOwo+PiArwqDCoMKgwqDCoMKgwqAgfQo+PiArwqDC oMKgIH0KPiBBRkFJUiwgd2UgYWxyZWFkeSBoYXZlIHRoaXMgYmVoYXZpb3IgZmFjdG9yZWQgb3V0 IGluIHByb3htb3gtd2lkZ2V0LXRvb2xraXQ6Cj4gCj4gJ2RlbGV0ZV9pZl9kZWZhdWx0Jwo+IAo+ PiArwqDCoMKgIGRlbGV0ZSB2YWx1ZXMuc291cmNlOwo+PiArwqDCoMKgIGRlbGV0ZSB2YWx1ZXNb J2ZpeGVkLXJvbGUnXTsKPj4gK8KgwqDCoCBkZWxldGUgdmFsdWVzWydyb2xlLWNsYWltJ107Cj4+ ICsKPj4gK8KgwqDCoCByZXR1cm4gdmFsdWVzOwo+PiArwqDCoMKgIH0sCj4+ICsKPj4gK8KgwqDC oCBzZXRWYWx1ZXM6IGZ1bmN0aW9uKHZhbHVlcykgewo+PiArwqDCoMKgIGxldCBhdXRvY3JlYXRl Um9sZUFzc2lnbm1lbnQgPQo+PiArwqDCoMKgwqDCoMKgwqAgUHJveG1veC5VdGlscy5wYXJzZVBy b3BlcnR5U3RyaW5nKHZhbHVlc1snYXV0b2NyZWF0ZS1yb2xlLWFzc2lnbm1lbnQnXSk7Cj4+ICsK Pj4gK8KgwqDCoCBpZiAoYXV0b2NyZWF0ZVJvbGVBc3NpZ25tZW50LnNvdXJjZSkgewo+PiArwqDC oMKgwqDCoMKgwqAgdmFsdWVzLnNvdXJjZSA9IGF1dG9jcmVhdGVSb2xlQXNzaWdubWVudC5zb3Vy Y2U7Cj4+ICvCoMKgwqAgfSBlbHNlIHsKPj4gK8KgwqDCoMKgwqDCoMKgIHZhbHVlcy5zb3VyY2Ug PSAnX19kZWZhdWx0X18nOwo+PiArwqDCoMKgIH0KPiAKPiBjb3VsZCBiZSBzaW1wbGlmaWVkIHRv Cj4gCj4gdmFsdWVzLnNvdXJjZSA9IGF1dG9jcmVhdGVSb2xlQXNzaWdubWVudC5zb3VyY2UgPz8g J19fZGVmYXVsdF9fJzsKPiAKPj4gKwo+PiArwqDCoMKgIGlmIChhdXRvY3JlYXRlUm9sZUFzc2ln bm1lbnQuc291cmNlID09PSAnZml4ZWQnKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoCB2YWx1ZXNbJ2Zp eGVkLXJvbGUnXSA9IGF1dG9jcmVhdGVSb2xlQXNzaWdubWVudFsnZml4ZWQtcm9sZSddOwo+PiAr wqDCoMKgIH0KPj4gK8KgwqDCoCBpZiAoYXV0b2NyZWF0ZVJvbGVBc3NpZ25tZW50LnNvdXJjZSA9 PT0gJ2Zyb20tY2xhaW0nKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoCB2YWx1ZXNbJ3JvbGUtY2xhaW0n XSA9IGF1dG9jcmVhdGVSb2xlQXNzaWdubWVudFsncm9sZS1jbGFpbSddOwo+PiArwqDCoMKgIH0K PiAKPiBzYW1lIGhlcmUgYnV0IHJldmVyc2VkOgo+IAo+IHZhbHVlc1thc3NpZ25tZW50LnNvdXJj ZV0gPSBhc3NpZ25tZW50W2Fzc2lnbm1lbnQuc291cmNlXTsKPiAKPj4gKwo+PiArwqDCoMKgIHRo aXMuY2FsbFBhcmVudChhcmd1bWVudHMpOwo+PiArwqDCoMKgIH0sCj4+ICsKPj4gKwo+PiArwqDC oMKgIGNvbHVtblQ6IFsKPj4gK8KgwqDCoCB7Cj4+ICvCoMKgwqDCoMKgwqDCoCB4dHlwZTogJ3Rl eHRmaWVsZCcsCj4+ICvCoMKgwqDCoMKgwqDCoCBuYW1lOiAnaXNzdWVyLXVybCcsCj4+ICvCoMKg wqDCoMKgwqDCoCBmaWVsZExhYmVsOiBnZXR0ZXh0KCdJc3N1ZXIgVVJMJyksCj4+ICvCoMKgwqDC oMKgwqDCoCBhbGxvd0JsYW5rOiBmYWxzZSwKPj4gK8KgwqDCoCB9LAo+PiArwqDCoMKgIF0sCj4+ ICsKPj4gK8KgwqDCoCBjb2x1bW4xOiBbCj4+ICvCoMKgwqAgewo+PiArwqDCoMKgwqDCoMKgwqAg eHR5cGU6ICdwbXhEaXNwbGF5RWRpdEZpZWxkJywKPj4gK8KgwqDCoMKgwqDCoMKgIG5hbWU6ICdy ZWFsbScsCj4+ICvCoMKgwqDCoMKgwqDCoCBjYmluZDogewo+PiArwqDCoMKgwqDCoMKgwqAgdmFs dWU6ICd7cmVhbG19JywKPj4gK8KgwqDCoMKgwqDCoMKgIGVkaXRhYmxlOiAne2lzQ3JlYXRlfScs Cj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+PiArwqDCoMKgwqDCoMKgwqAgZmllbGRMYWJlbDogZ2V0 dGV4dCgnUmVhbG0nKSwKPj4gK8KgwqDCoMKgwqDCoMKgIGFsbG93Qmxhbms6IGZhbHNlLAo+PiAr wqDCoMKgIH0sCj4+ICvCoMKgwqAgewo+PiArwqDCoMKgwqDCoMKgwqAgeHR5cGU6ICdwcm94bW94 Y2hlY2tib3gnLAo+PiArwqDCoMKgwqDCoMKgwqAgZmllbGRMYWJlbDogZ2V0dGV4dCgnRGVmYXVs dCByZWFsbScpLAo+PiArwqDCoMKgwqDCoMKgwqAgbmFtZTogJ2RlZmF1bHQnLAo+PiArwqDCoMKg wqDCoMKgwqAgdmFsdWU6IDAsCj4+ICvCoMKgwqDCoMKgwqDCoCBjYmluZDogewo+PiArwqDCoMKg wqDCoMKgwqAgZGVsZXRlRW1wdHk6ICd7IWlzQ3JlYXRlfScsCj4+ICvCoMKgwqDCoMKgwqDCoCBo aWRkZW46ICd7IXNob3dEZWZhdWx0UmVhbG19JywKPj4gK8KgwqDCoMKgwqDCoMKgIGRpc2FibGVk OiAneyFzaG93RGVmYXVsdFJlYWxtfScsCj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+PiArwqDCoMKg wqDCoMKgwqAgYXV0b0VsOiB7Cj4+ICvCoMKgwqDCoMKgwqDCoCB0YWc6ICdkaXYnLAo+PiArwqDC oMKgwqDCoMKgwqAgJ2RhdGEtcXRpcCc6IGdldHRleHQoJ1NldCByZWFsbSBhcyBkZWZhdWx0IGZv ciBsb2dpbicpLAo+PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4gK8KgwqDCoCB9LAo+PiArwqDCoMKg IHsKPj4gK8KgwqDCoMKgwqDCoMKgIHh0eXBlOiAncHJveG1veHRleHRmaWVsZCcsCj4+ICvCoMKg wqDCoMKgwqDCoCBmaWVsZExhYmVsOiBnZXR0ZXh0KCdDbGllbnQgSUQnKSwKPj4gK8KgwqDCoMKg wqDCoMKgIG5hbWU6ICdjbGllbnQtaWQnLAo+PiArwqDCoMKgwqDCoMKgwqAgYWxsb3dCbGFuazog ZmFsc2UsCj4+ICvCoMKgwqAgfSwKPj4gK8KgwqDCoCB7Cj4+ICvCoMKgwqDCoMKgwqDCoCB4dHlw ZTogJ3Byb3htb3h0ZXh0ZmllbGQnLAo+PiArwqDCoMKgwqDCoMKgwqAgZmllbGRMYWJlbDogZ2V0 dGV4dCgnQ2xpZW50IEtleScpLAo+PiArwqDCoMKgwqDCoMKgwqAgY2JpbmQ6IHsKPj4gK8KgwqDC oMKgwqDCoMKgIGRlbGV0ZUVtcHR5OiAneyFpc0NyZWF0ZX0nLAo+PiArwqDCoMKgwqDCoMKgwqAg fSwKPj4gK8KgwqDCoMKgwqDCoMKgIG5hbWU6ICdjbGllbnQta2V5JywKPj4gK8KgwqDCoCB9LAo+ PiArwqDCoMKgIF0sCj4+ICsKPj4gK8KgwqDCoCBjb2x1bW4yOiBbCj4+ICvCoMKgwqAgewo+PiAr wqDCoMKgwqDCoMKgwqAgeHR5cGU6ICdwbXhEaXNwbGF5RWRpdEZpZWxkJywKPj4gK8KgwqDCoMKg wqDCoMKgIG5hbWU6ICd1c2VybmFtZS1jbGFpbScsCj4+ICvCoMKgwqDCoMKgwqDCoCBmaWVsZExh YmVsOiBnZXR0ZXh0KCdVc2VybmFtZSBDbGFpbScpLAo+PiArwqDCoMKgwqDCoMKgwqAgZWRpdENv bmZpZzogewo+PiArwqDCoMKgwqDCoMKgwqAgeHR5cGU6ICdwcm94bW94S1ZDb21ib0JveCcsCj4+ ICvCoMKgwqDCoMKgwqDCoCBlZGl0YWJsZTogdHJ1ZSwKPj4gK8KgwqDCoMKgwqDCoMKgIGNvbWJv SXRlbXM6IFsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgWydfX2RlZmF1bHRfXycsIFByb3ht b3guVXRpbHMuZGVmYXVsdFRleHRdLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBbJ3N1Yics ICdzdWIgKHN1YmplY3QpJ10sCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFsncHJlZmVycmVk X3VzZXJuYW1lJywgJ3ByZWZlcnJlZF91c2VybmFtZSddLAo+IAo+IGlmIHlvdSdyZSBjaGFuZ2lu ZyB0aGUgdGV4dCB2cyB3aWRnZXQtdG9vbGtpdCwgd2h5IG5vdCBnb3QgdGhlIGZ1bGwgbGVuZ3Ro Cj4gYW5kIGxvY2FsaXplIHRoZSBkZXNjcmlwdGlvbj8KPiAKPiBlLmcuIGBnZXR0ZXh0KCdzdWIg KFN1YmplY3QpJylgCj4gCj4gPwo+IAo+IChwcmVleGlzdGluZykgbWF5YmUgaSBqdXN0IG92ZXJs b29rZWQgdGhhdCB3aXRoIHRoZSByZWNlbnQgcGF0Y2hlcywgYnV0IHdoeSBhcmUgdGhlCj4gY2xh aW1zIGRpZmZlcmVudCB0aGFuIHRoZSBvdGhlciBwcm9kdWN0cyAoc3ViIHZzIHN1YmplY3QsIHBy ZWZlcnJlZF91c2VybmFtZSB2cyB1c2VybmFtZSkgPwpzdWJqZWN0IGFuZCB1c2VybmFtZSBkbyBu b3QgZXhpc3QgKGFueW1vcmUpLgoKV2UgdXNlIHNvbWV0aGluZyBsaWtlIHRoaXMgaW4gb3VyIGJh Y2tlbmRzOgoKfSBlbHNpZiAoJHVzZXJfYXR0ciBlcSAnc3ViamVjdCcpIHsgIyBzdGF5IGNvbXBh dCB3aXRoIG9sZCB2ZXJzaW9ucwoJJHVuaXF1ZV9uYW1lID0gJGluZm8tPnsnc3ViJ307Cn0gZWxz aWYgKCR1c2VyX2F0dHIgZXEgJ3VzZXJuYW1lJykgeyAjIHN0YXkgY29tcGF0IHdpdGggb2xkIHZl cnNpb25zCglteSAkdXNlcm5hbWUgPSAkaW5mby0+eydwcmVmZXJyZWRfdXNlcm5hbWUnfTsKCWRp ZSAibWlzc2luZyBjbGFpbSAncHJlZmVycmVkX3VzZXJuYW1lJ1xuIiBpZiAhZGVmaW5lZCgkdXNl cm5hbWUpOwoJJHVuaXF1ZV9uYW1lID0gICR1c2VybmFtZTsKCkkgZ3Vlc3MgaXQgd2FzIHRoZSBw bGFuIHRvIHVwZGF0ZSB0aGVzZSBuYW1lcyBpbiB0aGUgUFZFICYgUEJTIFdlYlVJcywgYnV0IGl0 IG5ldmVyIGhhcHBlbmVkLgoKPiAKPj4gK8KgwqDCoMKgwqDCoMKgIF0sCj4+ICvCoMKgwqDCoMKg wqDCoCB9LAo+PiArwqDCoMKgwqDCoMKgwqAgY2JpbmQ6IHsKPj4gK8KgwqDCoMKgwqDCoMKgIHZh bHVlOiBnZXQgPT4gZ2V0KCdpc0NyZWF0ZScpID8gJ19fZGVmYXVsdF9fJyA6IFByb3htb3guVXRp bHMuZGVmYXVsdFRleHQsCj4+ICvCoMKgwqDCoMKgwqDCoCBkZWxldGVFbXB0eTogJ3shaXNDcmVh dGV9JywKPj4gK8KgwqDCoMKgwqDCoMKgIGVkaXRhYmxlOiAne2lzQ3JlYXRlfScsCj4+ICvCoMKg wqDCoMKgwqDCoCB9LAo+PiArwqDCoMKgIH0sCj4+ICvCoMKgwqAgewo+PiArwqDCoMKgwqDCoMKg wqAgeHR5cGU6ICdwcm94bW94dGV4dGZpZWxkJywKPj4gK8KgwqDCoMKgwqDCoMKgIG5hbWU6ICdz Y29wZXMnLAo+PiArwqDCoMKgwqDCoMKgwqAgZmllbGRMYWJlbDogZ2V0dGV4dCgnU2NvcGVzJyks Cj4+ICvCoMKgwqDCoMKgwqDCoCBlbXB0eVRleHQ6IGAke1Byb3htb3guVXRpbHMuZGVmYXVsdFRl eHR9IChlbWFpbCBwcm9maWxlKWAsCj4+ICvCoMKgwqDCoMKgwqDCoCBzdWJtaXRFbXB0eTogZmFs c2UsCj4+ICvCoMKgwqDCoMKgwqDCoCBjYmluZDogewo+PiArwqDCoMKgwqDCoMKgwqAgZGVsZXRl RW1wdHk6ICd7IWlzQ3JlYXRlfScsCj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+PiArwqDCoMKgIH0s Cj4+ICvCoMKgwqAgewo+PiArwqDCoMKgwqDCoMKgwqAgeHR5cGU6ICdwcm94bW94S1ZDb21ib0Jv eCcsCj4+ICvCoMKgwqDCoMKgwqDCoCBuYW1lOiAncHJvbXB0JywKPj4gK8KgwqDCoMKgwqDCoMKg IGZpZWxkTGFiZWw6IGdldHRleHQoJ1Byb21wdCcpLAo+PiArwqDCoMKgwqDCoMKgwqAgZWRpdGFi bGU6IHRydWUsCj4+ICvCoMKgwqDCoMKgwqDCoCBlbXB0eVRleHQ6IGdldHRleHQoJ0F1dGgtUHJv dmlkZXIgRGVmYXVsdCcpLAo+PiArwqDCoMKgwqDCoMKgwqAgY29tYm9JdGVtczogWwo+PiArwqDC oMKgwqDCoMKgwqAgWydfX2RlZmF1bHRfXycsIGdldHRleHQoJ0F1dGgtUHJvdmlkZXIgRGVmYXVs dCcpXSwKPj4gK8KgwqDCoMKgwqDCoMKgIFsnbm9uZScsICdub25lJ10sCj4+ICvCoMKgwqDCoMKg wqDCoCBbJ2xvZ2luJywgJ2xvZ2luJ10sCj4+ICvCoMKgwqDCoMKgwqDCoCBbJ2NvbnNlbnQnLCAn Y29uc2VudCddLAo+PiArwqDCoMKgwqDCoMKgwqAgWydzZWxlY3RfYWNjb3VudCcsICdzZWxlY3Rf YWNjb3VudCddLAo+PiArwqDCoMKgwqDCoMKgwqAgXSwKPj4gK8KgwqDCoMKgwqDCoMKgIGNiaW5k OiB7Cj4+ICvCoMKgwqDCoMKgwqDCoCBkZWxldGVFbXB0eTogJ3shaXNDcmVhdGV9JywKPj4gK8Kg wqDCoMKgwqDCoMKgIH0sCj4+ICvCoMKgwqAgfSwKPj4gK8KgwqDCoCBdLAo+PiArCj4+ICvCoMKg wqAgY29sdW1uQjogWwo+PiArwqDCoMKgIHsKPj4gK8KgwqDCoMKgwqDCoMKgIHh0eXBlOiAncHJv eG1veHRleHRmaWVsZCcsCj4+ICvCoMKgwqDCoMKgwqDCoCBuYW1lOiAnY29tbWVudCcsCj4+ICvC oMKgwqDCoMKgwqDCoCBmaWVsZExhYmVsOiBnZXR0ZXh0KCdDb21tZW50JyksCj4+ICvCoMKgwqDC oMKgwqDCoCBjYmluZDogewo+PiArwqDCoMKgwqDCoMKgwqAgZGVsZXRlRW1wdHk6ICd7IWlzQ3Jl YXRlfScsCj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+PiArwqDCoMKgIH0sCj4+ICvCoMKgwqAgewo+ PiArwqDCoMKgwqDCoMKgwqAgeHR5cGU6ICdkaXNwbGF5ZmllbGQnLAo+PiArwqDCoMKgwqDCoMKg wqAgdmFsdWU6IGdldHRleHQoJ0F1dG9jcmVhdGUgT3B0aW9ucycpLAo+PiArwqDCoMKgIH0sCj4+ ICvCoMKgwqAgewo+PiArwqDCoMKgwqDCoMKgwqAgeHR5cGU6ICdwcm94bW94Y2hlY2tib3gnLAo+ PiArwqDCoMKgwqDCoMKgwqAgZmllbGRMYWJlbDogZ2V0dGV4dCgnQXV0b2NyZWF0ZSBVc2Vycycp LAo+PiArwqDCoMKgwqDCoMKgwqAgbmFtZTogJ2F1dG9jcmVhdGUnLAo+PiArwqDCoMKgwqDCoMKg wqAgYmluZDogewo+PiArwqDCoMKgwqDCoMKgwqAgdmFsdWU6ICd7YXV0b2NyZWF0ZX0nLAo+PiAr wqDCoMKgwqDCoMKgwqAgfSwKPj4gK8KgwqDCoMKgwqDCoMKgIGNiaW5kOiB7Cj4+ICvCoMKgwqDC oMKgwqDCoCBkZWxldGVFbXB0eTogJ3shaXNDcmVhdGV9JywKPj4gK8KgwqDCoMKgwqDCoMKgIH0s Cj4+ICvCoMKgwqAgfSwKPj4gK8KgwqDCoCB7Cj4+ICvCoMKgwqDCoMKgwqDCoCB4dHlwZTogJ3By b3htb3hLVkNvbWJvQm94JywKPj4gK8KgwqDCoMKgwqDCoMKgIG5hbWU6ICdzb3VyY2UnLAo+PiAr wqDCoMKgwqDCoMKgwqAgZmllbGRMYWJlbDogZ2V0dGV4dCgnU291cmNlIGZvciBSb2xlIEFzc2ln bm1lbnQnKSwKPj4gK8KgwqDCoMKgwqDCoMKgIGFsbG93Qmxhbms6IGZhbHNlLAo+PiArwqDCoMKg wqDCoMKgwqAgZGVsZXRlRW1wdHk6IGZhbHNlLAo+PiArwqDCoMKgwqDCoMKgwqAgY29tYm9JdGVt czogWwo+PiArwqDCoMKgwqDCoMKgwqAgWwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAnX19k ZWZhdWx0X18nLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBQcm94bW94LlV0aWxzLmRlZmF1 bHRUZXh0Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICsgJyAoJyArIGdldHRleHQoJ0FsbCBh dXRvLWNyZWF0ZWQgdXNlcnMgZ2V0IGF1ZGl0IHJvbGUnKSArICcpJywKPj4gK8KgwqDCoMKgwqDC oMKgIF0sCj4+ICvCoMKgwqDCoMKgwqDCoCBbJ2ZpeGVkJywgJ0ZpeGVkIHJvbGUgZm9yIGFsbCBh dXRvLWNyZWF0ZWQgdXNlcnMnXSwKPj4gK8KgwqDCoMKgwqDCoMKgIFsnZnJvbS1jbGFpbScsICdH ZXQgcm9sZSBmcm9tIE9JREMgY2xhaW0nXSwKPiAKPiBJTUhPIHRob3NlIHNob3VsZCBiZSBwdXQg aW4gJ2dldHRleHQnCj4gCj4+ICvCoMKgwqDCoMKgwqDCoCBdLAo+PiArwqDCoMKgwqDCoMKgwqAg YmluZDogewo+PiArwqDCoMKgwqDCoMKgwqAgdmFsdWU6ICd7cm9sZVNvdXJjZX0nLAo+PiArwqDC oMKgwqDCoMKgwqAgZGlzYWJsZWQ6ICd7aGlkZVJvbGVBc3NpZ25tZW50fScsCj4+ICvCoMKgwqDC oMKgwqDCoCBoaWRkZW46ICd7aGlkZVJvbGVBc3NpZ25tZW50fScsCj4+ICvCoMKgwqDCoMKgwqDC oCB9LAo+PiArwqDCoMKgIH0sCj4+ICvCoMKgwqAgewo+PiArwqDCoMKgwqDCoMKgwqAgeHR5cGU6 ICdwbWdSb2xlU2VsZWN0b3InLAo+PiArwqDCoMKgwqDCoMKgwqAgbmFtZTogJ2ZpeGVkLXJvbGUn LAo+PiArwqDCoMKgwqDCoMKgwqAgYWxsb3dCbGFuazogZmFsc2UsCj4+ICvCoMKgwqDCoMKgwqDC oCBkZWxldGVFbXB0eTogZmFsc2UsCj4+ICvCoMKgwqDCoMKgwqDCoCBmaWVsZExhYmVsOiBnZXR0 ZXh0KCdGaXhlZCBSb2xlJyksCj4+ICvCoMKgwqDCoMKgwqDCoCBiaW5kOiB7Cj4+ICvCoMKgwqDC oMKgwqDCoCBkaXNhYmxlZDogJ3toaWRlRml4ZWRSb2xlQXNzaWdubWVudH0nLAo+PiArwqDCoMKg wqDCoMKgwqAgaGlkZGVuOiAne2hpZGVGaXhlZFJvbGVBc3NpZ25tZW50fScsCj4+ICvCoMKgwqDC oMKgwqDCoCB9LAo+PiArwqDCoMKgIH0sCj4+ICvCoMKgwqAgewo+PiArwqDCoMKgwqDCoMKgwqAg eHR5cGU6ICdwcm94bW94dGV4dGZpZWxkJywKPj4gK8KgwqDCoMKgwqDCoMKgIG5hbWU6ICdyb2xl LWNsYWltJywKPj4gK8KgwqDCoMKgwqDCoMKgIGFsbG93Qmxhbms6IGZhbHNlLAo+PiArwqDCoMKg wqDCoMKgwqAgZGVsZXRlRW1wdHk6IGZhbHNlLAo+PiArwqDCoMKgwqDCoMKgwqAgZmllbGRMYWJl bDogZ2V0dGV4dCgnUm9sZSBDbGFpbScpLAo+PiArwqDCoMKgwqDCoMKgwqAgYmluZDogewo+PiAr wqDCoMKgwqDCoMKgwqAgZGlzYWJsZWQ6ICd7aGlkZUNsYWltUm9sZUFzc2lnbm1lbnR9JywKPj4g K8KgwqDCoMKgwqDCoMKgIGhpZGRlbjogJ3toaWRlQ2xhaW1Sb2xlQXNzaWdubWVudH0nLAo+PiAr wqDCoMKgwqDCoMKgwqAgfSwKPiAKPiBzaWRlIHF1ZXN0aW9uOiBkaWQgeW91IGdvdCB0aGF0IHRv IHdvcmsgd2l0aCBrZXljbG9haz8gaSBjb3VsZG4ndCBpbiBteSB0ZXN0cy4uLgpJIHRyaWVkIGl0 IHdpdGgga2V5Y2xvYWsgYW5kIGF1dGhlbnRpay4gSSB3YXMgYWxzbyB1bnN1Y2Nlc3NmdWwuCj4g Cj4+ICvCoMKgwqAgfSwKPj4gK8KgwqDCoCBdLAo+PiArCj4+ICvCoMKgwqAgYWR2YW5jZWRDb2x1 bW5COiBbCj4+ICvCoMKgwqAgewo+PiArwqDCoMKgwqDCoMKgwqAgeHR5cGU6ICdwcm94bW94dGV4 dGZpZWxkJywKPj4gK8KgwqDCoMKgwqDCoMKgIG5hbWU6ICdhY3ItdmFsdWVzJywKPj4gK8KgwqDC oMKgwqDCoMKgIGZpZWxkTGFiZWw6IGdldHRleHQoJ0FDUiBWYWx1ZXMnKSwKPj4gK8KgwqDCoMKg wqDCoMKgIHN1Ym1pdEVtcHR5OiBmYWxzZSwKPj4gK8KgwqDCoMKgwqDCoMKgIGNiaW5kOiB7Cj4+ ICvCoMKgwqDCoMKgwqDCoCBkZWxldGVFbXB0eTogJ3shaXNDcmVhdGV9JywKPj4gK8KgwqDCoMKg wqDCoMKgIH0sCj4+ICvCoMKgwqAgfSwKPj4gK8KgwqDCoCBdLAo+PiArfSk7Cj4+IGRpZmYgLS1n aXQgYS9qcy9NYWtlZmlsZSBiL2pzL01ha2VmaWxlCj4+IGluZGV4IGQxZmFiOWIuLmM5ODRiZjMg MTAwNjQ0Cj4+IC0tLSBhL2pzL01ha2VmaWxlCj4+ICsrKyBiL2pzL01ha2VmaWxlCj4+IEBAIC03 OCw2ICs3OCw3IEBAIEpTU1JDPcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBcCj4+IMKgwqDCoMKgwqAgTERBUENvbmZpZy5qc8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gwqDCoMKgwqDCoCBVc2VyRWRpdC5qc8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gwqDCoMKgwqDCoCBVc2Vy Vmlldy5qc8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gK8KgwqDC oCBBdXRoRWRpdE9JREMuanPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBc Cj4+IMKgwqDCoMKgwqAgVEZBVmlldy5qc8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIFwKPj4gwqDCoMKgwqDCoCBGZXRjaG1haWxFZGl0LmpzwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIFwKPj4gwqDCoMKgwqDCoCBGZXRjaG1haWxWaWV3LmpzwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gZGlmZiAtLWdpdCBhL2pzL1V0aWxzLmpzIGIvanMvVXRp bHMuanMKPj4gaW5kZXggZDRhNTVhOC4uOWRiYzc2ZiAxMDA2NDQKPj4gLS0tIGEvanMvVXRpbHMu anMKPj4gKysrIGIvanMvVXRpbHMuanMKPj4gQEAgLTg3MSw2ICs4NzEsNyBAQCBFeHQuZGVmaW5l KCdQTUcuVXRpbHMnLCB7Cj4+IMKgwqDCoMKgwqAgLy8gdXNlIG9pZGMgaW5zdGVhZCBvZiBvcGVu aWQKPj4gwqDCoMKgwqDCoCBQcm94bW94LlNjaGVtYS5hdXRoRG9tYWlucy5vaWRjID0gUHJveG1v eC5TY2hlbWEuYXV0aERvbWFpbnMub3BlbmlkOwo+PiDCoMKgwqDCoMKgIFByb3htb3guU2NoZW1h LmF1dGhEb21haW5zLm9pZGMudXNlVHlwZUluVXJsID0gZmFsc2U7Cj4+ICvCoMKgwqAgUHJveG1v eC5TY2hlbWEuYXV0aERvbWFpbnMub2lkYy5pcGFuZWwgPSAncG1nQXV0aE9JRENQYW5lbCc7Cj4+ IMKgwqDCoMKgwqAgZGVsZXRlIFByb3htb3guU2NoZW1hLmF1dGhEb21haW5zLm9wZW5pZDsKPj4g wqDCoMKgwqDCoCAvLyBEaXNhYmxlIExEQVAvQUQgYXMgYSByZWFsbSB1bnRpbCBMREFQL0FEIGxv Z2luIGlzIGltcGxlbWVudGVkCj4gCj4gCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBwbWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4gcG1nLWRldmVs QGxpc3RzLnByb3htb3guY29tCj4gaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21h aWxtYW4vbGlzdGluZm8vcG1nLWRldmVsCj4gCj4gCgoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCnBtZy1kZXZlbCBtYWlsaW5nIGxpc3QKcG1nLWRldmVs QGxpc3RzLnByb3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWls bWFuL2xpc3RpbmZvL3BtZy1kZXZlbAo=