From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by sourceware.org (Postfix) with ESMTPS id E95233858D39 for ; Mon, 19 Sep 2022 08:59:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E95233858D39 X-IronPort-AV: E=McAfee;i="6500,9779,10474"; a="298074512" X-IronPort-AV: E=Sophos;i="5.93,327,1654585200"; d="scan'208";a="298074512" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Sep 2022 01:59:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,327,1654585200"; d="scan'208";a="569570562" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga003.jf.intel.com with ESMTP; 19 Sep 2022 01:59:15 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 19 Sep 2022 01:59:14 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 19 Sep 2022 01:59:14 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Mon, 19 Sep 2022 01:59:14 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.170) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Mon, 19 Sep 2022 01:59:14 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cLbvlljhdiUzYUhDdl3ejxbu/PH28PTGYDUkb/Eu1bH27MWSPF2e6AnB5I+Dmhyr4z67sR63a2uHDhYwOpF7kLl/hi722emjDcQ0uL/0Bp/JH+frTEpG1sYpmAZ66syhABI/+qBcYf9fTFFsJFBPEQGc9gHhL0JhqqSHvb6FWPcOF5vTjY4UYLYv7MEBhI0+bJ6QXVb0W/Urr3Siz4e3sE0Br0G6n2Pn03DYiCEw+XDhf7HpuPaaCTX9rX7UZavkcEvDgRPbEii9bWAXJoKM3b7Veul2LlKK9rfUg9gomx3bTEqm/ZNKtdDFkjxEMZOQ3Qs4+0JQujyxA4phVfnXDw== 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=6oV3O1mw7SSq5FSr6S7PxMVAvt7VQwhvZd8WWsfEJSE=; b=JC5xXWHhaFLeNLRPT5ZJ24unYvg87jSysMi6NZQyLogwGuzGw2xcsS4nYuoQ3nuKvE5tBBCyri/TrJ2bi4nXnIB7cGb4KAk7Nt3mZ7lhQ9AWqxwLzueiX6UNRkIZK4moZ5wsHJF2iINcPWRZCsyfqPP10Imp1zRDN274/L+AdtaHPmxCtK7w1icuilh3ypiJMLBR5zHCB0LLZsRceWnT/ZXzF+3W+RqOzlB+KkgMoUEewviWZtw1hmP0eklmP5nhgcmfqY19RLlVXLm39apJ1E0Fa92WA/WFCvUl/tOoEVaQS1Q19f7z/HsVfyDeMaQ+5qTvJdoUpZWImHEF/fiZ+Q== 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 MN2PR11MB4566.namprd11.prod.outlook.com (2603:10b6:208:24e::16) by CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.18; Mon, 19 Sep 2022 08:59:12 +0000 Received: from MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::30ca:6f93:4fd:dbc6]) by MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::30ca:6f93:4fd:dbc6%4]) with mapi id 15.20.5632.021; Mon, 19 Sep 2022 08:59:12 +0000 From: "Willgerodt, Felix" To: "Metzger, Markus T" CC: "gdb-patches@sourceware.org" Subject: RE: [PATCH v5 10/10] btrace: Extend ptwrite event decoding. Thread-Topic: [PATCH v5 10/10] btrace: Extend ptwrite event decoding. Thread-Index: AQHYhi3HE6uij66c/0e5ZeCTzfDoga1mbe8AgBKOngA= Date: Mon, 19 Sep 2022 08:59:12 +0000 Message-ID: References: <20220622114340.55830-1-felix.willgerodt@intel.com> <20220622114340.55830-11-felix.willgerodt@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.500.17 dlp-reaction: no-action x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR11MB4566:EE_|CO1PR11MB4820:EE_ x-ms-office365-filtering-correlation-id: 43bb564f-15bf-4316-4999-08da9a1d3904 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: E9lvM1p1Uwv9EsVjJcrumCdq4evpjKSMfRlpKdgLwIPW96hKBpXFPjRvHolDXV12Dag3XQMg1sGZqQ9/6xPkt3SjKPPiq5CjxZ9vqJiHRWApSNm+KRtRKtlrHnY6Gmz1sqAoMl3U8myjUcLC2A5Axg+algUO8itAtx6pekieQC7lnEAUMzmlkuIxA2EGbtD4PUiQj484DaKYFfmpiAtLd09RgfmQTmNVpDsb7J6c03ubkBYuxIab0EoYSWVQ+8NEtkNH2zpKEVyoYZY7UZpBEr+4ZSXgpVuTxs6OXMcLFmwfcTymX+y1N+CtraI4qtjeObY5Y01BWS/n84y2DJ3YKqg19b5xcMTmbD0E8/yOyg8YPG0hgFDpqcqp7ICaU5lM2Qfs1hx4ksTPc3zopv876uewL/Vj9bsxGE9h8VvqoKCglI6L1epRfrMcDXXtnhs41nU2S9ekIhGapnM6hOTdivtVZ2qZYir7hym5shhxyRHWjbMVTqWOe9zi6Imt4WJmaO2DDNaZ/819XomrXDNJopKu5bGTY262REZR59cZg7JbIKOcNupEMfi90hQHkdd0wjnIIAivKAE4/aLTr5w9o/auOhcqYj7wMd6h/I5aq6W1JnE07W4hI0mInmEidfyGx08FtD1PpH9pY6FAcbukd7/gy0tIkiSUCKAZFCel6Sf8XlXELYxYSeE94VHOttECCZjSRzF7xHp4OP7EfHlzId280rWewOJ9vD2tIPjE+eaSLudr7UrFuxjNyg5MZCXt x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4566.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(396003)(136003)(346002)(39860400002)(366004)(376002)(451199015)(6636002)(5660300002)(33656002)(55016003)(41300700001)(71200400001)(52536014)(38100700002)(64756008)(66556008)(66946007)(76116006)(38070700005)(8676002)(6862004)(66476007)(2906002)(66446008)(122000001)(86362001)(186003)(82960400001)(4326008)(83380400001)(8936002)(7696005)(478600001)(53546011)(316002)(6506007)(26005)(9686003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aVdWeDd2Sit2UW5zR3VoaEd3RTI3KzlSaE1Jd3hXcHRCaG0xZDBBcTFBL2xr?= =?utf-8?B?cHg2VDdQemU5WkR0UEdhcytlRldzODdhTy9MSTNHTEFadlJsTjNXODYxekpG?= =?utf-8?B?ZmtNZFlaa0VLanlhajRobjA0SGQ1cVZBQy9mTW9ockJiQ1c1bjVsSmp5dWdW?= =?utf-8?B?UlliMTlaRXZTZk5HV3V6TTJnZHZveXNNZnBSdU5PYzIybzdtWlIybTl5cHJO?= =?utf-8?B?TkNDWEVSQlA3OWpiNlhiR0ZwVFhJeTZMSGtPbS92VXhXU3BoMitGeUxsejZD?= =?utf-8?B?Sk8xL2RPR2FSSEpadDJpT3U4Ui9EWTlyQWR4ZCt0SU9YK25NN24yb0RTUHJq?= =?utf-8?B?KzhRNlR6U3M3VjdXU2dKK0R1bTZxdXdqWXBGb2pmOVdzYXBmNnpCeUNWUEtN?= =?utf-8?B?cUh4WTdLd216cnkvV1VGbEF3SVFzMzJFMWRXekYyMFZMdCtBQVI3dElkb1ZL?= =?utf-8?B?aWhSWVJLNEo4MERRdi9LTDZGa0hmSjlTT09GWVJaTnZYakRQb01IWngxNmF6?= =?utf-8?B?TWFYVWtEOFZydDNiaG9Gb1JwaERReFdLZmxQU29JQWpoK1pud0R0Q1FUMUUz?= =?utf-8?B?TFY4YUpYS054MGcxL2xhU1hHcnN2Rk4xd0xLc1JSSVpHR0RTRE9OVnc0THNx?= =?utf-8?B?Uk51N01YZzQ1bWVnUU9udzFEbjFxMFU4VmVuOW9kRUkvV3B5amdVejY5VmVq?= =?utf-8?B?OWZvWjl1ZWpvb0xyQTRmQkJTalNIRUpwbUxKdjFMby9SY243bTYrcHZEVHYr?= =?utf-8?B?QTVFUHA2MitiLyt3amVjcnlpOEY3cXNKTXR1UXROWExxRFhRMUNpZkJOSS9B?= =?utf-8?B?YXpTU3JOSVg2MUM4OUlib04wNXRtZEZFejJza0FsTnQ0ZEMzMEt2cjNHbFBa?= =?utf-8?B?czNIT1hvWGlGanUyTnJKOTFHdlZZR3Q3UUJHSXZ4N095bmUxZHdNTnRVSGlX?= =?utf-8?B?anc0aU1UWkVYUjF2YUpZNHkwaW5BYjM3T0R0TXM1WHlFbHBUTHdHN0ZKWWdl?= =?utf-8?B?ajg4N3BNT0pkVzRGQndFQWhRcWJ4ZGJSVWVKMkRHM2FOcEhrM08yeXpoWTBn?= =?utf-8?B?Um1QV1NKdE1SNFcyRmxuc3l3RVM3WlZDV2MxdDJLTGYwS01iOFZ3b3VZaEVx?= =?utf-8?B?ckUxOUk2eXJiZGFacS9Zam41NUtrRy9DQ3ZhUTRnazhKZVJLV3hQTUNQTzhl?= =?utf-8?B?UWtNM2w3WmhkclE2L3NMdFV0bHVZbjhITnVka0tRTDhxVDRPWFJxRnRReUlH?= =?utf-8?B?cWV2UkVTVXZWc3NBNWlNRDJ5NXlsdEJOWXVQcVg4RjNCTnFxZnhqK0tqbFhp?= =?utf-8?B?UlhNT0RyNXRPM1lvMjRQNTc0NHpKZnBrWmJUSllicXRaMHJjanpBajBXbXQy?= =?utf-8?B?MmlpelVtWDh2QnJxRHAyTisyd3VrTGh2YlIyZVllYVlYTFRtYmhSNEkrcEl6?= =?utf-8?B?SHMwZ2JzcHp5UzJVT0o3SjY2d1VwdDBxdXdhb1VvR01ickE4bERVdGdWV1pF?= =?utf-8?B?blkxWkpkdElmUzhYSHNkdlJ6akczODBUNXFXZkxOK2xPNTgwWURtZjZ1NGpI?= =?utf-8?B?RWFBc2JyZnBjZkoxeEJXaDVxYW5McVJKc0RjQStkMGlia0hkY2pKcy9wYVdX?= =?utf-8?B?UjJXOEFVMGpUMTVXUXFEYVNjcnZUK2pxalU2NFRHT1JubnlTZTRSb1piaWtX?= =?utf-8?B?Q3g2aDlLN1pCdk5qL29CVSs3bnpBZ3dHQURMVVVocjJCdWhBbkpLTVlnOTVG?= =?utf-8?B?SGlUcU5rSDFBRGdqcDZUM1MwaFZDOVFWcmNicjJDeWljZW1Ed0h4ajJtRFlU?= =?utf-8?B?RGRUbVRBczlJKzBGck9pWk9vNDFZOTBua3RDcHpKOUp4WjZ3SWlPK0VqMVBu?= =?utf-8?B?dk9WWHc3eDVYd0c2Z1FCQXI4aldMSWxDbnZyWGkrSVhtN2hMQk4rK1dJckdD?= =?utf-8?B?SWt4c1NyZGtTaTlCVmZRU0p1a2lQc2FJNTB1dUlqc0Jnb1lORmZrYk90WUxO?= =?utf-8?B?SlJUMlo1dzc4TDRNR2ZrWW5Lc00rZ2FmSnRzK3paTTJGd0IrRVZZblRVQVVO?= =?utf-8?B?QXpkcWpWNFZXbnV3QXI2S2JUTWwvSDBaUG5GSThGczNjVUh1a0VidW50aGtJ?= =?utf-8?B?M0RySEZudVNqYnBUM0FqcGM4QlVHMU1NSjh3ZXE0c29GUmNrbms0WllDeEFt?= =?utf-8?B?cVE9PQ==?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4566.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 43bb564f-15bf-4316-4999-08da9a1d3904 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2022 08:59:12.7502 (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: 9OcXuVR2ADqA0eJQE/5LJ/tCiAGGW3AuksVPgrIT5WARQYyrs+yXeDhZ1JSznicSPo0XHeRRphH5GuoHLiOh2NDuJ69/hdzrpS7S47svPUY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4820 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org 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: , X-List-Received-Date: Mon, 19 Sep 2022 08:59:20 -0000 U29ycnksIEkgZm9yZ290IHRvIHNlbmQgdGhlc2Ugb3V0IG9uIEZyaWRheS4NCg0KRmVsaXggDQoN Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWV0emdlciwgTWFya3VzIFQg PG1hcmt1cy50Lm1ldHpnZXJAaW50ZWwuY29tPg0KPiBTZW50OiBNaXR0d29jaCwgMjkuIEp1bmkg MjAyMiAxNTozNg0KPiBUbzogV2lsbGdlcm9kdCwgRmVsaXggPGZlbGl4LndpbGxnZXJvZHRAaW50 ZWwuY29tPg0KPiBDYzogZ2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmcNCj4gU3ViamVjdDogUkU6 IFtQQVRDSCB2NSAxMC8xMF0gYnRyYWNlOiBFeHRlbmQgcHR3cml0ZSBldmVudCBkZWNvZGluZy4N Cj4gDQo+IEhlbGxvIEZlbGl4LA0KPiANCj4gPkNhbGwgdGhlIHB0d3JpdGUgZmlsdGVyIGZ1bmN0 aW9uIHdoZW5ldmVyIGEgcHR3cml0ZSBldmVudCBpcyBkZWNvZGVkLg0KPiA+VGhlIHJldHVybmVk IHN0cmluZyBpcyB3cml0dGVuIHRvIHRoZSBhdXhfZGF0YSBzdHJpbmcgdGFibGUgYW5kIGENCj4g PmNvcnJlc3BvbmRpbmcgYXV4aWxpYXJ5IGluc3RydWN0aW9uIGlzIGFwcGVuZGVkIHRvIHRoZSBm dW5jdGlvbiBzZWdtZW50Lg0KPiA+LS0tDQo+ID4gZ2RiL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDYgKw0KPiA+IGdkYi9idHJhY2UuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDUzICsrKw0KPiA+IGdkYi9jb25maWcuaW4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAzICsNCj4gPiBnZGIvY29uZmlndXJlICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAxMSArDQo+ID4gZ2RiL2RvYy9weXRob24udGV4aSAgICAgICAgICAgICAg ICAgICAgICAgfCAxNTAgKysrKysrKysrDQo+ID4gZ2RiL3Rlc3RzdWl0ZS9nZGIuYnRyYWNlL2kz ODYtcHR3cml0ZS5TICAgfCAzNzkNCj4gKysrKysrKysrKysrKysrKysrKysrKw0KPiA+IGdkYi90 ZXN0c3VpdGUvZ2RiLmJ0cmFjZS9wdHdyaXRlLmMgICAgICAgIHwgIDM3ICsrKw0KPiA+IGdkYi90 ZXN0c3VpdGUvZ2RiLmJ0cmFjZS9wdHdyaXRlLmV4cCAgICAgIHwgMjE5ICsrKysrKysrKysrKysN Cj4gPiBnZGIvdGVzdHN1aXRlL2dkYi5idHJhY2UveDg2XzY0LXB0d3JpdGUuUyB8IDM3NA0KPiAr KysrKysrKysrKysrKysrKysrKysNCj4gPiBnZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwICAgICAg ICAgICAgICAgICB8ICA3NCArKysrKw0KPiA+IGdkYnN1cHBvcnQvY29tbW9uLm00ICAgICAgICAg ICAgICAgICAgICAgIHwgICAyICsNCj4gPiBnZGJzdXBwb3J0L2NvbmZpZy5pbiAgICAgICAgICAg ICAgICAgICAgICB8ICAgMyArDQo+ID4gZ2Ric3VwcG9ydC9jb25maWd1cmUgICAgICAgICAgICAg ICAgICAgICAgfCAgMTEgKw0KPiA+IDEzIGZpbGVzIGNoYW5nZWQsIDEzMjIgaW5zZXJ0aW9ucygr KQ0KPiA+IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5idHJhY2UvaTM4Ni1w dHdyaXRlLlMNCj4gPiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYnRyYWNl L3B0d3JpdGUuYw0KPiA+IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5idHJh Y2UvcHR3cml0ZS5leHANCj4gPiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu YnRyYWNlL3g4Nl82NC1wdHdyaXRlLlMNCj4gDQo+IFRoaXMgbG9va3MgZ29vZCB0byBtZSB3aXRo IGEgZmV3IG5pdHMgYW5kIG9uZSB0ZXN0IGJ1Zy4NCj4gDQo+IA0KPiA+KwkgICAgaWYgKCFidGlu Zm8tPmZ1bmN0aW9ucy5lbXB0eSAoKQ0KPiA+KwkJJiYgIWJ0aW5mby0+ZnVuY3Rpb25zLmJhY2sg KCkuaW5zbi5lbXB0eSAoKSkNCj4gPisJICAgICAgZmxhZ3MgPSBidGluZm8tPmZ1bmN0aW9ucy5i YWNrICgpLmluc24uYmFjayAoKS5mbGFnczsNCj4gPisNCj4gPisJICAgIC8qIFVwZGF0ZSBpbnNu IGxpc3Qgd2l0aCBwdHcgcGF5bG9hZCBpbnNuLiAgKi8NCj4gPisJICAgIHN0cnVjdCBidHJhY2Vf aW5zbiBwdHdfaW5zbiA9IHsgMCB9Ow0KPiA+KwkgICAgcHR3X2luc24uYXV4X2RhdGFfaW5kZXgg PSBidGluZm8tPmF1eF9kYXRhLnNpemUgKCkgLSAxOw0KPiA+KwkgICAgcHR3X2luc24uZmxhZ3Mg PSBmbGFnczsNCj4gPisJICAgIHB0d19pbnNuLmljbGFzcyA9IEJUUkFDRV9JTlNOX0FVWDsNCj4g DQo+IFdoeSB1c2UgMCBhcyBJUCBhbmQgbm90IElQPw0KDQpNeSBiYWQuIE15IGludGVudGlvbiB3 YXMgdG8gaW5pdGlhbGl6ZSBldmVyeSBtZW1iZXIgdG8gMC4gV2lsbCBiZQ0KZml4ZWQgaW4gdGhl IG5leHQgdmVyc2lvbi4NCg0KPiBMZXQncyBhc3NpZ24gdGhlIG1lbWJlcnMgaW4gdGhlIG9yZGVy IGluIHdoaWNoIHRoZXkgYXJlIGRlY2xhcmVkLg0KDQpEb25lLg0KDQo+IA0KPiA+K3ZvaWQNCj4g PitwdHdyaXRlNjQgKGludCB2YWx1ZSkNCj4gPit7DQo+ID4rICBhc20gdm9sYXRpbGUgKCJQVFdS SVRFICUwOyIgOiA6ICJiIiAodmFsdWUpKTsNCj4gPit9DQo+ID4rDQo+ID4rdm9pZA0KPiA+K3B0 d3JpdGUzMiAoaW50IHZhbHVlKQ0KPiA+K3sNCj4gPisgIGFzbSB2b2xhdGlsZSAoIlBUV1JJVEUg JTA7IiA6IDogImIiICh2YWx1ZSkpOw0KPiA+K30NCj4gDQo+IFdoYXQncyB0aGUgZGlmZmVyZW5j ZSBiZXR3ZWVuIHRoZSB0d28gZnVuY3Rpb25zPw0KDQpObyBkaWZmZXJlbmNlLCBJIGRpZCBpdCB0 aGlzIHdheSB0byBoYXZlIGEgYml0IG9mIGEgZnVuY3Rpb24tY2FsbC1oaXN0b3J5DQp0byBzaG93 LiBJIHJlbmFtZWQgdGhlbSB0byBwdHdyaXRlMSBhbmQgcHR3cml0ZTIsIHRvIG5vdCBpbXBseQ0K YW55IHNpemVzLg0KIA0KPiBDb3VsZCB3ZSB1c2UgdGhlIGludHJpbnNpYyBmdW5jdGlvbnMgd2Ug Y2FsbCBvdXQgaW4gdGhlIGRvY3VtZW50YXRpb24NCj4gb3Igd291bGQgZGlmZmVyZW50IGNvbXBp bGVycyBzcGVsbCB0aGVtIGRpZmZlcmVudGx5Pw0KDQpJIHN3aXRjaGVkIHRvIGludHJpbnNpY3Mu IEkgdGVzdGVkIGNsYW5nLCBnY2MgYW5kIGljeC4gQWxsIHRoZSBzYW1lLg0KSXQgbWFrZXMgdGhl IGFzc2VtYmx5IGZpbGVzIGEgYml0IGJpZ2dlci4gQnV0IGFjdHVhbGx5DQpzaW1wbGlmaWVzIHRo ZSAuZXhwIGZpbGVzIGEgYml0Lg0KIA0KPiA+KyMjIyAxLiBEZWZhdWx0IHRlc3RydW4NCj4gPisN Cj4gPisjIFNldHVwIHJlY29yZGluZw0KPiA+K2dkYl90ZXN0X25vX291dHB1dCAic2V0IHJlY29y ZCBpbnN0cnVjdGlvbi1oaXN0b3J5LXNpemUgdW5saW1pdGVkIg0KPiA+K2dkYl90ZXN0X25vX291 dHB1dCAicmVjb3JkIGJ0cmFjZSBwdCINCj4gPitnZGJfdGVzdCAibmV4dCIgIi4qIiAiZmlyc3Qg bmV4dCINCj4gPitnZGJfdGVzdCAibmV4dCIgIi4qIiAic2Vjb25kIG5leHQiDQo+IA0KPiBIb3cg YWJvdXQgIm5leHQgMiI/DQoNCkRvbmUuDQogDQo+ID4rIyBUZXN0IGF1eGlsaWFyeSB0eXBlIGlu IHB5dGhvbg0KPiA+K2dkYl90ZXN0X211bHRpbGluZSAiYXV4aWxpYXJ5IHR5cGUgaW4gcHl0aG9u IiBcDQo+ID4rICAgICJweXRob24iICIiIFwNCj4gPisgICAgImggPSBnZGIuY3VycmVudF9yZWNv cmRpbmcoKS5pbnN0cnVjdGlvbl9oaXN0b3J5IiAiIiBcDQo+ID4rICAgICJmb3IgaW5zbiBpbiBo OiIgIiIgXA0KPiA+KyAgICAiICAgIGlmIGhhc2F0dHIoaW5zbiwgJ2RlY29kZWQnKToiICIiIFwN Cj4gPisgICAgIiAgICAgICAgcHJpbnQoaW5zbi5kZWNvZGVkLmRlY29kZSgpKSIgIiIgXA0KPiA+ KyAgICAiICAgIGVsaWYgaGFzYXR0cihpbnNuLCAnZGF0YScpOiIgIiIgXA0KPiA+KyAgICAiICAg ICAgICBwcmludChpbnNuLmRhdGEpIiAiIiBcDQo+ID4rICAgICJlbmQiIFwNCj4gPisgICAgW211 bHRpX2xpbmUgXA0KPiA+KwkiLiptb3YgICAgJWVheCwlZWJ4IiBcDQo+ID4rCSJwdHdyaXRlICVl YngiIFwNCj4gDQo+IFdlJ2Qgd2FudCAlcmJ4IGhlcmUsIEkgYXNzdW1lLg0KDQpBY3R1YWxseSwg dGhlcmUgaXMgZWJ4IGVtaXR0ZWQgZXZlbiBmb3IgLW02NC4gSW4gbXkgbmV3IHZlcnNpb24sDQpJ IGhhZCB0byBjaGFuZ2UgaXQgYSBiaXQgdG8gYWNjZXB0IGJvdGggcmF4IGFuZCBlYXggZm9yIHRo ZSBtb3YgYmVmb3JlLg0KVGhlIHB0d3JpdGUgaW5zdHJ1Y3Rpb24gc3RpbGwgaXMgb25seSBjb21w aWxlZCB0byBlYXguIE1heWJlIGJlY2F1c2Ugd2UNCnBhc3MgYW4gaW50Pw0KDQo+ID4rIyBSdW4g YSB0ZXN0IG9uIHRoZSB0YXJnZXQgdG8gc2VlIGlmIGl0IHN1cHBvcnRzIHB0d3JpdGUgaW5zdHJ1 Y3Rpb25zIGFuZA0KPiA+KyMgaWYgR0RCIGNhbiBkZWNvZGUgcHR3cml0ZSBldmVudHMuICBSZXR1 cm4gMCBpZiBzbywgMSBpZiBpdCBkb2VzIG5vdC4NCj4gPisNCj4gPitnZGJfY2FjaGluZ19wcm9j IHNraXBfYnRyYWNlX3B0d190ZXN0cyB7DQo+ID4rICAgIGdsb2JhbCBzcmNkaXIgc3ViZGlyIGdk Yl9wcm9tcHQgaW5mZXJpb3JfZXhpdGVkX3JlIGRlY2ltYWwNCj4gPisNCj4gPisgICAgc2V0IG1l ICJza2lwX3B0d190ZXN0cyINCj4gPisgICAgaWYgeyBbc2tpcF9idHJhY2VfcHRfdGVzdHNdIH0g ew0KPiA+Kwl2ZXJib3NlICIkbWU6ICB0YXJnZXQgZG9lcyBub3Qgc3VwcG9ydCBidHJhY2UsIHJl dHVybmluZyAxIiAyDQo+IA0KPiBTaG91bGQgdGhpcyBzYXkgJ3RhcmdldCBkb2VzIG5vdCBzdXBw b3J0IGJ0cmFjZSBwdCc/DQoNClllcywgd2lsbCBiZSBjaGFuZ2VkLg0KSW50ZWwgRGV1dHNjaGxh bmQgR21iSApSZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBlb24gMTAsIDg1NTc5IE5ldWJpYmVy ZywgR2VybWFueQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5kZSA8aHR0cDovL3d3 dy5pbnRlbC5kZT4KTWFuYWdpbmcgRGlyZWN0b3JzOiBDaHJpc3RpbiBFaXNlbnNjaG1pZCwgU2hh cm9uIEhlY2ssIFRpZmZhbnkgRG9vbiBTaWx2YSAgCkNoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZp c29yeSBCb2FyZDogTmljb2xlIExhdQpSZWdpc3RlcmVkIE9mZmljZTogTXVuaWNoCkNvbW1lcmNp YWwgUmVnaXN0ZXI6IEFtdHNnZXJpY2h0IE11ZW5jaGVuIEhSQiAxODY5MjgK