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 1tV4Fu-0057H3-5e for pgsql-sql@arkaria.postgresql.org; Tue, 07 Jan 2025 07:44:02 +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 1tV4Fs-000v5I-Nh for pgsql-sql@arkaria.postgresql.org; Tue, 07 Jan 2025 07:44:00 +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 1tV4Fs-000v59-AS for pgsql-sql@lists.postgresql.org; Tue, 07 Jan 2025 07:44:00 +0000 Received: from mail-am6eur05on2045.outbound.protection.outlook.com ([40.107.22.45] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tV4Fo-000IGd-1B for pgsql-sql@lists.postgresql.org; Tue, 07 Jan 2025 07:43:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=N2XyYZFmOGL8HWMMNYbUYXu3GvtRlzddu3KqbgrUSlvpFyBnGnR1MKDFhSY/b1rbPxS5GBjAqI3zhZaisBaeAc3LTMCXV00L9cfyInTM9YMt73B6YPUg2Rf0uLsyC7tAWcnphxXaAFJ+fHr8XJ0oRrHHRbtXcXUBLraWE/byggNmAFLith/UE/mz6RA+0sOrv2pWN+jOFY7Uudf8H4eYrNioMB7Bv5jJWoo8wM4U/YVpbjp0GQQOIHD/5Xw8/AJJ1oZ+HH+P9iKDeGrhbmvgyH4c/sm+4qbnzEZ+3tE8/I2TbCflxp5Ebg9TkMDOsJTVICWSJ4yjZmBVXoHQyUBwKA== 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=K3zxAkogKoWRFjbcmtfStgs/PAvAyfAvrEESm9GZLdY=; b=gBUm4Imh74v1+P1w6Bkkbpud5wRBgZ2gIgEbOrneDC/ziYtABfFdg+z0rRhSUWgCy63rNei8LTYrKzcuNyJID4lv3v75TFW8ZCX6KqJ8nfVJOuCe4PVSzol65+MQdf9d+TD2Hnk4zBuBi29sRB47A16RqYP8m+zwc4IyoDbuCM98Z5hOkXETjhh4vDkIOa77Q4kXShSbXzoUV6rjaqf/Wet1EMMqWOINXnBsMFprlm/nvg3P3AOFNw7c7vus3o0o16AqeAF7XA+IQtMMHfmTGNp1L1f3xnfoR/rzusGiy1VE8qT3QaAzgO7iR6pf3E9fpSbeVORcjvNDbtfBrcpeTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sia.es; dmarc=pass action=none header.from=sia.es; dkim=pass header.d=sia.es; arc=none Received: from PR3P193MB0731.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:32::22) by AM9P193MB1396.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:30c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.18; Tue, 7 Jan 2025 07:43:48 +0000 Received: from PR3P193MB0731.EURP193.PROD.OUTLOOK.COM ([fe80::4c32:37f5:903c:1f1b]) by PR3P193MB0731.EURP193.PROD.OUTLOOK.COM ([fe80::4c32:37f5:903c:1f1b%4]) with mapi id 15.20.8314.015; Tue, 7 Jan 2025 07:43:48 +0000 From: "Zornoza Sanchez, Jose Blas" To: Tomasz Szypowski , Tom Lane CC: "pgsql-sql@lists.postgresql.org" Subject: RE: View performance with implicit cast Thread-Topic: View performance with implicit cast Thread-Index: AdtdT8D9FHqkp7G6RrOZJX+LMa4J3ABh/RKAADq7FsAARSMCwA== Date: Tue, 7 Jan 2025 07:43:48 +0000 Message-ID: References: <640397.1736015849@sss.pgh.pa.us> In-Reply-To: Accept-Language: es-ES, en-US Content-Language: es-ES X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_e7dff87e-ca3a-45ca-8165-560d8adcfaef_Enabled=true; MSIP_Label_e7dff87e-ca3a-45ca-8165-560d8adcfaef_SetDate=2025-01-05T22:45:13Z; MSIP_Label_e7dff87e-ca3a-45ca-8165-560d8adcfaef_Method=Standard; MSIP_Label_e7dff87e-ca3a-45ca-8165-560d8adcfaef_Name=General; MSIP_Label_e7dff87e-ca3a-45ca-8165-560d8adcfaef_SiteId=88152bde-cfa3-4a5c-b981-a785c624bb42; MSIP_Label_e7dff87e-ca3a-45ca-8165-560d8adcfaef_ActionId=ada6df5a-d03e-45ba-9284-f130fe58fe03; MSIP_Label_e7dff87e-ca3a-45ca-8165-560d8adcfaef_ContentBits=0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=sia.es; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PR3P193MB0731:EE_|AM9P193MB1396:EE_ x-ms-office365-filtering-correlation-id: 6588fc9b-8df9-4662-22e7-08dd2eef05bd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?d05YcmQ2cnlQS2VEWng2UGVpU1MwMkdqQm5aMVZycXluK05ZODhqcHU3T1Ju?= =?utf-8?B?NjRNUDJDRlBjTzM4Y1hCQmVrdGszS2RZc2JkYzlPMzlnaHJUZVRKRzVNenVi?= =?utf-8?B?TVVQT3hKdFVtVnVvb0RCdDNKQmQySFAyeUFIaTRIV2tNK3V0MlZyUGNLWUlL?= =?utf-8?B?dm5TeGM1bzl3NFVWWm1DeTBLaC9lZGNUb2l2WGIrSG1JNEFZWWZpaWdVYmtR?= =?utf-8?B?M0E2czBmbjBJdjBjY0RFMDE3QVZYR0lFTDZKTlVYU3hsWk1KRjVNOHBqdWVv?= =?utf-8?B?MVJiMGd6d0c3ZzNXYjB1MUpxRUJOd2RYWHpyNkkrZ2xibnpVZG16WStzYWF5?= =?utf-8?B?UFZkNjNzb2V3RENOZHZrTWVQKzZHdExZUDZSMnM5OHkxWmRGeng1SHZvbVZ5?= =?utf-8?B?dHQyTVN3VlVsTS9nV0Nvc0FXTGcvL0RTc0JiYlZ0Vm1xbVRUQVdpUTZrWUFS?= =?utf-8?B?bTErV1BmdlI0YlNLYXE4N095bG9kcVF3ZXE5cVZEOWlhZEtrWVFiR2ZXWWFC?= =?utf-8?B?UDAzSzdOUUJPRktFeHQ0SktkS0tZNmhGcW5iRTU4cUxmaERGNjA5djU0YmJq?= =?utf-8?B?U0VlRmZzT3B1ZE54QkQwNVBlR014bi9UWHo4b215dTdLZ0o1cHRxQ0hUSmtk?= =?utf-8?B?aXptM1VlM0RVQ3NxSExwRmY0cE9lTHV0Ym90S1JOenh1d1pkZ2ZDM04yTFBX?= =?utf-8?B?NjBaQWVSNzZ6dTNMQzA2QmtVdGRocnRqdXBrLzNTYVZidTR3c0dWYWY0a1dC?= =?utf-8?B?djcvdkxqTUoydDVLSWZxb241TjBNeU1FcitEOEs0VldIMWI2WDZpUm5WZCt4?= =?utf-8?B?Ym1NNExPWlV4Tzg5Mkw1UUhMdFpzUVNoVWJIK3NxYkhXMi9yblFON3pMNGF1?= =?utf-8?B?aUV6Skh1em8vZnFUSXB0Qy85eTBWdmRDNlI5MjY5YmpFUkpmYzI0cUFHaXBx?= =?utf-8?B?M011OHBpbkpFQnBjQlEwWVZjSG1wKzhFV2VSVEhiQVA5S2FhTklBSjVxYytX?= =?utf-8?B?NkkzdERYSW51aU05OEg3cmtkbVY5RGE3b3c3QUh5Vit3ZEZNanhYaEdKdkpz?= =?utf-8?B?SW16dTljRzJ3ZjgwRHBtdktBNlZ2QUZ0ejVnaTZUUHFpeWtXdFV0cVBPVE54?= =?utf-8?B?bXM4NFZOUmJlNEdQRldHRm9RWnhETFhtdTFuVFNpMFZDSFVab1p4Y0tVZnRX?= =?utf-8?B?aDV4NDIrQ1hGdVdqTEFBM0xJeC9CVkpkclZ0VzlJbFBWZ254enVqOTdHMXQ0?= =?utf-8?B?UGZENkFNeHdIZzZ3TWFpRTRQY1d5NkpXM0FINWxFMHRDWHQxTlRyajJLSE1k?= =?utf-8?B?SEk1elhzelJjMlhpYVlxenMwTlBnbEo4ZkFMS0pxV0lJQ0E2VWJDdkQwZGk3?= =?utf-8?B?Q1cxSDgwK0RkYjlXN3I2T2JYb2hIalB1N2JDbGVxK0FsZ20xSmxFY090V0RZ?= =?utf-8?B?UHNLM1R2K2U1SHRXMzh3cUwwMFptb3lIeE4wQzFJVm1RVmErZ0JKQmE3TTlr?= =?utf-8?B?dWwyYnRUZGRRTmJsY1VxRU1IdHVIMEFCWG9wYXpWU0tPZlZZbDN2ZlZsaVBD?= =?utf-8?B?cWhIdnR5dFJHQ0owOEdVRk1SNGorS3RFRE1kV0dYK1pnK2t3MTQ5b0NNSU53?= =?utf-8?B?bDIvUHMrRXVpUlNmZmF1YXFaM2xmaDk4NHoxMVJGRE9rd3Y1QzlMOU1UcFo3?= =?utf-8?B?N0o2RTF2Y2VXNG5pdVpyVDNoa0UybkpSYWNMWVdPUUN6UHIwWVNQYnBxUWpR?= =?utf-8?B?eHFtRlBOTkxycERjYklwY1ZmelljcnBlUlVXZFUyQTc1SjdzVThnV1VZQ1hp?= =?utf-8?B?RkQ5SWdSQ1BjWUJKejVLQ1BpcDJvelpZOHlEa05vVXdjTjF4NzROL1p5aDRT?= =?utf-8?B?a3A5V00xQmtuTlREVlJhV3ZpczdOMEJhWnN0MmtWbG1oVFh1dnc0ZlVZcFE0?= =?utf-8?Q?OR0xDhcxWTyqYxtaKwIl22ap4ewTlB6G?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR3P193MB0731.EURP193.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bEtwVTYxY3FzTk9JanRGVnJ0dFBveDZCWE96dXJrREJuWkc3bCtaZmFTYnBS?= =?utf-8?B?S1FqV0ZuaUp3V2lWRUJac1d5MkExK282OUlOUUZUOVREY0JseHJrTCt5emRJ?= =?utf-8?B?SjJ1L2hnNFlUYzljQUNnbHArblI2eVpUMUtVbEJPQ3kzV0YrSzJnV0dZa1dN?= =?utf-8?B?TUxDeXp2Rloxa2o0Z0U1bkVqMGEwMm1DYS90ZTlhZlpTczRWRlNyeDJXbEhl?= =?utf-8?B?R3RLMmN1dGlSV0Z6a1llYTNTYkkxamppMkVDVmZxYW5DdkZZRm85by83cG5n?= =?utf-8?B?VWxKSjNrSWh6ZWR1WkZjeDEvRjJ2K1BqenNaNUR4dzFmS2w0T0hRNWFGaDRL?= =?utf-8?B?RTJHTzBJWW52S2ViUWJpdldYcXNDUXNQbUNJMkViYkNScmpaN01ZVmgrOGFE?= =?utf-8?B?YkxNUGZiUGNaRkZDNm42VWZ6TmNaUGswUDVoZURhbWNONXhUT3d3MWE0cStT?= =?utf-8?B?RHNSRWtVZFIwbTlRSUNqQ3NSRFRobWtKK3RuRGF4b20zLzBhK2FiemxGOTNX?= =?utf-8?B?N2xWdExoNkp4aU9KYXFtemVYUENaS1RGcE45RHJrV1l6SDFHVnV6OWVkZlU3?= =?utf-8?B?a3pRZ094TGxCUWh2c0xqN1RGMGZZUjcxYVJBQ3dFeDVsWURPc0QveVZlVks3?= =?utf-8?B?Tmtwd3dEUk4xS3hUSXBTN0FGcmlTRG1kM2RsR0tURXEzMmVtLzRtYjlWT21M?= =?utf-8?B?RkkxNEJTSHUwaTZNMkRZemtjdFk3Z0lRanE0T09RZFQ2KzE3bGY3QzRGWVp1?= =?utf-8?B?ZDIxeHRaYzhpRWd2U2graW5ua3NSRDgzcEhLZ0RCTlhPMjhoYjBKT29CVXNa?= =?utf-8?B?dEFTOUdGQU12K3hGQUh2V0ZaeXJSZmRpbEQzUW12ZDZJYTgwOWdnV05CbzVk?= =?utf-8?B?eFpjV1RMWndweWJ1dWRYMXl0ckVCeWhTRlJPeTBJaXJiSFBUUzZXdHBEc0JG?= =?utf-8?B?R1dxLzZoUnNXdDJFQUFlbkFaY0sycERXVGlNSGhiRDZMM3d0L2RQZE1haWlO?= =?utf-8?B?L3kyZ1Y2SjBkT3MrQjZPanZ5ai8zaTNOZG94VW5lWWVIUzdRT3RBaWpjbUFy?= =?utf-8?B?MzU2a1pEMkJtQXdndC9rYy9kcVk0VkUwdGYwSGhlQXZubmJJQVZId2t5N0ty?= =?utf-8?B?UHF4enlOaUpoaUF1cm1xVWgwaWRoMEQ0V2VCNzdzOXlqRWc4UW50NHpXaHg5?= =?utf-8?B?V1NmOEgrMnNFMng4d2FQS2xTckx0bTdtLy9qOFJ4Nmw4VnFnZjh2N3pTbnFm?= =?utf-8?B?SXAxN202aXdCMFNUV3I5SCs4a0ZiL1F3MTJNZVY3dFpyRlZ5MWQ4SjgrZ0l3?= =?utf-8?B?WURFa1FSeVg2NmF4NjdtV2VCZG5aN1h5U0M1OVJqTEMzTHpFMlRkUEEyWGc0?= =?utf-8?B?RDEwS1JTaWhYd014U3VZMmQ5Y1JGQ29keUFnYlM5N0JTdndpcHpWU1d2TWZS?= =?utf-8?B?UCtZeEF5QkE0Syt6TExCUEhqZEdOMys3WGd5ZU8zSytxb2NmUDNtZnNQOTdq?= =?utf-8?B?SGp6bTdtMktQZ1FFOEoyK29zeUZSMzdqUldYUm84VVZDMitObGtXM0h2ZzFo?= =?utf-8?B?M1Y4NHFXMnJaSlgvU3lVVUV6L3MzNW50ajdUaVhNeVdZSGFnaThWbjBXc2tx?= =?utf-8?B?aWtETzl2UmtqQVZkNjRZTEMvdmdQVUtUaWJ1eEgxOTAvZ3NRaHBtdkV3NXhp?= =?utf-8?B?OWE2UHdlSGt3M1V3ZitnTUowdHZVQWhialpTMzl4OWNEZ0p6clVUenJoZzVT?= =?utf-8?B?cHhES1Z6dk5TM0VEOHZGbStnclY0WWRUbmJKcnFLZjVlNzZDYWFhWHNQWFBY?= =?utf-8?B?QzljbnNCVkVaaytjaWVCblVrY21HMEJzN08zbllxSnRwU0MyN2p1eTVJTDBH?= =?utf-8?B?R3BIeVVLK2ZnbVFqV1d1eExyd3VWSld5MEJzRzhGRU5adXFqNlg1a1UxNWpr?= =?utf-8?B?bW5UMUxrUEhMeHZKdFBQRVBua3ZWS0ExbUZtekxzRmIzdVM2SXdqUy81WHJJ?= =?utf-8?B?WUNFTHFUc3hzOEpXbjlqRFFhenFHRFdoVUo3YitEc1prSU1JTlc1OEFKa1Bp?= =?utf-8?B?U1haQ0xiYnNQRjF6dkErNE40VCtmNkttb29VcDJuVlNLYTJUS25rOFRBV2xS?= =?utf-8?Q?FAP8=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: sia.es X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PR3P193MB0731.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 6588fc9b-8df9-4662-22e7-08dd2eef05bd X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jan 2025 07:43:48.4788 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 7808e005-1489-4374-954b-d3b08f193920 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vxdmiVRY6rqgmSy+LoxVAvJoPBYeUFkSamxuuKZQu+DKyULOwSlNkihfy0PW2Dt4rx562Ztlxi+a5+S+ObCizw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9P193MB1396 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk SGVsbG8sIGluIHRoaXMgY2FzZSBib3RoIGluZGV4IGFuZCB2aWV3IGhhdmUgdGhlIHNhbWUgbmFt ZSAodGVzdCksIHRyeSBhIGRpZmZlcmVudCBvbmUuLi4NCg0KLS0tLS1NZW5zYWplIG9yaWdpbmFs LS0tLS0NCkRlOiBUb21hc3ogU3p5cG93c2tpIDx0b21hc3ouc3p5cG93c2tpQGFzc2Vjby5wbD4N CkVudmlhZG8gZWw6IGRvbWluZ28sIDUgZGUgZW5lcm8gZGUgMjAyNSAyMzo0NQ0KUGFyYTogVG9t IExhbmUgPHRnbEBzc3MucGdoLnBhLnVzPg0KQ0M6IHBnc3FsLXNxbEBsaXN0cy5wb3N0Z3Jlc3Fs Lm9yZw0KQXN1bnRvOiBSRTogVmlldyBwZXJmb3JtYW5jZSB3aXRoIGltcGxpY2l0IGNhc3QNCg0K VGhhbmtzDQoNClNvIGhvdyBjYW4gaSBjcmVhdGUgdGhlIHZpZXcsIHdpdGggZGlmZmVyZW50IGRh dGUgZGF0YSB0eXBlcyAoZGF0ZSwgdGltZXN0YW1wKSwgc28gdGhhdCBib3RoIGluZGV4ZXMgd291 bGQgYmUgaW52b2x2ZWQuIEkgc2VlIG9ubHkgdGhlIHNvbHV0aW9uIHdpdGggaW5kZXggd2l0aCBj YXN0ZWQgdmFsdWUgKGNyZWF0ZSBpbmRleCAuLi4gb24gLi4uKGNhc3QoLi4uIGFzIGRhdGUpKSks IGJ1dCBtYXliZSBpdCBpcyBhIGJldHRlciBzb2x1dGlvbj8NCg0KV2hhdGBzIG1vcmUgaSBmb3Vu ZCB0aGlzIHN0cmFuZ2UgYmVoYXZpb3VyOg0KDQpDUkVBVEUgVklFVyB0ZXN0IEFTIFNFTEVDVCAq IEZST00gZm9vDQoNCkNSRUFURSBJTkRFWCB0ZXN0IE9OIGZvbyhpZCkNCg0KTm93IGlmIGkgZXhl Y3V0ZTogRFJPUCBJTkRFWCB0ZXN0LCBJIHJlY2VpdmU6DQpFUlJPUjogICJ0ZXN0IiBpcyBub3Qg YW4gaW5kZXgNCkhJTlQ6ICBVc2UgRFJPUCBWSUVXIHRvIHJlbW92ZSBhIHZpZXcuDQoNCkFmdGVy IGV4ZWN1dGluZyBEUk9QIFZJRVcgdGVzdCwgSSBjYW4gZHJvcCB0aGlzIGluZGV4DQoNClJlZ2Fy ZHMNClRob21hcyBTenlwb3dza2kNCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJv bTogVG9tIExhbmUgPHRnbEBzc3MucGdoLnBhLnVzPg0KU2VudDogU2F0dXJkYXksIEphbnVhcnkg NCwgMjAyNSA3OjM3IFBNDQpUbzogVG9tYXN6IFN6eXBvd3NraSA8dG9tYXN6LnN6eXBvd3NraUBh c3NlY28ucGw+DQpDYzogcGdzcWwtc3FsQGxpc3RzLnBvc3RncmVzcWwub3JnDQpTdWJqZWN0OiBS ZTogVmlldyBwZXJmb3JtYW5jZSB3aXRoIGltcGxpY2l0IGNhc3QNCg0KW05pZSBvdHJ6eW11amVz eiBjej9zdG8gd2lhZG9tbz9jaSBlLW1haWwgeiB0Z2xAc3NzLnBnaC5wYS51cy4gRG93aWVkeiBz aT8sIGRsYWN6ZWdvIGplc3QgdG8gd2E/bmUsIG5hIHN0cm9uaWUgaHR0cHM6Ly9ha2EubXMvTGVh cm5BYm91dFNlbmRlcklkZW50aWZpY2F0aW9uIF0NCg0KVG9tYXN6IFN6eXBvd3NraSA8dG9tYXN6 LnN6eXBvd3NraUBhc3NlY28ucGw+IHdyaXRlczoNCj4gSSBoYXZlIGdvdCBhbiBleGFtcGxlLCBp biB3aGljaCBQb3N0Z3JlU1FMIGNvdWxkIHNwZWVkIHVwOg0KDQpUaGUgcmVhc29uIHdoeSB0aGUg Zmlyc3QgdmVyc2lvbiBvZiB0aGUgdmlldyBkb2Vzbid0IGJlaGF2ZSB3ZWxsIGlzIHRoYXQgaXQn cyBub3Qgb3B0aW1pemVkIGludG8gYW4gImFwcGVuZCByZWxhdGlvbiIsIGJlY2F1c2UNCmlzX3Np bXBsZV91bmlvbl9hbGwoKSBkb2Vzbid0IHRoaW5rIHRoYXQncyBzYWZlOg0KDQovKg0KICogaXNf c2ltcGxlX3VuaW9uX2FsbA0KICogICAgICAgIENoZWNrIGEgc3VicXVlcnkgdG8gc2VlIGlmIGl0 J3MgYSBzaW1wbGUgVU5JT04gQUxMLg0KICoNCiAqIFdlIHJlcXVpcmUgYWxsIHRoZSBzZXRvcHMg dG8gYmUgVU5JT04gQUxMIChubyBtaXhpbmcpIGFuZCB0aGVyZSBjYW4ndCBiZQ0KICogYW55IGRh dGF0eXBlIGNvZXJjaW9ucyBpbnZvbHZlZCwgaWUsIGFsbCB0aGUgbGVhZiBxdWVyaWVzIG11c3Qg ZW1pdCB0aGUNCiAqIHNhbWUgZGF0YXR5cGVzLg0KICovDQoNClBlcmhhcHMgdGhpcyBjb3VsZCBi ZSBpbXByb3ZlZCwgYnV0IGl0J3MgYSBsb3QgZWFzaWVyIGp1c3QgdG8gYWRkIHRoZSBjYXN0IHlv dXJzZWxmLg0KDQogICAgICAgICAgICAgICAgICAgICAgICByZWdhcmRzLCB0b20gbGFuZQ0KDQoN Cg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KRXN0ZSBjb3JyZW8gZWxlY3Ry w7NuaWNvIHksIGVuIHN1IGNhc28sIGN1YWxxdWllciBmaWNoZXJvIGFuZXhvIGFsIG1pc21vLCBj b250aWVuZSBpbmZvcm1hY2nDs24gZGUgY2Fyw6FjdGVyIGNvbmZpZGVuY2lhbCBleGNsdXNpdmFt ZW50ZSBkaXJpZ2lkYSBhIHN1IGRlc3RpbmF0YXJpbyBvIGRlc3RpbmF0YXJpb3MuIFNpIG5vIGVz IHZkLiBlbCBkZXN0aW5hdGFyaW8gaW5kaWNhZG8sIHF1ZWRhIG5vdGlmaWNhZG8gcXVlIGxhIGxl Y3R1cmEsIHV0aWxpemFjacOzbiwgZGl2dWxnYWNpw7NuIHkvbyBjb3BpYSBzaW4gYXV0b3JpemFj acOzbiBlc3TDoSBwcm9oaWJpZGEgZW4gdmlydHVkIGRlIGxhIGxlZ2lzbGFjacOzbiB2aWdlbnRl LiBFbiBlbCBjYXNvIGRlIGhhYmVyIHJlY2liaWRvIGVzdGUgY29ycmVvIGVsZWN0csOzbmljbyBw b3IgZXJyb3IsIHNlIHJ1ZWdhIG5vdGlmaWNhciBpbm1lZGlhdGFtZW50ZSBlc3RhIGNpcmN1bnN0 YW5jaWEgbWVkaWFudGUgcmVlbnbDrW8gYSBsYSBkaXJlY2Npw7NuIGVsZWN0csOzbmljYSBkZWwg cmVtaXRlbnRlLg0KRXZpdGUgaW1wcmltaXIgZXN0ZSBtZW5zYWplIHNpIG5vIGVzIGVzdHJpY3Rh bWVudGUgbmVjZXNhcmlvLg0KDQpUaGlzIGVtYWlsIGFuZCBhbnkgZmlsZSBhdHRhY2hlZCB0byBp dCAod2hlbiBhcHBsaWNhYmxlKSBjb250YWluKHMpIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbiB0 aGF0IGlzIGV4Y2x1c2l2ZWx5IGFkZHJlc3NlZCB0byBpdHMgcmVjaXBpZW50KHMpLiBJZiB5b3Ug YXJlIG5vdCB0aGUgaW5kaWNhdGVkIHJlY2lwaWVudCwgeW91IGFyZSBpbmZvcm1lZCB0aGF0IHJl YWRpbmcsIHVzaW5nLCBkaXNzZW1pbmF0aW5nIGFuZC9vciBjb3B5aW5nIGl0IHdpdGhvdXQgYXV0 aG9yaXNhdGlvbiBpcyBmb3JiaWRkZW4gaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBsZWdpc2xhdGlv biBpbiBlZmZlY3QuIElmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgZW1haWwgYnkgbWlzdGFrZSwg cGxlYXNlIGltbWVkaWF0ZWx5IG5vdGlmeSB0aGUgc2VuZGVyIG9mIHRoZSBzaXR1YXRpb24gYnkg cmVzZW5kaW5nIGl0IHRvIHRoZWlyIGVtYWlsIGFkZHJlc3MuDQpBdm9pZCBwcmludGluZyB0aGlz IG1lc3NhZ2UgaWYgaXQgaXMgbm90IGFic29sdXRlbHkgbmVjZXNzYXJ5Lg0K