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.96) (envelope-from ) id 1wXA60-003691-0x for pgsql-hackers@arkaria.postgresql.org; Wed, 10 Jun 2026 03:59:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wXA5y-0091GH-2x for pgsql-hackers@arkaria.postgresql.org; Wed, 10 Jun 2026 03:59:14 +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.96) (envelope-from ) id 1wXA5y-0091G8-1D for pgsql-hackers@lists.postgresql.org; Wed, 10 Jun 2026 03:59:14 +0000 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wXA5w-00000001wwe-1RuF for pgsql-hackers@lists.postgresql.org; Wed, 10 Jun 2026 03:59:13 +0000 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-490b1bbcf3aso51830675e9.1 for ; Tue, 09 Jun 2026 20:59:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781063950; cv=none; d=google.com; s=arc-20240605; b=Z23oIIfNyE60G5asQ/upkINBglAizAX/L3N0DccrN+VZDQPYv6cHBrJK05vzlnAKIR ECbQevICVvBJJC5j6ScDorXRLSKvGc2MDtfC95RDPlWhztFdeaQdUzgtb8SWP0Vjww6B Sip7q9x1gCRrIid6ORu1EC8EdTm4SH7fasAotzEnQJxMyEfdYmJs8WK7w0BJixHc2DRB 2PeVR7qK+PEkD+ZOEU8Qod+zfpdCAW4FtSi7K3wixK+QZsZsGD/Y+D9WdRWRmyyoy6Kl lYcLwZGKPash/u/tiJT2o12xl0qDdjRcS/EN0ho/rfOEVUOqLjkj6/NlbvGkQ4o4AaE1 8aIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=OIpxn8Xzzk/5igXtdeFBrwEmyJS+fznNCrIwv6hhkWE=; fh=Kdyt01x1lXgm/2h5+g3/ywtCM+bFWf6TsBcJzu3WpZY=; b=RdnTvzKKHfNhDj6Bd0mN7FIoDT6Kh4RjGo/EXXbR14DulC2XtqiPGy9VVku3VauO4L YokAdACm2kjfEeRr2Ye+FI3BHu8bsfvEOeg6RJEhmRvhJIOkgtW9AnFGwMCKc7PYSamZ tfDijayyFcqyG1TudboD9a3mzBrFZjTm8wdXk3U1KAxbP4v6b9Ll++NvHO80DXSmEiwX C/SjMtze+VEsS2enm8Uhlz4PqL8nU8q4Im9L8Tg3Acx+7ZiunH5xUZ50zDbF5st18VEY CUSuX5qS6kwaBddgguQq8qUF8y36cQADV1gdQqlziAu7XrRR4v+rDu38DvGnVJ/XpHB9 LPlg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781063950; x=1781668750; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=OIpxn8Xzzk/5igXtdeFBrwEmyJS+fznNCrIwv6hhkWE=; b=GH/XjNooS4glDrICkZtFXnXLcfS27b4ipoN/sQDcjJnCTMOL3wz/XBjf3u1Vvk3nsi 8bDdJ1EnxnXaioXsu89dec/xmAy4kxV09Dv7WkZUEF2sUYBUGML81i8EL4uC2/Qa+rr1 RJp0tjwI22rvKIHU7+JBDiqWPf8lUK0xf2jqucJPMQmq2uKybRFuic6u4DDTpCQtLaWW JRXbhLkr2rnV35n7zaBl3f0M1c1NL57nFKJjx/HrIkHGbeI/5H4ueXz7k83ucxBJX0QU XbYnAviYr71eWMHm1lVpF+frIUR1lRgZGx/OaPjUhBhlsBqGYUeGfD2FYSYwEQB6yGGY wFUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781063950; x=1781668750; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OIpxn8Xzzk/5igXtdeFBrwEmyJS+fznNCrIwv6hhkWE=; b=JO3FkgKwwIK3MOSQxKY9iVd9OKVWOll5T4SagHsrqyHMwIREuzJT3AA4JlJrkM7POd TM7g7UaG7m2mt2HHxYdFr+gf9vBkyoZVb3YTglcsJw3q+Epw/acUcNb87L9N8gJ6iE83 ljQJ28pE/t4iN3VpZTcbqkYrRiPMjS7qj2/ESiwXBN9YqZliJylvi6OFb85rgAYgq82f lT/8v1I+KPNsrU6QYO1iiUNZcv7uijldSc641JiKkuQY+qMQdeF/34hoD1YCJ7+ETT/K dtYmHJiU2DpFFriTbZ1x6HuSiqpUcA56XCU4yzqABmtgXDXbul18Pfyf4jHm3AT/LXdg pc3A== X-Forwarded-Encrypted: i=1; AFNElJ8ib3LhCiTUU81HbHlE3oBfGuGjd4CErwVhhzcOidUTWgbVk/fFAsOfB9SJ01d9DBnW1/p20+By/S8g1t1p@lists.postgresql.org X-Gm-Message-State: AOJu0YytnIO0uZazN7lg+Z3UkMDnquZZwmoClVtlQq9ItDnDOdhIB8pK zJ2DE8FM9s6vNg7GoTb/8J3VaThkMITTFL9AmAf7BHtZJHfSCFH+9MSViRrHtH82CMQXUXWIu1d NkjtDIsUgCgBbvu9E/bH+137rgIe8ZIE= X-Gm-Gg: Acq92OHi81uizZSVLZdq/C9SqWobJRFwPKEGM+G5Ut9A9mU6koN9Cx804r4MQNr33FO s5zrZQFGFpTD8kBowpoJD86NZAUrSR9TcVIiLabIbsOL9m56nfhU4kPcOtEOg1gFRlrK5Y7ADZW D+O+5+UWgoJuOr+9bD1LPHKrTkX5H7Fs0gyJua5zXMFcIkI6lkba4g62rBrBqZzr1+9oTp4rr55 SR6sPXHKjL+1AXlmKQ6YYuJCTwAayLDCX0ZznNfEyncZUGys3PXzXaVpuCLgV5MFzkEeZwng7E9 eoMzKERGUCSTOoRwLGsltiEpl2Qi9KNTbEzwU3xdOf+xAX8boG710kzzkGvvlZXzJ7Eknh/SYqx R6xDpPVTOOedeLOsRgp8e5YkAsHH0qHIhiCmvr6+OnzKjLw4ONKqLyXN1KNFc56Q= X-Received: by 2002:a05:600c:444d:b0:489:2005:b36e with SMTP id 5b1f17b1804b1-490d72239e5mr66231855e9.19.1781063949606; Tue, 09 Jun 2026 20:59:09 -0700 (PDT) MIME-Version: 1.0 References: <29c33fb6-4200-4a08-be3d-a1a2ceef23b8@eisentraut.org> <200148.1780878520@sss.pgh.pa.us> <581648.1780944202@sss.pgh.pa.us> In-Reply-To: From: Ashutosh Bapat Date: Wed, 10 Jun 2026 09:28:56 +0530 X-Gm-Features: AVVi8Cdgq4paZ9sWJS-MtKxdjDPqe0Z9eAuxeOpijcJEr8a_aDt5l8BJa50fwZI Message-ID: Subject: Re: Fix DROP PROPERTY GRAPH "unsupported object class" error To: Michael Paquier Cc: Tom Lane , Peter Eisentraut , Alex Guo , Bertrand Drouvot , pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="00000000000009f6a50653de448f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000009f6a50653de448f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Jun 10, 2026 at 6:48=E2=80=AFAM Michael Paquier wrote: > > On Mon, Jun 08, 2026 at 02:43:22PM -0400, Tom Lane wrote: > > The argument that these only need to be machine-readable doesn't sway > > me a lot. In the end, any code that is disassembling these strings is > > going to be written by a human, and the human is a lot more likely to > > make a mistake about which identifier is which if they're not labeled. > > +1. I'm not a robot yet and I still want to be able to parse these > strings by reading them. As things stand, this code does not allow > one to understand what each sub-object refers to. We are still in > beta, let's improve the situation. Here's a patch fixing it. --=20 Best Wishes, Ashutosh Bapat --00000000000009f6a50653de448f Content-Type: text/x-patch; charset="US-ASCII"; name="v20260610-0008-Readable-identity-strings-for-property-gra.patch" Content-Disposition: attachment; filename="v20260610-0008-Readable-identity-strings-for-property-gra.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mq7jgndu0 RnJvbSBhNTk4ZmExMjA3MzAxZjgyMmU2MDhiNDE0MzMyNGExMTI1YTQ0Njg1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBc2h1dG9zaCBCYXBhdCA8YXNodXRvc2guYmFwYXQub3NzQGdt YWlsLmNvbT4KRGF0ZTogV2VkLCAxMCBKdW4gMjAyNiAwOTowNToyMSArMDUzMApTdWJqZWN0OiBb UEFUQ0ggdjIwMjYwNjEwIDgvOF0gUmVhZGFibGUgaWRlbnRpdHkgc3RyaW5ncyBmb3IgcHJvcGVy dHkgZ3JhcGgKIG9iamVjdHMKClRoZSAnaWRlbnRpdHknIGNvbHVtbiBvZiBwZ19pZGVudGlmeV9v YmplY3QoKSBmb3IgcHJvcGVydHkgZ3JhcGggb2JqZWN0cyBjYW4gYmUKbG9uZyBzdHJpbmcgb2Yg bmFtZXMgY29ubmVjdGVkIGJ5ICdvZicgZS5nLiAiYSBvZiBsIG9mIGUgb2YgZyIuIFRoZSB0eXBl IG9mIHRoZQpmaXJzdCBuYW1lZCBvYmplY3QgaXMgZ2l2ZW4gYnkgY29sdW1uICd0eXBlJy4gQnV0 IHRoZSB0eXBlcyBvZiBpbnRlcm1lZGlhdGUKb2JqZWN0cyBhcmUgbm90IGVhc3kgdG8gZmluZCBm cm9tIHRoZSBpZGVudGl0eSBzdHJpbmcgZXNwZWNpYWxseSB3aGVuIHNvbWUgb2YKdGhlbSBzaGFy ZSB0aGUgc2FtZSBuYW1lLiAgU29tZSBvYmplY3RzIGxpa2UgdXNlciBtYXBwaW5ncywgb3IgYXV0 aG9yaXphdGlvbgppZGVudGlmaWVyIG1lbWJlcnMsIGFkZCB0eXBlcyBvZiBvYmplY3RzIG90aGVy IHRoYW4gdGhlIGZpcnN0IG9uZSBpbiB0aGUKaWRlbnRpdHkgc3RyaW5nLiBEbyB0aGUgc2FtZSBm b3IgcHJvcGVydHkgZ3JhcGggb2JqZWN0cy4KCkF1dGhvcjogQXNodXRvc2ggQmFwYXQgPGFzaHV0 b3NoLmJhcGF0Lm9zc0BnbWFpbC5jb20+Ci0tLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9vYmplY3Rh ZGRyZXNzLmMgICAgICAgICAgIHwgMTAgKystLQogLi4uL2V4cGVjdGVkL2NyZWF0ZV9wcm9wZXJ0 eV9ncmFwaC5vdXQgICAgICAgIHwgNTAgKysrKysrKysrLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFu Z2VkLCAzMCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJlc3MuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2Jq ZWN0YWRkcmVzcy5jCmluZGV4IDMzNzA2ZjZkZTYwLi5kNWQxZDQxYjUxMiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvY2F0YWxvZy9vYmplY3RhZGRyZXNzLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9vYmplY3RhZGRyZXNzLmMKQEAgLTYxODYsNyArNjE4Niw3IEBAIGdldE9iamVjdElkZW50 aXR5UGFydHMoY29uc3QgT2JqZWN0QWRkcmVzcyAqb2JqZWN0LAogCQkJCQlicmVhazsKIAkJCQl9 CiAJCQkJcGdlID0gKEZvcm1fcGdfcHJvcGdyYXBoX2VsZW1lbnQpIEdFVFNUUlVDVCh0dXApOwot CQkJCWFwcGVuZFN0cmluZ0luZm8oJmJ1ZmZlciwgIiVzIG9mICIsIHF1b3RlX2lkZW50aWZpZXIo TmFtZVN0cihwZ2UtPnBnZWFsaWFzKSkpOworCQkJCWFwcGVuZFN0cmluZ0luZm8oJmJ1ZmZlciwg IiVzIG9mIHByb3BlcnR5IGdyYXBoICIsIHF1b3RlX2lkZW50aWZpZXIoTmFtZVN0cihwZ2UtPnBn ZWFsaWFzKSkpOwogCiAJCQkJZ2V0UmVsYXRpb25JZGVudGl0eSgmYnVmZmVyLCBwZ2UtPnBnZXBn aWQsIG9iam5hbWUsIGZhbHNlKTsKIAkJCQlpZiAob2JqbmFtZSkKQEAgLTYyMTAsNyArNjIxMCw3 IEBAIGdldE9iamVjdElkZW50aXR5UGFydHMoY29uc3QgT2JqZWN0QWRkcmVzcyAqb2JqZWN0LAog CQkJCX0KIAogCQkJCXBnbCA9IChGb3JtX3BnX3Byb3BncmFwaF9sYWJlbCkgR0VUU1RSVUNUKHR1 cCk7Ci0JCQkJYXBwZW5kU3RyaW5nSW5mbygmYnVmZmVyLCAiJXMgb2YgIiwgcXVvdGVfaWRlbnRp ZmllcihOYW1lU3RyKHBnbC0+cGdsbGFiZWwpKSk7CisJCQkJYXBwZW5kU3RyaW5nSW5mbygmYnVm ZmVyLCAiJXMgb2YgcHJvcGVydHkgZ3JhcGggIiwgcXVvdGVfaWRlbnRpZmllcihOYW1lU3RyKHBn bC0+cGdsbGFiZWwpKSk7CiAJCQkJZ2V0UmVsYXRpb25JZGVudGl0eSgmYnVmZmVyLCBwZ2wtPnBn bHBnaWQsIG9iam5hbWUsIGZhbHNlKTsKIAkJCQlpZiAob2JqbmFtZSkKIAkJCQkJKm9iam5hbWUg PSBsYXBwZW5kKCpvYmpuYW1lLCBwc3RyZHVwKE5hbWVTdHIocGdsLT5wZ2xsYWJlbCkpKTsKQEAg LTYyMzIsNyArNjIzMiw3IEBAIGdldE9iamVjdElkZW50aXR5UGFydHMoY29uc3QgT2JqZWN0QWRk cmVzcyAqb2JqZWN0LAogCQkJCX0KIAogCQkJCXBncCA9IChGb3JtX3BnX3Byb3BncmFwaF9wcm9w ZXJ0eSkgR0VUU1RSVUNUKHR1cCk7Ci0JCQkJYXBwZW5kU3RyaW5nSW5mbygmYnVmZmVyLCAiJXMg b2YgIiwgcXVvdGVfaWRlbnRpZmllcihOYW1lU3RyKHBncC0+cGdwbmFtZSkpKTsKKwkJCQlhcHBl bmRTdHJpbmdJbmZvKCZidWZmZXIsICIlcyBvZiBwcm9wZXJ0eSBncmFwaCAiLCBxdW90ZV9pZGVu dGlmaWVyKE5hbWVTdHIocGdwLT5wZ3BuYW1lKSkpOwogCQkJCWdldFJlbGF0aW9uSWRlbnRpdHko JmJ1ZmZlciwgcGdwLT5wZ3BwZ2lkLCBvYmpuYW1lLCBmYWxzZSk7CiAJCQkJaWYgKG9iam5hbWUp CiAJCQkJCSpvYmpuYW1lID0gbGFwcGVuZCgqb2JqbmFtZSwgcHN0cmR1cChOYW1lU3RyKHBncC0+ cGdwbmFtZSkpKTsKQEAgLTYyNjUsNyArNjI2NSw3IEBAIGdldE9iamVjdElkZW50aXR5UGFydHMo Y29uc3QgT2JqZWN0QWRkcmVzcyAqb2JqZWN0LAogCQkJCXBnZWxmb3JtID0gKEZvcm1fcGdfcHJv cGdyYXBoX2VsZW1lbnRfbGFiZWwpIEdFVFNUUlVDVCh0dXApOwogCiAJCQkJbGFiZWxuYW1lID0g Z2V0X3Byb3BncmFwaF9sYWJlbF9uYW1lKHBnZWxmb3JtLT5wZ2VsbGFiZWxpZCk7Ci0JCQkJYXBw ZW5kU3RyaW5nSW5mbygmYnVmZmVyLCAiJXMgb2YgIiwgcXVvdGVfaWRlbnRpZmllcihsYWJlbG5h bWUpKTsKKwkJCQlhcHBlbmRTdHJpbmdJbmZvKCZidWZmZXIsICIlcyBvZiBlbGVtZW50ICIsIHF1 b3RlX2lkZW50aWZpZXIobGFiZWxuYW1lKSk7CiAJCQkJT2JqZWN0QWRkcmVzc1NldChvYSwgUHJv cGdyYXBoRWxlbWVudFJlbGF0aW9uSWQsIHBnZWxmb3JtLT5wZ2VsZWxpZCk7CiAJCQkJYXBwZW5k U3RyaW5nSW5mb1N0cmluZygmYnVmZmVyLCBnZXRPYmplY3RJZGVudGl0eVBhcnRzKCZvYSwgb2Jq bmFtZSwKIAkJCQkJCQkJCQkJCQkJCQkJICAgb2JqYXJncywgZmFsc2UpKTsKQEAgLTYzMDMsNyAr NjMwMyw3IEBAIGdldE9iamVjdElkZW50aXR5UGFydHMoY29uc3QgT2JqZWN0QWRkcmVzcyAqb2Jq ZWN0LAogCQkJCXBscGZvcm0gPSAoRm9ybV9wZ19wcm9wZ3JhcGhfbGFiZWxfcHJvcGVydHkpIEdF VFNUUlVDVCh0dXApOwogCiAJCQkJcHJvcG5hbWUgPSBnZXRfcHJvcGdyYXBoX3Byb3BlcnR5X25h bWUocGxwZm9ybS0+cGxwcHJvcGlkKTsKLQkJCQlhcHBlbmRTdHJpbmdJbmZvKCZidWZmZXIsICIl cyBvZiAiLCBxdW90ZV9pZGVudGlmaWVyKHByb3BuYW1lKSk7CisJCQkJYXBwZW5kU3RyaW5nSW5m bygmYnVmZmVyLCAiJXMgb2YgbGFiZWwgIiwgcXVvdGVfaWRlbnRpZmllcihwcm9wbmFtZSkpOwog CQkJCU9iamVjdEFkZHJlc3NTZXQob2EsIFByb3BncmFwaEVsZW1lbnRMYWJlbFJlbGF0aW9uSWQs IHBscGZvcm0tPnBscGVsbGFiZWxpZCk7CiAJCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZygmYnVm ZmVyLCBnZXRPYmplY3RJZGVudGl0eVBhcnRzKCZvYSwgb2JqbmFtZSwKIAkJCQkJCQkJCQkJCQkJ CQkJICAgb2JqYXJncywgZmFsc2UpKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvY3JlYXRlX3Byb3BlcnR5X2dyYXBoLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvY3JlYXRlX3Byb3BlcnR5X2dyYXBoLm91dAppbmRleCBmOWQxN2FlYjM0YS4uMWU3MzNmOWI1 NzIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3Byb3BlcnR5 X2dyYXBoLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9wcm9wZXJ0 eV9ncmFwaC5vdXQKQEAgLTc1OSwzMSArNzU5LDMxIEBAIFNFTEVDVCAocGdfaWRlbnRpZnlfb2Jq ZWN0X2FzX2FkZHJlc3MoY2xhc3NpZCwgb2JqaWQsIG9ianN1YmlkKSkuKgogU0VMRUNUIChwZ19p ZGVudGlmeV9vYmplY3QoY2xhc3NpZCwgb2JqaWQsIG9ianN1YmlkKSkuKgogICAgIEZST00gKFNF TEVDVCBESVNUSU5DVCBjbGFzc2lkLCBvYmppZCwgb2Jqc3ViaWQgRlJPTSBkZXBzX3RyZWUpCiAg ICAgT1JERVIgQlkgMSwgMiwgMywgNDsKLSAgICAgICAgICAgICB0eXBlICAgICAgICAgICAgICB8 IHNjaGVtYSB8IG5hbWUgfCAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHkgICAgICAgICAgICAg ICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBwcm9w ZXJ0eSBncmFwaCBlbGVtZW50ICAgICAgICB8ICAgICAgICB8ICAgICAgfCBlIG9mIGNyZWF0ZV9w cm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAotIHByb3BlcnR5IGdyYXBoIGVsZW1lbnQgICAgICAgIHwg ICAgICAgIHwgICAgICB8IHYxIG9mIGNyZWF0ZV9wcm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAotIHBy b3BlcnR5IGdyYXBoIGVsZW1lbnQgICAgICAgIHwgICAgICAgIHwgICAgICB8IHYyIG9mIGNyZWF0 ZV9wcm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAotIHByb3BlcnR5IGdyYXBoIGVsZW1lbnQgbGFiZWwg IHwgICAgICAgIHwgICAgICB8IGUgb2YgZSBvZiBjcmVhdGVfcHJvcGVydHlfZ3JhcGhfdGVzdHMu Z3QKLSBwcm9wZXJ0eSBncmFwaCBlbGVtZW50IGxhYmVsICB8ICAgICAgICB8ICAgICAgfCB2MSBv ZiB2MSBvZiBjcmVhdGVfcHJvcGVydHlfZ3JhcGhfdGVzdHMuZ3QKLSBwcm9wZXJ0eSBncmFwaCBl bGVtZW50IGxhYmVsICB8ICAgICAgICB8ICAgICAgfCB2MiBvZiB2MiBvZiBjcmVhdGVfcHJvcGVy dHlfZ3JhcGhfdGVzdHMuZ3QKLSBwcm9wZXJ0eSBncmFwaCBsYWJlbCAgICAgICAgICB8ICAgICAg ICB8ICAgICAgfCBlIG9mIGNyZWF0ZV9wcm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAotIHByb3BlcnR5 IGdyYXBoIGxhYmVsICAgICAgICAgIHwgICAgICAgIHwgICAgICB8IHYxIG9mIGNyZWF0ZV9wcm9w ZXJ0eV9ncmFwaF90ZXN0cy5ndAotIHByb3BlcnR5IGdyYXBoIGxhYmVsICAgICAgICAgIHwgICAg ICAgIHwgICAgICB8IHYyIG9mIGNyZWF0ZV9wcm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAotIHByb3Bl cnR5IGdyYXBoIGxhYmVsIHByb3BlcnR5IHwgICAgICAgIHwgICAgICB8IGEgb2YgdjEgb2YgdjEg b2YgY3JlYXRlX3Byb3BlcnR5X2dyYXBoX3Rlc3RzLmd0Ci0gcHJvcGVydHkgZ3JhcGggbGFiZWwg cHJvcGVydHkgfCAgICAgICAgfCAgICAgIHwgYiBvZiB2MSBvZiB2MSBvZiBjcmVhdGVfcHJvcGVy dHlfZ3JhcGhfdGVzdHMuZ3QKLSBwcm9wZXJ0eSBncmFwaCBsYWJlbCBwcm9wZXJ0eSB8ICAgICAg ICB8ICAgICAgfCBjIG9mIGUgb2YgZSBvZiBjcmVhdGVfcHJvcGVydHlfZ3JhcGhfdGVzdHMuZ3QK LSBwcm9wZXJ0eSBncmFwaCBsYWJlbCBwcm9wZXJ0eSB8ICAgICAgICB8ICAgICAgfCBrMSBvZiBl IG9mIGUgb2YgY3JlYXRlX3Byb3BlcnR5X2dyYXBoX3Rlc3RzLmd0Ci0gcHJvcGVydHkgZ3JhcGgg bGFiZWwgcHJvcGVydHkgfCAgICAgICAgfCAgICAgIHwgazIgb2YgZSBvZiBlIG9mIGNyZWF0ZV9w cm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAotIHByb3BlcnR5IGdyYXBoIGxhYmVsIHByb3BlcnR5IHwg ICAgICAgIHwgICAgICB8IG0gb2YgdjIgb2YgdjIgb2YgY3JlYXRlX3Byb3BlcnR5X2dyYXBoX3Rl c3RzLmd0Ci0gcHJvcGVydHkgZ3JhcGggbGFiZWwgcHJvcGVydHkgfCAgICAgICAgfCAgICAgIHwg biBvZiB2MiBvZiB2MiBvZiBjcmVhdGVfcHJvcGVydHlfZ3JhcGhfdGVzdHMuZ3QKLSBwcm9wZXJ0 eSBncmFwaCBwcm9wZXJ0eSAgICAgICB8ICAgICAgICB8ICAgICAgfCBhIG9mIGNyZWF0ZV9wcm9w ZXJ0eV9ncmFwaF90ZXN0cy5ndAotIHByb3BlcnR5IGdyYXBoIHByb3BlcnR5ICAgICAgIHwgICAg ICAgIHwgICAgICB8IGIgb2YgY3JlYXRlX3Byb3BlcnR5X2dyYXBoX3Rlc3RzLmd0Ci0gcHJvcGVy dHkgZ3JhcGggcHJvcGVydHkgICAgICAgfCAgICAgICAgfCAgICAgIHwgYyBvZiBjcmVhdGVfcHJv cGVydHlfZ3JhcGhfdGVzdHMuZ3QKLSBwcm9wZXJ0eSBncmFwaCBwcm9wZXJ0eSAgICAgICB8ICAg ICAgICB8ICAgICAgfCBrMSBvZiBjcmVhdGVfcHJvcGVydHlfZ3JhcGhfdGVzdHMuZ3QKLSBwcm9w ZXJ0eSBncmFwaCBwcm9wZXJ0eSAgICAgICB8ICAgICAgICB8ICAgICAgfCBrMiBvZiBjcmVhdGVf cHJvcGVydHlfZ3JhcGhfdGVzdHMuZ3QKLSBwcm9wZXJ0eSBncmFwaCBwcm9wZXJ0eSAgICAgICB8 ICAgICAgICB8ICAgICAgfCBtIG9mIGNyZWF0ZV9wcm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAotIHBy b3BlcnR5IGdyYXBoIHByb3BlcnR5ICAgICAgIHwgICAgICAgIHwgICAgICB8IG4gb2YgY3JlYXRl X3Byb3BlcnR5X2dyYXBoX3Rlc3RzLmd0CisgICAgICAgICAgICAgdHlwZSAgICAgICAgICAgICAg fCBzY2hlbWEgfCBuYW1lIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50 aXR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHBy b3BlcnR5IGdyYXBoIGVsZW1lbnQgICAgICAgIHwgICAgICAgIHwgICAgICB8IGUgb2YgcHJvcGVy dHkgZ3JhcGggY3JlYXRlX3Byb3BlcnR5X2dyYXBoX3Rlc3RzLmd0CisgcHJvcGVydHkgZ3JhcGgg ZWxlbWVudCAgICAgICAgfCAgICAgICAgfCAgICAgIHwgdjEgb2YgcHJvcGVydHkgZ3JhcGggY3Jl YXRlX3Byb3BlcnR5X2dyYXBoX3Rlc3RzLmd0CisgcHJvcGVydHkgZ3JhcGggZWxlbWVudCAgICAg ICAgfCAgICAgICAgfCAgICAgIHwgdjIgb2YgcHJvcGVydHkgZ3JhcGggY3JlYXRlX3Byb3BlcnR5 X2dyYXBoX3Rlc3RzLmd0CisgcHJvcGVydHkgZ3JhcGggZWxlbWVudCBsYWJlbCAgfCAgICAgICAg fCAgICAgIHwgZSBvZiBlbGVtZW50IGUgb2YgcHJvcGVydHkgZ3JhcGggY3JlYXRlX3Byb3BlcnR5 X2dyYXBoX3Rlc3RzLmd0CisgcHJvcGVydHkgZ3JhcGggZWxlbWVudCBsYWJlbCAgfCAgICAgICAg fCAgICAgIHwgdjEgb2YgZWxlbWVudCB2MSBvZiBwcm9wZXJ0eSBncmFwaCBjcmVhdGVfcHJvcGVy dHlfZ3JhcGhfdGVzdHMuZ3QKKyBwcm9wZXJ0eSBncmFwaCBlbGVtZW50IGxhYmVsICB8ICAgICAg ICB8ICAgICAgfCB2MiBvZiBlbGVtZW50IHYyIG9mIHByb3BlcnR5IGdyYXBoIGNyZWF0ZV9wcm9w ZXJ0eV9ncmFwaF90ZXN0cy5ndAorIHByb3BlcnR5IGdyYXBoIGxhYmVsICAgICAgICAgIHwgICAg ICAgIHwgICAgICB8IGUgb2YgcHJvcGVydHkgZ3JhcGggY3JlYXRlX3Byb3BlcnR5X2dyYXBoX3Rl c3RzLmd0CisgcHJvcGVydHkgZ3JhcGggbGFiZWwgICAgICAgICAgfCAgICAgICAgfCAgICAgIHwg djEgb2YgcHJvcGVydHkgZ3JhcGggY3JlYXRlX3Byb3BlcnR5X2dyYXBoX3Rlc3RzLmd0CisgcHJv cGVydHkgZ3JhcGggbGFiZWwgICAgICAgICAgfCAgICAgICAgfCAgICAgIHwgdjIgb2YgcHJvcGVy dHkgZ3JhcGggY3JlYXRlX3Byb3BlcnR5X2dyYXBoX3Rlc3RzLmd0CisgcHJvcGVydHkgZ3JhcGgg bGFiZWwgcHJvcGVydHkgfCAgICAgICAgfCAgICAgIHwgYSBvZiBsYWJlbCB2MSBvZiBlbGVtZW50 IHYxIG9mIHByb3BlcnR5IGdyYXBoIGNyZWF0ZV9wcm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAorIHBy b3BlcnR5IGdyYXBoIGxhYmVsIHByb3BlcnR5IHwgICAgICAgIHwgICAgICB8IGIgb2YgbGFiZWwg djEgb2YgZWxlbWVudCB2MSBvZiBwcm9wZXJ0eSBncmFwaCBjcmVhdGVfcHJvcGVydHlfZ3JhcGhf dGVzdHMuZ3QKKyBwcm9wZXJ0eSBncmFwaCBsYWJlbCBwcm9wZXJ0eSB8ICAgICAgICB8ICAgICAg fCBjIG9mIGxhYmVsIGUgb2YgZWxlbWVudCBlIG9mIHByb3BlcnR5IGdyYXBoIGNyZWF0ZV9wcm9w ZXJ0eV9ncmFwaF90ZXN0cy5ndAorIHByb3BlcnR5IGdyYXBoIGxhYmVsIHByb3BlcnR5IHwgICAg ICAgIHwgICAgICB8IGsxIG9mIGxhYmVsIGUgb2YgZWxlbWVudCBlIG9mIHByb3BlcnR5IGdyYXBo IGNyZWF0ZV9wcm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAorIHByb3BlcnR5IGdyYXBoIGxhYmVsIHBy b3BlcnR5IHwgICAgICAgIHwgICAgICB8IGsyIG9mIGxhYmVsIGUgb2YgZWxlbWVudCBlIG9mIHBy b3BlcnR5IGdyYXBoIGNyZWF0ZV9wcm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAorIHByb3BlcnR5IGdy YXBoIGxhYmVsIHByb3BlcnR5IHwgICAgICAgIHwgICAgICB8IG0gb2YgbGFiZWwgdjIgb2YgZWxl bWVudCB2MiBvZiBwcm9wZXJ0eSBncmFwaCBjcmVhdGVfcHJvcGVydHlfZ3JhcGhfdGVzdHMuZ3QK KyBwcm9wZXJ0eSBncmFwaCBsYWJlbCBwcm9wZXJ0eSB8ICAgICAgICB8ICAgICAgfCBuIG9mIGxh YmVsIHYyIG9mIGVsZW1lbnQgdjIgb2YgcHJvcGVydHkgZ3JhcGggY3JlYXRlX3Byb3BlcnR5X2dy YXBoX3Rlc3RzLmd0CisgcHJvcGVydHkgZ3JhcGggcHJvcGVydHkgICAgICAgfCAgICAgICAgfCAg ICAgIHwgYSBvZiBwcm9wZXJ0eSBncmFwaCBjcmVhdGVfcHJvcGVydHlfZ3JhcGhfdGVzdHMuZ3QK KyBwcm9wZXJ0eSBncmFwaCBwcm9wZXJ0eSAgICAgICB8ICAgICAgICB8ICAgICAgfCBiIG9mIHBy b3BlcnR5IGdyYXBoIGNyZWF0ZV9wcm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAorIHByb3BlcnR5IGdy YXBoIHByb3BlcnR5ICAgICAgIHwgICAgICAgIHwgICAgICB8IGMgb2YgcHJvcGVydHkgZ3JhcGgg Y3JlYXRlX3Byb3BlcnR5X2dyYXBoX3Rlc3RzLmd0CisgcHJvcGVydHkgZ3JhcGggcHJvcGVydHkg ICAgICAgfCAgICAgICAgfCAgICAgIHwgazEgb2YgcHJvcGVydHkgZ3JhcGggY3JlYXRlX3Byb3Bl cnR5X2dyYXBoX3Rlc3RzLmd0CisgcHJvcGVydHkgZ3JhcGggcHJvcGVydHkgICAgICAgfCAgICAg ICAgfCAgICAgIHwgazIgb2YgcHJvcGVydHkgZ3JhcGggY3JlYXRlX3Byb3BlcnR5X2dyYXBoX3Rl c3RzLmd0CisgcHJvcGVydHkgZ3JhcGggcHJvcGVydHkgICAgICAgfCAgICAgICAgfCAgICAgIHwg bSBvZiBwcm9wZXJ0eSBncmFwaCBjcmVhdGVfcHJvcGVydHlfZ3JhcGhfdGVzdHMuZ3QKKyBwcm9w ZXJ0eSBncmFwaCBwcm9wZXJ0eSAgICAgICB8ICAgICAgICB8ICAgICAgfCBuIG9mIHByb3BlcnR5 IGdyYXBoIGNyZWF0ZV9wcm9wZXJ0eV9ncmFwaF90ZXN0cy5ndAogKDIzIHJvd3MpCiAKIFxhXHQK LS0gCjIuMzQuMQoK --00000000000009f6a50653de448f--