Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rPi7Z-00DZJX-V9 for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Jan 2024 12:00:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rPi7Z-003M4A-4J for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Jan 2024 12:00:45 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rPi7Y-003M3h-CX for pgsql-hackers@lists.postgresql.org; Tue, 16 Jan 2024 12:00:44 +0000 Received: from esa9.fujitsucc.c3s2.iphmx.com ([68.232.159.90]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rPi7U-001oD4-Ox for pgsql-hackers@postgresql.org; Tue, 16 Jan 2024 12:00:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1705406441; x=1736942441; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=K4x7lpNWQPfljTTYiduUbYEnYmmRPu4rFz36S3epOrQ=; b=XWE5zTHbpOu6jKRB1ZqkF2FwalnZvLBlh+NxMkQwvI+X2ItH61yM3ICp 1w5xyGsp+3NNqgf62joK88ZUqSgkPkTELdmMtwcNk+P161F+p9B+5WYM8 95rGQsZtd0x6rzPE2HeZ4Km/YIS2ZD6/xOeqIxvPhNexd4O3P2tG+CDVq hiYKmaWmibiV7UI8ACm6SmLOIzIWY1dktxTy1bOA2KvmvSczh46Oa7q3s b5QNYgtIuq35IMS7zEzMYJycIDhREpy8ZZfzmNLBapGaYDQkMunz/9bZM RZwqPn6LUyNKdnq7HGEEsXI0bSDPn9AA8RrazBLl7oVEUu+SuzJFkjLHa A==; X-IronPort-AV: E=McAfee;i="6600,9927,10954"; a="108485178" X-IronPort-AV: E=Sophos;i="6.05,199,1701097200"; d="scan'208";a="108485178" Received: from mail-tycjpn01lp2168.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.168]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jan 2024 21:00:35 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jt+77c/dmuYOOCpHxD0xQVNtIeCJhvwCYHDT9IDj+jKMsNXnXlyHazMSWLBL5matlsLOnNjSWs7h2VRRe0QXlOH2L+lNPIXmOArIuj5f88H9vM4hTXe145b/yhSaZNH1hKvclWAbxH4+HRWVDog5n069fKHOIDzaThIzKMLlLcjPtzoQt919XqKgfmFFcm9ioBdfjpnzyUjhQIByiWiyirCOQnd9JPA02GYxl1l5AD926tPXCpOjfO68jh/NAY/x6CfQzKQNPR+AdGy9BWa2LwAWIi913kM4Fn7xw3lLBCvRslARFQSEDfHwwUYIY0M18sKiIcib3qLWzNtJNfzgDw== 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=K4x7lpNWQPfljTTYiduUbYEnYmmRPu4rFz36S3epOrQ=; b=g+1RIMQ78R1AhOtgPfRCh3bZ0hNiI+2dEk+jMf/3DqtRWMbRiL1QfTgIzFZotx7MPHHVaKMcoJQkwG8zd1RUBkBBvE6PYxFv2J+yGLcrfyFUzs+NMhyxo0+WJh53z95aUg5ckvuXpqAunY7zrUvprk4kxpRx3oJHb3FSJ/10dV46NiuIQOhjRqgyePBQzkEAjYLM/k70hzTGXcaT/sGKr2l1btlX/Qlm53pSSjmxiD54xe5DiOwASg7H/guc+6/HcSPObuwMoXIKAJH/Y9UhT7gL/FnKdYTq/VWZ7LXTL6lIXnfBnUJlFL/hyICs0w5SHSLM5OHNYgt/Mzz5cA1w1w== 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 TYCPR01MB8518.jpnprd01.prod.outlook.com (2603:1096:400:154::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.22; Tue, 16 Jan 2024 12:00:31 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::638f:c5ac:dcaf:baa1]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::638f:c5ac:dcaf:baa1%7]) with mapi id 15.20.7202.020; Tue, 16 Jan 2024 12:00:30 +0000 From: "Zhijie Hou (Fujitsu)" To: Peter Smith CC: Masahiko Sawada , Amit Kapila , Dilip Kumar , Bertrand Drouvot , shveta malik , Nisha Moond , "Hayato Kuroda (Fujitsu)" , Bharath Rupireddy , Peter Eisentraut , Bruce Momjian , Ashutosh Sharma , Andres Freund , pgsql-hackers , Ajin Cherian , Alvaro Herrera Subject: RE: Synchronizing slots from primary to standby Thread-Topic: Synchronizing slots from primary to standby Thread-Index: AQHaJE9sgJJNJUqALky3mvuBKJq3g7CYl8uAgAC/xgCAANHogIAAa3WAgAArgoCAAQCOgIAADoeAgAA1dgCAABjKgIAABtwAgAL+XYCABKJcAIAAQJWAgAK2zQCAABFoAIAAWssAgADokgCAAKIxAIABM9iAgAUcsHCAAOg8AIAAsL6AgAEHJgCAAGl7gIAAGzGAgAljCKCAABkPgIABJ9qAgABFKACAApdEgIAANHAAgAanVQCAAbfUMIAA/DsAgAATNYCAAJYZAIAA46aAgAB8dwCAABaPAIAEULaAgAHkvsCAACL0gIAC/nIAgAGlGQCAABuicIAFfO4AgACCfoA= Date: Tue, 16 Jan 2024 12:00:29 +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?NTBfQWN0aW9uSWQ9ZTdjZWQ0MjMtYWQ1Yi00YTI4LTk0MjItODdkYjAwZTEy?= =?utf-8?B?YTkwO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX0NvbnRlbnRCaXRzPTA7TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5?= =?utf-8?B?LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfRW5hYmxlZD10cnVlO01TSVBfTGFi?= =?utf-8?B?ZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX01ldGhv?= =?utf-8?B?ZD1TdGFuZGFyZDtNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9OYW1lPUZVSklUU1UtUkVTVFJJQ1RFROKAiztNU0lQ?= =?utf-8?B?X0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0ZmVjZTA1MF9T?= =?utf-8?B?ZXREYXRlPTIwMjQtMDEtMTZUMDk6MTQ6MjlaO01TSVBfTGFiZWxfYTcyOTVj?= =?utf-8?B?YzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX1NpdGVJZD1hMTlmMTIx?= =?utf-8?Q?d-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_|TYCPR01MB8518:EE_ x-ms-office365-filtering-correlation-id: 766e2f7e-79e1-4485-9359-08dc168abc48 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: a0SSXdONiZbYlMOQGLqjMwYlWYb/wGB0TPmSycz2hmpnaO93ZBCP6HvldUh9o2GkmA9TlyxaV2vr+YeK/B4wXQGjYxruhuZI7ie8GxDNHPoFw5F8th0pW9IcOux/34jSIfBOnS0j9mZ2hMAfkqUUZgTegOlwkhjACXkveMD8tC4md5Up9thaSdSdVpCZ5OIZiRdjwHxG5QnDIZtxhsW80qqCJCle7pRjS1VCcdAI8G7I1wUc0sL+itgMuAh+igg1wee6L3leY0jmWlYco1tYxb8SI/8pc56XX2d4ParKBLN5WA96vhkQeWxW9W8Iuhbpo+Xbo50veBOFuDXLQzZQtVW/SlTx0oYeYdaefwVqB6oHwBxcGVaQe6KGU/S6En0ne/wJWGpZvPaG8ZjxsznPCG/z9yI1J0eQS9JdwpNJvAWuwrBk3CiKOIX+TbhgWopHssQxbqM5EN26sYoRyD9KAZJ5+ovB6JyyZCrDNyRox9wIxLU7kpmgP7wTv92lEDkQYpH5un0m5WcZE2j+wfcNb4CN80CYqF1sZ2e8aIPeJlfnetNzLUyz4pEnxAJhmkl2IUaycHFnsCzsBoBwPE905UQHejGZi0ZP6umDpgD2UwCPIcSy2GybszXdJmyRJUiqINtSIqq/MewqUdbsZ6+PtQ== 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:(13230031)(39860400002)(136003)(346002)(366004)(396003)(376002)(230922051799003)(451199024)(1590799021)(186009)(1800799012)(64100799003)(66899024)(1580799018)(41300700001)(86362001)(82960400001)(33656002)(85182001)(122000001)(38100700002)(52536014)(4326008)(2906002)(8936002)(8676002)(66476007)(6916009)(54906003)(64756008)(66446008)(316002)(66946007)(66556008)(76116006)(83380400001)(26005)(7696005)(478600001)(71200400001)(5660300002)(53546011)(9686003)(6506007)(7416002)(38070700009)(55016003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dHdVeW5JTlE2Si8yVkxiMldkRTljMTRGNGs2aFlrZ2w4OUZrRjBHQkJEY20v?= =?utf-8?B?Q3d6c0UzcldOeFN0NFZYa2ZzdWIwSitScy9wZlp0Y3Q3TlRjckFYTE5CUmgr?= =?utf-8?B?SThDa2tPVEhZN014ZmVyeVFHdkErTUptM0lhMnJOWml1ZjlCUWVnQ3k0UUgr?= =?utf-8?B?bkI4RXhKVVRQVzAxR2F6REZDVXUvM0xlRzc4QlFRZmZwOHBNV2ZoSXN0aUVI?= =?utf-8?B?ZGc4YThrcmlPcWJlakRyRmlaa1JUaXpzM0wvUk1rU2pxMklmRTlyMGhSa1dp?= =?utf-8?B?MVZEeG15NzhmaVQzZ2prLzZQM1NoeWZKVU90NDltTktCTUJsOG5pVVYzaDlX?= =?utf-8?B?alExYUxSenl1M00xSmxJaWFaRUhMaTQxT01NMERnN2xNT1hFTGJwczltcTdI?= =?utf-8?B?L3NpOFdLb0VtYk4vdG8vTlFxTStiQllPTWdGL2dRNkY1RUFEZFNaVUQvWVBw?= =?utf-8?B?c2lIajBIN3FHK3pmR2Z5SE9vQVQ4RThZcHd3MEgvY1U3UVFtYUJnQVpRdkpH?= =?utf-8?B?c20vbEgyMXlFUWhqOFdmVDlKa3lHc2JKaUZvRlNUTGxLTjRwS2xuUkNHSmZ2?= =?utf-8?B?OXlsZ0c3eU1COU1ZQ0k5c3RlV0YxQm45TG9MQk1MQzNnTlVhcGFHeDlCRG1k?= =?utf-8?B?YUZHSHNpY3U0dUV2cktqVjNBSWVhVDVyZ3ZLbEptMEpvcUNFSjJ3bHFWZHBh?= =?utf-8?B?OG4zRUZmNjdLbGFqa1ZOSWtRckVqbFRFYVRueTYrVUdPNHVFZkh6cTFuU0ZD?= =?utf-8?B?ZDdOZWY3M1FrVkc5SnlQaVJGdTRMZlpwTHRWRlZsaGp3ZkRVMXltVStNNUU2?= =?utf-8?B?Z2h0dm40Tk5scnBnVGszS3JwRzRmalMvYTNBelhiUE1INTdEeTNlQ2VmUmds?= =?utf-8?B?bElUQVl2TTkya3JIaGhXcDA2THFsUW5Ka1lrUUhTK01vNnVSbHFtQ3l6cnFB?= =?utf-8?B?SDFaRm5rMlRxeGp4U1hlc1RYSmY1ODNkcVZMaVYvRTVaajNiajduNmJubEVk?= =?utf-8?B?K3JDMG95OGtzNkVrMHhwb2VGVnFqK2tUb2ZMUjVrOWxMUjhFRFpTN1B6L1p1?= =?utf-8?B?YURSS3BIZWhjbis1OWJHMXFsSkVCbmlNSm9FNUdWYUNBZFltMCt4ZFB3OFda?= =?utf-8?B?anVQVEI5S1NVdDRCdFB3MnZNNmJoaUtsamVmTEpVRmp1NXlJZjFoMU5jNG5l?= =?utf-8?B?ZjlkUVBsMnl3eVpWUkVNU1FTclZSY2ltRklMMmZHVjd3N25jOXdiZ1YrZUdk?= =?utf-8?B?Z2kxZFVVdXF4WFFvNys1MHpEcGloRjZid1NxVGtzUnI5ZmZ5Ynl6dktqUlFo?= =?utf-8?B?cnhyN2ZHajkyQ01DVlFFbHBDejZuYjJQSG5kMHJ3T1hqSitWRnF0WlRhOE9m?= =?utf-8?B?ME9aKzlMRW0xay9kM09MdzVGaGNKT3BKV0VaZUtqUk1QT25waThReHBPakZu?= =?utf-8?B?TEJNcmJBMUlXZ1FYMk1YVkkzdW9VaFFmRm5CeG1ibjY0Vk91NlplYkNxVWFx?= =?utf-8?B?THk0aDdhQUdCVnRxM0p3VDBCQ24zRGF2ODdKQXNITFFqL2g5aGNvWG1VRTVr?= =?utf-8?B?SzVSaFVmNi9LK0hhMTRtb2NXbkQrTFdNazRILzRmY29abllJb21MREhBQW1s?= =?utf-8?B?QWRQUXZoMFFwcGZLYjY5TlN3cGp5R0FqQkhXS0VUS1lCT1J0WGd5NEJDOWxT?= =?utf-8?B?KzV3WGJkZEFxbjczWG1sWXhIMkF0S0RIZWZpRVJvWmJHQVFVT3lNRzZRUkNl?= =?utf-8?B?SlNCaHlKODVIMTlEU3BZdmZIbFF6ZUFEY01UUWR2eHpTazJDUnpFdTRBdmVT?= =?utf-8?B?QXJCdnMrcnhzb2lkSDd4Y2g5Wm1yYjllMUhuS3Zjd1BRSDFlZXdZWTZxaW1n?= =?utf-8?B?eGxrY1VSWTRUMjlLbVNnc2NkTWNiVmw0aGxoSmFFQUVVZ1B3N0tBdXVZUTlM?= =?utf-8?B?RmhKYXNUcGlxcGxya25FZC82UHV5RmRBWmh1SWVJU1pvNS83UVNGWElXYmtV?= =?utf-8?B?ZWZzQ0lEalRwNFBjUTBTOWFsRmNpN3ZCeTFsOE1oZXZhcTVvVGxRSzB6Y3pU?= =?utf-8?B?TUxDOTVBMGRielVtUmRrYk5IemdtaUduaTlHNm5udkNEQWQwTWFkVVV1dmdK?= =?utf-8?Q?Y9WFF55cIJcNbCQzWVeMSj8OK?= 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: Dou4zDa5rcKja+L4ZLAOncobxeA3lDhWNlISvjU2wgKJrg6LlUmeUeW0dMmlQiYJffpZdRfMs0QJe/NPO70KrMgd+bV1ErZfeJnNijlZc6Z2tEJhpOiUgA8RPUG8YZivjQ0a1GNoqCuztx13h2RMfSqFJ5p/bB4YWcy8NIaMcSf6GH1i0z3aBSW+p0mHdWBpyAs6thT4H6sHI5oyPMqAKYrWPCruz9NlynKLqxqZUxflTbNQWZmIF9ZG+05/qmQd+1Hkk1T5LVGVk5qGIMNOIOUN9qeNpNJ+E1nhSBRFOXDUO+ZqUiDvU/0ipaebgDfo8TRN5LbcHV77VMkx+BvKPKJUcNCjj7Sd7H/S6zK7hP/ioFKJjIlhdEJ1FJDtiKC4HMPUkI75JSq3mvBKNMi13lLpEhp51Mcg6rdOLDIdP7FCqFD50PTufKS7KsHPZaOHf8q6m+yoIcKuzXEXy3EbipaeiHjXNIbMAO1jIpiCUw/YGzyTwz8eF5t7rMIDZI5fVEHABB9Vqg2ux4N1db+MqmiQXHu8419FXa0jeKfcCE88cLeu4KnxdGQXVjC8pMC5vrkOrebK0SOgrAPT35BHBc/WZ9p2XkDD5J+FsFjcq8KTbekJp64UjpdZYM0uK9CK 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: 766e2f7e-79e1-4485-9359-08dc168abc48 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jan 2024 12:00:29.9560 (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: ZRr1eAeazyBU0ysj1/3kcW3B5WYK5AEvqVzSyxcf5M1J31ICsoaSlNuJ+hbLXjtSO8Dls1LgVH52brOArdluQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB8518 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gVHVlc2RheSwgSmFudWFyeSAxNiwgMjAyNCA5OjI3IEFNIFBldGVyIFNtaXRoIDxzbWl0aHBi MjI1MEBnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gSGVyZSBhcmUgc29tZSByZXZpZXcgY29tbWVu dHMgZm9yIHBhdGNoIHY2MS0wMDAyDQoNClRoYW5rcyBmb3IgdGhlIGNvbW1lbnRzLg0KDQo+IA0K PiA9PT09PT0NCj4gZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbA0KPiANCj4g MS4NCj4gKyAgPHNlY3QyIGlkPSJsb2dpY2FsLXJlcGxpY2F0aW9uLWZhaWxvdmVyLWV4YW1wbGVz Ij4NCj4gKyAgIDx0aXRsZT5FeGFtcGxlczogbG9naWNhbCByZXBsaWNhdGlvbiBmYWlsb3Zlcjwv dGl0bGU+DQo+IA0KPiBUaGUgY3VycmVudCBkb2N1bWVudGF0aW9uIHN0cnVjdHVyZSAoYWZ0ZXIg dGhlIHBhdGNoIGlzIGFwcGxpZWQpIGxvb2tzDQo+IGxpa2UgdGhpczoNCj4gDQo+IDMwLjEuIFB1 YmxpY2F0aW9uDQo+IDMwLjIuIFN1YnNjcmlwdGlvbg0KPiAgICAgMzAuMi4xLiBSZXBsaWNhdGlv biBTbG90IE1hbmFnZW1lbnQNCj4gICAgIDMwLjIuMi4gRXhhbXBsZXM6IFNldCBVcCBMb2dpY2Fs IFJlcGxpY2F0aW9uDQo+ICAgICAzMC4yLjMuIEV4YW1wbGVzOiBEZWZlcnJlZCBSZXBsaWNhdGlv biBTbG90IENyZWF0aW9uDQo+ICAgICAzMC4yLjQuIEV4YW1wbGVzOiBsb2dpY2FsIHJlcGxpY2F0 aW9uIGZhaWxvdmVyDQo+IA0KPiBJIGRvbid0IHRoaW5rIGl0IGlzIGlkZWFsLg0KPiANCj4gRmly c3RseSwgSSB0aGluayB0aGlzIG5ldyBzZWN0aW9uIGlzIG5vdCBqdXN0ICJFeGFtcGxlczoiOyBp dCBpcyBtb3JlDQo+IGxpa2UgaW5zdHJ1Y3Rpb25zIGZvciBzdGVwcyB0byBjaGVjayBpZiBhIHN1 Y2Nlc3NmdWwgZmFpbG92ZXIgaXMNCj4gcG9zc2libGUuIElNTyBjYWxsIGl0IHNvbWV0aGluZyBs aWtlICJMb2dpY2FsIFJlcGxpY2F0aW9uIEZhaWxvdmVyIiBvcg0KPiAiUmVwbGljYXRpb24gU2xv dCBGYWlsb3ZlciIuDQo+IA0KPiBTZWNvbmRseSwgSSBkb24ndCB0aGluayB0aGlzIG5ldyBzZWN0 aW9uIHN0cmljdGx5IGJlbG9uZ3MgdW5kZXJuZWF0aA0KPiB0aGUgIlN1YnNjcmlwdGlvbiIgc2Vj dGlvbiBhbnltb3JlIGJlY2F1c2UgSU1PIGl0IGlzIGp1c3QgYXMgbXVjaA0KPiBhYm91dCB0aGUg cHJvbW90aW9uIG9mIHRoZSBwdWJsaWNhdGlvbnMuIE5vdyB0aGF0IHlvdSBhcmUgYWRkaW5nIHRo aXMNCj4gbmV3ICgybmQpIHNlY3Rpb24gYWJvdXQgc2xvdHMsIEkgdGhpbmsgdGhlIHdob2xlIHN0 cnVjdHVyZSBvZiB0aGlzDQo+IGRvY3VtZW50IHNob3VsZCBiZSBjaGFuZ2VkIGxpa2UgYmVsb3c6 DQo+IA0KPiBTVUdHRVNUSU9OICMxIChtYWtlIGEgbmV3IHNlY3Rpb24gMzAuMyBqdXN0IGZvciBz bG90LXJlbGF0ZWQgdG9waWNzKQ0KPiANCj4gMzAuMS4gUHVibGljYXRpb24NCj4gMzAuMi4gU3Vi c2NyaXB0aW9uDQo+ICAgICAzMC4yLjEuIEV4YW1wbGVzOiBTZXQgVXAgTG9naWNhbCBSZXBsaWNh dGlvbg0KPiAzMC4zLiBMb2dpY2FsIFJlcGxpY2F0aW9uIFNsb3RzDQo+ICAgICAzMC4zLjEuIFJl cGxpY2F0aW9uIFNsb3QgTWFuYWdlbWVudA0KPiAgICAgMzAuMy4yLiBFeGFtcGxlczogRGVmZXJy ZWQgUmVwbGljYXRpb24gU2xvdCBDcmVhdGlvbg0KPiAgICAgMzAuMy4zLiBMb2dpY2FsIFJlcGxp Y2F0aW9uIEZhaWxvdmVyDQo+IA0KPiB+DQo+IA0KPiBTVUdHRVNUSU9OICMyIChrZWVwIHRoZSBl eGlzdGluZyBzdHJ1Y3R1cmUsIGJ1dCBnaXZlIHRoZSBmYWlsb3ZlciBpdHMNCj4gb3duIG5ldyBz ZWN0aW9uIDMwLjMpDQo+IA0KPiAzMC4xLiBQdWJsaWNhdGlvbg0KPiAzMC4yLiBTdWJzY3JpcHRp b24NCj4gICAgIDMwLjIuMS4gUmVwbGljYXRpb24gU2xvdCBNYW5hZ2VtZW50DQo+ICAgICAzMC4y LjIuIEV4YW1wbGVzOiBTZXQgVXAgTG9naWNhbCBSZXBsaWNhdGlvbg0KPiAgICAgMzAuMi4zLiBF eGFtcGxlczogRGVmZXJyZWQgUmVwbGljYXRpb24gU2xvdCBDcmVhdGlvbg0KPiAzMC4zIExvZ2lj YWwgUmVwbGljYXRpb24gRmFpbG92ZXINCg0KSSB1c2VkIHRoaXMgdmVyc2lvbiBmb3Igbm93IGFz IEkgYW0gc3VyZSBhYm91dCBjaGFuZ2luZyBvdGhlciBzZWN0aW9uLg0KDQo+IA0KPiB+DQo+IA0K PiBTVUdHRVNUSU9OICMyYSAoYW5kIG1heWJlIGxhdGVyIHlvdSBjYW4gZXh0cmFjdCBzb21lIG9m IHRoZSBmYWlsb3Zlcg0KPiBleGFtcGxlcyBmdXJ0aGVyKQ0KPiANCj4gMzAuMS4gUHVibGljYXRp b24NCj4gMzAuMi4gU3Vic2NyaXB0aW9uDQo+ICAgICAzMC4yLjEuIFJlcGxpY2F0aW9uIFNsb3Qg TWFuYWdlbWVudA0KPiAgICAgMzAuMi4yLiBFeGFtcGxlczogU2V0IFVwIExvZ2ljYWwgUmVwbGlj YXRpb24NCj4gICAgIDMwLjIuMy4gRXhhbXBsZXM6IERlZmVycmVkIFJlcGxpY2F0aW9uIFNsb3Qg Q3JlYXRpb24NCj4gMzAuMyBMb2dpY2FsIFJlcGxpY2F0aW9uIEZhaWxvdmVyDQo+ICAgICAzMC4z LjEuIEV4YW1wbGVzOiBDaGVja2luZyBpZiBmYWlsb3ZlciByZWFkeQ0KPiANCj4gfn5+DQo+IA0K PiAyLg0KPiArICAgPHBhcmE+DQo+ICsgICAgSW4gYSBsb2dpY2FsIHJlcGxpY2F0aW9uIHNldHVw LCBpZiB0aGUgcHVibGlzaGVyIHNlcnZlciBpcyBhbHNvIHRoZSBwcmltYXJ5DQo+ICsgICAgc2Vy dmVyIG9mIHRoZSBzdHJlYW1pbmcgcmVwbGljYXRpb24sIHRoZSBsb2dpY2FsIHNsb3RzIG9uIHRo ZQ0KPiBwcmltYXJ5IHNlcnZlcg0KPiArICAgIGNhbiBiZSBzeW5jaHJvbml6ZWQgdG8gdGhlIHN0 YW5kYnkgc2VydmVyIGJ5IHNwZWNpZnlpbmcNCj4gPGxpdGVyYWw+ZmFpbG92ZXIgPSB0cnVlPC9s aXRlcmFsPg0KPiArICAgIHdoZW4gY3JlYXRpbmcgdGhlIHN1YnNjcmlwdGlvbi4gRW5hYmxpbmcg ZmFpbG92ZXIgZW5zdXJlcyBhIHNlYW1sZXNzDQo+ICsgICAgdHJhbnNpdGlvbiBvZiB0aGUgc3Vi c2NyaXB0aW9uIHRvIHRoZSBwcm9tb3RlZCBzdGFuZGJ5LCBhbGxvd2luZyBpdCB0bw0KPiArICAg IHN1YnNjcmliZSB0byB0aGUgbmV3IHByaW1hcnkgc2VydmVyIHdpdGhvdXQgYW55IGRhdGEgbG9z cy4NCj4gKyAgIDwvcGFyYT4NCj4gDQo+IEkgd2FzIGluaXRpYWxseSBjb25mdXNlZCBieSB0aGUg d29yZGluZy4gSG93IGFib3V0IGxpa2UgYmVsb3c6DQo+IA0KPiBTVUdHRVNUSU9ODQo+IFdoZW4g dGhlIHB1Ymxpc2hlciBzZXJ2ZXIgaXMgdGhlIHByaW1hcnkgc2VydmVyIG9mIGEgc3RyZWFtaW5n DQo+IHJlcGxpY2F0aW9uLCB0aGUgbG9naWNhbCBzbG90cyBvbiB0aGF0IHByaW1hcnkgc2VydmVy IGNhbiBiZQ0KPiBzeW5jaHJvbml6ZWQgdG8gdGhlIHN0YW5kYnkgc2VydmVyIGJ5IHNwZWNpZnlp bmcgPGxpdGVyYWw+ZmFpbG92ZXIgPQ0KPiB0cnVlPC9saXRlcmFsPiB3aGVuIGNyZWF0aW5nIHN1 YnNjcmlwdGlvbnMgZm9yIHRob3NlIHB1YmxpY2F0aW9ucy4NCj4gRW5hYmxpbmcgZmFpbG92ZXIg ZW5zdXJlcyBhIHNlYW1sZXNzIHRyYW5zaXRpb24gb2YgdGhvc2Ugc3Vic2NyaXB0aW9ucw0KPiBh ZnRlciB0aGUgc3RhbmRieSBpcyBwcm9tb3RlZC4gVGhleSBjYW4gY29udGludWUgc3Vic2NyaWJp bmcgdG8NCj4gcHVibGljYXRpb25zIG5vdyBvbiB0aGUgbmV3IHByaW1hcnkgc2VydmVyIHdpdGhv dXQgYW55IGRhdGEgbG9zcy4NCg0KQ2hhbmdlZCBhcyBzdWdnZXN0ZWQuDQoNCj4gDQo+IH5+fg0K PiANCj4gMy4NCj4gKyAgIDxwYXJhPg0KPiArICAgIEhvd2V2ZXIsIHRoZSByZXBsaWNhdGlvbiBz bG90cyBhcmUgY29waWVkIGFzeW5jaHJvbm91c2x5LCB3aGljaA0KPiBtZWFucyBpdCdzIG5lY2Vz c2FyeQ0KPiArICAgIHRvIGNvbmZpcm0gdGhhdCByZXBsaWNhdGlvbiBzbG90cyBoYXZlIGJlZW4g c3luY2VkIHRvIHRoZSBzdGFuZGJ5IHNlcnZlcg0KPiArICAgIGJlZm9yZSB0aGUgZmFpbG92ZXIg aGFwcGVucy4gQWRkaXRpb25hbGx5LCB0byBlbnN1cmUgYSBzdWNjZXNzZnVsIGZhaWxvdmVyLA0K PiArICAgIHRoZSBzdGFuZGJ5IHNlcnZlciBtdXN0IG5vdCBsYWcgYmVoaW5kIHRoZSBzdWJzY3Jp YmVyLiBUbyBjb25maXJtDQo+ICsgICAgdGhhdCB0aGUgc3RhbmRieSBzZXJ2ZXIgaXMgcmVhZHkg Zm9yIGZhaWxvdmVyLCBmb2xsb3cgdGhlc2Ugc3RlcHM6DQo+ICsgICA8L3BhcmE+DQo+IA0KPiBN aW5vciByZXdvcmRpbmcNCj4gDQo+IFNVR0dFU1RJT04NCj4gQmVjYXVzZSB0aGUgc2xvdCBzeW5j aHJvbml6YXRpb24gbG9naWMgY29waWVzIGFzeW5jaHJvbm91c2x5LCBpdCBpcw0KPiBuZWNlc3Nh cnkgdG8gY29uZmlybSB0aGF0IHJlcGxpY2F0aW9uIHNsb3RzIGhhdmUgYmVlbiBzeW5jZWQgdG8g dGhlDQo+IHN0YW5kYnkgc2VydmVyIGJlZm9yZSB0aGUgZmFpbG92ZXIgaGFwcGVucy4gRnVydGhl cm1vcmUsIHRvIGVuc3VyZSBhDQo+IHN1Y2Nlc3NmdWwgZmFpbG92ZXIsIHRoZSBzdGFuZGJ5IHNl cnZlciBtdXN0IG5vdCBiZSBsYWdnaW5nIGJlaGluZCB0aGUNCj4gc3Vic2NyaWJlci4gVG8gY29u ZmlybSB0aGF0IHRoZSBzdGFuZGJ5IHNlcnZlciBpcyBpbmRlZWQgcmVhZHkgZm9yDQo+IGZhaWxv dmVyLCBmb2xsb3cgdGhlc2UgMiBzdGVwczoNCg0KQ2hhbmdlZCBhcyBzdWdnZXN0ZWQuDQoNCj4g DQo+IH5+fg0KPiANCj4gNC4NCj4gVGhlIGluc3RydWN0aW9ucyBzYWlkICJmb2xsb3cgdGhlc2Ug c3RlcHMiLCBzbyB0aGUgbmV4dCBwYXJ0cyBzaG91bGQNCj4gYmUgcmVuZGVyZWQgYXMgMiAic3Rl cHMiICh1c2luZyA8cHJvY2VkdXJlPiBtYXJrdXA/KQ0KPiANCj4gU1VHR0VTVElPTiAoc2hvdyBh cyBzdGVwcyAxLDIgIGFuZCBhbHNvIHNvbWUgbWlub3IgcmV3b3JkaW5nIG9mIHRoZQ0KPiBzdGVw IGhlYWRpbmcpDQo+IA0KPiAxLiBDb25maXJtIHRoYXQgYWxsIHRoZSBuZWNlc3NhcnkgbG9naWNh bCByZXBsaWNhdGlvbiBzbG90cyBoYXZlIGJlZW4NCj4gc3luY2VkIHRvIHRoZSBzdGFuZGJ5IHNl cnZlci4NCj4gMi4gQ29uZmlybSB0aGF0IHRoZSBzdGFuZGJ5IHNlcnZlciBpcyBub3QgbGFnZ2lu ZyBiZWhpbmQgdGhlIHN1YnNjcmliZXJzLg0KPiANCg0KQ2hhbmdlZCBhcyBzdWdnZXN0ZWQuDQoN Cj4gfn5+DQo+IA0KPiA1Lg0KPiArICAgPHBhcmE+DQo+ICsgICAgQ2hlY2sgaWYgYWxsIHRoZSBu ZWNlc3NhcnkgbG9naWNhbCByZXBsaWNhdGlvbiBzbG90cyBoYXZlIGJlZW4gc3luY2VkIHRvDQo+ ICsgICAgdGhlIHN0YW5kYnkgc2VydmVyLg0KPiArICAgPC9wYXJhPg0KPiANCj4gU1VHR0VTVElP Tg0KPiBDb25maXJtIHRoYXQgYWxsIHRoZSBuZWNlc3NhcnkgbG9naWNhbCByZXBsaWNhdGlvbiBz bG90cyBoYXZlIGJlZW4NCj4gc3luY2VkIHRvIHRoZSBzdGFuZGJ5IHNlcnZlci4NCj4gDQoNCkNo YW5nZWQgYXMgc3VnZ2VzdGVkLg0KDQo+IH5+fg0KPiANCj4gNi4NCj4gKyAgICAgPGxpc3RpdGVt Pg0KPiArICAgICAgPHBhcmE+DQo+ICsgICAgICAgT24gbG9naWNhbCBzdWJzY3JpYmVyLCBmZXRj aCB0aGUgc2xvdCBuYW1lcyB0aGF0IHNob3VsZCBiZSBzeW5jZWQgdG8NCj4gdGhlDQo+ICsgICAg ICAgc3RhbmRieSB0aGF0IHdlIHBsYW4gdG8gcHJvbW90ZS4NCj4gDQo+IFNVR0dFU1RJT04NCj4g Rmlyc3RseSwgb24gdGhlIHN1YnNjcmliZXIgbm9kZSwgdXNlIHRoZSBmb2xsb3dpbmcgU1FMIHRv IGlkZW50aWZ5IHRoZQ0KPiBzbG90IG5hbWVzIHRoYXQgc2hvdWxkIGJlLi4uDQo+IA0KDQpDaGFu Z2VkIGFzIHN1Z2dlc3RlZC4NCg0KPiB+fn4NCj4gDQo+IDcuDQo+ICs8cHJvZ3JhbWxpc3Rpbmc+ DQo+ICt0ZXN0X3N1Yj0jIFNFTEVDVA0KPiArICAgICAgICAgICAgICAgYXJyYXlfYWdnKHNsb3Ru YW1lKSBBUyBzbG90cw0KPiArICAgICAgICAgICBGUk9NDQo+ICsgICAgICAgICAgICgoDQo+ICsg ICAgICAgICAgICAgICBTRUxFQ1Qgci5zcnN1YmlkIEFTIHN1YmlkLCBDT05DQVQoJ3BnXycgfHwg c3JzdWJpZCB8fA0KPiAnX3N5bmNfJyB8fCBzcnJlbGlkIHx8ICdfJyB8fCBjdGwuc3lzdGVtX2lk ZW50aWZpZXIpIEFTIHNsb3RuYW1lDQo+ICsgICAgICAgICAgICAgICBGUk9NIHBnX2NvbnRyb2xf c3lzdGVtKCkgY3RsLCBwZ19zdWJzY3JpcHRpb25fcmVsIHIsDQo+IHBnX3N1YnNjcmlwdGlvbiBz DQo+ICsgICAgICAgICAgICAgICBXSEVSRSByLnNyc3Vic3RhdGUgPSAnZicgQU5EIHMub2lkID0g ci5zcnN1YmlkIEFORA0KPiBzLnN1YmZhaWxvdmVyDQo+ICsgICAgICAgICAgICkgVU5JT04gKA0K PiArICAgICAgICAgICAgICAgU0VMRUNUIG9pZCBBUyBzdWJpZCwgc3Vic2xvdG5hbWUgYXMgc2xv dG5hbWUNCj4gKyAgICAgICAgICAgICAgIEZST00gcGdfc3Vic2NyaXB0aW9uDQo+ICsgICAgICAg ICAgICAgICBXSEVSRSBzdWJmYWlsb3Zlcg0KPiArICAgICAgICAgICApKTsNCj4gDQo+IDdhDQo+ IE1heWJlIHRoaXMgb3VnaHQgdG8gaW5jbHVkZSAicGdfY2F0YWxvZyIgc2NoZW1hcz8NCg0KQWZ0 ZXIgc2VhcmNoaW5nIG90aGVyIHF1ZXJ5IGV4YW1wbGVzLCBJIHRoaW5rIG1vc3Qgb2YgdGhlbSBk b27igJl0IGFkZCB0aGlzIGZvcg0KZWl0aGVyIGZ1bmN0aW9uIG9yIHN5c3RlbSB0YWJsZS4gU28s IEkgZGlkbuKAmXQgYWRkIHRoaXMuDQoNCj4gDQo+IH4NCj4gDQo+IDdiLg0KPiBGb3IgY29uc2lz dGVuY3ksIG1heWJlIGl0IGlzIGJldHRlciB0byB1c2UgYSB0YWJsZSBhbGlhcyAiRlJPTQ0KPiBw Z19zdWJzY3JpcHRpb24gcyIgaW4gdGhlIFVOSU9OIGFsc28NCg0KQWRkZWQuDQoNCj4gDQo+IH5+ fg0KPiANCj4gOC4NCj4gKyAgICAgPGxpc3RpdGVtPg0KPiArICAgICAgPHBhcmE+DQo+ICsgICAg ICAgQ2hlY2sgdGhhdCB0aGUgbG9naWNhbCByZXBsaWNhdGlvbiBzbG90cyBleGlzdCBvbiB0aGUg c3RhbmRieSBzZXJ2ZXIuDQo+IA0KPiBTVUdHRVNUSU9ODQo+IE5leHQsIGNoZWNrIHRoYXQgdGhl IGxvZ2ljYWwgcmVwbGljYXRpb24gc2xvdHMgaWRlbnRpZmllZCBhYm92ZSBleGlzdA0KPiBvbiB0 aGUgc3RhbmRieSBzZXJ2ZXIuDQoNCkNoYW5nZWQgYXMgc3VnZ2VzdGVkLg0KDQo+IA0KPiB+fn4N Cj4gDQo+IDkuDQo+ICs8cHJvZ3JhbWxpc3Rpbmc+DQo+ICt0ZXN0X3N0YW5kYnk9IyBTRUxFQ1Qg Ym9vbF9hbmQoc3luY2VkIEFORCBOT1QgdGVtcG9yYXJ5IEFORA0KPiBjb25mbGljdF9yZWFzb24g SVMgTlVMTCkgQVMgZmFpbG92ZXJfcmVhZHkNCj4gKyAgICAgICAgICAgICAgIEZST00gcGdfcmVw bGljYXRpb25fc2xvdHMNCj4gKyAgICAgICAgICAgICAgIFdIRVJFIHNsb3RfbmFtZSBpbiAoJ3Ns b3RzJyk7DQo+ICsgZmFpbG92ZXJfcmVhZHkNCj4gKy0tLS0tLS0tLS0tLS0tLS0NCj4gKyB0DQo+ IA0KPiA5YS4NCj4gTWF5YmUgdGhpcyBvdWdodCB0byBpbmNsdWRlICJwZ19jYXRhbG9nIiBzY2hl bWFzPw0KDQpTYW1lIGFzIGFib3ZlLg0KDQo+IA0KPiB+DQo+IA0KPiA5Yi4NCj4gSUlVQyB0aGF0 ICdzbG90cycgcmVmZXJlbmNlIGlzIHN1cHBvc2VkIHRvIGJlIHRob3NlIG5hbWVzIHRoYXQgd2Vy ZQ0KPiBmb3VuZCBpbiB0aGUgcHJpb3Igc3RlcC4gSWYgc28sIHRoZW4gdGhhdCBwb2ludCBuZWVk cyB0byBiZSBtYWRlDQo+IGNsZWFyLCBhbmQgYW55d2F5IGluIHRoaXMgY2FzZSAnc2xvdHMnIGlz IG5vdCBjb21wYXRpYmxlIHdpdGggdGhlDQo+ICdzdWInIG5hbWUgcmV0dXJuZWQgYnkgeW91ciBm aXJzdCBTUUwuDQoNCkNoYW5nZWQgYXMgc3VnZ2VzdGVkLg0KDQo+IA0KPiB+fn4NCj4gDQo+IDEw Lg0KPiArICAgICA8bGlzdGl0ZW0+DQo+ICsgICAgICA8cGFyYT4NCj4gKyAgICAgICBRdWVyeSB0 aGUgbGFzdCByZXBsYXllZCBXQUwgb24gdGhlIGxvZ2ljYWwgc3Vic2NyaWJlci4NCj4gDQo+IFNV R0dFU1RJT04NCj4gRmlyc3RseSwgb24gdGhlIHN1YnNjcmliZXIgbm9kZSBjaGVjayB0aGUgbGFz dCByZXBsYXllZCBXQUwuDQo+IA0KQ2hhbmdlZCBhcyBzdWdnZXN0ZWQuDQoNCj4gfn5+DQo+IA0K PiAxMS4NCj4gKzxwcm9ncmFtbGlzdGluZz4NCj4gK3Rlc3Rfc3ViPSMgU0VMRUNUDQo+ICsgICAg ICAgICAgICAgICBNQVgocmVtb3RlX2xzbikgQVMgcmVtb3RlX2xzbl9vbl9zdWJzY3JpYmVyDQo+ ICsgICAgICAgICAgIEZST00NCj4gKyAgICAgICAgICAgKCgNCj4gKyAgICAgICAgICAgICAgIFNF TEVDVCAoQ0FTRSBXSEVOIHIuc3JzdWJzdGF0ZSA9ICdmJyBUSEVODQo+IHBnX3JlcGxpY2F0aW9u X29yaWdpbl9wcm9ncmVzcyhDT05DQVQoJ3BnXycgfHwgci5zcnN1YmlkIHx8ICdfJyB8fA0KPiBy LnNycmVsaWQpLCBmYWxzZSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFdIRU4gci5z cnN1YnN0YXRlID0gJ3MnIFRIRU4gci5zcnN1Ymxzbg0KPiBFTkQpIGFzIHJlbW90ZV9sc24NCj4g KyAgICAgICAgICAgICAgIEZST00gcGdfc3Vic2NyaXB0aW9uX3JlbCByLCBwZ19zdWJzY3JpcHRp b24gcw0KPiArICAgICAgICAgICAgICAgV0hFUkUgci5zcnN1YnN0YXRlIElOICgnZicsICdzJykg QU5EIHMub2lkID0gci5zcnN1YmlkDQo+IEFORCBzLnN1YmZhaWxvdmVyDQo+ICsgICAgICAgICAg ICkgVU5JT04gKA0KPiArICAgICAgICAgICAgICAgU0VMRUNUIHBnX3JlcGxpY2F0aW9uX29yaWdp bl9wcm9ncmVzcyhDT05DQVQoJ3BnXycgfHwNCj4gcy5vaWQpLCBmYWxzZSkgQVMgcmVtb3RlX2xz bg0KPiArICAgICAgICAgICAgICAgRlJPTSBwZ19zdWJzY3JpcHRpb24gcw0KPiArICAgICAgICAg ICAgICAgV0hFUkUgc3ViZmFpbG92ZXINCj4gKyAgICAgICAgICAgKSk7DQo+IA0KPiAxMWEuDQo+ IE1heWJlIHRoaXMgb3VnaHQgdG8gaW5jbHVkZSAicGdfY2F0YWxvZyIgc2NoZW1hcz8NCg0KU2Ft ZSBhcyBhYm92ZS4NCg0KPiANCj4gfg0KPiANCj4gMTFiLg0KPiAvV0hFUkUgc3ViZmFpbG92ZXIv V0hFUkUgcy5zdWJmYWlsb3Zlci8NCj4gDQo+IH5+fg0KPiANCj4gMTIuDQo+ICsgICAgIDxsaXN0 aXRlbT4NCj4gKyAgICAgIDxwYXJhPg0KPiArICAgICAgIE9uIHRoZSBzdGFuZGJ5IHNlcnZlciwg Y2hlY2sgdGhhdCB0aGUgbGFzdC1yZWNlaXZlZCBXQUwgbG9jYXRpb24NCj4gKyAgICAgICBpcyBh aGVhZCBvZiB0aGUgcmVwbGF5ZWQgV0FMIGxvY2F0aW9uIG9uIHRoZSBzdWJzY3JpYmVyLg0KPiAN Cj4gU1VHR0VTVElPTg0KPiBOZXh0LCBvbiB0aGUgc3RhbmRieSBzZXJ2ZXIgY2hlY2sgdGhhdCB0 aGUgbGFzdC1yZWNlaXZlZCBXQUwgbG9jYXRpb24NCj4gaXMgYWhlYWQgb2YgdGhlIHJlcGxheWVk IFdBTCBsb2NhdGlvbiBvbiB0aGUgc3Vic2NyaWJlciBpZGVudGlmaWVkDQo+IGFib3ZlLg0KPiAN Cg0KQ2hhbmdlZCBhcyBzdWdnZXN0ZWQuDQoNCg0KPiB+fn4NCj4gDQo+IDEzLg0KPiArPC9wcm9n cmFtbGlzdGluZz48L3BhcmE+DQo+ICsgICAgIDwvbGlzdGl0ZW0+DQo+ICsgICAgIDxsaXN0aXRl bT4NCj4gKyAgICAgIDxwYXJhPg0KPiArICAgICAgIE9uIHRoZSBzdGFuZGJ5IHNlcnZlciwgY2hl Y2sgdGhhdCB0aGUgbGFzdC1yZWNlaXZlZCBXQUwgbG9jYXRpb24NCj4gKyAgICAgICBpcyBhaGVh ZCBvZiB0aGUgcmVwbGF5ZWQgV0FMIGxvY2F0aW9uIG9uIHRoZSBzdWJzY3JpYmVyLg0KPiArPHBy b2dyYW1saXN0aW5nPg0KPiArdGVzdF9zdGFuZGJ5PSMgU0VMRUNUIHBnX2xhc3Rfd2FsX3JlY2Vp dmVfbHNuKCkgPj0NCj4gJ3JlbW90ZV9sc25fb25fc3Vic2NyaWJlcic6OnBnX2xzbiBBUyBmYWls b3Zlcl9yZWFkeTsNCj4gKyBmYWlsb3Zlcl9yZWFkeQ0KPiArLS0tLS0tLS0tLS0tLS0tLQ0KPiAr IHQNCj4gDQo+IElJVUMgdGhlICdyZW1vdGVfbHNuX29uX3N1YnNjcmliZXInIGlzIHN1cHBvc2Vk IHRvIHJlcHJlc2VudCB0aGUNCj4gc3Vic3RpdHV0aW9uIG9mIHRoZSB2YWx1ZSBmb3VuZCBpbiB0 aGUgc3Vic2NyaWJlciBzZXJ2ZXIuIEluIHRoaXMNCj4gZXhhbXBsZSBtYXliZSBpdCB3b3VsZCBi ZToNCj4gU0VMRUNUIHBnX2xhc3Rfd2FsX3JlY2VpdmVfbHNuKCkgPj0gJzAvMzAwMDM4OCc6OnBn X2xzbiBBUyBmYWlsb3Zlcl9yZWFkeTsNCj4gDQo+IG1heWJlIHRoYXQgcG9pbnQgY2FuIGJlIG1h ZGUgbW9yZSBjbGVhcmx5Lg0KDQpJIGhhdmUgY2hhbmdlZCBpdCB0byB1c2UgdGhlIGFjdHVhbCBM U04gZ290IGluIGxhc3Qgc3RlcC4NCg0KPiANCj4gfn5+DQo+IA0KPiAxNC4NCj4gKyAgIDxwYXJh Pg0KPiArICAgIElmIHRoZSByZXN1bHQgKGZhaWxvdmVyX3JlYWR5KSBvZiBib3RoIGFib3ZlIHN0 ZXBzIGlzIHRydWUsIGl0IG1lYW5zIGl0IGlzDQo+ICsgICAgb2theSB0byBzdWJzY3JpYmUgdG8g dGhlIHN0YW5kYnkgc2VydmVyLg0KPiArICAgPC9wYXJhPg0KPiANCj4gMTRhLg0KPiBmYWlsb3Zl cl9yZWFkeSBzaG91bGQgYmUgcmVuZGVyZWQgYXMgbGl0ZXJhbC4NCg0KQWRkZWQuDQoNCj4gDQo+ IH4NCj4gDQo+IDE0Yi4NCj4gRG9lcyB0aGlzIHNheSB3aGF0IHlvdSBpbnRlbmRlZCwgb3IgZGlk IHlvdSBtZWFuIHNvbWV0aGluZyBtb3JlIGxpa2UNCj4gInRoZSBzdGFuZGJ5IGNhbiBiZSBwcm9t b3RlZCBhbmQgZXhpc3Rpbmcgc3Vic2NyaXB0aW9ucyB3aWxsIGJlIGFibGUNCj4gdG8gY29udGlu dWUgd2l0aG91dCBkYXRhIGxvc3MiDQoNCkkgdXNlZCB0aGUgbGF0ZXIgcGFydCBvZiB5b3VyIHN1 Z2dlc3Rpb24gYXMgSSB0aGluayBwcm9tb3Rpb24NCmRlcGVuZHMgbm90IG9ubHkgb24gbG9naWNh bCByZXBsaWNhdGlvbiBwYXJ0Lg0KDQpCZXN0IFJlZ2FyZHMsDQpIb3UgemoNCg==