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 1mmarx-0005P2-EO for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Nov 2021 12:13:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mmarv-0005Ft-Ez for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Nov 2021 12:13:51 +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 1mmaru-0005Fk-Q2 for pgsql-hackers@lists.postgresql.org; Mon, 15 Nov 2021 12:13:51 +0000 Received: from esa19.fujitsucc.c3s2.iphmx.com ([216.71.158.62]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mmarp-0004TN-Qk for pgsql-hackers@lists.postgresql.org; Mon, 15 Nov 2021 12:13:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1636978427; x=1668514427; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=RtYl9BYa0QYsVLjwWEoED5w62xT9e+OclW/o2hmCvBY=; b=grs9luRumVMDWhoNPo0TulT/R3PvsSBmewEZXPJWjrtkJ8bLCAwjpey5 gBzkZoECyn6325J0DPHFDUluJpWOgVsLjpZF8BR3wBWBS1geMdWhBhU3/ SnP9F/gGWobH9gE+x/pMf/tY/O3sDkzyD+DrnZp5PTdiAMQyiMcp8Cb7v fpOtsQitWLW0gUivlkZB3AhsplpeCBUutSdh4rPtY+8IjtVc+D+9wALWt d+6gEYJLTfbKdIO+Y5wywXW++DmIBXHbS1ZwcEsmwoa5pUvMoNOAKHpcW PNpe+OdnNK7JO5p+Y5vOFCmopuSjloPG4mmEwpVFvIUKCOKT2OeUTOzA0 w==; X-IronPort-AV: E=McAfee;i="6200,9189,10168"; a="43303762" X-IronPort-AV: E=Sophos;i="5.87,236,1631545200"; d="scan'208,223";a="43303762" Received: from mail-ty1jpn01lp2057.outbound.protection.outlook.com (HELO JPN01-TY1-obe.outbound.protection.outlook.com) ([104.47.93.57]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Nov 2021 21:13:40 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fwi1/gzINQm/URZVdNjhHse5AJqbwoyUGHN0CWLBKcWgTrm9cpcr44KGRuO+5H96ELauSZ1xNsQEZbHb3rWknlzz/BR+bnCIgsTUljiUStuTUokrNTVF+OHNnQGXPa9VkMR8amjef68RHDKQSx+f3m8jIcOn4Zcf5jwcJlLE5vbn29er0PL0bxyek3OsuWCJUE1twd86mgMuezRKebVGXNU9xRRrxQd8DwmeEZuUNVc7rI+6kl16au8DkBROEN2OJdibrLUJWLDDnUdJy8mjzjnNUuHGM+7Llo/3RlTJ7HYAHHVsQ+vzJsbttGiwJSwbWNy6qlnLWIkszBZBp0IZ5A== 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=LNi2h2XFoalRw0wB6Nx+0givZvbY4qaypX01hpmYBvg=; b=L0U0ogwCCon5HoZ7poTPq/nxJc+63loOtGJDCAsLll4pOp7b3lER/CwYDb3KTWfzowznafTi6L5ovnbvCMBu4JTetZ5AL/z7TbBSXTb/aWNN1xvD5+kjBkkMV3y9LBBfdXWpXro0yYBS90wVBLr5gTp8CaV55Zi/09j3ZgwIsZNL6REH3Mzqf62aFK2KLjDhx29zQZpAf8ERSMUtvjroCTQQ5XIAS0m7FdWr2VuLmN/D86Nph9OFa+Aci7E+dFw959WeizKSztOnmoBV5YEKSH9k+zYHLLQ1xmPuC62byrUKAh5E6wSRkMYY1uJkl1MBbHPCAMdQz5CFvDU7qcJZMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LNi2h2XFoalRw0wB6Nx+0givZvbY4qaypX01hpmYBvg=; b=h7dhbJ9QIDK50Cpy80fnmDp1/WhtUTDh5M2nKN/9ekh5/+SivdT+Nhlvq/6IpK+x4t/yNdi8/GpIJ0/6vRVNttgrDYr9o5wA/oWIsdOPtOBa4wZyLtbc2miKcWTdtRJeusFJCa64rwtjZIlrEa8/Cz7rNzWTNXYPQSPXokKrH0c= Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com (2603:1096:400:15f::9) by TYCPR01MB7217.jpnprd01.prod.outlook.com (2603:1096:400:e4::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.27; Mon, 15 Nov 2021 12:13:35 +0000 Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com ([fe80::adb3:be1d:5bb2:45f5]) by TYCPR01MB8373.jpnprd01.prod.outlook.com ([fe80::adb3:be1d:5bb2:45f5%8]) with mapi id 15.20.4690.027; Mon, 15 Nov 2021 12:13:35 +0000 From: "osumi.takamichi@fujitsu.com" To: 'vignesh C' CC: Greg Nancarrow , Masahiko Sawada , Amit Kapila , "houzj.fnst@fujitsu.com" , "pgsql-hackers@lists.postgresql.org" Subject: RE: Failed transaction statistics to measure the logical replication progress Thread-Topic: Failed transaction statistics to measure the logical replication progress Thread-Index: AddzxbV4E8towJomTkm1trqmHwIwlgQVlICAANF/lUAAA/6ZgAAn+wOAAAWfTgAAB8XmAAAgvB4AAAU0KgAAB+7hgAAMXNsABZwy4NABa8QD4ADxViZAAZV2mrAA+6DXgAAsU7aAAAZiVQAAAnmZAAAIXu+AAFRfhZAAA/2jgAK/RTlAANYpygAAhIjngAF7IiwAAMcV0oAAfP65gABBZ2kgAL69AQAAEaPLYAAvgi4AADeqboAAwid+sAAFx08Q Date: Mon, 15 Nov 2021 12:13:35 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfRW5hYmxlZD10cnVlOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJh?= =?utf-8?B?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjEtMTEtMTVUMDk6Mjc6?= =?utf-8?B?NDlaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD0zMmQwMjQ4MS0zZmEzLTQxZDIt?= =?utf-8?B?YTQ4Yy0xOGYzOWE1YWE2ODA7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a70e8c50-3bc5-4a80-6e44-08d9a831597d x-ms-traffictypediagnostic: TYCPR01MB7217: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1169; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JW/00S7TdJIcJg0MPqLByu+jdxrZ9o7V3vOUA8bAasaOG2DEBW6cneSbbZsZXvOtjYVotHMW+RWuY8yYfhctym/GgT3ZghrYQkviibB+uaWy023llY3FOXx0uG8vuoSmR5WtBMV45nG8L2eCHK6FuKDaaHDnKFLyaT4NHOvB+JUBROjlPziQ/XijUwyi6sZQRqyakyXkL/lC+uFgEmSK+AosPJ3RUTV40O/MFHb6V4/x9CvAi7Ve05Q421VoqzO42ahFr8TBEdwNXRWV/TVqH5UMCfJl9kMOYFtqqKnx1jAZtuLUcbwg5tlEBjuo0/JGTYo1H4JVd7MGM4ZpOhYlsaRRfnNOLYn8vjhi73lTEuZ3zZoE/TOW7fjHPGH+fFv3mIo4NYNnShPibLr3frjjJ2b2yn/kmmnl5+V5Z6VTYt4GyY0NlY7lgllZAR57sJLPfP0269sq00g55+eLnsimBBEG1zLKWhEje7HRmYb/XaKnJU6QhWecXYxbTsvw8roRHuD2BrtW2JRFCZ00XiVkHKAyEneHJPIXys3K2dp8yhy42ZXjMuMIj7/hPN0LQnnb6jaW1bOxPD/+8cqZlcjTIqWkS3w/rpA6aHWEjw0GlONFHcoB+qGKP3kkpyGEEfamm4eshrENv9qENBz1GU1xBbsyKn20hvTEwxJWXwyVcKGFUMtC7ZHLJmTlza80TL6HCNUcC7LngAkVctqSb9HIhDfCBGy6qCvz9AjEu33sJ7l15sJ5l8Pp0il+o+Dx4SpqBS55RHSML5XjarEGAI/8+dDmsb1jNvXuT9+/3vd4j8U= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB8373.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(26005)(82960400001)(66946007)(4326008)(71200400001)(76116006)(186003)(55016002)(7696005)(38070700005)(52536014)(86362001)(85182001)(53546011)(33656002)(6506007)(83380400001)(66476007)(64756008)(9686003)(4744005)(99936003)(66556008)(66446008)(54906003)(5660300002)(2906002)(966005)(316002)(6916009)(122000001)(2940100002)(508600001)(8936002)(8676002)(38100700002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bEVlODVzaU42NkhyM0ZQdmRRZy9ZNWJaNkVDaHlsWFQzTTlpUmtSZkp2UkRo?= =?utf-8?B?czdRQWgzOHgvNnM0TnBSb0hGTXYzYktHblkxU2tFZ0JEN0RSd2ZKTmpGVEtv?= =?utf-8?B?RHRtSXhLZXZaakNXSzlsdEpmL0hOT1BnUk5lOHNhVUZWTExvdGhlUUZMcUtV?= =?utf-8?B?bHBUcXl5MzAzWHNCbnRmclBnUHVxaFBDU3RYMW5oQTNnWlc1Q2c0b2ZNNitx?= =?utf-8?B?a2tlWGxsREZ0Q2cyL0dxY2JMRXhScXlQT0xYSEt4WW5SOGo5Zllnak1EWUFO?= =?utf-8?B?VjZJeWJkNmhvT3ZKYkRxTjdBc2dHMllSMWpETXVhbGxkekxRdTc3QllxdDNS?= =?utf-8?B?bURpZVVWVnM3UUtTaUIyT2ZIUFZQVmIrT2R0R0pXY1dtais0MVRXVFNUV0lJ?= =?utf-8?B?K3V0SnA0emgzVzFDL2Y5M1ZQcjZWSUpOc01lZVN1TEtuN1d6YkNMTWw2MmZu?= =?utf-8?B?aFFlQlZzZGt0WlBQNGc4T0cyMkl0Qjh5RzBHdjczY2JhRnk2MmxGTE9LeWNG?= =?utf-8?B?SG45SXlndERCRzNNbnBXN1V2TG1FODhYSXNrd09SLzNnaUF1MEtIWFJnN001?= =?utf-8?B?SjVzdHZ0eXZCN2MrazNSMEgxUnBMNnlTdS9OZWFOSFVrdDFQdXlHSDVBNmlS?= =?utf-8?B?bE05WGZNUlVZeEJEQ3RJWUdnU1YyNndYN1U0TUtjNUFuWjRWZm1XNU9HT2s2?= =?utf-8?B?aDdYb2xNK08xZ3ZtWWxZd2VCdE0wM1VRR3ZmTzhWQmVVY2orcHlNRmI2M1k4?= =?utf-8?B?MVJVT25IbUh5U1lNYk9kMVNFRDZHMzRDUnNrTUdqTVJqa1BmS05LNnNXS2g4?= =?utf-8?B?aVZXeDdNaCtNczkzMDhORjk1NTZqSlFWeVFreGY0UWNNNkZqTHkzdmduWHYr?= =?utf-8?B?YzJUU05WWGhEUWJmcmR3QVpmRlNtNm9CN1BDRHJKMjJkdWtOQUh6dFF0U3Jq?= =?utf-8?B?RjdIa0NobGRIbTZiZ2dBNWoxT3BzQVA4a1BDc2o3b3ZvK1h1Zk9EWWk0Q044?= =?utf-8?B?WTZiZ3N3aUVyTFhmazE0eWZhelkwY0hBQThYSWg3dXFsVDJzTXcrMzJJaGN0?= =?utf-8?B?RGtFMmdaSHpSbDEwTXhINHhQWWcxbzg5MFJwUmV6R2hpTkJhVkVxVHI4Zy82?= =?utf-8?B?NS90dXFXRHNtTTVVWFcrQUFqOFhIUjQ3b0lzZnFyUW80cW5MeVN4RnpKUDVD?= =?utf-8?B?TDRacjJSQjltSmZKeFZEb0lXNFFqZlpMNmJNaHVmcmRzTjFEVFpINTA4T2l3?= =?utf-8?B?TDR6QXo3LzNJQWVWMHRvYmgzRFpPLzlxNVVmVi9GQzlka1hNSEtyQ3J3Z0NB?= =?utf-8?B?empIMUdDRTVxbDQ4Rks2YWcrR1FKbFhzTGdOUGxZUTJORVY1YXZPMmNzclFr?= =?utf-8?B?L3BibHZmcWJ6UUExQU8zYzdhRWtZeUkyRHcrbUdjei9rQmtXaFJFU2o5YmNN?= =?utf-8?B?S2ZxdU5meHZlbkcyN21KaEVHQXAveUtrNHZNcWpFWlczbUVwWVNFMzgvR3la?= =?utf-8?B?eGpqS3FnZmlBYWdTcnd1aHJzVlNoSlFXV2Y1NkpWVFBiYWw3aW02SWJTaDFS?= =?utf-8?B?S1UxRWZ0OWxCa2UwQTVIaGhRcExEdndLdHFkR2JTQ0E4eGVrTWZUSW9TeC9r?= =?utf-8?B?QlNXbjRoVGY2UHRTQ090LzZEZXozU2tmOThCUlRHOXBQc3lrMGxvMkxUK3M4?= =?utf-8?B?a3VkbmF2Y3Q3c0dHaEVsK2VKemNZcTRIc0djeW1mRi9NdEdwelBWdEFieXAz?= =?utf-8?B?Yk9VTkFyV2tMZ1JhYm15NTZDclJvSndNL1I1QzRGaDFYZU5SWkl3MFVId1Ev?= =?utf-8?B?U2UzTUxoV0FrSyt2eThXbWRkTlpTTjgyZ21vNm1jUzVzaFkrdUl6bFJ4WCtI?= =?utf-8?B?SE1lQkkxRUpvOS9abWVMaVFrSUNpZXBaZVZpYjhXOThTRU5ERzhWb2t1L1Ji?= =?utf-8?B?TGUvaTBBemNwUEhZZkVaRXJTLzBiOWhSRE13QmtycWRNNWVzRUloMzFQRHJw?= =?utf-8?B?VjVxYXpwazl3U1B0dkR3RXAwNkNiV1ZHUDh5S2R1a2F0S0ZlTlQ1RllJbUVr?= =?utf-8?B?SmVjY1pudHhVcTd4Y2NTRWxCcTNjbS9YOWt0UkZYdDBLUWpPRHk1T3NRMUtj?= =?utf-8?B?bnF4T3pHanE4T1VMc0hsdjFaT2dTaTRpYTJaNGFQSXpuRDdITExTdGxSRGN5?= =?utf-8?B?NHZxVm9iSzBlSm5ScjBRQlJiK3AxYlE0T1hFaEEzcTAwTFplYmhsRUxKWDVV?= =?utf-8?B?ZGRXOUMyQkx0OGRoL1EwK0xhLzlnPT0=?= Content-Type: multipart/mixed; boundary="_003_TYCPR01MB8373D7AE0B6C62E5CDB03C6CED989TYCPR01MB8373jpnp_" MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB8373.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a70e8c50-3bc5-4a80-6e44-08d9a831597d X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2021 12:13:35.7085 (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: hieMrh1OE3yLeL6TN8uVYrzbvT3wNdkvPdSR5oTL+L1PXCE3iPM/2+55dpQn6iwpga4cJlZxn6E/zzRc+BokIXCU8Njd66fKxBKLJERAUPU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB7217 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_003_TYCPR01MB8373D7AE0B6C62E5CDB03C6CED989TYCPR01MB8373jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gTW9uZGF5LCBOb3ZlbWJlciAxNSwgMjAyMSA2OjI4IFBNIEkgd3JvdGU6DQo+IE9uIFRodXJz ZGF5LCBOb3ZlbWJlciAxMSwgMjAyMSA5OjQ3IFBNIHZpZ25lc2ggQyA8dmlnbmVzaDIxQGdtYWls LmNvbT4NCj4gd3JvdGU6DQo+ID4gRmV3IG1vcmUgY29tbWVudHM6DQouLi4NCj4gRml4ZWQuIEFs c28sIGl0cyBuYW1lIHdhcyB0b28gbG9uZw0KPiB3aGVuIGFsaWduZWQgd2l0aCBvdGhlciBQZ1N0 YXRfU3RhdERCRW50cnkgbWVtZWJlcnMuDQo+IFRodXMgSSByZW5hbWVkIGl0IGFzIHN1Yndvcmtl cnNfcHJlcGFyZWRzaXplcy4NCj4gDQo+IFRoaXMgZGVwZW5kcyBvbiB2MjEgaW4gWzFdDQpIaQ0K DQpUaGVyZSB3YXMgc29tZSBtaW5vciBjb25mbGljdCBlcnJvciBieSB0aGUgY2hhbmdlIG9mIHYy MiBpbiBbMV0uDQpJJ3ZlIGNvbmR1Y3RlZCBzb21lIHVwZGF0ZSBmb3IgdGhpcy4NCihUaGUgcmVi YXNlZCBwYXJ0IGlzIG9ubHkgQyBjb2RlIGFuZCBjaGVja2VkIGJ5IHBnaW5kZW50KQ0KDQpbMV0g LSBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL0NBRDIxQW9DRTcydktYSnA5 OWY0eFJ3N01oNXZlLVoycm9lMjFnUDhZODJfQ3hYS3ZiZyU0MG1haWwuZ21haWwuY29tDQoNCg0K QmVzdCBSZWdhcmRzLA0KCVRha2FtaWNoaSBPc3VtaQ0KDQo= --_003_TYCPR01MB8373D7AE0B6C62E5CDB03C6CED989TYCPR01MB8373jpnp_ Content-Type: application/octet-stream; name="v11-0001-Rename-existing-columns-of-pg_stat_subscription_.patch" Content-Description: v11-0001-Rename-existing-columns-of-pg_stat_subscription_.patch Content-Disposition: attachment; filename="v11-0001-Rename-existing-columns-of-pg_stat_subscription_.patch"; size=15734; creation-date="Mon, 15 Nov 2021 12:12:34 GMT"; modification-date="Mon, 15 Nov 2021 12:12:34 GMT" Content-Transfer-Encoding: base64 RnJvbSBiYjZkODg5ZTFiYjk4NWEyNGNkYzg1MzJmMzc3OWJhODNlNTgyYzcwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBPc3VtaSBUYWthbWljaGkgPG9zdW1pLnRha2FtaWNoaUBmdWpp dHN1LmNvbT4KRGF0ZTogTW9uLCAxNSBOb3YgMjAyMSAwODo0NTo1NSArMDAwMApTdWJqZWN0OiBb UEFUQ0ggdjExIDEvMl0gUmVuYW1lIGV4aXN0aW5nIGNvbHVtbnMgb2YKIHBnX3N0YXRfc3Vic2Ny aXB0aW9uX3dvcmtlcnMgYW5kIGV4cG9ydCBQYXJ0aXRpb25UdXBsZVJvdXRpbmcKCi0tLQogZG9j L3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbCAgICAgICAgICAgICAgICB8IDI0ICsrKysrLS0tLS0K IHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgfCAxMCArKy0tLQog c3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5jICAgICAgICB8IDcwIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3Mu YyAgICAgICAgIHwgMjAgKysrKy0tLS0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 ICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24u aCAgICAgICAgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAgIHwgMTIgKystLS0KIHNyYy90ZXN0L3N1YnNj cmlwdGlvbi90LzAyNl9lcnJvcl9yZXBvcnQucGwgfCAgOCArKy0tCiA4IGZpbGVzIGNoYW5nZWQs IDEwNyBpbnNlcnRpb25zKCspLCAxMDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL21vbml0b3Jpbmcuc2dtbCBiL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKaW5k ZXggZGFmOWZlOC4uNWIxMGQxOCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcu c2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCkBAIC0zMTAzLDMxICszMTAz LDMxIEBAIFNFTEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2FpdF9ldmVudCBGUk9NIHBnX3N0 YXRfYWN0aXZpdHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAgPHJvdz4KICAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+Ci0gICAgICAgPHN0cnVjdGZpZWxkPnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90 eXBlPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5sYXN0X2Vycm9yX3JlbGlkPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+b2lkPC90eXBlPgogICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+CiAgICAgICAgT0lE IG9mIHRoZSByZWxhdGlvbiB0aGF0IHRoZSB3b3JrZXIgd2FzIHByb2Nlc3Npbmcgd2hlbiB0aGUK LSAgICAgICBlcnJvciBvY2N1cnJlZAorICAgICAgIGxhc3QgZXJyb3Igb2NjdXJyZWQKICAgICAg IDwvcGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KIAogICAgICA8cm93PgogICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KLSAgICAgICA8c3RydWN0ZmllbGQ+Y29tbWFuZDwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8 L3R5cGU+CisgICAgICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfY29tbWFuZDwvc3RydWN0Zmll bGQ+IDx0eXBlPnRleHQ8L3R5cGU+CiAgICAgICA8L3BhcmE+CiAgICAgICA8cGFyYT4KLSAgICAg ICBOYW1lIG9mIGNvbW1hbmQgYmVpbmcgYXBwbGllZCB3aGVuIHRoZSBlcnJvciBvY2N1cnJlZC4g IFRoaXMgZmllbGQKLSAgICAgICBpcyBhbHdheXMgTlVMTCBpZiB0aGUgZXJyb3Igd2FzIHJlcG9y dGVkIGR1cmluZyB0aGUgaW5pdGlhbCBkYXRhCi0gICAgICAgY29weS4KKyAgICAgICBOYW1lIG9m IHRoZSBsYXN0IGNvbW1hbmQgYmVpbmcgYXBwbGllZCB3aGVuIHRoZSBlcnJvciBvY2N1cnJlZC4K KyAgICAgICBUaGlzIGZpZWxkIGlzIGFsd2F5cyBOVUxMIGlmIHRoZSBlcnJvciB3YXMgcmVwb3J0 ZWQgZHVyaW5nIHRoZQorICAgICAgIGluaXRpYWwgZGF0YSBjb3B5LgogICAgICAgPC9wYXJhPjwv ZW50cnk+CiAgICAgIDwvcm93PgogCiAgICAgIDxyb3c+CiAgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgotICAgICAg IDxzdHJ1Y3RmaWVsZD54aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT54aWQ8L3R5cGU+CisgICAgICAg PHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfeGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+eGlkPC90eXBl PgogICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+Ci0gICAgICAgVHJhbnNhY3Rpb24gSUQgb2Yg dGhlIHB1Ymxpc2hlciBub2RlIGJlaW5nIGFwcGxpZWQgd2hlbiB0aGUgZXJyb3IKKyAgICAgICBU cmFuc2FjdGlvbiBJRCBvZiB0aGUgcHVibGlzaGVyIG5vZGUgYmVpbmcgYXBwbGllZCB3aGVuIHRo ZSBsYXN0IGVycm9yCiAgICAgICAgb2NjdXJyZWQuICBUaGlzIGZpZWxkIGlzIGFsd2F5cyBOVUxM IGlmIHRoZSBlcnJvciB3YXMgcmVwb3J0ZWQKICAgICAgICBkdXJpbmcgdGhlIGluaXRpYWwgZGF0 YSBjb3B5LgogICAgICAgPC9wYXJhPjwvZW50cnk+CkBAIC0zMTM1LDE5ICszMTM1LDE5IEBAIFNF TEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2FpdF9ldmVudCBGUk9NIHBnX3N0YXRfYWN0aXZp dHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAgPHJvdz4KICAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Ci0gICAg ICAgPHN0cnVjdGZpZWxkPmVycm9yX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dWludDg8L3R5 cGU+CisgICAgICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfY291bnQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT51aW50ODwvdHlwZT4KICAgICAgIDwvcGFyYT4KICAgICAgIDxwYXJhPgotICAgICAgIE51 bWJlciBvZiBjb25zZWN1dGl2ZSB0aW1lcyB0aGUgZXJyb3Igb2NjdXJyZWQKKyAgICAgICBOdW1i ZXIgb2YgY29uc2VjdXRpdmUgdGltZXMgdGhlIGxhc3QgZXJyb3Igb2NjdXJyZWQKICAgICAgIDwv cGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KIAogICAgICA8cm93PgogICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K LSAgICAgICA8c3RydWN0ZmllbGQ+ZXJyb3JfbWVzc2FnZTwvc3RydWN0ZmllbGQ+IDx0eXBlPnRl eHQ8L3R5cGU+CisgICAgICAgPHN0cnVjdGZpZWxkPmxhc3RfZXJyb3JfbWVzc2FnZTwvc3RydWN0 ZmllbGQ+IDx0eXBlPnRleHQ8L3R5cGU+CiAgICAgICA8L3BhcmE+CiAgICAgICA8cGFyYT4KLSAg ICAgICBUaGUgZXJyb3IgbWVzc2FnZQorICAgICAgIFRoZSBsYXN0IGVycm9yIG1lc3NhZ2UKICAg ICAgIDwvcGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsCmluZGV4IGNiMmY3N2MuLmVjZjFhMGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3Rl bV92aWV3cy5zcWwKQEAgLTEyNjcsMTEgKzEyNjcsMTEgQEAgQ1JFQVRFIFZJRVcgcGdfc3RhdF9z dWJzY3JpcHRpb25fd29ya2VycyBBUwogICAgICAgICB3LnN1YmlkLAogICAgICAgICBzLnN1Ym5h bWUsCiAgICAgICAgIHcuc3VicmVsaWQsCi0gICAgICAgIHcucmVsaWQsCi0gICAgICAgIHcuY29t bWFuZCwKLSAgICAgICAgdy54aWQsCi0gICAgICAgIHcuZXJyb3JfY291bnQsCi0gICAgICAgIHcu ZXJyb3JfbWVzc2FnZSwKKyAgICAgICAgdy5sYXN0X2Vycm9yX3JlbGlkLAorICAgICAgICB3Lmxh c3RfZXJyb3JfY29tbWFuZCwKKyAgICAgICAgdy5sYXN0X2Vycm9yX3hpZCwKKyAgICAgICAgdy5s YXN0X2Vycm9yX2NvdW50LAorICAgICAgICB3Lmxhc3RfZXJyb3JfbWVzc2FnZSwKICAgICAgICAg dy5maXJzdF9lcnJvcl90aW1lLAogICAgICAgICB3Lmxhc3RfZXJyb3JfdGltZQogICAgIEZST00g KFNFTEVDVApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5j IGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5jCmluZGV4IDVjNzIzYmMuLjI0 NjdmNGMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uYwor KysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjUGFydGl0aW9uLmMKQEAgLTM0LDc2ICszNCw2 IEBACiAjaW5jbHVkZSAidXRpbHMvcmxzLmgiCiAjaW5jbHVkZSAidXRpbHMvcnVsZXV0aWxzLmgi CiAKLQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICogUGFydGl0aW9uVHVwbGVSb3V0aW5n IC0gRW5jYXBzdWxhdGVzIGFsbCBpbmZvcm1hdGlvbiByZXF1aXJlZCB0bwotICogcm91dGUgYSB0 dXBsZSBpbnNlcnRlZCBpbnRvIGEgcGFydGl0aW9uZWQgdGFibGUgdG8gb25lIG9mIGl0cyBsZWFm Ci0gKiBwYXJ0aXRpb25zLgotICoKLSAqIHBhcnRpdGlvbl9yb290Ci0gKgkJVGhlIHBhcnRpdGlv bmVkIHRhYmxlIHRoYXQncyB0aGUgdGFyZ2V0IG9mIHRoZSBjb21tYW5kLgotICoKLSAqIHBhcnRp dGlvbl9kaXNwYXRjaF9pbmZvCi0gKgkJQXJyYXkgb2YgJ21heF9kaXNwYXRjaCcgZWxlbWVudHMg Y29udGFpbmluZyBhIHBvaW50ZXIgdG8gYQotICoJCVBhcnRpdGlvbkRpc3BhdGNoIG9iamVjdCBm b3IgZXZlcnkgcGFydGl0aW9uZWQgdGFibGUgdG91Y2hlZCBieSB0dXBsZQotICoJCXJvdXRpbmcu ICBUaGUgZW50cnkgZm9yIHRoZSB0YXJnZXQgcGFydGl0aW9uZWQgdGFibGUgaXMgKmFsd2F5cyoK LSAqCQlwcmVzZW50IGluIHRoZSAwdGggZWxlbWVudCBvZiB0aGlzIGFycmF5LiAgU2VlIGNvbW1l bnQgZm9yCi0gKgkJUGFydGl0aW9uRGlzcGF0Y2hEYXRhLT5pbmRleGVzIGZvciBkZXRhaWxzIG9u IGhvdyB0aGlzIGFycmF5IGlzCi0gKgkJaW5kZXhlZC4KLSAqCi0gKiBub25sZWFmX3BhcnRpdGlv bnMKLSAqCQlBcnJheSBvZiAnbWF4X2Rpc3BhdGNoJyBlbGVtZW50cyBjb250YWluaW5nIHBvaW50 ZXJzIHRvIGZha2UKLSAqCQlSZXN1bHRSZWxJbmZvIG9iamVjdHMgZm9yIG5vbmxlYWYgcGFydGl0 aW9ucywgdXNlZnVsIGZvciBjaGVja2luZwotICoJCXRoZSBwYXJ0aXRpb24gY29uc3RyYWludC4K LSAqCi0gKiBudW1fZGlzcGF0Y2gKLSAqCQlUaGUgY3VycmVudCBudW1iZXIgb2YgaXRlbXMgc3Rv cmVkIGluIHRoZSAncGFydGl0aW9uX2Rpc3BhdGNoX2luZm8nCi0gKgkJYXJyYXkuICBBbHNvIHNl cnZlcyBhcyB0aGUgaW5kZXggb2YgdGhlIG5leHQgZnJlZSBhcnJheSBlbGVtZW50IGZvcgotICoJ CW5ldyBQYXJ0aXRpb25EaXNwYXRjaCBvYmplY3RzIHRoYXQgbmVlZCB0byBiZSBzdG9yZWQuCi0g KgotICogbWF4X2Rpc3BhdGNoCi0gKgkJVGhlIGN1cnJlbnQgYWxsb2NhdGVkIHNpemUgb2YgdGhl ICdwYXJ0aXRpb25fZGlzcGF0Y2hfaW5mbycgYXJyYXkuCi0gKgotICogcGFydGl0aW9ucwotICoJ CUFycmF5IG9mICdtYXhfcGFydGl0aW9ucycgZWxlbWVudHMgY29udGFpbmluZyBhIHBvaW50ZXIg dG8gYQotICoJCVJlc3VsdFJlbEluZm8gZm9yIGV2ZXJ5IGxlYWYgcGFydGl0aW9uIHRvdWNoZWQg YnkgdHVwbGUgcm91dGluZy4KLSAqCQlTb21lIG9mIHRoZXNlIGFyZSBwb2ludGVycyB0byBSZXN1 bHRSZWxJbmZvcyB3aGljaCBhcmUgYm9ycm93ZWQgb3V0IG9mCi0gKgkJdGhlIG93bmluZyBNb2Rp ZnlUYWJsZVN0YXRlIG5vZGUuICBUaGUgcmVtYWluZGVyIGhhdmUgYmVlbiBidWlsdAotICoJCWVz cGVjaWFsbHkgZm9yIHR1cGxlIHJvdXRpbmcuICBTZWUgY29tbWVudCBmb3IKLSAqCQlQYXJ0aXRp b25EaXNwYXRjaERhdGEtPmluZGV4ZXMgZm9yIGRldGFpbHMgb24gaG93IHRoaXMgYXJyYXkgaXMK LSAqCQlpbmRleGVkLgotICoKLSAqIGlzX2JvcnJvd2VkX3JlbAotICoJCUFycmF5IG9mICdtYXhf cGFydGl0aW9ucycgYm9vbGVhbnMgcmVjb3JkaW5nIHdoZXRoZXIgYSBnaXZlbiBlbnRyeQotICoJ CWluICdwYXJ0aXRpb25zJyBpcyBhIFJlc3VsdFJlbEluZm8gcG9pbnRlciBib3Jyb3dlZCBmcm9t IHRoZSBvd25pbmcKLSAqCQlNb2RpZnlUYWJsZVN0YXRlIG5vZGUsIHJhdGhlciB0aGFuIGJlaW5n IGJ1aWx0IGhlcmUuCi0gKgotICogbnVtX3BhcnRpdGlvbnMKLSAqCQlUaGUgY3VycmVudCBudW1i ZXIgb2YgaXRlbXMgc3RvcmVkIGluIHRoZSAncGFydGl0aW9ucycgYXJyYXkuICBBbHNvCi0gKgkJ c2VydmVzIGFzIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBmcmVlIGFycmF5IGVsZW1lbnQgZm9yIG5l dwotICoJCVJlc3VsdFJlbEluZm8gb2JqZWN0cyB0aGF0IG5lZWQgdG8gYmUgc3RvcmVkLgotICoK LSAqIG1heF9wYXJ0aXRpb25zCi0gKgkJVGhlIGN1cnJlbnQgYWxsb2NhdGVkIHNpemUgb2YgdGhl ICdwYXJ0aXRpb25zJyBhcnJheS4KLSAqCi0gKiBtZW1jeHQKLSAqCQlNZW1vcnkgY29udGV4dCB1 c2VkIHRvIGFsbG9jYXRlIHN1YnNpZGlhcnkgc3RydWN0cy4KLSAqLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KLSAqLwotc3RydWN0IFBhcnRpdGlvblR1cGxlUm91dGluZwotewotCVJlbGF0aW9uCXBh cnRpdGlvbl9yb290OwotCVBhcnRpdGlvbkRpc3BhdGNoICpwYXJ0aXRpb25fZGlzcGF0Y2hfaW5m bzsKLQlSZXN1bHRSZWxJbmZvICoqbm9ubGVhZl9wYXJ0aXRpb25zOwotCWludAkJCW51bV9kaXNw YXRjaDsKLQlpbnQJCQltYXhfZGlzcGF0Y2g7Ci0JUmVzdWx0UmVsSW5mbyAqKnBhcnRpdGlvbnM7 Ci0JYm9vbAkgICAqaXNfYm9ycm93ZWRfcmVsOwotCWludAkJCW51bV9wYXJ0aXRpb25zOwotCWlu dAkJCW1heF9wYXJ0aXRpb25zOwotCU1lbW9yeUNvbnRleHQgbWVtY3h0OwotfTsKLQogLyotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogICogUGFydGl0aW9uRGlzcGF0Y2ggLSBpbmZvcm1hdGlvbiBh Ym91dCBvbmUgcGFydGl0aW9uZWQgdGFibGUgaW4gYSBwYXJ0aXRpb24KICAqIGhpZXJhcmNoeSBy ZXF1aXJlZCB0byByb3V0ZSBhIHR1cGxlIHRvIGFueSBvZiBpdHMgcGFydGl0aW9ucy4gIEEKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggYjE5NzI5ZC4uYTM0YzBiNiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTI0NDEsMTUgKzI0NDEsMTUgQEAgcGdfc3Rh dF9nZXRfc3Vic2NyaXB0aW9uX3dvcmtlcihQR19GVU5DVElPTl9BUkdTKQogCQkJCQkgICBPSURP SUQsIC0xLCAwKTsKIAlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDIs ICJzdWJyZWxpZCIsCiAJCQkJCSAgIE9JRE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgMywgInJlbGlkIiwKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpIDMsICJsYXN0X2Vycm9yX3JlbGlkIiwKIAkJCQkJICAgT0lE T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA0 LCAiY29tbWFuZCIsCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA0 LCAibGFzdF9lcnJvcl9jb21tYW5kIiwKIAkJCQkJICAgVEVYVE9JRCwgLTEsIDApOwotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgNSwgInhpZCIsCisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA1LCAibGFzdF9lcnJvcl94aWQiLAogCQkJ CQkgICBYSURPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpIDYsICJlcnJvcl9jb3VudCIsCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSA2LCAibGFzdF9lcnJvcl9jb3VudCIsCiAJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDcsICJlcnJvcl9t ZXNzYWdlIiwKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDcsICJs YXN0X2Vycm9yX21lc3NhZ2UiLAogCQkJCQkgICBURVhUT0lELCAtMSwgMCk7CiAJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA4LCAiZmlyc3RfZXJyb3JfdGltZSIsCiAJ CQkJCSAgIFRJTUVTVEFNUFRaT0lELCAtMSwgMCk7CkBAIC0yNDcxLDI4ICsyNDcxLDI4IEBAIHBn X3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl93b3JrZXIoUEdfRlVOQ1RJT05fQVJHUykKIAllbHNlCiAJ CW51bGxzW2krK10gPSB0cnVlOwogCi0JLyogcmVsaWQgKi8KKwkvKiBsYXN0X2Vycm9yX3JlbGlk ICovCiAJaWYgKE9pZElzVmFsaWQod2VudHJ5LT5yZWxpZCkpCiAJCXZhbHVlc1tpKytdID0gT2Jq ZWN0SWRHZXREYXR1bSh3ZW50cnktPnJlbGlkKTsKIAllbHNlCiAJCW51bGxzW2krK10gPSB0cnVl OwogCi0JLyogY29tbWFuZCAqLworCS8qIGxhc3RfZXJyb3JfY29tbWFuZCAqLwogCWlmICh3ZW50 cnktPmNvbW1hbmQgIT0gMCkKIAkJdmFsdWVzW2krK10gPSBDU3RyaW5nR2V0VGV4dERhdHVtKGxv Z2ljYWxyZXBfbWVzc2FnZV90eXBlKHdlbnRyeS0+Y29tbWFuZCkpOwogCWVsc2UKIAkJbnVsbHNb aSsrXSA9IHRydWU7CiAKLQkvKiB4aWQgKi8KKwkvKiBsYXN0X2Vycm9yX3hpZCAqLwogCWlmIChU cmFuc2FjdGlvbklkSXNWYWxpZCh3ZW50cnktPnhpZCkpCiAJCXZhbHVlc1tpKytdID0gVHJhbnNh Y3Rpb25JZEdldERhdHVtKHdlbnRyeS0+eGlkKTsKIAllbHNlCiAJCW51bGxzW2krK10gPSB0cnVl OwogCi0JLyogZXJyb3JfY291bnQgKi8KKwkvKiBsYXN0X2Vycm9yX2NvdW50ICovCiAJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKHdlbnRyeS0+ZXJyb3JfY291bnQpOwogCi0JLyogZXJyb3Jf bWVzc2FnZSAqLworCS8qIGxhc3RfZXJyb3JfbWVzc2FnZSAqLwogCXZhbHVlc1tpKytdID0gQ1N0 cmluZ0dldFRleHREYXR1bSh3ZW50cnktPmVycm9yX21lc3NhZ2UpOwogCiAJLyogZmlyc3RfZXJy b3JfdGltZSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggNTBlMWM3Yi4uMjVmNjg1ZiAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC01MzkxLDcgKzUzOTEsNyBAQAogICBwcm9yZXR0 eXBlID0+ICdyZWNvcmQnLCBwcm9hcmd0eXBlcyA9PiAnb2lkIG9pZCcsCiAgIHByb2FsbGFyZ3R5 cGVzID0+ICd7b2lkLG9pZCxvaWQsb2lkLG9pZCx0ZXh0LHhpZCxpbnQ4LHRleHQsdGltZXN0YW1w dHosdGltZXN0YW1wdHp9JywKICAgcHJvYXJnbW9kZXMgPT4gJ3tpLGksbyxvLG8sbyxvLG8sbyxv LG99JywKLSAgcHJvYXJnbmFtZXMgPT4gJ3tzdWJpZCxzdWJyZWxpZCxzdWJpZCxzdWJyZWxpZCxy ZWxpZCxjb21tYW5kLHhpZCxlcnJvcl9jb3VudCxlcnJvcl9tZXNzYWdlLGZpcnN0X2Vycm9yX3Rp bWUsbGFzdF9lcnJvcl90aW1lfScsCisgIHByb2FyZ25hbWVzID0+ICd7c3ViaWQsc3VicmVsaWQs c3ViaWQsc3VicmVsaWQsbGFzdF9lcnJvcl9yZWxpZCxsYXN0X2Vycm9yX2NvbW1hbmQsbGFzdF9l cnJvcl94aWQsbGFzdF9lcnJvcl9jb3VudCxsYXN0X2Vycm9yX21lc3NhZ2UsZmlyc3RfZXJyb3Jf dGltZSxsYXN0X2Vycm9yX3RpbWV9JywKICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9zdWJzY3Jp cHRpb25fd29ya2VyJyB9LAogeyBvaWQgPT4gJzYxMTgnLCBkZXNjciA9PiAnc3RhdGlzdGljczog aW5mb3JtYXRpb24gYWJvdXQgc3Vic2NyaXB0aW9uJywKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9n ZXRfc3Vic2NyaXB0aW9uJywgcHJvcm93cyA9PiAnMTAnLCBwcm9pc3N0cmljdCA9PiAnZicsCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9leGVjdXRvci9leGVjUGFydGl0aW9uLmggYi9zcmMvaW5j bHVkZS9leGVjdXRvci9leGVjUGFydGl0aW9uLmgKaW5kZXggNjk0ZTM4Yi4uNGM3OTZhYiAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5oCisrKyBiL3NyYy9p bmNsdWRlL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uaApAQCAtMTEwLDYgKzExMCw3NSBAQCB0eXBl ZGVmIHN0cnVjdCBQYXJ0aXRpb25QcnVuZVN0YXRlCiAJUGFydGl0aW9uUHJ1bmluZ0RhdGEgKnBh cnRwcnVuZWRhdGFbRkxFWElCTEVfQVJSQVlfTUVNQkVSXTsKIH0gUGFydGl0aW9uUHJ1bmVTdGF0 ZTsKIAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogUGFydGl0aW9uVHVwbGVSb3V0aW5n IC0gRW5jYXBzdWxhdGVzIGFsbCBpbmZvcm1hdGlvbiByZXF1aXJlZCB0bworICogcm91dGUgYSB0 dXBsZSBpbnNlcnRlZCBpbnRvIGEgcGFydGl0aW9uZWQgdGFibGUgdG8gb25lIG9mIGl0cyBsZWFm CisgKiBwYXJ0aXRpb25zLgorICoKKyAqIHBhcnRpdGlvbl9yb290CisgKgkJVGhlIHBhcnRpdGlv bmVkIHRhYmxlIHRoYXQncyB0aGUgdGFyZ2V0IG9mIHRoZSBjb21tYW5kLgorICoKKyAqIHBhcnRp dGlvbl9kaXNwYXRjaF9pbmZvCisgKgkJQXJyYXkgb2YgJ21heF9kaXNwYXRjaCcgZWxlbWVudHMg Y29udGFpbmluZyBhIHBvaW50ZXIgdG8gYQorICoJCVBhcnRpdGlvbkRpc3BhdGNoIG9iamVjdCBm b3IgZXZlcnkgcGFydGl0aW9uZWQgdGFibGUgdG91Y2hlZCBieSB0dXBsZQorICoJCXJvdXRpbmcu ICBUaGUgZW50cnkgZm9yIHRoZSB0YXJnZXQgcGFydGl0aW9uZWQgdGFibGUgaXMgKmFsd2F5cyoK KyAqCQlwcmVzZW50IGluIHRoZSAwdGggZWxlbWVudCBvZiB0aGlzIGFycmF5LiAgU2VlIGNvbW1l bnQgZm9yCisgKgkJUGFydGl0aW9uRGlzcGF0Y2hEYXRhLT5pbmRleGVzIGZvciBkZXRhaWxzIG9u IGhvdyB0aGlzIGFycmF5IGlzCisgKgkJaW5kZXhlZC4KKyAqCisgKiBub25sZWFmX3BhcnRpdGlv bnMKKyAqCQlBcnJheSBvZiAnbWF4X2Rpc3BhdGNoJyBlbGVtZW50cyBjb250YWluaW5nIHBvaW50 ZXJzIHRvIGZha2UKKyAqCQlSZXN1bHRSZWxJbmZvIG9iamVjdHMgZm9yIG5vbmxlYWYgcGFydGl0 aW9ucywgdXNlZnVsIGZvciBjaGVja2luZworICoJCXRoZSBwYXJ0aXRpb24gY29uc3RyYWludC4K KyAqCisgKiBudW1fZGlzcGF0Y2gKKyAqCQlUaGUgY3VycmVudCBudW1iZXIgb2YgaXRlbXMgc3Rv cmVkIGluIHRoZSAncGFydGl0aW9uX2Rpc3BhdGNoX2luZm8nCisgKgkJYXJyYXkuICBBbHNvIHNl cnZlcyBhcyB0aGUgaW5kZXggb2YgdGhlIG5leHQgZnJlZSBhcnJheSBlbGVtZW50IGZvcgorICoJ CW5ldyBQYXJ0aXRpb25EaXNwYXRjaCBvYmplY3RzIHRoYXQgbmVlZCB0byBiZSBzdG9yZWQuCisg KgorICogbWF4X2Rpc3BhdGNoCisgKgkJVGhlIGN1cnJlbnQgYWxsb2NhdGVkIHNpemUgb2YgdGhl ICdwYXJ0aXRpb25fZGlzcGF0Y2hfaW5mbycgYXJyYXkuCisgKgorICogcGFydGl0aW9ucworICoJ CUFycmF5IG9mICdtYXhfcGFydGl0aW9ucycgZWxlbWVudHMgY29udGFpbmluZyBhIHBvaW50ZXIg dG8gYQorICoJCVJlc3VsdFJlbEluZm8gZm9yIGV2ZXJ5IGxlYWYgcGFydGl0aW9uIHRvdWNoZWQg YnkgdHVwbGUgcm91dGluZy4KKyAqCQlTb21lIG9mIHRoZXNlIGFyZSBwb2ludGVycyB0byBSZXN1 bHRSZWxJbmZvcyB3aGljaCBhcmUgYm9ycm93ZWQgb3V0IG9mCisgKgkJdGhlIG93bmluZyBNb2Rp ZnlUYWJsZVN0YXRlIG5vZGUuICBUaGUgcmVtYWluZGVyIGhhdmUgYmVlbiBidWlsdAorICoJCWVz cGVjaWFsbHkgZm9yIHR1cGxlIHJvdXRpbmcuICBTZWUgY29tbWVudCBmb3IKKyAqCQlQYXJ0aXRp b25EaXNwYXRjaERhdGEtPmluZGV4ZXMgZm9yIGRldGFpbHMgb24gaG93IHRoaXMgYXJyYXkgaXMK KyAqCQlpbmRleGVkLgorICoKKyAqIGlzX2JvcnJvd2VkX3JlbAorICoJCUFycmF5IG9mICdtYXhf cGFydGl0aW9ucycgYm9vbGVhbnMgcmVjb3JkaW5nIHdoZXRoZXIgYSBnaXZlbiBlbnRyeQorICoJ CWluICdwYXJ0aXRpb25zJyBpcyBhIFJlc3VsdFJlbEluZm8gcG9pbnRlciBib3Jyb3dlZCBmcm9t IHRoZSBvd25pbmcKKyAqCQlNb2RpZnlUYWJsZVN0YXRlIG5vZGUsIHJhdGhlciB0aGFuIGJlaW5n IGJ1aWx0IGhlcmUuCisgKgorICogbnVtX3BhcnRpdGlvbnMKKyAqCQlUaGUgY3VycmVudCBudW1i ZXIgb2YgaXRlbXMgc3RvcmVkIGluIHRoZSAncGFydGl0aW9ucycgYXJyYXkuICBBbHNvCisgKgkJ c2VydmVzIGFzIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBmcmVlIGFycmF5IGVsZW1lbnQgZm9yIG5l dworICoJCVJlc3VsdFJlbEluZm8gb2JqZWN0cyB0aGF0IG5lZWQgdG8gYmUgc3RvcmVkLgorICoK KyAqIG1heF9wYXJ0aXRpb25zCisgKgkJVGhlIGN1cnJlbnQgYWxsb2NhdGVkIHNpemUgb2YgdGhl ICdwYXJ0aXRpb25zJyBhcnJheS4KKyAqCisgKiBtZW1jeHQKKyAqCQlNZW1vcnkgY29udGV4dCB1 c2VkIHRvIGFsbG9jYXRlIHN1YnNpZGlhcnkgc3RydWN0cy4KKyAqLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAqLworc3RydWN0IFBhcnRpdGlvblR1cGxlUm91dGluZworeworCVJlbGF0aW9uCXBh cnRpdGlvbl9yb290OworCVBhcnRpdGlvbkRpc3BhdGNoICpwYXJ0aXRpb25fZGlzcGF0Y2hfaW5m bzsKKwlSZXN1bHRSZWxJbmZvICoqbm9ubGVhZl9wYXJ0aXRpb25zOworCWludAkJCW51bV9kaXNw YXRjaDsKKwlpbnQJCQltYXhfZGlzcGF0Y2g7CisJUmVzdWx0UmVsSW5mbyAqKnBhcnRpdGlvbnM7 CisJYm9vbAkgICAqaXNfYm9ycm93ZWRfcmVsOworCWludAkJCW51bV9wYXJ0aXRpb25zOworCWlu dAkJCW1heF9wYXJ0aXRpb25zOworCU1lbW9yeUNvbnRleHQgbWVtY3h0OworfTsKKwogZXh0ZXJu IFBhcnRpdGlvblR1cGxlUm91dGluZyAqRXhlY1NldHVwUGFydGl0aW9uVHVwbGVSb3V0aW5nKEVT dGF0ZSAqZXN0YXRlLAogCQkJCQkJCQkJCQkJCQkJIFJlbGF0aW9uIHJlbCk7CiBleHRlcm4gUmVz dWx0UmVsSW5mbyAqRXhlY0ZpbmRQYXJ0aXRpb24oTW9kaWZ5VGFibGVTdGF0ZSAqbXRzdGF0ZSwK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggY2I2ZGEyYy4uZDYwYzVhNSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIwOTcsMTEgKzIwOTcsMTEgQEAgcGdf c3RhdF9zdWJzY3JpcHRpb258IFNFTEVDVCBzdS5vaWQgQVMgc3ViaWQsCiBwZ19zdGF0X3N1YnNj cmlwdGlvbl93b3JrZXJzfCBTRUxFQ1Qgdy5zdWJpZCwKICAgICBzLnN1Ym5hbWUsCiAgICAgdy5z dWJyZWxpZCwKLSAgICB3LnJlbGlkLAotICAgIHcuY29tbWFuZCwKLSAgICB3LnhpZCwKLSAgICB3 LmVycm9yX2NvdW50LAotICAgIHcuZXJyb3JfbWVzc2FnZSwKKyAgICB3Lmxhc3RfZXJyb3JfcmVs aWQsCisgICAgdy5sYXN0X2Vycm9yX2NvbW1hbmQsCisgICAgdy5sYXN0X2Vycm9yX3hpZCwKKyAg ICB3Lmxhc3RfZXJyb3JfY291bnQsCisgICAgdy5sYXN0X2Vycm9yX21lc3NhZ2UsCiAgICAgdy5m aXJzdF9lcnJvcl90aW1lLAogICAgIHcubGFzdF9lcnJvcl90aW1lCiAgICBGUk9NICggU0VMRUNU IHBnX3N1YnNjcmlwdGlvbi5vaWQgQVMgc3ViaWQsCkBAIC0yMTEyLDcgKzIxMTIsNyBAQCBwZ19z dGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzfCBTRUxFQ1Qgdy5zdWJpZCwKICAgICAgICAgICAgIHBn X3N1YnNjcmlwdGlvbl9yZWwuc3JyZWxpZCBBUyByZWxpZAogICAgICAgICAgICBGUk9NIHBnX3N1 YnNjcmlwdGlvbl9yZWwKICAgICAgICAgICBXSEVSRSAocGdfc3Vic2NyaXB0aW9uX3JlbC5zcnN1 YnN0YXRlIDw+ICdyJzo6ImNoYXIiKSkgc3IsCi0gICAgKExBVEVSQUwgcGdfc3RhdF9nZXRfc3Vi c2NyaXB0aW9uX3dvcmtlcihzci5zdWJpZCwgc3IucmVsaWQpIHcoc3ViaWQsIHN1YnJlbGlkLCBy ZWxpZCwgY29tbWFuZCwgeGlkLCBlcnJvcl9jb3VudCwgZXJyb3JfbWVzc2FnZSwgZmlyc3RfZXJy b3JfdGltZSwgbGFzdF9lcnJvcl90aW1lKQorICAgIChMQVRFUkFMIHBnX3N0YXRfZ2V0X3N1YnNj cmlwdGlvbl93b3JrZXIoc3Iuc3ViaWQsIHNyLnJlbGlkKSB3KHN1YmlkLCBzdWJyZWxpZCwgbGFz dF9lcnJvcl9yZWxpZCwgbGFzdF9lcnJvcl9jb21tYW5kLCBsYXN0X2Vycm9yX3hpZCwgbGFzdF9l cnJvcl9jb3VudCwgbGFzdF9lcnJvcl9tZXNzYWdlLCBmaXJzdF9lcnJvcl90aW1lLCBsYXN0X2Vy cm9yX3RpbWUpCiAgICAgIEpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gKCh3LnN1YmlkID0gcy5v aWQpKSk7CiBwZ19zdGF0X3N5c19pbmRleGVzfCBTRUxFQ1QgcGdfc3RhdF9hbGxfaW5kZXhlcy5y ZWxpZCwKICAgICBwZ19zdGF0X2FsbF9pbmRleGVzLmluZGV4cmVsaWQsCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjZfZXJyb3JfcmVwb3J0LnBsIGIvc3JjL3Rlc3Qvc3Vi c2NyaXB0aW9uL3QvMDI2X2Vycm9yX3JlcG9ydC5wbAppbmRleCAxMjI3NjU0Li5jYTMwYWIyIDEw MDY0NAotLS0gYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjZfZXJyb3JfcmVwb3J0LnBsCisr KyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAyNl9lcnJvcl9yZXBvcnQucGwKQEAgLTE1LDgg KzE1LDggQEAgc3ViIHRlc3Rfc3Vic2NyaXB0aW9uX2Vycm9yCiAKICAgICBteSAkY2hlY2tfc3Fs ID0gcXFbCiBTRUxFQ1QgY291bnQoMSkgPiAwIEZST00gcGdfc3RhdF9zdWJzY3JpcHRpb25fd29y a2VycwotV0hFUkUgcmVsaWQgPSAnJHJlbG5hbWUnOjpyZWdjbGFzc107Ci0gICAgJGNoZWNrX3Nx bCAuPSAiIEFORCB4aWQgPSAnJHhpZCc6OnhpZDsiIGlmICR4aWQgbmUgJyc7CitXSEVSRSBsYXN0 X2Vycm9yX3JlbGlkID0gJyRyZWxuYW1lJzo6cmVnY2xhc3NdOworICAgICRjaGVja19zcWwgLj0g IiBBTkQgbGFzdF9lcnJvcl94aWQgPSAnJHhpZCc6OnhpZDsiIGlmICR4aWQgbmUgJyc7CiAKICAg ICAjIFdhaXQgZm9yIHRoZSBlcnJvciBzdGF0aXN0aWNzIHRvIGJlIHVwZGF0ZWQuCiAgICAgJG5v ZGUtPnBvbGxfcXVlcnlfdW50aWwoCkBAIC0yNiw5ICsyNiw5IEBAIFdIRVJFIHJlbGlkID0gJyRy ZWxuYW1lJzo6cmVnY2xhc3NdOwogICAgIG15ICRyZXN1bHQgPSAkbm9kZS0+c2FmZV9wc3FsKAog CSdwb3N0Z3JlcycsCiAJcXFbCi1TRUxFQ1Qgc3VibmFtZSwgY29tbWFuZCwgcmVsaWQ6OnJlZ2Ns YXNzLCBlcnJvcl9jb3VudCA+IDAKK1NFTEVDVCBzdWJuYW1lLCBsYXN0X2Vycm9yX2NvbW1hbmQs IGxhc3RfZXJyb3JfcmVsaWQ6OnJlZ2NsYXNzLCBsYXN0X2Vycm9yX2NvdW50ID4gMAogRlJPTSBw Z19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzCi1XSEVSRSByZWxpZCA9ICckcmVsbmFtZSc6OnJl Z2NsYXNzOworV0hFUkUgbGFzdF9lcnJvcl9yZWxpZCA9ICckcmVsbmFtZSc6OnJlZ2NsYXNzOwog XSk7CiAgICAgaXMoJHJlc3VsdCwgJGV4cGVjdGVkX2Vycm9yLCAkbXNnKTsKIH0KLS0gCjIuMi4w Cgo= --_003_TYCPR01MB8373D7AE0B6C62E5CDB03C6CED989TYCPR01MB8373jpnp_ Content-Type: application/octet-stream; name="v11-0002-Extend-pg_stat_subscription_workers-to-include-g.patch" Content-Description: v11-0002-Extend-pg_stat_subscription_workers-to-include-g.patch Content-Disposition: attachment; filename="v11-0002-Extend-pg_stat_subscription_workers-to-include-g.patch"; size=54410; creation-date="Mon, 15 Nov 2021 12:12:47 GMT"; modification-date="Mon, 15 Nov 2021 12:12:47 GMT" Content-Transfer-Encoding: base64 RnJvbSA1YTk0OTM5ZTkxZTNiMjE1ZjJlYWFmZWEwMWIwMzZlYWRkZGNlZTIxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBPc3VtaSBUYWthbWljaGkgPG9zdW1pLnRha2FtaWNoaUBmdWpp dHN1LmNvbT4KRGF0ZTogTW9uLCAxNSBOb3YgMjAyMSAxMTo0NDo1MyArMDAwMApTdWJqZWN0OiBb UEFUQ0ggdjExIDIvMl0gRXh0ZW5kIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMgdG8gaW5j bHVkZQogZ2VuZXJhbCB0cmFuc2FjdGlvbiBzdGF0aXN0aWNzCgpDYXRlZ29yaXplIHRyYW5zYWN0 aW9ucyBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uIHN1YnNjcmliZXIKaW50byB0aHJlZSB0eXBlcyAo Y29tbWl0LCBlcnJvciwgYWJvcnQpIGFuZCBpbnRyb2R1Y2UKY3VtdWxhdGl2ZSBjb2x1bW5zIG9m IHRob3NlIG51bWJlcnMgYW5kIGFtb3VudHMgb2YKY29uc3VtZWQgZGF0YSBkdXJpbmcgbWVzc2Fn ZSBhcHBseSByZXNwZWN0aXZlbHkuCgpUaGUgY2FsY3VsYXRpb24gb2YgY29uc3VtZWQgcmVzb3Vy Y2VzIGJ5IHN1YnNjcmliZXIncyBhcHBseQppcyBjb21wdXRlZCBiYXNlZCBvbiB0aGUgZGF0YSBz dHJ1Y3R1cmUgZm9yIG1lc3NhZ2UgYXBwbHkKYW5kIGV4dHJhIGRhdGEsIHdoaWNoIGlzIGRpZmZl cmVudCBmcm9tIHRoYXQgb2YgcHVibGlzaGVyJ3MKZGVjb2RpbmcgcHJvY2Vzc2luZy4gQXQgcHJl c2VudCwgdGhlcmUncyBubyBzcGVjaWFsIGNvbnNpZGVyYXRpb24KdG8gc3Bvb2wgZmlsZSBzdGF0 aXN0aWNzIHN1Y2ggYXMgYW1vdW50IG9mIGRhdGEgc3Bvb2xlZCB0byBkaXNrIG9yCml0cyBjb3Vu dC4gQnV0LCB0aGlzIGNhbiBiZSBhZGRlZCBsYXRlci4KClRoZSBhbW91bnQgb2YgZGF0YSB1c2Vk IGJ5IGFwcGx5IGZvciBTVFJFQU0gQ09NTUlUIGFuZApTVFJFQU0gUFJFUEFSRSBpcyB0cmFuc2Fj dGlvbiBkYXRhIGNvbnN1bXB0aW9uIGFuZCBjYW4gYmUKcmVnYXJkZWQgYXMgZGF0YSB0aGF0IHNo b3VsZCBiZSBhZGRlZCB0byBjb2x1bW4gb2YgdGhpcyBjb21taXQuClRoaXMgc2l6ZSBvZiBwcmVw YXJlZCB0cmFuc2FjdGlvbiBiZWNvbWVzIHBlcnNpc3RlbnQgdG8gY29uY2x1ZGUKdGhlIGFwcHJv cHJpYXRlIGNhdGVnb3J5IGZvciB0aGUgdHJhbnNhY3Rpb24gYXQgZWl0aGVyIGNvbW1pdApwcmVw YXJlZCBvciByb2xsYmFjayBwcmVwYXJlZCB0aW1lLgoKQXV0aG9yOiBUYWthbWljaGkgT3N1bWkK RGlzY3Vzc2VkICYgUmV2aWV3ZWQtYnk6IEFtaXQgS2FwaWxhLCBNYXNhaGlrbyBTYXdhZGEsIEhv dSBaaGlqaWUsIEdyZWcgTmFuY2Fycm93LCBWaWduZXNoIEMsIEFqaW4gQ2hlcmlhbgpEaXNjdXNz aW9uOiBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL09TQlBSMDFNQjQ4ODg3 Q0E4RjQwQzhEOTg0QTZEQzAwQ0VEMTk5JTQwT1NCUFIwMU1CNDg4OC5qcG5wcmQwMS5wcm9kLm91 dGxvb2suY29tCi0tLQogZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbCAgICAgICAgICAgICAg ICAgICAgIHwgIDcxICsrKystCiBzcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwg ICAgICAgICAgICAgfCAgIDYgKwogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYyAgICAg ICAgICAgICAgICAgIHwgMzI0ICsrKysrKysrKysrKysrKysrKysrKystCiBzcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL3Byb3RvLmMgICAgICAgICAgfCAgMTIgKwogc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYyAgICAgIHwgICA2ICsKIHNyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgICAgICAgICB8IDE2OSArKysrKysrKysrKy0K IHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICAgICB8ICAzNiAr Ky0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgICAgICB8ICAg NiArLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg MTAxICsrKysrKy0KIHNyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2xvZ2ljYWx3b3JrZXIuaCAgICAg ICAgICB8ICAgNSArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAg ICAgICAgfCAgIDggKy0KIHNyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAyN193b3JrZXJfeGFjdF9z dGF0cy5wbCB8IDE0NiArKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlz dCAgICAgICAgICAgICAgICAgfCAgIDQgKwogMTMgZmlsZXMgY2hhbmdlZCwgODczIGluc2VydGlv bnMoKyksIDIxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3N1YnNj cmlwdGlvbi90LzAyN193b3JrZXJfeGFjdF9zdGF0cy5wbAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMv c2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCmluZGV4 IDViMTBkMTguLjIyY2FlZWYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbApAQCAtNjI5LDggKzYyOSw4IEBA IHBvc3RncmVzICAgMjcwOTMgIDAuMCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAgICBTcyAgIDEx OjM0ICAgMDowMCBwb3N0Z3Jlczogc2VyCiAKICAgICAgPHJvdz4KICAgICAgIDxlbnRyeT48c3Ry dWN0bmFtZT5wZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzPC9zdHJ1Y3RuYW1lPjxpbmRleHRl cm0+PHByaW1hcnk+cGdfc3RhdF9zdWJzY3JpcHRpb25fd29ya2VyczwvcHJpbWFyeT48L2luZGV4 dGVybT48L2VudHJ5PgotICAgICAgPGVudHJ5Pk9uZSByb3cgcGVyIHN1YnNjcmlwdGlvbiB3b3Jr ZXIsIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCBlcnJvcnMKLSAgICAgIHRoYXQgb2NjdXJyZWQg b24gdGhhdCBzdWJzY3JpcHRpb24gd29ya2VyLgorICAgICAgPGVudHJ5Pk9uZSByb3cgcGVyIHN1 YnNjcmlwdGlvbiB3b3JrZXIsIHNob3dpbmcgdHJhbnNhY3Rpb24gc3RhdGlzdGljcworICAgICAg YW5kIGluZm9ybWF0aW9uIGFib3V0IGVycm9ycyB0aGF0IG9jY3VycmVkIG9uIHRoYXQgc3Vic2Ny aXB0aW9uIHdvcmtlci4KICAgICAgIFNlZSA8bGluayBsaW5rZW5kPSJtb25pdG9yaW5nLXBnLXN0 YXQtc3Vic2NyaXB0aW9uLXdvcmtlcnMiPgogICAgICAgPHN0cnVjdG5hbWU+cGdfc3RhdF9zdWJz Y3JpcHRpb25fd29ya2Vyczwvc3RydWN0bmFtZT48L2xpbms+IGZvciBkZXRhaWxzLgogICAgICAg PC9lbnRyeT4KQEAgLTMwNTIsMTAgKzMwNTIsMTIgQEAgU0VMRUNUIHBpZCwgd2FpdF9ldmVudF90 eXBlLCB3YWl0X2V2ZW50IEZST00gcGdfc3RhdF9hY3Rpdml0eSBXSEVSRSB3YWl0X2V2ZW50IGkK IAogICA8cGFyYT4KICAgIFRoZSA8c3RydWN0bmFtZT5wZ19zdGF0X3N1YnNjcmlwdGlvbl93b3Jr ZXJzPC9zdHJ1Y3RuYW1lPiB2aWV3IHdpbGwgY29udGFpbgotICAgb25lIHJvdyBwZXIgc3Vic2Ny aXB0aW9uIGVycm9yIHJlcG9ydGVkIGJ5IHdvcmtlcnMgYXBwbHlpbmcgbG9naWNhbAorICAgb25l IHJvdyBwZXIgc3Vic2NyaXB0aW9uLCBzaG93aW5nIGNvcnJlc3BvbmRpbmcgdHJhbnNhY3Rpb24g c3RhdGlzdGljcyBhbmQKKyAgIGluZm9ybWF0aW9uIGFib3V0IHRoZSBlcnJvciByZXBvcnRlZCBi eSB3b3JrZXJzIGFwcGx5aW5nIGxvZ2ljYWwKICAgIHJlcGxpY2F0aW9uIGNoYW5nZXMgYW5kIHdv cmtlcnMgaGFuZGxpbmcgdGhlIGluaXRpYWwgZGF0YSBjb3B5IG9mIHRoZQogICAgc3Vic2NyaWJl ZCB0YWJsZXMuICBUaGUgc3RhdGlzdGljcyBlbnRyeSBpcyByZW1vdmVkIHdoZW4gdGhlIHN1YnNj cmlwdGlvbgotICAgdGhlIHdvcmtlciBpcyBydW5uaW5nIG9uIGlzIHJlbW92ZWQuCisgICB0aGUg d29ya2VyIGlzIHJ1bm5pbmcgb24gaXMgcmVtb3ZlZC4gVGhlIHN0YXRpc3RpY3Mgb2YgdHJhbnNh Y3Rpb24gc2l6ZSBpcworICAgdXRpbGl6ZWQgb25seSBieSB0aGUgYXBwbHkgd29ya2VyLgogICA8 L3BhcmE+CiAKICAgPHRhYmxlIGlkPSJwZy1zdGF0LXN1YnNjcmlwdGlvbi13b3JrZXJzIiB4cmVm bGFiZWw9InBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMiPgpAQCAtMzEwMyw2ICszMTA1LDY3 IEBAIFNFTEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2FpdF9ldmVudCBGUk9NIHBnX3N0YXRf YWN0aXZpdHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAgPHJvdz4KICAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPmNvbW1pdF9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJp Z2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBv ZiB0cmFuc2FjdGlvbnMgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQgaW4gdGhpcyBzdWJzY3JpcHRpb24u CisgICAgICAgQ09NTUlULCBDT01NSVQgb2Ygc3RyZWFtaW5nIHRyYW5zYWN0aW9uIGFuZCBDT01N SVQgUFJFUEFSRUQgaW5jcmVtZW50cworICAgICAgIHRoaXMgY291bnRlci4KKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+Y29tbWl0X2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgQW1vdW50IG9mIGRh dGEgKGluIGJ5dGVzKSBzdWNjZXNzZnVsbHkgYXBwbGllZCBpbiB0aGlzIHN1YnNjcmlwdGlvbiwK KyAgICAgICBhY3Jvc3MgPGxpdGVyYWw+Y29tbWl0X2NvdW50PC9saXRlcmFsPiB0cmFuc2FjdGlv bnMuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAg ICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5f ZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmVycm9yX2NvdW50PC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgTnVtYmVyIG9mIHRyYW5zYWN0aW9ucyB0aGF0IGZhaWxlZCB0byBiZSBhcHBsaWVkIGJ5IHRo ZSB0YWJsZQorICAgICAgIHN5bmMgd29ya2VyIG9yIG1haW4gYXBwbHkgd29ya2VyIGluIHRoaXMg c3Vic2NyaXB0aW9uLgorICAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZXJyb3JfYnl0ZXM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8 cGFyYT4KKyAgICAgICBBbW91bnQgb2YgZGF0YSAoaW4gYnl0ZXMpIHVuc3VjY2Vzc2Z1bGx5IGFw cGxpZWQgaW4gdGhpcyBzdWJzY3JpcHRpb24sCisgICAgICAgYWNyb3NzIDxsaXRlcmFsPmVycm9y X2NvdW50PC9saXRlcmFsPiB0cmFuc2FjdGlvbnMuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPmFib3J0X2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBhYm9y dGVkIGluIHRoaXMgc3Vic2NyaXB0aW9uLgorICAgICAgIFJPTExCQUNLIFBSRVBBUkVEIGluY3Jl bWVudHMgdGhpcyBjb3VudGVyLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5hYm9ydF9i eXRlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIEFtb3VudCBvZiBkYXRhIChpbiBieXRlcykgYWJvcnRlZCBpbiB0 aGlzIHN1YnNjcmlwdGlvbiwKKyAgICAgICBhY3Jvc3MgPGxpdGVyYWw+YWJvcnRfY291bnQ8L2xp dGVyYWw+IHRyYW5zYWN0aW9ucy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KICAgICAgICA8c3RydWN0ZmllbGQ+bGFzdF9l cnJvcl9yZWxpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KICAgICAgIDwvcGFyYT4K ICAgICAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGVjZjFh MGIuLmE4ODgwZTggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdz LnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTEyNjcs NiArMTI2NywxMiBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzIEFT CiAgICAgICAgIHcuc3ViaWQsCiAgICAgICAgIHMuc3VibmFtZSwKICAgICAgICAgdy5zdWJyZWxp ZCwKKyAgICAgICAgdy5jb21taXRfY291bnQsCisgICAgICAgIHcuY29tbWl0X2J5dGVzLAorICAg ICAgICB3LmVycm9yX2NvdW50LAorICAgICAgICB3LmVycm9yX2J5dGVzLAorICAgICAgICB3LmFi b3J0X2NvdW50LAorICAgICAgICB3LmFib3J0X2J5dGVzLAogICAgICAgICB3Lmxhc3RfZXJyb3Jf cmVsaWQsCiAgICAgICAgIHcubGFzdF9lcnJvcl9jb21tYW5kLAogICAgICAgICB3Lmxhc3RfZXJy b3JfeGlkLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYyBiL3Ny Yy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdzdGF0LmMKaW5kZXggMjA5YTJiNC4uNWFhNWU0NiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYworKysgYi9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL3Bnc3RhdC5jCkBAIC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSAicG9zdG1h c3Rlci9mb3JrX3Byb2Nlc3MuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2ludGVycnVwdC5oIgog I2luY2x1ZGUgInBvc3RtYXN0ZXIvcG9zdG1hc3Rlci5oIgorI2luY2x1ZGUgInJlcGxpY2F0aW9u L2xvZ2ljYWx3b3JrZXIuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9zbG90LmgiCiAjaW5jbHVk ZSAicmVwbGljYXRpb24vd2Fsc2VuZGVyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9iYWNrZW5kaWQu aCIKQEAgLTMyNSwxMSArMzI2LDE0IEBAIHN0YXRpYyBQZ1N0YXRfU3RhdFRhYkVudHJ5ICpwZ3N0 YXRfZ2V0X3RhYl9lbnRyeShQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnksCiBzdGF0aWMgUGdT dGF0X1N0YXRTdWJXb3JrZXJFbnRyeSAqcGdzdGF0X2dldF9zdWJ3b3JrZXJfZW50cnkoUGdTdGF0 X1N0YXREQkVudHJ5ICpkYmVudHJ5LAogCQkJCQkJCQkJCQkJCQkJIE9pZCBzdWJpZCwgT2lkIHN1 YnJlbGlkLAogCQkJCQkJCQkJCQkJCQkJIGJvb2wgY3JlYXRlKTsKK3N0YXRpYyBQZ1N0YXRfU1df UHJlcGFyZWRYYWN0RW50cnkgKnBnc3RhdF9nZXRfc3Vid29ya2VyX3ByZXBhcmVkX3R4bihPaWQg ZGF0YWJhc2VpZCwgT2lkIHN1YmlkLAorCQkJCQkJCQkJCQkJCQkJCQkgIGNoYXIgKmdpZCwgYm9v bCBjcmVhdGUpOworCiBzdGF0aWMgdm9pZCBwZ3N0YXRfd3JpdGVfc3RhdHNmaWxlcyhib29sIHBl cm1hbmVudCwgYm9vbCBhbGxEYnMpOwogc3RhdGljIHZvaWQgcGdzdGF0X3dyaXRlX2RiX3N0YXRz ZmlsZShQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnksIGJvb2wgcGVybWFuZW50KTsKIHN0YXRp YyBIVEFCICpwZ3N0YXRfcmVhZF9zdGF0c2ZpbGVzKE9pZCBvbmx5ZGIsIGJvb2wgcGVybWFuZW50 LCBib29sIGRlZXApOwogc3RhdGljIHZvaWQgcGdzdGF0X3JlYWRfZGJfc3RhdHNmaWxlKE9pZCBk YXRhYmFzZWlkLCBIVEFCICp0YWJoYXNoLCBIVEFCICpmdW5jaGFzaCwKLQkJCQkJCQkJCSBIVEFC ICpzdWJ3b3JrZXJoYXNoLCBib29sIHBlcm1hbmVudCk7CisJCQkJCQkJCQkgSFRBQiAqc3Vid29y a2VyaGFzaCwgSFRBQiAqcHJlcGFyZWR0eG5oYXNoLCBib29sIHBlcm1hbmVudCk7CiBzdGF0aWMg dm9pZCBiYWNrZW5kX3JlYWRfc3RhdHNmaWxlKHZvaWQpOwogCiBzdGF0aWMgYm9vbCBwZ3N0YXRf d3JpdGVfc3RhdHNmaWxlX25lZWRlZCh2b2lkKTsKQEAgLTM4Miw2ICszODYsOSBAQCBzdGF0aWMg dm9pZCBwZ3N0YXRfcmVjdl9yZXBsc2xvdChQZ1N0YXRfTXNnUmVwbFNsb3QgKm1zZywgaW50IGxl bik7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl90ZW1wZmlsZShQZ1N0YXRfTXNnVGVtcEZpbGUg Km1zZywgaW50IGxlbik7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl9zdWJzY3JpcHRpb25fcHVy Z2UoUGdTdGF0X01zZ1N1YnNjcmlwdGlvblB1cmdlICptc2csIGludCBsZW4pOwogc3RhdGljIHZv aWQgcGdzdGF0X3JlY3Zfc3Vid29ya2VyX2Vycm9yKFBnU3RhdF9Nc2dTdWJXb3JrZXJFcnJvciAq bXNnLCBpbnQgbGVuKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9yZWN2X3N1Yndvcmtlcl94YWN0X2Vu ZChQZ1N0YXRfTXNnU3ViV29ya2VyWGFjdEVuZCAqbXNnLCBpbnQgbGVuKTsKK3N0YXRpYyB2b2lk IHBnc3RhdF9yZWN2X3N1Yndvcmtlcl90d29waGFzZV94YWN0KFBnU3RhdF9Nc2dTdWJXb3JrZXJU d29waGFzZVhhY3QgKm1zZywgaW50IGxlbik7CisKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBQdWJsaWMgZnVuY3Rp b25zIGNhbGxlZCBmcm9tIHBvc3RtYXN0ZXIgZm9sbG93CkBAIC0xOTMwLDYgKzE5MzcsNjEgQEAg cGdzdGF0X3JlcG9ydF9yZXBsc2xvdF9kcm9wKGNvbnN0IGNoYXIgKnNsb3RuYW1lKQogfQogCiAv KiAtLS0tLS0tLS0tCisgKiBwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94YWN0X2VuZCgpIC0KKyAq CisgKiAgVGVsbCB0aGUgY29sbGVjdG9yIHRoYXQgd29ya2VyIHRyYW5zYWN0aW9uIGhhcyBzdWNj ZXNzZnVsbHkgY29tcGxldGVkLgorICogLS0tLS0tLS0tLQorICovCit2b2lkCitwZ3N0YXRfcmVw b3J0X3N1Yndvcmtlcl94YWN0X2VuZChPaWQgc3ViaWQsIE9pZCBzdWJyZWwsCisJCQkJCQkJCSBM b2dpY2FsUmVwTXNnVHlwZSBjb21tYW5kLCBQZ1N0YXRfQ291bnRlciB4YWN0X3NpemUpCit7CisJ UGdTdGF0X01zZ1N1YldvcmtlclhhY3RFbmQgbXNnOworCisJQXNzZXJ0KGNvbW1hbmQgPT0gMCAv KiB0YWJsZSBzeW5jIHdvcmtlciAqLyB8fAorCQkgICBjb21tYW5kID09IExPR0lDQUxfUkVQX01T R19DT01NSVQgfHwKKwkJICAgY29tbWFuZCA9PSBMT0dJQ0FMX1JFUF9NU0dfU1RSRUFNX0NPTU1J VCk7CisKKwlwZ3N0YXRfc2V0aGVhZGVyKCZtc2cubV9oZHIsIFBHU1RBVF9NVFlQRV9TVUJXT1JL RVJYQUNURU5EKTsKKwltc2cubV9kYXRhYmFzZWlkID0gTXlEYXRhYmFzZUlkOworCW1zZy5tX3N1 YmlkID0gc3ViaWQ7CisJbXNnLm1fc3VicmVsaWQgPSBzdWJyZWw7CisJbXNnLm1fY29tbWFuZCA9 IGNvbW1hbmQ7CisJbXNnLm1feGFjdF9ieXRlcyA9IHhhY3Rfc2l6ZTsKKwlwZ3N0YXRfc2VuZCgm bXNnLCBzaXplb2YoUGdTdGF0X01zZ1N1YldvcmtlclhhY3RFbmQpKTsKKworCXJlc2V0X2FwcGx5 X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKCk7Cit9CisKKy8qIC0tLS0tLS0tLS0KKyAqIHBnc3Rh dF9yZXBvcnRfc3Vid29ya2VyX3R3b3BoYXNlX3hhY3QoKSAtCisgKgorICogIFRlbGwgdGhlIGNv bGxlY3RvciB0aGF0IHdvcmtlciB0cmFuc2FjdGlvbiBoYXMgZG9uZSAyUEMgcmVsYXRlZCBvcGVy YXRpb24uCisgKiAtLS0tLS0tLS0tCisgKi8KK3ZvaWQKK3Bnc3RhdF9yZXBvcnRfc3Vid29ya2Vy X3R3b3BoYXNlX3hhY3QoT2lkIHN1YmlkLCBMb2dpY2FsUmVwTXNnVHlwZSBjb21tYW5kLAorCQkJ CQkJCQkJICBQZ1N0YXRfQ291bnRlciB4YWN0X3NpemUsIGNoYXIgKmdpZCkKK3sKKwlQZ1N0YXRf TXNnU3ViV29ya2VyVHdvcGhhc2VYYWN0IG1zZzsKKworCUFzc2VydChjb21tYW5kID09IExPR0lD QUxfUkVQX01TR19QUkVQQVJFIHx8CisJCSAgIGNvbW1hbmQgPT0gTE9HSUNBTF9SRVBfTVNHX1NU UkVBTV9QUkVQQVJFIHx8CisJCSAgIGNvbW1hbmQgPT0gTE9HSUNBTF9SRVBfTVNHX0NPTU1JVF9Q UkVQQVJFRCB8fAorCQkgICBjb21tYW5kID09IExPR0lDQUxfUkVQX01TR19ST0xMQkFDS19QUkVQ QVJFRCk7CisKKwkvKiBzZXR1cCB0aGUgbWVzc2FnZSAqLworCXBnc3RhdF9zZXRoZWFkZXIoJm1z Zy5tX2hkciwgUEdTVEFUX01UWVBFX1NVQldPUktFUlRXT1BIQVNFWEFDVCk7CisJbXNnLm1fZGF0 YWJhc2VpZCA9IE15RGF0YWJhc2VJZDsKKwltc2cubV9zdWJpZCA9IHN1YmlkOworCW1zZy5tX2Nv bW1hbmQgPSBjb21tYW5kOworCXN0cmxjcHkobXNnLm1fZ2lkLCBnaWQsIHNpemVvZihtc2cubV9n aWQpKTsKKwltc2cubV94YWN0X2J5dGVzID0geGFjdF9zaXplOworCXBnc3RhdF9zZW5kKCZtc2cs IHNpemVvZihQZ1N0YXRfTXNnU3ViV29ya2VyVHdvcGhhc2VYYWN0KSk7CisJcmVzZXRfYXBwbHlf ZXJyb3JfY29udGV4dF94YWN0X3NpemUoKTsKK30KKworLyogLS0tLS0tLS0tLQogICogcGdzdGF0 X3JlcG9ydF9zdWJ3b3JrZXJfZXJyb3IoKSAtCiAgKgogICoJVGVsbCB0aGUgY29sbGVjdG9yIGFi b3V0IHRoZSBzdWJzY3JpcHRpb24gd29ya2VyIGVycm9yLgpAQCAtMTk1MCw2ICsyMDEyLDcgQEAg cGdzdGF0X3JlcG9ydF9zdWJ3b3JrZXJfZXJyb3IoT2lkIHN1YmlkLCBPaWQgc3VicmVsaWQsIE9p ZCByZWxpZCwKIAltc2cubV9kYXRhYmFzZWlkID0gTXlEYXRhYmFzZUlkOwogCW1zZy5tX3N1Ymlk ID0gc3ViaWQ7CiAJbXNnLm1fc3VicmVsaWQgPSBzdWJyZWxpZDsKKwltc2cubV94YWN0X2Vycm9y X2J5dGVzID0gZ2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKCk7CiAJbXNnLm1fcmVs aWQgPSByZWxpZDsKIAltc2cubV9jb21tYW5kID0gY29tbWFuZDsKIAltc2cubV94aWQgPSB4aWQ7 CkBAIC0xOTU3LDYgKzIwMjAsOCBAQCBwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl9lcnJvcihPaWQg c3ViaWQsIE9pZCBzdWJyZWxpZCwgT2lkIHJlbGlkLAogCXN0cmxjcHkobXNnLm1fbWVzc2FnZSwg ZXJybXNnLCBQR1NUQVRfU1VCV09SS0VSRVJST1JfTVNHTEVOKTsKIAogCXBnc3RhdF9zZW5kKCZt c2csIGxlbik7CisKKwlyZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZSgpOwogfQog CiAvKiAtLS0tLS0tLS0tCkBAIC0zNzI3LDYgKzM3OTIsMTQgQEAgUGdzdGF0Q29sbGVjdG9yTWFp bihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQkJCQlwZ3N0YXRfcmVjdl9zdWJ3b3JrZXJfZXJy b3IoJm1zZy5tc2dfc3Vid29ya2VyZXJyb3IsIGxlbik7CiAJCQkJCWJyZWFrOwogCisJCQkJY2Fz ZSBQR1NUQVRfTVRZUEVfU1VCV09SS0VSWEFDVEVORDoKKwkJCQkJcGdzdGF0X3JlY3Zfc3Vid29y a2VyX3hhY3RfZW5kKCZtc2cubXNnX3N1YndvcmtlcnhhY3RlbmQsIGxlbik7CisJCQkJCWJyZWFr OworCisJCQkJY2FzZSBQR1NUQVRfTVRZUEVfU1VCV09SS0VSVFdPUEhBU0VYQUNUOgorCQkJCQlw Z3N0YXRfcmVjdl9zdWJ3b3JrZXJfdHdvcGhhc2VfeGFjdCgmbXNnLm1zZ19zdWJ3b3JrZXJ0d29w aGFzZXhhY3QsIGxlbik7CisJCQkJCWJyZWFrOworCiAJCQkJZGVmYXVsdDoKIAkJCQkJYnJlYWs7 CiAJCQl9CkBAIC0zODMzLDYgKzM5MDYsMTQgQEAgcmVzZXRfZGJlbnRyeV9jb3VudGVycyhQZ1N0 YXRfU3RhdERCRW50cnkgKmRiZW50cnkpCiAJCQkJCQkJCQkgIFBHU1RBVF9TVUJXT1JLRVJfSEFT SF9TSVpFLAogCQkJCQkJCQkJICAmaGFzaF9jdGwsCiAJCQkJCQkJCQkgIEhBU0hfRUxFTSB8IEhB U0hfQkxPQlMpOworCisJaGFzaF9jdGwua2V5c2l6ZSA9IHNpemVvZihQZ1N0YXRfU1dfUHJlcGFy ZWRYYWN0S2V5KTsKKwloYXNoX2N0bC5lbnRyeXNpemUgPSBzaXplb2YoUGdTdGF0X1NXX1ByZXBh cmVkWGFjdEVudHJ5KTsKKwloYXNoX2N0bC5oY3h0ID0gcGdTdGF0TG9jYWxDb250ZXh0OworCWRi ZW50cnktPnN1YndvcmtlcnNfcHJlcGFyZWRzaXplcyA9IGhhc2hfY3JlYXRlKCJTdWJzY3JpcHRp b24gd29ya2VyIHN0YXRzIG9mIHByZXBhcmVkIHR4biIsCisJCQkJCQkJCQkJCQkJUEdTVEFUX1NV QldPUktFUl9IQVNIX1NJWkUsCisJCQkJCQkJCQkJCQkJJmhhc2hfY3RsLAorCQkJCQkJCQkJCQkJ CUhBU0hfRUxFTSB8IEhBU0hfU1RSSU5HUyB8IEhBU0hfQ09OVEVYVCk7CiB9CiAKIC8qCkBAIC0z OTQzLDYgKzQwMjQsMTIgQEAgcGdzdGF0X2dldF9zdWJ3b3JrZXJfZW50cnkoUGdTdGF0X1N0YXRE QkVudHJ5ICpkYmVudHJ5LCBPaWQgc3ViaWQsIE9pZCBzdWJyZWxpZCwKIAkvKiBJZiBub3QgZm91 bmQsIGluaXRpYWxpemUgdGhlIG5ldyBvbmUgKi8KIAlpZiAoY3JlYXRlICYmICFmb3VuZCkKIAl7 CisJCXN1YndlbnRyeS0+eGFjdF9jb21taXRfY291bnQgPSAwOworCQlzdWJ3ZW50cnktPnhhY3Rf Y29tbWl0X2J5dGVzID0gMDsKKwkJc3Vid2VudHJ5LT54YWN0X2Vycm9yX2NvdW50ID0gMDsKKwkJ c3Vid2VudHJ5LT54YWN0X2Vycm9yX2J5dGVzID0gMDsKKwkJc3Vid2VudHJ5LT54YWN0X2Fib3J0 X2NvdW50ID0gMDsKKwkJc3Vid2VudHJ5LT54YWN0X2Fib3J0X2J5dGVzID0gMDsKIAkJc3Vid2Vu dHJ5LT5yZWxpZCA9IEludmFsaWRPaWQ7CiAJCXN1YndlbnRyeS0+Y29tbWFuZCA9IDA7CiAJCXN1 YndlbnRyeS0+eGlkID0gSW52YWxpZFRyYW5zYWN0aW9uSWQ7CkBAIC00MTU0LDkgKzQyNDEsMTEg QEAgcGdzdGF0X3dyaXRlX2RiX3N0YXRzZmlsZShQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnks IGJvb2wgcGVybWFuZW50KQogCUhBU0hfU0VRX1NUQVRVUyB0c3RhdDsKIAlIQVNIX1NFUV9TVEFU VVMgZnN0YXQ7CiAJSEFTSF9TRVFfU1RBVFVTIHNzdGF0OworCUhBU0hfU0VRX1NUQVRVUyBwc3Rh dDsKIAlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKIAlQZ1N0YXRfU3RhdEZ1bmNFbnRy eSAqZnVuY2VudHJ5OwogCVBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkgKnN1YndlbnRyeTsKKwlQ Z1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkgKnBlbnRyeTsKIAlGSUxFCSAgICpmcG91dDsKIAlp bnQzMgkJZm9ybWF0X2lkOwogCU9pZAkJCWRiaWQgPSBkYmVudHJ5LT5kYXRhYmFzZWlkOwpAQCAt NDIyMyw2ICs0MzEyLDE3IEBAIHBnc3RhdF93cml0ZV9kYl9zdGF0c2ZpbGUoUGdTdGF0X1N0YXRE QkVudHJ5ICpkYmVudHJ5LCBib29sIHBlcm1hbmVudCkKIAl9CiAKIAkvKgorCSAqIFdyaXRlIHN1 YnNjcmlwdGlvbiB3b3JrZXIncyBwcmVwYXJlZCB0cmFuc2FjdGlvbiBzdHJ1Y3QKKwkgKi8KKwlo YXNoX3NlcV9pbml0KCZwc3RhdCwgZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzKTsK Kwl3aGlsZSAoKHBlbnRyeSA9IChQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkgKikgaGFzaF9z ZXFfc2VhcmNoKCZwc3RhdCkpICE9IE5VTEwpCisJeworCQlmcHV0YygnUCcsIGZwb3V0KTsKKwkJ cmMgPSBmd3JpdGUocGVudHJ5LCBzaXplb2YoUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5KSwg MSwgZnBvdXQpOworCQkodm9pZCkgcmM7CQkJCS8qIHdlJ2xsIGNoZWNrIGZvciBlcnJvciB3aXRo IGZlcnJvciAqLworCX0KKworCS8qCiAJICogTm8gbW9yZSBvdXRwdXQgdG8gYmUgZG9uZS4gQ2xv c2UgdGhlIHRlbXAgZmlsZSBhbmQgcmVwbGFjZSB0aGUgb2xkCiAJICogcGdzdGF0LnN0YXQgd2l0 aCBpdC4gIFRoZSBmZXJyb3IoKSBjaGVjayByZXBsYWNlcyB0ZXN0aW5nIGZvciBlcnJvcgogCSAq IGFmdGVyIGVhY2ggaW5kaXZpZHVhbCBmcHV0YyBvciBmd3JpdGUgYWJvdmUuCkBAIC00NDYxLDYg KzQ1NjEsNyBAQCBwZ3N0YXRfcmVhZF9zdGF0c2ZpbGVzKE9pZCBvbmx5ZGIsIGJvb2wgcGVybWFu ZW50LCBib29sIGRlZXApCiAJCQkJZGJlbnRyeS0+dGFibGVzID0gTlVMTDsKIAkJCQlkYmVudHJ5 LT5mdW5jdGlvbnMgPSBOVUxMOwogCQkJCWRiZW50cnktPnN1YndvcmtlcnMgPSBOVUxMOworCQkJ CWRiZW50cnktPnN1YndvcmtlcnNfcHJlcGFyZWRzaXplcyA9IE5VTEw7CiAKIAkJCQkvKgogCQkJ CSAqIEluIHRoZSBjb2xsZWN0b3IsIGRpc3JlZ2FyZCB0aGUgdGltZXN0YW1wIHdlIHJlYWQgZnJv bSB0aGUKQEAgLTQ1MDYsNiArNDYwNywxNCBAQCBwZ3N0YXRfcmVhZF9zdGF0c2ZpbGVzKE9pZCBv bmx5ZGIsIGJvb2wgcGVybWFuZW50LCBib29sIGRlZXApCiAJCQkJCQkJCQkJCQkgICZoYXNoX2N0 bCwKIAkJCQkJCQkJCQkJCSAgSEFTSF9FTEVNIHwgSEFTSF9CTE9CUyB8IEhBU0hfQ09OVEVYVCk7 CiAKKwkJCQloYXNoX2N0bC5rZXlzaXplID0gc2l6ZW9mKFBnU3RhdF9TV19QcmVwYXJlZFhhY3RL ZXkpOworCQkJCWhhc2hfY3RsLmVudHJ5c2l6ZSA9IHNpemVvZihQZ1N0YXRfU1dfUHJlcGFyZWRY YWN0RW50cnkpOworCQkJCWhhc2hfY3RsLmhjeHQgPSBwZ1N0YXRMb2NhbENvbnRleHQ7CisJCQkJ ZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzID0gaGFzaF9jcmVhdGUoIlN1YnNjcmlw dGlvbiB3b3JrZXIgc3RhdHMgb2YgcHJlcGFyZWQgdHhuIiwKKwkJCQkJCQkJCQkJCQkJCQlQR1NU QVRfU1VCV09SS0VSX0hBU0hfU0laRSwKKwkJCQkJCQkJCQkJCQkJCQkmaGFzaF9jdGwsCisJCQkJ CQkJCQkJCQkJCQkJSEFTSF9FTEVNIHwgSEFTSF9TVFJJTkdTIHwgSEFTSF9DT05URVhUKTsKKwog CQkJCS8qCiAJCQkJICogSWYgcmVxdWVzdGVkLCByZWFkIHRoZSBkYXRhIGZyb20gdGhlIGRhdGFi YXNlLXNwZWNpZmljCiAJCQkJICogZmlsZS4gIE90aGVyd2lzZSB3ZSBqdXN0IGxlYXZlIHRoZSBo YXNodGFibGVzIGVtcHR5LgpAQCAtNDUxNSw2ICs0NjI0LDcgQEAgcGdzdGF0X3JlYWRfc3RhdHNm aWxlcyhPaWQgb25seWRiLCBib29sIHBlcm1hbmVudCwgYm9vbCBkZWVwKQogCQkJCQkJCQkJCQkg ZGJlbnRyeS0+dGFibGVzLAogCQkJCQkJCQkJCQkgZGJlbnRyeS0+ZnVuY3Rpb25zLAogCQkJCQkJ CQkJCQkgZGJlbnRyeS0+c3Vid29ya2VycywKKwkJCQkJCQkJCQkJIGRiZW50cnktPnN1Yndvcmtl cnNfcHJlcGFyZWRzaXplcywKIAkJCQkJCQkJCQkJIHBlcm1hbmVudCk7CiAKIAkJCQlicmVhazsK QEAgLTQ1OTksNyArNDcwOSw3IEBAIGRvbmU6CiAgKi8KIHN0YXRpYyB2b2lkCiBwZ3N0YXRfcmVh ZF9kYl9zdGF0c2ZpbGUoT2lkIGRhdGFiYXNlaWQsIEhUQUIgKnRhYmhhc2gsIEhUQUIgKmZ1bmNo YXNoLAotCQkJCQkJIEhUQUIgKnN1Yndvcmtlcmhhc2gsIGJvb2wgcGVybWFuZW50KQorCQkJCQkJ IEhUQUIgKnN1Yndvcmtlcmhhc2gsIEhUQUIgKnByZXBhcmVkdHhuaGFzaCwgYm9vbCBwZXJtYW5l bnQpCiB7CiAJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7CiAJUGdTdGF0X1N0YXRUYWJF bnRyeSB0YWJidWY7CkBAIC00NzU1LDYgKzQ4NjUsMzIgQEAgcGdzdGF0X3JlYWRfZGJfc3RhdHNm aWxlKE9pZCBkYXRhYmFzZWlkLCBIVEFCICp0YWJoYXNoLCBIVEFCICpmdW5jaGFzaCwKIAkJCQlt ZW1jcHkoc3Vid2VudHJ5LCAmc3Vid2J1Ziwgc2l6ZW9mKHN1YndidWYpKTsKIAkJCQlicmVhazsK IAorCQkJY2FzZSAnUCc6CisJCQkJeworCQkJCQlQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkg YnVmZjsKKwkJCQkJUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5ICpwcmVwYXJlZF94YWN0X2Vu dHJ5OworCisJCQkJCWlmIChmcmVhZCgmYnVmZiwgMSwgc2l6ZW9mKFBnU3RhdF9TV19QcmVwYXJl ZFhhY3RFbnRyeSksCisJCQkJCQkJICBmcGluKSAhPSBzaXplb2YoUGdTdGF0X1NXX1ByZXBhcmVk WGFjdEVudHJ5KSkKKwkJCQkJeworCQkJCQkJZXJlcG9ydChwZ1N0YXRSdW5uaW5nSW5Db2xsZWN0 b3IgPyBMT0cgOiBXQVJOSU5HLAorCQkJCQkJCQkoZXJybXNnKCJjb3JydXB0ZWQgc3RhdGlzdGlj cyBmaWxlIFwiJXNcIiIsCisJCQkJCQkJCQkJc3RhdGZpbGUpKSk7CisJCQkJCQlnb3RvIGRvbmU7 CisJCQkJCX0KKworCQkJCQlpZiAocHJlcGFyZWR0eG5oYXNoID09IE5VTEwpCisJCQkJCQlicmVh azsKKworCQkJCQlwcmVwYXJlZF94YWN0X2VudHJ5ID0KKwkJCQkJCShQZ1N0YXRfU1dfUHJlcGFy ZWRYYWN0RW50cnkgKikgaGFzaF9zZWFyY2gocHJlcGFyZWR0eG5oYXNoLAorCQkJCQkJCQkJCQkJ CQkJCQkodm9pZCAqKSAmYnVmZi5rZXksCisJCQkJCQkJCQkJCQkJCQkJCUhBU0hfRU5URVIsIE5V TEwpOworCisJCQkJCW1lbWNweShwcmVwYXJlZF94YWN0X2VudHJ5LCAmYnVmZiwgc2l6ZW9mKFBn U3RhdF9TV19QcmVwYXJlZFhhY3RFbnRyeSkpOworCQkJCQlicmVhazsKKwkJCQl9CisKIAkJCQkv KgogCQkJCSAqICdFJwlUaGUgRU9GIG1hcmtlciBvZiBhIGNvbXBsZXRlIHN0YXRzIGZpbGUuCiAJ CQkJICovCkBAIC01NDMwLDYgKzU1NjYsOCBAQCBwZ3N0YXRfcmVjdl9kcm9wZGIoUGdTdGF0X01z Z0Ryb3BkYiAqbXNnLCBpbnQgbGVuKQogCQkJaGFzaF9kZXN0cm95KGRiZW50cnktPmZ1bmN0aW9u cyk7CiAJCWlmIChkYmVudHJ5LT5zdWJ3b3JrZXJzICE9IE5VTEwpCiAJCQloYXNoX2Rlc3Ryb3ko ZGJlbnRyeS0+c3Vid29ya2Vycyk7CisJCWlmIChkYmVudHJ5LT5zdWJ3b3JrZXJzX3ByZXBhcmVk c2l6ZXMgIT0gTlVMTCkKKwkJCWhhc2hfZGVzdHJveShkYmVudHJ5LT5zdWJ3b3JrZXJzX3ByZXBh cmVkc2l6ZXMpOwogCiAJCWlmIChoYXNoX3NlYXJjaChwZ1N0YXREQkhhc2gsCiAJCQkJCQkodm9p ZCAqKSAmZGJpZCwKQEAgLTU0NjksMTAgKzU2MDcsMTMgQEAgcGdzdGF0X3JlY3ZfcmVzZXRjb3Vu dGVyKFBnU3RhdF9Nc2dSZXNldGNvdW50ZXIgKm1zZywgaW50IGxlbikKIAkJaGFzaF9kZXN0cm95 KGRiZW50cnktPmZ1bmN0aW9ucyk7CiAJaWYgKGRiZW50cnktPnN1YndvcmtlcnMgIT0gTlVMTCkK IAkJaGFzaF9kZXN0cm95KGRiZW50cnktPnN1YndvcmtlcnMpOworCWlmIChkYmVudHJ5LT5zdWJ3 b3JrZXJzX3ByZXBhcmVkc2l6ZXMgIT0gTlVMTCkKKwkJaGFzaF9kZXN0cm95KGRiZW50cnktPnN1 YndvcmtlcnNfcHJlcGFyZWRzaXplcyk7CiAKIAlkYmVudHJ5LT50YWJsZXMgPSBOVUxMOwogCWRi ZW50cnktPmZ1bmN0aW9ucyA9IE5VTEw7CiAJZGJlbnRyeS0+c3Vid29ya2VycyA9IE5VTEw7CisJ ZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVwYXJlZHNpemVzID0gTlVMTDsKIAogCS8qCiAJICogUmVz ZXQgZGF0YWJhc2UtbGV2ZWwgc3RhdHMsIHRvby4gIFRoaXMgY3JlYXRlcyBlbXB0eSBoYXNoIHRh YmxlcyBmb3IKQEAgLTU1NDgsMTAgKzU2ODksMjggQEAgcGdzdGF0X3JlY3ZfcmVzZXRzaW5nbGVj b3VudGVyKFBnU3RhdF9Nc2dSZXNldHNpbmdsZWNvdW50ZXIgKm1zZywgaW50IGxlbikKIAllbHNl IGlmIChtc2ctPm1fcmVzZXR0eXBlID09IFJFU0VUX1NVQldPUktFUikKIAl7CiAJCVBnU3RhdF9T dGF0U3ViV29ya2VyS2V5IGtleTsKKwkJUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEtleSBwa2V5Owog CiAJCWtleS5zdWJpZCA9IG1zZy0+bV9vYmplY3RpZDsKIAkJa2V5LnN1YnJlbGlkID0gbXNnLT5t X3N1Ym9iamVjdGlkOwogCQkodm9pZCkgaGFzaF9zZWFyY2goZGJlbnRyeS0+c3Vid29ya2Vycywg KHZvaWQgKikgJmtleSwgSEFTSF9SRU1PVkUsIE5VTEwpOworCisJCS8qCisJCSAqIENsZWFuIHVw IGVudHJ5IG9mIHByZXBhcmVkIHNpemUgaGFzaCBhcyB3ZWxsLgorCQkgKgorCQkgKiBUaGVyZSdz IG5vIGdpZCBpbnB1dCBoZXJlIGFzIGEgcGFydCBvZiBrZXkgZm9yCisJCSAqIFBnU3RhdF9TV19Q cmVwYXJlZFhhY3RFbnRyeS4gQWxzbyBhbnkgdmFsaWQgJ3JlbGlkJyBpbmRpY2F0ZXMgdGhlCisJ CSAqIGVudHJ5IGlzIGNyZWF0ZWQgYnkgdGFibGUgc3luYyBidXQgaXQgaGFzIG5vdGhpbmcgdG8g ZG8gd2l0aCB0aGUKKwkJICogdHdvIHBoYXNlIG9wZXJhdGlvbiBvZiBhcHBseS4gUHJvY2VlZCB3 aXRoIHRoaXMgcmVtb3ZhbCBvbmx5IHdoZW4KKwkJICogdGhlIHNwZWNpZmllZCBzdWJyZWxpZCBp c24ndCBpbnZhbGlkLgorCQkgKi8KKwkJaWYgKG1zZy0+bV9zdWJvYmplY3RpZCA9PSBJbnZhbGlk T2lkKQorCQl7CisJCQlwa2V5LnN1YmlkID0gbXNnLT5tX29iamVjdGlkOworCQkJKHZvaWQpIGhh c2hfc2VhcmNoKGRiZW50cnktPnN1YndvcmtlcnNfcHJlcGFyZWRzaXplcywKKwkJCQkJCQkgICAo dm9pZCAqKSAmcGtleSwgSEFTSF9SRU1PVkUsIE5VTEwpOworCQl9CisKIAl9CiB9CiAKQEAgLTYx MDcsNiArNjI2Niw3IEBAIHBnc3RhdF9yZWN2X3N1YnNjcmlwdGlvbl9wdXJnZShQZ1N0YXRfTXNn U3Vic2NyaXB0aW9uUHVyZ2UgKm1zZywgaW50IGxlbikKIAlIQVNIX1NFUV9TVEFUVVMgaHN0YXQ7 CiAJUGdTdGF0X1N0YXREQkVudHJ5ICpkYmVudHJ5OwogCVBnU3RhdF9TdGF0U3ViV29ya2VyRW50 cnkgKnN1YndlbnRyeTsKKwlQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnkgKnByZXBhcmVkX3R4 bl9lbnRyeTsKIAogCWRiZW50cnkgPSBwZ3N0YXRfZ2V0X2RiX2VudHJ5KG1zZy0+bV9kYXRhYmFz ZWlkLCBmYWxzZSk7CiAKQEAgLTYxMjgsNiArNjI4OCwxMjcgQEAgcGdzdGF0X3JlY3Zfc3Vic2Ny aXB0aW9uX3B1cmdlKFBnU3RhdF9Nc2dTdWJzY3JpcHRpb25QdXJnZSAqbXNnLCBpbnQgbGVuKQog CQkJfQogCQl9CiAJfQorCisJLyogUmVtb3ZlIGFzc29jaWF0ZWQgcHJlcGFyZWQgdHJhbnNhY3Rp b24gc3RhdHMgKi8KKwlpZiAoIWRiZW50cnktPnN1YndvcmtlcnNfcHJlcGFyZWRzaXplcykKKwl7 CisJCWhhc2hfc2VxX2luaXQoJmhzdGF0LCBkYmVudHJ5LT5zdWJ3b3JrZXJzX3ByZXBhcmVkc2l6 ZXMpOworCQl3aGlsZSAoKHByZXBhcmVkX3R4bl9lbnRyeSA9IChQZ1N0YXRfU1dfUHJlcGFyZWRY YWN0RW50cnkgKikgaGFzaF9zZXFfc2VhcmNoKCZoc3RhdCkpICE9IE5VTEwpCisJCXsKKwkJCWZv ciAoaW50IGkgPSAwOyBpIDwgbXNnLT5tX25lbnRyaWVzOyBpKyspCisJCQl7CisJCQkJaWYgKHBy ZXBhcmVkX3R4bl9lbnRyeS0+a2V5LnN1YmlkID09IG1zZy0+bV9zdWJpZHNbaV0pCisJCQkJCSh2 b2lkKSBoYXNoX3NlYXJjaChkYmVudHJ5LT5zdWJ3b3JrZXJzX3ByZXBhcmVkc2l6ZXMsCisJCQkJ CQkJCQkgICAodm9pZCAqKSAmKHByZXBhcmVkX3R4bl9lbnRyeS0+a2V5KSwKKwkJCQkJCQkJCSAg IEhBU0hfUkVNT1ZFLCBOVUxMKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KK30KKworLyog LS0tLS0tLS0tLQorICogcGdzdGF0X3JlY3Zfc3Vid29ya2VyX3hhY3RfZW5kKCkgLQorICoKKyAq CVByb2Nlc3MgYSBTVUJXT1JLRVJYQUNURU5EIG1lc3NhZ2UuCisgKiAtLS0tLS0tLS0tCisgKi8K K3N0YXRpYyB2b2lkCitwZ3N0YXRfcmVjdl9zdWJ3b3JrZXJfeGFjdF9lbmQoUGdTdGF0X01zZ1N1 YldvcmtlclhhY3RFbmQgKm1zZywgaW50IGxlbikKK3sKKwlQZ1N0YXRfU3RhdERCRW50cnkgKmRi ZW50cnk7CisJUGdTdGF0X1N0YXRTdWJXb3JrZXJFbnRyeSAqd2VudHJ5OworCisJZGJlbnRyeSA9 IHBnc3RhdF9nZXRfZGJfZW50cnkobXNnLT5tX2RhdGFiYXNlaWQsIHRydWUpOworCXdlbnRyeSA9 IHBnc3RhdF9nZXRfc3Vid29ya2VyX2VudHJ5KGRiZW50cnksIG1zZy0+bV9zdWJpZCwKKwkJCQkJ CQkJCQltc2ctPm1fc3VicmVsaWQsIHRydWUpOworCUFzc2VydCh3ZW50cnkpOworCisJLyogdGFi bGUgc3luYyB3b3JrZXIgKi8KKwlpZiAobXNnLT5tX2NvbW1hbmQgPT0gMCkKKwkJd2VudHJ5LT54 YWN0X2NvbW1pdF9jb3VudCsrOworCWVsc2UKKwl7CisJCS8qIGFwcGx5IHdvcmtlciAqLworCQlz d2l0Y2ggKG1zZy0+bV9jb21tYW5kKQorCQl7CisJCQljYXNlIExPR0lDQUxfUkVQX01TR19DT01N SVQ6CisJCQljYXNlIExPR0lDQUxfUkVQX01TR19TVFJFQU1fQ09NTUlUOgorCQkJCXdlbnRyeS0+ eGFjdF9jb21taXRfY291bnQrKzsKKwkJCQl3ZW50cnktPnhhY3RfY29tbWl0X2J5dGVzICs9IG1z Zy0+bV94YWN0X2J5dGVzOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQllbG9nKEVSUk9S LCAidW5leHBlY3RlZCBsb2dpY2FsIG1lc3NhZ2UgdHlwZSBhcyBub3JtYWwgYXBwbHkgZW5kIik7 CisJCQkJYnJlYWs7CisJCX0KKwl9Cit9CisKKy8qIC0tLS0tLS0tLS0KKyAqIHBnc3RhdF9yZWN2 X3N1Yndvcmtlcl90d29waGFzZV94YWN0KCkgLQorICoKKyAqCVByb2Nlc3MgYSBTVUJXT1JLRVJU V09QSEFTRVhBQ1QgbWVzc2FnZS4KKyAqIC0tLS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQKK3Bn c3RhdF9yZWN2X3N1Yndvcmtlcl90d29waGFzZV94YWN0KFBnU3RhdF9Nc2dTdWJXb3JrZXJUd29w aGFzZVhhY3QgKm1zZywgaW50IGxlbikKK3sKKwlQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnk7 CisJUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5ICpwZW50cnk7CisJUGdTdGF0X1N0YXRTdWJX b3JrZXJFbnRyeSAqd2VudHJ5OworCVBnU3RhdF9TV19QcmVwYXJlZFhhY3RLZXkga2V5OworCisJ cGVudHJ5ID0gcGdzdGF0X2dldF9zdWJ3b3JrZXJfcHJlcGFyZWRfdHhuKG1zZy0+bV9kYXRhYmFz ZWlkLAorCQkJCQkJCQkJCQkgICBtc2ctPm1fc3ViaWQsCisJCQkJCQkJCQkJCSAgIG1zZy0+bV9n aWQsIHRydWUpOworCUFzc2VydChwZW50cnkpOworCXN3aXRjaCAobXNnLT5tX2NvbW1hbmQpCisJ eworCQljYXNlIExPR0lDQUxfUkVQX01TR19QUkVQQVJFOgorCQljYXNlIExPR0lDQUxfUkVQX01T R19TVFJFQU1fUFJFUEFSRToKKworCQkJLyoKKwkJCSAqIE1ha2UgZWFjaCBzaXplIG9mIHByZXBh cmVkIHRyYW5zYWN0aW9uIHBlcnNpc3RlbnQgc28gdGhhdCB3ZQorCQkJICogY2FuIHVwZGF0ZSBz dGF0cyBvdmVyIHRoZSBzZXJ2ZXIgcmVzdGFydCBhbmQgbWFrZSBwcmVwYXJlZAorCQkJICogc3Rh dHMgdXBkYXRlZCB3aGVuIGNvbW1pdCBwcmVwYXJlZCBvciByb2xsYmFjayBwcmVwYXJlZAorCQkJ ICogYXJyaXZlcy4KKwkJCSAqLworCQkJcGVudHJ5LT5zdWJpZCA9IG1zZy0+bV9zdWJpZDsKKwkJ CXN0cmxjcHkocGVudHJ5LT5naWQsIG1zZy0+bV9naWQsIHNpemVvZihwZW50cnktPmdpZCkpOwor CQkJcGVudHJ5LT54YWN0X3NpemUgPSBtc2ctPm1feGFjdF9ieXRlczsKKwkJCWJyZWFrOworCisJ CWNhc2UgTE9HSUNBTF9SRVBfTVNHX0NPTU1JVF9QUkVQQVJFRDoKKwkJY2FzZSBMT0dJQ0FMX1JF UF9NU0dfUk9MTEJBQ0tfUFJFUEFSRUQ6CisJCQkvKiBVcGRhdGUgZXhwb3J0ZWQgeGFjdCBzdGF0 cyBub3cgKi8KKwkJCWRiZW50cnkgPSBwZ3N0YXRfZ2V0X2RiX2VudHJ5KG1zZy0+bV9kYXRhYmFz ZWlkLCB0cnVlKTsKKwkJCXdlbnRyeSA9IHBnc3RhdF9nZXRfc3Vid29ya2VyX2VudHJ5KGRiZW50 cnksCisJCQkJCQkJCQkJCQltc2ctPm1fc3ViaWQsCisJCQkJCQkJCQkJCQlJbnZhbGlkT2lkIC8q IGFwcGx5IHdvcmtlciAqLyAsCisJCQkJCQkJCQkJCQl0cnVlKTsKKwkJCUFzc2VydCh3ZW50cnkp OworCQkJaWYgKG1zZy0+bV9jb21tYW5kID09IExPR0lDQUxfUkVQX01TR19DT01NSVRfUFJFUEFS RUQpCisJCQl7CisJCQkJd2VudHJ5LT54YWN0X2NvbW1pdF9jb3VudCsrOworCQkJCXdlbnRyeS0+ eGFjdF9jb21taXRfYnl0ZXMgKz0gcGVudHJ5LT54YWN0X3NpemU7CisJCQl9CisJCQllbHNlCisJ CQl7CisJCQkJd2VudHJ5LT54YWN0X2Fib3J0X2NvdW50Kys7CisJCQkJd2VudHJ5LT54YWN0X2Fi b3J0X2J5dGVzICs9IHBlbnRyeS0+eGFjdF9zaXplOworCQkJfQorCisJCQkvKiBDbGVhbiB1cCB0 aGlzIGdpZCBmcm9tIHRyYW5zYWN0aW9uIHNpemUgaGFzaCAqLworCQkJa2V5LnN1YmlkID0gcGVu dHJ5LT5zdWJpZDsKKwkJCXN0cmxjcHkoa2V5LmdpZCwgbXNnLT5tX2dpZCwgc2l6ZW9mKGtleS5n aWQpKTsKKwkJCSh2b2lkKSBoYXNoX3NlYXJjaChkYmVudHJ5LT5zdWJ3b3JrZXJzX3ByZXBhcmVk c2l6ZXMsCisJCQkJCQkJICAgKHZvaWQgKikgJmtleSwgSEFTSF9SRU1PVkUsIE5VTEwpOworCQkJ YnJlYWs7CisKKwkJZGVmYXVsdDoKKwkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIGxvZ2ljYWwg bWVzc2FnZSB0eXBlIGFzIHByZXBhcmUgdHJhbnNhY3Rpb24iKTsKKwkJCWJyZWFrOworCX0KIH0K IAogLyogLS0tLS0tLS0tLQpAQCAtNjE0OSw2ICs2NDMwLDEwIEBAIHBnc3RhdF9yZWN2X3N1Yndv cmtlcl9lcnJvcihQZ1N0YXRfTXNnU3ViV29ya2VyRXJyb3IgKm1zZywgaW50IGxlbikKIAkJCQkJ CQkJCQkgICBtc2ctPm1fc3VicmVsaWQsIHRydWUpOwogCUFzc2VydChzdWJ3ZW50cnkpOwogCisJ LyogZ2VuZXJhbCB0cmFuc2FjdGlvbiBzdGF0cyBmb3IgZXJyb3IgKi8KKwlzdWJ3ZW50cnktPnhh Y3RfZXJyb3JfY291bnQrKzsKKwlzdWJ3ZW50cnktPnhhY3RfZXJyb3JfYnl0ZXMgKz0gbXNnLT5t X3hhY3RfZXJyb3JfYnl0ZXM7CisKIAkvKgogCSAqIFVwZGF0ZSBvbmx5IHRoZSBjb3VudGVyIGFu ZCBsYXN0IGVycm9yIHRpbWVzdGFtcCBpZiB3ZSByZWNlaXZlZAogCSAqIHRoZSBzYW1lIGVycm9y IGFnYWluCkBAIC02Mzk2LDMgKzY2ODEsMzggQEAgcGdzdGF0X2NvdW50X3NscnVfdHJ1bmNhdGUo aW50IHNscnVfaWR4KQogewogCXNscnVfZW50cnkoc2xydV9pZHgpLT5tX3RydW5jYXRlICs9IDE7 CiB9CisKKyAvKiAtLS0tLS0tLS0tCisgKiBwZ3N0YXRfZ2V0X3N1Yndvcmtlcl9wcmVwYXJlZF90 eG4KKyAqCisgKiBSZXR1cm4gc3Vic2NyaXB0aW9uIHdvcmtlciBlbnRyeSB3aXRoIHRoZSBnaXZl biBzdWJzY3JpcHRpb24gT0lEIGFuZAorICogZ2lkLgorICogLS0tLS0tLS0tLQorICovCitzdGF0 aWMgUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5ICoKK3Bnc3RhdF9nZXRfc3Vid29ya2VyX3By ZXBhcmVkX3R4bihPaWQgZGF0YWJhc2VpZCwgT2lkIHN1YmlkLAorCQkJCQkJCQkgIGNoYXIgKmdp ZCwgYm9vbCBjcmVhdGUpCit7CisJUGdTdGF0X1N0YXREQkVudHJ5ICpkYmVudHJ5OworCVBnU3Rh dF9TV19QcmVwYXJlZFhhY3RLZXkga2V5OworCVBnU3RhdF9TV19QcmVwYXJlZFhhY3RFbnRyeSAq cGVudHJ5OworCUhBU0hBQ1RJT04JYWN0aW9uOworCWJvb2wJCWZvdW5kOworCisJZGJlbnRyeSA9 IHBnc3RhdF9nZXRfZGJfZW50cnkoZGF0YWJhc2VpZCwgdHJ1ZSk7CisJa2V5LnN1YmlkID0gc3Vi aWQ7CisJc3RybGNweShrZXkuZ2lkLCBnaWQsIHNpemVvZihrZXkuZ2lkKSk7CisJYWN0aW9uID0g KGNyZWF0ZSA/IEhBU0hfRU5URVIgOiBIQVNIX0ZJTkQpOworCXBlbnRyeSA9IChQZ1N0YXRfU1df UHJlcGFyZWRYYWN0RW50cnkgKikgaGFzaF9zZWFyY2goZGJlbnRyeS0+c3Vid29ya2Vyc19wcmVw YXJlZHNpemVzLAorCQkJCQkJCQkJCQkJCQkgKHZvaWQgKikgJmtleSwKKwkJCQkJCQkJCQkJCQkJ IGFjdGlvbiwgJmZvdW5kKTsKKworCWlmIChjcmVhdGUgJiYgIWZvdW5kKQorCXsKKwkJcGVudHJ5 LT5zdWJpZCA9IDA7CisJCXBlbnRyeS0+Z2lkWzBdID0gJ1wwJzsKKwkJcGVudHJ5LT54YWN0X3Np emUgPSAwOworCX0KKworCXJldHVybiBwZW50cnk7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Byb3RvLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9s b2dpY2FsL3Byb3RvLmMKaW5kZXggOWY1YmY0Yi4uM2NkOTMzYSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9wcm90by5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvcHJvdG8uYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgImNhdGFs b2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImxpYnBxL3BxZm9ybWF0LmgiCiAjaW5jbHVkZSAicmVw bGljYXRpb24vbG9naWNhbHByb3RvLmgiCisjaW5jbHVkZSAicmVwbGljYXRpb24vbG9naWNhbHdv cmtlci5oIgogI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL3N5 c2NhY2hlLmgiCiAKQEAgLTg0Miw2ICs4NDMsNyBAQCBsb2dpY2FscmVwX3JlYWRfdHVwbGUoU3Ry aW5nSW5mbyBpbiwgTG9naWNhbFJlcFR1cGxlRGF0YSAqdHVwbGUpCiB7CiAJaW50CQkJaTsKIAlp bnQJCQluYXR0czsKKwlTaXplCQl0b3RhbF9zaXplOwogCiAJLyogR2V0IG51bWJlciBvZiBhdHRy aWJ1dGVzICovCiAJbmF0dHMgPSBwcV9nZXRtc2dpbnQoaW4sIDIpOwpAQCAtODUwLDYgKzg1Miw3 IEBAIGxvZ2ljYWxyZXBfcmVhZF90dXBsZShTdHJpbmdJbmZvIGluLCBMb2dpY2FsUmVwVHVwbGVE YXRhICp0dXBsZSkKIAl0dXBsZS0+Y29sdmFsdWVzID0gKFN0cmluZ0luZm9EYXRhICopIHBhbGxv YzAobmF0dHMgKiBzaXplb2YoU3RyaW5nSW5mb0RhdGEpKTsKIAl0dXBsZS0+Y29sc3RhdHVzID0g KGNoYXIgKikgcGFsbG9jKG5hdHRzICogc2l6ZW9mKGNoYXIpKTsKIAl0dXBsZS0+bmNvbHMgPSBu YXR0czsKKwl0b3RhbF9zaXplID0gbmF0dHMgKiAoc2l6ZW9mKGNoYXIpICsgc2l6ZW9mKFN0cmlu Z0luZm9EYXRhKSk7CiAKIAkvKiBSZWFkIHRoZSBkYXRhICovCiAJZm9yIChpID0gMDsgaSA8IG5h dHRzOyBpKyspCkBAIC04ODAsNiArODgzLDkgQEAgbG9naWNhbHJlcF9yZWFkX3R1cGxlKFN0cmlu Z0luZm8gaW4sIExvZ2ljYWxSZXBUdXBsZURhdGEgKnR1cGxlKQogCQkJCXZhbHVlLT5sZW4gPSBs ZW47CiAJCQkJdmFsdWUtPmN1cnNvciA9IDA7CiAJCQkJdmFsdWUtPm1heGxlbiA9IGxlbjsKKwor CQkJCS8qIG1lbW9yeSBmb3IgdHVwbGUgKi8KKwkJCQl0b3RhbF9zaXplICs9IGxlbiArIDE7CiAJ CQkJYnJlYWs7CiAJCQljYXNlIExPR0lDQUxSRVBfQ09MVU1OX0JJTkFSWToKIAkJCQlsZW4gPSBw cV9nZXRtc2dpbnQoaW4sIDQpOwkvKiByZWFkIGxlbmd0aCAqLwpAQCAtODkzLDExICs4OTksMTcg QEAgbG9naWNhbHJlcF9yZWFkX3R1cGxlKFN0cmluZ0luZm8gaW4sIExvZ2ljYWxSZXBUdXBsZURh dGEgKnR1cGxlKQogCQkJCXZhbHVlLT5sZW4gPSBsZW47CiAJCQkJdmFsdWUtPmN1cnNvciA9IDA7 CiAJCQkJdmFsdWUtPm1heGxlbiA9IGxlbjsKKworCQkJCS8qIG1lbW9yeSBmb3IgdHVwbGUgKi8K KwkJCQl0b3RhbF9zaXplICs9IGxlbiArIDE7CiAJCQkJYnJlYWs7CiAJCQlkZWZhdWx0OgogCQkJ CWVsb2coRVJST1IsICJ1bnJlY29nbml6ZWQgZGF0YSByZXByZXNlbnRhdGlvbiB0eXBlICclYyci LCBraW5kKTsKIAkJfQogCX0KKworCS8qIFJlY29yZCBtZW1vcnkgY29uc3VtcHRpb24gZm9yIHR1 cGxlICovCisJYWRkX2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKHRvdGFsX3NpemUpOwog fQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJs ZXN5bmMuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMKaW5k ZXggZjA3OTgzYS4uNWJiMWQ2MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC90YWJsZXN5bmMuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2Fs L3RhYmxlc3luYy5jCkBAIC0xMTQ5LDYgKzExNDksMTIgQEAgY29weV90YWJsZV9kb25lOgogCU15 TG9naWNhbFJlcFdvcmtlci0+cmVsc3RhdGVfbHNuID0gKm9yaWdpbl9zdGFydHBvczsKIAlTcGlu TG9ja1JlbGVhc2UoJk15TG9naWNhbFJlcFdvcmtlci0+cmVsbXV0ZXgpOwogCisJLyogUmVwb3J0 IHRoZSBzdWNjZXNzIG9mIHRhYmxlIHN5bmMuICovCisJcGdzdGF0X3JlcG9ydF9zdWJ3b3JrZXJf eGFjdF9lbmQoTXlMb2dpY2FsUmVwV29ya2VyLT5zdWJpZCwKKwkJCQkJCQkJCSBNeUxvZ2ljYWxS ZXBXb3JrZXItPnJlbGlkLAorCQkJCQkJCQkJIDAgLyogbm8gbG9naWNhbCBtZXNzYWdlIHR5cGUg Ki8gLAorCQkJCQkJCQkJIDAgLyogeGFjdCBzaXplICovICk7CisKIAkvKgogCSAqIEZpbmFsbHks IHdhaXQgdW50aWwgdGhlIG1haW4gYXBwbHkgd29ya2VyIHRlbGxzIHVzIHRvIGNhdGNoIHVwIGFu ZCB0aGVuCiAJICogcmV0dXJuIHRvIGxldCBMb2dpY2FsUmVwQXBwbHlMb29wIGRvIGl0LgpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBiL3NyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggMmU3OTMwMi4uNjYxNzQz NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwor KysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0yMjEsNiAr MjIxLDE4IEBAIHR5cGVkZWYgc3RydWN0IEFwcGx5RXJyb3JDYWxsYmFja0FyZwogCUxvZ2ljYWxS ZXBNc2dUeXBlIGNvbW1hbmQ7CS8qIDAgaWYgaW52YWxpZCAqLwogCUxvZ2ljYWxSZXBSZWxNYXBF bnRyeSAqcmVsOwogCisJLyoKKwkgKiBTdG9yZSBkYXRhIHNpemUgb2YgdGhpcyB0cmFuc2FjdGlv bi4KKwkgKgorCSAqIFRoZSBieXRlIHNpemUgb2YgdHJhbnNhY3Rpb24gb24gdGhlIHB1Ymxpc2hl ciBpcyBjYWxjdWxhdGVkIGJ5CisJICogUmVvcmRlckJ1ZmZlckNoYW5nZVNpemUoKSBiYXNlZCBv biB0aGUgUmVvcmRlckJ1ZmZlckNoYW5nZSBzdHJ1Y3R1cmUuCisJICogQnV0IG9uIHRoZSBzdWJz Y3JpYmVyLCBjb25zdW1lZCByZXNvdXJjZXMgYXJlIG5vdCBzYW1lIGFzIHRoZQorCSAqIHB1Ymxp c2hlcidzIGRlY29kaW5nIHByb2Nlc3NzaW5nIGFuZCByZXF1aXJlZCB0byBiZSBjb21wdXRlZCBp bgorCSAqIGRpZmZlcmVudCB3YXkuIFRoZXJlZm9yZSwgdGhlIGV4YWN0IHNhbWUgYnl0ZSBzaXpl IGlzIG5vdCByZXN0b3JlZCBvbgorCSAqIHRoZSBzdWJzY3JpYmVyIHVzdWFsbHkuCisJICovCisJ UGdTdGF0X0NvdW50ZXIgYnl0ZXM7CisKIAkvKiBSZW1vdGUgbm9kZSBpbmZvcm1hdGlvbiAqLwog CWludAkJCXJlbW90ZV9hdHRudW07CS8qIC0xIGlmIGludmFsaWQgKi8KIAlUcmFuc2FjdGlvbklk IHJlbW90ZV94aWQ7CkBAIC0yMzEsNiArMjQzLDcgQEAgc3RhdGljIEFwcGx5RXJyb3JDYWxsYmFj a0FyZyBhcHBseV9lcnJvcl9jYWxsYmFja19hcmcgPQogewogCS5jb21tYW5kID0gMCwKIAkucmVs ID0gTlVMTCwKKwkuYnl0ZXMgPSAwLAogCS5yZW1vdGVfYXR0bnVtID0gLTEsCiAJLnJlbW90ZV94 aWQgPSBJbnZhbGlkVHJhbnNhY3Rpb25JZCwKIAkudHMgPSAwLApAQCAtMjkzLDYgKzMwNiw3IEBA IHN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhbnVwX3N1YnhhY3RfaW5mbyh2b2lkKTsKIHN0YXRpYyB2 b2lkIHN0cmVhbV9jbGVhbnVwX2ZpbGVzKE9pZCBzdWJpZCwgVHJhbnNhY3Rpb25JZCB4aWQpOwog c3RhdGljIHZvaWQgc3RyZWFtX29wZW5fZmlsZShPaWQgc3ViaWQsIFRyYW5zYWN0aW9uSWQgeGlk LCBib29sIGZpcnN0KTsKIHN0YXRpYyB2b2lkIHN0cmVhbV93cml0ZV9jaGFuZ2UoY2hhciBhY3Rp b24sIFN0cmluZ0luZm8gcyk7CisKIHN0YXRpYyB2b2lkIHN0cmVhbV9jbG9zZV9maWxlKHZvaWQp OwogCiBzdGF0aWMgdm9pZCBzZW5kX2ZlZWRiYWNrKFhMb2dSZWNQdHIgcmVjdnBvcywgYm9vbCBm b3JjZSwgYm9vbCByZXF1ZXN0UmVwbHkpOwpAQCAtMzA0LDYgKzMxOCw5IEBAIHN0YXRpYyB2b2lk IG1heWJlX3JlcmVhZF9zdWJzY3JpcHRpb24odm9pZCk7CiAvKiBwcm90b3R5cGUgbmVlZGVkIGJl Y2F1c2Ugb2Ygc3RyZWFtX2NvbW1pdCAqLwogc3RhdGljIHZvaWQgYXBwbHlfZGlzcGF0Y2goU3Ry aW5nSW5mbyBzKTsKIAorc3RhdGljIHZvaWQgdXBkYXRlX2FwcGx5X2NoYW5nZV9zaXplKExvZ2lj YWxSZXBNc2dUeXBlIGFjdGlvbiwKKwkJCQkJCQkJCSBib29sIGlzX3BhcnRpdGlvbmVkKTsKKwog c3RhdGljIHZvaWQgYXBwbHlfaGFuZGxlX2NvbW1pdF9pbnRlcm5hbChMb2dpY2FsUmVwQ29tbWl0 RGF0YSAqY29tbWl0X2RhdGEpOwogc3RhdGljIHZvaWQgYXBwbHlfaGFuZGxlX2luc2VydF9pbnRl cm5hbChBcHBseUV4ZWN1dGlvbkRhdGEgKmVkYXRhLAogCQkJCQkJCQkJCSBSZXN1bHRSZWxJbmZv ICpyZWxpbmZvLApAQCAtODE4LDYgKzgzNSwxMSBAQCBhcHBseV9oYW5kbGVfY29tbWl0KFN0cmlu Z0luZm8gcykKIAkvKiBQcm9jZXNzIGFueSB0YWJsZXMgdGhhdCBhcmUgYmVpbmcgc3luY2hyb25p emVkIGluIHBhcmFsbGVsLiAqLwogCXByb2Nlc3Nfc3luY2luZ190YWJsZXMoY29tbWl0X2RhdGEu ZW5kX2xzbik7CiAKKwlwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94YWN0X2VuZChNeUxvZ2ljYWxS ZXBXb3JrZXItPnN1YmlkLAorCQkJCQkJCQkJIEludmFsaWRPaWQsCisJCQkJCQkJCQkgTE9HSUNB TF9SRVBfTVNHX0NPTU1JVCwKKwkJCQkJCQkJCSBnZXRfYXBwbHlfZXJyb3JfY29udGV4dF94YWN0 X3NpemUoKSk7CisKIAlwZ3N0YXRfcmVwb3J0X2FjdGl2aXR5KFNUQVRFX0lETEUsIE5VTEwpOwog CXJlc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfaW5mbygpOwogfQpAQCAtOTIyLDYgKzk0NCwxMyBA QCBhcHBseV9oYW5kbGVfcHJlcGFyZShTdHJpbmdJbmZvIHMpCiAJLyogUHJvY2VzcyBhbnkgdGFi bGVzIHRoYXQgYXJlIGJlaW5nIHN5bmNocm9uaXplZCBpbiBwYXJhbGxlbC4gKi8KIAlwcm9jZXNz X3N5bmNpbmdfdGFibGVzKHByZXBhcmVfZGF0YS5lbmRfbHNuKTsKIAorCS8qIFVwZGF0ZSB0aGUg bWVtb3J5IGNvbnN1bXB0aW9uIG9mIHByZXBhcmUgYW5kIHJlcG9ydCAqLworCXVwZGF0ZV9hcHBs eV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfUFJFUEFSRSwgZmFsc2UpOworCXBnc3RhdF9y ZXBvcnRfc3Vid29ya2VyX3R3b3BoYXNlX3hhY3QoTXlMb2dpY2FsUmVwV29ya2VyLT5zdWJpZCwK KwkJCQkJCQkJCQkgIExPR0lDQUxfUkVQX01TR19QUkVQQVJFLAorCQkJCQkJCQkJCSAgZ2V0X2Fw cGx5X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKCksCisJCQkJCQkJCQkJICBwcmVwYXJlX2RhdGEu Z2lkKTsKKwogCXBnc3RhdF9yZXBvcnRfYWN0aXZpdHkoU1RBVEVfSURMRSwgTlVMTCk7CiAJcmVz ZXRfYXBwbHlfZXJyb3JfY29udGV4dF9pbmZvKCk7CiB9CkBAIC05NjMsNiArOTkyLDEzIEBAIGFw cGx5X2hhbmRsZV9jb21taXRfcHJlcGFyZWQoU3RyaW5nSW5mbyBzKQogCS8qIFByb2Nlc3MgYW55 IHRhYmxlcyB0aGF0IGFyZSBiZWluZyBzeW5jaHJvbml6ZWQgaW4gcGFyYWxsZWwuICovCiAJcHJv Y2Vzc19zeW5jaW5nX3RhYmxlcyhwcmVwYXJlX2RhdGEuZW5kX2xzbik7CiAKKwkvKiBVcGRhdGUg dGhlIHRyYW5zYWN0aW9uIHNpemUgYW5kIHJlcG9ydCAqLworCXVwZGF0ZV9hcHBseV9jaGFuZ2Vf c2l6ZShMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUX1BSRVBBUkVELCBmYWxzZSk7CisJcGdzdGF0X3Jl cG9ydF9zdWJ3b3JrZXJfdHdvcGhhc2VfeGFjdChNeUxvZ2ljYWxSZXBXb3JrZXItPnN1YmlkLAor CQkJCQkJCQkJCSAgTE9HSUNBTF9SRVBfTVNHX0NPTU1JVF9QUkVQQVJFRCwKKwkJCQkJCQkJCQkg IGdldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZSgpLAorCQkJCQkJCQkJCSAgcHJlcGFy ZV9kYXRhLmdpZCk7CisKIAlwZ3N0YXRfcmVwb3J0X2FjdGl2aXR5KFNUQVRFX0lETEUsIE5VTEwp OwogCXJlc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfaW5mbygpOwogfQpAQCAtMTAxNCw2ICsxMDUw LDEzIEBAIGFwcGx5X2hhbmRsZV9yb2xsYmFja19wcmVwYXJlZChTdHJpbmdJbmZvIHMpCiAJLyog UHJvY2VzcyBhbnkgdGFibGVzIHRoYXQgYXJlIGJlaW5nIHN5bmNocm9uaXplZCBpbiBwYXJhbGxl bC4gKi8KIAlwcm9jZXNzX3N5bmNpbmdfdGFibGVzKHJvbGxiYWNrX2RhdGEucm9sbGJhY2tfZW5k X2xzbik7CiAKKwkvKiBVcGRhdGUgdGhlIHRyYW5zYWN0aW9uIHNpemUgYW5kIHJlcG9ydCAqLwor CXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfUk9MTEJBQ0tfUFJFUEFS RUQsIGZhbHNlKTsKKwlwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl90d29waGFzZV94YWN0KE15TG9n aWNhbFJlcFdvcmtlci0+c3ViaWQsCisJCQkJCQkJCQkJICBMT0dJQ0FMX1JFUF9NU0dfUk9MTEJB Q0tfUFJFUEFSRUQsCisJCQkJCQkJCQkJICBnZXRfYXBwbHlfZXJyb3JfY29udGV4dF94YWN0X3Np emUoKSwKKwkJCQkJCQkJCQkgIHJvbGxiYWNrX2RhdGEuZ2lkKTsKKwogCXBnc3RhdF9yZXBvcnRf YWN0aXZpdHkoU1RBVEVfSURMRSwgTlVMTCk7CiAJcmVzZXRfYXBwbHlfZXJyb3JfY29udGV4dF9p bmZvKCk7CiB9CkBAIC0xMDY2LDYgKzExMDksMTUgQEAgYXBwbHlfaGFuZGxlX3N0cmVhbV9wcmVw YXJlKFN0cmluZ0luZm8gcykKIAkvKiBQcm9jZXNzIGFueSB0YWJsZXMgdGhhdCBhcmUgYmVpbmcg c3luY2hyb25pemVkIGluIHBhcmFsbGVsLiAqLwogCXByb2Nlc3Nfc3luY2luZ190YWJsZXMocHJl cGFyZV9kYXRhLmVuZF9sc24pOwogCisJLyoKKwkgKiBSZXBvcnQgdGhlIHByZXBhcmVkIHN0cmVh bWluZyB4YWN0IHNpemUgdG8gdGhlIHN0YXRzIGNvbGxlY3RvciBpbiBhCisJICogcHJlcGFyZWQg eGFjdCBtYW5uZXIgdG8gbWFrZSBpdCBzdXJ2aXZlIG92ZXIgdGhlIHJlc3RhcnQuCisJICovCisJ cGdzdGF0X3JlcG9ydF9zdWJ3b3JrZXJfdHdvcGhhc2VfeGFjdChNeUxvZ2ljYWxSZXBXb3JrZXIt PnN1YmlkLAorCQkJCQkJCQkJCSAgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9QUkVQQVJFLAorCQkJ CQkJCQkJCSAgZ2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKCksCisJCQkJCQkJCQkJ ICBwcmVwYXJlX2RhdGEuZ2lkKTsKKwogCXBnc3RhdF9yZXBvcnRfYWN0aXZpdHkoU1RBVEVfSURM RSwgTlVMTCk7CiAKIAlyZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X2luZm8oKTsKQEAgLTE0Mzgs NiArMTQ5MCwxMiBAQCBhcHBseV9oYW5kbGVfc3RyZWFtX2NvbW1pdChTdHJpbmdJbmZvIHMpCiAJ LyogUHJvY2VzcyBhbnkgdGFibGVzIHRoYXQgYXJlIGJlaW5nIHN5bmNocm9uaXplZCBpbiBwYXJh bGxlbC4gKi8KIAlwcm9jZXNzX3N5bmNpbmdfdGFibGVzKGNvbW1pdF9kYXRhLmVuZF9sc24pOwog CisJLyogUmVwb3J0IGFuZCBjbGVhbiB1cCB0aGUgeGlkICovCisJcGdzdGF0X3JlcG9ydF9zdWJ3 b3JrZXJfeGFjdF9lbmQoTXlMb2dpY2FsUmVwV29ya2VyLT5zdWJpZCwKKwkJCQkJCQkJCSBJbnZh bGlkT2lkLAorCQkJCQkJCQkJIExPR0lDQUxfUkVQX01TR19TVFJFQU1fQ09NTUlULAorCQkJCQkJ CQkJIGdldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZSgpKTsKKwogCXBnc3RhdF9yZXBv cnRfYWN0aXZpdHkoU1RBVEVfSURMRSwgTlVMTCk7CiAKIAlyZXNldF9hcHBseV9lcnJvcl9jb250 ZXh0X2luZm8oKTsKQEAgLTE1NzksNiArMTYzNywxMCBAQCBhcHBseV9oYW5kbGVfaW5zZXJ0KFN0 cmluZ0luZm8gcykKIAlzbG90X2ZpbGxfZGVmYXVsdHMocmVsLCBlc3RhdGUsIHJlbW90ZXNsb3Qp OwogCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjdHgpOwogCisJLyogVXBkYXRlIHRyYW5zYWN0 aW9uIHNpemUgKi8KKwl1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoTE9HSUNBTF9SRVBfTVNHX0lO U0VSVCwKKwkJCQkJCQkgcmVsLT5sb2NhbHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRf UEFSVElUSU9ORURfVEFCTEUpOworCiAJLyogRm9yIGEgcGFydGl0aW9uZWQgdGFibGUsIGluc2Vy dCB0aGUgdHVwbGUgaW50byBhIHBhcnRpdGlvbi4gKi8KIAlpZiAocmVsLT5sb2NhbHJlbC0+cmRf cmVsLT5yZWxraW5kID09IFJFTEtJTkRfUEFSVElUSU9ORURfVEFCTEUpCiAJCWFwcGx5X2hhbmRs ZV90dXBsZV9yb3V0aW5nKGVkYXRhLApAQCAtMTczNiw3ICsxNzk4LDExIEBAIGFwcGx5X2hhbmRs ZV91cGRhdGUoU3RyaW5nSW5mbyBzKQogCQkJCQloYXNfb2xkdHVwID8gJm9sZHR1cCA6ICZuZXd0 dXApOwogCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjdHgpOwogCi0JLyogRm9yIGEgcGFydGl0 aW9uZWQgdGFibGUsIGFwcGx5IHVwZGF0ZSB0byBjb3JyZWN0IHBhcnRpdGlvbi4gKi8KKwkvKiBV cGRhdGUgdHJhbnNhY3Rpb24gc2l6ZSAqLworCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJ Q0FMX1JFUF9NU0dfVVBEQVRFLAorCQkJCQkJCSByZWwtPmxvY2FscmVsLT5yZF9yZWwtPnJlbGtp bmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSk7CisKKwkvKiBGb3IgYSBwYXJ0aXRpb25l ZCB0YWJsZSwgYXBwbHkgdXBkYXRlIHRvIGNvcmVjdCBwYXJ0aXRpb24uICovCiAJaWYgKHJlbC0+ bG9jYWxyZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX1RBQkxFKQog CQlhcHBseV9oYW5kbGVfdHVwbGVfcm91dGluZyhlZGF0YSwKIAkJCQkJCQkJICAgcmVtb3Rlc2xv dCwgJm5ld3R1cCwgQ01EX1VQREFURSk7CkBAIC0xODcwLDYgKzE5MzYsMTAgQEAgYXBwbHlfaGFu ZGxlX2RlbGV0ZShTdHJpbmdJbmZvIHMpCiAJc2xvdF9zdG9yZV9kYXRhKHJlbW90ZXNsb3QsIHJl bCwgJm9sZHR1cCk7CiAJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7CiAKKwkvKiBVcGRh dGUgdHJhbnNhY3Rpb24gc2l6ZSAqLworCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FM X1JFUF9NU0dfREVMRVRFLAorCQkJCQkJCSByZWwtPmxvY2FscmVsLT5yZF9yZWwtPnJlbGtpbmQg PT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSk7CisKIAkvKiBGb3IgYSBwYXJ0aXRpb25lZCB0 YWJsZSwgYXBwbHkgZGVsZXRlIHRvIGNvcnJlY3QgcGFydGl0aW9uLiAqLwogCWlmIChyZWwtPmxv Y2FscmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSkKIAkJ YXBwbHlfaGFuZGxlX3R1cGxlX3JvdXRpbmcoZWRhdGEsCkBAIC0yNDIxLDYgKzI0OTEsODEgQEAg YXBwbHlfZGlzcGF0Y2goU3RyaW5nSW5mbyBzKQogfQogCiAvKgorICogU3Vic2NyaWJlciBzaWRl IGltcGxlbWVudGF0aW9uIGVxdWl2YWxlbnQgdG8gUmVvcmRlckJ1ZmZlckNoYW5nZVNpemUKKyAq IG9mIHRoZSBwdWJsaXNoZXIuCisgKgorICogQWNjb3JkaW5nIHRvIHRoZSBsb2dpY2FsIHJlcGxp Y2F0aW9uIG1lc3NhZ2UgdHlwZSwgcmVjb3JkIG1ham9yCisgKiByZXNvdXJjZSBjb25zdW1wdGlv bnMgb2YgdGhpcyBzdWJzY3JpcHRpb24gZm9yIGVhY2ggbWVzc2FnZS4KKyAqIEF0IHByZXNlbnQs IGRvIG5vdCBjb2xsZWN0IGRhdGEgZnJvbSBnZW5lcmljIGZ1bmN0aW9ucyB0byBrZWVwCisgKiBj b2RlIHNpbXBsaWNpdHkgZXhjZXB0IGZvciB0dXBsZSBsZW5ndGgsIHNpbmNlIHRoZSBpbXBsZW1l bnRhdGlvbgorICogY29tcGxleGl0eSB2ZXJzdXMgYmVuZWZpdCB0cmFkZW9mZiBzaG91bGQgbm90 IGJlIGdvb2QuCisgKiBJbiB0ZXJtcyBvZiB0dXBsZSBsZW5ndGggY29uc3VtcHRpb24sIHNlZSBs b2dpY2FscmVwX3JlYWRfdHVwbGUuCisgKgorICogQWxzbywgYWRkIG11bHRpcGxlIHZhbHVlcyBh dCBvbmNlIGluIG9yZGVyIHRvIHJlZHVjZSB0aGUgbnVtYmVyCisgKiBvZiBjYWxscyB0byB0aGlz IGZ1bmN0aW9uLCBhbHRob3VnaCB0aGUgZGlzYWR2YW50YWdlIG9mIHRoaXMgd2F5CisgKiBpcyB3 ZSBjYW5ub3QgZ2V0IGNvcnJlY3QgdHJhbnNhY3Rpb24gc2l6ZSB3aGVuIHdlIGdldCBhbiBlcnJv ci4KKyAqCisgKiAnaXNfcGFydGl0aW9uZWQnIGlzIHVzZWQgdG8gYWRkIHNvbWUgZXh0cmEgc2l6 ZS4KKyAqLworc3RhdGljIHZvaWQKK3VwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMb2dpY2FsUmVw TXNnVHlwZSBhY3Rpb24sIGJvb2wgaXNfcGFydGl0aW9uZWQpCit7CisJaW50NjQJCXNpemUgPSAw OworCisJc3dpdGNoIChhY3Rpb24pCisJeworCQkJLyogTm8gc3BlY2lhbCBtZW1vcnkgY29uc3Vt cHRpb24gKi8KKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQkVHSU46CisJCWNhc2UgTE9HSUNBTF9S RVBfTVNHX0NPTU1JVDoKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfVFJVTkNBVEU6CisJCWNhc2Ug TE9HSUNBTF9SRVBfTVNHX1RZUEU6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX09SSUdJTjoKKwkJ Y2FzZSBMT0dJQ0FMX1JFUF9NU0dfTUVTU0FHRToKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQkVH SU5fUFJFUEFSRToKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfUkVMQVRJT046CisJCQlicmVhazsK KworCQljYXNlIExPR0lDQUxfUkVQX01TR19JTlNFUlQ6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNH X1VQREFURToKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfREVMRVRFOgorCQkJQXNzZXJ0KCFpbl9z dHJlYW1lZF90cmFuc2FjdGlvbik7CisKKwkJCS8qCisJCQkgKiBDb21wdXRlIHNpemUgYmFzZWQg b24gQXBwbHlFeGVjdXRpb25EYXRhLiBUaGUgc2l6ZSBvZgorCQkJICogTG9naWNhbFJlcFJlbE1h cEVudHJ5IGNhbiBiZSBza2lwcGVkIGJlY2F1c2UgaXQgaXMgb2J0YWluZWQKKwkJCSAqIGZyb20g aGFzaF9zZWFyY2ggaW4gbG9naWNhbHJlcF9yZWxfb3Blbi4KKwkJCSAqLworCQkJc2l6ZSArPSBz aXplb2YoQXBwbHlFeGVjdXRpb25EYXRhKSArIHNpemVvZihFU3RhdGUpICsKKwkJCQlzaXplb2Yo UmVzdWx0UmVsSW5mbykgKyBzaXplb2YoUmVzdWx0UmVsSW5mbyk7CisKKwkJCS8qIEFkZCBzb21l IGV4dHJhIHNpemUgaWYgdGhlIHRhcmdldCByZWxhdGlvbiBpcyBwYXJ0aXRpb25lZC4gKi8KKwkJ CWlmIChpc19wYXJ0aXRpb25lZCkKKwkJCQlzaXplICs9IHNpemVvZihNb2RpZnlUYWJsZVN0YXRl KSArIHNpemVvZihQYXJ0aXRpb25UdXBsZVJvdXRpbmcpOworCQkJYnJlYWs7CisKKwkJY2FzZSBM T0dJQ0FMX1JFUF9NU0dfUFJFUEFSRToKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUX1BS RVBBUkVEOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19ST0xMQkFDS19QUkVQQVJFRDoKKwkJCXNp emUgKz0gc2l6ZW9mKEZsdXNoUG9zaXRpb24pOworCQkJYnJlYWs7CisKKwkJY2FzZSBMT0dJQ0FM X1JFUF9NU0dfU1RSRUFNX1NUQVJUOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19TVFJFQU1fU1RP UDoKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfU1RSRUFNX0NPTU1JVDoKKwkJY2FzZSBMT0dJQ0FM X1JFUF9NU0dfU1RSRUFNX1BSRVBBUkU6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9B Qk9SVDoKKwkJZGVmYXVsdDoKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNP REVfUFJPVE9DT0xfVklPTEFUSU9OKSwKKwkJCQkJIGVycm1zZygiaW52YWxpZCBsb2dpY2FsIHJl cGxpY2F0aW9uIG1lc3NhZ2UgdHlwZSBcIiVjXCIiLCBhY3Rpb24pKSk7CisJfQorCisJLyogVXBk YXRlIHRoZSB0b3RhbCBzaXplIG9mIGNvbnN1bXB0aW9uIHdoZW4gbmVjZXNzYXJ5ICovCisJaWYg KHNpemUgIT0gMCkKKwkJYWRkX2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKHNpemUpOwor fQorCisvKgogICogRmlndXJlIG91dCB3aGljaCB3cml0ZS9mbHVzaCBwb3NpdGlvbnMgdG8gcmVw b3J0IHRvIHRoZSB3YWxzZW5kZXIgcHJvY2Vzcy4KICAqCiAgKiBXZSBjYW4ndCBzaW1wbHkgcmVw b3J0IGJhY2sgdGhlIGxhc3QgTFNOIHRoZSB3YWxzZW5kZXIgc2VudCB1cyBiZWNhdXNlIHRoZQpA QCAtMzI5NCw2ICszNDM5LDcgQEAgc3RyZWFtX3dyaXRlX2NoYW5nZShjaGFyIGFjdGlvbiwgU3Ry aW5nSW5mbyBzKQogCUJ1ZkZpbGVXcml0ZShzdHJlYW1fZmQsICZzLT5kYXRhW3MtPmN1cnNvcl0s IGxlbik7CiB9CiAKKwogLyoKICAqIENsZWFudXAgdGhlIG1lbW9yeSBmb3Igc3VieGFjdHMgYW5k IHJlc2V0IHRoZSByZWxhdGVkIHZhcmlhYmxlcy4KICAqLwpAQCAtMzYwNCw2ICszNzUwLDI3IEBA IEFwcGx5V29ya2VyTWFpbihEYXR1bSBtYWluX2FyZykKIAlwcm9jX2V4aXQoMCk7CiB9CiAKKy8q IEV4cG9ydGVkIHNvIHRoYXQgc3RhdHMgY29sbGVjdG9yIGNhbiB1dGlsaXplIHRoaXMgdmFsdWUg Ki8KK2ludDY0CitnZXRfYXBwbHlfZXJyb3JfY29udGV4dF94YWN0X3NpemUodm9pZCkKK3sKKwly ZXR1cm4gYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzOworfQorCisvKiBBZGQgc2l6ZSB0 byBhcHBseSBlcnJvciBieXRlcyAqLwordm9pZAorYWRkX2FwcGx5X2Vycm9yX2NvbnRleHRfeGFj dF9zaXplKGludDY0IHNpemUpCit7CisJYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzICs9 IHNpemU7Cit9CisKKy8qIFJlc2V0IGluZm9ybWF0aW9uIG9mIGFwcGx5IGVycm9yIGNhbGxiYWNr ICovCit2b2lkCityZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZSh2b2lkKQorewor CWFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZy5ieXRlcyA9IDA7Cit9CisKIC8qCiAgKiBJcyBjdXJy ZW50IHByb2Nlc3MgYSBsb2dpY2FsIHJlcGxpY2F0aW9uIHdvcmtlcj8KICAqLwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBhMzRjMGI2Li5kNzI2NGZjIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjQxNCw3ICsyNDE0LDcgQEAgcGdfc3RhdF9nZXRfcmVw bGljYXRpb25fc2xvdChQR19GVU5DVElPTl9BUkdTKQogRGF0dW0KIHBnX3N0YXRfZ2V0X3N1YnNj cmlwdGlvbl93b3JrZXIoUEdfRlVOQ1RJT05fQVJHUykKIHsKLSNkZWZpbmUgUEdfU1RBVF9HRVRf U1VCU0NSSVBUSU9OX1dPUktFUl9DT0xTCTkKKyNkZWZpbmUgUEdfU1RBVF9HRVRfU1VCU0NSSVBU SU9OX1dPUktFUl9DT0xTCTE1CiAJT2lkCQkJc3ViaWQgPSBQR19HRVRBUkdfT0lEKDApOwogCU9p ZAkJCXN1YnJlbGlkOwogCVR1cGxlRGVzYwl0dXBkZXNjOwpAQCAtMjQ0MSwxOSArMjQ0MSwzMSBA QCBwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25fd29ya2VyKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQkJ CSAgIE9JRE9JRCwgLTEsIDApOwogCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgMiwgInN1YnJlbGlkIiwKIAkJCQkJICAgT0lET0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAzLCAibGFzdF9lcnJvcl9yZWxpZCIsCisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAzLCAiY29tbWl0X2NvdW50 IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgNCwgImNvbW1pdF9ieXRlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDUsICJlcnJvcl9j b3VudCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVw ZGVzYywgKEF0dHJOdW1iZXIpIDYsICJlcnJvcl9ieXRlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0x LCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDcsICJhYm9y dF9jb3VudCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpIDgsICJhYm9ydF9ieXRlcyIsCisJCQkJCSAgIElOVDhPSUQs IC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDksICJs YXN0X2Vycm9yX3JlbGlkIiwKIAkJCQkJICAgT0lET0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA0LCAibGFzdF9lcnJvcl9jb21tYW5kIiwKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDEwLCAibGFzdF9lcnJvcl9j b21tYW5kIiwKIAkJCQkJICAgVEVYVE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgNSwgImxhc3RfZXJyb3JfeGlkIiwKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDExLCAibGFzdF9lcnJvcl94aWQiLAogCQkJCQkg ICBYSURPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpIDYsICJsYXN0X2Vycm9yX2NvdW50IiwKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpIDEyLCAibGFzdF9lcnJvcl9jb3VudCIsCiAJCQkJCSAgIElOVDhPSUQsIC0x LCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDcsICJsYXN0 X2Vycm9yX21lc3NhZ2UiLAorCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgMTMsICJsYXN0X2Vycm9yX21lc3NhZ2UiLAogCQkJCQkgICBURVhUT0lELCAtMSwgMCk7Ci0J VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA4LCAiZmlyc3RfZXJyb3Jf dGltZSIsCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAxNCwgImZp cnN0X2Vycm9yX3RpbWUiLAogCQkJCQkgICBUSU1FU1RBTVBUWk9JRCwgLTEsIDApOwotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgOSwgImxhc3RfZXJyb3JfdGltZSIs CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAxNSwgImxhc3RfZXJy b3JfdGltZSIsCiAJCQkJCSAgIFRJTUVTVEFNUFRaT0lELCAtMSwgMCk7CiAJQmxlc3NUdXBsZURl c2ModHVwZGVzYyk7CiAKQEAgLTI0NzEsNiArMjQ4MywxNCBAQCBwZ19zdGF0X2dldF9zdWJzY3Jp cHRpb25fd29ya2VyKFBHX0ZVTkNUSU9OX0FSR1MpCiAJZWxzZQogCQludWxsc1tpKytdID0gdHJ1 ZTsKIAorCS8qIHRyYW5zYWN0aW9uIHN0YXRzICovCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERh dHVtKHdlbnRyeS0+eGFjdF9jb21taXRfY291bnQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bSh3ZW50cnktPnhhY3RfY29tbWl0X2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0od2VudHJ5LT54YWN0X2Vycm9yX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0od2VudHJ5LT54YWN0X2Vycm9yX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0od2VudHJ5LT54YWN0X2Fib3J0X2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0od2VudHJ5LT54YWN0X2Fib3J0X2J5dGVzKTsKKwogCS8qIGxhc3RfZXJyb3JfcmVsaWQg Ki8KIAlpZiAoT2lkSXNWYWxpZCh3ZW50cnktPnJlbGlkKSkKIAkJdmFsdWVzW2krK10gPSBPYmpl Y3RJZEdldERhdHVtKHdlbnRyeS0+cmVsaWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXgg MjVmNjg1Zi4uZmM2NTRiNCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9j LmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC01Mzg5LDkgKzUz ODksOSBAQAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25fd29ya2VyJywg cHJvcm93cyA9PiAnMScsIHByb2lzc3RyaWN0ID0+ICdmJywKICAgcHJvcmV0c2V0ID0+ICd0Jywg cHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAncicsCiAgIHByb3JldHR5cGUgPT4g J3JlY29yZCcsIHByb2FyZ3R5cGVzID0+ICdvaWQgb2lkJywKLSAgcHJvYWxsYXJndHlwZXMgPT4g J3tvaWQsb2lkLG9pZCxvaWQsb2lkLHRleHQseGlkLGludDgsdGV4dCx0aW1lc3RhbXB0eix0aW1l c3RhbXB0en0nLAotICBwcm9hcmdtb2RlcyA9PiAne2ksaSxvLG8sbyxvLG8sbyxvLG8sb30nLAot ICBwcm9hcmduYW1lcyA9PiAne3N1YmlkLHN1YnJlbGlkLHN1YmlkLHN1YnJlbGlkLGxhc3RfZXJy b3JfcmVsaWQsbGFzdF9lcnJvcl9jb21tYW5kLGxhc3RfZXJyb3JfeGlkLGxhc3RfZXJyb3JfY291 bnQsbGFzdF9lcnJvcl9tZXNzYWdlLGZpcnN0X2Vycm9yX3RpbWUsbGFzdF9lcnJvcl90aW1lfScs CisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxvaWQsb2lkLGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LG9pZCx0ZXh0LHhpZCxpbnQ4LHRleHQsdGltZXN0YW1wdHosdGltZXN0YW1w dHp9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLGksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tzdWJpZCxzdWJyZWxpZCxzdWJpZCxzdWJyZWxpZCxj b21taXRfY291bnQsY29tbWl0X2J5dGVzLGVycm9yX2NvdW50LGVycm9yX2J5dGVzLGFib3J0X2Nv dW50LGFib3J0X2J5dGVzLGxhc3RfZXJyb3JfcmVsaWQsbGFzdF9lcnJvcl9jb21tYW5kLGxhc3Rf ZXJyb3JfeGlkLGxhc3RfZXJyb3JfY291bnQsbGFzdF9lcnJvcl9tZXNzYWdlLGZpcnN0X2Vycm9y X3RpbWUsbGFzdF9lcnJvcl90aW1lfScsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfc3Vic2Ny aXB0aW9uX3dvcmtlcicgfSwKIHsgb2lkID0+ICc2MTE4JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6 IGluZm9ybWF0aW9uIGFib3V0IHN1YnNjcmlwdGlvbicsCiAgIHByb25hbWUgPT4gJ3BnX3N0YXRf Z2V0X3N1YnNjcmlwdGlvbicsIHByb3Jvd3MgPT4gJzEwJywgcHJvaXNzdHJpY3QgPT4gJ2YnLApk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApp bmRleCAyYzI2YjFjLi4yNjY3MTFiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAor KysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtODYsNiArODYsOCBAQCB0eXBlZGVmIGVudW0g U3RhdE1zZ1R5cGUKIAlQR1NUQVRfTVRZUEVfRElTQ09OTkVDVCwKIAlQR1NUQVRfTVRZUEVfU1VC U0NSSVBUSU9OUFVSR0UsCiAJUEdTVEFUX01UWVBFX1NVQldPUktFUkVSUk9SLAorCVBHU1RBVF9N VFlQRV9TVUJXT1JLRVJYQUNURU5ELAorCVBHU1RBVF9NVFlQRV9TVUJXT1JLRVJUV09QSEFTRVhB Q1QsCiB9IFN0YXRNc2dUeXBlOwogCiAvKiAtLS0tLS0tLS0tCkBAIC01NTgsNiArNTYwLDU2IEBA IHR5cGVkZWYgc3RydWN0IFBnU3RhdF9Nc2dTdWJzY3JpcHRpb25QdXJnZQogfSBQZ1N0YXRfTXNn U3Vic2NyaXB0aW9uUHVyZ2U7CiAKIC8qIC0tLS0tLS0tLS0KKyAqIFBnU3RhdF9Nc2dTdWJzY3Jp cHRpb25YYWN0RW5kCVNlbnQgYnkgdGhlIGFwcGx5IHdvcmtlciBvciB0aGUgdGFibGUgc3luYyB3 b3JrZXIKKyAqCQkJCQkJCQkJdG8gcmVwb3J0IHN1Y2Nlc3NmdWwgdHJhbnNhY3Rpb24gZW5kcy4K KyAqIC0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X01zZ1N1Yldvcmtlclhh Y3RFbmQKK3sKKwlQZ1N0YXRfTXNnSGRyIG1faGRyOworCisJLyogZGV0ZXJtaW5lIHRoZSB3b3Jr ZXIgZW50cnkgKi8KKwlPaWQJCQltX2RhdGFiYXNlaWQ7CisJT2lkCQkJbV9zdWJpZDsKKwlPaWQJ CQltX3N1YnJlbGlkOworCisJLyoKKwkgKiBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRyYW5zYWN0aW9u IGNvbW1pdHMgYW5kIHN0cmVhbWluZyB0cmFuc2FjdGlvbgorCSAqIGFib3J0cyB0aGF0IGFyZSBo YW5kbGVkIHdpdGhvdXQgZXJyb3IuCisJICovCisJTG9naWNhbFJlcE1zZ1R5cGUgbV9jb21tYW5k OworCisJLyogbWVtb3J5IGNvbnN1bXB0aW9uIHVzZWQgYnkgdHJhbnNhY3Rpb24gKi8KKwlQZ1N0 YXRfQ291bnRlciBtX3hhY3RfYnl0ZXM7CisKK30gUGdTdGF0X01zZ1N1YldvcmtlclhhY3RFbmQ7 CisKKy8qIC0tLS0tLS0tLS0KKyAqIFBnU3RhdF9Nc2dTdWJXb3JrZXJUd29waGFzZVhhY3QJU2Vu dCBieSB0aGUgYXBwbHkgd29ya2VyIHRvIG1ha2Ugc2l6ZSBvZiBwcmVwYXJlZAorICoJCQkJCQkJ CQl0eG4gcGVyc2lzdGVudCBvdmVyIHRoZSBzZXJ2ZXIgcmVzdGFydCBhbmQgbWFrZSBpdAorICoJ CQkJCQkJCQl2aXNpYmxlIGFmdGVyIGNvbW1pdCBwcmVwYXJlIG9yIHJvbGxiYWNrIHByZXBhcmVk LgorICoJCQkJCQkJCQlUaGlzIGlzIHNlcGFyYXRlZCBmcm9tIFBnU3RhdF9Nc2dTdWJXb3JrZXJY YWN0RW5kCisgKgkJCQkJCQkJCXNvIHRoYXQgd2UgY2FuIHJlZHVjZSBtZXNzYWdlIHNpemUgb2Yg Z2lkIGZvciBvdGhlcgorICoJCQkJCQkJCQlvcGVyYXRpb25zIChlLmcuIG5vcm1hbCBDT01NSVQp IHRoYXQgc2hvdWxkIGhhcHBlbiBtb3JlCisgKgkJCQkJCQkJCWZyZXF1ZW50bHkgdGhhbiBwcmVw YXJlIG9wZXJhdGlvbiB1c3VhbGx5LgorICogLS0tLS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVj dCBQZ1N0YXRfTXNnU3ViV29ya2VyVHdvcGhhc2VYYWN0Cit7CisJUGdTdGF0X01zZ0hkciBtX2hk cjsKKworCS8qIGRldGVybWluZSB0aGUgc3Vic2NyaXB0aW9uICovCisJT2lkCQkJbV9kYXRhYmFz ZWlkOworCU9pZAkJCW1fc3ViaWQ7CisKKwlMb2dpY2FsUmVwTXNnVHlwZSBtX2NvbW1hbmQ7CisJ Y2hhcgkJbV9naWRbR0lEU0laRV07CisJaW50CQkJZ2lkX2xlbjsKKwlQZ1N0YXRfQ291bnRlciBt X3hhY3RfYnl0ZXM7CisKK30gUGdTdGF0X01zZ1N1YldvcmtlclR3b3BoYXNlWGFjdDsKKworLyog LS0tLS0tLS0tLQogICogUGdTdGF0X01zZ1N1YldvcmtlckVycm9yCQlTZW50IGJ5IHRoZSBhcHBs eSB3b3JrZXIgb3IgdGhlIHRhYmxlIHN5bmMgd29ya2VyIHRvCiAgKgkJCQkJCQkJcmVwb3J0IHRo ZSBlcnJvciBvY2N1cnJlZCBkdXJpbmcgbG9naWNhbCByZXBsaWNhdGlvbi4KICAqIC0tLS0tLS0t LS0KQEAgLTU3Nyw2ICs2MjksMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X01zZ1N1Yldvcmtl ckVycm9yCiAJT2lkCQkJbV9zdWJyZWxpZDsKIAogCS8qCisJICogVHJhbnNhY3Rpb24gc3RhdHMg b2Ygc3Vic2NyaXB0aW9uIG5lZWRzIHRvIGJlIHVwZGF0ZWQgd2hlbiBhbiBlcnJvcgorCSAqIG9j Y3Vycy4KKwkgKi8KKwlQZ1N0YXRfQ291bnRlciBtX3hhY3RfZXJyb3JfYnl0ZXM7CisKKwkvKgog CSAqIE9pZCBvZiB0aGUgdGFibGUgdGhhdCB0aGUgcmVwb3J0ZXIgd2FzIGFjdHVhbGx5IHByb2Nl c3NpbmcuIG1fcmVsaWQgY2FuCiAJICogYmUgSW52YWxpZE9pZCBpZiBhbiBlcnJvciBvY2N1cnJl ZCBkdXJpbmcgd29ya2VyIGFwcGx5aW5nIGEKIAkgKiBub24tZGF0YS1tb2RpZmljYXRpb24gbWVz c2FnZSBzdWNoIGFzIFJFTEFUSU9OLgpAQCAtNzY4LDYgKzgyNiw4IEBAIHR5cGVkZWYgdW5pb24g UGdTdGF0X01zZwogCVBnU3RhdF9Nc2dEaXNjb25uZWN0IG1zZ19kaXNjb25uZWN0OwogCVBnU3Rh dF9Nc2dTdWJzY3JpcHRpb25QdXJnZSBtc2dfc3Vic2NyaXB0aW9ucHVyZ2U7CiAJUGdTdGF0X01z Z1N1YldvcmtlckVycm9yIG1zZ19zdWJ3b3JrZXJlcnJvcjsKKwlQZ1N0YXRfTXNnU3ViV29ya2Vy WGFjdEVuZCBtc2dfc3Vid29ya2VyeGFjdGVuZDsKKwlQZ1N0YXRfTXNnU3ViV29ya2VyVHdvcGhh c2VYYWN0IG1zZ19zdWJ3b3JrZXJ0d29waGFzZXhhY3Q7CiB9IFBnU3RhdF9Nc2c7CiAKIApAQCAt ODIyLDE2ICs4ODIsMjMgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJVGlt ZXN0YW1wVHogc3RhdHNfdGltZXN0YW1wOwkvKiB0aW1lIG9mIGRiIHN0YXRzIGZpbGUgdXBkYXRl ICovCiAKIAkvKgotCSAqIHRhYmxlcywgZnVuY3Rpb25zLCBhbmQgc3Vic2NyaXB0aW9uIHdvcmtl cnMgbXVzdCBiZSBsYXN0IGluIHRoZSBzdHJ1Y3QsCi0JICogYmVjYXVzZSB3ZSBkb24ndCB3cml0 ZSB0aGUgcG9pbnRlcnMgb3V0IHRvIHRoZSBzdGF0cyBmaWxlLgorCSAqIHRhYmxlcywgZnVuY3Rp b25zLCBzdWJzY3JpcHRpb24gd29ya2VycyBhbmQgaXRzIHByZXBhcmVkIHRyYW5zYWN0aW9uCisJ ICogc3RhdHMgbXVzdCBiZSBsYXN0IGluIHRoZSBzdHJ1Y3QsIGJlY2F1c2Ugd2UgZG9uJ3Qgd3Jp dGUgdGhlIHBvaW50ZXJzCisJICogb3V0IHRvIHRoZSBzdGF0cyBmaWxlLgogCSAqCiAJICogc3Vi d29ya2VyIGlzIHRoZSBoYXNoIHRhYmxlIG9mIFBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkgd2hp Y2ggc3RvcmVzCiAJICogc3RhdGlzdGljcyBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uIHdvcmtlcnM6 IGFwcGx5IHdvcmtlciBhbmQgdGFibGUgc3luYwogCSAqIHdvcmtlci4KKwkgKgorCSAqIHN1Yndv cmtlcnNfcHJlcGFyZWRzaXplcyBzaG91bGQgZ2l2ZSBhcHByb3ByaWF0ZSB0cmFuc2FjdGlvbiBz aXplcyBhdAorCSAqIGVpdGhlciBjb21taXQgcHJlcGFyZWQgb3Igcm9sbGJhY2sgcHJlcGFyZWQg dGltZSwgZXZlbiB3aGVuIGl0J3MgYWZ0ZXIKKwkgKiB0aGUgc2VydmVyIHJlc3RhcnQuIFdlIGhh dmUgdGhlIGFwcGx5IHdvcmtlciBzZW5kIHRob3NlIHN0YXRpc3RpY3MgdG8KKwkgKiB0aGUgc3Rh dHMgY29sbGVjdG9yIGF0IHByZXBhcmUgdGltZS4KIAkgKi8KIAlIVEFCCSAgICp0YWJsZXM7CiAJ SFRBQgkgICAqZnVuY3Rpb25zOwogCUhUQUIJICAgKnN1YndvcmtlcnM7CisJSFRBQgkgICAqc3Vi d29ya2Vyc19wcmVwYXJlZHNpemVzOwogfSBQZ1N0YXRfU3RhdERCRW50cnk7CiAKIApAQCAtMTAw NSw2ICsxMDcyLDE2IEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkK IAlQZ1N0YXRfU3RhdFN1YldvcmtlcktleSBrZXk7CS8qIGhhc2gga2V5IChtdXN0IGJlIGZpcnN0 KSAqLwogCiAJLyoKKwkgKiBDdW11bGF0aXZlIHRyYW5zYWN0aW9uIHN0YXRpc3RpY3Mgb2Ygc3Vi c2NyaXB0aW9uIHdvcmtlcgorCSAqLworCVBnU3RhdF9Db3VudGVyIHhhY3RfY29tbWl0X2NvdW50 OworCVBnU3RhdF9Db3VudGVyIHhhY3RfY29tbWl0X2J5dGVzOworCVBnU3RhdF9Db3VudGVyIHhh Y3RfZXJyb3JfY291bnQ7CisJUGdTdGF0X0NvdW50ZXIgeGFjdF9lcnJvcl9ieXRlczsKKwlQZ1N0 YXRfQ291bnRlciB4YWN0X2Fib3J0X2NvdW50OworCVBnU3RhdF9Db3VudGVyIHhhY3RfYWJvcnRf Ynl0ZXM7CisKKwkvKgogCSAqIFN1YnNjcmlwdGlvbiB3b3JrZXIgZXJyb3Igc3RhdGlzdGljcyBy ZXByZXNlbnRpbmcgYW4gZXJyb3IgdGhhdAogCSAqIG9jY3VycmVkIGR1cmluZyBhcHBsaWNhdGlv biBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uIG9yIHRoZSBpbml0aWFsIHRhYmxlCiAJICogc3luY2hy b25pemF0aW9uLgpAQCAtMTAxOCw2ICsxMDk1LDIyIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9T dGF0U3ViV29ya2VyRW50cnkKIAljaGFyCQllcnJvcl9tZXNzYWdlW1BHU1RBVF9TVUJXT1JLRVJF UlJPUl9NU0dMRU5dOwogfSBQZ1N0YXRfU3RhdFN1YldvcmtlckVudHJ5OwogCisvKiBwcmVwYXJl ZCB0cmFuc2FjdGlvbiAqLwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEtl eQoreworCU9pZAkJCXN1YmlkOworCWNoYXIJCWdpZFtHSURTSVpFXTsKK30gUGdTdGF0X1NXX1By ZXBhcmVkWGFjdEtleTsKKwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVu dHJ5Cit7CisJUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEtleSBrZXk7CS8qIGhhc2gga2V5ICovCisK KwlPaWQJCQlzdWJpZDsKKwljaGFyCQlnaWRbR0lEU0laRV07CisJUGdTdGF0X0NvdW50ZXIgeGFj dF9zaXplOworfSBQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0RW50cnk7CisKIC8qCiAgKiBXb3JraW5n IHN0YXRlIG5lZWRlZCB0byBhY2N1bXVsYXRlIHBlci1mdW5jdGlvbi1jYWxsIHRpbWluZyBzdGF0 aXN0aWNzLgogICovCkBAIC0xMTI4LDYgKzEyMjEsMTAgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3Jl cG9ydF9jaGVja3N1bV9mYWlsdXJlKHZvaWQpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9y ZXBsc2xvdChjb25zdCBQZ1N0YXRfU3RhdFJlcGxTbG90RW50cnkgKnJlcFNsb3RTdGF0KTsKIGV4 dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfcmVwbHNsb3RfY3JlYXRlKGNvbnN0IGNoYXIgKnNsb3Ru YW1lKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfcmVwbHNsb3RfZHJvcChjb25zdCBjaGFy ICpzbG90bmFtZSk7CitleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3N1Yndvcmtlcl94YWN0X2Vu ZChPaWQgc3ViaWQsIE9pZCBzdWJyZWwsCisJCQkJCQkJCQkJCSBMb2dpY2FsUmVwTXNnVHlwZSBj b21tYW5kLCBQZ1N0YXRfQ291bnRlciB4YWN0X3NpemUpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3Jl cG9ydF9zdWJ3b3JrZXJfdHdvcGhhc2VfeGFjdChPaWQgc3ViaWQsIExvZ2ljYWxSZXBNc2dUeXBl IGNvbW1hbmQsCisJCQkJCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIHhhY3Rfc2l6ZSwgY2hhciAq Z2lkKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfc3Vid29ya2VyX2Vycm9yKE9pZCBzdWJp ZCwgT2lkIHN1YnJlbGlkLCBPaWQgcmVsaWQsCiAJCQkJCQkJCQkJICBMb2dpY2FsUmVwTXNnVHlw ZSBjb21tYW5kLAogCQkJCQkJCQkJCSAgVHJhbnNhY3Rpb25JZCB4aWQsIGNvbnN0IGNoYXIgKmVy cm1zZyk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2Vy LmggYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2VyLmgKaW5kZXggMmFkNjFh MC4uOWE4NDQ3YiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHdv cmtlci5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2xvZ2ljYWx3b3JrZXIuaApAQCAt MTYsNCArMTYsOSBAQCBleHRlcm4gdm9pZCBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFpbl9hcmcp OwogCiBleHRlcm4gYm9vbCBJc0xvZ2ljYWxXb3JrZXIodm9pZCk7CiAKKy8qIGZvciB0cmFuc2Fj dGlvbiBzdGF0cyAqLworZXh0ZXJuIGludDY0IGdldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rf c2l6ZSh2b2lkKTsKK2V4dGVybiB2b2lkIGFkZF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6 ZShpbnQ2NCBzaXplKTsKK2V4dGVybiB2b2lkIHJlc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfeGFj dF9zaXplKHZvaWQpOworCiAjZW5kaWYJCQkJCQkJLyogTE9HSUNBTFdPUktFUl9IICovCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IGQ2MGM1YTUuLmJkM2UyMjEgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0yMDk3LDYgKzIwOTcsMTIgQEAgcGdfc3RhdF9z dWJzY3JpcHRpb258IFNFTEVDVCBzdS5vaWQgQVMgc3ViaWQsCiBwZ19zdGF0X3N1YnNjcmlwdGlv bl93b3JrZXJzfCBTRUxFQ1Qgdy5zdWJpZCwKICAgICBzLnN1Ym5hbWUsCiAgICAgdy5zdWJyZWxp ZCwKKyAgICB3LmNvbW1pdF9jb3VudCwKKyAgICB3LmNvbW1pdF9ieXRlcywKKyAgICB3LmVycm9y X2NvdW50LAorICAgIHcuZXJyb3JfYnl0ZXMsCisgICAgdy5hYm9ydF9jb3VudCwKKyAgICB3LmFi b3J0X2J5dGVzLAogICAgIHcubGFzdF9lcnJvcl9yZWxpZCwKICAgICB3Lmxhc3RfZXJyb3JfY29t bWFuZCwKICAgICB3Lmxhc3RfZXJyb3JfeGlkLApAQCAtMjExMiw3ICsyMTE4LDcgQEAgcGdfc3Rh dF9zdWJzY3JpcHRpb25fd29ya2Vyc3wgU0VMRUNUIHcuc3ViaWQsCiAgICAgICAgICAgICBwZ19z dWJzY3JpcHRpb25fcmVsLnNycmVsaWQgQVMgcmVsaWQKICAgICAgICAgICAgRlJPTSBwZ19zdWJz Y3JpcHRpb25fcmVsCiAgICAgICAgICAgV0hFUkUgKHBnX3N1YnNjcmlwdGlvbl9yZWwuc3JzdWJz dGF0ZSA8PiAncic6OiJjaGFyIikpIHNyLAotICAgIChMQVRFUkFMIHBnX3N0YXRfZ2V0X3N1YnNj cmlwdGlvbl93b3JrZXIoc3Iuc3ViaWQsIHNyLnJlbGlkKSB3KHN1YmlkLCBzdWJyZWxpZCwgbGFz dF9lcnJvcl9yZWxpZCwgbGFzdF9lcnJvcl9jb21tYW5kLCBsYXN0X2Vycm9yX3hpZCwgbGFzdF9l cnJvcl9jb3VudCwgbGFzdF9lcnJvcl9tZXNzYWdlLCBmaXJzdF9lcnJvcl90aW1lLCBsYXN0X2Vy cm9yX3RpbWUpCisgICAgKExBVEVSQUwgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3dvcmtlcihz ci5zdWJpZCwgc3IucmVsaWQpIHcoc3ViaWQsIHN1YnJlbGlkLCBjb21taXRfY291bnQsIGNvbW1p dF9ieXRlcywgZXJyb3JfY291bnQsIGVycm9yX2J5dGVzLCBhYm9ydF9jb3VudCwgYWJvcnRfYnl0 ZXMsIGxhc3RfZXJyb3JfcmVsaWQsIGxhc3RfZXJyb3JfY29tbWFuZCwgbGFzdF9lcnJvcl94aWQs IGxhc3RfZXJyb3JfY291bnQsIGxhc3RfZXJyb3JfbWVzc2FnZSwgZmlyc3RfZXJyb3JfdGltZSwg bGFzdF9lcnJvcl90aW1lKQogICAgICBKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OICgody5zdWJp ZCA9IHMub2lkKSkpOwogcGdfc3RhdF9zeXNfaW5kZXhlc3wgU0VMRUNUIHBnX3N0YXRfYWxsX2lu ZGV4ZXMucmVsaWQsCiAgICAgcGdfc3RhdF9hbGxfaW5kZXhlcy5pbmRleHJlbGlkLApkaWZmIC0t Z2l0IGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI3X3dvcmtlcl94YWN0X3N0YXRzLnBsIGIv c3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI3X3dvcmtlcl94YWN0X3N0YXRzLnBsCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwOWJlNDIKLS0tIC9kZXYvbnVsbAorKysgYi9z cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjdfd29ya2VyX3hhY3Rfc3RhdHMucGwKQEAgLTAsMCAr MSwxNDYgQEAKKworIyBDb3B5cmlnaHQgKGMpIDIwMjEsIFBvc3RncmVTUUwgR2xvYmFsIERldmVs b3BtZW50IEdyb3VwCisKKyMgVGVzdHMgZm9yIHN1YnNjcmlwdGlvbiB3b3JrZXIgc3RhdGlzdGlj cyBkdXJpbmcgYXBwbHkuCit1c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdzOwordXNlIFBvc3RncmVT UUw6OlRlc3Q6OkNsdXN0ZXI7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7Cit1c2UgVGVz dDo6TW9yZSB0ZXN0cyA9PiAyOworCisjIENyZWF0ZSBwdWJsaXNoZXIgbm9kZQorbXkgJG5vZGVf cHVibGlzaGVyID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCdwdWJsaXNoZXInKTsK KyRub2RlX3B1Ymxpc2hlci0+aW5pdChhbGxvd3Nfc3RyZWFtaW5nID0+ICdsb2dpY2FsJyk7Cisk bm9kZV9wdWJsaXNoZXItPmFwcGVuZF9jb25mKAorCSdwb3N0Z3Jlc3FsLmNvbmYnLCBxcVsKK2xv Z2ljYWxfZGVjb2Rpbmdfd29ya19tZW0gPSA2NGtCCittYXhfcHJlcGFyZWRfdHJhbnNhY3Rpb25z ID0gMTAKK21heF93YWxfc2VuZGVycyA9IDEwCit3YWxfc2VuZGVyX3RpbWVvdXQgPSAwCitdKTsK KyRub2RlX3B1Ymxpc2hlci0+c3RhcnQ7CisKKyMgQ3JlYXRlIHN1YnNjcmliZXIgbm9kZQorbXkg JG5vZGVfc3Vic2NyaWJlciA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygnc3Vic2Ny aWJlcicpOworJG5vZGVfc3Vic2NyaWJlci0+aW5pdChhbGxvd3Nfc3RyZWFtaW5nID0+ICdsb2dp Y2FsJyk7Ciskbm9kZV9zdWJzY3JpYmVyLT5hcHBlbmRfY29uZigKKwkncG9zdGdyZXNxbC5jb25m JywgcXFbCittYXhfcHJlcGFyZWRfdHJhbnNhY3Rpb25zID0gMTAKK2xvZ19taW5fbWVzc2FnZXMg PSBERUJVRzEKK10pOworJG5vZGVfc3Vic2NyaWJlci0+c3RhcnQ7CisKKyMgU2V0dXAgc3RydWN0 dXJlcyBvbiB0aGUgcHVibGlzaGVyIGFuZCB0aGUgc3Vic2NyaWJlcgorJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJMRSB0ZXN0X3RhYiAoYSBpbnQpIik7 Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFRBQkxF IHRlc3RfdGFiIChhIGludCBwcmltYXJ5IGtleSk7Iik7CisKKyMgU2V0dXAgbG9naWNhbCByZXBs aWNhdGlvbgorbXkgJHB1Ymxpc2hlcl9jb25uc3RyID0gJG5vZGVfcHVibGlzaGVyLT5jb25uc3Ry IC4gJyBkYm5hbWU9cG9zdGdyZXMnOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywKKwkiQ1JFQVRFIFBVQkxJQ0FUSU9OIHRhcF9wdWIgRk9SIFRBQkxFIHRlc3RfdGFiIik7 CisKK215ICRhcHBuYW1lID0gJ3RhcF9zdWInOworbXkgJHN1Ym9wdHMgPSAnc3RyZWFtaW5nID0g b24sIHR3b19waGFzZSA9IG9uLCBjb3B5X2RhdGEgPSBmYWxzZSc7Ciskbm9kZV9zdWJzY3JpYmVy LT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVzJywgcXFbCitDUkVBVEUgU1VCU0NSSVBUSU9OIHRhcF9z dWIKK0NPTk5FQ1RJT04gJyRwdWJsaXNoZXJfY29ubnN0ciBhcHBsaWNhdGlvbl9uYW1lPSRhcHBu YW1lJworUFVCTElDQVRJT04gdGFwX3B1YiBXSVRIICgkc3Vib3B0cyk7CitdKTsKKworJG5vZGVf cHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCRhcHBuYW1lKTsKKworIyBUaGVyZSdzIG5vIGVu dHJ5IGF0IHRoZSBiZWdpbm5pbmcKK215ICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KCopIEZST00gcGdfc3RhdF9zdWJzY3Jp cHRpb25fd29ya2VyczsiKTsKK2lzKCRyZXN1bHQsIHEoMCksICdubyBlbnRyeSBmb3IgdHJhbnNh Y3Rpb24gc3RhdHMgeWV0Jyk7CisKKyMgQ09NTUlUCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLAorCSJCRUdJTjsgSU5TRVJUIElOVE8gdGVzdF90YWIgVkFMVUVTICgxKTsg Q09NTUlUOyIpOworCiskbm9kZV9zdWJzY3JpYmVyLT5wb2xsX3F1ZXJ5X3VudGlsKCdwb3N0Z3Jl cycsCisJIlNFTEVDVCBjb3VudCgxKSA9IDEgRlJPTSBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3Jr ZXJzIHdoZXJlIGNvbW1pdF9jb3VudCA9IDE7IgorKSBvciBkaWUgImRpZG4ndCBnZXQgdXBkYXRl cyBvZiB4YWN0IHN0YXRzIGJ5IGNvbW1pdCI7CisKKyMgTm93LCBzdGF0cyBjb2xsZWN0b3IgbWFr ZSB0aGUgYnl0ZXMgdXBkYXRlZCBhbHNvLgorJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1QgY29tbWl0X2J5dGVzID4gMCBGUk9NIHBnX3N0 YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnM7Iik7CitpcygkcmVzdWx0LCBxKHQpLCAnZ290IGNvbnN1 bWVkIGJ5dGVzJyk7CisKKyMgU1RSRUFNIENPTU1JVAorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywKKwkiQkVHSU47IElOU0VSVCBJTlRPIHRlc3RfdGFiIFZBTFVFUyhnZW5l cmF0ZV9zZXJpZXMoMTAwMSwgMjAwMCkpOyBDT01NSVQ7IgorKTsKKyRub2RlX3N1YnNjcmliZXIt PnBvbGxfcXVlcnlfdW50aWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KDEpID0gMSBGUk9N IHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMgd2hlcmUgY29tbWl0X2NvdW50ID0gMjsiCisp IG9yIGRpZSAiZGlkbid0IGdldCB1cGRhdGVzIG9mIHhhY3Qgc3RhdHMgYnkgc3RyZWFtIGNvbW1p dCI7CisKKyMgU1RSRUFNIFBSRVBBUkUgJiBDT01NSVQgUFJFUEFSRUQKKyMgVGhpcyBzaG91bGQg cmVzdG9yZSB0aGUgeGFjdCBzaXplIGJlZm9yZSB0aGUgc2h1dGRvd24uCiskbm9kZV9wdWJsaXNo ZXItPnNhZmVfcHNxbCgKKwkncG9zdGdyZXMnLCBxWworQkVHSU47CitJTlNFUlQgSU5UTyB0ZXN0 X3RhYiBWQUxVRVMoZ2VuZXJhdGVfc2VyaWVzKDIwMDEsIDMwMDApKTsKK1BSRVBBUkUgVFJBTlNB Q1RJT04gJ2dpZDEnOworXSk7CisKKyMgVGhpcyBzdHJlYW1lZCBwcmVwYXJlIGlzIG5vdCBkaXNw bGF5ZWQgdW50aWwgdGhlIGNvbW1pdCBwcmVwYXJlZAorIyBvciByb2xsYmFjayBwcmVwYXJlZC4g SGVuY2UsIHRoZXJlJ3Mgbm8gd2F5IHRvIGNvbmZpcm0gdGhhdAorIyBzdGF0cyBjb2xsZWN0b3Ig aGFzIHJlY2VpdmVkIHRoZSBieXRlcyBvZiBwcmVwYXJlZCB0cmFuc2FjdGlvbi4KKyMgU28sIGlu c3RlYWQgb2YgY2hlY2tpbmcgdGhlIHZpZXcsIGlzc3VlIG9uZSBtb3JlIGNvbW1pdHRlZCB0cmFu c2FjdGlvbgorIyBhZnRlciB0aGUgcHJlcGFyZSBhbmQgbWFrZSBzdXJlIHRoYXQgdGhpcyBjb21t aXQncyB1cGRhdGUgaXMgZG9uZSwKKyMgd2hpY2ggc2hvdWxkIG1lYW4gdGhlIHByZXZpb3VzIHN0 cmVhbWVkIHByZXBhcmUgaXMgYWxyZWFkeSBwcm9jZXNzZWQKKyMgYnkgdGhlIHN0YXRzIGNvbGxl Y3RvciBhcyB3ZWxsLgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwki QkVHSU47IElOU0VSVCBJTlRPIHRlc3RfdGFiIFZBTFVFUyAoMik7IENPTU1JVDsiKTsKKyRub2Rl X3N1YnNjcmliZXItPnBvbGxfcXVlcnlfdW50aWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50 KDEpID0gMSBGUk9NIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMgd2hlcmUgY29tbWl0X2Nv dW50ID0gMzsiCispIG9yIGRpZSAiZGlkbid0IHByb2Nlc3MgdGhlIHVwZGF0ZXMgb2YgY29tbWl0 dGVkIHRyYW5zYWN0aW9uIjsKKworJG5vZGVfc3Vic2NyaWJlci0+cmVzdGFydDsKKworIyBHZXQg Y29tbWl0X2J5dGVzIGJlZm9yZSBjb21taXQgcHJlcGFyZWQuCitteSAkdG1wID0gJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBjb21taXRfYnl0ZXMgRlJP TSBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzIHdoZXJlIGNvbW1pdF9jb3VudCA9IDM7Igor KTsKKworIyBDb21taXQgcHJlcGFyZWQgaW5jcmVtZW50cyB0aGUgY29tbWl0X2NvdW50LgorJG5v ZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNPTU1JVCBQUkVQQVJFRCAnZ2lk MSciKTsKKyRub2RlX3N1YnNjcmliZXItPnBvbGxfcXVlcnlfdW50aWwoJ3Bvc3RncmVzJywKKwki U0VMRUNUIGNvdW50KDEpID0gMSBGUk9NIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMgd2hl cmUgY29tbWl0X2NvdW50ID0gNDsiCisgICkKKyAgb3IgZGllCisgICJkaWRuJ3QgZ2V0IHVwZGF0 ZXMgb2YgeGFjdCBzdGF0cyBieSBzdHJlYW0gcHJlcGFyZSBhbmQgY29tbWl0IHByZXBhcmVkIjsK KworJG5vZGVfc3Vic2NyaWJlci0+cG9sbF9xdWVyeV91bnRpbCgncG9zdGdyZXMnLAorCSJTRUxF Q1QgY29tbWl0X2J5dGVzID4gJHRtcCBGUk9NIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMg d2hlcmUgY29tbWl0X2NvdW50ID0gNDsiCispOworCisjIFJPTExCQUNLIFBSRVBBUkVECiskbm9k ZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKKwkncG9zdGdyZXMnLCBxWworQkVHSU47CitJTlNFUlQg SU5UTyB0ZXN0X3RhYiBWQUxVRVMgKDMpOworUFJFUEFSRSBUUkFOU0FDVElPTiAnZ2lkMic7Citd KTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJST0xMQkFDSyBQUkVQ QVJFRCAnZ2lkMiciKTsKKyRub2RlX3N1YnNjcmliZXItPnBvbGxfcXVlcnlfdW50aWwoJ3Bvc3Rn cmVzJywKKwkiU0VMRUNUIGNvdW50KDEpID0gMSBGUk9NIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dv cmtlcnMgd2hlcmUgYWJvcnRfY291bnQgPSAxOyIKKykgb3IgZGllICJkaWRuJ3QgZ2V0IHVwZGF0 ZXMgb2YgeGFjdCBzdGF0cyBieSByb2xsYmFjayBwcmVwYXJlZCI7CisKKyMgZXJyb3Igc3RhdHMg KGJ5IGR1cGxpY2F0aW9uIGVycm9yKQorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCisJJ3Bv c3RncmVzJywgcVsKK0JFR0lOOworSU5TRVJUIElOVE8gdGVzdF90YWIgVkFMVUVTICgxKTsKK0NP TU1JVDsKK10pOworCiskbm9kZV9zdWJzY3JpYmVyLT5wb2xsX3F1ZXJ5X3VudGlsKCdwb3N0Z3Jl cycsCisJIlNFTEVDVCBjb3VudCgxKSA9IDEgRlJPTSBwZ19zdGF0X3N1YnNjcmlwdGlvbl93b3Jr ZXJzIHdoZXJlIGVycm9yX2NvdW50ID4gMDsiCispIG9yIGRpZSAiZGlkbid0IGdldCB1cGRhdGVz IG9mIHhhY3Qgc3RhdHMgYnkgZXJyb3IiOworCiskbm9kZV9zdWJzY3JpYmVyLT5zdG9wKCdmYXN0 Jyk7Ciskbm9kZV9wdWJsaXNoZXItPnN0b3AoJ2Zhc3QnKTsKZGlmZiAtLWdpdCBhL3NyYy90b29s cy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxp c3QKaW5kZXggZjQxZWYwZC4uMzQwMzY2NyAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50 L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKQEAg LTE5NDUsNiArMTk0NSw4IEBAIFBnU3RhdF9Nc2dSZXNldHNscnVjb3VudGVyCiBQZ1N0YXRfTXNn U0xSVQogUGdTdGF0X01zZ1N1YnNjcmlwdGlvblB1cmdlCiBQZ1N0YXRfTXNnU3ViV29ya2VyRXJy b3IKK1BnU3RhdF9Nc2dTdWJXb3JrZXJUd29waGFzZVhhY3QKK1BnU3RhdF9Nc2dTdWJXb3JrZXJY YWN0RW5kCiBQZ1N0YXRfTXNnVGFicHVyZ2UKIFBnU3RhdF9Nc2dUYWJzdGF0CiBQZ1N0YXRfTXNn VGVtcEZpbGUKQEAgLTE5NTgsNiArMTk2MCw4IEBAIFBnU3RhdF9TdGF0RnVuY0VudHJ5CiBQZ1N0 YXRfU3RhdFJlcGxTbG90RW50cnkKIFBnU3RhdF9TdGF0U3ViV29ya2VyRW50cnkKIFBnU3RhdF9T dGF0U3ViV29ya2VyS2V5CitQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0S2V5CitQZ1N0YXRfU1dfUHJl cGFyZWRYYWN0RW50cnkKIFBnU3RhdF9TdGF0VGFiRW50cnkKIFBnU3RhdF9TdWJYYWN0U3RhdHVz CiBQZ1N0YXRfVGFibGVDb3VudHMKLS0gCjIuMi4wCgo= --_003_TYCPR01MB8373D7AE0B6C62E5CDB03C6CED989TYCPR01MB8373jpnp_--