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 1qCjX2-0002Lf-OQ for pgsql-bugs@arkaria.postgresql.org; Fri, 23 Jun 2023 16:21:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1qCjX1-0008Rp-FR for pgsql-bugs@arkaria.postgresql.org; Fri, 23 Jun 2023 16:21:07 +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 1qCjX0-0008Re-Mz for pgsql-bugs@lists.postgresql.org; Fri, 23 Jun 2023 16:21:07 +0000 Received: from mailg210.ethz.ch ([2001:67c:10ec:5606::21]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qCjWv-0002AG-E1 for pgsql-bugs@lists.postgresql.org; Fri, 23 Jun 2023 16:21:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inf.ethz.ch; s=key1-q2-2022; t=1687537256; h=From:Subject:Date:Message-ID:To :MIME-Version:Content-Type:In-Reply-To:References; bh=UwHKSjRKTbNPNHiV/tF 5QmzT2vu0thiV9NBpGmAYRWc=; b=GuBreQR3Jl15S76hL24arGVC0HSDDqULTwFk2YJO+16A KffWe6SlvC8LBy3GK2vVGZTkmTLKFDUik+okwV6V+gPJyCZHqowfvV18yOoJkPyXQRrDKxh9V 6hjWo7Ye2hCkJsx8nXOfI5PV27NQCT8uYK+rL6eoH+YgIQ4hAOUdZoFQKSni/lwodbu6bSoeM WeMk4IPissCP3toJBGxjJYiPsv78ArMJzGfFaL07In2MT0JQ5YZ3y8yq2c4D5zajDWV6cSBFX Zm3tupfv92q7+iXokdb5w9QtX3N8P6l8rICpuJojaDi/HFLpUTTQLgvC887TChnUsaJ82e8/K b1dtCA==; Received: from mailm211.d.ethz.ch (2001:67c:10ec:5603::25) by mailg210.ethz.ch (2001:67c:10ec:5606::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 23 Jun 2023 18:20:56 +0200 Received: from [10.6.40.138] (10.6.40.138) by mailm211.d.ethz.ch (2001:67c:10ec:5603::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 23 Jun 2023 18:20:58 +0200 Content-Type: multipart/mixed; boundary="------------udZ4hrEWMYwGQ9gVX7ZbmE1i" Message-ID: Date: Fri, 23 Jun 2023 18:20:56 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Fwd: Server closed the connection unexpectedly (memory leak) Content-Language: en-US References: <08f7224c-2de9-0996-549a-c9e9d806fdef@inf.ethz.ch> To: From: Zu-Ming Jiang In-Reply-To: <08f7224c-2de9-0996-549a-c9e9d806fdef@inf.ethz.ch> X-Forwarded-Message-Id: <08f7224c-2de9-0996-549a-c9e9d806fdef@inf.ethz.ch> X-Originating-IP: [10.6.40.138] X-ClientProxiedBy: mailm111.d.ethz.ch (2001:67c:10ec:5602::23) To mailm211.d.ethz.ch (2001:67c:10ec:5603::25) X-DKIM-Signer: DkimX (v3.20.320) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --------------udZ4hrEWMYwGQ9gVX7ZbmE1i Content-Type: multipart/alternative; boundary="------------70hY9B5xoDVy3a5PsRFYvMHX" --------------70hY9B5xoDVy3a5PsRFYvMHX Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit Sorry that the test cases is a bit large. It is difficult for me to reduce it to the minimal, because when I removed some parts, the bug easily disappears. Best wishes, Zuming Jiang ------------------------------------------------------------------------ *From:* Zu-Ming Jiang [mailto:zuming.jiang@inf.ethz.ch] *Sent:* Friday, June 23, 2023 at 6:06 PM *To:* pgsql-bugs@lists.postgresql.org *Subject:* Server closed the connection unexpectedly (memory leak) My fuzzer finds a bug in Postgres, which makes the connection closed unexpectedly.  This bug still can be reproduced even after applying the patch for https://www.postgresql.org/message-id/flat/b2bd02dff61af15e3526293e2771f874cf2a3be7.camel@cybertec.at --- Steps to reproduce the bug --- 1. /usr/local/pgsql/bin/psql -d postgres -c "drop database redb"; 2. /usr/local/pgsql/bin/psql -d postgres -c "create database redb"; 3. /usr/local/pgsql/bin/psql -d redb -f pg_testdb55_bk.sql; 4. /usr/local/pgsql/bin/psql -d redb -f unexpected.sql pg_testdb55_bk.sql and unexpected.sql are attached. --- Expected behavior --- No error triggered. --- Actual behavior --- The test case makes the connection closed unexpectedly: psql:unexpected.sql:695: server closed the connection unexpectedly         This probably means the server terminated abnormally         before or while processing the request. psql:unexpected.sql:695: error: connection to server was lost --- Postgres version --- Github commit: f5c446e3367527f9db1506d7c38d2f56e20950b6 Version: PostgreSQL 16beta1 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, 64-bit --- Platform information --- Platform: Ubuntu 20.04 Kernel: Linux 5.4.0-147-generic --------------70hY9B5xoDVy3a5PsRFYvMHX Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 8bit Sorry that the test cases is a bit large. It is difficult for me to reduce it to the minimal, because when I removed some parts, the bug easily disappears.

Best wishes,
Zuming Jiang


From: Zu-Ming Jiang [mailto:zuming.jiang@inf.ethz.ch]
Sent: Friday, June 23, 2023 at 6:06 PM
Subject: Server closed the connection unexpectedly (memory leak)

My fuzzer finds a bug in Postgres, which makes the connection closed unexpectedly.  This bug still can be reproduced even after applying the patch for https://www.postgresql.org/message-id/flat/b2bd02dff61af15e3526293e2771f874cf2a3be7.camel@cybertec.at

--- Steps to reproduce the bug ---
1. /usr/local/pgsql/bin/psql -d postgres -c "drop database redb";
2. /usr/local/pgsql/bin/psql -d postgres -c "create database redb";
3. /usr/local/pgsql/bin/psql -d redb -f pg_testdb55_bk.sql;
4. /usr/local/pgsql/bin/psql -d redb -f unexpected.sql

pg_testdb55_bk.sql and unexpected.sql are attached.

--- Expected behavior ---
No error triggered.

--- Actual behavior ---
The test case makes the connection closed unexpectedly:

psql:unexpected.sql:695: server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
psql:unexpected.sql:695: error: connection to server was lost


--- Postgres version ---
Github commit: f5c446e3367527f9db1506d7c38d2f56e20950b6
Version: PostgreSQL 16beta1 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, 64-bit

--- Platform information ---
Platform: Ubuntu 20.04
Kernel: Linux 5.4.0-147-generic
--------------70hY9B5xoDVy3a5PsRFYvMHX-- --------------udZ4hrEWMYwGQ9gVX7ZbmE1i Content-Type: text/plain; charset="UTF-8"; name="pg_testdb55_bk.sql" Content-Disposition: attachment; filename="pg_testdb55_bk.sql" Content-Transfer-Encoding: base64 LS0KLS0gUG9zdGdyZVNRTCBkYXRhYmFzZSBkdW1wCi0tCgotLSBEdW1wZWQgZnJvbSBkYXRh YmFzZSB2ZXJzaW9uIDE2YmV0YTEKLS0gRHVtcGVkIGJ5IHBnX2R1bXAgdmVyc2lvbiAxNmJl dGExCgpTRVQgc3RhdGVtZW50X3RpbWVvdXQgPSAwOwpTRVQgbG9ja190aW1lb3V0ID0gMDsK U0VUIGlkbGVfaW5fdHJhbnNhY3Rpb25fc2Vzc2lvbl90aW1lb3V0ID0gMDsKU0VUIGNsaWVu dF9lbmNvZGluZyA9ICdTUUxfQVNDSUknOwpTRVQgc3RhbmRhcmRfY29uZm9ybWluZ19zdHJp bmdzID0gb247ClNFTEVDVCBwZ19jYXRhbG9nLnNldF9jb25maWcoJ3NlYXJjaF9wYXRoJywg JycsIGZhbHNlKTsKU0VUIGNoZWNrX2Z1bmN0aW9uX2JvZGllcyA9IGZhbHNlOwpTRVQgeG1s b3B0aW9uID0gY29udGVudDsKU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSB3YXJuaW5nOwpT RVQgcm93X3NlY3VyaXR5ID0gb2ZmOwoKU0VUIGRlZmF1bHRfdGFibGVzcGFjZSA9ICcnOwoK U0VUIGRlZmF1bHRfdGFibGVfYWNjZXNzX21ldGhvZCA9IGhlYXA7CgotLQotLSBOYW1lOiB0 MDsgVHlwZTogVEFCTEU7IFNjaGVtYTogcHVibGljOyBPd25lcjogenVtaW5nCi0tCgpDUkVB VEUgVEFCTEUgcHVibGljLnQwICgKICAgIHZrZXkgaW50ZWdlciBOT1QgTlVMTCwKICAgIHBr ZXkgaW50ZWdlciwKICAgIGMwIGludGVnZXIsCiAgICBjMSBkb3VibGUgcHJlY2lzaW9uLAog ICAgYzIgdGV4dCwKICAgIGMzIHRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZQopOwoKCkFM VEVSIFRBQkxFIHB1YmxpYy50MCBPV05FUiBUTyB6dW1pbmc7CgotLQotLSBOYW1lOiB0MTsg VHlwZTogVEFCTEU7IFNjaGVtYTogcHVibGljOyBPd25lcjogenVtaW5nCi0tCgpDUkVBVEUg VEFCTEUgcHVibGljLnQxICgKICAgIHZrZXkgaW50ZWdlciBOT1QgTlVMTCwKICAgIHBrZXkg aW50ZWdlciwKICAgIGM0IHRleHQsCiAgICBjNSBpbnRlZ2VyCik7CgoKQUxURVIgVEFCTEUg cHVibGljLnQxIE9XTkVSIFRPIHp1bWluZzsKCi0tCi0tIE5hbWU6IHQyOyBUeXBlOiBUQUJM RTsgU2NoZW1hOiBwdWJsaWM7IE93bmVyOiB6dW1pbmcKLS0KCkNSRUFURSBUQUJMRSBwdWJs aWMudDIgKAogICAgdmtleSBpbnRlZ2VyLAogICAgcGtleSBpbnRlZ2VyLAogICAgYzYgZG91 YmxlIHByZWNpc2lvbgopOwoKCkFMVEVSIFRBQkxFIHB1YmxpYy50MiBPV05FUiBUTyB6dW1p bmc7CgotLQotLSBOYW1lOiB0MzsgVHlwZTogVklFVzsgU2NoZW1hOiBwdWJsaWM7IE93bmVy OiB6dW1pbmcKLS0KCkNSRUFURSBWSUVXIHB1YmxpYy50MyBBUwogU0VMRUNUCiAgICAgICAg Q0FTRQogICAgICAgICAgICBXSEVOIChjNCAhfn4gJyUlXyc6OnRleHQpIFRIRU4gKCBTRUxF Q1QgdDAuYzIKICAgICAgICAgICAgICAgRlJPTSBwdWJsaWMudDAKICAgICAgICAgICAgICBP UkRFUiBCWSB0MC5jMgogICAgICAgICAgICAgT0ZGU0VUIDEKICAgICAgICAgICAgIExJTUlU IDEpCiAgICAgICAgICAgIEVMU0UgYzQKICAgICAgICBFTkQgQVMgY18wLAogICAgdmtleSBB UyBjXzEsCiAgICB2a2V5IEFTIGNfMiwKICAgIGM0IEFTIGNfMywKICAgICggU0VMRUNUIHQx LmM0CiAgICAgICAgICAgRlJPTSBwdWJsaWMudDEKICAgICAgICAgIE9SREVSIEJZIHQxLmM0 CiAgICAgICAgIE9GRlNFVCA0CiAgICAgICAgIExJTUlUIDEpIEFTIGNfNCwKICAgICAgICBD QVNFCiAgICAgICAgICAgIFdIRU4gKCh2a2V5ID49ICggU0VMRUNUIHQxLnZrZXkKICAgICAg ICAgICAgICAgRlJPTSBwdWJsaWMudDEKICAgICAgICAgICAgICBPUkRFUiBCWSB0MS52a2V5 CiAgICAgICAgICAgICBPRkZTRVQgNAogICAgICAgICAgICAgTElNSVQgMSkpIEFORCAodmtl eSA8PSBpbnQ0aW5jKHZrZXkpKSkgVEhFTiBwa2V5CiAgICAgICAgICAgIEVMU0UgKHZrZXkg fCAoIFNFTEVDVCB0MC52a2V5CiAgICAgICAgICAgICAgIEZST00gcHVibGljLnQwCiAgICAg ICAgICAgICAgT1JERVIgQlkgdDAudmtleQogICAgICAgICAgICAgT0ZGU0VUIDY0CiAgICAg ICAgICAgICBMSU1JVCAxKSkKICAgICAgICBFTkQgQVMgY181LAogICAgcmVnZXhwX2NvdW50 KGM0LCBjNCwgYzUsIGM0KSBBUyBjXzYsCiAgICBDT0FMRVNDRShjNCwgYzQpIEFTIGNfNywK ICAgIHBrZXkgQVMgY184LAogICAgZHBvdyh2YXJfc2FtcChmbG9hdDh1cCgoIFNFTEVDVCB0 MC5jMQogICAgICAgICAgIEZST00gcHVibGljLnQwCiAgICAgICAgICBPUkRFUiBCWSB0MC5j MQogICAgICAgICBPRkZTRVQgNgogICAgICAgICBMSU1JVCAxKSkpIE9WRVIgKFBBUlRJVElP TiBCWSBjNSBPUkRFUiBCWSB2a2V5IERFU0MsIHBrZXksIGM0IERFU0MsIGM1IERFU0MpLCBO VUxMOjpkb3VibGUgcHJlY2lzaW9uKSBBUyBjXzksCiAgICBkcm91bmQoY29zKAogICAgICAg IENBU0UKICAgICAgICAgICAgV0hFTiAoKCBTRUxFQ1QgYml0X29yKHQxLnZrZXkpIEFTIGJp dF9vcgogICAgICAgICAgICAgICBGUk9NIHB1YmxpYy50MSkgPD4gdmtleSkgVEhFTiAoIFNF TEVDVCB0Mi5jNgogICAgICAgICAgICAgICBGUk9NIHB1YmxpYy50MgogICAgICAgICAgICAg IE9SREVSIEJZIHQyLmM2CiAgICAgICAgICAgICBPRkZTRVQgNDMKICAgICAgICAgICAgIExJ TUlUIDEpCiAgICAgICAgICAgIEVMU0UgYXRhbmgoKCBTRUxFQ1QgdDAuYzEKICAgICAgICAg ICAgICAgRlJPTSBwdWJsaWMudDAKICAgICAgICAgICAgICBPUkRFUiBCWSB0MC5jMQogICAg ICAgICAgICAgT0ZGU0VUIDUxCiAgICAgICAgICAgICBMSU1JVCAxKSkKICAgICAgICBFTkQp KSBBUyBjXzEwLAogICAgYzQgQVMgY18xMSwKICAgIHZrZXkgQVMgY18xMiwKICAgICJzdWJz dHJpbmciKG1kNShjNCksIHBrZXkpIEFTIGNfMTMsCiAgICB2a2V5IEFTIGNfMTQsCiAgICAo KChFWElTVFMgKCBTRUxFQ1QgcmVmXzIuYzIgQVMgY18wLAogICAgICAgICAgICAoIFNFTEVD VCBtaW4odDAuYzMpIEFTIG1pbgogICAgICAgICAgICAgICAgICAgRlJPTSBwdWJsaWMudDAp IEFTIGNfMSwKICAgICAgICAgICAgcmVmXzIuYzIgQVMgY18yLAogICAgICAgICAgICByZWZf Mi52a2V5IEFTIGNfMywKICAgICAgICAgICAgKCBTRUxFQ1QgdDEuYzQKICAgICAgICAgICAg ICAgICAgIEZST00gcHVibGljLnQxCiAgICAgICAgICAgICAgICAgIE9SREVSIEJZIHQxLmM0 CiAgICAgICAgICAgICAgICAgT0ZGU0VUIDMKICAgICAgICAgICAgICAgICBMSU1JVCAxKSBB UyBjXzQsCiAgICAgICAgICAgIHJlZl8yLnZrZXkgQVMgY181LAogICAgICAgICAgICAoIFNF TEVDVCB0MC5jMQogICAgICAgICAgICAgICAgICAgRlJPTSBwdWJsaWMudDAKICAgICAgICAg ICAgICAgICAgT1JERVIgQlkgdDAuYzEKICAgICAgICAgICAgICAgICBPRkZTRVQgNgogICAg ICAgICAgICAgICAgIExJTUlUIDEpIEFTIGNfNiwKICAgICAgICAgICAgKCBTRUxFQ1QgbWF4 KHQyLnZrZXkpIEFTIG1heAogICAgICAgICAgICAgICAgICAgRlJPTSBwdWJsaWMudDIpIEFT IGNfNywKICAgICAgICAgICAgcmVmXzIudmtleSBBUyBjXzgKICAgICAgICAgICBGUk9NIHB1 YmxpYy50MCByZWZfMgogICAgICAgICAgV0hFUkUgKE5VTEw6OmJvb2xlYW4gQU5EIHRydWUp KSkgQU5EIGZhbHNlKSBPUiB0cnVlIE9SIChFWElTVFMgKCBTRUxFQ1QgRElTVElOQ1QgKHJl Zl8wLmM0ID0gcmVmXzAuYzQpIEFTIGNfMCwKICAgICAgICAgICAgZmFsc2UgQVMgY18xCiAg ICAgICAgICAgRlJPTSBwdWJsaWMudDIgcmVmXzMKICAgICAgICAgIFdIRVJFICh0cnVlIE9S IChOT1QgdHJ1ZSkpCiAgICAgICAgVU5JT04KICAgICAgICAgU0VMRUNUIGZhbHNlIEFTIGNf MCwKICAgICAgICAgICAgKHJlZl80LmMyID0gcmVmXzAuYzQpIEFTIGNfMQogICAgICAgICAg IEZST00gcHVibGljLnQwIHJlZl80CiAgICAgICAgICBXSEVSRSAoKCggU0VMRUNUIHQwLnZr ZXkKICAgICAgICAgICAgICAgICAgIEZST00gcHVibGljLnQwCiAgICAgICAgICAgICAgICAg IE9SREVSIEJZIHQwLnZrZXkKICAgICAgICAgICAgICAgICBPRkZTRVQgNQogICAgICAgICAg ICAgICAgIExJTUlUIDEpIDw+IHJlZl8wLnZrZXkpIEFORCBOVUxMOjpib29sZWFuKSkpIE9S IChjNCB+Pn4gYzQpIE9SIChjNCB+fiAnbWpvJzo6dGV4dCkpIEFTIGNfMTUsCiAgICAgICAg Q0FTRQogICAgICAgICAgICBXSEVOIChjNCA8PSAoIFNFTEVDVCB0MS5jNAogICAgICAgICAg ICAgICBGUk9NIHB1YmxpYy50MQogICAgICAgICAgICAgIE9SREVSIEJZIHQxLmM0CiAgICAg ICAgICAgICBPRkZTRVQgNQogICAgICAgICAgICAgTElNSVQgMSkpIFRIRU4gKCh2a2V5ID49 ICggU0VMRUNUIHQxLnZrZXkKICAgICAgICAgICAgICAgRlJPTSBwdWJsaWMudDEKICAgICAg ICAgICAgICBPUkRFUiBCWSB0MS52a2V5CiAgICAgICAgICAgICBPRkZTRVQgNgogICAgICAg ICAgICAgTElNSVQgMSkpIEFORCAodmtleSA8PSBjNSkpCiAgICAgICAgICAgIEVMU0UgKCgo IFNFTEVDVCB0MS5jNAogICAgICAgICAgICAgICBGUk9NIHB1YmxpYy50MQogICAgICAgICAg ICAgIE9SREVSIEJZIHQxLmM0CiAgICAgICAgICAgICBPRkZTRVQgNAogICAgICAgICAgICAg TElNSVQgMSkgIX5+ICdMXyUnOjp0ZXh0KSBBTkQgKGZhbHNlIE9SICgoIFNFTEVDVCBtYXgo dDAuYzIpIEFTIG1heAogICAgICAgICAgICAgICBGUk9NIHB1YmxpYy50MCkgIX4gYzQpKSkK ICAgICAgICBFTkQgQVMgY18xNiwKICAgIGJpdF9hbmQocGtleSkgT1ZFUiAoUEFSVElUSU9O IEJZIGM1IE9SREVSIEJZIHZrZXksIHBrZXksIGM0IERFU0MsIGM1IERFU0MpIEFTIGNfMTcs CiAgICAodmtleSArICggU0VMRUNUIHQxLnZrZXkKICAgICAgICAgICBGUk9NIHB1YmxpYy50 MQogICAgICAgICAgT1JERVIgQlkgdDEudmtleQogICAgICAgICBPRkZTRVQgMwogICAgICAg ICBMSU1JVCAxKSkgQVMgY18xOCwKICAgICggU0VMRUNUIHQxLnBrZXkKICAgICAgICAgICBG Uk9NIHB1YmxpYy50MQogICAgICAgICAgT1JERVIgQlkgdDEucGtleQogICAgICAgICBPRkZT RVQgNAogICAgICAgICBMSU1JVCAxKSBBUyBjXzE5LAogICAgcGtleSBBUyBjXzIwLAogICAg c2ltaWxhcl90b19lc2NhcGUoYzQsIGM0KSBBUyBjXzIxCiAgIEZST00gcHVibGljLnQxIHJl Zl8wCiAgV0hFUkUgKGJvb2woKCggU0VMRUNUIG1heCh0MC52a2V5KSBBUyBtYXgKICAgICAg ICAgICBGUk9NIHB1YmxpYy50MCkgPj4gYzUpKSBJTiAoIFNFTEVDVCAoTk9UIGZhbHNlKSBB UyBjXzAKICAgICAgICAgICBGUk9NIHB1YmxpYy50MSByZWZfMQogICAgICAgICAgV0hFUkUg KCgwLjAgPCAnLTU1LjMwJzo6bnVtZXJpYykgQU5EIE5VTEw6OmJvb2xlYW4gQU5EICh0cnVl IE9SIChyZWZfMC5jNSA8PiByZWZfMS5wa2V5KSkpKSk7CgoKQUxURVIgVklFVyBwdWJsaWMu dDMgT1dORVIgVE8genVtaW5nOwoKLS0KLS0gTmFtZTogdDQ7IFR5cGU6IFZJRVc7IFNjaGVt YTogcHVibGljOyBPd25lcjogenVtaW5nCi0tCgpDUkVBVEUgVklFVyBwdWJsaWMudDQgQVMK IFNFTEVDVCBESVNUSU5DVCBzdGRkZXYocmVmXzAuY185KSBPVkVSIChQQVJUSVRJT04gQlkg cmVmXzAuY18xOCwgcmVmXzIuY18yMCBPUkRFUiBCWSByZWZfMC5jXzAgREVTQywgcmVmXzAu Y18xIERFU0MsIHJlZl8wLmNfMiBERVNDLCByZWZfMC5jXzMsIHJlZl8wLmNfNCwgcmVmXzAu Y181LCByZWZfMC5jXzYgREVTQywgcmVmXzAuY183IERFU0MsIHJlZl8wLmNfOCwgcmVmXzAu Y185LCByZWZfMC5jXzEwIERFU0MsIHJlZl8wLmNfMTEgREVTQywgcmVmXzAuY18xMiBERVND LCByZWZfMC5jXzEzIERFU0MsIHJlZl8wLmNfMTQgREVTQywgcmVmXzAuY18xNSBERVNDLCBy ZWZfMC5jXzE2LCByZWZfMC5jXzE3IERFU0MsIHJlZl8wLmNfMTggREVTQywgcmVmXzAuY18x OSwgcmVmXzAuY18yMCBERVNDLCByZWZfMC5jXzIxLCByZWZfMS5jXzAsIHJlZl8xLmNfMSwg cmVmXzEuY18yIERFU0MsIHJlZl8xLmNfMyBERVNDLCByZWZfMS5jXzQsIHJlZl8xLmNfNSwg cmVmXzEuY182LCByZWZfMS5jXzcgREVTQywgcmVmXzEuY184LCByZWZfMS5jXzksIHJlZl8x LmNfMTAgREVTQywgcmVmXzEuY18xMSwgcmVmXzEuY18xMiwgcmVmXzEuY18xMywgcmVmXzEu Y18xNCBERVNDLCByZWZfMS5jXzE1IERFU0MsIHJlZl8xLmNfMTYsIHJlZl8xLmNfMTcsIHJl Zl8xLmNfMTggREVTQywgcmVmXzEuY18xOSBERVNDLCByZWZfMS5jXzIwIERFU0MsIHJlZl8x LmNfMjEgREVTQywgcmVmXzIuY18wIERFU0MsIHJlZl8yLmNfMSBERVNDLCByZWZfMi5jXzIs IHJlZl8yLmNfMywgcmVmXzIuY180IERFU0MsIHJlZl8yLmNfNSwgcmVmXzIuY182LCByZWZf Mi5jXzcgREVTQywgcmVmXzIuY184LCByZWZfMi5jXzkgREVTQywgcmVmXzIuY18xMCBERVND LCByZWZfMi5jXzExIERFU0MsIHJlZl8yLmNfMTIgREVTQywgcmVmXzIuY18xMywgcmVmXzIu Y18xNCBERVNDLCByZWZfMi5jXzE1IERFU0MsIHJlZl8yLmNfMTYgREVTQywgcmVmXzIuY18x NywgcmVmXzIuY18xOCwgcmVmXzIuY18xOSwgcmVmXzIuY18yMCwgcmVmXzIuY18yMSBERVND KSBBUyBjXzAsCiAgICByZWZfMC5jXzggQVMgY18xLAogICAgcmVmXzAuY18zIEFTIGNfMiwK ICAgICAgICBDQVNFCiAgICAgICAgICAgIFdIRU4gTlVMTDo6Ym9vbGVhbiBUSEVOICggU0VM RUNUIHQxLmM0CiAgICAgICAgICAgICAgIEZST00gcHVibGljLnQxCiAgICAgICAgICAgICAg T1JERVIgQlkgdDEuYzQKICAgICAgICAgICAgIE9GRlNFVCAzMwogICAgICAgICAgICAgTElN SVQgMSkKICAgICAgICAgICAgRUxTRSAibGVmdCIoJ08nOjp0ZXh0LCByZWZfMS5jXzUpCiAg ICAgICAgRU5EIEFTIGNfMywKICAgIENPQUxFU0NFKCggU0VMRUNUIHZhcl9wb3AodDAuYzEp IEFTIHZhcl9wb3AKICAgICAgICAgICBGUk9NIHB1YmxpYy50MCksIHJlZl8wLmNfMTApIEFT IGNfNCwKICAgIChyZWZfMS5jXzE4IDw9IHJlZl8yLmNfMTkpIEFTIGNfNSwKICAgIGFjb3No KG1pbihyZWZfMi5jXzkpIE9WRVIgKFBBUlRJVElPTiBCWSByZWZfMS5jXzQgT1JERVIgQlkg cmVmXzAuY18wLCByZWZfMC5jXzEgREVTQywgcmVmXzAuY18yIERFU0MsIHJlZl8wLmNfMyBE RVNDLCByZWZfMC5jXzQsIHJlZl8wLmNfNSBERVNDLCByZWZfMC5jXzYsIHJlZl8wLmNfNyBE RVNDLCByZWZfMC5jXzggREVTQywgcmVmXzAuY185IERFU0MsIHJlZl8wLmNfMTAgREVTQywg cmVmXzAuY18xMSBERVNDLCByZWZfMC5jXzEyIERFU0MsIHJlZl8wLmNfMTMgREVTQywgcmVm XzAuY18xNCBERVNDLCByZWZfMC5jXzE1LCByZWZfMC5jXzE2LCByZWZfMC5jXzE3LCByZWZf MC5jXzE4IERFU0MsIHJlZl8wLmNfMTkgREVTQywgcmVmXzAuY18yMCBERVNDLCByZWZfMC5j XzIxLCByZWZfMS5jXzAsIHJlZl8xLmNfMSBERVNDLCByZWZfMS5jXzIgREVTQywgcmVmXzEu Y18zIERFU0MsIHJlZl8xLmNfNCwgcmVmXzEuY181LCByZWZfMS5jXzYgREVTQywgcmVmXzEu Y183LCByZWZfMS5jXzgsIHJlZl8xLmNfOSwgcmVmXzEuY18xMCwgcmVmXzEuY18xMSBERVND LCByZWZfMS5jXzEyLCByZWZfMS5jXzEzLCByZWZfMS5jXzE0LCByZWZfMS5jXzE1IERFU0Ms IHJlZl8xLmNfMTYgREVTQywgcmVmXzEuY18xNyBERVNDLCByZWZfMS5jXzE4IERFU0MsIHJl Zl8xLmNfMTksIHJlZl8xLmNfMjAgREVTQywgcmVmXzEuY18yMSwgcmVmXzIuY18wIERFU0Ms IHJlZl8yLmNfMSBERVNDLCByZWZfMi5jXzIgREVTQywgcmVmXzIuY18zIERFU0MsIHJlZl8y LmNfNCwgcmVmXzIuY181IERFU0MsIHJlZl8yLmNfNiBERVNDLCByZWZfMi5jXzcsIHJlZl8y LmNfOCBERVNDLCByZWZfMi5jXzkgREVTQywgcmVmXzIuY18xMCBERVNDLCByZWZfMi5jXzEx LCByZWZfMi5jXzEyLCByZWZfMi5jXzEzLCByZWZfMi5jXzE0IERFU0MsIHJlZl8yLmNfMTUg REVTQywgcmVmXzIuY18xNiwgcmVmXzIuY18xNywgcmVmXzIuY18xOCBERVNDLCByZWZfMi5j XzE5IERFU0MsIHJlZl8yLmNfMjAgREVTQywgcmVmXzIuY18yMSkpIEFTIGNfNgogICBGUk9N ICgocHVibGljLnQzIHJlZl8wCiAgICAgQ1JPU1MgSk9JTiBwdWJsaWMudDMgcmVmXzEpCiAg ICAgUklHSFQgSk9JTiBwdWJsaWMudDMgcmVmXzIgT04gKChyZWZfMS5jXzExID0gcmVmXzIu Y18wKSkpCiAgV0hFUkUgKCgoIFNFTEVDVCB0MC5jMwogICAgICAgICAgIEZST00gcHVibGlj LnQwCiAgICAgICAgICBPUkRFUiBCWSB0MC5jMwogICAgICAgICBPRkZTRVQgNAogICAgICAg ICBMSU1JVCAxKSA8ICggU0VMRUNUIHQwLmMzCiAgICAgICAgICAgRlJPTSBwdWJsaWMudDAK ICAgICAgICAgIE9SREVSIEJZIHQwLmMzCiAgICAgICAgIE9GRlNFVCA2CiAgICAgICAgIExJ TUlUIDEpKSBPUiBOVUxMOjpib29sZWFuKTsKCgpBTFRFUiBWSUVXIHB1YmxpYy50NCBPV05F UiBUTyB6dW1pbmc7CgotLQotLSBOYW1lOiB0NTsgVHlwZTogVEFCTEU7IFNjaGVtYTogcHVi bGljOyBPd25lcjogenVtaW5nCi0tCgpDUkVBVEUgVEFCTEUgcHVibGljLnQ1ICgKICAgIHZr ZXkgaW50ZWdlciwKICAgIHBrZXkgaW50ZWdlciwKICAgIGM3IHRleHQsCiAgICBjOCBpbnRl Z2VyLAogICAgYzkgaW50ZWdlciwKICAgIGMxMCB0ZXh0LAogICAgYzExIGRvdWJsZSBwcmVj aXNpb24sCiAgICBjMTIgdGV4dCwKICAgIGMxMyB0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpv bmUsCiAgICBjMTQgdGV4dCwKICAgIGMxNSB0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUK KTsKCgpBTFRFUiBUQUJMRSBwdWJsaWMudDUgT1dORVIgVE8genVtaW5nOwoKLS0KLS0gRGF0 YSBmb3IgTmFtZTogdDA7IFR5cGU6IFRBQkxFIERBVEE7IFNjaGVtYTogcHVibGljOyBPd25l cjogenVtaW5nCi0tCgpDT1BZIHB1YmxpYy50MCAodmtleSwgcGtleSwgYzAsIGMxLCBjMiwg YzMpIEZST00gc3RkaW47CjQJMTQwMDAJMAlcTgkJXE4KNwkxNzAwMAkwCTk3Ljk5CWk3TisJ MjAzMi0wMy0yNCAxOTo0MjozMQoxNwkyNzAwMAkwCVxOCQkyMDQ2LTA3LTA0IDA0OjAzOjA5 CjIwCTMwMDAwCS0yMAktMjAuODIJI30hQkEJMjAyMC0wMy0yOCAwNzowMDozMgoyMQkzMTAw MAkwCTAJCTIwNzEtMTItMjcgMTg6NDg6MjcKMjIJMzIwMDAJMjUJMAljfnhtCTIwNTktMDkt MTYgMDc6NDg6MTQKMjMJMzMwMDAJLTc1CS00MS45NwkybTcJMjA5OC0xMC0xNCAwODozMTo1 MQoyOAkzODAwMAkxOAkyMC45NwlcTglcTgo0Mwk1MzAwMAkwCS0zMy4yNQlJKQlcTgo0NQk1 NTAwMAk0NQk0OS43CU4/CTIwMDYtMDItMDggMTc6NDY6MTIKNDcJNTcwMDAJMAk0LjEJCVxO CjU4CTY4MDAwCS0xNAk2Ljk0CQkxOTc4LTExLTA3IDE3OjE4OjQ5CjYwCTcwMDAwCTAJNzAu OTMJOnkJMTk3OC0wNS0yNSAxNzozMDo1Mgo3OAk4ODAwMAktNDMJMzguMTEJCTE5NzUtMDMt MjAgMDE6MDE6MTAKODgJOTgwMDAJMAkxOS4zMQlRLEp1TQkyMDQ2LTAzLTAxIDA3OjMzOjEy CjkyCTEwMjAwMAktMTcJODcuNjIJOGUyJDkJMjA5OC0wMy0xNyAxNjowMTo0Nwo5MwkxMDMw MDAJMAk1OS4zNQkJMjAyMS0wMi0yMyAxNDoyNDoyNAo5OQkxMDkwMDAJXE4JLTkzLjU1CWUJ MjAwMy0xMi0wOCAyMjoyMTozNAoxMDAJMTEwMDAwCVxOCTAJJHx4eFAJMjA4Ni0xMC0xOSAw MToxNjoyMwoxMDUJMTE1MDAwCTAJMAkJMjA0Mi0wNC0wOSAwODowMTozMgoxMTAJMTIwMDAw CS00OAk4LjI5CVxOCVxOCjExMgkxMjIwMDAJMTkJNzAuMwlTCVxOCjExOQkxMjkwMDAJXE4J XE4JCTIwMDItMDctMTkgMDk6NDc6NTMKXC4KCgotLQotLSBEYXRhIGZvciBOYW1lOiB0MTsg VHlwZTogVEFCTEUgREFUQTsgU2NoZW1hOiBwdWJsaWM7IE93bmVyOiB6dW1pbmcKLS0KCkNP UFkgcHVibGljLnQxICh2a2V5LCBwa2V5LCBjNCwgYzUpIEZST00gc3RkaW47CjkJMTkwMDAJ NiMpOEAJLTEyCjE1CTI1MDAwCQkwCjI0CTM0MDAwCTtwLCxbCS00CjMwCTQwMDAwCQkwCjM2 CTQ2MDAwCWgyCS0yCjM4CTQ4MDAwCVxOCS04OQo0MQk1MTAwMAlJUixWCTkxCjQyCTUyMDAw CTc3TgkzNQo1MAk2MDAwMAlhK1tlPgkyMgo1Mwk2MzAwMAkJXE4KNTcJNjcwMDAJYDo1CTk5 CjYyCTcyMDAwCVxOCS0xNQo2Nwk3NzAwMAk2SmwJLTI1CjY4CTc4MDAwCT9PCTQwCjY5CTc5 MDAwCTt6CS0zNgo3MQk4MTAwMAlxLzhuegktODIKNzcJODcwMDAJXE4JLTExCjgyCTkyMDAw CVxOCTAKODMJOTMwMDAJZwlcTgo4NQk5NTAwMAlPVgktMjIKOTEJMTAxMDAwCToJXE4KOTQJ MTA0MDAwCVFAUgkwCjk2CTEwNjAwMAlbSVktCTQzCjk3CTEwNzAwMAlACTAKMTAzCTExMzAw MAlcTgktMzgKMTExCTEyMTAwMAksUGsJNzAKMTE0CTEyNDAwMAlTNy04WQk0MgoxMTUJMTI1 MDAwCWhjCTQ5CjEyMAkxMzAwMDAJXE4JXE4KXC4KCgotLQotLSBEYXRhIGZvciBOYW1lOiB0 MjsgVHlwZTogVEFCTEUgREFUQTsgU2NoZW1hOiBwdWJsaWM7IE93bmVyOiB6dW1pbmcKLS0K CkNPUFkgcHVibGljLnQyICh2a2V5LCBwa2V5LCBjNikgRlJPTSBzdGRpbjsKMgkxMjAwMAky OC40CjMJMTMwMDAJNTIuMQo1CTE1MDAwCTMwLjk5CjgJMTgwMDAJNzUuOQoxMAkyMDAwMAkt NzkuNAoxMQkyMTAwMAkwCjE2CTI2MDAwCS00MS41NAoxOQkyOTAwMAk0My42OAoyNQkzNTAw MAk3Ny4zNwoyNwkzNzAwMAk1Ny43OAoyOQkzOTAwMAlcTgozMgk0MjAwMAkzLjY0CjMzCTQz MDAwCS0yLjgzCjM3CTQ3MDAwCTk4LjQ0CjQwCTUwMDAwCS04Mi4zCjQ4CTU4MDAwCTY0LjQK NTQJNjQwMDAJLTUuNzEKNTUJNjUwMDAJNi42NQo1Ngk2NjAwMAktNjMuNDkKNTkJNjkwMDAJ MAo2NAk3NDAwMAk0LjgKNjUJNzUwMDAJLTM0LjkKNzAJODAwMDAJXE4KNzMJODMwMDAJLTQy LjMKNzQJODQwMDAJNTMuODMKNzYJODYwMDAJMAo3OQk4OTAwMAkwCjgwCTkwMDAwCTQ1Ljg0 CjgxCTkxMDAwCTAKODYJOTYwMDAJMAo5NQkxMDUwMDAJOTIuMTMKOTgJMTA4MDAwCS03LjI0 CjEwMQkxMTEwMDAJLTk5Ljg2CjEwNgkxMTYwMDAJMAoxMDgJMTE4MDAwCTkxLjQKMTEzCTEy MzAwMAktMTguOTgKMTE3CTEyNzAwMAlcTgoxMTgJMTI4MDAwCTEuNgoxMjEJMTMxMDAwCTAK XC4KCgotLQotLSBEYXRhIGZvciBOYW1lOiB0NTsgVHlwZTogVEFCTEUgREFUQTsgU2NoZW1h OiBwdWJsaWM7IE93bmVyOiB6dW1pbmcKLS0KCkNPUFkgcHVibGljLnQ1ICh2a2V5LCBwa2V5 LCBjNywgYzgsIGM5LCBjMTAsIGMxMSwgYzEyLCBjMTMsIGMxNCwgYzE1KSBGUk9NIHN0ZGlu OwoxCTExMDAwCVY/CS0xNwktNzUJWAlcTglXVEYJXE4JVEoJXE4KNgkxNjAwMAltYwktNTcJ NzYJXE4JMAldNXRrKQkxOTkzLTA1LTA5IDEzOjEzOjIyCVxOCTIwODItMTItMTkgMTk6MzA6 MDMKMTIJMjIwMDAJCTAJMAl2blghCTAJaVJ4XVUJMjAxMS0wNS0wNyAwMDo1NTozMAlBeTFV OAkyMDAxLTA0LTE3IDA0OjM0OjI2CjEzCTIzMDAwCTlxCS0zMwlcTglaOi93SAktNTcuNTcJ XE4JMjAzNS0xMi0xMSAwMjowNjoxNgkJMjA4Ny0wMS0wNyAxODo1NDo0MgoxNAkyNDAwMAld CS02MwktODUJYTMJLTY4LjU3CXRyCVxOCWBgLW4JMjA5NC0wMi0yNyAxNjo1MTo0NgoxOAky ODAwMAloRWEJMAk1CSsJMAkkNDpgCTIwNjctMTItMDEgMDc6NDM6NDIJUFBjYQkxOTg1LTA5 LTIwIDEzOjI0OjQ4CjI2CTM2MDAwCVlsejsJNzMJLTkyCXo5VQkzLjM2CU9nV25ACTIxMDEt MDgtMTEgMDM6MTA6MjkJWCsJXE4KMzEJNDEwMDAJCTg3CTAJWmQJXE4JCTIwNTEtMDgtMDIg MDU6NTY6MDIJCTIxMDEtMDctMTYgMDY6MTM6MjQKMzQJNDQwMDAJPT89cAlcTgktMTIJWFoJ MAlcTglcTgkJMjAyMy0wMS0wNiAyMDozOToyMwozNQk0NTAwMAlcTgktNDMJLTk2CTEJLTQz LjI5CQkxOTk4LTA1LTAzIDE4OjQ0OjIwCShYXQkxOTg0LTAxLTA2IDIxOjM3OjU4CjM5CTQ5 MDAwCXRCYGgJNjMJNglddyZICS0xNC40CU0pXi0mCTIwMzktMDItMTAgMjA6NDc6NTMJSSAz VDkJMjAzMC0wMy0yMiAwMzoyOTowMgo0NAk1NDAwMAk3N2wJLTk4CTY5CTVxXmMJNzcuOTMJ OXkvVwkyMDYxLTAxLTI2IDE1OjM2OjQyCTNTZUpRCTIxMDItMDYtMTQgMTY6MDM6MTkKNDYJ NTYwMDAJQgkwCTAJXE4JNzAuODQJSjwhUX4JMjAxNC0wNi0wNSAwMDowODo1OQk9ICQJMjAw Ny0wNy0xOCAxMzoyMjo1Ngo0OQk1OTAwMAlTCS05MQk2NQlLUWEzIQktOTMuNQlcTgkxOTg4 LTEyLTIwIDIwOjI5OjMwCVxOCTIwODAtMDEtMDkgMTI6NDE6MDUKNTEJNjEwMDAJMjt9cwkt MjcJXE4JMGNEQDQJLTg3Ljc0CVxOCTIwNzQtMDctMDUgMDg6MjE6MDUJTz9dCTIwMzUtMDct MjUgMTY6MTk6NDAKNTIJNjIwMDAJa0lJCS04MAk2NAkJXE4Jd1RZUQkyMDM3LTAyLTAxIDE4 OjQwOjU5CStSKgkyMDU4LTExLTIzIDIyOjI4OjE4CjYxCTcxMDAwCUBkCTAJLTc1CWBRPERF CTAJLitNCVxOCVxOCTIwNjktMDItMjIgMjI6MDE6NDQKNjMJNzMwMDAJXE4JXE4JMjEJZyBH Z3sJLTYwLjY2CVBYSQkxOTkwLTExLTI4IDE4OjU1OjQ5CVVkCVxOCjY2CTc2MDAwCWYwMgkt MTQJMjMJCS03OC41OAlpagkxOTk5LTA4LTA3IDE1OjUxOjA4CW0JMjA0Ni0wMS0wNCAwMjoz MTo1Ngo3Mgk4MjAwMAlcTglcTgk4NglWdwkwCU1aW0IJMjEwNC0wNS0yMSAxMDo1Nzo0MQlc TgkyMDcxLTEyLTE3IDA3OjA2OjQ1Cjc1CTg1MDAwCVI4ZHAJLTg5CTc5CXc7CVxOCVxOCTE5 NzUtMTAtMTMgMTc6Mjg6MzMJdlZeCTIwMjgtMDctMTkgMTU6NTU6MzAKODQJOTQwMDAJfQkw CTYzCW1SCTY2LjgzCVAjODBwCTIwNzYtMDUtMjQgMjM6MDY6MzAJUm5ybQkxOTcwLTExLTAy IDA2OjM1OjE4Cjg3CTk3MDAwCW1YTDIJMAkwCTxlUWV5CTc3LjQ2CVxOCTIxMDMtMTAtMjgg MDE6NTA6NDkJI1gJMTk4MS0wOC0xNyAxMToyMDozMgo4OQk5OTAwMAlTR2sJMAk4OQlcTgkw CVdSYkkxCTE5NzQtMDItMjAgMjE6MjI6NDMJQEAJMTk5NS0wNS0yOCAwNjoyODo0OAo5MAkx MDAwMDAJcFhCCS03MQktMjAJCTAJdgkxOTc0LTEwLTAzIDAyOjU5OjEyCVxOCTIwNjItMDQt MjggMTU6MTE6NDkKMTAyCTExMjAwMAkkaQk4NgkwCVxOCTM2Ljc2CUF0CTE5NzItMDMtMjYg MDM6Mzk6NDYJNEcJMTk4OS0xMi0yNCAyMTo0NTo1MwoxMDQJMTE0MDAwCS1FKDAJMgktNzgJ XE4JNzYuOQlTKwkxOTk4LTEwLTAyIDEzOjE0OjM2CWZJb1AJMjA1NC0wNC0yMyAwNzo1Nzo1 MQoxMDcJMTE3MDAwCTcJLTk0CS00NQlIKgkyNy4yNwkJMjAxMC0xMS0wMyAwNjo0MDo0MQkJ MjAyOC0xMC0xNSAxOTo1NzoyMgoxMDkJMTE5MDAwCVkxZWtUCS01MwktMwk3VgktOTQuNDIJ CTIwMDktMDctMDUgMDY6MTM6NDIJcCgJMjA0NC0wNi0wNCAwMjozMjo0OQoxMTYJMTI2MDAw CU1hCS0yMQk1OQlAS1NjCS03Mi41Nwl8Qj1vOQkyMDE4LTAzLTIwIDAzOjA1OjA5CSE2IAky MDI1LTEyLTExIDIyOjE5OjEzClwuCgoKLS0KLS0gTmFtZTogdDAgdDBfcGtleTsgVHlwZTog Q09OU1RSQUlOVDsgU2NoZW1hOiBwdWJsaWM7IE93bmVyOiB6dW1pbmcKLS0KCkFMVEVSIFRB QkxFIE9OTFkgcHVibGljLnQwCiAgICBBREQgQ09OU1RSQUlOVCB0MF9wa2V5IFBSSU1BUlkg S0VZICh2a2V5KTsKCgotLQotLSBOYW1lOiB0MSB0MV9wa2V5OyBUeXBlOiBDT05TVFJBSU5U OyBTY2hlbWE6IHB1YmxpYzsgT3duZXI6IHp1bWluZwotLQoKQUxURVIgVEFCTEUgT05MWSBw dWJsaWMudDEKICAgIEFERCBDT05TVFJBSU5UIHQxX3BrZXkgUFJJTUFSWSBLRVkgKHZrZXkp OwoKCi0tCi0tIE5hbWU6IGkwOyBUeXBlOiBJTkRFWDsgU2NoZW1hOiBwdWJsaWM7IE93bmVy OiB6dW1pbmcKLS0KCkNSRUFURSBJTkRFWCBpMCBPTiBwdWJsaWMudDAgVVNJTkcgYnRyZWUg KGMzIERFU0MsIHZrZXksIGMwLCBjMSk7CgoKLS0KLS0gUG9zdGdyZVNRTCBkYXRhYmFzZSBk dW1wIGNvbXBsZXRlCi0tCgo= --------------udZ4hrEWMYwGQ9gVX7ZbmE1i Content-Type: text/plain; charset="UTF-8"; name="unexpected.sql" Content-Disposition: attachment; filename="unexpected.sql" Content-Transfer-Encoding: base64 d2l0aApjdGVfMiBBUyAoc2VsZWN0IGRpc3RpbmN0IAogICAgY2FzZSB3aGVuIHRydWUgdGhl biAoKGNhc2Ugd2hlbiBmYWxzZSB0aGVuIChyZWZfMTQuY18xKSBlbHNlIChyZWZfMTQuY18x KSBlbmQKICAgICAgICAgICkgJiAoY2FzZSB3aGVuIHRydWUgdGhlbiAocmVmXzE0LmNfMSkg ZWxzZSAocmVmXzE0LmNfMSkgZW5kCiAgICAgICAgICApKSBlbHNlICgocmVmXzE0LmNfMSkg PDwgKHJlZl8xNC5jXzEpKSBlbmQKICAgICAgICAgYXMgY18wLCAKICAgIGNhc2Ugd2hlbiAo KCgocmVmXzE0LmNfMikgaXMgbm90IG51bGwpIAogICAgICAgIG9yIChub3QgKChyZWZfMTQu Y18yKSBpcyBub3QgbnVsbCkpKSAKICAgICAgICBvciAoKChyZWZfMTQuY18yKSBpcyBub3Qg bnVsbCkgaXMgbnVsbCkpIHRoZW4gKHJlZl8xNC5jXzIpIGVsc2UgKGNhc2Ugd2hlbiAoKCgo KChyZWZfMTQuY182KSBpbiAoc2VsZWN0ICAKICAgICAgICAgICAgICAgICAgICAgIHJlZl8x NC5jXzQgYXMgY18wCiAgICAgICAgICAgICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAg ICAgICAgIHQzIGFzIHJlZl84MQogICAgICAgICAgICAgICAgICAgIHdoZXJlIG51bGw6OmJv b2wKICAgICAgICAgICAgICAgICAgICB3aW5kb3cgdzAgYXMgKHBhcnRpdGlvbiBieSByZWZf MTQuY180IG9yZGVyIGJ5IHJlZl8xNC5jXzAgZGVzYywgcmVmXzE0LmNfMSBkZXNjLCByZWZf MTQuY18yIGRlc2MsIHJlZl8xNC5jXzMgYXNjLCByZWZfMTQuY180IGRlc2MsIHJlZl8xNC5j XzUgYXNjLCByZWZfMTQuY182IGRlc2MsIHJlZl84MS5jXzAgZGVzYywgcmVmXzgxLmNfMSBk ZXNjLCByZWZfODEuY18yIGRlc2MsIHJlZl84MS5jXzMgZGVzYywgcmVmXzgxLmNfNCBkZXNj LCByZWZfODEuY181IGRlc2MsIHJlZl84MS5jXzYgYXNjLCByZWZfODEuY183IGFzYywgcmVm XzgxLmNfOCBkZXNjLCByZWZfODEuY185IGRlc2MsIHJlZl84MS5jXzEwIGFzYywgcmVmXzgx LmNfMTEgZGVzYywgcmVmXzgxLmNfMTIgYXNjLCByZWZfODEuY18xMyBkZXNjLCByZWZfODEu Y18xNCBkZXNjLCByZWZfODEuY18xNSBkZXNjLCByZWZfODEuY18xNiBkZXNjLCByZWZfODEu Y18xNyBhc2MsIHJlZl84MS5jXzE4IGRlc2MsIHJlZl84MS5jXzE5IGRlc2MsIHJlZl84MS5j XzIwIGFzYywgcmVmXzgxLmNfMjEgYXNjKQogICAgICAgICAgICAgICAgICAgIG9yZGVyIGJ5 IGNfMCBkZXNjKSkgCiAgICAgICAgICAgICAgICBvciAoKG51bGw6OmJvb2wpIAogICAgICAg ICAgICAgICAgICBvciAobnVsbDo6Ym9vbCkpKSAKICAgICAgICAgICAgICBvciAoKHJlZl8x NC5jXzEpIDwgKHJlZl8xNC5jXzEpKSkgCiAgICAgICAgICAgIG9yICgoJ11kYScpID4gKHJl Zl8xNC5jXzIpKSkgCiAgICAgICAgICBhbmQgKG5vdCAoKG51bGw6OmJvb2wpIAogICAgICAg ICAgICBhbmQgKChyZWZfMTQuY18yKSBub3QgbGlrZSAnSF9iJykpKSkgdGhlbiAoY2FzZSB3 aGVuICgocmVmXzE0LmNfMSkgaXMgbm90IG51bGwpIHRoZW4gKHJlZl8xNC5jXzIpIGVsc2Ug KHJlZl8xNC5jXzIpIGVuZAogICAgICAgICAgKSBlbHNlIChyZWZfMTQuY18zKSBlbmQKICAg ICAgICApIGVuZAogICAgICAgICBhcyBjXzEsIAogICAgY2FzZSB3aGVuICgoKChyZWZfMTQu Y18xKSBiZXR3ZWVuIChyZWZfMTQuY18xKSBhbmQgKHJlZl8xNC5jXzEpKSAKICAgICAgICBh bmQgKG5vdCAoKHJlZl8xNC5jXzEpIGJldHdlZW4gKHJlZl8xNC5jXzEpIGFuZCAocmVmXzE0 LmNfMSkpKSkgCiAgICAgICAgYW5kICgoKHJlZl8xNC5jXzEpIGJldHdlZW4gKHJlZl8xNC5j XzEpIGFuZCAocmVmXzE0LmNfMSkpIGlzIG5vdCBudWxsKSkgdGhlbiAoY2FzZSB3aGVuIChu dWxsOjpib29sKSB0aGVuIChyZWZfMTQuY18xKSBlbHNlIChudWxsaWYocmVmXzE0LmNfMSwg MCkpIGVuZAogICAgICAgICkgZWxzZSAocmVmXzE0LmNfMSkgZW5kCiAgICAgICAgIGFzIGNf MiwgCiAgICBjYXNlIHdoZW4gZmFsc2UgdGhlbiAocmVmXzE0LmNfMCkgZWxzZSAocmVmXzE0 LmNfNCkgZW5kCiAgICAgICAgIGFzIGNfMywgCiAgICBjYXNlIHdoZW4gdHJ1ZSB0aGVuIChy ZWZfMTQuY181KSBlbHNlICgocmVmXzE0LmNfMykgPD0gKHJlZl8xNC5jXzMpKSBlbmQKICAg ICAgICAgYXMgY180LCAKICAgIGNhc2Ugd2hlbiBmYWxzZSB0aGVuIChyZWZfMTQuY18xKSBl bHNlIChudWxsOjppbnQ0KSBlbmQKICAgICAgICAgYXMgY181LCAKICAgIGNhc2Ugd2hlbiB0 cnVlIHRoZW4gKHJlZl8xNC5jXzUpIGVsc2UgKCgocmVmXzE0LmNfNCkgaXMgbnVsbCkgCiAg ICAgICAgYW5kICgocGdfY2F0YWxvZy5idHJpbShyZWZfMTQuY18zLAogICAgICAgICAgICBy ZWZfMTQuY18zKSkgfn4qIChyZWZfMTQuY18zKSkpIGVuZAogICAgICAgICBhcyBjXzYsIAog ICAgY2FzZSB3aGVuIGZhbHNlIHRoZW4gKChwZ19jYXRhbG9nLnRpbWVzdGFtcChudWxsOjp0 aW1lc3RhbXAsCiAgICAgICAgICByZWZfMTQuY18xKSkgPD4gKHBnX2NhdGFsb2cudGltZXN0 YW1wX3NtYWxsZXIobWFrZV90aW1lc3RhbXAoMjAyOSwgMTEsIDE5LCAyMCwgMzgsIDM4KSwK ICAgICAgICAgIG1ha2VfdGltZXN0YW1wKDIwMjksIDMsIDcsIDEwLCAyOCwgMjgpKSkpIGVs c2UgKHJlZl8xNC5jXzUpIGVuZAogICAgICAgICBhcyBjXzcsIAogICAgY2FzZSB3aGVuIGZh bHNlIHRoZW4gKHJlZl8xNC5jXzYpIGVsc2UgKHJlZl8xNC5jXzQpIGVuZAogICAgICAgICBh cyBjXzgsIAogICAgY2FzZSB3aGVuIGZhbHNlIHRoZW4gKChjb2FsZXNjZShyZWZfMTQuY18y LCBwZ19jYXRhbG9nLnJwYWQocmVmXzE0LmNfMywKICAgICAgICAgICAgcmVmXzE0LmNfMSwK ICAgICAgICAgICAgcmVmXzE0LmNfMykpKSBub3QgbGlrZSAnXyVfJykgZWxzZSAoKGNhc2Ug d2hlbiB0cnVlIHRoZW4gKGNhc2Ugd2hlbiAoKChjYXNlIHdoZW4gKCgoZmFsc2U6OmJvb2wp IAogICAgICAgICAgICAgIG9yIChub3QgKGZhbHNlOjpib29sKSkpIAogICAgICAgICAgICAg IG9yICgoZmFsc2U6OmJvb2wpIGlzIG51bGwpKSB0aGVuIChyZWZfMTQuY18yKSBlbHNlIChy ZWZfMTQuY18yKSBlbmQKICAgICAgICAgICAgICApIG5vdCBsaWtlICdSbi8nKSkgdGhlbiAo Y2FzZSB3aGVuICgoKGZhbHNlOjpib29sKSAKICAgICAgICAgICAgYW5kIChub3QgKGZhbHNl Ojpib29sKSkpIAogICAgICAgICAgICBhbmQgKChmYWxzZTo6Ym9vbCkgaXMgbm90IG51bGwp KSB0aGVuIChyZWZfMTQuY18yKSBlbHNlIChudWxsOjp0ZXh0KSBlbmQKICAgICAgICAgICAg KSBlbHNlIChjYXNlIHdoZW4gKCgoKHJlZl8xNC5jXzMpID4gKHJlZl8xNC5jXzMpKSAKICAg ICAgICAgICAgYW5kIChub3QgKChyZWZfMTQuY18zKSA+IChyZWZfMTQuY18zKSkpKSAKICAg ICAgICAgICAgYW5kICgoKHJlZl8xNC5jXzMpID4gKHJlZl8xNC5jXzMpKSBpcyBub3QgbnVs bCkpIHRoZW4gKHJlZl8xNC5jXzMpIGVsc2UgKHJlZl8xNC5jXzIpIGVuZAogICAgICAgICAg ICApIGVuZAogICAgICAgICkgZWxzZSAocmVmXzE0LmNfMikgZW5kCiAgICAgICAgICApIH4q IChjYXNlIHdoZW4gKCgodHJ1ZTo6Ym9vbCkgCiAgICAgICAgICBhbmQgKG5vdCAodHJ1ZTo6 Ym9vbCkpKSAKICAgICAgICAgIGFuZCAoKHRydWU6OmJvb2wpIGlzIG5vdCBudWxsKSkgdGhl biAocmVmXzE0LmNfMikgZWxzZSAocmVmXzE0LmNfMykgZW5kCiAgICAgICAgICApKSBlbmQK ICAgICAgICAgYXMgY185CiAgZnJvbSAKICAgIHQ0IGFzIHJlZl8xNAopLCAKCmN0ZV8zIEFT IChzZWxlY3QgIAogICAgY2FzZSB3aGVuIHRydWUgdGhlbiAoc3VicV8xLmNfMCkgZWxzZSAo c3VicV8xLmNfOSkgZW5kCiAgICAgICAgIGFzIGNfMCwgCiAgICBjYXNlIHdoZW4gdHJ1ZSB0 aGVuIChjYXNlIHdoZW4gKCgoY2FzZSB3aGVuIHRydWUgdGhlbiAoY2FzZSB3aGVuICgoKChj YXNlIHdoZW4gdHJ1ZSB0aGVuIChzdWJxXzEuY18zKSBlbHNlIChzdWJxXzEuY185KSBlbmQK ICAgICAgICAgICAgICAgICkgPj0gKGNhc2Ugd2hlbiBmYWxzZSB0aGVuICgxNykgZWxzZSAo LTI1KSBlbmQKICAgICAgICAgICAgICAgICkpIAogICAgICAgICAgICAgIGFuZCAoKGNhc2Ug d2hlbiB0cnVlIHRoZW4gKHN1YnFfMS5jXzMpIGVsc2UgKHN1YnFfMS5jXzkpIGVuZAogICAg ICAgICAgICAgICAgKSA8PSAoY2FzZSB3aGVuICgoKChzdWJxXzEuY181KSBub3QgbGlrZSAn Xz5fJykgCiAgICAgICAgICAgICAgICBhbmQgKG5vdCAoKHN1YnFfMS5jXzUpIG5vdCBsaWtl ICdfPl8nKSkpIAogICAgICAgICAgICAgICAgYW5kICgoKHN1YnFfMS5jXzUpIG5vdCBsaWtl ICdfPl8nKSBpcyBub3QgbnVsbCkpIHRoZW4gKHN1YnFfMS5jXzMpIGVsc2UgKHN1YnFfMS5j XzMpIGVuZAogICAgICAgICAgICAgICAgKSkpKSB0aGVuIChjYXNlIHdoZW4gKCgoKCgoc3Vi cV8xLmNfOSkgYmV0d2VlbiAoc3VicV8xLmNfMCkgYW5kIChzdWJxXzEuY18wKSkgCiAgICAg ICAgICAgICAgICBvciAobnVsbDo6Ym9vbCkpIAogICAgICAgICAgICAgIG9yICgoc3VicV8x LmNfOSkgPD4gKHN1YnFfMS5jXzApKSkgCiAgICAgICAgICAgICAgb3IgKG5vdCAoKCgoc3Vi cV8xLmNfOSkgYmV0d2VlbiAoc3VicV8xLmNfMCkgYW5kIChzdWJxXzEuY18wKSkgCiAgICAg ICAgICAgICAgICBvciAobnVsbDo6Ym9vbCkpIAogICAgICAgICAgICAgIG9yICgoc3VicV8x LmNfOSkgPD4gKHN1YnFfMS5jXzApKSkpKSAKICAgICAgICAgICAgICBvciAoKCgoKHN1YnFf MS5jXzkpIGJldHdlZW4gKHN1YnFfMS5jXzApIGFuZCAoc3VicV8xLmNfMCkpIAogICAgICAg ICAgICAgICAgb3IgKG51bGw6OmJvb2wpKSAKICAgICAgICAgICAgICBvciAoKHN1YnFfMS5j XzkpIDw+IChzdWJxXzEuY18wKSkpIGlzIG51bGwpKSB0aGVuIChzdWJxXzEuY182KSBlbHNl IChzdWJxXzEuY182KSBlbmQKICAgICAgICAgICAgICApIGVsc2UgKGNhc2Ugd2hlbiAoKChu dWxsOjpib29sKSAKICAgICAgICAgICAgICBhbmQgKG5vdCAobnVsbDo6Ym9vbCkpKSAKICAg ICAgICAgICAgICBhbmQgKChudWxsOjpib29sKSBpcyBub3QgbnVsbCkpIHRoZW4gKHN1YnFf MS5jXzYpIGVsc2UgKHN1YnFfMS5jXzEpIGVuZAogICAgICAgICAgICAgICkgZW5kCiAgICAg ICAgICApIGVsc2UgKGNhc2Ugd2hlbiAoKCgoc3VicV8xLmNfMSkgbm90IGxpa2UgJ1kubScp IAogICAgICAgICAgICAgICAgYW5kICgobnVsbDo6Ym9vbCkgCiAgICAgICAgICAgICAgICAg IG9yIChub3QgKChzdWJxXzEuY182KSA+IChzdWJxXzEuY181KSkpKSkgCiAgICAgICAgICAg ICAgb3IgKChzdWJxXzEuY181KSA8PiAoc3VicV8xLmNfNSkpKSB0aGVuIChzdWJxXzEuY18x KSBlbHNlIChzdWJxXzEuY182KSBlbmQKICAgICAgICAgICAgKSBlbmQKICAgICAgICAgICAg KSA8PiAoY2FzZSB3aGVuICgoKChzdWJxXzEuY185KSA+IChzdWJxXzEuY185KSkgCiAgICAg ICAgICAgIG9yIChub3QgKChzdWJxXzEuY185KSA+IChzdWJxXzEuY185KSkpKSAKICAgICAg ICAgICAgb3IgKCgoc3VicV8xLmNfOSkgPiAoc3VicV8xLmNfOSkpIGlzIG51bGwpKSB0aGVu IChzdWJxXzEuY181KSBlbHNlIChzdWJxXzEuY181KSBlbmQKICAgICAgICAgICAgKSkpIHRo ZW4gKGNhc2Ugd2hlbiB0cnVlIHRoZW4gKGNhc2Ugd2hlbiAoKG5vdCAoKG5vdCAoKCgoKHN1 YnFfMS5jXzkpIGJldHdlZW4gKHN1YnFfMS5jXzApIGFuZCAoc3VicV8xLmNfMykpIAogICAg ICAgICAgICAgIG9yIChub3QgKChzdWJxXzEuY185KSBiZXR3ZWVuIChzdWJxXzEuY18wKSBh bmQgKHN1YnFfMS5jXzMpKSkpIAogICAgICAgICAgICAgIG9yICgoKHN1YnFfMS5jXzkpIGJl dHdlZW4gKHN1YnFfMS5jXzApIGFuZCAoc3VicV8xLmNfMykpIGlzIG51bGwpKSAKICAgICAg ICAgICAgICBhbmQgKChjYXNlIHdoZW4gKCgoKChzdWJxXzEuY18wKSA+IChzdWJxXzEuY18w KSkgCiAgICAgICAgICAgICAgICBvciAobnVsbDo6Ym9vbCkpIAogICAgICAgICAgICAgICAg YW5kIChub3QgKCgoc3VicV8xLmNfMCkgPiAoc3VicV8xLmNfMCkpIAogICAgICAgICAgICAg ICAgb3IgKG51bGw6OmJvb2wpKSkpIAogICAgICAgICAgICAgICAgYW5kICgoKChzdWJxXzEu Y18wKSA+IChzdWJxXzEuY18wKSkgCiAgICAgICAgICAgICAgICBvciAobnVsbDo6Ym9vbCkp IGlzIG5vdCBudWxsKSkgdGhlbiAoc3VicV8xLmNfNykgZWxzZSAoc3VicV8xLmNfNCkgZW5k CiAgICAgICAgICAgICAgICApIDw+IChjYXNlIHdoZW4gKCgoKChzdWJxXzEuY18yKSBpcyBu dWxsKSAKICAgICAgICAgICAgICAgIGFuZCAoKHN1YnFfMS5jXzYpIH5+KiAoc3VicV8xLmNf NikpKSAKICAgICAgICAgICAgICAgIG9yIChub3QgKCgoc3VicV8xLmNfMikgaXMgbnVsbCkg CiAgICAgICAgICAgICAgICBhbmQgKChzdWJxXzEuY182KSB+fiogKHN1YnFfMS5jXzYpKSkp KSAKICAgICAgICAgICAgICAgIG9yICgoKChzdWJxXzEuY18yKSBpcyBudWxsKSAKICAgICAg ICAgICAgICAgIGFuZCAoKHN1YnFfMS5jXzYpIH5+KiAoc3VicV8xLmNfNikpKSBpcyBudWxs KSkgdGhlbiAoc3VicV8xLmNfMikgZWxzZSAoc3VicV8xLmNfNykgZW5kCiAgICAgICAgICAg ICAgICApKSkpIAogICAgICAgICAgICBhbmQgKG5vdCAoKCgoKG1ha2VfdGltZXN0YW1wKDE5 OTYsIDExLCAyNCwgMTIsIDEyLCA1MikpIDw+IChudWxsOjp0aW1lc3RhbXApKSAKICAgICAg ICAgICAgICBvciAobm90ICgobWFrZV90aW1lc3RhbXAoMTk5NiwgMTEsIDI0LCAxMiwgMTIs IDUyKSkgPD4gKG51bGw6OnRpbWVzdGFtcCkpKSkgCiAgICAgICAgICAgICAgb3IgKCgobWFr ZV90aW1lc3RhbXAoMTk5NiwgMTEsIDI0LCAxMiwgMTIsIDUyKSkgPD4gKG51bGw6OnRpbWVz dGFtcCkpIGlzIG51bGwpKSAKICAgICAgICAgICAgICBhbmQgKG5vdCAoKG5vdCAoKCgodHJ1 ZTo6Ym9vbCkgCiAgICAgICAgICAgICAgICBhbmQgKG5vdCAodHJ1ZTo6Ym9vbCkpKSAKICAg ICAgICAgICAgICAgIGFuZCAoKHRydWU6OmJvb2wpIGlzIG5vdCBudWxsKSkgCiAgICAgICAg ICAgICAgICBvciAobm90ICgoKCgobWFrZV90aW1lc3RhbXAoMjA4MiwgOCwgMjgsIDIzLCA1 MiwgMTApKSA9IChtYWtlX3RpbWVzdGFtcCgyMDI0LCAxMSwgMTYsIDIsIDMyLCA3KSkpIAog ICAgICAgICAgICAgICAgb3IgKG5vdCAoKG1ha2VfdGltZXN0YW1wKDIwODIsIDgsIDI4LCAy MywgNTIsIDEwKSkgPSAobWFrZV90aW1lc3RhbXAoMjAyNCwgMTEsIDE2LCAyLCAzMiwgNykp KSkpIAogICAgICAgICAgICAgICAgb3IgKCgobWFrZV90aW1lc3RhbXAoMjA4MiwgOCwgMjgs IDIzLCA1MiwgMTApKSA9IChtYWtlX3RpbWVzdGFtcCgyMDI0LCAxMSwgMTYsIDIsIDMyLCA3 KSkpIGlzIG51bGwpKSAKICAgICAgICAgICAgICAgIGFuZCAoKGNhc2Ugd2hlbiAoKCgoMCkg aXMgbm90IG51bGwpIAogICAgICAgICAgICAgICAgICBhbmQgKG5vdCAoKDApIGlzIG5vdCBu dWxsKSkpIAogICAgICAgICAgICAgICAgICBhbmQgKCgoMCkgaXMgbm90IG51bGwpIGlzIG5v dCBudWxsKSkgdGhlbiAoc3VicV8xLmNfNikgZWxzZSAoc3VicV8xLmNfNikgZW5kCiAgICAg ICAgICAgICAgICAgICkgPSAoY2FzZSB3aGVuICgoKG51bGw6OmJvb2wpIAogICAgICAgICAg ICAgICAgICBvciAobm90IChudWxsOjpib29sKSkpIAogICAgICAgICAgICAgICAgICBvciAo KG51bGw6OmJvb2wpIGlzIG51bGwpKSB0aGVuIChzdWJxXzEuY18xKSBlbHNlIChzdWJxXzEu Y18xKSBlbmQKICAgICAgICAgICAgICAgICAgKSkpKSkpIAogICAgICAgICAgICAgIG9yIChu b3QgKCgoKChtYWtlX3RpbWVzdGFtcCgyMDYyLCA0LCAxMywgMTYsIDI1LCA0MCkpIDwgKG1h a2VfdGltZXN0YW1wKDIwMzIsIDUsIDIwLCAxMiwgMjksIDU0KSkpIAogICAgICAgICAgICAg ICAgb3IgKG5vdCAoKG1ha2VfdGltZXN0YW1wKDIwNjIsIDQsIDEzLCAxNiwgMjUsIDQwKSkg PCAobWFrZV90aW1lc3RhbXAoMjAzMiwgNSwgMjAsIDEyLCAyOSwgNTQpKSkpKSAKICAgICAg ICAgICAgICAgIG9yICgoKG1ha2VfdGltZXN0YW1wKDIwNjIsIDQsIDEzLCAxNiwgMjUsIDQw KSkgPCAobWFrZV90aW1lc3RhbXAoMjAzMiwgNSwgMjAsIDEyLCAyOSwgNTQpKSkgaXMgbnVs bCkpIAogICAgICAgICAgICAgICAgYW5kICgoKGNhc2Ugd2hlbiAoKChudWxsOjpib29sKSAK ICAgICAgICAgICAgICAgICAgYW5kIChub3QgKG51bGw6OmJvb2wpKSkgCiAgICAgICAgICAg ICAgICAgIGFuZCAoKG51bGw6OmJvb2wpIGlzIG5vdCBudWxsKSkgdGhlbiAoc3VicV8xLmNf MykgZWxzZSAoc3VicV8xLmNfOSkgZW5kCiAgICAgICAgICAgICAgICAgICkgPj0gKGNhc2Ug d2hlbiAoKCgoZXhpc3RzICgKICAgICAgICAgICAgICAgICAgICBzZWxlY3QgIAogICAgICAg ICAgICAgICAgICAgICAgICAgIHJlZl8xMDQudmtleSBhcyBjXzAKICAgICAgICAgICAgICAg ICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAgICAgICAgICAgICB0MSBhcyByZWZfMTA0 CiAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIChzdWJxXzEuY18zKSA+PSAoIAogICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlZl8xMDQuYzUgYXMgY18wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBm cm9tIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0NCBhcyByZWZfMTA1CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSAoc3VicV8xLmNfNSkgPiAocmVmXzEwNS5j XzIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlciBieSBjXzAgZGVzYwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0IDEpCiAgICAgICAgICAgICAgICAgICAg ICBpbnRlcnNlY3QKICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCAgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgc3VicV8xLmNfMyBhcyBjXzAKICAgICAgICAgICAgICAgICAgICAg ICAgZnJvbSAKICAgICAgICAgICAgICAgICAgICAgICAgICB0NSBhcyByZWZfMTA2CiAgICAg ICAgICAgICAgICAgICAgICAgIHdoZXJlIGZhbHNlOjpib29sKSkgCiAgICAgICAgICAgICAg ICAgIG9yICgoKHN1YnFfMS5jXzApIDw9IChzdWJxXzEuY18wKSkgCiAgICAgICAgICAgICAg ICAgICAgYW5kICgoc3VicV8xLmNfNSkgbm90IGxpa2UgJyUlbScpKSkgCiAgICAgICAgICAg ICAgICAgIGFuZCAobm90ICgoZXhpc3RzICgKICAgICAgICAgICAgICAgICAgICBzZWxlY3Qg IAogICAgICAgICAgICAgICAgICAgICAgICAgIHJlZl8xMDQudmtleSBhcyBjXzAKICAgICAg ICAgICAgICAgICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAgICAgICAgICAgICB0MSBh cyByZWZfMTA0CiAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIChzdWJxXzEuY18zKSA+ PSAoIAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCAgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlZl8xMDQuYzUgYXMgY18wCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmcm9tIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0NCBhcyByZWZf MTA1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSAoc3VicV8xLmNfNSkgPiAo cmVmXzEwNS5jXzIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlciBieSBjXzAg ZGVzYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0IDEpCiAgICAgICAgICAg ICAgICAgICAgICBpbnRlcnNlY3QKICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgc3VicV8xLmNfMyBhcyBjXzAKICAgICAgICAgICAg ICAgICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAgICAgICAgICAgICB0NSBhcyByZWZf MTA2CiAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIGZhbHNlOjpib29sKSkgCiAgICAg ICAgICAgICAgICAgIG9yICgoKHN1YnFfMS5jXzApIDw9IChzdWJxXzEuY18wKSkgCiAgICAg ICAgICAgICAgICAgICAgYW5kICgoc3VicV8xLmNfNSkgbm90IGxpa2UgJyUlbScpKSkpKSAK ICAgICAgICAgICAgICAgICAgYW5kICgoKGV4aXN0cyAoCiAgICAgICAgICAgICAgICAgICAg c2VsZWN0ICAKICAgICAgICAgICAgICAgICAgICAgICAgICByZWZfMTA0LnZrZXkgYXMgY18w CiAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gCiAgICAgICAgICAgICAgICAgICAgICAg ICAgdDEgYXMgcmVmXzEwNAogICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSAoc3VicV8x LmNfMykgPj0gKCAKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZWZfMTA0LmM1IGFzIGNfMAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdDQg YXMgcmVmXzEwNQogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgKHN1YnFfMS5j XzUpID4gKHJlZl8xMDUuY18yKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIg YnkgY18wIGRlc2MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdCAxKQogICAg ICAgICAgICAgICAgICAgICAgaW50ZXJzZWN0CiAgICAgICAgICAgICAgICAgICAgICBzZWxl Y3QgIAogICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnFfMS5jXzMgYXMgY18wCiAgICAg ICAgICAgICAgICAgICAgICAgIGZyb20gCiAgICAgICAgICAgICAgICAgICAgICAgICAgdDUg YXMgcmVmXzEwNgogICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSBmYWxzZTo6Ym9vbCkp IAogICAgICAgICAgICAgICAgICBvciAoKChzdWJxXzEuY18wKSA8PSAoc3VicV8xLmNfMCkp IAogICAgICAgICAgICAgICAgICAgIGFuZCAoKHN1YnFfMS5jXzUpIG5vdCBsaWtlICclJW0n KSkpIGlzIG5vdCBudWxsKSkgdGhlbiAoc3VicV8xLmNfOSkgZWxzZSAoc3VicV8xLmNfMykg ZW5kCiAgICAgICAgICAgICAgICAgICkpIAogICAgICAgICAgICAgICAgYW5kICgoY2FzZSB3 aGVuICgoKG51bGw6OmJvb2wpIAogICAgICAgICAgICAgICAgICBhbmQgKG5vdCAobnVsbDo6 Ym9vbCkpKSAKICAgICAgICAgICAgICAgICAgYW5kICgobnVsbDo6Ym9vbCkgaXMgbm90IG51 bGwpKSB0aGVuIChzdWJxXzEuY18zKSBlbHNlIChzdWJxXzEuY185KSBlbmQKICAgICAgICAg ICAgICAgICAgKSA8PSAoY2FzZSB3aGVuICgoKCgoc3VicV8xLmNfMSkgfiogKHN1YnFfMS5j XzYpKSAKICAgICAgICAgICAgICAgICAgb3IgKGZhbHNlOjpib29sKSkgCiAgICAgICAgICAg ICAgICAgIGFuZCAobm90ICgoKHN1YnFfMS5jXzEpIH4qIChzdWJxXzEuY182KSkgCiAgICAg ICAgICAgICAgICAgIG9yIChmYWxzZTo6Ym9vbCkpKSkgCiAgICAgICAgICAgICAgICAgIGFu ZCAoKCgoc3VicV8xLmNfMSkgfiogKHN1YnFfMS5jXzYpKSAKICAgICAgICAgICAgICAgICAg b3IgKGZhbHNlOjpib29sKSkgaXMgbm90IG51bGwpKSB0aGVuIChzdWJxXzEuY18wKSBlbHNl IChzdWJxXzEuY185KSBlbmQKICAgICAgICAgICAgICAgICAgKSkpKSkpKSkpKSkpIHRoZW4g KGNhc2Ugd2hlbiAoKChub3QgKCgoc3VicV8xLmNfMSkgXkAgKHN1YnFfMS5jXzYpKSAKICAg ICAgICAgICAgYW5kICgoc3VicV8xLmNfNSkgPCAoc3VicV8xLmNfNSkpKSkgCiAgICAgICAg ICAgIGFuZCAobm90IChub3QgKCgoc3VicV8xLmNfMSkgXkAgKHN1YnFfMS5jXzYpKSAKICAg ICAgICAgICAgYW5kICgoc3VicV8xLmNfNSkgPCAoc3VicV8xLmNfNSkpKSkpKSAKICAgICAg ICAgICAgYW5kICgobm90ICgoKHN1YnFfMS5jXzEpIF5AIChzdWJxXzEuY182KSkgCiAgICAg ICAgICAgIGFuZCAoKHN1YnFfMS5jXzUpIDwgKHN1YnFfMS5jXzUpKSkpIGlzIG5vdCBudWxs KSkgdGhlbiAoc3VicV8xLmNfNSkgZWxzZSAoc3VicV8xLmNfNikgZW5kCiAgICAgICAgICAg ICkgZWxzZSAoY2FzZSB3aGVuICgoKG5vdCAoZmFsc2U6OmJvb2wpKSAKICAgICAgICAgICAg YW5kIChub3QgKG5vdCAoZmFsc2U6OmJvb2wpKSkpIAogICAgICAgICAgICBhbmQgKChub3Qg KGZhbHNlOjpib29sKSkgaXMgbm90IG51bGwpKSB0aGVuIChjYXNlIHdoZW4gKGZhbHNlOjpi b29sKSB0aGVuIChzdWJxXzEuY18xKSBlbHNlIChzdWJxXzEuY18xKSBlbmQKICAgICAgICAg ICAgKSBlbHNlIChzdWJxXzEuY182KSBlbmQKICAgICAgICAgICAgKSBlbmQKICAgICAgICAp IGVsc2UgKChzdWJxXzEuY182KSB8fCAoc3VicV8xLmNfNSkpIGVuZAogICAgICAgICAgKSBl bHNlIChjYXNlIHdoZW4gKCgoKG51bGw6OmJvb2wpIAogICAgICAgICAgb3IgKChzdWJxXzEu Y182KSB+KiAoc3VicV8xLmNfNikpKSAKICAgICAgICAgIGFuZCAobm90ICgobnVsbDo6Ym9v bCkgCiAgICAgICAgICBvciAoKHN1YnFfMS5jXzYpIH4qIChzdWJxXzEuY182KSkpKSkgCiAg ICAgICAgICBhbmQgKCgobnVsbDo6Ym9vbCkgCiAgICAgICAgICBvciAoKHN1YnFfMS5jXzYp IH4qIChzdWJxXzEuY182KSkpIGlzIG5vdCBudWxsKSkgdGhlbiAoc3VicV8xLmNfNSkgZWxz ZSAoc3VicV8xLmNfMSkgZW5kCiAgICAgICAgICApIGVuZAogICAgICApIGVsc2UgKGNhc2Ug d2hlbiAobnVsbDo6Ym9vbCkgdGhlbiAoc3VicV8xLmNfNikgZWxzZSAoc3VicV8xLmNfNikg ZW5kCiAgICAgICAgKSBlbmQKICAgICAgICAgYXMgY18xCiAgZnJvbSAKICAgIChzZWxlY3Qg IAogICAgICAgICAgY2FzZSB3aGVuICgoKChtYWtlX3RpbWVzdGFtcCgyMTA0LCAxMSwgMjMs IDE0LCA3LCA0MikpIDw+IChtYWtlX3RpbWVzdGFtcCgyMTA2LCA5LCAyMCwgNCwgNDMsIDMw KSkpIAogICAgICAgICAgICAgIG9yIChub3QgKChtYWtlX3RpbWVzdGFtcCgyMTA0LCAxMSwg MjMsIDE0LCA3LCA0MikpIDw+IChtYWtlX3RpbWVzdGFtcCgyMTA2LCA5LCAyMCwgNCwgNDMs IDMwKSkpKSkgCiAgICAgICAgICAgICAgb3IgKCgobWFrZV90aW1lc3RhbXAoMjEwNCwgMTEs IDIzLCAxNCwgNywgNDIpKSA8PiAobWFrZV90aW1lc3RhbXAoMjEwNiwgOSwgMjAsIDQsIDQz LCAzMCkpKSBpcyBudWxsKSkgdGhlbiAoLTApIGVsc2UgKHJlZl8xNi5jXzEpIGVuZAogICAg ICAgICAgICAgICBhcyBjXzAsIAogICAgICAgICAgY2FzZSB3aGVuICgoKGZhbHNlOjpib29s KSAKICAgICAgICAgICAgICBvciAobm90IChmYWxzZTo6Ym9vbCkpKSAKICAgICAgICAgICAg ICBvciAoKGZhbHNlOjpib29sKSBpcyBudWxsKSkgdGhlbiAocmVmXzE1LmNfMikgZWxzZSAo cmVmXzE1LmNfMykgZW5kCiAgICAgICAgICAgICAgIGFzIGNfMSwgCiAgICAgICAgICBjYXNl IHdoZW4gKCgoKCgocmVmXzE1LmNfMSkgaXMgbnVsbCkgCiAgICAgICAgICAgICAgICBvciAo KG1ha2VfdGltZXN0YW1wKDIwNzMsIDgsIDUsIDE5LCAyNiwgMykpID4gKG1ha2VfdGltZXN0 YW1wKDIwMjQsIDExLCAxNCwgNiwgMzAsIDI3KSkpKSAKICAgICAgICAgICAgICBvciAoKCgo bWFrZV90aW1lc3RhbXAoMjEwMCwgMiwgMTIsIDE3LCAxMiwgMikpID0gKG1ha2VfdGltZXN0 YW1wKDIwMzcsIDQsIDYsIDksIDI2LCAxNykpKSAKICAgICAgICAgICAgICAgICAgYW5kICgo KG5vdCAoKG51bGw6OnRleHQpID49IChyZWZfMTYuY18yKSkpIAogICAgICAgICAgICAgICAg ICAgICAgb3IgKG51bGw6OmJvb2wpKSAKICAgICAgICAgICAgICAgICAgICBvciAobnVsbDo6 Ym9vbCkpKSAKICAgICAgICAgICAgICAgIGFuZCAoZmFsc2U6OmJvb2wpKSkgCiAgICAgICAg ICAgICAgb3IgKG5vdCAoKCgocmVmXzE1LmNfMSkgaXMgbnVsbCkgCiAgICAgICAgICAgICAg ICBvciAoKG1ha2VfdGltZXN0YW1wKDIwNzMsIDgsIDUsIDE5LCAyNiwgMykpID4gKG1ha2Vf dGltZXN0YW1wKDIwMjQsIDExLCAxNCwgNiwgMzAsIDI3KSkpKSAKICAgICAgICAgICAgICBv ciAoKCgobWFrZV90aW1lc3RhbXAoMjEwMCwgMiwgMTIsIDE3LCAxMiwgMikpID0gKG1ha2Vf dGltZXN0YW1wKDIwMzcsIDQsIDYsIDksIDI2LCAxNykpKSAKICAgICAgICAgICAgICAgICAg YW5kICgoKG5vdCAoKG51bGw6OnRleHQpID49IChyZWZfMTYuY18yKSkpIAogICAgICAgICAg ICAgICAgICAgICAgb3IgKG51bGw6OmJvb2wpKSAKICAgICAgICAgICAgICAgICAgICBvciAo bnVsbDo6Ym9vbCkpKSAKICAgICAgICAgICAgICAgIGFuZCAoZmFsc2U6OmJvb2wpKSkpKSAK ICAgICAgICAgICAgICBvciAoKCgoKHJlZl8xNS5jXzEpIGlzIG51bGwpIAogICAgICAgICAg ICAgICAgb3IgKChtYWtlX3RpbWVzdGFtcCgyMDczLCA4LCA1LCAxOSwgMjYsIDMpKSA+ICht YWtlX3RpbWVzdGFtcCgyMDI0LCAxMSwgMTQsIDYsIDMwLCAyNykpKSkgCiAgICAgICAgICAg ICAgb3IgKCgoKG1ha2VfdGltZXN0YW1wKDIxMDAsIDIsIDEyLCAxNywgMTIsIDIpKSA9ICht YWtlX3RpbWVzdGFtcCgyMDM3LCA0LCA2LCA5LCAyNiwgMTcpKSkgCiAgICAgICAgICAgICAg ICAgIGFuZCAoKChub3QgKChudWxsOjp0ZXh0KSA+PSAocmVmXzE2LmNfMikpKSAKICAgICAg ICAgICAgICAgICAgICAgIG9yIChudWxsOjpib29sKSkgCiAgICAgICAgICAgICAgICAgICAg b3IgKG51bGw6OmJvb2wpKSkgCiAgICAgICAgICAgICAgICBhbmQgKGZhbHNlOjpib29sKSkp IGlzIG51bGwpKSB0aGVuIChyZWZfMTYuY180KSBlbHNlIChyZWZfMTYuY180KSBlbmQKICAg ICAgICAgICAgICAgYXMgY18yLCAKICAgICAgICAgIGNhc2Ugd2hlbiAoKChudWxsOjpib29s KSAKICAgICAgICAgICAgICBhbmQgKG5vdCAobnVsbDo6Ym9vbCkpKSAKICAgICAgICAgICAg ICBhbmQgKChudWxsOjpib29sKSBpcyBub3QgbnVsbCkpIHRoZW4gKHJlZl8xNS5jXzEpIGVs c2UgKHJlZl8xNS5jXzEpIGVuZAogICAgICAgICAgICAgICBhcyBjXzMsIAogICAgICAgICAg Y2FzZSB3aGVuICgoKChudWxsOjpib29sKSA8ICgocmVmXzE2LmNfMSkgYmV0d2VlbiAocmVm XzE1LmNfMSkgYW5kIChyZWZfMTUuY18xKSkpIAogICAgICAgICAgICAgIG9yIChub3QgKChu dWxsOjpib29sKSA8ICgocmVmXzE2LmNfMSkgYmV0d2VlbiAocmVmXzE1LmNfMSkgYW5kIChy ZWZfMTUuY18xKSkpKSkgCiAgICAgICAgICAgICAgb3IgKCgobnVsbDo6Ym9vbCkgPCAoKHJl Zl8xNi5jXzEpIGJldHdlZW4gKHJlZl8xNS5jXzEpIGFuZCAocmVmXzE1LmNfMSkpKSBpcyBu dWxsKSkgdGhlbiAocmVmXzE2LmNfNCkgZWxzZSAoMC4wKSBlbmQKICAgICAgICAgICAgICAg YXMgY180LCAKICAgICAgICAgIGNhc2Ugd2hlbiAoKChudWxsOjpib29sKSAKICAgICAgICAg ICAgICBhbmQgKG5vdCAobnVsbDo6Ym9vbCkpKSAKICAgICAgICAgICAgICBhbmQgKChudWxs Ojpib29sKSBpcyBub3QgbnVsbCkpIHRoZW4gKHJlZl8xNi5jXzIpIGVsc2UgKHJlZl8xNi5j XzIpIGVuZAogICAgICAgICAgICAgICBhcyBjXzUsIAogICAgICAgICAgY2FzZSB3aGVuICgo KCgoJy96SSwnKSA8IChyZWZfMTYuY18zKSkgPSAobm90IChmYWxzZTo6Ym9vbCkpKSAKICAg ICAgICAgICAgICBvciAobm90ICgoKCcvekksJykgPCAocmVmXzE2LmNfMykpID0gKG5vdCAo ZmFsc2U6OmJvb2wpKSkpKSAKICAgICAgICAgICAgICBvciAoKCgoJy96SSwnKSA8IChyZWZf MTYuY18zKSkgPSAobm90IChmYWxzZTo6Ym9vbCkpKSBpcyBudWxsKSkgdGhlbiAocmVmXzE1 LmNfMikgZWxzZSAocmVmXzE1LmNfMikgZW5kCiAgICAgICAgICAgICAgIGFzIGNfNiwgCiAg ICAgICAgICBjYXNlIHdoZW4gKCgoKHJlZl8xNS5jXzMpIDw9IChyZWZfMTUuY18zKSkgCiAg ICAgICAgICAgICAgYW5kIChub3QgKChyZWZfMTUuY18zKSA8PSAocmVmXzE1LmNfMykpKSkg CiAgICAgICAgICAgICAgYW5kICgoKHJlZl8xNS5jXzMpIDw9IChyZWZfMTUuY18zKSkgaXMg bm90IG51bGwpKSB0aGVuIChyZWZfMTUuY180KSBlbHNlIChyZWZfMTYuY182KSBlbmQKICAg ICAgICAgICAgICAgYXMgY183LCAKICAgICAgICAgIGNhc2Ugd2hlbiAoKCgocmVmXzE1LmNf MSkgYmV0d2VlbiAocmVmXzE1LmNfMSkgYW5kIChyZWZfMTUuY18xKSkgCiAgICAgICAgICAg ICAgb3IgKG5vdCAoKHJlZl8xNS5jXzEpIGJldHdlZW4gKHJlZl8xNS5jXzEpIGFuZCAocmVm XzE1LmNfMSkpKSkgCiAgICAgICAgICAgICAgb3IgKCgocmVmXzE1LmNfMSkgYmV0d2VlbiAo cmVmXzE1LmNfMSkgYW5kIChyZWZfMTUuY18xKSkgaXMgbnVsbCkpIHRoZW4gKHJlZl8xNS5j XzUpIGVsc2UgKGZhbHNlOjpib29sKSBlbmQKICAgICAgICAgICAgICAgYXMgY184LCAKICAg ICAgICAgIGNhc2Ugd2hlbiAoKChleGlzdHMgKAogICAgICAgICAgICAgIHNlbGVjdCAgCiAg ICAgICAgICAgICAgICAgICAgKHJlZl8xNi5jXzMpIH48PX4gKHJlZl8xNi5jXzIpIGFzIGNf MCwgCiAgICAgICAgICAgICAgICAgICAgcmVmXzEwNy5jXzIgYXMgY18xCiAgICAgICAgICAg ICAgICAgIGZyb20gCiAgICAgICAgICAgICAgICAgICAgdDQgYXMgcmVmXzEwNwogICAgICAg ICAgICAgICAgICB3aGVyZSAoKChyZWZfMTUuY18yKSB+fiogKHJlZl8xNi5jXzIpKSAKICAg ICAgICAgICAgICAgICAgICAgIG9yIChmYWxzZTo6Ym9vbCkpIAogICAgICAgICAgICAgICAg ICAgIG9yICgoKG1ha2VfdGltZXN0YW1wKDIxMDMsIDEyLCAyNSwgMSwgNTcsIDM2KSkgPiAo bWFrZV90aW1lc3RhbXAoMTk3MSwgOSwgMSwgOSwgNTksIDQ3KSkpIAogICAgICAgICAgICAg ICAgICAgICAgb3IgKChyZWZfMTA3LmNfMikgaW4gKHNlbGVjdCBkaXN0aW5jdCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJlZl8xNi5jXzMgYXMgY18wCiAgICAgICAgICAgICAg ICAgICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQwIGFzIHJl Zl8xMDgKICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSBmYWxzZTo6Ym9vbAogICAg ICAgICAgICAgICAgICAgICAgICAgIG9yZGVyIGJ5IGNfMCBhc2MpKSkKICAgICAgICAgICAg ICAgIGV4Y2VwdAogICAgICAgICAgICAgICAgc2VsZWN0ICAKICAgICAgICAgICAgICAgICAg ICBudWxsOjpib29sIGFzIGNfMCwgCiAgICAgICAgICAgICAgICAgICAgcmVmXzE1LmNfMiBh cyBjXzEKICAgICAgICAgICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAgICAgICB0NCBh cyByZWZfMTA5CiAgICAgICAgICAgICAgICAgIHdoZXJlIHRydWU6OmJvb2wpKSAKICAgICAg ICAgICAgICBvciAobm90IChleGlzdHMgKAogICAgICAgICAgICAgIHNlbGVjdCAgCiAgICAg ICAgICAgICAgICAgICAgKHJlZl8xNi5jXzMpIH48PX4gKHJlZl8xNi5jXzIpIGFzIGNfMCwg CiAgICAgICAgICAgICAgICAgICAgcmVmXzEwNy5jXzIgYXMgY18xCiAgICAgICAgICAgICAg ICAgIGZyb20gCiAgICAgICAgICAgICAgICAgICAgdDQgYXMgcmVmXzEwNwogICAgICAgICAg ICAgICAgICB3aGVyZSAoKChyZWZfMTUuY18yKSB+fiogKHJlZl8xNi5jXzIpKSAKICAgICAg ICAgICAgICAgICAgICAgIG9yIChmYWxzZTo6Ym9vbCkpIAogICAgICAgICAgICAgICAgICAg IG9yICgoKG1ha2VfdGltZXN0YW1wKDIxMDMsIDEyLCAyNSwgMSwgNTcsIDM2KSkgPiAobWFr ZV90aW1lc3RhbXAoMTk3MSwgOSwgMSwgOSwgNTksIDQ3KSkpIAogICAgICAgICAgICAgICAg ICAgICAgb3IgKChyZWZfMTA3LmNfMikgaW4gKHNlbGVjdCBkaXN0aW5jdCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJlZl8xNi5jXzMgYXMgY18wCiAgICAgICAgICAgICAgICAg ICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQwIGFzIHJlZl8x MDgKICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSBmYWxzZTo6Ym9vbAogICAgICAg ICAgICAgICAgICAgICAgICAgIG9yZGVyIGJ5IGNfMCBhc2MpKSkKICAgICAgICAgICAgICAg IGV4Y2VwdAogICAgICAgICAgICAgICAgc2VsZWN0ICAKICAgICAgICAgICAgICAgICAgICBu dWxsOjpib29sIGFzIGNfMCwgCiAgICAgICAgICAgICAgICAgICAgcmVmXzE1LmNfMiBhcyBj XzEKICAgICAgICAgICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAgICAgICB0NCBhcyBy ZWZfMTA5CiAgICAgICAgICAgICAgICAgIHdoZXJlIHRydWU6OmJvb2wpKSkpIAogICAgICAg ICAgICAgIG9yICgoZXhpc3RzICgKICAgICAgICAgICAgICBzZWxlY3QgIAogICAgICAgICAg ICAgICAgICAgIChyZWZfMTYuY18zKSB+PD1+IChyZWZfMTYuY18yKSBhcyBjXzAsIAogICAg ICAgICAgICAgICAgICAgIHJlZl8xMDcuY18yIGFzIGNfMQogICAgICAgICAgICAgICAgICBm cm9tIAogICAgICAgICAgICAgICAgICAgIHQ0IGFzIHJlZl8xMDcKICAgICAgICAgICAgICAg ICAgd2hlcmUgKCgocmVmXzE1LmNfMikgfn4qIChyZWZfMTYuY18yKSkgCiAgICAgICAgICAg ICAgICAgICAgICBvciAoZmFsc2U6OmJvb2wpKSAKICAgICAgICAgICAgICAgICAgICBvciAo KChtYWtlX3RpbWVzdGFtcCgyMTAzLCAxMiwgMjUsIDEsIDU3LCAzNikpID4gKG1ha2VfdGlt ZXN0YW1wKDE5NzEsIDksIDEsIDksIDU5LCA0NykpKSAKICAgICAgICAgICAgICAgICAgICAg IG9yICgocmVmXzEwNy5jXzIpIGluIChzZWxlY3QgZGlzdGluY3QgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZWZfMTYuY18zIGFzIGNfMAogICAgICAgICAgICAgICAgICAgICAg ICAgIGZyb20gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0MCBhcyByZWZfMTA4CiAg ICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgZmFsc2U6OmJvb2wKICAgICAgICAgICAg ICAgICAgICAgICAgICBvcmRlciBieSBjXzAgYXNjKSkpCiAgICAgICAgICAgICAgICBleGNl cHQKICAgICAgICAgICAgICAgIHNlbGVjdCAgCiAgICAgICAgICAgICAgICAgICAgbnVsbDo6 Ym9vbCBhcyBjXzAsIAogICAgICAgICAgICAgICAgICAgIHJlZl8xNS5jXzIgYXMgY18xCiAg ICAgICAgICAgICAgICAgIGZyb20gCiAgICAgICAgICAgICAgICAgICAgdDQgYXMgcmVmXzEw OQogICAgICAgICAgICAgICAgICB3aGVyZSB0cnVlOjpib29sKSkgaXMgbnVsbCkpIHRoZW4g KHJlZl8xNS5jXzEpIGVsc2UgKHJlZl8xNi5jXzEpIGVuZAogICAgICAgICAgICAgICBhcyBj XzkKICAgICAgICBmcm9tIAogICAgICAgICAgKHQ0IGFzIHJlZl8xNQogICAgICAgICAgICBp bm5lciBqb2luIHQ0IGFzIHJlZl8xNgogICAgICAgICAgICBvbiAocmVmXzE1LmNfMCA9IHJl Zl8xNi5jXzAgKSkKICAgICAgICB3aGVyZSBub3QgKChmYWxzZTo6Ym9vbCkgCiAgICAgICAg ICBvciAobm90ICgodHJ1ZTo6Ym9vbCkgCiAgICAgICAgICBhbmQgKCgoKChudWxsOjppbnQ0 KSBiZXR3ZWVuIChyZWZfMTYuY18xKSBhbmQgKHJlZl8xNi5jXzEpKSAKICAgICAgICAgICAg b3IgKG5vdCAoKG51bGw6OmludDQpIGJldHdlZW4gKHJlZl8xNi5jXzEpIGFuZCAocmVmXzE2 LmNfMSkpKSkgCiAgICAgICAgICAgIG9yICgoKG51bGw6OmludDQpIGJldHdlZW4gKHJlZl8x Ni5jXzEpIGFuZCAocmVmXzE2LmNfMSkpIGlzIG51bGwpKSAKICAgICAgICAgICAgYW5kICgo Y2FzZSB3aGVuICgoKChyZWZfMTUuY18zKSBub3QgbGlrZSAnX19TJykgCiAgICAgICAgICAg ICAgYW5kIChub3QgKChyZWZfMTUuY18zKSBub3QgbGlrZSAnX19TJykpKSAKICAgICAgICAg ICAgICBhbmQgKCgocmVmXzE1LmNfMykgbm90IGxpa2UgJ19fUycpIGlzIG5vdCBudWxsKSkg dGhlbiAocmVmXzE1LmNfMSkgZWxzZSAocmVmXzE2LmNfMSkgZW5kCiAgICAgICAgICAgICAg KSA+IChjYXNlIHdoZW4gKCgoKHJlZl8xNS5jXzIpICF+fiogKHJlZl8xNS5jXzMpKSAKICAg ICAgICAgICAgICBvciAobm90ICgocmVmXzE1LmNfMikgIX5+KiAocmVmXzE1LmNfMykpKSkg CiAgICAgICAgICAgICAgb3IgKCgocmVmXzE1LmNfMikgIX5+KiAocmVmXzE1LmNfMykpIGlz IG51bGwpKSB0aGVuIChyZWZfMTUuY18xKSBlbHNlIChyZWZfMTUuY18xKSBlbmQKICAgICAg ICAgICAgICApKSkpKSkpIGFzIHN1YnFfMQopCnNlbGVjdCAgCiAgICBjYXNlIHdoZW4gKCgo KCgobnVsbDo6Ym9vbCkgCiAgICAgICAgICAgIG9yIChmYWxzZTo6Ym9vbCkpIAogICAgICAg ICAgb3IgKCgoKHN1YnFfMi5jXzgpICF+fiogKHN1YnFfMi5jXzgpKSAKICAgICAgICAgICAg ICBhbmQgKChzdWJxXzIuY18xMSkgIX4qIChzdWJxXzIuY184KSkpIAogICAgICAgICAgICBh bmQgKG51bGw6OmJvb2wpKSkgCiAgICAgICAgb3IgKChyZWZfMjIuYzApIGlzIG5vdCBudWxs KSkgCiAgICAgICAgb3IgKG5vdCAoKCgobnVsbDo6Ym9vbCkgCiAgICAgICAgICAgIG9yIChm YWxzZTo6Ym9vbCkpIAogICAgICAgICAgb3IgKCgoKHN1YnFfMi5jXzgpICF+fiogKHN1YnFf Mi5jXzgpKSAKICAgICAgICAgICAgICBhbmQgKChzdWJxXzIuY18xMSkgIX4qIChzdWJxXzIu Y184KSkpIAogICAgICAgICAgICBhbmQgKG51bGw6OmJvb2wpKSkgCiAgICAgICAgb3IgKChy ZWZfMjIuYzApIGlzIG5vdCBudWxsKSkpKSAKICAgICAgICBvciAoKCgoKG51bGw6OmJvb2wp IAogICAgICAgICAgICBvciAoZmFsc2U6OmJvb2wpKSAKICAgICAgICAgIG9yICgoKChzdWJx XzIuY184KSAhfn4qIChzdWJxXzIuY184KSkgCiAgICAgICAgICAgICAgYW5kICgoc3VicV8y LmNfMTEpICF+KiAoc3VicV8yLmNfOCkpKSAKICAgICAgICAgICAgYW5kIChudWxsOjpib29s KSkpIAogICAgICAgIG9yICgocmVmXzIyLmMwKSBpcyBub3QgbnVsbCkpIGlzIG51bGwpKSB0 aGVuIChjYXNlIHdoZW4gKCgoKChzdWJxXzMuY18yKSBpbiAoc2VsZWN0ICAKICAgICAgICAg ICAgICAgIChyZWZfMjIudmtleSkgYmV0d2VlbiAoc3VicV8yLmNfNykgYW5kIChyZWZfMjIu YzApIGFzIGNfMAogICAgICAgICAgICAgIGZyb20gCiAgICAgICAgICAgICAgICAodDQgYXMg cmVmXzEyNQogICAgICAgICAgICAgICAgICByaWdodCBvdXRlciBqb2luIHQ0IGFzIHJlZl8x MjYKICAgICAgICAgICAgICAgICAgb24gKHJlZl8xMjUuY182ID0gcmVmXzEyNi5jXzAgKSkK ICAgICAgICAgICAgICB3aGVyZSAobnVsbDo6Ym9vbCkgCiAgICAgICAgICAgICAgICBhbmQg KG51bGw6OmJvb2wpCiAgICAgICAgICAgIHVuaW9uCiAgICAgICAgICAgIHNlbGVjdCAgCiAg ICAgICAgICAgICAgICAocmVmXzEyNy5jNSkgaW4gKHNlbGVjdCAgCiAgICAgICAgICAgICAg ICAgICAgICBzdWJxXzIuY18xIGFzIGNfMAogICAgICAgICAgICAgICAgICAgIGZyb20gCiAg ICAgICAgICAgICAgICAgICAgICBjdGVfMiBhcyByZWZfMTI4CiAgICAgICAgICAgICAgICAg ICAgd2hlcmUgdHJ1ZTo6Ym9vbCkgYXMgY18wCiAgICAgICAgICAgICAgZnJvbSAKICAgICAg ICAgICAgICAgIHQxIGFzIHJlZl8xMjcKICAgICAgICAgICAgICB3aGVyZSB0cnVlOjpib29s KSkgCiAgICAgICAgICBhbmQgKG5vdCAoKHN1YnFfMy5jXzIpIGluIChzZWxlY3QgIAogICAg ICAgICAgICAgICAgKHJlZl8yMi52a2V5KSBiZXR3ZWVuIChzdWJxXzIuY183KSBhbmQgKHJl Zl8yMi5jMCkgYXMgY18wCiAgICAgICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAgICh0 NCBhcyByZWZfMTI1CiAgICAgICAgICAgICAgICAgIHJpZ2h0IG91dGVyIGpvaW4gdDQgYXMg cmVmXzEyNgogICAgICAgICAgICAgICAgICBvbiAocmVmXzEyNS5jXzYgPSByZWZfMTI2LmNf MCApKQogICAgICAgICAgICAgIHdoZXJlIChudWxsOjpib29sKSAKICAgICAgICAgICAgICAg IGFuZCAobnVsbDo6Ym9vbCkKICAgICAgICAgICAgdW5pb24KICAgICAgICAgICAgc2VsZWN0 ICAKICAgICAgICAgICAgICAgIChyZWZfMTI3LmM1KSBpbiAoc2VsZWN0ICAKICAgICAgICAg ICAgICAgICAgICAgIHN1YnFfMi5jXzEgYXMgY18wCiAgICAgICAgICAgICAgICAgICAgZnJv bSAKICAgICAgICAgICAgICAgICAgICAgIGN0ZV8yIGFzIHJlZl8xMjgKICAgICAgICAgICAg ICAgICAgICB3aGVyZSB0cnVlOjpib29sKSBhcyBjXzAKICAgICAgICAgICAgICBmcm9tIAog ICAgICAgICAgICAgICAgdDEgYXMgcmVmXzEyNwogICAgICAgICAgICAgIHdoZXJlIHRydWU6 OmJvb2wpKSkpIAogICAgICAgICAgYW5kICgoKHN1YnFfMy5jXzIpIGluIChzZWxlY3QgIAog ICAgICAgICAgICAgICAgKHJlZl8yMi52a2V5KSBiZXR3ZWVuIChzdWJxXzIuY183KSBhbmQg KHJlZl8yMi5jMCkgYXMgY18wCiAgICAgICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAg ICh0NCBhcyByZWZfMTI1CiAgICAgICAgICAgICAgICAgIHJpZ2h0IG91dGVyIGpvaW4gdDQg YXMgcmVmXzEyNgogICAgICAgICAgICAgICAgICBvbiAocmVmXzEyNS5jXzYgPSByZWZfMTI2 LmNfMCApKQogICAgICAgICAgICAgIHdoZXJlIChudWxsOjpib29sKSAKICAgICAgICAgICAg ICAgIGFuZCAobnVsbDo6Ym9vbCkKICAgICAgICAgICAgdW5pb24KICAgICAgICAgICAgc2Vs ZWN0ICAKICAgICAgICAgICAgICAgIChyZWZfMTI3LmM1KSBpbiAoc2VsZWN0ICAKICAgICAg ICAgICAgICAgICAgICAgIHN1YnFfMi5jXzEgYXMgY18wCiAgICAgICAgICAgICAgICAgICAg ZnJvbSAKICAgICAgICAgICAgICAgICAgICAgIGN0ZV8yIGFzIHJlZl8xMjgKICAgICAgICAg ICAgICAgICAgICB3aGVyZSB0cnVlOjpib29sKSBhcyBjXzAKICAgICAgICAgICAgICBmcm9t IAogICAgICAgICAgICAgICAgdDEgYXMgcmVmXzEyNwogICAgICAgICAgICAgIHdoZXJlIHRy dWU6OmJvb2wpKSBpcyBub3QgbnVsbCkpIAogICAgICAgICAgb3IgKCh0cnVlOjpib29sKSBp biAoc2VsZWN0ICAKICAgICAgICAgICAgY2FzZSB3aGVuICgoKCgodHJ1ZTo6Ym9vbCkgCiAg ICAgICAgICAgICAgb3IgKG5vdCAodHJ1ZTo6Ym9vbCkpKSAKICAgICAgICAgICAgICBvciAo KHRydWU6OmJvb2wpIGlzIG51bGwpKSAKICAgICAgICAgICAgICBhbmQgKChjYXNlIHdoZW4g KCgoZmFsc2U6OmJvb2wpIAogICAgICAgICAgICAgICAgb3IgKG5vdCAoZmFsc2U6OmJvb2wp KSkgCiAgICAgICAgICAgICAgICBvciAoKGZhbHNlOjpib29sKSBpcyBudWxsKSkgdGhlbiAo c3VicV8yLmNfOSkgZWxzZSAocmVmXzI5LmNfMTEpIGVuZAogICAgICAgICAgICAgICAgKSBs aWtlICd1Nl8nKSkgaXMgbnVsbCkgdGhlbiAoZmFsc2U6OmJvb2wpIGVsc2UgKCgoKHRydWU6 OmJvb2wpIAogICAgICAgICAgICAgIG9yIChub3QgKHRydWU6OmJvb2wpKSkgCiAgICAgICAg ICAgICAgb3IgKCh0cnVlOjpib29sKSBpcyBudWxsKSkgCiAgICAgICAgICAgICAgYW5kICgo Y2FzZSB3aGVuICgoKGZhbHNlOjpib29sKSAKICAgICAgICAgICAgICAgIG9yIChub3QgKGZh bHNlOjpib29sKSkpIAogICAgICAgICAgICAgICAgb3IgKChmYWxzZTo6Ym9vbCkgaXMgbnVs bCkpIHRoZW4gKHN1YnFfMi5jXzkpIGVsc2UgKHJlZl8yOS5jXzExKSBlbmQKICAgICAgICAg ICAgICAgICkgbGlrZSAndTZfJykpIGVuZAogICAgICAgICAgIGFzIGMwCiAgICAgICAgICBm cm9tIAogICAgICAgICAgICB0MyBhcyByZWZfMjkKICAgICAgICAgIHdoZXJlIHRydWU6OmJv b2wpKSkgdGhlbiAoKChyZWZfMjIuYzEpID0gKHJlZl8yMi5jMSkpIAogICAgICAgICAgb3Ig KHRydWU6OmJvb2wpKSBlbHNlIChudWxsOjpib29sKSBlbmQKICAgICAgKSBlbHNlICh0cnVl Ojpib29sKSBlbmQKICAgICAgICAgYXMgY18yLCAKICAgICgoKChwZ19jYXRhbG9nLnJlZ2V4 cF9yZXBsYWNlKHN1YnFfMi5jXzIsCiAgICAgICAgICByZWZfMjIuYzIsCiAgICAgICAgICBy ZWZfMjIuYzIpKSAhfn4qICgoc3VicV8yLmNfOCkgfHwgKHJlZl8yMi5jMikpKSAKICAgICAg ICBhbmQgKG5vdCAoKHBnX2NhdGFsb2cucmVnZXhwX3JlcGxhY2Uoc3VicV8yLmNfMiwKICAg ICAgICAgIHJlZl8yMi5jMiwKICAgICAgICAgIHJlZl8yMi5jMikpICF+fiogKChzdWJxXzIu Y184KSB8fCAocmVmXzIyLmMyKSkpKSkgCiAgICAgICAgYW5kICgoKHBnX2NhdGFsb2cucmVn ZXhwX3JlcGxhY2Uoc3VicV8yLmNfMiwKICAgICAgICAgIHJlZl8yMi5jMiwKICAgICAgICAg IHJlZl8yMi5jMikpICF+fiogKChzdWJxXzIuY184KSB8fCAocmVmXzIyLmMyKSkpIGlzIG5v dCBudWxsKSkgCiAgICAgICAgb3IgKG5vdCAoKG5vdCAoKCgoKHJlZl8yMi5jMikgPiAoc3Vi cV8yLmNfOSkpIAogICAgICAgICAgYW5kIChub3QgKChyZWZfMjIuYzIpID4gKHN1YnFfMi5j XzkpKSkpIAogICAgICAgICAgYW5kICgoKHJlZl8yMi5jMikgPiAoc3VicV8yLmNfOSkpIGlz IG5vdCBudWxsKSkgCiAgICAgICAgICBvciAoKHRydWU6OmJvb2wpIGluIChzZWxlY3QgIAog ICAgICAgICAgICBjYXNlIHdoZW4gKChudWxsOjpib29sKSBpcyBudWxsKSB0aGVuIChmYWxz ZTo6Ym9vbCkgZWxzZSAobnVsbDo6Ym9vbCkgZW5kCiAgICAgICAgICAgYXMgYzAKICAgICAg ICAgIGZyb20gCiAgICAgICAgICAgIHQzIGFzIHJlZl8zMAogICAgICAgICAgd2hlcmUgdHJ1 ZTo6Ym9vbCkpKSkgCiAgICAgICAgb3IgKG5vdCAoKCgoKHN1YnFfMi5jXzkpIDw9IChzdWJx XzIuY185KSkgCiAgICAgICAgICBhbmQgKG5vdCAoKHN1YnFfMi5jXzkpIDw9IChzdWJxXzIu Y185KSkpKSAKICAgICAgICAgIGFuZCAoKChzdWJxXzIuY185KSA8PSAoc3VicV8yLmNfOSkp IGlzIG5vdCBudWxsKSkgCiAgICAgICAgICBvciAoKGNhc2Ugd2hlbiAoKCgoLTYxKSA8PiAo IAogICAgICAgICAgICBzZWxlY3QgIAogICAgICAgICAgICAgICAgc3VicV8zLmNfMCBhcyBj XzAKICAgICAgICAgICAgICBmcm9tIAogICAgICAgICAgICAgICAgdDQgYXMgcmVmXzEzMAog ICAgICAgICAgICAgIHdoZXJlICgoc3VicV8yLmNfOSkgPD4gKHJlZl8yMi5jMikpIAogICAg ICAgICAgICAgICAgb3IgKChyZWZfMTMwLmNfMikgbm90IGxpa2UgJ182JScpCiAgICAgICAg ICAgICAgb3JkZXIgYnkgY18wIGRlc2MKICAgICAgICAgICAgICAgbGltaXQgMSkpIAogICAg ICAgICAgICBvciAobm90ICgoLTYxKSA8PiAoIAogICAgICAgICAgICBzZWxlY3QgIAogICAg ICAgICAgICAgICAgc3VicV8zLmNfMCBhcyBjXzAKICAgICAgICAgICAgICBmcm9tIAogICAg ICAgICAgICAgICAgdDQgYXMgcmVmXzEzMAogICAgICAgICAgICAgIHdoZXJlICgoc3VicV8y LmNfOSkgPD4gKHJlZl8yMi5jMikpIAogICAgICAgICAgICAgICAgb3IgKChyZWZfMTMwLmNf Mikgbm90IGxpa2UgJ182JScpCiAgICAgICAgICAgICAgb3JkZXIgYnkgY18wIGRlc2MKICAg ICAgICAgICAgICAgbGltaXQgMSkpKSkgCiAgICAgICAgICAgIG9yICgoKC02MSkgPD4gKCAK ICAgICAgICAgICAgc2VsZWN0ICAKICAgICAgICAgICAgICAgIHN1YnFfMy5jXzAgYXMgY18w CiAgICAgICAgICAgICAgZnJvbSAKICAgICAgICAgICAgICAgIHQ0IGFzIHJlZl8xMzAKICAg ICAgICAgICAgICB3aGVyZSAoKHN1YnFfMi5jXzkpIDw+IChyZWZfMjIuYzIpKSAKICAgICAg ICAgICAgICAgIG9yICgocmVmXzEzMC5jXzIpIG5vdCBsaWtlICdfNiUnKQogICAgICAgICAg ICAgIG9yZGVyIGJ5IGNfMCBkZXNjCiAgICAgICAgICAgICAgIGxpbWl0IDEpKSBpcyBudWxs KSkgdGhlbiAoY2FzZSB3aGVuICgoKCgocmVmXzIyLmMwKSBpcyBudWxsKSAKICAgICAgICAg ICAgICBvciAobm90ICgocmVmXzIyLmMwKSBpcyBudWxsKSkpIAogICAgICAgICAgICAgIG9y ICgoKHJlZl8yMi5jMCkgaXMgbnVsbCkgaXMgbnVsbCkpIAogICAgICAgICAgICAgIGFuZCAo KGNhc2Ugd2hlbiAoKCh0cnVlOjpib29sKSAKICAgICAgICAgICAgICAgIGFuZCAobm90ICh0 cnVlOjpib29sKSkpIAogICAgICAgICAgICAgICAgYW5kICgodHJ1ZTo6Ym9vbCkgaXMgbm90 IG51bGwpKSB0aGVuIChyZWZfMjIuYzEpIGVsc2UgKHJlZl8yMi5jMSkgZW5kCiAgICAgICAg ICAgICAgICApID49IChjYXNlIHdoZW4gKCgoKChzdWJxXzIuY18xMSkgfiAoc3VicV8yLmNf OSkpIAogICAgICAgICAgICAgICAgb3IgKChyZWZfMjIudmtleSkgYmV0d2VlbiAoc3VicV8y LmNfNikgYW5kIChzdWJxXzIuY18zKSkpIAogICAgICAgICAgICAgICAgYW5kIChub3QgKCgo c3VicV8yLmNfMTEpIH4gKHN1YnFfMi5jXzkpKSAKICAgICAgICAgICAgICAgIG9yICgocmVm XzIyLnZrZXkpIGJldHdlZW4gKHN1YnFfMi5jXzYpIGFuZCAoc3VicV8yLmNfMykpKSkpIAog ICAgICAgICAgICAgICAgYW5kICgoKChzdWJxXzIuY18xMSkgfiAoc3VicV8yLmNfOSkpIAog ICAgICAgICAgICAgICAgb3IgKChyZWZfMjIudmtleSkgYmV0d2VlbiAoc3VicV8yLmNfNikg YW5kIChzdWJxXzIuY18zKSkpIGlzIG5vdCBudWxsKSkgdGhlbiAocmVmXzIyLmMxKSBlbHNl IChyZWZfMjIuYzEpIGVuZAogICAgICAgICAgICAgICAgKSkpIHRoZW4gKGNhc2Ugd2hlbiAo KCgoKHN1YnFfMi5jXzUpID0gKHN1YnFfMi5jXzQpKSAKICAgICAgICAgICAgICBhbmQgKG51 bGw6OmJvb2wpKSAKICAgICAgICAgICAgICBhbmQgKG5vdCAoKChzdWJxXzIuY181KSA9IChz dWJxXzIuY180KSkgCiAgICAgICAgICAgICAgYW5kIChudWxsOjpib29sKSkpKSAKICAgICAg ICAgICAgICBhbmQgKCgoKHN1YnFfMi5jXzUpID0gKHN1YnFfMi5jXzQpKSAKICAgICAgICAg ICAgICBhbmQgKG51bGw6OmJvb2wpKSBpcyBub3QgbnVsbCkpIHRoZW4gKHN1YnFfMi5jXzEx KSBlbHNlIChzdWJxXzIuY18yKSBlbmQKICAgICAgICAgICAgICApIGVsc2UgKGNhc2Ugd2hl biAoKChudWxsOjpib29sKSAKICAgICAgICAgICAgICBvciAobm90IChudWxsOjpib29sKSkp IAogICAgICAgICAgICAgIG9yICgobnVsbDo6Ym9vbCkgaXMgbnVsbCkpIHRoZW4gKHN1YnFf Mi5jXzExKSBlbHNlIChzdWJxXzIuY185KSBlbmQKICAgICAgICAgICAgICApIGVuZAogICAg ICAgICAgKSBlbHNlIChzdWJxXzIuY18yKSBlbmQKICAgICAgICAgICAgKSBeQCAoY2FzZSB3 aGVuICgoKChzdWJxXzIuY18yKSB+KiAoc3VicV8yLmNfMTEpKSAKICAgICAgICAgICAgYW5k IChub3QgKChzdWJxXzIuY18yKSB+KiAoc3VicV8yLmNfMTEpKSkpIAogICAgICAgICAgICBh bmQgKCgoc3VicV8yLmNfMikgfiogKHN1YnFfMi5jXzExKSkgaXMgbm90IG51bGwpKSB0aGVu IChwZ19jYXRhbG9nLnJwYWQoc3VicV8yLmNfMTEsCiAgICAgICAgICAgIHN1YnFfMi5jXzEw KSkgZWxzZSAoc3VicV8yLmNfOCkgZW5kCiAgICAgICAgICAgICkpKSkpKSBhcyBjXzMsIAog ICAgKCgoKHBnX2NhdGFsb2cuc3Vic3RyaW5nKHN1YnFfMi5jXzgsCiAgICAgICAgICAtMCwK ICAgICAgICAgIHN1YnFfMi5jXzApKSB+fiAoc3VicV8yLmNfOCkpIAogICAgICAgIG9yIChu b3QgKChwZ19jYXRhbG9nLnN1YnN0cmluZyhzdWJxXzIuY184LAogICAgICAgICAgLTAsCiAg ICAgICAgICBzdWJxXzIuY18wKSkgfn4gKHN1YnFfMi5jXzgpKSkpIAogICAgICAgIG9yICgo KHBnX2NhdGFsb2cuc3Vic3RyaW5nKHN1YnFfMi5jXzgsCiAgICAgICAgICAtMCwKICAgICAg ICAgIHN1YnFfMi5jXzApKSB+fiAoc3VicV8yLmNfOCkpIGlzIG51bGwpKSAKICAgICAgICBh bmQgKG5vdCAoKG5vdCAoKCgoKHJlZl8yMi5jMykgPD0gKHJlZl8yMi5jMykpIAogICAgICAg ICAgYW5kIChub3QgKChyZWZfMjIuYzMpIDw9IChyZWZfMjIuYzMpKSkpIAogICAgICAgICAg YW5kICgoKHJlZl8yMi5jMykgPD0gKHJlZl8yMi5jMykpIGlzIG5vdCBudWxsKSkgCiAgICAg ICAgICBvciAoKGNhc2Ugd2hlbiAoKCh0cnVlOjpib29sKSAKICAgICAgICAgICAgYW5kIChu b3QgKHRydWU6OmJvb2wpKSkgCiAgICAgICAgICAgIGFuZCAoKHRydWU6OmJvb2wpIGlzIG5v dCBudWxsKSkgdGhlbiAoc3VicV8yLmNfMikgZWxzZSAoc3VicV8yLmNfMikgZW5kCiAgICAg ICAgICAgICkgbm90IGxpa2UgJ18lJScpKSkgCiAgICAgICAgYW5kIChub3QgKCgoKChzdWJx XzIuY185KSA9IChzdWJxXzIuY185KSkgCiAgICAgICAgICBvciAobm90ICgoc3VicV8yLmNf OSkgPSAoc3VicV8yLmNfOSkpKSkgCiAgICAgICAgICBvciAoKChzdWJxXzIuY185KSA9IChz dWJxXzIuY185KSkgaXMgbnVsbCkpIAogICAgICAgICAgYW5kIChub3QgKChub3QgKCgoKChy ZWZfMjIuYzIpICF+IChzdWJxXzIuY184KSkgCiAgICAgICAgICAgIGFuZCAobm90ICgocmVm XzIyLmMyKSAhfiAoc3VicV8yLmNfOCkpKSkgCiAgICAgICAgICAgIGFuZCAoKChyZWZfMjIu YzIpICF+IChzdWJxXzIuY184KSkgaXMgbm90IG51bGwpKSAKICAgICAgICAgICAgb3IgKG5v dCAoKG5vdCAobnVsbDo6Ym9vbCkpIAogICAgICAgICAgICBhbmQgKG5vdCAobnVsbDo6Ym9v bCkpKSkpKSAKICAgICAgICAgIG9yIChub3QgKCgoKG51bGw6OmJvb2wpIAogICAgICAgICAg ICBhbmQgKG5vdCAobnVsbDo6Ym9vbCkpKSAKICAgICAgICAgICAgYW5kICgobnVsbDo6Ym9v bCkgaXMgbm90IG51bGwpKSAKICAgICAgICAgICAgb3IgKChjYXNlIHdoZW4gKCgoKHN1YnFf Mi5jXzkpICF+KiAoc3VicV8yLmNfOSkpIAogICAgICAgICAgICAgIGFuZCAobm90ICgoc3Vi cV8yLmNfOSkgIX4qIChzdWJxXzIuY185KSkpKSAKICAgICAgICAgICAgICBhbmQgKCgoc3Vi cV8yLmNfOSkgIX4qIChzdWJxXzIuY185KSkgaXMgbm90IG51bGwpKSB0aGVuIChzdWJxXzIu Y181KSBlbHNlIChzdWJxXzIuY18xKSBlbmQKICAgICAgICAgICAgICApIDwgKGNhc2Ugd2hl biAoKChudWxsOjpib29sKSAKICAgICAgICAgICAgICBhbmQgKG5vdCAobnVsbDo6Ym9vbCkp KSAKICAgICAgICAgICAgICBhbmQgKChudWxsOjpib29sKSBpcyBub3QgbnVsbCkpIHRoZW4g KDk2KSBlbHNlIChwZ19jYXRhbG9nLmdpbl9jb21wYXJlX2pzb25iKGNhc2Ugd2hlbiAoKChm YWxzZTo6Ym9vbCkgCiAgICAgICAgICAgICAgICBhbmQgKG5vdCAoZmFsc2U6OmJvb2wpKSkg CiAgICAgICAgICAgICAgICBhbmQgKChmYWxzZTo6Ym9vbCkgaXMgbm90IG51bGwpKSB0aGVu IChzdWJxXzIuY18yKSBlbHNlIChudWxsOjp0ZXh0KSBlbmQKICAgICAgICAgICAgICAgICwK ICAgICAgICAgICAgY2FzZSB3aGVuICgoKChmYWxzZTo6Ym9vbCkgaXMgbnVsbCkgCiAgICAg ICAgICAgICAgICBhbmQgKG5vdCAoKGZhbHNlOjpib29sKSBpcyBudWxsKSkpIAogICAgICAg ICAgICAgICAgYW5kICgoKGZhbHNlOjpib29sKSBpcyBudWxsKSBpcyBub3QgbnVsbCkpIHRo ZW4gKHN1YnFfMi5jXzkpIGVsc2UgKHN1YnFfMi5jXzIpIGVuZAogICAgICAgICAgICAgICAg KSkgZW5kCiAgICAgICAgICAgICAgKSkpKSkpKSkpKSBhcyBjXzQsIAogICAgY2FzZSB3aGVu ICgoKChyZWZfMjIuYzEpID49IChwZ19jYXRhbG9nLnRzcmFuZ2Vfc3ViZGlmZihtYWtlX3Rp bWVzdGFtcCgyMDkxLCAxMCwgMTEsIDIxLCA0MSwgMjUpLAogICAgICAgICAgcmVmXzIyLmMz KSkpIAogICAgICAgIG9yIChub3QgKChyZWZfMjIuYzEpID49IChwZ19jYXRhbG9nLnRzcmFu Z2Vfc3ViZGlmZihtYWtlX3RpbWVzdGFtcCgyMDkxLCAxMCwgMTEsIDIxLCA0MSwgMjUpLAog ICAgICAgICAgcmVmXzIyLmMzKSkpKSkgCiAgICAgICAgb3IgKCgocmVmXzIyLmMxKSA+PSAo cGdfY2F0YWxvZy50c3JhbmdlX3N1YmRpZmYobWFrZV90aW1lc3RhbXAoMjA5MSwgMTAsIDEx LCAyMSwgNDEsIDI1KSwKICAgICAgICAgIHJlZl8yMi5jMykpKSBpcyBudWxsKSkgdGhlbiAo KGNhc2Ugd2hlbiAoKCgoKCgoKHN1YnFfMi5jXzkpIF5AIChzdWJxXzIuY185KSkgCiAgICAg ICAgICAgICAgICBvciAobnVsbDo6Ym9vbCkpIAogICAgICAgICAgICAgIGFuZCAobnVsbDo6 Ym9vbCkpIAogICAgICAgICAgICBvciAobnVsbDo6Ym9vbCkpIAogICAgICAgICAgYW5kICgo cmVmXzIyLnBrZXkpIGlzIG5vdCBudWxsKSkgCiAgICAgICAgICBhbmQgKG5vdCAoKCgoKChz dWJxXzIuY185KSBeQCAoc3VicV8yLmNfOSkpIAogICAgICAgICAgICAgICAgb3IgKG51bGw6 OmJvb2wpKSAKICAgICAgICAgICAgICBhbmQgKG51bGw6OmJvb2wpKSAKICAgICAgICAgICAg b3IgKG51bGw6OmJvb2wpKSAKICAgICAgICAgIGFuZCAoKHJlZl8yMi5wa2V5KSBpcyBub3Qg bnVsbCkpKSkgCiAgICAgICAgICBhbmQgKCgoKCgoKHN1YnFfMi5jXzkpIF5AIChzdWJxXzIu Y185KSkgCiAgICAgICAgICAgICAgICBvciAobnVsbDo6Ym9vbCkpIAogICAgICAgICAgICAg IGFuZCAobnVsbDo6Ym9vbCkpIAogICAgICAgICAgICBvciAobnVsbDo6Ym9vbCkpIAogICAg ICAgICAgYW5kICgocmVmXzIyLnBrZXkpIGlzIG5vdCBudWxsKSkgaXMgbm90IG51bGwpKSB0 aGVuIChudWxsaWYocmVmXzIyLmMxLCByZWZfMjIuYzEpKSBlbHNlIChwZ19jYXRhbG9nLmZs b2F0OHNtYWxsZXIoY2FzZSB3aGVuICgoKChzdWJxXzIuY18zKSBiZXR3ZWVuIChzdWJxXzIu Y183KSBhbmQgKHN1YnFfMi5jXzQpKSAKICAgICAgICAgICAgYW5kIChub3QgKChzdWJxXzIu Y18zKSBiZXR3ZWVuIChzdWJxXzIuY183KSBhbmQgKHN1YnFfMi5jXzQpKSkpIAogICAgICAg ICAgICBhbmQgKCgoc3VicV8yLmNfMykgYmV0d2VlbiAoc3VicV8yLmNfNykgYW5kIChzdWJx XzIuY180KSkgaXMgbm90IG51bGwpKSB0aGVuIChyZWZfMjIuYzEpIGVsc2UgKHJlZl8yMi5j MSkgZW5kCiAgICAgICAgICAgICwKICAgICAgICBjYXNlIHdoZW4gKCgoKHN1YnFfMi5jXzEp ID0gKHJlZl8yMi52a2V5KSkgCiAgICAgICAgICAgIG9yIChub3QgKChzdWJxXzIuY18xKSA9 IChyZWZfMjIudmtleSkpKSkgCiAgICAgICAgICAgIG9yICgoKHN1YnFfMi5jXzEpID0gKHJl Zl8yMi52a2V5KSkgaXMgbnVsbCkpIHRoZW4gKHJlZl8yMi5jMSkgZWxzZSAocmVmXzIyLmMx KSBlbmQKICAgICAgICAgICAgKSkgZW5kCiAgICAgICAgICApIC8gKGNhc2Ugd2hlbiAoKCh0 cnVlOjpib29sKSAKICAgICAgICAgIGFuZCAobm90ICh0cnVlOjpib29sKSkpIAogICAgICAg ICAgYW5kICgodHJ1ZTo6Ym9vbCkgaXMgbm90IG51bGwpKSB0aGVuIChyZWZfMjIuYzEpIGVs c2UgKChjYXNlIHdoZW4gKCgoZmFsc2U6OmJvb2wpIAogICAgICAgICAgICBvciAobm90IChm YWxzZTo6Ym9vbCkpKSAKICAgICAgICAgICAgb3IgKChmYWxzZTo6Ym9vbCkgaXMgbnVsbCkp IHRoZW4gKHJlZl8yMi5jMSkgZWxzZSAocmVmXzIyLmMxKSBlbmQKICAgICAgICAgICAgKSAv IChjYXNlIHdoZW4gKCgodHJ1ZTo6Ym9vbCkgCiAgICAgICAgICAgIGFuZCAobm90ICh0cnVl Ojpib29sKSkpIAogICAgICAgICAgICBhbmQgKCh0cnVlOjpib29sKSBpcyBub3QgbnVsbCkp IHRoZW4gKHJlZl8yMi5jMSkgZWxzZSAocmVmXzIyLmMxKSBlbmQKICAgICAgICAgICAgKSkg ZW5kCiAgICAgICAgICApKSBlbHNlIChwZ19jYXRhbG9nLmNvdGQocmVmXzIyLmMxKSkgZW5k CiAgICAgICAgIGFzIGNfNQogIGZyb20gCiAgICAoKHNlbGVjdCAgCiAgICAgICAgICAgIGNh c2Ugd2hlbiBmYWxzZSB0aGVuIChyZWZfMTcuYzUpIGVsc2UgKHJlZl8xNy5wa2V5KSBlbmQK ICAgICAgICAgICAgICAgICBhcyBjXzAsIAogICAgICAgICAgICBjYXNlIHdoZW4gZmFsc2Ug dGhlbiAocmVmXzE4LmNfMCkgZWxzZSAocmVmXzE4LmNfMCkgZW5kCiAgICAgICAgICAgICAg ICAgYXMgY18xLCAKICAgICAgICAgICAgY2FzZSB3aGVuIHRydWUgdGhlbiAocmVmXzE4LmNf MSkgZWxzZSAocmVmXzE4LmNfMSkgZW5kCiAgICAgICAgICAgICAgICAgYXMgY18yLCAKICAg ICAgICAgICAgY2FzZSB3aGVuIGZhbHNlIHRoZW4gKHJlZl8xNy5jNSkgZWxzZSAocmVmXzE3 LnZrZXkpIGVuZAogICAgICAgICAgICAgICAgIGFzIGNfMywgCiAgICAgICAgICAgIGNhc2Ug d2hlbiB0cnVlIHRoZW4gKHJlZl8xNy5jNSkgZWxzZSAocmVmXzE3LmM1KSBlbmQKICAgICAg ICAgICAgICAgICBhcyBjXzQsIAogICAgICAgICAgICBjYXNlIHdoZW4gZmFsc2UgdGhlbiAo cmVmXzE4LmNfMCkgZWxzZSAocmVmXzE4LmNfMCkgZW5kCiAgICAgICAgICAgICAgICAgYXMg Y181LCAKICAgICAgICAgICAgY2FzZSB3aGVuIGZhbHNlIHRoZW4gKHJlZl8xNy52a2V5KSBl bHNlIChyZWZfMTcucGtleSkgZW5kCiAgICAgICAgICAgICAgICAgYXMgY182LCAKICAgICAg ICAgICAgY2FzZSB3aGVuIHRydWUgdGhlbiAocmVmXzE4LmNfMCkgZWxzZSAocmVmXzE3LmM1 KSBlbmQKICAgICAgICAgICAgICAgICBhcyBjXzcsIAogICAgICAgICAgICBjYXNlIHdoZW4g ZmFsc2UgdGhlbiAocmVmXzE4LmNfMSkgZWxzZSAocmVmXzE4LmNfMSkgZW5kCiAgICAgICAg ICAgICAgICAgYXMgY184LCAKICAgICAgICAgICAgY2FzZSB3aGVuIHRydWUgdGhlbiAocmVm XzE4LmNfMSkgZWxzZSAocmVmXzE4LmNfMSkgZW5kCiAgICAgICAgICAgICAgICAgYXMgY185 LCAKICAgICAgICAgICAgY2FzZSB3aGVuIGZhbHNlIHRoZW4gKHJlZl8xNy5wa2V5KSBlbHNl IChyZWZfMTcudmtleSkgZW5kCiAgICAgICAgICAgICAgICAgYXMgY18xMCwgCiAgICAgICAg ICAgIGNhc2Ugd2hlbiBmYWxzZSB0aGVuIChyZWZfMTguY18xKSBlbHNlIChyZWZfMTguY18x KSBlbmQKICAgICAgICAgICAgICAgICBhcyBjXzExCiAgICAgICAgICBmcm9tIAogICAgICAg ICAgICAodDEgYXMgcmVmXzE3CiAgICAgICAgICAgICAgY3Jvc3Mgam9pbiBjdGVfMyBhcyBy ZWZfMTgKICAgICAgICAgICAgICApCiAgICAgICAgICB3aGVyZSBub3QgKChmYWxzZTo6Ym9v bCkgCiAgICAgICAgICAgIG9yIChub3QgKCh0cnVlOjpib29sKSAKICAgICAgICAgICAgYW5k IChudWxsOjpib29sKSkpKSkgYXMgc3VicV8yCiAgICAgIGxlZnQgb3V0ZXIgam9pbiAodDAg YXMgcmVmXzIyCiAgICAgICAgbGVmdCBvdXRlciBqb2luIChzZWxlY3QgIAogICAgICAgICAg ICAgIGNhc2Ugd2hlbiAoKCgocmVmXzIzLmNfOCkgPiAocmVmXzIzLmNfMykpIAogICAgICAg ICAgICAgICAgICBhbmQgKG5vdCAoKHJlZl8yMy5jXzgpID4gKHJlZl8yMy5jXzMpKSkpIAog ICAgICAgICAgICAgICAgICBhbmQgKCgocmVmXzIzLmNfOCkgPiAocmVmXzIzLmNfMykpIGlz IG5vdCBudWxsKSkgdGhlbiAocmVmXzIzLmNfMikgZWxzZSAocmVmXzIzLmNfMikgZW5kCiAg ICAgICAgICAgICAgICAgICBhcyBjXzAsIAogICAgICAgICAgICAgIGNhc2Ugd2hlbiAoKCgo MikgYmV0d2VlbiAocmVmXzIzLmNfMikgYW5kIChyZWZfMjMuY18wKSkgCiAgICAgICAgICAg ICAgICAgIG9yIChub3QgKCgyKSBiZXR3ZWVuIChyZWZfMjMuY18yKSBhbmQgKHJlZl8yMy5j XzApKSkpIAogICAgICAgICAgICAgICAgICBvciAoKCgyKSBiZXR3ZWVuIChyZWZfMjMuY18y KSBhbmQgKHJlZl8yMy5jXzApKSBpcyBudWxsKSkgdGhlbiAocmVmXzIzLmNfNikgZWxzZSAo bnVsbDo6Ym9vbCkgZW5kCiAgICAgICAgICAgICAgICAgICBhcyBjXzEsIAogICAgICAgICAg ICAgIGNhc2Ugd2hlbiAoKCgocmVmXzIzLmNfMCkgPD0gKHJlZl8yMy5jXzApKSAKICAgICAg ICAgICAgICAgICAgYW5kIChub3QgKChyZWZfMjMuY18wKSA8PSAocmVmXzIzLmNfMCkpKSkg CiAgICAgICAgICAgICAgICAgIGFuZCAoKChyZWZfMjMuY18wKSA8PSAocmVmXzIzLmNfMCkp IGlzIG5vdCBudWxsKSkgdGhlbiAodHJ1ZTo6Ym9vbCkgZWxzZSAocmVmXzIzLmNfOSkgZW5k CiAgICAgICAgICAgICAgICAgICBhcyBjXzIsIAogICAgICAgICAgICAgICgoY2FzZSB3aGVu ICgoKChyZWZfMjMuY18xKSA8PSAocmVmXzIzLmNfMSkpIAogICAgICAgICAgICAgICAgICAg IG9yIChub3QgKChyZWZfMjMuY18xKSA8PSAocmVmXzIzLmNfMSkpKSkgCiAgICAgICAgICAg ICAgICAgICAgb3IgKCgocmVmXzIzLmNfMSkgPD0gKHJlZl8yMy5jXzEpKSBpcyBudWxsKSkg dGhlbiAocmVmXzIzLmNfMykgZWxzZSAocmVmXzIzLmNfMykgZW5kCiAgICAgICAgICAgICAg ICAgICAgKSA8PSAoY2FzZSB3aGVuICgoKCgocmVmXzIzLmNfMSkgfjw9fiAocmVmXzIzLmNf MSkpIAogICAgICAgICAgICAgICAgICAgIG9yIChudWxsOjpib29sKSkgCiAgICAgICAgICAg ICAgICAgICAgb3IgKG5vdCAoKChyZWZfMjMuY18xKSB+PD1+IChyZWZfMjMuY18xKSkgCiAg ICAgICAgICAgICAgICAgICAgb3IgKG51bGw6OmJvb2wpKSkpIAogICAgICAgICAgICAgICAg ICAgIG9yICgoKChyZWZfMjMuY18xKSB+PD1+IChyZWZfMjMuY18xKSkgCiAgICAgICAgICAg ICAgICAgICAgb3IgKG51bGw6OmJvb2wpKSBpcyBudWxsKSkgdGhlbiAocmVmXzIzLmNfOCkg ZWxzZSAocmVmXzIzLmNfOCkgZW5kCiAgICAgICAgICAgICAgICAgICAgKSkgYXMgY18zCiAg ICAgICAgICAgIGZyb20gCiAgICAgICAgICAgICAgY3RlXzIgYXMgcmVmXzIzCiAgICAgICAg ICAgIHdoZXJlIG5vdCAoKGZhbHNlOjpib29sKSAKICAgICAgICAgICAgICBvciAobm90ICgo dHJ1ZTo6Ym9vbCkgCiAgICAgICAgICAgICAgYW5kICgoKChmYWxzZTo6Ym9vbCkgCiAgICAg ICAgICAgICAgICBhbmQgKG5vdCAoZmFsc2U6OmJvb2wpKSkgCiAgICAgICAgICAgICAgICBh bmQgKChmYWxzZTo6Ym9vbCkgaXMgbm90IG51bGwpKSAKICAgICAgICAgICAgICAgIG9yICgo Y2FzZSB3aGVuICgoKCgodHJ1ZTo6Ym9vbCkgCiAgICAgICAgICAgICAgICAgICAgYW5kIChu dWxsOjpib29sKSkgCiAgICAgICAgICAgICAgICAgIGFuZCAoZmFsc2U6OmJvb2wpKSAKICAg ICAgICAgICAgICAgICAgYW5kIChub3QgKCgodHJ1ZTo6Ym9vbCkgCiAgICAgICAgICAgICAg ICAgICAgYW5kIChudWxsOjpib29sKSkgCiAgICAgICAgICAgICAgICAgIGFuZCAoZmFsc2U6 OmJvb2wpKSkpIAogICAgICAgICAgICAgICAgICBhbmQgKCgoKHRydWU6OmJvb2wpIAogICAg ICAgICAgICAgICAgICAgIGFuZCAobnVsbDo6Ym9vbCkpIAogICAgICAgICAgICAgICAgICBh bmQgKGZhbHNlOjpib29sKSkgaXMgbm90IG51bGwpKSB0aGVuIChyZWZfMjMuY18wKSBlbHNl IChyZWZfMjMuY181KSBlbmQKICAgICAgICAgICAgICAgICAgKSBpcyBub3QgbnVsbCkpKSkp KSBhcyBzdWJxXzMKICAgICAgICBvbiAocmVmXzIyLnBrZXkgPSBzdWJxXzMuY18wICkpCiAg ICAgIG9uIChzdWJxXzIuY18wID0gcmVmXzIyLnZrZXkgKSkKCg== --------------udZ4hrEWMYwGQ9gVX7ZbmE1i--