From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id JvDGHjhzYGHeGAAAWB0awg (envelope-from ) for ; Fri, 08 Oct 2021 12:35:04 -0400 Received: by simark.ca (Postfix, from userid 112) id 675E21EE20; Fri, 8 Oct 2021 12:35:04 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,UNPARSEABLE_RELAY,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 483771ECEB for ; Fri, 8 Oct 2021 12:35:01 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 61D713858427 for ; Fri, 8 Oct 2021 16:35:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 61D713858427 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1633710900; bh=TVBf9za/6wap+XKPfU8DoXe6NaCSY7QEjXxneBMlYXc=; h=To:Subject:Date:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=UD42ZRfL9/3wGmUulLS5is8wGC4OCOowOv9n0irOP60vevy21MxMQn1am5S+8gIoD 1pEx3exXp4/Q0uKw/KoFi1ZC0wX+kbiosWPMSjZ79RXpM1X/jnaFPgppvzsBgjLak+ Hc/fk5tg8ZPcFAk0CemigUdQrHZ2ARcqCYa+YzUU= Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00072.outbound.protection.outlook.com [40.107.0.72]) by sourceware.org (Postfix) with ESMTPS id 7502C3858D39 for ; Fri, 8 Oct 2021 16:34:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7502C3858D39 Received: from AS8PR04CA0155.eurprd04.prod.outlook.com (2603:10a6:20b:331::10) by PAXPR08MB7138.eurprd08.prod.outlook.com (2603:10a6:102:206::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.22; Fri, 8 Oct 2021 16:34:35 +0000 Received: from AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:331:cafe::d) by AS8PR04CA0155.outlook.office365.com (2603:10a6:20b:331::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Fri, 8 Oct 2021 16:34:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.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 AM5EUR03FT014.mail.protection.outlook.com (10.152.16.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend Transport; Fri, 8 Oct 2021 16:34:35 +0000 Received: ("Tessian outbound 2e7020cc8961:v103"); Fri, 08 Oct 2021 16:34:34 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: f39e1d3e8612aa24 X-CR-MTA-TID: 64aa7808 Received: from 0462127075e4.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 65C1F126-7EC3-401B-8046-847930E6496B.1; Fri, 08 Oct 2021 16:34:28 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0462127075e4.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 08 Oct 2021 16:34:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R0ZKK/imn4n82czOKQmPlN4FyZ5Kn+O3S/CBgeSI4Z9yzCNyucYnTBpW2llYqDSKU338iQFhr+jtKVsSF1IdUeioIWKj7MjDJreANTf1V2txONNMDEAZUxO0Zhw1g+aO9jGEEMhqYbBtMM+r+tgJDweWr98TKjibgHeVqlNAT5jW5DxhykCvWOgI+OuLPDhYyrTNxDMjqLS+jnHIi+tGbj8WwDHT+VyrmyRC6XkMeP67ts+qnRIUVGMKYqFHfRT67jQjFDMe1lOydRI4YvtuKxrZUIfBUw2HUGqlLiHP+o2zbeD0Vy7Bc8uWOouWR8Oi48/TDgxNlECfVHPF6y449g== 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=TVBf9za/6wap+XKPfU8DoXe6NaCSY7QEjXxneBMlYXc=; b=ociNs74C3SVamov83KCvdUxpePuNwJRQe7SAZ4dMsBLMcaIc4dJ9jNmyAwkvUWHRe8RsXmKIYxmxdy9PVDmiR0lYR7OQB0tekeN9TU4+lVMvPrUd76LBXumI+mtwh01q/jqw2fLdtDJycCPq9UOiRbAszUZgkPtno6Ra++b2NDMio9jc9JXN8+2CkOwTnpds1XMAPW9BdVC2RNZ1i0k484IJu1GGUrNTZRwpbkbiU2/xD5EuLSjB1s0Exm4zrbb1B+mm4dmSOWwzFvp1kISprs0NJOwgxbgfCIuBlDamtqu7dnVDcPc1fa/lQRli2YNHzLGK1xCQBhf+PXagtfg5Wg== 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 AM6PR08MB3957.eurprd08.prod.outlook.com (2603:10a6:20b:a2::14) by AM6PR08MB3031.eurprd08.prod.outlook.com (2603:10a6:209:45::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.22; Fri, 8 Oct 2021 16:34:26 +0000 Received: from AM6PR08MB3957.eurprd08.prod.outlook.com ([fe80::5d0c:6e21:5ba3:ff8e]) by AM6PR08MB3957.eurprd08.prod.outlook.com ([fe80::5d0c:6e21:5ba3:ff8e%6]) with mapi id 15.20.4566.022; Fri, 8 Oct 2021 16:34:26 +0000 To: Luis Machado Subject: Re: [PATCH 4/4] [ARM] Add support for M-profile MVE extension Thread-Topic: [PATCH 4/4] [ARM] Add support for M-profile MVE extension Thread-Index: AQHXufe1ap3Ti4/a6UOZH2G2bRE/WqvJUMcA Date: Fri, 8 Oct 2021 16:34:26 +0000 Message-ID: <8A61ADC4-9ABE-4FBC-A54B-C33B7953FC70@arm.com> References: <20211005144521.1965198-1-luis.machado@linaro.org> <20211005144521.1965198-5-luis.machado@linaro.org> In-Reply-To: <20211005144521.1965198-5-luis.machado@linaro.org> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3654.120.0.1.13) Authentication-Results-Original: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: d4b0bc7a-bbd1-4c98-bff9-08d98a79839b x-ms-traffictypediagnostic: AM6PR08MB3031:|PAXPR08MB7138: 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-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: ZbkcjrXIFC97EuhV+wgtcb5kkfkTJypPehnodeM/CXvat1dJ0FPGs6csMT8n76ehGIbxvoVi7s4wdULNgcmYVtKQVq8u07dbVekc/ETNYy7Dtu6DbxqgLNssNVWzT98M5GDY71x/Ptziv1X4LHsTTM0MxNAirEm5xu69NfpIoNsgIJ77lRamvr+g/9l8yepXupWSBsgpIJZh81Hd2ap6d8qHfx+f0tSgvZdTfhtACeS63n+OI3LcmCW7XPGZdm7Azozq+CaoEODV2RtXiOP3t68eItFx/XZgrbJqyAGoaIerHe1kgyeEsCUPTZG8Sl//WNj3uCzMGitjX0O3ySEkWc9WQCTleafxiRPthf3Zl3jXMFc8i4HkqeDi5SLZIS3MdKdJg8z3ZgdOU257qE7SAc1soh7q6h3zRrgnQPn5aWKABsLVck2s4B2fOqPS7L+wxUkcdDmANBW4K4f353299SGHeJTbWY+Seah8njG3eHmvEQC6R9XD8g/xENgR0lYxuLnBBGxlE1tFRYra0zIZMRxQLhbUcnEKom0Q/qXlwCZp59UiAk4NS+hw2X+V5wHLd2yZbKXcYNXawxn3UBTeELGKjiYCChaRJ9L2WqwJK8cUDrC9nWS3VlWXknKYmZ3zT7oxJig+yb6Ea42UrlPWiizLRxnwHqHjpko2DIVN3+oz2lvoY0BSSOzjy/ObUYEMG3+LyXHrF8kcSUWdJ4it6QSujrwovaEseP67kaESDCeygr2qhhmZKoJcH52Hwo26qiKxLOzCz3iPO6bPMziTo9suKaO6HUK6jlRj3GO42KRClMjmRpw9C8acmLysgPi9 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR08MB3957.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(966005)(83380400001)(8936002)(6916009)(36756003)(508600001)(66476007)(66946007)(6506007)(53546011)(66446008)(6512007)(64756008)(66556008)(6486002)(2616005)(26005)(91956017)(76116006)(30864003)(86362001)(8676002)(38070700005)(54906003)(2906002)(38100700002)(122000001)(4326008)(186003)(33656002)(316002)(71200400001)(5660300002)(45980500001)(579004); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3031 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: AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 66a6b683-a2bb-4927-26f1-08d98a797e91 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OB7zaJiBnyvG986+ENs0jwD1uthgIB3b9NVR2//EcCAUhUWczHptEaPjBnqDnd1oHxjbO3pq2Rcq+cs5xaMbebYwbJRmzAcUSfbXNgzMK98YsXhFk9UeHKKvg1Q8QB9ySSz0vSON9m7OnDu6pgTutya1B2J7GnbhyKo051+6acIjksfwiw0+EimGHYQF9YS7QU4Mfj5kj2g9grnXt+sDCffyDM2igVX+HMM/pfjqmkkrQ5Y7w1gkuWC3Kb0j4GyigXpRHz2kv8107UvpuwXRM4x6nPeUw+5gAgvctHkbIViSHyrujXnX45ESGMN8xFJceOsNLB4NLRAf1zotYMqLpn/L6yKguwSZxkoUmz5NQy+n23f81SHXrRmiCyzP/97/esWcleH2qR5Z7AULaeyBeG3deSKrBAQanQC2ojZzLJr0RIbxhmJdXmY/lrAvgKQK1BqDRWbZkxLmezaH0ewo9Rm6e00Nt2wsMlR91NJu6RPwXGSFitBmliF/8RX8iv2YuZEgQ9fRAUizG2EKFBGXoUvkJ1+2oiKcQmwtoZBA+HeQ16piSOp/R8gmNdc/f6Lti+HCthT1c4pWlfnYKJnnUqHmpW3vMLI/WisoYRzU5vkvhKIX2aL/rG2Wwa+yHyMrB+4pqs3VxqXZe8IL0X0/TgHsQdPdz4fBF9nowW2noSggxCJDqLn16S15oQPCMaER/4H1d1X6T+VuLmwTn1JFHiUASGvBizmzoBsUiedbLOoS2RHqBVtZBZP21PqE8HpwHe/bOU1z622BkZlVFjooEGgAZekDaFObYKY9S7xjpy4ueE/qITAjT+aysgA8MQIh 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)(46966006)(36840700001)(54906003)(4326008)(5660300002)(6862004)(36756003)(6512007)(6486002)(82310400003)(336012)(83380400001)(86362001)(2616005)(30864003)(36860700001)(316002)(8936002)(33656002)(508600001)(47076005)(70206006)(26005)(70586007)(356005)(81166007)(6506007)(186003)(966005)(2906002)(8676002)(53546011)(2004002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2021 16:34:35.2520 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d4b0bc7a-bbd1-4c98-bff9-08d98a79839b 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: AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7138 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Alan Hayward via Gdb-patches Reply-To: Alan Hayward Cc: Peter Maydell , nd , "gdb-patches\\@sourceware.org" Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" VGhpcyBvbmUgTGd0bSB0b28uIE11Y2ggZWFzaWVyIHRvIHJlYWQgbm93IGV2ZXJ5dGhpbmcgaGFz IGJlZW4gcmVmYWN0b3JlZC4NCihGZWVsIHdlIGNvdWxkIGdvIGZ1cnRoZXIgd2l0aCBoZSBwc2V1 ZG8gY2xlYW51cHMsIGJ1dCB0aGlzIGlzbuKAmXQgdGhlIHJpZ2h0IHRpbWUgdG8gZG8gaXQpDQoN CkFsYW4uDQoNCj4gT24gNSBPY3QgMjAyMSwgYXQgMTU6NDUsIEx1aXMgTWFjaGFkbyA8bHVpcy5t YWNoYWRvQGxpbmFyby5vcmc+IHdyb3RlOg0KPiANCj4gRnJvbTogU3JpbmF0aCBQYXJ2YXRoYW5l bmkgPHNyaW5hdGgucGFydmF0aGFuZW5pQGFybS5jb20+DQo+IA0KPiBUaGlzIHBhdGNoIGFkZHMg c3VwcG9ydCBmb3IgdGhlIE0tcHJvZmlsZSBNVkUgZXh0ZW5zaW9uLCB3aGljaCBpbmNsdWRlcyB0 aGUNCj4gZm9sbG93aW5nOg0KPiANCj4gLSBOZXcgTS1wcm9maWxlIFhNTCBmZWF0dXJlIG0tcHJv ZmlsZS1tdmUNCj4gLSBNVkUgdmVjdG9yIHByZWRpY2F0aW9uIHN0YXR1cyBhbmQgY29udHJvbCBy ZWdpc3RlciAoVlBSKQ0KPiAtIHAwIHBzZXVkbyByZWdpc3RlciAoY29udGFpbmVkIGluIHRoZSBW UFIpDQo+IC0gcTAgfiBxNyBwc2V1ZG8gdmVjdG9yIHJlZ2lzdGVycw0KPiAtIE5ldyBmZWF0dXJl IGJpdHMNCj4gLSBEb2N1bWVudGF0aW9uIHVwZGF0ZQ0KPiANCj4gUHNldWRvIHJlZ2lzdGVyIHAw IGlzIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXRzIG9mIHZwciBhbmQgY2FuIGJlIGFjY2Vzc2Vk DQo+IGFzICRwMCBvciBkaXNwbGF5ZWQgdGhyb3VnaCAkdnByLiAgRm9yIG1vcmUgaW5mb3JtYXRp b24gYWJvdXQgdGhlIHJlZ2lzdGVyDQo+IGxheW91dCwgcGxlYXNlIHJlZmVyIHRvIFsxXS4NCj4g DQo+IFRoZSBxMCB+IHE3IHJlZ2lzdGVycyBtYXAgYmFjayB0byB0aGUgZDAgfiBkMTUgcmVnaXN0 ZXJzLCB0d28gZCByZWdpc3RlcnMNCj4gcGVyIHEgcmVnaXN0ZXIuDQo+IA0KPiBUaGUgcmVnaXN0 ZXIgZHVtcCBsb29rcyBsaWtlIHRoaXM6DQo+IA0KPiAoZ2RiKSBpbmZvIHJlZyBhbGwNCj4gcjAg ICAgICAgICAgICAgMHgwICAgICAgICAgICAgICAgICAwDQo+IHIxICAgICAgICAgICAgIDB4MCAg ICAgICAgICAgICAgICAgMA0KPiByMiAgICAgICAgICAgICAweDAgICAgICAgICAgICAgICAgIDAN Cj4gcjMgICAgICAgICAgICAgMHgwICAgICAgICAgICAgICAgICAwDQo+IHI0ICAgICAgICAgICAg IDB4MCAgICAgICAgICAgICAgICAgMA0KPiByNSAgICAgICAgICAgICAweDAgICAgICAgICAgICAg ICAgIDANCj4gcjYgICAgICAgICAgICAgMHgwICAgICAgICAgICAgICAgICAwDQo+IHI3ICAgICAg ICAgICAgIDB4MCAgICAgICAgICAgICAgICAgMA0KPiByOCAgICAgICAgICAgICAweDAgICAgICAg ICAgICAgICAgIDANCj4gcjkgICAgICAgICAgICAgMHgwICAgICAgICAgICAgICAgICAwDQo+IHIx MCAgICAgICAgICAgIDB4MCAgICAgICAgICAgICAgICAgMA0KPiByMTEgICAgICAgICAgICAweDAg ICAgICAgICAgICAgICAgIDANCj4gcjEyICAgICAgICAgICAgMHgwICAgICAgICAgICAgICAgICAw DQo+IHNwICAgICAgICAgICAgIDB4MCAgICAgICAgICAgICAgICAgMHgwIDxfX1ZlY3RvcnM+DQo+ IGxyICAgICAgICAgICAgIDB4ZmZmZmZmZmYgICAgICAgICAgLTENCj4gcGMgICAgICAgICAgICAg MHhkMGMgICAgICAgICAgICAgICAweGQwYyA8UmVzZXRfSGFuZGxlcj4NCj4geHBzciAgICAgICAg ICAgMHgxMDAwMDAwICAgICAgICAgICAxNjc3NzIxNg0KPiBkMCAgICAgICAgICAgICAwICAgICAg ICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAwMDAwMDAwKQ0KPiBkMSAgICAgICAgICAgICAw ICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAwMDAwMDAwKQ0KPiBkMiAgICAgICAg ICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAwMDAwMDAwKQ0KPiBkMyAg ICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAwMDAwMDAwKQ0K PiBkNCAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAwMDAw MDAwKQ0KPiBkNSAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAw MDAwMDAwMDAwKQ0KPiBkNiAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgw MDAwMDAwMDAwMDAwMDAwKQ0KPiBkNyAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChy YXcgMHgwMDAwMDAwMDAwMDAwMDAwKQ0KPiBkOCAgICAgICAgICAgICAwICAgICAgICAgICAgICAg ICAgIChyYXcgMHgwMDAwMDAwMDAwMDAwMDAwKQ0KPiBkOSAgICAgICAgICAgICAwICAgICAgICAg ICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAwMDAwMDAwKQ0KPiBkMTAgICAgICAgICAgICAwICAg ICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAwMDAwMDAwKQ0KPiBkMTEgICAgICAgICAg ICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAwMDAwMDAwKQ0KPiBkMTIgICAg ICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAwMDAwMDAwKQ0KPiBk MTMgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAwMDAwMDAw KQ0KPiBkMTQgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMDAw MDAwMDAwKQ0KPiBkMTUgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAw MDAwMDAwMDAwMDAwKQ0KPiBmcHNjciAgICAgICAgICAweDAgICAgICAgICAgICAgICAgIDANCj4g dnByICAgICAgICAgICAgMHgwICAgICAgICAgICAgICAgICBbIFAwPTAgTUFTSzAxPTAgTUFTSzIz PTAgXQ0KPiBzMCAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAw MCkNCj4gczEgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAocmF3IDB4MDAwMDAwMDAp DQo+IHMyICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgKHJhdyAweDAwMDAwMDAwKQ0K PiBzMyAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMCkNCj4g czQgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAocmF3IDB4MDAwMDAwMDApDQo+IHM1 ICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgKHJhdyAweDAwMDAwMDAwKQ0KPiBzNiAg ICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMCkNCj4gczcgICAg ICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAocmF3IDB4MDAwMDAwMDApDQo+IHM4ICAgICAg ICAgICAgIDAgICAgICAgICAgICAgICAgICAgKHJhdyAweDAwMDAwMDAwKQ0KPiBzOSAgICAgICAg ICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMCkNCj4gczEwICAgICAgICAg ICAgMCAgICAgICAgICAgICAgICAgICAocmF3IDB4MDAwMDAwMDApDQo+IHMxMSAgICAgICAgICAg IDAgICAgICAgICAgICAgICAgICAgKHJhdyAweDAwMDAwMDAwKQ0KPiBzMTIgICAgICAgICAgICAw ICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMCkNCj4gczEzICAgICAgICAgICAgMCAg ICAgICAgICAgICAgICAgICAocmF3IDB4MDAwMDAwMDApDQo+IHMxNCAgICAgICAgICAgIDAgICAg ICAgICAgICAgICAgICAgKHJhdyAweDAwMDAwMDAwKQ0KPiBzMTUgICAgICAgICAgICAwICAgICAg ICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMCkNCj4gczE2ICAgICAgICAgICAgMCAgICAgICAg ICAgICAgICAgICAocmF3IDB4MDAwMDAwMDApDQo+IHMxNyAgICAgICAgICAgIDAgICAgICAgICAg ICAgICAgICAgKHJhdyAweDAwMDAwMDAwKQ0KPiBzMTggICAgICAgICAgICAwICAgICAgICAgICAg ICAgICAgIChyYXcgMHgwMDAwMDAwMCkNCj4gczE5ICAgICAgICAgICAgMCAgICAgICAgICAgICAg ICAgICAocmF3IDB4MDAwMDAwMDApDQo+IHMyMCAgICAgICAgICAgIDAgICAgICAgICAgICAgICAg ICAgKHJhdyAweDAwMDAwMDAwKQ0KPiBzMjEgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAg IChyYXcgMHgwMDAwMDAwMCkNCj4gczIyICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAo cmF3IDB4MDAwMDAwMDApDQo+IHMyMyAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgKHJh dyAweDAwMDAwMDAwKQ0KPiBzMjQgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcg MHgwMDAwMDAwMCkNCj4gczI1ICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAocmF3IDB4 MDAwMDAwMDApDQo+IHMyNiAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgKHJhdyAweDAw MDAwMDAwKQ0KPiBzMjcgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAw MDAwMCkNCj4gczI4ICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAocmF3IDB4MDAwMDAw MDApDQo+IHMyOSAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgKHJhdyAweDAwMDAwMDAw KQ0KPiBzMzAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgIChyYXcgMHgwMDAwMDAwMCkN Cj4gczMxICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAocmF3IDB4MDAwMDAwMDApDQo+ IHEwICAgICAgICAgICAgIHt1OCA9IHsweDAgPHJlcGVhdHMgMTYgdGltZXM+fSwgdTE2ID0gezB4 MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwfSwgdTMyID0gezB4MCwgMHgwLCAw eDAsIDB4MH0sIHU2NCA9IHsweDAsIDB4MH0sIGYzMiA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCBm NjQgPSB7MHgwLCAweDB9fQ0KPiBxMSAgICAgICAgICAgICB7dTggPSB7MHgwIDxyZXBlYXRzIDE2 IHRpbWVzPn0sIHUxNiA9IHsweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MH0s IHUzMiA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCB1NjQgPSB7MHgwLCAweDB9LCBmMzIgPSB7MHgw LCAweDAsIDB4MCwgMHgwfSwgZjY0ID0gezB4MCwgMHgwfX0NCj4gcTIgICAgICAgICAgICAge3U4 ID0gezB4MCA8cmVwZWF0cyAxNiB0aW1lcz59LCB1MTYgPSB7MHgwLCAweDAsIDB4MCwgMHgwLCAw eDAsIDB4MCwgMHgwLCAweDB9LCB1MzIgPSB7MHgwLCAweDAsIDB4MCwgMHgwfSwgdTY0ID0gezB4 MCwgMHgwfSwgZjMyID0gezB4MCwgMHgwLCAweDAsIDB4MH0sIGY2NCA9IHsweDAsIDB4MH19DQo+ IHEzICAgICAgICAgICAgIHt1OCA9IHsweDAgPHJlcGVhdHMgMTYgdGltZXM+fSwgdTE2ID0gezB4 MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwfSwgdTMyID0gezB4MCwgMHgwLCAw eDAsIDB4MH0sIHU2NCA9IHsweDAsIDB4MH0sIGYzMiA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCBm NjQgPSB7MHgwLCAweDB9fQ0KPiBxNCAgICAgICAgICAgICB7dTggPSB7MHgwIDxyZXBlYXRzIDE2 IHRpbWVzPn0sIHUxNiA9IHsweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MH0s IHUzMiA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCB1NjQgPSB7MHgwLCAweDB9LCBmMzIgPSB7MHgw LCAweDAsIDB4MCwgMHgwfSwgZjY0ID0gezB4MCwgMHgwfX0NCj4gcTUgICAgICAgICAgICAge3U4 ID0gezB4MCA8cmVwZWF0cyAxNiB0aW1lcz59LCB1MTYgPSB7MHgwLCAweDAsIDB4MCwgMHgwLCAw eDAsIDB4MCwgMHgwLCAweDB9LCB1MzIgPSB7MHgwLCAweDAsIDB4MCwgMHgwfSwgdTY0ID0gezB4 MCwgMHgwfSwgZjMyID0gezB4MCwgMHgwLCAweDAsIDB4MH0sIGY2NCA9IHsweDAsIDB4MH19DQo+ IHE2ICAgICAgICAgICAgIHt1OCA9IHsweDAgPHJlcGVhdHMgMTYgdGltZXM+fSwgdTE2ID0gezB4 MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwfSwgdTMyID0gezB4MCwgMHgwLCAw eDAsIDB4MH0sIHU2NCA9IHsweDAsIDB4MH0sIGYzMiA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCBm NjQgPSB7MHgwLCAweDB9fQ0KPiBxNyAgICAgICAgICAgICB7dTggPSB7MHgwIDxyZXBlYXRzIDE2 IHRpbWVzPn0sIHUxNiA9IHsweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MH0s IHUzMiA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCB1NjQgPSB7MHgwLCAweDB9LCBmMzIgPSB7MHgw LCAweDAsIDB4MCwgMHgwfSwgZjY0ID0gezB4MCwgMHgwfX0NCj4gcDAgICAgICAgICAgICAgMHgw ICAgICAgICAgICAgICAgICAwDQo+IA0KPiBCdWlsdCBhbmQgcmVndGVzdGVkIHdpdGggYSBzaW11 bGF0b3IuDQo+IA0KPiBbMV0gaHR0cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9u L2RkaTA1NTMvYm4NCj4gDQo+IENvLUF1dGhvcmVkLUJ5OiBMdWlzIE1hY2hhZG8gPGx1aXMubWFj aGFkb0BsaW5hcm8ub3JnPg0KPiAtLS0NCj4gZ2RiL2FyY2gvYXJtLmMgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDcgKysNCj4gZ2RiL2FyY2gvYXJtLmggICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDMgKw0KPiBnZGIvYXJtLXRkZXAuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDE0 MCArKysrKysrKysrKysrKysrKysrKysrKystDQo+IGdkYi9hcm0tdGRlcC5oICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICA1ICsNCj4gZ2RiL2RvYy9nZGIudGV4aW5mbyAgICAgICAgICAgICAg ICAgICAgfCAgMTEgKysNCj4gZ2RiL2ZlYXR1cmVzL01ha2VmaWxlICAgICAgICAgICAgICAgICAg fCAgIDEgKw0KPiBnZGIvZmVhdHVyZXMvYXJtL2FybS1tLXByb2ZpbGUtbXZlLmMgICB8ICAyMCAr KysrDQo+IGdkYi9mZWF0dXJlcy9hcm0vYXJtLW0tcHJvZmlsZS1tdmUueG1sIHwgIDE5ICsrKysN Cj4gOCBmaWxlcyBjaGFuZ2VkLCAyMDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkNCj4g Y3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi9mZWF0dXJlcy9hcm0vYXJtLW0tcHJvZmlsZS1tdmUuYw0K PiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL2ZlYXR1cmVzL2FybS9hcm0tbS1wcm9maWxlLW12ZS54 bWwNCj4gDQo+IGRpZmYgLS1naXQgYS9nZGIvYXJjaC9hcm0uYyBiL2dkYi9hcmNoL2FybS5jDQo+ IGluZGV4IDc0MDdjNGE3ZGFkLi5hMThiMzhiOWQ4MSAxMDA2NDQNCj4gLS0tIGEvZ2RiL2FyY2gv YXJtLmMNCj4gKysrIGIvZ2RiL2FyY2gvYXJtLmMNCj4gQEAgLTI3LDYgKzI3LDcgQEANCj4gI2lu Y2x1ZGUgIi4uL2ZlYXR1cmVzL2FybS94c2NhbGUtaXdtbXh0LmMiDQo+ICNpbmNsdWRlICIuLi9m ZWF0dXJlcy9hcm0vYXJtLW0tcHJvZmlsZS5jIg0KPiAjaW5jbHVkZSAiLi4vZmVhdHVyZXMvYXJt L2FybS1tLXByb2ZpbGUtd2l0aC1mcGEuYyINCj4gKyNpbmNsdWRlICIuLi9mZWF0dXJlcy9hcm0v YXJtLW0tcHJvZmlsZS1tdmUuYyINCj4gDQo+IC8qIFNlZSBhcm0uaC4gICovDQo+IA0KPiBAQCAt NDM5LDYgKzQ0MCwxMiBAQCBhcm1fY3JlYXRlX21wcm9maWxlX3RhcmdldF9kZXNjcmlwdGlvbiAo YXJtX21fcHJvZmlsZV90eXBlIG1fdHlwZSkNCj4gICAgICAgcmVnbnVtID0gY3JlYXRlX2ZlYXR1 cmVfYXJtX2FybV9tX3Byb2ZpbGVfd2l0aF9mcGEgKHRkZXNjLCByZWdudW0pOw0KPiAgICAgICBi cmVhazsNCj4gDQo+ICsgICAgY2FzZSBBUk1fTV9UWVBFX01WRToNCj4gKyAgICAgIHJlZ251bSA9 IGNyZWF0ZV9mZWF0dXJlX2FybV9hcm1fbV9wcm9maWxlICh0ZGVzYywgcmVnbnVtKTsNCj4gKyAg ICAgIHJlZ251bSA9IGNyZWF0ZV9mZWF0dXJlX2FybV9hcm1fdmZwdjIgKHRkZXNjLCByZWdudW0p Ow0KPiArICAgICAgcmVnbnVtID0gY3JlYXRlX2ZlYXR1cmVfYXJtX2FybV9tX3Byb2ZpbGVfbXZl ICh0ZGVzYywgcmVnbnVtKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICAgICBkZWZhdWx0Og0K PiAgICAgICBlcnJvciAoXygiSW52YWxpZCBBcm0gTSB0eXBlOiAlZCIpLCBtX3R5cGUpOw0KPiAg ICAgfQ0KPiBkaWZmIC0tZ2l0IGEvZ2RiL2FyY2gvYXJtLmggYi9nZGIvYXJjaC9hcm0uaA0KPiBp bmRleCBmNmExNTVkNjM3Ni4uZWFiY2I0MzRmMWYgMTAwNjQ0DQo+IC0tLSBhL2dkYi9hcmNoL2Fy bS5oDQo+ICsrKyBiL2dkYi9hcmNoL2FybS5oDQo+IEBAIC01OSw2ICs1OSw4IEBAIGVudW0gZ2Ri X3JlZ251bSB7DQo+IA0KPiAvKiBSZWdpc3RlciBjb3VudCBjb25zdGFudHMuICAqLw0KPiBlbnVt IGFybV9yZWdpc3Rlcl9jb3VudHMgew0KPiArICAvKiBOdW1iZXIgb2YgUSByZWdpc3RlcnMgZm9y IE1WRS4gICovDQo+ICsgIEFSTV9NVkVfTlVNX1FfUkVHUyA9IDgsDQo+ICAgLyogTnVtYmVyIG9m IGFyZ3VtZW50IHJlZ2lzdGVycy4gICovDQo+ICAgQVJNX05VTV9BUkdfUkVHUyA9IDQsDQo+ICAg LyogTnVtYmVyIG9mIGZsb2F0aW5nIHBvaW50IGFyZ3VtZW50IHJlZ2lzdGVycy4gICovDQo+IEBA IC04OSw2ICs5MSw3IEBAIGVudW0gYXJtX21fcHJvZmlsZV90eXBlIHsNCj4gICAgQVJNX01fVFlQ RV9NX1BST0ZJTEUsDQo+ICAgIEFSTV9NX1RZUEVfVkZQX0QxNiwNCj4gICAgQVJNX01fVFlQRV9X SVRIX0ZQQSwNCj4gKyAgIEFSTV9NX1RZUEVfTVZFLA0KPiAgICBBUk1fTV9UWVBFX0lOVkFMSUQN Cj4gfTsNCj4gDQo+IGRpZmYgLS1naXQgYS9nZGIvYXJtLXRkZXAuYyBiL2dkYi9hcm0tdGRlcC5j DQo+IGluZGV4IDEzYmNlMjAyNTg1Li43ZGI0OGU4NTliNyAxMDA2NDQNCj4gLS0tIGEvZ2RiL2Fy bS10ZGVwLmMNCj4gKysrIGIvZ2RiL2FybS10ZGVwLmMNCj4gQEAgLTQxMzMsNyArNDEzMyw4IEBA IGlzX3FfcHNldWRvIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgaW50IHJlZ251bSkNCj4gew0K PiAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOw0K PiANCj4gLSAgLyogUSBwc2V1ZG8gcmVnaXN0ZXJzIGFyZSBhdmFpbGFibGUgZm9yIE5FT04gKFEw flExNSkuICAqLw0KPiArICAvKiBRIHBzZXVkbyByZWdpc3RlcnMgYXJlIGF2YWlsYWJsZSBmb3Ig Ym90aCBORU9OIChRMH5RMTUpIGFuZA0KPiArICAgICBNVkUgKFEwflE3KSBmZWF0dXJlcy4gICov DQo+ICAgaWYgKHRkZXAtPmhhdmVfcV9wc2V1ZG9zDQo+ICAgICAgICYmIHJlZ251bSA+PSB0ZGVw LT5xX3BzZXVkb19iYXNlDQo+ICAgICAgICYmIHJlZ251bSA8ICh0ZGVwLT5xX3BzZXVkb19iYXNl ICsgdGRlcC0+cV9wc2V1ZG9fY291bnQpKQ0KPiBAQCAtNDE2MSw2ICs0MTYyLDI1IEBAIGlzX3Zm cF9wc2V1ZG8gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBpbnQgcmVnbnVtKQ0KPiAgIHJldHVy biBmYWxzZTsNCj4gfQ0KPiANCj4gKy8qIFJldHVybiB0cnVlIGlmIFJFR05VTSBpcyBhIE1WRSBw c2V1ZG8gcmVnaXN0ZXIgKFAwKS4gIFJldHVybiBmYWxzZQ0KPiArICAgb3RoZXJ3aXNlLg0KPiAr DQo+ICsgICBSRUdOVU0gaXMgdGhlIHJhdyByZWdpc3RlciBudW1iZXIgYW5kIG5vdCBhIHBzZXVk by1yZWxhdGl2ZSByZWdpc3Rlcg0KPiArICAgbnVtYmVyLiAgKi8NCj4gKw0KPiArc3RhdGljIGJv b2wNCj4gK2lzX212ZV9wc2V1ZG8gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBpbnQgcmVnbnVt KQ0KPiArew0KPiArICBzdHJ1Y3QgZ2RiYXJjaF90ZGVwICp0ZGVwID0gZ2RiYXJjaF90ZGVwIChn ZGJhcmNoKTsNCj4gKw0KPiArICBpZiAodGRlcC0+aGF2ZV9tdmUNCj4gKyAgICAgICYmIHJlZ251 bSA+PSB0ZGVwLT5tdmVfcHNldWRvX2Jhc2UNCj4gKyAgICAgICYmIHJlZ251bSA8IHRkZXAtPm12 ZV9wc2V1ZG9fYmFzZSArIHRkZXAtPm12ZV9wc2V1ZG9fY291bnQpDQo+ICsgICAgcmV0dXJuIHRy dWU7DQo+ICsNCj4gKyAgcmV0dXJuIGZhbHNlOw0KPiArfQ0KPiArDQo+IC8qIFJldHVybiB0aGUg R0RCIHR5cGUgb2JqZWN0IGZvciB0aGUgInN0YW5kYXJkIiBkYXRhIHR5cGUgb2YgZGF0YSBpbg0K PiAgICByZWdpc3RlciBOLiAgKi8NCj4gDQo+IEBAIC00MTc1LDYgKzQxOTUsOSBAQCBhcm1fcmVn aXN0ZXJfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGludCByZWdudW0pDQo+ICAgaWYg KGlzX3FfcHNldWRvIChnZGJhcmNoLCByZWdudW0pKQ0KPiAgICAgcmV0dXJuIGFybV9uZW9uX3F1 YWRfdHlwZSAoZ2RiYXJjaCk7DQo+IA0KPiArICBpZiAoaXNfbXZlX3BzZXVkbyAoZ2RiYXJjaCwg cmVnbnVtKSkNCj4gKyAgICByZXR1cm4gYnVpbHRpbl90eXBlIChnZGJhcmNoKS0+YnVpbHRpbl9p bnQxNjsNCj4gKw0KPiAgIC8qIElmIHRoZSB0YXJnZXQgZGVzY3JpcHRpb24gaGFzIHJlZ2lzdGVy IGluZm9ybWF0aW9uLCB3ZSBhcmUgb25seQ0KPiAgICAgIGluIHRoaXMgZnVuY3Rpb24gc28gdGhh dCB3ZSBjYW4gb3ZlcnJpZGUgdGhlIHR5cGVzIG9mDQo+ICAgICAgZG91YmxlLXByZWNpc2lvbiBy ZWdpc3RlcnMgZm9yIE5FT04uICAqLw0KPiBAQCAtODYxMiw2ICs4NjM1LDkgQEAgYXJtX3JlZ2lz dGVyX25hbWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBpbnQgaSkNCj4gICAgICAgcmV0dXJu IHFfcHNldWRvX25hbWVzW2kgLSB0ZGVwLT5xX3BzZXVkb19iYXNlXTsNCj4gICAgIH0NCj4gDQo+ ICsgIGlmIChpc19tdmVfcHNldWRvIChnZGJhcmNoLCBpKSkNCj4gKyAgICByZXR1cm4gInAwIjsN Cj4gKw0KPiAgIGlmIChpID49IEFSUkFZX1NJWkUgKGFybV9yZWdpc3Rlcl9uYW1lcykpDQo+ICAg ICAvKiBUaGVzZSByZWdpc3RlcnMgYXJlIG9ubHkgc3VwcG9ydGVkIG9uIHRhcmdldHMgd2hpY2gg c3VwcGx5DQo+ICAgICAgICBhbiBYTUwgZGVzY3JpcHRpb24uICAqLw0KPiBAQCAtODc0NSw2ICs4 NzcxLDE5IEBAIGFybV9uZW9uX3F1YWRfcmVhZCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHJl YWRhYmxlX3JlZ2NhY2hlICpyZWdjYWNoZSwNCj4gICByZXR1cm4gUkVHX1ZBTElEOw0KPiB9DQo+ IA0KPiArLyogUmVhZCB0aGUgY29udGVudHMgb2YgdGhlIE1WRSBwc2V1ZG8gcmVnaXN0ZXIgUkVH TlVNIGFuZCBzdG9yZSBpdA0KPiArICAgaW4gQlVGLiAgKi8NCj4gKw0KPiArc3RhdGljIGVudW0g cmVnaXN0ZXJfc3RhdHVzDQo+ICthcm1fbXZlX3BzZXVkb19yZWFkIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwgcmVhZGFibGVfcmVnY2FjaGUgKnJlZ2NhY2hlLA0KPiArCQkgICAgIGludCByZWdu dW0sIGdkYl9ieXRlICpidWYpDQo+ICt7DQo+ICsgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAg PSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOw0KPiArDQo+ICsgIC8qIFAwIGlzIHRoZSBmaXJzdCAx NiBiaXRzIG9mIFZQUi4gICovDQo+ICsgIHJldHVybiByZWdjYWNoZS0+cmF3X3JlYWRfcGFydCAo dGRlcC0+bXZlX3Zwcl9yZWdudW0sIDAsIDIsIGJ1Zik7DQo+ICt9DQo+ICsNCj4gc3RhdGljIGVu dW0gcmVnaXN0ZXJfc3RhdHVzDQo+IGFybV9wc2V1ZG9fcmVhZCAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHJlYWRhYmxlX3JlZ2NhY2hlICpyZWdjYWNoZSwNCj4gCQkgaW50IHJlZ251bSwgZ2Ri X2J5dGUgKmJ1ZikNCj4gQEAgLTg3NjQsNiArODgwMyw4IEBAIGFybV9wc2V1ZG9fcmVhZCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIHJlYWRhYmxlX3JlZ2NhY2hlICpyZWdjYWNoZSwNCj4gICAg ICAgcmV0dXJuIGFybV9uZW9uX3F1YWRfcmVhZCAoZ2RiYXJjaCwgcmVnY2FjaGUsDQo+IAkJCQkg cmVnbnVtIC0gdGRlcC0+cV9wc2V1ZG9fYmFzZSwgYnVmKTsNCj4gICAgIH0NCj4gKyAgZWxzZSBp ZiAoaXNfbXZlX3BzZXVkbyAoZ2RiYXJjaCwgcmVnbnVtKSkNCj4gKyAgICByZXR1cm4gYXJtX212 ZV9wc2V1ZG9fcmVhZCAoZ2RiYXJjaCwgcmVnY2FjaGUsIHJlZ251bSwgYnVmKTsNCj4gICBlbHNl DQo+ICAgICB7DQo+ICAgICAgIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHN0YXR1czsNCj4gQEAgLTg4 MTgsNiArODg1OSwxOCBAQCBhcm1fbmVvbl9xdWFkX3dyaXRlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwNCj4gICByZWdjYWNoZS0+cmF3X3dyaXRl IChkb3VibGVfcmVnbnVtICsgMSwgYnVmICsgb2Zmc2V0KTsNCj4gfQ0KPiANCj4gKy8qIFN0b3Jl IHRoZSBjb250ZW50cyBvZiBCVUYgdG8gdGhlIE1WRSBwc2V1ZG8gcmVnaXN0ZXIgUkVHTlVNLiAg Ki8NCj4gKw0KPiArc3RhdGljIHZvaWQNCj4gK2FybV9tdmVfcHNldWRvX3dyaXRlIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwNCj4gKwkJICAgICAg aW50IHJlZ251bSwgY29uc3QgZ2RiX2J5dGUgKmJ1ZikNCj4gK3sNCj4gKyAgc3RydWN0IGdkYmFy Y2hfdGRlcCAqdGRlcCA9IGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCk7DQo+ICsNCj4gKyAgLyogUDAg aXMgdGhlIGZpcnN0IDE2IGJpdHMgb2YgVlBSLiAgKi8NCj4gKyAgcmVnY2FjaGUtPnJhd193cml0 ZV9wYXJ0ICh0ZGVwLT5tdmVfdnByX3JlZ251bSwgMCwgMiwgYnVmKTsNCj4gK30NCj4gKw0KPiBz dGF0aWMgdm9pZA0KPiBhcm1fcHNldWRvX3dyaXRlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg c3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwNCj4gCQkgIGludCByZWdudW0sIGNvbnN0IGdkYl9i eXRlICpidWYpDQo+IEBAIC04ODM3LDYgKzg4OTAsOCBAQCBhcm1fcHNldWRvX3dyaXRlIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwNCj4gICAgICAg YXJtX25lb25fcXVhZF93cml0ZSAoZ2RiYXJjaCwgcmVnY2FjaGUsDQo+IAkJCSAgIHJlZ251bSAt IHRkZXAtPnFfcHNldWRvX2Jhc2UsIGJ1Zik7DQo+ICAgICB9DQo+ICsgIGVsc2UgaWYgKGlzX212 ZV9wc2V1ZG8gKGdkYmFyY2gsIHJlZ251bSkpDQo+ICsgICAgYXJtX212ZV9wc2V1ZG9fd3JpdGUg KGdkYmFyY2gsIHJlZ2NhY2hlLCByZWdudW0sIGJ1Zik7DQo+ICAgZWxzZQ0KPiAgICAgew0KPiAg ICAgICByZWdudW0gLT0gdGRlcC0+dmZwX3BzZXVkb19iYXNlOw0KPiBAQCAtODkzNSw2ICs4OTkw LDExIEBAIGFybV9yZWdpc3Rlcl9nX3BhY2tldF9ndWVzc2VzIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCkNCj4gICAgICAgcmVnaXN0ZXJfcmVtb3RlX2dfcGFja2V0X2d1ZXNzIChnZGJhcmNoLA0K PiAJCQkJICAgICAgQVJNX0NPUkVfUkVHU19TSVpFICsgQVJNX1ZGUDJfUkVHU19TSVpFLA0KPiAJ CQkJICAgICAgdGRlc2MpOw0KPiArICAgICAgLyogTS1wcm9maWxlIHBsdXMgTVZFLiAgKi8NCj4g KyAgICAgIHRkZXNjID0gYXJtX3JlYWRfbXByb2ZpbGVfZGVzY3JpcHRpb24gKEFSTV9NX1RZUEVf TVZFKTsNCj4gKyAgICAgIHJlZ2lzdGVyX3JlbW90ZV9nX3BhY2tldF9ndWVzcyAoZ2RiYXJjaCwg QVJNX0NPUkVfUkVHU19TSVpFDQo+ICsJCQkJICAgICAgKyBBUk1fVkZQMl9SRUdTX1NJWkUNCj4g KwkJCQkgICAgICArIEFSTV9JTlRfUkVHSVNURVJfU0laRSwgdGRlc2MpOw0KPiAgICAgfQ0KPiAN Cj4gICAvKiBPdGhlcndpc2Ugd2UgZG9uJ3QgaGF2ZSBhIHVzZWZ1bCBndWVzcy4gICovDQo+IEBA IC04OTkxLDYgKzkwNTEsOSBAQCBhcm1fZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZv IGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykNCj4gICBib29sIGhhdmVfbmVvbiA9 IGZhbHNlOw0KPiAgIGJvb2wgaGF2ZV9mcGFfcmVnaXN0ZXJzID0gdHJ1ZTsNCj4gICBjb25zdCBz dHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjID0gaW5mby50YXJnZXRfZGVzYzsNCj4gKyAgYm9vbCBo YXZlX3ZmcCA9IGZhbHNlOw0KPiArICBib29sIGhhdmVfbXZlID0gZmFsc2U7DQo+ICsgIGludCBt dmVfdnByX3JlZ251bSA9IC0xOw0KPiAgIGludCByZWdpc3Rlcl9jb3VudCA9IEFSTV9OVU1fUkVH UzsNCj4gDQo+ICAgLyogSWYgd2UgaGF2ZSBhbiBvYmplY3QgdG8gYmFzZSB0aGlzIGFyY2hpdGVj dHVyZSBvbiwgdHJ5IHRvIGRldGVybWluZQ0KPiBAQCAtOTEwNiw2ICs5MTY5LDcgQEAgYXJtX2dk YmFyY2hfaW5pdCAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaF9saXN0 ICphcmNoZXMpDQo+IAkgICAgICBpZiAoIXRkZXNjX2hhc19yZWdpc3RlcnMgKHRkZXNjKQ0KPiAJ CSAgJiYgKGF0dHJfYXJjaCA9PSBUQUdfQ1BVX0FSQ0hfVjZfTQ0KPiAJCSAgICAgIHx8IGF0dHJf YXJjaCA9PSBUQUdfQ1BVX0FSQ0hfVjZTX00NCj4gKwkJICAgICAgfHwgYXR0cl9hcmNoID09IFRB R19DUFVfQVJDSF9WOF8xTV9NQUlODQo+IAkJICAgICAgfHwgYXR0cl9wcm9maWxlID09ICdNJykp DQo+IAkJaXNfbSA9IHRydWU7DQo+ICNlbmRpZg0KPiBAQCAtOTI3NSw2ICs5MzM5LDggQEAgYXJt X2dkYmFyY2hfaW5pdCAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaF9s aXN0ICphcmNoZXMpDQo+IAkgIGlmICghdmFsaWRfcCkNCj4gCSAgICByZXR1cm4gTlVMTDsNCj4g DQo+ICsJICBoYXZlX3ZmcCA9IHRydWU7DQo+ICsNCj4gCSAgaWYgKHRkZXNjX3VubnVtYmVyZWRf cmVnaXN0ZXIgKGZlYXR1cmUsICJzMCIpID09IDApDQo+IAkgICAgaGF2ZV92ZnBfcHNldWRvcyA9 IHRydWU7DQo+IA0KPiBAQCAtOTI5Niw4ICs5MzYyLDQxIEBAIGFybV9nZGJhcmNoX2luaXQgKHN0 cnVjdCBnZGJhcmNoX2luZm8gaW5mbywgc3RydWN0IGdkYmFyY2hfbGlzdCAqYXJjaGVzKQ0KPiAJ CSB0aGUgZGVmYXVsdCB0eXBlLiAgKi8NCj4gCSAgICAgIGlmICh0ZGVzY191bm51bWJlcmVkX3Jl Z2lzdGVyIChmZWF0dXJlLCAicTAiKSA9PSAwKQ0KPiAJCWhhdmVfcV9wc2V1ZG9zID0gdHJ1ZTsN Cj4gKwkgICAgfQ0KPiArCX0NCj4gKw0KPiArICAgICAgLyogQ2hlY2sgZm9yIE1WRSBhZnRlciBh bGwgdGhlIGNoZWNrcyBmb3IgR1BSJ3MsIFZGUCBhbmQgTmVvbi4NCj4gKwkgTVZFIChIZWxpdW0p IGlzIGFuIE0tcHJvZmlsZSBleHRlbnNpb24uICAqLw0KPiArICAgICAgaWYgKGlzX20pDQo+ICsJ ew0KPiArCSAgLyogRG8gd2UgaGF2ZSB0aGUgTVZFIGZlYXR1cmU/ICAqLw0KPiArCSAgZmVhdHVy ZSA9IHRkZXNjX2ZpbmRfZmVhdHVyZSAodGRlc2MsIm9yZy5nbnUuZ2RiLmFybS5tLXByb2ZpbGUt bXZlIik7DQo+ICsNCj4gKwkgIGlmIChmZWF0dXJlICE9IG51bGxwdHIpDQo+ICsJICAgIHsNCj4g KwkgICAgICAvKiBJZiB3ZSBoYXZlIE1WRSwgd2UgbXVzdCBhbHdheXMgaGF2ZSB0aGUgVlBSIHJl Z2lzdGVyLiAgKi8NCj4gKwkgICAgICB2YWxpZF9wICY9IHRkZXNjX251bWJlcmVkX3JlZ2lzdGVy IChmZWF0dXJlLCB0ZGVzY19kYXRhLmdldCAoKSwNCj4gKwkJCQkJCSAgcmVnaXN0ZXJfY291bnQs ICJ2cHIiKTsNCj4gKwkgICAgICBpZiAoIXZhbGlkX3ApDQo+ICsJCXsNCj4gKwkJICB3YXJuaW5n IChfKCJNVkUgZmVhdHVyZSBpcyBtaXNzaW5nIHJlcXVpcmVkIHJlZ2lzdGVyIHZwci4iKSk7DQo+ ICsJCSAgcmV0dXJuIG51bGxwdHI7DQo+ICsJCX0NCj4gDQo+IC0JICAgICAgaGF2ZV9uZW9uID0g dHJ1ZTsNCj4gKwkgICAgICBoYXZlX212ZSA9IHRydWU7DQo+ICsJICAgICAgbXZlX3Zwcl9yZWdu dW0gPSByZWdpc3Rlcl9jb3VudDsNCj4gKwkgICAgICByZWdpc3Rlcl9jb3VudCsrOw0KPiArDQo+ ICsJICAgICAgLyogV2UgY2FuJ3QgaGF2ZSBRIHBzZXVkbyByZWdpc3RlcnMgYXZhaWxhYmxlIGhl cmUsIGFzIHRoYXQNCj4gKwkJIHdvdWxkIG1lYW4gd2UgaGF2ZSBORU9OIGZlYXR1cmVzLCBhbmQg dGhhdCBpcyBvbmx5IGF2YWlsYWJsZQ0KPiArCQkgb24gQSBhbmQgUiBwcm9maWxlcy4gICovDQo+ ICsJICAgICAgZ2RiX2Fzc2VydCAoIWhhdmVfcV9wc2V1ZG9zKTsNCj4gKw0KPiArCSAgICAgIC8q IEdpdmVuIHdlIGhhdmUgYSBNLXByb2ZpbGUgdGFyZ2V0IGRlc2NyaXB0aW9uLCBpZiBNVkUgaXMN Cj4gKwkJIGVuYWJsZWQgYW5kIHRoZXJlIGFyZSBWRlAgcmVnaXN0ZXJzLCB3ZSBzaG91bGQgaGF2 ZSBRDQo+ICsJCSBwc2V1ZG8gcmVnaXN0ZXJzIChRMCB+IFE3KS4gICovDQo+ICsJICAgICAgaWYg KGhhdmVfdmZwKQ0KPiArCQloYXZlX3FfcHNldWRvcyA9IHRydWU7DQo+IAkgICAgfQ0KPiAJfQ0K PiAgICAgfQ0KPiBAQCAtOTM0OSw2ICs5NDQ4LDEzIEBAIGFybV9nZGJhcmNoX2luaXQgKHN0cnVj dCBnZGJhcmNoX2luZm8gaW5mbywgc3RydWN0IGdkYmFyY2hfbGlzdCAqYXJjaGVzKQ0KPiAgIHRk ZXAtPmhhdmVfcV9wc2V1ZG9zID0gaGF2ZV9xX3BzZXVkb3M7DQo+ICAgdGRlcC0+aGF2ZV9uZW9u ID0gaGF2ZV9uZW9uOw0KPiANCj4gKyAgLyogQWRqdXN0IHRoZSBNVkUgZmVhdHVyZSBzZXR0aW5n cy4gICovDQo+ICsgIGlmIChoYXZlX212ZSkNCj4gKyAgICB7DQo+ICsgICAgICB0ZGVwLT5oYXZl X212ZSA9IHRydWU7DQo+ICsgICAgICB0ZGVwLT5tdmVfdnByX3JlZ251bSA9IG12ZV92cHJfcmVn bnVtOw0KPiArICAgIH0NCj4gKw0KPiAgIGFybV9yZWdpc3Rlcl9nX3BhY2tldF9ndWVzc2VzIChn ZGJhcmNoKTsNCj4gDQo+ICAgLyogQnJlYWtwb2ludHMuICAqLw0KPiBAQCAtOTUzMCwyMSArOTYz NiwzOSBAQCBhcm1fZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVj dCBnZGJhcmNoX2xpc3QgKmFyY2hlcykNCj4gICAgIH0NCj4gDQo+ICAgLyogSW5pdGlhbGl6ZSB0 aGUgcHNldWRvIHJlZ2lzdGVyIGRhdGEuICAqLw0KPiArICBpbnQgbnVtX3BzZXVkb3MgPSAwOw0K PiAgIGlmICh0ZGVwLT5oYXZlX3ZmcF9wc2V1ZG9zKQ0KPiAgICAgew0KPiAgICAgICAvKiBWRlAg c2luZ2xlIHByZWNpc2lvbiBwc2V1ZG8gcmVnaXN0ZXJzIChTMH5TMzEpLiAgKi8NCj4gICAgICAg dGRlcC0+dmZwX3BzZXVkb19iYXNlID0gcmVnaXN0ZXJfY291bnQ7DQo+ICAgICAgIHRkZXAtPnZm cF9wc2V1ZG9fY291bnQgPSAzMjsNCj4gLSAgICAgIGludCBudW1fcHNldWRvcyA9IHRkZXAtPnZm cF9wc2V1ZG9fY291bnQ7DQo+ICsgICAgICBudW1fcHNldWRvcyArPSB0ZGVwLT52ZnBfcHNldWRv X2NvdW50Ow0KPiANCj4gICAgICAgaWYgKHRkZXAtPmhhdmVfcV9wc2V1ZG9zKQ0KPiAJew0KPiAJ ICAvKiBORU9OIHF1YWQgcHJlY2lzaW9uIHBzZXVkbyByZWdpc3RlcnMgKFEwflExNSkuICAqLw0K PiAJICB0ZGVwLT5xX3BzZXVkb19iYXNlID0gcmVnaXN0ZXJfY291bnQgKyBudW1fcHNldWRvczsN Cj4gLQkgIHRkZXAtPnFfcHNldWRvX2NvdW50ID0gMTY7DQo+ICsNCj4gKwkgIGlmIChoYXZlX25l b24pDQo+ICsJICAgIHRkZXAtPnFfcHNldWRvX2NvdW50ID0gMTY7DQo+ICsJICBlbHNlIGlmICho YXZlX212ZSkNCj4gKwkgICAgdGRlcC0+cV9wc2V1ZG9fY291bnQgPSBBUk1fTVZFX05VTV9RX1JF R1M7DQo+ICsNCj4gCSAgbnVtX3BzZXVkb3MgKz0gdGRlcC0+cV9wc2V1ZG9fY291bnQ7DQo+IAl9 DQo+ICsgICAgfQ0KPiANCj4gKyAgLyogRG8gd2UgaGF2ZSBhbnkgTVZFIHBzZXVkbyByZWdpc3Rl cnM/ICAqLw0KPiArICBpZiAoaGF2ZV9tdmUpDQo+ICsgICAgew0KPiArICAgICAgdGRlcC0+bXZl X3BzZXVkb19iYXNlID0gcmVnaXN0ZXJfY291bnQgKyBudW1fcHNldWRvczsNCj4gKyAgICAgIHRk ZXAtPm12ZV9wc2V1ZG9fY291bnQgPSAxOw0KPiArICAgICAgbnVtX3BzZXVkb3MgKz0gdGRlcC0+ bXZlX3BzZXVkb19jb3VudDsNCj4gKyAgICB9DQo+ICsNCj4gKyAgLyogU2V0IHNvbWUgcHNldWRv IHJlZ2lzdGVyIGhvb2tzLCBpZiB3ZSBoYXZlIHBzZXVkbyByZWdpc3RlcnMuICAqLw0KPiArICBp ZiAodGRlcC0+aGF2ZV92ZnBfcHNldWRvcyB8fCBoYXZlX212ZSkNCj4gKyAgICB7DQo+ICAgICAg IHNldF9nZGJhcmNoX251bV9wc2V1ZG9fcmVncyAoZ2RiYXJjaCwgbnVtX3BzZXVkb3MpOw0KPiAg ICAgICBzZXRfZ2RiYXJjaF9wc2V1ZG9fcmVnaXN0ZXJfcmVhZCAoZ2RiYXJjaCwgYXJtX3BzZXVk b19yZWFkKTsNCj4gICAgICAgc2V0X2dkYmFyY2hfcHNldWRvX3JlZ2lzdGVyX3dyaXRlIChnZGJh cmNoLCBhcm1fcHNldWRvX3dyaXRlKTsNCj4gQEAgLTk1OTUsNiArOTcxOSwxNCBAQCBhcm1fZHVt cF90ZGVwIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHVpX2ZpbGUgKmZpbGUpDQo+ IAkJICAgICAgKGludCkgdGRlcC0+cV9wc2V1ZG9fY291bnQpOw0KPiAgIGZwcmludGZfdW5maWx0 ZXJlZCAoZmlsZSwgXygiYXJtX2R1bXBfdGRlcDogaGF2ZV9uZW9uID0gJWlcbiIpLA0KPiAJCSAg ICAgIChpbnQpIHRkZXAtPmhhdmVfbmVvbik7DQo+ICsgIGZwcmludGZfdW5maWx0ZXJlZCAoZmls ZSwgXygiYXJtX2R1bXBfdGRlcDogaGF2ZV9tdmUgPSAlc1xuIiksDQo+ICsJCSAgICAgIHRkZXAt PmhhdmVfbXZlPyAieWVzIiA6ICJubyIpOw0KPiArICBmcHJpbnRmX3VuZmlsdGVyZWQgKGZpbGUs IF8oImFybV9kdW1wX3RkZXA6IG12ZV92cHJfcmVnbnVtID0gJWlcbiIpLA0KPiArCQkgICAgICB0 ZGVwLT5tdmVfdnByX3JlZ251bSk7DQo+ICsgIGZwcmludGZfdW5maWx0ZXJlZCAoZmlsZSwgXygi YXJtX2R1bXBfdGRlcDogbXZlX3BzZXVkb19iYXNlID0gJWlcbiIpLA0KPiArCQkgICAgICB0ZGVw LT5tdmVfcHNldWRvX2Jhc2UpOw0KPiArICBmcHJpbnRmX3VuZmlsdGVyZWQgKGZpbGUsIF8oImFy bV9kdW1wX3RkZXA6IG12ZV9wc2V1ZG9fY291bnQgPSAlaVxuIiksDQo+ICsJCSAgICAgIHRkZXAt Pm12ZV9wc2V1ZG9fY291bnQpOw0KPiAgIGZwcmludGZfdW5maWx0ZXJlZCAoZmlsZSwgXygiYXJt X2R1bXBfdGRlcDogTG93ZXN0IHBjID0gMHglbHhcbiIpLA0KPiAJCSAgICAgICh1bnNpZ25lZCBs b25nKSB0ZGVwLT5sb3dlc3RfcGMpOw0KPiB9DQo+IGRpZmYgLS1naXQgYS9nZGIvYXJtLXRkZXAu aCBiL2dkYi9hcm0tdGRlcC5oDQo+IGluZGV4IDYxNGMxYTAwYWI2Li40NjY0YmU2MjllYSAxMDA2 NDQNCj4gLS0tIGEvZ2RiL2FybS10ZGVwLmgNCj4gKysrIGIvZ2RiL2FybS10ZGVwLmgNCj4gQEAg LTExNSw2ICsxMTUsMTEgQEAgc3RydWN0IGdkYmFyY2hfdGRlcA0KPiAJCQkJICAgcmVnaXN0ZXJz LiAgKi8NCj4gICBib29sIGhhdmVfbmVvbjsJCS8qIERvIHdlIGhhdmUgYSBORU9OIHVuaXQ/ICAq Lw0KPiANCj4gKyAgYm9vbCBoYXZlX212ZTsJCS8qIERvIHdlIGhhdmUgYSBNVkUgZXh0ZW5zaW9u PyAgKi8NCj4gKyAgaW50IG12ZV92cHJfcmVnbnVtOwkJLyogTVZFIFZQUiByZWdpc3RlciBudW1i ZXIuICAqLw0KPiArICBpbnQgbXZlX3BzZXVkb19iYXNlOwkJLyogTnVtYmVyIG9mIHRoZSBmaXJz dCBNVkUgcHNldWRvIHJlZ2lzdGVyLiAgKi8NCj4gKyAgaW50IG12ZV9wc2V1ZG9fY291bnQ7CQkv KiBUb3RhbCBudW1iZXIgb2YgTVZFIHBzZXVkbyByZWdpc3RlcnMuICAqLw0KPiArDQo+ICAgYm9v bCBpc19tOwkJCS8qIERvZXMgdGhlIHRhcmdldCBmb2xsb3cgdGhlICJNIiBwcm9maWxlLiAgKi8N Cj4gICBDT1JFX0FERFIgbG93ZXN0X3BjOwkJLyogTG93ZXN0IGFkZHJlc3MgYXQgd2hpY2ggaW5z dHJ1Y3Rpb25zIA0KPiAJCQkJICAgd2lsbCBhcHBlYXIuICAqLw0KPiBkaWZmIC0tZ2l0IGEvZ2Ri L2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGluZm8NCj4gaW5kZXggYzE1NmExZDY3 MzkuLjdlZTc1MDhiZDhlIDEwMDY0NA0KPiAtLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvDQo+ICsr KyBiL2dkYi9kb2MvZ2RiLnRleGluZm8NCj4gQEAgLTQ2MjEzLDYgKzQ2MjEzLDE3IEBAIGFuZCBA c2FtcHt4cHNyfS4NCj4gVGhlIEBzYW1we29yZy5nbnUuZ2RiLmFybS5mcGF9IGZlYXR1cmUgaXMg b3B0aW9uYWwuICBJZiBwcmVzZW50LCBpdA0KPiBzaG91bGQgY29udGFpbiByZWdpc3RlcnMgQHNh bXB7ZjB9IHRocm91Z2ggQHNhbXB7Zjd9IGFuZCBAc2FtcHtmcHN9Lg0KPiANCj4gK1RoZSBAc2Ft cHtvcmcuZ251LmdkYi5hcm0ubS1wcm9maWxlLW12ZX0gZmVhdHVyZSBpcyBvcHRpb25hbC4gIElm IHByZXNlbnQsIGl0DQo+ICttdXN0IGNvbnRhaW4gcmVnaXN0ZXIgQHNhbXB7dnByfS4NCj4gKw0K PiArSWYgdGhlIEBzYW1we29yZy5nbnUuZ2RiLmFybS5tLXByb2ZpbGUtbXZlfSBmZWF0dXJlIGlz IGF2YWlsYWJsZSwgQHZhbHVle0dEQk59DQo+ICt3aWxsIHN5bnRoZXNpemUgdGhlIEBzYW1we3Aw fSBwc2V1ZG8gcmVnaXN0ZXIgZnJvbSBAc2FtcHt2cHJ9IGNvbnRlbnRzLg0KPiArDQo+ICtJZiB0 aGUgQHNhbXB7b3JnLmdudS5nZGIuYXJtLnZmcH0gZmVhdHVyZSBpcyBhdmFpbGFibGUgYWxvbmdz aWRlIHRoZQ0KPiArQHNhbXB7b3JnLmdudS5nZGIuYXJtLm0tcHJvZmlsZS1tdmV9IGZlYXR1cmUs IEB2YWx1ZXtHREJOfSB3aWxsDQo+ICtzeW50aGVzaXplIHRoZSBAc2FtcHtxfSBwc2V1ZG8gcmVn aXN0ZXJzIGZyb20gQHNhbXB7ZH0gcmVnaXN0ZXINCj4gK2NvbnRlbnRzLg0KPiArDQo+IFRoZSBA c2FtcHtvcmcuZ251LmdkYi54c2NhbGUuaXdtbXh0fSBmZWF0dXJlIGlzIG9wdGlvbmFsLiAgSWYg cHJlc2VudCwNCj4gaXQgc2hvdWxkIGNvbnRhaW4gYXQgbGVhc3QgcmVnaXN0ZXJzIEBzYW1we3dS MH0gdGhyb3VnaCBAc2FtcHt3UjE1fSBhbmQNCj4gQHNhbXB7d0NHUjB9IHRocm91Z2ggQHNhbXB7 d0NHUjN9LiAgVGhlIEBzYW1we3dDSUR9LCBAc2FtcHt3Q29ufSwNCj4gZGlmZiAtLWdpdCBhL2dk Yi9mZWF0dXJlcy9NYWtlZmlsZSBiL2dkYi9mZWF0dXJlcy9NYWtlZmlsZQ0KPiBpbmRleCBhYTM4 ZDE3NjUzOS4uZTQ3OGJmODM4YjcgMTAwNjQ0DQo+IC0tLSBhL2dkYi9mZWF0dXJlcy9NYWtlZmls ZQ0KPiArKysgYi9nZGIvZmVhdHVyZXMvTWFrZWZpbGUNCj4gQEAgLTIwMyw2ICsyMDMsNyBAQCBG RUFUVVJFX1hNTEZJTEVTID0gYWFyY2g2NC1jb3JlLnhtbCBcDQo+IAlhcm0vYXJtLWNvcmUueG1s IFwNCj4gCWFybS9hcm0tZnBhLnhtbCBcDQo+IAlhcm0vYXJtLW0tcHJvZmlsZS54bWwgXA0KPiAr CWFybS9hcm0tbS1wcm9maWxlLW12ZS54bWwgXA0KPiAJYXJtL2FybS1tLXByb2ZpbGUtd2l0aC1m cGEueG1sIFwNCj4gCWFybS9hcm0tdmZwdjIueG1sIFwNCj4gCWFybS9hcm0tdmZwdjMueG1sIFwN Cj4gZGlmZiAtLWdpdCBhL2dkYi9mZWF0dXJlcy9hcm0vYXJtLW0tcHJvZmlsZS1tdmUuYyBiL2dk Yi9mZWF0dXJlcy9hcm0vYXJtLW0tcHJvZmlsZS1tdmUuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uNTMyYWUzYmExZDENCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9nZGIvZmVhdHVyZXMvYXJtL2FybS1tLXByb2ZpbGUtbXZlLmMNCj4gQEAgLTAsMCArMSwy MCBAQA0KPiArLyogVEhJUyBGSUxFIElTIEdFTkVSQVRFRC4gIC0qLSBidWZmZXItcmVhZC1vbmx5 OiB0IC0qLSB2aTpzZXQgcm86DQo+ICsgIE9yaWdpbmFsOiBhcm0tbS1wcm9maWxlLW12ZS54bWwg Ki8NCj4gKw0KPiArI2luY2x1ZGUgImdkYnN1cHBvcnQvdGRlc2MuaCINCj4gKw0KPiArc3RhdGlj IGludA0KPiArY3JlYXRlX2ZlYXR1cmVfYXJtX2FybV9tX3Byb2ZpbGVfbXZlIChzdHJ1Y3QgdGFy Z2V0X2Rlc2MgKnJlc3VsdCwgbG9uZyByZWdudW0pDQo+ICt7DQo+ICsgIHN0cnVjdCB0ZGVzY19m ZWF0dXJlICpmZWF0dXJlOw0KPiArDQo+ICsgIGZlYXR1cmUgPSB0ZGVzY19jcmVhdGVfZmVhdHVy ZSAocmVzdWx0LCAib3JnLmdudS5nZGIuYXJtLm0tcHJvZmlsZS1tdmUiKTsNCj4gKyAgdGRlc2Nf dHlwZV93aXRoX2ZpZWxkcyAqdHlwZV93aXRoX2ZpZWxkczsNCj4gKyAgdHlwZV93aXRoX2ZpZWxk cyA9IHRkZXNjX2NyZWF0ZV9mbGFncyAoZmVhdHVyZSwgInZwcl9yZWciLCA0KTsNCj4gKyAgdGRl c2NfYWRkX2JpdGZpZWxkICh0eXBlX3dpdGhfZmllbGRzLCAiUDAiLCAwLCAxNSk7DQo+ICsgIHRk ZXNjX2FkZF9iaXRmaWVsZCAodHlwZV93aXRoX2ZpZWxkcywgIk1BU0swMSIsIDE2LCAxOSk7DQo+ ICsgIHRkZXNjX2FkZF9iaXRmaWVsZCAodHlwZV93aXRoX2ZpZWxkcywgIk1BU0syMyIsIDIwLCAy Myk7DQo+ICsNCj4gKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInZwciIsIHJlZ251bSsr LCAxLCBOVUxMLCAzMiwgInZwcl9yZWciKTsNCj4gKyAgcmV0dXJuIHJlZ251bTsNCj4gK30NCj4g ZGlmZiAtLWdpdCBhL2dkYi9mZWF0dXJlcy9hcm0vYXJtLW0tcHJvZmlsZS1tdmUueG1sIGIvZ2Ri L2ZlYXR1cmVzL2FybS9hcm0tbS1wcm9maWxlLW12ZS54bWwNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLmNiYTY2NGM0YzViDQo+IC0tLSAvZGV2L251bGwNCj4g KysrIGIvZ2RiL2ZlYXR1cmVzL2FybS9hcm0tbS1wcm9maWxlLW12ZS54bWwNCj4gQEAgLTAsMCAr MSwxOSBAQA0KPiArPD94bWwgdmVyc2lvbj0iMS4wIj8+DQo+ICs8IS0tIENvcHlyaWdodCAoQykg MjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCj4gKw0KPiArICAgICBDb3B5aW5n IGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0 aW9uLA0KPiArICAgICBhcmUgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lhbHR5 IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQNCj4gKyAgICAgbm90aWNlIGFuZCB0aGlzIG5vdGljZSBh cmUgcHJlc2VydmVkLiAgLS0+DQo+ICsNCj4gKzwhRE9DVFlQRSBmZWF0dXJlIFNZU1RFTSAiZ2Ri LXRhcmdldC5kdGQiPg0KPiArPGZlYXR1cmUgbmFtZT0ib3JnLmdudS5nZGIuYXJtLm0tcHJvZmls ZS1tdmUiPg0KPiArICA8ZmxhZ3MgaWQ9InZwcl9yZWciIHNpemU9IjQiPg0KPiArICAgIDwhLS0g QVJNdjguMS1NIGFuZCBNVkU6IFVucHJpdmlsZWdlZCBhbmQgcHJpdmlsZWdlZCBBY2Nlc3MuICAt LT4NCj4gKyAgICA8ZmllbGQgbmFtZT0iUDAiIHN0YXJ0PSIwIiBlbmQ9IjE1Ii8+DQo+ICsgICAg PCEtLSBBUk12OC4xLU06IFByaXZpbGVnZWQgQWNjZXNzIG9ubHkuICAtLT4NCj4gKyAgICA8Zmll bGQgbmFtZT0iTUFTSzAxIiBzdGFydD0iMTYiIGVuZD0iMTkiLz4NCj4gKyAgICA8IS0tIEFSTXY4 LjEtTTogUHJpdmlsZWdlZCBBY2Nlc3Mgb25seS4gIC0tPg0KPiArICAgIDxmaWVsZCBuYW1lPSJN QVNLMjMiIHN0YXJ0PSIyMCIgZW5kPSIyMyIvPg0KPiArICA8L2ZsYWdzPg0KPiArICA8cmVnIG5h bWU9InZwciIgYml0c2l6ZT0iMzIiIHR5cGU9InZwcl9yZWciLz4NCj4gKzwvZmVhdHVyZT4NCj4g LS0gDQo+IDIuMjUuMQ0KPiANCg0K