From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 3C1253858D37 for ; Wed, 28 Jun 2023 15:07:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3C1253858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35SBT9uJ032731; Wed, 28 Jun 2023 15:07:14 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 : content-id : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=oWSZ+YI5r5maEL5hZBRywVDWP8nSlK2w1qIWXWfioRk=; b=J4UqwUKRMQOqvQUuT3W9uywRW/Lyv97ZxCRqKnl9A9pnZTp8P/nAhAbWBnl0fY5KR1Jl rqypCCTPt7H9tReB4SmELRT2BBLlBH2q8pPbhwQIQYlucqnxVyk5IDoKZR2l0vtPHJgZ 5D2AeE3P8oD27JKeL3S6ENmG8PKx3v7oJMuw8G7BmQaE6FXL3fifQlLlGVsq5PPuPjDs tfIfMvVB9zMok2xJcDa8AJ8e29+yHkDM9zDHxCeCvsOu2qSJGj19I3wmVAihWk6uyyo0 rHTRDwQTm3/GrKhpvXi4cY6X1p02Vt2zh/1vC4Y4ej1biajuvR5BpAGX2it11n9QdyUc Pw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3rdq30yu0x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 28 Jun 2023 15:07:14 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35SEegIn029696; Wed, 28 Jun 2023 15:07:13 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2044.outbound.protection.outlook.com [104.47.57.44]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3rdpx64hv6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 28 Jun 2023 15:07:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MkylXKaiByfS8ooj/W4ggvXYeTiHF20ngLrGaMIyjq9nAXVPPEJ6cf586iCTupWNaZzxNatfKTaifljiKLh0u8u59v/FCf6owSRYVYxMpZD3IYspvvOLJ759i9vD98FBVmzo4ewZ/s2ugSjMPan7n7M50Jh3XvS8J/+sf5eTMaR3PtV+uMlTEIo3/6RMiEurVPT1QHZzrCZD8gwyDEQBAwnHbFw77NeiwKvxhnL8H3OXMO67w7FsUnMA9IK+YIUJsdnEtflDvYfDyG7rBctS4ZROhycVXnMwV/ul3ELYA+rVOA8El0zaTQ520l8ohaK0TLeEwLlFhJzvUqBjAMWfiA== 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=oWSZ+YI5r5maEL5hZBRywVDWP8nSlK2w1qIWXWfioRk=; b=NYcKRv96wwjPYlC0SGJJVNkMFLMERcOA0hKlPURuSjrsasDH1DsvZvGpFt3u5Qok7NQKAXji/ZAVFPniCXKeeBOkDb/zSBed9snqaeamxiQ5B73WJ1TFZ5y93rRhAO0q9beRu1ChLYSma/RnaND2MPyW+ASUCK6Cr7CoeMYE1i/Ih4AZNsYNTNuHE/MqUbVL0gGLCUG38g53j/vrQZX1JpLGYySe2ivsVufnm5hvMpLGl7oUQybY0bXKJQFBs9dmte4f9vp4HnvQ/hU+qfWwtChLdKYhH+9c5YgxeGLJ7kAQbqje9v33OQmuZfpxm7AkjEB2bpX0LE05Zt1PgjAc/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; 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=oWSZ+YI5r5maEL5hZBRywVDWP8nSlK2w1qIWXWfioRk=; b=pcIqwJGdioAzN04bG40z4pv4sZqFmdMnMyDnjUw7HjjBzTYuvXFzARygAlvo8xRKlPxsaNbKIFgtVS43xSUJpN9qz3uE2RMzHLeHKBi6HuqBigJTNtIfqEVnDpYOwnmU/WhvZFnVgQpa9N429V8ymh07z6o/RWaGwDIjxWr/X3g= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by SA2PR10MB4666.namprd10.prod.outlook.com (2603:10b6:806:112::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Wed, 28 Jun 2023 15:07:11 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8d90:607a:f94c:5323]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8d90:607a:f94c:5323%3]) with mapi id 15.20.6521.026; Wed, 28 Jun 2023 15:07:11 +0000 From: Qing Zhao To: Alexandre Oliva CC: Qing Zhao via Gcc-patches , Joseph Myers Subject: Re: [PATCH] Introduce hardbool attribute for C Thread-Topic: [PATCH] Introduce hardbool attribute for C Thread-Index: AQHZoBSFsszJUlXTREeC8C9fnLFx8K+VcfMAgACydk+AAtIeAIAAU2q4gAQ4TICAAmFYgYAAgK4A Date: Wed, 28 Jun 2023 15:07:11 +0000 Message-ID: References: <6BED3980-B5DF-4605-A6FA-390B241AB37A@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.3) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR10MB4344:EE_|SA2PR10MB4666:EE_ x-ms-office365-filtering-correlation-id: b6d8d124-30c4-41de-775d-08db77e9596b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QMs7rPiJZ0k8awgEKlhOBeGmvQjDzL38HFJWJxJN7m44prLfTQFs1IxjcghdWqkHeTpWRXD8leUInqWxwRo08FiO38v5apqGA4JmphzryjgNr1HzvVdMdiGVFdnOfzceEa97mwzqrc1svV65o8FFf1Mskb6JP3xaY71TFKvym7DlEB19+ysWhxPbFLud6dTBkTuTUV9xZvieMC6YBR2O1nzJSPSPua3OpW1ykX4KVaebnMj2Zc4fdwGDNuaEBstNu4C4ess1wg9BIorCD+75MeoYUe7JVXfgrw3iA3IfdhBZXKfEpymdWXL8t5/zDp1TBBP38zCKPyTsyqjzQ1HnAf1sjaY/aTVrbDKfVOZNw3W49G4llh7AXsrCPDBPimOM6KKP1ioJGPagyyoFg2RS+sTArXc0PVqqfGIQEhVnHbVLwUvPe5wGhUkMROQAptrEBOTn9HGO1Rd21nXtBSeTIyuy4wYT8V9lGrxhTF4Em8x581q/B3gCH8Xoy6iiPtaAGAYI2g1TpLjiKmwY1cVQ24370jwwbjLbbNeB3DWB1tPkPfZyt5xuRTtXG24/AJPdcjVGqbofy6ZK2EvuJrO76p8+P0IU7C51eKUUZsB5ret5ir+3KdugWGy31Vo8+NF6QGujBVoE+OWEFk7kYKGNopOulyaEKzLkGop/aCudbp8= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR10MB4344.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(396003)(39860400002)(376002)(136003)(451199021)(2906002)(38100700002)(38070700005)(122000001)(33656002)(316002)(41300700001)(4326008)(6916009)(8936002)(2616005)(66476007)(66446008)(64756008)(66946007)(91956017)(76116006)(66556008)(478600001)(86362001)(6506007)(53546011)(6486002)(966005)(8676002)(36756003)(5660300002)(44832011)(71200400001)(186003)(54906003)(6512007)(83380400001)(2004002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b21XRWtpdTF3NFVXNnYzZHh0d0xnRjBicWFtUjNCcnMrWVJxRHU5aWNRZlI2?= =?utf-8?B?eFZadlVYVW96RHNNZ1pUZnZDaUJLZzVjNTRiYVp1bkpXeVIzTS9HWDRyNnEr?= =?utf-8?B?aFNONjZnWWRkU1Z2QmRVd00zZ2ZDU2pKL0ZGbjFiQUJUTWVuMWFocE1iVkZL?= =?utf-8?B?U2NHNHpSVHVIQTB4UFlXNFdKSVMxcEJIc3RpNGdDbnhjczZKTWVkcFc2TGUw?= =?utf-8?B?cWtvYWVlNWdKb2tpMCtYK29wdWM1ZGQzR3huRHVqQ2I5YU1qNDEvRXd6OGo0?= =?utf-8?B?MzRwTnFVa3lvZzY2RTZxaVhCZ3dCNERFeEVHb2RxQ2YrUWsrUWJzbys3a0R5?= =?utf-8?B?UG5QaFRGN0lnQVBSRlppQVBaYXpxckhwWjJWWUJZMzQ3c215UFA2TGk5cE5K?= =?utf-8?B?V1dpZDlmU2h3Zk9GNjRCcWZlRFJUSU0zZzMvN1Vzc2lIVmZqME1wMEx0eUxa?= =?utf-8?B?K2h0OC9hMGRKNU1UblBpYXFzR3BBYzR6Z2hRdTJ4Y0tvWXN3b0lZSG1waUlr?= =?utf-8?B?ZlQzTm0xd1NaYWxaOWFTV1pOQW5iYldSczBaV2xLSUlGQWpvWVFoNERjZzR6?= =?utf-8?B?UUlTNUlvY05DRmRLakR0S0xJRWN6MmVoeGFwSmJnVlJwL2VYMUxJSURTelBs?= =?utf-8?B?ZkM0RWRYY1JtSm90WTNNSGhzaitOSnF4eVg4NHQ1ZXhqQVJuZDh1VHN0dVlp?= =?utf-8?B?bld2TEx3NjZvMnRhWHYzQzJVK21FN0tISU1CSGxaaWlsVjl1cW9rek5nOWJI?= =?utf-8?B?UGNmWmNPN21HNmNuTnQwTDBwdWc5SFJSaVBhOXlCcUppNTFUZWszYndGV1Ix?= =?utf-8?B?cHYzY3VRYWNCdXF6ZzR3dklzd01CSFl4dnFaVE5sYituOGZzR2VrTXZjWUpj?= =?utf-8?B?WERwTWtyT1gydS9BWVVvU3RvdzZTOHhtbmNZenBZNXJaVEpWSHRpQi9QL3BE?= =?utf-8?B?aXNVRnpMWHd1eTlkUm9pU0ZxMk1jYXJVTVhUQjViQlhLVlhrVUlqbnJobm1D?= =?utf-8?B?KzJnTzhIWUQvSkdWb04wN09qSXBiQUJSSFBjU0lWYUluL2FNWDVmdkRqZ29B?= =?utf-8?B?QkgzRlQzbHN2VVJzZjNRZTFrdHNqTk1OTEpodjF6V3lESytscUQyNDhQRlBJ?= =?utf-8?B?RDVVMTkyVERKK3gxZDhsSG14THB6aStwNHRCZ2RoV2Fka21jaWJ5OTVCMDZ3?= =?utf-8?B?dmUvN3JtV2MxNXpNeDZwVGJXQ0N5cTA2UjYzT0hoZlRxTjV6RXYyL2F0ODUx?= =?utf-8?B?WXJrRWV0bWxBZTN4Yjl6RUhXWXF5QmJ3ckhZTHZCWThlOXBjTy92ZVVoei96?= =?utf-8?B?NjU1SDNldDZlTnllWCtnaW5heHp0L1JUV0tYc0hLakV5UjZvampFcGY0TU1M?= =?utf-8?B?SU12SWZrNFFnQ3UwSXBPNUVlVE9VY1dJUmFBa0VJSXpWTDNia2JoSng3ajN6?= =?utf-8?B?NEhYR3dTUWxEN2pQTkxycW8yVEQ3YkdFL293YkExdlh4OVpFVEg4UUNnd1ND?= =?utf-8?B?VFh5RmtKZHZNa3FxbzhQU3RMYkNNTFIwUmM1K2dua0tDYWJ6WVVJbWE0VTFS?= =?utf-8?B?c3N4Ylh1TU1WRkFEYkpZcXljbjJ4SHE4QTFZdXl5UlgvZWkrdlhxakhzSW9q?= =?utf-8?B?Q3VtWTUvOXJNRDBvb1RRRHRDUi9IOFdoR0NLdDM3Qlc5SVg0RWhWUFVVZ21V?= =?utf-8?B?SnZ6RXVRUUpqb0tlMFF4cE9LOEUwQVN5REk4ZGxWL1ZFL2lFbXVsWTNWZmkv?= =?utf-8?B?VkZvQmJhZFd4M3hyUEVSZ2JrR2p3VHNIbkJCWDA5WUs2dHlnVzVvR2lRVTVO?= =?utf-8?B?LzV0Tm43UlQ2MnhJMEw4dVlWU0tzYkhnVEl5aUczQUFZQlNZQmNQN2IxUmxM?= =?utf-8?B?U3hzWFZUMTVLZ0lSTGdDNUxRUFc5aVZCL0t2cUFkMVF2b1hKcFdDSEgwYmdR?= =?utf-8?B?SS9GdzNHeGI2TktXbDQrWk1Ta3JwNFRnajlhVEk4eDhLMXNMUkQwaWRaSlJj?= =?utf-8?B?SCtGSDd4c3Jna1g5ZENkYzE2UmZHOHhqY1VQamJhMDd1QmN2NGVXVUxvMXBv?= =?utf-8?B?OTg0Zkp6YWN0TWkwNnBBT2RyWUErSkgzcDFRQlNpQzl1cTJEdXNBQno2VGs4?= =?utf-8?B?YnJmeHFjek9OYndITEc4NFFlNWhaSks3REJYWmVYK1RLMTFwMHV2cXRVRHhC?= =?utf-8?Q?Y/+zsAmGEBZWMClgKXP+s0E=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <4F6B1668BE8B164C889614F9C7B9B353@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: WNnZD09/NC/dkX5QFcXhWvR3kaUyX4vqzN8a8TY0ci3Z2LSathkRVobzXP+1eAfQgpESnYekJMecAlnQirkI9sBYhwNQgxpFqHeMhk1M+IbQXVf3/bPxSbGv+avK/tpS5Lu0MXpq+fvBBF7uqLo1xBIL+xPxtyzxiwHn7bintJ+W3FnoOpmoBFd7yb8jv7vHZsK2Wlp5E1mfwZ2K59S43lcF19FhZ6prnbQhI7eba6aWMiEpz6XEEUZ+k9oIUBSy7npSxZhU+kpNNJAFGmiUaM0+g2TgdDAI+n+AzHusOvd7pfQ4V+EHZPeQ+OQu9TpExiy8x1s4864q6b7+fFjLGOga8p0eW84AEQq0KApHv3a0Eup5TnFlfg/yxndqP8pbYHVL+5KW4GbSEUEMjxmTdIZUadx5we2Si0nBLWmCZslrbvFw0TbnbY+KCKWaE9oZCkAl075vi2drZsMgMaOalyX8RFm9m96GAUoGXtY85JafcWyrWGtxueiU8TDilpR3lFnjmXXBCwuFw7yyJ8CPu4kL762mXI2r5HAreePNehwiphXvglXxYKrUPynEc6hqDUvIioqgL8MYKKFLzcWZDKD6CXJopbuC9+Gv8fYNE8MYYxFLCx5zsa9E1zqoNA8iNCiPo2DdX/0NsIl1U1bK4ZYpB5wxpszK5k5R7lgHld9pt6SRcOOJBUlZH1OWo/5cxcJw2vfcuCXzhq2l3TExnZz2BC0aIj2SpQdFII3iAC1M5ogG1xrZInFA9pcvUTvrYHtIY+dLN8ZnZ4zyhkflGuNsGa4pMTsysTF3voPFaLDUISg9rzoFjk5+qZDnRnMafJpKyTWSmg4CWMjHPs6S8w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6d8d124-30c4-41de-775d-08db77e9596b X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2023 15:07:11.3736 (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: n8fGgyDmJUAxWe0rLB8yMJcRhj+HWJ+A0OvD4OKKorm/FR4HIUdIebI817JcnQjIfm9laFcFoOLK49qk/nW4tw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4666 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-06-28_10,2023-06-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 adultscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306280134 X-Proofpoint-ORIG-GUID: DC4hYaIuy0j339nBpQovHbFcFSQvOY7n X-Proofpoint-GUID: DC4hYaIuy0j339nBpQovHbFcFSQvOY7n X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: DQoNCj4gT24gSnVuIDI4LCAyMDIzLCBhdCAzOjI2IEFNLCBBbGV4YW5kcmUgT2xpdmEgPG9saXZh QGFkYWNvcmUuY29tPiB3cm90ZToNCj4gDQo+Pj4+PiBJJ2QgcHJvYmFibHkgaGF2ZSBhcnJhbmdl ZCBmb3IgdGhlIGZyb250LWVuZCB0byBjcmVhdGUgdGhlIGluaXRpYWxpemVyDQo+Pj4+PiB2YWx1 ZSwgYmVjYXVzZSBleHBhbnNpb24gdGltZSBpcyB0b28gbGF0ZSB0byBmaWd1cmUgaXQgb3V0OiB3 ZSBtYXkgbm90DQo+Pj4+PiBldmVuIGhhdmUgdGhlIGZyb250LWVuZCBhdCBoYW5kIGFueSBtb3Jl LCBpbiBjYXNlIG9mIGx0byBjb21waWxhdGlvbi4NCj4+PiANCj4+Pj4gSXMgdGhlIGhhcmRib29s IGF0dHJpYnV0ZSBpbmZvcm1hdGlvbiBhdmFpbGFibGUgZHVyaW5nIHRoZSBydGwgZXhwYW5zaW9u IHBoYXNlPw0KPj4+IA0KPj4+IEl0IGlzIGluIHRoZSBzZW5zZSB0aGF0IHRoZSBhdHRyaWJ1dGUg bGl2ZXMgb24sIGJ1dCBjX2hhcmRib29sX3R5cGVfYXR0cg0KPj4+IGlzIGEgZnJvbnRlbmQgZnVu Y3Rpb24sIGl0IGNhbm5vdCBiZSBjYWxsZWQgZnJvbSBlLmcuIGx0bzEuDQo+PiBkb2VzIGxvb2t1 cF9hdHRyaWJ1dGUgd29yayBmb3IgdGhpcyBhdHRyaWJ1dGUgZHVyaW5nIHJ0bCBleHBhbnNpb24/ DQo+PiAoU3RpbGwgYSBsaXR0bGUgY29uZnVzaW5nIGhlcmUpDQo+IA0KPiBZZXMsIHRoZSBoYXJk Ym9vbCBhdHRyaWJ1dGUgd291bGQgYmUgdGhlcmUgaW4gQy4NCj4gQnV0IG5vdCBpbiBBZGEuDQo+ IA0KPiBBbmQgdGhhdCBzaG91bGQgYmUgZmluZSwgYmVjYXVzZSBBZGEgaGFyZGJvb2wgaXMgaGFu ZGxlZCBlbnRpcmVseSBpbiB0aGUNCj4gZnJvbnRlbmQsIGFzIGFyZSBub24taGFyZGVuZWQgYm9v bGVhbnMgd2l0aCByZXByZXNlbnRhdGlvbiBjbGF1c2VzLCB0aGF0DQo+IGJlY29tZSBlbnVtZXJh dGlvbiB0eXBlcyB3aXRob3V0IGFueSBkaXN0aW5ndWlzaGluZyBmZWF0dXJlLg0KPiANCj4+PiBU aGUgaGFyZGJvb2wgYXR0cmlidXRlIGlzIGFsc28gaW1wbGVtZW50ZWQgaW4gQWRhLCBidXQgdGhl cmUgaXQgb25seQ0KPj4+IGFmZmVjdHMgdmFsaWRpdHkgY2hlY2tpbmcgaW4gdGhlIGZyb250IGVu ZDogQm9vbGVhbiB0eXBlcyBpbiBBZGEgYXJlDQo+Pj4gRW51bWVyYXRpb24gdHlwZXMsIGFuZCB0 aGVyZSBpcyBzdGFuZGFyZCBzeW50YXggdG8gc3BlY2lmeSB0aGUNCj4+PiByZXByZXNlbnRhdGlv bnMgZm9yIHRydWUgYW5kIGZhbHNlLiAgQUZBSUNULCBvbmNlIHdlIHRyYW5zbGF0ZSBHTkFUIElS DQo+Pj4gdG8gR05VIElSLCBoYXJkZW5lZCBib29sZWFucyB3b3VsZCBub3QgYmUgcmVjb2duaXph YmxlIGFzIGJvb2xlYW4gdHlwZXMuDQo+Pj4gRXZlbiBub24taGFyZGVuZWQgYm9vbGVhbnMgd2l0 aCByZXByZXNlbnRhdGlvbiBjbGF1c2VzIHdvdWxkLg0KPiANCj4+IFNvLCByaWdodCBub3csIHRo ZSBHTlUgSVIgcmVwcmVzZW50cyBBZGHigJlzIGJvb2xlYW4gdHlwZSBhcyBlbnVtZXJhdGlvbiB0 eXBlPyANCj4gDQo+IEFsbCBBZGEgYm9vbGVhbiB0eXBlcyBhcmUgZGVmaW5lZCBieSB0aGUgbGFu Z3VhZ2UgYXMgZW51bWVyYXRpb24gdHlwZXM6DQo+IA0KPiAgVGhlcmUgaXMgYSBwcmVkZWZpbmVk IGVudW1lcmF0aW9uIHR5cGUgbmFtZWQgQm9vbGVhbiwgW2RlY2xhcmVkIGluIHRoZQ0KPiAgdmlz aWJsZSBwYXJ0IG9mIHBhY2thZ2UgU3RhbmRhcmRdLiAgSXQgaGFzIHRoZSB0d28gZW51bWVyYXRp b24NCj4gIGxpdGVyYWxzIEZhbHNlIGFuZCBUcnVlIG9yZGVyZWQgd2l0aCB0aGUgcmVsYXRpb24g RmFsc2UgPCBUcnVlLiAgQW55DQo+ICBkZXNjZW5kYW50IG9mIHRoZSBwcmVkZWZpbmVkIHR5cGUg Qm9vbGVhbiBpcyBjYWxsZWQgYSBib29sZWFuIHR5cGUuDQo+IA0KPiBIb3dldmVyLCBib29sZWFu IHR5cGVzIHdpdGhvdXQgcmVwcmVzZW50YXRpb24gY2xhdXNlcyBhcmUgbWFwcGVkIHRvIHRoZQ0K PiBsYW5ndWFnZS1pbmRlcGVuZGVudCBib29sZWFuX3R5cGVfbm9kZS4gIFRob3NlIHRoYXQgZG8g YXJlIG1hcHBlZCB0bw0KPiBlbnVtZXJhdGlvbiB0eXBlcy4NCg0KPj4+IFNvDQo+Pj4gaGFuZGxp bmcgdGhlc2UgZGlmZmVyZW50bHkgZnJvbSBvdGhlciBlbnVtZXJhdGlvbiB0eXBlcywgdG8gbWFr ZSB0aGVtDQo+Pj4gY2xvc2VyIHRvIGJvb2xlYW5zLCB3b3VsZCBiZSBhIGJpdCBvZiBhIGNoYWxs ZW5nZSwNCj4gDQo+PiBpcyB0aGVyZSBhbnkgc3BlY2lhbCBoYW5kbGluZyBpbiBHTlUgSVIgd2hl biByZXByZXNlbnRpbmcgQWRh4oCZcw0KPj4gYm9vbGVhbiB0eXBlIGFzIGVudW1lcmF0aW9uIHR5 cGU/DQo+PiBBbnkgaXNzdWUgcmlnaHQgbm93Pw0KPiANCj4gTm90IHRoYXQgSSdtIGF3YXJlIG9m LiAgVGhlIGZyb250IGVuZCB0YWtlcyBjYXJlIG9mIGNvbnZlcnRpbmcgYmV0d2Vlbg0KPiBub24t Ym9vbGVhbl90eXBlX25vZGUgZW51bWVyYXRpb24gdHlwZXMgYW5kIGJvb2xlYW5fdHlwZV9ub2Rl IGFzIG5lZWRlZCwNCj4gc28gdGhhdCB0aGUgR05VIElSIG5lZWRzIG5vIGV4dHJhIGluZm9ybWF0 aW9uLg0KDQpJbiBzdW1tYXJ5LCBBZGHigJlzIEJvb2xlYW4gdmFyaWFibGVzICh3aGV0aGVyIGl0 4oCZcyBoYXJkZW5lZCBvciBub3QpIGFyZSByZXByZXNlbnRlZCBhcw0KZW51bWVyYXRpb24gdHlw ZXMgaW4gR05VIElSLiBGRSB0YWtlcyBjYXJlIG9mIHRoZSBjb252ZXJ0aW5nIGJldHdlZW4gDQpu b24tYm9vbGVhbl90eXBlX25vZGUgZW51bWVyYXRpb24gdHlwZXMgYW5kIGJvb2xlYW5fdHlwZV9u b2RlIGFzIG5lZWRlZCwgDQpubyBzcGVjaWFsIGhhbmRsaW5nIGluIE1pZGRsZSBlbmQuIA0KDQpT bywgaXMgdGhpcyBleGFjdGx5IHRoZSBzYW1lIHNpdHVhdGlvbiBhcyB0aGUgbmV3IGhhcmRib29s IGF0dHJpYnV0ZSBmb3IgQyBiZWluZyBpbXBsZW1lbnRlZCBpbiANCnRoaXMgcGF0Y2g/DQoNCihB bm90aGVyIHF1ZXN0aW9uLCBmb3IgQWRh4oCZcyBCb29sZWFuIHZhcmlhYmxlcywgZG9lcyB0aGUg YWRhIEZFIGFsc28gaW5zZXJ0IEJVSUxUX0lOX1RSQVAgd2hlbg0KICBUaGUgdmFsdWUgaXMgbmVp dGhlciB0cnVlX3ZhbHVlIG5vciBmYWxzZV92YWx1ZT8pDQoNCj4+PiBhbmQgYQ0KPj4+IGJhY2t3 YXJkcy1jb21wYXRpYmlsaXR5IGlzc3VlIChiZWNhdXNlIHN1Y2ggYm9vbGVhbnMgaGF2ZSBhbHJl YWR5IGJlZW4NCj4+PiBoYW5kbGVkIGluIHRoZSBwcmVzZW50IHdheSBzaW5jZSB0aGUgaW50cm9k dWN0aW9uIG9mIC1mdHJpdmlhbC0qIGJhY2sgaW4NCj4+PiBHQ0MxMikNCj4gDQo+PiBXaXRoIHRo ZSBuZXcgaGFyZGJvb2wgYXR0cmlidXRlIGFkZGVkIGZvciBDLCBhbiBvcmlnaW5hbCBib29sIHR5 cGUNCj4+IGJlY29tZXMgYW4gZW51bWVyYXRpb24gdHlwZSBsb2dpY2FsbHksDQo+IA0KPiBUaGVy ZSdzIG5vIGNoYW5nZSB0byB0aGUgb3JpZ2luYWwgYm9vbCB0eXBlLg0KPiANCj4gT25seSBoYXJk Ym9vbCB0eXBlcyBhcmUgcmVwcmVzZW50ZWQgYXMgZW51bWVyYXRpb24gdHlwZXMgaW4gQy4NCj4g DQo+IEluIEFkYSwgYm9vbGVhbiB0eXBlcyB3aXRoIHJlcHJlc2VudGF0aW9uIGNsYXVzZXMgYXJl IHN0aWxsIHJlcHJlc2VudGVkDQo+IGFzIGVudW1lcmF0aW9uIHR5cGVzLCB3aGV0aGVyIG9yIG5v dCB0aGV5J3JlIGhhcmRib29sLg0KPiANCj4+IEJ1dCBzdWNoIGluZm9ybWF0aW9uIGlzIG5vdCBw YXNzZWQgdG8gbWlkZGxlIGVuZCB0aHJvdWdoIEdOVSBJUiwgU28sDQo+PiBpbiBHQ0MgbWlkZGxl LWVuZCwgV2Ugc3RpbGwgdHJlYXQgc3VjaCB0eXBlIGFzIGJvb2xlYW4sIG5vdCBhbg0KPj4gZW51 bWVyYXRpb24gdHlwZS4NCj4gDQo+IFRoZSBtaWRkbGUtZW5kIGRvZXNuJ3Qga25vdyAoYW5kIEFU TSBjYW5ub3Qga25vdykgdGhhdCB0aG9zZSByZXByZXNlbnRlZA0KPiBhcyBlbnVtZXJhdGlvbiB0 eXBlcyBhcmUgY29uY2VwdHVhbGx5IGJvb2xlYW5zLCBzbyB0aGV5IGFyZSB0cmVhdGVkIGFzDQo+ IGVudW1lcmF0aW9uIHR5cGVzLCBub3QgYXMgYm9vbGVhbnMuDQpUaGV5IHNob3VsZCBrbm93IGl0 4oCZcyBhIGJvb2xlYW4gaWYgdXNpbmcgdGhlIGxvb2t1cF9hdHRyaWJ1dGUgdG8gZ2V0IHRoZSBh dHRyaWJ1dGUgaW5mbyAtOikNCj4gDQo+Pj4gc3RhdGljIGhib29sIHplcm9pbml0OyAvKiBGYWxz ZSwgc3RvcmVkIGFzIChjaGFyKTB4NWEuICAqLw0KPj4+IGF1dG8gaGJvb2wgdW5pbml0OyAgICAg LyogVW5kZWZpbmVkLCBtYXkgdHJhcC4gICovDQo+IA0KPj4gRm9yIHRoZSBoYXJkYm9vbCB2YXJp YWJsZSAidW5pbml0IiwgLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQ9emVybyB3aWxsDQo+PiBpbml0 aWFsaXplIGl0IHRvIHplcm8sIGFuZCBpdCB3aWxsIHRyYXAgZHVyaW5nIHJ1bnRpbWUuDQo+PiBB bmQgYXQgdGhlIHNhbWUgdGltZSwgLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQ9cGF0dGVybiB3aWxs IGluaXRpYWxpemUNCj4+IGl0IHRvIDB4ZmUsIGFuZCBpdCB3aWxsIHRyYXAgZHVyaW5nIHJ1bnRp bWUsIHRvby4NCj4gDQo+PiBJIHRoaW5rIHRoZXNlIGFyZSBnb29kIGJlaGF2aW9ycywganVzdCBu ZWVkIHRvIGJlIGRvY3VtZW50ZWQuIA0KPiANCj4gWW91IG1lYW4gbW9yZSB0aGFuIHdoYXQncyBp biB0aGUgcGF0Y2ggcG9zdGVkIGxhc3Qgd2Vlaz8NCk5vLCB0aGUgdXBkYXRlZCBkb2MgaXMgZ29v ZCBJIHRoaW5rLg0KDQo+IA0KPj4+IA0KPj4+PiBBbmQgdGhpcyBpcyBhIHZlcnkgcmVhc29uYWJs ZSBpbml0aWFsIHZhbHVlIGZvciBCb29sZWFuIHZhcmlhYmxlcywNCj4+PiANCj4+PiBBZ3JlZWQu ICBUaGUgYWxsLXplcm9zIGJpdCBwYXR0ZXJuIGlzIG5vdCBzbyBncmVhdCBmb3IgYm9vbGVhbnMg dGhhdCB1c2UNCj4+PiBhbHRlcm5hdGUgcmVwcmVzZW50YXRpb25zLCB0aG91Z2gsIHN1Y2ggYXMg dGhlIGZvbGxvd2luZyBzdGFuZGFyZCBBZGE6DQo+Pj4gDQo+Pj4gdHlwZSBNeUJvb2wgaXMgbmV3 IEJvb2xlYW47DQo+Pj4gZm9yIE15Qm9vbCB1c2UgKDE2IzVhIywgMTYjYTUjKTsNCj4+PiBmb3Ig TXlCb29sJ1NpemUgdXNlIDg7DQo+Pj4gDQo+Pj4gb3IgZm9yIGJpYXNlZCB2YXJpYWJsZXMgc3Vj aCBhczoNCj4+PiANCj4+PiBYIDogSW50ZWdlciByYW5nZSAyNTQgLi4gNTA3Ow0KPj4+IGZvciBY J1NpemUgdXNlIDg7IC0tIGJpdHMsIHNvIGEgYmlhc2VkIHJlcHJlc2VudGF0aW9uIGlzIHJlcXVp cmVkLg0KPj4+IA0KPj4+IEp1c3QgdG8gbWFrZSB0aGluZ3MgbW9yZSBpbnRlcmVzdGluZywgSSBj aG9zZSBhIHJhbmdlIGZvciBYIHRoYXQgY2F1c2VzDQo+Pj4gdGhlIGNvbXBpbGVyIHRvIHJlcHJl c2VudCAweGZlIGFzIDB4MDAgaW4gaW4gdGhlIGJ5dGUgdGhhdCBob2xkcyBYLCBidXQNCj4+PiB0 aGF0IHBsYWNlcyB0aGUgMHhmZSBwYXR0ZXJuIGp1c3Qgb3V0IG9mIHRoZSByYW5nZSA6LSkgU28g d2l0aA0KPj4+IC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXplcm8sIFggPSAyNTQsIHdoZXJlYXMg d2l0aA0KPj4+IC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXBhdHRlcm4sIGl0IGZhaWxzIHZhbGlk aXR5IGNoZWNraW5nLCBhbmQgbWlnaHQNCj4+PiBjb21lIG91dCBhcyA1MDggaWYgdGhhdCdzIGRp c2FibGVkLg0KPiANCj4+IGZvciB0aGUgYmlhc2VkIHZhcmlhYmxlIFgsIGl0IHdhcyBpbml0aWFs aXplZCB0byAyNTQgKHRoZSBzbWFsbGVzdA0KPj4gdmFsaWQgdmFsdWUgaW4gdGhlIHJhbmdlKSB3 aGVuIC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXplcm8sIGFuZA0KPj4gZmFpbHMgdmFsaWRpdHkg Y2hlY2tpbmcgd2hlbiAtZnRyaXZpYWwtYXV0by12YXItaW5pdD1wYXR0ZXJuLCBib3RoIGFyZQ0K Pj4gR09PRCBhbmQgcmVhc29uYWJsZSBiZWhhdmlvcnMgd2l0aCAtZnRyaXZpYWwtYXV0by12YXIt aW5pdC4NCj4gDQo+ICpub2QqLiAgSG93ZXZlciwgSSBkb24ndCB0aGluayB0aGlzIHNwZWNpZmlj IGJpYXNlZCByZXByZXNlbnRhdGlvbiBpcw0KPiBtYW5kYXRlZCBieSB0aGUgbGFuZ3VhZ2UgKEFG QUlDVCBpdCBkb2Vzbid0IGV2ZW4gbWFuZGF0ZSBzdXBwb3J0IGZvcg0KPiBiaWFzZWQgcmVwcmVz ZW50YXRpb25zLCBidXQgaXQgZXhwbGljaXRseSBhbGxvd3MgdGhlbSkuICBUaGlzIG1lYW5zIGl0 DQo+IGNvdWxkIGNvbmNlaXZhYmx5IG1hcCB0aGUgYWxsLXplcm9zIHBhdHRlcm4gdG8gYSB0cmFw cGluZyB2YWx1ZSwgYW5kDQo+IDB4ZmUgY291bGQgc3RhbmQgZm9yIDUwNywgb3IgNTA2LCBvciBl dmVuIG90aGVyIHZhbHVlcywgZGVwZW5kaW5nIG9uIHRoZQ0KPiBiaWFzLg0KWWVzLg0KPiANCj4+ IEhvdyBhYm91dCB0aGUgZm9sbG93aW5nOg0KPiANCj4+PiArVXNlcnMgb2YgdGhlIEBvcHRpb257 LWZ0cml2aWFsLWF1dG8tdmFyLWluaXR9IHNob3VsZCBiZSBhd2FyZSB0aGF0IHRoZSBiaXQNCj4+ PiArcGF0dGVybnMgdXNlZCBhcyBpbml0aWFsaXplcnMgYXJlIEBlbXBoe25vdH0gY29udmVydGVk IHRvDQo+Pj4gK0Bjb2Rle2hhcmRib29sfSB0eXBlcywgc28gdXNpbmcgYSBAY29kZXtoYXJkYm9v bH0gdmFyaWFibGUgdGhhdCBpcw0KPj4+IGltcGxpY2l0bHkgaW5pdGlhbGl6ZWQNCj4+PiArYnkg IHRoZSBAb3B0aW9uey1mdHJpdmlhbC1hdXRvLXZhci1pbml0fSBtYXkgdHJhcCBpZiB0aGUgcmVw cmVzZW50YXRpb25zIHZhbHVlcw0KPj4+ICtjaG9zZW4gZm9yIEBjb2Rle2ZhbHNlfSBhbmQgQGNv ZGV7dHJ1ZX0gZG8gbm90IG1hdGNoIHRoZSBpbml0aWFsaXplci4NCj4gDQo+IFRoYXQgd29ya3Mg Zm9yIG1lLg0KPiANCj4+PiBldmVuIGlmIGl0IHdvdWxkIGZvciBhIEBjb2Rle3N0YXRpY30NCj4+ PiArdmFyaWFibGUgb2YgdGhlIHNhbWUgdHlwZS4NCj4gDQo+PiBBIGxpdHRsZSBjb25mdXNlZCBh Ym91dCB0aGUgYWJvdmUgc2VudGVuY2U6IGRvIHlvdSBtZWFuLCBpZiBhIGhhcmRib29sDQo+PiB2 YXJpYWJsZSBpcyBzdGF0aWMgKG5vdCBhdXRvKSwgdGhlbiB0aGUgaW1wbGljaXQgaW5pdGl6bGF0 aW9uIHRvIGl0IGJ5DQo+PiB0aGUgY29tcGlsZXIgd2lsbCBiZSBmYWxzZT8gKEJlY2F1c2Ugc3Rh dGljIHZhcmlhYmxlIGluaXRpYWxpemF0aW9uIGlzDQo+PiBkb25lIGJ5IHRoZSBGRSkNCj4gDQo+ IFllcywgZXhhY3RseSwgdGhhdCdzIHdoYXQncyBpbXBsZW1lbnRlZCBhbmQgZG9jdW1lbnRlZCB3 aXRoIHRoZSBleGFtcGxlDQo+ICJzdGF0aWMgaGJvb2wgemVyb2luaXQiIGFib3ZlLg0KPiANCj4+ IEJ1dCB3aGVuIGEgaGFyZGJvb2wgdmFyaWFibGUgaXMgYXV0bywgdGhlbiB0aGUgaW1wbGljaXQg aW5pdGlhbGl6YXRpb24NCj4+IHRvIGl0IGJ5IHRoZSBjb21waWxlciAod2l0aCAtZnRyaXZpYWwt YXV0by12YXItaW5pdCkgd2lsbCBub3QgYmUNCj4+IGZhbHNlPw0KPiANCj4gWWVhaCwgaXQgY2Fu J3QgYmUgY291bnRlZCBvbiBiZWluZyBmYWxzZS4gIEl0IGNhbiBiZSBhIG1hbGZvcm1lZCB2YWx1 ZS4NCj4gDQo+IFRoaXMgaXMgYWxzbyB0aGUgY2FzZSBvZiBlLmcuIEludGVnZXIgcmFuZ2VzOg0K PiANCj4gIFggOiBJbnRlZ2VyIHJhbmdlIDE3Li40MjsNCj4gDQo+ICB0eXBlIEUgaXMgKFJlZCwg R3JlZW4sIEJsdWUpOw0KPiAgZm9yIEUgdXNlICgxNiMwMGYjLCAxNiMwZjAjLCAxNiNmMDAjKTsg IA0KPiAgWSA6IEU7DQo+IA0KPiAtZnRyaXZpYWwtYXV0by12YXItaW5pdCB3aWxsIGluaXRpYWxp emUgWCBhbmQgWSB3aXRoIHZhbHVlcyB0aGF0IGFyZSBub3QNCj4gYWNjZXB0YWJsZSBmb3IgdGhv c2UgdmFyaWFibGVzLiAgQW5kLCBhcyB5b3Ugc2F5LCB0aGF0J3MgYSBnb29kIHRoaW5nLg0KDQpT bywgZnJvbSBteSBjdXJyZW50IHVuZGVyc3RhbmRpbmcsIGEgc3VtbWFyeSBvbiBteSBtYWpvciBj b25jZXJuIGFuZCB0aGUgcG9zc2libGUgc29sdXRpb24gdG8gdGhpcyBjb25jZXJuOg0KDQoxLiAg VGhlcmUgaXMgb25lIGluY29uc2lzdGVudCBpc3N1ZSBmb3IgdGhlIG5ldyBoYXJkYm9vbCBhdHRy aWJ1dGUgZm9yIEM6DQoNCiAgICAgSWYgdGhlIGhhcmRib29sIHZhcmlhYmxlIGlzIGltcGxpY2l0 bHkgaW5pdGlhbGl6ZWQgYnkgIEZFLCBpLmUsIHdoZW4gaXQgaXMgYSBzdGF0aWMgdmFyaWFibGUs IHRoZSBpbml0aWFsaXplZCB2YWx1ZSBpcyB0aGUgbG9naWNhbCBmYWxzZSB2YWx1ZTsNCkF0IHRo ZSBzYW1lIHRpbWUsDQogICAgIElmIHRoZSBoYXJkYm9vbCB2YXJpYWJsZSBpcyBpbXBsaWNpdGx5 IGluaXRpYWxpemVkIGJ5IG1pZGRsZSBlbmQsIGkuZSwgd2hlbiBpdCBpcyBhbiBhdXRvIHZhcmlh YmxlIHdpdGhvdXQgaW5pdGlhbGl6YXRpb24gKyAtZnRyaXZpYWwtYXV0by12YXItaW5pdCwgIHRo ZSBpbml0aWFsaXplZCB2YWx1ZSBpcyBhIGJpdHdpc2UgemVybyBvciAweEZFOw0KDQoyLiAgIFN1 Y2ggaW5jb25zaXN0ZW5jeSBoYXMgYmVlbiB0aGVyZSBmb3IgQWRh4oCZcyBCb29sZWFuIHZhcmlh YmxlcyBhbmQgYWxzbyAgdHlwZXMgd2l0aCBiaWFzZXMgYWxyZWFkeSwgbm90IGEgbmV3IGlzc3Vl LiANCg0KMy4gIFBvc3NpYmxlIHNvbHV0aW9uIHRvIHRoaXMgZXhpc3RpbmcgaW5jb25zaXN0ZW5j eSBpc3N1ZToNCg0KICAgICBBLiBEb2N1bWVudCBzdWNoIGluY29uc2lzdGVuY3kgYXMgd2UgZGlz Y3Vzc2VkOw0KICAgICBCLiBGaXhpbmcgc3VjaCBpbmNvbnNpc3RlbmN5LiANCg0KQ3VycmVudGx5 LCB3ZSBhcmUgdGFraW5nIHRoZSBzb2x1dGlvbiBBLiBJIGFtIG9rYXkgd2l0aCBpdC4gDQpJcyBp dCBuZWNlc3NhcnkgdG8gZml4IHN1Y2ggaW5jb25zaXN0ZW5jeT8gIEkgYW0gbm90IHRoZSByaWdo dCBwZXJzb24gdG8gbWFrZSB0aGUgc3VnZ2VzdGlvbiBhdCB0aGlzIG1vbWVudC4NCg0KSXMgdGhl IGFib3ZlIHVuZGVyc3RhbmRpbmcgY29ycmVjdD8NCg0KVGhhbmtzLg0KDQpRaW5nDQo+IA0KPiAt LSANCj4gQWxleGFuZHJlIE9saXZhLCBoYXBweSBoYWNrZXIgICAgICAgICAgICAgICAgaHR0cHM6 Ly9GU0ZMQS5vcmcvYmxvZ3MvbHhvLw0KPiAgIEZyZWUgU29mdHdhcmUgQWN0aXZpc3QgICAgICAg ICAgICAgICAgICAgICAgIEdOVSBUb29sY2hhaW4gRW5naW5lZXINCj4gRGlzaW5mb3JtYXRpb24g ZmxvdXJpc2hlcyBiZWNhdXNlIG1hbnkgcGVvcGxlIGNhcmUgZGVlcGx5IGFib3V0IGluanVzdGlj ZQ0KPiBidXQgdmVyeSBmZXcgY2hlY2sgdGhlIGZhY3RzLiAgQXNrIG1lIGFib3V0IDxodHRwczov L3N0YWxsbWFuc3VwcG9ydC5vcmc+DQoNCg==