From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by mx.groups.io with SMTP id smtpd.web11.3713.1622172479420049497 for ; Thu, 27 May 2021 20:27:59 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=M7c2UHbm; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=07824dabab=abner.chang@hpe.com) Received: from pps.filterd (m0150244.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 14S3PRFd030139; Fri, 28 May 2021 03:27:53 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=Ut0Ltylc/VwG1478xT9nUA7m4/YSNz9E/d0qF/GAd1Q=; b=M7c2UHbmashhEmwbMopVcvotr1SXhTtraLXfVfdEwN3e9P5V9Ssdv6TjWWHK5/3YyRzL PVQvKtQHcecRR1HMwk6jmQnYnnuFPoDPJAV4NiCl10YBIBEfbIMUIfOFu0NnDNVZI1D8 aII7ZqJea0jVDASjMlJrV1gb4qiqTe6IaRtMslP6v1sVowg5bG+0ypfU30tcSBeC5+My Z75ZPb4y1Oolndb9uq+6m4vaNXqPS0IGFxVz08SiLbPxRAeu+jYNNmjEk2PgmGtKF88X 0rYl5NmVWirBNBGXRISezflfyHIXEZbSf8abUhyMAkfDl7Ug0a1vOAeebpB/6qPZtEyA Sw== Received: from g4t3425.houston.hpe.com (g4t3425.houston.hpe.com [15.241.140.78]) by mx0b-002e3701.pphosted.com with ESMTP id 38tm531w9h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 28 May 2021 03:27:53 +0000 Received: from G1W8106.americas.hpqcorp.net (g1w8106.austin.hp.com [16.193.72.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g4t3425.houston.hpe.com (Postfix) with ESMTPS id 97C6EF6; Fri, 28 May 2021 03:27:52 +0000 (UTC) Received: from G9W8673.americas.hpqcorp.net (16.220.49.32) by G1W8106.americas.hpqcorp.net (16.193.72.61) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 28 May 2021 03:27:52 +0000 Received: from G4W10204.americas.hpqcorp.net (2002:10cf:5210::10cf:5210) by G9W8673.americas.hpqcorp.net (2002:10dc:3120::10dc:3120) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 28 May 2021 03:27:52 +0000 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (15.241.52.11) by G4W10204.americas.hpqcorp.net (16.207.82.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 28 May 2021 03:27:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A2e0i78h+YRq2EhaVJdUG6LT+bQZdHehjkb9bO63VPmlcxExnjTOZId66JwCeJPQieyNlIJSrho6sQDjD2+myM6nCiIPoFywEkHLZpLfZTwc1v9tj95ESISu4Ch4IRY6/u9owsDIQA0zsNjq6suB0wwcl8rF0cCc+tazmEcAybdv+Vvop99XLSkgCP9ccSqgyNprEnJTbRSwkMVbTByg902KadXzc3ArKvqceQJWzO9FoE24SCHK6Nlpf0gCCkakE8U3jSU+9TJX1wfeNLfSlYeBDWfIPR/UFIN3ej7ckzACT7JDZOE0LOICLYu1MkF6IuUDf3jQgzU6BtOH+/fAsg== 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=1ItIQky8yyXtjz5GpBzhQmaSbBt4VUQLqTJTQ0Yvofs=; b=DsUP5xzTR7srMkt49uYmvz2lZdKo8rk0YXKOtDoerB9HtQh1rsrf6M+Sr2AGIQZ3rvrROXNJmfBnGTwZYU5b1fghFGtd/dKob5CAPqkNJZhDFvVKE72gi7MnpTnZrPFggCKLPFJOjnwngEFbkqJQxF1ABf2WOXKQPilX6NN12bbaz+xW804NCWBEnMIPP5Sa6aF4DNW2ZR9LrNJsjLkQxQ0w36XOznaj89nWXaeU71EHusgN15NWYWLsuA6BAKAPoSaGYM0Po6N8994BJkcyFkz+kklddgsxYNjyp0YN7VurNhxWoquZ9gOXdp7fuCJCGMhc1FWKiHa7LwdhpAlfjw== 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 AT5PR8401MB1137.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:742a::13) by AT5PR8401MB1010.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7427::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.22; Fri, 28 May 2021 03:27:49 +0000 Received: from AT5PR8401MB1137.NAMPRD84.PROD.OUTLOOK.COM ([fe80::9161:46ee:9267:de3f]) by AT5PR8401MB1137.NAMPRD84.PROD.OUTLOOK.COM ([fe80::9161:46ee:9267:de3f%8]) with mapi id 15.20.4173.021; Fri, 28 May 2021 03:27:49 +0000 From: "Abner Chang" To: "Schaefer, Daniel" , Sunil V L , "devel@edk2.groups.io" CC: "sunil.vl@gmail.com" , Heinrich Schuchardt , Bob Feng , Liming Gao , Yuwei Chen Subject: Re: [PATCH] Add support for RISCV GOT/PLT relocations Thread-Topic: [PATCH] Add support for RISCV GOT/PLT relocations Thread-Index: AQHXUwZk2OaIyoZ5sE+nEbnKT6vFZKr4O9AAgAAA7OA= Date: Fri, 28 May 2021 03:27:49 +0000 Message-ID: References: <20210527144113.206426-1-sunilvl@ventanamicro.com> <2523e9e3-3476-24b0-6ec9-1223f82f72ab@hpe.com> In-Reply-To: <2523e9e3-3476-24b0-6ec9-1223f82f72ab@hpe.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: hpe.com; dkim=none (message not signed) header.d=none;hpe.com; dmarc=none action=none header.from=hpe.com; x-originating-ip: [16.242.247.131] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 15ceee43-9af1-4ddf-a814-08d9218891fc x-ms-traffictypediagnostic: AT5PR8401MB1010: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:132; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KewXxy3aGkoKuX31PhfkQW3mxNDuwLOhHWtopfMG1b1O77QwfthifcH1DueOIiBqH/zWvaLxt9HM356kPdV3BDyPG+VbiTT8s6zOv+UdIZ1Vmro0JBB7AJC/OQUlwzuPpovspgvxFL9qcZreQtA2Nd7Tn5wfiDRgfNTG7U3DltvqkdiQ/o53/EVHFpeEc8J/OrbSzpBVCbKOQ2KKJaFNJ8SgkTcrxzeMEjylfdi2xUQYx8vLtZ+VF/bTtPu9p9xSF+HBRXGKttHvQIIg8R7/5WWVRBzn8YakqnFAgoY6jy6cS1gXWhvroXIO1SKUxjbLJJDSdlu+CjJgZS58icG27bQbMinnSMhrgR5iEqheHKLgG1Kpxyx8Sety2XurevTnBHR/LAhU5h38ygq8+E6fN8qgpYNlhLR786RUSKmkk6+hGxGcFS380Z6wIx8EYtrpmYH3BhtfxudRICOyO7WkRL37/4DyRrJgBUXD48Nsdz3sSvHmVMW6VpfpREsmSW+UzV0PIqJzJxidID5oDKVYrmzCArWE9I8MDJnP1b4IhtIJnXEZkwOc9hoY7cgiFYUTmehuHnHvo6RxEymSF+A9h3SixsroNKdAKAeTmYWWoTX71Z7HBBoj0JDryZftIgWvPCBlMudjRfkJRF+pjaZ5C8lIoTxL9RIG+6c0hqZJWkugi4POWtrvpI/rmxkve818DyQ2TVdGrrWADF1U9jVeuA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AT5PR8401MB1137.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(346002)(136003)(376002)(366004)(39860400002)(396003)(26005)(9686003)(19627235002)(83380400001)(186003)(33656002)(2906002)(55016002)(86362001)(122000001)(8936002)(38100700002)(4326008)(6506007)(53546011)(8676002)(7696005)(966005)(52536014)(71200400001)(64756008)(66556008)(66476007)(76116006)(66946007)(316002)(110136005)(66446008)(54906003)(478600001)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?cVNnYkZGS1hkYkNOT21FUU0zS0NNeXkwMEFKYXVDaHJFRG40Tkt2TnlDNEo5?= =?utf-8?B?OEdKSXhPd00xTHE4cnhMSVBjTk9LMnlmTlpaUEFrcmk1ek9WMEw3VHEzbG15?= =?utf-8?B?S0gwbWJvTFlNRFNBZ2tiNTVuREdZVEVoSms0TkdvU1IwMm5rVXRzWEZBelRz?= =?utf-8?B?Yll6ZVo5ZnhTNXI4My9MVmZ2RlJRTGdWNUFoNWtKQ1M1Tm5pN3BmRkhlZk45?= =?utf-8?B?QktBUG5jUnZ6R3NyVVNHc0FIaHlFRWJ5ZW5sOHFFNHhRSS8xSkV5NVI5WVVK?= =?utf-8?B?elVUZDJndVFYUWRDZVhuOHcyREZDcGZoUlR5a1JqaGlJam5TY3B6K21MQXlm?= =?utf-8?B?ZHc2M00xLzBJaGFmMGptMGE5UGtEb2VFak9LTEJqaXBYT1pYa3c4K3dSS1RG?= =?utf-8?B?ck01UkJlZHdSS3g4N1NVelVGL2tnSWppMG5sWnZEUCtrL0syMGExN1ZaTEIz?= =?utf-8?B?NmpEUW56UENFZVZabTRFZ25UUHJNN01sY09lZkJicTdVeWEzOXhRYit4U1dN?= =?utf-8?B?cEZkbmdoQ3pVMXNJam5LZHJEa0ZHWG1vRDdZWkJJMU1EMjJuWFFJbXZ6SVNF?= =?utf-8?B?d20vSFAwRnpJeG1SVzBmU0VTMzhOSUJ0UU9GTTRZV1VZZTJCcjJQekNmRTBE?= =?utf-8?B?K29tbFZjVHdOMEdWWEVDNFpDdklocWF2UXFMZlc0S3VHQ0EvSzE1c2N5UFpx?= =?utf-8?B?Qks2dFIycHY2TS9DOWZOQk5MRVo3S1pUZHdaR3NFZXg2RlVBbUtOd2QzeUlu?= =?utf-8?B?ZCtzbndOK1k3QVZXdFdndzJnQzd4Nko5NlVBWFVLOXpHSUE3MHpEejIxZFlq?= =?utf-8?B?RWdvOVlQNXM1NG9pVlZNb0lGNlFMUW5HSlFuNHROdkFYdTAvdzd2OWpSNkdZ?= =?utf-8?B?b1BpbXEwRTJSaEc4S2QydXJiVjhMV2ZRbFN5OGN5Z3IvTm1TSHZXVXFyYzVP?= =?utf-8?B?YVhNS2JhM1pSLzgvb1lRNWdSa2JKcm9kNHlDQ1NsQWE3U3VWT29XQTU4WFpT?= =?utf-8?B?OGxrdGxBRmlBckhjbi9LelV0MUlWL1dVQTNXVFJudnVuZE5ndXMzQWkxdlhu?= =?utf-8?B?UForYW42RC9CT3FYd3BJUU1aWFpzRlY3RlZVSUU3ci82VnpHVi92bnJNV05R?= =?utf-8?B?UXJmNlpVdEtOQ1VZMUQ5STcrMDM2M2ZKK0ViNDhkbUdUak5idGs0RU5JMHdZ?= =?utf-8?B?TmQ4SHNQMVArRVJseklwNUVVb2RDKzZScTBUQWtpY3JaRWJWTVdPUXQ3Y1E5?= =?utf-8?B?VzhvMG9aY0hNUU1jOHVJUVY5MEs4a3YweFlzRDlBNldpcWhXSFhxbHBZdzl0?= =?utf-8?B?aVh1WXBPMklGSGVzSy8zemhVMmlMQWF3ZHRoR1JSSGozb25kWGxySzV3Rkcw?= =?utf-8?B?cUJrMEd1VG5HcFZjb1oyTlgyV2RDY3AwL1E3anNHQXdaZWNxYnBkcThMVHpr?= =?utf-8?B?RUMvL3pKQXJvS3Z0aXExK2lxY2RVNEZLRVZyY1o2a3FQSDZWbnpZTjNCMHlk?= =?utf-8?B?QnBTajRqbVpCUVU2MStPY2tIOEJxY2pwQmk1Q2p4YTJIeVhFNWtQcWpPaFhm?= =?utf-8?B?MUtrMEpqRnNSOUdCZzNVdDd0Tm40Y0NNWFBvaGZpalZCamhjdGVOaWUwYkxC?= =?utf-8?B?Vks1NGJqRTJ1U25LR00zWVdzM1Q4QXQreHZoMnpXaXdsdTBpNDNVelI2ZFFU?= =?utf-8?B?dll4WVZqQkdpTEhkVXhaRUNXZTRyaDJZcnN2YTRVRVJkUm9PZ0twdHFjMWJL?= =?utf-8?Q?wPOodm1c6EA7ZYsW0O9VqE/Y68wFAbkSBK1zD0M?= X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AT5PR8401MB1137.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 15ceee43-9af1-4ddf-a814-08d9218891fc X-MS-Exchange-CrossTenant-originalarrivaltime: 28 May 2021 03:27:49.6819 (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: yzf+F04gXNDni0UNsBPEOZUJqJsKcEQMEIFOWrF+ys7bJYWqBNjPzeFaBg8ZRq8BmhS7Phw9fGB3HmFbNyM9ZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR8401MB1010 X-OriginatorOrg: hpe.com X-Proofpoint-GUID: KqTc8wQW6yGwjqgNWHTm_kU4wn-Z6y-R X-Proofpoint-ORIG-GUID: KqTc8wQW6yGwjqgNWHTm_kU4wn-Z6y-R 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.391,18.0.761 definitions=2021-05-28_02:2021-05-27,2021-05-28 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 suspectscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1011 mlxscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2105280019 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWNrZWQtYnk6IEFibmVyIENoYW5nIDxhYm5lci5jaGFuZ0BocGUuY29tPg0KDQo+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFNjaGFlZmVyLCBEYW5pZWwNCj4gU2VudDogRnJp ZGF5LCBNYXkgMjgsIDIwMjEgMTE6MjQgQU0NCj4gVG86IFN1bmlsIFYgTCA8c3VuaWx2bEB2ZW50 YW5hbWljcm8uY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IHN1bmlsLnZsQGdtYWls LmNvbTsgQ2hhbmcsIEFibmVyIChIUFMgU1cvRlcgVGVjaG5vbG9naXN0KQ0KPiA8YWJuZXIuY2hh bmdAaHBlLmNvbT47IEhlaW5yaWNoIFNjaHVjaGFyZHQgPHh5cHJvbi5nbHBrQGdteC5kZT47IEJv Yg0KPiBGZW5nIDxib2IuYy5mZW5nQGludGVsLmNvbT47IExpbWluZyBHYW8gPGdhb2xpbWluZ0Bi eW9zb2Z0LmNvbS5jbj47DQo+IFl1d2VpIENoZW4gPHl1d2VpLmNoZW5AaW50ZWwuY29tPg0KPiBT dWJqZWN0OiBSZTogW1BBVENIXSBBZGQgc3VwcG9ydCBmb3IgUklTQ1YgR09UL1BMVCByZWxvY2F0 aW9ucw0KPiANCj4gK01haW50YWluZXJzIGFuZCBSZXZpZXdlcnMgb2YgQmFzZVRvb2xzDQo+IA0K PiBTZWUgbXkgcmVwbHkgYmVsb3cuDQo+IA0KPiBPbiA1LzI3LzIxIDEwOjQxIFBNLCBTdW5pbCBW IEwgd3JvdGU6DQo+ID4gUmVmOg0KPiBJTlZBTElEIFVSSSBSRU1PVkVEDQo+IDA5Nl9fOyEhTnB4 UiEzdUtleDBYSHdzajJnZ2RXTVpGUHNvZU1YQ0RHUFJrcW1xcldkeE1IOWc4MVFIaUFRDQo+IHhj ZkV6SEtsaUcxb0FiTVlBJA0KPiA+DQo+ID4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIFJf UklTQ1ZfQ0FMTF9QTFQgYW5kIFJfUklTQ1ZfR09UX0hJMjANCj4gPiByZWxvY2F0aW9ucy4NCj4g Pg0KPiA+IFNpZ25lZC1vZmYtYnk6IFN1bmlsIFYgTCA8c3VuaWx2bEB2ZW50YW5hbWljcm8uY29t Pg0KPiA+IENjOiBBYm5lciBDaGFuZyA8YWJuZXIuY2hhbmdAaHBlLmNvbT4NCj4gPiBDYzogRGFu aWVsIFNjaGFlZmVyIDxkYW5pZWwuc2NoYWVmZXJAaHBlLmNvbT4NCj4gPiBDYzogSGVpbnJpY2gg U2NodWNoYXJkdCA8eHlwcm9uLmdscGtAZ214LmRlPg0KPiA+IC0tLQ0KPiA+ICAgQmFzZVRvb2xz L1NvdXJjZS9DL0dlbkZ3L0VsZjY0Q29udmVydC5jIHwgNDUgKysrKysrKysrKysrKysrKysrKysr LS0tDQo+IC0NCj4gPiAgIDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvQy9HZW5Gdy9F bGY2NENvbnZlcnQuYw0KPiBiL0Jhc2VUb29scy9Tb3VyY2UvQy9HZW5Gdy9FbGY2NENvbnZlcnQu Yw0KPiA+IGluZGV4IGQwOTdkYjg2MzIuLmQwNWRjZjk5OTIgMTAwNjQ0DQo+ID4gLS0tIGEvQmFz ZVRvb2xzL1NvdXJjZS9DL0dlbkZ3L0VsZjY0Q29udmVydC5jDQo+ID4gKysrIGIvQmFzZVRvb2xz L1NvdXJjZS9DL0dlbkZ3L0VsZjY0Q29udmVydC5jDQo+ID4gQEAgLTEyOSw2ICsxMjksOCBAQCBT VEFUSUMgVUlOVDMyIG1EZWJ1Z09mZnNldDsNCj4gPiAgIFNUQVRJQyBVSU5UOCAgICAgICAqbVJp c2NWUGFzczFUYXJnID0gTlVMTDsNCj4gPiAgIFNUQVRJQyBFbGZfU2hkciAgICAqbVJpc2NWUGFz czFTeW0gPSBOVUxMOw0KPiA+ICAgU1RBVElDIEVsZjY0X0hhbGYgIG1SaXNjVlBhc3MxU3ltU2Vj SW5kZXggPSAwOw0KPiA+ICtTVEFUSUMgSU5UMzIgICAgICAgbVJpc2NWUGFzczFPZmZzZXQ7DQo+ ID4gK1NUQVRJQyBJTlQzMiAgICAgICBtUmlzY1ZQYXNzMUdvdEZpeHVwOw0KPiA+DQo+ID4gICAv Lw0KPiA+ICAgLy8gSW5pdGlhbGl6YXRpb24gRnVuY3Rpb24NCj4gPiBAQCAtNDc5LDExICs0ODEs MTEgQEAgV3JpdGVTZWN0aW9uUmlzY1Y2NCAoDQo+ID4gICAgICAgYnJlYWs7DQo+ID4NCj4gPiAg ICAgY2FzZSBSX1JJU0NWXzMyOg0KPiA+IC0gICAgKihVSU5UMzIgKilUYXJnID0gKFVJTlQzMiko KFVJTlQ2NCkoKihVSU5UMzIgKilUYXJnKSAtIFN5bVNoZHItDQo+ID5zaF9hZGRyICsgbUNvZmZT ZWN0aW9uc09mZnNldFtTeW0tPnN0X3NobmR4XSk7DQo+ID4gKyAgICAqKFVJTlQ2NCAqKVRhcmcg PSBTeW0tPnN0X3ZhbHVlICsgUmVsLT5yX2FkZGVuZDsNCj4gPiAgICAgICBicmVhazsNCj4gPg0K PiA+ICAgICBjYXNlIFJfUklTQ1ZfNjQ6DQo+ID4gLSAgICAqKFVJTlQ2NCAqKVRhcmcgPSAqKFVJ TlQ2NCAqKVRhcmcgLSBTeW1TaGRyLT5zaF9hZGRyICsNCj4gbUNvZmZTZWN0aW9uc09mZnNldFtT eW0tPnN0X3NobmR4XTsNCj4gPiArICAgICooVUlOVDY0ICopVGFyZyA9IFN5bS0+c3RfdmFsdWUg KyBSZWwtPnJfYWRkZW5kOw0KPiA+ICAgICAgIGJyZWFrOw0KPiA+DQo+ID4gICAgIGNhc2UgUl9S SVNDVl9ISTIwOg0KPiA+IEBAIC01MzMsNiArNTM1LDE4IEBAIFdyaXRlU2VjdGlvblJpc2NWNjQg KA0KPiA+ICAgICAgIG1SaXNjVlBhc3MxU3ltU2VjSW5kZXggPSAwOw0KPiA+ICAgICAgIGJyZWFr Ow0KPiA+DQo+ID4gKyAgY2FzZSBSX1JJU0NWX0dPVF9ISTIwOg0KPiA+ICsgICAgVmFsdWUgPSAo U3ltLT5zdF92YWx1ZSAtIFJlbC0+cl9vZmZzZXQpOw0KPiA+ICsgICAgbVJpc2NWUGFzczFPZmZz ZXQgPSBSVl9YKFZhbHVlLCAwLCAxMik7DQo+ID4gKyAgICBWYWx1ZSA9IFJWX1goVmFsdWUsIDEy LCAyMCk7DQo+ID4gKyAgICAqKFVJTlQzMiAqKVRhcmcgPSAoVmFsdWUgPDwgMTIpIHwgKFJWX1go KihVSU5UMzIqKVRhcmcsIDAsIDEyKSk7DQo+ID4gKw0KPiA+ICsgICAgbVJpc2NWUGFzczFUYXJn ID0gVGFyZzsNCj4gPiArICAgIG1SaXNjVlBhc3MxU3ltID0gU3ltU2hkcjsNCj4gPiArICAgIG1S aXNjVlBhc3MxU3ltU2VjSW5kZXggPSBTeW0tPnN0X3NobmR4Ow0KPiA+ICsgICAgbVJpc2NWUGFz czFHb3RGaXh1cCA9IDE7DQo+ID4gKyAgICBicmVhazsNCj4gPiArDQo+ID4gICAgIGNhc2UgUl9S SVNDVl9QQ1JFTF9ISTIwOg0KPiA+ICAgICAgIG1SaXNjVlBhc3MxVGFyZyA9IFRhcmc7DQo+ID4g ICAgICAgbVJpc2NWUGFzczFTeW0gPSBTeW1TaGRyOw0KPiA+IEBAIC01NDUsMTEgKzU1OSwxNyBA QCBXcml0ZVNlY3Rpb25SaXNjVjY0ICgNCj4gPiAgICAgICBpZiAobVJpc2NWUGFzczFUYXJnICE9 IE5VTEwgJiYgbVJpc2NWUGFzczFTeW0gIT0gTlVMTCAmJg0KPiBtUmlzY1ZQYXNzMVN5bVNlY0lu ZGV4ICE9IDApIHsNCj4gPiAgICAgICAgIGludCBpOw0KPiA+ICAgICAgICAgVmFsdWUyID0gKFVJ TlQzMikoUlZfWCgqKFVJTlQzMiAqKW1SaXNjVlBhc3MxVGFyZywgMTIsIDIwKSk7DQo+ID4gLSAg ICAgIFZhbHVlID0gKFVJTlQzMikoUlZfWCgqKFVJTlQzMiAqKVRhcmcsIDIwLCAxMikpOw0KPiA+ IC0gICAgICBpZihWYWx1ZSAmIChSSVNDVl9JTU1fUkVBQ0gvMikpIHsNCj4gPiAtICAgICAgICBW YWx1ZSB8PSB+KFJJU0NWX0lNTV9SRUFDSC0xKTsNCj4gPiArDQo+ID4gKyAgICAgIGlmKG1SaXNj VlBhc3MxR290Rml4dXApIHsNCj4gPiArICAgICAgICBWYWx1ZSA9IChVSU5UMzIpKG1SaXNjVlBh c3MxT2Zmc2V0KTsNCj4gPiArICAgICAgfSBlbHNlIHsNCj4gPiArICAgICAgICBWYWx1ZSA9IChV SU5UMzIpKFJWX1goKihVSU5UMzIgKilUYXJnLCAyMCwgMTIpKTsNCj4gPiArICAgICAgICBpZihW YWx1ZSAmIChSSVNDVl9JTU1fUkVBQ0gvMikpIHsNCj4gPiArICAgICAgICAgIFZhbHVlIHw9IH4o UklTQ1ZfSU1NX1JFQUNILTEpOw0KPiA+ICsgICAgICAgIH0NCj4gPiAgICAgICAgIH0NCj4gPiAg ICAgICAgIFZhbHVlID0gVmFsdWUgLSAoVUlOVDMyKW1SaXNjVlBhc3MxU3ltLT5zaF9hZGRyICsN Cj4gbUNvZmZTZWN0aW9uc09mZnNldFttUmlzY1ZQYXNzMVN5bVNlY0luZGV4XTsNCj4gPiArDQo+ ID4gICAgICAgICBpZigtMjA0OCA+IChJTlQzMilWYWx1ZSkgew0KPiA+ICAgICAgICAgICBpID0g KCgoSU5UMzIpVmFsdWUgKiAtMSkgLyA0MDk2KTsNCj4gPiAgICAgICAgICAgVmFsdWUyIC09IGk7 DQo+ID4gQEAgLTU2OSwxMiArNTg5LDIyIEBAIFdyaXRlU2VjdGlvblJpc2NWNjQgKA0KPiA+ICAg ICAgICAgICB9DQo+ID4gICAgICAgICB9DQo+ID4NCj4gPiAtICAgICAgKihVSU5UMzIgKilUYXJn ID0gKFJWX1goVmFsdWUsIDAsIDEyKSA8PCAyMCkgfCAoUlZfWCgqKFVJTlQzMiopVGFyZywgMCwN Cj4gMjApKTsNCj4gPiArICAgICAgaWYobVJpc2NWUGFzczFHb3RGaXh1cCkgew0KPiA+ICsgICAg ICAgICooVUlOVDMyICopVGFyZyA9IChSVl9YKChVSU5UMzIpVmFsdWUsIDAsIDEyKSA8PCAyMCkN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKFJWX1goKihVSU5UMzIqKVRhcmcs IDAsIDIwKSk7DQo+ID4gKyAgICAgICAgLyogQ29udmVydCBMRCBpbnN0cnVjdGlvbiB0byBBRERJ ICovDQo+ID4gKyAgICAgICAgKihVSU5UMzIgKilUYXJnID0gKCgqKFVJTlQzMiAqKVRhcmcgJiB+ MHg3MDdmKSB8IDB4MTMpOw0KPiA+ICsgICAgICB9DQo+ID4gKyAgICAgIGVsc2Ugew0KPiANCj4g ZWxzZSBzaG91bGQgYmUgb24gdGhlIGxpbmUgYmVmb3JlLCBsaWtlIH0gZWxzZSB7DQo+IA0KPiA+ ICsgICAgICAgICooVUlOVDMyICopVGFyZyA9IChSVl9YKFZhbHVlLCAwLCAxMikgPDwgMjApIHwg KFJWX1goKihVSU5UMzIqKVRhcmcsIDAsDQo+IDIwKSk7DQo+ID4gKyAgICAgIH0NCj4gPiAgICAg ICAgICooVUlOVDMyICopbVJpc2NWUGFzczFUYXJnID0gKFJWX1goVmFsdWUyLCAwLCAyMCk8PDEy KSB8DQo+IChSVl9YKCooVUlOVDMyICopbVJpc2NWUGFzczFUYXJnLCAwLCAxMikpOw0KPiA+ICAg ICAgIH0NCj4gPiAgICAgICBtUmlzY1ZQYXNzMVN5bSA9IE5VTEw7DQo+ID4gICAgICAgbVJpc2NW UGFzczFUYXJnID0gTlVMTDsNCj4gPiAgICAgICBtUmlzY1ZQYXNzMVN5bVNlY0luZGV4ID0gMDsN Cj4gPiArICAgIG1SaXNjVlBhc3MxT2Zmc2V0ID0gMDsNCj4gPiArICAgIG1SaXNjVlBhc3MxR290 Rml4dXAgPSAwOw0KPiA+ICAgICAgIGJyZWFrOw0KPiA+DQo+ID4gICAgIGNhc2UgUl9SSVNDVl9B REQ2NDoNCj4gPiBAQCAtNTg2LDYgKzYxNiw3IEBAIFdyaXRlU2VjdGlvblJpc2NWNjQgKA0KPiA+ ICAgICBjYXNlIFJfUklTQ1ZfR1BSRUxfSToNCj4gPiAgICAgY2FzZSBSX1JJU0NWX0dQUkVMX1M6 DQo+ID4gICAgIGNhc2UgUl9SSVNDVl9DQUxMOg0KPiA+ICsgIGNhc2UgUl9SSVNDVl9DQUxMX1BM VDoNCj4gPiAgICAgY2FzZSBSX1JJU0NWX1JWQ19CUkFOQ0g6DQo+ID4gICAgIGNhc2UgUl9SSVND Vl9SVkNfSlVNUDoNCj4gPiAgICAgY2FzZSBSX1JJU0NWX1JFTEFYOg0KPiA+IEBAIC0xNTI4LDYg KzE1NTksNyBAQCBXcml0ZVJlbG9jYXRpb25zNjQgKA0KPiA+ICAgICAgICAgICAgICAgY2FzZSBS X1JJU0NWX0dQUkVMX0k6DQo+ID4gICAgICAgICAgICAgICBjYXNlIFJfUklTQ1ZfR1BSRUxfUzoN Cj4gPiAgICAgICAgICAgICAgIGNhc2UgUl9SSVNDVl9DQUxMOg0KPiA+ICsgICAgICAgICAgICBj YXNlIFJfUklTQ1ZfQ0FMTF9QTFQ6DQo+ID4gICAgICAgICAgICAgICBjYXNlIFJfUklTQ1ZfUlZD X0JSQU5DSDoNCj4gPiAgICAgICAgICAgICAgIGNhc2UgUl9SSVNDVl9SVkNfSlVNUDoNCj4gPiAg ICAgICAgICAgICAgIGNhc2UgUl9SSVNDVl9SRUxBWDoNCj4gPiBAQCAtMTUzNyw2ICsxNTY5LDcg QEAgV3JpdGVSZWxvY2F0aW9uczY0ICgNCj4gPiAgICAgICAgICAgICAgIGNhc2UgUl9SSVNDVl9T RVQxNjoNCj4gPiAgICAgICAgICAgICAgIGNhc2UgUl9SSVNDVl9TRVQzMjoNCj4gPiAgICAgICAg ICAgICAgIGNhc2UgUl9SSVNDVl9QQ1JFTF9ISTIwOg0KPiA+ICsgICAgICAgICAgICBjYXNlIFJf UklTQ1ZfR09UX0hJMjA6DQo+ID4gICAgICAgICAgICAgICBjYXNlIFJfUklTQ1ZfUENSRUxfTE8x Ml9JOg0KPiA+ICAgICAgICAgICAgICAgICBicmVhazsNCj4gPg0KPiA+DQo+IA0KPiBKdXN0IG9u ZSBtaW5vciBuaXQtcGljayBvbiB0aGUgZm9ybWF0dGluZy4NCj4gV2VsbCBpbiBteSBlbWFpbCBw cm9ncmFtIHRoZSBpbmRlbnRhdGlvbiBpcyBvZmYsIGl0IGxvb2tzIGZpbmUgb24gR2l0SHViDQo+ IHRob3VnaC4gUHJvYmFibHkgYW4gaXNzdWUgd2l0aCB0aGUgZGlzcGxheWluZyBvbiBteSBlbmQu DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS92bHN1bmlsL3Jpc2N2LQ0KPiBlZGsyL2NvbW1pdC9hNzQy ZmFiMGQ3M2FiNTY4YWEyZDI1NzhhNWNjZmM0MDBmZmQyZmE1DQo+IA0KPiBSZXZpZXdlZC1ieTog RGFuaWVsIFNjaGFlZmVyIDxkYW5pZWwuc2NoYWVmZXJAaHBlLmNvbT4NCj4gDQo+IFRlc3RlZCB3 aXRoIEdDQyA4LjMuMCBvbiBEZWJpYW4gQnVzdGVyLg0KPiBDYW4gYm9vdCAtbWFjaGluZSBzaWZp dmVfdSB0byBVRUZJIFNoZWxsIGFuZCAtbWFjaGluZSB2aXJ0IG9uIFFFTVUgdG8NCj4gTGludXgg c2hlbGwuDQo+IA0KPiBTdW5pbCB0ZXN0ZWQgdG8gY29tcGlsZSBvbiBHQ0MgMTAuMi4wIG9uIERl YmlhbiBCdXN0ZXIgLSBkb24ndCBrbm93IGlmDQo+IGhlIGJvb3RlZC4NCg==