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 1ogQU4-0001Xs-3f for pgsql-hackers@arkaria.postgresql.org; Thu, 06 Oct 2022 13:00:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ogQU3-0003ak-0V for pgsql-hackers@arkaria.postgresql.org; Thu, 06 Oct 2022 13:00: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 1ogQU2-0003aa-Ml for pgsql-hackers@lists.postgresql.org; Thu, 06 Oct 2022 13:00:14 +0000 Received: from esa3.fujitsucc.c3s2.iphmx.com ([68.232.151.212]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ogQTz-0007qd-Lp for pgsql-hackers@lists.postgresql.org; Thu, 06 Oct 2022 13:00:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1665061211; x=1696597211; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=BiqqYu3swD6Z1myuNraC6Jvgh3+QyCh6BNzVJhjUKNk=; b=EgmkpRI5fxDk86fA342bYZ6iOofsm5Eh8SlIJlhbsMi4Vw6JyptRzsre BfZ5BlTDH8SkIUDi5iE03HWYFFe445CWUqYMNA5jrSbUtDgtc6WqCu5wg eh5AyQ+xoDQHcLMekIKTNiVdzuEVP+g74Bqr5wCSYucGeYZEkQmDisJ6q YSV78/YY1IwdJd+G9UP/n+t84qtKDFdN8gKG4Fa8cMbmrd+nPvewvS1hv qKi31tp8krbAvasVOGUIouX5STHw9nL0Z6vLweRnm+G6kBHHMv2p4Tpg5 PcJ1IRCQbdXuDyqmHNUY+M4NuSFEAjeWoZUuaWjzPVheybChjmU8SmwQE g==; X-IronPort-AV: E=McAfee;i="6500,9779,10491"; a="75017910" X-IronPort-AV: E=Sophos;i="5.95,163,1661785200"; d="scan'208";a="75017910" 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; 06 Oct 2022 22:00:08 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VtCjb6qKM+XtI1R9r0ubIaB33XAJcymjFdTnw8P56WcCb7lioGWZp/XcfEsixQnhUg5sVGNx+ggj8G9oNuGpdh4ZMlPIXZv81j8CWPCo/3yQFqiV5fi51rBSe9VnHioqtnMYiNi3gU3G2hAxSKhL3jEyAwKfjplF/Mg0J9GpDJlL7JLR90txXOZ5PkQwxdaKjwNEVCkvBYsdYkusOZkbPyapg+6gq2CiaU9GIj2oIMpmfXG3/83iWqH9p95X2qvC+RJnay5VUYMG7TmHAzVyeYTBheKucijkJ6qA8AVdYZSTgtiHGnZNMkasQG+x9P9Xx5dZA4449U3jJaAk4iVOmg== 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=BiqqYu3swD6Z1myuNraC6Jvgh3+QyCh6BNzVJhjUKNk=; b=hRM1OfO90gzYbu8V5MB6HE+Aof5ShFU1u4+h7dM7z7NSP/IF49UnceaWijZcSRyP2bk5cQOwco/F6+taidhbCrH+RwlflMsDGXeDTodapuXO+OnIyFubPkhd6NdzvWKlWD8UB2tIXc8ouVs58zGa2/4NA6G8if9z1ii1zty+Cx5OjRNzt9nRgI5oIIyMu/Ju+IxWk7YBWxkRMtokr5zFamyg8aVitvI2E9QqYwsNvYHklwJcz90SKg5jqZitHaAwYdT3ZOnizFaZ6s0CpLFJogIXbHlCgQrhV7CQSdVxdsxdVeWNYtbgLewrXtgH689MBeAJqGFiyYA6LwsujlVzvw== 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 TY3PR01MB10047.jpnprd01.prod.outlook.com (2603:1096:400:1aa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.36; Thu, 6 Oct 2022 13:00:06 +0000 Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::17a9:e329:aedd:22ff]) by TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::17a9:e329:aedd:22ff%6]) with mapi id 15.20.5676.032; Thu, 6 Oct 2022 13:00:05 +0000 From: "kuroda.hayato@fujitsu.com" To: "houzj.fnst@fujitsu.com" CC: Dilip Kumar , Masahiko Sawada , "shiy.fnst@fujitsu.com" , Peter Smith , PostgreSQL Hackers , "wangw.fnst@fujitsu.com" , 'Amit Kapila' 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: AQHYSXX67NoYEfdPmEWsDniEZU+Lb6zlvxQAgAkRYICACBI2gIABs50AgAA5UwCAApvIgIAFAGuAgAXc1wCAADa7gIALO/aAgAsRZICAB606AIAS+CyAgAAufICAAWQLgIABHxKAgAA3o4CAAeE3gIAJPr0AgAkxzACAAiJoAIAC0hUAgARvDICABQA2gIAAFvcAgAeBmICABO9ggIAJO+YAgABu1YCACQzpAIAJSy6AgAS+zICABq7mgIABSJUAgAAOtoCAACmRgIAB78qAgAqL+oCADJWRgIAGVm0AgAGAQICAAerMgIABYRWAgAgvEYCAAWyzgIAGSRYAgAFBqICAAFYagIABchmAgAGqzwCAATq/gIAFJCcAgAAGs4CABE7agIAK5WIAgABrY4CABb89gIADiS0AgAEu2oCAADxqUIAGB4WAgABVQwCAAXQv4IAAZbiAgALSbLCACyz3gIAAB5twgAAYZ4CAAAgtgA== Date: Thu, 6 Oct 2022 13:00: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: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfRW5hYmxlZD10cnVlOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJh?= =?utf-8?B?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjItMTAtMDZUMTA6NDY6?= =?utf-8?B?MDlaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD0xZTI4Mzc0OC0yYTJiLTQyMzct?= =?utf-8?B?OWZkMi1iNmM3MjcyNTc2NzM7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?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_|TY3PR01MB10047:EE_ x-ms-office365-filtering-correlation-id: 7363f0cc-01dc-4de8-7e00-08daa79ab0c1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6yKpjlSc+iSH4tv2LLXBKRIcj298+uic2QguCsvzE4Am+MKx1C6iniLIwmkBLOyzkLzDe/i4ZskiRg8fn2oQe8GMAYawOY9F2XZkz581lAS9uLpc5NZBBmWuY25WfuebOZEBtG1vIrIp2oboyydFQt84ezlqvuq8BFefeb1vowAwkVZ5Yb7+xb1m2rcwcWvpCZcVkUIX70BNsjLz3x02INKffRxp+X3MjqyYj1D30AxHa2dN1oNh2svxoBX8VLY2/IFNdugS+YvdIelE5rtGsr2dzBwD/4QMACzPRW4pQ8OO+WJBAKq2FZckcH6orBLGqppNcXJvErccFjNxHdLbEDKjhr77IOrM0M85wH/7/XqoIPlOILp8EOjDbeO2rdLdhFn7TF+5hXjCJrt1pK1l/WVKsrJRAO8h1ut/UvBzFFRnOXxO6GxnP8RCAU5gJBZtWi5c4izpWtNorSvknHpXOE9PQAsYPt2Kf55O8fBzKJGi1KJRE2/tQFP7DUAmo0VowsDERyco1CRaU8Yhz/dCKU66OUG+5IcyRHEfgrL9wuaygVmKitt/TchtmGi66gca0i/iQqxGWUau/iIbQ/UhBnoGdowFnwwsvltM1YWKSMldsR1HPdYwc16lTfdvtHjJ/693CNZM6afS52JVjH553u0pUwShjCUzMFPcscQaWxAlfKbpJcAV9u3gQtNLvrPJ5q2Hk5aexDOwXhAbRjvM/zD6EuGSjGZ0He25763oGTKvjBunOlqBC7OohKDN9EuIgb/RG3ailYI4HwFpxPLDRVFvtShIZ73pmreGAPCOtOU= 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:(13230022)(4636009)(376002)(346002)(396003)(39860400002)(366004)(136003)(1590799012)(451199015)(1580799009)(4744005)(5660300002)(52536014)(2906002)(41300700001)(6862004)(8936002)(64756008)(6636002)(85182001)(54906003)(122000001)(316002)(478600001)(71200400001)(6506007)(7696005)(66446008)(66476007)(66556008)(8676002)(4326008)(33656002)(66946007)(76116006)(86362001)(83380400001)(9686003)(82960400001)(38100700002)(38070700005)(55016003)(26005)(186003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?akUvcDNYSnFGY0N0TW85dHdzSW9LNkdjdGxkR0ovQkZ1SHZsTUcrdFdBNjFZ?= =?utf-8?B?TmVqZGhXcmxpT210WXltMnhjaUNWdHdSUWJTYkR6RmFwdEtITzI2TzRVakRq?= =?utf-8?B?elBHenIwdTNDR240ZFZzbS9WaWd4LzVBNEtoUWVGU2MrR1VzZDRZbmQ4T3JR?= =?utf-8?B?cnN2WW9obVUzRUxKYlJGSW1Hb3ZDaytOUUdFeUM4V0R1enBXV244cUcrZGdN?= =?utf-8?B?MlNDTUt1bEZsZDdabXFFaERlQ21qY2VDcERrckt2WmlDNWlzakphVXQzOS94?= =?utf-8?B?MWl5aFI1aHdEYkVvQ05VQkJVaHl2eE1mZUlhM0FKaTRGSGU4dG1DNWJrZVMw?= =?utf-8?B?WHRVb2ZjQ0M1OXgwWW42UWxCNk5sbUNsck5vQ3NqWVorMFFuMHlFMUdJWmJ2?= =?utf-8?B?S1cvYk9QUkhmK0FTaFd0eTVRNjdrY2x5OTBaNXRoTFV1bGN0MTFMNjd4dm9y?= =?utf-8?B?ZUUva0c2aGYwa2x0NDVBN3VDSmtEUHVpTUxoTnUyL3ZjYkxyNDN4cEU0YVVP?= =?utf-8?B?eFljVnFqL3NaRTF0clpjdlBDV3R1Q1ZrQnRVR1BkK0dBcXhndndyRjJWZXg0?= =?utf-8?B?MTV2RE56QzBJUjU4K044dDFVZUk4VCtjaUNBd2RGaTd4WVE4VnRUekNTT1lX?= =?utf-8?B?U3l0RStFeWJVQlZra0dnWHk0aktoUzhLby9WWGVHc2x2TzJMT3c5Snc0aEJS?= =?utf-8?B?OGZwUjc4OUtlaGVGMU5JYk5pZUVzcW4zZHJoQ2ZEc01iQmlkWHJ5d2lkakUv?= =?utf-8?B?b1dzZGdyUzlQMUI0L1RaQUY4bmV6THIrSlJTSEdwaU8rMURpMlh2R2xVUGVX?= =?utf-8?B?c1FCN1lwdDhTSkwzZTgrUnFuQmNDSTlCYVBjSTlMMytxeVNEeXh4bldLL2Jk?= =?utf-8?B?a2RWUTFLS1VqVlZwS1ZocUhIUEFCU0VEMnVuOW8vKzV0VUNNbmJoVHBQQkYz?= =?utf-8?B?aU96WDVDOWx3eSs2c3o0UVVvNEgxT0dRMk44QlZjTTdrcTVpUjR0VWtNSy8r?= =?utf-8?B?VFBGWmcxR2FXR1JFTk1JemNaRDBJZnkvdTFDdFRReC92dzc0RGFiR3BzTTVR?= =?utf-8?B?ck5oMHNPM1R6UlBvTmY1bENOVFh5UzQwVUxITjhvc04yQlhkSy9wT09pcGxP?= =?utf-8?B?NUtHL2xXZXgvdFlnSW9RR2UwUTVSTmh2TU15R0NibHdNUldzbHU1ejRqdVp4?= =?utf-8?B?Q1U0SGY4TGFrVW1uYmVUaVVIYUVWU3J4TWFHUkdOalpXTlN1RnVCS2Y2b0R4?= =?utf-8?B?U0FzSjlvS0J5VU5wUjdQVTVBR2dEVnNWQmY0QWlpMXZBTWsyZDVFeTcyTm9E?= =?utf-8?B?eU96TkNhU01OUWEwWXQ1UFpEZjJTL1I0VnlnWWJqUm85SThCUWN4M202ckZE?= =?utf-8?B?QythaDFOekVMQklMNmc3eXRTVjl3L1dwaGtDbGdxbHVXUFFKOG5RMnNSOWZR?= =?utf-8?B?YytsVHJreXNDTzBKcnVBYlNHMWtSU3gyMGRSTyt1RUZ6SmExSkRXc2JoZkRE?= =?utf-8?B?L3BjYlk2b0hUbnZFOWRUdVNPb2U1cS9ybTlhWUZlZ0lWcEdDc1ZQWURWT01Q?= =?utf-8?B?N1FWeXZvdzlIek9kWTQwWU9DTHpCbWZKeDZwQmJsMmlpWCtGN1JxMTdkcnpv?= =?utf-8?B?VnVSRDNJNGtvN1hSSVB1VHBHakNNSENrdjJ5dnovVWt0VGd4cjduV1k1MVBu?= =?utf-8?B?MXNaVjQvUGVydFM3STlUNWVJUFlZcGpuekpGcXpxVFU0a3BDR09TTWlveVk2?= =?utf-8?B?QXdnRXZJM1daVEhWbEh3UDZ4SWNRUzJ0cHJLNHNaRzRDWUxKWVdkMDA5a29U?= =?utf-8?B?d0xqUDFGZXdVQkxLOGpRK1VaSHl0RmJCWnpXR1QvQ3BhK0ZRRXdjc1M2U3pK?= =?utf-8?B?K3BxTVcweE5lb0grRGFJQnRjZGFsc25udVpvMzdrL1QzTTJHRk9pR1ZJUldn?= =?utf-8?B?TUJBZlJWbEo0QWRNcE5Xalg0SGdBSUdVMFBiWG5VWnB6eTViZlZ1SUFReFE5?= =?utf-8?B?Wm4zbHhCK0RsTi80NkNBVjlqOEtDYXY4TDJLUURzcFJxdE55TWdVSGl6N1J5?= =?utf-8?B?M0NwRzFqNDV0Sjg0N3B6TGhIUnhhVFNRRkZCZmJOaUx5cEdNb2FNQ0liSHBp?= =?utf-8?B?Y0RYVXFiWjZUNWhVdis1QnI2ekt6LzJMaVg5Wm1heWk5Tm9objFNMFhVaVVW?= =?utf-8?B?Nnc9PQ==?= 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: iRPmzTF5WdLBuBZmSvgnCxAd0kn43wN+DP7IdHKS57LR6MCfLPBzY2D84tI41I0lDbjPD52HNOLPHVGEvXfo66opU0tW/6MCkCMZet2bwAkTojLP0q6UqGHPcXsRNVsFAxaAr02tOhTTSrTekA5Wzkg8+OcDmSw57i8/TQLTC7nKL84yE5D7kvxYQx523sSdOBsHiJ0gN/oK8DkvNdziFfSErHEXkOo56QT9Ww0UQxC/dequIFOmg5LzYrqGn07VtDs3EXR14L1PrJjwlJOFD4oxwFRbgInludBfQVlc/8qnT3Ka0Sf/rtfEBuCAnfuWgKD9Mkq6rJV0OuTI9/LCvNhtJctlyMphV732PozTrt3SKYk1ZERbLxdtvhLT+IXuZ61dtdjHJkPusSw8dkqoBpCEH7UG7ET6eJWRQfRwwng8nhaW+K5JlG9fMgsfZzN4RBFaMqjjuplSJSag6NXnrhw+6QxYsUBcQ4Xplk+C8U3OL8mMZJl8yJrhbiBsc3+LRGRpYIfzARAOU6UPz5PvKbyhNCPIzoHnif0eTnyifIWr0ndtUfXzFpXSPgwc5KVGllc5MSM7NTyyQlsrsRb5UJRab1q7eU4HVsNW5mmHVk833Pq9ogHVwgrz6Z77q58A63NTpvGw7UQbwZmhblY/ENOjROTBEHmf28alLbJr8zZAqS9m03fDsqc9B29V/yRnV3AHH/vQKOS/Fp1qG8Xaj2jv0jtHTxMFsH+7jytc3Ka9roeWZ22Q5lcbFGhc87y5GgDxmq/OO0y0CBm3nNG9uH9Xqa9dyD3uJRq5yvS6FrGJnZBYSXQxjdFnnt8p38OGRLrpRVGqHOSottdelv3bivqpp0NP1Ng2gWEys5pQbe9GY9ATVhvXJhiEcz3qvAwKehFSUxcWdU/YCkcKCBcVfw== 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: 7363f0cc-01dc-4de8-7e00-08daa79ab0c1 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2022 13:00:05.8463 (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: ggGGy8E/cyJ46xMNmyw6NTJ7ltWvD/3A+1u7vlFcsp2gln7ix/QvXs31KoSg3Ck4vxiPI6kkAVdIMv4gCz5zZSf4O4nty4b3z2sMI7qvPCE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB10047 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk RGVhciBIb3UsDQoNCj4gVGhhbmtzIGZvciB0aGUgc3VnZ2VzdGlvbi4NCj4gDQo+IEkgdHJpZWQg dG8gYWRkIGEgV2FpdExhdGNoLCBidXQgaXQgc2VlbXMgYWZmZWN0IHRoZSBwZXJmb3JtYW5jZQ0K PiBiZWNhdXNlIHRoZSBMYXRjaCBtaWdodCBub3QgYmUgc2V0IHdoZW4gbGVhZGVyIHNlbmQgc29t ZQ0KPiBtZXNzYWdlIHRvIHBhcmFsbGVsIGFwcGx5IHdvcmtlciB3aGljaCBtZWFucyBpdCB3aWxs IHdhaXQgdW50aWwNCj4gdGltZW91dC4NCg0KWWVzLCBjdXJyZW50bHkgaXQgbGVhZGVyIGRvZXMg bm90IG5vdGlmeSBhbnl0aGluZy4NClRvIGhhbmRsZSB0aGF0IGxlYWRlciBtdXN0IHNldCBhIGxh dGNoIGluIHBhcmFsbGVsX2FwcGx5X3NlbmRfZGF0YSgpLg0KSXQgY2FuIGJlIGRvbmUgaWYgbGVh ZGVyIGFjY2Vzc2VzIHRvIHdpbmZvLT5zaGFyZWQtPiBsb2dpY2FscmVwX3dvcmtlcl9zbG90X25v LA0KYW5kIHNldHMgYSBsYXRjaCBmb3IgTG9naWNhbFJlcEN0eFN0cnVjdC0+d29ya2VyW3Nsb3Rf bm9dLg0KDQoNCkJlc3QgUmVnYXJkcywNCkhheWF0byBLdXJvZGENCkZVSklUU1UgTElNSVRFRA0K