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 1w2wEM-000kLl-0n for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Mar 2026 19:06:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w2wEL-00DXAi-0g for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Mar 2026 19:06:57 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2wEK-00DXAa-2R for pgsql-hackers@lists.postgresql.org; Wed, 18 Mar 2026 19:06:56 +0000 Received: from mail-dl1-x122c.google.com ([2607:f8b0:4864:20::122c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w2wEG-00000000zIX-3ebH for pgsql-hackers@postgresql.org; Wed, 18 Mar 2026 19:06:56 +0000 Received: by mail-dl1-x122c.google.com with SMTP id a92af1059eb24-128ebee22caso297557c88.0 for ; Wed, 18 Mar 2026 12:06:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1773860811; x=1774465611; darn=postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=bMv4e2MiIV34qwHDOefr+/xSamMbgiGaw701Mp/M0bk=; b=RcxHR86mROlYh55PHpMlSHw593IhIkpW/zpkbXzvf/j/6KpPgFdx5RNvfO8VB3c/Ms nvZEah/mgubXWg/lTdPN8FhX6tENfiOLGpy4PLxKwpGuGHvWw30T1LDyh7XKKeFZCdnS HKxDw2mA1dEEQjrK0onfEyRhDIaMUmscQgaxjNErJzgqiQxRY9ATr7iijVOJa+AZUqFE weOADZoRd1HfMlunlXRnfL7da7/AKKACr91A9ukaDsjK+v4E4ez+H2LTU1JWI1wbfGfS B0nQSngH0klSzERGLtQZXxPArLh1SsRXTNWPOxD/UAgxkxYtkvYLixhdR+JQJaCfsZT3 Sozw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773860811; x=1774465611; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=bMv4e2MiIV34qwHDOefr+/xSamMbgiGaw701Mp/M0bk=; b=TceNjIbNbO3LZDX76fBSOScf28bJYaEIkEda7PsTM59xL/LdAimeE0tKwqolZR0aix Ssw+0x3rYi02ybWWrmkI87ZJOg6fduv1oUeGv798loYGeturk3cJRBbV+PLbqPI0s3E7 SB22n7+cTz2paGOMcZvSAJfWb5tCTonpICdNbLe1aO6eX+mEtAPAhr309T8BkLpMK2Cc 4nLSzRmtm7Gsenev7mFdHdv85Bk12/OvyPOnY8wK7rdCCG3AgoxGMprUrYS7IqSTGu0E cywz+ES8+Adj9SDvTCzHoxlgK+I1EWE9HuhBMKNMkPH//YHkeq337p7GtMc9rs4N3gSY Y4/Q== X-Forwarded-Encrypted: i=1; AJvYcCXqWs8I7rrfdY87Es4sIBFnQPLfIRFaGDXbTH8a4wlYrnf7IUnXreJ/ICz/nonms9aiX2etx4f1QfK9By9h@postgresql.org X-Gm-Message-State: AOJu0Ywu4vqa8cn2ExhcSE3y7Yhz9oRXUAyNasHrTwIkrXIAV8qxA54Q EU0feOwOpzPqhpybei3zILz7RXRuynU9VgY4KqyrNT7dOqaVW1f8TVMMlZsxJFrpLQ== X-Gm-Gg: ATEYQzz//xNFwofjizbDvtpqab52Yj8d0FzSCyukqIssgT1OJ0nKHiz1hlbIakYGIoJ CzunwJTq+u9SC0AAgzZGtKSF3kOspEKkoLIJyPx/dNmTIzkyGvNLAlzHRi+Y5NlouNLx5SyHlcy HLgQaeax+ORBjtPo707ync0AqE71YSddGeve8Jy3cLOFF8e3uJV6XAG++XgQmLNYuZQn9i56dL2 pStMq6GWbiVyMxRgiHBIGIrdISrVRe/vswZQTD8rssBZeB1qKj1BMdAi3Q2hZ9g9bOXtz/QyX3I /wN9cgrYHy3cWTIZICwefiwsdj3n473TvwdL6+pU6aKDgcJdHVy5WFJ3hiKe/Dd3wfUjzKsStW9 8iK/+4+y1BAr1suOFQAYaSy2Vi0Lwj16SSVvmPpaDsw5pk8+kdRDmi2kSFsZ01SKEfnWxcTHuxa icX6iiJ3IMZB5ByYRVsZc9 X-Received: by 2002:a05:7022:492:b0:128:d6c3:9b23 with SMTP id a92af1059eb24-129a70e0b6emr2779568c88.14.1773860810860; Wed, 18 Mar 2026 12:06:50 -0700 (PDT) Received: from [10.10.244.3] ([50.175.226.10]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-129a723f829sm5431251c88.1.2026.03.18.12.06.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 12:06:50 -0700 (PDT) Message-ID: Subject: Re: [19] CREATE SUBSCRIPTION ... SERVER From: Jeff Davis To: Ashutosh Bapat Cc: Amit Kapila , Masahiko Sawada , Shlok Kyal , Bharath Rupireddy , Joe Conway , pgsql-hackers@postgresql.org Date: Wed, 18 Mar 2026 12:06:48 -0700 In-Reply-To: <7eb0c03b4312b32cb76d340023b39a751745a1f9.camel@j-davis.com> References: <149ff9264db27cdf724b65709fbbaee4bf316835.camel@j-davis.com> <830a2bc6cbbb2e6e01c6c0d9f31f320822e10603.camel@j-davis.com> <433d0845248e86c0317d9d396926182cfe157340.camel@j-davis.com> <05ae37abb207cd6bf6b126780024692d91402b0b.camel@j-davis.com> <93392ffa941ab0d436e19e0ab5d04d0e42c02d3f.camel@j-davis.com> <26be917cb07b6aa3ef5dd15f6b59d1b375ece6e8.camel@j-davis.com> <55201bd916e748acfc754c8f95880dae8e4e5ed0.camel@j-davis.com> <2a89b14a2b1622bffb8b137ca1f9ab7866f2d2b9.camel@j-davis.com> <61831790a0a937038f78ce09f8dd4cef7de7456a.camel@j-davis.com> <0910b47040406c1d24ec0150dafb5bae6b910ed7.camel@j-davis.com> <7338f22c4534322a08ab6ce9f879e2e308eb5e5d.camel@j-davis.com> <34fd5885b8245d1014f4426ea22af61229d42e3e.camel@j-davis.com> <7a5df376fffb273430aec9e89f88c31d52dcf295.camel@j-davis.com> <5dfe845221db2e7d38fc7c2a18a4ba5ea29cdfc0.camel@j-davis.com> <60ff024706fe1beab62a89ac07eb6a721856de2e.camel@j-davis.com> <80303af653a3da2a94e32ff91d6538675e921bf0.camel@j-davis.com> <7eb0c03b4312b32cb76d340023b39a751745a1f9.camel@j-davis.com> Content-Type: multipart/mixed; boundary="=-1hO5JiMoPenMKLrYD4jO" User-Agent: Evolution 3.52.3-0ubuntu1.1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-1hO5JiMoPenMKLrYD4jO Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 2026-03-14 at 15:55 -0700, Jeff Davis wrote: > Attached series including patches to address Andres's and Amit's > comments, too. Committed two patches. New patch 0004: fixes missing dependencies from the FDW to the connection function. There's a related pre-existing issue with the dependency from the FDW to the handler function, which I will post as a separate backportable bugfix. I'd still like to find a good way to add pg_dump tests. The only idea I have now is to build the test function into core postgres (without pg_proc entry), which might be worthwhile. Regards, Jeff Davis --=-1hO5JiMoPenMKLrYD4jO Content-Disposition: attachment; filename="v23-0001-Temp-context-for-maybe_reread_subscription.patch" Content-Type: text/x-patch; name="v23-0001-Temp-context-for-maybe_reread_subscription.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAyOTM5YTU3NjkwODg2NjM5NDc5NTQ2MGFjNTA5Y2VhMzY5MjgwYjJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU aHUsIDEyIE1hciAyMDI2IDE4OjA0OjM1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MjMgMS80XSBU ZW1wIGNvbnRleHQgZm9yIG1heWJlX3JlcmVhZF9zdWJzY3JpcHRpb24oKS4KCk1vdmUgdGVtcCBj b250ZXh0IGZyb20gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoKSB0bwptYXliZV9yZXJl YWRfc3Vic2NyaXB0aW9uKCksIHNvIHRoYXQgaXQgcHJldmVudHMgbW9yZQppbnZhbGlkYXRpb24t cmVsYXRlZCBsZWFrcy4gUmVtb3ZlIFBHX1RSWSgpL1BHX0ZJTkFMTFkoKSBmcm9tCkZvcmVpZ25T ZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKCkuCgpTdWdnZXN0ZWQtYnk6IEFuZHJlcyBGcmV1bmQgPGFu ZHJlc0BhbmFyYXplbC5kZT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS94dmRqcmRx bnBhcDN1cTdvd2Jhb3gzcjdwNWdmN3N2NjJhYXFmMmp1M3ZiNnlnbGF0ciU0MGt2dndob3Vkcmx4 cQotLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMgICAgfCAxNCAtLS0t LQogc3JjL2JhY2tlbmQvZm9yZWlnbi9mb3JlaWduLmMgICAgICAgICAgICB8IDY2ICsrKysrKyst LS0tLS0tLS0tLS0tLS0tLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIu YyB8IDMwICsrKysrKysrKy0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5o ICAgIHwgIDEgLQogNCBmaWxlcyBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCA2OCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5j IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYwppbmRleCAzNjczZDRmMGJj MS4uY2EwNTNjMTUyY2YgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2Ny aXB0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYwpAQCAt MjE2LDIwICsyMTYsNiBAQCBDb3VudERCU3Vic2NyaXB0aW9ucyhPaWQgZGJpZCkKIAlyZXR1cm4g bnN1YnM7CiB9CiAKLS8qCi0gKiBGcmVlIG1lbW9yeSBhbGxvY2F0ZWQgYnkgc3Vic2NyaXB0aW9u IHN0cnVjdC4KLSAqLwotdm9pZAotRnJlZVN1YnNjcmlwdGlvbihTdWJzY3JpcHRpb24gKnN1YikK LXsKLQlwZnJlZShzdWItPm5hbWUpOwotCXBmcmVlKHN1Yi0+Y29ubmluZm8pOwotCWlmIChzdWIt PnNsb3RuYW1lKQotCQlwZnJlZShzdWItPnNsb3RuYW1lKTsKLQlsaXN0X2ZyZWVfZGVlcChzdWIt PnB1YmxpY2F0aW9ucyk7Ci0JcGZyZWUoc3ViKTsKLX0KLQogLyoKICAqIERpc2FibGUgdGhlIGdp dmVuIHN1YnNjcmlwdGlvbi4KICAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZm9yZWlnbi9m b3JlaWduLmMgYi9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYwppbmRleCAyZWRmYWM2OGQ5 Yi4uMWI1M2NhMzA2YTAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5j CisrKyBiL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCkBAIC0yMjAsNjIgKzIyMCwzMiBA QCBHZXRGb3JlaWduU2VydmVyQnlOYW1lKGNvbnN0IGNoYXIgKnNydm5hbWUsIGJvb2wgbWlzc2lu Z19vaykKIAogLyoKICAqIFJldHJpZXZlIGNvbm5lY3Rpb24gc3RyaW5nIGZyb20gc2VydmVyJ3Mg RkRXLgorICoKKyAqIE5COiBsZWFrcyBpbnRvIEN1cnJlbnRNZW1vcnlDb250ZXh0LgogICovCiBj aGFyICoKIEZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKE9pZCB1c2VyaWQsIE9pZCBzZXJ2 ZXJpZCkKIHsKLQlNZW1vcnlDb250ZXh0IHRlbXBDb250ZXh0OwotCU1lbW9yeUNvbnRleHQgb2xk Y3h0OwotCXRleHQJICAgKnZvbGF0aWxlIGNvbm5lY3Rpb25fdGV4dCA9IE5VTEw7Ci0JY2hhcgkg ICAqcmVzdWx0ID0gTlVMTDsKLQotCS8qCi0JICogR2V0Rm9yZWlnblNlcnZlciwgR2V0Rm9yZWln bkRhdGFXcmFwcGVyLCBhbmQgdGhlIGNvbm5lY3Rpb24gZnVuY3Rpb24KLQkgKiBpdHNlbGYgYWxs IGxlYWsgbWVtb3J5IGludG8gQ3VycmVudE1lbW9yeUNvbnRleHQuIFN3aXRjaCB0byBhIHRlbXBv cmFyeQotCSAqIGNvbnRleHQgZm9yIGVhc3kgY2xlYW51cC4KLQkgKi8KLQl0ZW1wQ29udGV4dCA9 IEFsbG9jU2V0Q29udGV4dENyZWF0ZShDdXJyZW50TWVtb3J5Q29udGV4dCwKLQkJCQkJCQkJCQki RkRXQ29ubmVjdGlvbkNvbnRleHQiLAotCQkJCQkJCQkJCUFMTE9DU0VUX1NNQUxMX1NJWkVTKTsK LQotCW9sZGN4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyh0ZW1wQ29udGV4dCk7Ci0KLQlQR19U UlkoKTsKLQl7Ci0JCUZvcmVpZ25TZXJ2ZXIgKnNlcnZlcjsKLQkJRm9yZWlnbkRhdGFXcmFwcGVy ICpmZHc7Ci0JCURhdHVtCQljb25uZWN0aW9uX2RhdHVtOwotCi0JCXNlcnZlciA9IEdldEZvcmVp Z25TZXJ2ZXIoc2VydmVyaWQpOwotCQlmZHcgPSBHZXRGb3JlaWduRGF0YVdyYXBwZXIoc2VydmVy LT5mZHdpZCk7Ci0KLQkJaWYgKCFPaWRJc1ZhbGlkKGZkdy0+ZmR3Y29ubmVjdGlvbikpCi0JCQll cmVwb3J0KEVSUk9SLAotCQkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRF RCksCi0JCQkJCSBlcnJtc2coImZvcmVpZ24gZGF0YSB3cmFwcGVyIFwiJXNcIiBkb2VzIG5vdCBz dXBwb3J0IHN1YnNjcmlwdGlvbiBjb25uZWN0aW9ucyIsCi0JCQkJCQkJZmR3LT5mZHduYW1lKSwK LQkJCQkJIGVycmRldGFpbCgiRm9yZWlnbiBkYXRhIHdyYXBwZXIgbXVzdCBiZSBkZWZpbmVkIHdp dGggQ09OTkVDVElPTiBzcGVjaWZpZWQuIikpKTsKLQotCi0JCWNvbm5lY3Rpb25fZGF0dW0gPSBP aWRGdW5jdGlvbkNhbGwzKGZkdy0+ZmR3Y29ubmVjdGlvbiwKLQkJCQkJCQkJCQkJT2JqZWN0SWRH ZXREYXR1bSh1c2VyaWQpLAotCQkJCQkJCQkJCQlPYmplY3RJZEdldERhdHVtKHNlcnZlcmlkKSwK LQkJCQkJCQkJCQkJUG9pbnRlckdldERhdHVtKE5VTEwpKTsKKwlGb3JlaWduU2VydmVyICpzZXJ2 ZXI7CisJRm9yZWlnbkRhdGFXcmFwcGVyICpmZHc7CisJRGF0dW0JCWNvbm5lY3Rpb25fZGF0dW07 CiAKLQkJY29ubmVjdGlvbl90ZXh0ID0gRGF0dW1HZXRUZXh0UFAoY29ubmVjdGlvbl9kYXR1bSk7 Ci0JfQotCVBHX0ZJTkFMTFkoKTsKLQl7Ci0JCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjeHQp OworCXNlcnZlciA9IEdldEZvcmVpZ25TZXJ2ZXIoc2VydmVyaWQpOworCWZkdyA9IEdldEZvcmVp Z25EYXRhV3JhcHBlcihzZXJ2ZXItPmZkd2lkKTsKIAotCQlpZiAoY29ubmVjdGlvbl90ZXh0KQot CQkJcmVzdWx0ID0gdGV4dF90b19jc3RyaW5nKCh0ZXh0ICopIGNvbm5lY3Rpb25fdGV4dCk7CisJ aWYgKCFPaWRJc1ZhbGlkKGZkdy0+ZmR3Y29ubmVjdGlvbikpCisJCWVyZXBvcnQoRVJST1IsCisJ CQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2co ImZvcmVpZ24gZGF0YSB3cmFwcGVyIFwiJXNcIiBkb2VzIG5vdCBzdXBwb3J0IHN1YnNjcmlwdGlv biBjb25uZWN0aW9ucyIsCisJCQkJCQlmZHctPmZkd25hbWUpLAorCQkJCSBlcnJkZXRhaWwoIkZv cmVpZ24gZGF0YSB3cmFwcGVyIG11c3QgYmUgZGVmaW5lZCB3aXRoIENPTk5FQ1RJT04gc3BlY2lm aWVkLiIpKSk7CiAKLQkJTWVtb3J5Q29udGV4dERlbGV0ZSh0ZW1wQ29udGV4dCk7Ci0JfQotCVBH X0VORF9UUlkoKTsKKwljb25uZWN0aW9uX2RhdHVtID0gT2lkRnVuY3Rpb25DYWxsMyhmZHctPmZk d2Nvbm5lY3Rpb24sCisJCQkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bSh1c2VyaWQpLAorCQkJCQkJ CQkJCU9iamVjdElkR2V0RGF0dW0oc2VydmVyaWQpLAorCQkJCQkJCQkJCVBvaW50ZXJHZXREYXR1 bShOVUxMKSk7CiAKLQlyZXR1cm4gcmVzdWx0OworCXJldHVybiB0ZXh0X3RvX2NzdHJpbmcoRGF0 dW1HZXRUZXh0UFAoY29ubmVjdGlvbl9kYXR1bSkpOwogfQogCiAKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9sb2dpY2FsL3dvcmtlci5jCmluZGV4IDJkNzcwODgwNWE2Li5hODI1NmE1NGE5NyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYworKysgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC00ODEsNiArNDgxLDcg QEAgc3RhdGljIE1lbW9yeUNvbnRleHQgTG9naWNhbFN0cmVhbWluZ0NvbnRleHQgPSBOVUxMOwog V2FsUmVjZWl2ZXJDb25uICpMb2dSZXBXb3JrZXJXYWxSY3ZDb25uID0gTlVMTDsKIAogU3Vic2Ny aXB0aW9uICpNeVN1YnNjcmlwdGlvbiA9IE5VTEw7CitzdGF0aWMgTWVtb3J5Q29udGV4dCBNeVN1 YnNjcmlwdGlvbkN0eCA9IE5VTEw7CiBzdGF0aWMgYm9vbCBNeVN1YnNjcmlwdGlvblZhbGlkID0g ZmFsc2U7CiAKIHN0YXRpYyBMaXN0ICpvbl9jb21taXRfd2FrZXVwX3dvcmtlcnNfc3ViaWRzID0g TklMOwpAQCAtNTA0NCw2ICs1MDQ1LDcgQEAgdm9pZAogbWF5YmVfcmVyZWFkX3N1YnNjcmlwdGlv bih2b2lkKQogewogCU1lbW9yeUNvbnRleHQgb2xkY3R4OworCU1lbW9yeUNvbnRleHQgbmV3Y3R4 OwogCVN1YnNjcmlwdGlvbiAqbmV3c3ViOwogCWJvb2wJCXN0YXJ0ZWRfdHggPSBmYWxzZTsKIApA QCAtNTA1OCw4ICs1MDYwLDE1IEBAIG1heWJlX3JlcmVhZF9zdWJzY3JpcHRpb24odm9pZCkKIAkJ c3RhcnRlZF90eCA9IHRydWU7CiAJfQogCi0JLyogRW5zdXJlIGFsbG9jYXRpb25zIGluIHBlcm1h bmVudCBjb250ZXh0LiAqLwotCW9sZGN0eCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhBcHBseUNv bnRleHQpOworCW5ld2N0eCA9IEFsbG9jU2V0Q29udGV4dENyZWF0ZShBcHBseUNvbnRleHQsCisJ CQkJCQkJCSAgICJTdWJzY3JpcHRpb24gQ29udGV4dCIsCisJCQkJCQkJCSAgIEFMTE9DU0VUX1NN QUxMX1NJWkVTKTsKKworCS8qCisJICogR2V0U3Vic2NyaXB0aW9uKCkgbGVha3MgYSBudW1iZXIg b2Ygc21hbGwgYWxsb2NhdGlvbnMsIHNvIHVzZSBhCisJICogc3ViY29udGV4dCBmb3IgZWFjaCBj YWxsLgorCSAqLworCW9sZGN0eCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhuZXdjdHgpOwogCiAJ bmV3c3ViID0gR2V0U3Vic2NyaXB0aW9uKE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsIHRydWUs IHRydWUpOwogCkBAIC01MTUxLDcgKzUxNjAsOCBAQCBtYXliZV9yZXJlYWRfc3Vic2NyaXB0aW9u KHZvaWQpCiAJfQogCiAJLyogQ2xlYW4gb2xkIHN1YnNjcmlwdGlvbiBpbmZvIGFuZCBzd2l0Y2gg dG8gbmV3IG9uZS4gKi8KLQlGcmVlU3Vic2NyaXB0aW9uKE15U3Vic2NyaXB0aW9uKTsKKwlNZW1v cnlDb250ZXh0RGVsZXRlKE15U3Vic2NyaXB0aW9uQ3R4KTsKKwlNeVN1YnNjcmlwdGlvbkN0eCA9 IG5ld2N0eDsKIAlNeVN1YnNjcmlwdGlvbiA9IG5ld3N1YjsKIAogCU1lbW9yeUNvbnRleHRTd2l0 Y2hUbyhvbGRjdHgpOwpAQCAtNTc5NiwxMiArNTgwNiwxOSBAQCBJbml0aWFsaXplTG9nUmVwV29y a2VyKHZvaWQpCiAJICovCiAJU2V0Q29uZmlnT3B0aW9uKCJzZWFyY2hfcGF0aCIsICIiLCBQR0Nf U1VTRVQsIFBHQ19TX09WRVJSSURFKTsKIAotCS8qIExvYWQgdGhlIHN1YnNjcmlwdGlvbiBpbnRv IHBlcnNpc3RlbnQgbWVtb3J5IGNvbnRleHQuICovCiAJQXBwbHlDb250ZXh0ID0gQWxsb2NTZXRD b250ZXh0Q3JlYXRlKFRvcE1lbW9yeUNvbnRleHQsCiAJCQkJCQkJCQkJICJBcHBseUNvbnRleHQi LAogCQkJCQkJCQkJCSBBTExPQ1NFVF9ERUZBVUxUX1NJWkVTKTsKKworCS8qCisJICogR2V0U3Vi c2NyaXB0aW9uKCkgbGVha3MgYSBudW1iZXIgb2Ygc21hbGwgYWxsb2NhdGlvbnMsIHNvIHVzZSBh CisJICogc3ViY29udGV4dCBmb3IgZWFjaCBjYWxsLgorCSAqLworCU15U3Vic2NyaXB0aW9uQ3R4 ID0gQWxsb2NTZXRDb250ZXh0Q3JlYXRlKEFwcGx5Q29udGV4dCwKKwkJCQkJCQkJCQkJICAiU3Vi c2NyaXB0aW9uIENvbnRleHQiLAorCQkJCQkJCQkJCQkgIEFMTE9DU0VUX1NNQUxMX1NJWkVTKTsK KwogCVN0YXJ0VHJhbnNhY3Rpb25Db21tYW5kKCk7Ci0Jb2xkY3R4ID0gTWVtb3J5Q29udGV4dFN3 aXRjaFRvKEFwcGx5Q29udGV4dCk7CiAKIAkvKgogCSAqIExvY2sgdGhlIHN1YnNjcmlwdGlvbiB0 byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgY29uY3VycmVudGx5IGRyb3BwZWQsCkBAIC01ODEwLDcg KzU4MjcsMTAgQEAgSW5pdGlhbGl6ZUxvZ1JlcFdvcmtlcih2b2lkKQogCSAqLwogCUxvY2tTaGFy ZWRPYmplY3QoU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgTXlMb2dpY2FsUmVwV29ya2VyLT5zdWJp ZCwgMCwKIAkJCQkJIEFjY2Vzc1NoYXJlTG9jayk7CisKKwlvbGRjdHggPSBNZW1vcnlDb250ZXh0 U3dpdGNoVG8oTXlTdWJzY3JpcHRpb25DdHgpOwogCU15U3Vic2NyaXB0aW9uID0gR2V0U3Vic2Ny aXB0aW9uKE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsIHRydWUsIHRydWUpOworCiAJaWYgKCFN eVN1YnNjcmlwdGlvbikKIAl7CiAJCWVyZXBvcnQoTE9HLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vi c2NyaXB0aW9uLmgKaW5kZXggMDA1OGQ5Mzg3ZDcuLjJmNmY3YjU3Njk4IDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oCisrKyBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgKQEAgLTIxMiw3ICsyMTIsNiBAQCB0eXBlZGVmIHN0cnVj dCBTdWJzY3JpcHRpb24KIAogZXh0ZXJuIFN1YnNjcmlwdGlvbiAqR2V0U3Vic2NyaXB0aW9uKE9p ZCBzdWJpZCwgYm9vbCBtaXNzaW5nX29rLAogCQkJCQkJCQkJIGJvb2wgYWNsY2hlY2spOwotZXh0 ZXJuIHZvaWQgRnJlZVN1YnNjcmlwdGlvbihTdWJzY3JpcHRpb24gKnN1Yik7CiBleHRlcm4gdm9p ZCBEaXNhYmxlU3Vic2NyaXB0aW9uKE9pZCBzdWJpZCk7CiAKIGV4dGVybiBpbnQJQ291bnREQlN1 YnNjcmlwdGlvbnMoT2lkIGRiaWQpOwotLSAKMi40My4wCgo= --=-1hO5JiMoPenMKLrYD4jO Content-Disposition: attachment; filename="v23-0002-Refactor-to-remove-ForeignServerName.patch" Content-Type: text/x-patch; name="v23-0002-Refactor-to-remove-ForeignServerName.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBjYTc1NmIyODAyYjY4OWI4NzMyM2YwMTc0NTViYjE3OWI2OTFhNmM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBG cmksIDEzIE1hciAyMDI2IDE5OjM3OjIxIC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MjMgMi80XSBS ZWZhY3RvciB0byByZW1vdmUgRm9yZWlnblNlcnZlck5hbWUoKS4KCkNhbGxlcnMgZWl0aGVyIGhh dmUgYSBGb3JlaWduU2VydmVyIG9iamVjdCBvciBjYW4gcmVhZGlseSBjb25zdHJ1Y3QKb25lLiBB bHNvIHNpbXBsaWZ5IEZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKCkgYnkgYWNjZXB0aW5n IGEKRm9yZWlnblNlcnZlciByYXRoZXIgdGhhbiBpdHMgT0lELgoKRGlzY3Vzc2lvbjogaHR0cHM6 Ly9wb3N0Z3IuZXMvbS9DQUV4SFc1dlY1em5FdmVjWD1yYTItdjdVQmo5LU02cXZkRHp1Qjc4TS1U eGJZRDFQRUFAbWFpbC5nbWFpbC5jb20KU3VnZ2VzdGVkLWJ5OiBBc2h1dG9zaCBCYXBhdCA8YXNo dXRvc2guYmFwYXQub3NzQGdtYWlsLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1 YnNjcmlwdGlvbi5jICAgfCAgNyArKysrLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlw dGlvbmNtZHMuYyB8IDIwICsrKysrKysrKy0tLS0tLS0KIHNyYy9iYWNrZW5kL2ZvcmVpZ24vZm9y ZWlnbi5jICAgICAgICAgICB8IDMxICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyYy9pbmNs dWRlL2ZvcmVpZ24vZm9yZWlnbi5oICAgICAgICAgICB8ICA0ICsrLS0KIDQgZmlsZXMgY2hhbmdl ZCwgMjAgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdf c3Vic2NyaXB0aW9uLmMKaW5kZXggY2EwNTNjMTUyY2YuLmQ5ZTIyMDE3MmU5IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5k L2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMKQEAgLTExNCw2ICsxMTQsOSBAQCBHZXRTdWJzY3Jp cHRpb24oT2lkIHN1YmlkLCBib29sIG1pc3Npbmdfb2ssIGJvb2wgYWNsY2hlY2spCiAJaWYgKE9p ZElzVmFsaWQoc3ViZm9ybS0+c3Vic2VydmVyKSkKIAl7CiAJCUFjbFJlc3VsdAlhY2xyZXN1bHQ7 CisJCUZvcmVpZ25TZXJ2ZXIgKnNlcnZlcjsKKworCQlzZXJ2ZXIgPSBHZXRGb3JlaWduU2VydmVy KHN1YmZvcm0tPnN1YnNlcnZlcik7CiAKIAkJLyogcmVjaGVjayBBQ0wgaWYgcmVxdWVzdGVkICov CiAJCWlmIChhY2xjaGVjaykKQEAgLTEyNywxMSArMTMwLDExIEBAIEdldFN1YnNjcmlwdGlvbihP aWQgc3ViaWQsIGJvb2wgbWlzc2luZ19vaywgYm9vbCBhY2xjaGVjaykKIAkJCQkJCShlcnJjb2Rl KEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCiAJCQkJCQkgZXJybXNnKCJzdWJzY3Jp cHRpb24gb3duZXIgXCIlc1wiIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiBvbiBmb3JlaWduIHNl cnZlciBcIiVzXCIiLAogCQkJCQkJCQlHZXRVc2VyTmFtZUZyb21JZChzdWJmb3JtLT5zdWJvd25l ciwgZmFsc2UpLAotCQkJCQkJCQlGb3JlaWduU2VydmVyTmFtZShzdWJmb3JtLT5zdWJzZXJ2ZXIp KSkpOworCQkJCQkJCQlzZXJ2ZXItPnNlcnZlcm5hbWUpKSk7CiAJCX0KIAogCQlzdWItPmNvbm5p bmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoc3ViZm9ybS0+c3Vib3duZXIsCi0J CQkJCQkJCQkJCQkJICBzdWJmb3JtLT5zdWJzZXJ2ZXIpOworCQkJCQkJCQkJCQkJCSAgc2VydmVy KTsKIAl9CiAJZWxzZQogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNj cmlwdGlvbmNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwpp bmRleCA3MjQ2MzdjZmY1Yi4uNzM3NWUyMTRjYjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJz Y3JpcHRpb25jbWRzLmMKQEAgLTc1Myw3ICs3NTMsNyBAQCBDcmVhdGVTdWJzY3JpcHRpb24oUGFy c2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCQlHZXRVc2Vy TWFwcGluZyhvd25lciwgc2VydmVyLT5zZXJ2ZXJpZCk7CiAKIAkJc2VydmVyaWQgPSBzZXJ2ZXIt PnNlcnZlcmlkOwotCQljb25uaW5mbyA9IEZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKG93 bmVyLCBzZXJ2ZXJpZCk7CisJCWNvbm5pbmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJp bmcob3duZXIsIHNlcnZlcik7CiAJfQogCWVsc2UKIAl7CkBAIC0xODQxLDEzICsxODQxLDEzIEBA IEFsdGVyU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJTdWJzY3JpcHRpb25T dG10ICpzdG10LAogCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdF KSwKIAkJCQkJCQllcnJtc2coInN1YnNjcmlwdGlvbiBvd25lciBcIiVzXCIgZG9lcyBub3QgaGF2 ZSBwZXJtaXNzaW9uIG9uIGZvcmVpZ24gc2VydmVyIFwiJXNcIiIsCiAJCQkJCQkJCSAgIEdldFVz ZXJOYW1lRnJvbUlkKGZvcm0tPnN1Ym93bmVyLCBmYWxzZSksCi0JCQkJCQkJCSAgIEZvcmVpZ25T ZXJ2ZXJOYW1lKG5ld19zZXJ2ZXItPnNlcnZlcmlkKSkpOworCQkJCQkJCQkgICBuZXdfc2VydmVy LT5zZXJ2ZXJuYW1lKSk7CiAKIAkJCQkvKiBtYWtlIHN1cmUgYSB1c2VyIG1hcHBpbmcgZXhpc3Rz ICovCiAJCQkJR2V0VXNlck1hcHBpbmcoZm9ybS0+c3Vib3duZXIsIG5ld19zZXJ2ZXItPnNlcnZl cmlkKTsKIAogCQkJCWNvbm5pbmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoZm9y bS0+c3Vib3duZXIsCi0JCQkJCQkJCQkJCQkJCSBuZXdfc2VydmVyLT5zZXJ2ZXJpZCk7CisJCQkJ CQkJCQkJCQkJCSBuZXdfc2VydmVyKTsKIAogCQkJCS8qIExvYWQgdGhlIGxpYnJhcnkgcHJvdmlk aW5nIHVzIGxpYnBxIGNhbGxzLiAqLwogCQkJCWxvYWRfZmlsZSgibGlicHF3YWxyZWNlaXZlciIs IGZhbHNlKTsKQEAgLTIyNTAsNyArMjI1MCw5IEBAIERyb3BTdWJzY3JpcHRpb24oRHJvcFN1YnNj cmlwdGlvblN0bXQgKnN0bXQsIGJvb2wgaXNUb3BMZXZlbCkKIAlpZiAoT2lkSXNWYWxpZChmb3Jt LT5zdWJzZXJ2ZXIpKQogCXsKIAkJQWNsUmVzdWx0CWFjbHJlc3VsdDsKKwkJRm9yZWlnblNlcnZl ciAqc2VydmVyOwogCisJCXNlcnZlciA9IEdldEZvcmVpZ25TZXJ2ZXIoZm9ybS0+c3Vic2VydmVy KTsKIAkJYWNscmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNrKEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklk LCBmb3JtLT5zdWJzZXJ2ZXIsCiAJCQkJCQkJCQlmb3JtLT5zdWJvd25lciwgQUNMX1VTQUdFKTsK IAkJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKQEAgLTIyNjMsMTIgKzIyNjUsMTIgQEAg RHJvcFN1YnNjcmlwdGlvbihEcm9wU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExl dmVsKQogCQkJICovCiAJCQllcnIgPSBwc3ByaW50ZihfKCJzdWJzY3JpcHRpb24gb3duZXIgXCIl c1wiIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiBvbiBmb3JlaWduIHNlcnZlciBcIiVzXCIiKSwK IAkJCQkJCSAgIEdldFVzZXJOYW1lRnJvbUlkKGZvcm0tPnN1Ym93bmVyLCBmYWxzZSksCi0JCQkJ CQkgICBGb3JlaWduU2VydmVyTmFtZShmb3JtLT5zdWJzZXJ2ZXIpKTsKKwkJCQkJCSAgIHNlcnZl ci0+c2VydmVybmFtZSk7CiAJCQljb25uaW5mbyA9IE5VTEw7CiAJCX0KIAkJZWxzZQogCQkJY29u bmluZm8gPSBGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyhmb3JtLT5zdWJvd25lciwKLQkJ CQkJCQkJCQkJCQkgZm9ybS0+c3Vic2VydmVyKTsKKwkJCQkJCQkJCQkJCQkgc2VydmVyKTsKIAl9 CiAJZWxzZQogCXsKQEAgLTI1OTMsMTggKzI1OTUsMTggQEAgQWx0ZXJTdWJzY3JpcHRpb25Pd25l cl9pbnRlcm5hbChSZWxhdGlvbiByZWwsIEhlYXBUdXBsZSB0dXAsIE9pZCBuZXdPd25lcklkKQog CSAqLwogCWlmIChPaWRJc1ZhbGlkKGZvcm0tPnN1YnNlcnZlcikpCiAJewotCQlPaWQJCQlzZXJ2 ZXJpZCA9IGZvcm0tPnN1YnNlcnZlcjsKKwkJRm9yZWlnblNlcnZlciAqc2VydmVyID0gR2V0Rm9y ZWlnblNlcnZlcihmb3JtLT5zdWJzZXJ2ZXIpOwogCi0JCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xj aGVjayhGb3JlaWduU2VydmVyUmVsYXRpb25JZCwgc2VydmVyaWQsIG5ld093bmVySWQsIEFDTF9V U0FHRSk7CisJCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xjaGVjayhGb3JlaWduU2VydmVyUmVsYXRp b25JZCwgc2VydmVyLT5zZXJ2ZXJpZCwgbmV3T3duZXJJZCwgQUNMX1VTQUdFKTsKIAkJaWYgKGFj bHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCWVycmNvZGUo RVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdFKSwKIAkJCQkJZXJybXNnKCJuZXcgc3Vic2Ny aXB0aW9uIG93bmVyIFwiJXNcIiBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gb24gZm9yZWlnbiBz ZXJ2ZXIgXCIlc1wiIiwKIAkJCQkJCSAgIEdldFVzZXJOYW1lRnJvbUlkKG5ld093bmVySWQsIGZh bHNlKSwKLQkJCQkJCSAgIEZvcmVpZ25TZXJ2ZXJOYW1lKHNlcnZlcmlkKSkpOworCQkJCQkJICAg c2VydmVyLT5zZXJ2ZXJuYW1lKSk7CiAKIAkJLyogbWFrZSBzdXJlIGEgdXNlciBtYXBwaW5nIGV4 aXN0cyAqLwotCQlHZXRVc2VyTWFwcGluZyhuZXdPd25lcklkLCBzZXJ2ZXJpZCk7CisJCUdldFVz ZXJNYXBwaW5nKG5ld093bmVySWQsIHNlcnZlci0+c2VydmVyaWQpOwogCX0KIAogCWZvcm0tPnN1 Ym93bmVyID0gbmV3T3duZXJJZDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9y ZWlnbi5jIGIvc3JjL2JhY2tlbmQvZm9yZWlnbi9mb3JlaWduLmMKaW5kZXggMWI1M2NhMzA2YTAu LjAwNTI4MmYxN2Y2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYwor KysgYi9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYwpAQCAtMTc4LDMxICsxNzgsNiBAQCBH ZXRGb3JlaWduU2VydmVyRXh0ZW5kZWQoT2lkIHNlcnZlcmlkLCBiaXRzMTYgZmxhZ3MpCiB9CiAK IAotLyoKLSAqIEZvcmVpZ25TZXJ2ZXJOYW1lIC0gZ2V0IG5hbWUgb2YgZm9yZWlnbiBzZXJ2ZXIu Ci0gKi8KLWNoYXIgKgotRm9yZWlnblNlcnZlck5hbWUoT2lkIHNlcnZlcmlkKQotewotCUZvcm1f cGdfZm9yZWlnbl9zZXJ2ZXIgc2VydmVyZm9ybTsKLQljaGFyCSAgICpzZXJ2ZXJuYW1lOwotCUhl YXBUdXBsZQl0cDsKLQotCXRwID0gU2VhcmNoU3lzQ2FjaGUxKEZPUkVJR05TRVJWRVJPSUQsIE9i amVjdElkR2V0RGF0dW0oc2VydmVyaWQpKTsKLQotCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0cCkp Ci0JCWVsb2coRVJST1IsICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciBmb3JlaWduIHNlcnZlciAl dSIsIHNlcnZlcmlkKTsKLQotCXNlcnZlcmZvcm0gPSAoRm9ybV9wZ19mb3JlaWduX3NlcnZlcikg R0VUU1RSVUNUKHRwKTsKLQotCXNlcnZlcm5hbWUgPSBwc3RyZHVwKE5hbWVTdHIoc2VydmVyZm9y bS0+c3J2bmFtZSkpOwotCi0JUmVsZWFzZVN5c0NhY2hlKHRwKTsKLQotCXJldHVybiBzZXJ2ZXJu YW1lOwotfQotCi0KIC8qCiAgKiBHZXRGb3JlaWduU2VydmVyQnlOYW1lIC0gbG9vayB1cCB0aGUg Zm9yZWlnbiBzZXJ2ZXIgZGVmaW5pdGlvbiBieSBuYW1lLgogICovCkBAIC0yMjQsMTMgKzE5OSwx MSBAQCBHZXRGb3JlaWduU2VydmVyQnlOYW1lKGNvbnN0IGNoYXIgKnNydm5hbWUsIGJvb2wgbWlz c2luZ19vaykKICAqIE5COiBsZWFrcyBpbnRvIEN1cnJlbnRNZW1vcnlDb250ZXh0LgogICovCiBj aGFyICoKLUZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKE9pZCB1c2VyaWQsIE9pZCBzZXJ2 ZXJpZCkKK0ZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKE9pZCB1c2VyaWQsIEZvcmVpZ25T ZXJ2ZXIgKnNlcnZlcikKIHsKLQlGb3JlaWduU2VydmVyICpzZXJ2ZXI7CiAJRm9yZWlnbkRhdGFX cmFwcGVyICpmZHc7CiAJRGF0dW0JCWNvbm5lY3Rpb25fZGF0dW07CiAKLQlzZXJ2ZXIgPSBHZXRG b3JlaWduU2VydmVyKHNlcnZlcmlkKTsKIAlmZHcgPSBHZXRGb3JlaWduRGF0YVdyYXBwZXIoc2Vy dmVyLT5mZHdpZCk7CiAKIAlpZiAoIU9pZElzVmFsaWQoZmR3LT5mZHdjb25uZWN0aW9uKSkKQEAg LTI0Miw3ICsyMTUsNyBAQCBGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyhPaWQgdXNlcmlk LCBPaWQgc2VydmVyaWQpCiAKIAljb25uZWN0aW9uX2RhdHVtID0gT2lkRnVuY3Rpb25DYWxsMyhm ZHctPmZkd2Nvbm5lY3Rpb24sCiAJCQkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bSh1c2VyaWQpLAot CQkJCQkJCQkJCU9iamVjdElkR2V0RGF0dW0oc2VydmVyaWQpLAorCQkJCQkJCQkJCU9iamVjdElk R2V0RGF0dW0oc2VydmVyLT5zZXJ2ZXJpZCksCiAJCQkJCQkJCQkJUG9pbnRlckdldERhdHVtKE5V TEwpKTsKIAogCXJldHVybiB0ZXh0X3RvX2NzdHJpbmcoRGF0dW1HZXRUZXh0UFAoY29ubmVjdGlv bl9kYXR1bSkpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvZm9yZWlnbi9mb3JlaWduLmggYi9z cmMvaW5jbHVkZS9mb3JlaWduL2ZvcmVpZ24uaAppbmRleCA2NWVkOWE3Zjk4Ny4uNTY0YzNjYzFi N2YgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCisrKyBiL3NyYy9p bmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCkBAIC02NiwxMiArNjYsMTIgQEAgdHlwZWRlZiBzdHJ1 Y3QgRm9yZWlnblRhYmxlCiAKIAogZXh0ZXJuIEZvcmVpZ25TZXJ2ZXIgKkdldEZvcmVpZ25TZXJ2 ZXIoT2lkIHNlcnZlcmlkKTsKLWV4dGVybiBjaGFyICpGb3JlaWduU2VydmVyTmFtZShPaWQgc2Vy dmVyaWQpOwogZXh0ZXJuIEZvcmVpZ25TZXJ2ZXIgKkdldEZvcmVpZ25TZXJ2ZXJFeHRlbmRlZChP aWQgc2VydmVyaWQsCiAJCQkJCQkJCQkJCSAgIGJpdHMxNiBmbGFncyk7CiBleHRlcm4gRm9yZWln blNlcnZlciAqR2V0Rm9yZWlnblNlcnZlckJ5TmFtZShjb25zdCBjaGFyICpzcnZuYW1lLAogCQkJ CQkJCQkJCQkgYm9vbCBtaXNzaW5nX29rKTsKLWV4dGVybiBjaGFyICpGb3JlaWduU2VydmVyQ29u bmVjdGlvblN0cmluZyhPaWQgdXNlcmlkLCBPaWQgc2VydmVyaWQpOworZXh0ZXJuIGNoYXIgKkZv cmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKE9pZCB1c2VyaWQsCisJCQkJCQkJCQkJICAgRm9y ZWlnblNlcnZlciAqc2VydmVyKTsKIGV4dGVybiBVc2VyTWFwcGluZyAqR2V0VXNlck1hcHBpbmco T2lkIHVzZXJpZCwgT2lkIHNlcnZlcmlkKTsKIGV4dGVybiBGb3JlaWduRGF0YVdyYXBwZXIgKkdl dEZvcmVpZ25EYXRhV3JhcHBlcihPaWQgZmR3aWQpOwogZXh0ZXJuIEZvcmVpZ25EYXRhV3JhcHBl ciAqR2V0Rm9yZWlnbkRhdGFXcmFwcGVyRXh0ZW5kZWQoT2lkIGZkd2lkLAotLSAKMi40My4wCgo= --=-1hO5JiMoPenMKLrYD4jO Content-Disposition: attachment; filename*0=v23-0003-Add-pg_dump-tests-related-to-CREATE-SUBSCRIPTION.pat; filename*1=ch Content-Type: text/x-patch; name="v23-0003-Add-pg_dump-tests-related-to-CREATE-SUBSCRIPTION.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA5MmNlNTA2MTc4MDg4NmRkZjIyMzk4ZDgyOWUwNDdiYjI3YjEzNWE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBT YXQsIDE0IE1hciAyMDI2IDE1OjA3OjUyIC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MjMgMy80XSBB ZGQgcGdfZHVtcCB0ZXN0cyByZWxhdGVkIHRvIENSRUFURSBTVUJTQ1JJUFRJT04gLi4uCiBTRVJW RVIuCgpTdWdnZXN0ZWQtYnk6IEFzaHV0b3NoIEJhcGF0IDxhc2h1dG9zaC5iYXBhdC5vc3NAZ21h aWwuY29tPgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBRXhIVzV2VjV6bkV2ZWNY PXJhMi12N1VCajktTTZxdmREenVCNzhNLVR4YllEMVBFQUBtYWlsLmdtYWlsLmNvbQotLS0KIHNy Yy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsIHwgNDkgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwgYi9zcmMvYmluL3BnX2R1bXAvdC8w MDJfcGdfZHVtcC5wbAppbmRleCAwNTFhM2Q4ZWEzZC4uYzBjYmRkNGM2NWUgMTAwNjQ0Ci0tLSBh L3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCisrKyBiL3NyYy9iaW4vcGdfZHVtcC90 LzAwMl9wZ19kdW1wLnBsCkBAIC0yODQ2LDYgKzI4NDYsNDAgQEAgbXkgJXRlc3RzID0gKAogCQls aWtlID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wcmVfZGF0YSA9PiAxLCB9LAogCX0sCiAKKwkn Q1JFQVRFIEZVTkNUSU9OIHB1YmxpYy50ZXN0X2Zkd19jb25uZWN0aW9uKG9pZCwgb2lkLCBpbnRl cm5hbCknID0+IHsKKwkJY3JlYXRlX29yZGVyID0+IDM3LAorCQljcmVhdGVfc3FsID0+ICJDUkVB VEUgRlVOQ1RJT04gcHVibGljLnRlc3RfZmR3X2Nvbm5lY3Rpb24ob2lkLCBvaWQsIGludGVybmFs KSBSRVRVUk5TIHRleHQgQVMgJ1wkbGliZGlyL3JlZ3Jlc3MnLCAndGVzdF9mZHdfY29ubmVjdGlv bicgTEFOR1VBR0UgQzsiLAorCQlyZWdleHAgPT4gcXIvXgorCQkJXFFDUkVBVEUgRlVOQ1RJT04g cHVibGljLnRlc3RfZmR3X2Nvbm5lY3Rpb24ob2lkLCBvaWQsIGludGVybmFsKSBcRQorCQkJXFFS RVRVUk5TIHRleHRcRQorCQkJXG5ccytcUUxBTkdVQUdFIGNcRQorCQkJXG5ccytBU1wgXCdcJAor CQkJXFFsaWJkaXJcL3JlZ3Jlc3MnLCAndGVzdF9mZHdfY29ubmVjdGlvbic7XEUKKwkJCS94bSwK KwkJbGlrZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rpb25fcHJlX2RhdGEgPT4gMSwgfSwKKwl9LAor CisJJ0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2ZkdyBDT05ORUNUSU9OIHB1Ymxp Yy50ZXN0X2Zkd19jb25uZWN0aW9uJyA9PiB7CisJCWNyZWF0ZV9vcmRlciA9PiAzOCwKKwkJY3Jl YXRlX3NxbCA9PiAnQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3IENPTk5FQ1RJ T04gcHVibGljLnRlc3RfZmR3X2Nvbm5lY3Rpb247JywKKwkJcmVnZXhwID0+IHFyL0NSRUFURSBG T1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2ZkdyBDT05ORUNUSU9OIHB1YmxpYy50ZXN0X2Zkd19j b25uZWN0aW9uOy9tLAorCQlsaWtlID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wcmVfZGF0YSA9 PiAxLCB9LAorCX0sCisKKwknQ1JFQVRFIFNFUlZFUiBzMiBGT1JFSUdOIERBVEEgV1JBUFBFUiB0 ZXN0X2ZkdycgPT4geworCQljcmVhdGVfb3JkZXIgPT4gMzksCisJCWNyZWF0ZV9zcWwgPT4gJ0NS RUFURSBTRVJWRVIgczIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHc7JywKKwkJcmVnZXhw ID0+IHFyL0NSRUFURSBTRVJWRVIgczIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHc7L20s CisJCWxpa2UgPT4geyAlZnVsbF9ydW5zLCBzZWN0aW9uX3ByZV9kYXRhID0+IDEsIH0sCisJfSwK KworCSdDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiBwdWJsaWMgU0VSVkVSIHMyJyA9PiB7CisJCWNy ZWF0ZV9vcmRlciA9PiA0MCwKKwkJY3JlYXRlX3NxbCA9PiAnQ1JFQVRFIFVTRVIgTUFQUElORyBG T1IgcHVibGljIFNFUlZFUiBzMjsnLAorCQlyZWdleHAgPT4gcXIvQ1JFQVRFIFVTRVIgTUFQUElO RyBGT1IgcHVibGljIFNFUlZFUiBzMjsvbSwKKwkJbGlrZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rp b25fcHJlX2RhdGEgPT4gMSwgfSwKKwl9LAorCiAJJ0NSRUFURSBGT1JFSUdOIFRBQkxFIGR1bXBf dGVzdC5mb3JlaWduX3RhYmxlIFNFUlZFUiBzMScgPT4gewogCQljcmVhdGVfb3JkZXIgPT4gODgs CiAJCWNyZWF0ZV9zcWwgPT4KQEAgLTMyODcsNiArMzMyMSwyMSBAQCBteSAldGVzdHMgPSAoCiAJ CX0sCiAJfSwKIAorCSdDUkVBVEUgU1VCU0NSSVBUSU9OIHN1YjQgU0VSVkVSIHMyJyA9PiB7CisJ CWNyZWF0ZV9vcmRlciA9PiA1MCwKKwkJY3JlYXRlX3NxbCA9PiAnQ1JFQVRFIFNVQlNDUklQVElP TiBzdWI0CisJCQkJCQkgU0VSVkVSIHMyIFBVQkxJQ0FUSU9OIHB1YjEKKwkJCQkJCSBXSVRIIChj b25uZWN0ID0gZmFsc2UsIHNsb3RfbmFtZSA9IE5PTkUsIG9yaWdpbiA9IGFueSwgc3RyZWFtaW5n ID0gb24pOycsCisJCXJlZ2V4cCA9PiBxci9eCisJCQlcUUNSRUFURSBTVUJTQ1JJUFRJT04gc3Vi NCBTRVJWRVIgczIgUFVCTElDQVRJT04gcHViMSBXSVRIIChjb25uZWN0ID0gZmFsc2UsIHNsb3Rf bmFtZSA9IE5PTkUsIHN0cmVhbWluZyA9IG9uKTtcRQorCQkJL3htLAorCQlsaWtlID0+IHsgJWZ1 bGxfcnVucywgc2VjdGlvbl9wb3N0X2RhdGEgPT4gMSwgfSwKKwkJdW5saWtlID0+IHsKKwkJCW5v X3N1YnNjcmlwdGlvbnMgPT4gMSwKKwkJCW5vX3N1YnNjcmlwdGlvbnNfcmVzdG9yZSA9PiAxLAor CQl9LAorCX0sCisKIAogCSMgUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSB0YWJsZSBvciBzY2hl bWEgaXMgZXhjbHVkZWQsIHB1YmxpY2F0aW9ucyBtdXN0CiAJIyBzdGlsbCBiZSBkdW1wZWQsIGFz IGV4Y2x1ZGVkIG9iamVjdHMgZG8gbm90IGFwcGx5IHRvIHB1YmxpY2F0aW9ucy4gV2UKLS0gCjIu NDMuMAoK --=-1hO5JiMoPenMKLrYD4jO Content-Disposition: attachment; filename*0=v23-0004-Add-dependency-entry-for-FDW-connection-function.pat; filename*1=ch Content-Type: text/x-patch; name="v23-0004-Add-dependency-entry-for-FDW-connection-function.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA5NTQwY2M5Zjc2MTc4ZjcxZTJkNGY3Y2E5NjIxMDY0MjgxMjA3MTMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBX ZWQsIDE4IE1hciAyMDI2IDEwOjMxOjM4IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MjMgNC80XSBB ZGQgZGVwZW5kZW5jeSBlbnRyeSBmb3IgRkRXIGNvbm5lY3Rpb24gZnVuY3Rpb24uCgpNaXNzZWQg aW4gY29tbWl0IDgxODViYjUzNDcuCgpDYXRhbG9nIHZlcnNpb24gYnVtcC4KLS0tCiBzcmMvYmFj a2VuZC9jb21tYW5kcy9mb3JlaWduY21kcy5jICAgICAgICAgfCA0MCArKysrKysrKysrKysrKysr KysrKystCiBzcmMvaW5jbHVkZS9jYXRhbG9nL2NhdHZlcnNpb24uaCAgICAgICAgICAgfCAgMiAr LQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0IHwgIDkgKysrKysK IHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwgICAgICB8ICA4ICsrKysrCiA0 IGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZm9yZWlnbmNtZHMuYyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL2ZvcmVpZ25jbWRzLmMKaW5kZXggNDU2ODEyMzU3ODIuLjYxZWUyNWIzNDVkIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9mb3JlaWduY21kcy5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL2ZvcmVpZ25jbWRzLmMKQEAgLTcwNyw2ICs3MDcsMTQgQEAgQ3JlYXRlRm9y ZWlnbkRhdGFXcmFwcGVyKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlRmR3U3RtdCAqc3RtdCkK IAkJcmVjb3JkRGVwZW5kZW5jeU9uKCZteXNlbGYsICZyZWZlcmVuY2VkLCBERVBFTkRFTkNZX05P Uk1BTCk7CiAJfQogCisJaWYgKE9pZElzVmFsaWQoZmR3Y29ubmVjdGlvbikpCisJeworCQlyZWZl cmVuY2VkLmNsYXNzSWQgPSBQcm9jZWR1cmVSZWxhdGlvbklkOworCQlyZWZlcmVuY2VkLm9iamVj dElkID0gZmR3Y29ubmVjdGlvbjsKKwkJcmVmZXJlbmNlZC5vYmplY3RTdWJJZCA9IDA7CisJCXJl Y29yZERlcGVuZGVuY3lPbigmbXlzZWxmLCAmcmVmZXJlbmNlZCwgREVQRU5ERU5DWV9OT1JNQUwp OworCX0KKwogCXJlY29yZERlcGVuZGVuY3lPbk93bmVyKEZvcmVpZ25EYXRhV3JhcHBlclJlbGF0 aW9uSWQsIGZkd0lkLCBvd25lcklkKTsKIAogCS8qIGRlcGVuZGVuY3kgb24gZXh0ZW5zaW9uICov CkBAIC04MTQsNiArODIyLDI4IEBAIEFsdGVyRm9yZWlnbkRhdGFXcmFwcGVyKFBhcnNlU3RhdGUg KnBzdGF0ZSwgQWx0ZXJGZHdTdG10ICpzdG10KQogCXsKIAkJcmVwbF92YWxbQW51bV9wZ19mb3Jl aWduX2RhdGFfd3JhcHBlcl9mZHdjb25uZWN0aW9uIC0gMV0gPSBPYmplY3RJZEdldERhdHVtKGZk d2Nvbm5lY3Rpb24pOwogCQlyZXBsX3JlcGxbQW51bV9wZ19mb3JlaWduX2RhdGFfd3JhcHBlcl9m ZHdjb25uZWN0aW9uIC0gMV0gPSB0cnVlOworCisJCS8qCisJCSAqIElmIHRoZSBjb25uZWN0aW9u IGZ1bmN0aW9uIGlzIGNoYW5nZWQsIGJlaGF2aW9yIG9mIGRlcGVuZGVudAorCQkgKiBzdWJzY3Jp cHRpb25zIGNhbiBjaGFuZ2UuICBJZiBOTyBDT05ORUNUSU9OLCBkZXBlbmRlbnQKKwkJICogc3Vi c2NyaXB0aW9ucyB3aWxsIGZhaWwuCisJCSAqLworCQlpZiAoT2lkSXNWYWxpZChmZHdGb3JtLT5m ZHdjb25uZWN0aW9uKSkKKwkJeworCQkJaWYgKE9pZElzVmFsaWQoZmR3Y29ubmVjdGlvbikpCisJ CQkJZXJlcG9ydChXQVJOSU5HLAorCQkJCQkJKGVycm1zZygiY2hhbmdpbmcgdGhlIGZvcmVpZ24t ZGF0YSB3cmFwcGVyIGNvbm5lY3Rpb24gZnVuY3Rpb24gY2FuIGNhdXNlICIKKwkJCQkJCQkJInRo ZSBvcHRpb25zIGZvciBkZXBlbmRlbnQgb2JqZWN0cyB0byBiZWNvbWUgaW52YWxpZCIpKSk7CisJ CQllbHNlCisJCQkJZXJlcG9ydChXQVJOSU5HLAorCQkJCQkJKGVycm1zZygicmVtb3ZpbmcgdGhl IGZvcmVpZ24tZGF0YSB3cmFwcGVyIGNvbm5lY3Rpb24gZnVuY3Rpb24gd2lsbCBjYXVzZSAiCisJ CQkJCQkJCSJkZXBlbmRlbnQgc3Vic2NyaXB0aW9ucyB0byBmYWlsIikpKTsKKwkJfQorCX0KKwll bHNlCisJeworCQkvKiBjb25uZWN0aW9uIGZ1bmN0aW9uIHVuY2hhbmdlZCAqLworCQlmZHdjb25u ZWN0aW9uID0gZmR3Rm9ybS0+ZmR3Y29ubmVjdGlvbjsKIAl9CiAKIAkvKgpAQCAtODU0LDcgKzg4 NCw3IEBAIEFsdGVyRm9yZWlnbkRhdGFXcmFwcGVyKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJG ZHdTdG10ICpzdG10KQogCU9iamVjdEFkZHJlc3NTZXQobXlzZWxmLCBGb3JlaWduRGF0YVdyYXBw ZXJSZWxhdGlvbklkLCBmZHdJZCk7CiAKIAkvKiBVcGRhdGUgZnVuY3Rpb24gZGVwZW5kZW5jaWVz IGlmIHdlIGNoYW5nZWQgdGhlbSAqLwotCWlmIChoYW5kbGVyX2dpdmVuIHx8IHZhbGlkYXRvcl9n aXZlbikKKwlpZiAoaGFuZGxlcl9naXZlbiB8fCB2YWxpZGF0b3JfZ2l2ZW4gfHwgY29ubmVjdGlv bl9naXZlbikKIAl7CiAJCU9iamVjdEFkZHJlc3MgcmVmZXJlbmNlZDsKIApAQCAtODg0LDYgKzkx NCwxNCBAQCBBbHRlckZvcmVpZ25EYXRhV3JhcHBlcihQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVy RmR3U3RtdCAqc3RtdCkKIAkJCXJlZmVyZW5jZWQub2JqZWN0U3ViSWQgPSAwOwogCQkJcmVjb3Jk RGVwZW5kZW5jeU9uKCZteXNlbGYsICZyZWZlcmVuY2VkLCBERVBFTkRFTkNZX05PUk1BTCk7CiAJ CX0KKworCQlpZiAoT2lkSXNWYWxpZChmZHdjb25uZWN0aW9uKSkKKwkJeworCQkJcmVmZXJlbmNl ZC5jbGFzc0lkID0gUHJvY2VkdXJlUmVsYXRpb25JZDsKKwkJCXJlZmVyZW5jZWQub2JqZWN0SWQg PSBmZHdjb25uZWN0aW9uOworCQkJcmVmZXJlbmNlZC5vYmplY3RTdWJJZCA9IDA7CisJCQlyZWNv cmREZXBlbmRlbmN5T24oJm15c2VsZiwgJnJlZmVyZW5jZWQsIERFUEVOREVOQ1lfTk9STUFMKTsK KwkJfQogCX0KIAogCUludm9rZU9iamVjdFBvc3RBbHRlckhvb2soRm9yZWlnbkRhdGFXcmFwcGVy UmVsYXRpb25JZCwgZmR3SWQsIDApOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9j YXR2ZXJzaW9uLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL2NhdHZlcnNpb24uaAppbmRleCA1NWE4 ZmJiZDUwOS4uYTRmMGQwMmFmOWMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvY2F0 dmVyc2lvbi5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvY2F0dmVyc2lvbi5oCkBAIC01Nyw2 ICs1Nyw2IEBACiAgKi8KIAogLyoJCQkJCQkJeXl5eW1tZGROICovCi0jZGVmaW5lIENBVEFMT0df VkVSU0lPTl9OTwkyMDI2MDMxNzEKKyNkZWZpbmUgQ0FUQUxPR19WRVJTSU9OX05PCTIwMjYwMzE4 MQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2Ny aXB0aW9uLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dApp bmRleCBmNTdmMzU5MTI3Yi4uN2UzY2FiZGI5M2YgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3N1YnNjcmlwdGlvbi5vdXQKQEAgLTE4NSw2ICsxODUsMTUgQEAgRFJPUCBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViNjsKIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19z dWJzY3JpcHRpb25fdXNlcjsKIFJFVk9LRSBDUkVBVEUgT04gREFUQUJBU0UgUkVHUkVTU0lPTiBG Uk9NIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzOwogRFJPUCBTRVJWRVIgdGVzdF9zZXJ2ZXI7 CistLSBmYWlsLCBGRFcgaXMgZGVwZW5kZW50CitEUk9QIEZVTkNUSU9OIHRlc3RfZmR3X2Nvbm5l Y3Rpb24ob2lkLCBvaWQsIGludGVybmFsKTsKK0VSUk9SOiAgY2Fubm90IGRyb3AgZnVuY3Rpb24g dGVzdF9mZHdfY29ubmVjdGlvbihvaWQsb2lkLGludGVybmFsKSBiZWNhdXNlIG90aGVyIG9iamVj dHMgZGVwZW5kIG9uIGl0CitERVRBSUw6ICBmb3JlaWduLWRhdGEgd3JhcHBlciB0ZXN0X2ZkdyBk ZXBlbmRzIG9uIGZ1bmN0aW9uIHRlc3RfZmR3X2Nvbm5lY3Rpb24ob2lkLG9pZCxpbnRlcm5hbCkK K0hJTlQ6ICBVc2UgRFJPUCAuLi4gQ0FTQ0FERSB0byBkcm9wIHRoZSBkZXBlbmRlbnQgb2JqZWN0 cyB0b28uCistLSB3YXJuCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2ZkdyBOTyBD T05ORUNUSU9OOworV0FSTklORzogIHJlbW92aW5nIHRoZSBmb3JlaWduLWRhdGEgd3JhcHBlciBj b25uZWN0aW9uIGZ1bmN0aW9uIHdpbGwgY2F1c2UgZGVwZW5kZW50IHN1YnNjcmlwdGlvbnMgdG8g ZmFpbAorRFJPUCBGVU5DVElPTiB0ZXN0X2Zkd19jb25uZWN0aW9uKG9pZCwgb2lkLCBpbnRlcm5h bCk7CiBEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3OwogLS0gZmFpbCAtIGludmFs aWQgY29ubmVjdGlvbiBzdHJpbmcgZHVyaW5nIEFMVEVSCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVn cmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2Zvb2Jhcic7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2Ny aXB0aW9uLnNxbAppbmRleCBhNjQyYjM2ODE4My4uNmMzZDk2MzJlOGEgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvc3Vic2NyaXB0aW9uLnNxbApAQCAtMTM4LDYgKzEzOCwxNCBAQCBTRVQgU0VTU0lPTiBB VVRIT1JJWkFUSU9OIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXI7CiBSRVZPS0UgQ1JFQVRFIE9O IERBVEFCQVNFIFJFR1JFU1NJT04gRlJPTSByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyMzsKIAog RFJPUCBTRVJWRVIgdGVzdF9zZXJ2ZXI7CisKKy0tIGZhaWwsIEZEVyBpcyBkZXBlbmRlbnQKK0RS T1AgRlVOQ1RJT04gdGVzdF9mZHdfY29ubmVjdGlvbihvaWQsIG9pZCwgaW50ZXJuYWwpOworLS0g d2FybgorQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHcgTk8gQ09OTkVDVElPTjsK KworRFJPUCBGVU5DVElPTiB0ZXN0X2Zkd19jb25uZWN0aW9uKG9pZCwgb2lkLCBpbnRlcm5hbCk7 CisKIERST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHc7CiAKIC0tIGZhaWwgLSBpbnZh bGlkIGNvbm5lY3Rpb24gc3RyaW5nIGR1cmluZyBBTFRFUgotLSAKMi40My4wCgo= --=-1hO5JiMoPenMKLrYD4jO--