From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2087.outbound.protection.outlook.com [40.107.21.87]) by sourceware.org (Postfix) with ESMTPS id DF3633835419 for ; Mon, 17 May 2021 10:49:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org DF3633835419 Received: from AM6PR08CA0025.eurprd08.prod.outlook.com (2603:10a6:20b:c0::13) by AM8PR08MB5794.eurprd08.prod.outlook.com (2603:10a6:20b:1d6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.27; Mon, 17 May 2021 10:49:12 +0000 Received: from AM5EUR03FT017.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:c0:cafe::8e) by AM6PR08CA0025.outlook.office365.com (2603:10a6:20b:c0::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25 via Frontend Transport; Mon, 17 May 2021 10:49:12 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=pass 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 AM5EUR03FT017.mail.protection.outlook.com (10.152.16.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25 via Frontend Transport; Mon, 17 May 2021 10:49:12 +0000 Received: ("Tessian outbound 8ca198b738d3:v91"); Mon, 17 May 2021 10:49:11 +0000 X-CR-MTA-TID: 64aa7808 Received: from f231141c2cdf.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id CAFDBD68-D549-453A-8C58-73AE77347687.1; Mon, 17 May 2021 10:49:05 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f231141c2cdf.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 17 May 2021 10:49:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n7rM0vRFZSE16eZkYpHXVAzRsSIdo7VgJkeSojqmVwX3p3HjEO7i7NK5bK+rnz4Luc8GKbT+GJw3wEq1T9LLfmJEzDqKZJY7Mc6Wm8vv+qRbR3LHjgeZEg//KUx3oIcM7+bk9N8ypvNN2R1xQX/zkJYA6jjIVBMNXbZJ9Zjm7XhIcZGgNYr841JCJX5TEaxWyBcXtRnrHvrFsBcvRk6rDR6joakK/MzwOioJF4ARWq6Y6+EOl3EsvwyCHT+lNMgyzQHL3iXyyuwOrKZNXH5m1wnfAwTDtLT/x8cTIbyvX5ysAXzpDxSzvmg+9B5NGP+oeuLbfJPCvd4fe+La1z8OGg== 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=rLhLaOVnNYVB3sn4BA+edAovAFnGdvCHXvbW0uIWR9s=; b=OpkEx3EHyRJ+IzSF8RdjTEGhoPS4wONo0vRRP3vF0tTy5OdX28qmmL7onCRf4KVS6mDr57aEmzUN2WFKUmgSa4jmfgcVsCrE+VexyC1leDvKV+9882oUqnBIRMm/FhpHBg/n2vueF68ObCzeHVCPnW4vsH0i6DeT7AXiGUml+lCO93M7ciygUYiTi+kxaXHUsexwxdi8RvIeqGEm4K2CGAZ0b/oLnnwx1s/TThcSy8vcSiuxhXHej17Nk92v/X+JPt7e2Ou+YPQgRvmhXP8yjh5MODIWbQ5N3d5JrMiAREBVY9ikqM0svGDmr91yepBfu2CaWtKhQTU3DCEsNA1Zig== 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 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by PAXPR08MB6368.eurprd08.prod.outlook.com (2603:10a6:102:159::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.26; Mon, 17 May 2021 10:49:03 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::95ab:14a5:b91f:5d7a]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::95ab:14a5:b91f:5d7a%6]) with mapi id 15.20.4129.031; Mon, 17 May 2021 10:49:03 +0000 From: Kyrylo Tkachov To: Christophe Lyon , Andre Simoes Dias Vieira CC: "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH 7/9] arm: Auto-vectorization for MVE: add __fp16 support to VCMP Thread-Topic: [PATCH 7/9] arm: Auto-vectorization for MVE: add __fp16 support to VCMP Thread-Index: AQHXPcqz2N9mrvCawkqSNiWqWhDGSarTOzKAgAAgFACAADgFAIABYaAAgBKj7JA= Date: Mon, 17 May 2021 10:49:03 +0000 Message-ID: References: <1619791790-628-1-git-send-email-christophe.lyon@linaro.org> <1619791790-628-7-git-send-email-christophe.lyon@linaro.org> <12b710c0-f646-d44e-c18d-6a550140911b@arm.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 533CB94D492EC640918C75AA723BFEF0.0 x-checkrecipientchecked: true Authentication-Results-Original: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [86.31.103.53] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: cf4143a8-d886-4f66-0a48-08d91921684c x-ms-traffictypediagnostic: PAXPR08MB6368:|AM8PR08MB5794: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:5236;OLM:5236; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: dLhLFPbHtYjj5DKXKSoVqv6bHfvMnBNV5AnQLfTPyB6UToeBRqgETp7gxHOpPZk6B+c0+h2KHswR9A0KgC69DQ7DgI/lJM3ulMA9G5qNfU+WWMIEWonMXWv+wgHswvuV/6f6cCeOJgaFWwumGsxCpV+rymMoANpgd+dHFUtna/vJz0tk7aUfSojAErJkFEUKt0GGFVnz73VnqrkqCL1EKNonbAeGplPNBI6icq9rj/vQcUgdA2RQW5rVP9nUDP4TW0/xSZ3rkV+mAbBSGLdPZd69matL9+ygJ0zG7RF7UaGhcZOYH1QHjDdr3zoLH5qv6bQigEhf6CTBmuLl7Qr3334pbaRjZRXBulP2GwB4ntt2LKnZz3KZRjDp9U+2xmhB5zvA+/9q+pfAtbkYPw76Qq1BlL6JIhxLcL61h8wdoPdimImx9VwpNZGOJ3AKPhUtSfF4kJF9b8SZ6INDxj0oIiYNezOjxSLzIlYpCwhK3gNkD8TfqIrtiQB9VSWuAMAFYPUNDudPtu9ZLv3YagVWTOTyUTISoGrDBCDO/HYJRZ7D76Js/YvLFSSka47VR3/o4QT0ypEI5oEgFrOr2X0v75nM5CkOiuoQ+LD21nFCtj8= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR08MB6926.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(376002)(39850400004)(136003)(396003)(346002)(53546011)(6506007)(5660300002)(316002)(8936002)(8676002)(66556008)(4326008)(7696005)(76116006)(66446008)(30864003)(66476007)(64756008)(122000001)(55016002)(9686003)(71200400001)(2906002)(6636002)(86362001)(38100700002)(110136005)(55236004)(66946007)(52536014)(186003)(26005)(83380400001)(33656002)(478600001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?dk1yZmZ0UE42bHp2SkxDN1Q0RGNoUlBtS2F6aS84dDhJdDc4a2wvYTUyRFpI?= =?utf-8?B?N2ZZWFM1K29Nd3EyR0IveUIzbGZubk8yL2dUYnJkeEJTa25yVHFvSmJ1anNk?= =?utf-8?B?dE5XbEpxWGFqVTlkcWM4RytzbjBtdUV5UlltaTBvVkYxZDJmSmNmbUJXMHN4?= =?utf-8?B?RWZ5cmRzWEdOSFRzb3c5cVZPVGZjSGFFdm82NG9sS1Y1bmJHdGtaS25jT0ZY?= =?utf-8?B?L2xrVDF6NFlkNEJ3cWptSXptNTdsY1k4L3R3OG5GUHZRU2RoMUZJbnRLRXkv?= =?utf-8?B?RmdkSlpydkVsUmtqNWFPbjhRMFZmOFArajNPbzdzbGd1Z0hoYWQ0SlJSek5Z?= =?utf-8?B?Vy9XTFRyZmtTZk5BdEh0ZUpSM3U0cGI2NTNUL0ZRWTlVSG1FbmZGRXJ4bUgr?= =?utf-8?B?NHZGOGUwZ2VlWDRTMWhzNWRnMU9sdGxONnpVVnA5VW1CMDFYcGJTQ2NvS09r?= =?utf-8?B?MEVXRzI3RllaY1UzOHUzSjhpK0x3OEVLUDNyMTFmbHFXbTZOWFpNaWJOU2gw?= =?utf-8?B?emhUYld6NHJqeGhBcDZ2cTFBZFBWK1krSzRBZGIxVTBTdXRDR3NnejVJR0hU?= =?utf-8?B?S0NYREkvbTBBS21Gc2o5MlI1WkNIZlhXQmlDUllGdTZhZGV4L1YvRG9CZFJ0?= =?utf-8?B?cFY5V3FLVXpDQjlNbXBwMXFjMk9nUDNGcnRQOWw0djRMNXRLK05vYU9TR25x?= =?utf-8?B?RUFxNGQrNkFyTEF1aUpIRk5mb2UwQWJRN2dmak13OG5yYmFKekdBMUFGS041?= =?utf-8?B?YUVUWDNTdW1JUHpXMGYveVpzTjRqQVEzZ25wT1ptVDVESnBKaFh0Y1RoblVG?= =?utf-8?B?OWloRTdWVVFqUmtSZDJqdXQ3WVhlenhHRlFVSDFSdys0OENDeUpwbkN0NFFk?= =?utf-8?B?emQ5MGg5cWZQR1RETjZOa2pEQjdheDdtbE5HOXFJU0NHWXhja3Y0elM4djlp?= =?utf-8?B?UFRhWkUwWlF5NkdyMWZjUFU4SmxQcWFNSzVYcVFtN0tNbzRuOS84QlFFYk1V?= =?utf-8?B?Vys4ZzdtWFNESElIeFRVblBlRlg4d21VdVpYUTFPcFhwTjJmQnVPdTVPOFh1?= =?utf-8?B?eG5mRWZVYWpxZzZyUnVzT1BwWVdpc1RYYXh2Ly9SOEJ0ZmhKeXV5MitEZ1lB?= =?utf-8?B?bG5SWWc3TWlWbDdOTHJhMmdMdUFCbXpleHU0SmpVVlRpZElQUE5PUVFrZmJ1?= =?utf-8?B?MlE2d2VBQnZ6WkNod3UyTzllcFF3aWhMVmpQbVZLQmNXc0Y1OEt1dCtJTG9X?= =?utf-8?B?MW1ycWxkWVN3eFZvUmdreUZ0Q0w1VnRsamFEOVNHTDJPazNoa1JmZmFpWnpZ?= =?utf-8?B?SEVRNGxqOUJsNkQzcTZFQVJKQ1ZZU1F3OWUzZFdSSGJYUkJaRnJabkhneHpo?= =?utf-8?B?QU5TMmpKY2lXUHNPdU9iK1c4eVNURS9aNm8yUFVqY2hDd0J4ZGVhKzIzK3Ja?= =?utf-8?B?bXh4WDVaMEdIYk1jeExZT3VhSW9GY25hbFZHME5CekRxRlNFSG0rYnhiTysv?= =?utf-8?B?TU5GbkhJWUt1NTBXOEUrME41UERMVHp3UzhleDNNRzArNnJyVDFSTytTR3dC?= =?utf-8?B?eGNnTGZsUjJ1ZVZBdHgwd0pwRnhGOURVcHNjV2g4SmtIbkhTTit3QTJhSWJp?= =?utf-8?B?aXl6Q3IwM1VvYVVPOThHZHZXQkQvYnBjT294YlZWaTZLUzM2M1haWURkK3gx?= =?utf-8?B?NTBsektzQmpFcVJGSUJJMThKdHQrU2NxQUc0LzYrN3MvRWRuZ1hFWU8xVmVI?= =?utf-8?Q?lUMQN9Y6O1f4zonRQQ=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6368 Original-Authentication-Results: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT017.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: d11466e4-2000-4c23-d005-08d919216316 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1hPe4TqrSLPq0SB+e6HV/3hIhiTFeYQ5+m/hzLMp+e5qpNigOGJS91hu92A7Igjvrdi4Rg5l0//Yr1cNsmpTLGggzKEzQsCsXrKsdgvthSyfRNFWdVETkSKwJotkMxAamU9xqTNsSfGOmeweh9o5rh7zvmtq6sbpSH803yJcaURIV3GTXSh8nNy6bBpqVyTka95HYYniHvF9YnT+coDrG0jLUvwENvH9yZOOAr788w1WnyJS1NQRqCRRWzMzU8ZdP82XXs1XWVCrtOcbOfq5SWa81blJ6mUqKNzxadfZRd9xM7qZYCVmk6HylZLewOuhvey0pAT+7jfo7kuRWAXkL3Bk+UiMeozDxD1UBQy4ib1xnAmZORUIvu5rcc0dvqbV6wfvXwzJ2HuTuS6fcYTTp7bgCHEzusI3UmeQTDoTwh5MIZzw9Qd5nyLSwkO+99bxd3Fl1y1nyZdoGHo70NVgXu8V440hxgcnpHxR0ZubS0IfHekfAhHJ3lMfiz5Z/dKYCDqfs0i2Dcx4XGs+ZgJD9sZ84LkDKliiRytacTx1Z1eGC72tF0bf1Pz84oVlzQFyzN4bXMWzVJRZpPG3sNl8q571EQDBycXvXdzP1u+cMCsodem1fbxAv/tYtnzKo4BsqnucW29OK2szDo8gTKlH6RvKoLBS/WqQgu4aC6/2jhM= 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; SFS:(4636009)(376002)(346002)(396003)(136003)(39850400004)(46966006)(36840700001)(70206006)(110136005)(70586007)(336012)(6636002)(316002)(26005)(6506007)(478600001)(30864003)(55236004)(36860700001)(82310400003)(7696005)(8676002)(4326008)(52536014)(186003)(9686003)(81166007)(2906002)(55016002)(8936002)(53546011)(5660300002)(33656002)(47076005)(356005)(86362001)(82740400003)(83380400001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 May 2021 10:49:12.3325 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cf4143a8-d886-4f66-0a48-08d91921684c 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-AuthSource: AM5EUR03FT017.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5794 X-Spam-Status: No, score=-13.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2021 10:49:18 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogR2NjLXBhdGNoZXMgPGdj Yy1wYXRjaGVzLWJvdW5jZXNAZ2NjLmdudS5vcmc+IE9uIEJlaGFsZiBPZg0KPiBDaHJpc3RvcGhl IEx5b24gdmlhIEdjYy1wYXRjaGVzDQo+IFNlbnQ6IDA1IE1heSAyMDIxIDE1OjA5DQo+IFRvOiBB bmRyZSBTaW1vZXMgRGlhcyBWaWVpcmEgPEFuZHJlLlNpbW9lc0RpYXNWaWVpcmFAYXJtLmNvbT4N Cj4gQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggNy85 XSBhcm06IEF1dG8tdmVjdG9yaXphdGlvbiBmb3IgTVZFOiBhZGQgX19mcDE2DQo+IHN1cHBvcnQg dG8gVkNNUA0KPiANCj4gT24gVHVlLCA0IE1heSAyMDIxIGF0IDE5OjAzLCBDaHJpc3RvcGhlIEx5 b24gPGNocmlzdG9waGUubHlvbkBsaW5hcm8ub3JnPg0KPiB3cm90ZToNCj4gPg0KPiA+IE9uIFR1 ZSwgNCBNYXkgMjAyMSBhdCAxNTo0MywgQ2hyaXN0b3BoZSBMeW9uDQo+IDxjaHJpc3RvcGhlLmx5 b25AbGluYXJvLm9yZz4gd3JvdGU6DQo+ID4gPg0KPiA+ID4gT24gVHVlLCA0IE1heSAyMDIxIGF0 IDEzOjQ4LCBBbmRyZSBWaWVpcmEgKGxpc3RzKQ0KPiA+ID4gPGFuZHJlLnNpbW9lc2RpYXN2aWVp cmFAYXJtLmNvbT4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+IEl0IHdvdWxkIGJlIGdvb2QgdG8g YWxzbyBhZGQgdGVzdHMgZm9yIE5FT04gYXMgeW91IGFsc28gZW5hYmxlIGF1dG8tDQo+IHZlYw0K PiA+ID4gPiBmb3IgaXQuIEkgY2hlY2tlZCBhbmQgSSBkbyB0aGluayB0aGUgbmVjZXNzYXJ5ICdu ZW9uX3ZjJyBwYXR0ZXJucyBleGlzdA0KPiA+ID4gPiBmb3IgJ1ZIJywgc28gd2Ugc2hvdWxkIGJl IE9LIHRoZXJlLg0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+IEFjdHVhbGx5IHNpbmNlIEkgcG9zdGVk IHRoZSBwYXRjaCBzZXJpZXMsIEkndmUgbm90aWNlZCBhIHJlZ3Jlc3Npb24gaW4NCj4gPiA+IGFy bXY4XzItZnAxNi1hcml0aC0xLmMsIGJlY2F1c2Ugd2Ugbm93IHZlY3Rvcml6ZSBhbGwgdGhlIGZs b2F0MTZ4WzQ4XV90DQo+IGxvb3BzLA0KPiA+ID4gYnV0IHdlIGxvc2UgdGhlIGZhY3QgdGhhdCBz b21lIEZQIGNvbXBhcmlzb25zIGNhbiB0aHJvdyBleGNlcHRpb25zLg0KPiA+ID4NCj4gPiA+IEkn bGwgaGF2ZSB0byByZXZpc2l0IHRoaXMgcGF0Y2guDQo+ID4NCj4gPiBBY3R1YWxseSBpdCBsb29r cyBsaWtlIG15IHBhdGNoIGRvZXMgdGhlIHJpZ2h0IHRoaW5nOiB3ZSBub3cgdmVjdG9yaXplDQo+ ID4gYXBwcm9wcmlhdGVseSwgZ2l2ZW4gdGhhdCB0aGUgdGVzdGNhc2UgaXMgY29tcGlsZWQgd2l0 aCAtZmZhc3QtbWF0aC4NCj4gPiBJIG5lZWQgdG8gdXBkYXRlIHRoZSB0ZXN0Y2FzZSwgdGhvdWdo Lg0KPiA+DQo+IA0KPiBIZXJlIGlzIGEgbmV3IHZlcnNpb24sIHdpdGggYXJtdjhfMi1mcDE2LWFy aXRoLTEuYyB1cGRhdGVkIHRvIHRha2UNCj4gaW50byBhY2NvdW50IHRoZSBuZXcgdmVjdG9yaXph dGlvbi4NCg0KT2suDQpUaGFua3MsDQpLeXJpbGwNCg0KPiANCj4gQ2hyaXN0b3BoZQ0KPiANCj4g DQo+ID4gPg0KPiA+ID4gVGhhbmtzLA0KPiA+ID4NCj4gPiA+IENocmlzdG9waGUNCj4gPiA+DQo+ ID4gPiA+IE9uIDMwLzA0LzIwMjEgMTU6MDksIENocmlzdG9waGUgTHlvbiB2aWEgR2NjLXBhdGNo ZXMgd3JvdGU6DQo+ID4gPiA+ID4gVGhpcyBwYXRjaCBhZGRzIF9fZnAxNiBzdXBwb3J0IHRvIHRo ZSBwcmV2aW91cyBwYXRjaCB0aGF0IGFkZGVkDQo+IHZjbXANCj4gPiA+ID4gPiBzdXBwb3J0IHdp dGggTVZFLiBGb3IgdGhpcyB3ZSB1cGRhdGUgZXhpc3RpbmcgZXhwYW5kZXJzIHRvIHVzZQ0KPiBW RFFXSA0KPiA+ID4gPiA+IGl0ZXJhdG9yLCBhbmQgYWRkIGEgbmV3IGV4cGFuZGVyIHZjb25kPFZI X2N2dHRvPjxtb2RlPi4gIEluIHRoZQ0KPiA+ID4gPiA+IHByb2Nlc3Mgd2UgbmVlZCB0byBjcmVh dGUgc3VpdGFibGUgaXRlcmF0b3JzLCBhbmQgdXBkYXRlDQo+IHZfY21wX3Jlc3VsdA0KPiA+ID4g PiA+IGFzIG5lZWRlZC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IDIwMjEtMDQtMjYgIENocmlzdG9w aGUgTHlvbiAgPGNocmlzdG9waGUubHlvbkBsaW5hcm8ub3JnPg0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gICAgICAgZ2NjLw0KPiA+ID4gPiA+ICAgICAgICogY29uZmlnL2FybS9pdGVyYXRvcnMubWQg KFYxNik6IE5ldyBpdGVyYXRvci4NCj4gPiA+ID4gPiAgICAgICAoVkhfY3Z0dG8pOiBOZXcgaXRl cmF0b3IuDQo+ID4gPiA+ID4gICAgICAgKHZfY21wX3Jlc3VsdCk6IEFkZGVkIFY0SEYgYW5kIFY4 SEYgc3VwcG9ydC4NCj4gPiA+ID4gPiAgICAgICAqIGNvbmZpZy9hcm0vdmVjLWNvbW1vbi5tZCAo dmVjX2NtcDxtb2RlPjx2X2NtcF9yZXN1bHQ+KToNCj4gVXNlIFZEUVdILg0KPiA+ID4gPiA+ICAg ICAgICh2Y29uZDxtb2RlPjxtb2RlPik6IExpa2V3aXNlLg0KPiA+ID4gPiA+ICAgICAgICh2Y29u ZF9tYXNrXzxtb2RlPjx2X2NtcF9yZXN1bHQ+KTogTGlrZXdpc2UuDQo+ID4gPiA+ID4gICAgICAg KHZjb25kPFZIX2N2dHRvPjxtb2RlPik6IE5ldyBleHBhbmRlci4NCj4gPiA+ID4gPg0KPiA+ID4g PiA+ICAgICAgIGdjYy90ZXN0c3VpdGUvDQo+ID4gPiA+ID4gICAgICAgKiBnY2MudGFyZ2V0L2Fy bS9zaW1kL212ZS1jb21wYXJlLTMuYzogTmV3IHRlc3Qgd2l0aCBHQ0MNCj4gdmVjdG9ycy4NCj4g PiA+ID4gPiAgICAgICAqIGdjYy50YXJnZXQvYXJtL3NpbWQvbXZlLXZjbXAtZjE2LmM6IE5ldyB0 ZXN0IGZvcg0KPiA+ID4gPiA+ICAgICAgIGF1dG8tdmVjdG9yaXphdGlvbi4NCj4gPiA+ID4gPiAt LS0NCj4gPiA+ID4gPiAgIGdjYy9jb25maWcvYXJtL2l0ZXJhdG9ycy5tZCAgICAgICAgICAgICAg ICAgICAgICAgfCAgNiArKysrDQo+ID4gPiA+ID4gICBnY2MvY29uZmlnL2FybS92ZWMtY29tbW9u Lm1kICAgICAgICAgICAgICAgICAgICAgIHwgNDANCj4gKysrKysrKysrKysrKysrKy0tLS0tLS0N Cj4gPiA+ID4gPiAgIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vc2ltZC9tdmUtY29tcGFy ZS0zLmMgfCAzOA0KPiArKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ID4gPiAgIGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9hcm0vc2ltZC9tdmUtdmNtcC1mMTYuYyAgfCAzMA0KPiArKysrKysr KysrKysrKysrKw0KPiA+ID4gPiA+ICAgNCBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygr KSwgMTIgZGVsZXRpb25zKC0pDQo+ID4gPiA+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9zaW1kL212ZS0NCj4gY29tcGFyZS0zLmMNCj4gPiA+ID4g PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL3NpbWQv bXZlLXZjbXAtDQo+IGYxNi5jDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9hcm0vaXRlcmF0b3JzLm1kDQo+IGIvZ2NjL2NvbmZpZy9hcm0vaXRlcmF0b3JzLm1k DQo+ID4gPiA+ID4gaW5kZXggYTEyODQ2NS4uMzA0MmJhZiAxMDA2NDQNCj4gPiA+ID4gPiAtLS0g YS9nY2MvY29uZmlnL2FybS9pdGVyYXRvcnMubWQNCj4gPiA+ID4gPiArKysgYi9nY2MvY29uZmln L2FybS9pdGVyYXRvcnMubWQNCj4gPiA+ID4gPiBAQCAtMjMxLDYgKzIzMSw5IEBAIChkZWZpbmVf bW9kZV9pdGVyYXRvciBWVSBbVjE2UUkgVjhISSBWNFNJXSkNCj4gPiA+ID4gPiAgIDs7IFZlY3Rv ciBtb2RlcyBmb3IgMTYtYml0IGZsb2F0aW5nLXBvaW50IHN1cHBvcnQuDQo+ID4gPiA+ID4gICAo ZGVmaW5lX21vZGVfaXRlcmF0b3IgVkggW1Y4SEYgVjRIRl0pDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiArOzsgTW9kZXMgd2l0aCAxNi1iaXQgZWxlbWVudHMgb25seS4NCj4gPiA+ID4gPiArKGRlZmlu ZV9tb2RlX2l0ZXJhdG9yIFYxNiBbVjRISSBWNEhGIFY4SEkgVjhIRl0pDQo+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ICAgOzsgMTYtYml0IGZsb2F0aW5nLXBvaW50IHZlY3RvciBtb2RlcyBzdWl0YWJs ZSBmb3IgbW92aW5nIChpbmNsdWRlcw0KPiBCRm1vZGUpLg0KPiA+ID4gPiA+ICAgKGRlZmluZV9t b2RlX2l0ZXJhdG9yIFZIRkJGIFtWOEhGIFY0SEYgVjRCRiBWOEJGXSkNCj4gPiA+ID4gPg0KPiA+ ID4gPiA+IEBAIC01NzEsNiArNTc0LDggQEAgKGRlZmluZV9tb2RlX2F0dHIgVl9jdnR0byBbKFYy U0kgInYyc2YiKQ0KPiAoVjJTRiAidjJzaSIpDQo+ID4gPiA+ID4gICA7OyAoT3Bwb3NpdGUpIG1v ZGUgdG8gY29udmVydCB0by9mcm9tIGZvciB2ZWN0b3ItaGFsZiBtb2RlDQo+IGNvbnZlcnNpb25z Lg0KPiA+ID4gPiA+ICAgKGRlZmluZV9tb2RlX2F0dHIgVkhfQ1ZUVE8gWyhWNEhJICJWNEhGIikg KFY0SEYgIlY0SEkiKQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgKFY4SEkg IlY4SEYiKSAoVjhIRiAiVjhISSIpXSkNCj4gPiA+ID4gPiArKGRlZmluZV9tb2RlX2F0dHIgVkhf Y3Z0dG8gWyhWNEhJICJ2NGhmIikgKFY0SEYgInY0aGkiKQ0KPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgKFY4SEkgInY4aGYiKSAoVjhIRiAidjhoaSIpXSkNCj4gPiA+ID4gPg0K PiA+ID4gPiA+ICAgOzsgRGVmaW5lIGVsZW1lbnQgbW9kZSBmb3IgZWFjaCB2ZWN0b3IgbW9kZS4N Cj4gPiA+ID4gPiAgIChkZWZpbmVfbW9kZV9hdHRyIFZfZWxlbSBbKFY4UUkgIlFJIikgKFYxNlFJ ICJRSSIpDQo+ID4gPiA+ID4gQEAgLTcyMCw2ICs3MjUsNyBAQCAoZGVmaW5lX21vZGVfYXR0ciBW X2NtcF9yZXN1bHQgWyhWOFFJDQo+ICJWOFFJIikgKFYxNlFJICJWMTZRSSIpDQo+ID4gPiA+ID4g ICAoZGVmaW5lX21vZGVfYXR0ciB2X2NtcF9yZXN1bHQgWyhWOFFJICJ2OHFpIikgKFYxNlFJICJ2 MTZxaSIpDQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFY0SEkgInY0 aGkiKSAoVjhISSAgInY4aGkiKQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChWMlNJICJ2MnNpIikgKFY0U0kgICJ2NHNpIikNCj4gPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoVjRIRiAidjRoaSIpIChWOEhGICAidjhoaSIpDQo+ID4gPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKERJICAgImRpIikgICAoVjJESSAgInYyZGki KQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChWMlNGICJ2MnNpIikg KFY0U0YgICJ2NHNpIildKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2djYy9j b25maWcvYXJtL3ZlYy1jb21tb24ubWQgYi9nY2MvY29uZmlnL2FybS92ZWMtDQo+IGNvbW1vbi5t ZA0KPiA+ID4gPiA+IGluZGV4IDAzNGI0OGIuLjNmZDM0MWMgMTAwNjQ0DQo+ID4gPiA+ID4gLS0t IGEvZ2NjL2NvbmZpZy9hcm0vdmVjLWNvbW1vbi5tZA0KPiA+ID4gPiA+ICsrKyBiL2djYy9jb25m aWcvYXJtL3ZlYy1jb21tb24ubWQNCj4gPiA+ID4gPiBAQCAtMzY2LDggKzM2Niw4IEBAIChkZWZp bmVfZXhwYW5kICJ2bHNocjxtb2RlPjMiDQo+ID4gPiA+ID4gICAoZGVmaW5lX2V4cGFuZCAidmVj X2NtcDxtb2RlPjx2X2NtcF9yZXN1bHQ+Ig0KPiA+ID4gPiA+ICAgICBbKHNldCAobWF0Y2hfb3Bl cmFuZDo8Vl9jbXBfcmVzdWx0PiAwICJzX3JlZ2lzdGVyX29wZXJhbmQiKQ0KPiA+ID4gPiA+ICAg ICAgIChtYXRjaF9vcGVyYXRvcjo8Vl9jbXBfcmVzdWx0PiAxICJjb21wYXJpc29uX29wZXJhdG9y Ig0KPiA+ID4gPiA+IC0gICAgICAgWyhtYXRjaF9vcGVyYW5kOlZEUVcgMiAic19yZWdpc3Rlcl9v cGVyYW5kIikNCj4gPiA+ID4gPiAtICAgICAgICAobWF0Y2hfb3BlcmFuZDpWRFFXIDMgInJlZ19v cl96ZXJvX29wZXJhbmQiKV0pKV0NCj4gPiA+ID4gPiArICAgICAgIFsobWF0Y2hfb3BlcmFuZDpW RFFXSCAyICJzX3JlZ2lzdGVyX29wZXJhbmQiKQ0KPiA+ID4gPiA+ICsgICAgICAgIChtYXRjaF9v cGVyYW5kOlZEUVdIIDMgInJlZ19vcl96ZXJvX29wZXJhbmQiKV0pKV0NCj4gPiA+ID4gPiAgICAg IkFSTV9IQVZFXzxNT0RFPl9BUklUSA0KPiA+ID4gPiA+ICAgICAgJiYgIVRBUkdFVF9SRUFMTFlf SVdNTVhUDQo+ID4gPiA+ID4gICAgICAmJiAoITxJc19mbG9hdF9tb2RlPiB8fCBmbGFnX3Vuc2Fm ZV9tYXRoX29wdGltaXphdGlvbnMpIg0KPiA+ID4gPiA+IEBAIC0zOTksMTMgKzM5OSwxMyBAQCAo ZGVmaW5lX2V4cGFuZA0KPiAidmVjX2NtcHU8bW9kZT48bW9kZT4iDQo+ID4gPiA+ID4gICA7OyBl bGVtZW50LXdpc2UuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgIChkZWZpbmVfZXhwYW5kICJ2Y29u ZDxtb2RlPjxtb2RlPiINCj4gPiA+ID4gPiAtICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWRFFXIDAg InNfcmVnaXN0ZXJfb3BlcmFuZCIpDQo+ID4gPiA+ID4gLSAgICAgKGlmX3RoZW5fZWxzZTpWRFFX DQo+ID4gPiA+ID4gKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkRRV0ggMCAic19yZWdpc3Rlcl9v cGVyYW5kIikNCj4gPiA+ID4gPiArICAgICAoaWZfdGhlbl9lbHNlOlZEUVdIDQo+ID4gPiA+ID4g ICAgICAgICAobWF0Y2hfb3BlcmF0b3IgMyAiY29tcGFyaXNvbl9vcGVyYXRvciINCj4gPiA+ID4g PiAtICAgICAgICAgWyhtYXRjaF9vcGVyYW5kOlZEUVcgNCAic19yZWdpc3Rlcl9vcGVyYW5kIikN Cj4gPiA+ID4gPiAtICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZEUVcgNSAicmVnX29yX3plcm9f b3BlcmFuZCIpXSkNCj4gPiA+ID4gPiAtICAgICAgIChtYXRjaF9vcGVyYW5kOlZEUVcgMSAic19y ZWdpc3Rlcl9vcGVyYW5kIikNCj4gPiA+ID4gPiAtICAgICAgIChtYXRjaF9vcGVyYW5kOlZEUVcg MiAic19yZWdpc3Rlcl9vcGVyYW5kIikpKV0NCj4gPiA+ID4gPiArICAgICAgICAgWyhtYXRjaF9v cGVyYW5kOlZEUVdIIDQgInNfcmVnaXN0ZXJfb3BlcmFuZCIpDQo+ID4gPiA+ID4gKyAgICAgICAg ICAobWF0Y2hfb3BlcmFuZDpWRFFXSCA1ICJyZWdfb3JfemVyb19vcGVyYW5kIildKQ0KPiA+ID4g PiA+ICsgICAgICAgKG1hdGNoX29wZXJhbmQ6VkRRV0ggMSAic19yZWdpc3Rlcl9vcGVyYW5kIikN Cj4gPiA+ID4gPiArICAgICAgIChtYXRjaF9vcGVyYW5kOlZEUVdIIDIgInNfcmVnaXN0ZXJfb3Bl cmFuZCIpKSldDQo+ID4gPiA+ID4gICAgICJBUk1fSEFWRV88TU9ERT5fQVJJVEgNCj4gPiA+ID4g PiAgICAgICYmICFUQVJHRVRfUkVBTExZX0lXTU1YVA0KPiA+ID4gPiA+ICAgICAgJiYgKCE8SXNf ZmxvYXRfbW9kZT4gfHwgZmxhZ191bnNhZmVfbWF0aF9vcHRpbWl6YXRpb25zKSINCj4gPiA+ID4g PiBAQCAtNDMwLDYgKzQzMCwyMiBAQCAoZGVmaW5lX2V4cGFuZCAidmNvbmQ8Vl9jdnR0bz48bW9k ZT4iDQo+ID4gPiA+ID4gICAgIERPTkU7DQo+ID4gPiA+ID4gICB9KQ0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gKyhkZWZpbmVfZXhwYW5kICJ2Y29uZDxWSF9jdnR0bz48bW9kZT4iDQo+ID4gPiA+ID4g KyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZIX0NWVFRPPiAwICJzX3JlZ2lzdGVyX29wZXJhbmQi KQ0KPiA+ID4gPiA+ICsgICAgIChpZl90aGVuX2Vsc2U6PFZIX0NWVFRPPg0KPiA+ID4gPiA+ICsg ICAgICAgKG1hdGNoX29wZXJhdG9yIDMgImNvbXBhcmlzb25fb3BlcmF0b3IiDQo+ID4gPiA+ID4g KyAgICAgICAgIFsobWF0Y2hfb3BlcmFuZDpWMTYgNCAic19yZWdpc3Rlcl9vcGVyYW5kIikNCj4g PiA+ID4gPiArICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlYxNiA1ICJyZWdfb3JfemVyb19vcGVy YW5kIildKQ0KPiA+ID4gPiA+ICsgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZIX0NWVFRPPiAxICJz X3JlZ2lzdGVyX29wZXJhbmQiKQ0KPiA+ID4gPiA+ICsgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZI X0NWVFRPPiAyICJzX3JlZ2lzdGVyX29wZXJhbmQiKSkpXQ0KPiA+ID4gPiA+ICsgICJBUk1fSEFW RV88TU9ERT5fQVJJVEgNCj4gPiA+ID4gPiArICAgJiYgIVRBUkdFVF9SRUFMTFlfSVdNTVhUDQo+ ID4gPiA+ID4gKyAgICYmICghPElzX2Zsb2F0X21vZGU+IHx8IGZsYWdfdW5zYWZlX21hdGhfb3B0 aW1pemF0aW9ucykiDQo+ID4gPiA+ID4gK3sNCj4gPiA+ID4gPiArICBhcm1fZXhwYW5kX3Zjb25k IChvcGVyYW5kcywgPFZfY21wX3Jlc3VsdD5tb2RlKTsNCj4gPiA+ID4gPiArICBET05FOw0KPiA+ ID4gPiA+ICt9KQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiAgIChkZWZpbmVfZXhwYW5kICJ2Y29u ZHU8bW9kZT48dl9jbXBfcmVzdWx0PiINCj4gPiA+ID4gPiAgICAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6VkRRVyAwICJzX3JlZ2lzdGVyX29wZXJhbmQiKQ0KPiA+ID4gPiA+ICAgICAgIChpZl90aGVu X2Vsc2U6VkRRVw0KPiA+ID4gPiA+IEBAIC00NDYsMTEgKzQ2MiwxMSBAQCAoZGVmaW5lX2V4cGFu ZA0KPiAidmNvbmR1PG1vZGU+PHZfY21wX3Jlc3VsdD4iDQo+ID4gPiA+ID4gICB9KQ0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gICAoZGVmaW5lX2V4cGFuZCAidmNvbmRfbWFza188bW9kZT48dl9jbXBf cmVzdWx0PiINCj4gPiA+ID4gPiAtICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWRFFXIDAgInNfcmVn aXN0ZXJfb3BlcmFuZCIpDQo+ID4gPiA+ID4gLSAgICAgICAgKGlmX3RoZW5fZWxzZTpWRFFXDQo+ ID4gPiA+ID4gKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkRRV0ggMCAic19yZWdpc3Rlcl9vcGVy YW5kIikNCj4gPiA+ID4gPiArICAgICAgICAoaWZfdGhlbl9lbHNlOlZEUVdIDQo+ID4gPiA+ID4g ICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZfY21wX3Jlc3VsdD4gMyAic19yZWdpc3Rlcl9v cGVyYW5kIikNCj4gPiA+ID4gPiAtICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZEUVcgMSAic19y ZWdpc3Rlcl9vcGVyYW5kIikNCj4gPiA+ID4gPiAtICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZE UVcgMiAic19yZWdpc3Rlcl9vcGVyYW5kIikpKV0NCj4gPiA+ID4gPiArICAgICAgICAgIChtYXRj aF9vcGVyYW5kOlZEUVdIIDEgInNfcmVnaXN0ZXJfb3BlcmFuZCIpDQo+ID4gPiA+ID4gKyAgICAg ICAgICAobWF0Y2hfb3BlcmFuZDpWRFFXSCAyICJzX3JlZ2lzdGVyX29wZXJhbmQiKSkpXQ0KPiA+ ID4gPiA+ICAgICAiQVJNX0hBVkVfPE1PREU+X0FSSVRIDQo+ID4gPiA+ID4gICAgICAmJiAhVEFS R0VUX1JFQUxMWV9JV01NWFQiDQo+ID4gPiA+ID4gICB7DQo+ID4gPiA+ID4gZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vc2ltZC9tdmUtY29tcGFyZS0zLmMNCj4gYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL3NpbWQvbXZlLWNvbXBhcmUtMy5jDQo+ID4gPiA+ ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPiBpbmRleCAwMDAwMDAwLi43NmY4MWU4 DQo+ID4gPiA+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gPiA+ICsrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9hcm0vc2ltZC9tdmUtY29tcGFyZS0zLmMNCj4gPiA+ID4gPiBAQCAtMCwwICsx LDM4IEBADQo+ID4gPiA+ID4gKy8qIHsgZGctZG8gYXNzZW1ibGUgfSAqLw0KPiA+ID4gPiA+ICsv KiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhcm1fdjhfMW1fbXZlX2ZwX29rIH0gKi8N Cj4gPiA+ID4gPiArLyogeyBkZy1hZGQtb3B0aW9ucyBhcm1fdjhfMW1fbXZlX2ZwIH0gKi8NCj4g PiA+ID4gPiArLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1PMyAtZnVuc2FmZS1tYXRoLW9w dGltaXphdGlvbnMiIH0gKi8NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKy8qIGZsb2F0IDE2IHRl c3RzLiAgKi8NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyNpZm5kZWYgRUxFTV9UWVBFDQo+ID4g PiA+ID4gKyNkZWZpbmUgRUxFTV9UWVBFIF9fZnAxNg0KPiA+ID4gPiA+ICsjZW5kaWYNCj4gPiA+ ID4gPiArI2lmbmRlZiBJTlRfRUxFTV9UWVBFDQo+ID4gPiA+ID4gKyNkZWZpbmUgSU5UX0VMRU1f VFlQRSBfX0lOVDE2X1RZUEVfXw0KPiA+ID4gPiA+ICsjZW5kaWYNCj4gPiA+ID4gPiArDQo+ID4g PiA+ID4gKyNkZWZpbmUgQ09NUEFSRShOQU1FLCBPUCkgICAgICAgICAgICAgICAgICAgIFwNCj4g PiA+ID4gPiArICBpbnRfdmVjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K PiA+ID4gPiA+ICsgIGNtcF8jI05BTUUjI19yZWcgKHZlYyBhLCB2ZWMgYikgICAgICAgICAgICBc DQo+ID4gPiA+ID4gKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwNCj4gPiA+ID4gPiArICAgIHJldHVybiBhIE9QIGI7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgXA0KPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gK3R5cGVkZWYgSU5U X0VMRU1fVFlQRSBpbnRfdmVjIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpOw0KPiA+ ID4gPiA+ICt0eXBlZGVmIEVMRU1fVFlQRSB2ZWMgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUo MTYpKSk7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICtDT01QQVJFIChlcSwgPT0pDQo+ID4gPiA+ ID4gK0NPTVBBUkUgKG5lLCAhPSkNCj4gPiA+ID4gPiArQ09NUEFSRSAobHQsIDwpDQo+ID4gPiA+ ID4gK0NPTVBBUkUgKGxlLCA8PSkNCj4gPiA+ID4gPiArQ09NUEFSRSAoZ3QsID4pDQo+ID4gPiA+ ID4gK0NPTVBBUkUgKGdlLCA+PSkNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKy8qIGVxLCBuZSwg bHQsIGxlLCBndCwgZ2UuDQo+ID4gPiA+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7XHR2Y21wLmYxNlx0ZXEsIHFbMC05XSssIHFbMC0NCj4gOV0rXG59IDEgfSB9ICov DQo+ID4gPiA+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2Y21w LmYxNlx0bmUsIHFbMC05XSssIHFbMC0NCj4gOV0rXG59IDEgfSB9ICovDQo+ID4gPiA+ID4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2Y21wLmYxNlx0bHQsIHFbMC05 XSssIHFbMC0NCj4gOV0rXG59IDEgfSB9ICovDQo+ID4gPiA+ID4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7XHR2Y21wLmYxNlx0bGUsIHFbMC05XSssIHFbMC0NCj4gOV0r XG59IDEgfSB9ICovDQo+ID4gPiA+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7XHR2Y21wLmYxNlx0Z3QsIHFbMC05XSssIHFbMC0NCj4gOV0rXG59IDEgfSB9ICovDQo+ ID4gPiA+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2Y21wLmYx Nlx0Z2UsIHFbMC05XSssIHFbMC0NCj4gOV0rXG59IDEgfSB9ICovDQo+ID4gPiA+ID4gZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vc2ltZC9tdmUtdmNtcC1mMTYuYw0K PiBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vc2ltZC9tdmUtdmNtcC1mMTYuYw0KPiA+ ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4gaW5kZXggMDAwMDAwMC4uZGJh ZTJkMQ0KPiA+ID4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ID4gPiArKysgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYXJtL3NpbWQvbXZlLXZjbXAtZjE2LmMNCj4gPiA+ID4gPiBAQCAtMCww ICsxLDMwIEBADQo+ID4gPiA+ID4gKy8qIHsgZGctZG8gYXNzZW1ibGUgfSAqLw0KPiA+ID4gPiA+ ICsvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhcm1fdjhfMW1fbXZlX2ZwX29rIH0g Ki8NCj4gPiA+ID4gPiArLyogeyBkZy1hZGQtb3B0aW9ucyBhcm1fdjhfMW1fbXZlX2ZwIH0gKi8N Cj4gPiA+ID4gPiArLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1PMyAtZnVuc2FmZS1tYXRo LW9wdGltaXphdGlvbnMiIH0gKi8NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyNpbmNsdWRlIDxz dGRpbnQuaD4NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyNkZWZpbmUgTkIgOA0KPiA+ID4gPiA+ ICsNCj4gPiA+ID4gPiArI2RlZmluZSBGVU5DKE9QLCBOQU1FKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gKyAgdm9pZCB0 ZXN0XyAjIyBOQU1FICMjX2YgKF9fZnAxNiAqIF9fcmVzdHJpY3RfXyBkZXN0LCBfX2ZwMTYgKmEs DQo+IF9fZnAxNiAqYikgeyBcDQo+ID4gPiA+ID4gKyAgICBpbnQgaTsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiAr ICAgIGZvciAoaT0wOyBpPE5COyBpKyspIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXA0KPiA+ID4gPiA+ICsgICAgICBkZXN0W2ldID0gYVtpXSBPUCBiW2ldOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4g PiArICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ICsNCj4g PiA+ID4gPiArRlVOQyg9PSwgdmNtcGVxKQ0KPiA+ID4gPiA+ICtGVU5DKCE9LCB2Y21wbmUpDQo+ ID4gPiA+ID4gK0ZVTkMoPCwgdmNtcGx0KQ0KPiA+ID4gPiA+ICtGVU5DKDw9LCB2Y21wbGUpDQo+ ID4gPiA+ID4gK0ZVTkMoPiwgdmNtcGd0KQ0KPiA+ID4gPiA+ICtGVU5DKD49LCB2Y21wZ2UpDQo+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge1x0dmNtcC5mMTZcdGVxLCBxWzAtOV0rLCBxWzAtDQo+IDldK1xufSAxIH0gfSAqLw0KPiA+ ID4gPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dmNtcC5mMTZc dG5lLCBxWzAtOV0rLCBxWzAtDQo+IDldK1xufSAxIH0gfSAqLw0KPiA+ID4gPiA+ICsvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dmNtcC5mMTZcdGx0LCBxWzAtOV0rLCBx WzAtDQo+IDldK1xufSAxIH0gfSAqLw0KPiA+ID4gPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge1x0dmNtcC5mMTZcdGxlLCBxWzAtOV0rLCBxWzAtDQo+IDldK1xufSAx IH0gfSAqLw0KPiA+ID4gPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e1x0dmNtcC5mMTZcdGd0LCBxWzAtOV0rLCBxWzAtDQo+IDldK1xufSAxIH0gfSAqLw0KPiA+ID4g PiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dmNtcC5mMTZcdGdl LCBxWzAtOV0rLCBxWzAtDQo+IDldK1xufSAxIH0gfSAqLw0K