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 1pGH5h-0003Mw-0b for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Jan 2023 10:15:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pGH5f-0000hD-SM for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Jan 2023 10:15:15 +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 1pGH4Y-0003pb-Ug for pgsql-hackers@lists.postgresql.org; Fri, 13 Jan 2023 10:14:07 +0000 Received: from esa19.fujitsucc.c3s2.iphmx.com ([216.71.158.62]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pGH4W-0007T6-NT for pgsql-hackers@lists.postgresql.org; Fri, 13 Jan 2023 10:14:06 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1673604845; x=1705140845; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=CrRWmtQR0M6ZcwILLdGqpFeydphJL4OcODXYQ+Gvu5o=; b=NfE9ZRdi4Y2j4yMLccMGIGhVCVzHkzauNIFllshlZ047IYPR4kmGHdg5 e4BhZmdmGxH5GCmfXXpl5FAgZae3SuYBM+j5M3EcGHgoeAi0Ys1q7pHBC GcaB4G+XU49g+tXD3VF+3RqTrRyJwDCXo1Lrv1rzjw3JRE6U5u5kTY+qJ Pfksu1Weahb8OYdmhyPvhYSgQLbVFAUWYJ2uCAKw01LXESDfUqlpBqtjY 14f4RfQjRZd6n9qRaikORS4YdlKjDGAfrR8aBhHXxUjZgPovGohIWZ2Wa zugp4iVsSQZepIbahVebCQXGnY3OGJ0gASUzHEv5vm1dN9nPK8EcAOyyX w==; X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="74028958" X-IronPort-AV: E=Sophos;i="5.97,213,1669042800"; d="scan'208";a="74028958" Received: from mail-os0jpn01lp2108.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.108]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 19:13:36 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H1esrnvkQAP1Jg2cNjo6PaDkpic5z0aHEmiO0hrvMLbm9jAFNJdUj65okvaQ+cUtzqGaaNja00fR3X5nFJZt5q+7y1e/ZutE4L5K8UrEfALFkw6MdmsZHCP920myeKbdGhO0QV8XYNBzHvASntMvz5GqFMc74D/wCxJmFiJ+9ndsTh8qjjQoX3OEucP4RZ/0JenI0w1MFV5Mqhmu83M9oWu/1i2nqtVEygTObC64fxZTHdu8IFMFpZZdOBD0o+mQs2Tg+Fw7ToKuqvOIa/xmO5yn8hm+9lJxBPMHWRK4dlBy+a/kVjA7NUM7up30ATFZTq9T1OI5yOEpP8CUNueTSw== 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=CrRWmtQR0M6ZcwILLdGqpFeydphJL4OcODXYQ+Gvu5o=; b=gtZIUzR9jsfo7+bcrAfy+CWIJL0/dYnw1BFb96Wt+Hb2gx7tYOPjtl5VVtWHNuHDwe63AGNZ4xl/rHOKOrHbwkDEenWYSf7quMXdDE9MR8Tx8E1+daLpCqTyZQaPEmJ9qfAIKRCTIRDnbhtyF4e5hLvEXxZsyjiHktxlMSIWv/V4AXOOo+yqNpBn+ab+uKw3YaIKoDOzi5J2XwsRloQhqzstk2LPSSm9fSRP9iNIJdmn/DhxqFHjlGTI/AR2mOqPCU2Dc4ZuTmI8RphcsuOmtfWgPfiGuPYO/eXKwi1iqtyRzBtURFxuj7KbZqlddqqjr9+XZKOpJ0X5333abSU0+Q== 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 TYCPR01MB6143.jpnprd01.prod.outlook.com (2603:1096:400:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.12; Fri, 13 Jan 2023 10:13:34 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::db62:a054:b1fa:4cb3]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::db62:a054:b1fa:4cb3%3]) with mapi id 15.20.6002.012; Fri, 13 Jan 2023 10:13:31 +0000 From: "houzj.fnst@fujitsu.com" To: Masahiko Sawada CC: Amit Kapila , shveta malik , Peter Smith , "wangw.fnst@fujitsu.com" , "shiy.fnst@fujitsu.com" , PostgreSQL Hackers , Dilip Kumar Subject: RE: Perform streaming logical transactions by background workers and parallel apply Thread-Topic: Perform streaming logical transactions by background workers and parallel apply Thread-Index: AQHZD4gmc8Gf0xrGM0OFaEbpojAcOq5uQq1wgAHYoYCAAB++4IAAIlOAgAGmKgCAABa30IADFsaAgAFWGwCAABBJYIAA+pYAgABJqTCAAgB9AIAA8s2ggABurUCABGXB4IAAfjmAgAEdzwCAAHCvAIABHXEAgAIlRYCAAWA5AIAEvuWAgAE6wQCAAY/VgIAAWFEwgAAJz4CAAB4xgIAABTsAgADsLVCAAFA9gIAAMiLQgAAJBQCAAQ5tgIAAH42AgAALiQCAAA7+AIAAKYCwgAE8UACAAA1nAIAANzCAgAEiKoCAABvkQIAAI2kAgAHB84CAAU8AEIADHVSAgAALYoCAAGDXgIAABJEAgAAWisCAASE6gIAAQWuA Date: Fri, 13 Jan 2023 10:13:31 +0000 Message-ID: References: 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?NTBfQWN0aW9uSWQ9MmQyMjA1MjItNDE2MS00YjhlLTgzYjgtM2I1MDAxMGNi?= =?utf-8?B?MmEwO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMy0wMS0xM1QwOTozNzoyOVo7TVNJUF9MYWJl?= =?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_|TYCPR01MB6143:EE_ x-ms-office365-filtering-correlation-id: 6ec3f977-d828-486a-12ef-08daf54ed28d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bYF1PQ1ppipScQDGJPFZNdVWN91VOR1nGLkoj9PHSIxUOY6XPyxhPE8DrKoB2d9GT9iCqVgBbWbij5D0r+o6YYQAnFZDL1kLrnvTiMg+TzfwTCdvSfndkQhxzGNbIFXNQfC6y09in+6cI8O9Y8yHMN16HdGWeX2JIF/o15Z4YeIbN47aJiLjZv6Cex5kAqHCSw5UoYSJufEYgAdmGL9YKHHFMmmzIplr0Qrqn/waTK6Y6OgPuZb/aC3VFNx9OW9Gjl5i0f1QH8q0SONlLJvwlpPxEg/mIfsNSuGkDJEK5TXhcBAsOQaMVjGoD0f5AMYQ38MYAgoqvdoBKF/OHySHKdpeLrakdpJV7e0xAGWZikrUv13r5GYbgkY5ASiDApMrBNmM4lf83LrUBhZ5LxRhoW+a/MosReWhLgiA86WC2MxG24V3+Jm8pbiDl/KiXsJPuaATkWTGROJn69D3CizfUBKJwlNhfFDY4lm1CFHAGd1YEbE88ygrkk23fqWW1ygdWnv/7DBHCopShrEqYbYfwXtG3wP7C0SSAB2/9omIIjsTfBoHK3Mml/voyNATXm9F0A/q1Ev8aBLZ3U3XJ0vsbOI0yHL1bSIl55F2kitZ7+4G05ZgVAzCFT1rlXmhE5EKYp8bOHK6fO0zIym28b9cUBsWbQ8knOHTMNsuB9MXpF24CSQn3fLYjKLHfajMwcwDmx6zSyet5GfwnkSpjaRTfj1alOsIvRjiNqHaW3s+Lh4= 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:(13230022)(4636009)(39860400002)(136003)(376002)(346002)(396003)(366004)(451199015)(1590799012)(4326008)(71200400001)(85182001)(122000001)(7696005)(86362001)(38100700002)(9686003)(53546011)(33656002)(55016003)(26005)(6506007)(83380400001)(186003)(478600001)(2906002)(6916009)(76116006)(5660300002)(8676002)(64756008)(52536014)(66946007)(66446008)(66556008)(41300700001)(66476007)(82960400001)(8936002)(1580799009)(54906003)(316002)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZlhQU215OUdkTnljbGQ4SmxIazh2SEY0eGk3THlUZE1JT3F5WTk1WnFsbWpp?= =?utf-8?B?MXdGK0ZtbldHTDdkRmJkNThnRlV1VnNJOXFzR1YvSWVINGtoTmNJV3R0SjJM?= =?utf-8?B?R21QVDdYOExyQ25lenlCN0ZFZ044UFJBRTJ6WGZQL1c3NlJXY0J3MHNFRHRt?= =?utf-8?B?VWVUNkIwU2c1NTRCbHJ6QWtCWHFOaWMySUJpMmY5SWNXMnFHZndMR0dkR2dy?= =?utf-8?B?cXRSWGw2QytCV09TSDJvdDQ1Q0thTWdMM2NRTWRwS2VkU0lYNXg5WlZ4K1VK?= =?utf-8?B?VUx0eklEbTR4VytzdDVtMXhncEVZbWJIcjBMazhJT1dQT1lVMWFLMmVSeVdV?= =?utf-8?B?NktFcFYvYlU0c1I4L3FxYW5reTl6Z2RzblZPVCtMazUvU1BOa1N0eGxHaHJi?= =?utf-8?B?cmhBYmN5N0UwbGZVdWhzR1l4S0pCNVlGVDBvZWl2QnIyTDlyQ1BHS0YwNjZ4?= =?utf-8?B?d1VzWnA0b2s1U2N5dDBsV2FxRmhMcW5BREVibTA2RFRPSkZXTmR2ZHFkSjh4?= =?utf-8?B?NEw2RWsreUVCWGlTK3RvbEZ3Q2Rjb2NnWEVKYXRabWxOUkJvVTlWcEFVSmhk?= =?utf-8?B?R2t1MjFVa0tWS2l1OUYxckk1c28xWlpwSGhzTElTbTZOajc1MGxqYUoxem4z?= =?utf-8?B?R1dDMDFicjl1SnJ5S2x3NnlBN1JTUWpZUnVXN3V6VDRKUFMzM2Q2NHE0UUlv?= =?utf-8?B?dzFqV1BuVUs1V2xua2gwMnlUdXhmZlNkSHZ6NXJkT2hKQk9JL3ZFcE1WR3Nw?= =?utf-8?B?YlFVT1YzT3VKUGEwZnNoTDBjM0UvTERxM0FJbXZ6N3AzYW90QnM2VGJFbnlW?= =?utf-8?B?Q1dEcTZ3YTlaRlJoYkpxOWFnNDZFaFBGOHkwNksrdXF2MWt5Ty8rZmtRencr?= =?utf-8?B?Z1FXNW04OGp1b1pvWWt6T25udzFPa2ZBNVBTc21sTzRJb2Y2aWwzalBxcTYx?= =?utf-8?B?SUxMTDNtOXEzcGVVWjRNalBYT3E0cjV0MFB0ZTVqN291Uzd0c3oxckZlSGhB?= =?utf-8?B?TC85OURNVlYvWmxsVFIyWHhWdWRJd2VvWWp4bklxMi9NNjVLTEVXeU1tUXJJ?= =?utf-8?B?WmJtSzRSN29aMFl2TmRTWDRHYW92Y2d2RkRTN3hpV2l4Q3NDZzZtWDM3bzlY?= =?utf-8?B?VnBTZG9vVlBPZ2thblpiT1lsbC9DczJrTURTWDl6OVdTL0Jxc0Z2dzBwWHBJ?= =?utf-8?B?b0tVTUhGOERDRm43WWVMVzR1KzRCOE9JVzZSd3FBWTEwekxFR3hURkZrVUZk?= =?utf-8?B?cUxNUTFKVUlQMFo1U1ZxNTk1T2NybVdYanh0R1g4U1BSd1pPNU1TdkRodWdi?= =?utf-8?B?QURuZEhYV3NwdUJ0OVQ5MmdRWndoeTNGSllnclhhaCtjSnlaSXNrbzRPdFpt?= =?utf-8?B?S0dlcTh3Z0ltRytiMzhhdDVMSExDVnJ3UFUxY0V3Wjl5TFd6ampGeFhPYUFr?= =?utf-8?B?MzJIcUtzdFpmRnNwNE13eEQ0VEp5N0JQakhtSWFBRGtRNjVtV2RpS2grdHQy?= =?utf-8?B?eXk4ZEl5WlJITGJDY3dlRkVtejBIaVU5WUFQbW1DUnFTZVpEays2YUl4L2Vu?= =?utf-8?B?WXVmaW9iZEhFQ0t0Q08zODk5QnhaeTQrajB6SmpRZmkrVVZESUxHRy80UDl4?= =?utf-8?B?aVdlL3d2aEE2QlBTSllpL0l6SlZYZUt6Rk9iV0c3WGJxdlF1eVV2cEloNXVv?= =?utf-8?B?OXpFUG1KcnQ3RU5leTRJTHVEWDJBS1MvWldXbWc0aDV2c1daNVIwZVJMZW9O?= =?utf-8?B?d2c0NTRXNXkwazJDVTd5WWt0MGhkNGpISUdHMTR5bVVlbkxnelFtUmdTUkN5?= =?utf-8?B?dEZFNjM5a0VkZVpLYmwrdDhJZWx2UWEvdlNRZVZqU2xRLyt4UThicjR3Y2s1?= =?utf-8?B?WC9oNVQ0QVF4WGdFTGNKMHZpSkt5K2xBUVV4SGJZa3BVOWdKZE9qWFBBQ3E0?= =?utf-8?B?UmhiS0dNaUpyaVpTY3JmR08rOG43cTFuWWVYNkpnSEs3bHlRVlpCemhWQW96?= =?utf-8?B?bWowRzhtLzlmcFptVHgwVnNoaDU0TEo1MW9HaTlGUlY3aTFTVXRCTmFBMkY1?= =?utf-8?B?T0JoZUFHS210eno3ZjhhM0hrSGxtQnhCOUZUQXcxY2VIRXNMRVdoY0oxYnNE?= =?utf-8?Q?UO87/gchRjtGyxj+/KOQ1DFOy?= 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: 3qsZDZtVd3UAQqnljmzB1zabWpb787xB23FIc6OOEtiGxCxJIQLNy3fIi6pDWTEroPN626MQX66qyLmWqQp3V9BN2DYBKAJRZZ8fb03xs/+NQu1wb/d21EOdtTeta7LyQkr3zClKkZsobpWgyntUPBJppitn65gKbHn0QrOksaMkmRE0ZkX2SRiLn3VQ1YXvkX5kfl2koLm7oHyPSlb11WWrwQA2xLoQ+XGV4Dv091B2cWlMthASN7zHvd75n60ZBV1e+k6p7j2bsRPV27Z+UNg3nCkJK6koU7riTpfF7rp4v4wuczDp2OCRQxpH09JdD+bZpolrqrjgmEdj6spwrSvZzPEKJodPHDM/9DgCQR61zsY3GI3ryYRsH11bCvoqNLf5I4XizDHYqHR0l6hO4aNoljO3KuSalMLn4QuJfzFmVIS98kZs7sqREkrgGX9lQsXGCkW2JRZuj9ReME3enu59yi+JysAi7L3VPqK3TpSeqDCqkAL/O/tSs8wA6QGPECPefInW6HIXYI8rGG/jAlu4NXhiBwUSsa7FNG+z5RjZ1dzdARrbjXL9h0kmrnR0AeinNXiMlkrIv4SjSFXq1x3DMOQ4x0Ncn4fBDVBeQsB2RDLIfTzCLUb8n9PEtFSZOgPP5bxJwqqqHyl4wxsG+J+sBf3Et3MncukoD5nDlHN81iWLF71WMPv5/vRJrjUJ2+5m1bew+SK1nOLo4qaZNbxFWMO6ginvtHKlayWQ1ynrKWxevBhzIuWHmaXET9eqS75XvZ6dftw9lpRblJ2ut9YNxoNj2mBLc6ZS/Hm0MVfDvy6xfMGodauhcq3gQVGA 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: 6ec3f977-d828-486a-12ef-08daf54ed28d X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2023 10:13:31.4576 (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: eO4r5rvu64qeuOl0LrMUDSGzSUQQIFCZqpzOrkmWCrYS9w4FT+TQj87U/YOjRf9i9E+GhVyJ5hVTV6ZRWhR96g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6143 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gRnJpZGF5LCBKYW51YXJ5IDEzLCAyMDIzIDE6NDMgUE0gTWFzYWhpa28gU2F3YWRhIDxzYXdh ZGEubXNoa0BnbWFpbC5jb20+IHdyb3RlOg0KPiBPbiBUaHUsIEphbiAxMiwgMjAyMyBhdCA5OjM0 IFBNIGhvdXpqLmZuc3RAZnVqaXRzdS5jb20NCj4gPGhvdXpqLmZuc3RAZnVqaXRzdS5jb20+IHdy b3RlOg0KPiA+DQo+ID4gT24gVGh1cnNkYXksIEphbnVhcnkgMTIsIDIwMjMgNzowOCBQTSBBbWl0 IEthcGlsYQ0KPiA8YW1pdC5rYXBpbGExNkBnbWFpbC5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+ IE9uIFRodSwgSmFuIDEyLCAyMDIzIGF0IDQ6MjEgUE0gc2h2ZXRhIG1hbGlrIDxzaHZldGEubWFs aWtAZ21haWwuY29tPg0KPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gT24gVGh1LCBKYW4gMTIs IDIwMjMgYXQgMTA6MzQgQU0gQW1pdCBLYXBpbGENCj4gPiA+ID4gPGFtaXQua2FwaWxhMTZAZ21h aWwuY29tPg0KPiA+ID4gd3JvdGU6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBPbiBUaHUsIEphbiAx MiwgMjAyMyBhdCA5OjU0IEFNIFBldGVyIFNtaXRoDQo+ID4gPiA+ID4gPHNtaXRocGIyMjUwQGdt YWlsLmNvbT4NCj4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBkb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gNS4gcGdfc3RhdF9zdWJzY3JpcHRpb24NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBAQCAt MzE5OCwxMSArMzE5OCwyMiBAQCBTRUxFQ1QgcGlkLCB3YWl0X2V2ZW50X3R5cGUsDQo+ID4gPiA+ ID4gPiB3YWl0X2V2ZW50IEZST00gcGdfc3RhdF9hY3Rpdml0eSBXSEVSRSB3YWl0X2V2ZW50IGkN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgICAgICA8cm93Pg0KPiA+ID4gPiA+ID4gICAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYQ0KPiA+ID4gPiA+ID4gcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPg0KPiA+ID4gPiA+ID4gKyAgICAgICA8c3RydWN0ZmllbGQ+ YXBwbHlfbGVhZGVyX3BpZDwvc3RydWN0ZmllbGQ+DQo+ID4gPiA8dHlwZT5pbnRlZ2VyPC90eXBl Pg0KPiA+ID4gPiA+ID4gKyAgICAgIDwvcGFyYT4NCj4gPiA+ID4gPiA+ICsgICAgICA8cGFyYT4N Cj4gPiA+ID4gPiA+ICsgICAgICAgUHJvY2VzcyBJRCBvZiB0aGUgbGVhZGVyIGFwcGx5IHdvcmtl ciwgaWYgdGhpcyBwcm9jZXNzIGlzIGENCj4gYXBwbHkNCj4gPiA+ID4gPiA+ICsgICAgICAgcGFy YWxsZWwgd29ya2VyLiBOVUxMIGlmIHRoaXMgcHJvY2VzcyBpcyBhIGxlYWRlciBhcHBseSB3b3Jr ZXINCj4gb3IgYQ0KPiA+ID4gPiA+ID4gKyAgICAgICBzeW5jaHJvbml6YXRpb24gd29ya2VyLg0K PiA+ID4gPiA+ID4gKyAgICAgIDwvcGFyYT48L2VudHJ5Pg0KPiA+ID4gPiA+ID4gKyAgICAgPC9y b3c+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICAgICA8cm93Pg0KPiA+ID4gPiA+ID4g KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYQ0KPiA+ID4gPiA+ ID4gKyByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+DQo+ID4gPiA+ID4gPiAgICAgICAgIDxzdHJ1 Y3RmaWVsZD5yZWxpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4NCj4gPiA+ID4gPiA+ ICAgICAgICA8L3BhcmE+DQo+ID4gPiA+ID4gPiAgICAgICAgPHBhcmE+DQo+ID4gPiA+ID4gPiAg ICAgICAgIE9JRCBvZiB0aGUgcmVsYXRpb24gdGhhdCB0aGUgd29ya2VyIGlzIHN5bmNocm9uaXpp bmc7IG51bGwgZm9yDQo+IHRoZQ0KPiA+ID4gPiA+ID4gLSAgICAgICBtYWluIGFwcGx5IHdvcmtl cg0KPiA+ID4gPiA+ID4gKyAgICAgICBtYWluIGFwcGx5IHdvcmtlciBhbmQgdGhlIHBhcmFsbGVs IGFwcGx5IHdvcmtlcg0KPiA+ID4gPiA+ID4gICAgICAgIDwvcGFyYT48L2VudHJ5Pg0KPiA+ID4g PiA+ID4gICAgICAgPC9yb3c+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gNWEuDQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gKFNhbWUgYXMgZ2VuZXJhbCBjb21tZW50ICMxIGFib3V0IHRlcm1p bm9sb2d5KQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICJhcHBseV9sZWFkZXJfcGlkIiAtLT4g ImxlYWRlcl9hcHBseV9waWQiDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSG93 IGFib3V0IG5hbWluZyB0aGlzIGFzIGp1c3QgbGVhZGVyX3BpZD8gSSB0aGluayBpdCBjb3VsZCBi ZQ0KPiA+ID4gPiA+IGhlbHBmdWwgaW4gdGhlIGZ1dHVyZSBpZiB3ZSBkZWNpZGUgdG8gcGFyYWxs ZWxpemUgaW5pdGlhbCBzeW5jDQo+ID4gPiA+ID4gKGFrYSBwYXJhbGxlbA0KPiA+ID4gPiA+IGNv cHkpIGJlY2F1c2UgdGhlbiB3ZSBjb3VsZCB1c2UgdGhpcyBmb3IgdGhlIGxlYWRlciBQSUQgb2YN Cj4gPiA+ID4gPiBwYXJhbGxlbCBzeW5jIHdvcmtlcnMgYXMgd2VsbC4NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+IC0tDQo+ID4gPiA+DQo+ID4gPiA+IEkgc3RpbGwgcHJlZmVyIGxlYWRlcl9hcHBseV9w aWQuDQo+ID4gPiA+IGxlYWRlcl9waWQgZG9lcyBub3QgdGVsbCB3aGljaCAnb3BlcmF0aW9uJyBp dCBiZWxvbmdzIHRvLiAnYXBwbHknDQo+ID4gPiA+IGdpdmVzIHRoZSBjbGFyaXR5IHRoYXQgaXQg aXMgYXBwbHkgcmVsYXRlZCBwcm9jZXNzLg0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+IEJ1dCB0aGVu IGRvIHlvdSBzdWdnZXN0IHRoYXQgdG9tb3Jyb3cgaWYgd2UgYWxsb3cgcGFyYWxsZWwgc3luYw0K PiA+ID4gd29ya2VycyB0aGVuIHdlIGhhdmUgYSBzZXBhcmF0ZSBjb2x1bW4gbGVhZGVyX3N5bmNf cGlkPyBJIHRoaW5rIHRoYXQNCj4gPiA+IGRvZXNuJ3Qgc291bmQgbGlrZSBhIGdvb2QgaWRlYSBh bmQgbW9yZW92ZXIgb25lIGNhbiByZWZlciB0byBkb2NzIGZvcg0KPiBjbGFyaWZpY2F0aW9uLg0K PiA+DQo+ID4gSSBhZ3JlZSB0aGF0IGxlYWRlcl9waWQgd291bGQgYmUgYmV0dGVyIG5vdCBvbmx5 IGZvciBmdXR1cmUgcGFyYWxsZWwNCj4gPiBjb3B5IHN5bmMgZmVhdHVyZSwgYnV0IGFsc28gaXQn cyBtb3JlIGNvbnNpc3RlbnQgd2l0aCB0aGUgbGVhZGVyX3BpZCBjb2x1bW4gaW4NCj4gcGdfc3Rh dF9hY3Rpdml0eS4NCj4gPg0KPiA+IEFuZCBoZXJlIGlzIHRoZSB2ZXJzaW9uIHBhdGNoIHdoaWNo IGFkZHJlc3NlZCBQZXRlcidzIGNvbW1lbnRzIGFuZA0KPiA+IHJlbmFtZWQgYWxsIHRoZSByZWxh dGVkIHN0dWZmIHRvIGxlYWRlcl9waWQuDQo+IA0KPiBIZXJlIGFyZSB0d28gY29tbWVudHMgb24g djc5LTAwMDMgcGF0Y2guDQoNClRoYW5rcyBmb3IgdGhlIGNvbW1lbnRzLg0KDQo+IA0KPiArICAg ICAgICAvKiBGb3JjZSB0byBzZXJpYWxpemUgbWVzc2FnZXMgaWYgc3RyZWFtX3NlcmlhbGl6ZV90 aHJlc2hvbGQNCj4gaXMgcmVhY2hlZC4gKi8NCj4gKyAgICAgICAgaWYgKHN0cmVhbV9zZXJpYWxp emVfdGhyZXNob2xkICE9IC0xICYmDQo+ICsgICAgICAgICAgICAgICAgKHN0cmVhbV9zZXJpYWxp emVfdGhyZXNob2xkID09IDAgfHwNCj4gKyAgICAgICAgICAgICAgICAgc3RyZWFtX3NlcmlhbGl6 ZV90aHJlc2hvbGQgPCBwYXJhbGxlbF9zdHJlYW1fbmNodW5rcykpDQo+ICsgICAgICAgIHsNCj4g KyAgICAgICAgICAgICAgICBwYXJhbGxlbF9zdHJlYW1fbmNodW5rcyA9IDA7DQo+ICsgICAgICAg ICAgICAgICAgcmV0dXJuIGZhbHNlOw0KPiArICAgICAgICB9DQo+IA0KPiBJIHRoaW5rIGl0IHdv dWxkIGJlIGJldHRlciBpZiB3ZSBzaG93IHRoZSBsb2cgbWVzc2FnZSAiImxvZ2ljYWwgcmVwbGlj YXRpb24gYXBwbHkNCj4gd29ya2VyIHdpbGwgc2VyaWFsaXplIHRoZSByZW1haW5pbmcgY2hhbmdl cyBvZiByZW1vdGUgdHJhbnNhY3Rpb24gJXUgdG8gYSBmaWxlIg0KPiBldmVuIGluIHN0cmVhbV9z ZXJpYWxpemVfdGhyZXNob2xkIGNhc2UuDQoNCkFncmVlZCBhbmQgY2hhbmdlZC4NCg0KPiANCj4g SUlVQyBwYXJhbGxlbF9zdHJlYW1fbmNodW5rcyB3b24ndCBiZSByZXNldCBpZiBwYV9zZW5kX2Rh dGEoKSBmYWlsZWQgZHVlIHRvIHRoZQ0KPiB0aW1lb3V0Lg0KDQpDaGFuZ2VkLg0KDQpCZXN0IFJl Z2FyZHMsDQpIb3UgemoNCg0K