From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id jt9QO5Dnp2ZoxTUAWB0awg (envelope-from ) for ; Mon, 29 Jul 2024 15:03:44 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=lists.lttng.org header.i=@lists.lttng.org header.a=rsa-sha256 header.s=default header.b=rRg1oNJ0; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id E14A21E0D0; Mon, 29 Jul 2024 15:03:44 -0400 (EDT) Received: from lists.lttng.org (lists.lttng.org [167.114.26.123]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id C53751E097 for ; Mon, 29 Jul 2024 15:03:42 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.lttng.org; s=default; t=1722279822; bh=vB+LznytFVAfyo8THs8ZdCyk2LP+2aGfAvbgLs5O7VU=; h=Date:To:Cc:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=rRg1oNJ0S7q2Wgpq3toZ620FC2iEw5uHjXyVswDiU4Lfo8dolj581WIkCTVOCd/7o p1K0r8ouBNlPg56ZnAnaptpUcoiT7+HZ1WtpknQAIbJH0gSyDOsxovTGSHHimUnw8h 2PL/7ZHt2qVXn98XURvxzzaUdNMqICPUFDjz+kcAe0iiVWugh5InU4TlzNIPlholC4 Z86wxuNRxWYOqWTyam9U92Vm13UFr92+GdCXF4Opp88xseUiO2iT6lvi2fNXP7sppQ GoXROK3cyhatK8/zxPh/5zbOTKpxDL2vosmxWfJqpjZwIPcfSiK7/hP1BD5xpwoVAV 0rQPkkjrdMTZg== Received: from lists-lttng01.efficios.com (localhost [IPv6:::1]) by lists.lttng.org (Postfix) with ESMTP id 4WXnnp0j9pz14y8; Mon, 29 Jul 2024 15:03:42 -0400 (EDT) Received: from YT5PR01CU002.outbound.protection.outlook.com (mail-canadacentralazon11021076.outbound.protection.outlook.com [40.107.192.76]) by lists.lttng.org (Postfix) with ESMTPS id 4WXnnl3031z15BK for ; Mon, 29 Jul 2024 15:03:39 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=y2oZYHhkgihd/dcQWwJnbZfopsy+juRhMAlh8qBPbUpuwYMgtzkegv6YVmv2jd52S85dFmxbU1fDlfIbRNu60fcplq/meNZv+Fps2QXxkLIyGgfFpfc1bwhWmLTAnjFNCJNdqG6G+Rn31G6JUXDXGi0GhIEbXT9GYLRl8/sDZnduZzKGtVw/bsyf81ztrhh89yGmmGHnXxqYOg9T8SjgtClYxsIWcSepODVVQErddZQwR4uYagdW9lYXibxoDbyzX7KEQJW15gAchyFk7kyZubvY5GDU1XsoFa8sOdVCquu/CJKi8e958mE1ZSYfJ7qFGUhqVAX7U/AuTG5KyIE1+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=UGvHtsihVLEOPbg3fXo8g5/ZXi04vfsjiA78d/C20RM=; b=vTh38MHbg1IrHY0JsgtAAvWPRmuQYZlVOgsTYLs0fqUuEXF6v1tvoDTAtektphexWVXtaw//uJni2T+M+8YtIDgJeRySqARGOzFfqehpH1xBhPki2nVL6wwjQr/TiRlxA9XwIhXNjAhcAlPFWodioO5RsSB4TGxv6NaYzz5oycpb2sHyKBcOyND5Iz0d6eM1YZqR5K3WQ9d0EpG/OG0nK2w++eXD+pSoACRm+0vUkMr3ipCl8V8KMwPHVieYBFtFKFzyTGrdOl2vbx/zz5BsupAU7d4x39m0Sap0fDBk6cOSf3ttySSEAgvExe6U3sDn6a1qTITLi8zPYZg2n/q5DA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none Received: from YT4PR01MB10341.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:e8::14) by YT3PR01MB8193.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:9a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.27; Mon, 29 Jul 2024 19:03:35 +0000 Received: from YT4PR01MB10341.CANPRD01.PROD.OUTLOOK.COM ([fe80::e27c:c1e2:e6e:9256]) by YT4PR01MB10341.CANPRD01.PROD.OUTLOOK.COM ([fe80::e27c:c1e2:e6e:9256%5]) with mapi id 15.20.7807.026; Mon, 29 Jul 2024 19:03:35 +0000 Message-ID: <85e9d8f5-572e-4d3b-87f7-5ad7d21dfb3f@efficios.com> Date: Mon, 29 Jul 2024 15:03:34 -0400 User-Agent: Mozilla Thunderbird To: Brian Hutchinson Cc: lttng-dev@lists.lttng.org, yocto@lists.yoctoproject.org References: <33527830-3bf3-4bc3-a53d-55eaefb74902@efficios.com> <09087915-9e15-4485-b3d3-f48b245690ec@efficios.com> Content-Language: en-US In-Reply-To: X-ClientProxiedBy: YQBPR0101CA0264.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:68::11) To YT4PR01MB10341.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:e8::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT4PR01MB10341:EE_|YT3PR01MB8193:EE_ X-MS-Office365-Filtering-Correlation-Id: 8c500c79-e9ec-46ec-8fac-08dcb001259f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UXBuVEpGQkhNRFFrYWwveFMvQ3dtMkhoOW1iM0t2WHRMTEl2Ym9mMnVxbkR2?= =?utf-8?B?RFlmSHhPb1ZoTE9DdU5uM3JJK3VKWlNpUlRsYWE4b0krM2RlNzVMUVJldnpT?= =?utf-8?B?WFYyT09Yc1FDT0pINFlGTkwxZmR2KzlmMjFoZU9RQjF2WDgrMy9XV3V2NnFO?= =?utf-8?B?dUZLNE0wODJDaTVKQ0xPZXJwN1hHUGpESmxYdTdjelNyUXlFSWlIUjVXVFR1?= =?utf-8?B?YjB6dFFuZCtuK2cvQTF1WmlmWTF4QmZTT0dKNGZyWGRmeTNIOUJCSzJRL0ZP?= =?utf-8?B?VkZnVmJQOGw5QmRXUy9rdEtsMWwweG5lWWsxUXFWRjd3WjRBT0FZTXdxUjJU?= =?utf-8?B?elFQNW5KVHBUbzZmYXFLL1UyNDY1Yno4aEJ6aE1wd0VUZUU4NVlTQW9pQVV1?= =?utf-8?B?ZEdDZ2x2Wkx4RVFnNHJzZ0g5R2JtZDh2b3hkbHczdjFpYnV2dGNYQUMvR2Nh?= =?utf-8?B?Y2J3NzlYRXFORUZCMmJMcXJSckFrQlpjemRSYTBUeVRTT2ZOamllMXNEOERu?= =?utf-8?B?aTljVnJPNGlIYU5EcEp4cXorNVZXZnlGV2hzbUZKZEJJS1hqUmRuWW0xVlpL?= =?utf-8?B?MFZ2TlhHOXJLUGlkRGdtbyt0ZHFUbHcvQ2VxSDRkUUluMnE3dFM3a0o0aU10?= =?utf-8?B?azAxTzlJbkJnM2pIclZPYmFLQlhIcFVSaXdPdmJqZHNYSUlLWEN1dmFaV3g4?= =?utf-8?B?NXN4YWpHaEV1L3NJUTZuNURmR21kL1ZIczNTZ3VmTGJGTEJMV0pndHNXM2Ux?= =?utf-8?B?dEJZS1JBaEVNTkdFMTBuL3lLZEl1M09iWXQwU1A1Z3hCMHJQd0k5UmNTZnRD?= =?utf-8?B?aC9sSVRPTFV0ZHdvcEpkMklqL0FxOW1JTmF6MzZHVlBuMkw0WWVQZkVxTUVz?= =?utf-8?B?R3gzSjh4YjFiR3pjbnVzQjlzaW1KdFF4eXhFZHc3Uy9oQUhsT2E4NE93K1d0?= =?utf-8?B?anhwem1EVGQyS2s0MXlVT2J2OGFNeW1admpnemV4UlgvZUdQUEZBQzRzeDhr?= =?utf-8?B?YU5aMlVWWlJvRDZXN0xPbFZvbXhhb3hnNVM0UkhMNldNb2tsZEFHajJac1hN?= =?utf-8?B?MnM2MEp2eFNuVHJqR3pOZFE1MFIwb3FBZHZ4UWxxM2ZQRVp2UCs4cktmWkhN?= =?utf-8?B?OWpUNnVyaTBXRjBwMnh0UGFFNjJCRjRrM05JZFZaZDFNcEdGOHgzL0ZlUnVT?= =?utf-8?B?cmVTUGJDVENwTk9EQW1iUmhSQmdDWVJWOTRlcDFqcWU4YUZZUWJJYVB1UlVK?= =?utf-8?B?QktnbHpPY0NvKzR3WXozbTloSlRXSjlaS3k2ZVJEcnR5TFdtZys0a3Z0cFcr?= =?utf-8?B?allFaEpIa09QRVRRbzBhSWNKb0QvNUJ1RGk3eHpyVEwzRVlnUU5zSTBnUXI2?= =?utf-8?B?UDl6YUJFcDF3YnZ5MmFuMHJtTVZacEFDb1I5M3hHVlBJMU9MQTVnZ0RwUlRH?= =?utf-8?B?WWtCQWErWnRNeEQrS0RYa2pIQldkZVRhbmRuVmkzVCtlZUJQaEJkQ1RValJO?= =?utf-8?B?aUlnZ2d2S1gwWm9MYlNWb2JGOGFkbjh5cFZkbEFSN25wWHBXUmZsTCt1OVJB?= =?utf-8?B?L2psa0lrZWxtaldLYlIwTUUvQXRpanhLTGNaa0lzRHpXQnRFQlNRR0QyWVpo?= =?utf-8?B?QSthcXdCRXNCTFp3Q3lkZmtNeTJKRDN5MlpFTVJTNHAycVhQcUZDSTN3aHNv?= =?utf-8?B?VXd6ZStwV2ZtaHIyZU9RcWFxSzdIZ21OWGtYSHVPb2tRbG42bGNWK1B3MUpq?= =?utf-8?Q?kEOxXSf4Pf+E12Tshk=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YT4PR01MB10341.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UkpZY0oxNCtHL3pjZFU5eERIWFE3dCthWGVKSmhlSWthODlpYzBXalk3b0hn?= =?utf-8?B?ZWxHVFI4V040djVYc21iQWFMZkwzR2NUd1FJWmJYaGppRGs2b2MwNjVGUG5U?= =?utf-8?B?OG0ydlc0Q2F1QXYyeWorQThRQ1BjTUV1K0VsUEJzcHhYM1VIU2xVNkVIQlFO?= =?utf-8?B?UUdpSGgvcHloWVRkK0NlelBWWUYwOXNwcEhWM1dqejBtcHJFbzcwVW4zMU1w?= =?utf-8?B?dCt5cjZJZElKeENHZUdHdjk4bjBkU1VwU1NaV3A3MWk2RGo0bW5uUzVzQ0tX?= =?utf-8?B?dHh5YmtDZG5sYXM2VkJTS1c0ZjFBWFlxMEtaZGNMRDFrdWlWSXdnNG1DTHZx?= =?utf-8?B?azBJQmRabUhLUkNWWEIwSGZ1ZktmbklHaEZlbkc1K0hJM0tLY3hvS3A4NzMw?= =?utf-8?B?bGpNeVQ0WEJSS0NqVGx2TzBNaVIzYStoSllmcmpWMno0RjdPMXVNSTBJYmNW?= =?utf-8?B?WDV5Sm5teGpHUDJGR2ZXZ3dGdTlaNTh6dGU1TjQ2YWVqRWpIRGFxbFJqL29i?= =?utf-8?B?ZXNQS1VnNTlrZ3pYV3JRTjJGMDJ3YVBZWGVmOWtGT0N0eStVckIwelF1dGRN?= =?utf-8?B?SzBObDJJZERCbFkzeXd0aDFCS3p2cU9jT084ZDJjaW5FcnJLM3ZNaHJGM0x0?= =?utf-8?B?TnFFVkpvT3NIcll1SGVMeFZTbzB2SlBKaFladUFyaUpQSEZtRzlZVExzK0tB?= =?utf-8?B?aGJlMWZhWFNEYTJJS3hJNnFNajZ6RWxXRWVLRDUzeTB1cmNCTEtQTlBXS3dP?= =?utf-8?B?RENZM0haeENsYTFFc3l5YmRWUytTNGxqVWxoTmthQktWUWdhMlhGaWVWWWp6?= =?utf-8?B?QmJqem5oWG01UU1RTVUvZGM5aVFNZXJVMmZWYzJ0R1RrUHpNdmV0MmpEYlA0?= =?utf-8?B?dmV6N2VlbjNacW1QeFM4eWxCSTVlZkZsc3pXRGVMNmNLaDJhdTdhdGlncTZz?= =?utf-8?B?TXNlc2cxb3NJcG51MWR5ZHpIRDdVbDB0WjEvWHRTSzVaTzZOdWtqaTQ4djhN?= =?utf-8?B?cTBHNkxhK0lqcldtcVc4ZDRBTndQb0oxMW91RFVTZU1UZDhKV3NCQWhsakpo?= =?utf-8?B?NS9NeWhCVHNTQnpZTzREdjNtSFA3UHVzZzUzODdPMkpmY1laMUlsREFzQmVV?= =?utf-8?B?a1JRMDB4WklpSlVyU0ZVRDBwSTRjUG1SbWUveTlickJldG9hOGNQaUtWeUpX?= =?utf-8?B?NzNERzhNNzc4bzFlMHN2Ykl6WFE1L2VlZ0lzOEJmL1VGc29kanhqRk5Mb3Jy?= =?utf-8?B?SjBkR2UxUkNBZzJmTVA5TitIU3c2MlFlVXdwN0hHVFZwbytqeFc3U2d4S05n?= =?utf-8?B?azdOTFlFcmY3M0duYkFSYTQzWGFQRkVkMStEUm1LZUxGZVVrbkVWOUZtcTFN?= =?utf-8?B?c2NUbkgxMnJtQWtScDl3UlFxNlBCSkc2eEdWREtuS2hzMlRwVGJZQXZRUWhQ?= =?utf-8?B?anluRDNUejdpL1RKSFRvQjZOYmdVQXE1Slk0dlBCQmpFWHJoODhkdit2OWti?= =?utf-8?B?TEJzcTZOWGM3RGVRVHJ2cEE0T2tjbTdqSmJUTW5jeElDa1ZpOFhkQWJKcDZj?= =?utf-8?B?anJCd3c3THFQcmdCNjNHRWEzV1ZCZUxlZDhZbDhjMUxyWkNSbUZSVU9lUWxv?= =?utf-8?B?WmF3NFFJK29GempKcXo2MjdlaXQ1MmhBeG1ZTk1FbmNNUTBLaEMvYVg0WWFX?= =?utf-8?B?ZFJUeXN1MkIxVTk5QWZKdTROcTJoUHNrTU5lajVEUExzMnZEMm1wN1hlL2gx?= =?utf-8?B?UHdYTXNiWEc0cktjNXluc0djTWN5a1JwZW9iRzRDeUVpRmxrazY1cHA5aExz?= =?utf-8?B?dG1lTEZtUGZYbllkRFZsRk9XNk1NVFNKOGl5L1hMblA5VmhFTExrTGt5SFVz?= =?utf-8?B?SXNDYVducnFETHpxQTVqT0tXME93SERYV1crUUxvL2RYV1ltdjZlN1hpOElE?= =?utf-8?B?TXRFYkpWWGdJV2lVcVZCMlp2UG5tdU5VQ25jWVFkZTVSaFVmMXNOcmdCdTc0?= =?utf-8?B?QnVrdG90d1UwZFZXU05hNEY3cE1sSDBGYXhHR2NmSHJaMU9vSnNPeXZqelcz?= =?utf-8?B?aTNLNm1uZWhyNFFGYzM1Q2VnZExMbStYT2pjdnFmTkVENkI3bWJHZmEyV2NQ?= =?utf-8?B?TG15NTFodExidDhRUlVaS1hRYVNYNkhsNjc5NGR2bWxYekNWeFJMU0FsZVQv?= =?utf-8?B?R0E9PQ==?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8c500c79-e9ec-46ec-8fac-08dcb001259f X-MS-Exchange-CrossTenant-AuthSource: YT4PR01MB10341.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jul 2024 19:03:35.4374 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 59LOgxUhpQxm0uO+ORbU6fSa6McVXV+Dz5iiMwVMnwrk0RVj3DLaLJvRWaz4vjAEJlZEnmqKboK04iM18hsPEw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT3PR01MB8193 Subject: Re: [lttng-dev] Using lttng-ust 2.13.6 from Yocto Kirkstone and getting weird segfault saying strlen_asimd.S can't be found. X-BeenThere: lttng-dev@lists.lttng.org X-Mailman-Version: 2.1.39 Precedence: list List-Id: LTTng development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Kienan Stewart via lttng-dev Reply-To: Kienan Stewart Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" SGkgQnJpYW4sCgpPbiA3LzI1LzI0IDM6NTQgUE0sIEJyaWFuIEh1dGNoaW5zb24gd3JvdGU6Cj4g SGkgS2llbmFuLAo+IAo+IEknbGwgYW5zd2VyIHlvdXIgcXVlc3Rpb25zIGJlbG93LCBidXQgSSd2 ZSBnb3QgcXVlc3Rpb25zIG9uIHdoYXQgSSBzYXcKPiBidWlsZGluZyBhbmQgaW5zdGFsbGluZyBs dHRuZy10b29scyAoMi4xMy4xMykgYW5kIGx0dG5nLXVzdCAoMi4xMy44KS4KPiAKPiBCYXNlZCBv biB0aGUgc3RydWdnbGVzIEkndmUgaGFkIHRyeWluZyB0byBnZXQgbHR0bmcgdG8gd29yayB3aXRo IG15Cj4gYXBwIG92ZXIgdmFyaW91cyBZb2N0byB2ZXJzaW9ucyAoRHVuZmVsbCAmIEtpcmtzdG9u ZSkgYW5kIGx0dG5nCj4gdmVyc2lvbiwgSSB0aGluayB0aGUgcHJvYmxlbXMgSSdtIGZhY2luZyBh cmUgbW9zdGx5IGFyb3VuZCBDKysgYW5kCj4gd2VhayBhbmQgaGlkZGVuIHN5bWJvbHMgaW4gWW9j dG8gdG9vbGNoYWluLgo+IAo+IFdoZW4gSSBzdGFydGVkIG15IGFwcCB3aXRoIHRoZSBvcHRpb25z IHlvdSBtZW50aW9uZWQgcHJldmlvdXNseSBhCj4gd2hpbGUgYmFjaywgSWQgc2VlIHRoaW5ncyBs aWtlOgo+IAo+ICMgTFRUTkdfVVNUX0RFQlVHPTEgTFRUTkdfVVNUX1JFR0lTVEVSX1RJTUVPVVQ9 LTEgL29wdC90Yy9UcmFmZmljQ29udHJvbGxlcgo+IGxpYmx0dG5nX3VzdF90cmFjZXBvaW50WzQw MTIvNDAxMl06IFlvdXIgY29tcGlsZXIgdHJlYXRzIHdlYWsgc3ltYm9scwo+IHdpdGggaGlkZGVu IHZpc2liaWxpdHkgZm9yIGludGVnZXIgb2JqZWN0cyBhcyBTQU1FIGFkZHJlc3MgYmV0d2Vlbgo+ IGNvbXBpbGUgdW5pdHMgcGFydCBvZiB0aGUgc2FtZSBtb2R1bGUuIChpbiBjaGVja193ZWFrX2hp ZGRlbigpIGF0Cj4gdHJhY2Vwb2ludC5jOjEwMTIpCj4gbGlibHR0bmdfdXN0X3RyYWNlcG9pbnRb NDAxMi80MDEyXTogWW91ciBjb21waWxlciB0cmVhdHMgd2VhayBzeW1ib2xzCj4gd2l0aCBoaWRk ZW4gdmlzaWJpbGl0eSBmb3IgcG9pbnRlciBvYmplY3RzIGFzIFNBTUUgYWRkcmVzcyBiZXR3ZWVu Cj4gY29tcGlsZSB1bml0cyBwYXJ0IG9mIHRoZSBzYW1lIG1vZHVsZS4gKGluIGNoZWNrX3dlYWtf aGlkZGVuKCkgYXQKPiB0cmFjZXBvaW50LmM6MTAxNikKPiBsaWJsdHRuZ191c3RfdHJhY2Vwb2lu dFs0MDEyLzQwMTJdOiBZb3VyIGNvbXBpbGVyIHRyZWF0cyB3ZWFrIHN5bWJvbHMKPiB3aXRoIGhp ZGRlbiB2aXNpYmlsaXR5IGZvciAyNC1ieXRlIHN0cnVjdHVyZSBvYmplY3RzIGFzIFNBTUUgYWRk cmVzcwo+IGJldHdlZW4gY29tcGlsZSB1bml0cyBwYXJ0IG9mIHRoZSBzYW1lIG1vZHVsZS4gKGlu IGNoZWNrX3dlYWtfaGlkZGVuKCkKPiBhdCB0cmFjZXBvaW50LmM6MTAyMCkKPiAKClRoZXNlIG1l c3NhZ2VzIGFyZSBleHRyYSBpbmZvcm1hdGlvbiBmb3IgZGVidWdnaW5nIGFuZCBub3QgaW5kaWNh dGl2ZSBvZiAKYSBwcm9ibGVtIGluIG9mIGl0c2VsZi4gQy5mLiAKaHR0cHM6Ly9naXRodWIuY29t L2x0dG5nL2x0dG5nLXVzdC9ibG9iLzI0ZjcxOTNjOWI5MThiZjcxNGE0MGU5ZmM5MDhlZWI0OTc4 YWRhMWMvc3JjL2xpYi9sdHRuZy11c3QtdHJhY2Vwb2ludC90cmFjZXBvaW50LmMjTDEwMTAKClRo ZXJlIGlzIGEgdW5pdCB0ZXN0IHJlbGF0ZWQgdG8gdGhpczogCmh0dHBzOi8vZ2l0aHViLmNvbS9s dHRuZy9sdHRuZy11c3QvYmxvYi8yNGY3MTkzYzliOTE4YmY3MTRhNDBlOWZjOTA4ZWViNDk3OGFk YTFjL3Rlc3RzL3VuaXQvZ2NjLXdlYWstaGlkZGVuL21haW4uYyNMNzYKCgo+IEkgZnVydGhlciBy ZXNlYXJjaGVkIHRoaXMgd2hvbGUgJ3dlYWsgc3ltYm9sJyBhbmQgJ2hpZGRlbiB2aXNpYmlsaXR5 Jwo+IHRvcGljIGluIHRoZSBsdHRuZy1kZXYgYXJjaGl2ZXMgYW5kIGl0IHNtZWxscyBhIGxvdCBs aWtlIHdoYXQgSSd2ZQo+IGJlZW4gc2VlaW5nLiAgWW91IHNob3VsZCBiZSBhYmxlIHRvIG1peCBi b3RoIHRyYWNlZiBhbmQgdHJhY2Vwb2ludAo+IGNhbGxzIGluIHNvdWNlIGNvZGUgLi4uIGJ1dCBJ IGNvdWxkIG5vdC4gIEkgY291bGQgZ2V0IGEgdHJhY2VmIGNhbGwgdG8KPiB3b3JrIGJ1dCBpZiBJ IHB1dCBhIHRyYWNlcG9pbnQgY2FsbCBpbiB0aGUgc2FtZSBjb2RlIHRoZW4gbm90aGluZwo+IHdv dWxkIHdvcmsuICBUaGlzIHdhcyB3aXRoIER1bmZlbGwgMy4xLjcgYW5kIGVhcmxpZXIgdmVyc2lv bnMgb2YKPiBsdHRuZy4KPiAKPiBBdCBvbmUgcG9pbnQgSSBjb3VsZCBnZXQgYSB0cmFjZXBvaW50 IGNhbGwgdG8gd29yayBidXQgSSdkIGhhdmUgdG8gbGV0Cj4gb3VyIGNtYWtlIGJ1aWxkIHN5c3Rl bSBidWlsZCBhbmQgbGluayB0aGUgdHBwLmMgZmlsZSBhbmQgdGhlbiB0dXJuCj4gYXJvdW5kIGFu ZCB1c2UgZ2NjIHRvIHJlY29tcGlsZSBpdCBhbmQgY29weSBpdCB0byB3aGVyZSBhbGwgdGhlCj4g b2JqZWN0cyB3ZXJlIHRvIGNyZWF0ZSB0aGUgaHVnZSAuYSBsaWJyYXJ5IHRoZSBhcHAgd2FzIGJ1 aWx0IGFnYWluc3QuCj4gVGhhdCdzIHdoZW4gSSBmaXJzdCBsZWFybmVkIHRoZXJlIGFyZSBpc3N1 ZXMgd2l0aCBDKysuICBJIHRoaW5rIGcrKyBpcwo+IHVzZWQgdG8gYnVpbGQgZXZlbiAuYyBmaWxl cyB0aGF0IGFyZW4ndCBjKysuCj4gCj4gVGhlbiBpZiBJIHRyaWVkIHRvIHB1dCBhIHRyYWNlcG9p bnQgaW4gYW5vdGhlciBzdWIgcHJvamVjdCwgbm9uZSBvZgo+IHRoZSB0cmFjZXBvaW50cyB3b3Vs ZCB3b3JrIGFuZCBJJ2QgZ2V0IGVtcHR5IHRyYWNlcy4gIFRoaXMgaXMgYQo+IHN5bXB0b20gb2Yg dGhlICd3ZWFrIHN5bWJvbHMgd2l0aCBoaWRkZW4gdmlzaWJpbGl0eScgaXNzdWUgLi4uIGFuZCBJ Cj4gZmluYWxseSBmb3VuZCBvdGhlcnMgdGhhdCB3ZXJlIGhhdmluZyBzYW1lIGlzc3VlIGluIHRo ZSBhcmNoaXZlcy4gIEkKPiBkb24ndCBmdWxseSB1bmRlcnN0YW5kIHRoZSBpc3N1ZXMgaGVyZSwg YWx0aG91Z2ggSSBkbyB1bmRlcnN0YW5kIHNvbWUKPiBvZiB3aGF0J3MgZ29pbmcgb24gLi4uIEkg anVzdCBkb24ndCBrbm93IHdoYXQgdG8gZG8gYWJvdXQgaXQuCj4gCgpZb3Ugc2FpZCBpbml0aWFs bHkgc2FpZCB0aGF0IHlvdSdyZSB1c2luZyBgbHR0bmdfdXN0X3RyYWNlcG9pbnRgIGV4YWN0bHkg CmFzIHRoZSBoZWxsbyB3b3JsZCBmcm9tIHRoZSBkb2N1bWVudGF0aW9uOyBob3dldmVyLCB5b3Ug aGF2ZSBqdXN0IApkZXNjcmliZWQgc2V2ZXJhbCBhdHRlbXB0cyBhdCBkb2luZyBkaWZmZXJlbnQg dGhpbmdzLiBXaGljaCBjYXNlIGFyZSB3ZSAKdHJ5aW5nIHRvIHVuZGVyc3RhbmQgaGVyZT8KCj4g QXQgdGhpcyBwb2ludCBJIHdhcyBiZWluZyBlbmNvdXJhZ2VkIHRvIGtlZXAgdXBncmFkaW5nIHRv IG5ld2VyCj4gdmVyc2lvbnMgb2YgbHR0bmcuICBPdXIgYXBwIG5ldmVyIGNoYW5nZWQsIGdjYyAm IGx0dG5nIGV0Yy4sIGtlcHQKPiBjaGFuZ2luZy4gIE5vdyB3aXRoIG5ld2VyIHZlcnNpb25zIG5v dGhpbmcgcnVucywgYWxsIEkgZ2V0IGlzIGFuCj4gaW1tZWRpYXRlIHNlZ2ZhdWx0LiAgQWdhaW4s IEknbSBidWlsZGluZyBqdXN0IGxpa2UgSSBkaWQgYmVmb3JlIGEgeWVhcgo+IG9yIHNvIGFnbyB3 aXRoIG9sZGVyIHZlcnNpb25zIG9mIFlvY3RvIGFuZCBsdHRuZy4gIEkgc2F5IGFsbCBvZiB0aGF0 Cj4gdG8gZ2l2ZSBwZXJzcGVjdGl2ZSBhbmQgaGlzdG9yeSBvZiB3aGF0IEkndmUgc2VlbiBhbmQg ZXhwZXJpZW5jZWQuCj4gTm93IHRoaXMgVExTIHRoaW5nIGhhcyBlbnRlcmVkIHRoZSBwaWN0dXJl IHRvbyBhbmQgc28gZmFyIEkndmUgb25seQo+IGNoYW5nZWQgbHR0bmcsIEkgZG9uJ3Qga25vdyBp ZiBJIHNob3VsZCBiZSBhcHBseWluZyBwYXRjaGVzIHRvIG15IGdjYwo+IGZvciB0aGF0IGlzc3Vl LiAgTGlrZSBJIHNhaWQsIEknbSBjdXJyZW50bHkgdXNpbmcgWW9jdG8gS2lya3N0b25lCj4gNC4w LjE4IGFuZCA2LjEuMzgga2VybmVsLgo+IAo+IE5vdyBJJ2xsIG1vdmUgaW50byB0aGUgYXJlYSBv ZiB0aGluZ3MgSSd2ZSBzZWVuIGJ1aWxkaW5nL2luc3RhbGxpbmcKPiBsdHRuZy10b29scyBhbmQg bHR0bmctdXN0IG5hdGl2ZWx5IG9uIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQgSSd2ZQo+IHNldHVw IHdoZXJlIEkgY2FuIHJ1biAnbWFrZSBjaGVjaycgZXRjLiAgVGhlc2UgYXJlIGluIHRoZSBjYXRl Z29yeSBvZgo+ICJoZXksIGlzIHRoaXMgb2ssIHNob3VsZCBJIGJlIHdvcnJpZWQgYWJvdXQgdGhp cyI6Cj4gCj4gV2hpbGUgYnVpbGRpbmcgbHR0bmctdG9vbHMgSSBzZWUgdGhpbmdzIGxpa2U6Cj4g Cj4gKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIGV4ZWN1dGFibGUgdXNlcnNwYWNlLXByb2JlLWVs Zi1iaW5hcnkgYWdhaW5zdAo+IHRoZSBsb2FkYWJsZSBtb2R1bGUKPiAqKiogbGliZm9vLnNvIGlz IG5vdCBwb3J0YWJsZSEKPiAKClRoZSBsaWJyYXJ5IGlzIGZvciBhIHRlc3QgcHJvZ3JhbS4gTXkg dW5kZXJzdGFuZGluZyBpcyB0aGF0IHRoZSBsaWJyYXJ5IAppcyBjb21waWxlZCB0aGF0IHdheSB0 byBmb3JjZSBhIHN0cmlwcGVkIHNoYXJlZCBvYmplY3QgdG8gYmUgcHJvZHVjZWQgaW4gCm9yZGVy IHRvIHZhbGlkYXRlIHRoYXQgc3ltYm9sIGxvb2t1cHMgaW4gbGlicmFyaWVzIHdpdGggbm8gc3lt dGFiIApmdW5jdGlvbiBhcyBleHBlY3RlZCBieSB1c2luZyB0aGUgZHluc3ltIHRhYmxlLgoKQy5m LiAKaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLXRvb2xzL2NvbW1pdC9lZjNkZmU1ZDMx Yzg4ZmI1NDgxODlhNjQ0MWFhZjhiMmFmYzBiZDRiCgo+IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAu Li8uLi8uLi9zcmMvY29tbW9uL21hY3Jvcy5oOjE1LAo+ICAgICAgICAgICAgICAgICAgZnJvbSAu Li8uLi8uLi9pbmNsdWRlL2x0dG5nL2hlYWx0aC1pbnRlcm5hbC5oOjE5LAo+ICAgICAgICAgICAg ICAgICAgZnJvbSBsdHRuZy1jdGwtaGVhbHRoLmM6MTk6Cj4gSW4gZnVuY3Rpb24gJ2x0dG5nX3N0 cm5sZW4nLAo+ICAgICBpbmxpbmVkIGZyb20gJ2x0dG5nX3N0cm5jcHknIGF0IC4uLy4uLy4uL3Ny Yy9jb21tb24vbWFjcm9zLmg6MTI4OjYsCj4gICAgIGlubGluZWQgZnJvbSAnc2V0X2hlYWx0aF9z b2NrZXRfcGF0aCcgYXQgbHR0bmctY3RsLWhlYWx0aC5jOjE0Njo5LAo+ICAgICBpbmxpbmVkIGZy b20gJ2x0dG5nX2hlYWx0aF9xdWVyeScgYXQgbHR0bmctY3RsLWhlYWx0aC5jOjI2NDo4Ogo+IC4u Ly4uLy4uL3NyYy9jb21tb24vY29tcGF0L3N0cmluZy5oOjE5OjE2OiB3YXJuaW5nOiAnc3Rybmxl bicKPiBzcGVjaWZpZWQgYm91bmQgNDA5NiBtYXkgZXhjZWVkIHNvdXJjZSBzaXplIDM3IFstV3N0 cmluZ29wLW92ZXJyZWFkXQo+ICAgIDE5IHwgICAgICAgICByZXR1cm4gc3RybmxlbihzdHIsIG1h eCk7Cj4gICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgo+IGx0dG5nLWN0 bC1oZWFsdGguYzogQXQgdG9wIGxldmVsOgo+IGNjMTogbm90ZTogdW5yZWNvZ25pemVkIGNvbW1h bmQtbGluZSBvcHRpb24KPiAnLVduby1pbmNvbXBsZXRlLXNldGptcC1kZWNsYXJhdGlvbicgbWF5 IGhhdmUgYmVlbiBpbnRlbmRlZCB0byBzaWxlbmNlCj4gZWFybGllciBkaWFnbm9zdGljcwoKVGhp cyB3YXJuaW5nIGlzIGFkZHJlc3NlZCBpbiAKaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5n LXRvb2xzL2NvbW1pdC9iMjVhNTk5MTYxMDZlNTA1NWJlNTE2ZjYxZjE4M2E0OGY0NTliMGIzCgo+ ICoqIFdhcm5pbmc6IExpbmtpbmcgdGhlIHNoYXJlZCBsaWJyYXJ5IGxpYmJhci5sYSBhZ2FpbnN0 IHRoZSBsb2FkYWJsZSBtb2R1bGUKPiAqKiogbGlienp6LnNvIGlzIG5vdCBwb3J0YWJsZSEKPiAK PiAqKiogV2FybmluZzogTGlua2luZyB0aGUgc2hhcmVkIGxpYnJhcnkgbGliZm9vLmxhIGFnYWlu c3QgdGhlIGxvYWRhYmxlIG1vZHVsZQo+ICoqKiBsaWJiYXIuc28gaXMgbm90IHBvcnRhYmxlIQo+ IAo+IFdoaWxlIGluc3RhbGxpbmcgbHR0bmctdG9vbHMgSSBzZWUgdGhpbmdzIGxpa2UgdGhpczoK PiAKPiBtYWtlWzRdOiBFbnRlcmluZyBkaXJlY3RvcnkgJy9vcHQvbHR0bmcvbHR0bmctdG9vbHMt Mi4xMy4xMy9zcmMvbGliL2x0dG5nLWN0bCcKPiAgIENDICAgICAgIGx0dG5nLWN0bC5sbwo+ICAg Q0MgICAgICAgc25hcHNob3QubG8KPiAgIENDICAgICAgIGx0dG5nLWN0bC1oZWFsdGgubG8KPiBJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vc3JjL2NvbW1vbi9tYWNyb3MuaDoxNSwKPiAg ICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vLi4vaW5jbHVkZS9sdHRuZy9oZWFsdGgtaW50ZXJu YWwuaDoxOSwKPiAgICAgICAgICAgICAgICAgIGZyb20gbHR0bmctY3RsLWhlYWx0aC5jOjE5Ogo+ IEluIGZ1bmN0aW9uICdsdHRuZ19zdHJubGVuJywKPiAgICAgaW5saW5lZCBmcm9tICdsdHRuZ19z dHJuY3B5JyBhdCAuLi8uLi8uLi9zcmMvY29tbW9uL21hY3Jvcy5oOjEyODo2LAo+ICAgICBpbmxp bmVkIGZyb20gJ3NldF9oZWFsdGhfc29ja2V0X3BhdGgnIGF0IGx0dG5nLWN0bC1oZWFsdGguYzox NDY6OSwKPiAgICAgaW5saW5lZCBmcm9tICdsdHRuZ19oZWFsdGhfcXVlcnknIGF0IGx0dG5nLWN0 bC1oZWFsdGguYzoyNjQ6ODoKPiAuLi8uLi8uLi9zcmMvY29tbW9uL2NvbXBhdC9zdHJpbmcuaDox OToxNjogd2FybmluZzogJ3N0cm5sZW4nCj4gc3BlY2lmaWVkIGJvdW5kIDQwOTYgbWF5IGV4Y2Vl ZCBzb3VyY2Ugc2l6ZSAzNyBbLVdzdHJpbmdvcC1vdmVycmVhZF0KPiAgICAxOSB8ICAgICAgICAg cmV0dXJuIHN0cm5sZW4oc3RyLCBtYXgpOwo+ICAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn4KPiBsdHRuZy1jdGwtaGVhbHRoLmM6IEF0IHRvcCBsZXZlbDoKPiBjYzE6IG5v dGU6IHVucmVjb2duaXplZCBjb21tYW5kLWxpbmUgb3B0aW9uCj4gJy1Xbm8taW5jb21wbGV0ZS1z ZXRqbXAtZGVjbGFyYXRpb24nIG1heSBoYXZlIGJlZW4gaW50ZW5kZWQgdG8gc2lsZW5jZQo+IGVh cmxpZXIgZGlhZ25vc3RpY3MKPiAKPiBNYWtpbmcgaW5zdGFsbCBpbiB0cmlnZ2VyLWNvbmRpdGlv bi1ldmVudC1tYXRjaGVzCj4gbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5Cj4gJy9vcHQvbHR0 bmcvbHR0bmctdG9vbHMtMi4xMy4xMy9kb2MvZXhhbXBsZXMvdHJpZ2dlci1jb25kaXRpb24tZXZl bnQtbWF0Y2hlcycKPiAgIENDICAgICAgIGluc3RydW1lbnRlZC1hcHAubwo+ICAgQ0MgICAgICAg dHJhY2Vwb2ludC10cmlnZ2VyLWV4YW1wbGUubwo+ICAgQVIgICAgICAgbGlidHJhY2Vwb2ludC10 cmlnZ2VyLWV4YW1wbGUuYQo+IGFyOiBgdScgbW9kaWZpZXIgaWdub3JlZCBzaW5jZSBgRCcgaXMg dGhlIGRlZmF1bHQgKHNlZSBgVScpCj4gCj4gV2hpbGUgYnVpbGRpbmcgbHR0bmctdXN0IEkgc2Vl IHRoaW5ncyBsaWtlOgo+IAo+IE1ha2luZyBhbGwgaW4gdXRpbHMKPiBtYWtlWzJdOiBFbnRlcmlu ZyBkaXJlY3RvcnkKPiAnL2hvbWUvaWFkbWluL2x0dG5nLXVzdC9sdHRuZy11c3QtMi4xMy44L3Rl c3RzL3V0aWxzJwo+ICAgQ0MgICAgICAgdGFwLm8KPiAgIEFSICAgICAgIGxpYnRhcC5hCj4gYXI6 IGB1JyBtb2RpZmllciBpZ25vcmVkIHNpbmNlIGBEJyBpcyB0aGUgZGVmYXVsdCAoc2VlIGBVJykK PiAKCldoaWxlIGxpYnRvb2wgbm93IHVzZXMgYGNyYCBieSBkZWZhdWx0LCBhdXRvbWFrZSBzdGls bCBkZWZpbmVzIHRoZSAKZGVmYXVsdCB0byBgY3J1YCB3aGljaCBpcyB3aGF0IGVuZHMgdXAgZ2V0 dGluZyB1c2VkIGluIHRoZSBleGFtcGxlLiAKU2luY2UgbWFueSBkaXN0cm9zIGhhdmUgY2hhbmdl ZCB0aGUgY29uZmlndXJhdGlvbiBvZiBhciBzdWNoIHRoYXQgJ0QnIGlzIAp0aGUgZGVmYXVsdCBy YXRoZXIgdGhhbiB0aGUgcHJldmlvdXMgYmVoYXZpb3VyICdVJywgJ3UnIGlzIHJlZHVuZGFudC4K ClRoZSBiZWhhdmlvdXIgaW4gYXV0b21ha2UgaGFzIGJlZW4gY2hhbmdlZCBpbiBhdXRvbWFrZSAx LjE2LjkwKy4KCkMuZi4gCmh0dHBzOi8vZ2l0aHViLmNvbS9hdXRvdG9vbHMtbWlycm9yL2xpYnRv b2wvY29tbWl0LzQxODEyOWJjNjNhZmMzMTI3MDFlODRjYjhhZmE1Y2E0MTNkZjFhYjUKCkMuZi4g Cmh0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9jZ2l0L2F1dG9tYWtlLmdpdC9jb21taXQvP2lk PThjZGJkZGE1YWVjNjUyYzM1NmZlNmRiYmE5NjgxMDIwMjE3NmFlNzUKCj4gKioqIFdhcm5pbmc6 IExpbmtpbmcgdGhlIHNoYXJlZCBsaWJyYXJ5IGxpYnplcm8ubGEgYWdhaW5zdCB0aGUKPiBsb2Fk YWJsZSBtb2R1bGUKPiAqKiogbGliZmFrZXVzdDAuc28gaXMgbm90IHBvcnRhYmxlIQo+ICAgQ0NM RCAgICAgYXBwX25vdXN0X2luZGlyZWN0X2FiaTAKPiAKPiAqKiogV2FybmluZzogTGlua2luZyB0 aGUgZXhlY3V0YWJsZSBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMCBhZ2FpbnN0Cj4gdGhlIGxvYWRh YmxlIG1vZHVsZQo+ICoqKiBsaWJ6ZXJvLnNvIGlzIG5vdCBwb3J0YWJsZSEKPiAgIENDICAgICAg IGFwcF9ub3VzdF9pbmRpcmVjdF9hYmkwX2FiaTEtYXBwX25vdXN0Lm8KPiAgIENDICAgICAgIGxp Ym9uZS5sbwo+ICAgQ0NMRCAgICAgbGlib25lLmxhCj4gICBDQ0xEICAgICBhcHBfbm91c3RfaW5k aXJlY3RfYWJpMF9hYmkxCj4gCj4gKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIGV4ZWN1dGFibGUg YXBwX25vdXN0X2luZGlyZWN0X2FiaTBfYWJpMQo+IGFnYWluc3QgdGhlIGxvYWRhYmxlIG1vZHVs ZQo+ICoqKiBsaWJ6ZXJvLnNvIGlzIG5vdCBwb3J0YWJsZSEKPiAKPiAqKiogV2FybmluZzogTGlu a2luZyB0aGUgZXhlY3V0YWJsZSBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMF9hYmkxCj4gYWdhaW5z dCB0aGUgbG9hZGFibGUgbW9kdWxlCj4gKioqIGxpYm9uZS5zbyBpcyBub3QgcG9ydGFibGUhCj4g ICBDQyAgICAgICBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMS1hcHBfbm91c3Qubwo+ICAgQ0NMRCAg ICAgYXBwX25vdXN0X2luZGlyZWN0X2FiaTEKPiAKPiAqKiogV2FybmluZzogTGlua2luZyB0aGUg ZXhlY3V0YWJsZSBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMF9hYmkxCj4gYWdhaW5zdCB0aGUgbG9h ZGFibGUgbW9kdWxlCj4gKioqIGxpYm9uZS5zbyBpcyBub3QgcG9ydGFibGUhCj4gICBDQyAgICAg ICBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMS1hcHBfbm91c3Qubwo+ICAgQ0NMRCAgICAgYXBwX25v dXN0X2luZGlyZWN0X2FiaTEKPiAKPiAqKiogV2FybmluZzogTGlua2luZyB0aGUgZXhlY3V0YWJs ZSBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMSBhZ2FpbnN0Cj4gdGhlIGxvYWRhYmxlIG1vZHVsZQo+ ICoqKiBsaWJvbmUuc28gaXMgbm90IHBvcnRhYmxlIQo+ICAgQ0MgICAgICAgYXBwX3VzdC5vCj4g ICBDQyAgICAgICB0cC5vCj4gICBDQ0xEICAgICBhcHBfdXN0Cj4gICBDQyAgICAgICBhcHBfdXN0 X2Rsb3Blbi5vCj4gICBDQ0xEICAgICBhcHBfdXN0X2Rsb3Blbgo+ICAgQ0MgICAgICAgYXBwX3Vz dF9pbmRpcmVjdF9hYmkwLWFwcF91c3Qubwo+ICAgQ0MgICAgICAgYXBwX3VzdF9pbmRpcmVjdF9h YmkwLXRwLm8KPiAgIENDTEQgICAgIGFwcF91c3RfaW5kaXJlY3RfYWJpMAo+IAo+ICoqKiBXYXJu aW5nOiBMaW5raW5nIHRoZSBleGVjdXRhYmxlIGFwcF91c3RfaW5kaXJlY3RfYWJpMCBhZ2FpbnN0 IHRoZQo+IGxvYWRhYmxlIG1vZHVsZQo+ICoqKiBsaWJ6ZXJvLnNvIGlzIG5vdCBwb3J0YWJsZSEK PiAgIENDICAgICAgIGFwcF91c3RfaW5kaXJlY3RfYWJpMF9hYmkxLWFwcF91c3Qubwo+ICAgQ0Mg ICAgICAgYXBwX3VzdF9pbmRpcmVjdF9hYmkwX2FiaTEtdHAubwo+ICAgQ0NMRCAgICAgYXBwX3Vz dF9pbmRpcmVjdF9hYmkwX2FiaTEKPiAKPiAqKiogV2FybmluZzogTGlua2luZyB0aGUgZXhlY3V0 YWJsZSBhcHBfdXN0X2luZGlyZWN0X2FiaTBfYWJpMSBhZ2FpbnN0Cj4gdGhlIGxvYWRhYmxlIG1v ZHVsZQo+ICoqKiBsaWJ6ZXJvLnNvIGlzIG5vdCBwb3J0YWJsZSEKPiAKPiBJIGRvbid0IGtub3cg aWYgdGhlc2UgYXJlIG9rIG9yIGlmIEkgc2hvdWxkIGJlIHdvcnJpZWQgYWJvdXQgYW55IG9mIHRo YXQuCj4gCgpUaGVzZSBhcmUgYWxsIGZvciBkaWZmZXJlbnQgdGVzdHMuCgo+IC4uLiBub3cgb24g dG8geW91ciBxdWVzdGlvbnMgYmVsb3cuCj4gCj4gCj4gCj4gT24gV2VkLCBKdWwgMjQsIDIwMjQg YXQgMTI6MDTigK9QTSBLaWVuYW4gU3Rld2FydCA8a3N0ZXdhcnRAZWZmaWNpb3MuY29tPiB3cm90 ZToKPj4KPj4gSGkgQnJpYW4sCj4+Cj4+IE9uIDcvMjIvMjQgNjowMCBQTSwgQnJpYW4gSHV0Y2hp bnNvbiB3cm90ZToKPj4+IEhpIEtpZW5hbiwKPj4+Cj4+PiBUb29rIGEgd2hpbGUgdG8gZ2F0aGVy IHlvdXIgZ3JvY2VyeSBsaXN0IGJ1dCBJIHRoaW5rIEkgaGF2ZSBtb3N0IG9mIGl0Cj4+PiBiZWxv dyA7KQo+Pgo+PiB0aGFua3MgZm9yIGFsbCB0aGUgZXh0cmEgaW5mby4gUmVwbGllcyBpbmxpbmUg YmVsb3csIGJ1dCBJJ2xsIGN1dCBhIGxvdAo+PiBvZiB0aGUgbG9uZyBvdXRwdXQgZm9yIHJlYWRh YmlsaXR5Lgo+Pgo+PiB0bDtkciB0aGUgZW52aXJvbm1lbnQgY29udGludWVzIHRvIGJlIHdlaXJk LCBidXQgbXkgcHJlc2VudCBzdXNwaWNpb24gaXMKPj4gdGhhdCBzb21ldGhpbmcgaW4gZWl0aGVy IGNvbXBpbGF0aW9uLCB0aGUgbGlua2luZyBvZiB5b3VyIGFwcCAoZWcuIHdpdGgKPj4gbGQgd2hl biBwcm9kdWNpbmcgdGhlIGV4ZWN1dGFibGUpLCBvciBzb21lIHBvc3QgbGlua2luZyBzdHJpcHBp bmcgbWlnaHQKPj4gYmUgY2F1c2luZyBpc3N1ZXMuCj4gCj4gSSdtIG5vdCBhd2FyZSBvZiBhbnkg c3RyaXBwaW5nIHRoYXQncyBnb2luZyBvbi4gIEluIGZhY3QgZXZlcnl0aGluZyBpcwo+IGJlaW5n IGJ1aWx0IHdpdGggZGVidWcgc3ltYm9scyBhdCB0aGUgbW9tZW50IGFuZCBJIGV2ZW4gdHVybmVk IG9mZgo+IG9wdGltaXphdGlvbiAuLi4gZXZlbiB1c2VkIHRoZSBkZWJ1ZyBmcmllbmRseSAtTyBm bGFnIHRvIHNlZSBpZiB0aGF0Cj4gbWFkZSBhIGRpZmZlcmVuY2UuCj4gCj4+Cj4+IEkgd2lsbCBz dG9wIGRpZ2dpbmcgaW50byBmdXJ0aGVyIGh5cG90aGV0aWNhbHMgb24gbXkgc2lkZSBhcyB0aGVy ZSBpcyBubwo+PiByZXByb2R1Y2VyIGZvciBib3RoIHRoZSBlbnZpcm9ubWVudCBhbmQgdGhlIGFw cGxpY2F0aW9uLiBJZiB5b3UgZXZlciBlbmQKPj4gdXAgd2l0aCBhIG1pbmltYWwgcmVwcm9kdWNl ciB0aGF0IHlvdSBjYW4gc2hhcmUsIEknZCBiZSBtb3JlIHRoYW4gaGFwcHkKPj4gdG8gZXhhbWlu ZSBpdC4KPiAKPiBJJ20gcGxhbm5pbmcgb24gdHJ5aW5nIHRvIG1ha2UgYSBzbWFsbCByZXByb2R1 Y2VyIEkgY2FuIHNoYXJlIGJ1dCBub3QgdGhlcmUgeWV0Lgo+IAoKR3JlYXQhIEkgYXBwcmVjaWF0 ZSB0aGF0IHlvdSdyZSB0YWtpbmcgdGhlIHRpbWUgdG8gZG8gc28uCgo+Pgo+Pj4KPj4+IEkgbWF5 IGhhdmUgbm90IGJlZW4gY2xlYXIuICBNb3N0IG9mIHRoZSBhcHBsaWNhdGlvbiBjb21wb25lbnRz IGFyZQo+Pj4gc3RhdGljYWxseSBsaW5rZWQgYnV0IEkgdGhpbmsgdGhlcmUgYXJlIHNvbWUgdGhh dCBhcmUgYnVpbHQgYXMgc2hhcmVkCj4+PiBvYmplY3RzICguc28ncykgc28gdGhhdCdzIHdoYXQg SSB3YXMgcmVmZXJyaW5nIHRvLiAgSSBrbm93IHRoYXQKPj4+IGx0dG5nLXVzdCBpcyBkeW5hbWlj YWxseSBsaW5rZWQgLi4uIEkgdGhpbmsgdGhlIGx0dG5nLXVzdCBkb2NzIHNheSB0aGlzCj4+PiBp cyBvbmx5IG9wdGlvbiBidXQgYWxzbyBtYWtlcyByZWZlcmVuY2UgdG8gdGhlIGZhY3Qgc3RhdGlj IGxpbmtpbmcgd2FzCj4+PiBvbmNlIHBvc3NpYmxlIChpbiBzb21lIHZlcnNpb25zIG9mIHRoZSBk b2N1bWVudGF0aW9uKSBidXQgbm90IHN1cHBvcnRlZAo+Pj4gYW55bW9yZSAoSSBwcm9iYWJseSBo YXZlIHRoZSBkb2NzIG1lbW9yaXplZCBieSBub3cgaGEsIGhhIC4uLiBJJ3ZlCj4+PiBsb29rZWQg YXQgbWFueSwgbWFueSB2ZXJzaW9ucyBvZiB0aGVtKS4KPj4+Cj4+PiBKdXN0IGZvciBmdWxsIGRp c2Nsb3N1cmUgbXkgbGRkIGxvb2tzIGxpa2U6Cj4+Pgo+Pj4gICAgICAgICAgbGludXgtdmRzby5z by4xICgweDAwMDBmZmZmYWIxOTYwMDApCj4+PiAgICAgICAgICBsaWJmY2dpLnNvLjAgPT4gL3Vz ci9saWIvbGliZmNnaS5zby4wICgweDAwMDBmZmZmYTU3ZjAwMDApCj4+PiAgICAgICAgICBsaWJs dHRuZy11c3Quc28uMSA9PiAvdXNyL2xpYi9saWJsdHRuZy11c3Quc28uMQo+Pj4gKDB4MDAwMGZm ZmZhNTc1MDAwMCkKPj4+ICAgICAgICAgIGxpYnhtbDIuc28uMiA9PiAvdXNyL2xpYi9saWJ4bWwy LnNvLjIgKDB4MDAwMGZmZmZhNTVkMDAwMCkKPj4+ICAgICAgICAgIGxpYnJ0LnNvLjEgPT4gL2xp Yi9saWJydC5zby4xICgweDAwMDBmZmZmYTU1YjAwMDApCj4+PiAgICAgICAgICBsaWJtLnNvLjYg PT4gL2xpYi9saWJtLnNvLjYgKDB4MDAwMGZmZmZhNTUxMDAwMCkKPj4+ICAgICAgICAgIGxpYnN0 ZGMrKy5zby42ID0+IC91c3IvbGliL2xpYnN0ZGMrKy5zby42ICgweDAwMDBmZmZmYTUyZjAwMDAp Cj4+PiAgICAgICAgICBsaWJnY2Nfcy5zby4xID0+IC9saWIvbGliZ2NjX3Muc28uMSAoMHgwMDAw ZmZmZmE1MmMwMDAwKQo+Pj4gICAgICAgICAgbGliYy5zby42ID0+IC9saWIvbGliYy5zby42ICgw eDAwMDBmZmZmYTUxMTAwMDApCj4+PiAgICAgICAgICAvbGliL2xkLWxpbnV4LWFhcmNoNjQuc28u MSAoMHgwMDAwZmZmZmFiMTVkMDAwKQo+Pj4gICAgICAgICAgbGlibHR0bmctdXN0LWNvbW1vbi5z by4xID0+Cj4+PiAvdXNyL2xvY2FsL2xpYi9saWJsdHRuZy11c3QtY29tbW9uLnNvLjEgKDB4MDAw MGZmZmZhNTBlMDAwMCkKPj4+ICAgICAgICAgIGxpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEg PT4KPj4+IC91c3IvbG9jYWwvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEgKDB4MDAw MGZmZmZhNTBhMDAwMCkKPj4+ICAgICAgICAgIGxpYnB0aHJlYWQuc28uMCA9PiAvbGliL2xpYnB0 aHJlYWQuc28uMCAoMHgwMDAwZmZmZmE1MDgwMDAwKQo+Pj4gICAgICAgICAgbGliei5zby4xID0+ IC9saWIvbGliei5zby4xICgweDAwMDBmZmZmYTUwNTAwMDApCj4+Pgo+Pj4KPj4KPj4gSSBmaW5k IGl0IHZlcnkgc3VzcGljaW91cyB0aGF0IGBsaWJsdHRuZy11c3Quc28uMWAgaXMgaW4gYC91c3Iv bGliYCwKPj4gd2hpbGUgdGhlIG90aGVyIGx0dG5nLXVzdCBsaWJyYXJpZXMgYXJlIGJlaW5nIGxv YWRlZCBmcm9tIGAvdXNyL2xvY2FsL2xpYmAuCj4gCj4gU28gWW9jdG8gcHV0cyBhbGwgb2YgdGhl IGx0dG5nIGxpYnMgaW50byAvdXNyL2xpYi4gIFdoZW4gSSBzZW50IHRoZQo+IHByZXZpb3VzIGlu Zm8gSSB3YXMgdXNpbmcgbHR0bmctdG9vbHMgYW5kIG1vZHVsZXMgYnVpbHQgYnkgWW9jdG8vT0UK PiBhbmQgSSBzZXR1cCBhIG5hdGl2ZSBidWlsZCBlbnZpcm9ubWVudCBvbiB0aGUgdGFyZ2V0IHNv IEkgY291bGQgcnVuCj4gJ21ha2UgY2hlY2snIGV0Yy4sIGFuZCB0aGF0J3Mgd2h5IHRoZXJlIHdl cmUgdGhpbmdzIGluIC91c3IvbG9jYWwvbGliCj4gYmVjYXVzZSB0aGF0J3Mgd2hlcmUgeW91IGd1 eXMgd2FudCBzdHVmZiB0byBiZS4gIFNvIEkgYWN0dWFsbHkgbGVmdAo+IHRoZSBsdHRuZy11c3Qg aW5zdGFsbGFibGVzIGluIC91c3IvbG9jYWwvYnVpbGQgYnV0IGFsc28gY29waWVkIHRoZW0gdG8K PiAvdXNyL2xpYiB0byBvdmVyd3JpdGUgb2xkIFlvY3RvIHZlcnNpb25zIHRoZXJlLgo+IAoKSXQn cyBub3Qgc28gbXVjaCB0aGF0IGl0J3MgIndoZXJlIHdlIHdhbnQgaXQgdG8gYmUiLiBUaGUgZG9j dW1lbnRhdGlvbiAKdXNlcyBgL3Vzci9sb2NhbC9saWJgIGJlY2F1c2UgYC91c3IvbG9jYWxgIGlz IG1lYW50IGZvciBzb2Z0d2FyZSAKaW5zdGFsbGVkIGJ5IHRoZSBzeXNhZG1pbiBhZG1pbmlzdHJh dG9yLCBhcyBpcyB0aGUgY2FzZSB3aGVuIGJ1aWxkaW5nIGEgCmN1c3RvbSB2ZXJzaW9uLiBgL3Vz ci9saWJgIHNob3VsZCBiZSB1c2VkIGJ5IHBhY2thZ2VzIHNoaXBwZWQgd2l0aCB0aGUgCnN5c3Rl bS4KCkMuZi4gaHR0cHM6Ly9yZWZzcGVjcy5saW51eGZvdW5kYXRpb24ub3JnL0ZIU18zLjAvZmhz L2NoMDRzMDkuaHRtbAoKWW91J3JlIGZyZWUgdG8gZG8gYXMgeW91IHNlZSBmaXQsIGJ1dCB3aGVu IHlvdSBzdGFydCBtaXhpbmcgYW5kIG1hdGNoaW5nIApsaWJyYXJpZXMgYW5kIHNvbWUgYXJlIHB1 dCBpbiAvdXNyL2xpYiBieSB5b3VyIHN5c3RlbSBwYWNrYWdlcyBhbmQgc29tZSAKeW91IG1vdmUg dGhlcmUgbWFudWFsbHkgSSBmaW5kIGl0IG1vcmUgZGlmZmljdWx0IHRvIGZvbGxvdyB3aGF0IGlz IGdvaW5nIG9uLgoKPj4KPj4gVGhpcyBpbmZvcm1hdGlvbiBhbHNvIG1hdGNoZXMgdGhlIHN0YXRl ZHVtcCBhbmQgdGhlIExEX0RFQlVHIGluZm8gZnJvbQo+PiBsYXRlciBvbi4KPj4KPj4gQ291bGQg eW91IHZlcmlmeSBzb21lIG9mIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246Cj4+Cj4+IDEuIElu IHlvdXIgYnVpbGQgcm9vdCBmb3IgbHR0bmctdXN0LCBlbnVtZXJhdGUgYWxsIHRoZSBsaWJsdHRu Zypzbwo+PiBmaWxlcy4gRm9yIGVhY2ggc2hhcmVkIG9iamVjdCwgcnVuIGBmaWxlICRsaWJuYW1l YCBhbmQgcmVjb3JkIHRoZSB2YWx1ZQo+PiBvZiB0aGUgQnVpbGRJRCBoYXNoLlI1am93Cj4gCj4g U29ycnksIEknbSBub3QgZm9sbG93aW5nIHlvdSBoZXJlLiAgVGhlIG9ubHkgYnVpbGRJRCBoYXNo IEkgY2FuIHRoaW5rCj4gb2YgaXMgd2l0aCAnZXUtdW5zdHJpcCAtbicgYnV0IHRoYXQncyBvbiBj b3JlIGZpbGVzLCBub3QgaW5kaXZpZHVhbAo+IGxpYnMuICBBbmQgbG9va2luZyBhdCB0aGUgb3B0 aW9ucyBJIGhhdmUgZm9yICdmaWxlJyBvbiBteSB0YXJnZXQsIEkKPiBkb24ndCBzZWUgYW55dGhp bmcgdGhhdCBsb29rcyBsaWtlIHdoYXQgeW91IGFyZSBhc2tpbmcuCgpQZXJoYXBzIEkgd2Fzbid0 IGNsZWFyLCB0aGUgY29tbWFuZCB0byBydW4gaXMgcmVhbGx5IGp1c3QgYGZpbGVgLiBBcyBhIApm dWxsZXIgZXhhbXBsZToKCmBgYAokIGZpbGUgLi9zcmMvbGliL2x0dG5nLXVzdC1mb3JrLy5saWJz L2xpYmx0dG5nLXVzdC1mb3JrLnNvLjEuMC4wCi4vc3JjL2xpYi9sdHRuZy11c3QtZm9yay8ubGli cy9saWJsdHRuZy11c3QtZm9yay5zby4xLjAuMDogRUxGIDY0LWJpdCAKTFNCIHNoYXJlZCBvYmpl Y3QsIHg4Ni02NCwgdmVyc2lvbiAxIChTWVNWKSwgZHluYW1pY2FsbHkgbGlua2VkLCAKQnVpbGRJ RFtzaGExXT1iMmI0YTBmYzQ0OWNmMzE3ZTMyYzIzZTBiYjU3ZWExYWQ3MDJiNzAyLCB3aXRoIGRl YnVnX2luZm8sIApub3Qgc3RyaXBwZWQKYGBgCgpCdWlsZElEIGlzIGFkZGVkIGJ5IGRlZmF1bHQg d2hlbiBsaW5raW5nIHdpdGggbGQgPj0gfiAyLjE4CgpUaGUgaWRlYSBoZXJlIGlzIHRvIHVzZSB0 aGUgQnVpbGRJRCBhcyBhIHdheSB0byB2YWxpZGF0ZSB0aGF0IHRoZSAKbGlicmFyaWVzIGJ1aWx0 IGFuZCB0aGUgb25lcyBkZXBsb3llZCBhbmQgbG9hZGVkIGF0IHJ1bnRpbWUuCgo+IAo+Pgo+PiAy LiBJbiB5b3VyIGRlcGxveWVkIGVudmlyb25tZW50LCBlbnVtZXJhdGUgYWxsIHRoZSBsaWJsdHRu ZypzbyBmaWxlcyBpbgo+PiAvdXNyL2xvY2FsL2xpYiBhbmQgcmVjb3JkIHRoZSB2YWx1ZSBvZiB0 aGUgQnVpbGRJRCBoYXNoLgo+Pgo+PiAzLiBJbiB5b3VyIGRlcGxveWVkIGVudmlyb25tZW50LCBl bnVtZXJhdGUgYWxsIHRoZSBsaWJsdHRuZypzbyBmaWxlcyBpbgo+PiAvdXNyL2xpYiBhbmQgcmVj b3JkIHRoZSB2YWx1ZSBvZiB0aGUgQnVpbGRJRCBoYXNoLgo+Pgo+PiBUaGUgQnVpbGRJRCB3aWxs IHZhcnkgZnJvbSBvbmUgb2JqZWN0IHRvIHRoZSBuZXh0LCBidXQgdGhlIGRlcGxveWVkCj4+IGVu dmlyb25tZW50IEJ1aWxkSURzIHNob3VsZCBtYXRjaCB0aGUgQnVpbGRJRHMgb2YgdGhlIGNvcnJl c3BvbmRpbmcKPj4gbGlicmFyeSBmcm9tIHRoZSBidWlsZCByb290Lgo+Pgo+PiBJbiBwYXJ0aWN1 bGFyIG15IGludGVyZXN0IGlzIHRoZSBgbGlibHR0bmctdXN0LnNvLjFgIGxpYnJhcnkgIHRoYXQg aXMKPj4gbG9hZGVkICBmcm9tIGAvdXNyL2xpYmAgaW4geW91ciBkZXBsb3llZCBlbnZpcm9ubWVu dCwgYW5kIGlmIHRoZXJlIGFyZQo+PiBhbnkgaW4gYC91c3IvbG9jYWwvbGliYC4KPiAKPiBBcyBJ IHNhaWQgYWJvdmUsIHdoZW4gSSBidWlsdCBsdHRuZy11c3QgZnJvbSBzb3VyY2UgbmF0aXZlbHkg b24gdGhlCj4gdGFyZ2V0IGFuZCBpbnN0YWxsZWQgaXQsIGl0IHdlbnQgdG8gL3Vzci9sb2NhbC9s aWIsIHlvdXIgZGVmYXVsdC4gIEkKPiB0aGVuIGNvcGllZCBldmVyeXRoaW5nIGZyb20gL3Vzci9s b2NhbC9saWIgKHdoaWNoIHdhcyBqdXN0IGx0dG5nLXVzdAo+IHN0dWZmKSB0byAvdXNyL2xpYiB0 byBvdmVyd3JpdGUgdGhlIG9sZCB2ZXJzaW9ucyBZb2N0byBwdXQgdGhlcmUuCj4gCj4+Cj4+IElu IHRoZSB3b3JraW5nIGhlbGxvIGV4YW1wbGUsIGRvZXMgaXQgYWxzbyBlbmQgdXAgbGlua2luZyBh Z2FpbnN0Cj4+IGAvdXNyL2xpYi9saWJsdHRuZy11c3Quc28uMWA/Cj4gCj4gWWVzCgpPa2F5LgoK PiAKPj4KPj4+ICAgICAgRnVydGhlciBhbG9uZyBpbiBzdGVwcGluZyBiYWNrOgo+Pj4KPj4+ICAg ICAgICAgLSBEb2VzIG1ha2UgY2hlY2sgZm9yIGx0dG5nLXVzdCBwYXNzIGluIHlvdXIgZW52aXJv bm1lbnQ/Cj4+Pgo+Pj4KPj4+IFNvIEknbSBnbGFkIHlvdSBtZW50aW9uZWQgdGhpcy4gIEkgZGlk bid0IHRyeSB0byBydW4gbWFrZSBjaGVjayBiZWNhdXNlCj4+PiAjMSBoYXZlIG5ldmVyIHNlZW4g YW55dGhpbmcgaW4gdGhlIGRvY3VtZW50YXRpb24gYWJvdXQgaXQgYW5kIHdoYXQgaXQKPj4+IGRv ZXMgYW5kICMyIEl0IHNhaWQgdGhhdCBpdCBkZXBlbmRlZCBvbiBQZXJsIGFuZCBzaW5jZSB0aGlz IGlzIGFuCj4+PiBlbWJlZGRlZCBzeXN0ZW0sIEkgcmVhbGx5IGRpZG4ndCB3YW50IHRvIHB1bGwg aXQgYW5kIGl0cyBkZXBlbmRlbmNpZXMgaW4uCj4+Pgo+Pj4gTmV2ZXJ0aGVsZXNzLCBJIHJhbiBp dCBvbiBteSBuYXRpdmUgdGFyZ2V0IGJ1aWxkIEkgc2V0dXAgdG8gc2VlIHdoYXQKPj4+IHdvdWxk IGhhcHBlbi4gIEkgZGlkbid0IG5vdGljZSBpdCBjb21wbGFpbmluZyBhYm91dCBwZXJsIHNvIHRo ZW4gSQo+Pj4gY2hlY2tlZCBteSBtYW5pZmVzdCBhbmQgcGVybCBpcyBpbiBmYWN0IGluIG91ciBp bWFnZSAoSSBndWVzcyBzb21lIG90aGVyCj4+PiByZWNpcGUgcHVsbGVkIGl0IGluIGFuZCBJIG5l dmVyIHBhaWQgYXR0ZW50aW9uIHRvIHRoYXQpOgo+Pj4KPj4+IE1ha2luZyBjaGVjayBpbiBpbmNs dWRlCj4+PiBtYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkKPj4+ICcvaG9tZS9pYWRtaW4vbHR0 bmctdXN0L2x0dG5nLXVzdC0yLjEzLjgvaW5jbHVkZScKPj4+IC4uLgo+PiAgID4KPj4+Cj4+PiAg ICAgICAgIC0gRG9lcyBtYWtlIGNoZWNrIGZvciBsdHRuZy10b29scyBwYXNzIGluIHlvdXIgZW52 aXJvbm1lbnQ/Cj4+Pgo+Pj4gSSdtIHN0aWxsIHVzaW5nIGx0dG5nLXRvb2xzIGJ1aWx0IGJ5IHlv Y3RvIHNvIEkgZG9uJ3Qga25vdyBob3cgdG8gcnVuCj4+PiBtYWtlIGNoZWNrIGluIHRoYXQgc2l0 dWF0aW9uLiAgRnJvbSBkZXZ0b29sIG1heWJlPz8/ICBJIGRvbid0IGtub3csIEknZAo+Pj4gaGF2 ZSB0byBsb29rIGludG8gdGhhdCBvbmUuICAgSSBuZXZlciB1cGdyYWRlZCBsdHRuZy10b29scyBl aXRoZXIsIG9ubHkKPj4+IHVwZ3JhZGVkIGx0dG5nLXVzdCBhbmQgYnVpbHQgZnJvbSBzb3VyY2Ug dGFyIHRvIGdldCB0aGUgZml4IHlvdQo+Pj4gbWVudGlvbmVkIGZvciBUTFMgc3R1ZmYuCj4+Cj4+ IFRoZSBwb2t5IHZlcnNpb24gb2YgdGhlIHRvb2xzIHJlY2lwZSBzZWVtcyB0byBoYXZlIHNvbWUg c3R1ZmYgcmVsYXRpbmcKPj4gdG8gcHRlc3QsIHdoaWNoIHNlZW1zIHRvIGJlIGEgeW9jdG8gdG9v bCBmb3IgcGFja2FnZSB0ZXN0aW5nLiBUaGVyZQo+PiBtaWdodCBiZSBhIHJ1biB0byBydW4gdGhh dD8KPj4KPj4gaHR0cHM6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9wb2t5L3BsYWluL21ldGEvcmVj aXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHNfMi4xMy4xMy5iYgo+PiBodHRwczovL3dpa2ku eW9jdG9wcm9qZWN0Lm9yZy93aWtpL1B0ZXN0Cj4+Cj4+IE90aGVyd2lzZSBJIHdvdWxkIGdldCB0 aGUgbHR0bmctdG9vbHMgc291cmNlIGZvciB5b3VyIHZlcnNpb24sCj4+IGJvb3RzdHJhcCwgY29u ZmlndXJlLCBidWlsZCwgYW5kIHJ1biB0aGUgdGVzdHMgaW4gdHJlZS4KPj4KPj4gVGhlIGJ1bGsg b2YgcmVncmVzc2lvbiB0ZXN0aW5nIGZvciBsdHRuZy11c3QsIC1tb2R1bGVzLCBhbmQgLXRvb2xz Cj4+IGhhcHBlbnMgZHVyaW5nIGBtYWtlIGNoZWNrYCBmb3IgbHR0bmctdG9vbHMuCj4gCj4gSSBk aWQgYWxsIG9mIHRoYXQuICBGaXJzdCBJIGRpZCBpdCB3aXRoIGx0dG5nLXVzdCwgYnVpbGRpbmcg aXQgZnJvbQo+IHNvdXJjZSB0YXJiYWxsIG9uIHRhcmdldCBuYXRpdmVseSB0byBlbGltaW5hdGUg YW55IFlvY3RvIHJlY2lwZS9wYXRjaAo+IGlzc3Vlcy4gIFRoZW4gZGlkIHRoZSBzYW1lIHdpdGgg bHR0bmctdG9vbHMuCgpTb3VuZHMgbGlrZSBgbWFrZSBjaGVja2AgZm9yIGx0dG5nLXRvb2xzIHBh c3NlZCB0aGVuPwoKPiAKPj4KPj4+Cj4+PiAgICAgICAgIC0gSXMgdGhpcyByZXByb2R1Y2libGUg aW4gbm9uLXlvY3RvIGVudmlyb25tZW50cyBvciBvbiBvdGhlcgo+Pj4gICAgICBhcmNoaXRlY3R1 cmVzIHdpdGggdGhlIHNhbWUgcHJvamVjdD8KPj4+Cj4+PiBIbW0sIHRoYXQncyBhIGdvb2QgcXVl c3Rpb24uICBJIGRvbid0IGhhdmUgYW55IG90aGVyIGVtYmVkZGVkIHRhcmdldHMgdG8KPj4+IHRy eSB0aGlzIG9uIHRoYXQgYXJlIGEgZGlmZmVyZW50IGFyY2guICBJIHRoaW5rIEkgaGVhcmQgYXQg b25lIHBvaW50Cj4+PiBlYXJseSBvbiBhIGhlYXZpbHkgc3R1YmJlZCBvdXQgdmVyc2lvbiByYW4g b24gYSBQQyBidXQgSSdkIGhhdmUgdG8gbG9vawo+Pj4gaW50byB0aGF0Lgo+Pj4KPj4+ICAgICAg ICAgLSBEb2VzIHJ1bm5pbmcgdGhlIHRyYWNlZCBhcHBsaWNhdGlvbiB3aXRoIGBMVFROR19VU1Rf REVCVUc9MWAgeWllbGQKPj4+ICAgICAgbW9yZSBpbmZvcm1hdGlvbj8KPj4+Cj4+Pgo+Pj4gU28g ZmFyIEkndmUganVzdCBiZWVuIHRyeWluZyB0byBnZXQgdGhlIGFwcCB0byBydW4gd2l0aG91dCBl dmVuIHN0YXJ0aW5nCj4+PiBsdHRuZyBqdXN0IHRvIGdldCBwYXN0IHNlZ2ZhdWx0IGlzc3VlLiAg SGVyZSBpcyB3aGF0IGl0IGxvb2tzIGxpa2Ugd2l0aAo+Pj4gZGVidWcgdHVybmVkIG9uIHdpdGhv dXQgc3RhcnRpbmcgbHR0bmcgb3IgYSBsdHRuZy1zZXNzaW9uZDoKPj4+Cj4+PiBsaWJsdHRuZ191 c3RfdHJhY2Vwb2ludFs1OTkvNTk5XTogWW91ciBjb21waWxlciB0cmVhdHMgd2VhayBzeW1ib2xz IHdpdGgKPj4+IGhpZGRlbiB2aXNpYmlsaXR5IGZvciBpbnRlZ2VyIG9iamVjdHMgYXMgU0FNRSBh ZGRyZXNzIGJldHdlZW4gY29tcGlsZQo+Pj4gdW5pdHMgcGFydCBvZiB0aGUgc2FtZSBtb2R1bGUu IChpbiBjaGVja193ZWFrX2hpZGRlbigpIGF0Cj4+Pgo+Pj4gbGlibHR0bmdfdXN0WzU5OS82MDFd OiBXYWl0aW5nIGZvciBsb2NhbCBhcHBzIHNlc3Npb25kIChpbgo+Pj4gd2FpdF9mb3Jfc2Vzc2lv bmQoKSBhdCBsdHRuZy11c3QtY29tbS5jOjE3NTgpCj4+PiBsaWJsdHRuZ191c3RbNTk5LzYwMF06 IEluZm86IHNlc3Npb25kIG5vdCBhY2NlcHRpbmcgY29ubmVjdGlvbnMgdG8KPj4+IGdsb2JhbCBh cHBzIHNvY2tldCAoaW4gdXN0X2xpc3RlbmVyX3RocmVhZCgpIGF0IGx0dG5nLXVzdC1jb21tLmM6 MTg4NCkKPj4+IFNlZ21lbnRhdGlvbiBmYXVsdAo+Pj4KPj4+ICAgICAgICAgLSBJJ2QgYWxzbyBy dW4gbHR0bmctc2Vzc2lvbmQgd2l0aCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKPj4+ICAgICAg YExUVE5HX1VTVF9ERUJVRz0xYCBzZXQgYW5kIGAtdnZ2IC0tdmVyYm9zZS1jb25zdW1lcmAgaW4g dGhlIHByb2dyYW0KPj4+ICAgICAgYXJndW1lbnRzIGFuZCBjYXB0dXJlIGZvciBzdGRvdXQgJiBz dGRlcnIgaW50byBhIGZpbGUgZm9yIGFuYWx5c2lzLgo+Pj4gICAgICAgICAtIFZlcmlmeSBpZiB0 aGUgbWFpbiBwcm9ncmFtIGlzIGR5bmFtaWNhbGx5IGxpbmtlZCB3aXRoIGBsZGRgCj4+PiAgICAg ICAgIC0gVmVyaWZ5IHdoaWNoIGxpYnJhcmllcyBhcmUgbG9hZGVkIGF0IHJ1bnRpbWUgYW5kIHdo aWNoIGNhbGxzIGFyZQo+Pj4gICAgICBzaGltbWVkIHdpdGggYExEX0RFQlVHPWxpYnMsYmluZGlu Z2AKPj4+Cj4+Pgo+Pj4gSSBwcm92aWRlZCBzb21lIG9mIHRoaXMgYWJvdmUuCj4+PiBUaGUgb3V0 cHV0IG9mIExEX0RFQlVHPWxpYnMsYmluZGluZ3MgaXMgYXR0YWNoZWQgYXMgZmlsZQo+Pj4gbGRf ZGVidWctbGlicy1iaW5kaW5ncy50eHQKPj4KPj4gVGhhbmtzLiBGb3IgeW91ciBvd24gZGVidWdn aW5nLCBJIHdvdWxkIHJlY29tbWVuZCB0byBydW4gdGhlIGhlbGxvIHdvcmxkCj4+IGV4YW1wbGUg d2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW4gb3JkZXIgdG8gaGF2ZSBjb21w YXJpc29uCj4+IHBvaW50IHRvIGEgd29ya2luZyBleGFtcGxlLgo+IAo+IEkgcmFuIHRoZSBoZWxs byB3b3JsZCBpbiB0aGUgZXhhbXBsZSBkaXJlY3RvcnkKPiBsdHRuZy11c3QtMi4xMy44L2RvYy9l eGFtcGxlcy9oZWxsby1zdGF0aWMtbGliIGFuZCBpdCByYW4gZmluZS4KPiAKCkdvb2QuCgo+IEkg Y2FuIHNlbmQgdGhlIHNlc3Npb25kLmxvZyBldGMuIGlmIHlvdSB3YW50IHRvIHNlZSBpdCBidXQg aXQgcmFuIGp1c3QKPiBmaW5lIG9uIHRhcmdldCB1c2luZyB0aGUgbmF0aXZlIGJ1aWx0IGx0dG5n LXVzdCBhbmQgbHR0bmctdG9vbHMuCgoKTXkgdW5kZXJzdGFuZGluZyBhdCB0aGlzIHBvaW50IGlz IHRoZSB1bml0IHRlc3RzIGFyZSBwYXNzaW5nIGZvciAKTFRUbmctVVNUIG9uIHlvdXIgc3lzdGVt LCBhcyBhcmUgdGhlIHVuaXQgYW5kIHJlZ3Jlc3Npb24gdGVzdHMgZm9yIApMVFRuZy10b29scy4g VGhlIGV4YW1wbGUgcHJvZ3JhbXMgc2hpcHBlZCB3aXRoIExUVG5nLVVTVCB3b3JrIG9uIHlvdXIg CnN5c3RlbSwgYXMgZG9lcyB0aGUgZXhhbXBsZSBmcm9tIHRoZSBkb2N1bWVudGF0aW9uLiBUaGUg c3RhdGVkdW1wIAp0cmFjZXBvaW50cyBsb2FkZWQgZnJvbSBMVFRuZy1VU1QgYXJlIGFsc28gd29y a2luZyBmaW5lLCBhcyBldmluY2VkIGJ5IAp0aGUgcHJvZ3JhbSBsb2dzIGFuZCB0aGUgTFRUbmcg dHJhY2UgeW91IHNoYXJlZC4KCkRlc3BpdGUgbXkgY29uZnVzaW9uIGFib3V0IGhvdyBleGFjdGx5 IHlvdSdyZSB1c2luZyB0aGUgYGhlbGxvIHdvcmxkYCAKdHJhY2Vwb2ludCBpbiB5b3VyIGFwcGxp Y2F0aW9uIChhcyB5b3UndmUgbm93IGRlc2NyaWJlZCBzZXZlcmFsIAp2YXJpYXRpb25zKSwgdGhl IGRpcmVjdGlvbiB0aGlzIHBvaW50cyB0byBmb3IgbWUgYXJlIGRldGFpbHMgcmVsYXRlZCB0byAK aG93IHlvdSdyZSB1c2luZyBMVFRuZy1VU1QgYW5kL29yIGhvdyBhcmUgeW91ciBidWlsZGluZyBh bmQgbGlua2luZyB5b3VyIAphcHBsaWNhdGlvbi4gVG8gYmUgY2xlYXIsIEkgZG9uJ3QgbWVhbiB0 byBzYXkgdGhhdCB0aGVyZSBpcyBvciBpcyBub3QgYW4gCmlzc3VlIGluIExUVG5nLVVTVCwgYnV0 IHRvIHBvaW50IGF0IHdoZXJlIHRvIGV4YW1pbmUgbmV4dCBpbiBkZXRhaWwgCmluY2x1ZGluZyBh bmFseXNpcyBvZiB0aGUgcHJvZHVjZWQgb2JqZWN0IGZpbGVzLgoKPiAKPj4KPj4gICBGcm9tIG15 IG9ic2VydmF0aW9ucyBpbiBteSBvd24gZW52aXJvbm1lbnQsIGZvciB0aGUgaGVsbG8gZXhhbXBs ZSAoYW5kCj4+IHByZXN1bWFibHkgeW91ciBhcHAgaWYgaXQncyBzZXQgdXAgaW4gdGhlIHNhbWUg d2F5KSBJIHdvdWxkIGV4cGVjdAo+PiBzb21ldGhpbmcgc2ltaWxhciB0byB0aGUgZm9sbG93aW5n Cj4+Cj4+IGBgYAo+PiAgICAgMzYyNDg5NTogICAgIGluaXRpYWxpemUgcHJvZ3JhbTogLi9oZWxs bwo+PiAgICAgIDM2MjQ4OTU6Cj4+ICAgICAgMzYyNDg5NTogICAgIGJpbmRpbmcgZmlsZSAuL2hl bGxvIFswXSB0bwo+PiAvbGliL3g4Nl82NC1saW51eC1nbnUvbGliYy5zby42IFswXTogbm9ybWFs IHN5bWJvbCBgZGxvcGVuJyBbR0xJQkNfMi4zNF0KPj4gICAgICAzNjI0ODk1OiAgICAgb3Blbmlu Zwo+PiBmaWxlPS94L2x0dG5nL21hc3Rlci91c3IvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBvaW50 LnNvLjEgWzBdOwo+PiBkaXJlY3Rfb3BlbmNvdW50PTMKPj4gICAgICAzNjI0ODk1Ogo+PiAgICAg IDM2MjQ4OTU6ICAgICBiaW5kaW5nIGZpbGUgLi9oZWxsbyBbMF0gdG8KPj4gL2xpYi94ODZfNjQt bGludXgtZ251L2xpYmMuc28uNiBbMF06IG5vcm1hbCBzeW1ib2wgYGRsc3ltJyBbR0xJQkNfMi4z NF0KPj4gICAgICAzNjI0ODk1OiAgICAgYmluZGluZyBmaWxlCj4+IC94L2x0dG5nL21hc3Rlci91 c3IvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEgWzBdIHRvCj4+IC94L2x0dG5nL21h c3Rlci91c3IvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEgWzBdOiBub3JtYWwgc3lt Ym9sCj4+IGBsdHRuZ191c3RfdHBfcmN1X3JlCj4+IGFkX2xvY2snCj4+ICAgICAgMzYyNDg5NTog ICAgIGJpbmRpbmcgZmlsZQo+PiAveC9sdHRuZy9tYXN0ZXIvdXNyL2xpYi9saWJsdHRuZy11c3Qt dHJhY2Vwb2ludC5zby4xIFswXSB0bwo+PiAveC9sdHRuZy9tYXN0ZXIvdXNyL2xpYi9saWJsdHRu Zy11c3QtdHJhY2Vwb2ludC5zby4xIFswXTogbm9ybWFsIHN5bWJvbAo+PiBgbHR0bmdfdXN0X3Rw X3JjdV9yZQo+PiBhZF91bmxvY2snCj4+ICAgICAgMzYyNDg5NTogICAgIGJpbmRpbmcgZmlsZQo+ PiAveC9sdHRuZy9tYXN0ZXIvdXNyL2xpYi9saWJsdHRuZy11c3QtdHJhY2Vwb2ludC5zby4xIFsw XSB0bwo+PiAveC9sdHRuZy9tYXN0ZXIvdXNyL2xpYi9saWJsdHRuZy11c3QtdHJhY2Vwb2ludC5z by4xIFswXTogbm9ybWFsIHN5bWJvbAo+PiBgbHR0bmdfdXN0X3RwX3JjdV9kZQo+PiByZWZlcmVu Y2Vfc3ltJwo+PiAgICAgIDM2MjQ4OTU6ICAgICBiaW5kaW5nIGZpbGUKPj4geC9sdHRuZy9tYXN0 ZXIvdXNyL2xpYi9saWJsdHRuZy11c3QtdHJhY2Vwb2ludC5zby4xIFswXSB0bwo+PiAveC9sdHRu Zy9tYXN0ZXIvdXNyL2xpYi9saWJsdHRuZy11c3QtdHJhY2Vwb2ludC5zby4xIFswXTogbm9ybWFs IHN5bWJvbAo+PiBgbHR0bmdfdXN0X3RyYWNlcG9pbgo+PiB0X21vZHVsZV9yZWdpc3RlcicKPj4g ICAgICAzNjI0ODk1OiAgICAgYmluZGluZyBmaWxlCj4+IC94L2x0dG5nL21hc3Rlci91c3IvbGli L2xpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEgWzBdIHRvCj4+IC94L2x0dG5nL21hc3Rlci91 c3IvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEgWzBdOiBub3JtYWwgc3ltYm9sCj4+ IGBsdHRuZ191c3RfdHJhY2Vwb2luCj4+IHRfbW9kdWxlX3VucmVnaXN0ZXInCj4+ICAgICAgMzYy NDg5NTogICAgIGJpbmRpbmcgZmlsZQo+PiAveC9sdHRuZy9tYXN0ZXIvdXNyL2xpYi9saWJsdHRu Zy11c3QtdHJhY2Vwb2ludC5zby4xIFswXSB0bwo+PiAveC9sdHRuZy9tYXN0ZXIvdXNyL2xpYi9s aWJsdHRuZy11c3QtdHJhY2Vwb2ludC5zby4xIFswXTogbm9ybWFsIHN5bWJvbAo+PiBgbHR0bmdf dXN0X3RwX2Rpc2FibAo+PiBlX2Rlc3RydWN0b3JzJwo+PiAgICAgIDM2MjQ4OTU6ICAgICBiaW5k aW5nIGZpbGUKPj4gL3gvbHR0bmcvbWFzdGVyL3Vzci9saWIvbGlibHR0bmctdXN0LXRyYWNlcG9p bnQuc28uMSBbMF0gdG8KPj4gL3gvbHR0bmcvbWFzdGVyL3Vzci9saWIvbGlibHR0bmctdXN0LXRy YWNlcG9pbnQuc28uMSBbMF06IG5vcm1hbCBzeW1ib2wKPj4gYGx0dG5nX3VzdF90cF9nZXRfZGUK Pj4gc3RydWN0b3JzX3N0YXRlJwo+PiAgICAgIDM2MjQ4OTU6ICAgICBiaW5kaW5nIGZpbGUgLi9o ZWxsbyBbMF0gdG8KPj4gL3gvbHR0bmcvbWFzdGVyL3Vzci9saWIvbGlibHR0bmctdXN0LnNvLjEg WzBdOiBub3JtYWwgc3ltYm9sCj4+IGBsdHRuZ191c3RfcHJvYmVfcmVnaXN0ZXInCj4+ICAgICAg MzYyNDg5NToKPj4gICAgICAzNjI0ODk1OiAgICAgdHJhbnNmZXJyaW5nIGNvbnRyb2w6IC4vaGVs bG8KPj4gICAgICAzNjI0ODk1Ogo+PiBgYGAKPj4KPj4gVGhlIGJpdCB0aGF0IGlzIG1pc3Npbmcg ZnJvbSB5b3VyIHByb2dyYW0gaXMgdGhlIGJpbmRpbmcgb2YKPj4gYGx0dG5nX3VzdF9wcm9iZV9y ZWdpc3RlcmAuIEhlcmUsIGl0J3Mgbm90IGxpa2UgdGhlIHN5bWJvbCBpc24ndAo+PiByZXNvbHZl ZCBhdCBhbGw6IGl0J3MgZm91bmQgZWFybGllciBhbmQgaWYgaXQgZGlkbid0IGV4aXN0IGF0IGFs bCB0aGUKPj4gZXJyb3Igd291bGQgcHJvYmFibHkgYmUgcmVsYXRpdmVseSBjbGVhciBsaWtlOgo+ Pgo+PiBgYGAKPj4gLi9kb2MvZXhhbXBsZXMvaGVsbG8vaGVsbG86IHN5bWJvbCBsb29rdXAgZXJy b3I6Cj4+IC94L2x0dG5nL21hc3Rlci91c3IvbGliL2xpYmx0dG5nLXVzdC5zby4xOiB1bmRlZmlu ZWQgc3ltYm9sOgo+PiBsdHRuZ191c3RfcHJvYmVfcmVnaXN0ZXIKPj4gYGBgCj4+Cj4+IEknZCBs aWtlIHlvdSB0byBydW4gYW5vdGhlciB0ZXN0IHdpdGggeW91ciBhcHAuIFRoaXMgc2hvdWxkIGlu ZGljYXRlCj4+IHRoYXQgYWxsIHN5bWJvbHMgc2hvdWxkIGJlIGltbWVkaWF0ZWx5IHJlc29sdmVk IGR1cmluZyBkeW5hbWljIGxvYWRpbmcKPj4gcmF0aGVyIHRoYW4gcGVyZm9ybWluZyBsYXp5IHN5 bWJvbCByZXNvbHV0aW9uLiBUaGUgZ29hbCBvZiB0aGlzIHRlc3QgaXMKPj4gdG8gc2VwYXJhdGUg Y2xlYXJseSB0aGUgc3ltYm9sIHJlc29sdXRpb24gZnJvbSB0aGUgY2FsbCB0aGF0IGhhcHBlbnMg aW4KPj4gdGhlIHByb2dyYW0ncyBpbml0aWFsaXphdGlvbi4gWW91IGNhbiBhbHNvIHJ1biBpdCB3 aXRoIHRoZSBoZWxsbyBkZW1vIHRvCj4+IGNvbXBhcmUgdGhlIHJ1bnMuCj4gCj4gQXQgdGhpcyBw b2ludCBJIG5lZWQgdG8gcXVpdCBmb3IgYSBiaXQgc28gSSdsbCBzZW5kIHdoYXQgSSBoYXZlIHVw IHRvCj4gdGhpcyBwb2ludCBhbmQgcGVyZm9ybSB0aGVzZSB0ZXN0cyBvbiBib3RoIG15IGFwcCBh bmQgdGhlIGhlbGxvCj4gZXhhbXBsZSBhbmQgcmVwb3J0IGJhY2sgYXMgc29vbiBhcyBJIGNhbi4K PiAKPj4KPj4gYGBgCj4+IExUVE5HX1VTVF9ERUJVRz0xIExEX0RFQlVHPWFsbCBMRF9CSU5EX05P Vz0xIC4vbXlfYXBwCj4+IGBgYAo+Pgo+Pj4KPj4+ICAgICAgICAgLSBSZXZpZXcgaW4gZGV0YWls IHdoaWNoIGdjYyBjb21tYW5kcyBhcmUgZXhlY3V0ZWQgdG8gcHJvZHVjZSB0aGUKPj4+ICAgICAg dHJhY2Vwb2ludCBwcm92aWRlciBhbmQgbGluayBpdCB0byB0aGUgbWFpbiBleGVjdXRhYmxlLgo+ Pj4KPj4+IEV4YWN0bHkgbGlrZSBoZWxsbyB3b3JsZCBleGFtcGxlLgo+Pgo+PiBPa2F5LiBJIHNl ZSB5b3VyIHByb2dyYW0gYWxzbyBoYXMgYXQgbGVhc3Qgc29tZSBwb3J0aW9ucyBpbiBDKyssIHdo aWNoCj4+IGlzIGRpZmZlcmVudCB0aGFuIHRoZSBoZWxsbyB3b3JsZCBleGFtcGxlLgo+Pgo+PiBE b2VzIHlvdXIgYnVpbGQgcHJvY2VzcyB1c2UgcGFydGljdWxhciBvcHRpbWl6YXRpb25zIG9yIHN0 cmlwIHBhcnRzIGZyb20KPj4gdGhlIHJlc3VsdGluZyBvYmplY3QgZmlsZXM/Cj4+Cj4+IFdoZW4g eW91J3JlIGJ1aWxkaW5nIHRoZSBoZWxsbyB3b3JsZCBleGFtcGxlLCBkb2VzIGl0IGdldCBjb21w aWxlZCBpbgo+PiB0aGUgc2FtZSBidWlsZHJvb3QgYXMgeW91ciBhcHAsIG9yIGlzIGl0IGRvbmUg ZGlmZmVyZW50bHk/Cj4+Cj4+IERvIHlvdSB1c2UgYSBjdXN0b20gbGlua2VyIHNjcmlwdChzKT8K Pj4KPj4KPj4+Cj4+Pgo+Pj4KPj4+IFNvIHRoZSBlbWJlZGRlZCB0YXJnZXQgZG9lc24ndCBoYXZl IGJhYmxldHJhY2Ugc28gSSBhcmNoaXZlZCB0aGUgc2Vzc2lvbgo+Pj4gYW5kIHRyYW5zZmVycmVk IGl0IG92ZXIgdG8gbXkgZGV2IFBDIGFuZCB1c2VkIHRyYWNlY29tcGFzIHRvIHZpZXcgdGhlCj4+ PiBsdHRuZy1zZXNzaW9uLgo+Pj4KPj4+IFlvdSBjYW4gc2VlIHRoYXQgaW4gdGhlIGF0dGFjaGVk IGZpbGUgbXlfc2Vzc2lvbi5jc3YKPj4KPj4gVGhpcyBpcyBnb29kLCB0aGUgc3RhdGVkdW1wIGlz IGhhcHBlbmluZyBwcm9wZXJseS4KPj4KPj4+Cj4+PiAgICAgIGBgYAo+Pj4KPj4+ICAgICAgID4K Pj4+ICAgICAgID4gVGhhbmtzISAgSSdtIHJ1bm5pbmcgb3V0IG9mIHRoaW5ncyB0byB0cnkuCj4+ Pgo+Pgo+PiBGb3IgdGhlIG5leHQgc3RlcHMgSSB3b3VsZCBzdGFydCBkaXNhc3NlbWJsaW5nICJt eV9hcHAiIG9yIGNoZWNraW5nIGluCj4+IGdkYiB3aGljaCBiYWQgYWRkcmVzcyBpcyBiZWluZyBm ZWQgaW50byBzdHJubGVuLgo+Pgo+PiBTZWN0aW9ucyBvZiBpbnRlcmVzdCAoYG9iamR1bXAgLXNE IG15X2FwcGAgX2FuZF8gYHJlYWRlbGYgLVcgLWEgbXlfYXBwYCk6Cj4+Cj4+IC0gbHR0bmdfdXN0 X3RyYWNlcG9pbnRzX3B0cnMKPj4gLSBsdHRuZ191c3RfdHJhY2Vwb2ludHNfc3RyaW5ncwo+Pgo+ PiBTeW1ib2xzIG9mIGludGVyZXN0IChgb2JqZHVtcCAtc0QgbXlfYXBwYCBfYW5kIGBubSBteV9h cHBgKToKPj4KPj4gLSBsdHRuZ191c3RfdHJhY2Vwb2ludF9oZWxsb193b3JsZF9fX215X2ZpcnN0 X3RyYWNlcG9pbnQKPj4gLSBsdHRuZ191c3RfdHJhY2Vwb2ludHNfcHRycwo+PiAtIF9fc3RhcnRf bHR0bmdfdXN0X3RyYWNlcG9pbnRzX3B0cnMKPj4gLSBfX3N0b3BfbHR0bmdfdXN0X3RyYWNlcG9p bnRzX3B0cnMKPj4KPj4gdGhhbmtzLAo+PiBraWVuYW4KPj4KPj4+ICAgICAgVWx0aW1hdGVseSwg Z2l2ZW4gdGhlIGJlc3Bva2UgZW52aXJvbm1lbnQsIGJ1aWxkIHN0ZXBzLCBhbmQgYXBwbGljYXRp b24KPj4+ICAgICAgaXQncyB0b3VnaCB0byBkaWFnbm9zZSBhIGxvdCBvZiB0aGluZ3MgdGhhdCB3 ZSB3b3VsZCBnbyBvdmVyIHdpdGggYQo+Pj4gICAgICBmaW5lCj4+PiAgICAgIHRvb3RoIGNvbWI6 IHNlZWluZyBob3cgdGhlIFRQUHMgYXJlIGJ1aWx0IGFuZCBsaW5rZWQsIHNlZWluZyBob3cgdGhl Cj4+PiAgICAgIGFwcGxpY2F0aW9uIGlzIGJ1aWx0IGFuZCBsaW5rZWQsIGFuYWx5emluZyB3aGF0 J3MgaGFwcGVuaW5nIGF0IHJ1bnRpbWUsCj4+PiAgICAgIGhhdmluZyBhIGNvcmVkdW1wIHRoYXQg YWxsb3dzIHVzIHRvIHNlZSB0aGUgdmFyaWFibGVzLCBldGMuCj4+Pgo+Pj4gICAgICBJZiB5b3Ug Y2FuIHByb3ZpZGUgYSBtaW5pbWFsIHJlcHJvZHVjZXIsIGl0J3MgcG9zc2libGUgdG8gZGlnIGZ1 cnRoZXIKPj4+ICAgICAgaW50byBpdC4KPj4+Cj4+PiAgICAgIE90aGVyd2lzZSwgdG8gbG9vayBp biBtb3JlIGRldGFpbCBhdCB5b3VyIHNwZWNpZmljIHByb2plY3Qgd291bGQgYmUKPj4+ICAgICAg Y292ZXJlZCB1bmRlciBhIHNlcnZpY2UgY29udHJhY3QgKGZvciB3aGljaCB3ZSBjYW4gc2lnbiBO REFzLCBldGMuIGFzCj4+PiAgICAgIG5lZWRlZCkuIEZlZWwgZnJlZSB0byByZWFjaCBvdXQgdGhl IHNhbGVzQGVmZmljaW9zLmNvbQo+Pj4gICAgICA8bWFpbHRvOnNhbGVzQGVmZmljaW9zLmNvbT4g dG8gb3JnYW5pc2UgdGhhdC4KPj4+Cj4+Pgo+Pj4gSSB1bmRlcnN0YW5kIGJ1dCBzbyBmYXIgc2No ZWR1bGVzICYgYnVkZ2V0L3ByaW9yaXRpZXMgaGF2ZW4ndCBhbGlnbmVkIHNvCj4+PiBvbmNlIGFn YWluIEkndmUgYmVlbiBzY2hlZHVsZWQgdG8gbG9vayBhdCB0aGlzIGlzc3VlIGFnYWluIHNpbmNl IHdlIGxhc3QKPj4+IHRyaWVkIGl0IG9uIG9sZGVyIER1bmZlbGwgT1Mgd2l0aCBvbGRlciB2ZXJz aW9ucyBvZiBsdHRuZyBhbmQgaXQgbG9va3MKPj4+IGxpa2Ugd2UgaGF2ZSB0aGUgc2FtZSBwcm9i bGVtIGFzIGJlZm9yZS4KPj4+Cj4+PiBUaGFua3MgZm9yIHlvdXIgaGVscCEKPj4+Cj4+PiBSZWdh cmRzLAo+Pj4KPj4+IEJyaWFuCj4+Pgo+Pj4KPj4+ICAgICAgID4KPj4+ICAgICAgID4gSSBkb24n dCBmdWxseSB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbnMgb2Ygc29tZSBvZiB0aGlzCj4+PiAg ICAgIGRvY3VtZW50YXRpb24sCj4+PiAgICAgICA+IGJ1dCBJIGhhdmUgbGVhcm5lZCBlbm91Z2gg dG8ga25vdyBMRF9QUkVMT0FEIG1lYW5zIG5vdGhpbmcgaWYKPj4+ICAgICAgZXZlcnl0aGluZwo+ Pj4gICAgICAgPiBpcyBzdGF0aWMgYnVpbHQuICBPdXIgYXBwbGljYXRpb24gaXMgaGVhdmlseSBt dWx0aSB0aHJlYWRlZCwgdXNlcwo+Pj4gICAgICBmb3JrLAo+Pj4gICAgICAgPiBjbG9uZSBhbmQg d2hvIGtub3dzIGlmIGl0J3MgZG9pbmcgZG91YmxlIGNsb3NlcyBvciBub3QgLi4uIHNvCj4+PiAg ICAgIEkndmUgdHJpZWQKPj4+ICAgICAgID4gdGhlc2UgTERfUFJFTE9BRCAiaGVscGVycyIgb3Ig d2hhdGV2ZXIgdGhleSBhcmUsIGJlZm9yZSBhbmQKPj4+ICAgICAgZGlkbid0IGdldCBhCj4+PiAg ICAgICA+IGRpZmZlcmVudCByZXN1bHQsIGJ1dCBub3cga25vdyBpdCdzIG9ubHkgZm9yIHNoYXJl ZCBsaWJyYXJ5Cj4+PiAgICAgIG9iamVjdC4gIFNvCj4+PiAgICAgICA+IG5vdyBJIHdpbGwgZXhw ZXJpbWVudCB3aXRoIG1ha2luZyBvdXIgdHBwIGEgc2hhcmVkIG9iamVjdCBhbmQgdHJ5Cj4+PiAg ICAgICA+IExEX1BSRUxPQUQgb2YgZm9yaywgZmQgYW5kIHB0aHJlYWQgaGVscGVycyBhbmQgc3Rh cnRpbmcgbXkgYXBwCj4+PiAgICAgIHRoYXQgd2F5Lgo+Pj4KPj4+ICAgICAgTERfUFJFTE9BRCBo YXMgYW4gZWZmZWN0IGlmIHRoZSBhcHBsaWNhdGlvbiB5b3UgYXJlIHJ1bm5pbmcgaXMKPj4+ICAg ICAgZHluYW1pY2FsbHkgbGlua2VkIChub3RlOiB0aGUgVFBQIGNhbiBiZSBzdGF0aWNhbGx5IGxp bmtlZCBpbnNpZGUgYW4KPj4+ICAgICAgZHluYW1pY2FsbHkgbGlua2VkIGV4ZWN1dGFibGUsIGFu ZCB0aGUgcHJlbG9hZHMgYXJlIHN0aWxsIHVzZWZ1bCBhbmQvb3IKPj4+ICAgICAgbmVlZGVkIGlu IHRoYXQgY2FzZSkuCj4+Pgo+Pj4gICAgICBUaGUgZnVuY3Rpb24gb2YgdGhlIGhlbHBlcnMgYXJl IHRvIGVuc3VyZSB0aGF0IHZhcmlvdXMgc3lzdGVtIGNhbGxzCj4+PiAgICAgIGRvbid0IGNsb2Ji ZXIgdGhpbmdzIGluIHVzZSBieSBsdHRuZy11c3QuIEUuZy4sIGNsb3NlKCkgaXMgc2hpbW1lZCBi eQo+Pj4gICAgICBsaWJsdHRuZy11c3QtZmQuc28gc28gdGhhdCBGRHMgdGhhdCBsdHRuZy11c3Qg dXNlcyBhcmVuJ3Qgc3VkZGVubHkgc2h1dAo+Pj4gICAgICBieSB0aGUgcHJvZ3JhbS4KPj4+Cj4+ PiAgICAgIElmIHlvdSB3YW50IHRvIHNlZSBpdCBpbiBhY3Rpb24sIHlvdSBjb3VsZCB0cnkgYW4g ZXhwZXJpbWVudCB3aXRoIGEKPj4+ICAgICAgc2xpZ2h0bHkgbW9kaWZpZWQgaGVsbG8tc3RhdGlj LWxpYiBhcHBsaWNhdGlvbiwgd2l0aCBpbnN0cnVjdGlvbnMgaW4KPj4+ICAgICAgdGhlCj4+PiAg ICAgIHRvcCBjb21tZW50Ogo+Pj4gICAgICBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9raWVuYW5z dGV3YXJ0LzI5OWViNmE1MTFkOTJkNDU4NTY5YjIxMGU0YTQxOGE4IDxodHRwczovL2dpc3QuZ2l0 aHViLmNvbS9raWVuYW5zdGV3YXJ0LzI5OWViNmE1MTFkOTJkNDU4NTY5YjIxMGU0YTQxOGE4Pgo+ Pj4KPj4+ICAgICAgVGhlIGVmZmVjdCBvZiB0aGUgcHJlbG9hZHMgc3VjaCBhcyBsaWJsdHRuZy11 c3QtZmQuc28gYXJlCj4+PiAgICAgIGluZGVwZW5kZW50IG9mCj4+PiAgICAgIGhvdyB0aGUgVFBQ IGlzIGJ1aWx0IGFuZCBsaW5rZWQgdG8gdGhlIGFwcGxpY2F0aW9uIG9yIGxpYnJhcnkuCj4+Pgo+ Pj4gICAgICB0aGFua3MsCj4+PiAgICAgIGtpZW5hbgo+Pj4KPj4+ICAgICAgID4KPj4+ICAgICAg ID4gVGhpcyBpcyB3aGF0IEknbSByZWZlcnJpbmcgdG8gYWJvdmUgZnJvbSB0aGUgbHR0bmcgZG9j czoKPj4+ICAgICAgID4KPj4+ICAgICAgID4KPj4+ICAgICAgID4gICAgICAgICAgIFVzZSBMVFRu Zy1VU1Qgd2l0aCBkYWVtb25zCj4+PiAgICAgICA+Cj4+PiAgICAgICAgPGh0dHBzOi8vbHR0bmcu b3JnL2RvY3MvdjIuMTMvI2RvYy11c2luZy1sdHRuZy11c3Qtd2l0aC1kYWVtb25zCj4+PiAgICAg IDxodHRwczovL2x0dG5nLm9yZy9kb2NzL3YyLjEzLyNkb2MtdXNpbmctbHR0bmctdXN0LXdpdGgt ZGFlbW9ucz4+Cj4+PiAgICAgICA+Cj4+PiAgICAgICA+IElmIHlvdXIgaW5zdHJ1bWVudGVkIGFw cGxpY2F0aW9uIGNhbGxzIGZvcmsoMikKPj4+ICAgICAgID4gPGh0dHBzOi8vbWFuNy5vcmcvbGlu dXgvbWFuLXBhZ2VzL21hbjIvZm9yay4yLmh0bWwKPj4+ICAgICAgPGh0dHBzOi8vbWFuNy5vcmcv bGludXgvbWFuLXBhZ2VzL21hbjIvZm9yay4yLmh0bWw+PiwgY2xvbmUoMikKPj4+ICAgICAgID4g PGh0dHBzOi8vbWFuNy5vcmcvbGludXgvbWFuLXBhZ2VzL21hbjIvY2xvbmUuMi5odG1sCj4+PiAg ICAgIDxodHRwczovL21hbjcub3JnL2xpbnV4L21hbi1wYWdlcy9tYW4yL2Nsb25lLjIuaHRtbD4+ LCBvciBCU0TigJlzCj4+PiAgICAgIHJmb3JrKDIpCj4+PiAgICAgICA+Cj4+PiAgICAgIDxodHRw Oi8vd3d3LmZyZWVic2Qub3JnL2NnaS9tYW4uY2dpP3F1ZXJ5PXJmb3JrJnNla3Rpb249MiZtYW5w YXRoPUZyZWVCU0QrNC4xMC1SRUxFQVNFIDxodHRwOi8vd3d3LmZyZWVic2Qub3JnL2NnaS9tYW4u Y2dpP3F1ZXJ5PXJmb3JrJnNla3Rpb249MiZtYW5wYXRoPUZyZWVCU0QrNC4xMC1SRUxFQVNFPj4s IHdpdGhvdXQgYSBmb2xsb3dpbmcgZXhlYygzKSA8aHR0cHM6Ly9tYW43Lm9yZy9saW51eC9tYW4t cGFnZXMvbWFuMy9leGVjLjMuaHRtbCA8aHR0cHM6Ly9tYW43Lm9yZy9saW51eC9tYW4tcGFnZXMv bWFuMy9leGVjLjMuaHRtbD4+LWZhbWlseSBzeXN0ZW0gY2FsbCwgeW91IG11c3QgcHJlbG9hZCB0 aGUgfGxpYmx0dG5nLXVzdC1mb3JrLnNvfCBzaGFyZWQgb2JqZWN0IHdoZW4geW91IHN0YXJ0IHRo ZSBhcHBsaWNhdGlvbi4KPj4+ICAgICAgID4KPj4+ICAgICAgID4gTERfUFJFTE9BRD1saWJsdHRu Zy11c3QtZm9yay5zbyAuL215LWFwcAo+Pj4gICAgICAgPgo+Pj4gICAgICAgPiBJZiB5b3VyIHRy YWNlcG9pbnQgcHJvdmlkZXIgcGFja2FnZSBpcyBhIHNoYXJlZCBsaWJyYXJ5IHdoaWNoIHlvdQo+ Pj4gICAgICBhbHNvCj4+PiAgICAgICA+IHByZWxvYWQsIHlvdSBtdXN0IHB1dCBib3RoIHNoYXJl ZCBvYmplY3RzIGluIHxMRF9QUkVMT0FEfDoKPj4+ICAgICAgID4KPj4+ICAgICAgID4gTERfUFJF TE9BRD1saWJsdHRuZy11c3QtZm9yay5zbzovcGF0aC90by90cC5zbyAuL215LWFwcAo+Pj4gICAg ICAgPgo+Pj4gICAgICAgPgo+Pj4gICAgICAgPiAgICAgICAgICAgVXNlIExUVG5nLVVTVCB3aXRo IGFwcGxpY2F0aW9ucyB3aGljaCBjbG9zZSBmaWxlCj4+PiAgICAgIGRlc2NyaXB0b3JzCj4+PiAg ICAgICA+ICAgICAgICAgICB0aGF0IGRvbuKAmXQgYmVsb25nIHRvIHRoZW0KPj4+ICAgICAgID4g ICAgICAgICAgIDxodHRwczovL2x0dG5nLm9yZy9kb2NzL3YyLjEzLyNkb2MtbGlibHR0bmctdXN0 LWZkCj4+PiAgICAgIDxodHRwczovL2x0dG5nLm9yZy9kb2NzL3YyLjEzLyNkb2MtbGlibHR0bmct dXN0LWZkPj4KPj4+ICAgICAgID4KPj4+ICAgICAgID4gU2luY2UgMi45Cj4+PiAgICAgICA+Cj4+ PiAgICAgICA+IElmIHlvdXIgaW5zdHJ1bWVudGVkIGFwcGxpY2F0aW9uIGNsb3NlcyBvbmUgb3Ig bW9yZSBmaWxlIGRlc2NyaXB0b3JzCj4+PiAgICAgICA+IHdoaWNoIGl0IGRpZCBub3Qgb3BlbiBp dHNlbGYsIHlvdSBtdXN0IHByZWxvYWQgdGhlCj4+PiAgICAgIHxsaWJsdHRuZy11c3QtZmQuc298 Cj4+PiAgICAgICA+IHNoYXJlZCBvYmplY3Qgd2hlbiB5b3Ugc3RhcnQgdGhlIGFwcGxpY2F0aW9u Ogo+Pj4gICAgICAgPgo+Pj4gICAgICAgPiBMRF9QUkVMT0FEPWxpYmx0dG5nLXVzdC1mZC5zbyAu L215LWFwcAo+Pj4gICAgICAgPgo+Pj4gICAgICAgPiBUeXBpY2FsIHVzZSBjYXNlcyBpbmNsdWRl IGNsb3NpbmcgYWxsIHRoZSBmaWxlIGRlc2NyaXB0b3JzIGFmdGVyCj4+PiAgICAgIGZvcmsoMikK Pj4+ICAgICAgID4gPGh0dHBzOi8vbWFuNy5vcmcvbGludXgvbWFuLXBhZ2VzL21hbjIvZm9yay4y Lmh0bWwKPj4+ICAgICAgPGh0dHBzOi8vbWFuNy5vcmcvbGludXgvbWFuLXBhZ2VzL21hbjIvZm9y ay4yLmh0bWw+PiBvciByZm9yaygyKQo+Pj4gICAgICAgPgo+Pj4gICAgICA8aHR0cDovL3d3dy5m cmVlYnNkLm9yZy9jZ2kvbWFuLmNnaT9xdWVyeT1yZm9yayZzZWt0aW9uPTImbWFucGF0aD1GcmVl QlNEKzQuMTAtUkVMRUFTRSA8aHR0cDovL3d3dy5mcmVlYnNkLm9yZy9jZ2kvbWFuLmNnaT9xdWVy eT1yZm9yayZzZWt0aW9uPTImbWFucGF0aD1GcmVlQlNEKzQuMTAtUkVMRUFTRT4+IGFuZCBidWdn eSBhcHBsaWNhdGlvbnMgZG9pbmcg4oCcZG91YmxlIGNsb3Nlc+KAnS4KPj4+ICAgICAgID4KPj4+ ICAgICAgID4KPj4+ICAgICAgID4gVGhhbmtzLAo+Pj4gICAgICAgPgo+Pj4gICAgICAgPiBCcmlh bgo+Pj4gICAgICAgPgo+Pj4gICAgICAgPgo+Pj4KCnRoYW5rcywKa2llbmFuCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmx0dG5nLWRldiBtYWlsaW5nIGxp c3QKbHR0bmctZGV2QGxpc3RzLmx0dG5nLm9yZwpodHRwczovL2xpc3RzLmx0dG5nLm9yZy9jZ2kt YmluL21haWxtYW4vbGlzdGluZm8vbHR0bmctZGV2Cg==