From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: [External] : emacs-28 windows binaries available from alpha Date: Fri, 4 Feb 2022 22:08:16 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_002_SJ0PR10MB54886E470CEF0027C3EBECBCF3299SJ0PR10MB5488namp_" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1205"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "H. Dieter Wilhelm" To: Corwin Brust , Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Feb 04 23:12:32 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nG6oh-00007I-93 for ged-emacs-devel@m.gmane-mx.org; Fri, 04 Feb 2022 23:12:31 +0100 Original-Received: from localhost ([::1]:43600 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nG6og-0003NE-7J for ged-emacs-devel@m.gmane-mx.org; Fri, 04 Feb 2022 17:12:30 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:42582) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nG6km-0006rt-D9 for emacs-devel@gnu.org; Fri, 04 Feb 2022 17:08:28 -0500 Original-Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:27200) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nG6kj-0004Cj-Qk for emacs-devel@gnu.org; Fri, 04 Feb 2022 17:08:27 -0500 Original-Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 214LcusR005494; Fri, 4 Feb 2022 22:08:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=corp-2021-07-09; bh=YSKhZOMQ7bfbwQMn7uH/Db9iIDhuUHVMFddrBY5DU04=; b=NjDPE/8L5FLY9w2C1tFFE4LvSb9h9IrDTDJi5X0LN6X9DC3G7d816KHzZEl2cXyreKPG Yt3cM8Epi3OSaC/ZE/Hm0aa8CxZKBcL18W5YqY5mgGvFZrUBoKvowLQOURFah8TybohD Uc5noqqzTmkE8a7MBf1lv5bf7kwDpbN/h+VsAcP1bm9p4WDxi/n4BJEMZglHh+5W1UkR AhnY5mg+YZsP8AapxJauT6Xslrc96GAflAztfp/lSjrgMMKCTCMAS8GDnPvv6c2U5/Tu O+XW6QMl5ZIy8VhJmsG61WQjm5arSrXc7tlqHG6B03k/EP7/hzp6X1blFl4zx5Yexp58 JQ== Original-Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3e0hjr3y6w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 04 Feb 2022 22:08:20 +0000 Original-Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 214M7C4Q021291; Fri, 4 Feb 2022 22:08:18 GMT Original-Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2043.outbound.protection.outlook.com [104.47.66.43]) by userp3020.oracle.com with ESMTP id 3dvy1y29a3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 04 Feb 2022 22:08:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LRc03LzSudG4qSXaY41BRaa/lvhdwdCvQmyQwWAujOB3EopRzOWXz0FHcglXrmZ3iMNUxRaaLcNMAUnLKKaS/uMHNR9PI+LrdgTFSzqFniSaH1YEtmScImICbtoAyBLhfTk4W0LeYAand0Yd+lKkJEdMvY2qqC8dXee4ZdWsrVLx6oBDnQtEjm8U2rMqb34Rpk32iv9kagzVrWdTQhaazBLauIzyNNmdrCduCiVRAK24i4ZS6oTyAs6l+EyCkABB6c52Ek00sspO59GwPyLOgd5yDyfzywW/EkcSR45ErMUOAjNosRYYHJhFsJT2aV5AeU3eYx86LeooyQlou0blBw== 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=YSKhZOMQ7bfbwQMn7uH/Db9iIDhuUHVMFddrBY5DU04=; b=necfZ333TcvC6K9drbOM5gX56Aw8fHFSQsD0VtVjdWF+eGDcsZWk3kPIFHz02LanlALpGpgiKXz25VlF/9g7vIIoRT0rctdgyU7xQmvmSC93KlK7Q2FzW4qESVE8AKNfutegLpKyuOuGvsnjlEQCxqtAUae0HSTcasJ4YO6OYihl8mb+VrCFW1rY4ceX5wWPbNDdbsuYai8D+tMvFLdPs+bZvfjTIQCd+5rkw1zPXxIhLuAbwDCfq7FuTT4ao7rL276yIAhtzN9o5GeuxeLYOFoIqeneruxuOGC3LuG3/sj50Z0XRc4hiyfX9VzVjSX1dp7vX2+S+l0/RQX7ZXrc0Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YSKhZOMQ7bfbwQMn7uH/Db9iIDhuUHVMFddrBY5DU04=; b=JSWHlNYU/PdN/jVvBqPPmXufkuHFmIBYVyzFAPuUHGUuVXwqRiU4B5vmPqBgaqpHrHCR1eczrYGDPDwyMm9KvL3j7k+PDuEC7ol5tynSB0TFfwGZMwe72S0BjD+nOwW0uGP8apE6WBT4zWyZ21WouPsmDA4Z6OVABtUjLo0spo8= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by SJ0PR10MB5424.namprd10.prod.outlook.com (2603:10b6:a03:3bc::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Fri, 4 Feb 2022 22:08:16 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::99a4:696f:5f30:36b3]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::99a4:696f:5f30:36b3%7]) with mapi id 15.20.4951.017; Fri, 4 Feb 2022 22:08:16 +0000 Thread-Topic: [External] : emacs-28 windows binaries available from alpha Thread-Index: AQHYGf1H1SxTGHdLSESE6MiOoHqJoayD8kzQ In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ce7a9a37-a5b0-4f3c-fd68-08d9e82ad83e x-ms-traffictypediagnostic: SJ0PR10MB5424:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KCv+9oFoFLnhRZTFeeSw4k1qKQKMiSkj28ebEOqnuKQpFwKmOeGk8cZ1iCZyk4mouOddrPVoZfE+YT7pLEtitNgdPTaBRjAMGxmX6FwLO3Btnz4KSKWUb3GAlAz/tdHjb0dD4VhakWo/w4kJr+PcoP95dKLnEr/Wu1xEMw6PYXyZqRkkrHYf2Fk5mRfvZ+/NjNdwQO0tnDlxnC2fIlIBBp8DIRUXJpzcF9iqy6fNwEAVkZ5s3F1AN1yuGQjWpYHjX6olsAOhycrrRsZjRz9+uCIf6H31DuqC+bmlRD9dZF2/Fq23V17iUjVxrcVFdFgXMJCr5dbOHrPvX/49rag7UfheKAFzcs/06WXumUyJ/RwthKZF5D93w61ht0NqgLDfLE2Z5gM1FkvRjVdSDadZQSrp5q7vsN/fbgQ9WFdC0+Uhi5w1JFR8E+orKrMAhQQ5QIBvvkNq454jwyVVvDXf2e9EmGISy9tWKJZqnL38eWeS+bjOIG7FTGvBZY35MragC7Wn9++focgRRQ+W3X45ye0zCEtiFUWZSEDAVup+2UpR1Iw0vC8BC4fkvrMsmRWOemqCRWjZpO9Ur71ph3p0ylQstEx01fIqTusZclLBLm5ZzMmIbK7XOQ0PkfsNafbqpPyMnDT2ubICMd+fH5Ld8cyplSQFMbhgOcKsFJI89SapvTkjjhxExJnhrDyWVShMe7+S5Jj9qrVoSiAEpaUH39aRo6sttGF8HxDudGf1JUMt0GPIkN69yyyIzgmjL 5mm8KP57FPy8htIxV18IjFrDikY2jDGVenrieEwh+71l3jYmQjptbo2FCJ9VhN5Qiy5bGUZ48VSQVIjFIyDlyaaXw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(26005)(83380400001)(186003)(38100700002)(7696005)(122000001)(86362001)(38070700005)(33656002)(99936003)(8936002)(66476007)(4326008)(2906002)(8676002)(66446008)(508600001)(66556008)(966005)(110136005)(316002)(76116006)(66946007)(9686003)(52536014)(44832011)(5660300002)(71200400001)(55016003)(64756008)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QjlSbU9TcDNPSjdqUU5KdUUrNmdKTmZBQmMwcUYrT0xqWUhzeHNtY2xMUnFP?= =?utf-8?B?b2w4V05XSU5zbStXYlpPRC9JVENESlRDeHZNMVlBdUlLL3dGNEUzSm50N3hZ?= =?utf-8?B?SWxZY3R5cU1pYk5UYmIyT2tGT0FkSHpneDF4bDRZYzFhRFlGdHhlMWRodDFm?= =?utf-8?B?ZkFhbXI4OEpPOG1kdTcwanlPNkJnd1hpZ1hHQlluM09lVEVuMFNubjRTRlY4?= =?utf-8?B?akxqdEhGdnVNTFd5U2pidUlEMmdDQmRtTzlzbldhZGVXc0FUVUd6SjVLSHFh?= =?utf-8?B?cmxlSXNPME8xQ0pGbk9FWElPUkdoMnUyc1lPc203bHR6RjRWZTNFQ09XTm1I?= =?utf-8?B?WXg5N2xTYkxld3pXeWUwZkZ0YzVXTmUwWksrbVFqMHNhUG1lTUxuTUZNZVli?= =?utf-8?B?OHFRMGlOQzEyQnhRMDl0cUFENHZwbWp3K3o3d2MwR0V6Q3VmaGg4ZFRCS0Yw?= =?utf-8?B?enNUcS90ejFIV2x5SmJVQVQxbUhORmVQMm9HZkU1L1MvZTdKMlk1T1NsRm52?= =?utf-8?B?ckZwRW5ES1VwSXMyWGl6UTZLRkJlWk5aM25KWCt6WFk0T1hDZk1Rd0I0TjhW?= =?utf-8?B?Z09tbTJiaVhzaUNSUTl1dU11QURqWDVpYWNiS2xadm5yNGZaeldmY29FWHNL?= =?utf-8?B?Uk9TSVpxR1BLbGZYMnBJYklpUk5yMkxUMXl6Nj X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ce7a9a37-a5b0-4f3c-fd68-08d9e82ad83e X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Feb 2022 22:08:16.3131 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ilkqeaWAe5jEsfLFAM4ktgPNZJRfdEJWLTli3Xbj1sIzll1dUrzlE15+1pcjZ79Vu5d8K+Llpi45QBMMZcylZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5424 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10248 signatures=673430 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 spamscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202040123 X-Proofpoint-ORIG-GUID: VvpTnbNme84vgyqhqaqL6a7PCrMLL8ND X-Proofpoint-GUID: VvpTnbNme84vgyqhqaqL6a7PCrMLL8ND Received-SPF: pass client-ip=205.220.165.32; envelope-from=drew.adams@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:285875 Archived-At: --_002_SJ0PR10MB54886E470CEF0027C3EBECBCF3299SJ0PR10MB5488namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiBCaW5hcnkgZGlzdHJpYnV0aW9ucyBmcm9tIHRoZSBlbWFjcy0yOCBicmFuY2gsIGFsb25nIHdp dGggc291cmNlDQo+IGFyY2hpdmVzIGFzIG9mIHRoZSB0aW1lIG9mIGJ1aWxkIGFuZCBmb3IgdGhl IG1zeXMgcGFja2FnZSBkZXBlbmRlbmNpZXMNCj4gYXJlIG5vdyBhdmFpbGFibGUgZnJvbSB0aGUg R05VIGFscGhhIEZUUCBzaXRlLCBoZXJlOg0KPiANCj4gaHR0cHM6Ly91cmxkZWZlbnNlLmNvbS92 My9fX2h0dHBzOi8vYWxwaGEuZ251Lm9yZy9nbnUvZW1hY3MvcHJldGVzdC93aW5kb3dzLw0KPiBl bWFjcy0NCj4gMjgvP0M9TTtPPURfXzshIUFDV1Y1TjlNMlJWOTloUSFhSjJjY3Y4cmhRSUFZNHpn VTFURmNOaXVhZmRfOW1XZlNoUWRSQzBnNkdQWA0KPiBQZ3hxd3lFZ3pqUTc5Y05IYzYwNSQNCj4g DQo+IFRoYW5rcyBmb3IgYW55IGhlbHAgeW91IGNhbiBwcm92aWRlIHRlc3RpbmcgdGhlc2UuIFBs ZWFzZSB1c2UNCj4gYHJlcG9ydC1lbWFjcy1idWcnLCBhcyB1c3VhbCwgdG8gbGV0IHVzIGtub3cg YWJvdXQgcHJvYmxlbXMgeW91DQo+IGV4cGVyaWVuY2UuDQo+IA0KPiBEaWV0ZXIgKGluIENDKSBh bmQgSSB3b3VsZCBiZSBncmF0ZWZ1bCB0byBiZSBjb3BpZWQgZGlyZWN0bHkgd2hlbiB5b3UNCj4g c3VzcGVjdCB0aGUgcHJvYmxlbSB5b3UgYXJlIHJlcG9ydGluZyBpcyByZWxhdGVkIHRvIHRoZSBw YWNrYWdpbmcgKHZzDQo+IHdpdGggRW1hY3MgMjgsIG1vcmUgZ2VuZXJhbGx5KS4NCg0KVGhhbmtz IGZvciB3b3JraW5nIG9uIHRoaXMuDQoNCkkgaW1tZWRpYXRlbHkgcnVuIGludG8gYSBwcm9ibGVt IHdpdGggYHJ1bmVtYWNzIC1RJyBhbmQgdGhlbiBsb2FkaW5nIGEgYnl0ZS1jb21waWxlZCBmaWxl IChzdHJpbmdzLmVsYywgYXR0YWNoZWQpIGNvbXBpbGVkIHdpdGggRW1hY3MgMjAuNy4gIER1bm5v IHdoZXRoZXIgdGhlIHByb2JsZW0gaXMgRW1hY3MgMjggb3IgeW91ciBwYWNrYWdpbmcuICBUaGUg c291cmNlIGZpbGUgaXMgaGVyZToNCg0KaHR0cHM6Ly93d3cuZW1hY3N3aWtpLm9yZy9lbWFjcy9k b3dubG9hZC9zdHJpbmdzLmVsDQo= --_002_SJ0PR10MB54886E470CEF0027C3EBECBCF3299SJ0PR10MB5488namp_ Content-Type: application/octet-stream; name="strings.elc" Content-Description: strings.elc Content-Disposition: attachment; filename="strings.elc"; size=22756; creation-date="Sun, 21 Apr 2019 15:11:59 GMT"; modification-date="Fri, 04 Feb 2022 22:08:16 GMT" Content-Transfer-Encoding: base64 O0VMQxQAAAAKOzs7IENvbXBpbGVkIGJ5IGRyZXcuYWRhbXNAb3JhY2xlLmNvbSBvbiBXZWQgTWFy IDE3IDEzOjQ1OjM5IDIwMjEKOzs7IGZyb20gZmlsZSBkOi91c3IvZHJldy9kcmV3cy1saXNwLTIw L3N0cmluZ3MuZWwKOzs7IGluIEVtYWNzIHZlcnNpb24gMjAuNy4zCjs7OyB3aXRoIGJ5dGVjb21w IHZlcnNpb24gMi41Ngo7Ozsgd2l0aCBhbGwgb3B0aW1pemF0aW9ucy4KCjs7OyBUaGlzIGZpbGUg dXNlcyBkeW5hbWljIGRvY3N0cmluZ3MsIGZpcnN0IGFkZGVkIGluIEVtYWNzIDE5LjI5LgooaWYg KGFuZCAoYm91bmRwICdlbWFjcy12ZXJzaW9uKQoJICg8IChhcmVmIGVtYWNzLXZlcnNpb24gKDEt IChsZW5ndGggZW1hY3MtdmVyc2lvbikpKSA/QSkKCSAob3IgKGFuZCAoYm91bmRwICdlcG9jaDo6 dmVyc2lvbikgZXBvY2g6OnZlcnNpb24pCgkgICAgIChzdHJpbmctbGVzc3AgZW1hY3MtdmVyc2lv biAiMTkuMjkiKSkpCiAgICAoZXJyb3IgImBzdHJpbmdzLmVsJyB3YXMgY29tcGlsZWQgZm9yIEVt YWNzIDE5LjI5IG9yIGxhdGVyIikpCgo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKCgooYnl0ZS1jb2RlICJcMzAxXDMwMlwzMDNcMzA0 I1wyMTBcMzAxXDMwNVwzMDNcMzA0I1wyMDMaAFwzMDZcMzA3IVwyMDMaAFwzMTAgXDIxMFwzMDcg XDIxMFwzMDFcMzExXDMwM1wzMDQjXDIxMFwzMTIIQhBcMzAzXDIwNyIgW2N1cnJlbnQtbG9hZC1s aXN0IHJlcXVpcmUgdGhpbmdhdHB0IG5pbCB0IHRoaW5nYXRwdCsgZmJvdW5kcCB0YXAtcHV0LXRo aW5nLWF0LXBvaW50LXByb3BzIHRhcC1kZWZpbmUtYWxpYXNlcy13by1wcmVmaXggbWlzYy1mbnMg cmVhZC1idWZmZXItY29tcGxldGlvbi1pZ25vcmUtY2FzZV0gNCkKI0A4MCBBYnNvbHV0ZSB2YWx1 ZSBvZiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHR3byBudW1iZXJzLgpNIGFuZCBOIGFyZSB0aGUg bnVtYmVycy4fCihkZWZhbGlhcyAnYWJzZGlmZiAjWyhtIG4pICIICVdcMjAzXG4ACQhaXDIwNwgJ WlwyMDciIFttIG5dIDIgKCMkIC4gODk5KV0pCihwdXQgJ2Fic2RpZmYgJ2J5dGUtb3B0aW1pemVy ICdieXRlLWNvbXBpbGUtaW5saW5lLWV4cGFuZCkKI0A3NiBPcmRpbmFsIHN1ZmZpeCBmb3IgTi4g IFRoYXQgaXMsIGBzdCcsIGBuZCcsIGByZCcsIG9yIGB0aCcsIGFzIGFwcHJvcHJpYXRlLh8KKGRl ZmFsaWFzICdvcmRpbmFsLXN1ZmZpeCAjWyhuKSAiCFwzMDFcMjQ2XDMwMj5cMjA0EABcMzAzCFwz MDRcMjQ2V1wyMDMSAFwzMDVcMjA3XDMwNghcMzA0XDI0NkhcMjA3IiBbbiAxMDAgKDExIDEyIDEz KSAzIDEwICJ0aCIgWyJ0aCIgInN0IiAibmQiICJyZCJdXSAzICgjJCAuIDExMTgpXSkKI0AyNDkg R2V0IHN0cmluZyBmcm9tIGJ1ZmZlciBvZiBhdCBtb3N0IExJTUlUIGNoYXJzLCB3aXRoIG9uZSBl bmQgYXQgcG9zaXRpb24gUE9TLgpUcmllcyB0byBmaXQgYXMgbWFueSB3b3JkcyBpbnRvIHRoZSBz dHJpbmcgYXMgcG9zc2libGUuICBJZiBpdCBjYW5ub3QgZml0IGV2ZW4Kb25lIHdvcmQsIGl0IHdp bGwgZ2V0IExJTUlUIGNoYXJhY3RlcnMuICBESVJFQ1RJT04gPSBuaWwgZm9yIGZvcndhcmQsIG5v bi1uaWwKZm9yIGJhY2t3YXJkLh8KKGRlZmFsaWFzICdwaWNrLXNvbWUtd29yZHMgI1socG9zIGRp cmVjdGlvbiBsaW1pdCkgIlwyMTIIYlwyMTBcMzA2XDIxMRkaC1wyMDMTAFwzMDdcMzEwIVwyMTBc MjAyFgBcMzEwdlwyMTBgCBxcMjExHVxmV1wyMDMmAFxmDVpcMjAyKQANXGZaKg5cblZcMjAzQwAI C1wyMDM7AA5cbltcMjAyPQAOXG4IXFx7XDIwMlwyMTQAYBJcMzExEQlcMjAzXDIxMQBtXDIwNFwy MTEAb1wyMDRcMjExAAtcMjAzXgBcMzA3XDMxMCFcMjEwXDIwMmEAXDMxMHZcMjEwYAgcXDIxMR1c ZldcMjAzcQBcZg1aXDIwMnQADVxmWioOXG5YXDIwM1wyMDAAYBJcMjAyRwBcbmJcMjEwXDMwNlwy MTERXDIwNEsACGB7K1wyMDciIFtwb3MgcSBwIGRpcmVjdGlvbiBuIG0gbmlsIGJhY2t3YXJkLXdv cmQgMSB0IGxpbWl0XSA0ICgjJCAuIDEzNjgpXSkKI0AyOTIgUmV0dXJuIGEgc3RyaW5nIGNvbnRh aW5pbmcgYSBvbmUtbGluZSBkZXNjcmlwdGlvbiBvZiB0aGUgcmVnaW9uLgpXSURUSCBhcmcgaXMg bWF4IGxlbmd0aCBvZiBzdHJpbmcgKG11c3QgYmUgYXQgbGVhc3QgMjAgY2hhcnMpLgpPcHRpb25h bCBhcmdzIFBSRUZJWCBhbmQgU1VGRklYIGFyZSBzdHJpbmdzIChkZWZhdWx0OiAiIikgYWRkZWQg dG8gbXNnIGVuZHMuClRoZXkgY291bnQgdG93YXJkcyBpdHMgbGVuZ3RoLgpPcHRpb25hbCBhcmdz IEJFR0lOIGFuZCBFTkQgZGVsaW1pdCB0aGUgcmVnaW9uIHRvIHVzZS4fCihkZWZhbGlhcyAncmVn aW9uLWRlc2NyaXB0aW9uICNbKHdpZHRoICZvcHRpb25hbCBwcmVmaXggc3VmZml4IGJlZ2luIGVu ZCkgIghcMjA0BgBcMzA2EAlcMjA0XGYAXDMwNhFcblwyMDMWAAtcMjA0FgBgE1xuXDIwMyUAXG4L XlxuC10TElwyMDIvAGBcMzA3IF4SYFwzMDcgXRMLXG5aXGZcMzEwWldcMjAzQABcMzExXG4Le1wz MTFRXDIwN1wzMTJcMzEzC1xuWlwiHQhHCUdcXA1HXFweEVwzMTRcZg4RWl1cMzEwXDI0NR4SXDMx NVxuXDMxNg4SIx4TXDMxNQtcMzE3DhIjHhQIDhNcMzIwDhQJDVwyNjAGLVwyMDciIFtwcmVmaXgg c3VmZml4IGJlZ2luIGVuZCB3aWR0aCBjaGFycy1zdHJpbmcgIiIgbWFyayAyICJcIiIgZm9ybWF0 ICIgICAgICglZCBjaGFycykiIDAgcGljay1zb21lLXdvcmRzIG5pbCB0ICIgICAuLi4gICAiIHNw YWNlLWZvci1tZXNzYWdlcyBzcGFjZS1mb3ItcXVvdGUgYmVnLXdvcmRzIGVuZC13b3Jkc10gNiAo IyQgLiAyMDMxKV0pCiNANzEgUmV0dXJuIHN0cmluZyBvZiBjdXJyZW50IGRheSwgbW9udGgsIGFu ZCB5ZWFyLCBpbiBmb3JtICJkZC1tb24teWVhciIuHwooZGVmYWxpYXMgJ2N1cnJlbnQtZC1tLXkt c3RyaW5nICNbbmlsICJcMzAxIFwyMTEYXDMwMkhcMzAzXDIzMlwyMDMSAAhcMzA0XDMwNU9cMjAy FgAIXDMwMlwzMDVPXDMwNghcMzA3XDMxME9cMzA2CFwzMTFcMzEyT1wyNjAFKVwyMDciIFtzdHIg Y3VycmVudC10aW1lLXN0cmluZyA4IDMyIDkgMTAgIi0iIDQgNyAyMCAyNF0gOCAoIyQgLiAyODEx KV0pCiNANTIgUmV0dXJuIGN1cnJlbnQgbGluZSBvZiB0ZXh0IGluIEJVRkZFUiBhcyBhIHN0cmlu Zy4fCihkZWZhbGlhcyAnY3VycmVudC1saW5lLXN0cmluZyAjWygmb3B0aW9uYWwgYnVmZmVyKSAi CFwyMDYFAHAQcghxXDIxMFwzMDF/XDIxMGBcMzAyeVwyMTBgeylcMjA3IiBbYnVmZmVyIDEgMF0g MiAoIyQgLiAzMDg3KV0pCiNANjI2IERpc3BsYXkgaW4gQlVGRkVSIHRoZSBsaW5lcyBvZiBgY3Vy cmVudC1idWZmZXInIGNvbnRhaW5pbmcgU1RSSU5HLgpTZWUgYWxzbyBjb21tYW5kIGBvY2N1cicg d2hpY2ggZG9lcyB0aGlzIGFuZCBtdWNoIG1vcmUuICBBcyB0aGlzIGRvZXMKbGVzcywgaXQgY2Fu IGJlIHVzZWZ1bCBpZiB5b3UgaW50ZW5kIHRvIG1hbmlwdWxhdGUgdGhlIGNvbnRlbnRzIG9mCkJV RkZFUiwgbm90IGp1c3QgdXNlIGl0IHRvIGZpbmQgdGhpbmdzIGluIHRoZSBgY3VycmVudC1idWZm ZXInLgoKQlVGRkVSIGlzIGEgYnVmZmVyIG9yIGl0cyBuYW1lIChhIHN0cmluZykuICBTVFJJTkcg aXMgYSBzdHJpbmcuCk9wdGlvbmFsIHRoaXJkIGFyZ3VtZW50IEZMVVNILVAsIGlmIG5vbi1uaWws IG1lYW5zIHRvIGRpc3BsYXkgbGluZXMgb2YKYGN1cnJlbnQtYnVmZmVyJyB0aGF0IGRvICpub3Qq IGNvbnRhaW4gU1RSSU5HLgpJbnRlcmFjdGl2ZWx5OgogIEJVRkZFUiBkZWZhdWx0cyB0byBidWZm ZXIgIipMaW5lcyBDb250YWluaW5nKiIuCiAgU1RSSU5HIGlzIHJlYWQgaW4gdGhlIG1pbmlidWZm ZXIsIGFuZCBkZWZhdWx0cyB0byBgY3VycmVudC1saW5lLXN0cmluZycuCiAgRkxVU0gtUCBpcyB0 aGUgcHJlZml4IGFyZ3VtZW50Lh8KKGRlZmFsaWFzICdkaXNwbGF5LWxpbmVzLWNvbnRhaW5pbmcg I1soYnVmZmVyIHN0cmluZyAmb3B0aW9uYWwgZmx1c2gtcCkgIlwzMDQIIRBcMzA1IBlcMzA2CCFc MjEwXDMwNyBcMjEwCWNcMjEwZWJcMjEwXG5cMjAzHwBcMzEwCyFcMjEwXDIwMiMAXDMxMQshXDIx MFwzMTJcMzEzISlcMjA3IiBbYnVmZmVyIGJ1ZnN0cmluZyBmbHVzaC1wIHN0cmluZyBnZXQtYnVm ZmVyLWNyZWF0ZSBidWZmZXItc3RyaW5nIHN3aXRjaC10by1idWZmZXItb3RoZXItd2luZG93IGVy YXNlLWJ1ZmZlciBmbHVzaC1saW5lcyBrZWVwLWxpbmVzIHNldC1idWZmZXItbW9kaWZpZWQtcCBu aWxdIDIgKCMkIC4gMzI3MSkgKGxpc3QgKGdldC1idWZmZXItY3JlYXRlICIqTGluZXMgQ29udGFp bmluZyoiKSAocmVhZC1mcm9tLW1pbmlidWZmZXIgIkxpbmVzIGNvbnRhaW5pbmc6ICIgKGN1cnJl bnQtbGluZS1zdHJpbmcpIG5pbCBuaWwgKGNvbnMgJ21pbmlidWZmZXItaGlzdG9yeSAxKSkgY3Vy cmVudC1wcmVmaXgtYXJnKV0pCiNANzA0IFJldHVybiB0aGUgd29yZCBhdCAob3IgYmVmb3JlKSB0 aGUgY3Vyc29yLCBhcyBhIHN0cmluZy4KIldvcmQiIGlzIGFzIGRlZmluZWQgYnkgYGZvcndhcmQt d29yZCcuCk5vdGU6IEl0IGlzIHBvc3NpYmxlIGZvciB0aGUgc3ltYm9sIGZvdW5kIHRvIGJlIG9u IGEgcHJldmlvdXMgbGluZS4KClNvbWUgcmVsYXRlZCBmdW5jdGlvbnMgKGRlZmluZWQgaW4gYHRo aW5nYXRwdCsuZWwnKToKICBgbm9uLW5pbC1zeW1ib2wtbmFtZS1uZWFyZXN0LXBvaW50JyByZXR1 cm5zIHRoZSBuYW1lIG9mIHRoZSBub24tbmlsCiAgICBgc3ltYm9sLW5lYXJlc3QtcG9pbnQnIGFz IGEgc3RyaW5nLCBvciBuaWwgaWYgbm9uZS4KICBgc3ltYm9sLW5hbWUtYmVmb3JlLXBvaW50JyAg cmV0dXJucyB0aGUgc3RyaW5nIG5hbWluZyB0aGUgc3ltYm9sIGF0IG9yCiAgICBiZWZvcmUgdGhl IGN1cnNvciAoZXZlbiBpZiBpdCBpcyBvbiBhIHByZXZpb3VzIGxpbmUpLCBvciBuaWwgaWYgbm9u ZS4KICBgc3ltYm9sLWF0LXBvaW50JyByZXR1cm5zIHRoZSBzeW1ib2wgdW5kZXIgdGhlIGN1cnNv ciwgb3IgbmlsIGlmIG5vbmUuCiAgYHN5bWJvbC1uZWFyZXN0LXBvaW50JyByZXR1cm5zIHRoZSBz eW1ib2wgbmVhcmVzdCB0byB0aGUgY3Vyc29yLCBvciBuaWwuCk5vdGUgdGhhdCB0aGVzZSBsYXN0 IHR3byBmdW5jdGlvbnMgcmV0dXJuIHN5bWJvbHMsIG5vdCBzdHJpbmdzLh8KKGRlZmFsaWFzICd3 b3JkLWJlZm9yZS1wb2ludCAjW25pbCAiXDIxMlwzMDEYXDMwMlwzMDMhXDIwNFxmAFwzMDR2XDIx MGAQXDMwNXZcMjEwCGB7KlwyMDciIFtiZWcgbmlsIGxvb2tpbmctYXQgIlxcPCIgLTEgMV0gMiAo IyQgLiA0NDE0KV0pCiNANjYwIFJldHVybiB0aGUgbmFtZSBvZiB0aGUgc3ltYm9sIGF0IChvciBi ZWZvcmUpIHRoZSBjdXJzb3IsIGFzIGEgc3RyaW5nLgpJZiBubyBzeW1ib2wgaXMgZm91bmQsIHJl dHVybnMgdGhlIGVtcHR5IHN0cmluZywgIiIuCk5vdGU6IEl0IGlzIHBvc3NpYmxlIGZvciB0aGUg c3ltYm9sIGZvdW5kIHRvIGJlIG9uIGEgcHJldmlvdXMgbGluZS4KClNvbWUgcmVsYXRlZCBmdW5j dGlvbnMgKGRlZmluZWQgaW4gYHRoaW5nYXRwdCsuZWwnKToKICBgbm9uLW5pbC1zeW1ib2wtbmFt ZS1uZWFyZXN0LXBvaW50JyByZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBub24tbmlsCiAgICBgc3lt Ym9sLW5lYXJlc3QtcG9pbnQnIGFzIGEgc3RyaW5nLCBvciBuaWwgaWYgbm9uZS4KICBgd29yZC1i ZWZvcmUtcG9pbnQnIHJldHVybnMgdGhlIHdvcmQgYXQgb3IgYmVmb3JlIHRoZSBjdXJzb3IgYXMg YSBzdHJpbmcuCiAgYHN5bWJvbC1hdC1wb2ludCcgcmV0dXJucyB0aGUgc3ltYm9sIHVuZGVyIHRo ZSBjdXJzb3IsIG9yIG5pbCBpZiBub25lLgogIGBzeW1ib2wtbmVhcmVzdC1wb2ludCcgcmV0dXJu cyB0aGUgc3ltYm9sIG5lYXJlc3QgdG8gdGhlIGN1cnNvciwgb3IgbmlsLgpOb3RlIHRoYXQgdGhl c2UgbGFzdCB0d28gZnVuY3Rpb25zIHJldHVybiBzeW1ib2xzLCBub3Qgc3RyaW5ncy4fCihkZWZh bGlhcyAnc3ltYm9sLW5hbWUtYmVmb3JlLXBvaW50ICNbbmlsICJcMjEyXDMwMFwzMDEhXDIwNBMA XDMwMlwzMDFcMzAzXDMwNCNcMjA0EwBcMzA1XDIwMjoAXDMwNlwzMDchXDIxMFwzMDBcMzAxIVwy MDQkAFwzMTBcMzA3IVwyMTBcMjAyFwBcMzA3dVwyMTBgXDMxMVwzMDchXDIxMFwzMDBcMzAxIVwy MDQ4AFwzMDd1XDIxMFwyMDIsAGB7KVwyMDciIFtsb29raW5nLWF0ICJcXHNfXFx8XFxzdyIgcmUt c2VhcmNoLWJhY2t3YXJkIG5pbCB0ICIiIGZvcndhcmQtc2V4cCAxIGJhY2t3YXJkLWNoYXIgYmFj a3dhcmQtc2V4cF0gNCAoIyQgLiA1MjYzKV0pCiNAMTI0IERpc3BsYXkgc3RyaW5nIFNUUklORyBp biBidWZmZXIgQlVGRkVSLU5BTUUsIGNyZWF0aW5nIGJ1ZmZlciBpZiBuZWVkZWQuCkZPUkNFLURJ U1BMQVktUCBub24tbmlsIG1lYW5zIGJ1ZmZlciBpcyBkaXNwbGF5ZWQuHwooZGVmYWxpYXMgJ2Vj aG8taW4tYnVmZmVyICNbKGJ1ZmZlci1uYW1lIHN0cmluZyAmb3B0aW9uYWwgZm9yY2UtZGlzcGxh eS1wKSAiXDMwNAghGVxuXDIwM1xmAFwzMDUJIVwyMTAJcVwyMTBkYlwyMTALY1wyMTBcblwyMDUf AFwzMDZcMzA3CCFkXCIpXDIwNyIgW2J1ZmZlci1uYW1lIGJ1ZmZlciBmb3JjZS1kaXNwbGF5LXAg c3RyaW5nIGdldC1idWZmZXItY3JlYXRlIGRpc3BsYXktYnVmZmVyIHNldC13aW5kb3ctcG9pbnQg Z2V0LWJ1ZmZlci13aW5kb3ddIDMgKCMkIC4gNjI0NyldKQojQDE5OCBOb24tbmlsIGlmZiBtaW5p YnVmZmVyIGlzIGVtcHR5IChub3QgZ3VhcmFudGVlZCkuClRoaXMgZmxhZyBpcyBub3QgZ3VhcmFu dGVlZCB0byByZXByZXNlbnQgdGhlIHN0YXRlIG9mIHRoZSBtaW5pYnVmZmVyLApidXQgb25seSB0 aGUgbWVtb3JpemVkIHN0YXRlLiAgVXNlIHRoZSBmdW5jdGlvbiBvZiB0aGUgc2FtZSBuYW1lIHRv IGJlIHN1cmUuHwooZGVmdmFyIG1pbmlidWZmZXItZW1wdHktcCB0ICgjJCAuIDY2NTMpKQojQDU3 IFNldCB2YWx1ZSBvZiB2YXJpYWJsZSBgc2V0LW1pbmlidWZmZXItZW1wdHktcCcgdG8gRkxBRy4f CihkZWZhbGlhcyAnc2V0LW1pbmlidWZmZXItZW1wdHktcCAjWyhmbGFnKSAiCFwyMTERXDIwNyIg W2ZsYWcgbWluaWJ1ZmZlci1lbXB0eS1wXSAyICgjJCAuIDY4OTgpXSkKI0A5NSBSZXR1cm4gbm9u LW5pbCBpZmYgbWluaWJ1ZmZlciBpcyBlbXB0eS4KU2V0cyB2YXJpYWJsZSBgbWluaWJ1ZmZlci1l bXB0eS1wJyB0byByZXR1cm5lZCB2YWx1ZS4fCihkZWZhbGlhcyAnbWluaWJ1ZmZlci1lbXB0eS1w ICNbbmlsICJcMzAwXDIxM1wyMDciIFsoKGJ5dGUtY29kZSAiclwzMDBcMzAxICFxXDIxMFwzMDJc MzAzIFwzMDRVISlcMjA3IiBbd2luZG93LWJ1ZmZlciBtaW5pYnVmZmVyLXdpbmRvdyBzZXQtbWlu aWJ1ZmZlci1lbXB0eS1wIGJ1ZmZlci1zaXplIDBdIDMpKV0gMSAoIyQgLiA3MDU4KV0pCiNAMzM5 IEVyYXNlIHRoZSBtaW5pYnVmZmVyLCBpZiBpbmFjdGl2ZSBhbmQgbm90IGBtaW5pYnVmZmVyLWVt cHR5LXAnLgpUbyBkbyB0aGlzIGF0IGVhY2ggdXNlciBpbnB1dCBldmVudDoKICAgKGFkZC1ob29r ICdwcmUtY29tbWFuZC1ob29rICdlcmFzZS1ub25lbXB0eS1pbmFjdGl2ZS1taW5pYnVmZmVyKS4K Ck5vdGUgdGhhdCBgbWluaWJ1ZmZlci1lbXB0eS1wJyBpcyBub3QgaW5mYWxsaWJsZS4gIFRvIG1h a2Ugc3VyZSB0aGUKbWluaWJ1ZmZlciBpcyBlbXB0aWVkLCB5b3UgY2FuIHVzZSB0aGUgc3VyZXIs IHRob3VnaCBzbG93ZXIsIGZ1bmN0aW9uCmBlcmFzZS1pbmFjdGl2ZS1taW5pYnVmZmVyJy4fCihk ZWZhbGlhcyAnZXJhc2Utbm9uZW1wdHktaW5hY3RpdmUtbWluaWJ1ZmZlciAjW25pbCAiCFwyMDYG AFwzMDEgXDIwNyIgW21pbmlidWZmZXItZW1wdHktcCBlcmFzZS1pbmFjdGl2ZS1taW5pYnVmZmVy XSAxICgjJCAuIDczNTQpIG5pbF0pCiNAMzIyIEVyYXNlIHRoZSBtaW5pYnVmZmVyIChyZW1vdmUg aXRzIGNvbnRlbnRzKSwgcHJvdmlkZWQgaXQgaXMgaW5hY3RpdmUuClRvIGVuc3VyZSB0aGF0IHRo ZSBtaW5pYnVmZmVyIGlzIGVyYXNlZCBhdCBlYWNoIHVzZXIgaW5wdXQsIGRvIHRoaXM6CiAgIChh ZGQtaG9vayAncHJlLWNvbW1hbmQtaG9vayAnZXJhc2UtaW5hY3RpdmUtbWluaWJ1ZmZlcikuClRo aXMgaXMgZ2VuZXJhbGx5IGNvc3RseSwgaG93ZXZlci4gIEZvciBhIGZhc3RlciwgdGhvdWdoIGxl c3Mgc3VyZSwKYWx0ZXJuYXRpdmUsIHNlZSBgZXJhc2Utbm9uZW1wdHktaW5hY3RpdmUtbWluaWJ1 ZmZlcicuHwooZGVmYWxpYXMgJ2VyYXNlLWluYWN0aXZlLW1pbmlidWZmZXIgI1tuaWwgIlwzMDEg GFwzMDIIIT9cMjA1FABcMzAzXDMwNCFcMjEwXDMwNVwyMTNcMjEwXDMwM1wzMDQhKVwyMDciIFt3 aW4gbWluaWJ1ZmZlci13aW5kb3cgbWluaWJ1ZmZlci13aW5kb3ctYWN0aXZlLXAgbWVzc2FnZSBu aWwgKChieXRlLWNvZGUgInJcMzAxCCFxXDIxMFwzMDIgXDIxMFwzMDNcMzA0IVwyMTApXDMwMVwy MDciIFt3aW4gd2luZG93LWJ1ZmZlciBlcmFzZS1idWZmZXIgc2V0LW1pbmlidWZmZXItZW1wdHkt cCB0XSAyKSldIDIgKCMkIC4gNzgzNykgbmlsXSkKI0AxOTAgUmV0dXJuIGEgY29weSBvZiBTVFJJ TkcsIGJ1dCBmaWxsZWQuCkFyZ3VtZW50cyBhcmUgdGhvc2UgZm9yIGBmaWxsLXJlZ2lvbicgd2l0 aCB0aGUgc2FtZSBuYW1lcy4KYGZpbGwtcmVnaW9uJyBpcyB1c2VkLiAgU2VlIGl0IGZvciB0aGUg YmVoYXZpb3IsIGluY2x1ZGluZyB0aGUKdmFyaWFibGVzIHRoYXQgYXJlIHJlc3BlY3RlZC4fCihk ZWZhbGlhcyAnZmlsbC1zdHJpbmcgI1soc3RyaW5nICZvcHRpb25hbCBqdXN0aWZ5IG5vc3F1ZWV6 ZSB0by1lb3ApICJcMzAyXDMwM1wzMDQhIRhcMzA1XDIxNnIIcVwyMTAJY1wyMTBcMzA2ZWRcIlwy MTBcMzA3IBErCVwyMDciIFsjMT0jOnRlbXAtYnVmZmVyIHN0cmluZyBnZXQtYnVmZmVyLWNyZWF0 ZSBnZW5lcmF0ZS1uZXctYnVmZmVyLW5hbWUgIiAqdGVtcCoiICgoYnl0ZS1jb2RlICJcMzAxCCFc MjAzXG4AXDMwMgghXDIxMFwzMDFcMjA3IiBbIzEjIGJ1ZmZlci1uYW1lIGtpbGwtYnVmZmVyXSAy KSkgZmlsbC1yZWdpb24gYnVmZmVyLXN0cmluZ10gMyAoIyQgLiA4NDcyKV0pCihieXRlLWNvZGUg IlwzMDBcMzAxIVwyMDRcbgBcMzAxXDMwMk1cMjEwXDMwMFwyMDciIFtmYm91bmRwIGluc2VydC1z dHJpbmcgI1soJnJlc3QgYXJncykgIghcMzAzGVwyMTEaXDIwMyAAXG5AXDIxMRFcMjUwXDIwMxYA XDMwNAkhXDIwMhcACWNcMjEwXG5BXDIxMRJcMjA0CAAqXDMwM1wyMDciIFthcmdzIGVsICMxPSM6 LS1kb2xpc3QtdGVtcC0tODEzMDQgbmlsIG51bWJlci10by1zdHJpbmddIDMgIk1vY2tsaXNwLWNv bXBhdGliaWxpdHkgaW5zZXJ0IGZ1bmN0aW9uLlxuTGlrZSB0aGUgZnVuY3Rpb24gYGluc2VydCcg ZXhjZXB0IHRoYXQgYW55IGFyZ3VtZW50IHRoYXQgaXMgYSBudW1iZXJcbmlzIGNvbnZlcnRlZCBp bnRvIGEgc3RyaW5nIGJ5IGV4cHJlc3NpbmcgaXQgaW4gZGVjaW1hbC4iXV0gMikKI0A2NDUgQ29u dmVydCBBUkcgKG9mIGZvcm0gKEZBQ0UgT0JKRUNUKSkgdG8gYSBzdHJpbmcgd2l0aCBmYWNlIEZB Q0UuCklmIEFSRyBpcyBhbHJlYWR5IGEgc3RyaW5nLCBhbnkgdGV4dCAoZmFjZSkgcHJvcGVydGll cyBhcmUgcHJlc2VydmVkLgoKQVJHIG1heSBiZSBhIHN0cmluZyBvciBhIG51bWJlciAoc2VlIGBp bnNlcnQtc3RyaW5nJyksIG9yIG5pbAooaWdub3JlZCkuICBBcyBhIHNwZWNpYWwgY2FzZSwgaXQg bWF5IGFsc28gYmUgYSBsaXN0IG9mIHRoZSBmb3JtCihGQUNFIE9CSkVDVCksIHdoZXJlIE9CSkVD VCBpcyBhbiBvYmplY3QgdG8gYmUgY29udmVydGVkIHRvIGEgc3RyaW5nCnZpYSAoZm9ybWF0ICIl cyIpLCBhbmQgRkFDRSBpcyB0aGUgZmFjZSBpbiB3aGljaCB0byBkaXNwbGF5IHRoZQpyZXN1bHRp bmcgc3RyaW5nLiAgSWYgT0JKRUNUIGlzIGEgc3RyaW5nLCBhbnkgdGV4dCBwcm9wZXJ0aWVzCmJl bG9uZ2luZyB0byBpdCBhcmUgaWdub3JlZC4KCk5PVEU6IEZvciB2ZXJzaW9ucyBvZiBFbWFjcyB0 aGF0IGRvIG5vdCBoYXZlIGZhY2VzLCBhIGxpc3Qgb2YKICAgICAgKEZBQ0UgT0JKRUNUKSBpcyBz aW1wbHkgdHJlYXRlZCBhcyB0aGUgc3RyaW5nIHJlc3VsdGluZyBmcm9tCiAgICAgIChmb3JtYXQg IiVzIiBPQkpFQ1QpLh8KKGRlZmFsaWFzICdzdHJpbmctdy1mYWNlICNbKGFyZykgIgg6XDIwMx8A XDMwMlwzMDMIQUBcIhlcMzA0XDMwNSFcMjAzFwBcMzA2XDMwN1wzMTBcMjE3EAg7XDIwNB4ACRAp CFwyMDciIFthcmcgc3RyZyBmb3JtYXQgIiVzIiBmYm91bmRwIHNldC1mYWNlLWZvcmVncm91bmQg bmlsIChieXRlLWNvZGUgIlwzMDJcMzAzXDMwNFwzMDUIXDMwNVFcMzA2CEdcMzA3CUBERUJcIiFA XDIwNyIgW3N0cmcgYXJnIHJlYWQtZnJvbS1zdHJpbmcgZm9ybWF0ICIjJXMiICJcIiIgMCBmYWNl XSA4KSAoKGVycm9yKSldIDMgKCMkIC4gOTQwMildKQojQDcyNyBSZXR1cm4gdGhlIHN0cmluZyB0 aGF0IGlzIHRoZSBjb25jYXRlbmF0aW9uIG9mIGFsbCBBUkdVTUVOVFMuClRleHQgKGZhY2UpIHBy b3BlcnRpZXMgb2YgYW55IHN0cmluZyBhcmd1bWVudHMgYXJlIHByZXNlcnZlZC4KClRoaXMgaXMg b2Jzb2xldGUuICBVc2UgYGNvbmNhdCcgd2l0aCBgcHV0LXRleHQtcHJvcGVydHknIG9yCmBwcm9w ZXJ0aXplJyBub3cuCgpJdGVtcyBpbiBhcmcgbGlzdCBtYXkgYmUgc3RyaW5ncyBvciBudW1iZXJz IChzZWUgYGluc2VydC1zdHJpbmcnKSwgb3IKbmlsIChpZ25vcmVkKS4gIEFzIGEgc3BlY2lhbCBj YXNlLCB0aGV5IG1heSBhbHNvIGJlIGxpc3RzIG9mIHRoZSBmb3JtCihGQUNFIE9CSkVDVCksIHdo ZXJlIE9CSkVDVCBpcyBhbiBvYmplY3QgdG8gYmUgY29udmVydGVkIHRvIGEgc3RyaW5nCnZpYSAo Zm9ybWF0ICIlcyIpLCBhbmQgRkFDRSBpcyB0aGUgZmFjZSBpbiB3aGljaCB0byBkaXNwbGF5IHRo ZQpyZXN1bHRpbmcgc3RyaW5nLiAgSWYgT0JKRUNUIGlzIGEgc3RyaW5nLCBhbnkgdGV4dCBwcm9w ZXJ0aWVzCmJlbG9uZ2luZyB0byBpdCBhcmUgaWdub3JlZC4KCk5PVEU6IEZvciB2ZXJzaW9ucyBv ZiBFbWFjcyB0aGF0IGRvIG5vdCBoYXZlIGZhY2VzLCBhIGxpc3Qgb2YKICAgICAgKEZBQ0UgT0JK RUNUKSBpcyBzaW1wbHkgdHJlYXRlZCBhcyB0aGUgc3RyaW5nIHJlc3VsdGluZyBmcm9tCiAgICAg IChmb3JtYXQgIiVzIiBPQkpFQ1QpLh8KKGRlZmFsaWFzICdjb25jYXQtdy1mYWNlcyAjWygmcmVz dCBhcmd1bWVudHMpICJcMzAxXDMwMghcMzAzI1wyMDciIFthcmd1bWVudHMgbWFwY29uY2F0IHN0 cmluZy13LWZhY2UgIiJdIDQgKCMkIC4gMTAzNTUpICJzU3RyaW5nOiAiXSkKI0A5MTQgSW5zZXJ0 IEFSR1VNRU5UUyBpbiBtaW5pYnVmZmVyLCBpbmRlZmluaXRlbHksIHByZXNlcnZpbmcgZmFjZXMu ClRoZSBtaW5pYnVmZmVyIGlzIG5vdCBlcmFzZWQgYmVmb3JlIGRpc3BsYXkuICBJZiB5b3Ugd2Fu dCB0byBlbnN1cmUKdGhhdCB0aGUgbWluaWJ1ZmZlciBpcyBlcmFzZWQgYXQgZWFjaCB1c2VyIGlu cHV0IGV2ZW50LCB0aGVuIGRvIHRoaXM6CiAgICAoYWRkLWhvb2sgJ3ByZS1jb21tYW5kLWhvb2sg J2VyYXNlLWluYWN0aXZlLW1pbmlidWZmZXIpCm9yICAoYWRkLWhvb2sgJ3ByZS1jb21tYW5kLWhv b2sgJ2VyYXNlLW5vbmVtcHR5LWluYWN0aXZlLW1pbmlidWZmZXIpCgpUZXh0IChmYWNlKSBwcm9w ZXJ0aWVzIG9mIHN0cmluZyBhcmd1bWVudHMgYXJlIHByZXNlcnZlZC4KCkl0ZW1zIGluIGFyZyBs aXN0IG1heSBiZSBzdHJpbmdzIG9yIG51bWJlcnMgKHNlZSBgaW5zZXJ0LXN0cmluZycpLCBvcgpu aWwgKGlnbm9yZWQpLiAgQXMgYSBzcGVjaWFsIGNhc2UsIHRoZXkgbWF5IGFsc28gYmUgbGlzdHMg b2YgdGhlIGZvcm0KKEZBQ0UgT0JKRUNUKSwgd2hlcmUgT0JKRUNUIGlzIGFuIG9iamVjdCB0byBi ZSBjb252ZXJ0ZWQgdG8gYSBzdHJpbmcKdmlhIChmb3JtYXQgIiVzIiksIGFuZCBGQUNFIGlzIHRo ZSBmYWNlIGluIHdoaWNoIHRvIGRpc3BsYXkgdGhlCnJlc3VsdGluZyBzdHJpbmcuICBJZiBPQkpF Q1QgaXMgYSBzdHJpbmcsIGFueSB0ZXh0IHByb3BlcnRpZXMKYmVsb25naW5nIHRvIGl0IGFyZSBp Z25vcmVkLgoKTk9URTogRm9yIHZlcnNpb25zIG9mIEVtYWNzIHRoYXQgZG8gbm90IGhhdmUgZmFj ZXMsIGEgbGlzdCBvZgogICAgICAoRkFDRSBPQkpFQ1QpIGlzIHNpbXBseSB0cmVhdGVkIGFzIHRo ZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20KICAgICAgKGZvcm1hdCAiJXMiIE9CSkVDVCkuHwooZGVm YWxpYXMgJ2luc2VydC1pbi1taW5pYnVmZmVyICNbKCZyZXN0IGFyZ3VtZW50cykgIlwzMDFcMzAy IVwyMTBcMjEyXDMwM1wyMTNcMjEwKQhcMjAzEQBcMzA0XDMwMiFcMjEwXDMwMVwzMDIhXDIxMFwz MDVcMzA2IVwyMDciIFthcmd1bWVudHMgbWVzc2FnZSBuaWwgKChieXRlLWNvZGUgInJcMzAxXDMw MiAhcVwyMTBkYlwyMTBcMzAzXDMwNFwzMDUIXCIhXDIxMClcMzAxXDIwNyIgW2FyZ3VtZW50cyB3 aW5kb3ctYnVmZmVyIG1pbmlidWZmZXItd2luZG93IGluc2VydC1zdHJpbmcgYXBwbHkgY29uY2F0 LXctZmFjZXNdIDQpKSBzZXQtbWluaWJ1ZmZlci1lbXB0eS1wIHNpdC1mb3IgMF0gMiAoIyQgLiAx MTIyMykgInNTdHJpbmc6ICJdKQojQDkwNSBSZWFkIHRoZSBuYW1lIG9mIGEgYnVmZmVyIGFuZCBy ZXR1cm4gaXQgYXMgYSBzdHJpbmcuClByb21wdCB3aXRoIGZpcnN0IGFyZywgUFJPTVBUIChhIHN0 cmluZykuCgpJZiB1c2VyIGlucHV0IGlzIGVtcHR5IChqdXN0IGBSRVQnKSB0aGVuIHJldHVybiB0 aGUgZGVmYXVsdCB2YWx1ZSwKd2hpY2ggaXM6CgogLSBvcHRpb25hbCBzZWNvbmQgYXJnIERFRkFV TFQsIGlmIG5vbi1uaWwKIC0gYGFub3RoZXItYnVmZmVyJyBvciBgb3RoZXItYnVmZmVyJywgb3Ro ZXJ3aXNlLgoKSWYgYGFub3RoZXItYnVmZmVyJyBpcyB1bmRlZmluZWQsIHRoZW4gdXNlIGBvdGhl ci1idWZmZXInLgoKU3RhcnRpbmcgd2l0aCBFbWFjcyAyMywgREVGQVVMVCBjYW4gYmUgYSBsaXN0 IG9mIG5hbWVzIChzdHJpbmdzKSwgaW4Kd2hpY2ggY2FzZSB0aGUgZmlyc3QgbmFtZSBpbiB0aGUg bGlzdCBpcyByZXR1cm5lZCBvbiBlbXB0eSBpbnB1dC4KCk5vbi1uaWwgUkVRVUlSRS1NQVRDSCBt ZWFucyB0byBhbGxvdyBvbmx5IG5hbWVzIG9mIGV4aXN0aW5nIGJ1ZmZlcnMuCkl0IGlzIHRoZSBz YW1lIGFzIGZvciBgY29tcGxldGluZy1yZWFkJy4KCk5vbi1uaWwgUFJFRElDQVRFIGlzIGEgZnVu Y3Rpb24gdGhhdCBhY2NlcHRzIGEgY29tcGxldGlvbiBjYW5kaWRhdGUgKGEKY29ucyB3aG9zZSBj YXIgaXMgYSBidWZmZXIgbmFtZSkgYXMgaXRzIGZpcnN0IGFyZy4gIENhbmRpZGF0ZXMgZm9yCndo aWNoIFBSRURJQ0FURSByZXR1cm5zIG5pbCBhcmUgZXhjbHVkZWQgYXMgY29tcGxldGlvbiBjYW5k aWRhdGVzLgoKQ2FzZSBzZW5zaXRpdml0eSBpcyBkZXRlcm1pbmVkIGJ5CmByZWFkLWJ1ZmZlci1j b21wbGV0aW9uLWlnbm9yZS1jYXNlJywgaWYgZGVmaW5lZCwgb3IKYGNvbXBsZXRpb24taWdub3Jl LWNhc2UnIG90aGVyd2lzZS4fCihkZWZhbGlhcyAncmVhZC1idWZmZXIgI1socHJvbXB0ICZvcHRp b25hbCBkZWZhdWx0IHJlcXVpcmUtbWF0Y2ggcHJlZGljYXRlKSAiXDMwNlwzMDAhXDIwMw4ACFwy MDMOAAgJIVwyMDd0XDIwMycAXG5cMjA2JgBcMzA3XDMxMCFcMjAzIwBcMzEwXDMxMVwzMTJcIlwy MDImAFwzMTNwIRJcMzE0XG4hXDIwMzEAXDMxNVxuIRJcMzA2XDMwMyFcMjAzOwALXDIwMjwAXGYc XDMxNglcMzA3XDMxNyFcMjAzSQBcMzE3XDIwMk4AXDMyMFwzMjFcMzIyIFwiDQ4UXDMxMVwzMjNc blwzMTEmCClcMjA3IiBbcmVhZC1idWZmZXItZnVuY3Rpb24gcHJvbXB0IGRlZmF1bHQgcmVhZC1i dWZmZXItY29tcGxldGlvbi1pZ25vcmUtY2FzZSBjb21wbGV0aW9uLWlnbm9yZS1jYXNlIHByZWRp Y2F0ZSBib3VuZHAgZmJvdW5kcCBhbm90aGVyLWJ1ZmZlciBuaWwgdCBvdGhlci1idWZmZXIgYnVm ZmVycCBidWZmZXItbmFtZSBjb21wbGV0aW5nLXJlYWQgaW50ZXJuYWwtY29tcGxldGUtYnVmZmVy IG1hcGNhciAjWyhiKSAiXDMwMQghXDIwNVxuAFwzMDIIIUNcMjA3IiBbYiBidWZmZXItbGl2ZS1w IGJ1ZmZlci1uYW1lXSAyXSBidWZmZXItbGlzdCBidWZmZXItbmFtZS1oaXN0b3J5IHJlcXVpcmUt bWF0Y2hdIDkgKCMkIC4gMTI1MDkpXSkKI0AxNzUgQWxpc3Qgb2YgKEJVRi1OQU1FIC4gQlVGKSBp dGVtcywgd2hlcmUgQlVGLU5BTUUgKGEgc3RyaW5nKSBuYW1lcyBCVUYsCndoaWNoIGlzIGluIChi dWZmZXItbGlzdCkuICBOb24tbmlsIE5PU1BBQ0VQIG1lYW5zIGRvIG5vdCBpbmNsdWRlCmJ1ZmZl cnMgd2hvc2UgbmFtZXMgc3RhcnQgd2l0aCBTUEFDRS4fCihkZWZhbGlhcyAnYnVmZmVyLWFsaXN0 ICNbKCZvcHRpb25hbCBub3NwYWNlcCkgIlwzMDVcMjExGBlcMzA2IFwzMDUaXDIxMRtcMjAzLgAL QBJcMzA3XG4hEFxmXDIwMyEACFwzMTBcMzExT1wzMTJcMjMyXDIwNCcACFxuQglCEQtBXDIxMRNc MjA0DQAqXDMxMwkhKlwyMDciIFtibiBibi1hbGlzdCBidWYgIzE9IzotLWRvbGlzdC10ZW1wLS04 MTMwNSBub3NwYWNlcCBuaWwgYnVmZmVyLWxpc3QgYnVmZmVyLW5hbWUgMCAxICIgIiByZXZlcnNl XSA0ICgjJCAuIDE0MDUyKV0pCihieXRlLWNvZGUgIlwzMDBcMzAxIVwyMDRcbgBcMzAxXDMwMk1c MjEwXDMwMFwyMDciIFtmYm91bmRwIHJlYWQtbnVtYmVyICNbKHByb21wdCAmb3B0aW9uYWwgZGVm YXVsdCkgIlwzMDQYCVwyMDMvAFwzMDVcMzA2XG5cIlwyMDMaAFwzMDdcMzEwXDMxMQlcIlwzMTJc MjExXG5cMzEzJVwyMDIuAFwzMTRcMzE1IVwyMDMtAFwzMTVcMzE2XDMxMFwzMTcJXCJcblwzMTJc MjExJVwyMDIuAFxuElwzMjBcblwzMDRcMjExXDIxMVwyMTEJXDIwNTwAXDMyMQkhJgZcMjExG0dc MzIyVVwyMDNKAAlcMjAyUwALO1wyMDVTAFwzMDRcMzIzXDMyNFwyMTcQKQhcMjQ3XDIwNGoAXDMy NSBcMjEwXDMyNlwzMjchXDIxMFwzMzBcMzEzXDMwNFwzMTIjXDIxMFwyMDIvAAgpXDIwNyIgW251 bSBkZWZhdWx0IHByb21wdCBzdHIgbmlsIHN0cmluZy1tYXRjaCAiXFwoXFwpOlsgCV0qXFwnIiBy ZXBsYWNlLW1hdGNoIGZvcm1hdCAiIChkZWZhdWx0ICVzKSIgdCAxIGZib3VuZHAgcmVwbGFjZS1y ZWdleHAtaW4tc3RyaW5nICJbIAldKlxcJyIgIiAoZGVmYXVsdCAlcykgIiByZWFkLWZyb20tbWlu aWJ1ZmZlciBudW1iZXItdG8tc3RyaW5nIDAgKHJlYWQgc3RyKSAoKGVycm9yKSkgZGluZyBtZXNz YWdlICJOb3QgYSBudW1iZXIuICBUcnkgYWdhaW4uIiBzaXQtZm9yXSA5ICJSZWFkIGEgbnVtYmVy IGluIHRoZSBtaW5pYnVmZmVyLCBwcm9tcHRpbmcgd2l0aCBhcmcgUFJPTVBULlxuUFJPTVBUIGlz IGEgc3RyaW5nLlxuREVGQVVMVCBpcyByZXR1cm5lZCBpZiB0aGUgdXNlciBoaXRzIGBSRVQnIHdp dGhvdXQgdHlwaW5nIGFueXRoaW5nLiJdXSAyKQojQDMxNiBSZWFkIG5hbWUgb2YgYSB1c2VyIHZh cmlhYmxlIChhbiBvcHRpb24pIGFuZCByZXR1cm4gaXQgYXMgYSBzeW1ib2wuClByb21wdCB3aXRo IHN0cmluZyBQUk9NUFQuICBCeSBkZWZhdWx0LCByZXR1cm4gREVGQVVMVC1WQUxVRSBpZgpub24t bmlsLiAgSWYgREVGQVVMVC1WQUxVRSBpcyBuaWwgYW5kIHRoZSBuZWFyZXN0IHN5bWJvbCB0byB0 aGUgY3Vyc29yCmlzIGEgdmFyaWFibGUsIHRoZW4gcmV0dXJuIHRoYXQgYnkgZGVmYXVsdC4KQSB1 c2VyIHZhcmlhYmxlIGlzIG9uZSBmb3Igd2hpY2ggYHVzZXItdmFyaWFibGUtcCcgcmV0dXJucyBu b24tbmlsLh8KKGRlZmFsaWFzICdyZWFkLXZhcmlhYmxlICNbKHByb21wdCAmb3B0aW9uYWwgZGVm YXVsdC12YWx1ZSkgIlwzMDVcMzA2IVwyMDMLAFwzMDYgXDIwMhcAXDMwNVwzMDchXDIwMxYAXDMw NyBcMjAyFwBcMzEwXDMxMRgZXG5cMjAzJwBcbjlcMjAzJwBcMzEyXG4hElwzMTNcMzE0C1xmXDMx NVwzMTFcMzEwXDMxNlxuXDIwNjwAXDMxNQkhXDIwNTwAXDMxMgkhXDMxMSYIISpcMjA3IiBbZW5h YmxlLXJlY3Vyc2l2ZS1taW5pYnVmZmVycyBzeW1iIGRlZmF1bHQtdmFsdWUgcHJvbXB0IG9iYXJy YXkgZmJvdW5kcCBzeW1ib2wtbmVhcmVzdC1wb2ludCBzeW1ib2wtYXQtcG9pbnQgbmlsIHQgc3lt Ym9sLW5hbWUgaW50ZXJuIGNvbXBsZXRpbmctcmVhZCB1c2VyLXZhcmlhYmxlLXAgbWluaWJ1ZmZl ci1oaXN0b3J5XSAxMCAoIyQgLiAxNTMxMSldKQojQDMyOSBSZWFkIG5hbWUgb2YgYSB2YXJpYWJs ZSBhbmQgcmV0dXJuIGl0IGFzIGEgc3ltYm9sLgpVbmxpa2UgYHJlYWQtdmFyaWFibGUnLCB3aGlj aCByZWFkcyBvbmx5IHVzZXIgb3B0aW9ucywgdGhpcyByZWFkcyB0aGUKbmFtZSBvZiBhbnkgdmFy aWFibGUuCgpQcm9tcHRzIHdpdGggYXJnIHN0cmluZyBQUk9NUFQuICBCeSBkZWZhdWx0LCByZXR1 cm4gREVGQVVMVC1WQUxVRSBpZgpub24tbmlsLiAgSWYgREVGQVVMVC1WQUxVRSBpcyBuaWwgYW5k IHRoZSBuZWFyZXN0IHN5bWJvbCB0byB0aGUgY3Vyc29yCmlzIGEgdmFyaWFibGUsIHRoZW4gcmV0 dXJuIHRoYXQgYnkgZGVmYXVsdC4fCihkZWZhbGlhcyAncmVhZC1hbnktdmFyaWFibGUgI1socHJv bXB0ICZvcHRpb25hbCBkZWZhdWx0LXZhbHVlKSAiXDMwNVwzMDYhXDIwMwsAXDMwNiBcMjAyFwBc MzA1XDMwNyFcMjAzFgBcMzA3IFwyMDIXAFwzMTBcMzExGBlcblwyMDMnAFxuOVwyMDMnAFwzMTJc biESXDMxM1wzMTQLXGZcMzE1XDMxMVwzMTBcMzE2XG5cMjA2QAAJXDIwNUAAXDMxNQkhXDIwNUAA XDMxMgkhXDMxMSYIISpcMjA3IiBbZW5hYmxlLXJlY3Vyc2l2ZS1taW5pYnVmZmVycyBzeW1iIGRl ZmF1bHQtdmFsdWUgcHJvbXB0IG9iYXJyYXkgZmJvdW5kcCBzeW1ib2wtbmVhcmVzdC1wb2ludCBz eW1ib2wtYXQtcG9pbnQgbmlsIHQgc3ltYm9sLW5hbWUgaW50ZXJuIGNvbXBsZXRpbmctcmVhZCBi b3VuZHAgbWluaWJ1ZmZlci1oaXN0b3J5XSAxMCAoIyQgLiAxNjA1MildKQojQDE3NyBBbGlzdCBv ZiAoRlItTkFNRSAuIEZSKSBpdGVtcy4gIEZSLU5BTUUgbmFtZXMgRlIgaW4gYGZyYW1lLWxpc3Qn LgpGUi1OQU1FIGlzIGEgc3RyaW5nLiAgVGhlIGFsaXN0IGlzIHNvcnRlZCBieSBBU0NJSSBjb2Rl IGluIHJldmVyc2UKYWxwaGFiZXRpY2FsIG9yZGVyLCBhbmQgd2l0aCBjYXNlIGlnbm9yZWQuHwoo ZGVmYWxpYXMgJ2ZyYW1lLWFsaXN0ICNbbmlsICJcMzAwXDMwMVwzMDJcMzAzIFwiXDMwNFwiXDIw NyIgW3NvcnQgbWFwY2FyICNbKGZyKSAiXDMwMQhcMzAyXCIIQlwyMDciIFtmciBmcmFtZS1wYXJh bWV0ZXIgbmFtZV0gM10gZnJhbWUtbGlzdCAjWyhmMWYxbiBmMmYybikgIghAXDIyNwlAXDIyN1wy MzE/XDIwNyIgW2YxZjFuIGYyZjJuXSAyXV0gNCAoIyQgLiAxNjgwOCldKQojQDUxMDAgRGlzcGxh eSBBUkdVTUVOVFMgaW4gbWluaWJ1ZmZlciwgcHJlc2VydmluZyB0aGVpciBmYWNlIHByb3BlcnRp ZXMuClRoaXMgZnVuY3Rpb24gZXNzZW50aWFsbHkgYWxsb3dzIHlvdSB0byBkaXNwbGF5IG1lc3Nh Z2VzIHdpdGggZmFjZXMuCgpGaXJzdCBhcmcgT1BUSU9OIGRldGVybWluZXMgdGhlIGRpc3BsYXkg YmVoYXZpb3IsIGFzIGZvbGxvd3M6CgogT1BUSU9OIHZhbHVlcyBgZXZlbnQnLCBgbmV3JywgYW5k IGEgYG5hdG51bXAnIGVyYXNlIHRoZSBtaW5pYnVmZmVyCiBiZWZvcmUgZGlzcGxheWluZy4gIE90 aGVyIHZhbHVlcyBkbyBub3QuICBUaGV5IGFyZSBpbnRlbmRlZCBmb3IgbGF0ZXIKIHVzZSB0byBh ZGQgdG8gdGhlIGNvbnRlbnRzIG9mIHRoZSBtaW5pYnVmZmVyLgoKIE9QVElPTiB2YWx1ZXMgYGV2 ZW50JywgYG1vcmUtZXZlbnQnIGFuZCBhbiBgaW50ZWdlcnAnIGFyZSBndWFyYW50ZWVkCiB0byBl cmFzZSB0aGUgbWluaWJ1ZmZlciBhdCBzb21lIHRpbWUgYWZ0ZXIgZGlzcGxheWluZy4gIE90aGVy IHZhbHVlcwogZG8gbm90IGVyYXNlIGl0IGFmdGVyd2FyZC4gIFRoZXkgYWxsb3cgeW91IHRvIGxh dGVyIGFkZCBtb3JlIHRvIHRoZQogY3VycmVudCBjb250ZW50cyBvZiB0aGUgbWluaWJ1ZmZlci4g IFJlbWVtYmVyIHRoYXQgdGhleSBsZWF2ZSB0aGUKIG1pbmlidWZmZXIgd2l0aCB0ZXh0IGluIGl0 LiAgVGhleSBzaG91bGQgdGhlcmVmb3JlIGF0IHNvbWUgcG9pbnQgYmUKIGZvbGxvd2VkIGJ5IHNv bWV0aGluZyB0aGF0IGVyYXNlcyB0aGUgY29udGVudHMsIHN1Y2ggYXMKIGBlcmFzZS1pbmFjdGl2 ZS1taW5pYnVmZmVyJy4KCiBPUFRJT04gdmFsdWVzIGBldmVudCcgYW5kIGEgYG5hdG51bXAnIGFy ZSBjb21tb24sIG9uZS1zaG90IGFmZmFpcnMuCiBUaGUgb3RoZXIgdmFsdWVzIGFyZSBvbmx5IHVz ZWQgd2hlbiB5b3UgbmVlZCB0byBjb21iaW5lIHNldmVyYWwKIHN1Ym1lc3NhZ2VzIHZpYSBzZXBh cmF0ZSBjYWxscy4KCiBPUFRJT04gdmFsdWVzIGBldmVudCcgYW5kIGBtb3JlLWV2ZW50JyBibG9j ayBFbWFjcyBleGVjdXRpb24gdW50aWwKIHRoZSBuZXh0IHVzZXIgZXZlbnQuICBUaGlzIG1lYW5z LCBhbW9uZyBvdGhlciB0aGluZ3MsIHRoYXQgc3VjaCBhCiBjYWxsIHNob3VsZCBhbHdheXMgYmUg dGhlIGxhc3Qgb2YgYSBzZXF1ZW5jZSBvZiBjYWxscyB0bwogYGRpc3BsYXktaW4tbWluaWJ1ZmZl cicuCgogSGVyZSBhcmUgYWxsIHRoZSBPUFRJT04gdmFsdWVzOgoKIElmIGEgbnVtYmVyOiBBUkdT IGFyZSBkaXNwbGF5ZWQgZm9yIHRoYXQgbWFueSBzZWNvbmRzIChgc2l0LWZvcicpLAogICAgICB0 aGVuIHRoZSBtaW5pYnVmZmVyIGlzIGVyYXNlZC4gIFRoZSBtaW5pYnVmZmVyIGlzIGFsc28KICAg ICAgZXJhc2VkIGJlZm9yZSB0aGUgZGlzcGxheSBvZiBBUkdTLCBpZmYgdGhlIG51bWJlciBpcyA+ PSAwLgogSWYgYGV2ZW50JzogQVJHUyBhcmUgZGlzcGxheWVkIHVudGlsIHRoZSBuZXh0IHVzZXIg ZXZlbnQsIGFmdGVyCiAgICAgIGVyYXNpbmcgdGhlIG1pbmlidWZmZXIuICAoSWYgQVJHUyA9IG5p bCwgdGhpcyBqdXN0IGFmZmVjdHMKICAgICAgdGhlIGR1cmF0aW9uIG9mIHRoZSBjdXJyZW50IG1p bmlidWZmZXIgY29udGVudHMuKQogSWYgYG1vcmUtZXZlbnQnOiBBUkdTIGRpc3BsYXllZCB1bnRp bCBuZXh0IHVzZXIgZXZlbnQsIHdpdGhvdXQKICAgICAgZmlyc3QgZXJhc2luZyBtaW5pYnVmZmVy LiAgKElmIEFSR1MgPSBuaWwsIHRoaXMganVzdCBhZmZlY3RzCiAgICAgIHRoZSBkdXJhdGlvbiBv ZiB0aGUgY3VycmVudCBtaW5pYnVmZmVyIGNvbnRlbnRzLikKIElmIGBuZXcnOiBBUkdTIGRpc3Bs YXllZCBpbmRlZmluaXRlbHksIGFmdGVyIGVyYXNpbmcgbWluaWJ1ZmZlci4KICAgICAgKElmIEFS R1MgPSBuaWwsIHRoZW4gdGhpcyBqdXN0IGVyYXNlcyB0aGUgbWluaWJ1ZmZlci4pCiBFbHNlIChl LmcuIGBtb3JlJyk6IEFSR1MgZGlzcGxheWVkIGluZGVmaW5pdGVseSwgd2l0aG91dCBmaXJzdAog ICAgICBlcmFzaW5nIG1pbmlidWZmZXIuICAoSWYgQVJHUyA9IG5pbCwgdGhlbiB0aGlzIGlzIGEg bm8tb3AuKQoKSWYgeW91IGNhbm5vdCAob3IgZG8gbm90IHdhbnQgdG8pIGV4cGxpY2l0bHkgcHJv Z3JhbSB0aGUgdWx0aW1hdGUKZXJhc3VyZSBvZiB0aGUgbWluaWJ1ZmZlciwgYW5kIHlldCB5b3Ug ZG8gbm90IHdhbnQgdG8gYmxvY2sgcHJvZ3JhbQpleGVjdXRpb24gYnkgd2FpdGluZyBmb3IgYSB0 aW1lIGVsYXBzZSBvciBhIHVzZXIgaW5wdXQsIHlvdSBtYXkgc3RpbGwKZW5zdXJlIHRoYXQgdGhl IG1pbmlidWZmZXIgaXMgYWx3YXlzIGVyYXNlZCBhdCB0aGUgbmV4dCB1c2VyIGlucHV0LApieSBk b2luZyBlaXRoZXIgb2YgdGhlc2UgKHRoZSBmaXJzdCBpcyBzdXJlciwgYnV0IHNsb3dlcik6CiAg ICAoYWRkLWhvb2sgJ3ByZS1jb21tYW5kLWhvb2sgJ2VyYXNlLWluYWN0aXZlLW1pbmlidWZmZXIp Cm9yICAoYWRkLWhvb2sgJ3ByZS1jb21tYW5kLWhvb2sgJ2VyYXNlLW5vbmVtcHR5LWluYWN0aXZl LW1pbmlidWZmZXIpCgpUaGlzIGNhbiBiZSBhIGdvb2QgdGhpbmcgdG8gZG8gKGJ1dCBpdCBjYW4g YWxzbyBzbG93IHRoaW5ncyBkb3duCmNvbnNpZGVyYWJseSkuICBZb3UgbWF5IHRoZW4gZnJlZWx5 IHVzZSBPUFRJT04gdmFsdWVzIG90aGVyIHRoYW4KbnVtYmVycywgYGV2ZW50JyBhbmQgYG1vcmUt ZXZlbnQnIChlLmcuICBgbmV3JyBhbmQgYG1vcmUnKSwgd2l0aG91dApmZWFyIG9mIGluZGVmaW5p dGUgZGlzcGxheS4gIEhvd2V2ZXIsIHVzZXIgaW5wdXQgYmV0d2VlbiBgbmV3JyBhbmQKYG1vcmUn IHdpbGwgdGhlbiBpbnRlcmZlcmUgd2l0aCBpbmNyZW1lbnRhbCBkaXNwbGF5LiAgSWYgeW91IGRv IGFybQpgcHJlLWNvbW1hbmQtaG9vaycgdGhpcyB3YXksIHlvdSBjYW4gYWx3YXlzIGluaGliaXQg ZXJhc3VyZQp0ZW1wb3JhcmlseSBieSByZWJpbmRpbmcgYHByZS1jb21tYW5kLWhvb2snIHRvIG5p bC4KCgpUaGUgcmVtYWluaW5nIGFyZ3VtZW50cywgYmVzaWRlcyBPUFRJT04sIG1heSBiZSBzdHJp bmdzIG9yIG51bWJlcnMKKHNlZSBgaW5zZXJ0LXN0cmluZycpLCBvciBuaWwgKGlnbm9yZWQpLgoK QXMgYSBzcGVjaWFsIGNhc2UsIHRoZXkgKGl0ZW1zIGluIHRoZSBBUkdTIGxpc3QpIG1heSBhbHNv IGJlIGxpc3RzIG9mCnRoZSBmb3JtIChGQUNFIFNUUklORyksIHdoZXJlIFNUUklORyBpcyBhIHN0 cmluZyBhbmQgRkFDRSBpcyB0aGUgZmFjZQppbiB3aGljaCBpdCBpcyB0byBiZSBkaXNwbGF5ZWQu ICBJbiB0aGlzIGNhc2UsIGFueSB0ZXh0IHByb3BlcnRpZXMKYmVsb25naW5nIHRvIFNUUklORyBp dHNlbGYgYXJlIGlnbm9yZWQuCgoKRVhBTVBMRSAob25lLXNob3QsIHdpdGhvdXQgYHNpdC1mb3In LCBlcmFzdXJlIHVwb24gdXNlciBldmVudCk6CiAgKGRpc3BsYXktaW4tbWluaWJ1ZmZlciAnZXZl bnQgImEiICJiIikgOyBFcmFzZSwgdGhlbiBkaXNwbGF5IHVudGlsIGV2ZW50LgogIC4uLiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICAtLT4gYWIKCkVYQU1QTEUgKG11 bHRpcGxlIGNhbGxzLCB3aXRob3V0IGBzaXQtZm9yJywgZXJhc3VyZSB1cG9uIHVzZXIgZXZlbnQp OgogIChkaXNwbGF5LWluLW1pbmlidWZmZXIgJ25ldyAiYSIgImIiKSAgOyBFcmFzZSwgdGhlbiBk aXNwbGF5LgogIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgIC0t PiBhYgogIChkaXNwbGF5LWluLW1pbmlidWZmZXIgJ21vcmUgImNkIikgICAgICA7IERpc3BsYXkg KG5vIGVyYXNlKS4KICAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7 ICAtLT4gYWJjZAogIChkaXNwbGF5LWluLW1pbmlidWZmZXIgJ21vcmUtZXZlbnQgImVmIik7IERp c3BsYXkgdW50aWwgdXNlciBldmVudC4KICAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA7ICAtLT4gYWJjZGVmCgpFWEFNUExFICh3aXRob3V0IGBzaXQtZm9yJywgZXhw bGljaXQgZXJhc3VyZSBsYXRlcik6CgogIChkaXNwbGF5LWluLW1pbmlidWZmZXIgJ25ldyAiYWIi KSAgICAgOyBFcmFzZSwgdGhlbiBkaXNwbGF5LgogIC4uLiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7ICAtLT4gYWIKICAoZGlzcGxheS1pbi1taW5pYnVmZmVyICdtb3JlICJj ZCIpICAgIDsgRGlzcGxheSAobm8gZXJhc2UpLgogIC4uLiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7ICAtLT4gYWJjZAogIChkaXNwbGF5LWluLW1pbmlidWZmZXIgJ25ldykg ICAgICAgICAgICA7IEVyYXNlLS0tc2FtZSBhcwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7IChlcmFzZS1pbmFjdGl2ZS1taW5pYnVmZmVyKS4KICAuLi4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgLS0+CgpFWEFNUExFICh3aXRoIHBvc2l0 aXZlIGBzaXQtZm9yJyk6CiAgKGRpc3BsYXktaW4tbWluaWJ1ZmZlciAzICJhYmMiICJkZWYiKSA7 IEVyYXNlLCBkaXNwbGF5IDMgc2VjLCBlcmFzZS4KCkVYQU1QTEUgKHdpdGggbmVnYXRpdmUgYHNp dC1mb3InKToKICAoZGlzcGxheS1pbi1taW5pYnVmZmVyIG5ldyAiYWJjIiAiZGVmIikgOyBFcmFz ZSwgdGhlbiBkaXNwbGF5LgogIC4uLgogIChkaXNwbGF5LWluLW1pbmlidWZmZXIgLTMgImdoIikg ICAgICAgICA7IERpc3BsYXkgKCJhYmNkZWZnaCIpIDMgc2VjLgoKCk5PVEU6CiBUaGlzIGZ1bmN0 aW9uIGlzIG5vdCB2ZXJ5IHVzZWZ1bCBpbnRlcmFjdGl2ZWx5LCBlc3BlY2lhbGx5IGFzIHJlZ2Fy ZHMKIGRpZmZlcmVudCB2YWx1ZXMgb2YgT1BUSU9OLiAgSW50ZXJhY3RpdmUgY2FsbHMgaW4gZmFj dCBhbHdheXMgZXJhc2UKIHRoZSBtaW5pYnVmZmVyIGZpcnN0LgogUmVnYXJkbGVzcyBvZiB0aGlz LCBpZiBpbnRlcmFjdGl2ZSwgdGhlbiBPUFRJT04gaXMgdGhlIG51bWVyaWMgdmFsdWUKIG9mIHRo ZSBwcmVmaXggYXJnLCBpZiBhbnkuICBJZiB0aGVyZSBpcyBubyBwcmVmaXggYXJnLCBiZWhhdmlv ciBpcyBhcwogaWYgT1BUSU9OIHdlcmUgYGV2ZW50JzogZGlzcGxheSBjb250ZW50cyB1bnRpbCB0 aGUgbmV4dCB1c2VyIGV2ZW50Lh8KKGRlZmFsaWFzICdkaXNwbGF5LWluLW1pbmlidWZmZXIgI1so b3B0aW9uICZyZXN0IGFyZ3VtZW50cykgInRcMjAzEQAIXDIwMw8AXDMwMgghEFwyMDIRAFwzMDMQ XDMwNAghXDIwNB0ACFwzMDU+XDIwMyAAXDMwNiBcMjEwXDMwN1wzMTAJXCJcMjEwCFwyNTBcMjAz MwBcMzExXDMxMgghIVwyMTBcMzA2IFwyMDcIXDMxMz5cMjA1RwBcMzE0IFwyMDRFAFwzMTFcMzE1 IVwyMTBcMjAyOQBcMzA2IFwyMDciIFtvcHRpb24gYXJndW1lbnRzIHByZWZpeC1udW1lcmljLXZh bHVlIGV2ZW50IG5hdG51bXAgKGV2ZW50IG5ldykgZXJhc2UtaW5hY3RpdmUtbWluaWJ1ZmZlciBh cHBseSBpbnNlcnQtaW4tbWluaWJ1ZmZlciBzaXQtZm9yIGFicyAoZXZlbnQgbW9yZS1ldmVudCkg aW5wdXQtcGVuZGluZy1wIDBdIDMgKCMkIC4gMTcyMDgpICJQXG5zU3RyaW5nOiAiXSkKKHByb3Zp ZGUgJ3N0cmluZ3MpCg== --_002_SJ0PR10MB54886E470CEF0027C3EBECBCF3299SJ0PR10MB5488namp_--