Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pKdcl-000072-CG for pgsql-hackers@arkaria.postgresql.org; Wed, 25 Jan 2023 11:07:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pKdck-0005pn-B1 for pgsql-hackers@arkaria.postgresql.org; Wed, 25 Jan 2023 11:07:26 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pKdcj-0005pd-Rz for pgsql-hackers@lists.postgresql.org; Wed, 25 Jan 2023 11:07:26 +0000 Received: from esa7.fujitsucc.c3s2.iphmx.com ([68.232.159.87]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pKdcg-000240-W6 for pgsql-hackers@lists.postgresql.org; Wed, 25 Jan 2023 11:07:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1674644843; x=1706180843; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=xGmtNZuvluCbFt2QHBZz3xxulxXYojfH99y3w+zsW4Y=; b=WDzzDOUtdknANzdqrpkQBUuK+I2NMPdMDYWWrxwU1k3AmoPv43CWgwjg Mb6JPJJJLkinPNdFwUxsRuGLYQPe1b79BL5Yc4U3kXtWwrAk483upptQn BXLOn7A5ZcrQB6OY3/6DGgaWhNzxqAzucTXfAUUo0WVW/AUDW/EHEjhuy SxKWB/yH819fruE67LL/P09g7DNPVLQwiDUJTunBmYPBWg9UAQAFvxd/W l0/0dQPRA7vQ74MXaD5XYbfTbYOc8/724lG77sCgZkkL5T6y0AfVPMDxG 4ChfzhNzmLjp0S6oJAdvRScCuD8umVaVGCveLmpKMYWwifQXCS9h0PQzt A==; X-IronPort-AV: E=McAfee;i="6500,9779,10600"; a="75447189" X-IronPort-AV: E=Sophos;i="5.97,245,1669042800"; d="scan'208,223";a="75447189" Received: from mail-tycjpn01lp2169.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.169]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jan 2023 20:07:20 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cvDjGAlv964mLOFs+XIWzWipmc+7DF1V+As9zVZ8n9AwGC+VY/qbWbfbe7Qvn8mb25S6WgbZfdDxJGpaQDhUz08fdWpIK2I/m7EibBAFvUEslGIh3FXIbP6GpeB2oUcLgyg4lKi5pUauzwNngPabzU7tyiBO8OwNj4+4BPVuppiAksOvUGSNTYdQjOhl0W0VFy9XBLeDpcmAWBqxWfuu1c/NUluvoezigw8DYrxIN3hbVrbJigiabjV3ohFWluq23MUDyuRjHjuM3RwWfAXC2J0DkxTk9dO+9ROhBFF6BhOjgUOM5LlyDCgjTyGUCeeSB004A4dhbNphmq5ZJ6MXJA== 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=0HkmDIoLAvEBLemSdozQIVobNf/rlnIycc+EP6/X+wA=; b=DAex/iDmq+4lNQeHeVG5iX/7nQ3QBjEw1i+6oSfWZaFSwRdlFTZFJZDZbk8cJAm0vmZ17G0lhohhpIk+6WmfJzsZT0lNBL24yATS9rIBuskhkV9B0Nz6UhUrXzWSTGIhwba5ziVvQc2wcteX5T5W0hqwuhrNlzGog/ojKYqMEY6dV9d63aO1HKxwB7CshReM+OrDgXuv62+zX9PJt+7nTnE8ShSFxpXSgLzvUAwvGUYs+gKkY05ReQXrHfK4HC0yo4/Mm1PrCOaRALCbzNh3t8WKbxhHbQRdFA3CTN+mpxTvV5+HUYinASMNPldMvjk7Z6G5fC8aUqgMt+DXOakM4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com (2603:1096:404:8056::13) by TYWPR01MB10346.jpnprd01.prod.outlook.com (2603:1096:400:24a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Wed, 25 Jan 2023 11:07:16 +0000 Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::edfe:53df:fd78:7d61]) by TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::edfe:53df:fd78:7d61%3]) with mapi id 15.20.6043.017; Wed, 25 Jan 2023 11:07:16 +0000 From: "Hayato Kuroda (Fujitsu)" To: 'Katsuragi Yuta' CC: 'Ted Yu' , Tom Lane , vignesh C , "pgsql-hackers@lists.postgresql.org" , =?utf-8?B?w5ZuZGVyIEthbGFjxLE=?= , Fujii Masao , "Shinya11.Kato@oss.nttdata.com" , Kyotaro Horiguchi Subject: RE: [Proposal] Add foreign-server health checks infrastructure Thread-Topic: [Proposal] Add foreign-server health checks infrastructure Thread-Index: AdfNNjec7xk22WznTt+52qg+YpAmvANdE8aAAG+tXeAALaEGgADyvFSgAOXdLoAAHbFoIAAJMQQAAVzrX4ABVSpkgAcm+qGAAFKrs2AALpHaMABlDPQAAZXPwNAAQjmEAALZMWcAADGlIkAAC7y9AADsTM0AAAZl5AAAATiOkAAEa8NQAAKKo4AAWAdDgAGbNSLQJuCMuwAAoOugoAI4TMiAACGQ9/AAAsDDgAABIZnQAAoMxAAAF66VEAGrPlUAAOu0qvAAeBgsAAKNT0GQAe1YiIACwRN2kAI41iQAABfOBaAChYGx0ALSd9iAAVF24eAAAY4aAAAYCjbwAAGTDIAAHpfZEAAF6AnAAcX2foAAM4kSQAACpiCAAFMwRkAAbPeWAAAFpxUw Date: Wed, 25 Jan 2023 11:07:16 +0000 Message-ID: References: <20221206182638.w3vrfal4qix4hf2w@awork3.anarazel.de> <204604.1673324688@sss.pgh.pa.us> <20a2c622cd4d763cf0b09b395a953ccc@oss.nttdata.com> In-Reply-To: <20a2c622cd4d763cf0b09b395a953ccc@oss.nttdata.com> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfRW5hYmxlZD10cnVlOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJh?= =?utf-8?B?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjMtMDEtMjVUMTA6NTg6?= =?utf-8?B?MjBaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD03YWMwNjRkZi0zZWI0LTRkNWYt?= =?utf-8?B?OTA0Yi05ZDc4NzFmMjA2MTc7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYAPR01MB5866:EE_|TYWPR01MB10346:EE_ x-ms-office365-filtering-correlation-id: aa3d8894-b7c3-44e6-80d4-08dafec451ad x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dhL2S68MvHSAje1op290nFnCTHB7YHm0yXxQuvreOf+ryYXNLV8mct8L5VkbVFED+45tRcysdaGBv2LWFZFOifd0yyvWXwtIsew2ApvfEViPM03gMTUuAtDB3yBmPm492cIbpMLvuvUfMFn6lAMgY4OpyYGuCtISgKaav1vY/9kVMYKFK4m8eRg2KfW+3D91/dm+kbE9xwCkyvIVKJIasELO7GvFetqofPlT9CkzycFo/tNfrRGXJS6XRRl5XvayH1hw/FZv1h9Gj9ZWM4vACWdQDuTP7/2PFuXXrHavizKZceVR+yrCowqLDjPgObeBvyW6Jp+Kq4km9sJ+l2ZrmaX616hEMtDdnH8klGJhnKtL1q0lfAqBQsGyGH2uaYYOhGMqXy402kG9uIbbf33Igsfzgf//x05B+ogeU6KehLY9Nb993XDfl2sC6lxIXSsbMkhUMxrhm6NptfFO4efH3LX6ksk/gSyVxMTK4D7dCp8kVHNOVTfBtORfCp5WtG7KvoTl7vd5oo/qYusoY5yQQaoS+CtUbcn/ulaMzyqEx1cmrnAO9jrlI8SiRVOEXGU1/T1lIcwgD/s6WAvTE/Q80JhLIGV4V2x9N214QLacdN2CCKReqSdU8wVYGhdydd14rrDJz5HJyQ2/kNJucAnabGv484zi2jPvPEp17PhbV26GOXFvBH/8EmNPGtnAQh9M81yA0J0URkgVM0BU4LGg16oTBVdH8PNHOnSx65eW9TE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYAPR01MB5866.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(39860400002)(136003)(346002)(366004)(396003)(451199018)(1590799015)(33656002)(83380400001)(99936003)(38100700002)(122000001)(1580799012)(54906003)(6916009)(66556008)(66446008)(64756008)(478600001)(8676002)(186003)(66476007)(71200400001)(9686003)(38070700005)(76116006)(66946007)(85182001)(7696005)(55016003)(4744005)(2906002)(86362001)(41300700001)(82960400001)(26005)(5660300002)(52536014)(316002)(6506007)(4326008)(8936002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OWFoVkZWTWUyK3BaYzVxN0lNY2F4TDkyT1FtTGc5SnozVUlib0dLZXp5R0RM?= =?utf-8?B?QUorQnNZV2NmUy9OMDhWTDJHclJwM3ZMdVZJNTh6ZHNNWVVVUWwzamlkcjgr?= =?utf-8?B?c3cyQWhNZURyalJIakR1OExZNTBxaUFyNFRLc0xaYlg2ejNKNmQvbEJJL1lr?= =?utf-8?B?WnRjalpkcVFITEkrTVcwQ2xhWjlPdUhlVmU5SENSR1pzYWJXMU9UeHlHQXZr?= =?utf-8?B?cHljNFFhYlV2eXBEaWFNbkxTdklaTklleWMvNHZVajRMSjVTdXhZUkVrZmUz?= =?utf-8?B?MlpaMWkvWDFBQTlZT3Uxa3JLVmEvUm5LeE9Dc1MyekZKV050Y1c0RDdUd0Nh?= =?utf-8?B?dmVucDlBVDZ0ckR3UGtrSjF0S0tjc1dOOFNjKy9HWk15c1JMRjFmNGlBNXNC?= =?utf-8?B?eWg2UjBQN2lTUXUyNzZ2bEI5dVFEbVc3clBRMTJHK3ZXaGQwU0tWYU1neHhX?= =?utf-8?B?UWNHUW5RN09sRjRBamlYeDQ0Nld6M2FJN1RnbnpQaUw1M3pJOGM1UnlCY2xG?= =?utf-8?B?YzkxcVNlMERnRDR4WkVaZ2NZY0ZGZ01EN2FxMnZHckVXc1o2YXJ4UDdaRTRp?= =?utf-8?B?eU9kelBpWDRvVEZZZTF4QmFLMzlYTFBvVTZsRytLOVo2Y2JIL21tZVZEZ0Nr?= =?utf-8?B?U2ozTW4xRzFqZzdKQUlDL1JjOUJMZG5PZVpLcUErTWpaYTVBNlJMd2Q0WGl6?= =?utf-8?B?ZXA4TmNtaWQ4L2VNOVB4V3E5b3ZZNWxERTJ2b3ExRmJ5U1cwY2c0cHZyNk1x?= =?utf-8?B?ZUtNWWM2dEVpeEo0cHdXVCt1eDBGcnV4aVpvdTRJLzlyOVMvM2NaZXgxSitK?= =?utf-8?B?Sm9hNEg0MU41bUJwbllPMmlFZ2NrQTU2bFlBUnUvUmV3QW52NEs5Zm8rR1pB?= =?utf-8?B?SXc4cGV4N2dDaU5FUFBKQzF5WXdjY013cTFrbXJRSHhZNHMrTGQ5QUZRQ3Fv?= =?utf-8?B?MkJpTTNNdVRySFV1Ym9LbXhaQTFmSWhHRVhkb1pLaEFUdSs3UzFWU1p2Q2p4?= =?utf-8?B?SXJKQkxQNDM4UUtndnhSY3NMQkFrVE5tdUpNTVpJWERiQ3FWb011WHBPOE1F?= =?utf-8?B?TjZhamdWUXU0RHZpK1lyMzRaTTVzVnRqVmdNWmhxYUlISlJqOHVYRmpSUWhr?= =?utf-8?B?WWk4SGtEa3NzRWdEcmk5cDZLV3NtbGk2YU9wN084d3FjRldwRVVmSWlKTmVF?= =?utf-8?B?ZUZPWWcybFhiVnZJajBhbnZsTERXZzB5UHpVZDJRanJteUIyampUeTdJUlUz?= =?utf-8?B?UDhicjRHZTZ4MkZRZjlXdzZUYUFxUU4vTGRQMjNDNEVnZmh4blVxRzBRQlhk?= =?utf-8?B?cjM3OWRvaFNNdk14SGduSzlqajZIbkZqZzdoMGY3K2FUbUt3SEZnV1BQbUJo?= =?utf-8?B?V25uUHNTaVh3K0lTckg1cWpqNGJTeFFYRExqQ0VmV2lBZ1U1MGVNZ0NMK1V0?= =?utf-8?B?cWpYK2pkRm54S1NXNEE4VnBiRnFOakVsYXRHMlhJMk1YSk5YR2dORkdZbm16?= =?utf-8?B?WGcwVk1wem9laEV0OXlabDF1ZnRoS05wQkNyNTFrdzV6NzdtVU9ocERncTFw?= =?utf-8?B?Z2NmZTZxQVllWFZNMzdLT0dXRytjaFc2cHZkY0l4TGs1dWlVU1pvSnpJS0Mv?= =?utf-8?B?NzROZ0tWUFdCbmdkZXFWbCthaTFwOFZ0UEcwSFgvdEU1K3dYWlV5UUQzd3da?= =?utf-8?B?V0ZuZnVSaG95dTB4SG9PYnJnNk8zRjZ6S1pUc1lzSUlNMlFMREwrdWxJUlVt?= =?utf-8?B?ekFCcWtoQzJzNEx3Uk5XZ1kvcXRHeFJRZ0ZUMzdGQnA0UE5uZXh2SjVZOFNU?= =?utf-8?B?K3VkYVkwTlRTQWpNcmY2UFZMVGZHUTBUSC9CcTJZN0N4cnMxaVg5OVV4M0RY?= =?utf-8?B?L1N0Mi9teVhsTEtjdlpGQ1ZPRnhaek1MSHpaemNUTFFnaEwxUHhBeXMwTWk0?= =?utf-8?B?amE1TUxxelV6VU1yZW5aR1RvN1RwbExoMGlBMllJUThwdU15azVRNkU5aDc1?= =?utf-8?B?TDJSdWgxczEvZW9zZWs2M21BUUxSQU1IYXRUNW5nUGQ4RExtNFVwQXFEaWQw?= =?utf-8?B?SXVRRTZRa3RObjlBMm5hSU9OcVY2Z3I4Wk8xc1NRSVIyZkFlazlvRnBWSXh1?= =?utf-8?B?SS9FZlE5aTVhVkNoQ3ZrSUVQK2d2VUhqNzRSVk5HcVRYcHd3OGQvdDhCcU51?= =?utf-8?B?U1E9PQ==?= Content-Type: multipart/mixed; boundary="_004_TYAPR01MB5866969DBAEEEC5AE07591BFF5CE9TYAPR01MB5866jpnp_" MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ygDLW4ei8wXhn1sw2ViG6e6wGToCVtZnBFBG56X8Y0lbqgIs+bgJkzGmpfhJIhTExS+THriRzk6PqS0S7S6w0MIhpQPCYcz7IqfYGaS4pRseGW4fi3N4LJEh/R/5wVeg42hKtPnOljLIYW4z6zQfwf09VYDQFn3JKPVZjSwBtWjKrLPwt4EcanfKkxzZ6bWmo8G8/N4SdfD18GvBj2WmoThN56Okx9QmJFT74Jkm8Xd+k2Buq1kjbVNxUTl4ENYhBpNDVndc4l7oKTqXN9NRjY6aeORtr/WUvNFuC8ZCjA6VU/zmBJbKT4G7GRf8uR4uIH0zb/NdS/xSL0KkQ+Ptn3x5DkSVVdpmQnJUMKOvo1+6ov9EFALVGG2PhrBysxnqtfvh4nlneHIQczZFW3FRtribipN09niILIT97qtEtkV1lRabZF2qQbzvOvOrp8Q3pcWudJC72sJxAyIDQP0EA2zo/OxvWto8OMYUa79OR8L2PZg+8A6lcUZL2n2eJ+PlquGTeOgLxDOeHveoxmodNYLe3JkVkPjIRtavL+7H67Xs8AvgRZSEyBytmyHCisNmlrwO0sMqWk5XJxScpDajkprVueCUuMuCYlpP4j3U/P1p0R/SDp2XkIDr3F3GiW2t/vJncL3IeARBTsdCu0+sOn62u9yqguds0OmtFc01jYi3kZGG/+05suic+n7b4LzXcTc5KHp43IQPTd+Hcsa+ktnLQwTQBKVJBwn1gkB8qM37Hsfx9lOpdnIqnePgfQWWw4JVVTgyx0aDNShSr2Y7OGLjfgXw1HeonGJ4PR8VyfvC6CBnXW8LIyGQVGY4nEupyNNKXjK2NGdGu+HFT0d3pHf64z1XiPQtEnK5IW5o7Qjg8t/uhmupHCiXcm5LTZw1HYlQXo7hQXSwwcxlLBoHjg== X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYAPR01MB5866.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: aa3d8894-b7c3-44e6-80d4-08dafec451ad X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jan 2023 11:07:16.3091 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: xerdq0zJoaNp4q9mZfmi+/qwS4AhF26FVF6g9pAdPZLo/v2ez5+Tcv3GO9UZGD2LNC1nSK1aX8u5kwtMuZbP5G4EsW8IZUKC64UmtlvRAuw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB10346 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_TYAPR01MB5866969DBAEEEC5AE07591BFF5CE9TYAPR01MB5866jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 RGVhciBLYXRzdXJhZ2ktc2FuLA0KDQpUaGFuayB5b3UgZm9yIHJlYWRpbmcgdGhlIHBhdGNoISBQ U0EgbmV3IHZlcnNpb24uDQoNCj4gVGhhbmsgeW91IGZvciB1cGRhdGluZyB0aGUgcGF0Y2ghDQo+ IA0KPiArLyogQ2hlY2sgd2hldGhlciB0aGUgcG9zdGdyZXMgc2VydmVyIGlzIHN0aWxsIGFsaXZl IG9yIG5vdCAqLw0KPiArZXh0ZXJuIGludCBQUUNvbm5DaGVjayhQR2Nvbm4gKmNvbm4pOw0KPiAr ZXh0ZXJuIGludCBQUUNhbkNvbm5DaGVjayh2b2lkKTsNCj4gDQo+IEFyZW4ndCB0aGVzZSBQUWNv bm5DaGVjayBhbmQgUFFjYW5Db25uQ2hlY2s/IEkgdGhpbmsgdGhlIGZpcnN0IGxldHRlcg0KPiBm b2xsb3dpbmcgJ1BRJyBzaG91bGQgYmUgbG93ZXIgY2FzZS4NCg0KSSBjYW5ub3QgZmluZCBhbnkg cnVsZXMgYWJvdXQgaXQsIGJ1dCBzZWVtcyByaWdodC4gRml4ZWQuDQoNCkJlc3QgUmVnYXJkcywN CkhheWF0byBLdXJvZGENCkZVSklUU1UgTElNSVRFRA0KDQo= --_004_TYAPR01MB5866969DBAEEEC5AE07591BFF5CE9TYAPR01MB5866jpnp_ Content-Type: application/octet-stream; name="v27-0001-Add-PQconnCheck-and-PQcanConnCheck-to-libpq.patch" Content-Description: v27-0001-Add-PQconnCheck-and-PQcanConnCheck-to-libpq.patch Content-Disposition: attachment; filename="v27-0001-Add-PQconnCheck-and-PQcanConnCheck-to-libpq.patch"; size=5115; creation-date="Wed, 25 Jan 2023 10:56:26 GMT"; modification-date="Wed, 25 Jan 2023 11:07:15 GMT" Content-Transfer-Encoding: base64 RnJvbSAwZGRiNTM5ZGFjYmRmNTg0NDhmNTI3ZWY2M2NiYjc0OGRjZjM5MGQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAia3Vyb2RhLmhheWF0byU0MGpwLmZ1aml0c3UuY29tIiA8a3Vy b2RhLmhheWF0b0BqcC5mdWppdHN1LmNvbT4KRGF0ZTogVHVlLCAxIE5vdiAyMDIyIDA5OjEzOjIw ICswMDAwClN1YmplY3Q6IFtQQVRDSCB2MjcgMS8zXSBBZGQgUFFjb25uQ2hlY2sgYW5kIFBRY2Fu Q29ubkNoZWNrIHRvIGxpYnBxCgpQUWNvbm5DaGVjaygpIGZ1bmN0aW9uIGFsbG93cyB0byBjaGVj ayB0aGUgc3RhdHVzIG9mIHNvY2tldCBieSBwb2xsaW5nCnRoZSBzb2NrZXQuIFRoaXMgZnVuY3Rp b24gaXMgY3VycmVudGx5IGF2YWlsYWJsZSBvbmx5IG9uIHN5c3RlbXMgdGhhdApzdXBwb3J0IHRo ZSBub24tc3RhbmRhcmQgUE9MTFJESFVQIGV4dGVuc2lvbiB0byB0aGUgcG9sbCBzeXN0ZW0gY2Fs bCwKaW5jbHVkaW5nIExpbnV4LgoKUFFjYW5Db25uQ2hlY2soKSBjaGVja3Mgd2hldGhlciBhYm92 ZSBmdW5jdGlvbiBpcyBhdmFpbGFibGUgb3Igbm90LgotLS0KIGRvYy9zcmMvc2dtbC9saWJwcS5z Z21sICAgICAgICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKwogc3JjL2ludGVyZmFjZXMv bGlicHEvZXhwb3J0cy50eHQgfCAgMiArKwogc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtbWlzYy5j ICAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjL2ludGVyZmFjZXMv bGlicHEvbGlicHEtZmUuaCAgfCAgNCArKysKIDQgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbCBiL2RvYy9zcmMvc2dt bC9saWJwcS5zZ21sCmluZGV4IDBlN2FlNzBjNzAuLmM4Nzg5ZWNkOTUgMTAwNjQ0Ci0tLSBhL2Rv Yy9zcmMvc2dtbC9saWJwcS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9saWJwcS5zZ21sCkBAIC0y Njc5LDYgKzI2NzksNDYgQEAgdm9pZCAqUFFnZXRzc2woY29uc3QgUEdjb25uICpjb25uKTsKICAg ICAgPC9saXN0aXRlbT4KICAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgIDx2YXJsaXN0ZW50cnkg aWQ9ImxpYnBxLVBRQ29ubkNoZWNrIj4KKyAgICAgPHRlcm0+PGZ1bmN0aW9uPlBRQ29ubkNoZWNr PC9mdW5jdGlvbj48aW5kZXh0ZXJtPjxwcmltYXJ5PlBRQ29ubkNoZWNrPC9wcmltYXJ5PjwvaW5k ZXh0ZXJtPjwvdGVybT4KKyAgICAgPGxpc3RpdGVtPgorICAgICAgPHBhcmE+CisgICAgICAgUmV0 dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBzb2NrZXQuCisKKzxzeW5vcHNpcz4KK2ludCBQUUNvbm5D aGVjayhQR2Nvbm4gKmNvbm4pOworPC9zeW5vcHNpcz4KKyAgICAgIDwvcGFyYT4KKworICAgICAg PHBhcmE+CisgICAgICAgVW5saWtlIDx4cmVmIGxpbmtlbmQ9ImxpYnBxLVBRc3RhdHVzIi8+LCB0 aGlzIGZ1bmN0aW9uIGNoZWNrcyBzb2NrZXQKKyAgICAgICBoZWFsdGguIFRoaXMgY2hlY2sgaXMg cGVyZm9ybWVkIGJ5IHBvbGxpbmcgdGhlIHNvY2tldC4gVGhpcyBmdW5jdGlvbiBpcworICAgICAg IGN1cnJlbnRseSBhdmFpbGFibGUgb25seSBvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCB0aGUgbm9u LXN0YW5kYXJkCisgICAgICAgPHN5bWJvbD5QT0xMUkRIVVA8L3N5bWJvbD4gZXh0ZW5zaW9uIHRv IHRoZSA8c3ltYm9sPnBvbGw8L3N5bWJvbD4gc3lzdGVtCisgICAgICAgY2FsbCwgaW5jbHVkaW5n IExpbnV4LiA8eHJlZiBsaW5rZW5kPSJsaWJwcS1QUUNvbm5DaGVjayIvPiByZXR1cm5zIDxsaXRl cmFsPjE8L2xpdGVyYWw+CisgICAgICAgaWYgdGhlIHJlbW90ZSBwZWVyIHNlZW1zIHRvIGJlIGNs b3NlZCwgcmV0dXJucyA8bGl0ZXJhbD4wPC9saXRlcmFsPiBpZgorICAgICAgIHRoZSBzb2NrZXQg aXMgdmFsaWQsIGFuZCByZXR1cm5zIDxsaXRlcmFsPi0xPC9saXRlcmFsPiBpZiB0aGUgY29ubmVj dGlvbgorICAgICAgIGhhcyBiZWVuIGFscmVhZHkgaW52YWxpZC4KKyAgICAgIDwvcGFyYT4KKyAg ICAgPC9saXN0aXRlbT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgIDx2YXJsaXN0ZW50cnkg aWQ9ImxpYnBxLVBRY2FuQ29ubkNoZWNrIj4KKyAgICAgPHRlcm0+PGZ1bmN0aW9uPlBRY2FuQ29u bkNoZWNrPC9mdW5jdGlvbj48aW5kZXh0ZXJtPjxwcmltYXJ5PlBRY2FuQ29ubkNoZWNrPC9wcmlt YXJ5PjwvaW5kZXh0ZXJtPjwvdGVybT4KKyAgICAgPGxpc3RpdGVtPgorICAgICAgPHBhcmE+Cisg ICAgICAgUmV0dXJucyB3aGV0aGVyIDx4cmVmIGxpbmtlbmQ9ImxpYnBxLVBRQ29ubkNoZWNrIi8+ IGlzIGF2YWlsYWJsZSBvbiB0aGlzCisgICAgICAgcGxhdGZvcm0uIDx4cmVmIGxpbmtlbmQ9Imxp YnBxLVBRY2FuQ29ubkNoZWNrIi8+IHJldHVybnMKKyAgICAgICA8bGl0ZXJhbD4xPC9saXRlcmFs PiBpZiB0aGUgZnVuY3Rpb24gaXMgc3VwcG9ydGVkLCBvdGhlcndpc2UgcmV0dXJucworICAgICAg IDxsaXRlcmFsPjA8L2xpdGVyYWw+LgorCis8c3lub3BzaXM+CitpbnQgUFFjYW5Db25uQ2hlY2so dm9pZCk7Cis8L3N5bm9wc2lzPgorICAgICAgPC9wYXJhPgorICAgICA8L2xpc3RpdGVtPgorICAg IDwvdmFybGlzdGVudHJ5PgorCiAgICA8L3ZhcmlhYmxlbGlzdD4KICAgPC9wYXJhPgogCmRpZmYg LS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9leHBvcnRzLnR4dCBiL3NyYy9pbnRlcmZhY2Vz L2xpYnBxL2V4cG9ydHMudHh0CmluZGV4IGU4YmNjODgzNzAuLjVjOTA4YmZlNmUgMTAwNjQ0Ci0t LSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2V4cG9ydHMudHh0CisrKyBiL3NyYy9pbnRlcmZhY2Vz L2xpYnBxL2V4cG9ydHMudHh0CkBAIC0xODYsMyArMTg2LDUgQEAgUFFwaXBlbGluZVN0YXR1cyAg ICAgICAgICAxODMKIFBRc2V0VHJhY2VGbGFncyAgICAgICAgICAgMTg0CiBQUW1ibGVuQm91bmRl ZCAgICAgICAgICAgIDE4NQogUFFzZW5kRmx1c2hSZXF1ZXN0ICAgICAgICAxODYKK1BRY29ubkNo ZWNrICAgICAgICAgICAgICAgMTg3CitQUWNhbkNvbm5DaGVjayAgICAgICAgICAgIDE4OApkaWZm IC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtbWlzYy5jIGIvc3JjL2ludGVyZmFjZXMv bGlicHEvZmUtbWlzYy5jCmluZGV4IDM2NTNhMWE4YTYuLjQ5ZjVjYTM0NzkgMTAwNjQ0Ci0tLSBh L3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLW1pc2MuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJw cS9mZS1taXNjLmMKQEAgLTEyMTgsNiArMTIxOCw2MyBAQCBQUWVudjJlbmNvZGluZyh2b2lkKQog CXJldHVybiBlbmNvZGluZzsKIH0KIAorLyoKKyAqIEhlbHBlciBmdW5jdGlvbiBmb3IgUFFjb25u Q2hlY2soKS4KKyAqCisgKiBSZXR1cm4gPjAgaWYgb3Bwb3NpdGUgc2lkZSBzZWVtcyB0byBiZSBk aXNjb25uZWN0ZWQuCisgKi8KK3N0YXRpYyBpbnQKK3BxY29ubkNoZWNrX2ludGVybmFsKGludCBz b2NrKQoreworI2lmIChkZWZpbmVkKEhBVkVfUE9MTCkgJiYgZGVmaW5lZChQT0xMUkRIVVApKQor CXN0cnVjdCBwb2xsZmQgaW5wdXRfZmQ7CisJaW50IGVycmZsYWdzID0gUE9MTEhVUCB8IFBPTExF UlIgfCBQT0xMTlZBTDsKKworCWlucHV0X2ZkLmZkID0gc29jazsKKwlpbnB1dF9mZC5ldmVudHMg PSBQT0xMUkRIVVAgfCBlcnJmbGFnczsKKwlpbnB1dF9mZC5yZXZlbnRzID0gMDsKKworCXBvbGwo JmlucHV0X2ZkLCAxLCAwKTsKKworCXJldHVybiBpbnB1dF9mZC5yZXZlbnRzOworI2Vsc2UKKwkv KiBEbyBub3Qgc3VwcG9ydCBzb2NrZXQgY2hlY2tpbmcgb24gdGhpcyBwbGF0Zm9ybSwgcmV0dXJu IDAgKi8KKwlyZXR1cm4gMDsKKyNlbmRpZgorfQorCisvKgorICogQ2hlY2sgd2hldGhlciB0aGUg c29ja2V0IHBlZXIgY2xvc2VkIGNvbm5lY3Rpb24gb3Igbm90LgorICoKKyAqIFJldHVybnMgPjAg aWYgcmVtb3RlIHBlZXIgc2VlbXMgdG8gYmUgY2xvc2VkLCAwIGlmIGl0IGlzIHZhbGlkLAorICog LTEgaWYgdGhlIGlucHV0IGNvbm5lY3Rpb24gaXMgYmFkLgorICovCitpbnQKK1BRY29ubkNoZWNr KFBHY29ubiAqY29ubikKK3sKKwkvKiBxdWljayBleGl0IGlmIGludmFsaWQgY29ubmVjdGlvbiBo YXMgY29tZSAqLworCWlmIChjb25uID09IE5VTEwgfHwKKwkJY29ubi0+c29jayA9PSBQR0lOVkFM SURfU09DS0VUIHx8CisJCWNvbm4tPnN0YXR1cyAhPSBDT05ORUNUSU9OX09LKQorCQlyZXR1cm4g LTE7CisKKwlyZXR1cm4gcHFjb25uQ2hlY2tfaW50ZXJuYWwoY29ubi0+c29jayk7Cit9CisKKy8q CisgKiBDaGVjayB3aGV0aGVyIFBRY29ubkNoZWNrKCkgY2FuIHdvcmsgd2VsbCBvbiB0aGlzIHBs YXRmb3JtLgorICoKKyAqIFJldHVybnMgMSBpZiB0aGlzIGNhbiB1c2UgUFFjb25uQ2hlY2soKSwg b3RoZXJ3aXNlIDAuCisgKi8KK2ludAorUFFjYW5Db25uQ2hlY2sodm9pZCkKK3sKKyNpZiAoZGVm aW5lZChIQVZFX1BPTEwpICYmIGRlZmluZWQoUE9MTFJESFVQKSkKKwlyZXR1cm4gdHJ1ZTsKKyNl bHNlCisJcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CiAKICNpZmRlZiBFTkFCTEVfTkxTCiAKZGlm ZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2xpYnBxLWZlLmggYi9zcmMvaW50ZXJmYWNl cy9saWJwcS9saWJwcS1mZS5oCmluZGV4IGYzZDkyMjA0OTYuLjA0YTAzOTVlZmIgMTAwNjQ0Ci0t LSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2xpYnBxLWZlLmgKKysrIGIvc3JjL2ludGVyZmFjZXMv bGlicHEvbGlicHEtZmUuaApAQCAtNjQ4LDYgKzY0OCwxMCBAQCBleHRlcm4gaW50CVBRZHNwbGVu KGNvbnN0IGNoYXIgKnMsIGludCBlbmNvZGluZyk7CiAvKiBHZXQgZW5jb2RpbmcgaWQgZnJvbSBl bnZpcm9ubWVudCB2YXJpYWJsZSBQR0NMSUVOVEVOQ09ESU5HICovCiBleHRlcm4gaW50CVBRZW52 MmVuY29kaW5nKHZvaWQpOwogCisvKiBDaGVjayB3aGV0aGVyIHRoZSBwb3N0Z3JlcyBzZXJ2ZXIg aXMgc3RpbGwgYWxpdmUgb3Igbm90ICovCitleHRlcm4gaW50IFBRY29ubkNoZWNrKFBHY29ubiAq Y29ubik7CitleHRlcm4gaW50IFBRY2FuQ29ubkNoZWNrKHZvaWQpOworCiAvKiA9PT0gaW4gZmUt YXV0aC5jID09PSAqLwogCiBleHRlcm4gY2hhciAqUFFlbmNyeXB0UGFzc3dvcmQoY29uc3QgY2hh ciAqcGFzc3dkLCBjb25zdCBjaGFyICp1c2VyKTsKLS0gCjIuMjcuMAoK --_004_TYAPR01MB5866969DBAEEEC5AE07591BFF5CE9TYAPR01MB5866jpnp_ Content-Type: application/octet-stream; name="v27-0002-postgres_fdw-add-postgres_fdw_verify_connection_.patch" Content-Description: v27-0002-postgres_fdw-add-postgres_fdw_verify_connection_.patch Content-Disposition: attachment; filename="v27-0002-postgres_fdw-add-postgres_fdw_verify_connection_.patch"; size=11316; creation-date="Wed, 25 Jan 2023 10:56:26 GMT"; modification-date="Wed, 25 Jan 2023 11:07:15 GMT" Content-Transfer-Encoding: base64 RnJvbSA0ZDI4ZTA5MWFlMDMzZmQ1YWU1OGVlMjZhZjkwNzNmMDFlZDNkMDU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAia3Vyb2RhLmhheWF0byU0MGpwLmZ1aml0c3UuY29tIiA8a3Vy b2RhLmhheWF0b0BqcC5mdWppdHN1LmNvbT4KRGF0ZTogVHVlLCAxIE5vdiAyMDIyIDA5OjEzOjQy ICswMDAwClN1YmplY3Q6IFtQQVRDSCB2MjcgMi8zXSBwb3N0Z3Jlc19mZHc6IGFkZAogcG9zdGdy ZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRlcwoKVGhpcyBmdW5jdGlvbiBjYW4gdmVyaWZ5 IHRoZSBzdGF0dXMgb2YgY29ubmVjdGlvbnMgdGhhdCBhcmUgZXN0YWJsaWVzaGVkIGJ5CnBvc3Rn cmVzX2Zkdy4gVGhpcyBjaGVjayB3aWwgYmUgZG9uZSBieSBQUWNvbm5DaGVjaygpLCB3aGljaCBt ZWFucyB0aGlzIGlzCmF2YWlsYWJsZSBvbmx5IG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IHRoZSBu b24tc3RhbmRhcmQgUE9MTFJESFVQIGV4dGVuc2lvbgp0byB0aGUgcG9sbCBzeXN0ZW0gY2FsbCwg aW5jbHVkaW5nIExpbnV4LgpUaGlzIHJldHVybnMgdHJ1ZSBpZiBjaGVja2VkIGNvbm5lY3Rpb24g aXMgc3RpbGwgdmFsaWQsIG9yIHRoZSBjaGVja2luZyBpcwpub3Qgc3VwcG9ydGVkIG9uIHRoaXMg cGxhdGZvcm0uIEZhbHNlIGlzIHJldHVybmVkIGlmIHRoZSBjb25uZWN0aW9uIHNlZW1zCnRvIGJl IGNsb3NlZC4KLS0tCiBjb250cmliL3Bvc3RncmVzX2Zkdy9NYWtlZmlsZSAgICAgICAgICAgICAg ICAgfCAgIDIgKy0KIGNvbnRyaWIvcG9zdGdyZXNfZmR3L2Nvbm5lY3Rpb24uYyAgICAgICAgICAg ICB8IDEyNCArKysrKysrKysrKysrKysrKysKIGNvbnRyaWIvcG9zdGdyZXNfZmR3L21lc29uLmJ1 aWxkICAgICAgICAgICAgICB8ICAgMSArCiAuLi4vcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy0t MS4xLS0xLjIuc3FsICAgfCAgMTkgKysrCiBjb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19m ZHcuY29udHJvbCAgICAgfCAgIDIgKy0KIGRvYy9zcmMvc2dtbC9wb3N0Z3Jlcy1mZHcuc2dtbCAg ICAgICAgICAgICAgICB8ICA2OSArKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDIxNSBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbnRyaWIvcG9z dGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy0tMS4xLS0xLjIuc3FsCgpkaWZmIC0tZ2l0IGEvY29udHJp Yi9wb3N0Z3Jlc19mZHcvTWFrZWZpbGUgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9NYWtlZmlsZQpp bmRleCBjMWIwY2FkNDUzLi42ZDIzNzY4Mzg5IDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVz X2Zkdy9NYWtlZmlsZQorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9NYWtlZmlsZQpAQCAtMTQs NyArMTQsNyBAQCBQR19DUFBGTEFHUyA9IC1JJChsaWJwcV9zcmNkaXIpCiBTSExJQl9MSU5LX0lO VEVSTkFMID0gJChsaWJwcSkKIAogRVhURU5TSU9OID0gcG9zdGdyZXNfZmR3Ci1EQVRBID0gcG9z dGdyZXNfZmR3LS0xLjAuc3FsIHBvc3RncmVzX2Zkdy0tMS4wLS0xLjEuc3FsCitEQVRBID0gcG9z dGdyZXNfZmR3LS0xLjAuc3FsIHBvc3RncmVzX2Zkdy0tMS4wLS0xLjEuc3FsIHBvc3RncmVzX2Zk dy0tMS4xLS0xLjIuc3FsCiAKIFJFR1JFU1MgPSBwb3N0Z3Jlc19mZHcKIApkaWZmIC0tZ2l0IGEv Y29udHJpYi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlvbi5jIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcv Y29ubmVjdGlvbi5jCmluZGV4IGVkNzVjZTNmNzkuLjM1YTExYzIyZTcgMTAwNjQ0Ci0tLSBhL2Nv bnRyaWIvcG9zdGdyZXNfZmR3L2Nvbm5lY3Rpb24uYworKysgYi9jb250cmliL3Bvc3RncmVzX2Zk dy9jb25uZWN0aW9uLmMKQEAgLTg2LDYgKzg2LDkgQEAgc3RhdGljIGJvb2wgeGFjdF9nb3RfY29u bmVjdGlvbiA9IGZhbHNlOwogUEdfRlVOQ1RJT05fSU5GT19WMShwb3N0Z3Jlc19mZHdfZ2V0X2Nv bm5lY3Rpb25zKTsKIFBHX0ZVTkNUSU9OX0lORk9fVjEocG9zdGdyZXNfZmR3X2Rpc2Nvbm5lY3Qp OwogUEdfRlVOQ1RJT05fSU5GT19WMShwb3N0Z3Jlc19mZHdfZGlzY29ubmVjdF9hbGwpOworUEdf RlVOQ1RJT05fSU5GT19WMShwb3N0Z3Jlc19mZHdfdmVyaWZ5X2Nvbm5lY3Rpb25fc3RhdGVzKTsK K1BHX0ZVTkNUSU9OX0lORk9fVjEocG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRl c19hbGwpOworUEdfRlVOQ1RJT05fSU5GT19WMShwb3N0Z3Jlc19mZHdfY2FuX3ZlcmlmeV9jb25u ZWN0aW9uX3N0YXRlcyk7CiAKIC8qIHByb3RvdHlwZXMgb2YgcHJpdmF0ZSBmdW5jdGlvbnMgKi8K IHN0YXRpYyB2b2lkIG1ha2VfbmV3X2Nvbm5lY3Rpb24oQ29ubkNhY2hlRW50cnkgKmVudHJ5LCBV c2VyTWFwcGluZyAqdXNlcik7CkBAIC0xMTYsNiArMTE5LDcgQEAgc3RhdGljIHZvaWQgcGdmZHdf ZmluaXNoX3ByZV9zdWJjb21taXRfY2xlYW51cChMaXN0ICpwZW5kaW5nX2VudHJpZXMsCiAJCQkJ CQkJCQkJCSAgIGludCBjdXJsZXZlbCk7CiBzdGF0aWMgYm9vbCBVc2VyTWFwcGluZ1Bhc3N3b3Jk UmVxdWlyZWQoVXNlck1hcHBpbmcgKnVzZXIpOwogc3RhdGljIGJvb2wgZGlzY29ubmVjdF9jYWNo ZWRfY29ubmVjdGlvbnMoT2lkIHNlcnZlcmlkKTsKK3N0YXRpYyBib29sIHZlcmlmeV9jYWNoZWRf Y29ubmVjdGlvbnMoT2lkIHNlcnZlcmlkKTsKIAogLyoKICAqIEdldCBhIFBHY29ubiB3aGljaCBj YW4gYmUgdXNlZCB0byBleGVjdXRlIHF1ZXJpZXMgb24gdGhlIHJlbW90ZSBQb3N0Z3JlU1FMCkBA IC0xODYyLDMgKzE4NjYsMTIzIEBAIGRpc2Nvbm5lY3RfY2FjaGVkX2Nvbm5lY3Rpb25zKE9pZCBz ZXJ2ZXJpZCkKIAogCXJldHVybiByZXN1bHQ7CiB9CisKKy8qCisgKiBXb3JraG9yc2UgdG8gdmVy aWZ5IGNhY2hlZCBjb25uZWN0aW9ucy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNjYW5zIGFsbCB0 aGUgY29ubmVjdGlvbiBjYWNoZSBlbnRyaWVzIGFuZCB2ZXJpZmllcyB0aGUKKyAqIGNvbm5lY3Rp b25zIHdob3NlIGZvcmVpZ24gc2VydmVyIE9JRCBtYXRjaGVzIHdpdGggdGhlIHNwZWNpZmllZCBv bmUuIElmCisgKiBJbnZhbGlkT2lkIGlzIHNwZWNpZmllZCwgaXQgdmVyaWZpZXMgYWxsIHRoZSBj YWNoZWQgY29ubmVjdGlvbnMuCisgKgorICogVGhpcyBmdW5jdGlvbiBlbWl0cyB3YXJuaW5ncyBp ZiBhIGRpc2Nvbm5lY3Rpb24gaXMgZm91bmQsIGFuZCB0aGlzIHJldHVybnMKKyAqIGZhbHNlIG9u bHkgd2hlbiB0aGUgbGFzdGx5IHZlcmlmaWVkIHNlcnZlciBzZWVtcyB0byBiZSBkaXNjb25uZWN0 ZWQuCisgKgorICogTm90ZSB0aGF0IHRoZSB2ZXJpZmljYXRpb24gY2FuIGJlIHVzZWQgb24gc29t ZSBsaW1pdGVkIHBsYXRmb3Jtcy4gSWYgdGhpcworICogc2VydmVyIGRvZXMgbm90IHN1cHBvcnQg aXQsIHRoaXMgZnVuY3Rpb24gYWx3YXlzZSByZXR1cm5zIHRydWUuCisgKi8KK3N0YXRpYyBib29s Cit2ZXJpZnlfY2FjaGVkX2Nvbm5lY3Rpb25zKE9pZCBzZXJ2ZXJpZCkKK3sKKwlIQVNIX1NFUV9T VEFUVVMgc2NhbjsKKwlDb25uQ2FjaGVFbnRyeSAqZW50cnk7CisJYm9vbAkJYWxsID0gIU9pZElz VmFsaWQoc2VydmVyaWQpOworCWJvb2wJCXJlc3VsdCA9IHRydWU7CisJU3RyaW5nSW5mb0RhdGEg c3RyOworCisJLyogcXVpY2sgZXhpdCBpZiBjb25uZWN0aW9uIGNhY2hlIGhhcyBub3QgYmVlbiBp bml0aWFsaXplZCB5ZXQuICovCisJaWYgKCFDb25uZWN0aW9uSGFzaCkKKwkJcmV0dXJuIHRydWU7 CisKKwloYXNoX3NlcV9pbml0KCZzY2FuLCBDb25uZWN0aW9uSGFzaCk7CisJd2hpbGUgKChlbnRy eSA9IChDb25uQ2FjaGVFbnRyeSAqKSBoYXNoX3NlcV9zZWFyY2goJnNjYW4pKSkKKwl7CisJCS8q IElnbm9yZSBjYWNoZSBlbnRyeSBpZiBubyBvcGVuIGNvbm5lY3Rpb24gcmlnaHQgbm93LiAqLwor CQlpZiAoIWVudHJ5LT5jb25uKQorCQkJY29udGludWU7CisKKwkJLyogU2tpcCBpZiB0aGUgZW50 cnkgaXMgaW52YWxpZGF0ZWQuICovCisJCWlmIChlbnRyeS0+aW52YWxpZGF0ZWQpCisJCQljb250 aW51ZTsKKworCQlpZiAoYWxsIHx8IGVudHJ5LT5zZXJ2ZXJpZCA9PSBzZXJ2ZXJpZCkKKwkJewor CQkJaWYgKFBRY29ubkNoZWNrKGVudHJ5LT5jb25uKSkKKwkJCXsKKwkJCQkvKiBBIGZvcmVpZ24g c2VydmVyIG1pZ2h0IGJlIGRvd24sIHNvIGNvbnN0cnVjdCBhIG1lc3NhZ2UuICovCisJCQkJRm9y ZWlnblNlcnZlciAqc2VydmVyID0gR2V0Rm9yZWlnblNlcnZlcihlbnRyeS0+c2VydmVyaWQpOwor CisJCQkJaWYgKHJlc3VsdCkKKwkJCQl7CisJCQkJCS8qCisJCQkJCSAqIEluaXRpYWxpemUgYW5k IGFkZCBhIHByZWZpeCBpZiB0aGlzIGlzIHRoZSBmaXJzdAorCQkJCQkgKiBkaXNjb25uZWN0aW9u IHdlIGZvdW5kLgorCQkJCQkgKi8KKwkJCQkJaW5pdFN0cmluZ0luZm8oJnN0cik7CisJCQkJCWFw cGVuZFN0cmluZ0luZm8oJnN0ciwgImNvdWxkIG5vdCBjb25uZWN0IHRvIHNlcnZlciAiKTsKKwor CQkJCQlyZXN1bHQgPSBmYWxzZTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCQlhcHBlbmRTdHJpbmdJ bmZvKCZzdHIsICIsICIpOworCisJCQkJYXBwZW5kU3RyaW5nSW5mbygmc3RyLCAiXCIlc1wiIiwg c2VydmVyLT5zZXJ2ZXJuYW1lKTsKKwkJCX0KKwkJfQorCX0KKworCS8qIFJhaXNlIGEgd2Fybmlu ZyBpZiBkaXNjb25uZWN0aW9ucyBhcmUgZm91bmQuICovCisJaWYgKCFyZXN1bHQpCisJeworCQlB c3NlcnQoc3RyLmxlbik7CisJCWVyZXBvcnQoV0FSTklORywKKwkJCQkoZXJyY29kZShFUlJDT0RF X0NPTk5FQ1RJT05fRkFJTFVSRSksCisJCQkJIGVycm1zZygiJXMiLCBzdHIuZGF0YSksCisJCQkJ IGVycmRldGFpbCgiU29ja2V0IGNsb3NlIGlzIGRldGVjdGVkLiIpLAorCQkJCSBlcnJoaW50KCJQ bHNlYXNlIGNoZWNrIHRoZSBoZWFsdGggb2Ygc2VydmVyLiIpKSk7CisJCXBmcmVlKHN0ci5kYXRh KTsKKwl9CisKKwlyZXR1cm4gcmVzdWx0OworfQorCisvKgorICogVmVyaWZ5IHRoZSBzcGVjaWZp ZWQgY2FjaGVkIGNvbm5lY3Rpb25zLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdmVyaWZpZXMgdGhl IGNvbm5lY3Rpb25zIHRoYXQgYXJlIGVzdGFibGlzaGVkIGJ5IHBvc3RncmVzX2ZkdworICogZnJv bSB0aGUgbG9jYWwgc2Vzc2lvbiB0byB0aGUgZm9yZWlnbiBzZXJ2ZXIgd2l0aCB0aGUgZ2l2ZW4g bmFtZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGVtaXRzIGEgd2FybmluZyBpZiBhIGRpc2Nvbm5l Y3Rpb24gaXMgZm91bmQsIGFuZCB0aGlzIHJldHVybnMKKyAqIGZhbHNlIG9ubHkgd2hlbiB0aGUg dmVyaWZpZWQgc2VydmVyIHNlZW1zIHRvIGJlIGRpc2Nvbm5lY3RlZC4KKyAqCisgKiBOb3RlIHRo YXQgdGhlIHZlcmlmaWNhdGlvbiBjYW4gYmUgdXNlZCBvbiBzb21lIGxpbWl0ZWQgcGxhdGZvcm1z LiBJZiB0aGlzCisgKiBzZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBpdCwgdGhpcyBmdW5jdGlvbiBh bHdheXNlIHJldHVybnMgdHJ1ZS4KKyAqLworRGF0dW0KK3Bvc3RncmVzX2Zkd192ZXJpZnlfY29u bmVjdGlvbl9zdGF0ZXMoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlGb3JlaWduU2VydmVyICpzZXJ2 ZXI7CisJY2hhcgkgICAqc2VydmVybmFtZTsKKworCXNlcnZlcm5hbWUgPSB0ZXh0X3RvX2NzdHJp bmcoUEdfR0VUQVJHX1RFWFRfUFAoMCkpOworCXNlcnZlciA9IEdldEZvcmVpZ25TZXJ2ZXJCeU5h bWUoc2VydmVybmFtZSwgZmFsc2UpOworCisJUEdfUkVUVVJOX0JPT0wodmVyaWZ5X2NhY2hlZF9j b25uZWN0aW9ucyhzZXJ2ZXItPnNlcnZlcmlkKSk7Cit9CisKKy8qCisgKiBWZXJpZnkgYWxsIHRo ZSBjYWNoZWQgY29ubmVjdGlvbnMuCisgKgorICogVGhpcyBmdW5jdGlvbiB2ZXJpZmllcyBhbGwg dGhlIGNvbm5lY3Rpb25zIHRoYXQgYXJlIGVzdGFibGlzaGVkIGJ5IHBvc3RncmVzX2ZkdworICog ZnJvbSB0aGUgbG9jYWwgc2Vzc2lvbiB0byB0aGUgZm9yZWlnbiBzZXJ2ZXJzLgorICovCitEYXR1 bQorcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRlc19hbGwoUEdfRlVOQ1RJT05f QVJHUykKK3sKKwlQR19SRVRVUk5fQk9PTCh2ZXJpZnlfY2FjaGVkX2Nvbm5lY3Rpb25zKEludmFs aWRPaWQpKTsKK30KKworRGF0dW0KK3Bvc3RncmVzX2Zkd19jYW5fdmVyaWZ5X2Nvbm5lY3Rpb25f c3RhdGVzKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJUEdfUkVUVVJOX0JPT0woUFFjYW5Db25uQ2hl Y2soKSk7Cit9CmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9tZXNvbi5idWlsZCBi L2NvbnRyaWIvcG9zdGdyZXNfZmR3L21lc29uLmJ1aWxkCmluZGV4IDJiNDUxZjE2NWUuLjI5MTE4 ZDQ3YmIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L21lc29uLmJ1aWxkCisrKyBi L2NvbnRyaWIvcG9zdGdyZXNfZmR3L21lc29uLmJ1aWxkCkBAIC0yNiw2ICsyNiw3IEBAIGluc3Rh bGxfZGF0YSgKICAgJ3Bvc3RncmVzX2Zkdy5jb250cm9sJywKICAgJ3Bvc3RncmVzX2Zkdy0tMS4w LnNxbCcsCiAgICdwb3N0Z3Jlc19mZHctLTEuMC0tMS4xLnNxbCcsCisgICdwb3N0Z3Jlc19mZHct LTEuMS0tMS4yLnNxbCcsCiAgIGt3YXJnczogY29udHJpYl9kYXRhX2FyZ3MsCiApCiAKZGlmZiAt LWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy0tMS4xLS0xLjIuc3FsIGIv Y29udHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNfZmR3LS0xLjEtLTEuMi5zcWwKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYTg1NTZiNGM5ZgotLS0gL2Rldi9udWxsCisr KyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy0tMS4xLS0xLjIuc3FsCkBAIC0w LDAgKzEsMTkgQEAKKy8qIGNvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy0tMS4xLS0x LjIuc3FsICovCisKKy0tIGNvbXBsYWluIGlmIHNjcmlwdCBpcyBzb3VyY2VkIGluIHBzcWwsIHJh dGhlciB0aGFuIHZpYSBBTFRFUiBFWFRFTlNJT04KK1xlY2hvIFVzZSAiQUxURVIgRVhURU5TSU9O IHBvc3RncmVzX2ZkdyBVUERBVEUgVE8gJzEuMiciIHRvIGxvYWQgdGhpcyBmaWxlLiBccXVpdAor CitDUkVBVEUgRlVOQ1RJT04gcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRlcyAo dGV4dCkKK1JFVFVSTlMgYm9vbAorQVMgJ01PRFVMRV9QQVRITkFNRScKK0xBTkdVQUdFIEMgU1RS SUNUIFBBUkFMTEVMIFJFU1RSSUNURUQ7CisKK0NSRUFURSBGVU5DVElPTiBwb3N0Z3Jlc19mZHdf dmVyaWZ5X2Nvbm5lY3Rpb25fc3RhdGVzX2FsbCAoKQorUkVUVVJOUyBib29sCitBUyAnTU9EVUxF X1BBVEhOQU1FJworTEFOR1VBR0UgQyBTVFJJQ1QgUEFSQUxMRUwgUkVTVFJJQ1RFRDsKKworQ1JF QVRFIEZVTkNUSU9OIHBvc3RncmVzX2Zkd19jYW5fdmVyaWZ5X2Nvbm5lY3Rpb25fc3RhdGVzICgp CitSRVRVUk5TIGJvb2wKK0FTICdNT0RVTEVfUEFUSE5BTUUnCitMQU5HVUFHRSBDIFNUUklDVCBQ QVJBTExFTCBTQUZFOwpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNf ZmR3LmNvbnRyb2wgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHcuY29udHJvbApp bmRleCBkNDg5MzgyMDY0Li5hNGI4MDBiZTRmIDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVz X2Zkdy9wb3N0Z3Jlc19mZHcuY29udHJvbAorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0 Z3Jlc19mZHcuY29udHJvbApAQCAtMSw1ICsxLDUgQEAKICMgcG9zdGdyZXNfZmR3IGV4dGVuc2lv bgogY29tbWVudCA9ICdmb3JlaWduLWRhdGEgd3JhcHBlciBmb3IgcmVtb3RlIFBvc3RncmVTUUwg c2VydmVycycKLWRlZmF1bHRfdmVyc2lvbiA9ICcxLjEnCitkZWZhdWx0X3ZlcnNpb24gPSAnMS4y JwogbW9kdWxlX3BhdGhuYW1lID0gJyRsaWJkaXIvcG9zdGdyZXNfZmR3JwogcmVsb2NhdGFibGUg PSB0cnVlCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcG9zdGdyZXMtZmR3LnNnbWwgYi9kb2Mv c3JjL3NnbWwvcG9zdGdyZXMtZmR3LnNnbWwKaW5kZXggNjQ0ZjUxODM1Yi4uMDUyNjVhMWVmOCAx MDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3Bvc3RncmVzLWZkdy5zZ21sCisrKyBiL2RvYy9zcmMv c2dtbC9wb3N0Z3Jlcy1mZHcuc2dtbApAQCAtODI2LDYgKzgyNiw3NSBAQCBwb3N0Z3Jlcz0jIFNF TEVDVCBwb3N0Z3Jlc19mZHdfZGlzY29ubmVjdF9hbGwoKTsKICAgICAgPC9wYXJhPgogICAgIDwv bGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8 dGVybT48ZnVuY3Rpb24+cG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRlcyhzZXJ2 ZXJfbmFtZSB0ZXh0KSByZXR1cm5zIGJvb2xlYW48L2Z1bmN0aW9uPjwvdGVybT4KKyAgICA8bGlz dGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhpcyBmdW5jdGlvbiBjaGVja3MgdGhlIHN0YXR1 cyBvZiByZW1vdGUgY29ubmVjdGlvbnMgZXN0YWJsaXNoZWQgYnkKKyAgICAgIDxmaWxlbmFtZT5w b3N0Z3Jlc19mZHc8L2ZpbGVuYW1lPiBmcm9tIHRoZSBsb2NhbCBzZXNzaW9uIHRvIHRoZSBmb3Jl aWduCisgICAgICBzZXJ2ZXIgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gVGhpcyBjaGVjayBpcyBwZXJm b3JtZWQgYnkgcG9sbGluZyB0aGUgc29ja2V0CisgICAgICBhbmQgYWxsb3dzIGxvbmctcnVubmlu ZyB0cmFuc2FjdGlvbnMgdG8gYmUgYWJvcnRlZCBzb29uZXIgaWYgdGhlIGtlcm5lbAorICAgICAg cmVwb3J0cyB0aGF0IHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZC4gVGhpcyBmdW5jdGlvbiBpcyBj dXJyZW50bHkKKyAgICAgIGF2YWlsYWJsZSBvbmx5IG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IHRo ZSBub24tc3RhbmRhcmQgPHN5bWJvbD5QT0xMUkRIVVA8L3N5bWJvbD4KKyAgICAgIGV4dGVuc2lv biB0byB0aGUgPHN5bWJvbD5wb2xsPC9zeW1ib2w+IHN5c3RlbSBjYWxsLCBpbmNsdWRpbmcgTGlu dXguIFRoaXMKKyAgICAgIHJldHVybnMgPGxpdGVyYWw+dHJ1ZTwvbGl0ZXJhbD4gaWYgY2hlY2tl ZCBjb25uZWN0aW9ucyBhcmUgc3RpbGwgdmFsaWQsCisgICAgICBvciB0aGUgY2hlY2tpbmcgaXMg bm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiA8bGl0ZXJhbD5mYWxzZTwvbGl0ZXJhbD4K KyAgICAgIGlzIHJldHVybmVkIGlmIHRoZSBsb2NhbCBzZXNzaW9uIHNlZW1zIHRvIGJlIGRpc2Nv bm5lY3RlZCBmcm9tIG90aGVyCisgICAgICBzZXJ2ZXJzLiBFeGFtcGxlIHVzYWdlIG9mIHRoZSBm dW5jdGlvbjoKKzxzY3JlZW4+Citwb3N0Z3Jlcz0jIFNFTEVDVCBwb3N0Z3Jlc19mZHdfdmVyaWZ5 X2Nvbm5lY3Rpb25fc3RhdGVzKCdsb29wYmFjazEnKTsKKyBwb3N0Z3Jlc19mZHdfdmVyaWZ5X2Nv bm5lY3Rpb25fc3RhdGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyB0Cis8L3NjcmVlbj4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxp c3RlbnRyeT4KKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGZ1bmN0aW9uPnBvc3RncmVz X2Zkd192ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXNfYWxsKCkgcmV0dXJucyBib29sZWFuPC9mdW5j dGlvbj48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoaXMgZnVu Y3Rpb24gY2hlY2tzIHRoZSBzdGF0dXMgb2YgYWxsIHRoZSByZW1vdGUgY29ubmVjdGlvbnMgZXN0 YWJsaXNoZWQKKyAgICAgIGJ5IDxmaWxlbmFtZT5wb3N0Z3Jlc19mZHc8L2ZpbGVuYW1lPiBmcm9t IHRoZSBsb2NhbCBzZXNzaW9uIHRvIHRoZQorICAgICAgZm9yZWlnbiBzZXJ2ZXJzLiBUaGlzIGNo ZWNrIGlzIHBlcmZvcm1lZCBieSBwb2xsaW5nIHRoZSBzb2NrZXQgYW5kIGFsbG93cworICAgICAg bG9uZy1ydW5uaW5nIHRyYW5zYWN0aW9ucyB0byBiZSBhYm9ydGVkIHNvb25lciBpZiB0aGUga2Vy bmVsIHJlcG9ydHMKKyAgICAgIHRoYXQgdGhlIGNvbm5lY3Rpb24gaXMgY2xvc2VkLiBUaGlzIGZ1 bmN0aW9uIGlzIGN1cnJlbnRseSBhdmFpbGFibGUgb25seQorICAgICAgb24gc3lzdGVtcyB0aGF0 IHN1cHBvcnQgdGhlIG5vbi1zdGFuZGFyZCA8c3ltYm9sPlBPTExSREhVUDwvc3ltYm9sPgorICAg ICAgZXh0ZW5zaW9uIHRvIHRoZSA8c3ltYm9sPnBvbGw8L3N5bWJvbD4gc3lzdGVtIGNhbGwsIGlu Y2x1ZGluZyBMaW51eC4gVGhpcworICAgICAgcmV0dXJucyA8bGl0ZXJhbD50cnVlPC9saXRlcmFs PiBpZiBhbGwgdGhlIHJlbW90ZSBjb25uZWN0aW9ucyBhcmUgc3RpbGwKKyAgICAgIHZhbGlkLCBv ciB0aGUgY2hlY2tpbmcgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLgorICAgICAg PGxpdGVyYWw+ZmFsc2U8L2xpdGVyYWw+IGlzIHJldHVybmVkIGlmIHRoZSBsb2NhbCBzZXNzaW9u IHNlZW1zIHRvIGJlCisgICAgICBkaXNjb25uZWN0ZWQgZnJvbSBhdCBsZWFzdCBvbmUgcmVtb3Rl IHNlcnZlci4gRXhhbXBsZSB1c2FnZSBvZiB0aGUKKyAgICAgIGZ1bmN0aW9uOgorPHNjcmVlbj4K K3Bvc3RncmVzPSMgU0VMRUNUIHBvc3RncmVzX2Zkd192ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXNf YWxsKCk7CisgcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRlc19hbGwKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0Cis8L3NjcmVlbj4KKyAg ICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZh cmxpc3RlbnRyeT4KKyAgICA8dGVybT48ZnVuY3Rpb24+cG9zdGdyZXNfZmR3X2Nhbl92ZXJpZnlf Y29ubmVjdGlvbl9zdGF0ZXMoKSByZXR1cm5zIGJvb2xlYW48L2Z1bmN0aW9uPjwvdGVybT4KKyAg ICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhpcyBmdW5jdGlvbiBjaGVja3Mgd2hl dGhlciBmdW5jdGlvbnMgdGhlIGhlYWx0aCBvZiByZW1vdGUgY29ubmVjdGlvCisgICAgICB3b3Jr IHdlbGwgb3Igbm90LiBUaGlzIHJldHVybnMgPGxpdGVyYWw+dHJ1ZTwvbGl0ZXJhbD4gaWYgaXQg Y2FuIGJlIHVzZWQsCisgICAgICBvdGhlcndpc2UgcmV0dXJucyA8bGl0ZXJhbD5mYWxzZTwvbGl0 ZXJhbD4uIEV4YW1wbGUgdXNhZ2Ugb2YgdGhlIGZ1bmN0aW9uOgorCis8c2NyZWVuPgorcG9zdGdy ZXM9IyBTRUxFQ1QgcG9zdGdyZXNfZmR3X2Nhbl92ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXMoKTsK KyBwb3N0Z3Jlc19mZHdfY2FuX3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRlcworLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHQKKzwvc2NyZWVuPgorICAgICA8L3Bh cmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCiAgICA8L3ZhcmlhYmxl bGlzdD4KIAogPC9zZWN0Mj4KLS0gCjIuMjcuMAoK --_004_TYAPR01MB5866969DBAEEEC5AE07591BFF5CE9TYAPR01MB5866jpnp_ Content-Type: application/octet-stream; name="v27-0003-add-test.patch" Content-Description: v27-0003-add-test.patch Content-Disposition: attachment; filename="v27-0003-add-test.patch"; size=4755; creation-date="Wed, 25 Jan 2023 10:56:26 GMT"; modification-date="Wed, 25 Jan 2023 11:07:15 GMT" Content-Transfer-Encoding: base64 RnJvbSBiMzM4ZWVlY2M1ZjM4MTBmZGY1NTFkZDg3Mzg1MWUwNjViNTMxNGRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAia3Vyb2RhLmhheWF0byU0MGpwLmZ1aml0c3UuY29tIiA8a3Vy b2RhLmhheWF0b0BqcC5mdWppdHN1LmNvbT4KRGF0ZTogV2VkLCAyMSBTZXAgMjAyMiAwNjo1Mjoy MyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjI3IDMvM10gYWRkIHRlc3QKCi0tLQogLi4uL3Bvc3Rn cmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0ICAgIHwgNTQgKysrKysrKysrKysrKysr KysrKwogY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwgICAgIHwgNTMg KysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEwNyBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91 dCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKaW5kZXgg MjM1MGNmZTE0OC4uMjhiNWFmOGQ3OCAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19mZHcv ZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dAorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBl Y3RlZC9wb3N0Z3Jlc19mZHcub3V0CkBAIC0xMTc5OCwzICsxMTc5OCw1NyBAQCBBTkFMWVpFIGFu YWx5emVfdGFibGU7CiAtLSBjbGVhbnVwCiBEUk9QIEZPUkVJR04gVEFCTEUgYW5hbHl6ZV9mdGFi bGU7CiBEUk9QIFRBQkxFIGFuYWx5emVfdGFibGU7CistLSA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLSB0ZXN0IGZv ciBwb3N0Z3Jlc19mZHdfdmVyaWZ5X2ZvcmVpZ25fc2VydmVycyBmdW5jdGlvbgorLS0gPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0gRGlzYWJsZSBkZWJ1Z19kaXNjYXJkX2NhY2hlcyBpbiBvcmRlciB0byBtYW5hZ2Ug cmVtb3RlIGNvbm5lY3Rpb25zCitTRVQgZGVidWdfZGlzY2FyZF9jYWNoZXMgVE8gJzAnOworLS0g LS0gVGhlIHRleHQgb2YgdGhlIGVycm9yIG1pZ2h0IHZhcnkgYWNyb3NzIHBsYXRmb3Jtcywgc28g b25seSBzaG93IFNRTFNUQVRFLgorXHNldCBWRVJCT1NJVFkgc3Fsc3RhdGUKKy0tIERpc2Nvbm5l Y3Qgb25jZSBhbmQgc2V0IGFwcGxpY2F0aW9uX25hbWUgdG8gYW4gYXJiaXRyYXJ5IHZhbHVlCitT RUxFQ1QgMSBGUk9NIHBvc3RncmVzX2Zkd19kaXNjb25uZWN0X2FsbCgpOworID9jb2x1bW4/IAor LS0tLS0tLS0tLQorICAgICAgICAxCisoMSByb3cpCisKK0FMVEVSIFNFUlZFUiBsb29wYmFjayBP UFRJT05TIChTRVQgYXBwbGljYXRpb25fbmFtZSAnaGVhbHRoY2hlY2snKTsKK0RPICQkCitERUNM QVJFCisJY2FuX3ZlcmlmeSBib29sZWFuOworCXJlc3VsdCBib29sZWFuOworQkVHSU4KKwlQRVJG T1JNIDEgRlJPTSBmdDEgTElNSVQgMTsKKworCS0tIFRlcm1pbmF0ZSB0aGUgcmVtb3RlIGJhY2tl bmQgcHJvY2VzcworCVBFUkZPUk0gcGdfdGVybWluYXRlX2JhY2tlbmQocGlkLCAxODAwMDApIEZS T00gcGdfc3RhdF9hY3Rpdml0eQorCQlXSEVSRSBhcHBsaWNhdGlvbl9uYW1lID0gJ2hlYWx0aGNo ZWNrJzsKKworCS0tIENoZWNrIHdoZXRoZXIgd2UgY2FuIGRvIGhlYWx0aCBjaGVjayBvbiB0aGlz IHBsYXRmb3JtCisJU0VMRUNUIElOVE8gY2FuX3ZlcmlmeSBwb3N0Z3Jlc19mZHdfY2FuX3Zlcmlm eV9jb25uZWN0aW9uX3N0YXRlcygpOworCisJLS0gSWYgdGhlIGNoZWNraW5nIGNhbiBiZSBkb25l IG9uIHRoaXMgcGxhdGZvcm0sIGNhbGwgaXQKKwlJRiBjYW5fdmVyaWZ5IElTIFRSVUUgVEhFTgor CQktLSBTZXQgY2xpZW50X21pbl9tZXNzYWdlcyB0byBFUlJPUiB0ZW1wb3JhcnkgYmVjYXVzZSB0 aGUgZm9sbG93aW5nCisJCS0tIGZ1bmN0aW9uIG9ubHkgdGhyb3dzIGEgV0FSTklORyBvbiB0aGUg c3VwcG9ydGVkIHBsYXRmb3JtLgorCQlTRVQgTE9DQUwgY2xpZW50X21pbl9tZXNzYWdlcyBUTyBF UlJPUjsKKworCQlTRUxFQ1QgSU5UTyByZXN1bHQgcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0 aW9uX3N0YXRlcygnbG9vcGJhY2snKTsKKworCQlSRVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOwor CUVMU0UKKwkJcmVzdWx0ID0gZmFsc2U7CisJRU5EIElGOworCisJLS0gSWYgcmVzdWx0IGlzIEZB TFNFLCB3ZSBzdWNjZWVkZWQgdG8gZGV0ZWN0IHRoZSBkaXNjb25uZWN0aW9uIG9yIGl0IGNvdWxk CisJLS0gbm90IGJlIGRvbmUgb24gdGhpcyBwbGF0Zm9ybS4gUmFpc2UgYW4gbWVzc2FnZS4KKwlJ RiByZXN1bHQgSVMgRkFMU0UgVEhFTgorCQlSQUlTRSBJTkZPICdwb3N0Z3Jlc19mZHdfdmVyaWZ5 X2Nvbm5lY3Rpb25fc3RhdGVzKCkgY291bGQgZGV0ZWN0IHRoZSBkaXNjb25uZWN0aW9uLCBvciBo ZWFsdGggY2hlY2sgY2Fubm90IGJlIHVzZWQgb24gdGhpcyBwbGF0Zm9ybSc7CisJRU5EIElGOwor RU5EOworJCQ7CitJTkZPOiAgMDAwMDAKK0VSUk9SOiAgMDgwMDYKKy0tIENsZWFuIHVwCitcc2V0 IFZFUkJPU0lUWSBkZWZhdWx0CitSRVNFVCBkZWJ1Z19kaXNjYXJkX2NhY2hlczsKZGlmZiAtLWdp dCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsIGIvY29udHJpYi9w b3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKaW5kZXggYzM3YWE4MDM4My4uNDkwNDJl YjhjMSAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5z cWwKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKQEAgLTM5 NzQsMyArMzk3NCw1NiBAQCBBTkFMWVpFIGFuYWx5emVfdGFibGU7CiAtLSBjbGVhbnVwCiBEUk9Q IEZPUkVJR04gVEFCTEUgYW5hbHl6ZV9mdGFibGU7CiBEUk9QIFRBQkxFIGFuYWx5emVfdGFibGU7 CisKKy0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tIHRlc3QgZm9yIHBvc3RncmVzX2Zkd192ZXJpZnlfZm9yZWln bl9zZXJ2ZXJzIGZ1bmN0aW9uCistLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy0tIERpc2FibGUgZGVidWdfZGlz Y2FyZF9jYWNoZXMgaW4gb3JkZXIgdG8gbWFuYWdlIHJlbW90ZSBjb25uZWN0aW9ucworU0VUIGRl YnVnX2Rpc2NhcmRfY2FjaGVzIFRPICcwJzsKKworLS0gLS0gVGhlIHRleHQgb2YgdGhlIGVycm9y IG1pZ2h0IHZhcnkgYWNyb3NzIHBsYXRmb3Jtcywgc28gb25seSBzaG93IFNRTFNUQVRFLgorXHNl dCBWRVJCT1NJVFkgc3Fsc3RhdGUKKworLS0gRGlzY29ubmVjdCBvbmNlIGFuZCBzZXQgYXBwbGlj YXRpb25fbmFtZSB0byBhbiBhcmJpdHJhcnkgdmFsdWUKK1NFTEVDVCAxIEZST00gcG9zdGdyZXNf ZmR3X2Rpc2Nvbm5lY3RfYWxsKCk7CitBTFRFUiBTRVJWRVIgbG9vcGJhY2sgT1BUSU9OUyAoU0VU IGFwcGxpY2F0aW9uX25hbWUgJ2hlYWx0aGNoZWNrJyk7CisKK0RPICQkCitERUNMQVJFCisJY2Fu X3ZlcmlmeSBib29sZWFuOworCXJlc3VsdCBib29sZWFuOworQkVHSU4KKwlQRVJGT1JNIDEgRlJP TSBmdDEgTElNSVQgMTsKKworCS0tIFRlcm1pbmF0ZSB0aGUgcmVtb3RlIGJhY2tlbmQgcHJvY2Vz cworCVBFUkZPUk0gcGdfdGVybWluYXRlX2JhY2tlbmQocGlkLCAxODAwMDApIEZST00gcGdfc3Rh dF9hY3Rpdml0eQorCQlXSEVSRSBhcHBsaWNhdGlvbl9uYW1lID0gJ2hlYWx0aGNoZWNrJzsKKwor CS0tIENoZWNrIHdoZXRoZXIgd2UgY2FuIGRvIGhlYWx0aCBjaGVjayBvbiB0aGlzIHBsYXRmb3Jt CisJU0VMRUNUIElOVE8gY2FuX3ZlcmlmeSBwb3N0Z3Jlc19mZHdfY2FuX3ZlcmlmeV9jb25uZWN0 aW9uX3N0YXRlcygpOworCisJLS0gSWYgdGhlIGNoZWNraW5nIGNhbiBiZSBkb25lIG9uIHRoaXMg cGxhdGZvcm0sIGNhbGwgaXQKKwlJRiBjYW5fdmVyaWZ5IElTIFRSVUUgVEhFTgorCQktLSBTZXQg Y2xpZW50X21pbl9tZXNzYWdlcyB0byBFUlJPUiB0ZW1wb3JhcnkgYmVjYXVzZSB0aGUgZm9sbG93 aW5nCisJCS0tIGZ1bmN0aW9uIG9ubHkgdGhyb3dzIGEgV0FSTklORyBvbiB0aGUgc3VwcG9ydGVk IHBsYXRmb3JtLgorCQlTRVQgTE9DQUwgY2xpZW50X21pbl9tZXNzYWdlcyBUTyBFUlJPUjsKKwor CQlTRUxFQ1QgSU5UTyByZXN1bHQgcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRl cygnbG9vcGJhY2snKTsKKworCQlSRVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOworCUVMU0UKKwkJ cmVzdWx0ID0gZmFsc2U7CisJRU5EIElGOworCisJLS0gSWYgcmVzdWx0IGlzIEZBTFNFLCB3ZSBz dWNjZWVkZWQgdG8gZGV0ZWN0IHRoZSBkaXNjb25uZWN0aW9uIG9yIGl0IGNvdWxkCisJLS0gbm90 IGJlIGRvbmUgb24gdGhpcyBwbGF0Zm9ybS4gUmFpc2UgYW4gbWVzc2FnZS4KKwlJRiByZXN1bHQg SVMgRkFMU0UgVEhFTgorCQlSQUlTRSBJTkZPICdwb3N0Z3Jlc19mZHdfdmVyaWZ5X2Nvbm5lY3Rp b25fc3RhdGVzKCkgY291bGQgZGV0ZWN0IHRoZSBkaXNjb25uZWN0aW9uLCBvciBoZWFsdGggY2hl Y2sgY2Fubm90IGJlIHVzZWQgb24gdGhpcyBwbGF0Zm9ybSc7CisJRU5EIElGOworRU5EOworJCQ7 CisKKy0tIENsZWFuIHVwCitcc2V0IFZFUkJPU0lUWSBkZWZhdWx0CitSRVNFVCBkZWJ1Z19kaXNj YXJkX2NhY2hlczsKLS0gCjIuMjcuMAoK --_004_TYAPR01MB5866969DBAEEEC5AE07591BFF5CE9TYAPR01MB5866jpnp_--