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 1tgRZI-00Aiqp-2F for pgsql-hackers@arkaria.postgresql.org; Fri, 07 Feb 2025 16:51: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 1tgRZE-0039BB-MO for pgsql-hackers@arkaria.postgresql.org; Fri, 07 Feb 2025 16:51: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 1tgRZE-0039AC-2x for pgsql-hackers@lists.postgresql.org; Fri, 07 Feb 2025 16:51:00 +0000 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tgRZB-003nYb-2m for pgsql-hackers@lists.postgresql.org; Fri, 07 Feb 2025 16:50:59 +0000 Received: by mail-pl1-x641.google.com with SMTP id d9443c01a7336-21f4af4f9ddso22041345ad.1 for ; Fri, 07 Feb 2025 08:50:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738947056; x=1739551856; darn=lists.postgresql.org; h=mime-version:subject:references:in-reply-to:message-id:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=keghKDW7xC6Ve7/+e0xWdVwy0YXk+poS7azwdajK2Xk=; b=mMdNgC5Zk/dkgFlrX4YXHZc2lxostRw4Kh63NatDRZXW4NMgUESxUR4lo7hEQq8tMz wMKJzB4UOb/QCusartyqzukCUSaRCZ4qpcrQ3XUv6+Urzg2z9kiiYm1tVNYd//BT/6DL jZL2Tm1e+DFvsEyvOvrwFUgnEEFsq+DMCH0dm9DNghol44XxESUJHYXG0mopUUzV4eZ1 mJP/OMeVBDUh/SP0sMRReSnXuUiXrW6rw3LKx/u89qGLnNaZMa3vW7zIyuxbW67yBCZX gdFNzt0AldKv90rad6QbV602fswup5CBdk6vxHlRHwDhPggK/etmoWMSsM9rOphU/iLt L5OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738947056; x=1739551856; h=mime-version:subject:references:in-reply-to:message-id:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=keghKDW7xC6Ve7/+e0xWdVwy0YXk+poS7azwdajK2Xk=; b=KXNbSCx0iGPfsYG4AIVoPjwe/MfolVXcq4D9Pvy7tghkZt+5VbJMN8KXnbGD/FKIjL Xr2yKs7QQie8eYHTkRPsD6yxrgyUrFwCkWp3z9UWk1mhLla8OxnUonu1MhX7HEfsrvez kIip+wR4UBSPStiieD0WTcFhlV/4JQDUdB3fZbL2YituJMizZcJOo1zy9G8jH6YcVSia oKWZNggEpEW5uUzRSQfQ9gAlASif7Jqi92Z2FcRY8z/vP5QHnQ675ujxgwFopdBic6YL cz1LoV3QdjOp9Z8CIayGHlA/3pEfRGZhwDUDbB+06gboQCS6lGWEDehrGhzeJnUxdJsh VASA== X-Forwarded-Encrypted: i=1; AJvYcCVBOtuPgp4xyxhbtv1ZuQKG0SPPGOy/XUVKiOyuU0yfUHs0URDZg1AxB8tktA+59soR6vcjjFdDFq06tfMJ@lists.postgresql.org X-Gm-Message-State: AOJu0Yx/ah47VgQDOka9YYMgC9xsZxbLcPDd0avHhs6NTwWe0VUHDN24 dEzvYamhb02dy7EGX5WcgEb2EAAF0WLW0vCtdLSvR4j+Vl5NDUHY X-Gm-Gg: ASbGncvJ6KU+XwofA5yJgMFLv6OhuBSqrTMVMb0rkvt1ih/tRt27QeMdLJ/Ag6Yp1LG MqX9vJW50zAqtnVzWP3dHBqXllfICSL97UZdO2aunUorsck9cQbTmJBVahnwm4Ks8WDCRiE5nU/ eytZgMXEBmy5a98pqPnVocb8N1zeHnSamsVki7zSTPu97s08moQ6Ydknthsa0XmsffNz10gUUkN 9Lchs4unrFxI3BRNxyw7PCPBd4cdAgHOvoFp3JW5RWq9heFkFAM9TnZfbg34NARZygXaLBNdRQC eHwltBERY9Hze45hLoE= X-Google-Smtp-Source: AGHT+IG5I+XIzreyAHfyCmP2gfcbKYM2t50BJfAXsnDn+xPHxZsq4twl0Vy5YNisOEcWdf17aBEWWA== X-Received: by 2002:a17:903:19cb:b0:215:a179:14d2 with SMTP id d9443c01a7336-21f4e7a682dmr67011405ad.50.1738947056374; Fri, 07 Feb 2025 08:50:56 -0800 (PST) Received: from [127.0.0.1] ([2406:da18:f9d:7d02:6d74:3ab9:3788:ca0b]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21f64a67488sm3234935ad.244.2025.02.07.08.50.54 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 07 Feb 2025 08:50:55 -0800 (PST) Date: Sat, 8 Feb 2025 00:50:47 +0800 From: Zhang Mingli To: Michael Paquier Cc: =?utf-8?Q?=C3=81lvaro_Herrera?= , PostgreSQL Hackers Message-ID: In-Reply-To: <3ded6d8c-c417-4812-8861-12cbb7f8e182@Spark> References: <202502021324.vn4ufyduifat@alvherre.pgsql> <9324b4d3-d49f-463e-984a-2725fe36cb2b@Spark> <3ded6d8c-c417-4812-8861-12cbb7f8e182@Spark> Subject: Re: Proposal to CREATE FOREIGN TABLE LIKE X-Readdle-Message-ID: c5dc00e9-3f19-47fc-8409-47581020d09e@Spark MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="67a639ec_7e041431_1738b" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --67a639ec_7e041431_1738b Content-Type: multipart/alternative; boundary="67a639ec_585ba440_1738b" --67a639ec_585ba440_1738b Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On =46eb 7, 2025 at 22:24 +0800, Zhang Mingli , = wrote: > On =46eb 6, 2025 at 18:09 +0800, Zhang Mingli = , wrote: > > On =46eb 3, 2025 at 08:29 +0800, Michael Paquier , wrote: > > > On Mon, =46eb 03, 2025 at 06:22:13AM +0800, Mingli Zhang wrote: > > > > Yes, I would like to provide a patch. > > > > > > > > Glad to see we have come to an agreement on this. > > > > > > Just adding my +1 here. =46WIW. > > Hi, > > > > Patch added. > > Add it to commitfest:=C2=A0https://commitfest.postgresql.org/52/5557 =46ix CI failure of doc build in v1 patch. -- Zhang Mingli HashData --67a639ec_585ba440_1738b Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline
On =46eb 7, 2025 at 22:24 +0800, Zhang Mingli <z= mlpostgres=40gmail.com>, wrote:
On =46eb 6, 2025 at 18:09 +0800, Zhang Mingli <zmlpostgres=40gmail.co= m>, wrote:
On =46eb 3, 2025 at 08:29 +0800, Michael Paquier <michael=40paquier.x= yz>, wrote:
On Mon, =46eb 03, 2025 at 06:22:13AM +0800, Mingli Zhang wrote:
= Yes, I would like to provide a patch.

