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 1uNMp2-000Oto-R5 for pgsql-hackers@arkaria.postgresql.org; Fri, 06 Jun 2025 02:28:44 +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 1uNMoz-001Rib-50 for pgsql-hackers@arkaria.postgresql.org; Fri, 06 Jun 2025 02:28: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 1uNMoy-001Rgk-Nv for pgsql-hackers@lists.postgresql.org; Fri, 06 Jun 2025 02:28:41 +0000 Received: from mail-vs1-xe2e.google.com ([2607:f8b0:4864:20::e2e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uNMox-000T0y-1S for pgsql-hackers@lists.postgresql.org; Fri, 06 Jun 2025 02:28:41 +0000 Received: by mail-vs1-xe2e.google.com with SMTP id ada2fe7eead31-4e75abe99b7so465833137.3 for ; Thu, 05 Jun 2025 19:28:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749176916; x=1749781716; 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=+WrgfViQgjvdcenZlUWbRfzisqhCX99ybmPwewfiZR8=; b=aavFFg6vsW3/2cZMbbxzceKeHJYduLwAEzZGYtuv/tOvWicxMjQJInAsX4GBUJ3/H/ tx9HvnYVPO7DMXZZoeSCgUD5V8QZgbEubaGO90OhukE6vK65D9mYsuQXDJ7AG//RPBtO mmCfqfyT7cyfBInoxsczsT9rbV9aRaAmpb2b8Wr1ahiqVQQ4ftq8yO+4ZZdnJepuJWPa KWKH0+7pHC8Qxa6E9Hd9PAlUVvOvmeE4GgTJk4NPTJHeIFchUd4hDdTO8aeTraAJPwco EMDRS4C2k308TwG9+pOa6m0bCcpjmusWXfJkIkLyveHT2ZtwwQ6JpWEJoUlaLcW1DFTk LbZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749176916; x=1749781716; 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=+WrgfViQgjvdcenZlUWbRfzisqhCX99ybmPwewfiZR8=; b=Ekj/1jVYVHWbkGkW/0LLLF2Wpy+A8GxVRjszwFgmChb4PAk7WOdMwvCJeKkYZgdprm pNZ/sXg5kzOx+mCny5y5aNRvJOHx5wnCLrBuasD+F8XwL36KKOtthkHlyH0zp9Y2S7ac 6qvduT2aPL7AHI0BM0TCBdOrtqoYqspXpRT8bvHfUPpRWOuVW47MJsRzFslFRgjookSl 1/sM8iOfcW5XCbKOT2kDcbkjzVdmPogIvh2UTa6W/MnYa9LTIBbDkrYVA+79AObxzAWt JkbP3Zvsw9WnfHFudBdZNFvBkx+6wdP9jjHt3g6+LcHy+PkJSs7Fzq7H8VaTmkv2ZcEA aBRg== X-Gm-Message-State: AOJu0Yw1gkut6rSh5t9qNgE0hxxDyWEOZ2zEfkACtjmTQNuZJHu0YNS1 OsDj4Mb5b05HgZAhaD/VJaY5GiRTzWMv3oDqZff7xgM/PuDOVoOD0XQKPPxn4gDa0rEGT4rbUVL 1XlJoFXdRe5OgALmu+8VcA1SaxFBimvweF/K3Ygulsg== X-Gm-Gg: ASbGncumgI6Rm3cjlOHHDoxphIu/X03BGesM7JeiDX1DSUpuxJMiblQSMqqcPP0Vglr fx65Q3D2IDLwAeyRlqAhfk90oeuslXJW/1iQwxG5r6pF79/j2Zm2bIr4Jcc9C7grpEI2IBBPly8 /N3i69c4SUQxhwiJjd4LlmWzcq/x9tNcDbaTpZ8ilz+F4fVwcrAEmHb1iiWhmc1CtemfcjrP+rz OM= X-Google-Smtp-Source: AGHT+IGvNUyX7hXQpTI5Spf+ezphi7ovS4HvG5F/llCKPcQQKqGIo0Xey+z4Rutghci+4NB4Qz7dxaPTtqHXf9v4cFc= X-Received: by 2002:a05:6102:4404:b0:4e6:dbbc:16d0 with SMTP id ada2fe7eead31-4e7728ff0ebmr1454144137.14.1749176916423; Thu, 05 Jun 2025 19:28:36 -0700 (PDT) MIME-Version: 1.0 References: <171085360143.2046436.7217841141682511557.pgcf@coridan.postgresql.org> <859476bf-3cb0-455e-b093-b8ab5ef17f0e@postgrespro.ru> <4e2764f7-f6be-478f-8d7f-f921dbd10f5f@postgrespro.ru> <7fdaf3e8-4c05-4739-bee6-98acc068d1c7@postgrespro.ru> <4433b492-9e97-4334-96d9-ddaaa5083099@postgrespro.ru> <67ecf5fb-e63d-4284-be75-d0479eef81aa@postgrespro.ru> In-Reply-To: From: jian he Date: Fri, 6 Jun 2025 10:28:00 +0800 X-Gm-Features: AX0GCFul8bsAN936Ldis97ZGOcy11gE8ietmzsgPgSvuX_qUe1rhFBGWaYfyv_c Message-ID: Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands To: Dmitry Koval Cc: pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="000000000000c0f1fb0636ddfc01" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c0f1fb0636ddfc01 Content-Type: text/plain; charset="UTF-8" hi. one more patch for regress tests. ALTER TABLE salespeople MERGE PARTITIONS (salespeople10_20, salespeople20_30, salespeople30_40) INTO salespeople10_40; the trigger on the merged partition will be dropped. For example, here, trigger on salespeople10_20 will be dropped. I am surprised that partition_merge.sql doesn't have much \d+ command. so I added two, which is necessary IMHO. --000000000000c0f1fb0636ddfc01 Content-Type: application/octet-stream; name="v40-0001-test-for-MERGE-PARTITION-TRIGGER.no-cfbot" Content-Disposition: attachment; filename="v40-0001-test-for-MERGE-PARTITION-TRIGGER.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mbk6qruc0 RnJvbSA2NWUzMDk2MmQ3ZDlhZGM3MmRlZDY4NDRiNDE4YThiZWQxODY1ZjFmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgNiBKdW4gMjAyNSAxMDoxNToxNCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjQw IDEvMV0gdGVzdCBmb3IgTUVSR0UgUEFSVElUSU9OIFRSSUdHRVIKCnRhYmxlIHByb3BlcnR5OiAo VFJJR0dFUikgcGFydGl0aW9uIGNhbiBkaWZmZXIgZnJvbSByb290IHBhcnRpdGlvbmVkIHRhYmxl LgoKV2hlbiB1c2luZyBBTFRFUiBUQUJMRSAuLi4gTUVSR0UgUEFSVElUSU9OUywgdGhlIG5ldyBw YXJ0aXRpb24ncyBwcm9wZXJ0aWVzIHdpbGwKbm90IGJlIGluaGVyaXRlZCBmcm9tIHRvIGJlIG1l cmdlZCBwYXJ0aXRpb25zOyBpbnN0ZWFkLCB0aGV5IHdpbGwgYmUgZGlyZWN0bHkKY29waWVkIGZy b20gdGhlIHJvb3QgcGFydGl0aW9uZWQgdGFibGUuCi0tLQogc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wYXJ0aXRpb25fbWVyZ2Uub3V0IHwgNDcgKysrKysrKysrKysrKysrKystLQogc3JjL3Rl c3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21lcmdlLnNxbCAgICAgIHwgMTQgKysrKy0tCiAyIGZp bGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uub3V0CmluZGV4IGU4NDI4YjU4NjRj Li5kOGFjMTc5NmZiNiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0 aXRpb25fbWVyZ2Uub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9u X21lcmdlLm91dApAQCAtNDMwLDE2ICs0MzAsNTUgQEAgQ1JFQVRFIFRSSUdHRVIgc2FsZXNwZW9w bGVfYWZ0ZXJfaW5zZXJ0X3Jvd190cmlnZ2VyCiAgICAgT04gc2FsZXNwZW9wbGUKICAgICBGT1Ig RUFDSCBST1cKICAgICBFWEVDVVRFIFBST0NFRFVSRSBhZnRlcl9pbnNlcnRfcm93X3RyaWdnZXIo J3NhbGVzcGVvcGxlJyk7Ci0tLSAyIHRyaWdnZXJzIHNob3VsZCBmaXJlIGhlcmUgKHJvdyArIHN0 YXRlbWVudCk6CitDUkVBVEUgVFJJR0dFUiBzYWxlc3Blb3BsZV9hZnRlcl9pbnNlcnRfcm93X3Ry aWdnZXIxMDIwCisgICAgQUZURVIgSU5TRVJUCisgICAgT04gc2FsZXNwZW9wbGUxMF8yMAorICAg IEZPUiBFQUNIIFJPVworICAgIEVYRUNVVEUgUFJPQ0VEVVJFIGFmdGVyX2luc2VydF9yb3dfdHJp Z2dlcignc2FsZXNwZW9wbGUxMF8yMCcpOworLS0gMyB0cmlnZ2VycyBzaG91bGQgZmlyZSBoZXJl IChyb3cgKyBzdGF0ZW1lbnQpOgogSU5TRVJUIElOVE8gc2FsZXNwZW9wbGUgVkFMVUVTICgxMCwg J01heScpOwogTk9USUNFOiAgdHJpZ2dlcihzYWxlc3Blb3BsZSkgY2FsbGVkOiBhY3Rpb24gPSBJ TlNFUlQsIHdoZW4gPSBBRlRFUiwgbGV2ZWwgPSBST1cKK05PVElDRTogIHRyaWdnZXIoc2FsZXNw ZW9wbGUxMF8yMCkgY2FsbGVkOiBhY3Rpb24gPSBJTlNFUlQsIHdoZW4gPSBBRlRFUiwgbGV2ZWwg PSBST1cKIE5PVElDRTogIHRyaWdnZXIoc2FsZXNwZW9wbGUpIGNhbGxlZDogYWN0aW9uID0gSU5T RVJULCB3aGVuID0gQUZURVIsIGxldmVsID0gU1RBVEVNRU5UCi0tLSAxIHRyaWdnZXIgc2hvdWxk IGZpcmUgaGVyZSAocm93KToKKy0tIDIgdHJpZ2dlciBzaG91bGQgZmlyZSBoZXJlIChyb3cpOgog SU5TRVJUIElOVE8gc2FsZXNwZW9wbGUxMF8yMCBWQUxVRVMgKDE5LCAnSXZhbm92Jyk7CiBOT1RJ Q0U6ICB0cmlnZ2VyKHNhbGVzcGVvcGxlKSBjYWxsZWQ6IGFjdGlvbiA9IElOU0VSVCwgd2hlbiA9 IEFGVEVSLCBsZXZlbCA9IFJPVworTk9USUNFOiAgdHJpZ2dlcihzYWxlc3Blb3BsZTEwXzIwKSBj YWxsZWQ6IGFjdGlvbiA9IElOU0VSVCwgd2hlbiA9IEFGVEVSLCBsZXZlbCA9IFJPVwogQUxURVIg VEFCTEUgc2FsZXNwZW9wbGUgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNwZW9wbGUxMF8yMCwgc2Fs ZXNwZW9wbGUyMF8zMCwgc2FsZXNwZW9wbGUzMF80MCkgSU5UTyBzYWxlc3Blb3BsZTEwXzQwOwor XGQrIHNhbGVzcGVvcGxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJ0aXRpb25l ZCB0YWJsZSAicGFydGl0aW9uc19tZXJnZV9zY2hlbWEuc2FsZXNwZW9wbGUiCisgICAgICBDb2x1 bW4gICAgICB8ICAgICAgICAgVHlwZSAgICAgICAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwg RGVmYXVsdCB8IFN0b3JhZ2UgIHwgU3RhdHMgdGFyZ2V0IHwgRGVzY3JpcHRpb24gCistLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgc2Fs ZXNwZXJzb25faWQgICB8IGludGVnZXIgICAgICAgICAgICAgICB8ICAgICAgICAgICB8IG5vdCBu dWxsIHwgICAgICAgICB8IHBsYWluICAgIHwgICAgICAgICAgICAgIHwgCisgc2FsZXNwZXJzb25f bmFtZSB8IGNoYXJhY3RlciB2YXJ5aW5nKDMwKSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAg ICAgICB8IGV4dGVuZGVkIHwgICAgICAgICAgICAgIHwgCitQYXJ0aXRpb24ga2V5OiBSQU5HRSAo c2FsZXNwZXJzb25faWQpCitJbmRleGVzOgorICAgICJzYWxlc3Blb3BsZV9wa2V5IiBQUklNQVJZ IEtFWSwgYnRyZWUgKHNhbGVzcGVyc29uX2lkKQorTm90LW51bGwgY29uc3RyYWludHM6CisgICAg InNhbGVzcGVvcGxlX3NhbGVzcGVyc29uX2lkX25vdF9udWxsIiBOT1QgTlVMTCAic2FsZXNwZXJz b25faWQiCitUcmlnZ2VyczoKKyAgICBzYWxlc3Blb3BsZV9hZnRlcl9pbnNlcnRfcm93X3RyaWdn ZXIgQUZURVIgSU5TRVJUIE9OIHNhbGVzcGVvcGxlIEZPUiBFQUNIIFJPVyBFWEVDVVRFIEZVTkNU SU9OIGFmdGVyX2luc2VydF9yb3dfdHJpZ2dlcignc2FsZXNwZW9wbGUnKQorICAgIHNhbGVzcGVv cGxlX2FmdGVyX2luc2VydF9zdGF0ZW1lbnRfdHJpZ2dlciBBRlRFUiBJTlNFUlQgT04gc2FsZXNw ZW9wbGUgRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgRlVOQ1RJT04gYWZ0ZXJfaW5zZXJ0X3Jv d190cmlnZ2VyKCdzYWxlc3Blb3BsZScpCitQYXJ0aXRpb25zOiBzYWxlc3Blb3BsZTAxXzEwIEZP UiBWQUxVRVMgRlJPTSAoMSkgVE8gKDEwKSwKKyAgICAgICAgICAgIHNhbGVzcGVvcGxlMTBfNDAg Rk9SIFZBTFVFUyBGUk9NICgxMCkgVE8gKDQwKQorCitcZCsgc2FsZXNwZW9wbGUxMF80MAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUgInBhcnRpdGlvbnNfbWVyZ2Vfc2No ZW1hLnNhbGVzcGVvcGxlMTBfNDAiCisgICAgICBDb2x1bW4gICAgICB8ICAgICAgICAgVHlwZSAg ICAgICAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCB8IFN0b3JhZ2UgIHwgU3Rh dHMgdGFyZ2V0IHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgc2FsZXNwZXJzb25faWQgICB8IGludGVnZXIg ICAgICAgICAgICAgICB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgICAgICAgICB8IHBsYWluICAg IHwgICAgICAgICAgICAgIHwgCisgc2FsZXNwZXJzb25fbmFtZSB8IGNoYXJhY3RlciB2YXJ5aW5n KDMwKSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8IGV4dGVuZGVkIHwgICAgICAg ICAgICAgIHwgCitQYXJ0aXRpb24gb2Y6IHNhbGVzcGVvcGxlIEZPUiBWQUxVRVMgRlJPTSAoMTAp IFRPICg0MCkKK1BhcnRpdGlvbiBjb25zdHJhaW50OiAoKHNhbGVzcGVyc29uX2lkIElTIE5PVCBO VUxMKSBBTkQgKHNhbGVzcGVyc29uX2lkID49IDEwKSBBTkQgKHNhbGVzcGVyc29uX2lkIDwgNDAp KQorSW5kZXhlczoKKyAgICAic2FsZXNwZW9wbGUxMF80MF9wa2V5IiBQUklNQVJZIEtFWSwgYnRy ZWUgKHNhbGVzcGVyc29uX2lkKQorTm90LW51bGwgY29uc3RyYWludHM6CisgICAgInNhbGVzcGVv cGxlX3NhbGVzcGVyc29uX2lkX25vdF9udWxsIiBOT1QgTlVMTCAic2FsZXNwZXJzb25faWQiIChp bmhlcml0ZWQpCitUcmlnZ2VyczoKKyAgICBzYWxlc3Blb3BsZV9hZnRlcl9pbnNlcnRfcm93X3Ry aWdnZXIgQUZURVIgSU5TRVJUIE9OIHNhbGVzcGVvcGxlMTBfNDAgRk9SIEVBQ0ggUk9XIEVYRUNV VEUgRlVOQ1RJT04gYWZ0ZXJfaW5zZXJ0X3Jvd190cmlnZ2VyKCdzYWxlc3Blb3BsZScpLCBPTiBU QUJMRSBzYWxlc3Blb3BsZQorCiAtLSAyIHRyaWdnZXJzIHNob3VsZCBmaXJlIGhlcmUgKHJvdyAr IHN0YXRlbWVudCk6Ci1JTlNFUlQgSU5UTyBzYWxlc3Blb3BsZSBWQUxVRVMgKDIwLCAnU21pcm5v ZmYnKTsKK0lOU0VSVCBJTlRPIHNhbGVzcGVvcGxlIFZBTFVFUyAoMTgsICdTbWlybm9mZicpOwog Tk9USUNFOiAgdHJpZ2dlcihzYWxlc3Blb3BsZSkgY2FsbGVkOiBhY3Rpb24gPSBJTlNFUlQsIHdo ZW4gPSBBRlRFUiwgbGV2ZWwgPSBST1cKIE5PVElDRTogIHRyaWdnZXIoc2FsZXNwZW9wbGUpIGNh bGxlZDogYWN0aW9uID0gSU5TRVJULCB3aGVuID0gQUZURVIsIGxldmVsID0gU1RBVEVNRU5UCiAt LSAxIHRyaWdnZXIgc2hvdWxkIGZpcmUgaGVyZSAocm93KToKQEAgLTQ1Niw3ICs0OTUsNyBAQCBT RUxFQ1QgKiBGUk9NIHNhbGVzcGVvcGxlMTBfNDA7CiAtLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLQogICAgICAgICAgICAgIDEwIHwgTWF5CiAgICAgICAgICAgICAgMTkgfCBJdmFu b3YKLSAgICAgICAgICAgICAyMCB8IFNtaXJub2ZmCisgICAgICAgICAgICAgMTggfCBTbWlybm9m ZgogICAgICAgICAgICAgIDMwIHwgRm9yZAogKDQgcm93cykKIApkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21lcmdlLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3BhcnRpdGlvbl9tZXJnZS5zcWwKaW5kZXggODYxYmQxODZiNTYuLjc2MzdlMzVlZTg5IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fbWVyZ2Uuc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwKQEAgLTI2MCwxNSArMjYwLDIz IEBAIENSRUFURSBUUklHR0VSIHNhbGVzcGVvcGxlX2FmdGVyX2luc2VydF9yb3dfdHJpZ2dlcgog ICAgIEZPUiBFQUNIIFJPVwogICAgIEVYRUNVVEUgUFJPQ0VEVVJFIGFmdGVyX2luc2VydF9yb3df dHJpZ2dlcignc2FsZXNwZW9wbGUnKTsKIAotLS0gMiB0cmlnZ2VycyBzaG91bGQgZmlyZSBoZXJl IChyb3cgKyBzdGF0ZW1lbnQpOgorQ1JFQVRFIFRSSUdHRVIgc2FsZXNwZW9wbGVfYWZ0ZXJfaW5z ZXJ0X3Jvd190cmlnZ2VyMTAyMAorICAgIEFGVEVSIElOU0VSVAorICAgIE9OIHNhbGVzcGVvcGxl MTBfMjAKKyAgICBGT1IgRUFDSCBST1cKKyAgICBFWEVDVVRFIFBST0NFRFVSRSBhZnRlcl9pbnNl cnRfcm93X3RyaWdnZXIoJ3NhbGVzcGVvcGxlMTBfMjAnKTsKKworLS0gMyB0cmlnZ2VycyBzaG91 bGQgZmlyZSBoZXJlIChyb3cgKyBzdGF0ZW1lbnQpOgogSU5TRVJUIElOVE8gc2FsZXNwZW9wbGUg VkFMVUVTICgxMCwgJ01heScpOwotLS0gMSB0cmlnZ2VyIHNob3VsZCBmaXJlIGhlcmUgKHJvdyk6 CistLSAyIHRyaWdnZXIgc2hvdWxkIGZpcmUgaGVyZSAocm93KToKIElOU0VSVCBJTlRPIHNhbGVz cGVvcGxlMTBfMjAgVkFMVUVTICgxOSwgJ0l2YW5vdicpOwogCiBBTFRFUiBUQUJMRSBzYWxlc3Bl b3BsZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc3Blb3BsZTEwXzIwLCBzYWxlc3Blb3BsZTIwXzMw LCBzYWxlc3Blb3BsZTMwXzQwKSBJTlRPIHNhbGVzcGVvcGxlMTBfNDA7CitcZCsgc2FsZXNwZW9w bGUKK1xkKyBzYWxlc3Blb3BsZTEwXzQwCiAKIC0tIDIgdHJpZ2dlcnMgc2hvdWxkIGZpcmUgaGVy ZSAocm93ICsgc3RhdGVtZW50KToKLUlOU0VSVCBJTlRPIHNhbGVzcGVvcGxlIFZBTFVFUyAoMjAs ICdTbWlybm9mZicpOworSU5TRVJUIElOVE8gc2FsZXNwZW9wbGUgVkFMVUVTICgxOCwgJ1NtaXJu b2ZmJyk7CiAtLSAxIHRyaWdnZXIgc2hvdWxkIGZpcmUgaGVyZSAocm93KToKIElOU0VSVCBJTlRP IHNhbGVzcGVvcGxlMTBfNDAgVkFMVUVTICgzMCwgJ0ZvcmQnKTsKIAotLSAKMi4zNC4xCgo= --000000000000c0f1fb0636ddfc01--