From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by sourceware.org (Postfix) with ESMTPS id 6DBF13875DDE for ; Thu, 27 Jun 2024 07:00:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6DBF13875DDE Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 6DBF13875DDE Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.198.163.9 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1719471656; cv=pass; b=AmltiFYUj55lOQbsRcOBJ8k4rYYu9Dn43p7YnQ7qQgbtcJliwSh54aRihnv31PdhgZpuSBiypc38G4UpW1JOiARurlkZN7VuqvImuSHe5nBoqpXAdZN/vddGZYfDwyT/AbFdILL/inV09Z4hlzDQ9VDqfheHNLsZWsgS7iijDWc= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1719471656; c=relaxed/simple; bh=jizp2XsfrHWvFAjl+pm7UZsaJchWyqe8Ix1zsAeEVBg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=MeQv6p6gLdRMe2+nakU5h6po+s/CNIY2kHeMdsVsogjCepZLLnrg/HQkwlK42SkEHFkomJ9DvFlEpW7vi0osuW1iv381wF8qtIzgx8qz5ici+1qHfEArRTfD0gJKXkgZVLl3Ybhjq/VouEHO8AJ7BzNK++dowQK6kne7kj+sjjY= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1719471653; x=1751007653; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=jizp2XsfrHWvFAjl+pm7UZsaJchWyqe8Ix1zsAeEVBg=; b=czgGYWjn9Jv12edY2b7W7mNmRXNTyaYfYeV3y43binSmoYSjnm7xC4ro 2hdzP40U3Vh2r+xUyjsnwmHAojHn2AJOrgnxo8UDSOvxM83HBbZPWmPQy Ab410aslBv1IrtQzKN9WAnw7Kq3r+RYe2WwLMMKCrdP0WhYwDQ5ypI4b+ XKOoxtbdNx6Tw+eddeFLJIl3YKc8ncLeSuk+6ydaJQvxuURGHqXKyDdFe ES8/oEe5/96NgiWbuDsZrRXe2rls5Y3hJ/eGr2aFFBK/gMjeUwYQSlTkD vus6hylZ4qiWy8P1dOfYhVoJmAf33x1gHG37DN5RlsImbZadB4qxp2h8B g==; X-CSE-ConnectionGUID: Nd8shoHFTRaK/NHSpXZTcg== X-CSE-MsgGUID: 9x14tQV7SXisU2X9g55K5w== X-IronPort-AV: E=McAfee;i="6700,10204,11115"; a="27266703" X-IronPort-AV: E=Sophos;i="6.08,269,1712646000"; d="scan'208";a="27266703" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jun 2024 00:00:38 -0700 X-CSE-ConnectionGUID: e6gsNG0oRquhG5oyXmXI8A== X-CSE-MsgGUID: sC8XYlKxRj2DXuUujLJI3g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,269,1712646000"; d="scan'208";a="67493836" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmviesa002.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 27 Jun 2024 00:00:38 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 27 Jun 2024 00:00:38 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 27 Jun 2024 00:00:37 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Thu, 27 Jun 2024 00:00:37 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.170) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Thu, 27 Jun 2024 00:00:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GXW/WV8zd2XtBwzVAsAdtLmQkcBl9yDqvXVlBBYVGFPcXRO7UKKtMlTQe4cysWCRlYwp4ml0J1NCCRT2blPvCbXhyePRP9Dt4DqJ0krqdcE+Ven2DXVhv8hU2Jfhj9Ce3op497myr990bpPrT8gumjcKVlc5pE2OQfYvL49/M74WIvNL12SYZPS0PcTxZb/9H/BmJ35NMQmUgwko5INrGRfJgtRb6TMmKBOV/75HBq+baPH1ZgiuQo5Y96gcp9NvTaH1lQ76QNRtQYRTA8Ai92FcUJnV7f4Wy6HopHtsZLwX5+bAArmHmfY/Oq9zBoY9hpjbi1lOak1jdUTdQ2wXlw== 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=jizp2XsfrHWvFAjl+pm7UZsaJchWyqe8Ix1zsAeEVBg=; b=btiYBlIJiYvY8c1sScWSXE1BHNgcyZq1BqEh1/wRSmZ7iuxcqNoxzR2PxC+7ptO/uAKTcd+nM4Ao8+/voiEC5al7eOqBCsB7nUYF7XU4NNWERYmpf6hQJfquRkGabTtY37h1J6IK8Wd3zomDACtLAYWOabgfbQOdznNFtN+xFBTr2N+fPqH8JXj6k4OKDxnd7C3/bV+lzgmX0Y4eX4MuKI6aARa8wyLMYEzdV0+Ijr/V6kMNJu+CoUwRJnfyne6Dgz06wnX+G92i1fJelskf7Ls0hpKFymvaVoh4EVQOAP8MjJcyFJlTdCFS7jyJHQxPi5Ku9aeOiIzISGwyAd9p/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by PH8PR11MB8288.namprd11.prod.outlook.com (2603:10b6:510:1c8::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.32; Thu, 27 Jun 2024 07:00:34 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::c798:ab3c:1a03:af59]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::c798:ab3c:1a03:af59%3]) with mapi id 15.20.7698.025; Thu, 27 Jun 2024 07:00:33 +0000 From: "Li, Pan2" To: Uros Bizjak CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "kito.cheng@gmail.com" , "richard.guenther@gmail.com" , "jeffreyalaw@gmail.com" , "pinskia@gmail.com" Subject: RE: [PATCH v2] Vect: Support truncate after .SAT_SUB pattern in zip Thread-Topic: [PATCH v2] Vect: Support truncate after .SAT_SUB pattern in zip Thread-Index: AQHaxj4yhaovoSG/Y0OOma0sUJ65A7HbL4sAgAABOAA= Date: Thu, 27 Jun 2024 07:00:33 +0000 Message-ID: References: <20240621035252.742099-1-pan2.li@intel.com> <20240624135510.3509497-1-pan2.li@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|PH8PR11MB8288:EE_ x-ms-office365-filtering-correlation-id: a7259c54-397a-4345-f6b1-08dc9676d6f9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?aVRUenQyeksyUEhiTnFKWVJKUTB5aWJKNFArM1crMnFJbFc0STF0Nzg3VC8w?= =?utf-8?B?YnRGRUpYQWhCMXBmQWJBREU4UU0rU2E0Z0ozRkZaa0lUTVo4NU1kelgwdHJY?= =?utf-8?B?dzVtQy94eFhoRmk0TzlCUmlwZDlMM3BLSDFaQ2lGVnJWdEdxVnFxaVVpekt3?= =?utf-8?B?b2xKcmE5clVQNDlHejV0azZudk1MdllkYzZ0NkpWMU9Sck9ObjY0K3AyelRj?= =?utf-8?B?ZU9ZbmRSWWpNUThxUXNEWDJqRFY0NGgvdXZlVDlIQ28xa0NuWFJFcVpDZklk?= =?utf-8?B?VExRbEorZ04veGU0NjlJZ0N3TXZQbzl3SzBTaFVTd1FQUzQvc2RSdnlySkxB?= =?utf-8?B?UTk4L0w0bTF3eXJMZ0xnQkFENVdLWUJxbk56SWpsUXFXNjFIbWxxYW1hendT?= =?utf-8?B?N3ovVXArVjJ1VDlFWmdHY29FRkNrQkxMTGtaZ0tjMkw2UVJDQ2duN2YrOEkv?= =?utf-8?B?cmM5OEtUdkM1eGgweEx1SUVSdVA5QjI3b3V0ZElFdXdBQUs4cVFrY1YzdnRK?= =?utf-8?B?YklTRlZuQ0VVeTY0ODVLMTJLajA4dnhHTWh2RVhzd3k5bmJmQ3hWWUhhUHB4?= =?utf-8?B?a1B1Z1VmUG1YMkhxYThFZ0N0TjVxRDFmN2RoZnNGOEpJbTlEZGZtV2FtSHNk?= =?utf-8?B?cVdSeFhwL09sY1VtOVRmUVZjYi9pUC9hVVptUmtXSklYVGxmeGRZekJ2MFpT?= =?utf-8?B?Sk4xQUJ2RkZ5cU9kdmNTbHdlQkVZdFEwV2k0RUsxYzNlZXlGMHRGQjFvdnZR?= =?utf-8?B?VVJtcGNCbnpGckZTNmNVdFZIbTJVMysvVytWQXNtbnZjMThtYmFNdFY4akxX?= =?utf-8?B?cWVIcFpDWSsxMTREam15OU5ubnlhWDFWV2tqVGJSWnRPK1Q3cktCRXpkSkRR?= =?utf-8?B?OUM2RS9FbWJvYkJyZ3ZjcEZkaDEzQ1l4Z2tpc25sa3I2M3B4Q0JJdWVpd2d0?= =?utf-8?B?VlRiZk1UM0U0dDVSTGRwaEZvUjFUMHhEWk51NGRLRTNlamdrM0dxMUtoaUht?= =?utf-8?B?WU5xN1hJNVVMUDdHM3NXa0ZkZ0NBc0JETmxyNzBneURrSXRtOE1kMEIxR0tJ?= =?utf-8?B?YUtKaXBTQ012aGp1WGVFa1NuNmlKSzFjUG5nU3VIT1ZoK0NlMTJwZVVjUG1J?= =?utf-8?B?ZkpzUDZiQW45eHZBaGVqSVEwRzV0Szc2NnB4d0pCeEpqdEQwbzBqWTJiYlJk?= =?utf-8?B?NEp1N0p1MHVkMlpzM3RFQnNJZ1BhYys5MFpCYmNtWEFDQVM1NmQ2YjE5RGdT?= =?utf-8?B?WEJzZXNrQmRSbUNUcVN5YkNZVVZQUFJ6eW1xTE5HcVo3QjhIaXM4RUJLR2xs?= =?utf-8?B?L29CdE1qcDRacXZoc3JXOXFna2JKbGl6ZUxITHBkM0Rnd1NyTGw4K0xLTVRv?= =?utf-8?B?RXhLQXBFZEduQUdZQVdHeFdTTnJBMWlzNVpUWHY2V2ZRVElValZFVERpdjIv?= =?utf-8?B?V0lvQ3RvN2FrVld3N2NGUnRzZWRGUjB2K0h3TkxnL292aSs1dXA4ZTJWTGdN?= =?utf-8?B?NUhsQ0ZHMW5yQm12NU40UmZVeFQ2aXQ4V1RienFhaHhrclREbDhhN2VYRUEv?= =?utf-8?B?bTVCcUR6QTQwRjVPTUFUTmc3bkloL1prWCtMYjVUbzlQOG5adW12MG5Ec3Fn?= =?utf-8?B?SVZLZytwL3g3ZmZqMXlsaE1WNUVld1JQMCtpeHhuSC9hVUZFRmNkRm9qQ1Bp?= =?utf-8?B?dEJHM3ZqR3c3VktlOXVESlo0QTRkcGw1VDdHZEhjdnJINzJWTVRKMFhrSUtR?= =?utf-8?B?Y0NmYi9nNllHS0Z6bk5ORTd5WjJLMUF6Tnpjb2JZa29HNVVJSnhKUmhLTFp5?= =?utf-8?B?Kzg5YXpSclcxTTh2YWxZZUhKWUhTcHh4NnQ0a0VuTHBzOGdrblQxNFNVb1FV?= =?utf-8?B?bGlCTzdjV1QzMHZGR2l1ajhrTkxsMzhTQWpJZnk3Yk1UbVE9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VDNCcWhRaUdSRTBaSHJuaWs4dVNMY202QnRIUGlLOVFzWnJUZDBmTnhGMm5J?= =?utf-8?B?alJMbkZ0ZHVVQTlyZ1p5M0FzQjl3MmhsalYrdnZkeW8xd2ZvN2JxM2dXTXB1?= =?utf-8?B?WEljRzlpeHRkck5nVVQ2dTF0N3VpVk9YdEhCYWxGRDJsVDdTNnZyUkVVUHVL?= =?utf-8?B?clhpOXFQbWtnNXArelRKQUZBLy8vdUpNZy8xWEdpbjIwMDBieDdLQjVmakto?= =?utf-8?B?QWROTGVsUzR5dTVNYUN6M2oyZ0xDTlNqTkk3VkQxSEZ1Mjhxdy96ZkhyaG5m?= =?utf-8?B?aVdaSGtJdmtEY0ovTGY3eGZ6L2FLSUlEQ3JKTnAxR3N2eXFDR0ZZWTUyNTRl?= =?utf-8?B?Rkh2K3hVeGZJU1JOL0RsRVdtN1JlN1drbjdXdHA1RmQyanM1NnBuMWdoblEr?= =?utf-8?B?dUhSdklQbnV4SlhkUnNvNUxqdGJoNitpTjdaWFp5ZlNteFJUcGdhZXZ3WXZl?= =?utf-8?B?aGdPbDNLNEVUN2NDMk1LcEF3ejBQWVIvcDhQNlZPWVkxUTlMcGhsbmdFNEJL?= =?utf-8?B?b2VkZTl6dXhuNE1VeUhOU3gydC9sbUZXczJvQ3p3anhaS094d3gyRjBEdzhJ?= =?utf-8?B?Z0xGYjRNTXFaUVlGZzBpcDFaZDFsak5RQVJERmZGRUdQdUpHWmRoU3NFbjJ2?= =?utf-8?B?d3gyQjNLQldFcFBVeVhhci9UTGIxUUEzU2x5c1BOSVRTMmRzdmQ4a2cvWGl2?= =?utf-8?B?cFJTaTJjS2prbGxXeDNBbGZ6YVEydDlzNnhzNElKbE45YUxubEo3S0U0RjBr?= =?utf-8?B?WXdXSGk4TjVnWkUxaDYrdHFkTFJCbENTQnpCRVNQZVVscUFyK25JZWU5dDIz?= =?utf-8?B?eEkySE04TGgzcWVXMVZMRHcxU09DR1NRR0NKb1kvczlJYlVraGI3MFZNZWNT?= =?utf-8?B?b2JjZkJ3cHFsQWUzWXFlMURJaFpLaWQ5SUxjODNURUM3SG55QzRSYW1qVnhu?= =?utf-8?B?NkNiaFVPcjUxMG9seEcvWGFaSWFtVFBpdGk5THpkaHIweVdqRVRvTXc4YUo1?= =?utf-8?B?aWZ4bEZ1UzhoVXRiWSt0QUo4ZUtFMGRQYkxFZ0Q4MHplcXZVVVpydGVjenpu?= =?utf-8?B?UThxclpsVHZ2S1R6dE5ZcWc4aVJwQzFHZmxWZGNrRWVJWXE2QTV4SUFQeUl6?= =?utf-8?B?dXJWdUM4N1oyVS90UGFaOVgrNks1UUtCK0dIMlZWelkxL0UzeGtQRERHTmlq?= =?utf-8?B?dy9SREIwVjRqUDdEdXFIR1ZEdTNsOXFQc0ppMXRYTEt1MEoxYmtJaTFEN1R4?= =?utf-8?B?THBYRGJwR1g2RVByMytSRVYzNVpXaVg2ejZtbkU3NmZpbHF4SUpMTjhFMk5L?= =?utf-8?B?T3lKdTlLQjIzbXNFR0tFb3lHaEN6ZE5mQ3RLMGcrbWJhUWNDY2xqbkg4SFly?= =?utf-8?B?L1VXSFBXaklKRlYyMENIMndoTEgvZmtHRFd3d1hvNnpxMGFLdG1SM3plWmor?= =?utf-8?B?Q0hJZ2hIK2swMXRZM3owalJyb1AzZ2lTMENSdnlWVXVsRTk4MGhvSVJ1R2RX?= =?utf-8?B?YUx2NEtkdTJ5VGVvbUhOVU5uNDlockl6R2ZhMmdpZ0hjanFodVBHWndZc3JK?= =?utf-8?B?WG9ua1VJZWNGLzQ2WGFmNnhLUHV1d2thZnQrSURuVUUwcWNWTFhjUWswT0ZJ?= =?utf-8?B?bS81THR2bVdJTk1QRkNXNUkrWTVIV1BsYU55a3FkRitaNGtqakpmUVN2aEg3?= =?utf-8?B?a3lJdFo3TkFIYUo3UkV1VCtBMEdJNTdTaTlKNzhTcWprVjdYUmFaL2ZpUXZE?= =?utf-8?B?alFOTHYvdENqbitDNUlDTzlHUXhkZ3pjbDUrY0pBWFAyN041aDV2VWlRdUJ6?= =?utf-8?B?YnV0YUMvMW9ValpKUlZSZFU3REVOS0Jvb0pFYVVMai9PNW8xeDB0eGw2c09r?= =?utf-8?B?ZnRiV2xkdUlnSFIvREZkaGp0bnpDc1ZEb1ZTam5oenh4dy9CUWErTlp2MnVr?= =?utf-8?B?cFErYjlRU2lwRHYrQUYveEZFTGgyUEoyUzVVRy9hYUszekZkVDk4S0hHOENF?= =?utf-8?B?d0t4QjZIMVNGK0liRDdsY2hvR1FYS3RRdWVVMnl4VkJDQTZJbVd1N2FTQmNt?= =?utf-8?B?OGlabEt0RDhBbENrZjBGRWl1dnpTTmZxZHhQV0huSXAvVkJNdFRZdldrbkJw?= =?utf-8?Q?cUhA=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7259c54-397a-4345-f6b1-08dc9676d6f9 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jun 2024 07:00:33.6585 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7tVK/wkTn5fDqXKWVrTGaSW74HHRK7zPeyhC5tbs0Xn4a/ur3funZjHczSks3RVtCaZLTTlA9Fn5rtpV1LTbtg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB8288 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: SXQgb25seSByZXF1aXJlcyB0aGUgYmFja2VuZCBpbXBsZW1lbnQgdGhlIHN0YW5kYXJkIG5hbWUg Zm9yIHZlY3RvciBtb2RlIEkgYmV0Lg0KSG93IGFib3V0IGEgc2ltcGxlciBvbmUgbGlrZSBiZWxv dy4NCg0KICAjZGVmaW5lIERFRl9WRUNfU0FUX1VfU1VCX1RSVU5DX0ZNVF8xKE9VVF9ULCBJTl9U KSAgICAgICAgICAgICAgICAgICBcDQogIHZvaWQgX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgdmVjX3NhdF91X3N1Yl90 cnVuY18jI09VVF9UIyNfZm10XzEgKE9VVF9UICpvdXQsIElOX1QgKm9wXzEsIElOX1QgeSwgXA0K ICAgICAgIHVuc2lnbmVkIGxpbWl0KSAgICAgICAgICAgICAgICAgXA0KICB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQogICAgdW5zaWduZWQgaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwNCiAgICBmb3IgKGkgPSAwOyBpIDwgbGltaXQ7IGkrKykgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICAgeyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAg ICAgIElOX1QgeCA9IG9wXzFbaV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwNCiAgICAgICAgb3V0W2ldID0gKE9VVF9UKSh4ID49IHkgPyB4IC0geSA6IDAp OyAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICAgfSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogIH0NCg0KREVG X1ZFQ19TQVRfVV9TVUJfVFJVTkNfRk1UXzEodWludDMyX3QsIHVpbnQ2NF90KTsNCg0KVGhlIHJp c2N2IGJhY2tlbmQgaXMgYWJsZSB0byBkZXRlY3QgdGhlIHBhdHRlcm4gc2ltaWxhciBhcyBiZWxv dy4gSSBjYW4gaGVscCB0byBjaGVjayB4ODYgc2lkZSBhZnRlciB0aGUgcnVubmluZyB0ZXN0IHN1 aXRlcy4NCg0KOzsgICBiYXNpYyBibG9jayAyLCBsb29wIGRlcHRoIDANCjs7ICAgIHByZWQ6ICAg ICAgIEVOVFJZDQogIGlmIChsaW1pdF8xMShEKSAhPSAwKQ0KICAgIGdvdG8gPGJiIDM+OyBbODku MDAlXQ0KICBlbHNlDQogICAgZ290byA8YmIgNT47IFsxMS4wMCVdDQo7OyAgICBzdWNjOiAgICAg ICAzDQo7OyAgICAgICAgICAgICAgICA1DQo7OyAgIGJhc2ljIGJsb2NrIDMsIGxvb3AgZGVwdGgg MA0KOzsgICAgcHJlZDogICAgICAgMg0KICB2ZWN0X2NzdF9fNzEgPSBbdmVjX2R1cGxpY2F0ZV9l eHByXSB5XzE0KEQpOw0KICBfNzggPSAodW5zaWduZWQgbG9uZykgbGltaXRfMTEoRCk7DQo7OyAg ICBzdWNjOiAgICAgICA0DQoNCjs7ICAgYmFzaWMgYmxvY2sgNCwgbG9vcCBkZXB0aCAxDQo7OyAg ICBwcmVkOiAgICAgICA0DQo7OyAgICAgICAgICAgICAgICAzDQogICMgdmVjdHBfb3BfMS43XzY4 ID0gUEhJIDx2ZWN0cF9vcF8xLjdfNjkoNCksIG9wXzFfMTIoRCkoMyk+DQogICMgdmVjdHBfb3V0 LjEyXzc1ID0gUEhJIDx2ZWN0cF9vdXQuMTJfNzYoNCksIG91dF8xNihEKSgzKT4NCiAgIyBpdnRt cF83OSA9IFBISSA8aXZ0bXBfODAoNCksIF83OCgzKT4NCiAgXzgxID0gLlNFTEVDVF9WTCAoaXZ0 bXBfNzksIFBPTFlfSU5UX0NTVCBbMiwgMl0pOw0KICBpdnRtcF82NyA9IF84MSAqIDg7DQogIHZl Y3RfeF8xMy45XzcwID0gLk1BU0tfTEVOX0xPQUQgKHZlY3RwX29wXzEuN182OCwgNjRCLCB7IC0x LCAuLi4gfSwgXzgxLCAwKTsNCiAgdmVjdF9wYXR0XzQ4LjEwXzcyID0gLlNBVF9TVUIgKHZlY3Rf eF8xMy45XzcwLCB2ZWN0X2NzdF9fNzEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IC5TQVRfU1VCIHBhdHRlcm4NCiAgdmVjdF9wYXR0XzQ5LjExXzczID0gKHZlY3RvcihbMiwyXSkg dW5zaWduZWQgaW50KSB2ZWN0X3BhdHRfNDguMTBfNzI7DQogIGl2dG1wXzc0ID0gXzgxICogNDsN CiAgLk1BU0tfTEVOX1NUT1JFICh2ZWN0cF9vdXQuMTJfNzUsIDMyQiwgeyAtMSwgLi4uIH0sIF84 MSwgMCwgdmVjdF9wYXR0XzQ5LjExXzczKTsNCiAgdmVjdHBfb3BfMS43XzY5ID0gdmVjdHBfb3Bf MS43XzY4ICsgaXZ0bXBfNjc7DQogIHZlY3RwX291dC4xMl83NiA9IHZlY3RwX291dC4xMl83NSAr IGl2dG1wXzc0Ow0KICBpdnRtcF84MCA9IGl2dG1wXzc5IC0gXzgxOw0KDQpyaXNjdjY0LXVua25v d24tZWxmLWdjYyAoR0NDKSAxNS4wLjAgMjAyNDA2MjcgKGV4cGVyaW1lbnRhbCkNCkNvcHlyaWdo dCAoQykgMjAyNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NClRoaXMgaXMgZnJlZSBz b2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlz IE5PDQp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4NCg0KUGFuDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQpGcm9tOiBVcm9zIEJpemphayA8dWJpempha0BnbWFpbC5jb20+IA0KU2VudDogVGh1cnNk YXksIEp1bmUgMjcsIDIwMjQgMjo0OCBQTQ0KVG86IExpLCBQYW4yIDxwYW4yLmxpQGludGVsLmNv bT4NCkNjOiBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzsganV6aGUuemhvbmdAcml2YWkuYWk7IGtp dG8uY2hlbmdAZ21haWwuY29tOyByaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbTsgamVmZnJleWFs YXdAZ21haWwuY29tOyBwaW5za2lhQGdtYWlsLmNvbQ0KU3ViamVjdDogUmU6IFtQQVRDSCB2Ml0g VmVjdDogU3VwcG9ydCB0cnVuY2F0ZSBhZnRlciAuU0FUX1NVQiBwYXR0ZXJuIGluIHppcA0KDQpP biBNb24sIEp1biAyNCwgMjAyNCBhdCAzOjU14oCvUE0gPHBhbjIubGlAaW50ZWwuY29tPiB3cm90 ZToNCj4NCj4gRnJvbTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4NCj4NCj4gVGhlIHppcCBi ZW5jaG1hcmsgb2YgY29yZW1hcmstcHJvIGhhdmUgb25lIFNBVF9TVUIgbGlrZSBwYXR0ZXJuIGJ1 dA0KPiB0cnVuY2F0ZWQgYXMgYmVsb3c6DQo+DQo+IHZvaWQgdGVzdCAodWludDE2X3QgKngsIHVu c2lnbmVkIGIsIHVuc2lnbmVkIG4pDQo+IHsNCj4gICB1bnNpZ25lZCBhID0gMDsNCj4gICByZWdp c3RlciB1aW50MTZfdCAqcCA9IHg7DQo+DQo+ICAgZG8gew0KPiAgICAgYSA9ICotLXA7DQo+ICAg ICAqcCA9ICh1aW50MTZfdCkoYSA+PSBiID8gYSAtIGIgOiAwKTsgLy8gVHJ1bmNhdGUgYWZ0ZXIg LlNBVF9TVUINCj4gICB9IHdoaWxlICgtLW4pOw0KPiB9DQo+DQo+IEl0IHdpbGwgaGF2ZSBnaW1w bGUgYmVmb3JlIHZlY3QgcGFzcywgIGl0IGNhbm5vdCBoaXQgYW55IHBhdHRlcm4gb2YNCj4gU0FU X1NVQiBhbmQgdGhlbiBjYW5ub3QgdmVjdG9yaXplIHRvIFNBVF9TVUIuDQo+DQo+IF8yID0gYV8x MSAtIGJfMTIoRCk7DQo+IGlmdG1wLjBfMTMgPSAoc2hvcnQgdW5zaWduZWQgaW50KSBfMjsNCj4g XzE4ID0gYV8xMSA+PSBiXzEyKEQpOw0KPiBpZnRtcC4wXzUgPSBfMTggPyBpZnRtcC4wXzEzIDog MDsNCj4NCj4gVGhpcyBwYXRjaCB3b3VsZCBsaWtlIHRvIGltcHJvdmUgdGhlIHBhdHRlcm4gbWF0 Y2ggdG8gcmVjb2cgYWJvdmUNCj4gYXMgdHJ1bmNhdGUgYWZ0ZXIgLlNBVF9TVUIgcGF0dGVybi4g IFRoZW4gd2Ugd2lsbCBoYXZlIHRoZSBwYXR0ZXJuDQo+IHNpbWlsYXIgdG8gYmVsb3csICBhcyB3 ZWxsIGFzIGVsaW1pbmF0ZSB0aGUgZmlyc3QgMyBkZWFkIHN0bXQuDQo+DQo+IF8yID0gYV8xMSAt IGJfMTIoRCk7DQo+IGlmdG1wLjBfMTMgPSAoc2hvcnQgdW5zaWduZWQgaW50KSBfMjsNCj4gXzE4 ID0gYV8xMSA+PSBiXzEyKEQpOw0KPiBpZnRtcC4wXzUgPSAoc2hvcnQgdW5zaWduZWQgaW50KS5T QVRfU1VCIChhXzExLCBiXzEyKEQpKTsNCj4NCj4gVGhlIGJlbG93IHRlc3RzIGFyZSBwYXNzZWQg Zm9yIHRoaXMgcGF0Y2guDQo+IDEuIFRoZSBydjY0Z2N2IGZ1bGx5IHJlZ3Jlc3Npb24gdGVzdHMu DQo+IDIuIFRoZSBydjY0Z2N2IGJ1aWxkIHdpdGggZ2xpYmMuDQo+IDMuIFRoZSB4ODYgYm9vdHN0 cmFwIHRlc3RzLg0KPiA0LiBUaGUgeDg2IGZ1bGx5IHJlZ3Jlc3Npb24gdGVzdHMuDQoNCkkgaGF2 ZSB0cmllZCB0aGlzIHBhdGNoIHdpdGggeDg2XzY0IG9uIHRoZSB0ZXN0Y2FzZSBmcm9tIFBSNTE0 OTIsIGJ1dA0KdGhlIGNvbXBpbGVyIGRvZXMgbm90IHJlY29nbml6ZSB0aGUgLlNBVF9TVUIgcGF0 dGVybiBoZXJlLg0KDQpJcyB0aGVyZSBhbnl0aGluZyBlbHNlIG1pc3NpbmcgZm9yIHN1Y2Nlc3Nm dWwgZGV0ZWN0aW9uPw0KDQpVcm9zLg0KDQo+DQo+IGdjYy9DaGFuZ2VMb2c6DQo+DQo+ICAgICAg ICAgKiBtYXRjaC5wZDogQWRkIGNvbnZlcnQgZGVzY3JpcHRpb24gZm9yIG1pbnVzIGFuZCBjYXB0 dXJlLg0KPiAgICAgICAgICogdHJlZS12ZWN0LXBhdHRlcm5zLmNjICh2ZWN0X3JlY29nX2J1aWxk X2JpbmFyeV9naW1wbGVfY2FsbCk6IEFkZA0KPiAgICAgICAgIG5ldyBsb2dpYyB0byBoYW5kbGUg aW5fdHlwZSBpcyBpbmNvbXBhdGliaWxlIHdpdGggb3V0X3R5cGUsICBhcw0KPiAgICAgICAgIHdl bGwgYXMgcmVuYW1lIGZyb20uDQo+ICAgICAgICAgKHZlY3RfcmVjb2dfYnVpbGRfYmluYXJ5X2dp bXBsZV9zdG10KTogUmVuYW1lIHRvLg0KPiAgICAgICAgICh2ZWN0X3JlY29nX3NhdF9hZGRfcGF0 dGVybik6IExldmVyYWdlIGFib3ZlIHJlbmFtZWQgZnVuYy4NCj4gICAgICAgICAodmVjdF9yZWNv Z19zYXRfc3ViX3BhdHRlcm4pOiBEaXR0by4NCj4NCj4gU2lnbmVkLW9mZi1ieTogUGFuIExpIDxw YW4yLmxpQGludGVsLmNvbT4NCj4gLS0tDQo+ICBnY2MvbWF0Y2gucGQgICAgICAgICAgICAgIHwg IDQgKy0tDQo+ICBnY2MvdHJlZS12ZWN0LXBhdHRlcm5zLmNjIHwgNTEgKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tDQo+ICAyIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlv bnMoKyksIDIyIGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvZ2NjL21hdGNoLnBkIGIv Z2NjL21hdGNoLnBkDQo+IGluZGV4IDNkMDY4OWM5MzEyLi40YTRiMGIyZTcyZiAxMDA2NDQNCj4g LS0tIGEvZ2NjL21hdGNoLnBkDQo+ICsrKyBiL2djYy9tYXRjaC5wZA0KPiBAQCAtMzE2NCw5ICsz MTY0LDkgQEAgREVGSU5FX0lOVF9BTkRfRkxPQVRfUk9VTkRfRk4gKFJJTlQpDQo+ICAvKiBVbnNp Z25lZCBzYXR1cmF0aW9uIHN1YiwgY2FzZSAyIChicmFuY2ggd2l0aCBnZSk6DQo+ICAgICBTQVRf VV9TVUIgPSBYID49IFkgPyBYIC0gWSA6IDAuICAqLw0KPiAgKG1hdGNoICh1bnNpZ25lZF9pbnRl Z2VyX3NhdF9zdWIgQDAgQDEpDQo+IC0gKGNvbmReIChnZSBAMCBAMSkgKG1pbnVzIEAwIEAxKSBp bnRlZ2VyX3plcm9wKQ0KPiArIChjb25kXiAoZ2UgQDAgQDEpIChjb252ZXJ0PyAobWludXMgKGNv bnZlcnQxPyBAMCkgKGNvbnZlcnQxPyBAMSkpKSBpbnRlZ2VyX3plcm9wKQ0KPiAgIChpZiAoSU5U RUdSQUxfVFlQRV9QICh0eXBlKSAmJiBUWVBFX1VOU0lHTkVEICh0eXBlKQ0KPiAtICAgICAgJiYg dHlwZXNfbWF0Y2ggKHR5cGUsIEAwLCBAMSkpKSkNCj4gKyAgICAgICYmIFRZUEVfVU5TSUdORUQg KFRSRUVfVFlQRSAoQDApKSAmJiB0eXBlc19tYXRjaCAoQDAsIEAxKSkpKQ0KPg0KPiAgLyogVW5z aWduZWQgc2F0dXJhdGlvbiBzdWIsIGNhc2UgMyAoYnJhbmNobGVzcyB3aXRoIGd0KToNCj4gICAg IFNBVF9VX1NVQiA9IChYIC0gWSkgKiAoWCA+IFkpLiAgKi8NCj4gZGlmZiAtLWdpdCBhL2djYy90 cmVlLXZlY3QtcGF0dGVybnMuY2MgYi9nY2MvdHJlZS12ZWN0LXBhdHRlcm5zLmNjDQo+IGluZGV4 IGNlZjkwMTgwOGViLi4zZDg4N2QzNjA1MCAxMDA2NDQNCj4gLS0tIGEvZ2NjL3RyZWUtdmVjdC1w YXR0ZXJucy5jYw0KPiArKysgYi9nY2MvdHJlZS12ZWN0LXBhdHRlcm5zLmNjDQo+IEBAIC00NDkw LDI2ICs0NDkwLDM3IEBAIHZlY3RfcmVjb2dfbXVsdF9wYXR0ZXJuICh2ZWNfaW5mbyAqdmluZm8s DQo+ICBleHRlcm4gYm9vbCBnaW1wbGVfdW5zaWduZWRfaW50ZWdlcl9zYXRfYWRkICh0cmVlLCB0 cmVlKiwgdHJlZSAoKikodHJlZSkpOw0KPiAgZXh0ZXJuIGJvb2wgZ2ltcGxlX3Vuc2lnbmVkX2lu dGVnZXJfc2F0X3N1YiAodHJlZSwgdHJlZSosIHRyZWUgKCopKHRyZWUpKTsNCj4NCj4gLXN0YXRp YyBnY2FsbCAqDQo+IC12ZWN0X3JlY29nX2J1aWxkX2JpbmFyeV9naW1wbGVfY2FsbCAodmVjX2lu Zm8gKnZpbmZvLCBnaW1wbGUgKnN0bXQsDQo+ICtzdGF0aWMgZ2ltcGxlICoNCj4gK3ZlY3RfcmVj b2dfYnVpbGRfYmluYXJ5X2dpbXBsZV9zdG10ICh2ZWNfaW5mbyAqdmluZm8sIHN0bXRfdmVjX2lu Zm8gc3RtdF9pbmZvLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 ZXJuYWxfZm4gZm4sIHRyZWUgKnR5cGVfb3V0LA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdHJlZSBvcF8wLCB0cmVlIG9wXzEpDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0cmVlIGxocywgdHJlZSBvcF8wLCB0cmVlIG9wXzEpDQo+ICB7DQo+ ICAgIHRyZWUgaXR5cGUgPSBUUkVFX1RZUEUgKG9wXzApOw0KPiAtICB0cmVlIHZ0eXBlID0gZ2V0 X3ZlY3R5cGVfZm9yX3NjYWxhcl90eXBlICh2aW5mbywgaXR5cGUpOw0KPiArICB0cmVlIG90eXBl ID0gVFJFRV9UWVBFIChsaHMpOw0KPiArICB0cmVlIHZfaXR5cGUgPSBnZXRfdmVjdHlwZV9mb3Jf c2NhbGFyX3R5cGUgKHZpbmZvLCBpdHlwZSk7DQo+ICsgIHRyZWUgdl9vdHlwZSA9IGdldF92ZWN0 eXBlX2Zvcl9zY2FsYXJfdHlwZSAodmluZm8sIG90eXBlKTsNCj4NCj4gLSAgaWYgKHZ0eXBlICE9 IE5VTExfVFJFRQ0KPiAtICAgICYmIGRpcmVjdF9pbnRlcm5hbF9mbl9zdXBwb3J0ZWRfcCAoZm4s IHZ0eXBlLCBPUFRJTUlaRV9GT1JfQk9USCkpDQo+ICsgIGlmICh2X2l0eXBlICE9IE5VTExfVFJF RSAmJiB2X290eXBlICE9IE5VTExfVFJFRQ0KPiArICAgICYmIGRpcmVjdF9pbnRlcm5hbF9mbl9z dXBwb3J0ZWRfcCAoZm4sIHZfaXR5cGUsIE9QVElNSVpFX0ZPUl9CT1RIKSkNCj4gICAgICB7DQo+ ICAgICAgICBnY2FsbCAqY2FsbCA9IGdpbXBsZV9idWlsZF9jYWxsX2ludGVybmFsIChmbiwgMiwg b3BfMCwgb3BfMSk7DQo+ICsgICAgICB0cmVlIGluX3NzYSA9IHZlY3RfcmVjb2dfdGVtcF9zc2Ff dmFyIChpdHlwZSwgTlVMTCk7DQo+DQo+IC0gICAgICBnaW1wbGVfY2FsbF9zZXRfbGhzIChjYWxs LCB2ZWN0X3JlY29nX3RlbXBfc3NhX3ZhciAoaXR5cGUsIE5VTEwpKTsNCj4gKyAgICAgIGdpbXBs ZV9jYWxsX3NldF9saHMgKGNhbGwsIGluX3NzYSk7DQo+ICAgICAgICBnaW1wbGVfY2FsbF9zZXRf bm90aHJvdyAoY2FsbCwgLyogbm90aHJvd19wICovIGZhbHNlKTsNCj4gLSAgICAgIGdpbXBsZV9z ZXRfbG9jYXRpb24gKGNhbGwsIGdpbXBsZV9sb2NhdGlvbiAoc3RtdCkpOw0KPiArICAgICAgZ2lt cGxlX3NldF9sb2NhdGlvbiAoY2FsbCwgZ2ltcGxlX2xvY2F0aW9uIChTVE1UX1ZJTkZPX1NUTVQg KHN0bXRfaW5mbykpKTsNCj4gKw0KPiArICAgICAgKnR5cGVfb3V0ID0gdl9vdHlwZTsNCj4NCj4g LSAgICAgICp0eXBlX291dCA9IHZ0eXBlOw0KPiArICAgICAgaWYgKHR5cGVzX2NvbXBhdGlibGVf cCAoaXR5cGUsIG90eXBlKSkNCj4gKyAgICAgICByZXR1cm4gY2FsbDsNCj4gKyAgICAgIGVsc2UN Cj4gKyAgICAgICB7DQo+ICsgICAgICAgICBhcHBlbmRfcGF0dGVybl9kZWZfc2VxICh2aW5mbywg c3RtdF9pbmZvLCBjYWxsLCB2X2l0eXBlKTsNCj4gKyAgICAgICAgIHRyZWUgb3V0X3NzYSA9IHZl Y3RfcmVjb2dfdGVtcF9zc2FfdmFyIChvdHlwZSwgTlVMTCk7DQo+DQo+IC0gICAgICByZXR1cm4g Y2FsbDsNCj4gKyAgICAgICAgIHJldHVybiBnaW1wbGVfYnVpbGRfYXNzaWduIChvdXRfc3NhLCBD T05WRVJUX0VYUFIsIGluX3NzYSk7DQo+ICsgICAgICAgfQ0KPiAgICAgIH0NCj4NCj4gICAgcmV0 dXJuIE5VTEw7DQo+IEBAIC00NTQxLDEzICs0NTUyLDEzIEBAIHZlY3RfcmVjb2dfc2F0X2FkZF9w YXR0ZXJuICh2ZWNfaW5mbyAqdmluZm8sIHN0bXRfdmVjX2luZm8gc3RtdF92aW5mbywNCj4NCj4g ICAgaWYgKGdpbXBsZV91bnNpZ25lZF9pbnRlZ2VyX3NhdF9hZGQgKGxocywgb3BzLCBOVUxMKSkN Cj4gICAgICB7DQo+IC0gICAgICBnY2FsbCAqY2FsbCA9IHZlY3RfcmVjb2dfYnVpbGRfYmluYXJ5 X2dpbXBsZV9jYWxsICh2aW5mbywgbGFzdF9zdG10LA0KPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRk5fU0FUX0FERCwgdHlwZV9vdXQs DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG9wc1swXSwgb3BzWzFdKTsNCj4gLSAgICAgIGlmIChjYWxsKQ0KPiArICAgICAgZ2ltcGxl ICpzdG10ID0gdmVjdF9yZWNvZ19idWlsZF9iaW5hcnlfZ2ltcGxlX3N0bXQgKHZpbmZvLCBzdG10 X3ZpbmZvLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSUZOX1NBVF9BREQsIHR5cGVfb3V0LA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGhzLCBvcHNbMF0sIG9wc1sx XSk7DQo+ICsgICAgICBpZiAoc3RtdCkNCj4gICAgICAgICB7DQo+ICAgICAgICAgICB2ZWN0X3Bh dHRlcm5fZGV0ZWN0ZWQgKCJ2ZWN0X3JlY29nX3NhdF9hZGRfcGF0dGVybiIsIGxhc3Rfc3RtdCk7 DQo+IC0gICAgICAgICByZXR1cm4gY2FsbDsNCj4gKyAgICAgICAgIHJldHVybiBzdG10Ow0KPiAg ICAgICAgIH0NCj4gICAgICB9DQo+DQo+IEBAIC00NTc5LDEzICs0NTkwLDEzIEBAIHZlY3RfcmVj b2dfc2F0X3N1Yl9wYXR0ZXJuICh2ZWNfaW5mbyAqdmluZm8sIHN0bXRfdmVjX2luZm8gc3RtdF92 aW5mbywNCj4NCj4gICAgaWYgKGdpbXBsZV91bnNpZ25lZF9pbnRlZ2VyX3NhdF9zdWIgKGxocywg b3BzLCBOVUxMKSkNCj4gICAgICB7DQo+IC0gICAgICBnY2FsbCAqY2FsbCA9IHZlY3RfcmVjb2df YnVpbGRfYmluYXJ5X2dpbXBsZV9jYWxsICh2aW5mbywgbGFzdF9zdG10LA0KPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRk5fU0FUX1NV QiwgdHlwZV9vdXQsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG9wc1swXSwgb3BzWzFdKTsNCj4gLSAgICAgIGlmIChjYWxsKQ0KPiAr ICAgICAgZ2ltcGxlICpzdG10ID0gdmVjdF9yZWNvZ19idWlsZF9iaW5hcnlfZ2ltcGxlX3N0bXQg KHZpbmZvLCBzdG10X3ZpbmZvLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSUZOX1NBVF9TVUIsIHR5cGVfb3V0LA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGhzLCBv cHNbMF0sIG9wc1sxXSk7DQo+ICsgICAgICBpZiAoc3RtdCkNCj4gICAgICAgICB7DQo+ICAgICAg ICAgICB2ZWN0X3BhdHRlcm5fZGV0ZWN0ZWQgKCJ2ZWN0X3JlY29nX3NhdF9zdWJfcGF0dGVybiIs IGxhc3Rfc3RtdCk7DQo+IC0gICAgICAgICByZXR1cm4gY2FsbDsNCj4gKyAgICAgICAgIHJldHVy biBzdG10Ow0KPiAgICAgICAgIH0NCj4gICAgICB9DQo+DQo+IC0tDQo+IDIuMzQuMQ0KPg0K