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 1w9so3-001qxi-0m for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 22:52:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w9so1-00CZnu-28 for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 22:52:30 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w9so1-00CZnl-0c for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 22:52:29 +0000 Received: from udcm-wwu2.uni-muenster.de ([128.176.118.28]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w9sny-00000000vgw-2eVj for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 22:52:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=uni-muenster.de; i=@uni-muenster.de; q=dns/txt; s=uniout; t=1775515947; x=1807051947; h=message-id:date:mime-version:subject:from:to:cc: references:in-reply-to; bh=eIxTg7vz8JTT/8DpFVx6dLDpKF/l9GPudYBqhQsrclw=; b=RucKWq9EKVJCWwQGplcBDz0SbRCqq8FBEzW+q/R7L2lG9CnKJ+pXr0pV y7ws8XApGXnPheTrs44MJjlo8YiubsYfADuq+O04X+ubAwp3Gxbsv5Nkl cVrYGcLjLs4HcN39Gt76I5VhSe1PTS9ebfQpI7VqH1KvOMG9Ent30InVc X1dDIghgTXstuiMSi37B8JpHaqvF33Z2wlMG1pyHaRzTtnsJGOua4Ickx KL6hanRsTEdqoLWBFxFepADZtnbAw9g5hC8h+LDqWxtwXHnQHsC2fFKL3 CZTuZp5ZzxuHJbyNZ9+JN65yiFbfY3aNuW1KWoRs+O+XvdfajFe81yLNt g==; X-CSE-ConnectionGUID: 5RXFwI+ZSTWqNkh+LEUUPg== X-CSE-MsgGUID: w79Xva7PQOm631PkN2Oejw== X-IronPort-AV: E=Sophos;i="6.23,164,1770591600"; d="scan'208,223";a="389811125" Received: from secmail.uni-muenster.de ([128.176.118.4]) by UDCM-RELAY2.UNI-MUENSTER.DE with ESMTP; 07 Apr 2026 00:52:23 +0200 Received: from [192.168.178.27] (dynamic-078-048-142-037.78.48.pool.telefonica.de [78.48.142.37]) by SECMAIL.UNI-MUENSTER.DE (Postfix) with ESMTPSA id CE23820ADF00; Tue, 7 Apr 2026 00:52:21 +0200 (CEST) Content-Type: multipart/mixed; boundary="------------051tyERLWlYxPXdLOWAsVZaL" Message-ID: <217fa6cc-95d9-4991-897d-f70ab1a75c9c@uni-muenster.de> Date: Tue, 7 Apr 2026 00:52:20 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: VACUUM FULL, CLUSTER, and REPACK block on other sessions' temp tables From: Jim Jones To: Antonin Houska , Chao Li Cc: Zsolt Parragi , PostgreSQL Hackers References: <0b555318-2bf2-46df-9377-09629a2a59db@uni-muenster.de> <97B93CF6-109D-46B4-AD50-8908DD4BE6E4@gmail.com> <039cca2d-5574-4dad-92e6-6e72c1747b23@uni-muenster.de> <9de2a59f-9597-4101-bf34-cf3804752e64@uni-muenster.de> <5C25190B-EE60-4634-A1DE-E7B5FBFF8AE4@gmail.com> <29666.1774524351@localhost> <145c49b9-1d40-4a4a-8667-777d8bb951ed@uni-muenster.de> Content-Language: de-DE, en-GB In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------051tyERLWlYxPXdLOWAsVZaL Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit rebase Jim --------------051tyERLWlYxPXdLOWAsVZaL Content-Type: text/x-patch; charset=UTF-8; name="v5-0001-Skip-other-sessions-temp-tables-in-REPACK-CLUSTER.patch" Content-Disposition: attachment; filename*0="v5-0001-Skip-other-sessions-temp-tables-in-REPACK-CLUSTER.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBmNzg3NmI3YzIyNTE0NmZlM2RlZWY2ODE4NDFkMGFkNmQ5NzgyYTVkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gSm9uZXMgPGppbS5qb25lc0B1bmktbXVlbnN0 ZXIuZGU+CkRhdGU6IFR1ZSwgNyBBcHIgMjAyNiAwMDoyNzo1OSArMDIwMApTdWJqZWN0OiBb UEFUQ0ggdjUgMS8yXSBTa2lwIG90aGVyIHNlc3Npb25zJyB0ZW1wIHRhYmxlcyBpbiBSRVBB Q0ssIENMVVNURVIsCiBhbmQgVkFDVVVNIEZVTEwKCmdldF90YWJsZXNfdG9fcmVwYWNrKCkg d2FzIGluY2x1ZGluZyBvdGhlciBzZXNzaW9ucycgdGVtcG9yYXJ5IHRhYmxlcwppbiB0aGUg d29yayBsaXN0LCBjYXVzaW5nIFJFUEFDSyBhbmQgQ0xVU1RFUiAod2l0aG91dCBhcmd1bWVu dHMpIHRvCmF0dGVtcHQgdG8gYWNxdWlyZSBBY2Nlc3NFeGNsdXNpdmVMb2NrIG9uIHRoZW0s IHBvdGVudGlhbGx5IGJsb2NraW5nCmZvciBhbiBleHRlbmRlZCB0aW1lLiBGaXggYnkgc2tp cHBpbmcgb3RoZXItc2Vzc2lvbiB0ZW1wIHRhYmxlcyBlYXJseQppbiBnZXRfdGFibGVzX3Rv X3JlcGFjaygpLCBiZWZvcmUgdGhleSBhcmUgYWRkZWQgdG8gdGhlIGxpc3QuIEJlY2F1c2UK YW4gQWNjZXNzU2hhcmVMb2NrIGhhcyBhbHJlYWR5IGJlZW4gYWNxdWlyZWQgcGVyIHJlbGF0 aW9uIGF0IHRoYXQKcG9pbnQsIHJlbGVhc2UgaXQgYmVmb3JlIGNvbnRpbnVpbmcuCgpTaW1p bGFybHksIGdldF9hbGxfdmFjdXVtX3JlbHMoKSBzdWZmZXJlZCBmcm9tIHRoZSBzYW1lIHBy b2JsZW0gZm9yClZBQ1VVTSBGVUxMLiBTaW5jZSBubyBwZXItcmVsYXRpb24gbG9jayBpcyBo ZWxkIGR1cmluZyBsaXN0LWJ1aWxkaW5nCnRoZXJlLCBhIHBsYWluIHNraXAgc3VmZmljZXMu CgpBdXRob3I6IEppbSBKb25lcyA8amltLmpvbmVzQHVuaS1tdWVuc3Rlci5kZT4KUmV2aWV3 ZWQtYnk6IENoYW8gTGkgPGxpLmV2YW4uY2hhb0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBa c29sdCBQYXJyYWdpIDx6c29sdC5wYXJyYWdpQHBlcmNvbmEuY29tPgotLS0KIHNyYy9iYWNr ZW5kL2NvbW1hbmRzL3JlcGFjay5jIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrLQog c3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMgfCAgNSArKysrKwogMiBmaWxlcyBjaGFu Z2VkLCAyOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY29tbWFuZHMvcmVwYWNrLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9yZXBh Y2suYwppbmRleCAxN2I2MzliM2I0NC4uMTgwNmVmZGRiOGYgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3JlcGFjay5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Jl cGFjay5jCkBAIC0yMTA3LDYgKzIxMDcsOCBAQCBnZXRfdGFibGVzX3RvX3JlcGFjayhSZXBh Y2tDb21tYW5kIGNtZCwgYm9vbCB1c2luZ2luZGV4LCBNZW1vcnlDb250ZXh0IHBlcm1jeHQp CiAJCXsKIAkJCVJlbFRvQ2x1c3RlciAqcnRjOwogCQkJRm9ybV9wZ19pbmRleCBpbmRleDsK KwkJCUhlYXBUdXBsZSBjbGFzc3R1cDsKKwkJCUZvcm1fcGdfY2xhc3MgY2xhc3NGb3JtOwog CQkJTWVtb3J5Q29udGV4dCBvbGRjeHQ7CiAKIAkJCWluZGV4ID0gKEZvcm1fcGdfaW5kZXgp IEdFVFNUUlVDVCh0dXBsZSk7CkBAIC0yMTIxLDExICsyMTIzLDI0IEBAIGdldF90YWJsZXNf dG9fcmVwYWNrKFJlcGFja0NvbW1hbmQgY21kLCBib29sIHVzaW5naW5kZXgsIE1lbW9yeUNv bnRleHQgcGVybWN4dCkKIAkJCQljb250aW51ZTsKIAogCQkJLyogVmVyaWZ5IHRoYXQgdGhl IHRhYmxlIHN0aWxsIGV4aXN0czsgc2tpcCBpZiBub3QgKi8KLQkJCWlmICghU2VhcmNoU3lz Q2FjaGVFeGlzdHMxKFJFTE9JRCwgT2JqZWN0SWRHZXREYXR1bShpbmRleC0+aW5kcmVsaWQp KSkKKwkJCWNsYXNzdHVwID0gU2VhcmNoU3lzQ2FjaGUxKFJFTE9JRCwgT2JqZWN0SWRHZXRE YXR1bShpbmRleC0+aW5kcmVsaWQpKTsKKwkJCWlmICghSGVhcFR1cGxlSXNWYWxpZChjbGFz c3R1cCkpCiAJCQl7CiAJCQkJVW5sb2NrUmVsYXRpb25PaWQoaW5kZXgtPmluZHJlbGlkLCBB Y2Nlc3NTaGFyZUxvY2spOwogCQkJCWNvbnRpbnVlOwogCQkJfQorCQkJY2xhc3NGb3JtID0g KEZvcm1fcGdfY2xhc3MpIEdFVFNUUlVDVChjbGFzc3R1cCk7CisKKwkJCS8qIFNraXAgdGVt cCByZWxhdGlvbnMgYmVsb25naW5nIHRvIG90aGVyIHNlc3Npb25zICovCisJCQlpZiAoY2xh c3NGb3JtLT5yZWxwZXJzaXN0ZW5jZSA9PSBSRUxQRVJTSVNURU5DRV9URU1QICYmCisJCQkJ IWlzVGVtcE9yVGVtcFRvYXN0TmFtZXNwYWNlKGNsYXNzRm9ybS0+cmVsbmFtZXNwYWNlKSkK KwkJCXsKKwkJCQlSZWxlYXNlU3lzQ2FjaGUoY2xhc3N0dXApOworCQkJCVVubG9ja1JlbGF0 aW9uT2lkKGluZGV4LT5pbmRyZWxpZCwgQWNjZXNzU2hhcmVMb2NrKTsKKwkJCQljb250aW51 ZTsKKwkJCX0KKworCQkJUmVsZWFzZVN5c0NhY2hlKGNsYXNzdHVwKTsKIAogCQkJLyogbm9p c2lseSBza2lwIHJlbHMgd2hpY2ggdGhlIHVzZXIgY2FuJ3QgcHJvY2VzcyAqLwogCQkJaWYg KCFyZXBhY2tfaXNfcGVybWl0dGVkX2Zvcl9yZWxhdGlvbihjbWQsIGluZGV4LT5pbmRyZWxp ZCwKQEAgLTIxODEsNiArMjE5NiwxNCBAQCBnZXRfdGFibGVzX3RvX3JlcGFjayhSZXBhY2tD b21tYW5kIGNtZCwgYm9vbCB1c2luZ2luZGV4LCBNZW1vcnlDb250ZXh0IHBlcm1jeHQpCiAJ CQkJY29udGludWU7CiAJCQl9CiAKKwkJCS8qIFNraXAgdGVtcCByZWxhdGlvbnMgYmVsb25n aW5nIHRvIG90aGVyIHNlc3Npb25zICovCisJCQlpZiAoY2xhc3MtPnJlbHBlcnNpc3RlbmNl ID09IFJFTFBFUlNJU1RFTkNFX1RFTVAgJiYKKwkJCQkhaXNUZW1wT3JUZW1wVG9hc3ROYW1l c3BhY2UoY2xhc3MtPnJlbG5hbWVzcGFjZSkpCisJCQl7CisJCQkJVW5sb2NrUmVsYXRpb25P aWQoY2xhc3MtPm9pZCwgQWNjZXNzU2hhcmVMb2NrKTsKKwkJCQljb250aW51ZTsKKwkJCX0K KwogCQkJLyogbm9pc2lseSBza2lwIHJlbHMgd2hpY2ggdGhlIHVzZXIgY2FuJ3QgcHJvY2Vz cyAqLwogCQkJaWYgKCFyZXBhY2tfaXNfcGVybWl0dGVkX2Zvcl9yZWxhdGlvbihjbWQsIGNs YXNzLT5vaWQsCiAJCQkJCQkJCQkJCQkgIEdldFVzZXJJZCgpKSkKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtLmMKaW5kZXggOTlkMGRiODJlZDcuLmE0YWJiMjljZjY0IDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9jb21tYW5kcy92YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92 YWN1dW0uYwpAQCAtMTA2Myw2ICsxMDYzLDExIEBAIGdldF9hbGxfdmFjdXVtX3JlbHMoTWVt b3J5Q29udGV4dCB2YWNfY29udGV4dCwgaW50IG9wdGlvbnMpCiAJCQljbGFzc0Zvcm0tPnJl bGtpbmQgIT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSkKIAkJCWNvbnRpbnVlOwogCisJ CS8qIFNraXAgdGVtcCByZWxhdGlvbnMgYmVsb25naW5nIHRvIG90aGVyIHNlc3Npb25zICov CisJCWlmIChjbGFzc0Zvcm0tPnJlbHBlcnNpc3RlbmNlID09IFJFTFBFUlNJU1RFTkNFX1RF TVAgJiYKKwkJCSFpc1RlbXBPclRlbXBUb2FzdE5hbWVzcGFjZShjbGFzc0Zvcm0tPnJlbG5h bWVzcGFjZSkpCisJCQljb250aW51ZTsKKwogCQkvKiBjaGVjayBwZXJtaXNzaW9ucyBvZiBy ZWxhdGlvbiAqLwogCQlpZiAoIXZhY3V1bV9pc19wZXJtaXR0ZWRfZm9yX3JlbGF0aW9uKHJl bGlkLCBjbGFzc0Zvcm0sIG9wdGlvbnMpKQogCQkJY29udGludWU7Ci0tIAoyLjQzLjAKCg== --------------051tyERLWlYxPXdLOWAsVZaL Content-Type: text/x-patch; charset=UTF-8; name="v5-0002-Test-VACUUM-FULL-CLUSTER-and-REPACK-with-locked-t.patch" Content-Disposition: attachment; filename*0="v5-0002-Test-VACUUM-FULL-CLUSTER-and-REPACK-with-locked-t.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA0Y2M5ZjNkNGI1YWE4YzM1NDQ1OTljNDdhYjNlYzlhNjJhOTYzODFkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gSm9uZXMgPGppbS5qb25lc0B1bmktbXVlbnN0 ZXIuZGU+CkRhdGU6IE1vbiwgNiBBcHIgMjAyNiAxOTo0MDo1NiArMDIwMApTdWJqZWN0OiBb UEFUQ0ggdjUgMi8yXSBUZXN0IFZBQ1VVTSBGVUxMLCBDTFVTVEVSLCBhbmQgUkVQQUNLIHdp dGggbG9ja2VkIHRlbXAKIHRhYmxlcwoKVGhpcyB0ZXN0IGNyZWF0ZXMgYSBiYWNrZ3JvdW5k IHNlc3Npb24gd2l0aCBhIHRlbXAgdGFibGUgYW5kIG1hcmtzCml0cyBpbmRleCBhcyBjbHVz dGVyZWQgKG1ha2luZyBpdCB2aXNpYmxlIHRvIGJvdGggdGhlIHBnX2NsYXNzIHNjYW4KdXNl ZCBieSBWQUNVVU0gRlVMTCBhbmQgUkVQQUNLLCBhbmQgdGhlIHBnX2luZGV4IHNjYW4gdXNl ZCBieSBDTFVTVEVSKSwKdGhlbiBob2xkcyBBQ0NFU1MgU0hBUkUgTE9DSyBpbiBhbiBvcGVu IHRyYW5zYWN0aW9uLiAgRWFjaCBjb21tYW5kCnJ1bnMgd2l0aCBsb2NrX3RpbWVvdXQgPSAn MW1zJy4gIFNpbmNlIGxvY2tfdGltZW91dCBvbmx5IGZpcmVzIHdoZW4gYQpiYWNrZW5kIGFj dHVhbGx5IGJsb2NrcyB3YWl0aW5nIGZvciBhIGxvY2ssIDFtcyBpcyBzdWZmaWNpZW50Lgot LS0KIHNyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL21lc29uLmJ1aWxkICAgICAgICB8ICAx ICsKIC4uLi90LzAxMl92YWN1dW1fY2x1c3Rlcl90ZW1wX3RhYmxlcy5wbCAgICAgICB8IDY1 ICsrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygr KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL3QvMDEy X3ZhY3V1bV9jbHVzdGVyX3RlbXBfdGFibGVzLnBsCgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv bW9kdWxlcy90ZXN0X21pc2MvbWVzb24uYnVpbGQgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3Rf bWlzYy9tZXNvbi5idWlsZAppbmRleCAxYjI1ZDk4ZjdmMy4uODk5NWJjODM3ZjIgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL21lc29uLmJ1aWxkCisrKyBiL3Ny Yy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL21lc29uLmJ1aWxkCkBAIC0yMCw2ICsyMCw3IEBA IHRlc3RzICs9IHsKICAgICAgICd0LzAwOV9sb2dfdGVtcF9maWxlcy5wbCcsCiAgICAgICAn dC8wMTBfaW5kZXhfY29uY3VycmVudGx5X3Vwc2VydC5wbCcsCiAgICAgICAndC8wMTFfbG9j a19zdGF0cy5wbCcsCisgICAgICAndC8wMTJfdmFjdXVtX2NsdXN0ZXJfdGVtcF90YWJsZXMu cGwnLAogICAgIF0sCiAgICAgIyBUaGUgaW5qZWN0aW9uIHBvaW50cyBhcmUgY2x1c3Rlci13 aWRlLCBzbyBkaXNhYmxlIGluc3RhbGxjaGVjawogICAgICdydW5uaW5nY2hlY2snOiBmYWxz ZSwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL3QvMDEyX3ZhY3V1 bV9jbHVzdGVyX3RlbXBfdGFibGVzLnBsIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2Mv dC8wMTJfdmFjdXVtX2NsdXN0ZXJfdGVtcF90YWJsZXMucGwKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLmE2MTJiNGQ2MzYxCi0tLSAvZGV2L251bGwKKysrIGIv c3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvdC8wMTJfdmFjdXVtX2NsdXN0ZXJfdGVtcF90 YWJsZXMucGwKQEAgLTAsMCArMSw2NSBAQAorIyBDb3B5cmlnaHQgKGMpIDIwMjYsIFBvc3Rn cmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisjCisjIFZlcmlmeSB0aGF0IG5vLWFy Z3VtZW50IFZBQ1VVTSBGVUxMLCBDTFVTVEVSLCBhbmQgUkVQQUNLIHNraXAgdGVtcG9yYXJ5 CisjIHRhYmxlcyBiZWxvbmdpbmcgdG8gb3RoZXIgc2Vzc2lvbnMuCisjCisjIEEgYmFja2dy b3VuZCBzZXNzaW9uIGNyZWF0ZXMgYSB0ZW1wIHRhYmxlIGFuZCBtYXJrcyBpdHMgaW5kZXgg YXMgY2x1c3RlcmVkIOKAlAorIyBtYWtpbmcgaXQgdmlzaWJsZSB0byBib3RoIHRoZSBwZ19j bGFzcyBzY2FuIChWQUNVVU0gRlVMTCwgUkVQQUNLKSBhbmQgdGhlCisjIHBnX2luZGV4IHNj YW4gKENMVVNURVIpIOKAlCB0aGVuIGhvbGRzIEFDQ0VTUyBTSEFSRSBMT0NLIGluIGFuIG9w ZW4gdHJhbnNhY3Rpb24uCisjIEVhY2ggY29tbWFuZCBydW5zIHdpdGggbG9ja190aW1lb3V0 ID0gJzFtcycuIFNpbmNlIGxvY2tfdGltZW91dCBvbmx5CisjIGZpcmVzIHdoZW4gYSBiYWNr ZW5kIGFjdHVhbGx5IGJsb2NrcyB3YWl0aW5nIGZvciBhIGxvY2ssIDFtcyBpcyBzdWZmaWNp ZW50LgorCit1c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdzOwordXNlIFBvc3RncmVTUUw6OlRl c3Q6OkNsdXN0ZXI7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7Cit1c2UgVGVzdDo6 TW9yZTsKKworbXkgJG5vZGUgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3Zh Y3V1bV9jbHVzdGVyX3RlbXAnKTsKKyRub2RlLT5pbml0OworJG5vZGUtPnN0YXJ0OworCisj IFNlc3Npb24gMTogYnVpbGQgdGhlIHRlbXAgdGFibGUgYW5kIGhvbGQgYSBjb25mbGljdGlu ZyBsb2NrLgorbXkgJHBzcWwxID0gJG5vZGUtPmJhY2tncm91bmRfcHNxbCgncG9zdGdyZXMn KTsKKworJHBzcWwxLT5xdWVyeV9zYWZlKAorCXF7Q1JFQVRFIFRFTVAgVEFCTEUgdGVtcF9y ZXBhY2tfdGVzdCAodmFsIGludCk7CisJICBJTlNFUlQgSU5UTyB0ZW1wX3JlcGFja190ZXN0 IFZBTFVFUyAoMSk7CisJICBDUkVBVEUgSU5ERVggdGVtcF9yZXBhY2tfaWR4IE9OIHRlbXBf cmVwYWNrX3Rlc3QgKHZhbCk7CisJICBDTFVTVEVSIHRlbXBfcmVwYWNrX3Rlc3QgVVNJTkcg dGVtcF9yZXBhY2tfaWR4O30pOworCiskcHNxbDEtPnF1ZXJ5X3NhZmUocXtCRUdJTn0pOwor JHBzcWwxLT5xdWVyeV9zYWZlKHF7TE9DSyBUQUJMRSB0ZW1wX3JlcGFja190ZXN0IElOIEFD Q0VTUyBTSEFSRSBNT0RFfSk7CisKK215ICgkc3Rkb3V0LCAkc3RkZXJyLCAkcmV0KTsKKwor IyBWQUNVVU0gRlVMTCDigJQgcGdfY2xhc3Mgc2NhbiBwYXRoLgorJHJldCA9ICRub2RlLT5w c3FsKAorCSdwb3N0Z3JlcycsCisJIlNFVCBsb2NrX3RpbWVvdXQgPSAnMW1zJzsgVkFDVVVN IEZVTEw7IiwKKwlzdGRvdXQgPT4gXCRzdGRvdXQsCisJc3RkZXJyID0+IFwkc3RkZXJyKTsK K2lzKCRyZXQsIDAsCisJJ1ZBQ1VVTSBGVUxMIGNvbXBsZXRlcyB3aXRob3V0IGJsb2NraW5n IG9uIGFub3RoZXIgc2Vzc2lvbiB0ZW1wIHRhYmxlJyk7CisKKyMgQ0xVU1RFUiDigJQgcGdf aW5kZXggc2NhbiBwYXRoIChpbmRpc2NsdXN0ZXJlZCBlbnRyaWVzKS4KKyRyZXQgPSAkbm9k ZS0+cHNxbCgKKwkncG9zdGdyZXMnLAorCSJTRVQgbG9ja190aW1lb3V0ID0gJzFtcyc7IENM VVNURVI7IiwKKwlzdGRvdXQgPT4gXCRzdGRvdXQsCisJc3RkZXJyID0+IFwkc3RkZXJyKTsK K2lzKCRyZXQsIDAsCisJJ0NMVVNURVIgY29tcGxldGVzIHdpdGhvdXQgYmxvY2tpbmcgb24g YW5vdGhlciBzZXNzaW9uIHRlbXAgdGFibGUnKTsKKworIyBSRVBBQ0sg4oCUIHBnX2NsYXNz IHNjYW4gcGF0aC4KKyRyZXQgPSAkbm9kZS0+cHNxbCgKKwkncG9zdGdyZXMnLAorCSJTRVQg bG9ja190aW1lb3V0ID0gJzFtcyc7IFJFUEFDSzsiLAorCXN0ZG91dCA9PiBcJHN0ZG91dCwK KwlzdGRlcnIgPT4gXCRzdGRlcnIpOworaXMoJHJldCwgMCwKKwknUkVQQUNLIGNvbXBsZXRl cyB3aXRob3V0IGJsb2NraW5nIG9uIGFub3RoZXIgc2Vzc2lvbiB0ZW1wIHRhYmxlJyk7CisK KyRwc3FsMS0+cXVpdDsKKworZG9uZV90ZXN0aW5nKCk7Ci0tIAoyLjQzLjAKCg== --------------051tyERLWlYxPXdLOWAsVZaL--