Glad to see we have come to an agreement on this.

Just adding my +1 here. =46WIW.
Hi,

Patch added.

Add it to commitfest:&=23160;https://commitfest.postgresql.org/5= 2/5557

=46ix CI failure of doc build in v1 patch.

--
Zhang Mingli
HashData
--67a639ec_585ba440_1738b-- --67a639ec_7e041431_1738b Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v1-0001-CREATE-FOREIGN-TABLE-LIKE.patch" RnJvbSA2MzZlOTBkOGVhMGMyY2FhNmNhNTc1ZWU0MjQ0OThjNzM0ZDNkNDE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaaGFuZyBNaW5nbGkgPGF2YW1pbmdsaUBnbWFpbC5jb20+CkRh dGU6IFNhdCwgOCBGZWIgMjAyNSAwMDo0NjoxNyArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIENSRUFU RSBGT1JFSUdOIFRBQkxFIExJS0UKCkFkZGVkIHN1cHBvcnQgZm9yIENSRUFURSBGT1JFSUdOIFRB QkxFIExJS0UgdG8gZW5hYmxlIHRoZSBjcmVhdGlvbiBvZgpmb3JlaWduIHRhYmxlcyBiYXNlZCBv biB0aGUgY29sdW1uIGRlZmluaXRpb25zLCBjb25zdHJhaW50cyBvZiBleGlzdGluZwpzb3VyY2Ug dGFibGVzLiBUaGlzIGZlYXR1cmUgbWlycm9ycyB0aGUgYmVoYXZpb3Igb2YgQ1JFQVRFIFRBQkxF IExJS0UsCmJ1dCBpZ25vcmVzIGluYXBwbGljYWJsZSBvcHRpb25zIHN1Y2ggYXMgSU5DTFVESU5H IElOREVYRVMKYW5kIElOQ0xVRElORyBDT01QUkVTU0lPTiBmb3IgZm9yZWlnbiB0YWJsZXMuCgpB dXRob3JlZC1ieTogWmhhbmcgTWluZ2xpIGF2YW1pbmdsaUBnbWFpbC5jb20KLS0tCiBkb2Mvc3Jj L3NnbWwvcmVmL2NyZWF0ZV9mb3JlaWduX3RhYmxlLnNnbWwgICAgfCAxNDMgKysrKysrKysrKysr KysrKystCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jICAgICAgICAgICAgfCAg MjAgKy0tCiAuLi4vcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQgICAgfCAx MTkgKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlr ZS5zcWwgICAgfCAgNDYgKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDMxOCBpbnNlcnRpb25zKCsp LCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9m b3JlaWduX3RhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9mb3JlaWduX3RhYmxl LnNnbWwKaW5kZXggMGRjZDljYTZmOC4uYzMyODQ1OWVmNSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9z Z21sL3JlZi9jcmVhdGVfZm9yZWlnbl90YWJsZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYv Y3JlYXRlX2ZvcmVpZ25fdGFibGUuc2dtbApAQCAtMjMsNyArMjMsOCBAQCBQb3N0Z3JlU1FMIGRv Y3VtZW50YXRpb24KIDxzeW5vcHNpcz4KIENSRUFURSBGT1JFSUdOIFRBQkxFIFsgSUYgTk9UIEVY SVNUUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNl YWJsZT4gKCBbCiAgIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1l PC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRhdGFfdHlwZTwv cmVwbGFjZWFibGU+IFsgT1BUSU9OUyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5v cHRpb248L3JlcGxhY2VhYmxlPiAnPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVl PC9yZXBsYWNlYWJsZT4nIFssIC4uLiBdICkgXSBbIENPTExBVEUgPHJlcGxhY2VhYmxlPmNvbGxh dGlvbjwvcmVwbGFjZWFibGU+IF0gWyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29s dW1uX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPiBbIC4uLiBdIF0KLSAgICB8IDxyZXBsYWNlYWJs ZT50YWJsZV9jb25zdHJhaW50PC9yZXBsYWNlYWJsZT4gfQorICAgIHwgPHJlcGxhY2VhYmxlPnRh YmxlX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPgorICAgIHwgTElLRSA8cmVwbGFjZWFibGU+c291 cmNlX3RhYmxlPC9yZXBsYWNlYWJsZT4gWyA8cmVwbGFjZWFibGU+bGlrZV9vcHRpb248L3JlcGxh Y2VhYmxlPiAuLi4gXSB9CiAgICAgWywgLi4uIF0KIF0gKQogWyBJTkhFUklUUyAoIDxyZXBsYWNl YWJsZT5wYXJlbnRfdGFibGU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIF0KQEAgLTU3LDYgKzU4 LDEwIEBAIENSRUFURSBGT1JFSUdOIFRBQkxFIFsgSUYgTk9UIEVYSVNUUyBdIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lCiAgICBDSEVDSyAoIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4gKSBbIE5PIElOSEVSSVQg XSB9CiBbIEVORk9SQ0VEIHwgTk9UIEVORk9SQ0VEIF0KIAorPHBocmFzZT5hbmQgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmxpa2Vfb3B0aW9uPC9yZXBsYWNlYWJsZT4gaXM6PC9waHJh c2U+CisKK3sgSU5DTFVESU5HIHwgRVhDTFVESU5HIH0geyBDT01NRU5UUyB8IENPTlNUUkFJTlRT IHwgREVGQVVMVFMgfCBHRU5FUkFURUQgfCBJREVOVElUWSB8IFNUQVRJU1RJQ1MgfCBBTEwgfQor CiA8cGhyYXNlPmFuZCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGFydGl0aW9uX2Jv dW5kX3NwZWM8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4KIAogSU4gKCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cGFydGl0aW9uX2JvdW5kX2V4cHI8L3JlcGxhY2VhYmxlPiBbLCAu Li5dICkgfApAQCAtMTkxLDYgKzE5NiwxNDIgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAg ICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgIDx2YXJsaXN0ZW50cnk+Cisg ICAgPHRlcm0+PGxpdGVyYWw+TElLRSA8cmVwbGFjZWFibGU+c291cmNlX3RhYmxlPC9yZXBsYWNl YWJsZT4gWyA8cmVwbGFjZWFibGU+bGlrZV9vcHRpb248L3JlcGxhY2VhYmxlPiAuLi4gXTwvbGl0 ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSA8bGl0 ZXJhbD5MSUtFPC9saXRlcmFsPiBjbGF1c2Ugc3BlY2lmaWVzIGEgdGFibGUgZnJvbSB3aGljaAor ICAgICAgdGhlIG5ldyB0YWJsZSBhdXRvbWF0aWNhbGx5IGNvcGllcyBhbGwgY29sdW1uIG5hbWVz LCB0aGVpciBkYXRhIHR5cGVzLAorICAgICAgYW5kIHRoZWlyIG5vdC1udWxsIGNvbnN0cmFpbnRz LgorICAgICA8L3BhcmE+CisgICAgIDxwYXJhPgorICAgICAgVW5saWtlIDxsaXRlcmFsPklOSEVS SVRTPC9saXRlcmFsPiwgdGhlIG5ldyB0YWJsZSBhbmQgb3JpZ2luYWwgdGFibGUKKyAgICAgIGFy ZSBjb21wbGV0ZWx5IGRlY291cGxlZCBhZnRlciBjcmVhdGlvbiBpcyBjb21wbGV0ZS4gIENoYW5n ZXMgdG8gdGhlCisgICAgICBvcmlnaW5hbCB0YWJsZSB3aWxsIG5vdCBiZSBhcHBsaWVkIHRvIHRo ZSBuZXcgdGFibGUsIGFuZCBpdCBpcyBub3QKKyAgICAgIHBvc3NpYmxlIHRvIGluY2x1ZGUgZGF0 YSBvZiB0aGUgbmV3IHRhYmxlIGluIHNjYW5zIG9mIHRoZSBvcmlnaW5hbAorICAgICAgdGFibGUu CisgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgQWxzbyB1bmxpa2UgPGxpdGVyYWw+ SU5IRVJJVFM8L2xpdGVyYWw+LCBjb2x1bW5zIGFuZAorICAgICAgY29uc3RyYWludHMgY29waWVk IGJ5IDxsaXRlcmFsPkxJS0U8L2xpdGVyYWw+IGFyZSBub3QgbWVyZ2VkIHdpdGggc2ltaWxhcmx5 CisgICAgICBuYW1lZCBjb2x1bW5zIGFuZCBjb25zdHJhaW50cy4KKyAgICAgIElmIHRoZSBzYW1l IG5hbWUgaXMgc3BlY2lmaWVkIGV4cGxpY2l0bHkgb3IgaW4gYW5vdGhlcgorICAgICAgPGxpdGVy YWw+TElLRTwvbGl0ZXJhbD4gY2xhdXNlLCBhbiBlcnJvciBpcyBzaWduYWxlZC4KKyAgICAgPC9w YXJhPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBvcHRpb25hbCA8cmVwbGFjZWFibGU+bGlrZV9v cHRpb248L3JlcGxhY2VhYmxlPiBjbGF1c2VzIHNwZWNpZnkKKyAgICAgIHdoaWNoIGFkZGl0aW9u YWwgcHJvcGVydGllcyBvZiB0aGUgb3JpZ2luYWwgdGFibGUgdG8gY29weS4gIFNwZWNpZnlpbmcK KyAgICAgIDxsaXRlcmFsPklOQ0xVRElORzwvbGl0ZXJhbD4gY29waWVzIHRoZSBwcm9wZXJ0eSwg c3BlY2lmeWluZworICAgICAgPGxpdGVyYWw+RVhDTFVESU5HPC9saXRlcmFsPiBvbWl0cyB0aGUg cHJvcGVydHkuCisgICAgICA8bGl0ZXJhbD5FWENMVURJTkc8L2xpdGVyYWw+IGlzIHRoZSBkZWZh dWx0LiAgSWYgbXVsdGlwbGUgc3BlY2lmaWNhdGlvbnMKKyAgICAgIGFyZSBtYWRlIGZvciB0aGUg c2FtZSBraW5kIG9mIG9iamVjdCwgdGhlIGxhc3Qgb25lIGlzIHVzZWQuICBUaGUKKyAgICAgIGF2 YWlsYWJsZSBvcHRpb25zIGFyZToKKworICAgICAgPHZhcmlhYmxlbGlzdD4KKyAgICAgICA8dmFy bGlzdGVudHJ5PgorICAgICAgICA8dGVybT48bGl0ZXJhbD5JTkNMVURJTkcgQ09NTUVOVFM8L2xp dGVyYWw+PC90ZXJtPgorICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICA8cGFyYT4KKyAgICAg ICAgICBDb21tZW50cyBmb3IgdGhlIGNvcGllZCBjb2x1bW5zLCBjb25zdHJhaW50cywgYW5kIGlu ZGV4ZXMgd2lsbCBiZQorICAgICAgICAgIGNvcGllZC4gIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGlz IHRvIGV4Y2x1ZGUgY29tbWVudHMsIHJlc3VsdGluZyBpbgorICAgICAgICAgIHRoZSBjb3BpZWQg Y29sdW1ucyBhbmQgY29uc3RyYWludHMgaW4gdGhlIG5ldyB0YWJsZSBoYXZpbmcgbm8KKyAgICAg ICAgICBjb21tZW50cy4KKyAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPC9saXN0aXRlbT4KKyAg ICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICAgIDx0 ZXJtPjxsaXRlcmFsPklOQ0xVRElORyBDT05TVFJBSU5UUzwvbGl0ZXJhbD48L3Rlcm0+CisgICAg ICAgIDxsaXN0aXRlbT4KKyAgICAgICAgIDxwYXJhPgorICAgICAgICAgIDxsaXRlcmFsPkNIRUNL PC9saXRlcmFsPiBjb25zdHJhaW50cyB3aWxsIGJlIGNvcGllZC4gIE5vIGRpc3RpbmN0aW9uCisg ICAgICAgICAgaXMgbWFkZSBiZXR3ZWVuIGNvbHVtbiBjb25zdHJhaW50cyBhbmQgdGFibGUgY29u c3RyYWludHMuICBOb3QtbnVsbAorICAgICAgICAgIGNvbnN0cmFpbnRzIGFyZSBhbHdheXMgY29w aWVkIHRvIHRoZSBuZXcgdGFibGUuCisgICAgICAgICA8L3BhcmE+CisgICAgICAgIDwvbGlzdGl0 ZW0+CisgICAgICAgPC92YXJsaXN0ZW50cnk+CisKKyAgICAgICA8dmFybGlzdGVudHJ5PgorICAg ICAgICA8dGVybT48bGl0ZXJhbD5JTkNMVURJTkcgREVGQVVMVFM8L2xpdGVyYWw+PC90ZXJtPgor ICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICA8cGFyYT4KKyAgICAgICAgICBEZWZhdWx0IGV4 cHJlc3Npb25zIGZvciB0aGUgY29waWVkIGNvbHVtbiBkZWZpbml0aW9ucyB3aWxsIGJlCisgICAg ICAgICAgY29waWVkLiAgT3RoZXJ3aXNlLCBkZWZhdWx0IGV4cHJlc3Npb25zIGFyZSBub3QgY29w aWVkLCByZXN1bHRpbmcgaW4KKyAgICAgICAgICB0aGUgY29waWVkIGNvbHVtbnMgaW4gdGhlIG5l dyB0YWJsZSBoYXZpbmcgbnVsbCBkZWZhdWx0cy4gIE5vdGUgdGhhdAorICAgICAgICAgIGNvcHlp bmcgZGVmYXVsdHMgdGhhdCBjYWxsIGRhdGFiYXNlLW1vZGlmaWNhdGlvbiBmdW5jdGlvbnMsIHN1 Y2ggYXMKKyAgICAgICAgICA8ZnVuY3Rpb24+bmV4dHZhbDwvZnVuY3Rpb24+LCBtYXkgY3JlYXRl IGEgZnVuY3Rpb25hbCBsaW5rYWdlCisgICAgICAgICAgYmV0d2VlbiB0aGUgb3JpZ2luYWwgYW5k IG5ldyB0YWJsZXMuCisgICAgICAgICA8L3BhcmE+CisgICAgICAgIDwvbGlzdGl0ZW0+CisgICAg ICAgPC92YXJsaXN0ZW50cnk+CisKKyAgICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgICA8dGVy bT48bGl0ZXJhbD5JTkNMVURJTkcgR0VORVJBVEVEPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAg PGxpc3RpdGVtPgorICAgICAgICAgPHBhcmE+CisgICAgICAgICAgQW55IGdlbmVyYXRpb24gZXhw cmVzc2lvbnMgb2YgY29waWVkIGNvbHVtbiBkZWZpbml0aW9ucyB3aWxsIGJlCisgICAgICAgICAg Y29waWVkLiAgQnkgZGVmYXVsdCwgbmV3IGNvbHVtbnMgd2lsbCBiZSByZWd1bGFyIGJhc2UgY29s dW1ucy4KKyAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICA8L3Zh cmxpc3RlbnRyeT4KKworICAgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICAgIDx0ZXJtPjxsaXRl cmFsPklOQ0xVRElORyBJREVOVElUWTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICAgIDxsaXN0aXRl bT4KKyAgICAgICAgIDxwYXJhPgorICAgICAgICAgIEFueSBpZGVudGl0eSBzcGVjaWZpY2F0aW9u cyBvZiBjb3BpZWQgY29sdW1uIGRlZmluaXRpb25zIHdpbGwgYmUKKyAgICAgICAgICBjb3BpZWQu ICBBIG5ldyBzZXF1ZW5jZSBpcyBjcmVhdGVkIGZvciBlYWNoIGlkZW50aXR5IGNvbHVtbiBvZiB0 aGUKKyAgICAgICAgICBuZXcgdGFibGUsIHNlcGFyYXRlIGZyb20gdGhlIHNlcXVlbmNlcyBhc3Nv Y2lhdGVkIHdpdGggdGhlIG9sZAorICAgICAgICAgIHRhYmxlLgorICAgICAgICAgPC9wYXJhPgor ICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgIDwvdmFybGlzdGVudHJ5PgorCisgICAgICAgPHZh cmxpc3RlbnRyeT4KKyAgICAgICAgPHRlcm0+PGxpdGVyYWw+SU5DTFVESU5HIFNUQVRJU1RJQ1M8 L2xpdGVyYWw+PC90ZXJtPgorICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICA8cGFyYT4KKyAg ICAgICAgICBFeHRlbmRlZCBzdGF0aXN0aWNzIGFyZSBjb3BpZWQgdG8gdGhlIG5ldyB0YWJsZS4K KyAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICA8L3Zhcmxpc3Rl bnRyeT4KKworICAgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICAgIDx0ZXJtPjxsaXRlcmFsPklO Q0xVRElORyBTVE9SQUdFPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPGxpc3RpdGVtPgorICAg ICAgICAgPHBhcmE+CisgICAgICAgICAgPGxpdGVyYWw+U1RPUkFHRTwvbGl0ZXJhbD4gc2V0dGlu Z3MgZm9yIHRoZSBjb3BpZWQgY29sdW1uCisgICAgICAgICAgZGVmaW5pdGlvbnMgd2lsbCBiZSBj b3BpZWQuICBUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBleGNsdWRlCisgICAgICAgICAgPGxp dGVyYWw+U1RPUkFHRTwvbGl0ZXJhbD4gc2V0dGluZ3MsIHJlc3VsdGluZyBpbiB0aGUgY29waWVk IGNvbHVtbnMKKyAgICAgICAgICBpbiB0aGUgbmV3IHRhYmxlIGhhdmluZyB0eXBlLXNwZWNpZmlj IGRlZmF1bHQgc2V0dGluZ3MuICBGb3IgbW9yZSBvbgorICAgICAgICAgIDxsaXRlcmFsPlNUT1JB R0U8L2xpdGVyYWw+IHNldHRpbmdzLCBzZWUgPHhyZWYKKyAgICAgICAgICBsaW5rZW5kPSJzdG9y YWdlLXRvYXN0Ii8+LgorICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L2xpc3RpdGVtPgorICAg ICAgIDwvdmFybGlzdGVudHJ5PgorCisgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICAgPHRl cm0+PGxpdGVyYWw+SU5DTFVESU5HIEFMTDwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICAgIDxsaXN0 aXRlbT4KKyAgICAgICAgIDxwYXJhPgorICAgICAgICAgIDxsaXRlcmFsPklOQ0xVRElORyBBTEw8 L2xpdGVyYWw+IGlzIGFuIGFiYnJldmlhdGVkIGZvcm0gc2VsZWN0aW5nCisgICAgICAgICAgYWxs IHRoZSBhdmFpbGFibGUgaW5kaXZpZHVhbCBvcHRpb25zLiAgKEl0IGNvdWxkIGJlIHVzZWZ1bCB0 byB3cml0ZQorICAgICAgICAgIGluZGl2aWR1YWwgPGxpdGVyYWw+RVhDTFVESU5HPC9saXRlcmFs PiBjbGF1c2VzIGFmdGVyCisgICAgICAgICAgPGxpdGVyYWw+SU5DTFVESU5HIEFMTDwvbGl0ZXJh bD4gdG8gc2VsZWN0IGFsbCBidXQgc29tZSBzcGVjaWZpYworICAgICAgICAgIG9wdGlvbnMuKQor ICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgIDwvdmFybGlzdGVu dHJ5PgorICAgICAgPC92YXJpYWJsZWxpc3Q+CisgICAgIDwvcGFyYT4KKworICAgICA8cGFyYT4K KyAgICAgIEZvcmVpZ24gdGFibGVzIGhhdmUgbm8gcmVhbCBzdG9yYWdlIGluIFBvc3RncmVTUUwu CisgICAgICBJbmFwcGxpY2FibGUgb3B0aW9ucyAoZS5nLiwgPGxpdGVyYWw+SU5DTFVESU5HIElO REVYRVM8L2xpdGVyYWw+KSBhcmUgaWdub3JlZC4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0 ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgPHZhcmxpc3RlbnRyeT4KICAgICA8dGVybT48 bGl0ZXJhbD5DT05TVFJBSU5UIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb25zdHJh aW50X25hbWU8L3JlcGxhY2VhYmxlPjwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyBiL3NyYy9iYWNr ZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKaW5kZXggY2EwMjhkMmE2Ni4uYWQzN2JjNTZiMiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYworKysgYi9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCkBAIC0xMTE3LDYgKzExMTcsMTIgQEAgdHJh bnNmb3JtVGFibGVDb25zdHJhaW50KENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIENvbnN0cmFpbnQg KmNvbnN0cmFpbnQpCiAgKiBwcm9jZXNzIGF0IHRoaXMgcG9pbnQsIGFkZCB0aGUgVGFibGVMaWtl Q2xhdXNlIHRvIGN4dC0+bGlrZWNsYXVzZXMsIHdoaWNoCiAgKiB3aWxsIGNhdXNlIHV0aWxpdHku YyB0byBjYWxsIGV4cGFuZFRhYmxlTGlrZUNsYXVzZSgpIGFmdGVyIHRoZSBuZXcKICAqIHRhYmxl IGhhcyBiZWVuIGNyZWF0ZWQuCisgKgorICogRm9yIGZvcmVpZ24gdGFibGVzLCB0aGV5IGhhdmUg bm8gcmVhbCBzdG9yYWdlIGluIFBvc3RncmVzLgorICogSW5hcHBsaWNhYmxlIG9wdGlvbnMgYXJl IGlnbm9yZWQ6CisgKglDUkVBVEVfVEFCTEVfTElLRV9DT01QUkVTU0lPTgorICoJQ1JFQVRFX1RB QkxFX0xJS0VfSU5ERVhFUworICogd2hpbGUgSU5ERVhFUyBpcyBoYW5kbGVkIGluIGV4cGFuZFRh YmxlTGlrZUNsYXVzZSgpIGxhdGVyLgogICovCiBzdGF0aWMgdm9pZAogdHJhbnNmb3JtVGFibGVM aWtlQ2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRhYmxlTGlrZUNsYXVzZSAqdGFibGVf bGlrZV9jbGF1c2UpCkBAIC0xMTMxLDEyICsxMTM3LDYgQEAgdHJhbnNmb3JtVGFibGVMaWtlQ2xh dXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRhYmxlTGlrZUNsYXVzZSAqdGFibGVfbGlrZV9j bGEKIAlzZXR1cF9wYXJzZXJfZXJycG9zaXRpb25fY2FsbGJhY2soJnBjYnN0YXRlLCBjeHQtPnBz dGF0ZSwKIAkJCQkJCQkJCSAgdGFibGVfbGlrZV9jbGF1c2UtPnJlbGF0aW9uLT5sb2NhdGlvbik7 CiAKLQkvKiB3ZSBjb3VsZCBzdXBwb3J0IExJS0UgaW4gbWFueSBjYXNlcywgYnV0IHdvcnJ5IGFi b3V0IGl0IGFub3RoZXIgZGF5ICovCi0JaWYgKGN4dC0+aXNmb3JlaWduKQotCQllcmVwb3J0KEVS Uk9SLAotCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKLQkJCQkg ZXJybXNnKCJMSUtFIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIGNyZWF0aW5nIGZvcmVpZ24gdGFibGVz IikpKTsKLQogCS8qIE9wZW4gdGhlIHJlbGF0aW9uIHJlZmVyZW5jZWQgYnkgdGhlIExJS0UgY2xh dXNlICovCiAJcmVsYXRpb24gPSByZWxhdGlvbl9vcGVucnYodGFibGVfbGlrZV9jbGF1c2UtPnJl bGF0aW9uLCBBY2Nlc3NTaGFyZUxvY2spOwogCkBAIC0xMjQyLDggKzEyNDIsOSBAQCB0cmFuc2Zv cm1UYWJsZUxpa2VDbGF1c2UoQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgVGFibGVMaWtlQ2xhdXNl ICp0YWJsZV9saWtlX2NsYQogCQkJZGVmLT5zdG9yYWdlID0gMDsKIAogCQkvKiBMaWtld2lzZSwg Y29weSBjb21wcmVzc2lvbiBpZiByZXF1ZXN0ZWQgKi8KLQkJaWYgKCh0YWJsZV9saWtlX2NsYXVz ZS0+b3B0aW9ucyAmIENSRUFURV9UQUJMRV9MSUtFX0NPTVBSRVNTSU9OKSAhPSAwCi0JCQkmJiBD b21wcmVzc2lvbk1ldGhvZElzVmFsaWQoYXR0cmlidXRlLT5hdHRjb21wcmVzc2lvbikpCisJCWlm ICgodGFibGVfbGlrZV9jbGF1c2UtPm9wdGlvbnMgJiBDUkVBVEVfVEFCTEVfTElLRV9DT01QUkVT U0lPTikgIT0gMCAmJgorCQkJQ29tcHJlc3Npb25NZXRob2RJc1ZhbGlkKGF0dHJpYnV0ZS0+YXR0 Y29tcHJlc3Npb24pICYmCisJCQkhY3h0LT5pc2ZvcmVpZ24pCiAJCQlkZWYtPmNvbXByZXNzaW9u ID0KIAkJCQlwc3RyZHVwKEdldENvbXByZXNzaW9uTWV0aG9kTmFtZShhdHRyaWJ1dGUtPmF0dGNv bXByZXNzaW9uKSk7CiAJCWVsc2UKQEAgLTE1MjIsNyArMTUyMyw4IEBAIGV4cGFuZFRhYmxlTGlr ZUNsYXVzZShSYW5nZVZhciAqaGVhcFJlbCwgVGFibGVMaWtlQ2xhdXNlICp0YWJsZV9saWtlX2Ns YXVzZSkKIAkgKiBQcm9jZXNzIGluZGV4ZXMgaWYgcmVxdWlyZWQuCiAJICovCiAJaWYgKCh0YWJs ZV9saWtlX2NsYXVzZS0+b3B0aW9ucyAmIENSRUFURV9UQUJMRV9MSUtFX0lOREVYRVMpICYmCi0J CXJlbGF0aW9uLT5yZF9yZWwtPnJlbGhhc2luZGV4KQorCQlyZWxhdGlvbi0+cmRfcmVsLT5yZWxo YXNpbmRleCAmJgorCQljaGlsZHJlbC0+cmRfcmVsLT5yZWxraW5kICE9IFJFTEtJTkRfRk9SRUlH Tl9UQUJMRSkKIAl7CiAJCUxpc3QJICAgKnBhcmVudF9pbmRleGVzOwogCQlMaXN0Q2VsbCAgICps OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfdGFibGVfbGlr ZS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dApp bmRleCBlMDYxMzg5MTM1Li44ZGRhZGQ1N2UyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dApAQCAtNTYzLDMgKzU2MywxMjIgQEAgRFJPUCBU WVBFIGN0bHR5MTsKIERST1AgVklFVyBjdGx2MTsKIERST1AgVEFCTEUgSUYgRVhJU1RTIGN0bHQ0 LCBjdGx0MTAsIGN0bHQxMSwgY3RsdDExYSwgY3RsdDEyOwogTk9USUNFOiAgdGFibGUgImN0bHQx MCIgZG9lcyBub3QgZXhpc3QsIHNraXBwaW5nCistLQorLS0gQ1JFQVRFIEZPUkVJR04gVEFCTEUg TElLRQorLS0KK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBjdGxfZHVtbXk7CitDUkVBVEUg U0VSVkVSIGN0bF9zMCBGT1JFSUdOIERBVEEgV1JBUFBFUiBjdGxfZHVtbXk7CitDUkVBVEUgVEFC TEUgY3RsX3RhYmxlKGEgaW50IERFRkFVTFQgMSwgYiB0ZXh0LAorICBjIGludCBHRU5FUkFURUQg QUxXQVlTIEFTIChhICogMikgU1RPUkVELAorICBkIGJpZ2ludCBHRU5FUkFURUQgQUxXQVlTIEFT IElERU5USVRZKTsKK0NSRUFURSBJTkRFWCBjdGxfdGFibGVfYV9rZXkgT04gY3RsX3RhYmxlKGEp OworQ09NTUVOVCBPTiBDT0xVTU4gY3RsX3RhYmxlLmIgSVMgJ0NvbHVtbiBiJzsKK0NSRUFURSBT VEFUSVNUSUNTIGN0bF90YWJsZV9zdGF0IE9OIGEsYiBGUk9NIGN0bF90YWJsZTsKK0FMVEVSIFRB QkxFIGN0bF90YWJsZSBhZGQgY29uc3RyYWludCBmb28gQ0hFQ0sgKGIgPSAndGV4dCcpOworXGQr IGN0bF90YWJsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBUYWJsZSAicHVibGljLmN0bF90YWJsZSIKKyBDb2x1bW4gfCAgVHlwZSAgIHwgQ29sbGF0aW9u IHwgTnVsbGFibGUgfCAgICAgICAgICAgICAgRGVmYXVsdCAgICAgICAgICAgICAgIHwgU3RvcmFn ZSAgfCBTdGF0cyB0YXJnZXQgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyBhICAgICAgfCBpbnRlZ2Vy IHwgICAgICAgICAgIHwgICAgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgcGxhaW4gICAgfCAgICAgICAgICAgICAgfCAKKyBiICAgICAgfCB0ZXh0ICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ZXh0ZW5kZWQgfCAgICAgICAgICAgICAgfCBDb2x1bW4gYgorIGMgICAgICB8IGludGVnZXIgfCAg ICAgICAgICAgfCAgICAgICAgICB8IGdlbmVyYXRlZCBhbHdheXMgYXMgKGEgKiAyKSBzdG9yZWQg fCBwbGFpbiAgICB8ICAgICAgICAgICAgICB8IAorIGQgICAgICB8IGJpZ2ludCAgfCAgICAgICAg ICAgfCBub3QgbnVsbCB8IGdlbmVyYXRlZCBhbHdheXMgYXMgaWRlbnRpdHkgICAgICAgfCBwbGFp biAgICB8ICAgICAgICAgICAgICB8IAorSW5kZXhlczoKKyAgICAiY3RsX3RhYmxlX2Ffa2V5IiBi dHJlZSAoYSkKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJmb28iIENIRUNLIChiID0gJ3RleHQn Ojp0ZXh0KQorU3RhdGlzdGljcyBvYmplY3RzOgorICAgICJwdWJsaWMuY3RsX3RhYmxlX3N0YXQi IE9OIGEsIGIgRlJPTSBjdGxfdGFibGUKK05vdC1udWxsIGNvbnN0cmFpbnRzOgorICAgICJjdGxf dGFibGVfZF9ub3RfbnVsbCIgTk9UIE5VTEwgImQiCisKKy0tIFRlc3QgRVhDTFVESU5HIEFMTCBi eSBkZWZhdWx0CitDUkVBVEUgRk9SRUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTEoTElLRSBj dGxfdGFibGUpIFNFUlZFUiBjdGxfczA7CitcZCsgY3RsX2ZvcmVpZ25fdGFibGUxCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZvcmVpZ24gdGFibGUgInB1YmxpYy5jdGxfZm9yZWln bl90YWJsZTEiCisgQ29sdW1uIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVm YXVsdCB8IEZEVyBvcHRpb25zIHwgU3RvcmFnZSAgfCBTdGF0cyB0YXJnZXQgfCBEZXNjcmlwdGlv biAKKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIGEg ICAgICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAgICAg ICAgICB8IHBsYWluICAgIHwgICAgICAgICAgICAgIHwgCisgYiAgICAgIHwgdGV4dCAgICB8ICAg ICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgIHwgZXh0ZW5kZWQgfCAg ICAgICAgICAgICAgfCAKKyBjICAgICAgfCBpbnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAg fCAgICAgICAgIHwgICAgICAgICAgICAgfCBwbGFpbiAgICB8ICAgICAgICAgICAgICB8IAorIGQg ICAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCBub3QgbnVsbCB8ICAgICAgICAgfCAgICAgICAg ICAgICB8IHBsYWluICAgIHwgICAgICAgICAgICAgIHwgCitOb3QtbnVsbCBjb25zdHJhaW50czoK KyAgICAiY3RsX3RhYmxlX2Rfbm90X251bGwiIE5PVCBOVUxMICJkIgorU2VydmVyOiBjdGxfczAK KworLS0gVGVzdCBJTkNMVURJTkcgSU5ERVhFUyBkb2VzJ3QgdGFrZSBlZmZlY3QKK0NSRUFURSBG T1JFSUdOIFRBQkxFIGN0bF9mb3JlaWduX3RhYmxlMihMSUtFIGN0bF90YWJsZSBJTkNMVURJTkcg SU5ERVhFUykgU0VSVkVSIGN0bF9zMDsKK1xkKyBjdGxfZm9yZWlnbl90YWJsZTIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRm9yZWlnbiB0YWJsZSAicHVibGljLmN0bF9mb3JlaWdu X3RhYmxlMiIKKyBDb2x1bW4gfCAgVHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZh dWx0IHwgRkRXIG9wdGlvbnMgfCBTdG9yYWdlICB8IFN0YXRzIHRhcmdldCB8IERlc2NyaXB0aW9u IAorLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgYSAg ICAgIHwgaW50ZWdlciB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8ICAgICAgICAg ICAgIHwgcGxhaW4gICAgfCAgICAgICAgICAgICAgfCAKKyBiICAgICAgfCB0ZXh0ICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAgfCBleHRlbmRlZCB8ICAg ICAgICAgICAgICB8IAorIGMgICAgICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8 ICAgICAgICAgfCAgICAgICAgICAgICB8IHBsYWluICAgIHwgICAgICAgICAgICAgIHwgCisgZCAg ICAgIHwgYmlnaW50ICB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgICAgICAgICB8ICAgICAgICAg ICAgIHwgcGxhaW4gICAgfCAgICAgICAgICAgICAgfCAKK05vdC1udWxsIGNvbnN0cmFpbnRzOgor ICAgICJjdGxfdGFibGVfZF9ub3RfbnVsbCIgTk9UIE5VTEwgImQiCitTZXJ2ZXI6IGN0bF9zMAor CistLSBUZXN0IElOQ0xVRElORyBDT01QUkVTU0lPTiBkb2VzJ3QgdGFrZSBlZmZlY3QKK1xzZXQg SElERV9UT0FTVF9DT01QUkVTU0lPTiBmYWxzZQorQUxURVIgVEFCTEUgY3RsX3RhYmxlIEFMVEVS IENPTFVNTiBiIFRZUEUgdmFyY2hhcjsKK0FMVEVSIFRBQkxFIGN0bF90YWJsZSBBTFRFUiBDT0xV TU4gYiBTRVQgQ09NUFJFU1NJT04gcGdsejsKK1xkKyBjdGxfdGFibGUKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUgInB1Ymxp Yy5jdGxfdGFibGUiCisgQ29sdW1uIHwgICAgICAgVHlwZSAgICAgICAgfCBDb2xsYXRpb24gfCBO dWxsYWJsZSB8ICAgICAgICAgICAgICBEZWZhdWx0ICAgICAgICAgICAgICAgfCBTdG9yYWdlICB8 IENvbXByZXNzaW9uIHwgU3RhdHMgdGFyZ2V0IHwgRGVzY3JpcHRpb24gCistLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tCisgYSAgICAgIHwgaW50ZWdlciAgICAgICAgICAgfCAgICAgICAgICAg fCAgICAgICAgICB8IDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwbGFpbiAg ICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgIHwgCisgYiAgICAgIHwgY2hhcmFjdGVyIHZh cnlpbmcgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBleHRlbmRlZCB8IHBnbHogICAgICAgIHwgICAgICAgICAgICAgIHwgQ29sdW1u IGIKKyBjICAgICAgfCBpbnRlZ2VyICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwg Z2VuZXJhdGVkIGFsd2F5cyBhcyAoYSAqIDIpIHN0b3JlZCB8IHBsYWluICAgIHwgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgfCAKKyBkICAgICAgfCBiaWdpbnQgICAgICAgICAgICB8ICAgICAg ICAgICB8IG5vdCBudWxsIHwgZ2VuZXJhdGVkIGFsd2F5cyBhcyBpZGVudGl0eSAgICAgICB8IHBs YWluICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfCAKK0luZGV4ZXM6CisgICAgImN0 bF90YWJsZV9hX2tleSIgYnRyZWUgKGEpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAiZm9vIiBD SEVDSyAoYjo6dGV4dCA9ICd0ZXh0Jzo6dGV4dCkKK1N0YXRpc3RpY3Mgb2JqZWN0czoKKyAgICAi cHVibGljLmN0bF90YWJsZV9zdGF0IiBPTiBhLCBiIEZST00gY3RsX3RhYmxlCitOb3QtbnVsbCBj b25zdHJhaW50czoKKyAgICAiY3RsX3RhYmxlX2Rfbm90X251bGwiIE5PVCBOVUxMICJkIgorCitD UkVBVEUgRk9SRUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTMoTElLRSBjdGxfdGFibGUgSU5D TFVESU5HIENPTVBSRVNTSU9OKSBTRVJWRVIgY3RsX3MwOworXGQrIGN0bF9mb3JlaWduX3RhYmxl MworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcmVpZ24gdGFibGUgInB1 YmxpYy5jdGxfZm9yZWlnbl90YWJsZTMiCisgQ29sdW1uIHwgICAgICAgVHlwZSAgICAgICAgfCBD b2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgfCBGRFcgb3B0aW9ucyB8IFN0b3JhZ2UgIHwg U3RhdHMgdGFyZ2V0IHwgRGVzY3JpcHRpb24gCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgYSAgICAgIHwgaW50ZWdlciAgICAgICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICB8IHBsYWlu ICAgIHwgICAgICAgICAgICAgIHwgCisgYiAgICAgIHwgY2hhcmFjdGVyIHZhcnlpbmcgfCAgICAg ICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICB8IGV4dGVuZGVkIHwgICAg ICAgICAgICAgIHwgCisgYyAgICAgIHwgaW50ZWdlciAgICAgICAgICAgfCAgICAgICAgICAgfCAg ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICB8IHBsYWluICAgIHwgICAgICAgICAgICAg IHwgCisgZCAgICAgIHwgYmlnaW50ICAgICAgICAgICAgfCAgICAgICAgICAgfCBub3QgbnVsbCB8 ICAgICAgICAgfCAgICAgICAgICAgICB8IHBsYWluICAgIHwgICAgICAgICAgICAgIHwgCitOb3Qt bnVsbCBjb25zdHJhaW50czoKKyAgICAiY3RsX3RhYmxlX2Rfbm90X251bGwiIE5PVCBOVUxMICJk IgorU2VydmVyOiBjdGxfczAKKworXHNldCBISURFX1RPQVNUX0NPTVBSRVNTSU9OIHRydWUKKy0t IFRlc3QgdmFsaWQgbGlrZV9vcHRpb25zIHRha2UgZWZmZWN0OgorLS0gQ09NTUVOVFMsIFNUQVRJ U1RJQ1MsIENPTlNUUkFJTlRTCistLSBHRU5FUkFURUQsIERFRkFVTFRTLCBJREVOVElUWSwgU1RP UkFHRQorQ1JFQVRFIEZPUkVJR04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFibGU0KExJS0UgY3RsX3Rh YmxlIElOQ0xVRElORyBBTEwpIFNFUlZFUiBjdGxfczA7CitcZCsgY3RsX2ZvcmVpZ25fdGFibGU0 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcmVp Z24gdGFibGUgInB1YmxpYy5jdGxfZm9yZWlnbl90YWJsZTQiCisgQ29sdW1uIHwgICAgICAgVHlw ZSAgICAgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8ICAgICAgICAgICAgICBEZWZhdWx0ICAg ICAgICAgICAgICAgfCBGRFcgb3B0aW9ucyB8IFN0b3JhZ2UgIHwgU3RhdHMgdGFyZ2V0IHwgRGVz Y3JpcHRpb24gCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgYSAgICAgIHwgaW50ZWdl ciAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IDEgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8IHBsYWluICAgIHwgICAgICAgICAgICAgIHwg CisgYiAgICAgIHwgY2hhcmFjdGVyIHZhcnlpbmcgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8IGV4dGVuZGVk IHwgICAgICAgICAgICAgIHwgQ29sdW1uIGIKKyBjICAgICAgfCBpbnRlZ2VyICAgICAgICAgICB8 ICAgICAgICAgICB8ICAgICAgICAgIHwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoYSAqIDIpIHN0b3Jl ZCB8ICAgICAgICAgICAgIHwgcGxhaW4gICAgfCAgICAgICAgICAgICAgfCAKKyBkICAgICAgfCBi aWdpbnQgICAgICAgICAgICB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgZ2VuZXJhdGVkIGFsd2F5 cyBhcyBpZGVudGl0eSAgICAgICB8ICAgICAgICAgICAgIHwgcGxhaW4gICAgfCAgICAgICAgICAg ICAgfCAKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJmb28iIENIRUNLIChiOjp0ZXh0ID0gJ3Rl eHQnOjp0ZXh0KQorU3RhdGlzdGljcyBvYmplY3RzOgorICAgICJwdWJsaWMuY3RsX2ZvcmVpZ25f dGFibGU0X2FfYl9zdGF0IiBPTiBhLCBiIEZST00gY3RsX2ZvcmVpZ25fdGFibGU0CitOb3QtbnVs bCBjb25zdHJhaW50czoKKyAgICAiY3RsX3RhYmxlX2Rfbm90X251bGwiIE5PVCBOVUxMICJkIgor U2VydmVyOiBjdGxfczAKKworRFJPUCBUQUJMRSBjdGxfdGFibGU7CitEUk9QIEZPUkVJR04gVEFC TEUgY3RsX2ZvcmVpZ25fdGFibGUxOworRFJPUCBGT1JFSUdOIFRBQkxFIGN0bF9mb3JlaWduX3Rh YmxlMjsKK0RST1AgRk9SRUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTM7CitEUk9QIEZPUkVJ R04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFibGU0OworRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBj dGxfZHVtbXkgQ0FTQ0FERTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gc2VydmVyIGN0bF9z MApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3RhYmxlX2xpa2Uuc3Fs IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3RhYmxlX2xpa2Uuc3FsCmluZGV4IGE0MWY4 YjgzZDcuLjk1YjJkMDlkNjQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0 ZV90YWJsZV9saWtlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVf bGlrZS5zcWwKQEAgLTIyNSwzICsyMjUsNDkgQEAgRFJPUCBTRVFVRU5DRSBjdGxzZXExOwogRFJP UCBUWVBFIGN0bHR5MTsKIERST1AgVklFVyBjdGx2MTsKIERST1AgVEFCTEUgSUYgRVhJU1RTIGN0 bHQ0LCBjdGx0MTAsIGN0bHQxMSwgY3RsdDExYSwgY3RsdDEyOworCistLQorLS0gQ1JFQVRFIEZP UkVJR04gVEFCTEUgTElLRQorLS0KK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBjdGxfZHVt bXk7CitDUkVBVEUgU0VSVkVSIGN0bF9zMCBGT1JFSUdOIERBVEEgV1JBUFBFUiBjdGxfZHVtbXk7 CisKK0NSRUFURSBUQUJMRSBjdGxfdGFibGUoYSBpbnQgREVGQVVMVCAxLCBiIHRleHQsCisgIGMg aW50IEdFTkVSQVRFRCBBTFdBWVMgQVMgKGEgKiAyKSBTVE9SRUQsCisgIGQgYmlnaW50IEdFTkVS QVRFRCBBTFdBWVMgQVMgSURFTlRJVFkpOworCitDUkVBVEUgSU5ERVggY3RsX3RhYmxlX2Ffa2V5 IE9OIGN0bF90YWJsZShhKTsKK0NPTU1FTlQgT04gQ09MVU1OIGN0bF90YWJsZS5iIElTICdDb2x1 bW4gYic7CitDUkVBVEUgU1RBVElTVElDUyBjdGxfdGFibGVfc3RhdCBPTiBhLGIgRlJPTSBjdGxf dGFibGU7CitBTFRFUiBUQUJMRSBjdGxfdGFibGUgYWRkIGNvbnN0cmFpbnQgZm9vIENIRUNLIChi ID0gJ3RleHQnKTsKK1xkKyBjdGxfdGFibGUKKworLS0gVGVzdCBFWENMVURJTkcgQUxMIGJ5IGRl ZmF1bHQKK0NSRUFURSBGT1JFSUdOIFRBQkxFIGN0bF9mb3JlaWduX3RhYmxlMShMSUtFIGN0bF90 YWJsZSkgU0VSVkVSIGN0bF9zMDsKK1xkKyBjdGxfZm9yZWlnbl90YWJsZTEKKworLS0gVGVzdCBJ TkNMVURJTkcgSU5ERVhFUyBkb2VzJ3QgdGFrZSBlZmZlY3QKK0NSRUFURSBGT1JFSUdOIFRBQkxF IGN0bF9mb3JlaWduX3RhYmxlMihMSUtFIGN0bF90YWJsZSBJTkNMVURJTkcgSU5ERVhFUykgU0VS VkVSIGN0bF9zMDsKK1xkKyBjdGxfZm9yZWlnbl90YWJsZTIKKworLS0gVGVzdCBJTkNMVURJTkcg Q09NUFJFU1NJT04gZG9lcyd0IHRha2UgZWZmZWN0Citcc2V0IEhJREVfVE9BU1RfQ09NUFJFU1NJ T04gZmFsc2UKK0FMVEVSIFRBQkxFIGN0bF90YWJsZSBBTFRFUiBDT0xVTU4gYiBUWVBFIHZhcmNo YXI7CitBTFRFUiBUQUJMRSBjdGxfdGFibGUgQUxURVIgQ09MVU1OIGIgU0VUIENPTVBSRVNTSU9O IHBnbHo7CitcZCsgY3RsX3RhYmxlCitDUkVBVEUgRk9SRUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90 YWJsZTMoTElLRSBjdGxfdGFibGUgSU5DTFVESU5HIENPTVBSRVNTSU9OKSBTRVJWRVIgY3RsX3Mw OworXGQrIGN0bF9mb3JlaWduX3RhYmxlMworXHNldCBISURFX1RPQVNUX0NPTVBSRVNTSU9OIHRy dWUKKworLS0gVGVzdCB2YWxpZCBsaWtlX29wdGlvbnMgdGFrZSBlZmZlY3Q6CistLSBDT01NRU5U UywgU1RBVElTVElDUywgQ09OU1RSQUlOVFMKKy0tIEdFTkVSQVRFRCwgREVGQVVMVFMsIElERU5U SVRZLCBTVE9SQUdFCitDUkVBVEUgRk9SRUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTQoTElL RSBjdGxfdGFibGUgSU5DTFVESU5HIEFMTCkgU0VSVkVSIGN0bF9zMDsKK1xkKyBjdGxfZm9yZWln bl90YWJsZTQKKworRFJPUCBUQUJMRSBjdGxfdGFibGU7CitEUk9QIEZPUkVJR04gVEFCTEUgY3Rs X2ZvcmVpZ25fdGFibGUxOworRFJPUCBGT1JFSUdOIFRBQkxFIGN0bF9mb3JlaWduX3RhYmxlMjsK K0RST1AgRk9SRUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTM7CitEUk9QIEZPUkVJR04gVEFC TEUgY3RsX2ZvcmVpZ25fdGFibGU0OworRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBjdGxfZHVt bXkgQ0FTQ0FERTsKLS0gCjIuMzQuMQoK --67a639ec_7e041431_1738b--