From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-eopbgr90041.outbound.protection.outlook.com [40.107.9.41]) by sourceware.org (Postfix) with ESMTPS id D5462385781D for ; Tue, 25 May 2021 15:02:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D5462385781D Received: from DB6PR07CA0015.eurprd07.prod.outlook.com (2603:10a6:6:2d::25) by PR2PR08MB4748.eurprd08.prod.outlook.com (2603:10a6:101:1f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.27; Tue, 25 May 2021 15:02:15 +0000 Received: from DB5EUR03FT014.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:2d:cafe::8a) by DB6PR07CA0015.outlook.office365.com (2603:10a6:6:2d::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.12 via Frontend Transport; Tue, 25 May 2021 15:02:15 +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 DB5EUR03FT014.mail.protection.outlook.com (10.152.20.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25 via Frontend Transport; Tue, 25 May 2021 15:02:15 +0000 Received: ("Tessian outbound 504317ef584c:v92"); Tue, 25 May 2021 15:02:15 +0000 X-CR-MTA-TID: 64aa7808 Received: from 0ce576b52234.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 670B8E06-4009-493B-9A97-39A7F205A3BA.1; Tue, 25 May 2021 15:02:09 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0ce576b52234.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 25 May 2021 15:02:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dLzFzMTRfPIYCfeKRdm1c49YX6vcpnVCuVs/Xk8xjEOBcRdRndJLCCOlbSDJ7Y+Bax+IU0TzE7FtzAsZjsd4wy1o3bbNZuPN/CMs1L15nc9BrU0+HV5ewFbesxeS8onnT2HVWunel6pCMW1u0HC4/q/shQ9sPs0Rq84p+RrbOBGvsRLm4kJsIQt7s4d9h4BIJ+NO1IpnCRdk3ks57HcuWKjJ3PRkTT99ZRMY9ZNR0hN7zl9DVLKCPjasLFHTK/8VnK0MOzcVhKzRIcGMS4k4CPfq0GY8Po3velII86EOCmnZx3m+BaM1RybuOlXIAM1mTKs2sWsZYIpPSoXShqor4A== 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=i04HC8xk8YtuXJ/1XS29Eg4/gAHBwEWTu8ZinwbTjiE=; b=MfNc6uu4r3nxj2zxnw1TJgUERvmGPHgTn+TZQeOCI2FB0C4SdAIKJsHKdxr+c4K8lCmq61bYYkfU+HHs/LU1WKXIeA42IXYggonx1DJbRTXxoQ3eQ6/EJ0ZhgKRnk/lyKGEQp7qE/N+RrB+wREF4X55fjMql6KvAl5Cewp8aYg0yhKfFWhe2S3hjgxCd9gI7QbdzE7oeT5IuQ1Itbigx506oOdhldsVD6wMtBtVnN2kU/ZBPv7Tdvk7Z1e70LP3oXFk71GfiWtP8SlAW44qCzSI1+Q+IFzbKyg3+3E948F+hQTmQXhrIx57y6xATDBymIYrWV8u3FFT6sI26iT0RAw== 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 VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by VE1PR08MB5678.eurprd08.prod.outlook.com (2603:10a6:800:1a0::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.26; Tue, 25 May 2021 15:02:07 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::f557:1fb2:62cc:5243]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::f557:1fb2:62cc:5243%9]) with mapi id 15.20.4150.027; Tue, 25 May 2021 15:02:07 +0000 From: Tamar Christina To: "gcc-patches@gcc.gnu.org" CC: Richard Earnshaw , nd , Ramana Radhakrishnan , Kyrylo Tkachov Subject: RE: [PATCH 3/4][AArch32]: Add support for sign differing dot-product usdot for NEON. Thread-Topic: [PATCH 3/4][AArch32]: Add support for sign differing dot-product usdot for NEON. Thread-Index: AQHXQdWXh91ZnK5m2kyI2pUPifr24qrVKEAQgB87iPCAAAZRwA== Date: Tue, 25 May 2021 15:02:07 +0000 Message-ID: References: <20210505173923.GA20719@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 11F1E62304294443819EDCF71A35C404.0 x-checkrecipientchecked: true Authentication-Results-Original: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [82.11.185.166] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 3eb93216-a5d8-469e-d05d-08d91f8e1572 x-ms-traffictypediagnostic: VE1PR08MB5678:|PR2PR08MB4748: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: gir//thoUWQfDx0hlkia1aUCFUt6PRD5SeXIugmtwUX6v/hJ0B2ppXQnROf/6znO6edkchNT2wPqg1SURYZFTKmry7p6uYBiZKvo7xbcAav/tjEcj3PO6ooFl3BRDfHFqA5koFfnSWYNTwvgD6dPGqF9Vek9h0r9BdpxpSaqjwJGMXSLo2roKYqymldGLuqB6+BH5jEQV2f/YcDQdyDsXyPdMlWe2F2zJ0SaY8BrUsFv54DccVuGZNVrbwq163gwYhwvx3RqsC1+VJXm8WSR3Oak7+mtqNVjpWMVUwMH6cX8T5qkoLPHfSsuSj2ZPLSMA2zgDfeuRWTsCaHsG5Tk1M7TzWeHhHnnjiY0ER2iV86eW30hijvyjZLL4Ws1dVN630QSyNcXr3ysvL+6e3hcMtvwdT6Ibs+lQBMKtaQ8MXUnbSjpLKNrlugwK9CKmrLAtROWCzeUatRhA65JR4tHRG6yZN8/20MDrUixbJwcn0QHIK/gXYAdPHuQh6x4WkdUFKmNR+XnBPuuz5HZVLUHb/7NgVyhtEc16N2JQgdzR1ilgfJOgkZFg2u+ZFjq+lqxTOKegTMehL3ovci5i6QJlgoK0E/WRwEtJEfFcGl0cgM= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(136003)(39860400002)(396003)(376002)(366004)(478600001)(2906002)(66476007)(83380400001)(64756008)(66946007)(66556008)(55016002)(86362001)(52536014)(316002)(8676002)(9686003)(5660300002)(66446008)(76116006)(7696005)(53546011)(33656002)(186003)(6506007)(4326008)(54906003)(6916009)(8936002)(71200400001)(122000001)(26005)(38100700002)(2940100002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?Rml5MWo5dzBlUGVJbU5CUjF6UjV5WlhqUkJlVjltVHJwNVJyTmVYdWRld2Zz?= =?utf-8?B?VStXditCZW1Cc3hSQ083M2RvSmp4MWd4L3RqYVpObENVYWhkWFRQTDV3Z0JQ?= =?utf-8?B?aWVyTVZkSVE2L2RYY3pNTXFpaHpTK2ZoaHgzUCsxSHhhVDNta0ZqTGRtQkdr?= =?utf-8?B?VGYyRTNudVVOTHdKTGxYNUV6UDJPNzRKdE1JZFRtNjl5TVplZHd5OERwR2Rk?= =?utf-8?B?MU54UGEycTNZaXpURUFobjVEYjd0UWFJMjY5bXMwb1N3bzMvVkVCQTAwZVFn?= =?utf-8?B?UU9pdkdqVVU5dk1HYWNCVTlPN2lCRnk0TmNYU2xuQjh4eFpNUFNpVlVjSFFZ?= =?utf-8?B?dms0OHp5eDFSWFJZWTdmaGZ5aCs4bnVLaTNxMlVUUXVGL0grMC9NZzg2b2hD?= =?utf-8?B?cEpqNDRrdUk4VmlnczUxNWdGQmpNK0dzWnhTVDdvTWEvZ05wZHp5M1VheXRY?= =?utf-8?B?eGdqM1FSZHRhODRWeE05dVBvY043dTRnUDZtc1QvV1hHZFl5aWtscFB6UXJi?= =?utf-8?B?SnZ0M1I0NE5tL0V2UVlUTjhYdHplTVIvYWk2NDUwT3dyNlhxYUJkVkdreEl1?= =?utf-8?B?UFNpeXhreVQ5NUJUNWJOamRNSkR0UFI1cXVTRWdhL3MyTWVqYUhLOUtabmZL?= =?utf-8?B?cThxMVptWTNYQlNIeWp6NzhBU04yYWNIbmh6NUNOcEx5QlpLc2ZxaFdhZ2tJ?= =?utf-8?B?VDk3RTN0QWJIMjZIdjkxMm9NWkVScTEzbkhQQWNlZWFhUEpJZlNZT3gxaDgw?= =?utf-8?B?dytmV3o3LzcrZ1p5Qklub1lNZkFSUk5FdVdQSEY0cW1NQ05tNXMwUzdpRFIw?= =?utf-8?B?VlFQcDNOZU52ZE9jMW8wcEVZQkw3ZUZ2cGE5eUFsSTZ0V1BQdWZCQURUejdp?= =?utf-8?B?N09QWHcyVWRJWENBQ3Nxd0pnQVhISUxQckRINGhUOFZlVlRTNHB6eFY4RU40?= =?utf-8?B?WlZsUzc1Y25jR1kxc1d3bkZXMGc0VTM3SlppeERKZ2JkNjZod0QrWE5saVYw?= =?utf-8?B?UEx5M2V3a3ZRNGQrSCt6WVJvekI0UmdyZ01wTVNrZkdIYzR3QXBBWlZUekJV?= =?utf-8?B?R2VZZ3ZocjU0UCtlbnZKRWFlcS9SaU02cWs4U3BXWTNEdnpxY0owL1Y2aTZn?= =?utf-8?B?RDliamFSUktVcDhDL2JHZU5oNDE4Zmt0Q20yVmVXSmg0M2wwU09rbDFGRnhO?= =?utf-8?B?Ulk1cnd3aGdzbks0b1Q1cXpHdDlMQk5nN0I1MkdOUUF4ZWkvMmV5SFdzWC9w?= =?utf-8?B?Y3ZiQTJ3WmRoT3lIT3kyVWN3V0piVzkyNUdPOGhodWkrQTFycjJWVFhyblZ0?= =?utf-8?B?R2hHZFMzYXA3ZzVGeUJybUhDK0pRZEFpRGR6ZGxlY2N0WEtyMlY5ZmQwbkJH?= =?utf-8?B?T2pWNUxhR2ZRTUJGUGREclVHQmJMMGlxSzYzRjZxN3VhUTIzcmcxQWVPazhJ?= =?utf-8?B?a2hHR0haZ1NzYUxlMjNDKzJIbG5pMHFQbjhVNWNJSGxneVdDalVQNTd1OTFR?= =?utf-8?B?elA1RzhkT1czVXNpSU9HeHMyL01YZXc0TWNvMUJZditCWkhZckk4dlM3blVl?= =?utf-8?B?Y0NpVm5INysrREhRUWFaZTVxaEF1aWxrVU45NFA1bEI1ZGVxK0RTRU1vVFZB?= =?utf-8?B?QlN5d2w2YnIyekZZbm0vYjIyLzg0L1VJZkVSRG0zWXdlUldiRkY4bXkycXBj?= =?utf-8?B?UFhWTUx3RzVzS21pUzNZa2RjU2liS0hnS2gyaHR4Z21pK044QlZ4VmlXZjEv?= =?utf-8?Q?G7IQnUfPQxQKC8IxYU=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5678 Original-Authentication-Results: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: c7177d47-5c9b-4210-fd6d-08d91f8e10c8 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8CCBX+aTGAWR6EKHhH53pqhqA2grYReOZw77REdg+E3CTPpB8BmWQSopSDrsxxIfKVsZTXO4WTbl+dt1N+xuZ29LNLbJHofHTxyOB46goYK8UABk+ac+vL7AlpLo+zctt4WW8NI5wwo4GBL+xBVFVM/0YSYdxxAhGetRsFixchWGjAaKt0I5p+3eugWj7+5hqeS6PEBl1hKtUdckzELQb/AR5Eqvt0fwZxLO0+MT/YXXXaCPJHj28hj7Xzf+J87H+kuhfkfDxmrn04YjPKJpXM+CoJNQvJTyYw56Ah7lBh7N538AhW9772Y+1mNb1t36+AUaQVB2IUeviaaDoHXjsZi909uI0UB7XctIk6pdo2EpDPP1xF/L5xOcmoB9S8HR+VRbplufvhAftZ6aG6uFx9JItWOnIj/+49jvPrXYGMqny93l/F6kntplLxb+YBQ/T0wqDduUMNxa8gFhViIIEJ2NB/0LgVQcwNmQv/eHuEbZ/dxiuLOSMqc387MUcXhYh4nN/gFC0aJddA3aM0dpzOSeOK4f01sM4PZQNOaVaZdxCWENaBfAdKUHoCW3friNCjn2CU66ysVQT+fT4u1RCrl8ryVC1TP+cXURyHQmL800baENUs/jimpfVnuBpZAmo2tE2gTat9Kqa8Imw+pyYi/z+/66cvq6stNiVRg3e6Y= 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)(39860400002)(346002)(396003)(136003)(376002)(36840700001)(46966006)(86362001)(82310400003)(70586007)(26005)(70206006)(6916009)(2940100002)(53546011)(55016002)(47076005)(7696005)(478600001)(186003)(8936002)(36860700001)(336012)(9686003)(54906003)(33656002)(52536014)(316002)(81166007)(82740400003)(4326008)(2906002)(5660300002)(6506007)(83380400001)(356005)(8676002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2021 15:02:15.5208 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3eb93216-a5d8-469e-d05d-08d91f8e1572 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: DB5EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4748 X-Spam-Status: No, score=-14.3 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: Tue, 25 May 2021 15:02:23 -0000 Rm9yZ290IHRvIGluY2x1ZGUgdGhlIGxpc3QNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiBGcm9tOiBUYW1hciBDaHJpc3RpbmENCj4gU2VudDogVHVlc2RheSwgTWF5IDI1LCAyMDIx IDM6NTcgUE0NCj4gVG86IFRhbWFyIENocmlzdGluYSA8VGFtYXIuQ2hyaXN0aW5hQGFybS5jb20+ DQo+IENjOiBSaWNoYXJkIEVhcm5zaGF3IDxSaWNoYXJkLkVhcm5zaGF3QGFybS5jb20+OyBuZCA8 bmRAYXJtLmNvbT47DQo+IFJhbWFuYSBSYWRoYWtyaXNobmFuIDxSYW1hbmEuUmFkaGFrcmlzaG5h bkBhcm0uY29tPjsgS3lyeWxvIFRrYWNob3YNCj4gPEt5cnlsby5Ua2FjaG92QGFybS5jb20+DQo+ IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMy80XVtBQXJjaDMyXTogQWRkIHN1cHBvcnQgZm9yIHNpZ24g ZGlmZmVyaW5nIGRvdC0NCj4gcHJvZHVjdCB1c2RvdCBmb3IgTkVPTi4NCj4gDQo+IEhpIEFsbCwN Cj4gDQo+IFRoaXMgaXMgYSByZXNwaW4gYmFzZWQgb24gdGhlIGZlZWRiYWNrIGdvdHRlbiBmcm9t IHRoZSBBQXJjaDY0IHJldmlldy4NCj4gDQo+IEJvb3RzdHJhcHBlZCBSZWd0ZXN0ZWQgb24gYWFy Y2g2NC1ub25lLWxpbnV4LWdudSBhbmQgbm8gaXNzdWVzLg0KPiANCj4gT2sgZm9yIG1hc3Rlcj8N Cj4gDQo+IFRoYW5rcywNCj4gVGFtYXINCj4gDQo+IGdjYy9DaGFuZ2VMb2c6DQo+IA0KPiAJKiBj b25maWcvYXJtL25lb24ubWQgKHVzZG90X3Byb2Q8dnNpMnFpPik6IE5ldy4NCj4gDQo+IGdjYy90 ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KPiANCj4gCSogZ2NjLnRhcmdldC9hcm0vc2ltZC92dXNkb3Qt YXV0b3ZlYy5jOiBOZXcgdGVzdC4NCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPiBGcm9tOiBHY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXMtYm91bmNlc0BnY2MuZ251Lm9yZz4g T24gQmVoYWxmIE9mDQo+IFRhbWFyDQo+ID4gQ2hyaXN0aW5hIHZpYSBHY2MtcGF0Y2hlcw0KPiA+ IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDUsIDIwMjEgNjo0MiBQTQ0KPiA+IFRvOiBnY2MgUGF0Y2hl cyA8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+DQo+ID4gQ2M6IFJpY2hhcmQgRWFybnNoYXcgPFJp Y2hhcmQuRWFybnNoYXdAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPjsNCj4gPiBSYW1hbmEgUmFk aGFrcmlzaG5hbiA8UmFtYW5hLlJhZGhha3Jpc2huYW5AYXJtLmNvbT4NCj4gPiBTdWJqZWN0OiBG VzogW1BBVENIIDMvNF1bQUFyY2gzMl06IEFkZCBzdXBwb3J0IGZvciBzaWduIGRpZmZlcmluZyBk b3QtDQo+ID4gcHJvZHVjdCB1c2RvdCBmb3IgTkVPTi4NCj4gPg0KPiA+IEZvcmdvdCB0byBDQyBt YWludGFpbmVycy4uDQo+ID4NCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZy b206IFRhbWFyIENocmlzdGluYSA8dGFtYXIuY2hyaXN0aW5hQGFybS5jb20+DQo+ID4gU2VudDog V2VkbmVzZGF5LCBNYXkgNSwgMjAyMSA2OjM5IFBNDQo+ID4gVG86IGdjYy1wYXRjaGVzQGdjYy5n bnUub3JnDQo+ID4gQ2M6IG5kIDxuZEBhcm0uY29tPg0KPiA+IFN1YmplY3Q6IFtQQVRDSCAzLzRd W0FBcmNoMzJdOiBBZGQgc3VwcG9ydCBmb3Igc2lnbiBkaWZmZXJpbmcNCj4gPiBkb3QtcHJvZHVj dCB1c2RvdCBmb3IgTkVPTi4NCj4gPg0KPiA+IEhpIEFsbCwNCj4gPg0KPiA+IFRoaXMgYWRkcyBv cHRhYnMgaW1wbGVtZW50aW5nIHVzZG90X3Byb2QuDQo+ID4NCj4gPiBUaGUgZm9sbG93aW5nIHRl c3RjYXNlOg0KPiA+DQo+ID4gI2RlZmluZSBOIDQ4MA0KPiA+ICNkZWZpbmUgU0lHTkVETkVTU18x IHVuc2lnbmVkDQo+ID4gI2RlZmluZSBTSUdORURORVNTXzIgc2lnbmVkDQo+ID4gI2RlZmluZSBT SUdORURORVNTXzMgc2lnbmVkDQo+ID4gI2RlZmluZSBTSUdORURORVNTXzQgdW5zaWduZWQNCj4g Pg0KPiA+IFNJR05FRE5FU1NfMSBpbnQgX19hdHRyaWJ1dGVfXyAoKG5vaXBhKSkgZiAoU0lHTkVE TkVTU18xIGludCByZXMsDQo+ID4gU0lHTkVETkVTU18zIGNoYXIgKnJlc3RyaWN0IGEsDQo+ID4g ICAgU0lHTkVETkVTU180IGNoYXIgKnJlc3RyaWN0IGIpDQo+ID4gew0KPiA+ICAgZm9yIChfX0lO VFBUUl9UWVBFX18gaSA9IDA7IGkgPCBOOyArK2kpDQo+ID4gICAgIHsNCj4gPiAgICAgICBpbnQg YXYgPSBhW2ldOw0KPiA+ICAgICAgIGludCBidiA9IGJbaV07DQo+ID4gICAgICAgU0lHTkVETkVT U18yIHNob3J0IG11bHQgPSBhdiAqIGJ2Ow0KPiA+ICAgICAgIHJlcyArPSBtdWx0Ow0KPiA+ICAg ICB9DQo+ID4gICByZXR1cm4gcmVzOw0KPiA+IH0NCj4gPg0KPiA+IEdlbmVyYXRlcw0KPiA+DQo+ ID4gZjoNCj4gPiAgICAgICAgIHZtb3YuaTMyICAgICAgICBxOCwgIzAgIEAgdjRzaQ0KPiA+ICAg ICAgICAgYWRkICAgICByMywgcjIsICM0ODANCj4gPiAuTDI6DQo+ID4gICAgICAgICB2bGQxLjgg IHtxMTB9LCBbcjJdIQ0KPiA+ICAgICAgICAgdmxkMS44ICB7cTl9LCBbcjFdIQ0KPiA+ICAgICAg ICAgdnVzZG90LnM4ICAgICAgIHE4LCBxOSwgcTEwDQo+ID4gICAgICAgICBjbXAgICAgIHIzLCBy Mg0KPiA+ICAgICAgICAgYm5lICAgICAuTDINCj4gPiAgICAgICAgIHZhZGQuaTMyICAgICAgICBk MTYsIGQxNiwgZDE3DQo+ID4gICAgICAgICB2cGFkZC5pMzIgICAgICAgZDE2LCBkMTYsIGQxNg0K PiA+ICAgICAgICAgdm1vdi4zMiByMywgZDE2WzBdDQo+ID4gICAgICAgICBhZGQgICAgIHIwLCBy MCwgcjMNCj4gPiAgICAgICAgIGJ4ICAgICAgbHINCj4gPg0KPiA+IGluc3RlYWQgb2YNCj4gPg0K PiA+IGY6DQo+ID4gICAgICAgICB2bW92LmkzMiAgICAgICAgcTgsICMwICBAIHY0c2kNCj4gPiAg ICAgICAgIGFkZCAgICAgcjMsIHIyLCAjNDgwDQo+ID4gLkwyOg0KPiA+ICAgICAgICAgdmxkMS44 ICB7cTl9LCBbcjJdIQ0KPiA+ICAgICAgICAgdmxkMS44ICB7cTExfSwgW3IxXSENCj4gPiAgICAg ICAgIGNtcCAgICAgcjMsIHIyDQo+ID4gICAgICAgICB2bXVsbC5zOCBxMTAsIGQxOCwgZDIyDQo+ ID4gICAgICAgICB2bXVsbC5zOCBxOSwgZDE5LCBkMjMNCj4gPiAgICAgICAgIHZhZGR3LnMxNiAg ICAgICBxOCwgcTgsIGQyMA0KPiA+ICAgICAgICAgdmFkZHcuczE2ICAgICAgIHE4LCBxOCwgZDIx DQo+ID4gICAgICAgICB2YWRkdy5zMTYgICAgICAgcTgsIHE4LCBkMTgNCj4gPiAgICAgICAgIHZh ZGR3LnMxNiAgICAgICBxOCwgcTgsIGQxOQ0KPiA+ICAgICAgICAgYm5lICAgICAuTDINCj4gPiAg ICAgICAgIHZhZGQuaTMyICAgICAgICBkMTYsIGQxNiwgZDE3DQo+ID4gICAgICAgICB2cGFkZC5p MzIgICAgICAgZDE2LCBkMTYsIGQxNg0KPiA+ICAgICAgICAgdm1vdi4zMiByMywgZDE2WzBdDQo+ ID4gICAgICAgICBhZGQgICAgIHIwLCByMCwgcjMNCj4gPiAgICAgICAgIGJ4ICAgICAgbHINCj4g Pg0KPiA+IEZvciBORU9OLiAgSSBjb3VsZG4ndCBmaWd1cmUgb3V0IGlmIHRoZSBNVkUgaW5zdHJ1 Y3Rpb24gdm1sYWxkYXYuczE2DQo+ID4gY291bGQgYmUgdXNlZCB0byBlbXVsYXRlIHRoaXMuICBC ZWNhdXNlIGl0IHdvdWxkIHJlcXVpcmUgYWRkaXRpb25hbA0KPiA+IHdpZGVuaW5nIHRvIHdvcmsg SSBsZWZ0IE1WRSBvdXQgb2YgdGhpcyBwYXRjaCBzZXQgYnV0IHBlcmhhcHMgc29tZW9uZQ0KPiBz aG91bGQgdGFrZSBhIGxvb2suDQo+ID4NCj4gPiBCb290c3RyYXBwZWQgUmVndGVzdGVkIG9uIGFh cmNoNjQtbm9uZS1saW51eC1nbnUgYW5kIG5vIGlzc3Vlcy4NCj4gPg0KPiA+IE9rIGZvciBtYXN0 ZXI/DQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gVGFtYXINCj4gPg0KPiA+IGdjYy9DaGFuZ2VMb2c6 DQo+ID4NCj4gPiAJKiBjb25maWcvYXJtL25lb24ubWQgKHVzZG90X3Byb2Q8dnNpMnFpPik6IE5l dy4NCj4gPg0KPiA+IGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KPiA+DQo+ID4gCSogZ2NjLnRh cmdldC9hcm0vc2ltZC92dXNkb3QtYXV0b3ZlYy5jOiBOZXcgdGVzdC4NCj4gPg0KPiA+IC0tLSBp bmxpbmUgY29weSBvZiBwYXRjaCAtLQ0KPiA+IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9u ZW9uLm1kIGIvZ2NjL2NvbmZpZy9hcm0vbmVvbi5tZCBpbmRleA0KPiA+DQo+IGZlYzJjYzkxZDI0 YjZlZmY3YjZmYzhmZGQ1NGYzOWIzZDY0NmM0NjguLjIzYWQ0MTExNzhkYjc3YzVkMTliZWU3NDUy DQo+ID4gYmMxMDcwMzMxYzFhYTAgMTAwNjQ0DQo+ID4gLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbmVv bi5tZA0KPiA+ICsrKyBiL2djYy9jb25maWcvYXJtL25lb24ubWQNCj4gPiBAQCAtMzA3NSw2ICsz MDc1LDI0IEBAIChkZWZpbmVfZXhwYW5kICI8c3VwPmRvdF9wcm9kPHZzaTJxaT4iDQo+ID4gICAg RE9ORTsNCj4gPiAgfSkNCj4gPg0KPiA+ICs7OyBBdXRvLXZlY3Rvcml6ZXIgcGF0dGVybiBmb3Ig dXNkb3QNCj4gPiArKGRlZmluZV9leHBhbmQgInVzZG90X3Byb2Q8dnNpMnFpPiINCj4gPiArICBb KHNldCAobWF0Y2hfb3BlcmFuZDpWQ1ZUSSAwICJyZWdpc3Rlcl9vcGVyYW5kIikNCj4gPiArCShw bHVzOlZDVlRJICh1bnNwZWM6VkNWVEkgWyhtYXRjaF9vcGVyYW5kOjxWU0kyUUk+IDENCj4gPiAr CQkJCQkJCSJyZWdpc3Rlcl9vcGVyYW5kIikNCj4gPiArCQkJCSAgIChtYXRjaF9vcGVyYW5kOjxW U0kyUUk+IDINCj4gPiArCQkJCQkJCSJyZWdpc3Rlcl9vcGVyYW5kIildDQo+ID4gKwkJICAgICBV TlNQRUNfRE9UX1VTKQ0KPiA+ICsJCSAgICAobWF0Y2hfb3BlcmFuZDpWQ1ZUSSAzICJyZWdpc3Rl cl9vcGVyYW5kIikpKV0NCj4gPiArICAiVEFSR0VUX0k4TU0iDQo+ID4gK3sNCj4gPiArICBlbWl0 X2luc24gKA0KPiA+ICsgICAgZ2VuX25lb25fdXNkb3Q8dnNpMnFpPiAob3BlcmFuZHNbM10sIG9w ZXJhbmRzWzNdLCBvcGVyYW5kc1sxXSwNCj4gPiArCQkJICAgIG9wZXJhbmRzWzJdKSk7DQo+ID4g KyAgZW1pdF9pbnNuIChnZW5fcnR4X1NFVCAob3BlcmFuZHNbMF0sIG9wZXJhbmRzWzNdKSk7DQo+ ID4gKyAgRE9ORTsNCj4gPiArfSkNCj4gPiArDQo+ID4gIChkZWZpbmVfZXhwYW5kICJuZW9uX2Nv cHlzaWduZjxtb2RlPiINCj4gPiAgICBbKG1hdGNoX29wZXJhbmQ6VkNWVEYgMCAicmVnaXN0ZXJf b3BlcmFuZCIpDQo+ID4gICAgIChtYXRjaF9vcGVyYW5kOlZDVlRGIDEgInJlZ2lzdGVyX29wZXJh bmQiKSBkaWZmIC0tZ2l0DQo+ID4gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL3NpbWQv dnVzZG90LWF1dG92ZWMuYw0KPiA+IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9zaW1k L3Z1c2RvdC1hdXRvdmVjLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4DQo+ ID4NCj4gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2NjNTZmNjg4 MTdkNzdkNjk1MGRmMGFiMzcNCj4gPiAyZDZmYmFhZDZiMzgxMw0KPiA+IC0tLSAvZGV2L251bGwN Cj4gPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL3NpbWQvdnVzZG90LWF1dG92 ZWMuYw0KPiA+IEBAIC0wLDAgKzEsMzggQEANCj4gPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8N Cj4gPiArLyogeyBkZy1vcHRpb25zICItTzMgLW1hcmNoPWFybXY4LjItYStpOG1tIiB9ICovDQo+ ID4gKw0KPiA+ICsjZGVmaW5lIE4gNDgwDQo+ID4gKyNkZWZpbmUgU0lHTkVETkVTU18xIHVuc2ln bmVkDQo+ID4gKyNkZWZpbmUgU0lHTkVETkVTU18yIHNpZ25lZA0KPiA+ICsjZGVmaW5lIFNJR05F RE5FU1NfMyBzaWduZWQNCj4gPiArI2RlZmluZSBTSUdORURORVNTXzQgdW5zaWduZWQNCj4gPiAr DQo+ID4gK1NJR05FRE5FU1NfMSBpbnQgX19hdHRyaWJ1dGVfXyAoKG5vaXBhKSkgZiAoU0lHTkVE TkVTU18xIGludCByZXMsDQo+ID4gK1NJR05FRE5FU1NfMyBjaGFyICpyZXN0cmljdCBhLA0KPiA+ ICsgICBTSUdORURORVNTXzQgY2hhciAqcmVzdHJpY3QgYikNCj4gPiArew0KPiA+ICsgIGZvciAo X19JTlRQVFJfVFlQRV9fIGkgPSAwOyBpIDwgTjsgKytpKQ0KPiA+ICsgICAgew0KPiA+ICsgICAg ICBpbnQgYXYgPSBhW2ldOw0KPiA+ICsgICAgICBpbnQgYnYgPSBiW2ldOw0KPiA+ICsgICAgICBT SUdORURORVNTXzIgc2hvcnQgbXVsdCA9IGF2ICogYnY7DQo+ID4gKyAgICAgIHJlcyArPSBtdWx0 Ow0KPiA+ICsgICAgfQ0KPiA+ICsgIHJldHVybiByZXM7DQo+ID4gK30NCj4gPiArDQo+ID4gK1NJ R05FRE5FU1NfMSBpbnQgX19hdHRyaWJ1dGVfXyAoKG5vaXBhKSkgZyAoU0lHTkVETkVTU18xIGlu dCByZXMsDQo+ID4gK1NJR05FRE5FU1NfMyBjaGFyICpyZXN0cmljdCBiLA0KPiA+ICsgICBTSUdO RURORVNTXzQgY2hhciAqcmVzdHJpY3QgYSkNCj4gPiArew0KPiA+ICsgIGZvciAoX19JTlRQVFJf VFlQRV9fIGkgPSAwOyBpIDwgTjsgKytpKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICBpbnQgYXYg PSBhW2ldOw0KPiA+ICsgICAgICBpbnQgYnYgPSBiW2ldOw0KPiA+ICsgICAgICBTSUdORURORVNT XzIgc2hvcnQgbXVsdCA9IGF2ICogYnY7DQo+ID4gKyAgICAgIHJlcyArPSBtdWx0Ow0KPiA+ICsg ICAgfQ0KPiA+ICsgIHJldHVybiByZXM7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnVzZG90LnM4fSAyIHsgdGFyZ2V0IHsNCj4gPiAr YXJtLSotKi1nbnVlYWJpaGYgfSB9IH0gfSAqLw0KPiA+DQo+ID4NCj4gPiAtLQ0K