Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q6WVf-0006Fj-Gw for pgsql-hackers@arkaria.postgresql.org; Tue, 06 Jun 2023 13:14:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1q6WVe-0005JN-EF for pgsql-hackers@arkaria.postgresql.org; Tue, 06 Jun 2023 13:14:02 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q6WVd-0005EV-ME for pgsql-hackers@lists.postgresql.org; Tue, 06 Jun 2023 13:14:02 +0000 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1q6WVZ-000XD7-GD for pgsql-hackers@lists.postgresql.org; Tue, 06 Jun 2023 13:14:00 +0000 Received: by mail-oo1-xc2c.google.com with SMTP id 006d021491bc7-558565cc58fso4681116eaf.0 for ; Tue, 06 Jun 2023 06:13:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686057237; x=1688649237; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=QdqZbWc9DMi+6XNjmICjaCxKT7foEK7/D6pvhwwM9Vs=; b=FQyISgGXeSe3WOzbUwI6+xt/i5qpLEj/Lc+ArdoJ4jgGWBLRQT0d0CtZi94wsfVht5 YmkWVh6HVGPU1Wd9uvS2JCC865rFQ2NNDuse5ZGq8TDNcZYuL6QCM6ZoTnFhljnKp2Re iGAbo7UNfhdMQbvadm6bdmhvs6OVEM4VFIQ7lem0RrsZpRnRS/0IlsL/+gkQB6axICXE XbNKFkulnEa6rUK7LxnlSGVPNDX9iIbpMByfDsMwkhpeiIvDZI6uIqBStNeyib+N7+7w 0hOh/XCl5ocvwAEE8vMV+FGFKzkAaDmZfnyMPl8wjoLS8MEq3N1gxsyJl4Hdw0BNksW8 8sRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686057237; x=1688649237; 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=QdqZbWc9DMi+6XNjmICjaCxKT7foEK7/D6pvhwwM9Vs=; b=VBE01feNOUVqw+XJ+ZstIJRzqAHzVEoiIF5ay0jU9peu49b7nsC2avsTx/sU199QvT HM/At1ZaYH362SrUXS7HAZ2N7RA9gXPWVSsl5rU6BJ3drCRwBnRaqdnrYXHunQCKBI3O jUlWbrIOw9pdOGegDYHT5WqvozrDJV5pJb1Y0sCy3YAVH+bvjT5W6WirZh+l4AVZTkfS 5b+5EXgCpsLBjqDnMmw/+ZLspf8nvxlznyuL3MBK+Xxo5FuoQRb9o4mnJvYTqY4c7Ya/ 7MrVTa6PgoUjAOy/VAfEoCDbLqb7sAKD6TnOR9739QFiDV2HQbvHi3X5jg7hcKgpww4/ j1zA== X-Gm-Message-State: AC+VfDxdJ9mt1KZjPO/SYMrdRxltJoFIyNz3iJMzxQY8hOI89ZE22vfs u7qJ1LfTeUjydK8NkfXMJCf5FSRR6IA+A7QMM5B3UAX1qjg= X-Google-Smtp-Source: ACHHUZ4qR7BaUUiD/0YbyNU0Wpjuvf2dtu1cosrF2NcRSb0V/jYmUduDdsYLL1l1HuXtdbfhkeFHEc933VpY2+9z7P8= X-Received: by 2002:a4a:ca8e:0:b0:558:a782:520d with SMTP id x14-20020a4aca8e000000b00558a782520dmr1664100ooq.8.1686057236685; Tue, 06 Jun 2023 06:13:56 -0700 (PDT) MIME-Version: 1.0 References: <87cz2otiw3.fsf@wibble.ilmari.org> In-Reply-To: From: vignesh C Date: Tue, 6 Jun 2023 18:43:44 +0530 Message-ID: Subject: Re: Implement generalized sub routine find_in_log for tap test To: Michael Paquier Cc: Amit Kapila , Andrew Dunstan , =?UTF-8?Q?Dagfinn_Ilmari_Manns=C3=A5ker?= , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000aa009e05fd75cada" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000aa009e05fd75cada Content-Type: text/plain; charset="UTF-8" On Tue, 6 Jun 2023 at 09:36, Michael Paquier wrote: > > On Tue, Jun 06, 2023 at 08:05:49AM +0530, Amit Kapila wrote: > > Personally, I don't see any problem to do this refactoring for v16. > > However, sometimes, we do decide to backpatch refactoring in tests to > > avoid backpatch effort. I am not completely sure if that is the case > > here. > > 033_replay_tsp_drops.pl has one find_in_log() down to 11, and > 019_replslot_limit.pl has four calls down to 14. Making things > consistent everywhere is a rather appealing argument to ease future > backpatching. So I am OK to spend a few extra cycles in adjusting > these routines all the way down where needed. I'll do that tomorrow > once I get back in front of my laptop. > > Note that connect_ok() and connect_fails() are new to 14, so this > part has no need to go further down than that. Please find the attached patches that can be applied on back branches too. v5*master.patch can be applied on master, v5*PG15.patch can be applied on PG15, v5*PG14.patch can be applied on PG14, v5*PG13.patch can be applied on PG13, v5*PG12.patch can be applied on PG12, PG11 and PG10. Regards, Vignesh --000000000000aa009e05fd75cada Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0001-Remove-duplicate-find_in_log-sub-routines-from-ta_PG13.patch" Content-Disposition: attachment; filename="v5-0001-Remove-duplicate-find_in_log-sub-routines-from-ta_PG13.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_likaxc9p2 RnJvbSBkNTgyNjc2MjE0ZjNmZDUwNjhjMzQzZjQyMTE2ZmEyNTZiZTE4OTU4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgNiBKdW4gMjAyMyAxNzowNzozNyArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjVdIFJlbW92 ZSBkdXBsaWNhdGUgZmluZF9pbl9sb2cgc3ViIHJvdXRpbmVzIGZyb20gdGFwIHRlc3RzLgoKUmVt b3ZlIGR1cGxpY2F0ZSBmaW5kX2luX2xvZyBzdWIgcm91dGluZXMgZnJvbSB0YXAgdGVzdHMuCi0t LQogc3JjL3Rlc3QvcGVybC9Qb3N0Z3Jlc05vZGUucG0gICAgICAgICAgICAgICB8IDE1ICsrKysr KysrKysrKysKIHNyYy90ZXN0L3JlY292ZXJ5L3QvMDE5X3JlcGxzbG90X2xpbWl0LnBsICAgfCAy NSArKysrLS0tLS0tLS0tLS0tLS0tLS0KIHNyYy90ZXN0L3JlY292ZXJ5L3QvMDMzX3JlcGxheV90 c3BfZHJvcHMucGwgfCAxNCArKy0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0 aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcGVybC9Qb3N0 Z3Jlc05vZGUucG0gYi9zcmMvdGVzdC9wZXJsL1Bvc3RncmVzTm9kZS5wbQppbmRleCBiN2U0ZGJk MGU4Li5jZTkyNGRlMGIyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9wZXJsL1Bvc3RncmVzTm9kZS5w bQorKysgYi9zcmMvdGVzdC9wZXJsL1Bvc3RncmVzTm9kZS5wbQpAQCAtMjA4MSw2ICsyMDgxLDIx IEBAIHN1YiBpc3N1ZXNfc3FsX2xpa2UKIAogPXBvZAogCis9aXRlbSAkbm9kZS0+bG9nX2NvbnRh aW5zKHBhdHRlcm4sIG9mZnNldCkKKworRmluZCBwYXR0ZXJuIGluIGxvZ2ZpbGUgb2Ygbm9kZSBh ZnRlciBvZmZzZXQgYnl0ZS4KKworPWN1dAorCitzdWIgbG9nX2NvbnRhaW5zCit7CisJbXkgKCRz ZWxmLCAkcGF0dGVybiwgJG9mZnNldCkgPSBAXzsKKworCXJldHVybiBUZXN0TGliOjpzbHVycF9m aWxlKCRzZWxmLT5sb2dmaWxlLCAkb2Zmc2V0KSA9fiBtLyRwYXR0ZXJuLzsKK30KKworPXBvZAor CiA9aXRlbSAkbm9kZS0+cnVuX2xvZyguLi4pCiAKIFJ1bnMgYSBzaGVsbCBjb21tYW5kIGxpa2Ug VGVzdExpYjo6cnVuX2xvZywgYnV0IHdpdGggY29ubmVjdGlvbiBwYXJhbWV0ZXJzIHNldApkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwgYi9zcmMv dGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1pdC5wbAppbmRleCA3YTg5NTRkYWQyLi5k MzZjOTU0NTg4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9s aW1pdC5wbAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1pdC5wbApA QCAtMTY1LDggKzE2NSw3IEBAICRub2RlX21hc3Rlci0+d2FpdF9mb3JfY2F0Y2h1cCgkbm9kZV9z dGFuZGJ5LCAncmVwbGF5JywgJHN0YXJ0X2xzbik7CiAKICRub2RlX3N0YW5kYnktPnN0b3A7CiAK LW9rKCAhZmluZF9pbl9sb2coCi0JCSRub2RlX3N0YW5kYnksCitvayggISRub2RlX3N0YW5kYnkt PmxvZ19jb250YWlucygKIAkJInJlcXVlc3RlZCBXQUwgc2VnbWVudCBbMC05QS1GXSsgaGFzIGFs cmVhZHkgYmVlbiByZW1vdmVkIiksCiAJJ2NoZWNrIHRoYXQgcmVxdWlyZWQgV0FMIHNlZ21lbnRz IGFyZSBzdGlsbCBhdmFpbGFibGUnKTsKIApAQCAtMTg4LDggKzE4Nyw3IEBAICRub2RlX21hc3Rl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDSEVDS1BPSU5UOyIpOwogbXkgJGludmFsaWRhdGVk ID0gMDsKIGZvciAobXkgJGkgPSAwOyAkaSA8IDEwMDAwOyAkaSsrKQogewotCWlmIChmaW5kX2lu X2xvZygKLQkJCSRub2RlX21hc3RlciwKKwlpZiAoJG5vZGVfbWFzdGVyLT5sb2dfY29udGFpbnMo CiAJCQkiaW52YWxpZGF0aW5nIHNsb3QgXCJyZXAxXCIgYmVjYXVzZSBpdHMgcmVzdGFydF9sc24g WzAtOUEtRi9dKyBleGNlZWRzIG1heF9zbG90X3dhbF9rZWVwX3NpemUiLAogCQkJJGxvZ3N0YXJ0 KSkKIAl7CkBAIC0yMTIsNyArMjEwLDcgQEAgaXMoJHJlc3VsdCwgInJlcDF8Znx0fGxvc3R8IiwK IG15ICRjaGVja3BvaW50X2VuZGVkID0gMDsKIGZvciAobXkgJGkgPSAwOyAkaSA8IDEwMDAwOyAk aSsrKQogewotCWlmIChmaW5kX2luX2xvZygkbm9kZV9tYXN0ZXIsICJjaGVja3BvaW50IGNvbXBs ZXRlOiAiLCAkbG9nc3RhcnQpKQorCWlmICgkbm9kZV9tYXN0ZXItPmxvZ19jb250YWlucygiY2hl Y2twb2ludCBjb21wbGV0ZTogIiwgJGxvZ3N0YXJ0KSkKIAl7CiAJCSRjaGVja3BvaW50X2VuZGVk ID0gMTsKIAkJbGFzdDsKQEAgLTI0Miw4ICsyNDAsNyBAQCAkbm9kZV9zdGFuZGJ5LT5zdGFydDsK IG15ICRmYWlsZWQgPSAwOwogZm9yIChteSAkaSA9IDA7ICRpIDwgMTAwMDA7ICRpKyspCiB7Ci0J aWYgKGZpbmRfaW5fbG9nKAotCQkJJG5vZGVfc3RhbmRieSwKKwlpZiAoJG5vZGVfc3RhbmRieS0+ bG9nX2NvbnRhaW5zKAogCQkJInJlcXVlc3RlZCBXQUwgc2VnbWVudCBbMC05QS1GXSsgaGFzIGFs cmVhZHkgYmVlbiByZW1vdmVkIiwKIAkJCSRsb2dzdGFydCkpCiAJewpAQCAtMzE4LDE3ICszMTUs MyBAQCBzdWIgZ2V0X2xvZ19zaXplCiAKIAlyZXR1cm4gKHN0YXQgJG5vZGUtPmxvZ2ZpbGUpWzdd OwogfQotCi0jIGZpbmQgJHBhdCBpbiBsb2dmaWxlIG9mICRub2RlIGFmdGVyICRvZmYtdGggYnl0 ZQotc3ViIGZpbmRfaW5fbG9nCi17Ci0JbXkgKCRub2RlLCAkcGF0LCAkb2ZmKSA9IEBfOwotCi0J JG9mZiA9IDAgdW5sZXNzIGRlZmluZWQgJG9mZjsKLQlteSAkbG9nID0gVGVzdExpYjo6c2x1cnBf ZmlsZSgkbm9kZS0+bG9nZmlsZSk7Ci0JcmV0dXJuIDAgaWYgKGxlbmd0aCgkbG9nKSA8PSAkb2Zm KTsKLQotCSRsb2cgPSBzdWJzdHIoJGxvZywgJG9mZik7Ci0KLQlyZXR1cm4gJGxvZyA9fiBtLyRw YXQvOwotfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzNfcmVwbGF5X3RzcF9k cm9wcy5wbCBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMzX3JlcGxheV90c3BfZHJvcHMucGwKaW5k ZXggMTQwZDk0ZGIzMS4uNGM4ZjRlNzk3MCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVjb3Zlcnkv dC8wMzNfcmVwbGF5X3RzcF9kcm9wcy5wbAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAzM19y ZXBsYXlfdHNwX2Ryb3BzLnBsCkBAIC0xMzIsMjEgKzEzMiwxMSBAQCB3aGlsZSAoJG1heF9hdHRl bXB0cy0tID49IDApCiB7CiAJbGFzdAogCSAgaWYgKAotCQlmaW5kX2luX2xvZygKLQkJCSRub2Rl X3N0YW5kYnksIHFyIVdBUk5JTkc6ICggW0EtWjAtOV0rOik/IGNyZWF0aW5nIG1pc3NpbmcgZGly ZWN0b3J5OiBwZ190YmxzcGMvISwKKwkJJG5vZGVfc3RhbmRieS0+bG9nX2NvbnRhaW5zKAorCQkJ cXIhV0FSTklORzogKCBbQS1aMC05XSs6KT8gY3JlYXRpbmcgbWlzc2luZyBkaXJlY3Rvcnk6IHBn X3RibHNwYy8hLAogCQkJJGxvZ3N0YXJ0KSk7CiAJdXNsZWVwKDEwMF8wMDApOwogfQogb2soJG1h eF9hdHRlbXB0cyA+IDAsICJpbnZhbGlkIGRpcmVjdG9yeSBjcmVhdGlvbiBpcyBkZXRlY3RlZCIp OwogCiBkb25lX3Rlc3RpbmcoKTsKLQotIyBmaW5kICRwYXQgaW4gbG9nZmlsZSBvZiAkbm9kZSBh ZnRlciAkb2ZmLXRoIGJ5dGUKLXN1YiBmaW5kX2luX2xvZwotewotCW15ICgkbm9kZSwgJHBhdCwg JG9mZikgPSBAXzsKLQotCW15ICRsb2cgPSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6c2x1cnBf ZmlsZSgkbm9kZS0+bG9nZmlsZSwgJG9mZik7Ci0KLQlyZXR1cm4gJGxvZyA9fiBtLyRwYXQvOwot fQotLSAKMi4zNC4xCgo= --000000000000aa009e05fd75cada Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0001-Have-find_in_log-sub-routine-as-a-common-routine_PG12.patch" Content-Disposition: attachment; filename="v5-0001-Have-find_in_log-sub-routine-as-a-common-routine_PG12.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_likaxc8p0 RnJvbSA3NTcwZTU1YTlmMDEyMWE5ZTJlMGExMmY0ZTg3MThjYzUzMTgxMWM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgNiBKdW4gMjAyMyAxNzoyMDozNCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjVdIEhhdmUg ZmluZF9pbl9sb2cgc3ViIHJvdXRpbmUgYXMgYSBjb21tb24gcm91dGluZSBhdmFpbGFibGUKIGZv ciBhbGwgdGFwIHRlc3RzLgoKSGF2ZSBmaW5kX2luX2xvZyBzdWIgcm91dGluZSBhcyBhIGNvbW1v biByb3V0aW5lIGF2YWlsYWJsZSBmb3IgYWxsIHRhcAp0ZXN0cy4KLS0tCiBzcmMvdGVzdC9wZXJs L1Bvc3RncmVzTm9kZS5wbSAgICAgICAgICAgICAgIHwgMTUgKysrKysrKysrKysrKysrCiBzcmMv dGVzdC9yZWNvdmVyeS90LzAzM19yZXBsYXlfdHNwX2Ryb3BzLnBsIHwgMTQgKystLS0tLS0tLS0t LS0KIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcGVybC9Qb3N0Z3Jlc05vZGUucG0gYi9zcmMvdGVzdC9wZXJs L1Bvc3RncmVzTm9kZS5wbQppbmRleCA2NTA2MzA4ZmYxLi44ZmFlNGViMWJiIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9wZXJsL1Bvc3RncmVzTm9kZS5wbQorKysgYi9zcmMvdGVzdC9wZXJsL1Bvc3Rn cmVzTm9kZS5wbQpAQCAtMTk3Miw2ICsxOTcyLDIxIEBAIHN1YiBpc3N1ZXNfc3FsX2xpa2UKIAog PXBvZAogCis9aXRlbSAkbm9kZS0+bG9nX2NvbnRhaW5zKHBhdHRlcm4sIG9mZnNldCkKKworRmlu ZCBwYXR0ZXJuIGluIGxvZ2ZpbGUgb2Ygbm9kZSBhZnRlciBvZmZzZXQgYnl0ZS4KKworPWN1dAor CitzdWIgbG9nX2NvbnRhaW5zCit7CisJbXkgKCRzZWxmLCAkcGF0dGVybiwgJG9mZnNldCkgPSBA XzsKKworCXJldHVybiBUZXN0TGliOjpzbHVycF9maWxlKCRzZWxmLT5sb2dmaWxlLCAkb2Zmc2V0 KSA9fiBtLyRwYXR0ZXJuLzsKK30KKworPXBvZAorCiA9aXRlbSAkbm9kZS0+cnVuX2xvZyguLi4p CiAKIFJ1bnMgYSBzaGVsbCBjb21tYW5kIGxpa2UgVGVzdExpYjo6cnVuX2xvZywgYnV0IHdpdGgg Y29ubmVjdGlvbiBwYXJhbWV0ZXJzIHNldApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3Zlcnkv dC8wMzNfcmVwbGF5X3RzcF9kcm9wcy5wbCBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMzX3JlcGxh eV90c3BfZHJvcHMucGwKaW5kZXggMTQwZDk0ZGIzMS4uNGM4ZjRlNzk3MCAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzNfcmVwbGF5X3RzcF9kcm9wcy5wbAorKysgYi9zcmMvdGVz dC9yZWNvdmVyeS90LzAzM19yZXBsYXlfdHNwX2Ryb3BzLnBsCkBAIC0xMzIsMjEgKzEzMiwxMSBA QCB3aGlsZSAoJG1heF9hdHRlbXB0cy0tID49IDApCiB7CiAJbGFzdAogCSAgaWYgKAotCQlmaW5k X2luX2xvZygKLQkJCSRub2RlX3N0YW5kYnksIHFyIVdBUk5JTkc6ICggW0EtWjAtOV0rOik/IGNy ZWF0aW5nIG1pc3NpbmcgZGlyZWN0b3J5OiBwZ190YmxzcGMvISwKKwkJJG5vZGVfc3RhbmRieS0+ bG9nX2NvbnRhaW5zKAorCQkJcXIhV0FSTklORzogKCBbQS1aMC05XSs6KT8gY3JlYXRpbmcgbWlz c2luZyBkaXJlY3Rvcnk6IHBnX3RibHNwYy8hLAogCQkJJGxvZ3N0YXJ0KSk7CiAJdXNsZWVwKDEw MF8wMDApOwogfQogb2soJG1heF9hdHRlbXB0cyA+IDAsICJpbnZhbGlkIGRpcmVjdG9yeSBjcmVh dGlvbiBpcyBkZXRlY3RlZCIpOwogCiBkb25lX3Rlc3RpbmcoKTsKLQotIyBmaW5kICRwYXQgaW4g bG9nZmlsZSBvZiAkbm9kZSBhZnRlciAkb2ZmLXRoIGJ5dGUKLXN1YiBmaW5kX2luX2xvZwotewot CW15ICgkbm9kZSwgJHBhdCwgJG9mZikgPSBAXzsKLQotCW15ICRsb2cgPSBQb3N0Z3JlU1FMOjpU ZXN0OjpVdGlsczo6c2x1cnBfZmlsZSgkbm9kZS0+bG9nZmlsZSwgJG9mZik7Ci0KLQlyZXR1cm4g JGxvZyA9fiBtLyRwYXQvOwotfQotLSAKMi4zNC4xCgo= --000000000000aa009e05fd75cada Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0001-Remove-duplicate-find_in_log-sub-routines-from-ta_PG14.patch" Content-Disposition: attachment; filename="v5-0001-Remove-duplicate-find_in_log-sub-routines-from-ta_PG14.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_likaxc9p3 RnJvbSA5NGE5YzNlNjJkZjVjNDA0NDI3MWJhZGE3OGFmOGZhNTg2OWYwYTI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgNiBKdW4gMjAyMyAxNjo0MDoxNyArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjUgMS8yXSBS ZW1vdmUgZHVwbGljYXRlIGZpbmRfaW5fbG9nIHN1YiByb3V0aW5lcyBmcm9tIHRhcAogdGVzdHMu CgpSZW1vdmUgZHVwbGljYXRlIGZpbmRfaW5fbG9nIHN1YiByb3V0aW5lcyBmcm9tIHRhcCB0ZXN0 cy4KLS0tCiBzcmMvdGVzdC9wZXJsL1Bvc3RncmVzTm9kZS5wbSAgICAgICAgICAgICAgIHwgMTUg KysrKysrKysrKwogc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwgICB8 IDMxICsrKystLS0tLS0tLS0tLS0tLS0tLQogc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzNfcmVwbGF5 X3RzcF9kcm9wcy5wbCB8IDE0ICsrLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0 aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcGVybC9Qb3N0 Z3Jlc05vZGUucG0gYi9zcmMvdGVzdC9wZXJsL1Bvc3RncmVzTm9kZS5wbQppbmRleCBjY2UzZjYy MWU3Li5iNDhiZjE3YTQwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9wZXJsL1Bvc3RncmVzTm9kZS5w bQorKysgYi9zcmMvdGVzdC9wZXJsL1Bvc3RncmVzTm9kZS5wbQpAQCAtMjQ1OSw2ICsyNDU5LDIx IEBAIHN1YiBpc3N1ZXNfc3FsX2xpa2UKIAogPXBvZAogCis9aXRlbSAkbm9kZS0+bG9nX2NvbnRh aW5zKHBhdHRlcm4sIG9mZnNldCkKKworRmluZCBwYXR0ZXJuIGluIGxvZ2ZpbGUgb2Ygbm9kZSBh ZnRlciBvZmZzZXQgYnl0ZS4KKworPWN1dAorCitzdWIgbG9nX2NvbnRhaW5zCit7CisJbXkgKCRz ZWxmLCAkcGF0dGVybiwgJG9mZnNldCkgPSBAXzsKKworCXJldHVybiBUZXN0TGliOjpzbHVycF9m aWxlKCRzZWxmLT5sb2dmaWxlLCAkb2Zmc2V0KSA9fiBtLyRwYXR0ZXJuLzsKK30KKworPXBvZAor CiA9aXRlbSAkbm9kZS0+cnVuX2xvZyguLi4pCiAKIFJ1bnMgYSBzaGVsbCBjb21tYW5kIGxpa2Ug VGVzdExpYjo6cnVuX2xvZywgYnV0IHdpdGggY29ubmVjdGlvbiBwYXJhbWV0ZXJzIHNldApkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwgYi9zcmMv dGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1pdC5wbAppbmRleCBmNmRjZjBhZjFkLi4x ZWVjOThmMmM5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9s aW1pdC5wbAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1pdC5wbApA QCAtMTY4LDggKzE2OCw3IEBAICRub2RlX3ByaW1hcnktPndhaXRfZm9yX2NhdGNodXAoJG5vZGVf c3RhbmRieSwgJ3JlcGxheScsICRzdGFydF9sc24pOwogCiAkbm9kZV9zdGFuZGJ5LT5zdG9wOwog Ci1vayggIWZpbmRfaW5fbG9nKAotCQkkbm9kZV9zdGFuZGJ5LAorb2soICEkbm9kZV9zdGFuZGJ5 LT5sb2dfY29udGFpbnMoCiAJCSJyZXF1ZXN0ZWQgV0FMIHNlZ21lbnQgWzAtOUEtRl0rIGhhcyBh bHJlYWR5IGJlZW4gcmVtb3ZlZCIpLAogCSdjaGVjayB0aGF0IHJlcXVpcmVkIFdBTCBzZWdtZW50 cyBhcmUgc3RpbGwgYXZhaWxhYmxlJyk7CiAKQEAgLTE5MSw4ICsxOTAsNyBAQCAkbm9kZV9wcmlt YXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNIRUNLUE9JTlQ7Iik7CiBteSAkaW52YWxpZGF0 ZWQgPSAwOwogZm9yIChteSAkaSA9IDA7ICRpIDwgMTAwMDA7ICRpKyspCiB7Ci0JaWYgKGZpbmRf aW5fbG9nKAotCQkJJG5vZGVfcHJpbWFyeSwKKwlpZiAoJG5vZGVfcHJpbWFyeS0+bG9nX2NvbnRh aW5zKAogCQkJImludmFsaWRhdGluZyBzbG90IFwicmVwMVwiIGJlY2F1c2UgaXRzIHJlc3RhcnRf bHNuIFswLTlBLUYvXSsgZXhjZWVkcyBtYXhfc2xvdF93YWxfa2VlcF9zaXplIiwKIAkJCSRsb2dz dGFydCkpCiAJewpAQCAtMjE1LDcgKzIxMyw3IEBAIGlzKCRyZXN1bHQsICJyZXAxfGZ8dHxsb3N0 fCIsCiBteSAkY2hlY2twb2ludF9lbmRlZCA9IDA7CiBmb3IgKG15ICRpID0gMDsgJGkgPCAxMDAw MDsgJGkrKykKIHsKLQlpZiAoZmluZF9pbl9sb2coJG5vZGVfcHJpbWFyeSwgImNoZWNrcG9pbnQg Y29tcGxldGU6ICIsICRsb2dzdGFydCkpCisJaWYgKCRub2RlX3ByaW1hcnktPmxvZ19jb250YWlu cygiY2hlY2twb2ludCBjb21wbGV0ZTogIiwgJGxvZ3N0YXJ0KSkKIAl7CiAJCSRjaGVja3BvaW50 X2VuZGVkID0gMTsKIAkJbGFzdDsKQEAgLTI0NSw4ICsyNDMsNyBAQCAkbm9kZV9zdGFuZGJ5LT5z dGFydDsKIG15ICRmYWlsZWQgPSAwOwogZm9yIChteSAkaSA9IDA7ICRpIDwgMTAwMDA7ICRpKysp CiB7Ci0JaWYgKGZpbmRfaW5fbG9nKAotCQkJJG5vZGVfc3RhbmRieSwKKwlpZiAoJG5vZGVfc3Rh bmRieS0+bG9nX2NvbnRhaW5zKAogCQkJInJlcXVlc3RlZCBXQUwgc2VnbWVudCBbMC05QS1GXSsg aGFzIGFscmVhZHkgYmVlbiByZW1vdmVkIiwKIAkJCSRsb2dzdGFydCkpCiAJewpAQCAtMzUxLDgg KzM0OCw3IEBAIGFkdmFuY2Vfd2FsKCRub2RlX3ByaW1hcnkzLCAyKTsKIG15ICRtYXhfYXR0ZW1w dHMgPSAkVGVzdExpYjo6dGltZW91dF9kZWZhdWx0Owogd2hpbGUgKCRtYXhfYXR0ZW1wdHMtLSA+ PSAwKQogewotCWlmIChmaW5kX2luX2xvZygKLQkJCSRub2RlX3ByaW1hcnkzLAorCWlmICgkbm9k ZV9wcmltYXJ5My0+bG9nX2NvbnRhaW5zKAogCQkJInRlcm1pbmF0aW5nIHByb2Nlc3MgJHNlbmRl cnBpZCB0byByZWxlYXNlIHJlcGxpY2F0aW9uIHNsb3QgXCJyZXAzXCIiLAogCQkJJGxvZ3N0YXJ0 KSkKIAl7CkBAIC0zNzQsOCArMzcwLDcgQEAgJG5vZGVfcHJpbWFyeTMtPnBvbGxfcXVlcnlfdW50 aWwoJ3Bvc3RncmVzJywKICRtYXhfYXR0ZW1wdHMgPSAkVGVzdExpYjo6dGltZW91dF9kZWZhdWx0 Owogd2hpbGUgKCRtYXhfYXR0ZW1wdHMtLSA+PSAwKQogewotCWlmIChmaW5kX2luX2xvZygKLQkJ CSRub2RlX3ByaW1hcnkzLAorCWlmICgkbm9kZV9wcmltYXJ5My0+bG9nX2NvbnRhaW5zKAogCQkJ J2ludmFsaWRhdGluZyBzbG90ICJyZXAzIiBiZWNhdXNlIGl0cyByZXN0YXJ0X2xzbicsICRsb2dz dGFydCkpCiAJewogCQlvaygxLCAic2xvdCBpbnZhbGlkYXRpb24gbG9nZ2VkIik7CkBAIC00MTIs MTcgKzQwNywzIEBAIHN1YiBnZXRfbG9nX3NpemUKIAogCXJldHVybiAoc3RhdCAkbm9kZS0+bG9n ZmlsZSlbN107CiB9Ci0KLSMgZmluZCAkcGF0IGluIGxvZ2ZpbGUgb2YgJG5vZGUgYWZ0ZXIgJG9m Zi10aCBieXRlCi1zdWIgZmluZF9pbl9sb2cKLXsKLQlteSAoJG5vZGUsICRwYXQsICRvZmYpID0g QF87Ci0KLQkkb2ZmID0gMCB1bmxlc3MgZGVmaW5lZCAkb2ZmOwotCW15ICRsb2cgPSBUZXN0TGli OjpzbHVycF9maWxlKCRub2RlLT5sb2dmaWxlKTsKLQlyZXR1cm4gMCBpZiAobGVuZ3RoKCRsb2cp IDw9ICRvZmYpOwotCi0JJGxvZyA9IHN1YnN0cigkbG9nLCAkb2ZmKTsKLQotCXJldHVybiAkbG9n ID1+IG0vJHBhdC87Ci19CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAzM19yZXBs YXlfdHNwX2Ryb3BzLnBsIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzNfcmVwbGF5X3RzcF9kcm9w cy5wbAppbmRleCAxNDBkOTRkYjMxLi40YzhmNGU3OTcwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWNvdmVyeS90LzAzM19yZXBsYXlfdHNwX2Ryb3BzLnBsCisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5 L3QvMDMzX3JlcGxheV90c3BfZHJvcHMucGwKQEAgLTEzMiwyMSArMTMyLDExIEBAIHdoaWxlICgk bWF4X2F0dGVtcHRzLS0gPj0gMCkKIHsKIAlsYXN0CiAJICBpZiAoCi0JCWZpbmRfaW5fbG9nKAot CQkJJG5vZGVfc3RhbmRieSwgcXIhV0FSTklORzogKCBbQS1aMC05XSs6KT8gY3JlYXRpbmcgbWlz c2luZyBkaXJlY3Rvcnk6IHBnX3RibHNwYy8hLAorCQkkbm9kZV9zdGFuZGJ5LT5sb2dfY29udGFp bnMoCisJCQlxciFXQVJOSU5HOiAoIFtBLVowLTldKzopPyBjcmVhdGluZyBtaXNzaW5nIGRpcmVj dG9yeTogcGdfdGJsc3BjLyEsCiAJCQkkbG9nc3RhcnQpKTsKIAl1c2xlZXAoMTAwXzAwMCk7CiB9 CiBvaygkbWF4X2F0dGVtcHRzID4gMCwgImludmFsaWQgZGlyZWN0b3J5IGNyZWF0aW9uIGlzIGRl dGVjdGVkIik7CiAKIGRvbmVfdGVzdGluZygpOwotCi0jIGZpbmQgJHBhdCBpbiBsb2dmaWxlIG9m ICRub2RlIGFmdGVyICRvZmYtdGggYnl0ZQotc3ViIGZpbmRfaW5fbG9nCi17Ci0JbXkgKCRub2Rl LCAkcGF0LCAkb2ZmKSA9IEBfOwotCi0JbXkgJGxvZyA9IFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxz OjpzbHVycF9maWxlKCRub2RlLT5sb2dmaWxlLCAkb2ZmKTsKLQotCXJldHVybiAkbG9nID1+IG0v JHBhdC87Ci19Ci0tIAoyLjM0LjEKCg== --000000000000aa009e05fd75cada Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0001-Remove-duplicate-find_in_log-sub-routines-from-ta_master.patch" Content-Disposition: attachment; filename="v5-0001-Remove-duplicate-find_in_log-sub-routines-from-ta_master.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_likaxc9o1 RnJvbSBlODMxZTI2YzA2OTk0YzY1NmI2MWE5OWRlZTg2YzQ3MTBkNWUzN2ExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMjYgTWF5IDIwMjMgMjA6MDc6MzAgKzA1MzAKU3ViamVjdDogW1BBVENIIHY1IDEvMl0g UmVtb3ZlIGR1cGxpY2F0ZSBmaW5kX2luX2xvZyBzdWIgcm91dGluZXMgZnJvbSB0YXAKIHRlc3Rz LgoKUmVtb3ZlIGR1cGxpY2F0ZSBmaW5kX2luX2xvZyBzdWIgcm91dGluZXMgZnJvbSB0YXAgdGVz dHMuCi0tLQogc3JjL3Rlc3QvYXV0aGVudGljYXRpb24vdC8wMDNfcGVlci5wbCAgICAgICAgIHwg MTcgKystLS0tLS0tLQogc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbSAg ICAgIHwgMTUgKysrKysrKysrCiBzcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1p dC5wbCAgICAgfCAzMyArKysrKy0tLS0tLS0tLS0tLS0tCiBzcmMvdGVzdC9yZWNvdmVyeS90LzAz M19yZXBsYXlfdHNwX2Ryb3BzLnBsICAgfCAxMyArLS0tLS0tLQogLi4uL3QvMDM1X3N0YW5kYnlf bG9naWNhbF9kZWNvZGluZy5wbCAgICAgICAgIHwgMjYgKysrLS0tLS0tLS0tLS0tCiA1IGZpbGVz IGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDczIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L2F1dGhlbnRpY2F0aW9uL3QvMDAzX3BlZXIucGwgYi9zcmMvdGVzdC9hdXRoZW50 aWNhdGlvbi90LzAwM19wZWVyLnBsCmluZGV4IDMyNzJlNTJjYWUuLmQ4ZTQ5NzYwNzIgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L2F1dGhlbnRpY2F0aW9uL3QvMDAzX3BlZXIucGwKKysrIGIvc3JjL3Rl c3QvYXV0aGVudGljYXRpb24vdC8wMDNfcGVlci5wbApAQCAtNjksMTcgKzY5LDYgQEAgc3ViIHRl c3Rfcm9sZQogCX0KIH0KIAotIyBGaW5kICRwYXR0ZXJuIGluIGxvZyBmaWxlIG9mICRub2RlLgot c3ViIGZpbmRfaW5fbG9nCi17Ci0JbXkgKCRub2RlLCAkb2Zmc2V0LCAkcGF0dGVybikgPSBAXzsK LQotCW15ICRsb2cgPSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6c2x1cnBfZmlsZSgkbm9kZS0+ bG9nZmlsZSwgJG9mZnNldCk7Ci0JcmV0dXJuIDAgaWYgKGxlbmd0aCgkbG9nKSA8PSAwKTsKLQot CXJldHVybiAkbG9nID1+IG0vJHBhdHRlcm4vOwotfQotCiBteSAkbm9kZSA9IFBvc3RncmVTUUw6 OlRlc3Q6OkNsdXN0ZXItPm5ldygnbm9kZScpOwogJG5vZGUtPmluaXQ7CiAkbm9kZS0+YXBwZW5k X2NvbmYoJ3Bvc3RncmVzcWwuY29uZicsICJsb2dfY29ubmVjdGlvbnMgPSBvblxuIik7CkBAIC05 MSw5ICs4MCw5IEBAIHJlc2V0X3BnX2hiYSgkbm9kZSwgJ3BlZXInKTsKICMgQ2hlY2sgaWYgcGVl ciBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4KIG15ICRsb2df b2Zmc2V0ID0gLXMgJG5vZGUtPmxvZ2ZpbGU7CiAkbm9kZS0+cHNxbCgncG9zdGdyZXMnKTsKLWlm IChmaW5kX2luX2xvZygKLQkJJG5vZGUsICRsb2dfb2Zmc2V0LAotCQlxci9wZWVyIGF1dGhlbnRp Y2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS8pKQoraWYgKCRub2RlLT5s b2dfY29udGFpbnMoCisJCXFyL3BlZXIgYXV0aGVudGljYXRpb24gaXMgbm90IHN1cHBvcnRlZCBv biB0aGlzIHBsYXRmb3JtLywKKwkJJGxvZ19vZmZzZXQpKQogewogCXBsYW4gc2tpcF9hbGwgPT4g J3BlZXIgYXV0aGVudGljYXRpb24gaXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtJzsK IH0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0g Yi9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtCmluZGV4IGJhZWEwZmNk MWMuLjRkZjdkZDRkZWMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0 L0NsdXN0ZXIucG0KKysrIGIvc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5w bQpAQCAtMjUzNiw2ICsyNTM2LDIxIEBAIHN1YiBsb2dfY29udGVudAogfQogCiAKKz1wb2QKKwor PWl0ZW0gbG9nX2NvbnRhaW5zKHBhdHRlcm4sIG9mZnNldCkKKworRmluZCBwYXR0ZXJuIGluIGxv Z2ZpbGUgb2Ygbm9kZSBhZnRlciBvZmZzZXQgYnl0ZS4KKworPWN1dAorCitzdWIgbG9nX2NvbnRh aW5zCit7CisJbXkgKCRzZWxmLCAkcGF0dGVybiwgJG9mZnNldCkgPSBAXzsKKworCXJldHVybiBQ b3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6c2x1cnBfZmlsZSgkc2VsZi0+bG9nZmlsZSwgJG9mZnNl dCkgPX4gbS8kcGF0dGVybi87Cit9CisKID1wb2QKIAogPWl0ZW0gJG5vZGUtPnJ1bl9sb2coLi4u KQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwg Yi9zcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1pdC5wbAppbmRleCBhMWFiYTE2 ZTE0Li45NWFjZjllMzU3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBs c2xvdF9saW1pdC5wbAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1p dC5wbApAQCAtMTYxLDggKzE2MSw3IEBAICRub2RlX3ByaW1hcnktPndhaXRfZm9yX2NhdGNodXAo JG5vZGVfc3RhbmRieSk7CiAKICRub2RlX3N0YW5kYnktPnN0b3A7CiAKLW9rKCAhZmluZF9pbl9s b2coCi0JCSRub2RlX3N0YW5kYnksCitvayggISRub2RlX3N0YW5kYnktPmxvZ19jb250YWlucygK IAkJInJlcXVlc3RlZCBXQUwgc2VnbWVudCBbMC05QS1GXSsgaGFzIGFscmVhZHkgYmVlbiByZW1v dmVkIiksCiAJJ2NoZWNrIHRoYXQgcmVxdWlyZWQgV0FMIHNlZ21lbnRzIGFyZSBzdGlsbCBhdmFp bGFibGUnKTsKIApAQCAtMTg0LDggKzE4Myw4IEBAICRub2RlX3ByaW1hcnktPnNhZmVfcHNxbCgn cG9zdGdyZXMnLCAiQ0hFQ0tQT0lOVDsiKTsKIG15ICRpbnZhbGlkYXRlZCA9IDA7CiBmb3IgKG15 ICRpID0gMDsgJGkgPCAxMCAqICRQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6dGltZW91dF9kZWZh dWx0OyAkaSsrKQogewotCWlmIChmaW5kX2luX2xvZygKLQkJCSRub2RlX3ByaW1hcnksICdpbnZh bGlkYXRpbmcgb2Jzb2xldGUgcmVwbGljYXRpb24gc2xvdCAicmVwMSInLAorCWlmICgkbm9kZV9w cmltYXJ5LT5sb2dfY29udGFpbnMoCisJCQknaW52YWxpZGF0aW5nIG9ic29sZXRlIHJlcGxpY2F0 aW9uIHNsb3QgInJlcDEiJywKIAkJCSRsb2dzdGFydCkpCiAJewogCQkkaW52YWxpZGF0ZWQgPSAx OwpAQCAtMjA3LDcgKzIwNiw3IEBAIGlzKCRyZXN1bHQsICJyZXAxfGZ8dHxsb3N0fCIsCiBteSAk Y2hlY2twb2ludF9lbmRlZCA9IDA7CiBmb3IgKG15ICRpID0gMDsgJGkgPCAxMCAqICRQb3N0Z3Jl U1FMOjpUZXN0OjpVdGlsczo6dGltZW91dF9kZWZhdWx0OyAkaSsrKQogewotCWlmIChmaW5kX2lu X2xvZygkbm9kZV9wcmltYXJ5LCAiY2hlY2twb2ludCBjb21wbGV0ZTogIiwgJGxvZ3N0YXJ0KSkK KwlpZiAoJG5vZGVfcHJpbWFyeS0+bG9nX2NvbnRhaW5zKCJjaGVja3BvaW50IGNvbXBsZXRlOiAi LCAkbG9nc3RhcnQpKQogCXsKIAkJJGNoZWNrcG9pbnRfZW5kZWQgPSAxOwogCQlsYXN0OwpAQCAt MjM3LDggKzIzNiw3IEBAICRub2RlX3N0YW5kYnktPnN0YXJ0OwogbXkgJGZhaWxlZCA9IDA7CiBm b3IgKG15ICRpID0gMDsgJGkgPCAxMCAqICRQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6dGltZW91 dF9kZWZhdWx0OyAkaSsrKQogewotCWlmIChmaW5kX2luX2xvZygKLQkJCSRub2RlX3N0YW5kYnks CisJaWYgKCRub2RlX3N0YW5kYnktPmxvZ19jb250YWlucygKIAkJCSJyZXF1ZXN0ZWQgV0FMIHNl Z21lbnQgWzAtOUEtRl0rIGhhcyBhbHJlYWR5IGJlZW4gcmVtb3ZlZCIsCiAJCQkkbG9nc3RhcnQp KQogCXsKQEAgLTM4MSw4ICszNzksNyBAQCBteSAkbXNnX2xvZ2dlZCA9IDA7CiBteSAkbWF4X2F0 dGVtcHRzID0gJFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjp0aW1lb3V0X2RlZmF1bHQ7CiB3aGls ZSAoJG1heF9hdHRlbXB0cy0tID49IDApCiB7Ci0JaWYgKGZpbmRfaW5fbG9nKAotCQkJJG5vZGVf cHJpbWFyeTMsCisJaWYgKCRub2RlX3ByaW1hcnkzLT5sb2dfY29udGFpbnMoCiAJCQkidGVybWlu YXRpbmcgcHJvY2VzcyAkc2VuZGVycGlkIHRvIHJlbGVhc2UgcmVwbGljYXRpb24gc2xvdCBcInJl cDNcIiIsCiAJCQkkbG9nc3RhcnQpKQogCXsKQEAgLTQwNiw4ICs0MDMsOCBAQCAkbXNnX2xvZ2dl ZCA9IDA7CiAkbWF4X2F0dGVtcHRzID0gJFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjp0aW1lb3V0 X2RlZmF1bHQ7CiB3aGlsZSAoJG1heF9hdHRlbXB0cy0tID49IDApCiB7Ci0JaWYgKGZpbmRfaW5f bG9nKAotCQkJJG5vZGVfcHJpbWFyeTMsICdpbnZhbGlkYXRpbmcgb2Jzb2xldGUgcmVwbGljYXRp b24gc2xvdCAicmVwMyInLAorCWlmICgkbm9kZV9wcmltYXJ5My0+bG9nX2NvbnRhaW5zKAorCQkJ J2ludmFsaWRhdGluZyBvYnNvbGV0ZSByZXBsaWNhdGlvbiBzbG90ICJyZXAzIicsCiAJCQkkbG9n c3RhcnQpKQogCXsKIAkJJG1zZ19sb2dnZWQgPSAxOwpAQCAtNDQ2LDE4ICs0NDMsNCBAQCBzdWIg Z2V0X2xvZ19zaXplCiAJcmV0dXJuIChzdGF0ICRub2RlLT5sb2dmaWxlKVs3XTsKIH0KIAotIyBm aW5kICRwYXQgaW4gbG9nZmlsZSBvZiAkbm9kZSBhZnRlciAkb2ZmLXRoIGJ5dGUKLXN1YiBmaW5k X2luX2xvZwotewotCW15ICgkbm9kZSwgJHBhdCwgJG9mZikgPSBAXzsKLQotCSRvZmYgPSAwIHVu bGVzcyBkZWZpbmVkICRvZmY7Ci0JbXkgJGxvZyA9IFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjpz bHVycF9maWxlKCRub2RlLT5sb2dmaWxlKTsKLQlyZXR1cm4gMCBpZiAobGVuZ3RoKCRsb2cpIDw9 ICRvZmYpOwotCi0JJGxvZyA9IHN1YnN0cigkbG9nLCAkb2ZmKTsKLQotCXJldHVybiAkbG9nID1+ IG0vJHBhdC87Ci19Ci0KIGRvbmVfdGVzdGluZygpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVj b3ZlcnkvdC8wMzNfcmVwbGF5X3RzcF9kcm9wcy5wbCBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMz X3JlcGxheV90c3BfZHJvcHMucGwKaW5kZXggMGEzNWE3YmRhNi4uYWY5N2VkOWY3MCAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzNfcmVwbGF5X3RzcF9kcm9wcy5wbAorKysgYi9z cmMvdGVzdC9yZWNvdmVyeS90LzAzM19yZXBsYXlfdHNwX2Ryb3BzLnBsCkBAIC0xMzUsOCArMTM1 LDcgQEAgd2hpbGUgKCRtYXhfYXR0ZW1wdHMtLSA+PSAwKQogewogCWxhc3QKIAkgIGlmICgKLQkJ ZmluZF9pbl9sb2coCi0JCQkkbm9kZV9zdGFuZGJ5LAorCQkkbm9kZV9zdGFuZGJ5LT5sb2dfY29u dGFpbnMoCiAJCQlxciFXQVJOSU5HOiAoIFtBLVowLTldKzopPyBjcmVhdGluZyBtaXNzaW5nIGRp cmVjdG9yeTogcGdfdGJsc3BjLyEsCiAJCQkkbG9nc3RhcnQpKTsKIAl1c2xlZXAoMTAwXzAwMCk7 CkBAIC0xNDQsMTMgKzE0MywzIEBAIHdoaWxlICgkbWF4X2F0dGVtcHRzLS0gPj0gMCkKIG9rKCRt YXhfYXR0ZW1wdHMgPiAwLCAiaW52YWxpZCBkaXJlY3RvcnkgY3JlYXRpb24gaXMgZGV0ZWN0ZWQi KTsKIAogZG9uZV90ZXN0aW5nKCk7Ci0KLSMgZmluZCAkcGF0IGluIGxvZ2ZpbGUgb2YgJG5vZGUg YWZ0ZXIgJG9mZi10aCBieXRlCi1zdWIgZmluZF9pbl9sb2cKLXsKLQlteSAoJG5vZGUsICRwYXQs ICRvZmYpID0gQF87Ci0KLQlteSAkbG9nID0gUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnNsdXJw X2ZpbGUoJG5vZGUtPmxvZ2ZpbGUsICRvZmYpOwotCi0JcmV0dXJuICRsb2cgPX4gbS8kcGF0LzsK LX0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDM1X3N0YW5kYnlfbG9naWNhbF9k ZWNvZGluZy5wbCBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDM1X3N0YW5kYnlfbG9naWNhbF9kZWNv ZGluZy5wbAppbmRleCA2NGJlZWM0YmQzLi40ODBlNmQ2Y2FhIDEwMDY0NAotLS0gYS9zcmMvdGVz dC9yZWNvdmVyeS90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2RpbmcucGwKKysrIGIvc3JjL3Rl c3QvcmVjb3ZlcnkvdC8wMzVfc3RhbmRieV9sb2dpY2FsX2RlY29kaW5nLnBsCkBAIC0yOCwyMCAr MjgsNiBAQCBteSAkcmVzOwogbXkgJHByaW1hcnlfc2xvdG5hbWUgPSAncHJpbWFyeV9waHlzaWNh bCc7CiBteSAkc3RhbmRieV9waHlzaWNhbF9zbG90bmFtZSA9ICdzdGFuZGJ5X3BoeXNpY2FsJzsK IAotIyBmaW5kICRwYXQgaW4gbG9nZmlsZSBvZiAkbm9kZSBhZnRlciAkb2ZmLXRoIGJ5dGUKLXN1 YiBmaW5kX2luX2xvZwotewotCW15ICgkbm9kZSwgJHBhdCwgJG9mZikgPSBAXzsKLQotCSRvZmYg PSAwIHVubGVzcyBkZWZpbmVkICRvZmY7Ci0JbXkgJGxvZyA9IFBvc3RncmVTUUw6OlRlc3Q6OlV0 aWxzOjpzbHVycF9maWxlKCRub2RlLT5sb2dmaWxlKTsKLQlyZXR1cm4gMCBpZiAobGVuZ3RoKCRs b2cpIDw9ICRvZmYpOwotCi0JJGxvZyA9IHN1YnN0cigkbG9nLCAkb2ZmKTsKLQotCXJldHVybiAk bG9nID1+IG0vJHBhdC87Ci19Ci0KICMgRmV0Y2ggeG1pbiBjb2x1bW5zIGZyb20gc2xvdCdzIHBn X3JlcGxpY2F0aW9uX3Nsb3RzIHJvdywgYWZ0ZXIgd2FpdGluZyBmb3IKICMgZ2l2ZW4gYm9vbGVh biBjb25kaXRpb24gdG8gYmUgdHJ1ZSB0byBlbnN1cmUgd2UndmUgcmVhY2hlZCBhIHF1aWVzY2Vu dCBzdGF0ZS4KIHN1YiB3YWl0X2Zvcl94bWlucwpAQCAtMjM1LDE0ICsyMjEsMTIgQEAgc3ViIGNo ZWNrX2Zvcl9pbnZhbGlkYXRpb24KIAlteSAkaW5hY3RpdmVfc2xvdCA9ICRzbG90X3ByZWZpeCAu ICdpbmFjdGl2ZXNsb3QnOwogCiAJIyBtZXNzYWdlIHNob3VsZCBiZSBpc3N1ZWQKLQlvayggZmlu ZF9pbl9sb2coCi0JCQkkbm9kZV9zdGFuZGJ5LAorCW9rKCAkbm9kZV9zdGFuZGJ5LT5sb2dfY29u dGFpbnMoCiAJCQkiaW52YWxpZGF0aW5nIG9ic29sZXRlIHJlcGxpY2F0aW9uIHNsb3QgXCIkaW5h Y3RpdmVfc2xvdFwiIiwKIAkJCSRsb2dfc3RhcnQpLAogCQkiaW5hY3RpdmVzbG90IHNsb3QgaW52 YWxpZGF0aW9uIGlzIGxvZ2dlZCAkdGVzdF9uYW1lIik7CiAKLQlvayggZmluZF9pbl9sb2coCi0J CQkkbm9kZV9zdGFuZGJ5LAorCW9rKCAkbm9kZV9zdGFuZGJ5LT5sb2dfY29udGFpbnMoCiAJCQki aW52YWxpZGF0aW5nIG9ic29sZXRlIHJlcGxpY2F0aW9uIHNsb3QgXCIkYWN0aXZlX3Nsb3RcIiIs CiAJCQkkbG9nX3N0YXJ0KSwKIAkJImFjdGl2ZXNsb3Qgc2xvdCBpbnZhbGlkYXRpb24gaXMgbG9n Z2VkICR0ZXN0X25hbWUiKTsKQEAgLTY1NywxNCArNjQxLDEyIEBAICRub2RlX3ByaW1hcnktPnNh ZmVfcHNxbCgKICRub2RlX3ByaW1hcnktPndhaXRfZm9yX3JlcGxheV9jYXRjaHVwKCRub2RlX3N0 YW5kYnkpOwogCiAjIG1lc3NhZ2Ugc2hvdWxkIG5vdCBiZSBpc3N1ZWQKLW9rKCAhZmluZF9pbl9s b2coCi0JCSRub2RlX3N0YW5kYnksCitvayggISRub2RlX3N0YW5kYnktPmxvZ19jb250YWlucygK IAkJImludmFsaWRhdGluZyBvYnNvbGV0ZSBzbG90IFwibm9fY29uZmxpY3RfaW5hY3RpdmVzbG90 XCIiLCAkbG9nc3RhcnQpLAogCSdpbmFjdGl2ZXNsb3Qgc2xvdCBpbnZhbGlkYXRpb24gaXMgbm90 IGxvZ2dlZCB3aXRoIHZhY3V1bSBvbiBjb25mbGljdF90ZXN0JwogKTsKIAotb2soICFmaW5kX2lu X2xvZygKLQkJJG5vZGVfc3RhbmRieSwKK29rKCAhJG5vZGVfc3RhbmRieS0+bG9nX2NvbnRhaW5z KAogCQkiaW52YWxpZGF0aW5nIG9ic29sZXRlIHNsb3QgXCJub19jb25mbGljdF9hY3RpdmVzbG90 XCIiLCAkbG9nc3RhcnQpLAogCSdhY3RpdmVzbG90IHNsb3QgaW52YWxpZGF0aW9uIGlzIG5vdCBs b2dnZWQgd2l0aCB2YWN1dW0gb24gY29uZmxpY3RfdGVzdCcKICk7Ci0tIAoyLjM0LjEKCg== --000000000000aa009e05fd75cada Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0001-Remove-duplicate-find_in_log-sub-routines-from-ta_PG15.patch" Content-Disposition: attachment; filename="v5-0001-Remove-duplicate-find_in_log-sub-routines-from-ta_PG15.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_likaxc9q4 RnJvbSBhOTFlOGIxMjg0MGRmZTlhYWVhNDI1ZjFjZjAyNTVkNTg0OWNiY2IwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgNiBKdW4gMjAyMyAxNTo0ODo1MCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjUgMS8yXSBS ZW1vdmUgZHVwbGljYXRlIGZpbmRfaW5fbG9nIHN1YiByb3V0aW5lcyBmcm9tIHRhcAogdGVzdHMu CgpSZW1vdmUgZHVwbGljYXRlIGZpbmRfaW5fbG9nIHN1YiByb3V0aW5lcyBmcm9tIHRhcCB0ZXN0 cy4KLS0tCiBzcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtICAgIHwgMTUg KysrKysrKysrKwogc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwgICB8 IDMxICsrKystLS0tLS0tLS0tLS0tLS0tLQogc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzNfcmVwbGF5 X3RzcF9kcm9wcy5wbCB8IDE0ICsrLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0 aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcGVybC9Qb3N0 Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbSBiL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0Ns dXN0ZXIucG0KaW5kZXggNjlhOGZmM2Q3NC4uNTA2M2U3NzM2OCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbQorKysgYi9zcmMvdGVzdC9wZXJsL1Bv c3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtCkBAIC0yNTU5LDYgKzI1NTksMjEgQEAgc3ViIGlzc3Vl c19zcWxfbGlrZQogCiA9cG9kCiAKKz1pdGVtIGxvZ19jb250YWlucyhwYXR0ZXJuLCBvZmZzZXQp CisKK0ZpbmQgcGF0dGVybiBpbiBsb2dmaWxlIG9mIG5vZGUgYWZ0ZXIgb2Zmc2V0IGJ5dGUuCisK Kz1jdXQKKworc3ViIGxvZ19jb250YWlucworeworCW15ICgkc2VsZiwgJHBhdHRlcm4sICRvZmZz ZXQpID0gQF87CisKKwlyZXR1cm4gUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnNsdXJwX2ZpbGUo JHNlbGYtPmxvZ2ZpbGUsICRvZmZzZXQpID1+IG0vJHBhdHRlcm4vOworfQorCis9cG9kCisKID1p dGVtICRub2RlLT5ydW5fbG9nKC4uLikKIAogUnVucyBhIHNoZWxsIGNvbW1hbmQgbGlrZSBQb3N0 Z3JlU1FMOjpUZXN0OjpVdGlsczo6cnVuX2xvZywgYnV0IHdpdGggY29ubmVjdGlvbiBwYXJhbWV0 ZXJzIHNldApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGlt aXQucGwgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1pdC5wbAppbmRleCA4 NGM5YzRiMGIzLi40ZWMxYTlhYjMzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAx OV9yZXBsc2xvdF9saW1pdC5wbAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xv dF9saW1pdC5wbApAQCAtMTYzLDggKzE2Myw3IEBAICRub2RlX3ByaW1hcnktPndhaXRfZm9yX2Nh dGNodXAoJG5vZGVfc3RhbmRieSk7CiAKICRub2RlX3N0YW5kYnktPnN0b3A7CiAKLW9rKCAhZmlu ZF9pbl9sb2coCi0JCSRub2RlX3N0YW5kYnksCitvayggISRub2RlX3N0YW5kYnktPmxvZ19jb250 YWlucygKIAkJInJlcXVlc3RlZCBXQUwgc2VnbWVudCBbMC05QS1GXSsgaGFzIGFscmVhZHkgYmVl biByZW1vdmVkIiksCiAJJ2NoZWNrIHRoYXQgcmVxdWlyZWQgV0FMIHNlZ21lbnRzIGFyZSBzdGls bCBhdmFpbGFibGUnKTsKIApAQCAtMTg2LDggKzE4NSw3IEBAICRub2RlX3ByaW1hcnktPnNhZmVf cHNxbCgncG9zdGdyZXMnLCAiQ0hFQ0tQT0lOVDsiKTsKIG15ICRpbnZhbGlkYXRlZCA9IDA7CiBm b3IgKG15ICRpID0gMDsgJGkgPCAxMDAwMDsgJGkrKykKIHsKLQlpZiAoZmluZF9pbl9sb2coCi0J CQkkbm9kZV9wcmltYXJ5LAorCWlmICgkbm9kZV9wcmltYXJ5LT5sb2dfY29udGFpbnMoCiAJCQki aW52YWxpZGF0aW5nIHNsb3QgXCJyZXAxXCIgYmVjYXVzZSBpdHMgcmVzdGFydF9sc24gWzAtOUEt Ri9dKyBleGNlZWRzIG1heF9zbG90X3dhbF9rZWVwX3NpemUiLAogCQkJJGxvZ3N0YXJ0KSkKIAl7 CkBAIC0yMTAsNyArMjA4LDcgQEAgaXMoJHJlc3VsdCwgInJlcDF8Znx0fGxvc3R8IiwKIG15ICRj aGVja3BvaW50X2VuZGVkID0gMDsKIGZvciAobXkgJGkgPSAwOyAkaSA8IDEwMDAwOyAkaSsrKQog ewotCWlmIChmaW5kX2luX2xvZygkbm9kZV9wcmltYXJ5LCAiY2hlY2twb2ludCBjb21wbGV0ZTog IiwgJGxvZ3N0YXJ0KSkKKwlpZiAoJG5vZGVfcHJpbWFyeS0+bG9nX2NvbnRhaW5zKCJjaGVja3Bv aW50IGNvbXBsZXRlOiAiLCAkbG9nc3RhcnQpKQogCXsKIAkJJGNoZWNrcG9pbnRfZW5kZWQgPSAx OwogCQlsYXN0OwpAQCAtMjQwLDggKzIzOCw3IEBAICRub2RlX3N0YW5kYnktPnN0YXJ0OwogbXkg JGZhaWxlZCA9IDA7CiBmb3IgKG15ICRpID0gMDsgJGkgPCAxMDAwMDsgJGkrKykKIHsKLQlpZiAo ZmluZF9pbl9sb2coCi0JCQkkbm9kZV9zdGFuZGJ5LAorCWlmICgkbm9kZV9zdGFuZGJ5LT5sb2df Y29udGFpbnMoCiAJCQkicmVxdWVzdGVkIFdBTCBzZWdtZW50IFswLTlBLUZdKyBoYXMgYWxyZWFk eSBiZWVuIHJlbW92ZWQiLAogCQkJJGxvZ3N0YXJ0KSkKIAl7CkBAIC0zODQsOCArMzgxLDcgQEAg YWR2YW5jZV93YWwoJG5vZGVfcHJpbWFyeTMsIDIpOwogbXkgJG1heF9hdHRlbXB0cyA9ICRQb3N0 Z3JlU1FMOjpUZXN0OjpVdGlsczo6dGltZW91dF9kZWZhdWx0Owogd2hpbGUgKCRtYXhfYXR0ZW1w dHMtLSA+PSAwKQogewotCWlmIChmaW5kX2luX2xvZygKLQkJCSRub2RlX3ByaW1hcnkzLAorCWlm ICgkbm9kZV9wcmltYXJ5My0+bG9nX2NvbnRhaW5zKAogCQkJInRlcm1pbmF0aW5nIHByb2Nlc3Mg JHNlbmRlcnBpZCB0byByZWxlYXNlIHJlcGxpY2F0aW9uIHNsb3QgXCJyZXAzXCIiLAogCQkJJGxv Z3N0YXJ0KSkKIAl7CkBAIC00MDcsOCArNDAzLDcgQEAgJG5vZGVfcHJpbWFyeTMtPnBvbGxfcXVl cnlfdW50aWwoJ3Bvc3RncmVzJywKICRtYXhfYXR0ZW1wdHMgPSAkUG9zdGdyZVNRTDo6VGVzdDo6 VXRpbHM6OnRpbWVvdXRfZGVmYXVsdDsKIHdoaWxlICgkbWF4X2F0dGVtcHRzLS0gPj0gMCkKIHsK LQlpZiAoZmluZF9pbl9sb2coCi0JCQkkbm9kZV9wcmltYXJ5MywKKwlpZiAoJG5vZGVfcHJpbWFy eTMtPmxvZ19jb250YWlucygKIAkJCSdpbnZhbGlkYXRpbmcgc2xvdCAicmVwMyIgYmVjYXVzZSBp dHMgcmVzdGFydF9sc24nLCAkbG9nc3RhcnQpKQogCXsKIAkJb2soMSwgInNsb3QgaW52YWxpZGF0 aW9uIGxvZ2dlZCIpOwpAQCAtNDQ2LDE4ICs0NDEsNCBAQCBzdWIgZ2V0X2xvZ19zaXplCiAJcmV0 dXJuIChzdGF0ICRub2RlLT5sb2dmaWxlKVs3XTsKIH0KIAotIyBmaW5kICRwYXQgaW4gbG9nZmls ZSBvZiAkbm9kZSBhZnRlciAkb2ZmLXRoIGJ5dGUKLXN1YiBmaW5kX2luX2xvZwotewotCW15ICgk bm9kZSwgJHBhdCwgJG9mZikgPSBAXzsKLQotCSRvZmYgPSAwIHVubGVzcyBkZWZpbmVkICRvZmY7 Ci0JbXkgJGxvZyA9IFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjpzbHVycF9maWxlKCRub2RlLT5s b2dmaWxlKTsKLQlyZXR1cm4gMCBpZiAobGVuZ3RoKCRsb2cpIDw9ICRvZmYpOwotCi0JJGxvZyA9 IHN1YnN0cigkbG9nLCAkb2ZmKTsKLQotCXJldHVybiAkbG9nID1+IG0vJHBhdC87Ci19Ci0KIGRv bmVfdGVzdGluZygpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzNfcmVwbGF5 X3RzcF9kcm9wcy5wbCBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMzX3JlcGxheV90c3BfZHJvcHMu cGwKaW5kZXggNTdmZWUyMTI3Ni4uNjRjMzI5NmE3MCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVj b3ZlcnkvdC8wMzNfcmVwbGF5X3RzcF9kcm9wcy5wbAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90 LzAzM19yZXBsYXlfdHNwX2Ryb3BzLnBsCkBAIC0xMzgsMjEgKzEzOCwxMSBAQCB3aGlsZSAoJG1h eF9hdHRlbXB0cy0tID49IDApCiB7CiAJbGFzdAogCSAgaWYgKAotCQlmaW5kX2luX2xvZygKLQkJ CSRub2RlX3N0YW5kYnksIHFyIVdBUk5JTkc6ICggW0EtWjAtOV0rOik/IGNyZWF0aW5nIG1pc3Np bmcgZGlyZWN0b3J5OiBwZ190YmxzcGMvISwKKwkJJG5vZGVfc3RhbmRieS0+bG9nX2NvbnRhaW5z KAorCQkJcXIhV0FSTklORzogKCBbQS1aMC05XSs6KT8gY3JlYXRpbmcgbWlzc2luZyBkaXJlY3Rv cnk6IHBnX3RibHNwYy8hLAogCQkJJGxvZ3N0YXJ0KSk7CiAJdXNsZWVwKDEwMF8wMDApOwogfQog b2soJG1heF9hdHRlbXB0cyA+IDAsICJpbnZhbGlkIGRpcmVjdG9yeSBjcmVhdGlvbiBpcyBkZXRl Y3RlZCIpOwogCiBkb25lX3Rlc3RpbmcoKTsKLQotIyBmaW5kICRwYXQgaW4gbG9nZmlsZSBvZiAk bm9kZSBhZnRlciAkb2ZmLXRoIGJ5dGUKLXN1YiBmaW5kX2luX2xvZwotewotCW15ICgkbm9kZSwg JHBhdCwgJG9mZikgPSBAXzsKLQotCW15ICRsb2cgPSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6 c2x1cnBfZmlsZSgkbm9kZS0+bG9nZmlsZSwgJG9mZik7Ci0KLQlyZXR1cm4gJGxvZyA9fiBtLyRw YXQvOwotfQotLSAKMi4zNC4xCgo= --000000000000aa009e05fd75cada Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0002-Move-common-connection-log-content-verification-c_master.patch" Content-Disposition: attachment; filename="v5-0002-Move-common-connection-log-content-verification-c_master.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_likaxc9r5 RnJvbSBmOTZhNTM3MTI5YTc0MGZlODk5OGU3MjAxYWMwNTJkM2U2M2Q0MTI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFNhdCwgMjcgTWF5IDIwMjMgMDU6MzY6MzQgKzA1MzAKU3ViamVjdDogW1BBVENIIHY1IDIvMl0g TW92ZSBjb21tb24gY29ubmVjdGlvbiBsb2cgY29udGVudCB2ZXJpZmljYXRpb24gY29kZQogdG8g YSBjb21tb24gZnVuY3Rpb24uCgpNb3ZlIGNvbW1vbiBjb25uZWN0aW9uIGxvZyBjb250ZW50IHZl cmlmaWNhdGlvbiBjb2RlIHRvIGEgY29tbW9uCmZ1bmN0aW9uLgotLS0KIHNyYy90ZXN0L3Blcmwv UG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0gfCAxMjEgKysrKysrKysrKysrLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtIGIvc3JjL3Rl c3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbQppbmRleCA0ZGY3ZGQ0ZGVjLi4xOWNi YzQ2MzkwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVy LnBtCisrKyBiL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0KQEAgLTIx ODYsMTUgKzIxODYsOSBAQCBJZiB0aGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBzZXQsIG1hdGNo ZXMgaXQgd2l0aCB0aGUgb3V0cHV0IGdlbmVyYXRlZC4KIAogPWl0ZW0gbG9nX2xpa2UgPT4gWyBx ci9yZXF1aXJlZCBtZXNzYWdlLyBdCiAKLUlmIGdpdmVuLCBpdCBtdXN0IGJlIGFuIGFycmF5IHJl ZmVyZW5jZSBjb250YWluaW5nIGEgbGlzdCBvZiByZWd1bGFyCi1leHByZXNzaW9ucyB0aGF0IG11 c3QgbWF0Y2ggYWdhaW5zdCB0aGUgc2VydmVyIGxvZywgdXNpbmcKLUM8VGVzdDo6TW9yZTo6bGlr ZSgpPi4KLQogPWl0ZW0gbG9nX3VubGlrZSA9PiBbIHFyL3Byb2hpYml0ZWQgbWVzc2FnZS8gXQog Ci1JZiBnaXZlbiwgaXQgbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2UgY29udGFpbmluZyBhIGxp c3Qgb2YgcmVndWxhcgotZXhwcmVzc2lvbnMgdGhhdCBtdXN0IE5PVCBtYXRjaCBhZ2FpbnN0IHRo ZSBzZXJ2ZXIgbG9nLiAgVGhleSB3aWxsIGJlCi1wYXNzZWQgdG8gQzxUZXN0OjpNb3JlOjp1bmxp a2UoKT4uCitTZWUgQzxsb2dfY2hlY2soLi4uKT4uCiAKID1iYWNrCiAKQEAgLTIyMTUsMTYgKzIy MDksNiBAQCBzdWIgY29ubmVjdF9vawogCQkkc3FsID0gIlNFTEVDVCBcJFwkY29ubmVjdGVkIHdp dGggJGNvbm5zdHJcJFwkIjsKIAl9CiAKLQlteSAoQGxvZ19saWtlLCBAbG9nX3VubGlrZSk7Ci0J aWYgKGRlZmluZWQoJHBhcmFtc3tsb2dfbGlrZX0pKQotCXsKLQkJQGxvZ19saWtlID0gQHsgJHBh cmFtc3tsb2dfbGlrZX0gfTsKLQl9Ci0JaWYgKGRlZmluZWQoJHBhcmFtc3tsb2dfdW5saWtlfSkp Ci0JewotCQlAbG9nX3VubGlrZSA9IEB7ICRwYXJhbXN7bG9nX3VubGlrZX0gfTsKLQl9Ci0KIAlt eSAkbG9nX2xvY2F0aW9uID0gLXMgJHNlbGYtPmxvZ2ZpbGU7CiAKIAkjIE5ldmVyIHByb21wdCBm b3IgYSBwYXNzd29yZCwgYW55IGNhbGxlcnMgb2YgdGhpcyByb3V0aW5lIHNob3VsZApAQCAtMjI0 NSwyMCArMjIyOSw3IEBAIHN1YiBjb25uZWN0X29rCiAKIAlpcygkc3RkZXJyLCAiIiwgIiR0ZXN0 X25hbWU6IG5vIHN0ZGVyciIpOwogCi0JaWYgKEBsb2dfbGlrZSBvciBAbG9nX3VubGlrZSkKLQl7 Ci0JCW15ICRsb2dfY29udGVudHMgPQotCQkgIFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjpzbHVy cF9maWxlKCRzZWxmLT5sb2dmaWxlLCAkbG9nX2xvY2F0aW9uKTsKLQotCQl3aGlsZSAobXkgJHJl Z2V4ID0gc2hpZnQgQGxvZ19saWtlKQotCQl7Ci0JCQlsaWtlKCRsb2dfY29udGVudHMsICRyZWdl eCwgIiR0ZXN0X25hbWU6IGxvZyBtYXRjaGVzIik7Ci0JCX0KLQkJd2hpbGUgKG15ICRyZWdleCA9 IHNoaWZ0IEBsb2dfdW5saWtlKQotCQl7Ci0JCQl1bmxpa2UoJGxvZ19jb250ZW50cywgJHJlZ2V4 LCAiJHRlc3RfbmFtZTogbG9nIGRvZXMgbm90IG1hdGNoIik7Ci0JCX0KLQl9CisJJHNlbGYtPmxv Z19jaGVjaygkdGVzdF9uYW1lLCAkbG9nX2xvY2F0aW9uLCAlcGFyYW1zKTsKIH0KIAogPXBvZApA QCAtMjI3OCw3ICsyMjQ5LDcgQEAgSWYgdGhpcyByZWd1bGFyIGV4cHJlc3Npb24gaXMgc2V0LCBt YXRjaGVzIGl0IHdpdGggdGhlIG91dHB1dCBnZW5lcmF0ZWQuCiAKID1pdGVtIGxvZ191bmxpa2Ug PT4gWyBxci9wcm9oaWJpdGVkIG1lc3NhZ2UvIF0KIAotU2VlIEM8Y29ubmVjdF9vayguLi4pPiwg YWJvdmUuCitTZWUgQzxsb2dfY2hlY2soLi4uKT4uCiAKID1iYWNrCiAKQEAgLTIyODksMTYgKzIy NjAsNiBAQCBzdWIgY29ubmVjdF9mYWlscwogCWxvY2FsICRUZXN0OjpCdWlsZGVyOjpMZXZlbCA9 ICRUZXN0OjpCdWlsZGVyOjpMZXZlbCArIDE7CiAJbXkgKCRzZWxmLCAkY29ubnN0ciwgJHRlc3Rf bmFtZSwgJXBhcmFtcykgPSBAXzsKIAotCW15IChAbG9nX2xpa2UsIEBsb2dfdW5saWtlKTsKLQlp ZiAoZGVmaW5lZCgkcGFyYW1ze2xvZ19saWtlfSkpCi0JewotCQlAbG9nX2xpa2UgPSBAeyAkcGFy YW1ze2xvZ19saWtlfSB9OwotCX0KLQlpZiAoZGVmaW5lZCgkcGFyYW1ze2xvZ191bmxpa2V9KSkK LQl7Ci0JCUBsb2dfdW5saWtlID0gQHsgJHBhcmFtc3tsb2dfdW5saWtlfSB9OwotCX0KLQogCW15 ICRsb2dfbG9jYXRpb24gPSAtcyAkc2VsZi0+bG9nZmlsZTsKIAogCSMgTmV2ZXIgcHJvbXB0IGZv ciBhIHBhc3N3b3JkLCBhbnkgY2FsbGVycyBvZiB0aGlzIHJvdXRpbmUgc2hvdWxkCkBAIC0yMzE2 LDIwICsyMjc3LDcgQEAgc3ViIGNvbm5lY3RfZmFpbHMKIAkJbGlrZSgkc3RkZXJyLCAkcGFyYW1z e2V4cGVjdGVkX3N0ZGVycn0sICIkdGVzdF9uYW1lOiBtYXRjaGVzIik7CiAJfQogCi0JaWYgKEBs b2dfbGlrZSBvciBAbG9nX3VubGlrZSkKLQl7Ci0JCW15ICRsb2dfY29udGVudHMgPQotCQkgIFBv c3RncmVTUUw6OlRlc3Q6OlV0aWxzOjpzbHVycF9maWxlKCRzZWxmLT5sb2dmaWxlLCAkbG9nX2xv Y2F0aW9uKTsKLQotCQl3aGlsZSAobXkgJHJlZ2V4ID0gc2hpZnQgQGxvZ19saWtlKQotCQl7Ci0J CQlsaWtlKCRsb2dfY29udGVudHMsICRyZWdleCwgIiR0ZXN0X25hbWU6IGxvZyBtYXRjaGVzIik7 Ci0JCX0KLQkJd2hpbGUgKG15ICRyZWdleCA9IHNoaWZ0IEBsb2dfdW5saWtlKQotCQl7Ci0JCQl1 bmxpa2UoJGxvZ19jb250ZW50cywgJHJlZ2V4LCAiJHRlc3RfbmFtZTogbG9nIGRvZXMgbm90IG1h dGNoIik7Ci0JCX0KLQl9CisJJHNlbGYtPmxvZ19jaGVjaygkdGVzdF9uYW1lLCAkbG9nX2xvY2F0 aW9uLCAlcGFyYW1zKTsKIH0KIAogPXBvZApAQCAtMjUzNSw2ICsyNDgzLDY3IEBAIHN1YiBsb2df Y29udGVudAogCXJldHVybiBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6c2x1cnBfZmlsZSgkc2Vs Zi0+bG9nZmlsZSk7CiB9CiAKKz1wb2QKKworPWl0ZW0gJG5vZGUtPmxvZ19jaGVjaygkb2Zmc2V0 LCAkdGVzdF9uYW1lLCAlcGFyYW1ldGVycykKKworQ2hlY2sgY29udGVudHMgb2Ygc2VydmVyIGxv Z3MuCisKKz1vdmVyCisKKz1pdGVtICR0ZXN0X25hbWUKKworTmFtZSBvZiB0ZXN0IGZvciBlcnJv ciBtZXNzYWdlcy4KKworPWl0ZW0gJG9mZnNldAorCitPZmZzZXQgb2YgdGhlIGxvZyBmaWxlLgor Cis9aXRlbSBsb2dfbGlrZSA9PiBbIHFyL3JlcXVpcmVkIG1lc3NhZ2UvIF0KKworSWYgZ2l2ZW4s IGl0IG11c3QgYmUgYW4gYXJyYXkgcmVmZXJlbmNlIGNvbnRhaW5pbmcgYSBsaXN0IG9mIHJlZ3Vs YXIKK2V4cHJlc3Npb25zIHRoYXQgbXVzdCBtYXRjaCBhZ2FpbnN0IHRoZSBzZXJ2ZXIgbG9nLCB1 c2luZworQzxUZXN0OjpNb3JlOjpsaWtlKCk+LgorCis9aXRlbSBsb2dfdW5saWtlID0+IFsgcXIv cHJvaGliaXRlZCBtZXNzYWdlLyBdCisKK0lmIGdpdmVuLCBpdCBtdXN0IGJlIGFuIGFycmF5IHJl ZmVyZW5jZSBjb250YWluaW5nIGEgbGlzdCBvZiByZWd1bGFyCitleHByZXNzaW9ucyB0aGF0IG11 c3QgTk9UIG1hdGNoIGFnYWluc3QgdGhlIHNlcnZlciBsb2cuICBUaGV5IHdpbGwgYmUKK3Bhc3Nl ZCB0byBDPFRlc3Q6Ok1vcmU6OnVubGlrZSgpPi4KKworPWJhY2sKKworPWN1dAorCitzdWIgbG9n X2NoZWNrCit7CisJbXkgKCRzZWxmLCAkdGVzdF9uYW1lLCAkb2Zmc2V0LCAlcGFyYW1zKSA9IEBf OworCisJbXkgKEBsb2dfbGlrZSwgQGxvZ191bmxpa2UpOworCWlmIChkZWZpbmVkKCRwYXJhbXN7 bG9nX2xpa2V9KSkKKwl7CisJCUBsb2dfbGlrZSA9IEB7ICRwYXJhbXN7bG9nX2xpa2V9IH07CisJ fQorCWlmIChkZWZpbmVkKCRwYXJhbXN7bG9nX3VubGlrZX0pKQorCXsKKwkJQGxvZ191bmxpa2Ug PSBAeyAkcGFyYW1ze2xvZ191bmxpa2V9IH07CisJfQorCisJaWYgKEBsb2dfbGlrZSBvciBAbG9n X3VubGlrZSkKKwl7CisJCW15ICRsb2dfY29udGVudHMgPQorCQkgIFBvc3RncmVTUUw6OlRlc3Q6 OlV0aWxzOjpzbHVycF9maWxlKCRzZWxmLT5sb2dmaWxlLCAkb2Zmc2V0KTsKKworCQl3aGlsZSAo bXkgJHJlZ2V4ID0gc2hpZnQgQGxvZ19saWtlKQorCQl7CisJCQlsaWtlKCRsb2dfY29udGVudHMs ICRyZWdleCwgIiR0ZXN0X25hbWU6IGxvZyBtYXRjaGVzIik7CisJCX0KKwkJd2hpbGUgKG15ICRy ZWdleCA9IHNoaWZ0IEBsb2dfdW5saWtlKQorCQl7CisJCQl1bmxpa2UoJGxvZ19jb250ZW50cywg JHJlZ2V4LCAiJHRlc3RfbmFtZTogbG9nIGRvZXMgbm90IG1hdGNoIik7CisJCX0KKwl9Cit9CiAK ID1wb2QKIAotLSAKMi4zNC4xCgo= --000000000000aa009e05fd75cada Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0002-Move-common-connection-log-content-verification-c_PG14.patch" Content-Disposition: attachment; filename="v5-0002-Move-common-connection-log-content-verification-c_PG14.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_likaxc9s6 RnJvbSAxNmNhYmI5MDhhZjE3MGI5MGNmOTcxZjdlNDdhNjk3MTJhYTI3MjBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgNiBKdW4gMjAyMyAxNjo1MTo1NiArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjUgMi8yXSBN b3ZlIGNvbW1vbiBjb25uZWN0aW9uIGxvZyBjb250ZW50IHZlcmlmaWNhdGlvbiBjb2RlCiB0byBh IGNvbW1vbiBmdW5jdGlvbi4KCk1vdmUgY29tbW9uIGNvbm5lY3Rpb24gbG9nIGNvbnRlbnQgdmVy aWZpY2F0aW9uIGNvZGUgdG8gYSBjb21tb24KZnVuY3Rpb24uCi0tLQogc3JjL3Rlc3QvcGVybC9Q b3N0Z3Jlc05vZGUucG0gfCAxMTcgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDUyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZXNOb2RlLnBtIGIvc3JjL3Rlc3QvcGVybC9Qb3N0 Z3Jlc05vZGUucG0KaW5kZXggYjQ4YmYxN2E0MC4uMjJiYWE0Y2Y4MCAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcGVybC9Qb3N0Z3Jlc05vZGUucG0KKysrIGIvc3JjL3Rlc3QvcGVybC9Qb3N0Z3Jlc05v ZGUucG0KQEAgLTIxNDgsMTUgKzIxNDgsOSBAQCBJZiB0aGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBp cyBzZXQsIG1hdGNoZXMgaXQgd2l0aCB0aGUgb3V0cHV0IGdlbmVyYXRlZC4KIAogPWl0ZW0gbG9n X2xpa2UgPT4gWyBxci9yZXF1aXJlZCBtZXNzYWdlLyBdCiAKLUlmIGdpdmVuLCBpdCBtdXN0IGJl IGFuIGFycmF5IHJlZmVyZW5jZSBjb250YWluaW5nIGEgbGlzdCBvZiByZWd1bGFyCi1leHByZXNz aW9ucyB0aGF0IG11c3QgbWF0Y2ggYWdhaW5zdCB0aGUgc2VydmVyIGxvZywgdXNpbmcKLUM8VGVz dDo6TW9yZTo6bGlrZSgpPi4KLQogPWl0ZW0gbG9nX3VubGlrZSA9PiBbIHFyL3Byb2hpYml0ZWQg bWVzc2FnZS8gXQogCi1JZiBnaXZlbiwgaXQgbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2UgY29u dGFpbmluZyBhIGxpc3Qgb2YgcmVndWxhcgotZXhwcmVzc2lvbnMgdGhhdCBtdXN0IE5PVCBtYXRj aCBhZ2FpbnN0IHRoZSBzZXJ2ZXIgbG9nLiAgVGhleSB3aWxsIGJlCi1wYXNzZWQgdG8gQzxUZXN0 OjpNb3JlOjp1bmxpa2UoKT4uCitTZWUgQzxsb2dfY2hlY2soLi4uKT4uCiAKID1iYWNrCiAKQEAg LTIxNzcsMTYgKzIxNzEsNiBAQCBzdWIgY29ubmVjdF9vawogCQkkc3FsID0gIlNFTEVDVCBcJFwk Y29ubmVjdGVkIHdpdGggJGNvbm5zdHJcJFwkIjsKIAl9CiAKLQlteSAoQGxvZ19saWtlLCBAbG9n X3VubGlrZSk7Ci0JaWYgKGRlZmluZWQoJHBhcmFtc3tsb2dfbGlrZX0pKQotCXsKLQkJQGxvZ19s aWtlID0gQHsgJHBhcmFtc3tsb2dfbGlrZX0gfTsKLQl9Ci0JaWYgKGRlZmluZWQoJHBhcmFtc3ts b2dfdW5saWtlfSkpCi0JewotCQlAbG9nX3VubGlrZSA9IEB7ICRwYXJhbXN7bG9nX3VubGlrZX0g fTsKLQl9Ci0KIAlteSAkbG9nX2xvY2F0aW9uID0gLXMgJHNlbGYtPmxvZ2ZpbGU7CiAKIAkjIE5l dmVyIHByb21wdCBmb3IgYSBwYXNzd29yZCwgYW55IGNhbGxlcnMgb2YgdGhpcyByb3V0aW5lIHNo b3VsZApAQCAtMjIwNCwxOSArMjE4OCw3IEBAIHN1YiBjb25uZWN0X29rCiAJewogCQlsaWtlKCRz dGRvdXQsICRwYXJhbXN7ZXhwZWN0ZWRfc3Rkb3V0fSwgIiR0ZXN0X25hbWU6IG1hdGNoZXMiKTsK IAl9Ci0JaWYgKEBsb2dfbGlrZSBvciBAbG9nX3VubGlrZSkKLQl7Ci0JCW15ICRsb2dfY29udGVu dHMgPSBUZXN0TGliOjpzbHVycF9maWxlKCRzZWxmLT5sb2dmaWxlLCAkbG9nX2xvY2F0aW9uKTsK LQotCQl3aGlsZSAobXkgJHJlZ2V4ID0gc2hpZnQgQGxvZ19saWtlKQotCQl7Ci0JCQlsaWtlKCRs b2dfY29udGVudHMsICRyZWdleCwgIiR0ZXN0X25hbWU6IGxvZyBtYXRjaGVzIik7Ci0JCX0KLQkJ d2hpbGUgKG15ICRyZWdleCA9IHNoaWZ0IEBsb2dfdW5saWtlKQotCQl7Ci0JCQl1bmxpa2UoJGxv Z19jb250ZW50cywgJHJlZ2V4LCAiJHRlc3RfbmFtZTogbG9nIGRvZXMgbm90IG1hdGNoIik7Ci0J CX0KLQl9CisJJHNlbGYtPmxvZ19jaGVjaygkdGVzdF9uYW1lLCAkbG9nX2xvY2F0aW9uLCAlcGFy YW1zKTsKIH0KIAogPXBvZApAQCAtMjIzNiw3ICsyMjA4LDcgQEAgSWYgdGhpcyByZWd1bGFyIGV4 cHJlc3Npb24gaXMgc2V0LCBtYXRjaGVzIGl0IHdpdGggdGhlIG91dHB1dCBnZW5lcmF0ZWQuCiAK ID1pdGVtIGxvZ191bmxpa2UgPT4gWyBxci9wcm9oaWJpdGVkIG1lc3NhZ2UvIF0KIAotU2VlIEM8 Y29ubmVjdF9vayguLi4pPiwgYWJvdmUuCitTZWUgQzxsb2dfY2hlY2soLi4uKT4uCiAKID1iYWNr CiAKQEAgLTIyNDgsMTQgKzIyMjAsNiBAQCBzdWIgY29ubmVjdF9mYWlscwogCW15ICgkc2VsZiwg JGNvbm5zdHIsICR0ZXN0X25hbWUsICVwYXJhbXMpID0gQF87CiAKIAlteSAoQGxvZ19saWtlLCBA bG9nX3VubGlrZSk7Ci0JaWYgKGRlZmluZWQoJHBhcmFtc3tsb2dfbGlrZX0pKQotCXsKLQkJQGxv Z19saWtlID0gQHsgJHBhcmFtc3tsb2dfbGlrZX0gfTsKLQl9Ci0JaWYgKGRlZmluZWQoJHBhcmFt c3tsb2dfdW5saWtlfSkpCi0JewotCQlAbG9nX3VubGlrZSA9IEB7ICRwYXJhbXN7bG9nX3VubGlr ZX0gfTsKLQl9CiAKIAlteSAkbG9nX2xvY2F0aW9uID0gLXMgJHNlbGYtPmxvZ2ZpbGU7CiAKQEAg LTIyNzQsMTkgKzIyMzgsNyBAQCBzdWIgY29ubmVjdF9mYWlscwogCQlsaWtlKCRzdGRlcnIsICRw YXJhbXN7ZXhwZWN0ZWRfc3RkZXJyfSwgIiR0ZXN0X25hbWU6IG1hdGNoZXMiKTsKIAl9CiAKLQlp ZiAoQGxvZ19saWtlIG9yIEBsb2dfdW5saWtlKQotCXsKLQkJbXkgJGxvZ19jb250ZW50cyA9IFRl c3RMaWI6OnNsdXJwX2ZpbGUoJHNlbGYtPmxvZ2ZpbGUsICRsb2dfbG9jYXRpb24pOwotCi0JCXdo aWxlIChteSAkcmVnZXggPSBzaGlmdCBAbG9nX2xpa2UpCi0JCXsKLQkJCWxpa2UoJGxvZ19jb250 ZW50cywgJHJlZ2V4LCAiJHRlc3RfbmFtZTogbG9nIG1hdGNoZXMiKTsKLQkJfQotCQl3aGlsZSAo bXkgJHJlZ2V4ID0gc2hpZnQgQGxvZ191bmxpa2UpCi0JCXsKLQkJCXVubGlrZSgkbG9nX2NvbnRl bnRzLCAkcmVnZXgsICIkdGVzdF9uYW1lOiBsb2cgZG9lcyBub3QgbWF0Y2giKTsKLQkJfQotCX0K Kwkkc2VsZi0+bG9nX2NoZWNrKCR0ZXN0X25hbWUsICRsb2dfbG9jYXRpb24sICVwYXJhbXMpOwog fQogCiA9cG9kCkBAIC0yNDU5LDYgKzI0MTEsNjcgQEAgc3ViIGlzc3Vlc19zcWxfbGlrZQogCiA9 cG9kCiAKKz1pdGVtICRub2RlLT5sb2dfY2hlY2soJG9mZnNldCwgJHRlc3RfbmFtZSwgJXBhcmFt ZXRlcnMpCisKK0NoZWNrIGNvbnRlbnRzIG9mIHNlcnZlciBsb2dzLgorCis9b3ZlcgorCis9aXRl bSAkdGVzdF9uYW1lCisKK05hbWUgb2YgdGVzdCBmb3IgZXJyb3IgbWVzc2FnZXMuCisKKz1pdGVt ICRvZmZzZXQKKworT2Zmc2V0IG9mIHRoZSBsb2cgZmlsZS4KKworPWl0ZW0gbG9nX2xpa2UgPT4g WyBxci9yZXF1aXJlZCBtZXNzYWdlLyBdCisKK0lmIGdpdmVuLCBpdCBtdXN0IGJlIGFuIGFycmF5 IHJlZmVyZW5jZSBjb250YWluaW5nIGEgbGlzdCBvZiByZWd1bGFyCitleHByZXNzaW9ucyB0aGF0 IG11c3QgbWF0Y2ggYWdhaW5zdCB0aGUgc2VydmVyIGxvZywgdXNpbmcKK0M8VGVzdDo6TW9yZTo6 bGlrZSgpPi4KKworPWl0ZW0gbG9nX3VubGlrZSA9PiBbIHFyL3Byb2hpYml0ZWQgbWVzc2FnZS8g XQorCitJZiBnaXZlbiwgaXQgbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2UgY29udGFpbmluZyBh IGxpc3Qgb2YgcmVndWxhcgorZXhwcmVzc2lvbnMgdGhhdCBtdXN0IE5PVCBtYXRjaCBhZ2FpbnN0 IHRoZSBzZXJ2ZXIgbG9nLiAgVGhleSB3aWxsIGJlCitwYXNzZWQgdG8gQzxUZXN0OjpNb3JlOjp1 bmxpa2UoKT4uCisKKz1iYWNrCisKKz1jdXQKKworc3ViIGxvZ19jaGVjaworeworCW15ICgkc2Vs ZiwgJHRlc3RfbmFtZSwgJG9mZnNldCwgJXBhcmFtcykgPSBAXzsKKworCW15IChAbG9nX2xpa2Us IEBsb2dfdW5saWtlKTsKKwlpZiAoZGVmaW5lZCgkcGFyYW1ze2xvZ19saWtlfSkpCisJeworCQlA bG9nX2xpa2UgPSBAeyAkcGFyYW1ze2xvZ19saWtlfSB9OworCX0KKwlpZiAoZGVmaW5lZCgkcGFy YW1ze2xvZ191bmxpa2V9KSkKKwl7CisJCUBsb2dfdW5saWtlID0gQHsgJHBhcmFtc3tsb2dfdW5s aWtlfSB9OworCX0KKworCWlmIChAbG9nX2xpa2Ugb3IgQGxvZ191bmxpa2UpCisJeworCQlteSAk bG9nX2NvbnRlbnRzID0gVGVzdExpYjo6c2x1cnBfZmlsZSgkc2VsZi0+bG9nZmlsZSwgJG9mZnNl dCk7CisKKwkJd2hpbGUgKG15ICRyZWdleCA9IHNoaWZ0IEBsb2dfbGlrZSkKKwkJeworCQkJbGlr ZSgkbG9nX2NvbnRlbnRzLCAkcmVnZXgsICIkdGVzdF9uYW1lOiBsb2cgbWF0Y2hlcyIpOworCQl9 CisJCXdoaWxlIChteSAkcmVnZXggPSBzaGlmdCBAbG9nX3VubGlrZSkKKwkJeworCQkJdW5saWtl KCRsb2dfY29udGVudHMsICRyZWdleCwgIiR0ZXN0X25hbWU6IGxvZyBkb2VzIG5vdCBtYXRjaCIp OworCQl9CisJfQorfQorCis9cG9kCisKID1pdGVtICRub2RlLT5sb2dfY29udGFpbnMocGF0dGVy biwgb2Zmc2V0KQogCiBGaW5kIHBhdHRlcm4gaW4gbG9nZmlsZSBvZiBub2RlIGFmdGVyIG9mZnNl dCBieXRlLgotLSAKMi4zNC4xCgo= --000000000000aa009e05fd75cada Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0002-Move-common-connection-log-content-verification-c_PG15.patch" Content-Disposition: attachment; filename="v5-0002-Move-common-connection-log-content-verification-c_PG15.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_likaxc9s7 RnJvbSAyN2Q2MjFlOTIyNzE3YjAxMTcxZDEyYTI4ZDk2ZDY5OTU5NmI5OTJhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgNiBKdW4gMjAyMyAxNTo1NTo1NiArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjUgMi8yXSBN b3ZlIGNvbW1vbiBjb25uZWN0aW9uIGxvZyBjb250ZW50IHZlcmlmaWNhdGlvbiBjb2RlCiB0byBh IGNvbW1vbiBmdW5jdGlvbi4KCk1vdmUgY29tbW9uIGNvbm5lY3Rpb24gbG9nIGNvbnRlbnQgdmVy aWZpY2F0aW9uIGNvZGUgdG8gYSBjb21tb24KZnVuY3Rpb24uCi0tLQogc3JjL3Rlc3QvcGVybC9Q b3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbSB8IDEyMiArKysrKysrKysrKystLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0gYi9zcmMvdGVz dC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtCmluZGV4IDUwNjNlNzczNjguLjBkN2Ex YmNmYmMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIu cG0KKysrIGIvc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbQpAQCAtMjIy MiwxNSArMjIyMiw5IEBAIElmIHRoaXMgcmVndWxhciBleHByZXNzaW9uIGlzIHNldCwgbWF0Y2hl cyBpdCB3aXRoIHRoZSBvdXRwdXQgZ2VuZXJhdGVkLgogCiA9aXRlbSBsb2dfbGlrZSA9PiBbIHFy L3JlcXVpcmVkIG1lc3NhZ2UvIF0KIAotSWYgZ2l2ZW4sIGl0IG11c3QgYmUgYW4gYXJyYXkgcmVm ZXJlbmNlIGNvbnRhaW5pbmcgYSBsaXN0IG9mIHJlZ3VsYXIKLWV4cHJlc3Npb25zIHRoYXQgbXVz dCBtYXRjaCBhZ2FpbnN0IHRoZSBzZXJ2ZXIgbG9nLCB1c2luZwotQzxUZXN0OjpNb3JlOjpsaWtl KCk+LgotCiA9aXRlbSBsb2dfdW5saWtlID0+IFsgcXIvcHJvaGliaXRlZCBtZXNzYWdlLyBdCiAK LUlmIGdpdmVuLCBpdCBtdXN0IGJlIGFuIGFycmF5IHJlZmVyZW5jZSBjb250YWluaW5nIGEgbGlz dCBvZiByZWd1bGFyCi1leHByZXNzaW9ucyB0aGF0IG11c3QgTk9UIG1hdGNoIGFnYWluc3QgdGhl IHNlcnZlciBsb2cuICBUaGV5IHdpbGwgYmUKLXBhc3NlZCB0byBDPFRlc3Q6Ok1vcmU6OnVubGlr ZSgpPi4KK1NlZSBDPGxvZ19jaGVjayguLi4pPi4KIAogPWJhY2sKIApAQCAtMjI1MSwxNiArMjI0 NSw2IEBAIHN1YiBjb25uZWN0X29rCiAJCSRzcWwgPSAiU0VMRUNUIFwkXCRjb25uZWN0ZWQgd2l0 aCAkY29ubnN0clwkXCQiOwogCX0KIAotCW15IChAbG9nX2xpa2UsIEBsb2dfdW5saWtlKTsKLQlp ZiAoZGVmaW5lZCgkcGFyYW1ze2xvZ19saWtlfSkpCi0JewotCQlAbG9nX2xpa2UgPSBAeyAkcGFy YW1ze2xvZ19saWtlfSB9OwotCX0KLQlpZiAoZGVmaW5lZCgkcGFyYW1ze2xvZ191bmxpa2V9KSkK LQl7Ci0JCUBsb2dfdW5saWtlID0gQHsgJHBhcmFtc3tsb2dfdW5saWtlfSB9OwotCX0KLQogCW15 ICRsb2dfbG9jYXRpb24gPSAtcyAkc2VsZi0+bG9nZmlsZTsKIAogCSMgTmV2ZXIgcHJvbXB0IGZv ciBhIHBhc3N3b3JkLCBhbnkgY2FsbGVycyBvZiB0aGlzIHJvdXRpbmUgc2hvdWxkCkBAIC0yMjgx LDIwICsyMjY1LDcgQEAgc3ViIGNvbm5lY3Rfb2sKIAogCWlzKCRzdGRlcnIsICIiLCAiJHRlc3Rf bmFtZTogbm8gc3RkZXJyIik7CiAKLQlpZiAoQGxvZ19saWtlIG9yIEBsb2dfdW5saWtlKQotCXsK LQkJbXkgJGxvZ19jb250ZW50cyA9Ci0JCSAgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnNsdXJw X2ZpbGUoJHNlbGYtPmxvZ2ZpbGUsICRsb2dfbG9jYXRpb24pOwotCi0JCXdoaWxlIChteSAkcmVn ZXggPSBzaGlmdCBAbG9nX2xpa2UpCi0JCXsKLQkJCWxpa2UoJGxvZ19jb250ZW50cywgJHJlZ2V4 LCAiJHRlc3RfbmFtZTogbG9nIG1hdGNoZXMiKTsKLQkJfQotCQl3aGlsZSAobXkgJHJlZ2V4ID0g c2hpZnQgQGxvZ191bmxpa2UpCi0JCXsKLQkJCXVubGlrZSgkbG9nX2NvbnRlbnRzLCAkcmVnZXgs ICIkdGVzdF9uYW1lOiBsb2cgZG9lcyBub3QgbWF0Y2giKTsKLQkJfQotCX0KKwkkc2VsZi0+bG9n X2NoZWNrKCR0ZXN0X25hbWUsICRsb2dfbG9jYXRpb24sICVwYXJhbXMpOwogfQogCiA9cG9kCkBA IC0yMzE0LDcgKzIyODUsNyBAQCBJZiB0aGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBzZXQsIG1h dGNoZXMgaXQgd2l0aCB0aGUgb3V0cHV0IGdlbmVyYXRlZC4KIAogPWl0ZW0gbG9nX3VubGlrZSA9 PiBbIHFyL3Byb2hpYml0ZWQgbWVzc2FnZS8gXQogCi1TZWUgQzxjb25uZWN0X29rKC4uLik+LCBh Ym92ZS4KK1NlZSBDPGxvZ19jaGVjayguLi4pPi4KIAogPWJhY2sKIApAQCAtMjMyNSwxNiArMjI5 Niw2IEBAIHN1YiBjb25uZWN0X2ZhaWxzCiAJbG9jYWwgJFRlc3Q6OkJ1aWxkZXI6OkxldmVsID0g JFRlc3Q6OkJ1aWxkZXI6OkxldmVsICsgMTsKIAlteSAoJHNlbGYsICRjb25uc3RyLCAkdGVzdF9u YW1lLCAlcGFyYW1zKSA9IEBfOwogCi0JbXkgKEBsb2dfbGlrZSwgQGxvZ191bmxpa2UpOwotCWlm IChkZWZpbmVkKCRwYXJhbXN7bG9nX2xpa2V9KSkKLQl7Ci0JCUBsb2dfbGlrZSA9IEB7ICRwYXJh bXN7bG9nX2xpa2V9IH07Ci0JfQotCWlmIChkZWZpbmVkKCRwYXJhbXN7bG9nX3VubGlrZX0pKQot CXsKLQkJQGxvZ191bmxpa2UgPSBAeyAkcGFyYW1ze2xvZ191bmxpa2V9IH07Ci0JfQotCiAJbXkg JGxvZ19sb2NhdGlvbiA9IC1zICRzZWxmLT5sb2dmaWxlOwogCiAJIyBOZXZlciBwcm9tcHQgZm9y IGEgcGFzc3dvcmQsIGFueSBjYWxsZXJzIG9mIHRoaXMgcm91dGluZSBzaG91bGQKQEAgLTIzNTIs MjAgKzIzMTMsNyBAQCBzdWIgY29ubmVjdF9mYWlscwogCQlsaWtlKCRzdGRlcnIsICRwYXJhbXN7 ZXhwZWN0ZWRfc3RkZXJyfSwgIiR0ZXN0X25hbWU6IG1hdGNoZXMiKTsKIAl9CiAKLQlpZiAoQGxv Z19saWtlIG9yIEBsb2dfdW5saWtlKQotCXsKLQkJbXkgJGxvZ19jb250ZW50cyA9Ci0JCSAgUG9z dGdyZVNRTDo6VGVzdDo6VXRpbHM6OnNsdXJwX2ZpbGUoJHNlbGYtPmxvZ2ZpbGUsICRsb2dfbG9j YXRpb24pOwotCi0JCXdoaWxlIChteSAkcmVnZXggPSBzaGlmdCBAbG9nX2xpa2UpCi0JCXsKLQkJ CWxpa2UoJGxvZ19jb250ZW50cywgJHJlZ2V4LCAiJHRlc3RfbmFtZTogbG9nIG1hdGNoZXMiKTsK LQkJfQotCQl3aGlsZSAobXkgJHJlZ2V4ID0gc2hpZnQgQGxvZ191bmxpa2UpCi0JCXsKLQkJCXVu bGlrZSgkbG9nX2NvbnRlbnRzLCAkcmVnZXgsICIkdGVzdF9uYW1lOiBsb2cgZG9lcyBub3QgbWF0 Y2giKTsKLQkJfQotCX0KKwkkc2VsZi0+bG9nX2NoZWNrKCR0ZXN0X25hbWUsICRsb2dfbG9jYXRp b24sICVwYXJhbXMpOwogfQogCiA9cG9kCkBAIC0yNTU5LDYgKzI1MDcsNjggQEAgc3ViIGlzc3Vl c19zcWxfbGlrZQogCiA9cG9kCiAKKz1pdGVtICRub2RlLT5sb2dfY2hlY2soJG9mZnNldCwgJHRl c3RfbmFtZSwgJXBhcmFtZXRlcnMpCisKK0NoZWNrIGNvbnRlbnRzIG9mIHNlcnZlciBsb2dzLgor Cis9b3ZlcgorCis9aXRlbSAkdGVzdF9uYW1lCisKK05hbWUgb2YgdGVzdCBmb3IgZXJyb3IgbWVz c2FnZXMuCisKKz1pdGVtICRvZmZzZXQKKworT2Zmc2V0IG9mIHRoZSBsb2cgZmlsZS4KKworPWl0 ZW0gbG9nX2xpa2UgPT4gWyBxci9yZXF1aXJlZCBtZXNzYWdlLyBdCisKK0lmIGdpdmVuLCBpdCBt dXN0IGJlIGFuIGFycmF5IHJlZmVyZW5jZSBjb250YWluaW5nIGEgbGlzdCBvZiByZWd1bGFyCitl eHByZXNzaW9ucyB0aGF0IG11c3QgbWF0Y2ggYWdhaW5zdCB0aGUgc2VydmVyIGxvZywgdXNpbmcK K0M8VGVzdDo6TW9yZTo6bGlrZSgpPi4KKworPWl0ZW0gbG9nX3VubGlrZSA9PiBbIHFyL3Byb2hp Yml0ZWQgbWVzc2FnZS8gXQorCitJZiBnaXZlbiwgaXQgbXVzdCBiZSBhbiBhcnJheSByZWZlcmVu Y2UgY29udGFpbmluZyBhIGxpc3Qgb2YgcmVndWxhcgorZXhwcmVzc2lvbnMgdGhhdCBtdXN0IE5P VCBtYXRjaCBhZ2FpbnN0IHRoZSBzZXJ2ZXIgbG9nLiAgVGhleSB3aWxsIGJlCitwYXNzZWQgdG8g QzxUZXN0OjpNb3JlOjp1bmxpa2UoKT4uCisKKz1iYWNrCisKKz1jdXQKKworc3ViIGxvZ19jaGVj aworeworCW15ICgkc2VsZiwgJHRlc3RfbmFtZSwgJG9mZnNldCwgJXBhcmFtcykgPSBAXzsKKwor CW15IChAbG9nX2xpa2UsIEBsb2dfdW5saWtlKTsKKwlpZiAoZGVmaW5lZCgkcGFyYW1ze2xvZ19s aWtlfSkpCisJeworCQlAbG9nX2xpa2UgPSBAeyAkcGFyYW1ze2xvZ19saWtlfSB9OworCX0KKwlp ZiAoZGVmaW5lZCgkcGFyYW1ze2xvZ191bmxpa2V9KSkKKwl7CisJCUBsb2dfdW5saWtlID0gQHsg JHBhcmFtc3tsb2dfdW5saWtlfSB9OworCX0KKworCWlmIChAbG9nX2xpa2Ugb3IgQGxvZ191bmxp a2UpCisJeworCQlteSAkbG9nX2NvbnRlbnRzID0KKwkJICBQb3N0Z3JlU1FMOjpUZXN0OjpVdGls czo6c2x1cnBfZmlsZSgkc2VsZi0+bG9nZmlsZSwgJG9mZnNldCk7CisKKwkJd2hpbGUgKG15ICRy ZWdleCA9IHNoaWZ0IEBsb2dfbGlrZSkKKwkJeworCQkJbGlrZSgkbG9nX2NvbnRlbnRzLCAkcmVn ZXgsICIkdGVzdF9uYW1lOiBsb2cgbWF0Y2hlcyIpOworCQl9CisJCXdoaWxlIChteSAkcmVnZXgg PSBzaGlmdCBAbG9nX3VubGlrZSkKKwkJeworCQkJdW5saWtlKCRsb2dfY29udGVudHMsICRyZWdl eCwgIiR0ZXN0X25hbWU6IGxvZyBkb2VzIG5vdCBtYXRjaCIpOworCQl9CisJfQorfQorCis9cG9k CisKID1pdGVtIGxvZ19jb250YWlucyhwYXR0ZXJuLCBvZmZzZXQpCiAKIEZpbmQgcGF0dGVybiBp biBsb2dmaWxlIG9mIG5vZGUgYWZ0ZXIgb2Zmc2V0IGJ5dGUuCi0tIAoyLjM0LjEKCg== --000000000000aa009e05fd75cada--