Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uMQkP-00BT76-4q for pgsql-hackers@arkaria.postgresql.org; Tue, 03 Jun 2025 12:28:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uMQkN-00320c-HL for pgsql-hackers@arkaria.postgresql.org; Tue, 03 Jun 2025 12:28:03 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uMQkM-00320T-M0 for pgsql-hackers@lists.postgresql.org; Tue, 03 Jun 2025 12:28:03 +0000 Received: from mail.postgrespro.ru ([93.174.132.70]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uMQkG-000HUR-05 for pgsql-hackers@postgresql.org; Tue, 03 Jun 2025 12:28:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1748953675; bh=dyedT59vHvm2sWnwtQlN4ECWeYLHTei/Po888ZU5XKk=; h=Message-ID:Date:User-Agent:Subject:From:To:Cc:References: In-Reply-To:From; b=bos0ku2TFSeGQehwDnMN9+PjZNP3xZ9JPxY4UxQb/dcbHvRuOXs20R+0yOo0A82oM M+uCZey31dst9fqedtkvzmiUjCLZC14zF621HuXNuyE2QK2huIIjcPJKonc7bpm3h5 zA+AvR3M/aF2YCBbZKPlw/c5E1lIraq+gfQXLOygs7GCGTaw9zPmYCtMl//Dfs2qhn QOqzjS5UkuT98MntNlPaqLHtMpVadgjvE3uCatWai7qxhptF43JYgypoxBSKUXGn/S Zr0bFpn1/Vf9Cf3qFkPERZLrwum5utCANASEWwWWjlI8BJsHw7NKkwHn1S3XijiKo/ nVD5YcRFsVVew== Received: from [10.4.12.74] (unknown [93.174.131.141]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: a.rybakina@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 3E7235FFE2; Tue, 3 Jun 2025 15:27:55 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------W8OTiSHlibzsm9Q0DRhMKYVj" Message-ID: Date: Tue, 3 Jun 2025 15:27:54 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics From: Alena Rybakina To: Alexander Korotkov Cc: Amit Kapila , pgsql-hackers , Jim Nasby , Bertrand Drouvot , Ilia Evdokimov , Kirill Reshke , Andrei Zubkov , Masahiko Sawada , Melanie Plageman , jian he , a.lepikhov@postgrespro.ru, Sami Imseih , vignesh C References: <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> <0b4eefc7-4c38-4caa-b2ca-a4c75dd7dd12@postgrespro.ru> <333c2306-c401-4959-9f0c-a44c670a11a9@postgrespro.ru> <513f0188-b093-4cc8-98cf-4c324570d525@postgrespro.ru> <47a7b784-5218-43f2-96e3-65f9a729c5a5@tantorlabs.com> <5583261b-eede-4341-b3b1-91650fefc1cf@postgrespro.ru> <2a04ad18-5572-4633-848b-eb57209e7ac0@postgrespro.ru> <2f48399f-2959-4483-938f-64edb863ca76@postgrespro.ru> <18169b68-5b10-40fd-9657-be04f2bd0161@postgrespro.ru> Content-Language: en-US In-Reply-To: <18169b68-5b10-40fd-9657-be04f2bd0161@postgrespro.ru> X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2025/06/03 09:30:00 #27534232 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------W8OTiSHlibzsm9Q0DRhMKYVj Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 02.06.2025 22:56, Alena Rybakina wrote: > Today, I finalized the vacuum statistics separation approach and > refactored the vacuum statistics structures (patch 4). > > Currently, database statistics work incorrectly — I'm investigating > the issue. I fixed it and attached the patches. > In parallel, I'm starting work on the extension. > I started working on this and will attach the first version soon. -- Regards, Alena Rybakina Postgres Professional --------------W8OTiSHlibzsm9Q0DRhMKYVj Content-Type: text/x-patch; charset=UTF-8; name="v23-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v23-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA2YzUyMTUyYjNkOTZkNGI3ZGMyZGUyNjkyYjExNmFmMjBiZTY3ZGNhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCA4IE1heSAyMDI1IDIxOjE0OjIzICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxLzVdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIHRhYmxlIHJlbGF0aW9ucy4KClZhbHVlIG9mIHRvdGFsX2Js a3NfaGl0LCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfZGlydGllZCBhcmUgbnVtYmVy IG9mCmhpdHRlZCwgbWlzc2VkIGFuZCBkaXJ0aWVkIHBhZ2VzIGluIHNoYXJlZCBidWZmZXJz IGR1cmluZyBhIHZhY3V1bSBvcGVyYXRpb24KcmVzcGVjdGl2ZWx5LgoKdG90YWxfYmxrc19k aXJ0aWVkIG1lYW5zICdkaXJ0aWVkIG9ubHkgYnkgdGhpcyBhY3Rpb24nLiBTbywgaWYgdGhp cyBwYWdlIHdhcwpkaXJ0eSBiZWZvcmUgdGhlIHZhY3V1bSBvcGVyYXRpb24sIGl0IGRvZXNu J3QgY291bnQgdGhpcyBwYWdlIGFzICdkaXJ0aWVkJy4KClRoZSB0dXBsZXNfZGVsZXRlZCBw YXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgY2xlYW5lZCB1cCBieSB0aGUgdmFj dXVtCm9wZXJhdGlvbi4KClRoZSBkZWxheV90aW1lIHZhbHVlIG1lYW5zIHRvdGFsIHZhY3V1 bSBzbGVlcCB0aW1lIGluIHZhY3V1bSBkZWxheSBwb2ludC4KVGhlIHBhZ2VzX3JlbW92ZWQg dmFsdWUgaXMgdGhlIG51bWJlciBvZiBwYWdlcyBieSB3aGljaCB0aGUgcGh5c2ljYWwgZGF0 YQpzdG9yYWdlIG9mIHRoZSByZWxhdGlvbiB3YXMgcmVkdWNlZC4KVGhlIHZhbHVlIG9mIHBh Z2VzX2RlbGV0ZWQgcGFyYW1ldGVyIGlzIHRoZSBudW1iZXIgb2YgZnJlZWQgcGFnZXMgaW4g dGhlIHRhYmxlCihmaWxlIHNpemUgbWF5IG5vdCBoYXZlIGNoYW5nZWQpLgoKVHJhY2tpbmcg b2YgSU8gZHVyaW5nIGFuIChhdXRvKXZhY3V1bSBvcGVyYXRpb24uCkludHJvZHVjZWQgdmFy aWFibGVzIGJsa19yZWFkX3RpbWUgYW5kIGJsa193cml0ZV90aW1lIHRyYWNrcyBvbmx5IGFj Y2VzcyB0bwpidWZmZXIgcGFnZXMgYW5kIGZsdXNoaW5nIHRoZW0gdG8gZGlzay4gUmVhZGlu ZyBvcGVyYXRpb24gaXMgdHJpdmlhbCwgYnV0CndyaXRpbmcgbWVhc3VyZW1lbnQgdGVjaG5p cXVlIGlzIG5vdCBvYnZpb3VzLgpTbywgZHVyaW5nIGEgdmFjdXVtIHdyaXRpbmcgdGltZSBj YW4gYmUgemVybyBpbmNyZW1lbnRlZCBiZWNhdXNlIG5vIGFueSBmbHVzaGluZwpvcGVyYXRp b25zIHdlcmUgcGVyZm9ybWVkLgoKU3lzdGVtIHRpbWUgYW5kIHVzZXIgdGltZSBhcmUgcGFy YW1ldGVycyB0aGF0IGRlc2NyaWJlcyBob3cgbXVjaCB0aW1lIGEgdmFjdXVtCm9wZXJhdGlv biBoYXMgc3BlbnQgaW4gZXhlY3V0aW5nIG9mIGNvZGUgaW4gdXNlciBzcGFjZSBhbmQga2Vy bmVsIHNwYWNlCmFjY29yZGluZ2x5LiBBbHNvLCBhY2N1bXVsYXRlIHRvdGFsIHRpbWUgb2Yg YSB2YWN1dW0gdGhhdCBpcyBhIGRpZmYgYmV0d2Vlbgp0aW1lc3RhbXBzIGluIHN0YXJ0IGFu ZCBmaW5pc2ggcG9pbnRzIGluIHRoZSB2YWN1dW0gY29kZS4KUmVtZW1iZXIgYWJvdXQgaWRs ZSB0aW1lLCB3aGVuIHZhY3V1bSB3YWl0ZWQgZm9yIElPIGFuZCBsb2Nrcywgc28gdG90YWwg dGltZQppc24ndCBlcXVhbCBhIHN1bSBvZiB1c2VyIGFuZCBzeXN0ZW0gdGltZSwgYnV0IG5v IGxlc3MuCgpwYWdlc19mcm96ZW4gaXMgYSBudW1iZXIgb2YgcGFnZXMgdGhhdCBhcmUgbWFy a2VkIGFzIGZyb3plbiBpbiB2bSBkdXJpbmcgdmFjdXVtLgpUaGlzIHBhcmFtZXRlciBpcyBp bmNyZW1lbnRlZCBpZiBwYWdlIGlzIG1hcmtlZCBhcyBhbGwtZnJvemVuLgpwYWdlc19hbGxf dmlzaWJsZSBpcyBhIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBtYXJrZWQgYXMgYWxsLXZp c2libGUgaW4gdm0gZHVyaW5nCnZhY3V1bS4KCndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQg aXMgYSBudW1iZXIgb2YgdGltZXMgd2hlbiB0aGUgdmFjdXVtIHN0YXJ0cyB1cmdlbnQgY2xl YW51cAp0byBwcmV2ZW50IHdyYXBhcm91bmQgcHJvYmxlbSB3aGljaCBpcyBjcml0aWNhbCBm b3IgdGhlIGRhdGFiYXNlLgoKQXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNr aW5hQHlhbmRleC5ydT4sCgkgQW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVz cHJvLnJ1PiwKCSBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0Z3Jlc3Byby5ydT4KUmV2 aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFpbC5jb20+LCBNYXNhaGlr byBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCgkgICAgIElsaWEgRXZkb2tpbW92 IDxpbHlhLmV2ZG9raW1vdkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVy c2FsaXR5QGdtYWlsLmNvbT4sCgkgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBn bWFpbC5jb20+LCBBbGV4YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPiwK CSAgICAgSmltIE5hc2J5IDxqbmFzYnlAdXBncmFkZS5jb20+LCBTYW1pIEltc2VpaCA8c2Ft aW1zZWloQGdtYWlsLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1s YXp5LmMgICAgICAgICAgfCAxNTAgKysrKysrKysrKystCiBzcmMvYmFja2VuZC9hY2Nlc3Mv aGVhcC92aXNpYmlsaXR5bWFwLmMgICAgICAgfCAgMTAgKwogc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgIDUyICsrKy0KIHNyYy9iYWNrZW5kL2Nv bW1hbmRzL3ZhY3V1bS5jICAgICAgICAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW1wYXJhbGxlbC5jICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgICAgICAgICAgIHwgIDEyICstCiBzcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDYgKysrLQogc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTQ3ICsrKysrKysr KysrKwogc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwg IDEzICsKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAgICAgICAgICB8 ICAgOSArCiBzcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUg fCAgIDEgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAg IHwgIDE4ICsrCiBzcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCAgICAgICAgICAgICAg ICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDgwICsrKysrLQogc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oICAgICAgICAgICAg ICAgICAgICAgIHwgICAxICsKIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1y ZWFkLm91dCAgICB8ICA1MyArKysrCiBzcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3Nj aGVkdWxlICAgICAgICAgfCAgIDEgKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRh YmxlLXJlYWQuc3BlYyAgIHwgIDUzICsrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0ICAgICAgICAgICB8ICA0NCArKystCiAuLi4vZXhwZWN0ZWQvdmFjdXVtX3Rh Ymxlc19zdGF0aXN0aWNzLm91dCAgICAgfCAyMjcgKysrKysrKysrKysrKysrKysrCiBzcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgIDUgKwogLi4u L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgIHwgMTgzICsrKysr KysrKysrKysrCiAyMiBmaWxlcyBjaGFuZ2VkLCAxMDk1IGluc2VydGlvbnMoKyksIDE2IGRl bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9leHBl Y3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWlu LXJlcGV0YWJsZS1yZWFkLnNwZWMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mu c3FsCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IDcwODY3NGQ4 ZmNmLi5lZTI3ZTcwYTc5OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenku YwpAQCAtMjkwLDYgKzI5MCw3IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAkvKiBF cnJvciByZXBvcnRpbmcgc3RhdGUgKi8KIAljaGFyCSAgICpkYm5hbWU7CiAJY2hhcgkgICAq cmVsbmFtZXNwYWNlOworCU9pZAkJCXJlbG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwogCWNo YXIJICAgKmluZG5hbWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051bWJl ciBibGtubzsJCQkvKiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAtNDA4 LDYgKzQwOSw4IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAkgKiBiZWVuIHBlcm1h bmVudGx5IGRpc2FibGVkLgogCSAqLwogCUJsb2NrTnVtYmVyIGVhZ2VyX3NjYW5fcmVtYWlu aW5nX2ZhaWxzOworCisJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7IC8qIG51 bWJlciBvZiBlbWVyZ2VuY3kgdmFjdXVtcyB0byBwcmV2ZW50IGFudGktd3JhcGFyb3VuZCBz aHV0ZG93biAqLwogfSBMVlJlbFN0YXRlOwogCiAKQEAgLTQxOSw2ICs0MjIsMTggQEAgdHlw ZWRlZiBzdHJ1Y3QgTFZTYXZlZEVyckluZm8KIAlWYWNFcnJQaGFzZSBwaGFzZTsKIH0gTFZT YXZlZEVyckluZm87CiAKKy8qCisgKiBDb3VudGVycyBhbmQgdXNhZ2UgZGF0YSBmb3IgZXh0 ZW5kZWQgc3RhdHMgdHJhY2tpbmcuCisgKi8KK3R5cGVkZWYgc3RydWN0IExWRXh0U3RhdENv dW50ZXJzCit7CisJVGltZXN0YW1wVHogc3RhcnR0aW1lOworCVdhbFVzYWdlCXdhbHVzYWdl OworCUJ1ZmZlclVzYWdlIGJ1ZnVzYWdlOworCWRvdWJsZQkJVmFjdXVtRGVsYXlUaW1lOwor CVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3VudGVyIGJsb2Nr c19oaXQ7Cit9IExWRXh0U3RhdENvdW50ZXJzOwogCiAvKiBub24tZXhwb3J0IGZ1bmN0aW9u IHByb3RvdHlwZXMgKi8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUg KnZhY3JlbCk7CkBAIC00NzUsNiArNDkwLDEwNiBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfdmFj dXVtX2Vycm9yX2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogc3RhdGljIHZvaWQgcmVzdG9y ZV92YWN1dW1fZXJyb3JfaW5mbyhMVlJlbFN0YXRlICp2YWNyZWwsCiAJCQkJCQkJCQkgIGNv bnN0IExWU2F2ZWRFcnJJbmZvICpzYXZlZF92YWNyZWwpOwogCisvKiAtLS0tLS0tLS0tCisg KiBleHR2YWNfc3RhdHNfc3RhcnQoKSAtCisgKgorICogU2F2ZSBjdXQtb2ZmIHZhbHVlcyBv ZiBleHRlbmRlZCB2YWN1dW0gY291bnRlcnMgYmVmb3JlIHN0YXJ0IG9mIGEgcmVsYXRpb24K KyAqIHByb2Nlc3NpbmcuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkCitleHR2 YWNfc3RhdHNfc3RhcnQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAqY291bnRl cnMpCit7CisJVGltZXN0YW1wVHoJc3RhcnR0aW1lOworCisJaWYoIXBnc3RhdF90cmFja192 YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJbWVtc2V0KGNvdW50ZXJzLCAwLCBz aXplb2YoTFZFeHRTdGF0Q291bnRlcnMpKTsKKworCXN0YXJ0dGltZSA9IEdldEN1cnJlbnRU aW1lc3RhbXAoKTsKKworCWNvdW50ZXJzLT5zdGFydHRpbWUgPSBzdGFydHRpbWU7CisJY291 bnRlcnMtPndhbHVzYWdlID0gcGdXYWxVc2FnZTsKKwljb3VudGVycy0+YnVmdXNhZ2UgPSBw Z0J1ZmZlclVzYWdlOworCWNvdW50ZXJzLT5WYWN1dW1EZWxheVRpbWUgPSBWYWN1dW1EZWxh eVRpbWU7CisJY291bnRlcnMtPmJsb2Nrc19mZXRjaGVkID0gMDsKKwljb3VudGVycy0+Ymxv Y2tzX2hpdCA9IDA7CisKKwlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFj a19jb3VudHMpCisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIHVzZXIg ZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0 IHN1cHByZXNzIGl0LgorCQkgKi8KKwkJcmV0dXJuOworCisJY291bnRlcnMtPmJsb2Nrc19m ZXRjaGVkID0gcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19mZXRjaGVkOworCWNv dW50ZXJzLT5ibG9ja3NfaGl0ID0gcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19o aXQ7Cit9CisKKy8qIC0tLS0tLS0tLS0KKyAqIGV4dHZhY19zdGF0c19lbmQoKSAtCisgKgor ICoJQ2FsbGVkIHRvIGZpbmlzaCBhbiBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljIGdhdGhl cmluZyBhbmQgZm9ybSBhIHJlcG9ydC4KKyAqIC0tLS0tLS0tLS0KKyAqLworc3RhdGljIHZv aWQKK2V4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAq Y291bnRlcnMsCisJCQkJICBFeHRWYWNSZXBvcnQgKnJlcG9ydCkKK3sKKwlXYWxVc2FnZQl3 YWx1c2FnZTsKKwlCdWZmZXJVc2FnZQlidWZ1c2FnZTsKKwlUaW1lc3RhbXBUeiBlbmR0aW1l OworCWxvbmcJCXNlY3M7CisJaW50CQkJdXNlY3M7CisKKwlpZighcGdzdGF0X3RyYWNrX3Zh Y3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwkvKiBDYWxjdWxhdGUgZGlmZnMgb2Yg Z2xvYmFsIHN0YXQgcGFyYW1ldGVycyBvbiBXQUwgYW5kIGJ1ZmZlciB1c2FnZS4gKi8KKwlt ZW1zZXQoJndhbHVzYWdlLCAwLCBzaXplb2YoV2FsVXNhZ2UpKTsKKwlXYWxVc2FnZUFjY3Vt RGlmZigmd2FsdXNhZ2UsICZwZ1dhbFVzYWdlLCAmY291bnRlcnMtPndhbHVzYWdlKTsKKwor CW1lbXNldCgmYnVmdXNhZ2UsIDAsIHNpemVvZihCdWZmZXJVc2FnZSkpOworCUJ1ZmZlclVz YWdlQWNjdW1EaWZmKCZidWZ1c2FnZSwgJnBnQnVmZmVyVXNhZ2UsICZjb3VudGVycy0+YnVm dXNhZ2UpOworCisJZW5kdGltZSA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKKwlUaW1lc3Rh bXBEaWZmZXJlbmNlKGNvdW50ZXJzLT5zdGFydHRpbWUsIGVuZHRpbWUsICZzZWNzLCAmdXNl Y3MpOworCisJbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCisJ LyoKKwkgKiBGaWxsIGFkZGl0aW9uYWwgc3RhdGlzdGljcyBvbiBhIHZhY3V1bSBwcm9jZXNz aW5nIG9wZXJhdGlvbi4KKwkgKi8KKwlyZXBvcnQtPnRvdGFsX2Jsa3NfcmVhZCA9IGJ1ZnVz YWdlLmxvY2FsX2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX3JlYWQ7CisJcmVw b3J0LT50b3RhbF9ibGtzX2hpdCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfaGl0ICsgYnVmdXNh Z2Uuc2hhcmVkX2Jsa3NfaGl0OworCXJlcG9ydC0+dG90YWxfYmxrc19kaXJ0aWVkID0gYnVm dXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfZGlydGll ZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiA9IGJ1ZnVzYWdlLnNoYXJlZF9ibGtz X3dyaXR0ZW47CisKKwlyZXBvcnQtPndhbF9yZWNvcmRzID0gd2FsdXNhZ2Uud2FsX3JlY29y ZHM7CisJcmVwb3J0LT53YWxfZnBpID0gd2FsdXNhZ2Uud2FsX2ZwaTsKKwlyZXBvcnQtPndh bF9ieXRlcyA9IHdhbHVzYWdlLndhbF9ieXRlczsKKworCXJlcG9ydC0+YmxrX3JlYWRfdGlt ZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2FsX2Jsa19yZWFkX3Rp bWUpOworCXJlcG9ydC0+YmxrX3JlYWRfdGltZSArPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNF QyhidWZ1c2FnZS5zaGFyZWRfYmxrX3JlYWRfdGltZSk7CisJcmVwb3J0LT5ibGtfd3JpdGVf dGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2FsX2Jsa193cml0 ZV90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0ZV90aW1lID0gSU5TVFJfVElNRV9HRVRfTUlM TElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmRlbGF5 X3RpbWUgPSBWYWN1dW1EZWxheVRpbWUgLSBjb3VudGVycy0+VmFjdXVtRGVsYXlUaW1lOwor CisJcmVwb3J0LT50b3RhbF90aW1lID0gc2VjcyAqIDEwMDAuICsgdXNlY3MgLyAxMDAwLjsK KworCWlmICghcmVsLT5wZ3N0YXRfaW5mbyB8fCAhcGdzdGF0X3RyYWNrX2NvdW50cykKKwkJ LyoKKwkJICogaWYgc29tZXRoaW5nIGdvZXMgd3Jvbmcgb3IgYW4gdXNlciBkb2Vzbid0IHdh bnQgdG8gdHJhY2sgYSBkYXRhYmFzZQorCQkgKiBhY3Rpdml0eSAtIGp1c3Qgc3VwcHJlc3Mg aXQuCisJCSAqLworCQlyZXR1cm47CisKKwlyZXBvcnQtPmJsa3NfZmV0Y2hlZCA9CisJCXJl bC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0Y2hlZCAtIGNvdW50ZXJzLT5ibG9j a3NfZmV0Y2hlZDsKKwlyZXBvcnQtPmJsa3NfaGl0ID0KKwkJcmVsLT5wZ3N0YXRfaW5mby0+ Y291bnRzLmJsb2Nrc19oaXQgLSBjb3VudGVycy0+YmxvY2tzX2hpdDsKK30KIAogCiAvKgpA QCAtNjMyLDcgKzc0NywxNCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1 dW1QYXJhbXMgKnBhcmFtcywKIAlXYWxVc2FnZQlzdGFydHdhbHVzYWdlID0gcGdXYWxVc2Fn ZTsKIAlCdWZmZXJVc2FnZSBzdGFydGJ1ZmZlcnVzYWdlID0gcGdCdWZmZXJVc2FnZTsKIAlF cnJvckNvbnRleHRDYWxsYmFjayBlcnJjYWxsYmFjazsKKwlMVkV4dFN0YXRDb3VudGVycyBl eHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OwogCWNoYXIJICAq KmluZG5hbWVzID0gTlVMTDsKKwlFeHRWYWNSZXBvcnQgYWxsemVybzsKKworCS8qIEluaXRp YWxpemUgdmFjdXVtIHN0YXRpc3RpY3MgKi8KKwltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVv ZihFeHRWYWNSZXBvcnQpKTsKKwlleHRWYWNSZXBvcnQgPSBhbGx6ZXJvOwogCiAJdmVyYm9z ZSA9IChwYXJhbXMtPm9wdGlvbnMgJiBWQUNPUFRfVkVSQk9TRSkgIT0gMDsKIAlpbnN0cnVt ZW50ID0gKHZlcmJvc2UgfHwgKEFtQXV0b1ZhY3V1bVdvcmtlclByb2Nlc3MoKSAmJgpAQCAt NjUyLDcgKzc3NCw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBh cmFtcyAqcGFyYW1zLAogCiAJcGdzdGF0X3Byb2dyZXNzX3N0YXJ0X2NvbW1hbmQoUFJPR1JF U1NfQ09NTUFORF9WQUNVVU0sCiAJCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxpZChyZWwpKTsK LQorCWV4dHZhY19zdGF0c19zdGFydChyZWwsICZleHRWYWNDb3VudGVycyk7CiAJLyoKIAkg KiBTZXR1cCBlcnJvciB0cmFjZWJhY2sgc3VwcG9ydCBmb3IgZXJlcG9ydCgpIGZpcnN0LiAg VGhlIGlkZWEgaXMgdG8gc2V0CiAJICogdXAgYW4gZXJyb3IgY29udGV4dCBjYWxsYmFjayB0 byBkaXNwbGF5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb24gYW55CkBAIC02NjksNiArNzkx LDcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJh bXMsCiAJdmFjcmVsLT5kYm5hbWUgPSBnZXRfZGF0YWJhc2VfbmFtZShNeURhdGFiYXNlSWQp OwogCXZhY3JlbC0+cmVsbmFtZXNwYWNlID0gZ2V0X25hbWVzcGFjZV9uYW1lKFJlbGF0aW9u R2V0TmFtZXNwYWNlKHJlbCkpOwogCXZhY3JlbC0+cmVsbmFtZSA9IHBzdHJkdXAoUmVsYXRp b25HZXRSZWxhdGlvbk5hbWUocmVsKSk7CisJdmFjcmVsLT5yZWxvaWQgPSBSZWxhdGlvbkdl dFJlbGlkKHJlbCk7CiAJdmFjcmVsLT5pbmRuYW1lID0gTlVMTDsKIAl2YWNyZWwtPnBoYXNl ID0gVkFDVVVNX0VSUkNCX1BIQVNFX1VOS05PV047CiAJdmFjcmVsLT52ZXJib3NlID0gdmVy Ym9zZTsKQEAgLTc1OCw2ICs4ODEsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVs LCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAl2YWNyZWwtPnZtX25ld192aXNpYmxlX2Zyb3pl bl9wYWdlcyA9IDA7CiAJdmFjcmVsLT52bV9uZXdfZnJvemVuX3BhZ2VzID0gMDsKIAl2YWNy ZWwtPnJlbF9wYWdlcyA9IG9yaWdfcmVsX3BhZ2VzID0gUmVsYXRpb25HZXROdW1iZXJPZkJs b2NrcyhyZWwpOworCXZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCA9IDA7CiAK IAkvKgogCSAqIEdldCBjdXRvZmZzIHRoYXQgZGV0ZXJtaW5lIHdoaWNoIGRlbGV0ZWQgdHVw bGVzIGFyZSBjb25zaWRlcmVkIERFQUQsCkBAIC05MjQsNiArMTA0OCwyNiBAQCBoZWFwX3Zh Y3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkJCQkJCXZh Y3JlbC0+TmV3UmVsZnJvemVuWGlkLCB2YWNyZWwtPk5ld1JlbG1pbk14aWQsCiAJCQkJCQkm ZnJvemVueGlkX3VwZGF0ZWQsICZtaW5tdWx0aV91cGRhdGVkLCBmYWxzZSk7CiAKKwkvKiBN YWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCAqLworCWV4dHZhY19z dGF0c19lbmQocmVsLCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCisJaWYo cGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCXsKKwkJLyogRmlsbCBoZWFwLXNw ZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcyAqLworCQlleHRWYWNSZXBvcnQucGFnZXNf c2Nhbm5lZCA9IHZhY3JlbC0+c2Nhbm5lZF9wYWdlczsKKwkJZXh0VmFjUmVwb3J0LnBhZ2Vz X3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRfcGFnZXM7CisJCWV4dFZhY1JlcG9ydC52bV9u ZXdfZnJvemVuX3BhZ2VzID0gdmFjcmVsLT52bV9uZXdfZnJvemVuX3BhZ2VzOworCQlleHRW YWNSZXBvcnQudm1fbmV3X3Zpc2libGVfcGFnZXMgPSB2YWNyZWwtPnZtX25ld192aXNpYmxl X3BhZ2VzOworCQlleHRWYWNSZXBvcnQudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0g dmFjcmVsLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7CisJCWV4dFZhY1JlcG9ydC50 dXBsZXNfZGVsZXRlZCA9IHZhY3JlbC0+dHVwbGVzX2RlbGV0ZWQ7CisJCWV4dFZhY1JlcG9y dC50dXBsZXNfZnJvemVuID0gdmFjcmVsLT50dXBsZXNfZnJvemVuOworCQlleHRWYWNSZXBv cnQucmVjZW50bHlfZGVhZF90dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVz OworCQlleHRWYWNSZXBvcnQubWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVsLT5taXNzZWRf ZGVhZF90dXBsZXM7CisJCWV4dFZhY1JlcG9ydC5taXNzZWRfZGVhZF9wYWdlcyA9IHZhY3Jl bC0+bWlzc2VkX2RlYWRfcGFnZXM7CisJCWV4dFZhY1JlcG9ydC5pbmRleF92YWN1dW1fY291 bnQgPSB2YWNyZWwtPm51bV9pbmRleF9zY2FuczsKKwkJZXh0VmFjUmVwb3J0LndyYXBhcm91 bmRfZmFpbHNhZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7 CisJfQorCiAJLyoKIAkgKiBSZXBvcnQgcmVzdWx0cyB0byB0aGUgY3VtdWxhdGl2ZSBzdGF0 cyBzeXN0ZW0sIHRvby4KIAkgKgpAQCAtOTM5LDcgKzEwODMsOCBAQCBoZWFwX3ZhY3V1bV9y ZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkJCQkJCSBNYXgodmFj cmVsLT5uZXdfbGl2ZV90dXBsZXMsIDApLAogCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVh ZF90dXBsZXMgKwogCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzLAotCQkJCQkJ IHN0YXJ0dGltZSk7CisJCQkJCQkgc3RhcnR0aW1lLAorCQkJCQkJICZleHRWYWNSZXBvcnQp OwogCXBnc3RhdF9wcm9ncmVzc19lbmRfY29tbWFuZCgpOwogCiAJaWYgKGluc3RydW1lbnQp CkBAIC0yOTc3LDYgKzMxMjIsNyBAQCBsYXp5X2NoZWNrX3dyYXBhcm91bmRfZmFpbHNhZmUo TFZSZWxTdGF0ZSAqdmFjcmVsKQogCQlpbnQ2NAkJcHJvZ3Jlc3NfdmFsWzJdID0gezAsIDB9 OwogCiAJCVZhY3V1bUZhaWxzYWZlQWN0aXZlID0gdHJ1ZTsKKwkJdmFjcmVsLT53cmFwYXJv dW5kX2ZhaWxzYWZlX2NvdW50ICsrOwogCiAJCS8qCiAJCSAqIEFiYW5kb24gdXNlIG9mIGEg YnVmZmVyIGFjY2VzcyBzdHJhdGVneSB0byBhbGxvdyB1c2Ugb2YgYWxsIG9mCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMgYi9zcmMvYmFj a2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKaW5kZXggNzQ1YTA0ZWYyNmUuLjA3 NjIzYTA0NWZhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmls aXR5bWFwLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5j CkBAIC05MSw2ICs5MSw3IEBACiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKICNp bmNsdWRlICJhY2Nlc3MveGxvZ3V0aWxzLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisj aW5jbHVkZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2lu Y2x1ZGUgInN0b3JhZ2UvYnVmbWdyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zbWdyLmgiCkBA IC0xNjAsNiArMTYxLDE1IEBAIHZpc2liaWxpdHltYXBfY2xlYXIoUmVsYXRpb24gcmVsLCBC bG9ja051bWJlciBoZWFwQmxrLCBCdWZmZXIgdm1idWYsIHVpbnQ4IGZsYWdzCiAKIAlpZiAo bWFwW21hcEJ5dGVdICYgbWFzaykKIAl7CisJCS8qCisJCSAqIEFzIHBhcnQgb2YgdmFjdXVt IHN0YXRzLCB0cmFjayBob3cgb2Z0ZW4gYWxsLXZpc2libGUgb3IgYWxsLWZyb3plbgorCQkg KiBiaXRzIGFyZSBjbGVhcmVkLgorCQkgKi8KKwkJaWYgKG1hcFttYXBCeXRlXSA+PiBtYXBP ZmZzZXQgJiBmbGFncyAmIFZJU0lCSUxJVFlNQVBfQUxMX1ZJU0lCTEUpCisJCQlwZ3N0YXRf Y291bnRfdm1fcmV2X2FsbF92aXNpYmxlKHJlbCk7CisJCWlmIChtYXBbbWFwQnl0ZV0gPj4g bWFwT2Zmc2V0ICYgZmxhZ3MgJiBWSVNJQklMSVRZTUFQX0FMTF9GUk9aRU4pCisJCQlwZ3N0 YXRfY291bnRfdm1fcmV2X2FsbF9mcm96ZW4ocmVsKTsKKwogCQltYXBbbWFwQnl0ZV0gJj0g fm1hc2s7CiAKIAkJTWFya0J1ZmZlckRpcnR5KHZtYnVmKTsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbAppbmRleCAwOGY3ODBhMmU2My4uNDdkMjczMTRiNTUgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMv YmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTcwOCw3ICs3MDgsOSBAQCBD UkVBVEUgVklFVyBwZ19zdGF0X2FsbF90YWJsZXMgQVMKICAgICAgICAgICAgIHBnX3N0YXRf Z2V0X3RvdGFsX3ZhY3V1bV90aW1lKEMub2lkKSBBUyB0b3RhbF92YWN1dW1fdGltZSwKICAg ICAgICAgICAgIHBnX3N0YXRfZ2V0X3RvdGFsX2F1dG92YWN1dW1fdGltZShDLm9pZCkgQVMg dG90YWxfYXV0b3ZhY3V1bV90aW1lLAogICAgICAgICAgICAgcGdfc3RhdF9nZXRfdG90YWxf YW5hbHl6ZV90aW1lKEMub2lkKSBBUyB0b3RhbF9hbmFseXplX3RpbWUsCi0gICAgICAgICAg ICBwZ19zdGF0X2dldF90b3RhbF9hdXRvYW5hbHl6ZV90aW1lKEMub2lkKSBBUyB0b3RhbF9h dXRvYW5hbHl6ZV90aW1lCisgICAgICAgICAgICBwZ19zdGF0X2dldF90b3RhbF9hdXRvYW5h bHl6ZV90aW1lKEMub2lkKSBBUyB0b3RhbF9hdXRvYW5hbHl6ZV90aW1lLAorICAgICAgICAg ICAgcGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMoQy5vaWQpIEFTIHJldl9hbGxf ZnJvemVuX3BhZ2VzLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxl X3BhZ2VzKEMub2lkKSBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgICBGUk9NIHBnX2Ns YXNzIEMgTEVGVCBKT0lOCiAgICAgICAgICBwZ19pbmRleCBJIE9OIEMub2lkID0gSS5pbmRy ZWxpZAogICAgICAgICAgTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBOIE9OIChOLm9pZCA9IEMu cmVsbmFtZXNwYWNlKQpAQCAtMTQwNywzICsxNDA5LDUxIEBAIFJFVk9LRSBBTEwgT04gcGdf YWlvcyBGUk9NIFBVQkxJQzsKIEdSQU5UIFNFTEVDVCBPTiBwZ19haW9zIFRPIHBnX3JlYWRf YWxsX3N0YXRzOwogUkVWT0tFIEVYRUNVVEUgT04gRlVOQ1RJT04gcGdfZ2V0X2Fpb3MoKSBG Uk9NIFBVQkxJQzsKIEdSQU5UIEVYRUNVVEUgT04gRlVOQ1RJT04gcGdfZ2V0X2Fpb3MoKSBU TyBwZ19yZWFkX2FsbF9zdGF0czsKKy0tCistLSBTaG93IGV4dGVuZGVkIGN1bXVsYXRpdmUg c3RhdGlzdGljcyBvbiBhIHZhY3V1bSBvcGVyYXRpb24gb3ZlciBhbGwgdGFibGVzIGFuZAor LS0gZGF0YWJhc2VzIG9mIHRoZSBpbnN0YW5jZS4KKy0tIFVzZSBJbnZhbGlkIE9pZCAiMCIg YXMgYW4gaW5wdXQgcmVsYXRpb24gaWQgdG8gZ2V0IHN0YXQgb24gZWFjaCB0YWJsZSBpbiBh CistLSBkYXRhYmFzZS4KKy0tCisKK0NSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyBBUworU0VMRUNUCisgIG5zLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAgcmVsLnJlbG5h bWUgQVMgcmVsbmFtZSwKKyAgc3RhdHMucmVsaWQgYXMgcmVsaWQsCisKKyAgc3RhdHMudG90 YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgc3RhdHMudG90YWxfYmxrc19o aXQgQVMgdG90YWxfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0 b3RhbF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3Rh bF9ibGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMucmVsX2Jsa3NfcmVhZCBBUyByZWxfYmxrc19y ZWFkLAorICBzdGF0cy5yZWxfYmxrc19oaXQgQVMgcmVsX2Jsa3NfaGl0LAorCisgIHN0YXRz LnBhZ2VzX3NjYW5uZWQgQVMgcGFnZXNfc2Nhbm5lZCwKKyAgc3RhdHMucGFnZXNfcmVtb3Zl ZCBBUyBwYWdlc19yZW1vdmVkLAorICBzdGF0cy52bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHZt X25ld19mcm96ZW5fcGFnZXMsCisgIHN0YXRzLnZtX25ld192aXNpYmxlX3BhZ2VzIEFTIHZt X25ld192aXNpYmxlX3BhZ2VzLAorICBzdGF0cy52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLAorICBzdGF0cy5taXNzZWRfZGVh ZF9wYWdlcyBBUyBtaXNzZWRfZGVhZF9wYWdlcywKKyAgc3RhdHMudHVwbGVzX2RlbGV0ZWQg QVMgdHVwbGVzX2RlbGV0ZWQsCisgIHN0YXRzLnR1cGxlc19mcm96ZW4gQVMgdHVwbGVzX2Zy b3plbiwKKyAgc3RhdHMucmVjZW50bHlfZGVhZF90dXBsZXMgQVMgcmVjZW50bHlfZGVhZF90 dXBsZXMsCisgIHN0YXRzLm1pc3NlZF9kZWFkX3R1cGxlcyBBUyBtaXNzZWRfZGVhZF90dXBs ZXMsCisKKyAgc3RhdHMud3JhcGFyb3VuZF9mYWlsc2FmZSBBUyB3cmFwYXJvdW5kX2ZhaWxz YWZlLAorICBzdGF0cy5pbmRleF92YWN1dW1fY291bnQgQVMgaW5kZXhfdmFjdXVtX2NvdW50 LAorICBzdGF0cy53YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywKKyAgc3RhdHMud2FsX2Zw aSBBUyB3YWxfZnBpLAorICBzdGF0cy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVzLAorCisgIHN0 YXRzLmJsa19yZWFkX3RpbWUgQVMgYmxrX3JlYWRfdGltZSwKKyAgc3RhdHMuYmxrX3dyaXRl X3RpbWUgQVMgYmxrX3dyaXRlX3RpbWUsCisKKyAgc3RhdHMuZGVsYXlfdGltZSBBUyBkZWxh eV90aW1lLAorICBzdGF0cy50b3RhbF90aW1lIEFTIHRvdGFsX3RpbWUKKworRlJPTSBwZ19j bGFzcyByZWwKKyAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5h bWVzcGFjZSwKKyAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKHJlbC5vaWQp IHN0YXRzCitXSEVSRSByZWwucmVsa2luZCA9ICdyJzsKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMK aW5kZXggMzNhMzNiZjZiMWMuLmZmYjdlMWVlZjRjIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy92YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0u YwpAQCAtMTE1LDYgKzExNSw5IEBAIHBnX2F0b21pY191aW50MzIgKlZhY3V1bVNoYXJlZENv c3RCYWxhbmNlID0gTlVMTDsKIHBnX2F0b21pY191aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3Jr ZXJzID0gTlVMTDsKIGludAkJCVZhY3V1bUNvc3RCYWxhbmNlTG9jYWwgPSAwOwogCisvKiBD dW11bGF0aXZlIHN0b3JhZ2UgdG8gcmVwb3J0IHRvdGFsIHZhY3V1bSBkZWxheSB0aW1lLiAq LworZG91YmxlIFZhY3V1bURlbGF5VGltZSA9IDA7IC8qIG1zZWMuICovCisKIC8qIG5vbi1l eHBvcnQgZnVuY3Rpb24gcHJvdG90eXBlcyAqLwogc3RhdGljIExpc3QgKmV4cGFuZF92YWN1 dW1fcmVsKFZhY3V1bVJlbGF0aW9uICp2cmVsLAogCQkJCQkJCSAgIE1lbW9yeUNvbnRleHQg dmFjX2NvbnRleHQsIGludCBvcHRpb25zKTsKQEAgLTI1MTQsNiArMjUxNyw3IEBAIHZhY3V1 bV9kZWxheV9wb2ludChib29sIGlzX2FuYWx5emUpCiAJCQlleGl0KDEpOwogCiAJCVZhY3V1 bUNvc3RCYWxhbmNlID0gMDsKKwkJVmFjdXVtRGVsYXlUaW1lICs9IG1zZWM7CiAKIAkJLyoK IAkJICogQmFsYW5jZSBhbmQgdXBkYXRlIGxpbWl0IHZhbHVlcyBmb3IgYXV0b3ZhY3V1bSB3 b3JrZXJzLiBXZSBtdXN0IGRvCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92 YWN1dW1wYXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwu YwppbmRleCAwZmVlYTFkMzBlYy4uMmI1NWQ5YjdjMGUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFu ZHMvdmFjdXVtcGFyYWxsZWwuYwpAQCAtMTA1NCw2ICsxMDU0LDcgQEAgcGFyYWxsZWxfdmFj dXVtX21haW4oZHNtX3NlZ21lbnQgKnNlZywgc2htX3RvYyAqdG9jKQogCS8qIFNldCBjb3N0 LWJhc2VkIHZhY3V1bSBkZWxheSAqLwogCVZhY3V1bVVwZGF0ZUNvc3RzKCk7CiAJVmFjdXVt Q29zdEJhbGFuY2UgPSAwOworCVZhY3V1bURlbGF5VGltZSA9IDA7CiAJVmFjdXVtQ29zdEJh bGFuY2VMb2NhbCA9IDA7CiAJVmFjdXVtU2hhcmVkQ29zdEJhbGFuY2UgPSAmKHNoYXJlZC0+ Y29zdF9iYWxhbmNlKTsKIAlWYWN1dW1BY3RpdmVOV29ya2VycyA9ICYoc2hhcmVkLT5hY3Rp dmVfbndvcmtlcnMpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwppbmRleCA4 YjU3ODQ1ZTg3MC4uMjNjYjYyZTM2YTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdC5jCkBAIC0xOTAsNyArMTkwLDcgQEAgc3RhdGljIHZvaWQgcGdzdGF0X3Jlc2V0X2Fm dGVyX2ZhaWx1cmUodm9pZCk7CiBzdGF0aWMgYm9vbCBwZ3N0YXRfZmx1c2hfcGVuZGluZ19l bnRyaWVzKGJvb2wgbm93YWl0KTsKIAogc3RhdGljIHZvaWQgcGdzdGF0X3ByZXBfc25hcHNo b3Qodm9pZCk7Ci1zdGF0aWMgdm9pZCBwZ3N0YXRfYnVpbGRfc25hcHNob3Qodm9pZCk7Citz dGF0aWMgdm9pZCBwZ3N0YXRfYnVpbGRfc25hcHNob3QoUGdTdGF0X0tpbmQgc3RhdEtpbmQp Owogc3RhdGljIHZvaWQgcGdzdGF0X2J1aWxkX3NuYXBzaG90X2ZpeGVkKFBnU3RhdF9LaW5k IGtpbmQpOwogCiBzdGF0aWMgaW5saW5lIGJvb2wgcGdzdGF0X2lzX2tpbmRfdmFsaWQoUGdT dGF0X0tpbmQga2luZCk7CkBAIC0yMDMsNyArMjAzLDcgQEAgc3RhdGljIGlubGluZSBib29s IHBnc3RhdF9pc19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBib29sCQlwZ3N0 YXRfdHJhY2tfY291bnRzID0gZmFsc2U7CiBpbnQJCQlwZ3N0YXRfZmV0Y2hfY29uc2lzdGVu Y3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfQ0FDSEU7Ci0KK2Jvb2wJCXBnc3RhdF90 cmFja192YWN1dW1fc3RhdGlzdGljcyA9IHRydWU7CiAKIC8qIC0tLS0tLS0tLS0KICAqIHN0 YXRlIHNoYXJlZCB3aXRoIHBnc3RhdF8qLmMKQEAgLTI2MCw3ICsyNjAsNiBAQCBzdGF0aWMg Ym9vbCBwZ3N0YXRfaXNfaW5pdGlhbGl6ZWQgPSBmYWxzZTsKIHN0YXRpYyBib29sIHBnc3Rh dF9pc19zaHV0ZG93biA9IGZhbHNlOwogI2VuZGlmCiAKLQogLyoKICAqIFRoZSBkaWZmZXJl bnQga2luZHMgb2YgYnVpbHQtaW4gc3RhdGlzdGljcy4KICAqCkBAIC04OTcsNyArODk2LDYg QEAgcGdzdGF0X3Jlc2V0X29mX2tpbmQoUGdTdGF0X0tpbmQga2luZCkKIAkJcGdzdGF0X3Jl c2V0X2VudHJpZXNfb2Zfa2luZChraW5kLCB0cyk7CiB9CiAKLQogLyogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBG ZXRjaGluZyBvZiBzdGF0cwogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05NjYsNyArOTY0LDcgQEAgcGdzdGF0 X2ZldGNoX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBkYm9pZCwgdWludDY0IG9iamlk KQogCiAJLyogaWYgd2UgbmVlZCB0byBidWlsZCBhIGZ1bGwgc25hcHNob3QsIGRvIHNvICov CiAJaWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9PSBQR1NUQVRfRkVUQ0hfQ09OU0lT VEVOQ1lfU05BUFNIT1QpCi0JCXBnc3RhdF9idWlsZF9zbmFwc2hvdCgpOworCQlwZ3N0YXRf YnVpbGRfc25hcHNob3QoUEdTVEFUX0tJTkRfSU5WQUxJRCk7CiAKIAkvKiBpZiBjYWNoaW5n IGlzIGRlc2lyZWQsIGxvb2sgdXAgaW4gY2FjaGUgKi8KIAlpZiAocGdzdGF0X2ZldGNoX2Nv bnNpc3RlbmN5ID4gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX05PTkUpCkBAIC0xMDgyLDcg KzEwODAsNyBAQCBwZ3N0YXRfc25hcHNob3RfZml4ZWQoUGdTdGF0X0tpbmQga2luZCkKIAkJ cGdzdGF0X2NsZWFyX3NuYXBzaG90KCk7CiAKIAlpZiAocGdzdGF0X2ZldGNoX2NvbnNpc3Rl bmN5ID09IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hPVCkKLQkJcGdzdGF0X2J1 aWxkX3NuYXBzaG90KCk7CisJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9J TlZBTElEKTsKIAllbHNlCiAJCXBnc3RhdF9idWlsZF9zbmFwc2hvdF9maXhlZChraW5kKTsK IApAQCAtMTEzMyw3ICsxMTMxLDcgQEAgcGdzdGF0X3ByZXBfc25hcHNob3Qodm9pZCkKIH0K IAogc3RhdGljIHZvaWQKLXBnc3RhdF9idWlsZF9zbmFwc2hvdCh2b2lkKQorcGdzdGF0X2J1 aWxkX3NuYXBzaG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKQogewogCWRzaGFzaF9zZXFfc3Rh dHVzIGhzdGF0OwogCVBnU3RhdFNoYXJlZF9IYXNoRW50cnkgKnA7CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4IDI4NTg3ZTI5MTZi Li5lZTAzODVjZDgwOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdz dGF0X3JlbGF0aW9uLmMKQEAgLTQ3LDYgKzQ3LDggQEAgc3RhdGljIHZvaWQgYWRkX3RhYnN0 YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvLCBpbnQgbmVz dF9sZXYKIHN0YXRpYyB2b2lkIGVuc3VyZV90YWJzdGF0X3hhY3RfbGV2ZWwoUGdTdGF0X1Rh YmxlU3RhdHVzICpwZ3N0YXRfaW5mbyk7CiBzdGF0aWMgdm9pZCBzYXZlX3RydW5jZHJvcF9j b3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFucywgYm9vbCBpc19kcm9wKTsK IHN0YXRpYyB2b2lkIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhh Y3RTdGF0dXMgKnRyYW5zKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9hY2N1bXVsYXRlX2V4dHZh Y19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJCQkJCQkJ ICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbyk7CiAKIAogLyoKQEAg LTIwOSw3ICsyMTEsNyBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlvbiByZWwpCiB2 b2lkCiBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAog CQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1 cGxlcywKLQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSkKKwkJCQkJIFRpbWVzdGFtcFR6 IHN0YXJ0dGltZSwgRXh0VmFjUmVwb3J0ICpwYXJhbXMpCiB7CiAJUGdTdGF0X0VudHJ5UmVm ICplbnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5OwpAQCAt MjM1LDYgKzIzNyw4IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9v bCBzaGFyZWQsCiAJdGFiZW50cnktPmxpdmVfdHVwbGVzID0gbGl2ZXR1cGxlczsKIAl0YWJl bnRyeS0+ZGVhZF90dXBsZXMgPSBkZWFkdHVwbGVzOwogCisJcGdzdGF0X2FjY3VtdWxhdGVf ZXh0dmFjX3N0YXRzKCZ0YWJlbnRyeS0+dmFjdXVtX2V4dCwgcGFyYW1zLCB0cnVlKTsKKwog CS8qCiAJICogSXQgaXMgcXVpdGUgcG9zc2libGUgdGhhdCBhIG5vbi1hZ2dyZXNzaXZlIFZB Q1VVTSBlbmRlZCB1cCBza2lwcGluZwogCSAqIHZhcmlvdXMgcGFnZXMsIGhvd2V2ZXIsIHdl J2xsIHplcm8gdGhlIGluc2VydCBjb3VudGVyIGhlcmUgcmVnYXJkbGVzcy4KQEAgLTg4MSw2 ICs4ODUsOSBAQCBwZ3N0YXRfcmVsYXRpb25fZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICpl bnRyeV9yZWYsIGJvb2wgbm93YWl0KQogCXRhYmVudHJ5LT5ibG9ja3NfZmV0Y2hlZCArPSBs c3RhdHMtPmNvdW50cy5ibG9ja3NfZmV0Y2hlZDsKIAl0YWJlbnRyeS0+YmxvY2tzX2hpdCAr PSBsc3RhdHMtPmNvdW50cy5ibG9ja3NfaGl0OwogCisJdGFiZW50cnktPnJldl9hbGxfZnJv emVuX3BhZ2VzICs9IGxzdGF0cy0+Y291bnRzLnJldl9hbGxfZnJvemVuX3BhZ2VzOworCXRh YmVudHJ5LT5yZXZfYWxsX3Zpc2libGVfcGFnZXMgKz0gbHN0YXRzLT5jb3VudHMucmV2X2Fs bF92aXNpYmxlX3BhZ2VzOworCiAJLyogQ2xhbXAgbGl2ZV90dXBsZXMgaW4gY2FzZSBvZiBu ZWdhdGl2ZSBkZWx0YV9saXZlX3R1cGxlcyAqLwogCXRhYmVudHJ5LT5saXZlX3R1cGxlcyA9 IE1heCh0YWJlbnRyeS0+bGl2ZV90dXBsZXMsIDApOwogCS8qIExpa2V3aXNlIGZvciBkZWFk X3R1cGxlcyAqLwpAQCAtMTAwNCwzICsxMDExLDQwIEBAIHJlc3RvcmVfdHJ1bmNkcm9wX2Nv dW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zKQogCQl0cmFucy0+dHVwbGVz X2RlbGV0ZWQgPSB0cmFucy0+ZGVsZXRlZF9wcmVfdHJ1bmNkcm9wOwogCX0KIH0KKworc3Rh dGljIHZvaWQKK3Bnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQg KmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3Jl bHR5cGVfc3BlY2lmaWNfaW5mbykKK3sKKwlkc3QtPnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMt PnRvdGFsX2Jsa3NfcmVhZDsKKwlkc3QtPnRvdGFsX2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxf Ymxrc19oaXQ7CisJZHN0LT50b3RhbF9ibGtzX2RpcnRpZWQgKz0gc3JjLT50b3RhbF9ibGtz X2RpcnRpZWQ7CisJZHN0LT50b3RhbF9ibGtzX3dyaXR0ZW4gKz0gc3JjLT50b3RhbF9ibGtz X3dyaXR0ZW47CisJZHN0LT53YWxfYnl0ZXMgKz0gc3JjLT53YWxfYnl0ZXM7CisJZHN0LT53 YWxfZnBpICs9IHNyYy0+d2FsX2ZwaTsKKwlkc3QtPndhbF9yZWNvcmRzICs9IHNyYy0+d2Fs X3JlY29yZHM7CisJZHN0LT5ibGtfcmVhZF90aW1lICs9IHNyYy0+YmxrX3JlYWRfdGltZTsK Kwlkc3QtPmJsa193cml0ZV90aW1lICs9IHNyYy0+YmxrX3dyaXRlX3RpbWU7CisJZHN0LT5k ZWxheV90aW1lICs9IHNyYy0+ZGVsYXlfdGltZTsKKwlkc3QtPnRvdGFsX3RpbWUgKz0gc3Jj LT50b3RhbF90aW1lOworCisJaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5m bykKKwkJcmV0dXJuOworCisJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNo ZWQ7CisJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OworCisJZHN0LT5wYWdlc19z Y2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKKwlkc3QtPnBhZ2VzX3JlbW92ZWQgKz0g c3JjLT5wYWdlc19yZW1vdmVkOworCWRzdC0+dm1fbmV3X2Zyb3plbl9wYWdlcyArPSBzcmMt PnZtX25ld19mcm96ZW5fcGFnZXM7CisJZHN0LT52bV9uZXdfdmlzaWJsZV9wYWdlcyArPSBz cmMtPnZtX25ld192aXNpYmxlX3BhZ2VzOworCWRzdC0+dm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzICs9IHNyYy0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOworCWRzdC0+dHVw bGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsKKwlkc3QtPnR1cGxlc19mcm96 ZW4gKz0gc3JjLT50dXBsZXNfZnJvemVuOworCWRzdC0+cmVjZW50bHlfZGVhZF90dXBsZXMg Kz0gc3JjLT5yZWNlbnRseV9kZWFkX3R1cGxlczsKKwlkc3QtPmluZGV4X3ZhY3V1bV9jb3Vu dCArPSBzcmMtPmluZGV4X3ZhY3V1bV9jb3VudDsKKwlkc3QtPndyYXBhcm91bmRfZmFpbHNh ZmVfY291bnQgKz0gc3JjLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OworCWRzdC0+bWlz c2VkX2RlYWRfcGFnZXMgKz0gc3JjLT5taXNzZWRfZGVhZF9wYWdlczsKKwlkc3QtPm1pc3Nl ZF9kZWFkX3R1cGxlcyArPSBzcmMtPm1pc3NlZF9kZWFkX3R1cGxlczsKKworfQpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMK aW5kZXggZTk4MDEwOWYyNDUuLmE1NjEwMTk5ODkzIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQv cGdzdGF0ZnVuY3MuYwpAQCAtMTA2LDYgKzEwNiwxMiBAQCBQR19TVEFUX0dFVF9SRUxFTlRS WV9JTlQ2NCh0dXBsZXNfdXBkYXRlZCkKIC8qIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCAq LwogUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQodmFjdXVtX2NvdW50KQogCisvKiBwZ19z dGF0X2dldF9yZXZfZnJvemVuX3BhZ2VzICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2 NChyZXZfYWxsX2Zyb3plbl9wYWdlcykKKworLyogcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNp YmxlX3BhZ2VzICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChyZXZfYWxsX3Zpc2li bGVfcGFnZXMpCisKICNkZWZpbmUgUEdfU1RBVF9HRVRfUkVMRU5UUllfRkxPQVQ4KHN0YXQp CQkJCQkJXAogRGF0dW0JCQkJCQkJCQkJCQkJCQlcCiBDcHBDb25jYXQocGdfc3RhdF9nZXRf LHN0YXQpKFBHX0ZVTkNUSU9OX0FSR1MpCQkJCQlcCkBAIC0yMjU4LDMgKzIyNjQsMTQ0IEBA IHBnX3N0YXRfaGF2ZV9zdGF0cyhQR19GVU5DVElPTl9BUkdTKQogCiAJUEdfUkVUVVJOX0JP T0wocGdzdGF0X2hhdmVfZW50cnkoa2luZCwgZGJvaWQsIG9iamlkKSk7CiB9CisKKworLyoK KyAqIEdldCB0aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRhYmxlcy4KKyAq LworRGF0dW0KK3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykK K3sKKwkjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyAyNgor CisJT2lkCQkJCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOworCVBnU3RhdF9TdGF0VGFi RW50cnkgICAgICp0YWJlbnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlU dXBsZURlc2MJCQkJIHR1cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdfU1RBVF9HRVRf VkFDVVVNX1RBQkxFU19TVEFUU19DT0xTXSA9IHswfTsKKwlib29sCQkJCQkgbnVsbHNbUEdf U1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQkJCQkg YnVmWzI1Nl07CisJaW50CQkJCQkJIGkgPSAwOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOwor CisJLyogSW5pdGlhbGlzZSBhdHRyaWJ1dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBk ZXNjcmlwdG9yICovCisJdHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NU QVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyk7CisKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbGlkIiwKKwkJCQkJICAgSU5UNE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAidG90YWxfYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxr c19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2RpcnRpZWQiLAorCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJyZWxfYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3NfaGl0 IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNfc2Nhbm5lZCIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInBhZ2VzX3JlbW92ZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ2bV9uZXdfZnJv emVuX3BhZ2VzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidm1fbmV3X3Zpc2libGVfcGFnZXMi LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMiLAor CQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2Ms IChBdHRyTnVtYmVyKSArK2ksICJtaXNzZWRfZGVhZF9wYWdlcyIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInR1cGxlc19kZWxldGVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVzX2Zy b3plbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlY2VudGx5X2RlYWRfdHVwbGVzIiwKKwkJ CQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAibWlzc2VkX2RlYWRfdHVwbGVzIiwKKwkJCQkJICAgSU5UOE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAid3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCIsCisJCQkJCSAgIElOVDRPSUQsIC0x LCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg ImluZGV4X3ZhY3V1bV9jb3VudCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9yZWNvcmRz IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2ZwaSIsCisJCQkJCSAgIElOVDhPSUQsIC0x LCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg IndhbF9ieXRlcyIsCisJCQkJCSAgIE5VTUVSSUNPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVz Y0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3JlYWRfdGltZSIs CisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJCQkgICBGTE9B VDhPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAiZGVsYXlfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxf dGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJQXNzZXJ0KGkgPT0gUEdf U1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKworCUJsZXNzVHVwbGVEZXNj KHR1cGRlc2MpOworCisJdGFiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShy ZWxpZCk7CisKKwlpZiAodGFiZW50cnkgPT0gTlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJz Y3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1z ZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0g JmFsbHplcm87CisJfQorCWVsc2UKKwl7CisJCWV4dHZhY3V1bSA9ICYodGFiZW50cnktPnZh Y3V1bV9leHQpOworCX0KKworCWkgPSAwOworCisJdmFsdWVzW2krK10gPSBPYmplY3RJZEdl dERhdHVtKHJlbGlkKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+dG90YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc193cml0dGVuKTsKKworCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfZmV0Y2hlZCAtCisJCQkJCQkJ CQlleHR2YWN1dW0tPmJsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT5wYWdlc19zY2FubmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT5wYWdlc19yZW1vdmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT52bV9uZXdfZnJvemVuX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52bV9uZXdfdmlzaWJsZV9wYWdlcyk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5t aXNzZWRfZGVhZF9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+dHVwbGVzX2RlbGV0ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnR1cGxlc19mcm96ZW4pOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPnJlY2VudGx5X2RlYWRfdHVwbGVzKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5taXNzZWRfZGVhZF90dXBsZXMpOworCXZhbHVlc1tp KytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPndyYXBhcm91bmRfZmFpbHNhZmVfY291 bnQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmluZGV4X3Zh Y3V1bV9jb3VudCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9z dGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFU LCBleHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlv bkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAor CQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdldERh dHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ YmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1 dW0tPmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4 dHZhY3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShl eHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFD VVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKworCS8qIFJldHVybnMgdGhlIHJlY29yZCBhcyBE YXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zvcm1f dHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKK30KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMg Yi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKaW5kZXggNDdhZjc0Mzk5MGYuLjhj OWU4ZmIxOGUxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMK KysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCkBAIC0xNjI0LDYgKzE2MjQs MTkgQEAgZ2V0aW50ZXJuYWxlcnJwb3NpdGlvbih2b2lkKQogCXJldHVybiBlZGF0YS0+aW50 ZXJuYWxwb3M7CiB9CiAKKy8qCisgKiBSZXR1cm4gZWxldmVsIG9mIGVycm9ycworICovCitp bnQKK2dldGVycmVsZXZlbCh2b2lkKQoreworCUVycm9yRGF0YSAgKmVkYXRhID0gJmVycm9y ZGF0YVtlcnJvcmRhdGFfc3RhY2tfZGVwdGhdOworCisJLyogd2UgZG9uJ3QgYm90aGVyIGlu Y3JlbWVudGluZyByZWN1cnNpb25fZGVwdGggKi8KKwlDSEVDS19TVEFDS19ERVBUSCgpOwor CisJcmV0dXJuIGVkYXRhLT5lbGV2ZWw7Cit9CiAKIC8qCiAgKiBGdW5jdGlvbnMgdG8gYWxs b3cgY29uc3RydWN0aW9uIG9mIGVycm9yIG1lc3NhZ2Ugc3RyaW5ncyBzZXBhcmF0ZWx5IGZy b20KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jIGIv c3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKaW5kZXggMmY4Y2JkODY3NTku LjExNWYwYzUxY2MyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190 YWJsZXMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwpAQCAt MTUwOCw2ICsxNTA4LDE1IEBAIHN0cnVjdCBjb25maWdfYm9vbCBDb25maWd1cmVOYW1lc0Jv b2xbXSA9CiAJCWZhbHNlLAogCQlOVUxMLCBOVUxMLCBOVUxMCiAJfSwKKwl7CisJCXsidHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3MiLCBQR0NfU1VTRVQsIFNUQVRTX0NVTVVMQVRJVkUsCisJ CQlnZXR0ZXh0X25vb3AoIkNvbGxlY3RzIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0YWJsZSBy ZWxhdGlvbnMuIiksCisJCQlOVUxMCisJCX0sCisJCSZwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3MsCisJCXRydWUsCisJCU5VTEwsIE5VTEwsIE5VTEwKKwl9LAogCXsKIAkJeyJ0 cmFja193YWxfaW9fdGltaW5nIiwgUEdDX1NVU0VULCBTVEFUU19DVU1VTEFUSVZFLAogCQkJ Z2V0dGV4dF9ub29wKCJDb2xsZWN0cyB0aW1pbmcgc3RhdGlzdGljcyBmb3IgV0FMIEkvTyBh Y3Rpdml0eS4iKSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdy ZXNxbC5jb25mLnNhbXBsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5j b25mLnNhbXBsZQppbmRleCA4N2NlNzZiMThmNC4uZTk3MWIzOTAyODEgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQorKysgYi9z cmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKQEAgLTY2MSw2 ICs2NjEsNyBAQAogI3RyYWNrX3dhbF9pb190aW1pbmcgPSBvZmYKICN0cmFja19mdW5jdGlv bnMgPSBub25lCQkJIyBub25lLCBwbCwgYWxsCiAjc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kg PSBjYWNoZQkjIGNhY2hlLCBub25lLCBzbmFwc2hvdAorI3RyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzID0gb2ZmCiAKIAogIyAtIE1vbml0b3JpbmcgLQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKaW5kZXggMzdhNDg0MTQ3YTguLmMwNGQzODgwMjQxIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf cHJvYy5kYXQKQEAgLTEyNTU2LDQgKzEyNTU2LDIyIEBACiAgIHByb2FyZ25hbWVzID0+ICd7 cGlkLGlvX2lkLGlvX2dlbmVyYXRpb24sc3RhdGUsb3BlcmF0aW9uLG9mZixsZW5ndGgsdGFy Z2V0LGhhbmRsZV9kYXRhX2xlbixyYXdfcmVzdWx0LHJlc3VsdCx0YXJnZXRfZGVzYyxmX3N5 bmMsZl9sb2NhbG1lbSxmX2J1ZmZlcmVkfScsCiAgIHByb3NyYyA9PiAncGdfZ2V0X2Fpb3Mn IH0sCiAKK3sgb2lkID0+ICc4MDAxJywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1 bV90YWJsZXMgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciB0YWJsZScsCisgIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMnLCBwcm9yb3dzID0+IDEwMDAs IHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0cmlj dCA9PiAnZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2FyZ3R5cGVzID0+ICdvaWQn LAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgs aW50OCxpbnQ0LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgs ZmxvYXQ4fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3ty ZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3Nf ZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQs cGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3 X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLG1pc3NlZF9kZWFk X3BhZ2VzLHR1cGxlc19kZWxldGVkLHR1cGxlc19mcm96ZW4scmVjZW50bHlfZGVhZF90dXBs ZXMsbWlzc2VkX2RlYWRfdHVwbGVzLHdyYXBhcm91bmRfZmFpbHNhZmUsaW5kZXhfdmFjdXVt X2NvdW50LHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxr X3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0b3RhbF90aW1lfScsCisgIHByb3NyYyA9PiAncGdf c3RhdF9nZXRfdmFjdXVtX3RhYmxlcycgfSwKKworICB7IG9pZCA9PiAnODAwMicsIGRlc2Ny ID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdGltZXMgdGhlIGFsbC12aXNpYmxlIHBhZ2Vz IGluIHRoZSB2aXNpYmlsaXR5IG1hcCB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMgb2YgdGFibGUn LAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX3Zpc2libGVfcGFnZXMnLCBw cm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9 PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRf Z2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdlcycgfSwKKyAgeyBvaWQgPT4gJzgwMDMnLCBkZXNj ciA9PiAnc3RhdGlzdGljczogbnVtYmVyIG9mIHRpbWVzIHRoZSBhbGwtZnJvemVuIHBhZ2Vz IGluIHRoZSB2aXNpYmlsaXR5IG1hcCB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMgb2YgdGFibGUn LAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycsIHBy b3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9n ZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCmlu ZGV4IGJjMzdhODBkYzc0Li42ZDFiMjk5MWNlNSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv Y29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgK QEAgLTMyNyw2ICszMjcsNyBAQCBleHRlcm4gUEdETExJTVBPUlQgZG91YmxlIHZhY3V1bV9t YXhfZWFnZXJfZnJlZXplX2ZhaWx1cmVfcmF0ZTsKIGV4dGVybiBQR0RMTElNUE9SVCBwZ19h dG9taWNfdWludDMyICpWYWN1dW1TaGFyZWRDb3N0QmFsYW5jZTsKIGV4dGVybiBQR0RMTElN UE9SVCBwZ19hdG9taWNfdWludDMyICpWYWN1dW1BY3RpdmVOV29ya2VyczsKIGV4dGVybiBQ R0RMTElNUE9SVCBpbnQgVmFjdXVtQ29zdEJhbGFuY2VMb2NhbDsKK2V4dGVybiBQR0RMTElN UE9SVCBkb3VibGUgVmFjdXVtRGVsYXlUaW1lOwogCiBleHRlcm4gUEdETExJTVBPUlQgYm9v bCBWYWN1dW1GYWlsc2FmZUFjdGl2ZTsKIGV4dGVybiBQR0RMTElNUE9SVCBkb3VibGUgdmFj dXVtX2Nvc3RfZGVsYXk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3Ny Yy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDM3OGYyZjJjMmJhLi42Yzg4ZDU3YWVmNyAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0 LmgKQEAgLTExMSw2ICsxMTEsNTMgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0JhY2tlbmRT dWJFbnRyeQogCVBnU3RhdF9Db3VudGVyIGNvbmZsaWN0X2NvdW50W0NPTkZMSUNUX05VTV9U WVBFU107CiB9IFBnU3RhdF9CYWNrZW5kU3ViRW50cnk7CiAKKy8qIC0tLS0tLS0tLS0KKyAq CisgKiBFeHRWYWNSZXBvcnQKKyAqCisgKiBBZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFj dXVtIHByb2Nlc3Npbmcgb3ZlciBhIGhlYXAgcmVsYXRpb24uCisgKiBwYWdlc19yZW1vdmVk IGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhlIHBoeXNpY2FsbHkgc2hyYW5rLAorICogaWYg YW55IChpZSB0aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBzaXplIG9uIGRpc2spCisgKiBwYWdl c19kZWxldGVkIHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0aGluIHRoZSBpbmRleCBmaWxlCisg KiAtLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYgc3RydWN0IEV4dFZhY1JlcG9ydAoreworCS8q IG51bWJlciBvZiBibG9ja3MgbWlzc2VkLCBoaXQsIGRpcnRpZWQgYW5kIHdyaXR0ZW4gZHVy aW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9uICovCisJaW50NjQJCXRvdGFsX2Js a3NfcmVhZDsKKwlpbnQ2NAkJdG90YWxfYmxrc19oaXQ7CisJaW50NjQJCXRvdGFsX2Jsa3Nf ZGlydGllZDsKKwlpbnQ2NAkJdG90YWxfYmxrc193cml0dGVuOworCisJLyogYmxvY2tzIG1p c3NlZCBhbmQgaGl0IGZvciBqdXN0IHRoZSBoZWFwIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVj aWZpYyByZWxhdGlvbiAqLworCWludDY0CQlibGtzX2ZldGNoZWQ7CisJaW50NjQJCWJsa3Nf aGl0OworCisJLyogVmFjdXVtIFdBTCB1c2FnZSBzdGF0cyAqLworCWludDY0CQl3YWxfcmVj b3JkczsJLyogd2FsIHVzYWdlOiBudW1iZXIgb2YgV0FMIHJlY29yZHMgKi8KKwlpbnQ2NAkJ d2FsX2ZwaTsJCS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2Vz IHByb2R1Y2VkICovCisJdWludDY0CQl3YWxfYnl0ZXM7CQkvKiB3YWwgdXNhZ2U6IHNpemUg b2YgV0FMIHJlY29yZHMgcHJvZHVjZWQgKi8KKworCS8qIFRpbWUgc3RhdHMuICovCisJZG91 YmxlCQlibGtfcmVhZF90aW1lOwkvKiB0aW1lIHNwZW50IHJlYWRpbmcgcGFnZXMsIGluIG1z ZWMgKi8KKwlkb3VibGUJCWJsa193cml0ZV90aW1lOyAvKiB0aW1lIHNwZW50IHdyaXRpbmcg cGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWRlbGF5X3RpbWU7CQkvKiBob3cgbG9uZyB2 YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRlbGF5IHBvaW50LCBpbiBtc2VjICovCisJZG91Ymxl CQl0b3RhbF90aW1lOwkJLyogdG90YWwgdGltZSBvZiBhIHZhY3V1bSBvcGVyYXRpb24sIGlu IG1zZWMgKi8KKworCWludDY0CQlwYWdlc19zY2FubmVkOwkJLyogaGVhcCBwYWdlcyBleGFt aW5lZCAobm90IHNraXBwZWQgYnkgVk0pICovCisJaW50NjQJCXBhZ2VzX3JlbW92ZWQ7CQkv KiBoZWFwIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICJ0cnVuY2F0aW9uIiAqLworCWludDY0 CQl2bV9uZXdfZnJvemVuX3BhZ2VzOwkJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGZyb3pl biAqLworCWludDY0CQl2bV9uZXdfdmlzaWJsZV9wYWdlczsJLyogcGFnZXMgbWFya2VkIGlu IFZNIGFzIGFsbC12aXNpYmxlICovCisJaW50NjQJCXZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlIGFuZCBmcm96ZW4g Ki8KKwlpbnQ2NAkJbWlzc2VkX2RlYWRfdHVwbGVzOwkJLyogdHVwbGVzIG5vdCBwcnVuZWQg YnkgdmFjdXVtIGR1ZSB0byBmYWlsdXJlIHRvIGdldCBhIGNsZWFudXAgbG9jayAqLworCWlu dDY0CQltaXNzZWRfZGVhZF9wYWdlczsJCS8qIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVw bGVzICovCisJaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkg dmFjdXVtICovCisJaW50NjQJCXR1cGxlc19mcm96ZW47CQkvKiB0dXBsZXMgZnJvemVuIHVw IGJ5IHZhY3V1bSAqLworCWludDY0CQlyZWNlbnRseV9kZWFkX3R1cGxlczsJLyogZGVsZXRl ZCB0dXBsZXMgdGhhdCBhcmUgc3RpbGwgdmlzaWJsZSB0byBzb21lIHRyYW5zYWN0aW9uICov CisJaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJLyogdGhlIG51bWJlciBvZiBpbmRleCB2 YWN1dW1pbmdzICovCisJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CS8qIG51 bWJlciBvZiBlbWVyZ2VuY3kgdmFjdXVtcyB0byBwcmV2ZW50IGFudGktd3JhcGFyb3VuZCBz aHV0ZG93biAqLworfSBFeHRWYWNSZXBvcnQ7CisKIC8qIC0tLS0tLS0tLS0KICAqIFBnU3Rh dF9UYWJsZUNvdW50cwkJCVRoZSBhY3R1YWwgcGVyLXRhYmxlIGNvdW50cyBrZXB0IGJ5IGEg YmFja2VuZAogICoKQEAgLTE1Myw2ICsyMDAsMTYgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0 X1RhYmxlQ291bnRzCiAKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKIAlQZ1N0 YXRfQ291bnRlciBibG9ja3NfaGl0OworCisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF92aXNp YmxlX3BhZ2VzOworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVuX3BhZ2VzOworCisJ LyoKKwkgKiBBZGRpdGlvbmFsIGN1bXVsYXRpdmUgc3RhdCBvbiB2YWN1dW0gb3BlcmF0aW9u cy4KKwkgKiBVc2UgYW4gZXhwZW5zaXZlIHN0cnVjdHVyZSBhcyBhbiBhYnN0cmFjdGlvbiBm b3IgZGlmZmVyZW50IHR5cGVzIG9mCisJICogcmVsYXRpb25zLgorCSAqLworCUV4dFZhY1Jl cG9ydAl2YWN1dW1fZXh0OwogfSBQZ1N0YXRfVGFibGVDb3VudHM7CiAKIC8qIC0tLS0tLS0t LS0KQEAgLTIxMSw3ICsyNjgsNyBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVYYWN0 U3RhdHVzCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCi0jZGVmaW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9J RAkweDAxQTVCQ0I3CisjZGVmaW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9JRAkweDAxQTVCQ0I4 CiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9BcmNoaXZlclN0YXRzCiB7CkBAIC0zNzUsNiAr NDMyLDggQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJUGdTdGF0X0Nv dW50ZXIgcGFyYWxsZWxfd29ya2Vyc19sYXVuY2hlZDsKIAogCVRpbWVzdGFtcFR6IHN0YXRf cmVzZXRfdGltZXN0YW1wOworCisJRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7CQkvKiBleHRl bmRlZCB2YWN1dW0gc3RhdGlzdGljcyAqLwogfSBQZ1N0YXRfU3RhdERCRW50cnk7CiAKIHR5 cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0RnVuY0VudHJ5CkBAIC00NTMsNiArNTEyLDExIEBA IHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0VGFiRW50cnkKIAlQZ1N0YXRfQ291bnRlciB0 b3RhbF9hdXRvdmFjdXVtX3RpbWU7CiAJUGdTdGF0X0NvdW50ZXIgdG90YWxfYW5hbHl6ZV90 aW1lOwogCVBnU3RhdF9Db3VudGVyIHRvdGFsX2F1dG9hbmFseXplX3RpbWU7CisKKwlQZ1N0 YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdTdGF0X0NvdW50ZXIgcmV2 X2FsbF9mcm96ZW5fcGFnZXM7CisKKwlFeHRWYWNSZXBvcnQgdmFjdXVtX2V4dDsKIH0gUGdT dGF0X1N0YXRUYWJFbnRyeTsKIAogLyogLS0tLS0tCkBAIC02NjAsNyArNzI0LDcgQEAgZXh0 ZXJuIHZvaWQgcGdzdGF0X3VubGlua19yZWxhdGlvbihSZWxhdGlvbiByZWwpOwogCiBleHRl cm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVk LAogCQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIg ZGVhZHR1cGxlcywKLQkJCQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSk7CisJCQkJCQkJ CSBUaW1lc3RhbXBUeiBzdGFydHRpbWUsIEV4dFZhY1JlcG9ydCAqcGFyYW1zKTsKIGV4dGVy biB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCQkJCQkJCSAg UGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywK IAkJCQkJCQkJICBib29sIHJlc2V0Y291bnRlciwgVGltZXN0YW1wVHogc3RhcnR0aW1lKTsK QEAgLTcxMSw2ICs3NzUsMTcgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9hbmFseXpl KFJlbGF0aW9uIHJlbCwKIAkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVs KSkJCQkJCQlcCiAJCQkocmVsKS0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfaGl0Kys7 CQkJCVwKIAl9IHdoaWxlICgwKQorLyogYWNjdW11bGF0ZSB1bmZyb3plbiBhbGwtdmlzaWJs ZSBhbmQgYWxsLWZyb3plbiBwYWdlcyAqLworI2RlZmluZSBwZ3N0YXRfY291bnRfdm1fcmV2 X2FsbF92aXNpYmxlKHJlbCkJCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJCQkJCVwKKwkJaWYg KHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCisJCQkocmVsKS0+ cGdzdGF0X2luZm8tPmNvdW50cy5yZXZfYWxsX3Zpc2libGVfcGFnZXMrKzsJXAorCX0gd2hp bGUgKDApCisjZGVmaW5lIHBnc3RhdF9jb3VudF92bV9yZXZfYWxsX2Zyb3plbihyZWwpCQkJ CQkJXAorCWRvIHsJCQkJCQkJCQkJCQkJCQlcCisJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50 X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAorCQkJKHJlbCktPnBnc3RhdF9pbmZvLT5jb3VudHMu cmV2X2FsbF9mcm96ZW5fcGFnZXMrKzsJXAorCX0gd2hpbGUgKDApCiAKIGV4dGVybiB2b2lk IHBnc3RhdF9jb3VudF9oZWFwX2luc2VydChSZWxhdGlvbiByZWwsIFBnU3RhdF9Db3VudGVy IG4pOwogZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfdXBkYXRlKFJlbGF0aW9uIHJl bCwgYm9vbCBob3QsIGJvb2wgbmV3cGFnZSk7CkBAIC03OTksNiArODc0LDcgQEAgZXh0ZXJu IFBnU3RhdF9XYWxTdGF0cyAqcGdzdGF0X2ZldGNoX3N0YXRfd2FsKHZvaWQpOwogZXh0ZXJu IFBHRExMSU1QT1JUIGJvb2wgcGdzdGF0X3RyYWNrX2NvdW50czsKIGV4dGVybiBQR0RMTElN UE9SVCBpbnQgcGdzdGF0X3RyYWNrX2Z1bmN0aW9uczsKIGV4dGVybiBQR0RMTElNUE9SVCBp bnQgcGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5OworZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wg cGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwogCiAKIC8qCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS91dGlscy9lbG9nLmggYi9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgKaW5k ZXggNWVhYzBlMTY5NzAuLjZhMzBhNGRiNDdkIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91 dGlscy9lbG9nLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oCkBAIC0yMzAsNiAr MjMwLDcgQEAgZXh0ZXJuIGludAlnZXRlcnJjb2RlKHZvaWQpOwogZXh0ZXJuIGludAlnZXRl cnJwb3NpdGlvbih2b2lkKTsKIGV4dGVybiBpbnQJZ2V0aW50ZXJuYWxlcnJwb3NpdGlvbih2 b2lkKTsKIAorZXh0ZXJuIGludAlnZXRlcnJlbGV2ZWwodm9pZCk7CiAKIC8qLS0tLS0tLS0t LQogICogT2xkLXN0eWxlIGVycm9yIHJlcG9ydGluZyBBUEk6IHRvIGJlIHVzZWQgaW4gdGhp cyB3YXk6CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVt LWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMvdGVzdC9pc29sYXRpb24v ZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjg3ZjdlNDBiNGE2Ci0tLSAvZGV2 L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRp bmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC0wLDAgKzEsNTMgQEAKK3VudXNlZCBzdGVw IG5hbWU6IHMyX2RlbGV0ZQorUGFyc2VkIHRlc3Qgc3BlYyB3aXRoIDIgc2Vzc2lvbnMKKwor c3RhcnRpbmcgcGVybXV0YXRpb246IHMyX2luc2VydCBzMl9wcmludF92YWN1dW1fc3RhdHNf dGFibGUgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkIHMyX3VwZGF0ZSBzMl9pbnNlcnRfaW50 ZXJydXB0IHMyX3ZhY3V1bSBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUgczFfY29tbWl0 IHMyX2NoZWNrcG9pbnQgczJfdmFjdXVtIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQor c3RlcCBzMl9pbnNlcnQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9u KGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVyYXRlX3Nlcmllcygx LDEwMDApIEFzIGl2YWw7CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisg ICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LnJlY2Vu dGx5X2RlYWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFk X3BhZ2VzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVt X3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAg ICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlz c2VkX2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3BhZ2VzfHR1cGxlc19mcm96ZW4KKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Cit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgICAgMHwgICAgICAgICAg ICAgICAgICAgMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgIDB8ICAgICAg ICAgICAgMAorKDEgcm93KQorCitzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZDogCisg IEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7Cisg IHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdo ZXJlIGlkPjkwMDsKKworY291bnQKKy0tLS0tCisgIDEwMAorKDEgcm93KQorCitzdGVwIHMy X3VwZGF0ZTogVVBEQVRFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIFNFVCBpdmFsID0g aXZhbCArIDIgd2hlcmUgaWQgPiA5MDA7CitzdGVwIHMyX2luc2VydF9pbnRlcnJ1cHQ6IElO U0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHZhbHVlcyAoMSwxKTsKK3N0 ZXAgczJfdmFjdXVtOiBWQUNVVU0gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb247CitzdGVw IHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisgICAgU0VMRUNUCisgICAgdnQucmVs bmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LnJlY2VudGx5X2RlYWRfdHVwbGVzLCB2dC5t aXNzZWRfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3BhZ2VzLCB2dC50dXBsZXNfZnJv emVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAg ICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQg dnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVz X2RlbGV0ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfdHVwbGVzfG1pc3Nl ZF9kZWFkX3BhZ2VzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0ZXN0X3ZhY3V1bV9zdGF0X2lz b2xhdGlvbnwgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgIDEwMHwgICAgICAgICAg ICAgICAgIDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgMAorKDEgcm93KQorCitz dGVwIHMxX2NvbW1pdDogQ09NTUlUOworc3RlcCBzMl9jaGVja3BvaW50OiBDSEVDS1BPSU5U Oworc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbjsK K3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKKyAgICBTRUxFQ1QKKyAgICB2 dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQucmVjZW50bHlfZGVhZF90dXBsZXMs IHZ0Lm1pc3NlZF9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfcGFnZXMsIHZ0LnR1cGxl c19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3Mg YworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24n IEFORCB2dC5yZWxpZCA9IGMub2lkOworCityZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0 dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF90dXBsZXN8 bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9ufCAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAgMTAwfCAgICAg ICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAgMTAxCisoMSByb3cp CisKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUg Yi9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCmluZGV4IGUzYzY2OWEy OWM3Li42ZmFlZTNhZDJjMyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xh dGlvbl9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVk dWxlCkBAIC05Niw2ICs5Niw3IEBAIHRlc3Q6IHRpbWVvdXRzCiB0ZXN0OiB2YWN1dW0tY29u Y3VycmVudC1kcm9wCiB0ZXN0OiB2YWN1dW0tY29uZmxpY3QKIHRlc3Q6IHZhY3V1bS1za2lw LWxvY2tlZAordGVzdDogdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZAogdGVz dDogc3RhdHMKIHRlc3Q6IGhvcml6b25zCiB0ZXN0OiBwcmVkaWNhdGUtaGFzaApkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVw ZXRhYmxlLXJlYWQuc3BlYyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0 ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLjU4OTNkODk1NzNkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rl c3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQu c3BlYwpAQCAtMCwwICsxLDUzIEBACisjIFRlc3QgZm9yIGNoZWNraW5nIHJlY2VudGx5X2Rl YWRfdHVwbGVzLCB0dXBsZXNfZGVsZXRlZCBhbmQgZnJvemVuIHR1cGxlcyBpbiBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMuCisjIHJlY2VudGx5X2RlYWRfdHVwbGVzIHZhbHVlcyBhcmUgY291 bnRlZCB3aGVuIHZhY3V1bSBoYXNuJ3QgY2xlYXJlZCB0dXBsZXMgYmVjYXVzZSB0aGV5IHdl cmUgZGVsZXRlZCByZWNlbnRseS4KKyMgcmVjZW50bHlfZGVhZF90dXBsZXMgYXJlbid0IGlu Y3JlYXNlZCBhZnRlciByZWxlYXNpbmcgbG9jayBjb21wYXJlZCB3aXRoIHR1cGxlc19kZWxl dGVkLCB3aGljaCBpbmNyZWFzZWQKKyMgYnkgdGhlIHZhbHVlIG9mIHRoZSBjbGVhcmVkIHR1 cGxlcyB0aGF0IHRoZSB2YWN1dW0gbWFuYWdlZCB0byBjbGVhci4KKworc2V0dXAKK3sKKyAg ICBDUkVBVEUgVEFCTEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24oaWQgaW50LCBpdmFs IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmKTsKKyAgICBTRVQgdHJhY2tf aW9fdGltaW5nID0gb247CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdv bic7Cit9CisKK3RlYXJkb3duCit7CisgICAgRFJPUCBUQUJMRSB0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbiBDQVNDQURFOworICAgIFJFU0VUIHRyYWNrX2lvX3RpbWluZzsKKyAgICBS RVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKK30KKworc2Vzc2lvbiBzMQorc3RlcCBz MV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQgICB7CisgIEJFR0lOIHRyYW5zYWN0aW9uIElTT0xB VElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CisgIHNlbGVjdCBjb3VudChpdmFsKSBmcm9t IHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkPjkwMDsKKyAgfQorc3RlcCBz MV9jb21taXQgICAgICAgICAgICAgICAgICB7IENPTU1JVDsgfQorCitzZXNzaW9uIHMyCitz dGVwIHMyX2luc2VydCAgICAgICAgICAgICAgICAgIHsgSU5TRVJUIElOVE8gdGVzdF92YWN1 dW1fc3RhdF9pc29sYXRpb24oaWQsIGl2YWwpIFNFTEVDVCBpdmFsLCBpdmFsJTEwIEZST00g Z2VuZXJhdGVfc2VyaWVzKDEsMTAwMCkgQXMgaXZhbDsgfQorc3RlcCBzMl91cGRhdGUgICAg ICAgICAgICAgICAgICB7IFVQREFURSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBTRVQg aXZhbCA9IGl2YWwgKyAyIHdoZXJlIGlkID4gOTAwOyB9CitzdGVwIHMyX2RlbGV0ZSAgICAg ICAgICAgICAgICAgIHsgREVMRVRFIEZST00gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24g d2hlcmUgaWQgPiA5MDA7IH0KK3N0ZXAgczJfaW5zZXJ0X2ludGVycnVwdCAgICAgICAgeyBJ TlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB2YWx1ZXMgKDEsMSk7IH0K K3N0ZXAgczJfdmFjdXVtICAgICAgICAgICAgICAgICAgeyBWQUNVVU0gdGVzdF92YWN1dW1f c3RhdF9pc29sYXRpb247IH0KK3N0ZXAgczJfY2hlY2twb2ludCAgICAgICAgICAgICAgeyBD SEVDS1BPSU5UOyB9CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQoreworICAg IFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5yZWNlbnRs eV9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF9w YWdlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVz IHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9z dGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7Cit9CisKK3Blcm11dGF0aW9u CisgICAgczJfaW5zZXJ0CisgICAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCisgICAg czFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkCisgICAgczJfdXBkYXRlCisgICAgczJfaW5zZXJ0 X2ludGVycnVwdAorICAgIHMyX3ZhY3V1bQorICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190 YWJsZQorICAgIHMxX2NvbW1pdAorICAgIHMyX2NoZWNrcG9pbnQKKyAgICBzMl92YWN1dW0K KyAgICBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDZjZjgyOGNh OGQwLi4xMGE0ODJlMmRiNCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQK QEAgLTE4MjksNyArMTgyOSw5IEBAIHBnX3N0YXRfYWxsX3RhYmxlc3wgU0VMRUNUIGMub2lk IEFTIHJlbGlkLAogICAgIHBnX3N0YXRfZ2V0X3RvdGFsX3ZhY3V1bV90aW1lKGMub2lkKSBB UyB0b3RhbF92YWN1dW1fdGltZSwKICAgICBwZ19zdGF0X2dldF90b3RhbF9hdXRvdmFjdXVt X3RpbWUoYy5vaWQpIEFTIHRvdGFsX2F1dG92YWN1dW1fdGltZSwKICAgICBwZ19zdGF0X2dl dF90b3RhbF9hbmFseXplX3RpbWUoYy5vaWQpIEFTIHRvdGFsX2FuYWx5emVfdGltZSwKLSAg ICBwZ19zdGF0X2dldF90b3RhbF9hdXRvYW5hbHl6ZV90aW1lKGMub2lkKSBBUyB0b3RhbF9h dXRvYW5hbHl6ZV90aW1lCisgICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0b2FuYWx5emVfdGlt ZShjLm9pZCkgQVMgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKKyAgICBwZ19zdGF0X2dldF9y ZXZfYWxsX2Zyb3plbl9wYWdlcyhjLm9pZCkgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMsCisg ICAgcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzKGMub2lkKSBBUyByZXZfYWxs X3Zpc2libGVfcGFnZXMKICAgIEZST00gKChwZ19jbGFzcyBjCiAgICAgIExFRlQgSk9JTiBw Z19pbmRleCBpIE9OICgoYy5vaWQgPSBpLmluZHJlbGlkKSkpCiAgICAgIExFRlQgSk9JTiBw Z19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSkKQEAgLTIyMjIs NyArMjIyNCw5IEBAIHBnX3N0YXRfc3lzX3RhYmxlc3wgU0VMRUNUIHJlbGlkLAogICAgIHRv dGFsX3ZhY3V1bV90aW1lLAogICAgIHRvdGFsX2F1dG92YWN1dW1fdGltZSwKICAgICB0b3Rh bF9hbmFseXplX3RpbWUsCi0gICAgdG90YWxfYXV0b2FuYWx5emVfdGltZQorICAgIHRvdGFs X2F1dG9hbmFseXplX3RpbWUsCisgICAgcmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgcmV2 X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVS RSAoKHNjaGVtYW5hbWUgPSBBTlkgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9y bWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgT1IgKHNjaGVtYW5hbWUgfiAnXnBnX3RvYXN0Jzo6 dGV4dCkpOwogcGdfc3RhdF91c2VyX2Z1bmN0aW9uc3wgU0VMRUNUIHAub2lkIEFTIGZ1bmNp ZCwKQEAgLTIyNzQsOSArMjI3OCw0MyBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1Qg cmVsaWQsCiAgICAgdG90YWxfdmFjdXVtX3RpbWUsCiAgICAgdG90YWxfYXV0b3ZhY3V1bV90 aW1lLAogICAgIHRvdGFsX2FuYWx5emVfdGltZSwKLSAgICB0b3RhbF9hdXRvYW5hbHl6ZV90 aW1lCisgICAgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKKyAgICByZXZfYWxsX2Zyb3plbl9w YWdlcywKKyAgICByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gcGdfc3RhdF9hbGxf dGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9n Jzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1l ICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVD VCBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgICAgcmVsLnJlbG5hbWUsCisgICAgc3Rh dHMucmVsaWQsCisgICAgc3RhdHMudG90YWxfYmxrc19yZWFkLAorICAgIHN0YXRzLnRvdGFs X2Jsa3NfaGl0LAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICBzdGF0cy50 b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgc3RhdHMucmVsX2Jsa3NfcmVhZCwKKyAgICBzdGF0 cy5yZWxfYmxrc19oaXQsCisgICAgc3RhdHMucGFnZXNfc2Nhbm5lZCwKKyAgICBzdGF0cy5w YWdlc19yZW1vdmVkLAorICAgIHN0YXRzLnZtX25ld19mcm96ZW5fcGFnZXMsCisgICAgc3Rh dHMudm1fbmV3X3Zpc2libGVfcGFnZXMsCisgICAgc3RhdHMudm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzLAorICAgIHN0YXRzLm1pc3NlZF9kZWFkX3BhZ2VzLAorICAgIHN0YXRzLnR1 cGxlc19kZWxldGVkLAorICAgIHN0YXRzLnR1cGxlc19mcm96ZW4sCisgICAgc3RhdHMucmVj ZW50bHlfZGVhZF90dXBsZXMsCisgICAgc3RhdHMubWlzc2VkX2RlYWRfdHVwbGVzLAorICAg IHN0YXRzLndyYXBhcm91bmRfZmFpbHNhZmUsCisgICAgc3RhdHMuaW5kZXhfdmFjdXVtX2Nv dW50LAorICAgIHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9mcGksCisgICAg c3RhdHMud2FsX2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMu YmxrX3dyaXRlX3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBzdGF0cy50b3Rh bF90aW1lCisgICBGUk9NIChwZ19jbGFzcyByZWwKKyAgICAgSk9JTiBwZ19uYW1lc3BhY2Ug bnMgT04gKChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSkpLAorICAgIExBVEVSQUwgcGdf c3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxr c19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtz X3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfc2Nhbm5lZCwg cGFnZXNfcmVtb3ZlZCwgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFn ZXMsIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgbWlzc2VkX2RlYWRfcGFnZXMsIHR1 cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVuLCByZWNlbnRseV9kZWFkX3R1cGxlcywgbWlz c2VkX2RlYWRfdHVwbGVzLCB3cmFwYXJvdW5kX2ZhaWxzYWZlLCBpbmRleF92YWN1dW1fY291 bnQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJs a193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJl bGtpbmQgPSAncic6OiJjaGFyIik7CiBwZ19zdGF0X3dhbHwgU0VMRUNUIHdhbF9yZWNvcmRz LAogICAgIHdhbF9mcGksCiAgICAgd2FsX2J5dGVzLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iNWVhOWM5YWIxZQotLS0gL2Rl di9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19z dGF0aXN0aWNzLm91dApAQCAtMCwwICsxLDIyNyBAQAorLS0KKy0tIFRlc3QgY3VtdWxhdGl2 ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhlIHdhbGwgc3RhdGlzdGlj cyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246CistLSBudW1iZXIgb2YgZnJv emVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07CistLSBudW1iZXIgb2YgZnJv emVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KKy0tIFN0YXRpc3Rp YyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJl aGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hP VyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfY291bnRzIAorLS0tLS0t LS0tLS0tLS0KKyBvbgorKDEgcm93KQorCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCistLSBu b3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQg dHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOworLS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0 aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0ZXIgaXMgb2ZmLgorU0VUIHRyYWNrX3Zh Y3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQp IFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lO U0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1w bGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworREVMRVRFIEZST00gdmVzdGF0IFdI RVJFIHggJSAyID0gMDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlU IDEyOCkgdmVzdGF0OworLS0gTXVzdCBiZSBlbXB0eS4KK1NFTEVDVCByZWxuYW1lLHRvdGFs X2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxf Ymxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwKK3BhZ2VzX3NjYW5u ZWQsIHBhZ2VzX3JlbW92ZWQsIHZtX25ld19mcm96ZW5fcGFnZXMsIHZtX25ld192aXNpYmxl X3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIG1pc3NlZF9kZWFkX3BhZ2Vz LAordHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJlY2VudGx5X2RlYWRfdHVwbGVz LCBtaXNzZWRfZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1bV9jb3VudCwKK3dhbF9yZWNvcmRz LCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLGRl bGF5X3RpbWUsIHRvdGFsX3RpbWUKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0CitX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CisgcmVsbmFtZSB8IHRvdGFsX2Jsa3NfcmVh ZCB8IHRvdGFsX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193 cml0dGVuIHwgcmVsX2Jsa3NfcmVhZCB8IHJlbF9ibGtzX2hpdCB8IHBhZ2VzX3NjYW5uZWQg fCBwYWdlc19yZW1vdmVkIHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZtX25ld192aXNpYmxl X3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIHwgbWlzc2VkX2RlYWRfcGFn ZXMgfCB0dXBsZXNfZGVsZXRlZCB8IHR1cGxlc19mcm96ZW4gfCByZWNlbnRseV9kZWFkX3R1 cGxlcyB8IG1pc3NlZF9kZWFkX3R1cGxlcyB8IGluZGV4X3ZhY3V1bV9jb3VudCB8IHdhbF9y ZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IGJsa19yZWFkX3RpbWUgfCBibGtfd3Jp dGVfdGltZSB8IGRlbGF5X3RpbWUgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwg ICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgIDAg fCAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAwIHwg ICAgICAgICAgICAgMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAwIHwg ICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgfCAg ICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgMCB8ICAg ICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAg ICAgICAwIHwgICAgICAgICAgIDAgfCAgICAgICAwIHwgICAgICAgICAwIHwgICAgICAgICAg ICAgMCB8ICAgICAgICAgICAgICAwIHwgICAgICAgICAgMCB8ICAgICAgICAgIDAKKygxIHJv dykKKworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CitEUk9QIFRBQkxFIHZlc3Rh dCBDQVNDQURFOworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUg b24KKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyBvbgorKDEgcm93KQorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hl ZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2Vf bmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisK Ky0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFC TEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxs ZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJh dGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitTRUxF Q1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdCcg XGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBCZWZvcmUg dGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0 eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0 ZWQscmVscGFnZXMscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0 YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3Bh Z2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdl c19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZl c3RhdCAgfCAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgIDQ1 NSB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAwCisoMSByb3cpCisKK1NFTEVDVCBy ZWxwYWdlcyBBUyBycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dCcgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwg SU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVj ayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBUaGUgdGFibGUgYW5kIGlu ZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0t IHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVt b3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2 ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzID4g MCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNf ZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQgPiAw IEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZAor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgdm1f bmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19z Y2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0KKyB2ZXN0YXQgIHwgZiAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAg ICAgIHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1Qg dm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdl cyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FM IGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdh bF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0gTG9vayBpbnRvIFdBTCBy ZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZFdSLCB3YWxfYnl0 ZXMgPiAwIEFTIGRXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXQnOworIGR3ciB8IGR3YiAKKy0tLS0tKy0tLS0tCisgdCAgIHwgdAorKDEg cm93KQorCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZG RVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQg aXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsK Ky0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1l LHZtX25ld19mcm96ZW5fcGFnZXMtOmZwID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1 cGxlc19kZWxldGVkLTp0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA9 IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPiAwIEFTIHBhZ2VzX3NjYW5uZWQs cGFnZXNfcmVtb3ZlZC06cHIgPiAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHZtX25ld19mcm96ZW5fcGFn ZXMgfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBhZ2Vz X3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVz dGF0ICB8IGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAg IHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZtX25ld19mcm96ZW5f cGFnZXMgQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2Vz X3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcg QU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyLCB3YWxfYnl0ZXMt Omh3YiBBUyBkd2IsIHdhbF9mcGktOmhmcGkgQVMgZGZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLSBXQUwgYWR2YW5j ZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3ciA+IDAgQVMgZFdSLCA6ZHdiID4g MCBBUyBkV0I7CisgZHdyIHwgZHdiIAorLS0tLS0rLS0tLS0KKyB0ICAgfCB0CisoMSByb3cp CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9y ZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBn X3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0lO U0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1w bGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7Cist LSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5v IGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUu CitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhl IHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGlu dG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IyLCB3YWxfYnl0 ZXMtOmh3YiBBUyBkd2IyLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkyCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKy0tIFdBTCBh bmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitT RUxFQ1QgOmR3cjI9MCBBUyBkV1IsIDpkZnBpMj0wIEFTIGRGUEksIDpkd2IyPTAgQVMgZFdC OworIGR3ciB8IGRmcGkgfCBkd2IgCistLS0tLSstLS0tLS0rLS0tLS0KKyB0ICAgfCB0ICAg IHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2Vz LTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPSAw IEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPCAwIEFTIHJlbHBhZ2VzLHBhZ2Vz X3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0g MCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdf Y2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMu b2lkOworIHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQg fCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCB0ICAgICAgICAgICAg ICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0 CisoMSByb3cpCisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19k ZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLHBhZ2Vz X3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFz cyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQg XGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdh bF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQK K0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxM RUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3Rh dDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NI RUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIg cmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRz LTpod3IgQVMgZHdyMywgd2FsX2J5dGVzLTpod2IgQVMgZHdiMywgd2FsX2ZwaS06aGZwaSBB UyBkZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXQnIFxnc2V0CistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZHdy Mz4wIEFTIGRXUiwgOmRmcGkzPTAgQVMgZEZQSSwgOmR3YjM+MCBBUyBkV0I7CisgZHdyIHwg ZGZwaSB8IGR3YiAKKy0tLS0tKy0tLS0tLSstLS0tLQorIHQgICB8IHQgICAgfCB0CisoMSBy b3cpCisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBp bnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVu ZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgdm1fbmV3X2Zyb3plbl9wYWdlcywgcGFnZXNfc2Nh bm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFt ZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0 dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAg PSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVk LHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0 YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3Bh Z2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdl c19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZl c3RhdCAgfCB0ICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmICAgICAg ICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK0RST1AgVEFCTEUgdmVzdGF0IENB U0NBREU7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9l bmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNF TEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5B TFlaRSB2ZXN0YXQ7CistLSBtdXN0IGJlIGVtcHR5CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9w YWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9h bGxfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMKK0ZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92 YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFi bGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHZtX25ld19mcm96ZW5f cGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwg cmV2X2FsbF92aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAg ICAgMCB8ICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAgICAwIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAwCisoMSByb3cpCisKK1ZBQ1VVTSAoUEFSQUxM RUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0gYmFja2VuZCBkZWZy ZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID4gMCBBUyB2bV9uZXdf ZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID4gMCBBUyB2bV9uZXdfdmlzaWJs ZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPiAwIEFTIHZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDAgQVMgcmV2X2FsbF9m cm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gMCBBUyByZXZfYWxsX3Zpc2li bGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJs ZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQg cGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlk OworIHZtX25ld19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHZtX25l d192aXNpYmxlX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2Fs bF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYgICAgICAgICAgICAgICAgICAg fCB0ICAgICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IHQgICAgICAgICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1Qgdm1fbmV3X2Zy b3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgcHYsdm1fbmV3X3Zp c2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFm cCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMu cmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBw Z19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKK1VQREFURSB2ZXN0YXQgU0VUIHggPSB4 ICsgMTAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkg dmVzdGF0OworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPiA6cGYgQVMgdm1fbmV3X2Zy b3plbl9wYWdlcyx2bV9uZXdfdmlzaWJsZV9wYWdlcyA+IDpwdiBBUyB2bV9uZXdfdmlzaWJs ZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPiA6cHZmIEFTIHZtX25ld192 aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA+IDpoYWZwIEFTIHJl dl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA+IDpoYXZwIEFTIHJl dl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0 YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2 ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90 YWJsZXMucmVsaWQ7Cisgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZtX25ld192aXNpYmxlX3Bh Z2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF9mcm96ZW5fcGFn ZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZiAgICAgICAg ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgICAgfCBmCisoMSByb3cpCisKK1NFTEVD VCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHBmLCB2bV9uZXdfdmlzaWJsZV9wYWdlcyBBUyBw diwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5f cGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKK1ZBQ1VVTSAoUEFS QUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0gdmFjdXVtIGZy ZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID0gOnBmIEFTIHZtX25l d19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6cHYgQVMgdm1fbmV3X3Zp c2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gOnB2ZiBBUyB2bV9u ZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAg QVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAg QVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywg cGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1l ID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRf YWxsX3RhYmxlcy5yZWxpZDsKKyB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdm1fbmV3X3Zpc2li bGVfcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX2Zyb3pl bl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0ICAg ICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IHQKKygxIHJvdykKKwor RFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3MvcGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVk dWxlCmluZGV4IGE0MjRiZTJhNmJmLi5lZTAzNDNjMjcyOSAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3Bh cmFsbGVsX3NjaGVkdWxlCkBAIC0xNDAsMyArMTQwLDggQEAgdGVzdDogZmFzdF9kZWZhdWx0 CiAjIHJ1biB0YWJsZXNwYWNlIHRlc3QgYXQgdGhlIGVuZCBiZWNhdXNlIGl0IGRyb3BzIHRo ZSB0YWJsZXNwYWNlIGNyZWF0ZWQgZHVyaW5nCiAjIHNldHVwIHRoYXQgb3RoZXIgdGVzdHMg bWF5IHVzZS4KIHRlc3Q6IHRhYmxlc3BhY2UKKworIyAtLS0tLS0tLS0tCisjIENoZWNrIHZh Y3V1bSBzdGF0aXN0aWNzCisjIC0tLS0tLS0tLS0KK3Rlc3Q6IHZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41YmMzNGJlYzY0YgotLS0gL2Rldi9udWxs CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5z cWwKQEAgLTAsMCArMSwxODMgQEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0 YXRzIHN5c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVk IGR1cmluZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlz aWJsZSBwYWdlcyBzZXQgYnkgdmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlz aWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBp cyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1 bnN0YWJsZS4KKy0tCisKKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0cmFja19j b3VudHM7ICAtLSBtdXN0IGJlIG9uCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCisKKy0tIG5v dCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0 cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CisKKy0tIFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlz dGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4KK1NFVCB0cmFja192 YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKKworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBp bnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsK K0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpz YW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitERUxFVEUgRlJPTSB2ZXN0 YXQgV0hFUkUgeCAlIDIgPSAwOworCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gTXVzdCBiZSBlbXB0eS4KK1NFTEVDVCByZWxu YW1lLHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGll ZCwgdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwKK3Bh Z2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHZtX25ld19mcm96ZW5fcGFnZXMsIHZtX25l d192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIG1pc3NlZF9k ZWFkX3BhZ2VzLAordHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJlY2VudGx5X2Rl YWRfdHVwbGVzLCBtaXNzZWRfZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1bV9jb3VudCwKK3dh bF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0 ZV90aW1lLGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CisKK1JFU0VUIHRyYWNrX3Zh Y3V1bV9zdGF0aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKworU0hPVyB0 cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KKworLS0gZW5zdXJlIHBl bmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1 c2goKTsKKworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NS RUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBv ZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3Rh dDsKKworU0VMRUNUIG9pZCBBUyByb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9 ICd2ZXN0YXQnIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7 CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMg dmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMs dHVwbGVzX2RlbGV0ZWQscmVscGFnZXMscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHJlbHBhZ2Vz IEFTIHJwCitGUk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3Nl dAorCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVY X0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhl IHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBUaGUgdGFibGUgYW5kIGluZGV4 IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZh Y3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3Zl ZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBj bGVhbmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzID4gMCBB UyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVs ZXRlZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQgPiAwIEFT IHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2bV9uZXdfZnJv emVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBw YWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0 YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNl cyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMg QVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworLS0gTG9vayBpbnRvIFdBTCByZWNvcmRz IGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZFdSLCB3YWxfYnl0ZXMgPiAw IEFTIGRXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXQnOworCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBC VUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0g aXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lO VDsKKworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAorU0VMRUNUIHZ0LnJl bG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPiAwIEFTIHZtX25ld19mcm96ZW5fcGFn ZXMsdHVwbGVzX2RlbGV0ZWQtOnRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAt OnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA+IDAgQVMgcGFnZXNfc2Nh bm5lZCxwYWdlc19yZW1vdmVkLTpwciA+IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAn dmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3Bh Z2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19z Y2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFO RCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyLCB3YWxfYnl0ZXMt Omh3YiBBUyBkd2IsIHdhbF9mcGktOmhmcGkgQVMgZGZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tIFdBTCBhZHZh bmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdyID4gMCBBUyBkV1IsIDpkd2Ig PiAwIEFTIGRXQjsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitT RUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBo ZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0 JyBcZ3NldAorCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUg eCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xs ZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBk ZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5 IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUg V0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBB UyBkd3IyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IyLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGky CitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcg XGdzZXQKKworLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5v dCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdyMj0wIEFTIGRXUiwgOmRmcGkyPTAgQVMgZEZQ SSwgOmR3YjI9MCBBUyBkV0I7CisKK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5f cGFnZXMtOmZwID0gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkLTp0 ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA8IDAgQVMgcmVscGFnZXMs cGFnZXNfc2Nhbm5lZC06cHMgPSAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06 cHIgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlk ID0gYy5vaWQ7CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBmcCx0dXBsZXNfZGVs ZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcyxwYWdlc19y ZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxn c2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdh bF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQK KworREVMRVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJB TExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVz dGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcwor Q0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFm dGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVj b3Jkcy06aHdyIEFTIGR3cjMsIHdhbF9ieXRlcy06aHdiIEFTIGR3YjMsIHdhbF9mcGktOmhm cGkgQVMgZGZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0JyBcZ3NldAorCistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVD VCA6ZHdyMz4wIEFTIGRXUiwgOmRmcGkzPTAgQVMgZEZQSSwgOmR3YjM+MCBBUyBkV0I7CisK Ky0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHpl cm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0 YXRpc3RpY3MuCistLSBUaGUgdm1fbmV3X2Zyb3plbl9wYWdlcywgcGFnZXNfc2Nhbm5lZCB2 YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9u ZXdfZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNf ZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFT IHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2Vz X3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFO RCB2dC5yZWxpZCA9IGMub2lkOworCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworQ1JF QVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9m ZiwgZmlsbGZhY3RvciA9IDEwKTsKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZS T00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0 YXQ7CisKKy0tIG11c3QgYmUgZW1wdHkKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzLCB2 bV9uZXdfdmlzaWJsZV9wYWdlcywgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNp YmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcworRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVs aWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwg QlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCistLSBiYWNrZW5kIGRlZnJlZXpl ZCBwYWdlcworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPiAwIEFTIHZtX25ld19mcm96 ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX3Bh Z2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA+IDAgQVMgdm1fbmV3X3Zpc2libGVf ZnJvemVuX3BhZ2VzLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gMCBBUyByZXZfYWxsX2Zyb3pl bl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSAwIEFTIHJldl9hbGxfdmlzaWJsZV9w YWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBX SEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19z dGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CitT RUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zpc2libGVfcGFnZXMg QVMgcHYsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96 ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKKworVVBEQVRF IHZlc3RhdCBTRVQgeCA9IHggKyAxMDAxOworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJf VVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2Vz ID4gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPiA6 cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2Vz ID4gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMscmV2X2FsbF9mcm96ZW5f cGFnZXMgPiA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVf cGFnZXMgPiA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1f dGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJl bGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworU0VMRUNUIHZtX25ld19mcm96ZW5f cGFnZXMgQVMgcGYsIHZtX25ld192aXNpYmxlX3BhZ2VzIEFTIHB2LCB2bV9uZXdfdmlzaWJs ZV9mcm96ZW5fcGFnZXMgQVMgcHZmLCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJl dl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxu YW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0 YXRfYWxsX3RhYmxlcy5yZWxpZCBcZ3NldAorCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZF Ul9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gdmFjdXVtIGZyZWV6ZWQgcGFnZXMK K1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID0gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFn ZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMs dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9m cm96ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2X2FsbF9m cm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2X2FsbF92 aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxf dGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcg YW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5y ZWxpZDsKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCi0tIAoyLjM0LjEKCg== --------------W8OTiSHlibzsm9Q0DRhMKYVj Content-Type: text/x-patch; charset=UTF-8; name="v23-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v23-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA0ZTE5ZTgxODY3OWFlNTY2MDhhMGJjMDg3ZmRjNDYzYjNkMjE4M2ZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAyIEp1biAyMDI1IDE5OjM1OjAyICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAyLzVdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGluZGV4IHJlbGF0aW9ucy4KClRoZXkgYXJlIGdhdGhlcmVk IHNlcGFyYXRlbGx5IGZyb20gdGFibGUgc3RhdGlzdGljcy4KCkFzIGZvciB0YWJsZXMsIHdl IGdhdGhlciB2YWN1dW0gc2hhcmVkIGJ1ZmZlcnMgc3RhdGlzdGljcyBmb3IgaW5kZXggcmVs YXRpb25zIGxpa2UKdmFsdWUgb2YgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfcmVhZCwg dG90YWxfYmxrc19kaXJ0aWVkLCB3YWwgc3RhdGlzdGljcywgaW8gdGltZQpkdXJpbmcgZmx1 c2hpbmcgYnVmZmVyIHBhZ2VzIHRvIGRpc2ssIGRlbGF5IGFuZCB0b3RhbCB0aW1lLgoKRHVl IHRvIHRoZSBmYWN0IHRoYXQgc3VjaCBzdGF0aXN0aWNzIGFyZSBjb21tb24gYXMgZm9yIHRh YmxlcywgYXMgZm9yIGluZGV4ZXMgd2UKc2V0IHRoZW0gaW4gdGhlIHVuaW9uIEV4dFZhY1Jl cG9ydCBzdHJ1Y3R1cmUuIFdlIG9ubHkgYWRkZWQgc29tZSBkZXRlcm1pbmF0aW9uICd0eXBl JwpmaWVsZCB0byBoaWdobGlnaHQgd2hhdCBraW5kIGJlbG9uZyB0byB0aGVzZSBzdGF0aXN0 aWNzOiBQR1NUQVRfRVhUVkFDX1RBQkxFIG9yClBHU1RBVF9FWFRWQUNfSU5ERVguIEdlbmVy YWxseSwgUEdTVEFUX0VYVFZBQ19JTlZBTElEIHR5cGUgbGVhZHMgdG8gd3JvbmcgY29kZSBw cm9jZXNzLgoKU29tZSBzdGF0aXN0aWNzIGJlbG9uZyBvbmx5IG9uZSB0eXBlIG9mIGJvdGgg dGFibGVzIG9yIGluZGV4ZXMuIFNvLCB3ZSBhZGRlZCBzdWJzdHJ1Y3R1cmVzCnN5Y2ggdGFi bGUgYW5kIGluZGV4IGluc2lkZSBFeHRWYWNSZXBvcnQgc3RydWN0dXJlLgoKVGhlcmVmb3Jl LCB3ZSBnYXRoZXIgb25seSBmb3IgdGFibGVzIHN1Y2ggc3RhdGlzdGljcyBsaWtlIG51bWJl ciBvZiBzY2FubmVkLCByZW1vdmVkIHBhZ2VzLAp0aGVpciBjaGFyZWN0ZXJpc3RpY3MgYWNj b3JkaW5nIFZNIChhbGwtdmlzaWJsZSBhbmQgZnJvemVuKS4gSW4gYWRkaXRpb24sIGZvciB0 YWJsZXMgd2UKZ2F0aGVyIG51bWJlciBmcm96ZW4sIGRlbGV0ZWQgYW5kIHJlY2VudGx5IGRl YWQgdHVwbGVzIGFuZCBob3cgbWFueSB0aW1lcyB2YWN1dW0gcHJvY2Vzc2VkCmluZGV4ZXMg Zm9yIHRhYmxlcy4KCkNvbnRyb3ZlcnNhbGx5IGZvciBpbmRleGVzIHdlIGdhdGhlciBudW1i ZXIgb2YgZGVsZXRlZCBwYWdlcyBhbmQgZGVsZXRlZCB0dXBsZXMgb25seS4KCkFzIGZvciB0 YWJsZXMsIGRlbGV0ZWQgcGFnZXMgYW5kIGRlbGV0ZWQgdHVwbGVzIHJlZmxlY3QgdGhlIG92 ZXJhbGwgcGVyZm9ybWFuY2Ugb2YgdGhlIHZhY3V1bQpmb3IgdGhlIGluZGV4IHJlbGF0aW9u c2hpcC4KClNpbmNlIHRoZSB2YWN1dW0gY2xlYW5zIHVwIHJlZmVyZW5jZXMgdG8gdHVwbGUg aW5kZXhlcyBiZWZvcmUgY2xlYW5pbmcgdXAgdGFibGUgdHVwbGVzLAp3aGljaCBhZGRzIHNv bWUgY29tcGxleGl0eSB0byB0aGUgdmFjdXVtIHByb2Nlc3MsIG5hbWVseSB0aGUgdmFjdXVt IHN3aXRjaGVzIGZyb20gY2xlYW5pbmcgdXAKYSB0YWJsZSB0byBpdHMgaW5kZXhlcyBhbmQg YmFjayBkdXJpbmcgaXRzIG9wZXJhdGlvbiwgd2UgbmVlZCB0byBzYXZlIHRoZSB2YWN1dW0g c3RhdGlzdGljcwpjb2xsZWN0ZWQgZm9yIHRoZSBoZWFwIGJlZm9yZSBpdCBzdGFydHMgY2xl YW5pbmcgdXAgdGhlIGluZGV4ZXMuClRoYXQncyB3aHkgaXQncyBuZWNlc3NhcnkgdG8gdHJh Y2sgdGhlIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaGVhcCBzZXZlcmFsIHRpbWVzIGR1 cmluZwp0aGUgdmFjdXVtIHByb2NlZHVyZS4gVG8gYXZvaWQgc2VuZGluZyB0aGUgc3RhdGlz dGljcyB0byB0aGUgQ3VtdWxhdGl2ZSBTdGF0aXN0aWNzIFN5c3RlbQpzZXZlcmFsIHRpbWVz LCB3ZSBzYXZlIHRoZXNlIHN0YXRpc3RpY3MgaW4gdGhlIExWUmVsU3RhdGUgc3RydWN0dXJl IGFuZCBvbmx5IGFmdGVyIHZhY3V1bQpmaW5pc2hlcyBjbGVhbmluZyB1cCB0aGUgaGVhcCwg aXQgc2VuZHMgdGhlbSB0byB0aGUgQ3VtdWxhdGl2ZSBTdGF0aXN0aWNzIFN5c3RlbS4KCkF1 dGhvcnM6IEFsZW5hIFJ5YmFraW5hIDxsZW5hLnJpYmFja2luYUB5YW5kZXgucnU+LAogICBB bmRyZWkgTGVwaWtob3YgPGEubGVwaWtob3ZAcG9zdGdyZXNwcm8ucnU+LAogICBBbmRyZWkg WnVia292IDxhLnp1YmtvdkBwb3N0Z3Jlc3Byby5ydT4KUmV2aWV3ZWQtYnk6IERpbGlwIEt1 bWFyIDxkaWxpcGJhbGF1dEBnbWFpbC5jb20+LCBNYXNhaGlrbyBTYXdhZGEgPHNhd2FkYS5t c2hrQGdtYWlsLmNvbT4sCiAgICAgICBJbGlhIEV2ZG9raW1vdiA8aWx5YS5ldmRva2ltb3ZA dGFudG9ybGFicy5jb20+LCBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ LAogICAgICAgS2lyaWxsIFJlc2hrZSA8cmVzaGtla2lyaWxsQGdtYWlsLmNvbT4sIEFsZXhh bmRlciBLb3JvdGtvdiA8YWVrb3JvdGtvdkBnbWFpbC5jb20+LAogICAgICAgSmltIE5hc2J5 IDxqbmFzYnlAdXBncmFkZS5jb20+LCBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNv bT4KLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgICAgICAgICAg fCAyNzAgKysrKysrKysrKysrKystLS0tCiBzcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92 aWV3cy5zcWwgICAgICAgICAgfCAgMzIgKysrCiBzcmMvYmFja2VuZC9jb21tYW5kcy92YWN1 dW1wYXJhbGxlbC5jICAgICAgICAgfCAgMTQgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0LmMgICAgICAgICAgIHwgICA0ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0OCArKystCiBzcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAxMzMgKysrKysrKystCiBzcmMvYmFja2Vu ZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9pbmNs dWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgICB8ICAgOSArCiBzcmMvaW5j bHVkZS9jb21tYW5kcy92YWN1dW0uaCAgICAgICAgICAgICAgICAgfCAgMjUgKysKIHNyYy9p bmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1OCArKystCiAu Li4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgICAgfCAgIDQgKy0K IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgICAgICAgICB8ICAyMiAr KwogLi4uL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dCAgICAgIHwgMTgz ICsrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAg ICAgICAgIHwgICAxICsKIC4uLi9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGlj cy5zcWwgICB8IDE1MSArKysrKysrKysrCiAxNSBmaWxlcyBjaGFuZ2VkLCA4NjQgaW5zZXJ0 aW9ucygrKSwgOTIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGlj cy5zcWwKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5 LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggZWUyN2U3 MGE3OTguLjA4ODhiZTJhZmVhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVh cC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6 eS5jCkBAIC0yOTEsNiArMjkxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCWNo YXIJICAgKmRibmFtZTsKIAljaGFyCSAgICpyZWxuYW1lc3BhY2U7CiAJT2lkCQkJcmVsb2lk OworCU9pZAkJCWluZG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwogCWNoYXIJICAgKmluZG5h bWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051bWJlciBibGtubzsJCQkv KiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAtNDExLDYgKzQxMiw4IEBA IHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAlCbG9ja051bWJlciBlYWdlcl9zY2FuX3Jl bWFpbmluZ19mYWlsczsKIAogCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OyAv KiBudW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBhbnRpLXdyYXBhcm91 bmQgc2h1dGRvd24gKi8KKworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnRJZHg7CiB9IExW UmVsU3RhdGU7CiAKIApAQCAtNDIyLDE5ICs0MjUsNiBAQCB0eXBlZGVmIHN0cnVjdCBMVlNh dmVkRXJySW5mbwogCVZhY0VyclBoYXNlIHBoYXNlOwogfSBMVlNhdmVkRXJySW5mbzsKIAot LyoKLSAqIENvdW50ZXJzIGFuZCB1c2FnZSBkYXRhIGZvciBleHRlbmRlZCBzdGF0cyB0cmFj a2luZy4KLSAqLwotdHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnMKLXsKLQlUaW1l c3RhbXBUeiBzdGFydHRpbWU7Ci0JV2FsVXNhZ2UJd2FsdXNhZ2U7Ci0JQnVmZmVyVXNhZ2Ug YnVmdXNhZ2U7Ci0JZG91YmxlCQlWYWN1dW1EZWxheVRpbWU7Ci0JUGdTdGF0X0NvdW50ZXIg YmxvY2tzX2ZldGNoZWQ7Ci0JUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2hpdDsKLX0gTFZFeHRT dGF0Q291bnRlcnM7Ci0KIC8qIG5vbi1leHBvcnQgZnVuY3Rpb24gcHJvdG90eXBlcyAqLwog c3RhdGljIHZvaWQgbGF6eV9zY2FuX2hlYXAoTFZSZWxTdGF0ZSAqdmFjcmVsKTsKIHN0YXRp YyB2b2lkIGhlYXBfdmFjdXVtX2VhZ2VyX3NjYW5fc2V0dXAoTFZSZWxTdGF0ZSAqdmFjcmVs LApAQCAtNTU2LDI3ICs1NDYsMjUgQEAgZXh0dmFjX3N0YXRzX2VuZChSZWxhdGlvbiByZWws IExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVycywKIAllbmR0aW1lID0gR2V0Q3VycmVudFRp bWVzdGFtcCgpOwogCVRpbWVzdGFtcERpZmZlcmVuY2UoY291bnRlcnMtPnN0YXJ0dGltZSwg ZW5kdGltZSwgJnNlY3MsICZ1c2Vjcyk7CiAKLQltZW1zZXQocmVwb3J0LCAwLCBzaXplb2Yo RXh0VmFjUmVwb3J0KSk7Ci0KIAkvKgogCSAqIEZpbGwgYWRkaXRpb25hbCBzdGF0aXN0aWNz IG9uIGEgdmFjdXVtIHByb2Nlc3Npbmcgb3BlcmF0aW9uLgogCSAqLwotCXJlcG9ydC0+dG90 YWxfYmxrc19yZWFkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19yZWFkICsgYnVmdXNhZ2Uuc2hh cmVkX2Jsa3NfcmVhZDsKLQlyZXBvcnQtPnRvdGFsX2Jsa3NfaGl0ID0gYnVmdXNhZ2UubG9j YWxfYmxrc19oaXQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19oaXQ7Ci0JcmVwb3J0LT50b3Rh bF9ibGtzX2RpcnRpZWQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2RpcnRpZWQgKyBidWZ1c2Fn ZS5zaGFyZWRfYmxrc19kaXJ0aWVkOwotCXJlcG9ydC0+dG90YWxfYmxrc193cml0dGVuID0g YnVmdXNhZ2Uuc2hhcmVkX2Jsa3Nfd3JpdHRlbjsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfcmVh ZCArPSBidWZ1c2FnZS5sb2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19y ZWFkOworCXJlcG9ydC0+dG90YWxfYmxrc19oaXQgKz0gYnVmdXNhZ2UubG9jYWxfYmxrc19o aXQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19oaXQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2Rp cnRpZWQgKz0gYnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hhcmVk X2Jsa3NfZGlydGllZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiArPSBidWZ1c2Fn ZS5zaGFyZWRfYmxrc193cml0dGVuOwogCi0JcmVwb3J0LT53YWxfcmVjb3JkcyA9IHdhbHVz YWdlLndhbF9yZWNvcmRzOwotCXJlcG9ydC0+d2FsX2ZwaSA9IHdhbHVzYWdlLndhbF9mcGk7 Ci0JcmVwb3J0LT53YWxfYnl0ZXMgPSB3YWx1c2FnZS53YWxfYnl0ZXM7CisJcmVwb3J0LT53 YWxfcmVjb3JkcyArPSB3YWx1c2FnZS53YWxfcmVjb3JkczsKKwlyZXBvcnQtPndhbF9mcGkg Kz0gd2FsdXNhZ2Uud2FsX2ZwaTsKKwlyZXBvcnQtPndhbF9ieXRlcyArPSB3YWx1c2FnZS53 YWxfYnl0ZXM7CiAKLQlyZXBvcnQtPmJsa19yZWFkX3RpbWUgPSBJTlNUUl9USU1FX0dFVF9N SUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfcmVhZF90aW1lKTsKKwlyZXBvcnQtPmJsa19y ZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9jYWxfYmxr X3JlYWRfdGltZSk7CiAJcmVwb3J0LT5ibGtfcmVhZF90aW1lICs9IElOU1RSX1RJTUVfR0VU X01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfcmVhZF90aW1lKTsKLQlyZXBvcnQtPmJs a193cml0ZV90aW1lID0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9jYWxf YmxrX3dyaXRlX3RpbWUpOwotCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUgPSBJTlNUUl9USU1F X0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3dyaXRlX3RpbWUpOwotCXJlcG9y dC0+ZGVsYXlfdGltZSA9IFZhY3V1bURlbGF5VGltZSAtIGNvdW50ZXJzLT5WYWN1dW1EZWxh eVRpbWU7CisJcmVwb3J0LT5ibGtfd3JpdGVfdGltZSArPSBJTlNUUl9USU1FX0dFVF9NSUxM SVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfd3JpdGVfdGltZSk7CisJcmVwb3J0LT5ibGtfd3Jp dGVfdGltZSArPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxr X3dyaXRlX3RpbWUpOworCXJlcG9ydC0+ZGVsYXlfdGltZSArPSBWYWN1dW1EZWxheVRpbWUg LSBjb3VudGVycy0+VmFjdXVtRGVsYXlUaW1lOwogCi0JcmVwb3J0LT50b3RhbF90aW1lID0g c2VjcyAqIDEwMDAuICsgdXNlY3MgLyAxMDAwLjsKKwlyZXBvcnQtPnRvdGFsX3RpbWUgKz0g c2VjcyAqIDEwMDAuICsgdXNlY3MgLyAxMDAwLjsKIAogCWlmICghcmVsLT5wZ3N0YXRfaW5m byB8fCAhcGdzdGF0X3RyYWNrX2NvdW50cykKIAkJLyoKQEAgLTU4NSwxMiArNTczLDEzMSBA QCBleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKmNv dW50ZXJzLAogCQkgKi8KIAkJcmV0dXJuOwogCi0JcmVwb3J0LT5ibGtzX2ZldGNoZWQgPQor CXJlcG9ydC0+Ymxrc19mZXRjaGVkICs9CiAJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5i bG9ja3NfZmV0Y2hlZCAtIGNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZDsKLQlyZXBvcnQtPmJs a3NfaGl0ID0KKwlyZXBvcnQtPmJsa3NfaGl0ICs9CiAJCXJlbC0+cGdzdGF0X2luZm8tPmNv dW50cy5ibG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7CiB9CiAKK3ZvaWQKK2V4 dHZhY19zdGF0c19zdGFydF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKnN0YXRzLAorCQkJCQkgICBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMpCit7 CisJaWYoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJ LyogU2V0IGluaXRpYWwgdmFsdWVzIGZvciBjb21tb24gaGVhcCBhbmQgaW5kZXggc3RhdGlz dGljcyovCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmNvdW50ZXJzLT5jb21tb24pOwor CWNvdW50ZXJzLT5wYWdlc19kZWxldGVkID0gY291bnRlcnMtPnR1cGxlc19yZW1vdmVkID0g MDsKKworCWlmIChzdGF0cyAhPSBOVUxMKQorCXsKKwkJLyoKKwkJICogWFhYOiBXaHkgZG8g d2UgbmVlZCB0aGlzIGNvZGUgaGVyZT8gSWYgaXQgaXMgbmVlZGVkLCBJIGZlZWwgbGFjayBv ZgorCQkgKiBjb21tZW50cywgZGVzY3JpYmluZyB0aGUgcmVhc29uLgorCQkgKi8KKwkJY291 bnRlcnMtPnR1cGxlc19yZW1vdmVkID0gc3RhdHMtPnR1cGxlc19yZW1vdmVkOworCQljb3Vu dGVycy0+cGFnZXNfZGVsZXRlZCA9IHN0YXRzLT5wYWdlc19kZWxldGVkOworCX0KK30KKwor dm9pZAorZXh0dmFjX3N0YXRzX2VuZF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxl dGVSZXN1bHQgKnN0YXRzLAorCQkJCQkgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJz LCBFeHRWYWNSZXBvcnQgKnJlcG9ydCkKK3sKKwltZW1zZXQocmVwb3J0LCAwLCBzaXplb2Yo RXh0VmFjUmVwb3J0KSk7CisKKwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmNvdW50ZXJzLT5j b21tb24sIHJlcG9ydCk7CisJcmVwb3J0LT50eXBlID0gUEdTVEFUX0VYVFZBQ19JTkRFWDsK KworCWlmIChzdGF0cyAhPSBOVUxMKQorCXsKKwkJLyoKKwkJICogaWYgc29tZXRoaW5nIGdv ZXMgd3Jvbmcgb3IgYW4gdXNlciBkb2Vzbid0IHdhbnQgdG8gdHJhY2sgYSBkYXRhYmFzZQor CQkgKiBhY3Rpdml0eSAtIGp1c3Qgc3VwcHJlc3MgaXQuCisJCSAqLworCisJCS8qIEZpbGwg aW5kZXgtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCisJCXJlcG9ydC0+dHVw bGVzX2RlbGV0ZWQgPQorCQkJCQkJCXN0YXRzLT50dXBsZXNfcmVtb3ZlZCAtIGNvdW50ZXJz LT50dXBsZXNfcmVtb3ZlZDsKKwkJcmVwb3J0LT5pbmRleC5wYWdlc19kZWxldGVkID0KKwkJ CQkJCQlzdGF0cy0+cGFnZXNfZGVsZXRlZCAtIGNvdW50ZXJzLT5wYWdlc19kZWxldGVkOwor CX0KK30KKworLyogQWNjdW11bGF0ZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgaGVhcC4KKyAq CisgICogQmVjYXVzZSBvZiBjb21wbGV4aXR5IG9mIHZhY3V1bSBwcm9jZXNzaW5nOiBpdCBz d2l0Y2ggcHJvY2VzaW5nIGJldHdlZW4KKyAgKiB0aGUgaGVhcCByZWxhdGlvbiB0byBpbmRl eCByZWxhdGlvbnMgYW5kIHZpc2EgdmVyc2EsIHdlIG5lZWQgdG8gc3RvcmUKKyAgKiBnYXRo ZXJlZCBzdGF0aXN0aWNzIGluZm9ybWF0aW9uIGZvciBoZWFwIHJlbGF0aW9ucyBzZXZlcmFs IHRpbWVzIGJlZm9yZQorICAqIHRoZSB2YWN1dW0gc3RhcnRzIHByb2Nlc3NpbmcgdGhlIGlu ZGV4ZXMgYWdhaW4uCisgICoKKyAgKiBJdCBpcyBuZWNlc3NhcnkgdG8gZ2F0aGVyIGNvcnJl Y3Qgc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBmb3IgaGVhcCBhbmQgaW5kZXhlcworICAqIG90 aGVyd2ljZSB0aGUgaW5kZXggc3RhdGlzdGljcyBpbmZvcm1hdGlvbiB3b3VsZCBiZSBhZGRl ZCB0byBoaXMgcGFyZW50IGhlYXAKKyAgKiBzdGF0aXN0aWNzIGluZm9ybWF0aW9uIGFuZCBp dCB3b3VsZCBiZSBkaWZmaWN1bHQgdG8gYW5hbHl6ZSBpdCBsYXRlci4KKyAgKgorICAqIFdl IGNhbid0IHN1YnRyYWN0IHVuaW9uIHZhY3V1bSBzdGF0aXN0aWNzIGluZm9ybWF0aW9uIGZv ciBpbmRleCBmcm9tIHRoZSBoZWFwIHJlbGF0aW9ucworICAqIGJlY2F1c2Ugb2YgdG90YWwg YW5kIGRlbGF5IHRpbWUgdGltZSBzdGF0aXN0aWNzIGNvbGxlY3RpbmcgZHVyaW5nIHBhcmFs bGVsIHZhY3V1bQorICAqIHByb2N1ZHVyZS4KKyovCitzdGF0aWMgdm9pZAorYWNjdW11bGF0 ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwgRXh0VmFjUmVw b3J0ICpleHRWYWNTdGF0cykKK3sKKwlpZiAoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlz dGljcykKKwkJcmV0dXJuOworCisJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0 YXRzIGZpZWxkcyAqLworCWV4dFZhY1N0YXRzLT50eXBlID0gUEdTVEFUX0VYVFZBQ19UQUJM RTsKKwlleHRWYWNTdGF0cy0+dGFibGUucGFnZXNfc2Nhbm5lZCA9IHZhY3JlbC0+c2Nhbm5l ZF9wYWdlczsKKwlleHRWYWNTdGF0cy0+dGFibGUucGFnZXNfcmVtb3ZlZCA9IHZhY3JlbC0+ cmVtb3ZlZF9wYWdlczsKKwlleHRWYWNTdGF0cy0+dGFibGUudm1fbmV3X2Zyb3plbl9wYWdl cyA9IHZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdlczsKKwlleHRWYWNTdGF0cy0+dGFibGUu dm1fbmV3X3Zpc2libGVfcGFnZXMgPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX3BhZ2VzOwor CWV4dFZhY1N0YXRzLT50YWJsZS52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPSB2YWNy ZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsKKwlleHRWYWNTdGF0cy0+dHVwbGVz X2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOworCWV4dFZhY1N0YXRzLT50YWJs ZS50dXBsZXNfZnJvemVuID0gdmFjcmVsLT50dXBsZXNfZnJvemVuOworCWV4dFZhY1N0YXRz LT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90 dXBsZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFj cmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlczsKKwlleHRWYWNTdGF0cy0+dGFibGUubWlzc2Vk X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7CisJZXh0VmFjU3Rh dHMtPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdl czsKKwlleHRWYWNTdGF0cy0+dGFibGUuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5u dW1faW5kZXhfc2NhbnM7CisJZXh0VmFjU3RhdHMtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNh ZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CisKKwlleHRW YWNTdGF0cy0+YmxrX3JlYWRfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5ibGtf cmVhZF90aW1lOworCWV4dFZhY1N0YXRzLT5ibGtfd3JpdGVfdGltZSAtPSB2YWNyZWwtPmV4 dFZhY1JlcG9ydElkeC5ibGtfd3JpdGVfdGltZTsKKwlleHRWYWNTdGF0cy0+dG90YWxfYmxr c19kaXJ0aWVkIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LnRvdGFsX2Jsa3NfZGlydGll ZDsKKwlleHRWYWNTdGF0cy0+dG90YWxfYmxrc19oaXQgLT0gdmFjcmVsLT5leHRWYWNSZXBv cnRJZHgudG90YWxfYmxrc19oaXQ7CisJZXh0VmFjU3RhdHMtPnRvdGFsX2Jsa3NfcmVhZCAt PSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX3JlYWQ7CisJZXh0VmFjU3Rh dHMtPnRvdGFsX2Jsa3Nfd3JpdHRlbiAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3Rh bF9ibGtzX3dyaXR0ZW47CisJZXh0VmFjU3RhdHMtPndhbF9ieXRlcyAtPSB2YWNyZWwtPmV4 dFZhY1JlcG9ydElkeC53YWxfYnl0ZXM7CisJZXh0VmFjU3RhdHMtPndhbF9mcGkgLT0gdmFj cmVsLT5leHRWYWNSZXBvcnRJZHgud2FsX2ZwaTsKKwlleHRWYWNTdGF0cy0+d2FsX3JlY29y ZHMgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgud2FsX3JlY29yZHM7CisKKwlleHRWYWNT dGF0cy0+dG90YWxfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF90aW1l OworCWV4dFZhY1N0YXRzLT5kZWxheV90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4 LmRlbGF5X3RpbWU7CisKK30KKworc3RhdGljIHZvaWQKK2FjY3VtdWxhdGVfaWR4c192YWN1 dW1fc3RhdGlzdGljcyhMVlJlbFN0YXRlICp2YWNyZWwsIEV4dFZhY1JlcG9ydCAqZXh0VmFj SWR4U3RhdHMpCit7CisJaWYgKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJ CXJldHVybjsKKworCS8qIEZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVs ZHMgKi8KKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5ibGtfcmVhZF90aW1lICs9IGV4dFZh Y0lkeFN0YXRzLT5ibGtfcmVhZF90aW1lOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmJs a193cml0ZV90aW1lICs9IGV4dFZhY0lkeFN0YXRzLT5ibGtfd3JpdGVfdGltZTsKKwl2YWNy ZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX2RpcnRpZWQgKz0gZXh0VmFjSWR4U3Rh dHMtPnRvdGFsX2Jsa3NfZGlydGllZDsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3Rh bF9ibGtzX2hpdCArPSBleHRWYWNJZHhTdGF0cy0+dG90YWxfYmxrc19oaXQ7CisJdmFjcmVs LT5leHRWYWNSZXBvcnRJZHgudG90YWxfYmxrc19yZWFkICs9IGV4dFZhY0lkeFN0YXRzLT50 b3RhbF9ibGtzX3JlYWQ7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfYmxrc193 cml0dGVuICs9IGV4dFZhY0lkeFN0YXRzLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJdmFjcmVs LT5leHRWYWNSZXBvcnRJZHgud2FsX2J5dGVzICs9IGV4dFZhY0lkeFN0YXRzLT53YWxfYnl0 ZXM7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgud2FsX2ZwaSArPSBleHRWYWNJZHhTdGF0 cy0+d2FsX2ZwaTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC53YWxfcmVjb3JkcyArPSBl eHRWYWNJZHhTdGF0cy0+d2FsX3JlY29yZHM7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu ZGVsYXlfdGltZSArPSBleHRWYWNJZHhTdGF0cy0+ZGVsYXlfdGltZTsKKworCXZhY3JlbC0+ ZXh0VmFjUmVwb3J0SWR4LnRvdGFsX3RpbWUgKz0gZXh0VmFjSWR4U3RhdHMtPnRvdGFsX3Rp bWU7Cit9CisKIAogLyoKICAqIEhlbHBlciB0byBzZXQgdXAgdGhlIGVhZ2VyIHNjYW5uaW5n IHN0YXRlIGZvciB2YWN1dW1pbmcgYSBzaW5nbGUgcmVsYXRpb24uCkBAIC03NTAsMTEgKzg1 Nyw5IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFy YW1zLAogCUxWRXh0U3RhdENvdW50ZXJzIGV4dFZhY0NvdW50ZXJzOwogCUV4dFZhY1JlcG9y dCBleHRWYWNSZXBvcnQ7CiAJY2hhcgkgICoqaW5kbmFtZXMgPSBOVUxMOwotCUV4dFZhY1Jl cG9ydCBhbGx6ZXJvOwogCiAJLyogSW5pdGlhbGl6ZSB2YWN1dW0gc3RhdGlzdGljcyAqLwot CW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwotCWV4dFZhY1Jl cG9ydCA9IGFsbHplcm87CisJbWVtc2V0KCZleHRWYWNSZXBvcnQsIDAsIHNpemVvZihFeHRW YWNSZXBvcnQpKTsKIAogCXZlcmJvc2UgPSAocGFyYW1zLT5vcHRpb25zICYgVkFDT1BUX1ZF UkJPU0UpICE9IDA7CiAJaW5zdHJ1bWVudCA9ICh2ZXJib3NlIHx8IChBbUF1dG9WYWN1dW1X b3JrZXJQcm9jZXNzKCkgJiYKQEAgLTgwMCw2ICs5MDUsOCBAQCBoZWFwX3ZhY3V1bV9yZWwo UmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAllcnJjYWxsYmFjay5wcmV2 aW91cyA9IGVycm9yX2NvbnRleHRfc3RhY2s7CiAJZXJyb3JfY29udGV4dF9zdGFjayA9ICZl cnJjYWxsYmFjazsKIAorCW1lbXNldCgmdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgsIDAsIHNp emVvZihFeHRWYWNSZXBvcnQpKTsKKwogCS8qIFNldCB1cCBoaWdoIGxldmVsIHN0dWZmIGFi b3V0IHJlbCBhbmQgaXRzIGluZGV4ZXMgKi8KIAl2YWNyZWwtPnJlbCA9IHJlbDsKIAl2YWNf b3Blbl9pbmRleGVzKHZhY3JlbC0+cmVsLCBSb3dFeGNsdXNpdmVMb2NrLCAmdmFjcmVsLT5u aW5kZXhlcywKQEAgLTEwNTEsMjMgKzExNTgsNiBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRp b24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5k ZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCAqLwogCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0 VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOwogCi0JaWYocGdzdGF0X3RyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzKQotCXsKLQkJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0 YXRzIGZpZWxkcyAqLwotCQlleHRWYWNSZXBvcnQucGFnZXNfc2Nhbm5lZCA9IHZhY3JlbC0+ c2Nhbm5lZF9wYWdlczsKLQkJZXh0VmFjUmVwb3J0LnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwt PnJlbW92ZWRfcGFnZXM7Ci0JCWV4dFZhY1JlcG9ydC52bV9uZXdfZnJvemVuX3BhZ2VzID0g dmFjcmVsLT52bV9uZXdfZnJvemVuX3BhZ2VzOwotCQlleHRWYWNSZXBvcnQudm1fbmV3X3Zp c2libGVfcGFnZXMgPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX3BhZ2VzOwotCQlleHRWYWNS ZXBvcnQudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gdmFjcmVsLT52bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXM7Ci0JCWV4dFZhY1JlcG9ydC50dXBsZXNfZGVsZXRlZCA9IHZh Y3JlbC0+dHVwbGVzX2RlbGV0ZWQ7Ci0JCWV4dFZhY1JlcG9ydC50dXBsZXNfZnJvemVuID0g dmFjcmVsLT50dXBsZXNfZnJvemVuOwotCQlleHRWYWNSZXBvcnQucmVjZW50bHlfZGVhZF90 dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzOwotCQlleHRWYWNSZXBvcnQu bWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7Ci0JCWV4 dFZhY1JlcG9ydC5taXNzZWRfZGVhZF9wYWdlcyA9IHZhY3JlbC0+bWlzc2VkX2RlYWRfcGFn ZXM7Ci0JCWV4dFZhY1JlcG9ydC5pbmRleF92YWN1dW1fY291bnQgPSB2YWNyZWwtPm51bV9p bmRleF9zY2FuczsKLQkJZXh0VmFjUmVwb3J0LndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQg PSB2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7Ci0JfQotCiAJLyoKIAkgKiBS ZXBvcnQgcmVzdWx0cyB0byB0aGUgY3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KIAkg KgpAQCAtMTA3OCwxMyArMTE2OCwzNCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVs LCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkgKiBzb29uIGluIGNhc2VzIHdoZXJlIHRoZSBm YWlsc2FmZSBwcmV2ZW50ZWQgc2lnbmlmaWNhbnQgYW1vdW50cyBvZiBoZWFwCiAJICogdmFj dXVtaW5nLgogCSAqLwotCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQo cmVsKSwKKwlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJeworCQkvKiBN YWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBhbmQKKwkJICogZmls bCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcy4KKwkJICovCisJCWV4dHZh Y19zdGF0c19lbmQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9y dCk7CisJCWFjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcyh2YWNyZWwsICZleHRW YWNSZXBvcnQpOworCisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQo cmVsKSwKIAkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCiAJCQkJCQkgTWF4KHZh Y3JlbC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKIAkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2Rl YWRfdHVwbGVzICsKLQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKKyAJCQkJ CQkgdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXMsCiAJCQkJCQkgc3RhcnR0aW1lLAogCQkJ CQkJICZleHRWYWNSZXBvcnQpOworCisJfQorCWVsc2UKKwl7CisJCXBnc3RhdF9yZXBvcnRf dmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKKwkJCQkJCQkgcmVsLT5yZF9yZWwtPnJl bGlzc2hhcmVkLAorCQkJCQkJCSBNYXgodmFjcmVsLT5uZXdfbGl2ZV90dXBsZXMsIDApLAor CQkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsKKwkJCQkJCQkgdmFjcmVs LT5taXNzZWRfZGVhZF90dXBsZXMsCisJCQkJCQkJIHN0YXJ0dGltZSwKKwkJCQkJCQkgTlVM TCk7CisJfQorCiAJcGdzdGF0X3Byb2dyZXNzX2VuZF9jb21tYW5kKCk7CiAKIAlpZiAoaW5z dHJ1bWVudCkKQEAgLTI3ODEsMTAgKzI4OTIsMjAgQEAgbGF6eV92YWN1dW1fYWxsX2luZGV4 ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCX0KIAllbHNlCiAJeworCQlMVkV4dFN0YXRDb3Vu dGVycyBjb3VudGVyczsKKwkJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKworCQltZW1z ZXQoJmV4dFZhY1JlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCisJCWV4dHZh Y19zdGF0c19zdGFydCh2YWNyZWwtPnJlbCwgJmNvdW50ZXJzKTsKKwogCQkvKiBPdXRzb3Vy Y2UgZXZlcnl0aGluZyB0byBwYXJhbGxlbCB2YXJpYW50ICovCiAJCXBhcmFsbGVsX3ZhY3V1 bV9idWxrZGVsX2FsbF9pbmRleGVzKHZhY3JlbC0+cHZzLCBvbGRfbGl2ZV90dXBsZXMsCiAJ CQkJCQkJCQkJCXZhY3JlbC0+bnVtX2luZGV4X3NjYW5zKTsKIAorCQlleHR2YWNfc3RhdHNf ZW5kKHZhY3JlbC0+cmVsLCAmY291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCQlhY2N1bXVs YXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFjcmVsLCAmZXh0VmFjUmVwb3J0KTsKKwog CQkvKgogCQkgKiBEbyBhIHBvc3RjaGVjayB0byBjb25zaWRlciBhcHBseWluZyB3cmFwYXJv dW5kIGZhaWxzYWZlIG5vdy4gIE5vdGUKIAkJICogdGhhdCBwYXJhbGxlbCBWQUNVVU0gb25s eSBnZXRzIHRoZSBwcmVjaGVjayBhbmQgdGhpcyBwb3N0Y2hlY2suCkBAIC0zMjA1LDEwICsz MzI2LDIwIEBAIGxhenlfY2xlYW51cF9hbGxfaW5kZXhlcyhMVlJlbFN0YXRlICp2YWNyZWwp CiAJfQogCWVsc2UKIAl7CisJCUxWRXh0U3RhdENvdW50ZXJzIGNvdW50ZXJzOworCQlFeHRW YWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCisJCW1lbXNldCgmZXh0VmFjUmVwb3J0LCAwLCBz aXplb2YoRXh0VmFjUmVwb3J0KSk7CisKKwkJZXh0dmFjX3N0YXRzX3N0YXJ0KHZhY3JlbC0+ cmVsLCAmY291bnRlcnMpOworCiAJCS8qIE91dHNvdXJjZSBldmVyeXRoaW5nIHRvIHBhcmFs bGVsIHZhcmlhbnQgKi8KIAkJcGFyYWxsZWxfdmFjdXVtX2NsZWFudXBfYWxsX2luZGV4ZXMo dmFjcmVsLT5wdnMsIHJlbHR1cGxlcywKIAkJCQkJCQkJCQkJdmFjcmVsLT5udW1faW5kZXhf c2NhbnMsCiAJCQkJCQkJCQkJCWVzdGltYXRlZF9jb3VudCk7CisKKwkJZXh0dmFjX3N0YXRz X2VuZCh2YWNyZWwtPnJlbCwgJmNvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwkJYWNjdW11 bGF0ZV9pZHhzX3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CiAJ fQogCiAJLyogUmVzZXQgdGhlIHByb2dyZXNzIGNvdW50ZXJzICovCkBAIC0zMjM0LDYgKzMz NjUsMTEgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhC dWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIHsKIAlJbmRleFZhY3V1bUluZm8gaXZpbmZvOwog CUxWU2F2ZWRFcnJJbmZvIHNhdmVkX2Vycl9pbmZvOworCUxWRXh0U3RhdENvdW50ZXJzSWR4 IGV4dFZhY0NvdW50ZXJzOworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CisKKwkvKiBT ZXQgaW5pdGlhbCBzdGF0aXN0aWNzIHZhbHVlcyB0byBnYXRoZXIgdmFjdXVtIHN0YXRpc3Rp Y3MgZm9yIHRoZSBpbmRleCAqLworCWV4dHZhY19zdGF0c19zdGFydF9pZHgoaW5kcmVsLCBp c3RhdCwgJmV4dFZhY0NvdW50ZXJzKTsKIAogCWl2aW5mby5pbmRleCA9IGluZHJlbDsKIAlp dmluZm8uaGVhcHJlbCA9IHZhY3JlbC0+cmVsOwpAQCAtMzI1Miw2ICszMzg4LDcgQEAgbGF6 eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVz dWx0ICppc3RhdCwKIAkgKi8KIAlBc3NlcnQodmFjcmVsLT5pbmRuYW1lID09IE5VTEwpOwog CXZhY3JlbC0+aW5kbmFtZSA9IHBzdHJkdXAoUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUoaW5k cmVsKSk7CisJdmFjcmVsLT5pbmRvaWQgPSBSZWxhdGlvbkdldFJlbGlkKGluZHJlbCk7CiAJ dXBkYXRlX3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvLAogCQkJ CQkJCSBWQUNVVU1fRVJSQ0JfUEhBU0VfVkFDVVVNX0lOREVYLAogCQkJCQkJCSBJbnZhbGlk QmxvY2tOdW1iZXIsIEludmFsaWRPZmZzZXROdW1iZXIpOwpAQCAtMzI2MCw2ICszMzk3LDE5 IEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0Rl bGV0ZVJlc3VsdCAqaXN0YXQsCiAJaXN0YXQgPSB2YWNfYnVsa2RlbF9vbmVfaW5kZXgoJml2 aW5mbywgaXN0YXQsIHZhY3JlbC0+ZGVhZF9pdGVtcywKIAkJCQkJCQkJICB2YWNyZWwtPmRl YWRfaXRlbXNfaW5mbyk7CiAKKwlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3Mp CisJeworCQkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4 ICovCisJCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3Vu dGVycywgJmV4dFZhY1JlcG9ydCk7CisKKwkJaWYgKCFQYXJhbGxlbFZhY3V1bUlzQWN0aXZl KHZhY3JlbCkpCisJCQlhY2N1bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFjcmVs LCAmZXh0VmFjUmVwb3J0KTsKKworCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdl dFJlbGlkKGluZHJlbCksCisJCQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwK KwkJCQkJCQkJMCwgMCwgMCwgJmV4dFZhY1JlcG9ydCk7CisJfQorCiAJLyogUmV2ZXJ0IHRv IHRoZSBwcmV2aW91cyBwaGFzZSBpbmZvcm1hdGlvbiBmb3IgZXJyb3IgdHJhY2ViYWNrICov CiAJcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbyk7 CiAJcGZyZWUodmFjcmVsLT5pbmRuYW1lKTsKQEAgLTMyODQsNiArMzQzNCwxMSBAQCBsYXp5 X2NsZWFudXBfb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVz dWx0ICppc3RhdCwKIHsKIAlJbmRleFZhY3V1bUluZm8gaXZpbmZvOwogCUxWU2F2ZWRFcnJJ bmZvIHNhdmVkX2Vycl9pbmZvOworCUxWRXh0U3RhdENvdW50ZXJzSWR4IGV4dFZhY0NvdW50 ZXJzOworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CisKKwkvKiBTZXQgaW5pdGlhbCBz dGF0aXN0aWNzIHZhbHVlcyB0byBnYXRoZXIgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBp bmRleCAqLworCWV4dHZhY19zdGF0c19zdGFydF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZh Y0NvdW50ZXJzKTsKIAogCWl2aW5mby5pbmRleCA9IGluZHJlbDsKIAlpdmluZm8uaGVhcHJl bCA9IHZhY3JlbC0+cmVsOwpAQCAtMzMwMywxMiArMzQ1OCwyNSBAQCBsYXp5X2NsZWFudXBf b25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3Rh dCwKIAkgKi8KIAlBc3NlcnQodmFjcmVsLT5pbmRuYW1lID09IE5VTEwpOwogCXZhY3JlbC0+ aW5kbmFtZSA9IHBzdHJkdXAoUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUoaW5kcmVsKSk7CisJ dmFjcmVsLT5pbmRvaWQgPSBSZWxhdGlvbkdldFJlbGlkKGluZHJlbCk7CiAJdXBkYXRlX3Zh Y3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvLAogCQkJCQkJCSBWQUNV VU1fRVJSQ0JfUEhBU0VfSU5ERVhfQ0xFQU5VUCwKIAkJCQkJCQkgSW52YWxpZEJsb2NrTnVt YmVyLCBJbnZhbGlkT2Zmc2V0TnVtYmVyKTsKIAogCWlzdGF0ID0gdmFjX2NsZWFudXBfb25l X2luZGV4KCZpdmluZm8sIGlzdGF0KTsKIAorCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3Rh dGlzdGljcykKKwl7CisJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBm b3IgaW5kZXggKi8KKwkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4 dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwkJaWYgKCFQYXJhbGxlbFZhY3V1bUlz QWN0aXZlKHZhY3JlbCkpCisJCQlhY2N1bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3Mo dmFjcmVsLCAmZXh0VmFjUmVwb3J0KTsKKworCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxh dGlvbkdldFJlbGlkKGluZHJlbCksCisJCQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3No YXJlZCwKKwkJCQkJCQkJMCwgMCwgMCwgJmV4dFZhY1JlcG9ydCk7CisJfQorCiAJLyogUmV2 ZXJ0IHRvIHRoZSBwcmV2aW91cyBwaGFzZSBpbmZvcm1hdGlvbiBmb3IgZXJyb3IgdHJhY2Vi YWNrICovCiAJcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJf aW5mbyk7CiAJcGZyZWUodmFjcmVsLT5pbmRuYW1lKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbAppbmRleCA0N2QyNzMxNGI1NS4uODNkNTVlNzg2MDYgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFj a2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTE0NTcsMyArMTQ1NywzNSBAQCBG Uk9NIHBnX2NsYXNzIHJlbAogICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSBy ZWwucmVsbmFtZXNwYWNlLAogICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMo cmVsLm9pZCkgc3RhdHMKIFdIRVJFIHJlbC5yZWxraW5kID0gJ3InOworCitDUkVBVEUgVklF VyBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIEFTCitTRUxFQ1QKKyAgcmVsLm9pZCBhcyByZWxp ZCwKKyAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAorICByZWwucmVsbmFtZSBBUyByZWxu YW1lLAorCisgIHRvdGFsX2Jsa3NfcmVhZCBBUyB0b3RhbF9ibGtzX3JlYWQsCisgIHRvdGFs X2Jsa3NfaGl0IEFTIHRvdGFsX2Jsa3NfaGl0LAorICB0b3RhbF9ibGtzX2RpcnRpZWQgQVMg dG90YWxfYmxrc19kaXJ0aWVkLAorICB0b3RhbF9ibGtzX3dyaXR0ZW4gQVMgdG90YWxfYmxr c193cml0dGVuLAorCisgIHJlbF9ibGtzX3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgcmVs X2Jsa3NfaGl0IEFTIHJlbF9ibGtzX2hpdCwKKworICBwYWdlc19kZWxldGVkIEFTIHBhZ2Vz X2RlbGV0ZWQsCisgIHR1cGxlc19kZWxldGVkIEFTIHR1cGxlc19kZWxldGVkLAorCisgIHdh bF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAorICB3YWxfZnBpIEFTIHdhbF9mcGksCisgIHdh bF9ieXRlcyBBUyB3YWxfYnl0ZXMsCisKKyAgYmxrX3JlYWRfdGltZSBBUyBibGtfcmVhZF90 aW1lLAorICBibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGltZSwKKworICBkZWxheV90 aW1lIEFTIGRlbGF5X3RpbWUsCisgIHRvdGFsX3RpbWUgQVMgdG90YWxfdGltZQorRlJPTQor ICBwZ19jbGFzcyByZWwKKyAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVs LnJlbG5hbWVzcGFjZSwKKyAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhy ZWwub2lkKSBzdGF0cworV0hFUkUgcmVsLnJlbGtpbmQgPSAnaSc7ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVt cGFyYWxsZWwuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5k ZXggMmI1NWQ5YjdjMGUuLjY1ZGU0NWE0NDQ3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Zh Y3V1bXBhcmFsbGVsLmMKQEAgLTg2OCw2ICs4NjgsOCBAQCBwYXJhbGxlbF92YWN1dW1fcHJv Y2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRy ZWwsCiAJSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCA9IE5VTEw7CiAJSW5kZXhCdWxr RGVsZXRlUmVzdWx0ICppc3RhdF9yZXM7CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsKKwlM VkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0 VmFjUmVwb3J0OwogCiAJLyoKIAkgKiBVcGRhdGUgdGhlIHBvaW50ZXIgdG8gdGhlIGNvcnJl c3BvbmRpbmcgYnVsay1kZWxldGlvbiByZXN1bHQgaWYgc29tZW9uZQpAQCAtODc2LDYgKzg3 OCw5IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1 bVN0YXRlICpwdnMsIFJlbGF0aW9uIGluZHJlbCwKIAlpZiAoaW5kc3RhdHMtPmlzdGF0X3Vw ZGF0ZWQpCiAJCWlzdGF0ID0gJihpbmRzdGF0cy0+aXN0YXQpOwogCisJLyogU2V0IGluaXRp YWwgc3RhdGlzdGljcyB2YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0 aGUgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgJihpbmRzdGF0 cy0+aXN0YXQpLCAmZXh0VmFjQ291bnRlcnMpOworCiAJaXZpbmZvLmluZGV4ID0gaW5kcmVs OwogCWl2aW5mby5oZWFwcmVsID0gcHZzLT5oZWFwcmVsOwogCWl2aW5mby5hbmFseXplX29u bHkgPSBmYWxzZTsKQEAgLTkwNCw2ICs5MDksMTUgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nl c3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVs LAogCQkJCSBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRyZWwpKTsKIAl9CiAKKwlpZihw Z3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJeworCQkvKiBNYWtlIGV4dGVuZGVk IHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCisJCWV4dHZhY19zdGF0c19lbmRf aWR4KGluZHJlbCwgaXN0YXRfcmVzLCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQp OworCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKGluZHJlbCksCisJ CQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKKwkJCQkJCQkJMCwgMCwgMCwg JmV4dFZhY1JlcG9ydCk7CisJfQorCiAJLyoKIAkgKiBDb3B5IHRoZSBpbmRleCBidWxrLWRl bGV0aW9uIHJlc3VsdCByZXR1cm5lZCBmcm9tIGFtYnVsa2RlbGV0ZSBhbmQKIAkgKiBhbXZh Y3V1bWNsZWFudXAgdG8gdGhlIERTTSBzZWdtZW50IGlmIGl0J3MgdGhlIGZpcnN0IGN5Y2xl IGJlY2F1c2UgdGhleQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwppbmRleCAy M2NiNjJlMzZhNy4uZjVmNzVhYTQyNjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdC5jCkBAIC0xMTc2LDYgKzExNzYsMTAgQEAgcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBn U3RhdF9LaW5kIHN0YXRLaW5kKQogCQlpZiAocC0+ZHJvcHBlZCkKIAkJCWNvbnRpbnVlOwog CisJCWlmIChzdGF0S2luZCAhPSBQR1NUQVRfS0lORF9JTlZBTElEICYmIHN0YXRLaW5kICE9 IHAtPmtleS5raW5kKQorCQkJLyogTG9hZCBzdGF0IG9mIHNwZWNpZmljIHR5cGUsIGlmIGRl ZmluZWQgKi8KKwkJCWNvbnRpbnVlOworCiAJCUFzc2VydChwZ19hdG9taWNfcmVhZF91MzIo JnAtPnJlZmNvdW50KSA+IDApOwogCiAJCXN0YXRzX2RhdGEgPSBkc2FfZ2V0X2FkZHJlc3Mo cGdTdGF0TG9jYWwuZHNhLCBwLT5ib2R5KTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5kZXggZWUwMzg1Y2Q4MDkuLjllZTAzNTA5NDkw IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRp b24uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24u YwpAQCAtMTAxNiw2ICsxMDE2LDkgQEAgc3RhdGljIHZvaWQKIHBnc3RhdF9hY2N1bXVsYXRl X2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCiAJ CQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKIHsKKwlp ZighcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKIAlkc3Qt PnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsKIAlkc3QtPnRvdGFs X2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CiAJZHN0LT50b3RhbF9ibGtzX2Rp cnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CkBAIC0xMDMxLDIwICsxMDM0LDM1 IEBAIHBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwg RXh0VmFjUmVwb3J0ICpzcmMsCiAJaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNf aW5mbykKIAkJcmV0dXJuOwogCi0JZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2Zl dGNoZWQ7Ci0JZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OwotCi0JZHN0LT5wYWdl c19zY2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKLQlkc3QtPnBhZ2VzX3JlbW92ZWQg Kz0gc3JjLT5wYWdlc19yZW1vdmVkOwotCWRzdC0+dm1fbmV3X2Zyb3plbl9wYWdlcyArPSBz cmMtPnZtX25ld19mcm96ZW5fcGFnZXM7Ci0JZHN0LT52bV9uZXdfdmlzaWJsZV9wYWdlcyAr PSBzcmMtPnZtX25ld192aXNpYmxlX3BhZ2VzOwotCWRzdC0+dm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzICs9IHNyYy0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOwotCWRzdC0+ dHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsKLQlkc3QtPnR1cGxlc19m cm96ZW4gKz0gc3JjLT50dXBsZXNfZnJvemVuOwotCWRzdC0+cmVjZW50bHlfZGVhZF90dXBs ZXMgKz0gc3JjLT5yZWNlbnRseV9kZWFkX3R1cGxlczsKLQlkc3QtPmluZGV4X3ZhY3V1bV9j b3VudCArPSBzcmMtPmluZGV4X3ZhY3V1bV9jb3VudDsKLQlkc3QtPndyYXBhcm91bmRfZmFp bHNhZmVfY291bnQgKz0gc3JjLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OwotCWRzdC0+ bWlzc2VkX2RlYWRfcGFnZXMgKz0gc3JjLT5taXNzZWRfZGVhZF9wYWdlczsKLQlkc3QtPm1p c3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPm1pc3NlZF9kZWFkX3R1cGxlczsKKwlpZiAoZHN0 LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCkKKwkJZHN0LT50eXBlID0gc3JjLT50 eXBlOworCisJQXNzZXJ0KHNyYy0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOVkFMSUQgfHwg c3JjLT50eXBlID09IGRzdC0+dHlwZSk7CisKKwlpZiAoZHN0LT50eXBlID09IHNyYy0+dHlw ZSkKKwl7CisJCWRzdC0+Ymxrc19mZXRjaGVkICs9IHNyYy0+Ymxrc19mZXRjaGVkOworCQlk c3QtPmJsa3NfaGl0ICs9IHNyYy0+Ymxrc19oaXQ7CiAKKwkJaWYgKGRzdC0+dHlwZSA9PSBQ R1NUQVRfRVhUVkFDX1RBQkxFKQorCQl7CisJCQlkc3QtPnRhYmxlLnBhZ2VzX3NjYW5uZWQg Kz0gc3JjLT50YWJsZS5wYWdlc19zY2FubmVkOworCQkJZHN0LT50YWJsZS5wYWdlc19yZW1v dmVkICs9IHNyYy0+dGFibGUucGFnZXNfcmVtb3ZlZDsKKwkJCWRzdC0+dGFibGUudm1fbmV3 X2Zyb3plbl9wYWdlcyArPSBzcmMtPnRhYmxlLnZtX25ld19mcm96ZW5fcGFnZXM7CisJCQlk c3QtPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzICs9IHNyYy0+dGFibGUudm1fbmV3X3Zp c2libGVfcGFnZXM7CisJCQlkc3QtPnRhYmxlLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdl cyArPSBzcmMtPnRhYmxlLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsKKwkJCWRzdC0+ dHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsKKwkJCWRzdC0+dGFibGUu dHVwbGVzX2Zyb3plbiArPSBzcmMtPnRhYmxlLnR1cGxlc19mcm96ZW47CisJCQlkc3QtPnRh YmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzICs9IHNyYy0+dGFibGUucmVjZW50bHlfZGVhZF90 dXBsZXM7CisJCQlkc3QtPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPnRhYmxl LmluZGV4X3ZhY3V1bV9jb3VudDsKKwkJCWRzdC0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXMg Kz0gc3JjLT50YWJsZS5taXNzZWRfZGVhZF9wYWdlczsKKwkJCWRzdC0+dGFibGUubWlzc2Vk X2RlYWRfdHVwbGVzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzOworCQkJZHN0 LT50YWJsZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNyYy0+dGFibGUud3JhcGFy b3VuZF9mYWlsc2FmZV9jb3VudDsKKwkJfQorCQllbHNlIGlmIChkc3QtPnR5cGUgPT0gUEdT VEFUX0VYVFZBQ19JTkRFWCkKKwkJeworCQkJZHN0LT5pbmRleC5wYWdlc19kZWxldGVkICs9 IHNyYy0+aW5kZXgucGFnZXNfZGVsZXRlZDsKKwkJCWRzdC0+dHVwbGVzX2RlbGV0ZWQgKz0g c3JjLT50dXBsZXNfZGVsZXRlZDsKKwkJfQorCX0KIH0KXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3Mu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IGE1NjEwMTk5 ODkzLi40ODI5MjliNzVlOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bn c3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMK QEAgLTIzNzIsMTggKzIzNzIsMTkgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19G VU5DVElPTl9BUkdTKQogCQkJCQkJCQkJZXh0dmFjdXVtLT5ibGtzX2hpdCk7CiAJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19oaXQpOwogCi0JdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNfc2Nhbm5lZCk7Ci0JdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNfcmVtb3ZlZCk7Ci0J dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dm1fbmV3X2Zyb3plbl9w YWdlcyk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dm1fbmV3 X3Zpc2libGVfcGFnZXMpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+bWlzc2VkX2RlYWRfcGFnZXMpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnBhZ2VzX3NjYW5uZWQpOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnBhZ2VzX3JlbW92 ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnZt X25ld19mcm96ZW5fcGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLm1p c3NlZF9kZWFkX3BhZ2VzKTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT50dXBsZXNfZGVsZXRlZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+dHVwbGVzX2Zyb3plbik7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+cmVjZW50bHlfZGVhZF90dXBsZXMpOwotCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPm1pc3NlZF9kZWFkX3R1cGxlcyk7Ci0JdmFsdWVzW2kr K10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3Vu dCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+aW5kZXhfdmFj dXVtX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50 YWJsZS50dXBsZXNfZnJvemVuKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyk7CisJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzKTsKKwor CXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLndyYXBhcm91 bmRfZmFpbHNhZmVfY291bnQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCk7CiAKIAl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CiAJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CkBAIC0yNDAyLDYgKzI0MDMsMTE2 IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKIAogCUFz c2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyk7CiAKKwkv KiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KKwlQR19SRVRVUk5fREFUVU0oSGVh cFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywgbnVsbHMp KSk7Cit9CisKKy8qCisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaGVh cCB0YWJsZXMuCisgKi8KK0RhdHVtCitwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhQR19G VU5DVElPTl9BUkdTKQoreworCSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NU QVRTX0NPTFMJMTYKKworCU9pZAkJCQkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlQ Z1N0YXRfU3RhdFRhYkVudHJ5ICAgICAqdGFiZW50cnk7CisJRXh0VmFjUmVwb3J0IAkJCSpl eHR2YWN1dW07CisJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOworCURhdHVtCQkJCQkgdmFsdWVz W1BHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTXSA9IHswfTsKKwlib29sCQkJ CQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFNdID0gezB9Owor CWNoYXIJCQkJCSBidWZbMjU2XTsKKwlpbnQJCQkJCQkgaSA9IDA7CisJRXh0VmFjUmVwb3J0 IGFsbHplcm87CisKKwkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMgaW5mb3JtYXRpb24gaW4g dGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KKwl0dXBkZXNjID0gQ3JlYXRlVGVtcGxhdGVUdXBs ZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMpOworCisJVHVwbGVE ZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxpZCIsCisJCQkJ CSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInRvdGFsXyBibGtzX3JlYWQiLAorCQkJCQkgICBJTlQ4T0lELCAt MSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJ0b3RhbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfZGly dGllZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3Nfd3JpdHRlbiIsCisJCQkJ CSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX3JlYWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwg MCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJy ZWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19kZWxldGVkIiwKKwkJ CQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAidHVwbGVzX2RlbGV0ZWQiLAorCQkJCQkgICBJTlQ4T0lELCAt MSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJ3YWxfcmVjb3JkcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9mcGkiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMiLAorCQkJCQkgICBOVU1FUklDT0lELCAtMSwgMCk7 CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJs a19yZWFkX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa193cml0ZV90aW1lIiwK KwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVw ZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRlbGF5X3RpbWUiLAorCQkJCQkgICBGTE9BVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInRvdGFsX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKworCUFz c2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKKworCUJs ZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCisJdGFiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3Rh dF90YWJlbnRyeShyZWxpZCk7CisKKwlpZiAodGFiZW50cnkgPT0gTlVMTCkKKwl7CisJCS8q IElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0 cyAqLworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJ ZXh0dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UKKwl7CisJCWV4dHZhY3V1bSA9ICYo dGFiZW50cnktPnZhY3V1bV9leHQpOworCX0KKworCWkgPSAwOworCisJdmFsdWVzW2krK10g PSBPYmplY3RJZEdldERhdHVtKHJlbGlkKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc193cml0dGVuKTsK KworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfZmV0Y2hl ZCAtCisJCQkJCQkJCQlleHR2YWN1dW0tPmJsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5pbmRleC5wYWdlc19kZWxldGVkKTsKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZGVsZXRlZCk7CisKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkv KiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25w cmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9i eXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4s CisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJ ZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1 ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7CisJ dmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1l KTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGlt ZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3Rp bWUpOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NP TFMpOworCiAJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCiAJUEdfUkVUVVJO X0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1 ZXMsIG51bGxzKSkpOwogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKaW5kZXggMTE1ZjBjNTFjYzIuLjQyZjRjYWM1ZTBl IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwpAQCAtMTUxMCw3ICsxNTEw LDcgQEAgc3RydWN0IGNvbmZpZ19ib29sIENvbmZpZ3VyZU5hbWVzQm9vbFtdID0KIAl9LAog CXsKIAkJeyJ0cmFja192YWN1dW1fc3RhdGlzdGljcyIsIFBHQ19TVVNFVCwgU1RBVFNfQ1VN VUxBVElWRSwKLQkJCWdldHRleHRfbm9vcCgiQ29sbGVjdHMgdmFjdXVtIHN0YXRpc3RpY3Mg Zm9yIHRhYmxlIHJlbGF0aW9ucy4iKSwKKwkJCWdldHRleHRfbm9vcCgiQ29sbGVjdHMgdmFj dXVtIHN0YXRpc3RpY3MgZm9yIHJlbGF0aW9ucy4iKSwKIAkJCU5VTEwKIAkJfSwKIAkJJnBn c3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 CmluZGV4IGMwNGQzODgwMjQxLi44Yzc3YWU5NjEwMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3By b2MuZGF0CkBAIC0xMjU3NCw0ICsxMjU3NCwxMyBAQAogICBwcm9uYW1lID0+ICdwZ19zdGF0 X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycsIHByb3ZvbGF0aWxlID0+ICdzJywKICAgcHJv cGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4g J29pZCcsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMn IH0sCit7IG9pZCA9PiAnODAwNCcsCisgIGRlc2NyID0+ICdwZ19zdGF0X2dldF92YWN1dW1f aW5kZXhlcyByZXR1cm4gc3RhdHMgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9n ZXRfdmFjdXVtX2luZGV4ZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdz JywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCisgIHByb3Jl dHNldCA9PiAndCcsCisgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9hbGxhcmd0eXBl cyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4 LGludDgsaW50OCxudW1lcmljLGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OH0nLAorICBw cm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAor ICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxf Ymxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxr c19yZWFkLHJlbF9ibGtzX2hpdCxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLHdhbF9y ZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUs ZGVsYXlfdGltZSx0b3RhbF90aW1lfScsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFj dXVtX2luZGV4ZXMnIH0KIF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Zh Y3V1bS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKaW5kZXggNmQxYjI5OTFj ZTUuLmZiMTM0ZjM0MDJlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1 dW0uaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaApAQCAtMjUsNiArMjUs NyBAQAogI2luY2x1ZGUgInN0b3JhZ2UvYnVmLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9sb2Nr LmgiCiAjaW5jbHVkZSAidXRpbHMvcmVsY2FjaGUuaCIKKyNpbmNsdWRlICJwZ3N0YXQuaCIK IAogLyoKICAqIEZsYWdzIGZvciBhbXBhcmFsbGVsdmFjdXVtb3B0aW9ucyB0byBjb250cm9s IHRoZSBwYXJ0aWNpcGF0aW9uIG9mIGJ1bGtkZWxldGUKQEAgLTI5NSw2ICsyOTYsMjYgQEAg dHlwZWRlZiBzdHJ1Y3QgVmFjRGVhZEl0ZW1zSW5mbwogCWludDY0CQludW1faXRlbXM7CQkv KiBjdXJyZW50ICMgb2YgZW50cmllcyAqLwogfSBWYWNEZWFkSXRlbXNJbmZvOwogCisvKgor ICogQ291bnRlcnMgYW5kIHVzYWdlIGRhdGEgZm9yIGV4dGVuZGVkIHN0YXRzIHRyYWNraW5n LgorICovCit0eXBlZGVmIHN0cnVjdCBMVkV4dFN0YXRDb3VudGVycworeworCVRpbWVzdGFt cFR6IHN0YXJ0dGltZTsKKwlXYWxVc2FnZQl3YWx1c2FnZTsKKwlCdWZmZXJVc2FnZSBidWZ1 c2FnZTsKKwlkb3VibGUJCVZhY3V1bURlbGF5VGltZTsKKwlQZ1N0YXRfQ291bnRlciBibG9j a3NfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0OworfSBMVkV4dFN0YXRD b3VudGVyczsKKwordHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnNJZHgKK3sKKwlM VkV4dFN0YXRDb3VudGVycyBjb21tb247CisJaW50NjQJCXBhZ2VzX2RlbGV0ZWQ7CisJaW50 NjQJCXR1cGxlc19yZW1vdmVkOworfSBMVkV4dFN0YXRDb3VudGVyc0lkeDsKKwogLyogR1VD IHBhcmFtZXRlcnMgKi8KIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgZGVmYXVsdF9zdGF0aXN0 aWNzX3RhcmdldDsJLyogUEdETExJTVBPUlQgZm9yIFBvc3RHSVMgKi8KIGV4dGVybiBQR0RM TElNUE9SVCBpbnQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlOwpAQCAtNDA4LDQgKzQyOSw4IEBA IGV4dGVybiBkb3VibGUgYW5sX3JhbmRvbV9mcmFjdCh2b2lkKTsKIGV4dGVybiBkb3VibGUg YW5sX2luaXRfc2VsZWN0aW9uX3N0YXRlKGludCBuKTsKIGV4dGVybiBkb3VibGUgYW5sX2dl dF9uZXh0X1MoZG91YmxlIHQsIGludCBuLCBkb3VibGUgKnN0YXRlcHRyKTsKIAorZXh0ZXJu IHZvaWQgZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0Rl bGV0ZVJlc3VsdCAqc3RhdHMsCisJCQkJCSAgIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3Vu dGVycyk7CitleHRlcm4gdm9pZCBleHR2YWNfc3RhdHNfZW5kX2lkeChSZWxhdGlvbiByZWws IEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCisJCQkJCSBMVkV4dFN0YXRDb3VudGVy c0lkeCAqY291bnRlcnMsIEV4dFZhY1JlcG9ydCAqcmVwb3J0KTsKICNlbmRpZgkJCQkJCQkv KiBWQUNVVU1fSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmggYi9zcmMv aW5jbHVkZS9wZ3N0YXQuaAppbmRleCA2Yzg4ZDU3YWVmNy4uNGRlZjJjNjBkMWQgMTAwNjQ0 Ci0tLSBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5o CkBAIC0xMTEsMTEgKzExMSwxOSBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfQmFja2VuZFN1 YkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgY29uZmxpY3RfY291bnRbQ09ORkxJQ1RfTlVNX1RZ UEVTXTsKIH0gUGdTdGF0X0JhY2tlbmRTdWJFbnRyeTsKIAorLyogVHlwZSBvZiBFeHRWYWNS ZXBvcnQgKi8KK3R5cGVkZWYgZW51bSBFeHRWYWNSZXBvcnRUeXBlCit7CisJUEdTVEFUX0VY VFZBQ19JTlZBTElEID0gMCwKKwlQR1NUQVRfRVhUVkFDX1RBQkxFID0gMSwKKwlQR1NUQVRf RVhUVkFDX0lOREVYID0gMgorfSBFeHRWYWNSZXBvcnRUeXBlOworCiAvKiAtLS0tLS0tLS0t CiAgKgogICogRXh0VmFjUmVwb3J0CiAgKgotICogQWRkaXRpb25hbCBzdGF0aXN0aWNzIG9m IHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIgYSBoZWFwIHJlbGF0aW9uLgorICogQWRkaXRpb25h bCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIgYSByZWxhdGlvbi4KICAq IHBhZ2VzX3JlbW92ZWQgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0aGUgcGh5c2ljYWxseSBz aHJhbmssCiAgKiBpZiBhbnkgKGllIHRoZSBjaGFuZ2UgaW4gaXRzIHRvdGFsIHNpemUgb24g ZGlzaykKICAqIHBhZ2VzX2RlbGV0ZWQgcmVmZXIgdG8gZnJlZSBzcGFjZSB3aXRoaW4gdGhl IGluZGV4IGZpbGUKQEAgLTE0NCwxOCArMTUyLDQ0IEBAIHR5cGVkZWYgc3RydWN0IEV4dFZh Y1JlcG9ydAogCWRvdWJsZQkJZGVsYXlfdGltZTsJCS8qIGhvdyBsb25nIHZhY3V1bSBzbGVw dCBpbiB2YWN1dW0gZGVsYXkgcG9pbnQsIGluIG1zZWMgKi8KIAlkb3VibGUJCXRvdGFsX3Rp bWU7CQkvKiB0b3RhbCB0aW1lIG9mIGEgdmFjdXVtIG9wZXJhdGlvbiwgaW4gbXNlYyAqLwog Ci0JaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBoZWFwIHBhZ2VzIGV4YW1pbmVkIChub3Qg c2tpcHBlZCBieSBWTSkgKi8KLQlpbnQ2NAkJcGFnZXNfcmVtb3ZlZDsJCS8qIGhlYXAgcGFn ZXMgcmVtb3ZlZCBieSB2YWN1dW0gInRydW5jYXRpb24iICovCi0JaW50NjQJCXZtX25ld19m cm96ZW5fcGFnZXM7CQkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJvemVuICovCi0JaW50 NjQJCXZtX25ld192aXNpYmxlX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxs LXZpc2libGUgKi8KLQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOwkvKiBw YWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgYW5kIGZyb3plbiAqLwotCWludDY0 CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBsZXMgbm90IHBydW5lZCBieSB2YWN1dW0g ZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51cCBsb2NrICovCi0JaW50NjQJCW1pc3Nl ZF9kZWFkX3BhZ2VzOwkJLyogcGFnZXMgd2l0aCBtaXNzZWQgZGVhZCB0dXBsZXMgKi8KIAlp bnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8K LQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVt ICovCi0JaW50NjQJCXJlY2VudGx5X2RlYWRfdHVwbGVzOwkvKiBkZWxldGVkIHR1cGxlcyB0 aGF0IGFyZSBzdGlsbCB2aXNpYmxlIHRvIHNvbWUgdHJhbnNhY3Rpb24gKi8KLQlpbnQ2NAkJ aW5kZXhfdmFjdXVtX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIGluZGV4IHZhY3V1bWluZ3Mg Ki8KLQlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJLyogbnVtYmVyIG9mIGVt ZXJnZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50aS13cmFwYXJvdW5kIHNodXRkb3duICov CisKKwlFeHRWYWNSZXBvcnRUeXBlIHR5cGU7CQkvKiBoZWFwLCBpbmRleCwgZXRjLiAqLwor CisJLyogLS0tLS0tLS0tLQorCSAqCisJICogVGhlcmUgYXJlIHNlcGFyYXRlIG1ldHJpY3Mg b2Ygc3RhdGlzdGljIGZvciB0YWJsZXMgYW5kIGluZGV4ZXMsCisJICogd2hpY2ggY29sbGVj dCBkdXJpbmcgdmFjdXVtLgorCSAqIFRoZSB1bmlvbiBvcGVyYXRvciBhbGxvd3MgdG8gY29t YmluZSB0aGVzZSBzdGF0aXN0aWNzCisJICogc28gdGhhdCBlYWNoIG1ldHJpYyBpcyBhc3Np Z25lZCB0byBhIHNwZWNpZmljIGNsYXNzIG9mIGNvbGxlY3RlZCBzdGF0aXN0aWNzLgorCSAq IFN1Y2ggYSBjb21iaW5lZCBzdHJ1Y3R1cmUgd2FzIGNhbGxlZCBwZXJfdHlwZV9zdGF0cy4K KwkgKiBUaGUgbmFtZSBvZiB0aGUgc3RydWN0dXJlIGl0c2VsZiBpcyBub3QgdXNlZCBhbnl3 aGVyZSwKKwkgKiBpdCBleGlzdHMgb25seSBmb3IgdW5kZXJzdGFuZGluZyB0aGUgY29kZS4K KwkgKiAtLS0tLS0tLS0tCisJKi8KKwl1bmlvbgorCXsKKwkJc3RydWN0CisJCXsKKwkJCWlu dDY0CQlwYWdlc19zY2FubmVkOwkJLyogaGVhcCBwYWdlcyBleGFtaW5lZCAobm90IHNraXBw ZWQgYnkgVk0pICovCisJCQlpbnQ2NAkJcGFnZXNfcmVtb3ZlZDsJCS8qIGhlYXAgcGFnZXMg cmVtb3ZlZCBieSB2YWN1dW0gInRydW5jYXRpb24iICovCisJCQlpbnQ2NAkJcGFnZXNfZnJv emVuOwkJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGZyb3plbiAqLworCQkJaW50NjQJCXBh Z2VzX2FsbF92aXNpYmxlOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUg Ki8KKwkJCWludDY0CQl0dXBsZXNfZnJvemVuOwkJLyogdHVwbGVzIGZyb3plbiB1cCBieSB2 YWN1dW0gKi8KKwkJCWludDY0CQlyZWNlbnRseV9kZWFkX3R1cGxlczsJLyogZGVsZXRlZCB0 dXBsZXMgdGhhdCBhcmUgc3RpbGwgdmlzaWJsZSB0byBzb21lIHRyYW5zYWN0aW9uICovCisJ CQlpbnQ2NAkJdm1fbmV3X2Zyb3plbl9wYWdlczsJCS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBh cyBmcm96ZW4gKi8KKwkJCWludDY0CQl2bV9uZXdfdmlzaWJsZV9wYWdlczsJLyogcGFnZXMg bWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCisJCQlpbnQ2NAkJdm1fbmV3X3Zpc2li bGVfZnJvemVuX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUg YW5kIGZyb3plbiAqLworCQkJaW50NjQJCW1pc3NlZF9kZWFkX3R1cGxlczsJCS8qIHR1cGxl cyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFpbHVyZSB0byBnZXQgYSBjbGVhbnVw IGxvY2sgKi8KKwkJCWludDY0CQltaXNzZWRfZGVhZF9wYWdlczsJCS8qIHBhZ2VzIHdpdGgg bWlzc2VkIGRlYWQgdHVwbGVzICovCisJCQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50Owkv KiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworCQkJaW50MzIJCXdyYXBhcm91bmRf ZmFpbHNhZmVfY291bnQ7CS8qIG51bWJlciBvZiBlbWVyZ2VuY3kgdmFjdXVtcyB0byBwcmV2 ZW50IGFudGktd3JhcGFyb3VuZCBzaHV0ZG93biAqLworCQl9CQkJdGFibGU7CisJCXN0cnVj dAorCQl7CisJCQlpbnQ2NAkJcGFnZXNfZGVsZXRlZDsJCS8qIG51bWJlciBvZiBwYWdlcyBk ZWxldGVkIGJ5IHZhY3V1bSAqLworCQl9CQkJaW5kZXg7CisJfSAvKiBwZXJfdHlwZV9zdGF0 cyAqLzsKIH0gRXh0VmFjUmVwb3J0OwogCiAvKiAtLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5vdXQgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVu ZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKaW5kZXggODdmN2U0MGI0YTYuLjZkOTYwNDIz OTEyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4 dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9u L2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC0z NCw3ICszNCw3IEBAIHN0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOgogCiByZWxu YW1lICAgICAgICAgICAgICAgICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1 cGxlc3xtaXNzZWRfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3pl bgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0KLXRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgICAwfCAg ICAgICAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAg MHwgICAgICAgICAgICAwCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAg ICAgMHwgICAgICAgICAgICAgICAgIDYwMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAg ICAgICAgIDB8ICAgICAgICAgICAgMAogKDEgcm93KQogCiBzdGVwIHMxX2NvbW1pdDogQ09N TUlUOwpAQCAtNDgsNiArNDgsNiBAQCBzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJs ZToKIAogcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8cmVjZW50 bHlfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3BhZ2VzfHR1 cGxlc19mcm96ZW4KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tCi10ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAg ICAgIDEwMHwgICAgICAgICAgICAgICAgIDEwMHwgICAgICAgICAgICAgICAgIDB8ICAgICAg ICAgICAgICAgIDB8ICAgICAgICAgIDEwMQordGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258 ICAgICAgICAgICAzMDB8ICAgICAgICAgICAgICAgICA2MDB8ICAgICAgICAgICAgICAgICAw fCAgICAgICAgICAgICAgICAwfCAgICAgICAgICAzMDMKICgxIHJvdykKIApkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dAppbmRleCAxMGE0ODJlMmRiNC4uNGU1ZTVjYTU0ZGEg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0yMjgzLDYgKzIyODMs MjggQEAgcGdfc3RhdF91c2VyX3RhYmxlc3wgU0VMRUNUIHJlbGlkLAogICAgIHJldl9hbGxf dmlzaWJsZV9wYWdlcwogICAgRlJPTSBwZ19zdGF0X2FsbF90YWJsZXMKICAgV0hFUkUgKChz Y2hlbWFuYW1lIDw+IEFMTCAoQVJSQVlbJ3BnX2NhdGFsb2cnOjpuYW1lLCAnaW5mb3JtYXRp b25fc2NoZW1hJzo6bmFtZV0pKSBBTkQgKHNjaGVtYW5hbWUgIX4gJ15wZ190b2FzdCc6OnRl eHQpKTsKK3BnX3N0YXRfdmFjdXVtX2luZGV4ZXN8IFNFTEVDVCByZWwub2lkIEFTIHJlbGlk LAorICAgIG5zLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAgICByZWwucmVsbmFtZSwKKyAg ICBzdGF0cy50b3RhbF9ibGtzX3JlYWQsCisgICAgc3RhdHMudG90YWxfYmxrc19oaXQsCisg ICAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3Nfd3Jp dHRlbiwKKyAgICBzdGF0cy5yZWxfYmxrc19yZWFkLAorICAgIHN0YXRzLnJlbF9ibGtzX2hp dCwKKyAgICBzdGF0cy5wYWdlc19kZWxldGVkLAorICAgIHN0YXRzLnR1cGxlc19kZWxldGVk LAorICAgIHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9mcGksCisgICAgc3Rh dHMud2FsX2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMuYmxr X3dyaXRlX3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBzdGF0cy50b3RhbF90 aW1lCisgICBGUk9NIChwZ19jbGFzcyByZWwKKyAgICAgSk9JTiBwZ19uYW1lc3BhY2UgbnMg T04gKChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSkpLAorICAgIExBVEVSQUwgcGdfc3Rh dF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMocmVsaWQsIHRvdGFsX2Jsa3Nf cmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193 cml0dGVuLCByZWxfYmxrc19yZWFkLCByZWxfYmxrc19oaXQsIHBhZ2VzX2RlbGV0ZWQsIHR1 cGxlc19kZWxldGVkLCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtfcmVh ZF90aW1lLCBibGtfd3JpdGVfdGltZSwgZGVsYXlfdGltZSwgdG90YWxfdGltZSkKKyAgV0hF UkUgKHJlbC5yZWxraW5kID0gJ2knOjoiY2hhciIpOwogcGdfc3RhdF92YWN1dW1fdGFibGVz fCBTRUxFQ1QgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAogICAgIHJlbC5yZWxuYW1lLAog ICAgIHN0YXRzLnJlbGlkLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uZTAwYTBmYzY4M2MKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dApAQCAt MCwwICsxLDE4MyBAQAorLS0KKy0tIFRlc3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lz dGVtCistLQorLS0gQ2hlY2sgdGhlIHdhbGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5n IHZhY3V1bSBvcGVyYXRpb246CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBh Z2VzIHNldCBieSB2YWN1dW07CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBh Z2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KKy0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBk aXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxl LgorLS0KKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAt LSBtdXN0IGJlIG9uCisgdHJhY2tfY291bnRzIAorLS0tLS0tLS0tLS0tLS0KKyBvbgorKDEg cm93KQorCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCistLSBub3QgZW5hYmxlZCBieSBkZWZh dWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRP ICdhbGwnOworLS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkg d2hlbiBwYXJhbWV0ZXIgaXMgb2ZmLgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRP ICdvZmYnOworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1f ZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBT RUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FO QUxZWkUgdmVzdGF0OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKK1ZB Q1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0g TXVzdCBiZSBlbXB0eS4KK1NFTEVDVCAqCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMg dnQKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKKyByZWxpZCB8IHNjaGVtYW5hbWUg fCByZWxuYW1lIHwgdG90YWxfYmxrc19yZWFkIHwgdG90YWxfYmxrc19oaXQgfCB0b3RhbF9i bGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCByZWxfYmxrc19yZWFkIHwgcmVs X2Jsa3NfaGl0IHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIHwgd2FsX3JlY29y ZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgYmxrX3JlYWRfdGltZSB8IGJsa193cml0ZV90 aW1lIHwgZGVsYXlfdGltZSB8IHRvdGFsX3RpbWUgCistLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorKDAgcm93cykKKworUkVTRVQgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3M7CitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworU0hPVyB0 cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KKyB0cmFja192YWN1dW1f c3RhdGlzdGljcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQor CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1xzZXQgc2FtcGxlX3NpemUg MTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVl emVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25h cHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCBwcmltYXJ5IGtleSkgV0lUSCAo YXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElO VE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXpl KSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitTRUxFQ1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19j bGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorREVMRVRFIEZST00g dmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4 ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5h bWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zl c3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBh Z2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3Br ZXkgfCAgICAgICAzMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgMAorKDEgcm93 KQorCitTRUxFQ1QgcmVscGFnZXMgQVMgaXJwCitGUk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJl bG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZF Ul9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlz IG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7Cist LSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3Vs ZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBh Z2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Yg bm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxw YWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkID0gMCBBUyBwYWdlc19k ZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJl bHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0 X3BrZXkgfCB0ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVD VCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBs ZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdf Y2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlk ID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwor U0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMg aWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgXGdzZXQKKy0tIExvb2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxF Q1Qgd2FsX3JlY29yZHMgPiAwIEFTIGRpV1IsIHdhbF9ieXRlcyA+IDAgQVMgZGlXQgorRlJP TSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXkn OworIGRpd3IgfCBkaXdiIAorLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0CisoMSByb3cpCisK K0RFTEVURSBGUk9NIHZlc3RhdDs7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vz c2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBwYWdl c19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdl cy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPiAwIEFTIHBhZ2Vz X2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZS T00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1l ICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQor IHZlc3RhdF9wa2V5IHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQor CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBp cGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMg dnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2 dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJp YWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IsIHdhbF9ieXRlcy06aXdi IEFTIGRpd2IsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorLS0gV0FMIGFk dmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNUIDpkaXdyID4gMCBBUyBkaVdSLCA6 ZGl3YiA+IDAgQVMgZGlXQjsKKyBkaXdyIHwgZGl3YiAKKy0tLS0tLSstLS0tLS0KKyB0ICAg IHwgdAorKDEgcm93KQorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMK K1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFT IGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIFxnc2V0CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQg V0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3Rh dCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0t IGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVj ZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpp d3IgQVMgZGl3cjIsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IyLCB3YWxfZnBpLTppZnBpIEFT IGRpZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIFxnc2V0CistLSBXQUwgYW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2YW5j ZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgorU0VMRUNUIDpkaXdyMj0wIEFTIGRpV1IsIDpk aWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBBUyBkaVdCOworIGRpd3IgfCBpZnBpIHwgZGl3 YiAKKy0tLS0tLSstLS0tLS0rLS0tLS0tCisgdCAgICB8IHQgICAgfCB0CisoMSByb3cpCisK K1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPCAwIEFTIHJlbHBhZ2VzLHBhZ2Vz X2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRk ID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRl ZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQg ICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2Vz IEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZS T00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFT IGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK0RFTEVU RSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwg QlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0g aXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lO VDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmlu ZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxlCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBB UyBkaXdyMywgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjMsIHdhbF9mcGktOmlmcGkgQVMgZGlm cGkzCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgXGdzZXQKKy0tVGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdlZAorU0VMRUNUIDpk aXdyMz0wIEFTIGRpV1IsIDpkaWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9MCBBUyBkaVdCOwor IGRpd3IgfCBpZnBpIHwgZGl3YiAKKy0tLS0tLSstLS0tLS0rLS0tLS0tCisgdCAgICB8IHQg ICAgfCB0CisoMSByb3cpCisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMg Y29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4g dmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgcGFnZXNfZnJvemVuLCBwYWdl c19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdlZAorLS0KK1NFTEVDVCB2dC5y ZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlw ZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBs ZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBj CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19k ZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCBmICAgICAgICB8IHQgICAgICAgICAgICAg fCB0CisoMSByb3cpCisKK0RST1AgVEFCTEUgdmVzdGF0OwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxs ZWxfc2NoZWR1bGUKaW5kZXggZWUwMzQzYzI3MjkuLjAxOTc4MzBiNWNkIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAgLTE0NCw0ICsxNDQsNSBAQCB0ZXN0OiB0YWJs ZXNwYWNlCiAjIC0tLS0tLS0tLS0KICMgQ2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MKICMgLS0t LS0tLS0tLQordGVzdDogdmFjdXVtX2luZGV4X3N0YXRpc3RpY3MKIHRlc3Q6IHZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYWUxNDZlMWQyM2YKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlz dGljcy5zcWwKQEAgLTAsMCArMSwxNTEgQEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUgdmFj dXVtIHN0YXRzIHN5c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3MgY29s bGVjdGVkIGR1cmluZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3plbiBh bmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkgdmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3plbiBh bmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMgd2Fs X2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlv ciBpcyB1bnN0YWJsZS4KKy0tCistLSBjb25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cgdHJh Y2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgorCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCisK Ky0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4K K1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CisKKy0tIFRlc3QgdGhhdCB2YWN1dW0g c3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4KK1NFVCB0 cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKKworQ1JFQVRFIFRBQkxFIHZlc3Rh dCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9 IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitERUxFVEUgRlJP TSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZF Ul9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gTXVzdCBiZSBlbXB0eS4KK1NFTEVD VCAqCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQKK1dIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0JzsKKworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CitEUk9QIFRB QkxFIHZlc3RhdCBDQVNDQURFOworCitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAg LS0gbXVzdCBiZSBvbgorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAor U0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCitcc2V0IHNhbXBsZV9zaXpl IDEwMDAwCitTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKK1NFVCB2YWN1dW1fZnJl ZXplX3RhYmxlX2FnZSA9IDA7CistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNu YXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQgcHJpbWFyeSBrZXkpIFdJVEgg KGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJ TlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6 ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitTRUxFQ1Qgb2lkIEFTIGlvaWQgZnJvbSBw Z19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCitERUxFVEUg RlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1 dW0gZXhlY3V0aW9uIGV4dGVuZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHkuCitTRUxFQ1QgdnQu cmVsbmFtZSxyZWxwYWdlcyxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkCitGUk9NIHBn X3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHJlbHBhZ2Vz IEFTIGlycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBcZ3NldAorCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgs IElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVj ayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFRoZSB0YWJsZSBhbmQg aW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAor LS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19y ZW1vdmVkIHN0YXllZCB0aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBo YXZlIGNsZWFuZWQgdXAKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFT IHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2Rl bGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFO RCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJw LHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBX QUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Is d2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9p bmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKKy0tIExvb2sg aW50byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAwIEFTIGRp V1IsIHdhbF9ieXRlcyA+IDAgQVMgZGlXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknOworCitERUxFVEUgRlJPTSB2ZXN0YXQ7 OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9D TEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdh bCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBwYWdlc19yZW1vdmVkIG11c3QgYmUg aW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxw YWdlcyxwYWdlc19kZWxldGVkLTppcGQgPiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2Rl bGV0ZWQtOml0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBB UyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpp d3IgQVMgZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3Yiwgd2FsX2ZwaS06aWZwaSBBUyBk aWZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIFxnc2V0CisKKy0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4K K1NFTEVDVCA6ZGl3ciA+IDAgQVMgZGlXUiwgOmRpd2IgPiAwIEFTIGRpV0I7CisKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFT IGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworSU5T RVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBs ZV9zaXplKSBhcyB4OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0t IFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVjdG9yLiBTbywgbm8g YW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4K K1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUg d2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBp bnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjIsIHdhbF9i eXRlcy06aXdiIEFTIGRpd2IyLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMgorRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0 CisKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUg ZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IyPTAgQVMgZGlXUiwgOmRpZnBpMj0wIEFTIGlGUEks IDpkaXdiMj0wIEFTIGRpV0I7CisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAg PCAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRl ZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2dC5yZWxuYW1l LHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBB UyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hF UkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdz ZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2Fs X3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00g cGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBc Z3NldAorCitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNVVU0g KFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04p IHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3Rp Y3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxl cyBhZnRlciByZW1vdmluZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxlCitTRUxFQ1Qgd2Fs X3JlY29yZHMtOml3ciBBUyBkaXdyMywgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjMsIHdhbF9m cGktOmlmcGkgQVMgZGlmcGkzCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS1UaGVyZSBhcmUgbm90aGluZyBj aGFuZ2VkCitTRUxFQ1QgOmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFTIGlGUEksIDpk aXdiMz0wIEFTIGRpV0I7CisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMg Y29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4g dmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgcGFnZXNfZnJvemVuLCBwYWdl c19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdlZAorLS0KK1NFTEVDVCB2dC5y ZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlw ZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBs ZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBj CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKKworRFJPUCBUQUJMRSB2ZXN0YXQ7Ci0tIAoyLjM0LjEKCg== --------------W8OTiSHlibzsm9Q0DRhMKYVj Content-Type: text/x-patch; charset=UTF-8; name="v23-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v23-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAyOTc4ZmE1OWZjNTUzYjFhNzExNzMxYWU4MzE1OWU0ZjQ0MjQxZGVlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA0IEZlYiAyMDI1IDE3OjU3OjQ0ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAzLzVdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGRhdGFiYXNlcy4KCkRhdGFiYXNlIHZhY3V1bSBzdGF0aXN0 aWNzIGluZm9ybWF0aW9uIGlzIHRoZSBjb2xsZWN0ZWQgZ2VuZXJhbAp2YWN1dW0gc3RhdGlz dGljcyBpbmRleGVzIGFuZCB0YWJsZXMgb3duZWQgYnkgdGhlIGRhdGFiYXNlcywgd2hpY2gK dGhleSBiZWxvbmcgdG8uCgpJbiBhZGRpdGlvbiB0byB0aGUgZmFjdCB0aGF0IHRoZXJlIGFy ZSBmYXIgZmV3ZXIgZGF0YWJhc2VzIGluIGEgc3lzdGVtCnRoYW4gcmVsYXRpb25zLCB2YWN1 dW0gc3RhdGlzdGljcyBmb3IgYSBkYXRhYmFzZSBjb250YWluIGZld2VyIHN0YXRpc3RpY3MK dGhhbiByZWxhdGlvbnMsIGJ1dCB0aGV5IGFyZSBlbm91Z2ggdG8gaW5kaWNhdGUgdGhhdCBz b21ldGhpbmcgbWF5IGJlCndyb25nIGluIHRoZSBzeXN0ZW0gYW5kIHByb21wdCB0aGUgYWRt aW5pc3RyYXRvciB0byBlbmFibGUgZXh0ZW5kZWQKbW9uaXRvcmluZyBmb3IgcmVsYXRpb25z LgoKU28sIGJ1ZmZlciwgd2FsLCBzdGF0aXN0aWNzIG9mIEkvTyB0aW1lIG9mIHJlYWQgYW5k IHdyaXRlbiBibG9ja3MKc3RhdGlzdGljcyB3aWxsIGJlIG9ic2VydmVkIGJlY2F1c2UgdGhl eSBhcmUgY29sbGVjdGVkIGZvciBib3RoCnRhYmxlcywgaW5kZXhlcy4gSW4gYWRkaXRpb24s IHdlIHNob3cgdGhlIG51bWJlciBvZiBlcnJvcnMgY2F1Z2h0CmR1cmluZyBvcGVyYXRpb24g b2YgdGhlIHZhY3V1bSBvbmx5IGZvciB0aGUgZXJyb3IgbGV2ZWwuCgp3cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50IGlzIGEgbnVtYmVyIG9mIHRpbWVzIHdoZW4gdGhlIHZhY3V1bSBzdGFy dHMKdXJnZW50IGNsZWFudXAgdG8gcHJldmVudCB3cmFwYXJvdW5kIHByb2JsZW0gd2hpY2gg aXMgY3JpdGljYWwgZm9yCnRoZSBkYXRhYmFzZS4KCkF1dGhvcnM6IEFsZW5hIFJ5YmFraW5h IDxsZW5hLnJpYmFja2luYUB5YW5kZXgucnU+LAogICBBbmRyZWkgTGVwaWtob3YgPGEubGVw aWtob3ZAcG9zdGdyZXNwcm8ucnU+LAogICBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0 Z3Jlc3Byby5ydT4KUmV2aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFp bC5jb20+LCBNYXNhaGlrbyBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCiAgICAg ICBJbGlhIEV2ZG9raW1vdiA8aWx5YS5ldmRva2ltb3ZAdGFudG9ybGFicy5jb20+LCBqaWFu IGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+LAogICAgICAgS2lyaWxsIFJlc2hr ZSA8cmVzaGtla2lyaWxsQGdtYWlsLmNvbT4sIEFsZXhhbmRlciBLb3JvdGtvdiA8YWVrb3Jv dGtvdkBnbWFpbC5jb20+LAogICAgICAgSmltIE5hc2J5IDxqbmFzYnlAdXBncmFkZS5jb20+ LCBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9h Y2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgICAgICAgICAgfCAgMTcgKystCiBzcmMvYmFja2Vu ZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCAgMjcgKysrKy0KIHNyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAgMiArLQogc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgIHwgICAxICsKIHNy Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0NiArKysr KysrLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwg MTAwICsrKysrKysrKysrKysrKysrLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFi bGVzLmMgICAgICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2Mu ZGF0ICAgICAgICAgICAgICAgfCAgMTMgKystCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0KIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWlu LXJlcGV0YWJsZS1yZWFkLnNwZWMgICB8ICAgNiArKwogc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9ydWxlcy5vdXQgICAgICAgICAgIHwgIDE3ICsrKwogLi4uL2V4cGVjdGVkL3ZhY3V1 bV9pbmRleF9zdGF0aXN0aWNzLm91dCAgICAgIHwgIDE2ICstLQogLi4udXQgPT4gdmFjdXVt X3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXR9IHwgIDg3ICsrKysrKysrKysrKystLQog c3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAyICst CiAuLi4vcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsICAgfCAgIDYg Ky0KIC4uLnFsID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsfSB8ICA2 OSArKysrKysrKysrKy0KIDE2IGZpbGVzIGNoYW5nZWQsIDM4MSBpbnNlcnRpb25zKCspLCAz NSBkZWxldGlvbnMoLSkKIHJlbmFtZSBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3t2YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0ID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRp c3RpY3Mub3V0fSAoODIlKQogcmVuYW1lIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3t2YWN1dW1f dGFibGVzX3N0YXRpc3RpY3Muc3FsID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3Rp Y3Muc3FsfSAoODElKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zh Y3V1bWxhenkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRl eCAwODg4YmUyYWZlYS4uM2Q3MmY3NGIwNWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMKQEAgLTY2MCw3ICs2NjAsNyBAQCBhY2N1bXVsYXRlX2hlYXBfdmFjdXVt X3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBFeHRWYWNSZXBvcnQgKmV4dFZhY1N0 YXRzKQogCWV4dFZhY1N0YXRzLT50YWJsZS5taXNzZWRfZGVhZF90dXBsZXMgPSB2YWNyZWwt Pm1pc3NlZF9kZWFkX3R1cGxlczsKIAlleHRWYWNTdGF0cy0+dGFibGUubWlzc2VkX2RlYWRf cGFnZXMgPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3BhZ2VzOwogCWV4dFZhY1N0YXRzLT50YWJs ZS5pbmRleF92YWN1dW1fY291bnQgPSB2YWNyZWwtPm51bV9pbmRleF9zY2FuczsKLQlleHRW YWNTdGF0cy0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCA9IHZhY3JlbC0+d3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKKwlleHRWYWNTdGF0cy0+d3JhcGFyb3VuZF9mYWls c2FmZV9jb3VudCA9IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKIAogCWV4 dFZhY1N0YXRzLT5ibGtfcmVhZF90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmJs a19yZWFkX3RpbWU7CiAJZXh0VmFjU3RhdHMtPmJsa193cml0ZV90aW1lIC09IHZhY3JlbC0+ ZXh0VmFjUmVwb3J0SWR4LmJsa193cml0ZV90aW1lOwpAQCAtNDA4OSw2ICs0MDg5LDkgQEAg dmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAlzd2l0Y2ggKGVycmluZm8tPnBo YXNlKQogCXsKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfU0NBTl9IRUFQOgorCQkJaWYo Z2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vy cm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19UQUJMRSk7CisKIAkJCWlmIChC bG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJewogCQkJCWlmIChPZmZz ZXROdW1iZXJJc1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCkBAIC00MTA0LDYgKzQxMDcsOSBA QCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAqYXJnKQogCQkJYnJlYWs7CiAKIAkJY2Fz ZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVkFDVVVNX0hFQVA6CisJCQlpZihnZXRlcnJlbGV2ZWwo KSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5y ZWxvaWQsIFBHU1RBVF9FWFRWQUNfVEFCTEUpOworCiAJCQlpZiAoQmxvY2tOdW1iZXJJc1Zh bGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxp ZChlcnJpbmZvLT5vZmZudW0pKQpAQCAtNDExOSwxNiArNDEyNSwyNSBAQCB2YWN1dW1fZXJy b3JfY2FsbGJhY2sodm9pZCAqYXJnKQogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJS Q0JfUEhBU0VfVkFDVVVNX0lOREVYOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1Ip CisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+aW5kb2lkLCBQR1NU QVRfRVhUVkFDX0lOREVYKTsKKwogCQkJZXJyY29udGV4dCgid2hpbGUgdmFjdXVtaW5nIGlu ZGV4IFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzLiVzXCIiLAogCQkJCQkgICBlcnJpbmZvLT5p bmRuYW1lLCBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmluZm8tPnJlbG5hbWUpOwogCQkJ YnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfSU5ERVhfQ0xFQU5VUDoKKwkJ CWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKGVycmluZm8tPmluZG9pZCwgUEdTVEFUX0VYVFZBQ19JTkRFWCk7CisKIAkJCWVy cmNvbnRleHQoIndoaWxlIGNsZWFuaW5nIHVwIGluZGV4IFwiJXNcIiBvZiByZWxhdGlvbiBc IiVzLiVzXCIiLAogCQkJCQkgICBlcnJpbmZvLT5pbmRuYW1lLCBlcnJpbmZvLT5yZWxuYW1l c3BhY2UsIGVycmluZm8tPnJlbG5hbWUpOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1f RVJSQ0JfUEhBU0VfVFJVTkNBVEU6CisJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikK KwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQsIFBHU1RB VF9FWFRWQUNfVEFCTEUpOworCiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8t PmJsa25vKSkKIAkJCQllcnJjb250ZXh0KCJ3aGlsZSB0cnVuY2F0aW5nIHJlbGF0aW9uIFwi JXMuJXNcIiB0byAldSBibG9ja3MiLAogCQkJCQkJICAgZXJyaW5mby0+cmVsbmFtZXNwYWNl LCBlcnJpbmZvLT5yZWxuYW1lLCBlcnJpbmZvLT5ibGtubyk7CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9n L3N5c3RlbV92aWV3cy5zcWwKaW5kZXggODNkNTVlNzg2MDYuLjBhZTMxYjg3OTg5IDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xNDg4LDQgKzE0ODgsMjkg QEAgRlJPTQogICBwZ19jbGFzcyByZWwKICAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gbnMu b2lkID0gcmVsLnJlbG5hbWVzcGFjZSwKICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1f aW5kZXhlcyhyZWwub2lkKSBzdGF0cwotV0hFUkUgcmVsLnJlbGtpbmQgPSAnaSc7ClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorV0hFUkUgcmVsLnJlbGtpbmQgPSAnaSc7CisKK0NS RUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlIEFTCitTRUxFQ1QKKyAgZGIub2lk IGFzIGRib2lkLAorICBkYi5kYXRuYW1lIEFTIGRibmFtZSwKKworICBzdGF0cy5kYl9ibGtz X3JlYWQgQVMgZGJfYmxrc19yZWFkLAorICBzdGF0cy5kYl9ibGtzX2hpdCBBUyBkYl9ibGtz X2hpdCwKKyAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGll ZCwKKyAgc3RhdHMudG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwK KworICBzdGF0cy53YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywKKyAgc3RhdHMud2FsX2Zw aSBBUyB3YWxfZnBpLAorICBzdGF0cy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVzLAorCisgIHN0 YXRzLmJsa19yZWFkX3RpbWUgQVMgYmxrX3JlYWRfdGltZSwKKyAgc3RhdHMuYmxrX3dyaXRl X3RpbWUgQVMgYmxrX3dyaXRlX3RpbWUsCisKKyAgc3RhdHMuZGVsYXlfdGltZSBBUyBkZWxh eV90aW1lLAorICBzdGF0cy50b3RhbF90aW1lIEFTIHRvdGFsX3RpbWUsCisgIHN0YXRzLndy YXBhcm91bmRfZmFpbHNhZmUgQVMgd3JhcGFyb3VuZF9mYWlsc2FmZSwKKyAgc3RhdHMuZXJy b3JzIEFTIGVycm9ycworRlJPTQorICBwZ19kYXRhYmFzZSBkYiwKKyAgTEFURVJBTCBwZ19z dGF0X2dldF92YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0czsKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9w Z3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCmluZGV4IGY1 Zjc1YWE0MjY0Li44NTU1NzczNmEzYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdz dGF0LmMKQEAgLTIwMyw3ICsyMDMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgcGdzdGF0X2lz X2tpbmRfdmFsaWQoUGdTdGF0X0tpbmQga2luZCk7CiAKIGJvb2wJCXBnc3RhdF90cmFja19j b3VudHMgPSBmYWxzZTsKIGludAkJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9IFBHU1RB VF9GRVRDSF9DT05TSVNURU5DWV9DQUNIRTsKLWJvb2wJCXBnc3RhdF90cmFja192YWN1dW1f c3RhdGlzdGljcyA9IHRydWU7Citib29sCQlwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3MgPSBmYWxzZTsKIAogLyogLS0tLS0tLS0tLQogICogc3RhdGUgc2hhcmVkIHdpdGggcGdz dGF0XyouYwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0 X2RhdGFiYXNlLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJh c2UuYwppbmRleCBiMzFmMjBkNDFiYy4uNjUyMDdkMzAzNzggMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jCisrKyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jCkBAIC00ODUsNiArNDg1LDcg QEAgcGdzdGF0X2RhdGFiYXNlX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVm LCBib29sIG5vd2FpdCkKIAlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CiAKIAlt ZW1zZXQocGVuZGluZ2VudCwgMCwgc2l6ZW9mKCpwZW5kaW5nZW50KSk7CisJbWVtc2V0KCYo cGVuZGluZ2VudCktPnZhY3V1bV9leHQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKIAog CXJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXRfcmVsYXRpb24uYwppbmRleCA5ZWUwMzUwOTQ5MC4uMTY5NTY4MGVhNjIgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCkBAIC0yMDUs NiArMjA1LDM4IEBAIHBnc3RhdF9kcm9wX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCkKIAl9CiB9 CiAKKy8qIC0tLS0tLS0tLQorICogcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoKSAtCisg KgorICoJVGVsbCB0aGUgY29sbGVjdG9yIGFib3V0IGFuIChhdXRvKXZhY3V1bSBpbnRlcnJ1 cHRpb24uCisgKiAtLS0tLS0tLS0KKyAqLwordm9pZAorcGdzdGF0X3JlcG9ydF92YWN1dW1f ZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlwZSkKK3sKKwlQZ1N0 YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKKwlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFi ZW50cnk7CisJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7CisJT2lkCQkJZGJvaWQg PSAgTXlEYXRhYmFzZUlkOworCVBnU3RhdF9TdGF0REJFbnRyeSAqZGJlbnRyeTsJLyogcGVu ZGluZyBkYXRhYmFzZSBlbnRyeSAqLworCisJaWYgKCFwZ3N0YXRfdHJhY2tfY291bnRzKQor CQlyZXR1cm47CisKKwllbnRyeV9yZWYgPSBwZ3N0YXRfZ2V0X2VudHJ5X3JlZl9sb2NrZWQo UEdTVEFUX0tJTkRfUkVMQVRJT04sCisJCQkJCQkJCQkJCWRib2lkLCB0YWJsZW9pZCwgZmFs c2UpOworCisJc2h0YWJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKikgZW50cnlf cmVmLT5zaGFyZWRfc3RhdHM7CisJdGFiZW50cnkgPSAmc2h0YWJlbnRyeS0+c3RhdHM7CisK Kwl0YWJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID0gbV90eXBlOworCXBnc3RhdF91bmxvY2tf ZW50cnkoZW50cnlfcmVmKTsKKworCWRiZW50cnkgPSBwZ3N0YXRfcHJlcF9kYXRhYmFzZV9w ZW5kaW5nKGRib2lkKTsKKwlkYmVudHJ5LT52YWN1dW1fZXh0LmVycm9ycysrOworCWRiZW50 cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKK30KKwogLyoKICAqIFJlcG9ydCB0aGF0 IHRoZSB0YWJsZSB3YXMganVzdCB2YWN1dW1lZCBhbmQgZmx1c2ggSU8gc3RhdGlzdGljcy4K ICAqLwpAQCAtMjE2LDYgKzI0OCw3IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJs ZW9pZCwgYm9vbCBzaGFyZWQsCiAJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CiAJUGdT dGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5OwogCVBnU3RhdF9TdGF0VGFiRW50cnkg KnRhYmVudHJ5OworCVBnU3RhdFNoYXJlZF9EYXRhYmFzZSAqZGJlbnRyeTsKIAlPaWQJCQlk Ym9pZCA9IChzaGFyZWQgPyBJbnZhbGlkT2lkIDogTXlEYXRhYmFzZUlkKTsKIAlUaW1lc3Rh bXBUeiB0czsKIAlQZ1N0YXRfQ291bnRlciBlbGFwc2VkdGltZTsKQEAgLTI3NCw2ICszMDcs MTYgQEAgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwK IAkgKi8KIAlwZ3N0YXRfZmx1c2hfaW8oZmFsc2UpOwogCSh2b2lkKSBwZ3N0YXRfZmx1c2hf YmFja2VuZChmYWxzZSwgUEdTVEFUX0JBQ0tFTkRfRkxVU0hfSU8pOworCisJaWYgKGRib2lk ICE9IEludmFsaWRPaWQpCisJeworCQllbnRyeV9yZWYgPSBwZ3N0YXRfZ2V0X2VudHJ5X3Jl Zl9sb2NrZWQoUEdTVEFUX0tJTkRfREFUQUJBU0UsCisJCQkJCQkJCQkJCWRib2lkLCBJbnZh bGlkT2lkLCBmYWxzZSk7CisJCWRiZW50cnkgPSAoUGdTdGF0U2hhcmVkX0RhdGFiYXNlICop IGVudHJ5X3JlZi0+c2hhcmVkX3N0YXRzOworCisJCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZh Y19zdGF0cygmZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dCwgcGFyYW1zLCBmYWxzZSk7CisJ CXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKKwl9CiB9CiAKIC8qCkBAIC0xMDMw LDYgKzEwNzMsOCBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVw b3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCWRzdC0+YmxrX3dyaXRlX3RpbWUgKz0g c3JjLT5ibGtfd3JpdGVfdGltZTsKIAlkc3QtPmRlbGF5X3RpbWUgKz0gc3JjLT5kZWxheV90 aW1lOwogCWRzdC0+dG90YWxfdGltZSArPSBzcmMtPnRvdGFsX3RpbWU7CisJZHN0LT53cmFw YXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNyYy0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3Vu dDsKKwlkc3QtPmVycm9ycyArPSBzcmMtPmVycm9yczsKIAogCWlmICghYWNjdW11bGF0ZV9y ZWx0eXBlX3NwZWNpZmljX2luZm8pCiAJCXJldHVybjsKQEAgLTEwNTcsNyArMTEwMiw2IEBA IHBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0 VmFjUmVwb3J0ICpzcmMsCiAJCQlkc3QtPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCArPSBz cmMtPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudDsKIAkJCWRzdC0+dGFibGUubWlzc2VkX2Rl YWRfcGFnZXMgKz0gc3JjLT50YWJsZS5taXNzZWRfZGVhZF9wYWdlczsKIAkJCWRzdC0+dGFi bGUubWlzc2VkX2RlYWRfdHVwbGVzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVz OwotCQkJZHN0LT50YWJsZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNyYy0+dGFi bGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKIAkJfQogCQllbHNlIGlmIChkc3QtPnR5 cGUgPT0gUEdTVEFUX0VYVFZBQ19JTkRFWCkKIAkJewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdz dGF0ZnVuY3MuYwppbmRleCA0ODI5MjliNzVlOS4uYTJlY2UyYzM2Y2YgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMzgzLDcgKzIzODMsNyBAQCBwZ19zdGF0 X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMpOwog CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLm1pc3NlZF9k ZWFkX3R1cGxlcyk7CiAKLQl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZXh0dmFjdXVt LT50YWJsZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IElu dDMyR2V0RGF0dW0oZXh0dmFjdXVtLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5pbmRleF92YWN1 dW1fY291bnQpOwogCiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ d2FsX3JlY29yZHMpOwpAQCAtMjUxMyw2ICsyNTEzLDEwNCBAQCBwZ19zdGF0X2dldF92YWN1 dW1faW5kZXhlcyhQR19GVU5DVElPTl9BUkdTKQogCiAJQXNzZXJ0KGkgPT0gUEdfU1RBVF9H RVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMpOwogCisJLyogUmV0dXJucyB0aGUgcmVjb3Jk IGFzIERhdHVtICovCisJUEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBf Zm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKSkpOworfQorCitEYXR1bQorcGdf c3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJI2RlZmlu ZSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUwkxNAorCisJT2lkCQkJ CQkJIGRiaWQgPSBQR19HRVRBUkdfT0lEKDApOworCVBnU3RhdF9TdGF0REJFbnRyeSAJCSpk YmVudHJ5OworCUV4dFZhY1JlcG9ydCAJCQkqZXh0dmFjdXVtOworCVR1cGxlRGVzYwkJCQkg dHVwZGVzYzsKKwlEYXR1bQkJCQkJIHZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJB U0VfU1RBVFNfQ09MU10gPSB7MH07CisJYm9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZB Q1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQkJCQkgYnVmWzI1Nl07 CisJaW50CQkJCQkJIGkgPSAwOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOworCisJLyogSW5p dGlhbGlzZSBhdHRyaWJ1dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBkZXNjcmlwdG9y ICovCisJdHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NUQVRfR0VUX1ZB Q1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAiZGJpZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRv dGFsXyBibGtzX3JlYWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIs CisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfZGlydGllZCIsCisJCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgInRvdGFsX2Jsa3Nfd3JpdHRlbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndh bF9yZWNvcmRzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2ZwaSIsCisJCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgIndhbF9ieXRlcyIsCisJCQkJCSAgIE5VTUVSSUNPSUQsIC0xLCAwKTsKKwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3Jl YWRfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJ CQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAiZGVsYXlfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAidG90YWxfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVz Y0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid3JhcGFyb3VuZF9mYWls c2FmZV9jb3VudCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImVycm9ycyIsCisJCQkJCSAgIElO VDRPSUQsIC0xLCAwKTsKKworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRB QkFTRV9TVEFUU19DT0xTKTsKKworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCisJZGJl bnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X2RiZW50cnkoZGJpZCk7CisKKwlpZiAoZGJlbnRy eSA9PSBOVUxMKQorCXsKKwkJLyogSWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBub3QgZm91bmQs IGluaXRpYWxpc2UgaXRzIHN0YXRzICovCisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9m KEV4dFZhY1JlcG9ydCkpOworCQlleHR2YWN1dW0gPSAmYWxsemVybzsKKwl9CisJZWxzZQor CXsKKwkJZXh0dmFjdXVtID0gJihkYmVudHJ5LT52YWN1dW1fZXh0KTsKKwl9CisKKwlpID0g MDsKKworCXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXREYXR1bShkYmlkKTsKKworCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19oaXQp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3Nf ZGlydGllZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90 YWxfYmxrc193cml0dGVuKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPndhbF9yZWNvcmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT53YWxfZnBpKTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlrZSBwZ19z dGF0X3N0YXRlbWVudHMgKi8KKwlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9G T1JNQVQsIGV4dHZhY3V1bS0+d2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1 bmN0aW9uQ2FsbDMobnVtZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1 ZiksCisJCQkJCQkJCQkgIE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkgIEludDMy R2V0RGF0dW0oLTEpKTsKKworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFj dXVtLT5ibGtfcmVhZF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4 dHZhY3V1bS0+YmxrX3dyaXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0 dW0oZXh0dmFjdXVtLT5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERh dHVtKGV4dHZhY3V1bS0+dG90YWxfdGltZSk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERh dHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2kr K10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+ZXJyb3JzKTsKKworCUFzc2VydChpID09 IFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTKTsKKwogCS8qIFJldHVy bnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLwogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVH ZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKIH0K XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9taXNjL2d1Y190YWJsZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3Rh Ymxlcy5jCmluZGV4IDQyZjRjYWM1ZTBlLi5hMjRkZWM2M2YzYSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvbWlzYy9ndWNfdGFibGVzLmMKQEAgLTE1MTQsNyArMTUxNCw3IEBAIHN0cnVjdCBjb25m aWdfYm9vbCBDb25maWd1cmVOYW1lc0Jvb2xbXSA9CiAJCQlOVUxMCiAJCX0sCiAJCSZwZ3N0 YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MsCi0JCXRydWUsCisJCWZhbHNlLAogCQlOVUxM LCBOVUxMLCBOVUxMCiAJfSwKIAl7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCA4 Yzc3YWU5NjEwMC4uNGUxZTI5ZWVjN2UgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApA QCAtMTI1NzUsMTIgKzEyNTc1LDIxIEBACiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0 dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9zcmMgPT4gJ3Bn X3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzJyB9LAogeyBvaWQgPT4gJzgwMDQnLAot ICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0dXJuIHN0YXRzIHZh bHVlcycsCisgIGRlc2NyID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyByZXR1cm5z IHZhY3V1bSBzdGF0cyB2YWx1ZXMgZm9yIGluZGV4JywKICAgcHJvbmFtZSA9PiAncGdfc3Rh dF9nZXRfdmFjdXVtX2luZGV4ZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCiAgIHBy b3JldHNldCA9PiAndCcsCiAgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9hbGxhcmd0 eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LGludDgsaW50OCxudW1lcmljLGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OH0nLAog ICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30n LAogICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9ibGtzX3JlYWQsdG90 YWxfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxf Ymxrc19yZWFkLHJlbF9ibGtzX2hpdCxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLHdh bF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3Rp bWUsZGVsYXlfdGltZSx0b3RhbF90aW1lfScsCi0gIHByb3NyYyA9PiAncGdfc3RhdF9nZXRf dmFjdXVtX2luZGV4ZXMnIH0KKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5k ZXhlcycgfSwKK3sgb2lkID0+ICc4MDA1JywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3Zh Y3V1bV9kYXRhYmFzZSByZXR1cm5zIHZhY3V1bSBzdGF0cyB2YWx1ZXMgZm9yIGRhdGFiYXNl JywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlJywgcHJvcm93 cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcs cHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBl cyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4 LGludDQsaW50NH0nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7ZGJpZCxkYm9pZCxkYl9ibGtzX3Jl YWQsZGJfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbix3 YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90aW1lLGJsa193cml0ZV90 aW1lLGRlbGF5X3RpbWUsdG90YWxfdGltZSx3cmFwYXJvdW5kX2ZhaWxzYWZlLGVycm9yc30n LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZScgfSwKIF0KZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgK aW5kZXggNGRlZjJjNjBkMWQuLmY4MTU4YWEzNTNjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTU0LDYgKzE1NCw5 IEBAIHR5cGVkZWYgc3RydWN0IEV4dFZhY1JlcG9ydAogCiAJaW50NjQJCXR1cGxlc19kZWxl dGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCiAKKwlpbnQzMgkJZXJyb3Jz OworCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9m IHRpbWVzIHRvIHByZXZlbnQgd3JhcGFyb3VuZCBwcm9ibGVtICovCisKIAlFeHRWYWNSZXBv cnRUeXBlIHR5cGU7CQkvKiBoZWFwLCBpbmRleCwgZXRjLiAqLwogCiAJLyogLS0tLS0tLS0t LQpAQCAtMTgzLDcgKzE4Niw2IEBAIHR5cGVkZWYgc3RydWN0IEV4dFZhY1JlcG9ydAogCQkJ aW50NjQJCW1pc3NlZF9kZWFkX3R1cGxlczsJCS8qIHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZh Y3V1bSBkdWUgdG8gZmFpbHVyZSB0byBnZXQgYSBjbGVhbnVwIGxvY2sgKi8KIAkJCWludDY0 CQltaXNzZWRfZGVhZF9wYWdlczsJCS8qIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVwbGVz ICovCiAJCQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXgg dmFjdXVtaW5ncyAqLwotCQkJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CS8q IG51bWJlciBvZiBlbWVyZ2VuY3kgdmFjdXVtcyB0byBwcmV2ZW50IGFudGktd3JhcGFyb3Vu ZCBzaHV0ZG93biAqLwogCQl9CQkJdGFibGU7CiAJCXN0cnVjdAogCQl7CkBAIC03NjIsNiAr NzY0LDcgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lk LCBib29sIHNoYXJlZCwKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxh dGlvbiByZWwsCiAJCQkJCQkJCSAgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0 X0NvdW50ZXIgZGVhZHR1cGxlcywKIAkJCQkJCQkJICBib29sIHJlc2V0Y291bnRlciwgVGlt ZXN0YW1wVHogc3RhcnR0aW1lKTsKK2V4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpOwogCiAvKgog ICogSWYgc3RhdHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0IGJlZW4g cHJlcGFyZWQgeWV0LCBjYWxsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vc3Bl Y3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVjIGIvc3JjL3Rlc3Qv aXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3Bl YwppbmRleCA1ODkzZDg5NTczZC4uY2ZlYzMxNTk1ODAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNw ZWMKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4t cmVwZXRhYmxlLXJlYWQuc3BlYwpAQCAtMTgsNiArMTgsOSBAQCB0ZWFyZG93bgogfQogCiBz ZXNzaW9uIHMxCitzZXR1cAkJeworICAgIFNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBU TyAnb24nOworICAgIH0KIHN0ZXAgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkICAgewogICBC RUdJTiB0cmFuc2FjdGlvbiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOwogICBz ZWxlY3QgY291bnQoaXZhbCkgZnJvbSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVy ZSBpZD45MDA7CkBAIC0yNSw2ICsyOCw5IEBAIHN0ZXAgczFfYmVnaW5fcmVwZWF0YWJsZV9y ZWFkICAgewogc3RlcCBzMV9jb21taXQgICAgICAgICAgICAgICAgICB7IENPTU1JVDsgfQog CiBzZXNzaW9uIHMyCitzZXR1cAkJeworICAgIFNFVCB0cmFja192YWN1dW1fc3RhdGlzdGlj cyBUTyAnb24nOworICAgIH0KIHN0ZXAgczJfaW5zZXJ0ICAgICAgICAgICAgICAgICAgeyBJ TlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbihpZCwgaXZhbCkgU0VMRUNU IGl2YWwsIGl2YWwlMTAgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwxMDAwKSBBcyBpdmFsOyB9 CiBzdGVwIHMyX3VwZGF0ZSAgICAgICAgICAgICAgICAgIHsgVVBEQVRFIHRlc3RfdmFjdXVt X3N0YXRfaXNvbGF0aW9uIFNFVCBpdmFsID0gaXZhbCArIDIgd2hlcmUgaWQgPiA5MDA7IH0K IHN0ZXAgczJfZGVsZXRlICAgICAgICAgICAgICAgICAgeyBERUxFVEUgRlJPTSB0ZXN0X3Zh Y3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVyZSBpZCA+IDkwMDsgfQpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3J1bGVzLm91dAppbmRleCA0ZTVlNWNhNTRkYS4uZjYzZjI1Zjk0ZDggMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0yMjgzLDYgKzIyODMsMjMgQEAg cGdfc3RhdF91c2VyX3RhYmxlc3wgU0VMRUNUIHJlbGlkLAogICAgIHJldl9hbGxfdmlzaWJs ZV9wYWdlcwogICAgRlJPTSBwZ19zdGF0X2FsbF90YWJsZXMKICAgV0hFUkUgKChzY2hlbWFu YW1lIDw+IEFMTCAoQVJSQVlbJ3BnX2NhdGFsb2cnOjpuYW1lLCAnaW5mb3JtYXRpb25fc2No ZW1hJzo6bmFtZV0pKSBBTkQgKHNjaGVtYW5hbWUgIX4gJ15wZ190b2FzdCc6OnRleHQpKTsK K3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNlfCBTRUxFQ1QgZGIub2lkIEFTIGRib2lkLAorICAg IGRiLmRhdG5hbWUgQVMgZGJuYW1lLAorICAgIHN0YXRzLmRiX2Jsa3NfcmVhZCwKKyAgICBz dGF0cy5kYl9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsCisgICAg c3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0YXRzLndhbF9yZWNvcmRzLAorICAg IHN0YXRzLndhbF9mcGksCisgICAgc3RhdHMud2FsX2J5dGVzLAorICAgIHN0YXRzLmJsa19y ZWFkX3RpbWUsCisgICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisgICAgc3RhdHMuZGVsYXlf dGltZSwKKyAgICBzdGF0cy50b3RhbF90aW1lLAorICAgIHN0YXRzLndyYXBhcm91bmRfZmFp bHNhZmUsCisgICAgc3RhdHMuZXJyb3JzCisgICBGUk9NIHBnX2RhdGFiYXNlIGRiLAorICAg IExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKGRiLm9pZCkgc3RhdHMoZGJv aWQsIGRiX2Jsa3NfcmVhZCwgZGJfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90 YWxfYmxrc193cml0dGVuLCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtf cmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSwgZGVsYXlfdGltZSwgdG90YWxfdGltZSwgd3Jh cGFyb3VuZF9mYWlsc2FmZSwgZXJyb3JzKTsKIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXN8IFNF TEVDVCByZWwub2lkIEFTIHJlbGlkLAogICAgIG5zLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwK ICAgICByZWwucmVsbmFtZSwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKaW5kZXggZTAwYTBmYzY4M2MuLjll NWQzMzM0MmM5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1 bV9pbmRleF9zdGF0aXN0aWNzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dApAQCAtMTYsOCArMTYsMTIgQEAgU0hPVyB0 cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCiBcc2V0IHNhbXBsZV9zaXplIDEwMDAwCiAt LSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCiBT RVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwotLS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0 aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0ZXIgaXMgb2ZmLgotU0VUIHRyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOworU0hPVyB0cmFja192YWN1dW1fc3RhdGlz dGljczsgIC0tIG11c3QgYmUgb2ZmCisgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgb2ZmCisoMSByb3cpCisKIENSRUFURSBUQUJMRSB2 ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CiBBTkFMWVpFIHZlc3RhdDsKQEAgLTMzLDEy ICszNyw3IEBAIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKIAogUkVTRVQgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3M7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwotU0hPVyB0 cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KLSB0cmFja192YWN1dW1f c3RhdGlzdGljcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBvbgotKDEgcm93KQot CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29uJzsKIC0tIGVuc3VyZSBwZW5k aW5nIHN0YXRzIGFyZSBmbHVzaGVkCiBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNo KCk7CiAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIApAQCAtMTgxLDMgKzE4MCw0IEBAIFdI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwog KDEgcm93KQogCiBEUk9QIFRBQkxFIHZlc3RhdDsKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1f dGFibGVzX3N0YXRpc3RpY3Mub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dApzaW1pbGFyaXR5IGluZGV4IDgyJQpy ZW5hbWUgZnJvbSBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcy5vdXQKcmVuYW1lIHRvIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVt X3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXQKaW5kZXggYjVlYTljOWFiMWUuLjAzMDBl N2I2Mjc2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92 YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dApAQCAtNiw3ICs2LDYgQEAKIC0t IG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5k LgogLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3Qg YmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCiAtLQotLS0gY29uZGl0aW8gc2lu ZSBxdWEgbm9uCiBTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KICB0cmFja19j b3VudHMgCiAtLS0tLS0tLS0tLS0tLQpAQCAtMTYsOCArMTUsMTIgQEAgU0hPVyB0cmFja19j b3VudHM7ICAtLSBtdXN0IGJlIG9uCiBcc2V0IHNhbXBsZV9zaXplIDEwMDAwCiAtLSBub3Qg ZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCiBTRVQgdHJh Y2tfZnVuY3Rpb25zIFRPICdhbGwnOwotLS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNz IHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0ZXIgaXMgb2ZmLgotU0VUIHRyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzIFRPICdvZmYnOworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsg IC0tIG11c3QgYmUgb2ZmCisgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgb2ZmCisoMSByb3cpCisKIENSRUFURSBUQUJMRSB2ZXN0YXQg KHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAx MCk7CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMo MSw6c2FtcGxlX3NpemUpIGFzIHg7CiBBTkFMWVpFIHZlc3RhdDsKQEAgLTM3LDEyICs0MCwx MiBAQCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiAKIFJFU0VUIHRyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzOwogRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKLVNIT1cgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCi0gdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3MgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gb24KLSgxIHJvdykKLQorQ1JF QVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKK0NSRUFURSBE QVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworXGMgcmVncmVzc2lv bl9zdGF0aXN0aWNfdmFjdXVtX2RiOworU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRP IG9uOworLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBp dC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKIC0tIGVuc3VyZSBwZW5kaW5n IHN0YXRzIGFyZSBmbHVzaGVkCiBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7 CiAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIApAQCAtMjI1LDMgKzIyOCw2OSBAQCBGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcy5yZWxuYQogKDEgcm93KQogCiBEUk9QIFRBQkxFIHZlc3RhdCBD QVNDQURFOworLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBjdXJyZW50IGRh dGFiYXNlCitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9i bGtzX2hpdCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFsX2Jsa3Nf ZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFsX2Jsa3Nf d3JpdHRlbiwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCisgICAg ICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdh bF9ieXRlcywKKyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitw Z19zdGF0X3ZhY3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gY3VycmVudF9kYXRhYmFz ZSgpOworICAgICAgICAgICAgIGRibmFtZSAgICAgICAgICAgICB8IGRiX2Jsa3NfaGl0IHwg dG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwgd2FsX3JlY29yZHMg fCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgdG90YWxfdGltZSAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiIHwgdCAgICAg ICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAg ICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCB0CisoMSByb3cpCisKKy0tIGVuc3Vy ZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0 X2ZsdXNoKCk7CisgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQp IFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lO U0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1w bGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworVVBEQVRFIHZlc3RhdCBTRVQgeCA9 IDEwMDAxOworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2 ZXN0YXQ7CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworU0VUIHRyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzIFRPIG9uOworLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0 aWNzIGZvciBwb3N0Z3JlcyBkYXRhYmFzZSBmcm9tIGFub3RoZXIgZGF0YWJhc2UKK1NFTEVD VCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Jsa3NfaGl0LAorICAg ICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAg ICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193cml0dGVuLAorICAg ICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID4g MCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzLAorICAg ICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3BnX3N0YXRfdmFjdXVt X2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSAncmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVt X2RiJzsKKyAgICAgICAgICAgICBkYm5hbWUgICAgICAgICAgICAgfCBkYl9ibGtzX2hpdCB8 IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHdhbF9yZWNvcmRz IHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IHRvdGFsX3RpbWUgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYiB8IHQgICAg ICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAg ICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgdAorKDEgcm93KQorCitcYyByZWdy ZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIKK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGlj cyBUTyBvbjsKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CitcYyByZWdyZXNzaW9uX3N0 YXRpc3RpY192YWN1dW1fZGIxOworU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPIG9u OworU0VMRUNUIGNvdW50KCopCitGUk9NIHBnX2RhdGFiYXNlIGQKK0NST1NTIEpPSU4gcGdf c3RhdF9nZXRfdmFjdXVtX3RhYmxlcygwKQorV0hFUkUgb2lkID0gMDsgLS0gbXVzdCBiZSAw CisgY291bnQgCistLS0tLS0tCisgICAgIDAKKygxIHJvdykKKworXGMgcG9zdGdyZXMKK0RS T1AgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK0RST1AgREFU QUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOworUkVTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3M7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVs X3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQppbmRleCAw MTk3ODMwYjVjZC4uZmEyNDg5NzE2Y2MgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv cGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hl ZHVsZQpAQCAtMTQ1LDQgKzE0NSw0IEBAIHRlc3Q6IHRhYmxlc3BhY2UKICMgQ2hlY2sgdmFj dXVtIHN0YXRpc3RpY3MKICMgLS0tLS0tLS0tLQogdGVzdDogdmFjdXVtX2luZGV4X3N0YXRp c3RpY3MKLXRlc3Q6IHZhY3V1bV90YWJsZXNfc3RhdGlzdGljcwpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKK3Rlc3Q6IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3MKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwKaW5kZXggYWUxNDZlMWQyM2YuLjliN2U2 NDUxODdkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhf c3RhdGlzdGljcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4 X3N0YXRpc3RpY3Muc3FsCkBAIC0xNCw4ICsxNCw3IEBAIFNIT1cgdHJhY2tfY291bnRzOyAg LS0gbXVzdCBiZSBvbgogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQg dG8gdGVzdCBpdC4uLgogU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKIAotLS0gVGVz dCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0ZXIg aXMgb2ZmLgotU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOworU0hPVyB0 cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb2ZmCiAKIENSRUFURSBUQUJM RSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxm YWN0b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0 ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CkBAIC0zMyw3ICszMiw3IEBAIFdIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKIFJFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz OwogRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKIAotU0hPVyB0cmFja192YWN1dW1fc3Rh dGlzdGljczsgIC0tIG11c3QgYmUgb24KK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBU TyAnb24nOwogCiAtLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAogU0VMRUNU IHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOwpAQCAtMTQ5LDMgKzE0OCw0IEBAIEZST00g cGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwogV0hFUkUgdnQucmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAKIERST1AgVEFCTEUg dmVzdGF0OworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwK c2ltaWxhcml0eSBpbmRleCA4MSUKcmVuYW1lIGZyb20gc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbApyZW5hbWUgdG8gc3JjL3Rlc3QvcmVncmVz cy9zcWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwKaW5kZXggNWJjMzRi ZWM2NGIuLmNhN2RiZGU5Mzg3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92 YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsCkBAIC03LDE1ICs3LDEzIEBA CiAtLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBi ZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KIC0tCiAKLS0tIGNvbmRpdGlvIHNp bmUgcXVhIG5vbgogU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCiBcc2V0IHNh bXBsZV9zaXplIDEwMDAwCiAKIC0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3 YW50IHRvIHRlc3QgaXQuLi4KIFNFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CiAKLS0t IFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1l dGVyIGlzIG9mZi4KLVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK1NI T1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9mZgogCiBDUkVBVEUg VEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBm aWxsZmFjdG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwpAQCAtMzYsNyArMzQsMTMgQEAg V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3M7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwogCi1TSE9XIHRyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgorQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Np b25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0 YXRpc3RpY192YWN1dW1fZGIxOworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2Ri OworU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPIG9uOworCistLSBub3QgZW5hYmxl ZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tfZnVu Y3Rpb25zIFRPICdhbGwnOwogCiAtLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hl ZAogU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOwpAQCAtMTgwLDQgKzE4NCw1 OSBAQCBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3Rh dDsKIFNFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID0gOnBmIEFTIHZtX25ld19mcm96ZW5f cGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFn ZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gOnB2ZiBBUyB2bV9uZXdfdmlzaWJs ZV9mcm96ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2X2Fs bF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2X2Fs bF92aXNpYmxlX3BhZ2VzCiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9h bGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3Rh dCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxl cy5yZWxpZDsKIAotRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworCistLSBOb3cgY2hl Y2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1cnJlbnQgZGF0YWJhc2UKK1NFTEVDVCBkYm5h bWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Jsa3NfaGl0LAorICAgICAgIHRv dGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAgICAgIHRv dGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193cml0dGVuLAorICAgICAgIHdh bF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID4gMCBBUyB3 YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzLAorICAgICAgIHRv dGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3BnX3N0YXRfdmFjdXVtX2RhdGFi YXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCk7CisKKy0tIGVuc3VyZSBw ZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2Zs dXNoKCk7CisKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVt X2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQg U0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitB TkFMWVpFIHZlc3RhdDsKK1VQREFURSB2ZXN0YXQgU0VUIHggPSAxMDAwMTsKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCitcYyByZWdy ZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzIFRPIG9uOworCistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHBvc3Rn cmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAg ICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxr c19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxr c193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29y ZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGks CisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAgICAgdG90YWxfdGlt ZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UKK1dI RVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGInOworCitcYyBy ZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIKK1NFVCB0cmFja192YWN1dW1fc3RhdGlz dGljcyBUTyBvbjsKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKworXGMgcmVncmVz c2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGlj cyBUTyBvbjsKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19kYXRhYmFzZSBkCitDUk9TUyBK T0lOIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoMCkKK1dIRVJFIG9pZCA9IDA7IC0tIG11 c3QgYmUgMAorCitcYyBwb3N0Z3JlcworRFJPUCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRp c3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192 YWN1dW1fZGI7CitSRVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCi0tIAoyLjM0LjEKCg== --------------W8OTiSHlibzsm9Q0DRhMKYVj Content-Type: text/x-patch; charset=UTF-8; name="v23-0004-Vacuum-statistics-have-been-separated-from-regular-r.patch" Content-Disposition: attachment; filename*0="v23-0004-Vacuum-statistics-have-been-separated-from-regular-"; filename*1="r.patch" Content-Transfer-Encoding: base64 RnJvbSA1MjIyMWMzMzhhN2E3Yjg0MjQzN2UzYmZmMGMzODUxOTIyMzNkM2U1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAyIEp1biAyMDI1IDIyOjI0OjM4ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCA0LzVdIFZhY3V1bSBzdGF0aXN0aWNzIGhhdmUgYmVlbiBzZXBhcmF0ZWQg ZnJvbSByZWd1bGFyCiByZWxhdGlvbiBhbmQgZGF0YWJhc2Ugc3RhdGlzdGljcyB0byByZWR1 Y2UgbWVtb3J5IHVzYWdlLiBEZWRpY2F0ZWQKIFBHU1RBVF9LSU5EX1ZBQ1VVTV9SRUxBVElP TiBhbmQgUEdTVEFUX0tJTkRfVkFDVVVNX0RCIGVudHJpZXMgd2VyZSBhZGRlZCB0bwogdGhl IHN0YXRzIGNvbGxlY3RvciB0byBlZmZpY2llbnRseSBhbGxvY2F0ZSBtZW1vcnkgZm9yIHZh Y3V1bS1zcGVjaWZpYwogbWV0cmljcywgd2hpY2ggcmVxdWlyZSBzaWduaWZpY2FudGx5IG1v cmUgc3BhY2UgcGVyIHJlbGF0aW9uLgoKLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMgICAgICAgICAgfCAxOTQgKysrKysrLS0tLS0tCiBzcmMvYmFja2VuZC9j YXRhbG9nL2hlYXAuYyAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQv Y2F0YWxvZy9pbmRleC5jICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8IDE3OCArKysrKy0tLS0tLQog c3JjL2JhY2tlbmQvY29tbWFuZHMvZGJjb21tYW5kcy5jICAgICAgICAgICAgIHwgICAxICsK IHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgICAgICAgICB8ICAxNCAr LQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvTWFrZWZpbGUgICAgICAgICAgIHwgICAx ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAy OCArKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgIHwg IDEwICstCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAg fCAxMTEgKy0tLS0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1 bS5jICAgIHwgMjE1ICsrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0 YXRmdW5jcy5jICAgICAgICAgICB8IDI4NSArKysrKy0tLS0tLS0tLS0tLS0KIHNyYy9pbmNs dWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2lu Y2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAwICsrKysrKy0t LS0tLQogc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmggICAgICAgICAgIHwg IDE1ICsKIHNyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9raW5kLmggICAgICAgICAgICAgICB8 ICAgNCArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICAgICAgICAg IHwgMTQ2ICsrKystLS0tLQogLi4uL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNz Lm91dCAgICAgIHwgIDgyICsrLS0tCiAuLi4vcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0 YXRpc3RpY3Muc3FsICAgfCAgNDggKy0tCiAxOSBmaWxlcyBjaGFuZ2VkLCA4MDUgaW5zZXJ0 aW9ucygrKSwgNzMxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0uYwoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9o ZWFwL3ZhY3V1bWxhenkuYwppbmRleCAzZDcyZjc0YjA1ZS4uMGM4MjhmYjkwZGQgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTQxMyw3ICs0MTMsNyBAQCB0 eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAKIAlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2Fm ZV9jb3VudDsgLyogbnVtYmVyIG9mIGVtZXJnZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50 aS13cmFwYXJvdW5kIHNodXRkb3duICovCiAKLQlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0 SWR4OworCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyBleHRWYWNSZXBvcnRJZHg7CiB9 IExWUmVsU3RhdGU7CiAKIApAQCAtNTI1LDcgKzUyNSw3IEBAIGV4dHZhY19zdGF0c19zdGFy dChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVycykKICAqLwogc3Rh dGljIHZvaWQKIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3Vu dGVycyAqY291bnRlcnMsCi0JCQkJICBFeHRWYWNSZXBvcnQgKnJlcG9ydCkKKwkJCQkgUGdT dGF0X0NvbW1vbkNvdW50cyAqcmVwb3J0KQogewogCVdhbFVzYWdlCXdhbHVzYWdlOwogCUJ1 ZmZlclVzYWdlCWJ1ZnVzYWdlOwpAQCAtNTg2LDYgKzU4Niw4IEBAIGV4dHZhY19zdGF0c19z dGFydF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0YXRzLAog CWlmKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCiAJCXJldHVybjsKIAorCW1l bXNldCgmY291bnRlcnMtPmNvbW1vbiwgMCwgc2l6ZW9mKExWRXh0U3RhdENvdW50ZXJzKSk7 CisKIAkvKiBTZXQgaW5pdGlhbCB2YWx1ZXMgZm9yIGNvbW1vbiBoZWFwIGFuZCBpbmRleCBz dGF0aXN0aWNzKi8KIAlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAmY291bnRlcnMtPmNvbW1v bik7CiAJY291bnRlcnMtPnBhZ2VzX2RlbGV0ZWQgPSBjb3VudGVycy0+dHVwbGVzX3JlbW92 ZWQgPSAwOwpAQCAtNjAzLDExICs2MDUsMTMgQEAgZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChS ZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCiAKIHZvaWQKIGV4 dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0 ICpzdGF0cywKLQkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywgRXh0VmFj UmVwb3J0ICpyZXBvcnQpCisJCQkJCSBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMs IFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqcmVwb3J0KQogewotCW1lbXNldChyZXBv cnQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwlpZighcGdzdGF0X3RyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmNv dW50ZXJzLT5jb21tb24sICZyZXBvcnQtPmNvbW1vbik7CiAKLQlleHR2YWNfc3RhdHNfZW5k KHJlbCwgJmNvdW50ZXJzLT5jb21tb24sIHJlcG9ydCk7CiAJcmVwb3J0LT50eXBlID0gUEdT VEFUX0VYVFZBQ19JTkRFWDsKIAogCWlmIChzdGF0cyAhPSBOVUxMKQpAQCAtNjE4LDcgKzYy Miw3IEBAIGV4dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICpzdGF0cywKIAkJICovCiAKIAkJLyogRmlsbCBpbmRleC1zcGVjaWZpYyBl eHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KLQkJcmVwb3J0LT50dXBsZXNfZGVsZXRlZCA9CisJ CXJlcG9ydC0+Y29tbW9uLnR1cGxlc19kZWxldGVkID0KIAkJCQkJCQlzdGF0cy0+dHVwbGVz X3JlbW92ZWQgLSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQ7CiAJCXJlcG9ydC0+aW5kZXgu cGFnZXNfZGVsZXRlZCA9CiAJCQkJCQkJc3RhdHMtPnBhZ2VzX2RlbGV0ZWQgLSBjb3VudGVy cy0+cGFnZXNfZGVsZXRlZDsKQEAgLTY0MSw3ICs2NDUsNyBAQCBleHR2YWNfc3RhdHNfZW5k X2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCiAgICog cHJvY3VkdXJlLgogKi8KIHN0YXRpYyB2b2lkCi1hY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0 YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBFeHRWYWNSZXBvcnQgKmV4dFZhY1N0YXRz KQorYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3Jl bCwgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpleHRWYWNTdGF0cykKIHsKIAlpZiAo IXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKIAkJcmV0dXJuOwpAQCAtNjUzLDQ5 ICs2NTcsNDkgQEAgYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3Rh dGUgKnZhY3JlbCwgRXh0VmFjUmVwb3J0ICpleHRWYWNTdGF0cykKIAlleHRWYWNTdGF0cy0+ dGFibGUudm1fbmV3X2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdl czsKIAlleHRWYWNTdGF0cy0+dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXMgPSB2YWNyZWwt PnZtX25ld192aXNpYmxlX3BhZ2VzOwogCWV4dFZhY1N0YXRzLT50YWJsZS52bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMgPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdl czsKLQlleHRWYWNTdGF0cy0+dHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxl dGVkOworCWV4dFZhY1N0YXRzLT5jb21tb24udHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1 cGxlc19kZWxldGVkOwogCWV4dFZhY1N0YXRzLT50YWJsZS50dXBsZXNfZnJvemVuID0gdmFj cmVsLT50dXBsZXNfZnJvemVuOwogCWV4dFZhY1N0YXRzLT50YWJsZS5yZWNlbnRseV9kZWFk X3R1cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7CiAJZXh0VmFjU3RhdHMt PnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1 cGxlczsKIAlleHRWYWNTdGF0cy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVs LT5taXNzZWRfZGVhZF90dXBsZXM7CiAJZXh0VmFjU3RhdHMtPnRhYmxlLm1pc3NlZF9kZWFk X3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKIAlleHRWYWNTdGF0cy0+dGFi bGUuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7Ci0JZXh0 VmFjU3RhdHMtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91 bmRfZmFpbHNhZmVfY291bnQ7CisJZXh0VmFjU3RhdHMtPmNvbW1vbi53cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50ID0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OwogCi0J ZXh0VmFjU3RhdHMtPmJsa19yZWFkX3RpbWUgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu YmxrX3JlYWRfdGltZTsKLQlleHRWYWNTdGF0cy0+YmxrX3dyaXRlX3RpbWUgLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHguYmxrX3dyaXRlX3RpbWU7Ci0JZXh0VmFjU3RhdHMtPnRvdGFs X2Jsa3NfZGlydGllZCAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX2Rp cnRpZWQ7Ci0JZXh0VmFjU3RhdHMtPnRvdGFsX2Jsa3NfaGl0IC09IHZhY3JlbC0+ZXh0VmFj UmVwb3J0SWR4LnRvdGFsX2Jsa3NfaGl0OwotCWV4dFZhY1N0YXRzLT50b3RhbF9ibGtzX3Jl YWQgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfYmxrc19yZWFkOwotCWV4dFZh Y1N0YXRzLT50b3RhbF9ibGtzX3dyaXR0ZW4gLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu dG90YWxfYmxrc193cml0dGVuOwotCWV4dFZhY1N0YXRzLT53YWxfYnl0ZXMgLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHgud2FsX2J5dGVzOwotCWV4dFZhY1N0YXRzLT53YWxfZnBpIC09 IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9mcGk7Ci0JZXh0VmFjU3RhdHMtPndhbF9y ZWNvcmRzIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9yZWNvcmRzOworCWV4dFZh Y1N0YXRzLT5jb21tb24uYmxrX3JlYWRfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElk eC5jb21tb24uYmxrX3JlYWRfdGltZTsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLmJsa193cml0 ZV90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi5ibGtfd3JpdGVfdGlt ZTsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLnRvdGFsX2Jsa3NfZGlydGllZCAtPSB2YWNyZWwt PmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxfYmxrc19kaXJ0aWVkOworCWV4dFZhY1N0 YXRzLT5jb21tb24udG90YWxfYmxrc19oaXQgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu Y29tbW9uLnRvdGFsX2Jsa3NfaGl0OworCWV4dFZhY1N0YXRzLT5jb21tb24udG90YWxfYmxr c19yZWFkIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi50b3RhbF9ibGtzX3Jl YWQ7CisJZXh0VmFjU3RhdHMtPmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4gLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHguY29tbW9uLnRvdGFsX2Jsa3Nfd3JpdHRlbjsKKwlleHRWYWNT dGF0cy0+Y29tbW9uLndhbF9ieXRlcyAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21t b24ud2FsX2J5dGVzOworCWV4dFZhY1N0YXRzLT5jb21tb24ud2FsX2ZwaSAtPSB2YWNyZWwt PmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX2ZwaTsKKwlleHRWYWNTdGF0cy0+Y29tbW9u LndhbF9yZWNvcmRzIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi53YWxfcmVj b3JkczsKIAotCWV4dFZhY1N0YXRzLT50b3RhbF90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LnRvdGFsX3RpbWU7Ci0JZXh0VmFjU3RhdHMtPmRlbGF5X3RpbWUgLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHguZGVsYXlfdGltZTsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLnRv dGFsX3RpbWUgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLnRvdGFsX3RpbWU7 CisJZXh0VmFjU3RhdHMtPmNvbW1vbi5kZWxheV90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LmNvbW1vbi5kZWxheV90aW1lOwogCiB9CiAKIHN0YXRpYyB2b2lkCi1hY2N1bXVs YXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBFeHRWYWNS ZXBvcnQgKmV4dFZhY0lkeFN0YXRzKQorYWNjdW11bGF0ZV9pZHhzX3ZhY3V1bV9zdGF0aXN0 aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpl eHRWYWNJZHhTdGF0cykKIHsKIAlpZiAoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGlj cykKIAkJcmV0dXJuOwogCiAJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRz IGZpZWxkcyAqLwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmJsa19yZWFkX3RpbWUgKz0g ZXh0VmFjSWR4U3RhdHMtPmJsa19yZWFkX3RpbWU7Ci0JdmFjcmVsLT5leHRWYWNSZXBvcnRJ ZHguYmxrX3dyaXRlX3RpbWUgKz0gZXh0VmFjSWR4U3RhdHMtPmJsa193cml0ZV90aW1lOwot CXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LnRvdGFsX2Jsa3NfZGlydGllZCArPSBleHRWYWNJ ZHhTdGF0cy0+dG90YWxfYmxrc19kaXJ0aWVkOwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4 LnRvdGFsX2Jsa3NfaGl0ICs9IGV4dFZhY0lkeFN0YXRzLT50b3RhbF9ibGtzX2hpdDsKLQl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX3JlYWQgKz0gZXh0VmFjSWR4U3Rh dHMtPnRvdGFsX2Jsa3NfcmVhZDsKLQl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9i bGtzX3dyaXR0ZW4gKz0gZXh0VmFjSWR4U3RhdHMtPnRvdGFsX2Jsa3Nfd3JpdHRlbjsKLQl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC53YWxfYnl0ZXMgKz0gZXh0VmFjSWR4U3RhdHMtPndh bF9ieXRlczsKLQl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC53YWxfZnBpICs9IGV4dFZhY0lk eFN0YXRzLT53YWxfZnBpOwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9yZWNvcmRz ICs9IGV4dFZhY0lkeFN0YXRzLT53YWxfcmVjb3JkczsKLQl2YWNyZWwtPmV4dFZhY1JlcG9y dElkeC5kZWxheV90aW1lICs9IGV4dFZhY0lkeFN0YXRzLT5kZWxheV90aW1lOwotCi0JdmFj cmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfdGltZSArPSBleHRWYWNJZHhTdGF0cy0+dG90 YWxfdGltZTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24uYmxrX3JlYWRfdGlt ZSArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLmJsa19yZWFkX3RpbWU7CisJdmFjcmVsLT5l eHRWYWNSZXBvcnRJZHguY29tbW9uLmJsa193cml0ZV90aW1lICs9IGV4dFZhY0lkeFN0YXRz LT5jb21tb24uYmxrX3dyaXRlX3RpbWU7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLnRvdGFsX2Jsa3NfZGlydGllZCArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLnRvdGFs X2Jsa3NfZGlydGllZDsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxf Ymxrc19oaXQgKz0gZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi50b3RhbF9ibGtzX2hpdDsKKwl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxfYmxrc19yZWFkICs9IGV4dFZh Y0lkeFN0YXRzLT5jb21tb24udG90YWxfYmxrc19yZWFkOworCXZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4gKz0gZXh0VmFjSWR4U3RhdHMtPmNv bW1vbi50b3RhbF9ibGtzX3dyaXR0ZW47CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLndhbF9ieXRlcyArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLndhbF9ieXRlczsKKwl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX2ZwaSArPSBleHRWYWNJZHhTdGF0 cy0+Y29tbW9uLndhbF9mcGk7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLndh bF9yZWNvcmRzICs9IGV4dFZhY0lkeFN0YXRzLT5jb21tb24ud2FsX3JlY29yZHM7CisJdmFj cmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLmRlbGF5X3RpbWUgKz0gZXh0VmFjSWR4U3Rh dHMtPmNvbW1vbi5kZWxheV90aW1lOworCisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLnRvdGFsX3RpbWUgKz0gZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi50b3RhbF90aW1lOwog fQogCiAKQEAgLTg1NSwxMSArODU5LDExIEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiBy ZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCUJ1ZmZlclVzYWdlIHN0YXJ0YnVmZmVydXNh Z2UgPSBwZ0J1ZmZlclVzYWdlOwogCUVycm9yQ29udGV4dENhbGxiYWNrIGVycmNhbGxiYWNr OwogCUxWRXh0U3RhdENvdW50ZXJzIGV4dFZhY0NvdW50ZXJzOwotCUV4dFZhY1JlcG9ydCBl eHRWYWNSZXBvcnQ7CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGV4dFZhY1JlcG9y dDsKIAljaGFyCSAgKippbmRuYW1lcyA9IE5VTEw7CiAKIAkvKiBJbml0aWFsaXplIHZhY3V1 bSBzdGF0aXN0aWNzICovCi0JbWVtc2V0KCZleHRWYWNSZXBvcnQsIDAsIHNpemVvZihFeHRW YWNSZXBvcnQpKTsKKwltZW1zZXQoJmV4dFZhY1JlcG9ydCwgMCwgc2l6ZW9mKFBnU3RhdF9W YWN1dW1SZWxhdGlvbkNvdW50cykpOwogCiAJdmVyYm9zZSA9IChwYXJhbXMtPm9wdGlvbnMg JiBWQUNPUFRfVkVSQk9TRSkgIT0gMDsKIAlpbnN0cnVtZW50ID0gKHZlcmJvc2UgfHwgKEFt QXV0b1ZhY3V1bVdvcmtlclByb2Nlc3MoKSAmJgpAQCAtOTA1LDcgKzkwOSw4IEBAIGhlYXBf dmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCWVycmNh bGxiYWNrLnByZXZpb3VzID0gZXJyb3JfY29udGV4dF9zdGFjazsKIAllcnJvcl9jb250ZXh0 X3N0YWNrID0gJmVycmNhbGxiYWNrOwogCi0JbWVtc2V0KCZ2YWNyZWwtPmV4dFZhY1JlcG9y dElkeCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCW1lbXNldCgmdmFjcmVsLT5leHRW YWNSZXBvcnRJZHgsIDAsIHNpemVvZihQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMpKTsK KwltZW1zZXQoJmV4dFZhY1JlcG9ydC5jb21tb24sIDAsIHNpemVvZihQZ1N0YXRfQ29tbW9u Q291bnRzKSk7CiAKIAkvKiBTZXQgdXAgaGlnaCBsZXZlbCBzdHVmZiBhYm91dCByZWwgYW5k IGl0cyBpbmRleGVzICovCiAJdmFjcmVsLT5yZWwgPSByZWw7CkBAIC0xMTU2LDcgKzExNjEs NyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFt cywKIAkJCQkJCSZmcm96ZW54aWRfdXBkYXRlZCwgJm1pbm11bHRpX3VwZGF0ZWQsIGZhbHNl KTsKIAogCS8qIE1ha2UgZ2VuZXJpYyBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0ICov Ci0JZXh0dmFjX3N0YXRzX2VuZChyZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9y dCk7CisJZXh0dmFjX3N0YXRzX2VuZChyZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1Jl cG9ydC5jb21tb24pOwogCiAJLyoKIAkgKiBSZXBvcnQgcmVzdWx0cyB0byB0aGUgY3VtdWxh dGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KQEAgLTExNjgsMzMgKzExNzMsMjAgQEAgaGVhcF92 YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJICogc29v biBpbiBjYXNlcyB3aGVyZSB0aGUgZmFpbHNhZmUgcHJldmVudGVkIHNpZ25pZmljYW50IGFt b3VudHMgb2YgaGVhcAogCSAqIHZhY3V1bWluZy4KIAkgKi8KLQlpZihwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFj dXVtIHN0YXRzIHJlcG9ydCBhbmQKLQkJICogZmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVk IHN0YXRzIGZpZWxkcy4KLQkJICovCi0JCWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWws ICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7Ci0JCWFjY3VtdWxhdGVfaGVhcF92 YWN1dW1fc3RhdGlzdGljcyh2YWNyZWwsICZleHRWYWNSZXBvcnQpOwogCi0JCXBnc3RhdF9y ZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKLQkJCQkJCSByZWwtPnJkX3Jl bC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkgTWF4KHZhY3JlbC0+bmV3X2xpdmVfdHVwbGVzLCAw KSwKLQkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsKLSAJCQkJCQkgdmFj cmVsLT5taXNzZWRfZGVhZF90dXBsZXMsCi0JCQkJCQkgc3RhcnR0aW1lLAotCQkJCQkJICZl eHRWYWNSZXBvcnQpOworCS8qIE1ha2UgZ2VuZXJpYyBleHRlbmRlZCB2YWN1dW0gc3RhdHMg cmVwb3J0IGFuZAorCQkqIGZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVs ZHMuCisJCSovCisJYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwg JmV4dFZhY1JlcG9ydCk7CiAKLQl9Ci0JZWxzZQotCXsKLQkJcGdzdGF0X3JlcG9ydF92YWN1 dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLAorCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2V4dHN0 YXRzKHZhY3JlbC0+cmVsb2lkLCByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsICZleHRWYWNS ZXBvcnQpOworCisJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChyZWwp LAogCQkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCiAJCQkJCQkJIE1heCh2YWNy ZWwtPm5ld19saXZlX3R1cGxlcywgMCksCiAJCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVh ZF90dXBsZXMgKwogCQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKLQkJCQkJ CQkgc3RhcnR0aW1lLAotCQkJCQkJCSBOVUxMKTsKLQl9CisJCQkJCQkJIHN0YXJ0dGltZSk7 CiAKIAlwZ3N0YXRfcHJvZ3Jlc3NfZW5kX2NvbW1hbmQoKTsKIApAQCAtMjg5Myw5ICsyODg1 LDkgQEAgbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCWVs c2UKIAl7CiAJCUxWRXh0U3RhdENvdW50ZXJzIGNvdW50ZXJzOwotCQlFeHRWYWNSZXBvcnQg ZXh0VmFjUmVwb3J0OworCQlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgZXh0VmFjUmVw b3J0OwogCi0JCW1lbXNldCgmZXh0VmFjUmVwb3J0LCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0 KSk7CisJCW1lbXNldCgmZXh0VmFjUmVwb3J0LmNvbW1vbiwgMCwgc2l6ZW9mKFBnU3RhdF9D b21tb25Db3VudHMpKTsKIAogCQlleHR2YWNfc3RhdHNfc3RhcnQodmFjcmVsLT5yZWwsICZj b3VudGVycyk7CiAKQEAgLTI5MDMsNyArMjg5NSw3IEBAIGxhenlfdmFjdXVtX2FsbF9pbmRl eGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAkJcGFyYWxsZWxfdmFjdXVtX2J1bGtkZWxfYWxs X2luZGV4ZXModmFjcmVsLT5wdnMsIG9sZF9saXZlX3R1cGxlcywKIAkJCQkJCQkJCQkJdmFj cmVsLT5udW1faW5kZXhfc2NhbnMpOwogCi0JCWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5y ZWwsICZjb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisJCWV4dHZhY19zdGF0c19lbmQodmFj cmVsLT5yZWwsICZjb3VudGVycywgJmV4dFZhY1JlcG9ydC5jb21tb24pOwogCQlhY2N1bXVs YXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFjcmVsLCAmZXh0VmFjUmVwb3J0KTsKIAog CQkvKgpAQCAtMzMyNyw5ICszMzE5LDkgQEAgbGF6eV9jbGVhbnVwX2FsbF9pbmRleGVzKExW UmVsU3RhdGUgKnZhY3JlbCkKIAllbHNlCiAJewogCQlMVkV4dFN0YXRDb3VudGVycyBjb3Vu dGVyczsKLQkJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKwkJUGdTdGF0X1ZhY3V1bVJl bGF0aW9uQ291bnRzIGV4dFZhY1JlcG9ydDsKIAotCQltZW1zZXQoJmV4dFZhY1JlcG9ydCwg MCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCQltZW1zZXQoJmV4dFZhY1JlcG9ydC5jb21t b24sIDAsIHNpemVvZihQZ1N0YXRfQ29tbW9uQ291bnRzKSk7CiAKIAkJZXh0dmFjX3N0YXRz X3N0YXJ0KHZhY3JlbC0+cmVsLCAmY291bnRlcnMpOwogCkBAIC0zMzM4LDcgKzMzMzAsNyBA QCBsYXp5X2NsZWFudXBfYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQkJCQkJ CQkJCQl2YWNyZWwtPm51bV9pbmRleF9zY2FucywKIAkJCQkJCQkJCQkJZXN0aW1hdGVkX2Nv dW50KTsKIAotCQlleHR2YWNfc3RhdHNfZW5kKHZhY3JlbC0+cmVsLCAmY291bnRlcnMsICZl eHRWYWNSZXBvcnQpOworCQlleHR2YWNfc3RhdHNfZW5kKHZhY3JlbC0+cmVsLCAmY291bnRl cnMsICZleHRWYWNSZXBvcnQuY29tbW9uKTsKIAkJYWNjdW11bGF0ZV9pZHhzX3ZhY3V1bV9z dGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CiAJfQogCkBAIC0zMzY2LDcgKzMz NTgsMTAgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhC dWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAlJbmRleFZhY3V1bUluZm8gaXZpbmZvOwogCUxW U2F2ZWRFcnJJbmZvIHNhdmVkX2Vycl9pbmZvOwogCUxWRXh0U3RhdENvdW50ZXJzSWR4IGV4 dFZhY0NvdW50ZXJzOwotCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CisJUGdTdGF0X1Zh Y3V1bVJlbGF0aW9uQ291bnRzIGV4dFZhY1JlcG9ydDsKKworCW1lbXNldCgmZXh0VmFjUmVw b3J0LCAwLCBzaXplb2YoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzKSk7CisJbWVtc2V0 KCZleHRWYWNSZXBvcnQuY29tbW9uLCAwLCBzaXplb2YoUGdTdGF0X0NvbW1vbkNvdW50cykp OwogCiAJLyogU2V0IGluaXRpYWwgc3RhdGlzdGljcyB2YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1 bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5kZXggKi8KIAlleHR2YWNfc3RhdHNfc3RhcnRfaWR4 KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7CkBAIC0zMzk3LDE4ICszMzkyLDEz IEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0Rl bGV0ZVJlc3VsdCAqaXN0YXQsCiAJaXN0YXQgPSB2YWNfYnVsa2RlbF9vbmVfaW5kZXgoJml2 aW5mbywgaXN0YXQsIHZhY3JlbC0+ZGVhZF9pdGVtcywKIAkJCQkJCQkJICB2YWNyZWwtPmRl YWRfaXRlbXNfaW5mbyk7CiAKLQlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3Mp Ci0JewotCQkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4 ICovCi0JCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3Vu dGVycywgJmV4dFZhY1JlcG9ydCk7CisJLyogTWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMg cmVwb3J0IGZvciBpbmRleCAqLworCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0 YXQsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CiAKLQkJaWYgKCFQYXJhbGxl bFZhY3V1bUlzQWN0aXZlKHZhY3JlbCkpCi0JCQlhY2N1bXVsYXRlX2lkeHNfdmFjdXVtX3N0 YXRpc3RpY3ModmFjcmVsLCAmZXh0VmFjUmVwb3J0KTsKKwlpZiAoIVBhcmFsbGVsVmFjdXVt SXNBY3RpdmUodmFjcmVsKSkKKwkJYWNjdW11bGF0ZV9pZHhzX3ZhY3V1bV9zdGF0aXN0aWNz KHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CiAKLQkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVs YXRpb25HZXRSZWxpZChpbmRyZWwpLAotCQkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNz aGFyZWQsCi0JCQkJCQkJCTAsIDAsIDAsICZleHRWYWNSZXBvcnQpOwotCX0KKwlwZ3N0YXRf cmVwb3J0X3ZhY3V1bV9leHRzdGF0cyh2YWNyZWwtPmluZG9pZCwgaW5kcmVsLT5yZF9yZWwt PnJlbGlzc2hhcmVkLCAmZXh0VmFjUmVwb3J0KTsKIAogCS8qIFJldmVydCB0byB0aGUgcHJl dmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwogCXJlc3Rv cmVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwpAQCAtMzQz NSw3ICszNDI1LDEwIEBAIGxhenlfY2xlYW51cF9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVs LCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCUluZGV4VmFjdXVtSW5mbyBpdmlu Zm87CiAJTFZTYXZlZEVyckluZm8gc2F2ZWRfZXJyX2luZm87CiAJTFZFeHRTdGF0Q291bnRl cnNJZHggZXh0VmFjQ291bnRlcnM7Ci0JRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKwlQ Z1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgZXh0VmFjUmVwb3J0OworCisJbWVtc2V0KCZl eHRWYWNSZXBvcnQsIDAsIHNpemVvZihQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMpKTsK KwltZW1zZXQoJmV4dFZhY1JlcG9ydC5jb21tb24sIDAsIHNpemVvZihQZ1N0YXRfQ29tbW9u Q291bnRzKSk7CiAKIAkvKiBTZXQgaW5pdGlhbCBzdGF0aXN0aWNzIHZhbHVlcyB0byBnYXRo ZXIgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBpbmRleCAqLwogCWV4dHZhY19zdGF0c19z dGFydF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzKTsKQEAgLTM0NjUsMTcg KzM0NTgsMTMgQEAgbGF6eV9jbGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIElu ZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAKIAlpc3RhdCA9IHZhY19jbGVhbnVwX29u ZV9pbmRleCgmaXZpbmZvLCBpc3RhdCk7CiAKLQlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3MpCi0JewotCQkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQg Zm9yIGluZGV4ICovCi0JCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZl eHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7Ci0JCWlmICghUGFyYWxsZWxWYWN1dW1J c0FjdGl2ZSh2YWNyZWwpKQotCQkJYWNjdW11bGF0ZV9pZHhzX3ZhY3V1bV9zdGF0aXN0aWNz KHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7Ci0KLQkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVs YXRpb25HZXRSZWxpZChpbmRyZWwpLAotCQkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNz aGFyZWQsCi0JCQkJCQkJCTAsIDAsIDAsICZleHRWYWNSZXBvcnQpOwotCX0KKwkvKiBNYWtl IGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCisJZXh0dmFjX3N0 YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVw b3J0KTsKKworCWlmICghUGFyYWxsZWxWYWN1dW1Jc0FjdGl2ZSh2YWNyZWwpKQorCQlhY2N1 bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFjcmVsLCAmZXh0VmFjUmVwb3J0KTsK KworCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2V4dHN0YXRzKHZhY3JlbC0+aW5kb2lkLCBpbmRy ZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsICZleHRWYWNSZXBvcnQpOwogCiAJLyogUmV2ZXJ0 IHRvIHRoZSBwcmV2aW91cyBwaGFzZSBpbmZvcm1hdGlvbiBmb3IgZXJyb3IgdHJhY2ViYWNr ICovCiAJcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5m byk7CkBAIC00MDc1LDYgKzQwNjQsMjcgQEAgdXBkYXRlX3JlbHN0YXRzX2FsbF9pbmRleGVz KExWUmVsU3RhdGUgKnZhY3JlbCkKIAl9CiB9CiAKKy8qIC0tLS0tLS0tLQorICogcGdzdGF0 X3JlcG9ydF92YWN1dW1fZXJyb3IoKSAtCisgKgorICoJVGVsbCB0aGUgY29sbGVjdG9yIGFi b3V0IGFuIChhdXRvKXZhY3V1bSBpbnRlcnJ1cHRpb24uCisgKiAtLS0tLS0tLS0KKyAqLwor c3RhdGljIHZvaWQKK3Bnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKCkKK3sKKwlQZ1N0YXRf VmFjdXVtREJDb3VudHMgKnZhY3V1bV9kYmVudHJ5OworCisJaWYoIXBnc3RhdF90cmFja192 YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJdmFjdXVtX2RiZW50cnkgPSBwZ3N0 YXRfZmV0Y2hfc3RhdF92YWN1dW1fZGJlbnRyeShNeURhdGFiYXNlSWQpOworCisgICAgaWYo dmFjdXVtX2RiZW50cnkgPT0gTlVMTCkKKyAgICByZXR1cm47CisJdmFjdXVtX2RiZW50cnkt PmVycm9ycysrOworfQorCiAvKgogICogRXJyb3IgY29udGV4dCBjYWxsYmFjayBmb3IgZXJy b3JzIG9jY3VycmluZyBkdXJpbmcgdmFjdXVtLiAgVGhlIGVycm9yCiAgKiBjb250ZXh0IG1l c3NhZ2VzIGZvciBpbmRleCBwaGFzZXMgc2hvdWxkIG1hdGNoIHRoZSBtZXNzYWdlcyBzZXQg aW4gcGFyYWxsZWwKQEAgLTQwOTAsNyArNDEwMCw3IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFj ayh2b2lkICphcmcpCiAJewogCQljYXNlIFZBQ1VVTV9FUlJDQl9QSEFTRV9TQ0FOX0hFQVA6 CiAJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKLQkJCQkJcGdzdGF0X3JlcG9ydF92 YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwkJ CQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoKTsKIAogCQkJaWYgKEJsb2NrTnVtYmVy SXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CkBAIC00MTA4LDcgKzQxMTgsNyBAQCB2 YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAqYXJnKQogCiAJCWNhc2UgVkFDVVVNX0VSUkNC X1BIQVNFX1ZBQ1VVTV9IRUFQOgogCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCi0J CQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRf RVhUVkFDX1RBQkxFKTsKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcigpOwogCiAJ CQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsKQEAgLTQx MjYsNyArNDEzNiw3IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAKIAkJ Y2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVkFDVVVNX0lOREVYOgogCQkJaWYoZ2V0ZXJyZWxl dmVsKCkgPT0gRVJST1IpCi0JCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5m by0+aW5kb2lkLCBQR1NUQVRfRVhUVkFDX0lOREVYKTsKKwkJCQlwZ3N0YXRfcmVwb3J0X3Zh Y3V1bV9lcnJvcigpOwogCiAJCQllcnJjb250ZXh0KCJ3aGlsZSB2YWN1dW1pbmcgaW5kZXgg XCIlc1wiIG9mIHJlbGF0aW9uIFwiJXMuJXNcIiIsCiAJCQkJCSAgIGVycmluZm8tPmluZG5h bWUsIGVycmluZm8tPnJlbG5hbWVzcGFjZSwgZXJyaW5mby0+cmVsbmFtZSk7CkBAIC00MTM0 LDcgKzQxNDQsNyBAQCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAqYXJnKQogCiAJCWNh c2UgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVA6CiAJCQlpZihnZXRlcnJlbGV2 ZWwoKSA9PSBFUlJPUikKLQkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZv LT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOworCQkJCXBnc3RhdF9yZXBvcnRfdmFj dXVtX2Vycm9yKCk7CiAKIAkJCWVycmNvbnRleHQoIndoaWxlIGNsZWFuaW5nIHVwIGluZGV4 IFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzLiVzXCIiLAogCQkJCQkgICBlcnJpbmZvLT5pbmRu YW1lLCBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmluZm8tPnJlbG5hbWUpOwpAQCAtNDE0 Miw3ICs0MTUyLDcgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAogCQlj YXNlIFZBQ1VVTV9FUlJDQl9QSEFTRV9UUlVOQ0FURToKIAkJCWlmKGdldGVycmVsZXZlbCgp ID09IEVSUk9SKQotCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPnJl bG9pZCwgUEdTVEFUX0VYVFZBQ19UQUJMRSk7CisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1f ZXJyb3IoKTsKIAogCQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykp CiAJCQkJZXJyY29udGV4dCgid2hpbGUgdHJ1bmNhdGluZyByZWxhdGlvbiBcIiVzLiVzXCIg dG8gJXUgYmxvY2tzIiwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5j IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMKaW5kZXggZmJhZWQ1MzU5YWQuLjcyYzhl MzM5YzQ1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYworKysgYi9z cmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwpAQCAtMTg3Myw2ICsxODczLDcgQEAgaGVhcF9k cm9wX3dpdGhfY2F0YWxvZyhPaWQgcmVsaWQpCiAKIAkvKiBlbnN1cmUgdGhhdCBzdGF0cyBh cmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBjb21taXRzICovCiAJcGdzdGF0X2Ryb3BfcmVs YXRpb24ocmVsKTsKKwlwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2RlbGV0ZV9wZW5kaW5nX2Ni KFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7CiAKIAkvKgogCSAqIENsb3NlIHJlbGNhY2hlIGVu dHJ5LCBidXQgKmtlZXAqIEFjY2Vzc0V4Y2x1c2l2ZUxvY2sgb24gdGhlIHJlbGF0aW9uCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMgYi9zcmMvYmFja2VuZC9j YXRhbG9nL2luZGV4LmMKaW5kZXggNzM5YTkyYmRjYzEuLmU0ZmE3NTRhYWI0IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9pbmRleC5jCkBAIC0yMzI3LDYgKzIzMjcsNyBAQCBpbmRleF9kcm9wKE9pZCBpbmRl eElkLCBib29sIGNvbmN1cnJlbnQsIGJvb2wgY29uY3VycmVudF9sb2NrX21vZGUpCiAKIAkv KiBlbnN1cmUgdGhhdCBzdGF0cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBjb21taXRz ICovCiAJcGdzdGF0X2Ryb3BfcmVsYXRpb24odXNlckluZGV4UmVsYXRpb24pOworCXBnc3Rh dF92YWN1dW1fcmVsYXRpb25fZGVsZXRlX3BlbmRpbmdfY2IoUmVsYXRpb25HZXRSZWxpZCh1 c2VySW5kZXhSZWxhdGlvbikpOwogCiAJLyoKIAkgKiBDbG9zZSBhbmQgZmx1c2ggdGhlIGlu ZGV4J3MgcmVsY2FjaGUgZW50cnksIHRvIGVuc3VyZSByZWxjYWNoZSBkb2Vzbid0CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFj a2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggMGFlMzFiODc5ODkuLjk1NGUy YzZjZDdiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5z cWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xNDE3 LDEwMCArMTQxNywxMDQgQEAgR1JBTlQgRVhFQ1VURSBPTiBGVU5DVElPTiBwZ19nZXRfYWlv cygpIFRPIHBnX3JlYWRfYWxsX3N0YXRzOwogLS0KIAogQ1JFQVRFIFZJRVcgcGdfc3RhdF92 YWN1dW1fdGFibGVzIEFTCi1TRUxFQ1QKLSAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAot ICByZWwucmVsbmFtZSBBUyByZWxuYW1lLAotICBzdGF0cy5yZWxpZCBhcyByZWxpZCwKLQot ICBzdGF0cy50b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxfYmxrc19yZWFkLAotICBzdGF0cy50 b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hpdCwKLSAgc3RhdHMudG90YWxfYmxrc19k aXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKLSAgc3RhdHMudG90YWxfYmxrc193cml0 dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKLQotICBzdGF0cy5yZWxfYmxrc19yZWFkIEFT IHJlbF9ibGtzX3JlYWQsCi0gIHN0YXRzLnJlbF9ibGtzX2hpdCBBUyByZWxfYmxrc19oaXQs Ci0KLSAgc3RhdHMucGFnZXNfc2Nhbm5lZCBBUyBwYWdlc19zY2FubmVkLAotICBzdGF0cy5w YWdlc19yZW1vdmVkIEFTIHBhZ2VzX3JlbW92ZWQsCi0gIHN0YXRzLnZtX25ld19mcm96ZW5f cGFnZXMgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcywKLSAgc3RhdHMudm1fbmV3X3Zpc2libGVf cGFnZXMgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsCi0gIHN0YXRzLnZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcyBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsCi0gIHN0YXRz Lm1pc3NlZF9kZWFkX3BhZ2VzIEFTIG1pc3NlZF9kZWFkX3BhZ2VzLAotICBzdGF0cy50dXBs ZXNfZGVsZXRlZCBBUyB0dXBsZXNfZGVsZXRlZCwKLSAgc3RhdHMudHVwbGVzX2Zyb3plbiBB UyB0dXBsZXNfZnJvemVuLAotICBzdGF0cy5yZWNlbnRseV9kZWFkX3R1cGxlcyBBUyByZWNl bnRseV9kZWFkX3R1cGxlcywKLSAgc3RhdHMubWlzc2VkX2RlYWRfdHVwbGVzIEFTIG1pc3Nl ZF9kZWFkX3R1cGxlcywKLQotICBzdGF0cy53cmFwYXJvdW5kX2ZhaWxzYWZlIEFTIHdyYXBh cm91bmRfZmFpbHNhZmUsCi0gIHN0YXRzLmluZGV4X3ZhY3V1bV9jb3VudCBBUyBpbmRleF92 YWN1dW1fY291bnQsCi0gIHN0YXRzLndhbF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAotICBz dGF0cy53YWxfZnBpIEFTIHdhbF9mcGksCi0gIHN0YXRzLndhbF9ieXRlcyBBUyB3YWxfYnl0 ZXMsCi0KLSAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVhZF90aW1lLAotICBzdGF0 cy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGltZSwKLQotICBzdGF0cy5kZWxheV90 aW1lIEFTIGRlbGF5X3RpbWUsCi0gIHN0YXRzLnRvdGFsX3RpbWUgQVMgdG90YWxfdGltZQot Ci1GUk9NIHBnX2NsYXNzIHJlbAotICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBucy5vaWQg PSByZWwucmVsbmFtZXNwYWNlLAotICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJs ZXMocmVsLm9pZCkgc3RhdHMKLVdIRVJFIHJlbC5yZWxraW5kID0gJ3InOworICAgIFNFTEVD VAorICAgICAgICBOLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAgICAgICAgQy5yZWxuYW1l IEFTIHJlbG5hbWUsCisgICAgICAgIFMucmVsaWQgYXMgcmVsaWQsCisKKyAgICAgICAgUy50 b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxfYmxrc19yZWFkLAorICAgICAgICBTLnRvdGFsX2Js a3NfaGl0IEFTIHRvdGFsX2Jsa3NfaGl0LAorICAgICAgICBTLnRvdGFsX2Jsa3NfZGlydGll ZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAgIFMudG90YWxfYmxrc193cml0dGVu IEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICAgICAgICBTLnJlbF9ibGtzX3JlYWQgQVMg cmVsX2Jsa3NfcmVhZCwKKyAgICAgICAgUy5yZWxfYmxrc19oaXQgQVMgcmVsX2Jsa3NfaGl0 LAorCisgICAgICAgIFMucGFnZXNfc2Nhbm5lZCBBUyBwYWdlc19zY2FubmVkLAorICAgICAg ICBTLnBhZ2VzX3JlbW92ZWQgQVMgcGFnZXNfcmVtb3ZlZCwKKyAgICAgICAgUy52bV9uZXdf ZnJvemVuX3BhZ2VzIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsCisgICAgICAgIFMudm1fbmV3 X3Zpc2libGVfcGFnZXMgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsCisgICAgICAgIFMudm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdl cywKKyAgICAgICAgUy5taXNzZWRfZGVhZF9wYWdlcyBBUyBtaXNzZWRfZGVhZF9wYWdlcywK KyAgICAgICAgUy50dXBsZXNfZGVsZXRlZCBBUyB0dXBsZXNfZGVsZXRlZCwKKyAgICAgICAg Uy50dXBsZXNfZnJvemVuIEFTIHR1cGxlc19mcm96ZW4sCisgICAgICAgIFMucmVjZW50bHlf ZGVhZF90dXBsZXMgQVMgcmVjZW50bHlfZGVhZF90dXBsZXMsCisgICAgICAgIFMubWlzc2Vk X2RlYWRfdHVwbGVzIEFTIG1pc3NlZF9kZWFkX3R1cGxlcywKKworICAgICAgICBTLndyYXBh cm91bmRfZmFpbHNhZmUgQVMgd3JhcGFyb3VuZF9mYWlsc2FmZSwKKyAgICAgICAgUy5pbmRl eF92YWN1dW1fY291bnQgQVMgaW5kZXhfdmFjdXVtX2NvdW50LAorICAgICAgICBTLndhbF9y ZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAorICAgICAgICBTLndhbF9mcGkgQVMgd2FsX2ZwaSwK KyAgICAgICAgUy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVzLAorCisgICAgICAgIFMuYmxrX3Jl YWRfdGltZSBBUyBibGtfcmVhZF90aW1lLAorICAgICAgICBTLmJsa193cml0ZV90aW1lIEFT IGJsa193cml0ZV90aW1lLAorCisgICAgICAgIFMuZGVsYXlfdGltZSBBUyBkZWxheV90aW1l LAorICAgICAgICBTLnRvdGFsX3RpbWUgQVMgdG90YWxfdGltZQorCisgICAgRlJPTSBwZ19j bGFzcyBDIEpPSU4KKyAgICAgICAgICAgIHBnX25hbWVzcGFjZSBOIE9OIE4ub2lkID0gQy5y ZWxuYW1lc3BhY2UsCisgICAgICAgICAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMoQy5vaWQpIFMKKyAgICBXSEVSRSBDLnJlbGtpbmQgSU4gKCdyJywgJ3QnLCAnbScp OwogCiBDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIEFTCi1TRUxFQ1QKLSAg cmVsLm9pZCBhcyByZWxpZCwKLSAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAotICByZWwu cmVsbmFtZSBBUyByZWxuYW1lLAorICAgIFNFTEVDVAorICAgICAgICAgICAgQy5vaWQgQVMg cmVsaWQsCisgICAgICAgICAgICBJLm9pZCBBUyBpbmRleHJlbGlkLAorICAgICAgICAgICAg Ti5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgICAgICAgICAgICBDLnJlbG5hbWUgQVMgcmVs bmFtZSwKKyAgICAgICAgICAgIEkucmVsbmFtZSBBUyBpbmRleHJlbG5hbWUsCiAKLSAgdG90 YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVhZCwKLSAgdG90YWxfYmxrc19oaXQgQVMg dG90YWxfYmxrc19oaXQsCi0gIHRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2Rp cnRpZWQsCi0gIHRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisg ICAgICAgICAgICBTLnRvdGFsX2Jsa3NfcmVhZCBBUyB0b3RhbF9ibGtzX3JlYWQsCisgICAg ICAgICAgICBTLnRvdGFsX2Jsa3NfaGl0IEFTIHRvdGFsX2Jsa3NfaGl0LAorICAgICAgICAg ICAgUy50b3RhbF9ibGtzX2RpcnRpZWQgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAgICAg ICAgICAgUy50b3RhbF9ibGtzX3dyaXR0ZW4gQVMgdG90YWxfYmxrc193cml0dGVuLAogCi0g IHJlbF9ibGtzX3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwKLSAgcmVsX2Jsa3NfaGl0IEFTIHJl bF9ibGtzX2hpdCwKKyAgICAgICAgICAgIFMucmVsX2Jsa3NfcmVhZCBBUyByZWxfYmxrc19y ZWFkLAorICAgICAgICAgICAgUy5yZWxfYmxrc19oaXQgQVMgcmVsX2Jsa3NfaGl0LAogCi0g IHBhZ2VzX2RlbGV0ZWQgQVMgcGFnZXNfZGVsZXRlZCwKLSAgdHVwbGVzX2RlbGV0ZWQgQVMg dHVwbGVzX2RlbGV0ZWQsCisgICAgICAgICAgICBTLnBhZ2VzX2RlbGV0ZWQgQVMgcGFnZXNf ZGVsZXRlZCwKKyAgICAgICAgICAgIFMudHVwbGVzX2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0 ZWQsCiAKLSAgd2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCi0gIHdhbF9mcGkgQVMgd2Fs X2ZwaSwKLSAgd2FsX2J5dGVzIEFTIHdhbF9ieXRlcywKKyAgICAgICAgICAgIFMud2FsX3Jl Y29yZHMgQVMgd2FsX3JlY29yZHMsCisgICAgICAgICAgICBTLndhbF9mcGkgQVMgd2FsX2Zw aSwKKyAgICAgICAgICAgIFMud2FsX2J5dGVzIEFTIHdhbF9ieXRlcywKIAotICBibGtfcmVh ZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCi0gIGJsa193cml0ZV90aW1lIEFTIGJsa193cml0 ZV90aW1lLAorICAgICAgICAgICAgUy5ibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUs CisgICAgICAgICAgICBTLmJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAogCi0g IGRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKLSAgdG90YWxfdGltZSBBUyB0b3RhbF90aW1l Ci1GUk9NCi0gIHBnX2NsYXNzIHJlbAotICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBucy5v aWQgPSByZWwucmVsbmFtZXNwYWNlLAotICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9p bmRleGVzKHJlbC5vaWQpIHN0YXRzCi1XSEVSRSByZWwucmVsa2luZCA9ICdpJzsKKyAgICAg ICAgICAgIFMuZGVsYXlfdGltZSBBUyBkZWxheV90aW1lLAorICAgICAgICAgICAgUy50b3Rh bF90aW1lIEFTIHRvdGFsX3RpbWUKKyAgICBGUk9NCisgICAgICAgICAgICBwZ19jbGFzcyBD IEpPSU4KKyAgICAgICAgICAgIHBnX2luZGV4IFggT04gQy5vaWQgPSBYLmluZHJlbGlkIEpP SU4KKyAgICAgICAgICAgIHBnX2NsYXNzIEkgT04gSS5vaWQgPSBYLmluZGV4cmVsaWQKKyAg ICAgICAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgTiBPTiAoTi5vaWQgPSBDLnJlbG5h bWVzcGFjZSksCisgICAgICAgICAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRl eGVzKEkub2lkKSBTCisgICAgV0hFUkUgQy5yZWxraW5kIElOICgncicsICd0JywgJ20nKTsK IAogQ1JFQVRFIFZJRVcgcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UgQVMKLVNFTEVDVAotICBk Yi5vaWQgYXMgZGJvaWQsCi0gIGRiLmRhdG5hbWUgQVMgZGJuYW1lLAotCi0gIHN0YXRzLmRi X2Jsa3NfcmVhZCBBUyBkYl9ibGtzX3JlYWQsCi0gIHN0YXRzLmRiX2Jsa3NfaGl0IEFTIGRi X2Jsa3NfaGl0LAotICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQgQVMgdG90YWxfYmxrc19k aXJ0aWVkLAotICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4gQVMgdG90YWxfYmxrc193cml0 dGVuLAotCi0gIHN0YXRzLndhbF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAotICBzdGF0cy53 YWxfZnBpIEFTIHdhbF9mcGksCi0gIHN0YXRzLndhbF9ieXRlcyBBUyB3YWxfYnl0ZXMsCi0K LSAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVhZF90aW1lLAotICBzdGF0cy5ibGtf d3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGltZSwKLQotICBzdGF0cy5kZWxheV90aW1lIEFT IGRlbGF5X3RpbWUsCi0gIHN0YXRzLnRvdGFsX3RpbWUgQVMgdG90YWxfdGltZSwKLSAgc3Rh dHMud3JhcGFyb3VuZF9mYWlsc2FmZSBBUyB3cmFwYXJvdW5kX2ZhaWxzYWZlLAotICBzdGF0 cy5lcnJvcnMgQVMgZXJyb3JzCi1GUk9NCi0gIHBnX2RhdGFiYXNlIGRiLAotICBMQVRFUkFM IHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShkYi5vaWQpIHN0YXRzOwpcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKKyAgICBTRUxFQ1QKKyAgICAgICAgICAgIEQub2lkIGFzIGRi b2lkLAorICAgICAgICAgICAgRC5kYXRuYW1lIEFTIGRibmFtZSwKKworICAgICAgICAgICAg Uy5kYl9ibGtzX3JlYWQgQVMgZGJfYmxrc19yZWFkLAorICAgICAgICAgICAgUy5kYl9ibGtz X2hpdCBBUyBkYl9ibGtzX2hpdCwKKyAgICAgICAgICAgIFMudG90YWxfYmxrc19kaXJ0aWVk IEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICAgICAgIFMudG90YWxfYmxrc193cml0 dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICAgICAgICAgICAgUy53YWxfcmVjb3Jk cyBBUyB3YWxfcmVjb3JkcywKKyAgICAgICAgICAgIFMud2FsX2ZwaSBBUyB3YWxfZnBpLAor ICAgICAgICAgICAgUy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVzLAorCisgICAgICAgICAgICBT LmJsa19yZWFkX3RpbWUgQVMgYmxrX3JlYWRfdGltZSwKKyAgICAgICAgICAgIFMuYmxrX3dy aXRlX3RpbWUgQVMgYmxrX3dyaXRlX3RpbWUsCisKKyAgICAgICAgICAgIFMuZGVsYXlfdGlt ZSBBUyBkZWxheV90aW1lLAorICAgICAgICAgICAgUy50b3RhbF90aW1lIEFTIHRvdGFsX3Rp bWUsCisgICAgICAgICAgICBTLndyYXBhcm91bmRfZmFpbHNhZmUgQVMgd3JhcGFyb3VuZF9m YWlsc2FmZSwKKyAgICAgICAgICAgIFMuZXJyb3JzIEFTIGVycm9ycworICAgIEZST00KKyAg ICAgICAgICAgIHBnX2RhdGFiYXNlIEQsCisgICAgICAgICAgICBMQVRFUkFMIHBnX3N0YXRf Z2V0X3ZhY3V1bV9kYXRhYmFzZShELm9pZCkgUzsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9kYmNvbW1hbmRzLmMgYi9z cmMvYmFja2VuZC9jb21tYW5kcy9kYmNvbW1hbmRzLmMKaW5kZXggNWZiYmNkYWFiYjEuLmM0 YjkxMGNkOTI4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9kYmNvbW1hbmRz LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZGJjb21tYW5kcy5jCkBAIC0xNzg5LDYg KzE3ODksNyBAQCBkcm9wZGIoY29uc3QgY2hhciAqZGJuYW1lLCBib29sIG1pc3Npbmdfb2ss IGJvb2wgZm9yY2UpCiAJICogVGVsbCB0aGUgY3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0gdG8g Zm9yZ2V0IGl0IGltbWVkaWF0ZWx5LCB0b28uCiAJICovCiAJcGdzdGF0X2Ryb3BfZGF0YWJh c2UoZGJfaWQpOworCXBnc3RhdF9kcm9wX3ZhY3V1bV9kYXRhYmFzZShkYl9pZCk7CiAKIAkv KgogCSAqIEV4Y2VwdCBmb3IgdGhlIGRlbGV0aW9uIG9mIHRoZSBjYXRhbG9nIHJvdywgc3Vi c2VxdWVudCBhY3Rpb25zIGFyZSBub3QKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJh bGxlbC5jCmluZGV4IDY1ZGU0NWE0NDQ3Li4zYzM3ZDFmMDdjZSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYworKysgYi9zcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC04NjksNyArODY5LDcgQEAgcGFyYWxsZWxf dmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVs YXRpb24gaW5kcmVsLAogCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXRfcmVzOwogCUlu ZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJTFZFeHRTdGF0Q291bnRlcnNJZHggZXh0VmFjQ291 bnRlcnM7Ci0JRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKwlQZ1N0YXRfVmFjdXVtUmVs YXRpb25Db3VudHMgZXh0VmFjUmVwb3J0OwogCiAJLyoKIAkgKiBVcGRhdGUgdGhlIHBvaW50 ZXIgdG8gdGhlIGNvcnJlc3BvbmRpbmcgYnVsay1kZWxldGlvbiByZXN1bHQgaWYgc29tZW9u ZQpAQCAtOTA5LDE0ICs5MDksMTAgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2lu ZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCQkJCSBS ZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRyZWwpKTsKIAl9CiAKLQlpZihwZ3N0YXRfdHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBz dGF0cyByZXBvcnQgZm9yIGluZGV4ICovCi0JCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJl bCwgaXN0YXRfcmVzLCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOwotCQlwZ3N0 YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKGluZHJlbCksCi0JCQkJCQkJCWlu ZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJCQkJMCwgMCwgMCwgJmV4dFZhY1Jl cG9ydCk7Ci0JfQorCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3Ig aW5kZXggKi8KKwlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0X3JlcywgJmV4 dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9l eHRzdGF0cyhSZWxhdGlvbkdldFJlbGlkKGluZHJlbCksIGluZHJlbC0+cmRfcmVsLT5yZWxp c3NoYXJlZCwKKwkJCQkJCQkJCQkmZXh0VmFjUmVwb3J0KTsKIAogCS8qCiAJICogQ29weSB0 aGUgaW5kZXggYnVsay1kZWxldGlvbiByZXN1bHQgcmV0dXJuZWQgZnJvbSBhbWJ1bGtkZWxl dGUgYW5kCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9NYWtlZmls ZSBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01ha2VmaWxlCmluZGV4IDljMjQ0M2Ux ZWNkLi4xODNmNzUxNGQyZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvTWFrZWZpbGUKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvTWFrZWZpbGUK QEAgLTI3LDYgKzI3LDcgQEAgT0JKUyA9IFwKIAlwZ3N0YXRfZnVuY3Rpb24ubyBcCiAJcGdz dGF0X2lvLm8gXAogCXBnc3RhdF9yZWxhdGlvbi5vIFwKKwlwZ3N0YXRfdmFjdXVtLm8gXAog CXBnc3RhdF9yZXBsc2xvdC5vIFwKIAlwZ3N0YXRfc2htZW0ubyBcCiAJcGdzdGF0X3NscnUu byBcCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCmluZGV4IDg1NTU3NzM2YTNh Li5jYTc2NGEzYTIxNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAg LTQ3OCw2ICs0NzgsMzQgQEAgc3RhdGljIGNvbnN0IFBnU3RhdF9LaW5kSW5mbyBwZ3N0YXRf a2luZF9idWlsdGluX2luZm9zW1BHU1RBVF9LSU5EX0JVSUxUSU5fU0laRV0KIAkJLnJlc2V0 X2FsbF9jYiA9IHBnc3RhdF93YWxfcmVzZXRfYWxsX2NiLAogCQkuc25hcHNob3RfY2IgPSBw Z3N0YXRfd2FsX3NuYXBzaG90X2NiLAogCX0sCisJW1BHU1RBVF9LSU5EX1ZBQ1VVTV9EQl0g PSB7CisJCS5uYW1lID0gInZhY3V1bSBzdGF0aXN0aWNzIiwKKworCQkuZml4ZWRfYW1vdW50 ID0gZmFsc2UsCisJCS53cml0ZV90b19maWxlID0gdHJ1ZSwKKwkJLyogc28gcGdfc3RhdF9k YXRhYmFzZSBlbnRyaWVzIGNhbiBiZSBzZWVuIGluIGFsbCBkYXRhYmFzZXMgKi8KKwkJLmFj Y2Vzc2VkX2Fjcm9zc19kYXRhYmFzZXMgPSB0cnVlLAorCisJCS5zaGFyZWRfc2l6ZSA9IHNp emVvZihQZ1N0YXRTaGFyZWRfVmFjdXVtREIpLAorCQkuc2hhcmVkX2RhdGFfb2ZmID0gb2Zm c2V0b2YoUGdTdGF0U2hhcmVkX1ZhY3V1bURCLCBzdGF0cyksCisJCS5zaGFyZWRfZGF0YV9s ZW4gPSBzaXplb2YoKChQZ1N0YXRTaGFyZWRfVmFjdXVtREIgKikgMCktPnN0YXRzKSwKKwkJ LnBlbmRpbmdfc2l6ZSA9IHNpemVvZihQZ1N0YXRfVmFjdXVtREJDb3VudHMpLAorCisJCS5m bHVzaF9wZW5kaW5nX2NiID0gcGdzdGF0X3ZhY3V1bV9kYl9mbHVzaF9jYiwKKwl9LAorCVtQ R1NUQVRfS0lORF9WQUNVVU1fUkVMQVRJT05dID0geworCQkubmFtZSA9ICJ2YWN1dW0gc3Rh dGlzdGljcyIsCisKKwkJLmZpeGVkX2Ftb3VudCA9IGZhbHNlLAorCQkud3JpdGVfdG9fZmls ZSA9IHRydWUsCisKKwkJLnNoYXJlZF9zaXplID0gc2l6ZW9mKFBnU3RhdFNoYXJlZF9WYWN1 dW1SZWxhdGlvbiksCisJCS5zaGFyZWRfZGF0YV9vZmYgPSBvZmZzZXRvZihQZ1N0YXRTaGFy ZWRfVmFjdXVtUmVsYXRpb24sIHN0YXRzKSwKKwkJLnNoYXJlZF9kYXRhX2xlbiA9IHNpemVv ZigoKFBnU3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlvbiAqKSAwKS0+c3RhdHMpLAorCQkucGVu ZGluZ19zaXplID0gc2l6ZW9mKFBnU3RhdF9SZWxhdGlvblZhY3V1bVBlbmRpbmcpLAorCisJ CS5mbHVzaF9wZW5kaW5nX2NiID0gcGdzdGF0X3ZhY3V1bV9yZWxhdGlvbl9mbHVzaF9jYgor CX0sCiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X2RhdGFiYXNlLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRf ZGF0YWJhc2UuYwppbmRleCA2NTIwN2QzMDM3OC4uODBlNmM3YzIyOWEgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jCkBAIC00Niw2ICs0 NiwxNSBAQCBwZ3N0YXRfZHJvcF9kYXRhYmFzZShPaWQgZGF0YWJhc2VpZCkKIAlwZ3N0YXRf ZHJvcF90cmFuc2FjdGlvbmFsKFBHU1RBVF9LSU5EX0RBVEFCQVNFLCBkYXRhYmFzZWlkLCBJ bnZhbGlkT2lkKTsKIH0KIAorLyoKKyAqIFJlbW92ZSBlbnRyeSBmb3IgdGhlIGRhdGFiYXNl IGJlaW5nIGRyb3BwZWQuCisgKi8KK3ZvaWQKK3Bnc3RhdF9kcm9wX3ZhY3V1bV9kYXRhYmFz ZShPaWQgZGF0YWJhc2VpZCkKK3sKKwlwZ3N0YXRfZHJvcF90cmFuc2FjdGlvbmFsKFBHU1RB VF9LSU5EX1ZBQ1VVTV9EQiwgZGF0YWJhc2VpZCwgSW52YWxpZE9pZCk7Cit9CisKIC8qCiAg KiBDYWxsZWQgZnJvbSBhdXRvdmFjdXVtLmMgdG8gcmVwb3J0IHN0YXJ0dXAgb2YgYW4gYXV0 b3ZhY3V1bSBwcm9jZXNzLgogICogV2UgYXJlIGNhbGxlZCBiZWZvcmUgSW5pdFBvc3RncmVz IGlzIGRvbmUsIHNvIGNhbid0IHJlbHkgb24gTXlEYXRhYmFzZUlkOwpAQCAtNDg1LDcgKzQ5 NCw2IEBAIHBnc3RhdF9kYXRhYmFzZV9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5 X3JlZiwgYm9vbCBub3dhaXQpCiAJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOwog CiAJbWVtc2V0KHBlbmRpbmdlbnQsIDAsIHNpemVvZigqcGVuZGluZ2VudCkpOwotCW1lbXNl dCgmKHBlbmRpbmdlbnQpLT52YWN1dW1fZXh0LCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7 CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X3JlbGF0aW9uLmMKaW5kZXggMTY5NTY4MGVhNjIuLmFjYzhmMGI4YTUyIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwpAQCAt NDcsOCArNDcsNiBAQCBzdGF0aWMgdm9pZCBhZGRfdGFic3RhdF94YWN0X2xldmVsKFBnU3Rh dF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm8sIGludCBuZXN0X2xldgogc3RhdGljIHZvaWQg ZW5zdXJlX3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9p bmZvKTsKIHN0YXRpYyB2b2lkIHNhdmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJs ZVhhY3RTdGF0dXMgKnRyYW5zLCBib29sIGlzX2Ryb3ApOwogc3RhdGljIHZvaWQgcmVzdG9y ZV90cnVuY2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMpOwot c3RhdGljIHZvaWQgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1JlcG9y dCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKLQkJCQkJCQkgICBib29sIGFjY3VtdWxhdGVf cmVsdHlwZV9zcGVjaWZpY19pbmZvKTsKIAogCiAvKgpAQCAtMjA1LDUwICsyMDMsMTcgQEAg cGdzdGF0X2Ryb3BfcmVsYXRpb24oUmVsYXRpb24gcmVsKQogCX0KIH0KIAotLyogLS0tLS0t LS0tCi0gKiBwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcigpIC0KLSAqCi0gKglUZWxsIHRo ZSBjb2xsZWN0b3IgYWJvdXQgYW4gKGF1dG8pdmFjdXVtIGludGVycnVwdGlvbi4KLSAqIC0t LS0tLS0tLQotICovCi12b2lkCi1wZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQgdGFi bGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90eXBlKQotewotCVBnU3RhdF9FbnRyeVJlZiAq ZW50cnlfcmVmOwotCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKLQlQZ1N0 YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKLQlPaWQJCQlkYm9pZCA9ICBNeURhdGFiYXNl SWQ7Ci0JUGdTdGF0X1N0YXREQkVudHJ5ICpkYmVudHJ5OwkvKiBwZW5kaW5nIGRhdGFiYXNl IGVudHJ5ICovCi0KLQlpZiAoIXBnc3RhdF90cmFja19jb3VudHMpCi0JCXJldHVybjsKLQot CWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9S RUxBVElPTiwKLQkJCQkJCQkJCQkJZGJvaWQsIHRhYmxlb2lkLCBmYWxzZSk7Ci0KLQlzaHRh YmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9z dGF0czsKLQl0YWJlbnRyeSA9ICZzaHRhYmVudHJ5LT5zdGF0czsKLQotCXRhYmVudHJ5LT52 YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7Ci0JcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9y ZWYpOwotCi0JZGJlbnRyeSA9IHBnc3RhdF9wcmVwX2RhdGFiYXNlX3BlbmRpbmcoZGJvaWQp OwotCWRiZW50cnktPnZhY3V1bV9leHQuZXJyb3JzKys7Ci0JZGJlbnRyeS0+dmFjdXVtX2V4 dC50eXBlID0gbV90eXBlOwotfQotCiAvKgogICogUmVwb3J0IHRoYXQgdGhlIHRhYmxlIHdh cyBqdXN0IHZhY3V1bWVkIGFuZCBmbHVzaCBJTyBzdGF0aXN0aWNzLgogICovCiB2b2lkCiBw Z3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCQkJCQkg UGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywK LQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSwgRXh0VmFjUmVwb3J0ICpwYXJhbXMpCisJ CQkJCSBUaW1lc3RhbXBUeiBzdGFydHRpbWUpCiB7CiAJUGdTdGF0X0VudHJ5UmVmICplbnRy eV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5OwogCVBnU3RhdF9T dGF0VGFiRW50cnkgKnRhYmVudHJ5OwotCVBnU3RhdFNoYXJlZF9EYXRhYmFzZSAqZGJlbnRy eTsKIAlPaWQJCQlkYm9pZCA9IChzaGFyZWQgPyBJbnZhbGlkT2lkIDogTXlEYXRhYmFzZUlk KTsKIAlUaW1lc3RhbXBUeiB0czsKIAlQZ1N0YXRfQ291bnRlciBlbGFwc2VkdGltZTsKQEAg LTI3MCw4ICsyMzUsNiBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJv b2wgc2hhcmVkLAogCXRhYmVudHJ5LT5saXZlX3R1cGxlcyA9IGxpdmV0dXBsZXM7CiAJdGFi ZW50cnktPmRlYWRfdHVwbGVzID0gZGVhZHR1cGxlczsKIAotCXBnc3RhdF9hY2N1bXVsYXRl X2V4dHZhY19zdGF0cygmdGFiZW50cnktPnZhY3V1bV9leHQsIHBhcmFtcywgdHJ1ZSk7Ci0K IAkvKgogCSAqIEl0IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQgYSBub24tYWdncmVzc2l2ZSBW QUNVVU0gZW5kZWQgdXAgc2tpcHBpbmcKIAkgKiB2YXJpb3VzIHBhZ2VzLCBob3dldmVyLCB3 ZSdsbCB6ZXJvIHRoZSBpbnNlcnQgY291bnRlciBoZXJlIHJlZ2FyZGxlc3MuCkBAIC0zMDcs MTYgKzI3MCw2IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBz aGFyZWQsCiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZhbHNlKTsKIAkodm9pZCkgcGdzdGF0 X2ZsdXNoX2JhY2tlbmQoZmFsc2UsIFBHU1RBVF9CQUNLRU5EX0ZMVVNIX0lPKTsKLQotCWlm IChkYm9pZCAhPSBJbnZhbGlkT2lkKQotCXsKLQkJZW50cnlfcmVmID0gcGdzdGF0X2dldF9l bnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX0RBVEFCQVNFLAotCQkJCQkJCQkJCQlkYm9p ZCwgSW52YWxpZE9pZCwgZmFsc2UpOwotCQlkYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9EYXRh YmFzZSAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKLQotCQlwZ3N0YXRfYWNjdW11bGF0 ZV9leHR2YWNfc3RhdHMoJmRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQsIHBhcmFtcywgZmFs c2UpOwotCQlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7Ci0JfQogfQogCiAvKgpA QCAtOTUxLDYgKzkwNCwxMiBAQCBwZ3N0YXRfcmVsYXRpb25fZmx1c2hfY2IoUGdTdGF0X0Vu dHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KQogCXJldHVybiB0cnVlOwogfQogCit2 b2lkCitwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2RlbGV0ZV9wZW5kaW5nX2NiKE9pZCByZWxp ZCkKK3sKKwlwZ3N0YXRfZHJvcF90cmFuc2FjdGlvbmFsKFBHU1RBVF9LSU5EX1ZBQ1VVTV9S RUxBVElPTiwgcmVsaWQsIEludmFsaWRPaWQpOworfQorCiB2b2lkCiBwZ3N0YXRfcmVsYXRp b25fZGVsZXRlX3BlbmRpbmdfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYpCiB7CkBA IC0xMDUzLDYwICsxMDEyLDQgQEAgcmVzdG9yZV90cnVuY2Ryb3BfY291bnRlcnMoUGdTdGF0 X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMpCiAJCXRyYW5zLT50dXBsZXNfdXBkYXRlZCA9IHRy YW5zLT51cGRhdGVkX3ByZV90cnVuY2Ryb3A7CiAJCXRyYW5zLT50dXBsZXNfZGVsZXRlZCA9 IHRyYW5zLT5kZWxldGVkX3ByZV90cnVuY2Ryb3A7CiAJfQotfQotCi1zdGF0aWMgdm9pZAot cGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRW YWNSZXBvcnQgKnNyYywKLQkJCQkJCQkgICBib29sIGFjY3VtdWxhdGVfcmVsdHlwZV9zcGVj aWZpY19pbmZvKQotewotCWlmKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0J CXJldHVybjsKLQotCWRzdC0+dG90YWxfYmxrc19yZWFkICs9IHNyYy0+dG90YWxfYmxrc19y ZWFkOwotCWRzdC0+dG90YWxfYmxrc19oaXQgKz0gc3JjLT50b3RhbF9ibGtzX2hpdDsKLQlk c3QtPnRvdGFsX2Jsa3NfZGlydGllZCArPSBzcmMtPnRvdGFsX2Jsa3NfZGlydGllZDsKLQlk c3QtPnRvdGFsX2Jsa3Nfd3JpdHRlbiArPSBzcmMtPnRvdGFsX2Jsa3Nfd3JpdHRlbjsKLQlk c3QtPndhbF9ieXRlcyArPSBzcmMtPndhbF9ieXRlczsKLQlkc3QtPndhbF9mcGkgKz0gc3Jj LT53YWxfZnBpOwotCWRzdC0+d2FsX3JlY29yZHMgKz0gc3JjLT53YWxfcmVjb3JkczsKLQlk c3QtPmJsa19yZWFkX3RpbWUgKz0gc3JjLT5ibGtfcmVhZF90aW1lOwotCWRzdC0+YmxrX3dy aXRlX3RpbWUgKz0gc3JjLT5ibGtfd3JpdGVfdGltZTsKLQlkc3QtPmRlbGF5X3RpbWUgKz0g c3JjLT5kZWxheV90aW1lOwotCWRzdC0+dG90YWxfdGltZSArPSBzcmMtPnRvdGFsX3RpbWU7 Ci0JZHN0LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNyYy0+d3JhcGFyb3VuZF9m YWlsc2FmZV9jb3VudDsKLQlkc3QtPmVycm9ycyArPSBzcmMtPmVycm9yczsKLQotCWlmICgh YWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pCi0JCXJldHVybjsKLQotCWlmIChk c3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEKQotCQlkc3QtPnR5cGUgPSBzcmMt PnR5cGU7Ci0KLQlBc3NlcnQoc3JjLT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCB8 fCBzcmMtPnR5cGUgPT0gZHN0LT50eXBlKTsKLQotCWlmIChkc3QtPnR5cGUgPT0gc3JjLT50 eXBlKQotCXsKLQkJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7Ci0J CWRzdC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtzX2hpdDsKLQotCQlpZiAoZHN0LT50eXBlID09 IFBHU1RBVF9FWFRWQUNfVEFCTEUpCi0JCXsKLQkJCWRzdC0+dGFibGUucGFnZXNfc2Nhbm5l ZCArPSBzcmMtPnRhYmxlLnBhZ2VzX3NjYW5uZWQ7Ci0JCQlkc3QtPnRhYmxlLnBhZ2VzX3Jl bW92ZWQgKz0gc3JjLT50YWJsZS5wYWdlc19yZW1vdmVkOwotCQkJZHN0LT50YWJsZS52bV9u ZXdfZnJvemVuX3BhZ2VzICs9IHNyYy0+dGFibGUudm1fbmV3X2Zyb3plbl9wYWdlczsKLQkJ CWRzdC0+dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXMgKz0gc3JjLT50YWJsZS52bV9uZXdf dmlzaWJsZV9wYWdlczsKLQkJCWRzdC0+dGFibGUudm1fbmV3X3Zpc2libGVfZnJvemVuX3Bh Z2VzICs9IHNyYy0+dGFibGUudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOwotCQkJZHN0 LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1cGxlc19kZWxldGVkOwotCQkJZHN0LT50YWJs ZS50dXBsZXNfZnJvemVuICs9IHNyYy0+dGFibGUudHVwbGVzX2Zyb3plbjsKLQkJCWRzdC0+ dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMgKz0gc3JjLT50YWJsZS5yZWNlbnRseV9kZWFk X3R1cGxlczsKLQkJCWRzdC0+dGFibGUuaW5kZXhfdmFjdXVtX2NvdW50ICs9IHNyYy0+dGFi bGUuaW5kZXhfdmFjdXVtX2NvdW50OwotCQkJZHN0LT50YWJsZS5taXNzZWRfZGVhZF9wYWdl cyArPSBzcmMtPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzOwotCQkJZHN0LT50YWJsZS5taXNz ZWRfZGVhZF90dXBsZXMgKz0gc3JjLT50YWJsZS5taXNzZWRfZGVhZF90dXBsZXM7Ci0JCX0K LQkJZWxzZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCi0JCXsKLQkJ CWRzdC0+aW5kZXgucGFnZXNfZGVsZXRlZCArPSBzcmMtPmluZGV4LnBhZ2VzX2RlbGV0ZWQ7 Ci0JCQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7Ci0JCX0K LQl9CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi5lMTFmMTllNDZiMgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0uYwpAQCAtMCwwICsxLDIxNSBAQAor I2luY2x1ZGUgInBvc3RncmVzLmgiCisKKyNpbmNsdWRlICJwZ3N0YXQuaCIKKyNpbmNsdWRl ICJ1dGlscy9wZ3N0YXRfaW50ZXJuYWwuaCIKKyNpbmNsdWRlICJ1dGlscy9tZW11dGlscy5o IgorCisvKiAtLS0tLS0tLS0tCisgKiBHVUMgcGFyYW1ldGVycworICogLS0tLS0tLS0tLQor ICovCitib29sCQlwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3NfZm9yX3JlbGF0aW9u cyA9IGZhbHNlOworCisjZGVmaW5lIEFDQ1VNVUxBVEVfRklFTEQoZmllbGQpIGRzdC0+Zmll bGQgKz0gc3JjLT5maWVsZDsKKworI2RlZmluZSBBQ0NVTVVMQVRFX1NVQkZJRUxEKHN1YnN0 cnVjdCwgZmllbGQpIFwKKyAgICAoZHN0LT5zdWJzdHJ1Y3QuZmllbGQgKz0gc3JjLT5zdWJz dHJ1Y3QuZmllbGQpCisKK3N0YXRpYyB2b2lkCitwZ3N0YXRfYWNjdW11bGF0ZV9jb21tb24o UGdTdGF0X0NvbW1vbkNvdW50cyAqZHN0LCBjb25zdCBQZ1N0YXRfQ29tbW9uQ291bnRzICpz cmMpCit7CisJQUNDVU1VTEFURV9GSUVMRCh0b3RhbF9ibGtzX3JlYWQpOworCUFDQ1VNVUxB VEVfRklFTEQodG90YWxfYmxrc19oaXQpOworCUFDQ1VNVUxBVEVfRklFTEQodG90YWxfYmxr c19kaXJ0aWVkKTsKKwlBQ0NVTVVMQVRFX0ZJRUxEKHRvdGFsX2Jsa3Nfd3JpdHRlbik7CisK KwlBQ0NVTVVMQVRFX0ZJRUxEKGJsa3NfZmV0Y2hlZCk7CisJQUNDVU1VTEFURV9GSUVMRChi bGtzX2hpdCk7CisKKwlBQ0NVTVVMQVRFX0ZJRUxEKHdhbF9yZWNvcmRzKTsKKwlBQ0NVTVVM QVRFX0ZJRUxEKHdhbF9mcGkpOworCUFDQ1VNVUxBVEVfRklFTEQod2FsX2J5dGVzKTsKKwor CUFDQ1VNVUxBVEVfRklFTEQoYmxrX3JlYWRfdGltZSk7CisJQUNDVU1VTEFURV9GSUVMRChi bGtfd3JpdGVfdGltZSk7CisJQUNDVU1VTEFURV9GSUVMRChkZWxheV90aW1lKTsKKwlBQ0NV TVVMQVRFX0ZJRUxEKHRvdGFsX3RpbWUpOworCisJQUNDVU1VTEFURV9GSUVMRCh0dXBsZXNf ZGVsZXRlZCk7CisJQUNDVU1VTEFURV9GSUVMRCh3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50 KTsKK30KKworc3RhdGljIHZvaWQKK3Bnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0c19y ZWxhdGlvbnMoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpkc3QsIFBnU3RhdF9WYWN1 dW1SZWxhdGlvbkNvdW50cyAqc3JjKQoreworICAgIGlmKCFwZ3N0YXRfdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworICAgIGlmIChkc3QtPnR5cGUgPT0gUEdTVEFU X0VYVFZBQ19JTlZBTElEKQorICAgICAgICBkc3QtPnR5cGUgPSBzcmMtPnR5cGU7CisKKyAg ICBBc3NlcnQoc3JjLT50eXBlICE9IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCAmJiBzcmMtPnR5 cGUgIT0gUEdTVEFUX0VYVFZBQ19EQiAmJiBzcmMtPnR5cGUgPT0gZHN0LT50eXBlKTsKKwor ICAgIHBnc3RhdF9hY2N1bXVsYXRlX2NvbW1vbigmZHN0LT5jb21tb24sICZzcmMtPmNvbW1v bik7CisKKyAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKGNvbW1vbiwgYmxrc19mZXRjaGVkKTsK KyAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKGNvbW1vbiwgYmxrc19oaXQpOworCisgICAgaWYg KGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX1RBQkxFKQorICAgIHsKKyAgICAgICAgQUND VU1VTEFURV9TVUJGSUVMRChjb21tb24sIHR1cGxlc19kZWxldGVkKTsKKyAgICAgICAgQUND VU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgcGFnZXNfc2Nhbm5lZCk7CisgICAgICAgIEFDQ1VN VUxBVEVfU1VCRklFTEQodGFibGUsIHBhZ2VzX3JlbW92ZWQpOworICAgICAgICBBQ0NVTVVM QVRFX1NVQkZJRUxEKHRhYmxlLCB2bV9uZXdfZnJvemVuX3BhZ2VzKTsKKyAgICAgICAgQUND VU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgdm1fbmV3X3Zpc2libGVfcGFnZXMpOworICAgICAg ICBBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCB0dXBsZXNfZnJvemVu KTsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgcmVjZW50bHlfZGVhZF90 dXBsZXMpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCBpbmRleF92YWN1 dW1fY291bnQpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCBtaXNzZWRf ZGVhZF9wYWdlcyk7CisgICAgICAgIEFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUsIG1pc3Nl ZF9kZWFkX3R1cGxlcyk7CisgICAgfQorICAgIGVsc2UgaWYgKGRzdC0+dHlwZSA9PSBQR1NU QVRfRVhUVkFDX0lOREVYKQorICAgIHsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRChj b21tb24sIHR1cGxlc19kZWxldGVkKTsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRChp bmRleCwgcGFnZXNfZGVsZXRlZCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorcGdzdGF0 X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzX2RiKFBnU3RhdF9WYWN1dW1EQkNvdW50cyAqZHN0 LCBQZ1N0YXRfVmFjdXVtREJDb3VudHMgKnNyYykKK3sKKyAgICBpZighcGdzdGF0X3RyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKyAgICBwZ3N0YXRfYWNjdW11bGF0 ZV9jb21tb24oJmRzdC0+Y29tbW9uLCAmc3JjLT5jb21tb24pOworICAgIGRzdC0+ZXJyb3Jz ICs9IHNyYy0+ZXJyb3JzOworfQorCisvKgorICogUmVwb3J0IHRoYXQgdGhlIHRhYmxlIHdh cyBqdXN0IHZhY3V1bWVkIGFuZCBmbHVzaCBzdGF0aXN0aWNzLgorICovCit2b2lkCitwZ3N0 YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyhPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAor CQkJCQkJCQkgIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqcGFyYW1zKQoreworCVBn U3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOworCVBnU3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlv biAqc2h0YWJlbnRyeTsKKwlQZ1N0YXRTaGFyZWRfVmFjdXVtREIgKnNoZGJlbnRyeTsKKwlP aWQJZGJvaWQgPSAoc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0YWJhc2VJZCk7CisKKwlp ZighcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwllbnRy eV9yZWYgPSBwZ3N0YXRfZ2V0X2VudHJ5X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfVkFDVVVN X1JFTEFUSU9OLAorCQkJCQkJCQkJCQlkYm9pZCwgdGFibGVvaWQsIGZhbHNlKTsKKwlzaHRh YmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlvbiAqKSBlbnRyeV9yZWYtPnNo YXJlZF9zdGF0czsKKwlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHNfcmVsYXRpb25z KCZzaHRhYmVudHJ5LT5zdGF0cywgcGFyYW1zKTsKKworCXBnc3RhdF91bmxvY2tfZW50cnko ZW50cnlfcmVmKTsKKworCisJZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9yZWZfbG9j a2VkKFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQiwKKwkJCQkJCQkJCQkJZGJvaWQsIEludmFsaWRP aWQsIGZhbHNlKTsKKworCXNoZGJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfVmFjdXVtREIgKikg ZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisKKwlwZ3N0YXRfYWNjdW11bGF0ZV9jb21tb24o JnNoZGJlbnRyeS0+c3RhdHMuY29tbW9uLCAmcGFyYW1zLT5jb21tb24pOworCisJcGdzdGF0 X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOworfQorCisvKgorICogRmx1c2ggb3V0IHBlbmRp bmcgc3RhdHMgZm9yIHRoZSBlbnRyeQorICoKKyAqIElmIG5vd2FpdCBpcyB0cnVlLCB0aGlz IGZ1bmN0aW9uIHJldHVybnMgZmFsc2UgaWYgbG9jayBjb3VsZCBub3QKKyAqIGltbWVkaWF0 ZWx5IGFjcXVpcmVkLCBvdGhlcndpc2UgdHJ1ZSBpcyByZXR1cm5lZC4KKyAqLworYm9vbAor cGdzdGF0X3ZhY3V1bV9yZWxhdGlvbl9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5 X3JlZiwgYm9vbCBub3dhaXQpCit7CisJUGdTdGF0U2hhcmVkX1ZhY3V1bVJlbGF0aW9uICpz aHRhYnN0YXRzOworCVBnU3RhdF9SZWxhdGlvblZhY3V1bVBlbmRpbmcgKnBlbmRpbmdlbnQ7 CS8qIHRhYmxlIGVudHJ5IG9mIHNoYXJlZCBzdGF0cyAqLworCisJcGVuZGluZ2VudCA9IChQ Z1N0YXRfUmVsYXRpb25WYWN1dW1QZW5kaW5nICopIGVudHJ5X3JlZi0+cGVuZGluZzsKKwlz aHRhYnN0YXRzID0gKFBnU3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlvbiAqKSBlbnRyeV9yZWYt PnNoYXJlZF9zdGF0czsKKworCS8qCisJICogSWdub3JlIGVudHJpZXMgdGhhdCBkaWRuJ3Qg YWNjdW11bGF0ZSBhbnkgYWN0dWFsIGNvdW50cy4KKwkgKi8KKwlpZiAocGdfbWVtb3J5X2lz X2FsbF96ZXJvcygmcGVuZGluZ2VudCwKKwkJCQkJCQkgICBzaXplb2Yoc3RydWN0IFBnU3Rh dF9SZWxhdGlvblZhY3V1bVBlbmRpbmcpKSkKKwkJcmV0dXJuIHRydWU7CisKKwlpZiAoIXBn c3RhdF9sb2NrX2VudHJ5KGVudHJ5X3JlZiwgbm93YWl0KSkKKwl7CisgICAgICAgIHJldHVy biBmYWxzZTsKKyAgICB9CisKKwlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHNfcmVs YXRpb25zKCYoc2h0YWJzdGF0cy0+c3RhdHMpLCAmKHBlbmRpbmdlbnQtPmNvdW50cykpOwor CisJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOworCisJcmV0dXJuIHRydWU7Cit9 CisKKy8qCisgKiBTdXBwb3J0IGZ1bmN0aW9uIGZvciB0aGUgU1FMLWNhbGxhYmxlIHBnc3Rh dCogZnVuY3Rpb25zLiBSZXR1cm5zCisgKiB0aGUgdmFjdXVtIGNvbGxlY3RlZCBzdGF0aXN0 aWNzIGZvciBvbmUgcmVsYXRpb24gb3IgTlVMTC4KKyAqLworUGdTdGF0X1ZhY3V1bVJlbGF0 aW9uQ291bnRzICoKK3Bnc3RhdF9mZXRjaF9zdGF0X3ZhY3V1bV90YWJlbnRyeShPaWQgcmVs aWQsIE9pZCBkYmlkKQoreworCXJldHVybiAoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRz ICopCisJCXBnc3RhdF9mZXRjaF9lbnRyeShQR1NUQVRfS0lORF9WQUNVVU1fUkVMQVRJT04s IGRiaWQsIHJlbGlkKTsKK30KKworUGdTdGF0X1ZhY3V1bURCQ291bnRzICoKK3Bnc3RhdF9m ZXRjaF9zdGF0X3ZhY3V1bV9kYmVudHJ5KE9pZCBkYmlkKQoreworCXJldHVybiAoUGdTdGF0 X1ZhY3V1bURCQ291bnRzICopCisJCXBnc3RhdF9mZXRjaF9lbnRyeShQR1NUQVRfS0lORF9W QUNVVU1fREIsIGRiaWQsIEludmFsaWRPaWQpOworfQorCitib29sCitwZ3N0YXRfdmFjdXVt X2RiX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCkK K3sKKwlQZ1N0YXRTaGFyZWRfVmFjdXVtREIgKnNoYXJlZGVudDsKKwlQZ1N0YXRfVmFjdXVt REJDb3VudHMgKnBlbmRpbmdlbnQ7CisKKwlwZW5kaW5nZW50ID0gKFBnU3RhdF9WYWN1dW1E QkNvdW50cyAqKSBlbnRyeV9yZWYtPnBlbmRpbmc7CisJc2hhcmVkZW50ID0gKFBnU3RhdFNo YXJlZF9WYWN1dW1EQiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCWlmICghcGdz dGF0X2xvY2tfZW50cnkoZW50cnlfcmVmLCBub3dhaXQpKQorCQlyZXR1cm4gZmFsc2U7CisK KwkvKiBUaGUgZW50cnkgd2FzIHN1Y2Nlc3NmdWxseSBmbHVzaGVkLCBhZGQgdGhlIHNhbWUg dG8gZGF0YWJhc2Ugc3RhdHMgKi8KKwlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHNf ZGIoJihzaGFyZWRlbnQtPnN0YXRzKSwgcGVuZGluZ2VudCk7CisKKwlwZ3N0YXRfdW5sb2Nr X2VudHJ5KGVudHJ5X3JlZik7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworLyoKKyAqIEZpbmQg b3IgY3JlYXRlIGEgbG9jYWwgUGdTdGF0X1ZhY3V1bURCQ291bnRzIGVudHJ5IGZvciBkYm9p ZC4KKyAqLworUGdTdGF0X1ZhY3V1bURCQ291bnRzICoKK3Bnc3RhdF9wcmVwX3ZhY3V1bV9k YXRhYmFzZV9wZW5kaW5nKE9pZCBkYm9pZCkKK3sKKwlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5 X3JlZjsKKworCS8qCisJICogVGhpcyBzaG91bGQgbm90IHJlcG9ydCBzdGF0cyBvbiBkYXRh YmFzZSBvYmplY3RzIGJlZm9yZSBoYXZpbmcKKwkgKiBjb25uZWN0ZWQgdG8gYSBkYXRhYmFz ZS4KKwkgKi8KKwlBc3NlcnQoIU9pZElzVmFsaWQoZGJvaWQpIHx8IE9pZElzVmFsaWQoTXlE YXRhYmFzZUlkKSk7CisKKwllbnRyeV9yZWYgPSBwZ3N0YXRfcHJlcF9wZW5kaW5nX2VudHJ5 KFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQiwgZGJvaWQsIEludmFsaWRPaWQsCisJCQkJCQkJCQkJ ICBOVUxMKTsKKworICAgIGlmKGVudHJ5X3JlZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4g TlVMTDsKKworICAgIHJldHVybiBlbnRyeV9yZWYtPnBlbmRpbmc7Cit9ClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bn c3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRl eCBhMmVjZTJjMzZjZi4uODYwM2Q0ZGQ1NzYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0 YXRmdW5jcy5jCkBAIC0yMjY1LDcgKzIyNjUsNiBAQCBwZ19zdGF0X2hhdmVfc3RhdHMoUEdf RlVOQ1RJT05fQVJHUykKIAlQR19SRVRVUk5fQk9PTChwZ3N0YXRfaGF2ZV9lbnRyeShraW5k LCBkYm9pZCwgb2JqaWQpKTsKIH0KIAotCiAvKgogICogR2V0IHRoZSB2YWN1dW0gc3RhdGlz dGljcyBmb3IgdGhlIGhlYXAgdGFibGVzLgogICovCkBAIC0yMjc1LDEwMiArMjI3NCw0MiBA QCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJI2RlZmlu ZSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMgMjYKIAogCU9pZAkJCQkJ CXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKLQlQZ1N0YXRfU3RhdFRhYkVudHJ5ICAgICAq dGFiZW50cnk7Ci0JRXh0VmFjUmVwb3J0IAkJCSpleHR2YWN1dW07CisJUGdTdGF0X1ZhY3V1 bVJlbGF0aW9uQ291bnRzIAkJCSpleHR2YWN1dW07CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9u Q291bnRzICpwZW5kaW5nOwogCVR1cGxlRGVzYwkJCQkgdHVwZGVzYzsKIAlEYXR1bQkJCQkJ IHZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFNdID0gezB9Owog CWJvb2wJCQkJCSBudWxsc1tQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFNd ID0gezB9OwogCWNoYXIJCQkJCSBidWZbMjU2XTsKIAlpbnQJCQkJCQkgaSA9IDA7Ci0JRXh0 VmFjUmVwb3J0IGFsbHplcm87CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGFsbHpl cm87CiAKLQkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMgaW5mb3JtYXRpb24gaW4gdGhlIHR1 cGxlIGRlc2NyaXB0b3IgKi8KLQl0dXBkZXNjID0gQ3JlYXRlVGVtcGxhdGVUdXBsZURlc2Mo UEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKwkvKiBCdWlsZCBhIHR1 cGxlIGRlc2NyaXB0b3IgZm9yIG91ciByZXN1bHQgdHlwZSAqLworCWlmIChnZXRfY2FsbF9y ZXN1bHRfdHlwZShmY2luZm8sIE5VTEwsICZ0dXBkZXNjKSAhPSBUWVBFRlVOQ19DT01QT1NJ VEUpCisJCWVsb2coRVJST1IsICJyZXR1cm4gdHlwZSBtdXN0IGJlIGEgcm93IHR5cGUiKTsK IAotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVs aWQiLAotCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3JlYWQiLAotCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK LQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFs X2Jsa3NfZGlydGllZCIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3Nfd3JpdHRl biIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVw ZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX3JlYWQiLAotCQkJCQkgICBJTlQ4 T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJyZWxfYmxrc19oaXQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19zY2Fu bmVkIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNfcmVtb3ZlZCIsCi0JCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgInZtX25ld19mcm96ZW5fcGFnZXMiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwg MCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ2 bV9uZXdfdmlzaWJsZV9wYWdlcyIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlcyIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIm1pc3NlZF9kZWFkX3Bh Z2VzIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVzX2RlbGV0ZWQiLAotCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ0dXBsZXNfZnJvemVuIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwot CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVjZW50 bHlfZGVhZF90dXBsZXMiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJtaXNzZWRfZGVhZF90dXBs ZXMiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50IiwK LQkJCQkJICAgSU5UNE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAiaW5kZXhfdmFjdXVtX2NvdW50IiwKLQkJCQkJICAgSU5U OE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAid2FsX3JlY29yZHMiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfZnBpIiwK LQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwKLQkJCQkJICAgTlVNRVJJQ09JRCwg LTEsIDApOwotCi0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJibGtfcmVhZF90aW1lIiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0JVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfd3JpdGVf dGltZSIsCi0JCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOwotCi0JVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkZWxheV90aW1lIiwKLQkJCQkJICAg RkxPQVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7 Ci0KLQlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMp OwotCi0JQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CisJcGVuZGluZyA9IHBnc3RhdF9mZXRj aF9zdGF0X3ZhY3V1bV90YWJlbnRyeShyZWxpZCwgTXlEYXRhYmFzZUlkKTsKIAotCXRhYmVu dHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnkocmVsaWQpOwotCi0JaWYgKHRhYmVu dHJ5ID09IE5VTEwpCisJaWYgKHBlbmRpbmcgPT0gTlVMTCkKIAl7CiAJCS8qIElmIHRoZSBz dWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0cyAqLwotCQlt ZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJbWVtc2V0KCZh bGx6ZXJvLCAwLCBzaXplb2YoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzKSk7CiAJCWV4 dHZhY3V1bSA9ICZhbGx6ZXJvOwogCX0KIAllbHNlCi0JewotCQlleHR2YWN1dW0gPSAmKHRh YmVudHJ5LT52YWN1dW1fZXh0KTsKLQl9CisJCWV4dHZhY3V1bSA9IHBlbmRpbmc7CiAKIAlp ID0gMDsKIAogCXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXREYXR1bShyZWxpZCk7CiAKLQl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX3JlYWQp OwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3Nf aGl0KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9i bGtzX2RpcnRpZWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3NfaGl0KTsKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxrc19kaXJ0 aWVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24u dG90YWxfYmxrc193cml0dGVuKTsKIAotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPmJsa3NfZmV0Y2hlZCAtCi0JCQkJCQkJCQlleHR2YWN1dW0tPmJsa3NfaGl0 KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2hpdCk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJsa3Nf ZmV0Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1dW0tPmNvbW1vbi5ibGtzX2hpdCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJsa3NfaGl0KTsK IAogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnBhZ2Vz X3NjYW5uZWQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRh YmxlLnBhZ2VzX3JlbW92ZWQpOwpAQCAtMjM3OCwyOCArMjMxNywyOCBAQCBwZ19zdGF0X2dl dF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXMpOwogCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlcyk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXMpOwotCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19kZWxldGVkKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udHVwbGVzX2RlbGV0ZWQpOwogCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnR1cGxlc19mcm96ZW4p OwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnJlY2Vu dGx5X2RlYWRfdHVwbGVzKTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT50YWJsZS5taXNzZWRfZGVhZF90dXBsZXMpOwogCi0JdmFsdWVzW2krK10gPSBJbnQz MkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFs dWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndyYXBhcm91bmRf ZmFpbHNhZmVfY291bnQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCk7CiAKLQl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9yZWNvcmRzKTsKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24ud2FsX2ZwaSk7CiAKIAkvKiBDb252 ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCi0Jc25wcmludGYo YnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9ieXRlcyk7 CisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0t PmNvbW1vbi53YWxfYnl0ZXMpOwogCXZhbHVlc1tpKytdID0gRGlyZWN0RnVuY3Rpb25DYWxs MyhudW1lcmljX2luLAogCQkJCQkJCQkJICBDU3RyaW5nR2V0RGF0dW0oYnVmKSwKIAkJCQkJ CQkJCSAgT2JqZWN0SWRHZXREYXR1bSgwKSwKIAkJCQkJCQkJCSAgSW50MzJHZXREYXR1bSgt MSkpOwogCi0JdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa19y ZWFkX3RpbWUpOwotCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5i bGtfd3JpdGVfdGltZSk7Ci0JdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1 dW0tPmRlbGF5X3RpbWUpOwotCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFj dXVtLT50b3RhbF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZh Y3V1bS0+Y29tbW9uLmJsa19yZWFkX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0 RGF0dW0oZXh0dmFjdXVtLT5jb21tb24uYmxrX3dyaXRlX3RpbWUpOworCXZhbHVlc1tpKytd ID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24uZGVsYXlfdGltZSk7CisJdmFs dWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi50b3RhbF90aW1l KTsKIAogCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09M Uyk7CiAKQEAgLTI0MTYsMTAwICsyMzU1LDYwIEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRl eGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJI2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fSU5E RVhfU1RBVFNfQ09MUwkxNgogCiAJT2lkCQkJCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDAp OwotCVBnU3RhdF9TdGF0VGFiRW50cnkgICAgICp0YWJlbnRyeTsKLQlFeHRWYWNSZXBvcnQg CQkJKmV4dHZhY3V1bTsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgCQkJKmV4dHZh Y3V1bTsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKnBlbmRpbmc7CiAJVHVwbGVE ZXNjCQkJCSB0dXBkZXNjOwogCURhdHVtCQkJCQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VV TV9JTkRFWF9TVEFUU19DT0xTXSA9IHswfTsKIAlib29sCQkJCQkgbnVsbHNbUEdfU1RBVF9H RVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFNdID0gezB9OwogCWNoYXIJCQkJCSBidWZbMjU2 XTsKIAlpbnQJCQkJCQkgaSA9IDA7Ci0JRXh0VmFjUmVwb3J0IGFsbHplcm87CisJUGdTdGF0 X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGFsbHplcm87CiAKLQkvKiBJbml0aWFsaXNlIGF0dHJp YnV0ZXMgaW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KLQl0dXBkZXNj ID0gQ3JlYXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NU QVRTX0NPTFMpOworCS8qIEJ1aWxkIGEgdHVwbGUgZGVzY3JpcHRvciBmb3Igb3VyIHJlc3Vs dCB0eXBlICovCisJaWYgKGdldF9jYWxsX3Jlc3VsdF90eXBlKGZjaW5mbywgTlVMTCwgJnR1 cGRlc2MpICE9IFRZUEVGVU5DX0NPTVBPU0lURSkKKwkJZWxvZyhFUlJPUiwgInJldHVybiB0 eXBlIG11c3QgYmUgYSByb3cgdHlwZSIpOwogCi0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxpZCIsCi0JCQkJCSAgIElOVDRPSUQsIC0xLCAw KTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRv dGFsXyBibGtzX3JlYWQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIs Ci0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfZGlydGllZCIsCi0JCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgInRvdGFsX2Jsa3Nfd3JpdHRlbiIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJl bF9ibGtzX3JlYWQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxfYmxrc19oaXQiLAotCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJwYWdlc19kZWxldGVkIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEs IDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAi dHVwbGVzX2RlbGV0ZWQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfcmVjb3JkcyIsCi0J CQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgIndhbF9mcGkiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7 Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxf Ynl0ZXMiLAotCQkJCQkgICBOVU1FUklDT0lELCAtMSwgMCk7Ci0KLQlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa19yZWFkX3RpbWUiLAotCQkJ CQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgImJsa193cml0ZV90aW1lIiwKLQkJCQkJICAgRkxPQVQ4T0lE LCAtMSwgMCk7CisJcGVuZGluZyA9IHBnc3RhdF9mZXRjaF9zdGF0X3ZhY3V1bV90YWJlbnRy eShyZWxpZCwgTXlEYXRhYmFzZUlkKTsKIAotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAiZGVsYXlfdGltZSIsCi0JCQkJCSAgIEZMT0FUOE9JRCwg LTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAidG90YWxfdGltZSIsCi0JCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOwotCi0JQXNzZXJ0 KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMpOwotCi0JQmxlc3NU dXBsZURlc2ModHVwZGVzYyk7Ci0KLQl0YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3Rh YmVudHJ5KHJlbGlkKTsKLQotCWlmICh0YWJlbnRyeSA9PSBOVUxMKQorCWlmIChwZW5kaW5n ID09IE5VTEwpCiAJewogCQkvKiBJZiB0aGUgc3Vic2NyaXB0aW9uIGlzIG5vdCBmb3VuZCwg aW5pdGlhbGlzZSBpdHMgc3RhdHMgKi8KLQkJbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXplb2Yo RXh0VmFjUmVwb3J0KSk7CisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9mKFBnU3RhdF9W YWN1dW1SZWxhdGlvbkNvdW50cykpOwogCQlleHR2YWN1dW0gPSAmYWxsemVybzsKIAl9CiAJ ZWxzZQotCXsKLQkJZXh0dmFjdXVtID0gJih0YWJlbnRyeS0+dmFjdXVtX2V4dCk7Ci0JfQor CQlleHR2YWN1dW0gPSBwZW5kaW5nOwogCiAJaSA9IDA7CiAKIAl2YWx1ZXNbaSsrXSA9IE9i amVjdElkR2V0RGF0dW0ocmVsaWQpOwogCi0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+dG90YWxfYmxrc19yZWFkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2hpdCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19kaXJ0aWVkKTsKLQl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX3dyaXR0ZW4pOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi50b3RhbF9ibGtz X3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1v bi50b3RhbF9ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3Nfd3JpdHRlbik7CiAKLQl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2ZldGNoZWQgLQot CQkJCQkJCQkJZXh0dmFjdXVtLT5ibGtzX2hpdCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+Ymxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtzX2ZldGNoZWQgLQorCQkJCQkJCQkJZXh0dmFj dXVtLT5jb21tb24uYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPmNvbW1vbi5ibGtzX2hpdCk7CiAKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT5pbmRleC5wYWdlc19kZWxldGVkKTsKLQl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZGVsZXRlZCk7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnR1cGxlc19kZWxldGVkKTsK IAotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9yZWNvcmRz KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfZnBpKTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24ud2FsX3Jl Y29yZHMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1v bi53YWxfZnBpKTsKIAogCS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlrZSBwZ19zdGF0X3N0 YXRlbWVudHMgKi8KLQlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9GT1JNQVQs IGV4dHZhY3V1bS0+d2FsX2J5dGVzKTsKKwlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJ TlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+Y29tbW9uLndhbF9ieXRlcyk7CiAJdmFsdWVzW2kr K10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCiAJCQkJCQkJCQkgIENTdHJp bmdHZXREYXR1bShidWYpLAogCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAogCQkJ CQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CiAKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdl dERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7Ci0JdmFsdWVzW2krK10gPSBGbG9h dDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1lKTsKLQl2YWx1ZXNbaSsrXSA9 IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGltZSk7Ci0JdmFsdWVzW2krK10g PSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCXZhbHVlc1tpKytd ID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24uYmxrX3JlYWRfdGltZSk7CisJ dmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtfd3Jp dGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmNv bW1vbi5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZh Y3V1bS0+Y29tbW9uLnRvdGFsX3RpbWUpOwogCiAJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRf VkFDVVVNX0lOREVYX1NUQVRTX0NPTFMpOwogCkBAIC0yNTIzLDkwICsyNDIyLDUyIEBAIHBn X3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5DVElPTl9BUkdTKQogCSNkZWZpbmUg UEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMJMTQKIAogCU9pZAkJCQkJ CSBkYmlkID0gUEdfR0VUQVJHX09JRCgwKTsKLQlQZ1N0YXRfU3RhdERCRW50cnkgCQkqZGJl bnRyeTsKLQlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlQZ1N0YXRfVmFjdXVtREJD b3VudHMJKmV4dHZhY3V1bTsKKwlQZ1N0YXRfVmFjdXVtREJDb3VudHMJKnBlbmRpbmc7CiAJ VHVwbGVEZXNjCQkJCSB0dXBkZXNjOwogCURhdHVtCQkJCQkgdmFsdWVzW1BHX1NUQVRfR0VU X1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTXSA9IHswfTsKIAlib29sCQkJCQkgbnVsbHNb UEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFNdID0gezB9OwogCWNoYXIJ CQkJCSBidWZbMjU2XTsKIAlpbnQJCQkJCQkgaSA9IDA7Ci0JRXh0VmFjUmVwb3J0IGFsbHpl cm87Ci0KLQkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMgaW5mb3JtYXRpb24gaW4gdGhlIHR1 cGxlIGRlc2NyaXB0b3IgKi8KLQl0dXBkZXNjID0gQ3JlYXRlVGVtcGxhdGVUdXBsZURlc2Mo UEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMpOwotCi0JVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkYmlkIiwKLQkJCQkJICAg SU5UNE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAidG90YWxfIGJsa3NfcmVhZCIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRv dGFsX2Jsa3NfaGl0IiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19kaXJ0aWVk IiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc193cml0dGVuIiwKLQkJCQkJICAg SU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAid2FsX3JlY29yZHMiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0J VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfZnBp IiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwKLQkJCQkJICAgTlVNRVJJQ09J RCwgLTEsIDApOworCVBnU3RhdF9WYWN1dW1EQkNvdW50cyBhbGx6ZXJvOwogCi0JVHVwbGVE ZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfcmVhZF90aW1l IiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfd3JpdGVfdGltZSIsCi0JCQkJCSAgIEZM T0FUOE9JRCwgLTEsIDApOworCS8qIEJ1aWxkIGEgdHVwbGUgZGVzY3JpcHRvciBmb3Igb3Vy IHJlc3VsdCB0eXBlICovCisJaWYgKGdldF9jYWxsX3Jlc3VsdF90eXBlKGZjaW5mbywgTlVM TCwgJnR1cGRlc2MpICE9IFRZUEVGVU5DX0NPTVBPU0lURSkKKwkJZWxvZyhFUlJPUiwgInJl dHVybiB0eXBlIG11c3QgYmUgYSByb3cgdHlwZSIpOwogCi0JVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkZWxheV90aW1lIiwKLQkJCQkJICAgRkxP QVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ0b3RhbF90aW1lIiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0J VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3cmFwYXJv dW5kX2ZhaWxzYWZlX2NvdW50IiwKLQkJCQkJICAgSU5UNE9JRCwgLTEsIDApOwotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiZXJyb3JzIiwKLQkJ CQkJICAgSU5UNE9JRCwgLTEsIDApOworCXBlbmRpbmcgPSBwZ3N0YXRfZmV0Y2hfc3RhdF92 YWN1dW1fZGJlbnRyeShkYmlkKTsKIAotCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VV TV9EQVRBQkFTRV9TVEFUU19DT0xTKTsKLQotCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOwot Ci0JZGJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X2RiZW50cnkoZGJpZCk7Ci0KLQlpZiAo ZGJlbnRyeSA9PSBOVUxMKQorCWlmIChwZW5kaW5nID09IE5VTEwpCiAJewogCQkvKiBJZiB0 aGUgc3Vic2NyaXB0aW9uIGlzIG5vdCBmb3VuZCwgaW5pdGlhbGlzZSBpdHMgc3RhdHMgKi8K LQkJbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJCW1lbXNl dCgmYWxsemVybywgMCwgc2l6ZW9mKFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cykpOwog CQlleHR2YWN1dW0gPSAmYWxsemVybzsKIAl9CiAJZWxzZQotCXsKLQkJZXh0dmFjdXVtID0g JihkYmVudHJ5LT52YWN1dW1fZXh0KTsKLQl9Ci0KLQlpID0gMDsKKwkJZXh0dmFjdXVtID0g cGVuZGluZzsKIAogCXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXREYXR1bShkYmlkKTsKIAot CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVh ZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxr c19oaXQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFs X2Jsa3NfZGlydGllZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+dG90YWxfYmxrc193cml0dGVuKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxrc19yZWFkKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxrc19oaXQpOworCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi50b3RhbF9ibGtzX2Rp cnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1v bi50b3RhbF9ibGtzX3dyaXR0ZW4pOwogCi0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+d2FsX3JlY29yZHMpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPndhbF9mcGkpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPmNvbW1vbi53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9mcGkpOwogCiAJLyogQ29udmVydCB0byBu dW1lcmljLCBsaWtlIHBnX3N0YXRfc3RhdGVtZW50cyAqLwotCXNucHJpbnRmKGJ1Ziwgc2l6 ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgZXh0dmFjdXVtLT53YWxfYnl0ZXMpOworCXNucHJp bnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgZXh0dmFjdXVtLT5jb21tb24u d2FsX2J5dGVzKTsKIAl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1bmN0aW9uQ2FsbDMobnVtZXJp Y19pbiwKIAkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1ZiksCiAJCQkJCQkJCQkgIE9i amVjdElkR2V0RGF0dW0oMCksCiAJCQkJCQkJCQkgIEludDMyR2V0RGF0dW0oLTEpKTsKIAot CXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtfcmVhZF90aW1l KTsKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3dyaXRl X3RpbWUpOwotCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5kZWxh eV90aW1lKTsKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+dG90 YWxfdGltZSk7Ci0JdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1 bShleHR2YWN1dW0tPmNvbW1vbi5ibGtfcmVhZF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZs b2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJsa193cml0ZV90aW1lKTsKKwl2YWx1 ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmRlbGF5X3RpbWUp OworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90 YWxfdGltZSk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+Y29t bW9uLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOwogCXZhbHVlc1tpKytdID0gSW50MzJH ZXREYXR1bShleHR2YWN1dW0tPmVycm9ycyk7CiAKIAlBc3NlcnQoaSA9PSBQR19TVEFUX0dF VF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCmlu ZGV4IGZiMTM0ZjM0MDJlLi5mODk1MTUxY2EwOSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv Y29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgK QEAgLTQzMiw1ICs0MzIsNSBAQCBleHRlcm4gZG91YmxlIGFubF9nZXRfbmV4dF9TKGRvdWJs ZSB0LCBpbnQgbiwgZG91YmxlICpzdGF0ZXB0cik7CiBleHRlcm4gdm9pZCBleHR2YWNfc3Rh dHNfc3RhcnRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0 cywKIAkJCQkJICAgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzKTsKIGV4dGVybiB2 b2lkIGV4dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRl UmVzdWx0ICpzdGF0cywKLQkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywg RXh0VmFjUmVwb3J0ICpyZXBvcnQpOworCQkJCQkgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNv dW50ZXJzLCBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKnJlcG9ydCk7CiAjZW5kaWYJ CQkJCQkJLyogVkFDVVVNX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5o IGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggZjgxNThhYTM1M2MuLjNhOGE0M2IzODEz IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9w Z3N0YXQuaApAQCAtMTE2LDQ2ICsxMTYsMTAwIEBAIHR5cGVkZWYgZW51bSBFeHRWYWNSZXBv cnRUeXBlCiB7CiAJUEdTVEFUX0VYVFZBQ19JTlZBTElEID0gMCwKIAlQR1NUQVRfRVhUVkFD X1RBQkxFID0gMSwKLQlQR1NUQVRfRVhUVkFDX0lOREVYID0gMgorCVBHU1RBVF9FWFRWQUNf SU5ERVggPSAyLAorCVBHU1RBVF9FWFRWQUNfREIgPSAzLAogfSBFeHRWYWNSZXBvcnRUeXBl OwogCiAvKiAtLS0tLS0tLS0tCisgKiBQZ1N0YXRfVGFibGVDb3VudHMJCQlUaGUgYWN0dWFs IHBlci10YWJsZSBjb3VudHMga2VwdCBieSBhIGJhY2tlbmQKICAqCi0gKiBFeHRWYWNSZXBv cnQKKyAqIFRoaXMgc3RydWN0IHNob3VsZCBjb250YWluIG9ubHkgYWN0dWFsIGV2ZW50IGNv dW50ZXJzLCBiZWNhdXNlIHdlIG1ha2UgdXNlCisgKiBvZiBwZ19tZW1vcnlfaXNfYWxsX3pl cm9zKCkgdG8gZGV0ZWN0IHdoZXRoZXIgdGhlcmUgYXJlIGFueSBzdGF0cyB1cGRhdGVzCisg KiB0byBhcHBseS4KICAqCi0gKiBBZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFjdXVtIHBy b2Nlc3Npbmcgb3ZlciBhIHJlbGF0aW9uLgotICogcGFnZXNfcmVtb3ZlZCBpcyB0aGUgYW1v dW50IGJ5IHdoaWNoIHRoZSBwaHlzaWNhbGx5IHNocmFuaywKLSAqIGlmIGFueSAoaWUgdGhl IGNoYW5nZSBpbiBpdHMgdG90YWwgc2l6ZSBvbiBkaXNrKQotICogcGFnZXNfZGVsZXRlZCBy ZWZlciB0byBmcmVlIHNwYWNlIHdpdGhpbiB0aGUgaW5kZXggZmlsZQorICogSXQgaXMgYSBj b21wb25lbnQgb2YgUGdTdGF0X1RhYmxlU3RhdHVzICh3aXRoaW4tYmFja2VuZCBzdGF0ZSku CisgKgorICogTm90ZTogZm9yIGEgdGFibGUsIHR1cGxlc19yZXR1cm5lZCBpcyB0aGUgbnVt YmVyIG9mIHR1cGxlcyBzdWNjZXNzZnVsbHkKKyAqIGZldGNoZWQgYnkgaGVhcF9nZXRuZXh0 LCB3aGlsZSB0dXBsZXNfZmV0Y2hlZCBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcworICogc3Vj Y2Vzc2Z1bGx5IGZldGNoZWQgYnkgaGVhcF9mZXRjaCB1bmRlciB0aGUgY29udHJvbCBvZiBi aXRtYXAgaW5kZXhzY2Fucy4KKyAqIEZvciBhbiBpbmRleCwgdHVwbGVzX3JldHVybmVkIGlz IHRoZSBudW1iZXIgb2YgaW5kZXggZW50cmllcyByZXR1cm5lZCBieQorICogdGhlIGluZGV4 IEFNLCB3aGlsZSB0dXBsZXNfZmV0Y2hlZCBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcyBzdWNj ZXNzZnVsbHkKKyAqIGZldGNoZWQgYnkgaGVhcF9mZXRjaCB1bmRlciB0aGUgY29udHJvbCBv ZiBzaW1wbGUgaW5kZXhzY2FucyBmb3IgdGhpcyBpbmRleC4KKyAqCisgKiB0dXBsZXNfaW5z ZXJ0ZWQvdXBkYXRlZC9kZWxldGVkL2hvdF91cGRhdGVkL25ld3BhZ2VfdXBkYXRlZCBjb3Vu dCBhdHRlbXB0ZWQKKyAqIGFjdGlvbnMsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHJh bnNhY3Rpb24gY29tbWl0dGVkLiAgZGVsdGFfbGl2ZV90dXBsZXMsCisgKiBkZWx0YV9kZWFk X3R1cGxlcywgYW5kIGNoYW5nZWRfdHVwbGVzIGFyZSBzZXQgZGVwZW5kaW5nIG9uIGNvbW1p dCBvciBhYm9ydC4KKyAqIE5vdGUgdGhhdCBkZWx0YV9saXZlX3R1cGxlcyBhbmQgZGVsdGFf ZGVhZF90dXBsZXMgY2FuIGJlIG5lZ2F0aXZlIQogICogLS0tLS0tLS0tLQogICovCi10eXBl ZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKK3R5cGVkZWYgc3RydWN0IFBnU3RhdF9UYWJsZUNv dW50cwogewotCS8qIG51bWJlciBvZiBibG9ja3MgbWlzc2VkLCBoaXQsIGRpcnRpZWQgYW5k IHdyaXR0ZW4gZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9uICovCi0JaW50 NjQJCXRvdGFsX2Jsa3NfcmVhZDsKLQlpbnQ2NAkJdG90YWxfYmxrc19oaXQ7Ci0JaW50NjQJ CXRvdGFsX2Jsa3NfZGlydGllZDsKLQlpbnQ2NAkJdG90YWxfYmxrc193cml0dGVuOworCVBn U3RhdF9Db3VudGVyIG51bXNjYW5zOwogCi0JLyogYmxvY2tzIG1pc3NlZCBhbmQgaGl0IGZv ciBqdXN0IHRoZSBoZWFwIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbiAq LwotCWludDY0CQlibGtzX2ZldGNoZWQ7Ci0JaW50NjQJCWJsa3NfaGl0OworCVBnU3RhdF9D b3VudGVyIHR1cGxlc19yZXR1cm5lZDsKKwlQZ1N0YXRfQ291bnRlciB0dXBsZXNfZmV0Y2hl ZDsKIAotCS8qIFZhY3V1bSBXQUwgdXNhZ2Ugc3RhdHMgKi8KLQlpbnQ2NAkJd2FsX3JlY29y ZHM7CS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCByZWNvcmRzICovCi0JaW50NjQJCXdh bF9mcGk7CQkvKiB3YWwgdXNhZ2U6IG51bWJlciBvZiBXQUwgZnVsbCBwYWdlIGltYWdlcyBw cm9kdWNlZCAqLwotCXVpbnQ2NAkJd2FsX2J5dGVzOwkJLyogd2FsIHVzYWdlOiBzaXplIG9m IFdBTCByZWNvcmRzIHByb2R1Y2VkICovCisJUGdTdGF0X0NvdW50ZXIgdHVwbGVzX2luc2Vy dGVkOworCVBnU3RhdF9Db3VudGVyIHR1cGxlc191cGRhdGVkOworCVBnU3RhdF9Db3VudGVy IHR1cGxlc19kZWxldGVkOworCVBnU3RhdF9Db3VudGVyIHR1cGxlc19ob3RfdXBkYXRlZDsK KwlQZ1N0YXRfQ291bnRlciB0dXBsZXNfbmV3cGFnZV91cGRhdGVkOworCWJvb2wJCXRydW5j ZHJvcHBlZDsKKworCVBnU3RhdF9Db3VudGVyIGRlbHRhX2xpdmVfdHVwbGVzOworCVBnU3Rh dF9Db3VudGVyIGRlbHRhX2RlYWRfdHVwbGVzOworCVBnU3RhdF9Db3VudGVyIGNoYW5nZWRf dHVwbGVzOworCisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2ZldGNoZWQ7CisJUGdTdGF0X0Nv dW50ZXIgYmxvY2tzX2hpdDsKIAotCS8qIFRpbWUgc3RhdHMuICovCi0JZG91YmxlCQlibGtf cmVhZF90aW1lOwkvKiB0aW1lIHNwZW50IHJlYWRpbmcgcGFnZXMsIGluIG1zZWMgKi8KLQlk b3VibGUJCWJsa193cml0ZV90aW1lOyAvKiB0aW1lIHNwZW50IHdyaXRpbmcgcGFnZXMsIGlu IG1zZWMgKi8KLQlkb3VibGUJCWRlbGF5X3RpbWU7CQkvKiBob3cgbG9uZyB2YWN1dW0gc2xl cHQgaW4gdmFjdXVtIGRlbGF5IHBvaW50LCBpbiBtc2VjICovCi0JZG91YmxlCQl0b3RhbF90 aW1lOwkJLyogdG90YWwgdGltZSBvZiBhIHZhY3V1bSBvcGVyYXRpb24sIGluIG1zZWMgKi8K KwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdTdGF0X0NvdW50 ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7Cit9IFBnU3RhdF9UYWJsZUNvdW50czsKIAotCWlu dDY0CQl0dXBsZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLwor dHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0NvbW1vbkNvdW50cworeworCS8qIGJsb2NrcyAqLwor CWludDY0IHRvdGFsX2Jsa3NfcmVhZDsKKwlpbnQ2NCB0b3RhbF9ibGtzX2hpdDsKKwlpbnQ2 NCB0b3RhbF9ibGtzX2RpcnRpZWQ7CisJaW50NjQgdG90YWxfYmxrc193cml0dGVuOworCisJ LyogaGVhcCBibG9ja3MgKi8KKwlpbnQ2NCBibGtzX2ZldGNoZWQ7CisJaW50NjQgYmxrc19o aXQ7CisKKwkvKiBXQUwgKi8KKwlpbnQ2NCB3YWxfcmVjb3JkczsKKwlpbnQ2NCB3YWxfZnBp OworCXVpbnQ2NCB3YWxfYnl0ZXM7CisKKwkvKiBUaW1lICovCisJZG91YmxlIGJsa19yZWFk X3RpbWU7CisJZG91YmxlIGJsa193cml0ZV90aW1lOworCWRvdWJsZSBkZWxheV90aW1lOwor CWRvdWJsZSB0b3RhbF90aW1lOworCisJLyogdHVwbGVzICovCisJaW50NjQgdHVwbGVzX2Rl bGV0ZWQ7CisKKwkvKiBmYWlsc2FmZSAqLworCWludDMyIHdyYXBhcm91bmRfZmFpbHNhZmVf Y291bnQ7Cit9IFBnU3RhdF9Db21tb25Db3VudHM7CiAKLQlpbnQzMgkJZXJyb3JzOwotCWlu dDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIHRpbWVz IHRvIHByZXZlbnQgd3JhcGFyb3VuZCBwcm9ibGVtICovCisvKiAtLS0tLS0tLS0tCisgKgor ICogUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzCisgKgorICogQWRkaXRpb25hbCBzdGF0 aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIgYSByZWxhdGlvbi4KKyAqIHBhZ2Vz X3JlbW92ZWQgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0aGUgcGh5c2ljYWxseSBzaHJhbmss CisgKiBpZiBhbnkgKGllIHRoZSBjaGFuZ2UgaW4gaXRzIHRvdGFsIHNpemUgb24gZGlzaykK KyAqIHBhZ2VzX2RlbGV0ZWQgcmVmZXIgdG8gZnJlZSBzcGFjZSB3aXRoaW4gdGhlIGluZGV4 IGZpbGUKKyAqIC0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1ZhY3V1 bVJlbGF0aW9uQ291bnRzCit7CisJUGdTdGF0X0NvbW1vbkNvdW50cyBjb21tb247CiAKIAlF eHRWYWNSZXBvcnRUeXBlIHR5cGU7CQkvKiBoZWFwLCBpbmRleCwgZXRjLiAqLwogCkBAIC0x NzQsMTYgKzIyOCwxNiBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAl7CiAJCXN0 cnVjdAogCQl7CisJCQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4g dXAgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJcmVjZW50bHlfZGVhZF90dXBsZXM7CS8qIGRl bGV0ZWQgdHVwbGVzIHRoYXQgYXJlIHN0aWxsIHZpc2libGUgdG8gc29tZSB0cmFuc2FjdGlv biAqLworCQkJaW50NjQJCW1pc3NlZF9kZWFkX3R1cGxlczsJCS8qIHR1cGxlcyBub3QgcHJ1 bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFpbHVyZSB0byBnZXQgYSBjbGVhbnVwIGxvY2sgKi8K IAkJCWludDY0CQlwYWdlc19zY2FubmVkOwkJLyogaGVhcCBwYWdlcyBleGFtaW5lZCAobm90 IHNraXBwZWQgYnkgVk0pICovCiAJCQlpbnQ2NAkJcGFnZXNfcmVtb3ZlZDsJCS8qIGhlYXAg cGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0gInRydW5jYXRpb24iICovCiAJCQlpbnQ2NAkJcGFn ZXNfZnJvemVuOwkJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGZyb3plbiAqLwogCQkJaW50 NjQJCXBhZ2VzX2FsbF92aXNpYmxlOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZp c2libGUgKi8KLQkJCWludDY0CQl0dXBsZXNfZnJvemVuOwkJLyogdHVwbGVzIGZyb3plbiB1 cCBieSB2YWN1dW0gKi8KLQkJCWludDY0CQlyZWNlbnRseV9kZWFkX3R1cGxlczsJLyogZGVs ZXRlZCB0dXBsZXMgdGhhdCBhcmUgc3RpbGwgdmlzaWJsZSB0byBzb21lIHRyYW5zYWN0aW9u ICovCiAJCQlpbnQ2NAkJdm1fbmV3X2Zyb3plbl9wYWdlczsJCS8qIHBhZ2VzIG1hcmtlZCBp biBWTSBhcyBmcm96ZW4gKi8KIAkJCWludDY0CQl2bV9uZXdfdmlzaWJsZV9wYWdlczsJLyog cGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCiAJCQlpbnQ2NAkJdm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZp c2libGUgYW5kIGZyb3plbiAqLwotCQkJaW50NjQJCW1pc3NlZF9kZWFkX3R1cGxlczsJCS8q IHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFpbHVyZSB0byBnZXQgYSBj bGVhbnVwIGxvY2sgKi8KIAkJCWludDY0CQltaXNzZWRfZGVhZF9wYWdlczsJCS8qIHBhZ2Vz IHdpdGggbWlzc2VkIGRlYWQgdHVwbGVzICovCiAJCQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2Nv dW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLwogCQl9CQkJdGFibGU7CkBA IC0xOTIsNjEgKzI0NiwyMSBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAkJCWlu dDY0CQlwYWdlc19kZWxldGVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFj dXVtICovCiAJCX0JCQlpbmRleDsKIAl9IC8qIHBlcl90eXBlX3N0YXRzICovOwotfSBFeHRW YWNSZXBvcnQ7Cit9IFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50czsKIAotLyogLS0tLS0t LS0tLQotICogUGdTdGF0X1RhYmxlQ291bnRzCQkJVGhlIGFjdHVhbCBwZXItdGFibGUgY291 bnRzIGtlcHQgYnkgYSBiYWNrZW5kCi0gKgotICogVGhpcyBzdHJ1Y3Qgc2hvdWxkIGNvbnRh aW4gb25seSBhY3R1YWwgZXZlbnQgY291bnRlcnMsIGJlY2F1c2Ugd2UgbWFrZSB1c2UKLSAq IG9mIHBnX21lbW9yeV9pc19hbGxfemVyb3MoKSB0byBkZXRlY3Qgd2hldGhlciB0aGVyZSBh cmUgYW55IHN0YXRzIHVwZGF0ZXMKLSAqIHRvIGFwcGx5LgotICoKLSAqIEl0IGlzIGEgY29t cG9uZW50IG9mIFBnU3RhdF9UYWJsZVN0YXR1cyAod2l0aGluLWJhY2tlbmQgc3RhdGUpLgot ICoKLSAqIE5vdGU6IGZvciBhIHRhYmxlLCB0dXBsZXNfcmV0dXJuZWQgaXMgdGhlIG51bWJl ciBvZiB0dXBsZXMgc3VjY2Vzc2Z1bGx5Ci0gKiBmZXRjaGVkIGJ5IGhlYXBfZ2V0bmV4dCwg d2hpbGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMKLSAqIHN1Y2Nl c3NmdWxseSBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5kZXIgdGhlIGNvbnRyb2wgb2YgYml0 bWFwIGluZGV4c2NhbnMuCi0gKiBGb3IgYW4gaW5kZXgsIHR1cGxlc19yZXR1cm5lZCBpcyB0 aGUgbnVtYmVyIG9mIGluZGV4IGVudHJpZXMgcmV0dXJuZWQgYnkKLSAqIHRoZSBpbmRleCBB TSwgd2hpbGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgc3VjY2Vz c2Z1bGx5Ci0gKiBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5kZXIgdGhlIGNvbnRyb2wgb2Yg c2ltcGxlIGluZGV4c2NhbnMgZm9yIHRoaXMgaW5kZXguCi0gKgotICogdHVwbGVzX2luc2Vy dGVkL3VwZGF0ZWQvZGVsZXRlZC9ob3RfdXBkYXRlZC9uZXdwYWdlX3VwZGF0ZWQgY291bnQg YXR0ZW1wdGVkCi0gKiBhY3Rpb25zLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRyYW5z YWN0aW9uIGNvbW1pdHRlZC4gIGRlbHRhX2xpdmVfdHVwbGVzLAotICogZGVsdGFfZGVhZF90 dXBsZXMsIGFuZCBjaGFuZ2VkX3R1cGxlcyBhcmUgc2V0IGRlcGVuZGluZyBvbiBjb21taXQg b3IgYWJvcnQuCi0gKiBOb3RlIHRoYXQgZGVsdGFfbGl2ZV90dXBsZXMgYW5kIGRlbHRhX2Rl YWRfdHVwbGVzIGNhbiBiZSBuZWdhdGl2ZSEKLSAqIC0tLS0tLS0tLS0KLSAqLwotdHlwZWRl ZiBzdHJ1Y3QgUGdTdGF0X1RhYmxlQ291bnRzCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVmFj dXVtUmVsYXRpb25TdGF0dXMKIHsKLQlQZ1N0YXRfQ291bnRlciBudW1zY2FuczsKLQotCVBn U3RhdF9Db3VudGVyIHR1cGxlc19yZXR1cm5lZDsKLQlQZ1N0YXRfQ291bnRlciB0dXBsZXNf ZmV0Y2hlZDsKLQotCVBnU3RhdF9Db3VudGVyIHR1cGxlc19pbnNlcnRlZDsKLQlQZ1N0YXRf Q291bnRlciB0dXBsZXNfdXBkYXRlZDsKLQlQZ1N0YXRfQ291bnRlciB0dXBsZXNfZGVsZXRl ZDsKLQlQZ1N0YXRfQ291bnRlciB0dXBsZXNfaG90X3VwZGF0ZWQ7Ci0JUGdTdGF0X0NvdW50 ZXIgdHVwbGVzX25ld3BhZ2VfdXBkYXRlZDsKLQlib29sCQl0cnVuY2Ryb3BwZWQ7Ci0KLQlQ Z1N0YXRfQ291bnRlciBkZWx0YV9saXZlX3R1cGxlczsKLQlQZ1N0YXRfQ291bnRlciBkZWx0 YV9kZWFkX3R1cGxlczsKLQlQZ1N0YXRfQ291bnRlciBjaGFuZ2VkX3R1cGxlczsKLQotCVBn U3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOwotCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19o aXQ7Ci0KLQlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7Ci0JUGdTdGF0 X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7CisJT2lkCQkJaWQ7CQkJCS8qIHRhYmxl J3MgT0lEICovCisJYm9vbAkJc2hhcmVkOwkJCS8qIGlzIGl0IGEgc2hhcmVkIGNhdGFsb2c/ ICovCisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGNvdW50czsJLyogZXZlbnQgY291 bnRzIHRvIGJlIHNlbnQgKi8KK30gUGdTdGF0X1ZhY3V1bVJlbGF0aW9uU3RhdHVzOwogCi0J LyoKLQkgKiBBZGRpdGlvbmFsIGN1bXVsYXRpdmUgc3RhdCBvbiB2YWN1dW0gb3BlcmF0aW9u cy4KLQkgKiBVc2UgYW4gZXhwZW5zaXZlIHN0cnVjdHVyZSBhcyBhbiBhYnN0cmFjdGlvbiBm b3IgZGlmZmVyZW50IHR5cGVzIG9mCi0JICogcmVsYXRpb25zLgotCSAqLwotCUV4dFZhY1Jl cG9ydAl2YWN1dW1fZXh0OwotfSBQZ1N0YXRfVGFibGVDb3VudHM7Cit0eXBlZGVmIHN0cnVj dCBQZ1N0YXRfVmFjdXVtREJDb3VudHMKK3sKKwlPaWQgZGJqaWQ7CisJUGdTdGF0X0NvbW1v bkNvdW50cyBjb21tb247CisJaW50MzIgZXJyb3JzOworfSBQZ1N0YXRfVmFjdXVtREJDb3Vu dHM7CiAKIC8qIC0tLS0tLS0tLS0KICAqIFBnU3RhdF9UYWJsZVN0YXR1cwkJCVBlci10YWJs ZSBzdGF0dXMgd2l0aGluIGEgYmFja2VuZApAQCAtMjcyLDYgKzI4NiwxMiBAQCB0eXBlZGVm IHN0cnVjdCBQZ1N0YXRfVGFibGVTdGF0dXMKIAlSZWxhdGlvbglyZWxhdGlvbjsJCS8qIHJl bCB0aGF0IGlzIHVzaW5nIHRoaXMgZW50cnkgKi8KIH0gUGdTdGF0X1RhYmxlU3RhdHVzOwog Cit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfUmVsYXRpb25WYWN1dW1QZW5kaW5nCit7CisJT2lk CQkJaWQ7CQkJCS8qIHRhYmxlJ3MgT0lEICovCisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291 bnRzIGNvdW50czsJLyogZXZlbnQgY291bnRzIHRvIGJlIHNlbnQgKi8KK30gUGdTdGF0X1Jl bGF0aW9uVmFjdXVtUGVuZGluZzsKKwogLyogLS0tLS0tLS0tLQogICogUGdTdGF0X1RhYmxl WGFjdFN0YXR1cwkJUGVyLXRhYmxlLCBwZXItc3VidHJhbnNhY3Rpb24gc3RhdHVzCiAgKiAt LS0tLS0tLS0tCkBAIC00NjgsOCArNDg4LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0 YXREQkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgcGFyYWxsZWxfd29ya2Vyc19sYXVuY2hlZDsK IAogCVRpbWVzdGFtcFR6IHN0YXRfcmVzZXRfdGltZXN0YW1wOwotCi0JRXh0VmFjUmVwb3J0 IHZhY3V1bV9leHQ7CQkvKiBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyAqLwogfSBQZ1N0 YXRfU3RhdERCRW50cnk7CiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0RnVuY0VudHJ5 CkBAIC01NTEsOCArNTY5LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRUYWJFbnRy eQogCiAJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF92aXNpYmxlX3BhZ2VzOwogCVBnU3RhdF9D b3VudGVyIHJldl9hbGxfZnJvemVuX3BhZ2VzOwotCi0JRXh0VmFjUmVwb3J0IHZhY3V1bV9l eHQ7CiB9IFBnU3RhdF9TdGF0VGFiRW50cnk7CiAKIC8qIC0tLS0tLQpAQCAtNzYwLDExICs3 NzYsMTAgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3VubGlua19yZWxhdGlvbihSZWxhdGlvbiBy ZWwpOwogCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQs IGJvb2wgc2hhcmVkLAogCQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdT dGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKLQkJCQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGlt ZSwgRXh0VmFjUmVwb3J0ICpwYXJhbXMpOworCQkJCQkJCQkgVGltZXN0YW1wVHogc3RhcnR0 aW1lKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWws CiAJCQkJCQkJCSAgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIg ZGVhZHR1cGxlcywKIAkJCQkJCQkJICBib29sIHJlc2V0Y291bnRlciwgVGltZXN0YW1wVHog c3RhcnR0aW1lKTsKLWV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9p ZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpOwogCiAvKgogICogSWYgc3Rh dHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0IGJlZW4gcHJlcGFyZWQg eWV0LCBjYWxsCkBAIC04OTUsNiArOTEwLDE1IEBAIGV4dGVybiBpbnQJcGdzdGF0X2dldF90 cmFuc2FjdGlvbmFsX2Ryb3BzKGJvb2wgaXNDb21taXQsIHN0cnVjdCB4bF94YWN0X3N0YXRz X2l0CiBleHRlcm4gdm9pZCBwZ3N0YXRfZXhlY3V0ZV90cmFuc2FjdGlvbmFsX2Ryb3BzKGlu dCBuZHJvcHMsIHN0cnVjdCB4bF94YWN0X3N0YXRzX2l0ZW0gKml0ZW1zLCBib29sIGlzX3Jl ZG8pOwogCiAKK2V4dGVybiB2b2lkIHBnc3RhdF9kcm9wX3ZhY3V1bV9kYXRhYmFzZShPaWQg ZGF0YWJhc2VpZCk7CitleHRlcm4gdm9pZCBwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2RlbGV0 ZV9wZW5kaW5nX2NiKE9pZCByZWxpZCk7CitleHRlcm4gdm9pZAorcGdzdGF0X3JlcG9ydF92 YWN1dW1fZXh0c3RhdHMoT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKKwkJCQkJCQkJICBQ Z1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKnBhcmFtcyk7CitleHRlcm4gUGdTdGF0X1Jl bGF0aW9uVmFjdXVtUGVuZGluZyAqIGZpbmRfdmFjdXVtX3JlbGF0aW9uX2VudHJ5KE9pZCBy ZWxpZCk7CitleHRlcm4gUGdTdGF0X1ZhY3V1bURCQ291bnRzICpwZ3N0YXRfcHJlcF92YWN1 dW1fZGF0YWJhc2VfcGVuZGluZyhPaWQgZGJvaWQpOworZXh0ZXJuIFBnU3RhdF9WYWN1dW1S ZWxhdGlvbkNvdW50cyAqcGdzdGF0X2ZldGNoX3N0YXRfdmFjdXVtX3RhYmVudHJ5KE9pZCBy ZWxpZCwgT2lkIGRiaWQpOworUGdTdGF0X1ZhY3V1bURCQ291bnRzICpwZ3N0YXRfZmV0Y2hf c3RhdF92YWN1dW1fZGJlbnRyeShPaWQgZGJpZCk7CiAvKgogICogRnVuY3Rpb25zIGluIHBn c3RhdF93YWwuYwogICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRf aW50ZXJuYWwuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oCmluZGV4 IGQ1NTU3ZTZlOTk4Li4xNDBhZGJjZGJkNiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRp bHMvcGdzdGF0X2ludGVybmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2lu dGVybmFsLmgKQEAgLTQzOSw2ICs0MzksMTggQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0U2hh cmVkX1JlbGF0aW9uCiAJUGdTdGF0X1N0YXRUYWJFbnRyeSBzdGF0czsKIH0gUGdTdGF0U2hh cmVkX1JlbGF0aW9uOwogCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRTaGFyZWRfVmFjdXVtREIK K3sKKwlQZ1N0YXRTaGFyZWRfQ29tbW9uIGhlYWRlcjsKKwlQZ1N0YXRfVmFjdXVtREJDb3Vu dHMgc3RhdHM7Cit9IFBnU3RhdFNoYXJlZF9WYWN1dW1EQjsKKwordHlwZWRlZiBzdHJ1Y3Qg UGdTdGF0U2hhcmVkX1ZhY3V1bVJlbGF0aW9uCit7CisJUGdTdGF0U2hhcmVkX0NvbW1vbiBo ZWFkZXI7CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIHN0YXRzOworfSBQZ1N0YXRT aGFyZWRfVmFjdXVtUmVsYXRpb247CisKIHR5cGVkZWYgc3RydWN0IFBnU3RhdFNoYXJlZF9G dW5jdGlvbgogewogCVBnU3RhdFNoYXJlZF9Db21tb24gaGVhZGVyOwpAQCAtNjA3LDYgKzYx OSw5IEBAIGV4dGVybiBQZ1N0YXRfRW50cnlSZWYgKnBnc3RhdF9mZXRjaF9wZW5kaW5nX2Vu dHJ5KFBnU3RhdF9LaW5kIGtpbmQsCiBleHRlcm4gdm9pZCAqcGdzdGF0X2ZldGNoX2VudHJ5 KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBkYm9pZCwgdWludDY0IG9iamlkKTsKIGV4dGVybiB2 b2lkIHBnc3RhdF9zbmFwc2hvdF9maXhlZChQZ1N0YXRfS2luZCBraW5kKTsKIAorYm9vbCBw Z3N0YXRfdmFjdXVtX2RiX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBi b29sIG5vd2FpdCk7CitleHRlcm4gYm9vbCBwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2ZsdXNo X2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCk7CisKIAogLyoK ICAqIEZ1bmN0aW9ucyBpbiBwZ3N0YXRfYXJjaGl2ZXIuYwpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvdXRpbHMvcGdzdGF0X2tpbmQuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9r aW5kLmgKaW5kZXggZjQ0MTY5ZmQ1YTMuLjQ1NDY2MWY5ZDZhIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS91dGlscy9wZ3N0YXRfa2luZC5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bn c3RhdF9raW5kLmgKQEAgLTM4LDkgKzM4LDExIEBACiAjZGVmaW5lIFBHU1RBVF9LSU5EX0lP CTEwCiAjZGVmaW5lIFBHU1RBVF9LSU5EX1NMUlUJMTEKICNkZWZpbmUgUEdTVEFUX0tJTkRf V0FMCTEyCisjZGVmaW5lIFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQgkxMworI2RlZmluZSBQR1NU QVRfS0lORF9WQUNVVU1fUkVMQVRJT04JMTQKIAogI2RlZmluZSBQR1NUQVRfS0lORF9CVUlM VElOX01JTiBQR1NUQVRfS0lORF9EQVRBQkFTRQotI2RlZmluZSBQR1NUQVRfS0lORF9CVUlM VElOX01BWCBQR1NUQVRfS0lORF9XQUwKKyNkZWZpbmUgUEdTVEFUX0tJTkRfQlVJTFRJTl9N QVggUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFUSU9OCiAjZGVmaW5lIFBHU1RBVF9LSU5EX0JV SUxUSU5fU0laRSAoUEdTVEFUX0tJTkRfQlVJTFRJTl9NQVggKyAxKQogCiAvKiBDdXN0b20g c3RhdHMga2luZHMgKi8KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXgg ZjYzZjI1Zjk0ZDguLjc2NzE3NWUyYTY2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1 bGVzLm91dApAQCAtMjI4Myw3NyArMjI4Myw4MSBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBT RUxFQ1QgcmVsaWQsCiAgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0 YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPD4gQUxMIChBUlJBWVsncGdf Y2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpuYW1lXSkpIEFORCAoc2No ZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOwotcGdfc3RhdF92YWN1dW1fZGF0YWJh c2V8IFNFTEVDVCBkYi5vaWQgQVMgZGJvaWQsCi0gICAgZGIuZGF0bmFtZSBBUyBkYm5hbWUs Ci0gICAgc3RhdHMuZGJfYmxrc19yZWFkLAotICAgIHN0YXRzLmRiX2Jsa3NfaGl0LAotICAg IHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKLSAgICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0 ZW4sCi0gICAgc3RhdHMud2FsX3JlY29yZHMsCi0gICAgc3RhdHMud2FsX2ZwaSwKLSAgICBz dGF0cy53YWxfYnl0ZXMsCi0gICAgc3RhdHMuYmxrX3JlYWRfdGltZSwKLSAgICBzdGF0cy5i bGtfd3JpdGVfdGltZSwKLSAgICBzdGF0cy5kZWxheV90aW1lLAotICAgIHN0YXRzLnRvdGFs X3RpbWUsCi0gICAgc3RhdHMud3JhcGFyb3VuZF9mYWlsc2FmZSwKLSAgICBzdGF0cy5lcnJv cnMKLSAgIEZST00gcGdfZGF0YWJhc2UgZGIsCi0gICAgTEFURVJBTCBwZ19zdGF0X2dldF92 YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhkYm9pZCwgZGJfYmxrc19yZWFkLCBkYl9i bGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHdhbF9y ZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90 aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lLCB3cmFwYXJvdW5kX2ZhaWxzYWZlLCBlcnJv cnMpOwotcGdfc3RhdF92YWN1dW1faW5kZXhlc3wgU0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQs Ci0gICAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAotICAgIHJlbC5yZWxuYW1lLAotICAg IHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKLSAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKLSAg ICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsCi0gICAgc3RhdHMudG90YWxfYmxrc193cml0 dGVuLAotICAgIHN0YXRzLnJlbF9ibGtzX3JlYWQsCi0gICAgc3RhdHMucmVsX2Jsa3NfaGl0 LAotICAgIHN0YXRzLnBhZ2VzX2RlbGV0ZWQsCi0gICAgc3RhdHMudHVwbGVzX2RlbGV0ZWQs Ci0gICAgc3RhdHMud2FsX3JlY29yZHMsCi0gICAgc3RhdHMud2FsX2ZwaSwKLSAgICBzdGF0 cy53YWxfYnl0ZXMsCi0gICAgc3RhdHMuYmxrX3JlYWRfdGltZSwKLSAgICBzdGF0cy5ibGtf d3JpdGVfdGltZSwKLSAgICBzdGF0cy5kZWxheV90aW1lLAotICAgIHN0YXRzLnRvdGFsX3Rp bWUKLSAgIEZST00gKHBnX2NsYXNzIHJlbAotICAgICBKT0lOIHBnX25hbWVzcGFjZSBucyBP TiAoKG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UpKSksCi0gICAgTEFURVJBTCBwZ19zdGF0 X2dldF92YWN1dW1faW5kZXhlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19y ZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dy aXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfZGVsZXRlZCwgdHVw bGVzX2RlbGV0ZWQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFk X3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQotICBXSEVS RSAocmVsLnJlbGtpbmQgPSAnaSc6OiJjaGFyIik7Ci1wZ19zdGF0X3ZhY3V1bV90YWJsZXN8 IFNFTEVDVCBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCi0gICAgcmVsLnJlbG5hbWUsCi0g ICAgc3RhdHMucmVsaWQsCi0gICAgc3RhdHMudG90YWxfYmxrc19yZWFkLAotICAgIHN0YXRz LnRvdGFsX2Jsa3NfaGl0LAotICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKLSAgICBz dGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCi0gICAgc3RhdHMucmVsX2Jsa3NfcmVhZCwKLSAg ICBzdGF0cy5yZWxfYmxrc19oaXQsCi0gICAgc3RhdHMucGFnZXNfc2Nhbm5lZCwKLSAgICBz dGF0cy5wYWdlc19yZW1vdmVkLAotICAgIHN0YXRzLnZtX25ld19mcm96ZW5fcGFnZXMsCi0g ICAgc3RhdHMudm1fbmV3X3Zpc2libGVfcGFnZXMsCi0gICAgc3RhdHMudm1fbmV3X3Zpc2li bGVfZnJvemVuX3BhZ2VzLAotICAgIHN0YXRzLm1pc3NlZF9kZWFkX3BhZ2VzLAotICAgIHN0 YXRzLnR1cGxlc19kZWxldGVkLAotICAgIHN0YXRzLnR1cGxlc19mcm96ZW4sCi0gICAgc3Rh dHMucmVjZW50bHlfZGVhZF90dXBsZXMsCi0gICAgc3RhdHMubWlzc2VkX2RlYWRfdHVwbGVz LAotICAgIHN0YXRzLndyYXBhcm91bmRfZmFpbHNhZmUsCi0gICAgc3RhdHMuaW5kZXhfdmFj dXVtX2NvdW50LAotICAgIHN0YXRzLndhbF9yZWNvcmRzLAotICAgIHN0YXRzLndhbF9mcGks Ci0gICAgc3RhdHMud2FsX2J5dGVzLAotICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCi0gICAg c3RhdHMuYmxrX3dyaXRlX3RpbWUsCi0gICAgc3RhdHMuZGVsYXlfdGltZSwKLSAgICBzdGF0 cy50b3RhbF90aW1lCi0gICBGUk9NIChwZ19jbGFzcyByZWwKLSAgICAgSk9JTiBwZ19uYW1l c3BhY2UgbnMgT04gKChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSkpLAotICAgIExBVEVS QUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90 YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3Rh bF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfc2Nh bm5lZCwgcGFnZXNfcmVtb3ZlZCwgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2li bGVfcGFnZXMsIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgbWlzc2VkX2RlYWRfcGFn ZXMsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVuLCByZWNlbnRseV9kZWFkX3R1cGxl cywgbWlzc2VkX2RlYWRfdHVwbGVzLCB3cmFwYXJvdW5kX2ZhaWxzYWZlLCBpbmRleF92YWN1 dW1fY291bnQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3Rp bWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQotICBXSEVSRSAo cmVsLnJlbGtpbmQgPSAncic6OiJjaGFyIik7CitwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZXwg U0VMRUNUIGQub2lkIEFTIGRib2lkLAorICAgIGQuZGF0bmFtZSBBUyBkYm5hbWUsCisgICAg cy5kYl9ibGtzX3JlYWQsCisgICAgcy5kYl9ibGtzX2hpdCwKKyAgICBzLnRvdGFsX2Jsa3Nf ZGlydGllZCwKKyAgICBzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzLndhbF9yZWNvcmRz LAorICAgIHMud2FsX2ZwaSwKKyAgICBzLndhbF9ieXRlcywKKyAgICBzLmJsa19yZWFkX3Rp bWUsCisgICAgcy5ibGtfd3JpdGVfdGltZSwKKyAgICBzLmRlbGF5X3RpbWUsCisgICAgcy50 b3RhbF90aW1lLAorICAgIHMud3JhcGFyb3VuZF9mYWlsc2FmZSwKKyAgICBzLmVycm9ycwor ICAgRlJPTSBwZ19kYXRhYmFzZSBkLAorICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVt X2RhdGFiYXNlKGQub2lkKSBzKGRib2lkLCBkYl9ibGtzX3JlYWQsIGRiX2Jsa3NfaGl0LCB0 b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgd2FsX3JlY29yZHMsIHdh bF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5 X3RpbWUsIHRvdGFsX3RpbWUsIHdyYXBhcm91bmRfZmFpbHNhZmUsIGVycm9ycyk7CitwZ19z dGF0X3ZhY3V1bV9pbmRleGVzfCBTRUxFQ1QgYy5vaWQgQVMgcmVsaWQsCisgICAgaS5vaWQg QVMgaW5kZXhyZWxpZCwKKyAgICBuLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAgICBjLnJl bG5hbWUsCisgICAgaS5yZWxuYW1lIEFTIGluZGV4cmVsbmFtZSwKKyAgICBzLnRvdGFsX2Js a3NfcmVhZCwKKyAgICBzLnRvdGFsX2Jsa3NfaGl0LAorICAgIHMudG90YWxfYmxrc19kaXJ0 aWVkLAorICAgIHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHMucmVsX2Jsa3NfcmVhZCwK KyAgICBzLnJlbF9ibGtzX2hpdCwKKyAgICBzLnBhZ2VzX2RlbGV0ZWQsCisgICAgcy50dXBs ZXNfZGVsZXRlZCwKKyAgICBzLndhbF9yZWNvcmRzLAorICAgIHMud2FsX2ZwaSwKKyAgICBz LndhbF9ieXRlcywKKyAgICBzLmJsa19yZWFkX3RpbWUsCisgICAgcy5ibGtfd3JpdGVfdGlt ZSwKKyAgICBzLmRlbGF5X3RpbWUsCisgICAgcy50b3RhbF90aW1lCisgICBGUk9NICgoKHBn X2NsYXNzIGMKKyAgICAgSk9JTiBwZ19pbmRleCB4IE9OICgoYy5vaWQgPSB4LmluZHJlbGlk KSkpCisgICAgIEpPSU4gcGdfY2xhc3MgaSBPTiAoKGkub2lkID0geC5pbmRleHJlbGlkKSkp CisgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1l c3BhY2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhpLm9p ZCkgcyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxr c19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtz X2hpdCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQsIHdhbF9yZWNvcmRzLCB3YWxf ZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90 aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAoYy5yZWxraW5kID0gQU5ZIChBUlJBWVsncic6 OiJjaGFyIiwgJ3QnOjoiY2hhciIsICdtJzo6ImNoYXIiXSkpOworcGdfc3RhdF92YWN1dW1f dGFibGVzfCBTRUxFQ1Qgbi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgICAgYy5yZWxuYW1l LAorICAgIHMucmVsaWQsCisgICAgcy50b3RhbF9ibGtzX3JlYWQsCisgICAgcy50b3RhbF9i bGtzX2hpdCwKKyAgICBzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICBzLnRvdGFsX2Jsa3Nf d3JpdHRlbiwKKyAgICBzLnJlbF9ibGtzX3JlYWQsCisgICAgcy5yZWxfYmxrc19oaXQsCisg ICAgcy5wYWdlc19zY2FubmVkLAorICAgIHMucGFnZXNfcmVtb3ZlZCwKKyAgICBzLnZtX25l d19mcm96ZW5fcGFnZXMsCisgICAgcy52bV9uZXdfdmlzaWJsZV9wYWdlcywKKyAgICBzLnZt X25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywKKyAgICBzLm1pc3NlZF9kZWFkX3BhZ2VzLAor ICAgIHMudHVwbGVzX2RlbGV0ZWQsCisgICAgcy50dXBsZXNfZnJvemVuLAorICAgIHMucmVj ZW50bHlfZGVhZF90dXBsZXMsCisgICAgcy5taXNzZWRfZGVhZF90dXBsZXMsCisgICAgcy53 cmFwYXJvdW5kX2ZhaWxzYWZlLAorICAgIHMuaW5kZXhfdmFjdXVtX2NvdW50LAorICAgIHMu d2FsX3JlY29yZHMsCisgICAgcy53YWxfZnBpLAorICAgIHMud2FsX2J5dGVzLAorICAgIHMu YmxrX3JlYWRfdGltZSwKKyAgICBzLmJsa193cml0ZV90aW1lLAorICAgIHMuZGVsYXlfdGlt ZSwKKyAgICBzLnRvdGFsX3RpbWUKKyAgIEZST00gKHBnX2NsYXNzIGMKKyAgICAgSk9JTiBw Z19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSksCisgICAgTEFU RVJBTCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKGMub2lkKSBzKHJlbGlkLCB0b3RhbF9i bGtzX3JlYWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Js a3Nfd3JpdHRlbiwgcmVsX2Jsa3NfcmVhZCwgcmVsX2Jsa3NfaGl0LCBwYWdlc19zY2FubmVk LCBwYWdlc19yZW1vdmVkLCB2bV9uZXdfZnJvemVuX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9w YWdlcywgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLCBtaXNzZWRfZGVhZF9wYWdlcywg dHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJlY2VudGx5X2RlYWRfdHVwbGVzLCBt aXNzZWRfZGVhZF90dXBsZXMsIHdyYXBhcm91bmRfZmFpbHNhZmUsIGluZGV4X3ZhY3V1bV9j b3VudCwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwg YmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUpCisgIFdIRVJFIChjLnJl bGtpbmQgPSBBTlkgKEFSUkFZWydyJzo6ImNoYXIiLCAndCc6OiJjaGFyIiwgJ20nOjoiY2hh ciJdKSk7CiBwZ19zdGF0X3dhbHwgU0VMRUNUIHdhbF9yZWNvcmRzLAogICAgIHdhbF9mcGks CiAgICAgd2FsX2J5dGVzLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dAppbmRleCA5ZTVkMzMzNDJjOS4uNDY1 NGE1MzZhZDYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVt X2luZGV4X3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv dmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0zMCw5ICszMCw5IEBAIFZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OwogLS0gTXVzdCBi ZSBlbXB0eS4KIFNFTEVDVCAqCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQKLVdI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKLSByZWxpZCB8IHNjaGVtYW5hbWUgfCByZWxu YW1lIHwgdG90YWxfYmxrc19yZWFkIHwgdG90YWxfYmxrc19oaXQgfCB0b3RhbF9ibGtzX2Rp cnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCByZWxfYmxrc19yZWFkIHwgcmVsX2Jsa3Nf aGl0IHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIHwgd2FsX3JlY29yZHMgfCB3 YWxfZnBpIHwgd2FsX2J5dGVzIHwgYmxrX3JlYWRfdGltZSB8IGJsa193cml0ZV90aW1lIHwg ZGVsYXlfdGltZSB8IHRvdGFsX3RpbWUgCi0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorV0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3Rh dCc7CisgcmVsaWQgfCBpbmRleHJlbGlkIHwgc2NoZW1hbmFtZSB8IHJlbG5hbWUgfCBpbmRl eHJlbG5hbWUgfCB0b3RhbF9ibGtzX3JlYWQgfCB0b3RhbF9ibGtzX2hpdCB8IHRvdGFsX2Js a3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHJlbF9ibGtzX3JlYWQgfCByZWxf Ymxrc19oaXQgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgfCB3YWxfcmVjb3Jk cyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCBibGtfcmVhZF90aW1lIHwgYmxrX3dyaXRlX3Rp bWUgfCBkZWxheV90aW1lIHwgdG90YWxfdGltZSAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQogKDAgcm93cykKIAogUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CkBAIC01NSwx MiArNTUsMTIgQEAgQU5BTFlaRSB2ZXN0YXQ7CiBTRUxFQ1Qgb2lkIEFTIGlvaWQgZnJvbSBw Z19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogREVMRVRFIEZS T00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKIC0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVt IGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgotU0VMRUNUIHZ0LnJl bG5hbWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAorU0VMRUNUIHZ0 LmluZGV4cmVsbmFtZSxyZWxwYWdlcyxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkCiBG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwotICAgcmVsbmFt ZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCi0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0K LSB2ZXN0YXRfcGtleSB8ICAgICAgIDMwIHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAg ICAwCitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRl eHJlbGlkID0gYy5vaWQ7CisgaW5kZXhyZWxuYW1lIHwgcmVscGFnZXMgfCBwYWdlc19kZWxl dGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgIHwgICAgICAgMzAg fCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAKICgxIHJvdykKIAogU0VMRUNUIHJl bHBhZ2VzIEFTIGlycApAQCAtNzIsMjIgKzcyLDIyIEBAIENIRUNLUE9JTlQ7CiAtLSBUaGUg dGFibGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93 IHVzIHRoYXQKIC0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBi dXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKIC0tIGJlY2F1c2Ugb2Ygbm90IGZ1 bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVwCi1TRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06 aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkID0gMCBBUyBwYWdlc19kZWxldGVk LHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorU0VMRUNUIHZ0LmluZGV4 cmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkID0g MCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRl ZAogRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCi1XSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKLSAgIHJl bG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAot LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tCi0gdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CitXSEVS RSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0g Yy5vaWQ7CisgaW5kZXhyZWxuYW1lIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVw bGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgIHwgdCAgICAgICAgfCB0ICAgICAg ICAgICAgIHwgdAogKDEgcm93KQogCi1TRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBp cnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitTRUxFQ1Qg dnQuaW5kZXhyZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0 dXBsZXNfZGVsZXRlZCBBUyBpdGQKIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwg cGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJl bGlkID0gYy5vaWQgXGdzZXQKK1dIRVJFIHZ0LmluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LmluZGV4cmVsaWQgPSBjLm9pZCBcZ3NldAogLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzCi1TRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRl cyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorU0VMRUNUIHdhbF9yZWNvcmRz IEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAogLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KIFNFTEVDVCB3YWxfcmVjb3Jk cyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBkaVdCCi1GUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleSc7CitGUk9NIHBnX3N0 YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JzsK ICBkaXdyIHwgZGl3YiAKIC0tLS0tLSstLS0tLS0KICB0ICAgIHwgdApAQCAtOTgsMjAgKzk4 LDIwIEBAIFZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5E RVhfQ0xFQU5VUCBPTikgdmVzdGF0OwogLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRo ZSB3YWwgc3RhdGlzdGljcwogQ0hFQ0tQT0lOVDsKIC0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBi ZSBpbmNyZWFzZWQKLVNFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJl bHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA+IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNf ZGVsZXRlZC06aXRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorU0VMRUNUIHZ0LmluZGV4cmVs bmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQg PiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA+IDAgQVMgdHVwbGVz X2RlbGV0ZWQKIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwot V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 Ci0gICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVs ZXRlZCAKLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLQotIHZlc3RhdF9wa2V5IHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwg dAorV0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQuaW5kZXhy ZWxpZCA9IGMub2lkOworIGluZGV4cmVsbmFtZSB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRl ZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5ICB8IHQgICAgICAgIHwg dCAgICAgICAgICAgICB8IHQKICgxIHJvdykKIAotU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFn ZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAor U0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBB UyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFO RCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQgXGdzZXQKIC0tIFN0b3JlIFdB TCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwogU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMg ZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3Yiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaQot RlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIFxnc2V0CitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRl dGVjdGVkLgogU0VMRUNUIDpkaXdyID4gMCBBUyBkaVdSLCA6ZGl3YiA+IDAgQVMgZGlXQjsK ICBkaXdyIHwgZGl3YiAKQEAgLTEyMCw3ICsxMjAsNyBAQCBTRUxFQ1QgOmRpd3IgPiAwIEFT IGRpV1IsIDpkaXdiID4gMCBBUyBkaVdCOwogKDEgcm93KQogCiAtLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKLVNFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5 dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitTRUxFQ1Qgd2FsX3JlY29y ZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3Rh dF92YWN1dW1faW5kZXhlcyBXSEVSRSBpbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxn c2V0CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMo MSw6c2FtcGxlX3NpemUpIGFzIHg7CiBERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIg PSAwOwogLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3Iu IFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKQEAgLTEzMCw3ICsxMzAs NyBAQCBWQUNVVU0gRlVMTCB2ZXN0YXQ7CiBDSEVDS1BPSU5UOwogLS0gU3RvcmUgV0FMIGFk dmFuY2VzIGludG8gdmFyaWFibGVzCiBTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdy Miwgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjIsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkyCi1G Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgXGdzZXQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSBpbmRleHJlbG5h bWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CiAtLSBXQUwgYW5kIG90aGVyIHN0YXRpc3RpY3Mg YWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgogU0VMRUNUIDpkaXdyMj0wIEFTIGRp V1IsIDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBBUyBkaVdCOwogIGRpd3IgfCBpZnBp IHwgZGl3YiAKQEAgLTEzOCwxOSArMTM4LDE5IEBAIFNFTEVDVCA6ZGl3cjI9MCBBUyBkaVdS LCA6ZGlmcGkyPTAgQVMgaUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsKICB0ICAgIHwgdCAgICB8 IHQKICgxIHJvdykKIAotU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA8IDAgQVMg cmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxl c19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitTRUxFQ1QgdnQuaW5kZXhy ZWxuYW1lLHJlbHBhZ2VzLTppcnAgPCAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlw ZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBs ZXNfZGVsZXRlZAogRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBj Ci1XSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKLSAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19k ZWxldGVkIAotLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tCi0gdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQgICAgICAgICAgICAg fCB0CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRl eHJlbGlkID0gYy5vaWQ7CisgaW5kZXhyZWxuYW1lIHwgcmVscGFnZXMgfCBwYWdlc19kZWxl dGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgIHwgdCAgICAgICAg fCB0ICAgICAgICAgICAgIHwgdAogKDEgcm93KQogCi1TRUxFQ1QgdnQucmVsbmFtZSxyZWxw YWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRk CitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVk IEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKIEZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyB2dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg QU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKK1dIRVJFIHZ0LmluZGV4cmVsbmFtZSA9ICd2 ZXN0YXRfcGtleScgQU5EIHZ0LmluZGV4cmVsaWQgPSBjLm9pZCBcZ3NldAogLS0gU3RvcmUg V0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCi1TRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdy LHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorU0VMRUNUIHdh bF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBcZ3NldAogREVMRVRFIEZST00gdmVzdGF0OwogVFJVTkNBVEUgdmVzdGF0OwogVkFD VVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQ IE9OKSB2ZXN0YXQ7CkBAIC0xNTgsNyArMTU4LDcgQEAgVkFDVVVNIChQQVJBTExFTCAwLCBC VUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CiBDSEVD S1BPSU5UOwogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJl bW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKIFNFTEVDVCB3YWxfcmVjb3Jkcy06 aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZwaSBB UyBkaWZwaTMKLUZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBcZ3NldAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJF IGluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKIC0tVGhlcmUgYXJlIG5vdGhp bmcgY2hhbmdlZAogU0VMRUNUIDpkaXdyMz0wIEFTIGRpV1IsIDpkaWZwaTM9MCBBUyBpRlBJ LCA6ZGl3YjM9MCBBUyBkaVdCOwogIGRpd3IgfCBpZnBpIHwgZGl3YiAKQEAgLTE3MSwxMiAr MTcxLDEyIEBAIFNFTEVDVCA6ZGl3cjM9MCBBUyBkaVdSLCA6ZGlmcGkzPTAgQVMgaUZQSSwg OmRpd2IzPTAgQVMgZGlXQjsKIC0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgog LS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJl IGNoYW5nZWQKIC0tCi1TRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyBy ZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVz X2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK1NFTEVDVCB2dC5pbmRleHJl bG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBk ID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxl c19kZWxldGVkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMK LVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lk OwotICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2Rl bGV0ZWQgCi0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0KLSB2ZXN0YXRfcGtleSB8IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8 IHQKK1dIRVJFIHZ0LmluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LmluZGV4 cmVsaWQgPSBjLm9pZDsKKyBpbmRleHJlbG5hbWUgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0 ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSAgfCBmICAgICAgICB8 IHQgICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKIERST1AgVEFCTEUgdmVzdGF0OwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mu c3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3Fs CmluZGV4IDliN2U2NDUxODdkLi41N2U1NDIwYjliNiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbApAQCAtMjcsNyArMjcs NyBAQCBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3Rh dDsKIC0tIE11c3QgYmUgZW1wdHkuCiBTRUxFQ1QgKgogRlJPTSBwZ19zdGF0X3ZhY3V1bV9p bmRleGVzIHZ0Ci1XSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CitXSEVSRSB2dC5pbmRl eHJlbG5hbWUgPSAndmVzdGF0JzsKIAogUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7 CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpAQCAtNDksOSArNDksOSBAQCBTRUxFQ1Qg b2lkIEFTIGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBcZ3NldAogCiBERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOwogLS0gQmVm b3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVuZGVkIHN0YXRzIHZpZXcgaXMg ZW1wdHkuCi1TRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyxwYWdlc19kZWxldGVkLHR1cGxl c19kZWxldGVkCitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1lLHJlbHBhZ2VzLHBhZ2VzX2RlbGV0 ZWQsdHVwbGVzX2RlbGV0ZWQKIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdf Y2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlk ID0gYy5vaWQ7CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2 dC5pbmRleHJlbGlkID0gYy5vaWQ7CiBTRUxFQ1QgcmVscGFnZXMgQVMgaXJwCiBGUk9NIHBn X2NsYXNzIGMKIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CkBAIC02Mywx OSArNjMsMTkgQEAgQ0hFQ0tQT0lOVDsKIC0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5k ZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAogLS0gdmFjdXVtIGZy b3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXll ZCB0aGUgc2FtZQogLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQg dXAKLVNFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBh Z2VzX2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQgPiAwIEFT IHR1cGxlc19kZWxldGVkCitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1lLHJlbHBhZ2VzLTppcnAg PSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVw bGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkCiBGUk9NIHBnX3N0YXRfdmFjdXVt X2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwotU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMg QVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorV0hF UkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQuaW5kZXhyZWxpZCA9 IGMub2lkOworU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNf ZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCiBGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CitXSEVSRSB2dC5pbmRleHJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQgXGdzZXQKIAog LS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCi1TRUxFQ1Qgd2FsX3JlY29y ZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3Rh dF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAor U0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMg aWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBcZ3NldAogCiAtLSBMb29rIGludG8gV0FMIHJlY29yZHMgZGVsdGFz LgogU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkaVdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRp V0IKLUZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JzsKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSBpbmRleHJlbG5h bWUgPSAndmVzdGF0X3BrZXknOwogCiBERUxFVEUgRlJPTSB2ZXN0YXQ7OwogVkFDVVVNIChQ QVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2 ZXN0YXQ7CkBAIC04MywyMiArODMsMjIgQEAgVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJf VVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CiBDSEVDS1BPSU5U OwogCiAtLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCi1TRUxFQ1QgdnQucmVs bmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQg PiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA+IDAgQVMgdHVwbGVz X2RlbGV0ZWQKK1NFTEVDVCB2dC5pbmRleHJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMg cmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID4gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxl c19kZWxldGVkLTppdGQgPiAwIEFTIHR1cGxlc19kZWxldGVkCiBGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwotU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFn ZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAor V0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQuaW5kZXhyZWxp ZCA9IGMub2lkOworU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFn ZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCiBGUk9NIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CitXSEVSRSB2dC5pbmRleHJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQgXGdzZXQK IAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCiBTRUxFQ1Qgd2FsX3Jl Y29yZHMtOml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiLCB3YWxfZnBpLTpp ZnBpIEFTIGRpZnBpCi1GUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSBpbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CiAKIC0tIFdBTCBhZHZh bmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KIFNFTEVDVCA6ZGl3ciA+IDAgQVMgZGlXUiwgOmRp d2IgPiAwIEFTIGRpV0I7CiAKIC0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxl cwotU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkg QVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXRfcGtleScgXGdzZXQKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVz IEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdI RVJFIGluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKIAogSU5TRVJUIElOVE8g dmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBh cyB4OwogREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKQEAgLTExMCwyMCAr MTEwLDIwIEBAIENIRUNLUE9JTlQ7CiAKIC0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZh cmlhYmxlcwogU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjIsIHdhbF9ieXRlcy06 aXdiIEFTIGRpd2IyLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMgotRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBcZ3NldAogCiAtLSBXQUwgYW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91 bGQgbm90IGJlIGRldGVjdGVkLgogU0VMRUNUIDpkaXdyMj0wIEFTIGRpV1IsIDpkaWZwaTI9 MCBBUyBpRlBJLCA6ZGl3YjI9MCBBUyBkaVdCOwogCi1TRUxFQ1QgdnQucmVsbmFtZSxyZWxw YWdlcy06aXJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBh Z2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQK K1NFTEVDVCB2dC5pbmRleHJlbG5hbWUscmVscGFnZXMtOmlycCA8IDAgQVMgcmVscGFnZXMs cGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVk LTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFO RCB2dC5yZWxpZCA9IGMub2lkOwotU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJw LHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorV0hFUkUgdnQu aW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQuaW5kZXhyZWxpZCA9IGMub2lk OworU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRl ZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQgXGdzZXQKIAogLS0gU3Rv cmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCi1TRUxFQ1Qgd2FsX3JlY29yZHMgQVMg aXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1 dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorU0VMRUNU IHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBcZ3NldAogCiBERUxFVEUgRlJPTSB2ZXN0YXQ7CiBUUlVOQ0FURSB2ZXN0YXQ7 CkBAIC0xMzMsNyArMTMzLDcgQEAgQ0hFQ0tQT0lOVDsKIAogLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUg dGFibGUKIFNFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3 YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKLUZST00gcGdfc3RhdF92YWN1 dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIGluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgXGdzZXQKIAogLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCiBTRUxFQ1QgOmRpd3Iz PTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFTIGlGUEksIDpkaXdiMz0wIEFTIGRpV0I7CkBAIC0x NDMsOSArMTQzLDkgQEAgU0VMRUNUIDpkaXdyMz0wIEFTIGRpV1IsIDpkaWZwaTM9MCBBUyBp RlBJLCA6ZGl3YjM9MCBBUyBkaVdCOwogLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3Rp Y3MuCiAtLSBUaGUgcGFnZXNfZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRu J3QgYmUgY2hhbmdlZAogLS0KLVNFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAw IEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0 dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorU0VMRUNUIHZ0Lmlu ZGV4cmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVk LTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMg dHVwbGVzX2RlbGV0ZWQKIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xh c3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0g Yy5vaWQ7CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5p bmRleHJlbGlkID0gYy5vaWQ7CiAKIERST1AgVEFCTEUgdmVzdGF0OwogUkVTRVQgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3M7Ci0tIAoyLjM0LjEKCg== --------------W8OTiSHlibzsm9Q0DRhMKYVj Content-Type: text/x-patch; charset=UTF-8; name="v23-0005-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v23-0005-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA1ZjA3YTViYmU4MDRiODU4ZTdlMTVlOGJiNjRjOTZjY2M3ODdiMTg0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAxOSBEZWMgMjAyNCAxMjo1Nzo0OSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNS81XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc1NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NTUgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCBiNThjNTJlYTUwZi4uN2U1 YWNkN2M1MmUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTU0NzQsNCArNTQ3NCw3 NTkgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRf eGFjdHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRf dmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6 b25lPSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgIDxwcmltYXJ5PnBnX3N0 YXRfdmFjdXVtX2RhdGFiYXNlPC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFy YT4KKyAgIFRoZSB2aWV3IDxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9z dHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggZGF0YWJhc2Ug aW4gdGhlIGN1cnJlbnQgY2x1c3Rlciwgc2hvd2luZyBzdGF0aXN0aWNzIGFib3V0CisgICB2 YWN1dW1pbmcgdGhhdCBkYXRhYmFzZS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT4g Q29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4K KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRi aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5p bnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJl ciBvZiBkYXRhYmFzZSBibG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAg ICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRp bWVzIGRhdGFiYXNlIGJsb2NrcyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIg Y2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRp cnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdy aXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29y ZHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0 YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBk YXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVk IGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFi YXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8 L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCByZWFkaW5nIGRhdGFiYXNlIGJsb2NrcyBi eSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFz ZSwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5kPSJndWMtdHJhY2staW8tdGlt aW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lzZSB6ZXJvKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfd3JpdGVfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBz bGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBw ZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzIChz ZWUgPHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3Qi Lz4KKyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBv ZiB2YWN1dW1pbmcgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBV c2VyIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29u ZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDQ8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVz IHRoZSB2YWN1dW0gd2FzIHJ1biB0byBwcmV2ZW50IGEgd3JhcGFyb3VuZCBwcm9ibGVtLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5lcnJvcnM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgICB3ZXJlIGludGVycnVwdGVkIG9uIGFueSBlcnJvcnMKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90 Z3JvdXA+CisgIDwvdGFibGU+CisgPC9zZWN0MT4KKworICA8c2VjdDEgaWQ9InZpZXctcGct c3RhdC12YWN1dW0taW5kZXhlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3Zh Y3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6b25l PSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWluZGV4ZXMiPgorICAgPHByaW1hcnk+cGdfc3RhdF92 YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+Cisg ICBUaGUgdmlldyA8c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3Ru YW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1 cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FTVAorICAgdGFibGUgaW5kZXhlcyksIHNo b3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1dW1pbmcgdGhhdCBzcGVjaWZpYyBpbmRleC4K KyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3Jv dXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5v aWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2Yg YW4gaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hlbWEgdGhpcyBpbmRleCBpcyBpbgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIGRhdGFiYXNlIGJsb2Nr cyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJh dGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlv bnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICBp bmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyBpbmRleCB3 ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAg ICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBi dWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNh Y2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19kZWxldGVk PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgZGVsZXRlZCBieSB2YWN1dW0gb3Bl cmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0 aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9yZWNv cmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJh dGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGlu ZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9mcGk8L3N0cnVj dGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5k ZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGJ5dGVzIGdlbmVyYXRlZCBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBv cGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50 IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1l ZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxp bmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3Ro ZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRlbGF5 X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBzbGVlcGluZyBpbiBhIHZhY3V1 bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAg ICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzIChzZWUgPHhyZWYgbGlua2VuZD0icnVu dGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3QiLz4KKyAgICAgICAgZm9yIGRldGFp bHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRl eCwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk PnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBVc2VyIENQVSB0aW1lIG9mIHZhY3V1bWlu ZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9m IHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDwvdGJvZHk+CisgICA8L3Rncm91cD4KKyAg PC90YWJsZT4KKyA8L3NlY3QxPgorCisgPHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXQtdmFjdXVt LXRhYmxlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8 L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctc3Rh dC12YWN1dW0tdGFibGVzIj4KKyAgIDxwcmltYXJ5PnBnX3N0YXRfdmFjdXVtX3RhYmxlczwv cHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3Ry dWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3N0cnVjdG5hbWU+IHdpbGwgY29udGFp bgorICAgb25lIHJvdyBmb3IgZWFjaCB0YWJsZSBpbiB0aGUgY3VycmVudCBkYXRhYmFzZSAo aW5jbHVkaW5nIFRPQVNUCisgICB0YWJsZXMpLCBzaG93aW5nIHN0YXRpc3RpY3MgYWJvdXQg dmFjdXVtaW5nIHRoYXQgc3BlY2lmaWMgdGFibGUuCisgIDwvcGFyYT4KKworICA8dGFibGU+ CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fdGFibGVzPC9zdHJ1Y3Ru YW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFk PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRi b2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSB0YWJsZQorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD5zY2hlbWE8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE5hbWUgb2YgdGhl IHNjaGVtYSB0aGlzIHRhYmxlIGlzIGluCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnJlbG5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGlzIHRhYmxlCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0 ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVy YXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAg ICAgIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3Jt ZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50 b3RhbF9ibGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBibG9ja3Mgd3Jp dHRlbiBkaXJlY3RseSBieSB2YWN1dW0gb3IgYXV0byB2YWN1dW0uCisgICAgICAgIEJsb2Nr cyB0aGF0IGFyZSBkaXJ0aWVkIGJ5IGEgdmFjdXVtIHByb2Nlc3MgY2FuIGJlIHdyaXR0ZW4g b3V0IGJ5IGFub3RoZXIgcHJvY2Vzcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0 YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVy Zm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGJsb2NrcyB2YWN1 dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICB0YWJsZQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3ZXJlIGFscmVhZHkgZm91 bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywg c28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAgICAgKHRoaXMgb25seSBp bmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBidWZmZXIgY2FjaGUsIG5v dCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNhY2hlKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19zY2FubmVkPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgZXhhbWluZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHBhZ2Vz IHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljYWwgc3RvcmFnZSBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfZnJvemVuX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGhlIG51bWJlciBvZiBwYWdlcyBuZXdseSBzZXQgYWxsLWZyb3plbiBieSB2 YWN1dW0KKyAgICAgICAgaW4gdGhlIHZpc2liaWxpdHkgbWFwLgorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfdmlzaWJsZV9wYWdlczwvc3RydWN0ZmllbGQ+ IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0IGFsbC12aXNpYmxl IGJ5IHZhY3V1bQorICAgICAgICBpbiB0aGUgdmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczwv c3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8 cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0 IGFsbC12aXNpYmxlIGFuZCBhbGwtZnJvemVuCisgICAgICAgIGJ5IHZhY3V1bSBpbiB0aGUg dmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1 cGxlc19kZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGVhZCB0dXBsZXMgdmFj dXVtIG9wZXJhdGlvbnMgZGVsZXRlZCBmcm9tIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dHVwbGVzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVt YmVyIG9mIHR1cGxlcyBvZiB0aGlzIHRhYmxlIHRoYXQgdmFjdXVtIG9wZXJhdGlvbnMgbWFy a2VkIGFzCisgICAgICAgIGZyb3plbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5yZWNlbnRseV9kZWFkX3R1cGxlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRl YWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGxlZnQgaW4gdGhpcyB0YWJsZSBkdWUKKyAg ICAgICAgdG8gdGhlaXIgdmlzaWJpbGl0eSBpbiB0cmFuc2FjdGlvbnMKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5taXNzZWRfZGVhZF90dXBsZXM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiBmdWxseSBERUFEIChub3QganVzdCBSRUNFTlRMWV9ERUFEKSB0dXBs ZXMgIHRoYXQgY291bGQgbm90IGJlCisgICAgICAgIHBydW5lZCBkdWUgdG8gZmFpbHVyZSB0 byBhY3F1aXJlIGEgY2xlYW51cCBsb2NrIG9uIGEgaGVhcCBwYWdlLgorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleF92YWN1dW1fY291bnQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyBpbmRleGVzIG9uIHRoaXMgdGFibGUgd2VyZSB2YWN1dW1l ZAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIHZhY3V1bSB3 YXMgcnVuIHRvIHByZXZlbnQgYSB3cmFwYXJvdW5kIHByb2JsZW0uCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPm1pc3NlZF9kZWFkX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgdGhhdCBoYWQgYXQgbGVhc3Qgb25lIG1pc3NlZF9kZWFkX3R1 cGxlcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0ZWQg YnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3RydWN0Zmll bGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBi eSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1 bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIFRpbWUgc3BlbnQgcmVhZGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25k cyAoaWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVk LAorICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+YmxrX3dyaXRlX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3BlbnQgd3Jp dGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9u CisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhyZWYgbGlua2Vu ZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAgICBvdGhlcndp c2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGlt ZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRl bGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0 aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1l LWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBmb3IgZGV0YWlscykK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVj dGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNl cl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRo aXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1 Y3RmaWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFj dXVtaW5nIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3Rh YmxlPgorICA8cGFyYT5Db2x1bW5zIDxzdHJ1Y3RmaWVsZD50b3RhbF8qPC9zdHJ1Y3RmaWVs ZD4sIDxzdHJ1Y3RmaWVsZD53YWxfKjwvc3RydWN0ZmllbGQ+CisgICAgYW5kIDxzdHJ1Y3Rm aWVsZD5ibGtfKjwvc3RydWN0ZmllbGQ+IGluY2x1ZGUgZGF0YSBvbiB2YWN1dW1pbmcgaW5k ZXhlcyBvbiB0aGlzIHRhYmxlLCB3aGlsZSBjb2x1bW5zCisgICAgPHN0cnVjdGZpZWxkPnN5 c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gYW5kIDxzdHJ1Y3RmaWVsZD51c2VyX3RpbWU8L3N0 cnVjdGZpZWxkPiBvbmx5IGluY2x1ZGUgZGF0YQorICAgIG9uIHZhY3V1bWluZyB0aGUgaGVh cC48L3BhcmE+CisgPC9zZWN0MT4KIDwvY2hhcHRlcj4KLS0gCjIuMzQuMQoK --------------W8OTiSHlibzsm9Q0DRhMKYVj--