From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web12.4627.1587570081241091355 for ; Wed, 22 Apr 2020 08:41:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=rvnTWJiG; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: wCGuxzkYj15ES38k/UoUmu/kMhwinfaCfUOshTWv+/Um4K8WO6KY+K2Q9a9WzXupiSTp9uySZ/ JmEVABvrMYag== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2020 08:41:20 -0700 IronPort-SDR: pz3cphCZ86KASf61KKAWYdExPuEGyO1vatJw3ZwQbPar4YF4vGm/3uj4RrEsZVq+cxdlNG1sjs FA4Bir3RDmRg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,303,1583222400"; d="scan'208";a="259109845" Received: from orsmsx108.amr.corp.intel.com ([10.22.240.6]) by orsmga006.jf.intel.com with ESMTP; 22 Apr 2020 08:41:19 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX108.amr.corp.intel.com (10.22.240.6) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 22 Apr 2020 08:41:19 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 22 Apr 2020 08:41:19 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 22 Apr 2020 08:41:19 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.174) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 22 Apr 2020 08:41:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kjvC1NC3JVmu7hbqZ1EUPNu2lZqptAw/9sSn/Qc5gRuv+2+9Wviy55gvQZg9mPFs5FXd9HmOli5btdDXIZZWPCH3zui+C5Nmc8pGo7YfRQBDTbKfOI8N7TUs9SqOnJeZ8Eo5L9D02WogjeH1h7q2wX+lOtO/eRsg2SxmwJiBgla3DKswFwCqd/6l4ij9mPI11j7VI0zfHi2vPrdDCmgFzDlY/FNz+7J5Da8xzZyf7/90bUbIwoDkZ80THYd1okeMHCgg2t+7B3zGsNUfSABCsItNBEeL7h7Cd7U1lCCznWm0YmbJHj9A6AhU6ymFrGiOYvF39NvxN+XLb8cr/Sov4A== 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=aqhz78kSwHzY/8pKK9echXaKe4lkrJ5HF6jfEzv/Y4A=; b=XvfWJaODUzgdmz5L8P0yx6dDeDyPbRX4F28/ThQNHprGabYqJi3yjg2rWLkVrL953ZfR3VZi8KeJyP4WdXTNJ4aDVlol/E29EbTcr3s/rz2aCb1xDtxdAbglZDsYSWxqcOImKtTV5rXC4pOccpAybwcH8MWiHgeFu6DLbcHyyqsp263yq/nartdSsLoahFfYHRt5D/YKXWWOcgsvBbNtGAF63QhQTYkaPrzm4/8n7UF00K/WbSdAhVDVOa75MCfqLMT+qwuL/kyffInaaC8y+d6XJy7jyGYPvMcCHQyyzucsJF2YmXx38KlfULl285oLjB/9cJ9I70bLY8nUWvWFmg== 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=aqhz78kSwHzY/8pKK9echXaKe4lkrJ5HF6jfEzv/Y4A=; b=rvnTWJiGZ08KlJXtgwGcYT/VvUwp/OZGdLSayt6RUkMNNwvxqHPlwWy2+qtVfJ0LRI1423ap0A1zkLjxw0vrxw4vFhWXZBK9SAbtM/lgpYmcUwKWjKhrhTReY5ATM4u+r1fx7BDo7aVNytC7YSmcDw6C3lIun0eVe0V5NfKBBk8= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB3645.namprd11.prod.outlook.com (2603:10b6:208:f8::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.27; Wed, 22 Apr 2020 15:41:17 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::dd22:4e87:f41f:929d]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::dd22:4e87:f41f:929d%7]) with mapi id 15.20.2921.030; Wed, 22 Apr 2020 15:41:16 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "Gao, Liming" , "Zhang, Shenglei" , "Kinney, Michael D" CC: "Feng, Bob C" Subject: Re: [edk2-devel] [PATCH] BaseTools/PatchCheck.py: Add LicenseCheck Thread-Topic: [edk2-devel] [PATCH] BaseTools/PatchCheck.py: Add LicenseCheck Thread-Index: AQHWGHNTi82w/+6d806YY9OWfqg246iEtuKAgACOeGA= Date: Wed, 22 Apr 2020 15:41:16 +0000 Message-ID: References: <20200422065655.75392-1-shenglei.zhang@intel.com> 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.2.0.6 authentication-results: spf=none (sender IP is ) smtp.mailfrom=michael.d.kinney@intel.com; x-originating-ip: [192.55.52.212] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 53896de2-666f-4442-fd7d-08d7e6d398a6 x-ms-traffictypediagnostic: MN2PR11MB3645: 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:1169; x-forefront-prvs: 03818C953D x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(10019020)(396003)(376002)(39860400002)(346002)(136003)(366004)(26005)(52536014)(66446008)(64756008)(66556008)(66476007)(66946007)(76116006)(86362001)(9686003)(7696005)(966005)(53546011)(8676002)(81156014)(8936002)(6506007)(478600001)(55016002)(4326008)(5660300002)(110136005)(71200400001)(33656002)(2906002)(186003)(107886003)(316002);DIR:OUT;SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: giZia2+7coMPI0bj6UwCByrUWQwLWckHsSM1+8/OYPphI3DuiVkpveHnYgTtpYDLYJCIbYlRzsS6GQ7zNeTN9ER2rJsHJC20/XzEBl4UxuVOFjVoCkyVcIbHs8GzATARAs1NkgfNXwSlyB1uOTpBVBBnswDz2CbCgSsycJNRr+r+wX2wdMYjtudXtfoXH5nG3EMknadxLaWplM97TOAZTe+jn42drFIlP/b8dPwqhsvh0GLnn+dK5vW3A9DwQcLPQMtXRdv67h4kOf9j9Qw33O+Rp+8x4WBWN8XYbY+Ma+YebXzYYLuzR0UECaa6tiNU8tMzisOE133qEGpDFeYdwLMBz62azOj3Mi+yXp7iEp47W+iBIBUZcOeUdvJJMzWO+XKZ/l44cjPFb5/QiYnBtHbWo5dSEaLJN5Ssm0FAKyobmDFeB/fYvqBxTqMQ/zHhSzfSrwp8Zg5FyfZQCe4NNeDcrHye9peVKpazsxer9b3w+o6tPSZp3LyGzMeiY0rnmxAA1xTJWRNgzVtErnCVhw== x-ms-exchange-antispam-messagedata: xV3xHDC3vFIe/Xvo7BepRr/Bo1mGU3q4pfyJl0R+2EXKFD02nHIyC9tLUWn38563Qriv7ePT1YSAhADxZ3S7M5VNiRJ5JQmcXq31vP/b45axZv5eamKPIHjdeGU2MrowYG7Dzg84fKcYe0pILKlV+w== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 53896de2-666f-4442-fd7d-08d7e6d398a6 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Apr 2020 15:41:16.8373 (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: yD9PkcUHSIUCyQ5Z78VCHGPe2L+lg4IJ2epkRaKWZVQkC5P6V05QyKMQ8QsDC5EfnTJ1Gkmo0sBxv29dCtR2/n1eZEogh9Z+8qddvRLV4fA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3645 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 SGkgTGltaW5nLA0KDQpJIGRvIG5vdCBzZWUgdGhpcyBjaGFuZ2UgY2hlY2tpbmcgdGhhdCB0aGUg bGljZW5zZSBpcyBpbiBhIHByb3Blcg0KU1BEWCBJZGVudGlmaWVyIHN0YXRlbWVudD8NCg0KCWh0 dHBzOi8vc3BkeC5vcmcvaWRzLWhvdw0KDQpPbmx5IGNoZWNraW5nIHRoZSBmb3IgYSBsaWNlbnNl IG5hbWUgaXMgbm90IHN1ZmZpY2llbnQuICANCg0KQSBmaWxlIG1heSBiZSBjb3ZlcmVkIGJ5IG1v cmUgdGhhbiBvbmUgbGljZW5zZS4gIFdoYXQgaXMgdGhlIGJlaGF2aW9yIGluDQp0aGlzIGNhc2U/ DQoNClRoZSBFREsgSUkgcHJvamVjdCBoYXMgQlNELTItQ2xhdXNlLVBhdGVudCBhcyB0aGUgcHJl ZmVycmVkIGxpY2Vuc2UsIGJ1dA0Kb3RoZXIgbGljZW5zZXMgYXJlIGFsbG93ZWQuICBXZSB1c2Ug UGF0Y2hDaGVjay5weSBpbiBFREsgSUkgQ0kuICBXaWxsIHRoaXMNCmNoYW5nZSBibG9jayBmaWxl IGFkZGVkIHdpdGggYSBkaWZmZXJlbnQgYWxsb3dlZCBsaWNlbnNlPw0KDQpJIHRoaW5rIHRoZXNl IHF1ZXN0aW9ucyBzaG91bGQgYmUgYWRkcmVzc2VkIGluIHRoZSBmaWxlIGhlYWRlciBvZiB0aGlz DQpzb3VyY2UgZmlsZSwgc28gdGhlIGJlaGF2aW9yIG9mIFBhdGNoQ2hlY2sucHkgaXMgY2xlYXJs eSBkZWZpbmVkLg0KDQpUaGFua3MsDQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ IE9uDQo+IEJlaGFsZiBPZiBMaW1pbmcgR2FvDQo+IFNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMjIs IDIwMjAgMTI6MDIgQU0NCj4gVG86IFpoYW5nLCBTaGVuZ2xlaSA8c2hlbmdsZWkuemhhbmdAaW50 ZWwuY29tPjsNCj4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IEZlbmcsIEJvYiBDIDxib2Iu Yy5mZW5nQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdDQo+ IEJhc2VUb29scy9QYXRjaENoZWNrLnB5OiBBZGQgTGljZW5zZUNoZWNrDQo+IA0KPiBTaGVuZ2xl aToNCj4gICBQbGVhc2Ugc3VibWl0IEJaIHRvIGRlc2NyaWJlIGl0LiBUaGUgbGljZW5zZSBzaG91 bGQNCj4gYmUgQlNELTItQ2xhdXNlLVBhdGVudC4NCj4gDQo+IFRoYW5rcw0KPiBMaW1pbmcNCj4g PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IFpoYW5nLCBTaGVuZ2xlaSA8 c2hlbmdsZWkuemhhbmdAaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMjIs IDIwMjAgMjo1NyBQTQ0KPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+IENjOiBGZW5n LCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBHYW8sIExpbWluZw0KPiA8bGltaW5nLmdh b0BpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogW1BBVENIXSBCYXNlVG9vbHMvUGF0Y2hDaGVjay5w eTogQWRkDQo+IExpY2Vuc2VDaGVjaw0KPiA+DQo+ID4gRm9yIGZpbGVzIHRvIGJlIGFkZGVkIHRv IHRoZSB0cmVlLCB0aGlzIGZlYXR1cmUgd2lsbA0KPiBjaGVjaw0KPiA+IHdoZXRoZXIgaXQgaGFz IEJTRCBsaWNlbnNlLg0KPiA+DQo+ID4gQ2M6IEJvYiBGZW5nIDxib2IuYy5mZW5nQGludGVsLmNv bT4NCj4gPiBDYzogTGltaW5nIEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ID4gU2lnbmVk LW9mZi1ieTogU2hlbmdsZWkgWmhhbmcNCj4gPHNoZW5nbGVpLnpoYW5nQGludGVsLmNvbT4NCj4g PiAtLS0NCj4gPiAgQmFzZVRvb2xzL1NjcmlwdHMvUGF0Y2hDaGVjay5weSB8IDUyDQo+ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgNTEgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL0Jhc2VUb29s cy9TY3JpcHRzL1BhdGNoQ2hlY2sucHkNCj4gYi9CYXNlVG9vbHMvU2NyaXB0cy9QYXRjaENoZWNr LnB5DQo+ID4gaW5kZXggMTNkYTY5Njc3ODVkLi4xNTY2M2QwMmEzYzAgMTAwNzU1DQo+ID4gLS0t IGEvQmFzZVRvb2xzL1NjcmlwdHMvUGF0Y2hDaGVjay5weQ0KPiA+ICsrKyBiL0Jhc2VUb29scy9T Y3JpcHRzL1BhdGNoQ2hlY2sucHkNCj4gPiBAQCAtNDkxLDYgKzQ5MSw1MyBAQCBjbGFzcyBHaXRE aWZmQ2hlY2s6DQo+ID4gICAgICAgICAgICAgIHByaW50KHByZWZpeCwgbGluZSkNCj4gPiAgICAg ICAgICAgICAgY291bnQgKz0gMQ0KPiA+DQo+ID4gK2NsYXNzIExpY2Vuc2VDaGVjaygpOg0KPiA+ ICsNCj4gPiArICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkaWZmKToNCj4gPiArICAgICAgICBzZWxm Lm9rID0gVHJ1ZQ0KPiA+ICsgICAgICAgIHNlbGYuc3RhcnRjaGVjayA9IEZhbHNlDQo+ID4gKyAg ICAgICAgc2VsZi5saWNlbnNlID0gVHJ1ZQ0KPiA+ICsgICAgICAgIGxpbmVzID0gZGlmZi5zcGxp dGxpbmVzKFRydWUpDQo+ID4gKyAgICAgICAgY291bnQgPSBsZW4obGluZXMpDQo+ID4gKyAgICAg ICAgbGluZV9pbmRleCA9IDANCj4gPiArICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoNCj4gPiAr ICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCctLS0gL2Rldi9udWxsJyk6DQo+ID4gKyAg ICAgICAgICAgICAgICBuZXh0bGluZSA9IGxpbmVzW2xpbmVfaW5kZXggKyAxXQ0KPiA+ICsgICAg ICAgICAgICAgICAgYWRkZWRfZmlsZSA9DQo+IHNlbGYuUmVhZGRlZGZpbGVmb3JtYXQuc2VhcmNo KG5leHRsaW5lKS5ncm91cCgxKQ0KPiA+ICsgICAgICAgICAgICAgICAgYWRkZWRfZmlsZV9leHRl bnNpb24gPQ0KPiBvcy5wYXRoLnNwbGl0ZXh0KGFkZGVkX2ZpbGUpWzFdDQo+ID4gKyAgICAgICAg ICAgICAgICBpZiBhZGRlZF9maWxlX2V4dGVuc2lvbiBpbg0KPiBzZWxmLmZpbGVfZXh0ZW5zaW9u X2xpc3Q6DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGFydGNoZWNrID0gVHJ1ZQ0K PiA+ICsgICAgICAgICAgICAgICAgICAgIHNlbGYubGljZW5zZSA9IEZhbHNlDQo+ID4gKyAgICAg ICAgICAgIGlmIHNlbGYuc3RhcnRjaGVjayBhbmQgc2VsZi5saWNlbnNlX25hbWUNCj4gaW4gbGlu ZToNCj4gPiArICAgICAgICAgICAgICAgIHNlbGYubGljZW5zZSA9IFRydWUNCj4gPiArICAgICAg ICAgICAgaWYgbGluZV9pbmRleCArIDEgPT0gY291bnQgb3INCj4gbGluZXNbbGluZV9pbmRleCAr IDFdLnN0YXJ0c3dpdGgoJ2RpZmYgLS0nKSBhbmQNCj4gc2VsZi5zdGFydGNoZWNrOg0KPiA+ICsg ICAgICAgICAgICAgICAgaWYgbm90IHNlbGYubGljZW5zZToNCj4gPiArICAgICAgICAgICAgICAg ICAgICBzZWxmLmVycm9yKGFkZGVkX2ZpbGUpDQo+ID4gKyAgICAgICAgICAgICAgICBzZWxmLnN0 YXJ0Y2hlY2sgPSBGYWxzZQ0KPiA+ICsgICAgICAgICAgICAgICAgc2VsZi5saWNlbnNlID0gVHJ1 ZQ0KPiA+ICsgICAgICAgICAgICBsaW5lX2luZGV4ID0gbGluZV9pbmRleCArIDENCj4gPiArDQo+ ID4gKyAgICBkZWYgZXJyb3Ioc2VsZiwgKmVycik6DQo+ID4gKyAgICAgICAgaWYgc2VsZi5vayBh bmQgVmVyYm9zZS5sZXZlbCA+DQo+IFZlcmJvc2UuT05FTElORToNCj4gPiArICAgICAgICAgICAg cHJpbnQoJ0xpY2Vuc2UgaXMgbWlzc2luZyEnKQ0KPiA+ICsgICAgICAgIHNlbGYub2sgPSBGYWxz ZQ0KPiA+ICsgICAgICAgIGlmIFZlcmJvc2UubGV2ZWwgPCBWZXJib3NlLk5PUk1BTDoNCj4gPiAr ICAgICAgICAgICAgcmV0dXJuDQo+ID4gKyAgICAgICAgY291bnQgPSAwDQo+ID4gKyAgICAgICAg Zm9yIGxpbmUgaW4gZXJyOg0KPiA+ICsgICAgICAgICAgICBwcmVmaXggPSAoJyAqJywgJyAgJylb Y291bnQgPiAwXQ0KPiA+ICsgICAgICAgICAgICBlcnJvcl9mb3JtYXQgPSAnTWlzc2luZyBsaWNl bnNlIGluOicNCj4gPiArICAgICAgICAgICAgcHJpbnQocHJlZml4LCBlcnJvcl9mb3JtYXQsIGxp bmUpDQo+ID4gKyAgICAgICAgICAgIGNvdW50ICs9IDENCj4gPiArDQo+ID4gKw0KPiA+ICsgICAg bGljZW5zZV9uYW1lID0gJ0JTRC0yLUNsYXVzZS1QYXRlbnQnDQo+ID4gKw0KPiA+ICsgICAgUmVh ZGRlZGZpbGVmb3JtYXQgPSByZS5jb21waWxlKHInXCtcK1wrDQo+IGJcLyguKilcbicpDQo+ID4g Kw0KPiA+ICsgICAgZmlsZV9leHRlbnNpb25fbGlzdCA9IFsiLmMiLCAiLmgiLCAiLmluZiIsDQo+ ICIuZHNjIiwgIi5kZWMiLCAiLnB5IiwgIi5iYXQiLCAiLnNoIiwgIi51bmkiLCAiLnlhbWwiLA0K PiAiLmZkZiIsICIuaW5jIl0NCj4gPiArDQo+ID4gKw0KPiA+ICBjbGFzcyBDaGVja09uZVBhdGNo Og0KPiA+ICAgICAgIiIiQ2hlY2tzIHRoZSBjb250ZW50cyBvZiBhIGdpdCBlbWFpbCBmb3JtYXR0 ZWQNCj4gcGF0Y2guDQo+ID4NCj4gPiBAQCAtNTA4LDEyICs1NTUsMTUgQEAgY2xhc3MgQ2hlY2tP bmVQYXRjaDoNCj4gPiAgICAgICAgICBtc2dfY2hlY2sgPQ0KPiBDb21taXRNZXNzYWdlQ2hlY2so c2VsZi5jb21taXRfc3ViamVjdCwNCj4gc2VsZi5jb21taXRfbXNnKQ0KPiA+ICAgICAgICAgIG1z Z19vayA9IG1zZ19jaGVjay5vaw0KPiA+DQo+ID4gKyAgICAgICAgbGljZW5zZV9jaGVjayA9IExp Y2Vuc2VDaGVjayhzZWxmLmRpZmYpDQo+ID4gKyAgICAgICAgbGljZW5zZV9vayA9IGxpY2Vuc2Vf Y2hlY2sub2sNCj4gPiArDQo+ID4gICAgICAgICAgZGlmZl9vayA9IFRydWUNCj4gPiAgICAgICAg ICBpZiBzZWxmLmRpZmYgaXMgbm90IE5vbmU6DQo+ID4gICAgICAgICAgICAgIGRpZmZfY2hlY2sg PSBHaXREaWZmQ2hlY2soc2VsZi5kaWZmKQ0KPiA+ICAgICAgICAgICAgICBkaWZmX29rID0gZGlm Zl9jaGVjay5vaw0KPiA+DQo+ID4gLSAgICAgICAgc2VsZi5vayA9IGVtYWlsX29rIGFuZCBtc2df b2sgYW5kIGRpZmZfb2sNCj4gPiArICAgICAgICBzZWxmLm9rID0gZW1haWxfb2sgYW5kIG1zZ19v ayBhbmQgZGlmZl9vaw0KPiBhbmQgbGljZW5zZV9vaw0KPiA+DQo+ID4gICAgICAgICAgaWYgVmVy Ym9zZS5sZXZlbCA9PSBWZXJib3NlLk9ORUxJTkU6DQo+ID4gICAgICAgICAgICAgIGlmIHNlbGYu b2s6DQo+ID4gLS0NCj4gPiAyLjE4LjAud2luZG93cy4xDQo+IA0KPiANCj4gDQoNCg==