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 1niuBk-0004SM-7n for pgsql-hackers@arkaria.postgresql.org; Mon, 25 Apr 2022 08:35:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1niuBi-0005Ak-HX for pgsql-hackers@arkaria.postgresql.org; Mon, 25 Apr 2022 08:35:18 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1niuBh-0005Ab-UP for pgsql-hackers@lists.postgresql.org; Mon, 25 Apr 2022 08:35:18 +0000 Received: from esa1.fujitsucc.c3s2.iphmx.com ([68.232.152.245]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1niuBb-0002P3-Nu for pgsql-hackers@lists.postgresql.org; Mon, 25 Apr 2022 08:35:16 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1650875712; x=1682411712; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=U1n00vm28CYIctBMelUW3mGuqinnObhisP0D88fX08M=; b=Uoeo/w2vA9oRVf3D0Q8NnY1H+TE9En+TsGt1BdpvM+QfLWBPmVfPpKfr csyEgWjaYMsnB01IDY/qy4iOKR/bRMSBNQ1kyuh/77j40SYnXLb3l9Pa9 tlO7sXHWUrFGDc/84NCNkwVERI+dNhzZpG2HAMF3MbqZVBR/AgOCBIhKe 2m9C9a70NKnEZ+ndH+2dKWWp+ylsdhuPmdtd39B2WH8zqJiUl9HWYQxB+ sluQkK860JCDckM/8Y+laYd3AcI7+h3aFmYoq+3ZYsW/z2E98zcwJznAW x6kQw9PI2TmYmY92lNx6ujrAgMttFUnPeYdzAegckm5svQ2FX1K+Ob+PT g==; X-IronPort-AV: E=McAfee;i="6400,9594,10327"; a="62789846" X-IronPort-AV: E=Sophos;i="5.90,287,1643641200"; d="scan'208";a="62789846" Received: from mail-os0jpn01lp2112.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.112]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2022 17:35:08 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lxVsaSuY6fUC5JX9uu5bal0JFhzVI5fmRVQVD8pVI9n55feLy8yU/jRHwoX7PwUSxcDfbo5jLjc00/ILS9B7WTl+D2tnrvrZ0X0pM/HAWSgv7EkqjDl6SttJZBRpifItCk9Egl0K9r/4w2dk5dGDd+Fcxz3CDULp+v+ml4iuyci0AZZxMD9IIxjEV5uOyjSfBjnry9FN9aBohYmLQsEEn3aeLbKmpDgVucJ5HenIc4vIzzIcVSs3eLM0uw2O9hHTZ69sSsvll8CcXou53nNTQgrrD0mzrb9Jsa79A5NraNeukc8yVmzfS5xkfOLHvRx/3suNoq8v78WbtRNm3WOnCg== 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=U1n00vm28CYIctBMelUW3mGuqinnObhisP0D88fX08M=; b=izwkLBltXQ5mI1DkN0XvC3WLo+vEyMjSbM2cIlCPJWG8A1NnLTT6Nci8YQz7hNzgp3SJRA/8XDTUtRrQy7lTLxW9qQ58ami3YQRXWQ7j/r2J5wXSBYDT9IdHP9lSfFzrF8oznbrTAwJHL+pcKmXaeNBt7vzjcuWH8+p3kUJYGgYp3xnzT2rJ8h7fWBqxYKo9Ih8cITFeD1ABmeusn8uQ39aL6HXFZ672223a9j8ksUltJa92/qI2NyFHo3+VKDSU+4pd+u2qPNk4PUu6BTxC6MUPEL3anDlKE6VI7BVVcxmJGFww8Zug5NnKJUPKGsxAZimR60rNX0hcjkvkDV+img== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U1n00vm28CYIctBMelUW3mGuqinnObhisP0D88fX08M=; b=ZBgtpePaQJ2RWJvDS/0kj1c6sWSUn7ztNmypAa1G5Phtvk8lwmEzPSj9QGkp1WLSEIGnbkuVdBHo7/lF12zmbuRLG4dbURWzgwbgYLd52dFKFCX1bga50MLrWdlTtizrxClnekARWsKK49UbpaLKBIv5N1AoAhahdH33JyvWT/M= Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com (2603:1096:604:bb::12) by TY3PR01MB9933.jpnprd01.prod.outlook.com (2603:1096:400:22d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.18; Mon, 25 Apr 2022 08:35:05 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::fcd7:9667:ec81:d1d5]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::fcd7:9667:ec81:d1d5%5]) with mapi id 15.20.5186.021; Mon, 25 Apr 2022 08:35:05 +0000 From: "houzj.fnst@fujitsu.com" To: Peter Smith CC: Amit Kapila , "shiy.fnst@fujitsu.com" , PostgreSQL Hackers 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: AQHYSXX5zhPsn/DiHU+5DFLHlN8Fn6zlu9SQgAkSooCACBQ0gIABsTcwgAA1vECAAqHFgIAE/jVw Date: Mon, 25 Apr 2022 08:35:05 +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: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b787e912-c0e4-4468-231a-08da26967fb7 x-ms-traffictypediagnostic: TY3PR01MB9933:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yHZ1UaiH++clO65wOHTr/zMDiIZ0jut/sYAMvSxpQnZmeHwdueBOzklOot84FOMtCaPf6q9kzm6om6mRONGlYz8NdG2adlrmRgiFAAaTLtVbWZl7vOSzXkb56XiATlmULk+tV6whx1UWBChz9fUU/qZTu3Xc4wbqzIkrVEVnwejCsq/ZKSAoBT1Fl7TgymEdMdL/5Y7ou06xQcIG1gTtJnGIWLYdgpvBWJcosBKLoe3cCqcd0AknW2usM44+6jdMDps18TqIetiiyFoudDnzeaJLX7zFCQhQ4/uSnSTbKeZh9NcEdKNDlTapG25E8ACcG8UKJ27immp+x57RV40y4R7U9MyYOyKqQJY89z70KK4NqbBynoeySk65pYwpK0E+am5tg1xbXOaXXrgAE0FR+2bIbheTXydX62a+OtD4dknEf/Ye66W0EU4OgTonkuWVQYovNQTz2eEJGcIIjUIWRXSdnaZP857EjPXcKBI8uijr6BEEUtqSeVWDF7sFvkD0olOYz8OBX28UV6EJxg8exZ61E4uRslVCyaVR/ovvW71hyb2rsiyvFM0qGceu7f3VKADdad0TaUuUlC1MExJGWSVX72psGBXnxKg7968cE4F33fdDq9sn614EtfyWGlSXT7bz0xVzSTV9GjbpARPB6/z0ySil9hQj/ioOAEQz/RO31FOeC3P3bVEiz1OxtsefOm7v2UKDnpZjtRc65RcdS4v4vnWtoobw5u0/AMf3lvlFzIHQOIGnZDiR3r1K++Lo 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:(13230001)(4636009)(366004)(316002)(2906002)(8936002)(82960400001)(66476007)(83380400001)(85182001)(66946007)(66556008)(186003)(9686003)(508600001)(26005)(53546011)(71200400001)(7696005)(54906003)(6506007)(33656002)(5660300002)(38100700002)(38070700005)(86362001)(8676002)(4326008)(76116006)(66446008)(64756008)(6916009)(122000001)(52536014)(55016003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WE52UGJsMXd3UVZMT3d1V0Q4NktsOEgzRW9rTFBBU3RvZC9sb1U5NlBGb050?= =?utf-8?B?OVo1d2JSTG9PN3FOSE1DK3pVSktmWWR4anp2ZXNpSVBpUVFWVCtsVlNZLzVU?= =?utf-8?B?UVZ1MU1Qem15M2oyemF0c0QwZlVHTHZKV1pPTkp0djJrNTJIV2xMcGpObWdI?= =?utf-8?B?RFBNMjRkRUwyMjNhMU5DME9sb3crRUozMFl6MVpJNHkyalFhK0ZmUTZxZ2lp?= =?utf-8?B?R0Q0S3pVeHhTNHBUcXRqd3VrM1E1T1lwSlJXZkpucDc4T05RaXZac0JxaDd1?= =?utf-8?B?dlRGNU45WWtEeVFjbGc5SmN3NnJnMEpsUVEyNXBYRTdpQU1CbVJKVXE5V3Nr?= =?utf-8?B?ZTkvdXBsMFR5SUhDQTFMTXdvUEhqbnVMRFR2TzRlamo5YnlpZmcwdmV4eFNL?= =?utf-8?B?bElKazVnYW1qeWpEL1UranJROEpsQXJGRXVVUUxDNjJTaS9Wck56MGM5VFQ5?= =?utf-8?B?b3JxMTdVeWZMOXNVb0xyRnhZczlZZjI4TkNIY0dpWmJjTUJvUldrbkJ0THIz?= =?utf-8?B?djFUSFF2cHVJVTRzK3NtZUFUUER6Vk5tVnMvZSt3WEZ1Smxwc2ZKV0ZFSDZZ?= =?utf-8?B?WUpWZ0NIQ1hiazZQNzJuY3pxLzc4dmtwbmFvQXlHQVBHWEV0VkRNVDVZc3Bx?= =?utf-8?B?cEtDT09IS01qUUlMcmJpeFpnOExuK1FYU2cwM3hLd0lMY21peGRTOElNYVVC?= =?utf-8?B?bk9IUHZjbGdZYVQvNGxMOGxSNDUvenNWQ05YN3N6Wml4S1NmU2tiUm81OFdi?= =?utf-8?B?ZXE1ZHUvWVZtNUVDV0VUL1BLUXNUQTRRcGYvTVNpOUljK2xmUnNFVU5HMVZs?= =?utf-8?B?U0lJeG1sSWZiOVZESW45SGJZY1hpRlpGRW5QMDcxb243aEFXdlB4Q0xBZTFn?= =?utf-8?B?SENiQVVsQjJ1MVhBOUFvV3Z3citSNkxSZjdtNTNmeFNGYmNBQ1BYMDNDSyta?= =?utf-8?B?emFiU21scGRVQTlIR0JwdUg3b3h5MFl2NDA2dEcxeEFsU05mUTNNR1N4cC9P?= =?utf-8?B?bVp6SFRpbHVoeFdxa2huR2VhYkE2bUQ3eDBqUlZsZkZNY21WNjNQVC9tSlJT?= =?utf-8?B?SXZjdnl1SUtHU2x2MGtzemtoa3hOZEFpcjBBQVNwN3FnQVc4TlBPNklJQzRH?= =?utf-8?B?MDY2dHgwQ2kvQjduVFdrZmcwY1lrWjh6czJreGdEOFdkbUxUOXdSTWVmUWRC?= =?utf-8?B?V01WdHB4UnpZU3ZBb0lCVjMzOGxvaW9xdmJuZGNXa1FucFBkUWVpYzdWem4w?= =?utf-8?B?ODR2RXEyVWlUMFdVWUZHY0xLTWZiM2xqMFo2ZUgwZjVSWDhsVGVPQVpkRTQv?= =?utf-8?B?TUZIY1ZPdFpUdnE4T1hqTjk4MEZWQkowbEF3cW5wZE4vTlRvWG9OVms4VVV1?= =?utf-8?B?ZXZ6OVIwL0E5V2VvTmFsSEw2VkxIbmdncSt5eHg3cjJFY0hTd1A1bVo0WUsz?= =?utf-8?B?WW5yNGFzbmxsckord1AwMTFJallrdVJ0UHlpSXlLYlRBTUJ6THdsY0h1NW0r?= =?utf-8?B?azJUTGRjaTZ0WERyUlk3SzY2MlF3c2t6aUtQR1paWVN5ZFplNFFNTkQ3Wlpu?= =?utf-8?B?a2lCVnl6WVNhbnZsbTFSS25LOGlPTnR1QUZhQUJFc3EzSHVpNFBZQVMzYmNt?= =?utf-8?B?UG1UUDZFR0JDUjAvTlRhM0xZMDhMNkJ5bU5OYzlWbnhhcjNHTXdITUlweVVG?= =?utf-8?B?T25JSGQyT0FOT2I5aDgyK1AyckRINHFCeEg3RzJiZGZXTG8vVHRzUGtCOElM?= =?utf-8?B?SWpFeTYzMU9WRDIyOElFVTF2dWxZQm5XZDlWelpJTlRERCtqMnhqVk1Vamps?= =?utf-8?B?cGhKUFBHRW5uUEZ2K0xwYWV1NzYvOE4wZVEvdDR2Zi9Bem56WVFkZE1mRVFR?= =?utf-8?B?QmxUcEdQNVYwTkR6Ukd5UmhCcjIyclVOaUtwUlVkVWZTVC9ET2hOUHdPMmJw?= =?utf-8?B?STlqRmd1aHBWL0w4eloyWUo0TTBmc0NEOFJDUmtaMWd6YXFUYUwxQ0lWUE5M?= =?utf-8?B?dmdKc1g1K2ZQT01nWGN4RHdBaHVhemk3VkM4MmRBcDdYenVLNFhhdHRudUR4?= =?utf-8?B?ZUFIOWIvSVdNckVLcjFtaHR3TWkrSHhXbmRGMk14QURYYXZZL2JZbG8rNEZw?= =?utf-8?B?TnkvWlVUd0hTNFQ4K01uLzZwUEdqdlFLVWNnNVJkV0ErdVpDblp2b2oxZHVk?= =?utf-8?B?SHE2dWRxSGtRZzdaS0ppanQ4Ly9vU0pNQnhpRGdxV0RGTnNkaEhmckxFTzBP?= =?utf-8?B?dEdmdVlWV0JxaDdOK3lYTjJFSitEWDVIQiszdmY5aUZVYndLVmJkdEVteEk0?= =?utf-8?B?ODR6THF0VS96WHNiMTlhNlN1WS9TeE81aWJFNmVTdS8zK29XV2xIdz09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 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: b787e912-c0e4-4468-231a-08da26967fb7 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2022 08:35:05.5380 (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: mCrSjIYA8VJ6LD8l9kqrBv8UXRoRyS0gRIoypcPxfipuYVlbBjjVhKCPtbd7/JIDnMMm2NHmnCdr1/MRHxjySA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB9933 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gRnJpZGF5LCBBcHJpbCAyMiwgMjAyMiAxMjoxMiBQTSBQZXRlciBTbWl0aCA8c21pdGhwYjIy NTBAZ21haWwuY29tPiB3cm90ZToNCj4gDQo+IEhlbGxvIEhvdS1zYW4uIEhlcmUgYXJlIG15IHJl dmlldyBjb21tZW50cyBmb3IgdjQtMDAwMS4gU29ycnksIHRoZXJlDQo+IGFyZSBzbyBtYW55IG9m IHRoZW0gKGl0IGlzIGEgYmlnIHBhdGNoKTsgc29tZSBhcmUgdHJpdmlhbCwgYW5kIG90aGVycw0K PiB5b3UgbWlnaHQgZWFzaWx5IGRpc21pc3MgZHVlIHRvIG15IG1pc3VuZGVyc3RhbmRpbmcgb2Yg dGhlIGNvZGUuIEJ1dA0KPiBob3BlZnVsbHksIHRoZXJlIGFyZSBhdCBsZWFzdCBzb21lIGNvbW1l bnRzIHRoYXQgY2FuIGJlIGhlbHBmdWwgaW4NCj4gaW1wcm92aW5nIHRoZSBwYXRjaCBxdWFsaXR5 Lg0KDQpUaGFua3MgZm9yIHRoZSBjb21tZW50cyAhDQpJIHRoaW5rIG1vc3Qgb2YgdGhlIGNvbW1l bnRzIG1ha2Ugc2Vuc2UgYW5kIGhlcmUgYXJlIGV4cGxhbmF0aW9ucyBmb3INCnNvbWUgb2YgdGhl bS4NCg0KPiAyNC4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9sYXVuY2hlci5jIC0g QXBwbHlMYXVuY2hlck1haW4NCj4gDQo+IEBAIC04NjksNyArOTE3LDcgQEAgQXBwbHlMYXVuY2hl ck1haW4oRGF0dW0gbWFpbl9hcmcpDQo+ICAgd2FpdF90aW1lID0gd2FsX3JldHJpZXZlX3JldHJ5 X2ludGVydmFsOw0KPiANCj4gICBsb2dpY2FscmVwX3dvcmtlcl9sYXVuY2goc3ViLT5kYmlkLCBz dWItPm9pZCwgc3ViLT5uYW1lLA0KPiAtIHN1Yi0+b3duZXIsIEludmFsaWRPaWQpOw0KPiArIHN1 Yi0+b3duZXIsIEludmFsaWRPaWQsIERTTV9IQU5ETEVfSU5WQUxJRCk7DQo+ICAgfQ0KPiBOb3cg dGhhdCB0aGUgbG9naWNhbHJlcF93b3JrZXJfbGF1bmNoIGlzIHJldHVuaW5nIGEgYm9vbCwgc2hv dWxkIHRoaXMNCj4gY2FsbCBiZSBjaGVja2luZyB0aGUgcmV0dXJuIHZhbHVlIGFuZCB0YWtpbmcg YXBwcm9wcmlhdGUgYWN0aW9uIGlmIGl0DQo+IGZhaWxlZD8NCg0KTm90IHN1cmUgd2UgY2FuIGNo YW5nZSB0aGUgbG9naWMgb2YgZXhpc3RpbmcgY2FsbGVyLiBJIHRoaW5rIG9ubHkgdGhlIG5ldw0K Y2FsbGVyIGluIHRoZSBwYXRjaCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhpcy4NCg0KDQo+IDI2 LiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL29yaWdpbi5jIC0gYWNxdWlyZSBjb2Rl DQo+IA0KPiArIC8qDQo+ICsgKiBXZSBhbGxvdyB0aGUgYXBwbHkgd29ya2VyIHRvIGdldCB0aGUg c2xvdCB3aGljaCBpcyBhY3F1aXJlZCBieSBpdHMNCj4gKyAqIGxlYWRlciBwcm9jZXNzLg0KPiAr ICovDQo+ICsgZWxzZSBpZiAoY3Vyc3RhdGUtPmFjcXVpcmVkX2J5ICE9IDAgJiYgYWNxdWlyZSkN Cj4gICB7DQo+ICAgZXJlcG9ydChFUlJPUiwNCj4gDQo+IEkgc29tZWhvdyBmZWx0IHRoYXQgdGhp cyBwYXJhbSB3b3VsZCBiZSBiZXR0ZXIgY2FsbGVkICdza2lwX2FjcXVpcmUnLA0KPiBzbyBhbGwg dGhlIGNhbGxlcnMgd291bGQgaGF2ZSB0byB1c2UgdGhlIG9wcG9zaXRlIGJvb2xlYW4gYW5kIHRo ZW4NCj4gdGhpcyBjb2RlIHdvdWxkIHNheSBsaWtlIGJlbG93ICh3aGljaCBzZWVtZWQgZWFzaWVy IHRvIG1lKS4gWU1NVi4NCj4gDQo+IGVsc2UgaWYgKGN1cnN0YXRlLT5hY3F1aXJlZF9ieSAhPSAw ICYmICFza2lwX2FjcXVpcmUpDQo+ICAgew0KPiAgIGVyZXBvcnQoRVJST1IsDQoNCk5vdCBzdXJl IGFib3V0IHRoaXMuDQoNCg0KPiA1OS4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93 b3JrZXIuYyAtIEFwcGx5V29ya2VyTWFpbg0KPiANCj4gQEAgLTM3MzMsNyArNDI5Miw3IEBAIEFw cGx5V29ya2VyTWFpbihEYXR1bSBtYWluX2FyZykNCj4gDQo+ICAgb3B0aW9ucy5wcm90by5sb2dp Y2FsLnB1YmxpY2F0aW9uX25hbWVzID0gTXlTdWJzY3JpcHRpb24tPnB1YmxpY2F0aW9uczsNCj4g ICBvcHRpb25zLnByb3RvLmxvZ2ljYWwuYmluYXJ5ID0gTXlTdWJzY3JpcHRpb24tPmJpbmFyeTsN Cj4gLSBvcHRpb25zLnByb3RvLmxvZ2ljYWwuc3RyZWFtaW5nID0gTXlTdWJzY3JpcHRpb24tPnN0 cmVhbTsNCj4gKyBvcHRpb25zLnByb3RvLmxvZ2ljYWwuc3RyZWFtaW5nID0gKE15U3Vic2NyaXB0 aW9uLT5zdHJlYW0gIT0gU1VCU1RSRUFNX09GRik7DQo+ICAgb3B0aW9ucy5wcm90by5sb2dpY2Fs LnR3b3BoYXNlID0gZmFsc2U7DQo+DQo+IEkgd2FzIG5vdCBzdXJlIHdoeSB0aGlzIGlzIGNvbnZl cnRpbmcgZnJvbSBhbiBlbnVtIHRvIGEgYm9vbGVhbj8gSXMgaXQgcmlnaHQ/DQoNCkkgdGhpbmsg aXQncyBvaywgdGhlICJsb2dpY2FsLnN0cmVhbWluZyIgaXMgdXNlZCBpbiBwdWJsaXNoZXIgd2hp Y2ggZG9uJ3QgbmVlZA0KdG8ga25vdyB0aGUgZXhhY3QgdHlwZSBvZiB0aGUgc3RyZWFtaW5nKGl0 IG9ubHkgbmVlZCB0byBrbm93IHdoZXRoZXIgdGhlDQpzdHJlYW1pbmcgaXMgZW5hYmxlZCBmb3Ig bm93KQ0KDQoNCj4gNjMuIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMg LSBBcHBseUJnd1NodXRkb3duDQo+IA0KPiArc3RhdGljIHZvaWQNCj4gK0FwcGx5Qmd3U2h1dGRv d24oaW50IGNvZGUsIERhdHVtIGFyZykNCj4gK3sNCj4gKyBTcGluTG9ja0FjcXVpcmUoJk15UGFy YWxsZWxTdGF0ZS0+bXV0ZXgpOw0KPiArIE15UGFyYWxsZWxTdGF0ZS0+ZmFpbGVkID0gdHJ1ZTsN Cj4gKyBTcGluTG9ja1JlbGVhc2UoJk15UGFyYWxsZWxTdGF0ZS0+bXV0ZXgpOw0KPiArDQo+ICsg ZHNtX2RldGFjaCgoZHNtX3NlZ21lbnQgKikgRGF0dW1HZXRQb2ludGVyKGFyZykpOw0KPiArfQ0K PiANCj4gU2hvdWxkIHRoaXMgZG8gZGV0YWNoIGZpcnN0IGFuZCBzZXQgdGhlIGZsYWcgbGFzdD8N Cg0KTm90IHN1cmUgYWJvdXQgdGhpcy4gSSB0aGluayBpdCdzIGZpbmUgdG8gZGV0YWNoIHRoaXMg YXQgdGhlIGVuZC4NCg0KPiA3Ni4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3Jr ZXIuYyAtIGNoZWNrX3dvcmtlcnNfc3RhdHVzDQo+IA0KPiArIGVyZXBvcnQoRVJST1IsDQo+ICsg KGVycmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9UX0lOX1BSRVJFUVVJU0lURV9TVEFURSksDQo+ICsg ZXJybXNnKCJCYWNrZ3JvdW5kIHdvcmtlciAldSBleGl0ZWQgdW5leHBlY3RlZGx5IiwNCj4gKyB3 c3RhdGUtPnBzdGF0ZS0+bikpKTsNCj4gDQo+IFNob3VsZCB0aGF0IG1lc3NhZ2UgYWxzbyBnaXZl IG1vcmUgaWRlbnRpZnlpbmcgaW5mbyBhYm91dCB0aGUNCj4gKmN1cnJlbnQqIHdvcmtlciBkb2lu ZyB0aGUgRVJST1IgLSBlLmcudGhlIG9uZSB3aGljaCBmb3VuZCB0aGlzIHRoZQ0KPiBvdGhlciBi Z3dvcmtlciB3YXMgZmFpbGVkPyBPciBpcyB0aGF0IGp1c3QgdGhlIFBJQyBpbiB0aGUgbG9nIG1l c3NhZ2UNCj4gZ29vZCBlbm91Z2g/DQoNCkN1cnJlbnRseSwgb25seSB0aGUgbWFpbiBhcHBseSB3 b3JrZXIgc2hvdWxkIHJlcG9ydCB0aGlzIGVycm9yLCBzbyBub3Qgc3VyZSBkbw0Kd2UgbmVlZCB0 byByZXBvcnQgdGhlIGN1cnJlbnQgd29ya2VyLg0KDQo+IDc3LiBzcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9sb2dpY2FsL3dvcmtlci5jIC0gY2hlY2tfd29ya2Vyc19zdGF0dXMNCj4gDQo+ICsgaWYg KCFBbGxUYWJsZXN5bmNzUmVhZHkoKSAmJiBuZnJlZXdvcmtlcnMgIT0gbGlzdF9sZW5ndGgoQXBw bHlXb3JrZXJzTGlzdCkpDQo+ICsgew0KPiANCj4gSSBkaWQgbm90IHJlYWxseSB1bmRlcnN0YW5k IHRoaXMgY29kZSwgYnV0IGlzbid0IHRoZXJlIGEgcG9zc2liaWxpdHkNCj4gdGhhdCBpdCB3aWxs IGNhdXNlIG1hbnkgcmVzdGFydHMgaWYgdGhlIHRhYmxlc3luY3MgYXJlIHRha2luZyBhIGxvbmcN Cj4gdGltZSB0byBjb21wbGV0ZT8NCg0KSSB0aGluayBpdCdzIG9rLCBhZnRlciByZXN0YXJ0aW5n LCB3ZSB3b24ndCBzdGFydCBiZ3dvcmtlciB1bnRpbCBhbGwgdGhlIHRhYmxlDQppcyBSRUFEWS4N Cg0KQmVzdCByZWdhcmRzLA0KSG91IHpqDQoNCg0KDQoNCg==