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 1pXwHi-000885-3w for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Mar 2023 03:40:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pXwHg-0005aq-Qd for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Mar 2023 03:40:40 +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 1pXwHg-0005ag-BZ for pgsql-hackers@lists.postgresql.org; Fri, 03 Mar 2023 03:40:40 +0000 Received: from esa10.fujitsucc.c3s2.iphmx.com ([68.232.159.247]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pXwHd-0006WG-PP for pgsql-hackers@lists.postgresql.org; Fri, 03 Mar 2023 03:40:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1677814839; x=1709350839; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Eu5K4kufJSN2TqTU2Mf/viTzZpEfh2NZTgpVIlgON+I=; b=qW7oWKX84e+PiMsFVp3X+Emf5T87mhjzTRyoXGayiIJN/WHWXjT08U27 baKqi6ENmCWfN/BoBap8aSiqaA2e9KROcXdKVeBsQEWDizS6LQxLSnzom cDqyglk/k9495IYKAYZayF8qhP20lRPGX6+lfhZXH/lEgzxIedtBXVdKS n/lEuGwq9Ah+qRi0wPqqUt0WoYGKqWrNLUYPmfToa65SD6gpQ7zr6Go/u N3Od3a0Mt4A9Ozi34LRuH7vOiWjE4JB+GaYq4CxO/Ira9hhvm56Siqbea DXuDyoyKII8Xc1Jyqn8EfBDTYtS2tdXnrncupCBEQJum8csWyYlPHzucw Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10637"; a="78498218" X-IronPort-AV: E=Sophos;i="5.98,229,1673881200"; d="scan'208";a="78498218" Received: from mail-os0jpn01lp2105.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.105]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2023 12:40:35 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TYS055Tzq7v7DdC9R4hwNQ/6pvPNGCEhphDsWvhcsqJkrwV3B4dnLITmZu0tL9+BGKUeuPIjTiwj6lLpD9rR7sPSlaENtiEVNRDr3V6vA3OYFaqVSlEjjyDBNARLfb8IoGwSsUBt+dOERWI9zeFPHFUa7vcW4IYQvh3dxnMNR/A69NtKh5SjWE//oMjj5OYca45FFjfOqxOlhvN7vpXxq7G1yVdKH2dfpWZfkai73RdjBAXbpNv5Mmne+sdfWKIVz4M8sgeL+hqs3r/jj3n7DNPzqs74sIhOKSvgrcJJbMcv72kQ2vsodISaFtWe+9AfbVMIcNAaJs4mE3tR1X4AUQ== 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=Eu5K4kufJSN2TqTU2Mf/viTzZpEfh2NZTgpVIlgON+I=; b=Rk+gkqmQuXMhHihEvi75daCVVq7j98QBEUWv4N8n1JA7Y/nn38q88/uJEYn/9v4Bk572ej+sPVKhgU/CDj3p6iT1daIBg6zjlECddDyapaFyFcWBPLJmK3uiL9EwA5Wcwede7lrFj6d0EK7rJlSJv3gbPTIuanqkTPktMKjR3AMBmtCDU1ld32GrTkSyxOOszx/Cg8t4lX2PoOoR0FyXuEVsPFOH3kXsn/tdST3NbwYKnE0HDGv10yHCZbJe4/JzRQECzvzueydlvxjpW41Iokh37JSmCbi4Sy/XB4iSbRrgF/7ICXTNHTAq/99y5DF/f/Q4MOwaV5UKZEqHg7kXTg== 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 OS0PR01MB5716.jpnprd01.prod.outlook.com (2603:1096:604:bb::12) by TYWPR01MB11184.jpnprd01.prod.outlook.com (2603:1096:400:3f7::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Fri, 3 Mar 2023 03:40:31 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::4656:3259:be27:f810]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::4656:3259:be27:f810%4]) with mapi id 15.20.6156.020; Fri, 3 Mar 2023 03:40:31 +0000 From: "houzj.fnst@fujitsu.com" To: =?utf-8?B?w5ZuZGVyIEthbGFjxLE=?= CC: "shiy.fnst@fujitsu.com" , "wangw.fnst@fujitsu.com" , Marco Slot , Tom Lane , Andres Freund , PostgreSQL Hackers , Amit Kapila Subject: RE: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher Thread-Topic: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher Thread-Index: AQHYlfR7CJSWSsHDaUq9h2Xjdmrbd62Ds22AgAGwZACAAVjRgIAAp0wAgAFDuYCAAfjlAIAVnJQAgAUWeQCAByaZAIALYnOAgAQg0ACAAPBUAIBQzuQAgADkkQCABa1vgIAAnAmAgAJDPYCAAjNigIAhRLMAgCd0kQCACRS1gIApNn4AgAM5QoCAAAlUAIAQwyqAgAsHsICABLrhgIAEaA8AgANUUgCAEMu/AIAADCUAgAoSUACAAZIFgIAK1FsAgAFsOwCAAC3vAIAANIcAgADLxSA= Date: Fri, 3 Mar 2023 03:40:31 +0000 Message-ID: References: <20221206184756.2fdpd4epvyftutoe@awork3.anarazel.de> <3466340.1673117404@sss.pgh.pa.us> <20230109200347.ps43ri7llrxusgu5@awork3.anarazel.de> <4184492.1673296630@sss.pgh.pa.us> In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfQWN0aW9uSWQ9ZjM0OGZjOWEtZmNjYy00ZGJkLWFkNTItYzY3YmFkZTg2?= =?utf-8?B?MjUyO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX0NvbnRlbnRCaXRzPTA7TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5?= =?utf-8?B?LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfRW5hYmxlZD10cnVlO01TSVBfTGFi?= =?utf-8?B?ZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX01ldGhv?= =?utf-8?B?ZD1TdGFuZGFyZDtNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9OYW1lPUZVSklUU1UtUkVTVFJJQ1RFRO+/ou++gA==?= =?utf-8?B?776LO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX1NldERhdGU9MjAyMy0wMy0wM1QwMzozMjowM1o7TVNJUF9MYWJl?= =?utf-8?B?bF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfU2l0ZUlk?= =?utf-8?Q?=3Da19f121d-81e1-4858-a9d8-736e267fd4c7;?= 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: OS0PR01MB5716:EE_|TYWPR01MB11184:EE_ x-ms-office365-filtering-correlation-id: b9592a08-5c1c-4ee3-f343-08db1b9909f0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oPfZC2ojiwYJwtYaaKlEuiq3/H9MBm3WhW4TMVAG5afRb9WxMcDvY1ISk/gBHqOAKjVvaAZmExw27BwLLTJZIDNTQpUD/cg4kPuwzfat3EP88mTZPZPFMJLKiNhzqNtPxgyQrznENeHOEOdLEfNqn0CC+3O5rxDoCTmPpWWXzZjtm19aHviUGfH8ECyCn2pGBBIeaMdYV6ZFxdJU16BWbxEO1nWJeYa5jh6AWBw7elCc1h7wSoluNU+gN0x++7ZeD8eJER2LF3M3aSsuxJl3Z4agAiET/z6MU39Fy+RSCdM2BIVEKlb8lcigizL8wbr7HcnNrwpjJekhzvPdv16ikkEr69ItaiWuxepJ8kpvlGdbT4HcAkj7E+amRvIR8P51M7e8HoGJaXXdFDxywMAiyVRlPdvk44qIEKwAsA7m2uHaEM3rDyn98UkyzLE8VfYdxmgGNnamxncq/uwJRBAgcXTfzjuHOrhpomsgQhZ9wIc1M7KuJL0FXNatm/8Tt+K9YTespKY3xYYomeuDsR/Hv8cvdp2Vgq2x7c24h9f+D4RGHh9sMI0kwfMyPOh8N3rJnV7n29mq6NQfxt3euOmoP2o3uBS+q8vFRJuPxAJpw4YF+IRfC+0FNd/20elqkWx9RwFI59kMjQoW2u/7Va8IyesiNV2JyYwCa70tbNpb7qsaMr+qRoC29eiol9bsMlfnzbk/MWBpVWB+dVkTg1Dx+i/R/+1s+D6SbdPxrEYyFlo= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS0PR01MB5716.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(346002)(136003)(396003)(39860400002)(376002)(451199018)(1590799015)(316002)(8676002)(76116006)(66476007)(2906002)(66946007)(66446008)(55016003)(64756008)(66556008)(8936002)(6916009)(33656002)(85182001)(4326008)(41300700001)(52536014)(83380400001)(66574015)(71200400001)(53546011)(186003)(6506007)(9686003)(7696005)(38070700005)(478600001)(54906003)(26005)(86362001)(38100700002)(82960400001)(122000001)(5660300002)(1580799012);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TU9QQ3lySEVqL3pObFFMR1B4Vk5LV243WlJsZE1XSHdsV01pMVREWXdjdjlr?= =?utf-8?B?NFZseXkvcVgvbXZwcGVQZHc2NUpuZ091SkVvMk9QVThuZEpBRU1vNENaVy96?= =?utf-8?B?aVVPNm1xd01JSlBNTnd5SnAwQmZqZGNzSzdiQ3pQUTErbWkyWVJiUUlRbG1G?= =?utf-8?B?Vk00MmxuWTR4d1RSQVA1SnR1c3NuYnlXR0JTUnIzbDUzTi9abVNuUXh2QkV0?= =?utf-8?B?cWhVek9zS2U1WHdkeU1Jc1kyR0Y5TjFDSHpRQzdXQUU0dks0VUllWHhjSVJI?= =?utf-8?B?MDVqL0NhdWgrTC9yRitoUTEwbVAvZVBlbFBsRXBWWER4RTE0NnBDcUZqNk1o?= =?utf-8?B?NVhoNG83SCtFOUdXT2lPQjVCRGRIZWRZUnRTRExSeDNNcm8yc242WVJDa0Ja?= =?utf-8?B?SFNGOUZTd0JYaC8rcWtVb1E3YWdFRU45a2ZmK2U0R3NTSUlDRXY1b29ZRGxB?= =?utf-8?B?NFBrZEVpWFdmM09mcGNpNmYvZlVLR1RtS0FnSUdMbkhwaXNZVmQ0d09nQU5N?= =?utf-8?B?MHRxaDJOYm9MbEdNNndzUmVXUVUvUEpjTysxd0Z0TGF4TlozNmNBU3Bac0Ux?= =?utf-8?B?S29QL3FpclVzb1NRdlQ0aGlNREM4Y1Z4SzZyQy9HVi9NV0pxTUVYQVZkZzdW?= =?utf-8?B?MTZkOGk1Und4eXZnVXlYQm50dm5MMEtHQWt3UEM1Y1VMelpBNFZ4bVRIRFAv?= =?utf-8?B?NXBGVFBlUEJYbm1GSkl1SGxoU2dJcHpYYUJENEI4UFpmYklwamZWL2haZE1o?= =?utf-8?B?dVBVWTEzU3ZyajUweUxqc2N5cDJ4Q3BYdkh1UEtHN1hSU1pLbEpDSUl1MnRG?= =?utf-8?B?d25DN2RGVmdqcVo4L0MwOG9pNVN1WWdwYkhucVo3dWlYb0QvdWNYbjdScWl2?= =?utf-8?B?WnZLbExWb2RheVBBejRDY055dCtXUmtzbk1HZ2IvOGxOTGlsTWQzVlJXc1dO?= =?utf-8?B?LzlSbHNvbytZbmlGRXRlbWJaMTFiUDM2V0FrQmZNMG91ZjcrZXlMRThaV2sz?= =?utf-8?B?QThvZmJaek90SXdwSmZXcG05elpWRkxOWDRmMGwyMERNU3NkUjJvQzdBYmY2?= =?utf-8?B?TkN6UEl1NEFyTi9iK29pZm52THVBSlFLSUtOQUVkNXV0NUl5Ylo3RjBJVFFy?= =?utf-8?B?a2pyWDJrWDJVcmJCTUwvaGl6T3N2VmVqWDMvM3pRaTJJSllqQ0tSc25EVFFM?= =?utf-8?B?OUJ5Kzlib1ExazB3aWtuUmd6UTFHREVVaXp0OTZiaExnVjZPTmQ5NVB2bDNW?= =?utf-8?B?ZDZpUDkvZStyZmRkdXhwaHFEa3hXcXErZVVvSjJnOEpRbVI1MGoyRmw2N0pC?= =?utf-8?B?Uno0NUFPVzNyQUFabjhPMmtrS0VLTSt5N3lEWEExQ01zam9mQzJoZ1lham9M?= =?utf-8?B?cGhLM3l1ditLTG1uanZudk5UbzlYbExNbDFoSVNveHJjY1k0RzdTV2RhUlFM?= =?utf-8?B?RkxaOElkVk1YaU45eGtFWG9Rc3BWYS82T3ZKZ0NmWDZZdkUwdWF2eTFyMW4y?= =?utf-8?B?aWdVbVJWUTFyUk0zYVBIMWpzYmIzclFqV3R1QVJ1SDFUM0RZbXIxVWtxWTdB?= =?utf-8?B?aERKcGhEU3RtY0pHbTdhQ1dhaVVwY1UzMDNIdXNIbVh4d0tSODJrMzBGS2Vl?= =?utf-8?B?U0YyZStyZ2NiSFM1YjJId1dBdkdNWUJOWXhSYURQdDA5Tko4bms2TjlkMm5V?= =?utf-8?B?V0diZWFNS0ZCUldUWXZ2SmRXNGR1SCtSbXc2VC9hUytISHpJTjRETW90QVYv?= =?utf-8?B?MjBEcjRFc2xLaVVydWE5RzkzcU1yM2Y2MTZFSkQweE5JVmJXb1V1MEVGYjUz?= =?utf-8?B?N1JNcmR3SmkvajdMVkdjL3NrTVpRY0RDVURubjVOSFppR0NWRkdvYkQ5am5D?= =?utf-8?B?T2NxdHNndUZyOHRwVDFGWjJTazJCRDRGL2dJK1NHZVdQNVUzNnhEYjEyM1Ni?= =?utf-8?B?MnNNN1RHT1ZFWVRHajZQRmZPTSsrVCs4QXZBbTh5bjBZbG9nQTNKUzZvc3Z1?= =?utf-8?B?dk9MMTgyYktOcmlmc0lyMllLQk9qWWZRVkx4aG5CbS9tZGRMRkxlTkNMVTFa?= =?utf-8?B?eG1CM3psNWxqN1QrdW5uQmhrSlpOazBNZzFZS1JQVUhqNmkvbkZURlkyUTdt?= =?utf-8?Q?4TLcIb8V6WYuIKcVsu0S59HKV?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: MGZ6b1B4vEARZAFsrxYAc6OAgsQgqC5uwbVgmTve7RmL5cicKNoDNZz/zDglpU2WhjTl6fM5Bm/iaMChHpDpMrtejghr831R4XZcK9x8YTVhi/BqcrRY78ZbQ5Ep/qkvM0+4/WEoPKRhPjfebsA2yVN5Tvo1Po36gNoBQShcFBxTT+gQne7h0zgEt/PoHxRtn45SuzILT8PxrG5NxIY6c48xG5xwLnAVHNZ69RgXesMd5RApCdJHSCRvkx5JFa9LiLwWlZ+b2A5JsE1O7a1Nsur2wMWyX+v/NIKor5jhOz5F8J9TJbmav3VWfrDnRlrNPw9I+uJvnOQGIObQDtar4Q+giIrZJy1yLqSDMKB788IBTr7xkNgacj7B/hKSs4BeSKvICc3E+0OTRJzEGCnl6EOB8Rhv/7wWiKG+q8f3jxq/M7CUhT4Nsy87LEGP7+/RF6MYASsaUBaDgg3YjH8vzHwfbLSwkVqDt/pcCBb/Ws0VeG3tS+1TjocNXlx78GxmtCbD5cNfO1xiJ/fSdJwgd/zMV5xha2EjcSVWTRZMSewjF7Wmd4LCg5zco43Dzi3ELm+ZIT3BeM6ExaFQPlGRhtaVCH8nT9vPnOvlUbbxPp6xD+eD+boeaE8rtNXflIPLs7L4U1bf0iOinIN5Oaa7Dd9nj0Cg68n5LTkI5Vs1KHs9ztP3a+bSVwdICuongFZqMOG73nEWanCt5DGuSKK9KFkIUfGRZi5PgRKu4sFluBqVmEb7PAxUTqkprGhe27jt2nChDJSvIDul1H00QpcCC72WgFi4ZCRWIv0rjDuYd35YohUC0qAcDYj1NKkYzTpMzZdCWYYCif+EFlsC09uEvnMLteqccq26ijyb84db1DAKVIzPIJwg9dIPGCLPowN6 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB5716.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9592a08-5c1c-4ee3-f343-08db1b9909f0 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2023 03:40:31.3164 (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: 29Rn6XXYIcDn9Nio34qJwTG+XxN3CpAMUb3smLzfThcmraTJe7kWPoXpbHmtM3EiTzIaE5l4iswl18ivcxLxpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB11184 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gVGh1cnNkYXksIE1hcmNoIDIsIDIwMjMgMTE6MjMgUE0gw5ZuZGVyIEthbGFjxLEgPG9uZGVy a2FsYWNpQGdtYWlsLmNvbT4gIHdyb3RlOg0KDQo+IEJvdGggdGhlIHBhdGNoZXMgYXJlIG51bWJl cmVkIDAwMDEuIEl0IHdvdWxkIGJlIGJldHRlciB0byBudW1iZXIgdGhlbQ0KPiBhcyAwMDAxIGFu ZCAwMDAyLg0KPiANCj4gQWxyaWdodCwgYXR0YWNoZWQgdjI3XzAwMDFfdXNlX2luZGV4X29uX3N1 YnNfd2hlbl9wdWJfcmVwX2lkZW50X2Z1bGwucGF0Y2ggYW5kIA0KPiB2MjdfMDAwMl91c2VfaW5k ZXhfb25fc3Vic193aGVuX3B1Yl9yZXBfaWRlbnRfZnVsbC5wYXRjaC4NCj4gDQo+IEkgYWxzbyBh ZGRlZCBvbmUgbW9yZSB0ZXN0IHdoaWNoIEFuZHJlcyBhc2tlZCBtZSBvbiBhIHByaXZhdGUgY2hh dA0KPiAoVGVzdGNhc2Ugc3RhcnQ6IFNVQlNDUklQVElPTiBVU0VTIElOREVYIFdJVEggUFVCL1NV QiBkaWZmZXJlbnQgZGF0YSkuDQoNClRoYW5rcyBmb3IgdXBkYXRpbmcgdGhlIHBhdGNoLiBJIHRo aW5rIHRoaXMgcGF0Y2ggY2FuIGJyaW5nIG5vdGljZWFibGUNCnBlcmZvcm1hbmNlIGltcHJvdmVt ZW50cyBpbiBzb21lIHVzZSBjYXNlcy4NCg0KQW5kIGhlcmUgYXJlIGZldyBjb21tZW50cyBhZnRl ciByZWFkaW5nIHRoZSBwYXRjaC4NCg0KMS4NCisJdXNhYmxlSW5kZXhDb250ZXh0ID0gQWxsb2NT ZXRDb250ZXh0Q3JlYXRlKEN1cnJlbnRNZW1vcnlDb250ZXh0LA0KKwkJCQkJCQkJCQkJICAgInVz YWJsZUluZGV4Q29udGV4dCIsDQorCQkJCQkJCQkJCQkgICBBTExPQ1NFVF9ERUZBVUxUX1NJWkVT KTsNCisJb2xkY3R4ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKHVzYWJsZUluZGV4Q29udGV4dCk7 DQorDQorCS8qIEdldCBpbmRleCBsaXN0IG9mIHRoZSBsb2NhbCByZWxhdGlvbiAqLw0KKwlpbmRl eGxpc3QgPSBSZWxhdGlvbkdldEluZGV4TGlzdChsb2NhbHJlbCk7DQorCUFzc2VydChpbmRleGxp c3QgIT0gTklMKTsNCisNCisJZm9yZWFjaChsYywgaW5kZXhsaXN0KQ0KDQpJcyBpdCBuZWNlc3Nh cnkgdG8gY3JlYXRlIGEgbWVtb3J5IGNvbnRleHQgaGVyZSA/IEkgdGhvdWdodCB0aGUgbWVtb3J5 IHdpbGwgYmUNCmZyZWVkIGFmdGVyIHRoaXMgYXBwbHkgYWN0aW9uIHNvb24uDQoNCjIuDQoNCisJ CQkvKg0KKwkJCSAqIEZ1cnRoZXJtb3JlLCBiZWNhdXNlIHByaW1hcnkga2V5IGFuZCB1bmlxdWUg a2V5IGluZGV4ZXMgY2FuJ3QNCisJCQkgKiBpbmNsdWRlIGV4cHJlc3Npb25zIHdlIGFsc28gc2Fu aXR5IGNoZWNrIHRoZSBpbmRleCBpcyBuZWl0aGVyDQorCQkJICogb2YgdGhvc2Uga2luZHMuDQor CQkJICovDQorCQkJQXNzZXJ0KCFJZHhJc1JlbGF0aW9uSWRlbnRpdHlPclBLKHJlbCwgaWR4cmVs LT5yZF9pZCkpOw0KDQpJdCBzZWVtcyB5b3UgbWVhbiAicmVwbGljYSBpZGVudGl0eSBrZXkiIGlu c3RlYWQgb2YgInVuaXF1ZSBrZXkiIGluIHRoZSBjb21tZW50cy4NCg0KDQozLg0KLS0tIGEvc3Jj L2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHJlbGF0aW9uLmgNCisrKyBiL3NyYy9pbmNsdWRl L3JlcGxpY2F0aW9uL2xvZ2ljYWxyZWxhdGlvbi5oDQouLi4NCitleHRlcm4gYm9vbCBJc0luZGV4 T25seU9uRXhwcmVzc2lvbihJbmRleEluZm8gKmluZGV4SW5mbyk7DQoNClRoZSBkZWZpbml0aW9u IGZ1bmN0aW9uIHNlZW1zIGJldHRlciB0byBiZSBwbGFjZWQgaW4gZXhlY1JlcGxpY2F0aW9uLmMN Cg0KNC4NCg0KK2V4dGVybiBPaWQgR2V0UmVsYXRpb25JZGVudGl0eU9yUEsoUmVsYXRpb24gcmVs KTsNCg0KVGhlIGZ1bmN0aW9uIGlzIG9ubHkgdXNlZCBpbiByZWxhdGlvbi5jLCBzbyB3ZSBjYW4g bWFrZSBpdCBhIHN0YXRpYw0KZnVuY3Rpb24uDQoNCg0KNS4NCg0KKwkvKg0KKwkgKiBJZiBpbmRl eCBzY2FucyBhcmUgZGlzYWJsZWQsIHVzZSBhIHNlcXVlbnRpYWwgc2Nhbi4NCisJICoNCisJICog Tm90ZSB0aGF0IHdlIGRvIG5vdCB1c2UgaW5kZXggc2NhbnMgYmVsb3cgd2hlbiBlbmFibGVfaW5k ZXhzY2FuIGlzDQorCSAqIGZhbHNlLiBBbGxvd2luZyBwcmltYXJ5IGtleSBvciByZXBsaWNhIGlk ZW50aXR5IGV2ZW4gd2hlbiBpbmRleCBzY2FuIGlzDQorCSAqIGRpc2FibGVkIGlzIHRoZSBsZWdh Y3kgYmVoYXZpb3VyLiBTbyB3ZSBoZXNpdGF0ZSB0byBtb3ZlIHRoZSBiZWxvdw0KKwkgKiBlbmFi bGVfaW5kZXhzY2FuIGNoZWNrIHRvIGJlIGRvbmUgZWFybGllciBpbiB0aGlzIGZ1bmN0aW9uLg0K KwkgKi8NCisJaWYgKCFlbmFibGVfaW5kZXhzY2FuKQ0KKwkJcmV0dXJuIEludmFsaWRPaWQ7DQoN ClNpbmNlIHRoZSBkb2N1bWVudCBvZiBlbmFibGVfaW5kZXhzY2FuIHNheXMgIkVuYWJsZXMgb3Ig ZGlzYWJsZXMgdGhlIHF1ZXJ5DQpwbGFubmVyJ3MgdXNlIG9mIGluZGV4LXNjYW4gcGxhbiB0eXBl cy4gVGhlIGRlZmF1bHQgaXMgb24uIiwgYW5kIHdlIGRvbid0IHVzZQ0KcGxhbm5lciBoZXJlLCBz byBJIGFtIG5vdCBzdXJlIHNob3VsZCB3ZSBhbGxvdy9kaXNhbGxvdyBpbmRleCBzY2FuIGluIGFw cGx5DQp3b3JrZXIgYmFzZWQgb24gdGhpcyBHVUMuDQoNCkJlc3QgUmVnYXJkcywNCkhvdSB6ag0K DQo=