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 1ph67X-00043Z-8e for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Mar 2023 10:00:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ph67V-0007U7-KZ for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Mar 2023 10:00:01 +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 1ph67V-0007Tw-3o for pgsql-hackers@lists.postgresql.org; Tue, 28 Mar 2023 10:00:01 +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 1ph67R-0003il-S8 for pgsql-hackers@lists.postgresql.org; Tue, 28 Mar 2023 10:00:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1679997597; x=1711533597; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=BZTpamxnECa1roK90fFY/FeGSR4mMzmWRGAEAon4pIQ=; b=XSl43EL7Hp05haVq9BLyFVdiz8swzRU+xaUrJ+H6NBGV5hzO1chG1VIk saKyYK9k9hVhBTPFwlT9Yb7fx90cj6SqcE0jmXFQGQdJeV4Mqb5gJF5vJ UU/D3fJPu1E8PAtbJYduUJJC2ksRV/CSxTidLrmLcgFetIsXvE0ZYZf43 enmHVqdRBrMXm9kwiVnGyruBKELlrV2U+7fPkDNN5sPR0evzFNfyfsy6X fxNiuEkDRPwr97b0EoEC/gVERnUFxqj9g2UAoP9D5e19qIZfZz1sf0O7S DBFKYXgTYkrcaNuXYV/JLI5OLYhRuZvFTdj+mmnmKE56hLGwJ5MTpNThl w==; X-IronPort-AV: E=McAfee;i="6600,9927,10662"; a="88479435" X-IronPort-AV: E=Sophos;i="5.98,297,1673881200"; d="scan'208,223";a="88479435" Received: from mail-tycjpn01lp2172.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.172]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Mar 2023 18:59:53 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mwKgwnVmrOw2otji2AdKp0zhbRfV+qFSZK2NqmuC5X+3aHJiPbCPXHSTaaxXzBu2yEZvmSGoBRlNsialuIINK65WQf/5zj4Z8KbQiQq2cu/ZUqSq1lyz295tTK2VRn71zKEqsHcNYNT9834cOrK1285vsrB7hH61HJo0kYnM5NrT37HBrCliJ4pQ+/KfREss2Pe6Odzd4CXpQSFcFp2l8msqu2acCoe3/MLCn+236IXz8HENR14hPDE9TOe2vLzbQavm5DRb152xl6qiJMygaNVm9uwItc6ppPQf9nmy7zFStpTiQbJM56ZoiPxbHO382q6zBZJDagdrDDz+BtAyQw== 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=jZ7sM9H00ePWyU2jIsSRDnjxqReoV8jpDmqyjYgb7+Y=; b=Bwx21dva2n2OUBqEwmbyVvxwqeiQFaqwTkCBC7lUh0v43cOkqBznZgAZsbplJNUY4NiXjfy4oRVBWPigfeivsx1BttHvhCgfTI8BN3QqXkoeM5VKNZ/718rW6JnPXvvTTVvhi/HtXNf/MXrmA8VqYwYV3HpZvdTdqujob2Gx3NKas/VywM9Imz7vK3xIzjpRr5PA43YtbVBQM/JnCttov3IyiqDgMUg2vVyI+kb0ry/2r6x83pWz3UKepsIisl10WTC5VjGAXHpVhRDxA625aioXEJHhlo2h+bRtVYgzcYNj4Ye6deJtTLc9IdTamZRqHOy/qLyUcEdEOSgtLOTC9Q== 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 TY3PR01MB11762.jpnprd01.prod.outlook.com (2603:1096:400:404::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar 2023 09:59:49 +0000 Received: from OS3PR01MB6275.jpnprd01.prod.outlook.com ([fe80::e019:a5fb:8d72:6272]) by OS3PR01MB6275.jpnprd01.prod.outlook.com ([fe80::e019:a5fb:8d72:6272%9]) with mapi id 15.20.6222.033; Tue, 28 Mar 2023 09:59:49 +0000 From: "wangw.fnst@fujitsu.com" To: Jacob Champion , Amit Kapila CC: Andres Freund , vignesh C , Peter Smith , "Takamichi Osumi (Fujitsu)" , "shiy.fnst@fujitsu.com" , "houzj.fnst@fujitsu.com" , Amit Langote , Peter Eisentraut , "pgsql-hackers@lists.postgresql.org" , Dilip Kumar , Greg Nancarrow Subject: RE: Data is copied twice when specifying both child and parent table in publication Thread-Topic: Data is copied twice when specifying both child and parent table in publication Thread-Index: AdfBtleBGdaIRg2YQ+6N9Opw3xhbWgAn9gewAF1sU4AABmbUgAAGWgSAACNs6KAAB7Z+AAHFZ/LAAAUQdQABMYfmAAAlujCAAAWTYQAAArQDAAAoJOKAATR2r0ADjLROkABq/UsAABlgwoAABrNsgAAAho8AAALgHgAAAV/3AAAGvltQAC0QJoAA13ZDAAAkRyaAAACnMYAAAEkEgAA8L4GAEc5OMOAFgVGQ0AJkJdygAAPknkAAZp33AACPZggAAL8n8wACKO08EABnK2ngADDXG7AAMr83QAAIZyyAAAfA21AA0DxJgAAo+W0QAAB5hzAIpZyeQAKEeJ6AAWtCc/ABXk0ZgAGR4AeQAMVbGwAEIQz7gAPsFLCAADEQ9IABJdaaAAAEoiWQADrBcwAAMeRNIAFVAX6AAmC4RWAAz6E9gAQZeRTAAHweXgAAhi1jABBmUMcAAA9pExAHJH8aAAAltlcAACQIF4AACsIvAACAGPwAABopVIABUK2CgAAW53dw Date: Tue, 28 Mar 2023 09:59:49 +0000 Message-ID: References: <20230207202834.c2ptvco7dv57t3hi@awork3.anarazel.de> <185c4ac8-fbc8-11a5-d721-55f639969eb8@timescale.com> In-Reply-To: <185c4ac8-fbc8-11a5-d721-55f639969eb8@timescale.com> Accept-Language: ja-JP, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfQWN0aW9uSWQ9ZmY4MjdhMTYtYjA3Zi00MjY3LTkwYjctZTM3NjUwMWY2?= =?utf-8?B?NTk3O01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMy0wMy0yOFQwOTo1Nzo0OFo7TVNJUF9MYWJl?= =?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: OS3PR01MB6275:EE_|TY3PR01MB11762:EE_ x-ms-office365-filtering-correlation-id: 8c57c665-b469-4f33-74c6-08db2f732b28 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RufbcU877or0nYN+9l7X8wIzpT87glmdkSWqeHI7ddXtsvy4bdDSHhMMGXgRXwabZYNyuIjuwvfvoNprHbg7ZhEvZ9aCXXLIHfF9MtAeXS7pHI5CpK+QrfN+G8bBDv5yfSqUE0zD9C1grMAAhP5ooOXnwIDnRXbjESI8AoqHLsv3BqqjJUQETaILyr57OESmU1k3GBzRF/8roDaPFutCEB9bsQwTUEcW55FIxU/O9KluNuMOhXLcr//DNDxuzbdVZjiRxbZKVRkJN6gn/DHprYib7nyCsuLbZHcy9ayaQKyUL6p7c6i9Fl1Owkkl+2fccMnhijnV/4yJy2aVuSYYb+KMIm7xB3RJSC9tDL5rAYEfuJYvWV3nwTKuU+Caa4jTMwyNcvWHo+dg40dvdNu2sYC7Meb/QDzqu6nYIAP3r7u7qp/sPwE5fkmOZhZgoWmGnvlAyLUZd7ciDe5a0sbWtV4SeR/Ge4VGBjEK3+AXPWepsGe7IMVPS/z+GFboxWogsDBJTrhysPSyDrTnK1LNSSpIggWA5oof2DaoeBSlhxcQwSpkuLEgsUE4XoX8sacvj9QvhyivpZGqHBUfYoZy3bkIHdDdZvIXVuH98l3cXV1NfacZmK3aVUKC9l13c/lXdhs8Cf4OmLM0u6OgR+WHgg== 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:(13230028)(4636009)(39860400002)(396003)(366004)(346002)(136003)(376002)(451199021)(1590799018)(1580799015)(38070700005)(122000001)(38100700002)(55016003)(86362001)(66476007)(8676002)(85182001)(64756008)(76116006)(66946007)(33656002)(66556008)(66446008)(4326008)(5660300002)(186003)(83380400001)(8936002)(7416002)(41300700001)(52536014)(478600001)(7696005)(71200400001)(53546011)(6506007)(9686003)(54906003)(110136005)(26005)(316002)(99936003)(82960400001)(2906002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SUFMUktmWm1mY1VqZUVXTFIyMVRGcUl1RUlaVE1uYTVWWHBVbXRNeGlEVGhv?= =?utf-8?B?RzlwaXM2V0d4S2hyQmNqZzZ3ZDdqMWVjZE02WnV3UHgyMTJTNmlta3RmSDVI?= =?utf-8?B?OTRrcHNkTEEyQlAyUTVlTkkwblQ3OWd0dElXclZFNnNRZGU5bSttcFNkZUt3?= =?utf-8?B?bjZCWUJUb2tFTXFSYUxqZWlEOWRKblQ5dmp2dDQxdlNhRTR4WVByU24rc1Nn?= =?utf-8?B?QkZWd0V2eFJUcnVoZElWRFlCT2dKL0x2bWlkbVZvcmJBek1VdDlTWlFDMm1l?= =?utf-8?B?Z3Z0Ti9DZlVjRUtxMGk3Vm5YUnRiSUxmWE0rTDd0WEYwbDVaTE1YK3FBdk1K?= =?utf-8?B?SDBmN3FSMmUxb25YZWV1TFlsSVlSaEF3TkY3dStNalpRSnU5VTlPZWREa2hn?= =?utf-8?B?azIzQ1NSRU1WZ21SQXBPUWc4ZWMvL0tSZUNQV3I4NGtFTDNrMWRrd3N0TGIw?= =?utf-8?B?dHJwUExuRDVLK2RFblJvb3lYZkc0VElBR1grMS94YjIxaG9MelBaeUU5TVZ4?= =?utf-8?B?aU9EeGlFVm9tdEk5aW5zUWxycmVXb3N5dS9EQmZKc0FIZ3VzZk5CQ3ZQOVR3?= =?utf-8?B?cUQ4dTA1NC9wM04vL1FXWkJXZ1k0Ym54bHRXbytTRFJTNWQ5bC80VGhyKzI4?= =?utf-8?B?ZUpWTGR3cEpzMTdPVlh1M1VMZ20xY29BcDBFcFBjWHM2cDNKSGoyU3pEc2c0?= =?utf-8?B?Tm5DeTBuc1JWOU94MklBRExxOGhjbmZFQkZUZzZaN1h5UlBjMThzMzJVN1pT?= =?utf-8?B?YUtiTlprNWxwV2QwMkdZQXNZZWRzTnNWeTVTT2xMWTd5NU4valU4YTl1VTZ3?= =?utf-8?B?RWw5aExWMVkwK2luZ2g1NVc3UHY0d2ZUamNKYnR6RUlSanlQTHg3L1VKTWpa?= =?utf-8?B?NEVBdWlGZVY5N0FiZmE2cWptT3hQVldWZnYwSDY0eTNyOEp5M1JCaWgzaWhH?= =?utf-8?B?ajNiUjdZY2wzY2NTblJFbU9qYnIzQ2dvSC9MTDNGRGtuckJrcUpJWkVPWitv?= =?utf-8?B?b1QyOURHUkVHSk5odUgwT0pIN3NYU3VGVmVBY0NoK0tPSnBlNTdtVUdaRm9N?= =?utf-8?B?M2x2TEdZcW04d05LOG9HakdBNVU1eURCOTFadjJVaHZQVnI2elBKUmE1Wm91?= =?utf-8?B?S3lLa3Q0WUVaNW5WeVZRRko5c3V6MXZJVWtpeVFnSkFqSWk4Tmxma2tJcGNy?= =?utf-8?B?QkUxSTNSalJ1Nkp6d2UwM1lIajdMZVp4RDVKaFlGbHkrYWNkNDZLT1JoczJ4?= =?utf-8?B?UnNpcDNJY3VUemtKY203MWtEVlRQMG9mQmxXOTFFaGJ3L0ExRmI1UzExVTVK?= =?utf-8?B?dEtVbHQvaUpnRVIrVktDeXQ5ZlRHemlYc2xzSVhxTkN6QWdNeXR4WmwrOXNj?= =?utf-8?B?ZE9TSEZtdnBlaTJRVXN5a1VWcE1ZazhpZW51bXZWd3hobTQ2NTFYRzdzSWFU?= =?utf-8?B?QmRnb2JmL2I5aURhMFB5c0lZaU5lSldEZE41eG1YSHhkd2V6ays5alpBVHN1?= =?utf-8?B?SkI1R3U5c0pzU2RydHl0RjdkKzN2YytjV2FGcXFEbVNxVVpUTndoVlZ2a25P?= =?utf-8?B?R3JxSkg2emZnOVM3TWFNTUVYdzlCM2tUWUV3VVZ2RnNJSkRlS0ZUazNYbnBW?= =?utf-8?B?RW52YWsvR1dMaTc5RjdsYzVOdFdyOW42MnZNSGZZYnNwbEtFZHhPaDhTOS9R?= =?utf-8?B?MVdtZ2ZxeDRuQzNrU04yZUllT1NBbDFpSDVEWE12bERXVHd5RjFibDVrVWpX?= =?utf-8?B?b0M5YlpsTkZBcFlBc2tOeTJGTTdYL1FhUDZKR1BOL1VJaHZHNEVQTG9raU1w?= =?utf-8?B?K3FacEtzZjhsV0JqZ2cwdTVpNzlRbW52Vmc2TXUvS1A4aldqZXlyTUt2d1Rt?= =?utf-8?B?dW80YW1hL042Qlg1QTZ6L3dYWVl2c1JDK2tEMTRGVmowRERLaWZxZkxvanZw?= =?utf-8?B?cUN1OG1aOXF6aTF3cmZXVCtSa2s1M3B4elhuTTM0ME1UdjcrN29kVXo3VitC?= =?utf-8?B?ZDF2cythVlFjSnpjaEhCNVJLb1RrTDJvODNObFA0NHhEQXIybGxSVWloMjRR?= =?utf-8?B?TU43ZlZaTkhOOWhvbFo4TEYzeTZqUTVxc0hBMHNXajM3NlNaeUNhZmJLQ1Yy?= =?utf-8?Q?82r7g5ei0+ILud9qOu8aeRpsk?= Content-Type: multipart/mixed; boundary="_002_OS3PR01MB627567D49DE885BCA2B604729E889OS3PR01MB6275jpnp_" MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: nMtiam0y3e4pOmBF7V1Mdc+CeNrvIsNXgs2bOIzqfOUXSSjaDX6tF9v1TGiIDRRcGMIqrltE3TzkEWuHKRC5rfEVIfrg5SKf44nC9bs3kd8h67qRRkYiO0u7oOjaN5j9Km06ktlY8saq36b9R/m4DYqinCUjbEPYZRCM0p433senWV+dBAzPgt7XLC2Jql51VeVU1T1SyWFHSrTmzflislOwxa5JpsoCGFffKl2eWaWe3xRsN+y3M1xAvNrOKddUOJ6247drJzxwBBlMWp8vWKRlbBiHm43pk+ljwkX0cNxS+PN0FdN6pfSRfmZUczHZX9jB/0moeLaRsgNtHDRtx7+l5ciez3/yweD9KsN/obuThexyLIaOzPJj3iB6jkw84oxku9kE04bn6YD9eOCaJ4FMoOVhxZ1gkLcG7XhggeexsdZi5e9HJsg4XaS9E7l+oRd+1YUYzuTUMTBhhdnK9XGhSgErGOYjHvC+10biLtFPN82OTqxZjqjhVVx6tmgzaNKsBj5lI4QUFL9M94nHtZEexG8kSu8/Om5U07rxHgd8+4bKWU4P+8jkQwRZH1jsue4uSqOVHWfMuExPvK3fxF1C4f/oo1nDrc5M/47LJh1DHKe6xdgGZE39JVoSX8nZvA889q0eeNeDLrBdg1q402yQHivQBROgYe53NRUNf9CUVCuIiZ/YBkigZtWDfifZlDKZEPsPvck5QqhNBE0TFztSAgGZBUhd45Ldm+NQNmz9sHL7mXArwmlwK1vpy6Eq/slLg986WuilvsceyMvFKJEu9qnwoZ5+IhPC62BsX6x5VlBl+UB1kbxeFsosG+8RLF3+T51W1eaIF8AHTAJXzVZC1rFRVEu84jZxleGEUmv73BE9zCWclma62uqgLSV53CPcGkQAK1deyWnlk529hhFWxyjZmSmjVzoi1PAJBMQ= 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: 8c57c665-b469-4f33-74c6-08db2f732b28 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2023 09:59:49.4600 (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: mYznkEDfgV06/BNgu24XSXqY3jGp7i4PGHElJaDPeD9Kk0GxcnHHdH1fYhgucYTAW6/4ydglWwBHfEdH3TcKSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB11762 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_OS3PR01MB627567D49DE885BCA2B604729E889OS3PR01MB6275jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gVHVlcywgTWFyIDI4LCAyMDIzIGF0IDc6MDLigK9BTSBKYWNvYiBDaGFtcGlvbiA8amNoYW1w aW9uQHRpbWVzY2FsZS5jb20+IHdyb3RlOg0KPiBPbiBNb24sIE1hciAyMCwgMjAyMyBhdCAxMToy MuKAr1BNIEFtaXQgS2FwaWxhIDxhbWl0LmthcGlsYTE2QGdtYWlsLmNvbT4NCj4gd3JvdGU6DQo+ ID4gSWYgdGhlIHRlc3RzIHlvdSBoYXZlIGluIG1pbmQgYXJlIG9ubHkgcmVsYXRlZCB0byB0aGlz IHBhdGNoIHNldCB0aGVuDQo+ID4gZmVlbCBmcmVlIHRvIHByb3Bvc2UgdGhlbSBoZXJlIGlmIHlv dSBmZWVsIHRoZSBjdXJyZW50IG9uZXMgYXJlIG5vdA0KPiA+IHN1ZmZpY2llbnQuDQo+IA0KPiBJ IHRoaW5rIHRoZSBuZXcgdGVzdHMgYWRkZWQgYnkgV2FuZyBjb3ZlciBteSBjb25jZXJucyAodGhh bmtzISkuIEkgc2hhcmUNCj4gUGV0ZXIncyBjb21tZW50IHRoYXQgd2UgZG9uJ3Qgc2VlbSB0byBo YXZlIGEgcmVncmVzc2lvbiB0ZXN0IGNvdmVyaW5nDQo+IG9ubHkgdGhlIGJ1ZyBkZXNjcmlwdGlv biBpdHNlbGYgLS0ganVzdCBvbmVzIHRoYXQgY29tYmluZSB0aGF0IGNhc2Ugd2l0aA0KPiByb3cg YW5kIGNvbHVtbiByZXN0cmljdGlvbnMgLS0gYnV0IGlmIHlvdSdyZSBhbGwgaGFwcHkgd2l0aCB0 aGUgZXhpc3RpbmcNCj4gYXBwcm9hY2ggdGhlbiBJIGhhdmUgbm90aGluZyBtdWNoIHRvIGFkZCB0 aGVyZS4NCg0KVGhlIHNjZW5hcmlvIG9mIHRoaXMgYnVnIGlzIHRvIHN1YnNjcmliZSB0byB0d28g cHVibGljYXRpb25zIGF0IHRoZSBzYW1lIHRpbWUsDQphbmQgdGhlc2UgdHdvIHB1YmxpY2F0aW9u cyBwdWJsaXNoIHBhcmVudCB0YWJsZSBhbmQgY2hpbGQgdGFibGUgcmVzcGVjdGl2ZWx5Lg0KQW5k IG9wdGlvbiB2aWFfcm9vdCBpcyBzcGVjaWZpZWQgaW4gYm90aCBwdWJsaWNhdGlvbnMgb3Igb25s eSBpbiB0aGUgcHVibGljYXRpb24NCm9mIHRoZSBwYXJlbnQgdGFibGUuIEF0IHRoaXMgdGltZSwg dGhlIGRhdGEgb24gdGhlIHB1Ymxpc2hlci1zaWRlIHdpbGwgYmUgY29waWVkDQp0d2ljZSAodGhl IGRhdGEgd2lsbCBiZSBjb3BpZWQgdG8gdGhlIHR3byB0YWJsZXMgb24gdGhlIHN1YnNjcmliZS1z aWRlDQpyZXNwZWN0aXZlbHkpLg0KU28sIEkgdGhpbmsgd2UgaGF2ZSBjb3ZlcmVkIHRoaXMgYnVn IGl0c2VsZiBpbiAwMTNfcGFydGl0aW9uLnBsLiBXZSBpbnNlcnRlZCB0aGUNCmluaXRpYWwgZGF0 YSBpbnRvIHRoZSBwYXJlbnQgdGFibGUgdGFiNCBvbiB0aGUgcHVibGlzaGVyLXNpZGUsIGFuZCBj aGVja2VkDQp3aGV0aGVyIHRoZSBzeW5jIGlzIGNvbXBsZXRlZCBhcyB3ZSBleHBlY3RlZCAodGhl cmUgaXMgZGF0YSBpbiB0YWJsZSB0YWI0LCBidXQNCnRoZXJlIGlzIG5vIGRhdGEgaW4gdGFibGUg dGFiNF8xKS4NCg0KPiBJIHdhcyBzdGFyaW5nIGF0IHRoaXMgc3VicXVlcnkgaW4gZmV0Y2hfdGFi bGVfbGlzdCgpOg0KPiANCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAg ICAgKCBTRUxFQ1QgYXJyYXlfYWdnKGEuYXR0bmFtZSBPUkRFUiBCWSBhLmF0dG51bSlcbiINCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICBGUk9NIHBnX2F0dHJp YnV0ZSBhXG4iDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAg V0hFUkUgYS5hdHRyZWxpZCA9IGdwdC5yZWxpZCBBTkRcbiINCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICBhLmF0dG51bSA9IEFOWShncHQuYXR0cnMp XG4iDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICkgQVMgYXR0 bmFtZXNcbiINCj4gDQo+IE9uIG15IG1hY2hpbmUgdGhpcyB0YWtlcyB1cCByb3VnaGx5IDkwJSBv ZiB0aGUgcnVudGltZSBvZiB0aGUgcXVlcnksDQo+IHdoaWNoIG1ha2VzIGZvciBhIG5vdGljZWFi bGUgZGVsYXkgd2l0aCBhIGJpZ2dlciB0ZXN0IGNhc2UgKGEgY291cGxlIG9mDQo+IEZPUiBBTEwg VEFCTEVTIHN1YnNjcmlwdGlvbnMgb24gdGhlIHJlZ3Jlc3Npb24gZGF0YWJhc2UpLiBBbmQgaXQg c2VlbXMNCj4gbGlrZSB3ZSBpbW1lZGlhdGVseSB0aHJvdyBhbGwgdGhhdCB3b3JrIGF3YXk6IGlm IEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksDQo+IHdlIG9ubHkgdXNlIHRoZSB0aGlyZCBjb2x1bW4g Zm9yIGl0cyBpbnRlcmFjdGlvbiB3aXRoIERJU1RJTkNULiBXb3VsZCBpdA0KPiBiZSBlbm91Z2gg dG8ganVzdCByZXBsYWNlIHRoYXQgd2hvbGUgdGhpbmcgd2l0aCBncHQuYXR0cnM/DQoNCk1ha2Ug c2Vuc2UuDQpDaGFuZ2VkIGFzIHN1Z2dlc3RlZC4NCg0KQXR0YWNoIHRoZSBuZXcgcGF0Y2guDQoN ClJlZ2FyZHMsDQpXYW5nIFdlaQ0K --_002_OS3PR01MB627567D49DE885BCA2B604729E889OS3PR01MB6275jpnp_ Content-Type: application/octet-stream; name="v25-0001-Avoid-syncing-data-twice-for-the-publish_via_par.patch" Content-Description: v25-0001-Avoid-syncing-data-twice-for-the-publish_via_par.patch Content-Disposition: attachment; filename="v25-0001-Avoid-syncing-data-twice-for-the-publish_via_par.patch"; size=28407; creation-date="Tue, 28 Mar 2023 09:58:07 GMT"; modification-date="Tue, 28 Mar 2023 09:59:48 GMT" Content-Transfer-Encoding: base64 RnJvbSAxODFjOGJkZTA0MWQ3OWJjNDE1Y2ExMjc2ZGM2ZGM3MmE2NjZmNTUxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB3YW5ndyA8d2FuZ3cuZm5zdEBmdWppdHN1LmNvbT4KRGF0ZTog VHVlLCAxNCBKdW4gMjAyMiAxMzo0NDowOSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjI1XSBBdm9p ZCBzeW5jaW5nIGRhdGEgdHdpY2UgZm9yIHRoZQogJ3B1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290 JyBvcHRpb24uCgpXaGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBwdWJsaWNhdGlvbnMgZm9yIGEgc3Vi c2NyaXB0aW9uIGFuZCBvbmUgb2YgdGhvc2UKcHVibGlzaGVzIHZpYSB0aGUgcGFyZW50IHRhYmxl IGJ5IHVzaW5nIHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290IGFuZCB0aGUKb3RoZXIgb25lIGRp cmVjdGx5IHB1Ymxpc2hlcyB0aGUgY2hpbGQgdGFibGUsIHdlIGVuZCB1cCBjb3B5aW5nIHRoZSBz YW1lCmRhdGEgdHdpY2UgZHVyaW5nIGluaXRpYWwgc3luY2hyb25pemF0aW9uLiBUaGUgcmVhc29u IGZvciB0aGlzIHdhcyB0aGF0IHdlCmdldCBib3RoIHRoZSBwYXJlbnQgYW5kIGNoaWxkIHRhYmxl cyBmcm9tIHRoZSBwdWJsaXNoZXIgYW5kIHRyeSB0byBjb3B5CnRoZSBkYXRhIGZvciBib3RoIG9m IHRoZW0uCgpUaGlzIHBhdGNoIGV4dGVuZHMgdGhlIGZ1bmN0aW9uIHBnX2dldF9wdWJsaWNhdGlv bl90YWJsZXMoKSB0byB0YWtlIGEKcHVibGljYXRpb24gbGlzdCBhcyBpdHMgaW5wdXQgcGFyYW1l dGVyLiBUaGlzIGFsbG93cyB1cyB0byBleGNsdWRlIGEKcGFydGl0aW9uIHRhYmxlIHdob3NlIGFu Y2VzdG9yIGlzIHB1Ymxpc2hlZCBieSB0aGUgc2FtZSBwdWJsaWNhdGlvbiBsaXN0LgoKVGhpcyBw cm9ibGVtIGRvZXMgZXhpc3QgaW4gYmFjay1icmFuY2hlcyBidXQgd2UgZGVjaWRlIHRvIGZpeCBp dCBpbiBhCnNlcGFyYXRlIGNvbW1pdCBpZiByZXF1aXJlZC4gVGhlIGZpeCBmb3IgYmFjay1icmFu Y2hlcyByZXF1aXJlcyBxdWl0ZQpjb21wbGljYXRlZCBjaGFuZ2VzIGluIHRoZSBxdWVyeSB0byBm ZXRjaCB0aGUgdGFibGUgaW5mb3JtYXRpb24gYXMgd2UKY2FuJ3QgdXBkYXRlIHRoZSBmdW5jdGlv biBwZ19nZXRfcHVibGljYXRpb25fdGFibGVzKCkgaW4gYmFjay1icmFuY2hlcy4gV2UKYXJlIG5v dCBzdXJlIHdoZXRoZXIgd2Ugd2FudCB0byBkZXZpYXRlIGFuZCBjb21wbGljYXRlIHRoZSBjb2Rl IGluCmJhY2stYnJhbmNoZXMgZm9yIHRoaXMgcHJvYmxlbSBhcyB0aGVyZSBhcmUgbm8gZmllbGQg cmVwb3J0cyB5ZXQuCgpBdXRob3I6IFdhbmcgd2VpClJldmlld2VkLWJ5OiBQZXRlciBTbWl0aCwg S3Vyb2RhIEhheWF0bywgVmlnbmVzaCBDLCBPc3VtaSBUYWthbWljaGksIEFtaXQgS2FwaWxhCkRp c2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vT1MwUFIwMU1CNTcxNjdGNDVENDgxRjc4Q0RD NTk4NkY3OTRCOTlAT1MwUFIwMU1CNTcxNi5qcG5wcmQwMS5wcm9kLm91dGxvb2suY29tCi0tLQog ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbCAgIHwgIDEwICsKIHNyYy9i YWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYyAgICAgICB8IDIxMSArKysrKysrKysrKysr Ky0tLS0tLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYyAgICB8ICA1 NSArKysrKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICB8ICAx MiArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICAgICAgIHwgICAyICst CiBzcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMTNfcGFydGl0aW9uLnBsICAgfCAgMjUgKystCiBz cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjhfcm93X2ZpbHRlci5wbCAgfCAgNDIgKysrLQogc3Jj L3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMxX2NvbHVtbl9saXN0LnBsIHwgICA5ICstCiBzcmMvdG9v bHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAgICAgICAgfCAgIDEgKwogOSBmaWxlcyBjaGFu Z2VkLCAyNjkgaW5zZXJ0aW9ucygrKSwgOTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYv Y3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwKaW5kZXggYTI5NDZmZWFhMy4uYjI1NDBjNjNmZiAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbAorKysgYi9k b2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sCkBAIC0yMDEsNiArMjAxLDE2 IEBAIENSRUFURSBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFt ZTwvcmVwbGFjZWFibGU+CiAgICAgICAgICAgY29uc2lzdGluZyBvZiBhIGRpZmZlcmVudCBzZXQg b2YgcGFydGl0aW9ucy4KICAgICAgICAgIDwvcGFyYT4KIAorICAgICAgICAgPHBhcmE+CisgICAg ICAgICAgVGhlcmUgY2FuIGJlIGEgY2FzZSB3aGVyZSBhIHN1YnNjcmlwdGlvbiBjb21iaW5lcyBt dWx0aXBsZQorICAgICAgICAgIHB1YmxpY2F0aW9ucy4gSWYgYSBwYXJ0aXRpb25lZCB0YWJsZSBp cyBwdWJsaXNoZWQgYnkgYW55CisgICAgICAgICAgc3Vic2NyaWJlZCBwdWJsaWNhdGlvbnMgd2hp Y2ggc2V0CisgICAgICAgICAgPGxpdGVyYWw+cHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3Q8L2xp dGVyYWw+ID0gdHJ1ZSwgY2hhbmdlcyBvbiB0aGlzCisgICAgICAgICAgcGFydGl0aW9uZWQgdGFi bGUgKG9yIG9uIGl0cyBwYXJ0aXRpb25zKSB3aWxsIGJlIHB1Ymxpc2hlZCB1c2luZworICAgICAg ICAgIHRoZSBpZGVudGl0eSBhbmQgc2NoZW1hIG9mIHRoaXMgcGFydGl0aW9uZWQgdGFibGUgcmF0 aGVyIHRoYW4KKyAgICAgICAgICB0aGF0IG9mIHRoZSBpbmRpdmlkdWFsIHBhcnRpdGlvbnMuCisg ICAgICAgICA8L3BhcmE+CisKICAgICAgICAgIDxwYXJhPgogICAgICAgICAgIFRoaXMgcGFyYW1l dGVyIGFsc28gYWZmZWN0cyBob3cgcm93IGZpbHRlcnMgYW5kIGNvbHVtbiBsaXN0cyBhcmUKICAg ICAgICAgICBjaG9zZW4gZm9yIHBhcnRpdGlvbnM7IHNlZSBiZWxvdyBmb3IgZGV0YWlscy4KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYwppbmRleCBhOThmY2FkNDIxLi40NzYzN2YyOGFi IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKKysrIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCkBAIC00NSw2ICs0NSwxNCBAQAog I2luY2x1ZGUgInV0aWxzL3JlbC5oIgogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCiAKKy8q IFJlY29yZHMgYXNzb2NpYXRpb24gYmV0d2VlbiBwdWJsaWNhdGlvbiBhbmQgcHVibGlzaGVkIHRh YmxlICovCit0eXBlZGVmIHN0cnVjdAoreworCU9pZAkJCXJlbGlkOwkJCS8qIE9JRCBvZiBwdWJs aXNoZWQgdGFibGUgKi8KKwlPaWQJCQlwdWJpZDsJCQkvKiBPSUQgb2YgcHVibGljYXRpb24gdGhh dCBwdWJsaXNoZXMgdGhpcworCQkJCQkJCQkgKiB0YWJsZS4gKi8KK30gcHVibGlzaGVkX3JlbDsK Kwogc3RhdGljIHZvaWQgcHVibGljYXRpb25fdHJhbnNsYXRlX2NvbHVtbnMoUmVsYXRpb24gdGFy Z2V0cmVsLCBMaXN0ICpjb2x1bW5zLAogCQkJCQkJCQkJCSAgaW50ICpuYXR0cywgQXR0ck51bWJl ciAqKmF0dHJzKTsKIApAQCAtMTcyLDQyICsxODAsNTcgQEAgcGdfcmVsYXRpb25faXNfcHVibGlz aGFibGUoUEdfRlVOQ1RJT05fQVJHUykKIH0KIAogLyoKLSAqIEZpbHRlciBvdXQgdGhlIHBhcnRp dGlvbnMgd2hvc2UgcGFyZW50IHRhYmxlcyB3ZXJlIGFsc28gc3BlY2lmaWVkIGluCi0gKiB0aGUg cHVibGljYXRpb24uCisgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGFuY2VzdG9yIGlzIGluIHRoZSBs aXN0IG9mIHB1Ymxpc2hlZCByZWxhdGlvbnMuCisgKiBPdGhlcndpc2UsIHJldHVybnMgZmFsc2Uu CiAgKi8KLXN0YXRpYyBMaXN0ICoKLWZpbHRlcl9wYXJ0aXRpb25zKExpc3QgKnJlbGlkcykKK3N0 YXRpYyBib29sCitpc19hbmNlc3Rvcl9tZW1iZXJfdGFibGVpbmZvcyhPaWQgYW5jZXN0b3IsIExp c3QgKnRhYmxlX2luZm9zKQoreworCUxpc3RDZWxsICAgKmxjOworCisJZm9yZWFjaChsYywgdGFi bGVfaW5mb3MpCisJeworCQlPaWQJCQlyZWxpZCA9ICgocHVibGlzaGVkX3JlbCAqKSBsZmlyc3Qo bGMpKS0+cmVsaWQ7CisKKwkJaWYgKHJlbGlkID09IGFuY2VzdG9yKQorCQkJcmV0dXJuIHRydWU7 CisJfQorCisJcmV0dXJuIGZhbHNlOworfQorCisvKgorICogRmlsdGVyIG91dCB0aGUgcGFydGl0 aW9ucyB3aG9zZSBwYXJlbnQgdGFibGVzIGFyZSBhbHNvIHByZXNlbnQgaW4gdGhlIGxpc3QuCisg Ki8KK3N0YXRpYyB2b2lkCitmaWx0ZXJfcGFydGl0aW9ucyhMaXN0ICp0YWJsZV9pbmZvcykKIHsK LQlMaXN0CSAgICpyZXN1bHQgPSBOSUw7CiAJTGlzdENlbGwgICAqbGM7Ci0JTGlzdENlbGwgICAq bGMyOwogCi0JZm9yZWFjaChsYywgcmVsaWRzKQorCWZvcmVhY2gobGMsIHRhYmxlX2luZm9zKQog CXsKIAkJYm9vbAkJc2tpcCA9IGZhbHNlOwogCQlMaXN0CSAgICphbmNlc3RvcnMgPSBOSUw7Ci0J CU9pZAkJCXJlbGlkID0gbGZpcnN0X29pZChsYyk7CisJCUxpc3RDZWxsICAgKmxjMjsKKwkJcHVi bGlzaGVkX3JlbCAqdGFibGVfaW5mbyA9IChwdWJsaXNoZWRfcmVsICopIGxmaXJzdChsYyk7CiAK LQkJaWYgKGdldF9yZWxfcmVsaXNwYXJ0aXRpb24ocmVsaWQpKQotCQkJYW5jZXN0b3JzID0gZ2V0 X3BhcnRpdGlvbl9hbmNlc3RvcnMocmVsaWQpOworCQlpZiAoZ2V0X3JlbF9yZWxpc3BhcnRpdGlv bih0YWJsZV9pbmZvLT5yZWxpZCkpCisJCQlhbmNlc3RvcnMgPSBnZXRfcGFydGl0aW9uX2FuY2Vz dG9ycyh0YWJsZV9pbmZvLT5yZWxpZCk7CiAKIAkJZm9yZWFjaChsYzIsIGFuY2VzdG9ycykKIAkJ ewogCQkJT2lkCQkJYW5jZXN0b3IgPSBsZmlyc3Rfb2lkKGxjMik7CiAKLQkJCS8qIENoZWNrIGlm IHRoZSBwYXJlbnQgdGFibGUgZXhpc3RzIGluIHRoZSBwdWJsaXNoZWQgdGFibGUgbGlzdC4gKi8K LQkJCWlmIChsaXN0X21lbWJlcl9vaWQocmVsaWRzLCBhbmNlc3RvcikpCisJCQlpZiAoaXNfYW5j ZXN0b3JfbWVtYmVyX3RhYmxlaW5mb3MoYW5jZXN0b3IsIHRhYmxlX2luZm9zKSkKIAkJCXsKIAkJ CQlza2lwID0gdHJ1ZTsKIAkJCQlicmVhazsKIAkJCX0KIAkJfQogCi0JCWlmICghc2tpcCkKLQkJ CXJlc3VsdCA9IGxhcHBlbmRfb2lkKHJlc3VsdCwgcmVsaWQpOworCQlpZiAoc2tpcCkKKwkJCXRh YmxlX2luZm9zID0gZm9yZWFjaF9kZWxldGVfY3VycmVudCh0YWJsZV9pbmZvcywgbGMpOwogCX0K LQotCXJldHVybiByZXN1bHQ7CiB9CiAKIC8qCkBAIC0xMDI2LDIyICsxMDQ5LDI3IEBAIEdldFB1 YmxpY2F0aW9uQnlOYW1lKGNvbnN0IGNoYXIgKnB1Ym5hbWUsIGJvb2wgbWlzc2luZ19vaykKIH0K IAogLyoKLSAqIFJldHVybnMgaW5mb3JtYXRpb24gb2YgdGFibGVzIGluIGEgcHVibGljYXRpb24u CisgKiBHZXQgaW5mb3JtYXRpb24gb2YgdGhlIHRhYmxlcyBpbiB0aGUgZ2l2ZW4gcHVibGljYXRp b24gYXJyYXkuCisgKgorICogUmV0dXJucyBwdWJpZCwgcmVsaWQsIGNvbHVtbiBsaXN0LCByb3cg ZmlsdGVyIGZvciBlYWNoIHRhYmxlLgogICovCiBEYXR1bQogcGdfZ2V0X3B1YmxpY2F0aW9uX3Rh YmxlcyhQR19GVU5DVElPTl9BUkdTKQogewotI2RlZmluZSBOVU1fUFVCTElDQVRJT05fVEFCTEVT X0VMRU0JMworI2RlZmluZSBOVU1fUFVCTElDQVRJT05fVEFCTEVTX0VMRU0JNAogCUZ1bmNDYWxs Q29udGV4dCAqZnVuY2N0eDsKLQljaGFyCSAgICpwdWJuYW1lID0gdGV4dF90b19jc3RyaW5nKFBH X0dFVEFSR19URVhUX1BQKDApKTsKLQlQdWJsaWNhdGlvbiAqcHVibGljYXRpb247Ci0JTGlzdAkg ICAqdGFibGVzOworCUxpc3QJICAgKnRhYmxlX2luZm9zID0gTklMOwogCiAJLyogc3R1ZmYgZG9u ZSBvbmx5IG9uIHRoZSBmaXJzdCBjYWxsIG9mIHRoZSBmdW5jdGlvbiAqLwogCWlmIChTUkZfSVNf RklSU1RDQUxMKCkpCiAJewogCQlUdXBsZURlc2MJdHVwZGVzYzsKIAkJTWVtb3J5Q29udGV4dCBv bGRjb250ZXh0OworCQlBcnJheVR5cGUgICphcnI7CisJCURhdHVtCSAgICplbGVtczsKKwkJaW50 CQkJbmVsZW1zLAorCQkJCQlpOworCQlib29sCQl2aWFyb290ID0gZmFsc2U7CiAKIAkJLyogY3Jl YXRlIGEgZnVuY3Rpb24gY29udGV4dCBmb3IgY3Jvc3MtY2FsbCBwZXJzaXN0ZW5jZSAqLwogCQlm dW5jY3R4ID0gU1JGX0ZJUlNUQ0FMTF9JTklUKCk7CkBAIC0xMDQ5LDY4ICsxMDc3LDEwOCBAQCBw Z19nZXRfcHVibGljYXRpb25fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCS8qIHN3aXRjaCB0 byBtZW1vcnkgY29udGV4dCBhcHByb3ByaWF0ZSBmb3IgbXVsdGlwbGUgZnVuY3Rpb24gY2FsbHMg Ki8KIAkJb2xkY29udGV4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhmdW5jY3R4LT5tdWx0aV9j YWxsX21lbW9yeV9jdHgpOwogCi0JCXB1YmxpY2F0aW9uID0gR2V0UHVibGljYXRpb25CeU5hbWUo cHVibmFtZSwgZmFsc2UpOwotCiAJCS8qCi0JCSAqIFB1YmxpY2F0aW9ucyBzdXBwb3J0IHBhcnRp dGlvbmVkIHRhYmxlcywgYWx0aG91Z2ggYWxsIGNoYW5nZXMgYXJlCi0JCSAqIHJlcGxpY2F0ZWQg dXNpbmcgbGVhZiBwYXJ0aXRpb24gaWRlbnRpdHkgYW5kIHNjaGVtYSwgc28gd2Ugb25seQotCQkg KiBuZWVkIHRob3NlLgorCQkgKiBEZWNvbnN0cnVjdCB0aGUgcGFyYW1ldGVyIGludG8gZWxlbWVu dHMgd2hlcmUgZWFjaCBlbGVtZW50IGlzIGEKKwkJICogcHVibGljYXRpb24gbmFtZS4KIAkJICov Ci0JCWlmIChwdWJsaWNhdGlvbi0+YWxsdGFibGVzKQotCQl7Ci0JCQl0YWJsZXMgPSBHZXRBbGxU YWJsZXNQdWJsaWNhdGlvblJlbGF0aW9ucyhwdWJsaWNhdGlvbi0+cHVidmlhcm9vdCk7Ci0JCX0K LQkJZWxzZQorCQlhcnIgPSBQR19HRVRBUkdfQVJSQVlUWVBFX1AoMCk7CisJCWRlY29uc3RydWN0 X2FycmF5KGFyciwgVEVYVE9JRCwgLTEsIGZhbHNlLCBUWVBBTElHTl9JTlQsCisJCQkJCQkgICZl bGVtcywgTlVMTCwgJm5lbGVtcyk7CisKKwkJLyogR2V0IE9pZHMgb2YgdGFibGVzIGZyb20gZWFj aCBwdWJsaWNhdGlvbi4gKi8KKwkJZm9yIChpID0gMDsgaSA8IG5lbGVtczsgaSsrKQogCQl7Ci0J CQlMaXN0CSAgICpyZWxpZHMsCi0JCQkJCSAgICpzY2hlbWFyZWxpZHM7Ci0KLQkJCXJlbGlkcyA9 IEdldFB1YmxpY2F0aW9uUmVsYXRpb25zKHB1YmxpY2F0aW9uLT5vaWQsCi0JCQkJCQkJCQkJCSBw dWJsaWNhdGlvbi0+cHVidmlhcm9vdCA/Ci0JCQkJCQkJCQkJCSBQVUJMSUNBVElPTl9QQVJUX1JP T1QgOgotCQkJCQkJCQkJCQkgUFVCTElDQVRJT05fUEFSVF9MRUFGKTsKLQkJCXNjaGVtYXJlbGlk cyA9IEdldEFsbFNjaGVtYVB1YmxpY2F0aW9uUmVsYXRpb25zKHB1YmxpY2F0aW9uLT5vaWQsCi0J CQkJCQkJCQkJCQkJCQlwdWJsaWNhdGlvbi0+cHVidmlhcm9vdCA/Ci0JCQkJCQkJCQkJCQkJCQlQ VUJMSUNBVElPTl9QQVJUX1JPT1QgOgotCQkJCQkJCQkJCQkJCQkJUFVCTElDQVRJT05fUEFSVF9M RUFGKTsKLQkJCXRhYmxlcyA9IGxpc3RfY29uY2F0X3VuaXF1ZV9vaWQocmVsaWRzLCBzY2hlbWFy ZWxpZHMpOworCQkJUHVibGljYXRpb24gKnB1Yl9lbGVtOworCQkJTGlzdAkgICAqcHViX2VsZW1f dGFibGVzID0gTklMOworCQkJTGlzdENlbGwgICAqbGM7CisKKwkJCXB1Yl9lbGVtID0gR2V0UHVi bGljYXRpb25CeU5hbWUoVGV4dERhdHVtR2V0Q1N0cmluZyhlbGVtc1tpXSksIGZhbHNlKTsKIAog CQkJLyoKLQkJCSAqIElmIHRoZSBwdWJsaWNhdGlvbiBwdWJsaXNoZXMgcGFydGl0aW9uIGNoYW5n ZXMgdmlhIHRoZWlyCi0JCQkgKiByZXNwZWN0aXZlIHJvb3QgcGFydGl0aW9uZWQgdGFibGVzLCB3 ZSBtdXN0IGV4Y2x1ZGUgcGFydGl0aW9ucwotCQkJICogaW4gZmF2b3Igb2YgaW5jbHVkaW5nIHRo ZSByb290IHBhcnRpdGlvbmVkIHRhYmxlcy4gT3RoZXJ3aXNlLAotCQkJICogdGhlIGZ1bmN0aW9u IGNvdWxkIHJldHVybiBib3RoIHRoZSBjaGlsZCBhbmQgcGFyZW50IHRhYmxlcwotCQkJICogd2hp Y2ggY291bGQgY2F1c2UgZGF0YSBvZiB0aGUgY2hpbGQgdGFibGUgdG8gYmUKLQkJCSAqIGRvdWJs ZS1wdWJsaXNoZWQgb24gdGhlIHN1YnNjcmliZXIgc2lkZS4KKwkJCSAqIFB1YmxpY2F0aW9ucyBz dXBwb3J0IHBhcnRpdGlvbmVkIHRhYmxlcy4gSWYKKwkJCSAqIHB1Ymxpc2hfdmlhX3BhcnRpdGlv bl9yb290IGlzIGZhbHNlLCBhbGwgY2hhbmdlcyBhcmUgcmVwbGljYXRlZAorCQkJICogdXNpbmcg bGVhZiBwYXJ0aXRpb24gaWRlbnRpdHkgYW5kIHNjaGVtYSwgc28gd2Ugb25seSBuZWVkCisJCQkg KiB0aG9zZS4gT3RoZXJ3aXNlLCBnZXQgdGhlIHBhcnRpdGlvbmVkIHRhYmxlIGl0c2VsZi4KIAkJ CSAqLwotCQkJaWYgKHB1YmxpY2F0aW9uLT5wdWJ2aWFyb290KQotCQkJCXRhYmxlcyA9IGZpbHRl cl9wYXJ0aXRpb25zKHRhYmxlcyk7CisJCQlpZiAocHViX2VsZW0tPmFsbHRhYmxlcykKKwkJCQlw dWJfZWxlbV90YWJsZXMgPSBHZXRBbGxUYWJsZXNQdWJsaWNhdGlvblJlbGF0aW9ucyhwdWJfZWxl bS0+cHVidmlhcm9vdCk7CisJCQllbHNlCisJCQl7CisJCQkJTGlzdAkgICAqcmVsaWRzLAorCQkJ CQkJICAgKnNjaGVtYXJlbGlkczsKKworCQkJCXJlbGlkcyA9IEdldFB1YmxpY2F0aW9uUmVsYXRp b25zKHB1Yl9lbGVtLT5vaWQsCisJCQkJCQkJCQkJCQkgcHViX2VsZW0tPnB1YnZpYXJvb3QgPwor CQkJCQkJCQkJCQkJIFBVQkxJQ0FUSU9OX1BBUlRfUk9PVCA6CisJCQkJCQkJCQkJCQkgUFVCTElD QVRJT05fUEFSVF9MRUFGKTsKKwkJCQlzY2hlbWFyZWxpZHMgPSBHZXRBbGxTY2hlbWFQdWJsaWNh dGlvblJlbGF0aW9ucyhwdWJfZWxlbS0+b2lkLAorCQkJCQkJCQkJCQkJCQkJCXB1Yl9lbGVtLT5w dWJ2aWFyb290ID8KKwkJCQkJCQkJCQkJCQkJCQlQVUJMSUNBVElPTl9QQVJUX1JPT1QgOgorCQkJ CQkJCQkJCQkJCQkJCVBVQkxJQ0FUSU9OX1BBUlRfTEVBRik7CisJCQkJcHViX2VsZW1fdGFibGVz ID0gbGlzdF9jb25jYXRfdW5pcXVlX29pZChyZWxpZHMsIHNjaGVtYXJlbGlkcyk7CisJCQl9CisK KwkJCS8qCisJCQkgKiBSZWNvcmQgdGhlIHB1Ymxpc2hlZCB0YWJsZSBhbmQgdGhlIGNvcnJlc3Bv bmRpbmcgcHVibGljYXRpb24gc28KKwkJCSAqIHRoYXQgd2UgY2FuIGdldCByb3cgZmlsdGVycyBh bmQgY29sdW1uIGxpc3RzIGxhdGVyLgorCQkJICoKKwkJCSAqIFdoZW4gYSB0YWJsZSBpcyBwdWJs aXNoZWQgYnkgbXVsdGlwbGUgcHVibGljYXRpb25zLCB0byBvYnRhaW4KKwkJCSAqIGFsbCByb3cg ZmlsdGVycyBhbmQgY29sdW1uIGxpc3RzLCB0aGUgc3RydWN0dXJlIHJlbGF0ZWQgdG8gdGhpcwor CQkJICogdGFibGUgd2lsbCBiZSByZWNvcmRlZCBtdWx0aXBsZSB0aW1lcy4KKwkJCSAqLworCQkJ Zm9yZWFjaChsYywgcHViX2VsZW1fdGFibGVzKQorCQkJeworCQkJCXB1Ymxpc2hlZF9yZWwgKnRh YmxlX2luZm8gPSAocHVibGlzaGVkX3JlbCAqKSBwYWxsb2Moc2l6ZW9mKHB1Ymxpc2hlZF9yZWwp KTsKKworCQkJCXRhYmxlX2luZm8tPnJlbGlkID0gbGZpcnN0X29pZChsYyk7CisJCQkJdGFibGVf aW5mby0+cHViaWQgPSBwdWJfZWxlbS0+b2lkOworCQkJCXRhYmxlX2luZm9zID0gbGFwcGVuZCh0 YWJsZV9pbmZvcywgdGFibGVfaW5mbyk7CisJCQl9CisKKwkJCS8qIEF0IGxlYXN0IG9uZSBwdWJs aWNhdGlvbiBpcyB1c2luZyBwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdC4gKi8KKwkJCWlmIChw dWJfZWxlbS0+cHVidmlhcm9vdCkKKwkJCQl2aWFyb290ID0gdHJ1ZTsKIAkJfQogCisJCS8qCisJ CSAqIElmIHRoZSBwdWJsaWNhdGlvbiBwdWJsaXNoZXMgcGFydGl0aW9uIGNoYW5nZXMgdmlhIHRo ZWlyIHJlc3BlY3RpdmUKKwkJICogcm9vdCBwYXJ0aXRpb25lZCB0YWJsZXMsIHdlIG11c3QgZXhj bHVkZSBwYXJ0aXRpb25zIGluIGZhdm9yIG9mCisJCSAqIGluY2x1ZGluZyB0aGUgcm9vdCBwYXJ0 aXRpb25lZCB0YWJsZXMuIE90aGVyd2lzZSwgdGhlIGZ1bmN0aW9uCisJCSAqIGNvdWxkIHJldHVy biBib3RoIHRoZSBjaGlsZCBhbmQgcGFyZW50IHRhYmxlcyB3aGljaCBjb3VsZCBjYXVzZQorCQkg KiBkYXRhIG9mIHRoZSBjaGlsZCB0YWJsZSB0byBiZSBkb3VibGUtcHVibGlzaGVkIG9uIHRoZSBz dWJzY3JpYmVyCisJCSAqIHNpZGUuCisJCSAqLworCQlpZiAodmlhcm9vdCkKKwkJCWZpbHRlcl9w YXJ0aXRpb25zKHRhYmxlX2luZm9zKTsKKwogCQkvKiBDb25zdHJ1Y3QgYSB0dXBsZSBkZXNjcmlw dG9yIGZvciB0aGUgcmVzdWx0IHJvd3MuICovCiAJCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1 cGxlRGVzYyhOVU1fUFVCTElDQVRJT05fVEFCTEVTX0VMRU0pOwotCQlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDEsICJyZWxpZCIsCisJCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgMSwgInB1YmlkIiwKIAkJCQkJCSAgIE9JRE9JRCwgLTEs IDApOwotCQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDIsICJhdHRy cyIsCisJCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgMiwgInJlbGlk IiwKKwkJCQkJCSAgIE9JRE9JRCwgLTEsIDApOworCQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpIDMsICJhdHRycyIsCiAJCQkJCQkgICBJTlQyVkVDVE9ST0lELCAtMSwg MCk7Ci0JCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgMywgInF1YWwi LAorCQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDQsICJxdWFsIiwK IAkJCQkJCSAgIFBHX05PREVfVFJFRU9JRCwgLTEsIDApOwogCiAJCWZ1bmNjdHgtPnR1cGxlX2Rl c2MgPSBCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKLQkJZnVuY2N0eC0+dXNlcl9mY3R4ID0gKHZv aWQgKikgdGFibGVzOworCQlmdW5jY3R4LT51c2VyX2ZjdHggPSAodm9pZCAqKSB0YWJsZV9pbmZv czsKIAogCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7CiAJfQogCiAJLyogc3R1 ZmYgZG9uZSBvbiBldmVyeSBjYWxsIG9mIHRoZSBmdW5jdGlvbiAqLwogCWZ1bmNjdHggPSBTUkZf UEVSQ0FMTF9TRVRVUCgpOwotCXRhYmxlcyA9IChMaXN0ICopIGZ1bmNjdHgtPnVzZXJfZmN0eDsK Kwl0YWJsZV9pbmZvcyA9IChMaXN0ICopIGZ1bmNjdHgtPnVzZXJfZmN0eDsKIAotCWlmIChmdW5j Y3R4LT5jYWxsX2NudHIgPCBsaXN0X2xlbmd0aCh0YWJsZXMpKQorCWlmIChmdW5jY3R4LT5jYWxs X2NudHIgPCBsaXN0X2xlbmd0aCh0YWJsZV9pbmZvcykpCiAJewogCQlIZWFwVHVwbGUJcHVidHVw bGUgPSBOVUxMOwogCQlIZWFwVHVwbGUJcmV0dHVwbGU7Ci0JCU9pZAkJCXJlbGlkID0gbGlzdF9u dGhfb2lkKHRhYmxlcywgZnVuY2N0eC0+Y2FsbF9jbnRyKTsKKwkJUHVibGljYXRpb24gKnB1YjsK KwkJcHVibGlzaGVkX3JlbCAqdGFibGVfaW5mbyA9IChwdWJsaXNoZWRfcmVsICopIGxpc3RfbnRo KHRhYmxlX2luZm9zLCBmdW5jY3R4LT5jYWxsX2NudHIpOworCQlPaWQJCQlyZWxpZCA9IHRhYmxl X2luZm8tPnJlbGlkOwogCQlPaWQJCQlzY2hlbWFpZCA9IGdldF9yZWxfbmFtZXNwYWNlKHJlbGlk KTsKIAkJRGF0dW0JCXZhbHVlc1tOVU1fUFVCTElDQVRJT05fVEFCTEVTX0VMRU1dID0gezB9Owog CQlib29sCQludWxsc1tOVU1fUFVCTElDQVRJT05fVEFCTEVTX0VMRU1dID0gezB9OwpAQCAtMTEx OSw0MiArMTE4Nyw0MyBAQCBwZ19nZXRfcHVibGljYXRpb25fdGFibGVzKFBHX0ZVTkNUSU9OX0FS R1MpCiAJCSAqIEZvcm0gdHVwbGUgd2l0aCBhcHByb3ByaWF0ZSBkYXRhLgogCQkgKi8KIAotCQlw dWJsaWNhdGlvbiA9IEdldFB1YmxpY2F0aW9uQnlOYW1lKHB1Ym5hbWUsIGZhbHNlKTsKKwkJcHVi ID0gR2V0UHVibGljYXRpb24odGFibGVfaW5mby0+cHViaWQpOwogCi0JCXZhbHVlc1swXSA9IE9i amVjdElkR2V0RGF0dW0ocmVsaWQpOworCQl2YWx1ZXNbMF0gPSBPYmplY3RJZEdldERhdHVtKHB1 Yi0+b2lkKTsKKwkJdmFsdWVzWzFdID0gT2JqZWN0SWRHZXREYXR1bShyZWxpZCk7CiAKIAkJLyoK IAkJICogV2UgZG9uJ3QgY29uc2lkZXIgcm93IGZpbHRlcnMgb3IgY29sdW1uIGxpc3RzIGZvciBG T1IgQUxMIFRBQkxFUyBvcgogCQkgKiBGT1IgVEFCTEVTIElOIFNDSEVNQSBwdWJsaWNhdGlvbnMu CiAJCSAqLwotCQlpZiAoIXB1YmxpY2F0aW9uLT5hbGx0YWJsZXMgJiYKKwkJaWYgKCFwdWItPmFs bHRhYmxlcyAmJgogCQkJIVNlYXJjaFN5c0NhY2hlRXhpc3RzMihQVUJMSUNBVElPTk5BTUVTUEFD RU1BUCwKIAkJCQkJCQkJICAgT2JqZWN0SWRHZXREYXR1bShzY2hlbWFpZCksCi0JCQkJCQkJCSAg IE9iamVjdElkR2V0RGF0dW0ocHVibGljYXRpb24tPm9pZCkpKQorCQkJCQkJCQkgICBPYmplY3RJ ZEdldERhdHVtKHB1Yi0+b2lkKSkpCiAJCQlwdWJ0dXBsZSA9IFNlYXJjaFN5c0NhY2hlQ29weTIo UFVCTElDQVRJT05SRUxNQVAsCiAJCQkJCQkJCQkJICAgT2JqZWN0SWRHZXREYXR1bShyZWxpZCks Ci0JCQkJCQkJCQkJICAgT2JqZWN0SWRHZXREYXR1bShwdWJsaWNhdGlvbi0+b2lkKSk7CisJCQkJ CQkJCQkJICAgT2JqZWN0SWRHZXREYXR1bShwdWItPm9pZCkpOwogCiAJCWlmIChIZWFwVHVwbGVJ c1ZhbGlkKHB1YnR1cGxlKSkKIAkJewogCQkJLyogTG9va3VwIHRoZSBjb2x1bW4gbGlzdCBhdHRy aWJ1dGUuICovCi0JCQl2YWx1ZXNbMV0gPSBTeXNDYWNoZUdldEF0dHIoUFVCTElDQVRJT05SRUxN QVAsIHB1YnR1cGxlLAorCQkJdmFsdWVzWzJdID0gU3lzQ2FjaGVHZXRBdHRyKFBVQkxJQ0FUSU9O UkVMTUFQLCBwdWJ0dXBsZSwKIAkJCQkJCQkJCQlBbnVtX3BnX3B1YmxpY2F0aW9uX3JlbF9wcmF0 dHJzLAotCQkJCQkJCQkJCSYobnVsbHNbMV0pKTsKKwkJCQkJCQkJCQkmKG51bGxzWzJdKSk7CiAK IAkJCS8qIE51bGwgaW5kaWNhdGVzIG5vIGZpbHRlci4gKi8KLQkJCXZhbHVlc1syXSA9IFN5c0Nh Y2hlR2V0QXR0cihQVUJMSUNBVElPTlJFTE1BUCwgcHVidHVwbGUsCisJCQl2YWx1ZXNbM10gPSBT eXNDYWNoZUdldEF0dHIoUFVCTElDQVRJT05SRUxNQVAsIHB1YnR1cGxlLAogCQkJCQkJCQkJCUFu dW1fcGdfcHVibGljYXRpb25fcmVsX3BycXVhbCwKLQkJCQkJCQkJCQkmKG51bGxzWzJdKSk7CisJ CQkJCQkJCQkJJihudWxsc1szXSkpOwogCQl9CiAJCWVsc2UKIAkJewotCQkJbnVsbHNbMV0gPSB0 cnVlOwogCQkJbnVsbHNbMl0gPSB0cnVlOworCQkJbnVsbHNbM10gPSB0cnVlOwogCQl9CiAKIAkJ LyogU2hvdyBhbGwgY29sdW1ucyB3aGVuIHRoZSBjb2x1bW4gbGlzdCBpcyBub3Qgc3BlY2lmaWVk LiAqLwotCQlpZiAobnVsbHNbMV0gPT0gdHJ1ZSkKKwkJaWYgKG51bGxzWzJdKQogCQl7CiAJCQlS ZWxhdGlvbglyZWwgPSB0YWJsZV9vcGVuKHJlbGlkLCBBY2Nlc3NTaGFyZUxvY2spOwogCQkJaW50 CQkJbmF0dG51bXMgPSAwOwpAQCAtMTE3Niw4ICsxMjQ1LDggQEAgcGdfZ2V0X3B1YmxpY2F0aW9u X3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCiAJCQlpZiAobmF0dG51bXMgPiAwKQogCQkJewot CQkJCXZhbHVlc1sxXSA9IFBvaW50ZXJHZXREYXR1bShidWlsZGludDJ2ZWN0b3IoYXR0bnVtcywg bmF0dG51bXMpKTsKLQkJCQludWxsc1sxXSA9IGZhbHNlOworCQkJCXZhbHVlc1syXSA9IFBvaW50 ZXJHZXREYXR1bShidWlsZGludDJ2ZWN0b3IoYXR0bnVtcywgbmF0dG51bXMpKTsKKwkJCQludWxs c1syXSA9IGZhbHNlOwogCQkJfQogCiAJCQl0YWJsZV9jbG9zZShyZWwsIEFjY2Vzc1NoYXJlTG9j ayk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKaW5kZXggOGEyNmRkYWIx Yy4uYTExZTM4NzNlNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0 aW9uY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwpA QCAtMTkzNiwyMSArMTkzNiw1NiBAQCBmZXRjaF90YWJsZV9saXN0KFdhbFJlY2VpdmVyQ29ubiAq d3Jjb25uLCBMaXN0ICpwdWJsaWNhdGlvbnMpCiAJV2FsUmN2RXhlY1Jlc3VsdCAqcmVzOwogCVN0 cmluZ0luZm9EYXRhIGNtZDsKIAlUdXBsZVRhYmxlU2xvdCAqc2xvdDsKLQlPaWQJCQl0YWJsZVJv d1szXSA9IHtURVhUT0lELCBURVhUT0lELCBOQU1FQVJSQVlPSUR9OworCU9pZAkJCXRhYmxlUm93 WzNdID0ge1RFWFRPSUQsIFRFWFRPSUQsIEludmFsaWRPaWR9OwogCUxpc3QJICAgKnRhYmxlbGlz dCA9IE5JTDsKLQlib29sCQljaGVja19jb2x1bW5saXN0ID0gKHdhbHJjdl9zZXJ2ZXJfdmVyc2lv bih3cmNvbm4pID49IDE1MDAwMCk7CisJaW50CQkJc2VydmVyX3ZlcnNpb24gPSB3YWxyY3Zfc2Vy dmVyX3ZlcnNpb24od3Jjb25uKTsKKwlib29sCQljaGVja19jb2x1bW5saXN0ID0gKHNlcnZlcl92 ZXJzaW9uID49IDE1MDAwMCk7CiAKIAlpbml0U3RyaW5nSW5mbygmY21kKTsKLQlhcHBlbmRTdHJp bmdJbmZvU3RyaW5nKCZjbWQsICJTRUxFQ1QgRElTVElOQ1QgdC5zY2hlbWFuYW1lLCB0LnRhYmxl bmFtZSBcbiIpOwogCi0JLyogR2V0IGNvbHVtbiBsaXN0cyBmb3IgZWFjaCByZWxhdGlvbiBpZiB0 aGUgcHVibGlzaGVyIHN1cHBvcnRzIGl0ICovCi0JaWYgKGNoZWNrX2NvbHVtbmxpc3QpCi0JCWFw cGVuZFN0cmluZ0luZm9TdHJpbmcoJmNtZCwgIiwgdC5hdHRuYW1lc1xuIik7CisJLyogR2V0IHRo ZSBsaXN0IG9mIHRhYmxlcyBmcm9tIHRoZSBwdWJsaXNoZXIuICovCisJaWYgKHNlcnZlcl92ZXJz aW9uID49IDE2MDAwMCkKKwl7CisJCVN0cmluZ0luZm9EYXRhIHB1Yl9uYW1lczsKIAotCWFwcGVu ZFN0cmluZ0luZm9TdHJpbmcoJmNtZCwgIkZST00gcGdfY2F0YWxvZy5wZ19wdWJsaWNhdGlvbl90 YWJsZXMgdFxuIgotCQkJCQkJICAgIiBXSEVSRSB0LnB1Ym5hbWUgSU4gKCIpOwotCWdldF9wdWJs aWNhdGlvbnNfc3RyKHB1YmxpY2F0aW9ucywgJmNtZCwgdHJ1ZSk7Ci0JYXBwZW5kU3RyaW5nSW5m b0NoYXIoJmNtZCwgJyknKTsKKwkJdGFibGVSb3dbMl0gPSBJTlQyVkVDVE9ST0lEOworCQlpbml0 U3RyaW5nSW5mbygmcHViX25hbWVzKTsKKwkJZ2V0X3B1YmxpY2F0aW9uc19zdHIocHVibGljYXRp b25zLCAmcHViX25hbWVzLCB0cnVlKTsKKworCQkvKgorCQkgKiBGcm9tIHZlcnNpb24gMTYsIHdl IGFsbG93ZWQgcGFzc2luZyBtdWx0aXBsZSBwdWJsaWNhdGlvbnMgdG8gdGhlCisJCSAqIGZ1bmN0 aW9uIHBnX2dldF9wdWJsaWNhdGlvbl90YWJsZXMuIFRoaXMgaGVscGVkIHRvIGZpbHRlciBvdXQg dGhlCisJCSAqIHBhcnRpdGlvbiB0YWJsZSB3aG9zZSBhbmNlc3RvciBpcyBhbHNvIHB1Ymxpc2hl ZCBpbiB0aGlzCisJCSAqIHB1YmxpY2F0aW9uIGFycmF5LgorCQkgKgorCQkgKiBKb2luIHBnX2dl dF9wdWJsaWNhdGlvbl90YWJsZXMgd2l0aCBwZ19wdWJsaWNhdGlvbiB0byBleGNsdWRlCisJCSAq IG5vbi1leGlzdGluZyBwdWJsaWNhdGlvbnMuCisJCSAqLworCQlhcHBlbmRTdHJpbmdJbmZvKCZj bWQsICJTRUxFQ1QgRElTVElOQ1Qgbi5uc3BuYW1lLCBjLnJlbG5hbWUsIGdwdC5hdHRyc1xuIgor CQkJCQkJICIgICAgICAgRlJPTSBwZ19jbGFzcyBjXG4iCisJCQkJCQkgIiAgICAgICAgIEpPSU4g cGdfbmFtZXNwYWNlIG4gT04gbi5vaWQgPSBjLnJlbG5hbWVzcGFjZVxuIgorCQkJCQkJICIgICAg ICAgICBKT0lOICggU0VMRUNUIChwZ19nZXRfcHVibGljYXRpb25fdGFibGVzKFZBUklBRElDIGFy cmF5X2FnZyhwdWJuYW1lOjp0ZXh0KSkpLipcbiIKKwkJCQkJCSAiICAgICAgICAgICAgICAgIEZS T00gcGdfcHVibGljYXRpb25cbiIKKwkJCQkJCSAiICAgICAgICAgICAgICAgIFdIRVJFIHB1Ym5h bWUgSU4gKCAlcyApKSBBUyBncHRcbiIKKwkJCQkJCSAiICAgICAgICAgICAgIE9OIGdwdC5yZWxp ZCA9IGMub2lkXG4iLAorCQkJCQkJIHB1Yl9uYW1lcy5kYXRhKTsKKworCQlwZnJlZShwdWJfbmFt ZXMuZGF0YSk7CisJfQorCWVsc2UKKwl7CisJCXRhYmxlUm93WzJdID0gTkFNRUFSUkFZT0lEOwor CQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQsICJTRUxFQ1QgRElTVElOQ1QgdC5zY2hlbWFu YW1lLCB0LnRhYmxlbmFtZSBcbiIpOworCisJCS8qIEdldCBjb2x1bW4gbGlzdHMgZm9yIGVhY2gg cmVsYXRpb24gaWYgdGhlIHB1Ymxpc2hlciBzdXBwb3J0cyBpdCAqLworCQlpZiAoY2hlY2tfY29s dW1ubGlzdCkKKwkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmNtZCwgIiwgdC5hdHRuYW1lc1xu Iik7CisKKwkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZygmY21kLCAiRlJPTSBwZ19jYXRhbG9nLnBn X3B1YmxpY2F0aW9uX3RhYmxlcyB0XG4iCisJCQkJCQkJICAgIiBXSEVSRSB0LnB1Ym5hbWUgSU4g KCIpOworCQlnZXRfcHVibGljYXRpb25zX3N0cihwdWJsaWNhdGlvbnMsICZjbWQsIHRydWUpOwor CQlhcHBlbmRTdHJpbmdJbmZvQ2hhcigmY21kLCAnKScpOworCX0KIAogCXJlcyA9IHdhbHJjdl9l eGVjKHdyY29ubiwgY21kLmRhdGEsIGNoZWNrX2NvbHVtbmxpc3QgPyAzIDogMiwgdGFibGVSb3cp OwogCXBmcmVlKGNtZC5kYXRhKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf cHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IDdjMzU4Y2Zm MTYuLmRlZjhlZTIwNDUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTE3NTYsMTEgKzEx NzU2LDEzIEBACiAgIHByb3NyYyA9PiAncGdfc2hvd19yZXBsaWNhdGlvbl9vcmlnaW5fc3RhdHVz JyB9LAogCiAjIHB1YmxpY2F0aW9ucwoteyBvaWQgPT4gJzYxMTknLCBkZXNjciA9PiAnZ2V0IGlu Zm9ybWF0aW9uIG9mIHRhYmxlcyBpbiBhIHB1YmxpY2F0aW9uJywKLSAgcHJvbmFtZSA9PiAncGdf Z2V0X3B1YmxpY2F0aW9uX3RhYmxlcycsIHByb3Jvd3MgPT4gJzEwMDAnLCBwcm9yZXRzZXQgPT4g J3QnLAotICBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsIHByb2Fy Z3R5cGVzID0+ICd0ZXh0JywKLSAgcHJvYWxsYXJndHlwZXMgPT4gJ3t0ZXh0LG9pZCxpbnQydmVj dG9yLHBnX25vZGVfdHJlZX0nLAotICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG99JywgcHJvYXJn bmFtZXMgPT4gJ3twdWJuYW1lLHJlbGlkLGF0dHJzLHF1YWx9JywKK3sgb2lkID0+ICc2MTE5JywK KyAgZGVzY3IgPT4gJ2dldCBpbmZvcm1hdGlvbiBvZiB0aGUgdGFibGVzIHRoYXQgYXJlIHBhcnQg b2YgdGhlIHNwZWNpZmllZCBwdWJsaWNhdGlvbnMnLAorICBwcm9uYW1lID0+ICdwZ19nZXRfcHVi bGljYXRpb25fdGFibGVzJywgcHJvcm93cyA9PiAnMTAwMCcsCisgIHByb3ZhcmlhZGljID0+ICd0 ZXh0JywgcHJvcmV0c2V0ID0+ICd0JywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9yZXR0eXBl ID0+ICdyZWNvcmQnLCBwcm9hcmd0eXBlcyA9PiAnX3RleHQnLAorICBwcm9hbGxhcmd0eXBlcyA9 PiAne190ZXh0LG9pZCxvaWQsaW50MnZlY3RvcixwZ19ub2RlX3RyZWV9JywKKyAgcHJvYXJnbW9k ZXMgPT4gJ3t2LG8sbyxvLG99JywgcHJvYXJnbmFtZXMgPT4gJ3twdWJuYW1lLHB1YmlkLHJlbGlk LGF0dHJzLHF1YWx9JywKICAgcHJvc3JjID0+ICdwZ19nZXRfcHVibGljYXRpb25fdGFibGVzJyB9 LAogeyBvaWQgPT4gJzYxMjEnLAogICBkZXNjciA9PiAncmV0dXJucyB3aGV0aGVyIGEgcmVsYXRp b24gY2FuIGJlIHBhcnQgb2YgYSBwdWJsaWNhdGlvbicsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVs ZXMub3V0CmluZGV4IDk5NmQyMmI3ZGQuLmM3MTc1OGRiNDYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0CkBAIC0xNDQ5LDcgKzE0NDksNyBAQCBwZ19wdWJsaWNhdGlvbl90YWJsZXN8 IFNFTEVDVCBwLnB1Ym5hbWUsCiAgICAgICAgICAgV0hFUkUgKChhLmF0dHJlbGlkID0gZ3B0LnJl bGlkKSBBTkQgKGEuYXR0bnVtID0gQU5ZICgoZ3B0LmF0dHJzKTo6c21hbGxpbnRbXSkpKSkgQVMg YXR0bmFtZXMsCiAgICAgcGdfZ2V0X2V4cHIoZ3B0LnF1YWwsIGdwdC5yZWxpZCkgQVMgcm93Zmls dGVyCiAgICBGUk9NIHBnX3B1YmxpY2F0aW9uIHAsCi0gICAgTEFURVJBTCBwZ19nZXRfcHVibGlj YXRpb25fdGFibGVzKChwLnB1Ym5hbWUpOjp0ZXh0KSBncHQocmVsaWQsIGF0dHJzLCBxdWFsKSwK KyAgICBMQVRFUkFMIHBnX2dldF9wdWJsaWNhdGlvbl90YWJsZXMoVkFSSUFESUMgQVJSQVlbKHAu cHVibmFtZSk6OnRleHRdKSBncHQocHViaWQsIHJlbGlkLCBhdHRycywgcXVhbCksCiAgICAgKHBn X2NsYXNzIGMKICAgICAgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1l c3BhY2UpKSkKICAgV0hFUkUgKGMub2lkID0gZ3B0LnJlbGlkKTsKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3N1YnNjcmlwdGlvbi90LzAxM19wYXJ0aXRpb24ucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMTNfcGFydGl0aW9uLnBsCmluZGV4IDExYTVjM2MwM2UuLmYwM2NkMjQyNDYgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAxM19wYXJ0aXRpb24ucGwKKysrIGIvc3Jj L3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDEzX3BhcnRpdGlvbi5wbApAQCAtNDA5LDEwICs0MDksMTAg QEAgJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKICRub2RlX3B1Ymxpc2hl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkNSRUFURSBUQUJMRSB0YWI0IChhIGludCBQUklN QVJZIEtFWSkgUEFSVElUSU9OIEJZIExJU1QgKGEpIik7CiAkbm9kZV9wdWJsaXNoZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLAotCSJDUkVBVEUgVEFCTEUgdGFiNF8xIFBBUlRJVElPTiBPRiB0YWI0 IEZPUiBWQUxVRVMgSU4gKDAsIDEpIFBBUlRJVElPTiBCWSBMSVNUIChhKSIKKwkiQ1JFQVRFIFRB QkxFIHRhYjRfMSBQQVJUSVRJT04gT0YgdGFiNCBGT1IgVkFMVUVTIElOICgtMSwgMCwgMSkgUEFS VElUSU9OIEJZIExJU1QgKGEpIgogKTsKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsCi0JIkNSRUFURSBUQUJMRSB0YWI0XzFfMSBQQVJUSVRJT04gT0YgdGFiNF8xIEZPUiBW QUxVRVMgSU4gKDAsIDEpIik7CisJIkNSRUFURSBUQUJMRSB0YWI0XzFfMSBQQVJUSVRJT04gT0Yg dGFiNF8xIEZPUiBWQUxVRVMgSU4gKC0xLCAwLCAxKSIpOwogCiAkbm9kZV9wdWJsaXNoZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLAogCSJBTFRFUiBQVUJMSUNBVElPTiBwdWJfYWxsIFNFVCAocHVi bGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgPSB0cnVlKSIpOwpAQCAtNDI0LDEzICs0MjQsMTMgQEAg JG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiQ1JFQVRFIFBVQkxJQ0FU SU9OIHB1Yl92aWFyb290IEZPUiBUQUJMRSB0YWIyLCB0YWIyXzEsIHRhYjNfMSBXSVRIIChwdWJs aXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCA9IHRydWUpIgogKTsKIAotIyBmb3IgdGFiNCwgd2UgcHVi bGlzaCBjaGFuZ2VzIHRocm91Z2ggdGhlICJtaWRkbGUiIHBhcnRpdGlvbmVkIHRhYmxlCiAkbm9k ZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJDUkVBVEUgUFVCTElDQVRJT04g cHViX2xvd2VyX2xldmVsIEZPUiBUQUJMRSB0YWI0XzEgV0lUSCAocHVibGlzaF92aWFfcGFydGl0 aW9uX3Jvb3QgPSB0cnVlKSIKICk7CiAKICMgcHJlcGFyZSBkYXRhIGZvciB0aGUgaW5pdGlhbCBz eW5jCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiSU5TRVJUIElOVE8g dGFiMiBWQUxVRVMgKDEpIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAiSU5TRVJUIElOVE8gdGFiNCBWQUxVRVMgKC0xKSIpOwogCiAjIHN1YnNjcmliZXIgMQogJG5v ZGVfc3Vic2NyaWJlcjEtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiRFJPUCBTVUJTQ1JJUFRJT04g c3ViMSIpOwpAQCAtNDc5LDkgKzQ3OSwxMCBAQCAkbm9kZV9zdWJzY3JpYmVyMi0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCiAJIkNSRUFURSBUQUJMRSB0YWI0IChhIGludCBQUklNQVJZIEtFWSkiKTsK ICRub2RlX3N1YnNjcmliZXIyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiQ1JFQVRFIFRBQkxF IHRhYjRfMSAoYSBpbnQgUFJJTUFSWSBLRVkpIik7Ci0jIFB1YmxpY2F0aW9uIHRoYXQgc3ViMiBw b2ludHMgdG8gbm93IHB1Ymxpc2hlcyB2aWEgcm9vdCwgc28gbXVzdCB1cGRhdGUKLSMgc3Vic2Ny aXB0aW9uIHRhcmdldCByZWxhdGlvbnMuIFdlIHNldCB0aGUgbGlzdCBvZiBwdWJsaWNhdGlvbnMg c28gdGhhdAotIyB0aGUgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24gaXMgc2Vjb25kICh0aGUg bGlzdCBvcmRlciBtYXR0ZXJzKS4KKyMgU2luY2Ugd2Ugc3BlY2lmaWVkIHB1Ymxpc2hfdmlhX3Bh cnRpdGlvbl9yb290IGluIHB1Yl9hbGwgYW5kCisjIHB1Yl9sb3dlcl9sZXZlbCwgYWxsIHBhcnRp dGlvbiB0YWJsZXMgdXNlIHRoZWlyIHJvb3QgdGFibGVzJyBpZGVudGl0eSBhbmQKKyMgc2NoZW1h LiBXZSBzZXQgdGhlIGxpc3Qgb2YgcHVibGljYXRpb25zIHNvIHRoYXQgdGhlIEZPUiBBTEwgVEFC TEVTCisjIHB1YmxpY2F0aW9uIGlzIHNlY29uZCAodGhlIGxpc3Qgb3JkZXIgbWF0dGVycykuCiAk bm9kZV9zdWJzY3JpYmVyMi0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkFMVEVSIFNVQlNDUklQ VElPTiBzdWIyIFNFVCBQVUJMSUNBVElPTiBwdWJfbG93ZXJfbGV2ZWwsIHB1Yl9hbGwiKTsKIApA QCAtNDkyLDYgKzQ5MywxMiBAQCAkbm9kZV9zdWJzY3JpYmVyMi0+d2FpdF9mb3Jfc3Vic2NyaXB0 aW9uX3N5bmM7CiAjIGNoZWNrIHRoYXQgZGF0YSBpcyBzeW5jZWQgY29ycmVjdGx5CiAkcmVzdWx0 ID0gJG5vZGVfc3Vic2NyaWJlcjEtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGMsIGEg RlJPTSB0YWIyIik7CiBpcygkcmVzdWx0LCBxcShzdWIxX3RhYjJ8MSksICdpbml0aWFsIGRhdGEg c3luY2VkIGZvciBwdWJfdmlhcm9vdCcpOworJHJlc3VsdCA9CisgICRub2RlX3N1YnNjcmliZXIy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBhIEZST00gdGFiNCBPUkRFUiBCWSAxIik7 CitpcygkcmVzdWx0LCBxcSgtMSksICdpbml0aWFsIGRhdGEgc3luY2VkIGZvciBwdWJfbG93ZXJf bGV2ZWwgYW5kIHB1Yl9hbGwnKTsKKyRyZXN1bHQgPQorICAkbm9kZV9zdWJzY3JpYmVyMi0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgYSBGUk9NIHRhYjRfMSBPUkRFUiBCWSAxIik7Citp cygkcmVzdWx0LCBxcSgpLCAnaW5pdGlhbCBkYXRhIHN5bmNlZCBmb3IgcHViX2xvd2VyX2xldmVs IGFuZCBwdWJfYWxsJyk7CiAKICMgaW5zZXJ0CiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgn cG9zdGdyZXMnLCAiSU5TRVJUIElOVE8gdGFiMSBWQUxVRVMgKDEpLCAoMCkiKTsKQEAgLTU0OCw3 ICs1NTUsOCBAQCBzdWIyX3RhYjN8NSksICdpbnNlcnRzIGludG8gdGFiMyByZXBsaWNhdGVkJyk7 CiAjIG1hcHMgdG8gdGhlIHRhYjQgcmVsYXRpb24gb24gc3Vic2NyaWJlci4KICRyZXN1bHQgPQog ICAkbm9kZV9zdWJzY3JpYmVyMi0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgYSBGUk9N IHRhYjQgT1JERVIgQlkgMSIpOwotaXMoJHJlc3VsdCwgcXEoMCksICdpbnNlcnRzIGludG8gdGFi NCByZXBsaWNhdGVkJyk7CitpcyggJHJlc3VsdCwgcXEoLTEKKzApLCAnaW5zZXJ0cyBpbnRvIHRh YjQgcmVwbGljYXRlZCcpOwogCiAkcmVzdWx0ID0KICAgJG5vZGVfc3Vic2NyaWJlcjItPnNhZmVf cHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGEgRlJPTSB0YWI0XzEgT1JERVIgQlkgMSIpOwpAQCAt NTc0LDcgKzU4Miw4IEBAICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMicp OwogIyBtYXBzIHRvIHRoZSB0YWI0IHJlbGF0aW9uIG9uIHN1YnNjcmliZXIuCiAkcmVzdWx0ID0K ICAgJG5vZGVfc3Vic2NyaWJlcjItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGEgRlJP TSB0YWI0IE9SREVSIEJZIDEiKTsKLWlzKCAkcmVzdWx0LCBxcSgwCitpcyggJHJlc3VsdCwgcXEo LTEKKzAKIDEpLCAnaW5zZXJ0cyBpbnRvIHRhYjQgcmVwbGljYXRlZCcpOwogCiAkcmVzdWx0ID0K ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAyOF9yb3dfZmlsdGVyLnBsIGIv c3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI4X3Jvd19maWx0ZXIucGwKaW5kZXggZGVmM2ZiYzU0 Yi4uMGRiYzE0Y2EzMyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI4X3Jv d19maWx0ZXIucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI4X3Jvd19maWx0ZXIu cGwKQEAgLTIzNSw2ICsyMzUsMTEgQEAgJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkNSRUFURSBU QUJMRSB0YWJfcm93ZmlsdGVyX3ZpYXJvb3RfcGFydF8xIFBBUlRJVElPTiBPRiB0YWJfcm93Zmls dGVyX3ZpYXJvb3RfcGFydCBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgyMCkiCiApOworJG5vZGVf cHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFRBQkxFIHRhYl9yb3dm aWx0ZXJfcGFyZW50X3N5bmMgKGEgaW50KSBQQVJUSVRJT04gQlkgUkFOR0UgKGEpIik7Ciskbm9k ZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVBVEUgVEFCTEUgdGFiX3Jv d2ZpbHRlcl9jaGlsZF9zeW5jIFBBUlRJVElPTiBPRiB0YWJfcm93ZmlsdGVyX3BhcmVudF9zeW5j IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIwKSIKKyk7CiAKICMgc2V0dXAgc3RydWN0dXJlIG9u IHN1YnNjcmliZXIKICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLApAQCAt Mjg1LDYgKzI5MCwxMCBAQCAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK IAkiQ1JFQVRFIFRBQkxFIHRhYl9yb3dmaWx0ZXJfdmlhcm9vdF9wYXJ0IChhIGludCkiKTsKICRu b2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJDUkVBVEUgVEFCTEUgdGFi X3Jvd2ZpbHRlcl92aWFyb290X3BhcnRfMSAoYSBpbnQpIik7Ciskbm9kZV9zdWJzY3JpYmVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFRBQkxFIHRhYl9yb3dmaWx0ZXJfcGFyZW50 X3N5bmMgKGEgaW50KSIpOworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs CisJIkNSRUFURSBUQUJMRSB0YWJfcm93ZmlsdGVyX2NoaWxkX3N5bmMgKGEgaW50KSIpOwogCiAj IHNldHVwIGxvZ2ljYWwgcmVwbGljYXRpb24KICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsCkBAIC0zNDEsNiArMzUwLDE1IEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCiAJIkNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViX3ZpYXJvb3RfMiBGT1Ig VEFCTEUgdGFiX3Jvd2ZpbHRlcl92aWFyb290X3BhcnRfMSBXSEVSRSAoYSA8IDE1KSBXSVRIIChw dWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCkiCiApOwogCisjIHR3byBwdWJsaWNhdGlvbnMsIG9u ZSBwdWJsaXNoaW5nIHRocm91Z2ggYW5jZXN0b3IgYW5kIGFub3RoZXIgb25lIGRpcmVjdGx5Cisj IHB1Ymxpc2hpbmcgdGhlIHBhcnRpdGlvbiwgd2l0aCBkaWZmZXJlbnQgcm93IGZpbHRlcnMKKyRu b2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkNSRUFURSBQVUJMSUNBVElP TiB0YXBfcHViX3BhcmVudF9zeW5jIEZPUiBUQUJMRSB0YWJfcm93ZmlsdGVyX3BhcmVudF9zeW5j IFdIRVJFIChhID4gMTUpIFdJVEggKHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290KSIKKyk7Cisk bm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVBVEUgUFVCTElDQVRJ T04gdGFwX3B1Yl9jaGlsZF9zeW5jIEZPUiBUQUJMRSB0YWJfcm93ZmlsdGVyX2NoaWxkX3N5bmMg V0hFUkUgKGEgPCAxNSkiCispOworCiAjCiAjIFRoZSBmb2xsb3dpbmcgSU5TRVJUcyBhcmUgZXhl Y3V0ZWQgYmVmb3JlIHRoZSBDUkVBVEUgU1VCU0NSSVBUSU9OLCBzbyB0aGVzZQogIyBTUUwgY29t bWFuZHMgYXJlIGZvciB0ZXN0aW5nIHRoZSBpbml0aWFsIGRhdGEgY29weSB1c2luZyBsb2dpY2Fs IHJlcGxpY2F0aW9uLgpAQCAtMzYyLDYgKzM4MCw5IEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAog CSJJTlNFUlQgSU5UTyB0YWJfcm93ZmlsdGVyXzQgKGMpIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMo MSwgMTApIik7CiAKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIklO U0VSVCBJTlRPIHRhYl9yb3dmaWx0ZXJfcGFyZW50X3N5bmMoYSkgVkFMVUVTKDE0KSwgKDE2KSIp OworCiAjIGluc2VydCBkYXRhIGludG8gcGFydGl0aW9uZWQgdGFibGUgYW5kIGRpcmVjdGx5IG9u IHRoZSBwYXJ0aXRpb24KICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJ IklOU0VSVCBJTlRPIHRhYl9yb3dmaWx0ZXJfcGFydGl0aW9uZWQgKGEsIGIpIFZBTFVFUygxLCAx MDApLCg3MDAwLCAxMDEpLCgxNTAwMCwgMTAyKSwoNTUwMCwgMzAwKSIKQEAgLTM4Nyw3ICs0MDgs NyBAQCAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogKTsKIAogJG5vZGVf c3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCi0JIkNSRUFURSBTVUJTQ1JJUFRJT04g dGFwX3N1YiBDT05ORUNUSU9OICckcHVibGlzaGVyX2Nvbm5zdHIgYXBwbGljYXRpb25fbmFtZT0k YXBwbmFtZScgUFVCTElDQVRJT04gdGFwX3B1Yl8xLCB0YXBfcHViXzIsIHRhcF9wdWJfMywgdGFw X3B1Yl80YSwgdGFwX3B1Yl80YiwgdGFwX3B1Yl81YSwgdGFwX3B1Yl81YiwgdGFwX3B1Yl90b2Fz dCwgdGFwX3B1Yl9pbmhlcml0cywgdGFwX3B1Yl92aWFyb290XzIsIHRhcF9wdWJfdmlhcm9vdF8x IgorCSJDUkVBVEUgU1VCU0NSSVBUSU9OIHRhcF9zdWIgQ09OTkVDVElPTiAnJHB1Ymxpc2hlcl9j b25uc3RyIGFwcGxpY2F0aW9uX25hbWU9JGFwcG5hbWUnIFBVQkxJQ0FUSU9OIHRhcF9wdWJfMSwg dGFwX3B1Yl8yLCB0YXBfcHViXzMsIHRhcF9wdWJfNGEsIHRhcF9wdWJfNGIsIHRhcF9wdWJfNWEs IHRhcF9wdWJfNWIsIHRhcF9wdWJfdG9hc3QsIHRhcF9wdWJfaW5oZXJpdHMsIHRhcF9wdWJfdmlh cm9vdF8yLCB0YXBfcHViX3ZpYXJvb3RfMSwgdGFwX3B1Yl9wYXJlbnRfc3luYywgdGFwX3B1Yl9j aGlsZF9zeW5jIgogKTsKIAogIyB3YWl0IGZvciBpbml0aWFsIHRhYmxlIHN5bmNocm9uaXphdGlv biB0byBmaW5pc2gKQEAgLTUxMiw2ICs1MzMsMjUgQEAgaXMoICRyZXN1bHQsIHFxKDIwCiAzMAog NDApLCAnY2hlY2sgaW5pdGlhbCBkYXRhIGNvcHkgZnJvbSB0YWJsZSB0YWJfcm93ZmlsdGVyX2lu aGVyaXRlZCcpOwogCisjIENoZWNrIGV4cGVjdGVkIHJlcGxpY2F0ZWQgcm93cyBmb3IgdGFwX3B1 Yl9wYXJlbnRfc3luYyBhbmQKKyMgdGFwX3B1Yl9jaGlsZF9zeW5jCisjIFNpbmNlIHRoZSBvcHRp b24gcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3Qgb2YgdGFwX3B1Yl9wYXJlbnRfc3luYyBpcyB0 cnVlLAorIyBzbyB0aGUgcm93IGZpbHRlciBvZiB0YXBfcHViX3BhcmVudF9zeW5jIHdpbGwgYmUg dXNlZDoKKyMgdGFwX3B1Yl9wYXJlbnRfc3luYyBmaWx0ZXIgaXM6IChhID4gMTUpCisjIHRhcF9w dWJfY2hpbGRfc3luYyBmaWx0ZXIgaXM6IChhIDwgMTUpCisjIC0gSU5TRVJUICgxNCkgICAgICAg IE5PLCAxNCA8IDE1CisjIC0gSU5TRVJUICgxNikgICAgICAgIFlFUywgMTYgPiAxNQorJHJlc3Vs dCA9CisgICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1Qg YSBGUk9NIHRhYl9yb3dmaWx0ZXJfcGFyZW50X3N5bmMgT1JERVIgQlkgMSIpOworaXMoICRyZXN1 bHQsIHFxKDE2KSwKKwknY2hlY2sgaW5pdGlhbCBkYXRhIGNvcHkgZnJvbSB0YWJfcm93ZmlsdGVy X3BhcmVudF9zeW5jJyk7CiskcmVzdWx0ID0KKyAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCisJIlNFTEVDVCBhIEZST00gdGFiX3Jvd2ZpbHRlcl9jaGlsZF9zeW5jIE9S REVSIEJZIDEiKTsKK2lzKCAkcmVzdWx0LCBxcSgpLAorCSdjaGVjayBpbml0aWFsIGRhdGEgY29w eSBmcm9tIHRhYl9yb3dmaWx0ZXJfY2hpbGRfc3luYycpOworCiAjIFRoZSBmb2xsb3dpbmcgY29t bWFuZHMgYXJlIGV4ZWN1dGVkIGFmdGVyIENSRUFURSBTVUJTQ1JJUFRJT04sIHNvIHRoZXNlIFNR TAogIyBjb21tYW5kcyBhcmUgZm9yIHRlc3Rpbmcgbm9ybWFsIGxvZ2ljYWwgcmVwbGljYXRpb24g YmVoYXZpb3IuCiAjCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzFfY29s dW1uX2xpc3QucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzFfY29sdW1uX2xpc3QucGwK aW5kZXggZmQ3Nzc1NzM1Mi4uYjY3MjkyYmE5YyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vic2Ny aXB0aW9uL3QvMDMxX2NvbHVtbl9saXN0LnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90 LzAzMV9jb2x1bW5fbGlzdC5wbApAQCAtOTU5LDE2ICs5NTksMjEgQEAgJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoCiAJQ1JFQVRFIFRBQkxFIHRlc3Rfcm9vdF8xIFBBUlRJVElPTiBPRiB0ZXN0 X3Jvb3QgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMTApOwogCUNSRUFURSBUQUJMRSB0ZXN0X3Jv b3RfMiBQQVJUSVRJT04gT0YgdGVzdF9yb290IEZPUiBWQUxVRVMgRlJPTSAoMTApIFRPICgyMCk7 CiAKLQlDUkVBVEUgUFVCTElDQVRJT04gcHViX3Jvb3RfdHJ1ZSBGT1IgVEFCTEUgdGVzdF9yb290 IChhKSBXSVRIIChwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCA9IHRydWUpOworCUNSRUFURSBQ VUJMSUNBVElPTiBwdWJfdGVzdF9yb290IEZPUiBUQUJMRSB0ZXN0X3Jvb3QgKGEpIFdJVEggKHB1 Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290ID0gdHJ1ZSk7CisJQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1 Yl90ZXN0X3Jvb3RfMSBGT1IgVEFCTEUgdGVzdF9yb290XzEgKGEsIGIpOwogCiAJLS0gaW5pdGlh bCBkYXRhCiAJSU5TRVJUIElOVE8gdGVzdF9yb290IFZBTFVFUyAoMSwgMiwgMyk7CiAJSU5TRVJU IElOVE8gdGVzdF9yb290IFZBTFVFUyAoMTAsIDIwLCAzMCk7CiApKTsKIAorIyBTdWJzY3JpYmUg dG8gcHViX3Rlc3Rfcm9vdCBhbmQgcHViX3Rlc3Rfcm9vdF8xIGF0IHRoZSBzYW1lIHRpbWUsIHdo aWNoIG1lYW5zCisjIHRoYXQgdGhlIGluaXRpYWwgZGF0YSB3aWxsIGJlIHN5bmNlZCBvbmNlLCBh bmQgb25seSB0aGUgY29sdW1uIGxpc3Qgb2YgdGhlCisjIHBhcmVudCB0YWJsZSAodGVzdF9yb290 KSBpbiB0aGUgcHVibGljYXRpb24gcHViX3Rlc3Rfcm9vdCB3aWxsIGJlIHVzZWQgZm9yCisjIGJv dGggdGFibGUgc3luYyBhbmQgZGF0YSByZXBsaWNhdGlvbi4KICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgKIAkncG9zdGdyZXMnLCBxcSgKLQlDUkVBVEUgU1VCU0NSSVBUSU9OIHN1YjEgQ09O TkVDVElPTiAnJHB1Ymxpc2hlcl9jb25uc3RyJyBQVUJMSUNBVElPTiBwdWJfcm9vdF90cnVlOwor CUNSRUFURSBTVUJTQ1JJUFRJT04gc3ViMSBDT05ORUNUSU9OICckcHVibGlzaGVyX2Nvbm5zdHIn IFBVQkxJQ0FUSU9OIHB1Yl90ZXN0X3Jvb3QsIHB1Yl90ZXN0X3Jvb3RfMTsKICkpOwogCiAkbm9k ZV9zdWJzY3JpYmVyLT53YWl0X2Zvcl9zdWJzY3JpcHRpb25fc3luYzsKZGlmZiAtLWdpdCBhL3Ny Yy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVk ZWZzLmxpc3QKaW5kZXggMGI3YmM0NTc2Ny4uZjQ1YmNjNTJkMyAxMDA2NDQKLS0tIGEvc3JjL3Rv b2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVk ZWZzLmxpc3QKQEAgLTM2MDMsNiArMzYwMyw3IEBAIHB0aHJlYWRfbXV0ZXhfdAogcHRocmVhZF9v bmNlX3QKIHB0aHJlYWRfdAogcHRyZGlmZl90CitwdWJsaXNoZWRfcmVsCiBwdWxsX3Zhcl9jbGF1 c2VfY29udGV4dAogcHVsbF92YXJhdHRub3NfY29udGV4dAogcHVsbF92YXJub3NfY29udGV4dAot LSAKMi4zOS4xLndpbmRvd3MuMQoK --_002_OS3PR01MB627567D49DE885BCA2B604729E889OS3PR01MB6275jpnp_--