From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id WL2uHbURbl+0IQAAWB0awg (envelope-from ) for ; Fri, 25 Sep 2020 11:50:13 -0400 Received: by simark.ca (Postfix, from userid 112) id 763BE1EF4B; Fri, 25 Sep 2020 11:50:13 -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,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 7C7021EE0F for ; Fri, 25 Sep 2020 11:50:09 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 30A21396ECFA; Fri, 25 Sep 2020 15:50:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 30A21396ECFA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1601049009; bh=nP7O+cVNuRFXBzIaQJyMldoT/ADMtegkr4JuuzI9/DY=; h=To:Subject:Date:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ptEiPZpi7Obh2p2WFqyZcuMn87g8gC/AdTR8XQi9Jpo1yH+LJTSZQHQGvwjyK8OIW onIWAoub1LR8FGZcci8nZ0iLuh0QweWAkH5gcdNsOR9buMrDeJ+MLmjfdaI4w1gTh+ cBe5hdOq2QToWteutgBaI/ASD3ukarDgmOJSeWPo= Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id 4F8B13857820 for ; Fri, 25 Sep 2020 15:50:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4F8B13857820 IronPort-SDR: Rzz93l8g4itvMcaWIstc8hMAAvlqwNl2GIUjRnRPIdR9jhoLYqIPbeEMvdM3TIpnfdOD80EyMM qQdU/9coXx9g== X-IronPort-AV: E=McAfee;i="6000,8403,9755"; a="158919305" X-IronPort-AV: E=Sophos;i="5.77,302,1596524400"; d="scan'208";a="158919305" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Sep 2020 08:49:58 -0700 IronPort-SDR: 1iJxo8DMs5GnVBoUzxN0YoyBzrc9DOLNWA/43SgnHR99OgwpWErXAbbSDvSopUijHxz6XTW20a ZT7RhOlCcJcQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,302,1596524400"; d="scan'208";a="348436345" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by FMSMGA003.fm.intel.com with ESMTP; 25 Sep 2020 08:49:58 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 25 Sep 2020 08:49:57 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 25 Sep 2020 08:49:57 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.104) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 25 Sep 2020 08:49:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mi9ck1o/jNfD8t3s6Lw0BT1tibCAEkW1kHfXGhZ3OXlW5Wo9amc007EbJGnb4C59+sWiEdg3ZDQ3NXKM7BcqbedYfnDqWPj41hj5y+XKEp6/991n6uRORQAEZ5MarZ4DhFex42CY+I0zCPb3xHlfBMNMEQTwMveDVRiaSibhSDoZyiKvk1S4VKkhAbOY5Df9LUnVwKiAxkRooy6R6yduoTtx4uuP+On4PWGSr8dF3QmCB1zDwFZNx9YKG4NeHlWJGU3GoqzrffC2LSve2Yna6t2mD0Y+zGpXXeaZ+tqbBOakWXeo9MExGIFbar65JslyigcueIIhJ3+KO6TfQp6yYg== 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=77Zy3uR5l91e4iLyrJ0jEo6iyRppYmzDOWfK5zQlS6I=; b=L1u3cDwm7UNRBv46KyLyb9ioSJDxhyZ8z8IrMG0vziH44wub2E3JUv2CEq0aKT1fBQKFm1bEqrTSyPJKv5MTnJnq269+pYq/TEsnWim0DztRPCSnJNrvAWHpXa3lF2yIVPZf3q5ZvVO5tMqmlL6DG9E7Y0n3n/HurtKfob6ST1rXLVjBV4lz3AFYsJ+q/ogINuUnByC9PgIS/IlVsiUL8E6vAmE2Wv+WD5iFxTdNNwP84fZiocYsOk55nBDyYoR+1xnrjFjkstOiiDXwyolhpBAr7KmM3QaE+HnL9ZKv/s1nTvCgC701DIcMudrh/f6yiECHSIUFsoR1gQfqq1/ulw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SN6PR11MB2893.namprd11.prod.outlook.com (2603:10b6:805:dc::23) by SN6PR11MB2557.namprd11.prod.outlook.com (2603:10b6:805:56::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.14; Fri, 25 Sep 2020 15:49:52 +0000 Received: from SN6PR11MB2893.namprd11.prod.outlook.com ([fe80::6d65:2516:9cda:71b5]) by SN6PR11MB2893.namprd11.prod.outlook.com ([fe80::6d65:2516:9cda:71b5%3]) with mapi id 15.20.3391.027; Fri, 25 Sep 2020 15:49:52 +0000 To: Simon Marchi , "gdb-patches@sourceware.org" Subject: RE: [PATCH v2 1/2] gdb/breakpoint: disable a bp location if condition is invalid at that location Thread-Topic: [PATCH v2 1/2] gdb/breakpoint: disable a bp location if condition is invalid at that location Thread-Index: AQHWdzhfwC49i6JCJkGS7gLPygWSL6lvdQaAgAnI7tA= Date: Fri, 25 Sep 2020 15:49:52 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action x-originating-ip: [90.186.34.242] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0246895a-1658-4820-4908-08d8616aa456 x-ms-traffictypediagnostic: SN6PR11MB2557: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4303; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qq8VasqD0b1rrOhl0Rnfafmt/9AEzLqgBMUVPM7AYt2PPW8pzusPcNPtSM7Zt1h9fVDoGxHwBajIsDttyoRfhvcpkg9huG0P6V716HVHqkZeYiobP5Z+IOnaaNtpm3snctPyAXdr/WaX2ggX6SSn8nFrk7/copfOypFk5VH3HmOHOXNE8qCqNiwpkTOPJuRPIlgIsXYfaRWRl3pv2J4jU3rbI+tTKyc4JJYhCc895we1VPBMz2ZzwnDYNkPzCh1hGkhCmYG9RpjOW1x3dty2k4fGsSTJLxVdeStx8yDtckGaBRXiggNXo0ZMv1DcL5bzo1B1PgVLVpt/LMias8gTxA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB2893.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(39860400002)(346002)(376002)(366004)(136003)(8936002)(6506007)(316002)(71200400001)(55016002)(9686003)(186003)(26005)(53546011)(110136005)(86362001)(5660300002)(66556008)(8676002)(2906002)(83380400001)(478600001)(76116006)(64756008)(30864003)(52536014)(66476007)(66946007)(33656002)(66446008)(7696005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: HP1RfOou1b5Y5rlUsioIvCZ9Lt4y4ujPdBm9g+mJDl8y7msBawWUvcLb4EybYbV6rI9utjg3olgBfePVRsz0av9cjQsHHzSNa/QL6bqc8AJ4hC850edXWa/0I6YDGy14LZjLTruKpGY+PpN6Y+a0zghDYt+gStKEA4QwRVFX8ht0h6CGe2SH2DtumdpCRJiX2bR+juQ3WbzevZHL3pn4h0nmHi3mcwETAqskwrsylWztoauDCFTLNJp7LTaZe2ZZhyG3JejyrMPQKL/v+5NevKuBkEqAIlUzT2JQifvWOvXZMNApVZOsawVN+9hln4CfjbYO9jQDY8O4dvRx/d3W8S1Jg+7PwJr/cqe2vK0njGHvbOG/Aay/6o8Z5Ibl8rAHFMj/i+DX38FYPQ0Pl+AbLrwrrRlsVqXtFEbbHbq0TVZs64kBjWLX1mY2tjFMOhpJRkyAGZVqMKgiaoT90aoMteicoJ0VkyycT/0gv7qeiZ2LJWEp7EUm3pT9giA7y8A/wY+4Dqp4hSsGUhK4O++oB6pQcI4n2CNUIqm9sxXpYq1HOhSMlk/82aSwHHPoSJlPyQ7Os3JLj97dA8Btih2bdnQD74PamLaYFUPSbgJOX/zDJ8q5g+6ALsj+OkHTpmT9Y4I3cYML8BTuW0YULdBtaw== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2893.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0246895a-1658-4820-4908-08d8616aa456 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Sep 2020 15:49:52.2702 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ABOc1QLnKdmFCqoYWFUzhjQiSeHstujnmhG3d9F/WtrAybuAIQG0WLUGY+Gy3sYwHPFsSMT+c+84ZBE/ss/RdyUKiiN4sSRxHNNGRRAoi44= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2557 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 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: "Aktemur, Tankut Baris via Gdb-patches" Reply-To: "Aktemur, Tankut Baris" Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" T24gU2F0dXJkYXksIFNlcHRlbWJlciAxOSwgMjAyMCA1OjA2IEFNLCBTaW1vbiBNYXJjaGkgd3Jv dGU6DQo+IEhpIEJhcmlzLA0KPiANCj4gSSBkb24ndCBoYXZlIG11Y2ggdGltZSByaWdodCBub3cs IGJ1dCBJIGFsc28gZG9uJ3Qgd2FudCB0byBkZWxheSBsb29raW5nDQo+IGF0IHRoaXMgZnVydGhl ciwgc28gaGVyZSBhcmUgYSBmZXcgY29tbWVudHMuICBPdmVyYWxsLCBJIHRoaW5rIHRoYXQgdGhp cw0KPiBpcyB2ZXJ5IHdlbGwgdGhvdWdodCB0aHJvdWdoIGFuZCBJIGxpa2UgdGhlIGJlaGF2aW9y Lg0KPiANCj4gT24gMjAyMC0wOC0yMCA1OjI0IHAubS4sIFRhbmt1dCBCYXJpcyBBa3RlbXVyIHZp YSBHZGItcGF0Y2hlcyB3cm90ZToNCj4gPiBDdXJyZW50bHksIGZvciBhIGNvbmRpdGlvbmFsIGJy ZWFrcG9pbnQsIEdEQiBjaGVja3MgaWYgdGhlIGNvbmRpdGlvbg0KPiA+IGNhbiBiZSBldmFsdWF0 ZWQgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGZpcnN0IHN5bXRhYiBhbmQgbGluZSAoU0FMKS4NCj4g PiBJbiBjYXNlIG9mIGFuIGVycm9yLCBkZWZpbmluZyB0aGUgY29uZGl0aW9uYWwgYnJlYWtwb2lu dCBpcyBhYm9ydGVkLg0KPiA+IFRoaXMgcHJldmVudHMgaGF2aW5nIGEgY29uZGl0aW9uYWwgYnJl YWtwb2ludCB3aG9zZSBjb25kaXRpb24gbWF5DQo+ID4gYWN0dWFsbHkgYmUgbWVhbmluZ2Z1bCBm b3Igc29tZSBvZiB0aGUgbG9jYXRpb24gY29udGV4dHMuICBUaGlzIHBhdGNoDQo+ID4gbWFrZXMg aXQgcG9zc2libGUgdG8gZGVmaW5lIGNvbmRpdGlvbmFsIEJQcyBieSBjaGVja2luZyBhbGwgbG9j YXRpb24NCj4gPiBjb250ZXh0cy4gIElmIHRoZSBjb25kaXRpb24gaXMgbWVhbmluZ2Z1bCBmb3Ig ZXZlbiBvbmUgY29udGV4dCwgdGhlDQo+ID4gYnJlYWtwb2ludCBpcyBkZWZpbmVkLiAgVGhlIGxv Y2F0aW9ucyBmb3Igd2hpY2ggdGhlIGNvbmRpdGlvbiBnaXZlcw0KPiA+IGVycm9ycyBhcmUgZGlz YWJsZWQuDQo+ID4NCj4gPiBUaGUgYnBfbG9jYXRpb24gc3RydWN0IGlzIGludHJvZHVjZWQgYSBu ZXcgZmllbGQsICdkaXNhYmxlZF9ieV9jb25kJy4NCj4gPiBUaGlzIGZpZWxkIGRlbm90ZXMgd2hl dGhlciB0aGUgbG9jYXRpb24gaXMgZGlzYWJsZWQgYXV0b21hdGljYWxseQ0KPiA+IGJlY2F1c2Ug dGhlIGNvbmRpdGlvbiB3YXMgbm9uLWV2YWx1YXRhYmxlLiAgRGlzYWJsZWQtYnktY29uZCBsb2Nh dGlvbnMNCj4gPiBjYW5ub3QgYmUgZW5hYmxlZCBieSB0aGUgdXNlci4gIEJ1dCBsb2NhdGlvbnMg dGhhdCBhcmUgbm90DQo+ID4gZGlzYWJsZWQtYnktY29uZCBjYW4gYmUgZW5hYmxlZC9kaXNhYmxl ZCBieSB0aGUgdXNlciBtYW51YWxseSBhcw0KPiA+IGJlZm9yZS4NCj4gPg0KPiA+IEZvciBhIGNv bmNyZXRlIGV4YW1wbGUsIGNvbnNpZGVyIDMgY29udGV4dHM7IGZ1bmMxLCBmdW5jMiwgYW5kIGZ1 bmMzLg0KPiA+IEVhY2ggY29udGV4dCBjb250YWlucyBpbnN0cnVjdGlvbnMgY29taW5nIGZyb20g dGhlIHNhbWUgc291cmNlLg0KPiA+IEZvciBpbnN0YW5jZToNCj4gPg0KPiA+ICAgdm9pZA0KPiA+ ICAgZnVuYzEgKGludCAqdmFsdWUpDQo+ID4gICB7DQo+ID4gICAgIGludCBhID0gMTA7DQo+ID4g ICAgIHZhbHVlICs9IGE7DQo+ID4gICAgIGludCBiID0gMTsNCj4gPiAgICNpbmNsdWRlICJpbmNs dWRlZC5jIg0KPiA+ICAgfQ0KPiA+DQo+ID4gICB2b2lkDQo+ID4gICBmdW5jMiAoaW50ICp2YWx1 ZSkNCj4gPiAgIHsNCj4gPiAgICAgaW50IGIgPSAyOw0KPiA+ICAgI2luY2x1ZGUgImluY2x1ZGVk LmMiDQo+ID4gICB9DQo+ID4NCj4gPiAgIHZvaWQNCj4gPiAgIGZ1bmMzIChpbnQgKnZhbHVlKQ0K PiA+ICAgew0KPiA+ICAgICBpbnQgYyA9IDMwOw0KPiA+ICAgICB2YWx1ZSArPSBjOw0KPiA+ICAg ICBpbnQgYiA9IDM7DQo+ID4gICAjaW5jbHVkZSAiaW5jbHVkZWQuYyINCj4gPiAgIH0NCj4gDQo+ IEEgQysrIGV4YW1wbGUgd2l0aCBvdmVybG9hZGVkIGZ1bmN0aW9ucyB3b3VsZCBiZSBzaW1wbGVy IHRvIHVuZGVyc3RhbmQsDQo+IEkgdGhpbmsuDQoNCkkgY2hhbmdlZCB0aGUgZXhhbXBsZSBpbiB0 aGUgY29tbWl0IG1lc3NhZ2UgYW5kIHRoZSB0ZXN0IHRvIHVzZSB0aGUgZm9sbG93aW5nOg0KDQog IGNsYXNzIEJhc2UNCiAgew0KICBwdWJsaWM6DQogICAgaW50IGIgPSAyMDsNCg0KICAgIHZvaWQg ZnVuYyAoKSB7fQ0KICB9Ow0KDQogIGNsYXNzIEEgOiBwdWJsaWMgQmFzZQ0KICB7DQogIHB1Ymxp YzoNCiAgICBpbnQgYSA9IDEwOw0KDQogICAgdm9pZCBmdW5jICgpIHt9DQogIH07DQoNCiAgY2xh c3MgQyA6IHB1YmxpYyBCYXNlDQogIHsNCiAgcHVibGljOg0KICAgIGludCBjID0gMzA7DQoNCiAg ICB2b2lkIGZ1bmMgKCkge30NCiAgfTsNCg0KPiANCj4gPg0KPiA+IE5vdGUgdGhhdA0KPiA+DQo+ ID4gKiB0aGUgdmFyaWFibGUgJ2EnIGlzIGRlZmluZWQgb25seSBpbiB0aGUgY29udGV4dCBkZWZp bmVkIGJ5IGZ1bmMxLg0KPiA+ICogdGhlIHZhcmlhYmxlICdjJyBpcyBkZWZpbmVkIG9ubHkgaW4g dGhlIGNvbnRleHQgZGVmaW5lZCBieSBmdW5jMy4NCj4gPiAqIHRoZSB2YXJpYWJsZSAnYicgaXMg ZGVmaW5lZCBpbiBhbGwgdGhlIHRocmVlIGNvbnRleHRzLg0KPiA+DQo+ID4gV2l0aCB0aGUgZXhp c3RpbmcgR0RCLCBpdCdzIG5vdCBwb3NzaWJsZSB0byBkZWZpbmUgYSBjb25kaXRpb25hbA0KPiA+ IGJyZWFrcG9pbnQgYXQgImluY2x1ZGVkLmM6MSIgaWYgdGhlIGNvbmRpdGlvbiByZWZlcnMgdG8g J2EnIG9yICdjJzoNCj4gPg0KPiA+ICAgKGdkYikgYnJlYWsgaW5jbHVkZWQuYzoxIGlmIGEgPT0g MTANCj4gPiAgIE5vIHN5bWJvbCAiYSIgaW4gY3VycmVudCBjb250ZXh0Lg0KPiA+ICAgKGdkYikg YnJlYWsgaW5jbHVkZWQuYzoxIGlmIGMgPT0gMzANCj4gPiAgIE5vIHN5bWJvbCAiYyIgaW4gY3Vy cmVudCBjb250ZXh0Lg0KPiA+ICAgKGdkYikgaW5mbyBicmVha3BvaW50cw0KPiA+ICAgTm8gYnJl YWtwb2ludHMgb3Igd2F0Y2hwb2ludHMuDQo+ID4NCj4gPiBXaXRoIHRoaXMgcGF0Y2gsIGl0IGJl Y29tZXMgcG9zc2libGU6DQo+ID4NCj4gPiAgIChnZGIpIGJyZWFrIGluY2x1ZGVkLmM6MSBpZiBh ID09IDEwDQo+ID4gICB3YXJuaW5nOiBkaXNhYmxpbmcgYnJlYWtwb2ludCBsb2NhdGlvbiAyOiBO byBzeW1ib2wgImEiIGluIGN1cnJlbnQgY29udGV4dC4NCj4gPiAgIHdhcm5pbmc6IGRpc2FibGlu ZyBicmVha3BvaW50IGxvY2F0aW9uIDM6IE5vIHN5bWJvbCAiYSIgaW4gY3VycmVudCBjb250ZXh0 Lg0KPiANCj4gVGhvdWdoIGl0IHdvdWxkIG1ha2UgdGhlIG1lc3NhZ2UgYSBiaXQgbG9uZ2VyLCBJ IHRoaW5rIGl0IHdvdWxkIGJlDQo+IGltcG9ydGFudCB0byBtZW50aW9uIGluIGl0IHRoYXQgdGhl IGxvY2F0aW9uIGlzIGRpc2FibGVkIGJlY2F1c2UgR0RCDQo+IGZhaWxlZCB0byByZXNvbHZlIChp cyB0aGUgcmlnaHQgd29yZD8pIHRoZSBjb25kaXRpb24gYXQgdGhpcyBsb2NhdGlvbi4NCj4gDQo+ IE1vc3Qgb2YgdGhlIHRpbWUgaXQgd2lsbCBiZSBvYnZpb3VzLCBidXQgSSdtIHN1cmUgdGhhdCBp biBzb21lIGNhc2VzIGl0DQo+IHdvbid0IGJlLCBhbmQgdGhlIHVzZXIgd2lsbCBiZSB3b25kZXJp bmcgd2hhdCB0aGF0IGVycm9yIG9uIHRoZSByaWdodCBpcw0KPiBhYm91dC4gIEp1c3Qgb25lIGV4 YW1wbGUsIGlmIHRoZSBjb25kaXRpb24gZXhwcmVzc2lvbiBpbnZvbHZlcyBhIG1hY3JvDQo+IHRo YXQgaGlkZXMgc29tZSBpZGVudGlmaWVyczoNCj4gDQo+ICAgI2RlZmluZSBTT01FX0VYUFIgcw0K PiANCj4gYW5kDQo+IA0KPiAgIChnZGIpIGIgYmFyIGlmIFNPTUVfRVhQUg0KPiAgIHdhcm5pbmc6 IGRpc2FibGluZyBicmVha3BvaW50IGxvY2F0aW9uIDI6IE5vIHN5bWJvbCAicyIgaW4gY3VycmVu dCBjb250ZXh0Lg0KPiAgIEJyZWFrcG9pbnQgMSBhdCAweDExMjA6IGJhci4gKDIgbG9jYXRpb25z KQ0KPiAgIChnZGIpIGkgYg0KPiAgIE51bSAgICAgVHlwZSAgICAgICAgICAgRGlzcCBFbmIgQWRk cmVzcyAgICAgICAgICAgIFdoYXQNCj4gICAxICAgICAgIGJyZWFrcG9pbnQgICAgIGtlZXAgeSAg IDxNVUxUSVBMRT4NCj4gICAgICAgICAgIHN0b3Agb25seSBpZiBTT01FX0VYUFINCj4gICAxLjEg ICAgICAgICAgICAgICAgICAgICAgICAgbiAgIDB4MDAwMDAwMDAwMDAwMTEyMCBpbiBiYXIoaW50 KSBhdCB0ZXN0LmM6MTENCj4gICAxLjIgICAgICAgICAgICAgICAgICAgICAgICAgeSAgIDB4MDAw MDAwMDAwMDAwMTEyYiBpbiBiYXIoY2hhciBjb25zdCopIGF0IHRlc3QuYzoxNQ0KPiANCj4gSSdt IG5vdCBzdXJlIHdoYXQgZm9ybWF0IGlzIGJldHRlcjoNCj4gDQo+ICAgd2FybmluZzogZmFpbGVk IHRvIHJlc29sdmUgY29uZGl0aW9uIGF0IGxvY2F0aW9uIDIsIGRpc2FiaW5nOiBObyBzeW1ib2wg ImEiIGluIGN1cnJlbnQNCj4gY29udGV4dC4NCj4gDQo+IHZzDQo+IA0KPiAgIGRpc2FibGluZyBi cmVha3BvaW50IGxvY2F0aW9uIDI6IGZhaWxlZCB0byByZXNvbHZlIGNvbmRpdGlvbjogTm8gc3lt Ym9sICJhIiBpbiBjdXJyZW50DQo+IGNvbnRleHQuDQo+IA0KPiB2cw0KPiANCj4gICB3YXJuaW5n OiBmYWlsZWQgdG8gcmVzb2x2ZSBjb25kaXRpb24gYXQgbG9jYXRpb24gMjogTm8gc3ltYm9sICJh IiBpbiBjdXJyZW50IGNvbnRleHQuDQo+ICAgd2FybmluZzogZGlzYWJsaW5nIGJyZWFrcG9pbnQg bG9jYXRpb24gMi4NCj4gDQo+IEl0J3MgYSBiaXQgYW5ub3lpbmcgdGhhdCB0aGUgZXhjZXB0aW9u IG1lc3NhZ2UgaXMgY2FwaXRhbGl6ZWQgYW5kIGhhcyBhDQo+IHBlcmlvZCwgb3RoZXJ3aXNlIHRo aXMgd291bGQgaGF2ZSBiZWVuIGEgZ29vZCBjYW5kaWRhdGU6DQo+IA0KPiAgIHdhcm5pbmc6IGZh aWxlZCB0byByZXNvbHZlIGNvbmRpdGlvbiBhdCBsb2NhdGlvbiAyIChubyBzeW1ib2wgImEiIGlu IGN1cnJlbnQgY29udGV4dCksDQo+IGRpc2FibGluZy4NCg0KV2hpbGUgcmV2aXNpbmcgdGhlIGNv ZGUsIEkgbm90aWNlZCB0aGF0IHdoZW4gdGhlIGJyZWFrcG9pbnQgaXMgYmVpbmcgZGVmaW5lZCBm b3IgDQp0aGUgZmlyc3QgdGltZSB1c2luZyAiYnJlYWsiIGNvbW1hbmQsIHRoZSBsb2NhdGlvbnMg YXJlIHJlLW9yZGVyZWQgYWNjb3JkaW5nIHRvDQp0aGVpciBhZGRyZXNzZXMuICBTbywgdHJhY2tp bmcgYW5kIHJlcG9ydGluZyB0aGUgbG9jYXRpb24gbnVtYmVyIGFzIHdlIGl0ZXJhdGUgb3Zlcg0K U0FMcyBpcyB1c2VsZXNzLiAgSW5zdGVhZCwgd2UgY2FuIHJlcG9ydCB0aGUgbG9jYXRpb24gYWRk cmVzcy4NCg0KQmFzZWQgb24gdGhpcywgaG93IGFib3V0IHRoZSBmaXJzdCBvcHRpb24geW91IGdh dmUgYWJvdmUsIGJ1dCB1c2luZyAidmFsaWRhdGUiIGluc3RlYWQNCm9mICJyZXNvbHZlIj8gIEZv ciB0aGUgImJyZWFrIiBjb21tYW5kLCBpdCByZXBvcnRzIHRoZSBhZGRyZXNzIGluIGhleDoNCg0K ICB3YXJuaW5nOiBmYWlsZWQgdG8gdmFsaWRhdGUgY29uZGl0aW9uIGF0IGxvY2F0aW9uIDB4MTEy MCwgZGlzYWJsaW5nOiBObyBzeW1ib2wgImEiIGluIGN1cnJlbnQgY29udGV4dC4NCg0KQnV0IGZv ciB0aGUgImNvbmQiIGNvbW1hbmQsIHRoZSBsb2NhdGlvbiBudW1iZXIgaXMgdXNlZCBiZWNhdXNl IGl0J3Mgc3RhYmxlLg0KDQogIHdhcm5pbmc6IGZhaWxlZCB0byB2YWxpZGF0ZSBjb25kaXRpb24g YXQgbG9jYXRpb24gMiwgZGlzYWJsaW5nOiBObyBzeW1ib2wgImEiIGluIGN1cnJlbnQgY29udGV4 dC4NCg0KUGVyaGFwcyB3ZSBjYW4gYnJlYWsgdGhlIG1lc3NhZ2UgYXQgdGhlIGNvbW1hIHRvIGF2 b2lkIHRoaXMgbG9uZyBsaW5lLg0KDQo+ID4gICBCcmVha3BvaW50IDEgYXQgMHgxMTdkOiBpbmNs dWRlZC5jOjEuICgzIGxvY2F0aW9ucykNCj4gPiAgIChnZGIpIGJyZWFrIGluY2x1ZGVkLmM6MSBp ZiBjID09IDMwDQo+ID4gICBOb3RlOiBicmVha3BvaW50IDEgYWxzbyBzZXQgYXQgcGMgMHgxMTdk Lg0KPiA+ICAgd2FybmluZzogZGlzYWJsaW5nIGJyZWFrcG9pbnQgbG9jYXRpb24gMTogTm8gc3lt Ym9sICJjIiBpbiBjdXJyZW50IGNvbnRleHQuDQo+ID4gICBOb3RlOiBicmVha3BvaW50IDEgYWxz byBzZXQgYXQgcGMgMHgxMTljLg0KPiA+ICAgd2FybmluZzogZGlzYWJsaW5nIGJyZWFrcG9pbnQg bG9jYXRpb24gMjogTm8gc3ltYm9sICJjIiBpbiBjdXJyZW50IGNvbnRleHQuDQo+ID4gICBOb3Rl OiBicmVha3BvaW50IDEgYWxzbyBzZXQgYXQgcGMgMHgxMWNmLg0KPiA+ICAgQnJlYWtwb2ludCAy IGF0IDB4MTE3ZDogaW5jbHVkZWQuYzoxLiAoMyBsb2NhdGlvbnMpDQo+ID4gICAoZ2RiKSBpbmZv IGJyZWFrDQo+ID4gICBOdW0gICAgIFR5cGUgICAgICAgICAgIERpc3AgRW5iIEFkZHJlc3MgICAg ICAgICAgICBXaGF0DQo+ID4gICAxICAgICAgIGJyZWFrcG9pbnQgICAgIGtlZXAgeSAgIDxNVUxU SVBMRT4NCj4gPiAgICAgICAgICAgc3RvcCBvbmx5IGlmIGEgPT0gMTANCj4gPiAgIDEuMSAgICAg ICAgICAgICAgICAgICAgICAgICB5ICAgMHgwMDAwMDAwMDAwMDAxMTdkIGluIGZ1bmMxIGF0IGlu Y2x1ZGVkLmM6MQ0KPiA+ICAgMS4yICAgICAgICAgICAgICAgICAgICAgICAgIG4gICAweDAwMDAw MDAwMDAwMDExOWMgaW4gZnVuYzIgYXQgaW5jbHVkZWQuYzoxDQo+ID4gICAxLjMgICAgICAgICAg ICAgICAgICAgICAgICAgbiAgIDB4MDAwMDAwMDAwMDAwMTFjZiBpbiBmdW5jMyBhdCBpbmNsdWRl ZC5jOjENCj4gPiAgIDIgICAgICAgYnJlYWtwb2ludCAgICAga2VlcCB5ICAgPE1VTFRJUExFPg0K PiA+ICAgICAgICAgICBzdG9wIG9ubHkgaWYgYyA9PSAzMA0KPiA+ICAgMi4xICAgICAgICAgICAg ICAgICAgICAgICAgIG4gICAweDAwMDAwMDAwMDAwMDExN2QgaW4gZnVuYzEgYXQgaW5jbHVkZWQu YzoxDQo+ID4gICAyLjIgICAgICAgICAgICAgICAgICAgICAgICAgbiAgIDB4MDAwMDAwMDAwMDAw MTE5YyBpbiBmdW5jMiBhdCBpbmNsdWRlZC5jOjENCj4gPiAgIDIuMyAgICAgICAgICAgICAgICAg ICAgICAgICB5ICAgMHgwMDAwMDAwMDAwMDAxMWNmIGluIGZ1bmMzIGF0IGluY2x1ZGVkLmM6MQ0K PiANCj4gU2hvdWxkIHdlIHNvbWVob3cgc2hvdyBpbiB0aGUgbGlzdGluZyB0aGF0IHRoZSBsb2Nh dGlvbnMgZGlzYWJsZWQNCj4gYmVjYXVzZSBvZiB0aGUgY29uZGl0aW9uIGFyZSBkaXNhYmxlZCBh bmQgY2FuJ3QgYmUgZW5hYmxlZD8gIEZvcg0KPiBleGFtcGxlLCBhIGNhcGl0YWwgTiBpbiB0aGUg IkVuYiIgY29sdW1uPw0KDQpJIGxpa2UgdGhlIGNhcGl0YWwgTiBub3RhdGlvbi4gIFBhdGNoIGlz IHVwZGF0ZWQuDQogDQo+ID4NCj4gPiBFeGVjdXRpbmcgdGhlIGNvZGUgaGl0cyB0aGUgYnJlYWtw b2ludHMgMS4xIGFuZCAyLjMgYXMgZXhwZWN0ZWQuDQo+ID4NCj4gPiBEZWZpbmluZyBhIGNvbmRp dGlvbiBvbiBhbiB1bmNvbmRpdGlvbmFsIGJyZWFrcG9pbnQgZ2l2ZXMgdGhlIHNhbWUNCj4gPiBi ZWhhdmlvciBhYm92ZToNCj4gPg0KPiA+ICAgKGdkYikgYnJlYWsgaW5jbHVkZWQuYzoxDQo+ID4g ICBCcmVha3BvaW50IDEgYXQgMHgxMTdkOiBpbmNsdWRlZC5jOjEuICgzIGxvY2F0aW9ucykNCj4g PiAgIChnZGIpIGNvbmQgMSBhID09IDEwDQo+ID4gICB3YXJuaW5nOiBkaXNhYmxpbmcgYnJlYWtw b2ludCAxLjI6IE5vIHN5bWJvbCAiYSIgaW4gY3VycmVudCBjb250ZXh0Lg0KPiA+ICAgd2Fybmlu ZzogZGlzYWJsaW5nIGJyZWFrcG9pbnQgMS4zOiBObyBzeW1ib2wgImEiIGluIGN1cnJlbnQgY29u dGV4dC4NCj4gPiAgIChnZGIpIGluZm8gYnJlYWtwb2ludHMNCj4gPiAgIE51bSAgICAgVHlwZSAg ICAgICAgICAgRGlzcCBFbmIgQWRkcmVzcyAgICAgICAgICAgIFdoYXQNCj4gPiAgIDEgICAgICAg YnJlYWtwb2ludCAgICAga2VlcCB5ICAgPE1VTFRJUExFPg0KPiA+ICAgICAgICAgICBzdG9wIG9u bHkgaWYgYSA9PSAxMA0KPiA+ICAgMS4xICAgICAgICAgICAgICAgICAgICAgICAgIHkgICAweDAw MDAwMDAwMDAwMDExN2QgaW4gZnVuYzEgYXQgaW5jbHVkZWQuYzoxDQo+ID4gICAxLjIgICAgICAg ICAgICAgICAgICAgICAgICAgbiAgIDB4MDAwMDAwMDAwMDAwMTE5YyBpbiBmdW5jMiBhdCBpbmNs dWRlZC5jOjENCj4gPiAgIDEuMyAgICAgICAgICAgICAgICAgICAgICAgICBuICAgMHgwMDAwMDAw MDAwMDAxMWNmIGluIGZ1bmMzIGF0IGluY2x1ZGVkLmM6MQ0KPiA+DQo+ID4gTG9jYXRpb25zIHRo YXQgYXJlIGRpc2FibGVkIGJlY2F1c2Ugb2YgYSBjb25kaXRpb24gY2Fubm90IGJlIGVuYWJsZWQN Cj4gPiBieSB0aGUgdXNlcjoNCj4gPg0KPiA+ICAgLi4uDQo+ID4gICAoZ2RiKSBlbmFibGUgMS4y DQo+ID4gICBMb2NhdGlvbiBpcyBkaXNhYmxlZCBiZWNhdXNlIG9mIHRoZSBjb25kaXRpb247IGNh bm5vdCBlbmFibGUgbWFudWFsbHkuDQo+IA0KPiAiYmVjYXVzZSBvZiB0aGUgY29uZGl0aW9uIiBk b2VzIG5vdCBzb3VuZCBjbGVhciB0byBtZS4gIEl0IGRvZXMgbm90IHNheQ0KPiB3aGF0IGFib3V0 IHRoZSBjb25kaXRpb24gcHJldmVudHMgdGhlIGxvY2F0aW9uIGZyb20gZ2V0dGluZyBlbmFibGVk Lg0KPiBXaGF0IGFib3V0IHNvbWV0aGluZyBsaWtlICJCcmVha3BvaW50IGNvbmRpdGlvbiBpcyBp bnZhbGlkIGF0IGxvY2F0aW9uDQo+IDEuMiwgY2Fubm90IGVuYWJsZSIuICBJZGVhbGx5LCB3ZSBz aG91bGQgbWFrZSBzdXJlIHRoYXQgdGhlIG1lc3NhZ2VzIHdlDQo+IG91dHB1dCBhdCBkaWZmZXJl bnQgdGltZXMgc2hvdWxkIHVzZSB0aGUgc2FtZSB2b2NhYnVsYXJ5Lg0KDQpEb25lLCB3aXRoIGEg c21hbGwgY2hhbmdlOg0KDQogIEJyZWFrcG9pbnQgMSdzIGNvbmRpdGlvbiBpcyBpbnZhbGlkIGF0 IGxvY2F0aW9uIDIsIGNhbm5vdCBlbmFibGUuDQoNCk9LIHdpdGggdGhpcz8NCiANCj4gPg0KPiA+ IFJlc2V0dGluZyB0aGUgY29uZGl0aW9uIGVuYWJsZXMgdGhlIGxvY2F0aW9ucyBiYWNrOg0KPiA+ DQo+ID4gICAuLi4NCj4gPiAgIChnZGIpIGNvbmQgMQ0KPiA+ICAgQnJlYWtwb2ludCAxLjIgaXMg bm93IGVuYWJsZWQuDQo+ID4gICBCcmVha3BvaW50IDEuMyBpcyBub3cgZW5hYmxlZC4NCj4gDQo+ IExpa2V3aXNlLCB0aGlzIGRvZXNuJ3Qgc2F5IHdoeSB0aGVzZSBsb2NhdGlvbnMgc3VkZGVubHkg Z2V0IGVuYWJsZWQuDQo+IFNob3VsZCBpdD8gIFNvbWV0aGluZyBsaWtlICJCcmVha3BvaW50IGNv bmRpdGlvbiBub3cgcmVzb2x2ZXMgYXQNCj4gbG9jYXRpb24gMS4yLCBlbmFibGluZy4iLiAgT3Ig aXMgaXQgb2J2aW91cywgYmVjYXVzZSB0aGUgdXNlciBpcyBhbHJlYWR5DQo+IHVzaW5nIHRoZSAi Y29uZGl0aW9uIiBjb21tYW5kPw0KDQpJIHRoaW5rIGl0J3MgdXNlZnVsIHRvIHNheSBhIGJpdCBt b3JlIGJlY2F1c2UgdGhlIHVzZXIgbWF5IGhhdmUgZm9yZ290dGVuIGFib3V0DQp0aGUgY29uZGl0 aW9uLiAgVG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBtZXNzYWdlIGFib3ZlLCBob3cgYWJvdXQg dGhpczoNCg0KICBCcmVha3BvaW50IDEncyBjb25kaXRpb24gaXMgbm93IHZhbGlkIGF0IGxvY2F0 aW9uIDIsIGVuYWJsaW5nLg0KDQpPbmUgYWRkaXRpb25hbCBub3RlOiBJIG5vdGljZWQgdGhhdCB0 aGUgZXhpc3RpbmcgIkJyZWFrcG9pbnQgTiBpcyBub3cgdW5jb25kaXRpb25hbCINCm1lc3NhZ2Ug aXMgZ3VhcmRlZCBieSAnZnJvbV90dHknLiAgSSBhZGRlZCB0aGUgc2FtZSBndWFyZCB0byB0aGUg Ii4uLmVuYWJsaW5nIg0KbWVzc2FnZXMsIHRvby4NCg0KPiA+ICAgQnJlYWtwb2ludCAxIG5vdyB1 bmNvbmRpdGlvbmFsLg0KPiA+ICAgKGdkYikgaW5mbyBicmVha3BvaW50cw0KPiA+ICAgTnVtICAg ICBUeXBlICAgICAgICAgICBEaXNwIEVuYiBBZGRyZXNzICAgICAgICAgICAgV2hhdA0KPiA+ICAg MSAgICAgICBicmVha3BvaW50ICAgICBrZWVwIHkgICA8TVVMVElQTEU+DQo+ID4gICAxLjEgICAg ICAgICAgICAgICAgICAgICAgICAgeSAgIDB4MDAwMDAwMDAwMDAwMTE3ZCBpbiBmdW5jMSBhdCBp bmNsdWRlZC5jOjENCj4gPiAgIDEuMiAgICAgICAgICAgICAgICAgICAgICAgICB5ICAgMHgwMDAw MDAwMDAwMDAxMTljIGluIGZ1bmMyIGF0IGluY2x1ZGVkLmM6MQ0KPiA+ICAgMS4zICAgICAgICAg ICAgICAgICAgICAgICAgIHkgICAweDAwMDAwMDAwMDAwMDExY2YgaW4gZnVuYzMgYXQgaW5jbHVk ZWQuYzoxDQo+ID4NCj4gPiBJZiBhIGxvY2F0aW9uIGlzIGRpc2FibGVkIGJ5IHRoZSB1c2VyLCBh IGNvbmRpdGlvbiBjYW4gc3RpbGwgYmUgZGVmaW5lZA0KPiA+IGJ1dCB0aGUgbG9jYXRpb24gd2ls bCByZW1haW4gZGlzYWJsZWQgZXZlbiBpZiB0aGUgY29uZGl0aW9uIGlzIG1lYW5pbmdmdWwNCj4g PiBmb3IgdGhlIGRpc2FibGVkIGxvY2F0aW9uOg0KPiA+DQo+ID4gICAuLi4NCj4gPiAgIChnZGIp IGRpc2FibGUgMS4xDQo+ID4gICAoZ2RiKSBjb25kIDEgYSA9PSAxMA0KPiA+ICAgd2FybmluZzog ZGlzYWJsaW5nIGJyZWFrcG9pbnQgMS4yOiBObyBzeW1ib2wgImEiIGluIGN1cnJlbnQgY29udGV4 dC4NCj4gPiAgIHdhcm5pbmc6IGRpc2FibGluZyBicmVha3BvaW50IDEuMzogTm8gc3ltYm9sICJh IiBpbiBjdXJyZW50IGNvbnRleHQuDQo+ID4gICAoZ2RiKSBpbmZvIGJyZWFrcG9pbnRzDQo+ID4g ICBOdW0gICAgIFR5cGUgICAgICAgICAgIERpc3AgRW5iIEFkZHJlc3MgICAgICAgICAgICBXaGF0 DQo+ID4gICAxICAgICAgIGJyZWFrcG9pbnQgICAgIGtlZXAgeSAgIDxNVUxUSVBMRT4NCj4gPiAg ICAgICAgICAgc3RvcCBvbmx5IGlmIGEgPT0gMTANCj4gPiAgIDEuMSAgICAgICAgICAgICAgICAg ICAgICAgICBuICAgMHgwMDAwMDAwMDAwMDAxMTdkIGluIGZ1bmMxIGF0IGluY2x1ZGVkLmM6MQ0K PiA+ICAgMS4yICAgICAgICAgICAgICAgICAgICAgICAgIG4gICAweDAwMDAwMDAwMDAwMDExOWMg aW4gZnVuYzIgYXQgaW5jbHVkZWQuYzoxDQo+ID4gICAxLjMgICAgICAgICAgICAgICAgICAgICAg ICAgbiAgIDB4MDAwMDAwMDAwMDAwMTFjZiBpbiBmdW5jMyBhdCBpbmNsdWRlZC5jOjENCj4gDQo+ IElmIGEgbG9jYXRpb24gaXMgYWxyZWFkeSB1c2VyLWRpc2FibGVkIGFuZCB3ZSBpbnN0YWxsIGEg Y29uZGl0aW9uIHRoYXQNCj4gY29uZGl0aW9uLWRpc2FibGVzIGl0LCB3ZSBwcmludCBhICJkaXNh YmxpbmciIG1lc3NhZ2U6DQo+IA0KPiAgICAgKGdkYikgYiBiYXINCj4gICAgIEJyZWFrcG9pbnQg MSBhdCAweDExMjA6IGJhci4gKDIgbG9jYXRpb25zKQ0KPiAgICAgKGdkYikgZGlzYWJsZSAxLjEg MS4yDQo+ICAgICAoZ2RiKSBpIGINCj4gICAgIE51bSAgICAgVHlwZSAgICAgICAgICAgRGlzcCBF bmIgQWRkcmVzcyAgICAgICAgICAgIFdoYXQNCj4gICAgIDEgICAgICAgYnJlYWtwb2ludCAgICAg a2VlcCB5ICAgPE1VTFRJUExFPg0KPiAgICAgMS4xICAgICAgICAgICAgICAgICAgICAgICAgIG4g ICAweDAwMDAwMDAwMDAwMDExMjAgaW4gYmFyKGludCkgYXQgdGVzdC5jOjkNCj4gICAgIDEuMiAg ICAgICAgICAgICAgICAgICAgICAgICBuICAgMHgwMDAwMDAwMDAwMDAxMTJiIGluIGJhcihjaGFy IGNvbnN0KikgYXQgdGVzdC5jOjEzDQo+ICAgICAoZ2RiKSBjb25kIDEgcw0KPiAgICAgd2Fybmlu ZzogZGlzYWJsaW5nIGJyZWFrcG9pbnQgMS4xOiBObyBzeW1ib2wgInMiIGluIGN1cnJlbnQgY29u dGV4dC4NCj4gICAgIChnZGIpIGkgYg0KPiAgICAgTnVtICAgICBUeXBlICAgICAgICAgICBEaXNw IEVuYiBBZGRyZXNzICAgICAgICAgICAgV2hhdA0KPiAgICAgMSAgICAgICBicmVha3BvaW50ICAg ICBrZWVwIHkgICA8TVVMVElQTEU+DQo+ICAgICAgICAgICAgIHN0b3Agb25seSBpZiBzDQo+ICAg ICAxLjEgICAgICAgICAgICAgICAgICAgICAgICAgbiAgIDB4MDAwMDAwMDAwMDAwMTEyMCBpbiBi YXIoaW50KSBhdCB0ZXN0LmM6OQ0KPiAgICAgMS4yICAgICAgICAgICAgICAgICAgICAgICAgIG4g ICAweDAwMDAwMDAwMDAwMDExMmIgaW4gYmFyKGNoYXIgY29uc3QqKSBhdCB0ZXN0LmM6MTMNCj4g DQo+IFNob3VsZCB0aGUgImRpc2FibGluZyBicmVha3BvaW50IiBtZXNzYWdlIG5vdCBiZSBwcmlu dGVkIGhlcmUsIHNpbmNlIGl0DQo+IGRvZXNuJ3QgcmVhbGx5IG1ha2Ugc2Vuc2UgdG8gZGlzYWJs ZSBhbiBhbHJlYWR5IGRpc2FibGVkIGJyZWFrcG9pbnQ/ICBJZg0KPiB0aGUgdXNlciB0cmllcyB0 byBlbmFibGUgaXQgYmFjaywgdGhlbiB0aGV5J2xsIGdldCB0aGUgImNhbid0IGVuYWJsZSINCj4g bWVzc2FnZS4NCg0KT0ssIHN1cmUuIFRoYXQgbWFrZXMgc2Vuc2UuDQoNCj4gPiBkaWZmIC0tZ2l0 IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMNCj4gPiBpbmRleCA5Nzc1OTlk YjFkYi4uN2FiZmQ1MTBhYmMgMTAwNjQ0DQo+ID4gLS0tIGEvZ2RiL2JyZWFrcG9pbnQuYw0KPiA+ ICsrKyBiL2dkYi9icmVha3BvaW50LmMNCj4gPiBAQCAtODMwLDYgKzgzMCw0OCBAQCBnZXRfZmly c3RfbG9jcF9ndGVfYWRkciAoQ09SRV9BRERSIGFkZHJlc3MpDQo+ID4gICAgcmV0dXJuIGxvY3Bf Zm91bmQ7DQo+ID4gIH0NCj4gPg0KPiA+ICsvKiBQYXJzZSBDT05EX1NUUklORyBpbiB0aGUgY29u dGV4dCBvZiBMT0MgYW5kIHNldCBhcyB0aGUgY29uZGl0aW9uDQo+ID4gKyAgIGV4cHJlc3Npb24g b2YgTE9DLiAgQlBfTlVNIGlzIHRoZSBudW1iZXIgb2YgTE9DJ3Mgb3duZXIsIExPQ19OVU0gaXMN Cj4gPiArICAgdGhlIG51bWJlciBvZiBMT0Mgd2l0aGluIGl0cyBvd25lci4gIEluIGNhc2Ugb2Yg cGFyc2luZyBlcnJvciwgbWFyaw0KPiA+ICsgICBMT0MgYXMgRElTQUJMRURfQllfQ09ORC4gIElu IGNhc2Ugb2Ygc3VjY2VzcywgdW5zZXQgRElTQUJMRURfQllfQ09ORC4gICovDQo+ID4gKw0KPiA+ ICtzdGF0aWMgdm9pZA0KPiA+ICtzZXRfYnJlYWtwb2ludF9sb2NhdGlvbl9jb25kaXRpb24gKGNv bnN0IGNoYXIgKmNvbmRfc3RyaW5nLCBicF9sb2NhdGlvbiAqbG9jLA0KPiA+ICsJCQkJICAgaW50 IGJwX251bSwgaW50IGxvY19udW0pDQo+ID4gK3sNCj4gPiArICBib29sIGhhc19qdW5rID0gZmFs c2U7DQo+ID4gKyAgdHJ5DQo+ID4gKyAgICB7DQo+ID4gKyAgICAgIGV4cHJlc3Npb25fdXAgbmV3 X2V4cCA9IHBhcnNlX2V4cF8xICgmY29uZF9zdHJpbmcsIGxvYy0+YWRkcmVzcywNCj4gPiArCQkJ CQkgICBibG9ja19mb3JfcGMgKGxvYy0+YWRkcmVzcyksIDApOw0KPiA+ICsgICAgICBpZiAoKmNv bmRfc3RyaW5nICE9IDApDQo+ID4gKwloYXNfanVuayA9IHRydWU7DQo+ID4gKyAgICAgIGVsc2UN Cj4gPiArCXsNCj4gPiArCSAgbG9jLT5jb25kID0gc3RkOjptb3ZlIChuZXdfZXhwKTsNCj4gPiAr CSAgaWYgKGxvYy0+ZGlzYWJsZWRfYnlfY29uZCAmJiBsb2MtPmVuYWJsZWQpDQo+ID4gKwkgICAg cHJpbnRmX2ZpbHRlcmVkIChfKCJCcmVha3BvaW50ICVkLiVkIGlzIG5vdyBlbmFibGVkLlxuIiks DQo+ID4gKwkJCSAgICAgYnBfbnVtLCBsb2NfbnVtKTsNCj4gPiArDQo+ID4gKwkgIGxvYy0+ZGlz YWJsZWRfYnlfY29uZCA9IGZhbHNlOw0KPiA+ICsJfQ0KPiA+ICsgICAgfQ0KPiA+ICsgIGNhdGNo IChjb25zdCBnZGJfZXhjZXB0aW9uX2Vycm9yICZlKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICBp ZiAoYnBfbnVtICE9IDApDQo+ID4gKwl3YXJuaW5nIChfKCJkaXNhYmxpbmcgYnJlYWtwb2ludCAl ZC4lZDogJXMiKSwNCj4gPiArCQkgYnBfbnVtLCBsb2NfbnVtLCBlLndoYXQgKCkpOw0KPiA+ICsg ICAgICBlbHNlDQo+ID4gKwl3YXJuaW5nIChfKCJkaXNhYmxpbmcgYnJlYWtwb2ludCBsb2NhdGlv biAlZDogJXMiKSwNCj4gPiArCQkgbG9jX251bSwgZS53aGF0ICgpKTsNCj4gDQo+IFdoZW4gaXMg YnBfbnVtIDA/DQoNCkl0J3MgMCBpZiB0aGUgYnJlYWtwb2ludCBpcyBiZWluZyBkZWZpbmVkIGZv ciB0aGUgZmlyc3QgdGltZSB1c2luZyB0aGUNCiJicmVhayAuLi4gaWYgLi4uIiBjb21tYW5kLiAg SXQncyBub24temVybyBpZiBkZWZpbmVkIHByZXZpb3VzbHkgYW5kIGlzIG5vdw0KYmVjb21pbmcg Y29uZGl0aW9uYWwuDQogDQo+ID4gQEAgLTE0MTU3LDYgKzE0MjU4LDEwIEBAIGVuYWJsZV9kaXNh YmxlX2JwX251bV9sb2MgKGludCBicF9udW0sIGludCBsb2NfbnVtLCBib29sIGVuYWJsZSkNCj4g PiAgICBzdHJ1Y3QgYnBfbG9jYXRpb24gKmxvYyA9IGZpbmRfbG9jYXRpb25fYnlfbnVtYmVyIChi cF9udW0sIGxvY19udW0pOw0KPiA+ICAgIGlmIChsb2MgIT0gTlVMTCkNCj4gPiAgICAgIHsNCj4g PiArICAgICAgaWYgKGxvYy0+ZGlzYWJsZWRfYnlfY29uZCAmJiBlbmFibGUpDQo+ID4gKwllcnJv cihfKCJMb2NhdGlvbiBpcyBkaXNhYmxlZCBiZWNhdXNlIG9mIHRoZSBjb25kaXRpb247ICINCj4g DQo+IFNwYWNlIGFmdGVyICJlcnJvciIuDQoNCkZpeGVkLg0KIA0KVGhhbmsgeW91Lg0KLUJhcmlz DQoNCg0KSW50ZWwgRGV1dHNjaGxhbmQgR21iSApSZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBl b24gMTAtMTIsIDg1NTc5IE5ldWJpYmVyZywgR2VybWFueQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAs IHd3dy5pbnRlbC5kZQpNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBH YXJ5IEtlcnNoYXcKQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBOaWNvbGUg TGF1ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVyY2lhbCBSZWdpc3RlcjogQW10c2dl cmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=