Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1spFne-0009Rx-Vg for pgsql-sql@arkaria.postgresql.org; Fri, 13 Sep 2024 23:34:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1spFne-00FFkn-2d for pgsql-sql@arkaria.postgresql.org; Fri, 13 Sep 2024 23:34:02 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1spFnd-00FFkD-Ef for pgsql-sql@lists.postgresql.org; Fri, 13 Sep 2024 23:34:01 +0000 Received: from mx0a-00151a02.pphosted.com ([67.231.148.69] helo=mx0b-00151a02.pphosted.com) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1spFnZ-0012Jc-BV for pgsql-sql@lists.postgresql.org; Fri, 13 Sep 2024 23:33:59 +0000 Received: from pps.filterd (m0099558.ppops.net [127.0.0.1]) by mx0a-.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 48DI0mkU030349; Fri, 13 Sep 2024 16:33:56 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maps.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pod05172024; bh=MQ2qCrZnLz3OUE1uyW9O5ekdQqa/goUCEKjbUlb3kRs=; b=p6vxuxJMPO7l YZE2NRoRXEtWkhDeEosr7h/T5CJP7OtsuwF2o4gjmlB7pIbHs5SpdMnK1IpkvdJ0 6qcI6rQp9PZBpvgsZA42eutFLrignZBtCOf2b2q4fsul6cDy5sz5r+nPMDeZ/M7j WJlSZ0Eo5rCnW7dnHCiVjcKbZKhI/Oz7BdJ6OPKhsnY2Ram1QiH6it2QcdhXuF6b 01sZKPVupJDeZUyrShMysF19r5baRkZU54CU3hogLcqMY3xm2UZbw82NLONxwCVs 9dBEqzstRl+Gnm0lckVyjP5tlPmSiG9KOBIFE4aiK+X36UTpMRvhOITXS8Tfm2uN AwRuKWQryg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=esri.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps62018; bh=M Q2qCrZnLz3OUE1uyW9O5ekdQqa/goUCEKjbUlb3kRs=; b=fR79tuZV+m0OSP5lh NanhL3+sf+ft1fI08DTzy1MhD4fW5A+W7bH1KgTtPCiU/9MpxypZWc2A/Jw3e5L0 Ft05sYTO7KgOEKzdBN9PvcgJsa1/Uq+AdTbaQ79MWLU+D0jeRYuYmzG+Mb32yAqB kXmqGug3bVhe9ZQRg7R1DzmmbxF6B+I8yrbZC/GOHJbEsidVkV3Rdvg/PxGG4lBq FGujr8Jr4G4dtxtKhxDNWiEhz7y9A3JyUO1OwogcHIP8XW78pAEE9rxDb6wHijom eCe4MKjVs1FLcFJ2A6VYLThT+43Fy3o0amagjpm+dQBl3XFWgknmRd381V3ncDLU 9pumQ== Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazlp17012054.outbound.protection.outlook.com [40.93.14.54]) by mx0a-.pphosted.com (PPS) with ESMTPS id 41j310t5jw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 13 Sep 2024 16:33:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GwKh4jzoSOf+0BguwYkEeHu//4WkYZd4AULYt5IXVHzS++ObkYk5b/l6tHKfyh9HMWK1ktNJCcS4tSRfiS5YA0wO5yEXsfn3sSegsv1Ug/fg6pjw0xefhhCOo0kU0GHcV/3DAxBBRVEfyIC3MQvIQURKLooAafCS3dYOKu5galZNtsRwQFy+BrMuvmoA1yIQ1zT9a1+6Bnh5iaBriWkVZGRuMuYP+nHLjWR72fNxGMmDhWnNsRnVXS2OmR4esH0w5q4dF9GauV0oOBdJHunZspyP3ol4LwY4t0QcWv/epjYqqL8pMOJNBYZ2QVmhQ8NEPpb0jmHdKQBFzw2oMp+eDw== 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=MQ2qCrZnLz3OUE1uyW9O5ekdQqa/goUCEKjbUlb3kRs=; b=c5SHe6vTEovT/aPfZ2DtcoA/DHLOhqD1fssWUNLXASy58Iz5o85zkW1VMlv7lVvMkV9ceeMCVPm456fiSrqnnhwzhFmpq7+RY3iprSmedCdjhLY8INOX7ZucnUbgg++VR2uG9qTpMfJCZ3KpnmCMqthR1Dr0PZ+1qnASTkCSiwTViv/lja6AGdj2Vsuxkp5UsKYdUh1lvdW7d03i9NJ+y9CkA3thuFaZTrdoDJA2sIxSfxNON7+A5hOap/WJ60HiNc1v9KK/o5/fHDjdxzF2xH7pDYTMet2UYIH1LE7nNf0Pe4B8s9x5QCoMHTNPtVObbVEZzlGohWcFQwGh46HnTA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=esri.com; dmarc=pass action=none header.from=esri.com; dkim=pass header.d=esri.com; arc=none Received: from BY3PR05MB7985.namprd05.prod.outlook.com (2603:10b6:a03:357::16) by SN7PR05MB7581.namprd05.prod.outlook.com (2603:10b6:806:10b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.20; Fri, 13 Sep 2024 23:33:52 +0000 Received: from BY3PR05MB7985.namprd05.prod.outlook.com ([fe80::1136:1f2f:3710:e295]) by BY3PR05MB7985.namprd05.prod.outlook.com ([fe80::1136:1f2f:3710:e295%3]) with mapi id 15.20.7962.016; Fri, 13 Sep 2024 23:33:52 +0000 From: Michael Downey To: Tom Lane CC: "pgsql-sql@lists.postgresql.org" Subject: RE: PostgreSQL implicitly double-quoting identifier name with umlaut Thread-Topic: PostgreSQL implicitly double-quoting identifier name with umlaut Thread-Index: AdsGLnHVnGdm0oISQoqxFlMAEyZJDAABQvkAAABcQcA= Date: Fri, 13 Sep 2024 23:33:52 +0000 Message-ID: References: <156004.1726269616@sss.pgh.pa.us> In-Reply-To: <156004.1726269616@sss.pgh.pa.us> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BY3PR05MB7985:EE_|SN7PR05MB7581:EE_ x-ms-office365-filtering-correlation-id: 9ef4a117-a046-42c7-4291-08dcd44c86f7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?MWNLeDZ6ZzBtKzBEQjFMSTlIMWFxNmgrTlV5USszZm1SK3V4ajhFM0xaVzl2?= =?utf-8?B?Nmc3alRSWWRuNnRGa254dVgyK2NteVRSd0JBeDZIbm5QQ05mNzQyb3dVZnVt?= =?utf-8?B?c2VmRjQ3RVJDdlBJMUQ3Vis0VUQ1RDlIT1ZtVC9Ea3ZmY1lMRnJac2ppYnpq?= =?utf-8?B?bitQODVlK0xaSnZOODZNOW1EcG12T0lnUGdrbEN3eG9vazRlZktnMnZqZENr?= =?utf-8?B?czh4NFVOQXRkdXNRdU9abzVkY2NYS2QxVmFhR3d6TTRicTNjNmRGa0k3YjJU?= =?utf-8?B?bHUrb3kxZnZOcDAvM1RneUVMbmQxaGxaRVNSa2xzWUwwelVMQmI3d2g0WGs3?= =?utf-8?B?R1JIUlJTWDdLbnRnWlNVTGpBanU3T2UvcytHZDRpYWZoMmZ4TWFoWHZJTklm?= =?utf-8?B?RnNWeGtOYmRIZ1pOK0hxdm9qZHpLSnVjYVdvTVRwOTNIVElaeldwTXhja3hm?= =?utf-8?B?WDcrVGhZajJ6eWNoNWlLWEJNSlRKdi9MeFJ6bUZZSFRmTlpjd3QyM0E1VzJr?= =?utf-8?B?M1ZLbDdicG9iSnZBRUh2b2ZzRE5WVHRaZ0drQ3lsMlBBN1JEY1RvN2FiMFJU?= =?utf-8?B?TjNYMEpOU1cya2VVelpnTUNuWmRvTndXdnJNcDB6M3diNlM4RGxuNTRvM0tz?= =?utf-8?B?d1BvVjZvT1pqK041REUrdW1sSVZDYUJpVGdJb1p4VHVkVkFpY2k5cENUSll2?= =?utf-8?B?cDZjSnFrWlBCOFh5RjdvVzdqYnVvOE1vaEN5akVHM21pOFM3dG0xS2ZmbnZn?= =?utf-8?B?T3M4MmxMbHZiQ3BkaUFpYzczakRGeWUwc0drdFNiNVl3MlV0TzU5ZTM2REFE?= =?utf-8?B?Zjc0WGNhYjVoRmJqZk9lUmtPbWcxa1VRbXdtMEVBSktzQ0cxQTNDdkkvTU8r?= =?utf-8?B?SVhyNWJ1M01GbG9TaHRrY0s0Ni9aYktnK3dTUlExMEZiNDZHSTJxak8wRVJR?= =?utf-8?B?VkZCenZTbEp1ZHRQcGxpT0xqY0lxUCsyS0hDczg2WjQrMDBxeW9VNHlhZzRV?= =?utf-8?B?OHJ2SWJHSzdPNURDNnJmWDlKaCthM0xKMXNxNVFLYTJzRUI5S1BQaml3SGJ1?= =?utf-8?B?OHY3Q3hqZEwybUhkZVo5MDVibmlHRkovQm1yQVMzNnlhVkV5Mm5GQXR6QUEv?= =?utf-8?B?RjVNa3d2cWIrT21LeWNNbjc0dHhwakpycU5QTDF4bnBGcHIxM0x6WHUyWDlF?= =?utf-8?B?V0UzT01oY01lcHBLWXRydTJyZ2RiR0FTa1hGU1UzbXhCUDEvK2ZUSDRKMG5x?= =?utf-8?B?ai95VnRSR2hNd2pFaWc4cXpkV3JkR0lZQUNLNEM1Ny9BR0VUbUdCRWtBOEdR?= =?utf-8?B?a1ZkNDFWbHdXR3NiM3JiMFNrZTlZWUMyN3kyTFhrM3R4MXE3eEFBZjgvcXll?= =?utf-8?B?U1RCak1rWWhleU9HNmYwQWVIcE9pQ3dWVlJZMlRhbm0wL3huRDJyU2x4bVA4?= =?utf-8?B?eFVHcU1XcnBFQnBObGVRMlJqK2llTXdnNzlFbjJmQmhTNk1EdTJwbkRESDFG?= =?utf-8?B?MjFqTXRBYVRCWHQ5ZnZWVnlCU2M3RG5OcE5SeEZ3VTV6YXlqZmhDTnpHVkM5?= =?utf-8?B?UU84T1dOaExFUVIvSEZpbk8ycG4rdGhjYXZrZGVnM3VMTGpZZ2lsWGN3b3FP?= =?utf-8?B?SzUxOS9jWm9vZ3UzS3dQRVpsUXg4QzNCM1M4WFJPazk1am1xcEFpSlRscGdM?= =?utf-8?B?YSt0YlVJQjI5S2k4SFVjRjlGMTFJL0I3aTFFZTFiMGRLanJ3OVdzcTZjV3Ax?= =?utf-8?B?bnF5dVFrZjIxY045RDNLUkhVUloyaU0xTmhJYmxqeDZMVC95OWx4dG91SUVY?= =?utf-8?B?MVhMOWR1bCtKd1hPd0UxYzVzdWF6c0J0OFdkTGRINXh3Y1Zxb2FTV3ZnbXZK?= =?utf-8?B?bDc2VWFLWFMrM0JxdG9yTit0TnUzSVdGNnBrdTFiZm01VWc9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY3PR05MB7985.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SVBOR3ZGc1k2R3Z3bnRRZDJGanJxV0g2WmlWSkZSSjF4VFZXSDRlckxCQ081?= =?utf-8?B?UGFvM0xRRUN1eitobFQzcDRXNFpOV01DclpWbjJKL2VXUm5lcjM4ODIxVU44?= =?utf-8?B?U2pnaHVVeDg4dXByMzN4Rk9nRGZFTUNqdloyU0tYMEhXNUk0RkFYaFVBVjZD?= =?utf-8?B?cytFblB2NUc3RnVUaTl1Z254MlVkK1pTeHVRNlJQenNoWE56dmFCaEgxYTJy?= =?utf-8?B?OHlQRlM1d3lISTJZSmRFNzZkb0JteUY4Y3lZNWFiR2xXVS9vRThpeHVxTmpZ?= =?utf-8?B?YW42SDRITkUrdGozTzNGUjZNUXh2ZkhkTFlXRlNzTkRoTmRPTDg1V2dWM2Rq?= =?utf-8?B?Y0d4MHZIOURFZzRvWmFET3djcXJWSllFMjJaOW0vWS90NFpTekQwSVd5Q2xH?= =?utf-8?B?cFAzQVRtRmhDNUZnZnhnZ1I0S0FHSTBTT1ZrU3pUL2xnYzhGUFU3WUFMekRw?= =?utf-8?B?dUUwQmt0amc0UFZkelFGOHMrYUtYMzNzL0MyODNZdzR4cTd5UDdkc3ZIVFNx?= =?utf-8?B?cTdRekJOVzVqOFJsUlpvMWt4K2sxSitrS1lMR05TeUllUElHZnRsTlBZKzUr?= =?utf-8?B?dFdlRzNWK1VRQk4xV21OU1N6T0RqbU56Mnk2eXN4bEZhdUJvelpmUkdHaTYr?= =?utf-8?B?dHVUNHo1OUZOb2lXZTJsVXlpeVpjbFR0ZnZCME5USUhaM2EvVHJPY29PQUZ0?= =?utf-8?B?Z01UUWdvZ01keXRQcTltNDNKSmlZRnZhbnJoZC9HNUVQNnZBSmNNWWxaUjFp?= =?utf-8?B?TS83RWt4clIzRSt2dXNsL3NQd0daMEFlN084RGc4S2FKTC9DVDE5TUpZTCtq?= =?utf-8?B?emZCcEZnN0Vla1NSU09YYW1GYk01TURna0gxNEVJRUtiS2hwc1ZJRi9sMEdM?= =?utf-8?B?OG9ENmxaR3pSZjFBM2phaTlURWVDS0RZK29DRjRHWndjZ21wWDJKaW9jQnlU?= =?utf-8?B?d3R3ZE1BSHE5QUdWN0c1MXMxUWV4MWg5V2UzTlNKRkFKeFBsbHB6VnFrUVhp?= =?utf-8?B?MTZObkdzaDNzVk10ZnJTKyt4RkpLMTd2N0RsZCtVMmg3VWJCaWRCYzFIRjlC?= =?utf-8?B?cWNHWVFUby8veWpuTkVCNTJwemVLeXozTi9EWW43c094Q0JTWS9UVE9YMUs5?= =?utf-8?B?UWJXYUY1NEhhT0NtZDAvNTZVa29FaUxyRTRrNXF3N2FpMm00WjIrSVdEV2ha?= =?utf-8?B?cXo4cks0Sk9BZVZyczV4akpKMnJYc2dLU0JtM2IzcnovTkJjbVdRMXBoMTJS?= =?utf-8?B?Q29sbUFWMTJrNHZEc2ZkSmhZaWpkbXA2Ty8vV1J0Zk9xUGxHOHRramNXeFNw?= =?utf-8?B?eXUyWWdzSSszcnVsWmhwUjZBVnd2bThtVGJ3ODd1SEx5K0VlcmZKUThsRWRP?= =?utf-8?B?TWVwUXdhYXlHMUNnek56ZzZXbmkxNi9GbVR3ZG9CZjFSbDFMQjcxQmV1dXhu?= =?utf-8?B?R3hGUTJ6Ujg2VlUrMnNubmphL3EvRWE5bGVjRXI2UGlRejdSM0h1SGQrMSti?= =?utf-8?B?MHErcUtMdjY3anMwbWU4L2xua2owbXBkVTlQaEx1NXdOMDZmeDdUQzVFOVJ5?= =?utf-8?B?cVVpLytwbjFDMjN1OS9mMjNXaVJmR1hmWER3cGRZdm1ibGxJOFZzazdabHVh?= =?utf-8?B?UFRQdzc1d0U0SStFZnM3Zm1TL1phYlF1a1VWQk5kaHF1L2pFS1RuTE9GZm9E?= =?utf-8?B?SlNobkZvUFNWbFRra1M2T2gvcXB0REVxVFdoSnFHbGtndkdUVFFmdXNrOEow?= =?utf-8?B?RnFWUGoxNnhGcjBmVFdzSEx6VExyL0VHQi9ZcGtEYUlwanA4Zmt1dmwzOXpn?= =?utf-8?B?cTd1QzM5UkJPTEhLdytlWUNPT3NycXFCeVlkNzRIUGZmdThlbm45ZWpsQU5u?= =?utf-8?B?Mko3MUN6NHV4N1p6Z2o3NFdsYm94MmtvSFZGUTF1RnVBMXdoYXJ2NVV2eFZI?= =?utf-8?B?dUNHWGxOcC8vV2tjMTNrd200NVVvd3VEQnR4Rm5IVkI1OStLT09YT2pxQVBC?= =?utf-8?B?aGtwdEZ0THlPNTV3VWJNUkVsd0dMcWd1b0xQOEFsMGswM1puK3NtanUzZENJ?= =?utf-8?B?NUpLQUhJVVY3MkJlRmVZNG1ERUx3WURiVzdWbFJmcS9EcnRKVnFPaGdscDM2?= =?utf-8?Q?5W5M=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: esri.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY3PR05MB7985.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ef4a117-a046-42c7-4291-08dcd44c86f7 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Sep 2024 23:33:52.6231 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: aee6e3c9-711e-4c7c-bd27-04f2307db20d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SLzCVmvHeF9KiMhpU5ysBt9EoTYtIhIscMTsT6rpcHQc8Pd7a6Xg6ABD1pcp3q6lLvSqR9wPhETKJ9iCtWoF0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR05MB7581 X-Proofpoint-GUID: 309pdNgE39DLkYKXb9k4GXdf7ZRocwiN X-Proofpoint-ORIG-GUID: 309pdNgE39DLkYKXb9k4GXdf7ZRocwiN X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 suspectscore=0 clxscore=1011 adultscore=0 spamscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2408220000 definitions=main-2409130167 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk VGhhbmtzIFRvbSENCg0KSSBkb3VidCB3ZSB3b3VsZCB3YW50IHRoaXMgY2hhbmdlZC4gT3VyIGRv Y3VtZW50YXRpb24gYW5kIERldiB0ZWFtIGFyZSBvbi1ib2FyZCBmb3IgdGhlIGxvd2VyIGNhc2Ug Zm9sZGluZyBhbmQgSSByZWFsbHkgd291bGQgbm90IA0Kd2FudCBpdCBjaGFuZ2VkLiBXZSB3aWxs IG1ha2Ugc3VyZSB0aGF0IHdlIG1ha2UgYSBub3RpY2Ugb2YgdGhpcyBpbiBvdXIgZG9jdW1lbnRh dGlvbiBhcyB3ZWxsLg0KDQpUaGFuayB5b3UNCk1pY2hhZWwNCg0KLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCkZyb206IFRvbSBMYW5lIDx0Z2xAc3NzLnBnaC5wYS51cz4gDQpTZW50OiBGcmlk YXksIFNlcHRlbWJlciAxMywgMjAyNCA0OjIwIFBNDQpUbzogTWljaGFlbCBEb3duZXkgPG1kb3du ZXlAZXNyaS5jb20+DQpDYzogcGdzcWwtc3FsQGxpc3RzLnBvc3RncmVzcWwub3JnDQpTdWJqZWN0 OiBSZTogUG9zdGdyZVNRTCBpbXBsaWNpdGx5IGRvdWJsZS1xdW90aW5nIGlkZW50aWZpZXIgbmFt ZSB3aXRoIHVtbGF1dA0KDQpNaWNoYWVsIERvd25leSA8bWRvd25leUBlc3JpLmNvbT4gd3JpdGVz Og0KPiBPbmUgb2Ygb3VyIGludGVybmFsIHVzZXJzLCB1c2luZyBvdXIgdG9vbHMsIGFkZGVkIGEg Y29sdW1uIGNhbGxlZCDDlnJ0c2NoYWZ0LiBXZSBhbnRpY2lwYXRlZCBpdCB3b3VsZCBiZSBmb2xk ZWQgdG8gbG93ZXIgY2FzZS4NCj4gU28gd2UgaW5zZXJ0ZWQgb3VyIG1ldGFkYXRhIGZvciB0aGUg Y29sdW1uIGluIG91ciBtZXRhZGF0YSB3aXRoIHRoZSANCj4gbmFtZSDDtnJ0c2NoYWZ0LiBXaXRo IHRoZSBzeXN0ZW0gcXVlcnkgZm9yIG1ldGFkYXRhLCB3ZSBlbmRlZCB1cCBzZWVpbmcgDQo+IHF1 ZXJ5IG1pc21hdGNoZXMgaW52b2x2aW5nIHRoaXMgY29sdW1uIGFzIHdlIGZvdW5kIHRoZSBhY3R1 YWwgY29sdW1uIG5hbWUgaXMgw5ZydHNjaGFmdCBpbiB0aGUgZGF0YWJhc2UuDQoNCldoZW4gd29y a2luZyBpbiBVVEY4IChvciBhbnkgbXVsdGlieXRlIGVuY29kaW5nKSwgUEcncyBpZGVudGlmaWVy IGNhc2UtZm9sZGluZyBjaGFuZ2VzIG9ubHkgQVNDSUkgbGV0dGVycy4gIEkgY2FuJ3QgZmluZCBh bnl0aGluZyBpbiBvdXIgU0dNTCBkb2NzIGFib3V0IHRoaXMsIGF0IGxlYXN0IG5vdCB3aGVyZSBJ J2QgZXhwZWN0IGl0IHRvIGJlIGRvY3VtZW50ZWQuICBUaGUgY29kZSBpcyBwcmV0dHkgY2xlYXIg YWJvdXQgd2hhdCBpdCdzIGRvaW5nIHRob3VnaDoNCg0KICAgIC8qDQogICAgICogU1FMOTkgc3Bl Y2lmaWVzIFVuaWNvZGUtYXdhcmUgY2FzZSBub3JtYWxpemF0aW9uLCB3aGljaCB3ZSBkb24ndCB5 ZXQNCiAgICAgKiBoYXZlIHRoZSBpbmZyYXN0cnVjdHVyZSBmb3IuICBJbnN0ZWFkIHdlIHVzZSB0 b2xvd2VyKCkgdG8gcHJvdmlkZSBhDQogICAgICogbG9jYWxlLWF3YXJlIHRyYW5zbGF0aW9uLiAg SG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgbG9jYWxlcyB3aGVyZSB0aGlzDQogICAgICogaXMgbm90 IHJpZ2h0IGVpdGhlciAoZWcsIFR1cmtpc2ggbWF5IGRvIHN0cmFuZ2UgdGhpbmdzIHdpdGggJ2kn IGFuZA0KICAgICAqICdJJykuICBPdXIgY3VycmVudCBjb21wcm9taXNlIGlzIHRvIHVzZSB0b2xv d2VyKCkgZm9yIGNoYXJhY3RlcnMgd2l0aA0KICAgICAqIHRoZSBoaWdoIGJpdCBzZXQsIGFzIGxv bmcgYXMgdGhleSBhcmVuJ3QgcGFydCBvZiBhIG11bHRpLWJ5dGUNCiAgICAgKiBjaGFyYWN0ZXIs IGFuZCB1c2UgYW4gQVNDSUktb25seSBkb3duY2FzaW5nIGZvciA3LWJpdCBjaGFyYWN0ZXJzLg0K ICAgICAqLw0KDQpUaGVzZSBkYXlzIHRoZSBjbGFpbSB0aGF0IG5vIGluZnJhc3RydWN0dXJlIGlz IGF2YWlsYWJsZSBpcyBvYnNvbGV0ZS4NCkJ1dCBJJ20gbWlnaHR5IGhlc2l0YW50IHRvIHRvdWNo IHRoaXMgYmVoYXZpb3IsIGJlY2F1c2UgaXQnZCBhbG1vc3Qgc3VyZWx5IGJyZWFrIHBlb3BsZXMn IGFwcHMuICBXZSBjb3VsZCBkbyBiZXR0ZXIgb24gdGhlIGRvY3VtZW50YXRpb24gZnJvbnQgdGhv dWdoLg0KDQoJCQlyZWdhcmRzLCB0b20gbGFuZQ0K