From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (EUR04-DB3-obe.outbound.protection.outlook.com [40.107.6.42]) by mx.groups.io with SMTP id smtpd.web11.17336.1586965267581343173 for ; Wed, 15 Apr 2020 08:41:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=VaLTOD07; spf=pass (domain: arm.com, ip: 40.107.6.42, mailfrom: pierre.gondois@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=06G1OkPK9CpUgmcONjW7eFprNGYe/wKchkV/cxy0O7Q=; b=VaLTOD07wBNP63wYovXGS8aTan7zI3kEQL/FOv6LcuEjb5WOxkWRFmd8DuOC1cyYXwpyfGf7EeFsnL/PBbF9g5GuNWxTeR2zA07crq+jAkzQZcXgxSLoSpvg9/gZaQnWsu+Qgscwrwi20Id4AD2zSQCuWQip8Aev0Xl2pmQqOOI= Received: from AM5PR0201CA0018.eurprd02.prod.outlook.com (2603:10a6:203:3d::28) by VI1PR08MB2638.eurprd08.prod.outlook.com (2603:10a6:802:1f::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.26; Wed, 15 Apr 2020 15:41:05 +0000 Received: from AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:3d:cafe::57) by AM5PR0201CA0018.outlook.office365.com (2603:10a6:203:3d::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.17 via Frontend Transport; Wed, 15 Apr 2020 15:41:05 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT003.mail.protection.outlook.com (10.152.16.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.15 via Frontend Transport; Wed, 15 Apr 2020 15:41:04 +0000 Received: ("Tessian outbound 9bb9f2b1d83f:v50"); Wed, 15 Apr 2020 15:41:04 +0000 X-CR-MTA-TID: 64aa7808 Received: from ea53b71f44ee.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 4FA4A3B1-4FA3-49B9-B786-B7CAE67D2F76.1; Wed, 15 Apr 2020 15:40:59 +0000 Received: from EUR02-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ea53b71f44ee.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 15 Apr 2020 15:40:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nYb3/AjLb6YL6Dv9+2WK3pN+CFt4n7EIgm+bmQ5ttveT1Zrnm7IDW28bU+mxd45yAVeykoiRRkCh8keCdjlTvVsKn9kcuyLe0NuEs8pYSjpKMhxiShgCryEc3DOSmBOls/oH2iLCXWqcVNa38Xzz5wctW0V2cjkepu2TVsgspiGml0xd/np8eh0tp/KY7YyL3Prk84oZWDENWDTqcTeoIDoLH44akUwGnK54RBY+xaeS1F9qwOFGvA4uuVrNuVAqUVgBZXy04H4f06KnK4kCQ9WBh/xd0+Wu0sUZN2FXLEaqTcLn436QtAaEP+uZu5IxKD12PHOB2bdm6afiscBhSA== 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=06G1OkPK9CpUgmcONjW7eFprNGYe/wKchkV/cxy0O7Q=; b=eyOm+LnnSNC3zy28Y1aPhOjZ/FDBOEKGEd7/c/NwANvK1bzpeC6DRNHewLgEYGY4uOBUhGoqAWRHh7EW4PCQpokhrxvyYL8Ae9qVyuZ5YbovQVD4Un5IyMgU8uBhUVmfU2XhLeALbyJyOhUccsu8ce04mgP/35HOZDaHddR7ERQTJhPFC/kj+gk+LtkclJ8+f5jJA2Qd+TE5sOekK9kA6nEVIrvcM1q8AeTtn5yqhWbTbNgc/mi+j/xxIaRdQ4jGERLXycnP6tzwoiqDnlSDgRFNMU7icCs+j41SkYmuRGSkxsKhF0QjXP0LXjnByzUspZ/pA3aC51NHXqIDvHsY5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=06G1OkPK9CpUgmcONjW7eFprNGYe/wKchkV/cxy0O7Q=; b=VaLTOD07wBNP63wYovXGS8aTan7zI3kEQL/FOv6LcuEjb5WOxkWRFmd8DuOC1cyYXwpyfGf7EeFsnL/PBbF9g5GuNWxTeR2zA07crq+jAkzQZcXgxSLoSpvg9/gZaQnWsu+Qgscwrwi20Id4AD2zSQCuWQip8Aev0Xl2pmQqOOI= Received: from DB7PR08MB3113.eurprd08.prod.outlook.com (2603:10a6:5:20::21) by DB7PR08MB3164.eurprd08.prod.outlook.com (2603:10a6:5:24::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.17; Wed, 15 Apr 2020 15:40:56 +0000 Received: from DB7PR08MB3113.eurprd08.prod.outlook.com ([fe80::60d3:1160:c077:67ed]) by DB7PR08MB3113.eurprd08.prod.outlook.com ([fe80::60d3:1160:c077:67ed%3]) with mapi id 15.20.2921.024; Wed, 15 Apr 2020 15:40:56 +0000 From: "PierreGondois" To: "devel@edk2.groups.io" , "michael.d.kinney@intel.com" , "Feng, Bob C" , 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: AQHWBqn/l8W92Vtq30iwMBklvn/rYKhhSAfwgAKwpQCAAHxegIAV9L7g Date: Wed, 15 Apr 2020 15:40:56 +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: x-ts-tracking-id: e13c7337-c8cf-4466-ae91-500c4630d4b4.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Pierre.Gondois@arm.com; x-originating-ip: [217.140.106.52] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 627baa28-b589-4489-5865-08d7e1536846 x-ms-traffictypediagnostic: DB7PR08MB3164:|DB7PR08MB3164:|VI1PR08MB2638: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; x-forefront-prvs: 0374433C81 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3113.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(10009020)(4636009)(39860400002)(366004)(376002)(396003)(136003)(346002)(53546011)(33656002)(110136005)(8676002)(86362001)(7696005)(30864003)(6506007)(52536014)(66476007)(478600001)(5660300002)(2906002)(66946007)(4326008)(186003)(9686003)(55016002)(71200400001)(64756008)(66446008)(8936002)(76116006)(81156014)(26005)(966005)(316002)(66556008);DIR:OUT;SFP:1101; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Euu+PHf1xh0FqZZqteDpSmKgqllLo/c2rPfMjlvmCPNo2D0d4DHOI+vQx5zKMTZRwq6zdZBMeNITbgCtF28nyF4AorE8cQBRUMo6GD1o4Tik6TfU0ydA56j+6nHlhioAY5xge5U1g/pnd+l3+/81jAKrRvNy+PeWWow7ckx1FJBoVwYbroiDwACnKKNY4TL5QQych1C2pKgd8jD2O/ztNnuOOmUXDWvqxT2M7AIdKb18yRY43/OCSZCbrLxFWO28zx4mp2ppWvPQvPhZx0hrKgMTiW7orDi7Ss6g7khZwgFfWvBb4Wxe5e2E9PnSeKN2eB31J8fcZo7EXMf742iIJO378kuaDhkbVnfzLEoyL2LrjijJfszFF6+gaYEsn6QcR3kdPRFOhxDOhjSEyWRRqwW0EPAGzhIxhFs15frKNsTN0YeGdc0b+JidPFbr7TS3MMF0oeZbKOIo7w3aAanZtsKWeyIsME0jaPhXba5iPgvvCmMzAGUalux33RGYGYpVym4Zdw3hSERLB/R4AwRNoA== x-ms-exchange-antispam-messagedata: Gi7wMmRi/aFjYHn81qCqMuPDiaSiZfUBc+rEq0a6J1LTxeqhqMJOjcWnOVTlAhIuw5nveyVjfsDDTnMJMR2NyCo+7PFDSyLoyCy9X8Nzvhjlw31QGi+0ag6UOYyTk8i/XFKbzs0RKIXE00XXkBKlxg== MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3164 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pierre.Gondois@arm.com; Return-Path: Pierre.Gondois@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFTY:;SFS:(10009020)(4636009)(376002)(136003)(39860400002)(346002)(396003)(46966005)(36906005)(70586007)(82740400003)(8676002)(8936002)(52536014)(70206006)(30864003)(5660300002)(336012)(7696005)(2906002)(316002)(81166007)(26005)(55016002)(86362001)(26826003)(53546011)(6506007)(356005)(966005)(478600001)(186003)(110136005)(33656002)(9686003)(47076004)(4326008)(81156014);DIR:OUT;SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: fac1b470-6174-47b0-767f-08d7e15363a3 X-Forefront-PRVS: 0374433C81 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: St/trBgI/NpCeT1i5KfYE2vgi3qOEtnAi3owdDqsk4F3sG5ABZDrN8MUs2usUtHQlkADATeNZc4JQD+fW70lox1E6ogshdflnBgyMef1tCrd6tkwKrthKczC/hvOt5fZZSy27RBpjCDuRBVjQvXtzVzplh/p8JvUB3/q+yA1fT8hInEP4EPixiKsOSqd890DKWNchjIsJU8GuVux/Bq+H6jrliWGEtRkCMAwlYrcDBYVxoatIXehEGJ11TrmxWQWI6qPf5rMbdUPfLkXu399mdgr5simxtwbKFlSCbkcLIvw3xZR4P/GK0wOPDmMGoGtQWfIUgDtNOcLW3A5Q1R4FfaXn3RWPpyenyQVQnB0IrgPC5QwYixpExMk45Y54JLBbHQUbnBcxIl0zxDmfWPrgCDcj+wMAFH2XFXbspJs2H84JiDwMIWZZhDFbusyPEcYekZ7VdZzxf7bv6lLS7dqzTh43S7/c9RPM1n2pr2dC0+LTihoTnOqLEJDCILtJJ14MJaPvyp91aBV9t9qeypex9l20k2kszFBYDyG/VrZOedSrr7NG4tHBTgqFMwPDLBuLL+hH57avbSt/5QbCyKKFw== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2020 15:41:04.3319 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 627baa28-b589-4489-5865-08d7e1536846 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2638 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGVsbG8gQm9iLCBMaW1pbmcgYW5kIE1pY2hhZWwsDQpUaGlzIGlzIGp1c3QgYSByZS1wb3N0IG9m IG15IGxhc3QgbWVzc2FnZSBvbiB0aGUgQnVnemlsbGEgdGlja2V0IGF2YWlsYWJsZSBhdCBodHRw czovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTI2NDYgDQoNCkkgd2Fu dGVkIHRvIGJlIHN1cmUgd2UgYWdyZWVkIGJlZm9yZSB0cnlpbmcgdG8gbWFrZSBhbiBpbXBsZW1l bnRhdGlvbi4gSXQgc2VlbXMgdGhhdCBpbiBlZGsyIGJ1aWxkIHN5c3RlbSwgdGhlIHN0ZXBzIGRl c2NyaWJlZCBiZWxvdyBhcmUgZm9sbG93ZWQgKGluIHRoZSBzYW1lIG9yZGVyKTogDQogMS4gQXV0 b2dlbi5jL2ggZmlsZXMgYXJlIGdlbmVyYXRlZCwgdXNpbmcgVU5JIGZpbGVzIGFtb25nIG90aGVy IGZpbGVzLg0KIDIuIE1ha2VmaWxlcyBhcmUgZ2VuZXJhdGVkIGJ5Og0KICAgMi4xLiBQcm9iaW5n IHRoZSBmaWxlcyBpbiB0aGUgbW9kdWxlIChmcm9tIHRoZSBbU291cmNlc10gc2VjdGlvbiBvZiB0 aGUgIi5pbmYiIGZpbGUpLg0KICAgMi4yLiBGb3IgZWFjaCBmaWxlIHByb2JlZCwgY29weS9wYXN0 aW5nIHRoZSBbQ29tbWFuZHNdIHNlY3Rpb24gb2YgdGhlICJDb25mL2J1aWxkX3J1bGUudHh0IiBm aWxlIHJlbGV2YW50IGZvciB0aGUgZmlsZSBleHRlbnNpb24uIFRoaXMgYWxsb3dzIHRvIGdlbmVy YXRlIHRoZSBmaWxlIG9mIHRoZSBbT3V0cHV0RmlsZV0gc2VjdGlvbi4gRm9yIGFuIEFTTCBmaWxl LCB0aGUgbGlzdCBvZiBjb21tYW5kcyBhdCBbQWNwaS1Tb3VyY2UtTGFuZ3VhZ2UtRmlsZV0uPENv bW1hbmQuR0NDPiB3aWxsIGJlIGNvcHkvcGFzdGVkIChpZiBzb21lb25lIHVzZXMgR0NDKS4NCg0K VGhlIFVOSSBmaWxlcyBhcmUgcHJvY2Vzc2VzIGluIHRoZSBmaXJzdCBzdGVwLCB3aGVuIGdlbmVy YXRpbmcgQXV0b2dlbi5jL2ggZmlsZXMuIEFzIHRoZSBbVW5pY29kZS1UZXh0LUZpbGVdLjxDb21t YW5kPiBzZWN0aW9uIGlzIGVtcHR5LCBubyBjb21tYW5kIG5lZWRzIHRvIGJlIGV4ZWN1dGVkIGZv ciBVTkkgZmlsZXMgaW4gdGhlIHNlY29uZCBzdGVwLiBJdCBpcyBwb3NzaWJsZSBmb3IgdGhlIE1h a2VmaWxlIHRvIHJlZmVyZW5jZSB0aGUgQXV0b2dlbi5oIGZpbGUgYmVjYXVzZSBpdCBoYXMgYWxy ZWFkeSBiZWVuIGNyZWF0ZWQuDQoNCkJhc2VkIG9uIGhvdyBVTkkgZmlsZXMgYXJlIGhhbmRsZWQs IHdlIGNhbiBwcm9jZXNzIEFTTCBmaWxlcyBiZWZvcmUgdGhlIE1ha2VmaWxlIGdlbmVyYXRpb24g c3RlcC4gVGhlIGJ1aWxkIHN0ZXBzIHdvdWxkIHRoZW4gYmU6DQoxLiBBdXRvZ2VuLmMvaCBmaWxl cyBhcmUgZ2VuZXJhdGVkLCB1c2luZyBVTkkgZmlsZXMgYW1vbmcgb3RoZXIgZmlsZXMuDQoyLiBB U0wgZmlsZXMgYXJlIGNvbXBpbGVkLg0KMy4gTWFrZWZpbGVzIGFyZSBnZW5lcmF0ZWQgYnk6DQog IDMuMS4gUHJvYmluZyB0aGUgZmlsZXMgaW4gdGhlIG1vZHVsZSAoZnJvbSB0aGUgW1NvdXJjZXNd IHNlY3Rpb24gb2YgdGhlICIuaW5mIiBmaWxlKS4NCiAgMy4yLiBGb3IgZWFjaCBmaWxlIHByb2Jl ZCwgY29weS9wYXN0aW5nIHRoZSBbQ29tbWFuZHNdIHNlY3Rpb24gb2YgdGhlICJDb25mL2J1aWxk X3J1bGUudHh0IiBmaWxlIHJlbGV2YW50IGZvciB0aGUgZmlsZSBleHRlbnNpb24uIFRoaXMgYWxs b3dzIHRvIGdlbmVyYXRlIHRoZSBmaWxlIG9mIHRoZSBbT3V0cHV0RmlsZV0gc2VjdGlvbi4gRm9y IGFuIEFTTCBmaWxlLCB0aGUgbGlzdCBvZiBjb21tYW5kcyBhdCBbQWNwaS1Tb3VyY2UtTGFuZ3Vh Z2UtRmlsZV0uPENvbW1hbmQuR0NDPiB3aWxsIGJlIGNvcHkvcGFzdGVkIChpZiBzb21lb25lIHVz ZXMgR0NDKS4NCg0KSG93ZXZlciwgdGhpcyB3b3VsZCBpbXBseToNCiAtIE5vdCBidWlsZGluZyBB U0wgZmlsZXMgYnkgY2FsbGluZyB0aGUgTWFrZWZpbGUuIEluZGVlZCwgaWYgQVNMIGZpbGVzIGFy ZSBidWlsdCBiZWZvcmUgdGhlIE1ha2VmaWxlIGdlbmVyYXRpb24sIHRoZXkgY2Fubm90IGJlIGJ1 aWx0IGJ5IHRoZSBNYWtlZmlsZS4NCiAtIEhhdmluZyBhIGhhcmQtY29kZWQgYnVpbGQgb3JkZXIg Zm9yIEFTTCBmaWxlcy4gVGhleSB3aWxsIGFsd2F5cyBiZSBidWlsdCBiZWZvcmUgb3RoZXIgZmls ZXMgKGV4Y2VwdGVkIGZvcm0gVU5JIGZpbGVzLiBXZSBjYW4gc3RpbGwgY2hvb3NlIHRvIGJ1aWxk IEFTTCBmaWxlcyBiZWZvcmUgb3IgYWZ0ZXIgVU5JIGZpbGVzKQ0KIC0gSW4gYSBtb2R1bGUgaGF2 aW5nIEFTTCBmaWxlcywgYWx3YXlzIGluY2x1ZGluZyB0aGUgSEVYIGZpbGVzIGdlbmVyYXRlZCBi eSB0aGUgY29tcGlsYXRpb24gb2YgQVNMIGZpbGVzLiBJbmRlZWQsIHRoZSBidWlsZCBkZXBlbmRl bmN5IGJldHdlZW4gQyBhbmQgQVNMIGZpbGVzIHN0aWxsIG5lZWRzIHRvIGJlIHJlc29sdmVkLg0K DQpQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IGFyZSBvayB3aXRoIHRoaXMgc29sdXRpb24sDQoN ClJlZ2FyZHMsDQpQaWVycmUNCg0KUC5TLjoNClRoZSBvcHRpb25zIHRoYXQgd2UgaGF2ZSBhbHJl YWR5IHRyaWVkIGFyZToNCiAtIE9wdGlvbiAxOiBXaGVuIGxpc3RpbmcgdGhlIGJ1aWxkIHRhcmdl dCBpbiB0aGUgIkNPREFfVEFSR0VUIiB2YXJpYWJsZSwgdGhlIEFNTCBidWlsZCB0YXJnZXQgYXJl IHB1dCBmaXJzdC4gVGhpcyB3YXMgdGhlIGZpcnN0IGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSBh dCBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS80OTY1OSAuIFRoZSBpc3N1 ZSBmb3IgdGhpcyBzb2x1dGlvbiBpcyB0aGF0IHRoZXJlIGlzIG5vIGV4cGxpY2l0IGRlcGVuZGVu Y3kgYmV0d2VlbiBhIEMgZmlsZSBhbmQgYW4gQU1ML0hFWCBmaWxlICh0aGUgQyBmaWxlIG5lZWRz IHRvIGluY2x1ZGUgdGhlIEhFWCBmaWxlIGdlbmVyYXRlZCB3aGlsZSBjb21waWxpbmcgYW4gQVNM IGZpbGUpLiBGb3IgYSBtdWx0aS10aHJlYWQgYnVpbGQsIHRoZSBidWlsZCB3aWxsIGZhaWwsIGFz IHlvdSBwb2ludGVkIG91dCBhdCBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2Fn ZS81MDQ3Nw0KIC0gT3B0aW9uIDI6IE1vZGlmeWluZyBJTkYgZmlsZXMgdG8gZGVzY3JpYmUgZGVw ZW5kZW5jaWVzIGJldHdlZW4gc291cmNlIGZpbGVzIG9mIGRpZmZlcmVudCBsYW5ndWFnZXMuIFRo aXMgYWxsb3dzIHRvIGhhbmRsZSBtdWx0aS10aHJlYWQgYnVpbGRzLCBidXQgdGhlIElORiBzcGVj aWZpY2F0aW9uIG5lZWRzIHRvIGJlIG1vZGlmaWVkLiBQYXRjaCBhdmFpbGFibGUgYXQgaHR0cHM6 Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNTY2NjMNCg0KDQotLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3Jv dXBzLmlvPiBPbiBCZWhhbGYgT2YgTWljaGFlbCBEIEtpbm5leSB2aWEgR3JvdXBzLklvDQpTZW50 OiAwMSBBcHJpbCAyMDIwIDE3OjE5DQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEZlbmcsIEJv YiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT47IFBpZXJyZSBHb25kb2lzIDxQaWVycmUuR29uZG9p c0Bhcm0uY29tPjsgU2FtaSBNdWphd2FyIDxTYW1pLk11amF3YXJAYXJtLmNvbT47IEdhbywgTGlt aW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT4NCkNjOiBuZCA8bmRAYXJtLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRr Mi1kZXZlbF0gW1BBVENIIHYxIDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxlIGRlcGVuZGVuY3kgdG8g W1NvdXJjZXNdIHN5bnRheA0KDQpIaSBQaWVycmUsDQoNCldlIGRpc2N1c3NlZCB0aGlzIGluIHRo ZSBidWcgc2NydWIgeWVzdGVyZGF5Lg0KDQpXZSB0aGluayB0aGVyZSBtYXkgYmUgYSBzaW1wbGVy IHdheSB0byBhZGRyZXNzIHRoaXMgaXNzdWUgd2l0aG91dCBleHRlbmRpbmcgdGhlIElORiBzeW50 YXguDQoNCkl0IGlzIG91ciB1bmRlcnN0YW5kaW5nIHRoYXQgdGhlIEFTTCBmaWxlcyBuZWVkIHRv IGJlIHByb2Nlc3NlZCBiZWZvcmUgQyBmaWxlcyB3aGVuIGJvdGggYXJlIHByZXNlbnQgaW4gYW4g SU5GLg0KDQpUaGlzIGlzIHNpbWlsYXIgdG8gdGhlIHJlcXVpcmVtZW50IHRoYXQgVU5JIGZpbGVz IGJlIHByb2Nlc3NlZCBiZWZvcmUgQyBmaWxlcyB0aGF0IGlzIGFscmVhZHkgc3VwcG9ydGVkLg0K DQpQbGVhc2UgY29udGludWUgdGhlIGRpc2N1c3Npb24gaW4gQnVnemlsbGEgd2l0aCBCb2IuDQoN ClRoYW5rcywNCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9m IEJvYiANCj4gRmVuZw0KPiBTZW50OiBXZWRuZXNkYXksIEFwcmlsIDEsIDIwMjAgMTo1MyBBTQ0K PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IHBpZXJyZS5nb25kb2lzQGFybS5jb207IFNhbWkg TXVqYXdhciANCj4gPFNhbWkuTXVqYXdhckBhcm0uY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5n YW9AaW50ZWwuY29tPg0KPiBDYzogbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRr Mi1kZXZlbF0gW1BBVENIIHYxIDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxlIGRlcGVuZGVuY3kgDQo+ IHRvIFtTb3VyY2VzXSBzeW50YXgNCj4gDQo+IEhpIFBpZXJyZSwNCj4gDQo+IEkgd2lsbCByZXZp ZXcgdGhlIHNwZWMgYW5kIGNvZGUgY2hhbmdlIGluIHRoaXMgd2Vlay4NCj4gDQo+IFRoYW5rcywN Cj4gQm9iDQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyBbbWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvXSBPbiBCZWhhbGYgT2Yg DQo+IFBpZXJyZUdvbmRvaXMNCj4gU2VudDogTW9uZGF5LCBNYXJjaCAzMCwgMjAyMCAxMTo1MiBQ TQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFNhbWkgTXVqYXdhciA8U2FtaS5NdWphd2Fy QGFybS5jb20+OyBGZW5nLCANCj4gQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgR2FvLCBM aW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPiBDYzogbmQgPG5kQGFybS5jb20+DQo+IFN1 YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxl IGRlcGVuZGVuY3kgDQo+IHRvIFtTb3VyY2VzXSBzeW50YXgNCj4gDQo+IEhlbGxvIExpbWluZyBh bmQgQm9iLA0KPiBJIGNvdWxkbid0IGZpbmQgdGhlIGxpc3Qgb2YgbWFpbnRhaW5lcnMgZm9yIHRo ZSBzcGVjaWZpY2F0aW9uIGZpbGVzLCANCj4gYnV0IGl0IHNlZW1zIExpbWluZyBpcyBhIG1haW50 YWluZXIuDQo+IElmIGEgbWFpbnRhaW5lciBpcyBtaXNzaW5nLCBwbGVhc2UgZmVlbCBmcmVlIHRv IGNjIGhpbSwNCj4gDQo+IFJlZ2FyZHMsDQo+IFBpZXJyZQ0KPiANCj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gRnJvbTogUGllcnJlR29uZG9pcyA8cGllcnJlLmdvbmRvaXNAYXJtLmNv bT4NCj4gU2VudDogTW9uZGF5LCBNYXJjaCAzMCwgMjAyMCA0OjQzIFBNDQo+IFRvOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbw0KPiBDYzogUGllcnJlIEdvbmRvaXMgPFBpZXJyZS5Hb25kb2lzQGFybS5j b20+OyBsaW1pbmcuZ2FvQGludGVsLmNvbTsgDQo+IHNhbWkubXVqYXdhckBhcm0ub3JnOyBuZCA8 bmRAYXJtLmNvbT4NCj4gU3ViamVjdDogW1BBVENIIHYxIDEvMV0gSU5GIFNwZWM6IEFkZCBmaWxl IGRlcGVuZGVuY3kgdG8gW1NvdXJjZXNdIA0KPiBzeW50YXgNCj4gDQo+IEZyb206IFBpZXJyZSBH b25kb2lzIDxQaWVycmUuR29uZG9pc0Bhcm0uY29tPg0KPiANCj4gQlo6IGh0dHBzOi8vYnVnemls bGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ2NA0KPiANCj4gV2hlbiBidWlsZGlu ZyBhbiBlZGsyIG1vZHVsZSwgYSBDIGZpbGUgd2FzIGluY2x1ZGluZyBhIC5oZXggZmlsZSANCj4g Z2VuZXJhdGVkIGJ5IHRoZSBjb21waWxhdGlvbiBvZiBhbiBBU0wgZmlsZS4NCj4gVG8gZGVzY3Jp YmUgdGhpcyBkZXBlbmRlbmN5IGJldHdlZW4gYW4gQVNMIGZpbGUgYW5kIGEgQyBmaWxlLCB0aGUg ZWRrMiANCj4gcGF0Y2gsDQo+ICAtIG5hbWVkICJCYXNlVG9vbHM6IEJ1aWxkIEFTTCBmaWxlcyBi ZWZvcmUgQyBmaWxlcyIsDQo+ICAtIGRpc2N1c3NlZCBhdDoNCj4gaHR0cHM6Ly9lZGsyLmdyb3Vw cy5pby9nL2RldmVsL21lc3NhZ2UvNTI1NTANCj4gaGFzIGJlZW4gY3JlYXRlZC4NCj4gVGhpcyBw YXRjaCBhbGxvd3MgdG8gZXN0YWJsaXNoIGJ1aWxkIGRlcGVuZGVuY2llcyBpbiB0aGUgW1NvdXJj ZXNdIA0KPiBzZWN0aW9uLCBiZXR3ZWVuIGZpbGVzIHRoYXQgYXJlIG5vdCBvZiB0aGUgc2FtZSBs YW5ndWFnZS4NCj4gRS5nLjoNCj4gW1NvdXJjZXNdDQo+ICAgRmlsZU5hbWUxLlgNCj4gICBGaWxl TmFtZTIuWSA6IEZpbGVOYW1lMS5YDQo+ICAgRmlsZU5hbWUzLlogOiBGaWxlTmFtZTEuWCBGaWxl TmFtZTIuWQ0KPiANCj4gSGVyZToNCj4gICAqIEZpbGVOYW1lMS5YIHdpbGwgYmUgYnVpbHQgcHJp b3IgdG8gRmlsZU5hbWUyLlkuDQo+ICAgKiBGaWxlTmFtZTEuWCBhbmQgRmlsZU5hbWUyLlkgd2ls bCBiZSBidWlsdCBwcmlvciB0bw0KPiAgICAgRmlsZU5hbWUzLlouDQo+IA0KPiBUaGlzIHBhdGNo IHVwZGF0ZXMgdGhlIEluZiBzcGVjaWZpY2F0aW9uIGFjY29yZGluZ2x5Lg0KPiANCj4gU2lnbmVk LW9mZi1ieTogUGllcnJlIEdvbmRvaXMgPHBpZXJyZS5nb25kb2lzQGFybS5jb20+DQo+IC0tLQ0K PiANCj4gVGhlIGNoYW5nZXMgY2FuIGJlIHNlZW4gYXQNCj4gaHR0cHM6Ly9naXRodWIuY29tL1Bp ZXJyZUFSTS9lZGsyLQ0KPiBJbmZTcGVjaWZpY2F0aW9uL3RyZWUvQnVnemlsbGFfMjQ2NF9FbmFi bGVfQnVpbGRfRGVwZW5kZW4NCj4gY2llc192MQ0KPiANCj4gTm90ZXM6DQo+ICAgICB2MToNCj4g ICAgICAtIEVuYWJsZSBidWlsZCBkZXBlbmRlbmNpZXMgaW4gdGhlIFtTb3VyY2VzXSBzZWN0aW9u DQo+IA0KPiAgMl9pbmZfb3ZlcnZpZXcvMjVfW3NvdXJjZXNdX3NlY3Rpb24ubWQNCj4gfCAxMiAr KysrKysrKysrKysNCj4gIDNfZWRrX2lpX2luZl9maWxlX2Zvcm1hdC8zMl9jb21wb25lbnRfaW5m X2RlZmluaXRpb24ubWQNCj4gfCAgMyArKysNCj4gIDNfZWRrX2lpX2luZl9maWxlX2Zvcm1hdC8z OV9bc291cmNlc11fc2VjdGlvbnMubWQNCj4gfCAgNiArKysrLS0NCj4gIFJFQURNRS5tZA0KPiB8 ICAxICsNCj4gIDQgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkNCj4gDQo+IGRpZmYgLS1naXQgYS8yX2luZl9vdmVydmlldy8yNV9bc291cmNlc11fc2VjdGlv bi5tZA0KPiBiLzJfaW5mX292ZXJ2aWV3LzI1X1tzb3VyY2VzXV9zZWN0aW9uLm1kDQo+IGluZGV4 DQo+IDU0NzU3ZTYxZTM3MjY4ZWVkMjkzYTUyODhlNjA3Y2YyYzdjZmFjZjYuLjViOWYwYTgzOTVl ZjJiZQ0KPiA0NDk3ZDk5MTk3ZGM2OTU2MjVkODQxODMwIDEwMDY0NA0KPiAtLS0gYS8yX2luZl9v dmVydmlldy8yNV9bc291cmNlc11fc2VjdGlvbi5tZA0KPiArKysgYi8yX2luZl9vdmVydmlldy8y NV9bc291cmNlc11fc2VjdGlvbi5tZA0KPiBAQCAtMiw2ICsyLDcgQEANCj4gICAgMi41IFtTb3Vy Y2VzXSBTZWN0aW9uDQo+IA0KPiAgICBDb3B5cmlnaHQgKGMpIDIwMDctMjAxOSwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgDQo+IHJlc2VydmVkLjxCUj4NCj4gKyAgQ29weXJpZ2h0IChj KSAyMDIwLCBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cw0KPiByZXNlcnZlZC48QlI+DQo+IA0KPiAg ICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSAob3JpZ2luYWwgZG9jdW1lbnQNCj4g Zm9ybSkgYW5kICdjb21waWxlZCcNCj4gICAgZm9ybXMgKGNvbnZlcnRlZCB0byBQREYsIGVwdWIs IEhUTUwgYW5kIG90aGVyIGZvcm1hdHMpIHdpdGggb3IgDQo+IHdpdGhvdXQgQEAgLTk0LDYgKzk1 LDE3IEBAIFRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBmb3Igc291cmNlcyANCj4gc2VjdGlv bnMuDQo+IA0KPiAgYGBgDQo+IA0KPiArVGhlIGZvbGxvd2luZyBleGFtcGxlIGRlcGljdHMgdGhl IHN5bnRheCB0byBlc3RhYmxpc2gNCj4gZGVwZW5kZW5jaWVzDQo+ICtiZXR3ZWVuIGZpbGVzIG9m IGRpZmZlcmVudCBzb3VyY2UgdHlwZXMuIEFzIHNob3duIGluIHRoZQ0KPiBleGFtcGxlIGJlbG93 LA0KPiArRHNkdC5hc2wgd2lsbCBiZSBjb21waWxlZCBiZWZvcmUgRGFkdEhhbmRsZXIuYzoNCj4g Kw0KPiArYGBgaW5pDQo+ICtbU291cmNlcy5jb21tb25dDQo+ICsgIERzZHRIYW5kbGVyLmMgOiBE c2R0LmFzbA0KPiArICBEc2R0SGFuZGxlci5oDQo+ICsgIERzZHQuYXNsDQo+ICtgYGANCj4gKw0K PiAgQWxsIFVuaWNvZGUgZmlsZXMgbXVzdCBiZSBsaXN0ZWQgaW4gdGhlIHNvdXJjZSBzZWN0aW9u Lg0KPiBJZiBhIFVuaWNvZGUgZmlsZSwgIGBBLnVuaWAsIGhhcyB0aGUgc3RhdGVtZW50OiBgI2lu Y2x1ZGUgQi51bmlgLCBhbmQgDQo+IGBCLnVuaWAgaGFzIGEgc3RhdGVtZW50Og0KPiAgYCNpbmNs dWRlIEMudW5pYCwgYm90aCBgQi51bmlgIGFuZCBgQy51bmlgIGZpbGVzIG11c3QgYmUgbGlzdGVk IGluIA0KPiB0aGUgSU5GIGRpZmYgLS1naXQgDQo+IGEvM19lZGtfaWlfaW5mX2ZpbGVfZm9ybWF0 LzMyX2NvbXBvbmVudF9pbmZfZGVmaW5pdGlvbi5tZA0KPiBiLzNfZWRrX2lpX2luZl9maWxlX2Zv cm1hdC8zMl9jb21wb25lbnRfaW5mX2RlZmluaXRpb24ubWQNCj4gaW5kZXgNCj4gMTY0NzcxY2I0 Y2ZmZjZlODFmYmY3NjJhNjdmZjc0MWMxOTBjZWNkZS4uZDc3NjcxNGMyNGMwYmFmDQo+IDIzNDhm NTNkYzI1NzZjOWZlYjZmM2NiNWUgMTAwNjQ0DQo+IC0tLQ0KPiBhLzNfZWRrX2lpX2luZl9maWxl X2Zvcm1hdC8zMl9jb21wb25lbnRfaW5mX2RlZmluaXRpb24ubWQNCj4gKysrDQo+IGIvM19lZGtf aWlfaW5mX2ZpbGVfZm9ybWF0LzMyX2NvbXBvbmVudF9pbmZfZGVmaW5pdGlvbi5tZA0KPiBAQCAt Miw2ICsyLDcgQEANCj4gICAgMy4yIENvbXBvbmVudCBJTkYgRGVmaW5pdGlvbg0KPiANCj4gICAg Q29weXJpZ2h0IChjKSAyMDA3LTIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0K PiByZXNlcnZlZC48QlI+DQo+ICsgIENvcHlyaWdodCAoYykgMjAyMCwgQVJNIExpbWl0ZWQuIEFs bCByaWdodHMNCj4gcmVzZXJ2ZWQuPEJSPg0KPiANCj4gICAgUmVkaXN0cmlidXRpb24gYW5kIHVz ZSBpbiBzb3VyY2UgKG9yaWdpbmFsIGRvY3VtZW50DQo+IGZvcm0pIGFuZCAnY29tcGlsZWQnDQo+ ICAgIGZvcm1zIChjb252ZXJ0ZWQgdG8gUERGLCBlcHViLCBIVE1MIGFuZCBvdGhlciBmb3JtYXRz KSB3aXRoIG9yIA0KPiB3aXRob3V0IEBAIC0xMzMsNiArMTM0LDggQEAgVGhlIGZvbGxvd2luZyBh cmUgY29tbW9uIGRlZmluaXRpb25zIHVzZWQgDQo+IGJ5IG11bHRpcGxlIHNlY3Rpb24gdHlwZXMu DQo+ICA8RXE+ICAgICAgICAgICAgICAgICA6Oj0gPFRTPiAiPSIgPFRTPg0KPiAgPEZpZWxkU2Vw YXJhdG9yPiAgICAgOjo9ICJ8Ig0KPiAgPEZTPiAgICAgICAgICAgICAgICAgOjo9IDxUUz4gPEZp ZWxkU2VwYXJhdG9yPiA8VFM+DQo+ICs8U3JjRGVwU2VwZXJhdG9yPiAgICA6Oj0gIjoiDQo+ICs8 RGVwUz4gICAgICAgICAgICAgICA6Oj0gPFRTPiA8U3JjRGVwU2VwZXJhdG9yPiA8VFM+DQo+ICA8 V2lsZGNhcmQ+ICAgICAgICAgICA6Oj0gIioiDQo+ICA8Q29tbWFTcGFjZT4gICAgICAgICA6Oj0g IiwiIDxTcGFjZT4qDQo+ICA8Q3M+ICAgICAgICAgICAgICAgICA6Oj0gIiwiIDxTcGFjZT4qDQo+ IGRpZmYgLS1naXQNCj4gYS8zX2Vka19paV9pbmZfZmlsZV9mb3JtYXQvMzlfW3NvdXJjZXNdX3Nl Y3Rpb25zLm1kDQo+IGIvM19lZGtfaWlfaW5mX2ZpbGVfZm9ybWF0LzM5X1tzb3VyY2VzXV9zZWN0 aW9ucy5tZA0KPiBpbmRleA0KPiA4MTA5OTVkZjI2YmE0MDljYTJjZjNlYmU2MjM4YWE1ZDU1Y2Y4 MWYxLi5hYzk2NjQyNTEwMWZkNDQNCj4gYTU3YjA5ZDM2Zjk1YTBmNzMyZWFiMWM1OSAxMDA2NDQN Cj4gLS0tIGEvM19lZGtfaWlfaW5mX2ZpbGVfZm9ybWF0LzM5X1tzb3VyY2VzXV9zZWN0aW9ucy5t ZA0KPiArKysgYi8zX2Vka19paV9pbmZfZmlsZV9mb3JtYXQvMzlfW3NvdXJjZXNdX3NlY3Rpb25z Lm1kDQo+IEBAIC0yLDYgKzIsNyBAQA0KPiAgICAzLjkgW1NvdXJjZXNdIFNlY3Rpb25zDQo+IA0K PiAgICBDb3B5cmlnaHQgKGMpIDIwMDctMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMgDQo+IHJlc2VydmVkLjxCUj4NCj4gKyAgQ29weXJpZ2h0IChjKSAyMDIwLCBBUk0gTGltaXRl ZC4gQWxsIHJpZ2h0cw0KPiByZXNlcnZlZC48QlI+DQo+IA0KPiAgICBSZWRpc3RyaWJ1dGlvbiBh bmQgdXNlIGluIHNvdXJjZSAob3JpZ2luYWwgZG9jdW1lbnQNCj4gZm9ybSkgYW5kICdjb21waWxl ZCcNCj4gICAgZm9ybXMgKGNvbnZlcnRlZCB0byBQREYsIGVwdWIsIEhUTUwgYW5kIG90aGVyIGZv cm1hdHMpIHdpdGggb3IgDQo+IHdpdGhvdXQgQEAgLTc0LDcgKzc1LDggQEAgVGhpcyBzZWN0aW9u IGlzIG5vdCB2YWxpZCBmb3IgYSBnZW5lcmF0ZWQgDQo+ICJBcyBCdWlsdCIgYmluYXJ5IElORiBm aWxlLg0KPiAgPE9wdGlvbnM+ICAgICAgICAgICAgOjo9IDxGUz4gWzxGYW1pbHk+XSBbPG9wdDE+ XQ0KPiAgPG9wdDE+ICAgICAgICAgICAgICAgOjo9IDxGUz4gWzxUYWdOYW1lPl0gWzxvcHQyPl0N Cj4gIDxvcHQyPiAgICAgICAgICAgICAgIDo6PSA8RlM+IFs8VG9vbENvZGU+XSBbPG9wdDM+XQ0K PiAtPG9wdDM+ICAgICAgICAgICAgICAgOjo9IDxGUz4gWzxGZWF0dXJlRmxhZ0V4cHJlc3M+XQ0K PiArPG9wdDM+ICAgICAgICAgICAgICAgOjo9IDxGUz4gWzxGZWF0dXJlRmxhZ0V4cHJlc3M+XQ0K PiBbPG9wdDQ+XQ0KPiArPG9wdDQ+ICAgICAgICAgICAgICAgOjo9IDxEZXBTPiA8RmlsZU5hbWVE ZXBlbmRlbmN5PisNCj4gIDxGYW1pbHk+ICAgICAgICAgICAgIDo6PSB7Ik1TRlQifSB7IkdDQyJ9 IHsiSU5URUwifQ0KPiB7PFdpbGRjYXJkPn0NCj4gIDxUYWdOYW1lPiAgICAgICAgICAgIDo6PSB7 PFRvb2xXb3JkPn0geyIqIn0NCj4gIDxUb29sQ29kZT4gICAgICAgICAgIDo6PSBfQ29tbWFuZENv ZGVfDQo+IEBAIC04Myw3ICs4NSw3IEBAIFRoaXMgc2VjdGlvbiBpcyBub3QgdmFsaWQgZm9yIGEg Z2VuZXJhdGVkICJBcyBCdWlsdCIgDQo+IGJpbmFyeSBJTkYgZmlsZS4NCj4gDQo+ICAjIyMjIFBh cmFtZXRlcnMNCj4gDQo+IC0qKl9GaWxlbmFtZV8qKg0KPiArKipfRmlsZW5hbWVfLCBfRmlsZU5h bWVEZXBlbmRlbmN5XyoqDQo+IA0KPiAgUGF0aHMgbGlzdGVkIGluIHRoZSBmaWxlbmFtZSBlbGVt ZW50cyBvZiB0aGUgYFtTb3VyY2VzXWAgc2VjdGlvbiBtdXN0IA0KPiBiZSAgcmVsYXRpdmUgdG8g dGhlIGRpcmVjdG9yeSB0aGUgSU5GIGZpbGUgcmVzaWRlcyBpbi4gVXNlIG9mICIuLiIsIA0KPiAi LiIgYW5kICIuLi8iDQo+IGRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQNCj4gaW5k ZXgNCj4gNjBmYmExOWZkNjdmZDhkM2RkMzMxOTlkZTIzZjliZmUyMGFlYTdjOS4uNGY3NzFmYzBm NmU0ZmY1DQo+IDE2YmU5NWIxODc5ZDU4MzI5YWIzYmJlY2MgMTAwNjQ0DQo+IC0tLSBhL1JFQURN RS5tZA0KPiArKysgYi9SRUFETUUubWQNCj4gQEAgLTIwMywzICsyMDMsNCBAQCBDb3B5cmlnaHQg KGMpIDIwMDctMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCANCj4gcmlnaHRzIHJlc2VydmVk Lg0KPiAgfCAgICAgICAgICAgIHwNCj4gWyMxMTYyXShodHRwczovL2J1Z3ppbGxhLnRpYW5vY29y ZS5vcmcvc2hvd19idWcuY2dpP2lkPTExDQo+IDYyKSBDb3JyZWN0IHRoZSBpdGVtIGluIFRhYmxl IDEgdG8gYWxpZ24gd2l0aCAzLjQgc2VjdGlvbg0KPiB8ICAgICAgICAgICAgICAgfA0KPiAgfCAx LjI4ICAgICAgIHwNCj4gWyMxNDUzXShodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hv d19idWcuY2dpP2lkPTE0DQo+IDUzKSBVcGRhdGUgSU5GIHNwZWMgdG8gcmVtb3ZlIEVESyByZWxh dGVkIGNvbnRlbnRzDQo+IHwgTWFyIDIwMTkgICAgICB8DQo+ICB8IDEuMjkgICAgICAgfA0KPiBb IzE5NTJdKGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkN Cj4gNTIpIEFkZCBuZXcgTU9EVUxFX1RZUEUgSE9TVF9BUFBMSUNBVElPTg0KPiB8IEp1bHkgMjAx OSAgICAgIHwNCj4gK3wgICAgICAgICAgICB8DQo+IFsjMjY0Nl0oaHR0cHM6Ly9idWd6aWxsYS50 aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yNg0KPiA0NikgQWRkIGZpbGUgZGVwZW5kZW5j eSB0byBbU291cmNlc10gc3ludGF4DQo+IHwgICAgICAgICAgICAgICAgfA0KPiAtLQ0KPiAnR3Vp ZChDRTE2NTY2OS0zRUYzLTQ5M0YtQjg1RC02MTkwRUU1Qjk3NTkpJw0KPiANCj4gDQo+IA0KPiAN Cj4gDQo+IA0KDQoNCg0KDQo=