From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70082.outbound.protection.outlook.com [40.107.7.82]) by sourceware.org (Postfix) with ESMTPS id A38303858CDA for ; Wed, 9 Nov 2022 08:33:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A38303858CDA Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=P7bq7p4ZL/VdeX4jTmdPjVk9MSpeRleHqGbjnfo1qc97Gjnti8FHC5SyFZfpT/x24IJKSD4dfi0uJUvTfHrBJ7KkmxflfSDKuFzRGCLmT0X5zwIwrbGWFbf0RobR/tTm0gOZderSM9LoToq6Mlz5ylKbdQsOdCLq/0CNiZbxdBMGMP6//itUMh4gdBoOd8iRoIHRd9biQlxblI8xzeY6bBCRPiZES2+2ZHslSEftWLwOgevaMabJHpbYq5SH/EH5kOLpcn9VzZaDiDDY8W73tjp1b6YzppEIyN+k+06upb+RZc+TXQsx8hNKbUBTSvuYMkGji7asvS+x4FMPjUOhFw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FQ1jr+CbTacy6s5ULho+raZpQKtLGWOsG1kbgw/oGoE=; b=cj08BxTMIjaLaGzkFHUn/2YSHkwoeRIqGlApc3tCE/e7OgaYvHeG/sW2xglcpESEqBzpxAmkebbhq5K7FG+sqKplxXvhAHQWG93n85L3pD7r94XmA5VuW6QA7tr9LAoEJfwFe4nQxCODuYUlXWSzhxYfwWgWEoFav1VBRxunILrDC1p2Ql1nskoGfraSS1r/Pj+xhHXV/T+PstEfQOsgRTeri0onGZ+SGh48i0tw7cd7a7N4JdLEjKk4+xYVPma5k4Lk7+JXp5sPwGgmeLWLDNDSL85qvDHRv0uWjB/Dq3tgEzdvGW6rlhUHa9oorqd/N75Cf8qruDg1deViTGo4bQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=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=FQ1jr+CbTacy6s5ULho+raZpQKtLGWOsG1kbgw/oGoE=; b=2todfE7mN+cSDUkmWbdUBVtU30HIjmRvVjkOA2CIyimsaVma8QNZul/ELfekYZxcx4/Vnj6FOEGbXfrPUtbzxOmWesmFj9yaaWdvfzBT16D0cHqW1MxyeLyd8KHNs64S76iojSHHyCprUWKkxjZGZZQTLWpOyLW8YkWsSrI03oE= Received: from AS9PR06CA0406.eurprd06.prod.outlook.com (2603:10a6:20b:461::16) by AS8PR08MB9147.eurprd08.prod.outlook.com (2603:10a6:20b:57e::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.12; Wed, 9 Nov 2022 08:33:32 +0000 Received: from AM7EUR03FT043.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:461:cafe::5f) by AS9PR06CA0406.outlook.office365.com (2603:10a6:20b:461::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.26 via Frontend Transport; Wed, 9 Nov 2022 08:33:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT043.mail.protection.outlook.com (100.127.140.160) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.12 via Frontend Transport; Wed, 9 Nov 2022 08:33:32 +0000 Received: ("Tessian outbound 0800d254cb3b:v130"); Wed, 09 Nov 2022 08:33:32 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 61fe5b671de022b8 X-CR-MTA-TID: 64aa7808 Received: from aa6aaba8f59d.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id D9E308A3-8340-40A9-8BDD-EBC220736A67.1; Wed, 09 Nov 2022 08:33:20 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id aa6aaba8f59d.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 09 Nov 2022 08:33:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qk1RSygxpWEJH4P1j+aSm7apVMOIGMb/QR3yfqyc8gUlOT+M5DqgL1icHLGqoqKNWBR7dF4qQfRljXi/D5SvPm0fXTtVpYTBFMHQ8bX1Kx9Eq1l6VUis8ynD4kgRT7r5R3Qmkj8tUumxTKNClNxhJkqtwM7REYrlW2QopjEciFolPS+OQBj8894NTuGaan92ClhO4Kdur5gkTZvyx3TqcNR2iFPlbclupUZZ4lUFptmM6BY1q1IO9upRCvDtuTN/ObOXUYL6/BBr642VSdnl6sRf4UHER44KOBvxJ0bmuf+qoYjVfgRE3y9VAyYhSj8AX2dxSdsvcYkHFVRJ2sPP7w== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FQ1jr+CbTacy6s5ULho+raZpQKtLGWOsG1kbgw/oGoE=; b=kg8WMjtHsYklSLzkkUG7mO9eOreli/ASfR/TJtKWnu/C8T52gtygstpf4qGSaggTemU7wyRQkD0K84LH5F0Z5N2N02w+RaoeBTlc4vg5r+wn2rOokMgPrOIHnT9hDXp2EPjjXvx1hFcfmKnbhaDJ8D8tOAH4DoYjwQ0b6y9oRZuqmtBTYvHaPC4P/dbEnY6CKKFXW274iKY8opz7ddT9IjvyWktb4ULTQkeVekDuv1JapHWoVTpj1qOAnBP06SuEU+eRZc5Mie+Y/yM+AiKITBSkknJhPMOaA1l3PJ5JrjP9LIpkqjYjxSD0zu5/7sW8FyTnnCnCAt113yqJtDUtzA== 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=FQ1jr+CbTacy6s5ULho+raZpQKtLGWOsG1kbgw/oGoE=; b=2todfE7mN+cSDUkmWbdUBVtU30HIjmRvVjkOA2CIyimsaVma8QNZul/ELfekYZxcx4/Vnj6FOEGbXfrPUtbzxOmWesmFj9yaaWdvfzBT16D0cHqW1MxyeLyd8KHNs64S76iojSHHyCprUWKkxjZGZZQTLWpOyLW8YkWsSrI03oE= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by VE1PR08MB5630.eurprd08.prod.outlook.com (2603:10a6:800:1ae::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.11; Wed, 9 Nov 2022 08:33:17 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::bd2a:aff9:b1a0:2fc7]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::bd2a:aff9:b1a0:2fc7%5]) with mapi id 15.20.5813.012; Wed, 9 Nov 2022 08:33:17 +0000 From: Tamar Christina To: "gcc-patches@gcc.gnu.org" CC: nd , Richard Earnshaw , Marcus Shawcroft , Kyrylo Tkachov , Richard Sandiford Subject: RE: [PATCH 3/4]AArch64 Add SVE2 implementation for pow2 bitmask division Thread-Topic: [PATCH 3/4]AArch64 Add SVE2 implementation for pow2 bitmask division Thread-Index: AQHYzy+WOriDmcDqvEKIhCfEp7VuIK4omx9AgA3yTJA= Date: Wed, 9 Nov 2022 08:33:17 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: BEA2BBA7444E654D9B7B044F780390DA.0 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: VI1PR08MB5325:EE_|VE1PR08MB5630:EE_|AM7EUR03FT043:EE_|AS8PR08MB9147:EE_ X-MS-Office365-Filtering-Correlation-Id: 40d6b9ca-24bb-4986-c13b-08dac22d15da x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: AAr6eMYVb5FPhP1jjxRuEB6mkRlkZjmqHm5uNXWg3Skwi1ZUHzU3XEYOMX2gAZu9d425ogPqYvtZO3UrOTzbGeriGsCDp9XEPtG/l2q6i2hKLU+SqUf3vBwko09kHmt1JqpFfcxuY7umFakyU1t2VIYRQS641S+EU7vV6goPKHEC+lqepVkMc0NfUMRbTqD8hobAassiu11mw6bXxNh4UpnqaEzIS1lf79ft+GaoR4tjZdwusVksvDI+SRnicLS0U2J/IaLmvPy+GKZUEoakPf/uq/uQgXP8J/mj5DGALaYqFvU5tGEK/Z5HX8TBATdyJwOXHR/mN1DGm2Zc4hFAzKiU95kc9Nyu2qxoQBMEwpdE6lt6zlJSkr8IrtWwEOXX6vuNXzpceXKdRL6Zn3gWQPu1bvHEBVpj/g+hNTFSFJr6rGQ2z+qyYOQzKFcleSPJjo7XRwLwq0eR0veEjwZaHm1ugRhHdgxAfh7AUav98fiBz0OOzKjjVyFrZ0bft208MaLECKs0t8vratvaVid1EP9HjvkGcaAQoYt2wsgYTY2SPIUVBYcB0o+alkaFqa7obiw/ivGjWdps3AvFi7LIgZUmuuE2POcW9jcdsawWS09lxK7R/XYYnkUa2I5pIDjx7zB1q5xKf3vKtd6fqOJPhW5L0GTLIW5Og4FuGCXCo6WlW4FtY1gKolVHDHy6TWb6H+UHapAniL1o9Idow8ETunpt1ZYKERByv5hnyER6UJ2wa2eY3ZACi0tFwCRPMVztDFJAvFwHBVVlGPNSF3Y7BtJ0Q5fAEMVMe32WOMK2sbchaZAl23Oys/qXGFJJeIu9qCBQtfeiEXbHh59kgrTLrQ== 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:(13230022)(4636009)(376002)(136003)(39860400002)(396003)(346002)(366004)(451199015)(86362001)(55016003)(66446008)(41300700001)(52536014)(2906002)(8936002)(4326008)(71200400001)(33656002)(64756008)(26005)(5660300002)(76116006)(66556008)(66946007)(66476007)(8676002)(9686003)(84970400001)(54906003)(53546011)(6506007)(316002)(478600001)(7696005)(6916009)(186003)(38070700005)(83380400001)(4743002)(38100700002)(122000001)(357404004);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5630 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 95633756-6bc3-49d0-a328-08dac22d0d2e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Hj5b4zByabj8+YbfIdwKVJZXD/DtOndM0uKHTzlOBxpj/9ZnZqP2scN+KFpcxJxFtPxM788bAoBpSdiPZiU3Fhpb5B5DMvP6ch6SP8ihKrDkSxniJZtCxDiz2UpV0+SCaOmDtVJEjVemJ9ezsoodIQg9Z47Cm+rEg+RHMdc3iHdldk2l9rS/f5inWJlfR9fd01q9YxKEPKmguODUVWtfiZmWRBBRusJ+Wn9EqvtsEex7hBYtQmH8YhX27a40mOAAWWHId1zG7m6V1OlI3Lsf1Lk7i94s21MGO9KgvSzd38HM9+BjI8X1m0C/bHMBmN/SZkbM0bTGMmp064AsqnNGe4ZAykVvf/9naUPvtSsLdyIiETqNW3+jgHXe9qfYCzZKJMb+gd/8W8ZT2XqHLwlxzy4mafnejCxLzVbPWHXSs8VaLr73mGzw4q5yTFe1nceFDTDbSHaiN/AXxQbD16Xczfv0qwc0ot1Y2czPbfBeizQfaRy1UNQ3GcyLg8D1ZbOGZYVmvlut2xLrD2lv179/cgV6aZQnl1ee+jkdm3ANqqTgDyGnIfWXzpqvFVyw3SzYRHxRHWyaaGWF0r+FwLsiIxdAsVeD1/NYJQ7pe/10q6iNmXNb2V24tnwCpDN5YoTovSSPnT5ovL9ATNLkUlUiCs+ioqaJ1sESwlu5K29BfALP8iVHH3945z0b9xDwYQ5Ioio2+pQ+Ywi2CkOaNjSyxLqH6vKbDtJOV7j+jPUBlFrS3s9ourV50/+63Cw0JAs/+Ism+RJ2Fe/m8VymQfPwqELm1NjQ+/0YsfW9kXzainuxPfvFhkpt7qnU4QBQaXya8x2SzwvP1s+XktSFM6z3mw== 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:(13230022)(4636009)(346002)(39860400002)(376002)(136003)(396003)(451199015)(40470700004)(46966006)(36840700001)(82310400005)(86362001)(2906002)(33656002)(40460700003)(81166007)(54906003)(356005)(4326008)(8676002)(6506007)(7696005)(9686003)(26005)(70586007)(53546011)(316002)(6916009)(70206006)(4743002)(55016003)(8936002)(40480700001)(478600001)(36860700001)(5660300002)(83380400001)(186003)(52536014)(336012)(47076005)(41300700001)(82740400003)(84970400001)(357404004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2022 08:33:32.1540 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 40d6b9ca-24bb-4986-c13b-08dac22d15da 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: AM7EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9147 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_ASCII_DIVIDERS,KAM_DMARC_NONE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: cGluZw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFRhbWFyIENocmlz dGluYQ0KPiBTZW50OiBNb25kYXksIE9jdG9iZXIgMzEsIDIwMjIgMTE6MzUgQU0NCj4gVG86IFRh bWFyIENocmlzdGluYSA8dGFtYXIuY2hyaXN0aW5hQGFybS5jb20+OyBnY2MtcGF0Y2hlc0BnY2Mu Z251Lm9yZw0KPiBDYzogbmQgPG5kQGFybS5jb20+OyBSaWNoYXJkIEVhcm5zaGF3IDxSaWNoYXJk LkVhcm5zaGF3QGFybS5jb20+Ow0KPiBNYXJjdXMgU2hhd2Nyb2Z0IDxNYXJjdXMuU2hhd2Nyb2Z0 QGFybS5jb20+OyBLeXJ5bG8gVGthY2hvdg0KPiA8S3lyeWxvLlRrYWNob3ZAYXJtLmNvbT47IFJp Y2hhcmQgU2FuZGlmb3JkDQo+IDxSaWNoYXJkLlNhbmRpZm9yZEBhcm0uY29tPg0KPiBTdWJqZWN0 OiBSRTogW1BBVENIIDMvNF1BQXJjaDY0IEFkZCBTVkUyIGltcGxlbWVudGF0aW9uIGZvciBwb3cy DQo+IGJpdG1hc2sgZGl2aXNpb24NCj4gDQo+IFBpbmcNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBUYW1hciBDaHJpc3RpbmEgPHRhbWFyLmNocmlzdGluYUBh cm0uY29tPg0KPiA+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDIzLCAyMDIyIDEwOjM0IEFNDQo+ ID4gVG86IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+ID4gQ2M6IG5kIDxuZEBhcm0uY29tPjsg UmljaGFyZCBFYXJuc2hhdyA8UmljaGFyZC5FYXJuc2hhd0Bhcm0uY29tPjsNCj4gPiBNYXJjdXMg U2hhd2Nyb2Z0IDxNYXJjdXMuU2hhd2Nyb2Z0QGFybS5jb20+OyBLeXJ5bG8gVGthY2hvdg0KPiA+ IDxLeXJ5bG8uVGthY2hvdkBhcm0uY29tPjsgUmljaGFyZCBTYW5kaWZvcmQNCj4gPiA8UmljaGFy ZC5TYW5kaWZvcmRAYXJtLmNvbT4NCj4gPiBTdWJqZWN0OiBbUEFUQ0ggMy80XUFBcmNoNjQgQWRk IFNWRTIgaW1wbGVtZW50YXRpb24gZm9yIHBvdzIgYml0bWFzaw0KPiA+IGRpdmlzaW9uDQo+ID4N Cj4gPiBIaSBBbGwsDQo+ID4NCj4gPiBJbiBwbGVudHkgb2YgaW1hZ2UgYW5kIHZpZGVvIHByb2Nl c3NpbmcgY29kZSBpdCdzIGNvbW1vbiB0byBtb2RpZnkNCj4gPiBwaXhlbCB2YWx1ZXMgYnkgYSB3 aWRlbmluZyBvcGVyYXRpb24gYW5kIHRoZW4gc2NhbGUgdGhlbSBiYWNrIGludG8NCj4gPiByYW5n ZSBieSBkaXZpZGluZyBieSAyNTUuDQo+ID4NCj4gPiBUaGlzIHBhdGNoIGFkZHMgYW4gbmFtZWQg ZnVuY3Rpb24gdG8gYWxsb3cgdXMgdG8gZW1pdCBhbiBvcHRpbWl6ZWQNCj4gPiBzZXF1ZW5jZSB3 aGVuIGRvaW5nIGFuIHVuc2lnbmVkIGRpdmlzaW9uIHRoYXQgaXMgZXF1aXZhbGVudCB0bzoNCj4g Pg0KPiA+ICAgIHggPSB5IC8gKDIgXiAoYml0c2l6ZSAoeSkvMiktMSkNCj4gPg0KPiA+IEZvciBT VkUyIHRoaXMgbWVhbnMgd2UgZ2VuZXJhdGUgZm9yOg0KPiA+DQo+ID4gdm9pZCBkcmF3X2JpdG1h cDEodWludDhfdCogcmVzdHJpY3QgcGl4ZWwsIHVpbnQ4X3QgbGV2ZWwsIGludCBuKSB7DQo+ID4g ICBmb3IgKGludCBpID0gMDsgaSA8IChuICYgLTE2KTsgaSs9MSkNCj4gPiAgICAgcGl4ZWxbaV0g PSAocGl4ZWxbaV0gKiBsZXZlbCkgLyAweGZmOyB9DQo+ID4NCj4gPiB0aGUgZm9sbG93aW5nOg0K PiA+DQo+ID4gICAgICAgICBtb3YgICAgIHozLmIsICMxDQo+ID4gLkwzOg0KPiA+ICAgICAgICAg bGQxYiAgICB6MC5oLCBwMC96LCBbeDAsIHgzXQ0KPiA+ICAgICAgICAgbXVsICAgICB6MC5oLCBw MS9tLCB6MC5oLCB6Mi5oDQo+ID4gICAgICAgICBhZGRobmIgIHoxLmIsIHowLmgsIHozLmgNCj4g PiAgICAgICAgIGFkZGhuYiAgejAuYiwgejAuaCwgejEuaA0KPiA+ICAgICAgICAgc3QxYiAgICB6 MC5oLCBwMCwgW3gwLCB4M10NCj4gPiAgICAgICAgIGluY2ggICAgeDMNCj4gPiAgICAgICAgIHdo aWxlbG8gcDAuaCwgdzMsIHcyDQo+ID4gICAgICAgICBiLmFueSAgIC5MMw0KPiA+DQo+ID4gaW5z dGVhZCBvZjoNCj4gPg0KPiA+IC5MMzoNCj4gPiAgICAgICAgIGxkMWIgICAgejAuaCwgcDEveiwg W3gwLCB4M10NCj4gPiAgICAgICAgIG11bCAgICAgejAuaCwgcDAvbSwgejAuaCwgejEuaA0KPiA+ ICAgICAgICAgdW11bGggICB6MC5oLCBwMC9tLCB6MC5oLCB6Mi5oDQo+ID4gICAgICAgICBsc3Ig ICAgIHowLmgsIHowLmgsICM3DQo+ID4gICAgICAgICBzdDFiICAgIHowLmgsIHAxLCBbeDAsIHgz XQ0KPiA+ICAgICAgICAgaW5jaCAgICB4Mw0KPiA+ICAgICAgICAgd2hpbGVsbyBwMS5oLCB3Mywg dzINCj4gPiAgICAgICAgIGIuYW55ICAgLkwzDQo+ID4NCj4gPiBXaGljaCByZXN1bHRzIGluIHNp Z25pZmljYW50bHkgZmFzdGVyIGNvZGUuDQo+ID4NCj4gPiBCb290c3RyYXBwZWQgUmVndGVzdGVk IG9uIGFhcmNoNjQtbm9uZS1saW51eC1nbnUgYW5kIG5vIGlzc3Vlcy4NCj4gPg0KPiA+IE9rIGZv ciBtYXN0ZXI/DQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gVGFtYXINCj4gPg0KPiA+IGdjYy9DaGFu Z2VMb2c6DQo+ID4NCj4gPiAJKiBjb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZTIubWQNCj4gPiAo QGFhcmNoNjRfYml0bWFza191ZGl2PG1vZGU+Myk6IE5ldy4NCj4gPg0KPiA+IGdjYy90ZXN0c3Vp dGUvQ2hhbmdlTG9nOg0KPiA+DQo+ID4gCSogZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZTIvZGl2LWJ5 LWJpdG1hc2tfMS5jOiBOZXcgdGVzdC4NCj4gPg0KPiA+IC0tLSBpbmxpbmUgY29weSBvZiBwYXRj aCAtLQ0KPiA+IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zdmUyLm1k DQo+ID4gYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zdmUyLm1kDQo+ID4gaW5kZXgNCj4g Pg0KPiBmMTM4ZjRiZTRiY2Y3NGMxYTRhNmQ1ODQ3ZWQ4MzE0MzUyNDY3MzdmLi40ZDA5N2Y3YzQw NWNjNjhhMWQ2Y2RhNWMyMzQNCj4gPiBhMTAyM2E2ZWJhMGQxIDEwMDY0NA0KPiA+IC0tLSBhL2dj Yy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZTIubWQNCj4gPiArKysgYi9nY2MvY29uZmlnL2Fh cmNoNjQvYWFyY2g2NC1zdmUyLm1kDQo+ID4gQEAgLTcxLDYgKzcxLDcgQEANCj4gPiAgOzsgLS0t LSBbSU5UXSBSZWNpcHJvY2FsIGFwcHJveGltYXRpb24gIDs7IC0tLS0gW0lOVDwtRlBdIEJhc2Ut Mg0KPiA+IGxvZ2FyaXRobSAgOzsgLS0tLSBbSU5UXSBQb2x5bm9taWFsIG11bHRpcGxpY2F0aW9u DQo+ID4gKzs7IC0tLS0gW0lOVF0gTWlzYyBvcHRhYiBpbXBsZW1lbnRhdGlvbnMNCj4gPiAgOzsN Cj4gPiAgOzsgPT0gUGVybXV0YXRpb24NCj4gPiAgOzsgLS0tLSBbSU5ULEZQXSBHZW5lcmFsIHBl cm11dGVzDQo+ID4gQEAgLTIzMTIsNiArMjMxMyw0NyBAQCAoZGVmaW5lX2luc24gIkBhYXJjaDY0 X3N2ZV88b3B0YWI+PG1vZGU+Ig0KPiA+ICAgICI8c3ZlX2ludF9vcD5cdCUwLjxWZXd0eXBlPiwg JTEuPFZldHlwZT4sICUyLjxWZXR5cGU+Ig0KPiA+ICApDQo+ID4NCj4gPiArOzsNCj4gPiArLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+ID4gKy0tDQo+ID4gKy0tIDs7IC0tLS0gW0lOVF0gTWlzYyBvcHRhYiBpbXBs ZW1lbnRhdGlvbnMgOzsNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gKy0tDQo+ID4gKy0tDQo+ID4g Kzs7IEluY2x1ZGVzOg0KPiA+ICs7OyAtIGFhcmNoNjRfYml0bWFza191ZGl2DQo+ID4gKzs7DQo+ ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICstLQ0KPiA+ICstLQ0KPiA+ICsNCj4gPiArOzsgZGl2IG9w dGltaXphdGlvbnMgdXNpbmcgbmFycm93aW5ncyA7OyB3ZSBjYW4gZG8gdGhlIGRpdmlzaW9uIGUu Zy4NCj4gPiArc2hvcnRzIGJ5IDI1NSBmYXN0ZXIgYnkgY2FsY3VsYXRpbmcgaXQgYXMgOzsgKHgg KyAoKHggKyAyNTcpID4+IDgpKQ0KPiA+ICs+PiA4IGFzc3VtaW5nIHRoZSBvcGVyYXRpb24gaXMg ZG9uZSBpbiA7OyBkb3VibGUgdGhlIHByZWNpc2lvbiBvZiB4Lg0KPiA+ICs7Ow0KPiA+ICs7OyBT ZWUgYWFyY2g2NC1zaW1kLm1kIGZvciBiaWdnZXIgZXhwbGFuYXRpb24uDQo+ID4gKyhkZWZpbmVf ZXhwYW5kICJAYWFyY2g2NF9iaXRtYXNrX3VkaXY8bW9kZT4zIg0KPiA+ICsgIFsobWF0Y2hfb3Bl cmFuZDpTVkVfRlVMTF9IU0RJIDAgInJlZ2lzdGVyX29wZXJhbmQiKQ0KPiA+ICsgICAobWF0Y2hf b3BlcmFuZDpTVkVfRlVMTF9IU0RJIDEgInJlZ2lzdGVyX29wZXJhbmQiKQ0KPiA+ICsgICAobWF0 Y2hfb3BlcmFuZDpTVkVfRlVMTF9IU0RJIDIgImltbWVkaWF0ZV9vcGVyYW5kIildDQo+ID4gKyAg IlRBUkdFVF9TVkUyIg0KPiA+ICt7DQo+ID4gKyAgdW5zaWduZWQgSE9TVF9XSURFX0lOVCBzaXpl DQo+ID4gKyAgICA9ICgxVUxMIDw8IEdFVF9NT0RFX1VOSVRfQklUU0laRSAoPFZOQVJST1c+bW9k ZSkpIC0gMTsNCj4gPiArICBpZiAoIUNPTlNUX1ZFQ1RPUl9QIChvcGVyYW5kc1syXSkNCj4gPiAr ICAgICAgfHwgY29uc3RfdmVjdG9yX2VuY29kZWRfbmVsdHMgKG9wZXJhbmRzWzJdKSAhPSAxDQo+ ID4gKyAgICAgIHx8IHNpemUgIT0gVUlOVFZBTCAoQ09OU1RfVkVDVE9SX0VMVCAob3BlcmFuZHNb Ml0sIDApKSkNCj4gPiArICAgIEZBSUw7DQo+ID4gKw0KPiA+ICsgIHJ0eCBhZGRlbmQgPSBnZW5f cmVnX3J0eCAoPE1PREU+bW9kZSk7DQo+ID4gKyAgcnR4IHRtcDEgPSBnZW5fcmVnX3J0eCAoPFZO QVJST1c+bW9kZSk7DQo+ID4gKyAgcnR4IHRtcDIgPSBnZW5fcmVnX3J0eCAoPFZOQVJST1c+bW9k ZSk7DQo+ID4gKyAgcnR4IHZhbCA9IGFhcmNoNjRfc2ltZF9nZW5fY29uc3RfdmVjdG9yX2R1cCAo PFZOQVJST1c+bW9kZSwgMSk7DQo+ID4gKyAgZW1pdF9tb3ZlX2luc24gKGFkZGVuZCwgbG93cGFy dF9zdWJyZWcgKDxNT0RFPm1vZGUsIHZhbCwNCj4gPiArPFZOQVJST1c+bW9kZSkpOw0KPiA+ICsg IGVtaXRfaW5zbiAoZ2VuX2FhcmNoNjRfc3ZlIChVTlNQRUNfQURESE5CLCA8TU9ERT5tb2RlLCB0 bXAxLA0KPiA+IG9wZXJhbmRzWzFdLA0KPiA+ICsJCQkgICAgICBhZGRlbmQpKTsNCj4gPiArICBl bWl0X2luc24gKGdlbl9hYXJjaDY0X3N2ZSAoVU5TUEVDX0FEREhOQiwgPE1PREU+bW9kZSwgdG1w MiwNCj4gPiBvcGVyYW5kc1sxXSwNCj4gPiArCQkJICAgICAgbG93cGFydF9zdWJyZWcgKDxNT0RF Pm1vZGUsIHRtcDEsDQo+ID4gKwkJCQkJICAgICAgPFZOQVJST1c+bW9kZSkpKTsNCj4gPiArICBl bWl0X21vdmVfaW5zbiAob3BlcmFuZHNbMF0sDQo+ID4gKwkJICBsb3dwYXJ0X3N1YnJlZyAoPE1P REU+bW9kZSwgdG1wMiwNCj4gPiA8Vk5BUlJPVz5tb2RlKSk7DQo+ID4gKyAgRE9ORTsNCj4gPiAr fSkNCj4gPiArDQo+ID4gIDs7DQo+ID4NCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ID09PT09PT09PT09PT09PQ0KPiA+ICA7 OyA9PSBQZXJtdXRhdGlvbg0KPiA+ICA7Ow0KPiA+DQo+ID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPiA9PT09PT09PT09PT09PT0N Cj4gPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlMi9k aXYtYnktYml0bWFza18xLmMNCj4gPiBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0 L3N2ZTIvZGl2LWJ5LWJpdG1hc2tfMS5jDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBp bmRleA0KPiA+DQo+IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2 ZjUwOThjMzBmNGUyZWI4ZWQxYWYxNTNjDQo+ID4gMGJiMGQyMDRjZGE2ZDkNCj4gPiAtLS0gL2Rl di9udWxsDQo+ID4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlMi9k aXYtYnktYml0bWFza18xLmMNCj4gPiBAQCAtMCwwICsxLDUzIEBADQo+ID4gKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovDQo+ID4gKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItTzIgLXN0ZD1j OTkiIH0gKi8NCj4gPiArLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioi ICIiICIiIHsgdGFyZ2V0IHsgbGUgfSB9IH0NCj4gPiArfSAqLw0KPiA+ICsNCj4gPiArI2luY2x1 ZGUgPHN0ZGludC5oPg0KPiA+ICsNCj4gPiArLyoNCj4gPiArKiogZHJhd19iaXRtYXAxOg0KPiA+ ICsqKiAuLi4NCj4gPiArKioJbXVsCXpbMC05XSsuaCwgcFswLTldKy9tLCB6WzAtOV0rLmgsIHpb MC05XSsuaA0KPiA+ICsqKglhZGRobmIJelswLTldKy5iLCB6WzAtOV0rLmgsIHpbMC05XSsuaA0K PiA+ICsqKglhZGRobmIJelswLTldKy5iLCB6WzAtOV0rLmgsIHpbMC05XSsuaA0KPiA+ICsqKiAu Li4NCj4gPiArKi8NCj4gPiArdm9pZCBkcmF3X2JpdG1hcDEodWludDhfdCogcmVzdHJpY3QgcGl4 ZWwsIHVpbnQ4X3QgbGV2ZWwsIGludCBuKSB7DQo+ID4gKyAgZm9yIChpbnQgaSA9IDA7IGkgPCAo biAmIC0xNik7IGkrPTEpDQo+ID4gKyAgICBwaXhlbFtpXSA9IChwaXhlbFtpXSAqIGxldmVsKSAv IDB4ZmY7IH0NCj4gPiArDQo+ID4gK3ZvaWQgZHJhd19iaXRtYXAyKHVpbnQ4X3QqIHJlc3RyaWN0 IHBpeGVsLCB1aW50OF90IGxldmVsLCBpbnQgbikgew0KPiA+ICsgIGZvciAoaW50IGkgPSAwOyBp IDwgKG4gJiAtMTYpOyBpKz0xKQ0KPiA+ICsgICAgcGl4ZWxbaV0gPSAocGl4ZWxbaV0gKiBsZXZl bCkgLyAweGZlOyB9DQo+ID4gKw0KPiA+ICsvKg0KPiA+ICsqKiBkcmF3X2JpdG1hcDM6DQo+ID4g KyoqIC4uLg0KPiA+ICsqKgltdWwJelswLTldKy5zLCBwWzAtOV0rL20sIHpbMC05XSsucywgelsw LTldKy5zDQo+ID4gKyoqCWFkZGhuYgl6WzAtOV0rLmgsIHpbMC05XSsucywgelswLTldKy5zDQo+ ID4gKyoqCWFkZGhuYgl6WzAtOV0rLmgsIHpbMC05XSsucywgelswLTldKy5zDQo+ID4gKyoqIC4u Lg0KPiA+ICsqLw0KPiA+ICt2b2lkIGRyYXdfYml0bWFwMyh1aW50MTZfdCogcmVzdHJpY3QgcGl4 ZWwsIHVpbnQxNl90IGxldmVsLCBpbnQgbikgew0KPiA+ICsgIGZvciAoaW50IGkgPSAwOyBpIDwg KG4gJiAtMTYpOyBpKz0xKQ0KPiA+ICsgICAgcGl4ZWxbaV0gPSAocGl4ZWxbaV0gKiBsZXZlbCkg LyAweGZmZmZVOyB9DQo+ID4gKw0KPiA+ICsvKg0KPiA+ICsqKiBkcmF3X2JpdG1hcDQ6DQo+ID4g KyoqIC4uLg0KPiA+ICsqKgltdWwJelswLTldKy5kLCBwWzAtOV0rL20sIHpbMC05XSsuZCwgelsw LTldKy5kDQo+ID4gKyoqCWFkZGhuYgl6WzAtOV0rLnMsIHpbMC05XSsuZCwgelswLTldKy5kDQo+ ID4gKyoqCWFkZGhuYgl6WzAtOV0rLnMsIHpbMC05XSsuZCwgelswLTldKy5kDQo+ID4gKyoqIC4u Lg0KPiA+ICsqLw0KPiA+ICt2b2lkIGRyYXdfYml0bWFwNCh1aW50MzJfdCogcmVzdHJpY3QgcGl4 ZWwsIHVpbnQzMl90IGxldmVsLCBpbnQgbikgew0KPiA+ICsgIGZvciAoaW50IGkgPSAwOyBpIDwg KG4gJiAtMTYpOyBpKz0xKQ0KPiA+ICsgICAgcGl4ZWxbaV0gPSAocGl4ZWxbaV0gKiAodWludDY0 X3QpbGV2ZWwpIC8gMHhmZmZmZmZmZlVMOyB9DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPiAtLQ0K