From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web11.2031.1588839386300501739 for ; Thu, 07 May 2020 01:16:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=P+9W2ckV; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: bob.c.feng@intel.com) IronPort-SDR: n+ppQfgnEMMpp1ySllrX1MsfyBpCspCWTrWYMKDA9Ekhg995NTyGoLNNOpBg0vg3pUFCLM6FT6 qY/1m7ZBuvGw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 May 2020 01:16:25 -0700 IronPort-SDR: 30Q2zpG6qYq/teFXPzbjSpnyXlS4Ds4lh4E+aEoAiE3RfoHFnsCwcR2sJJSeK05pGnIRKV639F FYxuVBd3xL0A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,363,1583222400"; d="scan'208";a="296453321" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga008.jf.intel.com with ESMTP; 07 May 2020 01:16:25 -0700 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 7 May 2020 01:16:24 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by FMSMSX113.amr.corp.intel.com (10.18.116.7) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 7 May 2020 01:16:22 -0700 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (104.47.46.56) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 7 May 2020 01:16:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mQ6tvpDVxQULuHyd5KAaruPtWUpqPMMJqZl98E0d5SwobQ+moW+d8MeN/xtNdLKDq6lF899PGp9KLpVNKtiJ8MDfDA//czHHrRuZcUwnnrP86fJDY+5k+SXniLsT31whuaKtyEahG1e623LHihJwNcxWwkvgbDIcrAi/13a2s0cdJNJ57yjSpmqKfqp6SlkCTa+KxtyBTe2mNkhYqpTrKkfEkiTDwNj3CezTHYVRBcfrGhhj2gtnTSy2sRpZsbtlm6kO7j8WlSjQMuaRqRagABPW3/QdI0+ySdzvoaxMYLDN7bproM5lpGHgypz/PAnavLSXOSQb2dbrPUATg5dA+A== 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=7RLKi+VhzjjcnHDu5f8ot0v+1tvdAzEQ/YscVnSqoNc=; b=LlqtQDIUb6xrjcmD3/LdpaQEVmWQFh0WwFpatVUEN71FbwuX7N+vdllQY649+HgvfWuCXPkFh7FukH8B/GDvKv+FoPgWoqWmSZAM/I0v7Qm9ARVsLiBT4fGifJfiwFSrMIDPkDGgUWycSz1UXQkotP4fROgWJbuT47FuUlC8L7yPdtIN9iRYtfOu9XpokXb/xazXG1iuQqh0HcOaOvyDDHlTwYQgyX1rjhu6Xl8Q4E1SD3V6fhFtafUiZRxZUMkcvxVTNSDe1qkNMMB/r8l52OsTZMdbQad8ItYU/HkkWTVpRp9dMibAFQfFaBjYpZ1eyOLdoy+sZW6G0X/FDp+Q+w== 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=7RLKi+VhzjjcnHDu5f8ot0v+1tvdAzEQ/YscVnSqoNc=; b=P+9W2ckVQlaZLu+2Cm7XR2/gfPsHLzlJT8RltP4C5dwQKy8jK+fepu0jsXBdXFPooefrqkD02vgpaZdxWE1/SliQC7Pkf/f4+jyDct89qYPWyGq3y3fZ/hy6CXjUG35XkOM9noK9+AyZq1c7D9B0gXhfXQyGSpr3Ydl8yILDErw= Received: from BN6PR11MB0068.namprd11.prod.outlook.com (2603:10b6:405:69::17) by BN6PR11MB1633.namprd11.prod.outlook.com (2603:10b6:405:e::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.27; Thu, 7 May 2020 08:16:18 +0000 Received: from BN6PR11MB0068.namprd11.prod.outlook.com ([fe80::2d53:d47c:1269:d601]) by BN6PR11MB0068.namprd11.prod.outlook.com ([fe80::2d53:d47c:1269:d601%6]) with mapi id 15.20.2958.030; Thu, 7 May 2020 08:16:18 +0000 From: "Bob Feng" To: "devel@edk2.groups.io" , "pierre.gondois@arm.com" , "Kinney, Michael D" , Sami Mujawar , "Gao, Liming" CC: nd Subject: Re: [edk2-devel] [PATCH v1 1/1] INF Spec: Add file dependency to [Sources] syntax Thread-Topic: [edk2-devel] [PATCH v1 1/1] INF Spec: Add file dependency to [Sources] syntax Thread-Index: AQHWBqoDIJJuAfxjG0iyd0PQMmHIc6hgwsCAgAM1i7D///aigIAWfEAAgAgG5ACABBy14IACD1KAgBOT6kA= Date: Thu, 7 May 2020 08:16:18 +0000 Message-ID: References: <20200330154307.48220-1-pierre.gondois@arm.com> <2a878026944a490e83dc3fbe5726244b@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cf31321c-9f49-4bc0-4ae4-08d7f25eeb65 x-ms-traffictypediagnostic: BN6PR11MB1633: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 03965EFC76 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: blzA/wdZ+Fes96s6XsRaW0upZnE6+MTzxVBZHQ8H9M5G7URQV6WtovtUfiJ07bZuXiX64J/nx58MCVV42wuYnLM1e4A/PEB+Qx642JOefaxPrskHuztskuwfkbVNmn+EGwFVFcd5Uf6QO8M9m9ferXdjyWNEYW8M1TLhkFIAloa+X3d5QNhWbUeB8Q//2lSnJpjkCOLCZP5+UmO/jf5j+8qsK7ZJGimzfznNdBZmupfBLz//0VRk+/KFemIi3g/M7/NakVKyQOrXlEslvUloffSgrC5UJTfRfFyh6QesdFVpty+5dek9+cRDF1OHjutwkz3Fi8NADCDgr+WR3kyyItZO8eMrYcWmw9z36yDOeR8oQhRbq7Ct0A2objSAeu4zJ9IOkEZx1tIhx4reV0PtZYFWU2DkPYlz2y680VP4IKL6xlFoxD+UoUXcn1n5b0rBg3TisVnXwnW/tnjhI/SSavXPct8f/aP2eLa+3kxCsPW3Kf7Sz2jKmObkjxarix15k6i83QBU/hA4NH7HAYmEIWGTqS989fpv8hxwBYsDtiSIsZvlWaONVNEggbpvyIbXridLVbiBTGVBEbishLt+upH/3rmdzvF0596zN6ni9TE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB0068.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(136003)(346002)(376002)(39860400002)(366004)(396003)(33430700001)(186003)(30864003)(86362001)(2906002)(66476007)(6636002)(76116006)(66446008)(64756008)(6506007)(8676002)(53546011)(66556008)(478600001)(7696005)(26005)(9686003)(52536014)(5660300002)(316002)(110136005)(71200400001)(33656002)(55016002)(83320400001)(33440700001)(4326008)(966005)(83280400001)(83300400001)(66946007)(83310400001)(83290400001)(8936002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: sr+2cv036IYg9WIk5FD47QcFcAFr78YF/w3+ZoKRf7g+YwPNp956+o6TkwjvS/lFyzveE1FaRVcyu1aO7TaExFDHLEUIgdpMhoUHxL+eC8ZZDAfNCuKjs8RLtJjL/meyAGE1E6DSz4UhA52xIQwq3GTA0UgMURJzXVLuvtiwUlkqAHZI7o8uCd2+O9ys9mvt6H0fwwCGQFCHrQKBvVMQm8F/WMdUezCBVU5g3S1NFo9aR/zlSWsRhBht7nHnZQaV5IGmyF7tuDfDpyjQ7xew9j4N2jIiTBz9dz46EZHa1UARcDxsrp7cVubGkWQDJX5siYHSf4EItNTSzag0/xrjJ6qIFULzoNXFKzizLTMGG/MKfPIiUZaJfhONxMofAAI2YSpcffysThs27xlGmE2ph6WqDvRiq8naUyvRLj2E2wiVzCUFP8mk9+4oUwDe9rHX1oDTSz/IowkLMVDSHndRPEraGOShFfkTbb8c6Ft/gIdhu7l7zW+N2psHo0WknrROtyYcggT84tM4TbcQdYN9wuWFopyGdZhmdU8txjeDp7MD1YbtTG2LoOngKED7ZX+tZ724KA4AZnHqYv71IVEkjZg09kO//aaxoPQH6fzxtrogr1FrZwizu/wgTVUs0OhtQsg4+ZYjyTobFlESXRI+SQM8y6b1/DOSFAyPvarpj/5/+mAsHbRf6K0femcZiT5kZygSN45wlfupApWtz/vdiyPwBjANl5lcEXSvFNCIpl+zAd8hEQ/IqWeYYjf6pBOQDnx8pflI5Mc/kbdBgZLi0Sfc3EFeVmCjwHJwIFdOs8Y= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: cf31321c-9f49-4bc0-4ae4-08d7f25eeb65 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 May 2020 08:16:18.1759 (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: 40Cp+bEHtRFFZwmj91mYUNHvrJvlvShncAfSIRHGpkrrvKQOrSjqgeBkHDjfGY9Y+ZkCdXnGjUjqu1DJ74x48A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1633 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgUGllcnJlLA0KDQpJJ2QgcHJlZmVyIHRoZSBvcHRpb24gMiMuIEkgdGhpbmsgdGhhdCBpcyB0 aGUgZWFzaWVzdCB3YXkgdG8gbWVldCB0aGUgcmVxdWlyZW1lbnQuIFNpbmNlIHRoZSBhbWwgZmls ZSBpcyB0aGUgZGVmaW5pdGUgb3V0cHV0IG9mIGFzbCBmaWxlLCB3ZSBjYW4gdXNlIGl0IHRvIGRl c2NyaXB0IHRoZSBkZXBlbmRlbmN5IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGMgc291cmNlIGZpbGUg YW5kIGFzbCBzb3VyY2UgY29kZS4NCg0KVGhhbmtzLA0KQm9iDQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMu aW8+IE9uIEJlaGFsZiBPZiBQaWVycmVHb25kb2lzDQpTZW50OiBTYXR1cmRheSwgQXByaWwgMjUs IDIwMjAgMTI6MzEgQU0NClRvOiBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPjsgU2FtaSBNdWphd2FyIDxTYW1pLk11amF3YXJAYXJtLmNvbT47IEdhbywgTGlt aW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCkNjOiBuZCA8bmRAYXJtLmNvbT4NClN1YmplY3Q6 IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxlIGRlcGVu ZGVuY3kgdG8gW1NvdXJjZXNdIHN5bnRheA0KDQpIZWxsbyBCb2IsDQpUaGFuayB5b3UgZm9yIHlv dXIgYW5zd2VyLCBhbmQgSSB1bmRlcnN0YW5kIHlvdSBuZWVkIHRpbWUgdG8gZGlzY3VzcyBiZWZv cmUgYXBwcm92aW5nIGEgc29sdXRpb24uDQoNCkkgaGF2ZSB0d28gc3VnZ2VzdGlvbnM6DQoxLiBB Ym91dCB0aGUgdGhpcmQgb3B0aW9uIHlvdSBkZXNjcmliZWQsIGl0IHNlZW1zIG9uZSBvZiB0aGUg aXNzdWVzIGlzIHRoYXQgdGhlIGRlcGVuZGVuY3kgZGVwaWN0ZWQgaW4gdGhlIElORiBmaWxlIGlz IG5vdCBhY2N1cmF0ZS4gVG8gc29sdmUgdGhpcywgd2UgY291bGQgbW9kaWZ5IGJ1aWxkX3J1bGUu dHh0IHRvIGFkZCBhIG5ldyBydWxlIHN0YXRpbmcgdGhhdCAiLmFtbCIgZmlsZXMgZ2VuZXJhdGUg Ii5hbWxoZXgiIGZpbGVzLiAiLmFtbGhleCIgZmlsZXMgd291bGQgY29udGFpbiB0aGUgZXhhY3Qg c2FtZSBjb250ZW50IGFzIHdoYXQgb3VyICIuaGV4IiBmaWxlIGN1cnJlbnRseSBjb250YWlucywg dGhpcyBpcyBqdXN0IGEgcmVuYW1pbmcuIEhhdmluZyBhbiBBU0wgZmlsZSBpbiBhIG1vZHVsZSB3 b3VsZCB0aGVuIHRyaWdnZXIgMiBydWxlcyBvZiBidWlsZF9ydWxlLnR4dCwgdGhlIGZpcnN0IG9u ZSBjb21waWxpbmcgdGhlIEFTTCBmaWxlIHRvIEFNTCwgYW5kIGEgc2Vjb25kIG9uZSBjb21waWxp bmcgdGhlIEFNTCBmaWxlIHRvIGEgIi5hbWxoZXgiIGZpbGUuIE1heWJlIHRoaXMgd2lsbCByZXF1 aXJlIG1vZGlmaWNhdGlvbnMgb2YgdGhlIE1ha2VmaWxlIGdlbmVyYXRpb24uDQpFLmcuOiBpbiBh ICIuaW5mIiBmaWxlOg0KW1NvdXJjZXNdDQogIGZpbGUxLmFzbA0KICBmaWxlMi5jDQoNClRoZSBN YWtlZmlsZSBnZW5lcmF0ZWQgd291bGQgdGhlbiBsb29rIGxpa2U6DQpmaWxlMS5hbWw6DQogICIk KEFTTCkiICBmaWxlMS5hc2wgICAgICMgR2VuZXJhdGUgZmlsZTEuYW1sIGZyb20gZmlsZTEuYXNs DQoNCmZpbGUxLmFtbGhleDogZmlsZTEuYW1sDQogIEFtbFRvSGV4ICBmaWxlMS5hbWwgICAgICMg R2VuZXJhdGUgZmlsZTEuYW1saGV4IGZyb20gZmlsZTEuYW1sDQoNCmZpbGUyLm9iajogZmlsZTEu YW1saGV4ICAgIyBmaWxlMi5vYmogaXMgZGVwZW5kZW50IG9uIGFtbGhleA0KICAiJChDQykiICAg ZmlsZTIuYw0KDQpUaGlzIHNvbHV0aW9uIHdvdWxkIG5vdCByZXF1aXJlIGEgbW9kaWZpY2F0aW9u IG9mIHRoZSBJTkYgc3BlY2lmaWNhdGlvbi4gSXQgd291bGQgaG93ZXZlciByZXF1aXJlIHRvIHBh cnNlIGZpbGUyLmMgZHVyaW5nIHRoZSBNYWtlZmlsZSBnZW5lcmF0aW9uIHN0ZXAsIGFuZCBpZiBm aWxlMi5jIGluY2x1ZGVzIGEgIi5hbWxoZXgiIGZpbGUsIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBw cmVyZXF1aXNpdGUgaW4gdGhlIE1ha2VmaWxlLg0KVGhlIGZvbGxvd2luZyBydWxlOg0KZmlsZTIu b2JqOiBmaWxlMS5hbWxoZXggICAjIGZpbGUyLm9iaiBpcyBkZXBlbmRlbnQgb24gZmlsZTEuYW1s aGV4DQogICIkKENDKSIgICBmaWxlMi5jDQpjb3VsZCBhbHNvIGJlIHNwbGl0dGVkIGluIDI6DQpm aWxlMi5jOiBmaWxlMS5hbWxoZXggICAgICMgZmlsZTIuYyBpcyBkZXBlbmRlbnQgb24gZmlsZTEu YW1saGV4DQpmaWxlMi5vYmo6IGZpbGUyLmMgICAgICAgICMgZmlsZTIub2JqIGlzIGRlcGVuZGVu dCBvbiBmaWxlMS5jDQogICIkKENDKSIgICBmaWxlMi5jDQoNCg0KMi4gT25lIG90aGVyIHNvbHV0 aW9uIHdvdWxkIGJlIHRvIGhhcmQgY29kZSBkdXJpbmcgdGhlIE1ha2VmaWxlIGdlbmVyYXRpb24g dGhhdCBhbGwgIi5vYmoiIGZpbGVzIChvYnRhaW5lZCBieSBjb21waWxhdGlvbiBvZiBDIGZpbGVz KSBhcmUgZGVwZW5kZW50IG9uIGEgcHJlcmVxdWlzaXRlIG5hbWVkICJBTUxfRklMRVMiIChpdCdz IGFuIGV4YW1wbGUpLCBhbmQgdGhhdCB0aGUgIkFNTF9GSUxFUyIgcHJlcmVxdWlzaXRlIGlzIGZ1 bGZpbGxlZCBieSBidWlsZGluZyBhbGwgdGhlIEFTTCBmaWxlcy4gVGhpcyB3b3VsZCBtZWFuIHRo YXQgaW4gZWRrMiwgQVNMIGZpbGVzIGFyZSBhbHdheXMgYnVpbHQgYmVmb3JlIEMgZmlsZXMuDQpF LmcuOiBpbiBhICIuaW5mIiBmaWxlOg0KW1NvdXJjZXNdDQogIGZpbGUxLmFzbA0KICBmaWxlMi5h c2wNCiAgZmlsZTMuYw0KDQpUaGUgTWFrZWZpbGUgZ2VuZXJhdGVkIHdvdWxkIHRoZW4gbG9vayBs aWtlOg0KQU1MX0ZJTEVTOg0KICBmaWxlMS5hbWwNCiAgZmlsZTIuYW1sDQoNCmZpbGUxLmFtbDoN CiAgIiQoQVNMKSIgIGZpbGUxLmFzbCAgICAgICMgR2VuZXJhdGUgZmlsZTEuYW1sIGZyb20gZmls ZTEuYXNsDQoNCmZpbGUyLmFtbDoNCiAgIiQoQVNMKSIgIGZpbGUyLmFzbCAgICAgICMgR2VuZXJh dGUgZmlsZTIuYW1sIGZyb20gZmlsZTIuYXNsDQoNCmZpbGUzLm9iajogQU1MX0ZJTEVTICAgICAg ICMgRnVsZmlsIHRoZSAiQU1MX0ZJTEVTIiBwcmVyZXF1aXNpdGUgYmVmb3JlDQogICIkKENDKSIg ICBmaWxlMy5jICAgICAgICAjIGNyZWF0aW5nIGZpbGUzLm9iag0KDQpUaGlzIHNvbHV0aW9uIHdv dWxkIGFsc28gbm90IGRlc2NyaWJlIHRoZSByZWFsIGRlcGVuZGVuY3ksIGJlaW5nIGJldHdlZW4g ZmlsZTEuaGV4LCBmaWxlMi5oZXggYW5kIGZpbGUxLmMuDQoNClBsZWFzZSBsZXQgbWUga25vdyB3 aGF0IHlvdSB0aGluaywgb3IgaWYgeW91IGhhdmUgYW55IHN1Z2dlc3Rpb24gb24gaG93IHRvIG1h a2UgdGhpcyBjaGFuZ2UsIFJlZ2FyZHMsDQoNClBpZXJyZQ0KDQotLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KRnJvbTogRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPg0KU2VudDog VGh1cnNkYXksIEFwcmlsIDIzLCAyMDIwIDEwOjM3IEFNDQpUbzogUGllcnJlIEdvbmRvaXMgPFBp ZXJyZS5Hb25kb2lzQGFybS5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS2lubmV5LCBNaWNo YWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgU2FtaSBNdWphd2FyIDxTYW1pLk11 amF3YXJAYXJtLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCkNjOiBu ZCA8bmRAYXJtLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDEvMV0g SU5GIFNwZWM6IEFkZCBmaWxlIGRlcGVuZGVuY3kgdG8gW1NvdXJjZXNdIHN5bnRheA0KDQpIaSBQ aWVycmUsDQoNClNvcnJ5IGZvciB0aGUgbGF0ZSByZXNwb25zZS4gSSBoYXZlIG5vIGdvb2QgaWRl YSB0byByZXNvbHZlIHRoZSBjb25jZXJuIGFib3V0IHRoZSBJTkYgc3ludGF4IGNoYW5nZSwgYnV0 IEkgdGhpbmsgdGhlIEFTTCBjb21waWxhdGlvbiBzaG91bGQgbm90IGJlIGRvbmUgaW4gQXV0b0dl biBwaGFzZS4NCg0KSSBzdW1tYXJpemUgdGhlIHNvbHV0aW9ucyB0aGF0IHdlIGhhdmUgZGlzY3Vz c2VkLg0KMS4gUHV0IHRoZSBBU0wgYnVpbGQgdGFyZ2V0IGJlZm9yZSB0aGUgQyBidWlsZCB0YXJn ZXQuIA0KICAgIFRoaXMgc29sdXRpb24gd291bGQgbm90IHdvcmsgd2hlbiB0aGUgbWFrZSBwcm9n cmFtIGVuYWJsZSBtdWx0aXBsZS10aHJlYWRzLg0KMi4gU2VwYXJhdGUgeW91ciBvcmlnaW5hbCBk cml2ZXIgaW50byBhIGxpYiBhbmQgYSBkcml2ZXIuIFRoZSBsaWJyYXJ5IGluY2x1ZGUgdGhlIGFz bCBmaWxlIGFuZCB0aGUgZHJpdmVyIGluY2x1ZGUgYyBmaWxlcy4gTWFrZSB0aGUgZHJpdmVyIGRl cGVuZHMgb24gdGhlIGxpYnJhcnksIHNvIHRoYXQgdGhlIGxpYnJhcnkgY2FuIGJlIGJ1aWx0IGJl Zm9yZSB0aGUgZHJpdmVyIGFuZCB0aGUgLmhleCBmaWxlIHdpbGwgYmUgZ2VuZXJhdGVkIGJlZm9y ZSBidWlsZCB0aGUgYyBmaWxlLg0KICAgIFRoaXMgc29sdXRpb24gYnJlYWsgdGhlIG1vZHVsZSBm dW5jdGlvbmFsIGludGVncml0eS4NCjMuIEFkZCB0aGUgc3ludGF4IGluIElORiBmaWxlIHRvIHN1 cHBvcnQgc291cmNlIGZpbGUgZGVwZW5kZW5jeSBiZXR3ZWVuIHNvdXJjZSBmaWxlLg0KICAgIFRo aXMgc29sdXRpb24gc2hvdWxkIHdvcmsuIEJ1dCB0aGUgZGVwZW5kZW5jeSBkZXNjcmlwdGVkIGlu IHRoZSBNYWtlZmlsZSBsb29rcyBub3QgYWNjdXJhdGUgc2luY2UgeW91IHdvdWxkIHNlZSBhIGNm aWxlLm9iaiBkZXBlbmRzIG9uIGEgYXNsZmlsZS5hbWwuIFRoZSBjZmlsZS5vYmogc2hvdWxkIGRl cGVuZCBvbiBhc2xmaWxlLmhleCwgYnV0IGJhc2V0b29sIG9ubHkga25vdyB0aGUgb3V0cHV0IG9m IGEgQVNMIGZpbGUgaXMgYSBBTUwgZmlsZS4gQW5kIHRoaXMgc29sdXRpb24gbG9va3MgY29tcGxp Y2F0ZWQuDQo0LiBCdWlsZCBBU0wgaW4gQXV0b0dlbiBwaGFzZS4NCiAgICBDb21waWxhdGlvbiBh Y3Rpdml0aWVzIHNob3VsZCBiZWxvbmcgdG8gTWFrZSBwaGFzZS4gDQoNCldlIG1pZ2h0IG5lZWQg dG8gZmlndXJlIG91dCBhIGJldHRlciBzb2x1dGlvbi4NCg0KVGhhbmtzLA0KQm9iDQoNCi0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBQaWVycmUgR29uZG9pcyA8UGllcnJlLkdvbmRv aXNAYXJtLmNvbT4NClNlbnQ6IFR1ZXNkYXksIEFwcmlsIDIxLCAyMDIwIDI6MTYgQU0NClRvOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPjsgRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgU2FtaSBNdWph d2FyIDxTYW1pLk11amF3YXJAYXJtLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVs LmNvbT4NCkNjOiBuZCA8bmRAYXJtLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BB VENIIHYxIDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxlIGRlcGVuZGVuY3kgdG8gW1NvdXJjZXNdIHN5 bnRheA0KDQpIZWxsbyBCb2IsIE1pY2hhZWwgYW5kIExpbWluZywNCkkgZG9uJ3QgaGF2ZSBhIGNs ZWFyIGlkZWEgb24gd2hpY2ggZGlyZWN0aW9uIHRvIGdvIGluIG9yZGVyIHRvIGVuYWJsZSBidWls ZGluZyBBU0wgZmlsZXMgYmVmb3JlIEMgZmlsZXMgaW4gZWRrMi4gSSB3b3VsZCBuZWVkIGFuIGFu c3dlciB0byBhZ3JlZSBvbiB3aGljaCBkaXJlY3Rpb24gSSBzaG91bGQgY29udGludWUgdG8gaW52 ZXN0aWdhdGUuIEZvciB0aGUgcmVjb3JkLCB0aGUgbWF0Y2hpbmcgcGF0Y2ggaW4gZWRrMiBpcyBh dmFpbGFibGUgYXQgaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNTY2NjIg YW5kDQpCWjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0y NDI1DQoNClJlZ2FyZHMsDQpQaWVycmUNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZy b206IFBpZXJyZSBHb25kb2lzDQpTZW50OiBXZWRuZXNkYXksIEFwcmlsIDE1LCAyMDIwIDQ6NDEg UE0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgbWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb207 IEZlbmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT47IFNhbWkgTXVqYXdhciA8U2FtaS5N dWphd2FyQGFybS5jb20+OyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQpDYzog bmQgPG5kQGFybS5jb20+DQpTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAxLzFd IElORiBTcGVjOiBBZGQgZmlsZSBkZXBlbmRlbmN5IHRvIFtTb3VyY2VzXSBzeW50YXgNCg0KSGVs bG8gQm9iLCBMaW1pbmcgYW5kIE1pY2hhZWwsDQpUaGlzIGlzIGp1c3QgYSByZS1wb3N0IG9mIG15 IGxhc3QgbWVzc2FnZSBvbiB0aGUgQnVnemlsbGEgdGlja2V0IGF2YWlsYWJsZSBhdCBodHRwczov L2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTI2NDYgDQoNCkkgd2FudGVk IHRvIGJlIHN1cmUgd2UgYWdyZWVkIGJlZm9yZSB0cnlpbmcgdG8gbWFrZSBhbiBpbXBsZW1lbnRh dGlvbi4gSXQgc2VlbXMgdGhhdCBpbiBlZGsyIGJ1aWxkIHN5c3RlbSwgdGhlIHN0ZXBzIGRlc2Ny aWJlZCBiZWxvdyBhcmUgZm9sbG93ZWQgKGluIHRoZSBzYW1lIG9yZGVyKTogDQogMS4gQXV0b2dl bi5jL2ggZmlsZXMgYXJlIGdlbmVyYXRlZCwgdXNpbmcgVU5JIGZpbGVzIGFtb25nIG90aGVyIGZp bGVzLg0KIDIuIE1ha2VmaWxlcyBhcmUgZ2VuZXJhdGVkIGJ5Og0KICAgMi4xLiBQcm9iaW5nIHRo ZSBmaWxlcyBpbiB0aGUgbW9kdWxlIChmcm9tIHRoZSBbU291cmNlc10gc2VjdGlvbiBvZiB0aGUg Ii5pbmYiIGZpbGUpLg0KICAgMi4yLiBGb3IgZWFjaCBmaWxlIHByb2JlZCwgY29weS9wYXN0aW5n IHRoZSBbQ29tbWFuZHNdIHNlY3Rpb24gb2YgdGhlICJDb25mL2J1aWxkX3J1bGUudHh0IiBmaWxl IHJlbGV2YW50IGZvciB0aGUgZmlsZSBleHRlbnNpb24uIFRoaXMgYWxsb3dzIHRvIGdlbmVyYXRl IHRoZSBmaWxlIG9mIHRoZSBbT3V0cHV0RmlsZV0gc2VjdGlvbi4gRm9yIGFuIEFTTCBmaWxlLCB0 aGUgbGlzdCBvZiBjb21tYW5kcyBhdCBbQWNwaS1Tb3VyY2UtTGFuZ3VhZ2UtRmlsZV0uPENvbW1h bmQuR0NDPiB3aWxsIGJlIGNvcHkvcGFzdGVkIChpZiBzb21lb25lIHVzZXMgR0NDKS4NCg0KVGhl IFVOSSBmaWxlcyBhcmUgcHJvY2Vzc2VzIGluIHRoZSBmaXJzdCBzdGVwLCB3aGVuIGdlbmVyYXRp bmcgQXV0b2dlbi5jL2ggZmlsZXMuIEFzIHRoZSBbVW5pY29kZS1UZXh0LUZpbGVdLjxDb21tYW5k PiBzZWN0aW9uIGlzIGVtcHR5LCBubyBjb21tYW5kIG5lZWRzIHRvIGJlIGV4ZWN1dGVkIGZvciBV TkkgZmlsZXMgaW4gdGhlIHNlY29uZCBzdGVwLiBJdCBpcyBwb3NzaWJsZSBmb3IgdGhlIE1ha2Vm aWxlIHRvIHJlZmVyZW5jZSB0aGUgQXV0b2dlbi5oIGZpbGUgYmVjYXVzZSBpdCBoYXMgYWxyZWFk eSBiZWVuIGNyZWF0ZWQuDQoNCkJhc2VkIG9uIGhvdyBVTkkgZmlsZXMgYXJlIGhhbmRsZWQsIHdl IGNhbiBwcm9jZXNzIEFTTCBmaWxlcyBiZWZvcmUgdGhlIE1ha2VmaWxlIGdlbmVyYXRpb24gc3Rl cC4gVGhlIGJ1aWxkIHN0ZXBzIHdvdWxkIHRoZW4gYmU6DQoxLiBBdXRvZ2VuLmMvaCBmaWxlcyBh cmUgZ2VuZXJhdGVkLCB1c2luZyBVTkkgZmlsZXMgYW1vbmcgb3RoZXIgZmlsZXMuDQoyLiBBU0wg ZmlsZXMgYXJlIGNvbXBpbGVkLg0KMy4gTWFrZWZpbGVzIGFyZSBnZW5lcmF0ZWQgYnk6DQogIDMu MS4gUHJvYmluZyB0aGUgZmlsZXMgaW4gdGhlIG1vZHVsZSAoZnJvbSB0aGUgW1NvdXJjZXNdIHNl Y3Rpb24gb2YgdGhlICIuaW5mIiBmaWxlKS4NCiAgMy4yLiBGb3IgZWFjaCBmaWxlIHByb2JlZCwg Y29weS9wYXN0aW5nIHRoZSBbQ29tbWFuZHNdIHNlY3Rpb24gb2YgdGhlICJDb25mL2J1aWxkX3J1 bGUudHh0IiBmaWxlIHJlbGV2YW50IGZvciB0aGUgZmlsZSBleHRlbnNpb24uIFRoaXMgYWxsb3dz IHRvIGdlbmVyYXRlIHRoZSBmaWxlIG9mIHRoZSBbT3V0cHV0RmlsZV0gc2VjdGlvbi4gRm9yIGFu IEFTTCBmaWxlLCB0aGUgbGlzdCBvZiBjb21tYW5kcyBhdCBbQWNwaS1Tb3VyY2UtTGFuZ3VhZ2Ut RmlsZV0uPENvbW1hbmQuR0NDPiB3aWxsIGJlIGNvcHkvcGFzdGVkIChpZiBzb21lb25lIHVzZXMg R0NDKS4NCg0KSG93ZXZlciwgdGhpcyB3b3VsZCBpbXBseToNCiAtIE5vdCBidWlsZGluZyBBU0wg ZmlsZXMgYnkgY2FsbGluZyB0aGUgTWFrZWZpbGUuIEluZGVlZCwgaWYgQVNMIGZpbGVzIGFyZSBi dWlsdCBiZWZvcmUgdGhlIE1ha2VmaWxlIGdlbmVyYXRpb24sIHRoZXkgY2Fubm90IGJlIGJ1aWx0 IGJ5IHRoZSBNYWtlZmlsZS4NCiAtIEhhdmluZyBhIGhhcmQtY29kZWQgYnVpbGQgb3JkZXIgZm9y IEFTTCBmaWxlcy4gVGhleSB3aWxsIGFsd2F5cyBiZSBidWlsdCBiZWZvcmUgb3RoZXIgZmlsZXMg KGV4Y2VwdGVkIGZvcm0gVU5JIGZpbGVzLiBXZSBjYW4gc3RpbGwgY2hvb3NlIHRvIGJ1aWxkIEFT TCBmaWxlcyBiZWZvcmUgb3IgYWZ0ZXIgVU5JIGZpbGVzKQ0KIC0gSW4gYSBtb2R1bGUgaGF2aW5n IEFTTCBmaWxlcywgYWx3YXlzIGluY2x1ZGluZyB0aGUgSEVYIGZpbGVzIGdlbmVyYXRlZCBieSB0 aGUgY29tcGlsYXRpb24gb2YgQVNMIGZpbGVzLiBJbmRlZWQsIHRoZSBidWlsZCBkZXBlbmRlbmN5 IGJldHdlZW4gQyBhbmQgQVNMIGZpbGVzIHN0aWxsIG5lZWRzIHRvIGJlIHJlc29sdmVkLg0KDQpQ bGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IGFyZSBvayB3aXRoIHRoaXMgc29sdXRpb24sDQoNClJl Z2FyZHMsDQpQaWVycmUNCg0KUC5TLjoNClRoZSBvcHRpb25zIHRoYXQgd2UgaGF2ZSBhbHJlYWR5 IHRyaWVkIGFyZToNCiAtIE9wdGlvbiAxOiBXaGVuIGxpc3RpbmcgdGhlIGJ1aWxkIHRhcmdldCBp biB0aGUgIkNPREFfVEFSR0VUIiB2YXJpYWJsZSwgdGhlIEFNTCBidWlsZCB0YXJnZXQgYXJlIHB1 dCBmaXJzdC4gVGhpcyB3YXMgdGhlIGZpcnN0IGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSBhdCBo dHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS80OTY1OSAuIFRoZSBpc3N1ZSBm b3IgdGhpcyBzb2x1dGlvbiBpcyB0aGF0IHRoZXJlIGlzIG5vIGV4cGxpY2l0IGRlcGVuZGVuY3kg YmV0d2VlbiBhIEMgZmlsZSBhbmQgYW4gQU1ML0hFWCBmaWxlICh0aGUgQyBmaWxlIG5lZWRzIHRv IGluY2x1ZGUgdGhlIEhFWCBmaWxlIGdlbmVyYXRlZCB3aGlsZSBjb21waWxpbmcgYW4gQVNMIGZp bGUpLiBGb3IgYSBtdWx0aS10aHJlYWQgYnVpbGQsIHRoZSBidWlsZCB3aWxsIGZhaWwsIGFzIHlv dSBwb2ludGVkIG91dCBhdCBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS81 MDQ3Nw0KIC0gT3B0aW9uIDI6IE1vZGlmeWluZyBJTkYgZmlsZXMgdG8gZGVzY3JpYmUgZGVwZW5k ZW5jaWVzIGJldHdlZW4gc291cmNlIGZpbGVzIG9mIGRpZmZlcmVudCBsYW5ndWFnZXMuIFRoaXMg YWxsb3dzIHRvIGhhbmRsZSBtdWx0aS10aHJlYWQgYnVpbGRzLCBidXQgdGhlIElORiBzcGVjaWZp Y2F0aW9uIG5lZWRzIHRvIGJlIG1vZGlmaWVkLiBQYXRjaCBhdmFpbGFibGUgYXQgaHR0cHM6Ly9l ZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNTY2NjMNCg0KDQotLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBz LmlvPiBPbiBCZWhhbGYgT2YgTWljaGFlbCBEIEtpbm5leSB2aWEgR3JvdXBzLklvDQpTZW50OiAw MSBBcHJpbCAyMDIwIDE3OjE5DQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEZlbmcsIEJvYiBD IDxib2IuYy5mZW5nQGludGVsLmNvbT47IFBpZXJyZSBHb25kb2lzIDxQaWVycmUuR29uZG9pc0Bh cm0uY29tPjsgU2FtaSBNdWphd2FyIDxTYW1pLk11amF3YXJAYXJtLmNvbT47IEdhbywgTGltaW5n IDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT4NCkNjOiBuZCA8bmRAYXJtLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMi1k ZXZlbF0gW1BBVENIIHYxIDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxlIGRlcGVuZGVuY3kgdG8gW1Nv dXJjZXNdIHN5bnRheA0KDQpIaSBQaWVycmUsDQoNCldlIGRpc2N1c3NlZCB0aGlzIGluIHRoZSBi dWcgc2NydWIgeWVzdGVyZGF5Lg0KDQpXZSB0aGluayB0aGVyZSBtYXkgYmUgYSBzaW1wbGVyIHdh eSB0byBhZGRyZXNzIHRoaXMgaXNzdWUgd2l0aG91dCBleHRlbmRpbmcgdGhlIElORiBzeW50YXgu DQoNCkl0IGlzIG91ciB1bmRlcnN0YW5kaW5nIHRoYXQgdGhlIEFTTCBmaWxlcyBuZWVkIHRvIGJl IHByb2Nlc3NlZCBiZWZvcmUgQyBmaWxlcyB3aGVuIGJvdGggYXJlIHByZXNlbnQgaW4gYW4gSU5G Lg0KDQpUaGlzIGlzIHNpbWlsYXIgdG8gdGhlIHJlcXVpcmVtZW50IHRoYXQgVU5JIGZpbGVzIGJl IHByb2Nlc3NlZCBiZWZvcmUgQyBmaWxlcyB0aGF0IGlzIGFscmVhZHkgc3VwcG9ydGVkLg0KDQpQ bGVhc2UgY29udGludWUgdGhlIGRpc2N1c3Npb24gaW4gQnVnemlsbGEgd2l0aCBCb2IuDQoNClRo YW5rcywNCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRl dmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIEJv YiANCj4gRmVuZw0KPiBTZW50OiBXZWRuZXNkYXksIEFwcmlsIDEsIDIwMjAgMTo1MyBBTQ0KPiBU bzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IHBpZXJyZS5nb25kb2lzQGFybS5jb207IFNhbWkgTXVq YXdhciANCj4gPFNhbWkuTXVqYXdhckBhcm0uY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9A aW50ZWwuY29tPg0KPiBDYzogbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1k ZXZlbF0gW1BBVENIIHYxIDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxlIGRlcGVuZGVuY3kgDQo+IHRv IFtTb3VyY2VzXSBzeW50YXgNCj4gDQo+IEhpIFBpZXJyZSwNCj4gDQo+IEkgd2lsbCByZXZpZXcg dGhlIHNwZWMgYW5kIGNvZGUgY2hhbmdlIGluIHRoaXMgd2Vlay4NCj4gDQo+IFRoYW5rcywNCj4g Qm9iDQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbyBbbWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvXSBPbiBCZWhhbGYgT2YgDQo+ IFBpZXJyZUdvbmRvaXMNCj4gU2VudDogTW9uZGF5LCBNYXJjaCAzMCwgMjAyMCAxMTo1MiBQTQ0K PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFNhbWkgTXVqYXdhciA8U2FtaS5NdWphd2FyQGFy bS5jb20+OyBGZW5nLCANCj4gQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgR2FvLCBMaW1p bmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPiBDYzogbmQgPG5kQGFybS5jb20+DQo+IFN1Ympl Y3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxlIGRl cGVuZGVuY3kgDQo+IHRvIFtTb3VyY2VzXSBzeW50YXgNCj4gDQo+IEhlbGxvIExpbWluZyBhbmQg Qm9iLA0KPiBJIGNvdWxkbid0IGZpbmQgdGhlIGxpc3Qgb2YgbWFpbnRhaW5lcnMgZm9yIHRoZSBz cGVjaWZpY2F0aW9uIGZpbGVzLCANCj4gYnV0IGl0IHNlZW1zIExpbWluZyBpcyBhIG1haW50YWlu ZXIuDQo+IElmIGEgbWFpbnRhaW5lciBpcyBtaXNzaW5nLCBwbGVhc2UgZmVlbCBmcmVlIHRvIGNj IGhpbSwNCj4gDQo+IFJlZ2FyZHMsDQo+IFBpZXJyZQ0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gRnJvbTogUGllcnJlR29uZG9pcyA8cGllcnJlLmdvbmRvaXNAYXJtLmNvbT4N Cj4gU2VudDogTW9uZGF5LCBNYXJjaCAzMCwgMjAyMCA0OjQzIFBNDQo+IFRvOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KPiBDYzogUGllcnJlIEdvbmRvaXMgPFBpZXJyZS5Hb25kb2lzQGFybS5jb20+ OyBsaW1pbmcuZ2FvQGludGVsLmNvbTsgDQo+IHNhbWkubXVqYXdhckBhcm0ub3JnOyBuZCA8bmRA YXJtLmNvbT4NCj4gU3ViamVjdDogW1BBVENIIHYxIDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxlIGRl cGVuZGVuY3kgdG8gW1NvdXJjZXNdIA0KPiBzeW50YXgNCj4gDQo+IEZyb206IFBpZXJyZSBHb25k b2lzIDxQaWVycmUuR29uZG9pc0Bhcm0uY29tPg0KPiANCj4gQlo6IGh0dHBzOi8vYnVnemlsbGEu dGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ2NA0KPiANCj4gV2hlbiBidWlsZGluZyBh biBlZGsyIG1vZHVsZSwgYSBDIGZpbGUgd2FzIGluY2x1ZGluZyBhIC5oZXggZmlsZSANCj4gZ2Vu ZXJhdGVkIGJ5IHRoZSBjb21waWxhdGlvbiBvZiBhbiBBU0wgZmlsZS4NCj4gVG8gZGVzY3JpYmUg dGhpcyBkZXBlbmRlbmN5IGJldHdlZW4gYW4gQVNMIGZpbGUgYW5kIGEgQyBmaWxlLCB0aGUgZWRr MiANCj4gcGF0Y2gsDQo+ICAtIG5hbWVkICJCYXNlVG9vbHM6IEJ1aWxkIEFTTCBmaWxlcyBiZWZv cmUgQyBmaWxlcyIsDQo+ICAtIGRpc2N1c3NlZCBhdDoNCj4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5p by9nL2RldmVsL21lc3NhZ2UvNTI1NTANCj4gaGFzIGJlZW4gY3JlYXRlZC4NCj4gVGhpcyBwYXRj aCBhbGxvd3MgdG8gZXN0YWJsaXNoIGJ1aWxkIGRlcGVuZGVuY2llcyBpbiB0aGUgW1NvdXJjZXNd IA0KPiBzZWN0aW9uLCBiZXR3ZWVuIGZpbGVzIHRoYXQgYXJlIG5vdCBvZiB0aGUgc2FtZSBsYW5n dWFnZS4NCj4gRS5nLjoNCj4gW1NvdXJjZXNdDQo+ICAgRmlsZU5hbWUxLlgNCj4gICBGaWxlTmFt ZTIuWSA6IEZpbGVOYW1lMS5YDQo+ICAgRmlsZU5hbWUzLlogOiBGaWxlTmFtZTEuWCBGaWxlTmFt ZTIuWQ0KPiANCj4gSGVyZToNCj4gICAqIEZpbGVOYW1lMS5YIHdpbGwgYmUgYnVpbHQgcHJpb3Ig dG8gRmlsZU5hbWUyLlkuDQo+ICAgKiBGaWxlTmFtZTEuWCBhbmQgRmlsZU5hbWUyLlkgd2lsbCBi ZSBidWlsdCBwcmlvciB0bw0KPiAgICAgRmlsZU5hbWUzLlouDQo+IA0KPiBUaGlzIHBhdGNoIHVw ZGF0ZXMgdGhlIEluZiBzcGVjaWZpY2F0aW9uIGFjY29yZGluZ2x5Lg0KPiANCj4gU2lnbmVkLW9m Zi1ieTogUGllcnJlIEdvbmRvaXMgPHBpZXJyZS5nb25kb2lzQGFybS5jb20+DQo+IC0tLQ0KPiAN Cj4gVGhlIGNoYW5nZXMgY2FuIGJlIHNlZW4gYXQNCj4gaHR0cHM6Ly9naXRodWIuY29tL1BpZXJy ZUFSTS9lZGsyLQ0KPiBJbmZTcGVjaWZpY2F0aW9uL3RyZWUvQnVnemlsbGFfMjQ2NF9FbmFibGVf QnVpbGRfRGVwZW5kZW4NCj4gY2llc192MQ0KPiANCj4gTm90ZXM6DQo+ICAgICB2MToNCj4gICAg ICAtIEVuYWJsZSBidWlsZCBkZXBlbmRlbmNpZXMgaW4gdGhlIFtTb3VyY2VzXSBzZWN0aW9uDQo+ IA0KPiAgMl9pbmZfb3ZlcnZpZXcvMjVfW3NvdXJjZXNdX3NlY3Rpb24ubWQNCj4gfCAxMiArKysr KysrKysrKysNCj4gIDNfZWRrX2lpX2luZl9maWxlX2Zvcm1hdC8zMl9jb21wb25lbnRfaW5mX2Rl ZmluaXRpb24ubWQNCj4gfCAgMyArKysNCj4gIDNfZWRrX2lpX2luZl9maWxlX2Zvcm1hdC8zOV9b c291cmNlc11fc2VjdGlvbnMubWQNCj4gfCAgNiArKysrLS0NCj4gIFJFQURNRS5tZA0KPiB8ICAx ICsNCj4gIDQgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkN Cj4gDQo+IGRpZmYgLS1naXQgYS8yX2luZl9vdmVydmlldy8yNV9bc291cmNlc11fc2VjdGlvbi5t ZA0KPiBiLzJfaW5mX292ZXJ2aWV3LzI1X1tzb3VyY2VzXV9zZWN0aW9uLm1kDQo+IGluZGV4DQo+ IDU0NzU3ZTYxZTM3MjY4ZWVkMjkzYTUyODhlNjA3Y2YyYzdjZmFjZjYuLjViOWYwYTgzOTVlZjJi ZQ0KPiA0NDk3ZDk5MTk3ZGM2OTU2MjVkODQxODMwIDEwMDY0NA0KPiAtLS0gYS8yX2luZl9vdmVy dmlldy8yNV9bc291cmNlc11fc2VjdGlvbi5tZA0KPiArKysgYi8yX2luZl9vdmVydmlldy8yNV9b c291cmNlc11fc2VjdGlvbi5tZA0KPiBAQCAtMiw2ICsyLDcgQEANCj4gICAgMi41IFtTb3VyY2Vz XSBTZWN0aW9uDQo+IA0KPiAgICBDb3B5cmlnaHQgKGMpIDIwMDctMjAxOSwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMgDQo+IHJlc2VydmVkLjxCUj4NCj4gKyAgQ29weXJpZ2h0IChjKSAy MDIwLCBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cw0KPiByZXNlcnZlZC48QlI+DQo+IA0KPiAgICBS ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSAob3JpZ2luYWwgZG9jdW1lbnQNCj4gZm9y bSkgYW5kICdjb21waWxlZCcNCj4gICAgZm9ybXMgKGNvbnZlcnRlZCB0byBQREYsIGVwdWIsIEhU TUwgYW5kIG90aGVyIGZvcm1hdHMpIHdpdGggb3IgDQo+IHdpdGhvdXQgQEAgLTk0LDYgKzk1LDE3 IEBAIFRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBmb3Igc291cmNlcyANCj4gc2VjdGlvbnMu DQo+IA0KPiAgYGBgDQo+IA0KPiArVGhlIGZvbGxvd2luZyBleGFtcGxlIGRlcGljdHMgdGhlIHN5 bnRheCB0byBlc3RhYmxpc2gNCj4gZGVwZW5kZW5jaWVzDQo+ICtiZXR3ZWVuIGZpbGVzIG9mIGRp ZmZlcmVudCBzb3VyY2UgdHlwZXMuIEFzIHNob3duIGluIHRoZQ0KPiBleGFtcGxlIGJlbG93LA0K PiArRHNkdC5hc2wgd2lsbCBiZSBjb21waWxlZCBiZWZvcmUgRGFkdEhhbmRsZXIuYzoNCj4gKw0K PiArYGBgaW5pDQo+ICtbU291cmNlcy5jb21tb25dDQo+ICsgIERzZHRIYW5kbGVyLmMgOiBEc2R0 LmFzbA0KPiArICBEc2R0SGFuZGxlci5oDQo+ICsgIERzZHQuYXNsDQo+ICtgYGANCj4gKw0KPiAg QWxsIFVuaWNvZGUgZmlsZXMgbXVzdCBiZSBsaXN0ZWQgaW4gdGhlIHNvdXJjZSBzZWN0aW9uLg0K PiBJZiBhIFVuaWNvZGUgZmlsZSwgIGBBLnVuaWAsIGhhcyB0aGUgc3RhdGVtZW50OiBgI2luY2x1 ZGUgQi51bmlgLCBhbmQgDQo+IGBCLnVuaWAgaGFzIGEgc3RhdGVtZW50Og0KPiAgYCNpbmNsdWRl IEMudW5pYCwgYm90aCBgQi51bmlgIGFuZCBgQy51bmlgIGZpbGVzIG11c3QgYmUgbGlzdGVkIGlu IA0KPiB0aGUgSU5GIGRpZmYgLS1naXQgDQo+IGEvM19lZGtfaWlfaW5mX2ZpbGVfZm9ybWF0LzMy X2NvbXBvbmVudF9pbmZfZGVmaW5pdGlvbi5tZA0KPiBiLzNfZWRrX2lpX2luZl9maWxlX2Zvcm1h dC8zMl9jb21wb25lbnRfaW5mX2RlZmluaXRpb24ubWQNCj4gaW5kZXgNCj4gMTY0NzcxY2I0Y2Zm ZjZlODFmYmY3NjJhNjdmZjc0MWMxOTBjZWNkZS4uZDc3NjcxNGMyNGMwYmFmDQo+IDIzNDhmNTNk YzI1NzZjOWZlYjZmM2NiNWUgMTAwNjQ0DQo+IC0tLQ0KPiBhLzNfZWRrX2lpX2luZl9maWxlX2Zv cm1hdC8zMl9jb21wb25lbnRfaW5mX2RlZmluaXRpb24ubWQNCj4gKysrDQo+IGIvM19lZGtfaWlf aW5mX2ZpbGVfZm9ybWF0LzMyX2NvbXBvbmVudF9pbmZfZGVmaW5pdGlvbi5tZA0KPiBAQCAtMiw2 ICsyLDcgQEANCj4gICAgMy4yIENvbXBvbmVudCBJTkYgRGVmaW5pdGlvbg0KPiANCj4gICAgQ29w eXJpZ2h0IChjKSAyMDA3LTIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPiBy ZXNlcnZlZC48QlI+DQo+ICsgIENvcHlyaWdodCAoYykgMjAyMCwgQVJNIExpbWl0ZWQuIEFsbCBy aWdodHMNCj4gcmVzZXJ2ZWQuPEJSPg0KPiANCj4gICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp biBzb3VyY2UgKG9yaWdpbmFsIGRvY3VtZW50DQo+IGZvcm0pIGFuZCAnY29tcGlsZWQnDQo+ICAg IGZvcm1zIChjb252ZXJ0ZWQgdG8gUERGLCBlcHViLCBIVE1MIGFuZCBvdGhlciBmb3JtYXRzKSB3 aXRoIG9yIA0KPiB3aXRob3V0IEBAIC0xMzMsNiArMTM0LDggQEAgVGhlIGZvbGxvd2luZyBhcmUg Y29tbW9uIGRlZmluaXRpb25zIHVzZWQgDQo+IGJ5IG11bHRpcGxlIHNlY3Rpb24gdHlwZXMuDQo+ ICA8RXE+ICAgICAgICAgICAgICAgICA6Oj0gPFRTPiAiPSIgPFRTPg0KPiAgPEZpZWxkU2VwYXJh dG9yPiAgICAgOjo9ICJ8Ig0KPiAgPEZTPiAgICAgICAgICAgICAgICAgOjo9IDxUUz4gPEZpZWxk U2VwYXJhdG9yPiA8VFM+DQo+ICs8U3JjRGVwU2VwZXJhdG9yPiAgICA6Oj0gIjoiDQo+ICs8RGVw Uz4gICAgICAgICAgICAgICA6Oj0gPFRTPiA8U3JjRGVwU2VwZXJhdG9yPiA8VFM+DQo+ICA8V2ls ZGNhcmQ+ICAgICAgICAgICA6Oj0gIioiDQo+ICA8Q29tbWFTcGFjZT4gICAgICAgICA6Oj0gIiwi IDxTcGFjZT4qDQo+ICA8Q3M+ICAgICAgICAgICAgICAgICA6Oj0gIiwiIDxTcGFjZT4qDQo+IGRp ZmYgLS1naXQNCj4gYS8zX2Vka19paV9pbmZfZmlsZV9mb3JtYXQvMzlfW3NvdXJjZXNdX3NlY3Rp b25zLm1kDQo+IGIvM19lZGtfaWlfaW5mX2ZpbGVfZm9ybWF0LzM5X1tzb3VyY2VzXV9zZWN0aW9u cy5tZA0KPiBpbmRleA0KPiA4MTA5OTVkZjI2YmE0MDljYTJjZjNlYmU2MjM4YWE1ZDU1Y2Y4MWYx Li5hYzk2NjQyNTEwMWZkNDQNCj4gYTU3YjA5ZDM2Zjk1YTBmNzMyZWFiMWM1OSAxMDA2NDQNCj4g LS0tIGEvM19lZGtfaWlfaW5mX2ZpbGVfZm9ybWF0LzM5X1tzb3VyY2VzXV9zZWN0aW9ucy5tZA0K PiArKysgYi8zX2Vka19paV9pbmZfZmlsZV9mb3JtYXQvMzlfW3NvdXJjZXNdX3NlY3Rpb25zLm1k DQo+IEBAIC0yLDYgKzIsNyBAQA0KPiAgICAzLjkgW1NvdXJjZXNdIFNlY3Rpb25zDQo+IA0KPiAg ICBDb3B5cmlnaHQgKGMpIDIwMDctMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg DQo+IHJlc2VydmVkLjxCUj4NCj4gKyAgQ29weXJpZ2h0IChjKSAyMDIwLCBBUk0gTGltaXRlZC4g QWxsIHJpZ2h0cw0KPiByZXNlcnZlZC48QlI+DQo+IA0KPiAgICBSZWRpc3RyaWJ1dGlvbiBhbmQg dXNlIGluIHNvdXJjZSAob3JpZ2luYWwgZG9jdW1lbnQNCj4gZm9ybSkgYW5kICdjb21waWxlZCcN Cj4gICAgZm9ybXMgKGNvbnZlcnRlZCB0byBQREYsIGVwdWIsIEhUTUwgYW5kIG90aGVyIGZvcm1h dHMpIHdpdGggb3IgDQo+IHdpdGhvdXQgQEAgLTc0LDcgKzc1LDggQEAgVGhpcyBzZWN0aW9uIGlz IG5vdCB2YWxpZCBmb3IgYSBnZW5lcmF0ZWQgDQo+ICJBcyBCdWlsdCIgYmluYXJ5IElORiBmaWxl Lg0KPiAgPE9wdGlvbnM+ICAgICAgICAgICAgOjo9IDxGUz4gWzxGYW1pbHk+XSBbPG9wdDE+XQ0K PiAgPG9wdDE+ICAgICAgICAgICAgICAgOjo9IDxGUz4gWzxUYWdOYW1lPl0gWzxvcHQyPl0NCj4g IDxvcHQyPiAgICAgICAgICAgICAgIDo6PSA8RlM+IFs8VG9vbENvZGU+XSBbPG9wdDM+XQ0KPiAt PG9wdDM+ICAgICAgICAgICAgICAgOjo9IDxGUz4gWzxGZWF0dXJlRmxhZ0V4cHJlc3M+XQ0KPiAr PG9wdDM+ICAgICAgICAgICAgICAgOjo9IDxGUz4gWzxGZWF0dXJlRmxhZ0V4cHJlc3M+XQ0KPiBb PG9wdDQ+XQ0KPiArPG9wdDQ+ICAgICAgICAgICAgICAgOjo9IDxEZXBTPiA8RmlsZU5hbWVEZXBl bmRlbmN5PisNCj4gIDxGYW1pbHk+ICAgICAgICAgICAgIDo6PSB7Ik1TRlQifSB7IkdDQyJ9IHsi SU5URUwifQ0KPiB7PFdpbGRjYXJkPn0NCj4gIDxUYWdOYW1lPiAgICAgICAgICAgIDo6PSB7PFRv b2xXb3JkPn0geyIqIn0NCj4gIDxUb29sQ29kZT4gICAgICAgICAgIDo6PSBfQ29tbWFuZENvZGVf DQo+IEBAIC04Myw3ICs4NSw3IEBAIFRoaXMgc2VjdGlvbiBpcyBub3QgdmFsaWQgZm9yIGEgZ2Vu ZXJhdGVkICJBcyBCdWlsdCIgDQo+IGJpbmFyeSBJTkYgZmlsZS4NCj4gDQo+ICAjIyMjIFBhcmFt ZXRlcnMNCj4gDQo+IC0qKl9GaWxlbmFtZV8qKg0KPiArKipfRmlsZW5hbWVfLCBfRmlsZU5hbWVE ZXBlbmRlbmN5XyoqDQo+IA0KPiAgUGF0aHMgbGlzdGVkIGluIHRoZSBmaWxlbmFtZSBlbGVtZW50 cyBvZiB0aGUgYFtTb3VyY2VzXWAgc2VjdGlvbiBtdXN0IA0KPiBiZSAgcmVsYXRpdmUgdG8gdGhl IGRpcmVjdG9yeSB0aGUgSU5GIGZpbGUgcmVzaWRlcyBpbi4gVXNlIG9mICIuLiIsIA0KPiAiLiIg YW5kICIuLi8iDQo+IGRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQNCj4gaW5kZXgN Cj4gNjBmYmExOWZkNjdmZDhkM2RkMzMxOTlkZTIzZjliZmUyMGFlYTdjOS4uNGY3NzFmYzBmNmU0 ZmY1DQo+IDE2YmU5NWIxODc5ZDU4MzI5YWIzYmJlY2MgMTAwNjQ0DQo+IC0tLSBhL1JFQURNRS5t ZA0KPiArKysgYi9SRUFETUUubWQNCj4gQEAgLTIwMywzICsyMDMsNCBAQCBDb3B5cmlnaHQgKGMp IDIwMDctMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCANCj4gcmlnaHRzIHJlc2VydmVkLg0K PiAgfCAgICAgICAgICAgIHwNCj4gWyMxMTYyXShodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5v cmcvc2hvd19idWcuY2dpP2lkPTExDQo+IDYyKSBDb3JyZWN0IHRoZSBpdGVtIGluIFRhYmxlIDEg dG8gYWxpZ24gd2l0aCAzLjQgc2VjdGlvbg0KPiB8ICAgICAgICAgICAgICAgfA0KPiAgfCAxLjI4 ICAgICAgIHwNCj4gWyMxNDUzXShodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19i dWcuY2dpP2lkPTE0DQo+IDUzKSBVcGRhdGUgSU5GIHNwZWMgdG8gcmVtb3ZlIEVESyByZWxhdGVk IGNvbnRlbnRzDQo+IHwgTWFyIDIwMTkgICAgICB8DQo+ICB8IDEuMjkgICAgICAgfA0KPiBbIzE5 NTJdKGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkNCj4g NTIpIEFkZCBuZXcgTU9EVUxFX1RZUEUgSE9TVF9BUFBMSUNBVElPTg0KPiB8IEp1bHkgMjAxOSAg ICAgIHwNCj4gK3wgICAgICAgICAgICB8DQo+IFsjMjY0Nl0oaHR0cHM6Ly9idWd6aWxsYS50aWFu b2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yNg0KPiA0NikgQWRkIGZpbGUgZGVwZW5kZW5jeSB0 byBbU291cmNlc10gc3ludGF4DQo+IHwgICAgICAgICAgICAgICAgfA0KPiAtLQ0KPiAnR3VpZChD RTE2NTY2OS0zRUYzLTQ5M0YtQjg1RC02MTkwRUU1Qjk3NTkpJw0KPiANCj4gDQo+IA0KPiANCj4g DQo+IA0KDQoNCg0KDQoNCg0KDQo=