From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web08.1269.1648831810476661637 for ; Fri, 01 Apr 2022 09:50:11 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=fYlEHx8X; spf=pass (domain: intel.com, ip: 192.55.52.151, 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=1648831810; x=1680367810; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=r2pwzZTSz7mP6SiE0+cI7IaH/HTBbkt30Y6j+NUawVI=; b=fYlEHx8X7/8sdu2n0iElUkcj+c9P8umkQQ6rQNu1plc/zUzwIqiGsXMm V/KQGbijMjnpK2ZLFQn0P4iKCu93x6En/f3tWB2mvsZFBZUuB5ZGrvhND IOW9651vnIihNOqQz3zpwgf28G7IfTzHhF5cg8IGQTpvZjn5xJG1AIUde 1URcnwc1Qyp6SurKhRElkn0X6vfvviAA+WyNogQYIa/u3ZNZwDySbtuZY yke927cRh9egp3LiFW2fJ0LKfF0MRfDRbtvovjgmADxGs7EN+b/XRoIAd VuGHqVoSXjcOb87sidNCE6CCdV/Jpj7XtHjGLQxQHOPVr4gyxOLrn5acy A==; X-IronPort-AV: E=McAfee;i="6200,9189,10304"; a="240773458" X-IronPort-AV: E=Sophos;i="5.90,228,1643702400"; d="scan'208";a="240773458" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Apr 2022 09:50:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,228,1643702400"; d="scan'208";a="567631804" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga008.jf.intel.com with ESMTP; 01 Apr 2022 09:50:08 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 1 Apr 2022 09:50:07 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 1 Apr 2022 09:50:07 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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.2308.27 via Frontend Transport; Fri, 1 Apr 2022 09:50:07 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.170) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 1 Apr 2022 09:50:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WmpAW3lxYMUaPlUBvkUW+xmRzlvyDX45kvFpGBh6Sa0DzX+QkIWod9WDNOyZdiYm4lSceiVOFOZQvH8tNP0XUgaX4d/JlmpHEU/uLgyugwc+8BRbWojbakE7rcK1yXyAUchbBwrci7u+ERdrJSPGlVL4ZAf8qn8G2UFmUXTPZc8hjgITN0THe4T7ic5Gk984vnLHQh6aSwbIXxI/czZG0a4UizXxwsfkrTiUOJisiVQAyFuuQA3O+/wJPji7wlUnSgxo/UUZBmqD0LsU2f25regmLa7EppAl21en7gKc4CIDFR8l2Xpl+qnrAzyE6K6TTjpRNAydmIgp0nvZHqF84A== 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=r2pwzZTSz7mP6SiE0+cI7IaH/HTBbkt30Y6j+NUawVI=; b=cBe3Xs0+ZNx5L1uOCnqjJf9gkFXyPg5WXxkMUyclaXQyK11dvjlGFTcOg/zoZhOaxfBBFuEWKoFDNSz9qb/35j7nCy2+Wzq/BjfhuRCnkZXmIRdWSNH+NUu8h5hWsvkext+abIF44CQC8dX7SxzUY30ZpuIPYu3LA/ar+mFdV4qt6az5kGdT0a2pAhlzNyG39q9q+5wy8qlV9Mykr4f5znbWxhhgQmsUHnnxULeaMVHm+q3qQvnsKks5ZlRz2pzttOqEy6uS+yDQUy21w12KIeyKOqR6gMPWR6Xn8qGVjQ4AHyVoJoKkbd33oQDhpDANXlkZaf/wl1Sia5G2rr1GYQ== 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 BN6PR11MB2035.namprd11.prod.outlook.com (2603:10b6:404:3c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.28; Fri, 1 Apr 2022 16:50:04 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::7519:a962:e3ca:7b0d]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::7519:a962:e3ca:7b0d%3]) with mapi id 15.20.5123.029; Fri, 1 Apr 2022 16:50:04 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "mikuback@linux.microsoft.com" , "Kinney, Michael D" CC: "Gao, Liming" , Sean Brogan , Bret Barkelew Subject: Re: [edk2-devel] [PATCH v1 2/4] .pytool/Plugin/UncrustifyCheck: Add ignore file support Thread-Topic: [edk2-devel] [PATCH v1 2/4] .pytool/Plugin/UncrustifyCheck: Add ignore file support Thread-Index: AQHYPZBuYrynD/X6L0SLa8wwuKcL46zLlDGAgA+1uICAAAt3MA== Date: Fri, 1 Apr 2022 16:50:04 +0000 Message-ID: References: <20220322015814.9182-1-mikuback@linux.microsoft.com> <20220322015814.9182-3-mikuback@linux.microsoft.com> <169b2fd1-ae2c-aab8-4290-e98b3f91dcea@linux.microsoft.com> In-Reply-To: <169b2fd1-ae2c-aab8-4290-e98b3f91dcea@linux.microsoft.com> 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: 8650535a-4268-400d-6971-08da13ffabc4 x-ms-traffictypediagnostic: BN6PR11MB2035:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr 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: g2WJKvPN0+7xHd8diGCz9XUEAWDp/0LD89b4x4Z/9ie7+QL8UYia/vvp9fHG60K6QzK233r99AkUGYWxjxgO8nEI0j/xcm+J1TueHPvPaQ/2EkKMJbvz5EroCHEs1vQfnogW8PgNKBrzu7mnlZAklN35Owz+ef11sx8tgUKU+k7NeEn4VzHejovXxhfrSiXMrY0G3KLojAYa+H4J25tIeTafhSNSTS2angFhzzrbAxNsn53tocQboAG7h72kOWaskBllNKE9tNqNMrqYX5MFXmpJ3nGMnLJw+8AbmdgjfdRblf16EgxdGr79FSpM9+wla6c8vOa1fB1Bd94vdgsiINraHbzjIeDvISRt0JpkFPWaKaJzuU1cgOtIjjrToLgk3nosU0UmVK8Dsn5TuIufQGlWT0H0gbbDNONyBHVqSUksU1U2LXS2r0G2Sg7GIAYFKZRez8sfXDRgM4yilpnIOTywOnJq36KugukXj63LxgVJ2YZ7rc1bxJAAGsY/HAlbiiaOAvPSjLsWfZJppzE79tmLcQyN0iiypKWiqjjX3i4Lb+Q2yWHh31uVM6+rUPECfQPUGeDmSqlAI6Y7QY7ojcKJMCDpFYzffhc5W/qv9izntQ/kV7E9Q23z6bUzepR6pPWe5chqA9uHoQWwcxXFQWpQMeMCe9+G2N7pP6H8S5LHTWfpGtjqd/iOlko6pcI1dDJP/9V/+xDzoxg8rG5TqK92uHNBkEsWfDbivjwuU9vr1o9r2KLzbW1aSu/RVNBd20WbdT1wTqKqQy8FwYD00zw3ciNRno/fRDpW56hIpiSXXvymHkFNSBH/54/wtl2HgdKwWmYtK0057BEGVZIcoA== 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)(86362001)(71200400001)(110136005)(38100700002)(54906003)(83380400001)(2906002)(316002)(26005)(82960400001)(186003)(9686003)(33656002)(53546011)(6506007)(7696005)(8936002)(966005)(508600001)(122000001)(55016003)(76116006)(38070700005)(8676002)(4326008)(66476007)(66556008)(66446008)(64756008)(66946007)(5660300002)(52536014);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R1ZMa1ptMFEyclM4T0s1bitnbFBHL3Q0SGxMdkc0TzA0WjcxNW1qcE5uTFkx?= =?utf-8?B?NVpSN1JLTUpBbmx1ZXQreGZyYzRkTDlBSWUvcTVCdUkxbVBxZW9VRTlMWjln?= =?utf-8?B?ZzVjdzhQTVMvQUZWS1BxL0gyM2lQMjV3NG1sWTd1OWF2Nll4eWdzazBxYjB6?= =?utf-8?B?MGRZdjQ0YXdxd01HSldvalI5VFMxU2VwYllQcDl6UUJXSmZ0M212QmFSRHkr?= =?utf-8?B?alVCZjJ2elpGenZSNkFwc09PNWZEZHNEakluNEgvZ2pwc3NsZXR0UUljTTg3?= =?utf-8?B?eDUxdUEwcEQ2dzNwZDJRVWFaK3pibXd0dUdsdmlvOFM5ZllKS3hWNlNVM0p6?= =?utf-8?B?VUNjZUpzbm9HcEo1TDZnY0dBL01PRFNmZzZSSDRWNU92blg1cXRsVFVSZjZX?= =?utf-8?B?eXJMWk1GUUxra0ZYeklyNmx6NlN4cHJCeFJMMmgwWHlpcXdiRkdvY0dQQzMr?= =?utf-8?B?Y09xcFM3RzdMcHgyOFJXWmo4TDVKZ0RoNzVNcmFKZC9tdktBRHdGQUtBcisr?= =?utf-8?B?ek1oR1RkQ0FQamJONnRGYmdiYlpWbzBVbDY2ZjgzdnZzeXBTUEI4SXc2a2Ux?= =?utf-8?B?bmN5N0tHcTZUZnYrQnpnS2VsSytNTzlpbk5oMWxLa3ZURktOVHhudzRGWXlK?= =?utf-8?B?SlUvTWhhSHpaZkx4M3pKVExISXhNK0pIbk9qRzJWcEtFS2xXMlQ0U24wRzEz?= =?utf-8?B?Y3ljRjYreDV2QmxDdldIdytLOFZqTVdJcGxsaG9hTU1GZlc3bUl1UnQzeldj?= =?utf-8?B?L2FuanZWOG96Vlk5RjZWSDJPSGsyUmZhSHAyQm14Q2dKekJXRCsrQWdTbFBU?= =?utf-8?B?Zm1mc3RqNXh0RGRaeTNhMXdOM1d2NXBrVFNYQWtBbkN5c1hWR1hCSWF5aitn?= =?utf-8?B?M0FRRHo1U09pQ1ZuS0xRVXJmaDB6M3VTSUZQcjkwM20vR2t5MDloL0xaclVj?= =?utf-8?B?SmN4YUtMTmI3d0pFcjM1ajRkcCt1VHE3YjNDdmVGaXdOazlvYUEyNjJ5Z0Z2?= =?utf-8?B?a21PVlVwWDVCN2dBeExIOFRwWFd3eEdZOGViTU5HMVFkMjd3d1lERTVDSDJQ?= =?utf-8?B?ek5LbGFZMVdvTjRZTDZWL0h4bkFMYTNHd2VHd1ZvMlBiaVF4aGFMNzVKaElo?= =?utf-8?B?Vm4yYW1NMld6R2c3eFc2UTFERDVTL1NHUHFNS0hhakVBemVCYnRNNGNUL1Vw?= =?utf-8?B?QzNjbkQ1Z0dOTUFXL1hkVElIbThhS3hWQlBDQ3V5T2hPSFhMTHpGZlhvUnRo?= =?utf-8?B?WkowZmc5VVJhTytMS1R0cFlOMld5MlJ4TFAvcGcvZGpiZWQzSlcxV1FrenJ6?= =?utf-8?B?NDlzMHdTM3JPUnEzVFRCa3VTZE5ucFNSOWJPb0ROYjJxcjJzaUszd2pFK0g4?= =?utf-8?B?TUhua1FqSjJXV1RseEFxWm1XdHFaaUVCLzZvMS9uOENTbzZ5VzhGWUtCVGpp?= =?utf-8?B?c0kxNzcxTHUvbGs2d09CSzlVbmZOeVc4UTA3d1RNV0pUdEQxTWFqU2RvTDV0?= =?utf-8?B?ZGxGMEtMMTdJTTVXMnoxSWQxSXUrbUVIQmQvSHpueVRMWXZNSFpkNEd1cFVL?= =?utf-8?B?NStPN2NPenEyN2wzWHlwQUFUVkxSYnNYLzB4N0Y0VlJhejBROVI2Sit1WTVh?= =?utf-8?B?T3Z5bXN5Z0RkbzZ0c2R3U3BQZjcxRllqeHlyTmMvWmVPUFJRRmMxcE15UXlM?= =?utf-8?B?aXd2NTlnTUFzR0o2NXRsRUo1eW1mZ21CREs0UmNkaXpKL2c3VS9yNnY2YnV0?= =?utf-8?B?Z082S3pjWGVNSWdxemZxS2RrQlBpUGtqa3ZZQlloS2NNTVVZR3hHdFJyWjNi?= =?utf-8?B?czNmekdjdGpqTWo5QlBlUFNwZW1nU3hwVTAwcExSTVpjcWFzOEZhNzd6ek9i?= =?utf-8?B?ZVZ3dTBjK0lpVnFGODhtWDg0VDBVNGh1WWxMd2RhY0FFMVpaSTd6KzJ0N1FG?= =?utf-8?B?S0JNdUNLWDl3TVN0R2ExN0YzQTRUakxRSjh0allPRndsOVhMU1ZKdGxYRWlU?= =?utf-8?B?TXVVZk56TElPNUFBeGw2bjJScGQ1NlpaUXBDUU5zYm1nUlhrazB2TkhNU29h?= =?utf-8?B?RE5DWi9QTHI0RWJrSExTZGJwUWo2b0NBdDVWc2lGSysweUdkK0I3Vk5zODJI?= =?utf-8?B?MnZlQWNORDM0NjhQUVhVczg0NmdhS2V2WWpXd1Npd2VtS095d241ZW1YUThs?= =?utf-8?B?ZUptQ01HTkhHSk1JbEV4ajdCbzRhV3NUZnU1NG1yelJTbXJhYWdzOVdadDls?= =?utf-8?B?VmR6SXpvVHFEK1NBYnFRNTZFMjd6ZWFqQ0prb2NFZHg4REJMaDNUc0FjZ1U5?= =?utf-8?B?REt4Slhad3BERkYrZURLaE5lNHpSdzdiRWR1VGQwMWI2ZFpQRnFHTmI3WGlW?= =?utf-8?Q?o8jjhdbQM6Sip+IA=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: 8650535a-4268-400d-6971-08da13ffabc4 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Apr 2022 16:50:04.4929 (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: YbNNlDHwhs8yC9q7NwHQ6lNX3Efzvy9ba6S+ec4RJZD4DjddVf8nJPAVVm7fSBznjoiu6n2taKAP+s114MkcUA+1WWL4j4vCd83TvtfnUmI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB2035 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 Q2FuIHlvdSBleHBsYWluIGhvdyB0aGlzIGZpbGVuYW1lIGlzIHVzZWQ/ICBQZXJoYXBzIGFkZCBh IGNvbW1lbnQgaW4gdGhpcyBzZXJpZXMuDQoNCklmIHRoaXMgcGF0dGVybiBpcyB1c2VkIGluIHNl dmVyYWwgcGxhY2VzLCB0aGVuIEkgYWdyZWUgdGhhdCBjYW4gYmUgY2xlYW5lZCB1cCBpbiBhIGRp ZmZlcmVudCBwYXRjaCBzZXJpZXMuDQoNCk1pa2UgDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMu aW8+IE9uIEJlaGFsZiBPZiBNaWNoYWVsIEt1YmFja2kNCj4gU2VudDogRnJpZGF5LCBBcHJpbCAx LCAyMDIyIDk6MDcgQU0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksIE1pY2hh ZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IENjOiBHYW8sIExpbWluZyA8Z2Fv bGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgU2VhbiBCcm9nYW4gPHNlYW4uYnJvZ2FuQG1pY3Jvc29m dC5jb20+OyBCcmV0IEJhcmtlbGV3DQo+IDxCcmV0LkJhcmtlbGV3QG1pY3Jvc29mdC5jb20+DQo+ IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDIvNF0gLnB5dG9vbC9QbHVnaW4v VW5jcnVzdGlmeUNoZWNrOiBBZGQgaWdub3JlIGZpbGUgc3VwcG9ydA0KPiANCj4gVGhhdCBpcyBi b3Jyb3dlZCBmcm9tIGEgcGF0dGVybiB1c2VkIGluIG90aGVyIHBsdWdpbnMuIEV4YW1wbGU6DQo+ IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci8ucHl0b29sL1Bs dWdpbi9TcGVsbENoZWNrL1NwZWxsQ2hlY2sucHkjTDE2MC0jTDE2MQ0KPiANCj4gSSBkb24ndCBt aW5kIHVwZGF0aW5nIHRoZSBwbHVnaW5zIHRvIGRvIHNvbWV0aGluZyBkaWZmZXJlbnQgaWYgdGhh dCBpcw0KPiBkZXNpcmVkLCBidXQgcGVyaGFwcyB0aGF0IHNob3VsZCBiZSBhIHNlcGFyYXRlIGNo YW5nZS4NCj4gDQo+IFJlZ2FyZHMsDQo+IE1pY2hhZWwNCj4gDQo+IE9uIDMvMjIvMjAyMiAxMjox NCBQTSwgTWljaGFlbCBEIEtpbm5leSB3cm90ZToNCj4gPiBNaWNoYWVsLA0KPiA+DQo+ID4gT25l IGNvbW1lbnQgYmVsb3cuDQo+ID4NCj4gPiBNaWtlDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogbWlrdWJhY2tAbGludXgubWljcm9zb2Z0LmNvbSA8bWlr dWJhY2tAbGludXgubWljcm9zb2Z0LmNvbT4NCj4gPj4gU2VudDogTW9uZGF5LCBNYXJjaCAyMSwg MjAyMiA2OjU4IFBNDQo+ID4+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+PiBDYzogS2lu bmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcg PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IFNlYW4gQnJvZ2FuDQo+ID4+IDxzZWFuLmJyb2dh bkBtaWNyb3NvZnQuY29tPjsgQnJldCBCYXJrZWxldyA8QnJldC5CYXJrZWxld0BtaWNyb3NvZnQu Y29tPg0KPiA+PiBTdWJqZWN0OiBbUEFUQ0ggdjEgMi80XSAucHl0b29sL1BsdWdpbi9VbmNydXN0 aWZ5Q2hlY2s6IEFkZCBpZ25vcmUgZmlsZSBzdXBwb3J0DQo+ID4+DQo+ID4+IEZyb206IE1pY2hh ZWwgS3ViYWNraSA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+DQo+ID4+DQo+ID4+IFJF RjpodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM4ODANCj4g Pj4NCj4gPj4gQ3VycmVudGx5IFVuY3J1c3RpZnlDaGVjay5weSBwcm92aWRlcyB0aGUgZm9sbG93 aW5nIGV4Y2x1c2lvbg0KPiA+PiBvcHRpb25zOg0KPiA+Pg0KPiA+PiAxLiBPdmVycmlkZSB0aGUg dHlwZSBvZiBmaWxlcyBVbmNydXN0aWZ5Q2hlY2sgb3BlcmF0ZXMgYWdhaW5zdCBieQ0KPiA+PiBk ZWZhdWx0ICguYyBhbmQgLmggZmlsZXMpLiBVc2luZyB0aGUgIklnbm9yZVN0YW5kYXJkUGF0aHMi DQo+ID4+IGNvbmZpZ3VyYXRpb24gb3B0aW9uLg0KPiA+Pg0KPiA+PiAyLiBCeSBkZWZhdWx0LCBV bmNydXN0aWZ5Q2hlY2sgc2tpcHMgZmlsZXMgaW4gZ2l0IHN1Ym1vZHVsZXMgYW5kDQo+ID4+IGln bm9yZWQgYnkgZ2l0ICh0aGUgIlNraXBHaXRFeGNsdXNpb25zIiBjb25maWd1cmF0aW9uIG9wdGlv biBjYW4NCj4gPj4gb3ZlcnJpZGUgdGhpcyBiZWhhdmlvcikuDQo+ID4+DQo+ID4+IFRoZSBnb2Fs IG9mIFVuY3J1c3RpZnlDaGVjayBpcyB0byBwcm92aWRlIGNvbnNpc3RlbnQgZm9ybWF0dGluZw0K PiA+PiBhY3Jvc3MgdGhlIGNvZGViYXNlLiBJbiBzb21lIHJhcmUgY2lyY3Vtc3RhbmNlcywgbWFp bnRhaW5lcnMgbWlnaHQNCj4gPj4gbmVlZCB0byBleGNsdWRlIGEgc3BlY2lmaWMgZmlsZSAob3Ig ZmlsZSBwYXR0ZXJuKSB3aXRoaW4gdGhlaXINCj4gPj4gcGFja2FnZS4gRm9yIGV4YW1wbGUsIGEg c21hbGwgc2V0IG9mIGF1dG8tZ2VuZXJhdGVkIGZpbGVzIGZyb20NCj4gPj4gYW5vdGhlciByZXBv c2l0b3J5Lg0KPiA+Pg0KPiA+PiBUaGlzIGNoYW5nZSBhZGRzIGEgbmV3IGNvbmZpZ3VyYXRpb24g b3B0aW9uIHRoYXQgY2FuIGJlIHNwZWNpZmllZA0KPiA+PiBpbiBhIHBhY2thZ2UgQ0kgWUFNTCBm aWxlIHRvIGRlc2NyaWJlIGEgbGlzdCBvZiBmaWxlcyB3aXRoaW4gdGhlDQo+ID4+IHBhY2thZ2Ug dGhhdCBzaG91bGQgYmUgaWdub3JlZCBieSBVbmNydXN0aWZ5Q2hlY2suDQo+ID4+DQo+ID4+IFRo ZSBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBjYWxsZWQgIklnbm9yZUZpbGVzIiBhbmQgaXQgdXNl cyBzaW1pbGFyDQo+ID4+IHN5bnRheCB0byBnaXQgaWdub3JlIHRvIGlnbm9yZSBhIGxpc3Qgb2Yg ZmlsZXMuDQo+ID4+DQo+ID4+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT4NCj4gPj4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5j bj4NCj4gPj4gQ2M6IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPg0KPiA+ PiBDYzogQnJldCBCYXJrZWxldyA8QnJldC5CYXJrZWxld0BtaWNyb3NvZnQuY29tPg0KPiA+PiBT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEt1YmFja2kgPG1pY2hhZWwua3ViYWNraUBtaWNyb3NvZnQu Y29tPg0KPiA+PiAtLS0NCj4gPj4gICAucHl0b29sL1BsdWdpbi9VbmNydXN0aWZ5Q2hlY2svUmVh ZG1lLm1kICAgICAgICAgIHwgIDcgKysrKysrDQo+ID4+ICAgLnB5dG9vbC9QbHVnaW4vVW5jcnVz dGlmeUNoZWNrL1VuY3J1c3RpZnlDaGVjay5weSB8IDI0ICsrKysrKysrKysrKysrKysrKysrDQo+ ID4+ICAgMiBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspDQo+ID4+DQo+ID4+IGRpZmYg LS1naXQgYS8ucHl0b29sL1BsdWdpbi9VbmNydXN0aWZ5Q2hlY2svUmVhZG1lLm1kIGIvLnB5dG9v bC9QbHVnaW4vVW5jcnVzdGlmeUNoZWNrL1JlYWRtZS5tZA0KPiA+PiBpbmRleCAwYzQ2ZmQyNDFh N2EuLmVmZTdhNTczZTRmYSAxMDA2NDQNCj4gPj4gLS0tIGEvLnB5dG9vbC9QbHVnaW4vVW5jcnVz dGlmeUNoZWNrL1JlYWRtZS5tZA0KPiA+PiArKysgYi8ucHl0b29sL1BsdWdpbi9VbmNydXN0aWZ5 Q2hlY2svUmVhZG1lLm1kDQo+ID4+IEBAIC00MSw2ICs0MSw3IEBAIFRoZSBwbHVnaW4gY2FuIGJl IGNvbmZpZ3VyZWQgd2l0aCBhIGZldyBvcHRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMuDQo+ ID4+ICAgICAgICAgIkFkZGl0aW9uYWxJbmNsdWRlUGF0aHMiOiBbXSwgIyBBZGRpdGlvbmFsIHBh dGhzIHRvIGNoZWNrIGZvcm1hdHRpbmcgKHdpbGRjYXJkcyBzdXBwb3J0ZWQpLg0KPiA+PiAgICAg ICAgICJBdWRpdE9ubHkiOiBGYWxzZSwgICAgICAgICAgICMgRG9uJ3QgZmFpbCB0aGUgYnVpbGQg aWYgdGhlcmUgYXJlIGVycm9ycy4gIEp1c3QgbG9nIHRoZW0uDQo+ID4+ICAgICAgICAgIkNvbmZp Z0ZpbGVQYXRoIjogIiIsICAgICAgICAgIyBDdXN0b20gcGF0aCB0byBhbiBVbmNydXN0aWZ5IGNv bmZpZyBmaWxlLg0KPiA+PiArICAgICAgIklnbm9yZUZpbGVzIjogW10sICAgICAgICAgICAgIyBB IGxpc3Qgb2YgZmlsZSBwYXR0ZXJucyB0byBpZ25vcmUuDQo+ID4+ICAgICAgICAgIklnbm9yZVN0 YW5kYXJkUGF0aHMiOiBbXSwgICAgIyBTdGFuZGFyZCBQbHVnaW4gZGVmaW5lZCBwYXRocyB0aGF0 IHNob3VsZCBiZSBpZ25vcmVkLg0KPiA+PiAgICAgICAgICJPdXRwdXRGaWxlRGlmZnMiOiBUcnVl LCAgICAgICMgT3V0cHV0IGNodW5rcyBvZiBmb3JtYXR0aW5nIGRpZmZzIGluIHRoZSB0ZXN0IGNh c2UgbG9nLg0KPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVGhp cyBjYW4gc2lnbmlmaWNhbnRseSBzbG93IGRvd24gdGhlIHBsdWdpbiBvbiB2ZXJ5IGxhcmdlIHBh Y2thZ2VzLg0KPiA+PiBAQCAtNjcsNiArNjgsMTIgQEAgdGhlIHRlc3QgYXMgc2tpcHBlZC4gVGhp cyBhbGxvd3MgdmlzaWJpbGl0eSBpbnRvIHRoZSBmYWlsdXJlcyB3aXRob3V0IGJyZWFraW5nIHQN Cj4gPj4NCj4gPj4gICBXaGVuIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnIGZpbGUsIHRoaXMgaXMg YSBwYWNrYWdlIHJlbGF0aXZlIHBhdGggdG8gdGhlIFVuY3J1c3RpZnkgY29uZmlndXJhdGlvbiBm aWxlLg0KPiA+Pg0KPiA+PiArIyMjIGBJZ25vcmVGaWxlc2ANCj4gPj4gKw0KPiA+PiArVGhpcyBv cHRpb24gc3VwcG9ydHMgLmdpdGlnbm9yZSBmaWxlIGFuZCBmb2xkZXIgbWF0Y2hpbmcgc3RyaW5n cyBpbmNsdWRpbmcgd2lsZGNhcmRzLg0KPiA+PiArDQo+ID4+ICtUaGUgZmlsZXMgc3BlY2lmaWVk IGJ5IHRoaXMgY29uZmlndXJhdGlvbiBvcHRpb24gd2lsbCBub3QgYmUgcHJvY2Vzc2VkIGJ5IFVu Y3J1c3RpZnkuDQo+ID4+ICsNCj4gPj4gICAjIyMgYElnbm9yZVN0YW5kYXJkUGF0aHNgDQo+ID4+ DQo+ID4+ICAgVGhpcyBwbHVnaW4gYnkgZGVmYXVsdCB3aWxsIGNoZWNrIHRoZSBiZWxvdyBzdGFu ZGFyZCBwYXRocy4gQSBwYWNrYWdlIGNvbmZpZ3VyYXRpb24gZmlsZSBjYW4gc3BlY2lmeSBhbnkg b2YgdGhlc2UgcGF0aHMNCj4gPj4gZGlmZiAtLWdpdCBhLy5weXRvb2wvUGx1Z2luL1VuY3J1c3Rp ZnlDaGVjay9VbmNydXN0aWZ5Q2hlY2sucHkgYi8ucHl0b29sL1BsdWdpbi9VbmNydXN0aWZ5Q2hl Y2svVW5jcnVzdGlmeUNoZWNrLnB5DQo+ID4+IGluZGV4IGRjMTMzZmVjYzRiMi4uZTgzNzAzODEw MzJmIDEwMDY0NA0KPiA+PiAtLS0gYS8ucHl0b29sL1BsdWdpbi9VbmNydXN0aWZ5Q2hlY2svVW5j cnVzdGlmeUNoZWNrLnB5DQo+ID4+ICsrKyBiLy5weXRvb2wvUGx1Z2luL1VuY3J1c3RpZnlDaGVj ay9VbmNydXN0aWZ5Q2hlY2sucHkNCj4gPj4gQEAgLTEzLDExICsxMywxMyBAQCBpbXBvcnQgb3MN Cj4gPj4gICBpbXBvcnQgcGF0aGxpYg0KPiA+PiAgIGltcG9ydCBzaHV0aWwNCj4gPj4gICBpbXBv cnQgdGltZWl0DQo+ID4+ICtmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgQ2FsbGFibGUNCj4g Pj4gICBmcm9tIGVkazJ0b29sZXh0LmVudmlyb25tZW50IGltcG9ydCB2ZXJzaW9uX2FnZ3JlZ2F0 b3INCj4gPj4gICBmcm9tIGVkazJ0b29sZXh0LmVudmlyb25tZW50LnBsdWdpbl9tYW5hZ2VyIGlt cG9ydCBQbHVnaW5NYW5hZ2VyDQo+ID4+ICAgZnJvbSBlZGsydG9vbGV4dC5lbnZpcm9ubWVudC5w bHVnaW50eXBlcy5jaV9idWlsZF9wbHVnaW4gaW1wb3J0IElDaUJ1aWxkUGx1Z2luDQo+ID4+ICAg ZnJvbSBlZGsydG9vbGV4dC5lbnZpcm9ubWVudC5wbHVnaW50eXBlcy51ZWZpX2hlbHBlcl9wbHVn aW4gaW1wb3J0IEhlbHBlckZ1bmN0aW9ucw0KPiA+PiAgIGZyb20gZWRrMnRvb2xleHQuZW52aXJv bm1lbnQudmFyX2RpY3QgaW1wb3J0IFZhckRpY3QNCj4gPj4gK2Zyb20gZWRrMnRvb2xsaWIuZ2l0 aWdub3JlX3BhcnNlciBpbXBvcnQgcGFyc2VfZ2l0aWdub3JlX2xpbmVzDQo+ID4+ICAgZnJvbSBl ZGsydG9vbGxpYi5sb2cuanVuaXRfcmVwb3J0X2Zvcm1hdCBpbXBvcnQgSnVuaXRSZXBvcnRUZXN0 Q2FzZQ0KPiA+PiAgIGZyb20gZWRrMnRvb2xsaWIudWVmaS5lZGsyLnBhdGhfdXRpbGl0aWVzIGlt cG9ydCBFZGsyUGF0aA0KPiA+PiAgIGZyb20gZWRrMnRvb2xsaWIudXRpbGl0eV9mdW5jdGlvbnMg aW1wb3J0ICBSdW5DbWQNCj4gPj4gQEAgLTI3Myw2ICsyNzUsMTUgQEAgY2xhc3MgVW5jcnVzdGlm eUNoZWNrKElDaUJ1aWxkUGx1Z2luKToNCj4gPj4gICAgICAgICAgICAgICBmIi1jIHtzZWxmLl9h cHBfY29uZmlnX2ZpbGV9IC1GIHtzZWxmLl9hcHBfaW5wdXRfZmlsZV9wYXRofSAtLWlmLWNoYW5n ZWQgLS1zdWZmaXgNCj4gPj4ge1VuY3J1c3RpZnlDaGVjay5GT1JNQVRURURfRklMRV9FWFRFTlNJ T059Iiwgb3V0c3RyZWFtPW91dHB1dCkNCj4gPj4gICAgICAgICAgIHNlbGYuX2FwcF9vdXRwdXQg PSBvdXRwdXQuZ2V0dmFsdWUoKS5zdHJpcCgpLnNwbGl0bGluZXMoKQ0KPiA+Pg0KPiA+PiArICAg IGRlZiBfZ2V0X2ZpbGVzX2lnbm9yZWRfaW5fY29uZmlnKHNlbGYpIC0+IENhbGxhYmxlW1tzdHJd LCBib29sXToNCj4gPj4gKyAgICAgICAgIiIiIg0KPiA+PiArICAgICAgICBSZXR1cm5zIGEgZnVu Y3Rpb24gdGhhdCByZXR1cm5zIHRydWUgaWYgYSBnaXZlbiBmaWxlIHN0cmluZyBwYXRoIGlzIGln bm9yZWQgaW4gdGhlIHBsdWdpbiBjb25maWd1cmF0aW9uIGZpbGUgYW5kDQo+IGZhbHNlDQo+ID4+ IG90aGVyd2lzZS4NCj4gPj4gKyAgICAgICAgIiIiDQo+ID4+ICsgICAgICAgIGlnbm9yZWRfZmls ZXMgPSBbXQ0KPiA+PiArICAgICAgICBpZiAiSWdub3JlRmlsZXMiIGluIHNlbGYuX3BhY2thZ2Vf Y29uZmlnOg0KPiA+PiArICAgICAgICAgICAgaWdub3JlZF9maWxlcyA9IHNlbGYuX3BhY2thZ2Vf Y29uZmlnWyJJZ25vcmVGaWxlcyJdDQo+ID4+ICsgICAgICAgIHJldHVybiBwYXJzZV9naXRpZ25v cmVfbGluZXMoaWdub3JlZF9maWxlcywgb3MucGF0aC5qb2luKHNlbGYuX2Fic193b3Jrc3BhY2Vf cGF0aCwgIm5vZmlsZS50eHQiKSwNCj4gPj4gc2VsZi5fYWJzX3dvcmtzcGFjZV9wYXRoKQ0KPiA+ DQo+ID4gV2hhdCBpcyB0aGUgcHVycG9zZSBvZiAibm9maWxlLnR4dCIgaGVyZT8gIElmIHRoaXMg YSBwYXJhbSB0aGF0IGlzIG9wdGlvbmFsL2lnbm9yZWQ/ICBJZiBzbywgdGhlcmUNCj4gPiBhcmUg YmV0dGVyIHB5dGhvbiBtZXRob2RzIHRvIGRvIHRoYXQuDQo+ID4NCj4gPj4gKw0KPiA+PiAgICAg ICBkZWYgX2dldF9naXRfaWdub3JlZF9wYXRocyhzZWxmKSAtPiBMaXN0W3N0cl06DQo+ID4+ICAg ICAgICAgICAiIiIiDQo+ID4+ICAgICAgICAgICBSZXR1cm5zIGEgbGlzdCBvZiBmaWxlIGFic29s dXRlIHBhdGggc3RyaW5ncyB0byBhbGwgZmlsZXMgaWdub3JlZCBpbiB0aGlzIGdpdCByZXBvc2l0 b3J5Lg0KPiA+PiBAQCAtNDY0LDYgKzQ3NSwxOSBAQCBjbGFzcyBVbmNydXN0aWZ5Q2hlY2soSUNp QnVpbGRQbHVnaW4pOg0KPiA+PiAgICAgICAgICAgICAgIHNlbGYuX2Fic19maWxlX3BhdGhzX3Rv X2Zvcm1hdC5leHRlbmQoDQo+ID4+ICAgICAgICAgICAgICAgICAgIFtzdHIocGF0aC5yZXNvbHZl KCkpIGZvciBwYXRoIGluIHBhdGhsaWIuUGF0aChzZWxmLl9hYnNfcGFja2FnZV9wYXRoKS5yZ2xv YihwYXRoKV0pDQo+ID4+DQo+ID4+ICsgICAgICAgICMgUmVtb3ZlIGZpbGVzIGlnbm9yZSBpbiB0 aGUgcGx1Z2luIGNvbmZpZ3VyYXRpb24gZmlsZQ0KPiA+PiArICAgICAgICBwbHVnaW5faWdub3Jl ZF9maWxlcyA9IGxpc3QoZmlsdGVyKHNlbGYuX2dldF9maWxlc19pZ25vcmVkX2luX2NvbmZpZygp LCBzZWxmLl9hYnNfZmlsZV9wYXRoc190b19mb3JtYXQpKQ0KPiA+PiArDQo+ID4+ICsgICAgICAg IGlmIHBsdWdpbl9pZ25vcmVkX2ZpbGVzOg0KPiA+PiArICAgICAgICAgICAgbG9nZ2luZy5pbmZv KA0KPiA+PiArICAgICAgICAgICAgICAgIGYie3NlbGYuX3BhY2thZ2VfbmFtZX0gZmlsZSBjb3Vu dCBiZWZvcmUgcGx1Z2luIGlnbm9yZSBmaWxlIGV4Y2x1c2lvbjoNCj4ge2xlbihzZWxmLl9hYnNf ZmlsZV9wYXRoc190b19mb3JtYXQpfSIpDQo+ID4+ICsgICAgICAgICAgICBmb3IgcGF0aCBpbiBw bHVnaW5faWdub3JlZF9maWxlczoNCj4gPj4gKyAgICAgICAgICAgICAgICBpZiBwYXRoIGluIHNl bGYuX2Fic19maWxlX3BhdGhzX3RvX2Zvcm1hdDoNCj4gPj4gKyAgICAgICAgICAgICAgICAgICAg bG9nZ2luZy5pbmZvKGYiICBGaWxlIGlnbm9yZWQgaW4gcGx1Z2luIGNvbmZpZyBmaWxlOiB7cGF0 aH0iKQ0KPiA+PiArICAgICAgICAgICAgICAgICAgICBzZWxmLl9hYnNfZmlsZV9wYXRoc190b19m b3JtYXQucmVtb3ZlKHBhdGgpDQo+ID4+ICsgICAgICAgICAgICBsb2dnaW5nLmluZm8oDQo+ID4+ ICsgICAgICAgICAgICAgICAgZiJ7c2VsZi5fcGFja2FnZV9uYW1lfSBmaWxlIGNvdW50IGFmdGVy IHBsdWdpbiBpZ25vcmUgZmlsZSBleGNsdXNpb246DQo+IHtsZW4oc2VsZi5fYWJzX2ZpbGVfcGF0 aHNfdG9fZm9ybWF0KX0iKQ0KPiA+PiArDQo+ID4+ICAgICAgICAgICBpZiBub3QgIlNraXBHaXRF eGNsdXNpb25zIiBpbiBzZWxmLl9wYWNrYWdlX2NvbmZpZyBvciBub3Qgc2VsZi5fcGFja2FnZV9j b25maWdbIlNraXBHaXRFeGNsdXNpb25zIl06DQo+ID4+ICAgICAgICAgICAgICAgIyBSZW1vdmUg ZmlsZXMgaWdub3JlZCBieSBnaXQNCj4gPj4gICAgICAgICAgICAgICBsb2dnaW5nLmluZm8oDQo+ ID4+IC0tDQo+ID4+IDIuMjguMC53aW5kb3dzLjENCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ ID4NCj4gDQo+IA0KPiANCj4gDQoNCg==