From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2F952C87FC9 for ; Wed, 30 Jul 2025 05:35:55 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugzTF-0001uC-3V; Wed, 30 Jul 2025 01:35:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ugzTC-0001oV-V1 for grub-devel@gnu.org; Wed, 30 Jul 2025 01:35:18 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ugzTA-0002yh-Ro for grub-devel@gnu.org; Wed, 30 Jul 2025 01:35:18 -0400 Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56TNQnsu021870; Wed, 30 Jul 2025 05:35:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=EUm1CRiVznTrwGQNQ mrmtBWylmc7JA0EuSqUtf1CiPA=; b=cThhaz5BMV6hPt7QjlTnSV/REiXzaxHBh 4Rnsp+jvwQ9NdJnSiBiU/H08/E/Br/RgsVOYIKpLgW7vTBST1tK7tcdDnefWuJnT ikwy0QKq18qNGv/wOGZ1/i6V/gVZtzXqdL10OK6U5YXlrM3V+vx6cf8NKlL0bNs6 Tcaml8BMIr6RnfyUFvg7ZMEk27Pn9E3LnsaDoT2j8tD3k1VjEJDwACsoKrZcUgBk Bsl+GgkP8gQIC2nBGD+cnij8YNangZKZgugdISn0sPvWkqGDYXsYIQvhuUyU7Ls0 h0Pm4PzIkcNilY8cHeL2/7Kk4LRWnc8e0eaomMJZ2oLqjf/XrbHCA== Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 484qemtt8w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 30 Jul 2025 05:35:15 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 56U2eDq2006209; Wed, 30 Jul 2025 05:35:14 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 485bjm5tfm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 30 Jul 2025 05:35:14 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 56U5Z5X432375420 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 30 Jul 2025 05:35:06 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D7AB12004B; Wed, 30 Jul 2025 05:35:05 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 52BD020043; Wed, 30 Jul 2025 05:35:04 +0000 (GMT) Received: from localhost.localdomain (unknown [9.109.249.65]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 30 Jul 2025 05:35:04 +0000 (GMT) From: Avnish Chouhan To: grub-devel@gnu.org Cc: daniel.kiper@oracle.com, brking@linux.ibm.com, meghanaprakash@in.ibm.com, mchang@suse.com, Avnish Chouhan , Diego Domingos Subject: [PATCH v6 2/6] ieee1275: implement FCP methods for WWPN and LUNs Date: Wed, 30 Jul 2025 11:04:01 +0530 Message-ID: <20250730053405.41417-3-avnish@linux.ibm.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20250730053405.41417-1-avnish@linux.ibm.com> References: <20250730053405.41417-1-avnish@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: EVSMHsmlKuP6qQlMN5zAK0YjEWyimZbm X-Proofpoint-GUID: EVSMHsmlKuP6qQlMN5zAK0YjEWyimZbm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzMwMDAzNSBTYWx0ZWRfX6mVNdxRXsUh/ UqVc8h69Hhg9h3xDLBb3EGHvFn5c0umR/6w6UHkFHqJ2xbIytknrarZQGtuLkMWYvF/qmB0gJgL PSsnmPXjh/djrH+y2aP/w8egUELK2k6Vmk71rWeUt2PIyv8/VnMjP+kUvaBXLIY9ZUgkPuFLbM9 +PFtL7qKS4Z5p71cFsBHPqId8ahF9jQUSG9vXj/QMhDKcvSLoEBRr0FzSAFIw40lOvrK4SJoOqO W96kruI0YiL3ghUaHjJTDrYsqSISKGh3tKEqXIu7PZZVBFeGVnd9XttSGZ+EpsML3AjcCD6s7tD 1u46d4CXtwh3e0Wl+ZRZdz7JZDlJB/DsDfjMPEHWLs+37EZVEtTgV9/uoKuY6YnNNJRCYnFVHbK hFqvcUW3FJG/WlEU7ZtCljoR0Wmp15z97PUyGgXlUp9nCFasLroyGpgQjp4IX+2bu5o3IHmW X-Authority-Analysis: v=2.4 cv=BJOzrEQG c=1 sm=1 tr=0 ts=6889af13 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=Wb1JkmetP80A:10 a=VnNF1IyMAAAA:8 a=KQiAYig6fPd_x4YfP60A:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-07-30_02,2025-07-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 mlxlogscore=909 priorityscore=1501 malwarescore=0 mlxscore=0 bulkscore=0 adultscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2507300035 Received-SPF: pass client-ip=148.163.156.1; envelope-from=avnish@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org VGhpcyBwYXRjaCBlbmFibGVzIHRoZSBmY3AtdGFyZ2V0cyBhbmQgZmNwLWx1bnMgbWV0aG9kcyB3 aGljaCBhcmUKcmVzcG9uc2libGUgdG8gZ2V0IFdXUE5zIGFuZCBMVU5zIGZvciBmaWJyZSBjaGFu bmVsIGRldmljZXMuCgpUaG9zZSBtZXRob2RzIGFyZSBzcGVjaWFsbHkgbmVjZXNzYXJ5IGlmIHRo ZSBib290IGRpcmVjdG9yeSBhbmQgZ3J1YgppbnN0YWxsYXRpb24gYXJlIGluIGRpZmZlcmVudCBG Q1AgZGlza3MsIGFsbG93aW5nIHRoZSBkZXZfaXRlcmF0ZSgpCnRvIGZpbmQgdGhlIFdXUE5zIGFu ZCBMVU5zIHdoZW4gY2FsbGVkIGJ5IHNlYXJjaGZzLnV1aWQgdG9vbC4KClNpZ25lZC1vZmYtYnk6 IERpZWdvIERvbWluZ29zIDxkaWVnb2RvQGJyLmlibS5jb20+ClNpZ25lZC1vZmYtYnk6IEF2bmlz aCBDaG91aGFuIDxhdm5pc2hAbGludXguaWJtLmNvbT4KLS0tCiBncnViLWNvcmUvZGlzay9pZWVl MTI3NS9vZmRpc2suYyB8IDExMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9ncnViLWNvcmUvZGlzay9pZWVlMTI3NS9vZmRpc2su YyBiL2dydWItY29yZS9kaXNrL2llZWUxMjc1L29mZGlzay5jCmluZGV4IDU1MzQ2ODQuLjU5NThl NWUgMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9kaXNrL2llZWUxMjc1L29mZGlzay5jCisrKyBiL2dy dWItY29yZS9kaXNrL2llZWUxMjc1L29mZGlzay5jCkBAIC0yMDksNyArMjA5LDExNiBAQCBkZXZf aXRlcmF0ZV9yZWFsIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpwYXRoKQogc3RhdGlj IHZvaWQKIGRldl9pdGVyYXRlIChjb25zdCBzdHJ1Y3QgZ3J1Yl9pZWVlMTI3NV9kZXZhbGlhcyAq YWxpYXMpCiB7Ci0gIGlmIChncnViX3N0cmNtcCAoYWxpYXMtPnR5cGUsICJ2c2NzaSIpID09IDAp CisgIGlmIChncnViX3N0cmNtcCAoYWxpYXMtPnR5cGUsICJmY3AiKSA9PSAwKQorICAgIHsKKyAg ICAgIC8qCisgICAgICAgKiBJZiB3ZSBhcmUgZGVhbGluZyB3aXRoIGZjcCBkZXZpY2VzLCB3ZSBu ZWVkCisgICAgICAgKiB0byBmaW5kIHRoZSBXV1BOcyBhbmQgTFVOcyB0byBpdGVyYXRlIHRoZW0K KyAgICAgICAqLworICAgICAgZ3J1Yl9pZWVlMTI3NV9paGFuZGxlX3QgaWhhbmRsZTsKKyAgICAg IGdydWJfdWludDY0X3QgKnB0cl90YXJnZXRzLCAqcHRyX2x1bnMsIGssIGw7CisgICAgICB1bnNp Z25lZCBpbnQgaSwgaiwgcG9zOworICAgICAgY2hhciAqYnVmLCAqYnVmcHRyOworICAgICAgc3Ry dWN0IHNldF9mY3BfdGFyZ2V0c19hcmdzCisgICAgICB7CisgICAgICAgIHN0cnVjdCBncnViX2ll ZWUxMjc1X2NvbW1vbl9oZHIgY29tbW9uOworICAgICAgICBncnViX2llZWUxMjc1X2NlbGxfdCBt ZXRob2Q7CisgICAgICAgIGdydWJfaWVlZTEyNzVfY2VsbF90IGloYW5kbGU7CisgICAgICAgIGdy dWJfaWVlZTEyNzVfY2VsbF90IGNhdGNoX3Jlc3VsdDsKKyAgICAgICAgZ3J1Yl9pZWVlMTI3NV9j ZWxsX3QgbmVudHJpZXM7CisgICAgICAgIGdydWJfaWVlZTEyNzVfY2VsbF90IHRhYmxlOworICAg ICAgfSBhcmdzX3RhcmdldHM7CisKKyAgICAgIHN0cnVjdCBzZXRfZmNwX2x1bnNfYXJncworICAg ICAgeworICAgICAgICBzdHJ1Y3QgZ3J1Yl9pZWVlMTI3NV9jb21tb25faGRyIGNvbW1vbjsKKyAg ICAgICAgZ3J1Yl9pZWVlMTI3NV9jZWxsX3QgbWV0aG9kOworICAgICAgICBncnViX2llZWUxMjc1 X2NlbGxfdCBpaGFuZGxlOworICAgICAgICBncnViX2llZWUxMjc1X2NlbGxfdCB3d3BuX2g7Cisg ICAgICAgIGdydWJfaWVlZTEyNzVfY2VsbF90IHd3cG5fbDsKKyAgICAgICAgZ3J1Yl9pZWVlMTI3 NV9jZWxsX3QgY2F0Y2hfcmVzdWx0OworICAgICAgICBncnViX2llZWUxMjc1X2NlbGxfdCBuZW50 cmllczsKKyAgICAgICAgZ3J1Yl9pZWVlMTI3NV9jZWxsX3QgdGFibGU7CisgICAgICB9IGFyZ3Nf bHVuczsKKworICAgICAgc3RydWN0IGFyZ3NfcmV0CisgICAgICB7CisgICAgICAgIGdydWJfdWlu dDY0X3QgYWRkcjsKKyAgICAgICAgZ3J1Yl91aW50NjRfdCBsZW47CisgICAgICB9OworCisgICAg ICBpZiAoZ3J1Yl9pZWVlMTI3NV9vcGVuIChhbGlhcy0+cGF0aCwgJmloYW5kbGUpKQorICAgICAg ICB7CisgICAgICAgICAgZ3J1Yl9kcHJpbnRmICgiZGlzayIsICJmYWlsZWQgdG8gb3BlbiB0aGUg ZGlzayB3aGlsZSBpdGVyYXRpbmcgRkNQIGRpc2sgcGF0aD0lc1xuIiwgYWxpYXMtPnBhdGgpOwor ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAvKiBTZXR1cCB0aGUgZmNwLXRh cmdldHMgbWV0aG9kIHRvIGNhbGwgdmlhIHBmdyovCisgICAgICBJTklUX0lFRUUxMjc1X0NPTU1P TiAoJmFyZ3NfdGFyZ2V0cy5jb21tb24sICJjYWxsLW1ldGhvZCIsIDIsIDMpOworICAgICAgYXJn c190YXJnZXRzLm1ldGhvZCA9IChncnViX2llZWUxMjc1X2NlbGxfdCkgImZjcC10YXJnZXRzIjsK KyAgICAgIGFyZ3NfdGFyZ2V0cy5paGFuZGxlID0gaWhhbmRsZTsKKworICAgICAgLyogU2V0dXAg dGhlIGZjcC1sdW5zIG1ldGhvZCB0byBjYWxsIHZpYSBwZncgKi8KKyAgICAgIElOSVRfSUVFRTEy NzVfQ09NTU9OICgmYXJnc19sdW5zLmNvbW1vbiwgImNhbGwtbWV0aG9kIiwgNCwgMyk7CisgICAg ICBhcmdzX2x1bnMubWV0aG9kID0gKGdydWJfaWVlZTEyNzVfY2VsbF90KSAiZmNwLWx1bnMiOwor ICAgICAgYXJnc19sdW5zLmloYW5kbGUgPSBpaGFuZGxlOworICAgICAgaWYgKElFRUUxMjc1X0NB TExfRU5UUllfRk4gKCZhcmdzX3RhcmdldHMpID09IC0xKQorICAgICAgICB7CisgICAgICAgICAg Z3J1Yl9kcHJpbnRmICgiZGlzayIsICJmYWlsZWQgdG8gZ2V0IHRoZSB0YXJnZXRzIHdoaWxlIGl0 ZXJhdGluZyBGQ1AgZGlzayBwYXRoPSVzXG4iLCBhbGlhcy0+cGF0aCk7CisgICAgICAgICAgZ3J1 Yl9pZWVlMTI3NV9jbG9zZSAoaWhhbmRsZSk7CisgICAgICAgICAgcmV0dXJuOworICAgICAgICB9 CisgICAgICBidWYgPSBncnViX21hbGxvYyAoZ3J1Yl9zdHJsZW4gKGFsaWFzLT5wYXRoKSArIDMy ICsgMzIpOworICAgICAgaWYgKCFidWYpCisgICAgICAgIHsKKyAgICAgICAgICBncnViX2llZWUx Mjc1X2Nsb3NlIChpaGFuZGxlKTsKKyAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAg IGJ1ZnB0ciA9IGdydWJfc3RwY3B5IChidWYsIGFsaWFzLT5wYXRoKTsKKworICAgICAgLyoKKyAg ICAgICAqIEl0ZXJhdGUgb3ZlciBlbnRyaWVzIHJldHVybmVkIGJ5IHBmdy4gRWFjaCBlbnRyeSBj b250YWlucyBhCisgICAgICAgKiBwb2ludGVyIHRvIHd3cG4gdGFibGUgYW5kIGhpcyBsZW5ndGgu CisgICAgICAgKi8KKyAgICAgIHN0cnVjdCBhcmdzX3JldCAqdGFyZ2V0c190YWJsZSA9IChzdHJ1 Y3QgYXJnc19yZXQgKikgKGFyZ3NfdGFyZ2V0cy50YWJsZSk7CisgICAgICBmb3IgKGkgPSAwOyBp IDwgYXJnc190YXJnZXRzLm5lbnRyaWVzOyBpKyspCisgICAgICAgIHsKKyAgICAgICAgICBwdHJf dGFyZ2V0cyA9IChncnViX3VpbnQ2NF90KikgdGFyZ2V0c190YWJsZVtpXS5hZGRyOworICAgICAg ICAgIC8qIEl0ZXJhdGUgb3ZlciBhbGwgd3dwbnMgaW4gZ2l2ZW4gdGFibGUgKi8KKyAgICAgICAg ICBmb3IoayA9IDA7IGsgPCB0YXJnZXRzX3RhYmxlW2ldLmxlbjsgaysrKQorICAgICAgICAgICAg eworICAgICAgICAgICAgICBhcmdzX2x1bnMud3dwbl9sID0gKGdydWJfaWVlZTEyNzVfY2VsbF90 KSAoKnB0cl90YXJnZXRzKTsKKyAgICAgICAgICAgICAgYXJnc19sdW5zLnd3cG5faCA9IChncnVi X2llZWUxMjc1X2NlbGxfdCkgKCpwdHJfdGFyZ2V0cyA+PiAzMik7CisgICAgICAgICAgICAgIHBv cyA9IGdydWJfc25wcmludGYgKGJ1ZnB0ciwgMzIsICIvZGlza0AlIiBQUkl4R1JVQl9VSU5UNjRf VCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncnViX2dldF91bmFsaWduZWQ2 NCAoKnB0cl90YXJnZXRzKyspKTsKKyAgICAgICAgICAgICAgLyogR2V0IHRoZSBsdW5zIGZvciBn aXZlbiB3d3BuIHRhcmdldCAqLworICAgICAgICAgICAgICBpZiAoSUVFRTEyNzVfQ0FMTF9FTlRS WV9GTiAoJmFyZ3NfbHVucykgPT0gLTEpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgICAgZ3J1Yl9kcHJpbnRmICgiZGlzayIsICJmYWlsZWQgdG8gZ2V0IHRoZSBMVU5TIHdoaWxl IGl0ZXJhdGluZyBGQ1AgZGlzayBwYXRoPSVzXG4iLCBidWYpOworICAgICAgICAgICAgICAgICAg Z3J1Yl9pZWVlMTI3NV9jbG9zZSAoaWhhbmRsZSk7CisgICAgICAgICAgICAgICAgICBncnViX2Zy ZWUgKGJ1Zik7CisgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgICBzdHJ1Y3QgYXJnc19yZXQgKmx1bnNfdGFibGUgPSAoc3RydWN0IGFyZ3Nf cmV0ICopIChhcmdzX2x1bnMudGFibGUpOworCisgICAgICAgICAgICAgIC8qIEl0ZXJhdGUgb3Zl ciBhbGwgTFVOcyAqLworICAgICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBhcmdzX2x1bnMubmVu dHJpZXM7IGorKykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICBwdHJfbHVu cyA9IChncnViX3VpbnQ2NF90KikgbHVuc190YWJsZVtqXS5hZGRyOworICAgICAgICAgICAgICAg ICAgZm9yKGwgPSAwOyBsIDwgbHVuc190YWJsZVtqXS5sZW47IGwrKykKKyAgICAgICAgICAgICAg ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgIGdydWJfc25wcmludGYgKCZidWZwdHJbcG9z XSwgMzAsICIsJSIgUFJJeEdSVUJfVUlOVDY0X1QsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncnViX2dldF91bmFsaWduZWQ2NCAoKnB0cl9sdW5zKyspKTsKKyAgICAgICAg ICAgICAgICAgICAgICBkZXZfaXRlcmF0ZV9yZWFsIChidWYsIGJ1Zik7CisgICAgICAgICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg ICAgIGdydWJfaWVlZTEyNzVfY2xvc2UgKGloYW5kbGUpOworICAgICAgZ3J1Yl9mcmVlIChidWYp OworICAgICAgcmV0dXJuOworICAgIH0KKyAgZWxzZSBpZiAoZ3J1Yl9zdHJjbXAgKGFsaWFzLT50 eXBlLCAidnNjc2kiKSA9PSAwKQogICAgIHsKICAgICAgIHN0YXRpYyBncnViX2llZWUxMjc1X2lo YW5kbGVfdCBpaGFuZGxlOwogICAgICAgc3RydWN0IHNldF9jb2xvcl9hcmdzCi0tIAoyLjMxLjEK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpHcnViLWRl dmVsIG1haWxpbmcgbGlzdApHcnViLWRldmVsQGdudS5vcmcKaHR0cHM6Ly9saXN0cy5nbnUub3Jn L21haWxtYW4vbGlzdGluZm8vZ3J1Yi1kZXZlbAo=