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 1tatWY-0068ws-GL for pgsql-hackers@arkaria.postgresql.org; Thu, 23 Jan 2025 09:29:19 +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 1tatWX-00CyH4-H8 for pgsql-hackers@arkaria.postgresql.org; Thu, 23 Jan 2025 09:29:17 +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 1tatWX-00CyGv-2j for pgsql-hackers@lists.postgresql.org; Thu, 23 Jan 2025 09:29:17 +0000 Received: from mail-ua1-x936.google.com ([2607:f8b0:4864:20::936]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tatWU-0013wg-0t for pgsql-hackers@postgresql.org; Thu, 23 Jan 2025 09:29:16 +0000 Received: by mail-ua1-x936.google.com with SMTP id a1e0cc1a2514c-85bc7d126b2so384593241.1 for ; Thu, 23 Jan 2025 01:29:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737624553; x=1738229353; darn=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=q38Znhl5uy0LohGBBbPh8bOoQwAzFp37viGApK1TvZY=; b=Ygs3uNi2FpW/5nCjHkJoTMQOhILD4BrN2fscjWX+hP0atPLvOnuJJb2Kt+AaxC3d0Q Pd/UfxbBOTOQSbOWFAaR/my9gY3B6jF1bchIWM5i323DuLthOpTz4CNPvsXsxuyrf++m /ZRlpB/qJVWOefWs6JKxwu2wGMm2dOq2H+4TZ/kBRApx0XcPJRYMRl2jF7q1MUo/d33x ybLrkb+jJYieIwp6eBcb9x3O9EkfW9hdhMJh9a8hSePcynCTBBjGYu/fqP+kPnWRx3AG Hvqo0SwAYMimy5R+Zky6BqORcqFMf5BAp1gJAA/tZg/gWVT2UKS8LL8IDAt8TAyEk680 h0ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737624553; x=1738229353; 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=q38Znhl5uy0LohGBBbPh8bOoQwAzFp37viGApK1TvZY=; b=Jp2Hj5ouoNe+bPEfeh24koMrbPSOU1IPUFbslzoHkLqK3GOOZpNuiXOFRk7XCWnnF+ HcZXLximkGb0v/9rhJL9c5pEReDLnUtNaeKVNeAwhaVXxXTbxIIeKjrhxfi4yXqGp68D TV+drdsNPnh6PS7wpjWtlJsxyt+hqNZLB9Bo38TzVATAPhC4hZXpdec7TZHHrWL8qn8k YwACeXH5hIjmK/kcmsvWl7bSFI/5Igik5jRpJf7bAMbcYgKgM+eH/1/lYuqBl72oKFAt pXo+x+UieFxjVdGPaXyRra4K+Eq0JS+EQs14qQUw4Ek5U8Y5GSo4K3EyIvcKIeoUVpZ9 hoqg== X-Forwarded-Encrypted: i=1; AJvYcCVyp9p1/PyI9t1jA7KJd1uVsWpR2gEyXyAsOmvNCSPFzEZiNWl2E93ObAjqbe9DKnxKCJN5duzKzXwDvPrP@postgresql.org X-Gm-Message-State: AOJu0YxGgdsJUTnYj2he7SBkwAZoyRPJvzz9lmDGbESMytx0oan9ozOA Zu52c3vJv8TiDzCnofLWTaIsSvc+sJbcWcnlPEDSgX+Y92DfJXkuaONg21+BiG5i+6tYhK6Nndl imQviZpo941HtumBCHvF1Wh1J6Lk= X-Gm-Gg: ASbGncttmzfRD9SQ9c/fUUi2Pa/v6UjOccX1wLayUE7e+62EaEpYwbrR2n8+OK3+1I3 PLKUorup4p7i0HgLMkVS2LkjzQvFRfLrJonCV0apzuI+7QqlNmW8ducWCspBPSdxSWQBEKTAav+ F2zlsIbJE+dW6CjnY= X-Google-Smtp-Source: AGHT+IGNRFS/wWNaTMeP+nU82VngPGNNQxVfdlqNmw1gQeQVJZmp7WWXIO/A8rxX2L49WgWqrN5wMp66aQx3WydkFGI= X-Received: by 2002:a05:6102:3712:b0:4b2:5ecf:d124 with SMTP id ada2fe7eead31-4b690be6db1mr20037728137.14.1737624552682; Thu, 23 Jan 2025 01:29:12 -0800 (PST) MIME-Version: 1.0 References: <202501110844.5ztsym4vbflm@alvherre.pgsql> In-Reply-To: From: jian he Date: Thu, 23 Jan 2025 17:28:36 +0800 X-Gm-Features: AWEUYZka2n8iDQVCrPEE_9jbwCLcWeIx0J0e1IGAEtlOeESwMBoW_c72lo95Lko Message-ID: Subject: Re: Non-text mode for pg_dumpall To: Mahendra Singh Thalor Cc: Alvaro Herrera , Guillaume Lelarge , Nathan Bossart , Magnus Hagander , Tom Lane , Andrew Dunstan , PostgreSQL-development , Dilip Kumar Content-Type: multipart/mixed; boundary="000000000000379f59062c5c3ee3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000379f59062c5c3ee3 Content-Type: text/plain; charset="UTF-8" hi. The four patches attached are to solve the TODO1: We need to think for --exclude-database=PATTERN for pg_restore. it is based on your v11_pg_dumpall-with-directory-tar-custom-format-21-jan.patch 0001. pg_dumpall --exclude-database=PATTERN already works, main function resolve pattern matching is expand_dbname_patterns. make it an extern function, so pg_restore --exclude-database can also use it. 0002 cosmetic code changes not in pg_restore.c 0003 cosmetic code changes in pg_restore.c 0004 fully implement pg_restore --exclude-database=PATTERN similar to pg_dumpall.c declare two file static variables: static SimpleStringList database_exclude_names = {NULL, NULL}; static SimpleStringList db_exclude_patterns = {NULL, NULL}; I also deleted the function is_full_pattern. I use $BIN10/pg_restore --exclude-database=*x* --exclude-database=*s* --exclude-database=*t* --verbose --file=test.sql x1.dump the verbose message to verify my changes. --000000000000379f59062c5c3ee3 Content-Type: application/octet-stream; name="v11-0002-minor-coesmetic-change-not-in-pg_restore.c.no-cfbot" Content-Disposition: attachment; filename="v11-0002-minor-coesmetic-change-not-in-pg_restore.c.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m694qt5x2 RnJvbSAwNTEyNGU1YzFkNjVhMDgyMmY4MjNiODk5MTI0MmU5Y2Y4OWJiNzU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMjMgSmFuIDIwMjUgMTU6Mjc6MzIgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx MSAyLzRdIG1pbm9yIGNvZXNtZXRpYyBjaGFuZ2Ugbm90IGluIHBnX3Jlc3RvcmUuYwoKLS0tCiBz cmMvYmluL3BnX2R1bXAvY29tbW9uX2R1bXBhbGxfcmVzdG9yZS5oIHwgOSArKysrLS0tLS0KIHNy Yy9iaW4vcGdfZHVtcC9wZ19kdW1wYWxsLmMgICAgICAgICAgICAgfCAyICstCiAyIGZpbGVzIGNo YW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMv YmluL3BnX2R1bXAvY29tbW9uX2R1bXBhbGxfcmVzdG9yZS5oIGIvc3JjL2Jpbi9wZ19kdW1wL2Nv bW1vbl9kdW1wYWxsX3Jlc3RvcmUuaAppbmRleCAyNDc2NDQ5ZmE3Li5hZmM4M2Q1YzcwIDEwMDY0 NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvY29tbW9uX2R1bXBhbGxfcmVzdG9yZS5oCisrKyBiL3Ny Yy9iaW4vcGdfZHVtcC9jb21tb25fZHVtcGFsbF9yZXN0b3JlLmgKQEAgLTE2LDExICsxNiwxMCBA QAogCiAjaW5jbHVkZSAicGdfYmFja3VwLmgiCiAKLWV4dGVybiBQR2Nvbm4gKmNvbm5lY3REYXRh YmFzZShjb25zdCBjaGFyICpkYm5hbWUsCi0JCWNvbnN0IGNoYXIgKmNvbm5lY3Rpb25fc3RyaW5n LCBjb25zdCBjaGFyICpwZ2hvc3QsCi0JCWNvbnN0IGNoYXIgKnBncG9ydCwgY29uc3QgY2hhciAq cGd1c2VyLAotCQl0cml2YWx1ZSBwcm9tcHRfcGFzc3dvcmQsIGJvb2wgZmFpbF9vbl9lcnJvciwK LQkJY29uc3QgY2hhciAqcHJvZ25hbWUsIGNvbnN0IGNoYXIgKipjb25uc3RyLCBpbnQgKnNlcnZl cl92ZXJzaW9uKTsKK2V4dGVybiBQR2Nvbm4gKmNvbm5lY3REYXRhYmFzZShjb25zdCBjaGFyICpk Ym5hbWUsIGNvbnN0IGNoYXIgKmNvbm5lY3Rpb25fc3RyaW5nLCBjb25zdCBjaGFyICpwZ2hvc3Qs CisJCQkJCQkJICAgY29uc3QgY2hhciAqcGdwb3J0LCBjb25zdCBjaGFyICpwZ3VzZXIsCisJCQkJ CQkJICAgdHJpdmFsdWUgcHJvbXB0X3Bhc3N3b3JkLCBib29sIGZhaWxfb25fZXJyb3IsCisJCQkJ CQkJICAgY29uc3QgY2hhciAqcHJvZ25hbWUsIGNvbnN0IGNoYXIgKipjb25uc3RyLCBpbnQgKnNl cnZlcl92ZXJzaW9uKTsKIGV4dGVybiAgUEdyZXN1bHQgKmV4ZWN1dGVRdWVyeShQR2Nvbm4gKmNv bm4sIGNvbnN0IGNoYXIgKnF1ZXJ5KTsKIGV4dGVybiBBcmNoaXZlRm9ybWF0IHBhcnNlRHVtcEZv cm1hdChjb25zdCBjaGFyICpmb3JtYXQpOwogZXh0ZXJuIHZvaWQgZXhwYW5kX2RibmFtZV9wYXR0 ZXJucyhQR2Nvbm4gKmNvbm4sCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcGFs bC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBhbGwuYwppbmRleCAyNDRiZjcyOTg2Li4xZTI5 NDkxMTliIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcGFsbC5jCisrKyBiL3Ny Yy9iaW4vcGdfZHVtcC9wZ19kdW1wYWxsLmMKQEAgLTY3MSw3ICs2NzEsNyBAQCBoZWxwKHZvaWQp CiAJcHJpbnRmKF8oIlxuR2VuZXJhbCBvcHRpb25zOlxuIikpOwogCXByaW50ZihfKCIgIC1mLCAt LWZpbGU9RklMRU5BTUUgICAgICAgICAgb3V0cHV0IGZpbGUgbmFtZVxuIikpOwogCXByaW50Zihf KCIgIC1GLCAtLWZvcm1hdD1jfGR8dHxwICAgICAgICAgb3V0cHV0IGZpbGUgZm9ybWF0IChjdXN0 b20sIGRpcmVjdG9yeSwgdGFyLFxuIgotCQkJIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGxhaW4gdGV4dCAoZGVmYXVsdCkpXG4iKSk7CisJCQkgIiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGxhaW4gdGV4dCAoZGVmYXVsdCkpXG4iKSk7CiAJcHJpbnRmKF8oIiAgLXYs IC0tdmVyYm9zZSAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIpKTsKIAlwcmludGYoXygi ICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9u LCB0aGVuIGV4aXRcbiIpKTsKIAlwcmludGYoXygiICAtLWxvY2std2FpdC10aW1lb3V0PVRJTUVP VVQgIGZhaWwgYWZ0ZXIgd2FpdGluZyBUSU1FT1VUIGZvciBhIHRhYmxlIGxvY2tcbiIpKTsKLS0g CjIuMzQuMQoK --000000000000379f59062c5c3ee3 Content-Type: application/octet-stream; name="v11-0004-preliminary-work-for-pg_restore-exclude-datab.no-cfbot" Content-Disposition: attachment; filename="v11-0004-preliminary-work-for-pg_restore-exclude-datab.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m694qt5m0 RnJvbSA3N2RmMWFhMTE0OTZiOGVmMGY5NTQ3MTQ0YWE1ZjVjOGFmNmY1ZTdjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMjMgSmFuIDIwMjUgMTc6MDM6NDAgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx MSA0LzRdIHByZWxpbWluYXJ5IHdvcmsgZm9yIHBnX3Jlc3RvcmUKIC0tZXhjbHVkZS1kYXRhYmFz ZT1QQVRURVJOCgotLS0KIHNyYy9iaW4vcGdfZHVtcC9wZ19yZXN0b3JlLmMgfCAxMjAgKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNlcnRp b25zKCspLCA5MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdf cmVzdG9yZS5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX3Jlc3RvcmUuYwppbmRleCBhNzE1NDQ4ZGNl Li4wYTFhN2MxZWNkIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCisr KyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19yZXN0b3JlLmMKQEAgLTcxLDkgKzcxLDYgQEAgdHlwZWRl ZiBzdHJ1Y3QgU2ltcGxlRGF0YWJhc2VPaWRMaXN0CiAJU2ltcGxlRGF0YWJhc2VPaWRMaXN0Q2Vs bCAqdGFpbDsKIH0gU2ltcGxlRGF0YWJhc2VPaWRMaXN0OwogCi1zdGF0aWMgdm9pZAotc2ltcGxl X2RiX29pZF9saXN0X2FwcGVuZChTaW1wbGVEYXRhYmFzZU9pZExpc3QgKmxpc3QsIE9pZCBkYl9v aWQsIGNvbnN0IGNoYXIgKmRibmFtZSk7Ci0KIHN0YXRpYyB2b2lkIHVzYWdlKGNvbnN0IGNoYXIg KnByb2duYW1lKTsKIHN0YXRpYyB2b2lkIHJlYWRfcmVzdG9yZV9maWx0ZXJzKGNvbnN0IGNoYXIg KmZpbGVuYW1lLCBSZXN0b3JlT3B0aW9ucyAqb3B0cyk7CiBzdGF0aWMgYm9vbCBJc0ZpbGVFeGlz dHNJbkRpcmVjdG9yeShjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKQEAg LTgxLDIyICs3OCwyMyBAQCBzdGF0aWMgYm9vbCByZXN0b3JlT25lRGF0YWJhc2UoY29uc3QgY2hh ciAqaW5wdXRGaWxlU3BlYywgUmVzdG9yZU9wdGlvbnMgKm9wdHMsCiAJCQkJCQkJICAgaW50IG51 bVdvcmtlcnMsIGJvb2wgYXBwZW5kX2RhdGEpOwogc3RhdGljIGludCBSZWFkT25lU3RhdGVtZW50 KFN0cmluZ0luZm8gaW5CdWYsIEZJTEUgKnBmaWxlKTsKIHN0YXRpYyBpbnQgcmVzdG9yZUFsbERh dGFiYXNlcyhQR2Nvbm4gKmNvbm4sIGNvbnN0IGNoYXIgKmR1bXBkaXJwYXRoLAotCVNpbXBsZVN0 cmluZ0xpc3QgZGJfZXhjbHVkZV9wYXR0ZXJucywgUmVzdG9yZU9wdGlvbnMgKm9wdHMsIGludCBu dW1Xb3JrZXJzKTsKKwkJCQkJCQkgICBSZXN0b3JlT3B0aW9ucyAqb3B0cywgaW50IG51bVdvcmtl cnMpOwogc3RhdGljIHZvaWQgZXhlY3V0ZV9nbG9iYWxfc3FsX2NvbW1hbmRzKFBHY29ubiAqY29u biwgY29uc3QgY2hhciAqZHVtcGRpcnBhdGgsCi0JCWNvbnN0IGNoYXIgKm91dGZpbGUpOwotc3Rh dGljIGludCBmaWx0ZXJfZGJuYW1lc19mb3JfcmVzdG9yZShQR2Nvbm4gKmNvbm4sCi0JCVNpbXBs ZURhdGFiYXNlT2lkTGlzdCAqZGJuYW1lX29pZF9saXN0LCBTaW1wbGVTdHJpbmdMaXN0IGRiX2V4 Y2x1ZGVfcGF0dGVybnMpOworCQkJCQkJCQkJCWNvbnN0IGNoYXIgKm91dGZpbGUpOworc3RhdGlj IGludCBmaWx0ZXJfZGJuYW1lc19mb3JfcmVzdG9yZShTaW1wbGVEYXRhYmFzZU9pZExpc3QgKmRi bmFtZV9vaWRfbGlzdCk7CiBzdGF0aWMgaW50IGdldF9kYm5hbWVfb2lkX2xpc3RfZnJvbV9tZmls ZShjb25zdCBjaGFyICpkdW1wZGlycGF0aCwKIAkJCQkJCQkJCQkgIFNpbXBsZURhdGFiYXNlT2lk TGlzdCAqZGJuYW1lX29pZF9saXN0KTsKIHN0YXRpYyB2b2lkIHNpbXBsZV9kYl9vaWRfbGlzdF9h cHBlbmQoU2ltcGxlRGF0YWJhc2VPaWRMaXN0ICpsaXN0LCBPaWQgZGJfb2lkLAogCQkJCQkJCQkJ ICBjb25zdCBjaGFyICpkYm5hbWUpOwotc3RhdGljIGJvb2wgaXNfZnVsbF9wYXR0ZXJuKFBHY29u biAqY29ubiwgY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpwdHJuKTsKIHN0YXRpYyB2b2lk IHNpbXBsZV9zdHJpbmdfZnVsbF9saXN0X2RlbGV0ZShTaW1wbGVTdHJpbmdMaXN0ICpsaXN0KTsK IHN0YXRpYyB2b2lkIHNpbXBsZV9kYl9vaWRfZnVsbF9saXN0X2RlbGV0ZShTaW1wbGVEYXRhYmFz ZU9pZExpc3QgKmxpc3QpOwogc3RhdGljIHZvaWQgc2ltcGxlX2RiX29pZF9saXN0X2RlbGV0ZShT aW1wbGVEYXRhYmFzZU9pZExpc3QgKmxpc3QsCiAJCQkJCQkJCQkgIFNpbXBsZURhdGFiYXNlT2lk TGlzdENlbGwgKmNlbGwsCiAJCQkJCQkJCQkgIFNpbXBsZURhdGFiYXNlT2lkTGlzdENlbGwgKnBy ZXYpOwogCitzdGF0aWMgU2ltcGxlU3RyaW5nTGlzdCBkYXRhYmFzZV9leGNsdWRlX25hbWVzID0g e05VTEwsIE5VTEx9Oworc3RhdGljIFNpbXBsZVN0cmluZ0xpc3QgZGJfZXhjbHVkZV9wYXR0ZXJu cyA9IHtOVUxMLCBOVUxMfTsKKwogaW50CiBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIHsK QEAgLTExOCw4ICsxMTYsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAlzdGF0aWMg aW50CXN0cmljdF9uYW1lcyA9IDA7CiAJYm9vbAkJZGF0YV9vbmx5ID0gZmFsc2U7CiAJYm9vbAkJ c2NoZW1hX29ubHkgPSBmYWxzZTsKLQlTaW1wbGVTdHJpbmdMaXN0ICAgIGRiX2V4Y2x1ZGVfcGF0 dGVybnMgPSB7TlVMTCwgTlVMTH07Ci0JYm9vbAkJCQlnbG9iYWxzX29ubHkgPSBmYWxzZTsKKwli b29sCQlnbG9iYWxzX29ubHkgPSBmYWxzZTsKIAogCXN0cnVjdCBvcHRpb24gY21kb3B0c1tdID0g ewogCQl7ImNsZWFuIiwgMCwgTlVMTCwgJ2MnfSwKQEAgLTQ5MSw4ICs0ODgsNyBAQCBtYWluKGlu dCBhcmdjLCBjaGFyICoqYXJndikKIAkJCWVsc2UKIAkJCXsKIAkJCQkvKiBOb3cgcmVzdG9yZSBh bGwgdGhlIGRhdGFiYXNlcyBmcm9tIG1hcC5kYXQgZmlsZS4gKi8KLQkJCQlleGl0X2NvZGUgPSBy ZXN0b3JlQWxsRGF0YWJhc2VzKGNvbm4sIGlucHV0RmlsZVNwZWMsIGRiX2V4Y2x1ZGVfcGF0dGVy bnMsCi0JCQkJCQlvcHRzLCBudW1Xb3JrZXJzKTsKKwkJCQlleGl0X2NvZGUgPSByZXN0b3JlQWxs RGF0YWJhc2VzKGNvbm4sIGlucHV0RmlsZVNwZWMsIG9wdHMsIG51bVdvcmtlcnMpOwogCQkJfQog CiAJCQkvKiBGcmVlIGRiIHBhdHRlcm4gbGlzdC4gKi8KQEAgLTc5OCwxNCArNzk0LDEzIEBAIFJl YWRPbmVTdGF0ZW1lbnQoU3RyaW5nSW5mbyBpbkJ1ZiwgRklMRSAqcGZpbGUpCiAvKgogICogZmls dGVyX2RibmFtZXNfZm9yX3Jlc3RvcmUKICAqCi0gKiBUaGlzIHdpbGwgcmVtb3ZlIG5hbWVzIGZy b20gYWxsIGRibGlzdCB0aGF0IGFyZSBnaXZlbiB3aXRoIGV4Y2x1ZGUtZGF0YWJhc2UKLSAqIG9w dGlvbi4KKyAqIFRoaXMgd2lsbCByZW1vdmUgZGF0YWJhc2UgZW50cmllcyBmcm9tIGRibmFtZV9v aWRfbGlzdCB0aGF0IGFyZSBtYXRjaGluZyB3aXRoIC0tZXhjbHVkZS1kYXRhYmFzZQorICogcGF0 dGVybi4KICAqCi0gKiByZXR1cm5zIG51bWJlciBvZiBkYm5hbWVzIHRob3NlIHdpbGwgYmUgcmVz dG9yZWQuCisgKiByZXR1cm5zIG51bWJlciBvZiBkYXRhYmFzZXMgdGhhdCB3aWxsIGJlIHJlc3Rv cmVkLgogICovCiBzdGF0aWMgaW50Ci1maWx0ZXJfZGJuYW1lc19mb3JfcmVzdG9yZShQR2Nvbm4g KmNvbm4sIFNpbXBsZURhdGFiYXNlT2lkTGlzdCAqZGJuYW1lX29pZF9saXN0LAotCQlTaW1wbGVT dHJpbmdMaXN0IGRiX2V4Y2x1ZGVfcGF0dGVybnMpCitmaWx0ZXJfZGJuYW1lc19mb3JfcmVzdG9y ZShTaW1wbGVEYXRhYmFzZU9pZExpc3QgKmRibmFtZV9vaWRfbGlzdCkKIHsKIAlTaW1wbGVEYXRh YmFzZU9pZExpc3RDZWxsCSpkYm9pZF9jZWxsID0gZGJuYW1lX29pZF9saXN0LT5oZWFkOwogCVNp bXBsZURhdGFiYXNlT2lkTGlzdENlbGwJKmRib2lkcHJlY2VsbCA9IE5VTEw7CkBAIC04MjIsMTAg KzgxNyw5IEBAIGZpbHRlcl9kYm5hbWVzX2Zvcl9yZXN0b3JlKFBHY29ubiAqY29ubiwgU2ltcGxl RGF0YWJhc2VPaWRMaXN0ICpkYm5hbWVfb2lkX2xpc3QsCiAJCVNpbXBsZURhdGFiYXNlT2lkTGlz dENlbGwJKm5leHQgPSBkYm9pZF9jZWxsLT5uZXh0OwogCiAJCS8qIE5vdyBtYXRjaCB0aGlzIGRi bmFtZSB3aXRoIGV4Y2x1ZGUtZGF0YWJhc2UgbGlzdC4gKi8KLQkJZm9yIChTaW1wbGVTdHJpbmdM aXN0Q2VsbCAqY2VsbGRiID0gZGJfZXhjbHVkZV9wYXR0ZXJucy5oZWFkOyBjZWxsZGI7IGNlbGxk YiA9IGNlbGxkYi0+bmV4dCkKKwkJZm9yIChTaW1wbGVTdHJpbmdMaXN0Q2VsbCAqY2VsbGRiID0g ZGF0YWJhc2VfZXhjbHVkZV9uYW1lcy5oZWFkOyBjZWxsZGI7IGNlbGxkYiA9IGNlbGxkYi0+bmV4 dCkKIAkJewotCQkJaWYgKChjb25uICYmIGlzX2Z1bGxfcGF0dGVybihjb25uLCBkYm9pZF9jZWxs LT5kYl9uYW1lLCBjZWxsZGItPnZhbCkpIHx8Ci0JCQkJCSghY29ubiAmJiBwZ19zdHJjYXNlY21w KGRib2lkX2NlbGwtPmRiX25hbWUsIGNlbGxkYi0+dmFsKSA9PSAwKSkKKwkJCWlmIChwZ19zdHJj YXNlY21wKGRib2lkX2NlbGwtPmRiX25hbWUsIGNlbGxkYi0+dmFsKSA9PSAwKQogCQkJewogCQkJ CS8qCiAJCQkJICogQXMgd2UgbmVlZCB0byBza2lwIHRoaXMgZGJuYW1lIHNvIHNldCBmbGFnIHRv IHJlbW92ZSBpdCBmcm9tCkBAIC05MzcsOSArOTMxLDEzIEBAIGdldF9kYm5hbWVfb2lkX2xpc3Rf ZnJvbV9tZmlsZShjb25zdCBjaGFyICpkdW1wZGlycGF0aCwgU2ltcGxlRGF0YWJhc2VPaWRMaXN0 ICpkCiAgKi8KIHN0YXRpYyBpbnQKIHJlc3RvcmVBbGxEYXRhYmFzZXMoUEdjb25uICpjb25uLCBj b25zdCBjaGFyICpkdW1wZGlycGF0aCwKLQkJU2ltcGxlU3RyaW5nTGlzdCBkYl9leGNsdWRlX3Bh dHRlcm5zLCBSZXN0b3JlT3B0aW9ucyAqb3B0cywKLQkJaW50IG51bVdvcmtlcnMpCisJCQkJCVJl c3RvcmVPcHRpb25zICpvcHRzLCBpbnQgbnVtV29ya2VycykKIHsKKwkvKgorCSAqIGRibmFtZV9v aWRfbGlzdCBpbml0aWFsbHkgc3RvcmVzIGFsbCB0aGUgZGF0YWJhc2VzIHRvIGJlIHJlc3RvcmVk IGZyb20KKwkgKiB0aGUgbWFwLmRhdCBmaWxlLiAgSXQgdGhlbiBmaWx0ZXJzIG91dCBhbnkgZGF0 YWJhc2VzIHRoYXQgbWF0Y2ggdGhlCisJICogLS1leGNsdWRlLWRhdGFiYXNlIHBhdHRlcm4uCisJ Ki8KIAlTaW1wbGVEYXRhYmFzZU9pZExpc3QJCQlkYm5hbWVfb2lkX2xpc3QgPSB7TlVMTCwgTlVM TH07CiAJU2ltcGxlRGF0YWJhc2VPaWRMaXN0Q2VsbAkJKmRib2lkX2NlbGw7CiAJaW50CQkJCQkJ CQlleGl0X2NvZGUgPSAwOwpAQCAtOTQ4LDEyICs5NDYsMTEgQEAgcmVzdG9yZUFsbERhdGFiYXNl cyhQR2Nvbm4gKmNvbm4sIGNvbnN0IGNoYXIgKmR1bXBkaXJwYXRoLAogCiAJbnVtX3RvdGFsX2Ri ID0gZ2V0X2RibmFtZV9vaWRfbGlzdF9mcm9tX21maWxlKGR1bXBkaXJwYXRoLCAmZGJuYW1lX29p ZF9saXN0KTsKIAorCXBnX2xvZ19pbmZvKCJmb3VuZCB0b3RhbCAlZCBkYXRhYmFzZSBpbiBtYXAu ZGF0IGZpbGUiLCBudW1fdG90YWxfZGIpOwogCS8qIElmIG1hcC5kYXQgaGFzIG5vIGVudHJ5LCBy ZXR1cm4gZnJvbSBoZXJlLiAqLwogCWlmIChkYm5hbWVfb2lkX2xpc3QuaGVhZCA9PSBOVUxMKQog CQlyZXR1cm4gMDsKIAotCXBnX2xvZ19pbmZvKCJmb3VuZCB0b3RhbCAlZCBkYXRhYmFzZSBuYW1l cyBpbiBtYXAuZGF0IGZpbGUiLCBudW1fdG90YWxfZGIpOwotCiAJaWYgKCFjb25uKQogCXsKIAkJ cGdfbG9nX2luZm8oInRyeWluZyB0byBjb25uZWN0IGRhdGFiYXNlIFwicG9zdGdyZXNcIiAgdG8g ZHVtcCBpbnRvIG91dCBmaWxlIik7CkBAIC05ODIsMTggKzk3OSwxNyBAQCByZXN0b3JlQWxsRGF0 YWJhc2VzKFBHY29ubiAqY29ubiwgY29uc3QgY2hhciAqZHVtcGRpcnBhdGgsCiAJICogU2tpcCBh bnkgZXhwbGljaXRseSBleGNsdWRlZCBkYXRhYmFzZS4gIElmIHRoZXJlIGlzIG5vIGRhdGFiYXNl CiAJICogY29ubmVjdGlvbiwgdGhlbiBqdXN0IGNvbnNpZGVyIHBhdHRlcm4gYXMgc2ltcGxlIG5h bWUgdG8gY29tcGFyZS4KIAkgKi8KLQludW1fZGJfcmVzdG9yZSA9IGZpbHRlcl9kYm5hbWVzX2Zv cl9yZXN0b3JlKGNvbm4sICZkYm5hbWVfb2lkX2xpc3QsCi0JCQlkYl9leGNsdWRlX3BhdHRlcm5z KTsKKwlleHBhbmRfZGJuYW1lX3BhdHRlcm5zKGNvbm4sICZkYl9leGNsdWRlX3BhdHRlcm5zLCAm ZGF0YWJhc2VfZXhjbHVkZV9uYW1lcyk7CisJbnVtX2RiX3Jlc3RvcmUgPSBmaWx0ZXJfZGJuYW1l c19mb3JfcmVzdG9yZSgmZGJuYW1lX29pZF9saXN0KTsKIAogCS8qIENsb3NlIHRoZSBkYiBjb25u ZWN0aW9uIGFzIHdlIGFyZSBkb25lIGdsb2JhbHMgYW5kIHBhdHRlcm5zLiAqLwogCWlmIChjb25u KQogCQlQUWZpbmlzaChjb25uKTsKIAotCS8qIEV4aXQgaWYgbm8gZGIgbmVlZHMgdG8gYmUgcmVz dG9yZWQuICovCi0JaWYgKGRibmFtZV9vaWRfbGlzdC5oZWFkID09IE5VTEwpCi0JCXJldHVybiAw OwotCiAJcGdfbG9nX2luZm8oIm5lZWRzIHRvIHJlc3RvcmUgJWQgZGF0YWJhc2VzIG91dCBvZiAl ZCBkYXRhYmFzZXMiLCBudW1fZGJfcmVzdG9yZSwgbnVtX3RvdGFsX2RiKTsKKwkvKiBFeGl0IGlm IG5vIGRiIG5lZWRzIHRvIGJlIHJlc3RvcmVkLiAqLworCWlmIChudW1fZGJfcmVzdG9yZSA9PSAw KQorCQlyZXR1cm4gMDsKIAogCS8qCiAJICogVG8gcmVzdG9yZSBtdWx0aXBsZSBkYXRhYmFzZXMs IC1DIChjcmVhdGUgZGF0YWJhc2UpIG9wdGlvbiBzaG91bGQgYmUgc3BlY2lmaWVkCkBAIC0xMDA2 LDcgKzEwMDIsNyBAQCByZXN0b3JlQWxsRGF0YWJhc2VzKFBHY29ubiAqY29ubiwgY29uc3QgY2hh ciAqZHVtcGRpcnBhdGgsCiAJaWYgKG51bV9kYl9yZXN0b3JlID4gMTAwKQogCXsKIAkJc2ltcGxl X2RiX29pZF9mdWxsX2xpc3RfZGVsZXRlKCZkYm5hbWVfb2lkX2xpc3QpOwotCQlwZ19mYXRhbCgi Y291bmQgbm90IHJlc3RvcmUgbW9yZSB0aGFuIDEwMCBkYXRhYmFzZXMgYnkgc2luZ2xlIHBnX3Jl c3RvcmUsIGhlcmUgdG90YWwgZGI6JWQiLCBudW1fZGJfcmVzdG9yZSk7CisJCXBnX2ZhdGFsKCJj b3VuZCBub3QgcmVzdG9yZSBtb3JlIHRoYW4gMTAwIGRhdGFiYXNlcyBieSBzaW5nbGUgcGdfcmVz dG9yZSwgaGVyZSB0b3RhbCBkYXRhYmFzZXM6JWQiLCBudW1fZGJfcmVzdG9yZSk7CiAJfQogCiAJ LyoKQEAgLTEwNDIsMTIgKzEwMzgsOSBAQCByZXN0b3JlQWxsRGF0YWJhc2VzKFBHY29ubiAqY29u biwgY29uc3QgY2hhciAqZHVtcGRpcnBhdGgsCiAJCQlleGl0X2NvZGUgPSBkYmV4aXRfY29kZTsK IAogCQlkYm9pZF9jZWxsID0gZGJvaWRfY2VsbC0+bmV4dDsKLQl9IC8qIGVuZCB3aGlsZSAqLwor CX0KIAotCS8qIExvZyBudW1iZXIgb2YgcHJvY2Vzc2VkIGRhdGFiYXNlcy4qLwotCXBnX2xvZ19p bmZvKCJudW1iZXIgb2YgcmVzdG9yZWQgZGF0YWJhc2VzIGFyZSAlZCIsIG51bV9kYl9yZXN0b3Jl KTsKLQotCS8qIEZyZWUgZGJuYW1lIGFuZCBkYm9pZCBsaXN0LiAqLworCS8qIEZyZWUgZGJuYW1l X29pZF9saXN0ICovCiAJc2ltcGxlX2RiX29pZF9mdWxsX2xpc3RfZGVsZXRlKCZkYm5hbWVfb2lk X2xpc3QpOwogCiAJcmV0dXJuIGV4aXRfY29kZTsKQEAgLTEyMTgsNTggKzEyMTEsMyBAQCBzaW1w bGVfZGJfb2lkX2xpc3RfZGVsZXRlKFNpbXBsZURhdGFiYXNlT2lkTGlzdCAqbGlzdCwgU2ltcGxl RGF0YWJhc2VPaWRMaXN0Q2VsbAogCQlwZnJlZShjZWxsKTsKIAl9CiB9Ci0KLS8qCi0gKiBpc19m dWxsX3BhdHRlcm4KLSAqCi0gKiBUaGlzIHVzZXMgc3Vic3RyaW5nIGZ1bmN0aW9uIHRvIG1ha2Ug MXN0IHN0cmluZyBmcm9tIHBhdHRlcm4uCi0gKiBPdXRzdHJpbmcgb2Ygc3Vic3RyaW5nIGZ1bmN0 aW9uIGlzIGNvbXBhcmVkIHdpdGggMXN0IHN0cmluZyB0bwotICogdmFsaWRhdGUgdGhpcyBwYXR0 ZXJuLgotICoKLSAqIFJldHVybnMgdHJ1ZSBpZiAxc3Qgc3RyaW5nIGNhbiBiZSBjb25zdHJ1Y3Rl ZCBmcm9tIGdpdmVuIHBhdHRlcm4uCi0gKgotICovCi1zdGF0aWMgYm9vbAotaXNfZnVsbF9wYXR0 ZXJuKFBHY29ubiAqY29ubiwgY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpwdHJuKQotewot CVBRRXhwQnVmZmVyCQlxdWVyeTsKLQlQR3Jlc3VsdAkJKnJlc3VsdDsKLQotCXF1ZXJ5ID0gY3Jl YXRlUFFFeHBCdWZmZXIoKTsKLQotCXByaW50ZlBRRXhwQnVmZmVyKHF1ZXJ5LAotCQkJIlNFTEVD VCBzdWJzdHJpbmcgKCAiCi0JCQkiICclcycgLCAiCi0JCQkiICclcycgKSAiLCBzdHIsIHB0cm4p OwotCi0gICByZXN1bHQgPSBleGVjdXRlUXVlcnkoY29ubiwgcXVlcnktPmRhdGEpOwotCi0JaWYg KFBRcmVzdWx0U3RhdHVzKHJlc3VsdCkgPT0gUEdSRVNfVFVQTEVTX09LKQotCXsKLQkJaWYgKFBR bnR1cGxlcyhyZXN1bHQpID09IDEpCi0JCXsKLQkJCWNvbnN0IGNoYXIJKm91dHN0ciA9IE5VTEw7 Ci0KLQkJCS8qCi0JCQkgKiBJZiBvdXRwdXQgc3RyaW5nIG9mIHN1YnN0cmluZyBmdW5jdGlvbiBp cyBtYXRjaGVzIHdpdGggc3RyLCB0aGVuCi0JCQkgKiB3ZSBjYW4gY29uc3RydWN0IHN0ciBmcm9t IHBhdHRlcm4uCi0JCQkgKi8KLQkJCWlmICghUFFnZXRpc251bGwocmVzdWx0LCAwLCAwKSkKLQkJ CQlvdXRzdHIgPSBQUWdldHZhbHVlKHJlc3VsdCwgMCwgMCk7Ci0KLQkJCWlmIChvdXRzdHIgJiYg cGdfc3RyY2FzZWNtcChvdXRzdHIsIHN0cikgPT0gMCkKLQkJCXsKLQkJCQlQUWNsZWFyKHJlc3Vs dCk7Ci0JCQkJZGVzdHJveVBRRXhwQnVmZmVyKHF1ZXJ5KTsKLQkJCQlyZXR1cm4gdHJ1ZTsKLQkJ CX0KLQkJfQotCX0KLQllbHNlCi0JCXBnX2xvZ19lcnJvcigiY291bGQgbm90IGV4ZWN1dGUgcXVl cnk6IFwiJXNcIiBcbkNvbW1hbmQgd2FzOiBcIiVzXCIiLCBQUWVycm9yTWVzc2FnZShjb25uKSwg cXVlcnktPmRhdGEpOwotCi0JUFFjbGVhcihyZXN1bHQpOwotCWRlc3Ryb3lQUUV4cEJ1ZmZlcihx dWVyeSk7Ci0KLQlyZXR1cm4gZmFsc2U7Ci19Ci0tIAoyLjM0LjEKCg== --000000000000379f59062c5c3ee3 Content-Type: application/octet-stream; name="v11-0001-move-expand_dbname_patterns-to-common_dumpall.no-cfbot" Content-Disposition: attachment; filename="v11-0001-move-expand_dbname_patterns-to-common_dumpall.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m694qt603 RnJvbSBiNjZjNWIzNDFmZmY0NjNjMDMzMTJmMDMxN2UyYjgyOGU5YTJkOGRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMjMgSmFuIDIwMjUgMTU6MTE6NTUgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx MSAxLzRdIG1vdmUgZXhwYW5kX2RibmFtZV9wYXR0ZXJucyB0bwogY29tbW9uX2R1bXBhbGxfcmVz dG9yZS5jCgotLS0KIHNyYy9iaW4vcGdfZHVtcC9jb21tb25fZHVtcGFsbF9yZXN0b3JlLmMgfCA1 NCArKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9iaW4vcGdfZHVtcC9jb21tb25fZHVtcGFs bF9yZXN0b3JlLmggfCAgMyArKwogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyAgICAgICAgICAg ICAgICB8ICAyICstCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcGFsbC5jICAgICAgICAgICAgIHwg NTQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlv bnMoKyksIDU1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9jb21t b25fZHVtcGFsbF9yZXN0b3JlLmMgYi9zcmMvYmluL3BnX2R1bXAvY29tbW9uX2R1bXBhbGxfcmVz dG9yZS5jCmluZGV4IGFjZTUwNzcwODUuLjQ1MDNhOThmMjUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cGdfZHVtcC9jb21tb25fZHVtcGFsbF9yZXN0b3JlLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL2Nv bW1vbl9kdW1wYWxsX3Jlc3RvcmUuYwpAQCAtMzEyLDMgKzMxMiw1NyBAQCBwYXJzZUR1bXBGb3Jt YXQoY29uc3QgY2hhciAqZm9ybWF0KQogCiAJcmV0dXJuIGFyY2hEdW1wRm9ybWF0OwogfQorCisv KgorICogRmluZCBhIGxpc3Qgb2YgZGF0YWJhc2UgbmFtZXMgdGhhdCBtYXRjaCB0aGUgZ2l2ZW4g cGF0dGVybnMuCisgKiBTZWUgYWxzbyBleHBhbmRfdGFibGVfbmFtZV9wYXR0ZXJucygpIGluIHBn X2R1bXAuYworICovCit2b2lkCitleHBhbmRfZGJuYW1lX3BhdHRlcm5zKFBHY29ubiAqY29ubiwK KwkJCQkJICAgU2ltcGxlU3RyaW5nTGlzdCAqcGF0dGVybnMsCisJCQkJCSAgIFNpbXBsZVN0cmlu Z0xpc3QgKm5hbWVzKQoreworCVBRRXhwQnVmZmVyIHF1ZXJ5OworCVBHcmVzdWx0ICAgKnJlczsK KworCWlmIChwYXR0ZXJucy0+aGVhZCA9PSBOVUxMKQorCQlyZXR1cm47CQkJCQkvKiBub3RoaW5n IHRvIGRvICovCisKKwlxdWVyeSA9IGNyZWF0ZVBRRXhwQnVmZmVyKCk7CisKKwkvKgorCSAqIFRo ZSBsb29wIGJlbG93IHJ1bnMgbXVsdGlwbGUgU0VMRUNUcywgd2hpY2ggbWlnaHQgc29tZXRpbWVz IHJlc3VsdCBpbgorCSAqIGR1cGxpY2F0ZSBlbnRyaWVzIGluIHRoZSBuYW1lIGxpc3QsIGJ1dCB3 ZSBkb24ndCBjYXJlLCBzaW5jZSBhbGwgd2UncmUKKwkgKiBnb2luZyB0byBkbyBpcyB0ZXN0IG1l bWJlcnNoaXAgb2YgdGhlIGxpc3QuCisJICovCisKKwlmb3IgKFNpbXBsZVN0cmluZ0xpc3RDZWxs ICpjZWxsID0gcGF0dGVybnMtPmhlYWQ7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0KQorCXsKKwkJ aW50CQkJZG90Y250OworCisJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAorCQkJCQkJCSAi U0VMRUNUIGRhdG5hbWUgRlJPTSBwZ19jYXRhbG9nLnBnX2RhdGFiYXNlIG5cbiIpOworCQlwcm9j ZXNzU1FMTmFtZVBhdHRlcm4oY29ubiwgcXVlcnksIGNlbGwtPnZhbCwgZmFsc2UsCisJCQkJCQkJ ICBmYWxzZSwgTlVMTCwgImRhdG5hbWUiLCBOVUxMLCBOVUxMLCBOVUxMLAorCQkJCQkJCSAgJmRv dGNudCk7CisKKwkJaWYgKGRvdGNudCA+IDApCisJCXsKKwkJCXBnX2xvZ19lcnJvcigiaW1wcm9w ZXIgcXVhbGlmaWVkIG5hbWUgKHRvbyBtYW55IGRvdHRlZCBuYW1lcyk6ICVzIiwKKwkJCQkJCSBj ZWxsLT52YWwpOworCQkJUFFmaW5pc2goY29ubik7CisJCQlleGl0X25pY2VseSgxKTsKKwkJfQor CisJCXJlcyA9IGV4ZWN1dGVRdWVyeShjb25uLCBxdWVyeS0+ZGF0YSk7CisJCWZvciAoaW50IGkg PSAwOyBpIDwgUFFudHVwbGVzKHJlcyk7IGkrKykKKwkJeworCQkJc2ltcGxlX3N0cmluZ19saXN0 X2FwcGVuZChuYW1lcywgUFFnZXR2YWx1ZShyZXMsIGksIDApKTsKKwkJfQorCisJCVBRY2xlYXIo cmVzKTsKKwkJcmVzZXRQUUV4cEJ1ZmZlcihxdWVyeSk7CisJfQorCisJZGVzdHJveVBRRXhwQnVm ZmVyKHF1ZXJ5KTsKK30KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9jb21tb25fZHVtcGFs bF9yZXN0b3JlLmggYi9zcmMvYmluL3BnX2R1bXAvY29tbW9uX2R1bXBhbGxfcmVzdG9yZS5oCmlu ZGV4IGEyN2MzZTlmYjguLjI0NzY0NDlmYTcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9j b21tb25fZHVtcGFsbF9yZXN0b3JlLmgKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL2NvbW1vbl9kdW1w YWxsX3Jlc3RvcmUuaApAQCAtMjMsNCArMjMsNyBAQCBleHRlcm4gUEdjb25uICpjb25uZWN0RGF0 YWJhc2UoY29uc3QgY2hhciAqZGJuYW1lLAogCQljb25zdCBjaGFyICpwcm9nbmFtZSwgY29uc3Qg Y2hhciAqKmNvbm5zdHIsIGludCAqc2VydmVyX3ZlcnNpb24pOwogZXh0ZXJuICBQR3Jlc3VsdCAq ZXhlY3V0ZVF1ZXJ5KFBHY29ubiAqY29ubiwgY29uc3QgY2hhciAqcXVlcnkpOwogZXh0ZXJuIEFy Y2hpdmVGb3JtYXQgcGFyc2VEdW1wRm9ybWF0KGNvbnN0IGNoYXIgKmZvcm1hdCk7CitleHRlcm4g dm9pZCBleHBhbmRfZGJuYW1lX3BhdHRlcm5zKFBHY29ubiAqY29ubiwKKwkJCQkJCQkJICAgU2lt cGxlU3RyaW5nTGlzdCAqcGF0dGVybnMsCisJCQkJCQkJCSAgIFNpbXBsZVN0cmluZ0xpc3QgKm5h bWVzKTsKICNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQ09NTU9OX0RVTVBBTExf UkVTVE9SRV9IICovCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jIGIvc3Jj L2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwppbmRleCBlYWU2MjZmNjIxLi43MmQ5Y2VmZDgxIDEwMDY0 NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9w Z19kdW1wLmMKQEAgLTE2NTMsNyArMTY1Myw3IEBAIGV4cGFuZF9mb3JlaWduX3NlcnZlcl9uYW1l X3BhdHRlcm5zKEFyY2hpdmUgKmZvdXQsCiAvKgogICogRmluZCB0aGUgT0lEcyBvZiBhbGwgdGFi bGVzIG1hdGNoaW5nIHRoZSBnaXZlbiBsaXN0IG9mIHBhdHRlcm5zLAogICogYW5kIGFwcGVuZCB0 aGVtIHRvIHRoZSBnaXZlbiBPSUQgbGlzdC4gU2VlIGFsc28gZXhwYW5kX2RibmFtZV9wYXR0ZXJu cygpCi0gKiBpbiBwZ19kdW1wYWxsLmMKKyAqIGluIGNvbW1vbl9kdW1wYWxsX3Jlc3RvcmUuYwog ICovCiBzdGF0aWMgdm9pZAogZXhwYW5kX3RhYmxlX25hbWVfcGF0dGVybnMoQXJjaGl2ZSAqZm91 dCwKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wYWxsLmMgYi9zcmMvYmluL3Bn X2R1bXAvcGdfZHVtcGFsbC5jCmluZGV4IDU5MTViMWIwNTEuLjI0NGJmNzI5ODYgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wYWxsLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3Bn X2R1bXBhbGwuYwpAQCAtNzcsOCArNzcsNiBAQCBzdGF0aWMgdm9pZCBidWlsZFNoU2VjTGFiZWxz KFBHY29ubiAqY29ubiwKIAkJCQkJCQkgY29uc3QgY2hhciAqb2JqdHlwZSwgY29uc3QgY2hhciAq b2JqbmFtZSwKIAkJCQkJCQkgUFFFeHBCdWZmZXIgYnVmZmVyKTsKIHN0YXRpYyB2b2lkIGV4ZWN1 dGVDb21tYW5kKFBHY29ubiAqY29ubiwgY29uc3QgY2hhciAqcXVlcnkpOwotc3RhdGljIHZvaWQg ZXhwYW5kX2RibmFtZV9wYXR0ZXJucyhQR2Nvbm4gKmNvbm4sIFNpbXBsZVN0cmluZ0xpc3QgKnBh dHRlcm5zLAotCQkJCQkJCQkgICBTaW1wbGVTdHJpbmdMaXN0ICpuYW1lcyk7CiBzdGF0aWMgdm9p ZCByZWFkX2R1bXBhbGxfZmlsdGVycyhjb25zdCBjaGFyICpmaWxlbmFtZSwgU2ltcGxlU3RyaW5n TGlzdCAqcGF0dGVybik7CiBzdGF0aWMgdm9pZCBjcmVhdGVfb3Jfb3Blbl9kaXIoY29uc3QgY2hh ciAqZGlybmFtZSk7CiAKQEAgLTE0NjYsNTkgKzE0NjQsNyBAQCBkdW1wVXNlckNvbmZpZyhQR2Nv bm4gKmNvbm4sIGNvbnN0IGNoYXIgKnVzZXJuYW1lKQogCWRlc3Ryb3lQUUV4cEJ1ZmZlcihidWYp OwogfQogCi0vKgotICogRmluZCBhIGxpc3Qgb2YgZGF0YWJhc2UgbmFtZXMgdGhhdCBtYXRjaCB0 aGUgZ2l2ZW4gcGF0dGVybnMuCi0gKiBTZWUgYWxzbyBleHBhbmRfdGFibGVfbmFtZV9wYXR0ZXJu cygpIGluIHBnX2R1bXAuYwotICovCi1zdGF0aWMgdm9pZAotZXhwYW5kX2RibmFtZV9wYXR0ZXJu cyhQR2Nvbm4gKmNvbm4sCi0JCQkJCSAgIFNpbXBsZVN0cmluZ0xpc3QgKnBhdHRlcm5zLAotCQkJ CQkgICBTaW1wbGVTdHJpbmdMaXN0ICpuYW1lcykKLXsKLQlQUUV4cEJ1ZmZlciBxdWVyeTsKLQlQ R3Jlc3VsdCAgICpyZXM7CiAKLQlpZiAocGF0dGVybnMtPmhlYWQgPT0gTlVMTCkKLQkJcmV0dXJu OwkJCQkJLyogbm90aGluZyB0byBkbyAqLwotCi0JcXVlcnkgPSBjcmVhdGVQUUV4cEJ1ZmZlcigp OwotCi0JLyoKLQkgKiBUaGUgbG9vcCBiZWxvdyBydW5zIG11bHRpcGxlIFNFTEVDVHMsIHdoaWNo IG1pZ2h0IHNvbWV0aW1lcyByZXN1bHQgaW4KLQkgKiBkdXBsaWNhdGUgZW50cmllcyBpbiB0aGUg bmFtZSBsaXN0LCBidXQgd2UgZG9uJ3QgY2FyZSwgc2luY2UgYWxsIHdlJ3JlCi0JICogZ29pbmcg dG8gZG8gaXMgdGVzdCBtZW1iZXJzaGlwIG9mIHRoZSBsaXN0LgotCSAqLwotCi0JZm9yIChTaW1w bGVTdHJpbmdMaXN0Q2VsbCAqY2VsbCA9IHBhdHRlcm5zLT5oZWFkOyBjZWxsOyBjZWxsID0gY2Vs bC0+bmV4dCkKLQl7Ci0JCWludAkJCWRvdGNudDsKLQotCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihx dWVyeSwKLQkJCQkJCQkgIlNFTEVDVCBkYXRuYW1lIEZST00gcGdfY2F0YWxvZy5wZ19kYXRhYmFz ZSBuXG4iKTsKLQkJcHJvY2Vzc1NRTE5hbWVQYXR0ZXJuKGNvbm4sIHF1ZXJ5LCBjZWxsLT52YWws IGZhbHNlLAotCQkJCQkJCSAgZmFsc2UsIE5VTEwsICJkYXRuYW1lIiwgTlVMTCwgTlVMTCwgTlVM TCwKLQkJCQkJCQkgICZkb3RjbnQpOwotCi0JCWlmIChkb3RjbnQgPiAwKQotCQl7Ci0JCQlwZ19s b2dfZXJyb3IoImltcHJvcGVyIHF1YWxpZmllZCBuYW1lICh0b28gbWFueSBkb3R0ZWQgbmFtZXMp OiAlcyIsCi0JCQkJCQkgY2VsbC0+dmFsKTsKLQkJCVBRZmluaXNoKGNvbm4pOwotCQkJZXhpdF9u aWNlbHkoMSk7Ci0JCX0KLQotCQlyZXMgPSBleGVjdXRlUXVlcnkoY29ubiwgcXVlcnktPmRhdGEp OwotCQlmb3IgKGludCBpID0gMDsgaSA8IFBRbnR1cGxlcyhyZXMpOyBpKyspCi0JCXsKLQkJCXNp bXBsZV9zdHJpbmdfbGlzdF9hcHBlbmQobmFtZXMsIFBRZ2V0dmFsdWUocmVzLCBpLCAwKSk7Ci0J CX0KLQotCQlQUWNsZWFyKHJlcyk7Ci0JCXJlc2V0UFFFeHBCdWZmZXIocXVlcnkpOwotCX0KLQot CWRlc3Ryb3lQUUV4cEJ1ZmZlcihxdWVyeSk7Ci19CiAKIC8qCiAgKiBEdW1wIGNvbnRlbnRzIG9m IGRhdGFiYXNlcy4KLS0gCjIuMzQuMQoK --000000000000379f59062c5c3ee3 Content-Type: application/octet-stream; name="v11-0003-minor-coesmetic-change-in-pg_restore.c.no-cfbot" Content-Disposition: attachment; filename="v11-0003-minor-coesmetic-change-in-pg_restore.c.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m694qt5v1 RnJvbSBmY2IyZGQ3NWFiOWRjMWZkM2RkNzJjOTFmNTVkMWI3YjM3YTcwYzNmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMjMgSmFuIDIwMjUgMTc6MDI6MzEgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx MSAzLzRdIG1pbm9yIGNvZXNtZXRpYyBjaGFuZ2UgaW4gcGdfcmVzdG9yZS5jCgotLS0KIHNyYy9i aW4vcGdfZHVtcC9wZ19yZXN0b3JlLmMgfCAzOSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jIGIvc3JjL2Jpbi9w Z19kdW1wL3BnX3Jlc3RvcmUuYwppbmRleCA3OWY2MTM5NWFlLi5hNzE1NDQ4ZGNlIDEwMDY0NAot LS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9w Z19yZXN0b3JlLmMKQEAgLTc3LDggKzc3LDggQEAgc2ltcGxlX2RiX29pZF9saXN0X2FwcGVuZChT aW1wbGVEYXRhYmFzZU9pZExpc3QgKmxpc3QsIE9pZCBkYl9vaWQsIGNvbnN0IGNoYXIgKmQKIHN0 YXRpYyB2b2lkIHVzYWdlKGNvbnN0IGNoYXIgKnByb2duYW1lKTsKIHN0YXRpYyB2b2lkIHJlYWRf cmVzdG9yZV9maWx0ZXJzKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBSZXN0b3JlT3B0aW9ucyAqb3B0 cyk7CiBzdGF0aWMgYm9vbCBJc0ZpbGVFeGlzdHNJbkRpcmVjdG9yeShjb25zdCBjaGFyICpkaXIs IGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKLXN0YXRpYyBib29sIHJlc3RvcmVPbmVEYXRhYmFzZShj b25zdCBjaGFyICppbnB1dEZpbGVTcGVjLAotCQlSZXN0b3JlT3B0aW9ucyAqb3B0cywgaW50IG51 bVdvcmtlcnMsIGJvb2wgYXBwZW5kX2RhdGEpOworc3RhdGljIGJvb2wgcmVzdG9yZU9uZURhdGFi YXNlKGNvbnN0IGNoYXIgKmlucHV0RmlsZVNwZWMsIFJlc3RvcmVPcHRpb25zICpvcHRzLAorCQkJ CQkJCSAgIGludCBudW1Xb3JrZXJzLCBib29sIGFwcGVuZF9kYXRhKTsKIHN0YXRpYyBpbnQgUmVh ZE9uZVN0YXRlbWVudChTdHJpbmdJbmZvIGluQnVmLCBGSUxFICpwZmlsZSk7CiBzdGF0aWMgaW50 IHJlc3RvcmVBbGxEYXRhYmFzZXMoUEdjb25uICpjb25uLCBjb25zdCBjaGFyICpkdW1wZGlycGF0 aCwKIAlTaW1wbGVTdHJpbmdMaXN0IGRiX2V4Y2x1ZGVfcGF0dGVybnMsIFJlc3RvcmVPcHRpb25z ICpvcHRzLCBpbnQgbnVtV29ya2Vycyk7CkBAIC04NywxNCArODcsMTUgQEAgc3RhdGljIHZvaWQg ZXhlY3V0ZV9nbG9iYWxfc3FsX2NvbW1hbmRzKFBHY29ubiAqY29ubiwgY29uc3QgY2hhciAqZHVt cGRpcnBhdGgsCiBzdGF0aWMgaW50IGZpbHRlcl9kYm5hbWVzX2Zvcl9yZXN0b3JlKFBHY29ubiAq Y29ubiwKIAkJU2ltcGxlRGF0YWJhc2VPaWRMaXN0ICpkYm5hbWVfb2lkX2xpc3QsIFNpbXBsZVN0 cmluZ0xpc3QgZGJfZXhjbHVkZV9wYXR0ZXJucyk7CiBzdGF0aWMgaW50IGdldF9kYm5hbWVfb2lk X2xpc3RfZnJvbV9tZmlsZShjb25zdCBjaGFyICpkdW1wZGlycGF0aCwKLQkJU2ltcGxlRGF0YWJh c2VPaWRMaXN0ICpkYm5hbWVfb2lkX2xpc3QpOworCQkJCQkJCQkJCSAgU2ltcGxlRGF0YWJhc2VP aWRMaXN0ICpkYm5hbWVfb2lkX2xpc3QpOwogc3RhdGljIHZvaWQgc2ltcGxlX2RiX29pZF9saXN0 X2FwcGVuZChTaW1wbGVEYXRhYmFzZU9pZExpc3QgKmxpc3QsIE9pZCBkYl9vaWQsCi0JCWNvbnN0 IGNoYXIgKmRibmFtZSk7CisJCQkJCQkJCQkgIGNvbnN0IGNoYXIgKmRibmFtZSk7CiBzdGF0aWMg Ym9vbCBpc19mdWxsX3BhdHRlcm4oUEdjb25uICpjb25uLCBjb25zdCBjaGFyICpzdHIsIGNvbnN0 IGNoYXIgKnB0cm4pOwogc3RhdGljIHZvaWQgc2ltcGxlX3N0cmluZ19mdWxsX2xpc3RfZGVsZXRl KFNpbXBsZVN0cmluZ0xpc3QgKmxpc3QpOwogc3RhdGljIHZvaWQgc2ltcGxlX2RiX29pZF9mdWxs X2xpc3RfZGVsZXRlKFNpbXBsZURhdGFiYXNlT2lkTGlzdCAqbGlzdCk7CiBzdGF0aWMgdm9pZCBz aW1wbGVfZGJfb2lkX2xpc3RfZGVsZXRlKFNpbXBsZURhdGFiYXNlT2lkTGlzdCAqbGlzdCwKLQkJ U2ltcGxlRGF0YWJhc2VPaWRMaXN0Q2VsbCAqY2VsbCwgU2ltcGxlRGF0YWJhc2VPaWRMaXN0Q2Vs bCAqcHJldik7CisJCQkJCQkJCQkgIFNpbXBsZURhdGFiYXNlT2lkTGlzdENlbGwgKmNlbGwsCisJ CQkJCQkJCQkgIFNpbXBsZURhdGFiYXNlT2lkTGlzdENlbGwgKnByZXYpOwogCiBpbnQKIG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQpAQCAtNDQ2LDggKzQ0Nyw4IEBAIG1haW4oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQogCQkvKiBQbGFpbiBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZCBmb3IgcGdf cmVzdG9yZS4gKi8KIAkJaWYgKG9wdHMtPmZvcm1hdCA9PSBhcmNoTnVsbCkKIAkJewotCQkJcGdf ZmF0YWwoInVucmVjb2duaXplZCBhcmNoaXZlIGZvcm1hdCBcIiVzXCI7IHBsZWFzZSBzcGVjaWZ5 IFwiY1wiLCBcImRcIiwgb3IgXCJ0XCIiLAotCQkJCQlvcHRzLT5mb3JtYXROYW1lKTsKKwkJCXBn X2ZhdGFsKCJ1bnJlY29nbml6ZWQgYXJjaGl2ZSBmb3JtYXQgXCIlc1wiLCBvbmUgb2YgXCJjXCIs IFwiZFwiIG9yIFwidFwiIG11c3QgYmUgc3BlY2lmaWVkIiwKKwkJCQkJICBvcHRzLT5mb3JtYXRO YW1lKTsKIAkJfQogCX0KIApAQCAtNDU4LDcgKzQ1OSw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQogCSAqIC0tZXhjbHVkZS1kYXRhYmFzZSBwYXR0ZXJucy4KIAkgKi8KIAlpZiAoaW5w dXRGaWxlU3BlYyAhPSBOVUxMICYmCi0JCQkhSXNGaWxlRXhpc3RzSW5EaXJlY3RvcnkoaW5wdXRG aWxlU3BlYywgInRvYy5kYXQiKSkKKwkJIUlzRmlsZUV4aXN0c0luRGlyZWN0b3J5KGlucHV0Rmls ZVNwZWMsICJ0b2MuZGF0IikpCiAJewogCQkvKiBJZiBnbG9iYWwuZGF0IGlzIGV4aXN0LCB0aGVu IHByb2Nlc3MgaXQuICovCiAJCWlmIChJc0ZpbGVFeGlzdHNJbkRpcmVjdG9yeShwZ19zdHJkdXAo aW5wdXRGaWxlU3BlYyksICJnbG9iYWwuZGF0IikpCkBAIC00NzAsOCArNDcxLDggQEAgbWFpbihp bnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCQlpZiAob3B0cy0+Y3BhcmFtcy5kYm5hbWUpCiAJCQl7 CiAJCQkJY29ubiA9IGNvbm5lY3REYXRhYmFzZShvcHRzLT5jcGFyYW1zLmRibmFtZSwgTlVMTCwg b3B0cy0+Y3BhcmFtcy5wZ2hvc3QsCi0JCQkJCQlvcHRzLT5jcGFyYW1zLnBncG9ydCwgb3B0cy0+ Y3BhcmFtcy51c2VybmFtZSwgVFJJX0RFRkFVTFQsIGZhbHNlLAotCQkJCQkJcHJvZ25hbWUsIE5V TEwsIE5VTEwpOworCQkJCQkJCQkJICAgb3B0cy0+Y3BhcmFtcy5wZ3BvcnQsIG9wdHMtPmNwYXJh bXMudXNlcm5hbWUsIFRSSV9ERUZBVUxULAorCQkJCQkJCQkJICAgZmFsc2UsIHByb2duYW1lLCBO VUxMLCBOVUxMKTsKIAogCQkJCWlmICghY29ubikKIAkJCQkJcGdfZmF0YWwoImNvdWxkIG5vdCBj b25uZWN0IHRvIGRhdGFiYXNlIFwiJXNcIiIsIG9wdHMtPmNwYXJhbXMuZGJuYW1lKTsKQEAgLTQ5 OCw4ICs0OTksOCBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJCXNpbXBsZV9zdHJp bmdfZnVsbF9saXN0X2RlbGV0ZSgmZGJfZXhjbHVkZV9wYXR0ZXJucyk7CiAKIAkJCXJldHVybiBl eGl0X2NvZGU7Ci0JCX0vKiBlbmQgaWYgKi8KLQl9LyogZW5kIGlmICovCisJCX0KKwl9CiAKIAly ZXR1cm4gcmVzdG9yZU9uZURhdGFiYXNlKGlucHV0RmlsZVNwZWMsIG9wdHMsIG51bVdvcmtlcnMs IGZhbHNlKTsKIH0KQEAgLTUxMSw3ICs1MTIsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJn dikKICAqLwogc3RhdGljIGJvb2wKIHJlc3RvcmVPbmVEYXRhYmFzZShjb25zdCBjaGFyICppbnB1 dEZpbGVTcGVjLCBSZXN0b3JlT3B0aW9ucyAqb3B0cywKLQkJaW50IG51bVdvcmtlcnMsIGJvb2wg YXBwZW5kX2RhdGEpCisJCQkJICAgaW50IG51bVdvcmtlcnMsIGJvb2wgYXBwZW5kX2RhdGEpCiB7 CiAJQXJjaGl2ZQkJKkFIOwogCWJvb2wJCWV4aXRfY29kZTsKQEAgLTk1NSwyMCArOTU2LDIwIEBA IHJlc3RvcmVBbGxEYXRhYmFzZXMoUEdjb25uICpjb25uLCBjb25zdCBjaGFyICpkdW1wZGlycGF0 aCwKIAogCWlmICghY29ubikKIAl7Ci0JCXBnX2xvZ19pbmZvKCJ0cnlpbmcgdG8gY29ubmVjdCBw b3N0Z3JlcyBkYXRhYmFzZSB0byBkdW1wIGludG8gb3V0IGZpbGUiKTsKKwkJcGdfbG9nX2luZm8o InRyeWluZyB0byBjb25uZWN0IGRhdGFiYXNlIFwicG9zdGdyZXNcIiAgdG8gZHVtcCBpbnRvIG91 dCBmaWxlIik7CiAKIAkJY29ubiA9IGNvbm5lY3REYXRhYmFzZSgicG9zdGdyZXMiLCBOVUxMLCBv cHRzLT5jcGFyYW1zLnBnaG9zdCwKLQkJCQlvcHRzLT5jcGFyYW1zLnBncG9ydCwgb3B0cy0+Y3Bh cmFtcy51c2VybmFtZSwgVFJJX0RFRkFVTFQsIGZhbHNlLAotCQkJCXByb2duYW1lLCBOVUxMLCBO VUxMKTsKKwkJCQkJCQkgICBvcHRzLT5jcGFyYW1zLnBncG9ydCwgb3B0cy0+Y3BhcmFtcy51c2Vy bmFtZSwgVFJJX0RFRkFVTFQsCisJCQkJCQkJICAgZmFsc2UsIHByb2duYW1lLCBOVUxMLCBOVUxM KTsKIAogCQkvKiBUcnkgd2l0aCB0ZW1wbGF0ZTEuICovCiAJCWlmICghY29ubikKIAkJewotCQkJ cGdfbG9nX2luZm8oInRyeWluZyB0byBjb25uZWN0IHRlbXBsYXRlMSBkYXRhYmFzZSBhcyBmYWls ZWQgdG8gY29ubmVjdCB0byBwb3N0Z3JlcyB0byBkdW1wIGludG8gb3V0IGZpbGUiKTsKKwkJCXBn X2xvZ19pbmZvKCJ0cnlpbmcgdG8gY29ubmVjdCBkYXRhYmFzZSBcInRlbXBsYXRlMVwiIGFzIGZh aWxlZCB0byBjb25uZWN0IHRvIGRhdGFiYXNlIFwicG9zdGdyZXNcIiB0byBkdW1wIGludG8gb3V0 IGZpbGUiKTsKIAogCQkJY29ubiA9IGNvbm5lY3REYXRhYmFzZSgidGVtcGxhdGUxIiwgTlVMTCwg b3B0cy0+Y3BhcmFtcy5wZ2hvc3QsCi0JCQkJCW9wdHMtPmNwYXJhbXMucGdwb3J0LCBvcHRzLT5j cGFyYW1zLnVzZXJuYW1lLCBUUklfREVGQVVMVCwgZmFsc2UsCi0JCQkJCXByb2duYW1lLCBOVUxM LCBOVUxMKTsKKwkJCQkJCQkJICAgb3B0cy0+Y3BhcmFtcy5wZ3BvcnQsIG9wdHMtPmNwYXJhbXMu dXNlcm5hbWUsIFRSSV9ERUZBVUxULAorCQkJCQkJCQkgICBmYWxzZSwgcHJvZ25hbWUsIE5VTEws IE5VTEwpOwogCiAJCQlpZiAoIWNvbm4pCiAJCQkJcGdfbG9nX2luZm8oInRoZXJlIGlzIG5vIGRh dGFiYXNlIGNvbm5lY3Rpb24gc28gY29uc2lkZXIgcGF0dGVybiBhcyBzaW1wbGUgbmFtZSBmb3Ig ZXhjbHVkZS1kYXRhYmFzZSIpOwotLSAKMi4zNC4xCgo= --000000000000379f59062c5c3ee3--