From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 3727A3858D28 for ; Tue, 17 Jan 2023 22:37:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3727A3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673995044; x=1705531044; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=H4kKCs/LFU3ndLNvzgn2+/NmzXESZYjJlHOf+Sx4Hao=; b=bQe8KuViYOxdhn6IQTzbc6eg0aRXnNx0lKiLHKSNMKseGn/Sl1mnZye6 PhC5YcSfrJu5ygceS6CoYDEQVfa/JSoqVmqnIR8o+uItSUZGTOgD/0Ui7 p8FLwaBsVECINker/5isWRGIJ98wjSd8j6wrz9enqdH4pOInS7tN9Yaey elmntAoMmrfVh+pztG5vzEDzi7iqnOB9sPtYNY05yQVntG8c3BO50CUtG ljMRtPovIrxBLwi0EvAK7V7ZTLqxjDF095/2jQg0Vj58dagfDevJ/reGN fWXAi8bxa5fKE9nurdeZMYSXkVgX91rHUQTmubP2pPDB5y0RD8Oek545O w==; X-IronPort-AV: E=McAfee;i="6500,9779,10593"; a="352082668" X-IronPort-AV: E=Sophos;i="5.97,224,1669104000"; d="scan'208";a="352082668" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jan 2023 14:36:46 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10593"; a="727929220" X-IronPort-AV: E=Sophos;i="5.97,224,1669104000"; d="scan'208";a="727929220" Received: from labpc2030.iul.intel.com (HELO localhost) ([172.28.48.46]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jan 2023 14:36:44 -0800 From: Abdul Basit Ijaz To: gdb-patches@sourceware.org Cc: abdul.b.ijaz@intel.com, aburgess@redhat.com Subject: [PATCH v4 1/1] gdb, testsuite: Fix arrays of variable length strings for FORTRAN Date: Tue, 17 Jan 2023 23:36:37 +0100 Message-Id: <20230117223637.27194-1-abdul.b.ijaz@intel.com> X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 List-Id: QmVmb3JlIHRoaXMgY2hhbmdlIHJlc29sdmVfZHluYW1pY19hcnJheV9vcl9zdHJpbmcgd2FzIGNh bGxlZCBmb3IKYWxsIFRZUEVfQ09ERV9BUlJBWSBhbmQgVFlQRV9DT0RFX1NUUklORyB0eXBlcywg YnV0LCBpbiB0aGUgZW5kLAp0aGlzIGZ1bmN0aW9uIGFsd2F5cyBjYWxsZWQgY3JlYXRlX2FycmF5 X3R5cGVfd2l0aF9zdHJpZGUsIHdoaWNoCmNyZWF0ZXMgYSBUWVBFX0NPREVfQVJSQVkgdHlwZS4K ClN1cHBvc2Ugd2UgaGF2ZQoKc3Vicm91dGluZSB2bGFfYXJyYXkgKGFycjEsIGFycjIpCiAgY2hh cmFjdGVyIChsZW49Kik6OiBhcnIxICg6KQogIGNoYXJhY3RlciAobGVuPTUpOjogYXJyMiAoOikK CiAgcHJpbnQgKiwgYXJyMSAhIGJyZWFrLWhlcmUKICBwcmludCAqLCBhcnIyCmVuZCBzdWJyb3V0 aW5lIHZsYV9hcnJheQoKVGhlICJwcmludCBhcnIxIiBhbmQgInByaW50IGFycjIiIGNvbW1hbmQg YXQgdGhlICJicmVhay1oZXJlIiBsaW5lCmdpdmVzIHRoZSBmb2xsb3dpbmcgb3V0cHV0OgoKKGdk YikgcHJpbnQgYXJyMQokMSA9IDxpbmNvbXBsZXRlIHR5cGU+CihnZGIpIHByaW50IGFycjIKJDIg PSAoJ2FiY2RlJywgJ2FiY2RlJywgJ2FiY2RlJykKKGdkYikgcHR5cGUgYXJyMQp0eXBlID0gVHlw ZQpFbmQgVHlwZQooZ2RiKSBwdHlwZSBhcnIyCnR5cGUgPSBjaGFyYWN0ZXIqNSAoMykKCkR3YXJm IGluZm8gdXNpbmcgSW50ZWzCriBGb3J0cmFuIENvbXBpbGVyIGZvciBzdWNoIGNhc2UgY29udGFp bnMgZm9sbG93aW5nOgogPDE+PGZkPjogQWJicmV2IE51bWJlcjogMTIgKERXX1RBR19zdHJpbmdf dHlwZSkKICAgIDxmZT4gICBEV19BVF9uYW1lICAgICAgICA6IChpbmRpcmVjdCBzdHJpbmcsIG9m ZnNldDogMHhkMik6IC5zdHIuQVJSMQogICAgPDEwMj4gICBEV19BVF9zdHJpbmdfbGVuZ3RoOiAz IGJ5dGUgYmxvY2s6IDk3IDIzIDggKERXX09QX3B1c2hfb2JqZWN0X2FkZHJlc3M7IERXX09QX3Bs dXNfdWNvbnN0OiA4KQoKQWZ0ZXIgdGhpcyBjaGFuZ2UgcmVzb2x2ZV9keW5hbWljX2FycmF5X29y X3N0cmluZyBub3cgY2FsbHMKY3JlYXRlX2FycmF5X3R5cGVfd2l0aF9zdHJpZGUgb3IgY3JlYXRl X3N0cmluZ190eXBlLCBzbyBpZiB0aGUKaW5jb21pbmcgZHluYW1pYyB0eXBlIGlzIGEgVFlQRV9D T0RFX1NUUklORyB0aGVuIHdlJ2xsIGdldCBiYWNrIGEKVFlQRV9DT0RFX1NUUklORyB0eXBlLiAg Tm93IGdkYiBzaG93cyBmb2xsb3dpbmc6CgooZ2RiKSBwIGFycjEKJDEgPSAoJ2FiZGRlZmdoaWon LCAnYWJkZGVmZ2hpaicsICdhYmRkZWZnaGlqJywgJ2FiZGRlZmdoaWonLCAnYWJkZGVmZ2hpaicp CihnZGIpIHAgYXJyMgokMiA9ICgnYWJjZGUnLCAnYWJjZGUnLCAnYWJjZGUnKQooZ2RiKSBwdHlw ZSBhcnIxCnR5cGUgPSBjaGFyYWN0ZXIqMTAgKDUpCihnZGIpIHB0eXBlIGFycjIKdHlwZSA9IGNo YXJhY3Rlcio1ICgzKQoKRml4aW5nIGFib3ZlIGlzc3VlIGludHJvZHVjZSByZWdyZXNzaW9uIGlu IGdkYi5mb3J0cmFuL21peGVkLWxhbmctc3RhY2suZXhwLAppLmUuIHRoZSB0ZXN0IGZvcmNlcyB0 aGUgbGFuZ3VhZ2UgdG8gQy9DKysgYW5kIHByaW50IGEgRm9ydHJhbiBzdHJpbmcgdmFsdWUuClRo ZSBzdHJpbmcgdmFsdWUgaXMgYSBkeW5hbWljIHR5cGUgd2l0aCBjb2RlIFRZUEVfQ09ERV9TVFJJ TkcuCgpCZWZvcmUgdGhpcyBjb21taXQgdGhlIGR5bmFtaWMgdHlwZSByZXNvbHV0aW9uIHdvdWxk IGFsd2F5cyBjb252ZXJ0IHRoaXMgdG8KYSBUWVBFX0NPREVfQVJSQVkgb2YgY2hhcmFjdGVycywg d2hpY2ggdGhlIEMgdmFsdWUgcHJpbnRpbmcgY291bGQgaGFuZGxlLgoKQnV0IG5vdyBhZnRlciB0 aGlzIGNvbW1pdCB3ZSBnZXQgYSBUWVBFX0NPREVfU1RSSU5HLCB3aGljaApuZWl0aGVyIHRoZSBD IHZhbHVlIHByaW50aW5nLCBvciB0aGUgZ2VuZXJpYyB2YWx1ZSBwcmludGluZyBjb2RlIGNhbgpz dXBwb3J0LiAgQW5kIHNvLCBJJ3ZlIGFkZGVkIHN1cHBvcnQgZm9yIFRZUEVfQ09ERV9TVFJJTkcg dG8gdGhlIEMgdmFsdWUKcHJpbnRpbmcsIHN0cmluZ3MgYXJlIGhhbmRsZWQganVzdCBsaWtlIGFy cmF5cy4KCkxhc3RseSwgaW4gZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5leHAgYW5kIGdkYi5mb3J0 cmFuL3N0cmluZy10eXBlcy5leHAKdGVzdHMgaXQgZXhwZWN0cyB0eXBlIG9mIGNoYXJhY3RlciBh cnJheSBpbiAnY2hhcmFjdGVyICgzKScgZm9ybWF0IGJ1dCBub3cKYWZ0ZXIgdGhpcyBjaGFuZ2Ug d2UgZ2V0ICdjaGFyYWN0ZXIqMycsIHNvIHRlc3RzIGFyZSB1cGRhdGVkIGFjY29yZGluZ2x5LgoK MjAyMy0wMS0xNyBBYmR1bCBCYXNpdCBJamF6IDxhYmR1bC5iLmlqYXpAaW50ZWwuY29tPgotLS0K IGdkYi9jLXZhbHByaW50LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIGdkYi9n ZGJ0eXBlcy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQ1ICsrKysrKysrKysrKysr LS0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLXR5cGVzLmV4cCB8ICA0ICstCiBn ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1hcnJheS5leHAgICAgfCA2MCArKysrKysrKysr KysrKysrKysrKysrCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1hcnJheS5mOTAgICAg fCA0NSArKysrKysrKysrKysrKysrCiBnZGIvdGVzdHN1aXRlL2dkYi5vcHQvZm9ydHJhbi1zdHJp bmcuZXhwICAgfCAgMiArLQogNiBmaWxlcyBjaGFuZ2VkLCAxNTEgaW5zZXJ0aW9ucygrKSwgNiBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS1hcnJheS5leHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1hcnJheS5mOTAKCmRpZmYgLS1naXQgYS9nZGIvYy12YWxwcmludC5jIGIvZ2RiL2Mt dmFscHJpbnQuYwppbmRleCBjZTc1OWJjODg3Zi4uM2I3NDRiNzYyNTQgMTAwNjQ0Ci0tLSBhL2dk Yi9jLXZhbHByaW50LmMKKysrIGIvZ2RiL2MtdmFscHJpbnQuYwpAQCAtNDI3LDYgKzQyNyw3IEBA IGNfdmFsdWVfcHJpbnRfaW5uZXIgKHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdWlfZmlsZSAq c3RyZWFtLCBpbnQgcmVjdXJzZSwKICAgc3dpdGNoICh0eXBlLT5jb2RlICgpKQogICAgIHsKICAg ICBjYXNlIFRZUEVfQ09ERV9BUlJBWToKKyAgICBjYXNlIFRZUEVfQ09ERV9TVFJJTkc6CiAgICAg ICBjX3ZhbHVlX3ByaW50X2FycmF5ICh2YWwsIHN0cmVhbSwgcmVjdXJzZSwgb3B0aW9ucyk7CiAg ICAgICBicmVhazsKIApkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmMgYi9nZGIvZ2RidHlwZXMu YwppbmRleCA2YTRjNTk3NmYxOC4uNmRmYTM3MDVhMWEgMTAwNjQ0Ci0tLSBhL2dkYi9nZGJ0eXBl cy5jCisrKyBiL2dkYi9nZGJ0eXBlcy5jCkBAIC0yMzUzLDkgKzIzNTMsNDUgQEAgcmVzb2x2ZV9k eW5hbWljX2FycmF5X29yX3N0cmluZ18xIChzdHJ1Y3QgdHlwZSAqdHlwZSwKIAkJCQkJCSAgICBy YW5rIC0gMSwgcmVzb2x2ZV9wKTsKICAgICB9CiAgIGVsc2UKLSAgICBlbHRfdHlwZSA9IHR5cGUt PnRhcmdldF90eXBlICgpOworICAgIHsKKyAgICAgIC8qIFRoZSBmb2xsb3dpbmcgc3BlY2lhbCBj YXNlIGZvciBUWVBFX0NPREVfU1RSSU5HIHNob3VsZCBub3QgYmUKKwkgbmVlZGVkLCBpZGVhbGx5 IHdlIHdvdWxkIGRlZmVyIHJlc29sdmluZyB0aGUgZHluYW1pYyB0eXBlIG9mIHRoZQorCSBhcnJh eSBlbGVtZW50cyB1bnRpbCBuZWVkZWQgbGF0ZXIsIGFuZCBpbmRlZWQsIHRoZSByZXNvbHZlZCB0 eXBlCisJIG9mIGVhY2ggYXJyYXkgZWxlbWVudCBtaWdodCBiZSBkaWZmZXJlbnQsIHNvIGF0dGVt cHRpbmcgdG8gcmVzb2x2ZQorCSB0aGUgdHlwZSBoZXJlIG1ha2VzIG5vIHNlbnNlLgorCisJIEhv d2V2ZXIsIGluIEZvcnRyYW4sIGZvciBhcnJheXMgb2Ygc3RyaW5ncywgZWFjaCBlbGVtZW50IG11 c3QgYmUKKwkgdGhlIHNhbWUgdHlwZSwgYXMgc3VjaCwgdGhlIERXQVJGIGZvciB0aGUgc3RyaW5n IGxlbmd0aCByZWxpZXMgb24KKwkgdGhlIG9iamVjdCBhZGRyZXNzIG9mIHRoZSBhcnJheSBpdHNl bGYuCisKKwkgVGhlIHByb2JsZW0gaGVyZSBpcyB0aGF0LCB3aGVuIHdlIGNyZWF0ZSB2YWx1ZSdz IGZyb20gdGhlIGR5bmFtaWMKKwkgYXJyYXkgdHlwZSwgd2UgcmVzb2x2ZSB0aGUgZGF0YSBsb2Nh dGlvbiwgYW5kIHVzZSB0aGF0IGFzIHRoZQorCSB2YWx1ZSBhZGRyZXNzLCB0aGlzIGNvbXBsZXRl bHkgZGlzY2FyZHMgdGhlIG9yaWdpbmFsIHZhbHVlCisJIGFkZHJlc3MsIGFuZCBpdCBpcyB0aGlz IG9yaWdpbmFsIHZhbHVlIGFkZHJlc3MgdGhhdCBpcyB0aGUKKwkgZGVzY3JpcHRvciBmb3IgdGhl IGR5bmFtaWMgYXJyYXksIHRoZSB2ZXJ5IGFkZHJlc3MgdGhhdCB0aGUgRFdBUkYKKwkgbmVlZHMg dXMgdG8gcHVzaCBpbiBvcmRlciB0byByZXNvbHZlIHRoZSBkeW5hbWljIHN0cmluZyBsZW5ndGgu CisKKwkgV2hhdCB0aGlzIG1lYW5zIHRoZW4sIGlzIHRoYXQsIGdpdmVuIHRoZSBjdXJyZW50IHN0 YXRlIG9mIEdEQiwgaWYKKwkgd2UgZG9uJ3QgcmVzb2x2ZSB0aGUgc3RyaW5nIGxlbmd0aCBub3cs IHRoZW4gd2Ugd2lsbCBoYXZlIGxvc3QKKwkgYWNjZXNzIHRvIHRoZSBhZGRyZXNzIG9mIHRoZSBk eW5hbWljIG9iamVjdCBkZXNjcmlwdG9yLCBhbmQgc28gd2UKKwkgd2lsbCBub3QgYmUgYWJsZSB0 byByZXNvbHZlIHRoZSBkeW5hbWljIHN0cmluZyBsYXRlci4KKworCSBGb3Igbm93IHRoZW4sIHdl IGhhbmRsZSBzcGVjaWFsIGNhc2UgVFlQRV9DT0RFX1NUUklORyBvbiBiZWhhbGYgb2YKKwkgRm9y dHJhbiwgYW5kIGhvcGUgdGhhdCB0aGlzIGRvZXNuJ3QgY2F1c2UgcHJvYmxlbXMgZm9yIGFueW9u ZQorCSBlbHNlLiAgKi8KKyAgICAgIGlmIChhcnlfZGltLT5jb2RlICgpID09IFRZUEVfQ09ERV9T VFJJTkcpCisJZWx0X3R5cGUgPSByZXNvbHZlX2R5bmFtaWNfdHlwZV9pbnRlcm5hbCAodHlwZS0+ dGFyZ2V0X3R5cGUgKCksCisJCQkJCQkgIGFkZHJfc3RhY2ssIDApOworICAgICAgZWxzZQorCWVs dF90eXBlID0gdHlwZS0+dGFyZ2V0X3R5cGUgKCk7CisgICAgfQogCiAgIHByb3AgPSB0eXBlLT5k eW5fcHJvcCAoRFlOX1BST1BfQllURV9TVFJJREUpOworICBpZiAocHJvcCAhPSBudWxscHRyICYm IHR5cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1NUUklORykKKyAgICB7CisgICAgICAgcHJvcCA9 IG51bGxwdHI7CisgICAgICAgd2FybmluZyAoXygiYnl0ZSBzdHJpZGUgcHJvcGVydHkgaWdub3Jl ZCBvbiBzdHJpbmcgdHlwZSIpKTsKKyAgICB9CiAgIGlmIChwcm9wICE9IE5VTEwgJiYgcmVzb2x2 ZV9wKQogICAgIHsKICAgICAgIGlmIChkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKHByb3AsIE5V TEwsIGFkZHJfc3RhY2ssICZ2YWx1ZSkpCkBAIC0yMzc1LDggKzI0MTEsMTEgQEAgcmVzb2x2ZV9k eW5hbWljX2FycmF5X29yX3N0cmluZ18xIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgZWxzZQogICAg IGJpdF9zdHJpZGUgPSBUWVBFX0ZJRUxEX0JJVFNJWkUgKHR5cGUsIDApOwogCi0gIHJldHVybiBj cmVhdGVfYXJyYXlfdHlwZV93aXRoX3N0cmlkZSAodHlwZSwgZWx0X3R5cGUsIHJhbmdlX3R5cGUs IE5VTEwsCi0JCQkJCWJpdF9zdHJpZGUpOworICBpZiAodHlwZS0+Y29kZSAoKSA9PSBUWVBFX0NP REVfU1RSSU5HKQorICAgIHJldHVybiBjcmVhdGVfc3RyaW5nX3R5cGUgKHR5cGUsIGVsdF90eXBl LCByYW5nZV90eXBlKTsKKyAgZWxzZQorICAgIHJldHVybiBjcmVhdGVfYXJyYXlfdHlwZV93aXRo X3N0cmlkZSAodHlwZSwgZWx0X3R5cGUsIHJhbmdlX3R5cGUsIE5VTEwsCisJCQkJCSAgYml0X3N0 cmlkZSk7CiB9CiAKIC8qIFJlc29sdmUgYW4gYXJyYXkgb3Igc3RyaW5nIHR5cGUgd2l0aCBkeW5h bWljIHByb3BlcnRpZXMsIHJldHVybiBhIG5ldwpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9zdHJpbmctdHlwZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9z dHJpbmctdHlwZXMuZXhwCmluZGV4IDMxMTRmYmFhYzc4Li4zNzk4NTdiMjEzOCAxMDA2NDQKLS0t IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmctdHlwZXMuZXhwCisrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLXR5cGVzLmV4cApAQCAtNTIsNyArNTIsNyBAQCB3 aXRoX3Rlc3RfcHJlZml4ICJ0aGlyZCBicmVha3BvaW50LCBmaXJzdCB0aW1lIiB7CiAgICAgIyBD b250aW51ZSB0byB0aGUgdGhpcmQgYnJlYWtwb2ludC4KICAgICBnZGJfY29udGludWVfdG9fYnJl YWtwb2ludCAiY29udGludWUiCiAgICAgZ2RiX3Rlc3QgInByaW50IHMiICIgPSAnZm9vJyIKLSAg ICBnZGJfdGVzdCAicHR5cGUgcyIgInR5cGUgPSBjaGFyYWN0ZXIgXFwoM1xcKSIKKyAgICBnZGJf dGVzdCAicHR5cGUgcyIgInR5cGUgPSBjaGFyYWN0ZXJcXCozIgogfQogCiB3aXRoX3Rlc3RfcHJl Zml4ICJ0aGlyZCBicmVha3BvaW50LCBzZWNvbmQgdGltZSIgewpAQCAtNjUsNSArNjUsNSBAQCB3 aXRoX3Rlc3RfcHJlZml4ICJ0aGlyZCBicmVha3BvaW50LCBzZWNvbmQgdGltZSIgewogICAgICMg YnkgbW9zdCB1c2Vycywgc28gc2VlbXMgZ29vZCBlbm91Z2guCiAgICAgZ2RiX2NvbnRpbnVlX3Rv X2JyZWFrcG9pbnQgImNvbnRpbnVlIgogICAgIGdkYl90ZXN0ICJwcmludCBzIiAiID0gJ2Zvb1xc XFxuXFxcXHRcXFxcclxcXFwwMDBiYXInIgotICAgIGdkYl90ZXN0ICJwdHlwZSBzIiAidHlwZSA9 IGNoYXJhY3RlciBcXCgxMFxcKSIKKyAgICBnZGJfdGVzdCAicHR5cGUgcyIgInR5cGUgPSBjaGFy YWN0ZXJcXCoxMCIKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxh LWFycmF5LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFycmF5LmV4cApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzUwMTQxYjczMzAKLS0tIC9kZXYv bnVsbAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1hcnJheS5leHAKQEAgLTAs MCArMSw2MCBAQAorIyBDb3B5cmlnaHQgMjAyMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworc3RhbmRhcmRfdGVzdGZpbGUgIi5mOTAiCitsb2Fk X2xpYiAiZm9ydHJhbi5leHAiCisKK2lmIHtbc2tpcF9mb3J0cmFuX3Rlc3RzXX0geyByZXR1cm4g LTEgfQorCitpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0 ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCisgICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9IHsKKyAgICBy ZXR1cm4gLTEKK30KKworaWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsKKyAgICB1bnRlc3RlZCAi Y291bGQgbm90IHJ1biB0byBtYWluIgorICAgIHJldHVybiAtMQorfQorCisjIFRyeSB0byBhY2Nl c3MgdmxhIHN0cmluZyAvIHZsYSBzdHJpbmcgYXJyYXkgLyBzdHJpbmcgYXJyYXkgdmFsdWVzLgor Z2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgImFycl92bGExLXByaW50Il0KK2dk Yl9jb250aW51ZV90b19icmVha3BvaW50ICJhcnJfdmxhMS1wcmludCIKKworIyBHRm9ydHJhbiBk b2VzIG5vdCBlbWl0IERXX1RBR19zdHJpbmdfdHlwZSBmb3IgYXJyYXkgb2YgdmFyaWFibGUgbGVu Z3RoCisjIHN0cmluZy4KK2lmIFt0ZXN0X2NvbXBpbGVyX2luZm8gImdmb3J0cmFuKiIgZjkwXSB7 IHNldHVwX3hmYWlsICotKi0qIGdjYy8xMDE4MjYgfQorZ2RiX3Rlc3QgInByaW50IGFycl92bGEx IiAgXAorICAgICIgPSBcXFwoJ3ZsYWFyeXZsYWFyeScsICd2bGFhcnl2bGFhcnknLCAndmxhYXJ5 dmxhYXJ5JywgJ3ZsYWFyeXZsYWFyeScsICd2bGFhcnl2bGFhcnknXFxcKSIgIFwKKyAgICAicHJp bnQgdmxhIHN0cmluZyBhcnJheSIKKworaWYgW3Rlc3RfY29tcGlsZXJfaW5mbyAiZ2ZvcnRyYW4q IiBmOTBdIHsgc2V0dXBfeGZhaWwgKi0qLSogZ2NjLzEwMTgyNiB9CitnZGJfdGVzdCAicHR5cGUg YXJyX3ZsYTEiICBcCisgICAgInR5cGUgPSBjaGFyYWN0ZXJcXCoxMiBcXCg1XFwpIiAgXAorICAg ICJwcmludCB2YXJpYWJsZSBsZW5ndGggc3RyaW5nIGFycmF5IHR5cGUiCitnZGJfdGVzdCAicHJp bnQgYXJyX3ZsYTIiICBcCisgICAgIiA9ICd2bGFhcnknIiAgXAorICAgICJwcmludCB2YXJpYWJs ZSBsZW5ndGggc3RyaW5nIgorZ2RiX3Rlc3QgInB0eXBlIGFycl92bGEyIiAgXAorICAgICJ0eXBl ID0gY2hhcmFjdGVyXFwqNiIgIFwKKyAgICAicHJpbnQgdmFyaWFibGUgbGVuZ3RoIHN0cmluZyB0 eXBlIgorZ2RiX3Rlc3QgInByaW50IGFycjIiICBcCisgICAgIiA9IFxcXCgndmxhYXJ5dmxhJywg J3ZsYWFyeXZsYScsICd2bGFhcnl2bGEnXFxcKSIgIFwKKyAgICAicHJpbnQgc3RyaW5nIGFycmF5 IgorZ2RiX3Rlc3QgInB0eXBlIGFycjIiICBcCisgICAgInR5cGUgPSBjaGFyYWN0ZXJcXCo5IFxc KDNcXCkiICBcCisgICAgInByaW50IHN0cmluZyBhcnJheSB0eXBlIgorZ2RiX3Rlc3QgInByaW50 IHJhbmsoYXJyX3ZsYTEpIiAgXAorICAgICIkZGVjaW1hbCIgIFwKKyAgICAicHJpbnQgc3RyaW5n IGFycmF5IHJhbmsiCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1h cnJheS5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1hcnJheS5mOTAKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjdhZjg4ZmI0NDE0Ci0tLSAvZGV2L251 bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtYXJyYXkuZjkwCkBAIC0wLDAg KzEsNDUgQEAKKyEgQ29weXJpZ2h0IDIwMjMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CishCishIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CishIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CishIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCishIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCishCishIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorISBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorISBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl CishIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCishCishIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCishIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCitzdWJyb3V0aW5lIHZsYV9hcnJheV9mdW5jIChhcnJf dmxhMSwgYXJyX3ZsYTIsIGFycjIpCisgIGNoYXJhY3RlciAobGVuPSopOjogYXJyX3ZsYTEgKDop CisgIGNoYXJhY3RlciAobGVuPSopOjogYXJyX3ZsYTIKKyAgY2hhcmFjdGVyIChsZW49OSk6OiBh cnIyICg6KQorCisgIHByaW50ICosIGFycl92bGExICAgICEgYXJyX3ZsYTEtcHJpbnQKKyAgcHJp bnQgKiwgYXJyX3ZsYTIKKyAgcHJpbnQgKiwgYXJyMgorICBwcmludCAqLCByYW5rKGFycl92bGEx KQorZW5kIHN1YnJvdXRpbmUgdmxhX2FycmF5X2Z1bmMKKworcHJvZ3JhbSB2bGFfYXJyYXlfbWFp bgoraW50ZXJmYWNlCisgIHN1YnJvdXRpbmUgdmxhX2FycmF5X2Z1bmMgKGFycl92bGExLCBhcnJf dmxhMiwgYXJyMikKKyAgICBjaGFyYWN0ZXIgKGxlbj0qKTo6IGFycl92bGExICg6KQorICAgIGNo YXJhY3RlciAobGVuPSopOjogYXJyX3ZsYTIKKyAgICBjaGFyYWN0ZXIgKGxlbj05KTo6IGFycjIg KDopCisgIGVuZCBzdWJyb3V0aW5lIHZsYV9hcnJheV9mdW5jCitlbmQgaW50ZXJmYWNlCisgIGNo YXJhY3RlciAobGVuPTkpIDo6IGFycjEgKDMpCisgIGNoYXJhY3RlciAobGVuPTYpIDo6IGFycjIK KyAgY2hhcmFjdGVyIChsZW49MTIpIDo6IGFycjMgKDUpCisKKyAgYXJyMSA9ICd2bGFhcnl2bGEn CisgIGFycjIgPSAndmxhYXJ5JworICBhcnIzID0gJ3ZsYWFyeXZsYWFyeScKKworICBjYWxsIHZs YV9hcnJheV9mdW5jIChhcnIzLCBhcnIyLCBhcnIxKQorCitlbmQgcHJvZ3JhbSB2bGFfYXJyYXlf bWFpbgpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5leHAKaW5kZXggZTQyYjI5 MDU1NzguLjAxNzUwZTM1OWRhIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvZm9y dHJhbi1zdHJpbmcuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmlu Zy5leHAKQEAgLTMzLDUgKzMzLDUgQEAgaWYgeyFbcnVudG8gZl19IHsKIAogZ2RiX3Rlc3Rfbm9f b3V0cHV0ICJzZXQgcHJpbnQgZnJhbWUtYXJndW1lbnRzIGFsbCIKIGdkYl90ZXN0ICJmcmFtZSIg Ii4qcz0nZm9vJy4qIgotZ2RiX3Rlc3QgInB0eXBlIHMiICJ0eXBlID0gY2hhcmFjdGVyIFxcKDNc XCkiCitnZGJfdGVzdCAicHR5cGUgcyIgInR5cGUgPSBjaGFyYWN0ZXJcXCozIgogZ2RiX3Rlc3Qg InAgcyIgIlxcJFxbMC05XF0qID0gJ2ZvbyciCi0tIAoyLjM5LjAKCkludGVsIERldXRzY2hsYW5k IEdtYkgKUmVnaXN0ZXJlZCBBZGRyZXNzOiBBbSBDYW1wZW9uIDEwLCA4NTU3OSBOZXViaWJlcmcs IEdlcm1hbnkKVGVsOiArNDkgODkgOTkgODg1My0wLCB3d3cuaW50ZWwuZGUgPGh0dHA6Ly93d3cu aW50ZWwuZGU+Ck1hbmFnaW5nIERpcmVjdG9yczogQ2hyaXN0aW4gRWlzZW5zY2htaWQsIFNoYXJv biBIZWNrLCBUaWZmYW55IERvb24gU2lsdmEgIApDaGFpcnBlcnNvbiBvZiB0aGUgU3VwZXJ2aXNv cnkgQm9hcmQ6IE5pY29sZSBMYXUKUmVnaXN0ZXJlZCBPZmZpY2U6IE11bmljaApDb21tZXJjaWFs IFJlZ2lzdGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4Cg==