Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wa3Uj-001Uye-21 for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Jun 2026 03:32:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wa3Uh-009AGD-1H for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Jun 2026 03:32:43 +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.96) (envelope-from ) id 1wa3Ug-009AG3-29 for pgsql-hackers@lists.postgresql.org; Thu, 18 Jun 2026 03:32:42 +0000 Received: from forward100a.mail.yandex.net ([178.154.239.83]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wa3UX-000000011dZ-3G0K for pgsql-hackers@postgresql.org; Thu, 18 Jun 2026 03:32:42 +0000 Received: from mail-nwsmtp-smtp-production-main-95.vla.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-95.vla.yp-c.yandex.net [IPv6:2a02:6b8:c15:340d:0:640:ad51:0]) by forward100a.mail.yandex.net (Yandex) with ESMTPS id DE9BDC06BA; Thu, 18 Jun 2026 06:32:31 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-95.vla.yp-c.yandex.net (smtp) with ESMTPSA id QWI6L55gESw0-jdMaNCjR; Thu, 18 Jun 2026 06:32:30 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1781753551; bh=euxYVuqFtFi58itEtVRQESxrlkCgssy57KwlyIMPMu0=; h=In-Reply-To:Cc:Date:References:To:Subject:Message-ID:From; b=FnhRU346+fNmxk5X3WJc47Pzm3UsrfsqN4YNAOm2e0ojCImmHy9n33INr5e9BA6x+ XA61NP6ZHfGKJctpkwr2MyejKlriD+7HUbwTTfPMR1fEpJ2Onw8dh3RUKMl3Tnf3M3 efYJ71QBYgFGweIwHRZtSCSvT9qiHWbNIm/0APr4= Authentication-Results: mail-nwsmtp-smtp-production-main-95.vla.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Content-Type: multipart/mixed; boundary="------------iWaNFCp60Ha1jovLeWGuqq8d" Message-ID: Date: Thu, 18 Jun 2026 06:32:27 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics To: Alexander Korotkov Cc: pgsql-hackers , Masahiko Sawada , Amit Kapila , Jim Nasby , Bertrand Drouvot , Kirill Reshke , Melanie Plageman , jian he , Sami Imseih , vignesh C , Ilia Evdokimov , Andrey Borodin , Andrei Zubkov , Andrei Lepikhov References: <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> <77f1b8bc-b365-4e88-b87b-ced37fabbbf0@yandex.ru> <7a74d6af-85e2-4b48-9133-61309a965954@yandex.ru> <1885f257-46cc-4b90-8d90-41833eb62ea9@gmail.com> <0e84acdc-ba65-44fa-be1f-4d6a86bca2ac@yandex.ru> <8bd78e04-6efa-4fcf-b157-8ac3b92375c8@yandex.ru> <10BE6E39-94D2-4909-ACB8-24E1FA6580EE@yandex-team.ru> <877b2c60-6681-4471-ba72-86153f0b9286@yandex.ru> <69e99101-a308-468f-b895-8057305699bf@yandex.ru> <788e9ff4-3ed7-454c-8863-b40bc3288bc9@yandex.ru> <5bc44024-add6-40fd-a8e6-6c4559e09478@yandex.ru> <9d98562b-fa97-476b-9315-6fa2d736ab6b@yandex.ru> Content-Language: en-US From: Alena Rybakina In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------iWaNFCp60Ha1jovLeWGuqq8d Content-Type: multipart/alternative; boundary="------------vE0ywOFja4yL1rTc2lQksa6b" --------------vE0ywOFja4yL1rTc2lQksa6b Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, Alexander! Thank you for the careful review. All five points are addressed in the attached, reworked patch set (now split into 8 per-category patches). On 16.06.2026 20:30, Alexander Korotkov wrote: > Some notes about it. > 1) PgStat_CommonCounts.interrupts_count is never incremented. Fixed. It's now incremented from vacuum_error_callback() (when geterrlevel() == ERROR and a relation is set) via the new pgstat_report_vacuum_error(), which bumps interrupts_count in the PGSTAT_KIND_VACUUM_DB shmem entry. It writes directly to shared memory because the vacuum's transaction is aborting, and is reported at the database level (pg_stat_vacuum_database). New TAP test 015_vacuum_stats_interrupts.pl cancels a running VACUUM and checks the counter advances. (patch 0004) > 2) LVRelState.wraparound_failsafe_count can only be incremented once > in lazy_check_wraparound_failsafe(). Should we replace it with a > bool? Done. LVRelState.wraparound_failsafe is now a bool, set to true in lazy_check_wraparound_failsafe(). The per-relation view reports it as a 0/1 flag reflecting the latest vacuum, and the per-database aggregate sums those flags into a count. This metric is covered by 005_vacuum_stats_failsafe.pl (xid_wraparound module), which burns enough XIDs to engage the failsafe and asserts the counters advance. (patch 0004) > 3) Vacuum statistics isn't counted correctly for parallel index > vacuum. parallel_vacuum_process_one_index() doesn't call neither > extvac_stats_start_idx(), extvac_stats_end_idx(), or > extvac_accumulate_idx_repor(). This leads all index vacuum stats to > go the heap stats. I also think you need a reliable test cases to > cover issues like this. Fixed. parallel_vacuum_process_one_index() now samples each index pass with extvac_stats_start_idx() / extvac_stats_end_idx() and accumulates it via extvac_accumulate_idx_report() into the index's DSM-resident totals. The leader reports those totals once per index in parallel_vacuum_end() and feeds them back through idx_heap_total, so the per-index buffer/WAL/timing usage is subtracted from the parent heap instead of being charged to it. For the reliable test, I added a TAP test (src/test/modules/test_misc/t/016_vacuum_stats_parallel.pl). It forces the parallel path and verifies it was actually taken by checking the VACUUM (VERBOSE) output for a launched parallel worker. It then vacuums two identical tables - one with PARALLEL 2, one with PARALLEL 0 - and asserts that the per-index statistics (tuples_deleted, pages_deleted, wal_records) are identical between the two paths, which is exactly the invariant that was broken before: the parallel path now neither loses the index stats nor charges them to the heap. (machinery + parallel sampling and the parallel test in patch 0003, "WAL metrics and the sampling machinery") > 4) It seems that pgstat_vacuum_db_flush_cb() and > pgstat_vacuum_relation_flush_cb() are unused as > pgstat_report_vacuum_extstats() reports directly to shmem. What was > your intention here? Good catch! Fixed! pgstat_report_vacuum_extstats() now accumulates into pending entries with pgstat_prep_pending_entry() for both PGSTAT_KIND_VACUUM_RELATION and PGSTAT_KIND_VACUUM_DB, which pgstat_report_stat() then flushes through the registered pgstat_vacuum_relation_flush_cb() / pgstat_vacuum_db_flush_cb(). (relation pending in patch 0001; database pending in patch 0003) > 5) Commit message of 0001 uses stale names > rev_all_visible_pages/rev_all_frozen_pages counters for > visible_page_marks_cleared` / `frozen_page_marks_cleared. Fixed. A few other changes in this version, beyond the five points above: * I split the patch set so that each commit introduces one category of statistics. In particular, recently_dead_tuples now lives in the same commit as missed_dead_tuples (patch 0003), where it logically belongs - both are dead-tuple counters derived the same way, so keeping them together makes the series easier to review. * I also changed the order in which the counters are added across the commits. I'm still working out the right way to verify the buffer statistics, timings and he frozen / visibility-map counters. Thanks again for the review. -- ----------- Best regards, Alena Rybakina, Yandex Cloud --------------vE0ywOFja4yL1rTc2lQksa6b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Hi, Alexander! Thank you for the careful review. All five points are addressed in the attached, 
reworked patch set (now split into 8 per-category patches). 

On 16.06.2026 20:30, Alexander Korotkov wrote:
Some notes about it.
1) PgStat_CommonCounts.interrupts_count is never incremented.
Fixed. It's now incremented from vacuum_error_callback() (when geterrlevel() == ERROR and a relation is set) via the new pgstat_report_vacuum_error(), which bumps interrupts_count in the PGSTAT_KIND_VACUUM_DB shmem entry. It writes 
directly to shared memory because the vacuum's transaction is aborting, and is reported at the database level 
(pg_stat_vacuum_database). New TAP test 015_vacuum_stats_interrupts.pl cancels a running VACUUM and checks 
the counter advances.

(patch 0004)
2) LVRelState.wraparound_failsafe_count can only be incremented once
in lazy_check_wraparound_failsafe().  Should we replace it with a
bool?
Done. LVRelState.wraparound_failsafe is now a bool, set to true in
lazy_check_wraparound_failsafe(). The per-relation view reports it as a 0/1 flag reflecting
the latest vacuum, and the per-database aggregate sums those flags into a count. This metric
is covered by 005_vacuum_stats_failsafe.pl (xid_wraparound module), which burns enough
XIDs to engage the failsafe and asserts the counters advance.
(patch 0004)
3) Vacuum statistics isn't counted correctly for parallel index
vacuum.  parallel_vacuum_process_one_index() doesn't call neither
extvac_stats_start_idx(), extvac_stats_end_idx(), or
extvac_accumulate_idx_repor().  This leads all index vacuum stats to
go the heap stats.  I also think you need a reliable test cases to
cover issues like this.
Fixed. parallel_vacuum_process_one_index() now samples each index pass with
extvac_stats_start_idx() / extvac_stats_end_idx() and accumulates it via
extvac_accumulate_idx_report() into the index's DSM-resident totals. The leader reports those
totals once per index in parallel_vacuum_end() and feeds them back through idx_heap_total, so
the per-index buffer/WAL/timing usage is subtracted from the parent heap instead of being charged to it. 

For the reliable test, I added a TAP test (src/test/modules/test_misc/t/016_vacuum_stats_parallel.pl). 
It forces the parallel path and verifies it was actually taken by checking the VACUUM (VERBOSE) output for a launched 
parallel worker. It then vacuums two identical tables - one with PARALLEL 2, one with PARALLEL 0 - and asserts that 
the per-index statistics (tuples_deleted, pages_deleted, wal_records) are identical between the two paths, 
which is exactly the invariant that was broken before: the parallel path now neither loses the index stats nor 
charges them to the heap.
(machinery + parallel sampling and the parallel test in patch 0003, "WAL metrics and the sampling machinery")
4) It seems that pgstat_vacuum_db_flush_cb() and
pgstat_vacuum_relation_flush_cb() are unused as
pgstat_report_vacuum_extstats() reports directly to shmem.  What was
your intention here?

Good catch! Fixed! pgstat_report_vacuum_extstats() now accumulates into pending entries with 
pgstat_prep_pending_entry() for both PGSTAT_KIND_VACUUM_RELATION and PGSTAT_KIND_VACUUM_DB, 
which pgstat_report_stat() then flushes through the registered pgstat_vacuum_relation_flush_cb() / 
pgstat_vacuum_db_flush_cb().

(relation pending in patch 0001; database pending in patch 0003)
5) Commit message of 0001 uses stale names
rev_all_visible_pages/rev_all_frozen_pages counters for
visible_page_marks_cleared` / `frozen_page_marks_cleared.

Fixed.

A few other changes in this version, beyond the five points above:

  • I split the patch set so that each commit introduces one category of statistics. 
    In particular, recently_dead_tuples now lives in the same commit as missed_dead_tuples (patch 0003), where 
    it logically belongs - both are dead-tuple counters derived the same way, so keeping them together makes 
    the series easier to review.
  • I also changed the order in which the counters are added across the commits. I'm still working out the right way 
    to verify the buffer statistics, timings and he frozen / visibility-map counters.
Thanks again for the review.
-- 
-----------
Best regards,
Alena Rybakina,
Yandex Cloud
--------------vE0ywOFja4yL1rTc2lQksa6b-- --------------iWaNFCp60Ha1jovLeWGuqq8d Content-Type: text/plain; charset=UTF-8; name="0001-Track-table-VM-stability.patch" Content-Disposition: attachment; filename="0001-Track-table-VM-stability.patch" Content-Transfer-Encoding: base64 RnJvbSA0YTg4YzAyODY3NGZkYWQ0ZjVkYjI2ZThlOGMwYTYwOGE3ZjJiNzk3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YWxlbmthLnJ5YmFraW5h QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAzMCBNYXIgMjAyNiAwOTowNzoyNCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMS85XSBUcmFjayB0YWJsZSBWTSBzdGFiaWxpdHkuCgpBZGQgdmlzaWJs ZV9wYWdlX21hcmtzX2NsZWFyZWQgYW5kIGZyb3plbl9wYWdlX21hcmtzX2NsZWFyZWQgY291 bnRlcnMgdG8KcGdfc3RhdF9hbGxfdGFibGVzIHRyYWNraW5nIHRoZSBudW1iZXIgb2YgdGlt ZXMgdGhlIGFsbC12aXNpYmxlIGFuZAphbGwtZnJvemVuIGJpdHMgYXJlIGNsZWFyZWQgaW4g dGhlIHZpc2liaWxpdHkgbWFwLiBUaGVzZSBiaXRzIGFyZSBjbGVhcmVkIGJ5CmJhY2tlbmQg cHJvY2Vzc2VzIGR1cmluZyByZWd1bGFyIERNTCBvcGVyYXRpb25zLiBIZW5jZSwgdGhlIGNv dW50ZXJzIGFyZSBwbGFjZWQKaW4gdGFibGUgc3RhdGlzdGljIGVudHJ5LgoKQSBoaWdoIHZp c2libGVfcGFnZV9tYXJrc19jbGVhcmVkIHJhdGUgcmVsYXRpdmUgdG8gRE1MIHZvbHVtZSBp bmRpY2F0ZXMKdGhhdCBtb2RpZmljYXRpb25zIGFyZSBzY2F0dGVyZWQgYWNyb3NzIHByZXZp b3VzbHktY2xlYW4gcGFnZXMgcmF0aGVyCnRoYW4gY29uY2VudHJhdGVkIG9uIGFscmVhZHkt ZGlydHkgb25lcywgY2F1c2luZyBpbmRleC1vbmx5IHNjYW5zIHRvCmZhbGwgYmFjayB0byBo ZWFwIGZldGNoZXMuICBBIGhpZ2ggZnJvemVuX3BhZ2VfbWFya3NfY2xlYXJlZCByYXRlIGlu ZGljYXRlcwp0aGF0IHZhY3V1bSdzIGZyZWV6aW5nIHdvcmsgaXMgYmVpbmcgZnJlcXVlbnRs eSB1bmRvbmUgYnkgY29uY3VycmVudApETUwuCgpBdXRob3JzOiBBbGVuYSBSeWJha2luYSA8 bGVuYS5yaWJhY2tpbmFAeWFuZGV4LnJ1PiwKICAgICAgICAgQW5kcmVpIExlcGlraG92IDxs ZXBpaG92QGdtYWlsLmNvbT4sCiAgICAgICAgIEFuZHJlaSBadWJrb3YgPGEuenVia292QHBv c3RncmVzcHJvLnJ1PgpSZXZpZXdlZC1ieTogRGlsaXAgS3VtYXIgPGRpbGlwYmFsYXV0QGdt YWlsLmNvbT4sCiAgICAgICAgIE1hc2FoaWtvIFNhd2FkYSA8c2F3YWRhLm1zaGtAZ21haWwu Y29tPiwKICAgICAgICAgSWxpYSBFdmRva2ltb3YgPGlseWEuZXZkb2tpbW92QHRhbnRvcmxh YnMuY29tPiwKICAgICAgICAgSmlhbiBIZSA8amlhbi51bml2ZXJzYWxpdHlAZ21haWwuY29t PiwKICAgICAgICAgS2lyaWxsIFJlc2hrZSA8cmVzaGtla2lyaWxsQGdtYWlsLmNvbT4sCiAg ICAgICAgIEFsZXhhbmRlciBLb3JvdGtvdiA8YWVrb3JvdGtvdkBnbWFpbC5jb20+LAogICAg ICAgICBKaW0gTmFzYnkgPGpuYXNieUB1cGdyYWRlLmNvbT4sCiAgICAgICAgIFNhbWkgSW1z ZWloIDxzYW1pbXNlaWhAZ21haWwuY29tPiwKICAgICAgICAgS2FyaW5hIExpdHNrZXZpY2gg PGxpdHNrZXZpY2hrYXJpbmFAZ21haWwuY29tPiwKICAgICAgICAgQW5kcmV5IEJvcm9kaW4g PHg0bW1tQHlhbmRleC10ZWFtLnJ1PgotLS0KIGRvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNn bWwgICAgICAgICAgICAgICAgICB8ICAzMiArKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFw L3Zpc2liaWxpdHltYXAuYyAgICAgICB8ICAxMCArCiBzcmMvYmFja2VuZC9jYXRhbG9nL3N5 c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCAgIDQgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICAgMiArCiBzcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAgIDYgKwogc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAgIHwgIDEwICsKIHNyYy9pbmNsdWRlL3Bnc3Rh dC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxNyArLQogLi4uL2V4cGVjdGVkL3Zh Y3V1bS1leHRlbmRpbmctZnJlZXplLm91dCAgICAgIHwgMTg1ICsrKysrKysrKysrKysrKysr Kwogc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZSAgICAgICAgIHwgICAx ICsKIC4uLi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWZyZWV6ZS5zcGVjICAgICAgICB8IDEx NyArKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICAg ICAgICAgIHwgIDEyICstCiAxMSBmaWxlcyBjaGFuZ2VkLCAzOTEgaW5zZXJ0aW9ucygrKSwg NSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24v ZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1mcmVlemUub3V0CiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctZnJlZXplLnNw ZWMKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sIGIvZG9jL3Ny Yy9zZ21sL21vbml0b3Jpbmcuc2dtbAppbmRleCAwOGQ1YjgyNDU1Li4zNDY3YWJmNmQ4IDEw MDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCisrKyBiL2RvYy9zcmMv c2dtbC9tb25pdG9yaW5nLnNnbWwKQEAgLTQzNzcsNiArNDM3NywzOCBAQCBkZXNjcmlwdGlv biB8IFdhaXRpbmcgZm9yIGEgbmV3bHkgaW5pdGlhbGl6ZWQgV0FMIGZpbGUgdG8gcmVhY2gg ZHVyYWJsZSBzdG9yYWdlCiAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CiAK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnZp c2libGVfcGFnZV9tYXJrc19jbGVhcmVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHRp bWVzIHRoZSBhbGwtdmlzaWJsZSBtYXJrIGluIHRoZQorICAgICAgIDxsaW5rIGxpbmtlbmQ9 InN0b3JhZ2Utdm0iPnZpc2liaWxpdHkgbWFwPC9saW5rPiB3YXMgY2xlYXJlZCBmb3IKKyAg ICAgICBwYWdlcyBvZiB0aGlzIHRhYmxlLiAgVGhlIGFsbC12aXNpYmxlIG1hcmsgb2YgYSBo ZWFwIHBhZ2UgaXMKKyAgICAgICBjbGVhcmVkIHdoZW5ldmVyIGEgYmFja2VuZCBwcm9jZXNz IG1vZGlmaWVzIGEgcGFnZSB0aGF0IHdhcworICAgICAgIHByZXZpb3VzbHkgbWFya2VkIGFs bC12aXNpYmxlIGJ5IHZhY3V1bSBhY3Rpdml0eSAod2hldGhlciBtYW51YWwKKyAgICAgICA8 Y29tbWFuZD5WQUNVVU08L2NvbW1hbmQ+IG9yIGF1dG92YWN1dW0pLiAgVGhlIHBhZ2UgbXVz dCB0aGVuIGJlCisgICAgICAgcHJvY2Vzc2VkIGFnYWluIGJ5IHZhY3V1bSBvbiBhIHN1YnNl cXVlbnQgcnVuLiAgQSBoaWdoIHJhdGUgb2YKKyAgICAgICBjaGFuZ2UgaW4gdGhpcyBjb3Vu dGVyIG1lYW5zIHRoYXQgdmFjdXVtIGhhcyB0byByZXBlYXRlZGx5CisgICAgICAgcmUtcHJv Y2VzcyBwYWdlcyBvZiB0aGlzIHRhYmxlLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1 Y3RmaWVsZD5mcm96ZW5fcGFnZV9tYXJrc19jbGVhcmVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVt YmVyIG9mIHRpbWVzIHRoZSBhbGwtZnJvemVuIG1hcmsgaW4gdGhlCisgICAgICAgPGxpbmsg bGlua2VuZD0ic3RvcmFnZS12bSI+dmlzaWJpbGl0eSBtYXA8L2xpbms+IHdhcyBjbGVhcmVk IGZvcgorICAgICAgIHBhZ2VzIG9mIHRoaXMgdGFibGUuICBUaGUgYWxsLWZyb3plbiBtYXJr IG9mIGEgaGVhcCBwYWdlIGlzIGNsZWFyZWQKKyAgICAgICB3aGVuZXZlciBhIGJhY2tlbmQg cHJvY2VzcyBtb2RpZmllcyBhIHBhZ2UgdGhhdCB3YXMgcHJldmlvdXNseQorICAgICAgIG1h cmtlZCBhbGwtZnJvemVuIGJ5IHZhY3V1bSBhY3Rpdml0eSAobWFudWFsIDxjb21tYW5kPlZB Q1VVTTwvY29tbWFuZD4KKyAgICAgICBvciBhdXRvdmFjdXVtKS4gIFRoZSBwYWdlIG11c3Qg dGhlbiBiZSBwcm9jZXNzZWQgYWdhaW4gYnkgdmFjdXVtIG9uCisgICAgICAgdGhlIG5leHQg ZnJlZXplIHJ1biBmb3IgdGhpcyB0YWJsZS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKwogICAgICA8cm93PgogICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KICAgICAgICA8c3Ry dWN0ZmllbGQ+bGFzdF92YWN1dW08L3N0cnVjdGZpZWxkPiA8dHlwZT50aW1lc3RhbXAgd2l0 aCB0aW1lIHpvbmU8L3R5cGU+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVh cC92aXNpYmlsaXR5bWFwLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5 bWFwLmMKaW5kZXggNGZkNDcwNzAyYS4uZjA1NWVjMzgxOSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5jCisrKyBiL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9oZWFwL3Zpc2liaWxpdHltYXAuYwpAQCAtMTAyLDYgKzEwMiw3IEBACiAjaW5jbHVk ZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKICNpbmNsdWRlICJhY2Nlc3MveGxvZ3V0aWxzLmgi CiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5jbHVk ZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdyLmgiCiAj aW5jbHVkZSAic3RvcmFnZS9zbWdyLmgiCkBAIC0xNzMsNiArMTc0LDE1IEBAIHZpc2liaWxp dHltYXBfY2xlYXIoUmVsYXRpb24gcmVsLCBCbG9ja051bWJlciBoZWFwQmxrLCBCdWZmZXIg dm1idWYsIHVpbnQ4IGZsYWdzCiAKIAlpZiAobWFwW21hcEJ5dGVdICYgbWFzaykKIAl7CisJ CS8qCisJCSAqIFRyYWNrIGhvdyBvZnRlbiBhbGwtdmlzaWJsZSBvciBhbGwtZnJvemVuIGJp dHMgYXJlIGNsZWFyZWQgaW4gdGhlCisJCSAqIHZpc2liaWxpdHkgbWFwLgorCQkgKi8KKwkJ aWYgKG1hcFttYXBCeXRlXSAmICgoZmxhZ3MgJiBWSVNJQklMSVRZTUFQX0FMTF9WSVNJQkxF KSA8PCBtYXBPZmZzZXQpKQorCQkJcGdzdGF0X2NvdW50X3Zpc2libGVfcGFnZV9tYXJrc19j bGVhcmVkKHJlbCk7CisJCWlmIChtYXBbbWFwQnl0ZV0gJiAoKGZsYWdzICYgVklTSUJJTElU WU1BUF9BTExfRlJPWkVOKSA8PCBtYXBPZmZzZXQpKQorCQkJcGdzdGF0X2NvdW50X2Zyb3pl bl9wYWdlX21hcmtzX2NsZWFyZWQocmVsKTsKKwogCQltYXBbbWFwQnl0ZV0gJj0gfm1hc2s7 CiAKIAkJTWFya0J1ZmZlckRpcnR5KHZtYnVmKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVt X3ZpZXdzLnNxbAppbmRleCA4ZjEyOWJhZWM5Li5iNTcxMjhiYjEyIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC03NDcsNyArNzQ3LDkgQEAgQ1JFQVRFIFZJ RVcgcGdfc3RhdF9hbGxfdGFibGVzIEFTCiAgICAgICAgICAgICBwZ19zdGF0X2dldF90b3Rh bF9hdXRvdmFjdXVtX3RpbWUoQy5vaWQpIEFTIHRvdGFsX2F1dG92YWN1dW1fdGltZSwKICAg ICAgICAgICAgIHBnX3N0YXRfZ2V0X3RvdGFsX2FuYWx5emVfdGltZShDLm9pZCkgQVMgdG90 YWxfYW5hbHl6ZV90aW1lLAogICAgICAgICAgICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0b2Fu YWx5emVfdGltZShDLm9pZCkgQVMgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKLSAgICAgICAg ICAgIHBnX3N0YXRfZ2V0X3N0YXRfcmVzZXRfdGltZShDLm9pZCkgQVMgc3RhdHNfcmVzZXQK KyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3N0YXRfcmVzZXRfdGltZShDLm9pZCkgQVMgc3Rh dHNfcmVzZXQsCisgICAgICAgICAgICBwZ19zdGF0X2dldF92aXNpYmxlX3BhZ2VfbWFya3Nf Y2xlYXJlZChDLm9pZCkgQVMgdmlzaWJsZV9wYWdlX21hcmtzX2NsZWFyZWQsCisgICAgICAg ICAgICBwZ19zdGF0X2dldF9mcm96ZW5fcGFnZV9tYXJrc19jbGVhcmVkKEMub2lkKSBBUyBm cm96ZW5fcGFnZV9tYXJrc19jbGVhcmVkCiAgICAgRlJPTSBwZ19jbGFzcyBDIExFRlQgSk9J TgogICAgICAgICAgcGdfaW5kZXggSSBPTiBDLm9pZCA9IEkuaW5kcmVsaWQKICAgICAgICAg IExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgTiBPTiAoTi5vaWQgPSBDLnJlbG5hbWVzcGFjZSkK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlv bi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5k ZXggYjJjYTI4ZjgzYi4uOTJlMWY2MGEwOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTg4MSw2ICs4ODEsOCBAQCBwZ3N0YXRf cmVsYXRpb25fZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93 YWl0KQogCiAJdGFiZW50cnktPmJsb2Nrc19mZXRjaGVkICs9IGxzdGF0cy0+Y291bnRzLmJs b2Nrc19mZXRjaGVkOwogCXRhYmVudHJ5LT5ibG9ja3NfaGl0ICs9IGxzdGF0cy0+Y291bnRz LmJsb2Nrc19oaXQ7CisJdGFiZW50cnktPnZpc2libGVfcGFnZV9tYXJrc19jbGVhcmVkICs9 IGxzdGF0cy0+Y291bnRzLnZpc2libGVfcGFnZV9tYXJrc19jbGVhcmVkOworCXRhYmVudHJ5 LT5mcm96ZW5fcGFnZV9tYXJrc19jbGVhcmVkICs9IGxzdGF0cy0+Y291bnRzLmZyb3plbl9w YWdlX21hcmtzX2NsZWFyZWQ7CiAKIAkvKiBDbGFtcCBsaXZlX3R1cGxlcyBpbiBjYXNlIG9m IG5lZ2F0aXZlIGRlbHRhX2xpdmVfdHVwbGVzICovCiAJdGFiZW50cnktPmxpdmVfdHVwbGVz ID0gTWF4KHRhYmVudHJ5LT5saXZlX3R1cGxlcywgMCk7CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9w Z3N0YXRmdW5jcy5jCmluZGV4IDZmOWM5YzcyZGUuLjY0MDk5ODdkNjYgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0xMDgsNiArMTA4LDEyIEBAIFBHX1NUQVRf R0VUX1JFTEVOVFJZX0lOVDY0KHR1cGxlc191cGRhdGVkKQogLyogcGdfc3RhdF9nZXRfdmFj dXVtX2NvdW50ICovCiBQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh2YWN1dW1fY291bnQp CiAKKy8qIHBnX3N0YXRfZ2V0X3Zpc2libGVfcGFnZV9tYXJrc19jbGVhcmVkICovCitQR19T VEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh2aXNpYmxlX3BhZ2VfbWFya3NfY2xlYXJlZCkKKwor LyogcGdfc3RhdF9nZXRfZnJvemVuX3BhZ2VfbWFya3NfY2xlYXJlZCAqLworUEdfU1RBVF9H RVRfUkVMRU5UUllfSU5UNjQoZnJvemVuX3BhZ2VfbWFya3NfY2xlYXJlZCkKKwogI2RlZmlu ZSBQR19TVEFUX0dFVF9SRUxFTlRSWV9GTE9BVDgoc3RhdCkJCQkJCQlcCiBEYXR1bQkJCQkJ CQkJCQkJCQkJCVwKIENwcENvbmNhdChwZ19zdGF0X2dldF8sc3RhdCkoUEdfRlVOQ1RJT05f QVJHUykJCQkJCVwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IGJlMTU3YTVmYmUu LjI5MWIwMzk4NTkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI2OTMsNCAr MTI2OTMsMTQgQEAKICAgcHJvbmFtZSA9PiAnaGFzaG9pZDhleHRlbmRlZCcsIHByb3JldHR5 cGUgPT4gJ2ludDgnLAogICBwcm9hcmd0eXBlcyA9PiAnb2lkOCBpbnQ4JywgcHJvc3JjID0+ ICdoYXNob2lkOGV4dGVuZGVkJyB9LAogCit7IG9pZCA9PiAnODAwMicsCisgIGRlc2NyID0+ ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdGltZXMgdGhlIGFsbC12aXNpYmxlIG1hcmtzIGlu IHRoZSB2aXNpYmlsaXR5IG1hcCB3ZXJlIGNsZWFyZWQgZm9yIHBhZ2VzIG9mIHRoaXMgdGFi bGUnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF92aXNpYmxlX3BhZ2VfbWFya3NfY2xl YXJlZCcsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9y ZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9PiAn cGdfc3RhdF9nZXRfdmlzaWJsZV9wYWdlX21hcmtzX2NsZWFyZWQnIH0sCit7IG9pZCA9PiAn ODAwMycsCisgIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdGltZXMgdGhlIGFs bC1mcm96ZW4gbWFya3MgaW4gdGhlIHZpc2liaWxpdHkgbWFwIHdlcmUgY2xlYXJlZCBmb3Ig cGFnZXMgb2YgdGhpcyB0YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2Zyb3pl bl9wYWdlX21hcmtzX2NsZWFyZWQnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFs bGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQn LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2Zyb3plbl9wYWdlX21hcmtzX2NsZWFyZWQn IH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRl L3Bnc3RhdC5oCmluZGV4IGRmYTJlODM3NjMuLjdkYjM2Y2Y4YWQgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBAIC0xNjAs NiArMTYwLDggQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1RhYmxlQ291bnRzCiAKIAlQZ1N0 YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0 OworCVBnU3RhdF9Db3VudGVyIHZpc2libGVfcGFnZV9tYXJrc19jbGVhcmVkOworCVBnU3Rh dF9Db3VudGVyIGZyb3plbl9wYWdlX21hcmtzX2NsZWFyZWQ7CiB9IFBnU3RhdF9UYWJsZUNv dW50czsKIAogLyogLS0tLS0tLS0tLQpAQCAtMjE4LDcgKzIyMCw3IEBAIHR5cGVkZWYgc3Ry dWN0IFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKLSNkZWZpbmUg UEdTVEFUX0ZJTEVfRk9STUFUX0lECTB4MDFBNUJDQkMKKyNkZWZpbmUgUEdTVEFUX0ZJTEVf Rk9STUFUX0lECTB4MDFBNUJDQkQKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0FyY2hpdmVy U3RhdHMKIHsKQEAgLTQ2OSw2ICs0NzEsOCBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3Rh dFRhYkVudHJ5CiAKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKIAlQZ1N0YXRf Q291bnRlciBibG9ja3NfaGl0OworCVBnU3RhdF9Db3VudGVyIHZpc2libGVfcGFnZV9tYXJr c19jbGVhcmVkOworCVBnU3RhdF9Db3VudGVyIGZyb3plbl9wYWdlX21hcmtzX2NsZWFyZWQ7 CiAKIAlUaW1lc3RhbXBUeiBsYXN0X3ZhY3V1bV90aW1lOwkvKiB1c2VyIGluaXRpYXRlZCB2 YWN1dW0gKi8KIAlQZ1N0YXRfQ291bnRlciB2YWN1dW1fY291bnQ7CkBAIC03NDksNiArNzUz LDE3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWws CiAJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAogCQkJ KHJlbCktPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2hpdCsrOwkJCQlcCiAJfSB3aGls ZSAoMCkKKy8qIGNvdW50IHJldm9jYXRpb25zIG9mIGFsbC12aXNpYmxlIGFuZCBhbGwtZnJv emVuIG1hcmtzIGluIHZpc2liaWxpdHkgbWFwICovCisjZGVmaW5lIHBnc3RhdF9jb3VudF92 aXNpYmxlX3BhZ2VfbWFya3NfY2xlYXJlZChyZWwpCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJ CQkJCVwKKwkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlc CisJCQkocmVsKS0+cGdzdGF0X2luZm8tPmNvdW50cy52aXNpYmxlX3BhZ2VfbWFya3NfY2xl YXJlZCsrOwlcCisJfSB3aGlsZSAoMCkKKyNkZWZpbmUgcGdzdGF0X2NvdW50X2Zyb3plbl9w YWdlX21hcmtzX2NsZWFyZWQocmVsKQkJCQkJXAorCWRvIHsJCQkJCQkJCQkJCQkJCQlcCisJ CWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAorCQkJKHJl bCktPnBnc3RhdF9pbmZvLT5jb3VudHMuZnJvemVuX3BhZ2VfbWFya3NfY2xlYXJlZCsrOwlc CisJfSB3aGlsZSAoMCkKIAogZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfaW5zZXJ0 KFJlbGF0aW9uIHJlbCwgUGdTdGF0X0NvdW50ZXIgbik7CiBleHRlcm4gdm9pZCBwZ3N0YXRf Y291bnRfaGVhcF91cGRhdGUoUmVsYXRpb24gcmVsLCBib29sIGhvdCwgYm9vbCBuZXdwYWdl KTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0 ZW5kaW5nLWZyZWV6ZS5vdXQgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVt LWV4dGVuZGluZy1mcmVlemUub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLjk5NGE4ZGY1NmQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9pc29sYXRp b24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1mcmVlemUub3V0CkBAIC0wLDAgKzEsMTg1 IEBACitQYXJzZWQgdGVzdCBzcGVjIHdpdGggMiBzZXNzaW9ucworCitzdGFydGluZyBwZXJt dXRhdGlvbjogczJfdmFjdXVtX2ZyZWV6ZSBzMV9nZXRfc2V0X3ZtX2ZsYWdzX3N0YXRzIHMx X3VwZGF0ZV90YWJsZSBzMV9nZXRfY2xlYXJlZF92bV9mbGFnc19zdGF0cyBzMl92YWN1dW1f ZnJlZXplIHMxX2dldF9zZXRfdm1fZmxhZ3Nfc3RhdHMgczJfdmFjdXVtX2ZyZWV6ZSBzMV9z ZWxlY3RfZnJvbV9pbmRleCBzMl9kZWxldGVfZnJvbV90YWJsZSBzMV9nZXRfY2xlYXJlZF92 bV9mbGFnc19zdGF0cyBzMl92YWN1dW1fZnJlZXplIHMxX2dldF9zZXRfdm1fZmxhZ3Nfc3Rh dHMgczFfY29tbWl0IHMxX2dldF9jbGVhcmVkX3ZtX2ZsYWdzX3N0YXRzCitwZ19zdGF0X2Zv cmNlX25leHRfZmx1c2gKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAg ICAgICAgICAgICAgCisoMSByb3cpCisKK3N0ZXAgczJfdmFjdXVtX2ZyZWV6ZTogCisgICAg VkFDVVVNIEZSRUVaRSB2ZXN0YXQ7CisKK3N0ZXAgczFfZ2V0X3NldF92bV9mbGFnc19zdGF0 czogCisgICAgU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCisgICAgU0VM RUNUIGMucmVsYWxsZnJvemVuID4gZnJvemVuX2ZsYWdfY291bnQgYXMgcmVsYWxsZnJvemVu LCBjLnJlbGFsbHZpc2libGUgPiBhbGxfdmlzaWJpbGVfZmxhZ19jb3VudCBhcyByZWxhbGx2 aXNpYmxlCisgICAgICAgIEZST00gcGdfY2xhc3MgYywgc3RhdHNfc3RhdGUKKyAgICAgICAg V0hFUkUgYy5yZWxuYW1lID0gJ3Zlc3RhdCc7CisKKyAgICBVUERBVEUgc3RhdHNfc3RhdGUK KyAgICAgICAgU0VUIGZyb3plbl9mbGFnX2NvdW50ID0gYy5yZWxhbGxmcm96ZW4sCisgICAg ICAgICAgICBhbGxfdmlzaWJpbGVfZmxhZ19jb3VudCA9IGMucmVsYWxsdmlzaWJsZQorICAg ICAgICBGUk9NIHBnX2NsYXNzIGMKKyAgICAgICAgV0hFUkUgYy5yZWxuYW1lID0gJ3Zlc3Rh dCc7CisKK3BnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgICAgICAgICAgICAgICAgICAgICAgICAKKygxIHJvdykKKworcmVsYWxsZnJvemVu fHJlbGFsbHZpc2libGUKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0ICAgICAgICAg ICB8dCAgICAgICAgICAgIAorKDEgcm93KQorCitzdGVwIHMxX3VwZGF0ZV90YWJsZTogCisg ICAgVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHggKyAxMDAxIHdoZXJlIHggPj0gMjUwMDsKKyAg ICBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisKK3BnX3N0YXRfZm9yY2Vf bmV4dF9mbHVzaAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAg ICAgICAgICAKKygxIHJvdykKKworc3RlcCBzMV9nZXRfY2xlYXJlZF92bV9mbGFnc19zdGF0 czogCisgICAgU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCisgICAgU0VM RUNUIHYudmlzaWJsZV9wYWdlX21hcmtzX2NsZWFyZWQgPiBjbGVhcmVkX2FsbF92aXNpYmls ZV9mbGFnX2NvdW50IGFzIHZpc2libGVfcGFnZV9tYXJrc19jbGVhcmVkLAorICAgICAgICAg ICB2LmZyb3plbl9wYWdlX21hcmtzX2NsZWFyZWQgPiBjbGVhcmVkX2Zyb3plbl9mbGFnX2Nv dW50IGFzIGZyb3plbl9wYWdlX21hcmtzX2NsZWFyZWQKKyAgICAgICAgRlJPTSBwZ19zdGF0 X2FsbF90YWJsZXMgdiwgc3RhdHNfc3RhdGUKKyAgICAgICAgV0hFUkUgdi5yZWxuYW1lID0g J3Zlc3RhdCc7CisKKyAgICBVUERBVEUgc3RhdHNfc3RhdGUKKyAgICAgICAgU0VUIGNsZWFy ZWRfYWxsX3Zpc2liaWxlX2ZsYWdfY291bnQgPSB2LnZpc2libGVfcGFnZV9tYXJrc19jbGVh cmVkLAorICAgICAgICAgICAgY2xlYXJlZF9mcm96ZW5fZmxhZ19jb3VudCA9IHYuZnJvemVu X3BhZ2VfbWFya3NfY2xlYXJlZAorICAgICAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcyB2 CisgICAgICAgIFdIRVJFIHYucmVsbmFtZSA9ICd2ZXN0YXQnOworCitwZ19zdGF0X2ZvcmNl X25leHRfZmx1c2gKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAg ICAgICAgICAgCisoMSByb3cpCisKK3Zpc2libGVfcGFnZV9tYXJrc19jbGVhcmVkfGZyb3pl bl9wYWdlX21hcmtzX2NsZWFyZWQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KK3QgICAgICAgICAgICAgICAgICAgICAgICAgfHQgICAg ICAgICAgICAgICAgICAgICAgICAKKygxIHJvdykKKworc3RlcCBzMl92YWN1dW1fZnJlZXpl OiAKKyAgICBWQUNVVU0gRlJFRVpFIHZlc3RhdDsKKworc3RlcCBzMV9nZXRfc2V0X3ZtX2Zs YWdzX3N0YXRzOiAKKyAgICBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisK KyAgICBTRUxFQ1QgYy5yZWxhbGxmcm96ZW4gPiBmcm96ZW5fZmxhZ19jb3VudCBhcyByZWxh bGxmcm96ZW4sIGMucmVsYWxsdmlzaWJsZSA+IGFsbF92aXNpYmlsZV9mbGFnX2NvdW50IGFz IHJlbGFsbHZpc2libGUKKyAgICAgICAgRlJPTSBwZ19jbGFzcyBjLCBzdGF0c19zdGF0ZQor ICAgICAgICBXSEVSRSBjLnJlbG5hbWUgPSAndmVzdGF0JzsKKworICAgIFVQREFURSBzdGF0 c19zdGF0ZQorICAgICAgICBTRVQgZnJvemVuX2ZsYWdfY291bnQgPSBjLnJlbGFsbGZyb3pl biwKKyAgICAgICAgICAgIGFsbF92aXNpYmlsZV9mbGFnX2NvdW50ID0gYy5yZWxhbGx2aXNp YmxlCisgICAgICAgIEZST00gcGdfY2xhc3MgYworICAgICAgICBXSEVSRSBjLnJlbG5hbWUg PSAndmVzdGF0JzsKKworcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICAgIAorKDEgcm93KQorCityZWxh bGxmcm96ZW58cmVsYWxsdmlzaWJsZQorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Qg ICAgICAgICAgIHx0ICAgICAgICAgICAgCisoMSByb3cpCisKK3N0ZXAgczJfdmFjdXVtX2Zy ZWV6ZTogCisgICAgVkFDVVVNIEZSRUVaRSB2ZXN0YXQ7CisKK3N0ZXAgczFfc2VsZWN0X2Zy b21faW5kZXg6IAorICAgIEJFR0lOOworICAgIFNFTEVDVCBjb3VudCh4KSBGUk9NIHZlc3Rh dCBXSEVSRSB4ID4gMjAwMDsKKworY291bnQKKy0tLS0tCisgMzAwMAorKDEgcm93KQorCitz dGVwIHMyX2RlbGV0ZV9mcm9tX3RhYmxlOiAKKyAgICBERUxFVEUgRlJPTSB2ZXN0YXQgV0hF UkUgeCA+IDQ5MzA7CisKK3N0ZXAgczFfZ2V0X2NsZWFyZWRfdm1fZmxhZ3Nfc3RhdHM6IAor ICAgIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKworICAgIFNFTEVDVCB2 LnZpc2libGVfcGFnZV9tYXJrc19jbGVhcmVkID4gY2xlYXJlZF9hbGxfdmlzaWJpbGVfZmxh Z19jb3VudCBhcyB2aXNpYmxlX3BhZ2VfbWFya3NfY2xlYXJlZCwKKyAgICAgICAgICAgdi5m cm96ZW5fcGFnZV9tYXJrc19jbGVhcmVkID4gY2xlYXJlZF9mcm96ZW5fZmxhZ19jb3VudCBh cyBmcm96ZW5fcGFnZV9tYXJrc19jbGVhcmVkCisgICAgICAgIEZST00gcGdfc3RhdF9hbGxf dGFibGVzIHYsIHN0YXRzX3N0YXRlCisgICAgICAgIFdIRVJFIHYucmVsbmFtZSA9ICd2ZXN0 YXQnOworCisgICAgVVBEQVRFIHN0YXRzX3N0YXRlCisgICAgICAgIFNFVCBjbGVhcmVkX2Fs bF92aXNpYmlsZV9mbGFnX2NvdW50ID0gdi52aXNpYmxlX3BhZ2VfbWFya3NfY2xlYXJlZCwK KyAgICAgICAgICAgIGNsZWFyZWRfZnJvemVuX2ZsYWdfY291bnQgPSB2LmZyb3plbl9wYWdl X21hcmtzX2NsZWFyZWQKKyAgICAgICAgRlJPTSBwZ19zdGF0X2FsbF90YWJsZXMgdgorICAg ICAgICBXSEVSRSB2LnJlbG5hbWUgPSAndmVzdGF0JzsKKworcGdfc3RhdF9mb3JjZV9uZXh0 X2ZsdXNoCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAg ICAgIAorKDEgcm93KQorCit2aXNpYmxlX3BhZ2VfbWFya3NfY2xlYXJlZHxmcm96ZW5fcGFn ZV9tYXJrc19jbGVhcmVkCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCitmICAgICAgICAgICAgICAgICAgICAgICAgIHxmICAgICAgICAg ICAgICAgICAgICAgICAgCisoMSByb3cpCisKK3N0ZXAgczJfdmFjdXVtX2ZyZWV6ZTogCisg ICAgVkFDVVVNIEZSRUVaRSB2ZXN0YXQ7CisKK3N0ZXAgczFfZ2V0X3NldF92bV9mbGFnc19z dGF0czogCisgICAgU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCisgICAg U0VMRUNUIGMucmVsYWxsZnJvemVuID4gZnJvemVuX2ZsYWdfY291bnQgYXMgcmVsYWxsZnJv emVuLCBjLnJlbGFsbHZpc2libGUgPiBhbGxfdmlzaWJpbGVfZmxhZ19jb3VudCBhcyByZWxh bGx2aXNpYmxlCisgICAgICAgIEZST00gcGdfY2xhc3MgYywgc3RhdHNfc3RhdGUKKyAgICAg ICAgV0hFUkUgYy5yZWxuYW1lID0gJ3Zlc3RhdCc7CisKKyAgICBVUERBVEUgc3RhdHNfc3Rh dGUKKyAgICAgICAgU0VUIGZyb3plbl9mbGFnX2NvdW50ID0gYy5yZWxhbGxmcm96ZW4sCisg ICAgICAgICAgICBhbGxfdmlzaWJpbGVfZmxhZ19jb3VudCA9IGMucmVsYWxsdmlzaWJsZQor ICAgICAgICBGUk9NIHBnX2NsYXNzIGMKKyAgICAgICAgV0hFUkUgYy5yZWxuYW1lID0gJ3Zl c3RhdCc7CisKK3BnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgICAgICAgICAgICAgICAgICAgICAgICAKKygxIHJvdykKKworcmVsYWxsZnJv emVufHJlbGFsbHZpc2libGUKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCitmICAgICAg ICAgICB8ZiAgICAgICAgICAgIAorKDEgcm93KQorCitzdGVwIHMxX2NvbW1pdDogCisgICAg Q09NTUlUOworCitzdGVwIHMxX2dldF9jbGVhcmVkX3ZtX2ZsYWdzX3N0YXRzOiAKKyAgICBT RUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisKKyAgICBTRUxFQ1Qgdi52aXNp YmxlX3BhZ2VfbWFya3NfY2xlYXJlZCA+IGNsZWFyZWRfYWxsX3Zpc2liaWxlX2ZsYWdfY291 bnQgYXMgdmlzaWJsZV9wYWdlX21hcmtzX2NsZWFyZWQsCisgICAgICAgICAgIHYuZnJvemVu X3BhZ2VfbWFya3NfY2xlYXJlZCA+IGNsZWFyZWRfZnJvemVuX2ZsYWdfY291bnQgYXMgZnJv emVuX3BhZ2VfbWFya3NfY2xlYXJlZAorICAgICAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxl cyB2LCBzdGF0c19zdGF0ZQorICAgICAgICBXSEVSRSB2LnJlbG5hbWUgPSAndmVzdGF0JzsK KworICAgIFVQREFURSBzdGF0c19zdGF0ZQorICAgICAgICBTRVQgY2xlYXJlZF9hbGxfdmlz aWJpbGVfZmxhZ19jb3VudCA9IHYudmlzaWJsZV9wYWdlX21hcmtzX2NsZWFyZWQsCisgICAg ICAgICAgICBjbGVhcmVkX2Zyb3plbl9mbGFnX2NvdW50ID0gdi5mcm96ZW5fcGFnZV9tYXJr c19jbGVhcmVkCisgICAgICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzIHYKKyAgICAgICAg V0hFUkUgdi5yZWxuYW1lID0gJ3Zlc3RhdCc7CisKK3BnX3N0YXRfZm9yY2VfbmV4dF9mbHVz aAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAgICAgICAgICAK KygxIHJvdykKKwordmlzaWJsZV9wYWdlX21hcmtzX2NsZWFyZWR8ZnJvemVuX3BhZ2VfbWFy a3NfY2xlYXJlZAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQordCAgICAgICAgICAgICAgICAgICAgICAgICB8dCAgICAgICAgICAgICAg ICAgICAgICAgIAorKDEgcm93KQorCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24v aXNvbGF0aW9uX3NjaGVkdWxlIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hl ZHVsZQppbmRleCAxNWMzM2ZhZDRjLi5iNDg3NThhMjExIDEwMDY0NAotLS0gYS9zcmMvdGVz dC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlv bi9pc29sYXRpb25fc2NoZWR1bGUKQEAgLTEyNywzICsxMjcsNCBAQCB0ZXN0OiBtYXR2aWV3 LXdyaXRlLXNrZXcKIHRlc3Q6IGxvY2stbm93YWl0CiB0ZXN0OiBmb3ItcG9ydGlvbi1vZgog dGVzdDogZGRsLWRlcGVuZGVuY3ktbG9ja2luZwordGVzdDogdmFjdXVtLWV4dGVuZGluZy1m cmVlemUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0 ZW5kaW5nLWZyZWV6ZS5zcGVjIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1l eHRlbmRpbmctZnJlZXplLnNwZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMC4uMTdjMjA0ZTIzMgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlv bi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWZyZWV6ZS5zcGVjCkBAIC0wLDAgKzEsMTE3IEBA CisjIEluIHNob3J0LCB0aGlzIHRlc3QgdmFsaWRhdGVzIHRoZSBjb3JyZWN0bmVzcyBhbmQg c3RhYmlsaXR5IG9mIGN1bXVsYXRpdmUKKyMgdmFjdXVtIHN0YXRpc3RpY3MgYWNjb3VudGlu ZyBhcm91bmQgZnJlZXppbmcsIHZpc2liaWxpdHksIGFuZCByZXZpc2lvbgorIyB0cmFja2lu ZyBhY3Jvc3MgVkFDVVVNIGFuZCBiYWNrZW5kIG9wZXJhdGlvbnMuCisjIEluIGFkZGl0aW9u LCB0aGUgdGVzdCBwcm92aWRlcyBhIHNjZW5hcmlvIHdoZXJlIG9uZSBwcm9jZXNzIGhvbGRz IGEKKyMgdHJhbnNhY3Rpb24gb3BlbiB3aGlsZSBhbm90aGVyIHByb2Nlc3MgZGVsZXRlcyB0 dXBsZXMuIFdlIGV4cGVjdCB0aGF0CisjIGEgYmFja2VuZCBjbGVhcnMgdGhlIGFsbC1mcm96 ZW4gYW5kIGFsbC12aXNpYmxlIGZsYWdzLCB3aGljaCB3ZXJlIHNldAorIyBieSBWQUNVVU0g ZWFybGllciwgb25seSBhZnRlciB0aGUgY29tbWl0dGluZyB0cmFuc2FjdGlvbiBtYWtlcyB0 aGUKKyMgZGVsZXRpb25zIHZpc2libGUuCisKK3NldHVwCit7CisgICAgQ1JFQVRFIFRBQkxF IHZlc3RhdCAoeCBpbnQsIHkgaW50KQorICAgICAgICBXSVRIIChhdXRvdmFjdXVtX2VuYWJs ZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSA3MCk7CisKKyAgICBJTlNFUlQgSU5UTyB2ZXN0YXQK KyAgICAgICAgU0VMRUNUIGksIGkgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgNTAwMCkgQVMg ZyhpKTsKKworICAgIENSRUFURSBJTkRFWCB2ZXN0YXRfaWR4IE9OIHZlc3RhdCAoeCk7CisK KyAgICBDUkVBVEUgVEFCTEUgc3RhdHNfc3RhdGUgKGZyb3plbl9mbGFnX2NvdW50IGludCwg YWxsX3Zpc2liaWxlX2ZsYWdfY291bnQgaW50LAorICAgICAgICAgICAgICAgICAgICAgICAg Y2xlYXJlZF9mcm96ZW5fZmxhZ19jb3VudCBpbnQsIGNsZWFyZWRfYWxsX3Zpc2liaWxlX2Zs YWdfY291bnQgaW50KTsKKyAgICBJTlNFUlQgSU5UTyBzdGF0c19zdGF0ZSBWQUxVRVMgKDAs MCwwLDApOworICAgIEFOQUxZWkUgdmVzdGF0OworCisgICAgLS0gRW5zdXJlIHN0YXRzIGFy ZSBmbHVzaGVkIGJlZm9yZSBzdGFydGluZyB0aGUgc2NlbmFyaW8KKyAgICBTRUxFQ1QgcGdf c3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7Cit9CisKK3RlYXJkb3duCit7CisgICAgRFJPUCBU QUJMRSBJRiBFWElTVFMgdmVzdGF0OworICAgIFJFU0VUIHZhY3V1bV9mcmVlemVfbWluX2Fn ZTsKKyAgICBSRVNFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZTsKKworfQorCitzZXNzaW9u IHMxCisKK3N0ZXAgczFfZ2V0X3NldF92bV9mbGFnc19zdGF0cworeworICAgIFNFTEVDVCBw Z19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKworICAgIFNFTEVDVCBjLnJlbGFsbGZyb3pl biA+IGZyb3plbl9mbGFnX2NvdW50IGFzIHJlbGFsbGZyb3plbiwgYy5yZWxhbGx2aXNpYmxl ID4gYWxsX3Zpc2liaWxlX2ZsYWdfY291bnQgYXMgcmVsYWxsdmlzaWJsZQorICAgICAgICBG Uk9NIHBnX2NsYXNzIGMsIHN0YXRzX3N0YXRlCisgICAgICAgIFdIRVJFIGMucmVsbmFtZSA9 ICd2ZXN0YXQnOworCisgICAgVVBEQVRFIHN0YXRzX3N0YXRlCisgICAgICAgIFNFVCBmcm96 ZW5fZmxhZ19jb3VudCA9IGMucmVsYWxsZnJvemVuLAorICAgICAgICAgICAgYWxsX3Zpc2li aWxlX2ZsYWdfY291bnQgPSBjLnJlbGFsbHZpc2libGUKKyAgICAgICAgRlJPTSBwZ19jbGFz cyBjCisgICAgICAgIFdIRVJFIGMucmVsbmFtZSA9ICd2ZXN0YXQnOworfQorCitzdGVwIHMx X2dldF9jbGVhcmVkX3ZtX2ZsYWdzX3N0YXRzCit7CisgICAgU0VMRUNUIHBnX3N0YXRfZm9y Y2VfbmV4dF9mbHVzaCgpOworCisgICAgU0VMRUNUIHYudmlzaWJsZV9wYWdlX21hcmtzX2Ns ZWFyZWQgPiBjbGVhcmVkX2FsbF92aXNpYmlsZV9mbGFnX2NvdW50IGFzIHZpc2libGVfcGFn ZV9tYXJrc19jbGVhcmVkLAorICAgICAgICAgICB2LmZyb3plbl9wYWdlX21hcmtzX2NsZWFy ZWQgPiBjbGVhcmVkX2Zyb3plbl9mbGFnX2NvdW50IGFzIGZyb3plbl9wYWdlX21hcmtzX2Ns ZWFyZWQKKyAgICAgICAgRlJPTSBwZ19zdGF0X2FsbF90YWJsZXMgdiwgc3RhdHNfc3RhdGUK KyAgICAgICAgV0hFUkUgdi5yZWxuYW1lID0gJ3Zlc3RhdCc7CisKKyAgICBVUERBVEUgc3Rh dHNfc3RhdGUKKyAgICAgICAgU0VUIGNsZWFyZWRfYWxsX3Zpc2liaWxlX2ZsYWdfY291bnQg PSB2LnZpc2libGVfcGFnZV9tYXJrc19jbGVhcmVkLAorICAgICAgICAgICAgY2xlYXJlZF9m cm96ZW5fZmxhZ19jb3VudCA9IHYuZnJvemVuX3BhZ2VfbWFya3NfY2xlYXJlZAorICAgICAg ICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcyB2CisgICAgICAgIFdIRVJFIHYucmVsbmFtZSA9 ICd2ZXN0YXQnOworfQorCitzdGVwIHMxX3NlbGVjdF9mcm9tX2luZGV4Cit7CisgICAgQkVH SU47CisgICAgU0VMRUNUIGNvdW50KHgpIEZST00gdmVzdGF0IFdIRVJFIHggPiAyMDAwOwor fQorCitzdGVwIHMxX2NvbW1pdAoreworICAgIENPTU1JVDsKK30KKworc2Vzc2lvbiBzMgor c2V0dXAKK3sKKyAgICAtLSBDb25maWd1cmUgYWdncmVzc2l2ZSBmcmVlemluZyB2YWN1dW0g YmVoYXZpb3IKKyAgICBTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKKyAgICBTRVQg dmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOworfQorc3RlcCBzMl9kZWxldGVfZnJvbV90 YWJsZQoreworICAgIERFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ID4gNDkzMDsKK30KK3N0 ZXAgczJfdmFjdXVtX2ZyZWV6ZQoreworICAgIFZBQ1VVTSBGUkVFWkUgdmVzdGF0OworfQor CitzdGVwIHMxX3VwZGF0ZV90YWJsZQoreworICAgIFVQREFURSB2ZXN0YXQgU0VUIHggPSB4 ICsgMTAwMSB3aGVyZSB4ID49IDI1MDA7CisgICAgU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4 dF9mbHVzaCgpOworfQorCitwZXJtdXRhdGlvbgorICAgIHMyX3ZhY3V1bV9mcmVlemUKKyAg ICBzMV9nZXRfc2V0X3ZtX2ZsYWdzX3N0YXRzCisgICAgczFfdXBkYXRlX3RhYmxlCisgICAg czFfZ2V0X2NsZWFyZWRfdm1fZmxhZ3Nfc3RhdHMKKyAgICBzMl92YWN1dW1fZnJlZXplCisg ICAgczFfZ2V0X3NldF92bV9mbGFnc19zdGF0cworICAgIHMyX3ZhY3V1bV9mcmVlemUKKyAg ICBzMV9zZWxlY3RfZnJvbV9pbmRleAorICAgIHMyX2RlbGV0ZV9mcm9tX3RhYmxlCisgICAg czFfZ2V0X2NsZWFyZWRfdm1fZmxhZ3Nfc3RhdHMKKyAgICBzMl92YWN1dW1fZnJlZXplCisg ICAgczFfZ2V0X3NldF92bV9mbGFnc19zdGF0cworICAgIHMxX2NvbW1pdAorICAgIHMxX2dl dF9jbGVhcmVkX3ZtX2ZsYWdzX3N0YXRzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAppbmRleCBhNjVhNWJmMGM0Li4wOTZl NGY3NjNmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMTg0Niw3 ICsxODQ2LDkgQEAgcGdfc3RhdF9hbGxfdGFibGVzfCBTRUxFQ1QgYy5vaWQgQVMgcmVsaWQs CiAgICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0b3ZhY3V1bV90aW1lKGMub2lkKSBBUyB0b3Rh bF9hdXRvdmFjdXVtX3RpbWUsCiAgICAgcGdfc3RhdF9nZXRfdG90YWxfYW5hbHl6ZV90aW1l KGMub2lkKSBBUyB0b3RhbF9hbmFseXplX3RpbWUsCiAgICAgcGdfc3RhdF9nZXRfdG90YWxf YXV0b2FuYWx5emVfdGltZShjLm9pZCkgQVMgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKLSAg ICBwZ19zdGF0X2dldF9zdGF0X3Jlc2V0X3RpbWUoYy5vaWQpIEFTIHN0YXRzX3Jlc2V0Cisg ICAgcGdfc3RhdF9nZXRfc3RhdF9yZXNldF90aW1lKGMub2lkKSBBUyBzdGF0c19yZXNldCwK KyAgICBwZ19zdGF0X2dldF92aXNpYmxlX3BhZ2VfbWFya3NfY2xlYXJlZChjLm9pZCkgQVMg dmlzaWJsZV9wYWdlX21hcmtzX2NsZWFyZWQsCisgICAgcGdfc3RhdF9nZXRfZnJvemVuX3Bh Z2VfbWFya3NfY2xlYXJlZChjLm9pZCkgQVMgZnJvemVuX3BhZ2VfbWFya3NfY2xlYXJlZAog ICAgRlJPTSAoKHBnX2NsYXNzIGMKICAgICAgTEVGVCBKT0lOIHBnX2luZGV4IGkgT04gKChj Lm9pZCA9IGkuaW5kcmVsaWQpKSkKICAgICAgTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBuIE9O ICgobi5vaWQgPSBjLnJlbG5hbWVzcGFjZSkpKQpAQCAtMjM1Nyw3ICsyMzU5LDkgQEAgcGdf c3RhdF9zeXNfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgdG90YWxfYXV0b3ZhY3V1bV90 aW1lLAogICAgIHRvdGFsX2FuYWx5emVfdGltZSwKICAgICB0b3RhbF9hdXRvYW5hbHl6ZV90 aW1lLAotICAgIHN0YXRzX3Jlc2V0CisgICAgc3RhdHNfcmVzZXQsCisgICAgdmlzaWJsZV9w YWdlX21hcmtzX2NsZWFyZWQsCisgICAgZnJvemVuX3BhZ2VfbWFya3NfY2xlYXJlZAogICAg RlJPTSBwZ19zdGF0X2FsbF90YWJsZXMKICAgV0hFUkUgKChzY2hlbWFuYW1lID0gQU5ZIChB UlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpuYW1lXSkp IE9SIChzY2hlbWFuYW1lIH4gJ15wZ190b2FzdCc6OnRleHQpKTsKIHBnX3N0YXRfdXNlcl9m dW5jdGlvbnN8IFNFTEVDVCBwLm9pZCBBUyBmdW5jaWQsCkBAIC0yNDEyLDcgKzI0MTYsOSBA QCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgdG90YWxfYXV0b3Zh Y3V1bV90aW1lLAogICAgIHRvdGFsX2FuYWx5emVfdGltZSwKICAgICB0b3RhbF9hdXRvYW5h bHl6ZV90aW1lLAotICAgIHN0YXRzX3Jlc2V0CisgICAgc3RhdHNfcmVzZXQsCisgICAgdmlz aWJsZV9wYWdlX21hcmtzX2NsZWFyZWQsCisgICAgZnJvemVuX3BhZ2VfbWFya3NfY2xlYXJl ZAogICAgRlJPTSBwZ19zdGF0X2FsbF90YWJsZXMKICAgV0hFUkUgKChzY2hlbWFuYW1lIDw+ IEFMTCAoQVJSQVlbJ3BnX2NhdGFsb2cnOjpuYW1lLCAnaW5mb3JtYXRpb25fc2NoZW1hJzo6 bmFtZV0pKSBBTkQgKHNjaGVtYW5hbWUgIX4gJ15wZ190b2FzdCc6OnRleHQpKTsKIHBnX3N0 YXRfd2FsfCBTRUxFQ1Qgd2FsX3JlY29yZHMsCi0tIAoyLjM5LjUgKEFwcGxlIEdpdC0xNTQp Cgo= --------------iWaNFCp60Ha1jovLeWGuqq8d Content-Type: text/plain; charset=UTF-8; name="0002-Extended-vacuum-statistics-core-heap-and-tuple-metri.patch" Content-Disposition: attachment; filename*0="0002-Extended-vacuum-statistics-core-heap-and-tuple-metri.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBkYjYwZTI4OGJlYTM1Y2E0YWUxNDBiZTM3NDY2ZDc4OThlNWQ1OTIwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YWxlbmthLnJ5YmFraW5h QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyNiAxMDowNjo1MyArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMi85XSBFeHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljczogY29yZSBoZWFw IGFuZCB0dXBsZSBtZXRyaWNzCiBmb3IgdGFibGVzIGFuZCBpbmRleGVzCgpFeHBvc2UgdGhl IGNvcmUgcGVyLXRhYmxlIGhlYXAgYW5kIHR1cGxlIG1ldHJpY3Mgb2YgdGhlIGxhc3QgVkFD VVVNIHRocm91Z2gKdGhlIG5ldyBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdmlldyBhbmQgcGdf c3RhdF9nZXRfdmFjdXVtX3RhYmxlcygpIGZ1bmN0aW9uLAp3aXRoIGRvY3VtZW50YXRpb24g YW5kIHJlZ3Jlc3Npb24gY292ZXJhZ2U6CgogIHBhZ2VzX3NjYW5uZWQgICBoZWFwIHBhZ2Vz IGV4YW1pbmVkIChub3Qgc2tpcHBlZCB2aWEgdGhlIFZNKQogIHBhZ2VzX3JlbW92ZWQgICBo ZWFwIHBhZ2VzIGJ5IHdoaWNoIHN0b3JhZ2Ugd2FzIHRydW5jYXRlZAogIHR1cGxlc19kZWxl dGVkICBkZWFkIHR1cGxlcyByZW1vdmVkIGJ5IHRoZSB2YWN1dW0KICB0dXBsZXNfZnJvemVu ICAgdHVwbGVzIGZyb3plbiBieSB0aGUgdmFjdXVtCgpUaGUgbWF0Y2hpbmcgcGVyLWluZGV4 IGNvcmUgbWV0cmljcyBhcmUgZXhwb3NlZCBhdCB0aGUgc2FtZSB0aW1lIHRocm91Z2ggdGhl Cm5ldyBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZpZXcgYW5kIHBnX3N0YXRfZ2V0X3ZhY3V1 bV9pbmRleGVzKCkgZnVuY3Rpb246CgogIHBhZ2VzX2RlbGV0ZWQgICBpbmRleCBwYWdlcyBk ZWxldGVkIChtYWRlIHJldXNhYmxlKSBieSB0aGUgdmFjdXVtCiAgdHVwbGVzX2RlbGV0ZWQg IGluZGV4IGVudHJpZXMgcmVtb3ZlZCBieSB0aGUgdmFjdXVtCgpUaGlzIGZpcnN0IGNvbW1p dCBhbHNvIGFkZHMgdGhlIGluZnJhc3RydWN0dXJlIHRoZSByZXN0IG9mIHRoZSBzZXJpZXMg YnVpbGRzCm9uLiAgRXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3MgYXJlIHN0b3JlZCBpbiB0 aGUgY3VtdWxhdGl2ZSBzdGF0aXN0aWNzIHN5c3RlbQp1bmRlciBhIGRlZGljYXRlZCBzdGF0 cyBraW5kLCBQR1NUQVRfS0lORF9WQUNVVU1fUkVMQVRJT04sIGtlcHQgc2VwYXJhdGUgZnJv bQp0aGUgcmVndWxhciByZWxhdGlvbiBzdGF0aXN0aWNzLiAgVGhleSBhcmUgY29sbGVjdGVk IGR1cmluZyB2YWN1dW0gYW5kCmFjY3VtdWxhdGVkIHBlciByZWxhdGlvbiwgb25seSB3aGls ZSB0aGUgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgR1VDIGlzCmVuYWJsZWQuICBJbmRleGVz IGFyZSB0cmFja2VkIHVuZGVyIHRoZSBzYW1lIHN0YXRzIGtpbmQsIHdpdGggdGhlaXIgdG90 YWxzCnJlcG9ydGVkIG9uY2UgcGVyIGluZGV4IGF0IHRoZSBlbmQgb2YgdGhlIHZhY3V1bS4K LS0tCiBkb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwgICAgICAgICAgICAgICAgICAgICAgfCAg MjAgKysKIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCAgICAgICAgICAgICAgICB8 IDE4MiArKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1 bWxhenkuYyAgICAgICAgICB8ICA3OCArKysrKysrKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9o ZWFwLmMgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL2NhdGFsb2cv aW5kZXguYyAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9jYXRhbG9n L3N5c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCAgMzQgKysrKwogc3JjL2JhY2tlbmQvY29t bWFuZHMvdmFjdXVtcGFyYWxsZWwuYyAgICAgICAgIHwgIDI3ICsrKwogc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvTWFrZWZpbGUgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L21lc29uLmJ1aWxkICAgICAgICB8ICAgMSArCiBzcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgMTUgKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICAgNiArCiBzcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfdmFjdXVtLmMgICAgfCAxMjkgKysrKysrKysr KysrKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwg IDgzICsrKysrKysrCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRh dCAgICAgfCAgIDYgKwogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYu c2FtcGxlIHwgICAxICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAg ICAgICAgICB8ICAxOSArKwogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDgwICsrKysrKystCiBzcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfaW50 ZXJuYWwuaCAgICAgICAgICAgfCAgIDggKwogc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2tp bmQuaCAgICAgICAgICAgICAgIHwgICAzICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dCAgICAgICAgICAgfCAgMjQgKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3ZhY3V1bV9zdGF0cy5vdXQgICAgfCAxMTQgKysrKysrKysrKysKIHNyYy90ZXN0L3Jl Z3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgMyArCiBzcmMvdGVzdC9y ZWdyZXNzL3NxbC92YWN1dW1fc3RhdHMuc3FsICAgICAgICAgfCAgNzAgKysrKysrKwogMjMg ZmlsZXMgY2hhbmdlZCwgOTAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1 bS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fc3RhdHMub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX3N0YXRzLnNxbAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9jb25maWcuc2dt bCBiL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbAppbmRleCBmYTU2NmM5ZTU1Li41N2Q3ZWNm ZDZmIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwKKysrIGIvZG9jL3Ny Yy9zZ21sL2NvbmZpZy5zZ21sCkBAIC05MTEwLDYgKzkxMTAsMjYgQEAgQ09QWSBwb3N0Z3Jl c19sb2cgRlJPTSAnL2Z1bGwvcGF0aC90by9sb2dmaWxlLmNzdicgV0lUSCBjc3Y7CiAgICAg ICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgICA8dmFybGlzdGVu dHJ5IGlkPSJndWMtdHJhY2stdmFjdXVtLXN0YXRpc3RpY3MiIHhyZWZsYWJlbD0idHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MiPgorICAgICAgPHRlcm0+PHZhcm5hbWU+dHJhY2tfdmFjdXVt X3N0YXRpc3RpY3M8L3Zhcm5hbWU+ICg8dHlwZT5ib29sZWFuPC90eXBlPikKKyAgICAgIDxp bmRleHRlcm0+CisgICAgICAgPHByaW1hcnk+PHZhcm5hbWU+dHJhY2tfdmFjdXVtX3N0YXRp c3RpY3M8L3Zhcm5hbWU+IGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyPC9wcmltYXJ5PgorICAg ICAgPC9pbmRleHRlcm0+CisgICAgICA8L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAg ICAgPHBhcmE+CisgICAgICAgIEVuYWJsZXMgY29sbGVjdGlvbiBvZiBleHRlbmRlZCBzdGF0 aXN0aWNzIGFib3V0IHRoZSB3b3JrIHBlcmZvcm1lZCBieQorICAgICAgICA8Y29tbWFuZD5W QUNVVU08L2NvbW1hbmQ+LCByZXBvcnRlZCBpbiB0aGUKKyAgICAgICAgPHN0cnVjdG5hbWU+ cGdfc3RhdF92YWN1dW1fdGFibGVzPC9zdHJ1Y3RuYW1lPiwKKyAgICAgICAgPHN0cnVjdG5h bWU+cGdfc3RhdF92YWN1dW1faW5kZXhlczwvc3RydWN0bmFtZT4gYW5kCisgICAgICAgIDxz dHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPiB2aWV3cy4K KyAgICAgICAgVGhpcyBwYXJhbWV0ZXIgaXMgb2ZmIGJ5IGRlZmF1bHQuCisgICAgICAgIE9u bHkgc3VwZXJ1c2VycyBhbmQgdXNlcnMgd2l0aCB0aGUgYXBwcm9wcmlhdGUgPGxpdGVyYWw+ U0VUPC9saXRlcmFsPgorICAgICAgICBwcml2aWxlZ2UgY2FuIGNoYW5nZSB0aGlzIHNldHRp bmcuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0 ZW50cnk+CisKICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iZ3VjLXRyYWNrLWZ1bmN0aW9ucyIg eHJlZmxhYmVsPSJ0cmFja19mdW5jdGlvbnMiPgogICAgICAgPHRlcm0+PHZhcm5hbWU+dHJh Y2tfZnVuY3Rpb25zPC92YXJuYW1lPiAoPHR5cGU+ZW51bTwvdHlwZT4pCiAgICAgICA8aW5k ZXh0ZXJtPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sIGIv ZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCmluZGV4IDJlYmVjNjkyOGQuLjE5NTc2 MDE4ZGYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAorKysg Yi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTU3ODIsNCArNTc4MiwxODYg QEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFj dHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorIDxzZWN0MSBpZD0idmlldy1wZy1z dGF0LXZhY3V1bS10YWJsZXMiPgorICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1 dW1fdGFibGVzPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6b25lPSJ2 aWV3LXBnLXN0YXQtdmFjdXVtLXRhYmxlcyI+CisgICA8cHJpbWFyeT5wZ19zdGF0X3ZhY3V1 bV90YWJsZXM8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisgIDxwYXJhPgorICAgVGhl IDxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT4gdmlldyB3 aWxsIGNvbnRhaW4gb25lIHJvdworICAgZm9yIGVhY2ggdGFibGUgaW4gdGhlIGN1cnJlbnQg ZGF0YWJhc2UsIHNob3dpbmcgZXh0ZW5kZWQgc3RhdGlzdGljcyBhYm91dAorICAgdGhlIGFj dGl2aXR5IG9mIHRoZSBtb3N0IHJlY2VudCA8Y29tbWFuZD5WQUNVVU08L2NvbW1hbmQ+IG9u IHRoYXQgdGFibGUuCisgICBUaGVzZSBzdGF0aXN0aWNzIGFyZSBhY2N1bXVsYXRlZCBvbmx5 IHdoaWxlCisgICA8dmFybmFtZT50cmFja192YWN1dW1fc3RhdGlzdGljczwvdmFybmFtZT4g aXMgZW5hYmxlZC4KKyAgPC9wYXJhPgorCisgIDx0YWJsZSBpZD0idmlldy1wZy1zdGF0LXZh Y3V1bS10YWJsZXMtY29scyI+CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1 dW1fdGFibGVzPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29s cz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICBDb2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg RGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8 L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hbmFtZTwvc3RydWN0ZmllbGQ+IDx0eXBlPm5h bWU8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOYW1lIG9m IHRoZSBzY2hlbWEgdGhhdCB0aGUgdGFibGUgaXMgaW4uCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxv Z190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAg IDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE5hbWUgb2YgdGhlIHRhYmxl LgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsaWQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICBPSUQgb2YgdGhlIHRhYmxlLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ cGFnZXNfc2Nhbm5lZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBvZiBoZWFwIHBhZ2VzIGV4 YW1pbmVkIGJ5IHRoZSB2YWN1dW0gKHBhZ2VzIHRoYXQgd2VyZSBub3Qgc2tpcHBlZCB1c2lu ZyB0aGUgdmlzaWJpbGl0eSBtYXApLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAg ICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBvZiBoZWFwIHBhZ2Vz IGJ5IHdoaWNoIHRoZSB0YWJsZSdzIHN0b3JhZ2Ugd2FzIHBoeXNpY2FsbHkgcmVkdWNlZCAo dHJ1bmNhdGVkKSBieSB0aGUgdmFjdXVtLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+dHVwbGVzX2RlbGV0ZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOdW1iZXIgb2YgZGVhZCB0 dXBsZXMgcmVtb3ZlZCBieSB0aGUgdmFjdXVtLgorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+dHVwbGVzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBvZiB0dXBs ZXMgZnJvemVuIGJ5IHRoZSB2YWN1dW0uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2Vj dDE+CisKKyA8c2VjdDEgaWQ9InZpZXctcGctc3RhdC12YWN1dW0taW5kZXhlcyI+CisgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPjwv dGl0bGU+CisKKyAgPGluZGV4dGVybSB6b25lPSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWluZGV4 ZXMiPgorICAgPHByaW1hcnk+cGdfc3RhdF92YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAg PC9pbmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgPHN0cnVjdG5hbWU+cGdfc3RhdF92 YWN1dW1faW5kZXhlczwvc3RydWN0bmFtZT4gdmlldyB3aWxsIGNvbnRhaW4gb25lIHJvdwor ICAgZm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UsIHNob3dpbmcgZXh0 ZW5kZWQgc3RhdGlzdGljcyBhYm91dAorICAgdGhlIGFjdGl2aXR5IG9mIHRoZSBtb3N0IHJl Y2VudCA8Y29tbWFuZD5WQUNVVU08L2NvbW1hbmQ+IG9uIHRoYXQgaW5kZXguCisgICBUaGVz ZSBzdGF0aXN0aWNzIGFyZSBhY2N1bXVsYXRlZCBvbmx5IHdoaWxlCisgICA8dmFybmFtZT50 cmFja192YWN1dW1fc3RhdGlzdGljczwvdmFybmFtZT4gaXMgZW5hYmxlZC4KKyAgPC9wYXJh PgorCisgIDx0YWJsZSBpZD0idmlldy1wZy1zdGF0LXZhY3V1bS1pbmRleGVzLWNvbHMiPgor ICAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2luZGV4ZXM8L3N0cnVjdG5h bWU+IENvbHVtbnM8L3RpdGxlPgorICAgPHRncm91cCBjb2xzPSIxIj4KKyAgICA8dGhlYWQ+ CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIENvbHVtbiBUeXBlCisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBEZXNjcmlwdGlvbgorICAgICAg PC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGhlYWQ+CisKKyAgICA8dGJv ZHk+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5yZWxpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4K KyAgICAgIDxwYXJhPgorICAgICAgIE9JRCBvZiB0aGUgdGFibGUgdGhlIGluZGV4IGlzIG9u LgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW5kZXhyZWxpZDwvc3RydWN0 ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgIE9JRCBvZiB0aGUgaW5kZXguCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5zY2hlbWFuYW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE5hbWUgb2YgdGhlIHNjaGVtYSB0aGF0 IHRoZSB0YWJsZSBpcyBpbi4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJl bG5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgorICAgICAgPC9wYXJhPgor ICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGUgdGFibGUuCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleHJlbG5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5u YW1lPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBv ZiB0aGUgaW5kZXguCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19k ZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIGluZGV4IHBhZ2VzIGRlbGV0ZWQg KG1hZGUgcmV1c2FibGUpIGJ5IHRoZSB2YWN1dW0uCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBvZiBp bmRleCBlbnRyaWVzIHJlbW92ZWQgYnkgdGhlIHZhY3V1bS4KKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90Z3JvdXA+CisgIDwvdGFi bGU+CisgPC9zZWN0MT4KKwogPC9jaGFwdGVyPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv YWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFj dXVtbGF6eS5jCmluZGV4IDM5Mzk1YWVkMGQuLmZmY2ZhM2QxNmEgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9h Y2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTI4Myw2ICsyODMsNyBAQCB0eXBlZGVmIHN0 cnVjdCBMVlJlbFN0YXRlCiAJLyogRXJyb3IgcmVwb3J0aW5nIHN0YXRlICovCiAJY2hhcgkg ICAqZGJuYW1lOwogCWNoYXIJICAgKnJlbG5hbWVzcGFjZTsKKwlPaWQJCQlyZWxvaWQ7CiAJ Y2hhcgkgICAqcmVsbmFtZTsKIAljaGFyCSAgICppbmRuYW1lOwkJLyogQ3VycmVudCBpbmRl eCBuYW1lICovCiAJQmxvY2tOdW1iZXIgYmxrbm87CQkJLyogdXNlZCBvbmx5IGZvciBoZWFw IG9wZXJhdGlvbnMgKi8KQEAgLTQ4Myw2ICs0ODQsOCBAQCBzdGF0aWMgdm9pZCB1cGRhdGVf dmFjdXVtX2Vycm9yX2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogCQkJCQkJCQkJIE9mZnNl dE51bWJlciBvZmZudW0pOwogc3RhdGljIHZvaWQgcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5m byhMVlJlbFN0YXRlICp2YWNyZWwsCiAJCQkJCQkJCQkgIGNvbnN0IExWU2F2ZWRFcnJJbmZv ICpzYXZlZF92YWNyZWwpOworc3RhdGljIHZvaWQgYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9z dGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwKKwkJCQkJCQkJCQkJICBQZ1N0YXRfVmFj dXVtUmVsYXRpb25Db3VudHMgKmV4dFZhY1N0YXRzKTsKIAogCiAKQEAgLTYwOSw2ICs2MTIs NjMgQEAgaGVhcF92YWN1dW1fZWFnZXJfc2Nhbl9zZXR1cChMVlJlbFN0YXRlICp2YWNyZWws IGNvbnN0IFZhY3V1bVBhcmFtcyAqcGFyYW1zKQogCQlmaXJzdF9yZWdpb25fcmF0aW87CiB9 CiAKKy8qCisgKiBGaWxsIHRoZSBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyByZXBvcnQg Zm9yIGEgaGVhcCByZWxhdGlvbiB3aXRoIHRoZQorICogY291bnRlcnMgdGhhdCBhcmUgZGVy aXZlZCBkaXJlY3RseSBmcm9tIHRoZSBMVlJlbFN0YXRlLiAgQnVmZmVyLCBXQUwgYW5kCisg KiB0aW1pbmcgY291bnRlcnMgcmVxdWlyZSBzYW1wbGluZyByZXNvdXJjZSB1c2FnZSBhcm91 bmQgdGhlIHZhY3V1bSBhbmQgYXJlCisgKiBnYXRoZXJlZCBzZXBhcmF0ZWx5OyB0aGV5IGFy ZSBub3QgdG91Y2hlZCBoZXJlLgorICovCitzdGF0aWMgdm9pZAorYWNjdW11bGF0ZV9oZWFw X3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwKKwkJCQkJCQkJICBQZ1N0 YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKmV4dFZhY1N0YXRzKQoreworCWlmICghcGdzdGF0 X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwlleHRWYWNTdGF0cy0+ dHlwZSA9IFBHU1RBVF9FWFRWQUNfVEFCTEU7CisJZXh0VmFjU3RhdHMtPnRhYmxlLnBhZ2Vz X3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxl LnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRfcGFnZXM7CisJZXh0VmFjU3RhdHMt PmNvbW1vbi50dXBsZXNfZGVsZXRlZCA9IHZhY3JlbC0+dHVwbGVzX2RlbGV0ZWQ7CisJZXh0 VmFjU3RhdHMtPnRhYmxlLnR1cGxlc19mcm96ZW4gPSB2YWNyZWwtPnR1cGxlc19mcm96ZW47 Cit9CisKKy8qCisgKiBSZXBvcnQgdGhlIHBlci1pbmRleCBleHRlbmRlZCB2YWN1dW0gc3Rh dGlzdGljcywgb25lIHJlcG9ydCBwZXIgaW5kZXguCisgKgorICogVGhlIHBlci1pbmRleCBj b3VudGVycyAocGFnZXNfZGVsZXRlZCBhbmQgdGhlIG51bWJlciBvZiByZW1vdmVkIGluZGV4 CisgKiBlbnRyaWVzKSBhcmUgZGVyaXZlZCBkaXJlY3RseSBmcm9tIGVhY2ggaW5kZXgncyBm aW5hbCBJbmRleEJ1bGtEZWxldGVSZXN1bHQsCisgKiB3aGljaCBhbHJlYWR5IGhvbGRzIHRo ZSB0b3RhbHMgYWNjdW11bGF0ZWQgYWNyb3NzIGFsbCBidWxrZGVsZXRlIGFuZCBjbGVhbnVw CisgKiBwYXNzZXMgLS0gc28gbm8gcGVyLXBhc3Mgc2FtcGxpbmcgaXMgbmVlZGVkIGhlcmUu ICBVc2VkIGJ5IHRoZSBub24tcGFyYWxsZWwKKyAqIHBhdGggb25seTsgdGhlIHBhcmFsbGVs IHBhdGggcmVwb3J0cyBpdHMgRFNNLXJlc2lkZW50IHJlc3VsdHMgZnJvbQorICogcGFyYWxs ZWxfdmFjdXVtX2VuZCgpLgorICovCitzdGF0aWMgdm9pZAorcmVwb3J0X2luZGV4X3ZhY3V1 bV9leHRzdGF0cyhMVlJlbFN0YXRlICp2YWNyZWwpCit7CisJaWYgKCFwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCWZvciAoaW50IGlkeCA9IDA7IGlk eCA8IHZhY3JlbC0+bmluZGV4ZXM7IGlkeCsrKQorCXsKKwkJUmVsYXRpb24JaW5kcmVsID0g dmFjcmVsLT5pbmRyZWxzW2lkeF07CisJCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQg PSB2YWNyZWwtPmluZHN0YXRzW2lkeF07CisJCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50 cyByZXBvcnQ7CisKKwkJLyogU2tpcCBpbmRleGVzIHRoYXQgdGhpcyB2YWN1dW0gZGlkIG5v dCBwcm9jZXNzICovCisJCWlmIChpc3RhdCA9PSBOVUxMKQorCQkJY29udGludWU7CisKKwkJ bWVtc2V0KCZyZXBvcnQsIDAsIHNpemVvZihyZXBvcnQpKTsKKwkJcmVwb3J0LnR5cGUgPSBQ R1NUQVRfRVhUVkFDX0lOREVYOworCQlyZXBvcnQuY29tbW9uLnR1cGxlc19kZWxldGVkID0g aXN0YXQtPnR1cGxlc19yZW1vdmVkOworCQlyZXBvcnQuaW5kZXgucGFnZXNfZGVsZXRlZCA9 IGlzdGF0LT5wYWdlc19kZWxldGVkOworCisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2V4dHN0 YXRzKFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQkJCSAgaW5kcmVsLT5yZF9y ZWwtPnJlbGlzc2hhcmVkLAorCQkJCQkJCQkJICAmcmVwb3J0KTsKKwl9Cit9CisKIC8qCiAg KgloZWFwX3ZhY3V1bV9yZWwoKSAtLSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVs YXRpb24KICAqCkBAIC02NDMsNiArNzAzLDEwIEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlv biByZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCUVycm9yQ29udGV4dENhbGxi YWNrIGVycmNhbGxiYWNrOwogCWNoYXIJICAqKmluZG5hbWVzID0gTlVMTDsKIAlTaXplCQlk ZWFkX2l0ZW1zX21heF9ieXRlcyA9IDA7CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRz IGV4dFZhY1JlcG9ydDsKKworCS8qIEluaXRpYWxpemUgdGhlIGV4dGVuZGVkIHZhY3V1bSBz dGF0aXN0aWNzIHJlcG9ydCAqLworCW1lbXNldCgmZXh0VmFjUmVwb3J0LCAwLCBzaXplb2Yo UGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzKSk7CiAKIAl2ZXJib3NlID0gKHBhcmFtcy0+ b3B0aW9ucyAmIFZBQ09QVF9WRVJCT1NFKSAhPSAwOwogCWluc3RydW1lbnQgPSAodmVyYm9z ZSB8fCAoQW1BdXRvVmFjdXVtV29ya2VyUHJvY2VzcygpICYmCkBAIC02ODYsNiArNzUwLDcg QEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1zICpw YXJhbXMsCiAJdmFjcmVsID0gcGFsbG9jMF9vYmplY3QoTFZSZWxTdGF0ZSk7CiAJdmFjcmVs LT5kYm5hbWUgPSBnZXRfZGF0YWJhc2VfbmFtZShNeURhdGFiYXNlSWQpOwogCXZhY3JlbC0+ cmVsbmFtZXNwYWNlID0gZ2V0X25hbWVzcGFjZV9uYW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNl KHJlbCkpOworCXZhY3JlbC0+cmVsb2lkID0gUmVsYXRpb25HZXRSZWxpZChyZWwpOwogCXZh Y3JlbC0+cmVsbmFtZSA9IHBzdHJkdXAoUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSk7 CiAJdmFjcmVsLT5pbmRuYW1lID0gTlVMTDsKIAl2YWNyZWwtPnBoYXNlID0gVkFDVVVNX0VS UkNCX1BIQVNFX1VOS05PV047CkBAIC03MDAsNiArNzY1LDcgQEAgaGVhcF92YWN1dW1fcmVs KFJlbGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJdmFjX29wZW5f aW5kZXhlcyh2YWNyZWwtPnJlbCwgUm93RXhjbHVzaXZlTG9jaywgJnZhY3JlbC0+bmluZGV4 ZXMsCiAJCQkJCSAmdmFjcmVsLT5pbmRyZWxzKTsKIAl2YWNyZWwtPmJzdHJhdGVneSA9IGJz dHJhdGVneTsKKwogCWlmIChpbnN0cnVtZW50ICYmIHZhY3JlbC0+bmluZGV4ZXMgPiAwKQog CXsKIAkJLyogQ29weSBpbmRleCBuYW1lcyB1c2VkIGJ5IGluc3RydW1lbnRhdGlvbiAobm90 IGVycm9yIHJlcG9ydGluZykgKi8KQEAgLTk4NSw2ICsxMDUxLDkgQEAgaGVhcF92YWN1dW1f cmVsKFJlbGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJICogc29v biBpbiBjYXNlcyB3aGVyZSB0aGUgZmFpbHNhZmUgcHJldmVudGVkIHNpZ25pZmljYW50IGFt b3VudHMgb2YgaGVhcAogCSAqIHZhY3V1bWluZy4KIAkgKi8KKwlhY2N1bXVsYXRlX2hlYXBf dmFjdXVtX3N0YXRpc3RpY3ModmFjcmVsLCAmZXh0VmFjUmVwb3J0KTsKKwlwZ3N0YXRfcmVw b3J0X3ZhY3V1bV9leHRzdGF0cyh2YWNyZWwtPnJlbG9pZCwgcmVsLT5yZF9yZWwtPnJlbGlz c2hhcmVkLAorCQkJCQkJCQkgICZleHRWYWNSZXBvcnQpOwogCXBnc3RhdF9yZXBvcnRfdmFj dXVtKHJlbCwKIAkJCQkJCSBNYXgodmFjcmVsLT5uZXdfbGl2ZV90dXBsZXMsIDApLAogCQkJ CQkJIHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwpAQCAtMTYxOCw2ICsxNjg3LDE1 IEBAIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCkKIAkvKiBEbyBmaW5hbCBp bmRleCBjbGVhbnVwIChjYWxsIGVhY2ggaW5kZXgncyBhbXZhY3V1bWNsZWFudXAgcm91dGlu ZSkgKi8KIAlpZiAodmFjcmVsLT5uaW5kZXhlcyA+IDAgJiYgdmFjcmVsLT5kb19pbmRleF9j bGVhbnVwKQogCQlsYXp5X2NsZWFudXBfYWxsX2luZGV4ZXModmFjcmVsKTsKKworCS8qCisJ ICogUmVwb3J0IHRoZSBwZXItaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3MgYWNj dW11bGF0ZWQgb3ZlciBhbGwKKwkgKiBidWxrZGVsZXRlIGFuZCBjbGVhbnVwIHBhc3Nlcywg ZXhhY3RseSBvbmNlIHBlciBpbmRleC4gIFRoZSBwYXJhbGxlbAorCSAqIHBhdGggcmVwb3J0 cyBpdHMgRFNNLXJlc2lkZW50IHRvdGFscyBmcm9tIHBhcmFsbGVsX3ZhY3V1bV9lbmQoKSBp bnN0ZWFkLAorCSAqIHNvIG9ubHkgZG8gaXQgaGVyZSB3aGVuIGluZGV4IHZhY3V1bWluZyBy YW4gaW4gdGhlIGxlYWRlci4KKwkgKi8KKwlpZiAodmFjcmVsLT5uaW5kZXhlcyA+IDAgJiYg IVBhcmFsbGVsVmFjdXVtSXNBY3RpdmUodmFjcmVsKSkKKwkJcmVwb3J0X2luZGV4X3ZhY3V1 bV9leHRzdGF0cyh2YWNyZWwpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9oZWFwLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwppbmRleCA4ODA4 NzY1NGRlLi43MDlmZTMzZTYxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hl YXAuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwpAQCAtMTkwMyw2ICsxOTAz LDcgQEAgaGVhcF9kcm9wX3dpdGhfY2F0YWxvZyhPaWQgcmVsaWQpCiAKIAkvKiBlbnN1cmUg dGhhdCBzdGF0cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBjb21taXRzICovCiAJcGdz dGF0X2Ryb3BfcmVsYXRpb24ocmVsKTsKKwlwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2RlbGV0 ZV9wZW5kaW5nX2NiKFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7CiAKIAkvKgogCSAqIENsb3Nl IHJlbGNhY2hlIGVudHJ5LCBidXQgKmtlZXAqIEFjY2Vzc0V4Y2x1c2l2ZUxvY2sgb24gdGhl IHJlbGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMgYi9z cmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMKaW5kZXggOTQwN2MzNTdmMi4uZjk4NjI3NjY3 NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jCisrKyBiL3NyYy9i YWNrZW5kL2NhdGFsb2cvaW5kZXguYwpAQCAtMjM0NSw2ICsyMzQ1LDcgQEAgaW5kZXhfZHJv cChPaWQgaW5kZXhJZCwgYm9vbCBjb25jdXJyZW50LCBib29sIGNvbmN1cnJlbnRfbG9ja19t b2RlKQogCiAJLyogZW5zdXJlIHRoYXQgc3RhdHMgYXJlIGRyb3BwZWQgaWYgdHJhbnNhY3Rp b24gY29tbWl0cyAqLwogCXBnc3RhdF9kcm9wX3JlbGF0aW9uKHVzZXJJbmRleFJlbGF0aW9u KTsKKwlwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2RlbGV0ZV9wZW5kaW5nX2NiKFJlbGF0aW9u R2V0UmVsaWQodXNlckluZGV4UmVsYXRpb24pKTsKIAogCS8qCiAJICogQ2xvc2UgYW5kIGZs dXNoIHRoZSBpbmRleCdzIHJlbGNhY2hlIGVudHJ5LCB0byBlbnN1cmUgcmVsY2FjaGUgZG9l c24ndApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3Fs IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGI1NzEyOGJi MTIuLjA0Y2EzOGU1MWMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVt X3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwK QEAgLTE1NTksMyArMTU1OSwzNyBAQCBDUkVBVEUgVklFVyBwZ19haW9zIEFTCiAgICAgU0VM RUNUICogRlJPTSBwZ19nZXRfYWlvcygpOwogUkVWT0tFIEFMTCBPTiBwZ19haW9zIEZST00g UFVCTElDOwogR1JBTlQgU0VMRUNUIE9OIHBnX2Fpb3MgVE8gcGdfcmVhZF9hbGxfc3RhdHM7 CisKK0NSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBBUworICAgIFNFTEVDVAor ICAgICAgICBOLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAgICAgICAgQy5yZWxuYW1lIEFT IHJlbG5hbWUsCisgICAgICAgIFMucmVsaWQgQVMgcmVsaWQsCisKKyAgICAgICAgUy5wYWdl c19zY2FubmVkIEFTIHBhZ2VzX3NjYW5uZWQsCisgICAgICAgIFMucGFnZXNfcmVtb3ZlZCBB UyBwYWdlc19yZW1vdmVkLAorICAgICAgICBTLnR1cGxlc19kZWxldGVkIEFTIHR1cGxlc19k ZWxldGVkLAorICAgICAgICBTLnR1cGxlc19mcm96ZW4gQVMgdHVwbGVzX2Zyb3plbgorCisg ICAgRlJPTSBwZ19jbGFzcyBDIEpPSU4KKyAgICAgICAgICAgIHBnX25hbWVzcGFjZSBOIE9O IE4ub2lkID0gQy5yZWxuYW1lc3BhY2UsCisgICAgICAgICAgICBMQVRFUkFMIHBnX3N0YXRf Z2V0X3ZhY3V1bV90YWJsZXMoQy5vaWQpIFMKKyAgICBXSEVSRSBDLnJlbGtpbmQgSU4gKCdy JywgJ3QnLCAnbScpOworCitDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIEFT CisgICAgU0VMRUNUCisgICAgICAgICAgICBDLm9pZCBBUyByZWxpZCwKKyAgICAgICAgICAg IEkub2lkIEFTIGluZGV4cmVsaWQsCisgICAgICAgICAgICBOLm5zcG5hbWUgQVMgc2NoZW1h bmFtZSwKKyAgICAgICAgICAgIEMucmVsbmFtZSBBUyByZWxuYW1lLAorICAgICAgICAgICAg SS5yZWxuYW1lIEFTIGluZGV4cmVsbmFtZSwKKworICAgICAgICAgICAgUy5wYWdlc19kZWxl dGVkIEFTIHBhZ2VzX2RlbGV0ZWQsCisgICAgICAgICAgICBTLnR1cGxlc19kZWxldGVkIEFT IHR1cGxlc19kZWxldGVkCisgICAgRlJPTQorICAgICAgICAgICAgcGdfY2xhc3MgQyBKT0lO CisgICAgICAgICAgICBwZ19pbmRleCBYIE9OIEMub2lkID0gWC5pbmRyZWxpZCBKT0lOCisg ICAgICAgICAgICBwZ19jbGFzcyBJIE9OIEkub2lkID0gWC5pbmRleHJlbGlkCisgICAgICAg ICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIE4gT04gKE4ub2lkID0gQy5yZWxuYW1lc3Bh Y2UpLAorICAgICAgICAgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhJ Lm9pZCkgUworICAgIFdIRVJFIEMucmVsa2luZCBJTiAoJ3InLCAndCcsICdtJyk7CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwppbmRleCA0MWNlZmNmZGU1Li43NzI1 YzRlY2MxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxl bC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTUz NSw2ICs1MzUsMzMgQEAgcGFyYWxsZWxfdmFjdXVtX2VuZChQYXJhbGxlbFZhY3V1bVN0YXRl ICpwdnMsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqKmlzdGF0cykKIAlEZXN0cm95UGFyYWxs ZWxDb250ZXh0KHB2cy0+cGN4dCk7CiAJRXhpdFBhcmFsbGVsTW9kZSgpOwogCisJLyoKKwkg KiBSZXBvcnQgdGhlIHBlci1pbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcywgb25l IHJlcG9ydCBwZXIgaW5kZXgsCisJICogZGVyaXZlZCBkaXJlY3RseSBmcm9tIGVhY2ggaW5k ZXgncyBmaW5hbCBJbmRleEJ1bGtEZWxldGVSZXN1bHQuICBUaGUKKwkgKiBpbmRleGVzIGFy ZSBzdGlsbCBvcGVuIGhlcmUgKHB2cy0+aW5kcmVscyBpcyB0aGUgbGVhZGVyJ3Mgb3duIGFy cmF5LCBub3QKKwkgKiBpbiB0aGUgbm93LWRlc3Ryb3llZCBEU00pLgorCSAqLworCWlmIChw Z3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJeworCQlmb3IgKGludCBpID0gMDsg aSA8IHB2cy0+bmluZGV4ZXM7IGkrKykKKwkJeworCQkJUmVsYXRpb24JaW5kcmVsID0gcHZz LT5pbmRyZWxzW2ldOworCQkJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIHJlcG9ydDsK KworCQkJaWYgKGlzdGF0c1tpXSA9PSBOVUxMKQorCQkJCWNvbnRpbnVlOworCisJCQltZW1z ZXQoJnJlcG9ydCwgMCwgc2l6ZW9mKHJlcG9ydCkpOworCQkJcmVwb3J0LnR5cGUgPSBQR1NU QVRfRVhUVkFDX0lOREVYOworCQkJcmVwb3J0LmNvbW1vbi50dXBsZXNfZGVsZXRlZCA9IGlz dGF0c1tpXS0+dHVwbGVzX3JlbW92ZWQ7CisJCQlyZXBvcnQuaW5kZXgucGFnZXNfZGVsZXRl ZCA9IGlzdGF0c1tpXS0+cGFnZXNfZGVsZXRlZDsKKworCQkJcGdzdGF0X3JlcG9ydF92YWN1 dW1fZXh0c3RhdHMoUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCQkJCSAgaW5k cmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAorCQkJCQkJCQkJCSAgJnJlcG9ydCk7CisJCX0K Kwl9CisKIAlpZiAoQW1BdXRvVmFjdXVtV29ya2VyUHJvY2VzcygpKQogCQlwdl9zaGFyZWRf Y29zdF9wYXJhbXMgPSBOVUxMOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01ha2VmaWxl CmluZGV4IGNhM2VmODliZjUuLmI3ZGI5YzAzNGEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L01ha2VmaWxlCkBAIC0yOCw2ICsyOCw3IEBAIE9CSlMgPSBcCiAJcGdzdGF0X2lvLm8g XAogCXBnc3RhdF9sb2NrLm8gXAogCXBnc3RhdF9yZWxhdGlvbi5vIFwKKwlwZ3N0YXRfdmFj dXVtLm8gXAogCXBnc3RhdF9yZXBsc2xvdC5vIFwKIAlwZ3N0YXRfc2htZW0ubyBcCiAJcGdz dGF0X3NscnUubyBcCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9t ZXNvbi5idWlsZCBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L21lc29uLmJ1aWxkCmlu ZGV4IDFhYTdlY2U1MjkuLjJhMGI1MGQwN2QgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L21lc29uLmJ1aWxkCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L21lc29uLmJ1aWxkCkBAIC0xNyw2ICsxNyw3IEBAIGJhY2tlbmRfc291cmNlcyArPSBm aWxlcygKICAgJ3Bnc3RhdF9zaG1lbS5jJywKICAgJ3Bnc3RhdF9zbHJ1LmMnLAogICAncGdz dGF0X3N1YnNjcmlwdGlvbi5jJywKKyAgJ3Bnc3RhdF92YWN1dW0uYycsCiAgICdwZ3N0YXRf d2FsLmMnLAogICAncGdzdGF0X3hhY3QuYycsCiApCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdC5jCmluZGV4IGI2N2RhODhjN2QuLjRlOTUwNjcyZTIgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0yMDQsNyArMjA0LDcgQEAgc3RhdGljIGlubGlu ZSBib29sIHBnc3RhdF9pc19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBib29s CQlwZ3N0YXRfdHJhY2tfY291bnRzID0gZmFsc2U7CiBpbnQJCQlwZ3N0YXRfZmV0Y2hfY29u c2lzdGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfQ0FDSEU7Ci0KK2Jvb2wJCXBn c3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcyA9IGZhbHNlOwogCiAvKiAtLS0tLS0tLS0t CiAgKiBzdGF0ZSBzaGFyZWQgd2l0aCBwZ3N0YXRfKi5jCkBAIC01MDAsNiArNTAwLDE5IEBA IHN0YXRpYyBjb25zdCBQZ1N0YXRfS2luZEluZm8gcGdzdGF0X2tpbmRfYnVpbHRpbl9pbmZv c1tQR1NUQVRfS0lORF9CVUlMVElOX1NJWkVdCiAJCS5yZXNldF9hbGxfY2IgPSBwZ3N0YXRf d2FsX3Jlc2V0X2FsbF9jYiwKIAkJLnNuYXBzaG90X2NiID0gcGdzdGF0X3dhbF9zbmFwc2hv dF9jYiwKIAl9LAorCVtQR1NUQVRfS0lORF9WQUNVVU1fUkVMQVRJT05dID0geworCQkubmFt ZSA9ICJ2YWN1dW0gc3RhdGlzdGljcyIsCisKKwkJLmZpeGVkX2Ftb3VudCA9IGZhbHNlLAor CQkud3JpdGVfdG9fZmlsZSA9IHRydWUsCisKKwkJLnNoYXJlZF9zaXplID0gc2l6ZW9mKFBn U3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlvbiksCisJCS5zaGFyZWRfZGF0YV9vZmYgPSBvZmZz ZXRvZihQZ1N0YXRTaGFyZWRfVmFjdXVtUmVsYXRpb24sIHN0YXRzKSwKKwkJLnNoYXJlZF9k YXRhX2xlbiA9IHNpemVvZigoKFBnU3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlvbiAqKSAwKS0+ c3RhdHMpLAorCQkucGVuZGluZ19zaXplID0gc2l6ZW9mKFBnU3RhdF9SZWxhdGlvblZhY3V1 bVBlbmRpbmcpLAorCisJCS5mbHVzaF9wZW5kaW5nX2NiID0gcGdzdGF0X3ZhY3V1bV9yZWxh dGlvbl9mbHVzaF9jYgorCX0sCiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9h Y3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCA5MmUxZjYwYTA4Li4xNDFlMmFmNjA3 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRp b24uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24u YwpAQCAtOTA0LDYgKzkwNCwxMiBAQCBwZ3N0YXRfcmVsYXRpb25fZmx1c2hfY2IoUGdTdGF0 X0VudHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KQogCXJldHVybiB0cnVlOwogfQog Cit2b2lkCitwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2RlbGV0ZV9wZW5kaW5nX2NiKE9pZCBy ZWxpZCkKK3sKKwlwZ3N0YXRfZHJvcF90cmFuc2FjdGlvbmFsKFBHU1RBVF9LSU5EX1ZBQ1VV TV9SRUxBVElPTiwgcmVsaWQsIEludmFsaWRPaWQpOworfQorCiB2b2lkCiBwZ3N0YXRfcmVs YXRpb25fZGVsZXRlX3BlbmRpbmdfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYpCiB7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfdmFjdXVt LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfdmFjdXVtLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYWM2YmFlZTUxNgotLS0gL2Rldi9u dWxsCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0uYwpA QCAtMCwwICsxLDEyOSBAQAorLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIHBnc3Rh dF92YWN1dW0uYworICoJICBJbXBsZW1lbnRhdGlvbiBvZiBleHRlbmRlZCB2YWN1dW0gc3Rh dGlzdGljcy4KKyAqCisgKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGltcGxlbWVudGF0aW9u IG9mIGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzLiBJdCBpcworICoga2VwdCBzZXBhcmF0 ZSBmcm9tIHBnc3RhdF9yZWxhdGlvbi5jIGFuZCBwZ3N0YXRfZGF0YWJhc2UuYyB0byByZWR1 Y2UgdGhlCisgKiBtZW1vcnkgZm9vdHByaW50IG9mIHRoZSByZWd1bGFyIHJlbGF0aW9uIGFu ZCBkYXRhYmFzZSBzdGF0aXN0aWNzOiB2YWN1dW0KKyAqIG1ldHJpY3MgcmVxdWlyZSBzaWdu aWZpY2FudGx5IG1vcmUgc3BhY2UgcGVyIHJlbGF0aW9uLCBzbyB0aGV5IGxpdmUgaW4gdGhl aXIKKyAqIG93biBQR1NUQVRfS0lORF9WQUNVVU1fUkVMQVRJT04gc3RhdHMga2luZC4KKyAq CisgKiBDb3B5cmlnaHQgKGMpIDIwMDEtMjAyNiwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxv cG1lbnQgR3JvdXAKKyAqCisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfdmFjdXVtLmMKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAqLworCisjaW5jbHVkZSAicG9zdGdyZXMuaCIKKworI2luY2x1ZGUgInBnc3RhdC5oIgor I2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCisjaW5jbHVkZSAidXRpbHMvcGdzdGF0X2lu dGVybmFsLmgiCisKKyNkZWZpbmUgQUNDVU1VTEFURV9TVUJGSUVMRChzdWJzdHJ1Y3QsIGZp ZWxkKSAoZHN0LT5zdWJzdHJ1Y3QuZmllbGQgKz0gc3JjLT5zdWJzdHJ1Y3QuZmllbGQpCisK Ky8qCisgKiBBY2N1bXVsYXRlIHRoZSBwZXItdGFibGUgZXh0ZW5kZWQgdmFjdXVtIGNvdW50 ZXJzIGNvbGxlY3RlZCBzbyBmYXIuCisgKgorICogT25seSB0aGUgY291bnRlcnMgZGVyaXZl ZCBkaXJlY3RseSBmcm9tIHRoZSB2YWN1dW0ncyBvd24gYm9va2tlZXBpbmcgYXJlCisgKiBz dW1tZWQgaGVyZS4gIFRoZSBidWZmZXIsIFdBTCBhbmQgdGltaW5nIGNvdW50ZXJzIChhbmQg dGhlIHBlci1pbmRleAorICogY291bnRlcnMpIGFyZSBhY2N1bXVsYXRlZCBieSBhZGRpdGlv bmFsIGNvZGUgYWRkZWQgdG9nZXRoZXIgd2l0aCB0aGUKKyAqIGhlbHBlcnMgdGhhdCBnYXRo ZXIgdGhlbS4KKyAqLworc3RhdGljIHZvaWQKK3Bnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19z dGF0c19yZWxhdGlvbnMoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpkc3QsCisJCQkJ CQkJCQkJIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqc3JjKQoreworCWlmICghcGdz dGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwlpZiAoZHN0LT50 eXBlID09IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCkKKwkJZHN0LT50eXBlID0gc3JjLT50eXBl OworCisJQXNzZXJ0KHNyYy0+dHlwZSAhPSBQR1NUQVRfRVhUVkFDX0lOVkFMSUQgJiYKKwkJ ICAgc3JjLT50eXBlICE9IFBHU1RBVF9FWFRWQUNfREIgJiYKKwkJICAgc3JjLT50eXBlID09 IGRzdC0+dHlwZSk7CisKKwlBQ0NVTVVMQVRFX1NVQkZJRUxEKGNvbW1vbiwgdHVwbGVzX2Rl bGV0ZWQpOworCisJaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX1RBQkxFKQorCXsK KwkJQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgcGFnZXNfc2Nhbm5lZCk7CisJCUFDQ1VN VUxBVEVfU1VCRklFTEQodGFibGUsIHBhZ2VzX3JlbW92ZWQpOworCQlBQ0NVTVVMQVRFX1NV QkZJRUxEKHRhYmxlLCB0dXBsZXNfZnJvemVuKTsKKwl9CisJZWxzZSBpZiAoZHN0LT50eXBl ID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCisJeworCQlBQ0NVTVVMQVRFX1NVQkZJRUxEKGlu ZGV4LCBwYWdlc19kZWxldGVkKTsKKwl9Cit9CisKKy8qCisgKiBSZXBvcnQgdGhhdCB0aGUg cmVsYXRpb24gd2FzIGp1c3QgdmFjdXVtZWQsIGFjY3VtdWxhdGluZyBpdHMgZXh0ZW5kZWQK KyAqIHN0YXRpc3RpY3MgaW50byB0aGUgcGVyLXJlbGF0aW9uIGVudHJ5LgorICovCit2b2lk CitwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyhPaWQgdGFibGVvaWQsIGJvb2wgc2hh cmVkLAorCQkJCQkJCSAgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpwYXJhbXMpCit7 CisJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CisJUGdTdGF0X1JlbGF0aW9uVmFjdXVt UGVuZGluZyAqcmVscGVuZGluZzsKKwlPaWQJCQlkYm9pZCA9IChzaGFyZWQgPyBJbnZhbGlk T2lkIDogTXlEYXRhYmFzZUlkKTsKKworCWlmICghcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzKQorCQlyZXR1cm47CisKKwkvKgorCSAqIEFjY3VtdWxhdGUgaW50byBhIHBlbmRp bmcgZW50cnkgaW5zdGVhZCBvZiB0YWtpbmcgYSBzaGFyZWQtc3RhdHMgbG9jaworCSAqIGhl cmU7IHBnc3RhdF9yZXBvcnRfc3RhdCgpIGZsdXNoZXMgaXQgdG8gc2hhcmVkIG1lbW9yeSB0 aHJvdWdoIHRoZQorCSAqIHJlZ2lzdGVyZWQgZmx1c2ggY2FsbGJhY2sgb25jZSB0aGUgdmFj dXVtJ3MgdHJhbnNhY3Rpb24gY29tcGxldGVzLgorCSAqLworCWVudHJ5X3JlZiA9IHBnc3Rh dF9wcmVwX3BlbmRpbmdfZW50cnkoUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFUSU9OLAorCQkJ CQkJCQkJCSAgZGJvaWQsIHRhYmxlb2lkLCBOVUxMKTsKKwlyZWxwZW5kaW5nID0gKFBnU3Rh dF9SZWxhdGlvblZhY3V1bVBlbmRpbmcgKikgZW50cnlfcmVmLT5wZW5kaW5nOworCXBnc3Rh dF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0c19yZWxhdGlvbnMoJnJlbHBlbmRpbmctPmNvdW50 cywgcGFyYW1zKTsKK30KKworLyoKKyAqIEZsdXNoIG91dCBwZW5kaW5nIHBlci1yZWxhdGlv biBleHRlbmRlZCB2YWN1dW0gc3RhdHMgZm9yIHRoZSBlbnRyeS4KKyAqCisgKiBJZiBub3dh aXQgaXMgdHJ1ZSwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIGZhbHNlIGlmIHRoZSBsb2NrIGNv dWxkIG5vdCBiZQorICogYWNxdWlyZWQgaW1tZWRpYXRlbHksIG90aGVyd2lzZSB0cnVlIGlz IHJldHVybmVkLgorICovCitib29sCitwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2ZsdXNoX2Ni KFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCkKK3sKKwlQZ1N0YXRT aGFyZWRfVmFjdXVtUmVsYXRpb24gKnNodGFic3RhdHM7CisJUGdTdGF0X1JlbGF0aW9uVmFj dXVtUGVuZGluZyAqcGVuZGluZ2VudDsKKworCXBlbmRpbmdlbnQgPSAoUGdTdGF0X1JlbGF0 aW9uVmFjdXVtUGVuZGluZyAqKSBlbnRyeV9yZWYtPnBlbmRpbmc7CisJc2h0YWJzdGF0cyA9 IChQZ1N0YXRTaGFyZWRfVmFjdXVtUmVsYXRpb24gKikgZW50cnlfcmVmLT5zaGFyZWRfc3Rh dHM7CisKKwkvKiBJZ25vcmUgZW50cmllcyB0aGF0IGRpZG4ndCBhY2N1bXVsYXRlIGFueSBh Y3R1YWwgY291bnRzLiAqLworCWlmIChwZ19tZW1vcnlfaXNfYWxsX3plcm9zKHBlbmRpbmdl bnQsCisJCQkJCQkJICAgc2l6ZW9mKFBnU3RhdF9SZWxhdGlvblZhY3V1bVBlbmRpbmcpKSkK KwkJcmV0dXJuIHRydWU7CisKKwlpZiAoIXBnc3RhdF9sb2NrX2VudHJ5KGVudHJ5X3JlZiwg bm93YWl0KSkKKwkJcmV0dXJuIGZhbHNlOworCisJcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFj X3N0YXRzX3JlbGF0aW9ucygmc2h0YWJzdGF0cy0+c3RhdHMsCisJCQkJCQkJCQkJCSAmcGVu ZGluZ2VudC0+Y291bnRzKTsKKworCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsK KworCXJldHVybiB0cnVlOworfQorCisvKgorICogU3VwcG9ydCBmdW5jdGlvbiBmb3IgdGhl IFNRTC1jYWxsYWJsZSBwZ3N0YXQqIGZ1bmN0aW9ucy4gUmV0dXJucyB0aGUgdmFjdXVtCisg KiBjb2xsZWN0ZWQgc3RhdGlzdGljcyBmb3Igb25lIHJlbGF0aW9uIG9yIE5VTEwuCisgKi8K K1BnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqCitwZ3N0YXRfZmV0Y2hfc3RhdF92YWN1 dW1fdGFiZW50cnkoT2lkIHJlbGlkLCBPaWQgZGJpZCkKK3sKKwlyZXR1cm4gKFBnU3RhdF9W YWN1dW1SZWxhdGlvbkNvdW50cyAqKQorCQlwZ3N0YXRfZmV0Y2hfZW50cnkoUEdTVEFUX0tJ TkRfVkFDVVVNX1JFTEFUSU9OLCBkYmlkLCByZWxpZCwgTlVMTCk7Cit9CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IDY0MDk5ODdkNjYuLmU3MmY3NjE4MGUgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMzY3LDMgKzIzNjcsODYg QEAgcGdfc3RhdF9oYXZlX3N0YXRzKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlQR19SRVRVUk5f Qk9PTChwZ3N0YXRfaGF2ZV9lbnRyeShraW5kLCBkYm9pZCwgb2JqaWQpKTsKIH0KKworLyoK KyAqIEdldCB0aGUgZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGEgaGVhcCB0YWJs ZS4KKyAqLworRGF0dW0KK3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05f QVJHUykKK3sKKyNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xT IDUKKworCU9pZAkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlQZ1N0YXRfVmFjdXVt UmVsYXRpb25Db3VudHMgKmV4dHZhY3V1bTsKKwlUdXBsZURlc2MJdHVwZGVzYzsKKwlEYXR1 bQkJdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MU10gPSB7MH07 CisJYm9vbAkJbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTXSA9 IHswfTsKKwlpbnQJCQlpID0gMDsKKworCS8qIEJ1aWxkIGEgdHVwbGUgZGVzY3JpcHRvciBm b3Igb3VyIHJlc3VsdCB0eXBlICovCisJaWYgKGdldF9jYWxsX3Jlc3VsdF90eXBlKGZjaW5m bywgTlVMTCwgJnR1cGRlc2MpICE9IFRZUEVGVU5DX0NPTVBPU0lURSkKKwkJZWxvZyhFUlJP UiwgInJldHVybiB0eXBlIG11c3QgYmUgYSByb3cgdHlwZSIpOworCisJZXh0dmFjdXVtID0g cGdzdGF0X2ZldGNoX3N0YXRfdmFjdXVtX3RhYmVudHJ5KHJlbGlkLCBNeURhdGFiYXNlSWQp OworCWlmICghZXh0dmFjdXVtKQorCXsKKwkJLyogUmV0cnkgYXMgYSBzaGFyZWQgcmVsYXRp b24gYmVmb3JlIGdpdmluZyB1cC4gKi8KKwkJZXh0dmFjdXVtID0gcGdzdGF0X2ZldGNoX3N0 YXRfdmFjdXVtX3RhYmVudHJ5KHJlbGlkLCBJbnZhbGlkT2lkKTsKKwkJaWYgKCFleHR2YWN1 dW0pCisJCXsKKwkJCUluaXRNYXRlcmlhbGl6ZWRTUkYoZmNpbmZvLCAwKTsKKwkJCVBHX1JF VFVSTl9WT0lEKCk7CisJCX0KKwl9CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0 dW0ocmVsaWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRh YmxlLnBhZ2VzX3NjYW5uZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnRhYmxlLnBhZ2VzX3JlbW92ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPmNvbW1vbi50dXBsZXNfZGVsZXRlZCk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUudHVwbGVzX2Zyb3plbik7CisKKwlB c3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMpOworCisJ LyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCisJUEdfUkVUVVJOX0RBVFVNKEhl YXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxz KSkpOworfQorCisvKgorICogR2V0IHRoZSBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBm b3IgYW4gaW5kZXguCisgKi8KK0RhdHVtCitwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhQ R19GVU5DVElPTl9BUkdTKQoreworI2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhf U1RBVFNfQ09MUyAzCisKKwlPaWQJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJUGdT dGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpleHR2YWN1dW07CisJVHVwbGVEZXNjCXR1cGRl c2M7CisJRGF0dW0JCXZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09M U10gPSB7MH07CisJYm9vbAkJbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRT X0NPTFNdID0gezB9OworCWludAkJCWkgPSAwOworCisJaWYgKGdldF9jYWxsX3Jlc3VsdF90 eXBlKGZjaW5mbywgTlVMTCwgJnR1cGRlc2MpICE9IFRZUEVGVU5DX0NPTVBPU0lURSkKKwkJ ZWxvZyhFUlJPUiwgInJldHVybiB0eXBlIG11c3QgYmUgYSByb3cgdHlwZSIpOworCisJZXh0 dmFjdXVtID0gcGdzdGF0X2ZldGNoX3N0YXRfdmFjdXVtX3RhYmVudHJ5KHJlbGlkLCBNeURh dGFiYXNlSWQpOworCWlmICghZXh0dmFjdXVtKQorCXsKKwkJZXh0dmFjdXVtID0gcGdzdGF0 X2ZldGNoX3N0YXRfdmFjdXVtX3RhYmVudHJ5KHJlbGlkLCBJbnZhbGlkT2lkKTsKKwkJaWYg KCFleHR2YWN1dW0pCisJCXsKKwkJCUluaXRNYXRlcmlhbGl6ZWRTUkYoZmNpbmZvLCAwKTsK KwkJCVBHX1JFVFVSTl9WT0lEKCk7CisJCX0KKwl9CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVj dElkR2V0RGF0dW0ocmVsaWQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+aW5kZXgucGFnZXNfZGVsZXRlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnR1cGxlc19kZWxldGVkKTsKKworCUFzc2VydChp ID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKKworCS8qIFJldHVy bnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVH ZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKK30K ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0 IGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfcGFyYW1ldGVycy5kYXQKaW5kZXggYWZh YTA1OGIwNC4uYmI4ZWI0MTM5NCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9ndWNfcGFyYW1ldGVycy5kYXQKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNf cGFyYW1ldGVycy5kYXQKQEAgLTMyMjAsNiArMzIyMCwxMiBAQAogICBib290X3ZhbCA9PiAn ZmFsc2UnLAogfSwKIAoreyBuYW1lID0+ICd0cmFja192YWN1dW1fc3RhdGlzdGljcycsIHR5 cGUgPT4gJ2Jvb2wnLCBjb250ZXh0ID0+ICdQR0NfU1VTRVQnLCBncm91cCA9PiAnU1RBVFNf Q1VNVUxBVElWRScsCisgIHNob3J0X2Rlc2MgPT4gJ0NvbGxlY3RzIHZhY3V1bSBzdGF0aXN0 aWNzIGZvciB2YWN1dW0gYWN0aXZpdHkuJywKKyAgdmFyaWFibGUgPT4gJ3Bnc3RhdF90cmFj a192YWN1dW1fc3RhdGlzdGljcycsCisgIGJvb3RfdmFsID0+ICdmYWxzZScsCit9LAorCiB7 IG5hbWUgPT4gJ3RyYWNrX3dhbF9pb190aW1pbmcnLCB0eXBlID0+ICdib29sJywgY29udGV4 dCA9PiAnUEdDX1NVU0VUJywgZ3JvdXAgPT4gJ1NUQVRTX0NVTVVMQVRJVkUnLAogICBzaG9y dF9kZXNjID0+ICdDb2xsZWN0cyB0aW1pbmcgc3RhdGlzdGljcyBmb3IgV0FMIEkvTyBhY3Rp dml0eS4nLAogICB2YXJpYWJsZSA9PiAndHJhY2tfd2FsX2lvX3RpbWluZycsCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUgYi9z cmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKaW5kZXggYWMz OGNkZGFhZi4uNGNmMjhmMGYyZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2Mv cG9zdGdyZXNxbC5jb25mLnNhbXBsZQpAQCAtNzAyLDYgKzcwMiw3IEBACiAjdHJhY2tfd2Fs X2lvX3RpbWluZyA9IG9mZgogI3RyYWNrX2Z1bmN0aW9ucyA9IG5vbmUgICAgICAgICAgICAg ICAgICMgbm9uZSwgcGwsIGFsbAogI3N0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gY2FjaGUg ICAgICAgICMgY2FjaGUsIG5vbmUsIHNuYXBzaG90CisjdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3MgPSBvZmYKIAogCiAjIC0gTW9uaXRvcmluZyAtCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dAppbmRleCAyOTFiMDM5ODU5Li45NjE2YTAxNDY2IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJv Yy5kYXQKQEAgLTEyNjM4LDYgKzEyNjM4LDE2IEBACiAgIHByb2FyZ25hbWVzID0+ICd7cGlk LGlvX2lkLGlvX2dlbmVyYXRpb24sc3RhdGUsb3BlcmF0aW9uLG9mZixsZW5ndGgsdGFyZ2V0 LGhhbmRsZV9kYXRhX2xlbixyYXdfcmVzdWx0LHJlc3VsdCx0YXJnZXRfZGVzYyxmX3N5bmMs Zl9sb2NhbG1lbSxmX2J1ZmZlcmVkfScsCiAgIHByb3NyYyA9PiAncGdfZ2V0X2Fpb3MnLCBw cm9hY2wgPT4gJ3tQT1NUR1JFUz1YLHBnX3JlYWRfYWxsX3N0YXRzPVh9JyB9LAogCit7IG9p ZCA9PiAnODAwMScsCisgIGRlc2NyID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHJl dHVybnMgdmFjdXVtIHN0YXRzIHZhbHVlcyBmb3IgdGFibGUnLAorICBwcm9uYW1lID0+ICdw Z19zdGF0X2dldF92YWN1dW1fdGFibGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGls ZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsIHByb2lzc3RyaWN0ID0+ICdmJywK KyAgcHJvcmV0c2V0ID0+ICd0JywKKyAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb2Fs bGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4fScsCisgIHByb2Fy Z21vZGVzID0+ICd7aSxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQs cmVsaWQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHR1cGxlc19kZWxldGVkLHR1cGxl c19mcm96ZW59JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzJyB9 CisKICMgb2lkOCByZWxhdGVkIGZ1bmN0aW9ucwogeyBvaWQgPT4gJzY0MzYnLCBkZXNjciA9 PiAnY29udmVydCBvaWQgdG8gb2lkOCcsCiAgIHByb25hbWUgPT4gJ29pZDgnLCBwcm9yZXR0 eXBlID0+ICdvaWQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCkBAIC0xMjcwMyw0ICsxMjcx MywxMyBAQAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9mcm96ZW5fcGFnZV9tYXJrc19j bGVhcmVkJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHBy b3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKICAgcHJvc3JjID0+ ICdwZ19zdGF0X2dldF9mcm96ZW5fcGFnZV9tYXJrc19jbGVhcmVkJyB9LAoreyBvaWQgPT4g JzgwMDQnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0dXJu cyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciBpbmRleCcsCisgIHByb25hbWUgPT4gJ3BnX3N0 YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9 PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsIHByb2lzc3RyaWN0ID0+ICdmJywKKyAg cHJvcmV0c2V0ID0+ICd0JywKKyAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb2FsbGFy Z3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDh9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tp LG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJlbGlkLHBhZ2VzX2RlbGV0 ZWQsdHVwbGVzX2RlbGV0ZWR9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1f aW5kZXhlcycgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3Jj L2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggN2RiMzZjZjhhZC4uNTY4NjI0ZGU1YiAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgK QEAgLTExOCw2ICsxMTgsMTUgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0JhY2tlbmRTdWJF bnRyeQogCVBnU3RhdF9Db3VudGVyIGNvbmZsaWN0X2NvdW50W0NPTkZMSUNUX05VTV9UWVBF U107CiB9IFBnU3RhdF9CYWNrZW5kU3ViRW50cnk7CiAKKy8qIFR5cGUgb2YgRXh0VmFjUmVw b3J0ICovCit0eXBlZGVmIGVudW0gRXh0VmFjUmVwb3J0VHlwZQoreworCVBHU1RBVF9FWFRW QUNfSU5WQUxJRCA9IDAsCisJUEdTVEFUX0VYVFZBQ19UQUJMRSA9IDEsCisJUEdTVEFUX0VY VFZBQ19JTkRFWCA9IDIsCisJUEdTVEFUX0VYVFZBQ19EQiA9IDMsCit9CQkJRXh0VmFjUmVw b3J0VHlwZTsKKwogLyogLS0tLS0tLS0tLQogICogUGdTdGF0X1RhYmxlQ291bnRzCQkJVGhl IGFjdHVhbCBwZXItdGFibGUgY291bnRzIGtlcHQgYnkgYSBiYWNrZW5kCiAgKgpAQCAtMTY0 LDYgKzE3Myw2MyBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVDb3VudHMKIAlQZ1N0 YXRfQ291bnRlciBmcm96ZW5fcGFnZV9tYXJrc19jbGVhcmVkOwogfSBQZ1N0YXRfVGFibGVD b3VudHM7CiAKK3R5cGVkZWYgc3RydWN0IFBnU3RhdF9Db21tb25Db3VudHMKK3sKKwkvKiB0 dXBsZXMgKi8KKwlpbnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7Cit9CQkJUGdTdGF0X0NvbW1vbkNv dW50czsKKworLyogLS0tLS0tLS0tLQorICoKKyAqIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNv dW50cworICoKKyAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2lu ZyBvdmVyIGEgcmVsYXRpb24uICBDb3VudGVycyB0aGF0CisgKiByZXF1aXJlIHNhbXBsaW5n IGJ1ZmZlci9XQUwvdGltaW5nIHVzYWdlLCBhbmQgdGhlIHBlci1pbmRleCBjb3VudGVycywg YXJlCisgKiBhZGRlZCB0byB0aGUgY29tbW9uIGFuZCBwZXItdHlwZSBtZW1iZXJzIGxhdGVy LCB0b2dldGhlciB3aXRoIHRoZSBjb2RlIHRoYXQKKyAqIGdhdGhlcnMgdGhlbS4KKyAqIC0t LS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291 bnRzCit7CisJUGdTdGF0X0NvbW1vbkNvdW50cyBjb21tb247CisKKwlFeHRWYWNSZXBvcnRU eXBlIHR5cGU7CQkvKiBoZWFwLCBpbmRleCwgZXRjLiAqLworCisJLyogLS0tLS0tLS0tLQor CSAqCisJICogVGhlcmUgYXJlIHNlcGFyYXRlIG1ldHJpY3Mgb2Ygc3RhdGlzdGljIGZvciB0 YWJsZXMgYW5kIGluZGV4ZXMsCisJICogd2hpY2ggY29sbGVjdCBkdXJpbmcgdmFjdXVtLgor CSAqIFRoZSB1bmlvbiBvcGVyYXRvciBhbGxvd3MgdG8gY29tYmluZSB0aGVzZSBzdGF0aXN0 aWNzCisJICogc28gdGhhdCBlYWNoIG1ldHJpYyBpcyBhc3NpZ25lZCB0byBhIHNwZWNpZmlj IGNsYXNzIG9mIGNvbGxlY3RlZCBzdGF0aXN0aWNzLgorCSAqIFN1Y2ggYSBjb21iaW5lZCBz dHJ1Y3R1cmUgd2FzIGNhbGxlZCBwZXJfdHlwZV9zdGF0cy4KKwkgKiBUaGUgbmFtZSBvZiB0 aGUgc3RydWN0dXJlIGl0c2VsZiBpcyBub3QgdXNlZCBhbnl3aGVyZSwKKwkgKiBpdCBleGlz dHMgb25seSBmb3IgdW5kZXJzdGFuZGluZyB0aGUgY29kZS4KKwkgKiAtLS0tLS0tLS0tCisJ Ki8KKwl1bmlvbgorCXsKKwkJc3RydWN0CisJCXsKKwkJCWludDY0CQl0dXBsZXNfZnJvemVu OwkvKiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLworCQkJaW50NjQJCXBhZ2VzX3Nj YW5uZWQ7CS8qIGhlYXAgcGFnZXMgZXhhbWluZWQgKG5vdCBza2lwcGVkIGJ5CisJCQkJCQkJ CQkJICogVk0pICovCisJCQlpbnQ2NAkJcGFnZXNfcmVtb3ZlZDsJLyogaGVhcCBwYWdlcyBy ZW1vdmVkIGJ5IHZhY3V1bQorCQkJCQkJCQkJCSAqICJ0cnVuY2F0aW9uIiAqLworCQl9CQkJ dGFibGU7CisJCXN0cnVjdAorCQl7CisJCQlpbnQ2NAkJcGFnZXNfZGVsZXRlZDsJLyogbnVt YmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCX0JCQlpbmRleDsKKwl9IC8q IHBlcl90eXBlX3N0YXRzICovIDsKK30JCQlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHM7 CisKK3R5cGVkZWYgc3RydWN0IFBnU3RhdF9WYWN1dW1SZWxhdGlvblN0YXR1cworeworCU9p ZAkJCWlkOwkJCQkvKiB0YWJsZSdzIE9JRCAqLworCWJvb2wJCXNoYXJlZDsJCQkvKiBpcyBp dCBhIHNoYXJlZCBjYXRhbG9nPyAqLworCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyBj b3VudHM7IC8qIGV2ZW50IGNvdW50cyB0byBiZSBzZW50ICovCit9CQkJUGdTdGF0X1ZhY3V1 bVJlbGF0aW9uU3RhdHVzOworCiAvKiAtLS0tLS0tLS0tCiAgKiBQZ1N0YXRfVGFibGVTdGF0 dXMJCQlQZXItdGFibGUgc3RhdHVzIHdpdGhpbiBhIGJhY2tlbmQKICAqCkBAIC0xODgsNiAr MjU0LDEyIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9UYWJsZVN0YXR1cwogCVJlbGF0aW9u CXJlbGF0aW9uOwkJLyogcmVsIHRoYXQgaXMgdXNpbmcgdGhpcyBlbnRyeSAqLwogfSBQZ1N0 YXRfVGFibGVTdGF0dXM7CiAKK3R5cGVkZWYgc3RydWN0IFBnU3RhdF9SZWxhdGlvblZhY3V1 bVBlbmRpbmcKK3sKKwlPaWQJCQlpZDsJCQkJLyogdGFibGUncyBPSUQgKi8KKwlQZ1N0YXRf VmFjdXVtUmVsYXRpb25Db3VudHMgY291bnRzOyAvKiBldmVudCBjb3VudHMgdG8gYmUgc2Vu dCAqLworfQkJCVBnU3RhdF9SZWxhdGlvblZhY3V1bVBlbmRpbmc7CisKIC8qIC0tLS0tLS0t LS0KICAqIFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMJCVBlci10YWJsZSwgcGVyLXN1YnRyYW5z YWN0aW9uIHN0YXR1cwogICogLS0tLS0tLS0tLQpAQCAtODM4LDYgKzkxMCwxMiBAQCBleHRl cm4gaW50CXBnc3RhdF9nZXRfdHJhbnNhY3Rpb25hbF9kcm9wcyhib29sIGlzQ29tbWl0LCBz dHJ1Y3QgeGxfeGFjdF9zdGF0c19pdAogZXh0ZXJuIHZvaWQgcGdzdGF0X2V4ZWN1dGVfdHJh bnNhY3Rpb25hbF9kcm9wcyhpbnQgbmRyb3BzLCBzdHJ1Y3QgeGxfeGFjdF9zdGF0c19pdGVt ICppdGVtcywgYm9vbCBpc19yZWRvKTsKIAogCitleHRlcm4gdm9pZCBwZ3N0YXRfdmFjdXVt X3JlbGF0aW9uX2RlbGV0ZV9wZW5kaW5nX2NiKE9pZCByZWxpZCk7CitleHRlcm4gdm9pZAor CQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXh0c3RhdHMoT2lkIHRhYmxlb2lkLCBib29sIHNo YXJlZCwKKwkJCQkJCQkJCQkgIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqIHBhcmFt cyk7CitleHRlcm4gUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICogcGdzdGF0X2ZldGNo X3N0YXRfdmFjdXVtX3RhYmVudHJ5KE9pZCByZWxpZCwgT2lkIGRiaWQpOworCiAvKgogICog RnVuY3Rpb25zIGluIHBnc3RhdF93YWwuYwogICovCkBAIC04NTQsNyArOTMyLDcgQEAgZXh0 ZXJuIFBnU3RhdF9XYWxTdGF0cyAqcGdzdGF0X2ZldGNoX3N0YXRfd2FsKHZvaWQpOwogZXh0 ZXJuIFBHRExMSU1QT1JUIGJvb2wgcGdzdGF0X3RyYWNrX2NvdW50czsKIGV4dGVybiBQR0RM TElNUE9SVCBpbnQgcGdzdGF0X3RyYWNrX2Z1bmN0aW9uczsKIGV4dGVybiBQR0RMTElNUE9S VCBpbnQgcGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5OwotCitleHRlcm4gUEdETExJTVBPUlQg Ym9vbCBwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CiAKIC8qCiAgKiBWYXJpYWJs ZXMgaW4gcGdzdGF0X2Jnd3JpdGVyLmMKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxz L3Bnc3RhdF9pbnRlcm5hbC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFs LmgKaW5kZXggZmU0NjNmYWFmNi4uNDZhMTI3YWYyYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdz dGF0X2ludGVybmFsLmgKQEAgLTUwNyw2ICs1MDcsMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdT dGF0U2hhcmVkX1JlbGF0aW9uCiAJUGdTdGF0X1N0YXRUYWJFbnRyeSBzdGF0czsKIH0gUGdT dGF0U2hhcmVkX1JlbGF0aW9uOwogCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRTaGFyZWRfVmFj dXVtUmVsYXRpb24KK3sKKwlQZ1N0YXRTaGFyZWRfQ29tbW9uIGhlYWRlcjsKKwlQZ1N0YXRf VmFjdXVtUmVsYXRpb25Db3VudHMgc3RhdHM7Cit9CQkJUGdTdGF0U2hhcmVkX1ZhY3V1bVJl bGF0aW9uOworCiB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRTaGFyZWRfRnVuY3Rpb24KIHsKIAlQ Z1N0YXRTaGFyZWRfQ29tbW9uIGhlYWRlcjsKQEAgLTY4OSw2ICs2OTUsOCBAQCBleHRlcm4g dm9pZCAqcGdzdGF0X2ZldGNoX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBkYm9pZCwg dWludDY0IG9iamlkLAogCQkJCQkJCQlib29sICptYXlfZnJlZSk7CiBleHRlcm4gdm9pZCBw Z3N0YXRfc25hcHNob3RfZml4ZWQoUGdTdGF0X0tpbmQga2luZCk7CiAKK2V4dGVybiBib29s IHBnc3RhdF92YWN1dW1fcmVsYXRpb25fZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRy eV9yZWYsIGJvb2wgbm93YWl0KTsKKwogCiAvKgogICogRnVuY3Rpb25zIGluIHBnc3RhdF9h cmNoaXZlci5jCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfa2luZC5o IGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2tpbmQuaAppbmRleCAyZDc4YTAyOTY4Li5m OTIxNDkwNjZjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfa2luZC5o CisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9raW5kLmgKQEAgLTM5LDkgKzM5LDEw IEBACiAjZGVmaW5lIFBHU1RBVF9LSU5EX0xPQ0sJMTEKICNkZWZpbmUgUEdTVEFUX0tJTkRf U0xSVQkxMgogI2RlZmluZSBQR1NUQVRfS0lORF9XQUwJMTMKKyNkZWZpbmUgUEdTVEFUX0tJ TkRfVkFDVVVNX1JFTEFUSU9OCTE0CiAKICNkZWZpbmUgUEdTVEFUX0tJTkRfQlVJTFRJTl9N SU4gUEdTVEFUX0tJTkRfREFUQUJBU0UKLSNkZWZpbmUgUEdTVEFUX0tJTkRfQlVJTFRJTl9N QVggUEdTVEFUX0tJTkRfV0FMCisjZGVmaW5lIFBHU1RBVF9LSU5EX0JVSUxUSU5fTUFYIFBH U1RBVF9LSU5EX1ZBQ1VVTV9SRUxBVElPTgogI2RlZmluZSBQR1NUQVRfS0lORF9CVUlMVElO X1NJWkUgKFBHU1RBVF9LSU5EX0JVSUxUSU5fTUFYICsgMSkKIAogLyogQ3VzdG9tIHN0YXRz IGtpbmRzICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVz Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDA5NmU0 Zjc2M2YuLjhmNzc5YTkyZmYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0 CkBAIC0yNDIxLDYgKzI0MjEsMzAgQEAgcGdfc3RhdF91c2VyX3RhYmxlc3wgU0VMRUNUIHJl bGlkLAogICAgIGZyb3plbl9wYWdlX21hcmtzX2NsZWFyZWQKICAgIEZST00gcGdfc3RhdF9h bGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRh bG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFu YW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV9pbmRleGVzfCBT RUxFQ1QgYy5vaWQgQVMgcmVsaWQsCisgICAgaS5vaWQgQVMgaW5kZXhyZWxpZCwKKyAgICBu Lm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAgICBjLnJlbG5hbWUsCisgICAgaS5yZWxuYW1l IEFTIGluZGV4cmVsbmFtZSwKKyAgICBzLnBhZ2VzX2RlbGV0ZWQsCisgICAgcy50dXBsZXNf ZGVsZXRlZAorICAgRlJPTSAoKChwZ19jbGFzcyBjCisgICAgIEpPSU4gcGdfaW5kZXggeCBP TiAoKGMub2lkID0geC5pbmRyZWxpZCkpKQorICAgICBKT0lOIHBnX2NsYXNzIGkgT04gKChp Lm9pZCA9IHguaW5kZXhyZWxpZCkpKQorICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIG4g T04gKChuLm9pZCA9IGMucmVsbmFtZXNwYWNlKSkpLAorICAgIExBVEVSQUwgcGdfc3RhdF9n ZXRfdmFjdXVtX2luZGV4ZXMoaS5vaWQpIHMocmVsaWQsIHBhZ2VzX2RlbGV0ZWQsIHR1cGxl c19kZWxldGVkKQorICBXSEVSRSAoYy5yZWxraW5kID0gQU5ZIChBUlJBWVsncic6OiJjaGFy IiwgJ3QnOjoiY2hhciIsICdtJzo6ImNoYXIiXSkpOworcGdfc3RhdF92YWN1dW1fdGFibGVz fCBTRUxFQ1Qgbi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgICAgYy5yZWxuYW1lLAorICAg IHMucmVsaWQsCisgICAgcy5wYWdlc19zY2FubmVkLAorICAgIHMucGFnZXNfcmVtb3ZlZCwK KyAgICBzLnR1cGxlc19kZWxldGVkLAorICAgIHMudHVwbGVzX2Zyb3plbgorICAgRlJPTSAo cGdfY2xhc3MgYworICAgICBKT0lOIHBnX25hbWVzcGFjZSBuIE9OICgobi5vaWQgPSBjLnJl bG5hbWVzcGFjZSkpKSwKKyAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMo Yy5vaWQpIHMocmVsaWQsIHBhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHR1cGxlc19k ZWxldGVkLCB0dXBsZXNfZnJvemVuKQorICBXSEVSRSAoYy5yZWxraW5kID0gQU5ZIChBUlJB WVsncic6OiJjaGFyIiwgJ3QnOjoiY2hhciIsICdtJzo6ImNoYXIiXSkpOwogcGdfc3RhdF93 YWx8IFNFTEVDVCB3YWxfcmVjb3JkcywKICAgICB3YWxfZnBpLAogICAgIHdhbF9ieXRlcywK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91dApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5jYWZhYTliZGQ5Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fc3RhdHMub3V0CkBA IC0wLDAgKzEsMTE0IEBACistLQorLS0gRXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgdmll d3MgKHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgX2luZGV4ZXMsIF9kYXRhYmFzZSkKKy0tCitT RVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgPSBvbjsKK0NSRUFURSBUQUJMRSB2YWNzdGF0 X3QgKGlkIGludCBQUklNQVJZIEtFWSwgdiB0ZXh0KQorICBXSVRIIChhdXRvdmFjdXVtX2Vu YWJsZWQgPSBvZmYpOworSU5TRVJUIElOVE8gdmFjc3RhdF90IFNFTEVDVCBnLCByZXBlYXQo J3gnLCAyMCkgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwMCkgZzsKK0RFTEVURSBGUk9N IHZhY3N0YXRfdCBXSEVSRSBpZCAlIDIgPSAwOworVkFDVVVNIHZhY3N0YXRfdDsKK1NFTEVD VCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1 c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCistLSBjb3Jl IGhlYXAtcGFnZSBhbmQgdHVwbGUgbWV0cmljcy4gIFRoaXMgVkFDVVVNIHJ1bnMgd2l0aG91 dCBjb25jdXJyZW50CistLSBhY3Rpdml0eTogdGhlIHN1cnZpdmluZyB0dXBsZXMgYXJlIHRv byBmcmVzaCB0byBiZSBmcm96ZW4gKHR1cGxlc19mcm96ZW4gPSAwKQorLS0gYW5kIHRoZSBp bnRlcmxlYXZlZCBkZWxldGlvbnMgbGVhdmUgbm8gdHJhaWxpbmcgZW1wdHkgcGFnZXMgdG8g dHJ1bmNhdGUKKy0tIChwYWdlc19yZW1vdmVkID0gMCkuCitTRUxFQ1QgcGFnZXNfc2Nhbm5l ZCA+IDAgQVMgcGFnZXNfc2Nhbm5lZCwKKyAgICAgICBwYWdlc19yZW1vdmVkID0gMCBBUyBw YWdlc19yZW1vdmVkLAorICAgICAgIHR1cGxlc19kZWxldGVkID0gNTAwIEFTIHR1cGxlc19k ZWxldGVkLAorICAgICAgIHR1cGxlc19mcm96ZW4gPSAwIEFTIHR1cGxlc19mcm96ZW4KKyAg RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2YWNzdGF0X3Qn OworIHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIHwgdHVwbGVzX2RlbGV0ZWQgfCB0 dXBsZXNfZnJvemVuIAorLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHQgICAgICAgICAgICAgfCB0ICAgICAgICAg ICAgIHwgdCAgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKKy0tIHBhZ2VzX3JlbW92ZWQg cGF0aDogZGVsZXRpbmcgZXZlcnkgdHVwbGUgbGV0cyBWQUNVVU0gdHJ1bmNhdGUgdGhlIG5v dy1lbXB0eQorLS0gdHJhaWxpbmcgaGVhcCBwYWdlcywgc28gcGFnZXNfcmVtb3ZlZCBhZHZh bmNlcy4KK0NSRUFURSBUQUJMRSB2YWNzdGF0X3RydW5jIChpZCBpbnQpCisgIFdJVEggKGF1 dG92YWN1dW1fZW5hYmxlZCA9IG9mZik7CitJTlNFUlQgSU5UTyB2YWNzdGF0X3RydW5jIFNF TEVDVCBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwMDApOworREVMRVRFIEZST00gdmFjc3RhdF90 cnVuYzsKK1ZBQ1VVTSB2YWNzdGF0X3RydW5jOworU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4 dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1NFTEVDVCBwYWdlc19yZW1vdmVkID4gMCBB UyBwYWdlc19yZW1vdmVkLAorICAgICAgIHR1cGxlc19kZWxldGVkID0gMTAwMDAgQVMgdHVw bGVzX2RlbGV0ZWQKKyAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2YWNzdGF0X3RydW5jJzsKKyBwYWdlc19yZW1vdmVkIHwgdHVwbGVzX2RlbGV0ZWQg CistLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHQgICAgICAgICAgICAgfCB0 CisoMSByb3cpCisKK0RST1AgVEFCTEUgdmFjc3RhdF90cnVuYzsKKy0tIHR1cGxlc19mcm96 ZW4gcGF0aDogYW4gYWdncmVzc2l2ZSBWQUNVVU0gKEZSRUVaRSkgZnJlZXplcyBhbGwgbGl2 ZSB0dXBsZXMsCistLSBzbyB0dXBsZXNfZnJvemVuIGFkdmFuY2VzLgorQ1JFQVRFIFRBQkxF IHZhY3N0YXRfZnJlZXplICh4IGludCkKKyAgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0g b2ZmKTsKK0lOU0VSVCBJTlRPIHZhY3N0YXRfZnJlZXplIFNFTEVDVCBnZW5lcmF0ZV9zZXJp ZXMoMSwgMTAwMCk7CitWQUNVVU0gKEZSRUVaRSkgdmFjc3RhdF9mcmVlemU7CitTRUxFQ1Qg cGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNo IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUIHR1 cGxlc19mcm96ZW4gPiAwIEFTIHR1cGxlc19mcm96ZW4KKyAgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2YWNzdGF0X2ZyZWV6ZSc7CisgdHVwbGVzX2Zy b3plbiAKKy0tLS0tLS0tLS0tLS0tLQorIHQKKygxIHJvdykKKworRFJPUCBUQUJMRSB2YWNz dGF0X2ZyZWV6ZTsKKy0tIHBlci1pbmRleCB2aWV3OiB0aGUgcHJpbWFyeSBrZXkgaW5kZXgg aXMgcHJvY2Vzc2VkIGJ5IHRoZSBzYW1lIFZBQ1VVTS4KKy0tIE5vIGJ0cmVlIGxlYWYgZW1w dGllcyBvdXQgKGludGVybGVhdmVkIGRlbGV0aW9ucyksIHNvIHBhZ2VzX2RlbGV0ZWQgPSAw LAorLS0gd2hpbGUgZXZlcnkgaW5kZXggZW50cnkgZm9yIGEgcmVtb3ZlZCBoZWFwIHR1cGxl IGlzIGRlbGV0ZWQuCitTRUxFQ1QgaW5kZXhyZWxuYW1lLAorICAgICAgIHBhZ2VzX2RlbGV0 ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsCisgICAgICAgdHVwbGVzX2RlbGV0ZWQgPSA1MDAg QVMgdHVwbGVzX2RlbGV0ZWQKKyAgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJF IHJlbG5hbWUgPSAndmFjc3RhdF90JyBPUkRFUiBCWSBpbmRleHJlbG5hbWU7CisgIGluZGV4 cmVsbmFtZSAgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmFjc3RhdF90X3Br ZXkgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCistLSBpbmRleCBwYWdlLWRlbGV0 aW9uIHBhdGg6IGRlbGV0aW5nIGEgY29udGlndW91cyBrZXkgcmFuZ2UgZW1wdGllcyB3aG9s ZQorLS0gYnRyZWUgbGVhZiBwYWdlcywgd2hpY2ggVkFDVVVNIHRoZW4gZGVsZXRlcyAocGFn ZXNfZGVsZXRlZCA+IDApLCBhbmQgZXZlcnkKKy0tIHJlbW92ZWQgaW5kZXggZW50cnkgaXMg Y291bnRlZCAodHVwbGVzX2RlbGV0ZWQpLgorQ1JFQVRFIFRBQkxFIHZhY3N0YXRfaWR4ZGVs IChpZCBpbnQgUFJJTUFSWSBLRVksIHYgdGV4dCkKKyAgV0lUSCAoYXV0b3ZhY3V1bV9lbmFi bGVkID0gb2ZmKTsKK0lOU0VSVCBJTlRPIHZhY3N0YXRfaWR4ZGVsIFNFTEVDVCBnLCByZXBl YXQoJ3gnLCAyMCkgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwMDApIGc7CitWQUNVVU0g dmFjc3RhdF9pZHhkZWw7CitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7Cisg cGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAKKygxIHJvdykKKworREVMRVRFIEZST00gdmFjc3RhdF9pZHhkZWwgV0hFUkUgaWQgPD0g OTAwMDsKK1ZBQ1VVTSB2YWNzdGF0X2lkeGRlbDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25l eHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitTRUxFQ1QgaW5kZXhyZWxuYW1lLAorICAg ICAgIHBhZ2VzX2RlbGV0ZWQgPiAwIEFTIHBhZ2VzX2RlbGV0ZWQsCisgICAgICAgdHVwbGVz X2RlbGV0ZWQgPSA5MDAwIEFTIHR1cGxlc19kZWxldGVkCisgIEZST00gcGdfc3RhdF92YWN1 dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3ZhY3N0YXRfaWR4ZGVsJyBPUkRFUiBCWSBp bmRleHJlbG5hbWU7CisgICAgaW5kZXhyZWxuYW1lICAgICB8IHBhZ2VzX2RlbGV0ZWQgfCB0 dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLQorIHZhY3N0YXRfaWR4ZGVsX3BrZXkgfCB0ICAgICAgICAgICAg IHwgdAorKDEgcm93KQorCitEUk9QIFRBQkxFIHZhY3N0YXRfaWR4ZGVsOwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jl c3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggOGZhMGE2YzQ3Zi4uM2M3MzIwN2E5ZiAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBAIC05MSw2ICs5MSw5IEBAIHRlc3Q6 IHNlbGVjdF9wYXJhbGxlbAogdGVzdDogd3JpdGVfcGFyYWxsZWwKIHRlc3Q6IHZhY3V1bV9w YXJhbGxlbAogCisjIGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHZpZXdzCit0ZXN0OiB2 YWN1dW1fc3RhdHMKKwogIyBSdW4gdGhpcyBhbG9uZSwgYmVjYXVzZSBjb25jdXJyZW50IERS T1AgVEFCTEUgd291bGQgbWFrZSBub24tc3VwZXJ1c2VyCiAjICJBTkFMWVpFOyIgZmFpbCB3 aXRoICJyZWxhdGlvbiB3aXRoIE9JRCAkbiBkb2VzIG5vdCBleGlzdCIuCiB0ZXN0OiBtYWlu dGFpbl9ldmVyeQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3N0 YXRzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNjA2MWY0MzNhMwotLS0gL2Rldi9u dWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwKQEAgLTAs MCArMSw3MCBAQAorLS0KKy0tIEV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHZpZXdzIChw Z19zdGF0X3ZhY3V1bV90YWJsZXMsIF9pbmRleGVzLCBfZGF0YWJhc2UpCistLQorU0VUIHRy YWNrX3ZhY3V1bV9zdGF0aXN0aWNzID0gb247CisKK0NSRUFURSBUQUJMRSB2YWNzdGF0X3Qg KGlkIGludCBQUklNQVJZIEtFWSwgdiB0ZXh0KQorICBXSVRIIChhdXRvdmFjdXVtX2VuYWJs ZWQgPSBvZmYpOworSU5TRVJUIElOVE8gdmFjc3RhdF90IFNFTEVDVCBnLCByZXBlYXQoJ3gn LCAyMCkgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwMCkgZzsKK0RFTEVURSBGUk9NIHZh Y3N0YXRfdCBXSEVSRSBpZCAlIDIgPSAwOworVkFDVVVNIHZhY3N0YXRfdDsKK1NFTEVDVCBw Z19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKworLS0gY29yZSBoZWFwLXBhZ2UgYW5kIHR1 cGxlIG1ldHJpY3MuICBUaGlzIFZBQ1VVTSBydW5zIHdpdGhvdXQgY29uY3VycmVudAorLS0g YWN0aXZpdHk6IHRoZSBzdXJ2aXZpbmcgdHVwbGVzIGFyZSB0b28gZnJlc2ggdG8gYmUgZnJv emVuICh0dXBsZXNfZnJvemVuID0gMCkKKy0tIGFuZCB0aGUgaW50ZXJsZWF2ZWQgZGVsZXRp b25zIGxlYXZlIG5vIHRyYWlsaW5nIGVtcHR5IHBhZ2VzIHRvIHRydW5jYXRlCistLSAocGFn ZXNfcmVtb3ZlZCA9IDApLgorU0VMRUNUIHBhZ2VzX3NjYW5uZWQgPiAwIEFTIHBhZ2VzX3Nj YW5uZWQsCisgICAgICAgcGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZCwKKyAg ICAgICB0dXBsZXNfZGVsZXRlZCA9IDUwMCBBUyB0dXBsZXNfZGVsZXRlZCwKKyAgICAgICB0 dXBsZXNfZnJvemVuID0gMCBBUyB0dXBsZXNfZnJvemVuCisgIEZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3RhdF90JzsKKworLS0gcGFnZXNfcmVt b3ZlZCBwYXRoOiBkZWxldGluZyBldmVyeSB0dXBsZSBsZXRzIFZBQ1VVTSB0cnVuY2F0ZSB0 aGUgbm93LWVtcHR5CistLSB0cmFpbGluZyBoZWFwIHBhZ2VzLCBzbyBwYWdlc19yZW1vdmVk IGFkdmFuY2VzLgorQ1JFQVRFIFRBQkxFIHZhY3N0YXRfdHJ1bmMgKGlkIGludCkKKyAgV0lU SCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmKTsKK0lOU0VSVCBJTlRPIHZhY3N0YXRfdHJ1 bmMgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLCAxMDAwMCk7CitERUxFVEUgRlJPTSB2YWNz dGF0X3RydW5jOworVkFDVVVNIHZhY3N0YXRfdHJ1bmM7CitTRUxFQ1QgcGdfc3RhdF9mb3Jj ZV9uZXh0X2ZsdXNoKCk7CitTRUxFQ1QgcGFnZXNfcmVtb3ZlZCA+IDAgQVMgcGFnZXNfcmVt b3ZlZCwKKyAgICAgICB0dXBsZXNfZGVsZXRlZCA9IDEwMDAwIEFTIHR1cGxlc19kZWxldGVk CisgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3Rh dF90cnVuYyc7CitEUk9QIFRBQkxFIHZhY3N0YXRfdHJ1bmM7CisKKy0tIHR1cGxlc19mcm96 ZW4gcGF0aDogYW4gYWdncmVzc2l2ZSBWQUNVVU0gKEZSRUVaRSkgZnJlZXplcyBhbGwgbGl2 ZSB0dXBsZXMsCistLSBzbyB0dXBsZXNfZnJvemVuIGFkdmFuY2VzLgorQ1JFQVRFIFRBQkxF IHZhY3N0YXRfZnJlZXplICh4IGludCkKKyAgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0g b2ZmKTsKK0lOU0VSVCBJTlRPIHZhY3N0YXRfZnJlZXplIFNFTEVDVCBnZW5lcmF0ZV9zZXJp ZXMoMSwgMTAwMCk7CitWQUNVVU0gKEZSRUVaRSkgdmFjc3RhdF9mcmVlemU7CitTRUxFQ1Qg cGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CitTRUxFQ1QgdHVwbGVzX2Zyb3plbiA+IDAg QVMgdHVwbGVzX2Zyb3plbgorICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSBy ZWxuYW1lID0gJ3ZhY3N0YXRfZnJlZXplJzsKK0RST1AgVEFCTEUgdmFjc3RhdF9mcmVlemU7 CisKKy0tIHBlci1pbmRleCB2aWV3OiB0aGUgcHJpbWFyeSBrZXkgaW5kZXggaXMgcHJvY2Vz c2VkIGJ5IHRoZSBzYW1lIFZBQ1VVTS4KKy0tIE5vIGJ0cmVlIGxlYWYgZW1wdGllcyBvdXQg KGludGVybGVhdmVkIGRlbGV0aW9ucyksIHNvIHBhZ2VzX2RlbGV0ZWQgPSAwLAorLS0gd2hp bGUgZXZlcnkgaW5kZXggZW50cnkgZm9yIGEgcmVtb3ZlZCBoZWFwIHR1cGxlIGlzIGRlbGV0 ZWQuCitTRUxFQ1QgaW5kZXhyZWxuYW1lLAorICAgICAgIHBhZ2VzX2RlbGV0ZWQgPSAwIEFT IHBhZ2VzX2RlbGV0ZWQsCisgICAgICAgdHVwbGVzX2RlbGV0ZWQgPSA1MDAgQVMgdHVwbGVz X2RlbGV0ZWQKKyAgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUg PSAndmFjc3RhdF90JyBPUkRFUiBCWSBpbmRleHJlbG5hbWU7CisKKy0tIGluZGV4IHBhZ2Ut ZGVsZXRpb24gcGF0aDogZGVsZXRpbmcgYSBjb250aWd1b3VzIGtleSByYW5nZSBlbXB0aWVz IHdob2xlCistLSBidHJlZSBsZWFmIHBhZ2VzLCB3aGljaCBWQUNVVU0gdGhlbiBkZWxldGVz IChwYWdlc19kZWxldGVkID4gMCksIGFuZCBldmVyeQorLS0gcmVtb3ZlZCBpbmRleCBlbnRy eSBpcyBjb3VudGVkICh0dXBsZXNfZGVsZXRlZCkuCitDUkVBVEUgVEFCTEUgdmFjc3RhdF9p ZHhkZWwgKGlkIGludCBQUklNQVJZIEtFWSwgdiB0ZXh0KQorICBXSVRIIChhdXRvdmFjdXVt X2VuYWJsZWQgPSBvZmYpOworSU5TRVJUIElOVE8gdmFjc3RhdF9pZHhkZWwgU0VMRUNUIGcs IHJlcGVhdCgneCcsIDIwKSBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAxMDAwMCkgZzsKK1ZB Q1VVTSB2YWNzdGF0X2lkeGRlbDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKK0RFTEVURSBGUk9NIHZhY3N0YXRfaWR4ZGVsIFdIRVJFIGlkIDw9IDkwMDA7CitWQUNV VU0gdmFjc3RhdF9pZHhkZWw7CitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7 CitTRUxFQ1QgaW5kZXhyZWxuYW1lLAorICAgICAgIHBhZ2VzX2RlbGV0ZWQgPiAwIEFTIHBh Z2VzX2RlbGV0ZWQsCisgICAgICAgdHVwbGVzX2RlbGV0ZWQgPSA5MDAwIEFTIHR1cGxlc19k ZWxldGVkCisgIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0g J3ZhY3N0YXRfaWR4ZGVsJyBPUkRFUiBCWSBpbmRleHJlbG5hbWU7CitEUk9QIFRBQkxFIHZh Y3N0YXRfaWR4ZGVsOwotLSAKMi4zOS41IChBcHBsZSBHaXQtMTU0KQoK --------------iWaNFCp60Ha1jovLeWGuqq8d Content-Type: text/plain; charset=UTF-8; name="0003-Extended-vacuum-statistics-recently-dead-and-missed-.patch" Content-Disposition: attachment; filename*0="0003-Extended-vacuum-statistics-recently-dead-and-missed-.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBmZmI4YTI0ZDk3NzJhYzViYzQwODk2Mjc1MDI4MGY5ZDM4ODY5OTBmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YWxlbmthLnJ5YmFraW5h QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNiBKdW4gMjAyNiAxMDo0MToyNCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMy85XSBFeHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljczogcmVjZW50bHkt ZGVhZCBhbmQgbWlzc2VkIGRlYWQKIHR1cGxlcyBmb3IgdGFibGVzCgpFeHBvc2UgdGhlIGNv dW50ZXJzIGZvciBkZWFkIHR1cGxlcyB0aGF0IFZBQ1VVTSBjb3VsZCBub3QgcmVtb3ZlLCB3 aXRoCmRvY3VtZW50YXRpb24gYW5kIHJlZ3Jlc3Npb24gY292ZXJhZ2U6CgogIHJlY2VudGx5 X2RlYWRfdHVwbGVzICBkZWFkIHR1cGxlcyBzdGlsbCB2aXNpYmxlIHRvIHNvbWUgdHJhbnNh Y3Rpb24gYW5kCiAgICAgICAgICAgICAgICAgICAgICAgIHRoZXJlZm9yZSBub3QgeWV0IHJl bW92YWJsZQogIG1pc3NlZF9kZWFkX3R1cGxlcyAgICBkZWFkIHR1cGxlcyBza2lwcGVkIGJl Y2F1c2UgdGhlaXIgaGVhcCBwYWdlIGNvdWxkIG5vdAogICAgICAgICAgICAgICAgICAgICAg ICBiZSBjbGVhbnVwLWxvY2tlZAogIG1pc3NlZF9kZWFkX3BhZ2VzICAgICBoZWFwIHBhZ2Vz IHRoYXQgY29udGFpbmVkIHN1Y2ggc2tpcHBlZCBkZWFkIHR1cGxlcwoKVGhlc2Ugbm9uLXpl cm8gcGF0aHMgcmVxdWlyZSBjb25jdXJyZW50IGFjdGl2aXR5IHRoYXQgYW4gb3JkaW5hcnkg cmVncmVzc2lvbgp0ZXN0IGNhbm5vdCBjcmVhdGUgZGV0ZXJtaW5pc3RpY2FsbHksIHNvIHRo ZXkgYXJlIGNvdmVyZWQgYnkgYSBkZWRpY2F0ZWQgVEFQCnRlc3QsIHNyYy90ZXN0L21vZHVs ZXMvdGVzdF9taXNjL3QvMDE0X3ZhY3V1bV9zdGF0cy5wbDogYSBoZWxkIFJFUEVBVEFCTEUg UkVBRApzbmFwc2hvdCBrZWVwcyByZWNlbnRseSBkZWxldGVkIHR1cGxlcyB2aXNpYmxlIChy ZWNlbnRseV9kZWFkX3R1cGxlcyksIGFuZCBhCmNvbmN1cnJlbnRseSBwaW5uZWQgaGVhcCBw YWdlIHByZXZlbnRzIGNsZWFudXAgKG1pc3NlZF9kZWFkX3R1cGxlcyAvCm1pc3NlZF9kZWFk X3BhZ2VzKS4KLS0tCiBkb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwgICAgICAgICAg ICAgICAgfCAyNCArKysrKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenku YyAgICAgICAgICB8ICAzICsKIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bCAgICAgICAgICB8ICA1ICstCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRf dmFjdXVtLmMgICAgfCAgMyArCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3Mu YyAgICAgICAgICAgfCAgNSArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAg ICAgICAgICAgICAgIHwgIDYgKy0KIHNyYy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICA3ICsrCiBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy9tZXNv bi5idWlsZCAgICAgICAgfCAgMSArCiAuLi4vbW9kdWxlcy90ZXN0X21pc2MvdC8wMTRfdmFj dXVtX3N0YXRzLnBsICAgfCA4NCArKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAgICAgfCAgNyArLQogc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC92YWN1dW1fc3RhdHMub3V0ICAgIHwgMTUgKysrKwogc3JjL3Rlc3Qv cmVncmVzcy9zcWwvdmFjdXVtX3N0YXRzLnNxbCAgICAgICAgIHwgMTEgKysrCiAxMiBmaWxl cyBjaGFuZ2VkLCAxNjQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy90LzAxNF92YWN1dW1fc3Rh dHMucGwKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwgYi9k b2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKaW5kZXggMTk1NzYwMThkZi4uYjk2YzY1 MzkyOSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCisrKyBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbApAQCAtNTg2OCw2ICs1ODY4LDMwIEBA IFNFTEVDVCAqIEZST00gcGdfbG9ja3MgcGwgTEVGVCBKT0lOIHBnX3ByZXBhcmVkX3hhY3Rz IHBweAogICAgICAgIE51bWJlciBvZiB0dXBsZXMgZnJvemVuIGJ5IHRoZSB2YWN1dW0uCiAg ICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWNlbnRseV9kZWFkX3R1cGxlczwv c3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgIE51bWJlciBvZiBkZWFkIHR1cGxlcyB0aGF0IGFyZSBzdGlsbCB2 aXNpYmxlIHRvIHNvbWUgdHJhbnNhY3Rpb24gYW5kIHRoZXJlZm9yZSBjb3VsZCBub3QgeWV0 IGJlIHJlbW92ZWQuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5taXNzZWRf ZGVhZF9wYWdlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBvZiBoZWFwIHBhZ2VzIGNvbnRh aW5pbmcgZGVhZCB0dXBsZXMgdGhhdCB0aGUgdmFjdXVtIGNvdWxkIG5vdCByZW1vdmUgYmVj YXVzZSBpdCBmYWlsZWQgdG8gYWNxdWlyZSBhIGNsZWFudXAgbG9jay4KKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPm1pc3NlZF9kZWFkX3R1cGxlczwvc3RydWN0ZmllbGQ+ IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgIE51bWJlciBvZiBkZWFkIHR1cGxlcyB0aGF0IHRoZSB2YWN1dW0gY291bGQgbm90IHJl bW92ZSBiZWNhdXNlIGl0IGZhaWxlZCB0byBhY3F1aXJlIGEgY2xlYW51cCBsb2NrIG9uIHRo ZWlyIHBhZ2UuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CiAgICAgPC90 Ym9keT4KICAgIDwvdGdyb3VwPgogICA8L3RhYmxlPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCmluZGV4IGZmY2ZhM2QxNmEuLjdhYmM4M2RiZmQgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2Vu ZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTYzMCw2ICs2MzAsOSBAQCBhY2N1bXVs YXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLAogCWV4dFZh Y1N0YXRzLT50YWJsZS5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2VzOwog CWV4dFZhY1N0YXRzLT5jb21tb24udHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19k ZWxldGVkOwogCWV4dFZhY1N0YXRzLT50YWJsZS50dXBsZXNfZnJvemVuID0gdmFjcmVsLT50 dXBsZXNfZnJvemVuOworCWV4dFZhY1N0YXRzLT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxl cyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxl Lm1pc3NlZF9kZWFkX3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKKwlleHRW YWNTdGF0cy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVsLT5taXNzZWRfZGVh ZF90dXBsZXM7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5 c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwK aW5kZXggMDRjYTM4ZTUxYy4uNmY2OTdhYjM5MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbApAQCAtMTU2OSw3ICsxNTY5LDEwIEBAIENSRUFURSBWSUVXIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBBUwogICAgICAgICBTLnBhZ2VzX3NjYW5uZWQgQVMgcGFnZXNf c2Nhbm5lZCwKICAgICAgICAgUy5wYWdlc19yZW1vdmVkIEFTIHBhZ2VzX3JlbW92ZWQsCiAg ICAgICAgIFMudHVwbGVzX2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCi0gICAgICAgIFMu dHVwbGVzX2Zyb3plbiBBUyB0dXBsZXNfZnJvemVuCisgICAgICAgIFMudHVwbGVzX2Zyb3pl biBBUyB0dXBsZXNfZnJvemVuLAorICAgICAgICBTLnJlY2VudGx5X2RlYWRfdHVwbGVzIEFT IHJlY2VudGx5X2RlYWRfdHVwbGVzLAorICAgICAgICBTLm1pc3NlZF9kZWFkX3BhZ2VzIEFT IG1pc3NlZF9kZWFkX3BhZ2VzLAorICAgICAgICBTLm1pc3NlZF9kZWFkX3R1cGxlcyBBUyBt aXNzZWRfZGVhZF90dXBsZXMKIAogICAgIEZST00gcGdfY2xhc3MgQyBKT0lOCiAgICAgICAg ICAgICBwZ19uYW1lc3BhY2UgTiBPTiBOLm9pZCA9IEMucmVsbmFtZXNwYWNlLApkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jCmluZGV4IGFjNmJhZWU1 MTYuLjY0NGE3MzI1OTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF92YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXRfdmFjdXVtLmMKQEAgLTUzLDYgKzUzLDkgQEAgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFj X3N0YXRzX3JlbGF0aW9ucyhQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKmRzdCwKIAkJ QUNDVU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgcGFnZXNfc2Nhbm5lZCk7CiAJCUFDQ1VNVUxB VEVfU1VCRklFTEQodGFibGUsIHBhZ2VzX3JlbW92ZWQpOwogCQlBQ0NVTVVMQVRFX1NVQkZJ RUxEKHRhYmxlLCB0dXBsZXNfZnJvemVuKTsKKwkJQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJs ZSwgcmVjZW50bHlfZGVhZF90dXBsZXMpOworCQlBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxl LCBtaXNzZWRfZGVhZF9wYWdlcyk7CisJCUFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUsIG1p c3NlZF9kZWFkX3R1cGxlcyk7CiAJfQogCWVsc2UgaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRf RVhUVkFDX0lOREVYKQogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9w Z3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5k ZXggZTcyZjc2MTgwZS4uNzQyZjQ5NzRkNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3Rh dGZ1bmNzLmMKQEAgLTIzNzQsNyArMjM3NCw3IEBAIHBnX3N0YXRfaGF2ZV9zdGF0cyhQR19G VU5DVElPTl9BUkdTKQogRGF0dW0KIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVO Q1RJT05fQVJHUykKIHsKLSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFU U19DT0xTIDUKKyNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xT IDgKIAogCU9pZAkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKIAlQZ1N0YXRfVmFjdXVt UmVsYXRpb25Db3VudHMgKmV4dHZhY3V1bTsKQEAgLTI0MDQsNiArMjQwNCw5IEBAIHBnX3N0 YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKIAl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5wYWdlc19yZW1vdmVkKTsKIAl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udHVwbGVzX2RlbGV0 ZWQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnR1 cGxlc19mcm96ZW4pOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5taXNzZWRfZGVhZF9wYWdlcyk7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVz KTsKIAogCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09M Uyk7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IDk2MTZhMDE0NjYuLjZkNjgz NDEzYTQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysr IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI2NDMsOSArMTI2NDMs OSBAQAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzJywgcHJvcm93 cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcs IHByb2lzc3RyaWN0ID0+ICdmJywKICAgcHJvcmV0c2V0ID0+ICd0JywKICAgcHJvYXJndHlw ZXMgPT4gJ29pZCcsCi0gIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgs aW50OCxpbnQ4fScsCi0gIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG99JywKLSAgcHJv YXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVk LHR1cGxlc19kZWxldGVkLHR1cGxlc19mcm96ZW59JywKKyAgcHJvYWxsYXJndHlwZXMgPT4g J3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDh9JywKKyAgcHJv YXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAn e3JlbG9pZCxyZWxpZCxwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQsdHVwbGVzX2RlbGV0 ZWQsdHVwbGVzX2Zyb3plbixyZWNlbnRseV9kZWFkX3R1cGxlcyxtaXNzZWRfZGVhZF9wYWdl cyxtaXNzZWRfZGVhZF90dXBsZXN9JywKICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1 dW1fdGFibGVzJyB9CiAKICMgb2lkOCByZWxhdGVkIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCA1Njg2 MjRkZTViLi5iZGNmNzU4NDQxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAor KysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMjExLDEwICsyMTEsMTcgQEAgdHlwZWRl ZiBzdHJ1Y3QgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzCiAJCXN0cnVjdAogCQl7CiAJ CQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJLyogdHVwbGVzIGZyb3plbiB1cCBieSB2YWN1dW0g Ki8KKwkJCWludDY0CQlyZWNlbnRseV9kZWFkX3R1cGxlczsJLyogZGVsZXRlZCB0dXBsZXMg dGhhdCBhcmUKKwkJCQkJCQkJCQkJCSAqIHN0aWxsIHZpc2libGUgdG8gc29tZQorCQkJCQkJ CQkJCQkJICogdHJhbnNhY3Rpb24gKi8KIAkJCWludDY0CQlwYWdlc19zY2FubmVkOwkvKiBo ZWFwIHBhZ2VzIGV4YW1pbmVkIChub3Qgc2tpcHBlZCBieQogCQkJCQkJCQkJCSAqIFZNKSAq LwogCQkJaW50NjQJCXBhZ2VzX3JlbW92ZWQ7CS8qIGhlYXAgcGFnZXMgcmVtb3ZlZCBieSB2 YWN1dW0KIAkJCQkJCQkJCQkgKiAidHJ1bmNhdGlvbiIgKi8KKwkJCWludDY0CQltaXNzZWRf ZGVhZF9wYWdlczsJLyogcGFnZXMgd2l0aCBtaXNzZWQgZGVhZCB0dXBsZXMgKi8KKwkJCWlu dDY0CQltaXNzZWRfZGVhZF90dXBsZXM7IC8qIHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1 bSBkdWUKKwkJCQkJCQkJCQkJICogdG8gZmFpbHVyZSB0byBnZXQgYSBjbGVhbnVwCisJCQkJ CQkJCQkJCSAqIGxvY2sgKi8KIAkJfQkJCXRhYmxlOwogCQlzdHJ1Y3QKIAkJewpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvbWVzb24uYnVpbGQgYi9zcmMvdGVz dC9tb2R1bGVzL3Rlc3RfbWlzYy9tZXNvbi5idWlsZAppbmRleCA5NjllOTBiMzk2Li4yNjcx NDUxNjNhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy9tZXNvbi5i dWlsZAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy9tZXNvbi5idWlsZApAQCAt MjIsNiArMjIsNyBAQCB0ZXN0cyArPSB7CiAgICAgICAndC8wMTFfbG9ja19zdGF0cy5wbCcs CiAgICAgICAndC8wMTJfZGRsdXRpbHMucGwnLAogICAgICAgJ3QvMDEzX3RlbXBfb2JqX211 bHRpc2Vzc2lvbi5wbCcsCisgICAgICAndC8wMTRfdmFjdXVtX3N0YXRzLnBsJywKICAgICBd LAogICAgICMgVGhlIGluamVjdGlvbiBwb2ludHMgYXJlIGNsdXN0ZXItd2lkZSwgc28gZGlz YWJsZSBpbnN0YWxsY2hlY2sKICAgICAncnVubmluZ2NoZWNrJzogZmFsc2UsCmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy90LzAxNF92YWN1dW1fc3RhdHMucGwg Yi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy90LzAxNF92YWN1dW1fc3RhdHMucGwKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uOWI2NGIwOTk2YwotLS0gL2Rl di9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL3QvMDE0X3ZhY3V1bV9z dGF0cy5wbApAQCAtMCwwICsxLDg0IEBACisjIENvcHlyaWdodCAoYykgMjAyNC0yMDI2LCBQ b3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorCisjIFRlc3QgdGhlIHJlY2Vu dGx5X2RlYWRfdHVwbGVzIGFuZCBtaXNzZWRfZGVhZF90dXBsZXMvbWlzc2VkX2RlYWRfcGFn ZXMKKyMgY291bnRlcnMgb2YgdGhlIGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHZpZXcg cGdfc3RhdF92YWN1dW1fdGFibGVzLgorIworIyBUaGVzZSBjb3VudGVycyBkZXBlbmQgb24g aW50ZXItc2Vzc2lvbiB2aXNpYmlsaXR5IGFuZCBvbiBWQUNVVU0ncyBhYmlsaXR5IHRvCisj IGFjcXVpcmUgYSBjbGVhbnVwIGxvY2ssIHNvIHRoZXkgY2Fubm90IGJlIGV4ZXJjaXNlZCBi eSBhbiBvcmRpbmFyeQorIyBzaW5nbGUtc2Vzc2lvbiByZWdyZXNzaW9uIHRlc3QuICBBIGRl ZGljYXRlZCBUQVAgY2x1c3RlciBnaXZlcyB1cyBmdWxsCisjIGNvbnRyb2wgb3ZlciB0aGUg cmVtb3ZhbCBob3Jpem9uIChubyBjb25jdXJyZW50IGJhY2tlbmRzIGhvbGQgaXQgYmFjayks IHdoaWNoCisjIG1ha2VzIHRoZSBvdXRjb21lIGRldGVybWluaXN0aWMgLS0gdW5saWtlIGFu IGlzb2xhdGlvbiB0ZXN0IHJ1bm5pbmcgYWdhaW5zdCBhCisjIHNoYXJlZCByZWdyZXNzaW9u IGNsdXN0ZXIuCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3MgRkFUQUwgPT4gJ2FsbCc7 Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3RlcjsKK3VzZSBQb3N0Z3JlU1FMOjpUZXN0 OjpVdGlsczsKK3VzZSBUZXN0OjpNb3JlOworCitteSAkbm9kZSA9IFBvc3RncmVTUUw6OlRl c3Q6OkNsdXN0ZXItPm5ldygnbWFpbicpOworJG5vZGUtPmluaXQ7Ciskbm9kZS0+YXBwZW5k X2NvbmYoCisJJ3Bvc3RncmVzcWwuY29uZicsIHFxWworYXV0b3ZhY3V1bSA9IG9mZgordHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3MgPSBvbgorXSk7Ciskbm9kZS0+c3RhcnQ7CisKKyMgQSBz bWFsbCB0YWJsZSB0aGF0IGZpdHMgb24gYSBzaW5nbGUgaGVhcCBwYWdlLCBzbyB0aGUgZGVs ZXRlZCB0dXBsZXMgYW5kIHRoZQorIyBwYWdlIHBpbm5lZCBieSB0aGUgY3Vyc29yIGJlbG93 IGFyZSB0aGUgc2FtZSBwYWdlLgorJG5vZGUtPnNhZmVfcHNxbCgKKwkncG9zdGdyZXMnLCBx cVsKK0NSRUFURSBUQUJMRSB2YWNzdGF0X2lzbyAoaWQgaW50LCBpdmFsIGludCkgV0lUSCAo YXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmKTsKK0lOU0VSVCBJTlRPIHZhY3N0YXRfaXNvIFNF TEVDVCBpLCBpIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDUwKSBpOworXSk7CisKKyMgSGVs cGVyOiBmZXRjaCB0aGUgZm91ciBpbnRlcmVzdGluZyBjb3VudGVycyBmb3IgdGhlIHRhYmxl LgorbXkgJHN0YXRzX3F1ZXJ5ID0gcXFbCitTRUxFQ1QgdHVwbGVzX2RlbGV0ZWQsIHJlY2Vu dGx5X2RlYWRfdHVwbGVzLCBtaXNzZWRfZGVhZF90dXBsZXMsIG1pc3NlZF9kZWFkX3BhZ2Vz CisgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3Rh dF9pc28nXTsKKworIyBUaGlzIHNlc3Npb24gZmlyc3QgaG9sZHMgYW4gb2xkIHNuYXBzaG90 IChzbyB0aGUgZGVsZXRlZCB0dXBsZXMgc3RheQorIyByZWNlbnRseSBkZWFkKSwgYW5kIGxh dGVyIHBpbnMgdGhlIGhlYXAgcGFnZSAoc28gVkFDVVVNIGNhbm5vdCBnZXQgYSBjbGVhbnVw CisjIGxvY2sgYW5kIHRoZSBub3ctcmVtb3ZhYmxlIHR1cGxlcyBhcmUgbWlzc2VkIGluc3Rl YWQpLgorbXkgJGhvbGRlciA9ICRub2RlLT5iYWNrZ3JvdW5kX3BzcWwoJ3Bvc3RncmVzJywg b25fZXJyb3Jfc3RvcCA9PiAxKTsKKworIyAxLiBIb2xkIGEgcmVwZWF0YWJsZS1yZWFkIHNu YXBzaG90IHRoYXQgY2FuIHN0aWxsIHNlZSB0aGUgc29vbi10by1iZS1kZWxldGVkCisjICAg IHR1cGxlcywgcHJldmVudGluZyBWQUNVVU0gZnJvbSByZW1vdmluZyB0aGVtLgorJGhvbGRl ci0+cXVlcnlfc2FmZSgKKwknQkVHSU4gVFJBTlNBQ1RJT04gSVNPTEFUSU9OIExFVkVMIFJF UEVBVEFCTEUgUkVBRDsnCisJICAuICcgU0VMRUNUIGNvdW50KCopIEZST00gdmFjc3RhdF9p c287Jyk7CisKKyMgMi4gRGVsZXRlIHRlbiB0dXBsZXMgYW5kIHZhY3V1bS4gIFRoZXkgYXJl IGRlYWQgYnV0IG5vdCB5ZXQgcmVtb3ZhYmxlLCBzbworIyAgICB0aGV5IGFyZSBjb3VudGVk IGFzIHJlY2VudGx5IGRlYWQgYW5kIG5vdCByZW1vdmVkLgorJG5vZGUtPnNhZmVfcHNxbCgn cG9zdGdyZXMnLCAnREVMRVRFIEZST00gdmFjc3RhdF9pc28gV0hFUkUgaWQgPD0gMTA7Jyk7 Ciskbm9kZS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICdWQUNVVU0gdmFjc3RhdF9pc287Jyk7 CitpcyggJG5vZGUtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkc3RhdHNfcXVlcnkpLAorCSIw fDEwfDB8MCIsCisJJ3JlY2VudGx5X2RlYWRfdHVwbGVzIGNvdW50ZWQgd2hpbGUgYW4gb2xk IHNuYXBzaG90IGlzIGhlbGQnKTsKKworIyAzLiBSZWxlYXNlIHRoZSBvbGQgc25hcHNob3Qs IHRoZW4gcGluIHRoZSB0YWJsZSdzIHNpbmdsZSBoZWFwIHBhZ2Ugd2l0aCBhCisjICAgIGN1 cnNvciBzbyBWQUNVVU0gY2Fubm90IGFjcXVpcmUgYSBjbGVhbnVwIGxvY2sgb24gaXQuCisk aG9sZGVyLT5xdWVyeV9zYWZlKCdDT01NSVQ7Jyk7CiskaG9sZGVyLT5xdWVyeV9zYWZlKAor CSdCRUdJTjsgREVDTEFSRSBjIENVUlNPUiBGT1IgU0VMRUNUICogRlJPTSB2YWNzdGF0X2lz bzsnCisJICAuICcgRkVUQ0ggTkVYVCBGUk9NIGM7Jyk7CisKKyMgNC4gVGhlIGRlbGV0ZWQg dHVwbGVzIGFyZSBub3cgcmVtb3ZhYmxlLCBidXQgdGhlIHBhZ2UgaXMgcGlubmVkLCBzbyBh IHBsYWluCisjICAgIFZBQ1VVTSBza2lwcyBpdCB3aXRob3V0IGEgY2xlYW51cCBsb2NrIGFu ZCBjb3VudHMgdGhlIHR1cGxlcyBhcyBtaXNzZWQuCisjICAgIChDb3VudGVycyBhY2N1bXVs YXRlLCBzbyByZWNlbnRseV9kZWFkX3R1cGxlcyBzdGF5cyBhdCAxMC4pCiskbm9kZS0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICdWQUNVVU0gdmFjc3RhdF9pc287Jyk7CitpcyggJG5vZGUt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkc3RhdHNfcXVlcnkpLAorCSIwfDEwfDEwfDEiLAor CSdtaXNzZWRfZGVhZF90dXBsZXMvbWlzc2VkX2RlYWRfcGFnZXMgY291bnRlZCB3aGlsZSB0 aGUgcGFnZSBpcyBwaW5uZWQnKTsKKworIyA1LiBSZWxlYXNlIHRoZSBwaW4gYW5kIHZhY3V1 bSBvbmNlIG1vcmU7IHRoZSB0dXBsZXMgYXJlIGZpbmFsbHkgcmVtb3ZlZC4KKyRob2xkZXIt PnF1ZXJ5X3NhZmUoJ0NPTU1JVDsnKTsKKyRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg J1ZBQ1VVTSB2YWNzdGF0X2lzbzsnKTsKK2lzKCAkbm9kZS0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICRzdGF0c19xdWVyeSksCisJIjEwfDEwfDEwfDEiLAorCSdkZWFkIHR1cGxlcyByZW1v dmVkIG9uY2UgdGhlIHBpbiBpcyByZWxlYXNlZCcpOworCiskaG9sZGVyLT5xdWl0OworJG5v ZGUtPnN0b3A7Citkb25lX3Rlc3RpbmcoKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxl cy5vdXQKaW5kZXggOGY3NzlhOTJmZi4uYTJiMDQ3MmEyZCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9ydWxlcy5vdXQKQEAgLTI0NDAsMTAgKzI0NDAsMTMgQEAgcGdfc3RhdF92YWN1 dW1fdGFibGVzfCBTRUxFQ1Qgbi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCiAgICAgcy5wYWdl c19zY2FubmVkLAogICAgIHMucGFnZXNfcmVtb3ZlZCwKICAgICBzLnR1cGxlc19kZWxldGVk LAotICAgIHMudHVwbGVzX2Zyb3plbgorICAgIHMudHVwbGVzX2Zyb3plbiwKKyAgICBzLnJl Y2VudGx5X2RlYWRfdHVwbGVzLAorICAgIHMubWlzc2VkX2RlYWRfcGFnZXMsCisgICAgcy5t aXNzZWRfZGVhZF90dXBsZXMKICAgIEZST00gKHBnX2NsYXNzIGMKICAgICAgSk9JTiBwZ19u YW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSksCi0gICAgTEFURVJB TCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKGMub2lkKSBzKHJlbGlkLCBwYWdlc19zY2Fu bmVkLCBwYWdlc19yZW1vdmVkLCB0dXBsZXNfZGVsZXRlZCwgdHVwbGVzX2Zyb3plbikKKyAg ICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoYy5vaWQpIHMocmVsaWQsIHBh Z2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJv emVuLCByZWNlbnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2RlYWRfcGFnZXMsIG1pc3NlZF9k ZWFkX3R1cGxlcykKICAgV0hFUkUgKGMucmVsa2luZCA9IEFOWSAoQVJSQVlbJ3InOjoiY2hh ciIsICd0Jzo6ImNoYXIiLCAnbSc6OiJjaGFyIl0pKTsKIHBnX3N0YXRfd2FsfCBTRUxFQ1Qg d2FsX3JlY29yZHMsCiAgICAgd2FsX2ZwaSwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX3N0YXRzLm91dAppbmRleCBjYWZhYTliZGQ5Li5jYjExZDYzODFjIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9zdGF0cy5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fc3RhdHMub3V0CkBAIC02OSw2 ICs2OSwyMSBAQCBTRUxFQ1QgdHVwbGVzX2Zyb3plbiA+IDAgQVMgdHVwbGVzX2Zyb3plbgog KDEgcm93KQogCiBEUk9QIFRBQkxFIHZhY3N0YXRfZnJlZXplOworLS0gZGVhZCB0dXBsZXMg dGhhdCBzdXJ2aXZlZCB0aGlzIHZhY3V1bTogcmVjZW50bHlfZGVhZF90dXBsZXMgYXJlIHN0 aWxsIHZpc2libGUKKy0tIHRvIHNvbWUgdHJhbnNhY3Rpb24sIHdoaWxlIG1pc3NlZF9kZWFk X3BhZ2VzL21pc3NlZF9kZWFkX3R1cGxlcyBjb3VsZCBub3QgYmUKKy0tIHJlbW92ZWQgYmVj YXVzZSB0aGUgcGFnZSB3YXMgcGlubmVkIGJ5IGFub3RoZXIgYmFja2VuZCAoY2xlYW51cCBs b2NrIG5vdAorLS0gYWNxdWlyZWQpLiAgTm9uZSBvY2N1ciBoZXJlLCBzaW5jZSB0aGlzIFZB Q1VVTSBydW5zIHdpdGhvdXQgY29uY3VycmVudAorLS0gYWN0aXZpdHkgKGFsbCA9IDApLiAg VGhlIG5vbi16ZXJvIHBhdGhzIGFyZSBjb3ZlcmVkIGJ5IHRoZQorLS0gdmFjdXVtLWV4dGVu ZGluZy1pbi1yZXBldGFibGUtcmVhZCBpc29sYXRpb24gdGVzdC4KK1NFTEVDVCByZWNlbnRs eV9kZWFkX3R1cGxlcyA9IDAgQVMgcmVjZW50bHlfZGVhZF90dXBsZXMsCisgICAgICAgbWlz c2VkX2RlYWRfcGFnZXMgPSAwIEFTIG1pc3NlZF9kZWFkX3BhZ2VzLAorICAgICAgIG1pc3Nl ZF9kZWFkX3R1cGxlcyA9IDAgQVMgbWlzc2VkX2RlYWRfdHVwbGVzCisgIEZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3RhdF90JzsKKyByZWNlbnRs eV9kZWFkX3R1cGxlcyB8IG1pc3NlZF9kZWFkX3BhZ2VzIHwgbWlzc2VkX2RlYWRfdHVwbGVz IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tCisgdCAgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAg ICB8IHQKKygxIHJvdykKKwogLS0gcGVyLWluZGV4IHZpZXc6IHRoZSBwcmltYXJ5IGtleSBp bmRleCBpcyBwcm9jZXNzZWQgYnkgdGhlIHNhbWUgVkFDVVVNLgogLS0gTm8gYnRyZWUgbGVh ZiBlbXB0aWVzIG91dCAoaW50ZXJsZWF2ZWQgZGVsZXRpb25zKSwgc28gcGFnZXNfZGVsZXRl ZCA9IDAsCiAtLSB3aGlsZSBldmVyeSBpbmRleCBlbnRyeSBmb3IgYSByZW1vdmVkIGhlYXAg dHVwbGUgaXMgZGVsZXRlZC4KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Zh Y3V1bV9zdGF0cy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fc3RhdHMuc3Fs CmluZGV4IDYwNjFmNDMzYTMuLjc1YTVhMDA1MmIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX3N0YXRzLnNxbApAQCAtNDQsNiArNDQsMTcgQEAgU0VMRUNUIHR1cGxlc19mcm96 ZW4gPiAwIEFTIHR1cGxlc19mcm96ZW4KICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg V0hFUkUgcmVsbmFtZSA9ICd2YWNzdGF0X2ZyZWV6ZSc7CiBEUk9QIFRBQkxFIHZhY3N0YXRf ZnJlZXplOwogCistLSBkZWFkIHR1cGxlcyB0aGF0IHN1cnZpdmVkIHRoaXMgdmFjdXVtOiBy ZWNlbnRseV9kZWFkX3R1cGxlcyBhcmUgc3RpbGwgdmlzaWJsZQorLS0gdG8gc29tZSB0cmFu c2FjdGlvbiwgd2hpbGUgbWlzc2VkX2RlYWRfcGFnZXMvbWlzc2VkX2RlYWRfdHVwbGVzIGNv dWxkIG5vdCBiZQorLS0gcmVtb3ZlZCBiZWNhdXNlIHRoZSBwYWdlIHdhcyBwaW5uZWQgYnkg YW5vdGhlciBiYWNrZW5kIChjbGVhbnVwIGxvY2sgbm90CistLSBhY3F1aXJlZCkuICBOb25l IG9jY3VyIGhlcmUsIHNpbmNlIHRoaXMgVkFDVVVNIHJ1bnMgd2l0aG91dCBjb25jdXJyZW50 CistLSBhY3Rpdml0eSAoYWxsID0gMCkuICBUaGUgbm9uLXplcm8gcGF0aHMgYXJlIGNvdmVy ZWQgYnkgdGhlCistLSB2YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkIGlzb2xh dGlvbiB0ZXN0LgorU0VMRUNUIHJlY2VudGx5X2RlYWRfdHVwbGVzID0gMCBBUyByZWNlbnRs eV9kZWFkX3R1cGxlcywKKyAgICAgICBtaXNzZWRfZGVhZF9wYWdlcyA9IDAgQVMgbWlzc2Vk X2RlYWRfcGFnZXMsCisgICAgICAgbWlzc2VkX2RlYWRfdHVwbGVzID0gMCBBUyBtaXNzZWRf ZGVhZF90dXBsZXMKKyAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2YWNzdGF0X3QnOworCiAtLSBwZXItaW5kZXggdmlldzogdGhlIHByaW1hcnkga2V5 IGluZGV4IGlzIHByb2Nlc3NlZCBieSB0aGUgc2FtZSBWQUNVVU0uCiAtLSBObyBidHJlZSBs ZWFmIGVtcHRpZXMgb3V0IChpbnRlcmxlYXZlZCBkZWxldGlvbnMpLCBzbyBwYWdlc19kZWxl dGVkID0gMCwKIC0tIHdoaWxlIGV2ZXJ5IGluZGV4IGVudHJ5IGZvciBhIHJlbW92ZWQgaGVh cCB0dXBsZSBpcyBkZWxldGVkLgotLSAKMi4zOS41IChBcHBsZSBHaXQtMTU0KQoK --------------iWaNFCp60Ha1jovLeWGuqq8d Content-Type: text/plain; charset=UTF-8; name="0004-Extended-vacuum-statistics-WAL-metrics-and-the-sampl.patch" Content-Disposition: attachment; filename*0="0004-Extended-vacuum-statistics-WAL-metrics-and-the-sampl.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBhZDBhOGJhZDJjYzMxODQwYjllYmE4MzIxNmIzYmU0OWRjM2IwYjkzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YWxlbmthLnJ5YmFraW5h QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxNyBKdW4gMjAyNiAyMToyMTo0NCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNC85XSBFeHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljczogV0FMIG1ldHJp Y3MgYW5kIHRoZSBzYW1wbGluZwogbWFjaGluZXJ5CgpJbnRyb2R1Y2UgdGhlIHJlc291cmNl LXVzYWdlIHNhbXBsaW5nIG1hY2hpbmVyeSBmb3IgZXh0ZW5kZWQgdmFjdXVtCnN0YXRpc3Rp Y3MgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3Qgc2FtcGxlZCBtZXRyaWMsIHRoZSBXQUwgY291 bnRlcnMuCgpBcm91bmQgdGhlIHByb2Nlc3Npbmcgb2YgZWFjaCByZWxhdGlvbiwgdmFjdXVt IHNuYXBzaG90cyBXQUwgdXNhZ2UgYW5kCnJlY29yZHMgdGhlIGRpZmZlcmVuY2UsIHNvIHRo ZSBtZXRyaWMgcmVmbGVjdHMgb25seSB0aGF0IHZhY3V1bSdzIHdvcmsuClRoZSBidWZmZXIg YW5kIHRpbWluZyBtZXRyaWNzIGFyZSBzYW1wbGVkIHRocm91Z2ggdGhlIHNhbWUgbWFjaGlu ZXJ5IGFuZAphcmUgYWRkZWQgaW4gdGhlIGZvbGxvd2luZyBjb21taXRzLiAgSW5kZXggcHJv Y2Vzc2luZyBpcyBzYW1wbGVkIG9uIGl0cwpvd24gLS0gaW5jbHVkaW5nIGluIHBhcmFsbGVs IHdvcmtlcnMgLS0gYW5kIGl0cyB1c2FnZSBpcyBrZXB0IG91dCBvZiB0aGUKcGFyZW50IHRh YmxlJ3MgZmlndXJlcywgc28gaGVhcCBhbmQgaW5kZXggd29yayBhcmUgYWNjb3VudGVkIHNl cGFyYXRlbHkuCgpUaGUgUEdTVEFUX0tJTkRfVkFDVVVNX0RCIHN0YXRzIGtpbmQgYW5kIHBn c3RhdF9hY2N1bXVsYXRlX2NvbW1vbigpIGFyZQphZGRlZCBoZXJlIGFzIHdlbGw6IHRoZXkg YWdncmVnYXRlIHRoZSBjb21tb24gcGVyLXJlbGF0aW9uIGNvdW50ZXJzIG9mCmV2ZXJ5IHJl bGF0aW9uIHZhY3V1bWVkIGluIHRoZSBkYXRhYmFzZSwgd2hpY2ggaXMgb25seSBtZWFuaW5n ZnVsIG9uY2UgdGhlCnNhbXBsaW5nIGV4aXN0cy4gIFRoZSB0d28gcmVtYWluaW5nIHZpZXdz LCBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIGFuZApwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSwg YXJlIGNyZWF0ZWQgaGVyZSBhbG9uZ3NpZGUgcGdfc3RhdF92YWN1dW1fdGFibGVzOwpsaWtl IHRoZSB0YWJsZSB2aWV3IHRoZXkgdGhlbiBncm93IGNvbHVtbiBieSBjb2x1bW4gaW4gdGhl IGZvbGxvd2luZwpjb21taXRzLiAgVGhlIHBlci1pbmRleCB2aWV3IGFsc28gZXhwb3NlcyB0 aGUgaW5kZXgtc3BlY2lmaWMgcGFnZXNfZGVsZXRlZAphbmQgdHVwbGVzX2RlbGV0ZWQgY291 bnRlcnMgZnJvbSB0aGUgc3RhcnQuCgpUaGlzIGNvbW1pdCBleHBvc2VzIHRoZSBXQUwgY291 bnRlcnMgaW4gYWxsIHRocmVlIHZpZXdzLCB3aXRoIGRvY3VtZW50YXRpb24KYW5kIHJlZ3Jl c3Npb24gY292ZXJhZ2U6CgogIHdhbF9yZWNvcmRzICBudW1iZXIgb2YgV0FMIHJlY29yZHMg Z2VuZXJhdGVkIGJ5IHRoZSB2YWN1dW0KICB3YWxfZnBpICAgICAgbnVtYmVyIG9mIFdBTCBm dWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBieSB0aGUgdmFjdXVtCiAgd2FsX2J5dGVzICAg IHRvdGFsIGFtb3VudCBvZiBXQUwgZ2VuZXJhdGVkIGJ5IHRoZSB2YWN1dW0sIGluIGJ5dGVz CgpUaGUgc2VwYXJhdGUgc2FtcGxpbmcgb2YgaW5kZXggcHJvY2Vzc2luZywgaW5jbHVkaW5n IHRocm91Z2ggdGhlIHBhcmFsbGVsCnZhY3V1bSBwYXRoLCBpcyBjb3ZlcmVkIGJ5IGEgZGVk aWNhdGVkIFRBUCB0ZXN0CihzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy90LzAxNl92YWN1 dW1fc3RhdHNfcGFyYWxsZWwucGwpLgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Mu c2dtbCAgICAgICAgICAgICAgICB8IDEzMCArKysrKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy9o ZWFwL3ZhY3V1bWxhenkuYyAgICAgICAgICB8IDM5MSArKysrKysrKysrKysrKy0tLS0KIHNy Yy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8ICAyNSArLQog c3JjL2JhY2tlbmQvY29tbWFuZHMvZGJjb21tYW5kcy5jICAgICAgICAgICAgIHwgICAxICsK IHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jICAgICAgICAgICAgICAgICB8ICAgNCAr CiBzcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jICAgICAgICAgfCAgNzgg KysrLQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgICAgICAgICAgIHwg IDE1ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jICB8 ICAgOSArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfdmFjdXVtLmMgICAg fCAxMDUgKysrKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAg ICAgICB8ICA2MyArKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAg ICAgICAgICB8ICAyMSArLQogc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAg ICAgICAgICAgIHwgIDMyICstCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMTUgKwogc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFs LmggICAgICAgICAgIHwgICA3ICsKIHNyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9raW5kLmgg ICAgICAgICAgICAgICB8ICAgMyArLQogc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvbWVz b24uYnVpbGQgICAgICAgIHwgICAxICsKIC4uLi90ZXN0X21pc2MvdC8wMTZfdmFjdXVtX3N0 YXRzX3BhcmFsbGVsLnBsICB8IDEwNCArKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9ydWxlcy5vdXQgICAgICAgICAgIHwgIDIyICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3ZhY3V1bV9zdGF0cy5vdXQgICAgfCAgODkgKysrLQogc3JjL3Rlc3QvcmVncmVzcy9z cWwvdmFjdXVtX3N0YXRzLnNxbCAgICAgICAgIHwgIDU2ICsrLQogMjAgZmlsZXMgY2hhbmdl ZCwgMTA0NSBpbnNlcnRpb25zKCspLCAxMjYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvdC8wMTZfdmFjdXVtX3N0YXRzX3Bh cmFsbGVsLnBsCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21s IGIvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCmluZGV4IGI5NmM2NTM5MjkuLjdj OTVkY2VhNmIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTU4OTIsNiArNTg5Miwz MCBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xvY2tzIHBsIExFRlQgSk9JTiBwZ19wcmVwYXJlZF94 YWN0cyBwcHgKICAgICAgICBOdW1iZXIgb2YgZGVhZCB0dXBsZXMgdGhhdCB0aGUgdmFjdXVt IGNvdWxkIG5vdCByZW1vdmUgYmVjYXVzZSBpdCBmYWlsZWQgdG8gYWNxdWlyZSBhIGNsZWFu dXAgbG9jayBvbiB0aGVpciBwYWdlLgogICAgICAgPC9wYXJhPjwvZW50cnk+CiAgICAgIDwv cm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+d2FsX3JlY29yZHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIHJl Y29yZHMgZ2VuZXJhdGVkIGJ5IHRoZSB2YWN1dW0uCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD53YWxfZnBpPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVG90YWwgbnVtYmVyIG9mIFdB TCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBieSB0aGUgdmFjdXVtLgorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ bnVtZXJpYzwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFRv dGFsIGFtb3VudCBvZiBXQUwgZ2VuZXJhdGVkIGJ5IHRoZSB2YWN1dW0sIGluIGJ5dGVzLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgogICAgIDwvdGJvZHk+CiAgICA8 L3Rncm91cD4KICAgPC90YWJsZT4KQEAgLTU5ODMsNiArNjAwNywxMTIgQEAgU0VMRUNUICog RlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFjdHMgcHB4CiAgICAg ICAgTnVtYmVyIG9mIGluZGV4IGVudHJpZXMgcmVtb3ZlZCBieSB0aGUgdmFjdXVtLgogICAg ICAgPC9wYXJhPjwvZW50cnk+CiAgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVu dHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZp bml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8L3N0cnVjdGZpZWxk PiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICBOdW1iZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJhdGVkIHdoaWxlIHZhY3V1bWluZyB0 aGlzIGluZGV4LgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwv c3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgIE51bWJlciBvZiBXQUwgZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0 ZWQgd2hpbGUgdmFjdXVtaW5nIHRoaXMgaW5kZXguCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD53YWxfYnl0ZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5udW1lcmljPC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVG90YWwgYW1vdW50IG9m IFdBTCBnZW5lcmF0ZWQgd2hpbGUgdmFjdXVtaW5nIHRoaXMgaW5kZXgsIGluIGJ5dGVzLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGJvZHk+CisgICA8 L3Rncm91cD4KKyAgPC90YWJsZT4KKyA8L3NlY3QxPgorCisgPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRf dmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6 b25lPSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgIDxwcmltYXJ5PnBnX3N0 YXRfdmFjdXVtX2RhdGFiYXNlPC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFy YT4KKyAgIFRoZSA8c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0 bmFtZT4gdmlldyB3aWxsIGNvbnRhaW4gb25lIHJvdworICAgZm9yIGVhY2ggZGF0YWJhc2Us IHNob3dpbmcgZXh0ZW5kZWQgc3RhdGlzdGljcyBhZ2dyZWdhdGVkIG92ZXIgYWxsCisgICA8 Y29tbWFuZD5WQUNVVU08L2NvbW1hbmQ+IGFjdGl2aXR5IGluIHRoYXQgZGF0YWJhc2UuICBU aGVzZSBzdGF0aXN0aWNzIGFyZQorICAgYWNjdW11bGF0ZWQgb25seSB3aGlsZSA8dmFybmFt ZT50cmFja192YWN1dW1fc3RhdGlzdGljczwvdmFybmFtZT4gaXMgZW5hYmxlZC4KKyAgPC9w YXJhPgorCisgIDx0YWJsZSBpZD0idmlldy1wZy1zdGF0LXZhY3V1bS1kYXRhYmFzZS1jb2xz Ij4KKyAgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZTwvc3Ry dWN0bmFtZT4gQ29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0 aGVhZD4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5 cGUKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisg ICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAg IDx0Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPmRib2lkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgT0lEIG9mIHRoZSBkYXRhYmFzZS4KKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRibmFtZTwvc3RydWN0ZmllbGQ+IDx0eXBl Pm5hbWU8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOYW1l IG9mIHRoZSBkYXRhYmFzZS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmVy cm9yczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludGVnZXI8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBOdW1iZXIgb2YgdmFjdXVtIG9wZXJhdGlvbnMgaW4g dGhpcyBkYXRhYmFzZSB0aGF0IGZhaWxlZCB3aXRoIGFuIGVycm9yLgorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5i aWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOdW1i ZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zIGluIHRo aXMgZGF0YWJhc2UuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBp PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucyBpbiB0aGlzIGRhdGFiYXNlLgorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ bnVtZXJpYzwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFRv dGFsIGFtb3VudCBvZiBXQUwgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zIGluIHRo aXMgZGF0YWJhc2UsIGluIGJ5dGVzLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgogICAgIDwvdGJvZHk+CiAgICA8L3Rncm91cD4KICAgPC90YWJsZT4KZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3NyYy9iYWNrZW5k L2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCA3YWJjODNkYmZkLi5jMDZjNTM4ZjU3 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKKysr IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCkBAIC00MTEsNiArNDEx LDI1IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAkgKiBiZWVuIHBlcm1hbmVudGx5 IGRpc2FibGVkLgogCSAqLwogCUJsb2NrTnVtYmVyIGVhZ2VyX3NjYW5fcmVtYWluaW5nX2Zh aWxzOworCisJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CS8qIG51bWJlciBv ZiBlbWVyZ2VuY3kgdmFjdXVtcyB0bworCQkJCQkJCQkJCQkgKiBwcmV2ZW50IGFudGktd3Jh cGFyb3VuZAorCQkJCQkJCQkJCQkgKiBzaHV0ZG93biAqLworCisJUGdTdGF0X1ZhY3V1bVJl bGF0aW9uQ291bnRzIGV4dFZhY1JlcG9ydElkeDsKKworCS8qCisJICogUGVyLWluZGV4IGFj Y3VtdWxhdGVkIGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzLiAgVkFDVVVNIG1heSBwcm9j ZXNzIGFuCisJICogaW5kZXggc2V2ZXJhbCB0aW1lcyAoYSBidWxrZGVsZXRlIHBhc3MgcGVy IGluZGV4IHNjYW4gcGx1cyBhIGZpbmFsCisJICogY2xlYW51cCBwYXNzKTsgd2Ugc3VtIHRo b3NlIHBhc3NlcyBoZXJlIGFuZCByZXBvcnQgdGhlbSB0byB0aGUKKwkgKiBjdW11bGF0aXZl IHN0YXRzIHN5c3RlbSBleGFjdGx5IG9uY2UgcGVyIGluZGV4IGF0IHRoZSBlbmQgb2YgdGhl IHZhY3V1bS4KKwkgKiBPbmx5IHVzZWQgYnkgdGhlIG5vbi1wYXJhbGxlbCBwYXRoIC0tIHBh cmFsbGVsIGluZGV4IHZhY3V1bWluZyBrZWVwcyB0aGUKKwkgKiBlcXVpdmFsZW50IHJ1bm5p bmcgdG90YWxzIGluIHRoZSBEU00gYW5kIHJlcG9ydHMgZnJvbQorCSAqIHBhcmFsbGVsX3Zh Y3V1bV9lbmQoKS4gIFNpemVkIHZhY3JlbC0+bmluZGV4ZXM7IE5VTEwgaWYgdGhlcmUgYXJl IG5vCisJICogaW5kZXhlcy4KKwkgKi8KKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMg KmV4dFZhY0lkeFJlcG9ydHM7CisJYm9vbAkgICAqZXh0VmFjSWR4VG91Y2hlZDsJLyogd2Fz IHRoZSBtYXRjaGluZyBpbmRleCBwcm9jZXNzZWQ/ICovCiB9IExWUmVsU3RhdGU7CiAKIApA QCAtNDIyLDcgKzQ0MSw2IEBAIHR5cGVkZWYgc3RydWN0IExWU2F2ZWRFcnJJbmZvCiAJVmFj RXJyUGhhc2UgcGhhc2U7CiB9IExWU2F2ZWRFcnJJbmZvOwogCi0KIC8qIG5vbi1leHBvcnQg ZnVuY3Rpb24gcHJvdG90eXBlcyAqLwogc3RhdGljIHZvaWQgbGF6eV9zY2FuX2hlYXAoTFZS ZWxTdGF0ZSAqdmFjcmVsKTsKIHN0YXRpYyB2b2lkIGhlYXBfdmFjdXVtX2VhZ2VyX3NjYW5f c2V0dXAoTFZSZWxTdGF0ZSAqdmFjcmVsLApAQCAtNDUyLDEyICs0NzAsMTIgQEAgc3RhdGlj IHZvaWQgbGF6eV9jbGVhbnVwX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCk7CiBz dGF0aWMgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVs YXRpb24gaW5kcmVsLAogCQkJCQkJCQkJCQkJCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0 YXQsCiAJCQkJCQkJCQkJCQkJZG91YmxlIHJlbHR1cGxlcywKLQkJCQkJCQkJCQkJCQlMVlJl bFN0YXRlICp2YWNyZWwpOworCQkJCQkJCQkJCQkJCUxWUmVsU3RhdGUgKnZhY3JlbCwgaW50 IGlkeCk7CiBzdGF0aWMgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpsYXp5X2NsZWFudXBfb25l X2luZGV4KFJlbGF0aW9uIGluZHJlbCwKIAkJCQkJCQkJCQkJCQkgSW5kZXhCdWxrRGVsZXRl UmVzdWx0ICppc3RhdCwKIAkJCQkJCQkJCQkJCQkgZG91YmxlIHJlbHR1cGxlcywKIAkJCQkJ CQkJCQkJCQkgYm9vbCBlc3RpbWF0ZWRfY291bnQsCi0JCQkJCQkJCQkJCQkJIExWUmVsU3Rh dGUgKnZhY3JlbCk7CisJCQkJCQkJCQkJCQkJIExWUmVsU3RhdGUgKnZhY3JlbCwgaW50IGlk eCk7CiBzdGF0aWMgYm9vbCBzaG91bGRfYXR0ZW1wdF90cnVuY2F0aW9uKExWUmVsU3RhdGUg KnZhY3JlbCk7CiBzdGF0aWMgdm9pZCBsYXp5X3RydW5jYXRlX2hlYXAoTFZSZWxTdGF0ZSAq dmFjcmVsKTsKIHN0YXRpYyBCbG9ja051bWJlciBjb3VudF9ub25kZWxldGFibGVfcGFnZXMo TFZSZWxTdGF0ZSAqdmFjcmVsLApAQCAtNDg0LDkgKzUwMiwxOTUgQEAgc3RhdGljIHZvaWQg dXBkYXRlX3ZhY3V1bV9lcnJvcl9pbmZvKExWUmVsU3RhdGUgKnZhY3JlbCwKIAkJCQkJCQkJ CSBPZmZzZXROdW1iZXIgb2ZmbnVtKTsKIHN0YXRpYyB2b2lkIHJlc3RvcmVfdmFjdXVtX2Vy cm9yX2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogCQkJCQkJCQkJICBjb25zdCBMVlNhdmVk RXJySW5mbyAqc2F2ZWRfdmFjcmVsKTsKLXN0YXRpYyB2b2lkIGFjY3VtdWxhdGVfaGVhcF92 YWN1dW1fc3RhdGlzdGljcyhMVlJlbFN0YXRlICp2YWNyZWwsCi0JCQkJCQkJCQkJCSAgUGdT dGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpleHRWYWNTdGF0cyk7CiAKKy8qIC0tLS0tLS0t LS0KKyAqIGV4dHZhY19zdGF0c19zdGFydCgpIC0KKyAqCisgKiBTYXZlIGN1dC1vZmYgdmFs dWVzIG9mIGV4dGVuZGVkIHZhY3V1bSBjb3VudGVycyBiZWZvcmUgc3RhcnQgb2YgYSByZWxh dGlvbgorICogcHJvY2Vzc2luZy4KKyAqIC0tLS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQK K2V4dHZhY19zdGF0c19zdGFydChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICog Y291bnRlcnMpCit7CisJaWYgKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJ CXJldHVybjsKKworCW1lbXNldChjb3VudGVycywgMCwgc2l6ZW9mKExWRXh0U3RhdENvdW50 ZXJzKSk7CisKKwljb3VudGVycy0+d2FsdXNhZ2UgPSBwZ1dhbFVzYWdlOworfQorCisvKiAt LS0tLS0tLS0tCisgKiBleHR2YWNfc3RhdHNfZW5kKCkgLQorICoKKyAqCUNhbGxlZCB0byBm aW5pc2ggYW4gZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpYyBnYXRoZXJpbmcgYW5kIGZvcm0g YSByZXBvcnQuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkCitleHR2YWNfc3Rh dHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKiBjb3VudGVycywKKwkJ CQkgUGdTdGF0X0NvbW1vbkNvdW50cyAqIHJlcG9ydCkKK3sKKwlXYWxVc2FnZQl3YWx1c2Fn ZTsKKworCWlmICghcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47 CisKKwltZW1zZXQocmVwb3J0LCAwLCBzaXplb2YoUGdTdGF0X0NvbW1vbkNvdW50cykpOwor CisJLyogQ2FsY3VsYXRlIGRpZmZzIG9mIGdsb2JhbCBzdGF0IHBhcmFtZXRlcnMgb24gV0FM IHVzYWdlLiAqLworCW1lbXNldCgmd2FsdXNhZ2UsIDAsIHNpemVvZihXYWxVc2FnZSkpOwor CVdhbFVzYWdlQWNjdW1EaWZmKCZ3YWx1c2FnZSwgJnBnV2FsVXNhZ2UsICZjb3VudGVycy0+ d2FsdXNhZ2UpOworCisJLyoKKwkgKiBGaWxsIGFkZGl0aW9uYWwgc3RhdGlzdGljcyBvbiBh IHZhY3V1bSBwcm9jZXNzaW5nIG9wZXJhdGlvbi4KKwkgKi8KKwlyZXBvcnQtPndhbF9yZWNv cmRzICs9IHdhbHVzYWdlLndhbF9yZWNvcmRzOworCXJlcG9ydC0+d2FsX2ZwaSArPSB3YWx1 c2FnZS53YWxfZnBpOworCXJlcG9ydC0+d2FsX2J5dGVzICs9IHdhbHVzYWdlLndhbF9ieXRl czsKK30KKwordm9pZAorZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChSZWxhdGlvbiByZWwsIElu ZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCisJCQkJCSAgIExWRXh0U3RhdENvdW50ZXJz SWR4ICogY291bnRlcnMpCit7CisJaWYgKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3MpCisJCXJldHVybjsKKworCS8qIFNldCBpbml0aWFsIHZhbHVlcyBmb3IgY29tbW9uIGhl YXAgYW5kIGluZGV4IHN0YXRpc3RpY3MgKi8KKwlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAm Y291bnRlcnMtPmNvbW1vbik7CisJY291bnRlcnMtPnBhZ2VzX2RlbGV0ZWQgPSBjb3VudGVy cy0+dHVwbGVzX3JlbW92ZWQgPSAwOworCisJaWYgKHN0YXRzICE9IE5VTEwpCisJeworCQkv KgorCQkgKiBYWFg6IFdoeSBkbyB3ZSBuZWVkIHRoaXMgY29kZSBoZXJlPyBJZiBpdCBpcyBu ZWVkZWQsIEkgZmVlbCBsYWNrIG9mCisJCSAqIGNvbW1lbnRzLCBkZXNjcmliaW5nIHRoZSBy ZWFzb24uCisJCSAqLworCQljb3VudGVycy0+dHVwbGVzX3JlbW92ZWQgPSBzdGF0cy0+dHVw bGVzX3JlbW92ZWQ7CisJCWNvdW50ZXJzLT5wYWdlc19kZWxldGVkID0gc3RhdHMtPnBhZ2Vz X2RlbGV0ZWQ7CisJfQorfQorCit2b2lkCitleHR2YWNfc3RhdHNfZW5kX2lkeChSZWxhdGlv biByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCisJCQkJCSBMVkV4dFN0YXRD b3VudGVyc0lkeCAqIGNvdW50ZXJzLCBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKiBy ZXBvcnQpCit7CisJaWYgKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJCXJl dHVybjsKKworCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihQZ1N0YXRfVmFjdXVtUmVsYXRp b25Db3VudHMpKTsKKworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmY291bnRlcnMtPmNvbW1v biwgJnJlcG9ydC0+Y29tbW9uKTsKKworCXJlcG9ydC0+dHlwZSA9IFBHU1RBVF9FWFRWQUNf SU5ERVg7CisKKwlpZiAoc3RhdHMgIT0gTlVMTCkKKwl7CisJCS8qCisJCSAqIGlmIHNvbWV0 aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0 YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNzIGl0LgorCQkgKi8KKworCQkv KiBGaWxsIGluZGV4LXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcyAqLworCQlyZXBv cnQtPmNvbW1vbi50dXBsZXNfZGVsZXRlZCA9CisJCQlzdGF0cy0+dHVwbGVzX3JlbW92ZWQg LSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQ7CisJCXJlcG9ydC0+aW5kZXgucGFnZXNfZGVs ZXRlZCA9CisJCQlzdGF0cy0+cGFnZXNfZGVsZXRlZCAtIGNvdW50ZXJzLT5wYWdlc19kZWxl dGVkOworCX0KK30KKworLyogQWNjdW11bGF0ZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgaGVh cC4KKyAqCisgICogQmVjYXVzZSBvZiBjb21wbGV4aXR5IG9mIHZhY3V1bSBwcm9jZXNzaW5n OiBpdCBzd2l0Y2ggcHJvY2VzaW5nIGJldHdlZW4KKyAgKiB0aGUgaGVhcCByZWxhdGlvbiB0 byBpbmRleCByZWxhdGlvbnMgYW5kIHZpc2EgdmVyc2EsIHdlIG5lZWQgdG8gc3RvcmUKKyAg KiBnYXRoZXJlZCBzdGF0aXN0aWNzIGluZm9ybWF0aW9uIGZvciBoZWFwIHJlbGF0aW9ucyBz ZXZlcmFsIHRpbWVzIGJlZm9yZQorICAqIHRoZSB2YWN1dW0gc3RhcnRzIHByb2Nlc3Npbmcg dGhlIGluZGV4ZXMgYWdhaW4uCisgICoKKyAgKiBJdCBpcyBuZWNlc3NhcnkgdG8gZ2F0aGVy IGNvcnJlY3Qgc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBmb3IgaGVhcCBhbmQgaW5kZXhlcwor ICAqIG90aGVyd2ljZSB0aGUgaW5kZXggc3RhdGlzdGljcyBpbmZvcm1hdGlvbiB3b3VsZCBi ZSBhZGRlZCB0byBoaXMgcGFyZW50IGhlYXAKKyAgKiBzdGF0aXN0aWNzIGluZm9ybWF0aW9u IGFuZCBpdCB3b3VsZCBiZSBkaWZmaWN1bHQgdG8gYW5hbHl6ZSBpdCBsYXRlci4KKyAgKgor ICAqIFdlIGNhbid0IHN1YnRyYWN0IHVuaW9uIHZhY3V1bSBzdGF0aXN0aWNzIGluZm9ybWF0 aW9uIGZvciBpbmRleCBmcm9tIHRoZSBoZWFwIHJlbGF0aW9ucworICAqIGJlY2F1c2Ugb2Yg dG90YWwgYW5kIGRlbGF5IHRpbWUgdGltZSBzdGF0aXN0aWNzIGNvbGxlY3RpbmcgZHVyaW5n IHBhcmFsbGVsIHZhY3V1bQorICAqIHByb2N1ZHVyZS4KKyovCitzdGF0aWMgdm9pZAorYWNj dW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwgUGdT dGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICogZXh0VmFjU3RhdHMpCit7CisJaWYgKCFwZ3N0 YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCS8qIEZpbGwgaGVh cC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KKwlleHRWYWNTdGF0cy0+dHlw ZSA9IFBHU1RBVF9FWFRWQUNfVEFCTEU7CisJZXh0VmFjU3RhdHMtPnRhYmxlLnBhZ2VzX3Nj YW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxlLnBh Z2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRfcGFnZXM7CisJZXh0VmFjU3RhdHMtPmNv bW1vbi50dXBsZXNfZGVsZXRlZCA9IHZhY3JlbC0+dHVwbGVzX2RlbGV0ZWQ7CisJZXh0VmFj U3RhdHMtPnRhYmxlLnR1cGxlc19mcm96ZW4gPSB2YWNyZWwtPnR1cGxlc19mcm96ZW47CisJ ZXh0VmFjU3RhdHMtPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNl bnRseV9kZWFkX3R1cGxlczsKKwlleHRWYWNTdGF0cy0+dGFibGUubWlzc2VkX2RlYWRfdHVw bGVzID0gdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxl Lm1pc3NlZF9kZWFkX3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKKwlleHRW YWNTdGF0cy0+Y29tbW9uLndhbF9ieXRlcyAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5j b21tb24ud2FsX2J5dGVzOworCWV4dFZhY1N0YXRzLT5jb21tb24ud2FsX2ZwaSAtPSB2YWNy ZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX2ZwaTsKKwlleHRWYWNTdGF0cy0+Y29t bW9uLndhbF9yZWNvcmRzIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi53YWxf cmVjb3JkczsKK30KKworc3RhdGljIHZvaWQKK2FjY3VtdWxhdGVfaWR4c192YWN1dW1fc3Rh dGlzdGljcyhMVlJlbFN0YXRlICp2YWNyZWwsIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50 cyAqIGV4dFZhY0lkeFN0YXRzKQoreworCS8qIEZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRl ZCBzdGF0cyBmaWVsZHMgKi8KKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2Fs X2J5dGVzICs9IGV4dFZhY0lkeFN0YXRzLT5jb21tb24ud2FsX2J5dGVzOworCXZhY3JlbC0+ ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi53YWxfZnBpICs9IGV4dFZhY0lkeFN0YXRzLT5jb21t b24ud2FsX2ZwaTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX3JlY29y ZHMgKz0gZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi53YWxfcmVjb3JkczsKK30KKworLyoKKyAq IEFjY3VtdWxhdGUgb25lIGluZGV4IGV4dGVuZGVkLXZhY3V1bSByZXBvcnQgaW50byBhIHBl ci1pbmRleCBydW5uaW5nIHRvdGFsLgorICoKKyAqIFZBQ1VVTSBtYXkgdG91Y2ggYW4gaW5k ZXggbW9yZSB0aGFuIG9uY2U6IGEgYnVsa2RlbGV0ZSBwYXNzIGZvciBldmVyeSBpbmRleAor ICogc2NhbiwgcGx1cyBhIGZpbmFsIGNsZWFudXAgcGFzcy4gIFJhdGhlciB0aGFuIHJlcG9y dGluZyB0byB0aGUgY3VtdWxhdGl2ZQorICogc3RhdHMgc3lzdGVtIG9uIGV2ZXJ5IHBhc3Ms IGNhbGxlcnMgc3VtIHRoZSBwYXNzZXMgaGVyZSBhbmQgcmVwb3J0IHRoZQorICogdG90YWxz IGV4YWN0bHkgb25jZSBwZXIgaW5kZXggYXQgdGhlIGVuZCBvZiB0aGUgdmFjdXVtLiAgU2hh cmVkIGJldHdlZW4gdGhlCisgKiBub24tcGFyYWxsZWwgcGF0aCAoYWNjdW11bGF0aW5nIGlu IHZhY3JlbCkgYW5kIHRoZSBwYXJhbGxlbCBwYXRoCisgKiAoYWNjdW11bGF0aW5nIGluIHRo ZSBEU00pLCBoZW5jZSBub3Qgc3RhdGljLgorICovCit2b2lkCitleHR2YWNfYWNjdW11bGF0 ZV9pZHhfcmVwb3J0KFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqIGRzdCwKKwkJCQkJ CQkgY29uc3QgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICogc3JjKQoreworCWRzdC0+ dHlwZSA9IFBHU1RBVF9FWFRWQUNfSU5ERVg7CisKKwlkc3QtPmNvbW1vbi53YWxfcmVjb3Jk cyArPSBzcmMtPmNvbW1vbi53YWxfcmVjb3JkczsKKwlkc3QtPmNvbW1vbi53YWxfZnBpICs9 IHNyYy0+Y29tbW9uLndhbF9mcGk7CisJZHN0LT5jb21tb24ud2FsX2J5dGVzICs9IHNyYy0+ Y29tbW9uLndhbF9ieXRlczsKKwlkc3QtPmNvbW1vbi50dXBsZXNfZGVsZXRlZCArPSBzcmMt PmNvbW1vbi50dXBsZXNfZGVsZXRlZDsKKworCWRzdC0+aW5kZXgucGFnZXNfZGVsZXRlZCAr PSBzcmMtPmluZGV4LnBhZ2VzX2RlbGV0ZWQ7Cit9CisKKy8qCisgKiBSZXBvcnQgdGhlIGFj Y3VtdWxhdGVkIHBlci1pbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcywgb25lIHJl cG9ydCBwZXIKKyAqIGluZGV4LiAgVXNlZCBieSB0aGUgbm9uLXBhcmFsbGVsIHBhdGggb25s eTsgdGhlIHBhcmFsbGVsIHBhdGggcmVwb3J0cyBpdHMKKyAqIERTTS1yZXNpZGVudCB0b3Rh bHMgZnJvbSBwYXJhbGxlbF92YWN1dW1fZW5kKCkuCisgKi8KK3N0YXRpYyB2b2lkCityZXBv cnRfaW5kZXhfdmFjdXVtX2V4dHN0YXRzKExWUmVsU3RhdGUgKnZhY3JlbCkKK3sKKwlpZiAo IXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJZm9yIChp bnQgaWR4ID0gMDsgaWR4IDwgdmFjcmVsLT5uaW5kZXhlczsgaWR4KyspCisJeworCQlSZWxh dGlvbglpbmRyZWwgPSB2YWNyZWwtPmluZHJlbHNbaWR4XTsKKworCQlpZiAoIXZhY3JlbC0+ ZXh0VmFjSWR4VG91Y2hlZFtpZHhdKQorCQkJY29udGludWU7CisKKwkJcGdzdGF0X3JlcG9y dF92YWN1dW1fZXh0c3RhdHMoUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCQkJ ICBpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJCQkgICZ2YWNyZWwtPmV4 dFZhY0lkeFJlcG9ydHNbaWR4XSk7CisJfQorfQogCiAKIC8qCkBAIC02MTIsNjYgKzgxNiw2 IEBAIGhlYXBfdmFjdXVtX2VhZ2VyX3NjYW5fc2V0dXAoTFZSZWxTdGF0ZSAqdmFjcmVsLCBj b25zdCBWYWN1dW1QYXJhbXMgKnBhcmFtcykKIAkJZmlyc3RfcmVnaW9uX3JhdGlvOwogfQog Ci0vKgotICogRmlsbCB0aGUgZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3MgcmVwb3J0IGZv ciBhIGhlYXAgcmVsYXRpb24gd2l0aCB0aGUKLSAqIGNvdW50ZXJzIHRoYXQgYXJlIGRlcml2 ZWQgZGlyZWN0bHkgZnJvbSB0aGUgTFZSZWxTdGF0ZS4gIEJ1ZmZlciwgV0FMIGFuZAotICog dGltaW5nIGNvdW50ZXJzIHJlcXVpcmUgc2FtcGxpbmcgcmVzb3VyY2UgdXNhZ2UgYXJvdW5k IHRoZSB2YWN1dW0gYW5kIGFyZQotICogZ2F0aGVyZWQgc2VwYXJhdGVseTsgdGhleSBhcmUg bm90IHRvdWNoZWQgaGVyZS4KLSAqLwotc3RhdGljIHZvaWQKLWFjY3VtdWxhdGVfaGVhcF92 YWN1dW1fc3RhdGlzdGljcyhMVlJlbFN0YXRlICp2YWNyZWwsCi0JCQkJCQkJCSAgUGdTdGF0 X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpleHRWYWNTdGF0cykKLXsKLQlpZiAoIXBnc3RhdF90 cmFja192YWN1dW1fc3RhdGlzdGljcykKLQkJcmV0dXJuOwotCi0JZXh0VmFjU3RhdHMtPnR5 cGUgPSBQR1NUQVRfRVhUVkFDX1RBQkxFOwotCWV4dFZhY1N0YXRzLT50YWJsZS5wYWdlc19z Y2FubmVkID0gdmFjcmVsLT5zY2FubmVkX3BhZ2VzOwotCWV4dFZhY1N0YXRzLT50YWJsZS5w YWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2VzOwotCWV4dFZhY1N0YXRzLT5j b21tb24udHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOwotCWV4dFZh Y1N0YXRzLT50YWJsZS50dXBsZXNfZnJvemVuID0gdmFjcmVsLT50dXBsZXNfZnJvemVuOwot CWV4dFZhY1N0YXRzLT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVj ZW50bHlfZGVhZF90dXBsZXM7Ci0JZXh0VmFjU3RhdHMtPnRhYmxlLm1pc3NlZF9kZWFkX3Bh Z2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKLQlleHRWYWNTdGF0cy0+dGFibGUu bWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7Ci19Ci0K LS8qCi0gKiBSZXBvcnQgdGhlIHBlci1pbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGlj cywgb25lIHJlcG9ydCBwZXIgaW5kZXguCi0gKgotICogVGhlIHBlci1pbmRleCBjb3VudGVy cyAocGFnZXNfZGVsZXRlZCBhbmQgdGhlIG51bWJlciBvZiByZW1vdmVkIGluZGV4Ci0gKiBl bnRyaWVzKSBhcmUgZGVyaXZlZCBkaXJlY3RseSBmcm9tIGVhY2ggaW5kZXgncyBmaW5hbCBJ bmRleEJ1bGtEZWxldGVSZXN1bHQsCi0gKiB3aGljaCBhbHJlYWR5IGhvbGRzIHRoZSB0b3Rh bHMgYWNjdW11bGF0ZWQgYWNyb3NzIGFsbCBidWxrZGVsZXRlIGFuZCBjbGVhbnVwCi0gKiBw YXNzZXMgLS0gc28gbm8gcGVyLXBhc3Mgc2FtcGxpbmcgaXMgbmVlZGVkIGhlcmUuICBVc2Vk IGJ5IHRoZSBub24tcGFyYWxsZWwKLSAqIHBhdGggb25seTsgdGhlIHBhcmFsbGVsIHBhdGgg cmVwb3J0cyBpdHMgRFNNLXJlc2lkZW50IHJlc3VsdHMgZnJvbQotICogcGFyYWxsZWxfdmFj dXVtX2VuZCgpLgotICovCi1zdGF0aWMgdm9pZAotcmVwb3J0X2luZGV4X3ZhY3V1bV9leHRz dGF0cyhMVlJlbFN0YXRlICp2YWNyZWwpCi17Ci0JaWYgKCFwZ3N0YXRfdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MpCi0JCXJldHVybjsKLQotCWZvciAoaW50IGlkeCA9IDA7IGlkeCA8IHZh Y3JlbC0+bmluZGV4ZXM7IGlkeCsrKQotCXsKLQkJUmVsYXRpb24JaW5kcmVsID0gdmFjcmVs LT5pbmRyZWxzW2lkeF07Ci0JCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQgPSB2YWNy ZWwtPmluZHN0YXRzW2lkeF07Ci0JCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyByZXBv cnQ7Ci0KLQkJLyogU2tpcCBpbmRleGVzIHRoYXQgdGhpcyB2YWN1dW0gZGlkIG5vdCBwcm9j ZXNzICovCi0JCWlmIChpc3RhdCA9PSBOVUxMKQotCQkJY29udGludWU7Ci0KLQkJbWVtc2V0 KCZyZXBvcnQsIDAsIHNpemVvZihyZXBvcnQpKTsKLQkJcmVwb3J0LnR5cGUgPSBQR1NUQVRf RVhUVkFDX0lOREVYOwotCQlyZXBvcnQuY29tbW9uLnR1cGxlc19kZWxldGVkID0gaXN0YXQt PnR1cGxlc19yZW1vdmVkOwotCQlyZXBvcnQuaW5kZXgucGFnZXNfZGVsZXRlZCA9IGlzdGF0 LT5wYWdlc19kZWxldGVkOwotCi0JCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2V4dHN0YXRzKFJl bGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKLQkJCQkJCQkJCSAgaW5kcmVsLT5yZF9yZWwtPnJl bGlzc2hhcmVkLAotCQkJCQkJCQkJICAmcmVwb3J0KTsKLQl9Ci19Ci0KIC8qCiAgKgloZWFw X3ZhY3V1bV9yZWwoKSAtLSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVsYXRpb24K ICAqCkBAIC02OTgsNyArODQyLDYgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwg Y29uc3QgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJCQkJbmV3X3JlbF9hbGx2aXNpYmxlLAog CQkJCW5ld19yZWxfYWxsZnJvemVuOwogCVBHUlVzYWdlCXJ1MDsKLQlUaW1lc3RhbXBUeiBz dGFydHRpbWUgPSAwOwogCVBnU3RhdF9Db3VudGVyIHN0YXJ0cmVhZHRpbWUgPSAwLAogCQkJ CXN0YXJ0d3JpdGV0aW1lID0gMDsKIAlXYWxVc2FnZQlzdGFydHdhbHVzYWdlID0gcGdXYWxV c2FnZTsKQEAgLTcwNiw5ICs4NDksMTEgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJl bCwgY29uc3QgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJRXJyb3JDb250ZXh0Q2FsbGJhY2sg ZXJyY2FsbGJhY2s7CiAJY2hhcgkgICoqaW5kbmFtZXMgPSBOVUxMOwogCVNpemUJCWRlYWRf aXRlbXNfbWF4X2J5dGVzID0gMDsKKwlMVkV4dFN0YXRDb3VudGVycyBleHRWYWNDb3VudGVy czsKIAlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgZXh0VmFjUmVwb3J0OworCVRpbWVz dGFtcFR6IHN0YXJ0dGltZTsKIAotCS8qIEluaXRpYWxpemUgdGhlIGV4dGVuZGVkIHZhY3V1 bSBzdGF0aXN0aWNzIHJlcG9ydCAqLworCS8qIEluaXRpYWxpemUgdmFjdXVtIHN0YXRpc3Rp Y3MgKi8KIAltZW1zZXQoJmV4dFZhY1JlcG9ydCwgMCwgc2l6ZW9mKFBnU3RhdF9WYWN1dW1S ZWxhdGlvbkNvdW50cykpOwogCiAJdmVyYm9zZSA9IChwYXJhbXMtPm9wdGlvbnMgJiBWQUNP UFRfVkVSQk9TRSkgIT0gMDsKQEAgLTcyNCw4ICs4NjksOCBAQCBoZWFwX3ZhY3V1bV9yZWwo UmVsYXRpb24gcmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkJfQogCX0KIAot CS8qIFVzZWQgZm9yIGluc3RydW1lbnRhdGlvbiBhbmQgc3RhdHMgcmVwb3J0ICovCiAJc3Rh cnR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOworCWV4dHZhY19zdGF0c19zdGFydChy ZWwsICZleHRWYWNDb3VudGVycyk7CiAKIAlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29tbWFu ZChQUk9HUkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBSZWxhdGlvbkdldFJlbGlk KHJlbCkpOwpAQCAtNzUzLDggKzg5OCw4IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiBy ZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCXZhY3JlbCA9IHBhbGxvYzBfb2Jq ZWN0KExWUmVsU3RhdGUpOwogCXZhY3JlbC0+ZGJuYW1lID0gZ2V0X2RhdGFiYXNlX25hbWUo TXlEYXRhYmFzZUlkKTsKIAl2YWNyZWwtPnJlbG5hbWVzcGFjZSA9IGdldF9uYW1lc3BhY2Vf bmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZWwpKTsKLQl2YWNyZWwtPnJlbG9pZCA9IFJl bGF0aW9uR2V0UmVsaWQocmVsKTsKIAl2YWNyZWwtPnJlbG5hbWUgPSBwc3RyZHVwKFJlbGF0 aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpOworCXZhY3JlbC0+cmVsb2lkID0gUmVsYXRpb25H ZXRSZWxpZChyZWwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IE5VTEw7CiAJdmFjcmVsLT5waGFz ZSA9IFZBQ1VVTV9FUlJDQl9QSEFTRV9VTktOT1dOOwogCXZhY3JlbC0+dmVyYm9zZSA9IHZl cmJvc2U7CkBAIC03NjMsMTIgKzkwOCwyNiBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24g cmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAllcnJjYWxsYmFjay5wcmV2aW91 cyA9IGVycm9yX2NvbnRleHRfc3RhY2s7CiAJZXJyb3JfY29udGV4dF9zdGFjayA9ICZlcnJj YWxsYmFjazsKIAorCW1lbXNldCgmdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgsIDAsIHNpemVv ZihQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMpKTsKKwltZW1zZXQoJmV4dFZhY1JlcG9y dC5jb21tb24sIDAsIHNpemVvZihQZ1N0YXRfQ29tbW9uQ291bnRzKSk7CisKIAkvKiBTZXQg dXAgaGlnaCBsZXZlbCBzdHVmZiBhYm91dCByZWwgYW5kIGl0cyBpbmRleGVzICovCiAJdmFj cmVsLT5yZWwgPSByZWw7CiAJdmFjX29wZW5faW5kZXhlcyh2YWNyZWwtPnJlbCwgUm93RXhj bHVzaXZlTG9jaywgJnZhY3JlbC0+bmluZGV4ZXMsCiAJCQkJCSAmdmFjcmVsLT5pbmRyZWxz KTsKIAl2YWNyZWwtPmJzdHJhdGVneSA9IGJzdHJhdGVneTsKIAorCS8qCisJICogQWxsb2Nh dGUgcGVyLWluZGV4IGFjY3VtdWxhdG9ycyBmb3IgZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3Rp Y3MuICBJbmRleAorCSAqIHBhc3NlcyBhZGQgaW50byB0aGVzZSBhbmQgdGhlIHRvdGFscyBh cmUgcmVwb3J0ZWQgb25jZSBwZXIgaW5kZXggYXQgdGhlCisJICogZW5kIG9mIHRoZSB2YWN1 dW0gKHNlZSByZXBvcnRfaW5kZXhfdmFjdXVtX2V4dHN0YXRzKCkpLgorCSAqLworCWlmICh2 YWNyZWwtPm5pbmRleGVzID4gMCkKKwl7CisJCXZhY3JlbC0+ZXh0VmFjSWR4UmVwb3J0cyA9 CisJCQlwYWxsb2MwX2FycmF5KFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cywgdmFjcmVs LT5uaW5kZXhlcyk7CisJCXZhY3JlbC0+ZXh0VmFjSWR4VG91Y2hlZCA9IHBhbGxvYzBfYXJy YXkoYm9vbCwgdmFjcmVsLT5uaW5kZXhlcyk7CisJfQogCWlmIChpbnN0cnVtZW50ICYmIHZh Y3JlbC0+bmluZGV4ZXMgPiAwKQogCXsKIAkJLyogQ29weSBpbmRleCBuYW1lcyB1c2VkIGJ5 IGluc3RydW1lbnRhdGlvbiAobm90IGVycm9yIHJlcG9ydGluZykgKi8KQEAgLTg3MSw2ICsx MDMwLDcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFy YW1zICpwYXJhbXMsCiAJdmFjcmVsLT5hZ2dyZXNzaXZlID0gdmFjdXVtX2dldF9jdXRvZmZz KHJlbCwgcGFyYW1zLCAmdmFjcmVsLT5jdXRvZmZzKTsKIAl2YWNyZWwtPnJlbF9wYWdlcyA9 IG9yaWdfcmVsX3BhZ2VzID0gUmVsYXRpb25HZXROdW1iZXJPZkJsb2NrcyhyZWwpOwogCXZh Y3JlbC0+dmlzdGVzdCA9IEdsb2JhbFZpc1Rlc3RGb3IocmVsKTsKKwl2YWNyZWwtPndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQgPSAwOwogCiAJLyogSW5pdGlhbGl6ZSBzdGF0ZSB1c2Vk IHRvIHRyYWNrIG9sZGVzdCBleHRhbnQgWElEL01YSUQgKi8KIAl2YWNyZWwtPk5ld1JlbGZy b3plblhpZCA9IHZhY3JlbC0+Y3V0b2Zmcy5PbGRlc3RYbWluOwpAQCAtMTA1NCw5ICsxMjE0 LDE0IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBhcmFt cyAqcGFyYW1zLAogCSAqIHNvb24gaW4gY2FzZXMgd2hlcmUgdGhlIGZhaWxzYWZlIHByZXZl bnRlZCBzaWduaWZpY2FudCBhbW91bnRzIG9mIGhlYXAKIAkgKiB2YWN1dW1pbmcuCiAJICov CisKKwkvKgorCSAqIE1ha2UgZ2VuZXJpYyBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0 IGFuZCBmaWxsIGhlYXAtc3BlY2lmaWMKKwkgKiBleHRlbmRlZCBzdGF0cyBmaWVsZHMuCisJ ICovCisJZXh0dmFjX3N0YXRzX2VuZCh2YWNyZWwtPnJlbCwgJmV4dFZhY0NvdW50ZXJzLCAm ZXh0VmFjUmVwb3J0LmNvbW1vbik7CiAJYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0 aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7Ci0JcGdzdGF0X3JlcG9ydF92YWN1dW1fZXh0 c3RhdHModmFjcmVsLT5yZWxvaWQsIHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJ CQkJICAmZXh0VmFjUmVwb3J0KTsKKwlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyh2 YWNyZWwtPnJlbG9pZCwgcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLCAmZXh0VmFjUmVwb3J0 KTsKIAlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShyZWwsCiAJCQkJCQkgTWF4KHZhY3JlbC0+bmV3 X2xpdmVfdHVwbGVzLCAwKSwKIAkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVz ICsKQEAgLTE2OTUsNyArMTg2MCw4IEBAIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZh Y3JlbCkKIAkgKiBSZXBvcnQgdGhlIHBlci1pbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlz dGljcyBhY2N1bXVsYXRlZCBvdmVyIGFsbAogCSAqIGJ1bGtkZWxldGUgYW5kIGNsZWFudXAg cGFzc2VzLCBleGFjdGx5IG9uY2UgcGVyIGluZGV4LiAgVGhlIHBhcmFsbGVsCiAJICogcGF0 aCByZXBvcnRzIGl0cyBEU00tcmVzaWRlbnQgdG90YWxzIGZyb20gcGFyYWxsZWxfdmFjdXVt X2VuZCgpIGluc3RlYWQsCi0JICogc28gb25seSBkbyBpdCBoZXJlIHdoZW4gaW5kZXggdmFj dXVtaW5nIHJhbiBpbiB0aGUgbGVhZGVyLgorCSAqIHNvIG9ubHkgZG8gaXQgaGVyZSB3aGVu IGluZGV4IHZhY3V1bWluZyByYW4gaW4gdGhlIGxlYWRlci4gIHB2cyBpcyBzdGlsbAorCSAq IGFsaXZlIGF0IHRoaXMgcG9pbnQgKGl0IGlzIHRvcm4gZG93biBsYXRlciBpbiBkZWFkX2l0 ZW1zX2NsZWFudXAoKSkuCiAJICovCiAJaWYgKHZhY3JlbC0+bmluZGV4ZXMgPiAwICYmICFQ YXJhbGxlbFZhY3V1bUlzQWN0aXZlKHZhY3JlbCkpCiAJCXJlcG9ydF9pbmRleF92YWN1dW1f ZXh0c3RhdHModmFjcmVsKTsKQEAgLTI2MTYsNyArMjc4Miw3IEBAIGxhenlfdmFjdXVtX2Fs bF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAogCQkJdmFjcmVsLT5pbmRzdGF0c1tp ZHhdID0gbGF6eV92YWN1dW1fb25lX2luZGV4KGluZHJlbCwgaXN0YXQsCiAJCQkJCQkJCQkJ CQkJCSAgb2xkX2xpdmVfdHVwbGVzLAotCQkJCQkJCQkJCQkJCQkgIHZhY3JlbCk7CisJCQkJ CQkJCQkJCQkJCSAgdmFjcmVsLCBpZHgpOwogCiAJCQkvKiBSZXBvcnQgdGhlIG51bWJlciBv ZiBpbmRleGVzIHZhY3V1bWVkICovCiAJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFt KFBST0dSRVNTX1ZBQ1VVTV9JTkRFWEVTX1BST0NFU1NFRCwKQEAgLTI2MzIsMTEgKzI3OTgs MjEgQEAgbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCX0K IAllbHNlCiAJeworCQlMVkV4dFN0YXRDb3VudGVycyBjb3VudGVyczsKKwkJUGdTdGF0X1Zh Y3V1bVJlbGF0aW9uQ291bnRzIGV4dFZhY1JlcG9ydDsKKworCQltZW1zZXQoJmV4dFZhY1Jl cG9ydC5jb21tb24sIDAsIHNpemVvZihQZ1N0YXRfQ29tbW9uQ291bnRzKSk7CisKKwkJZXh0 dmFjX3N0YXRzX3N0YXJ0KHZhY3JlbC0+cmVsLCAmY291bnRlcnMpOworCiAJCS8qIE91dHNv dXJjZSBldmVyeXRoaW5nIHRvIHBhcmFsbGVsIHZhcmlhbnQgKi8KIAkJcGFyYWxsZWxfdmFj dXVtX2J1bGtkZWxfYWxsX2luZGV4ZXModmFjcmVsLT5wdnMsIG9sZF9saXZlX3R1cGxlcywK IAkJCQkJCQkJCQkJdmFjcmVsLT5udW1faW5kZXhfc2NhbnMsCiAJCQkJCQkJCQkJCSYodmFj cmVsLT53b3JrZXJfdXNhZ2UudmFjdXVtKSk7CiAKKwkJZXh0dmFjX3N0YXRzX2VuZCh2YWNy ZWwtPnJlbCwgJmNvdW50ZXJzLCAmZXh0VmFjUmVwb3J0LmNvbW1vbik7CisJCWFjY3VtdWxh dGVfaWR4c192YWN1dW1fc3RhdGlzdGljcyh2YWNyZWwsICZleHRWYWNSZXBvcnQpOworCiAJ CS8qCiAJCSAqIERvIGEgcG9zdGNoZWNrIHRvIGNvbnNpZGVyIGFwcGx5aW5nIHdyYXBhcm91 bmQgZmFpbHNhZmUgbm93LiAgTm90ZQogCQkgKiB0aGF0IHBhcmFsbGVsIFZBQ1VVTSBvbmx5 IGdldHMgdGhlIHByZWNoZWNrIGFuZCB0aGlzIHBvc3RjaGVjay4KQEAgLTI5ODQsNiArMzE2 MCw3IEBAIGxhenlfY2hlY2tfd3JhcGFyb3VuZF9mYWlsc2FmZShMVlJlbFN0YXRlICp2YWNy ZWwpCiAJCWludDY0CQlwcm9ncmVzc192YWxbM10gPSB7MCwgMCwgUFJPR1JFU1NfVkFDVVVN X01PREVfRkFJTFNBRkV9OwogCiAJCVZhY3V1bUZhaWxzYWZlQWN0aXZlID0gdHJ1ZTsKKwkJ dmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50Kys7CiAKIAkJLyoKIAkJICogQWJh bmRvbiB1c2Ugb2YgYSBidWZmZXIgYWNjZXNzIHN0cmF0ZWd5IHRvIGFsbG93IHVzZSBvZiBh bGwgb2YKQEAgLTMwNTcsNyArMzIzNCw3IEBAIGxhenlfY2xlYW51cF9hbGxfaW5kZXhlcyhM VlJlbFN0YXRlICp2YWNyZWwpCiAKIAkJCXZhY3JlbC0+aW5kc3RhdHNbaWR4XSA9CiAJCQkJ bGF6eV9jbGVhbnVwX29uZV9pbmRleChpbmRyZWwsIGlzdGF0LCByZWx0dXBsZXMsCi0JCQkJ CQkJCQkgICBlc3RpbWF0ZWRfY291bnQsIHZhY3JlbCk7CisJCQkJCQkJCQkgICBlc3RpbWF0 ZWRfY291bnQsIHZhY3JlbCwgaWR4KTsKIAogCQkJLyogUmVwb3J0IHRoZSBudW1iZXIgb2Yg aW5kZXhlcyBjbGVhbmVkIHVwICovCiAJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFt KFBST0dSRVNTX1ZBQ1VVTV9JTkRFWEVTX1BST0NFU1NFRCwKQEAgLTMwNjYsMTEgKzMyNDMs MjEgQEAgbGF6eV9jbGVhbnVwX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAl9 CiAJZWxzZQogCXsKKwkJTFZFeHRTdGF0Q291bnRlcnMgY291bnRlcnM7CisJCVBnU3RhdF9W YWN1dW1SZWxhdGlvbkNvdW50cyBleHRWYWNSZXBvcnQ7CisKKwkJbWVtc2V0KCZleHRWYWNS ZXBvcnQuY29tbW9uLCAwLCBzaXplb2YoUGdTdGF0X0NvbW1vbkNvdW50cykpOworCisJCWV4 dHZhY19zdGF0c19zdGFydCh2YWNyZWwtPnJlbCwgJmNvdW50ZXJzKTsKKwogCQkvKiBPdXRz b3VyY2UgZXZlcnl0aGluZyB0byBwYXJhbGxlbCB2YXJpYW50ICovCiAJCXBhcmFsbGVsX3Zh Y3V1bV9jbGVhbnVwX2FsbF9pbmRleGVzKHZhY3JlbC0+cHZzLCByZWx0dXBsZXMsCiAJCQkJ CQkJCQkJCXZhY3JlbC0+bnVtX2luZGV4X3NjYW5zLAogCQkJCQkJCQkJCQllc3RpbWF0ZWRf Y291bnQsCiAJCQkJCQkJCQkJCSYodmFjcmVsLT53b3JrZXJfdXNhZ2UuY2xlYW51cCkpOwor CisJCWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWwsICZjb3VudGVycywgJmV4dFZhY1Jl cG9ydC5jb21tb24pOworCQlhY2N1bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFj cmVsLCAmZXh0VmFjUmVwb3J0KTsKIAl9CiAKIAkvKiBSZXNldCB0aGUgcHJvZ3Jlc3MgY291 bnRlcnMgKi8KQEAgLTMwOTIsMTAgKzMyNzksMjIgQEAgbGF6eV9jbGVhbnVwX2FsbF9pbmRl eGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKICAqLwogc3RhdGljIEluZGV4QnVsa0RlbGV0ZVJl c3VsdCAqCiBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1 bGtEZWxldGVSZXN1bHQgKmlzdGF0LAotCQkJCQkgIGRvdWJsZSByZWx0dXBsZXMsIExWUmVs U3RhdGUgKnZhY3JlbCkKKwkJCQkJICBkb3VibGUgcmVsdHVwbGVzLCBMVlJlbFN0YXRlICp2 YWNyZWwsIGludCBpZHgpCiB7CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsKIAlMVlNhdmVk RXJySW5mbyBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWND b3VudGVyczsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgZXh0VmFjUmVwb3J0Owor CisJLyoKKwkgKiBaZXJvIHRoZSByZXBvcnQgdXAgZnJvbnQ6IGV4dHZhY19zdGF0c19lbmRf aWR4KCkgbGVhdmVzIGl0IHVudG91Y2hlZAorCSAqIHdoZW4gc3RhdGlzdGljcyB0cmFja2lu ZyBpcyBkaXNhYmxlZCwgYnV0IHRoZSBhY2N1bXVsYXRvcnMgYmVsb3cgcmVhZCBpdAorCSAq IHVuY29uZGl0aW9uYWxseS4KKwkgKi8KKwltZW1zZXQoJmV4dFZhY1JlcG9ydCwgMCwgc2l6 ZW9mKFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cykpOworCisJLyogU2V0IGluaXRpYWwg c3RhdGlzdGljcyB2YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUg aW5kZXggKi8KKwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRW YWNDb3VudGVycyk7CiAKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7CiAJaXZpbmZvLmhlYXBy ZWwgPSB2YWNyZWwtPnJlbDsKQEAgLTMxMjIsNiArMzMyMSwxOSBAQCBsYXp5X3ZhY3V1bV9v bmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0 LAogCWlzdGF0ID0gdmFjX2J1bGtkZWxfb25lX2luZGV4KCZpdmluZm8sIGlzdGF0LCB2YWNy ZWwtPmRlYWRfaXRlbXMsCiAJCQkJCQkJCSAgdmFjcmVsLT5kZWFkX2l0ZW1zX2luZm8pOwog CisJLyogTWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLwor CWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycywg JmV4dFZhY1JlcG9ydCk7CisKKwkvKiBUaGlzIGluZGV4J3MgdGltZSBtdXN0IGJlIGV4Y2x1 ZGVkIGZyb20gdGhlIHBhcmVudCBoZWFwJ3MgdG90YWxzICovCisJYWNjdW11bGF0ZV9pZHhz X3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CisKKwkvKgorCSAq IEFjY3VtdWxhdGUgdGhpcyBwYXNzIGludG8gdGhlIGluZGV4J3MgcnVubmluZyB0b3RhbHMu ICBUaGV5IGFyZSByZXBvcnRlZAorCSAqIHRvIHRoZSBjdW11bGF0aXZlIHN0YXRzIHN5c3Rl bSBvbmNlIHBlciBpbmRleCBhdCB0aGUgZW5kIG9mIHRoZSB2YWN1dW0uCisJICovCisJZXh0 dmFjX2FjY3VtdWxhdGVfaWR4X3JlcG9ydCgmdmFjcmVsLT5leHRWYWNJZHhSZXBvcnRzW2lk eF0sICZleHRWYWNSZXBvcnQpOworCXZhY3JlbC0+ZXh0VmFjSWR4VG91Y2hlZFtpZHhdID0g dHJ1ZTsKKwogCS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24g Zm9yIGVycm9yIHRyYWNlYmFjayAqLwogCXJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8odmFj cmVsLCAmc2F2ZWRfZXJyX2luZm8pOwogCXBmcmVlKHZhY3JlbC0+aW5kbmFtZSk7CkBAIC0z MTQyLDEwICszMzU0LDIyIEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxhdGlvbiBpbmRy ZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiBzdGF0aWMgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICoKIGxhenlfY2xlYW51cF9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJ bmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCQkJCQkgICBkb3VibGUgcmVsdHVwbGVz LCBib29sIGVzdGltYXRlZF9jb3VudCwKLQkJCQkJICAgTFZSZWxTdGF0ZSAqdmFjcmVsKQor CQkJCQkgICBMVlJlbFN0YXRlICp2YWNyZWwsIGludCBpZHgpCiB7CiAJSW5kZXhWYWN1dW1J bmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5mbyBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0 YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25D b3VudHMgZXh0VmFjUmVwb3J0OworCisJLyoKKwkgKiBaZXJvIHRoZSByZXBvcnQgdXAgZnJv bnQ6IGV4dHZhY19zdGF0c19lbmRfaWR4KCkgbGVhdmVzIGl0IHVudG91Y2hlZAorCSAqIHdo ZW4gc3RhdGlzdGljcyB0cmFja2luZyBpcyBkaXNhYmxlZCwgYnV0IHRoZSBhY2N1bXVsYXRv cnMgYmVsb3cgcmVhZCBpdAorCSAqIHVuY29uZGl0aW9uYWxseS4KKwkgKi8KKwltZW1zZXQo JmV4dFZhY1JlcG9ydCwgMCwgc2l6ZW9mKFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cykp OworCisJLyogU2V0IGluaXRpYWwgc3RhdGlzdGljcyB2YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1 bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4 KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7CiAKIAlpdmluZm8uaW5kZXggPSBp bmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSB2YWNyZWwtPnJlbDsKQEAgLTMxNzEsNiArMzM5 NSwxOSBAQCBsYXp5X2NsZWFudXBfb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhC dWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAogCWlzdGF0ID0gdmFjX2NsZWFudXBfb25lX2lu ZGV4KCZpdmluZm8sIGlzdGF0KTsKIAorCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRz IHJlcG9ydCBmb3IgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWwsIGlz dGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCisJLyogVGhpcyBpbmRl eCdzIHRpbWUgbXVzdCBiZSBleGNsdWRlZCBmcm9tIHRoZSBwYXJlbnQgaGVhcCdzIHRvdGFs cyAqLworCWFjY3VtdWxhdGVfaWR4c192YWN1dW1fc3RhdGlzdGljcyh2YWNyZWwsICZleHRW YWNSZXBvcnQpOworCisJLyoKKwkgKiBBY2N1bXVsYXRlIHRoaXMgcGFzcyBpbnRvIHRoZSBp bmRleCdzIHJ1bm5pbmcgdG90YWxzLiAgVGhleSBhcmUgcmVwb3J0ZWQKKwkgKiB0byB0aGUg Y3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0gb25jZSBwZXIgaW5kZXggYXQgdGhlIGVuZCBvZiB0 aGUgdmFjdXVtLgorCSAqLworCWV4dHZhY19hY2N1bXVsYXRlX2lkeF9yZXBvcnQoJnZhY3Jl bC0+ZXh0VmFjSWR4UmVwb3J0c1tpZHhdLCAmZXh0VmFjUmVwb3J0KTsKKwl2YWNyZWwtPmV4 dFZhY0lkeFRvdWNoZWRbaWR4XSA9IHRydWU7CisKIAkvKiBSZXZlcnQgdG8gdGhlIHByZXZp b3VzIHBoYXNlIGluZm9ybWF0aW9uIGZvciBlcnJvciB0cmFjZWJhY2sgKi8KIAlyZXN0b3Jl X3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvKTsKIAlwZnJlZSh2 YWNyZWwtPmluZG5hbWUpOwpAQCAtMzYxNiw3ICszODUzLDcgQEAgZGVhZF9pdGVtc19jbGVh bnVwKExWUmVsU3RhdGUgKnZhY3JlbCkKIAl9CiAKIAkvKiBFbmQgcGFyYWxsZWwgbW9kZSAq LwotCXBhcmFsbGVsX3ZhY3V1bV9lbmQodmFjcmVsLT5wdnMsIHZhY3JlbC0+aW5kc3RhdHMp OworCXBhcmFsbGVsX3ZhY3V1bV9lbmQodmFjcmVsLT5wdnMsIHZhY3JlbC0+aW5kc3RhdHMs ICZ2YWNyZWwtPmV4dFZhY1JlcG9ydElkeCk7CiAJdmFjcmVsLT5wdnMgPSBOVUxMOwogfQog CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9z cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggNmY2OTdhYjM5MC4u NDdkNmFhNmFlYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAt MTU3Miw3ICsxNTcyLDEwIEBAIENSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBB UwogICAgICAgICBTLnR1cGxlc19mcm96ZW4gQVMgdHVwbGVzX2Zyb3plbiwKICAgICAgICAg Uy5yZWNlbnRseV9kZWFkX3R1cGxlcyBBUyByZWNlbnRseV9kZWFkX3R1cGxlcywKICAgICAg ICAgUy5taXNzZWRfZGVhZF9wYWdlcyBBUyBtaXNzZWRfZGVhZF9wYWdlcywKLSAgICAgICAg Uy5taXNzZWRfZGVhZF90dXBsZXMgQVMgbWlzc2VkX2RlYWRfdHVwbGVzCisgICAgICAgIFMu bWlzc2VkX2RlYWRfdHVwbGVzIEFTIG1pc3NlZF9kZWFkX3R1cGxlcywKKyAgICAgICAgUy53 YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywKKyAgICAgICAgUy53YWxfZnBpIEFTIHdhbF9m cGksCisgICAgICAgIFMud2FsX2J5dGVzIEFTIHdhbF9ieXRlcwogCiAgICAgRlJPTSBwZ19j bGFzcyBDIEpPSU4KICAgICAgICAgICAgIHBnX25hbWVzcGFjZSBOIE9OIE4ub2lkID0gQy5y ZWxuYW1lc3BhY2UsCkBAIC0xNTg4LDcgKzE1OTEsMTEgQEAgQ1JFQVRFIFZJRVcgcGdfc3Rh dF92YWN1dW1faW5kZXhlcyBBUwogICAgICAgICAgICAgSS5yZWxuYW1lIEFTIGluZGV4cmVs bmFtZSwKIAogICAgICAgICAgICAgUy5wYWdlc19kZWxldGVkIEFTIHBhZ2VzX2RlbGV0ZWQs Ci0gICAgICAgICAgICBTLnR1cGxlc19kZWxldGVkIEFTIHR1cGxlc19kZWxldGVkCisgICAg ICAgICAgICBTLnR1cGxlc19kZWxldGVkIEFTIHR1cGxlc19kZWxldGVkLAorCisgICAgICAg ICAgICBTLndhbF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAorICAgICAgICAgICAgUy53YWxf ZnBpIEFTIHdhbF9mcGksCisgICAgICAgICAgICBTLndhbF9ieXRlcyBBUyB3YWxfYnl0ZXMK ICAgICBGUk9NCiAgICAgICAgICAgICBwZ19jbGFzcyBDIEpPSU4KICAgICAgICAgICAgIHBn X2luZGV4IFggT04gQy5vaWQgPSBYLmluZHJlbGlkIEpPSU4KQEAgLTE1OTYsMyArMTYwMywx NyBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIEFTCiAgICAgICAgICAg ICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIE4gT04gKE4ub2lkID0gQy5yZWxuYW1lc3BhY2Up LAogICAgICAgICAgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhJLm9p ZCkgUwogICAgIFdIRVJFIEMucmVsa2luZCBJTiAoJ3InLCAndCcsICdtJyk7CisKK0NSRUFU RSBWSUVXIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlIEFTCisgICAgU0VMRUNUCisgICAgICAg ICAgICBELm9pZCBBUyBkYm9pZCwKKyAgICAgICAgICAgIEQuZGF0bmFtZSBBUyBkYm5hbWUs CisKKyAgICAgICAgICAgIFMuZXJyb3JzIEFTIGVycm9ycywKKworICAgICAgICAgICAgUy53 YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywKKyAgICAgICAgICAgIFMud2FsX2ZwaSBBUyB3 YWxfZnBpLAorICAgICAgICAgICAgUy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVzCisgICAgRlJP TQorICAgICAgICAgICAgcGdfZGF0YWJhc2UgRCwKKyAgICAgICAgICAgIExBVEVSQUwgcGdf c3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKEQub2lkKSBTOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvZGJjb21tYW5kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZGJj b21tYW5kcy5jCmluZGV4IGYwODE5ZDE1YWIuLjQ5YzNiNDBjMzUgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL2RiY29tbWFuZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21t YW5kcy9kYmNvbW1hbmRzLmMKQEAgLTE4MzAsNiArMTgzMCw3IEBAIGRyb3BkYihjb25zdCBj aGFyICpkYm5hbWUsIGJvb2wgbWlzc2luZ19vaywgYm9vbCBmb3JjZSkKIAkgKiBUZWxsIHRo ZSBjdW11bGF0aXZlIHN0YXRzIHN5c3RlbSB0byBmb3JnZXQgaXQgaW1tZWRpYXRlbHksIHRv by4KIAkgKi8KIAlwZ3N0YXRfZHJvcF9kYXRhYmFzZShkYl9pZCk7CisJcGdzdGF0X2Ryb3Bf dmFjdXVtX2RhdGFiYXNlKGRiX2lkKTsKIAogCS8qCiAJICogRXhjZXB0IGZvciB0aGUgZGVs ZXRpb24gb2YgdGhlIGNhdGFsb2cgcm93LCBzdWJzZXF1ZW50IGFjdGlvbnMgYXJlIG5vdApk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy92YWN1dW0uYwppbmRleCBhNGFiYjI5Y2Y2Li5hYWNlY2VlNThhIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYworKysgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy92YWN1dW0uYwpAQCAtMTE4LDYgKzExOCw5IEBAIHBnX2F0b21pY191aW50 MzIgKlZhY3V1bVNoYXJlZENvc3RCYWxhbmNlID0gTlVMTDsKIHBnX2F0b21pY191aW50MzIg KlZhY3V1bUFjdGl2ZU5Xb3JrZXJzID0gTlVMTDsKIGludAkJCVZhY3V1bUNvc3RCYWxhbmNl TG9jYWwgPSAwOwogCisvKiBDdW11bGF0aXZlIHN0b3JhZ2UgdG8gcmVwb3J0IHRvdGFsIHZh Y3V1bSBkZWxheSB0aW1lLiAqLworZG91YmxlCQlWYWN1dW1EZWxheVRpbWUgPSAwOwkvKiBt c2VjLiAqLworCiAvKiBub24tZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRp YyBMaXN0ICpleHBhbmRfdmFjdXVtX3JlbChWYWN1dW1SZWxhdGlvbiAqdnJlbCwKIAkJCQkJ CQkgICBNZW1vcnlDb250ZXh0IHZhY19jb250ZXh0LCBpbnQgb3B0aW9ucyk7CkBAIC0yNTY2 LDYgKzI1NjksNyBAQCB2YWN1dW1fZGVsYXlfcG9pbnQoYm9vbCBpc19hbmFseXplKQogCQkJ ZXhpdCgxKTsKIAogCQlWYWN1dW1Db3N0QmFsYW5jZSA9IDA7CisJCVZhY3V1bURlbGF5VGlt ZSArPSBtc2VjOwogCiAJCS8qCiAJCSAqIEJhbGFuY2UgYW5kIHVwZGF0ZSBsaW1pdCB2YWx1 ZXMgZm9yIGF1dG92YWN1dW0gd29ya2Vycy4gV2UgbXVzdCBkbwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyBiL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggNzcyNWM0ZWNjMS4uZWExMzg1OTQ4NSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYworKysgYi9z cmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC0yMDMsNiArMjAzLDE2 IEBAIHR5cGVkZWYgc3RydWN0IFBWSW5kU3RhdHMKIAkgKi8KIAlib29sCQlpc3RhdF91cGRh dGVkOwkvKiBhcmUgdGhlIHN0YXRzIHVwZGF0ZWQ/ICovCiAJSW5kZXhCdWxrRGVsZXRlUmVz dWx0IGlzdGF0OworCisJLyoKKwkgKiBFeHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBhY2N1 bXVsYXRlZCBhY3Jvc3MgYWxsIGJ1bGtkZWxldGUgYW5kIGNsZWFudXAKKwkgKiBwYXNzZXMg Zm9yIHRoaXMgaW5kZXgsIGJ5IHdoaWNoZXZlciBwcm9jZXNzIChsZWFkZXIgb3Igd29ya2Vy KSByYW4gZWFjaAorCSAqIHBhc3MuICBUaGUgbGVhZGVyIHJlcG9ydHMgdGhlIHRvdGFscyB0 byB0aGUgY3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0gb25jZQorCSAqIHBlciBpbmRleCBpbiBw YXJhbGxlbF92YWN1dW1fZW5kKCksIGFuZCBhbHNvIGZlZWRzIHRoZW0gYmFjayBzbyB0aGF0 IHRoZQorCSAqIGluZGV4IHdvcmsgY2FuIGJlIHN1YnRyYWN0ZWQgZnJvbSB0aGUgcGFyZW50 IGhlYXAncyBmaWd1cmVzLgorCSAqLworCWJvb2wJCWV4dHZhY190b3VjaGVkOyAvKiB3YXMg dGhpcyBpbmRleCBwcm9jZXNzZWQgYXQgYWxsPyAqLworCVBnU3RhdF9WYWN1dW1SZWxhdGlv bkNvdW50cyBleHR2YWNzdGF0czsKIH0gUFZJbmRTdGF0czsKIAogLyoKQEAgLTUxMiwxMCAr NTIyLDIyIEBAIHBhcmFsbGVsX3ZhY3V1bV9pbml0KFJlbGF0aW9uIHJlbCwgUmVsYXRpb24g KmluZHJlbHMsIGludCBuaW5kZXhlcywKICAqIGNvbnRleHQsIGJ1dCB0aGF0IHdvbid0IGJl IHNhZmUgKHNlZSBFeGl0UGFyYWxsZWxNb2RlKS4KICAqLwogdm9pZAotcGFyYWxsZWxfdmFj dXVtX2VuZChQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIEluZGV4QnVsa0RlbGV0ZVJlc3Vs dCAqKmlzdGF0cykKK3BhcmFsbGVsX3ZhY3V1bV9lbmQoUGFyYWxsZWxWYWN1dW1TdGF0ZSAq cHZzLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKippc3RhdHMsCisJCQkJCVBnU3RhdF9WYWN1 dW1SZWxhdGlvbkNvdW50cyAqaWR4X2hlYXBfdG90YWwpCiB7CisJUGdTdGF0X1ZhY3V1bVJl bGF0aW9uQ291bnRzICpleHR2YWNzdGF0cyA9IE5VTEw7CisKIAlBc3NlcnQoIUlzUGFyYWxs ZWxXb3JrZXIoKSk7CiAKKwkvKgorCSAqIFN0YXNoIHRoZSBwZXItaW5kZXggZXh0ZW5kZWQg dmFjdXVtIHN0YXRpc3RpY3Mgd2hpbGUgdGhlIERTTSBpcyBzdGlsbAorCSAqIG1hcHBlZDsg dGhleSBhcmUgcmVwb3J0ZWQgb25jZSBwZXIgaW5kZXggYWZ0ZXIgd2UgaGF2ZSBsZWZ0IHBh cmFsbGVsCisJICogbW9kZS4gIEFuIGluZGV4IHRoYXQgd2FzIG5ldmVyIHByb2Nlc3NlZCBr ZWVwcyBpdHMgemVyb2VkIHNsb3QgKHR5cGUKKwkgKiBQR1NUQVRfRVhUVkFDX0lOVkFMSUQp IGFuZCBpcyBza2lwcGVkIHRoZXJlLgorCSAqLworCWlmIChwZ3N0YXRfdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgJiYgcHZzLT5uaW5kZXhlcyA+IDApCisJCWV4dHZhY3N0YXRzID0gcGFs bG9jMF9hcnJheShQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMsIHB2cy0+bmluZGV4ZXMp OworCiAJLyogQ29weSB0aGUgdXBkYXRlZCBzdGF0aXN0aWNzICovCiAJZm9yIChpbnQgaSA9 IDA7IGkgPCBwdnMtPm5pbmRleGVzOyBpKyspCiAJewpAQCAtNTI4LDYgKzU1MCwxMCBAQCBw YXJhbGxlbF92YWN1dW1fZW5kKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgSW5kZXhCdWxr RGVsZXRlUmVzdWx0ICoqaXN0YXRzKQogCQl9CiAJCWVsc2UKIAkJCWlzdGF0c1tpXSA9IE5V TEw7CisKKwkJaWYgKGV4dHZhY3N0YXRzICE9IE5VTEwgJiYgaW5kc3RhdHMtPmV4dHZhY190 b3VjaGVkKQorCQkJbWVtY3B5KCZleHR2YWNzdGF0c1tpXSwgJmluZHN0YXRzLT5leHR2YWNz dGF0cywKKwkJCQkgICBzaXplb2YoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzKSk7CiAJ fQogCiAJVGlkU3RvcmVEZXN0cm95KHB2cy0+ZGVhZF9pdGVtcyk7CkBAIC01MzcsMjkgKzU2 MywzMCBAQCBwYXJhbGxlbF92YWN1dW1fZW5kKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywg SW5kZXhCdWxrRGVsZXRlUmVzdWx0ICoqaXN0YXRzKQogCiAJLyoKIAkgKiBSZXBvcnQgdGhl IHBlci1pbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcywgb25lIHJlcG9ydCBwZXIg aW5kZXgsCi0JICogZGVyaXZlZCBkaXJlY3RseSBmcm9tIGVhY2ggaW5kZXgncyBmaW5hbCBJ bmRleEJ1bGtEZWxldGVSZXN1bHQuICBUaGUKLQkgKiBpbmRleGVzIGFyZSBzdGlsbCBvcGVu IGhlcmUgKHB2cy0+aW5kcmVscyBpcyB0aGUgbGVhZGVyJ3Mgb3duIGFycmF5LCBub3QKLQkg KiBpbiB0aGUgbm93LWRlc3Ryb3llZCBEU00pLgorCSAqIGFuZCBhZGQgZWFjaCBpbmRleCdz IHJlc291cmNlIHVzYWdlIHRvIGlkeF9oZWFwX3RvdGFsIHNvIHRoZSBjYWxsZXIgY2FuCisJ ICogc3VidHJhY3QgaXQgZnJvbSB0aGUgcGFyZW50IGhlYXAncyBmaWd1cmVzICh0aGUgbGVh ZGVyIGZvbGRzIHRoZSB3b3JrZXJzJworCSAqIGJ1ZmZlci9XQUwgdXNhZ2UgaW50byBpdHMg b3duLCBzbyB3aXRob3V0IHRoaXMgdGhlIGluZGV4IHdvcmsgd291bGQgYmUKKwkgKiBhdHRy aWJ1dGVkIHRvIHRoZSBoZWFwKS4gIFRoZSBpbmRleGVzIGFyZSBzdGlsbCBvcGVuIGhlcmUg KHB2cy0+aW5kcmVscworCSAqIGlzIHRoZSBsZWFkZXIncyBvd24gYXJyYXksIG5vdCBpbiB0 aGUgbm93LWRlc3Ryb3llZCBEU00pLgogCSAqLwotCWlmIChwZ3N0YXRfdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MpCisJaWYgKGV4dHZhY3N0YXRzICE9IE5VTEwpCiAJewogCQlmb3IgKGlu dCBpID0gMDsgaSA8IHB2cy0+bmluZGV4ZXM7IGkrKykKIAkJewogCQkJUmVsYXRpb24JaW5k cmVsID0gcHZzLT5pbmRyZWxzW2ldOwotCQkJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRz IHJlcG9ydDsKIAotCQkJaWYgKGlzdGF0c1tpXSA9PSBOVUxMKQorCQkJaWYgKGV4dHZhY3N0 YXRzW2ldLnR5cGUgIT0gUEdTVEFUX0VYVFZBQ19JTkRFWCkKIAkJCQljb250aW51ZTsKIAot CQkJbWVtc2V0KCZyZXBvcnQsIDAsIHNpemVvZihyZXBvcnQpKTsKLQkJCXJlcG9ydC50eXBl ID0gUEdTVEFUX0VYVFZBQ19JTkRFWDsKLQkJCXJlcG9ydC5jb21tb24udHVwbGVzX2RlbGV0 ZWQgPSBpc3RhdHNbaV0tPnR1cGxlc19yZW1vdmVkOwotCQkJcmVwb3J0LmluZGV4LnBhZ2Vz X2RlbGV0ZWQgPSBpc3RhdHNbaV0tPnBhZ2VzX2RlbGV0ZWQ7Ci0KIAkJCXBnc3RhdF9yZXBv cnRfdmFjdXVtX2V4dHN0YXRzKFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKIAkJCQkJCQkJ CQkgIGluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJCQkJCQkgICZyZXBvcnQp OworCQkJCQkJCQkJCSAgJmV4dHZhY3N0YXRzW2ldKTsKKworCQkJaWYgKGlkeF9oZWFwX3Rv dGFsICE9IE5VTEwpCisJCQkJZXh0dmFjX2FjY3VtdWxhdGVfaWR4X3JlcG9ydChpZHhfaGVh cF90b3RhbCwgJmV4dHZhY3N0YXRzW2ldKTsKIAkJfQorCisJCXBmcmVlKGV4dHZhY3N0YXRz KTsKIAl9CiAKIAlpZiAoQW1BdXRvVmFjdXVtV29ya2VyUHJvY2VzcygpKQpAQCAtMTEwMyw2 ICsxMTMwLDE0IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxl bFZhY3V1bVN0YXRlICpwdnMsIFJlbGF0aW9uIGluZHJlbCwKIAlJbmRleEJ1bGtEZWxldGVS ZXN1bHQgKmlzdGF0ID0gTlVMTDsKIAlJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0X3Jl czsKIAlJbmRleFZhY3V1bUluZm8gaXZpbmZvOworCUxWRXh0U3RhdENvdW50ZXJzSWR4IGV4 dFZhY0NvdW50ZXJzOworCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyBleHRWYWNSZXBv cnQ7CisKKwkvKgorCSAqIFplcm8gdGhlIHJlcG9ydCB1cCBmcm9udDogZXh0dmFjX3N0YXRz X2VuZF9pZHgoKSBsZWF2ZXMgaXQgdW50b3VjaGVkIHdoZW4KKwkgKiBzdGF0aXN0aWNzIHRy YWNraW5nIGlzIGRpc2FibGVkLgorCSAqLworCW1lbXNldCgmZXh0VmFjUmVwb3J0LCAwLCBz aXplb2YoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzKSk7CiAKIAkvKgogCSAqIFVwZGF0 ZSB0aGUgcG9pbnRlciB0byB0aGUgY29ycmVzcG9uZGluZyBidWxrLWRlbGV0aW9uIHJlc3Vs dCBpZiBzb21lb25lCkBAIC0xMTExLDYgKzExNDYsOSBAQCBwYXJhbGxlbF92YWN1dW1fcHJv Y2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRy ZWwsCiAJaWYgKGluZHN0YXRzLT5pc3RhdF91cGRhdGVkKQogCQlpc3RhdCA9ICYoaW5kc3Rh dHMtPmlzdGF0KTsKIAorCS8qIFNuYXBzaG90IHRoZSByZXNvdXJjZSB1c2FnZSBiZWZvcmUg cHJvY2Vzc2luZyB0aGlzIGluZGV4IHBhc3MgKi8KKwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4 KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7CisKIAlpdmluZm8uaW5kZXggPSBp bmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSBwdnMtPmhlYXByZWw7CiAJaXZpbmZvLmFuYWx5 emVfb25seSA9IGZhbHNlOwpAQCAtMTEzOSw2ICsxMTc3LDIwIEBAIHBhcmFsbGVsX3ZhY3V1 bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIFJlbGF0aW9u IGluZHJlbCwKIAkJCQkgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUoaW5kcmVsKSk7CiAJfQog CisJLyoKKwkgKiBBY2N1bXVsYXRlIHRoaXMgcGFzcydzIGV4dGVuZGVkIHZhY3V1bSBzdGF0 aXN0aWNzIGludG8gdGhlIGluZGV4J3MKKwkgKiBEU00tcmVzaWRlbnQgcnVubmluZyB0b3Rh bHMuICBUaGUgbGVhZGVyIHJlcG9ydHMgdGhlbSwgYW5kIHN1YnRyYWN0cworCSAqIHRoZW0g ZnJvbSB0aGUgcGFyZW50IGhlYXAsIG9uY2UgcGVyIGluZGV4IGluIHBhcmFsbGVsX3ZhY3V1 bV9lbmQoKS4gIEVhY2gKKwkgKiBpbmRleCBpcyBwcm9jZXNzZWQgYnkgYSBzaW5nbGUgcHJv Y2VzcyBwZXIgcGFzcywgc28gbm8gbG9ja2luZyBpcyBuZWVkZWQKKwkgKiBoZXJlIChzYW1l IGFzIHRoZSBpc3RhdCB1cGRhdGUgYmVsb3cpLgorCSAqLworCWV4dHZhY19zdGF0c19lbmRf aWR4KGluZHJlbCwgaXN0YXRfcmVzLCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQp OworCWlmIChwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJeworCQlleHR2YWNf YWNjdW11bGF0ZV9pZHhfcmVwb3J0KCZpbmRzdGF0cy0+ZXh0dmFjc3RhdHMsICZleHRWYWNS ZXBvcnQpOworCQlpbmRzdGF0cy0+ZXh0dmFjX3RvdWNoZWQgPSB0cnVlOworCX0KKwogCS8q CiAJICogQ29weSB0aGUgaW5kZXggYnVsay1kZWxldGlvbiByZXN1bHQgcmV0dXJuZWQgZnJv bSBhbWJ1bGtkZWxldGUgYW5kCiAJICogYW12YWN1dW1jbGVhbnVwIHRvIHRoZSBEU00gc2Vn bWVudCBpZiBpdCdzIHRoZSBmaXJzdCBjeWNsZSBiZWNhdXNlIHRoZXkKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggNGU5NTA2NzJlMi4uMzc0MWU0ZTU0YSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTUwMCw2ICs1MDAsMjEgQEAg c3RhdGljIGNvbnN0IFBnU3RhdF9LaW5kSW5mbyBwZ3N0YXRfa2luZF9idWlsdGluX2luZm9z W1BHU1RBVF9LSU5EX0JVSUxUSU5fU0laRV0KIAkJLnJlc2V0X2FsbF9jYiA9IHBnc3RhdF93 YWxfcmVzZXRfYWxsX2NiLAogCQkuc25hcHNob3RfY2IgPSBwZ3N0YXRfd2FsX3NuYXBzaG90 X2NiLAogCX0sCisJW1BHU1RBVF9LSU5EX1ZBQ1VVTV9EQl0gPSB7CisJCS5uYW1lID0gInZh Y3V1bSBzdGF0aXN0aWNzIiwKKworCQkuZml4ZWRfYW1vdW50ID0gZmFsc2UsCisJCS53cml0 ZV90b19maWxlID0gdHJ1ZSwKKwkJLyogc28gcGdfc3RhdF9kYXRhYmFzZSBlbnRyaWVzIGNh biBiZSBzZWVuIGluIGFsbCBkYXRhYmFzZXMgKi8KKwkJLmFjY2Vzc2VkX2Fjcm9zc19kYXRh YmFzZXMgPSB0cnVlLAorCisJCS5zaGFyZWRfc2l6ZSA9IHNpemVvZihQZ1N0YXRTaGFyZWRf VmFjdXVtREIpLAorCQkuc2hhcmVkX2RhdGFfb2ZmID0gb2Zmc2V0b2YoUGdTdGF0U2hhcmVk X1ZhY3V1bURCLCBzdGF0cyksCisJCS5zaGFyZWRfZGF0YV9sZW4gPSBzaXplb2YoKChQZ1N0 YXRTaGFyZWRfVmFjdXVtREIgKikgMCktPnN0YXRzKSwKKwkJLnBlbmRpbmdfc2l6ZSA9IHNp emVvZihQZ1N0YXRfVmFjdXVtREJDb3VudHMpLAorCisJCS5mbHVzaF9wZW5kaW5nX2NiID0g cGdzdGF0X3ZhY3V1bV9kYl9mbHVzaF9jYiwKKwl9LAogCVtQR1NUQVRfS0lORF9WQUNVVU1f UkVMQVRJT05dID0gewogCQkubmFtZSA9ICJ2YWN1dW0gc3RhdGlzdGljcyIsCiAKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jIGIv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMKaW5kZXggN2Yz YmMwMTY1OS4uY2RmZjYxOTIwMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X2RhdGFiYXNlLmMKQEAgLTQ2LDYgKzQ2LDE1IEBAIHBnc3RhdF9kcm9wX2Rh dGFiYXNlKE9pZCBkYXRhYmFzZWlkKQogCXBnc3RhdF9kcm9wX3RyYW5zYWN0aW9uYWwoUEdT VEFUX0tJTkRfREFUQUJBU0UsIGRhdGFiYXNlaWQsIEludmFsaWRPaWQpOwogfQogCisvKgor ICogUmVtb3ZlIGVudHJ5IGZvciB0aGUgZGF0YWJhc2UgYmVpbmcgZHJvcHBlZC4KKyAqLwor dm9pZAorcGdzdGF0X2Ryb3BfdmFjdXVtX2RhdGFiYXNlKE9pZCBkYXRhYmFzZWlkKQorewor CXBnc3RhdF9kcm9wX3RyYW5zYWN0aW9uYWwoUEdTVEFUX0tJTkRfVkFDVVVNX0RCLCBkYXRh YmFzZWlkLCBJbnZhbGlkT2lkKTsKK30KKwogLyoKICAqIENhbGxlZCBmcm9tIGF1dG92YWN1 dW0uYyB0byByZXBvcnQgc3RhcnR1cCBvZiBhbiBhdXRvdmFjdXVtIHByb2Nlc3MuCiAgKiBX ZSBhcmUgY2FsbGVkIGJlZm9yZSBJbml0UG9zdGdyZXMgaXMgZG9uZSwgc28gY2FuJ3QgcmVs eSBvbiBNeURhdGFiYXNlSWQ7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfdmFjdXVtLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXRfdmFjdXVtLmMKaW5kZXggNjQ0YTczMjU5Mi4uOTljNDkzMmRlZCAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0uYwpAQCAtNyw3ICs3LDcgQEAK ICAqIGtlcHQgc2VwYXJhdGUgZnJvbSBwZ3N0YXRfcmVsYXRpb24uYyBhbmQgcGdzdGF0X2Rh dGFiYXNlLmMgdG8gcmVkdWNlIHRoZQogICogbWVtb3J5IGZvb3RwcmludCBvZiB0aGUgcmVn dWxhciByZWxhdGlvbiBhbmQgZGF0YWJhc2Ugc3RhdGlzdGljczogdmFjdXVtCiAgKiBtZXRy aWNzIHJlcXVpcmUgc2lnbmlmaWNhbnRseSBtb3JlIHNwYWNlIHBlciByZWxhdGlvbiwgc28g dGhleSBsaXZlIGluIHRoZWlyCi0gKiBvd24gUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFUSU9O IHN0YXRzIGtpbmQuCisgKiBvd24gUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFUSU9OIGFuZCBQ R1NUQVRfS0lORF9WQUNVVU1fREIgc3RhdHMga2luZHMuCiAgKgogICogQ29weXJpZ2h0IChj KSAyMDAxLTIwMjYsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCiAgKgpA QCAtMjIsMTUgKzIyLDMxIEBACiAjaW5jbHVkZSAidXRpbHMvbWVtdXRpbHMuaCIKICNpbmNs dWRlICJ1dGlscy9wZ3N0YXRfaW50ZXJuYWwuaCIKIAorLyogLS0tLS0tLS0tLQorICogR1VD IHBhcmFtZXRlcnMKKyAqIC0tLS0tLS0tLS0KKyAqLworYm9vbAkJcGdzdGF0X3RyYWNrX3Zh Y3V1bV9zdGF0aXN0aWNzX2Zvcl9yZWxhdGlvbnMgPSBmYWxzZTsKKworI2RlZmluZSBBQ0NV TVVMQVRFX0ZJRUxEKGZpZWxkKSAoZHN0LT5maWVsZCArPSBzcmMtPmZpZWxkKQogI2RlZmlu ZSBBQ0NVTVVMQVRFX1NVQkZJRUxEKHN1YnN0cnVjdCwgZmllbGQpIChkc3QtPnN1YnN0cnVj dC5maWVsZCArPSBzcmMtPnN1YnN0cnVjdC5maWVsZCkKIAogLyoKLSAqIEFjY3VtdWxhdGUg dGhlIHBlci10YWJsZSBleHRlbmRlZCB2YWN1dW0gY291bnRlcnMgY29sbGVjdGVkIHNvIGZh ci4KLSAqCi0gKiBPbmx5IHRoZSBjb3VudGVycyBkZXJpdmVkIGRpcmVjdGx5IGZyb20gdGhl IHZhY3V1bSdzIG93biBib29ra2VlcGluZyBhcmUKLSAqIHN1bW1lZCBoZXJlLiAgVGhlIGJ1 ZmZlciwgV0FMIGFuZCB0aW1pbmcgY291bnRlcnMgKGFuZCB0aGUgcGVyLWluZGV4Ci0gKiBj b3VudGVycykgYXJlIGFjY3VtdWxhdGVkIGJ5IGFkZGl0aW9uYWwgY29kZSBhZGRlZCB0b2dl dGhlciB3aXRoIHRoZQotICogaGVscGVycyB0aGF0IGdhdGhlciB0aGVtLgorICogQWNjdW11 bGF0ZSB0aGUgY291bnRlcnMgdGhhdCBhcmUgY29tbW9uIHRvIGhlYXAgcmVsYXRpb25zLCBp bmRleGVzIGFuZAorICogZGF0YWJhc2VzLgorICovCitzdGF0aWMgdm9pZAorcGdzdGF0X2Fj Y3VtdWxhdGVfY29tbW9uKFBnU3RhdF9Db21tb25Db3VudHMgKmRzdCwgY29uc3QgUGdTdGF0 X0NvbW1vbkNvdW50cyAqc3JjKQoreworCUFDQ1VNVUxBVEVfRklFTEQod2FsX3JlY29yZHMp OworCUFDQ1VNVUxBVEVfRklFTEQod2FsX2ZwaSk7CisJQUNDVU1VTEFURV9GSUVMRCh3YWxf Ynl0ZXMpOworCisJQUNDVU1VTEFURV9GSUVMRCh0dXBsZXNfZGVsZXRlZCk7Cit9CisKKy8q CisgKiBBY2N1bXVsYXRlIHBlci1yZWxhdGlvbiAoaGVhcCBvciBpbmRleCkgZXh0ZW5kZWQg dmFjdXVtIGNvdW50ZXJzLgogICovCiBzdGF0aWMgdm9pZAogcGdzdGF0X2FjY3VtdWxhdGVf ZXh0dmFjX3N0YXRzX3JlbGF0aW9ucyhQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKmRz dCwKQEAgLTQ2LDE1ICs2MiwxNSBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHNf cmVsYXRpb25zKFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqZHN0LAogCQkgICBzcmMt PnR5cGUgIT0gUEdTVEFUX0VYVFZBQ19EQiAmJgogCQkgICBzcmMtPnR5cGUgPT0gZHN0LT50 eXBlKTsKIAotCUFDQ1VNVUxBVEVfU1VCRklFTEQoY29tbW9uLCB0dXBsZXNfZGVsZXRlZCk7 CisJcGdzdGF0X2FjY3VtdWxhdGVfY29tbW9uKCZkc3QtPmNvbW1vbiwgJnNyYy0+Y29tbW9u KTsKIAogCWlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19UQUJMRSkKIAl7CiAJCUFD Q1VNVUxBVEVfU1VCRklFTEQodGFibGUsIHBhZ2VzX3NjYW5uZWQpOwogCQlBQ0NVTVVMQVRF X1NVQkZJRUxEKHRhYmxlLCBwYWdlc19yZW1vdmVkKTsKLQkJQUNDVU1VTEFURV9TVUJGSUVM RCh0YWJsZSwgdHVwbGVzX2Zyb3plbik7Ci0JCUFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUs IHJlY2VudGx5X2RlYWRfdHVwbGVzKTsKIAkJQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJsZSwg bWlzc2VkX2RlYWRfcGFnZXMpOworCQkJQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgdHVw bGVzX2Zyb3plbik7CisJCUFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUsIHJlY2VudGx5X2Rl YWRfdHVwbGVzKTsKIAkJQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgbWlzc2VkX2RlYWRf dHVwbGVzKTsKIAl9CiAJZWxzZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5E RVgpCkBAIC02NCw4ICs4MCwyMiBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHNf cmVsYXRpb25zKFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqZHN0LAogfQogCiAvKgot ICogUmVwb3J0IHRoYXQgdGhlIHJlbGF0aW9uIHdhcyBqdXN0IHZhY3V1bWVkLCBhY2N1bXVs YXRpbmcgaXRzIGV4dGVuZGVkCi0gKiBzdGF0aXN0aWNzIGludG8gdGhlIHBlci1yZWxhdGlv biBlbnRyeS4KKyAqIEFjY3VtdWxhdGUgcGVyLWRhdGFiYXNlIGV4dGVuZGVkIHZhY3V1bSBj b3VudGVycy4KKyAqLworc3RhdGljIHZvaWQKK3Bnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19z dGF0c19kYihQZ1N0YXRfVmFjdXVtREJDb3VudHMgKmRzdCwKKwkJCQkJCQkJICBQZ1N0YXRf VmFjdXVtREJDb3VudHMgKnNyYykKK3sKKwlpZiAoIXBnc3RhdF90cmFja192YWN1dW1fc3Rh dGlzdGljcykKKwkJcmV0dXJuOworCisJcGdzdGF0X2FjY3VtdWxhdGVfY29tbW9uKCZkc3Qt PmNvbW1vbiwgJnNyYy0+Y29tbW9uKTsKKwlkc3QtPmVycm9ycyArPSBzcmMtPmVycm9yczsK K30KKworLyoKKyAqIFJlcG9ydCB0aGF0IHRoZSByZWxhdGlvbiB3YXMganVzdCB2YWN1dW1l ZCwgYWNjdW11bGF0aW5nIGJvdGggaXRzIG93bgorICogZXh0ZW5kZWQgc3RhdGlzdGljcyBh bmQgdGhlIGRhdGFiYXNlLXdpZGUgYWdncmVnYXRlLgogICovCiB2b2lkCiBwZ3N0YXRfcmVw b3J0X3ZhY3V1bV9leHRzdGF0cyhPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLApAQCAtNzMs MjAgKzEwMywyOSBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyhPaWQgdGFibGVv aWQsIGJvb2wgc2hhcmVkLAogewogCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwogCVBn U3RhdF9SZWxhdGlvblZhY3V1bVBlbmRpbmcgKnJlbHBlbmRpbmc7CisJUGdTdGF0X1ZhY3V1 bURCQ291bnRzICpkYnBlbmRpbmc7CiAJT2lkCQkJZGJvaWQgPSAoc2hhcmVkID8gSW52YWxp ZE9pZCA6IE15RGF0YWJhc2VJZCk7CiAKIAlpZiAoIXBnc3RhdF90cmFja192YWN1dW1fc3Rh dGlzdGljcykKIAkJcmV0dXJuOwogCiAJLyoKLQkgKiBBY2N1bXVsYXRlIGludG8gYSBwZW5k aW5nIGVudHJ5IGluc3RlYWQgb2YgdGFraW5nIGEgc2hhcmVkLXN0YXRzIGxvY2sKLQkgKiBo ZXJlOyBwZ3N0YXRfcmVwb3J0X3N0YXQoKSBmbHVzaGVzIGl0IHRvIHNoYXJlZCBtZW1vcnkg dGhyb3VnaCB0aGUKLQkgKiByZWdpc3RlcmVkIGZsdXNoIGNhbGxiYWNrIG9uY2UgdGhlIHZh Y3V1bSdzIHRyYW5zYWN0aW9uIGNvbXBsZXRlcy4KKwkgKiBBY2N1bXVsYXRlIGludG8gcGVu ZGluZyBlbnRyaWVzIGluc3RlYWQgb2YgdGFraW5nIGEgc2hhcmVkLXN0YXRzIGxvY2sKKwkg KiBoZXJlOyBwZ3N0YXRfcmVwb3J0X3N0YXQoKSBmbHVzaGVzIHRoZW0gdG8gc2hhcmVkIG1l bW9yeSB0aHJvdWdoIHRoZQorCSAqIHJlZ2lzdGVyZWQgZmx1c2ggY2FsbGJhY2tzIG9uY2Ug dGhlIHZhY3V1bSdzIHRyYW5zYWN0aW9uIGNvbXBsZXRlcy4KIAkgKi8KKworCS8qIFBlci1y ZWxhdGlvbiBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyAqLwogCWVudHJ5X3JlZiA9IHBn c3RhdF9wcmVwX3BlbmRpbmdfZW50cnkoUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFUSU9OLAog CQkJCQkJCQkJCSAgZGJvaWQsIHRhYmxlb2lkLCBOVUxMKTsKIAlyZWxwZW5kaW5nID0gKFBn U3RhdF9SZWxhdGlvblZhY3V1bVBlbmRpbmcgKikgZW50cnlfcmVmLT5wZW5kaW5nOwogCXBn c3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0c19yZWxhdGlvbnMoJnJlbHBlbmRpbmctPmNv dW50cywgcGFyYW1zKTsKKworCS8qIERhdGFiYXNlLXdpZGUgYWdncmVnYXRlIG9mIHRoZSBz YW1lIHdvcmsgKi8KKwllbnRyeV9yZWYgPSBwZ3N0YXRfcHJlcF9wZW5kaW5nX2VudHJ5KFBH U1RBVF9LSU5EX1ZBQ1VVTV9EQiwKKwkJCQkJCQkJCQkgIGRib2lkLCBJbnZhbGlkT2lkLCBO VUxMKTsKKwlkYnBlbmRpbmcgPSAoUGdTdGF0X1ZhY3V1bURCQ291bnRzICopIGVudHJ5X3Jl Zi0+cGVuZGluZzsKKwlwZ3N0YXRfYWNjdW11bGF0ZV9jb21tb24oJmRicGVuZGluZy0+Y29t bW9uLCAmcGFyYW1zLT5jb21tb24pOwogfQogCiAvKgpAQCAtMTIwLDYgKzE1OSwzMSBAQCBw Z3N0YXRfdmFjdXVtX3JlbGF0aW9uX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlf cmVmLCBib29sIG5vd2FpdCkKIAlyZXR1cm4gdHJ1ZTsKIH0KIAorLyoKKyAqIEZsdXNoIG91 dCBwZW5kaW5nIHBlci1kYXRhYmFzZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgZm9yIHRoZSBl bnRyeS4KKyAqLworYm9vbAorcGdzdGF0X3ZhY3V1bV9kYl9mbHVzaF9jYihQZ1N0YXRfRW50 cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCit7CisJUGdTdGF0U2hhcmVkX1ZhY3V1 bURCICpzaGFyZWRlbnQ7CisJUGdTdGF0X1ZhY3V1bURCQ291bnRzICpwZW5kaW5nZW50Owor CisJcGVuZGluZ2VudCA9IChQZ1N0YXRfVmFjdXVtREJDb3VudHMgKikgZW50cnlfcmVmLT5w ZW5kaW5nOworCXNoYXJlZGVudCA9IChQZ1N0YXRTaGFyZWRfVmFjdXVtREIgKikgZW50cnlf cmVmLT5zaGFyZWRfc3RhdHM7CisKKwlpZiAocGdfbWVtb3J5X2lzX2FsbF96ZXJvcyhwZW5k aW5nZW50LCBzaXplb2YoUGdTdGF0X1ZhY3V1bURCQ291bnRzKSkpCisJCXJldHVybiB0cnVl OworCisJaWYgKCFwZ3N0YXRfbG9ja19lbnRyeShlbnRyeV9yZWYsIG5vd2FpdCkpCisJCXJl dHVybiBmYWxzZTsKKworCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0c19kYigmc2hh cmVkZW50LT5zdGF0cywgcGVuZGluZ2VudCk7CisKKwlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVu dHJ5X3JlZik7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwogLyoKICAqIFN1cHBvcnQgZnVuY3Rp b24gZm9yIHRoZSBTUUwtY2FsbGFibGUgcGdzdGF0KiBmdW5jdGlvbnMuIFJldHVybnMgdGhl IHZhY3V1bQogICogY29sbGVjdGVkIHN0YXRpc3RpY3MgZm9yIG9uZSByZWxhdGlvbiBvciBO VUxMLgpAQCAtMTMwLDMgKzE5NCwxNCBAQCBwZ3N0YXRfZmV0Y2hfc3RhdF92YWN1dW1fdGFi ZW50cnkoT2lkIHJlbGlkLCBPaWQgZGJpZCkKIAlyZXR1cm4gKFBnU3RhdF9WYWN1dW1SZWxh dGlvbkNvdW50cyAqKQogCQlwZ3N0YXRfZmV0Y2hfZW50cnkoUEdTVEFUX0tJTkRfVkFDVVVN X1JFTEFUSU9OLCBkYmlkLCByZWxpZCwgTlVMTCk7CiB9CisKKy8qCisgKiBTdXBwb3J0IGZ1 bmN0aW9uIGZvciB0aGUgU1FMLWNhbGxhYmxlIHBnc3RhdCogZnVuY3Rpb25zLiBSZXR1cm5z IHRoZSB2YWN1dW0KKyAqIGNvbGxlY3RlZCBzdGF0aXN0aWNzIGZvciBvbmUgZGF0YWJhc2Ug b3IgTlVMTC4KKyAqLworUGdTdGF0X1ZhY3V1bURCQ291bnRzICoKK3Bnc3RhdF9mZXRjaF9z dGF0X3ZhY3V1bV9kYmVudHJ5KE9pZCBkYmlkKQoreworCXJldHVybiAoUGdTdGF0X1ZhY3V1 bURCQ291bnRzICopCisJCXBnc3RhdF9mZXRjaF9lbnRyeShQR1NUQVRfS0lORF9WQUNVVU1f REIsIGRiaWQsIEludmFsaWRPaWQsIE5VTEwpOworfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdz dGF0ZnVuY3MuYwppbmRleCA3NDJmNDk3NGQ1Li5hYWQ0NDI3NDY5IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjM3NCwxMyArMjM3NCwxNCBAQCBwZ19zdGF0 X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJHUykKIERhdHVtCiBwZ19zdGF0X2dldF92YWN1 dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiB7Ci0jZGVmaW5lIFBHX1NUQVRfR0VUX1ZB Q1VVTV9UQUJMRVNfU1RBVFNfQ09MUyA4CisjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9U QUJMRVNfU1RBVFNfQ09MUyAxMQogCiAJT2lkCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDAp OwogCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqZXh0dmFjdXVtOwogCVR1cGxlRGVz Ywl0dXBkZXNjOwogCURhdHVtCQl2YWx1ZXNbUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19T VEFUU19DT0xTXSA9IHswfTsKIAlib29sCQludWxsc1tQR19TVEFUX0dFVF9WQUNVVU1fVEFC TEVTX1NUQVRTX0NPTFNdID0gezB9OworCWNoYXIJCWJ1ZlsyNTZdOwogCWludAkJCWkgPSAw OwogCiAJLyogQnVpbGQgYSB0dXBsZSBkZXNjcmlwdG9yIGZvciBvdXIgcmVzdWx0IHR5cGUg Ki8KQEAgLTI0MDcsNiArMjQwOCwxMyBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBH X0ZVTkNUSU9OX0FSR1MpCiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMpOwogCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzKTsKIAl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5taXNzZWRfZGVhZF90dXBs ZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi53 YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ Y29tbW9uLndhbF9mcGkpOworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZP Uk1BVCwgZXh0dmFjdXVtLT5jb21tb24ud2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERp cmVjdEZ1bmN0aW9uQ2FsbDMobnVtZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERh dHVtKGJ1ZiksCisJCQkJCQkJCQkgIE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkg IEludDMyR2V0RGF0dW0oLTEpKTsKIAogCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VV TV9UQUJMRVNfU1RBVFNfQ09MUyk7CiAKQEAgLTI0MjAsMTMgKzI0MjgsMTQgQEAgcGdfc3Rh dF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogRGF0dW0KIHBnX3N0YXRf Z2V0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiB7Ci0jZGVmaW5lIFBHX1NU QVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTIDMKKyNkZWZpbmUgUEdfU1RBVF9HRVRf VkFDVVVNX0lOREVYX1NUQVRTX0NPTFMgNgogCiAJT2lkCQkJcmVsaWQgPSBQR19HRVRBUkdf T0lEKDApOwogCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqZXh0dmFjdXVtOwogCVR1 cGxlRGVzYwl0dXBkZXNjOwogCURhdHVtCQl2YWx1ZXNbUEdfU1RBVF9HRVRfVkFDVVVNX0lO REVYX1NUQVRTX0NPTFNdID0gezB9OwogCWJvb2wJCW51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VV TV9JTkRFWF9TVEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQlidWZbMjU2XTsKIAlpbnQJCQlp ID0gMDsKIAogCWlmIChnZXRfY2FsbF9yZXN1bHRfdHlwZShmY2luZm8sIE5VTEwsICZ0dXBk ZXNjKSAhPSBUWVBFRlVOQ19DT01QT1NJVEUpCkBAIC0yNDQ4LDggKzI0NTcsNTggQEAgcGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykKIAl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5pbmRleC5wYWdlc19kZWxldGVkKTsKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udHVwbGVzX2Rl bGV0ZWQpOwogCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29t bW9uLndhbF9yZWNvcmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT5jb21tb24ud2FsX2ZwaSk7CisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5U NjRfRk9STUFULCBleHR2YWN1dW0tPmNvbW1vbi53YWxfYnl0ZXMpOworCXZhbHVlc1tpKytd ID0gRGlyZWN0RnVuY3Rpb25DYWxsMyhudW1lcmljX2luLAorCQkJCQkJCQkJICBDU3RyaW5n R2V0RGF0dW0oYnVmKSwKKwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bSgwKSwKKwkJCQkJ CQkJCSAgSW50MzJHZXREYXR1bSgtMSkpOwogCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZB Q1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKIAogCS8qIFJldHVybnMgdGhlIHJlY29yZCBhcyBE YXR1bSAqLwogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zvcm1f dHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKIH0KKworLyoKKyAqIEdldCB0aGUg ZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGEgZGF0YWJhc2UuCisgKi8KK0RhdHVt CitwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoUEdfRlVOQ1RJT05fQVJHUykKK3sKKyNk ZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMgNQorCisJT2lk CQkJZGJpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJUGdTdGF0X1ZhY3V1bURCQ291bnRzICpl eHR2YWN1dW07CisJVHVwbGVEZXNjCXR1cGRlc2M7CisJRGF0dW0JCXZhbHVlc1tQR19TVEFU X0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MU10gPSB7MH07CisJYm9vbAkJbnVsbHNb UEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFNdID0gezB9OworCWNoYXIJ CWJ1ZlsyNTZdOworCWludAkJCWkgPSAwOworCisJaWYgKGdldF9jYWxsX3Jlc3VsdF90eXBl KGZjaW5mbywgTlVMTCwgJnR1cGRlc2MpICE9IFRZUEVGVU5DX0NPTVBPU0lURSkKKwkJZWxv ZyhFUlJPUiwgInJldHVybiB0eXBlIG11c3QgYmUgYSByb3cgdHlwZSIpOworCisJZXh0dmFj dXVtID0gT2lkSXNWYWxpZChkYmlkKSA/IHBnc3RhdF9mZXRjaF9zdGF0X3ZhY3V1bV9kYmVu dHJ5KGRiaWQpIDogTlVMTDsKKwlpZiAoIWV4dHZhY3V1bSkKKwl7CisJCUluaXRNYXRlcmlh bGl6ZWRTUkYoZmNpbmZvLCAwKTsKKwkJUEdfUkVUVVJOX1ZPSUQoKTsKKwl9CisKKwl2YWx1 ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0oZGJpZCk7CisKKwl2YWx1ZXNbaSsrXSA9IElu dDMyR2V0RGF0dW0oZXh0dmFjdXVtLT5lcnJvcnMpOworCisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9yZWNvcmRzKTsKKwl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24ud2FsX2ZwaSk7CisJc25wcmlu dGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPmNvbW1vbi53 YWxfYnl0ZXMpOworCXZhbHVlc1tpKytdID0gRGlyZWN0RnVuY3Rpb25DYWxsMyhudW1lcmlj X2luLAorCQkJCQkJCQkJICBDU3RyaW5nR2V0RGF0dW0oYnVmKSwKKwkJCQkJCQkJCSAgT2Jq ZWN0SWRHZXREYXR1bSgwKSwKKwkJCQkJCQkJCSAgSW50MzJHZXREYXR1bSgtMSkpOworCUFz c2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTKTsKKwor CS8qIFJldHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShI ZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxs cykpKTsKK30KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQg Yi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IDZkNjgzNDEzYTQuLjNk ZDNkODFhMTMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQK KysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI2NDMsOSArMTI2 NDMsOSBAQAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzJywgcHJv cm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29y ZCcsIHByb2lzc3RyaWN0ID0+ICdmJywKICAgcHJvcmV0c2V0ID0+ICd0JywKICAgcHJvYXJn dHlwZXMgPT4gJ29pZCcsCi0gIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4fScsCi0gIHByb2FyZ21vZGVzID0+ICd7aSxv LG8sbyxvLG8sbyxvLG99JywKLSAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQscGFn ZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHR1cGxlc19kZWxldGVkLHR1cGxlc19mcm96ZW4s cmVjZW50bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfcGFnZXMsbWlzc2VkX2RlYWRfdHVw bGVzfScsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljfScsCisgIHByb2FyZ21vZGVz ID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3ty ZWxvaWQscmVsaWQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHR1cGxlc19kZWxldGVk LHR1cGxlc19mcm96ZW4scmVjZW50bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfcGFnZXMs bWlzc2VkX2RlYWRfdHVwbGVzLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzfScsCiAg IHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcycgfQogCiAjIG9pZDggcmVs YXRlZCBmdW5jdGlvbnMKQEAgLTEyNzE4LDggKzEyNzE4LDE3IEBACiAgIHByb25hbWUgPT4g J3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xh dGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsIHByb2lzc3RyaWN0ID0+ICdm JywKICAgcHJvcmV0c2V0ID0+ICd0JywKICAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCi0gIHBy b2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDh9JywKLSAgcHJvYXJnbW9kZXMg PT4gJ3tpLG8sbyxvfScsCi0gIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJlbGlkLHBhZ2Vz X2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWR9JywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQs b2lkLGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpY30nLAorICBwcm9hcmdtb2RlcyA9PiAn e2ksbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQscGFn ZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRl c30nLAogICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJyB9LAoreyBv aWQgPT4gJzgwMDUnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNl IHJldHVybnMgdmFjdXVtIHN0YXRzIHZhbHVlcyBmb3IgZGF0YWJhc2UnLAorICBwcm9uYW1l ID0+ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UnLCBwcm9yb3dzID0+IDEwMDAsIHBy b3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJywgcHJvaXNzdHJpY3Qg PT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywK KyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDQsaW50OCxpbnQ4LG51bWVyaWN9 JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9 PiAne2RiaWQsZGJvaWQsZXJyb3JzLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzfScs CisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlJyB9LAogXQpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggYi9zcmMvaW5jbHVkZS9j b21tYW5kcy92YWN1dW0uaAppbmRleCA5NTZkOWNlYTM2Li5lMzgwOGI4NTg3IDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaAorKysgYi9zcmMvaW5jbHVkZS9j b21tYW5kcy92YWN1dW0uaApAQCAtMjEsOSArMjEsMTEgQEAKICNpbmNsdWRlICJjYXRhbG9n L3BnX2NsYXNzLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19zdGF0aXN0aWMuaCIKICNpbmNs dWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKKyNpbmNsdWRlICJleGVjdXRvci9pbnN0cnVtZW50 LmgiCiAjaW5jbHVkZSAicGFyc2VyL3BhcnNlX25vZGUuaCIKICNpbmNsdWRlICJzdG9yYWdl L2J1Zi5oIgogI2luY2x1ZGUgInV0aWxzL3JlbGNhY2hlLmgiCisjaW5jbHVkZSAicGdzdGF0 LmgiCiAKIC8qCiAgKiBGbGFncyBmb3IgYW1wYXJhbGxlbHZhY3V1bW9wdGlvbnMgdG8gY29u dHJvbCB0aGUgcGFydGljaXBhdGlvbiBvZiBidWxrZGVsZXRlCkBAIC0zMjEsNiArMzIzLDI2 IEBAIHR5cGVkZWYgc3RydWN0IFBWV29ya2VyVXNhZ2UKIAlQVldvcmtlclN0YXRzIGNsZWFu dXA7CiB9IFBWV29ya2VyVXNhZ2U7CiAKKy8qCisgKiBDb3VudGVycyBhbmQgdXNhZ2UgZGF0 YSBmb3IgZXh0ZW5kZWQgc3RhdHMgdHJhY2tpbmcuCisgKi8KK3R5cGVkZWYgc3RydWN0IExW RXh0U3RhdENvdW50ZXJzCit7CisJVGltZXN0YW1wVHogc3RhcnR0aW1lOworCVdhbFVzYWdl CXdhbHVzYWdlOworCUJ1ZmZlclVzYWdlIGJ1ZnVzYWdlOworCWRvdWJsZQkJVmFjdXVtRGVs YXlUaW1lOworCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3Vu dGVyIGJsb2Nrc19oaXQ7Cit9CQkJTFZFeHRTdGF0Q291bnRlcnM7CisKK3R5cGVkZWYgc3Ry dWN0IExWRXh0U3RhdENvdW50ZXJzSWR4Cit7CisJTFZFeHRTdGF0Q291bnRlcnMgY29tbW9u OworCWludDY0CQlwYWdlc19kZWxldGVkOworCWludDY0CQl0dXBsZXNfcmVtb3ZlZDsKK30J CQlMVkV4dFN0YXRDb3VudGVyc0lkeDsKKwogLyogR1VDIHBhcmFtZXRlcnMgKi8KIGV4dGVy biBQR0RMTElNUE9SVCBpbnQgZGVmYXVsdF9zdGF0aXN0aWNzX3RhcmdldDsJLyogUEdETExJ TVBPUlQgZm9yIFBvc3RHSVMgKi8KIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgdmFjdXVtX2Zy ZWV6ZV9taW5fYWdlOwpAQCAtMzUzLDYgKzM3NSw3IEBAIGV4dGVybiBQR0RMTElNUE9SVCBk b3VibGUgdmFjdXVtX21heF9lYWdlcl9mcmVlemVfZmFpbHVyZV9yYXRlOwogZXh0ZXJuIFBH RExMSU1QT1JUIHBnX2F0b21pY191aW50MzIgKlZhY3V1bVNoYXJlZENvc3RCYWxhbmNlOwog ZXh0ZXJuIFBHRExMSU1QT1JUIHBnX2F0b21pY191aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3Jr ZXJzOwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBWYWN1dW1Db3N0QmFsYW5jZUxvY2FsOwor ZXh0ZXJuIFBHRExMSU1QT1JUIGRvdWJsZSBWYWN1dW1EZWxheVRpbWU7CiAKIGV4dGVybiBQ R0RMTElNUE9SVCBib29sIFZhY3V1bUZhaWxzYWZlQWN0aXZlOwogZXh0ZXJuIFBHRExMSU1Q T1JUIGRvdWJsZSB2YWN1dW1fY29zdF9kZWxheTsKQEAgLTQwOSw3ICs0MzIsOCBAQCBleHRl cm4gUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcGFyYWxsZWxfdmFjdXVtX2luaXQoUmVsYXRpb24g cmVsLCBSZWxhdGlvbiAqaW5kcmVscwogCQkJCQkJCQkJCQkJIGludCBuaW5kZXhlcywgaW50 IG5yZXF1ZXN0ZWRfd29ya2VycywKIAkJCQkJCQkJCQkJCSBpbnQgdmFjX3dvcmtfbWVtLCBp bnQgZWxldmVsLAogCQkJCQkJCQkJCQkJIEJ1ZmZlckFjY2Vzc1N0cmF0ZWd5IGJzdHJhdGVn eSk7Ci1leHRlcm4gdm9pZCBwYXJhbGxlbF92YWN1dW1fZW5kKFBhcmFsbGVsVmFjdXVtU3Rh dGUgKnB2cywgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICoqaXN0YXRzKTsKK2V4dGVybiB2b2lk IHBhcmFsbGVsX3ZhY3V1bV9lbmQoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBJbmRleEJ1 bGtEZWxldGVSZXN1bHQgKippc3RhdHMsCisJCQkJCQkJCVBnU3RhdF9WYWN1dW1SZWxhdGlv bkNvdW50cyAqaWR4X2hlYXBfdG90YWwpOwogZXh0ZXJuIFRpZFN0b3JlICpwYXJhbGxlbF92 YWN1dW1fZ2V0X2RlYWRfaXRlbXMoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLAogCQkJCQkJ CQkJCQkJVmFjRGVhZEl0ZW1zSW5mbyAqKmRlYWRfaXRlbXNfaW5mb19wKTsKIGV4dGVybiB2 b2lkIHBhcmFsbGVsX3ZhY3V1bV9yZXNldF9kZWFkX2l0ZW1zKFBhcmFsbGVsVmFjdXVtU3Rh dGUgKnB2cyk7CkBAIC00MzksNCArNDYzLDEwIEBAIGV4dGVybiBkb3VibGUgYW5sX3JhbmRv bV9mcmFjdCh2b2lkKTsKIGV4dGVybiBkb3VibGUgYW5sX2luaXRfc2VsZWN0aW9uX3N0YXRl KGludCBuKTsKIGV4dGVybiBkb3VibGUgYW5sX2dldF9uZXh0X1MoZG91YmxlIHQsIGludCBu LCBkb3VibGUgKnN0YXRlcHRyKTsKIAorZXh0ZXJuIHZvaWQgZXh0dmFjX3N0YXRzX3N0YXJ0 X2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCisJCQkJ CQkJCSAgIExWRXh0U3RhdENvdW50ZXJzSWR4ICogY291bnRlcnMpOworZXh0ZXJuIHZvaWQg ZXh0dmFjX3N0YXRzX2VuZF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKnN0YXRzLAorCQkJCQkJCQkgTFZFeHRTdGF0Q291bnRlcnNJZHggKiBjb3VudGVycywg UGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICogcmVwb3J0KTsKK2V4dGVybiB2b2lkIGV4 dHZhY19hY2N1bXVsYXRlX2lkeF9yZXBvcnQoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRz ICogZHN0LAorCQkJCQkJCQkJCSBjb25zdCBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMg KiBzcmMpOwogI2VuZGlmCQkJCQkJCS8qIFZBQ1VVTV9IICovCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IGJkY2Y3NTg0 NDEuLmY3MDRhMTUwMDMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBi L3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBAIC0xNzUsNiArMTc1LDExIEBAIHR5cGVkZWYgc3Ry dWN0IFBnU3RhdF9UYWJsZUNvdW50cwogCiB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfQ29tbW9u Q291bnRzCiB7CisJLyogV0FMICovCisJaW50NjQJCXdhbF9yZWNvcmRzOworCWludDY0CQl3 YWxfZnBpOworCXVpbnQ2NAkJd2FsX2J5dGVzOworCiAJLyogdHVwbGVzICovCiAJaW50NjQJ CXR1cGxlc19kZWxldGVkOwogfQkJCVBnU3RhdF9Db21tb25Db3VudHM7CkBAIC0yMzcsNiAr MjQyLDEzIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9WYWN1dW1SZWxhdGlvblN0YXR1cwog CVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyBjb3VudHM7IC8qIGV2ZW50IGNvdW50cyB0 byBiZSBzZW50ICovCiB9CQkJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uU3RhdHVzOwogCit0eXBl ZGVmIHN0cnVjdCBQZ1N0YXRfVmFjdXVtREJDb3VudHMKK3sKKwlPaWQJCQlkYmppZDsKKwlQ Z1N0YXRfQ29tbW9uQ291bnRzIGNvbW1vbjsKKwlpbnQzMgkJZXJyb3JzOworfQkJCVBnU3Rh dF9WYWN1dW1EQkNvdW50czsKKwogLyogLS0tLS0tLS0tLQogICogUGdTdGF0X1RhYmxlU3Rh dHVzCQkJUGVyLXRhYmxlIHN0YXR1cyB3aXRoaW4gYSBiYWNrZW5kCiAgKgpAQCAtOTE3LDEx ICs5MjksMTMgQEAgZXh0ZXJuIGludAlwZ3N0YXRfZ2V0X3RyYW5zYWN0aW9uYWxfZHJvcHMo Ym9vbCBpc0NvbW1pdCwgc3RydWN0IHhsX3hhY3Rfc3RhdHNfaXQKIGV4dGVybiB2b2lkIHBn c3RhdF9leGVjdXRlX3RyYW5zYWN0aW9uYWxfZHJvcHMoaW50IG5kcm9wcywgc3RydWN0IHhs X3hhY3Rfc3RhdHNfaXRlbSAqaXRlbXMsIGJvb2wgaXNfcmVkbyk7CiAKIAorZXh0ZXJuIHZv aWQgcGdzdGF0X2Ryb3BfdmFjdXVtX2RhdGFiYXNlKE9pZCBkYXRhYmFzZWlkKTsKIGV4dGVy biB2b2lkIHBnc3RhdF92YWN1dW1fcmVsYXRpb25fZGVsZXRlX3BlbmRpbmdfY2IoT2lkIHJl bGlkKTsKIGV4dGVybiB2b2lkCiAJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyhP aWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCQkJCQkJCQkJCSAgUGdTdGF0X1ZhY3V1bVJl bGF0aW9uQ291bnRzICogcGFyYW1zKTsKIGV4dGVybiBQZ1N0YXRfVmFjdXVtUmVsYXRpb25D b3VudHMgKiBwZ3N0YXRfZmV0Y2hfc3RhdF92YWN1dW1fdGFiZW50cnkoT2lkIHJlbGlkLCBP aWQgZGJpZCk7CitleHRlcm4gUGdTdGF0X1ZhY3V1bURCQ291bnRzICogcGdzdGF0X2ZldGNo X3N0YXRfdmFjdXVtX2RiZW50cnkoT2lkIGRiaWQpOwogCiAvKgogICogRnVuY3Rpb25zIGlu IHBnc3RhdF93YWwuYwpAQCAtOTQwLDYgKzk1NCw3IEBAIGV4dGVybiBQR0RMTElNUE9SVCBi b29sIHBnc3RhdF90cmFja19jb3VudHM7CiBleHRlcm4gUEdETExJTVBPUlQgaW50IHBnc3Rh dF90cmFja19mdW5jdGlvbnM7CiBleHRlcm4gUEdETExJTVBPUlQgaW50IHBnc3RhdF9mZXRj aF9jb25zaXN0ZW5jeTsKIGV4dGVybiBQR0RMTElNUE9SVCBib29sIHBnc3RhdF90cmFja192 YWN1dW1fc3RhdGlzdGljczsKK2V4dGVybiBQR0RMTElNUE9SVCBib29sIHBnc3RhdF90cmFj a192YWN1dW1fc3RhdGlzdGljc19mb3JfcmVsYXRpb25zOwogCiAvKgogICogVmFyaWFibGVz IGluIHBnc3RhdF9iZ3dyaXRlci5jCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9w Z3N0YXRfaW50ZXJuYWwuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5o CmluZGV4IDQ2YTEyN2FmMmIuLmEyMzRjNzk3ZTAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3Rh dF9pbnRlcm5hbC5oCkBAIC01MDcsNiArNTA3LDEyIEBAIHR5cGVkZWYgc3RydWN0IFBnU3Rh dFNoYXJlZF9SZWxhdGlvbgogCVBnU3RhdF9TdGF0VGFiRW50cnkgc3RhdHM7CiB9IFBnU3Rh dFNoYXJlZF9SZWxhdGlvbjsKIAordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0U2hhcmVkX1ZhY3V1 bURCCit7CisJUGdTdGF0U2hhcmVkX0NvbW1vbiBoZWFkZXI7CisJUGdTdGF0X1ZhY3V1bURC Q291bnRzIHN0YXRzOworfQkJCVBnU3RhdFNoYXJlZF9WYWN1dW1EQjsKKwogdHlwZWRlZiBz dHJ1Y3QgUGdTdGF0U2hhcmVkX1ZhY3V1bVJlbGF0aW9uCiB7CiAJUGdTdGF0U2hhcmVkX0Nv bW1vbiBoZWFkZXI7CkBAIC02OTUsNiArNzAxLDcgQEAgZXh0ZXJuIHZvaWQgKnBnc3RhdF9m ZXRjaF9lbnRyeShQZ1N0YXRfS2luZCBraW5kLCBPaWQgZGJvaWQsIHVpbnQ2NCBvYmppZCwK IAkJCQkJCQkJYm9vbCAqbWF5X2ZyZWUpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3NuYXBzaG90 X2ZpeGVkKFBnU3RhdF9LaW5kIGtpbmQpOwogCitib29sCQlwZ3N0YXRfdmFjdXVtX2RiX2Zs dXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCk7CiBleHRl cm4gYm9vbCBwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJl ZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCk7CiAKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvdXRpbHMvcGdzdGF0X2tpbmQuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9raW5k LmgKaW5kZXggZjkyMTQ5MDY2Yy4uNTJkOTM2N2ZiZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvdXRpbHMvcGdzdGF0X2tpbmQuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRf a2luZC5oCkBAIC00MCw5ICs0MCwxMCBAQAogI2RlZmluZSBQR1NUQVRfS0lORF9TTFJVCTEy CiAjZGVmaW5lIFBHU1RBVF9LSU5EX1dBTAkxMwogI2RlZmluZSBQR1NUQVRfS0lORF9WQUNV VU1fUkVMQVRJT04JMTQKKyNkZWZpbmUgUEdTVEFUX0tJTkRfVkFDVVVNX0RCCTE1CiAKICNk ZWZpbmUgUEdTVEFUX0tJTkRfQlVJTFRJTl9NSU4gUEdTVEFUX0tJTkRfREFUQUJBU0UKLSNk ZWZpbmUgUEdTVEFUX0tJTkRfQlVJTFRJTl9NQVggUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFU SU9OCisjZGVmaW5lIFBHU1RBVF9LSU5EX0JVSUxUSU5fTUFYIFBHU1RBVF9LSU5EX1ZBQ1VV TV9EQgogI2RlZmluZSBQR1NUQVRfS0lORF9CVUlMVElOX1NJWkUgKFBHU1RBVF9LSU5EX0JV SUxUSU5fTUFYICsgMSkKIAogLyogQ3VzdG9tIHN0YXRzIGtpbmRzICovCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy9tZXNvbi5idWlsZCBiL3NyYy90ZXN0L21v ZHVsZXMvdGVzdF9taXNjL21lc29uLmJ1aWxkCmluZGV4IDI2NzE0NTE2M2EuLjgwNWM2YzJj MzkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL21lc29uLmJ1aWxk CisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL21lc29uLmJ1aWxkCkBAIC0yMyw2 ICsyMyw3IEBAIHRlc3RzICs9IHsKICAgICAgICd0LzAxMl9kZGx1dGlscy5wbCcsCiAgICAg ICAndC8wMTNfdGVtcF9vYmpfbXVsdGlzZXNzaW9uLnBsJywKICAgICAgICd0LzAxNF92YWN1 dW1fc3RhdHMucGwnLAorICAgICAgJ3QvMDE2X3ZhY3V1bV9zdGF0c19wYXJhbGxlbC5wbCcs CiAgICAgXSwKICAgICAjIFRoZSBpbmplY3Rpb24gcG9pbnRzIGFyZSBjbHVzdGVyLXdpZGUs IHNvIGRpc2FibGUgaW5zdGFsbGNoZWNrCiAgICAgJ3J1bm5pbmdjaGVjayc6IGZhbHNlLApk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvdC8wMTZfdmFjdXVtX3N0 YXRzX3BhcmFsbGVsLnBsIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvdC8wMTZfdmFj dXVtX3N0YXRzX3BhcmFsbGVsLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLjhiMjNlMTM4ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVz L3Rlc3RfbWlzYy90LzAxNl92YWN1dW1fc3RhdHNfcGFyYWxsZWwucGwKQEAgLTAsMCArMSwx MDQgQEAKKyMgQ29weXJpZ2h0IChjKSAyMDI0LTIwMjYsIFBvc3RncmVTUUwgR2xvYmFsIERl dmVsb3BtZW50IEdyb3VwCisKKyMgVGVzdCB0aGF0IHBlci1pbmRleCB2YWN1dW0gc3RhdGlz dGljcyBhcmUgY29sbGVjdGVkIGZvciBpbmRleGVzIHRoYXQgYXJlCisjIHZhY3V1bWVkIHRo cm91Z2ggdGhlIFBBUkFMTEVMIHBhdGguCisjCisjIFdoZW4gVkFDVVVNIGRpc3RyaWJ1dGVz IGluZGV4IGNsZWFudXAgdG8gcGFyYWxsZWwgd29ya2VycywgdGhlIFdBTC9idWZmZXIKKyMg dXNhZ2UgYW5kIHRoZSB0dXBsZSBjb3VudGVycyBvZiBlYWNoIGluZGV4IGFyZSBwcm9kdWNl ZCBpbiBhIGRpZmZlcmVudAorIyBwcm9jZXNzIHRoYW4gdGhlIGxlYWRlci4gIFRoZSBzYW1w bGluZyBtYWNoaW5lcnkgaGFzIHRvIGdhdGhlciB0aG9zZSBudW1iZXJzCisjIGZyb20gdGhl IHdvcmtlcnMgYW5kIGF0dHJpYnV0ZSB0aGVtIHRvIHRoZSByaWdodCBpbmRleCBpbiBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzCisjIC0tIG90aGVyd2lzZSB0aGUgaW5kZXggd29yayBpcyBz aWxlbnRseSBsb3N0IChvciBmb2xkZWQgaW50byB0aGUgaGVhcCdzCisjIGZpZ3VyZXMpLiAg QSByZWdyZXNzaW9uIHRlc3QgY2Fubm90IGd1YXJhbnRlZSB0aGF0IHRoZSBwYXJhbGxlbCBw YXRoIGlzIHRha2VuLAorIyBzbyB0aGlzIGlzIGRvbmUgaW4gYSBUQVAgY2x1c3RlciB3aGVy ZSB3ZSBjYW4gZm9yY2UgaXQgYW5kIHZlcmlmeSwgZnJvbQorIyBWQUNVVU0gKFZFUkJPU0Up IG91dHB1dCwgdGhhdCBhIHdvcmtlciB3YXMgYWN0dWFsbHkgbGF1bmNoZWQuCisKK3VzZSBz dHJpY3Q7Cit1c2Ugd2FybmluZ3MgRkFUQUwgPT4gJ2FsbCc7Cit1c2UgUG9zdGdyZVNRTDo6 VGVzdDo6Q2x1c3RlcjsKK3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczsKK3VzZSBUZXN0 OjpNb3JlOworCitteSAkbm9kZSA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygn bWFpbicpOworJG5vZGUtPmluaXQ7Ciskbm9kZS0+YXBwZW5kX2NvbmYoCisJJ3Bvc3RncmVz cWwuY29uZicsIHFxWworYXV0b3ZhY3V1bSA9IG9mZgordHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3MgPSBvbgorIyBNYWtlIGV2ZXJ5IGluZGV4IGVsaWdpYmxlIGZvciB0aGUgcGFyYWxsZWwg cGF0aCBhbmQgbWFrZSBzdXJlIHdvcmtlcnMgY2FuIHJ1bi4KK21pbl9wYXJhbGxlbF9pbmRl eF9zY2FuX3NpemUgPSAwCittYXhfcGFyYWxsZWxfbWFpbnRlbmFuY2Vfd29ya2VycyA9IDQK K21heF93b3JrZXJfcHJvY2Vzc2VzID0gOAorbWF4X3BhcmFsbGVsX3dvcmtlcnMgPSA4Citd KTsKKyRub2RlLT5zdGFydDsKKworIyBCdWlsZCB0aGUgcmVsYXRpb24gdGhhdCB3ZSB3aWxs IHZhY3V1bSBpbiBwYXJhbGxlbC4gIFR3byBpbmRleGVzIGFyZSBuZWVkZWQKKyMgc28gdGhl IHBhcmFsbGVsIHBhdGggaGFzIG1vcmUgdGhhbiBvbmUgaW5kZXggdG8gZGlzdHJpYnV0ZSwg YW5kIHRoZSB0YWJsZSBpcworIyBsYXJnZSBlbm91Z2ggdGhhdCB0aGUgbGVmdG92ZXIgaW5k ZXhlcyBhcmUgd29ydGggc2Nhbm5pbmcuCitteSAkc2V0dXAgPSBzdWIgeworCW15ICgkdGFi KSA9IEBfOworCSRub2RlLT5zYWZlX3BzcWwoCisJCSdwb3N0Z3JlcycsIHFxWworQ1JFQVRF IFRBQkxFICR0YWIgKGlkIGludCwgdmFsIGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVk ID0gb2ZmKTsKK0lOU0VSVCBJTlRPICR0YWIgU0VMRUNUIGcsIGcgRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSwgMTAwMDAwKSBnOworQ1JFQVRFIElOREVYICR7dGFifV9pMSBPTiAkdGFiIChp ZCk7CitDUkVBVEUgSU5ERVggJHt0YWJ9X2kyIE9OICR0YWIgKHZhbCk7CitERUxFVEUgRlJP TSAkdGFiIFdIRVJFIGlkICUgMiA9IDA7ICAgLS0gNTAwMDAgZGVhZCBpbmRleCBlbnRyaWVz IHBlciBpbmRleAorXSk7Cit9OworCisjIFBlci1pbmRleCBzdGF0aXN0aWNzIG9mICR0YWIs IHdpdGggdGhlIHRhYmxlLXNwZWNpZmljIHByZWZpeCBzdHJpcHBlZCBmcm9tIHRoZQorIyBp bmRleCBuYW1lIHNvIHRoZSBwYXJhbGxlbCBhbmQgc2VyaWFsIHJlbGF0aW9ucyBjYW4gYmUg Y29tcGFyZWQgZGlyZWN0bHkuICBXZQorIyBjb21wYXJlIHRoZSBjb3VudGVycyB0aGF0IGFy ZSBmdWxseSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBjb250ZW50IGFuZCBhcmUKKyMgdGhl cmVmb3JlIGlkZW50aWNhbCBubyBtYXR0ZXIgd2hpY2ggcHJvY2VzcyBkaWQgdGhlIHdvcms6 IHRoZSBudW1iZXIgb2YKKyMgcmVtb3ZlZCBpbmRleCBlbnRyaWVzLCB0aGUgbnVtYmVyIG9m IGRlbGV0ZWQgaW5kZXggcGFnZXMgYW5kIHRoZSBudW1iZXIgb2YgV0FMCisjIHJlY29yZHMu ICAod2FsX2ZwaS93YWxfYnl0ZXMgYXJlIGxlZnQgb3V0OiBmdWxsLXBhZ2UgaW1hZ2VzIGRl cGVuZCBvbiB3aGVuIHRoZQorIyBsYXN0IGNoZWNrcG9pbnQgaGFwcGVuZWQsIHNvIHRoZXkg bGVnaXRpbWF0ZWx5IGRpZmZlciBiZXR3ZWVuIHRoZSB0d28gcnVucy4pCitteSAkaW5kZXhf c3RhdHMgPSBzdWIgeworCW15ICgkdGFiKSA9IEBfOworCXJldHVybiAkbm9kZS0+c2FmZV9w c3FsKAorCQkncG9zdGdyZXMnLCBxcVsKK1NFTEVDVCBzdHJpbmdfYWdnKAorICAgICAgICAg Zm9ybWF0KCclczolczolczolcycsIHJlcGxhY2UoaW5kZXhyZWxuYW1lLCAnJHRhYicsICd0 YWInKSwKKyAgICAgICAgICAgICAgICB0dXBsZXNfZGVsZXRlZCwgcGFnZXNfZGVsZXRlZCwg d2FsX3JlY29yZHMpLAorICAgICAgICAgJywnIE9SREVSIEJZIGluZGV4cmVsbmFtZSkKKyAg RlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAnJHRhYiddKTsK K307CisKKyMgLS0tIFBhcmFsbGVsIHZhY3V1bSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiskc2V0dXAtPigndmFjcGFyc3RhdF9w YXInKTsKKworIyBSdW4gd2l0aCBWRVJCT1NFIHNvIHdlIGNhbiBjb25maXJtIGEgcGFyYWxs ZWwgd29ya2VyIHdhcyByZWFsbHkgbGF1bmNoZWQ7CisjIHdpdGhvdXQgdGhhdCBjb25maXJt YXRpb24gdGhlIHRlc3QgY291bGQgc2lsZW50bHkgZGVncmFkZSB0byBhIHNlcmlhbCB2YWN1 dW0uCitteSAoJHJldCwgJHN0ZG91dCwgJHN0ZGVycikgPQorICAkbm9kZS0+cHNxbCgncG9z dGdyZXMnLCAnVkFDVVVNIChWRVJCT1NFLCBQQVJBTExFTCAyKSB2YWNwYXJzdGF0X3Bhcicp OworaXMoJHJldCwgMCwgJ3BhcmFsbGVsIFZBQ1VVTSBzdWNjZWVkZWQnKTsKK2xpa2UoCisJ JHN0ZGVyciwKKwlxci9sYXVuY2hlZCBbMS05XVxkKiBwYXJhbGxlbCB2YWN1dW0gd29ya2Vy LiogZm9yIGluZGV4IHZhY3V1bWluZy8sCisJJ3BhcmFsbGVsIGluZGV4IHZhY3V1bSBhY3R1 YWxseSBsYXVuY2hlZCBhIHdvcmtlcicpOworCisjIC0tLSBTZXJpYWwgdmFjdXVtIChjb250 cm9sKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IyBUaGUgc2FtZSB3b3JrbG9hZCB2YWN1dW1lZCB3aXRob3V0IHBhcmFsbGVsaXNtLgorJHNl dHVwLT4oJ3ZhY3BhcnN0YXRfc2VyJyk7Ciskbm9kZS0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs ICdWQUNVVU0gKFBBUkFMTEVMIDApIHZhY3BhcnN0YXRfc2VyJyk7CisKKyRub2RlLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgJ1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKScp OworCitteSAkcGFyID0gJGluZGV4X3N0YXRzLT4oJ3ZhY3BhcnN0YXRfcGFyJyk7CitteSAk c2VyID0gJGluZGV4X3N0YXRzLT4oJ3ZhY3BhcnN0YXRfc2VyJyk7CisKKyMgU2FuaXR5LWNo ZWNrIHRoZSBwYXJhbGxlbCBudW1iZXJzIHNvIHRoZSBlcXVhbGl0eSBhc3NlcnRpb24gYmVs b3cgY2Fubm90IHBhc3MKKyMganVzdCBiZWNhdXNlIGJvdGggcGF0aHMgY2FwdHVyZWQgbm90 aGluZzogNTAwMDAgcmVtb3ZlZCBlbnRyaWVzIGFuZCBzb21lIFdBTC4KK2xpa2UoCisJJHBh ciwKKwlxci9edGFiX2kxOjUwMDAwOlxkKzpbMS05XVxkKix0YWJfaTI6NTAwMDA6XGQrOlsx LTldXGQqJC8sCisJJ3BhcmFsbGVsIGluZGV4IHZhY3V1bSBjYXB0dXJlZCB0aGUgZXhwZWN0 ZWQgcGVyLWluZGV4IGNvdW50ZXJzJyk7CisKKyMgVGhlIHdob2xlIHBvaW50OiB0aGUgcGFy YWxsZWwgcGF0aCBtdXN0IGF0dHJpYnV0ZSBleGFjdGx5IHRoZSBzYW1lIHBlci1pbmRleAor IyBzdGF0aXN0aWNzIHRvIGVhY2ggaW5kZXggYXMgdGhlIGxlYWRlci1vbmx5IHBhdGggZG9l cy4KK2lzKCRwYXIsICRzZXIsCisJJ3BhcmFsbGVsIGFuZCBzZXJpYWwgaW5kZXggdmFjdXVt IGNhcHR1cmUgaWRlbnRpY2FsIHBlci1pbmRleCBzdGF0aXN0aWNzJyk7CisKKyRub2RlLT5z dG9wOworZG9uZV90ZXN0aW5nKCk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0 CmluZGV4IGEyYjA0NzJhMmQuLjliMzVmMDc3OWUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0CkBAIC0yNDIxLDE4ICsyNDIxLDI5IEBAIHBnX3N0YXRfdXNlcl90YWJs ZXN8IFNFTEVDVCByZWxpZCwKICAgICBmcm96ZW5fcGFnZV9tYXJrc19jbGVhcmVkCiAgICBG Uk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPD4gQUxMIChB UlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpuYW1lXSkp IEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOworcGdfc3RhdF92YWN1 dW1fZGF0YWJhc2V8IFNFTEVDVCBkLm9pZCBBUyBkYm9pZCwKKyAgICBkLmRhdG5hbWUgQVMg ZGJuYW1lLAorICAgIHMuZXJyb3JzLAorICAgIHMud2FsX3JlY29yZHMsCisgICAgcy53YWxf ZnBpLAorICAgIHMud2FsX2J5dGVzCisgICBGUk9NIHBnX2RhdGFiYXNlIGQsCisgICAgTEFU RVJBTCBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoZC5vaWQpIHMoZGJvaWQsIGVycm9y cywgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcyk7CiBwZ19zdGF0X3ZhY3V1bV9p bmRleGVzfCBTRUxFQ1QgYy5vaWQgQVMgcmVsaWQsCiAgICAgaS5vaWQgQVMgaW5kZXhyZWxp ZCwKICAgICBuLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgICBjLnJlbG5hbWUsCiAgICAg aS5yZWxuYW1lIEFTIGluZGV4cmVsbmFtZSwKICAgICBzLnBhZ2VzX2RlbGV0ZWQsCi0gICAg cy50dXBsZXNfZGVsZXRlZAorICAgIHMudHVwbGVzX2RlbGV0ZWQsCisgICAgcy53YWxfcmVj b3JkcywKKyAgICBzLndhbF9mcGksCisgICAgcy53YWxfYnl0ZXMKICAgIEZST00gKCgocGdf Y2xhc3MgYwogICAgICBKT0lOIHBnX2luZGV4IHggT04gKChjLm9pZCA9IHguaW5kcmVsaWQp KSkKICAgICAgSk9JTiBwZ19jbGFzcyBpIE9OICgoaS5vaWQgPSB4LmluZGV4cmVsaWQpKSkK ICAgICAgTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBuIE9OICgobi5vaWQgPSBjLnJlbG5hbWVz cGFjZSkpKSwKLSAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKGkub2lk KSBzKHJlbGlkLCBwYWdlc19kZWxldGVkLCB0dXBsZXNfZGVsZXRlZCkKKyAgICBMQVRFUkFM IHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKGkub2lkKSBzKHJlbGlkLCBwYWdlc19kZWxl dGVkLCB0dXBsZXNfZGVsZXRlZCwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcykK ICAgV0hFUkUgKGMucmVsa2luZCA9IEFOWSAoQVJSQVlbJ3InOjoiY2hhciIsICd0Jzo6ImNo YXIiLCAnbSc6OiJjaGFyIl0pKTsKIHBnX3N0YXRfdmFjdXVtX3RhYmxlc3wgU0VMRUNUIG4u bnNwbmFtZSBBUyBzY2hlbWFuYW1lLAogICAgIGMucmVsbmFtZSwKQEAgLTI0NDMsMTAgKzI0 NTQsMTMgQEAgcGdfc3RhdF92YWN1dW1fdGFibGVzfCBTRUxFQ1Qgbi5uc3BuYW1lIEFTIHNj aGVtYW5hbWUsCiAgICAgcy50dXBsZXNfZnJvemVuLAogICAgIHMucmVjZW50bHlfZGVhZF90 dXBsZXMsCiAgICAgcy5taXNzZWRfZGVhZF9wYWdlcywKLSAgICBzLm1pc3NlZF9kZWFkX3R1 cGxlcworICAgIHMubWlzc2VkX2RlYWRfdHVwbGVzLAorICAgIHMud2FsX3JlY29yZHMsCisg ICAgcy53YWxfZnBpLAorICAgIHMud2FsX2J5dGVzCiAgICBGUk9NIChwZ19jbGFzcyBjCiAg ICAgIEpPSU4gcGdfbmFtZXNwYWNlIG4gT04gKChuLm9pZCA9IGMucmVsbmFtZXNwYWNlKSkp LAotICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhjLm9pZCkgcyhyZWxp ZCwgcGFnZXNfc2Nhbm5lZCwgcGFnZXNfcmVtb3ZlZCwgdHVwbGVzX2RlbGV0ZWQsIHR1cGxl c19mcm96ZW4sIHJlY2VudGx5X2RlYWRfdHVwbGVzLCBtaXNzZWRfZGVhZF9wYWdlcywgbWlz c2VkX2RlYWRfdHVwbGVzKQorICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxl cyhjLm9pZCkgcyhyZWxpZCwgcGFnZXNfc2Nhbm5lZCwgcGFnZXNfcmVtb3ZlZCwgdHVwbGVz X2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJlY2VudGx5X2RlYWRfdHVwbGVzLCBtaXNzZWRf ZGVhZF9wYWdlcywgbWlzc2VkX2RlYWRfdHVwbGVzLCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwg d2FsX2J5dGVzKQogICBXSEVSRSAoYy5yZWxraW5kID0gQU5ZIChBUlJBWVsncic6OiJjaGFy IiwgJ3QnOjoiY2hhciIsICdtJzo6ImNoYXIiXSkpOwogcGdfc3RhdF93YWx8IFNFTEVDVCB3 YWxfcmVjb3JkcywKICAgICB3YWxfZnBpLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC92YWN1dW1fc3RhdHMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC92YWN1dW1fc3RhdHMub3V0CmluZGV4IGNiMTFkNjM4MWMuLjY0NjM5Yzc1ZGMgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91dAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9zdGF0cy5vdXQKQEAgLTg0LDE2 ICs4NCw1NyBAQCBTRUxFQ1QgcmVjZW50bHlfZGVhZF90dXBsZXMgPSAwIEFTIHJlY2VudGx5 X2RlYWRfdHVwbGVzLAogIHQgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAg ICAgfCB0CiAoMSByb3cpCiAKKy0tIFdBTCBtZXRyaWNzLiAgQSB2YWN1dW0gdGhhdCByZW1v dmVzIHR1cGxlcyBhbHdheXMgZW1pdHMgV0FMCistLSAod2FsX3JlY29yZHMgPiAwLCB3YWxf Ynl0ZXMgPiAwKS4gIHdhbF9mcGkgZGVwZW5kcyBvbiB3aGV0aGVyIGEgY2hlY2twb2ludAor LS0gaGFwcGVuZWQgcmVjZW50bHksIHNvIGl0IGlzIG9ubHkgY2hlY2tlZCBmb3IgYmVpbmcg bm9uLW5lZ2F0aXZlIGhlcmU7IHRoZQorLS0gcG9zaXRpdmUgd2FsX2ZwaSBwYXRoIGlzIGV4 ZXJjaXNlZCBzZXBhcmF0ZWx5IGJlbG93LgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyB3 YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID49IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3 YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRlcworICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyBXSEVSRSByZWxuYW1lID0gJ3ZhY3N0YXRfdCc7Cisgd2FsX3JlY29yZHMgfCB3YWxfZnBp IHwgd2FsX2J5dGVzIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyB0 ICAgICAgICAgICB8IHQgICAgICAgfCB0CisoMSByb3cpCisKKy0tIFdBTCBmdWxsLXBhZ2Ut aW1hZ2UgcGF0aDogYSBDSEVDS1BPSU5UIGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgdmFjdXVt IGZvcmNlcworLS0gdGhlIGZpcnN0IG1vZGlmaWNhdGlvbiBvZiBlYWNoIHBhZ2UgdG8gZW1p dCBhIGZ1bGwgcGFnZSBpbWFnZSwgc28gd2FsX2ZwaQorLS0gYWR2YW5jZXMuCitDUkVBVEUg VEFCTEUgdmFjc3RhdF9mcGkgKGlkIGludCBQUklNQVJZIEtFWSwgdiB0ZXh0KQorICBXSVRI IChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYpOworSU5TRVJUIElOVE8gdmFjc3RhdF9mcGkg U0VMRUNUIGcsIHJlcGVhdCgneCcsIDIwKSBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAxMDAw KSBnOworREVMRVRFIEZST00gdmFjc3RhdF9mcGkgV0hFUkUgaWQgJSAyID0gMDsKK0NIRUNL UE9JTlQ7CitWQUNVVU0gdmFjc3RhdF9mcGk7CitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0 X2ZsdXNoKCk7CisgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyB3 YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdh bF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzCisgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVz IFdIRVJFIHJlbG5hbWUgPSAndmFjc3RhdF9mcGknOworIHdhbF9yZWNvcmRzIHwgd2FsX2Zw aSB8IHdhbF9ieXRlcyAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg dCAgICAgICAgICAgfCB0ICAgICAgIHwgdAorKDEgcm93KQorCitEUk9QIFRBQkxFIHZhY3N0 YXRfZnBpOwogLS0gcGVyLWluZGV4IHZpZXc6IHRoZSBwcmltYXJ5IGtleSBpbmRleCBpcyBw cm9jZXNzZWQgYnkgdGhlIHNhbWUgVkFDVVVNLgogLS0gTm8gYnRyZWUgbGVhZiBlbXB0aWVz IG91dCAoaW50ZXJsZWF2ZWQgZGVsZXRpb25zKSwgc28gcGFnZXNfZGVsZXRlZCA9IDAsCiAt LSB3aGlsZSBldmVyeSBpbmRleCBlbnRyeSBmb3IgYSByZW1vdmVkIGhlYXAgdHVwbGUgaXMg ZGVsZXRlZC4KIFNFTEVDVCBpbmRleHJlbG5hbWUsCiAgICAgICAgcGFnZXNfZGVsZXRlZCA9 IDAgQVMgcGFnZXNfZGVsZXRlZCwKLSAgICAgICB0dXBsZXNfZGVsZXRlZCA9IDUwMCBBUyB0 dXBsZXNfZGVsZXRlZAorICAgICAgIHR1cGxlc19kZWxldGVkID0gNTAwIEFTIHR1cGxlc19k ZWxldGVkLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAg ICB3YWxfZnBpID49IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdh bF9ieXRlcwogICBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9 ICd2YWNzdGF0X3QnIE9SREVSIEJZIGluZGV4cmVsbmFtZTsKLSAgaW5kZXhyZWxuYW1lICB8 IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KLSB2YWNzdGF0X3RfcGtleSB8IHQgICAg ICAgICAgICAgfCB0CisgIGluZGV4cmVsbmFtZSAgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVz X2RlbGV0ZWQgfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgCistLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgdmFjc3RhdF90X3BrZXkgfCB0ICAgICAgICAg ICAgIHwgdCAgICAgICAgICAgICAgfCB0ICAgICAgICAgICB8IHQgICAgICAgfCB0CiAoMSBy b3cpCiAKIC0tIGluZGV4IHBhZ2UtZGVsZXRpb24gcGF0aDogZGVsZXRpbmcgYSBjb250aWd1 b3VzIGtleSByYW5nZSBlbXB0aWVzIHdob2xlCkBAIC0xMjcsMyArMTY4LDQzIEBAIFNFTEVD VCBpbmRleHJlbG5hbWUsCiAoMSByb3cpCiAKIERST1AgVEFCTEUgdmFjc3RhdF9pZHhkZWw7 CistLSBwZXItZGF0YWJhc2UgYWdncmVnYXRlIHZpZXc6IG5vIHZhY3V1bSBlcnJvcnMgb2Nj dXJyZWQgaW4gdGhpcyBkYXRhYmFzZSwgYW5kCistLSB0aGUgdmFjdXVtcyBpbiB0aGlzIGRh dGFiYXNlIGVtaXQgV0FMICh3YWxfcmVjb3JkcyA+IDApLgorU0VMRUNUIGVycm9ycyA9IDAg QVMgZXJyb3JzLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAg ICAgICB3YWxfZnBpID49IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFT IHdhbF9ieXRlcworICBGUk9NIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlIFdIRVJFIGRibmFt ZSA9IGN1cnJlbnRfZGF0YWJhc2UoKTsKKyBlcnJvcnMgfCB3YWxfcmVjb3JkcyB8IHdhbF9m cGkgfCB3YWxfYnl0ZXMgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLQorIHQgICAgICB8IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQKKygxIHJvdykK KworLS0gcGFyYWxsZWwgaW5kZXggdmFjdXVtOiBpbmRleCBzdGF0aXN0aWNzIG11c3QgYmUg Y2FwdHVyZWQgZm9yIGluZGV4ZXMKKy0tIHZhY3V1bWVkIHRocm91Z2ggdGhlIHBhcmFsbGVs IHBhdGgsIG5vdCBmb2xkZWQgaW50byB0aGUgaGVhcC4gIEZvcmNlIHRoZQorLS0gcGFyYWxs ZWwgcGF0aCB3aXRoIG1pbl9wYXJhbGxlbF9pbmRleF9zY2FuX3NpemUgPSAwLgorU0VUIG1p bl9wYXJhbGxlbF9pbmRleF9zY2FuX3NpemUgPSAwOworQ1JFQVRFIFRBQkxFIHZhY3N0YXRf cGFyIChpZCBpbnQsIHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYpOwor SU5TRVJUIElOVE8gdmFjc3RhdF9wYXIgU0VMRUNUIGcsIGcgRlJPTSBnZW5lcmF0ZV9zZXJp ZXMoMSwgNTAwMDApIGc7CitDUkVBVEUgSU5ERVggdmFjc3RhdF9wYXJfaTEgT04gdmFjc3Rh dF9wYXIgKGlkKTsKK0NSRUFURSBJTkRFWCB2YWNzdGF0X3Bhcl9pMiBPTiB2YWNzdGF0X3Bh ciAoeCk7CitERUxFVEUgRlJPTSB2YWNzdGF0X3BhciBXSEVSRSBpZCAlIDIgPSAwOworVkFD VVVNIChQQVJBTExFTCAyKSB2YWNzdGF0X3BhcjsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25l eHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitTRUxFQ1QgaW5kZXhyZWxuYW1lLAorICAg ICAgIHR1cGxlc19kZWxldGVkID0gMjUwMDAgQVMgdHVwbGVzX2RlbGV0ZWQsCisgICAgICAg d2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzCisgIEZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3ZhY3N0YXRfcGFyJyBPUkRFUiBCWSBpbmRleHJl bG5hbWU7CisgIGluZGV4cmVsbmFtZSAgfCB0dXBsZXNfZGVsZXRlZCB8IHdhbF9yZWNvcmRz IAorLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyB2 YWNzdGF0X3Bhcl9pMSB8IHQgICAgICAgICAgICAgIHwgdAorIHZhY3N0YXRfcGFyX2kyIHwg dCAgICAgICAgICAgICAgfCB0CisoMiByb3dzKQorCitSRVNFVCBtaW5fcGFyYWxsZWxfaW5k ZXhfc2Nhbl9zaXplOworRFJPUCBUQUJMRSB2YWNzdGF0X3BhcjsKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNz L3NxbC92YWN1dW1fc3RhdHMuc3FsCmluZGV4IDc1YTVhMDA1MmIuLjEzNDkxYjg3ZjAgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3N0YXRzLnNxbApAQCAtNTUsMTIgKzU1LDQw IEBAIFNFTEVDVCByZWNlbnRseV9kZWFkX3R1cGxlcyA9IDAgQVMgcmVjZW50bHlfZGVhZF90 dXBsZXMsCiAgICAgICAgbWlzc2VkX2RlYWRfdHVwbGVzID0gMCBBUyBtaXNzZWRfZGVhZF90 dXBsZXMKICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 YWNzdGF0X3QnOwogCistLSBXQUwgbWV0cmljcy4gIEEgdmFjdXVtIHRoYXQgcmVtb3ZlcyB0 dXBsZXMgYWx3YXlzIGVtaXRzIFdBTAorLS0gKHdhbF9yZWNvcmRzID4gMCwgd2FsX2J5dGVz ID4gMCkuICB3YWxfZnBpIGRlcGVuZHMgb24gd2hldGhlciBhIGNoZWNrcG9pbnQKKy0tIGhh cHBlbmVkIHJlY2VudGx5LCBzbyBpdCBpcyBvbmx5IGNoZWNrZWQgZm9yIGJlaW5nIG5vbi1u ZWdhdGl2ZSBoZXJlOyB0aGUKKy0tIHBvc2l0aXZlIHdhbF9mcGkgcGF0aCBpcyBleGVyY2lz ZWQgc2VwYXJhdGVseSBiZWxvdy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3Jl Y29yZHMsCisgICAgICAgd2FsX2ZwaSA+PSAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5 dGVzID4gMCBBUyB3YWxfYnl0ZXMKKyAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hF UkUgcmVsbmFtZSA9ICd2YWNzdGF0X3QnOworCistLSBXQUwgZnVsbC1wYWdlLWltYWdlIHBh dGg6IGEgQ0hFQ0tQT0lOVCBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIHZhY3V1bSBmb3JjZXMK Ky0tIHRoZSBmaXJzdCBtb2RpZmljYXRpb24gb2YgZWFjaCBwYWdlIHRvIGVtaXQgYSBmdWxs IHBhZ2UgaW1hZ2UsIHNvIHdhbF9mcGkKKy0tIGFkdmFuY2VzLgorQ1JFQVRFIFRBQkxFIHZh Y3N0YXRfZnBpIChpZCBpbnQgUFJJTUFSWSBLRVksIHYgdGV4dCkKKyAgV0lUSCAoYXV0b3Zh Y3V1bV9lbmFibGVkID0gb2ZmKTsKK0lOU0VSVCBJTlRPIHZhY3N0YXRfZnBpIFNFTEVDVCBn LCByZXBlYXQoJ3gnLCAyMCkgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwMCkgZzsKK0RF TEVURSBGUk9NIHZhY3N0YXRfZnBpIFdIRVJFIGlkICUgMiA9IDA7CitDSEVDS1BPSU5UOwor VkFDVVVNIHZhY3N0YXRfZnBpOworU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgp OworU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3YWxf ZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVz CisgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3Rh dF9mcGknOworRFJPUCBUQUJMRSB2YWNzdGF0X2ZwaTsKKwogLS0gcGVyLWluZGV4IHZpZXc6 IHRoZSBwcmltYXJ5IGtleSBpbmRleCBpcyBwcm9jZXNzZWQgYnkgdGhlIHNhbWUgVkFDVVVN LgogLS0gTm8gYnRyZWUgbGVhZiBlbXB0aWVzIG91dCAoaW50ZXJsZWF2ZWQgZGVsZXRpb25z KSwgc28gcGFnZXNfZGVsZXRlZCA9IDAsCiAtLSB3aGlsZSBldmVyeSBpbmRleCBlbnRyeSBm b3IgYSByZW1vdmVkIGhlYXAgdHVwbGUgaXMgZGVsZXRlZC4KIFNFTEVDVCBpbmRleHJlbG5h bWUsCiAgICAgICAgcGFnZXNfZGVsZXRlZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCwKLSAgICAg ICB0dXBsZXNfZGVsZXRlZCA9IDUwMCBBUyB0dXBsZXNfZGVsZXRlZAorICAgICAgIHR1cGxl c19kZWxldGVkID0gNTAwIEFTIHR1cGxlc19kZWxldGVkLAorICAgICAgIHdhbF9yZWNvcmRz ID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID49IDAgQVMgd2FsX2ZwaSwK KyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRlcwogICBGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2YWNzdGF0X3QnIE9SREVSIEJZIGluZGV4 cmVsbmFtZTsKIAogLS0gaW5kZXggcGFnZS1kZWxldGlvbiBwYXRoOiBkZWxldGluZyBhIGNv bnRpZ3VvdXMga2V5IHJhbmdlIGVtcHRpZXMgd2hvbGUKQEAgLTc5LDMgKzEwNywyOSBAQCBT RUxFQ1QgaW5kZXhyZWxuYW1lLAogICAgICAgIHR1cGxlc19kZWxldGVkID0gOTAwMCBBUyB0 dXBsZXNfZGVsZXRlZAogICBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVs bmFtZSA9ICd2YWNzdGF0X2lkeGRlbCcgT1JERVIgQlkgaW5kZXhyZWxuYW1lOwogRFJPUCBU QUJMRSB2YWNzdGF0X2lkeGRlbDsKKworLS0gcGVyLWRhdGFiYXNlIGFnZ3JlZ2F0ZSB2aWV3 OiBubyB2YWN1dW0gZXJyb3JzIG9jY3VycmVkIGluIHRoaXMgZGF0YWJhc2UsIGFuZAorLS0g dGhlIHZhY3V1bXMgaW4gdGhpcyBkYXRhYmFzZSBlbWl0IFdBTCAod2FsX3JlY29yZHMgPiAw KS4KK1NFTEVDVCBlcnJvcnMgPSAwIEFTIGVycm9ycywKKyAgICAgICB3YWxfcmVjb3JkcyA+ IDAgQVMgd2FsX3JlY29yZHMsCisgICAgICAgd2FsX2ZwaSA+PSAwIEFTIHdhbF9mcGksCisg ICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMKKyAgRlJPTSBwZ19zdGF0X3ZhY3V1 bV9kYXRhYmFzZSBXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCk7CisKKy0tIHBh cmFsbGVsIGluZGV4IHZhY3V1bTogaW5kZXggc3RhdGlzdGljcyBtdXN0IGJlIGNhcHR1cmVk IGZvciBpbmRleGVzCistLSB2YWN1dW1lZCB0aHJvdWdoIHRoZSBwYXJhbGxlbCBwYXRoLCBu b3QgZm9sZGVkIGludG8gdGhlIGhlYXAuICBGb3JjZSB0aGUKKy0tIHBhcmFsbGVsIHBhdGgg d2l0aCBtaW5fcGFyYWxsZWxfaW5kZXhfc2Nhbl9zaXplID0gMC4KK1NFVCBtaW5fcGFyYWxs ZWxfaW5kZXhfc2Nhbl9zaXplID0gMDsKK0NSRUFURSBUQUJMRSB2YWNzdGF0X3BhciAoaWQg aW50LCB4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmKTsKK0lOU0VSVCBJ TlRPIHZhY3N0YXRfcGFyIFNFTEVDVCBnLCBnIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDUw MDAwKSBnOworQ1JFQVRFIElOREVYIHZhY3N0YXRfcGFyX2kxIE9OIHZhY3N0YXRfcGFyIChp ZCk7CitDUkVBVEUgSU5ERVggdmFjc3RhdF9wYXJfaTIgT04gdmFjc3RhdF9wYXIgKHgpOwor REVMRVRFIEZST00gdmFjc3RhdF9wYXIgV0hFUkUgaWQgJSAyID0gMDsKK1ZBQ1VVTSAoUEFS QUxMRUwgMikgdmFjc3RhdF9wYXI7CitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNo KCk7CitTRUxFQ1QgaW5kZXhyZWxuYW1lLAorICAgICAgIHR1cGxlc19kZWxldGVkID0gMjUw MDAgQVMgdHVwbGVzX2RlbGV0ZWQsCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9y ZWNvcmRzCisgIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0g J3ZhY3N0YXRfcGFyJyBPUkRFUiBCWSBpbmRleHJlbG5hbWU7CitSRVNFVCBtaW5fcGFyYWxs ZWxfaW5kZXhfc2Nhbl9zaXplOworRFJPUCBUQUJMRSB2YWNzdGF0X3BhcjsKLS0gCjIuMzku NSAoQXBwbGUgR2l0LTE1NCkKCg== --------------iWaNFCp60Ha1jovLeWGuqq8d Content-Type: text/plain; charset=UTF-8; name="0005-Extended-vacuum-statistics-interrupted-vacuums-and-t.patch" Content-Disposition: attachment; filename*0="0005-Extended-vacuum-statistics-interrupted-vacuums-and-t.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA3MTk4OWE3YmRjMmYzMzBmOWQ2ZjhhZmYwN2E0ZmJhMjE2ZGY5MDA1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YWxlbmthLnJ5YmFraW5h QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxNyBKdW4gMjAyNiAyMTozMjoxOSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNS85XSBFeHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljczogaW50ZXJydXB0 ZWQgdmFjdXVtcyBhbmQgdGhlCiB3cmFwYXJvdW5kIGZhaWxzYWZlCgpFeHBvc2UgdHdvIGRh dGFiYXNlLS9yZWxhdGlvbi1sZXZlbCByZWxpYWJpbGl0eSBjb3VudGVycyB3aXRoIGRvY3Vt ZW50YXRpb24KYW5kIHJlZ3Jlc3Npb24gY292ZXJhZ2U6CgogIHdyYXBhcm91bmRfZmFpbHNh ZmUgIHdoZXRoZXIgKHBlciByZWxhdGlvbikgb3IgaG93IG1hbnkgdGltZXMgKHBlcgogICAg ICAgICAgICAgICAgICAgICAgIGRhdGFiYXNlKSBhIHZhY3V1bSBlbmdhZ2VkIHRoZSB3cmFw YXJvdW5kIGZhaWxzYWZlCiAgaW50ZXJydXB0c19jb3VudCAgICAgbnVtYmVyIG9mIHRpbWVz IGEgdmFjdXVtIG9mIGEgdGFibGUgaW4gdGhlIGRhdGFiYXNlCiAgICAgICAgICAgICAgICAg ICAgICAgd2FzIGludGVycnVwdGVkIGJ5IGFuIGVycm9yIChkYXRhYmFzZSBhZ2dyZWdhdGUg b25seSkKClRoZSB3cmFwYXJvdW5kIGZhaWxzYWZlIGlzIHJlY29yZGVkIGFzIGEgcGVyLXJl bGF0aW9uIGZsYWcgYW5kIHN1bW1lZCBpbnRvCmEgY291bnQgYXQgdGhlIGRhdGFiYXNlIGxl dmVsLiAgaW50ZXJydXB0c19jb3VudCBpcyByZXBvcnRlZCBmcm9tIHRoZSB2YWN1dW0KZXJy b3IgY2FsbGJhY2sgc3RyYWlnaHQgdG8gc2hhcmVkIG1lbW9yeSwgYmVjYXVzZSBhbiBpbnRl cnJ1cHRlZCB2YWN1dW0KYWJvcnRzIGl0cyB0cmFuc2FjdGlvbiBhbmQgYSBwZW5kaW5nIGVu dHJ5IG1pZ2h0IG5ldmVyIGJlIGZsdXNoZWQ7IGl0IGlzIGEKZGF0YWJhc2Utd2lkZSBjb3Vu dGVyIG9ubHkuICBUaGUgcG9zaXRpdmUgd3JhcGFyb3VuZF9mYWlsc2FmZSBwYXRoIGlzCmNv dmVyZWQgYnkgYSBUQVAgdGVzdCB1bmRlciBzcmMvdGVzdC9tb2R1bGVzL3hpZF93cmFwYXJv dW5kIGFuZCB0aGUKaW50ZXJydXB0ZWQtdmFjdXVtIHBhdGggYnkgYSBUQVAgdGVzdCB1bmRl ciBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy4KLS0tCiBkb2Mvc3JjL3NnbWwvc3lzdGVt LXZpZXdzLnNnbWwgICAgICAgICAgICAgICAgfCAyNSArKysrKysrCiBzcmMvYmFja2VuZC9h Y2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgICAgICAgICAgfCAyMCArKysrLS0KIHNyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8ICA1ICstCiBzcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfdmFjdXVtLmMgICAgfCA0NiArKysrKysrKysr KysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8ICA4 ICsrLQogc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwg MTcgKysrKysKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAg ICB8IDEyICsrLS0KIHNyYy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA3ICsrCiBzcmMvaW5jbHVkZS91dGlscy9lbG9nLmggICAgICAgICAgICAgICAg ICAgICAgfCAgMSArCiBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy9tZXNvbi5idWlsZCAg ICAgICAgfCAgMSArCiAuLi4vdC8wMTVfdmFjdXVtX3N0YXRzX2ludGVycnVwdHMucGwgICAg ICAgICAgfCA3MSArKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9tb2R1bGVzL3hpZF93 cmFwYXJvdW5kL21lc29uLmJ1aWxkICAgfCAgMSArCiAuLi4vdC8wMDVfdmFjdXVtX3N0YXRz X2ZhaWxzYWZlLnBsICAgICAgICAgICAgfCA2NiArKysrKysrKysrKysrKysrKwogc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICAgICAgICAgIHwgIDkgKystCiBzcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9zdGF0cy5vdXQgICAgfCAxOCArKysrLQog c3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3N0YXRzLnNxbCAgICAgICAgIHwgIDggKysr CiAxNiBmaWxlcyBjaGFuZ2VkLCAyOTUgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvdC8wMTVf dmFjdXVtX3N0YXRzX2ludGVycnVwdHMucGwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVz dC9tb2R1bGVzL3hpZF93cmFwYXJvdW5kL3QvMDA1X3ZhY3V1bV9zdGF0c19mYWlsc2FmZS5w bAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBiL2RvYy9z cmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCA3Yzk1ZGNlYTZiLi44YmNhMTdmM2Vm IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKKysrIGIvZG9j L3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCkBAIC01ODkyLDYgKzU4OTIsMTQgQEAgU0VM RUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFjdHMgcHB4 CiAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVzIHRoYXQgdGhlIHZhY3V1bSBjb3VsZCBu b3QgcmVtb3ZlIGJlY2F1c2UgaXQgZmFpbGVkIHRvIGFjcXVpcmUgYSBjbGVhbnVwIGxvY2sg b24gdGhlaXIgcGFnZS4KICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndyYXBh cm91bmRfZmFpbHNhZmU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnRlZ2VyPC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHRpbWVzIHRoZSBm YWlsc2FmZSBtZWNoYW5pc20gd2FzIHRyaWdnZXJlZCB0byBwcmV2ZW50IHRyYW5zYWN0aW9u IElEIHdyYXBhcm91bmQgZHVyaW5nIHRoZSB2YWN1dW0uCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CiAgICAgIDxyb3c+CiAgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxv Z190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgogICAgICAg IDxzdHJ1Y3RmaWVsZD53YWxfcmVjb3Jkczwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwv dHlwZT4KQEAgLTYwODksNiArNjA5NywxNCBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xvY2tzIHBs IExFRlQgSk9JTiBwZ19wcmVwYXJlZF94YWN0cyBwcHgKICAgICAgICBOdW1iZXIgb2YgdmFj dXVtIG9wZXJhdGlvbnMgaW4gdGhpcyBkYXRhYmFzZSB0aGF0IGZhaWxlZCB3aXRoIGFuIGVy cm9yLgogICAgICAgPC9wYXJhPjwvZW50cnk+CiAgICAgIDwvcm93PgorICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d3JhcGFyb3VuZF9mYWls c2FmZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludGVnZXI8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBOdW1iZXIgb2YgdmFjdXVtIG9wZXJhdGlvbnMgaW4g dGhpcyBkYXRhYmFzZSB0aGF0IGVuZ2FnZWQgdGhlIHdyYXBhcm91bmQgZmFpbHNhZmUgbWVj aGFuaXNtLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgogICAgICA8cm93 PgogICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KICAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CkBAIC02MTEzLDYgKzYxMjksMTUg QEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFj dHMgcHB4CiAgICAgICAgVG90YWwgYW1vdW50IG9mIFdBTCBnZW5lcmF0ZWQgYnkgdmFjdXVt IG9wZXJhdGlvbnMgaW4gdGhpcyBkYXRhYmFzZSwgaW4gYnl0ZXMuCiAgICAgICA8L3BhcmE+ PC9lbnRyeT4KICAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD5pbnRlcnJ1cHRzX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ZWdlcjwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE51bWJlciBvZiB0aW1lcyBhIHZhY3V1bSBvZiBhIHRhYmxlIGluIHRoaXMgZGF0YWJhc2Ug d2FzIGludGVycnVwdGVkIGJ5CisgICAgICAgYW4gZXJyb3IuCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CiAgICAgPC90Ym9keT4KICAgIDwvdGdyb3VwPgogICA8L3Rh YmxlPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IGMwNmM1Mzhm NTcuLjUwODk2NTZjMTggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zh Y3V1bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMK QEAgLTQxMiw5ICs0MTIsOCBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJICovCiAJ QmxvY2tOdW1iZXIgZWFnZXJfc2Nhbl9yZW1haW5pbmdfZmFpbHM7CiAKLQlpbnQzMgkJd3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJLyogbnVtYmVyIG9mIGVtZXJnZW5jeSB2YWN1dW1z IHRvCi0JCQkJCQkJCQkJCSAqIHByZXZlbnQgYW50aS13cmFwYXJvdW5kCi0JCQkJCQkJCQkJ CSAqIHNodXRkb3duICovCisJYm9vbAkJd3JhcGFyb3VuZF9mYWlsc2FmZTsJLyogZGlkIHRo aXMgdmFjdXVtIGVuZ2FnZSB0aGUKKwkJCQkJCQkJCQkgKiB3cmFwYXJvdW5kIGZhaWxzYWZl PyAqLwogCiAJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGV4dFZhY1JlcG9ydElkeDsK IApAQCAtNjMwLDYgKzYyOSw4IEBAIGFjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGlj cyhMVlJlbFN0YXRlICp2YWNyZWwsIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50CiAJZXh0 VmFjU3RhdHMtPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNlbnRs eV9kZWFkX3R1cGxlczsKIAlleHRWYWNTdGF0cy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVz ID0gdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7CiAJZXh0VmFjU3RhdHMtPnRhYmxlLm1p c3NlZF9kZWFkX3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKKwlleHRWYWNT dGF0cy0+Y29tbW9uLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgPSB2YWNyZWwtPndyYXBh cm91bmRfZmFpbHNhZmU7CisKIAlleHRWYWNTdGF0cy0+Y29tbW9uLndhbF9ieXRlcyAtPSB2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX2J5dGVzOwogCWV4dFZhY1N0YXRz LT5jb21tb24ud2FsX2ZwaSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2Fs X2ZwaTsKIAlleHRWYWNTdGF0cy0+Y29tbW9uLndhbF9yZWNvcmRzIC09IHZhY3JlbC0+ZXh0 VmFjUmVwb3J0SWR4LmNvbW1vbi53YWxfcmVjb3JkczsKQEAgLTEwMzAsNyArMTAzMSw3IEBA IGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyAqcGFy YW1zLAogCXZhY3JlbC0+YWdncmVzc2l2ZSA9IHZhY3V1bV9nZXRfY3V0b2ZmcyhyZWwsIHBh cmFtcywgJnZhY3JlbC0+Y3V0b2Zmcyk7CiAJdmFjcmVsLT5yZWxfcGFnZXMgPSBvcmlnX3Jl bF9wYWdlcyA9IFJlbGF0aW9uR2V0TnVtYmVyT2ZCbG9ja3MocmVsKTsKIAl2YWNyZWwtPnZp c3Rlc3QgPSBHbG9iYWxWaXNUZXN0Rm9yKHJlbCk7Ci0JdmFjcmVsLT53cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50ID0gMDsKKwl2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmUgPSBmYWxz ZTsKIAogCS8qIEluaXRpYWxpemUgc3RhdGUgdXNlZCB0byB0cmFjayBvbGRlc3QgZXh0YW50 IFhJRC9NWElEICovCiAJdmFjcmVsLT5OZXdSZWxmcm96ZW5YaWQgPSB2YWNyZWwtPmN1dG9m ZnMuT2xkZXN0WG1pbjsKQEAgLTMxNjAsNyArMzE2MSw3IEBAIGxhenlfY2hlY2tfd3JhcGFy b3VuZF9mYWlsc2FmZShMVlJlbFN0YXRlICp2YWNyZWwpCiAJCWludDY0CQlwcm9ncmVzc192 YWxbM10gPSB7MCwgMCwgUFJPR1JFU1NfVkFDVVVNX01PREVfRkFJTFNBRkV9OwogCiAJCVZh Y3V1bUZhaWxzYWZlQWN0aXZlID0gdHJ1ZTsKLQkJdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50Kys7CisJCXZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZSA9IHRydWU7CiAK IAkJLyoKIAkJICogQWJhbmRvbiB1c2Ugb2YgYSBidWZmZXIgYWNjZXNzIHN0cmF0ZWd5IHRv IGFsbG93IHVzZSBvZiBhbGwgb2YKQEAgLTQxMTMsNiArNDExNCwxNSBAQCB2YWN1dW1fZXJy b3JfY2FsbGJhY2sodm9pZCAqYXJnKQogewogCUxWUmVsU3RhdGUgKmVycmluZm8gPSBhcmc7 CiAKKwkvKgorCSAqIElmIGFuIGFjdHVhbCBFUlJPUiAobm90IGEgbG93ZXItc2V2ZXJpdHkg cmVwb3J0IHRoYXQgbWVyZWx5IGNhcnJpZXMgdGhpcworCSAqIHZhY3V1bSBlcnJvciBjb250 ZXh0KSBpcyBiZWluZyByYWlzZWQgd2hpbGUgd2UgaGF2ZSBhIHJlbGF0aW9uIGluIGhhbmQs CisJICogcmVjb3JkIGF0IHRoZSBkYXRhYmFzZSBsZXZlbCB0aGF0IGEgdmFjdXVtIHdhcyBp bnRlcnJ1cHRlZC4gIEFueSBlcnJvcgorCSAqIGhlcmUgYWJvcnRzIHRoZSB2YWN1dW0sIHNv IHRoZSBleGFjdCBwaGFzZSBkb2VzIG5vdCBtYXR0ZXIuCisJICovCisJaWYgKGVycmluZm8t PnJlbCAhPSBOVUxMICYmIGdldGVycmxldmVsKCkgPT0gRVJST1IpCisJCXBnc3RhdF9yZXBv cnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCk7CisK IAlzd2l0Y2ggKGVycmluZm8tPnBoYXNlKQogCXsKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhB U0VfU0NBTl9IRUFQOgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4 IDQ3ZDZhYTZhZWEuLjgzN2U3OGQyOTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFs b2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92 aWV3cy5zcWwKQEAgLTE1NzMsNiArMTU3Myw3IEBAIENSRUFURSBWSUVXIHBnX3N0YXRfdmFj dXVtX3RhYmxlcyBBUwogICAgICAgICBTLnJlY2VudGx5X2RlYWRfdHVwbGVzIEFTIHJlY2Vu dGx5X2RlYWRfdHVwbGVzLAogICAgICAgICBTLm1pc3NlZF9kZWFkX3BhZ2VzIEFTIG1pc3Nl ZF9kZWFkX3BhZ2VzLAogICAgICAgICBTLm1pc3NlZF9kZWFkX3R1cGxlcyBBUyBtaXNzZWRf ZGVhZF90dXBsZXMsCisgICAgICAgIFMud3JhcGFyb3VuZF9mYWlsc2FmZSBBUyB3cmFwYXJv dW5kX2ZhaWxzYWZlLAogICAgICAgICBTLndhbF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAog ICAgICAgICBTLndhbF9mcGkgQVMgd2FsX2ZwaSwKICAgICAgICAgUy53YWxfYnl0ZXMgQVMg d2FsX2J5dGVzCkBAIC0xNjExLDkgKzE2MTIsMTEgQEAgQ1JFQVRFIFZJRVcgcGdfc3RhdF92 YWN1dW1fZGF0YWJhc2UgQVMKIAogICAgICAgICAgICAgUy5lcnJvcnMgQVMgZXJyb3JzLAog CisgICAgICAgICAgICBTLndyYXBhcm91bmRfZmFpbHNhZmUgQVMgd3JhcGFyb3VuZF9mYWls c2FmZSwKICAgICAgICAgICAgIFMud2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCiAgICAg ICAgICAgICBTLndhbF9mcGkgQVMgd2FsX2ZwaSwKLSAgICAgICAgICAgIFMud2FsX2J5dGVz IEFTIHdhbF9ieXRlcworICAgICAgICAgICAgUy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVzLAor ICAgICAgICAgICAgUy5pbnRlcnJ1cHRzX2NvdW50IEFTIGludGVycnVwdHNfY291bnQKICAg ICBGUk9NCiAgICAgICAgICAgICBwZ19kYXRhYmFzZSBELAogICAgICAgICAgICAgTEFURVJB TCBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoRC5vaWQpIFM7CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfdmFjdXVtLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfdmFjdXVtLmMKaW5kZXggOTljNDkzMmRlZC4uOGUw OTlmM2FkZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0 X3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1 dW0uYwpAQCAtNDMsNiArNDMsNyBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9jb21tb24oUGdTdGF0 X0NvbW1vbkNvdW50cyAqZHN0LCBjb25zdCBQZ1N0YXRfQ29tbW9uQ291bnRzICpzcgogCUFD Q1VNVUxBVEVfRklFTEQod2FsX2J5dGVzKTsKIAogCUFDQ1VNVUxBVEVfRklFTEQodHVwbGVz X2RlbGV0ZWQpOworCUFDQ1VNVUxBVEVfRklFTEQoaW50ZXJydXB0c19jb3VudCk7CiB9CiAK IC8qCkBAIC02NCw2ICs2NSwxMyBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHNf cmVsYXRpb25zKFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqZHN0LAogCiAJcGdzdGF0 X2FjY3VtdWxhdGVfY29tbW9uKCZkc3QtPmNvbW1vbiwgJnNyYy0+Y29tbW9uKTsKIAorCS8q CisJICogVGhlIHdyYXBhcm91bmQgZmFpbHNhZmUgaXMgYSBwZXItcmVsYXRpb24gZmxhZyAo MC8xKSwgbm90IGEgcnVubmluZworCSAqIGNvdW50OiByZWZsZWN0IHdoZXRoZXIgdGhlIGxh dGVzdCB2YWN1dW0gb2YgdGhpcyByZWxhdGlvbiBlbmdhZ2VkIGl0LAorCSAqIHJhdGhlciB0 aGFuIHN1bW1pbmcgYWNyb3NzIHZhY3V1bXMuCisJICovCisJZHN0LT5jb21tb24ud3JhcGFy b3VuZF9mYWlsc2FmZV9jb3VudCA9IHNyYy0+Y29tbW9uLndyYXBhcm91bmRfZmFpbHNhZmVf Y291bnQ7CisKIAlpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfVEFCTEUpCiAJewog CQlBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCBwYWdlc19zY2FubmVkKTsKQEAgLTkwLDYg Kzk4LDEyIEBAIHBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0c19kYihQZ1N0YXRfVmFj dXVtREJDb3VudHMgKmRzdCwKIAkJcmV0dXJuOwogCiAJcGdzdGF0X2FjY3VtdWxhdGVfY29t bW9uKCZkc3QtPmNvbW1vbiwgJnNyYy0+Y29tbW9uKTsKKworCS8qCisJICogQXQgdGhlIGRh dGFiYXNlIGxldmVsIHRoZSBmYWlsc2FmZSBpcyBhIGNvdW50OiBob3cgbWFueSByZWxhdGlv biB2YWN1dW1zCisJICogZW5nYWdlZCB0aGUgd3JhcGFyb3VuZCBmYWlsc2FmZS4KKwkgKi8K Kwlkc3QtPmNvbW1vbi53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNyYy0+Y29tbW9u LndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CiAJZHN0LT5lcnJvcnMgKz0gc3JjLT5lcnJv cnM7CiB9CiAKQEAgLTEyNiw2ICsxNDAsMzggQEAgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXh0 c3RhdHMoT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAkJCQkJCQkJCQkgIGRib2lkLCBJ bnZhbGlkT2lkLCBOVUxMKTsKIAlkYnBlbmRpbmcgPSAoUGdTdGF0X1ZhY3V1bURCQ291bnRz ICopIGVudHJ5X3JlZi0+cGVuZGluZzsKIAlwZ3N0YXRfYWNjdW11bGF0ZV9jb21tb24oJmRi cGVuZGluZy0+Y29tbW9uLCAmcGFyYW1zLT5jb21tb24pOworCS8qIGNvdW50IHRoaXMgcmVs YXRpb24ncyBmYWlsc2FmZSBmbGFnIGludG8gdGhlIGRhdGFiYXNlLXdpZGUgdG90YWwgKi8K KwlkYnBlbmRpbmctPmNvbW1vbi53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHBhcmFt cy0+Y29tbW9uLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7Cit9CisKKy8qCisgKiBSZXBv cnQgdGhhdCBhIHZhY3V1bSB3YXMgaW50ZXJydXB0ZWQgYnkgYW4gZXJyb3IuCisgKgorICog VGhpcyBpcyBhIGRhdGFiYXNlLXdpZGUgY291bnRlciBvbmx5OiBhbiBpbnRlcnJ1cHRlZCB2 YWN1dW0gYWJvcnRzIGl0cworICogdHJhbnNhY3Rpb24sIHNvIHJlcG9ydGluZyBwZXItcmVs YXRpb24gd291bGQgcmVxdWlyZSBjcmVhdGluZyBhIHJlbGF0aW9uCisgKiBzdGF0cyBlbnRy eSBmcm9tIHRoZSBlcnJvciBwYXRoICh3aGljaCB0aGUgYWJvcnRpbmcgdHJhbnNhY3Rpb24g bWF5IHJvbGwKKyAqIGJhY2spLiAgQ2FsbGVkIGZyb20gdGhlIHZhY3V1bSBlcnJvciBjYWxs YmFjaywgd2UgdGhlcmVmb3JlIHVwZGF0ZSBzaGFyZWQKKyAqIG1lbW9yeSBkaXJlY3RseSBy YXRoZXIgdGhhbiBnb2luZyB0aHJvdWdoIHBlbmRpbmcgZW50cmllcywgd2hpY2ggbWlnaHQg bmV2ZXIKKyAqIGJlIGZsdXNoZWQuCisgKgorICogVGhlIGRhdGFiYXNlIGlkIGlzIEludmFs aWRPaWQgZm9yIHNoYXJlZCByZWxhdGlvbnMsIGp1c3QgYXMgaW4KKyAqIHBnc3RhdF9yZXBv cnRfdmFjdXVtX2V4dHN0YXRzKCk7IGl0IG11c3Qgbm90IGJlIGhhcmQtY29kZWQgdG8gTXlE YXRhYmFzZUlkLgorICovCit2b2lkCitwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihib29s IHNoYXJlZCkKK3sKKwlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKKwlQZ1N0YXRTaGFy ZWRfVmFjdXVtREIgKnNoZGJlbnRyeTsKKwlPaWQJCQlkYm9pZCA9IChzaGFyZWQgPyBJbnZh bGlkT2lkIDogTXlEYXRhYmFzZUlkKTsKKworCWlmICghcGdzdGF0X3RyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwllbnRyeV9yZWYgPSBwZ3N0YXRfZ2V0X2VudHJ5 X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfVkFDVVVNX0RCLAorCQkJCQkJCQkJCQlkYm9pZCwg SW52YWxpZE9pZCwgZmFsc2UpOworCXNoZGJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfVmFjdXVt REIgKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisJc2hkYmVudHJ5LT5zdGF0cy5jb21t b24uaW50ZXJydXB0c19jb3VudCsrOworCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVm KTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRm dW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggYWFk NDQyNzQ2OS4uNzkyNzY2OGJmOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNz LmMKQEAgLTIzNzQsNyArMjM3NCw3IEBAIHBnX3N0YXRfaGF2ZV9zdGF0cyhQR19GVU5DVElP Tl9BUkdTKQogRGF0dW0KIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05f QVJHUykKIHsKLSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xT IDExCisjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyAxMgog CiAJT2lkCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOwogCVBnU3RhdF9WYWN1dW1SZWxh dGlvbkNvdW50cyAqZXh0dmFjdXVtOwpAQCAtMjQwOCw2ICsyNDA4LDcgQEAgcGdfc3RhdF9n ZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzKTsKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5taXNzZWRfZGVh ZF9wYWdlcyk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFi bGUubWlzc2VkX2RlYWRfdHVwbGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0o ZXh0dmFjdXVtLT5jb21tb24ud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CiAJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9yZWNvcmRzKTsK IAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24ud2FsX2Zw aSk7CiAJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1 dW0tPmNvbW1vbi53YWxfYnl0ZXMpOwpAQCAtMjQ3Niw3ICsyNDc3LDcgQEAgcGdfc3RhdF9n ZXRfdmFjdXVtX2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykKIERhdHVtCiBwZ19zdGF0X2dl dF92YWN1dW1fZGF0YWJhc2UoUEdfRlVOQ1RJT05fQVJHUykKIHsKLSNkZWZpbmUgUEdfU1RB VF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMgNQorI2RlZmluZSBQR19TVEFUX0dF VF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyA3CiAKIAlPaWQJCQlkYmlkID0gUEdfR0VU QVJHX09JRCgwKTsKIAlQZ1N0YXRfVmFjdXVtREJDb3VudHMgKmV4dHZhY3V1bTsKQEAgLTI1 MDAsNiArMjUwMSw4IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5DVElP Tl9BUkdTKQogCiAJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+ZXJy b3JzKTsKIAorCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPmNvbW1v bi53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKKwogCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi53YWxfcmVjb3Jkcyk7CiAJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9mcGkpOwogCXNucHJpbnRm KGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgZXh0dmFjdXVtLT5jb21tb24ud2Fs X2J5dGVzKTsKQEAgLTI1MDcsNiArMjUxMCw3IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRh YmFzZShQR19GVU5DVElPTl9BUkdTKQogCQkJCQkJCQkJICBDU3RyaW5nR2V0RGF0dW0oYnVm KSwKIAkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bSgwKSwKIAkJCQkJCQkJCSAgSW50MzJH ZXREYXR1bSgtMSkpOworCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0t PmNvbW1vbi5pbnRlcnJ1cHRzX2NvdW50KTsKIAlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9W QUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CiAKIAkvKiBSZXR1cm5zIHRoZSByZWNvcmQg YXMgRGF0dW0gKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwppbmRleCBhNjkzNmEwYzY2Li4w NGY1YjBhODE5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMK KysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCkBAIC0xODE1LDYgKzE4MTUs MjMgQEAgZ2V0aW50ZXJuYWxlcnJwb3NpdGlvbih2b2lkKQogCXJldHVybiBlZGF0YS0+aW50 ZXJuYWxwb3M7CiB9CiAKKy8qCisgKiBnZXRlcnJsZXZlbCAtLS0gcmV0dXJuIHRoZSBlbGV2 ZWwgb2YgdGhlIGVycm9yIGN1cnJlbnRseSBiZWluZyBjb25zdHJ1Y3RlZAorICoKKyAqIFRo aXMgaXMgb25seSBpbnRlbmRlZCBmb3IgdXNlIGluIGVycm9yIGNhbGxiYWNrIHN1YnJvdXRp bmVzLCB3aGVyZSBpdCBsZXRzCisgKiBhIGNhbGxiYWNrIHRlbGwgYSBnZW51aW5lIGVycm9y IGFwYXJ0IGZyb20gYSBsb3dlci1zZXZlcml0eSByZXBvcnQuCisgKi8KK2ludAorZ2V0ZXJy bGV2ZWwodm9pZCkKK3sKKwlFcnJvckRhdGEgICplZGF0YSA9ICZlcnJvcmRhdGFbZXJyb3Jk YXRhX3N0YWNrX2RlcHRoXTsKKworCS8qIHdlIGRvbid0IGJvdGhlciBpbmNyZW1lbnRpbmcg cmVjdXJzaW9uX2RlcHRoICovCisJQ0hFQ0tfU1RBQ0tfREVQVEgoKTsKKworCXJldHVybiBl ZGF0YS0+ZWxldmVsOworfQorCiAKIC8qCiAgKiBGdW5jdGlvbnMgdG8gYWxsb3cgY29uc3Ry dWN0aW9uIG9mIGVycm9yIG1lc3NhZ2Ugc3RyaW5ncyBzZXBhcmF0ZWx5IGZyb20KZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IDNkZDNkODFhMTMuLjUxY2QwZTVlZDEgMTAwNjQ0 Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI2NDMsOSArMTI2NDMsOSBAQAogICBwcm9u YW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzJywgcHJvcm93cyA9PiAxMDAwLCBw cm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsIHByb2lzc3RyaWN0 ID0+ICdmJywKICAgcHJvcmV0c2V0ID0+ICd0JywKICAgcHJvYXJndHlwZXMgPT4gJ29pZCcs Ci0gIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljfScsCi0gIHByb2FyZ21vZGVzID0+ICd7 aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKLSAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQs cmVsaWQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHR1cGxlc19kZWxldGVkLHR1cGxl c19mcm96ZW4scmVjZW50bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfcGFnZXMsbWlzc2Vk X2RlYWRfdHVwbGVzLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzfScsCisgIHByb2Fs bGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LGludDQsaW50OCxpbnQ4LG51bWVyaWN9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJl bGlkLHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCx0dXBsZXNfZGVsZXRlZCx0dXBsZXNf ZnJvemVuLHJlY2VudGx5X2RlYWRfdHVwbGVzLG1pc3NlZF9kZWFkX3BhZ2VzLG1pc3NlZF9k ZWFkX3R1cGxlcyx3cmFwYXJvdW5kX2ZhaWxzYWZlLHdhbF9yZWNvcmRzLHdhbF9mcGksd2Fs X2J5dGVzfScsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcycgfQog CiAjIG9pZDggcmVsYXRlZCBmdW5jdGlvbnMKQEAgLTEyNzI3LDggKzEyNzI3LDggQEAKICAg cHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlJywgcHJvcm93cyA9PiAx MDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsIHByb2lz c3RyaWN0ID0+ICdmJywKICAgcHJvcmV0c2V0ID0+ICd0JywKICAgcHJvYXJndHlwZXMgPT4g J29pZCcsCi0gIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ0LGludDgsaW50OCxu dW1lcmljfScsCi0gIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG99JywKLSAgcHJvYXJn bmFtZXMgPT4gJ3tkYmlkLGRib2lkLGVycm9ycyx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9i eXRlc30nLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50NCxpbnQ0LGludDgs aW50OCxudW1lcmljLGludDR9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxv LG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tkYmlkLGRib2lkLGVycm9ycyx3cmFwYXJvdW5k X2ZhaWxzYWZlLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGludGVycnVwdHNfY291 bnR9JywKICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UnIH0sCiBd CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3Rh dC5oCmluZGV4IGY3MDRhMTUwMDMuLmQwNDEzNTllNzIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBAIC0xODIsNiArMTgy LDEyIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9Db21tb25Db3VudHMKIAogCS8qIHR1cGxl cyAqLwogCWludDY0CQl0dXBsZXNfZGVsZXRlZDsKKworCS8qIGZhaWxzYWZlICovCisJaW50 MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CisKKwkvKiBudW1iZXIgb2YgdGltZXMg YSB2YWN1dW0gb2YgdGhlIG9iamVjdCB3YXMgaW50ZXJydXB0ZWQgYnkgYW4gZXJyb3IgKi8K KwlpbnQzMgkJaW50ZXJydXB0c19jb3VudDsKIH0JCQlQZ1N0YXRfQ29tbW9uQ291bnRzOwog CiAvKiAtLS0tLS0tLS0tCkBAIC05MzQsNiArOTQwLDcgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0 X3ZhY3V1bV9yZWxhdGlvbl9kZWxldGVfcGVuZGluZ19jYihPaWQgcmVsaWQpOwogZXh0ZXJu IHZvaWQKIAkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2V4dHN0YXRzKE9pZCB0YWJsZW9pZCwg Ym9vbCBzaGFyZWQsCiAJCQkJCQkJCQkJICBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMg KiBwYXJhbXMpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoYm9v bCBzaGFyZWQpOwogZXh0ZXJuIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqIHBnc3Rh dF9mZXRjaF9zdGF0X3ZhY3V1bV90YWJlbnRyeShPaWQgcmVsaWQsIE9pZCBkYmlkKTsKIGV4 dGVybiBQZ1N0YXRfVmFjdXVtREJDb3VudHMgKiBwZ3N0YXRfZmV0Y2hfc3RhdF92YWN1dW1f ZGJlbnRyeShPaWQgZGJpZCk7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2Vs b2cuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaAppbmRleCA2YWUzNzZiYTAwLi43YzEz Njk1MjRlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgKKysrIGIvc3Jj L2luY2x1ZGUvdXRpbHMvZWxvZy5oCkBAIC0yMzAsNiArMjMwLDcgQEAgZXh0ZXJuIGludAlp bnRlcm5hbGVycnF1ZXJ5KGNvbnN0IGNoYXIgKnF1ZXJ5KTsKIGV4dGVybiBpbnQJZXJyX2dl bmVyaWNfc3RyaW5nKGludCBmaWVsZCwgY29uc3QgY2hhciAqc3RyKTsKIAogZXh0ZXJuIGlu dAlnZXRlcnJjb2RlKHZvaWQpOworZXh0ZXJuIGludAlnZXRlcnJsZXZlbCh2b2lkKTsKIGV4 dGVybiBpbnQJZ2V0ZXJycG9zaXRpb24odm9pZCk7CiBleHRlcm4gaW50CWdldGludGVybmFs ZXJycG9zaXRpb24odm9pZCk7CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvdGVz dF9taXNjL21lc29uLmJ1aWxkIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvbWVzb24u YnVpbGQKaW5kZXggODA1YzZjMmMzOS4uODc2MWQ3OWQ3MCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvbW9kdWxlcy90ZXN0X21pc2MvbWVzb24uYnVpbGQKKysrIGIvc3JjL3Rlc3QvbW9kdWxl cy90ZXN0X21pc2MvbWVzb24uYnVpbGQKQEAgLTIzLDYgKzIzLDcgQEAgdGVzdHMgKz0gewog ICAgICAgJ3QvMDEyX2RkbHV0aWxzLnBsJywKICAgICAgICd0LzAxM190ZW1wX29ial9tdWx0 aXNlc3Npb24ucGwnLAogICAgICAgJ3QvMDE0X3ZhY3V1bV9zdGF0cy5wbCcsCisgICAgICAn dC8wMTVfdmFjdXVtX3N0YXRzX2ludGVycnVwdHMucGwnLAogICAgICAgJ3QvMDE2X3ZhY3V1 bV9zdGF0c19wYXJhbGxlbC5wbCcsCiAgICAgXSwKICAgICAjIFRoZSBpbmplY3Rpb24gcG9p bnRzIGFyZSBjbHVzdGVyLXdpZGUsIHNvIGRpc2FibGUgaW5zdGFsbGNoZWNrCmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy90LzAxNV92YWN1dW1fc3RhdHNfaW50 ZXJydXB0cy5wbCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL3QvMDE1X3ZhY3V1bV9z dGF0c19pbnRlcnJ1cHRzLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAuLjgwZGQyYjdiM2MKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rl c3RfbWlzYy90LzAxNV92YWN1dW1fc3RhdHNfaW50ZXJydXB0cy5wbApAQCAtMCwwICsxLDcx IEBACisjIENvcHlyaWdodCAoYykgMjAyNC0yMDI2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZl bG9wbWVudCBHcm91cAorCisjIFRlc3QgdGhlIGludGVycnVwdHNfY291bnQgY291bnRlciBv ZiBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZS4KKyMKKyMgaW50ZXJydXB0c19jb3VudCByZWNv cmRzIGhvdyBtYW55IHRpbWVzIGEgdmFjdXVtIGluIHRoZSBkYXRhYmFzZSB3YXMKKyMgaW50 ZXJydXB0ZWQgYnkgYW4gZXJyb3IuICBXZSBwcm92b2tlIHRoYXQgYnkgc3RhcnRpbmcgYSB2 YWN1dW0gdGhhdCBzbGVlcHMgYXQKKyMgaXRzIGNvc3QtYmFzZWQgZGVsYXkgcG9pbnRzIGFu ZCBjYW5jZWxpbmcgaXQsIHdpdGggcGdfY2FuY2VsX2JhY2tlbmQoKSwgd2hpbGUKKyMgaXQg aXMgc3RpbGwgcnVubmluZy4KKwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5ncyBGQVRBTCA9 PiAnYWxsJzsKK3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyOwordXNlIFBvc3RncmVT UUw6OlRlc3Q6OlV0aWxzOwordXNlIFRlc3Q6Ok1vcmU7CisKK215ICRub2RlID0gUG9zdGdy ZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCdtYWluJyk7Ciskbm9kZS0+aW5pdDsKKyRub2Rl LT5hcHBlbmRfY29uZigKKwkncG9zdGdyZXNxbC5jb25mJywgcXFbCithdXRvdmFjdXVtID0g b2ZmCit0cmFja192YWN1dW1fc3RhdGlzdGljcyA9IG9uCitdKTsKKyRub2RlLT5zdGFydDsK KworIyBmaWxsZmFjdG9yID0gMTAgc3ByZWFkcyB0aGUgcm93cyBvdmVyIG1hbnkgcGFnZXMg c28gdGhlIHZhY3V1bSBoaXRzIGVub3VnaAorIyBjb3N0LWRlbGF5IHBvaW50cyB0byBzdGF5 IHJ1bm5pbmcgdW50aWwgd2UgY2FuY2VsIGl0LgorJG5vZGUtPnNhZmVfcHNxbCgKKwkncG9z dGdyZXMnLCBxcVsKK0NSRUFURSBUQUJMRSB2YWNzdGF0X2ludCAoaWQgaW50KSBXSVRIIChh dXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5U TyB2YWNzdGF0X2ludCBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEsIDEwMDApOworREVMRVRF IEZST00gdmFjc3RhdF9pbnQ7CitdKTsKKworIyBTdGFydCBhIHZhY3V1bSB0aGF0IHNsZWVw cyBhdCBldmVyeSBjb3N0LWRlbGF5IHBvaW50LCBpbiB0aGUgYmFja2dyb3VuZC4gIFRoZQor IyBcZWNobyBsZXRzIHF1ZXJ5X3VudGlsKCkgcmV0dXJuIGFzIHNvb24gYXMgdGhlIFZBQ1VV TSBoYXMgYmVlbiBsYXVuY2hlZC4KK215ICRhcHBuYW1lID0gJ3ZhY3V1bV9pbnRlcnJ1cHRf dGVzdCc7CitteSAkdmFjID0gJG5vZGUtPmJhY2tncm91bmRfcHNxbCgncG9zdGdyZXMnLCBv bl9lcnJvcl9zdG9wID0+IDApOworJHZhYy0+cXVlcnlfdW50aWwoCisJcXIvc3RhcnQvLCBx cVsKK1NFVCBhcHBsaWNhdGlvbl9uYW1lID0gJyRhcHBuYW1lJzsKK1NFVCB2YWN1dW1fY29z dF9kZWxheSA9ICcxMDBtcyc7CitTRVQgdmFjdXVtX2Nvc3RfbGltaXQgPSAxOworXFxlY2hv IHN0YXJ0CitWQUNVVU0gdmFjc3RhdF9pbnQ7CitdKTsKKworIyBXYWl0IHVudGlsIHRoZSB2 YWN1dW0gaXMgYWN0dWFsbHkgcnVubmluZywgdGhlbiBjYW5jZWwgaXQuCiskbm9kZS0+cG9s bF9xdWVyeV91bnRpbCgKKwkncG9zdGdyZXMnLCBxcVsKK1NFTEVDVCBjb3VudCgqKSA9IDEg RlJPTSBwZ19zdGF0X2FjdGl2aXR5CisgV0hFUkUgYXBwbGljYXRpb25fbmFtZSA9ICckYXBw bmFtZScgQU5EIHF1ZXJ5IExJS0UgJ1ZBQ1VVTSUnIEFORCBzdGF0ZSA9ICdhY3RpdmUnXSkK KyAgb3IgZGllICJ0aW1lZCBvdXQgd2FpdGluZyBmb3IgdGhlIHZhY3V1bSB0byBzdGFydCI7 CisKK215ICRjYW5jZWxsZWQgPSAkbm9kZS0+c2FmZV9wc3FsKAorCSdwb3N0Z3JlcycsIHFx WworU0VMRUNUIHBnX2NhbmNlbF9iYWNrZW5kKHBpZCkgRlJPTSBwZ19zdGF0X2FjdGl2aXR5 CisgV0hFUkUgYXBwbGljYXRpb25fbmFtZSA9ICckYXBwbmFtZScgQU5EIHF1ZXJ5IExJS0Ug J1ZBQ1VVTSUnXSk7CitpcygkY2FuY2VsbGVkLCAndCcsICdjYW5jZWxlZCB0aGUgcnVubmlu ZyB2YWN1dW0nKTsKKworJHZhYy0+cXVpdDsKK2xpa2UoJHZhYy0+e3N0ZGVycn0sIHFyL2Nh bmNlbGluZyBzdGF0ZW1lbnQgZHVlIHRvIHVzZXIgcmVxdWVzdC8sCisJJ3ZhY3V1bSBjYW5j ZWxlZCBieSB1c2VyIHJlcXVlc3QnKTsKKworaXMoICRub2RlLT5zYWZlX3BzcWwoCisJCSdw b3N0Z3JlcycsIHFxWworU0VMRUNUIGludGVycnVwdHNfY291bnQgPiAwIEZST00gcGdfc3Rh dF92YWN1dW1fZGF0YWJhc2UgV0hFUkUgZGJuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpXSks CisJJ3QnLAorCSdpbnRlcnJ1cHRzX2NvdW50IGFkdmFuY2VkIGluIHBnX3N0YXRfdmFjdXVt X2RhdGFiYXNlJyk7CisKKyRub2RlLT5zdG9wOworZG9uZV90ZXN0aW5nKCk7CmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9tb2R1bGVzL3hpZF93cmFwYXJvdW5kL21lc29uLmJ1aWxkIGIvc3Jj L3Rlc3QvbW9kdWxlcy94aWRfd3JhcGFyb3VuZC9tZXNvbi5idWlsZAppbmRleCA5N2NlNjcw ZjlhLi45MjI0ZTU5ZDFkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3hpZF93cmFw YXJvdW5kL21lc29uLmJ1aWxkCisrKyBiL3NyYy90ZXN0L21vZHVsZXMveGlkX3dyYXBhcm91 bmQvbWVzb24uYnVpbGQKQEAgLTMxLDYgKzMxLDcgQEAgdGVzdHMgKz0gewogICAgICAgJ3Qv MDAyX2xpbWl0cy5wbCcsCiAgICAgICAndC8wMDNfd3JhcGFyb3VuZHMucGwnLAogICAgICAg J3QvMDA0X25vdGlmeV9mcmVlemUucGwnLAorICAgICAgJ3QvMDA1X3ZhY3V1bV9zdGF0c19m YWlsc2FmZS5wbCcsCiAgICAgXSwKICAgfSwKIH0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21v ZHVsZXMveGlkX3dyYXBhcm91bmQvdC8wMDVfdmFjdXVtX3N0YXRzX2ZhaWxzYWZlLnBsIGIv c3JjL3Rlc3QvbW9kdWxlcy94aWRfd3JhcGFyb3VuZC90LzAwNV92YWN1dW1fc3RhdHNfZmFp bHNhZmUucGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZWZmNzdm ZTg3NgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMveGlkX3dyYXBhcm91 bmQvdC8wMDVfdmFjdXVtX3N0YXRzX2ZhaWxzYWZlLnBsCkBAIC0wLDAgKzEsNjYgQEAKKyMg Q29weXJpZ2h0IChjKSAyMDI0LTIwMjYsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50 IEdyb3VwCisKKyMgVGVzdCB0aGF0IHRoZSB3cmFwYXJvdW5kIGZhaWxzYWZlIGNvdW50ZXIg ZXhwb3NlZCBieSB0aGUgZXh0ZW5kZWQgdmFjdXVtCisjIHN0YXRpc3RpY3Mgdmlld3MgYWR2 YW5jZXMgd2hlbiBhIFZBQ1VVTSBlbmdhZ2VzIHRoZSB3cmFwYXJvdW5kIGZhaWxzYWZlLgor IworIyBUaGUgZmFpbHNhZmUgb25seSB0cmlnZ2VycyBvbmNlIGEgcmVsYXRpb24ncyBhZ2Ug ZXhjZWVkcworIyBtYXgodmFjdXVtX2ZhaWxzYWZlX2FnZSwgYXV0b3ZhY3V1bV9mcmVlemVf bWF4X2FnZSAqIDEuMDUpLCB3aGljaCBjYW5ub3QgYmUKKyMgcmVhY2hlZCBieSBhbiBvcmRp bmFyeSByZWdyZXNzaW9uIHRlc3QuICBIZXJlIHdlIGxvd2VyCisjIGF1dG92YWN1dW1fZnJl ZXplX21heF9hZ2UgdG8gaXRzIG1pbmltdW0gYW5kIHVzZSB0aGUgeGlkX3dyYXBhcm91bmQK KyMgZXh0ZW5zaW9uIHRvIGJ1cm4gZW5vdWdoIHRyYW5zYWN0aW9uIElEcyB0byBhZ2UgdGhl IHRhYmxlIHBhc3QgdGhhdAorIyB0aHJlc2hvbGQsIHRoZW4gY2hlY2sgdGhhdCB0aGUgd3Jh cGFyb3VuZF9mYWlsc2FmZSBjb3VudGVycyBhZHZhbmNlLgorCit1c2Ugc3RyaWN0OwordXNl IHdhcm5pbmdzIEZBVEFMID0+ICdhbGwnOwordXNlIFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0 ZXI7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7Cit1c2UgVGVzdDo6TW9yZTsKKwor aWYgKCEkRU5We1BHX1RFU1RfRVhUUkF9IHx8ICRFTlZ7UEdfVEVTVF9FWFRSQX0gIX4gL1xi eGlkX3dyYXBhcm91bmRcYi8pCit7CisJcGxhbiBza2lwX2FsbCA9PiAidGVzdCB4aWRfd3Jh cGFyb3VuZCBub3QgZW5hYmxlZCBpbiBQR19URVNUX0VYVFJBIjsKK30KKworbXkgJG5vZGUg PSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ21haW4nKTsKKyRub2RlLT5pbml0 OworJG5vZGUtPmFwcGVuZF9jb25mKAorCSdwb3N0Z3Jlc3FsLmNvbmYnLCBxcVsKK2F1dG92 YWN1dW0gPSBvZmYKK3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzID0gb24KKyMgTG93ZXIgdGhl IHdyYXBhcm91bmQtZmFpbHNhZmUgdGhyZXNob2xkIGFzIGZhciBhcyBwb3NzaWJsZSBzbyB0 aGF0IGEgbW9kZXN0CisjIG51bWJlciBvZiBjb25zdW1lZCBYSURzIGlzIGVub3VnaCB0byBl bmdhZ2UgdGhlIGZhaWxzYWZlLgorYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZSA9IDEwMDAw MAordmFjdXVtX2ZhaWxzYWZlX2FnZSA9IDAKK10pOworJG5vZGUtPnN0YXJ0OworJG5vZGUt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAnQ1JFQVRFIEVYVEVOU0lPTiB4aWRfd3JhcGFyb3Vu ZCcpOworCisjIEEgdGFibGUgd2hvc2UgcmVsZnJvemVueGlkIGFnZSB3ZSB3aWxsIHB1c2gg cGFzdCB0aGUgZmFpbHNhZmUgdGhyZXNob2xkLgorJG5vZGUtPnNhZmVfcHNxbCgKKwkncG9z dGdyZXMnLCBxcVsKK0NSRUFURSBUQUJMRSBmc190YWIgKGlkIGludCkgV0lUSCAoYXV0b3Zh Y3V1bV9lbmFibGVkID0gb2ZmKTsKK0lOU0VSVCBJTlRPIGZzX3RhYiBTRUxFQ1QgZ2VuZXJh dGVfc2VyaWVzKDEsIDEwMDApOworXSk7CisKKyMgQWR2YW5jZSB0aGUgWElEIGNvdW50ZXIg d2VsbCBwYXN0IHRoZSBmYWlsc2FmZSB0aHJlc2hvbGQuCiskbm9kZS0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsICdTRUxFQ1QgY29uc3VtZV94aWRzKDIwMDAwMCknKTsKKworIyBUaGlzIFZB Q1VVTSBtdXN0IGVuZ2FnZSB0aGUgd3JhcGFyb3VuZCBmYWlsc2FmZS4KKyRub2RlLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgJ1ZBQ1VVTSBmc190YWInKTsKKworIyBUaGUgcGVyLXRhYmxl IHZpZXcgcmVjb3JkcyB0aGF0IHRoZSBmYWlsc2FmZSB3YXMgZW5nYWdlZCBmb3IgdGhpcyBy ZWxhdGlvbi4KK215ICR0YWIgPSAkbm9kZS0+c2FmZV9wc3FsKAorCSdwb3N0Z3JlcycsIHFx WworU0VMRUNUIHdyYXBhcm91bmRfZmFpbHNhZmUgPiAwCisgIEZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAnZnNfdGFiJ10pOworaXMoJHRhYiwgJ3QnLCAn d3JhcGFyb3VuZF9mYWlsc2FmZSBhZHZhbmNlZCBpbiBwZ19zdGF0X3ZhY3V1bV90YWJsZXMn KTsKKworIyBUaGUgcGVyLWRhdGFiYXNlIGFnZ3JlZ2F0ZSBjb3VudHMgdGhlIGZhaWxzYWZl IGFzIHdlbGwuCitteSAkZGIgPSAkbm9kZS0+c2FmZV9wc3FsKAorCSdwb3N0Z3JlcycsIHFx WworU0VMRUNUIHdyYXBhcm91bmRfZmFpbHNhZmUgPiAwCisgIEZST00gcGdfc3RhdF92YWN1 dW1fZGF0YWJhc2UgV0hFUkUgZGJuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpXSk7Citpcygk ZGIsICd0JywgJ3dyYXBhcm91bmRfZmFpbHNhZmUgYWR2YW5jZWQgaW4gcGdfc3RhdF92YWN1 dW1fZGF0YWJhc2UnKTsKKworJG5vZGUtPnN0b3A7Citkb25lX3Rlc3RpbmcoKTsKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggOWIzNWYwNzc5ZS4uNDY3YzJlMTg0 MyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTI0MjQsMTEgKzI0 MjQsMTMgQEAgcGdfc3RhdF91c2VyX3RhYmxlc3wgU0VMRUNUIHJlbGlkLAogcGdfc3RhdF92 YWN1dW1fZGF0YWJhc2V8IFNFTEVDVCBkLm9pZCBBUyBkYm9pZCwKICAgICBkLmRhdG5hbWUg QVMgZGJuYW1lLAogICAgIHMuZXJyb3JzLAorICAgIHMud3JhcGFyb3VuZF9mYWlsc2FmZSwK ICAgICBzLndhbF9yZWNvcmRzLAogICAgIHMud2FsX2ZwaSwKLSAgICBzLndhbF9ieXRlcwor ICAgIHMud2FsX2J5dGVzLAorICAgIHMuaW50ZXJydXB0c19jb3VudAogICAgRlJPTSBwZ19k YXRhYmFzZSBkLAotICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKGQu b2lkKSBzKGRib2lkLCBlcnJvcnMsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMp OworICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKGQub2lkKSBzKGRi b2lkLCBlcnJvcnMsIHdyYXBhcm91bmRfZmFpbHNhZmUsIHdhbF9yZWNvcmRzLCB3YWxfZnBp LCB3YWxfYnl0ZXMsIGludGVycnVwdHNfY291bnQpOwogcGdfc3RhdF92YWN1dW1faW5kZXhl c3wgU0VMRUNUIGMub2lkIEFTIHJlbGlkLAogICAgIGkub2lkIEFTIGluZGV4cmVsaWQsCiAg ICAgbi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCkBAIC0yNDU1LDEyICsyNDU3LDEzIEBAIHBn X3N0YXRfdmFjdXVtX3RhYmxlc3wgU0VMRUNUIG4ubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAog ICAgIHMucmVjZW50bHlfZGVhZF90dXBsZXMsCiAgICAgcy5taXNzZWRfZGVhZF9wYWdlcywK ICAgICBzLm1pc3NlZF9kZWFkX3R1cGxlcywKKyAgICBzLndyYXBhcm91bmRfZmFpbHNhZmUs CiAgICAgcy53YWxfcmVjb3JkcywKICAgICBzLndhbF9mcGksCiAgICAgcy53YWxfYnl0ZXMK ICAgIEZST00gKHBnX2NsYXNzIGMKICAgICAgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4u b2lkID0gYy5yZWxuYW1lc3BhY2UpKSksCi0gICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1 dW1fdGFibGVzKGMub2lkKSBzKHJlbGlkLCBwYWdlc19zY2FubmVkLCBwYWdlc19yZW1vdmVk LCB0dXBsZXNfZGVsZXRlZCwgdHVwbGVzX2Zyb3plbiwgcmVjZW50bHlfZGVhZF90dXBsZXMs IG1pc3NlZF9kZWFkX3BhZ2VzLCBtaXNzZWRfZGVhZF90dXBsZXMsIHdhbF9yZWNvcmRzLCB3 YWxfZnBpLCB3YWxfYnl0ZXMpCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzKGMub2lkKSBzKHJlbGlkLCBwYWdlc19zY2FubmVkLCBwYWdlc19yZW1vdmVkLCB0dXBs ZXNfZGVsZXRlZCwgdHVwbGVzX2Zyb3plbiwgcmVjZW50bHlfZGVhZF90dXBsZXMsIG1pc3Nl ZF9kZWFkX3BhZ2VzLCBtaXNzZWRfZGVhZF90dXBsZXMsIHdyYXBhcm91bmRfZmFpbHNhZmUs IHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMpCiAgIFdIRVJFIChjLnJlbGtpbmQg PSBBTlkgKEFSUkFZWydyJzo6ImNoYXIiLCAndCc6OiJjaGFyIiwgJ20nOjoiY2hhciJdKSk7 CiBwZ19zdGF0X3dhbHwgU0VMRUNUIHdhbF9yZWNvcmRzLAogICAgIHdhbF9mcGksCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9zdGF0cy5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9zdGF0cy5vdXQKaW5kZXggNjQ2Mzlj NzVkYy4uYzMwMjRlNWZjNCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC92YWN1dW1fc3RhdHMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFj dXVtX3N0YXRzLm91dApAQCAtMTIyLDYgKzEyMiwxNyBAQCBTRUxFQ1Qgd2FsX3JlY29yZHMg PiAwIEFTIHdhbF9yZWNvcmRzLAogKDEgcm93KQogCiBEUk9QIFRBQkxFIHZhY3N0YXRfZnBp OworLS0gd3JhcGFyb3VuZCBmYWlsc2FmZS4gIEEgbm9ybWFsIHZhY3V1bSBkb2VzIG5vdCBl bmdhZ2UgdGhlIHdyYXBhcm91bmQKKy0tIGZhaWxzYWZlICh3cmFwYXJvdW5kX2ZhaWxzYWZl ID0gMCkuICBUaGUgcG9zaXRpdmUgcGF0aCByZXF1aXJlcyByZWFjaGluZyB0aGUKKy0tIGZh aWxzYWZlIFhJRCBhZ2UgYW5kIGlzIGNvdmVyZWQgYnkgYSBzZXBhcmF0ZSBUQVAgdGVzdCB1 bmRlcgorLS0gc3JjL3Rlc3QvbW9kdWxlcy94aWRfd3JhcGFyb3VuZC4KK1NFTEVDVCB3cmFw YXJvdW5kX2ZhaWxzYWZlID0gMCBBUyB3cmFwYXJvdW5kX2ZhaWxzYWZlCisgIEZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3RhdF90JzsKKyB3cmFw YXJvdW5kX2ZhaWxzYWZlIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgdAorKDEgcm93KQor CiAtLSBwZXItaW5kZXggdmlldzogdGhlIHByaW1hcnkga2V5IGluZGV4IGlzIHByb2Nlc3Nl ZCBieSB0aGUgc2FtZSBWQUNVVU0uCiAtLSBObyBidHJlZSBsZWFmIGVtcHRpZXMgb3V0IChp bnRlcmxlYXZlZCBkZWxldGlvbnMpLCBzbyBwYWdlc19kZWxldGVkID0gMCwKIC0tIHdoaWxl IGV2ZXJ5IGluZGV4IGVudHJ5IGZvciBhIHJlbW92ZWQgaGVhcCB0dXBsZSBpcyBkZWxldGVk LgpAQCAtMTcxLDEzICsxODIsMTQgQEAgRFJPUCBUQUJMRSB2YWNzdGF0X2lkeGRlbDsKIC0t IHBlci1kYXRhYmFzZSBhZ2dyZWdhdGUgdmlldzogbm8gdmFjdXVtIGVycm9ycyBvY2N1cnJl ZCBpbiB0aGlzIGRhdGFiYXNlLCBhbmQKIC0tIHRoZSB2YWN1dW1zIGluIHRoaXMgZGF0YWJh c2UgZW1pdCBXQUwgKHdhbF9yZWNvcmRzID4gMCkuCiBTRUxFQ1QgZXJyb3JzID0gMCBBUyBl cnJvcnMsCisgICAgICAgd3JhcGFyb3VuZF9mYWlsc2FmZSA9IDAgQVMgd3JhcGFyb3VuZF9m YWlsc2FmZSwKICAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCiAgICAg ICAgd2FsX2ZwaSA+PSAwIEFTIHdhbF9mcGksCiAgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3 YWxfYnl0ZXMKICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSBXSEVSRSBkYm5hbWUg PSBjdXJyZW50X2RhdGFiYXNlKCk7Ci0gZXJyb3JzIHwgd2FsX3JlY29yZHMgfCB3YWxfZnBp IHwgd2FsX2J5dGVzIAotLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0KLSB0ICAgICAgfCB0ICAgICAgICAgICB8IHQgICAgICAgfCB0CisgZXJyb3JzIHwg d3JhcGFyb3VuZF9mYWlsc2FmZSB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRl cyAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLQorIHQgICAgICB8IHQgICAgICAgICAgICAgICAgICAgfCB0ICAg ICAgICAgICB8IHQgICAgICAgfCB0CiAoMSByb3cpCiAKIC0tIHBhcmFsbGVsIGluZGV4IHZh Y3V1bTogaW5kZXggc3RhdGlzdGljcyBtdXN0IGJlIGNhcHR1cmVkIGZvciBpbmRleGVzCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fc3RhdHMuc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3N0YXRzLnNxbAppbmRleCAxMzQ5MWI4N2YwLi44 Y2U2MGRhYzc3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fc3Rh dHMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwKQEAg LTgwLDYgKzgwLDEzIEBAIFNFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMs CiAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3Rh dF9mcGknOwogRFJPUCBUQUJMRSB2YWNzdGF0X2ZwaTsKIAorLS0gd3JhcGFyb3VuZCBmYWls c2FmZS4gIEEgbm9ybWFsIHZhY3V1bSBkb2VzIG5vdCBlbmdhZ2UgdGhlIHdyYXBhcm91bmQK Ky0tIGZhaWxzYWZlICh3cmFwYXJvdW5kX2ZhaWxzYWZlID0gMCkuICBUaGUgcG9zaXRpdmUg cGF0aCByZXF1aXJlcyByZWFjaGluZyB0aGUKKy0tIGZhaWxzYWZlIFhJRCBhZ2UgYW5kIGlz IGNvdmVyZWQgYnkgYSBzZXBhcmF0ZSBUQVAgdGVzdCB1bmRlcgorLS0gc3JjL3Rlc3QvbW9k dWxlcy94aWRfd3JhcGFyb3VuZC4KK1NFTEVDVCB3cmFwYXJvdW5kX2ZhaWxzYWZlID0gMCBB UyB3cmFwYXJvdW5kX2ZhaWxzYWZlCisgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdI RVJFIHJlbG5hbWUgPSAndmFjc3RhdF90JzsKKwogLS0gcGVyLWluZGV4IHZpZXc6IHRoZSBw cmltYXJ5IGtleSBpbmRleCBpcyBwcm9jZXNzZWQgYnkgdGhlIHNhbWUgVkFDVVVNLgogLS0g Tm8gYnRyZWUgbGVhZiBlbXB0aWVzIG91dCAoaW50ZXJsZWF2ZWQgZGVsZXRpb25zKSwgc28g cGFnZXNfZGVsZXRlZCA9IDAsCiAtLSB3aGlsZSBldmVyeSBpbmRleCBlbnRyeSBmb3IgYSBy ZW1vdmVkIGhlYXAgdHVwbGUgaXMgZGVsZXRlZC4KQEAgLTExMSw2ICsxMTgsNyBAQCBEUk9Q IFRBQkxFIHZhY3N0YXRfaWR4ZGVsOwogLS0gcGVyLWRhdGFiYXNlIGFnZ3JlZ2F0ZSB2aWV3 OiBubyB2YWN1dW0gZXJyb3JzIG9jY3VycmVkIGluIHRoaXMgZGF0YWJhc2UsIGFuZAogLS0g dGhlIHZhY3V1bXMgaW4gdGhpcyBkYXRhYmFzZSBlbWl0IFdBTCAod2FsX3JlY29yZHMgPiAw KS4KIFNFTEVDVCBlcnJvcnMgPSAwIEFTIGVycm9ycywKKyAgICAgICB3cmFwYXJvdW5kX2Zh aWxzYWZlID0gMCBBUyB3cmFwYXJvdW5kX2ZhaWxzYWZlLAogICAgICAgIHdhbF9yZWNvcmRz ID4gMCBBUyB3YWxfcmVjb3JkcywKICAgICAgICB3YWxfZnBpID49IDAgQVMgd2FsX2ZwaSwK ICAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRlcwotLSAKMi4zOS41IChBcHBsZSBH aXQtMTU0KQoK --------------iWaNFCp60Ha1jovLeWGuqq8d Content-Type: text/plain; charset=UTF-8; name="0006-Extended-vacuum-statistics-visibility-map-page-trans.patch" Content-Disposition: attachment; filename*0="0006-Extended-vacuum-statistics-visibility-map-page-trans.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAxMWUyZDRlYWM1ZDFkODIyNWMyM2M4NjQwNDU0YTY2MDY0ODI1Y2EzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YWxlbmthLnJ5YmFraW5h QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxNyBKdW4gMjAyNiAyMTo0MDozMiArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNi85XSBFeHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljczogdmlzaWJpbGl0 eS1tYXAgcGFnZQogdHJhbnNpdGlvbnMgZm9yIHRhYmxlcwoKRXhwb3NlIHRoZSBjb3VudGVy cyB0aGF0IHRyYWNrIGhvdyB0aGUgdmFjdXVtIHVwZGF0ZWQgdGhlIHZpc2liaWxpdHkgbWFw IG9mCnRoZSB0YWJsZSwgd2l0aCBkb2N1bWVudGF0aW9uIGFuZCByZWdyZXNzaW9uIGNvdmVy YWdlOgoKICB2bV9uZXdfZnJvemVuX3BhZ2VzICAgICAgICAgIHBhZ2VzIG5ld2x5IG1hcmtl ZCBhbGwtZnJvemVuIGluIHRoZSBWTQogIHZtX25ld192aXNpYmxlX3BhZ2VzICAgICAgICAg cGFnZXMgbmV3bHkgbWFya2VkIGFsbC12aXNpYmxlIGluIHRoZSBWTQogIHZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlcyAgcGFnZXMgbmV3bHkgbWFya2VkIGFsbC12aXNpYmxlIGFuZCBh bGwtZnJvemVuCi0tLQogZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sICAgICAgICAg ICAgIHwgMjQgKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVt bGF6eS5jICAgICAgIHwgIDMgKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdz LnNxbCAgICAgICB8ICAzICsrCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRf dmFjdXVtLmMgfCAgMyArKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMg ICAgICAgIHwgIDUgKystCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAg ICAgICAgfCAgNiArKy0tCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAg ICAgICAgfCAgNyArKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAg ICAgICAgfCAgNSArKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRz Lm91dCB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV9zdGF0cy5zcWwgICAgICB8IDI2ICsrKysrKysrKysrKysrKwogMTAgZmlsZXMg Y2hhbmdlZCwgMTE2IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sIGIvZG9jL3NyYy9zZ21sL3N5c3Rl bS12aWV3cy5zZ21sCmluZGV4IDhiY2ExN2YzZWYuLjFiZTU0NjczYmYgMTAwNjQ0Ci0tLSBh L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvc3lz dGVtLXZpZXdzLnNnbWwKQEAgLTU4OTIsNiArNTg5MiwzMCBAQCBTRUxFQ1QgKiBGUk9NIHBn X2xvY2tzIHBsIExFRlQgSk9JTiBwZ19wcmVwYXJlZF94YWN0cyBwcHgKICAgICAgICBOdW1i ZXIgb2YgZGVhZCB0dXBsZXMgdGhhdCB0aGUgdmFjdXVtIGNvdWxkIG5vdCByZW1vdmUgYmVj YXVzZSBpdCBmYWlsZWQgdG8gYWNxdWlyZSBhIGNsZWFudXAgbG9jayBvbiB0aGVpciBwYWdl LgogICAgICAgPC9wYXJhPjwvZW50cnk+CiAgICAgIDwvcm93PgorICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dm1fbmV3X2Zyb3plbl9wYWdl czwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIE51bWJlciBvZiBoZWFwIHBhZ2VzIG5ld2x5IG1hcmtlZCBh bGwtZnJvemVuIGluIHRoZSB2aXNpYmlsaXR5IG1hcCBieSB0aGUgdmFjdXVtLgorICAgICAg PC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dm1fbmV3X3Zpc2libGVfcGFnZXM8L3N0cnVj dGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICBOdW1iZXIgb2YgaGVhcCBwYWdlcyBuZXdseSBtYXJrZWQgYWxsLXZpc2li bGUgaW4gdGhlIHZpc2liaWxpdHkgbWFwIGJ5IHRoZSB2YWN1dW0uCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM8L3N0cnVj dGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICBOdW1iZXIgb2YgaGVhcCBwYWdlcyBuZXdseSBtYXJrZWQgYm90aCBhbGwt dmlzaWJsZSBhbmQgYWxsLWZyb3plbiBpbiB0aGUgdmlzaWJpbGl0eSBtYXAgYnkgdGhlIHZh Y3V1bS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KICAgICAgPHJvdz4K ICAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CiAgICAgICAgPHN0cnVjdGZpZWxkPndyYXBhcm91bmRfZmFp bHNhZmU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnRlZ2VyPC90eXBlPgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jIGIvc3JjL2JhY2tlbmQvYWNj ZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IDUwODk2NTZjMTguLjQ2Yjc0MTgxMzYgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9z cmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTYyNCw2ICs2MjQsOSBA QCBhY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVs LCBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudAogCWV4dFZhY1N0YXRzLT50eXBlID0gUEdT VEFUX0VYVFZBQ19UQUJMRTsKIAlleHRWYWNTdGF0cy0+dGFibGUucGFnZXNfc2Nhbm5lZCA9 IHZhY3JlbC0+c2Nhbm5lZF9wYWdlczsKIAlleHRWYWNTdGF0cy0+dGFibGUucGFnZXNfcmVt b3ZlZCA9IHZhY3JlbC0+cmVtb3ZlZF9wYWdlczsKKwlleHRWYWNTdGF0cy0+dGFibGUudm1f bmV3X2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+bmV3X2FsbF9mcm96ZW5fcGFnZXM7CisJZXh0 VmFjU3RhdHMtPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzID0gdmFjcmVsLT5uZXdfYWxs X3Zpc2libGVfcGFnZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxlLnZtX25ld192aXNpYmxlX2Zy b3plbl9wYWdlcyA9IHZhY3JlbC0+bmV3X2FsbF92aXNpYmxlX2FsbF9mcm96ZW5fcGFnZXM7 CiAJZXh0VmFjU3RhdHMtPmNvbW1vbi50dXBsZXNfZGVsZXRlZCA9IHZhY3JlbC0+dHVwbGVz X2RlbGV0ZWQ7CiAJZXh0VmFjU3RhdHMtPnRhYmxlLnR1cGxlc19mcm96ZW4gPSB2YWNyZWwt PnR1cGxlc19mcm96ZW47CiAJZXh0VmFjU3RhdHMtPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVw bGVzID0gdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlczsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbAppbmRleCA4MzdlNzhkMjkyLi5hN2FjMDM3YmMzIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xNTczLDYgKzE1NzMsOSBAQCBD UkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgQVMKICAgICAgICAgUy5yZWNlbnRs eV9kZWFkX3R1cGxlcyBBUyByZWNlbnRseV9kZWFkX3R1cGxlcywKICAgICAgICAgUy5taXNz ZWRfZGVhZF9wYWdlcyBBUyBtaXNzZWRfZGVhZF9wYWdlcywKICAgICAgICAgUy5taXNzZWRf ZGVhZF90dXBsZXMgQVMgbWlzc2VkX2RlYWRfdHVwbGVzLAorICAgICAgICBTLnZtX25ld19m cm96ZW5fcGFnZXMgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcywKKyAgICAgICAgUy52bV9uZXdf dmlzaWJsZV9wYWdlcyBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcywKKyAgICAgICAgUy52bV9u ZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2Vz LAogICAgICAgICBTLndyYXBhcm91bmRfZmFpbHNhZmUgQVMgd3JhcGFyb3VuZF9mYWlsc2Fm ZSwKICAgICAgICAgUy53YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywKICAgICAgICAgUy53 YWxfZnBpIEFTIHdhbF9mcGksCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfdmFjdXVtLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXRfdmFjdXVtLmMKaW5kZXggOGUwOTlmM2FkZS4uZWMzZDUwYzU5YyAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0uYwpAQCAtNzYsNiArNzYsOSBA QCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHNfcmVsYXRpb25zKFBnU3RhdF9WYWN1 dW1SZWxhdGlvbkNvdW50cyAqZHN0LAogCXsKIAkJQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJs ZSwgcGFnZXNfc2Nhbm5lZCk7CiAJCUFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUsIHBhZ2Vz X3JlbW92ZWQpOworCQkJCUFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUsIHZtX25ld19mcm96 ZW5fcGFnZXMpOworCQlBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCB2bV9uZXdfdmlzaWJs ZV9wYWdlcyk7CisJCUFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUsIHZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcyk7CiAJCUFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUsIG1pc3NlZF9k ZWFkX3BhZ2VzKTsKIAkJCUFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUsIHR1cGxlc19mcm96 ZW4pOwogCQlBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCByZWNlbnRseV9kZWFkX3R1cGxl cyk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IDc5Mjc2NjhiZjgu LjY5NGZkMjIwYjAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRm dW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0y Mzc0LDcgKzIzNzQsNyBAQCBwZ19zdGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJHUykK IERhdHVtCiBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiB7 Ci0jZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyAxMgorI2Rl ZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMgMTUKIAogCU9pZAkJ CXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKIAlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3Vu dHMgKmV4dHZhY3V1bTsKQEAgLTI0MDgsNiArMjQwOCw5IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1 bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyk7CiAJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXMp OwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLm1pc3Nl ZF9kZWFkX3R1cGxlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+dGFibGUudm1fbmV3X2Zyb3plbl9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXMpOworCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcyk7CiAJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1 bS0+Y29tbW9uLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOwogCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi53YWxfcmVjb3Jkcyk7CiAJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9mcGkpOwpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggNTFjZDBlNWVkMS4uZDJmYjFiNGVjMCAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMjY0Myw5ICsxMjY0Myw5IEBACiAgIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMnLCBwcm9yb3dzID0+IDEwMDAs IHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJywgcHJvaXNzdHJp Y3QgPT4gJ2YnLAogICBwcm9yZXRzZXQgPT4gJ3QnLAogICBwcm9hcmd0eXBlcyA9PiAnb2lk JywKLSAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsaW50NCxpbnQ4LGludDgsbnVtZXJpY30nLAotICBwcm9hcmdtb2Rl cyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKLSAgcHJvYXJnbmFtZXMgPT4g J3tyZWxvaWQscmVsaWQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHR1cGxlc19kZWxl dGVkLHR1cGxlc19mcm96ZW4scmVjZW50bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfcGFn ZXMsbWlzc2VkX2RlYWRfdHVwbGVzLHdyYXBhcm91bmRfZmFpbHNhZmUsd2FsX3JlY29yZHMs d2FsX2ZwaSx3YWxfYnl0ZXN9JywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50NCxp bnQ4LGludDgsbnVtZXJpY30nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQs cGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHR1cGxlc19kZWxldGVkLHR1cGxlc19mcm96 ZW4scmVjZW50bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfcGFnZXMsbWlzc2VkX2RlYWRf dHVwbGVzLHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzLHdyYXBhcm91bmRfZmFpbHNhZmUsd2FsX3JlY29yZHMs d2FsX2ZwaSx3YWxfYnl0ZXN9JywKICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1f dGFibGVzJyB9CiAKICMgb2lkOCByZWxhdGVkIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCBkMDQxMzU5 ZTcyLi5iY2M4NGRiZDQxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysg Yi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMjMzLDYgKzIzMywxMyBAQCB0eXBlZGVmIHN0 cnVjdCBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMKIAkJCWludDY0CQltaXNzZWRfZGVh ZF90dXBsZXM7IC8qIHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUKIAkJCQkJCQkJ CQkJICogdG8gZmFpbHVyZSB0byBnZXQgYSBjbGVhbnVwCiAJCQkJCQkJCQkJCSAqIGxvY2sg Ki8KKwkJCWludDY0CQl2bV9uZXdfZnJvemVuX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4g Vk0gYXMKKwkJCQkJCQkJCQkJCSAqIGZyb3plbiAqLworCQkJaW50NjQJCXZtX25ld192aXNp YmxlX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMKKwkJCQkJCQkJCQkJCSAqIGFs bC12aXNpYmxlICovCisJCQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOwkv KiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMKKwkJCQkJCQkJCQkJCQkJICogYWxsLXZpc2libGUg YW5kCisJCQkJCQkJCQkJCQkJCSAqIGZyb3plbiAqLwogCQl9CQkJdGFibGU7CiAJCXN0cnVj dAogCQl7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDQ2N2MyZTE4 NDMuLjI3YTE3ZWUwYzIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBA IC0yNDU3LDEzICsyNDU3LDE2IEBAIHBnX3N0YXRfdmFjdXVtX3RhYmxlc3wgU0VMRUNUIG4u bnNwbmFtZSBBUyBzY2hlbWFuYW1lLAogICAgIHMucmVjZW50bHlfZGVhZF90dXBsZXMsCiAg ICAgcy5taXNzZWRfZGVhZF9wYWdlcywKICAgICBzLm1pc3NlZF9kZWFkX3R1cGxlcywKKyAg ICBzLnZtX25ld19mcm96ZW5fcGFnZXMsCisgICAgcy52bV9uZXdfdmlzaWJsZV9wYWdlcywK KyAgICBzLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywKICAgICBzLndyYXBhcm91bmRf ZmFpbHNhZmUsCiAgICAgcy53YWxfcmVjb3JkcywKICAgICBzLndhbF9mcGksCiAgICAgcy53 YWxfYnl0ZXMKICAgIEZST00gKHBnX2NsYXNzIGMKICAgICAgSk9JTiBwZ19uYW1lc3BhY2Ug biBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSksCi0gICAgTEFURVJBTCBwZ19zdGF0 X2dldF92YWN1dW1fdGFibGVzKGMub2lkKSBzKHJlbGlkLCBwYWdlc19zY2FubmVkLCBwYWdl c19yZW1vdmVkLCB0dXBsZXNfZGVsZXRlZCwgdHVwbGVzX2Zyb3plbiwgcmVjZW50bHlfZGVh ZF90dXBsZXMsIG1pc3NlZF9kZWFkX3BhZ2VzLCBtaXNzZWRfZGVhZF90dXBsZXMsIHdyYXBh cm91bmRfZmFpbHNhZmUsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMpCisgICAg TEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKGMub2lkKSBzKHJlbGlkLCBwYWdl c19zY2FubmVkLCBwYWdlc19yZW1vdmVkLCB0dXBsZXNfZGVsZXRlZCwgdHVwbGVzX2Zyb3pl biwgcmVjZW50bHlfZGVhZF90dXBsZXMsIG1pc3NlZF9kZWFkX3BhZ2VzLCBtaXNzZWRfZGVh ZF90dXBsZXMsIHZtX25ld19mcm96ZW5fcGFnZXMsIHZtX25ld192aXNpYmxlX3BhZ2VzLCB2 bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIHdyYXBhcm91bmRfZmFpbHNhZmUsIHdhbF9y ZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMpCiAgIFdIRVJFIChjLnJlbGtpbmQgPSBBTlkg KEFSUkFZWydyJzo6ImNoYXIiLCAndCc6OiJjaGFyIiwgJ20nOjoiY2hhciJdKSk7CiBwZ19z dGF0X3dhbHwgU0VMRUNUIHdhbF9yZWNvcmRzLAogICAgIHdhbF9mcGksCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9zdGF0cy5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9zdGF0cy5vdXQKaW5kZXggYzMwMjRlNWZjNC4u Yzk5NjY5OTgwNCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fc3RhdHMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3N0 YXRzLm91dApAQCAtODQsNiArODQsNDUgQEAgU0VMRUNUIHJlY2VudGx5X2RlYWRfdHVwbGVz ID0gMCBBUyByZWNlbnRseV9kZWFkX3R1cGxlcywKICB0ICAgICAgICAgICAgICAgICAgICB8 IHQgICAgICAgICAgICAgICAgIHwgdAogKDEgcm93KQogCistLSB2aXNpYmlsaXR5LW1hcCBw YWdlIHRyYW5zaXRpb25zLiAgUmVtb3ZpbmcgdGhlIGludGVybGVhdmVkIGRlYWQgdHVwbGVz IGxldHMKKy0tIFZBQ1VVTSBtYXJrIGV2ZXJ5IGhlYXAgcGFnZSBhbGwtdmlzaWJsZSAodm1f bmV3X3Zpc2libGVfcGFnZXMgPiAwKS4gIFdoZXRoZXIKKy0tIFZBQ1VVTSBhbHNvIGZyZWV6 ZXMgdGhvc2UgcGFnZXMgKHZtX25ld19mcm96ZW5fcGFnZXMgLworLS0gdm1fbmV3X3Zpc2li bGVfZnJvemVuX3BhZ2VzKSBkZXBlbmRzIG9uIG9wcG9ydHVuaXN0aWMgZnJlZXppbmcsIHdo aWNoIGlzIG5vdAorLS0gZGV0ZXJtaW5pc3RpYyBoZXJlLCBzbyB0aG9zZSBhcmUgb25seSBj aGVja2VkIGZvciBiZWluZyBub24tbmVnYXRpdmU7IHRoZQorLS0gcG9zaXRpdmUgZnJlZXpl IHBhdGggaXMgY292ZXJlZCBieSB0aGUgZGVkaWNhdGVkIFZBQ1VVTSAoRlJFRVpFKSBzY2Vu YXJpbworLS0gYmVsb3cuCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyA+PSAwIEFTIHZt X25ld19mcm96ZW5fcGFnZXMsCisgICAgICAgdm1fbmV3X3Zpc2libGVfcGFnZXMgPiAwIEFT IHZtX25ld192aXNpYmxlX3BhZ2VzLAorICAgICAgIHZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlcyA+PSAwIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcworICBGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3ZhY3N0YXRfdCc7Cisgdm1fbmV3 X2Zyb3plbl9wYWdlcyB8IHZtX25ld192aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVf ZnJvemVuX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0ICAgICAgICAgICAgICAg ICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKKy0tIGZyZWV6ZSBw YXRoOiBhIGRlZGljYXRlZCBWQUNVVU0gKEZSRUVaRSkgbWFya3MgZnJlc2hseS1sb2FkZWQg aGVhcCBwYWdlcworLS0gYWxsLXZpc2libGUgYW5kIGFsbC1mcm96ZW4gaW4gb25lIHBhc3Ms IHNvIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcworLS0gYWR2YW5jZXMuICBUaGlzIHJl c3RvcmVzIHRoZSBjb3ZlcmFnZSBvZiB0aGUgZm9ybWVyCistLSAwNTNfdmFjdXVtX2V4dGVu ZGluZ19mcmVlemUgVEFQIHRlc3QuCitDUkVBVEUgVEFCTEUgdmFjc3RhdF9mcnogKHggaW50 KQorICBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7 CitJTlNFUlQgSU5UTyB2YWNzdGF0X2ZyeiBTRUxFQ1QgZyBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLCAxMDAwKSBnOworVkFDVVVNIChGUkVFWkUpIHZhY3N0YXRfZnJ6OworU0VMRUNUIHBn X3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1NFTEVDVCB2bV9u ZXdfdmlzaWJsZV9wYWdlcyA+IDAgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsCisgICAgICAg dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID4gMCBBUyB2bV9uZXdfdmlzaWJsZV9mcm96 ZW5fcGFnZXMKKyAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9 ICd2YWNzdGF0X2Zyeic7Cisgdm1fbmV3X3Zpc2libGVfcGFnZXMgfCB2bV9uZXdfdmlzaWJs ZV9mcm96ZW5fcGFnZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgdCAgICAgICAgICAgICAgICAgICAgfCB0CisoMSByb3cpCisK K0RST1AgVEFCTEUgdmFjc3RhdF9mcno7CiAtLSBXQUwgbWV0cmljcy4gIEEgdmFjdXVtIHRo YXQgcmVtb3ZlcyB0dXBsZXMgYWx3YXlzIGVtaXRzIFdBTAogLS0gKHdhbF9yZWNvcmRzID4g MCwgd2FsX2J5dGVzID4gMCkuICB3YWxfZnBpIGRlcGVuZHMgb24gd2hldGhlciBhIGNoZWNr cG9pbnQKIC0tIGhhcHBlbmVkIHJlY2VudGx5LCBzbyBpdCBpcyBvbmx5IGNoZWNrZWQgZm9y IGJlaW5nIG5vbi1uZWdhdGl2ZSBoZXJlOyB0aGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1 dW1fc3RhdHMuc3FsCmluZGV4IDhjZTYwZGFjNzcuLmYxMDZiN2MzN2IgMTAwNjQ0Ci0tLSBh L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvdmFjdXVtX3N0YXRzLnNxbApAQCAtNTUsNiArNTUsMzIgQEAgU0VMRUNU IHJlY2VudGx5X2RlYWRfdHVwbGVzID0gMCBBUyByZWNlbnRseV9kZWFkX3R1cGxlcywKICAg ICAgICBtaXNzZWRfZGVhZF90dXBsZXMgPSAwIEFTIG1pc3NlZF9kZWFkX3R1cGxlcwogICBG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3ZhY3N0YXRfdCc7 CiAKKy0tIHZpc2liaWxpdHktbWFwIHBhZ2UgdHJhbnNpdGlvbnMuICBSZW1vdmluZyB0aGUg aW50ZXJsZWF2ZWQgZGVhZCB0dXBsZXMgbGV0cworLS0gVkFDVVVNIG1hcmsgZXZlcnkgaGVh cCBwYWdlIGFsbC12aXNpYmxlICh2bV9uZXdfdmlzaWJsZV9wYWdlcyA+IDApLiAgV2hldGhl cgorLS0gVkFDVVVNIGFsc28gZnJlZXplcyB0aG9zZSBwYWdlcyAodm1fbmV3X2Zyb3plbl9w YWdlcyAvCistLSB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMpIGRlcGVuZHMgb24gb3Bw b3J0dW5pc3RpYyBmcmVlemluZywgd2hpY2ggaXMgbm90CistLSBkZXRlcm1pbmlzdGljIGhl cmUsIHNvIHRob3NlIGFyZSBvbmx5IGNoZWNrZWQgZm9yIGJlaW5nIG5vbi1uZWdhdGl2ZTsg dGhlCistLSBwb3NpdGl2ZSBmcmVlemUgcGF0aCBpcyBjb3ZlcmVkIGJ5IHRoZSBkZWRpY2F0 ZWQgVkFDVVVNIChGUkVFWkUpIHNjZW5hcmlvCistLSBiZWxvdy4KK1NFTEVDVCB2bV9uZXdf ZnJvemVuX3BhZ2VzID49IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcywKKyAgICAgICB2bV9u ZXdfdmlzaWJsZV9wYWdlcyA+IDAgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsCisgICAgICAg dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID49IDAgQVMgdm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzCisgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUg PSAndmFjc3RhdF90JzsKKworLS0gZnJlZXplIHBhdGg6IGEgZGVkaWNhdGVkIFZBQ1VVTSAo RlJFRVpFKSBtYXJrcyBmcmVzaGx5LWxvYWRlZCBoZWFwIHBhZ2VzCistLSBhbGwtdmlzaWJs ZSBhbmQgYWxsLWZyb3plbiBpbiBvbmUgcGFzcywgc28gdm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzCistLSBhZHZhbmNlcy4gIFRoaXMgcmVzdG9yZXMgdGhlIGNvdmVyYWdlIG9mIHRo ZSBmb3JtZXIKKy0tIDA1M192YWN1dW1fZXh0ZW5kaW5nX2ZyZWV6ZSBUQVAgdGVzdC4KK0NS RUFURSBUQUJMRSB2YWNzdGF0X2ZyeiAoeCBpbnQpCisgIFdJVEggKGF1dG92YWN1dW1fZW5h YmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZhY3N0YXRfZnJ6 IFNFTEVDVCBnIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDEwMDApIGc7CitWQUNVVU0gKEZS RUVaRSkgdmFjc3RhdF9mcno7CitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7 CitTRUxFQ1Qgdm1fbmV3X3Zpc2libGVfcGFnZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX3Bh Z2VzLAorICAgICAgIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA+IDAgQVMgdm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzCisgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdI RVJFIHJlbG5hbWUgPSAndmFjc3RhdF9mcnonOworRFJPUCBUQUJMRSB2YWNzdGF0X2ZyejsK KwogLS0gV0FMIG1ldHJpY3MuICBBIHZhY3V1bSB0aGF0IHJlbW92ZXMgdHVwbGVzIGFsd2F5 cyBlbWl0cyBXQUwKIC0tICh3YWxfcmVjb3JkcyA+IDAsIHdhbF9ieXRlcyA+IDApLiAgd2Fs X2ZwaSBkZXBlbmRzIG9uIHdoZXRoZXIgYSBjaGVja3BvaW50CiAtLSBoYXBwZW5lZCByZWNl bnRseSwgc28gaXQgaXMgb25seSBjaGVja2VkIGZvciBiZWluZyBub24tbmVnYXRpdmUgaGVy ZTsgdGhlCi0tIAoyLjM5LjUgKEFwcGxlIEdpdC0xNTQpCgo= --------------iWaNFCp60Ha1jovLeWGuqq8d Content-Type: text/plain; charset=UTF-8; name="0007-Extended-vacuum-statistics-total-shared-buffer-acces.patch" Content-Disposition: attachment; filename*0="0007-Extended-vacuum-statistics-total-shared-buffer-acces.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2NmFhZmQ3YWM3MDY4NmExNjRjMzViZjZiYjNiOGI3NTdjMTZjZjQzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YWxlbmthLnJ5YmFraW5h QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxNyBKdW4gMjAyNiAyMTo0NjoxNCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNy85XSBFeHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljczogdG90YWwgc2hh cmVkLWJ1ZmZlciBhY2Nlc3MKIGNvdW50ZXJzCgpFeHBvc2UgdGhlIHNoYXJlZC1idWZmZXIg YWNjZXNzIGNvdW50ZXJzIGluIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywKcGdfc3RhdF92YWN1 dW1faW5kZXhlcyBhbmQgdGhlIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlIGFnZ3JlZ2F0ZSwg d2l0aApkb2N1bWVudGF0aW9uIGFuZCByZWdyZXNzaW9uIGNvdmVyYWdlOgoKICB0b3RhbF9i bGtzX3JlYWQgICAgIHNoYXJlZCBidWZmZXIgYmxvY2tzIG1pc3NlZCAocmVhZCBmcm9tIGRp c2spCiAgdG90YWxfYmxrc19oaXQgICAgICBzaGFyZWQgYnVmZmVyIGJsb2NrcyBmb3VuZCBp biB0aGUgYnVmZmVyIGNhY2hlIChoaXRzKQogIHRvdGFsX2Jsa3NfZGlydGllZCAgc2hhcmVk IGJ1ZmZlciBibG9ja3MgZGlydGllZCBieSB0aGlzIHZhY3V1bQogIHRvdGFsX2Jsa3Nfd3Jp dHRlbiAgc2hhcmVkIGJ1ZmZlciBibG9ja3Mgd3JpdHRlbiBvdXQKClRoZXNlIGNvdW50ZXJz IGFyZSBjb21tb24gdG8gdGFibGVzLCBpbmRleGVzIGFuZCB0aGUgZGF0YWJhc2UgYWdncmVn YXRlCih3aGVyZSB0aGUgZmlyc3QgdHdvIGFyZSBuYW1lZCBkYl9ibGtzX3JlYWQvZGJfYmxr c19oaXQpOyB0b3RhbF9ibGtzX2RpcnRpZWQKY291bnRzIG9ubHkgdGhlIHBhZ2VzIGRpcnRp ZWQgYnkgdGhpcyB2YWN1dW0uCi0tLQogZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21s ICAgICAgICAgICAgIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQv YWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICAgICAgIHwgMjMgKysrKystCiBzcmMvYmFja2Vu ZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAgfCAxMiArKysKIHNyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0uYyB8ICA1ICsrCiBzcmMvYmFja2VuZC91 dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgfCAyMCArKysrLQogc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgIHwgMTggKystLQogc3JjL2luY2x1ZGUv cGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysKIHNyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgICAgICB8IDE4ICsrKy0KIHNyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91dCB8IDQyICsrKysrKysrLS0KIHNyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwgICAgICB8IDI2ICsrKysrLQogMTAgZmls ZXMgY2hhbmdlZCwgMjQwIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBiL2RvYy9zcmMvc2dtbC9z eXN0ZW0tdmlld3Muc2dtbAppbmRleCAxYmU1NDY3M2JmLi5mMzdhM2I2NGMxIDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21s L3N5c3RlbS12aWV3cy5zZ21sCkBAIC01OTE2LDYgKzU5MTYsMzggQEAgU0VMRUNUICogRlJP TSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFjdHMgcHB4CiAgICAgICAg TnVtYmVyIG9mIGhlYXAgcGFnZXMgbmV3bHkgbWFya2VkIGJvdGggYWxsLXZpc2libGUgYW5k IGFsbC1mcm96ZW4gaW4gdGhlIHZpc2liaWxpdHkgbWFwIGJ5IHRoZSB2YWN1dW0uCiAgICAg ICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50 cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmlu aXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZp ZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICBOdW1iZXIgb2Ygc2hhcmVkIGJ1ZmZlciBibG9ja3MgbWlzc2VkIChyZWFkIGZy b20gZGlzaykgYnkgdGhlIHZhY3V1bS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHNoYXJlZCBi dWZmZXIgYmxvY2tzIGZvdW5kIGluIHRoZSBidWZmZXIgY2FjaGUgKGhpdHMpIGJ5IHRoZSB2 YWN1dW0uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2Rp cnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBOdW1iZXIgb2Ygc2hhcmVkIGJ1ZmZlciBibG9ja3Mg ZGlydGllZCBieSB0aGUgdmFjdXVtLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHNoYXJl ZCBidWZmZXIgYmxvY2tzIHdyaXR0ZW4gb3V0IGJ5IHRoZSB2YWN1dW0uCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CiAgICAgIDxyb3c+CiAgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgogICAgICAgIDxzdHJ1Y3RmaWVsZD53cmFwYXJvdW5kX2ZhaWxzYWZlPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ZWdlcjwvdHlwZT4KQEAgLTYwMzksNiArNjA3MSwzOCBAQCBTRUxFQ1Qg KiBGUk9NIHBnX2xvY2tzIHBsIExFRlQgSk9JTiBwZ19wcmVwYXJlZF94YWN0cyBwcHgKICAg ICAgICBOdW1iZXIgb2YgaW5kZXggZW50cmllcyByZW1vdmVkIGJ5IHRoZSB2YWN1dW0uCiAg ICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVj dGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICBOdW1iZXIgb2Ygc2hhcmVkIGJ1ZmZlciBibG9ja3MgcmVhZCB3aGlsZSB2 YWN1dW1pbmcgdGhlIGluZGV4LgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ dG90YWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOdW1iZXIgb2Ygc2hhcmVkIGJ1ZmZl ciBibG9jayBoaXRzIHdoaWxlIHZhY3V1bWluZyB0aGUgaW5kZXguCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICBOdW1iZXIgb2Ygc2hhcmVkIGJ1ZmZlciBibG9ja3MgZGlydGllZCB3aGlsZSB2YWN1dW1p bmcgdGhlIGluZGV4LgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxf Ymxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHNoYXJlZCBidWZmZXIg YmxvY2tzIHdyaXR0ZW4gb3V0IHdoaWxlIHZhY3V1bWluZyB0aGUgaW5kZXguCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CiAgICAgIDxyb3c+CiAgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgogICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVjb3Jkczwvc3RydWN0ZmllbGQ+IDx0 eXBlPmJpZ2ludDwvdHlwZT4KQEAgLTYxMjEsNiArNjE4NSwzOCBAQCBTRUxFQ1QgKiBGUk9N IHBnX2xvY2tzIHBsIExFRlQgSk9JTiBwZ19wcmVwYXJlZF94YWN0cyBwcHgKICAgICAgICBO dW1iZXIgb2YgdmFjdXVtIG9wZXJhdGlvbnMgaW4gdGhpcyBkYXRhYmFzZSB0aGF0IGZhaWxl ZCB3aXRoIGFuIGVycm9yLgogICAgICAgPC9wYXJhPjwvZW50cnk+CiAgICAgIDwvcm93Pgor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGJf Ymxrc19yZWFkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHNoYXJlZCBidWZmZXIgYmxv Y2tzIHJlYWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMgaW4gdGhpcyBkYXRhYmFzZS4KKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRiX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4g PHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgTnVtYmVyIG9mIHNoYXJlZCBidWZmZXIgYmxvY2sgaGl0cyBieSB2YWN1dW0gb3BlcmF0 aW9ucyBpbiB0aGlzIGRhdGFiYXNlLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHNoYXJl ZCBidWZmZXIgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMgaW4gdGhpcyBk YXRhYmFzZS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICAgPHJv dz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xl PSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3Nf d3JpdHRlbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBvZiBzaGFyZWQgYnVmZmVyIGJsb2Nr cyB3cml0dGVuIG91dCBieSB2YWN1dW0gb3BlcmF0aW9ucyBpbiB0aGlzIGRhdGFiYXNlLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgogICAgICA8cm93PgogICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KICAgICAgICA8c3RydWN0ZmllbGQ+d3JhcGFyb3VuZF9mYWlsc2FmZTwv c3RydWN0ZmllbGQ+IDx0eXBlPmludGVnZXI8L3R5cGU+CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVh cC92YWN1dW1sYXp5LmMKaW5kZXggNDZiNzQxODEzNi4uMWQ2ZGIyYTkxZCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNr ZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwpAQCAtNTE4LDYgKzUxOCw3IEBAIGV4dHZh Y19zdGF0c19zdGFydChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICogY291bnRl cnMpCiAJbWVtc2V0KGNvdW50ZXJzLCAwLCBzaXplb2YoTFZFeHRTdGF0Q291bnRlcnMpKTsK IAogCWNvdW50ZXJzLT53YWx1c2FnZSA9IHBnV2FsVXNhZ2U7CisJY291bnRlcnMtPmJ1ZnVz YWdlID0gcGdCdWZmZXJVc2FnZTsKIH0KIAogLyogLS0tLS0tLS0tLQpAQCAtNTMxLDE5ICs1 MzIsMjcgQEAgZXh0dmFjX3N0YXRzX2VuZChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50 ZXJzICogY291bnRlcnMsCiAJCQkJIFBnU3RhdF9Db21tb25Db3VudHMgKiByZXBvcnQpCiB7 CiAJV2FsVXNhZ2UJd2FsdXNhZ2U7CisJQnVmZmVyVXNhZ2UgYnVmdXNhZ2U7CiAKIAlpZiAo IXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKIAkJcmV0dXJuOwogCiAJbWVtc2V0 KHJlcG9ydCwgMCwgc2l6ZW9mKFBnU3RhdF9Db21tb25Db3VudHMpKTsKIAotCS8qIENhbGN1 bGF0ZSBkaWZmcyBvZiBnbG9iYWwgc3RhdCBwYXJhbWV0ZXJzIG9uIFdBTCB1c2FnZS4gKi8K KwkvKiBDYWxjdWxhdGUgZGlmZnMgb2YgZ2xvYmFsIHN0YXQgcGFyYW1ldGVycyBvbiBXQUwg YW5kIGJ1ZmZlciB1c2FnZS4gKi8KIAltZW1zZXQoJndhbHVzYWdlLCAwLCBzaXplb2YoV2Fs VXNhZ2UpKTsKIAlXYWxVc2FnZUFjY3VtRGlmZigmd2FsdXNhZ2UsICZwZ1dhbFVzYWdlLCAm Y291bnRlcnMtPndhbHVzYWdlKTsKIAorCW1lbXNldCgmYnVmdXNhZ2UsIDAsIHNpemVvZihC dWZmZXJVc2FnZSkpOworCUJ1ZmZlclVzYWdlQWNjdW1EaWZmKCZidWZ1c2FnZSwgJnBnQnVm ZmVyVXNhZ2UsICZjb3VudGVycy0+YnVmdXNhZ2UpOworCiAJLyoKIAkgKiBGaWxsIGFkZGl0 aW9uYWwgc3RhdGlzdGljcyBvbiBhIHZhY3V1bSBwcm9jZXNzaW5nIG9wZXJhdGlvbi4KIAkg Ki8KKwlyZXBvcnQtPnRvdGFsX2Jsa3NfcmVhZCArPSBidWZ1c2FnZS5sb2NhbF9ibGtzX3Jl YWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19yZWFkOworCXJlcG9ydC0+dG90YWxfYmxrc19o aXQgKz0gYnVmdXNhZ2UubG9jYWxfYmxrc19oaXQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19o aXQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2RpcnRpZWQgKz0gYnVmdXNhZ2UubG9jYWxfYmxr c19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfZGlydGllZDsKKwlyZXBvcnQtPnRv dGFsX2Jsa3Nfd3JpdHRlbiArPSBidWZ1c2FnZS5zaGFyZWRfYmxrc193cml0dGVuOwogCXJl cG9ydC0+d2FsX3JlY29yZHMgKz0gd2FsdXNhZ2Uud2FsX3JlY29yZHM7CiAJcmVwb3J0LT53 YWxfZnBpICs9IHdhbHVzYWdlLndhbF9mcGk7CiAJcmVwb3J0LT53YWxfYnl0ZXMgKz0gd2Fs dXNhZ2Uud2FsX2J5dGVzOwpAQCAtNjM0LDYgKzY0MywxMCBAQCBhY2N1bXVsYXRlX2hlYXBf dmFjdXVtX3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBQZ1N0YXRfVmFjdXVtUmVs YXRpb25Db3VudAogCWV4dFZhY1N0YXRzLT50YWJsZS5taXNzZWRfZGVhZF9wYWdlcyA9IHZh Y3JlbC0+bWlzc2VkX2RlYWRfcGFnZXM7CiAJZXh0VmFjU3RhdHMtPmNvbW1vbi53cmFwYXJv dW5kX2ZhaWxzYWZlX2NvdW50ID0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlOwogCisJ ZXh0VmFjU3RhdHMtPmNvbW1vbi50b3RhbF9ibGtzX2RpcnRpZWQgLT0gdmFjcmVsLT5leHRW YWNSZXBvcnRJZHguY29tbW9uLnRvdGFsX2Jsa3NfZGlydGllZDsKKwlleHRWYWNTdGF0cy0+ Y29tbW9uLnRvdGFsX2Jsa3NfaGl0IC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1v bi50b3RhbF9ibGtzX2hpdDsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLnRvdGFsX2Jsa3NfcmVh ZCAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxfYmxrc19yZWFkOwor CWV4dFZhY1N0YXRzLT5jb21tb24udG90YWxfYmxrc193cml0dGVuIC09IHZhY3JlbC0+ZXh0 VmFjUmVwb3J0SWR4LmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW47CiAJZXh0VmFjU3RhdHMt PmNvbW1vbi53YWxfYnl0ZXMgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLndh bF9ieXRlczsKIAlleHRWYWNTdGF0cy0+Y29tbW9uLndhbF9mcGkgLT0gdmFjcmVsLT5leHRW YWNSZXBvcnRJZHguY29tbW9uLndhbF9mcGk7CiAJZXh0VmFjU3RhdHMtPmNvbW1vbi53YWxf cmVjb3JkcyAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX3JlY29yZHM7 CkBAIC02NDMsNiArNjU2LDEwIEBAIHN0YXRpYyB2b2lkCiBhY2N1bXVsYXRlX2lkeHNfdmFj dXVtX3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBQZ1N0YXRfVmFjdXVtUmVsYXRp b25Db3VudHMgKiBleHRWYWNJZHhTdGF0cykKIHsKIAkvKiBGaWxsIGhlYXAtc3BlY2lmaWMg ZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLnRvdGFsX2Jsa3NfZGlydGllZCArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLnRvdGFs X2Jsa3NfZGlydGllZDsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxf Ymxrc19oaXQgKz0gZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi50b3RhbF9ibGtzX2hpdDsKKwl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxfYmxrc19yZWFkICs9IGV4dFZh Y0lkeFN0YXRzLT5jb21tb24udG90YWxfYmxrc19yZWFkOworCXZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4gKz0gZXh0VmFjSWR4U3RhdHMtPmNv bW1vbi50b3RhbF9ibGtzX3dyaXR0ZW47CiAJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLndhbF9ieXRlcyArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLndhbF9ieXRlczsKIAl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX2ZwaSArPSBleHRWYWNJZHhTdGF0 cy0+Y29tbW9uLndhbF9mcGk7CiAJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLndh bF9yZWNvcmRzICs9IGV4dFZhY0lkeFN0YXRzLT5jb21tb24ud2FsX3JlY29yZHM7CkBAIC02 NjQsNiArNjgxLDEwIEBAIGV4dHZhY19hY2N1bXVsYXRlX2lkeF9yZXBvcnQoUGdTdGF0X1Zh Y3V1bVJlbGF0aW9uQ291bnRzICogZHN0LAogewogCWRzdC0+dHlwZSA9IFBHU1RBVF9FWFRW QUNfSU5ERVg7CiAKKwlkc3QtPmNvbW1vbi50b3RhbF9ibGtzX3JlYWQgKz0gc3JjLT5jb21t b24udG90YWxfYmxrc19yZWFkOworCWRzdC0+Y29tbW9uLnRvdGFsX2Jsa3NfaGl0ICs9IHNy Yy0+Y29tbW9uLnRvdGFsX2Jsa3NfaGl0OworCWRzdC0+Y29tbW9uLnRvdGFsX2Jsa3NfZGly dGllZCArPSBzcmMtPmNvbW1vbi50b3RhbF9ibGtzX2RpcnRpZWQ7CisJZHN0LT5jb21tb24u dG90YWxfYmxrc193cml0dGVuICs9IHNyYy0+Y29tbW9uLnRvdGFsX2Jsa3Nfd3JpdHRlbjsK IAlkc3QtPmNvbW1vbi53YWxfcmVjb3JkcyArPSBzcmMtPmNvbW1vbi53YWxfcmVjb3JkczsK IAlkc3QtPmNvbW1vbi53YWxfZnBpICs9IHNyYy0+Y29tbW9uLndhbF9mcGk7CiAJZHN0LT5j b21tb24ud2FsX2J5dGVzICs9IHNyYy0+Y29tbW9uLndhbF9ieXRlczsKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCBhN2FjMDM3YmMzLi4xZWU3NGY5MjczIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xNTc2LDYgKzE1NzYs MTAgQEAgQ1JFQVRFIFZJRVcgcGdfc3RhdF92YWN1dW1fdGFibGVzIEFTCiAgICAgICAgIFMu dm1fbmV3X2Zyb3plbl9wYWdlcyBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLAogICAgICAgICBT LnZtX25ld192aXNpYmxlX3BhZ2VzIEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLAogICAgICAg ICBTLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyBBUyB2bV9uZXdfdmlzaWJsZV9mcm96 ZW5fcGFnZXMsCisgICAgICAgIFMudG90YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVh ZCwKKyAgICAgICAgUy50b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hpdCwKKyAgICAg ICAgUy50b3RhbF9ibGtzX2RpcnRpZWQgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAgICAg ICBTLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCiAgICAgICAg IFMud3JhcGFyb3VuZF9mYWlsc2FmZSBBUyB3cmFwYXJvdW5kX2ZhaWxzYWZlLAogICAgICAg ICBTLndhbF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAogICAgICAgICBTLndhbF9mcGkgQVMg d2FsX2ZwaSwKQEAgLTE1OTcsNiArMTYwMSwxMCBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIEFTCiAgICAgICAgICAgICBTLnBhZ2VzX2RlbGV0ZWQgQVMgcGFnZXNf ZGVsZXRlZCwKICAgICAgICAgICAgIFMudHVwbGVzX2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0 ZWQsCiAKKyAgICAgICAgICAgIFMudG90YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVh ZCwKKyAgICAgICAgICAgIFMudG90YWxfYmxrc19oaXQgQVMgdG90YWxfYmxrc19oaXQsCisg ICAgICAgICAgICBTLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQs CisgICAgICAgICAgICBTLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0 ZW4sCiAgICAgICAgICAgICBTLndhbF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAogICAgICAg ICAgICAgUy53YWxfZnBpIEFTIHdhbF9mcGksCiAgICAgICAgICAgICBTLndhbF9ieXRlcyBB UyB3YWxfYnl0ZXMKQEAgLTE2MTUsNiArMTYyMywxMCBAQCBDUkVBVEUgVklFVyBwZ19zdGF0 X3ZhY3V1bV9kYXRhYmFzZSBBUwogCiAgICAgICAgICAgICBTLmVycm9ycyBBUyBlcnJvcnMs CiAKKyAgICAgICAgICAgIFMuZGJfYmxrc19yZWFkIEFTIGRiX2Jsa3NfcmVhZCwKKyAgICAg ICAgICAgIFMuZGJfYmxrc19oaXQgQVMgZGJfYmxrc19oaXQsCisgICAgICAgICAgICBTLnRv dGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAgICAgICBT LnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCiAgICAgICAgICAg ICBTLndyYXBhcm91bmRfZmFpbHNhZmUgQVMgd3JhcGFyb3VuZF9mYWlsc2FmZSwKICAgICAg ICAgICAgIFMud2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCiAgICAgICAgICAgICBTLndh bF9mcGkgQVMgd2FsX2ZwaSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF92YWN1dW0uYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dF92YWN1dW0uYwppbmRleCBlYzNkNTBjNTljLi4yYmI0NGRhNTEwIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfdmFjdXVtLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jCkBAIC0zOCw2ICszOCwxMSBA QCBib29sCQlwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3NfZm9yX3JlbGF0aW9ucyA9 IGZhbHNlOwogc3RhdGljIHZvaWQKIHBnc3RhdF9hY2N1bXVsYXRlX2NvbW1vbihQZ1N0YXRf Q29tbW9uQ291bnRzICpkc3QsIGNvbnN0IFBnU3RhdF9Db21tb25Db3VudHMgKnNyYykKIHsK KwlBQ0NVTVVMQVRFX0ZJRUxEKHRvdGFsX2Jsa3NfcmVhZCk7CisJQUNDVU1VTEFURV9GSUVM RCh0b3RhbF9ibGtzX2hpdCk7CisJQUNDVU1VTEFURV9GSUVMRCh0b3RhbF9ibGtzX2RpcnRp ZWQpOworCUFDQ1VNVUxBVEVfRklFTEQodG90YWxfYmxrc193cml0dGVuKTsKKwogCUFDQ1VN VUxBVEVfRklFTEQod2FsX3JlY29yZHMpOwogCUFDQ1VNVUxBVEVfRklFTEQod2FsX2ZwaSk7 CiAJQUNDVU1VTEFURV9GSUVMRCh3YWxfYnl0ZXMpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdz dGF0ZnVuY3MuYwppbmRleCA2OTRmZDIyMGIwLi5lZWNhMTQwMzU0IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjM3NCw3ICsyMzc0LDcgQEAgcGdfc3RhdF9o YXZlX3N0YXRzKFBHX0ZVTkNUSU9OX0FSR1MpCiBEYXR1bQogcGdfc3RhdF9nZXRfdmFjdXVt X3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogewotI2RlZmluZSBQR19TVEFUX0dFVF9WQUNV VU1fVEFCTEVTX1NUQVRTX0NPTFMgMTUKKyNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX1RB QkxFU19TVEFUU19DT0xTIDE5CiAKIAlPaWQJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7 CiAJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpleHR2YWN1dW07CkBAIC0yNDExLDYg KzI0MTEsMTAgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdT KQogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnZtX25l d19mcm96ZW5fcGFnZXMpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzKTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi50b3Rh bF9ibGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PmNvbW1vbi50b3RhbF9ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3Nfd3JpdHRlbik7 CiAJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPmNvbW1vbi53YWxfcmVjb3Jkcyk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9mcGkpOwpAQCAtMjQzMiw3ICsyNDM2LDcg QEAgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogRGF0dW0K IHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiB7Ci0jZGVm aW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTIDYKKyNkZWZpbmUgUEdf U1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMgMTAKIAogCU9pZAkJCXJlbGlkID0g UEdfR0VUQVJHX09JRCgwKTsKIAlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKmV4dHZh Y3V1bTsKQEAgLTI0NjEsNiArMjQ2NSwxMSBAQCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhl cyhQR19GVU5DVElPTl9BUkdTKQogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPmluZGV4LnBhZ2VzX2RlbGV0ZWQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPmNvbW1vbi50dXBsZXNfZGVsZXRlZCk7CiAKKwl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxrc19yZWFkKTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxf Ymxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNv bW1vbi50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4pOworCiAJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9yZWNvcmRzKTsKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24ud2FsX2ZwaSk7 CiAJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0t PmNvbW1vbi53YWxfYnl0ZXMpOwpAQCAtMjQ4MCw3ICsyNDg5LDcgQEAgcGdfc3RhdF9nZXRf dmFjdXVtX2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykKIERhdHVtCiBwZ19zdGF0X2dldF92 YWN1dW1fZGF0YWJhc2UoUEdfRlVOQ1RJT05fQVJHUykKIHsKLSNkZWZpbmUgUEdfU1RBVF9H RVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMgNworI2RlZmluZSBQR19TVEFUX0dFVF9W QUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyAxMQogCiAJT2lkCQkJZGJpZCA9IFBHX0dFVEFS R19PSUQoMCk7CiAJUGdTdGF0X1ZhY3V1bURCQ291bnRzICpleHR2YWN1dW07CkBAIC0yNTA0 LDYgKzI1MTMsMTEgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKFBHX0ZVTkNUSU9O X0FSR1MpCiAKIAl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZXh0dmFjdXVtLT5lcnJv cnMpOwogCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9u LnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxrc19kaXJ0aWVkKTsKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxrc193cml0 dGVuKTsKKwogCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPmNvbW1v bi53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKIAogCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi53YWxfcmVjb3Jkcyk7CmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19wcm9jLmRhdAppbmRleCBkMmZiMWI0ZWMwLi43MThiYTgwYTNhIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQKQEAgLTEyNjQzLDkgKzEyNjQzLDkgQEAKICAgcHJvbmFtZSA9PiAn cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcycsIHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRp bGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLCBwcm9pc3N0cmljdCA9PiAnZics CiAgIHByb3JldHNldCA9PiAndCcsCiAgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9h bGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ0LGludDgsaW50OCxudW1lcmljfScsCi0gIHByb2Fy Z21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAotICBwcm9h cmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCxwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQs dHVwbGVzX2RlbGV0ZWQsdHVwbGVzX2Zyb3plbixyZWNlbnRseV9kZWFkX3R1cGxlcyxtaXNz ZWRfZGVhZF9wYWdlcyxtaXNzZWRfZGVhZF90dXBsZXMsdm1fbmV3X2Zyb3plbl9wYWdlcyx2 bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsd3JhcGFy b3VuZF9mYWlsc2FmZSx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlc30nLAorICBwcm9h bGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDQsaW50OCxpbnQ4 LG51bWVyaWN9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQs cGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHR1cGxlc19kZWxldGVkLHR1cGxlc19mcm96 ZW4scmVjZW50bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfcGFnZXMsbWlzc2VkX2RlYWRf dHVwbGVzLHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzLHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0 b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHdyYXBhcm91bmRfZmFpbHNh ZmUsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXN9JywKICAgcHJvc3JjID0+ICdwZ19z dGF0X2dldF92YWN1dW1fdGFibGVzJyB9CiAKICMgb2lkOCByZWxhdGVkIGZ1bmN0aW9ucwpA QCAtMTI3MTgsMTcgKzEyNzE4LDE3IEBACiAgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Zh Y3V1bV9pbmRleGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHBy b3JldHR5cGUgPT4gJ3JlY29yZCcsIHByb2lzc3RyaWN0ID0+ICdmJywKICAgcHJvcmV0c2V0 ID0+ICd0JywKICAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCi0gIHByb2FsbGFyZ3R5cGVzID0+ ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWN9JywKLSAgcHJvYXJnbW9k ZXMgPT4gJ3tpLG8sbyxvLG8sbyxvfScsCi0gIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJl bGlkLHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQsd2FsX3JlY29yZHMsd2FsX2ZwaSx3 YWxfYnl0ZXN9JywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljfScsCisgIHByb2FyZ21vZGVz ID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7cmVs b2lkLHJlbGlkLHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQsdG90YWxfYmxrc19yZWFk LHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4s d2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXN9JywKICAgcHJvc3JjID0+ICdwZ19zdGF0 X2dldF92YWN1dW1faW5kZXhlcycgfSwKIHsgb2lkID0+ICc4MDA1JywKICAgZGVzY3IgPT4g J3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZSByZXR1cm5zIHZhY3V1bSBzdGF0cyB2YWx1 ZXMgZm9yIGRhdGFiYXNlJywKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2Rh dGFiYXNlJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5 cGUgPT4gJ3JlY29yZCcsIHByb2lzc3RyaWN0ID0+ICdmJywKICAgcHJvcmV0c2V0ID0+ICd0 JywKICAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCi0gIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lk LG9pZCxpbnQ0LGludDQsaW50OCxpbnQ4LG51bWVyaWMsaW50NH0nLAotICBwcm9hcmdtb2Rl cyA9PiAne2ksbyxvLG8sbyxvLG8sb30nLAotICBwcm9hcmduYW1lcyA9PiAne2RiaWQsZGJv aWQsZXJyb3JzLHdyYXBhcm91bmRfZmFpbHNhZmUsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxf Ynl0ZXMsaW50ZXJydXB0c19jb3VudH0nLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxv aWQsaW50NCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDQsaW50OCxpbnQ4LG51bWVyaWMsaW50 NH0nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisg IHByb2FyZ25hbWVzID0+ICd7ZGJpZCxkYm9pZCxlcnJvcnMsZGJfYmxrc19yZWFkLGRiX2Js a3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4sd3JhcGFyb3Vu ZF9mYWlsc2FmZSx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxpbnRlcnJ1cHRzX2Nv dW50fScsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlJyB9LAog XQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0 YXQuaAppbmRleCBiY2M4NGRiZDQxLi45MmY4YjliOGVjIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTc1LDYgKzE3 NSwxMiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVDb3VudHMKIAogdHlwZWRlZiBz dHJ1Y3QgUGdTdGF0X0NvbW1vbkNvdW50cwogeworCS8qIGJsb2NrcyAqLworCWludDY0CQl0 b3RhbF9ibGtzX3JlYWQ7CisJaW50NjQJCXRvdGFsX2Jsa3NfaGl0OworCWludDY0CQl0b3Rh bF9ibGtzX2RpcnRpZWQ7CisJaW50NjQJCXRvdGFsX2Jsa3Nfd3JpdHRlbjsKKwogCS8qIFdB TCAqLwogCWludDY0CQl3YWxfcmVjb3JkczsKIAlpbnQ2NAkJd2FsX2ZwaTsKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggMjdhMTdlZTBjMi4uMmI4NzkxOTJhYSAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTI0MjQsMTMgKzI0MjQs MTcgQEAgcGdfc3RhdF91c2VyX3RhYmxlc3wgU0VMRUNUIHJlbGlkLAogcGdfc3RhdF92YWN1 dW1fZGF0YWJhc2V8IFNFTEVDVCBkLm9pZCBBUyBkYm9pZCwKICAgICBkLmRhdG5hbWUgQVMg ZGJuYW1lLAogICAgIHMuZXJyb3JzLAorICAgIHMuZGJfYmxrc19yZWFkLAorICAgIHMuZGJf Ymxrc19oaXQsCisgICAgcy50b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgcy50b3RhbF9ibGtz X3dyaXR0ZW4sCiAgICAgcy53cmFwYXJvdW5kX2ZhaWxzYWZlLAogICAgIHMud2FsX3JlY29y ZHMsCiAgICAgcy53YWxfZnBpLAogICAgIHMud2FsX2J5dGVzLAogICAgIHMuaW50ZXJydXB0 c19jb3VudAogICAgRlJPTSBwZ19kYXRhYmFzZSBkLAotICAgIExBVEVSQUwgcGdfc3RhdF9n ZXRfdmFjdXVtX2RhdGFiYXNlKGQub2lkKSBzKGRib2lkLCBlcnJvcnMsIHdyYXBhcm91bmRf ZmFpbHNhZmUsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGludGVycnVwdHNf Y291bnQpOworICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKGQub2lk KSBzKGRib2lkLCBlcnJvcnMsIGRiX2Jsa3NfcmVhZCwgZGJfYmxrc19oaXQsIHRvdGFsX2Js a3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCB3cmFwYXJvdW5kX2ZhaWxzYWZlLCB3 YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBpbnRlcnJ1cHRzX2NvdW50KTsKIHBn X3N0YXRfdmFjdXVtX2luZGV4ZXN8IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKICAgICBpLm9p ZCBBUyBpbmRleHJlbGlkLAogICAgIG4ubnNwbmFtZSBBUyBzY2hlbWFuYW1lLApAQCAtMjQz OCw2ICsyNDQyLDEwIEBAIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXN8IFNFTEVDVCBjLm9pZCBB UyByZWxpZCwKICAgICBpLnJlbG5hbWUgQVMgaW5kZXhyZWxuYW1lLAogICAgIHMucGFnZXNf ZGVsZXRlZCwKICAgICBzLnR1cGxlc19kZWxldGVkLAorICAgIHMudG90YWxfYmxrc19yZWFk LAorICAgIHMudG90YWxfYmxrc19oaXQsCisgICAgcy50b3RhbF9ibGtzX2RpcnRpZWQsCisg ICAgcy50b3RhbF9ibGtzX3dyaXR0ZW4sCiAgICAgcy53YWxfcmVjb3JkcywKICAgICBzLndh bF9mcGksCiAgICAgcy53YWxfYnl0ZXMKQEAgLTI0NDUsNyArMjQ1Myw3IEBAIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXN8IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKICAgICAgSk9JTiBwZ19p bmRleCB4IE9OICgoYy5vaWQgPSB4LmluZHJlbGlkKSkpCiAgICAgIEpPSU4gcGdfY2xhc3Mg aSBPTiAoKGkub2lkID0geC5pbmRleHJlbGlkKSkpCiAgICAgIExFRlQgSk9JTiBwZ19uYW1l c3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSksCi0gICAgTEFURVJBTCBw Z19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhpLm9pZCkgcyhyZWxpZCwgcGFnZXNfZGVsZXRl ZCwgdHVwbGVzX2RlbGV0ZWQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMpCisg ICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhpLm9pZCkgcyhyZWxpZCwg cGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxf Ymxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCB3YWxf cmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzKQogICBXSEVSRSAoYy5yZWxraW5kID0gQU5Z IChBUlJBWVsncic6OiJjaGFyIiwgJ3QnOjoiY2hhciIsICdtJzo6ImNoYXIiXSkpOwogcGdf c3RhdF92YWN1dW1fdGFibGVzfCBTRUxFQ1Qgbi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCiAg ICAgYy5yZWxuYW1lLApAQCAtMjQ2MCwxMyArMjQ2OCwxNyBAQCBwZ19zdGF0X3ZhY3V1bV90 YWJsZXN8IFNFTEVDVCBuLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgICBzLnZtX25ld19m cm96ZW5fcGFnZXMsCiAgICAgcy52bV9uZXdfdmlzaWJsZV9wYWdlcywKICAgICBzLnZtX25l d192aXNpYmxlX2Zyb3plbl9wYWdlcywKKyAgICBzLnRvdGFsX2Jsa3NfcmVhZCwKKyAgICBz LnRvdGFsX2Jsa3NfaGl0LAorICAgIHMudG90YWxfYmxrc19kaXJ0aWVkLAorICAgIHMudG90 YWxfYmxrc193cml0dGVuLAogICAgIHMud3JhcGFyb3VuZF9mYWlsc2FmZSwKICAgICBzLndh bF9yZWNvcmRzLAogICAgIHMud2FsX2ZwaSwKICAgICBzLndhbF9ieXRlcwogICAgRlJPTSAo cGdfY2xhc3MgYwogICAgICBKT0lOIHBnX25hbWVzcGFjZSBuIE9OICgobi5vaWQgPSBjLnJl bG5hbWVzcGFjZSkpKSwKLSAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMo Yy5vaWQpIHMocmVsaWQsIHBhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHR1cGxlc19k ZWxldGVkLCB0dXBsZXNfZnJvemVuLCByZWNlbnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2Rl YWRfcGFnZXMsIG1pc3NlZF9kZWFkX3R1cGxlcywgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1f bmV3X3Zpc2libGVfcGFnZXMsIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgd3JhcGFy b3VuZF9mYWlsc2FmZSwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcykKKyAgICBM QVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoYy5vaWQpIHMocmVsaWQsIHBhZ2Vz X3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVu LCByZWNlbnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2RlYWRfcGFnZXMsIG1pc3NlZF9kZWFk X3R1cGxlcywgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHZt X25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtz X2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHdyYXBhcm91 bmRfZmFpbHNhZmUsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMpCiAgIFdIRVJF IChjLnJlbGtpbmQgPSBBTlkgKEFSUkFZWydyJzo6ImNoYXIiLCAndCc6OiJjaGFyIiwgJ20n OjoiY2hhciJdKSk7CiBwZ19zdGF0X3dhbHwgU0VMRUNUIHdhbF9yZWNvcmRzLAogICAgIHdh bF9mcGksCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9z dGF0cy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9zdGF0cy5vdXQK aW5kZXggYzk5NjY5OTgwNC4uODdmNDljYjc2YyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC92YWN1dW1fc3RhdHMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91dApAQCAtMTIzLDYgKzEyMywyMSBAQCBTRUxFQ1Qg dm1fbmV3X3Zpc2libGVfcGFnZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLAogKDEg cm93KQogCiBEUk9QIFRBQkxFIHZhY3N0YXRfZnJ6OworLS0gdG90YWwgYnVmZmVyIGFjY2Vz cyBjb3VudGVycy4gIFRoZSB2YWN1dW0gYWx3YXlzIHRvdWNoZXMgdGhlIHRhYmxlJ3MgcGFn ZXMKKy0tIHRocm91Z2ggdGhlIGJ1ZmZlciBjYWNoZSAodG90YWxfYmxrc19oaXQgPiAwKSBh bmQgZGlydGllcyBzb21lIG9mIHRoZW0gd2hpbGUKKy0tIHJlbW92aW5nIGRlYWQgdHVwbGVz ICh0b3RhbF9ibGtzX2RpcnRpZWQgPiAwKS4gIHRvdGFsX2Jsa3NfcmVhZCBhbmQKKy0tIHRv dGFsX2Jsa3Nfd3JpdHRlbiBkZXBlbmQgb24gdGhlIGJ1ZmZlci1jYWNoZSBhbmQgY2hlY2tw b2ludCBzdGF0ZSBhdCBydW4KKy0tIHRpbWUsIHNvIHRoZXkgYXJlIG9ubHkgY2hlY2tlZCBm b3IgYmVpbmcgbm9uLW5lZ2F0aXZlLgorU0VMRUNUIHRvdGFsX2Jsa3NfcmVhZCA+PSAwIEFT IHRvdGFsX2Jsa3NfcmVhZCwKKyAgICAgICB0b3RhbF9ibGtzX2hpdCA+IDAgQVMgdG90YWxf Ymxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtz X2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID49IDAgQVMgdG90YWxfYmxr c193cml0dGVuCisgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUg PSAndmFjc3RhdF90JzsKKyB0b3RhbF9ibGtzX3JlYWQgfCB0b3RhbF9ibGtzX2hpdCB8IHRv dGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiAKKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyB0ICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQgICAgICAg ICAgICAgICAgICB8IHQKKygxIHJvdykKKwogLS0gV0FMIG1ldHJpY3MuICBBIHZhY3V1bSB0 aGF0IHJlbW92ZXMgdHVwbGVzIGFsd2F5cyBlbWl0cyBXQUwKIC0tICh3YWxfcmVjb3JkcyA+ IDAsIHdhbF9ieXRlcyA+IDApLiAgd2FsX2ZwaSBkZXBlbmRzIG9uIHdoZXRoZXIgYSBjaGVj a3BvaW50CiAtLSBoYXBwZW5lZCByZWNlbnRseSwgc28gaXQgaXMgb25seSBjaGVja2VkIGZv ciBiZWluZyBub24tbmVnYXRpdmUgaGVyZTsgdGhlCkBAIC0xNzQsMTcgKzE4OSwyMyBAQCBT RUxFQ1Qgd3JhcGFyb3VuZF9mYWlsc2FmZSA9IDAgQVMgd3JhcGFyb3VuZF9mYWlsc2FmZQog CiAtLSBwZXItaW5kZXggdmlldzogdGhlIHByaW1hcnkga2V5IGluZGV4IGlzIHByb2Nlc3Nl ZCBieSB0aGUgc2FtZSBWQUNVVU0uCiAtLSBObyBidHJlZSBsZWFmIGVtcHRpZXMgb3V0IChp bnRlcmxlYXZlZCBkZWxldGlvbnMpLCBzbyBwYWdlc19kZWxldGVkID0gMCwKLS0tIHdoaWxl IGV2ZXJ5IGluZGV4IGVudHJ5IGZvciBhIHJlbW92ZWQgaGVhcCB0dXBsZSBpcyBkZWxldGVk LgorLS0gd2hpbGUgZXZlcnkgaW5kZXggZW50cnkgZm9yIGEgcmVtb3ZlZCBoZWFwIHR1cGxl IGlzIGRlbGV0ZWQuICBUaGUgaW5kZXggaXMKKy0tIHJlYWQgdGhyb3VnaCB0aGUgYnVmZmVy IGNhY2hlICh0b3RhbF9ibGtzX2hpdCA+IDApOyB0aGUgcmVhZC93cml0dGVuL2RpcnRpZWQK Ky0tIGNvdW50ZXJzIGRlcGVuZCBvbiBydW4tdGltZSBjYWNoZSBzdGF0ZS4KIFNFTEVDVCBp bmRleHJlbG5hbWUsCiAgICAgICAgcGFnZXNfZGVsZXRlZCA9IDAgQVMgcGFnZXNfZGVsZXRl ZCwKICAgICAgICB0dXBsZXNfZGVsZXRlZCA9IDUwMCBBUyB0dXBsZXNfZGVsZXRlZCwKKyAg ICAgICB0b3RhbF9ibGtzX3JlYWQgPj0gMCBBUyB0b3RhbF9ibGtzX3JlYWQsCisgICAgICAg dG90YWxfYmxrc19oaXQgPiAwIEFTIHRvdGFsX2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Js a3NfZGlydGllZCA+PSAwIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICB0b3RhbF9i bGtzX3dyaXR0ZW4gPj0gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCiAgICAgICAgd2FsX3Jl Y29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAogICAgICAgIHdhbF9mcGkgPj0gMCBBUyB3YWxf ZnBpLAogICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzCiAgIEZST00gcGdfc3Rh dF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3ZhY3N0YXRfdCcgT1JERVIgQlkg aW5kZXhyZWxuYW1lOwotICBpbmRleHJlbG5hbWUgIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxl c19kZWxldGVkIHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIAotLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLQotIHZhY3N0YXRfdF9wa2V5IHwgdCAgICAgICAg ICAgICB8IHQgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgIHwgdAorICBp bmRleHJlbG5hbWUgIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIHwgdG90YWxf Ymxrc19yZWFkIHwgdG90YWxfYmxrc19oaXQgfCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3Rh bF9ibGtzX3dyaXR0ZW4gfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgCist LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyB2YWNzdGF0X3RfcGtleSB8IHQgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQg ICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwg dCAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgIHwgdAogKDEgcm93 KQogCiAtLSBpbmRleCBwYWdlLWRlbGV0aW9uIHBhdGg6IGRlbGV0aW5nIGEgY29udGlndW91 cyBrZXkgcmFuZ2UgZW1wdGllcyB3aG9sZQpAQCAtMjE5LDE2ICsyNDAsMjEgQEAgU0VMRUNU IGluZGV4cmVsbmFtZSwKIAogRFJPUCBUQUJMRSB2YWNzdGF0X2lkeGRlbDsKIC0tIHBlci1k YXRhYmFzZSBhZ2dyZWdhdGUgdmlldzogbm8gdmFjdXVtIGVycm9ycyBvY2N1cnJlZCBpbiB0 aGlzIGRhdGFiYXNlLCBhbmQKLS0tIHRoZSB2YWN1dW1zIGluIHRoaXMgZGF0YWJhc2UgZW1p dCBXQUwgKHdhbF9yZWNvcmRzID4gMCkuCistLSB0aGUgdmFjdXVtcyBpbiB0aGlzIGRhdGFi YXNlIHRvdWNoZWQgcGFnZXMgdGhyb3VnaCB0aGUgYnVmZmVyIGNhY2hlCistLSAoZGJfYmxr c19oaXQgPiAwKSBhbmQgZW1pdCBXQUwgKHdhbF9yZWNvcmRzID4gMCkuCiBTRUxFQ1QgZXJy b3JzID0gMCBBUyBlcnJvcnMsCisgICAgICAgZGJfYmxrc19yZWFkID49IDAgQVMgZGJfYmxr c19yZWFkLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9ibGtzX2hpdCwKKyAgICAg ICB0b3RhbF9ibGtzX2RpcnRpZWQgPj0gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAg ICAgdG90YWxfYmxrc193cml0dGVuID49IDAgQVMgdG90YWxfYmxrc193cml0dGVuLAogICAg ICAgIHdyYXBhcm91bmRfZmFpbHNhZmUgPSAwIEFTIHdyYXBhcm91bmRfZmFpbHNhZmUsCiAg ICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAogICAgICAgIHdhbF9mcGkg Pj0gMCBBUyB3YWxfZnBpLAogICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzCiAg IEZST00gcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UgV0hFUkUgZGJuYW1lID0gY3VycmVudF9k YXRhYmFzZSgpOwotIGVycm9ycyB8IHdyYXBhcm91bmRfZmFpbHNhZmUgfCB3YWxfcmVjb3Jk cyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgCi0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0KLSB0ICAgICAgfCB0ICAg ICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgIHwgdAorIGVycm9ycyB8 IGRiX2Jsa3NfcmVhZCB8IGRiX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwgdG90 YWxfYmxrc193cml0dGVuIHwgd3JhcGFyb3VuZF9mYWlsc2FmZSB8IHdhbF9yZWNvcmRzIHwg d2FsX2ZwaSB8IHdhbF9ieXRlcyAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg dCAgICAgIHwgdCAgICAgICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAg ICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgIHwgdCAgICAg ICAgICAgfCB0ICAgICAgIHwgdAogKDEgcm93KQogCiAtLSBwYXJhbGxlbCBpbmRleCB2YWN1 dW06IGluZGV4IHN0YXRpc3RpY3MgbXVzdCBiZSBjYXB0dXJlZCBmb3IgaW5kZXhlcwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3N0YXRzLnNxbCBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwKaW5kZXggZjEwNmI3YzM3Yi4uNmUz NjRkMTgzYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3N0YXRz LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fc3RhdHMuc3FsCkBAIC04 MSw2ICs4MSwxNyBAQCBTRUxFQ1Qgdm1fbmV3X3Zpc2libGVfcGFnZXMgPiAwIEFTIHZtX25l d192aXNpYmxlX3BhZ2VzLAogICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSBy ZWxuYW1lID0gJ3ZhY3N0YXRfZnJ6JzsKIERST1AgVEFCTEUgdmFjc3RhdF9mcno7CiAKKy0t IHRvdGFsIGJ1ZmZlciBhY2Nlc3MgY291bnRlcnMuICBUaGUgdmFjdXVtIGFsd2F5cyB0b3Vj aGVzIHRoZSB0YWJsZSdzIHBhZ2VzCistLSB0aHJvdWdoIHRoZSBidWZmZXIgY2FjaGUgKHRv dGFsX2Jsa3NfaGl0ID4gMCkgYW5kIGRpcnRpZXMgc29tZSBvZiB0aGVtIHdoaWxlCistLSBy ZW1vdmluZyBkZWFkIHR1cGxlcyAodG90YWxfYmxrc19kaXJ0aWVkID4gMCkuICB0b3RhbF9i bGtzX3JlYWQgYW5kCistLSB0b3RhbF9ibGtzX3dyaXR0ZW4gZGVwZW5kIG9uIHRoZSBidWZm ZXItY2FjaGUgYW5kIGNoZWNrcG9pbnQgc3RhdGUgYXQgcnVuCistLSB0aW1lLCBzbyB0aGV5 IGFyZSBvbmx5IGNoZWNrZWQgZm9yIGJlaW5nIG5vbi1uZWdhdGl2ZS4KK1NFTEVDVCB0b3Rh bF9ibGtzX3JlYWQgPj0gMCBBUyB0b3RhbF9ibGtzX3JlYWQsCisgICAgICAgdG90YWxfYmxr c19oaXQgPiAwIEFTIHRvdGFsX2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGll ZCA+IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRl biA+PSAwIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbgorICBGUk9NIHBnX3N0YXRfdmFjdXVtX3Rh YmxlcyBXSEVSRSByZWxuYW1lID0gJ3ZhY3N0YXRfdCc7CisKIC0tIFdBTCBtZXRyaWNzLiAg QSB2YWN1dW0gdGhhdCByZW1vdmVzIHR1cGxlcyBhbHdheXMgZW1pdHMgV0FMCiAtLSAod2Fs X3JlY29yZHMgPiAwLCB3YWxfYnl0ZXMgPiAwKS4gIHdhbF9mcGkgZGVwZW5kcyBvbiB3aGV0 aGVyIGEgY2hlY2twb2ludAogLS0gaGFwcGVuZWQgcmVjZW50bHksIHNvIGl0IGlzIG9ubHkg Y2hlY2tlZCBmb3IgYmVpbmcgbm9uLW5lZ2F0aXZlIGhlcmU7IHRoZQpAQCAtMTE1LDEwICsx MjYsMTYgQEAgU0VMRUNUIHdyYXBhcm91bmRfZmFpbHNhZmUgPSAwIEFTIHdyYXBhcm91bmRf ZmFpbHNhZmUKIAogLS0gcGVyLWluZGV4IHZpZXc6IHRoZSBwcmltYXJ5IGtleSBpbmRleCBp cyBwcm9jZXNzZWQgYnkgdGhlIHNhbWUgVkFDVVVNLgogLS0gTm8gYnRyZWUgbGVhZiBlbXB0 aWVzIG91dCAoaW50ZXJsZWF2ZWQgZGVsZXRpb25zKSwgc28gcGFnZXNfZGVsZXRlZCA9IDAs Ci0tLSB3aGlsZSBldmVyeSBpbmRleCBlbnRyeSBmb3IgYSByZW1vdmVkIGhlYXAgdHVwbGUg aXMgZGVsZXRlZC4KKy0tIHdoaWxlIGV2ZXJ5IGluZGV4IGVudHJ5IGZvciBhIHJlbW92ZWQg aGVhcCB0dXBsZSBpcyBkZWxldGVkLiAgVGhlIGluZGV4IGlzCistLSByZWFkIHRocm91Z2gg dGhlIGJ1ZmZlciBjYWNoZSAodG90YWxfYmxrc19oaXQgPiAwKTsgdGhlIHJlYWQvd3JpdHRl bi9kaXJ0aWVkCistLSBjb3VudGVycyBkZXBlbmQgb24gcnVuLXRpbWUgY2FjaGUgc3RhdGUu CiBTRUxFQ1QgaW5kZXhyZWxuYW1lLAogICAgICAgIHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBh Z2VzX2RlbGV0ZWQsCiAgICAgICAgdHVwbGVzX2RlbGV0ZWQgPSA1MDAgQVMgdHVwbGVzX2Rl bGV0ZWQsCisgICAgICAgdG90YWxfYmxrc19yZWFkID49IDAgQVMgdG90YWxfYmxrc19yZWFk LAorICAgICAgIHRvdGFsX2Jsa3NfaGl0ID4gMCBBUyB0b3RhbF9ibGtzX2hpdCwKKyAgICAg ICB0b3RhbF9ibGtzX2RpcnRpZWQgPj0gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAg ICAgdG90YWxfYmxrc193cml0dGVuID49IDAgQVMgdG90YWxfYmxrc193cml0dGVuLAogICAg ICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKICAgICAgICB3YWxfZnBpID49 IDAgQVMgd2FsX2ZwaSwKICAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRlcwpAQCAt MTQyLDggKzE1OSwxMyBAQCBTRUxFQ1QgaW5kZXhyZWxuYW1lLAogRFJPUCBUQUJMRSB2YWNz dGF0X2lkeGRlbDsKIAogLS0gcGVyLWRhdGFiYXNlIGFnZ3JlZ2F0ZSB2aWV3OiBubyB2YWN1 dW0gZXJyb3JzIG9jY3VycmVkIGluIHRoaXMgZGF0YWJhc2UsIGFuZAotLS0gdGhlIHZhY3V1 bXMgaW4gdGhpcyBkYXRhYmFzZSBlbWl0IFdBTCAod2FsX3JlY29yZHMgPiAwKS4KKy0tIHRo ZSB2YWN1dW1zIGluIHRoaXMgZGF0YWJhc2UgdG91Y2hlZCBwYWdlcyB0aHJvdWdoIHRoZSBi dWZmZXIgY2FjaGUKKy0tIChkYl9ibGtzX2hpdCA+IDApIGFuZCBlbWl0IFdBTCAod2FsX3Jl Y29yZHMgPiAwKS4KIFNFTEVDVCBlcnJvcnMgPSAwIEFTIGVycm9ycywKKyAgICAgICBkYl9i bGtzX3JlYWQgPj0gMCBBUyBkYl9ibGtzX3JlYWQsCisgICAgICAgZGJfYmxrc19oaXQgPiAw IEFTIGRiX2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+PSAwIEFTIHRv dGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPj0gMCBBUyB0 b3RhbF9ibGtzX3dyaXR0ZW4sCiAgICAgICAgd3JhcGFyb3VuZF9mYWlsc2FmZSA9IDAgQVMg d3JhcGFyb3VuZF9mYWlsc2FmZSwKICAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3Jl Y29yZHMsCiAgICAgICAgd2FsX2ZwaSA+PSAwIEFTIHdhbF9mcGksCi0tIAoyLjM5LjUgKEFw cGxlIEdpdC0xNTQpCgo= --------------iWaNFCp60Ha1jovLeWGuqq8d Content-Type: text/plain; charset=UTF-8; name="0008-Extended-vacuum-statistics-per-relation-buffer-acces.patch" Content-Disposition: attachment; filename*0="0008-Extended-vacuum-statistics-per-relation-buffer-acces.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2OTA1NTYwNTNmM2FiY2U5YjkxYWJlZDdmZjI5ZTMwOWRmYmM4ZWQ2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YWxlbmthLnJ5YmFraW5h QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxNyBKdW4gMjAyNiAyMTo0OToxOCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggOC85XSBFeHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljczogcGVyLXJlbGF0 aW9uIGJ1ZmZlciBhY2Nlc3MKIGZvciB0YWJsZXMgYW5kIGluZGV4ZXMKCkV4cG9zZSB0aGUg cGVyLXJlbGF0aW9uIGJ1ZmZlciBhY2Nlc3MgY291bnRlcnMgaW4gcGdfc3RhdF92YWN1dW1f dGFibGVzIGFuZApwZ19zdGF0X3ZhY3V1bV9pbmRleGVzLCB3aXRoIGRvY3VtZW50YXRpb24g YW5kIHJlZ3Jlc3Npb24gY292ZXJhZ2U6CgogIHJlbF9ibGtzX3JlYWQgIHRoaXMgcmVsYXRp b24ncyBibG9ja3MgcmVhZCBmcm9tIGRpc2sgYnkgdGhlIHZhY3V1bQogIHJlbF9ibGtzX2hp dCAgIHRoaXMgcmVsYXRpb24ncyBibG9ja3MgZm91bmQgaW4gc2hhcmVkIGJ1ZmZlcnMKClVu bGlrZSB0b3RhbF9ibGtzXyosIHdoaWNoIGNvdW50IGFsbCBzaGFyZWQtYnVmZmVyIGFjY2Vz cyBkdXJpbmcgdGhlIHZhY3V1bSwKdGhlc2UgYXJlIHJlc3RyaWN0ZWQgdG8gdGhlIHRhcmdl dCByZWxhdGlvbidzIG93biBibG9ja3MuCi0tLQogZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3 cy5zZ21sICAgICAgICAgICAgIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKwogc3JjL2Jh Y2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICAgICAgIHwgMjggKysrKysrKysrKysr KysrKysrKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICAgICAgIHwg IDQgKysrCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfdmFjdXVtLmMgfCAg MyArKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgIHwgIDkg KysrKy0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgfCAx MiArKysrLS0tLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAg IHwgIDQgKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAg fCAgOCArKysrLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91 dCB8IDE4ICsrKysrKysrKystLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3N0YXRz LnNxbCAgICAgIHwgIDggKysrKysrCiAxMCBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5zZXJ0aW9u cygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3N5c3Rl bS12aWV3cy5zZ21sIGIvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCmluZGV4IGYz N2EzYjY0YzEuLjJhOTM4OTZkNWQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0t dmlld3Muc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTU5 NDgsNiArNTk0OCwyMiBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xvY2tzIHBsIExFRlQgSk9JTiBw Z19wcmVwYXJlZF94YWN0cyBwcHgKICAgICAgICBOdW1iZXIgb2Ygc2hhcmVkIGJ1ZmZlciBi bG9ja3Mgd3JpdHRlbiBvdXQgYnkgdGhlIHZhY3V1bS4KICAgICAgIDwvcGFyYT48L2VudHJ5 PgogICAgICA8L3Jvdz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPnJlbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOdW1iZXIgb2Yg dGhpcyByZWxhdGlvbidzIGJsb2NrcyByZWFkIGZyb20gZGlzayBieSB0aGUgdmFjdXVtLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfaGl0PC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgTnVtYmVyIG9mIHRoaXMgcmVsYXRpb24ncyBibG9ja3MgZm91bmQgaW4gc2hh cmVkIGJ1ZmZlcnMgYnkgdGhlIHZhY3V1bS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KICAgICAgPHJvdz4KICAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CiAgICAgICAgPHN0cnVj dGZpZWxkPndyYXBhcm91bmRfZmFpbHNhZmU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnRlZ2Vy PC90eXBlPgpAQCAtNjEwMyw2ICs2MTE5LDIyIEBAIFNFTEVDVCAqIEZST00gcGdfbG9ja3Mg cGwgTEVGVCBKT0lOIHBnX3ByZXBhcmVkX3hhY3RzIHBweAogICAgICAgIE51bWJlciBvZiBz aGFyZWQgYnVmZmVyIGJsb2NrcyB3cml0dGVuIG91dCB3aGlsZSB2YWN1dW1pbmcgdGhlIGlu ZGV4LgogICAgICAgPC9wYXJhPjwvZW50cnk+CiAgICAgIDwvcm93PgorICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwv c3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgIE51bWJlciBvZiBibG9ja3Mgb2YgdGhpcyBpbmRleCByZWFkIGZy b20gZGlzayBieSB0aGUgdmFjdXVtLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIGJsb2NrIGhpdHMg d2l0aGluIHRoaXMgaW5kZXggZHVyaW5nIHRoZSB2YWN1dW0uCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CiAgICAgIDxyb3c+CiAgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgogICAg ICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVjb3Jkczwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2lu dDwvdHlwZT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxh enkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCAxZDZk YjJhOTFkLi42ODNiZmNmOWU4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVh cC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6 eS5jCkBAIC01MTksNiArNTE5LDE5IEBAIGV4dHZhY19zdGF0c19zdGFydChSZWxhdGlvbiBy ZWwsIExWRXh0U3RhdENvdW50ZXJzICogY291bnRlcnMpCiAKIAljb3VudGVycy0+d2FsdXNh Z2UgPSBwZ1dhbFVzYWdlOwogCWNvdW50ZXJzLT5idWZ1c2FnZSA9IHBnQnVmZmVyVXNhZ2U7 CisJY291bnRlcnMtPmJsb2Nrc19mZXRjaGVkID0gMDsKKwljb3VudGVycy0+YmxvY2tzX2hp dCA9IDA7CisKKwlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3Vu dHMpCisKKwkJLyoKKwkJICogaWYgc29tZXRoaW5nIGdvZXMgd3Jvbmcgb3IgdXNlciBkb2Vz bid0IHdhbnQgdG8gdHJhY2sgYSBkYXRhYmFzZQorCQkgKiBhY3Rpdml0eSAtIGp1c3Qgc3Vw cHJlc3MgaXQuCisJCSAqLworCQlyZXR1cm47CisKKwljb3VudGVycy0+YmxvY2tzX2ZldGNo ZWQgPSByZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQ7CisJY291bnRl cnMtPmJsb2Nrc19oaXQgPSByZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2hpdDsK IH0KIAogLyogLS0tLS0tLS0tLQpAQCAtNTU2LDYgKzU2OSwxOSBAQCBleHR2YWNfc3RhdHNf ZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKiBjb3VudGVycywKIAlyZXBv cnQtPndhbF9yZWNvcmRzICs9IHdhbHVzYWdlLndhbF9yZWNvcmRzOwogCXJlcG9ydC0+d2Fs X2ZwaSArPSB3YWx1c2FnZS53YWxfZnBpOwogCXJlcG9ydC0+d2FsX2J5dGVzICs9IHdhbHVz YWdlLndhbF9ieXRlczsKKworCWlmICghcmVsLT5wZ3N0YXRfaW5mbyB8fCAhcGdzdGF0X3Ry YWNrX2NvdW50cykKKworCQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZyBvciBh biB1c2VyIGRvZXNuJ3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFjdGl2aXR5 IC0ganVzdCBzdXBwcmVzcyBpdC4KKwkJICovCisJCXJldHVybjsKKworCXJlcG9ydC0+Ymxr c19mZXRjaGVkICs9CisJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0Y2hl ZCAtIGNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZDsKKwlyZXBvcnQtPmJsa3NfaGl0ICs9CisJ CXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nr c19oaXQ7CiB9CiAKIHZvaWQKQEAgLTY4NSw2ICs3MTEsOCBAQCBleHR2YWNfYWNjdW11bGF0 ZV9pZHhfcmVwb3J0KFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqIGRzdCwKIAlkc3Qt PmNvbW1vbi50b3RhbF9ibGtzX2hpdCArPSBzcmMtPmNvbW1vbi50b3RhbF9ibGtzX2hpdDsK IAlkc3QtPmNvbW1vbi50b3RhbF9ibGtzX2RpcnRpZWQgKz0gc3JjLT5jb21tb24udG90YWxf Ymxrc19kaXJ0aWVkOwogCWRzdC0+Y29tbW9uLnRvdGFsX2Jsa3Nfd3JpdHRlbiArPSBzcmMt PmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW47CisJZHN0LT5jb21tb24uYmxrc19mZXRjaGVk ICs9IHNyYy0+Y29tbW9uLmJsa3NfZmV0Y2hlZDsKKwlkc3QtPmNvbW1vbi5ibGtzX2hpdCAr PSBzcmMtPmNvbW1vbi5ibGtzX2hpdDsKIAlkc3QtPmNvbW1vbi53YWxfcmVjb3JkcyArPSBz cmMtPmNvbW1vbi53YWxfcmVjb3JkczsKIAlkc3QtPmNvbW1vbi53YWxfZnBpICs9IHNyYy0+ Y29tbW9uLndhbF9mcGk7CiAJZHN0LT5jb21tb24ud2FsX2J5dGVzICs9IHNyYy0+Y29tbW9u LndhbF9ieXRlczsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCAx ZWU3NGY5MjczLi5kMGE1OGYyMjFjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9n L3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsCkBAIC0xNTgwLDYgKzE1ODAsOCBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgQVMKICAgICAgICAgUy50b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hp dCwKICAgICAgICAgUy50b3RhbF9ibGtzX2RpcnRpZWQgQVMgdG90YWxfYmxrc19kaXJ0aWVk LAogICAgICAgICBTLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4s CisgICAgICAgIFMucmVsX2Jsa3NfcmVhZCBBUyByZWxfYmxrc19yZWFkLAorICAgICAgICBT LnJlbF9ibGtzX2hpdCBBUyByZWxfYmxrc19oaXQsCiAgICAgICAgIFMud3JhcGFyb3VuZF9m YWlsc2FmZSBBUyB3cmFwYXJvdW5kX2ZhaWxzYWZlLAogICAgICAgICBTLndhbF9yZWNvcmRz IEFTIHdhbF9yZWNvcmRzLAogICAgICAgICBTLndhbF9mcGkgQVMgd2FsX2ZwaSwKQEAgLTE2 MDUsNiArMTYwNyw4IEBAIENSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgQVMK ICAgICAgICAgICAgIFMudG90YWxfYmxrc19oaXQgQVMgdG90YWxfYmxrc19oaXQsCiAgICAg ICAgICAgICBTLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCiAg ICAgICAgICAgICBTLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4s CisgICAgICAgICAgICBTLnJlbF9ibGtzX3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgICAg ICAgICAgIFMucmVsX2Jsa3NfaGl0IEFTIHJlbF9ibGtzX2hpdCwKICAgICAgICAgICAgIFMu d2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCiAgICAgICAgICAgICBTLndhbF9mcGkgQVMg d2FsX2ZwaSwKICAgICAgICAgICAgIFMud2FsX2J5dGVzIEFTIHdhbF9ieXRlcwpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jCmluZGV4IDJiYjQ0ZGE1 MTAuLmIxYzc0N2YyNTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF92YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXRfdmFjdXVtLmMKQEAgLTQzLDYgKzQzLDkgQEAgcGdzdGF0X2FjY3VtdWxhdGVfY29tbW9u KFBnU3RhdF9Db21tb25Db3VudHMgKmRzdCwgY29uc3QgUGdTdGF0X0NvbW1vbkNvdW50cyAq c3IKIAlBQ0NVTVVMQVRFX0ZJRUxEKHRvdGFsX2Jsa3NfZGlydGllZCk7CiAJQUNDVU1VTEFU RV9GSUVMRCh0b3RhbF9ibGtzX3dyaXR0ZW4pOwogCisJQUNDVU1VTEFURV9GSUVMRChibGtz X2ZldGNoZWQpOworCUFDQ1VNVUxBVEVfRklFTEQoYmxrc19oaXQpOworCiAJQUNDVU1VTEFU RV9GSUVMRCh3YWxfcmVjb3Jkcyk7CiAJQUNDVU1VTEFURV9GSUVMRCh3YWxfZnBpKTsKIAlB Q0NVTVVMQVRFX0ZJRUxEKHdhbF9ieXRlcyk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRm dW5jcy5jCmluZGV4IGVlY2ExNDAzNTQuLjc0NzNhZTFlYjYgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMzc0LDcgKzIzNzQsNyBAQCBwZ19zdGF0X2hhdmVf c3RhdHMoUEdfRlVOQ1RJT05fQVJHUykKIERhdHVtCiBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiB7Ci0jZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9U QUJMRVNfU1RBVFNfQ09MUyAxOQorI2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVT X1NUQVRTX0NPTFMgMjEKIAogCU9pZAkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKIAlQ Z1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKmV4dHZhY3V1bTsKQEAgLTI0MTUsNiArMjQx NSw4IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxr c19oaXQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1v bi50b3RhbF9ibGtzX2RpcnRpZWQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4pOworCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtzX2ZldGNoZWQgLSBleHR2YWN1 dW0tPmNvbW1vbi5ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+Y29tbW9uLmJsa3NfaGl0KTsKIAl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0 dW0oZXh0dmFjdXVtLT5jb21tb24ud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CiAJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9yZWNvcmRz KTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24ud2Fs X2ZwaSk7CkBAIC0yNDM2LDcgKzI0MzgsNyBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVz KFBHX0ZVTkNUSU9OX0FSR1MpCiBEYXR1bQogcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMo UEdfRlVOQ1RJT05fQVJHUykKIHsKLSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVY X1NUQVRTX0NPTFMgMTAKKyNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRT X0NPTFMgMTIKIAogCU9pZAkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKIAlQZ1N0YXRf VmFjdXVtUmVsYXRpb25Db3VudHMgKmV4dHZhY3V1bTsKQEAgLTI0NzAsNiArMjQ3Miw5IEBA IHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3NfZGly dGllZCk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9u LnRvdGFsX2Jsa3Nfd3JpdHRlbik7CiAKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT5jb21tb24uYmxrc19mZXRjaGVkIC0gZXh0dmFjdXVtLT5jb21tb24uYmxr c19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1v bi5ibGtzX2hpdCk7CisKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT5jb21tb24ud2FsX3JlY29yZHMpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPmNvbW1vbi53YWxfZnBpKTsKIAlzbnByaW50ZihidWYsIHNpemVvZiBidWYs IFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+Y29tbW9uLndhbF9ieXRlcyk7CmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19wcm9jLmRhdAppbmRleCA3MThiYTgwYTNhLi43NDNjZTlkZmQ2IDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEyNjQzLDkgKzEyNjQzLDkgQEAKICAgcHJvbmFt ZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcycsIHByb3Jvd3MgPT4gMTAwMCwgcHJv dm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLCBwcm9pc3N0cmljdCA9 PiAnZicsCiAgIHByb3JldHNldCA9PiAndCcsCiAgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAot ICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDQsaW50 OCxpbnQ4LG51bWVyaWN9JywKLSAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKLSAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQs cmVsaWQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHR1cGxlc19kZWxldGVkLHR1cGxl c19mcm96ZW4scmVjZW50bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfcGFnZXMsbWlzc2Vk X2RlYWRfdHVwbGVzLHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMs dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtz X2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHdyYXBhcm91bmRf ZmFpbHNhZmUsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXN9JywKKyAgcHJvYWxsYXJn dHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50NCxpbnQ4 LGludDgsbnVtZXJpY30nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxv aWQscmVsaWQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHR1cGxlc19kZWxldGVkLHR1 cGxlc19mcm96ZW4scmVjZW50bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfcGFnZXMsbWlz c2VkX2RlYWRfdHVwbGVzLHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFn ZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9i bGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtz X3JlYWQscmVsX2Jsa3NfaGl0LHdyYXBhcm91bmRfZmFpbHNhZmUsd2FsX3JlY29yZHMsd2Fs X2ZwaSx3YWxfYnl0ZXN9JywKICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzJyB9CiAKICMgb2lkOCByZWxhdGVkIGZ1bmN0aW9ucwpAQCAtMTI3MTgsOSArMTI3MTgs OSBAQAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycsIHByb3Jv d3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQn LCBwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3JldHNldCA9PiAndCcsCiAgIHByb2FyZ3R5 cGVzID0+ICdvaWQnLAotICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWN9JywKLSAgcHJvYXJnbW9k ZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKLSAgcHJvYXJnbmFtZXMgPT4gJ3ty ZWxvaWQscmVsaWQscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCx0b3RhbF9ibGtzX3Jl YWQsdG90YWxfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRl bix3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlc30nLAorICBwcm9hbGxhcmd0eXBlcyA9 PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxudW1lcmljfScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCxwYWdlc19k ZWxldGVkLHR1cGxlc19kZWxldGVkLHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0 b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQscmVs X2Jsa3NfaGl0LHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzfScsCiAgIHByb3NyYyA9 PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMnIH0sCiB7IG9pZCA9PiAnODAwNScsCiAg IGRlc2NyID0+ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UgcmV0dXJucyB2YWN1dW0g c3RhdHMgdmFsdWVzIGZvciBkYXRhYmFzZScsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9w Z3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDkyZjhiOWI4ZWMuLjE4ZmE5 YWM1YmEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9pbmNs dWRlL3Bnc3RhdC5oCkBAIC0xODEsNiArMTgxLDEwIEBAIHR5cGVkZWYgc3RydWN0IFBnU3Rh dF9Db21tb25Db3VudHMKIAlpbnQ2NAkJdG90YWxfYmxrc19kaXJ0aWVkOwogCWludDY0CQl0 b3RhbF9ibGtzX3dyaXR0ZW47CiAKKwkvKiBoZWFwIGJsb2NrcyAqLworCWludDY0CQlibGtz X2ZldGNoZWQ7CisJaW50NjQJCWJsa3NfaGl0OworCiAJLyogV0FMICovCiAJaW50NjQJCXdh bF9yZWNvcmRzOwogCWludDY0CQl3YWxfZnBpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1 bGVzLm91dAppbmRleCAyYjg3OTE5MmFhLi5jNjUwY2ZkNjY0IDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjQ0Niw2ICsyNDQ2LDggQEAgcGdfc3RhdF92YWN1 dW1faW5kZXhlc3wgU0VMRUNUIGMub2lkIEFTIHJlbGlkLAogICAgIHMudG90YWxfYmxrc19o aXQsCiAgICAgcy50b3RhbF9ibGtzX2RpcnRpZWQsCiAgICAgcy50b3RhbF9ibGtzX3dyaXR0 ZW4sCisgICAgcy5yZWxfYmxrc19yZWFkLAorICAgIHMucmVsX2Jsa3NfaGl0LAogICAgIHMu d2FsX3JlY29yZHMsCiAgICAgcy53YWxfZnBpLAogICAgIHMud2FsX2J5dGVzCkBAIC0yNDUz LDcgKzI0NTUsNyBAQCBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzfCBTRUxFQ1QgYy5vaWQgQVMg cmVsaWQsCiAgICAgIEpPSU4gcGdfaW5kZXggeCBPTiAoKGMub2lkID0geC5pbmRyZWxpZCkp KQogICAgICBKT0lOIHBnX2NsYXNzIGkgT04gKChpLm9pZCA9IHguaW5kZXhyZWxpZCkpKQog ICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIG4gT04gKChuLm9pZCA9IGMucmVsbmFtZXNw YWNlKSkpLAotICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoaS5vaWQp IHMocmVsaWQsIHBhZ2VzX2RlbGV0ZWQsIHR1cGxlc19kZWxldGVkLCB0b3RhbF9ibGtzX3Jl YWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3Jp dHRlbiwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcykKKyAgICBMQVRFUkFMIHBn X3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKGkub2lkKSBzKHJlbGlkLCBwYWdlc19kZWxldGVk LCB0dXBsZXNfZGVsZXRlZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90 YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJl bF9ibGtzX2hpdCwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcykKICAgV0hFUkUg KGMucmVsa2luZCA9IEFOWSAoQVJSQVlbJ3InOjoiY2hhciIsICd0Jzo6ImNoYXIiLCAnbSc6 OiJjaGFyIl0pKTsKIHBnX3N0YXRfdmFjdXVtX3RhYmxlc3wgU0VMRUNUIG4ubnNwbmFtZSBB UyBzY2hlbWFuYW1lLAogICAgIGMucmVsbmFtZSwKQEAgLTI0NzIsMTMgKzI0NzQsMTUgQEAg cGdfc3RhdF92YWN1dW1fdGFibGVzfCBTRUxFQ1Qgbi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUs CiAgICAgcy50b3RhbF9ibGtzX2hpdCwKICAgICBzLnRvdGFsX2Jsa3NfZGlydGllZCwKICAg ICBzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzLnJlbF9ibGtzX3JlYWQsCisgICAgcy5y ZWxfYmxrc19oaXQsCiAgICAgcy53cmFwYXJvdW5kX2ZhaWxzYWZlLAogICAgIHMud2FsX3Jl Y29yZHMsCiAgICAgcy53YWxfZnBpLAogICAgIHMud2FsX2J5dGVzCiAgICBGUk9NIChwZ19j bGFzcyBjCiAgICAgIEpPSU4gcGdfbmFtZXNwYWNlIG4gT04gKChuLm9pZCA9IGMucmVsbmFt ZXNwYWNlKSkpLAotICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhjLm9p ZCkgcyhyZWxpZCwgcGFnZXNfc2Nhbm5lZCwgcGFnZXNfcmVtb3ZlZCwgdHVwbGVzX2RlbGV0 ZWQsIHR1cGxlc19mcm96ZW4sIHJlY2VudGx5X2RlYWRfdHVwbGVzLCBtaXNzZWRfZGVhZF9w YWdlcywgbWlzc2VkX2RlYWRfdHVwbGVzLCB2bV9uZXdfZnJvemVuX3BhZ2VzLCB2bV9uZXdf dmlzaWJsZV9wYWdlcywgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLCB0b3RhbF9ibGtz X3JlYWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nf d3JpdHRlbiwgd3JhcGFyb3VuZF9mYWlsc2FmZSwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdh bF9ieXRlcykKKyAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoYy5vaWQp IHMocmVsaWQsIHBhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHR1cGxlc19kZWxldGVk LCB0dXBsZXNfZnJvemVuLCByZWNlbnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2RlYWRfcGFn ZXMsIG1pc3NlZF9kZWFkX3R1cGxlcywgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zp c2libGVfcGFnZXMsIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgdG90YWxfYmxrc19y ZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dy aXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgd3JhcGFyb3VuZF9mYWlsc2Fm ZSwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcykKICAgV0hFUkUgKGMucmVsa2lu ZCA9IEFOWSAoQVJSQVlbJ3InOjoiY2hhciIsICd0Jzo6ImNoYXIiLCAnbSc6OiJjaGFyIl0p KTsKIHBnX3N0YXRfd2FsfCBTRUxFQ1Qgd2FsX3JlY29yZHMsCiAgICAgd2FsX2ZwaSwKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91dCBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91dAppbmRleCA4N2Y0 OWNiNzZjLi4zZDgyM2VmN2I2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3ZhY3V1bV9zdGF0cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92 YWN1dW1fc3RhdHMub3V0CkBAIC0xMzgsNiArMTM4LDE2IEBAIFNFTEVDVCB0b3RhbF9ibGtz X3JlYWQgPj0gMCBBUyB0b3RhbF9ibGtzX3JlYWQsCiAgdCAgICAgICAgICAgICAgIHwgdCAg ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKKy0tIHBl ci1yZWxhdGlvbiBidWZmZXIgYWNjZXNzLiAgVGhlIGhlYXAgaXMgcmVhZCB0aHJvdWdoIHRo ZSBidWZmZXIgY2FjaGUKKy0tIChyZWxfYmxrc19oaXQgPiAwKTsgcmVsX2Jsa3NfcmVhZCBk ZXBlbmRzIG9uIHRoZSBydW4tdGltZSBjYWNoZSBzdGF0ZS4KK1NFTEVDVCByZWxfYmxrc19y ZWFkID49IDAgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgICAgICByZWxfYmxrc19oaXQgPiAwIEFT IHJlbF9ibGtzX2hpdAorICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxu YW1lID0gJ3ZhY3N0YXRfdCc7CisgcmVsX2Jsa3NfcmVhZCB8IHJlbF9ibGtzX2hpdCAKKy0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLQorIHQgICAgICAgICAgICAgfCB0CisoMSBy b3cpCisKIC0tIFdBTCBtZXRyaWNzLiAgQSB2YWN1dW0gdGhhdCByZW1vdmVzIHR1cGxlcyBh bHdheXMgZW1pdHMgV0FMCiAtLSAod2FsX3JlY29yZHMgPiAwLCB3YWxfYnl0ZXMgPiAwKS4g IHdhbF9mcGkgZGVwZW5kcyBvbiB3aGV0aGVyIGEgY2hlY2twb2ludAogLS0gaGFwcGVuZWQg cmVjZW50bHksIHNvIGl0IGlzIG9ubHkgY2hlY2tlZCBmb3IgYmVpbmcgbm9uLW5lZ2F0aXZl IGhlcmU7IHRoZQpAQCAtMTk5LDEzICsyMDksMTUgQEAgU0VMRUNUIGluZGV4cmVsbmFtZSwK ICAgICAgICB0b3RhbF9ibGtzX2hpdCA+IDAgQVMgdG90YWxfYmxrc19oaXQsCiAgICAgICAg dG90YWxfYmxrc19kaXJ0aWVkID49IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAogICAgICAg IHRvdGFsX2Jsa3Nfd3JpdHRlbiA+PSAwIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICAg ICByZWxfYmxrc19yZWFkID49IDAgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgICAgICByZWxfYmxr c19oaXQgPiAwIEFTIHJlbF9ibGtzX2hpdCwKICAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMg d2FsX3JlY29yZHMsCiAgICAgICAgd2FsX2ZwaSA+PSAwIEFTIHdhbF9mcGksCiAgICAgICAg d2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMKICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRl eGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3RhdF90JyBPUkRFUiBCWSBpbmRleHJlbG5hbWU7 Ci0gIGluZGV4cmVsbmFtZSAgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgfCB0 b3RhbF9ibGtzX3JlYWQgfCB0b3RhbF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8 IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRl cyAKLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLQotIHZhY3N0YXRfdF9wa2V5IHwgdCAgICAgICAgICAgICB8IHQgICAgICAgICAgICAg IHwgdCAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAg ICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICB8IHQgICAgICAgfCB0Cisg IGluZGV4cmVsbmFtZSAgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgfCB0b3Rh bF9ibGtzX3JlYWQgfCB0b3RhbF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRv dGFsX2Jsa3Nfd3JpdHRlbiB8IHJlbF9ibGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCB3YWxf cmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgCistLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tCisgdmFjc3RhdF90X3BrZXkgfCB0ICAgICAgICAgICAgIHwgdCAgICAgICAg ICAgICAgfCB0ICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQgICAgICAgICAg ICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgfCB0ICAgICAg ICAgICAgfCB0ICAgICAgICAgICB8IHQgICAgICAgfCB0CiAoMSByb3cpCiAKIC0tIGluZGV4 IHBhZ2UtZGVsZXRpb24gcGF0aDogZGVsZXRpbmcgYSBjb250aWd1b3VzIGtleSByYW5nZSBl bXB0aWVzIHdob2xlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1f c3RhdHMuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3N0YXRzLnNxbAppbmRl eCA2ZTM2NGQxODNjLi40MGY3ZDA5ODVkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNz L3NxbC92YWN1dW1fc3RhdHMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1 bV9zdGF0cy5zcWwKQEAgLTkyLDYgKzkyLDEyIEBAIFNFTEVDVCB0b3RhbF9ibGtzX3JlYWQg Pj0gMCBBUyB0b3RhbF9ibGtzX3JlYWQsCiAgICAgICAgdG90YWxfYmxrc193cml0dGVuID49 IDAgQVMgdG90YWxfYmxrc193cml0dGVuCiAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVz IFdIRVJFIHJlbG5hbWUgPSAndmFjc3RhdF90JzsKIAorLS0gcGVyLXJlbGF0aW9uIGJ1ZmZl ciBhY2Nlc3MuICBUaGUgaGVhcCBpcyByZWFkIHRocm91Z2ggdGhlIGJ1ZmZlciBjYWNoZQor LS0gKHJlbF9ibGtzX2hpdCA+IDApOyByZWxfYmxrc19yZWFkIGRlcGVuZHMgb24gdGhlIHJ1 bi10aW1lIGNhY2hlIHN0YXRlLgorU0VMRUNUIHJlbF9ibGtzX3JlYWQgPj0gMCBBUyByZWxf Ymxrc19yZWFkLAorICAgICAgIHJlbF9ibGtzX2hpdCA+IDAgQVMgcmVsX2Jsa3NfaGl0Cisg IEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3RhdF90 JzsKKwogLS0gV0FMIG1ldHJpY3MuICBBIHZhY3V1bSB0aGF0IHJlbW92ZXMgdHVwbGVzIGFs d2F5cyBlbWl0cyBXQUwKIC0tICh3YWxfcmVjb3JkcyA+IDAsIHdhbF9ieXRlcyA+IDApLiAg d2FsX2ZwaSBkZXBlbmRzIG9uIHdoZXRoZXIgYSBjaGVja3BvaW50CiAtLSBoYXBwZW5lZCBy ZWNlbnRseSwgc28gaXQgaXMgb25seSBjaGVja2VkIGZvciBiZWluZyBub24tbmVnYXRpdmUg aGVyZTsgdGhlCkBAIC0xMzYsNiArMTQyLDggQEAgU0VMRUNUIGluZGV4cmVsbmFtZSwKICAg ICAgICB0b3RhbF9ibGtzX2hpdCA+IDAgQVMgdG90YWxfYmxrc19oaXQsCiAgICAgICAgdG90 YWxfYmxrc19kaXJ0aWVkID49IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAogICAgICAgIHRv dGFsX2Jsa3Nfd3JpdHRlbiA+PSAwIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICAgICBy ZWxfYmxrc19yZWFkID49IDAgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgICAgICByZWxfYmxrc19o aXQgPiAwIEFTIHJlbF9ibGtzX2hpdCwKICAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2Fs X3JlY29yZHMsCiAgICAgICAgd2FsX2ZwaSA+PSAwIEFTIHdhbF9mcGksCiAgICAgICAgd2Fs X2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMKLS0gCjIuMzkuNSAoQXBwbGUgR2l0LTE1NCkKCg== --------------iWaNFCp60Ha1jovLeWGuqq8d Content-Type: text/plain; charset=UTF-8; name="0009-Extended-vacuum-statistics-timing-metrics-for-tables.patch" Content-Disposition: attachment; filename*0="0009-Extended-vacuum-statistics-timing-metrics-for-tables.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBmOTk1MDc4OTM5YjAxODBlZjZlNTk2MDMyOTdiMzVkYjcwMzFmYmZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YWxlbmthLnJ5YmFraW5h QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxNyBKdW4gMjAyNiAyMTo1NDoxNyArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggOS85XSBFeHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljczogdGltaW5nIG1l dHJpY3MgZm9yIHRhYmxlcywKIGluZGV4ZXMgYW5kIGRhdGFiYXNlCgpFeHBvc2UgdGhlIHRp bWluZyBjb3VudGVycyBpbiBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfdmFjdXVt X2luZGV4ZXMKYW5kIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlLCB3aXRoIGRvY3VtZW50YXRp b24gYW5kIHJlZ3Jlc3Npb24gY292ZXJhZ2U6CgogIGJsa19yZWFkX3RpbWUgICB0aW1lIHNw ZW50IHJlYWRpbmcgYmxvY2tzICh3aXRoIHRyYWNrX2lvX3RpbWluZykKICBibGtfd3JpdGVf dGltZSAgdGltZSBzcGVudCB3cml0aW5nIGJsb2NrcyAod2l0aCB0cmFja19pb190aW1pbmcp CiAgZGVsYXlfdGltZSAgICAgIHRpbWUgc3BlbnQgaW4gdmFjdXVtIGNvc3QtYmFzZWQgZGVs YXkKICB0b3RhbF90aW1lICAgICAgdG90YWwgd2FsbC1jbG9jayB0aW1lIG9mIHRoZSB2YWN1 dW0KCnRvdGFsX3RpbWUgaXMgYWx3YXlzIHBvc2l0aXZlOyB0aGUgcmVncmVzc2lvbiB0ZXN0 IGFsc28gZXhlcmNpc2VzIHRoZQpwb3NpdGl2ZSBkZWxheV90aW1lIHBhdGggd2l0aCBhIGRl ZGljYXRlZCBjb3N0LWRlbGF5ZWQgdmFjdXVtLgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0t dmlld3Muc2dtbCAgICAgICAgICAgICB8IDk3ICsrKysrKysrKysrKysrKysrKysrKysKIHNy Yy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyAgICAgICB8IDQyICsrKysrKysr LS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICB8IDE4ICsr KysKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgICAgICB8ICAxICsK IHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0uYyB8ICA1ICsrCiBz cmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgfCAyMiArKysrLQog c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgIHwgMTggKystLQog c3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysKIHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgICAgICB8IDE4ICsrKy0KIHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91dCB8IDc2ICsrKysrKysr KysrKystLS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fc3RhdHMuc3FsICAgICAg fCA0NyArKysrKysrKystLQogMTEgZmlsZXMgY2hhbmdlZCwgMzA0IGluc2VydGlvbnMoKyks IDQ2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmll d3Muc2dtbCBiL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCAyYTkzODk2 ZDVkLi5lMTVmNDk1MmNjIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdz LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCkBAIC01OTY0LDYg KzU5NjQsMzggQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJl cGFyZWRfeGFjdHMgcHB4CiAgICAgICAgTnVtYmVyIG9mIHRoaXMgcmVsYXRpb24ncyBibG9j a3MgZm91bmQgaW4gc2hhcmVkIGJ1ZmZlcnMgYnkgdGhlIHZhY3V1bS4KICAgICAgIDwvcGFy YT48L2VudHJ5PgogICAgICA8L3Jvdz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlw ZT5kb3VibGUgcHJlY2lzaW9uPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgVGltZSBzcGVudCByZWFkaW5nIGJsb2NrcyBieSB0aGUgdmFjdXVtLCBpbiBt aWxsaXNlY29uZHMgKHdoZW4gPHZhcm5hbWU+dHJhY2tfaW9fdGltaW5nPC92YXJuYW1lPiBp cyBlbmFibGVkKS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0 ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZG91YmxlIHByZWNpc2lvbjwvdHlwZT4KKyAg ICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFRpbWUgc3BlbnQgd3JpdGluZyAo Zmx1c2hpbmcpIGJsb2NrcyBieSB0aGUgdmFjdXVtLCBpbiBtaWxsaXNlY29uZHM7IHJlbWFp bnMgemVybyBpZiBubyBmbHVzaGVzIG9jY3VycmVkLgorICAgICAgPC9wYXJhPjwvZW50cnk+ CisgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+ZGVsYXlfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmRvdWJsZSBwcmVj aXNpb248L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUb3Rh bCB0aW1lIHRoZSB2YWN1dW0gc3BlbnQgc2xlZXBpbmcgaW4gdmFjdXVtIGRlbGF5IHBvaW50 cywgaW4gbWlsbGlzZWNvbmRzLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmRvdWJsZSBwcmVjaXNpb248L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUb3RhbCB3YWxsLWNsb2Nr IHRpbWUgb2YgdGhlIHZhY3V1bSwgaW4gbWlsbGlzZWNvbmRzLCBpbmNsdWRpbmcgdGltZSBz cGVudCB3YWl0aW5nIGZvciBJL08gYW5kIGxvY2tzLgorICAgICAgPC9wYXJhPjwvZW50cnk+ CisgICAgIDwvcm93PgogICAgICA8cm93PgogICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KICAgICAgICA8 c3RydWN0ZmllbGQ+d3JhcGFyb3VuZF9mYWlsc2FmZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dGVnZXI8L3R5cGU+CkBAIC02MTM1LDYgKzYxNjcsMzggQEAgU0VMRUNUICogRlJPTSBwZ19s b2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFjdHMgcHB4CiAgICAgICAgTnVtYmVy IG9mIGJsb2NrIGhpdHMgd2l0aGluIHRoaXMgaW5kZXggZHVyaW5nIHRoZSB2YWN1dW0uCiAg ICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+ZG91YmxlIHByZWNpc2lvbjwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIFRpbWUgc3BlbnQgcmVhZGluZyBpbmRleCBibG9ja3MsIGlu IG1pbGxpc2Vjb25kcyAoaWYgPHZhcm5hbWU+dHJhY2tfaW9fdGltaW5nPC92YXJuYW1lPiBp cyBlbmFibGVkKS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0 ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZG91YmxlIHByZWNpc2lvbjwvdHlwZT4KKyAg ICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFRpbWUgc3BlbnQgd3JpdGluZyBp bmRleCBibG9ja3MsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHZhcm5hbWU+dHJhY2tfaW9fdGlt aW5nPC92YXJuYW1lPiBpcyBlbmFibGVkKS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5kb3VibGUgcHJlY2lzaW9u PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVGltZSBzcGVu dCBpbiB2YWN1dW0gY29zdC1iYXNlZCBkZWxheSB3aGlsZSBwcm9jZXNzaW5nIHRoaXMgaW5k ZXgsIGluIG1pbGxpc2Vjb25kcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk PnRvdGFsX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5kb3VibGUgcHJlY2lzaW9uPC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVG90YWwgdGltZSBzcGVu dCB2YWN1dW1pbmcgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzLgorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgogICAgICA8cm93PgogICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K ICAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5i aWdpbnQ8L3R5cGU+CkBAIC02MjU3LDYgKzYzMjEsMzggQEAgU0VMRUNUICogRlJPTSBwZ19s b2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFjdHMgcHB4CiAgICAgICAgTnVtYmVy IG9mIHZhY3V1bSBvcGVyYXRpb25zIGluIHRoaXMgZGF0YWJhc2UgdGhhdCBlbmdhZ2VkIHRo ZSB3cmFwYXJvdW5kIGZhaWxzYWZlIG1lY2hhbmlzbS4KICAgICAgIDwvcGFyYT48L2VudHJ5 PgogICAgICA8L3Jvdz4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5kb3VibGUg cHJlY2lzaW9uPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg VGltZSBzcGVudCByZWFkaW5nIGJsb2NrcyBieSB2YWN1dW0gb3BlcmF0aW9ucyBpbiB0aGlz IGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMgKGlmIDx2YXJuYW1lPnRyYWNrX2lvX3RpbWlu ZzwvdmFybmFtZT4gaXMgZW5hYmxlZCkuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5ibGtfd3JpdGVfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmRvdWJsZSBwcmVjaXNp b248L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUaW1lIHNw ZW50IHdyaXRpbmcgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIGluIHRoaXMgZGF0YWJh c2UsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHZhcm5hbWU+dHJhY2tfaW9fdGltaW5nPC92YXJu YW1lPiBpcyBlbmFibGVkKS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRl bGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5kb3VibGUgcHJlY2lzaW9uPC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVGltZSBzcGVudCBpbiB2YWN1 dW0gY29zdC1iYXNlZCBkZWxheSBieSB2YWN1dW0gb3BlcmF0aW9ucyBpbiB0aGlzIGRhdGFi YXNlLCBpbiBtaWxsaXNlY29uZHMuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZG91YmxlIHByZWNpc2lvbjwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFRvdGFsIHRpbWUgc3Bl bnQgYnkgdmFjdXVtIG9wZXJhdGlvbnMgaW4gdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNv bmRzLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgogICAgICA8cm93Pgog ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KICAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8L3N0 cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CkBAIC02MjgxLDYgKzYzNzcsNyBAQCBT RUxFQ1QgKiBGUk9NIHBnX2xvY2tzIHBsIExFRlQgSk9JTiBwZ19wcmVwYXJlZF94YWN0cyBw cHgKICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGdlbmVyYXRlZCBieSB2YWN1dW0gb3Bl cmF0aW9ucyBpbiB0aGlzIGRhdGFiYXNlLCBpbiBieXRlcy4KICAgICAgIDwvcGFyYT48L2Vu dHJ5PgogICAgICA8L3Jvdz4KKwogICAgICA8cm93PgogICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KICAg ICAgICA8c3RydWN0ZmllbGQ+aW50ZXJydXB0c19jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBl PmludGVnZXI8L3R5cGU+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5k ZXggNjgzYmZjZjllOC4uNmFlMmNjYjJkZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNj ZXNzL2hlYXAvdmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zh Y3V1bWxhenkuYwpAQCAtNTEyLDEzICs1MTIsMTkgQEAgc3RhdGljIHZvaWQgcmVzdG9yZV92 YWN1dW1fZXJyb3JfaW5mbyhMVlJlbFN0YXRlICp2YWNyZWwsCiBzdGF0aWMgdm9pZAogZXh0 dmFjX3N0YXRzX3N0YXJ0KFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKiBjb3Vu dGVycykKIHsKKwlUaW1lc3RhbXBUeiBzdGFydHRpbWU7CisKIAlpZiAoIXBnc3RhdF90cmFj a192YWN1dW1fc3RhdGlzdGljcykKIAkJcmV0dXJuOwogCiAJbWVtc2V0KGNvdW50ZXJzLCAw LCBzaXplb2YoTFZFeHRTdGF0Q291bnRlcnMpKTsKIAorCXN0YXJ0dGltZSA9IEdldEN1cnJl bnRUaW1lc3RhbXAoKTsKKworCWNvdW50ZXJzLT5zdGFydHRpbWUgPSBzdGFydHRpbWU7CiAJ Y291bnRlcnMtPndhbHVzYWdlID0gcGdXYWxVc2FnZTsKIAljb3VudGVycy0+YnVmdXNhZ2Ug PSBwZ0J1ZmZlclVzYWdlOworCWNvdW50ZXJzLT5WYWN1dW1EZWxheVRpbWUgPSBWYWN1dW1E ZWxheVRpbWU7CiAJY291bnRlcnMtPmJsb2Nrc19mZXRjaGVkID0gMDsKIAljb3VudGVycy0+ YmxvY2tzX2hpdCA9IDA7CiAKQEAgLTU0Niw2ICs1NTIsOSBAQCBleHR2YWNfc3RhdHNfZW5k KFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKiBjb3VudGVycywKIHsKIAlXYWxV c2FnZQl3YWx1c2FnZTsKIAlCdWZmZXJVc2FnZSBidWZ1c2FnZTsKKwlUaW1lc3RhbXBUeiBl bmR0aW1lOworCWxvbmcJCXNlY3M7CisJaW50CQkJdXNlY3M7CiAKIAlpZiAoIXBnc3RhdF90 cmFja192YWN1dW1fc3RhdGlzdGljcykKIAkJcmV0dXJuOwpAQCAtNTU5LDYgKzU2OCw5IEBA IGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAqIGNv dW50ZXJzLAogCW1lbXNldCgmYnVmdXNhZ2UsIDAsIHNpemVvZihCdWZmZXJVc2FnZSkpOwog CUJ1ZmZlclVzYWdlQWNjdW1EaWZmKCZidWZ1c2FnZSwgJnBnQnVmZmVyVXNhZ2UsICZjb3Vu dGVycy0+YnVmdXNhZ2UpOwogCisJZW5kdGltZSA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsK KwlUaW1lc3RhbXBEaWZmZXJlbmNlKGNvdW50ZXJzLT5zdGFydHRpbWUsIGVuZHRpbWUsICZz ZWNzLCAmdXNlY3MpOworCiAJLyoKIAkgKiBGaWxsIGFkZGl0aW9uYWwgc3RhdGlzdGljcyBv biBhIHZhY3V1bSBwcm9jZXNzaW5nIG9wZXJhdGlvbi4KIAkgKi8KQEAgLTU2NiwxMCArNTc4 LDE5IEBAIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVy cyAqIGNvdW50ZXJzLAogCXJlcG9ydC0+dG90YWxfYmxrc19oaXQgKz0gYnVmdXNhZ2UubG9j YWxfYmxrc19oaXQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19oaXQ7CiAJcmVwb3J0LT50b3Rh bF9ibGtzX2RpcnRpZWQgKz0gYnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNh Z2Uuc2hhcmVkX2Jsa3NfZGlydGllZDsKIAlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiAr PSBidWZ1c2FnZS5zaGFyZWRfYmxrc193cml0dGVuOworCiAJcmVwb3J0LT53YWxfcmVjb3Jk cyArPSB3YWx1c2FnZS53YWxfcmVjb3JkczsKIAlyZXBvcnQtPndhbF9mcGkgKz0gd2FsdXNh Z2Uud2FsX2ZwaTsKIAlyZXBvcnQtPndhbF9ieXRlcyArPSB3YWx1c2FnZS53YWxfYnl0ZXM7 CiAKKwlyZXBvcnQtPmJsa19yZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMo YnVmdXNhZ2UubG9jYWxfYmxrX3JlYWRfdGltZSk7CisJcmVwb3J0LT5ibGtfcmVhZF90aW1l ICs9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfcmVhZF90 aW1lKTsKKwlyZXBvcnQtPmJsa193cml0ZV90aW1lICs9IElOU1RSX1RJTUVfR0VUX01JTExJ U0VDKGJ1ZnVzYWdlLmxvY2FsX2Jsa193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0 ZV90aW1lICs9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtf d3JpdGVfdGltZSk7CisJcmVwb3J0LT5kZWxheV90aW1lICs9IFZhY3V1bURlbGF5VGltZSAt IGNvdW50ZXJzLT5WYWN1dW1EZWxheVRpbWU7CisKKwlyZXBvcnQtPnRvdGFsX3RpbWUgKz0g c2VjcyAqIDEwMDAuICsgdXNlY3MgLyAxMDAwLjsKKwogCWlmICghcmVsLT5wZ3N0YXRfaW5m byB8fCAhcGdzdGF0X3RyYWNrX2NvdW50cykKIAogCQkvKgpAQCAtNjY5LDYgKzY5MCw4IEBA IGFjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcyhMVlJlbFN0YXRlICp2YWNyZWws IFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50CiAJZXh0VmFjU3RhdHMtPnRhYmxlLm1pc3Nl ZF9kZWFkX3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKIAlleHRWYWNTdGF0 cy0+Y29tbW9uLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91 bmRfZmFpbHNhZmU7CiAKKwlleHRWYWNTdGF0cy0+Y29tbW9uLmJsa19yZWFkX3RpbWUgLT0g dmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLmJsa19yZWFkX3RpbWU7CisJZXh0VmFj U3RhdHMtPmNvbW1vbi5ibGtfd3JpdGVfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElk eC5jb21tb24uYmxrX3dyaXRlX3RpbWU7CiAJZXh0VmFjU3RhdHMtPmNvbW1vbi50b3RhbF9i bGtzX2RpcnRpZWQgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLnRvdGFsX2Js a3NfZGlydGllZDsKIAlleHRWYWNTdGF0cy0+Y29tbW9uLnRvdGFsX2Jsa3NfaGl0IC09IHZh Y3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi50b3RhbF9ibGtzX2hpdDsKIAlleHRWYWNT dGF0cy0+Y29tbW9uLnRvdGFsX2Jsa3NfcmVhZCAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElk eC5jb21tb24udG90YWxfYmxrc19yZWFkOwpAQCAtNjc2LDEyICs2OTksMTcgQEAgYWNjdW11 bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwgUGdTdGF0 X1ZhY3V1bVJlbGF0aW9uQ291bnQKIAlleHRWYWNTdGF0cy0+Y29tbW9uLndhbF9ieXRlcyAt PSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX2J5dGVzOwogCWV4dFZhY1N0 YXRzLT5jb21tb24ud2FsX2ZwaSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24u d2FsX2ZwaTsKIAlleHRWYWNTdGF0cy0+Y29tbW9uLndhbF9yZWNvcmRzIC09IHZhY3JlbC0+ ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi53YWxfcmVjb3JkczsKKworCWV4dFZhY1N0YXRzLT5j b21tb24udG90YWxfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90 YWxfdGltZTsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLmRlbGF5X3RpbWUgLT0gdmFjcmVsLT5l eHRWYWNSZXBvcnRJZHguY29tbW9uLmRlbGF5X3RpbWU7CiB9CiAKIHN0YXRpYyB2b2lkCiBh Y2N1bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBQ Z1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKiBleHRWYWNJZHhTdGF0cykKIHsKIAkvKiBG aWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCisJdmFjcmVsLT5l eHRWYWNSZXBvcnRJZHguY29tbW9uLmJsa19yZWFkX3RpbWUgKz0gZXh0VmFjSWR4U3RhdHMt PmNvbW1vbi5ibGtfcmVhZF90aW1lOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1v bi5ibGtfd3JpdGVfdGltZSArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLmJsa193cml0ZV90 aW1lOwogCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi50b3RhbF9ibGtzX2RpcnRp ZWQgKz0gZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi50b3RhbF9ibGtzX2RpcnRpZWQ7CiAJdmFj cmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLnRvdGFsX2Jsa3NfaGl0ICs9IGV4dFZhY0lk eFN0YXRzLT5jb21tb24udG90YWxfYmxrc19oaXQ7CiAJdmFjcmVsLT5leHRWYWNSZXBvcnRJ ZHguY29tbW9uLnRvdGFsX2Jsa3NfcmVhZCArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLnRv dGFsX2Jsa3NfcmVhZDsKQEAgLTY4OSw2ICs3MTcsOCBAQCBhY2N1bXVsYXRlX2lkeHNfdmFj dXVtX3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBQZ1N0YXRfVmFjdXVtUmVsYXRp b25Db3VudAogCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi53YWxfYnl0ZXMgKz0g ZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi53YWxfYnl0ZXM7CiAJdmFjcmVsLT5leHRWYWNSZXBv cnRJZHguY29tbW9uLndhbF9mcGkgKz0gZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi53YWxfZnBp OwogCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi53YWxfcmVjb3JkcyArPSBleHRW YWNJZHhTdGF0cy0+Y29tbW9uLndhbF9yZWNvcmRzOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0 SWR4LmNvbW1vbi5kZWxheV90aW1lICs9IGV4dFZhY0lkeFN0YXRzLT5jb21tb24uZGVsYXlf dGltZTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxfdGltZSArPSBl eHRWYWNJZHhTdGF0cy0+Y29tbW9uLnRvdGFsX3RpbWU7CiB9CiAKIC8qCkBAIC03MTYsNiAr NzQ2LDEwIEBAIGV4dHZhY19hY2N1bXVsYXRlX2lkeF9yZXBvcnQoUGdTdGF0X1ZhY3V1bVJl bGF0aW9uQ291bnRzICogZHN0LAogCWRzdC0+Y29tbW9uLndhbF9yZWNvcmRzICs9IHNyYy0+ Y29tbW9uLndhbF9yZWNvcmRzOwogCWRzdC0+Y29tbW9uLndhbF9mcGkgKz0gc3JjLT5jb21t b24ud2FsX2ZwaTsKIAlkc3QtPmNvbW1vbi53YWxfYnl0ZXMgKz0gc3JjLT5jb21tb24ud2Fs X2J5dGVzOworCWRzdC0+Y29tbW9uLmJsa19yZWFkX3RpbWUgKz0gc3JjLT5jb21tb24uYmxr X3JlYWRfdGltZTsKKwlkc3QtPmNvbW1vbi5ibGtfd3JpdGVfdGltZSArPSBzcmMtPmNvbW1v bi5ibGtfd3JpdGVfdGltZTsKKwlkc3QtPmNvbW1vbi5kZWxheV90aW1lICs9IHNyYy0+Y29t bW9uLmRlbGF5X3RpbWU7CisJZHN0LT5jb21tb24udG90YWxfdGltZSArPSBzcmMtPmNvbW1v bi50b3RhbF90aW1lOwogCWRzdC0+Y29tbW9uLnR1cGxlc19kZWxldGVkICs9IHNyYy0+Y29t bW9uLnR1cGxlc19kZWxldGVkOwogCiAJZHN0LT5pbmRleC5wYWdlc19kZWxldGVkICs9IHNy Yy0+aW5kZXgucGFnZXNfZGVsZXRlZDsKQEAgLTkwNCw3ICs5MzgsNiBAQCBoZWFwX3ZhY3V1 bV9yZWwoUmVsYXRpb24gcmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAlTaXpl CQlkZWFkX2l0ZW1zX21heF9ieXRlcyA9IDA7CiAJTFZFeHRTdGF0Q291bnRlcnMgZXh0VmFj Q291bnRlcnM7CiAJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGV4dFZhY1JlcG9ydDsK LQlUaW1lc3RhbXBUeiBzdGFydHRpbWU7CiAKIAkvKiBJbml0aWFsaXplIHZhY3V1bSBzdGF0 aXN0aWNzICovCiAJbWVtc2V0KCZleHRWYWNSZXBvcnQsIDAsIHNpemVvZihQZ1N0YXRfVmFj dXVtUmVsYXRpb25Db3VudHMpKTsKQEAgLTkyMiw3ICs5NTUsNiBAQCBoZWFwX3ZhY3V1bV9y ZWwoUmVsYXRpb24gcmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkJfQogCX0K IAotCXN0YXJ0dGltZSA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKIAlleHR2YWNfc3RhdHNf c3RhcnQocmVsLCAmZXh0VmFjQ291bnRlcnMpOwogCiAJcGdzdGF0X3Byb2dyZXNzX3N0YXJ0 X2NvbW1hbmQoUFJPR1JFU1NfQ09NTUFORF9WQUNVVU0sCkBAIC0xMjc5LDcgKzEzMTEsNyBA QCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgKnBh cmFtcywKIAkJCQkJCSBNYXgodmFjcmVsLT5uZXdfbGl2ZV90dXBsZXMsIDApLAogCQkJCQkJ IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwogCQkJCQkJIHZhY3JlbC0+bWlzc2Vk X2RlYWRfdHVwbGVzLAotCQkJCQkJIHN0YXJ0dGltZSk7CisJCQkJCQkgZXh0VmFjQ291bnRl cnMuc3RhcnR0aW1lKTsKIAlwZ3N0YXRfcHJvZ3Jlc3NfZW5kX2NvbW1hbmQoKTsKIAogCWlm IChpbnN0cnVtZW50KQpAQCAtMTI4Nyw3ICsxMzE5LDcgQEAgaGVhcF92YWN1dW1fcmVsKFJl bGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJCVRpbWVzdGFtcFR6 IGVuZHRpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7CiAKIAkJaWYgKHZlcmJvc2UgfHwg cGFyYW1zLT5sb2dfdmFjdXVtX21pbl9kdXJhdGlvbiA9PSAwIHx8Ci0JCQlUaW1lc3RhbXBE aWZmZXJlbmNlRXhjZWVkcyhzdGFydHRpbWUsIGVuZHRpbWUsCisJCQlUaW1lc3RhbXBEaWZm ZXJlbmNlRXhjZWVkcyhleHRWYWNDb3VudGVycy5zdGFydHRpbWUsIGVuZHRpbWUsCiAJCQkJ CQkJCQkgICBwYXJhbXMtPmxvZ192YWN1dW1fbWluX2R1cmF0aW9uKSkKIAkJewogCQkJbG9u ZwkJc2Vjc19kdXI7CkBAIC0xMzAzLDcgKzEzMzUsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVs YXRpb24gcmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkJCWludDY0CQl0b3Rh bF9ibGtzX3JlYWQ7CiAJCQlpbnQ2NAkJdG90YWxfYmxrc19kaXJ0aWVkOwogCi0JCQlUaW1l c3RhbXBEaWZmZXJlbmNlKHN0YXJ0dGltZSwgZW5kdGltZSwgJnNlY3NfZHVyLCAmdXNlY3Nf ZHVyKTsKKwkJCVRpbWVzdGFtcERpZmZlcmVuY2UoZXh0VmFjQ291bnRlcnMuc3RhcnR0aW1l LCBlbmR0aW1lLCAmc2Vjc19kdXIsICZ1c2Vjc19kdXIpOwogCQkJbWVtc2V0KCZ3YWx1c2Fn ZSwgMCwgc2l6ZW9mKFdhbFVzYWdlKSk7CiAJCQlXYWxVc2FnZUFjY3VtRGlmZigmd2FsdXNh Z2UsICZwZ1dhbFVzYWdlLCAmc3RhcnR3YWx1c2FnZSk7CiAJCQltZW1zZXQoJmJ1ZmZlcnVz YWdlLCAwLCBzaXplb2YoQnVmZmVyVXNhZ2UpKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVt X3ZpZXdzLnNxbAppbmRleCBkMGE1OGYyMjFjLi4xMTAyOWVkYWUzIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xNTgyLDYgKzE1ODIsMTAgQEAgQ1JFQVRF IFZJRVcgcGdfc3RhdF92YWN1dW1fdGFibGVzIEFTCiAgICAgICAgIFMudG90YWxfYmxrc193 cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKICAgICAgICAgUy5yZWxfYmxrc19yZWFk IEFTIHJlbF9ibGtzX3JlYWQsCiAgICAgICAgIFMucmVsX2Jsa3NfaGl0IEFTIHJlbF9ibGtz X2hpdCwKKyAgICAgICAgUy5ibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgICAg ICAgIFMuYmxrX3dyaXRlX3RpbWUgQVMgYmxrX3dyaXRlX3RpbWUsCisgICAgICAgIFMuZGVs YXlfdGltZSBBUyBkZWxheV90aW1lLAorICAgICAgICBTLnRvdGFsX3RpbWUgQVMgdG90YWxf dGltZSwKICAgICAgICAgUy53cmFwYXJvdW5kX2ZhaWxzYWZlIEFTIHdyYXBhcm91bmRfZmFp bHNhZmUsCiAgICAgICAgIFMud2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCiAgICAgICAg IFMud2FsX2ZwaSBBUyB3YWxfZnBpLApAQCAtMTYwNyw4ICsxNjExLDE1IEBAIENSRUFURSBW SUVXIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgQVMKICAgICAgICAgICAgIFMudG90YWxfYmxr c19oaXQgQVMgdG90YWxfYmxrc19oaXQsCiAgICAgICAgICAgICBTLnRvdGFsX2Jsa3NfZGly dGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCiAgICAgICAgICAgICBTLnRvdGFsX2Jsa3Nf d3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisKICAgICAgICAgICAgIFMucmVsX2Js a3NfcmVhZCBBUyByZWxfYmxrc19yZWFkLAogICAgICAgICAgICAgUy5yZWxfYmxrc19oaXQg QVMgcmVsX2Jsa3NfaGl0LAorCisgICAgICAgICAgICBTLmJsa19yZWFkX3RpbWUgQVMgYmxr X3JlYWRfdGltZSwKKyAgICAgICAgICAgIFMuYmxrX3dyaXRlX3RpbWUgQVMgYmxrX3dyaXRl X3RpbWUsCisgICAgICAgICAgICBTLmRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgICAg ICAgICAgIFMudG90YWxfdGltZSBBUyB0b3RhbF90aW1lLAorCiAgICAgICAgICAgICBTLndh bF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAogICAgICAgICAgICAgUy53YWxfZnBpIEFTIHdh bF9mcGksCiAgICAgICAgICAgICBTLndhbF9ieXRlcyBBUyB3YWxfYnl0ZXMKQEAgLTE2MzEs NyArMTY0MiwxNCBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSBBUwog ICAgICAgICAgICAgUy5kYl9ibGtzX2hpdCBBUyBkYl9ibGtzX2hpdCwKICAgICAgICAgICAg IFMudG90YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKICAgICAgICAg ICAgIFMudG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKwogICAg ICAgICAgICAgUy53cmFwYXJvdW5kX2ZhaWxzYWZlIEFTIHdyYXBhcm91bmRfZmFpbHNhZmUs CisKKyAgICAgICAgICAgIFMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVhZF90aW1lLAorICAg ICAgICAgICAgUy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGltZSwKKyAgICAgICAg ICAgIFMuZGVsYXlfdGltZSBBUyBkZWxheV90aW1lLAorICAgICAgICAgICAgUy50b3RhbF90 aW1lIEFTIHRvdGFsX3RpbWUsCisKICAgICAgICAgICAgIFMud2FsX3JlY29yZHMgQVMgd2Fs X3JlY29yZHMsCiAgICAgICAgICAgICBTLndhbF9mcGkgQVMgd2FsX2ZwaSwKICAgICAgICAg ICAgIFMud2FsX2J5dGVzIEFTIHdhbF9ieXRlcywKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1 dW1wYXJhbGxlbC5jCmluZGV4IGVhMTM4NTk0ODUuLjU2M2ExZGI5MTIgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKKysrIGIvc3JjL2JhY2tl bmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwpAQCAtMTM1NSw2ICsxMzU1LDcgQEAgcGFy YWxsZWxfdmFjdXVtX21haW4oZHNtX3NlZ21lbnQgKnNlZywgc2htX3RvYyAqdG9jKQogCQlW YWN1dW1VcGRhdGVDb3N0cygpOwogCiAJVmFjdXVtQ29zdEJhbGFuY2UgPSAwOworCVZhY3V1 bURlbGF5VGltZSA9IDA7CiAJVmFjdXVtQ29zdEJhbGFuY2VMb2NhbCA9IDA7CiAJVmFjdXVt U2hhcmVkQ29zdEJhbGFuY2UgPSAmKHNoYXJlZC0+Y29zdF9iYWxhbmNlKTsKIAlWYWN1dW1B Y3RpdmVOV29ya2VycyA9ICYoc2hhcmVkLT5hY3RpdmVfbndvcmtlcnMpOwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jCmluZGV4IGIxYzc0N2YyNTUu LmM1ZWE2NDQwNjAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdF92YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRf dmFjdXVtLmMKQEAgLTUwLDYgKzUwLDExIEBAIHBnc3RhdF9hY2N1bXVsYXRlX2NvbW1vbihQ Z1N0YXRfQ29tbW9uQ291bnRzICpkc3QsIGNvbnN0IFBnU3RhdF9Db21tb25Db3VudHMgKnNy CiAJQUNDVU1VTEFURV9GSUVMRCh3YWxfZnBpKTsKIAlBQ0NVTVVMQVRFX0ZJRUxEKHdhbF9i eXRlcyk7CiAKKwlBQ0NVTVVMQVRFX0ZJRUxEKGJsa19yZWFkX3RpbWUpOworCUFDQ1VNVUxB VEVfRklFTEQoYmxrX3dyaXRlX3RpbWUpOworCUFDQ1VNVUxBVEVfRklFTEQoZGVsYXlfdGlt ZSk7CisJQUNDVU1VTEFURV9GSUVMRCh0b3RhbF90aW1lKTsKKwogCUFDQ1VNVUxBVEVfRklF TEQodHVwbGVzX2RlbGV0ZWQpOwogCUFDQ1VNVUxBVEVfRklFTEQoaW50ZXJydXB0c19jb3Vu dCk7CiB9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3Mu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IDc0NzNhZTFl YjYuLjJkMTM2MDRiZDAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0 YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBA IC0yMzc0LDcgKzIzNzQsNyBAQCBwZ19zdGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJH UykKIERhdHVtCiBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1Mp CiB7Ci0jZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyAyMQor I2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMgMjUKIAogCU9p ZAkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKIAlQZ1N0YXRfVmFjdXVtUmVsYXRpb25D b3VudHMgKmV4dHZhY3V1bTsKQEAgLTI0MTcsNiArMjQxNywxMCBAQCBwZ19zdGF0X2dldF92 YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3Nfd3JpdHRlbik7CiAJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJsa3NfZmV0Y2hlZCAt IGV4dHZhY3V1bS0+Y29tbW9uLmJsa3NfaGl0KTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT5jb21tb24uYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0gRmxv YXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24uYmxrX3JlYWRfdGltZSk7CisJdmFsdWVz W2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtfd3JpdGVfdGlt ZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5k ZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ Y29tbW9uLnRvdGFsX3RpbWUpOwogCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2 YWN1dW0tPmNvbW1vbi53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKIAl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24ud2FsX3JlY29yZHMpOwogCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi53YWxfZnBpKTsK QEAgLTI0MzgsNyArMjQ0Miw3IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVO Q1RJT05fQVJHUykKIERhdHVtCiBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhQR19GVU5D VElPTl9BUkdTKQogewotI2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNf Q09MUyAxMgorI2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MUyAx NgogCiAJT2lkCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOwogCVBnU3RhdF9WYWN1dW1S ZWxhdGlvbkNvdW50cyAqZXh0dmFjdXVtOwpAQCAtMjQ3NSw2ICsyNDc5LDExIEBAIHBnX3N0 YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJsa3NfZmV0Y2hlZCAtIGV4dHZh Y3V1bS0+Y29tbW9uLmJsa3NfaGl0KTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT5jb21tb24uYmxrc19oaXQpOwogCisJdmFsdWVzW2krK10gPSBGbG9hdDhH ZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtfcmVhZF90aW1lKTsKKwl2YWx1ZXNbaSsr XSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJsa193cml0ZV90aW1lKTsK Kwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmRlbGF5 X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21t b24udG90YWxfdGltZSk7CisKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT5jb21tb24ud2FsX3JlY29yZHMpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPmNvbW1vbi53YWxfZnBpKTsKIAlzbnByaW50ZihidWYsIHNpemVvZiBi dWYsIFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+Y29tbW9uLndhbF9ieXRlcyk7CkBAIC0y NDgyLDYgKzI0OTEsNyBAQCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhQR19GVU5DVElP Tl9BUkdTKQogCQkJCQkJCQkJICBDU3RyaW5nR2V0RGF0dW0oYnVmKSwKIAkJCQkJCQkJCSAg T2JqZWN0SWRHZXREYXR1bSgwKSwKIAkJCQkJCQkJCSAgSW50MzJHZXREYXR1bSgtMSkpOwor CiAJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMpOwog CiAJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCkBAIC0yNDk0LDcgKzI1MDQs NyBAQCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhQR19GVU5DVElPTl9BUkdTKQogRGF0 dW0KIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5DVElPTl9BUkdTKQogewot I2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyAxMQorI2Rl ZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyAxNQogCiAJT2lk CQkJZGJpZCA9IFBHX0dFVEFSR19PSUQoMCk7CiAJUGdTdGF0X1ZhY3V1bURCQ291bnRzICpl eHR2YWN1dW07CkBAIC0yNTI1LDYgKzI1MzUsMTEgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX2Rh dGFiYXNlKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0 dW0oZXh0dmFjdXVtLT5jb21tb24ud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CiAKKwl2 YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJsa19yZWFk X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21t b24uYmxrX3dyaXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0 dmFjdXVtLT5jb21tb24uZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXRE YXR1bShleHR2YWN1dW0tPmNvbW1vbi50b3RhbF90aW1lKTsKKwogCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi53YWxfcmVjb3Jkcyk7CiAJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9mcGkpOwogCXNu cHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgZXh0dmFjdXVtLT5jb21t b24ud2FsX2J5dGVzKTsKQEAgLTI1MzMsNiArMjU0OCw3IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1 bV9kYXRhYmFzZShQR19GVU5DVElPTl9BUkdTKQogCQkJCQkJCQkJICBPYmplY3RJZEdldERh dHVtKDApLAogCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CiAJdmFsdWVzW2krK10g PSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmludGVycnVwdHNfY291bnQpOwor CiAJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMp OwogCiAJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19wcm9jLmRhdAppbmRleCA3NDNjZTlkZmQ2Li5lMDJkMzg2OTQ0IDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQKQEAgLTEyNjQzLDkgKzEyNjQzLDkgQEAKICAgcHJvbmFtZSA9PiAn cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcycsIHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRp bGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLCBwcm9pc3N0cmljdCA9PiAnZics CiAgIHByb3JldHNldCA9PiAndCcsCiAgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9h bGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ0 LGludDgsaW50OCxudW1lcmljfScsCi0gIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAotICBwcm9hcmduYW1lcyA9PiAn e3JlbG9pZCxyZWxpZCxwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQsdHVwbGVzX2RlbGV0 ZWQsdHVwbGVzX2Zyb3plbixyZWNlbnRseV9kZWFkX3R1cGxlcyxtaXNzZWRfZGVhZF9wYWdl cyxtaXNzZWRfZGVhZF90dXBsZXMsdm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdfdmlzaWJs ZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsdG90YWxfYmxrc19yZWFkLHRv dGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVs X2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQsd3JhcGFyb3VuZF9mYWlsc2FmZSx3YWxfcmVjb3Jk cyx3YWxfZnBpLHdhbF9ieXRlc30nLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgs aW50NCxpbnQ4LGludDgsbnVtZXJpY30nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAorICBwcm9h cmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCxwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQs dHVwbGVzX2RlbGV0ZWQsdHVwbGVzX2Zyb3plbixyZWNlbnRseV9kZWFkX3R1cGxlcyxtaXNz ZWRfZGVhZF9wYWdlcyxtaXNzZWRfZGVhZF90dXBsZXMsdm1fbmV3X2Zyb3plbl9wYWdlcyx2 bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsdG90YWxf Ymxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtz X3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQsYmxrX3JlYWRfdGltZSxibGtf d3JpdGVfdGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWUsd3JhcGFyb3VuZF9mYWlsc2FmZSx3 YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlc30nLAogICBwcm9zcmMgPT4gJ3BnX3N0YXRf Z2V0X3ZhY3V1bV90YWJsZXMnIH0KIAogIyBvaWQ4IHJlbGF0ZWQgZnVuY3Rpb25zCkBAIC0x MjcxOCwxNyArMTI3MTgsMTcgQEAKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVt X2luZGV4ZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0 dHlwZSA9PiAncmVjb3JkJywgcHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9yZXRzZXQgPT4g J3QnLAogICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvYWxsYXJndHlwZXMgPT4gJ3tv aWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsbnVtZXJpY30nLAotICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8s byxvLG99JywKLSAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQscGFnZXNfZGVsZXRl ZCx0dXBsZXNfZGVsZXRlZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxfYmxrc19oaXQsdG90YWxf Ymxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLHJlbF9ibGtz X2hpdCx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlc30nLAorICBwcm9hbGxhcmd0eXBl cyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4 LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxpbnQ4LGludDgsbnVtZXJpY30nLAorICBw cm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAor ICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCxwYWdlc19kZWxldGVkLHR1cGxlc19k ZWxldGVkLHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRp ZWQsdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQscmVsX2Jsa3NfaGl0LGJsa19y ZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0b3RhbF90aW1lLHdhbF9yZWNv cmRzLHdhbF9mcGksd2FsX2J5dGVzfScsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFj dXVtX2luZGV4ZXMnIH0sCiB7IG9pZCA9PiAnODAwNScsCiAgIGRlc2NyID0+ICdwZ19zdGF0 X2dldF92YWN1dW1fZGF0YWJhc2UgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciBk YXRhYmFzZScsCiAgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZScs IHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdy ZWNvcmQnLCBwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3JldHNldCA9PiAndCcsCiAgIHBy b2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50 NCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDQsaW50OCxpbnQ4LG51bWVyaWMsaW50NH0nLAot ICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCi0gIHByb2Fy Z25hbWVzID0+ICd7ZGJpZCxkYm9pZCxlcnJvcnMsZGJfYmxrc19yZWFkLGRiX2Jsa3NfaGl0 LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4sd3JhcGFyb3VuZF9mYWls c2FmZSx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxpbnRlcnJ1cHRzX2NvdW50fScs CisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ0LGludDgsaW50OCxpbnQ4LGlu dDgsaW50NCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsaW50OCxpbnQ4LG51bWVyaWMs aW50NH0nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tkYmlkLGRib2lkLGVycm9ycyxkYl9ibGtz X3JlYWQsZGJfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRl bix3cmFwYXJvdW5kX2ZhaWxzYWZlLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVs YXlfdGltZSx0b3RhbF90aW1lLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGludGVy cnVwdHNfY291bnR9JywKICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJh c2UnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNs dWRlL3Bnc3RhdC5oCmluZGV4IDE4ZmE5YWM1YmEuLjZhOWU4N2NmMGIgMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBAIC0x OTAsNiArMTkwLDEyIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9Db21tb25Db3VudHMKIAlp bnQ2NAkJd2FsX2ZwaTsKIAl1aW50NjQJCXdhbF9ieXRlczsKIAorCS8qIFRpbWUgKi8KKwlk b3VibGUJCWJsa19yZWFkX3RpbWU7CisJZG91YmxlCQlibGtfd3JpdGVfdGltZTsKKwlkb3Vi bGUJCWRlbGF5X3RpbWU7CisJZG91YmxlCQl0b3RhbF90aW1lOworCiAJLyogdHVwbGVzICov CiAJaW50NjQJCXR1cGxlc19kZWxldGVkOwogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVs ZXMub3V0CmluZGV4IGM2NTBjZmQ2NjQuLjk0MjM2MWRkNDIgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0yNDI5LDEyICsyNDI5LDE2IEBAIHBnX3N0YXRfdmFj dXVtX2RhdGFiYXNlfCBTRUxFQ1QgZC5vaWQgQVMgZGJvaWQsCiAgICAgcy50b3RhbF9ibGtz X2RpcnRpZWQsCiAgICAgcy50b3RhbF9ibGtzX3dyaXR0ZW4sCiAgICAgcy53cmFwYXJvdW5k X2ZhaWxzYWZlLAorICAgIHMuYmxrX3JlYWRfdGltZSwKKyAgICBzLmJsa193cml0ZV90aW1l LAorICAgIHMuZGVsYXlfdGltZSwKKyAgICBzLnRvdGFsX3RpbWUsCiAgICAgcy53YWxfcmVj b3JkcywKICAgICBzLndhbF9mcGksCiAgICAgcy53YWxfYnl0ZXMsCiAgICAgcy5pbnRlcnJ1 cHRzX2NvdW50CiAgICBGUk9NIHBnX2RhdGFiYXNlIGQsCi0gICAgTEFURVJBTCBwZ19zdGF0 X2dldF92YWN1dW1fZGF0YWJhc2UoZC5vaWQpIHMoZGJvaWQsIGVycm9ycywgZGJfYmxrc19y ZWFkLCBkYl9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0 ZW4sIHdyYXBhcm91bmRfZmFpbHNhZmUsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0 ZXMsIGludGVycnVwdHNfY291bnQpOworICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVt X2RhdGFiYXNlKGQub2lkKSBzKGRib2lkLCBlcnJvcnMsIGRiX2Jsa3NfcmVhZCwgZGJfYmxr c19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCB3cmFwYXJv dW5kX2ZhaWxzYWZlLCBibGtfcmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSwgZGVsYXlfdGlt ZSwgdG90YWxfdGltZSwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgaW50ZXJy dXB0c19jb3VudCk7CiBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzfCBTRUxFQ1QgYy5vaWQgQVMg cmVsaWQsCiAgICAgaS5vaWQgQVMgaW5kZXhyZWxpZCwKICAgICBuLm5zcG5hbWUgQVMgc2No ZW1hbmFtZSwKQEAgLTI0NDgsNiArMjQ1MiwxMCBAQCBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz fCBTRUxFQ1QgYy5vaWQgQVMgcmVsaWQsCiAgICAgcy50b3RhbF9ibGtzX3dyaXR0ZW4sCiAg ICAgcy5yZWxfYmxrc19yZWFkLAogICAgIHMucmVsX2Jsa3NfaGl0LAorICAgIHMuYmxrX3Jl YWRfdGltZSwKKyAgICBzLmJsa193cml0ZV90aW1lLAorICAgIHMuZGVsYXlfdGltZSwKKyAg ICBzLnRvdGFsX3RpbWUsCiAgICAgcy53YWxfcmVjb3JkcywKICAgICBzLndhbF9mcGksCiAg ICAgcy53YWxfYnl0ZXMKQEAgLTI0NTUsNyArMjQ2Myw3IEBAIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXN8IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKICAgICAgSk9JTiBwZ19pbmRleCB4IE9O ICgoYy5vaWQgPSB4LmluZHJlbGlkKSkpCiAgICAgIEpPSU4gcGdfY2xhc3MgaSBPTiAoKGku b2lkID0geC5pbmRleHJlbGlkKSkpCiAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBP TiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSksCi0gICAgTEFURVJBTCBwZ19zdGF0X2dl dF92YWN1dW1faW5kZXhlcyhpLm9pZCkgcyhyZWxpZCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVz X2RlbGV0ZWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3Nf ZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19yZWFkLCByZWxfYmxrc19o aXQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMpCisgICAgTEFURVJBTCBwZ19z dGF0X2dldF92YWN1dW1faW5kZXhlcyhpLm9pZCkgcyhyZWxpZCwgcGFnZXNfZGVsZXRlZCwg dHVwbGVzX2RlbGV0ZWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFs X2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19yZWFkLCByZWxf Ymxrc19oaXQsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0 b3RhbF90aW1lLCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzKQogICBXSEVSRSAo Yy5yZWxraW5kID0gQU5ZIChBUlJBWVsncic6OiJjaGFyIiwgJ3QnOjoiY2hhciIsICdtJzo6 ImNoYXIiXSkpOwogcGdfc3RhdF92YWN1dW1fdGFibGVzfCBTRUxFQ1Qgbi5uc3BuYW1lIEFT IHNjaGVtYW5hbWUsCiAgICAgYy5yZWxuYW1lLApAQCAtMjQ3NiwxMyArMjQ4NCwxNyBAQCBw Z19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCBuLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwK ICAgICBzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKICAgICBzLnJlbF9ibGtzX3JlYWQsCiAgICAg cy5yZWxfYmxrc19oaXQsCisgICAgcy5ibGtfcmVhZF90aW1lLAorICAgIHMuYmxrX3dyaXRl X3RpbWUsCisgICAgcy5kZWxheV90aW1lLAorICAgIHMudG90YWxfdGltZSwKICAgICBzLndy YXBhcm91bmRfZmFpbHNhZmUsCiAgICAgcy53YWxfcmVjb3JkcywKICAgICBzLndhbF9mcGks CiAgICAgcy53YWxfYnl0ZXMKICAgIEZST00gKHBnX2NsYXNzIGMKICAgICAgSk9JTiBwZ19u YW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSksCi0gICAgTEFURVJB TCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKGMub2lkKSBzKHJlbGlkLCBwYWdlc19zY2Fu bmVkLCBwYWdlc19yZW1vdmVkLCB0dXBsZXNfZGVsZXRlZCwgdHVwbGVzX2Zyb3plbiwgcmVj ZW50bHlfZGVhZF90dXBsZXMsIG1pc3NlZF9kZWFkX3BhZ2VzLCBtaXNzZWRfZGVhZF90dXBs ZXMsIHZtX25ld19mcm96ZW5fcGFnZXMsIHZtX25ld192aXNpYmxlX3BhZ2VzLCB2bV9uZXdf dmlzaWJsZV9mcm96ZW5fcGFnZXMsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQs IHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19yZWFk LCByZWxfYmxrc19oaXQsIHdyYXBhcm91bmRfZmFpbHNhZmUsIHdhbF9yZWNvcmRzLCB3YWxf ZnBpLCB3YWxfYnl0ZXMpCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVz KGMub2lkKSBzKHJlbGlkLCBwYWdlc19zY2FubmVkLCBwYWdlc19yZW1vdmVkLCB0dXBsZXNf ZGVsZXRlZCwgdHVwbGVzX2Zyb3plbiwgcmVjZW50bHlfZGVhZF90dXBsZXMsIG1pc3NlZF9k ZWFkX3BhZ2VzLCBtaXNzZWRfZGVhZF90dXBsZXMsIHZtX25ld19mcm96ZW5fcGFnZXMsIHZt X25ld192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIHRvdGFs X2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxf Ymxrc193cml0dGVuLCByZWxfYmxrc19yZWFkLCByZWxfYmxrc19oaXQsIGJsa19yZWFkX3Rp bWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lLCB3cmFwYXJvdW5k X2ZhaWxzYWZlLCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzKQogICBXSEVSRSAo Yy5yZWxraW5kID0gQU5ZIChBUlJBWVsncic6OiJjaGFyIiwgJ3QnOjoiY2hhciIsICdtJzo6 ImNoYXIiXSkpOwogcGdfc3RhdF93YWx8IFNFTEVDVCB3YWxfcmVjb3JkcywKICAgICB3YWxf ZnBpLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fc3Rh dHMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fc3RhdHMub3V0Cmlu ZGV4IDNkODIzZWY3YjYuLmJkM2MxNTEyZDggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvdmFjdXVtX3N0YXRzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ZhY3V1bV9zdGF0cy5vdXQKQEAgLTE0OCw2ICsxNDgsNDkgQEAgU0VMRUNUIHJl bF9ibGtzX3JlYWQgPj0gMCBBUyByZWxfYmxrc19yZWFkLAogIHQgICAgICAgICAgICAgfCB0 CiAoMSByb3cpCiAKKy0tIHRpbWluZyBtZXRyaWNzIGFuZCBmYWlsc2FmZS4gIFRoZSB2YWN1 dW0gYWx3YXlzIHRha2VzIHNvbWUgd2FsbC1jbG9jayB0aW1lCistLSAodG90YWxfdGltZSA+ IDApIGFuZCBkb2VzIG5vdCBlbmdhZ2UgdGhlIHdyYXBhcm91bmQgZmFpbHNhZmUgdW5kZXIg bm9ybWFsCistLSBjb25kaXRpb25zICh3cmFwYXJvdW5kX2ZhaWxzYWZlID0gMCkuICBibGtf cmVhZF90aW1lL2Jsa193cml0ZV90aW1lIGFyZSBvbmx5CistLSBub24temVybyB3aGVuIHRy YWNrX2lvX3RpbWluZyBpcyBlbmFibGVkLCBhbmQgZGVsYXlfdGltZSBvbmx5IHdoZW4gYSB2 YWN1dW0KKy0tIGNvc3QgZGVsYXkgaXMgY29uZmlndXJlZCwgc28gdGhvc2UgYXJlIG1lcmVs eSBjaGVja2VkIGZvciBiZWluZworLS0gbm9uLW5lZ2F0aXZlOyB0aGUgcG9zaXRpdmUgZGVs YXlfdGltZSBwYXRoIGlzIGV4ZXJjaXNlZCBzZXBhcmF0ZWx5IGJlbG93LgorU0VMRUNUIGJs a19yZWFkX3RpbWUgPj0gMCBBUyBibGtfcmVhZF90aW1lLAorICAgICAgIGJsa193cml0ZV90 aW1lID49IDAgQVMgYmxrX3dyaXRlX3RpbWUsCisgICAgICAgZGVsYXlfdGltZSA+PSAwIEFT IGRlbGF5X3RpbWUsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZSwKKyAg ICAgICB3cmFwYXJvdW5kX2ZhaWxzYWZlID0gMCBBUyB3cmFwYXJvdW5kX2ZhaWxzYWZlCisg IEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3RhdF90 JzsKKyBibGtfcmVhZF90aW1lIHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxheV90aW1lIHwgdG90 YWxfdGltZSB8IHdyYXBhcm91bmRfZmFpbHNhZmUgCistLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIHQgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQgICAgICAgICAgfCB0 ICAgICAgICAgIHwgdAorKDEgcm93KQorCistLSBkZWxheSBwYXRoOiB3aXRoIGEgdmFjdXVt IGNvc3QgZGVsYXkgY29uZmlndXJlZCwgYSB2YWN1dW0gdGhhdCBhY2NydWVzIGNvc3QKKy0t IHNsZWVwcywgc28gZGVsYXlfdGltZSBhZHZhbmNlcy4KK0NSRUFURSBUQUJMRSB2YWNzdGF0 X2RlbGF5IChpZCBpbnQgUFJJTUFSWSBLRVksIHYgdGV4dCkKKyAgV0lUSCAoYXV0b3ZhY3V1 bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmFjc3Rh dF9kZWxheSBTRUxFQ1QgZywgcmVwZWF0KCd4JywgMTAwKSBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLCAzMDAwKSBnOworREVMRVRFIEZST00gdmFjc3RhdF9kZWxheSBXSEVSRSBpZCAlIDIg PSAwOworU0VUIHZhY3V1bV9jb3N0X2RlbGF5ID0gJzFtcyc7CitTRVQgdmFjdXVtX2Nvc3Rf bGltaXQgPSAxOworVkFDVVVNIHZhY3N0YXRfZGVsYXk7CitTRUxFQ1QgcGdfc3RhdF9mb3Jj ZV9uZXh0X2ZsdXNoKCk7CisgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworUkVTRVQgdmFjdXVtX2Nvc3RfZGVs YXk7CitSRVNFVCB2YWN1dW1fY29zdF9saW1pdDsKK1NFTEVDVCBkZWxheV90aW1lID4gMCBB UyBkZWxheV90aW1lLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKKyAg RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2YWNzdGF0X2Rl bGF5JzsKKyBkZWxheV90aW1lIHwgdG90YWxfdGltZSAKKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0KKyB0ICAgICAgICAgIHwgdAorKDEgcm93KQorCitEUk9QIFRBQkxFIHZhY3N0YXRf ZGVsYXk7CiAtLSBXQUwgbWV0cmljcy4gIEEgdmFjdXVtIHRoYXQgcmVtb3ZlcyB0dXBsZXMg YWx3YXlzIGVtaXRzIFdBTAogLS0gKHdhbF9yZWNvcmRzID4gMCwgd2FsX2J5dGVzID4gMCku ICB3YWxfZnBpIGRlcGVuZHMgb24gd2hldGhlciBhIGNoZWNrcG9pbnQKIC0tIGhhcHBlbmVk IHJlY2VudGx5LCBzbyBpdCBpcyBvbmx5IGNoZWNrZWQgZm9yIGJlaW5nIG5vbi1uZWdhdGl2 ZSBoZXJlOyB0aGUKQEAgLTE4NiwxNyArMjI5LDYgQEAgU0VMRUNUIHdhbF9yZWNvcmRzID4g MCBBUyB3YWxfcmVjb3JkcywKICgxIHJvdykKIAogRFJPUCBUQUJMRSB2YWNzdGF0X2ZwaTsK LS0tIHdyYXBhcm91bmQgZmFpbHNhZmUuICBBIG5vcm1hbCB2YWN1dW0gZG9lcyBub3QgZW5n YWdlIHRoZSB3cmFwYXJvdW5kCi0tLSBmYWlsc2FmZSAod3JhcGFyb3VuZF9mYWlsc2FmZSA9 IDApLiAgVGhlIHBvc2l0aXZlIHBhdGggcmVxdWlyZXMgcmVhY2hpbmcgdGhlCi0tLSBmYWls c2FmZSBYSUQgYWdlIGFuZCBpcyBjb3ZlcmVkIGJ5IGEgc2VwYXJhdGUgVEFQIHRlc3QgdW5k ZXIKLS0tIHNyYy90ZXN0L21vZHVsZXMveGlkX3dyYXBhcm91bmQuCi1TRUxFQ1Qgd3JhcGFy b3VuZF9mYWlsc2FmZSA9IDAgQVMgd3JhcGFyb3VuZF9mYWlsc2FmZQotICBGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3ZhY3N0YXRfdCc7Ci0gd3JhcGFy b3VuZF9mYWlsc2FmZSAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHQKLSgxIHJvdykKLQog LS0gcGVyLWluZGV4IHZpZXc6IHRoZSBwcmltYXJ5IGtleSBpbmRleCBpcyBwcm9jZXNzZWQg YnkgdGhlIHNhbWUgVkFDVVVNLgogLS0gTm8gYnRyZWUgbGVhZiBlbXB0aWVzIG91dCAoaW50 ZXJsZWF2ZWQgZGVsZXRpb25zKSwgc28gcGFnZXNfZGVsZXRlZCA9IDAsCiAtLSB3aGlsZSBl dmVyeSBpbmRleCBlbnRyeSBmb3IgYSByZW1vdmVkIGhlYXAgdHVwbGUgaXMgZGVsZXRlZC4g IFRoZSBpbmRleCBpcwpAQCAtMjExLDEzICsyNDMsMTcgQEAgU0VMRUNUIGluZGV4cmVsbmFt ZSwKICAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPj0gMCBBUyB0b3RhbF9ibGtzX3dyaXR0 ZW4sCiAgICAgICAgcmVsX2Jsa3NfcmVhZCA+PSAwIEFTIHJlbF9ibGtzX3JlYWQsCiAgICAg ICAgcmVsX2Jsa3NfaGl0ID4gMCBBUyByZWxfYmxrc19oaXQsCisgICAgICAgYmxrX3JlYWRf dGltZSA+PSAwIEFTIGJsa19yZWFkX3RpbWUsCisgICAgICAgYmxrX3dyaXRlX3RpbWUgPj0g MCBBUyBibGtfd3JpdGVfdGltZSwKKyAgICAgICBkZWxheV90aW1lID49IDAgQVMgZGVsYXlf dGltZSwKKyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lLAogICAgICAgIHdh bF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKICAgICAgICB3YWxfZnBpID49IDAgQVMg d2FsX2ZwaSwKICAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRlcwogICBGUk9NIHBn X3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2YWNzdGF0X3QnIE9SREVS IEJZIGluZGV4cmVsbmFtZTsKLSAgaW5kZXhyZWxuYW1lICB8IHBhZ2VzX2RlbGV0ZWQgfCB0 dXBsZXNfZGVsZXRlZCB8IHRvdGFsX2Jsa3NfcmVhZCB8IHRvdGFsX2Jsa3NfaGl0IHwgdG90 YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwgcmVsX2Jsa3NfcmVhZCB8 IHJlbF9ibGtzX2hpdCB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyAKLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0KLSB2YWNzdGF0X3RfcGtleSB8IHQgICAg ICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICB8IHQgICAgICAg ICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAg ICAgICAgICAgICB8IHQgICAgICAgICAgICB8IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQK KyAgaW5kZXhyZWxuYW1lICB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCB8IHRv dGFsX2Jsa3NfcmVhZCB8IHRvdGFsX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwg dG90YWxfYmxrc193cml0dGVuIHwgcmVsX2Jsa3NfcmVhZCB8IHJlbF9ibGtzX2hpdCB8IGJs a19yZWFkX3RpbWUgfCBibGtfd3JpdGVfdGltZSB8IGRlbGF5X3RpbWUgfCB0b3RhbF90aW1l IHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIAorLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgdmFjc3RhdF90X3BrZXkgfCB0ICAgICAgICAgICAg IHwgdCAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8 IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAg ICAgfCB0ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCB0 ICAgICAgICAgIHwgdCAgICAgICAgICB8IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQKICgx IHJvdykKIAogLS0gaW5kZXggcGFnZS1kZWxldGlvbiBwYXRoOiBkZWxldGluZyBhIGNvbnRp Z3VvdXMga2V5IHJhbmdlIGVtcHRpZXMgd2hvbGUKQEAgLTI1MywyMCArMjg5LDI0IEBAIFNF TEVDVCBpbmRleHJlbG5hbWUsCiBEUk9QIFRBQkxFIHZhY3N0YXRfaWR4ZGVsOwogLS0gcGVy LWRhdGFiYXNlIGFnZ3JlZ2F0ZSB2aWV3OiBubyB2YWN1dW0gZXJyb3JzIG9jY3VycmVkIGlu IHRoaXMgZGF0YWJhc2UsIGFuZAogLS0gdGhlIHZhY3V1bXMgaW4gdGhpcyBkYXRhYmFzZSB0 b3VjaGVkIHBhZ2VzIHRocm91Z2ggdGhlIGJ1ZmZlciBjYWNoZQotLS0gKGRiX2Jsa3NfaGl0 ID4gMCkgYW5kIGVtaXQgV0FMICh3YWxfcmVjb3JkcyA+IDApLgorLS0gKGRiX2Jsa3NfaGl0 ID4gMCkuCiBTRUxFQ1QgZXJyb3JzID0gMCBBUyBlcnJvcnMsCiAgICAgICAgZGJfYmxrc19y ZWFkID49IDAgQVMgZGJfYmxrc19yZWFkLAogICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBk Yl9ibGtzX2hpdCwKICAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPj0gMCBBUyB0b3RhbF9i bGtzX2RpcnRpZWQsCiAgICAgICAgdG90YWxfYmxrc193cml0dGVuID49IDAgQVMgdG90YWxf Ymxrc193cml0dGVuLAogICAgICAgIHdyYXBhcm91bmRfZmFpbHNhZmUgPSAwIEFTIHdyYXBh cm91bmRfZmFpbHNhZmUsCisgICAgICAgYmxrX3JlYWRfdGltZSA+PSAwIEFTIGJsa19yZWFk X3RpbWUsCisgICAgICAgYmxrX3dyaXRlX3RpbWUgPj0gMCBBUyBibGtfd3JpdGVfdGltZSwK KyAgICAgICBkZWxheV90aW1lID49IDAgQVMgZGVsYXlfdGltZSwKKyAgICAgICB0b3RhbF90 aW1lID4gMCBBUyB0b3RhbF90aW1lLAogICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxf cmVjb3JkcywKICAgICAgICB3YWxfZnBpID49IDAgQVMgd2FsX2ZwaSwKICAgICAgICB3YWxf Ynl0ZXMgPiAwIEFTIHdhbF9ieXRlcwogICBGUk9NIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNl IFdIRVJFIGRibmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKTsKLSBlcnJvcnMgfCBkYl9ibGtz X3JlYWQgfCBkYl9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nf d3JpdHRlbiB8IHdyYXBhcm91bmRfZmFpbHNhZmUgfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkg fCB3YWxfYnl0ZXMgCi0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLQotIHQgICAgICB8 IHQgICAgICAgICAgICB8IHQgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAg ICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgIHwg dCAgICAgICB8IHQKKyBlcnJvcnMgfCBkYl9ibGtzX3JlYWQgfCBkYl9ibGtzX2hpdCB8IHRv dGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHdyYXBhcm91bmRfZmFp bHNhZmUgfCBibGtfcmVhZF90aW1lIHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxheV90aW1lIHwg dG90YWxfdGltZSB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyAKKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyB0ICAgICAgfCB0ICAgICAgICAgICAg fCB0ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAg ICB8IHQgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdCAgICAgICAgICAg ICAgfCB0ICAgICAgICAgIHwgdCAgICAgICAgICB8IHQgICAgICAgICAgIHwgdCAgICAgICB8 IHQKICgxIHJvdykKIAogLS0gcGFyYWxsZWwgaW5kZXggdmFjdXVtOiBpbmRleCBzdGF0aXN0 aWNzIG11c3QgYmUgY2FwdHVyZWQgZm9yIGluZGV4ZXMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92 YWN1dW1fc3RhdHMuc3FsCmluZGV4IDQwZjdkMDk4NWQuLmJhZjVhY2RhZmQgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9zdGF0cy5zcWwKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9zcWwvdmFjdXVtX3N0YXRzLnNxbApAQCAtOTgsNiArOTgsMzYgQEAgU0VM RUNUIHJlbF9ibGtzX3JlYWQgPj0gMCBBUyByZWxfYmxrc19yZWFkLAogICAgICAgIHJlbF9i bGtzX2hpdCA+IDAgQVMgcmVsX2Jsa3NfaGl0CiAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIFdIRVJFIHJlbG5hbWUgPSAndmFjc3RhdF90JzsKIAorLS0gdGltaW5nIG1ldHJpY3Mg YW5kIGZhaWxzYWZlLiAgVGhlIHZhY3V1bSBhbHdheXMgdGFrZXMgc29tZSB3YWxsLWNsb2Nr IHRpbWUKKy0tICh0b3RhbF90aW1lID4gMCkgYW5kIGRvZXMgbm90IGVuZ2FnZSB0aGUgd3Jh cGFyb3VuZCBmYWlsc2FmZSB1bmRlciBub3JtYWwKKy0tIGNvbmRpdGlvbnMgKHdyYXBhcm91 bmRfZmFpbHNhZmUgPSAwKS4gIGJsa19yZWFkX3RpbWUvYmxrX3dyaXRlX3RpbWUgYXJlIG9u bHkKKy0tIG5vbi16ZXJvIHdoZW4gdHJhY2tfaW9fdGltaW5nIGlzIGVuYWJsZWQsIGFuZCBk ZWxheV90aW1lIG9ubHkgd2hlbiBhIHZhY3V1bQorLS0gY29zdCBkZWxheSBpcyBjb25maWd1 cmVkLCBzbyB0aG9zZSBhcmUgbWVyZWx5IGNoZWNrZWQgZm9yIGJlaW5nCistLSBub24tbmVn YXRpdmU7IHRoZSBwb3NpdGl2ZSBkZWxheV90aW1lIHBhdGggaXMgZXhlcmNpc2VkIHNlcGFy YXRlbHkgYmVsb3cuCitTRUxFQ1QgYmxrX3JlYWRfdGltZSA+PSAwIEFTIGJsa19yZWFkX3Rp bWUsCisgICAgICAgYmxrX3dyaXRlX3RpbWUgPj0gMCBBUyBibGtfd3JpdGVfdGltZSwKKyAg ICAgICBkZWxheV90aW1lID49IDAgQVMgZGVsYXlfdGltZSwKKyAgICAgICB0b3RhbF90aW1l ID4gMCBBUyB0b3RhbF90aW1lLAorICAgICAgIHdyYXBhcm91bmRfZmFpbHNhZmUgPSAwIEFT IHdyYXBhcm91bmRfZmFpbHNhZmUKKyAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hF UkUgcmVsbmFtZSA9ICd2YWNzdGF0X3QnOworCistLSBkZWxheSBwYXRoOiB3aXRoIGEgdmFj dXVtIGNvc3QgZGVsYXkgY29uZmlndXJlZCwgYSB2YWN1dW0gdGhhdCBhY2NydWVzIGNvc3QK Ky0tIHNsZWVwcywgc28gZGVsYXlfdGltZSBhZHZhbmNlcy4KK0NSRUFURSBUQUJMRSB2YWNz dGF0X2RlbGF5IChpZCBpbnQgUFJJTUFSWSBLRVksIHYgdGV4dCkKKyAgV0lUSCAoYXV0b3Zh Y3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmFj c3RhdF9kZWxheSBTRUxFQ1QgZywgcmVwZWF0KCd4JywgMTAwKSBGUk9NIGdlbmVyYXRlX3Nl cmllcygxLCAzMDAwKSBnOworREVMRVRFIEZST00gdmFjc3RhdF9kZWxheSBXSEVSRSBpZCAl IDIgPSAwOworU0VUIHZhY3V1bV9jb3N0X2RlbGF5ID0gJzFtcyc7CitTRVQgdmFjdXVtX2Nv c3RfbGltaXQgPSAxOworVkFDVVVNIHZhY3N0YXRfZGVsYXk7CitTRUxFQ1QgcGdfc3RhdF9m b3JjZV9uZXh0X2ZsdXNoKCk7CitSRVNFVCB2YWN1dW1fY29zdF9kZWxheTsKK1JFU0VUIHZh Y3V1bV9jb3N0X2xpbWl0OworU0VMRUNUIGRlbGF5X3RpbWUgPiAwIEFTIGRlbGF5X3RpbWUs CisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorICBGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3ZhY3N0YXRfZGVsYXknOworRFJPUCBU QUJMRSB2YWNzdGF0X2RlbGF5OworCiAtLSBXQUwgbWV0cmljcy4gIEEgdmFjdXVtIHRoYXQg cmVtb3ZlcyB0dXBsZXMgYWx3YXlzIGVtaXRzIFdBTAogLS0gKHdhbF9yZWNvcmRzID4gMCwg d2FsX2J5dGVzID4gMCkuICB3YWxfZnBpIGRlcGVuZHMgb24gd2hldGhlciBhIGNoZWNrcG9p bnQKIC0tIGhhcHBlbmVkIHJlY2VudGx5LCBzbyBpdCBpcyBvbmx5IGNoZWNrZWQgZm9yIGJl aW5nIG5vbi1uZWdhdGl2ZSBoZXJlOyB0aGUKQEAgLTEyMywxMyArMTUzLDYgQEAgU0VMRUNU IHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKICAgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2YWNzdGF0X2ZwaSc7CiBEUk9QIFRBQkxFIHZh Y3N0YXRfZnBpOwogCi0tLSB3cmFwYXJvdW5kIGZhaWxzYWZlLiAgQSBub3JtYWwgdmFjdXVt IGRvZXMgbm90IGVuZ2FnZSB0aGUgd3JhcGFyb3VuZAotLS0gZmFpbHNhZmUgKHdyYXBhcm91 bmRfZmFpbHNhZmUgPSAwKS4gIFRoZSBwb3NpdGl2ZSBwYXRoIHJlcXVpcmVzIHJlYWNoaW5n IHRoZQotLS0gZmFpbHNhZmUgWElEIGFnZSBhbmQgaXMgY292ZXJlZCBieSBhIHNlcGFyYXRl IFRBUCB0ZXN0IHVuZGVyCi0tLSBzcmMvdGVzdC9tb2R1bGVzL3hpZF93cmFwYXJvdW5kLgot U0VMRUNUIHdyYXBhcm91bmRfZmFpbHNhZmUgPSAwIEFTIHdyYXBhcm91bmRfZmFpbHNhZmUK LSAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2YWNzdGF0 X3QnOwotCiAtLSBwZXItaW5kZXggdmlldzogdGhlIHByaW1hcnkga2V5IGluZGV4IGlzIHBy b2Nlc3NlZCBieSB0aGUgc2FtZSBWQUNVVU0uCiAtLSBObyBidHJlZSBsZWFmIGVtcHRpZXMg b3V0IChpbnRlcmxlYXZlZCBkZWxldGlvbnMpLCBzbyBwYWdlc19kZWxldGVkID0gMCwKIC0t IHdoaWxlIGV2ZXJ5IGluZGV4IGVudHJ5IGZvciBhIHJlbW92ZWQgaGVhcCB0dXBsZSBpcyBk ZWxldGVkLiAgVGhlIGluZGV4IGlzCkBAIC0xNDQsNiArMTY3LDEwIEBAIFNFTEVDVCBpbmRl eHJlbG5hbWUsCiAgICAgICAgdG90YWxfYmxrc193cml0dGVuID49IDAgQVMgdG90YWxfYmxr c193cml0dGVuLAogICAgICAgIHJlbF9ibGtzX3JlYWQgPj0gMCBBUyByZWxfYmxrc19yZWFk LAogICAgICAgIHJlbF9ibGtzX2hpdCA+IDAgQVMgcmVsX2Jsa3NfaGl0LAorICAgICAgIGJs a19yZWFkX3RpbWUgPj0gMCBBUyBibGtfcmVhZF90aW1lLAorICAgICAgIGJsa193cml0ZV90 aW1lID49IDAgQVMgYmxrX3dyaXRlX3RpbWUsCisgICAgICAgZGVsYXlfdGltZSA+PSAwIEFT IGRlbGF5X3RpbWUsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZSwKICAg ICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCiAgICAgICAgd2FsX2ZwaSA+ PSAwIEFTIHdhbF9mcGksCiAgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMKQEAg LTE2OCwxMyArMTk1LDE3IEBAIERST1AgVEFCTEUgdmFjc3RhdF9pZHhkZWw7CiAKIC0tIHBl ci1kYXRhYmFzZSBhZ2dyZWdhdGUgdmlldzogbm8gdmFjdXVtIGVycm9ycyBvY2N1cnJlZCBp biB0aGlzIGRhdGFiYXNlLCBhbmQKIC0tIHRoZSB2YWN1dW1zIGluIHRoaXMgZGF0YWJhc2Ug dG91Y2hlZCBwYWdlcyB0aHJvdWdoIHRoZSBidWZmZXIgY2FjaGUKLS0tIChkYl9ibGtzX2hp dCA+IDApIGFuZCBlbWl0IFdBTCAod2FsX3JlY29yZHMgPiAwKS4KKy0tIChkYl9ibGtzX2hp dCA+IDApLgogU0VMRUNUIGVycm9ycyA9IDAgQVMgZXJyb3JzLAogICAgICAgIGRiX2Jsa3Nf cmVhZCA+PSAwIEFTIGRiX2Jsa3NfcmVhZCwKICAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMg ZGJfYmxrc19oaXQsCiAgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID49IDAgQVMgdG90YWxf Ymxrc19kaXJ0aWVkLAogICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+PSAwIEFTIHRvdGFs X2Jsa3Nfd3JpdHRlbiwKICAgICAgICB3cmFwYXJvdW5kX2ZhaWxzYWZlID0gMCBBUyB3cmFw YXJvdW5kX2ZhaWxzYWZlLAorICAgICAgIGJsa19yZWFkX3RpbWUgPj0gMCBBUyBibGtfcmVh ZF90aW1lLAorICAgICAgIGJsa193cml0ZV90aW1lID49IDAgQVMgYmxrX3dyaXRlX3RpbWUs CisgICAgICAgZGVsYXlfdGltZSA+PSAwIEFTIGRlbGF5X3RpbWUsCisgICAgICAgdG90YWxf dGltZSA+IDAgQVMgdG90YWxfdGltZSwKICAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2Fs X3JlY29yZHMsCiAgICAgICAgd2FsX2ZwaSA+PSAwIEFTIHdhbF9mcGksCiAgICAgICAgd2Fs X2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMKLS0gCjIuMzkuNSAoQXBwbGUgR2l0LTE1NCkKCg== --------------iWaNFCp60Ha1jovLeWGuqq8d--