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 1wa6EI-001WtX-1T for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Jun 2026 06:27: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 1wa6EH-00A3ri-1Z for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Jun 2026 06:27: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 1wa6EH-00A3ra-0Z for pgsql-hackers@lists.postgresql.org; Thu, 18 Jun 2026 06:27:57 +0000 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wa6EE-000000012zH-40OY for pgsql-hackers@lists.postgresql.org; Thu, 18 Jun 2026 06:27:56 +0000 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-4626fdc829aso412101f8f.3 for ; Wed, 17 Jun 2026 23:27:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781764074; cv=none; d=google.com; s=arc-20240605; b=YJoyIfshNSO5RwKIeHxX0rn+rhNf3HjrkPBk6x9jBWxQJWUyTqLs/j4R/S+0SrGT0s IlIFCGlZXUgxs/aoPhQX093yWJuVQSX/S65xjemOuMjR994JD49yVW3VEk3p8PojWeGX 0se9Y5ydS+FuorZsJixHYtzLHmSv5Df2YM0blRUtHiRGbbM2h589r0fG2y852a2580GS feIZV/R3fjFUfHHGW3G8J6dB2h60GWlHhoN0ePK712D9m4JHm0rHtmO7YL+/0rpe0jlJ b13J6U3mcfqOwGdmGu1EGt0vi+A2HGPA/6eav02vuFQkTqwOMACc/yNT1mCE4P9bPuBs M1qw== 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=spuoiaBUQKc8Nwqkw2V0r6hOZxyM613uDaa1iiY02ks=; fh=gGkIF7QxA8aRuQHdvt9xO6MPAR201NQ9FHIhde3I8Go=; b=IOlrdi2tR1ag+FxsTXXBFaJWvLX7v2bnbOTISkA9/6H6yOV5PsRdK6K6dE/mYaWQqa k0lbc2wvb0Lqrp0JizbfZbTEjv0u9N1cv24Y24y8wh9eqzU7POposRIC/jF5WQn8U19c GKzX4v+As+fgu2nhdCnmGa5fRQKRwAseGOrRHwhzq/01JRxX8+6ahXq7qTMV/BCUPavT x/weYtA4V+94g6lWz0cCBfRzLSA08swdkqDDR8iwV6AU5SHgJUFd7sSi0KzlEuaWFevu h6q5u4U3A2Afq467io6RtL+kfv4VNtDpTV6HF/jjHozrtECKQtpRDqwL35QW5Iy8nrKG J9iA==; 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=1781764074; x=1782368874; 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=spuoiaBUQKc8Nwqkw2V0r6hOZxyM613uDaa1iiY02ks=; b=Rbho1CLqF/HzNjJwOUYwd8Oh4YvGMF3ZQZewC6ziPghCrslfbH6p/fv0Ec06BI/6ON +RnV5lzofDa3IwJUgpx8KsKq4PaOkovY6Xbcj3C1MKIKBSW5VeGnV244HpaBcWEx5Z3U 6fFKPHSC6B8ywuTqYAL5Ky2S3G+ON2NtSh7HMZJYVhpUwhootLwOv/NMe/WPYoAct7jc HBs+Gp26re5CRNZjO7edHQMMMWQdJPcqpC4Htcb51PF1QbkYZOoCkIpvzzopioagZHkf UFRnvUo9Pno+EGtOU+VgiZaUKC5Wu7/lH0+Gdi4wZmYkG8VMxQFaY/DjHJjZ5W91Ny0Q 8ADg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781764074; x=1782368874; 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=spuoiaBUQKc8Nwqkw2V0r6hOZxyM613uDaa1iiY02ks=; b=O9alYqZFdqrKMuOERkB7KswDqh2eobJRxdlcSltJokG7thxL9CDexAmwLD/uMha8VC 9VUKw/Z3GUQ0HMmrLdkbIBfGx2HUwBhBOMhER4EbcjEyhnFALzPE2Q4ZanCprE4OgN+L A7gCTVMKkZ0ETxbVNkcPkIMf7/K352jQyE+Lp8wqlyiMs5Sy2rEAgAv1+r9QBQFqTgON VOU6uAM+mzCq9Z88OiHu18zG4g3/GW6/OrJ5/6EZT5K9G4L8llk1aG0oB6wyJpVWgDL1 dld1m4UYOdA3+uN5/RupAv8O69ha095xCPlP5EkTknceMnVF9/p3o5BifH2tpfRjXnfP qc5Q== X-Forwarded-Encrypted: i=1; AFNElJ8G2yHB0HVTMFjcEXrAJF8//LTb86S4oGnpWekGtfek3T7RWgjuGUbv7Isdf/aPbsi2Oi4o6Tnb/7wVy/8I@lists.postgresql.org X-Gm-Message-State: AOJu0YxF60aEXTL1o9/jSQNRXvh1wwiQ5cGdrYfQ5jb8vS69si+6lBEf SL8H5k9aboDOQ+TTzfXodVu3NTeajEfro6pJr6obEWHyxrY3I6LCwJgIaSx+HxghoUVPioH+Hld iaViuyTJ64if+vgLmOjt009NAurRndFBOWPxR X-Gm-Gg: AfdE7clVd+T8UfWujq0RtZmZJihTpBVi/mVK+bS0R5tIXnHXSiJ4u6UBmcrHm6W0TZv aFGCH7pZC8sIaSEhijI6HP53T6HuSQ2DtNegRhdiUtse+MTuT9A9oN1/LCQwIPgxkFQwlHFJO5l XR757PirZR6PugKmvaAgV80BBUCEt+Ym7StUYze4aNrkL01C1qVkV7ki1ItYxS9lsWV6LJ2Z05Z 3BWoIcULMtUoX34ao85DWHLbLFPJZt4y44FMcmNMtgYBkjhYAivepvyNEJE8OL9jSHAd5PAoiNJ 42wzUkPs73W0KxeVvyPtoCvkNvLgTnurluhlGU30up3oKV24j5zG2dSB3ywX2RMoAts3mAY= X-Received: by 2002:a5d:588d:0:b0:43f:dbbf:6d93 with SMTP id ffacd0b85a97d-462410d3c5bmr11509272f8f.27.1781764073623; Wed, 17 Jun 2026 23:27:53 -0700 (PDT) MIME-Version: 1.0 References: <1151393.1781734980@sss.pgh.pa.us> <1174236.1781736349@sss.pgh.pa.us> <2A622929-A45C-4370-943A-BC76FF4CC433@gmail.com> <03C47613-5C89-4E69-BB72-3B2912BDDDA8@gmail.com> In-Reply-To: <03C47613-5C89-4E69-BB72-3B2912BDDDA8@gmail.com> From: David Rowley Date: Thu, 18 Jun 2026 18:27:42 +1200 X-Gm-Features: AVVi8Cf3CBFL_6ISBSj3SA8i8smvtfTIi6iWKRAyjkaeeMULtJLhS-NMdv2C5YM Message-ID: Subject: Re: Fix tuple deformation with virtual generated NOT NULL columns To: Chao Li Cc: Tom Lane , Peter Eisentraut , Andres Freund , Postgres hackers Content-Type: multipart/mixed; boundary="000000000000aeb79e0654814606" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000aeb79e0654814606 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 18 Jun 2026 at 17:56, Chao Li wrote: > I don=E2=80=99t know why you added these commented SQL statements, I gues= s you have your reason. The problem is, in the 3 SELECTs, gtest21c should p= robably be gtest21d. This relates to the "-- keep these tests aligned with generated_stored.sql" at the top of the file. I mentioned in [1]; > I pushed the patch to add the new test after modifying it to also > include the change in the generated_stored test, but with it commented > out. This is the method that 83ea6c540 introduced. and this is meant to follow the same pattern. I've attached a version with the commented table names fixed. Thanks for looking. David [1] https://postgr.es/m/CAApHDvrJBXEhet4=3DEs_wHBKdv5PCV5OGCaJOSmJexeaFqfmU= HA@mail.gmail.com --000000000000aeb79e0654814606 Content-Type: text/plain; charset="US-ASCII"; name="fix_jit_deform_for_virtual_generated_cols_v3.patch" Content-Disposition: attachment; filename="fix_jit_deform_for_virtual_generated_cols_v3.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mqj484l60 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2ppdC9sbHZtL2xsdm1qaXRfZGVmb3JtLmMgYi9zcmMv YmFja2VuZC9qaXQvbGx2bS9sbHZtaml0X2RlZm9ybS5jCmluZGV4IDEyNTIxZTNlNDZhLi4zZTRl Y2RhN2IwMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvaml0L2xsdm0vbGx2bWppdF9kZWZvcm0u YworKysgYi9zcmMvYmFja2VuZC9qaXQvbGx2bS9sbHZtaml0X2RlZm9ybS5jCkBAIC0xMDQsMjcg KzEwNCwzMiBAQCBzbG90X2NvbXBpbGVfZGVmb3JtKExMVk1KaXRDb250ZXh0ICpjb250ZXh0LCBU dXBsZURlc2MgZGVzYywKIAlmdW5jbmFtZSA9IGxsdm1fZXhwYW5kX2Z1bmNuYW1lKGNvbnRleHQs ICJkZWZvcm0iKTsKIAogCS8qCi0JICogQ2hlY2sgd2hpY2ggY29sdW1ucyBoYXZlIHRvIGV4aXN0 LCBzbyB3ZSBkb24ndCBoYXZlIHRvIGNoZWNrIHRoZSByb3cncwotCSAqIG5hdHRzIHVubmVjZXNz YXJpbHkuCisJICogQ2hlY2sgd2hpY2ggY29sdW1ucyBoYXZlIHRvIGV4aXN0IGluIGFsbCB0dXBs ZXMsIHNvIHdlIGRvbid0IGhhdmUgdG8KKwkgKiBjaGVjayB0aGUgcm93J3MgbmF0dHMgdW5uZWNl c3NhcmlseS4KIAkgKi8KIAlmb3IgKGF0dG51bSA9IDA7IGF0dG51bSA8IGRlc2MtPm5hdHRzOyBh dHRudW0rKykKIAl7Ci0JCUNvbXBhY3RBdHRyaWJ1dGUgKmF0dCA9IFR1cGxlRGVzY0NvbXBhY3RB dHRyKGRlc2MsIGF0dG51bSk7CisJCUNvbXBhY3RBdHRyaWJ1dGUgKmNhdHQgPSBUdXBsZURlc2ND b21wYWN0QXR0cihkZXNjLCBhdHRudW0pOworCQlGb3JtX3BnX2F0dHJpYnV0ZSBhdHRyID0gVHVw bGVEZXNjQXR0cihkZXNjLCBhdHRudW0pOwogCiAJCS8qCiAJCSAqIElmIHRoZSBjb2x1bW4gaXMg ZGVjbGFyZWQgTk9UIE5VTEwgdGhlbiBpdCBtdXN0IGJlIHByZXNlbnQgaW4gZXZlcnkKIAkJICog dHVwbGUsIHVubGVzcyB0aGVyZSdzIGEgIm1pc3NpbmciIGVudHJ5IHRoYXQgY291bGQgcHJvdmlk ZSBhCiAJCSAqIG5vbi1OVUxMIHZhbHVlIGZvciBpdC4gVGhhdCBpbiB0dXJuIGd1YXJhbnRlZXMg dGhhdCB0aGUgTlVMTCBiaXRtYXAKIAkJICogLSBpZiB0aGVyZSBhcmUgYW55IE5VTExhYmxlIGNv bHVtbnMgLSBpcyBhdCBsZWFzdCBsb25nIGVub3VnaCB0bwotCQkgKiBjb3ZlciBjb2x1bW5zIHVw IHRvIGF0dG51bS4KKwkJICogY292ZXIgY29sdW1ucyB1cCB0byBhdHRudW0uICBXZSB0cmVhdCB2 aXJ0dWFsIGdlbmVyYXRlZCBjb2x1bW5zCisJCSAqIHNpbWlsYXIgdG8gYXR0aGFzbWlzc2luZyBj b2x1bW5zLCBhcyB0aGVzZSBjb2x1bW5zIGNvdWxkIGVpdGhlciBub3QKKwkJICogYmUgcmVwcmVz ZW50ZWQgaW4gdGhlIHR1cGxlIG9yIGNvdWxkIGhhdmUgdGhlIGNvbHVtbiByZXByZXNlbnRlZCBh cworCQkgKiBhIE5VTEwgaW4gdGhlIG51bGwgYml0bWFwLgogCQkgKgogCQkgKiBCZSBwYXJhbm9p ZCBhbmQgYWxzbyBjaGVjayAhYXR0aXNkcm9wcGVkLCBldmVuIHRob3VnaCB0aGUKIAkJICogY29t YmluYXRpb24gb2YgYXR0aXNkcm9wcGVkICYmIGF0dG5vdG51bGwgY29tYmluYXRpb24gc2hvdWxk bid0CiAJCSAqIGV4aXN0LgogCQkgKi8KLQkJaWYgKGF0dC0+YXR0bnVsbGFiaWxpdHkgPT0gQVRU TlVMTEFCTEVfVkFMSUQgJiYKLQkJCSFhdHQtPmF0dGhhc21pc3NpbmcgJiYKLQkJCSFhdHQtPmF0 dGlzZHJvcHBlZCkKKwkJaWYgKGNhdHQtPmF0dG51bGxhYmlsaXR5ID09IEFUVE5VTExBQkxFX1ZB TElEICYmCisJCQkhY2F0dC0+YXR0aGFzbWlzc2luZyAmJgorCQkJIWNhdHQtPmF0dGlzZHJvcHBl ZCAmJgorCQkJYXR0ci0+YXR0Z2VuZXJhdGVkICE9IEFUVFJJQlVURV9HRU5FUkFURURfVklSVFVB TCkKIAkJCWd1YXJhbnRlZWRfY29sdW1uX251bWJlciA9IGF0dG51bTsKIAl9CiAKQEAgLTM5Miw2 ICszOTcsOCBAQCBzbG90X2NvbXBpbGVfZGVmb3JtKExMVk1KaXRDb250ZXh0ICpjb250ZXh0LCBU dXBsZURlc2MgZGVzYywKIAlmb3IgKGF0dG51bSA9IDA7IGF0dG51bSA8IG5hdHRzOyBhdHRudW0r KykKIAl7CiAJCUNvbXBhY3RBdHRyaWJ1dGUgKmF0dCA9IFR1cGxlRGVzY0NvbXBhY3RBdHRyKGRl c2MsIGF0dG51bSk7CisJCUZvcm1fcGdfYXR0cmlidXRlIGF0dHIgPSBUdXBsZURlc2NBdHRyKGRl c2MsIGF0dG51bSk7CisKIAkJTExWTVZhbHVlUmVmIHZfaW5jYnk7CiAJCWludAkJCWFsaWdudG8g PSBhdHQtPmF0dGFsaWduYnk7CiAJCUxMVk1WYWx1ZVJlZiBsX2F0dG5vID0gbF9pbnQxNl9jb25z dChsYywgYXR0bnVtKTsKQEAgLTQzNSw4ICs0NDIsMTEgQEAgc2xvdF9jb21waWxlX2RlZm9ybShM TFZNSml0Q29udGV4dCAqY29udGV4dCwgVHVwbGVEZXNjIGRlc2MsCiAJCSAqIENoZWNrIGZvciBu dWxscyBpZiBuZWNlc3NhcnkuIE5vIG5lZWQgdG8gdGFrZSBtaXNzaW5nIGF0dHJpYnV0ZXMKIAkJ ICogaW50byBhY2NvdW50LCBiZWNhdXNlIGlmIHRoZXkncmUgcHJlc2VudCB0aGUgaGVhcHR1cGxl J3MgbmF0dHMKIAkJICogd291bGQgaGF2ZSBpbmRpY2F0ZWQgdGhhdCBhIHNsb3RfZ2V0bWlzc2lu Z2F0dHJzKCkgaXMgbmVlZGVkLgorCQkgKiBXaGVuIHByZXNlbnQgaW4gdGhlIHR1cGxlLCB2aXJ0 dWFsIGdlbmVyYXRlZCBjb2x1bW5zIGFyZSBhbHdheXMKKwkJICogc3RvcmVkIGFzIE5VTEwsIHNv IHdlIG11c3QgYWx3YXlzIHBlcmZvcm0gTlVMTCBjaGVja3MgZm9yIHRoZXNlLgogCQkgKi8KLQkJ aWYgKGF0dC0+YXR0bnVsbGFiaWxpdHkgIT0gQVRUTlVMTEFCTEVfVkFMSUQpCisJCWlmIChhdHQt PmF0dG51bGxhYmlsaXR5ICE9IEFUVE5VTExBQkxFX1ZBTElEIHx8CisJCQlhdHRyLT5hdHRnZW5l cmF0ZWQgPT0gQVRUUklCVVRFX0dFTkVSQVRFRF9WSVJUVUFMKQogCQl7CiAJCQlMTFZNQmFzaWNC bG9ja1JlZiBiX2lmbm90bnVsbDsKIAkJCUxMVk1CYXNpY0Jsb2NrUmVmIGJfaWZudWxsOwpAQCAt NjE0LDEyICs2MjQsMTQgQEAgc2xvdF9jb21waWxlX2RlZm9ybShMTFZNSml0Q29udGV4dCAqY29u dGV4dCwgVHVwbGVEZXNjIGRlc2MsCiAJCQlrbm93bl9hbGlnbm1lbnQgKz0gYXR0LT5hdHRsZW47 CiAJCX0KIAkJZWxzZSBpZiAoYXR0LT5hdHRudWxsYWJpbGl0eSA9PSBBVFROVUxMQUJMRV9WQUxJ RCAmJgorCQkJCSBhdHRyLT5hdHRnZW5lcmF0ZWQgIT0gQVRUUklCVVRFX0dFTkVSQVRFRF9WSVJU VUFMICYmCiAJCQkJIChhdHQtPmF0dGxlbiAlIGFsaWdudG8pID09IDApCiAJCXsKIAkJCS8qCi0J CQkgKiBBZnRlciBhIE5PVCBOVUxMIGZpeGVkLXdpZHRoIGNvbHVtbiB3aXRoIGEgbGVuZ3RoIHRo YXQgaXMgYQotCQkJICogbXVsdGlwbGUgb2YgaXRzIGFsaWdubWVudCByZXF1aXJlbWVudCwgd2Ug a25vdyB0aGUgZm9sbG93aW5nCi0JCQkgKiBjb2x1bW4gaXMgYWxpZ25lZCB0byBhdCBsZWFzdCB0 aGUgY3VycmVudCBjb2x1bW4ncyBhbGlnbm1lbnQuCisJCQkgKiBBZnRlciBhIE5PVCBOVUxMIChh bmQgbm90IHZpcnR1YWwgZ2VuZXJhdGVkKSBmaXhlZC13aWR0aCBjb2x1bW4KKwkJCSAqIHdpdGgg YSBsZW5ndGggdGhhdCBpcyBhIG11bHRpcGxlIG9mIGl0cyBhbGlnbm1lbnQgcmVxdWlyZW1lbnQs CisJCQkgKiB3ZSBrbm93IHRoZSBmb2xsb3dpbmcgY29sdW1uIGlzIGFsaWduZWQgdG8gYXQgbGVh c3QgdGhlIGN1cnJlbnQKKwkJCSAqIGNvbHVtbidzIGFsaWdubWVudC4KIAkJCSAqLwogCQkJQXNz ZXJ0KGF0dC0+YXR0bGVuID4gMCk7CiAJCQlrbm93bl9hbGlnbm1lbnQgPSBhbGlnbnRvOwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9nZW5lcmF0ZWRfc3RvcmVkLm91dCBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZ2VuZXJhdGVkX3N0b3JlZC5vdXQKaW5kZXggZjg3 YTc1NmIyMzEuLmUxN2JhMmY0ODgxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL2dlbmVyYXRlZF9zdG9yZWQub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv Z2VuZXJhdGVkX3N0b3JlZC5vdXQKQEAgLTcyNiw2ICs3MjYsMjAgQEAgSU5TRVJUIElOVE8gZ3Rl c3QyMWIgKGEpIFZBTFVFUyAoMCk7ICAtLSBvayBub3cKIC0tSU5TRVJUIElOVE8gZ3Rlc3QyMWMg KGEsIGMpIFZBTFVFUyAoMTAsIDQyKTsKIC0tU0VMRUNUIGEsIGIsIGMgRlJPTSBndGVzdDIxYzsK IC0tRFJPUCBUQUJMRSBndGVzdDIxYzsKKy0tIHRyeSBhZGRpbmcgYSB2aXJ0dWFsIGdlbmVyYXRl ZCBjb2x1bW4gdG8gYW4gZXhpc3RpbmcgdGFibGUgd2l0aCB0dXBsZXMsCistLSB0aGVuIHRyeSBh ZGRpbmcgYW4gYXR0aGFzbWlzc2luZyBjb2x1bW4gYmVmb3JlIGFkZGluZyBhIG5vcm1hbCBudWxs YWJsZQorLS0gY29sdW1uLgorLS1DUkVBVEUgVEFCTEUgZ3Rlc3QyMWQgKGEgaW50IE5PVCBOVUxM KTsKKy0tSU5TRVJUIElOVE8gZ3Rlc3QyMWQgKGEpIFZBTFVFUygxMCk7CistLUFMVEVSIFRBQkxF IGd0ZXN0MjFkIEFERCBDT0xVTU4gYiBJTlQgR0VORVJBVEVEIEFMV0FZUyBBUyAoYSAqIDEwKSBW SVJUVUFMIE5PVCBOVUxMOworLS1TRUxFQ1QgKiBGUk9NIGd0ZXN0MjFkIE9SREVSIEJZIGE7Cist LUlOU0VSVCBJTlRPIGd0ZXN0MjFkIChhKSBWQUxVRVMoMjApOworLS1BTFRFUiBUQUJMRSBndGVz dDIxZCBBREQgQ09MVU1OIGMgSU5UIE5PVCBOVUxMIERFRkFVTFQgMTIzNDsKKy0tU0VMRUNUICog RlJPTSBndGVzdDIxZCBPUkRFUiBCWSBhOworLS1BTFRFUiBUQUJMRSBndGVzdDIxZCBBREQgQ09M VU1OIGQgSU5UOworLS1JTlNFUlQgSU5UTyBndGVzdDIxZCAoYSwgYywgZCkgVkFMVUVTKDMwLCAx MjM0NSwgMTAwKTsKKy0tU0VMRUNUICogRlJPTSBndGVzdDIxZCBPUkRFUiBCWSBhOworLS1EUk9Q IFRBQkxFIGd0ZXN0MjFkOwogLS0gbm90LW51bGwgY29uc3RyYWludCB3aXRoIHBhcnRpdGlvbmVk IHRhYmxlCiBDUkVBVEUgVEFCTEUgZ3Rlc3Rubl9wYXJlbnQgKAogICAgIGYxIGludCwKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZ2VuZXJhdGVkX3ZpcnR1YWwub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9nZW5lcmF0ZWRfdmlydHVhbC5vdXQKaW5kZXggYjhk NWRlZjQ0ZGIuLjAxZWUyOWZlZTEwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL2dlbmVyYXRlZF92aXJ0dWFsLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2dlbmVyYXRlZF92aXJ0dWFsLm91dApAQCAtNzM3LDYgKzczNywzOCBAQCBTRUxFQ1QgYSwgYiwg YyBGUk9NIGd0ZXN0MjFjOwogKDEgcm93KQogCiBEUk9QIFRBQkxFIGd0ZXN0MjFjOworLS0gdHJ5 IGFkZGluZyBhIHZpcnR1YWwgZ2VuZXJhdGVkIGNvbHVtbiB0byBhbiBleGlzdGluZyB0YWJsZSB3 aXRoIHR1cGxlcywKKy0tIHRoZW4gdHJ5IGFkZGluZyBhbiBhdHRoYXNtaXNzaW5nIGNvbHVtbiBi ZWZvcmUgYWRkaW5nIGEgbm9ybWFsIG51bGxhYmxlCistLSBjb2x1bW4uCitDUkVBVEUgVEFCTEUg Z3Rlc3QyMWQgKGEgaW50IE5PVCBOVUxMKTsKK0lOU0VSVCBJTlRPIGd0ZXN0MjFkIChhKSBWQUxV RVMoMTApOworQUxURVIgVEFCTEUgZ3Rlc3QyMWQgQUREIENPTFVNTiBiIElOVCBHRU5FUkFURUQg QUxXQVlTIEFTIChhICogMTApIFZJUlRVQUwgTk9UIE5VTEw7CitTRUxFQ1QgKiBGUk9NIGd0ZXN0 MjFkIE9SREVSIEJZIGE7CisgYSAgfCAgYiAgCistLS0tKy0tLS0tCisgMTAgfCAxMDAKKygxIHJv dykKKworSU5TRVJUIElOVE8gZ3Rlc3QyMWQgKGEpIFZBTFVFUygyMCk7CitBTFRFUiBUQUJMRSBn dGVzdDIxZCBBREQgQ09MVU1OIGMgSU5UIE5PVCBOVUxMIERFRkFVTFQgMTIzNDsKK1NFTEVDVCAq IEZST00gZ3Rlc3QyMWQgT1JERVIgQlkgYTsKKyBhICB8ICBiICB8ICBjICAgCistLS0tKy0tLS0t Ky0tLS0tLQorIDEwIHwgMTAwIHwgMTIzNAorIDIwIHwgMjAwIHwgMTIzNAorKDIgcm93cykKKwor QUxURVIgVEFCTEUgZ3Rlc3QyMWQgQUREIENPTFVNTiBkIElOVDsKK0lOU0VSVCBJTlRPIGd0ZXN0 MjFkIChhLCBjLCBkKSBWQUxVRVMoMzAsIDEyMzQ1LCAxMDApOworU0VMRUNUICogRlJPTSBndGVz dDIxZCBPUkRFUiBCWSBhOworIGEgIHwgIGIgIHwgICBjICAgfCAgZCAgCistLS0tKy0tLS0tKy0t LS0tLS0rLS0tLS0KKyAxMCB8IDEwMCB8ICAxMjM0IHwgICAgCisgMjAgfCAyMDAgfCAgMTIzNCB8 ICAgIAorIDMwIHwgMzAwIHwgMTIzNDUgfCAxMDAKKygzIHJvd3MpCisKK0RST1AgVEFCTEUgZ3Rl c3QyMWQ7CiAtLSBub3QtbnVsbCBjb25zdHJhaW50IHdpdGggcGFydGl0aW9uZWQgdGFibGUKIENS RUFURSBUQUJMRSBndGVzdG5uX3BhcmVudCAoCiAgICAgZjEgaW50LApkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvZ2VuZXJhdGVkX3N0b3JlZC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNz L3NxbC9nZW5lcmF0ZWRfc3RvcmVkLnNxbAppbmRleCA3MWIwYmE2ZDhkNy4uODViNjIxMjAyM2Qg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2dlbmVyYXRlZF9zdG9yZWQuc3FsCisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2dlbmVyYXRlZF9zdG9yZWQuc3FsCkBAIC0zNzMsNiAr MzczLDIwIEBAIElOU0VSVCBJTlRPIGd0ZXN0MjFiIChhKSBWQUxVRVMgKDApOyAgLS0gb2sgbm93 CiAtLUlOU0VSVCBJTlRPIGd0ZXN0MjFjIChhLCBjKSBWQUxVRVMgKDEwLCA0Mik7CiAtLVNFTEVD VCBhLCBiLCBjIEZST00gZ3Rlc3QyMWM7CiAtLURST1AgVEFCTEUgZ3Rlc3QyMWM7CistLSB0cnkg YWRkaW5nIGEgdmlydHVhbCBnZW5lcmF0ZWQgY29sdW1uIHRvIGFuIGV4aXN0aW5nIHRhYmxlIHdp dGggdHVwbGVzLAorLS0gdGhlbiB0cnkgYWRkaW5nIGFuIGF0dGhhc21pc3NpbmcgY29sdW1uIGJl Zm9yZSBhZGRpbmcgYSBub3JtYWwgbnVsbGFibGUKKy0tIGNvbHVtbi4KKy0tQ1JFQVRFIFRBQkxF IGd0ZXN0MjFkIChhIGludCBOT1QgTlVMTCk7CistLUlOU0VSVCBJTlRPIGd0ZXN0MjFkIChhKSBW QUxVRVMoMTApOworLS1BTFRFUiBUQUJMRSBndGVzdDIxZCBBREQgQ09MVU1OIGIgSU5UIEdFTkVS QVRFRCBBTFdBWVMgQVMgKGEgKiAxMCkgVklSVFVBTCBOT1QgTlVMTDsKKy0tU0VMRUNUICogRlJP TSBndGVzdDIxZCBPUkRFUiBCWSBhOworLS1JTlNFUlQgSU5UTyBndGVzdDIxZCAoYSkgVkFMVUVT KDIwKTsKKy0tQUxURVIgVEFCTEUgZ3Rlc3QyMWQgQUREIENPTFVNTiBjIElOVCBOT1QgTlVMTCBE RUZBVUxUIDEyMzQ7CistLVNFTEVDVCAqIEZST00gZ3Rlc3QyMWQgT1JERVIgQlkgYTsKKy0tQUxU RVIgVEFCTEUgZ3Rlc3QyMWQgQUREIENPTFVNTiBkIElOVDsKKy0tSU5TRVJUIElOVE8gZ3Rlc3Qy MWQgKGEsIGMsIGQpIFZBTFVFUygzMCwgMTIzNDUsIDEwMCk7CistLVNFTEVDVCAqIEZST00gZ3Rl c3QyMWQgT1JERVIgQlkgYTsKKy0tRFJPUCBUQUJMRSBndGVzdDIxZDsKIC0tIG5vdC1udWxsIGNv bnN0cmFpbnQgd2l0aCBwYXJ0aXRpb25lZCB0YWJsZQogQ1JFQVRFIFRBQkxFIGd0ZXN0bm5fcGFy ZW50ICgKICAgICBmMSBpbnQsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9nZW5l cmF0ZWRfdmlydHVhbC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9nZW5lcmF0ZWRfdmlydHVh bC5zcWwKaW5kZXggOWUzZGM5OWM3MWQuLjBjYjE0ZWIwZTM2IDEwMDY0NAotLS0gYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC9nZW5lcmF0ZWRfdmlydHVhbC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvZ2VuZXJhdGVkX3ZpcnR1YWwuc3FsCkBAIC0zODAsNiArMzgwLDIxIEBAIElOU0VSVCBJ TlRPIGd0ZXN0MjFjIChhLCBjKSBWQUxVRVMgKDEwLCA0Mik7CiBTRUxFQ1QgYSwgYiwgYyBGUk9N IGd0ZXN0MjFjOwogRFJPUCBUQUJMRSBndGVzdDIxYzsKIAorLS0gdHJ5IGFkZGluZyBhIHZpcnR1 YWwgZ2VuZXJhdGVkIGNvbHVtbiB0byBhbiBleGlzdGluZyB0YWJsZSB3aXRoIHR1cGxlcywKKy0t IHRoZW4gdHJ5IGFkZGluZyBhbiBhdHRoYXNtaXNzaW5nIGNvbHVtbiBiZWZvcmUgYWRkaW5nIGEg bm9ybWFsIG51bGxhYmxlCistLSBjb2x1bW4uCitDUkVBVEUgVEFCTEUgZ3Rlc3QyMWQgKGEgaW50 IE5PVCBOVUxMKTsKK0lOU0VSVCBJTlRPIGd0ZXN0MjFkIChhKSBWQUxVRVMoMTApOworQUxURVIg VEFCTEUgZ3Rlc3QyMWQgQUREIENPTFVNTiBiIElOVCBHRU5FUkFURUQgQUxXQVlTIEFTIChhICog MTApIFZJUlRVQUwgTk9UIE5VTEw7CitTRUxFQ1QgKiBGUk9NIGd0ZXN0MjFkIE9SREVSIEJZIGE7 CitJTlNFUlQgSU5UTyBndGVzdDIxZCAoYSkgVkFMVUVTKDIwKTsKK0FMVEVSIFRBQkxFIGd0ZXN0 MjFkIEFERCBDT0xVTU4gYyBJTlQgTk9UIE5VTEwgREVGQVVMVCAxMjM0OworU0VMRUNUICogRlJP TSBndGVzdDIxZCBPUkRFUiBCWSBhOworQUxURVIgVEFCTEUgZ3Rlc3QyMWQgQUREIENPTFVNTiBk IElOVDsKK0lOU0VSVCBJTlRPIGd0ZXN0MjFkIChhLCBjLCBkKSBWQUxVRVMoMzAsIDEyMzQ1LCAx MDApOworU0VMRUNUICogRlJPTSBndGVzdDIxZCBPUkRFUiBCWSBhOworRFJPUCBUQUJMRSBndGVz dDIxZDsKKwogLS0gbm90LW51bGwgY29uc3RyYWludCB3aXRoIHBhcnRpdGlvbmVkIHRhYmxlCiBD UkVBVEUgVEFCTEUgZ3Rlc3Rubl9wYXJlbnQgKAogICAgIGYxIGludCwK --000000000000aeb79e0654814606--