From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web11.5221.1591337602954088295 for ; Thu, 04 Jun 2020 23:13:23 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=j/K+NoS+; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: eric.dong@intel.com) IronPort-SDR: wI9PKvKJTMzeLZKVEhlzaR/J6yQDyuv4R5CTCAyhNoqoLhPU07B6E8RJ2LH9HxPSUf5drK+Wqz ueljmli1+iUA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2020 23:13:21 -0700 IronPort-SDR: PBNpaSw50m5WXqnq4ihwN/5HcilJZuRNoJnrO5rD3U72q9wyOji7qAV/UN+K0v8Dp5hhq64lP0 sggEsGR8m16g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,475,1583222400"; d="scan'208";a="269660935" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga003.jf.intel.com with ESMTP; 04 Jun 2020 23:13:21 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 4 Jun 2020 23:13:21 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 4 Jun 2020 23:13:21 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.176) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 4 Jun 2020 23:13:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A1WI+y5hBNSp8D22GJH2Lqq18mYf3IRqrhuadKjIxXleTfJgYtvtXTDiE9ct6lHbXezOYnsRws2JoU82M9TwERsZoTCqdiCa9VkxEZFXCCz3k0uwxANgOIhFNVbXtm5VThspRFj4WoIhEfEy8qf1Jo1nqiVcJ5wrlHPQMurTDgYhUtLelDOyjYyyeXvSgKORKGuJjMV3i9mr5rM6rNxfvHz0fiWK3CmzBUmjRGAu2Yb/Fu5zZCrj9vrvDSelx8GUIiv6PiHpYGFGy5AN2lussofEZXFt82H2Gg8S2HR4N+vxdsRm1t04Dz+FCLQD9rA8pWzmQ1gtJ7kClHlIkctASQ== 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=r5uWuHVG3VfsLkRTnux5zqfzg2ree4NJizvS3aZupLg=; b=Kd6P9RqxkSjfm5ozjlrZjS0RaMaiJpd5/W1Y4YECd9AQCeccHY/oeomwG6xpRq2ERod6kSlfE30GQzHme/qkAlmNKdz+Evs1rNAHzGn7mmOrVDZXsImkmEUMBu/ZGIGHK8+WkQp40I02XV7/L4IryeLsqygazxP/FBtnISjERsb87RVix0HNrrCd1oTw8BBPobvkJHHWy24uKhFf8S/+36WsbaiAAjMdflH8SYmGdRayKySguB54itLgLyd/xXnxL86/v4ejegfEoxQTy3hbpUq1Tkg4b1WeYGlfiRH2yUK0JmqpIYp4yOPz36+0l468VB2QDoATMPqfkx4st3LZBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r5uWuHVG3VfsLkRTnux5zqfzg2ree4NJizvS3aZupLg=; b=j/K+NoS+Qv/y9qLQcUZ+arEXDOBenBEaRaMWZzslt76hkJfig3dwiw0JZx++3wuC6vNjKYAS7en997omvpYIgQo0mG8tKp1kTDyPELtyphizyq4KWXrbb2iyK1VMxvq2TcrUWisa89HrI6XtI6gSQzX4wphhvOl46XAEB/zSIWk= Received: from DM6PR11MB3274.namprd11.prod.outlook.com (2603:10b6:5:b::26) by DM6PR11MB2587.namprd11.prod.outlook.com (2603:10b6:5:c3::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18; Fri, 5 Jun 2020 06:13:19 +0000 Received: from DM6PR11MB3274.namprd11.prod.outlook.com ([fe80::cc01:6f05:1402:e7d7]) by DM6PR11MB3274.namprd11.prod.outlook.com ([fe80::cc01:6f05:1402:e7d7%6]) with mapi id 15.20.3066.018; Fri, 5 Jun 2020 06:13:19 +0000 From: "Dong, Eric" To: Tom Lendacky , "devel@edk2.groups.io" CC: "Justen, Jordan L" , Laszlo Ersek , Ard Biesheuvel , "Kinney, Michael D" , "Gao, Liming" , "Ni, Ray" , Brijesh Singh Subject: Re: [PATCH v8 42/46] UefiCpuPkg: Allow AP booting under SEV-ES Thread-Topic: [PATCH v8 42/46] UefiCpuPkg: Allow AP booting under SEV-ES Thread-Index: AQHWLifoCyLsunqt2E2d1R057j+uUajDL4OwgADSgICABaHZoA== Date: Fri, 5 Jun 2020 06:13:19 +0000 Message-ID: References: <9405aed8ea6894167ee83bb1a7c95049bec1dea0.1589925074.git.thomas.lendacky@amd.com> <220c9b8f-19ee-7aa9-f364-bae85c33e4fa@amd.com> In-Reply-To: <220c9b8f-19ee-7aa9-f364-bae85c33e4fa@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 01e6daf7-67ce-4bbe-b3f0-08d809178b0b x-ms-traffictypediagnostic: DM6PR11MB2587: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0425A67DEF x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Kqez41KtcqhCreKhIAanRYQtS+vofVMYhXGBzQokhREUvXu1AaJ8iqan349ELjhDgrqDHHKtn35X7WTnmkLkTUNtuRnCovkp1j/kqdVqO1ih9+XCcUDNjmxGuiw+FH08hc1eb9N43MWzLDvYEUXzic4nfAtlqyt3e+eIlwZTyu+qxsK50RL6UEUkdmevH6COx7twQ6dvVEvLn3zm4ph3zB4LRw2G9KqbkpYsMkakAkrjiwfR2mBcOWW4TrgabBxJA4+kryweZOnGveb27aMlaIhF5qjR6oWSqkQBChH2CTTdijvfnXHA+I0mpqQdIHeMMGhUhNYbcObxlUH6LGu88w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB3274.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(136003)(346002)(366004)(39860400002)(396003)(376002)(66946007)(76116006)(83380400001)(71200400001)(5660300002)(7696005)(8676002)(478600001)(33656002)(8936002)(52536014)(2906002)(30864003)(86362001)(186003)(316002)(26005)(66556008)(54906003)(64756008)(19627235002)(6506007)(55016002)(9686003)(110136005)(66446008)(66476007)(4326008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: /tDVwGHbPeHm3WfNlqWHL0oRRMjSxxEl1vhRwp9UbgzY0QcJhM0/rLapcPOz5vq66pwDZDJx8clKiuKjtQbcZgihSLMI1au3sEtbIIb+5OZ7QYediAGiL4qqvVxUh7vgfl/QL0dznnZd4zS5OEnVGZqlGCwPAUhhXLxVBC5Js4g4pRMwsG3X3cNKdjcWSma4nJmeSDBbtC7PiGIQ+cVUDE2PU6e510xZ50kmPdPyDvX5rK6/lmrlLU9+Yb3C6Y4Ql/6zBxdRt4TY9SpfVunPVLIIV22f8izxmzLF4I9OeaDFfpeWtR1mdpLSWSLdmgouxfUgrImPQy0TUimDQE/O/p07xc4V8n7e5Nz94fCg5EUqOrQG0wTCP7v2FAJonfS1AIeIJx6VkkgvkC6WH8E4z2u6qmwiN7ecP16iOszDNVQaqbiMDnHTJdYv3yTLFuuWozNgMzgj54RmYVaETo5M558joD04tHHUlTalQ3BhbRc= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 01e6daf7-67ce-4bbe-b3f0-08d809178b0b X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2020 06:13:19.3263 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1ysKlr/AsF/juMUfoPt6HxX1URB2Nz/znrEYzKuY0gFwl5jcaiABXijWHnZznR8GVy5QHt71caPZJ/tVhr5mlg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2587 Return-Path: eric.dong@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgVG9tLA0KDQo+ID4+ICsgICAgICAgIC8vDQo+ID4+ICsgICAgICAgIC8vIFByb2dyYW0gdGhl IFNlZ21lbnQvUmlwIGJhc2VkIG9uIHRoZSBTSVBJIHZlY3RvciAoYWx3YXlzIGF0DQo+IGxlYXN0 DQo+ID4+ICsgICAgICAgIC8vIDE2LWJ5dGUgYWxpZ25lZCwgc28gUmlwIGlzIHNldCB0byAwKS4N Cj4gPj4gKyAgICAgICAgLy8NCj4gPj4gKyAgICAgICAgSm1wRmFyLT5SaXAgPSAwOw0KPiA+PiAr ICAgICAgICBKbXBGYXItPlNlZ21lbnQgPSAoVUlOVDE2KSAoRXhjaGFuZ2VJbmZvLT5CdWZmZXJT dGFydCA+PiA0KTsNCj4gPj4gKyAgICAgIH0NCj4gPg0KPiA+IEZvciB0aGlzIHdha2UtdXAgcHJv Y2VzcywgY3VycmVudCBjb2RlIGp1c3QgaGFuZGxlcyB0aGUgYnJvYWRjYXN0IHR5cGUuIEkNCj4g dGhpbmsgaXQgYWxzbyBuZWVkcyB0byBoYW5kbGUgd2FrZS11cCBzcGVjaWZpYyBBUCBjYXNlLiBS aWdodD8NCj4gDQo+IFllcywgaXQgc2hvdWxkIGJlLiBJIG5ldmVyIGVuY291bnRlcmVkIGEgbm9u LWJyb2FkY2FzdCBjYWxsIHVuZGVyIE9WTUYsIGJ1dA0KPiBpdCBzaG91bGQgYmUgc3VwcG9ydGVk IGZvciBlcnJvciBjYXNlcywgZXRjLiBhbmQgZm9yIGFueSBmdXR1cmUgY2hhbmdlcyBpbg0KPiBz dXBwb3J0Lg0KPiANCj4gSSdsbCBhZGQgaXQgYW5kIG1ha2UgdGhlIGFib3ZlIGNvZGUgYSBmdW5j dGlvbiBzbyBhcyBub3QgdG8gZHVwbGljYXRlIGl0Lg0KPiANCg0KWWVzLCB0aGF0IHdpbGwgYmUg Z29vZC4NCg0KVGhhbmtzLA0KRXJpYw0KDQo+IFRoYW5rcywNCj4gVG9tDQo+IA0KPiA+DQo+ID4g VGhhbmtzLA0KPiA+IEVyaWMNCj4gPj4gICAgICAgIC8vDQo+ID4+ICAgICAgICAvLyBXYWtldXAg YWxsIEFQcw0KPiA+PiAgICAgICAgLy8NCj4gPj4gQEAgLTE2NjksNyArMTk1Niw3IEBAIE1wSW5p dExpYkluaXRpYWxpemUgKA0KPiA+PiAgICBBU1NFUlQgKE1heExvZ2ljYWxQcm9jZXNzb3JOdW1i ZXIgIT0gMCk7DQo+ID4+DQo+ID4+ICAgIEFzbUdldEFkZHJlc3NNYXAgKCZBZGRyZXNzTWFwKTsN Cj4gPj4gLSAgQXBSZXNldFZlY3RvclNpemUgPSBBZGRyZXNzTWFwLlJlbmRlenZvdXNGdW5uZWxT aXplICsgc2l6ZW9mDQo+ID4+IChNUF9DUFVfRVhDSEFOR0VfSU5GTyk7DQo+ID4+ICsgIEFwUmVz ZXRWZWN0b3JTaXplID0gR2V0QXBSZXNldFZlY3RvclNpemUgKCZBZGRyZXNzTWFwKTsNCj4gPj4g ICAgQXBTdGFja1NpemUgPSBQY2RHZXQzMihQY2RDcHVBcFN0YWNrU2l6ZSk7DQo+ID4+ICAgIEFw TG9vcE1vZGUgID0gR2V0QXBMb29wTW9kZSAoJk1vbml0b3JGaWx0ZXJTaXplKTsNCj4gPj4NCj4g Pj4gQEAgLTE3MjgsNiArMjAxNSw4IEBAIE1wSW5pdExpYkluaXRpYWxpemUgKA0KPiA+PiAgICBD cHVNcERhdGEtPkNwdUluZm9JbkhvYiAgICAgPSAoVUlOVDY0KSAoVUlOVE4pIChDcHVNcERhdGEt DQo+ID5DcHVEYXRhDQo+ID4+ICsgTWF4TG9naWNhbFByb2Nlc3Nvck51bWJlcik7DQo+ID4+ICAg IEluaXRpYWxpemVTcGluTG9jaygmQ3B1TXBEYXRhLT5NcExvY2spOw0KPiA+PiAgICBDcHVNcERh dGEtPlNldkVzSXNFbmFibGVkID0gUGNkR2V0Qm9vbCAoUGNkU2V2RXNJc0VuYWJsZWQpOw0KPiA+ PiArICBDcHVNcERhdGEtPlNldkVzQVBCdWZmZXIgID0gKFVJTlROKSAtMTsNCj4gPj4gKyAgQ3B1 TXBEYXRhLT5HaGNiQmFzZSAgICAgICA9IFBjZEdldDY0IChQY2RHaGNiQmFzZSk7DQo+ID4+DQo+ ID4+ICAgIC8vDQo+ID4+ICAgIC8vIE1ha2Ugc3VyZSBubyBtZW1vcnkgdXNhZ2Ugb3V0c2lkZSBv ZiB0aGUgYWxsb2NhdGVkIGJ1ZmZlci4NCj4gPj4gQEAgLTE3ODYsNiArMjA3NSw3IEBAIE1wSW5p dExpYkluaXRpYWxpemUgKA0KPiA+PiAgICAgIC8vIEFQcyBoYXZlIGJlZW4gd2FrZXVwIGJlZm9y ZSwganVzdCBnZXQgdGhlIENQVSBJbmZvcm1hdGlvbg0KPiA+PiAgICAgIC8vIGZyb20gSE9CDQo+ ID4+ICAgICAgLy8NCj4gPj4gKyAgICBPbGRDcHVNcERhdGEtPk5ld0NwdU1wRGF0YSA9IENwdU1w RGF0YTsNCj4gPj4gICAgICBDcHVNcERhdGEtPkNwdUNvdW50ICA9IE9sZENwdU1wRGF0YS0+Q3B1 Q291bnQ7DQo+ID4+ICAgICAgQ3B1TXBEYXRhLT5Cc3BOdW1iZXIgPSBPbGRDcHVNcERhdGEtPkJz cE51bWJlcjsNCj4gPj4gICAgICBDcHVNcERhdGEtPkNwdUluZm9JbkhvYiA9IE9sZENwdU1wRGF0 YS0+Q3B1SW5mb0luSG9iOyBkaWZmIC0tZ2l0DQo+ID4+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L01w SW5pdExpYi9QZWlNcExpYi5jDQo+ID4+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9Q ZWlNcExpYi5jDQo+ID4+IGluZGV4IGE1NDhmZWQyM2ZhNy4uZTE3YTM1MWU1Y2ZkIDEwMDY0NA0K PiA+PiAtLS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL1BlaU1wTGliLmMNCj4gPj4g KysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9QZWlNcExpYi5jDQo+ID4+IEBAIC0y ODAsNiArMjgwLDI1IEBAIEdldE1vZGVUcmFuc2l0aW9uQnVmZmVyICgNCj4gPj4gICAgcmV0dXJu IDA7DQo+ID4+ICB9DQo+ID4+DQo+ID4+ICsvKioNCj4gPj4gKyAgUmV0dXJuIHRoZSBhZGRyZXNz IG9mIHRoZSBTRVYtRVMgQVAganVtcCB0YWJsZS4NCj4gPj4gKw0KPiA+PiArICBUaGlzIGJ1ZmZl ciBpcyByZXF1aXJlZCBpbiBvcmRlciBmb3IgYW4gU0VWLUVTIGd1ZXN0IHRvIHRyYW5zaXRpb24N Cj4gPj4gKyBmcm9tICBVRUZJIGludG8gYW4gT1MuDQo+ID4+ICsNCj4gPj4gKyAgQHJldHZhbCBv dGhlciAgIFJldHVybiBTRVYtRVMgQVAganVtcCB0YWJsZSBidWZmZXINCj4gPj4gKyoqLw0KPiA+ PiArVUlOVE4NCj4gPj4gK0dldFNldkVzQVBNZW1vcnkgKA0KPiA+PiArICBWT0lEDQo+ID4+ICsg ICkNCj4gPj4gK3sNCj4gPj4gKyAgLy8NCj4gPj4gKyAgLy8gUEVJIHBoYXNlIGRvZXNuJ3QgbmVl ZCB0byBkbyBzdWNoIHRyYW5zaXRpb24uIFNvIHNpbXBseSByZXR1cm4gMC4NCj4gPj4gKyAgLy8N Cj4gPj4gKyAgcmV0dXJuIDA7DQo+ID4+ICt9DQo+ID4+ICsNCj4gPj4gIC8qKg0KPiA+PiAgICBD aGVja3MgQVBzIHN0YXR1cyBhbmQgdXBkYXRlcyBBUHMgc3RhdHVzIGlmIG5lZWRlZC4NCj4gPj4N Cj4gPj4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vWDY0L1NtbUZ1bmNz QXJjaC5jDQo+ID4+IGIvVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9YNjQvU21tRnVuY3NBcmNo LmMNCj4gPj4gaW5kZXggNjI5ODU3MWUyOWIyLi4yOGY4ZThlMTMzZTUgMTAwNjQ0DQo+ID4+IC0t LSBhL1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vWDY0L1NtbUZ1bmNzQXJjaC5jDQo+ID4+ICsr KyBiL1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vWDY0L1NtbUZ1bmNzQXJjaC5jDQo+ID4+IEBA IC0xMjEsNyArMTIxLDcgQEAgR2V0UHJvdGVjdGVkTW9kZUNTICgNCj4gPj4gICAgR2R0RW50cnkg PSAoSUEzMl9TRUdNRU5UX0RFU0NSSVBUT1IgKikgR2R0ckRlc2MuQmFzZTsNCj4gPj4gICAgZm9y IChJbmRleCA9IDA7IEluZGV4IDwgR2R0RW50cnlDb3VudDsgSW5kZXgrKykgew0KPiA+PiAgICAg IGlmIChHZHRFbnRyeS0+Qml0cy5MID09IDApIHsNCj4gPj4gLSAgICAgIGlmIChHZHRFbnRyeS0+ Qml0cy5UeXBlID4gOCAmJiBHZHRFbnRyeS0+Qml0cy5MID09IDApIHsNCj4gPj4gKyAgICAgIGlm IChHZHRFbnRyeS0+Qml0cy5UeXBlID4gOCAmJiBHZHRFbnRyeS0+Qml0cy5EQiA9PSAxKSB7DQo+ ID4+ICAgICAgICAgIGJyZWFrOw0KPiA+PiAgICAgICAgfQ0KPiA+PiAgICAgIH0NCj4gPj4gZGlm ZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvSWEzMi9NcEVxdS5pbmMNCj4g Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0lhMzIvTXBFcXUuaW5jDQo+ID4+IGlu ZGV4IGVmYjFiYzJiZjdjYi4uNGY1YTdjODU5YTU2IDEwMDY0NA0KPiA+PiAtLS0gYS9VZWZpQ3B1 UGtnL0xpYnJhcnkvTXBJbml0TGliL0lhMzIvTXBFcXUuaW5jDQo+ID4+ICsrKyBiL1VlZmlDcHVQ a2cvTGlicmFyeS9NcEluaXRMaWIvSWEzMi9NcEVxdS5pbmMNCj4gPj4gQEAgLTE5LDcgKzE5LDcg QEAgQ1BVX1NXSVRDSF9TVEFURV9JRExFICAgICAgICAgZXF1ICAgICAgICAwDQo+ID4+ICBDUFVf U1dJVENIX1NUQVRFX1NUT1JFRCAgICAgICBlcXUgICAgICAgIDENCj4gPj4gIENQVV9TV0lUQ0hf U1RBVEVfTE9BREVEICAgICAgIGVxdSAgICAgICAgMg0KPiA+Pg0KPiA+PiAtTG9ja0xvY2F0aW9u ICAgICAgICAgICAgICAgICAgZXF1ICAgICAgICAoUmVuZGV6dm91c0Z1bm5lbFByb2NFbmQgLQ0K PiA+PiBSZW5kZXp2b3VzRnVubmVsUHJvY1N0YXJ0KQ0KPiA+PiArTG9ja0xvY2F0aW9uICAgICAg ICAgICAgICAgICAgZXF1ICAgICAgICAoU3dpdGNoVG9SZWFsUHJvY0VuZCAtDQo+ID4+IFJlbmRl enZvdXNGdW5uZWxQcm9jU3RhcnQpDQo+ID4+ICBTdGFja1N0YXJ0QWRkcmVzc0xvY2F0aW9uICAg ICBlcXUgICAgICAgIExvY2tMb2NhdGlvbiArIDA0aA0KPiA+PiAgU3RhY2tTaXplTG9jYXRpb24g ICAgICAgICAgICAgZXF1ICAgICAgICBMb2NrTG9jYXRpb24gKyAwOGgNCj4gPj4gIEFwUHJvY2Vk dXJlTG9jYXRpb24gICAgICAgICAgIGVxdSAgICAgICAgTG9ja0xvY2F0aW9uICsgMENoDQo+ID4+ IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0lhMzIvTXBGdW5jcy5u YXNtDQo+ID4+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9JYTMyL01wRnVuY3MubmFz bQ0KPiA+PiBpbmRleCBiNzQwNDZiNzZhZjMuLjMwOWQ1M2JmM2IzNyAxMDA2NDQNCj4gPj4gLS0t IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9JYTMyL01wRnVuY3MubmFzbQ0KPiA+PiAr KysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0lhMzIvTXBGdW5jcy5uYXNtDQo+ID4+ IEBAIC0yMTUsNiArMjE1LDE2IEBAIENQcm9jZWR1cmVJbnZva2U6DQo+ID4+ICAgICAgam1wICAg ICAgICAkICAgICAgICAgICAgICAgICA7IE5ldmVyIHJlYWNoIGhlcmUNCj4gPj4gIFJlbmRlenZv dXNGdW5uZWxQcm9jRW5kOg0KPiA+Pg0KPiA+PiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPj4gKy0tLQ0KPiA+ PiArLS0tLS0tLS0tLS0tLS0tDQo+ID4+ICs7U3dpdGNoVG9SZWFsUHJvYyBwcm9jZWR1cmUgZm9s bG93cy4NCj4gPj4gKztOT1QgVVNFRCBJTiAzMiBCSVQgTU9ERS4NCj4gPj4gKzstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQo+ID4+ICstLS0NCj4gPj4gKy0tLS0tLS0tLS0tLS0tLQ0KPiA+PiArZ2xvYmFsIEFTTV9QRlgo U3dpdGNoVG9SZWFsUHJvYykNCj4gPj4gK0FTTV9QRlgoU3dpdGNoVG9SZWFsUHJvYyk6DQo+ID4+ ICtTd2l0Y2hUb1JlYWxQcm9jU3RhcnQ6DQo+ID4+ICsgICAgam1wICAgICAgICAkICAgICAgICAg ICAgICAgICA7IE5ldmVyIHJlYWNoIGhlcmUNCj4gPj4gK1N3aXRjaFRvUmVhbFByb2NFbmQ6DQo+ ID4+ICsNCj4gPj4NCj4gPj4gOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4+IC0tLS0tLS0tLS0tLS0tLS0tICA7 ICBBc21SZWxvY2F0ZUFwTG9vcCAoTXdhaXRTdXBwb3J0LA0KPiA+PiBBcFRhcmdldENTdGF0ZSwg UG1Db2RlU2VnbWVudCwgVG9wT2ZBcFN0YWNrLCBDb3VudFRvZmluaXNoKTsNCj4gPj4NCj4gPj4g Oy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ID4+IC0tLS0tLS0tLS0tLS0tLS0tIEBAIC0yNjMsNiArMjczLDExIEBA IEFTTV9QRlgoQXNtR2V0QWRkcmVzc01hcCk6DQo+ID4+ICAgICAgbW92ICAgICAgICBkd29yZCBb ZWJ4ICsgMENoXSwgQXNtUmVsb2NhdGVBcExvb3BTdGFydA0KPiA+PiAgICAgIG1vdiAgICAgICAg ZHdvcmQgW2VieCArIDEwaF0sIEFzbVJlbG9jYXRlQXBMb29wRW5kIC0NCj4gPj4gQXNtUmVsb2Nh dGVBcExvb3BTdGFydA0KPiA+PiAgICAgIG1vdiAgICAgICAgZHdvcmQgW2VieCArIDE0aF0sIEZs YXQzMlN0YXJ0IC0gUmVuZGV6dm91c0Z1bm5lbFByb2NTdGFydA0KPiA+PiArICAgIG1vdiAgICAg ICAgZHdvcmQgW2VieCArIDE4aF0sIFN3aXRjaFRvUmVhbFByb2NFbmQgLQ0KPiA+PiBTd2l0Y2hU b1JlYWxQcm9jU3RhcnQgICAgICAgOyBTd2l0Y2hUb1JlYWxTaXplDQo+ID4+ICsgICAgbW92ICAg ICAgICBkd29yZCBbZWJ4ICsgMUNoXSwgU3dpdGNoVG9SZWFsUHJvY1N0YXJ0IC0NCj4gPj4gUmVu ZGV6dm91c0Z1bm5lbFByb2NTdGFydCA7IFN3aXRjaFRvUmVhbE9mZnNldA0KPiA+PiArICAgIG1v diAgICAgICAgZHdvcmQgW2VieCArIDIwaF0sIFN3aXRjaFRvUmVhbFByb2NTdGFydCAtIEZsYXQz MlN0YXJ0ICAgICAgICAgICAgICAgOw0KPiA+PiBTd2l0Y2hUb1JlYWxOb054T2Zmc2V0DQo+ID4+ ICsgICAgbW92ICAgICAgICBkd29yZCBbZWJ4ICsgMjRoXSwgMCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7DQo+ID4+IFN3aXRjaFRvUmVhbFBNMTZNb2Rl T2Zmc2V0DQo+ID4+ICsgICAgbW92ICAgICAgICBkd29yZCBbZWJ4ICsgMjhoXSwgMCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7DQo+ID4+IFN3aXRjaFRv UmVhbFBNMTZNb2RlU2l6ZQ0KPiA+Pg0KPiA+PiAgICAgIHBvcGFkDQo+ID4+ICAgICAgcmV0DQo+ ID4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL1g2NC9NcEVxdS5p bmMNCj4gPj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL1g2NC9NcEVxdS5pbmMNCj4g Pj4gaW5kZXggNThlZjM2OTM0MmE3Li5jOTJkYWFhZmZkNmIgMTAwNjQ0DQo+ID4+IC0tLSBhL1Vl ZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvWDY0L01wRXF1LmluYw0KPiA+PiArKysgYi9VZWZp Q3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL1g2NC9NcEVxdS5pbmMNCj4gPj4gQEAgLTE5LDcgKzE5 LDcgQEAgQ1BVX1NXSVRDSF9TVEFURV9JRExFICAgICAgICAgZXF1ICAgICAgICAwDQo+ID4+ICBD UFVfU1dJVENIX1NUQVRFX1NUT1JFRCAgICAgICBlcXUgICAgICAgIDENCj4gPj4gIENQVV9TV0lU Q0hfU1RBVEVfTE9BREVEICAgICAgIGVxdSAgICAgICAgMg0KPiA+Pg0KPiA+PiAtTG9ja0xvY2F0 aW9uICAgICAgICAgICAgICAgICAgZXF1ICAgICAgICAoUmVuZGV6dm91c0Z1bm5lbFByb2NFbmQg LQ0KPiA+PiBSZW5kZXp2b3VzRnVubmVsUHJvY1N0YXJ0KQ0KPiA+PiArTG9ja0xvY2F0aW9uICAg ICAgICAgICAgICAgICAgZXF1ICAgICAgICAoU3dpdGNoVG9SZWFsUHJvY0VuZCAtDQo+ID4+IFJl bmRlenZvdXNGdW5uZWxQcm9jU3RhcnQpDQo+ID4+ICBTdGFja1N0YXJ0QWRkcmVzc0xvY2F0aW9u ICAgICBlcXUgICAgICAgIExvY2tMb2NhdGlvbiArIDA4aA0KPiA+PiAgU3RhY2tTaXplTG9jYXRp b24gICAgICAgICAgICAgZXF1ICAgICAgICBMb2NrTG9jYXRpb24gKyAxMGgNCj4gPj4gIEFwUHJv Y2VkdXJlTG9jYXRpb24gICAgICAgICAgIGVxdSAgICAgICAgTG9ja0xvY2F0aW9uICsgMThoDQo+ ID4+IEBAIC00MSwzICs0MSw1IEBAIE1vZGVUcmFuc2l0aW9uU2VnbWVudExvY2F0aW9uICAgICAg IGVxdQ0KPiBMb2NrTG9jYXRpb24gKw0KPiA+PiA5OGgNCj4gPj4gIE1vZGVIaWdoTWVtb3J5TG9j YXRpb24gICAgICAgICAgICAgIGVxdSAgTG9ja0xvY2F0aW9uICsgOUFoDQo+ID4+ICBNb2RlSGln aFNlZ21lbnRMb2NhdGlvbiAgICAgICAgICAgICBlcXUgIExvY2tMb2NhdGlvbiArIDlFaA0KPiA+ PiAgRW5hYmxlNUxldmVsUGFnaW5nTG9jYXRpb24gICAgICAgICAgZXF1ICBMb2NrTG9jYXRpb24g KyAwQTBoDQo+ID4+ICtTZXZFc0lzRW5hYmxlZExvY2F0aW9uICAgICAgICAgICAgICBlcXUgIExv Y2tMb2NhdGlvbiArIDBBMWgNCj4gPj4gK0doY2JCYXNlTG9jYXRpb24gICAgICAgICAgICAgICAg ICAgIGVxdSAgTG9ja0xvY2F0aW9uICsgMEEyaA0KPiA+PiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBr Zy9MaWJyYXJ5L01wSW5pdExpYi9YNjQvTXBGdW5jcy5uYXNtDQo+ID4+IGIvVWVmaUNwdVBrZy9M aWJyYXJ5L01wSW5pdExpYi9YNjQvTXBGdW5jcy5uYXNtDQo+ID4+IGluZGV4IDg3ZjI1MjNlODU2 Zi4uNjk1NmI0MDhkMDA0IDEwMDY0NA0KPiA+PiAtLS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJ bml0TGliL1g2NC9NcEZ1bmNzLm5hc20NCj4gPj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L01w SW5pdExpYi9YNjQvTXBGdW5jcy5uYXNtDQo+ID4+IEBAIC0xODQsOSArMTg0LDk3IEBAIFJlbGVh c2Vsb2NrOg0KPiA+PiAgICAgIGFkZCAgICAgICAgZWRpLCBTdGFja1N0YXJ0QWRkcmVzc0xvY2F0 aW9uDQo+ID4+ICAgICAgYWRkICAgICAgICByYXgsIHF3b3JkIFtlZGldDQo+ID4+ICAgICAgbW92 ICAgICAgICByc3AsIHJheA0KPiA+PiArDQo+ID4+ICsgICAgbGVhICAgICAgICBlZGksIFtlc2kg KyBTZXZFc0lzRW5hYmxlZExvY2F0aW9uXQ0KPiA+PiArICAgIGNtcCAgICAgICAgYnl0ZSBbZWRp XSwgMSAgICAgICAgOyBTZXZFc0lzRW5hYmxlZA0KPiA+PiArICAgIGpuZSAgICAgICAgQ1Byb2Nl ZHVyZUludm9rZQ0KPiA+PiArDQo+ID4+ICsgICAgOw0KPiA+PiArICAgIDsgcHJvZ3JhbSBHSENC DQo+ID4+ICsgICAgOyAgIEVhY2ggcGFnZSBhZnRlciB0aGUgR0hDQiBpcyBhIHBlci1DUFUgcGFn ZSwgc28gdGhlIGNhbGN1bGF0aW9uDQo+ID4+IHByb2dyYW1zDQo+ID4+ICsgICAgOyAgIGEgR0hD QiB0byBiZSBldmVyeSA4S0IuDQo+ID4+ICsgICAgOw0KPiA+PiArICAgIG1vdiAgICAgICAgZWF4 LCBTSVpFXzRLQg0KPiA+PiArICAgIHNobCAgICAgICAgZWF4LCAxICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDsgRUFYID0gU0laRV80SyAqIDINCj4gPj4gKyAgICBtb3YgICAgICAgIGVjeCwg ZWJ4DQo+ID4+ICsgICAgbXVsICAgICAgICBlY3ggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOyBFQVggPSBTSVpFXzRLICogMiAqIENwdU51bWJlcg0KPiA+PiArICAgIG1vdiAgICAgICAg ZWRpLCBlc2kNCj4gPj4gKyAgICBhZGQgICAgICAgIGVkaSwgR2hjYkJhc2VMb2NhdGlvbg0KPiA+ PiArICAgIGFkZCAgICAgICAgcmF4LCBxd29yZCBbZWRpXQ0KPiA+PiArICAgIG1vdiAgICAgICAg cmR4LCByYXgNCj4gPj4gKyAgICBzaHIgICAgICAgIHJkeCwgMzINCj4gPj4gKyAgICBtb3YgICAg ICAgIHJjeCwgMHhjMDAxMDEzMA0KPiA+PiArICAgIHdybXNyDQo+ID4+ICAgICAgam1wICAgICAg ICBDUHJvY2VkdXJlSW52b2tlDQo+ID4+DQo+ID4+ICBHZXRBcGljSWQ6DQo+ID4+ICsgICAgbGVh ICAgICAgICBlZGksIFtlc2kgKyBTZXZFc0lzRW5hYmxlZExvY2F0aW9uXQ0KPiA+PiArICAgIGNt cCAgICAgICAgYnl0ZSBbZWRpXSwgMSAgICAgICAgOyBTZXZFc0lzRW5hYmxlZA0KPiA+PiArICAg IGpuZSAgICAgICAgRG9DcHVpZA0KPiA+PiArDQo+ID4+ICsgICAgOw0KPiA+PiArICAgIDsgU2lu Y2Ugd2UgZG9uJ3QgaGF2ZSBhIHN0YWNrIHlldCwgd2UgY2FuJ3QgdGFrZSBhICNWQw0KPiA+PiAr ICAgIDsgZXhjZXB0aW9uLiBVc2UgdGhlIEdIQ0IgcHJvdG9jb2wgdG8gcGVyZm9ybSB0aGUgQ1BV SUQNCj4gPj4gKyAgICA7IGNhbGxzLg0KPiA+PiArICAgIDsNCj4gPj4gKyAgICBtb3YgICAgICAg IHJjeCwgMHhjMDAxMDEzMA0KPiA+PiArICAgIHJkbXNyDQo+ID4+ICsgICAgc2hsICAgICAgICBy ZHgsIDMyDQo+ID4+ICsgICAgb3IgICAgICAgICByYXgsIHJkeA0KPiA+PiArICAgIG1vdiAgICAg ICAgcmRpLCByYXggICAgICAgICAgICAgOyBSREkgbm93IGhvbGRzIHRoZSBvcmlnaW5hbCBHSENC IEdQQQ0KPiA+PiArDQo+ID4+ICsgICAgbW92ICAgICAgICByZHgsIDAgICAgICAgICAgICAgICA7 IENQVUlEIGZ1bmN0aW9uIDANCj4gPj4gKyAgICBtb3YgICAgICAgIHJheCwgMCAgICAgICAgICAg ICAgIDsgUkFYIHJlZ2lzdGVyIHJlcXVlc3RlZA0KPiA+PiArICAgIG9yICAgICAgICAgcmF4LCA0 DQo+ID4+ICsgICAgd3Jtc3INCj4gPj4gKyAgICByZXAgdm1tY2FsbA0KPiA+PiArICAgIHJkbXNy DQo+ID4+ICsgICAgY21wICAgICAgICBlZHgsIDBiaA0KPiA+PiArICAgIGpiICAgICAgICAgTm9Y MkFwaWNTZXZFcyAgICAgICAgOyBDUFVJRCBsZXZlbCBiZWxvdw0KPiA+PiBDUFVJRF9FWFRFTkRF RF9UT1BPTE9HWQ0KPiA+PiArDQo+ID4+ICsgICAgbW92ICAgICAgICByZHgsIDBiaCAgICAgICAg ICAgICA7IENQVUlEIGZ1bmN0aW9uIDB4MGINCj4gPj4gKyAgICBtb3YgICAgICAgIHJheCwgMDQw MDAwMDAwaCAgICAgIDsgUkJYIHJlZ2lzdGVyIHJlcXVlc3RlZA0KPiA+PiArICAgIG9yICAgICAg ICAgcmF4LCA0DQo+ID4+ICsgICAgd3Jtc3INCj4gPj4gKyAgICByZXAgdm1tY2FsbA0KPiA+PiAr ICAgIHJkbXNyDQo+ID4+ICsgICAgdGVzdCAgICAgICBlZHgsIDBmZmZmaA0KPiA+PiArICAgIGp6 ICAgICAgICAgTm9YMkFwaWNTZXZFcyAgICAgICAgOyBDUFVJRC4wQkg6RUJYWzE1OjBdIGlzIHpl cm8NCj4gPj4gKw0KPiA+PiArICAgIG1vdiAgICAgICAgcmR4LCAwYmggICAgICAgICAgICAgOyBD UFVJRCBmdW5jdGlvbiAweDBiDQo+ID4+ICsgICAgbW92ICAgICAgICByYXgsIDBjMDAwMDAwMGgg ICAgICA7IFJEWCByZWdpc3RlciByZXF1ZXN0ZWQNCj4gPj4gKyAgICBvciAgICAgICAgIHJheCwg NA0KPiA+PiArICAgIHdybXNyDQo+ID4+ICsgICAgcmVwIHZtbWNhbGwNCj4gPj4gKyAgICByZG1z cg0KPiA+PiArDQo+ID4+ICsgICAgOyBQcm9jZXNzb3IgaXMgeDJBUElDIGNhcGFibGU7IDMyLWJp dCB4MkFQSUMgSUQgaXMgbm93IGluIEVEWA0KPiA+PiArICAgIGptcCAgICAgICAgUmVzdG9yZUdo Y2INCj4gPj4gKw0KPiA+PiArTm9YMkFwaWNTZXZFczoNCj4gPj4gKyAgICA7IFByb2Nlc3NvciBp cyBub3QgeDJBUElDIGNhcGFibGUsIHNvIGdldCA4LWJpdCBBUElDIElEDQo+ID4+ICsgICAgbW92 ICAgICAgICByZHgsIDEgICAgICAgICAgICAgICA7IENQVUlEIGZ1bmN0aW9uIDENCj4gPj4gKyAg ICBtb3YgICAgICAgIHJheCwgMDQwMDAwMDAwaCAgICAgIDsgUkJYIHJlZ2lzdGVyIHJlcXVlc3Rl ZA0KPiA+PiArICAgIG9yICAgICAgICAgcmF4LCA0DQo+ID4+ICsgICAgd3Jtc3INCj4gPj4gKyAg ICByZXAgdm1tY2FsbA0KPiA+PiArICAgIHJkbXNyDQo+ID4+ICsgICAgc2hyICAgICAgICBlZHgs IDI0DQo+ID4+ICsNCj4gPj4gK1Jlc3RvcmVHaGNiOg0KPiA+PiArICAgIG1vdiAgICAgICAgcmJ4 LCByZHggICAgICAgICAgICAgOyBTYXZlIHgyQVBJQy9BUElDIElEDQo+ID4+ICsNCj4gPj4gKyAg ICBtb3YgICAgICAgIHJkeCwgcmRpICAgICAgICAgICAgIDsgUkRJIGhvbGRzIHRoZSBzYXZlZCBH SENCIEdQQQ0KPiA+PiArICAgIHNociAgICAgICAgcmR4LCAzMg0KPiA+PiArICAgIG1vdiAgICAg ICAgZWF4LCBlZGkNCj4gPj4gKyAgICB3cm1zcg0KPiA+PiArDQo+ID4+ICsgICAgbW92ICAgICAg ICByZHgsIHJieA0KPiA+PiArDQo+ID4+ICsgICAgOyB4MkFQSUMgSUQgb3IgQVBJQyBJRCBpcyBp biBFRFgNCj4gPj4gKyAgICBqbXAgICAgICAgIEdldFByb2Nlc3Nvck51bWJlcg0KPiA+PiArDQo+ ID4+ICtEb0NwdWlkOg0KPiA+PiAgICAgIG1vdiAgICAgICAgZWF4LCAwDQo+ID4+ICAgICAgY3B1 aWQNCj4gPj4gICAgICBjbXAgICAgICAgIGVheCwgMGJoDQo+ID4+IEBAIC0yNTMsMTIgKzM0MSwx NTggQEAgQ1Byb2NlZHVyZUludm9rZToNCj4gPj4NCj4gPj4gIFJlbmRlenZvdXNGdW5uZWxQcm9j RW5kOg0KPiA+Pg0KPiA+PiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPj4gKy0tLQ0KPiA+PiArLS0tLS0tLS0t LS0tLS0tDQo+ID4+ICs7U3dpdGNoVG9SZWFsUHJvYyBwcm9jZWR1cmUgZm9sbG93cy4NCj4gPj4g KztBTFNPIFRISVMgUFJPQ0VEVVJFIElTIEVYRUNVVEVEIEJZIEFQcyBUUkFOU0lUSU9OSU5HIFRP IDE2IEJJVA0KPiA+PiBNT0RFLg0KPiA+PiArSEVOQ0UgVEhJUyBQUk9DIDtJUyBJTiBNQUNISU5F IENPREUuDQo+ID4+ICs7ICBTd2l0Y2hUb1JlYWxQcm9jIChVSU5UTiBCdWZmZXJTdGFydCwgVUlO VDE2IENvZGUxNiwgVUlOVDE2DQo+ID4+ICtDb2RlMzIsIFVJTlROIFN0YWNrU3RhcnQpIDsgIHJj eCAtIEJ1ZmZlciBTdGFydCA7ICByZHggLSBDb2RlMTYNCj4gPj4gK1NlbGVjdG9yIE9mZnNldCA7 ICByOCAgLSBDb2RlMzIgU2VsZWN0b3IgT2Zmc2V0IDsgIHI5ICAtIFN0YWNrIFN0YXJ0DQo+ID4+ ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiA+PiArLS0tDQo+ID4+ICstLS0tLS0tLS0tLS0tLS0NCj4gPj4gK2ds b2JhbCBBU01fUEZYKFN3aXRjaFRvUmVhbFByb2MpDQo+ID4+ICtBU01fUEZYKFN3aXRjaFRvUmVh bFByb2MpOg0KPiA+PiArU3dpdGNoVG9SZWFsUHJvY1N0YXJ0Og0KPiA+PiArQklUUyA2NA0KPiA+ PiArICAgIGNsaQ0KPiA+PiArDQo+ID4+ICsgICAgOw0KPiA+PiArICAgIDsgR2V0IFJEWCByZXNl dCB2YWx1ZSBiZWZvcmUgY2hhbmdpbmcgc3RhY2tzIHNpbmNlIHRoZQ0KPiA+PiArICAgIDsgbmV3 IHN0YWNrIHdvbid0IGJlIGFibGUgdG8gYWNjb21vZGF0ZSBhICNWQyBleGNlcHRpb24uDQo+ID4+ ICsgICAgOw0KPiA+PiArICAgIHB1c2ggICAgICAgcmF4DQo+ID4+ICsgICAgcHVzaCAgICAgICBy YngNCj4gPj4gKyAgICBwdXNoICAgICAgIHJjeA0KPiA+PiArICAgIHB1c2ggICAgICAgcmR4DQo+ ID4+ICsNCj4gPj4gKyAgICBtb3YgICAgICAgIHJheCwgMQ0KPiA+PiArICAgIGNwdWlkDQo+ID4+ ICsgICAgbW92ICAgICAgICByc2ksIHJheCAgICAgICAgICAgICAgICAgICAgOyBTYXZlIG9mZiB0 aGUgcmVzZXQgdmFsdWUgZm9yIFJEWA0KPiA+PiArDQo+ID4+ICsgICAgcG9wICAgICAgICByZHgN Cj4gPj4gKyAgICBwb3AgICAgICAgIHJjeA0KPiA+PiArICAgIHBvcCAgICAgICAgcmJ4DQo+ID4+ ICsgICAgcG9wICAgICAgICByYXgNCj4gPj4gKw0KPiA+PiArICAgIDsNCj4gPj4gKyAgICA7IEVz dGFibGlzaCBzdGFjayBiZWxvdyAxTUINCj4gPj4gKyAgICA7DQo+ID4+ICsgICAgbW92ICAgICAg ICByc3AsIHI5DQo+ID4+ICsNCj4gPj4gKyAgICA7DQo+ID4+ICsgICAgOyBQdXNoIHVsdGltYXRl IFJlc2V0IFZlY3RvciBvbnRvIHRoZSBzdGFjaw0KPiA+PiArICAgIDsNCj4gPj4gKyAgICBtb3Yg ICAgICAgIHJheCwgcmN4DQo+ID4+ICsgICAgc2hyICAgICAgICByYXgsIDQNCj4gPj4gKyAgICBw dXNoICAgICAgIHdvcmQgMHgwMDAyICAgICAgICAgICAgICAgICA7IFJGTEFHUw0KPiA+PiArICAg IHB1c2ggICAgICAgYXggICAgICAgICAgICAgICAgICAgICAgICAgIDsgQ1MNCj4gPj4gKyAgICBw dXNoICAgICAgIHdvcmQgMHgwMDAwICAgICAgICAgICAgICAgICA7IFJJUA0KPiA+PiArICAgIHB1 c2ggICAgICAgd29yZCAweDAwMDAgICAgICAgICAgICAgICAgIDsgRm9yIGFsaWdubWVudCwgd2ls bCBiZSBkaXNjYXJkZWQNCj4gPj4gKw0KPiA+PiArICAgIDsNCj4gPj4gKyAgICA7IEdldCBhZGRy ZXNzIG9mICIxNi1iaXQgb3BlcmFuZCBzaXplIiBsYWJlbA0KPiA+PiArICAgIDsNCj4gPj4gKyAg ICBsZWEgICAgICAgIHJieCwgW1BNMTZNb2RlXQ0KPiA+PiArDQo+ID4+ICsgICAgOw0KPiA+PiAr ICAgIDsgUHVzaCBhZGRyZXNzZXMgdXNlZCB0byBjaGFuZ2UgdG8gY29tcGF0aWJpbGl0eSBtb2Rl DQo+ID4+ICsgICAgOw0KPiA+PiArICAgIGxlYSAgICAgICAgcmF4LCBbQ29tcGF0TW9kZV0NCj4g Pj4gKyAgICBwdXNoICAgICAgIHI4DQo+ID4+ICsgICAgcHVzaCAgICAgICByYXgNCj4gPj4gKw0K PiA+PiArICAgIDsNCj4gPj4gKyAgICA7IENsZWFyIFI4IC0gUjE1LCBmb3IgcmVzZXQsIGJlZm9y ZSBnb2luZyBpbnRvIDMyLWJpdCBtb2RlDQo+ID4+ICsgICAgOw0KPiA+PiArICAgIHhvciAgICAg ICAgcjgsIHI4DQo+ID4+ICsgICAgeG9yICAgICAgICByOSwgcjkNCj4gPj4gKyAgICB4b3IgICAg ICAgIHIxMCwgcjEwDQo+ID4+ICsgICAgeG9yICAgICAgICByMTEsIHIxMQ0KPiA+PiArICAgIHhv ciAgICAgICAgcjEyLCByMTINCj4gPj4gKyAgICB4b3IgICAgICAgIHIxMywgcjEzDQo+ID4+ICsg ICAgeG9yICAgICAgICByMTQsIHIxNA0KPiA+PiArICAgIHhvciAgICAgICAgcjE1LCByMTUNCj4g Pj4gKw0KPiA+PiArICAgIDsNCj4gPj4gKyAgICA7IEZhciByZXR1cm4gaW50byAzMi1iaXQgbW9k ZQ0KPiA+PiArICAgIDsNCj4gPj4gK282NCByZXRmDQo+ID4+ICsNCj4gPj4gK0JJVFMgMzINCj4g Pj4gK0NvbXBhdE1vZGU6DQo+ID4+ICsgICAgOw0KPiA+PiArICAgIDsgU2V0IHVwIHN0YWNrIHRv IHByZXBhcmUgZm9yIGV4aXRpbmcgcHJvdGVjdGVkIG1vZGUNCj4gPj4gKyAgICA7DQo+ID4+ICsg ICAgcHVzaCAgICAgICBlZHggICAgICAgICAgICAgICAgICAgICAgICAgOyBDb2RlMTYgQ1MNCj4g Pj4gKyAgICBwdXNoICAgICAgIGVieCAgICAgICAgICAgICAgICAgICAgICAgICA7IFBNMTZNb2Rl IGxhYmVsIGFkZHJlc3MNCj4gPj4gKw0KPiA+PiArICAgIDsNCj4gPj4gKyAgICA7IERpc2FibGUg cGFnaW5nDQo+ID4+ICsgICAgOw0KPiA+PiArICAgIG1vdiAgICAgICAgZWF4LCBjcjAgICAgICAg ICAgICAgICAgICAgIDsgUmVhZCBDUjANCj4gPj4gKyAgICBidHIgICAgICAgIGVheCwgMzEgICAg ICAgICAgICAgICAgICAgICA7IFNldCBQRz0wDQo+ID4+ICsgICAgbW92ICAgICAgICBjcjAsIGVh eCAgICAgICAgICAgICAgICAgICAgOyBXcml0ZSBDUjANCj4gPj4gKw0KPiA+PiArICAgIDsNCj4g Pj4gKyAgICA7IERpc2FibGUgbG9uZyBtb2RlDQo+ID4+ICsgICAgOw0KPiA+PiArICAgIG1vdiAg ICAgICAgZWN4LCAwYzAwMDAwODBoICAgICAgICAgICAgIDsgRUZFUiBNU1IgbnVtYmVyDQo+ID4+ ICsgICAgcmRtc3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBSZWFkIEVGRVIN Cj4gPj4gKyAgICBidHIgICAgICAgIGVheCwgOCAgICAgICAgICAgICAgICAgICAgICA7IFNldCBM TUU9MA0KPiA+PiArICAgIHdybXNyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsg V3JpdGUgRUZFUg0KPiA+PiArDQo+ID4+ICsgICAgOw0KPiA+PiArICAgIDsgRGlzYWJsZSBQQUUN Cj4gPj4gKyAgICA7DQo+ID4+ICsgICAgbW92ICAgICAgICBlYXgsIGNyNCAgICAgICAgICAgICAg ICAgICAgOyBSZWFkIENSNA0KPiA+PiArICAgIGJ0ciAgICAgICAgZWF4LCA1ICAgICAgICAgICAg ICAgICAgICAgIDsgU2V0IFBBRT0wDQo+ID4+ICsgICAgbW92ICAgICAgICBjcjQsIGVheCAgICAg ICAgICAgICAgICAgICAgOyBXcml0ZSBDUjQNCj4gPj4gKw0KPiA+PiArICAgIG1vdiAgICAgICAg ZWR4LCBlc2kgICAgICAgICAgICAgICAgICAgIDsgUmVzdG9yZSBSRFggcmVzZXQgdmFsdWUNCj4g Pj4gKw0KPiA+PiArICAgIDsNCj4gPj4gKyAgICA7IFN3aXRjaCB0byAxNi1iaXQgb3BlcmFuZCBz aXplDQo+ID4+ICsgICAgOw0KPiA+PiArICAgIHJldGYNCj4gPj4gKw0KPiA+PiArQklUUyAxNg0K PiA+PiArICAgIDsNCj4gPj4gKyAgICA7IEF0IGVudHJ5IHRvIHRoaXMgbGFiZWwNCj4gPj4gKyAg ICA7ICAgLSBSRFggd2lsbCBoYXZlIGl0cyByZXNldCB2YWx1ZQ0KPiA+PiArICAgIDsgICAtIE9u IHRoZSB0b3Agb2YgdGhlIHN0YWNrDQo+ID4+ICsgICAgOyAgICAgLSBBbGlnbm1lbnQgZGF0YSAo dHdvIGJ5dGVzKSB0byBiZSBkaXNjYXJkZWQNCj4gPj4gKyAgICA7ICAgICAtIElQIGZvciBSZWFs IE1vZGUgKHR3byBieXRlcykNCj4gPj4gKyAgICA7ICAgICAtIENTIGZvciBSZWFsIE1vZGUgKHR3 byBieXRlcykNCj4gPj4gKyAgICA7DQo+ID4+ICtQTTE2TW9kZToNCj4gPj4gKyAgICBtb3YgICAg ICAgIGVheCwgY3IwICAgICAgICAgICAgICAgICAgICA7IFJlYWQgQ1IwDQo+ID4+ICsgICAgYnRy ICAgICAgICBlYXgsIDAgICAgICAgICAgICAgICAgICAgICAgOyBTZXQgUEU9MA0KPiA+PiArICAg IG1vdiAgICAgICAgY3IwLCBlYXggICAgICAgICAgICAgICAgICAgIDsgV3JpdGUgQ1IwDQo+ID4+ ICsNCj4gPj4gKyAgICBwb3AgICAgICAgIGF4ICAgICAgICAgICAgICAgICAgICAgICAgICA7IERp c2NhcmQgYWxpZ25tZW50IGRhdGENCj4gPj4gKw0KPiA+PiArICAgIDsNCj4gPj4gKyAgICA7IENs ZWFyIHJlZ2lzdGVycyAoZXhjZXB0IFJEWCBhbmQgUlNQKSBiZWZvcmUgZ29pbmcgaW50byAxNi1i aXQgbW9kZQ0KPiA+PiArICAgIDsNCj4gPj4gKyAgICB4b3IgICAgICAgIGVheCwgZWF4DQo+ID4+ ICsgICAgeG9yICAgICAgICBlYngsIGVieA0KPiA+PiArICAgIHhvciAgICAgICAgZWN4LCBlY3gN Cj4gPj4gKyAgICB4b3IgICAgICAgIGVzaSwgZXNpDQo+ID4+ICsgICAgeG9yICAgICAgICBlZGks IGVkaQ0KPiA+PiArICAgIHhvciAgICAgICAgZWJwLCBlYnANCj4gPj4gKw0KPiA+PiArICAgIGly ZXQNCj4gPj4gKw0KPiA+PiArU3dpdGNoVG9SZWFsUHJvY0VuZDoNCj4gPj4gKw0KPiA+Pg0KPiA+ PiA7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gPj4gLS0tLS0tLS0tLS0tLS0tLS0gIDsgIEFzbVJlbG9jYXRlQXBM b29wIChNd2FpdFN1cHBvcnQsDQo+ID4+IEFwVGFyZ2V0Q1N0YXRlLCBQbUNvZGVTZWdtZW50LCBU b3BPZkFwU3RhY2ssIENvdW50VG9maW5pc2gpOw0KPiA+Pg0KPiA+PiA7LS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g Pj4gLS0tLS0tLS0tLS0tLS0tLS0NCj4gPj4gIGdsb2JhbCBBU01fUEZYKEFzbVJlbG9jYXRlQXBM b29wKQ0KPiA+PiAgQVNNX1BGWChBc21SZWxvY2F0ZUFwTG9vcCk6DQo+ID4+ICBBc21SZWxvY2F0 ZUFwTG9vcFN0YXJ0Og0KPiA+PiArQklUUyA2NA0KPiA+PiAgICAgIGNsaSAgICAgICAgICAgICAg ICAgICAgICAgICAgOyBEaXNhYmxlIGludGVycnVwdCBiZWZvcmUgc3dpdGNoaW5nIHRvIDMyLWJp dCBtb2RlDQo+ID4+ICAgICAgbW92ICAgICAgICByYXgsIFtyc3AgKyA0MF0gICA7IENvdW50VG9m aW5pc2gNCj4gPj4gICAgICBsb2NrIGRlYyAgIGR3b3JkIFtyYXhdICAgICAgIDsgKCpDb3VudFRv ZmluaXNoKS0tDQo+ID4+IEBAIC0zMjQsNiArNTU4LDExIEBAIEFTTV9QRlgoQXNtR2V0QWRkcmVz c01hcCk6DQo+ID4+ICAgICAgbW92ICAgICAgICBxd29yZCBbcmN4ICsgMThoXSwgcmF4DQo+ID4+ ICAgICAgbW92ICAgICAgICBxd29yZCBbcmN4ICsgMjBoXSwgQXNtUmVsb2NhdGVBcExvb3BFbmQg LQ0KPiA+PiBBc21SZWxvY2F0ZUFwTG9vcFN0YXJ0DQo+ID4+ICAgICAgbW92ICAgICAgICBxd29y ZCBbcmN4ICsgMjhoXSwgRmxhdDMyU3RhcnQgLSBSZW5kZXp2b3VzRnVubmVsUHJvY1N0YXJ0DQo+ ID4+ICsgICAgbW92ICAgICAgICBxd29yZCBbcmN4ICsgMzBoXSwgU3dpdGNoVG9SZWFsUHJvY0Vu ZCAtDQo+ID4+IFN3aXRjaFRvUmVhbFByb2NTdGFydCAgICAgICAgICA7IFN3aXRjaFRvUmVhbFNp emUNCj4gPj4gKyAgICBtb3YgICAgICAgIHF3b3JkIFtyY3ggKyAzOGhdLCBTd2l0Y2hUb1JlYWxQ cm9jU3RhcnQgLQ0KPiA+PiBSZW5kZXp2b3VzRnVubmVsUHJvY1N0YXJ0ICAgIDsgU3dpdGNoVG9S ZWFsT2Zmc2V0DQo+ID4+ICsgICAgbW92ICAgICAgICBxd29yZCBbcmN4ICsgNDBoXSwgU3dpdGNo VG9SZWFsUHJvY1N0YXJ0IC0NCj4gRmxhdDMyU3RhcnQgICAgICAgICAgICAgICAgICA7DQo+ID4+ IFN3aXRjaFRvUmVhbE5vTnhPZmZzZXQNCj4gPj4gKyAgICBtb3YgICAgICAgIHF3b3JkIFtyY3gg KyA0OGhdLCBQTTE2TW9kZSAtDQo+ID4+IFJlbmRlenZvdXNGdW5uZWxQcm9jU3RhcnQgICAgICAg ICAgICAgICAgIDsgU3dpdGNoVG9SZWFsUE0xNk1vZGVPZmZzZXQNCj4gPj4gKyAgICBtb3YgICAg ICAgIHF3b3JkIFtyY3ggKyA1MGhdLCBTd2l0Y2hUb1JlYWxQcm9jRW5kIC0NCj4gUE0xNk1vZGUg ICAgICAgICAgICAgICAgICAgICAgIDsNCj4gPj4gU3dpdGNoVG9SZWFsUE0xNk1vZGVTaXplDQo+ ID4+ICAgICAgcmV0DQo+ID4+DQo+ID4+DQo+ID4+IDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+PiAtLS0tLS0t LS0tLS0tLS0tLQ0KPiA+PiAtLQ0KPiA+PiAyLjE3LjENCj4gPg0K