From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.105.1649440820872733316 for ; Fri, 08 Apr 2022 11:00:21 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=ZJPPqEG/; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1649440820; x=1680976820; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=c+QxGM6wKtB5LpprcI0ZkGuXF/rx2TXWkAr3GX3LSj8=; b=ZJPPqEG/DGTEu6J34jnO73nyoAZUjhm7+wNjIDkza/0o9kkGegieHmSO /s07UiuTGOE6iRjUX7P2K4QH9eh+a2G+I8RSY+eAbvtqm2vvLUXbbGf+f oPPom+RtzRd0t4a8AxBjlR/MdEyuQdx/yjGqi3pmr0mdxizYZgJYsy21l F0QPoVTEvfuMirN4LLXu7A9NlrhV94cGBOFmqq5CK/wMTaZXvTJ53nnaB x4uc2EZudGEpMiA82g2Y5rhG5O57s7Tm2XhIVyGx0tf2++4GuTnijKZss uZhwFpaYGDaO48YmHfXDB4+k6/ugzcel9hRMKJF8DpXo0mY4afVJ7Me7Q g==; X-IronPort-AV: E=McAfee;i="6400,9594,10310"; a="261645071" X-IronPort-AV: E=Sophos;i="5.90,245,1643702400"; d="scan'208";a="261645071" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Apr 2022 11:00:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,245,1643702400"; d="scan'208";a="506646817" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga003.jf.intel.com with ESMTP; 08 Apr 2022 11:00:20 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 8 Apr 2022 11:00:19 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 8 Apr 2022 11:00:19 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.46) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 8 Apr 2022 11:00:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=URG79mG7MCmtQ2n9X1Lb3PKhfmzp9ppIqLSIJBhsMcoa/jVwBwFZk3ATFrfpZi5dWmNPWgv3Ke+iMzPHdpWyV4sJDFUo7VIfMX8BBEklsMD0PAVCuY6jEZjXH9Ug//8NbRtQgLqjrLZsqWrDZENtGpEtQuOljaCthPkW/wUPguztRRa8n2rRSPL/qHJRhhxl8N78qDLk3jtsgICs9WeAOGqVb18Pu2M2I6C26mVPUngGZ4nh4/TlvmlVf3QQELCftXR0okFHKltrMLmK5FLzjSZ778bhJjgxjjvY7wR24dj+umc8i2POzKS+03bfm5KrszcRGbfAaI9Uj15nJJRXBw== 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=c+QxGM6wKtB5LpprcI0ZkGuXF/rx2TXWkAr3GX3LSj8=; b=VLUwXup3qwqGXDUg4VFuV4OJ+lTx1vWK/zenMxo+1cxY9I+zxVR+mEzUheEWyJA0eJsRHpFdvq0soeAmYT8Kjyj7zwrSYirbVmC3nL93aQbM5Q5J91oFhyUC2kpUQYUsDYn2mKXFzS8TDqdoWRszYAnpF1ul4FJEwebUhuc6iUynoE0pJazGwSzF61RiTnJg47IlMtUmS35YixRimySKfCCt1AFT0QbchC5ScvlO5RFvBkIm95SbOzkzmyQ6ZVar7GuIi1hW/GLydFZytWCMMcZRx3AmDvcUBckurWUa5sd2xLsK7cZhnCoj/gxw+GrPTJPbqIC7hKeIVgi7DAAMRg== 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 CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by CO1PR11MB4993.namprd11.prod.outlook.com (2603:10b6:303:6c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.22; Fri, 8 Apr 2022 18:00:17 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5411:79c7:11ac:683a]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5411:79c7:11ac:683a%3]) with mapi id 15.20.5144.022; Fri, 8 Apr 2022 18:00:17 +0000 From: "Michael D Kinney" To: "Jayaprakash, N" , "devel@edk2.groups.io" , "Kinney, Michael D" CC: "Frinzell, Aaron" Subject: Re: [edk2-devel] [edk2-libc Patch 1/1] AppPkg\Applications\Python\Python-3.6.8\Lib: uuid.py module port for UEFI environment Thread-Topic: [edk2-devel] [edk2-libc Patch 1/1] AppPkg\Applications\Python\Python-3.6.8\Lib: uuid.py module port for UEFI environment Thread-Index: AQHYSz8/1F4DNYuihEG9Zde3b4fFR6zmL7KwgAAS6OCAAAthgA== Date: Fri, 8 Apr 2022 18:00:17 +0000 Message-ID: References: <20220408115209.2002-1-n.jayaprakash@intel.com> <20220408115209.2002-2-n.jayaprakash@intel.com> <16E3F967D40E1D33.6238@groups.io> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ec600b67-f1b9-42d5-abdb-08da1989a3ec x-ms-traffictypediagnostic: CO1PR11MB4993:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gwMemt8Ib/dxgEAuIeq9kGvcFRmtZ38v5cDNqqCONRCoV2Bqlsmkc43X5ekGOeJoB2L1FtUOZBzQtJHbMp014j/DCaq/rH/DZk4gBIQcn5XTxA99yFtERAibxivz4CJY0kKmWI0Tdd957XYcq+fddc7DrOcjkLrOvxf45dc23kfXqzdJUibIWQzH2z0hdiSP52h6j7FvQeCNs62NMYAw05F3Hgw6rS2yIEYf8H8V4Pq4LHMcQ2Wto20HfMNsmGae1j6Gp/4SEoOzSfermkGIfO79pt71P+akddWeLBhQ7Bi5KggX7V3CviQ/pnga/NG9dUhlMsRoen9+UFzxu+CxYqH9uBdCjixqpYlyPF+por6J9IYbmX19lpnd4glXbRoKSUF0LD6edT0n1crs4n9s4sX5LJ1saLuzpC+OfNcO9pIPY9AoH1fpMTxm6RGm1bTvV3r5sWo9BIsWkhr9HT3+yuaQJNqJ1/blH+7nZFVJl55IxEQu3h6bv/qSvnkW4kjMRCXKu89PbhJRcdHRHBuCCe1qYBhfNOegXKlN/iEbeKziuK+5t8V21s482F3CO3cCSVMfn2F3SqIcF591TLsp6fC5lG0+AS2zeZEtwkbIpARIvDN3Sa6EIW39h/Hc2Pr29u3mzyhg3UBqq/K7XZECP5qD+lsh232kMrch0uUx1CrnNpLqwdwlkP3wIPRG5hI8y/dDbgUAudcYjR/c7ZRvU2t9H3vQ/OxcOjfJPRDeI4kpkpDBj+bgzlPJDfqBDshVJUAaSUuttMwKG10G77VPkGANcAAgrtLozUnBa9ntwvFjtcN+hoVSaYHYlKf82Yk1ca3dyOfp0kArR9oBMqS6MA5IZfwcWcWSGsUis2TfVP0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(55016003)(76116006)(5660300002)(8936002)(66476007)(4326008)(33656002)(966005)(508600001)(8676002)(66946007)(26005)(186003)(2906002)(52536014)(110136005)(64756008)(66446008)(316002)(107886003)(38070700005)(9686003)(86362001)(38100700002)(82960400001)(7696005)(6506007)(19627235002)(71200400001)(122000001)(83380400001)(66556008)(53546011)(21314003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YjZmR3lTQy9tSlVydjArdy81U0Q5SndsWDhJZlBFQTZvbnorcC9uUXhWQjcv?= =?utf-8?B?dFAyZGo3Q3pRTXBaSnhwbE4xU0plMk5Oc0JjWEs0UWJhTHBFQndoV2hrWlRV?= =?utf-8?B?RHp1R2dDQ0pGUVgydm9vZTE5ekI5Q1NVRHN1ek8rKzVtMnk5c0FHa092OUxj?= =?utf-8?B?N3NMUTY4VnVQa1liKzFFL0dQUGd6bGkrSERjSUo0bTN3Z0ZjTUp0SUJaUHgv?= =?utf-8?B?RVhRdVZVUXoyemZXVXBsR2krVGl3MW1VVUd4aEFLTlNXc2M3NVpTRHFraEtx?= =?utf-8?B?UTl2VmhHWUVlM3UrQ2FBRU5zQXhYNnZEQ2tWZDE5R3UrOWVNRGNabDhDbXBk?= =?utf-8?B?SE9BY2lYVU4wQjdsV3FnbHJpcXJYSXEwMkFhODNLTUNUV1YwNFRsbXhmbjJG?= =?utf-8?B?KzdXMUlBN2NIRzJNWkxZVlNaVVM3VEtWSUlqWHRjU2JFYW1od1VsRlpyUWxY?= =?utf-8?B?WVhyb29mUWljYTJDTlZFVGZ4UmYrc3VsM2Rlb0QrQzZqOUZMdE90RjNUeDFN?= =?utf-8?B?eUxXR0FtSkg5RGRkc1IwbkQ5RG9FU1dQMG9IRVJoa1VvSlFpSW5xa1U2a3BK?= =?utf-8?B?OGxUWXNiZ3lQRjZEb3ZycC94QzlpOGxJSlZUT3lRWnY4aWVRU01PdlhCQkhP?= =?utf-8?B?QitPVmIyK091TkR5cUdwYW4zTGd3N2Q4b3FocS94UXJVaEk3UWlsN1VoL0ZF?= =?utf-8?B?Y284Q0x6OHBBcG5ZcGhDM2cyVUt6M0k1UkdlMWF1MjVpUzg2c1JCRXdNZFdV?= =?utf-8?B?b3J2ckdhWjZYM3JHRDQ2NWt0cisySWRPNU85U1lpOFV3Q3pJVmUzUzE1YnVM?= =?utf-8?B?dUdPeEw3SlN1M1lHc3Y5T0xmSm1MUDl3VTdwcERHYVYwa2U5ZEI1akM5RVI2?= =?utf-8?B?bGtvMVozRUd2Q2l2MUJRazZSaGZaMHFoQmJUanRzbmRnYTVUOThYR3o0ZUlh?= =?utf-8?B?UEwyUDhtRWZuaGc2WHV2WjdLQXBOb1FYRzBzajg2QmVkcE1vZ3NIVHNxb3Vw?= =?utf-8?B?NG5STFRMMjBHd1N4YUJzdTI3ZnFsNVFhK29lM05kREY5UzJGelBEU3RHVXll?= =?utf-8?B?VVBQQWc5aDNNd1RCZk96ZTZvNThFdnFYYkJ0UmtweWRrbXk0OHU1ZzJ1WjV2?= =?utf-8?B?SEZra042QWtNVEl3bGRPRjROUFd2d3dSeXkvZzRQdHRRY2tQb2VwUndaK285?= =?utf-8?B?Wm8xOWZxYW94Y0ZSWjhaUUdGRWY3elkvT0NoL0RuUjVrNEwxWFdpNGl4YThj?= =?utf-8?B?anZ3YWpPckN6Q3NXcEdnSTRzMmdmenVjL2l4VmpONG81T3VEVzZYckNxVGk3?= =?utf-8?B?aXFmWHhrV3l6VklkcFdwVXQ1ZlczWnNRa0RROVFjbC9EVGJ1bFYzZGx2RGZO?= =?utf-8?B?Nk1qVStVREZBbVhscHZaVVBtbTlWdHBzdzRpR3ptMDJBMDlsK2syNDlNMEZj?= =?utf-8?B?N1JMaUNicVBoS2hGRzdEVG9pMVZrN1hQbW1sMVJ6OTByTm5UK3l1RGhYeUxX?= =?utf-8?B?MVdkeFBlRFBtOXNFWDgyZE9LZ1Y5amliaGdPMXd3SWpoU3k4MVUvK2RSOFN3?= =?utf-8?B?Unp0Ykk1YXk4MUQrRDE3ZGlrTmJMU0RPNFE1UmV5UTNKUFBsa0FPUW9DRHEv?= =?utf-8?B?a3pOS3FIS3BJejBGeTcvSlpLZGk3bllzYVU0TEF3ZjBxODA1alUzdDBabTRl?= =?utf-8?B?Uyt3SXNrWDdNOTJGRGNvSjlCZEdhcEQvVTZRME8yckUrQ0RSdGIvdmdtQUFC?= =?utf-8?B?NUNEUUpKZ2RpYkdUNGlIbkdYc1VsQ2FPczV3QUJxUjZSaTl2MFZBamxZaDFP?= =?utf-8?B?OGhJay8rTWhvSEovWFA4UHZvQlJrRkpKSzNLQWcwSHVLQzk4bGdoemdwcjRa?= =?utf-8?B?Q3QvY3M0V0RwNW9SbE91SjdnV1FKOW5kSnBOaVBhRzhCQmNRbnRva3Ard0tx?= =?utf-8?B?ZEFXbzVVT3d0cFlNbkc4eG9OV05NS1N4RDV5a1FxZlFnYWN6cTIxc05TOUlK?= =?utf-8?B?YUJsTDFXU0hzQ01kenkrVHZ1T3FpeDhKTFM3cnIwWDg3dDYvdEpLVE52K2Ni?= =?utf-8?B?bitmd1dnWmxOQ0dTTXJvMzFoZ21EdUF1K2hZY2xha1NYNFRIcWw2dmYxK0pH?= =?utf-8?B?RWlrdkplcnlGcEFkRnM1SXR4WkIrcDZDYjdGNjk1aGJGVlUyeS83WGZnM2hN?= =?utf-8?B?VEt6NTZQejA0M0dOT0daZ1krcXg4ZldaRm9SbHg1VWRibHZyUnVrUjNpUTBF?= =?utf-8?B?RTZNaXl4RytIZE5FU0EyMkJ2UVFSeEJFU2JOYnZFVUFWRHpnRXVpUWlPdVY0?= =?utf-8?B?L0VncVVwOC8vbDdKQkZrR2tRK2p5RklTWkd2Wm9BUEFKSWRuN21jWmJNc1BC?= =?utf-8?Q?OBDlgU6cIHbbRu3k=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ec600b67-f1b9-42d5-abdb-08da1989a3ec X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2022 18:00:17.4632 (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: 3V88zCl69MzWCu38g4cAHKBB3HxkWDuFdToIPK+veZeLhS3AOoqZYNoveqcnOFPqb1uFyMM4DVKCDRxvIq9V0W9BQINxtd8zO0pGhk2wQlk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4993 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIEpQLg0KDQpUaGF0IG1ha2VzIHNlbnNlLiAgQnlwYXNzIGFsbCB0aGUgT1Mgc3BlY2lm aWMgc2VydmljZXMgaW4gVUVGSSBlbnZpcm9ubWVudCBhbmQgZ2VuZXJhdGUgVVVJRCB1c2luZyB0 aW1lIGFuZCByYW5kb20gbnVtYmVyLg0KDQpSZXZpZXdlZC1ieTogTWljaGFlbCBEIEtpbm5leSA8 bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQoNCk1pa2UNCg0KDQo+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+IEZyb206IEpheWFwcmFrYXNoLCBOIDxuLmpheWFwcmFrYXNoQGludGVs LmNvbT4NCj4gU2VudDogRnJpZGF5LCBBcHJpbCA4LCAyMDIyIDEwOjE5IEFNDQo+IFRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsgSmF5YXByYWthc2gsIE4gPG4uamF5YXByYWthc2hAaW50ZWwuY29t PjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBDYzog RnJpbnplbGwsIEFhcm9uIDxhYXJvbi5mcmluemVsbEBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJF OiBbZWRrMi1kZXZlbF0gW2VkazItbGliYyBQYXRjaCAxLzFdIEFwcFBrZ1xBcHBsaWNhdGlvbnNc UHl0aG9uXFB5dGhvbi0zLjYuOFxMaWI6IHV1aWQucHkgbW9kdWxlIHBvcnQgZm9yIFVFRkkNCj4g ZW52aXJvbm1lbnQNCj4gDQo+ICsgQWFyb24NCj4gDQo+IFJlZ2FyZHMsDQo+IEpQDQo+IA0KPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8 ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBKYXlhcHJha2FzaCwgTg0KPiBTZW50 OiAwOCBBcHJpbCAyMDIyIDIyOjEyDQo+IFRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBTdWJqZWN0OiBSZTog W2VkazItZGV2ZWxdIFtlZGsyLWxpYmMgUGF0Y2ggMS8xXSBBcHBQa2dcQXBwbGljYXRpb25zXFB5 dGhvblxQeXRob24tMy42LjhcTGliOiB1dWlkLnB5IG1vZHVsZSBwb3J0IGZvciBVRUZJDQo+IGVu dmlyb25tZW50DQo+IA0KPiBUaGUgVVVJRCBnZW5lcmF0aW9uIGlzIGRvbmUgdGhyb3VnaCB0aGUg cmFuZG9tIG51bWJlciBnZW5lcmF0aW9uICYgdGltZSB1bml4IHRpbWUgc3RhbXAgZmVhdHVyZXMg YXZhaWxhYmxlIHRocm91Z2ggdGhlIGJ1aWx0LWluDQo+IHB5dGhvbiBtb2R1bGVzICdyYW5kb20n IGFuZCAndGltZScgcmVzcGVjdGl2ZWx5Lg0KPiBUaGUgcmFuZG9tIG51bWJlciAmIHRpbWUgKHVu aXggdGltZSBzdGFtcCBvciBlcG9jaCkgYmFzZWQgbWV0aG9kIG9mIGdlbmVyYXRpbmcgdGhlIFVV SUQgaXMgYWxyZWFkeSB0aGVyZSBpbiB1dWlkLnB5IG1vZHVsZSwNCj4gd2l0aCB0aGlzIHBhdGNo IHJlcXVlc3QgZW5hYmxlZCB0aGlzIHBhdGggdG8gdGFrZSBlZmZlY3QgZm9yIFVFRkkgaW52b2Nh dGlvbiBvZiB0aGlzIG1vZHVsZS4NCj4gDQo+IFRoZXJlIGFyZSBzb21lIE9TIHNwZWNpZmljIHdh eXMgdG8gZ2VuZXJhdGUgdGhlIFVVSUQncyBzdWNoIGFzIGJ5IHVzaW5nIHRoZSBsaWJ1dWlkIG9u IExpbnV4IGtpbmQgb2YgT1MsIHdpbmRsbC5ycGNydDQgbGlicmFyeQ0KPiBvbiB3aW5kb3dzLg0K PiBUaGVzZSB3aWxsIG5vdCB3b3JrIGZvciBVRUZJIGFuZCBoZW5jZSBhZGRlZCBhcHByb3ByaWF0 ZSBwbGF0Zm9ybSBjaGVjayB0byBlbnN1cmUgdGhhdCB0aGlzIHBhdGggaXMgbm90IHRha2VuIGZv ciBVRUZJDQo+IGludm9jYXRpb24uDQo+IA0KPiBCZXNpZGVzIHRoaXMgdGhlcmUgYXJlIE1BQyBh ZGRyZXNzIGJhc2VkIGFsZ29yaXRobXMgYXZhaWxhYmxlIGluIHV1aWQucHkgbW9kdWxlLg0KPiBU aGVzZSBhbGdvcmlzbSBhcmUgYmFzZWQgb24gcmVhZGluZyBNQUMgYWRkcmVzcyB0aHJvdWdoIHZh cmlvdXMgT1Mgc3VwcG9ydGVkIG1ldGhvZHMgc3VjaCBhcyBpcGNvbmZpZyBjb21tYW5kIHByb2Nl c3NpbmcsDQo+IE5ldEJJT1MgY2FsbHMgb24gV2luZG93cywgdXNpbmcgbmV0c3RhdCBjb21tYW5k IGluIExpbnV4LCBsYW5zY2FuIGluIFVuaXgsIGZyb20gYXJwIC0gYWRkcmVzcyByZXNvbHV0aW9u IHByb3RvY29sIGluIExpbnV4LA0KPiBOZXRCU0QgYW5kIG90aGVyIGZsYXZvdXJzIG9mIExpbnV4 Lg0KPiBUaGVzZSBhcmUgY3VycmVudGx5IG5vdCBlbmFibGVkIGZvciBVRUZJIGludm9jYXRpb24g b2YgdGhlIHV1aWQgbW9kdWxlLiBUaGlzIGhhcyBiZWVuIGRvbmUgdGhyb3VnaCBwbGF0Zm9ybSBj aGVjayBhZGRlZCBhdA0KPiBhcHByb3ByaWF0ZSBwbGFjZSBpbiB0aGUgdXVpZC5weSBtb2R1bGUg Y29kZS4NCj4gDQo+IFJlZ2FyZHMsDQo+IEpQDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4N Cj4gU2VudDogMDggQXByaWwgMjAyMiAyMToxNA0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87 IEpheWFwcmFrYXNoLCBOIDxuLmpheWFwcmFrYXNoQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFl bCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtlZGsyLWRl dmVsXSBbZWRrMi1saWJjIFBhdGNoIDEvMV0gQXBwUGtnXEFwcGxpY2F0aW9uc1xQeXRob25cUHl0 aG9uLTMuNi44XExpYjogdXVpZC5weSBtb2R1bGUgcG9ydCBmb3IgVUVGSQ0KPiBlbnZpcm9ubWVu dA0KPiANCj4gSG93IGlzIGEgVVVJRCBnZW5lcmF0ZWQgaW4gVUVGSSBlbnY/ICBJcyB0aGVyZSBh IGRlcGVuZGVuY3kgb24gTUFDIGFkZHJlc3Mgb3IgcmFuZG9tIG51bWJlciBnZW5lcmF0b3I/DQo+ IA0KPiBDYW4geW91IGFkZCBhIGRlc2NyaXB0aW9uIG9mIHRoZSB0ZWNobmlxdWUgdG8gdGhlIEJa IGFuZCB0aGUgY29tbWl0IG1lc3NhZ2U/DQo+IA0KPiBUaGFua3MsDQo+IA0KPiBNaWtlDQo+IA0K PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91 cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4gPiBKYXlhcHJha2Fz aCwgTg0KPiA+IFNlbnQ6IEZyaWRheSwgQXByaWwgOCwgMjAyMiA0OjUyIEFNDQo+ID4gVG86IGRl dmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gU3ViamVjdDogW2VkazItZGV2ZWxdIFtlZGsyLWxpYmMg UGF0Y2ggMS8xXQ0KPiA+IEFwcFBrZ1xBcHBsaWNhdGlvbnNcUHl0aG9uXFB5dGhvbi0zLjYuOFxM aWI6IHV1aWQucHkgbW9kdWxlIHBvcnQgZm9yDQo+ID4gVUVGSSBlbnZpcm9ubWVudA0KPiA+DQo+ ID4gIFJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0z ODk5DQo+ID4NCj4gPiAgVGhpcyBpcyBjb21taXQgY29udGFpbnMgdGhlIFVFRkkgcG9ydCBvZiB1 dWlkLnB5IG1vZHVsZS4gTWFkZQ0KPiA+IG5lY2Vzc2FyeSAgY2hhbmdlcyByZXF1aXJlZCB0byB1 dWlkLnB5IG1vZHVsZSB0byBzdXBwb3J0IFVFRkkgZW52aXJvbm1lbnQuDQo+ID4gIFBvcnRpbmcg b2YgdGhpcyBtb2R1bGUgdG8gVUVGSSBpcyByZXF1aXJlZCBmb3Igb3BlbiBzb3VyY2UgdG9vbHMg c3VjaA0KPiA+IGFzIENoaXBzZWMgdG8gZnVuY3Rpb24gcHJvcGVybHkuDQo+ID4NCj4gPiAgQ2M6 IFJlYmVjY2EgQ3JhbiA8cmViZWNjYUBudXZpYWluYy5jb20+DQo+ID4gIENjOiBNaWNoYWVsIEQg S2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiAgU2lnbmVkLW9mZi1ieTog SmF5YXByYWthc2ggTiA8bi5qYXlhcHJha2FzaEBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIC4u Li9QeXRob24vUHl0aG9uLTMuNi44L0xpYi91dWlkLnB5ICAgICAgICAgICB8IDk0ICsrKysrKysr KystLS0tLS0tLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDQ0IGRl bGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL0FwcFBrZy9BcHBsaWNhdGlvbnMvUHl0 aG9uL1B5dGhvbi0zLjYuOC9MaWIvdXVpZC5weQ0KPiA+IGIvQXBwUGtnL0FwcGxpY2F0aW9ucy9Q eXRob24vUHl0aG9uLTMuNi44L0xpYi91dWlkLnB5DQo+ID4gaW5kZXggZGI4YjJlZi4uODRlZDBi OCAxMDA2NDQNCj4gPiAtLS0gYS9BcHBQa2cvQXBwbGljYXRpb25zL1B5dGhvbi9QeXRob24tMy42 LjgvTGliL3V1aWQucHkNCj4gPiArKysgYi9BcHBQa2cvQXBwbGljYXRpb25zL1B5dGhvbi9QeXRo b24tMy42LjgvTGliL3V1aWQucHkNCj4gPiBAQCAtNDcxLDU3ICs0NzEsNjEgQEAgZGVmIF9uZXRi aW9zX2dldG5vZGUoKToNCj4gPiAgICAgICAgICAgICAgY29udGludWUNCj4gPiAgICAgICAgICBy ZXR1cm4gaW50LmZyb21fYnl0ZXMoYnl0ZXMsICdiaWcnKQ0KPiA+DQo+ID4gKw0KPiA+ICAjIFRo YW5rcyB0byBUaG9tYXMgSGVsbGVyIGZvciBjdHlwZXMgYW5kIGZvciBoaXMgaGVscCB3aXRoIGl0 cyB1c2UgaGVyZS4NCj4gPg0KPiA+ICAjIElmIGN0eXBlcyBpcyBhdmFpbGFibGUsIHVzZSBpdCB0 byBmaW5kIHN5c3RlbSByb3V0aW5lcyBmb3IgVVVJRCBnZW5lcmF0aW9uLg0KPiA+ICAjIFhYWCBU aGlzIG1ha2VzIHRoZSBtb2R1bGUgbm9uLXRocmVhZC1zYWZlIQ0KPiA+ICBfdXVpZF9nZW5lcmF0 ZV90aW1lID0gX1V1aWRDcmVhdGUgPSBOb25lDQo+ID4gLXRyeToNCj4gPiAtICAgIGltcG9ydCBj dHlwZXMsIGN0eXBlcy51dGlsDQo+ID4gLSAgICBpbXBvcnQgc3lzDQo+ID4gLQ0KPiA+IC0gICAg IyBUaGUgdXVpZF9nZW5lcmF0ZV8qIHJvdXRpbmVzIGFyZSBwcm92aWRlZCBieSBsaWJ1dWlkIG9u IGF0IGxlYXN0DQo+ID4gLSAgICAjIExpbnV4IGFuZCBGcmVlQlNELCBhbmQgcHJvdmlkZWQgYnkg bGliYyBvbiBNYWMgT1MgWC4NCj4gPiAtICAgIF9saWJuYW1lcyA9IFsndXVpZCddDQo+ID4gLSAg ICBpZiBub3Qgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpOg0KPiA+IC0gICAgICAgIF9s aWJuYW1lcy5hcHBlbmQoJ2MnKQ0KPiA+IC0gICAgZm9yIGxpYm5hbWUgaW4gX2xpYm5hbWVzOg0K PiA+IC0gICAgICAgIHRyeToNCj4gPiAtICAgICAgICAgICAgbGliID0gY3R5cGVzLkNETEwoY3R5 cGVzLnV0aWwuZmluZF9saWJyYXJ5KGxpYm5hbWUpKQ0KPiA+IC0gICAgICAgIGV4Y2VwdCBFeGNl cHRpb246DQo+ID4gLSAgICAgICAgICAgIGNvbnRpbnVlDQo+ID4gLSAgICAgICAgaWYgaGFzYXR0 cihsaWIsICd1dWlkX2dlbmVyYXRlX3RpbWUnKToNCj4gPiAtICAgICAgICAgICAgX3V1aWRfZ2Vu ZXJhdGVfdGltZSA9IGxpYi51dWlkX2dlbmVyYXRlX3RpbWUNCj4gPiAtICAgICAgICAgICAgYnJl YWsNCj4gPiAtICAgIGRlbCBfbGlibmFtZXMNCj4gPiAtDQo+ID4gLSAgICAjIFRoZSB1dWlkX2dl bmVyYXRlXyogZnVuY3Rpb25zIGFyZSBicm9rZW4gb24gTWFjT1MgWCAxMC41LCBhcyBub3RlZA0K PiA+IC0gICAgIyBpbiBpc3N1ZSAjODYyMSB0aGUgZnVuY3Rpb24gZ2VuZXJhdGVzIHRoZSBzYW1l IHNlcXVlbmNlIG9mIHZhbHVlcw0KPiA+IC0gICAgIyBpbiB0aGUgcGFyZW50IHByb2Nlc3MgYW5k IGFsbCBjaGlsZHJlbiBjcmVhdGVkIHVzaW5nIGZvcmsgKHVubGVzcw0KPiA+IC0gICAgIyB0aG9z ZSBjaGlsZHJlbiB1c2UgZXhlYyBhcyB3ZWxsKS4NCj4gPiAtICAgICMNCj4gPiAtICAgICMgQXNz dW1lIHRoYXQgdGhlIHV1aWRfZ2VuZXJhdGUgZnVuY3Rpb25zIGFyZSBicm9rZW4gZnJvbSAxMC41 IG9ud2FyZCwNCj4gPiAtICAgICMgdGhlIHRlc3QgY2FuIGJlIGFkanVzdGVkIHdoZW4gYSBsYXRl ciB2ZXJzaW9uIGlzIGZpeGVkLg0KPiA+IC0gICAgaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4n Og0KPiA+IC0gICAgICAgIGlmIGludChvcy51bmFtZSgpLnJlbGVhc2Uuc3BsaXQoJy4nKVswXSkg Pj0gOToNCj4gPiAtICAgICAgICAgICAgX3V1aWRfZ2VuZXJhdGVfdGltZSA9IE5vbmUNCj4gPiAt DQo+ID4gLSAgICAjIE9uIFdpbmRvd3MgcHJpb3IgdG8gMjAwMCwgVXVpZENyZWF0ZSBnaXZlcyBh IFVVSUQgY29udGFpbmluZyB0aGUNCj4gPiAtICAgICMgaGFyZHdhcmUgYWRkcmVzcy4gIE9uIFdp bmRvd3MgMjAwMCBhbmQgbGF0ZXIsIFV1aWRDcmVhdGUgbWFrZXMgYQ0KPiA+IC0gICAgIyByYW5k b20gVVVJRCBhbmQgVXVpZENyZWF0ZVNlcXVlbnRpYWwgZ2l2ZXMgYSBVVUlEIGNvbnRhaW5pbmcg dGhlDQo+ID4gLSAgICAjIGhhcmR3YXJlIGFkZHJlc3MuICBUaGVzZSByb3V0aW5lcyBhcmUgcHJv dmlkZWQgYnkgdGhlIFJQQyBydW50aW1lLg0KPiA+IC0gICAgIyBOT1RFOiAgYXQgbGVhc3Qgb24g VGltJ3MgV2luWFAgUHJvIFNQMiBkZXNrdG9wIGJveCwgd2hpbGUgdGhlIGxhc3QNCj4gPiAtICAg ICMgNiBieXRlcyByZXR1cm5lZCBieSBVdWlkQ3JlYXRlU2VxdWVudGlhbCBhcmUgZml4ZWQsIHRo ZXkgZG9uJ3QgYXBwZWFyDQo+ID4gLSAgICAjIHRvIGJlYXIgYW55IHJlbGF0aW9uc2hpcCB0byB0 aGUgTUFDIGFkZHJlc3Mgb2YgYW55IG5ldHdvcmsgZGV2aWNlDQo+ID4gLSAgICAjIG9uIHRoZSBi b3guDQo+ID4gK2lmIG9zLm5hbWUgIT0gJ2VkazInOg0KPiA+ICsgICAgIyBUaGlzIGNvZGUgaXMg bm90IG1lYW50IHRvIHJ1biBvbiBVRUZJIGVudmlyb25tZW50DQo+ID4gICAgICB0cnk6DQo+ID4g LSAgICAgICAgbGliID0gY3R5cGVzLndpbmRsbC5ycGNydDQNCj4gPiArICAgICAgICBpbXBvcnQg Y3R5cGVzLCBjdHlwZXMudXRpbA0KPiA+ICsgICAgICAgIGltcG9ydCBzeXMNCj4gPiArDQo+ID4g KyAgICAgICAgIyBUaGUgdXVpZF9nZW5lcmF0ZV8qIHJvdXRpbmVzIGFyZSBwcm92aWRlZCBieSBs aWJ1dWlkIG9uIGF0IGxlYXN0DQo+ID4gKyAgICAgICAgIyBMaW51eCBhbmQgRnJlZUJTRCwgYW5k IHByb3ZpZGVkIGJ5IGxpYmMgb24gTWFjIE9TIFguDQo+ID4gKyAgICAgICAgX2xpYm5hbWVzID0g Wyd1dWlkJ10NCj4gPiArICAgICAgICBpZiBub3Qgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dp bicpOg0KPiA+ICsgICAgICAgICAgICBfbGlibmFtZXMuYXBwZW5kKCdjJykNCj4gPiArICAgICAg ICBmb3IgbGlibmFtZSBpbiBfbGlibmFtZXM6DQo+ID4gKyAgICAgICAgICAgIHRyeToNCj4gPiAr ICAgICAgICAgICAgICAgIGxpYiA9IGN0eXBlcy5DRExMKGN0eXBlcy51dGlsLmZpbmRfbGlicmFy eShsaWJuYW1lKSkNCj4gPiArICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoNCj4gPiArICAg ICAgICAgICAgICAgIGNvbnRpbnVlDQo+ID4gKyAgICAgICAgICAgIGlmIGhhc2F0dHIobGliLCAn dXVpZF9nZW5lcmF0ZV90aW1lJyk6DQo+ID4gKyAgICAgICAgICAgICAgICBfdXVpZF9nZW5lcmF0 ZV90aW1lID0gbGliLnV1aWRfZ2VuZXJhdGVfdGltZQ0KPiA+ICsgICAgICAgICAgICAgICAgYnJl YWsNCj4gPiArICAgICAgICBkZWwgX2xpYm5hbWVzDQo+ID4gKw0KPiA+ICsgICAgICAgICMgVGhl IHV1aWRfZ2VuZXJhdGVfKiBmdW5jdGlvbnMgYXJlIGJyb2tlbiBvbiBNYWNPUyBYIDEwLjUsIGFz IG5vdGVkDQo+ID4gKyAgICAgICAgIyBpbiBpc3N1ZSAjODYyMSB0aGUgZnVuY3Rpb24gZ2VuZXJh dGVzIHRoZSBzYW1lIHNlcXVlbmNlIG9mIHZhbHVlcw0KPiA+ICsgICAgICAgICMgaW4gdGhlIHBh cmVudCBwcm9jZXNzIGFuZCBhbGwgY2hpbGRyZW4gY3JlYXRlZCB1c2luZyBmb3JrICh1bmxlc3MN Cj4gPiArICAgICAgICAjIHRob3NlIGNoaWxkcmVuIHVzZSBleGVjIGFzIHdlbGwpLg0KPiA+ICsg ICAgICAgICMNCj4gPiArICAgICAgICAjIEFzc3VtZSB0aGF0IHRoZSB1dWlkX2dlbmVyYXRlIGZ1 bmN0aW9ucyBhcmUgYnJva2VuIGZyb20gMTAuNSBvbndhcmQsDQo+ID4gKyAgICAgICAgIyB0aGUg dGVzdCBjYW4gYmUgYWRqdXN0ZWQgd2hlbiBhIGxhdGVyIHZlcnNpb24gaXMgZml4ZWQuDQo+ID4g KyAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nOg0KPiA+ICsgICAgICAgICAgICBp ZiBpbnQob3MudW5hbWUoKS5yZWxlYXNlLnNwbGl0KCcuJylbMF0pID49IDk6DQo+ID4gKyAgICAg ICAgICAgICAgICBfdXVpZF9nZW5lcmF0ZV90aW1lID0gTm9uZQ0KPiA+ICsNCj4gPiArICAgICAg ICAjIE9uIFdpbmRvd3MgcHJpb3IgdG8gMjAwMCwgVXVpZENyZWF0ZSBnaXZlcyBhIFVVSUQgY29u dGFpbmluZyB0aGUNCj4gPiArICAgICAgICAjIGhhcmR3YXJlIGFkZHJlc3MuICBPbiBXaW5kb3dz IDIwMDAgYW5kIGxhdGVyLCBVdWlkQ3JlYXRlIG1ha2VzIGENCj4gPiArICAgICAgICAjIHJhbmRv bSBVVUlEIGFuZCBVdWlkQ3JlYXRlU2VxdWVudGlhbCBnaXZlcyBhIFVVSUQgY29udGFpbmluZyB0 aGUNCj4gPiArICAgICAgICAjIGhhcmR3YXJlIGFkZHJlc3MuICBUaGVzZSByb3V0aW5lcyBhcmUg cHJvdmlkZWQgYnkgdGhlIFJQQyBydW50aW1lLg0KPiA+ICsgICAgICAgICMgTk9URTogIGF0IGxl YXN0IG9uIFRpbSdzIFdpblhQIFBybyBTUDIgZGVza3RvcCBib3gsIHdoaWxlIHRoZSBsYXN0DQo+ ID4gKyAgICAgICAgIyA2IGJ5dGVzIHJldHVybmVkIGJ5IFV1aWRDcmVhdGVTZXF1ZW50aWFsIGFy ZSBmaXhlZCwgdGhleSBkb24ndCBhcHBlYXINCj4gPiArICAgICAgICAjIHRvIGJlYXIgYW55IHJl bGF0aW9uc2hpcCB0byB0aGUgTUFDIGFkZHJlc3Mgb2YgYW55IG5ldHdvcmsgZGV2aWNlDQo+ID4g KyAgICAgICAgIyBvbiB0aGUgYm94Lg0KPiA+ICsgICAgICAgIHRyeToNCj4gPiArICAgICAgICAg ICAgbGliID0gY3R5cGVzLndpbmRsbC5ycGNydDQNCj4gPiArICAgICAgICBleGNlcHQ6DQo+ID4g KyAgICAgICAgICAgIGxpYiA9IE5vbmUNCj4gPiArICAgICAgICBfVXVpZENyZWF0ZSA9IGdldGF0 dHIobGliLCAnVXVpZENyZWF0ZVNlcXVlbnRpYWwnLA0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBnZXRhdHRyKGxpYiwgJ1V1aWRDcmVhdGUnLCBOb25lKSkNCj4gPiAgICAgIGV4 Y2VwdDoNCj4gPiAtICAgICAgICBsaWIgPSBOb25lDQo+ID4gLSAgICBfVXVpZENyZWF0ZSA9IGdl dGF0dHIobGliLCAnVXVpZENyZWF0ZVNlcXVlbnRpYWwnLA0KPiA+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgIGdldGF0dHIobGliLCAnVXVpZENyZWF0ZScsIE5vbmUpKQ0KPiA+IC1leGNlcHQ6 DQo+ID4gLSAgICBwYXNzDQo+ID4gKyAgICAgICAgcGFzcw0KPiA+ICsNCj4gPg0KPiA+ICBkZWYg X3VuaXhkbGxfZ2V0bm9kZSgpOg0KPiA+ICAgICAgIiIiR2V0IHRoZSBoYXJkd2FyZSBhZGRyZXNz IG9uIFVuaXggdXNpbmcgY3R5cGVzLiIiIg0KPiA+IEBAIC01NjMsNiArNTY3LDggQEAgZGVmIGdl dG5vZGUoKToNCj4gPiAgICAgIGltcG9ydCBzeXMNCj4gPiAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9 PSAnd2luMzInOg0KPiA+ICAgICAgICAgIGdldHRlcnMgPSBfTk9ERV9HRVRURVJTX1dJTjMyDQo+ ID4gKyAgICBlbGlmIHN5cy5wbGF0Zm9ybSA9PSAndWVmaSc6DQo+ID4gKyAgICAgICAgZ2V0dGVy cyA9IFtdDQo+ID4gICAgICBlbHNlOg0KPiA+ICAgICAgICAgIGdldHRlcnMgPSBfTk9ERV9HRVRU RVJTX1VOSVgNCj4gPg0KPiA+IC0tDQo+ID4gMi4zMi4wLndpbmRvd3MuMg0KPiA+DQo+ID4NCj4g Pg0KPiA+DQo+ID4NCj4gDQo+IA0KPiANCj4gDQo+IA0KDQo=