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 1oNr8R-0005m8-WB for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Aug 2022 07:37:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oNr8Q-00043J-T9 for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Aug 2022 07:37:10 +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 1oNr8Q-000439-Aj for pgsql-hackers@lists.postgresql.org; Tue, 16 Aug 2022 07:37:10 +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 1oNr8N-0007A1-A6 for pgsql-hackers@lists.postgresql.org; Tue, 16 Aug 2022 07:37:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1660635428; x=1692171428; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=MzFer2zphX5C7qaxciu/2dC04ExD1tBo2NuTSivFhxI=; b=EMQ5LIIJkNkymNN5HvgjGiVWGP0nUc/HnYpi+JF0WTnNC/AECrfmdUE2 0hgkZYX2Yt9tk6Nnx9dzPcgZ4pGqI44CFE7PMvwCGuPj8J0ebHTEr6GQS LHG4HTW2BU1gk+brZu6eDrbX2eGijvJCnJS0on8AklnoM4dUYw9Z6VsN9 sN+PPy84ydSjKvWXK1Vsa9mQ/j+2NR8uhsx0LJtyPt/r5oot8t2TmW5zA rQ+CQpxzhEH5ZlGSQvR752raCPm2ByCBMznZmN2dC04oYULcH7fAI2ZVm rbpqc27+PB2F7wGfJ6291RmCUJ5KEYTWNG9x7Hr6ftluWj76+hpvJgsCN g==; X-IronPort-AV: E=McAfee;i="6400,9594,10440"; a="70991941" X-IronPort-AV: E=Sophos;i="5.93,240,1654527600"; d="scan'208";a="70991941" 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; 16 Aug 2022 16:37:05 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M82sSBkLsJDK9NSWn3H0OlmSs7pGz5GbEQCPjzFy44BiwrtZHio31OX1ZZeRKR/Aww3mhcV81vKVKu+hZfxV249M5M49287MA4Ufuirj/xlmd6vUs8FqVUKZb6Rmr8ISbewqaOw21ghSc0VsuU8Ovve0K9sgwvG8TlAyrRgC44XbtiVsoW9yZ15Me4KH8MLO4Uqv80Vg/zeVMdP1S4j5zMBvL8WTKjpK+gv9CnRsH5fuamWIdmSqVckLzPSGBSwmzUs12M5OBrH+ZK2WoxVBGAAGWbLs4KKGDo7CUYsMW7PdWZTMaJMcl1UZfy6JYurH46Knc/Pac2ubIxQtZ+Nq9A== 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=MzFer2zphX5C7qaxciu/2dC04ExD1tBo2NuTSivFhxI=; b=ElIYbEt39qyENY66Sm/mymLqAhISM4kRCOuzxyyPvZ5DkzLIi0C3WQiCimKiFWvXcP78h2LYuidyvgFLbuicK7UMFzHyUR2lY8h0f6purQoa1qD8+LVhOOrUGPb94mHJNSjWYacg+fdo2T9FR0HnAWBKGfTapIAoBArVp4RLqFhldYjxnN6+kn7gtsGSSamSm6Rr5VeV/ZnuTZdbnwieECHDKTy0+ivDsSIgvfHVsA++t7dphwvR1IwxfmSrjjbiwX5/cLOReXBQTNk/h78+DBdeJcXQprjmkrUp1gqkVcTFkMTNXCGgMJl55X0Dro+bLppNRt7kP2+sKDSFpSyzMA== 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 OS3PR01MB6275.jpnprd01.prod.outlook.com (2603:1096:604:f1::8) by OS3PR01MB5702.jpnprd01.prod.outlook.com (2603:1096:604:c3::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 16 Aug 2022 07:37:00 +0000 Received: from OS3PR01MB6275.jpnprd01.prod.outlook.com ([fe80::b7:3975:8c62:f5d1]) by OS3PR01MB6275.jpnprd01.prod.outlook.com ([fe80::b7:3975:8c62:f5d1%4]) with mapi id 15.20.5525.011; Tue, 16 Aug 2022 07:37:00 +0000 From: "wangw.fnst@fujitsu.com" To: Peter Smith CC: Amit Kapila , "houzj.fnst@fujitsu.com" , Dilip Kumar , Masahiko Sawada , "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: AQHYSXX4/KZEbPJKjUy7J1pJS8eGYazlvxQAgAkRYICACBI2gIABs50AgAA5UwCAApvIgIAFAGuAgAXc1wCAADa7gIALO/aAgAsRZICAB606AIAS9tXQgAAv04CAAWQLgIABHxKAgAA3o4CAAd7v0IAJQDLggAkyO+CAAiLMAIAC0M5ggARwU4CABP8UAIAAGBkAgAd/49CABPEVgIAJO7xggABuopCACQ1GAIAJSjQggAS+3MCABq/QgIABSJUAgAAOtoCAACmRgIAB78qAgAqLjwCADMF6gIAGK6yA Date: Tue, 16 Aug 2022 07:37:00 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfQWN0aW9uSWQ9NzY5NmYyNWMtYmUxOC00ZDY1LTk2YWUtNzdiYjI5OGY4?= =?utf-8?B?MmYxO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMi0wOC0xNlQwNzozNTo0Mlo7TVNJUF9MYWJl?= =?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-office365-filtering-correlation-id: 2e59803f-d5eb-4cda-efff-08da7f5a1b3f x-ms-traffictypediagnostic: OS3PR01MB5702:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: y/ADkzWWBkuD4pRlkE7gdh+/OmH8w0sGPFSifRZhySOKX7NJAUcNZiqc13CXkEL6FrBs41Y3LbljAz8ne0/jQeA667aNNmrV9G/ArwFMYDbR2PPrH1nV0MgsGl+4JNm5V35xzuhisLF8cNjBwI3LTG7gVvm74tafsYBDM/uEh9Tis79BghBDvDwSB0bdb7NPZt09Nz5ChQmyHj1Bcyk3p2/UtXiVPVAGasf6ho3qVTlbsI4+oz/mqSEE0kzjlybUVSd0bM7sHC/NiO6tHJ95YY4xkOirBl7RRLCGxK47lCedmxt6xpKfyTjCrushkgQ8bHm7GPaEQL9d/WM0mSfg9pe5LD+ry2aA64nP25dnRFCKNFIxtpJJeoyR239faSLxnL3hzN9gv4Umk80UpLD0M3kmGL2/y9U2Hc4WGmT/rWNYQmTFVxvT4gdzgJHsGLGwbhALEy1q9UvZx7+fxMjK/DyxwjjZ3vGM467DE7L9Y6Qvs9fFCA3MGLJm+3g7yBuWoLFv7NGXsqhZdVzuVTJY3L8U1aeLoDdTO6BoJdQgAsd9+BNh2YjFxPlghE1ZEN4qDb5kOfvPM805japPspAqhrPD3cNrlt+9xg7d8H8BgFWxmt1XwRD/HHbBhGGWCbXrFIPPWHHaNQN6fP14hiQKwZb5SZIE9Dd7x8XLwn1wClHSC/M1d0sv0tyqcaJXU5ESqPMBI6vCv73QiOAeIqk2/iGl9kpJwhYH0g3S0+TFPP76prDEDQN97m+FHeo766AwsjuiBfPOiZDArBSGwzEeOdQeNOKjC2BNQmvUWLkcM3qQYQuqE52jxo6OOvQImI86NxPfQGKlNZUpDXpn3Iw8gxBp7hzS7Sen38TNEWud7Dw= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS3PR01MB6275.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(376002)(39860400002)(346002)(136003)(396003)(366004)(8936002)(55016003)(66446008)(54906003)(45080400002)(83380400001)(8676002)(66946007)(64756008)(71200400001)(85182001)(6916009)(76116006)(66556008)(66476007)(4326008)(316002)(478600001)(52536014)(5660300002)(6506007)(86362001)(33656002)(966005)(2906002)(186003)(41300700001)(38070700005)(38100700002)(82960400001)(122000001)(7696005)(9686003)(26005)(1580799003)(53546011);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WnY1UGVRWFZzUWhSeExod2FOaUdpWnYyYXZoNDg0MmtuOHJ1TkNhVnJBMUw4?= =?utf-8?B?aDRGbjJWWG1vRFZlMnRSRTBCTzZYUjFONDdFeXIyRTFWQll3Qyt6RUlnOUsz?= =?utf-8?B?RGpvT2lvNStlN09xRUxoNTgzaVpka1VLdjIrOHJ6UkR5K1QzMXVkT2gxTkhE?= =?utf-8?B?MG8yd3lKb3lxK0xrNXFmV0JEWWRQRktvSGpRQVdBTGZEWXp0N2VNTFVkZUht?= =?utf-8?B?Zk52WVdoN0p3dmxweEYrcVE4RitVQ1NlZUtkcWtUaXliRklpWFJzaFVaNHcy?= =?utf-8?B?bzlsZEJoSDhuQ2I3dlBPMkVpWmVRSm56b0E5NHZnYUhkbm9kTVdnK3ZlWXpt?= =?utf-8?B?V3BNU1Y1anpsSFdNdkc0clpPZnhUc05Cc3BNUlVWbWpTU0l2UWRPb1E0NmRV?= =?utf-8?B?anZEd0orS2luRllVVUtydmYzNmNDMkdORGRkNXhaQTNTVmVYaTNrN05OcnY3?= =?utf-8?B?Z3dpR2E0UFBObXdGUHhzZE8rZDU4Zm5udUMySk5VQldCN1pkdkJUOG5yU1gz?= =?utf-8?B?WCtSR1BYMk1TV2huTEpYdW4rU041YlRvOC9sTlBZbks0aUNvMFBHTnV3VkEr?= =?utf-8?B?RDdBUkJtakgrRndzM29JNDRsRnQyTG9VVndIRllpc3RqQU5zUG80VHBHOE4y?= =?utf-8?B?NkNwdHdJMUVBUFprQXJDaCswbEtoMUJhTHBqTUkzamN1YlV4N3R1bGJkb2d0?= =?utf-8?B?S1lyL1pFTFlKQ1NwSlFsbm9NQkl6b2pDcU9vdjZkQkFWbGZOK3dKSGJvKzZ5?= =?utf-8?B?aFlVekxjVUcwZjAybmFOVENCQzh3QTJxRit5dThUbWZ5YmpDY08yd2o4V3Zx?= =?utf-8?B?MGhScUVzOVNyZndzQzUxeVFWRndRQzFpNS9qU0J4ZmR0anNhQnIyNEVNMjhY?= =?utf-8?B?ZHdVNjUyNFppWHljTm1lZm1XZTFBQkExclFkbU5zTURpdGxtTFhvYTdNNW42?= =?utf-8?B?eUxiRjdoNUxjSG9jcHhHTDlzS3o3Y3l4SGdTNTlKM1NJdEpKMm1hMVNsQVJz?= =?utf-8?B?SW13VDIzRmZtV0JZY3lYd3FYaW90bnI5RXhMWko4SThhdHhyZVpsUVk3Z2tn?= =?utf-8?B?WHBGUHh4U0ljRmVNdm4xSHQ3V0FUTUNZTi9vejF1TzgzTHlFSkVLYjI3dUdh?= =?utf-8?B?UkxpVGphVGVrRjRIOTdyN3lZVHZXMVlsVUZOMXVESnNwM2xoNzZMZTRQK2hG?= =?utf-8?B?V1VQNm5pa253MkFHVjdxMGw0aTlFcXhSOWVML1JUY1FkOGpDaitJWEd0a2lt?= =?utf-8?B?VXBVYXF2ZGJSMWZ0aUFlekh3ZVg4SWVxNU9JZmFTNlNGYTYvTm10YTFvTGE5?= =?utf-8?B?VkpSZEJnenFFeXpvbGVkVDVoU3NPeExIY3FkamRUWWVPcStERUwxUi9CZmU3?= =?utf-8?B?Y29XTjJmeDBPYlE2K3MwcXNIVURvNmN3cGgyb2VhWmJBSCtsczVIOHJ4aGxC?= =?utf-8?B?bnUwUVBoNHprcCtNRG90cmk1T2F6M0UrbnVPekMrYVhCTlVtZmpvSy9NdG9F?= =?utf-8?B?eklSbEg5RDdka2JpYzRrbTdVbWdVUlJJbzBCckF4S3d1RzZMeXc2c2pnV0dY?= =?utf-8?B?UEFTRVo4RFJwQjhhKy9nVytvdXd0ei9sUk92WVFaOUdSbWxOeHJacEt6Sjl0?= =?utf-8?B?N3hRTjd2cUJGR1ZtRmxuQUxXZktpZXV1UTY1dml5WlkyQ3NtUUZ0L2pBYTl0?= =?utf-8?B?cEJDc2hMWnNQeGlFZTVoUktHbDUzMU92NklSeEFZTEo4VFFVaDFCUVFOazRm?= =?utf-8?B?Sk5xOTRuYUlTVGpEWGt2dGdaYXRhZHIxaDYyU0NMYmgrY0Flb2l0c1pwVlEx?= =?utf-8?B?ZXNxWU1wdlNUSk9BdjVRYU1BQ0hWa1QxemtUSUJ6aGxQNUNpYlA1UStMMks4?= =?utf-8?B?Rmpnbm1MeUxHS3VLYnJLNStJbXRjZEJXTm0yd056Y0krd3Y1cFFUaHNQYUJ3?= =?utf-8?B?NkcwODNzMURmS2NXaGhzWFNwT2RVRkZHNVdpVGpxd05pWHRBV1I3UjN2LzJF?= =?utf-8?B?V1JDQzBIZDREZWg1STdHRkx0T1NSV1FRQzlIUjJoWUJ1TlBpcnk3cUV0MFRv?= =?utf-8?B?dTdwNjJrS0JrQTEvWHJ4ZXVqU0Z0NGJ5OFlBWGFwbTN0R3M5ejJ1blVMUVlH?= =?utf-8?Q?pxTDajsqu90lqKzTKkwgqH2Ih?= 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: =?utf-8?B?cVdkTU1kcks1S24zRHBnTnBWZjVYTWpjaXBPRGRZazQ0cUhETmxremZqOVBq?= =?utf-8?B?TitsVm9oMUlGMTZ4L2JYTGY0WnNmMXovM21JL1ZxcmxnRGVkMkN2ZGdwbFlX?= =?utf-8?B?SXZZbHVDdTdwdzdkaUtlVU5jQ1pMN1E1R1RQRFV1M0RFbVJORitqQ3hseC9x?= =?utf-8?B?T2kwL3pzTWdnZDJDdEpXMktmRm5iOUZlNVVXRUtBSFVhV2FNaE9FbHQvM21q?= =?utf-8?B?b2U4cEpJbjJ4K2RmMmRHajZXbHZQSmJKT2NBcDhxRFkwWm5OaW1iRTIrVExi?= =?utf-8?B?TzBtV3FraWEvdHlnZjlWckZBNmUvZ01IdUNFbjBRNHlmaXRlTU5sREF2bXh0?= =?utf-8?B?ckdSUTJvSDFWaExtRkU5NloxWkcwYmdydkRPaEtHdUhwQk9jVHFXQTlkN0pK?= =?utf-8?B?OGxzYlZyZTJEOGovd1dTa3EyZllYUzVmbUZ4SnJlTUxSTEgyb2VCQTc5Q3Bo?= =?utf-8?B?dU4wZ3Njc012b3JFaDRpMEl0ZngzR0tSbXR5RVlWZEZXMk1XQ0ZGYmllaGZn?= =?utf-8?B?YWRINzczMldEY3NSNlpHVTdFZVVPaUwxL3JMYzRZenRPRjhjbWliTU5MRVRW?= =?utf-8?B?VEN6L2JkdW82clZqSGd1SEgxV1pWTVI2aFIrWjFFZ29ZL1dMU25mN0lKbFA0?= =?utf-8?B?bEZSTjBsSmpQQ0p0Z3Z6dHdhS3kyVnNtNXpiVEF6b0QvWmdleFl3cWgyQ2Uv?= =?utf-8?B?SlhIelUzOHNxK1hSSkNQcVgrYzJSNEJIZG9xejVaNzM5eU0wS3hWSTVjWTZV?= =?utf-8?B?SE04Z1BRVE5XYXhiL3VUQWpacVUveE81UjZHMFNLbDJmQVh4M3hrMmFyVHZG?= =?utf-8?B?WnZxK0lYRkkrUFdkQjFUSjRjQVhEQW11b1ZYQnV4endqd1lva3hhaVg1TkFZ?= =?utf-8?B?VzBFZ1hXZjIyNG80REd1Z0M3UURRZVV2Ky82NWxwajQxQzlUWXdPU2JmaGlK?= =?utf-8?B?bXVpZGt5QzN6cEdJSVl2V0dGczlPb2tFYS9lS3VLMmxtQjhxWHE2NUpiZlVS?= =?utf-8?B?LzM4Nk15RWxCQm1Eb3JDa0U4bFdWYzVRTVIvN003SGdpTmhLYXUxWVQ4eDJN?= =?utf-8?B?U3RiYVJuZFFhSmhadlE5WWt1bmkwdjBVMlY0RFVKSFQ4aWdCWnBSZnVjU2dj?= =?utf-8?B?NzZYeHEraWJZUEhZanN6N1ZNV09TTUw0NXBZTHhmMU03eTQyb0h1VndDbnpq?= =?utf-8?B?RDRnaDY1T1didWo4NGxmZStPSU5IbkFQR0tLMzNUczBoVUE2aWoxVEVIeGRC?= =?utf-8?B?WitLM28zcnRUcmZoZ1NDT1c0cFN1aklvdTF3WDJpSlFtQmU1ejFiY3R1SjVP?= =?utf-8?Q?mz2NGWKiEOavs=3D?= X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS3PR01MB6275.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e59803f-d5eb-4cda-efff-08da7f5a1b3f X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2022 07:37:00.6680 (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: ulMaUmgLbCFBeYEpGiuj6rsibzwUFial7Uw/2Tl9Lc47l3UK7Pwqj90hW3m008J24d9XkZfC3Lp+TPYcfsy/gA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB5702 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gRnJpLCBBdWd1c3QgMTIsIDIwMjIgMTc6MjIgUE0gUGV0ZXIgU21pdGggPHNtaXRocGIyMjUw QGdtYWlsLmNvbT4gd3JvdGU6DQo+IEhlcmUgYXJlIHNvbWUgcmV2aWV3IGNvbW1lbnRzIGZvciB2 MjAtMDAwNDoNCj4gDQo+IChUaGlzIGNvbXBsZXRlcyBteSByZXZpZXdzIG9mIHRoZSB2MjAqIHBh dGNoIHNldC4gU29ycnksIHRoZSByZXZpZXdzDQo+IGFyZSB0aW1lIGNvbnN1bWluZywgc28gSSBh bSBsYWdnaW5nIHNsaWdodGx5IGJlaGluZCB0aGUgbGF0ZXN0IHBvc3RlZA0KPiB2ZXJzaW9uKQ0K DQpUaGFua3MgZm9yIHlvdXIgY29tbWVudHMuDQoNCj4gMS4gZG9jL3NyYy9zZ21sL3JlZi9jcmVh dGVfc3Vic2NyaXB0aW9uLnNnbWwNCj4gDQo+IEBAIC0yNDUsNiArMjQ1LDExIEBAIENSRUFURSBT VUJTQ1JJUFRJT04gPHJlcGxhY2VhYmxlDQo+IGNsYXNzPSJwYXJhbWV0ZXIiPnN1YnNjcmlwdGlv bl9uYW1lPC9yZXBsYWNlYWJsDQo+ICAgICAgICAgICAgYWxzbyBiZSB0aGUgdW5pcXVlIGNvbHVt biBvbiB0aGUgcHVibGlzaGVyLXNpZGU7IDIpIHRoZXJlIGNhbm5vdCBiZQ0KPiAgICAgICAgICAg IGFueSBub24taW1tdXRhYmxlIGZ1bmN0aW9ucyB1c2VkIGJ5IHRoZSBzdWJzY3JpYmVyLXNpZGUg cmVwbGljYXRlZA0KPiAgICAgICAgICAgIHRhYmxlLg0KPiArICAgICAgICAgIFdoZW4gYXBwbHlp bmcgYSBzdHJlYW1pbmcgdHJhbnNhY3Rpb24sIGlmIGVpdGhlciByZXF1aXJlbWVudCBpcyBub3QN Cj4gKyAgICAgICAgICBtZXQsIHRoZSBiYWNrZ3JvdW5kIHdvcmtlciB3aWxsIGV4aXQgd2l0aCBh biBlcnJvci4NCj4gKyAgICAgICAgICBUaGUgPGxpdGVyYWw+cGFyYWxsZWw8L2xpdGVyYWw+IG1v ZGUgaXMgZGlzcmVnYXJkZWQgd2hlbiByZXRyeWluZzsNCj4gKyAgICAgICAgICBpbnN0ZWFkIHRo ZSB0cmFuc2FjdGlvbiB3aWxsIGJlIGFwcGxpZWQgdXNpbmcgPGxpdGVyYWw+b248L2xpdGVyYWw+ DQo+ICsgICAgICAgICAgbW9kZS4NCj4gICAgICAgICAgIDwvcGFyYT4NCj4gDQo+IFRoZSAib24g bW9kZSIgc3RpbGwgc291bmRzIHN0cmFuZ2UgdG8gbWUuIE1heWJlIGl0J3MganVzdCBteSBwZXJz b25hbA0KPiBvcGluaW9uLCBidXQgSSBkb27igJl0IHJlYWxseSBjb25zaWRlciAnb24nIGFuZCAn b2ZmJyB0byBiZSAibW9kZXMiLg0KPiBBbnl3YXkgSSBhbHJlYWR5IHBvc3RlZCB0aGUgc2FtZSBj b21tZW50IHNldmVyYWwgdGltZXMgYmVmb3JlIFsxLA0KPiAjNC4zXS4gTGV0J3Mgc2VlIHdoYXQg b3RoZXJzIHRoaW5rLg0KPiANCj4gU1VHR0VTVElPTg0KPiAidXNpbmcgb24gbW9kZSIgLT4gInVz aW5nIHN0cmVhbWluZyA9IG9uIg0KDQpPa2F5LCBJIHdpbGwgZm9sbG93IHRoZSByZWxldmFudCBj b21tZW50cyBsYXRlci4NCg0KPiAyLiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dv cmtlci5jIC0gc3RhcnRfdGFibGVfc3luYw0KPiANCj4gQEAgLTM5MDIsMjAgKzM5MjUsMjggQEAg c3RhcnRfdGFibGVfc3luYyhYTG9nUmVjUHRyICpvcmlnaW5fc3RhcnRwb3MsDQo+IGNoYXIgKipt eXNsb3RuYW1lKQ0KPiAgIH0NCj4gICBQR19DQVRDSCgpOw0KPiAgIHsNCj4gKyAvKg0KPiArICog RW1pdCB0aGUgZXJyb3IgbWVzc2FnZSwgYW5kIHJlY292ZXIgZnJvbSB0aGUgZXJyb3Igc3RhdGUg dG8gYW4gaWRsZQ0KPiArICogc3RhdGUNCj4gKyAqLw0KPiArIEhPTERfSU5URVJSVVBUUygpOw0K PiArDQo+ICsgRW1pdEVycm9yUmVwb3J0KCk7DQo+ICsgQWJvcnRPdXRPZkFueVRyYW5zYWN0aW9u KCk7DQo+ICsgRmx1c2hFcnJvclN0YXRlKCk7DQo+ICsNCj4gKyBSRVNVTUVfSU5URVJSVVBUUygp Ow0KPiArDQo+ICsgLyogUmVwb3J0IHRoZSB3b3JrZXIgZmFpbGVkIGR1cmluZyB0YWJsZSBzeW5j aHJvbml6YXRpb24gKi8NCj4gKyBwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9lcnJvcihNeVN1 YnNjcmlwdGlvbi0+b2lkLCBmYWxzZSk7DQo+ICsNCj4gICBpZiAoTXlTdWJzY3JpcHRpb24tPmRp c2FibGVvbmVycikNCj4gLSBEaXNhYmxlU3Vic2NyaXB0aW9uQW5kRXhpdCgpOw0KPiAtIGVsc2UN Cj4gLSB7DQo+IC0gLyoNCj4gLSAqIFJlcG9ydCB0aGUgd29ya2VyIGZhaWxlZCBkdXJpbmcgdGFi bGUgc3luY2hyb25pemF0aW9uLiBBYm9ydA0KPiAtICogdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24g c28gdGhhdCB0aGUgc3RhdHMgbWVzc2FnZSBpcyBzZW50IGluIGFuDQo+IC0gKiBpZGxlIHN0YXRl Lg0KPiAtICovDQo+IC0gQWJvcnRPdXRPZkFueVRyYW5zYWN0aW9uKCk7DQo+IC0gcGdzdGF0X3Jl cG9ydF9zdWJzY3JpcHRpb25fZXJyb3IoTXlTdWJzY3JpcHRpb24tPm9pZCwgZmFsc2UpOw0KPiAr IERpc2FibGVTdWJzY3JpcHRpb25PbkVycm9yKCk7DQo+IA0KPiAtIFBHX1JFX1RIUk9XKCk7DQo+ IC0gfQ0KPiArIC8qIFNldCB0aGUgcmV0cnkgZmxhZy4gKi8NCj4gKyBzZXRfc3Vic2NyaXB0aW9u X3JldHJ5KHRydWUpOw0KPiArDQo+ICsgcHJvY19leGl0KDApOw0KPiAgIH0NCj4gICBQR19FTkRf VFJZKCk7DQo+IA0KPiBQZXJoYXBzIGN1cnJlbnQgY29kZSBpcyBPSywgYnV0IEkgYW0gbm90IDEw MCUgc3VyZSBpZiB3ZSBzaG91bGQgc2V0DQo+IHRoZSByZXRyeSBmbGFnIHdoZW4gdGhlIGRpc2Fi bGVfb25fZXJyb3IgaXMgc2V0LCBiZWNhdXNlIHRoZQ0KPiBzdWJzY3JpcHRpb24gaXMgbm90IGdv aW5nIHRvIGJlIHJldHJpZWQgKGJlY2F1c2UgaXQgaXMgZGlzYWJsZWQpLiBBbmQNCj4gbGF0ZXIs IGlmL3doZW4gdGhlIHVzZXIgZG9lcyBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgcHJlc3VtYWJs eSB0aGF0DQo+IHdpbGwgYmUgYWZ0ZXIgdGhleSBoYXZlIGFscmVhZHkgYWRkcmVzc2VkIHRoZSBw cm9ibGVtIHRoYXQgY2F1c2VkIHRoZQ0KPiBlcnJvci9kaXNhYmxlbWVudCBpbiB0aGUgZmlyc3Qg cGxhY2UuDQoNCkkgdGhpbmsgaXQgaXMgb2theS4gQmVjYXVzZSBldmVuIGFmdGVyIGFkZHJlc3Np bmcgdGhlIHByb2JsZW0sIGl0IGlzIGFsc28NCipyZXRyeWluZyogdG8gYXBwbHkgdGhlIGZhaWxl ZCB0cmFuc2FjdGlvbi4gQW5kLCBpbiB0aGUgd29yc3QgY2FzZSwgaXQganVzdA0KYXBwbGllcyB0 aGUgZmlyc3QgZmFpbGVkIHN0cmVhbWluZyB0cmFuc2FjdGlvbiB1c2luZyAib24iIG1vZGUgaW5z dGVhZCBvZg0KInBhcmFsbGVsIiBtb2RlLg0KDQo+IDMuIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L2xvZ2ljYWwvd29ya2VyLmMgLSBzdGFydF9hcHBseQ0KPiANCj4gICBQR19DQVRDSCgpOw0KPiAg IHsNCj4gKyAvKg0KPiArICogRW1pdCB0aGUgZXJyb3IgbWVzc2FnZSwgYW5kIHJlY292ZXIgZnJv bSB0aGUgZXJyb3Igc3RhdGUgdG8gYW4gaWRsZQ0KPiArICogc3RhdGUNCj4gKyAqLw0KPiArIEhP TERfSU5URVJSVVBUUygpOw0KPiArDQo+ICsgRW1pdEVycm9yUmVwb3J0KCk7DQo+ICsgQWJvcnRP dXRPZkFueVRyYW5zYWN0aW9uKCk7DQo+ICsgRmx1c2hFcnJvclN0YXRlKCk7DQo+ICsNCj4gKyBS RVNVTUVfSU5URVJSVVBUUygpOw0KPiArDQo+ICsgLyogUmVwb3J0IHRoZSB3b3JrZXIgZmFpbGVk IHdoaWxlIGFwcGx5aW5nIGNoYW5nZXMgKi8NCj4gKyBwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlv bl9lcnJvcihNeVN1YnNjcmlwdGlvbi0+b2lkLA0KPiArICFhbV90YWJsZXN5bmNfd29ya2VyKCkp Ow0KPiArDQo+ICAgaWYgKE15U3Vic2NyaXB0aW9uLT5kaXNhYmxlb25lcnIpDQo+IC0gRGlzYWJs ZVN1YnNjcmlwdGlvbkFuZEV4aXQoKTsNCj4gLSBlbHNlDQo+IC0gew0KPiAtIC8qDQo+IC0gKiBS ZXBvcnQgdGhlIHdvcmtlciBmYWlsZWQgd2hpbGUgYXBwbHlpbmcgY2hhbmdlcy4gQWJvcnQgdGhl DQo+IC0gKiBjdXJyZW50IHRyYW5zYWN0aW9uIHNvIHRoYXQgdGhlIHN0YXRzIG1lc3NhZ2UgaXMg c2VudCBpbiBhbg0KPiAtICogaWRsZSBzdGF0ZS4NCj4gLSAqLw0KPiAtIEFib3J0T3V0T2ZBbnlU cmFuc2FjdGlvbigpOw0KPiAtIHBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0aW9uX2Vycm9yKE15U3Vi c2NyaXB0aW9uLQ0KPiA+b2lkLCAhYW1fdGFibGVzeW5jX3dvcmtlcigpKTsNCj4gKyBEaXNhYmxl U3Vic2NyaXB0aW9uT25FcnJvcigpOw0KPiANCj4gLSBQR19SRV9USFJPVygpOw0KPiAtIH0NCj4g KyAvKiBTZXQgdGhlIHJldHJ5IGZsYWcuICovDQo+ICsgc2V0X3N1YnNjcmlwdGlvbl9yZXRyeSh0 cnVlKTsNCj4gICB9DQo+ICAgUEdfRU5EX1RSWSgpOw0KPiAgfQ0KPiANCj4gM2EuDQo+IFNhbWUg Y29tbWVudCBhcyAjMg0KPiANCj4gM2IuDQo+IFRoaXMgUEdfQ0FUQ0ggdXNlZCB0byBsZWF2ZSBi eSBlaXRoZXIgcHJvY19leGl0KDApIG9yIFBHX1JFX1RIUk9XIGJ1dA0KPiB3aGF0IGRvZXMgaXQg ZG8gbm93PyBNeSBmaXJzdCBpbXByZXNzaW9uIGlzIHRoZXJlIGlzIGEgYnVnIGhlcmUgZHVlIHRv DQo+IHNvbWUgbWlzc2luZyBjb2RlLCBiZWNhdXNlIEFGQUlDVCB0aGUgZXhjZXB0aW9uIGlzIGNh dWdodCBhbmQgZ29iYmxlZA0KPiB1cCBhbmQgdGhlbiB3aGF0Li4uPw0KDQo9PjNhLg0KU2VlIHRo ZSByZXBseSB0byAjMi4NCj0+M2IuDQpUaGUgZnVuY3Rpb24gYHByb2NfZXhpdCgwKWAgaXMgaW52 b2tlZCBhZnRlciBpbnZva2luZyBmdW5jdGlvbiBzdGFydF9hcHBseS4gU2VlDQpmdW5jdGlvbiBB cHBseVdvcmtlck1haW4uDQoNCj4gNC4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93 b3JrZXIuYyAtIHNldF9zdWJzY3JpcHRpb25fcmV0cnkNCj4gDQo+ICsgaWYgKE15U3Vic2NyaXB0 aW9uLT5yZXRyeSA9PSByZXRyeSB8fA0KPiArIGFtX2FwcGx5X2Jnd29ya2VyKCkpDQo+ICsgcmV0 dXJuOw0KPiANCj4gNGEuDQo+IEkgdGhpcyB0aGlzIHF1aWNrIGV4aXQgY2FuIGJlIHNwbGl0IGFu ZCBnaXZlbiBzb21lIGFwcHJvcHJpYXRlIGNvbW1lbnRzDQo+IA0KPiBTVUdHRVNUSU9OIChmb3Ig ZXhhbXBsZSkNCj4gLyogRmFzdCBwYXRoIC0gaWYgbm8gc3RhdGUgY2hhbmdlIHRoZW4gbm90aGlu ZyB0byBkbyAqLw0KPiBpZiAoTXlTdWJzY3JpcHRpb24tPnJldHJ5ID09IHJldHJ5KQ0KPiByZXR1 cm47DQo+IA0KPiAvKiBGYXN0IHBhdGggLSBza2lwIGZvciBhcHBseSBiYWNrZ3JvdW5kIHdvcmtl cnMgKi8NCj4gaWYgKGFtX2FwcGx5X2Jnd29ya2VyKCkpDQo+IHJldHVybjsNCg0KQ2hhbmdlZC4N Cg0KPiA1LiAuLi4vc3Vic2NyaXB0aW9uL3QvMDMyX3N0cmVhbWluZ19hcHBseS5wbA0KPiANCj4g QEAgLTc4LDkgKzc4LDEzIEBAIG15ICR0aW1lciA9DQo+IElQQzo6UnVuOjp0aW1lb3V0KCRQb3N0 Z3JlU1FMOjpUZXN0OjpVdGlsczo6dGltZW91dF9kZWZhdWx0KTsNCj4gIG15ICRoID0gJG5vZGVf cHVibGlzaGVyLT5iYWNrZ3JvdW5kX3BzcWwoJ3Bvc3RncmVzJywgXCRpbiwgXCRvdXQsICR0aW1l ciwNCj4gICBvbl9lcnJvcl9zdG9wID0+IDApOw0KPiANCj4gKyMNCj4gPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA9PT09PT09 PT09PT09PT0NCj4gDQo+IEFsbCB0aG9zZSBjb21tZW50IGhpZ2hsaWdodGluZyBsaW5lcyBsaWtl ICIjID09PT09PT09PT09PT09IiByZWFsbHkNCj4gYmVsb25nIGluIHRoZSBlYXJsaWVyIHBhdGNo ICgwMDAzID8pIHdoZW4gdGhpcyBUQVAgdGVzdCBmaWxlIHdhcw0KPiBpbnRyb2R1Y2VkLg0KDQpD aGFuZ2VkLg0KDQpUaGUgbmV3IHBhdGNoZXMgd2VyZSBhdHRhY2hlZCBpbiBbMV0uDQoNClsxXSAt IGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvT1MzUFIwMU1CNjI3NTczOUU3 M0U4QkVDNUQxM0ZCNjczOUU2QjklNDBPUzNQUjAxTUI2Mjc1LmpwbnByZDAxLnByb2Qub3V0bG9v ay5jb20NCg0KUmVnYXJkcywNCldhbmcgd2VpDQo=