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 1tGBhC-001PpD-FV for pgsql-hackers@arkaria.postgresql.org; Wed, 27 Nov 2024 06:38:42 +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 1tGBhB-00CQrc-1m for pgsql-hackers@arkaria.postgresql.org; Wed, 27 Nov 2024 06:38:41 +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.94.2) (envelope-from ) id 1tGBhA-00CQrU-LK for pgsql-hackers@lists.postgresql.org; Wed, 27 Nov 2024 06:38:40 +0000 Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1tGBh3-004HEv-Lm for pgsql-hackers@lists.postgresql.org; Wed, 27 Nov 2024 06:38:39 +0000 Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-2ffc86948dcso27443251fa.2 for ; Tue, 26 Nov 2024 22:38:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732689512; x=1733294312; 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=GmjOQWzW9IrBQoXQpgFkvr/XXchAUBO92DNEZfGnJao=; b=CsgZz1bRcIdekccjdDq+079nf5pLWzvMHAN3pZkfiCHdEWiJihO3qFKHrSEgGJDnTL 4hSjkqV0JYmEhyntBiJoihRBrxChcpDwrb2zonnqgmbYtYCCgJlveoHit5jPDbh5DVzO KFnsCXu/jLP86MUrcjYoLk16Vgn/ibtV5AT4LYpgMfkM0Gg5ouZc9njo1Abm2ddFrOIF jzPL10AsSe1IcqCVQNQ6lTY1rNFBbPpea/AINIi+XAKvjtcTNXHAq8ocOTFU2KQoMrEe Og420z3wreLjNytyPtUcJhqOeJe57+tgIElvkOTAuEf98D6Ehvf2/Z7+f8YBlU6+mezu k3Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732689512; x=1733294312; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GmjOQWzW9IrBQoXQpgFkvr/XXchAUBO92DNEZfGnJao=; b=aOl2AwN/npqni0Ip130ZRKLrdtuvFaQpRrisO94YYclKzjrLDKMVfaU/zpv7mngC9w geQV/C/3kikwkDuj8McOs5c6ed0lyi2QZhtQ4WrHYZSFu4M+ws4FGE3elaA3i+auZlSl NYWSg1JdC1jJKJyX7sGigKpP1iplYmEFhCHckZ8IoGin9NFY3KzIt/yEOcikDnRwtFxL taCAFnID1DiEmDhXlwX7552gpkLWGk/XNg5NmTfeCirdJSqf3sIeuHx86+uOGqIm0Ws+ RGPxQ7iOG9iW824cVJoR36dWD8JwedklHbPC8TDjKVbv+SwGMMvV30um6cLGXoGdOKdM JyUQ== X-Gm-Message-State: AOJu0Yzce1tIoCYlHTqPc3w7IROjOQhzjIzdQg1GAsk62kdgSOhDRBsm UAT9rNxE/TJxdvJCaQuaVkxSl2S6gcPQCRkhNZcLUpOBJs+OUwec41MzpcTvFhD5yJ5a2GXlMjX NP33Fvaa7UYgSDLUSGkxrmXYyujtVVCaIXE7B1Q== X-Gm-Gg: ASbGncszDt2JU6UTUnLYqNy9xPoPPcAqQee/CFwaekrOYDMWnJG1gKpkiLQ6WcYmLIG t023Ag+4CyxElntTybmqvRWLnjo4P X-Google-Smtp-Source: AGHT+IHL4wie7EVnFZNeH+CqAvsJueb/TVkrfR8XQK3MXow+i7bNmdcnZY+Xjz+emlgbsKxyuGa5cN0vmk++yoxsFyE= X-Received: by 2002:a2e:be25:0:b0:2ff:cf31:262b with SMTP id 38308e7fff4ca-2ffd5ff565emr5767111fa.7.1732689512167; Tue, 26 Nov 2024 22:38:32 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Kirill Reshke Date: Wed, 27 Nov 2024 11:38:20 +0500 Message-ID: Subject: Re: CREATE SCHEMA ... CREATE DOMAIN support To: jian he Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000e116e40627df36a9" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000e116e40627df36a9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 27 Nov 2024 at 08:42, jian he wrote: > > On Sat, Nov 23, 2024 at 1:19=E2=80=AFPM jian he wrote: > > > > I didn't add a doc entry. I will do it later. > hi > attached patch with thorough tests and documentation. > Hi! Thanks for pushing this further. > one issue i still have is: > CREATE SCHEMA regress_schema_2 AUTHORIZATION CURRENT_ROLE > create domain ss1 as ss > create domain ss as text; > ERROR: type "ss" does not exist > > the error message seems not that OK, > if we can point out the error position, that would be great. > like what we did with create schema create table: > > CREATE SCHEMA regress_schema_2 AUTHORIZATION CURRENT_ROLE > create table t(a int, b x); > ERROR: type "x" does not exist > LINE 2: create table t(a int, b x); > ^ To implement this, we need to include `ParseLoc location` to the `CreateDomainStmt` struct, which is doubtful, because I don't see any other type of create *something* that does this. `make check` on v3 runs successfully. Test & doc seems fine to me. PFA v4. The only change I made is for a commit message, and pg indent run on this diff. --=20 Best regards, Kirill Reshke --000000000000e116e40627df36a9 Content-Type: application/octet-stream; name="v4-0001-Extend-CREATE-SCHEMA-element-with-DOMAIN-support.patch" Content-Disposition: attachment; filename="v4-0001-Extend-CREATE-SCHEMA-element-with-DOMAIN-support.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m3zijeyt0 RnJvbSAzOTA1MTJjODdiZTYzODRlZDA3ZTk1YjFiOWQ3ZTc5NTYxMTUwOGRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMjcgTm92IDIwMjQgMTE6Mjc6NDAgKzA4MDAKU3ViamVjdDogW1BBVENIIHY0 XSBFeHRlbmQgQ1JFQVRFIFNDSEVNQSBlbGVtZW50IHdpdGggRE9NQUlOIHN1cHBvcnQuCgpTUUwg c3RhbmRhcnQgYWxsb3cgZG9tYWluIHRvIGJlIHNwZWNpZmllZCB3aXRoIENSRUFURSBTQ0hFTUEK c3RhdGVtZW50LiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBpbiBQb3N0Z3JlU1FMIGZvciB0aGF0 LgoKRm9yIGV4YW1wbGU6CiAgICBDUkVBVEUgU0NIRU1BIHNjaGVtYV9uYW1lIEFVVEhPUklaQVRJ T04gQ1VSUkVOVF9ST0xFCiAgICBjcmVhdGUgdmlldyB0ZXN0IGFzIHNlbGVjdCAnaGVsbG8nOjpz cyBhcyB0ZXN0CiAgICBDUkVBVEUgdGFibGUgdChhIHNzKQogICAgY3JlYXRlIGRvbWFpbiBzcyBh cyB0ZXh0IG5vdCBudWxsOwoKVGhlIGRvbWFpbiB3aWxsIGJlIGNyZWF0ZWQgd2l0aGluIHRoZSB0 byBiZSBjcmVhdGVkIHNjaGVtYS4KVGhlIGRvbWFpbiBuYW1lIGNhbiBiZSBzY2hlbWEtcXVhbGlm aWVkIG9yIGRhdGFiYXNlLXF1YWxpZmllZCwKaG93ZXZlciBpdCdzIG5vdCBhbGxvd2VkIHRvIGxl dCBkb21haW4gY3JlYXRlIHdpdGhpbiBhIGRpZmZlcmVudCBzY2hlbWEuCgpBdXRob3I6IEtpcmls bCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBnbWFpbC5jb20+CkF1dGhvcjogSmlhbiBIZSA8amlhbi51 bml2ZXJzYWxpdHlAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogQWx2YXJvIEhlcnJlcmEgPGFsdmhl cnJlQGFsdmgubm8taXAub3JnPgpSZXZpZXdlZC1ieTogVG9tIExhbmUgPHRnbEBzc3MucGdoLnBh LnVzPgoKZGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQUxkU1NQaDRqVVNEc1d1M0s1 OGhqTzYwd25UUlIwRHVPNENLUmN3YThFVnVPU2ZYeGclNDBtYWlsLmdtYWlsLmNvbQotLS0KIGRv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3NjaGVtYS5zZ21sICAgICAgICAgfCAgMiArLQogc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICB8ICAxICsKIHNyYy9iYWNrZW5k L3BhcnNlci9wYXJzZV91dGlsY21kLmMgICAgICAgICAgfCAyNyArKysrKysrKysrKwogc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfc2NoZW1hLm91dCB8IDUxICsrKysrKysrKysrKysr KysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3NjaGVtYS5zcWwgICAgICB8IDMz ICsrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zY2hlbWEuc2dt bCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3NjaGVtYS5zZ21sCmluZGV4IGVkNjkyOThjY2M2 Li4wNmY2MzE0YTViYiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc2NoZW1h LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc2NoZW1hLnNnbWwKQEAgLTEwMCw3 ICsxMDAsNyBAQCBDUkVBVEUgU0NIRU1BIElGIE5PVCBFWElTVFMgQVVUSE9SSVpBVElPTiA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cm9sZV9zcAogICAgICAgPGxpc3RpdGVtPgogICAg ICAgIDxwYXJhPgogICAgICAgICBBbiBTUUwgc3RhdGVtZW50IGRlZmluaW5nIGFuIG9iamVjdCB0 byBiZSBjcmVhdGVkIHdpdGhpbiB0aGUKLSAgICAgICAgc2NoZW1hLiBDdXJyZW50bHksIG9ubHkg PGNvbW1hbmQ+Q1JFQVRFCisgICAgICAgIHNjaGVtYS4gQ3VycmVudGx5LCBvbmx5IDxjb21tYW5k PkNSRUFURSBET01BSU48L2NvbW1hbmQ+LCA8Y29tbWFuZD5DUkVBVEUKICAgICAgICAgVEFCTEU8 L2NvbW1hbmQ+LCA8Y29tbWFuZD5DUkVBVEUgVklFVzwvY29tbWFuZD4sIDxjb21tYW5kPkNSRUFU RQogICAgICAgICBJTkRFWDwvY29tbWFuZD4sIDxjb21tYW5kPkNSRUFURSBTRVFVRU5DRTwvY29t bWFuZD4sIDxjb21tYW5kPkNSRUFURQogICAgICAgICBUUklHR0VSPC9jb21tYW5kPiBhbmQgPGNv bW1hbmQ+R1JBTlQ8L2NvbW1hbmQ+IGFyZSBhY2NlcHRlZCBhcyBjbGF1c2VzCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpp bmRleCA2N2ViOTYzOTZhZi4uYWQ4ZDkyNzBhY2MgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bh cnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMTU4NCw2ICsx NTg0LDcgQEAgc2NoZW1hX3N0bXQ6CiAJCQl8IENyZWF0ZVRyaWdTdG10CiAJCQl8IEdyYW50U3Rt dAogCQkJfCBWaWV3U3RtdAorCQkJfCBDcmVhdGVEb21haW5TdG10CiAJCTsKIAogCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jIGIvc3JjL2JhY2tlbmQvcGFy c2VyL3BhcnNlX3V0aWxjbWQuYwppbmRleCAwZjMyNGVlNGUzMS4uNDUzMjhlZWExNjggMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIvc3JjL2JhY2tl bmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwpAQCAtMTA1LDYgKzEwNSw3IEBAIHR5cGVkZWYgc3Ry dWN0CiAJTGlzdAkgICAqaW5kZXhlczsJCS8qIENSRUFURSBJTkRFWCBpdGVtcyAqLwogCUxpc3QJ ICAgKnRyaWdnZXJzOwkJLyogQ1JFQVRFIFRSSUdHRVIgaXRlbXMgKi8KIAlMaXN0CSAgICpncmFu dHM7CQkJLyogR1JBTlQgaXRlbXMgKi8KKwlMaXN0CSAgICpkb21haW5zOwkJLyogRE9NQUlOIGl0 ZW1zICovCiB9IENyZWF0ZVNjaGVtYVN0bXRDb250ZXh0OwogCiAKQEAgLTQwMzksNiArNDA0MCw3 IEBAIHRyYW5zZm9ybUNyZWF0ZVNjaGVtYVN0bXRFbGVtZW50cyhMaXN0ICpzY2hlbWFFbHRzLCBj b25zdCBjaGFyICpzY2hlbWFOYW1lKQogCWN4dC5pbmRleGVzID0gTklMOwogCWN4dC50cmlnZ2Vy cyA9IE5JTDsKIAljeHQuZ3JhbnRzID0gTklMOworCWN4dC5kb21haW5zID0gTklMOwogCiAJLyoK IAkgKiBSdW4gdGhyb3VnaCBlYWNoIHNjaGVtYSBlbGVtZW50IGluIHRoZSBzY2hlbWEgZWxlbWVu dCBsaXN0LiBTZXBhcmF0ZQpAQCAtNDEwNyw2ICs0MTA5LDMwIEBAIHRyYW5zZm9ybUNyZWF0ZVNj aGVtYVN0bXRFbGVtZW50cyhMaXN0ICpzY2hlbWFFbHRzLCBjb25zdCBjaGFyICpzY2hlbWFOYW1l KQogCQkJCWN4dC5ncmFudHMgPSBsYXBwZW5kKGN4dC5ncmFudHMsIGVsZW1lbnQpOwogCQkJCWJy ZWFrOwogCisJCQljYXNlIFRfQ3JlYXRlRG9tYWluU3RtdDoKKwkJCQl7CisJCQkJCUNyZWF0ZURv bWFpblN0bXQgKmVscCA9IChDcmVhdGVEb21haW5TdG10ICopIGVsZW1lbnQ7CisJCQkJCWNoYXIJ ICAgKmRvbWFpbl9zY2hlbWEgPSBOVUxMOworCisJCQkJCS8qCisJCQkJCSAqIERPTUFJTidzIHNj aGVtYSBtdXN0IHRoZSBzYW1lIGFzIHRoZSB0byBiZSBjcmVhdGVkCisJCQkJCSAqIHNjaGVtYSBp ZiBsZW5ndGggb2YgZG9tYWlubmFtZSA+IDMgd2lsbCBmYWlsIGF0CisJCQkJCSAqIERlY29uc3Ry dWN0UXVhbGlmaWVkTmFtZSwKKwkJCQkJICovCisJCQkJCWlmIChsaXN0X2xlbmd0aChlbHAtPmRv bWFpbm5hbWUpID09IDIpCisJCQkJCXsKKwkJCQkJCWRvbWFpbl9zY2hlbWEgPSBzdHJWYWwobGlz dF9udGgoZWxwLT5kb21haW5uYW1lLCAwKSk7CisJCQkJCQlzZXRTY2hlbWFOYW1lKGN4dC5zY2hl bWFuYW1lLCAmZG9tYWluX3NjaGVtYSk7CisJCQkJCX0KKwkJCQkJZWxzZSBpZiAobGlzdF9sZW5n dGgoZWxwLT5kb21haW5uYW1lKSA9PSAzKQorCQkJCQl7CisJCQkJCQlkb21haW5fc2NoZW1hID0g c3RyVmFsKGxpc3RfbnRoKGVscC0+ZG9tYWlubmFtZSwgMSkpOworCQkJCQkJc2V0U2NoZW1hTmFt ZShjeHQuc2NoZW1hbmFtZSwgJmRvbWFpbl9zY2hlbWEpOworCQkJCQl9CisJCQkJCWN4dC5kb21h aW5zID0gbGFwcGVuZChjeHQuZG9tYWlucywgZWxlbWVudCk7CisJCQkJfQorCQkJCWJyZWFrOwor CiAJCQlkZWZhdWx0OgogCQkJCWVsb2coRVJST1IsICJ1bnJlY29nbml6ZWQgbm9kZSB0eXBlOiAl ZCIsCiAJCQkJCSAoaW50KSBub2RlVGFnKGVsZW1lbnQpKTsKQEAgLTQxMTQsNiArNDE0MCw3IEBA IHRyYW5zZm9ybUNyZWF0ZVNjaGVtYVN0bXRFbGVtZW50cyhMaXN0ICpzY2hlbWFFbHRzLCBjb25z dCBjaGFyICpzY2hlbWFOYW1lKQogCX0KIAogCXJlc3VsdCA9IE5JTDsKKwlyZXN1bHQgPSBsaXN0 X2NvbmNhdChyZXN1bHQsIGN4dC5kb21haW5zKTsKIAlyZXN1bHQgPSBsaXN0X2NvbmNhdChyZXN1 bHQsIGN4dC5zZXF1ZW5jZXMpOwogCXJlc3VsdCA9IGxpc3RfY29uY2F0KHJlc3VsdCwgY3h0LnRh Ymxlcyk7CiAJcmVzdWx0ID0gbGlzdF9jb25jYXQocmVzdWx0LCBjeHQudmlld3MpOwpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfc2NoZW1hLm91dCBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQKaW5kZXggOTMzMDJhMDdlZmMu LmQyYjk3OTExY2M4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0 ZV9zY2hlbWEub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVt YS5vdXQKQEAgLTU4LDYgKzU4LDU3IEBAIENSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMSBB VVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQogICBFWEVDVVRFIEZVTkNUSU9OIHNjaGVtYV90cmln Lm5vX2Z1bmMoKTsKIEVSUk9SOiAgQ1JFQVRFIHNwZWNpZmllcyBhIHNjaGVtYSAoc2NoZW1hX25v dF9leGlzdGluZykgZGlmZmVyZW50IGZyb20gdGhlIG9uZSBiZWluZyBjcmVhdGVkIChyZWdyZXNz X3NjaGVtYV8xKQogUkVTRVQgUk9MRTsKKy0tIENhc2VzIHdoZXJlIHRoZSBzY2hlbWEgY3JlYXRp b24gd2l0aCBkb21haW4uCistLWZhaWwuIGNhbm5vdCBjcmVhdGUgZG9tYWluIHRvIG90aGVyIHNj aGVtYQorQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8yIEFVVEhPUklaQVRJT04gQ1VSUkVO VF9ST0xFCisgIGNyZWF0ZSB0YWJsZSB0KGEgc3MpCisgIGNyZWF0ZSBkb21haW4gcHVibGljLnNz IGFzIHRleHQgbm90IG51bGwgZGVmYXVsdCAnaGVsbG8nIGNvbnN0cmFpbnQgbm4gY2hlY2sgKHZh bHVlIDw+ICdoZWxsbycpOworRVJST1I6ICBDUkVBVEUgc3BlY2lmaWVzIGEgc2NoZW1hIChwdWJs aWMpIGRpZmZlcmVudCBmcm9tIHRoZSBvbmUgYmVpbmcgY3JlYXRlZCAocmVncmVzc19zY2hlbWFf MikKKy0tZmFpbC4gY2Fubm90IGNyZWF0ZSBkb21haW4gdG8gb3RoZXIgc2NoZW1hCitDUkVBVEUg U0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzIgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAgY3Jl YXRlIHRhYmxlIHQoYSBzcykKKyAgY3JlYXRlIGRvbWFpbiBwb3N0Z3Jlcy5wdWJsaWMuc3MgYXMg dGV4dCBub3QgbnVsbCBkZWZhdWx0ICdoZWxsbycgY29uc3RyYWludCBubiBjaGVjayAodmFsdWUg PD4gJ2hlbGxvJyk7CitFUlJPUjogIENSRUFURSBzcGVjaWZpZXMgYSBzY2hlbWEgKHB1YmxpYykg ZGlmZmVyZW50IGZyb20gdGhlIG9uZSBiZWluZyBjcmVhdGVkIChyZWdyZXNzX3NjaGVtYV8yKQor LS1mYWlsLiBmb3J3YXJkIHJlZmVyZW5jZXMsIG5lZWQgcmVvcmRlci4KK0NSRUFURSBTQ0hFTUEg cmVncmVzc19zY2hlbWFfMiBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQorICBjcmVhdGUgZG9t YWluIHNzMSBhcyBzcworICBjcmVhdGUgZG9tYWluIHNzIGFzIHRleHQ7CitFUlJPUjogIHR5cGUg InNzIiBkb2VzIG5vdCBleGlzdAorLS1vaywgcXVhbGlmaWVkIHNjaGVtYSBuYW1lIGZvciBkb21h aW4gc2hvdWxkIGJlIHNhbWUgYXMgdGhlIGNyZWF0ZWQgc2NoZW1hLgorQ1JFQVRFIFNDSEVNQSBy ZWdyZXNzX3NjaGVtYV8yIEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCisgIGNyZWF0ZSB0YWJs ZSB0KGEgcmVncmVzc19zY2hlbWFfMi5zcykKKyAgY3JlYXRlIGRvbWFpbiByZWdyZXNzX3NjaGVt YV8yLnNzIGFzIHRleHQgbm90IG51bGw7CitcZEQgcmVncmVzc19zY2hlbWFfMi4qCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZG9tYWlucworICAgICAgU2NoZW1hICAgICAg fCBOYW1lIHwgVHlwZSB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCB8IENoZWNrIAor LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLQorIHJlZ3Jlc3Nfc2NoZW1hXzIgfCBzcyAgIHwgdGV4dCB8ICAgICAg ICAgICB8IG5vdCBudWxsIHwgICAgICAgICB8IAorKDEgcm93KQorCistLW9rLCBubyBxdWFsaWZp ZWQgc2NoZW1hIG5hbWUgZm9yIGRvbWFpbi4KK0NSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFf MyBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQorICBjcmVhdGUgdmlldyB0ZXN0IGFzIHNlbGVj dCAnaGVsbG8nOjpzcyBhcyB0ZXN0CisgIGNyZWF0ZSB0YWJsZSB0KGEgc3MxKQorICBjcmVhdGUg ZG9tYWluIHNzIGFzIHRleHQgbm90IG51bGwKKyAgY3JlYXRlIGRvbWFpbiBzczEgYXMgc3M7Citc ZEQgcmVncmVzc19zY2hlbWFfMy4qCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMaXN0IG9mIGRvbWFpbnMKKyAgICAgIFNjaGVtYSAgICAgIHwgTmFtZSB8ICAgICAgICBUeXBl ICAgICAgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgfCBDaGVjayAKKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0KKyByZWdyZXNzX3NjaGVtYV8zIHwgc3MgICB8IHRl eHQgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfCBub3QgbnVsbCB8ICAgICAgICAgfCAKKyBy ZWdyZXNzX3NjaGVtYV8zIHwgc3MxICB8IHJlZ3Jlc3Nfc2NoZW1hXzMuc3MgfCAgICAgICAgICAg fCAgICAgICAgICB8ICAgICAgICAgfCAKKygyIHJvd3MpCisKK0RST1AgU0NIRU1BIHJlZ3Jlc3Nf c2NoZW1hXzIgQ0FTQ0FERTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gMiBvdGhlciBvYmpl Y3RzCitERVRBSUw6ICBkcm9wIGNhc2NhZGVzIHRvIHR5cGUgcmVncmVzc19zY2hlbWFfMi5zcwor ZHJvcCBjYXNjYWRlcyB0byB0YWJsZSByZWdyZXNzX3NjaGVtYV8yLnQKK0RST1AgU0NIRU1BIHJl Z3Jlc3Nfc2NoZW1hXzMgQ0FTQ0FERTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gNCBvdGhl ciBvYmplY3RzCitERVRBSUw6ICBkcm9wIGNhc2NhZGVzIHRvIHR5cGUgcmVncmVzc19zY2hlbWFf My5zcworZHJvcCBjYXNjYWRlcyB0byB0eXBlIHJlZ3Jlc3Nfc2NoZW1hXzMuc3MxCitkcm9wIGNh c2NhZGVzIHRvIHRhYmxlIHJlZ3Jlc3Nfc2NoZW1hXzMudAorZHJvcCBjYXNjYWRlcyB0byB2aWV3 IHJlZ3Jlc3Nfc2NoZW1hXzMudGVzdAogLS0gQ2FzZXMgd2hlcmUgdGhlIHNjaGVtYSBjcmVhdGlv biBzdWNjZWVkcy4KIC0tIFRoZSBzY2hlbWEgY3JlYXRlZCBtYXRjaGVzIHRoZSByb2xlIG5hbWUu CiBDUkVBVEUgU0NIRU1BIEFVVEhPUklaQVRJT04gcmVncmVzc19jcmVhdGVfc2NoZW1hX3JvbGUK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3NjaGVtYS5zcWwKaW5kZXggMWI3MDY0MjQ3YTEuLjQy MWFhYTQyNGUwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfc2NoZW1h LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfc2NoZW1hLnNxbApAQCAtNDcs NiArNDcsMzkgQEAgQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8xIEFVVEhPUklaQVRJT04g Q1VSUkVOVF9ST0xFCiAgIEVYRUNVVEUgRlVOQ1RJT04gc2NoZW1hX3RyaWcubm9fZnVuYygpOwog UkVTRVQgUk9MRTsKIAorLS0gQ2FzZXMgd2hlcmUgdGhlIHNjaGVtYSBjcmVhdGlvbiB3aXRoIGRv bWFpbi4KKworLS1mYWlsLiBjYW5ub3QgY3JlYXRlIGRvbWFpbiB0byBvdGhlciBzY2hlbWEKK0NS RUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMiBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQor ICBjcmVhdGUgdGFibGUgdChhIHNzKQorICBjcmVhdGUgZG9tYWluIHB1YmxpYy5zcyBhcyB0ZXh0 IG5vdCBudWxsIGRlZmF1bHQgJ2hlbGxvJyBjb25zdHJhaW50IG5uIGNoZWNrICh2YWx1ZSA8PiAn aGVsbG8nKTsKKy0tZmFpbC4gY2Fubm90IGNyZWF0ZSBkb21haW4gdG8gb3RoZXIgc2NoZW1hCitD UkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzIgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUK KyAgY3JlYXRlIHRhYmxlIHQoYSBzcykKKyAgY3JlYXRlIGRvbWFpbiBwb3N0Z3Jlcy5wdWJsaWMu c3MgYXMgdGV4dCBub3QgbnVsbCBkZWZhdWx0ICdoZWxsbycgY29uc3RyYWludCBubiBjaGVjayAo dmFsdWUgPD4gJ2hlbGxvJyk7CisKKy0tZmFpbC4gZm9yd2FyZCByZWZlcmVuY2VzLCBuZWVkIHJl b3JkZXIuCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzIgQVVUSE9SSVpBVElPTiBDVVJS RU5UX1JPTEUKKyAgY3JlYXRlIGRvbWFpbiBzczEgYXMgc3MKKyAgY3JlYXRlIGRvbWFpbiBzcyBh cyB0ZXh0OworCistLW9rLCBxdWFsaWZpZWQgc2NoZW1hIG5hbWUgZm9yIGRvbWFpbiBzaG91bGQg YmUgc2FtZSBhcyB0aGUgY3JlYXRlZCBzY2hlbWEuCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2No ZW1hXzIgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAgY3JlYXRlIHRhYmxlIHQoYSByZWdy ZXNzX3NjaGVtYV8yLnNzKQorICBjcmVhdGUgZG9tYWluIHJlZ3Jlc3Nfc2NoZW1hXzIuc3MgYXMg dGV4dCBub3QgbnVsbDsKK1xkRCByZWdyZXNzX3NjaGVtYV8yLioKKworLS1vaywgbm8gcXVhbGlm aWVkIHNjaGVtYSBuYW1lIGZvciBkb21haW4uCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1h XzMgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAgY3JlYXRlIHZpZXcgdGVzdCBhcyBzZWxl Y3QgJ2hlbGxvJzo6c3MgYXMgdGVzdAorICBjcmVhdGUgdGFibGUgdChhIHNzMSkKKyAgY3JlYXRl IGRvbWFpbiBzcyBhcyB0ZXh0IG5vdCBudWxsCisgIGNyZWF0ZSBkb21haW4gc3MxIGFzIHNzOwor XGREIHJlZ3Jlc3Nfc2NoZW1hXzMuKgorCitEUk9QIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8yIENB U0NBREU7CitEUk9QIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8zIENBU0NBREU7CisKIC0tIENhc2Vz IHdoZXJlIHRoZSBzY2hlbWEgY3JlYXRpb24gc3VjY2VlZHMuCiAtLSBUaGUgc2NoZW1hIGNyZWF0 ZWQgbWF0Y2hlcyB0aGUgcm9sZSBuYW1lLgogQ1JFQVRFIFNDSEVNQSBBVVRIT1JJWkFUSU9OIHJl Z3Jlc3NfY3JlYXRlX3NjaGVtYV9yb2xlCi0tIAoyLjM0LjEKCg== --000000000000e116e40627df36a9--