From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com [148.163.147.86]) by mx.groups.io with SMTP id smtpd.web09.7260.1607566352477194236 for ; Wed, 09 Dec 2020 18:12:32 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=JMknZm/T; spf=pass (domain: hpe.com, ip: 148.163.147.86, mailfrom: prvs=0613ff5add=abner.chang@hpe.com) Received: from pps.filterd (m0150241.ppops.net [127.0.0.1]) by mx0a-002e3701.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 0BA28ElK006176; Thu, 10 Dec 2020 02:12:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pps0720; bh=qi/tz4rh09pbGeVxvKQBqMc8qUOL2zlM4Lo0i+/i0yI=; b=JMknZm/Th6tc6fgtVYRu0OLkj2QBl5QULUnqbz+HLiYY51zN1gpC+GFkc7gRTox3/EG6 T3Ud6kz0GHUfMGjTLuTkdKE5zqf0Vl89LjPI4pXgl1ndXBt6R6fMMFJJQxO/+RuDY+ZQ p8nqBx27A+/ERUTXKqWSQuyBnFOJEsC2+3IvhNITq0FkKh9MbFx9tsDAVI7Ct/3Ke5gC 2u6rSRbk7FNokD1jtm6zUrn9926FLARz24Oz0iFfljRu42nV8Gp8TfiYDFpOzLx5u3ix BRPc/11pz84mxnFXImAAe8gvstYJzL0hGrL6yzfKwe0FkskA0wVtQiCCYSFGprJF7nnB yw== Received: from g2t2354.austin.hpe.com (g2t2354.austin.hpe.com [15.233.44.27]) by mx0a-002e3701.pphosted.com with ESMTP id 35asv5013a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 10 Dec 2020 02:12:24 +0000 Received: from G9W8456.americas.hpqcorp.net (g9w8456.houston.hp.com [16.216.161.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g2t2354.austin.hpe.com (Postfix) with ESMTPS id AD9DBA8; Thu, 10 Dec 2020 02:12:23 +0000 (UTC) Received: from G2W6309.americas.hpqcorp.net (2002:10c5:4033::10c5:4033) by G9W8456.americas.hpqcorp.net (2002:10d8:a15f::10d8:a15f) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 10 Dec 2020 02:12:23 +0000 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (15.241.52.11) by G2W6309.americas.hpqcorp.net (16.197.64.51) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Thu, 10 Dec 2020 02:12:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ka/X2bmNTWIj+anF9AmZXXZlpZ8+VFDRJAOi9T/p+8M1QBXOJFCKpactc7HOQ/fxxIb+a0UqyXxzWePZe+Clxh3FXXPeAUSnAuRBnTvVhD3Re7P9aAyG6ZIo02OKFm6ygQLxC+gRBlWOPQ+FVYKL9j87LHhwY5cN9DgvHFeBBmmFbdi4B60l4moMTqizIgcgsVUvy9vMmxiSXWkhbsLB1pr2xYFoGv6XKQzpp5HsNJ54rlqRi6PGhnrMKb1VUJMiB6oPolIaQc6Fm8eF2na9BkKvmCAeCKJYKH7kWSHoIi5HDgUTXfiLSmo7XRjiYvTlKrW62rQCHlLfH8AyxOsfRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DItH7ZWUH7qFDtJATicSJIcQDfblAE3UcaAAemMR0Gw=; b=bCk1JR87ns01CJuZnRdYAI9xR0e5f2MFBFehH9n5ePsrRLSesO6bLyVFtx2QKQbM9/SzdaBdA5iOf1fqGs9HzZrFmo1K1aHmBRPxoDxLfIFajhbWRv0GaZ9mPPzYcPRRgv3V6uydS+zVkgJS7RAQgY4aOuLpHMzTZDIWayCVwmRXM9qy7Vb+fy4Va1yxqDN2XOTLr+w5NQpgbC49InDeibDAwuNF0E8bdu5m+Pr8o8q2SlALW5YVX/WM12eirAbIAS+uSZT52QaWV5nkrO0fhKd8kQCoBKRNbUGmtTnxB2PhAmet4pU7OgFfIWTOhfC3RtCoIfkCcaKK1nQwStAqQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7508::16) by CS1PR8401MB0710.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:750d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.13; Thu, 10 Dec 2020 02:12:21 +0000 Received: from CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM ([fe80::a094:ed67:fb40:340e]) by CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM ([fe80::a094:ed67:fb40:340e%10]) with mapi id 15.20.3654.012; Thu, 10 Dec 2020 02:12:21 +0000 From: "Abner Chang" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" CC: "Wang, Nickle (HPS SW)" , "O'Hanley, Peter (EXL)" Subject: Re: [edk2-devel] [PATCH 2/2] RedfishPkg/RedfishCredentialDxe: EDKII Redfish Credential DXE driver Thread-Topic: [edk2-devel] [PATCH 2/2] RedfishPkg/RedfishCredentialDxe: EDKII Redfish Credential DXE driver Thread-Index: AQHWzpg6O95MiuBIp0iljNbLRsHI3KnvlmaA Date: Thu, 10 Dec 2020 02:12:20 +0000 Message-ID: References: <20201209084333.22422-1-abner.chang@hpe.com> <20201209084333.22422-3-abner.chang@hpe.com> <004a01d6ce98$3b62a640$b227f2c0$@byosoft.com.cn> In-Reply-To: <004a01d6ce98$3b62a640$b227f2c0$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=hpe.com; x-originating-ip: [16.242.247.131] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 28a295d9-4c5a-45bc-df6b-08d89cb106d0 x-ms-traffictypediagnostic: CS1PR8401MB0710: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:153; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: H2ed4H5dYCPAdM37Nn6BAN6NcPAVlbwCczpKpzdnaSwPGrQFStWXxrYWks7RkwXRAZXb91c6LmLnJzPsP23rdAWKmpSTuhJPLx02tzyvGTxKDHybOnJ2tPNC9LLtItzHSzGk06sHRZax/yCUSFa/zEvRcw+g3NK8SXmZfR5XUl3Z/aXIH8yHzq2Gwgf7b8w4Hu0hJCknwtgly4EyfzTeIJwrPcWKs9ZAG+TJGSpJrAdgcmHbU/jRF5ae+y11c0UAPtr/fZ9tbJoIEbo1cDYb3zFswdadyIOb+fRhygza01+zE2v5jnWrixSUC76EfpgAFicOQNSIlJAamfnPpnAEHk44PDXtxbD9xV93GCr9JkSkg3CcGjaVaoG89Jjgp4C3bEuYgfUJzii+WZ17GvzAukg51gdlb3WpqOnvmc6r4bDtRjDzq4EkS5YsNmGJLeOlQwLMA1g2In2N+U/moLYcWA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(376002)(136003)(366004)(346002)(86362001)(9686003)(110136005)(30864003)(76116006)(6506007)(66476007)(2906002)(508600001)(4326008)(83380400001)(186003)(54906003)(5660300002)(71200400001)(66446008)(966005)(66556008)(52536014)(19627235002)(53546011)(64756008)(7696005)(55016002)(26005)(66946007)(8936002)(8676002)(33656002)(559001)(579004)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?gb2312?B?RnhJRm5iNzR5MHU5cVYvY0J5RHlqcG0yUktRaVFKTkJFSzBRQjh4NlRqSDFM?= =?gb2312?B?cHJybEpad2FmSnVxelQvd1JtTjIwVDArWGRDVUlPMjl3QkdRQVEwakd2QXMw?= =?gb2312?B?aWRtcUswK0JkQlFoRnJ1QS9UeWhRdEpja3A1WDZnN1RJS282YUcvVitoM3Fz?= =?gb2312?B?cTkvb0owVnRDLzZTQWN3ajNsMm02SzFEZklwSlNmZVZONmhaUndkMTd6cC9r?= =?gb2312?B?RlJzZ3BHOC81eGQ3end4ajlGeThnWjdkQ0hOdEFXSDMyK1JOK1B3WlJLWFFk?= =?gb2312?B?R21EQlFwNzk2REdjbmJrR2RGM3hWdVlTV0NQVWRBRSsrT1NId2Q3NkhzMTdC?= =?gb2312?B?OEVkTnJycWNKL2hpUjNkdi9aa09McjlWSW9mSlZRR0xKZGdCRksraU9sNFFp?= =?gb2312?B?UDcyY0JUVUpaWjJjRWg4Wkk1YUpMQURzRlY1M1dtTDdJR2p6Ni9pM1FhcytO?= =?gb2312?B?M2JMajJxMFI4am9vendRUDdFaTFMeUJaU2FQTytmcXJzNXdQd1lPWkpSRzFn?= =?gb2312?B?cUhXWW0zZ2dlOGJxQjkvdnRsNW9ZNVBkdUt5K3FFK2tSQVNYRTR3K2w3Zy9P?= =?gb2312?B?a1FkaFZmR0lyc2p3OFpLMUhmdy9Cd0xUdEF3eGlYN3VmVVEyYU1KaitYMXEv?= =?gb2312?B?RE5ERDErL1creXEzUG9kRXhRTEo3RFM4aXBLUkdnUGd4cE02aHpRd3NaUzl3?= =?gb2312?B?bnVZY09GVjhZOU96L0dCZ0VWUlV6SzI0RGhnS3pUUDNjcnlVV2lwV3A3Tmhr?= =?gb2312?B?d0Y5WmxrTW05VkwzNnptZ2N2UXhGaHpOTFVzTzFpMGFaNldVN2U3MU9CeGdp?= =?gb2312?B?bXB5YVhJYmxpVERGLzhRK0NYazJrMXYvV2Qzd0NqYnplSzdqMk5qMlpjRkl3?= =?gb2312?B?dHkwUDUvMUFXQ2YxcTBPam51cHVoYWNFaUo3OUxZckliRVk2U1NoOHd0MTg3?= =?gb2312?B?ODdiRUtsY0VOOWlXTFdodlg2UWQ2QmEyaVM4d3FJbHNIeWRLNSsrVEtiOFI2?= =?gb2312?B?eVVNK0tEVTJvMnV6VXREOHFiaDBlM2pwTCtCem9RUnpNbkVnNU9ibzgrNE1L?= =?gb2312?B?RStydksvVFc2d2lmMUFQZ1F2NURRUHU2VGRVQ0VpMnlwWnZ2ZTdydkVxOHRE?= =?gb2312?B?QWNJbjhWdm9xTlNxVHVnSzhmOG5sekl4cE1VRGk2ekRJZ0xQMWdMQ3hqeG9w?= =?gb2312?B?OWRsbTBrZHZCZnhNMktuZUMxUXI3UWxIQncyS0J5eEVqQzRTU09EUEptWFo0?= =?gb2312?B?S1Y1T3NVREptL001Z1N6amYyTUIrdkJxYU1UL2VGUDBXOFh6eWhhUW0za0ZJ?= =?gb2312?Q?E6Y5B/3Fs4914=3D?= X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 28a295d9-4c5a-45bc-df6b-08d89cb106d0 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2020 02:12:20.9122 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Khc9vxAe5FkDLzr6EcpW/EnYXPSWZE30KsV8JgQySgiBjbrx+L85BsWnTJBW8JEKQKTogSv9Mi/v3d5U4+swRA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0710 X-OriginatorOrg: hpe.com X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343,18.0.737 definitions=2020-12-09_19:2020-12-09,2020-12-09 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 lowpriorityscore=0 clxscore=1015 suspectscore=1 priorityscore=1501 bulkscore=0 spamscore=0 mlxlogscore=999 impostorscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2012100014 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 U3VyZS4gSSB3aWxsIGFkZHJlc3MgdGhpcyBjb21tZW50cyB3aXRoIG90aGVycyB0b2dldGhlciAg aWYgYW55Lg0KDQpUaGFua3MNCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IGRldmVsQGVkazIuZ3JvdXBzLmlvIFttYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW9dIE9u IEJlaGFsZiBPZg0KPiBnYW9saW1pbmcNCj4gU2VudDogVGh1cnNkYXksIERlY2VtYmVyIDEwLCAy MDIwIDEwOjAwIEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgQ2hhbmcsIEFibmVyIChI UFMgU1cvRlcgVGVjaG5vbG9naXN0KQ0KPiA8YWJuZXIuY2hhbmdAaHBlLmNvbT4NCj4gQ2M6IFdh bmcsIE5pY2tsZSAoSFBTIFNXKSA8bmlja2xlLndhbmdAaHBlLmNvbT47IE8nSGFubGV5LCBQZXRl ciAoRVhMKQ0KPiA8cGV0ZXIub2hhbmxleUBocGUuY29tPg0KPiBTdWJqZWN0OiC72Li0OiBbZWRr Mi1kZXZlbF0gW1BBVENIIDIvMl0gUmVkZmlzaFBrZy9SZWRmaXNoQ3JlZGVudGlhbER4ZToNCj4g RURLSUkgUmVkZmlzaCBDcmVkZW50aWFsIERYRSBkcml2ZXINCj4gDQo+IEFibmVyOg0KPiAgRm9y IFJlZGZpc2hDcmVkZW50aWFsRHhlIG1vZHVsZSwgcGxlYXNlIHJlbW92ZSB1bnVzZWQgbGlicmFy eSBjbGFzcw0KPiBQcmludExpYiwgVWVmaUxpYiwgVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGli Lg0KPiANCj4gVGhhbmtzDQo+IExpbWluZw0KPiA+IC0tLS0t08q8/tStvP4tLS0tLQ0KPiA+ILei vP7IyzogYm91bmNlKzI3OTUyKzY4NTM4KzQ5MDU5NTMrODc2MTA0NUBncm91cHMuaW8NCj4gPiA8 Ym91bmNlKzI3OTUyKzY4NTM4KzQ5MDU5NTMrODc2MTA0NUBncm91cHMuaW8+ILT6se0gQWJuZXIg Q2hhbmcNCj4gPiC3osvNyrG85DogMjAyMMTqMTLUwjnI1SAxNjo0NA0KPiA+IMrVvP7IyzogZGV2 ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiCzrcvNOiBOaWNrbGUgV2FuZyA8bmlja2xlLndhbmdAaHBl LmNvbT47IFBldGVyIE8nSGFubGV5DQo+ID4gPHBldGVyLm9oYW5sZXlAaHBlLmNvbT4NCj4gPiDW 98ziOiBbZWRrMi1kZXZlbF0gW1BBVENIIDIvMl0gUmVkZmlzaFBrZy9SZWRmaXNoQ3JlZGVudGlh bER4ZTogRURLSUkNCj4gPiBSZWRmaXNoIENyZWRlbnRpYWwgRFhFIGRyaXZlcg0KPiA+DQo+ID4g RURLSUkgUmVkZmlzaCBDcmVkZW50aWFsIERYRSBkcml2ZXIgd2hpY2ggYWJzdHJhY3RzIHBsYXRm b3JtIFJlZGZpc2gNCj4gPiBjcmVkZW50aWFsIGltcGxlbWVudGF0aW9uLg0KPiA+DQo+ID4gU2ln bmVkLW9mZi1ieTogSmlheGluIFd1IDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1v ZmYtYnk6IFRpbmcgWWUgPHRpbmcueWVAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFNp eXVhbiBGdSA8c2l5dWFuLmZ1QGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBGYW4gV2Fu ZyA8ZmFuLndhbmdAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEFibmVyIENoYW5nIDxh Ym5lci5jaGFuZ0BocGUuY29tPg0KPiA+DQo+ID4gQ2M6IE5pY2tsZSBXYW5nIDxuaWNrbGUud2Fu Z0BocGUuY29tPg0KPiA+IENjOiBQZXRlciBPJ0hhbmxleSA8cGV0ZXIub2hhbmxleUBocGUuY29t Pg0KPiA+IC0tLQ0KPiA+ICAuLi4vSW5jbHVkZS9MaWJyYXJ5L1JlZGZpc2hDcmVkZW50aWFsTGli LmggICAgfCAgOTEgKysrKysrKysNCj4gPiAgLi4uL1BsYXRmb3JtQ3JlZGVudGlhbExpYk51bGwu YyAgICAgICAgICAgICAgIHwgMTAxICsrKysrKysrKw0KPiA+ICAuLi4vUGxhdGZvcm1DcmVkZW50 aWFsTGliTnVsbC5pbmYgICAgICAgICAgICAgfCAgMzAgKysrDQo+ID4gIFJlZGZpc2hQa2cvUmVk ZmlzaC5mZGYuaW5jICAgICAgICAgICAgICAgICAgICB8ICAgMSArDQo+ID4gIFJlZGZpc2hQa2cv UmVkZmlzaENvbXBvbmVudHMuZHNjLmluYyAgICAgICAgICB8ICAgMSArDQo+ID4gIC4uLi9SZWRm aXNoQ3JlZGVudGlhbER4ZS5jICAgICAgICAgICAgICAgICAgICB8IDIwOQ0KPiA+ICsrKysrKysr KysrKysrKysrKw0KPiA+ICAuLi4vUmVkZmlzaENyZWRlbnRpYWxEeGUuaCAgICAgICAgICAgICAg ICAgICAgfCAgNzUgKysrKysrKw0KPiA+ICAuLi4vUmVkZmlzaENyZWRlbnRpYWxEeGUuaW5mICAg ICAgICAgICAgICAgICAgfCAgNTEgKysrKysNCj4gPiAgUmVkZmlzaFBrZy9SZWRmaXNoUGtnLmRl YyAgICAgICAgICAgICAgICAgICAgIHwgICA0ICsNCj4gPiAgUmVkZmlzaFBrZy9SZWRmaXNoUGtn LmRzYyAgICAgICAgICAgICAgICAgICAgIHwgICAyICsNCj4gPiAgMTAgZmlsZXMgY2hhbmdlZCwg NTY1IGluc2VydGlvbnMoKykNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJlZGZpc2hQa2cvSW5j bHVkZS9MaWJyYXJ5L1JlZGZpc2hDcmVkZW50aWFsTGliLmgNCj4gPiAgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+ID4gUmVkZmlzaFBrZy9MaWJyYXJ5L1BsYXRmb3JtQ3JlZGVudGlhbExpYk51bGwvUGxh dGZvcm1DcmVkZW50aWFsTGliTnVsbA0KPiA+IC5jDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiA+IFJlZGZpc2hQa2cvTGlicmFyeS9QbGF0Zm9ybUNyZWRlbnRpYWxMaWJOdWxsL1BsYXRmb3Jt Q3JlZGVudGlhbExpYk51bGwNCj4gPiAuaW5mDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ IFJlZGZpc2hQa2cvUmVkZmlzaENyZWRlbnRpYWxEeGUvUmVkZmlzaENyZWRlbnRpYWxEeGUuYw0K PiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiBSZWRmaXNoUGtnL1JlZGZpc2hDcmVkZW50aWFs RHhlL1JlZGZpc2hDcmVkZW50aWFsRHhlLmgNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4g UmVkZmlzaFBrZy9SZWRmaXNoQ3JlZGVudGlhbER4ZS9SZWRmaXNoQ3JlZGVudGlhbER4ZS5pbmYN Cj4gPg0KPiA+IGRpZmYgLS1naXQgYS9SZWRmaXNoUGtnL0luY2x1ZGUvTGlicmFyeS9SZWRmaXNo Q3JlZGVudGlhbExpYi5oDQo+ID4gYi9SZWRmaXNoUGtnL0luY2x1ZGUvTGlicmFyeS9SZWRmaXNo Q3JlZGVudGlhbExpYi5oDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAw MDAwMDAwLi5kYWMxYjMzMDNmDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL1JlZGZpc2hQ a2cvSW5jbHVkZS9MaWJyYXJ5L1JlZGZpc2hDcmVkZW50aWFsTGliLmgNCj4gPiBAQCAtMCwwICsx LDkxIEBADQo+ID4gKy8qKiBAZmlsZQ0KPiA+ICsgIERlZmluaXRpbm9zIG9mIFJlZGZpc2hIb3N0 SW50ZXJmYWNlRHhlIGRyaXZlci4NCj4gPiArDQo+ID4gKyAgKEMpIENvcHlyaWdodCAyMDIwIEhl d2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQPEJSPg0KPiA+ICsNCj4gPiAr ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ICsNCj4g PiArKiovDQo+ID4gKyNpZm5kZWYgUkVERklTSF9DUkVERU5USUFMX0xJQl9IXw0KPiA+ICsjZGVm aW5lIFJFREZJU0hfQ1JFREVOVElBTF9MSUJfSF8NCj4gPiArDQo+ID4gKyNpbmNsdWRlIDxVZWZp Lmg+DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICBOb3RpZmljYXRpb24gb2YgRXhpdCBCb290IFNl cnZpY2UuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgUG9pbnRlciB0bw0KPiA+ IEVES0lJX1JFREZJU0hfQ1JFREVOVElBTF9QUk9UT0NPTC4NCj4gPiArKiovDQo+ID4gK1ZPSUQN Cj4gPiArRUZJQVBJDQo+ID4gK0xpYkNyZWRlbnRpYWxFeGl0Qm9vdFNlcnZpY2VzTm90aWZ5ICgN Cj4gPiArICBJTiAgRURLSUlfUkVERklTSF9DUkVERU5USUFMX1BST1RPQ09MICAqVGhpcyApOw0K PiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgTm90aWZpY2F0aW9uIG9mIEVuZCBvZiBEWGUuDQo+ID4g Kw0KPiA+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgUG9pbnRlciB0bw0KPiA+IEVES0lJX1JFREZJ U0hfQ1JFREVOVElBTF9QUk9UT0NPTC4NCj4gPiArKiovDQo+ID4gK1ZPSUQNCj4gPiArRUZJQVBJ DQo+ID4gK0xpYkNyZWRlbnRpYWxFbmRPZkR4ZU5vdGlmeSAoDQo+ID4gKyAgSU4gIEVES0lJX1JF REZJU0hfQ1JFREVOVElBTF9QUk9UT0NPTCAgKlRoaXMgKTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ ICsgIFJldHJpZXZlIHBsYXRmb3JtJ3MgUmVkZmlzaCBhdXRoZW50aWNhdGlvbiBpbmZvcm1hdGlv bi4NCj4gPiArDQo+ID4gKyAgVGhpcyBmdW5jdGlvbnMgcmV0dXJucyB0aGUgUmVkZmlzaCBhdXRo ZW50aWNhdGlvbiBtZXRob2QgdG9nZXRoZXINCj4gPiArIHdpdGgNCj4gPiB0aGUgdXNlciBJZCBh bmQNCj4gPiArICBwYXNzd29yZC4NCj4gPiArICAtIEZvciBBdXRoTWV0aG9kTm9uZSwgdGhlIFVz ZXJJZCBhbmQgUGFzc3dvcmQgY291bGQgYmUgdXNlZCBmb3INCj4gPiArIEhUVFANCj4gPiBoZWFk ZXIgYXV0aGVudGljYXRpb24NCj4gPiArICAgIGFzIGRlZmluZWQgYnkgUkZDNzIzNS4NCj4gPiAr ICAtIEZvciBBdXRoTWV0aG9kUmVkZmlzaFNlc3Npb24sIHRoZSBVc2VySWQgYW5kIFBhc3N3b3Jk IGNvdWxkIGJlDQo+ID4gKyB1c2VkDQo+ID4gZm9yIFJlZGZpc2gNCj4gPiArICAgIHNlc3Npb24g bG9naW4gYXMgZGVmaW5lZCBieSAgUmVkZmlzaCBBUEkgc3BlY2lmaWNhdGlvbiAoRFNQMDI2Niku DQo+ID4gKw0KPiA+ICsgIENhbGxlcnMgYXJlIHJlc3BvbnNpYmxlIGZvciBhbmQgZnJlZWluZyB0 aGUgcmV0dXJuZWQgc3RyaW5nIHN0b3JhZ2UuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0gICBU aGlzICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8NCj4gPiBFREtJSV9SRURGSVNIX0NSRURFTlRJ QUxfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ID4gKyAgQHBhcmFtW291dF0gIEF1dGhNZXRob2QgICAg ICAgICAgVHlwZSBvZiBSZWRmaXNoIGF1dGhlbnRpY2F0aW9uDQo+ID4gbWV0aG9kLg0KPiA+ICsg IEBwYXJhbVtvdXRdICBVc2VySWQgICAgICAgICAgICAgIFRoZSBwb2ludGVyIHRvIHN0b3JlIHRo ZSByZXR1cm5lZA0KPiA+IFVzZXJJZCBzdHJpbmcuDQo+ID4gKyAgQHBhcmFtW291dF0gIFBhc3N3 b3JkICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gc3RvcmUgdGhlIHJldHVybmVkDQo+ID4gUGFz c3dvcmQgc3RyaW5nLg0KPiA+ICsNCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAg ICAgICBHZXQgdGhlIGF1dGhlbnRpY2F0aW9uIGluZm9ybWF0aW9uDQo+ID4gc3VjY2Vzc2Z1bGx5 Lg0KPiA+ICsgIEByZXR2YWwgRUZJX0FDQ0VTU19ERU5JRUQgICAgICAgIFNlY3VyZUJvb3QgaXMg ZGlzYWJsZWQgYWZ0ZXINCj4gPiBFbmRPZkR4ZS4NCj4gPiArICBAcmV0dmFsIEVGSV9JTlZBTElE X1BBUkFNRVRFUiAgICBUaGlzIG9yIEF1dGhNZXRob2Qgb3IgVXNlcklkIG9yDQo+ID4gUGFzc3dv cmQgaXMgTlVMTC4NCj4gPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgICBUaGVy ZSBhcmUgbm90IGVub3VnaCBtZW1vcnkNCj4gPiByZXNvdXJjZXMuDQo+ID4gKyAgQHJldHZhbCBF RklfVU5TVVBQT1JURUQgICAgICAgICAgVW5zdXBwb3J0ZWQgYXV0aGVudGljYXRpb24NCj4gPiBt ZXRob2QgaXMgZm91bmQuDQo+ID4gKw0KPiA+ICsqKi8NCj4gPiArRUZJX1NUQVRVUw0KPiA+ICtF RklBUEkNCj4gPiArTGliQ3JlZGVudGlhbEdldEF1dGhJbmZvICgNCj4gPiArICBJTiAgRURLSUlf UkVERklTSF9DUkVERU5USUFMX1BST1RPQ09MICAqVGhpcywNCj4gPiArICBPVVQgRURLSUlfUkVE RklTSF9BVVRIX01FVEhPRCAgICAgICAgICAqQXV0aE1ldGhvZCwNCj4gPiArICBPVVQgQ0hBUjgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKlVzZXJJZCwNCj4gPiArICBPVVQgQ0hBUjgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKlBhc3N3b3JkDQo+ID4gKyk7DQo+ID4gKw0K PiA+ICsvKioNCj4gPiArICBOb3RpZnkgdGhlIFJlZGZpc2ggc2VydmljZSBwcm92aWRlIHRvIHN0 b3AgcHJvdmlkZSBjb25maWd1cmF0aW9uDQo+IHNlcnZpY2UgdG8NCj4gPiB0aGlzIHBsYXRmb3Jt Lg0KPiA+ICsNCj4gPiArICBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUg cGxhdGZyb20gaXMgYWJvdXQgdG8gbGVhdmUNCj4gPiArIHRoZQ0KPiBzYWZlDQo+ID4gZW52aXJv bm1lbnQuDQo+ID4gKyAgSXQgd2lsbCBub3RpZnkgdGhlIFJlZGZpc2ggc2VydmljZSBwcm92aWRl ciB0byBhYm9ydCBhbGwgbG9naW5lZA0KPiBzZXNzaW9uLCBhbmQNCj4gPiBwcm9oaWJpdA0KPiA+ ICsgIGZ1cnRoZXIgbG9naW4gd2l0aCBvcmlnaW5hbCBhdXRoIGluZm8uIEdldEF1dGhJbmZvKCkg d2lsbCByZXR1cm4NCj4gPiBFRklfVU5TVVBQT1JURUQgb25jZSB0aGlzDQo+ID4gKyAgZnVuY3Rp b24gaXMgcmV0dXJuZWQuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0gICBUaGlzICAgICAgICAg ICAgICAgIFBvaW50ZXIgdG8NCj4gPiBFREtJSV9SRURGSVNIX0NSRURFTlRJQUxfUFJPVE9DT0wg aW5zdGFuY2UuDQo+ID4gKyAgQHBhcmFtW2luXSAgIFNlcnZpY2VTdG9wVHlwZSAgICAgUmVhc29u IG9mIHN0b3BwaW5nIFJlZGZpc2ggc2VydmljZS4NCj4gPiArDQo+ID4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgICAgU2VydmljZSBoYXMgYmVlbiBzdG9wZWQNCj4gPiBzdWNjZXNz ZnVsbHkuDQo+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAgVGhpcyBpcyBO VUxMLg0KPiA+ICsgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICAgIFNvbWUgZXJyb3Ig aGFwcGVuZWQuDQo+ID4gKw0KPiA+ICsqKi8NCj4gPiArRUZJX1NUQVRVUw0KPiA+ICtFRklBUEkN Cj4gPiArTGliU3RvcFJlZGZpc2hTZXJ2aWNlICgNCj4gPiArICBJTiAgICAgRURLSUlfUkVERklT SF9DUkVERU5USUFMX1BST1RPQ09MICAgICAgICAgICpUaGlzLA0KPiA+ICsgIElOICAgICBFREtJ SV9SRURGSVNIX0NSRURFTlRJQUxfU1RPUF9TRVJWSUNFX1RZUEUNCj4gPiBTZXJ2aWNlU3RvcFR5 cGUNCj4gPiArKTsNCj4gPiArI2VuZGlmDQo+ID4gZGlmZiAtLWdpdA0KPiA+IGEvUmVkZmlzaFBr Zy9MaWJyYXJ5L1BsYXRmb3JtQ3JlZGVudGlhbExpYk51bGwvUGxhdGZvcm1DcmVkZW50aWFsTGli TnUNCj4gPiBsbC5jDQo+ID4gYi9SZWRmaXNoUGtnL0xpYnJhcnkvUGxhdGZvcm1DcmVkZW50aWFs TGliTnVsbC9QbGF0Zm9ybUNyZWRlbnRpYWxMaWJOdQ0KPiA+IGxsLmMNCj4gPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAuLjM5ZGU2MjJkNTkNCj4gPiAtLS0gL2Rl di9udWxsDQo+ID4gKysrDQo+ID4gYi9SZWRmaXNoUGtnL0xpYnJhcnkvUGxhdGZvcm1DcmVkZW50 aWFsTGliTnVsbC9QbGF0Zm9ybUNyZWRlbnRpYWxMaWJOdQ0KPiA+IGxsLmMNCj4gPiBAQCAtMCww ICsxLDEwMSBAQA0KPiA+ICsvKiogQGZpbGUNCj4gPiArICBOVUxMIGluc3RhY2Ugb2YgUmVkZmlz aFBsYXRmb3JtQ3JlZGVudGlhbExpYg0KPiA+ICsNCj4gPiArICAoQykgQ29weXJpZ2h0IDIwMjAg SGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2UgRGV2ZWxvcG1lbnQgTFA8QlI+DQo+ID4gKw0KPiA+ ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gKw0K PiA+ICsqKi8NCj4gPiArI2luY2x1ZGUgPFVlZmkuaD4NCj4gPiArI2luY2x1ZGUgPFByb3RvY29s L0Vka0lJUmVkZmlzaENyZWRlbnRpYWwuaD4NCj4gPiArLyoqDQo+ID4gKyAgTm90aWZpY2F0aW9u IG9mIEV4aXQgQm9vdCBTZXJ2aWNlLg0KPiA+ICsNCj4gPiArICBAcGFyYW1baW5dICBUaGlzICAg IFBvaW50ZXIgdG8NCj4gPiBFREtJSV9SRURGSVNIX0NSRURFTlRJQUxfUFJPVE9DT0wuDQo+ID4g KyoqLw0KPiA+ICtWT0lEDQo+ID4gK0VGSUFQSQ0KPiA+ICtMaWJDcmVkZW50aWFsRXhpdEJvb3RT ZXJ2aWNlc05vdGlmeSAoDQo+ID4gKyAgSU4gIEVES0lJX1JFREZJU0hfQ1JFREVOVElBTF9QUk9U T0NPTCAgKlRoaXMNCj4gPiArKQ0KPiA+ICt7DQo+ID4gKyAgcmV0dXJuOw0KPiA+ICt9DQo+ID4g Kw0KPiA+ICsvKioNCj4gPiArICBOb3RpZmljYXRpb24gb2YgRW5kIG9mIERYZS4NCj4gPiArDQo+ ID4gKyAgQHBhcmFtW2luXSAgVGhpcyAgICBQb2ludGVyIHRvDQo+ID4gRURLSUlfUkVERklTSF9D UkVERU5USUFMX1BST1RPQ09MLg0KPiA+ICsqKi8NCj4gPiArVk9JRA0KPiA+ICtFRklBUEkNCj4g PiArTGliQ3JlZGVudGlhbEVuZE9mRHhlTm90aWZ5ICgNCj4gPiArICBJTiAgRURLSUlfUkVERklT SF9DUkVERU5USUFMX1BST1RPQ09MICAqVGhpcw0KPiA+ICspDQo+ID4gK3sNCj4gPiArICByZXR1 cm47DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIFJldHJpZXZlIHBsYXRmb3JtJ3Mg UmVkZmlzaCBhdXRoZW50aWNhdGlvbiBpbmZvcm1hdGlvbi4NCj4gPiArDQo+ID4gKyAgVGhpcyBm dW5jdGlvbnMgcmV0dXJucyB0aGUgUmVkZmlzaCBhdXRoZW50aWNhdGlvbiBtZXRob2QgdG9nZXRo ZXINCj4gPiArIHdpdGgNCj4gPiB0aGUgdXNlciBJZCBhbmQNCj4gPiArICBwYXNzd29yZC4NCj4g PiArICAtIEZvciBBdXRoTWV0aG9kTm9uZSwgdGhlIFVzZXJJZCBhbmQgUGFzc3dvcmQgY291bGQg YmUgdXNlZCBmb3INCj4gPiArIEhUVFANCj4gPiBoZWFkZXIgYXV0aGVudGljYXRpb24NCj4gPiAr ICAgIGFzIGRlZmluZWQgYnkgUkZDNzIzNS4NCj4gPiArICAtIEZvciBBdXRoTWV0aG9kUmVkZmlz aFNlc3Npb24sIHRoZSBVc2VySWQgYW5kIFBhc3N3b3JkIGNvdWxkIGJlDQo+ID4gKyB1c2VkDQo+ ID4gZm9yIFJlZGZpc2gNCj4gPiArICAgIHNlc3Npb24gbG9naW4gYXMgZGVmaW5lZCBieSAgUmVk ZmlzaCBBUEkgc3BlY2lmaWNhdGlvbiAoRFNQMDI2NikuDQo+ID4gKw0KPiA+ICsgIENhbGxlcnMg YXJlIHJlc3BvbnNpYmxlIGZvciBhbmQgZnJlZWluZyB0aGUgcmV0dXJuZWQgc3RyaW5nIHN0b3Jh Z2UuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0gICBUaGlzICAgICAgICAgICAgICAgIFBvaW50 ZXIgdG8NCj4gPiBFREtJSV9SRURGSVNIX0NSRURFTlRJQUxfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ ID4gKyAgQHBhcmFtW291dF0gIEF1dGhNZXRob2QgICAgICAgICAgVHlwZSBvZiBSZWRmaXNoIGF1 dGhlbnRpY2F0aW9uDQo+ID4gbWV0aG9kLg0KPiA+ICsgIEBwYXJhbVtvdXRdICBVc2VySWQgICAg ICAgICAgICAgIFRoZSBwb2ludGVyIHRvIHN0b3JlIHRoZSByZXR1cm5lZA0KPiA+IFVzZXJJZCBz dHJpbmcuDQo+ID4gKyAgQHBhcmFtW291dF0gIFBhc3N3b3JkICAgICAgICAgICAgVGhlIHBvaW50 ZXIgdG8gc3RvcmUgdGhlIHJldHVybmVkDQo+ID4gUGFzc3dvcmQgc3RyaW5nLg0KPiA+ICsNCj4g PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICBHZXQgdGhlIGF1dGhlbnRpY2F0 aW9uIGluZm9ybWF0aW9uDQo+ID4gc3VjY2Vzc2Z1bGx5Lg0KPiA+ICsgIEByZXR2YWwgRUZJX0FD Q0VTU19ERU5JRUQgICAgICAgIFNlY3VyZUJvb3QgaXMgZGlzYWJsZWQgYWZ0ZXINCj4gPiBFbmRP ZkR4ZS4NCj4gPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgICBUaGlzIG9yIEF1 dGhNZXRob2Qgb3IgVXNlcklkIG9yDQo+ID4gUGFzc3dvcmQgaXMgTlVMTC4NCj4gPiArICBAcmV0 dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgICBUaGVyZSBhcmUgbm90IGVub3VnaCBtZW1vcnkN Cj4gPiByZXNvdXJjZXMuDQo+ID4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgICAg VW5zdXBwb3J0ZWQgYXV0aGVudGljYXRpb24NCj4gPiBtZXRob2QgaXMgZm91bmQuDQo+ID4gKw0K PiA+ICsqKi8NCj4gPiArRUZJX1NUQVRVUw0KPiA+ICtFRklBUEkNCj4gPiArTGliQ3JlZGVudGlh bEdldEF1dGhJbmZvICgNCj4gPiArICBJTiAgRURLSUlfUkVERklTSF9DUkVERU5USUFMX1BST1RP Q09MICAqVGhpcywNCj4gPiArICBPVVQgRURLSUlfUkVERklTSF9BVVRIX01FVEhPRCAgICAgICAg ICAqQXV0aE1ldGhvZCwNCj4gPiArICBPVVQgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqKlVzZXJJZCwNCj4gPiArICBPVVQgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqKlBhc3N3b3JkDQo+ID4gKykNCj4gPiArew0KPiA+ICsgIHJldHVybiBFRklfVU5TVVBQ T1JURUQ7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIE5vdGlmeSB0aGUgUmVkZmlz aCBzZXJ2aWNlIHByb3ZpZGUgdG8gc3RvcCBwcm92aWRlIGNvbmZpZ3VyYXRpb24NCj4gc2Vydmlj ZSB0bw0KPiA+IHRoaXMgcGxhdGZvcm0uDQo+ID4gKw0KPiA+ICsgIFRoaXMgZnVuY3Rpb24gc2hv dWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBwbGF0ZnJvbSBpcyBhYm91dCB0byBsZWF2ZQ0KPiA+ICsg dGhlDQo+IHNhZmUNCj4gPiBlbnZpcm9ubWVudC4NCj4gPiArICBJdCB3aWxsIG5vdGlmeSB0aGUg UmVkZmlzaCBzZXJ2aWNlIHByb3ZpZGVyIHRvIGFib3J0IGFsbCBsb2dpbmVkDQo+IHNlc3Npb24s IGFuZA0KPiA+IHByb2hpYml0DQo+ID4gKyAgZnVydGhlciBsb2dpbiB3aXRoIG9yaWdpbmFsIGF1 dGggaW5mby4gR2V0QXV0aEluZm8oKSB3aWxsIHJldHVybg0KPiA+IEVGSV9VTlNVUFBPUlRFRCBv bmNlIHRoaXMNCj4gPiArICBmdW5jdGlvbiBpcyByZXR1cm5lZC4NCj4gPiArDQo+ID4gKyAgQHBh cmFtW2luXSAgIFRoaXMgICAgICAgICAgICAgICAgUG9pbnRlciB0bw0KPiA+IEVES0lJX1JFREZJ U0hfQ1JFREVOVElBTF9QUk9UT0NPTCBpbnN0YW5jZS4NCj4gPiArICBAcGFyYW1baW5dICAgU2Vy dmljZVN0b3BUeXBlICAgICBSZWFzb24gb2Ygc3RvcHBpbmcgUmVkZmlzaCBzZXJ2aWNlLg0KPiA+ ICsNCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICBTZXJ2aWNlIGhhcyBi ZWVuIHN0b3BlZA0KPiA+IHN1Y2Nlc3NmdWxseS4NCj4gPiArICBAcmV0dmFsIEVGSV9JTlZBTElE X1BBUkFNRVRFUiAgICBUaGlzIGlzIE5VTEwgb3IgZ2l2ZW4gdGhlIHdvcm5nDQo+ID4gU2Vydmlj ZVN0b3BUeXBlLg0KPiA+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICAgIE5vdCBz dXBwb3J0IHRvIHN0b3AgUmVkZmlzaA0KPiA+IHNlcnZpY2UuDQo+ID4gKyAgQHJldHZhbCBPdGhl cnMgICAgICAgICAgICAgICAgICAgU29tZSBlcnJvciBoYXBwZW5lZC4NCj4gPiArDQo+ID4gKyoq Lw0KPiA+ICtFRklfU1RBVFVTDQo+ID4gK0VGSUFQSQ0KPiA+ICtMaWJTdG9wUmVkZmlzaFNlcnZp Y2UgKA0KPiA+ICsgIElOICAgICBFREtJSV9SRURGSVNIX0NSRURFTlRJQUxfUFJPVE9DT0wgICAg KlRoaXMsDQo+ID4gKyAgSU4gICAgIEVES0lJX1JFREZJU0hfQ1JFREVOVElBTF9TVE9QX1NFUlZJ Q0VfVFlQRQ0KPiA+IFNlcnZpY2VTdG9wVHlwZQ0KPiA+ICsgICkNCj4gPiArew0KPiA+ICsgIHJl dHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ID4gK30NCj4gPiArDQo+ID4gZGlmZiAtLWdpdA0KPiA+ DQo+IGEvUmVkZmlzaFBrZy9MaWJyYXJ5L1BsYXRmb3JtQ3JlZGVudGlhbExpYk51bGwvUGxhdGZv cm1DcmVkZW50aWFsTGliTnVsbC5pbg0KPiBmDQo+ID4NCj4gYi9SZWRmaXNoUGtnL0xpYnJhcnkv UGxhdGZvcm1DcmVkZW50aWFsTGliTnVsbC9QbGF0Zm9ybUNyZWRlbnRpYWxMaWJOdWxsLmluDQo+ IGYNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAuLjRjMjJl ODk3MTgNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrDQo+ID4NCj4gYi9SZWRmaXNoUGtnL0xp YnJhcnkvUGxhdGZvcm1DcmVkZW50aWFsTGliTnVsbC9QbGF0Zm9ybUNyZWRlbnRpYWxMaWJOdWxs LmluDQo+IGYNCj4gPiBAQCAtMCwwICsxLDMwIEBADQo+ID4gKyMjIEBmaWxlDQo+ID4gKyMgIE5V TEwgaW5zdGFuY2Ugb2YgUmVkZmlzaFBsYXRmb3JtQ3JlZGVudGlhbExpYiAjICMgIChDKSBDb3B5 cmlnaHQNCj4gPiArMjAyMCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBM UDxCUj4gIyAjDQo+ID4gK1NQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50ICMgIyMNCj4gPiArDQo+ID4gK1tEZWZpbmVzXQ0KPiA+ICsgIElORl9WRVJTSU9OICAgICAg ICAgICAgICAgICAgICA9IDB4MDAwMTAwMGINCj4gPiArICBCQVNFX05BTUUgICAgICAgICAgICAg ICAgICAgICAgPQ0KPiA+IFJlZGZpc2hQbGF0Zm9ybUNyZWRlbnRpYWxMaWJOdWxsDQo+ID4gKyAg RklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0NCj4gPiBDQTNCRDg0My0wQkRELTRFRTAt QTM4QS1CNDVDQTY2MzExNEYNCj4gPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAg PSBEWEVfRFJJVkVSDQo+ID4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4w DQo+ID4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gUmVkZmlzaFBsYXRmb3Jt Q3JlZGVudGlhbExpYg0KPiA+ICsNCj4gPiArIw0KPiA+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVT ICAgICAgICAgICA9IElBMzIgWDY0IEFSTSBBQVJDSDY0DQo+ID4gUklTQ1Y2NA0KPiA+ICsjDQo+ ID4gKw0KPiA+ICtbU291cmNlc10NCj4gPiArICBQbGF0Zm9ybUNyZWRlbnRpYWxMaWJOdWxsLmMN Cj4gPiArDQo+ID4gK1tQYWNrYWdlc10NCj4gPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiA+ICsg IE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ID4gKyAgUmVkZmlzaFBrZy9SZWRmaXNo UGtnLmRlYw0KPiA+ICsNCj4gPiArDQo+ID4gZGlmZiAtLWdpdCBhL1JlZGZpc2hQa2cvUmVkZmlz aC5mZGYuaW5jIGIvUmVkZmlzaFBrZy9SZWRmaXNoLmZkZi5pbmMNCj4gPiBpbmRleCAxOWRlNDc5 YTgwLi4yNGUzMmUwYWJmIDEwMDY0NA0KPiA+IC0tLSBhL1JlZGZpc2hQa2cvUmVkZmlzaC5mZGYu aW5jDQo+ID4gKysrIGIvUmVkZmlzaFBrZy9SZWRmaXNoLmZkZi5pbmMNCj4gPiBAQCAtMTMsNCAr MTMsNSBAQA0KPiA+ICAhaWYgJChSRURGSVNIX0VOQUJMRSkgPT0gVFJVRQ0KPiA+ICAgIElORiBS ZWRmaXNoUGtnL1Jlc3RKc29uU3RydWN0dXJlRHhlL1Jlc3RKc29uU3RydWN0dXJlRHhlLmluZg0K PiA+ICAgIElORiBSZWRmaXNoUGtnL1JlZGZpc2hIb3N0SW50ZXJmYWNlRHhlL1JlZGZpc2hIb3N0 SW50ZXJmYWNlRHhlLmluZg0KPiA+ICsgIElORiBSZWRmaXNoUGtnL1JlZGZpc2hDcmVkZW50aWFs RHhlL1JlZGZpc2hDcmVkZW50aWFsRHhlLmluZg0KPiA+ICAhZW5kaWYNCj4gPiBkaWZmIC0tZ2l0 IGEvUmVkZmlzaFBrZy9SZWRmaXNoQ29tcG9uZW50cy5kc2MuaW5jDQo+ID4gYi9SZWRmaXNoUGtn L1JlZGZpc2hDb21wb25lbnRzLmRzYy5pbmMNCj4gPiBpbmRleCBhYzFiNTdlZDhmLi5mZjMyNjUz ZWM4IDEwMDY0NA0KPiA+IC0tLSBhL1JlZGZpc2hQa2cvUmVkZmlzaENvbXBvbmVudHMuZHNjLmlu Yw0KPiA+ICsrKyBiL1JlZGZpc2hQa2cvUmVkZmlzaENvbXBvbmVudHMuZHNjLmluYw0KPiA+IEBA IC0xNSw0ICsxNSw1IEBADQo+ID4gICFpZiAkKFJFREZJU0hfRU5BQkxFKSA9PSBUUlVFDQo+ID4g ICAgUmVkZmlzaFBrZy9SZXN0SnNvblN0cnVjdHVyZUR4ZS9SZXN0SnNvblN0cnVjdHVyZUR4ZS5p bmYNCj4gPiAgICBSZWRmaXNoUGtnL1JlZGZpc2hIb3N0SW50ZXJmYWNlRHhlL1JlZGZpc2hIb3N0 SW50ZXJmYWNlRHhlLmluZg0KPiA+ICsgIFJlZGZpc2hQa2cvUmVkZmlzaENyZWRlbnRpYWxEeGUv UmVkZmlzaENyZWRlbnRpYWxEeGUuaW5mDQo+ID4gICFlbmRpZg0KPiA+IGRpZmYgLS1naXQgYS9S ZWRmaXNoUGtnL1JlZGZpc2hDcmVkZW50aWFsRHhlL1JlZGZpc2hDcmVkZW50aWFsRHhlLmMNCj4g PiBiL1JlZGZpc2hQa2cvUmVkZmlzaENyZWRlbnRpYWxEeGUvUmVkZmlzaENyZWRlbnRpYWxEeGUu Yw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMC4uZjQ4ZDFk MDExYw0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9SZWRmaXNoUGtnL1JlZGZpc2hDcmVk ZW50aWFsRHhlL1JlZGZpc2hDcmVkZW50aWFsRHhlLmMNCj4gPiBAQCAtMCwwICsxLDIwOSBAQA0K PiA+ICsvKiogQGZpbGUNCj4gPiArICBSZWRmaXNoQ3JlbnRpYWxEeGUgcHJvZHVjZXMgdGhlIEVk a0lJUmVkZmlzaENyZWRlbnRpYWxQcm90b2NvbCBmb3INCj4gPiArdGhlDQo+ID4gY29uc3VtZXIN Cj4gPiArICB0byBnZXQgdGhlIFJlZGZpc2ggY3JlZGVudGlhbCBJbmZvIGFuZCB0byByZXN0cmlj dCBSZWRmaXNoIGFjY2Vzcw0KPiA+ICsgZnJvbQ0KPiBVRUZJDQo+ID4gc2lkZS4NCj4gPiArDQo+ ID4gKyAgKEMpIENvcHlyaWdodCAyMDIwIEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVs b3BtZW50IExQPEJSPg0KPiA+ICsNCj4gPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiA+ICsNCj4gPiArKiovDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8 UmVkZmlzaENyZWRlbnRpYWxEeGUuaD4NCj4gPiArDQo+ID4gK0VES0lJX1JFREZJU0hfQ1JFREVO VElBTF9QUk9UT0NPTCBtUmVkZmlzaENyZWRlbnRpYWxQcm90b2NvbCA9IHsNCj4gPiArICBSZWRm aXNoQ3JlZGVudGlhbEdldEF1dGhJbmZvLA0KPiA+ICsgIFJlZGZpc2hDcmVkZW50aWFsU3RvcFNl cnZpY2UNCj4gPiArfTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIENhbGxiYWNrIGZ1bmN0aW9u IGV4ZWN1dGVkIHdoZW4gdGhlIEV4aXRCb290U2VydmljZXMgZXZlbnQgZ3JvdXAgaXMNCj4gPiBz aWduYWxlZC4NCj4gPiArDQo+ID4gKyAgQHBhcmFtW2luXSAgRXZlbnQgICAgRXZlbnQgd2hvc2Ug bm90aWZpY2F0aW9uIGZ1bmN0aW9uIGlzIGJlaW5nDQo+ID4gaW52b2tlZC4NCj4gPiArICBAcGFy YW1bb3V0XSBDb250ZXh0ICBQb2ludGVyIHRvIHRoZSBidWZmZXIgcGFzcyBpbi4NCj4gPiArKiov DQo+ID4gK1ZPSUQNCj4gPiArRUZJQVBJDQo+ID4gK1JlZGZpc2hDcmVkZW50aWFsRXhpdEJvb3RT ZXJ2aWNlc0V2ZW50Tm90aWZ5ICgNCj4gPiArICBJTiAgRUZJX0VWRU5UICBFdmVudCwNCj4gPiAr ICBPVVQgVk9JRCAgICAgICAqQ29udGV4dA0KPiA+ICsgICkNCj4gPiArew0KPiA+ICsgIExpYkNy ZWRlbnRpYWxFeGl0Qm9vdFNlcnZpY2VzTm90aWZ5DQo+ID4gKChFREtJSV9SRURGSVNIX0NSRURF TlRJQUxfUFJPVE9DT0wgKilDb250ZXh0KTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyoqDQo+ID4g KyAgQ2FsbGJhY2sgZnVuY3Rpb24gZXhlY3V0ZWQgd2hlbiB0aGUgRW5kT2ZEeGUgZXZlbnQgZ3Jv dXAgaXMgc2lnbmFsZWQuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0gIEV2ZW50ICAgIEV2ZW50 IHdob3NlIG5vdGlmaWNhdGlvbiBmdW5jdGlvbiBpcyBiZWluZw0KPiA+IGludm9rZWQuDQo+ID4g KyAgQHBhcmFtW291dF0gQ29udGV4dCAgUG9pbnRlciB0byB0aGUgYnVmZmVyIHBhc3MgaW4uDQo+ ID4gKyoqLw0KPiA+ICtWT0lEDQo+ID4gK0VGSUFQSQ0KPiA+ICtSZWRmaXNoQ3JlZGVudGlhbEVu ZE9mRHhlRXZlbnROb3RpZnkgKA0KPiA+ICsgIElOICBFRklfRVZFTlQgIEV2ZW50LA0KPiA+ICsg IE9VVCBWT0lEICAgICAgICpDb250ZXh0DQo+ID4gKyAgKQ0KPiA+ICt7DQo+ID4gKyAgTGliQ3Jl ZGVudGlhbEVuZE9mRHhlTm90aWZ5ICgoRURLSUlfUkVERklTSF9DUkVERU5USUFMX1BST1RPQ09M DQo+ID4gKilDb250ZXh0KTsNCj4gPiArDQo+ID4gKyAgLy8NCj4gPiArICAvLyBDbG9zZSBldmVu dCwgc28gaXQgd2lsbCBub3QgYmUgaW52b2tlZCBhZ2Fpbi4NCj4gPiArICAvLw0KPiA+ICsgIGdC Uy0+Q2xvc2VFdmVudCAoRXZlbnQpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICBS ZXRyaWV2ZSBwbGF0Zm9ybSdzIFJlZGZpc2ggYXV0aGVudGljYXRpb24gaW5mb3JtYXRpb24uDQo+ ID4gKw0KPiA+ICsgIFRoaXMgZnVuY3Rpb25zIHJldHVybnMgdGhlIFJlZGZpc2ggYXV0aGVudGlj YXRpb24gbWV0aG9kIHRvZ2V0aGVyDQo+ID4gKyB3aXRoDQo+ID4gdGhlIHVzZXIgSWQgYW5kDQo+ ID4gKyAgcGFzc3dvcmQuDQo+ID4gKyAgLSBGb3IgQXV0aE1ldGhvZE5vbmUsIHRoZSBVc2VySWQg YW5kIFBhc3N3b3JkIGNvdWxkIGJlIHVzZWQgZm9yDQo+ID4gKyBIVFRQDQo+ID4gaGVhZGVyIGF1 dGhlbnRpY2F0aW9uDQo+ID4gKyAgICBhcyBkZWZpbmVkIGJ5IFJGQzcyMzUuDQo+ID4gKyAgLSBG b3IgQXV0aE1ldGhvZFJlZGZpc2hTZXNzaW9uLCB0aGUgVXNlcklkIGFuZCBQYXNzd29yZCBjb3Vs ZCBiZQ0KPiA+ICsgdXNlZA0KPiA+IGZvciBSZWRmaXNoDQo+ID4gKyAgICBzZXNzaW9uIGxvZ2lu IGFzIGRlZmluZWQgYnkgIFJlZGZpc2ggQVBJIHNwZWNpZmljYXRpb24gKERTUDAyNjYpLg0KPiA+ ICsNCj4gPiArICBDYWxsZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgYW5kIGZyZWVpbmcgdGhlIHJl dHVybmVkIHN0cmluZyBzdG9yYWdlLg0KPiA+ICsNCj4gPiArICBAcGFyYW1baW5dICAgVGhpcyAg ICAgICAgICAgICAgICBQb2ludGVyIHRvDQo+ID4gRURLSUlfUkVERklTSF9DUkVERU5USUFMX1BS T1RPQ09MIGluc3RhbmNlLg0KPiA+ICsgIEBwYXJhbVtvdXRdICBBdXRoTWV0aG9kICAgICAgICAg IFR5cGUgb2YgUmVkZmlzaCBhdXRoZW50aWNhdGlvbg0KPiA+IG1ldGhvZC4NCj4gPiArICBAcGFy YW1bb3V0XSAgVXNlcklkICAgICAgICAgICAgICBUaGUgcG9pbnRlciB0byBzdG9yZSB0aGUgcmV0 dXJuZWQNCj4gPiBVc2VySWQgc3RyaW5nLg0KPiA+ICsgIEBwYXJhbVtvdXRdICBQYXNzd29yZCAg ICAgICAgICAgIFRoZSBwb2ludGVyIHRvIHN0b3JlIHRoZSByZXR1cm5lZA0KPiA+IFBhc3N3b3Jk IHN0cmluZy4NCj4gPiArDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAg R2V0IHRoZSBhdXRoZW50aWNhdGlvbiBpbmZvcm1hdGlvbg0KPiA+IHN1Y2Nlc3NmdWxseS4NCj4g PiArICBAcmV0dmFsIEVGSV9BQ0NFU1NfREVOSUVEICAgICAgICBTZWN1cmVCb290IGlzIGRpc2Fi bGVkIGFmdGVyDQo+ID4gRW5kT2ZEeGUuDQo+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJB TUVURVIgICAgVGhpcyBvciBBdXRoTWV0aG9kIG9yIFVzZXJJZCBvcg0KPiA+IFBhc3N3b3JkIGlz IE5VTEwuDQo+ID4gKyAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgICAgVGhlcmUgYXJl IG5vdCBlbm91Z2ggbWVtb3J5DQo+ID4gcmVzb3VyY2VzLg0KPiA+ICsgIEByZXR2YWwgRUZJX1VO U1VQUE9SVEVEICAgICAgICAgIFVuc3VwcG9ydGVkIGF1dGhlbnRpY2F0aW9uDQo+ID4gbWV0aG9k IGlzIGZvdW5kLg0KPiA+ICsNCj4gPiArKiovDQo+ID4gK0VGSV9TVEFUVVMNCj4gPiArRUZJQVBJ DQo+ID4gK1JlZGZpc2hDcmVkZW50aWFsR2V0QXV0aEluZm8gKA0KPiA+ICsgIElOICBFREtJSV9S RURGSVNIX0NSRURFTlRJQUxfUFJPVE9DT0wgICAgKlRoaXMsDQo+ID4gKyAgT1VUIEVES0lJX1JF REZJU0hfQVVUSF9NRVRIT0QgICAgICAgICAgICAqQXV0aE1ldGhvZCwNCj4gPiArICBPVVQgQ0hB UjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqVXNlcklkLA0KPiA+ICsgIE9VVCBD SEFSOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipQYXNzd29yZA0KPiA+ICsgICkN Cj4gPiArew0KPiA+ICsgIGlmIChUaGlzID09IE5VTEwgfHwgQXV0aE1ldGhvZCA9PSBOVUxMIHx8 IFVzZXJJZCA9PSBOVUxMIHx8DQo+ID4gK1Bhc3N3b3JkDQo+ID4gPT0gTlVMTCkgew0KPiA+ICsg ICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gPiArICB9DQo+ID4gKw0KPiA+ICsg IHJldHVybiBMaWJDcmVkZW50aWFsR2V0QXV0aEluZm8gKFRoaXMsIEF1dGhNZXRob2QsDQo+ID4g K1VzZXJJZCxQYXNzd29yZCk7IH0NCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIE5vdGlmeSB0aGUg UmVkZmlzaCBzZXJ2aWNlIHByb3ZpZGUgdG8gc3RvcCBwcm92aWRlIGNvbmZpZ3VyYXRpb24NCj4g c2VydmljZSB0bw0KPiA+IHRoaXMgcGxhdGZvcm0uDQo+ID4gKw0KPiA+ICsgIFRoaXMgZnVuY3Rp b24gc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBwbGF0ZnJvbSBpcyBhYm91dCB0byBsZWF2ZQ0K PiA+ICsgdGhlDQo+IHNhZmUNCj4gPiBlbnZpcm9ubWVudC4NCj4gPiArICBJdCB3aWxsIG5vdGlm eSB0aGUgUmVkZmlzaCBzZXJ2aWNlIHByb3ZpZGVyIHRvIGFib3J0IGFsbCBsb2dpbmVkDQo+IHNl c3Npb24sIGFuZA0KPiA+IHByb2hpYml0DQo+ID4gKyAgZnVydGhlciBsb2dpbiB3aXRoIG9yaWdp bmFsIGF1dGggaW5mby4gR2V0QXV0aEluZm8oKSB3aWxsIHJldHVybg0KPiA+IEVGSV9VTlNVUFBP UlRFRCBvbmNlIHRoaXMNCj4gPiArICBmdW5jdGlvbiBpcyByZXR1cm5lZC4NCj4gPiArDQo+ID4g KyAgQHBhcmFtW2luXSAgIFRoaXMgICAgICAgICAgICAgICAgUG9pbnRlciB0bw0KPiA+IEVES0lJ X1JFREZJU0hfQ1JFREVOVElBTF9QUk9UT0NPTCBpbnN0YW5jZS4NCj4gPiArICBAcGFyYW1baW5d ICAgU2VydmljZVN0b3BUeXBlICAgICBSZWFzb24gb2Ygc3RvcHBpbmcgUmVkZmlzaCBzZXJ2aWNl Lg0KPiA+ICsNCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICBTZXJ2aWNl IGhhcyBiZWVuIHN0b3BlZA0KPiA+IHN1Y2Nlc3NmdWxseS4NCj4gPiArICBAcmV0dmFsIEVGSV9J TlZBTElEX1BBUkFNRVRFUiAgICBUaGlzIGlzIE5VTEwgb3IgZ2l2ZW4gdGhlIHdvcm5nDQo+ID4g U2VydmljZVN0b3BUeXBlLg0KPiA+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICAg IE5vdCBzdXBwb3J0IHRvIHN0b3AgUmVkZmlzaA0KPiA+IHNlcnZpY2UuDQo+ID4gKyAgQHJldHZh bCBPdGhlcnMgICAgICAgICAgICAgICAgICAgU29tZSBlcnJvciBoYXBwZW5lZC4NCj4gPiArDQo+ ID4gKyoqLw0KPiA+ICtFRklfU1RBVFVTDQo+ID4gK0VGSUFQSQ0KPiA+ICtSZWRmaXNoQ3JlZGVu dGlhbFN0b3BTZXJ2aWNlICgNCj4gPiArICBJTiAgICAgRURLSUlfUkVERklTSF9DUkVERU5USUFM X1BST1RPQ09MICAgICpUaGlzLA0KPiA+ICsgIElOICAgICBFREtJSV9SRURGSVNIX0NSRURFTlRJ QUxfU1RPUF9TRVJWSUNFX1RZUEUNCj4gPiBTZXJ2aWNlU3RvcFR5cGUNCj4gPiArICApDQo+ID4g K3sNCj4gPiArICBpZiAoVGhpcyA9PSBOVUxMKSB7DQo+ID4gKyAgICByZXR1cm4gRUZJX0lOVkFM SURfUEFSQU1FVEVSOw0KPiA+ICsgIH0NCj4gPiArDQo+ID4gKyAgcmV0dXJuIExpYlN0b3BSZWRm aXNoU2VydmljZSAoVGhpcywgU2VydmljZVN0b3BUeXBlKTsgfQ0KPiA+ICsNCj4gPiArLyoqDQo+ ID4gKyAgTWFpbiBlbnRyeSBmb3IgdGhpcyBkcml2ZXIuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbSBJ bWFnZUhhbmRsZSAgICAgSW1hZ2UgaGFuZGxlIHRoaXMgZHJpdmVyLg0KPiA+ICsgIEBwYXJhbSBT eXN0ZW1UYWJsZSAgICAgUG9pbnRlciB0byBTeXN0ZW1UYWJsZS4NCj4gPiArDQo+ID4gKyAgQHJl dHZhbCBFRklfU1VDRVNTICAgICBUaGlzIGZ1bmN0aW9uIGFsd2F5cyBjb21wbGV0ZSBzdWNjZXNz ZnVsbHkuDQo+ID4gKw0KPiA+ICsqKi8NCj4gPiArRUZJX1NUQVRVUw0KPiA+ICtFRklBUEkNCj4g PiArUmVkZmlzaENyZWRlbnRpYWxEeGVEcml2ZXJFbnRyeVBvaW50ICgNCj4gPiArICBJTiBFRklf SEFORExFICAgICAgICAgSW1hZ2VIYW5kbGUsDQo+ID4gKyAgSU4gRUZJX1NZU1RFTV9UQUJMRSAg ICpTeXN0ZW1UYWJsZQ0KPiA+ICsgICkNCj4gPiArew0KPiA+ICsgIEVGSV9TVEFUVVMgIFN0YXR1 czsNCj4gPiArICBFRklfSEFORExFICBIYW5kbGU7DQo+ID4gKyAgRUZJX0VWRU5UICAgRW5kT2ZE eGVFdmVudDsNCj4gPiArICBFRklfRVZFTlQgICBFeGl0Qm9vdFNlcnZpY2VFdmVudDsNCj4gPiAr DQo+ID4gKyAgSGFuZGxlID0gTlVMTDsNCj4gPiArDQo+ID4gKyAgLy8NCj4gPiArICAvLyBJbnN0 YWxsIHRoZSBSZWRmaXNoQ3JlZGVudGlhbFByb3RvY29sIG9udG8gSGFuZGxlLg0KPiA+ICsgIC8v DQo+ID4gKyAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsTXVsdGlwbGVQcm90b2NvbEludGVyZmFjZXMg KA0KPiA+ICsgICAgICAgICAgICAgICAgICAmSGFuZGxlLA0KPiA+ICsgICAgICAgICAgICAgICAg ICAmZ0Vka0lJUmVkZmlzaENyZWRlbnRpYWxQcm90b2NvbEd1aWQsDQo+ID4gKyAgICAgICAgICAg ICAgICAgICZtUmVkZmlzaENyZWRlbnRpYWxQcm90b2NvbCwNCj4gPiArICAgICAgICAgICAgICAg ICAgTlVMTA0KPiA+ICsgICAgICAgICAgICAgICAgICApOw0KPiA+ICsgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCj4gPiArICAgIHJldHVybiBTdGF0dXM7DQo+ID4gKyAgfQ0KPiA+ICsNCj4g PiArICAvLw0KPiA+ICsgIC8vIEFmdGVyIEVuZE9mRHhlLCBpZiBTZWN1cmVCb290IGlzIGRpc2Fi bGVkLCBSZWRmaXNoIENyZWRlbnRpYWwNCj4gUHJvdG9jb2wNCj4gPiBzaG91bGQgcmV0dXJuDQo+ ID4gKyAgLy8gZXJyb3IgY29kZSB0byBjYWxsZXIgdG8gYXZvaWQgdGhlIDNyZCBjb2RlIHRvIGJ5 cGFzcyBSZWRmaXNoDQo+IENyZWRlbnRpYWwNCj4gPiBQcm90b2NvbCBhbmQNCj4gPiArICAvLyBy ZXRyaWV2ZSB1c2VyaWQvcHdkIGRpcmVjdGx5LiBTbywgaGVyZSwgd2UgY3JlYXRlIEVuZE9mRHhl IEV2ZW50DQo+ID4gKyB0bw0KPiA+IGNoZWNrIFNlY3VyZUJvb3QNCj4gPiArICAvLyBzdGF0dXMu DQo+ID4gKyAgLy8NCj4gPiArICBTdGF0dXMgPSBnQlMtPkNyZWF0ZUV2ZW50RXggKA0KPiA+ICsg ICAgICAgICAgICAgICAgICBFVlRfTk9USUZZX1NJR05BTCwNCj4gPiArICAgICAgICAgICAgICAg ICAgVFBMX0NBTExCQUNLLA0KPiA+ICsgICAgICAgICAgICAgICAgICBSZWRmaXNoQ3JlZGVudGlh bEVuZE9mRHhlRXZlbnROb3RpZnksDQo+ID4gKyAgICAgICAgICAgICAgICAgIChWT0lEICopJm1S ZWRmaXNoQ3JlZGVudGlhbFByb3RvY29sLA0KPiA+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUVu ZE9mRHhlRXZlbnRHcm91cEd1aWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICZFbmRPZkR4ZUV2 ZW50DQo+ID4gKyAgICAgICAgICAgICAgICAgICk7DQo+ID4gKyAgaWYgKEVGSV9FUlJPUiAoU3Rh dHVzKSkgew0KPiA+ICsgICAgZ290byBPTl9FUlJPUjsNCj4gPiArICB9DQo+ID4gKw0KPiA+ICsg IC8vDQo+ID4gKyAgLy8gQWZ0ZXIgRXhpdEJvb3RTZXJ2aWNlcywgUmVkZmlzaCBDcmVkZW50aWFs IFByb3RvY29sIHNob3VsZCBzdG9wDQo+ID4gKyB0aGUNCj4gPiBzZXJ2aWNlLg0KPiA+ICsgIC8v IFNvLCBoZXJlLCB3ZSBjcmVhdGUgRXhpdEJvb3RTZXJ2aWNlIEV2ZW50IHRvIHN0b3Agc2Vydmlj ZS4NCj4gPiArICAvLw0KPiA+ICsgIFN0YXR1cyA9IGdCUy0+Q3JlYXRlRXZlbnRFeCAoDQo+ID4g KyAgICAgICAgICAgICAgICAgIEVWVF9OT1RJRllfU0lHTkFMLA0KPiA+ICsgICAgICAgICAgICAg ICAgICBUUExfQ0FMTEJBQ0ssDQo+ID4gKyAgICAgICAgICAgICAgICAgIFJlZGZpc2hDcmVkZW50 aWFsRXhpdEJvb3RTZXJ2aWNlc0V2ZW50Tm90aWZ5LA0KPiA+ICsgICAgICAgICAgICAgICAgICAo Vk9JRCAqKSZtUmVkZmlzaENyZWRlbnRpYWxQcm90b2NvbCwNCj4gPiArICAgICAgICAgICAgICAg ICAgJmdFZmlFdmVudEV4aXRCb290U2VydmljZXNHdWlkLA0KPiA+ICsgICAgICAgICAgICAgICAg ICAmRXhpdEJvb3RTZXJ2aWNlRXZlbnQNCj4gPiArICAgICAgICAgICAgICAgICAgKTsNCj4gPiAr ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4gKyAgICBnQlMtPkNsb3NlRXZlbnQgKEVu ZE9mRHhlRXZlbnQpOw0KPiA+ICsgICAgZ290byBPTl9FUlJPUjsNCj4gPiArICB9DQo+ID4gKw0K PiA+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gPiArDQo+ID4gK09OX0VSUk9SOg0KPiA+ICsN Cj4gPiArICBnQlMtPlVuaW5zdGFsbE11bHRpcGxlUHJvdG9jb2xJbnRlcmZhY2VzICgNCj4gPiAr ICAgICAgICAgSGFuZGxlLA0KPiA+ICsgICAgICAgICAmZ0Vka0lJUmVkZmlzaENyZWRlbnRpYWxQ cm90b2NvbEd1aWQsDQo+ID4gKyAgICAgICAgICZtUmVkZmlzaENyZWRlbnRpYWxQcm90b2NvbCwN Cj4gPiArICAgICAgICAgTlVMTA0KPiA+ICsgICAgICAgICApOw0KPiA+ICsNCj4gPiArICByZXR1 cm4gU3RhdHVzOw0KPiA+ICt9DQo+ID4gZGlmZiAtLWdpdCBhL1JlZGZpc2hQa2cvUmVkZmlzaENy ZWRlbnRpYWxEeGUvUmVkZmlzaENyZWRlbnRpYWxEeGUuaA0KPiA+IGIvUmVkZmlzaFBrZy9SZWRm aXNoQ3JlZGVudGlhbER4ZS9SZWRmaXNoQ3JlZGVudGlhbER4ZS5oDQo+ID4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwLi42ZTdlNDE3YjMzDQo+ID4gLS0tIC9kZXYv bnVsbA0KPiA+ICsrKyBiL1JlZGZpc2hQa2cvUmVkZmlzaENyZWRlbnRpYWxEeGUvUmVkZmlzaENy ZWRlbnRpYWxEeGUuaA0KPiA+IEBAIC0wLDAgKzEsNzUgQEANCj4gPiArLyoqIEBmaWxlDQo+ID4g KyAgRGVmaW5pdGlvbiBvZiBSZWRmaXNoIENyZWRlbnRpYWwgRFhFIGRyaXZlci4NCj4gPiArDQo+ ID4gKyAgKEMpIENvcHlyaWdodCAyMDIwIEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVs b3BtZW50IExQPEJSPg0KPiA+ICsNCj4gPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiA+ICsNCj4gPiArKiovDQo+ID4gKyNpZm5kZWYgRURLSUlfUkVE RklTSF9DUkVERU5USUFMX0RYRV9IXyAjZGVmaW5lDQo+ID4gK0VES0lJX1JFREZJU0hfQ1JFREVO VElBTF9EWEVfSF8NCj4gPiArDQo+ID4gKyNpbmNsdWRlIDxQcm90b2NvbC9FZGtJSVJlZGZpc2hD cmVkZW50aWFsLmg+DQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5 L1ByaW50TGliLmg+DQo+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L1JlZGZpc2hDcmVkZW50aWFsTGli Lmg+ICNpbmNsdWRlDQo+ID4gKzxMaWJyYXJ5L1VlZmlMaWIuaD4gI2luY2x1ZGUgPExpYnJhcnkv VWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICBSZXRy aWV2ZSBwbGF0Zm9ybSdzIFJlZGZpc2ggYXV0aGVudGljYXRpb24gaW5mb3JtYXRpb24uDQo+ID4g Kw0KPiA+ICsgIFRoaXMgZnVuY3Rpb25zIHJldHVybnMgdGhlIFJlZGZpc2ggYXV0aGVudGljYXRp b24gbWV0aG9kIHRvZ2V0aGVyDQo+ID4gKyB3aXRoDQo+ID4gdGhlIHVzZXIgSWQgYW5kDQo+ID4g KyAgcGFzc3dvcmQuDQo+ID4gKyAgLSBGb3IgQXV0aE1ldGhvZE5vbmUsIHRoZSBVc2VySWQgYW5k IFBhc3N3b3JkIGNvdWxkIGJlIHVzZWQgZm9yDQo+ID4gKyBIVFRQDQo+ID4gaGVhZGVyIGF1dGhl bnRpY2F0aW9uDQo+ID4gKyAgICBhcyBkZWZpbmVkIGJ5IFJGQzcyMzUuDQo+ID4gKyAgLSBGb3Ig QXV0aE1ldGhvZFJlZGZpc2hTZXNzaW9uLCB0aGUgVXNlcklkIGFuZCBQYXNzd29yZCBjb3VsZCBi ZQ0KPiA+ICsgdXNlZA0KPiA+IGZvciBSZWRmaXNoDQo+ID4gKyAgICBzZXNzaW9uIGxvZ2luIGFz IGRlZmluZWQgYnkgIFJlZGZpc2ggQVBJIHNwZWNpZmljYXRpb24gKERTUDAyNjYpLg0KPiA+ICsN Cj4gPiArICBDYWxsZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgYW5kIGZyZWVpbmcgdGhlIHJldHVy bmVkIHN0cmluZyBzdG9yYWdlLg0KPiA+ICsNCj4gPiArICBAcGFyYW1baW5dICAgVGhpcyAgICAg ICAgICAgICAgICBQb2ludGVyIHRvDQo+ID4gRURLSUlfUkVERklTSF9DUkVERU5USUFMX1BST1RP Q09MIGluc3RhbmNlLg0KPiA+ICsgIEBwYXJhbVtvdXRdICBBdXRoTWV0aG9kICAgICAgICAgIFR5 cGUgb2YgUmVkZmlzaCBhdXRoZW50aWNhdGlvbg0KPiA+IG1ldGhvZC4NCj4gPiArICBAcGFyYW1b b3V0XSAgVXNlcklkICAgICAgICAgICAgICBUaGUgcG9pbnRlciB0byBzdG9yZSB0aGUgcmV0dXJu ZWQNCj4gPiBVc2VySWQgc3RyaW5nLg0KPiA+ICsgIEBwYXJhbVtvdXRdICBQYXNzd29yZCAgICAg ICAgICAgIFRoZSBwb2ludGVyIHRvIHN0b3JlIHRoZSByZXR1cm5lZA0KPiA+IFBhc3N3b3JkIHN0 cmluZy4NCj4gPiArDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgR2V0 IHRoZSBhdXRoZW50aWNhdGlvbiBpbmZvcm1hdGlvbg0KPiA+IHN1Y2Nlc3NmdWxseS4NCj4gPiAr ICBAcmV0dmFsIEVGSV9BQ0NFU1NfREVOSUVEICAgICAgICBTZWN1cmVCb290IGlzIGRpc2FibGVk IGFmdGVyDQo+ID4gRW5kT2ZEeGUuDQo+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVU RVIgICAgVGhpcyBvciBBdXRoTWV0aG9kIG9yIFVzZXJJZCBvcg0KPiA+IFBhc3N3b3JkIGlzIE5V TEwuDQo+ID4gKyAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgICAgVGhlcmUgYXJlIG5v dCBlbm91Z2ggbWVtb3J5DQo+ID4gcmVzb3VyY2VzLg0KPiA+ICsgIEByZXR2YWwgRUZJX1VOU1VQ UE9SVEVEICAgICAgICAgIFVuc3VwcG9ydGVkIGF1dGhlbnRpY2F0aW9uDQo+ID4gbWV0aG9kIGlz IGZvdW5kLg0KPiA+ICsNCj4gPiArKiovDQo+ID4gK0VGSV9TVEFUVVMNCj4gPiArRUZJQVBJDQo+ ID4gK1JlZGZpc2hDcmVkZW50aWFsR2V0QXV0aEluZm8gKA0KPiA+ICsgIElOICBFREtJSV9SRURG SVNIX0NSRURFTlRJQUxfUFJPVE9DT0wgICAgKlRoaXMsDQo+ID4gKyAgT1VUIEVES0lJX1JFREZJ U0hfQVVUSF9NRVRIT0QgICAgICAgICAgICAqQXV0aE1ldGhvZCwNCj4gPiArICBPVVQgQ0hBUjgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqVXNlcklkLA0KPiA+ICsgIE9VVCBDSEFS OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipQYXNzd29yZA0KPiA+ICsgICk7DQo+ ID4gKw0KPiA+ICsvKioNCj4gPiArICBOb3RpZnkgdGhlIFJlZGZpc2ggc2VydmljZSBwcm92aWRl IHRvIHN0b3AgcHJvdmlkZSBjb25maWd1cmF0aW9uDQo+IHNlcnZpY2UgdG8NCj4gPiB0aGlzIHBs YXRmb3JtLg0KPiA+ICsNCj4gPiArICBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgd2hl biB0aGUgcGxhdGZyb20gaXMgYWJvdXQgdG8gbGVhdmUNCj4gPiArIHRoZQ0KPiBzYWZlDQo+ID4g ZW52aXJvbm1lbnQuDQo+ID4gKyAgSXQgd2lsbCBub3RpZnkgdGhlIFJlZGZpc2ggc2VydmljZSBw cm92aWRlciB0byBhYm9ydCBhbGwgbG9naW5lZA0KPiBzZXNzaW9uLCBhbmQNCj4gPiBwcm9oaWJp dA0KPiA+ICsgIGZ1cnRoZXIgbG9naW4gd2l0aCBvcmlnaW5hbCBhdXRoIGluZm8uIEdldEF1dGhJ bmZvKCkgd2lsbCByZXR1cm4NCj4gPiBFRklfVU5TVVBQT1JURUQgb25jZSB0aGlzDQo+ID4gKyAg ZnVuY3Rpb24gaXMgcmV0dXJuZWQuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0gICBUaGlzICAg ICAgICAgICAgICAgIFBvaW50ZXIgdG8NCj4gPiBFREtJSV9SRURGSVNIX0NSRURFTlRJQUxfUFJP VE9DT0wgaW5zdGFuY2UuDQo+ID4gKw0KPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgICAgIFNlcnZpY2UgaGFzIGJlZW4gc3RvcGVkDQo+ID4gc3VjY2Vzc2Z1bGx5Lg0KPiA+ICsg IEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgIFRoaXMgaXMgTlVMTC4NCj4gPiArICBA cmV0dmFsIE90aGVycyAgICAgICAgICAgICAgICAgICBTb21lIGVycm9yIGhhcHBlbmVkLg0KPiA+ ICsNCj4gPiArKiovDQo+ID4gK0VGSV9TVEFUVVMNCj4gPiArRUZJQVBJDQo+ID4gK1JlZGZpc2hD cmVkZW50aWFsU3RvcFNlcnZpY2UgKA0KPiA+ICsgIElOICAgICBFREtJSV9SRURGSVNIX0NSRURF TlRJQUxfUFJPVE9DT0wgICAgKlRoaXMsDQo+ID4gKyAgSU4gICAgIEVES0lJX1JFREZJU0hfQ1JF REVOVElBTF9TVE9QX1NFUlZJQ0VfVFlQRQ0KPiA+IFNlcnZpY2VTdG9wVHlwZQ0KPiA+ICsgICk7 DQo+ID4gKyNlbmRpZg0KPiA+IGRpZmYgLS1naXQgYS9SZWRmaXNoUGtnL1JlZGZpc2hDcmVkZW50 aWFsRHhlL1JlZGZpc2hDcmVkZW50aWFsRHhlLmluZg0KPiA+IGIvUmVkZmlzaFBrZy9SZWRmaXNo Q3JlZGVudGlhbER4ZS9SZWRmaXNoQ3JlZGVudGlhbER4ZS5pbmYNCj4gPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAuLjcwN2Q5YTA0ZDkNCj4gPiAtLS0gL2Rldi9u dWxsDQo+ID4gKysrIGIvUmVkZmlzaFBrZy9SZWRmaXNoQ3JlZGVudGlhbER4ZS9SZWRmaXNoQ3Jl ZGVudGlhbER4ZS5pbmYNCj4gPiBAQCAtMCwwICsxLDUxIEBADQo+ID4gKyMjIEBmaWxlDQo+ID4g KyMgIFJlZGZpc2hDcmVkZW50aWFsRHhlIGlzIHJlcXVpcmVkIHRvIHByb2R1Y2UgdGhlICMgIEVk a0lJDQo+ID4gK1JlZGZpc2hDcmVkZW50aWFsUHJvdG9jb2wgZm9yIHRoZSBjb25zdW1lciB0byBn ZXQgdGhlIFJlZGZpc2ggIw0KPiA+ICtjcmVkZW50aWFsIEluZm8gYW5kIHRvIHJlc3RyaWN0IFJl ZGZpc2ggYWNjZXNzIGZyb20gVUVGSSBzaWRlLg0KPiA+ICsjDQo+ID4gKyMgIChDKSBDb3B5cmln aHQgMjAyMCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUDxCUj4gIw0K PiA+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCAjICMjDQo+ ID4gKw0KPiA+ICtbRGVmaW5lc10NCj4gPiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAg ICAgPSAweDAwMDEwMDBiDQo+ID4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0g UmVkZmlzaENyZWRlbnRpYWxEeGUNCj4gPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAg ICAgPQ0KPiA+IDQ1OENFOTVBLTQ5NDItMDlBOS01RDIxLUE2QjE2RDVEQUQ3Rg0KPiA+ICsgIE1P RFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9EUklWRVINCj4gPiArICBWRVJTSU9O X1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjANCj4gPiArICBFTlRSWV9QT0lOVCAgICAgICAg ICAgICAgICAgICAgPQ0KPiA+IFJlZGZpc2hDcmVkZW50aWFsRHhlRHJpdmVyRW50cnlQb2ludA0K PiA+ICsNCj4gPiArIw0KPiA+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElB MzIgWDY0IEFSTSBBQVJDSDY0DQo+ID4gUklTQ1Y2NA0KPiA+ICsjDQo+ID4gKw0KPiA+ICtbU291 cmNlc10NCj4gPiArICBSZWRmaXNoQ3JlZGVudGlhbER4ZS5jDQo+ID4gKyAgUmVkZmlzaENyZWRl bnRpYWxEeGUuaA0KPiA+ICsNCj4gPiArW1BhY2thZ2VzXQ0KPiA+ICsgIE1kZVBrZy9NZGVQa2cu ZGVjDQo+ID4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gPiArICBSZWRmaXNo UGtnL1JlZGZpc2hQa2cuZGVjDQo+ID4gKw0KPiA+ICtbTGlicmFyeUNsYXNzZXNdDQo+ID4gKyAg QmFzZUxpYg0KPiA+ICsgIERlYnVnTGliDQo+ID4gKyAgUHJpbnRMaWINCj4gPiArICBSZWRmaXNo UGxhdGZvcm1DcmVkZW50aWFsTGliDQo+ID4gKyAgVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliDQo+ ID4gKyAgVWVmaURyaXZlckVudHJ5UG9pbnQNCj4gPiArICBVZWZpUnVudGltZVNlcnZpY2VzVGFi bGVMaWINCj4gPiArICBVZWZpTGliDQo+ID4gKw0KPiA+ICtbUHJvdG9jb2xzXQ0KPiA+ICsgIGdF ZGtJSVJlZGZpc2hDcmVkZW50aWFsUHJvdG9jb2xHdWlkICAgICAjIyBCWV9TVEFSVA0KPiA+ICsN Cj4gPiArDQo+ID4gK1tHdWlkc10NCj4gPiArICBnRWZpRW5kT2ZEeGVFdmVudEdyb3VwR3VpZCAg ICAgICAgICAgICAgIyMgQ09OU1VNRVMgIyMgRXZlbnQNCj4gPiArICBnRWZpRXZlbnRFeGl0Qm9v dFNlcnZpY2VzR3VpZCAgICAgICAgICAgIyMgQ09OU1VNRVMgIyMgRXZlbnQNCj4gPiArDQo+ID4g K1tEZXBleF0NCj4gPiArICBUUlVFDQo+ID4gZGlmZiAtLWdpdCBhL1JlZGZpc2hQa2cvUmVkZmlz aFBrZy5kZWMgYi9SZWRmaXNoUGtnL1JlZGZpc2hQa2cuZGVjDQo+ID4gaW5kZXggODYxZjZkZDBj OC4uZmM1NmI0ZmVmYiAxMDA2NDQNCj4gPiAtLS0gYS9SZWRmaXNoUGtnL1JlZGZpc2hQa2cuZGVj DQo+ID4gKysrIGIvUmVkZmlzaFBrZy9SZWRmaXNoUGtnLmRlYw0KPiA+IEBAIC0yMSw2ICsyMSwx MCBAQA0KPiA+ICAgICMgICBQbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYyBSZWRmaXNo IEhvc3QgSW50ZXJmYWNlLg0KPiA+DQo+ID4gUmVkZmlzaFBsYXRmb3JtSG9zdEludGVyZmFjZUxp YnxJbmNsdWRlL0xpYnJhcnkvUmVkZmlzaEhvc3RJbnRlcmZhY2VMaQ0KPiA+IFJlZGZpc2hQbGF0 Zm9ybUhvc3RJbnRlcmZhY2VMaWJ8Yi5oDQo+ID4NCj4gPiArICAjIyAgQGxpYnJhcnljbGFzcyBQ bGF0Zm9ybSBSZWRmaXNoIENyZWRlbnRpYWwgTGlicmFyeQ0KPiA+ICsgICMgICBQbGF0Zm9ybSBp bXBsZW1lbnRhdGlvbi1zcGVjaWZpYyBSZWRmaXNoIENyZWRlbnRpYWwgSW50ZXJmYWNlLg0KPiA+ ICsgIFJlZGZpc2hQbGF0Zm9ybUNyZWRlbnRpYWxMaWJ8SW5jbHVkZS9MaWJyYXJ5L1JlZGZpc2hD cmVkZW50aWFsTGliLmgNCj4gPiArDQo+ID4gIFtQcm90b2NvbHNdDQo+ID4gICAgIyMgSW5jbHVk ZS9Qcm90b2NvbC9SZWRmaXNoRGlzY292ZXIuaA0KPiA+ICAgIGdFZmlSZWRmaXNoRGlzY292ZXJQ cm90b2NvbEd1aWQgICAgICA9IHsgMHg1ZGIxMjUwOSwgMHg0NTUwLCAweDQzNDcsDQo+ID4geyAw eDk2LCAweGIzLCAweDczLCAweGMwLCAweGZmLCAweDZlLCAweDg2LCAweDlmIH19IGRpZmYgLS1n aXQNCj4gPiBhL1JlZGZpc2hQa2cvUmVkZmlzaFBrZy5kc2MgYi9SZWRmaXNoUGtnL1JlZGZpc2hQ a2cuZHNjIGluZGV4DQo+ID4gOTRlNzEyN2JjNi4uZjdkNWI5MDkxOCAxMDA2NDQNCj4gPiAtLS0g YS9SZWRmaXNoUGtnL1JlZGZpc2hQa2cuZHNjDQo+ID4gKysrIGIvUmVkZmlzaFBrZy9SZWRmaXNo UGtnLmRzYw0KPiA+IEBAIC0zMiw2ICszMiw3IEBADQo+ID4NCj4gPg0KPiBEZWJ1Z1ByaW50RXJy b3JMZXZlbExpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdQcmludEVycm9yTGV2ZWxMaWIvQmFz DQo+ID4gRGVidWdQcmludEVycm9yTGV2ZWxMaWJ8ZQ0KPiA+IERlYnVnUHJpbnRFcnJvckxldmVs TGliLmluZg0KPiA+ICAgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNkTGliTnVsbC9CYXNl UGNkTGliTnVsbC5pbmYNCj4gPg0KPiA+IFJlZGZpc2hQbGF0Zm9ybUhvc3RJbnRlcmZhY2VMaWJ8 UmVkZmlzaFBrZy9MaWJyYXJ5L1BsYXRmb3JtSG9zdEludGVyZmENCj4gPiBSZWRmaXNoUGxhdGZv cm1Ib3N0SW50ZXJmYWNlTGlifGNlTGkNCj4gPiBiTnVsbC9QbGF0Zm9ybUhvc3RJbnRlcmZhY2VM aWJOdWxsLmluZg0KPiA+ICsNCj4gPg0KPiBSZWRmaXNoUGxhdGZvcm1DcmVkZW50aWFsTGlifFJl ZGZpc2hQa2cvTGlicmFyeS9QbGF0Zm9ybUNyZWRlbnRpYWxMaWJOdWwNCj4gUmVkZmlzaFBsYXRm b3JtQ3JlZGVudGlhbExpYnxsL1ANCj4gPiBsYXRmb3JtQ3JlZGVudGlhbExpYk51bGwuaW5mDQo+ ID4NCj4gPiAgW0xpYnJhcnlDbGFzc2VzLkFSTSwgTGlicmFyeUNsYXNzZXMuQUFSQ0g2NF0NCj4g PiAgICAjDQo+ID4gQEAgLTQzLDUgKzQ0LDYgQEANCj4gPg0KPiA+ICBbQ29tcG9uZW50c10NCj4g Pg0KPiA+IFJlZGZpc2hQa2cvTGlicmFyeS9QbGF0Zm9ybUhvc3RJbnRlcmZhY2VMaWJOdWxsL1Bs YXRmb3JtSG9zdEludGVyZmFjZUwNCj4gPiBpYk51DQo+ID4gbGwuaW5mDQo+ID4gKw0KPiA+IFJl ZGZpc2hQa2cvTGlicmFyeS9QbGF0Zm9ybUNyZWRlbnRpYWxMaWJOdWxsL1BsYXRmb3JtQ3JlZGVu dGlhbExpYk51bGwNCj4gPiAuaW5mDQo+ID4NCj4gPiAgICAhaW5jbHVkZSBSZWRmaXNoUGtnL1Jl ZGZpc2guZHNjLmluYw0KPiA+IC0tDQo+ID4gMi4xNy4xDQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4g Pg0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KPiANCg0K