From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web11.559.1684896900310302104 for ; Tue, 23 May 2023 19:55:00 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=YkI0JfTT; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684896900; x=1716432900; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=kvNVDehylwubNstR44Rcn2skRfI/s3WvzQtTYx9AJpI=; b=YkI0JfTT1HxPGggkfgPgzbses+3ZaCj0yVxHGnFu+mHqINvu5T1VzjOH jEF3lvwtPP/Sc25rEXAgsDMmlNY/gGKot6yTCqnGwqYvq5A/6alMyF6CG 9Y/Y/2A+S/ZgXcAA+MnPHqjVj4r9WSahSFgnDmaY7ia3gZyUFFgdauRg+ zNot/yp3IBkh829KLPr1c639po5W4UI9yMqrlv0ec2XdCiSPW0l58gpah YGQ+s8FqC8YK44uSJm2fOdKus72N41YMXbcoTNyWq1pqMfew6MBLssgno 5EoLkpTKuSCYfc0gpIgYlgH/V6COOGrjoQQmeKXUqC0zhhzKsbiaJob5E w==; X-IronPort-AV: E=McAfee;i="6600,9927,10719"; a="333051147" X-IronPort-AV: E=Sophos;i="6.00,188,1681196400"; d="scan'208";a="333051147" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2023 19:54:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10719"; a="950823355" X-IronPort-AV: E=Sophos;i="6.00,188,1681196400"; d="scan'208";a="950823355" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga006.fm.intel.com with ESMTP; 23 May 2023 19:54:54 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 23 May 2023 19:54:53 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Tue, 23 May 2023 19:54:53 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 23 May 2023 19:54:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fU+hRUsGJmVvKFmiwz8vEkiq5EoO8Zsjkjnlj3RdP9bCkD34oHtWZzNjidg3Qu8y4DuXqncRKBxCHWjfXGFi9cuk2J012TL3VCfLRj0Jn4oI2LTCilstuZhoeMAx2RUwjfkIFt6guevWUhRL/rrE4/0DtyhbG8cv14D4Z1RC5WcbuG4IsgLfHTvezdbXRVhEirciAkfNao90qmwXQbGp7ouvjjzOUxsQLqe/w62MGr79bX2BVcfoBw1yw9cZk4k94oe0V0j/uacJN1tvrFiKIesMzrsC4QkomV9+L03JPPzmq1Yw4oxdtZJK2ukY5/izTQBCfLvSDFfMFoJC1nBrow== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kvNVDehylwubNstR44Rcn2skRfI/s3WvzQtTYx9AJpI=; b=KyPUERni+2IvRYcwJy7T/crxRUZKNDUu/qKA+dGjZp4UQaQswXsFsMLtYOhY1+cncQeB87dCva8ceEOLCpR2bdpwPVc1re5DdV1Vv95PRiQgfoCxgARaxUX3d6449S0FOXehxAOBqkatsBtS4LhV+1N+BXlSq4EwjNbxY2Zp++671SW/8KGhHEvCGb4VOuy45T0EZJkYlb28p0RxjekK/7Gk/fOLEAucNJT97GO01lVayT7tv37xVQxJWN/WSIwH6mXcGLiz+ps6WZiPJCwbKPGZrTxxDnu+cu0S7vieeoG8i8APWo/tZfGrM+EplmBOhoPwgnmyCOxpmFHcGT9fWw== 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 Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by DS7PR11MB7887.namprd11.prod.outlook.com (2603:10b6:8:e2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Wed, 24 May 2023 02:54:51 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::892b:b8e6:bab7:635d]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::892b:b8e6:bab7:635d%5]) with mapi id 15.20.6411.028; Wed, 24 May 2023 02:54:51 +0000 From: "Ni, Ray" To: "Kinney, Michael D" , "devel@edk2.groups.io" , "ardb@kernel.org" CC: "lersek@redhat.com" , "Yao, Jiewen" , Gerd Hoffmann , Taylor Beebe , Oliver Smith-Denny Subject: Re: [edk2-devel] managing memory attributes in PEI Thread-Topic: [edk2-devel] managing memory attributes in PEI Thread-Index: AQHZjKEAhT8RYGAL2EqPb3XXfQTbN69nVlwAgAAA9hCAACGDgIAAeXAAgAACn4CAAAR+gIAACjeAgAAPwICAAKelMA== Date: Wed, 24 May 2023 02:54:50 +0000 Message-ID: References: <1718e8ad-6ba3-5da8-85c5-76e48c42110d@redhat.com> <2e04e9da-5b5a-9c00-76fe-c149538ddc80@redhat.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|DS7PR11MB7887:EE_ x-ms-office365-filtering-correlation-id: 2efd5cfc-83db-4de2-6502-08db5c023e13 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UyBQHjtNIqUGenD9E0qaGyKqyJfYIe+AIOZ9kzLWZg/CvGu2fP12wFgghLVSO4cTL+Hteecs8RL7iedilW3409kPNxPF8qrwW9dbxQ+jsoMIQx/giJGhEaLLeLj7hksQrCqUImhYeGbmllZZWjSM7cwDVMpzYuxYp+CMg80HS68IyrobHyNRwdjoEOIY+hcwd/Nv7fWn9EHo7pfdvBJeecJv8JYVbJfRAyP74PgOwrKfXcCIendT09Ib7i9tqFk827JS7Rs4Rcu+0goQHnvxJJXPg3Ym4J+T4gzyw75uXSRMuc3XSE2deEygGS2CKanf5aTnuZT9uES1NBgBpaGWp+AJP9gn7MHUd4Ka5uXGmtnkCsRM5GICiiZzgzE2QIdnoJem89G2qZ3feL3QA+6Wh1NSv7dN2EdDccPozJ4ph7NfWw3aiyvBl+kJmGlDYvpEbCgqmhI4bqbzIpw+B6v35RLM/awFBEWSY6qEdzu4wvwfNqnxiYmN1iccBpNqYejKd1zR8Hr366v2fb6E+zvk9GN5o9tluwjwkBunNukD6I7F0NYxriijZsyO13+dqm7TeIEWJs0DySep2I9hhDZwMRELoXVe85qoT5xXVg90EQ0Kb2UQSl7X/rndhytN1x4l/7BSQ3Vxq8KBOu6Otewo7Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN6PR11MB8244.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(136003)(366004)(346002)(376002)(451199021)(2906002)(54906003)(66899021)(52536014)(5660300002)(8936002)(8676002)(41300700001)(76116006)(110136005)(66476007)(66556008)(66946007)(66446008)(64756008)(478600001)(316002)(4326008)(7696005)(71200400001)(33656002)(55016003)(966005)(53546011)(9686003)(6506007)(26005)(122000001)(86362001)(38100700002)(186003)(83380400001)(38070700005)(82960400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NHBNTjc5SUVoMjlDVk4zWVRYQ1ROWVkzeEdHdlF2QWRuWnY1bmI0U0NQS1R5?= =?utf-8?B?SWZxUFJTc0dOTUo0dzNYNW9qZ0xaeC83ekVBdEVBYXdIWGx6QUVqcUJGUXR0?= =?utf-8?B?Q3BuWnc1RWlqR0poQWliTzdzQVJod2loVHMvdldGVDRqNEY4TlY5VWVvR0RM?= =?utf-8?B?dDVGbDkwbko1YjFCNUlsTjRmWXFScGcwT2RBTmZUb2EyemordnNkK2FRc3JB?= =?utf-8?B?UW1uY3l4OTVvdEJmenQ2TlZudzZCR0Ywd1JuVStOUTAzdDhkYzViVnd4YWNh?= =?utf-8?B?S2xFWlUwVUFWK0dYVUtYeGtabk1WcHVVWkh0bXRLZDc0NVZNWWlYTmFTNTVU?= =?utf-8?B?R3IwcElobkNFSVdHTU1kSTlpTE5SSmN1TTNrWUI2WTlzejJPYXkzL2o5QWdo?= =?utf-8?B?SkhuZlp0VVRoK1NGdVdjNXVzMGg3bDdtMGNaeTJIVjdjM1JGNkl3OGxtMXVu?= =?utf-8?B?UGd2MWdFcXpDcFpjTlNzelkvcC9lV1BGWHkvSFhuaTZINmlvNmJTWEFCUE9y?= =?utf-8?B?RTNYK2ZjQUtjOXRrSzQ1NmJJdWNwbU13S1p3em5ITk9RMWpuZzQzQVJGSWor?= =?utf-8?B?QjNEQzBycG5LejIrSzI4c1l5Sk9NeDFveW9LWi9hZFo4R3J4WUVHT1FXSGNX?= =?utf-8?B?L2tkQUx2MEZ4OSt5cVZza29Lemw5dGFLc0o2dFhOUkQwTTZUTlppSUJBelpx?= =?utf-8?B?OHdWQUh6VWdsTm5yRzFRUGlaSndaRDZzWWdMT25mMTdjYkdoU29DNFRtVy9Z?= =?utf-8?B?S0t6NlA0SVNBZTR2cXNhRjFZN3RqNk9naHhOT3FoREZFWjhvandWcGFTYlBQ?= =?utf-8?B?djF1YktNUVhrcE9IM3VkK0FXK2hQMy9DaHFyeTdYbm43RTBTTWF4Ry9WQ3hW?= =?utf-8?B?SUY4bGtKYWJTV1ExVjhxaWlpS2t0VW44c1JyM2VDT0p1Z3YyMm9zUWZOVWFO?= =?utf-8?B?YlNqYVNLT2RFdGxoWG80eURGaVlXYi9KajQxRDJBQlN2L3dPMU5tbm43K3d4?= =?utf-8?B?UUdrcHFoMzNOY1graXp0K1BSMzRsSUtNZ1EyalNza0NHekR3MmllTFZ3L29J?= =?utf-8?B?NVpDVHZTQW9sbFBUdDFGeHp0Nm1qR08rL1BtaElFZDJ5emI1ZmF6dXc5TjJ0?= =?utf-8?B?VW5yK2pxUG96WU8zaFkvazV3dDlwYnhhSk82T25uN3pqRE5NNi9aeEY5TVlq?= =?utf-8?B?VFRPdkgyaENuaWZxbk82RzJEYmtmaERRR2FPM2VwVmU0KzlOZkE3clJuKy9B?= =?utf-8?B?ZHVCbFdlRXNvemk1QUF6eHFMT1Y4em1NVnVJMUJHRnFnV0lYVnpjQnFUSHlM?= =?utf-8?B?ajU4SlFLRklLekM3SzZaRDhocGoycE9GNFphNWlOTzR6YUlRdXJva3NRTTk0?= =?utf-8?B?ZlhWdEYyU3pnbEt3aGoyT1czT1YwZzIrTDVlSks2L1h1MFFRLzRla05rRGFq?= =?utf-8?B?d3JIV0ZWV044anRydjVnWDUxYVQ1ZFdBOXJkMGx0TmJHRHJGTmV3eDY3U1ND?= =?utf-8?B?VmpIeU82TzRJbm04Umdmb0hnZEkzVGJDOXc1Z1Rvd3puRmIvVlV5QndUZEhC?= =?utf-8?B?TEEyb0FlUGttekZpSnBPZUFWc3FiZzRMbnJENXJxZWVad0VRNjhmNU9saTBz?= =?utf-8?B?YlJiWGY0TXg0b0dsRjRKZmZ5UEZoZnY0WXZvbzZIMExuRTJqUzVwYUJzaVIw?= =?utf-8?B?elVZczRZeUwzMWVYalNTLzZGaXR3S25GeGRUMEtGTWI1dzFTSW8ycG5CS1Zo?= =?utf-8?B?eUtORVI5MFVpU3VnVTk2MThZdVo3d1o3K3VGU3lzaG9NMmxyNWZXczhIb2hH?= =?utf-8?B?YUVFV3RtVzV3VWlzMEdzUlc2TEhrU0orb3FNTXJ5cHNBREVqbWt6S3RVZk9I?= =?utf-8?B?K1B1akhnQXFvc0hTcEZRbklsUldUMGlqdEpweXFSL2RwaXFIZ3lsRzF6Wm9l?= =?utf-8?B?UHR5ZU5JbnZCbUxHTGZIYlpldXJ3enliL0s4MmQ5Nm9DSE0rSEJIdTRReXU3?= =?utf-8?B?SHkzRmNqalNLcmtSWktoVHJaa0ZiOUlWaHRXR1JoamluT2doVXZpNW9jSGhY?= =?utf-8?B?VE9KMTd2N3lPNnNLbm1yZHNJdVVhU0xRUGg2dmthL3pzdVBwdjV4MVRVSDRy?= =?utf-8?Q?BsJA=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2efd5cfc-83db-4de2-6502-08db5c023e13 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2023 02:54:50.4131 (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: dReV622doSI3iGEontPk5eOUzYBWjsMuKbzqFLirsstUihnq2VdD3H/xEJBSKTofDVnLOeRfBS1YkUb+4VHHCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB7887 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VG9kYXkgWDg2IENwdU1wIFBFSU0gZW5hYmxlcyB0aGUgcGFnaW5nIGluIDMyYml0IGFuZCA2NGJp dCBtb2RlIGZvciBwcm90ZWN0aW9uIG9mOg0KMS4gU3RhY2sgb3ZlcmZsb3cNCjIuIEF2b2lkIGFj Y2Vzc2luZyBTUEkgZmxhc2ggYWZ0ZXIgTkVNIHRlYXIgZG93bg0KDQpXZSBjb3VsZCBlaXRoZXIg cHJvZHVjaW5nIGEgMzJiaXQgUFBJIGZvciBhYm92ZSBuZWVkcyAoRHhlSXBsIHNob3VsZCBub3Qg Y2FsbCB0aGlzIFBQSSBmb3IgRHhlQ29yZSBwcm90ZWN0aW9uIGluIG1peGVkIDMyUEVJKzY0RFhF IGVudikgb3Igc2VwYXJhdGluZyBhYm92ZSBwcm90ZWN0aW9uIGxvZ2ljIGludG8gc2VwYXJhdGUg MzJiaXQvNjRiaXQgZnVuY3Rpb25zLiBGb3IgdGhlIGxhdHRlciBjYXNlLCAzMmJpdCBmdW5jdGlv biBjb3VsZCB1c2UgZXhpc3RpbmcgbG9naWMsIDY0Yml0IGZ1bmN0aW9uIGNvdWxkIHVzZSB0aGUg bmV3IFBQSS4NCg0KVGhhbmtzLA0KUmF5DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0K PiBTZW50OiBXZWRuZXNkYXksIE1heSAyNCwgMjAyMyAxMjo0OCBBTQ0KPiBUbzogZGV2ZWxAZWRr Mi5ncm91cHMuaW87IGFyZGJAa2VybmVsLm9yZw0KPiBDYzogbGVyc2VrQHJlZGhhdC5jb207IE5p LCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBZYW8sIEppZXdlbg0KPiA8amlld2VuLnlhb0BpbnRl bC5jb20+OyBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT47IFRheWxvciBCZWViZQ0K PiA8dEB0YXlsb3JiZWViZS5jb20+OyBPbGl2ZXIgU21pdGgtRGVubnkgPG9zZEBzbWl0aC1kZW5u eS5jb20+OyBLaW5uZXksDQo+IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+ DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gbWFuYWdpbmcgbWVtb3J5IGF0dHJpYnV0ZXMg aW4gUEVJDQo+IA0KPiBIaSBBcmQsDQo+IA0KPiBUaGFua3MuICBJIGFncmVlIHdpdGggeW91ciBw bGFuLg0KPiANCj4gSW4gdGhlIGZ1dHVyZSwgaWYgd2UgdGhpbmsgdGhlcmUgaXMgdmFsdWUgaW4g ZW5hYmxpbmcgcGFnaW5nIGluIDMyLWJpdCBQRUksIHdlDQo+IGNvdWxkIGFkZCB0aGUgUFBJIGF0 IHRoYXQgdGltZS4NCj4gDQo+IE1pa2UNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ IE9uIEJlaGFsZiBPZiBBcmQNCj4gPiBCaWVzaGV1dmVsDQo+ID4gU2VudDogVHVlc2RheSwgTWF5 IDIzLCAyMDIzIDg6NTEgQU0NCj4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtpbm5leSwg TWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+IENjOiBsZXJz ZWtAcmVkaGF0LmNvbTsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IFlhbywgSmlld2VuDQo+ ID4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5j b20+OyBUYXlsb3INCj4gPiBCZWViZSA8dEB0YXlsb3JiZWViZS5jb20+OyBPbGl2ZXIgU21pdGgt RGVubnkgPG9zZEBzbWl0aC1kZW5ueS5jb20+DQo+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVs XSBtYW5hZ2luZyBtZW1vcnkgYXR0cmlidXRlcyBpbiBQRUkNCj4gPg0KPiA+IE9uIFR1ZSwgMjMg TWF5IDIwMjMgYXQgMTc6MTUsIE1pY2hhZWwgRCBLaW5uZXkNCj4gPiA8bWljaGFlbC5kLmtpbm5l eUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBBcmQgQmllc2hldXZlbCA8YXJkYkBr ZXJuZWwub3JnPg0KPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBNYXkgMjMsIDIwMjMgNzo1OSBBTQ0K PiA+ID4gPiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KPiA+ID4gPiBDYzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGxlcnNla0ByZWRoYXQuY29tOyBO aSwgUmF5DQo+ID4gPHJheS5uaUBpbnRlbC5jb20+Ow0KPiA+ID4gPiBZYW8sIEppZXdlbiA8amll d2VuLnlhb0BpbnRlbC5jb20+OyBHZXJkIEhvZmZtYW5uDQo+ID4gPiA+IDxrcmF4ZWxAcmVkaGF0 LmNvbT47IFRheWxvciBCZWViZSA8dEB0YXlsb3JiZWViZS5jb20+OyBPbGl2ZXINCj4gPiBTbWl0 aC0NCj4gPiA+ID4gRGVubnkgPG9zZEBzbWl0aC1kZW5ueS5jb20+DQo+ID4gPiA+IFN1YmplY3Q6 IFJlOiBbZWRrMi1kZXZlbF0gbWFuYWdpbmcgbWVtb3J5IGF0dHJpYnV0ZXMgaW4gUEVJDQo+ID4g PiA+DQo+ID4gPiA+IE9uIFR1ZSwgMjMgTWF5IDIwMjMgYXQgMTY6NDksIEtpbm5leSwgTWljaGFl bCBEDQo+ID4gPiA+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4gd3JvdGU6DQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiBBcmQsDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJIHdvdWxkIHByZWZlciB0 byBrZWVwIHRoZSBJQTMyIFBFSSBzdXBwb3J0IGZvciBPVk1GLg0KPiA+ID4gPiA+DQo+ID4gPiA+ DQo+ID4gPiA+IFN1cmUuIEJ1dCBkb2VzIHRoYXQgaW1wbHkgdGhhdCBhbGwgZW5oYW5jZW1lbnRz IHJlZ2FyZGluZyBtZW1vcnkNCj4gPiA+ID4gcHJvdGVjdGlvbnMgc2hvdWxkIGJlIGludHJvZHVj ZWQgdGhlcmUgYXMgd2VsbD8NCj4gPiA+DQo+ID4gPiBJIHdvdWxkIHByZWZlciB0byBub3Qgc3Vw cG9ydCB0aGVzZSBwcm90ZWN0aW9ucyBpbiBJQTMyIFBFSS4gIFNhbWUNCj4gPiA+IGZvciBJQTMy IERYRS4gIENhbiB0aGUgcHJvcG9zZWQgUFBJIGRvIG5vdGhpbmcgZm9yIElBMzI/DQo+ID4gPg0K PiA+DQo+ID4gQWJzb2x1dGVseS4gSSB3YXMganVzdCB0cnlpbmcgdG8gbmFycm93IGRvd24gd2hl dGhlciB5b3VyICdrZWVwaW5nDQo+ID4gSUEzMicgbWVhbnQganVzdCBrZWVwaW5nIGl0IGluIHdv cmtpbmcgb3JkZXIsIG9yIGhhdmUgaXQga2VlcCB1cCB3aXRoDQo+ID4gZnV0dXJlIGVuaGFuY2Vt ZW50cy4NCj4gPg0KPiA+IE15IGludGVudCBpcyB0byBpbXBsZW1lbnQgYW4gb3B0aW9uYWwgUFBJ IHRoYXQgd2lsbCBiZSB1c2VkIGJ5IHRoZSBQRUkNCj4gPiBpbWFnZSBsb2FkZXIgdG8gbWFwIFBF IGNvZGUgYW5kIGRhdGEgc2VjdGlvbnMgd2l0aCB0aGUgYXBwcm9wcmlhdGUNCj4gPiBwZXJtaXNz aW9ucyBpZiB0aGV5IGFyZSBzdWl0YWJseSBhbGlnbmVkLiBPbmx5IHRoZSBEWEUgY29yZSB3b3Vs ZA0KPiA+IGdlbmVyYWxseSBmaXQgdGhpcyBkZXNjcmlwdGlvbiwgYnV0IHRoZXJlIGlzIG5vIHJl YXNvbiB0byBkaXNhbGxvdw0KPiA+IHRoaXMgZm9yIHNoYWRvd2VkIFBFSU1zIHRoYXQgaGFwcGVu IHRvIGJlIGJ1aWx0IGFzIFBFMzIgYmluYXJpZXMgd2l0aA0KPiA+IDRrIHNlY3Rpb24gYWxpZ25t ZW50IChhbHRob3VnaCBJJ20gbm90IGNvbnZpbmNlZCBvZiB0aGUgdmFsdWUgYWRkDQo+ID4gdGhl cmUpDQo+ID4NCj4gPiBJZiB0aGUgUFBJIGlzIG5vdCBleHBvc2VkIChmb3IgYW55IHJlYXNvbikg dGhpbmdzIHNob3VsZCBqdXN0IGtlZXANCj4gPiB3b3JraW5nIGFzIHRoZXkgZG8gdG9kYXkuDQo+ ID4NCj4gPiBHaXZlbiB0aGF0IE9WTUYgbm8gbG9uZ2VyIGZ1bmN0aW9uYWxseSBkZXBlbmRzIG9u IElBMzIgUEVJLCB3ZSBzaW1wbHkNCj4gPiB3b24ndCBib3RoZXIgdG8gaW1wbGVtZW50IHRoZSBQ UEkgYXQgYWxsIGZvciBJQTMyLg0KPiA+DQo+ID4NCj4gPiANCj4gPg0KDQo=