Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tXIU9-005Lrj-1k for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Jan 2025 11:19:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tXIU6-009uDU-SX for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Jan 2025 11:19:55 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tXIU6-009uDM-2h for pgsql-hackers@lists.postgresql.org; Mon, 13 Jan 2025 11:19:54 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tXIU1-000A7U-0i for pgsql-hackers@postgresql.org; Mon, 13 Jan 2025 11:19:53 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1736767187; bh=W2sTQix1y7+pFEMPSjGV1+NPDoIUQXlHDsn7QIgpY2E=; h=Message-ID:Date:User-Agent:Subject:From:To:Cc:References: In-Reply-To:From; b=jkXq8yU3PShx5ysYamltfNaa8cDYZ4L8iVfIkHkNgjJuXEjev56thtA/7dHM1v0Zi OloKmH3PkPeanHdio+QdULem6HxFkG0yyYojH4pTXGNIZu5eTb4JNA7vmdaSFaBeeA vqXBGOf1z6aRztT6hyWHf0TEtpWxREvO5wdrzjOhVP6ukpW2OIlbJFuNa4/NvNx7tS 7MjyVX+jin9Wz3ZrP7bl3IcHnKnru53PtlvNbjrLJS1METD+OMh7juuhXRVCoFtnOM q1w8QHU9J4BtN9uG1vy3a5cUmReizjmtgR1UpcDmODfmhvlAejPDb4b0fC8AQ7CgCz z7/lENWuJkNuA== Received: from [10.4.12.74] (unknown [93.174.131.141]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: a.rybakina@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id A4E4260728; Mon, 13 Jan 2025 14:19:46 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------1N7uCv2Ri6D0kHZe2mz9ca8z" Message-ID: <1e81a0a1-a63b-48fb-905a-d6495f89ab73@postgrespro.ru> Date: Mon, 13 Jan 2025 14:19:46 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics From: Alena Rybakina To: Alexander Korotkov , Jim Nasby , Ilia Evdokimov , Kirill Reshke , Sami Imseih Cc: Andrei Zubkov , Masahiko Sawada , Melanie Plageman , jian he , pgsql-hackers , a.lepikhov@postgrespro.ru References: <9485d892-fd04-4e3a-ac24-7dd767cb7333@postgrespro.ru> <0B6CBF4C-CC2A-4200-9126-CE3A390D938B@upgrade.com> <6732acf8ce0f31025b535ae1a64568750924a887.camel@moonset.ru> <5AA8FFD5-6DE2-4A31-8E00-AE98F738F5D1@upgrade.com> <85b963fe-5977-43aa-9241-75b862abcc69@postgrespro.ru> <9C7A167C-DCDE-4A17-9ABE-6276723FEC50@upgrade.com> <2d493cf9-9ba7-4cc1-a3f2-67afd7c163ee@postgrespro.ru> <30d54302-9e9c-4e04-819e-a13b679cdcc8@postgrespro.ru> <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> Content-Language: en-US In-Reply-To: <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> X-KSMG-AntiPhishing: NotDetected, bases: 2025/01/13 09:45:00 X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2025/01/13 07:04:00 #26996016 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------1N7uCv2Ri6D0kHZe2mz9ca8z Content-Type: multipart/alternative; boundary="------------M7gbw0o6kEn5gIBiruWhsQc0" --------------M7gbw0o6kEn5gIBiruWhsQc0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, all! I updated the patches and I solved the problems with parallel vacuum. On 19.12.2024 13:37, Alena Rybakina wrote: > > Hi! I updated patch. > > On 02.12.2024 23:12, Alena Rybakina wrote: >> On 02.12.2024 11:27, Alexander Korotkov wrote: >>> Hi, Alena! >>> >>> On Wed, Nov 13, 2024 at 6:21 PM Alena Rybakina >>> wrote: >>>> Updated 0001-v13 attached, as well as the diff between v12 and v13. >>>> >>>> Thank you) >>>> >>>> And I agree with your changes. And included them in patches. >>> Thank you for the updated patchset. Some points from me. >>> >>> * I've read the previous discussion on how important to keep all these >>> fields regarding vacuum statistics including points by Andrei and Jim. >>> It still worrying me that statistics volume is going to burst in about >>> 3 times, but I don't have a particular proposal on how to make more >>> granular approach. I wonder if you could propose something. > > I propose to solve this with a guc (track_vacuum_statistics) that will > allow us to disable statistics collection or enable it back when > needed. This statistics is useful if you collect it over a certain > period of time and watch the dynamics of the change, so I think a hook > will not hurt here. > > I also added new statistics vm_new_visible_frozen_pages due to the > dc6acfd commit and renamed some of my statistics from frozen_pages to > vm_new_frozen_pages and all-visible_pages to vm_new_visible_pages. I > also added statistics missed_tupes, missed_pages. Both are necessary > to take into account how many tuples were not cleared by vacuum due to > failure to acquire a cleanup lock on a heap page. The second > statistics missed_pages will allow you to track whether this is one > particular page or not. > > This information can make it clear that perhaps the data is broken > somewhere or there is an error in the operation of the database, for > example. > I changed the purpose of the guc. By default, vacuum database statistics are always collected, and the track_vacuum_statistics hook enables the ability to collect extended statistics for a given database's relations. This is done to achieve a balance between the allocated memory for storing statistics and having the necessary monitoring at hand to track the state of vacuum operation. In addition to the fact that there are far fewer databases in a system than relations, vacuum statistics for a database contain fewer statistics than relations, but they are enough to indicate that something may be wrong in the system and prompt the administrator to enable extended monitoring for relations. By default, the guc is disabled. > I also noticed that my stats for indexes were not being collected > while parallel vacuum was running. I fixed it by adding some extra > code that basically captured changes to the > parallel_vacuum_process_all_indexes function. I used a script like > this to check if everything was correct. > > pgbench -d postgres -i -s 10 > > > my/inst/bin/pg_basebackup -D ~/backup > > > #psql > > --check parallel vacuum statistics > > create index accounts_idx1 on pgbench_accounts(bid); > create index accounts_idx2 on pgbench_accounts(aid, bid); > > delete from pgbench_accounts where aid >5; > set max_parallel_maintenance_workers = 8; > VACUUM (PARALLEL 3) pgbench_accounts; > > > create index accounts_idx1 on pgbench_accounts(bid); > create index accounts_idx2 on pgbench_accounts(aid, bid); > > delete from pgbench_accounts where aid >5; > set max_parallel_maintenance_workers = 8; > VACUUM (PARALLEL 3) pgbench_accounts; > > > pg_ctl -D ../postgres_data11 -l logfile stop > > rm -rf ../postgres_data/* > > cp -r ~/backup/* ~/postgres_data/ > > pg_ctl -D ../postgres_data11 -l logfile start > > > --check vacuum statistics processed by postmaster only > > create index accounts_idx1 on pgbench_accounts(bid); > create index accounts_idx2 on pgbench_accounts(aid, bid); > > delete from pgbench_accounts where aid >5; > set max_parallel_maintenance_workers = 8; > VACUUM (PARALLEL 0) pgbench_accounts; > > I noticed that rel_blks_read and rel_blks_hit are too small compared > to the vacuum statistics when the vacuum is not parallel. I suspect > that this problem is related to the fact that the relationship > statistics have not reached that time. You can see that they are > calculated in my patch like this: > > report->blks_fetched = >     rel->pgstat_info->counts.blocks_fetched - counters->blocks_fetched; >   report->blks_hit = >     rel->pgstat_info->counts.blocks_hit - counters->blocks_hit; > > > The second thing that bothered me was that some table stats differ in > the fields total_blks_read, rel_blks_read, pages_removed. If with the > buffer this could be related to the fact that in a single run we rely > on the stats of the global buffer and shaft statistics and this could > explain why there are more of them, then with pages_removed I have no > explanation yet as to what could have happened. I am still studying this. > > When you have time, take a look at the patches, I will be glad to > receive any feedback. > I fixed this problem. Now the statistics of parallel and non-parallel vacuums are almost equal. See files output_vacuum_0_workers and output_vacuum_3_workers. The results were obtained from the test that I described above. In fact, we need to add tracking statistics in the parallel_vacuum_one_index. But I noticed another problem that I have already fixed. Vacuum statistics for indexes were accumulated in heap vacuum statistics because of the complexity of vacuum operations, namely, vacuum statistics for index cleaning were included in heap relationship vacuum statistics. Vacuum switches from cleaning the table to its indexes and back during its operation, and we need to take this into account. So, before cleaning indexes, we now save the collected vacuum statistics for the heap, but we send it only after the processing is complete. > To view statistics: > > select vt.relname, total_blks_read AS total_blks_read, >   total_blks_hit AS total_blks_hit, >   total_blks_dirtied AS total_blks_dirtied, >   total_blks_written AS total_blks_written, > >   rel_blks_read AS rel_blks_read, >   rel_blks_hit AS rel_blks_hit, > >   pages_deleted AS pages_deleted, >   tuples_deleted AS tuples_deleted, > >   wal_records AS wal_records, >   wal_fpi AS wal_fpi, >   wal_bytes AS wal_bytes, > >   blk_read_time AS blk_read_time, >   blk_write_time AS blk_write_time, > >   delay_time AS delay_time, >   total_time AS total_time >   FROM pg_stat_get_vacuum_indexes vt, pg_class c > WHERE (vt.relname='accounts_idx1' or vt.relname='accounts_idx2' or > vt.relname = 'pgbench_accounts_pkey') AND vt.relid = c.oid; > > > select stats.relname,stats.total_blks_read AS total_blks_read, >   stats.total_blks_hit AS total_blks_hit, >   stats.total_blks_dirtied AS total_blks_dirtied, >   stats.total_blks_written AS total_blks_written, > >   stats.rel_blks_read AS rel_blks_read, >   stats.rel_blks_hit AS rel_blks_hit, > >   stats.pages_scanned AS pages_scanned, >   stats.pages_removed AS pages_removed, >   stats.pages_frozen AS pages_frozen, >   stats.pages_all_visible AS pages_all_visible, >   stats.tuples_deleted AS tuples_deleted, >   stats.tuples_frozen AS tuples_frozen, >   stats.dead_tuples AS dead_tuples, > >   stats.index_vacuum_count AS index_vacuum_count, >   stats.wal_records AS wal_records, >   stats.wal_fpi AS wal_fpi, >   stats.wal_bytes AS wal_bytes, > >   stats.blk_read_time AS blk_read_time, >   stats.blk_write_time AS blk_write_time, > >   stats.delay_time AS delay_time, >   stats.total_time AS total_time from pg_stat_vacuum_tables stats, > pg_stat_all_tables  WHERE stats.relname = 'pgbench_accounts' and > stats.relid = pg_stat_all_tables.relid; > > Just in case, I'll write that during the test I used simpler queries: select * from pg_stat_vacuum_tables where relname like '%accounts%'; select * from pg_stat_vacuum_indexes where relname like '%accounts_%'; -- Regards, Alena Rybakina Postgres Professional --------------M7gbw0o6kEn5gIBiruWhsQc0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Hi, all! I updated the patches and I solved the problems with parallel vacuum.

On 19.12.2024 13:37, Alena Rybakina wrote:

Hi! I updated patch.

On 02.12.2024 23:12, Alena Rybakina wrote:
On 02.12.2024 11:27, Alexander Korotkov wrote:
Hi, Alena!

On Wed, Nov 13, 2024 at 6:21 PM Alena Rybakina
<a.rybakina@postgrespro.ru> wrote:
Updated 0001-v13 attached, as well as the diff between v12 and v13.

Thank you)

And I agree with your changes. And included them in patches.
Thank you for the updated patchset.  Some points from me.

* I've read the previous discussion on how important to keep all these
fields regarding vacuum statistics including points by Andrei and Jim.
It still worrying me that statistics volume is going to burst in about
3 times, but I don't have a particular proposal on how to make more
granular approach.  I wonder if you could propose something.

I propose to solve this with a guc (track_vacuum_statistics) that will allow us to disable statistics collection or enable it back when needed. This statistics is useful if you collect it over a certain period of time and watch the dynamics of the change, so I think a hook will not hurt here. 

I also added new statistics vm_new_visible_frozen_pages due to the dc6acfd commit and renamed some of my statistics from frozen_pages to vm_new_frozen_pages and all-visible_pages to vm_new_visible_pages. I also added statistics missed_tupes, missed_pages. Both are necessary to take into account how many tuples were not cleared by vacuum due to failure to acquire a cleanup lock on a heap page. The second statistics missed_pages will allow you to track whether this is one particular page or not. 

This information can make it clear that perhaps the data is broken somewhere or there is an error in the operation of the database, for example.

I changed the purpose of the guc. By default, vacuum database statistics are always collected, and the track_vacuum_statistics hook enables the ability to collect extended statistics for a given database's relations.
This is done to achieve a balance between the allocated memory for storing statistics and having the necessary monitoring at hand to track the state of vacuum operation.
In addition to the fact that there are far fewer databases in a system than relations, vacuum statistics for a database contain fewer statistics than relations, but
they are enough to indicate that something may be wrong in the system and prompt the administrator to enable extended monitoring for relations.

By default, the guc is disabled.

I also noticed that my stats for indexes were not being collected while parallel vacuum was running. I fixed it by adding some extra code that basically captured changes to the parallel_vacuum_process_all_indexes function. I used a script like this to check if everything was correct.

pgbench -d postgres -i -s 10


my/inst/bin/pg_basebackup -D ~/backup


#psql

--check parallel vacuum statistics

create index accounts_idx1 on pgbench_accounts(bid);
create index accounts_idx2 on pgbench_accounts(aid, bid);

delete from pgbench_accounts where aid >5;
set max_parallel_maintenance_workers = 8;
VACUUM (PARALLEL 3) pgbench_accounts;


create index accounts_idx1 on pgbench_accounts(bid);
create index accounts_idx2 on pgbench_accounts(aid, bid);

delete from pgbench_accounts where aid >5;
set max_parallel_maintenance_workers = 8;
VACUUM (PARALLEL 3) pgbench_accounts;


pg_ctl -D ../postgres_data11 -l logfile stop

rm -rf ../postgres_data/*

cp -r ~/backup/* ~/postgres_data/

pg_ctl -D ../postgres_data11 -l logfile start


--check vacuum statistics processed by postmaster only

create index accounts_idx1 on pgbench_accounts(bid);
create index accounts_idx2 on pgbench_accounts(aid, bid);

delete from pgbench_accounts where aid >5;
set max_parallel_maintenance_workers = 8;
VACUUM (PARALLEL 0) pgbench_accounts;

I noticed that rel_blks_read and rel_blks_hit are too small compared to the vacuum statistics when the vacuum is not parallel. I suspect that this problem is related to the fact that the relationship statistics have not reached that time. You can see that they are calculated in my patch like this:

report->blks_fetched =
    rel->pgstat_info->counts.blocks_fetched - counters->blocks_fetched;
  report->blks_hit =
    rel->pgstat_info->counts.blocks_hit - counters->blocks_hit;


The second thing that bothered me was that some table stats differ in the fields total_blks_read, rel_blks_read, pages_removed. If with the buffer this could be related to the fact that in a single run we rely on the stats of the global buffer and shaft statistics and this could explain why there are more of them, then with pages_removed I have no explanation yet as to what could have happened. I am still studying this.

When you have time, take a look at the patches, I will be glad to receive any feedback.

I fixed this problem. Now the statistics of parallel and non-parallel vacuums are almost equal. See files output_vacuum_0_workers and output_vacuum_3_workers. The results were obtained from the test that I described above.
In fact, we need to add tracking statistics in the parallel_vacuum_one_index. But I noticed another problem that I have already fixed.

Vacuum statistics for indexes were accumulated in heap vacuum statistics because of the complexity of vacuum operations,
namely, vacuum statistics for index cleaning were included in heap relationship vacuum statistics.
Vacuum switches from cleaning the table to its indexes and back during its operation, and we need to take this into account.
So, before cleaning indexes, we now save the collected vacuum statistics for the heap, but we send it only after the processing is complete.

To view statistics:

select vt.relname, total_blks_read AS total_blks_read,
  total_blks_hit AS total_blks_hit,
  total_blks_dirtied AS total_blks_dirtied,
  total_blks_written AS total_blks_written,

  rel_blks_read AS rel_blks_read,
  rel_blks_hit AS rel_blks_hit,

  pages_deleted AS pages_deleted,
  tuples_deleted AS tuples_deleted,

  wal_records AS wal_records,
  wal_fpi AS wal_fpi,
  wal_bytes AS wal_bytes,

  blk_read_time AS blk_read_time,
  blk_write_time AS blk_write_time,

  delay_time AS delay_time,
  total_time AS total_time
  FROM pg_stat_get_vacuum_indexes vt, pg_class c
WHERE (vt.relname='accounts_idx1' or vt.relname='accounts_idx2' or vt.relname = 'pgbench_accounts_pkey') AND vt.relid = c.oid;


select stats.relname,stats.total_blks_read AS total_blks_read,
  stats.total_blks_hit AS total_blks_hit,
  stats.total_blks_dirtied AS total_blks_dirtied,
  stats.total_blks_written AS total_blks_written,

  stats.rel_blks_read AS rel_blks_read,
  stats.rel_blks_hit AS rel_blks_hit,

  stats.pages_scanned AS pages_scanned,
  stats.pages_removed AS pages_removed,
  stats.pages_frozen AS pages_frozen,
  stats.pages_all_visible AS pages_all_visible,
  stats.tuples_deleted AS tuples_deleted,
  stats.tuples_frozen AS tuples_frozen,
  stats.dead_tuples AS dead_tuples,

  stats.index_vacuum_count AS index_vacuum_count,
  stats.wal_records AS wal_records,
  stats.wal_fpi AS wal_fpi,
  stats.wal_bytes AS wal_bytes,

  stats.blk_read_time AS blk_read_time,
  stats.blk_write_time AS blk_write_time,

  stats.delay_time AS delay_time,
  stats.total_time AS total_time from pg_stat_vacuum_tables stats, pg_stat_all_tables  WHERE stats.relname = 'pgbench_accounts' and stats.relid = pg_stat_all_tables.relid;


Just in case, I'll write that during the test I used simpler queries:

select * from pg_stat_vacuum_tables where relname like '%accounts%';

select * from pg_stat_vacuum_indexes where relname like '%accounts_%';

-- 
Regards,
Alena Rybakina
Postgres Professional
--------------M7gbw0o6kEn5gIBiruWhsQc0-- --------------1N7uCv2Ri6D0kHZe2mz9ca8z Content-Type: text/plain; charset=UTF-8; name="output_vacuum_0_workers" Content-Disposition: attachment; filename="output_vacuum_0_workers" Content-Transfer-Encoding: base64 IHNjaGVtYW5hbWUgfCAgICAgcmVsbmFtZSAgICAgIHwgcmVsaWQgfCB0b3RhbF9ibGtzX3Jl YWQgfCB0b3RhbF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nf d3JpdHRlbiB8IHJlbF9ibGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCBwYWdlc19zY2FubmVk IHwgcGFnZXNfcmVtb3ZlZCB8IHZtX25ld19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJs ZV9wYWdlcyB8IHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyB8IG1pc3NlZF9kZWFkX3Bh Z2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCB0dXBsZXNfZnJvemVuIHwgcmVjZW50bHlfZGVhZF90 dXBsZXMgfCBtaXNzZWRfZGVhZF90dXBsZXMgfCB3cmFwYXJvdW5kX2ZhaWxzYWZlIHwgaW5k ZXhfdmFjdXVtX2NvdW50IHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwg YmxrX3JlYWRfdGltZSB8IGJsa193cml0ZV90aW1lIHwgZGVsYXlfdGltZSB8IHRvdGFsX3Rp bWUgCi0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLQogcHVibGljICAgICB8IHBnYmVuY2hfYWNjb3VudHMgfCAxNjM5MSB8ICAgICAg ICAgICAgNjk3MiB8ICAgICAgICAgIDI2MTEyIHwgICAgICAgICAgICAgICAyMjUyIHwgICAg ICAgICAgICAgICAgNDc4IHwgICAgICAgICAgNjk3MiB8ICAgICAgICAyNjA3NiB8ICAgICAg ICAgNjU3NTAgfCAgICAgICAgIDE2NDUxIHwgICAgICAgICAgICAgICAzMjc4OCB8ICAgICAg ICAgICAgICAgIDMyNzg4IHwgICAgICAgICAgICAgICAgICAgICAgIDMyNzg4IHwgICAgICAg ICAgICAgICAgIDAgfCAgICAgICAgMzk5OTk4MCB8ICAgICAgICAgICAgIDAgfCAgICAgICAg ICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAg IDAgfCAgICAgICAgICAgICAgICAgIDIgfCAgICAgICAxNjQxMCB8ICAgICAgIDcgfCAgIDI5 NDQ0ODEgfCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgICAgICAwIHwg ICAgMjYxLjcxOQooMSByb3cpCgogcmVsaWQgfCBzY2hlbWFuYW1lIHwgICAgICAgIHJlbG5h bWUgICAgICAgIHwgdG90YWxfYmxrc19yZWFkIHwgdG90YWxfYmxrc19oaXQgfCB0b3RhbF9i bGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCByZWxfYmxrc19yZWFkIHwgcmVs X2Jsa3NfaGl0IHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIHwgd2FsX3JlY29y ZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgYmxrX3JlYWRfdGltZSB8IGJsa193cml0ZV90 aW1lIHwgZGVsYXlfdGltZSB8ICAgICB0b3RhbF90aW1lICAgICAKLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tCiAxNjQwNyB8IHB1YmxpYyAgICAgfCBwZ2JlbmNoX2FjY291bnRzX3BrZXkgfCAgICAg ICAgICAgIDI3NDUgfCAgICAgICAgICAyMTg5MiB8ICAgICAgICAgICAgICAgMjc0NSB8ICAg ICAgICAgICAgICAgMjcwMSB8ICAgICAgICAgIDI3NDUgfCAgICAgICAgMjE4ODYgfCAgICAg ICAgICAyNzM4IHwgICAgICAgICA5OTk5OTUgfCAgICAgICAgODIwMyB8ICAgICAgIDAgfCAg IDI2MDczNzQgfCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgICAgICAw IHwgMTE3LjM5MDk5OTk5OTk5OTk5CiAxNjQwOSB8IHB1YmxpYyAgICAgfCBhY2NvdW50c19p ZHgxICAgICAgICAgfCAgICAgICAgICAgICA4NTAgfCAgICAgICAgICAgNjc0NyB8ICAgICAg ICAgICAgICAgIDg1MCB8ICAgICAgICAgICAgICAgIDc1OSB8ICAgICAgICAgICA4NTAgfCAg ICAgICAgIDY3NDEgfCAgICAgICAgICAgODQzIHwgICAgICAgICA5OTk5OTUgfCAgICAgICAg MjUyOCB8ICAgICAgIDAgfCAgICAyMDI2OTAgfCAgICAgICAgICAgICAwIHwgICAgICAgICAg ICAgIDAgfCAgICAgICAgICAwIHwgIDcxLjQyNjAwMDAwMDAwMDAyCiAxNjQxMCB8IHB1Ymxp YyAgICAgfCBhY2NvdW50c19pZHgyICAgICAgICAgfCAgICAgICAgICAgIDI3NDUgfCAgICAg ICAgICAyMTg5MiB8ICAgICAgICAgICAgICAgMjc0NSB8ICAgICAgICAgICAgICAgMjczNSB8 ICAgICAgICAgIDI3NDUgfCAgICAgICAgMjE4ODYgfCAgICAgICAgICAyNzM4IHwgICAgICAg ICA5OTk5OTUgfCAgICAgICAgODIwMyB8ICAgICAgIDAgfCAgIDI2MDczNzQgfCAgICAgICAg ICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgICAgICAwIHwgICAgICAgICAgICAgMTE3 LjgyCigzIHJvd3MpCgo= --------------1N7uCv2Ri6D0kHZe2mz9ca8z Content-Type: text/plain; charset=UTF-8; name="output_parallel_3_workers" Content-Disposition: attachment; filename="output_parallel_3_workers" Content-Transfer-Encoding: base64 IHNjaGVtYW5hbWUgfCAgICAgcmVsbmFtZSAgICAgIHwgcmVsaWQgfCB0b3RhbF9ibGtzX3Jl YWQgfCB0b3RhbF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nf d3JpdHRlbiB8IHJlbF9ibGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCBwYWdlc19zY2FubmVk IHwgcGFnZXNfcmVtb3ZlZCB8IHZtX25ld19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJs ZV9wYWdlcyB8IHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyB8IG1pc3NlZF9kZWFkX3Bh Z2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCB0dXBsZXNfZnJvemVuIHwgcmVjZW50bHlfZGVhZF90 dXBsZXMgfCBtaXNzZWRfZGVhZF90dXBsZXMgfCB3cmFwYXJvdW5kX2ZhaWxzYWZlIHwgaW5k ZXhfdmFjdXVtX2NvdW50IHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwg YmxrX3JlYWRfdGltZSB8IGJsa193cml0ZV90aW1lIHwgZGVsYXlfdGltZSB8ICAgICB0b3Rh bF90aW1lICAgICAKLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHB1YmxpYyAgICAgfCBwZ2JlbmNoX2FjY291bnRz IHwgMTYzOTEgfCAgICAgICAgICAgIDY5NzcgfCAgICAgICAgICAyNjEwNyB8ICAgICAgICAg ICAgICAgMjIyMCB8ICAgICAgICAgICAgICAgIDQ3OCB8ICAgICAgICAgIDY5NzcgfCAgICAg ICAgMjYwNzEgfCAgICAgICAgIDY1NzUwIHwgICAgICAgICAxNjQ1MSB8ICAgICAgICAgICAg ICAgMzI3ODggfCAgICAgICAgICAgICAgICAzMjc4OCB8ICAgICAgICAgICAgICAgICAgICAg ICAzMjc4OCB8ICAgICAgICAgICAgICAgICAwIHwgICAgICAgIDM5OTk5ODAgfCAgICAgICAg ICAgICAwIHwgICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgIDAgfCAg ICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAyIHwgICAgICAgMTY0MTAg fCAgICAgICA3IHwgICAyOTQ0NDgxIHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAw IHwgICAgICAgICAgMCB8IDI2My42MTQwMDAwMDAwMDAwMwooMSByb3cpCgogcmVsaWQgfCBz Y2hlbWFuYW1lIHwgICAgICAgIHJlbG5hbWUgICAgICAgIHwgdG90YWxfYmxrc19yZWFkIHwg dG90YWxfYmxrc19oaXQgfCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0 ZW4gfCByZWxfYmxrc19yZWFkIHwgcmVsX2Jsa3NfaGl0IHwgcGFnZXNfZGVsZXRlZCB8IHR1 cGxlc19kZWxldGVkIHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgYmxr X3JlYWRfdGltZSB8IGJsa193cml0ZV90aW1lIHwgZGVsYXlfdGltZSB8ICAgIHRvdGFsX3Rp bWUgICAgIAotLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQogMTY0MDcgfCBwdWJsaWMgICAgIHwgcGdiZW5j aF9hY2NvdW50c19wa2V5IHwgICAgICAgICAgICAyNzQ1IHwgICAgICAgICAgMjE4OTIgfCAg ICAgICAgICAgICAgIDI3NDUgfCAgICAgICAgICAgICAgIDI2NzggfCAgICAgICAgICAyNzQ1 IHwgICAgICAgIDIxODg2IHwgICAgICAgICAgMjczOCB8ICAgICAgICAgOTk5OTk1IHwgICAg ICAgIDgyMDMgfCAgICAgICAwIHwgICAyNjA3Mzc0IHwgICAgICAgICAgICAgMCB8ICAgICAg ICAgICAgICAwIHwgICAgICAgICAgMCB8ICAgICAgICAgICAxNjcuODgxCiAxNjQwOSB8IHB1 YmxpYyAgICAgfCBhY2NvdW50c19pZHgxICAgICAgICAgfCAgICAgICAgICAgICA4NTAgfCAg ICAgICAgICAgNjc0OCB8ICAgICAgICAgICAgICAgIDg1MCB8ICAgICAgICAgICAgICAgIDgy OSB8ICAgICAgICAgICA4NTAgfCAgICAgICAgIDY3NDIgfCAgICAgICAgICAgODQzIHwgICAg ICAgICA5OTk5OTUgfCAgICAgICAgMjUyOCB8ICAgICAgIDAgfCAgICAyMDI2OTAgfCAgICAg ICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgICAgICAwIHwgODEuNTc5MDAwMDAw MDAwMDEKIDE2NDEwIHwgcHVibGljICAgICB8IGFjY291bnRzX2lkeDIgICAgICAgICB8ICAg ICAgICAgICAgMjc0NSB8ICAgICAgICAgIDIxODkzIHwgICAgICAgICAgICAgICAyNzQ1IHwg ICAgICAgICAgICAgICAyNzAxIHwgICAgICAgICAgMjc0NSB8ICAgICAgICAyMTg4NyB8ICAg ICAgICAgIDI3MzggfCAgICAgICAgIDk5OTk5NSB8ICAgICAgICA4MjAzIHwgICAgICAgMCB8 ICAgMjYwNzM3NCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgMCB8ICAgICAgICAg IDAgfCAgICAgICAgICAgMTY4LjAxNwooMyByb3dzKQoK --------------1N7uCv2Ri6D0kHZe2mz9ca8z Content-Type: text/x-patch; charset=UTF-8; name="v16-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v16-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAyNzA0NDZjMDdiMDNkOTg5MWUzODY3NjU3Yzk1ZmUyNzIxYjU1ZTgyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogRnJpLCAxMCBKYW4gMjAyNSAwOTo1NzoxMyArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMS80XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBoZWFwIHJlbGF0aW9ucy4KClZhbHVlIG9mIHRvdGFsX2Js a3NfaGl0LCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfZGlydGllZCBhcmUgbnVtYmVy IG9mCmhpdHRlZCwgbWlzc2VkIGFuZCBkaXJ0aWVkIHBhZ2VzIGluIHNoYXJlZCBidWZmZXJz IGR1cmluZyBhIHZhY3V1bSBvcGVyYXRpb24KcmVzcGVjdGl2ZWx5LgoKdG90YWxfYmxrc19k aXJ0aWVkIG1lYW5zICdkaXJ0aWVkIG9ubHkgYnkgdGhpcyBhY3Rpb24nLiBTbywgaWYgdGhp cyBwYWdlIHdhcwpkaXJ0eSBiZWZvcmUgdGhlIHZhY3V1bSBvcGVyYXRpb24sIGl0IGRvZXNu J3QgY291bnQgdGhpcyBwYWdlIGFzICdkaXJ0aWVkJy4KClRoZSB0dXBsZXNfZGVsZXRlZCBw YXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgY2xlYW5lZCB1cCBieSB0aGUgdmFj dXVtCm9wZXJhdGlvbi4KClRoZSBkZWxheV90aW1lIHZhbHVlIG1lYW5zIHRvdGFsIHZhY3V1 bSBzbGVlcCB0aW1lIGluIHZhY3V1bSBkZWxheSBwb2ludC4KVGhlIHBhZ2VzX3JlbW92ZWQg dmFsdWUgaXMgdGhlIG51bWJlciBvZiBwYWdlcyBieSB3aGljaCB0aGUgcGh5c2ljYWwgZGF0 YQpzdG9yYWdlIG9mIHRoZSByZWxhdGlvbiB3YXMgcmVkdWNlZC4KVGhlIHZhbHVlIG9mIHBh Z2VzX2RlbGV0ZWQgcGFyYW1ldGVyIGlzIHRoZSBudW1iZXIgb2YgZnJlZWQgcGFnZXMgaW4g dGhlIHRhYmxlCihmaWxlIHNpemUgbWF5IG5vdCBoYXZlIGNoYW5nZWQpLgoKVHJhY2tpbmcg b2YgSU8gZHVyaW5nIGFuIChhdXRvKXZhY3V1bSBvcGVyYXRpb24uCkludHJvZHVjZWQgdmFy aWFibGVzIGJsa19yZWFkX3RpbWUgYW5kIGJsa193cml0ZV90aW1lIHRyYWNrcyBvbmx5IGFj Y2VzcyB0bwpidWZmZXIgcGFnZXMgYW5kIGZsdXNoaW5nIHRoZW0gdG8gZGlzay4gUmVhZGlu ZyBvcGVyYXRpb24gaXMgdHJpdmlhbCwgYnV0CndyaXRpbmcgbWVhc3VyZW1lbnQgdGVjaG5p cXVlIGlzIG5vdCBvYnZpb3VzLgpTbywgZHVyaW5nIGEgdmFjdXVtIHdyaXRpbmcgdGltZSBj YW4gYmUgemVybyBpbmNyZW1lbnRlZCBiZWNhdXNlIG5vIGFueSBmbHVzaGluZwpvcGVyYXRp b25zIHdlcmUgcGVyZm9ybWVkLgoKU3lzdGVtIHRpbWUgYW5kIHVzZXIgdGltZSBhcmUgcGFy YW1ldGVycyB0aGF0IGRlc2NyaWJlcyBob3cgbXVjaCB0aW1lIGEgdmFjdXVtCm9wZXJhdGlv biBoYXMgc3BlbnQgaW4gZXhlY3V0aW5nIG9mIGNvZGUgaW4gdXNlciBzcGFjZSBhbmQga2Vy bmVsIHNwYWNlCmFjY29yZGluZ2x5LiBBbHNvLCBhY2N1bXVsYXRlIHRvdGFsIHRpbWUgb2Yg YSB2YWN1dW0gdGhhdCBpcyBhIGRpZmYgYmV0d2Vlbgp0aW1lc3RhbXBzIGluIHN0YXJ0IGFu ZCBmaW5pc2ggcG9pbnRzIGluIHRoZSB2YWN1dW0gY29kZS4KUmVtZW1iZXIgYWJvdXQgaWRs ZSB0aW1lLCB3aGVuIHZhY3V1bSB3YWl0ZWQgZm9yIElPIGFuZCBsb2Nrcywgc28gdG90YWwg dGltZQppc24ndCBlcXVhbCBhIHN1bSBvZiB1c2VyIGFuZCBzeXN0ZW0gdGltZSwgYnV0IG5v IGxlc3MuCgpwYWdlc19mcm96ZW4gaXMgYSBudW1iZXIgb2YgcGFnZXMgdGhhdCBhcmUgbWFy a2VkIGFzIGZyb3plbiBpbiB2bSBkdXJpbmcgdmFjdXVtLgpUaGlzIHBhcmFtZXRlciBpcyBp bmNyZW1lbnRlZCBpZiBwYWdlIGlzIG1hcmtlZCBhcyBhbGwtZnJvemVuLgpwYWdlc19hbGxf dmlzaWJsZSBpcyBhIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBtYXJrZWQgYXMgYWxsLXZp c2libGUgaW4gdm0gZHVyaW5nCnZhY3V1bS4KCndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQg aXMgYSBudW1iZXIgb2YgdGltZXMgd2hlbiB0aGUgdmFjdXVtIHN0YXJ0cyB1cmdlbnQgY2xl YW51cAp0byBwcmV2ZW50IHdyYXBhcm91bmQgcHJvYmxlbSB3aGljaCBpcyBjcml0aWNhbCBm b3IgdGhlIGRhdGFiYXNlLgoKQXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNr aW5hQHlhbmRleC5ydT4sCgkgQW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVz cHJvLnJ1PiwKCSBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0Z3Jlc3Byby5ydT4KUmV2 aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFpbC5jb20+LCBNYXNhaGlr byBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCgkgICAgIElsaWEgRXZkb2tpbW92 IDxpbHlhLmV2ZG9raW1vdkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVy c2FsaXR5QGdtYWlsLmNvbT4sCgkgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBn bWFpbC5jb20+LCBBbGV4YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPiwK CSAgICAgSmltIE5hc2J5IDxqbmFzYnlAdXBncmFkZS5jb20+LCBTYW1pIEltc2VpaCA8c2Ft aW1zZWloQGdtYWlsLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1s YXp5LmMgICAgICAgICAgfCAxNTAgKysrKysrKysrKystCiBzcmMvYmFja2VuZC9hY2Nlc3Mv aGVhcC92aXNpYmlsaXR5bWFwLmMgICAgICAgfCAgMTAgKwogc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgIDUyICsrKy0KIHNyYy9iYWNrZW5kL2Nv bW1hbmRzL3ZhY3V1bS5jICAgICAgICAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW1wYXJhbGxlbC5jICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgICAgICAgICAgIHwgIDEyICstCiBzcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDcgKysrLQogc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTQ3ICsrKysrKysr KysrKwogc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwg IDEzICsKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAgICAgICAgICB8 ICAgOSArCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAg fCAgMTggKysKIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAgICAg ICB8ICAgMSArCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgODIgKysrKysrLQogc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oICAgICAgICAgICAg ICAgICAgICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5o ICAgICAgICAgICB8ICAgMSAtCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUt cmVhZC5vdXQgICAgfCAgNTMgKysrKysKIHNyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25f c2NoZWR1bGUgICAgICAgICB8ICAgMSArCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5zcGVjICAgfCAgNTMgKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0ICAgICAgICAgICB8ICA0NCArKystCiAuLi4vZXhwZWN0ZWQvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLm91dCAgICAgfCAyMjUgKysrKysrKysrKysrKysrKysrCiBz cmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgIDUgKwog Li4uL3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgIHwgMTgwICsr KysrKysrKysrKysrCiAyMiBmaWxlcyBjaGFuZ2VkLCAxMDkxIGluc2VydGlvbnMoKyksIDE4 IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9l eHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5n LWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Muc3FsCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6 eS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IDA5ZmFi MDhiOGUxLi4wMzE3OWY4ZWNhYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hl YXAvdmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxh enkuYwpAQCAtMTY1LDYgKzE2NSw3IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAkv KiBFcnJvciByZXBvcnRpbmcgc3RhdGUgKi8KIAljaGFyCSAgICpkYm5hbWU7CiAJY2hhcgkg ICAqcmVsbmFtZXNwYWNlOworCU9pZAkJCXJlbG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwog CWNoYXIJICAgKmluZG5hbWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051 bWJlciBibGtubzsJCQkvKiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAt MjI5LDYgKzIzMCw4IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAlCbG9ja051bWJl ciBuZXh0X3Vuc2tpcHBhYmxlX2Jsb2NrOyAvKiBuZXh0IHVuc2tpcHBhYmxlIGJsb2NrICov CiAJYm9vbAkJbmV4dF91bnNraXBwYWJsZV9hbGx2aXM7CS8qIGl0cyB2aXNpYmlsaXR5IHN0 YXR1cyAqLwogCUJ1ZmZlcgkJbmV4dF91bnNraXBwYWJsZV92bWJ1ZmZlcjsJLyogYnVmZmVy IGNvbnRhaW5pbmcgaXRzIFZNIGJpdCAqLworCisJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNh ZmVfY291bnQ7IC8qIHRoZSBudW1iZXIgb2YgdGltZXMgdG8gcHJldmVudCB3b3JrYXJvdW5k IHByb2JsZW0gKi8KIH0gTFZSZWxTdGF0ZTsKIAogLyogU3RydWN0IGZvciBzYXZpbmcgYW5k IHJlc3RvcmluZyB2YWN1dW0gZXJyb3IgaW5mb3JtYXRpb24uICovCkBAIC0yMzksNiArMjQy LDE4IEBAIHR5cGVkZWYgc3RydWN0IExWU2F2ZWRFcnJJbmZvCiAJVmFjRXJyUGhhc2UgcGhh c2U7CiB9IExWU2F2ZWRFcnJJbmZvOwogCisvKgorICogQ291bnRlcnMgYW5kIHVzYWdlIGRh dGEgZm9yIGV4dGVuZGVkIHN0YXRzIHRyYWNraW5nLgorICovCit0eXBlZGVmIHN0cnVjdCBM VkV4dFN0YXRDb3VudGVycworeworCVRpbWVzdGFtcFR6IHN0YXJ0dGltZTsKKwlXYWxVc2Fn ZQl3YWx1c2FnZTsKKwlCdWZmZXJVc2FnZSBidWZ1c2FnZTsKKwlkb3VibGUJCVZhY3V1bURl bGF5VGltZTsKKwlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291 bnRlciBibG9ja3NfaGl0OworfSBMVkV4dFN0YXRDb3VudGVyczsKIAogLyogbm9uLWV4cG9y dCBmdW5jdGlvbiBwcm90b3R5cGVzICovCiBzdGF0aWMgdm9pZCBsYXp5X3NjYW5faGVhcChM VlJlbFN0YXRlICp2YWNyZWwpOwpAQCAtMjkyLDYgKzMwNywxMDYgQEAgc3RhdGljIHZvaWQg dXBkYXRlX3ZhY3V1bV9lcnJvcl9pbmZvKExWUmVsU3RhdGUgKnZhY3JlbCwKIHN0YXRpYyB2 b2lkIHJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogCQkJ CQkJCQkJICBjb25zdCBMVlNhdmVkRXJySW5mbyAqc2F2ZWRfdmFjcmVsKTsKIAorLyogLS0t LS0tLS0tLQorICogZXh0dmFjX3N0YXRzX3N0YXJ0KCkgLQorICoKKyAqIFNhdmUgY3V0LW9m ZiB2YWx1ZXMgb2YgZXh0ZW5kZWQgdmFjdXVtIGNvdW50ZXJzIGJlZm9yZSBzdGFydCBvZiBh IHJlbGF0aW9uCisgKiBwcm9jZXNzaW5nLgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMg dm9pZAorZXh0dmFjX3N0YXRzX3N0YXJ0KFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRl cnMgKmNvdW50ZXJzKQoreworCVRpbWVzdGFtcFR6CXN0YXJ0dGltZTsKKworCWlmKCFwZ3N0 YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCW1lbXNldChjb3Vu dGVycywgMCwgc2l6ZW9mKExWRXh0U3RhdENvdW50ZXJzKSk7CisKKwlzdGFydHRpbWUgPSBH ZXRDdXJyZW50VGltZXN0YW1wKCk7CisKKwljb3VudGVycy0+c3RhcnR0aW1lID0gc3RhcnR0 aW1lOworCWNvdW50ZXJzLT53YWx1c2FnZSA9IHBnV2FsVXNhZ2U7CisJY291bnRlcnMtPmJ1 ZnVzYWdlID0gcGdCdWZmZXJVc2FnZTsKKwljb3VudGVycy0+VmFjdXVtRGVsYXlUaW1lID0g VmFjdXVtRGVsYXlUaW1lOworCWNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZCA9IDA7CisJY291 bnRlcnMtPmJsb2Nrc19oaXQgPSAwOworCisJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFw Z3N0YXRfdHJhY2tfY291bnRzKQorCQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9u ZyBvciB1c2VyIGRvZXNuJ3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFjdGl2 aXR5IC0ganVzdCBzdXBwcmVzcyBpdC4KKwkJICovCisJCXJldHVybjsKKworCWNvdW50ZXJz LT5ibG9ja3NfZmV0Y2hlZCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0 Y2hlZDsKKwljb3VudGVycy0+YmxvY2tzX2hpdCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50 cy5ibG9ja3NfaGl0OworfQorCisvKiAtLS0tLS0tLS0tCisgKiBleHR2YWNfc3RhdHNfZW5k KCkgLQorICoKKyAqCUNhbGxlZCB0byBmaW5pc2ggYW4gZXh0ZW5kZWQgdmFjdXVtIHN0YXRp c3RpYyBnYXRoZXJpbmcgYW5kIGZvcm0gYSByZXBvcnQuCisgKiAtLS0tLS0tLS0tCisgKi8K K3N0YXRpYyB2b2lkCitleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0 Q291bnRlcnMgKmNvdW50ZXJzLAorCQkJCSAgRXh0VmFjUmVwb3J0ICpyZXBvcnQpCit7CisJ V2FsVXNhZ2UJd2FsdXNhZ2U7CisJQnVmZmVyVXNhZ2UJYnVmdXNhZ2U7CisJVGltZXN0YW1w VHogZW5kdGltZTsKKwlsb25nCQlzZWNzOworCWludAkJCXVzZWNzOworCisJaWYoIXBnc3Rh dF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJLyogQ2FsY3VsYXRl IGRpZmZzIG9mIGdsb2JhbCBzdGF0IHBhcmFtZXRlcnMgb24gV0FMIGFuZCBidWZmZXIgdXNh Z2UuICovCisJbWVtc2V0KCZ3YWx1c2FnZSwgMCwgc2l6ZW9mKFdhbFVzYWdlKSk7CisJV2Fs VXNhZ2VBY2N1bURpZmYoJndhbHVzYWdlLCAmcGdXYWxVc2FnZSwgJmNvdW50ZXJzLT53YWx1 c2FnZSk7CisKKwltZW1zZXQoJmJ1ZnVzYWdlLCAwLCBzaXplb2YoQnVmZmVyVXNhZ2UpKTsK KwlCdWZmZXJVc2FnZUFjY3VtRGlmZigmYnVmdXNhZ2UsICZwZ0J1ZmZlclVzYWdlLCAmY291 bnRlcnMtPmJ1ZnVzYWdlKTsKKworCWVuZHRpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7 CisJVGltZXN0YW1wRGlmZmVyZW5jZShjb3VudGVycy0+c3RhcnR0aW1lLCBlbmR0aW1lLCAm c2VjcywgJnVzZWNzKTsKKworCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNSZXBv cnQpKTsKKworCS8qCisJICogRmlsbCBhZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb24gYSB2YWN1 dW0gcHJvY2Vzc2luZyBvcGVyYXRpb24uCisJICovCisJcmVwb3J0LT50b3RhbF9ibGtzX3Jl YWQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19y ZWFkOworCXJlcG9ydC0+dG90YWxfYmxrc19oaXQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2hp dCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX2hpdDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfZGly dGllZCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJlZF9i bGtzX2RpcnRpZWQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gPSBidWZ1c2FnZS5z aGFyZWRfYmxrc193cml0dGVuOworCisJcmVwb3J0LT53YWxfcmVjb3JkcyA9IHdhbHVzYWdl LndhbF9yZWNvcmRzOworCXJlcG9ydC0+d2FsX2ZwaSA9IHdhbHVzYWdlLndhbF9mcGk7CisJ cmVwb3J0LT53YWxfYnl0ZXMgPSB3YWx1c2FnZS53YWxfYnl0ZXM7CisKKwlyZXBvcnQtPmJs a19yZWFkX3RpbWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9i bGtfcmVhZF90aW1lKTsKKwlyZXBvcnQtPmJsa19yZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9H RVRfTUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+ YmxrX3dyaXRlX3RpbWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2Nh bF9ibGtfd3JpdGVfdGltZSk7CisJcmVwb3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJ TUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVfdGltZSk7CisJcmVw b3J0LT5kZWxheV90aW1lID0gVmFjdXVtRGVsYXlUaW1lIC0gY291bnRlcnMtPlZhY3V1bURl bGF5VGltZTsKKworCXJlcG9ydC0+dG90YWxfdGltZSA9IHNlY3MgKiAxMDAwLiArIHVzZWNz IC8gMTAwMC47CisKKwlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19j b3VudHMpCisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIg ZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0 IHN1cHByZXNzIGl0LgorCQkgKi8KKwkJcmV0dXJuOworCisJcmVwb3J0LT5ibGtzX2ZldGNo ZWQgPQorCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQgLSBjb3Vu dGVycy0+YmxvY2tzX2ZldGNoZWQ7CisJcmVwb3J0LT5ibGtzX2hpdCA9CisJCXJlbC0+cGdz dGF0X2luZm8tPmNvdW50cy5ibG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7Cit9 CiAKIC8qCiAgKgloZWFwX3ZhY3V1bV9yZWwoKSAtLSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25l IGhlYXAgcmVsYXRpb24KQEAgLTMyNCw3ICs0MzksMTQgQEAgaGVhcF92YWN1dW1fcmVsKFJl bGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJV2FsVXNhZ2UJc3RhcnR3YWx1 c2FnZSA9IHBnV2FsVXNhZ2U7CiAJQnVmZmVyVXNhZ2Ugc3RhcnRidWZmZXJ1c2FnZSA9IHBn QnVmZmVyVXNhZ2U7CiAJRXJyb3JDb250ZXh0Q2FsbGJhY2sgZXJyY2FsbGJhY2s7CisJTFZF eHRTdGF0Q291bnRlcnMgZXh0VmFjQ291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1Jl cG9ydDsKIAljaGFyCSAgKippbmRuYW1lcyA9IE5VTEw7CisJRXh0VmFjUmVwb3J0IGFsbHpl cm87CisKKwkvKiBJbml0aWFsaXplIHZhY3V1bSBzdGF0aXN0aWNzICovCisJbWVtc2V0KCZh bGx6ZXJvLCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJZXh0VmFjUmVwb3J0ID0gYWxs emVybzsKIAogCXZlcmJvc2UgPSAocGFyYW1zLT5vcHRpb25zICYgVkFDT1BUX1ZFUkJPU0Up ICE9IDA7CiAJaW5zdHJ1bWVudCA9ICh2ZXJib3NlIHx8IChBbUF1dG9WYWN1dW1Xb3JrZXJQ cm9jZXNzKCkgJiYKQEAgLTM0Miw3ICs0NjQsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRp b24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAogCXBnc3RhdF9wcm9ncmVzc19zdGFy dF9jb21tYW5kKFBST0dSRVNTX0NPTU1BTkRfVkFDVVVNLAogCQkJCQkJCQkgIFJlbGF0aW9u R2V0UmVsaWQocmVsKSk7Ci0KKwlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAmZXh0VmFjQ291 bnRlcnMpOwogCS8qCiAJICogU2V0dXAgZXJyb3IgdHJhY2ViYWNrIHN1cHBvcnQgZm9yIGVy ZXBvcnQoKSBmaXJzdC4gIFRoZSBpZGVhIGlzIHRvIHNldAogCSAqIHVwIGFuIGVycm9yIGNv bnRleHQgY2FsbGJhY2sgdG8gZGlzcGxheSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIGFu eQpAQCAtMzU5LDYgKzQ4MSw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZh Y3V1bVBhcmFtcyAqcGFyYW1zLAogCXZhY3JlbC0+ZGJuYW1lID0gZ2V0X2RhdGFiYXNlX25h bWUoTXlEYXRhYmFzZUlkKTsKIAl2YWNyZWwtPnJlbG5hbWVzcGFjZSA9IGdldF9uYW1lc3Bh Y2VfbmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZWwpKTsKIAl2YWNyZWwtPnJlbG5hbWUg PSBwc3RyZHVwKFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpOworCXZhY3JlbC0+cmVs b2lkID0gUmVsYXRpb25HZXRSZWxpZChyZWwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IE5VTEw7 CiAJdmFjcmVsLT5waGFzZSA9IFZBQ1VVTV9FUlJDQl9QSEFTRV9VTktOT1dOOwogCXZhY3Jl bC0+dmVyYm9zZSA9IHZlcmJvc2U7CkBAIC00NDYsNiArNTY5LDcgQEAgaGVhcF92YWN1dW1f cmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJdmFjcmVsLT52bV9u ZXdfdmlzaWJsZV9wYWdlcyA9IDA7CiAJdmFjcmVsLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5f cGFnZXMgPSAwOwogCXZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdlcyA9IDA7CisJdmFjcmVs LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ID0gMDsKIAogCS8qCiAJICogR2V0IGN1dG9m ZnMgdGhhdCBkZXRlcm1pbmUgd2hpY2ggZGVsZXRlZCB0dXBsZXMgYXJlIGNvbnNpZGVyZWQg REVBRCwKQEAgLTU5MSw2ICs3MTUsMjYgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJl bCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJCQkJCQl2YWNyZWwtPk5ld1JlbGZyb3plblhp ZCwgdmFjcmVsLT5OZXdSZWxtaW5NeGlkLAogCQkJCQkJJmZyb3plbnhpZF91cGRhdGVkLCAm bWlubXVsdGlfdXBkYXRlZCwgZmFsc2UpOwogCisJLyogTWFrZSBnZW5lcmljIGV4dGVuZGVk IHZhY3V1bSBzdGF0cyByZXBvcnQgKi8KKwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmV4dFZh Y0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKworCWlmKHBnc3RhdF90cmFja192YWN1dW1f c3RhdGlzdGljcykKKwl7CisJCS8qIEZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0 cyBmaWVsZHMgKi8KKwkJZXh0VmFjUmVwb3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNj YW5uZWRfcGFnZXM7CisJCWV4dFZhY1JlcG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5y ZW1vdmVkX3BhZ2VzOworCQlleHRWYWNSZXBvcnQudm1fbmV3X2Zyb3plbl9wYWdlcyA9IHZh Y3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdlczsKKwkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNp YmxlX3BhZ2VzID0gdmFjcmVsLT52bV9uZXdfdmlzaWJsZV9wYWdlczsKKwkJZXh0VmFjUmVw b3J0LnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X3Zpc2li bGVfZnJvemVuX3BhZ2VzOworCQlleHRWYWNSZXBvcnQudHVwbGVzX2RlbGV0ZWQgPSB2YWNy ZWwtPnR1cGxlc19kZWxldGVkOworCQlleHRWYWNSZXBvcnQudHVwbGVzX2Zyb3plbiA9IHZh Y3JlbC0+dHVwbGVzX2Zyb3plbjsKKwkJZXh0VmFjUmVwb3J0LnJlY2VudGx5X2RlYWRfdHVw bGVzID0gdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlczsKKwkJZXh0VmFjUmVwb3J0Lm1p c3NlZF9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzOworCQlleHRW YWNSZXBvcnQubWlzc2VkX2RlYWRfcGFnZXMgPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3BhZ2Vz OworCQlleHRWYWNSZXBvcnQuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5k ZXhfc2NhbnM7CisJCWV4dFZhY1JlcG9ydC53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ID0g dmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OworCX0KKwogCS8qCiAJICogUmVw b3J0IHJlc3VsdHMgdG8gdGhlIGN1bXVsYXRpdmUgc3RhdHMgc3lzdGVtLCB0b28uCiAJICoK QEAgLTYwNSw3ICs3NDksOCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1 dW1QYXJhbXMgKnBhcmFtcywKIAkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCiAJ CQkJCQkgTWF4KHZhY3JlbC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKIAkJCQkJCSB2YWNyZWwt PnJlY2VudGx5X2RlYWRfdHVwbGVzICsKLQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1 cGxlcyk7CisJCQkJCQkgdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXMsCisJCQkJCQkgJmV4 dFZhY1JlcG9ydCk7CiAJcGdzdGF0X3Byb2dyZXNzX2VuZF9jb21tYW5kKCk7CiAKIAlpZiAo aW5zdHJ1bWVudCkKQEAgLTI0MTgsNiArMjU2Myw3IEBAIGxhenlfY2hlY2tfd3JhcGFyb3Vu ZF9mYWlsc2FmZShMVlJlbFN0YXRlICp2YWNyZWwpCiAJCWludDY0CQlwcm9ncmVzc192YWxb Ml0gPSB7MCwgMH07CiAKIAkJVmFjdXVtRmFpbHNhZmVBY3RpdmUgPSB0cnVlOworCQl2YWNy ZWwtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgKys7CiAKIAkJLyoKIAkJICogQWJhbmRv biB1c2Ugb2YgYSBidWZmZXIgYWNjZXNzIHN0cmF0ZWd5IHRvIGFsbG93IHVzZSBvZiBhbGwg b2YKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zpc2liaWxpdHltYXAu YyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zpc2liaWxpdHltYXAuYwppbmRleCA3NDVh MDRlZjI2ZS4uMDc2MjNhMDQ1ZmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9o ZWFwL3Zpc2liaWxpdHltYXAuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNp YmlsaXR5bWFwLmMKQEAgLTkxLDYgKzkxLDcgQEAKICNpbmNsdWRlICJhY2Nlc3MveGxvZ2lu c2VydC5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9ndXRpbHMuaCIKICNpbmNsdWRlICJtaXNj YWRtaW4uaCIKKyNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJwb3J0L3BnX2JpdHV0 aWxzLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9idWZtZ3IuaCIKICNpbmNsdWRlICJzdG9yYWdl L3NtZ3IuaCIKQEAgLTE2MCw2ICsxNjEsMTUgQEAgdmlzaWJpbGl0eW1hcF9jbGVhcihSZWxh dGlvbiByZWwsIEJsb2NrTnVtYmVyIGhlYXBCbGssIEJ1ZmZlciB2bWJ1ZiwgdWludDggZmxh Z3MKIAogCWlmIChtYXBbbWFwQnl0ZV0gJiBtYXNrKQogCXsKKwkJLyoKKwkJICogQXMgcGFy dCBvZiB2YWN1dW0gc3RhdHMsIHRyYWNrIGhvdyBvZnRlbiBhbGwtdmlzaWJsZSBvciBhbGwt ZnJvemVuCisJCSAqIGJpdHMgYXJlIGNsZWFyZWQuCisJCSAqLworCQlpZiAobWFwW21hcEJ5 dGVdID4+IG1hcE9mZnNldCAmIGZsYWdzICYgVklTSUJJTElUWU1BUF9BTExfVklTSUJMRSkK KwkJCXBnc3RhdF9jb3VudF92bV9yZXZfYWxsX3Zpc2libGUocmVsKTsKKwkJaWYgKG1hcFtt YXBCeXRlXSA+PiBtYXBPZmZzZXQgJiBmbGFncyAmIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pF TikKKwkJCXBnc3RhdF9jb3VudF92bV9yZXZfYWxsX2Zyb3plbihyZWwpOworCiAJCW1hcFtt YXBCeXRlXSAmPSB+bWFzazsKIAogCQlNYXJrQnVmZmVyRGlydHkodm1idWYpOwpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IDdhNTk1Yzg0ZGI5Li40M2FjMjdl ZDViNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3Fs CisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtNjkxLDcg KzY5MSw5IEBAIENSRUFURSBWSUVXIHBnX3N0YXRfYWxsX3RhYmxlcyBBUwogICAgICAgICAg ICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KEMub2lkKSBBUyB2YWN1dW1fY291bnQsCiAg ICAgICAgICAgICBwZ19zdGF0X2dldF9hdXRvdmFjdXVtX2NvdW50KEMub2lkKSBBUyBhdXRv dmFjdXVtX2NvdW50LAogICAgICAgICAgICAgcGdfc3RhdF9nZXRfYW5hbHl6ZV9jb3VudChD Lm9pZCkgQVMgYW5hbHl6ZV9jb3VudCwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2F1dG9h bmFseXplX2NvdW50KEMub2lkKSBBUyBhdXRvYW5hbHl6ZV9jb3VudAorICAgICAgICAgICAg cGdfc3RhdF9nZXRfYXV0b2FuYWx5emVfY291bnQoQy5vaWQpIEFTIGF1dG9hbmFseXplX2Nv dW50LAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMoQy5v aWQpIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRf cmV2X2FsbF92aXNpYmxlX3BhZ2VzKEMub2lkKSBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMK ICAgICBGUk9NIHBnX2NsYXNzIEMgTEVGVCBKT0lOCiAgICAgICAgICBwZ19pbmRleCBJIE9O IEMub2lkID0gSS5pbmRyZWxpZAogICAgICAgICAgTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBO IE9OIChOLm9pZCA9IEMucmVsbmFtZXNwYWNlKQpAQCAtMTM4MSwzICsxMzgzLDUxIEBAIENS RUFURSBWSUVXIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3N0YXRzIEFTCiAKIENSRUFURSBWSUVX IHBnX3dhaXRfZXZlbnRzIEFTCiAgICAgU0VMRUNUICogRlJPTSBwZ19nZXRfd2FpdF9ldmVu dHMoKTsKKy0tCistLSBTaG93IGV4dGVuZGVkIGN1bXVsYXRpdmUgc3RhdGlzdGljcyBvbiBh IHZhY3V1bSBvcGVyYXRpb24gb3ZlciBhbGwgdGFibGVzIGFuZAorLS0gZGF0YWJhc2VzIG9m IHRoZSBpbnN0YW5jZS4KKy0tIFVzZSBJbnZhbGlkIE9pZCAiMCIgYXMgYW4gaW5wdXQgcmVs YXRpb24gaWQgdG8gZ2V0IHN0YXQgb24gZWFjaCB0YWJsZSBpbiBhCistLSBkYXRhYmFzZS4K Ky0tCisKK0NSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBBUworU0VMRUNUCisg IG5zLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAgcmVsLnJlbG5hbWUgQVMgcmVsbmFtZSwK KyAgc3RhdHMucmVsaWQgYXMgcmVsaWQsCisKKyAgc3RhdHMudG90YWxfYmxrc19yZWFkIEFT IHRvdGFsX2Jsa3NfcmVhZCwKKyAgc3RhdHMudG90YWxfYmxrc19oaXQgQVMgdG90YWxfYmxr c19oaXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRp ZWQsCisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4s CisKKyAgc3RhdHMucmVsX2Jsa3NfcmVhZCBBUyByZWxfYmxrc19yZWFkLAorICBzdGF0cy5y ZWxfYmxrc19oaXQgQVMgcmVsX2Jsa3NfaGl0LAorCisgIHN0YXRzLnBhZ2VzX3NjYW5uZWQg QVMgcGFnZXNfc2Nhbm5lZCwKKyAgc3RhdHMucGFnZXNfcmVtb3ZlZCBBUyBwYWdlc19yZW1v dmVkLAorICBzdGF0cy52bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHZtX25ld19mcm96ZW5fcGFn ZXMsCisgIHN0YXRzLnZtX25ld192aXNpYmxlX3BhZ2VzIEFTIHZtX25ld192aXNpYmxlX3Bh Z2VzLAorICBzdGF0cy52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgQVMgdm1fbmV3X3Zp c2libGVfZnJvemVuX3BhZ2VzLAorICBzdGF0cy5taXNzZWRfZGVhZF9wYWdlcyBBUyBtaXNz ZWRfZGVhZF9wYWdlcywKKyAgc3RhdHMudHVwbGVzX2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0 ZWQsCisgIHN0YXRzLnR1cGxlc19mcm96ZW4gQVMgdHVwbGVzX2Zyb3plbiwKKyAgc3RhdHMu cmVjZW50bHlfZGVhZF90dXBsZXMgQVMgcmVjZW50bHlfZGVhZF90dXBsZXMsCisgIHN0YXRz Lm1pc3NlZF9kZWFkX3R1cGxlcyBBUyBtaXNzZWRfZGVhZF90dXBsZXMsCisKKyAgc3RhdHMu d3JhcGFyb3VuZF9mYWlsc2FmZSBBUyB3cmFwYXJvdW5kX2ZhaWxzYWZlLAorICBzdGF0cy5p bmRleF92YWN1dW1fY291bnQgQVMgaW5kZXhfdmFjdXVtX2NvdW50LAorICBzdGF0cy53YWxf cmVjb3JkcyBBUyB3YWxfcmVjb3JkcywKKyAgc3RhdHMud2FsX2ZwaSBBUyB3YWxfZnBpLAor ICBzdGF0cy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVzLAorCisgIHN0YXRzLmJsa19yZWFkX3Rp bWUgQVMgYmxrX3JlYWRfdGltZSwKKyAgc3RhdHMuYmxrX3dyaXRlX3RpbWUgQVMgYmxrX3dy aXRlX3RpbWUsCisKKyAgc3RhdHMuZGVsYXlfdGltZSBBUyBkZWxheV90aW1lLAorICBzdGF0 cy50b3RhbF90aW1lIEFTIHRvdGFsX3RpbWUKKworRlJPTSBwZ19jbGFzcyByZWwKKyAgSk9J TiBwZ19uYW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSwKKyAgTEFU RVJBTCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzCitXSEVSRSBy ZWwucmVsa2luZCA9ICdyJzsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Zh Y3V1bS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMKaW5kZXggZTY3NDVlNjE0 NWMuLjFlYTI3N2IyYzE2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1 dW0uYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwpAQCAtMTAyLDYgKzEw Miw5IEBAIHBnX2F0b21pY191aW50MzIgKlZhY3V1bVNoYXJlZENvc3RCYWxhbmNlID0gTlVM TDsKIHBnX2F0b21pY191aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3JrZXJzID0gTlVMTDsKIGlu dAkJCVZhY3V1bUNvc3RCYWxhbmNlTG9jYWwgPSAwOwogCisvKiBDdW11bGF0aXZlIHN0b3Jh Z2UgdG8gcmVwb3J0IHRvdGFsIHZhY3V1bSBkZWxheSB0aW1lLiAqLworZG91YmxlIFZhY3V1 bURlbGF5VGltZSA9IDA7IC8qIG1zZWMuICovCisKIC8qIG5vbi1leHBvcnQgZnVuY3Rpb24g cHJvdG90eXBlcyAqLwogc3RhdGljIExpc3QgKmV4cGFuZF92YWN1dW1fcmVsKFZhY3V1bVJl bGF0aW9uICp2cmVsLAogCQkJCQkJCSAgIE1lbW9yeUNvbnRleHQgdmFjX2NvbnRleHQsIGlu dCBvcHRpb25zKTsKQEAgLTI0MTgsNiArMjQyMSw3IEBAIHZhY3V1bV9kZWxheV9wb2ludCh2 b2lkKQogCQkJZXhpdCgxKTsKIAogCQlWYWN1dW1Db3N0QmFsYW5jZSA9IDA7CisJCVZhY3V1 bURlbGF5VGltZSArPSBtc2VjOwogCiAJCS8qCiAJCSAqIEJhbGFuY2UgYW5kIHVwZGF0ZSBs aW1pdCB2YWx1ZXMgZm9yIGF1dG92YWN1dW0gd29ya2Vycy4gV2UgbXVzdCBkbwpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggMGQ5MmU2OTRkNmEuLjY3MmY4 ZjRiZmU4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxl bC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTEw NDcsNiArMTA0Nyw3IEBAIHBhcmFsbGVsX3ZhY3V1bV9tYWluKGRzbV9zZWdtZW50ICpzZWcs IHNobV90b2MgKnRvYykKIAkvKiBTZXQgY29zdC1iYXNlZCB2YWN1dW0gZGVsYXkgKi8KIAlW YWN1dW1VcGRhdGVDb3N0cygpOwogCVZhY3V1bUNvc3RCYWxhbmNlID0gMDsKKwlWYWN1dW1E ZWxheVRpbWUgPSAwOwogCVZhY3V1bUNvc3RCYWxhbmNlTG9jYWwgPSAwOwogCVZhY3V1bVNo YXJlZENvc3RCYWxhbmNlID0gJihzaGFyZWQtPmNvc3RfYmFsYW5jZSk7CiAJVmFjdXVtQWN0 aXZlTldvcmtlcnMgPSAmKHNoYXJlZC0+YWN0aXZlX253b3JrZXJzKTsKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggMzQ1MjA1MzVkNTQuLmQyMWI5MzAyYzI5IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAtMTkxLDcgKzE5MSw3IEBA IHN0YXRpYyB2b2lkIHBnc3RhdF9yZXNldF9hZnRlcl9mYWlsdXJlKHZvaWQpOwogc3RhdGlj IGJvb2wgcGdzdGF0X2ZsdXNoX3BlbmRpbmdfZW50cmllcyhib29sIG5vd2FpdCk7CiAKIHN0 YXRpYyB2b2lkIHBnc3RhdF9wcmVwX3NuYXBzaG90KHZvaWQpOwotc3RhdGljIHZvaWQgcGdz dGF0X2J1aWxkX3NuYXBzaG90KHZvaWQpOworc3RhdGljIHZvaWQgcGdzdGF0X2J1aWxkX3Nu YXBzaG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKTsKIHN0YXRpYyB2b2lkIHBnc3RhdF9idWls ZF9zbmFwc2hvdF9maXhlZChQZ1N0YXRfS2luZCBraW5kKTsKIAogc3RhdGljIGlubGluZSBi b29sIHBnc3RhdF9pc19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwpAQCAtMjA0LDcg KzIwNCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBwZ3N0YXRfaXNfa2luZF92YWxpZChQZ1N0 YXRfS2luZCBraW5kKTsKIAogYm9vbAkJcGdzdGF0X3RyYWNrX2NvdW50cyA9IGZhbHNlOwog aW50CQkJcGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID0gUEdTVEFUX0ZFVENIX0NPTlNJU1RF TkNZX0NBQ0hFOwotCitib29sCQlwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgPSB0 cnVlOwogCiAvKiAtLS0tLS0tLS0tCiAgKiBzdGF0ZSBzaGFyZWQgd2l0aCBwZ3N0YXRfKi5j CkBAIC0yNjEsNyArMjYxLDYgQEAgc3RhdGljIGJvb2wgcGdzdGF0X2lzX2luaXRpYWxpemVk ID0gZmFsc2U7CiBzdGF0aWMgYm9vbCBwZ3N0YXRfaXNfc2h1dGRvd24gPSBmYWxzZTsKICNl bmRpZgogCi0KIC8qCiAgKiBUaGUgZGlmZmVyZW50IGtpbmRzIG9mIGJ1aWx0LWluIHN0YXRp c3RpY3MuCiAgKgpAQCAtOTExLDcgKzkxMCw2IEBAIHBnc3RhdF9yZXNldF9vZl9raW5kKFBn U3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9yZXNldF9lbnRyaWVzX29mX2tpbmQoa2luZCwg dHMpOwogfQogCi0KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogRmV0Y2hpbmcgb2Ygc3RhdHMKICAqIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQpAQCAtOTgwLDcgKzk3OCw3IEBAIHBnc3RhdF9mZXRjaF9lbnRyeShQZ1N0YXRfS2luZCBr aW5kLCBPaWQgZGJvaWQsIHVpbnQ2NCBvYmppZCkKIAogCS8qIGlmIHdlIG5lZWQgdG8gYnVp bGQgYSBmdWxsIHNuYXBzaG90LCBkbyBzbyAqLwogCWlmIChwZ3N0YXRfZmV0Y2hfY29uc2lz dGVuY3kgPT0gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBTSE9UKQotCQlwZ3N0YXRf YnVpbGRfc25hcHNob3QoKTsKKwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5E X0lOVkFMSUQpOwogCiAJLyogaWYgY2FjaGluZyBpcyBkZXNpcmVkLCBsb29rIHVwIGluIGNh Y2hlICovCiAJaWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA+IFBHU1RBVF9GRVRDSF9D T05TSVNURU5DWV9OT05FKQpAQCAtMTA5Niw3ICsxMDk0LDcgQEAgcGdzdGF0X3NuYXBzaG90 X2ZpeGVkKFBnU3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9jbGVhcl9zbmFwc2hvdCgpOwog CiAJaWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9PSBQR1NUQVRfRkVUQ0hfQ09OU0lT VEVOQ1lfU05BUFNIT1QpCi0JCXBnc3RhdF9idWlsZF9zbmFwc2hvdCgpOworCQlwZ3N0YXRf YnVpbGRfc25hcHNob3QoUEdTVEFUX0tJTkRfSU5WQUxJRCk7CiAJZWxzZQogCQlwZ3N0YXRf YnVpbGRfc25hcHNob3RfZml4ZWQoa2luZCk7CiAKQEAgLTExNDcsNyArMTE0NSw3IEBAIHBn c3RhdF9wcmVwX3NuYXBzaG90KHZvaWQpCiB9CiAKIHN0YXRpYyB2b2lkCi1wZ3N0YXRfYnVp bGRfc25hcHNob3Qodm9pZCkKK3Bnc3RhdF9idWlsZF9zbmFwc2hvdChQZ1N0YXRfS2luZCBz dGF0S2luZCkKIHsKIAlkc2hhc2hfc2VxX3N0YXR1cyBoc3RhdDsKIAlQZ1N0YXRTaGFyZWRf SGFzaEVudHJ5ICpwOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRf cmVsYXRpb24uYwppbmRleCAwOTI0N2JhMDk3MS4uNDU4YmQ0ZWNlNDkgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCkBAIC00Nyw2ICs0 Nyw4IEBAIHN0YXRpYyB2b2lkIGFkZF90YWJzdGF0X3hhY3RfbGV2ZWwoUGdTdGF0X1RhYmxl U3RhdHVzICpwZ3N0YXRfaW5mbywgaW50IG5lc3RfbGV2CiBzdGF0aWMgdm9pZCBlbnN1cmVf dGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm8pOwog c3RhdGljIHZvaWQgc2F2ZV90cnVuY2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0 YXR1cyAqdHJhbnMsIGJvb2wgaXNfZHJvcCk7CiBzdGF0aWMgdm9pZCByZXN0b3JlX3RydW5j ZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFucyk7CitzdGF0aWMg dm9pZCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3Qs IEV4dFZhY1JlcG9ydCAqc3JjLAorCQkJCQkJCSAgIGJvb2wgYWNjdW11bGF0ZV9yZWx0eXBl X3NwZWNpZmljX2luZm8pOwogCiAKIC8qCkBAIC0yMDgsNyArMjEwLDggQEAgcGdzdGF0X2Ry b3BfcmVsYXRpb24oUmVsYXRpb24gcmVsKQogICovCiB2b2lkCiBwZ3N0YXRfcmVwb3J0X3Zh Y3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAotCQkJCQkgUGdTdGF0X0NvdW50ZXIg bGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcykKKwkJCQkJIFBnU3RhdF9D b3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCisJCQkJCSBF eHRWYWNSZXBvcnQgKnBhcmFtcykKIHsKIAlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsK IAlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFiZW50cnk7CkBAIC0yMzIsNiArMjM1LDgg QEAgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAl0 YWJlbnRyeS0+bGl2ZV90dXBsZXMgPSBsaXZldHVwbGVzOwogCXRhYmVudHJ5LT5kZWFkX3R1 cGxlcyA9IGRlYWR0dXBsZXM7CiAKKwlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMo JnRhYmVudHJ5LT52YWN1dW1fZXh0LCBwYXJhbXMsIHRydWUpOworCiAJLyoKIAkgKiBJdCBp cyBxdWl0ZSBwb3NzaWJsZSB0aGF0IGEgbm9uLWFnZ3Jlc3NpdmUgVkFDVVVNIGVuZGVkIHVw IHNraXBwaW5nCiAJICogdmFyaW91cyBwYWdlcywgaG93ZXZlciwgd2UnbGwgemVybyB0aGUg aW5zZXJ0IGNvdW50ZXIgaGVyZSByZWdhcmRsZXNzLgpAQCAtODU5LDYgKzg2NCw5IEBAIHBn c3RhdF9yZWxhdGlvbl9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9v bCBub3dhaXQpCiAJdGFiZW50cnktPmJsb2Nrc19mZXRjaGVkICs9IGxzdGF0cy0+Y291bnRz LmJsb2Nrc19mZXRjaGVkOwogCXRhYmVudHJ5LT5ibG9ja3NfaGl0ICs9IGxzdGF0cy0+Y291 bnRzLmJsb2Nrc19oaXQ7CiAKKwl0YWJlbnRyeS0+cmV2X2FsbF9mcm96ZW5fcGFnZXMgKz0g bHN0YXRzLT5jb3VudHMucmV2X2FsbF9mcm96ZW5fcGFnZXM7CisJdGFiZW50cnktPnJldl9h bGxfdmlzaWJsZV9wYWdlcyArPSBsc3RhdHMtPmNvdW50cy5yZXZfYWxsX3Zpc2libGVfcGFn ZXM7CisKIAkvKiBDbGFtcCBsaXZlX3R1cGxlcyBpbiBjYXNlIG9mIG5lZ2F0aXZlIGRlbHRh X2xpdmVfdHVwbGVzICovCiAJdGFiZW50cnktPmxpdmVfdHVwbGVzID0gTWF4KHRhYmVudHJ5 LT5saXZlX3R1cGxlcywgMCk7CiAJLyogTGlrZXdpc2UgZm9yIGRlYWRfdHVwbGVzICovCkBA IC05ODIsMyArOTkwLDQwIEBAIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9U YWJsZVhhY3RTdGF0dXMgKnRyYW5zKQogCQl0cmFucy0+dHVwbGVzX2RlbGV0ZWQgPSB0cmFu cy0+ZGVsZXRlZF9wcmVfdHJ1bmNkcm9wOwogCX0KIH0KKworc3RhdGljIHZvaWQKK3Bnc3Rh dF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVw b3J0ICpzcmMsCisJCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNf aW5mbykKK3sKKwlkc3QtPnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVh ZDsKKwlkc3QtPnRvdGFsX2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CisJZHN0 LT50b3RhbF9ibGtzX2RpcnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CisJZHN0 LT50b3RhbF9ibGtzX3dyaXR0ZW4gKz0gc3JjLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJZHN0 LT53YWxfYnl0ZXMgKz0gc3JjLT53YWxfYnl0ZXM7CisJZHN0LT53YWxfZnBpICs9IHNyYy0+ d2FsX2ZwaTsKKwlkc3QtPndhbF9yZWNvcmRzICs9IHNyYy0+d2FsX3JlY29yZHM7CisJZHN0 LT5ibGtfcmVhZF90aW1lICs9IHNyYy0+YmxrX3JlYWRfdGltZTsKKwlkc3QtPmJsa193cml0 ZV90aW1lICs9IHNyYy0+YmxrX3dyaXRlX3RpbWU7CisJZHN0LT5kZWxheV90aW1lICs9IHNy Yy0+ZGVsYXlfdGltZTsKKwlkc3QtPnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90aW1lOwor CisJaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKKwkJcmV0dXJuOwor CisJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJZHN0LT5ibGtz X2hpdCArPSBzcmMtPmJsa3NfaGl0OworCisJZHN0LT5wYWdlc19zY2FubmVkICs9IHNyYy0+ cGFnZXNfc2Nhbm5lZDsKKwlkc3QtPnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19yZW1v dmVkOworCWRzdC0+dm1fbmV3X2Zyb3plbl9wYWdlcyArPSBzcmMtPnZtX25ld19mcm96ZW5f cGFnZXM7CisJZHN0LT52bV9uZXdfdmlzaWJsZV9wYWdlcyArPSBzcmMtPnZtX25ld192aXNp YmxlX3BhZ2VzOworCWRzdC0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHNyYy0+ dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOworCWRzdC0+dHVwbGVzX2RlbGV0ZWQgKz0g c3JjLT50dXBsZXNfZGVsZXRlZDsKKwlkc3QtPnR1cGxlc19mcm96ZW4gKz0gc3JjLT50dXBs ZXNfZnJvemVuOworCWRzdC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKz0gc3JjLT5yZWNlbnRs eV9kZWFkX3R1cGxlczsKKwlkc3QtPmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPmluZGV4 X3ZhY3V1bV9jb3VudDsKKwlkc3QtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgKz0gc3Jj LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OworCWRzdC0+bWlzc2VkX2RlYWRfcGFnZXMg Kz0gc3JjLT5taXNzZWRfZGVhZF9wYWdlczsKKwlkc3QtPm1pc3NlZF9kZWFkX3R1cGxlcyAr PSBzcmMtPm1pc3NlZF9kZWFkX3R1cGxlczsKKworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggNWY4ZDIwYTQw NmQuLmRhMzFkOWQzZTI5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdz dGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpA QCAtMTA2LDYgKzEwNiwxMiBAQCBQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh0dXBsZXNf dXBkYXRlZCkKIC8qIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCAqLwogUEdfU1RBVF9HRVRf UkVMRU5UUllfSU5UNjQodmFjdXVtX2NvdW50KQogCisvKiBwZ19zdGF0X2dldF9yZXZfZnJv emVuX3BhZ2VzICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChyZXZfYWxsX2Zyb3pl bl9wYWdlcykKKworLyogcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzICovCitQ R19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChyZXZfYWxsX3Zpc2libGVfcGFnZXMpCisKICNk ZWZpbmUgUEdfU1RBVF9HRVRfUkVMRU5UUllfVElNRVNUQU1QVFooc3RhdCkJCQkJCVwKIERh dHVtCQkJCQkJCQkJCQkJCQkJXAogQ3BwQ29uY2F0KHBnX3N0YXRfZ2V0XyxzdGF0KShQR19G VU5DVElPTl9BUkdTKQkJCQkJXApAQCAtMjE3MiwzICsyMTc4LDE0NCBAQCBwZ19zdGF0X2hh dmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJHUykKIAogCVBHX1JFVFVSTl9CT09MKHBnc3RhdF9o YXZlX2VudHJ5KGtpbmQsIGRib2lkLCBvYmppZCkpOwogfQorCisKKy8qCisgKiBHZXQgdGhl IHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaGVhcCB0YWJsZXMuCisgKi8KK0RhdHVtCitw Z19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJI2RlZmlu ZSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMgMjYKKworCU9pZAkJCQkJ CXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlQZ1N0YXRfU3RhdFRhYkVudHJ5ICAgICAq dGFiZW50cnk7CisJRXh0VmFjUmVwb3J0IAkJCSpleHR2YWN1dW07CisJVHVwbGVEZXNjCQkJ CSB0dXBkZXNjOworCURhdHVtCQkJCQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJM RVNfU1RBVFNfQ09MU10gPSB7MH07CisJYm9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZB Q1VVTV9UQUJMRVNfU1RBVFNfQ09MU10gPSB7MH07CisJY2hhcgkJCQkJIGJ1ZlsyNTZdOwor CWludAkJCQkJCSBpID0gMDsKKwlFeHRWYWNSZXBvcnQgYWxsemVybzsKKworCS8qIEluaXRp YWxpc2UgYXR0cmlidXRlcyBpbmZvcm1hdGlvbiBpbiB0aGUgdHVwbGUgZGVzY3JpcHRvciAq LworCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhQR19TVEFUX0dFVF9WQUNV VU1fVEFCTEVTX1NUQVRTX0NPTFMpOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2Ms IChBdHRyTnVtYmVyKSArK2ksICJyZWxpZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFs X2Jsa3NfcmVhZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfaGl0IiwKKwkJ CQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19kaXJ0aWVkIiwKKwkJCQkJICAgSU5UOE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAidG90YWxfYmxrc193cml0dGVuIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Js a3NfcmVhZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX2hpdCIsCisJCQkJCSAg IElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpICsraSwgInBhZ2VzX3NjYW5uZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7 CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdl c19yZW1vdmVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidm1fbmV3X2Zyb3plbl9wYWdlcyIs CisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInZtX25ld192aXNpYmxlX3BhZ2VzIiwKKwkJCQkJICAg SU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgKytpLCAidm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIiwKKwkJCQkJICAgSU5U OE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAibWlzc2VkX2RlYWRfcGFnZXMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7 CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0dXBs ZXNfZGVsZXRlZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInR1cGxlc19mcm96ZW4iLAorCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJyZWNlbnRseV9kZWFkX3R1cGxlcyIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgIm1pc3NlZF9kZWFkX3R1cGxlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJpbmRleF92YWN1 dW1fY291bnQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfcmVjb3JkcyIsCisJCQkJCSAg IElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpICsraSwgIndhbF9mcGkiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMi LAorCQkJCQkgICBOVU1FUklDT0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa19yZWFkX3RpbWUiLAorCQkJCQkgICBG TE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpICsraSwgImJsa193cml0ZV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwg MCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg ImRlbGF5X3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX3RpbWUiLAorCQkJ CQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZB Q1VVTV9UQUJMRVNfU1RBVFNfQ09MUyk7CisKKwlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsK KworCXRhYmVudHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnkocmVsaWQpOworCisJ aWYgKHRhYmVudHJ5ID09IE5VTEwpCisJeworCQkvKiBJZiB0aGUgc3Vic2NyaXB0aW9uIGlz IG5vdCBmb3VuZCwgaW5pdGlhbGlzZSBpdHMgc3RhdHMgKi8KKwkJbWVtc2V0KCZhbGx6ZXJv LCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJCWV4dHZhY3V1bSA9ICZhbGx6ZXJvOwor CX0KKwllbHNlCisJeworCQlleHR2YWN1dW0gPSAmKHRhYmVudHJ5LT52YWN1dW1fZXh0KTsK Kwl9CisKKwlpID0gMDsKKworCXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXREYXR1bShyZWxp ZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9i bGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRv dGFsX2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2ZldGNoZWQgLQorCQkJCQkJCQkJZXh0dmFjdXVt LT5ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ Ymxrc19oaXQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ cGFnZXNfc2Nhbm5lZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+cGFnZXNfcmVtb3ZlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+dm1fbmV3X2Zyb3plbl9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERh dHVtKGV4dHZhY3V1bS0+dm1fbmV3X3Zpc2libGVfcGFnZXMpOworCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+bWlzc2VkX2RlYWRf cGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxl c19kZWxldGVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50 dXBsZXNfZnJvemVuKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT5yZWNlbnRseV9kZWFkX3R1cGxlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+bWlzc2VkX2RlYWRfdHVwbGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDMy R2V0RGF0dW0oZXh0dmFjdXVtLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5pbmRleF92YWN1dW1fY291bnQp OworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX3JlY29y ZHMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9mcGkp OworCisJLyogQ29udmVydCB0byBudW1lcmljLCBsaWtlIHBnX3N0YXRfc3RhdGVtZW50cyAq LworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgZXh0dmFjdXVt LT53YWxfYnl0ZXMpOworCXZhbHVlc1tpKytdID0gRGlyZWN0RnVuY3Rpb25DYWxsMyhudW1l cmljX2luLAorCQkJCQkJCQkJICBDU3RyaW5nR2V0RGF0dW0oYnVmKSwKKwkJCQkJCQkJCSAg T2JqZWN0SWRHZXREYXR1bSgwKSwKKwkJCQkJCQkJCSAgSW50MzJHZXREYXR1bSgtMSkpOwor CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa19yZWFkX3Rp bWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtfd3Jp dGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmRl bGF5X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT50 b3RhbF90aW1lKTsKKworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNf U1RBVFNfQ09MUyk7CisKKwkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KKwlQ R19SRVRVUk5fREFUVU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRl c2MsIHZhbHVlcywgbnVsbHMpKSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvZXJyb3IvZWxvZy5jCmluZGV4IDg2MGJiZDQwZDQyLi40ZGE4ZDNmODdmZCAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwpAQCAtMTYxOSw2ICsxNjE5LDE5IEBAIGdldGlu dGVybmFsZXJycG9zaXRpb24odm9pZCkKIAlyZXR1cm4gZWRhdGEtPmludGVybmFscG9zOwog fQogCisvKgorICogUmV0dXJuIGVsZXZlbCBvZiBlcnJvcnMKKyAqLworaW50CitnZXRlcnJl bGV2ZWwodm9pZCkKK3sKKwlFcnJvckRhdGEgICplZGF0YSA9ICZlcnJvcmRhdGFbZXJyb3Jk YXRhX3N0YWNrX2RlcHRoXTsKKworCS8qIHdlIGRvbid0IGJvdGhlciBpbmNyZW1lbnRpbmcg cmVjdXJzaW9uX2RlcHRoICovCisJQ0hFQ0tfU1RBQ0tfREVQVEgoKTsKKworCXJldHVybiBl ZGF0YS0+ZWxldmVsOworfQogCiAvKgogICogRnVuY3Rpb25zIHRvIGFsbG93IGNvbnN0cnVj dGlvbiBvZiBlcnJvciBtZXNzYWdlIHN0cmluZ3Mgc2VwYXJhdGVseSBmcm9tCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCmluZGV4IGM5ZDhjZDc5NmE4Li5mMmQzMWUxNzRi NCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKKysr IGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKQEAgLTE0NzgsNiArMTQ3 OCwxNSBAQCBzdHJ1Y3QgY29uZmlnX2Jvb2wgQ29uZmlndXJlTmFtZXNCb29sW10gPQogCQlm YWxzZSwKIAkJTlVMTCwgTlVMTCwgTlVMTAogCX0sCisJeworCQl7InRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzIiwgUEdDX1NVU0VULCBTVEFUU19DVU1VTEFUSVZFLAorCQkJZ2V0dGV4dF9u b29wKCJDb2xsZWN0cyB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGFibGUgcmVsYXRpb25zLiIp LAorCQkJTlVMTAorCQl9LAorCQkmcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzLAor CQl0cnVlLAorCQlOVUxMLCBOVUxMLCBOVUxMCisJfSwKIAl7CiAJCXsidHJhY2tfd2FsX2lv X3RpbWluZyIsIFBHQ19TVVNFVCwgU1RBVFNfQ1VNVUxBVElWRSwKIAkJCWdldHRleHRfbm9v cCgiQ29sbGVjdHMgdGltaW5nIHN0YXRpc3RpY3MgZm9yIFdBTCBJL08gYWN0aXZpdHkuIiks CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCBiMzdlOGE2Zjg4Mi4uMGQ5NTg0YTlm ZWMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI0MjksNCArMTI0MjksMjIg QEAKICAgcHJvYXJndHlwZXMgPT4gJ2ludDInLAogICBwcm9zcmMgPT4gJ2dpc3Rfc3RyYXRu dW1faWRlbnRpdHknIH0sCiAKK3sgb2lkID0+ICc4MDAxJywKKyAgZGVzY3IgPT4gJ3BnX3N0 YXRfZ2V0X3ZhY3V1bV90YWJsZXMgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciB0 YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMnLCBwcm9y b3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3Jk Jyxwcm9pc3N0cmljdCA9PiAnZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2FyZ3R5 cGVzID0+ICdvaWQnLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50 OCxpbnQ4LGludDgsaW50OCxpbnQ0LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZs b2F0OCxmbG9hdDgsZmxvYXQ4fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJn bmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0 LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxy ZWxfYmxrc19oaXQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHZtX25ld19mcm96ZW5f cGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2Vz LG1pc3NlZF9kZWFkX3BhZ2VzLHR1cGxlc19kZWxldGVkLHR1cGxlc19mcm96ZW4scmVjZW50 bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfdHVwbGVzLHdyYXBhcm91bmRfZmFpbHNhZmUs aW5kZXhfdmFjdXVtX2NvdW50LHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19y ZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0b3RhbF90aW1lfScsCisgIHBy b3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcycgfSwKKworICB7IG9pZCA9PiAn ODAwMicsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdGltZXMgdGhlIGFsbC12 aXNpYmxlIHBhZ2VzIGluIHRoZSB2aXNpYmlsaXR5IG1hcCB3YXMgcmVtb3ZlZCBmb3IgcGFn ZXMgb2YgdGFibGUnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX3Zpc2li bGVfcGFnZXMnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdyJywg cHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9zcmMg PT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdlcycgfSwKKyAgeyBvaWQgPT4g JzgwMDMnLCBkZXNjciA9PiAnc3RhdGlzdGljczogbnVtYmVyIG9mIHRpbWVzIHRoZSBhbGwt ZnJvemVuIHBhZ2VzIGluIHRoZSB2aXNpYmlsaXR5IG1hcCB3YXMgcmVtb3ZlZCBmb3IgcGFn ZXMgb2YgdGFibGUnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3pl bl9wYWdlcycsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBw cm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9 PiAncGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMnIH0sCiBdCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRz L3ZhY3V1bS5oCmluZGV4IDEyZDBiNjE5NTBkLi45NGQ1OTk3NjdkZiAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFu ZHMvdmFjdXVtLmgKQEAgLTMwOCw2ICszMDgsNyBAQCBleHRlcm4gUEdETExJTVBPUlQgaW50 IHZhY3V1bV9tdWx0aXhhY3RfZmFpbHNhZmVfYWdlOwogZXh0ZXJuIFBHRExMSU1QT1JUIHBn X2F0b21pY191aW50MzIgKlZhY3V1bVNoYXJlZENvc3RCYWxhbmNlOwogZXh0ZXJuIFBHRExM SU1QT1JUIHBnX2F0b21pY191aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3JrZXJzOwogZXh0ZXJu IFBHRExMSU1QT1JUIGludCBWYWN1dW1Db3N0QmFsYW5jZUxvY2FsOworZXh0ZXJuIFBHRExM SU1QT1JUIGRvdWJsZSBWYWN1dW1EZWxheVRpbWU7CiAKIGV4dGVybiBQR0RMTElNUE9SVCBi b29sIFZhY3V1bUZhaWxzYWZlQWN0aXZlOwogZXh0ZXJuIFBHRExMSU1QT1JUIGRvdWJsZSB2 YWN1dW1fY29zdF9kZWxheTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIv c3JjL2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggNjQ3NTg4OWM1OGMuLjAyNjY5OTNkYmYyIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0 YXQuaApAQCAtMTY3LDYgKzE2Nyw1MyBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfQmFja2Vu ZFN1YkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgY29uZmxpY3RfY291bnRbQ09ORkxJQ1RfTlVN X1RZUEVTXTsKIH0gUGdTdGF0X0JhY2tlbmRTdWJFbnRyeTsKIAorLyogLS0tLS0tLS0tLQor ICoKKyAqIEV4dFZhY1JlcG9ydAorICoKKyAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2 YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIHBhZ2VzX3JlbW92 ZWQgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0aGUgcGh5c2ljYWxseSBzaHJhbmssCisgKiBp ZiBhbnkgKGllIHRoZSBjaGFuZ2UgaW4gaXRzIHRvdGFsIHNpemUgb24gZGlzaykKKyAqIHBh Z2VzX2RlbGV0ZWQgcmVmZXIgdG8gZnJlZSBzcGFjZSB3aXRoaW4gdGhlIGluZGV4IGZpbGUK KyAqIC0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0Cit7CisJ LyogbnVtYmVyIG9mIGJsb2NrcyBtaXNzZWQsIGhpdCwgZGlydGllZCBhbmQgd3JpdHRlbiBk dXJpbmcgYSB2YWN1dW0gb2Ygc3BlY2lmaWMgcmVsYXRpb24gKi8KKwlpbnQ2NAkJdG90YWxf Ymxrc19yZWFkOworCWludDY0CQl0b3RhbF9ibGtzX2hpdDsKKwlpbnQ2NAkJdG90YWxfYmxr c19kaXJ0aWVkOworCWludDY0CQl0b3RhbF9ibGtzX3dyaXR0ZW47CisKKwkvKiBibG9ja3Mg bWlzc2VkIGFuZCBoaXQgZm9yIGp1c3QgdGhlIGhlYXAgZHVyaW5nIGEgdmFjdXVtIG9mIHNw ZWNpZmljIHJlbGF0aW9uICovCisJaW50NjQJCWJsa3NfZmV0Y2hlZDsKKwlpbnQ2NAkJYmxr c19oaXQ7CisKKwkvKiBWYWN1dW0gV0FMIHVzYWdlIHN0YXRzICovCisJaW50NjQJCXdhbF9y ZWNvcmRzOwkvKiB3YWwgdXNhZ2U6IG51bWJlciBvZiBXQUwgcmVjb3JkcyAqLworCWludDY0 CQl3YWxfZnBpOwkJLyogd2FsIHVzYWdlOiBudW1iZXIgb2YgV0FMIGZ1bGwgcGFnZSBpbWFn ZXMgcHJvZHVjZWQgKi8KKwl1aW50NjQJCXdhbF9ieXRlczsJCS8qIHdhbCB1c2FnZTogc2l6 ZSBvZiBXQUwgcmVjb3JkcyBwcm9kdWNlZCAqLworCisJLyogVGltZSBzdGF0cy4gKi8KKwlk b3VibGUJCWJsa19yZWFkX3RpbWU7CS8qIHRpbWUgc3BlbnQgcmVhZGluZyBwYWdlcywgaW4g bXNlYyAqLworCWRvdWJsZQkJYmxrX3dyaXRlX3RpbWU7IC8qIHRpbWUgc3BlbnQgd3JpdGlu ZyBwYWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJZGVsYXlfdGltZTsJCS8qIGhvdyBsb25n IHZhY3V1bSBzbGVwdCBpbiB2YWN1dW0gZGVsYXkgcG9pbnQsIGluIG1zZWMgKi8KKwlkb3Vi bGUJCXRvdGFsX3RpbWU7CQkvKiB0b3RhbCB0aW1lIG9mIGEgdmFjdXVtIG9wZXJhdGlvbiwg aW4gbXNlYyAqLworCisJaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBoZWFwIHBhZ2VzIGV4 YW1pbmVkIChub3Qgc2tpcHBlZCBieSBWTSkgKi8KKwlpbnQ2NAkJcGFnZXNfcmVtb3ZlZDsJ CS8qIGhlYXAgcGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0gInRydW5jYXRpb24iICovCisJaW50 NjQJCXZtX25ld19mcm96ZW5fcGFnZXM7CQkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJv emVuICovCisJaW50NjQJCXZtX25ld192aXNpYmxlX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQg aW4gVk0gYXMgYWxsLXZpc2libGUgKi8KKwlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgYW5kIGZyb3pl biAqLworCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBsZXMgbm90IHBydW5l ZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51cCBsb2NrICovCisJ aW50NjQJCW1pc3NlZF9kZWFkX3BhZ2VzOwkJLyogcGFnZXMgd2l0aCBtaXNzZWQgZGVhZCB0 dXBsZXMgKi8KKwlpbnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBi eSB2YWN1dW0gKi8KKwlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4g dXAgYnkgdmFjdXVtICovCisJaW50NjQJCXJlY2VudGx5X2RlYWRfdHVwbGVzOwkvKiBkZWxl dGVkIHR1cGxlcyB0aGF0IGFyZSBzdGlsbCB2aXNpYmxlIHRvIHNvbWUgdHJhbnNhY3Rpb24g Ki8KKwlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIGluZGV4 IHZhY3V1bWluZ3MgKi8KKwlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJLyog dGhlIG51bWJlciBvZiB0aW1lcyB0byBwcmV2ZW50IHdvcmthcm91bmQgcHJvYmxlbSAqLwor fSBFeHRWYWNSZXBvcnQ7CisKIC8qIC0tLS0tLS0tLS0KICAqIFBnU3RhdF9UYWJsZUNvdW50 cwkJCVRoZSBhY3R1YWwgcGVyLXRhYmxlIGNvdW50cyBrZXB0IGJ5IGEgYmFja2VuZAogICoK QEAgLTIwOSw2ICsyNTYsMTYgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1RhYmxlQ291bnRz CiAKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKIAlQZ1N0YXRfQ291bnRlciBi bG9ja3NfaGl0OworCisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF92aXNpYmxlX3BhZ2VzOwor CVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVuX3BhZ2VzOworCisJLyoKKwkgKiBBZGRp dGlvbmFsIGN1bXVsYXRpdmUgc3RhdCBvbiB2YWN1dW0gb3BlcmF0aW9ucy4KKwkgKiBVc2Ug YW4gZXhwZW5zaXZlIHN0cnVjdHVyZSBhcyBhbiBhYnN0cmFjdGlvbiBmb3IgZGlmZmVyZW50 IHR5cGVzIG9mCisJICogcmVsYXRpb25zLgorCSAqLworCUV4dFZhY1JlcG9ydAl2YWN1dW1f ZXh0OwogfSBQZ1N0YXRfVGFibGVDb3VudHM7CiAKIC8qIC0tLS0tLS0tLS0KQEAgLTI2Nyw3 ICszMjQsNyBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVYYWN0U3RhdHVzCiAgKiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KICAqLwogCi0jZGVmaW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9JRAkweDAxQTVCQ0Iw CisjZGVmaW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9JRAkweDAxQTVCQ0IxCiAKIHR5cGVkZWYg c3RydWN0IFBnU3RhdF9BcmNoaXZlclN0YXRzCiB7CkBAIC00MjksNiArNDg2LDggQEAgdHlw ZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgcGFyYWxs ZWxfd29ya2Vyc19sYXVuY2hlZDsKIAogCVRpbWVzdGFtcFR6IHN0YXRfcmVzZXRfdGltZXN0 YW1wOworCisJRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7CQkvKiBleHRlbmRlZCB2YWN1dW0g c3RhdGlzdGljcyAqLwogfSBQZ1N0YXRfU3RhdERCRW50cnk7CiAKIHR5cGVkZWYgc3RydWN0 IFBnU3RhdF9TdGF0RnVuY0VudHJ5CkBAIC01MDIsNiArNTYxLDExIEBAIHR5cGVkZWYgc3Ry dWN0IFBnU3RhdF9TdGF0VGFiRW50cnkKIAlQZ1N0YXRfQ291bnRlciBhbmFseXplX2NvdW50 OwogCVRpbWVzdGFtcFR6IGxhc3RfYXV0b2FuYWx5emVfdGltZTsJLyogYXV0b3ZhY3V1bSBp bml0aWF0ZWQgKi8KIAlQZ1N0YXRfQ291bnRlciBhdXRvYW5hbHl6ZV9jb3VudDsKKworCVBn U3RhdF9Db3VudGVyIHJldl9hbGxfdmlzaWJsZV9wYWdlczsKKwlQZ1N0YXRfQ291bnRlciBy ZXZfYWxsX2Zyb3plbl9wYWdlczsKKworCUV4dFZhY1JlcG9ydCB2YWN1dW1fZXh0OwogfSBQ Z1N0YXRfU3RhdFRhYkVudHJ5OwogCiB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfV2FsU3RhdHMK QEAgLTY3Niw3ICs3NDAsOCBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfYXNzb2NfcmVsYXRpb24o UmVsYXRpb24gcmVsKTsKIGV4dGVybiB2b2lkIHBnc3RhdF91bmxpbmtfcmVsYXRpb24oUmVs YXRpb24gcmVsKTsKIAogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRh Ymxlb2lkLCBib29sIHNoYXJlZCwKLQkJCQkJCQkJIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBs ZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMpOworCQkJCQkJCQkgUGdTdGF0X0NvdW50 ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKKwkJCQkJCQkJIEV4 dFZhY1JlcG9ydCAqcGFyYW1zKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6 ZShSZWxhdGlvbiByZWwsCiAJCQkJCQkJCSAgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywg UGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKIAkJCQkJCQkJICBib29sIHJlc2V0Y291bnRl cik7CkBAIC03MjcsNiArNzkyLDE3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5h bHl6ZShSZWxhdGlvbiByZWwsCiAJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9u KHJlbCkpCQkJCQkJXAogCQkJKHJlbCktPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2hp dCsrOwkJCQlcCiAJfSB3aGlsZSAoMCkKKy8qIGFjY3VtdWxhdGUgdW5mcm96ZW4gYWxsLXZp c2libGUgYW5kIGFsbC1mcm96ZW4gcGFnZXMgKi8KKyNkZWZpbmUgcGdzdGF0X2NvdW50X3Zt X3Jldl9hbGxfdmlzaWJsZShyZWwpCQkJCQkJXAorCWRvIHsJCQkJCQkJCQkJCQkJCQlcCisJ CWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAorCQkJKHJl bCktPnBnc3RhdF9pbmZvLT5jb3VudHMucmV2X2FsbF92aXNpYmxlX3BhZ2VzKys7CVwKKwl9 IHdoaWxlICgwKQorI2RlZmluZSBwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF9mcm96ZW4ocmVs KQkJCQkJCVwKKwlkbyB7CQkJCQkJCQkJCQkJCQkJXAorCQlpZiAocGdzdGF0X3Nob3VsZF9j b3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKKwkJCShyZWwpLT5wZ3N0YXRfaW5mby0+Y291 bnRzLnJldl9hbGxfZnJvemVuX3BhZ2VzKys7CVwKKwl9IHdoaWxlICgwKQogCiBleHRlcm4g dm9pZCBwZ3N0YXRfY291bnRfaGVhcF9pbnNlcnQoUmVsYXRpb24gcmVsLCBQZ1N0YXRfQ291 bnRlciBuKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9jb3VudF9oZWFwX3VwZGF0ZShSZWxhdGlv biByZWwsIGJvb2wgaG90LCBib29sIG5ld3BhZ2UpOwpAQCAtNzQ0LDcgKzgyMCw2IEBAIGV4 dGVybiBQZ1N0YXRfU3RhdFRhYkVudHJ5ICpwZ3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeV9l eHQoYm9vbCBzaGFyZWQsCiAJCQkJCQkJCQkJCQkJCSAgIE9pZCByZWxvaWQpOwogZXh0ZXJu IFBnU3RhdF9UYWJsZVN0YXR1cyAqZmluZF90YWJzdGF0X2VudHJ5KE9pZCByZWxfaWQpOwog Ci0KIC8qCiAgKiBGdW5jdGlvbnMgaW4gcGdzdGF0X3JlcGxzbG90LmMKICAqLwpAQCAtODE1 LDYgKzg5MCw3IEBAIGV4dGVybiBQZ1N0YXRfV2FsU3RhdHMgKnBnc3RhdF9mZXRjaF9zdGF0 X3dhbCh2b2lkKTsKIGV4dGVybiBQR0RMTElNUE9SVCBib29sIHBnc3RhdF90cmFja19jb3Vu dHM7CiBleHRlcm4gUEdETExJTVBPUlQgaW50IHBnc3RhdF90cmFja19mdW5jdGlvbnM7CiBl eHRlcm4gUEdETExJTVBPUlQgaW50IHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeTsKK2V4dGVy biBQR0RMTElNUE9SVCBib29sIHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljczsKIAog CiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oIGIvc3JjL2luY2x1 ZGUvdXRpbHMvZWxvZy5oCmluZGV4IDcxNjFmNWM2YWQ2Li45ZTA4MDc0N2E5MiAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxz L2Vsb2cuaApAQCAtMjMwLDYgKzIzMCw3IEBAIGV4dGVybiBpbnQJZ2V0ZXJybGV2ZWwodm9p ZCk7CiBleHRlcm4gaW50CWdldGVycnBvc2l0aW9uKHZvaWQpOwogZXh0ZXJuIGludAlnZXRp bnRlcm5hbGVycnBvc2l0aW9uKHZvaWQpOwogCitleHRlcm4gaW50CWdldGVycmVsZXZlbCh2 b2lkKTsKIAogLyotLS0tLS0tLS0tCiAgKiBPbGQtc3R5bGUgZXJyb3IgcmVwb3J0aW5nIEFQ STogdG8gYmUgdXNlZCBpbiB0aGlzIHdheToKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0 aWxzL3Bnc3RhdF9pbnRlcm5hbC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVy bmFsLmgKaW5kZXggNGJiOGU1YzUzYWIuLjRmODM2ZTdmY2EwIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaAorKysgYi9zcmMvaW5jbHVkZS91dGls cy9wZ3N0YXRfaW50ZXJuYWwuaApAQCAtNjAwLDcgKzYwMCw2IEBAIGV4dGVybiBQZ1N0YXRf RW50cnlSZWYgKnBnc3RhdF9mZXRjaF9wZW5kaW5nX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQs CiBleHRlcm4gdm9pZCAqcGdzdGF0X2ZldGNoX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9p ZCBkYm9pZCwgdWludDY0IG9iamlkKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9zbmFwc2hvdF9m aXhlZChQZ1N0YXRfS2luZCBraW5kKTsKIAotCiAvKgogICogRnVuY3Rpb25zIGluIHBnc3Rh dF9hcmNoaXZlci5jCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBl Y3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCBiL3NyYy90ZXN0 L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFk Lm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uODdmN2U0MGI0 YTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFj dXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKQEAgLTAsMCArMSw1MyBAQAor dW51c2VkIHN0ZXAgbmFtZTogczJfZGVsZXRlCitQYXJzZWQgdGVzdCBzcGVjIHdpdGggMiBz ZXNzaW9ucworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczJfaW5zZXJ0IHMyX3ByaW50X3Zh Y3V1bV9zdGF0c190YWJsZSBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQgczJfdXBkYXRlIHMy X2luc2VydF9pbnRlcnJ1cHQgczJfdmFjdXVtIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJs ZSBzMV9jb21taXQgczJfY2hlY2twb2ludCBzMl92YWN1dW0gczJfcHJpbnRfdmFjdXVtX3N0 YXRzX3RhYmxlCitzdGVwIHMyX2luc2VydDogSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3Rh dF9pc29sYXRpb24oaWQsIGl2YWwpIFNFTEVDVCBpdmFsLCBpdmFsJTEwIEZST00gZ2VuZXJh dGVfc2VyaWVzKDEsMTAwMCkgQXMgaXZhbDsKK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRz X3RhYmxlOiAKKyAgICBTRUxFQ1QKKyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRl ZCwgdnQucmVjZW50bHlfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3R1cGxlcywgdnQu bWlzc2VkX2RlYWRfcGFnZXMsIHZ0LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAn dGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworCity ZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFk X3R1cGxlc3xtaXNzZWRfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zy b3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgICAw fCAgICAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAg ICAgMHwgICAgICAgICAgICAwCisoMSByb3cpCisKK3N0ZXAgczFfYmVnaW5fcmVwZWF0YWJs ZV9yZWFkOiAKKyAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFC TEUgUkVBRDsKKyAgc2VsZWN0IGNvdW50KGl2YWwpIGZyb20gdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb24gd2hlcmUgaWQ+OTAwOworCitjb3VudAorLS0tLS0KKyAgMTAwCisoMSByb3cp CisKK3N0ZXAgczJfdXBkYXRlOiBVUERBVEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24g U0VUIGl2YWwgPSBpdmFsICsgMiB3aGVyZSBpZCA+IDkwMDsKK3N0ZXAgczJfaW5zZXJ0X2lu dGVycnVwdDogSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gdmFsdWVz ICgxLDEpOworc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbjsKK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKKyAgICBTRUxFQ1QK KyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQucmVjZW50bHlfZGVhZF90 dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfcGFnZXMsIHZ0 LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdf Y2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29s YXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworCityZWxuYW1lICAgICAgICAgICAgICAg ICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF90 dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3RfdmFj dXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAgMTAw fCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAwCiso MSByb3cpCisKK3N0ZXAgczFfY29tbWl0OiBDT01NSVQ7CitzdGVwIHMyX2NoZWNrcG9pbnQ6 IENIRUNLUE9JTlQ7CitzdGVwIHMyX3ZhY3V1bTogVkFDVVVNIHRlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uOworc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6IAorICAgIFNF TEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5yZWNlbnRseV9k ZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF9wYWdl cywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0 LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK3JlbG5hbWUgICAgICAgICAg ICAgICAgICAgfHR1cGxlc19kZWxldGVkfHJlY2VudGx5X2RlYWRfdHVwbGVzfG1pc3NlZF9k ZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF9wYWdlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQordGVz dF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAxMDB8ICAgICAgICAgICAgICAg ICAxMDB8ICAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAwfCAgICAgICAgICAx MDEKKygxIHJvdykKKwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlv bl9zY2hlZHVsZSBiL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUKaW5k ZXggMTQzMTA5YWE0ZGEuLmU5M2RkNGY2MjZjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9pc29s YXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29s YXRpb25fc2NoZWR1bGUKQEAgLTk1LDYgKzk1LDcgQEAgdGVzdDogdGltZW91dHMKIHRlc3Q6 IHZhY3V1bS1jb25jdXJyZW50LWRyb3AKIHRlc3Q6IHZhY3V1bS1jb25mbGljdAogdGVzdDog dmFjdXVtLXNraXAtbG9ja2VkCit0ZXN0OiB2YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJs ZS1yZWFkCiB0ZXN0OiBzdGF0cwogdGVzdDogaG9yaXpvbnMKIHRlc3Q6IHByZWRpY2F0ZS1o YXNoCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVu ZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVjIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNz L3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNTg5M2Q4OTU3M2QKLS0tIC9kZXYvbnVsbAor KysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5zcGVjCkBAIC0wLDAgKzEsNTMgQEAKKyMgVGVzdCBmb3IgY2hlY2tpbmcg cmVjZW50bHlfZGVhZF90dXBsZXMsIHR1cGxlc19kZWxldGVkIGFuZCBmcm96ZW4gdHVwbGVz IGluIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy4KKyMgcmVjZW50bHlfZGVhZF90dXBsZXMgdmFs dWVzIGFyZSBjb3VudGVkIHdoZW4gdmFjdXVtIGhhc24ndCBjbGVhcmVkIHR1cGxlcyBiZWNh dXNlIHRoZXkgd2VyZSBkZWxldGVkIHJlY2VudGx5LgorIyByZWNlbnRseV9kZWFkX3R1cGxl cyBhcmVuJ3QgaW5jcmVhc2VkIGFmdGVyIHJlbGVhc2luZyBsb2NrIGNvbXBhcmVkIHdpdGgg dHVwbGVzX2RlbGV0ZWQsIHdoaWNoIGluY3JlYXNlZAorIyBieSB0aGUgdmFsdWUgb2YgdGhl IGNsZWFyZWQgdHVwbGVzIHRoYXQgdGhlIHZhY3V1bSBtYW5hZ2VkIHRvIGNsZWFyLgorCitz ZXR1cAoreworICAgIENSRUFURSBUQUJMRSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbihp ZCBpbnQsIGl2YWwgaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYpOworICAg IFNFVCB0cmFja19pb190aW1pbmcgPSBvbjsKKyAgICBTRVQgdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3MgVE8gJ29uJzsKK30KKwordGVhcmRvd24KK3sKKyAgICBEUk9QIFRBQkxFIHRlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9uIENBU0NBREU7CisgICAgUkVTRVQgdHJhY2tfaW9fdGlt aW5nOworICAgIFJFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOworfQorCitzZXNzaW9u IHMxCitzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZCAgIHsKKyAgQkVHSU4gdHJhbnNh Y3Rpb24gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKKyAgc2VsZWN0IGNvdW50 KGl2YWwpIGZyb20gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUgaWQ+OTAwOwor ICB9CitzdGVwIHMxX2NvbW1pdCAgICAgICAgICAgICAgICAgIHsgQ09NTUlUOyB9CisKK3Nl c3Npb24gczIKK3N0ZXAgczJfaW5zZXJ0ICAgICAgICAgICAgICAgICAgeyBJTlNFUlQgSU5U TyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbihpZCwgaXZhbCkgU0VMRUNUIGl2YWwsIGl2 YWwlMTAgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwxMDAwKSBBcyBpdmFsOyB9CitzdGVwIHMy X3VwZGF0ZSAgICAgICAgICAgICAgICAgIHsgVVBEQVRFIHRlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9uIFNFVCBpdmFsID0gaXZhbCArIDIgd2hlcmUgaWQgPiA5MDA7IH0KK3N0ZXAgczJf ZGVsZXRlICAgICAgICAgICAgICAgICAgeyBERUxFVEUgRlJPTSB0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbiB3aGVyZSBpZCA+IDkwMDsgfQorc3RlcCBzMl9pbnNlcnRfaW50ZXJydXB0 ICAgICAgICB7IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHZhbHVl cyAoMSwxKTsgfQorc3RlcCBzMl92YWN1dW0gICAgICAgICAgICAgICAgICB7IFZBQ1VVTSB0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbjsgfQorc3RlcCBzMl9jaGVja3BvaW50ICAgICAg ICAgICAgICB7IENIRUNLUE9JTlQ7IH0KK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3Rh YmxlCit7CisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQs IHZ0LnJlY2VudGx5X2RlYWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF90dXBsZXMsIHZ0Lm1p c3NlZF9kZWFkX3BhZ2VzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rl c3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK30KKwor cGVybXV0YXRpb24KKyAgICBzMl9pbnNlcnQKKyAgICBzMl9wcmludF92YWN1dW1fc3RhdHNf dGFibGUKKyAgICBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQKKyAgICBzMl91cGRhdGUKKyAg ICBzMl9pbnNlcnRfaW50ZXJydXB0CisgICAgczJfdmFjdXVtCisgICAgczJfcHJpbnRfdmFj dXVtX3N0YXRzX3RhYmxlCisgICAgczFfY29tbWl0CisgICAgczJfY2hlY2twb2ludAorICAg IHMyX3ZhY3V1bQorICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQpcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5k ZXggMzAxNGQwNDdmZWYuLmI0OWY3OTM2ZjkzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dApAQCAtMTgwNCw3ICsxODA0LDkgQEAgcGdfc3RhdF9hbGxfdGFibGVzfCBT RUxFQ1QgYy5vaWQgQVMgcmVsaWQsCiAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KGMu b2lkKSBBUyB2YWN1dW1fY291bnQsCiAgICAgcGdfc3RhdF9nZXRfYXV0b3ZhY3V1bV9jb3Vu dChjLm9pZCkgQVMgYXV0b3ZhY3V1bV9jb3VudCwKICAgICBwZ19zdGF0X2dldF9hbmFseXpl X2NvdW50KGMub2lkKSBBUyBhbmFseXplX2NvdW50LAotICAgIHBnX3N0YXRfZ2V0X2F1dG9h bmFseXplX2NvdW50KGMub2lkKSBBUyBhdXRvYW5hbHl6ZV9jb3VudAorICAgIHBnX3N0YXRf Z2V0X2F1dG9hbmFseXplX2NvdW50KGMub2lkKSBBUyBhdXRvYW5hbHl6ZV9jb3VudCwKKyAg ICBwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcyhjLm9pZCkgQVMgcmV2X2FsbF9m cm96ZW5fcGFnZXMsCisgICAgcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzKGMu b2lkKSBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gKChwZ19jbGFzcyBjCiAg ICAgIExFRlQgSk9JTiBwZ19pbmRleCBpIE9OICgoYy5vaWQgPSBpLmluZHJlbGlkKSkpCiAg ICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3Bh Y2UpKSkKQEAgLTIxODgsNyArMjE5MCw5IEBAIHBnX3N0YXRfc3lzX3RhYmxlc3wgU0VMRUNU IHJlbGlkLAogICAgIHZhY3V1bV9jb3VudCwKICAgICBhdXRvdmFjdXVtX2NvdW50LAogICAg IGFuYWx5emVfY291bnQsCi0gICAgYXV0b2FuYWx5emVfY291bnQKKyAgICBhdXRvYW5hbHl6 ZV9jb3VudCwKKyAgICByZXZfYWxsX2Zyb3plbl9wYWdlcywKKyAgICByZXZfYWxsX3Zpc2li bGVfcGFnZXMKICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1h bmFtZSA9IEFOWSAoQVJSQVlbJ3BnX2NhdGFsb2cnOjpuYW1lLCAnaW5mb3JtYXRpb25fc2No ZW1hJzo6bmFtZV0pKSBPUiAoc2NoZW1hbmFtZSB+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CiBw Z19zdGF0X3VzZXJfZnVuY3Rpb25zfCBTRUxFQ1QgcC5vaWQgQVMgZnVuY2lkLApAQCAtMjIz Niw5ICsyMjQwLDQzIEBAIHBnX3N0YXRfdXNlcl90YWJsZXN8IFNFTEVDVCByZWxpZCwKICAg ICB2YWN1dW1fY291bnQsCiAgICAgYXV0b3ZhY3V1bV9jb3VudCwKICAgICBhbmFseXplX2Nv dW50LAotICAgIGF1dG9hbmFseXplX2NvdW50CisgICAgYXV0b2FuYWx5emVfY291bnQsCisg ICAgcmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAg ICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPD4gQUxM IChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpuYW1l XSkpIEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOworcGdfc3RhdF92 YWN1dW1fdGFibGVzfCBTRUxFQ1QgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAorICAgIHJl bC5yZWxuYW1lLAorICAgIHN0YXRzLnJlbGlkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfcmVh ZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2Rp cnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0YXRzLnJlbF9i bGtzX3JlYWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnBhZ2VzX3Nj YW5uZWQsCisgICAgc3RhdHMucGFnZXNfcmVtb3ZlZCwKKyAgICBzdGF0cy52bV9uZXdfZnJv emVuX3BhZ2VzLAorICAgIHN0YXRzLnZtX25ld192aXNpYmxlX3BhZ2VzLAorICAgIHN0YXRz LnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywKKyAgICBzdGF0cy5taXNzZWRfZGVhZF9w YWdlcywKKyAgICBzdGF0cy50dXBsZXNfZGVsZXRlZCwKKyAgICBzdGF0cy50dXBsZXNfZnJv emVuLAorICAgIHN0YXRzLnJlY2VudGx5X2RlYWRfdHVwbGVzLAorICAgIHN0YXRzLm1pc3Nl ZF9kZWFkX3R1cGxlcywKKyAgICBzdGF0cy53cmFwYXJvdW5kX2ZhaWxzYWZlLAorICAgIHN0 YXRzLmluZGV4X3ZhY3V1bV9jb3VudCwKKyAgICBzdGF0cy53YWxfcmVjb3JkcywKKyAgICBz dGF0cy53YWxfZnBpLAorICAgIHN0YXRzLndhbF9ieXRlcywKKyAgICBzdGF0cy5ibGtfcmVh ZF90aW1lLAorICAgIHN0YXRzLmJsa193cml0ZV90aW1lLAorICAgIHN0YXRzLmRlbGF5X3Rp bWUsCisgICAgc3RhdHMudG90YWxfdGltZQorICAgRlJPTSAocGdfY2xhc3MgcmVsCisgICAg IEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OICgobnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSkp KSwKKyAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkgc3Rh dHMocmVsaWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3Nf ZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19yZWFkLCByZWxfYmxrc19o aXQsIHBhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHZtX25ld19mcm96ZW5fcGFnZXMs IHZtX25ld192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIG1p c3NlZF9kZWFkX3BhZ2VzLCB0dXBsZXNfZGVsZXRlZCwgdHVwbGVzX2Zyb3plbiwgcmVjZW50 bHlfZGVhZF90dXBsZXMsIG1pc3NlZF9kZWFkX3R1cGxlcywgd3JhcGFyb3VuZF9mYWlsc2Fm ZSwgaW5kZXhfdmFjdXVtX2NvdW50LCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVz LCBibGtfcmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSwgZGVsYXlfdGltZSwgdG90YWxfdGlt ZSkKKyAgV0hFUkUgKHJlbC5yZWxraW5kID0gJ3InOjoiY2hhciIpOwogcGdfc3RhdF93YWx8 IFNFTEVDVCB3YWxfcmVjb3JkcywKICAgICB3YWxfZnBpLAogICAgIHdhbF9ieXRlcywKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0 aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19z dGF0aXN0aWNzLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u MGMwNWE4MTJkZDEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKQEAgLTAsMCArMSwyMjUgQEAKKy0t CistLSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0YXRzIHN5c3RlbQorLS0KKy0tIENoZWNr IHRoZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVkIGR1cmluZyB2YWN1dW0gb3BlcmF0aW9u OgorLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkgdmFjdXVt OworLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJh Y2tlbmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMg dGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KKy0tCistLSBjb25kaXRp byBzaW5lIHF1YSBub24KK1NIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgorIHRy YWNrX2NvdW50cyAKKy0tLS0tLS0tLS0tLS0tCisgb24KKygxIHJvdykKKworXHNldCBzYW1w bGVfc2l6ZSAxMDAwMAorLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQg dG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKy0tIFRlc3Qg dGhhdCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlz IG9mZi4KK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK0NSRUFURSBU QUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZp bGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK0RF TEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CitWQUNVVU0gKFBBUkFMTEVMIDAs IEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKy0tIE11c3QgYmUgZW1wdHkuCitT RUxFQ1QgcmVsbmFtZSx0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9i bGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLCByZWxfYmxr c19oaXQsCitwYWdlc19zY2FubmVkLCBwYWdlc19yZW1vdmVkLCB2bV9uZXdfZnJvemVuX3Bh Z2VzLCB2bV9uZXdfdmlzaWJsZV9wYWdlcywgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2Vz LCBtaXNzZWRfZGVhZF9wYWdlcywKK3R1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVuLCBy ZWNlbnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2RlYWRfdHVwbGVzLCBpbmRleF92YWN1dW1f Y291bnQsCit3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtfcmVhZF90aW1l LCBibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLCB0b3RhbF90aW1lCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyB2dAorV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOworIHJlbG5h bWUgfCB0b3RhbF9ibGtzX3JlYWQgfCB0b3RhbF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGly dGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHJlbF9ibGtzX3JlYWQgfCByZWxfYmxrc19o aXQgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCB8IHZtX25ld19mcm96ZW5fcGFn ZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdl cyB8IG1pc3NlZF9kZWFkX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCB0dXBsZXNfZnJvemVu IHwgcmVjZW50bHlfZGVhZF90dXBsZXMgfCBtaXNzZWRfZGVhZF90dXBsZXMgfCBpbmRleF92 YWN1dW1fY291bnQgfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCBibGtf cmVhZF90aW1lIHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxheV90aW1lIHwgdG90YWxfdGltZSAK Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tCisgdmVzdGF0ICB8ICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwIHwg ICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAg MCB8ICAgICAgICAgICAgMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAwIHwgICAg ICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgMCB8 ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAg ICAgMCB8ICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAwIHwgICAgICAgMCB8ICAg ICAgICAgMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgMCB8ICAgICAgICAgIDAg fCAgICAgICAgICAwCisoMSByb3cpCisKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz OworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKK1NIT1cgdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3M7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgb24KKygxIHJvdykKKworLS0gZW5zdXJlIHBlbmRp bmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIAorKDEgcm93KQorCistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNu YXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1f ZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBT RUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FO QUxZWkUgdmVzdGF0OworU0VMRUNUIG9pZCBBUyByb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUg cmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAl IDIgPSAwOworLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVuZGVk IHN0YXRzIHZpZXcgaXMgZW1wdHkuCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVu X3BhZ2VzLHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVt b3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1l IHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBw YWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgICAgICAgICAgICAgICAgICAgMCB8ICAgICAg ICAgICAgICAwIHwgICAgICA0NTUgfCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgMAor KDEgcm93KQorCitTRUxFQ1QgcmVscGFnZXMgQVMgcnAKK0ZST00gcGdfY2xhc3MgYworV0hF UkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZF Ul9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBp cyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOwor LS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91 bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBw YWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9m IG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUsdm1f bmV3X2Zyb3plbl9wYWdlcyA+IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVs ZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMtOnJwID0gMCBBUyByZWxwYWdl cyxwYWdlc19zY2FubmVkID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQgPSAw IEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19j bGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CisgcmVsbmFtZSB8IHZtX25ld19mcm96ZW5fcGFnZXMgfCB0dXBsZXNfZGVsZXRlZCB8 IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IGYgICAgICAgICAgICAg ICAgICAgfCB0ICAgICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQK KygxIHJvdykKKworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgZnAsdHVwbGVzX2Rl bGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2Vz X3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFz cyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQg XGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdh bF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQK Ky0tIExvb2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMg PiAwIEFTIGRXUiwgd2FsX2J5dGVzID4gMCBBUyBkV0IKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKyBkd3IgfCBkd2IgCistLS0tLSst LS0tLQorIHQgICB8IHQKKygxIHJvdykKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VV TSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBP RkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRp c3RpY3MKK0NIRUNLUE9JTlQ7CistLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2Vk CitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA+IDAgQVMgdm1f bmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPiAwIEFTIHR1cGxlc19kZWxl dGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID4g MCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID4gMCBBUyBwYWdlc19yZW1v dmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUg fCB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBh Z2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCBmICAgICAgICAgICAgICAgICAgIHwgdCAgICAg ICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NF TEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJl bHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHBy CitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9y ZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdy IEFTIGR3ciwgd2FsX2J5dGVzLTpod2IgQVMgZHdiLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkK K0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBc Z3NldAorLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNUIDpkd3Ig PiAwIEFTIGRXUiwgOmR3YiA+IDAgQVMgZFdCOworIGR3ciB8IGR3YiAKKy0tLS0tKy0tLS0t CisgdCAgIHwgdAorKDEgcm93KQorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJp YWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxf ZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9 ICd2ZXN0YXQnIFxnc2V0CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQg V0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3Rh dCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0t IGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVj ZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpo d3IgQVMgZHdyMiwgd2FsX2J5dGVzLTpod2IgQVMgZHdiMiwgd2FsX2ZwaS06aGZwaSBBUyBk ZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXQnIFxnc2V0CistLSBXQUwgYW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQg bm90IGJlIGRldGVjdGVkLgorU0VMRUNUIDpkd3IyPTAgQVMgZFdSLCA6ZGZwaTI9MCBBUyBk RlBJLCA6ZHdiMj0wIEFTIGRXQjsKKyBkd3IgfCBkZnBpIHwgZHdiIAorLS0tLS0rLS0tLS0t Ky0tLS0tCisgdCAgIHwgdCAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUs dm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPSAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdHVw bGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwIDwg MCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxw YWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgdm1fbmV3X2Zyb3plbl9wYWdl cyB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNf cmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0 YXQgIHwgdCAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgZiAgICAgICAg fCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9w YWdlcyBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNf c2Nhbm5lZCBBUyBwcyxwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFO RCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2 YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3 YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXQnIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0 YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVY X0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhl IHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGlu dG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUK K1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjMsIHdhbF9ieXRlcy06aHdiIEFTIGR3 YjMsIHdhbF9mcGktOmhmcGkgQVMgZGZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS1UaGVyZSBhcmUgbm90aGluZyBj aGFuZ2VkCitTRUxFQ1QgOmR3cjM+MCBBUyBkV1IsIDpkZnBpMz0wIEFTIGRGUEksIDpkd2Iz PjAgQVMgZFdCOworIGR3ciB8IGRmcGkgfCBkd2IgCistLS0tLSstLS0tLS0rLS0tLS0KKyB0 ICAgfCB0ICAgIHwgdAorKDEgcm93KQorCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGlu ZGV4IGlzIGNvbXByZXNzZWQgaW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQK Ky0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHZtX25ld19mcm96 ZW5fcGFnZXMsIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCist LQorU0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPSAwIEFTIHZt X25ld19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVs ZXRlZCxyZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9 IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVt b3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1l IHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBw YWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgdCAgICAgICAgICAgICAgICAgICB8IHQgICAg ICAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitJ TlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2Ft cGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKy0tIG11c3QgYmUgZW1wdHkKK1NF TEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9wYWdlcywgcmV2X2Fs bF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zy b3plbl9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3Rh YmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFu ZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVs aWQ7Cisgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZtX25ld192aXNpYmxlX3BhZ2VzIHwgcmV2 X2FsbF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgfCB2bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAgICAg MCB8ICAgICAgICAgICAgICAgICAgOTEwIHwgICAgICAgICAgICAgICAgICAgIDAgfCAgICAg ICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgICAgICA0NTUKKygxIHJv dykKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0 YXQ7CistLSBiYWNrZW5kIGRlZnJlZXplZCBwYWdlcworU0VMRUNUIHZtX25ld19mcm96ZW5f cGFnZXMgPiAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMg PiAwIEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdl cyA+IDAgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLHJldl9hbGxfZnJvemVuX3Bh Z2VzID0gMCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMg PSAwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVs bmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19z dGF0X2FsbF90YWJsZXMucmVsaWQ7Cisgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZtX25ld192 aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF9m cm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg ZiAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0CisoMSByb3cp CisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHBmLCB2bV9uZXdfdmlzaWJsZV9w YWdlcyBBUyBwdix2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgQVMgcHZmLCByZXZfYWxs X2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBn X3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFj dXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZCBcZ3NldAorVVBE QVRFIHZlc3RhdCBTRVQgeCA9IHggKyAxMDAxOworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZG RVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdl cyA+IDpwZiBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID4g OnB2IEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdl cyA+IDpwdmYgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLHJldl9hbGxfZnJvemVu X3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxl X3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVt X3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5y ZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKKyB2bV9uZXdfZnJvemVuX3BhZ2Vz IHwgdm1fbmV3X3Zpc2libGVfcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMg fCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyBmICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgICB8 IGYKKygxIHJvdykKKworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgcGYsIHZtX25l d192aXNpYmxlX3BhZ2VzIEFTIHB2LCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgQVMg cHZmLCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdl cyBBUyBoYXZwCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFi bGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5k IHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxp ZCBcZ3NldAorVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2 ZXN0YXQ7CistLSB2YWN1dW0gZnJlZXplZCBwYWdlcworU0VMRUNUIHZtX25ld19mcm96ZW5f cGFnZXMgPSA6cGYgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdfdmlzaWJsZV9wYWdl cyA9IDpwdiBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5f cGFnZXMgPSA6cHZmIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgcmV2X2FsbF9m cm96ZW5fcGFnZXMgPSA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zp c2libGVfcGFnZXMgPSA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92 YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFi bGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHZtX25ld19mcm96ZW5f cGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlcyB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIHQgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAg ICAgICB8IHQgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAg ICAgIHwgdAorKDEgcm93KQorCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3Jl Z3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggMWVkZDllNDVlYmIuLmQxMWY2YjdlZjRi IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAgLTEzNiwzICsxMzYsOCBA QCB0ZXN0OiBmYXN0X2RlZmF1bHQKICMgcnVuIHRhYmxlc3BhY2UgdGVzdCBhdCB0aGUgZW5k IGJlY2F1c2UgaXQgZHJvcHMgdGhlIHRhYmxlc3BhY2UgY3JlYXRlZCBkdXJpbmcKICMgc2V0 dXAgdGhhdCBvdGhlciB0ZXN0cyBtYXkgdXNlLgogdGVzdDogdGFibGVzcGFjZQorCisjIC0t LS0tLS0tLS0KKyMgQ2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MKKyMgLS0tLS0tLS0tLQordGVz dDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0 aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlz dGljcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjhhZDY5 MTA4Y2ExCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLnNxbApAQCAtMCwwICsxLDE4MCBAQAorLS0KKy0tIFRlc3Qg Y3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhlIHdhbGwg c3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246CistLSBudW1i ZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07CistLSBudW1i ZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KKy0t IFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1 c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKworLS0gY29uZGl0aW8gc2luZSBx dWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KK1xzZXQgc2FtcGxl X3NpemUgMTAwMDAKKworLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQg dG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKworLS0gVGVz dCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0ZXIg aXMgb2ZmLgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOworCitDUkVB VEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2Zm LCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00g Z2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7 CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CisKK1ZBQ1VVTSAoUEFS QUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCistLSBNdXN0IGJl IGVtcHR5LgorU0VMRUNUIHJlbG5hbWUsdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hp dCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVh ZCwgcmVsX2Jsa3NfaGl0LAorcGFnZXNfc2Nhbm5lZCwgcGFnZXNfcmVtb3ZlZCwgdm1fbmV3 X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHZtX25ld192aXNpYmxlX2Zy b3plbl9wYWdlcywgbWlzc2VkX2RlYWRfcGFnZXMsCit0dXBsZXNfZGVsZXRlZCwgdHVwbGVz X2Zyb3plbiwgcmVjZW50bHlfZGVhZF90dXBsZXMsIG1pc3NlZF9kZWFkX3R1cGxlcywgaW5k ZXhfdmFjdXVtX2NvdW50LAord2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxr X3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSwgdG90YWxfdGltZQorRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 JzsKKworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CitEUk9QIFRBQkxFIHZlc3Rh dCBDQVNDQURFOworCitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBi ZSBvbgorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBn X3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0 ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1 dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRP IHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkg YXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19j bGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworREVMRVRFIEZST00gdmVz dGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1 dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUs dm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyxwYWdlc19zY2Fu bmVkLHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19j bGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CitTRUxFQ1QgcmVscGFnZXMgQVMgcnAKK0ZST00gcGdfY2xhc3MgYworV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VT QUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5l Y2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0t IFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxk IHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFn ZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBu b3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25l d19mcm96ZW5fcGFnZXMgPiAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0 ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLTpycCA9IDAgQVMgcmVscGFnZXMs cGFnZXNfc2Nhbm5lZCA+IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkID0gMCBB UyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xh c3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lk OworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMg dGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQg QVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVS RSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKwor LS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29y ZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLSBM b29rIGludG8gV0FMIHJlY29yZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBB UyBkV1IsIHdhbF9ieXRlcyA+IDAgQVMgZFdCCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CisKK0RFTEVURSBGUk9NIHZlc3RhdDs7CitW QUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFO VVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBz dGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5j cmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA+IDAg QVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPiAwIEFTIHR1cGxl c19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQt OnBzID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID4gMCBBUyBwYWdl c19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYwor V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VM RUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVs cGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIK K0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3Rv cmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3 ciBBUyBkd3IsIHdhbF9ieXRlcy06aHdiIEFTIGR3Yiwgd2FsX2ZwaS06aGZwaSBBUyBkZnBp CitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcg XGdzZXQKKworLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNUIDpk d3IgPiAwIEFTIGRXUiwgOmR3YiA+IDAgQVMgZFdCOworCistLSBTdG9yZSBXQUwgYWR2YW5j ZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVz IEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hF UkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxF Q1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVU RSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0 IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Yg c3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7 CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVD S1BPSU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVD VCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjIsIHdhbF9ieXRlcy06aHdiIEFTIGR3YjIsIHdh bF9mcGktOmhmcGkgQVMgZGZwaTIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLSBXQUwgYW5kIG90aGVyIHN0YXRpc3Rp Y3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgorU0VMRUNUIDpkd3IyPTAgQVMg ZFdSLCA6ZGZwaTI9MCBBUyBkRlBJLCA6ZHdiMj0wIEFTIGRXQjsKKworU0VMRUNUIHZ0LnJl bG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPSAwIEFTIHZtX25ld19mcm96ZW5fcGFn ZXMsdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAt OnJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nh bm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAn dmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3Bh Z2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19z Y2FubmVkIEFTIHBzLHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5E IHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8g dmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Is d2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5h bWUgPSAndmVzdGF0JyBcZ3NldAorCitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2 ZXN0YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElO REVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sg dGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5j ZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0 YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMywgd2FsX2J5dGVzLTpod2Ig QVMgZHdiMywgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tVGhlcmUgYXJlIG5v dGhpbmcgY2hhbmdlZAorU0VMRUNUIDpkd3IzPjAgQVMgZFdSLCA6ZGZwaTM9MCBBUyBkRlBJ LCA6ZHdiMz4wIEFTIGRXQjsKKworLS0KKy0tIE5vdywgdGhlIHRhYmxlIGFuZCBpbmRleCBp cyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIgb2YgcGFnZXMuIENoZWNrIGl0CistLSBp biB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4KKy0tIFRoZSB2bV9uZXdfZnJvemVuX3Bh Z2VzLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdlZAorLS0KK1NF TEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMtOmZwID0gMCBBUyB2bV9uZXdf ZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkLTp0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQs cmVscGFnZXMgLTpycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPSAwIEFT IHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPSAwIEFTIHBhZ2VzX3JlbW92ZWQK K0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK0lOU0VSVCBJTlRP IHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkg YXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCistLSBtdXN0IGJlIGVtcHR5CitTRUxFQ1Qgdm1f bmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHJldl9hbGxfZnJvemVu X3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hF UkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3Rh dF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworCitW QUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKwor LS0gYmFja2VuZCBkZWZyZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2Vz ID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID4gMCBB UyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPiAw IEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9 IDAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gMCBB UyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBw Z19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUg PSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9h bGxfdGFibGVzLnJlbGlkOworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgcGYsIHZt X25ld192aXNpYmxlX3BhZ2VzIEFTIHB2LHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyBB UyBwdmYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3Bh Z2VzIEFTIGhhdnAKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90 YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBh bmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJl bGlkIFxnc2V0CisKK1VQREFURSB2ZXN0YXQgU0VUIHggPSB4ICsgMTAwMTsKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCitTRUxFQ1Qg dm1fbmV3X2Zyb3plbl9wYWdlcyA+IDpwZiBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25l d192aXNpYmxlX3BhZ2VzID4gOnB2IEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25ld192 aXNpYmxlX2Zyb3plbl9wYWdlcyA+IDpwdmYgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3Bh Z2VzLHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFn ZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3Bh Z2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdI RVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKK1NF TEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHBmLCB2bV9uZXdfdmlzaWJsZV9wYWdlcyBB UyBwdiwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96 ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKKworVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKKy0tIHZh Y3V1bSBmcmVlemVkIHBhZ2VzCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyA9IDpwZiBB UyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID0gOnB2IEFTIHZt X25ld192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA9IDpwdmYg QVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLCByZXZfYWxsX2Zyb3plbl9wYWdlcyA9 IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9 IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMu cmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBw Z19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7 Ci0tIAoyLjM0LjEKCg== --------------1N7uCv2Ri6D0kHZe2mz9ca8z Content-Type: text/x-patch; charset=UTF-8; name="v16-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v16-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAwMWUwZjFmNmYzMmEyZmUwYjE1ODlhYjg2YWNhYTA5MDM1NGEwOWY5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAxMyBKYW4gMjAyNSAxMDozMjowNyArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMi80XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBpbmRleCByZWxhdGlvbnMuCgpUaGV5IGFyZSBnYXRoZXJl ZCBzZXBhcmF0ZWxseSBmcm9tIHRhYmxlIHN0YXRpc3RpY3MuCgpBcyBmb3IgdGFibGVzLCB3 ZSBnYXRoZXIgdmFjdXVtIHNoYXJlZCBidWZmZXJzIHN0YXRpc3RpY3MgZm9yIGluZGV4IHJl bGF0aW9ucyBsaWtlCnZhbHVlIG9mIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX3JlYWQs IHRvdGFsX2Jsa3NfZGlydGllZCwgd2FsIHN0YXRpc3RpY3MsIGlvIHRpbWUKZHVyaW5nIGZs dXNoaW5nIGJ1ZmZlciBwYWdlcyB0byBkaXNrLCBkZWxheSBhbmQgdG90YWwgdGltZS4KCkR1 ZSB0byB0aGUgZmFjdCB0aGF0IHN1Y2ggc3RhdGlzdGljcyBhcmUgY29tbW9uIGFzIGZvciB0 YWJsZXMsIGFzIGZvciBpbmRleGVzIHdlCnNldCB0aGVtIGluIHRoZSB1bmlvbiBFeHRWYWNS ZXBvcnQgc3RydWN0dXJlLiBXZSBvbmx5IGFkZGVkIHNvbWUgZGV0ZXJtaW5hdGlvbiAndHlw ZScKZmllbGQgdG8gaGlnaGxpZ2h0IHdoYXQga2luZCBiZWxvbmcgdG8gdGhlc2Ugc3RhdGlz dGljczogUEdTVEFUX0VYVFZBQ19UQUJMRSBvcgpQR1NUQVRfRVhUVkFDX0lOREVYLiBHZW5l cmFsbHksIFBHU1RBVF9FWFRWQUNfSU5WQUxJRCB0eXBlIGxlYWRzIHRvIHdyb25nIGNvZGUg cHJvY2Vzcy4KClNvbWUgc3RhdGlzdGljcyBiZWxvbmcgb25seSBvbmUgdHlwZSBvZiBib3Ro IHRhYmxlcyBvciBpbmRleGVzLiBTbywgd2UgYWRkZWQgc3Vic3RydWN0dXJlcwpzeWNoIHRh YmxlIGFuZCBpbmRleCBpbnNpZGUgRXh0VmFjUmVwb3J0IHN0cnVjdHVyZS4KClRoZXJlZm9y ZSwgd2UgZ2F0aGVyIG9ubHkgZm9yIHRhYmxlcyBzdWNoIHN0YXRpc3RpY3MgbGlrZSBudW1i ZXIgb2Ygc2Nhbm5lZCwgcmVtb3ZlZCBwYWdlcywKdGhlaXIgY2hhcmVjdGVyaXN0aWNzIGFj Y29yZGluZyBWTSAoYWxsLXZpc2libGUgYW5kIGZyb3plbikuIEluIGFkZGl0aW9uLCBmb3Ig dGFibGVzIHdlCmdhdGhlciBudW1iZXIgZnJvemVuLCBkZWxldGVkIGFuZCByZWNlbnRseSBk ZWFkIHR1cGxlcyBhbmQgaG93IG1hbnkgdGltZXMgdmFjdXVtIHByb2Nlc3NlZAppbmRleGVz IGZvciB0YWJsZXMuCgpDb250cm92ZXJzYWxseSBmb3IgaW5kZXhlcyB3ZSBnYXRoZXIgbnVt YmVyIG9mIGRlbGV0ZWQgcGFnZXMgYW5kIGRlbGV0ZWQgdHVwbGVzIG9ubHkuCgpBcyBmb3Ig dGFibGVzLCBkZWxldGVkIHBhZ2VzIGFuZCBkZWxldGVkIHR1cGxlcyByZWZsZWN0IHRoZSBv dmVyYWxsIHBlcmZvcm1hbmNlIG9mIHRoZSB2YWN1dW0KZm9yIHRoZSBpbmRleCByZWxhdGlv bnNoaXAuCgpTaW5jZSB0aGUgdmFjdXVtIGNsZWFucyB1cCByZWZlcmVuY2VzIHRvIHR1cGxl IGluZGV4ZXMgYmVmb3JlIGNsZWFuaW5nIHVwIHRhYmxlIHR1cGxlcywKd2hpY2ggYWRkcyBz b21lIGNvbXBsZXhpdHkgdG8gdGhlIHZhY3V1bSBwcm9jZXNzLCBuYW1lbHkgdGhlIHZhY3V1 bSBzd2l0Y2hlcyBmcm9tIGNsZWFuaW5nIHVwCmEgdGFibGUgdG8gaXRzIGluZGV4ZXMgYW5k IGJhY2sgZHVyaW5nIGl0cyBvcGVyYXRpb24sIHdlIG5lZWQgdG8gc2F2ZSB0aGUgdmFjdXVt IHN0YXRpc3RpY3MKY29sbGVjdGVkIGZvciB0aGUgaGVhcCBiZWZvcmUgaXQgc3RhcnRzIGNs ZWFuaW5nIHVwIHRoZSBpbmRleGVzLgpUaGF0J3Mgd2h5IGl0J3MgbmVjZXNzYXJ5IHRvIHRy YWNrIHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgc2V2ZXJhbCB0aW1lcyBk dXJpbmcKdGhlIHZhY3V1bSBwcm9jZWR1cmUuIFRvIGF2b2lkIHNlbmRpbmcgdGhlIHN0YXRp c3RpY3MgdG8gdGhlIEN1bXVsYXRpdmUgU3RhdGlzdGljcyBTeXN0ZW0Kc2V2ZXJhbCB0aW1l cywgd2Ugc2F2ZSB0aGVzZSBzdGF0aXN0aWNzIGluIHRoZSBMVlJlbFN0YXRlIHN0cnVjdHVy ZSBhbmQgb25seSBhZnRlciB2YWN1dW0KZmluaXNoZXMgY2xlYW5pbmcgdXAgdGhlIGhlYXAs IGl0IHNlbmRzIHRoZW0gdG8gdGhlIEN1bXVsYXRpdmUgU3RhdGlzdGljcyBTeXN0ZW0uCgpB dXRob3JzOiBBbGVuYSBSeWJha2luYSA8bGVuYS5yaWJhY2tpbmFAeWFuZGV4LnJ1PiwKICAg QW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVzcHJvLnJ1PiwKICAgQW5kcmVp IFp1YmtvdiA8YS56dWJrb3ZAcG9zdGdyZXNwcm8ucnU+ClJldmlld2VkLWJ5OiBEaWxpcCBL dW1hciA8ZGlsaXBiYWxhdXRAZ21haWwuY29tPiwgTWFzYWhpa28gU2F3YWRhIDxzYXdhZGEu bXNoa0BnbWFpbC5jb20+LAogICAgICAgSWxpYSBFdmRva2ltb3YgPGlseWEuZXZkb2tpbW92 QHRhbnRvcmxhYnMuY29tPiwgamlhbiBoZSA8amlhbi51bml2ZXJzYWxpdHlAZ21haWwuY29t PiwKICAgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBnbWFpbC5jb20+LCBBbGV4 YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPiwKICAgICAgIEppbSBOYXNi eSA8am5hc2J5QHVwZ3JhZGUuY29tPiwgU2FtaSBJbXNlaWggPHNhbWltc2VpaEBnbWFpbC5j b20+Ci0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICAgICAgICAg IHwgMjQ3ICsrKysrKysrKysrKysrLS0tLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsICAgICAgICAgIHwgIDMyICsrKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtcGFyYWxsZWwuYyAgICAgICAgIHwgIDE0ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDggKystLQogc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTMzICsrKysrKysrKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAgICAgICAgICB8ICAgMiArLQogc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAgIHwgICA5ICsKIHNyYy9p bmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAgICAgICB8ICAyNSArKwogc3Jj L2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDU4ICsrKy0K IC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCAgICB8ICAgNCAr LQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICAgICAgICAgIHwgIDIy ICsrCiAuLi4vZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0ICAgICAgfCAx ODMgKysrKysrKysrKysrKwogLi4uL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGlj cy5vdXQgICAgIHwgIDQwICsrLQogc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZSAgICAgICAgICAgIHwgICAxICsKIC4uLi9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3Rh dGlzdGljcy5zcWwgICB8IDE1MSArKysrKysrKysrKwogLi4uL3JlZ3Jlc3Mvc3FsL3ZhY3V1 bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgIHwgIDEyICsKIDE3IGZpbGVzIGNoYW5nZWQsIDg4 NCBpbnNlcnRpb25zKCspLCAxMDEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhf c3RhdGlzdGljcy5zcWwKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5k ZXggMDMxNzlmOGVjYWEuLmU3ZDJjY2M2NjhlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9h Y2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCkBAIC0xNjYsNiArMTY2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxT dGF0ZQogCWNoYXIJICAgKmRibmFtZTsKIAljaGFyCSAgICpyZWxuYW1lc3BhY2U7CiAJT2lk CQkJcmVsb2lkOworCU9pZAkJCWluZG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwogCWNoYXIJ ICAgKmluZG5hbWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051bWJlciBi bGtubzsJCQkvKiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAtMjMyLDYg KzIzMyw4IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAlCdWZmZXIJCW5leHRfdW5z a2lwcGFibGVfdm1idWZmZXI7CS8qIGJ1ZmZlciBjb250YWluaW5nIGl0cyBWTSBiaXQgKi8K IAogCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OyAvKiB0aGUgbnVtYmVyIG9m IHRpbWVzIHRvIHByZXZlbnQgd29ya2Fyb3VuZCBwcm9ibGVtICovCisKKwlFeHRWYWNSZXBv cnQgZXh0VmFjUmVwb3J0OwogfSBMVlJlbFN0YXRlOwogCiAvKiBTdHJ1Y3QgZm9yIHNhdmlu ZyBhbmQgcmVzdG9yaW5nIHZhY3V1bSBlcnJvciBpbmZvcm1hdGlvbi4gKi8KQEAgLTI0Miwx OSArMjQ1LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZTYXZlZEVyckluZm8KIAlWYWNFcnJQaGFz ZSBwaGFzZTsKIH0gTFZTYXZlZEVyckluZm87CiAKLS8qCi0gKiBDb3VudGVycyBhbmQgdXNh Z2UgZGF0YSBmb3IgZXh0ZW5kZWQgc3RhdHMgdHJhY2tpbmcuCi0gKi8KLXR5cGVkZWYgc3Ry dWN0IExWRXh0U3RhdENvdW50ZXJzCi17Ci0JVGltZXN0YW1wVHogc3RhcnR0aW1lOwotCVdh bFVzYWdlCXdhbHVzYWdlOwotCUJ1ZmZlclVzYWdlIGJ1ZnVzYWdlOwotCWRvdWJsZQkJVmFj dXVtRGVsYXlUaW1lOwotCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOwotCVBnU3Rh dF9Db3VudGVyIGJsb2Nrc19oaXQ7Ci19IExWRXh0U3RhdENvdW50ZXJzOwotCiAvKiBub24t ZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9o ZWFwKExWUmVsU3RhdGUgKnZhY3JlbCk7CiBzdGF0aWMgYm9vbCBoZWFwX3ZhY19zY2FuX25l eHRfYmxvY2soTFZSZWxTdGF0ZSAqdmFjcmVsLCBCbG9ja051bWJlciAqYmxrbm8sCkBAIC0z NzMsMjcgKzM2MywyNSBAQCBleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRT dGF0Q291bnRlcnMgKmNvdW50ZXJzLAogCWVuZHRpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1w KCk7CiAJVGltZXN0YW1wRGlmZmVyZW5jZShjb3VudGVycy0+c3RhcnR0aW1lLCBlbmR0aW1l LCAmc2VjcywgJnVzZWNzKTsKIAotCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNS ZXBvcnQpKTsKLQogCS8qCiAJICogRmlsbCBhZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb24gYSB2 YWN1dW0gcHJvY2Vzc2luZyBvcGVyYXRpb24uCiAJICovCi0JcmVwb3J0LT50b3RhbF9ibGtz X3JlYWQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxr c19yZWFkOwotCXJlcG9ydC0+dG90YWxfYmxrc19oaXQgPSBidWZ1c2FnZS5sb2NhbF9ibGtz X2hpdCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX2hpdDsKLQlyZXBvcnQtPnRvdGFsX2Jsa3Nf ZGlydGllZCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJl ZF9ibGtzX2RpcnRpZWQ7Ci0JcmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gPSBidWZ1c2Fn ZS5zaGFyZWRfYmxrc193cml0dGVuOworCXJlcG9ydC0+dG90YWxfYmxrc19yZWFkICs9IGJ1 ZnVzYWdlLmxvY2FsX2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX3JlYWQ7CisJ cmVwb3J0LT50b3RhbF9ibGtzX2hpdCArPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2hpdCArIGJ1 ZnVzYWdlLnNoYXJlZF9ibGtzX2hpdDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfZGlydGllZCAr PSBidWZ1c2FnZS5sb2NhbF9ibGtzX2RpcnRpZWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19k aXJ0aWVkOworCXJlcG9ydC0+dG90YWxfYmxrc193cml0dGVuICs9IGJ1ZnVzYWdlLnNoYXJl ZF9ibGtzX3dyaXR0ZW47CiAKLQlyZXBvcnQtPndhbF9yZWNvcmRzID0gd2FsdXNhZ2Uud2Fs X3JlY29yZHM7Ci0JcmVwb3J0LT53YWxfZnBpID0gd2FsdXNhZ2Uud2FsX2ZwaTsKLQlyZXBv cnQtPndhbF9ieXRlcyA9IHdhbHVzYWdlLndhbF9ieXRlczsKKwlyZXBvcnQtPndhbF9yZWNv cmRzICs9IHdhbHVzYWdlLndhbF9yZWNvcmRzOworCXJlcG9ydC0+d2FsX2ZwaSArPSB3YWx1 c2FnZS53YWxfZnBpOworCXJlcG9ydC0+d2FsX2J5dGVzICs9IHdhbHVzYWdlLndhbF9ieXRl czsKIAotCXJlcG9ydC0+YmxrX3JlYWRfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VD KGJ1ZnVzYWdlLmxvY2FsX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3JlYWRfdGlt ZSArPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfcmVhZF90 aW1lKTsKIAlyZXBvcnQtPmJsa19yZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElT RUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa19yZWFkX3RpbWUpOwotCXJlcG9ydC0+YmxrX3dyaXRl X3RpbWUgPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfd3Jp dGVfdGltZSk7Ci0JcmVwb3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01J TExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVfdGltZSk7Ci0JcmVwb3J0LT5kZWxh eV90aW1lID0gVmFjdXVtRGVsYXlUaW1lIC0gY291bnRlcnMtPlZhY3V1bURlbGF5VGltZTsK KwlyZXBvcnQtPmJsa193cml0ZV90aW1lICs9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1 ZnVzYWdlLmxvY2FsX2Jsa193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0ZV90aW1l ICs9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVf dGltZSk7CisJcmVwb3J0LT5kZWxheV90aW1lICs9IFZhY3V1bURlbGF5VGltZSAtIGNvdW50 ZXJzLT5WYWN1dW1EZWxheVRpbWU7CiAKLQlyZXBvcnQtPnRvdGFsX3RpbWUgPSBzZWNzICog MTAwMC4gKyB1c2VjcyAvIDEwMDAuOworCXJlcG9ydC0+dG90YWxfdGltZSArPSBzZWNzICog MTAwMC4gKyB1c2VjcyAvIDEwMDAuOwogCiAJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFw Z3N0YXRfdHJhY2tfY291bnRzKQogCQkvKgpAQCAtNDAyLDEyICszOTAsOTcgQEAgZXh0dmFj X3N0YXRzX2VuZChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVycywK IAkJICovCiAJCXJldHVybjsKIAotCXJlcG9ydC0+Ymxrc19mZXRjaGVkID0KKwlyZXBvcnQt PmJsa3NfZmV0Y2hlZCArPQogCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2Zl dGNoZWQgLSBjb3VudGVycy0+YmxvY2tzX2ZldGNoZWQ7Ci0JcmVwb3J0LT5ibGtzX2hpdCA9 CisJcmVwb3J0LT5ibGtzX2hpdCArPQogCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxv Y2tzX2hpdCAtIGNvdW50ZXJzLT5ibG9ja3NfaGl0OwogfQogCit2b2lkCitleHR2YWNfc3Rh dHNfc3RhcnRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0 cywKKwkJCQkJICAgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzKQoreworCWlmKCFw Z3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCWV4dHZhY19z dGF0c19zdGFydChyZWwsICZjb3VudGVycy0+Y29tbW9uKTsKKwljb3VudGVycy0+cGFnZXNf ZGVsZXRlZCA9IGNvdW50ZXJzLT50dXBsZXNfcmVtb3ZlZCA9IDA7CisKKwlpZiAoc3RhdHMg IT0gTlVMTCkKKwl7CisJCS8qCisJCSAqIFhYWDogV2h5IGRvIHdlIG5lZWQgdGhpcyBjb2Rl IGhlcmU/IElmIGl0IGlzIG5lZWRlZCwgSSBmZWVsIGxhY2sgb2YKKwkJICogY29tbWVudHMs IGRlc2NyaWJpbmcgdGhlIHJlYXNvbi4KKwkJICovCisJCWNvdW50ZXJzLT50dXBsZXNfcmVt b3ZlZCA9IHN0YXRzLT50dXBsZXNfcmVtb3ZlZDsKKwkJY291bnRlcnMtPnBhZ2VzX2RlbGV0 ZWQgPSBzdGF0cy0+cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisKK3ZvaWQKK2V4dHZhY19zdGF0 c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywK KwkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywgRXh0VmFjUmVwb3J0ICpy ZXBvcnQpCit7CisJbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwor CisJZXh0dmFjX3N0YXRzX2VuZChyZWwsICZjb3VudGVycy0+Y29tbW9uLCByZXBvcnQpOwor CXJlcG9ydC0+dHlwZSA9IFBHU1RBVF9FWFRWQUNfSU5ERVg7CisKKwlpZiAoc3RhdHMgIT0g TlVMTCkKKwl7CisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVz ZXIgZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBq dXN0IHN1cHByZXNzIGl0LgorCQkgKi8KKworCQkvKiBGaWxsIGluZGV4LXNwZWNpZmljIGV4 dGVuZGVkIHN0YXRzIGZpZWxkcyAqLworCQlyZXBvcnQtPnR1cGxlc19kZWxldGVkID0KKwkJ CQkJCQlzdGF0cy0+dHVwbGVzX3JlbW92ZWQgLSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQ7 CisJCXJlcG9ydC0+aW5kZXgucGFnZXNfZGVsZXRlZCA9CisJCQkJCQkJc3RhdHMtPnBhZ2Vz X2RlbGV0ZWQgLSBjb3VudGVycy0+cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisKKy8qIEFjY3Vt dWxhdGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGhlYXAuCisgKgorICAqIEJlY2F1c2Ugb2Yg Y29tcGxleGl0eSBvZiB2YWN1dW0gcHJvY2Vzc2luZzogaXQgc3dpdGNoIHByb2Nlc2luZyBi ZXR3ZWVuCisgICogdGhlIGhlYXAgcmVsYXRpb24gdG8gaW5kZXggcmVsYXRpb25zIGFuZCB2 aXNhIHZlcnNhLCB3ZSBuZWVkIHRvIHN0b3JlCisgICogZ2F0aGVyZWQgc3RhdGlzdGljcyBp bmZvcm1hdGlvbiBmb3IgaGVhcCByZWxhdGlvbnMgc2V2ZXJhbCB0aW1lcyBiZWZvcmUKKyAg KiB0aGUgdmFjdXVtIHN0YXJ0cyBwcm9jZXNzaW5nIHRoZSBpbmRleGVzIGFnYWluLgorICAq CisgICogSXQgaXMgbmVjZXNzYXJ5IHRvIGdhdGhlciBjb3JyZWN0IHN0YXRpc3RpY3MgaW5m b3JtYXRpb24gZm9yIGhlYXAgYW5kIGluZGV4ZXMKKyAgKiBvdGhlcndpY2UgdGhlIGluZGV4 IHN0YXRpc3RpY3MgaW5mb3JtYXRpb24gd291bGQgYmUgYWRkZWQgdG8gaGlzIHBhcmVudCBo ZWFwCisgICogc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBhbmQgaXQgd291bGQgYmUgZGlmZmlj dWx0IHRvIGFuYWx5emUgaXQgbGF0ZXIuCisgICoKKyAgKiBXZSBjYW4ndCBzdWJ0cmFjdCB1 bmlvbiB2YWN1dW0gc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBmb3IgaW5kZXggZnJvbSB0aGUg aGVhcCByZWxhdGlvbnMKKyAgKiBiZWNhdXNlIG9mIHRvdGFsIGFuZCBkZWxheSB0aW1lIHRp bWUgc3RhdGlzdGljcyBjb2xsZWN0aW5nIGR1cmluZyBwYXJhbGxlbCB2YWN1dW0KKyAgKiBw cm9jdWR1cmUuCisqLworc3RhdGljIHZvaWQKK2FjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3Rh dGlzdGljcyhMVkV4dFN0YXRDb3VudGVycyAqZXh0VmFjQ291bnRlcnMsIExWUmVsU3RhdGUg KnZhY3JlbCkKK3sKKwlpZiAoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJ cmV0dXJuOworCisJZXh0dmFjX3N0YXRzX2VuZCh2YWNyZWwtPnJlbCwgZXh0VmFjQ291bnRl cnMsICYodmFjcmVsLT5leHRWYWNSZXBvcnQpKTsKKworCS8qIEZpbGwgaGVhcC1zcGVjaWZp YyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50eXBl ID0gUEdTVEFUX0VYVFZBQ19UQUJMRTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5w YWdlc19zY2FubmVkICs9IHZhY3JlbC0+c2Nhbm5lZF9wYWdlczsKKwl2YWNyZWwtPmV4dFZh Y1JlcG9ydC50YWJsZS5wYWdlc19yZW1vdmVkICs9IHZhY3JlbC0+cmVtb3ZlZF9wYWdlczsK Kwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS52bV9uZXdfZnJvemVuX3BhZ2VzICs9IHZh Y3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJs ZS52bV9uZXdfdmlzaWJsZV9wYWdlcyArPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX3BhZ2Vz OworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLnZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlcyArPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsKKwl2YWNyZWwt PmV4dFZhY1JlcG9ydC50dXBsZXNfZGVsZXRlZCArPSB2YWNyZWwtPnR1cGxlc19kZWxldGVk OworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLnR1cGxlc19mcm96ZW4gKz0gdmFjcmVs LT50dXBsZXNfZnJvemVuOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLnJlY2VudGx5 X2RlYWRfdHVwbGVzICs9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7CisJdmFjcmVs LT5leHRWYWNSZXBvcnQudGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMgKz0gdmFjcmVsLT5y ZWNlbnRseV9kZWFkX3R1cGxlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5taXNz ZWRfZGVhZF90dXBsZXMgKz0gdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7CisJdmFjcmVs LT5leHRWYWNSZXBvcnQudGFibGUubWlzc2VkX2RlYWRfcGFnZXMgKz0gdmFjcmVsLT5taXNz ZWRfZGVhZF9wYWdlczsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5pbmRleF92YWN1 dW1fY291bnQgKz0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7CisJdmFjcmVsLT5leHRWYWNS ZXBvcnQudGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSB2YWNyZWwtPndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQ7Cit9CisKIC8qCiAgKgloZWFwX3ZhY3V1bV9yZWwoKSAt LSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVsYXRpb24KICAqCkBAIC00NDAsMTMg KzUxMyw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAq cGFyYW1zLAogCUJ1ZmZlclVzYWdlIHN0YXJ0YnVmZmVydXNhZ2UgPSBwZ0J1ZmZlclVzYWdl OwogCUVycm9yQ29udGV4dENhbGxiYWNrIGVycmNhbGxiYWNrOwogCUxWRXh0U3RhdENvdW50 ZXJzIGV4dFZhY0NvdW50ZXJzOwotCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CiAJY2hh cgkgICoqaW5kbmFtZXMgPSBOVUxMOwotCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOwotCi0JLyog SW5pdGlhbGl6ZSB2YWN1dW0gc3RhdGlzdGljcyAqLwotCW1lbXNldCgmYWxsemVybywgMCwg c2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwotCWV4dFZhY1JlcG9ydCA9IGFsbHplcm87CiAKIAl2 ZXJib3NlID0gKHBhcmFtcy0+b3B0aW9ucyAmIFZBQ09QVF9WRVJCT1NFKSAhPSAwOwogCWlu c3RydW1lbnQgPSAodmVyYm9zZSB8fCAoQW1BdXRvVmFjdXVtV29ya2VyUHJvY2VzcygpICYm CkBAIC00NjQsNyArNTMxLDYgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFj dXVtUGFyYW1zICpwYXJhbXMsCiAKIAlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29tbWFuZChQ Uk9HUkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBSZWxhdGlvbkdldFJlbGlkKHJl bCkpOwotCWV4dHZhY19zdGF0c19zdGFydChyZWwsICZleHRWYWNDb3VudGVycyk7CiAJLyoK IAkgKiBTZXR1cCBlcnJvciB0cmFjZWJhY2sgc3VwcG9ydCBmb3IgZXJlcG9ydCgpIGZpcnN0 LiAgVGhlIGlkZWEgaXMgdG8gc2V0CiAJICogdXAgYW4gZXJyb3IgY29udGV4dCBjYWxsYmFj ayB0byBkaXNwbGF5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb24gYW55CkBAIC02MzcsNiAr NzAzLDggQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpw YXJhbXMsCiAJICovCiAJbGF6eV9zY2FuX2hlYXAodmFjcmVsKTsKIAorCWV4dHZhY19zdGF0 c19zdGFydChyZWwsICZleHRWYWNDb3VudGVycyk7CisKIAkvKgogCSAqIEZyZWUgcmVzb3Vy Y2VzIG1hbmFnZWQgYnkgZGVhZF9pdGVtc19hbGxvYy4gIFRoaXMgZW5kcyBwYXJhbGxlbCBt b2RlIGluCiAJICogcGFzc2luZyB3aGVuIG5lY2Vzc2FyeS4KQEAgLTcxNSwyNiArNzgzLDYg QEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMs CiAJCQkJCQl2YWNyZWwtPk5ld1JlbGZyb3plblhpZCwgdmFjcmVsLT5OZXdSZWxtaW5NeGlk LAogCQkJCQkJJmZyb3plbnhpZF91cGRhdGVkLCAmbWlubXVsdGlfdXBkYXRlZCwgZmFsc2Up OwogCi0JLyogTWFrZSBnZW5lcmljIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgKi8K LQlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0 KTsKLQotCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKLQl7Ci0JCS8qIEZp bGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KLQkJZXh0VmFjUmVw b3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7Ci0JCWV4dFZhY1Jl cG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2VzOwotCQlleHRWYWNS ZXBvcnQudm1fbmV3X2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdl czsKLQkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNpYmxlX3BhZ2VzID0gdmFjcmVsLT52bV9u ZXdfdmlzaWJsZV9wYWdlczsKLQkJZXh0VmFjUmVwb3J0LnZtX25ld192aXNpYmxlX2Zyb3pl bl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOwotCQlleHRW YWNSZXBvcnQudHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOwotCQll eHRWYWNSZXBvcnQudHVwbGVzX2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKLQkJ ZXh0VmFjUmVwb3J0LnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNlbnRseV9k ZWFkX3R1cGxlczsKLQkJZXh0VmFjUmVwb3J0Lm1pc3NlZF9kZWFkX3R1cGxlcyA9IHZhY3Jl bC0+bWlzc2VkX2RlYWRfdHVwbGVzOwotCQlleHRWYWNSZXBvcnQubWlzc2VkX2RlYWRfcGFn ZXMgPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3BhZ2VzOwotCQlleHRWYWNSZXBvcnQuaW5kZXhf dmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7Ci0JCWV4dFZhY1JlcG9y dC53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ID0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50OwotCX0KLQogCS8qCiAJICogUmVwb3J0IHJlc3VsdHMgdG8gdGhlIGN1bXVs YXRpdmUgc3RhdHMgc3lzdGVtLCB0b28uCiAJICoKQEAgLTc0NCwxMyArNzkyLDM0IEBAIGhl YXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCSAq IEl0IHNlZW1zIGxpa2UgYSBnb29kIGlkZWEgdG8gZXJyIG9uIHRoZSBzaWRlIG9mIG5vdCB2 YWN1dW1pbmcgYWdhaW4gdG9vCiAJICogc29vbiBpbiBjYXNlcyB3aGVyZSB0aGUgZmFpbHNh ZmUgcHJldmVudGVkIHNpZ25pZmljYW50IGFtb3VudHMgb2YgaGVhcAogCSAqIHZhY3V1bWlu Zy4KKwkgKgorCSAqIFdlIGFyZSByZWFkeSB0byBzZW5kIHZhY3V1bSBzdGF0aXN0aWNzIGlu Zm9ybWF0aW9uIGZvciBoZWFwIHJlbGF0aW9ucy4KIAkgKi8KLQlwZ3N0YXRfcmVwb3J0X3Zh Y3V1bShSZWxhdGlvbkdldFJlbGlkKHJlbCksCisJaWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzKQorCXsKKwkJLyogTWFrZSBnZW5lcmljIGV4dGVuZGVkIHZhY3V1bSBzdGF0 cyByZXBvcnQgYW5kCisJCSAqIGZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBm aWVsZHMuCisJCSAqLworCQlhY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4 dFZhY0NvdW50ZXJzLCB2YWNyZWwpOworCisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0 aW9uR2V0UmVsaWQocmVsKSwKIAkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCiAJ CQkJCQkgTWF4KHZhY3JlbC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKIAkJCQkJCSB2YWNyZWwt PnJlY2VudGx5X2RlYWRfdHVwbGVzICsKIAkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1 cGxlcywKLQkJCQkJCSAmZXh0VmFjUmVwb3J0KTsKKwkJCQkJCSAmKHZhY3JlbC0+ZXh0VmFj UmVwb3J0KSk7CisKKwl9CisJZWxzZQorCXsKKwkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVs YXRpb25HZXRSZWxpZChyZWwpLAorCQkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQs CisJCQkJCQkJIE1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCisJCQkJCQkJIHZh Y3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKworCQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9k ZWFkX3R1cGxlcywKKwkJCQkJCQkgTlVMTCk7CisJfQorCiAJcGdzdGF0X3Byb2dyZXNzX2Vu ZF9jb21tYW5kKCk7CiAKIAlpZiAoaW5zdHJ1bWVudCkKQEAgLTEwMDcsNiArMTA3Niw3IEBA IGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCkKIAkJUFJPR1JFU1NfVkFDVVVN X01BWF9ERUFEX1RVUExFX0JZVEVTCiAJfTsKIAlpbnQ2NAkJaW5pdHByb2dfdmFsWzNdOwor CUxWRXh0U3RhdENvdW50ZXJzIGV4dFZhY0NvdW50ZXJzOwogCiAJLyogUmVwb3J0IHRoYXQg d2UncmUgc2Nhbm5pbmcgdGhlIGhlYXAsIGFkdmVydGlzaW5nIHRvdGFsICMgb2YgYmxvY2tz ICovCiAJaW5pdHByb2dfdmFsWzBdID0gUFJPR1JFU1NfVkFDVVVNX1BIQVNFX1NDQU5fSEVB UDsKQEAgLTEwMjAsNiArMTA5MCwxMSBAQCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2 YWNyZWwpCiAJdmFjcmVsLT5uZXh0X3Vuc2tpcHBhYmxlX2FsbHZpcyA9IGZhbHNlOwogCXZh Y3JlbC0+bmV4dF91bnNraXBwYWJsZV92bWJ1ZmZlciA9IEludmFsaWRCdWZmZXI7CiAKKwkv KiBTZXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYnVmZmVyLCB3YWwgYW5kIHRpbWUgcmVsYXRl ZCBzdGF0aXN0aWNzIGFuZAorCSAqIHNldCBvdGhlciBzdGF0aXN0aWNzIHRvIHplcm8uCisJ Ki8KKwlleHR2YWNfc3RhdHNfc3RhcnQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycyk7 CisKIAl3aGlsZSAoaGVhcF92YWNfc2Nhbl9uZXh0X2Jsb2NrKHZhY3JlbCwgJmJsa25vLCAm YWxsX3Zpc2libGVfYWNjb3JkaW5nX3RvX3ZtKSkKIAl7CiAJCUJ1ZmZlcgkJYnVmOwpAQCAt MTA3MCw4ICsxMTQ1LDE3IEBAIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCkK IAogCQkJLyogUGVyZm9ybSBhIHJvdW5kIG9mIGluZGV4IGFuZCBoZWFwIHZhY3V1bWluZyAq LwogCQkJdmFjcmVsLT5jb25zaWRlcl9ieXBhc3Nfb3B0aW1pemF0aW9uID0gZmFsc2U7CisK KwkJCS8qIEJlZm9yZSBzdGFydGluZyB0byBwcm9jZXNzIHRoZSBpbmRleGVzIHNhdmUgdGhl IGN1cnJlbnQgaGVhcCBzdGF0aXN0aWNzICovCisJCQlhY2N1bXVsYXRlX2hlYXBfdmFjdXVt X3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2YWNyZWwpOworCiAJCQlsYXp5X3ZhY3V1 bSh2YWNyZWwpOwogCisJCQkvKiBOb3cgd2UgYWdhaW4gd2UgbmVlZCB0byBzd2l0Y2ggb24g aGVhcCByZWxhdGlvbiwgc28KKwkJCSAqIGxldCdzIHNhdmUgdGhlIGN1cnJlbnQgY3VtdWxs YXRpdmUgc3RhdGlzdGljcyBhbmQgcmVzZXQgb3RoZXJzLgorCQkJKi8KKwkJCWV4dHZhY19z dGF0c19zdGFydCh2YWNyZWwtPnJlbCwgJmV4dFZhY0NvdW50ZXJzKTsKKwogCQkJLyoKIAkJ CSAqIFZhY3V1bSB0aGUgRnJlZSBTcGFjZSBNYXAgdG8gbWFrZSBuZXdseS1mcmVlZCBzcGFj ZSB2aXNpYmxlIG9uCiAJCQkgKiB1cHBlci1sZXZlbCBGU00gcGFnZXMuICBOb3RlIHdlIGhh dmUgbm90IHlldCBwcm9jZXNzZWQgYmxrbm8uCkBAIC0xMjIwLDYgKzEzMDQsOCBAQCBsYXp5 X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwpCiAJCU1heCh2YWNyZWwtPm5ld19saXZl X3R1cGxlcywgMCkgKyB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsKIAkJdmFjcmVs LT5taXNzZWRfZGVhZF90dXBsZXM7CiAKKwkvKiBCZWZvcmUgc3RhcnRpbmcgdG8gcHJvY2Vz cyB0aGUgaW5kZXhlcyBzYXZlIHRoZSBjdXJyZW50IGhlYXAgc3RhdGlzdGljcyAqLworCWFj Y3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcygmZXh0VmFjQ291bnRlcnMsIHZhY3Jl bCk7CiAJLyoKIAkgKiBEbyBpbmRleCB2YWN1dW1pbmcgKGNhbGwgZWFjaCBpbmRleCdzIGFt YnVsa2RlbGV0ZSByb3V0aW5lKSwgdGhlbiBkbwogCSAqIHJlbGF0ZWQgaGVhcCB2YWN1dW1p bmcKQEAgLTEyMjcsNiArMTMxMywxMSBAQCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2 YWNyZWwpCiAJaWYgKHZhY3JlbC0+ZGVhZF9pdGVtc19pbmZvLT5udW1faXRlbXMgPiAwKQog CQlsYXp5X3ZhY3V1bSh2YWNyZWwpOwogCisJLyogRHVlIHRvIHRoZSBmYWN0IHRoYXQgdGhl IHZhY3V1bSB3aWxsIHByb2Nlc3MgRlNNIGFmdGVyIGhhdmluZyBwcm9jZXNzZWQKKwkgKiB0 aGUgaW5kZXhlcyB3ZSBuZWVkIHRvIHRha2UgYWNjb3VudCBzdGF0aXN0aWNzIGZvciBoZWFw IHRvby4KKwkgKi8KKwlleHR2YWNfc3RhdHNfc3RhcnQodmFjcmVsLT5yZWwsICZleHRWYWND b3VudGVycyk7CisKIAkvKgogCSAqIFZhY3V1bSB0aGUgcmVtYWluZGVyIG9mIHRoZSBGcmVl IFNwYWNlIE1hcC4gIFdlIG11c3QgZG8gdGhpcyB3aGV0aGVyIG9yCiAJICogbm90IHRoZXJl IHdlcmUgaW5kZXhlcywgYW5kIHdoZXRoZXIgb3Igbm90IHdlIGJ5cGFzc2VkIGluZGV4IHZh Y3V1bWluZy4KQEAgLTEyMzcsNiArMTMyOCw5IEBAIGxhenlfc2Nhbl9oZWFwKExWUmVsU3Rh dGUgKnZhY3JlbCkKIAkvKiByZXBvcnQgYWxsIGJsb2NrcyB2YWN1dW1lZCAqLwogCXBnc3Rh dF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0hFQVBfQkxLU19WQUNV VU1FRCwgYmxrbm8pOwogCisJLyogQmVmb3JlIHN0YXJ0aW5nIHRvIHByb2Nlc3MgdGhlIGlu ZGV4ZXMgc2F2ZSB0aGUgY3VycmVudCBoZWFwIHN0YXRpc3RpY3MgKi8KKwlhY2N1bXVsYXRl X2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2YWNyZWwpOworCiAJ LyogRG8gZmluYWwgaW5kZXggY2xlYW51cCAoY2FsbCBlYWNoIGluZGV4J3MgYW12YWN1dW1j bGVhbnVwIHJvdXRpbmUpICovCiAJaWYgKHZhY3JlbC0+bmluZGV4ZXMgPiAwICYmIHZhY3Jl bC0+ZG9faW5kZXhfY2xlYW51cCkKIAkJbGF6eV9jbGVhbnVwX2FsbF9pbmRleGVzKHZhY3Jl bCk7CkBAIC0yMDkzLDYgKzIxODcsNyBAQCBzdGF0aWMgdm9pZAogbGF6eV92YWN1dW0oTFZS ZWxTdGF0ZSAqdmFjcmVsKQogewogCWJvb2wJCWJ5cGFzczsKKwlMVkV4dFN0YXRDb3VudGVy cyBleHRWYWNDb3VudGVyczsKIAogCS8qIFNob3VsZCBub3QgZW5kIHVwIGhlcmUgd2l0aCBu byBpbmRleGVzICovCiAJQXNzZXJ0KHZhY3JlbC0+bmluZGV4ZXMgPiAwKTsKQEAgLTIxMDUs NiArMjIwMCw5IEBAIGxhenlfdmFjdXVtKExWUmVsU3RhdGUgKnZhY3JlbCkKIAkJcmV0dXJu OwogCX0KIAorCS8qIFNldCBpbml0aWFsIHN0YXRpc3RpY3MgdmFsdWVzIHRvIGdhdGhlciB2 YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgKi8KKwlleHR2YWNfc3RhdHNfc3RhcnQo dmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycyk7CisKIAkvKgogCSAqIENvbnNpZGVyIGJ5 cGFzc2luZyBpbmRleCB2YWN1dW1pbmcgKGFuZCBoZWFwIHZhY3V1bWluZykgZW50aXJlbHku CiAJICoKQEAgLTIxNjEsNiArMjI1OSw5IEBAIGxhenlfdmFjdXVtKExWUmVsU3RhdGUgKnZh Y3JlbCkKIAkJCQkgIChUaWRTdG9yZU1lbW9yeVVzYWdlKHZhY3JlbC0+ZGVhZF9pdGVtcykg PCAoMzJMICogMTAyNEwgKiAxMDI0TCkpKTsKIAl9CiAKKwkvKiBCZWZvcmUgc3RhcnRpbmcg dG8gcHJvY2VzcyB0aGUgaW5kZXhlcyBzYXZlIHRoZSBjdXJyZW50IGhlYXAgc3RhdGlzdGlj cyAqLworCWFjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcygmZXh0VmFjQ291bnRl cnMsIHZhY3JlbCk7CisKIAlpZiAoYnlwYXNzKQogCXsKIAkJLyoKQEAgLTI2NzUsNiArMjc3 NiwxMSBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1 bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogewogCUluZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJ TFZTYXZlZEVyckluZm8gc2F2ZWRfZXJyX2luZm87CisJTFZFeHRTdGF0Q291bnRlcnNJZHgg ZXh0VmFjQ291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKworCS8qIFNl dCBpbml0aWFsIHN0YXRpc3RpY3MgdmFsdWVzIHRvIGdhdGhlciB2YWN1dW0gc3RhdGlzdGlj cyBmb3IgdGhlIGluZGV4ICovCisJZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChpbmRyZWwsIGlz dGF0LCAmZXh0VmFjQ291bnRlcnMpOwogCiAJaXZpbmZvLmluZGV4ID0gaW5kcmVsOwogCWl2 aW5mby5oZWFwcmVsID0gdmFjcmVsLT5yZWw7CkBAIC0yNjkzLDYgKzI3OTksNyBAQCBsYXp5 X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKmlzdGF0LAogCSAqLwogCUFzc2VydCh2YWNyZWwtPmluZG5hbWUgPT0gTlVMTCk7CiAJ dmFjcmVsLT5pbmRuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRy ZWwpKTsKKwl2YWNyZWwtPmluZG9pZCA9IFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKTsKIAl1 cGRhdGVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8sCiAJCQkJ CQkJIFZBQ1VVTV9FUlJDQl9QSEFTRV9WQUNVVU1fSU5ERVgsCiAJCQkJCQkJIEludmFsaWRC bG9ja051bWJlciwgSW52YWxpZE9mZnNldE51bWJlcik7CkBAIC0yNzAxLDYgKzI4MDgsMTUg QEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICppc3RhdCwKIAlpc3RhdCA9IHZhY19idWxrZGVsX29uZV9pbmRleCgmaXZp bmZvLCBpc3RhdCwgdmFjcmVsLT5kZWFkX2l0ZW1zLAogCQkJCQkJCQkgIHZhY3JlbC0+ZGVh ZF9pdGVtc19pbmZvKTsKIAorCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykK Kwl7CisJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXgg Ki8KKwkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50 ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25H ZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQs CisJCQkJCQkJCTAsIDAsICZleHRWYWNSZXBvcnQpOworCX0KKwogCS8qIFJldmVydCB0byB0 aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwog CXJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwog CXBmcmVlKHZhY3JlbC0+aW5kbmFtZSk7CkBAIC0yNzI1LDYgKzI4NDEsMTEgQEAgbGF6eV9j bGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3Vs dCAqaXN0YXQsCiB7CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5m byBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVy czsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCisJLyogU2V0IGluaXRpYWwgc3Rh dGlzdGljcyB2YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5k ZXggKi8KKwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWND b3VudGVycyk7CiAKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7CiAJaXZpbmZvLmhlYXByZWwg PSB2YWNyZWwtPnJlbDsKQEAgLTI3NDQsMTIgKzI4NjUsMjIgQEAgbGF6eV9jbGVhbnVwX29u ZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQs CiAJICovCiAJQXNzZXJ0KHZhY3JlbC0+aW5kbmFtZSA9PSBOVUxMKTsKIAl2YWNyZWwtPmlu ZG5hbWUgPSBwc3RyZHVwKFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGluZHJlbCkpOworCXZh Y3JlbC0+aW5kb2lkID0gUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpOwogCXVwZGF0ZV92YWN1 dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbywKIAkJCQkJCQkgVkFDVVVN X0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVAsCiAJCQkJCQkJIEludmFsaWRCbG9ja051bWJl ciwgSW52YWxpZE9mZnNldE51bWJlcik7CiAKIAlpc3RhdCA9IHZhY19jbGVhbnVwX29uZV9p bmRleCgmaXZpbmZvLCBpc3RhdCk7CiAKKwlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3MpCisJeworCQkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9y IGluZGV4ICovCisJCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRW YWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJl bGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlz c2hhcmVkLAorCQkJCQkJCQkwLCAwLCAmZXh0VmFjUmVwb3J0KTsKKwl9CisKIAkvKiBSZXZl cnQgdG8gdGhlIHByZXZpb3VzIHBoYXNlIGluZm9ybWF0aW9uIGZvciBlcnJvciB0cmFjZWJh Y2sgKi8KIAlyZXN0b3JlX3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9p bmZvKTsKIAlwZnJlZSh2YWNyZWwtPmluZG5hbWUpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCmluZGV4IDQzYWMyN2VkNWI0Li4wOWU5M2IyMWU4MiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtMTQzMSwzICsxNDMxLDM1IEBAIEZS T00gcGdfY2xhc3MgcmVsCiAgIEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJl bC5yZWxuYW1lc3BhY2UsCiAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhy ZWwub2lkKSBzdGF0cwogV0hFUkUgcmVsLnJlbGtpbmQgPSAncic7CisKK0NSRUFURSBWSUVX IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgQVMKK1NFTEVDVAorICByZWwub2lkIGFzIHJlbGlk LAorICBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgIHJlbC5yZWxuYW1lIEFTIHJlbG5h bWUsCisKKyAgdG90YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgdG90YWxf Ymxrc19oaXQgQVMgdG90YWxfYmxrc19oaXQsCisgIHRvdGFsX2Jsa3NfZGlydGllZCBBUyB0 b3RhbF9ibGtzX2RpcnRpZWQsCisgIHRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtz X3dyaXR0ZW4sCisKKyAgcmVsX2Jsa3NfcmVhZCBBUyByZWxfYmxrc19yZWFkLAorICByZWxf Ymxrc19oaXQgQVMgcmVsX2Jsa3NfaGl0LAorCisgIHBhZ2VzX2RlbGV0ZWQgQVMgcGFnZXNf ZGVsZXRlZCwKKyAgdHVwbGVzX2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCisKKyAgd2Fs X3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCisgIHdhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgd2Fs X2J5dGVzIEFTIHdhbF9ieXRlcywKKworICBibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3Rp bWUsCisgIGJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgIGRlbGF5X3Rp bWUgQVMgZGVsYXlfdGltZSwKKyAgdG90YWxfdGltZSBBUyB0b3RhbF90aW1lCitGUk9NCisg IHBnX2NsYXNzIHJlbAorICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwu cmVsbmFtZXNwYWNlLAorICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKHJl bC5vaWQpIHN0YXRzCitXSEVSRSByZWwucmVsa2luZCA9ICdpJzsKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1w YXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwppbmRl eCA2NzJmOGY0YmZlOC4uZDQxNzExYTgwZDUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtcGFyYWxsZWwuYwpAQCAtODY4LDYgKzg2OCw4IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9j ZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIFJlbGF0aW9uIGluZHJl bCwKIAlJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0ID0gTlVMTDsKIAlJbmRleEJ1bGtE ZWxldGVSZXN1bHQgKmlzdGF0X3JlczsKIAlJbmRleFZhY3V1bUluZm8gaXZpbmZvOworCUxW RXh0U3RhdENvdW50ZXJzSWR4IGV4dFZhY0NvdW50ZXJzOworCUV4dFZhY1JlcG9ydCBleHRW YWNSZXBvcnQ7CiAKIAkvKgogCSAqIFVwZGF0ZSB0aGUgcG9pbnRlciB0byB0aGUgY29ycmVz cG9uZGluZyBidWxrLWRlbGV0aW9uIHJlc3VsdCBpZiBzb21lb25lCkBAIC04NzYsNiArODc4 LDkgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVt U3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCWlmIChpbmRzdGF0cy0+aXN0YXRfdXBk YXRlZCkKIAkJaXN0YXQgPSAmKGluZHN0YXRzLT5pc3RhdCk7CiAKKwkvKiBTZXQgaW5pdGlh bCBzdGF0aXN0aWNzIHZhbHVlcyB0byBnYXRoZXIgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRo ZSBpbmRleCAqLworCWV4dHZhY19zdGF0c19zdGFydF9pZHgoaW5kcmVsLCAmKGluZHN0YXRz LT5pc3RhdCksICZleHRWYWNDb3VudGVycyk7CisKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7 CiAJaXZpbmZvLmhlYXByZWwgPSBwdnMtPmhlYXByZWw7CiAJaXZpbmZvLmFuYWx5emVfb25s eSA9IGZhbHNlOwpAQCAtOTA0LDYgKzkwOSwxNSBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vz c19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWws CiAJCQkJIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGluZHJlbCkpOwogCX0KIAorCWlmKGlz dGF0X3JlcyAhPSBOVUxMICYmIHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwl7 CisJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8K KwkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdF9yZXMsICZleHRWYWNDb3Vu dGVycywgJmV4dFZhY1JlcG9ydCk7CisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9u R2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVk LAorCQkJCQkJCQkwLCAwLCAmZXh0VmFjUmVwb3J0KTsKKwl9CisKIAkvKgogCSAqIENvcHkg dGhlIGluZGV4IGJ1bGstZGVsZXRpb24gcmVzdWx0IHJldHVybmVkIGZyb20gYW1idWxrZGVs ZXRlIGFuZAogCSAqIGFtdmFjdXVtY2xlYW51cCB0byB0aGUgRFNNIHNlZ21lbnQgaWYgaXQn cyB0aGUgZmlyc3QgY3ljbGUgYmVjYXVzZSB0aGV5CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdC5jCmluZGV4IGQyMWI5MzAyYzI5Li5kYzgxYmIxMmM4NiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTExOTAsNiArMTE5MCwxMCBAQCBwZ3N0YXRf YnVpbGRfc25hcHNob3QoUGdTdGF0X0tpbmQgc3RhdEtpbmQpCiAJCWlmIChwLT5kcm9wcGVk KQogCQkJY29udGludWU7CiAKKwkJaWYgKHN0YXRLaW5kICE9IFBHU1RBVF9LSU5EX0lOVkFM SUQgJiYgc3RhdEtpbmQgIT0gcC0+a2V5LmtpbmQpCisJCQkvKiBMb2FkIHN0YXQgb2Ygc3Bl Y2lmaWMgdHlwZSwgaWYgZGVmaW5lZCAqLworCQkJY29udGludWU7CisKIAkJQXNzZXJ0KHBn X2F0b21pY19yZWFkX3UzMigmcC0+cmVmY291bnQpID4gMCk7CiAKIAkJc3RhdHNfZGF0YSA9 IGRzYV9nZXRfYWRkcmVzcyhwZ1N0YXRMb2NhbC5kc2EsIHAtPmJvZHkpOwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCA0NThiZDRl Y2U0OS4uYjE4YWU2MTBiODQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF9yZWxhdGlvbi5jCkBAIC05OTUsNiArOTk1LDkgQEAgc3RhdGljIHZvaWQKIHBn c3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFj UmVwb3J0ICpzcmMsCiAJCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lm aWNfaW5mbykKIHsKKwlpZighcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQly ZXR1cm47CisKIAlkc3QtPnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVh ZDsKIAlkc3QtPnRvdGFsX2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CiAJZHN0 LT50b3RhbF9ibGtzX2RpcnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CkBAIC0x MDEwLDIwICsxMDEzLDM1IEBAIHBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRW YWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCiAJaWYgKCFhY2N1bXVsYXRlX3Jl bHR5cGVfc3BlY2lmaWNfaW5mbykKIAkJcmV0dXJuOwogCi0JZHN0LT5ibGtzX2ZldGNoZWQg Kz0gc3JjLT5ibGtzX2ZldGNoZWQ7Ci0JZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0 OwotCi0JZHN0LT5wYWdlc19zY2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKLQlkc3Qt PnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19yZW1vdmVkOwotCWRzdC0+dm1fbmV3X2Zy b3plbl9wYWdlcyArPSBzcmMtPnZtX25ld19mcm96ZW5fcGFnZXM7Ci0JZHN0LT52bV9uZXdf dmlzaWJsZV9wYWdlcyArPSBzcmMtPnZtX25ld192aXNpYmxlX3BhZ2VzOwotCWRzdC0+dm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHNyYy0+dm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzOwotCWRzdC0+dHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsK LQlkc3QtPnR1cGxlc19mcm96ZW4gKz0gc3JjLT50dXBsZXNfZnJvemVuOwotCWRzdC0+cmVj ZW50bHlfZGVhZF90dXBsZXMgKz0gc3JjLT5yZWNlbnRseV9kZWFkX3R1cGxlczsKLQlkc3Qt PmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPmluZGV4X3ZhY3V1bV9jb3VudDsKLQlkc3Qt PndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgKz0gc3JjLT53cmFwYXJvdW5kX2ZhaWxzYWZl X2NvdW50OwotCWRzdC0+bWlzc2VkX2RlYWRfcGFnZXMgKz0gc3JjLT5taXNzZWRfZGVhZF9w YWdlczsKLQlkc3QtPm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPm1pc3NlZF9kZWFkX3R1 cGxlczsKKwlpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCkKKwkJZHN0 LT50eXBlID0gc3JjLT50eXBlOworCisJQXNzZXJ0KHNyYy0+dHlwZSA9PSBQR1NUQVRfRVhU VkFDX0lOVkFMSUQgfHwgc3JjLT50eXBlID09IGRzdC0+dHlwZSk7CisKKwlpZiAoZHN0LT50 eXBlID09IHNyYy0+dHlwZSkKKwl7CisJCWRzdC0+Ymxrc19mZXRjaGVkICs9IHNyYy0+Ymxr c19mZXRjaGVkOworCQlkc3QtPmJsa3NfaGl0ICs9IHNyYy0+Ymxrc19oaXQ7CiAKKwkJaWYg KGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX1RBQkxFKQorCQl7CisJCQlkc3QtPnRhYmxl LnBhZ2VzX3NjYW5uZWQgKz0gc3JjLT50YWJsZS5wYWdlc19zY2FubmVkOworCQkJZHN0LT50 YWJsZS5wYWdlc19yZW1vdmVkICs9IHNyYy0+dGFibGUucGFnZXNfcmVtb3ZlZDsKKwkJCWRz dC0+dGFibGUudm1fbmV3X2Zyb3plbl9wYWdlcyArPSBzcmMtPnRhYmxlLnZtX25ld19mcm96 ZW5fcGFnZXM7CisJCQlkc3QtPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzICs9IHNyYy0+ dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXM7CisJCQlkc3QtPnRhYmxlLnZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlcyArPSBzcmMtPnRhYmxlLnZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlczsKKwkJCWRzdC0+dHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsK KwkJCWRzdC0+dGFibGUudHVwbGVzX2Zyb3plbiArPSBzcmMtPnRhYmxlLnR1cGxlc19mcm96 ZW47CisJCQlkc3QtPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzICs9IHNyYy0+dGFibGUu cmVjZW50bHlfZGVhZF90dXBsZXM7CisJCQlkc3QtPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3Vu dCArPSBzcmMtPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudDsKKwkJCWRzdC0+dGFibGUubWlz c2VkX2RlYWRfcGFnZXMgKz0gc3JjLT50YWJsZS5taXNzZWRfZGVhZF9wYWdlczsKKwkJCWRz dC0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRf dHVwbGVzOworCQkJZHN0LT50YWJsZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNy Yy0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKKwkJfQorCQllbHNlIGlmIChk c3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTkRFWCkKKwkJeworCQkJZHN0LT5pbmRleC5w YWdlc19kZWxldGVkICs9IHNyYy0+aW5kZXgucGFnZXNfZGVsZXRlZDsKKwkJCWRzdC0+dHVw bGVzX2RlbGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsKKwkJfQorCX0KIH0KXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5j CmluZGV4IGRhMzFkOWQzZTI5Li4zMTA1YTlkZTM5MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3Bnc3RhdGZ1bmNzLmMKQEAgLTIyODYsMTggKzIyODYsMTkgQEAgcGdfc3RhdF9nZXRfdmFj dXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCQkJCQkJCQkJZXh0dmFjdXVtLT5ibGtz X2hpdCk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19o aXQpOwogCi0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNf c2Nhbm5lZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFn ZXNfcmVtb3ZlZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ dm1fbmV3X2Zyb3plbl9wYWdlcyk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+dm1fbmV3X3Zpc2libGVfcGFnZXMpOwotCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyk7Ci0JdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+bWlzc2VkX2RlYWRfcGFnZXMp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnBhZ2Vz X3NjYW5uZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRh YmxlLnBhZ2VzX3JlbW92ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnRhYmxlLnZtX25ld19mcm96ZW5fcGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzKTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS52bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzKTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZGVsZXRlZCk7Ci0JdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2Zyb3plbik7Ci0JdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cmVjZW50bHlfZGVhZF90dXBsZXMpOwotCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPm1pc3NlZF9kZWFkX3R1cGxl cyk7Ci0JdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3Vu ZF9mYWlsc2FmZV9jb3VudCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+aW5kZXhfdmFjdXVtX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT50YWJsZS50dXBsZXNfZnJvemVuKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUubWlzc2VkX2Rl YWRfdHVwbGVzKTsKKworCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0t PnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOworCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCk7CiAKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CiAJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CkBAIC0y MzE2LDYgKzIzMTcsMTE2IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJ T05fQVJHUykKIAogCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RB VFNfQ09MUyk7CiAKKwkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KKwlQR19S RVRVUk5fREFUVU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2Ms IHZhbHVlcywgbnVsbHMpKSk7Cit9CisKKy8qCisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0 aWNzIGZvciB0aGUgaGVhcCB0YWJsZXMuCisgKi8KK0RhdHVtCitwZ19zdGF0X2dldF92YWN1 dW1faW5kZXhlcyhQR19GVU5DVElPTl9BUkdTKQoreworCSNkZWZpbmUgUEdfU1RBVF9HRVRf VkFDVVVNX0lOREVYX1NUQVRTX0NPTFMJMTYKKworCU9pZAkJCQkJCXJlbGlkID0gUEdfR0VU QVJHX09JRCgwKTsKKwlQZ1N0YXRfU3RhdFRhYkVudHJ5ICAgICAqdGFiZW50cnk7CisJRXh0 VmFjUmVwb3J0IAkJCSpleHR2YWN1dW07CisJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOworCURh dHVtCQkJCQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTXSA9 IHswfTsKKwlib29sCQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRT X0NPTFNdID0gezB9OworCWNoYXIJCQkJCSBidWZbMjU2XTsKKwlpbnQJCQkJCQkgaSA9IDA7 CisJRXh0VmFjUmVwb3J0IGFsbHplcm87CisKKwkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMg aW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KKwl0dXBkZXNjID0gQ3Jl YXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NP TFMpOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJyZWxpZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsXyBibGtzX3JlYWQiLAorCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhPSUQsIC0x LCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg InRvdGFsX2Jsa3NfZGlydGllZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3Nf d3JpdHRlbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX3JlYWQiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJyZWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7 CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdl c19kZWxldGVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVzX2RlbGV0ZWQiLAorCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJ3YWxfcmVjb3JkcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndh bF9mcGkiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMiLAorCQkJCQkgICBOVU1F UklDT0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpICsraSwgImJsa19yZWFkX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJs a193cml0ZV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRlbGF5X3RpbWUiLAor CQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQs IC0xLCAwKTsKKworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFU U19DT0xTKTsKKworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCisJdGFiZW50cnkgPSBw Z3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShyZWxpZCk7CisKKwlpZiAodGFiZW50cnkgPT0g TlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0 aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRW YWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UKKwl7CisJ CWV4dHZhY3V1bSA9ICYodGFiZW50cnktPnZhY3V1bV9leHQpOworCX0KKworCWkgPSAwOwor CisJdmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVtKHJlbGlkKTsKKworCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19oaXQpOwor CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGly dGllZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxf Ymxrc193cml0dGVuKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPmJsa3NfZmV0Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1dW0tPmJsa3NfaGl0KTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5pbmRleC5wYWdlc19kZWxl dGVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNf ZGVsZXRlZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53 YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0 ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBl eHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNh bGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAorCQkJ CQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdldERhdHVt KC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Ymxr X3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0t PmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZh Y3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2 YWN1dW0tPnRvdGFsX3RpbWUpOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVN X0lOREVYX1NUQVRTX0NPTFMpOworCiAJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVt ICovCiAJUEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBs ZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKSkpOwogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKaW5kZXggZjJkMzFlMTc0 YjQuLjJhOTZjZjUxYTM2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1 Y190YWJsZXMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwpA QCAtMTQ4MCw3ICsxNDgwLDcgQEAgc3RydWN0IGNvbmZpZ19ib29sIENvbmZpZ3VyZU5hbWVz Qm9vbFtdID0KIAl9LAogCXsKIAkJeyJ0cmFja192YWN1dW1fc3RhdGlzdGljcyIsIFBHQ19T VVNFVCwgU1RBVFNfQ1VNVUxBVElWRSwKLQkJCWdldHRleHRfbm9vcCgiQ29sbGVjdHMgdmFj dXVtIHN0YXRpc3RpY3MgZm9yIHRhYmxlIHJlbGF0aW9ucy4iKSwKKwkJCWdldHRleHRfbm9v cCgiQ29sbGVjdHMgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHJlbGF0aW9ucy4iKSwKIAkJCU5V TEwKIAkJfSwKIAkJJnBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcywKZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuZGF0CmluZGV4IDBkOTU4NGE5ZmVjLi5kN2YwNmE2OTQ4NyAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMjQ0Nyw0ICsxMjQ0NywxMyBAQAogICBwcm9u YW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycsIHByb3ZvbGF0aWxl ID0+ICdzJywKICAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4Jywg cHJvYXJndHlwZXMgPT4gJ29pZCcsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfcmV2X2Fs bF9mcm96ZW5fcGFnZXMnIH0sCit7IG9pZCA9PiAnODAwNCcsCisgIGRlc2NyID0+ICdwZ19z dGF0X2dldF92YWN1dW1faW5kZXhlcyByZXR1cm4gc3RhdHMgdmFsdWVzJywKKyAgcHJvbmFt ZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMnLCBwcm9yb3dzID0+IDEwMDAsIHBy b3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9 PiAnZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAor ICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljLGZsb2F0OCxmbG9hdDgsZmxvYXQ4 LGZsb2F0OH0nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9i bGtzX3JlYWQsdG90YWxfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nf d3JpdHRlbixyZWxfYmxrc19yZWFkLHJlbF9ibGtzX2hpdCxwYWdlc19kZWxldGVkLHR1cGxl c19kZWxldGVkLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUs YmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0b3RhbF90aW1lfScsCisgIHByb3NyYyA9PiAn cGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMnIH0KIF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL2NvbW1hbmRzL3ZhY3V1bS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgK aW5kZXggOTRkNTk5NzY3ZGYuLjRkNGEzZDdiMDJkIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9jb21tYW5kcy92YWN1dW0uaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0u aApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgInN0b3JhZ2UvYnVmLmgiCiAjaW5jbHVk ZSAic3RvcmFnZS9sb2NrLmgiCiAjaW5jbHVkZSAidXRpbHMvcmVsY2FjaGUuaCIKKyNpbmNs dWRlICJwZ3N0YXQuaCIKIAogLyoKICAqIEZsYWdzIGZvciBhbXBhcmFsbGVsdmFjdXVtb3B0 aW9ucyB0byBjb250cm9sIHRoZSBwYXJ0aWNpcGF0aW9uIG9mIGJ1bGtkZWxldGUKQEAgLTI4 OCw2ICsyODksMjYgQEAgdHlwZWRlZiBzdHJ1Y3QgVmFjRGVhZEl0ZW1zSW5mbwogCWludDY0 CQludW1faXRlbXM7CQkvKiBjdXJyZW50ICMgb2YgZW50cmllcyAqLwogfSBWYWNEZWFkSXRl bXNJbmZvOwogCisvKgorICogQ291bnRlcnMgYW5kIHVzYWdlIGRhdGEgZm9yIGV4dGVuZGVk IHN0YXRzIHRyYWNraW5nLgorICovCit0eXBlZGVmIHN0cnVjdCBMVkV4dFN0YXRDb3VudGVy cworeworCVRpbWVzdGFtcFR6IHN0YXJ0dGltZTsKKwlXYWxVc2FnZQl3YWx1c2FnZTsKKwlC dWZmZXJVc2FnZSBidWZ1c2FnZTsKKwlkb3VibGUJCVZhY3V1bURlbGF5VGltZTsKKwlQZ1N0 YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0 OworfSBMVkV4dFN0YXRDb3VudGVyczsKKwordHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291 bnRlcnNJZHgKK3sKKwlMVkV4dFN0YXRDb3VudGVycyBjb21tb247CisJaW50NjQJCXBhZ2Vz X2RlbGV0ZWQ7CisJaW50NjQJCXR1cGxlc19yZW1vdmVkOworfSBMVkV4dFN0YXRDb3VudGVy c0lkeDsKKwogLyogR1VDIHBhcmFtZXRlcnMgKi8KIGV4dGVybiBQR0RMTElNUE9SVCBpbnQg ZGVmYXVsdF9zdGF0aXN0aWNzX3RhcmdldDsJLyogUEdETExJTVBPUlQgZm9yIFBvc3RHSVMg Ki8KIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlOwpAQCAt Mzg2LDQgKzQwNyw4IEBAIGV4dGVybiBkb3VibGUgYW5sX3JhbmRvbV9mcmFjdCh2b2lkKTsK IGV4dGVybiBkb3VibGUgYW5sX2luaXRfc2VsZWN0aW9uX3N0YXRlKGludCBuKTsKIGV4dGVy biBkb3VibGUgYW5sX2dldF9uZXh0X1MoZG91YmxlIHQsIGludCBuLCBkb3VibGUgKnN0YXRl cHRyKTsKIAorZXh0ZXJuIHZvaWQgZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChSZWxhdGlvbiBy ZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCisJCQkJCSAgIExWRXh0U3RhdENv dW50ZXJzSWR4ICpjb3VudGVycyk7CitleHRlcm4gdm9pZCBleHR2YWNfc3RhdHNfZW5kX2lk eChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCisJCQkJCSBM VkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMsIEV4dFZhY1JlcG9ydCAqcmVwb3J0KTsK ICNlbmRpZgkJCQkJCQkvKiBWQUNVVU1fSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv cGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCAwMjY2OTkzZGJmMi4uNTcy ZTM0ZTBiYjAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9p bmNsdWRlL3Bnc3RhdC5oCkBAIC0xNjcsMTEgKzE2NywxOSBAQCB0eXBlZGVmIHN0cnVjdCBQ Z1N0YXRfQmFja2VuZFN1YkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgY29uZmxpY3RfY291bnRb Q09ORkxJQ1RfTlVNX1RZUEVTXTsKIH0gUGdTdGF0X0JhY2tlbmRTdWJFbnRyeTsKIAorLyog VHlwZSBvZiBFeHRWYWNSZXBvcnQgKi8KK3R5cGVkZWYgZW51bSBFeHRWYWNSZXBvcnRUeXBl Cit7CisJUEdTVEFUX0VYVFZBQ19JTlZBTElEID0gMCwKKwlQR1NUQVRfRVhUVkFDX1RBQkxF ID0gMSwKKwlQR1NUQVRfRVhUVkFDX0lOREVYID0gMgorfSBFeHRWYWNSZXBvcnRUeXBlOwor CiAvKiAtLS0tLS0tLS0tCiAgKgogICogRXh0VmFjUmVwb3J0CiAgKgotICogQWRkaXRpb25h bCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIgYSBoZWFwIHJlbGF0aW9u LgorICogQWRkaXRpb25hbCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIg YSByZWxhdGlvbi4KICAqIHBhZ2VzX3JlbW92ZWQgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0 aGUgcGh5c2ljYWxseSBzaHJhbmssCiAgKiBpZiBhbnkgKGllIHRoZSBjaGFuZ2UgaW4gaXRz IHRvdGFsIHNpemUgb24gZGlzaykKICAqIHBhZ2VzX2RlbGV0ZWQgcmVmZXIgdG8gZnJlZSBz cGFjZSB3aXRoaW4gdGhlIGluZGV4IGZpbGUKQEAgLTIwMCwxOCArMjA4LDQ0IEBAIHR5cGVk ZWYgc3RydWN0IEV4dFZhY1JlcG9ydAogCWRvdWJsZQkJZGVsYXlfdGltZTsJCS8qIGhvdyBs b25nIHZhY3V1bSBzbGVwdCBpbiB2YWN1dW0gZGVsYXkgcG9pbnQsIGluIG1zZWMgKi8KIAlk b3VibGUJCXRvdGFsX3RpbWU7CQkvKiB0b3RhbCB0aW1lIG9mIGEgdmFjdXVtIG9wZXJhdGlv biwgaW4gbXNlYyAqLwogCi0JaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBoZWFwIHBhZ2Vz IGV4YW1pbmVkIChub3Qgc2tpcHBlZCBieSBWTSkgKi8KLQlpbnQ2NAkJcGFnZXNfcmVtb3Zl ZDsJCS8qIGhlYXAgcGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0gInRydW5jYXRpb24iICovCi0J aW50NjQJCXZtX25ld19mcm96ZW5fcGFnZXM7CQkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMg ZnJvemVuICovCi0JaW50NjQJCXZtX25ld192aXNpYmxlX3BhZ2VzOwkvKiBwYWdlcyBtYXJr ZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgKi8KLQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgYW5kIGZy b3plbiAqLwotCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBsZXMgbm90IHBy dW5lZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51cCBsb2NrICov Ci0JaW50NjQJCW1pc3NlZF9kZWFkX3BhZ2VzOwkJLyogcGFnZXMgd2l0aCBtaXNzZWQgZGVh ZCB0dXBsZXMgKi8KIAlpbnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRl ZCBieSB2YWN1dW0gKi8KLQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96 ZW4gdXAgYnkgdmFjdXVtICovCi0JaW50NjQJCXJlY2VudGx5X2RlYWRfdHVwbGVzOwkvKiBk ZWxldGVkIHR1cGxlcyB0aGF0IGFyZSBzdGlsbCB2aXNpYmxlIHRvIHNvbWUgdHJhbnNhY3Rp b24gKi8KLQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIGlu ZGV4IHZhY3V1bWluZ3MgKi8KLQlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJ LyogdGhlIG51bWJlciBvZiB0aW1lcyB0byBwcmV2ZW50IHdvcmthcm91bmQgcHJvYmxlbSAq LworCisJRXh0VmFjUmVwb3J0VHlwZSB0eXBlOwkJLyogaGVhcCwgaW5kZXgsIGV0Yy4gKi8K KworCS8qIC0tLS0tLS0tLS0KKwkgKgorCSAqIFRoZXJlIGFyZSBzZXBhcmF0ZSBtZXRyaWNz IG9mIHN0YXRpc3RpYyBmb3IgdGFibGVzIGFuZCBpbmRleGVzLAorCSAqIHdoaWNoIGNvbGxl Y3QgZHVyaW5nIHZhY3V1bS4KKwkgKiBUaGUgdW5pb24gb3BlcmF0b3IgYWxsb3dzIHRvIGNv bWJpbmUgdGhlc2Ugc3RhdGlzdGljcworCSAqIHNvIHRoYXQgZWFjaCBtZXRyaWMgaXMgYXNz aWduZWQgdG8gYSBzcGVjaWZpYyBjbGFzcyBvZiBjb2xsZWN0ZWQgc3RhdGlzdGljcy4KKwkg KiBTdWNoIGEgY29tYmluZWQgc3RydWN0dXJlIHdhcyBjYWxsZWQgcGVyX3R5cGVfc3RhdHMu CisJICogVGhlIG5hbWUgb2YgdGhlIHN0cnVjdHVyZSBpdHNlbGYgaXMgbm90IHVzZWQgYW55 d2hlcmUsCisJICogaXQgZXhpc3RzIG9ubHkgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIGNvZGUu CisJICogLS0tLS0tLS0tLQorCSovCisJdW5pb24KKwl7CisJCXN0cnVjdAorCQl7CisJCQlp bnQ2NAkJcGFnZXNfc2Nhbm5lZDsJCS8qIGhlYXAgcGFnZXMgZXhhbWluZWQgKG5vdCBza2lw cGVkIGJ5IFZNKSAqLworCQkJaW50NjQJCXBhZ2VzX3JlbW92ZWQ7CQkvKiBoZWFwIHBhZ2Vz IHJlbW92ZWQgYnkgdmFjdXVtICJ0cnVuY2F0aW9uIiAqLworCQkJaW50NjQJCXBhZ2VzX2Zy b3plbjsJCS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KKwkJCWludDY0CQlw YWdlc19hbGxfdmlzaWJsZTsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxl ICovCisJCQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkg dmFjdXVtICovCisJCQlpbnQ2NAkJcmVjZW50bHlfZGVhZF90dXBsZXM7CS8qIGRlbGV0ZWQg dHVwbGVzIHRoYXQgYXJlIHN0aWxsIHZpc2libGUgdG8gc29tZSB0cmFuc2FjdGlvbiAqLwor CQkJaW50NjQJCXZtX25ld19mcm96ZW5fcGFnZXM7CQkvKiBwYWdlcyBtYXJrZWQgaW4gVk0g YXMgZnJvemVuICovCisJCQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfcGFnZXM7CS8qIHBhZ2Vz IG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxl IGFuZCBmcm96ZW4gKi8KKwkJCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBs ZXMgbm90IHBydW5lZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51 cCBsb2NrICovCisJCQlpbnQ2NAkJbWlzc2VkX2RlYWRfcGFnZXM7CQkvKiBwYWdlcyB3aXRo IG1pc3NlZCBkZWFkIHR1cGxlcyAqLworCQkJaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJ LyogbnVtYmVyIG9mIGluZGV4IHZhY3V1bWluZ3MgKi8KKwkJCWludDMyCQl3cmFwYXJvdW5k X2ZhaWxzYWZlX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHByZXZlbnQgd29y a2Fyb3VuZCBwcm9ibGVtICovCisJCX0JCQl0YWJsZTsKKwkJc3RydWN0CisJCXsKKwkJCWlu dDY0CQlwYWdlc19kZWxldGVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFj dXVtICovCisJCX0JCQlpbmRleDsKKwl9IC8qIHBlcl90eXBlX3N0YXRzICovOwogfSBFeHRW YWNSZXBvcnQ7CiAKIC8qIC0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xh dGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCBi L3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0 YWJsZS1yZWFkLm91dAppbmRleCA4N2Y3ZTQwYjRhNi4uNmQ5NjA0MjM5MTIgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJl cGV0YWJsZS1yZWFkLm91dAorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFj dXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKQEAgLTM0LDcgKzM0LDcgQEAg c3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6CiAKIHJlbG5hbWUgICAgICAgICAg ICAgICAgICAgfHR1cGxlc19kZWxldGVkfHJlY2VudGx5X2RlYWRfdHVwbGVzfG1pc3NlZF9k ZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF9wYWdlc3x0dXBsZXNfZnJvemVuCiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotdGVz dF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAg ICAxMDB8ICAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAwfCAgICAgICAgICAg IDAKK3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgICAwfCAgICAgICAg ICAgICAgICAgNjAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAg ICAgICAgICAwCiAoMSByb3cpCiAKIHN0ZXAgczFfY29tbWl0OiBDT01NSVQ7CkBAIC00OCw2 ICs0OCw2IEBAIHN0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOgogCiByZWxuYW1l ICAgICAgICAgICAgICAgICAgIHx0dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1cGxl c3xtaXNzZWRfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3plbgog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0KLXRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgMTAwfCAgICAg ICAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwg ICAgICAgICAgMTAxCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgIDMw MHwgICAgICAgICAgICAgICAgIDYwMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAg ICAgIDB8ICAgICAgICAgIDMwMwogKDEgcm93KQogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0CmluZGV4IGI0OWY3OTM2ZjkzLi4yNDdlMjJhODJhNSAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyNDUsNiArMjI0NSwyOCBAQCBwZ19zdGF0 X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2Vz CiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPD4g QUxMIChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpu YW1lXSkpIEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOworcGdfc3Rh dF92YWN1dW1faW5kZXhlc3wgU0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCisgICAgbnMubnNw bmFtZSBBUyBzY2hlbWFuYW1lLAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnRvdGFs X2Jsa3NfcmVhZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3Rh bF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0 YXRzLnJlbF9ibGtzX3JlYWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRz LnBhZ2VzX2RlbGV0ZWQsCisgICAgc3RhdHMudHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMu d2FsX3JlY29yZHMsCisgICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMs CisgICAgc3RhdHMuYmxrX3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwK KyAgICBzdGF0cy5kZWxheV90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUKKyAgIEZST00g KHBnX2NsYXNzIHJlbAorICAgICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9 IHJlbC5yZWxuYW1lc3BhY2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1f aW5kZXhlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9i bGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9i bGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQs IHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193 cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJlbGtp bmQgPSAnaSc6OiJjaGFyIik7CiBwZ19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCBucy5u c3BuYW1lIEFTIHNjaGVtYW5hbWUsCiAgICAgcmVsLnJlbG5hbWUsCiAgICAgc3RhdHMucmVs aWQsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRl eF9zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2lu ZGV4X3N0YXRpc3RpY3Mub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi5lMDBhMGZjNjgzYwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0wLDAgKzEsMTgzIEBA CistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBD aGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJh dGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZh Y3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBi eSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0 aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29u ZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24K KyB0cmFja19jb3VudHMgCistLS0tLS0tLS0tLS0tLQorIG9uCisoMSByb3cpCisKK1xzZXQg c2FtcGxlX3NpemUgMTAwMDAKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3 YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CistLSBU ZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRl ciBpcyBvZmYuCitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitDUkVB VEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2Zm LCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00g Z2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7 CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworVkFDVVVNIChQQVJBTExF TCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSBNdXN0IGJlIGVtcHR5 LgorU0VMRUNUICoKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dAorV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXQnOworIHJlbGlkIHwgc2NoZW1hbmFtZSB8IHJlbG5hbWUgfCB0 b3RhbF9ibGtzX3JlYWQgfCB0b3RhbF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8 IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHJlbF9ibGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCBw YWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkg fCB3YWxfYnl0ZXMgfCBibGtfcmVhZF90aW1lIHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxheV90 aW1lIHwgdG90YWxfdGltZSAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisoMCByb3dzKQorCitSRVNFVCB0cmFja192YWN1dW1fc3RhdGlz dGljczsKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CitTSE9XIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgorIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG9uCisoMSByb3cpCisKKy0tIGVuc3VyZSBw ZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2Zs dXNoKCk7CisgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAKKygxIHJvdykKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VUIHZh Y3V1bV9mcmVlemVfbWluX2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2Ug PSAwOworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFU RSBUQUJMRSB2ZXN0YXQgKHggaW50IHByaW1hcnkga2V5KSBXSVRIIChhdXRvdmFjdXVtX2Vu YWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VM RUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFM WVpFIHZlc3RhdDsKK1NFTEVDVCBvaWQgQVMgaW9pZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJl bG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUg eCAlIDIgPSAwOworLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVu ZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHkuCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyxw YWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFO RCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19k ZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8ICAgICAgIDMw IHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwCisoMSByb3cpCisKK1NFTEVDVCBy ZWxwYWdlcyBBUyBpcnAKK0ZST00gcGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlU IDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRv IGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFRoZSB0YWJsZSBh bmQgaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhh dAorLS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdl c19yZW1vdmVkIHN0YXllZCB0aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJs ZSBoYXZlIGNsZWFuZWQgdXAKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAw IEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVz X2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdl c19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAg ICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUs cmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFT IGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVS RSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3Nl dAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3Jk cyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBkaVdCCitGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleSc7CisgZGl3ciB8IGRp d2IgCistLS0tLS0rLS0tLS0tCisgdCAgICB8IHQKKygxIHJvdykKKworREVMRVRFIEZST00g dmVzdGF0OzsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwg SU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNr IHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQgbXVz dCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFT IHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA+IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZC06aXRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2Vz IHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkg fCB0ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5y ZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVs ZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5v aWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNU IHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3Yiwgd2Fs X2ZwaS06aWZwaSBBUyBkaWZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLSBXQUwgYWR2YW5jZSBzaG91bGQg YmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBk aVdCOworIGRpd3IgfCBkaXdiIAorLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0CisoMSByb3cp CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9y ZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBn X3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdz ZXQKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmllcygx LDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9 IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4g U28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVk IGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hl Y2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyMiwg d2FsX2J5dGVzLTppd2IgQVMgZGl3YjIsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkyCitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg XGdzZXQKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3Qg YmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IyPTAgQVMgZGlXUiwgOmRpZnBpMj0wIEFTIGlG UEksIDpkaXdiMj0wIEFTIGRpV0I7CisgZGl3ciB8IGlmcGkgfCBkaXdiIAorLS0tLS0tKy0t LS0tLSstLS0tLS0KKyB0ICAgIHwgdCAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJl bG5hbWUscmVscGFnZXMtOmlycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBk ID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxl c19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lk OworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2Rl bGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8 IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2Vz X2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRl cyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorREVMRVRFIEZST00gdmVzdGF0 OworVFJVTkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0Vf TElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3Nh cnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUg V0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMg ZnJvbSB0aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxf Ynl0ZXMtOml3YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKK0ZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmRpd3IzPTAgQVMgZGlX UiwgOmRpZnBpMz0wIEFTIGlGUEksIDpkaXdiMz0wIEFTIGRpV0I7CisgZGl3ciB8IGlmcGkg fCBkaXdiIAorLS0tLS0tKy0tLS0tLSstLS0tLS0KKyB0ICAgIHwgdCAgICB8IHQKKygxIHJv dykKKworLS0KKy0tIE5vdywgdGhlIHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVzc2VkIGlu dG8gemVybyBudW1iZXIgb2YgcGFnZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0gZXh0ZW5k ZWQgc3RhdGlzdGljcy4KKy0tIFRoZSBwYWdlc19mcm96ZW4sIHBhZ2VzX3NjYW5uZWQgdmFs dWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFn ZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdl c19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFt ZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0K KyB2ZXN0YXRfcGtleSB8IGYgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykK KworRFJPUCBUQUJMRSB2ZXN0YXQ7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKaW5kZXggMGMwNWE4MTJk ZDEuLjExOWM3YWJlYTVmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CkBAIC0xODEsMTcgKzE4MSwz OSBAQCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CiAgdmVzdGF0ICB8IHQgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IGYg ICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKICgxIHJvdykKIAorRFJPUCBUQUJMRSB2ZXN0 YXQ7CitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisgcGdfc3RhdF9mb3Jj ZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykK KworU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90 YWJsZV9hZ2UgPSAwOworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92 YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZl c3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMg eDsKIEFOQUxZWkUgdmVzdGF0OworU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgp OworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgCisoMSByb3cpCisKIC0tIG11c3QgYmUgZW1wdHkKIFNFTEVDVCB2bV9uZXdfZnJv emVuX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9wYWdlcywgcmV2X2FsbF9mcm96ZW5fcGFnZXMs cmV2X2FsbF92aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcwogRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CiAgdm1fbmV3X2Zy b3plbl9wYWdlcyB8IHZtX25ld192aXNpYmxlX3BhZ2VzIHwgcmV2X2FsbF9mcm96ZW5fcGFn ZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAg ICAgICAgOTEwIHwgICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAg IDAgfCAgICAgICAgICAgICAgICAgICAgICAgICA0NTUKKyAgICAgICAgICAgICAgICAgICAw IHwgICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgMCB8ICAgICAg ICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogKDEgcm93 KQogCiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3Rh dDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNl X25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQor CiAtLSBiYWNrZW5kIGRlZnJlZXplZCBwYWdlcwogU0VMRUNUIHZtX25ld19mcm96ZW5fcGFn ZXMgPiAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPiAw IEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA+ IDAgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLHJldl9hbGxfZnJvemVuX3BhZ2Vz ID0gMCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSAw IEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMs IHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFt ZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0 X2FsbF90YWJsZXMucmVsaWQ7CkBAIC0yMDQsMTYgKzIyNiwyOCBAQCBTRUxFQ1Qgdm1fbmV3 X2Zyb3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgcHYsdm1fbmV3 X3Zpc2libGVfZnJvegogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxs X3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQn IGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMu cmVsaWQgXGdzZXQKIFVQREFURSB2ZXN0YXQgU0VUIHggPSB4ICsgMTAwMTsKIFZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworU0VMRUNUIHBn X3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKIFNFTEVDVCB2bV9u ZXdfZnJvemVuX3BhZ2VzID4gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zp c2libGVfcGFnZXMgPiA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2li bGVfZnJvemVuX3BhZ2VzID4gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMs cmV2X2FsbF9mcm96ZW5fcGFnZXMgPiA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxy ZXZfYWxsX3Zpc2libGVfcGFnZXMgPiA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMK IEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUg cGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92 YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOwogIHZtX25l d19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxl X3BhZ2VzIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgICAgICAgIHwgZgorIGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAg ICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAg ICAgICAgIHwgdAogKDEgcm93KQogCiBTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBw Ziwgdm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgcHYsIHZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlcyBBUyBwdmYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNp YmxlX3BhZ2VzIEFTIGhhdnAKIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0 X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVz dGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFi bGVzLnJlbGlkIFxnc2V0CiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1J VCAxMjgpIHZlc3RhdDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBw Z19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IAorKDEgcm93KQorCiAtLSB2YWN1dW0gZnJlZXplZCBwYWdlcwogU0VMRUNUIHZtX25ld19m cm96ZW5fcGFnZXMgPSA6cGYgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdfdmlzaWJs ZV9wYWdlcyA9IDpwdiBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9m cm96ZW5fcGFnZXMgPSA6cHZmIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgcmV2 X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZf YWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKIEZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdf c3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1 dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOwpAQCAtMjIyLDQg KzI1Niw2IEBAIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJs ZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hCiAgdCAgICAgICAgICAgICAg ICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKK1JFU0VUIHZhY3V1 bV9mcmVlemVfbWluX2FnZTsKK1JFU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlOwogRFJP UCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv cGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxl CmluZGV4IGQxMWY2YjdlZjRiLi45NzdhODdhNWIxZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFs bGVsX3NjaGVkdWxlCkBAIC0xNDAsNCArMTQwLDUgQEAgdGVzdDogdGFibGVzcGFjZQogIyAt LS0tLS0tLS0tCiAjIENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCiAjIC0tLS0tLS0tLS0KK3Rl c3Q6IHZhY3V1bV9pbmRleF9zdGF0aXN0aWNzCiB0ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRp c3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmFlMTQ2ZTFkMjNmCi0tLSAvZGV2L251bGwKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCkBA IC0wLDAgKzEsMTUxIEBACistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBz eXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJp bmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUg cGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUg cGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90 IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFi bGUuCistLQorLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsg IC0tIG11c3QgYmUgb24KKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorCistLSBub3QgZW5h YmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tf ZnVuY3Rpb25zIFRPICdhbGwnOworCistLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mg d2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCitTRVQgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgVE8gJ29mZic7CisKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBX SVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNF UlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxl X3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKworREVMRVRFIEZST00gdmVzdGF0IFdI RVJFIHggJSAyID0gMDsKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4KSB2ZXN0YXQ7CisKKy0tIE11c3QgYmUgZW1wdHkuCitTRUxFQ1QgKgorRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7 CisKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0YXQg Q0FTQ0FERTsKKworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUg b24KKworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VU IHZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9h Z2UgPSAwOworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NS RUFURSBUQUJMRSB2ZXN0YXQgKHggaW50IHByaW1hcnkga2V5KSBXSVRIIChhdXRvdmFjdXVt X2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQg U0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitB TkFMWVpFIHZlc3RhdDsKKworU0VMRUNUIG9pZCBBUyBpb2lkIGZyb20gcGdfY2xhc3Mgd2hl cmUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0 IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlv biBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscmVs cGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1 bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCByZWxwYWdlcyBBUyBpcnAKK0ZS T00gcGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKwor VkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVB TlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBz dGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVu ZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBm cm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5 ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVk IHVwCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxw YWdlc19kZWxldGVkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBB UyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19j bGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxl dGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2Vz IGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBB UyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLSBMb29rIGludG8gV0FMIHJl Y29yZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkaVdSLCB3YWxfYnl0 ZXMgPiAwIEFTIGRpV0IKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JzsKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikg dmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGlj cworQ0hFQ0tQT0lOVDsKKworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAor U0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNf ZGVsZXRlZC06aXBkID4gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQg PiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5y ZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2Vz X2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3Is IHdhbF9ieXRlcy06aXdiIEFTIGRpd2IsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkKK0ZST00g cGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBc Z3NldAorCistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRp d3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBkaVdCOworCistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5 dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK0lOU0VSVCBJTlRPIHZl c3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMg eDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVM TCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNl bWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVM TCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0 aWNzCitDSEVDS1BPSU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IyLCB3YWxfYnl0ZXMtOml3YiBB UyBkaXdiMiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTIKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLSBXQUwg YW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgor U0VMRUNUIDpkaXdyMj0wIEFTIGRpV1IsIDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBB UyBkaVdCOworCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwIDwgMCBBUyByZWxw YWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2Rl bGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBB UyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFT IGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworREVM RVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJBTExFTCAw LCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7Cist LSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BP SU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVt b3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTpp d3IgQVMgZGl3cjMsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IzLCB3YWxfZnBpLTppZnBpIEFT IGRpZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIFxnc2V0CisKKy0tVGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdlZAorU0VM RUNUIDpkaXdyMz0wIEFTIGRpV1IsIDpkaWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9MCBBUyBk aVdCOworCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQg aW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRl bmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2 YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxw YWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBh Z2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQK K0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK0RST1Ag VEFCTEUgdmVzdGF0OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcy5zcWwKaW5kZXggOGFkNjkxMDhjYTEuLmRmZDdhZjcwMDI3IDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlz dGljcy5zcWwKQEAgLTE0OCwxNCArMTQ4LDIyIEBAIFNFTEVDVCB2dC5yZWxuYW1lLHZtX25l d19mcm96ZW5fcGFnZXMtOmZwID0gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19k ZWxlCiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYwogV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOwogCitEUk9QIFRB QkxFIHZlc3RhdDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKK1NFVCB2 YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdl ID0gMDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2Vu YWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CisKIElOU0VSVCBJTlRPIHZlc3RhdCBT RUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFO QUxZWkUgdmVzdGF0OworU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOwogCiAt LSBtdXN0IGJlIGVtcHR5CiBTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zp c2libGVfcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdl cyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMKIEZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJl bG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdf c3RhdF9hbGxfdGFibGVzLnJlbGlkOwogCiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9V U0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1 c2goKTsKIAogLS0gYmFja2VuZCBkZWZyZWV6ZWQgcGFnZXMKIFNFTEVDVCB2bV9uZXdfZnJv emVuX3BhZ2VzID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3Bh Z2VzID4gMCBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5f cGFnZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3pl bl9wYWdlcyA9IDAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3Bh Z2VzID0gMCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKQEAgLTE2NSw2ICsxNzMsNyBAQCBG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBn X3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYQogCiBVUERBVEUgdmVzdGF0IFNFVCB4ID0geCAr IDEwMDE7CiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZl c3RhdDsKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKIAogU0VMRUNUIHZt X25ld19mcm96ZW5fcGFnZXMgPiA6cGYgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdf dmlzaWJsZV9wYWdlcyA+IDpwdiBBUyB2bV9uZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMgPiA6cHZmIEFTIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdl cyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA+IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2Vz LHJldl9hbGxfdmlzaWJsZV9wYWdlcyA+IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdl cwogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVS RSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CkBAIC0x NzIsOSArMTgxLDEyIEBAIFNFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHBmLCB2bV9u ZXdfdmlzaWJsZV9wYWdlcyBBUyBwdiwgdm1fbmV3X3Zpc2libGVfZnJvCiBGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFj dXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxl cy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZCBcZ3NldAogCiBWQUNVVU0gKFBB UkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKK1NFTEVDVCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2goKTsKIAogLS0gdmFjdXVtIGZyZWV6ZWQgcGFnZXMKIFNF TEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID0gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMs dm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96 ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2X2FsbF9mcm96 ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2X2FsbF92aXNp YmxlX3BhZ2VzCiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFi bGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5k IHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxp ZDsKIAorUkVTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlOworUkVTRVQgdmFjdXVtX2ZyZWV6 ZV90YWJsZV9hZ2U7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwotLSAKMi4zNC4xCgo= --------------1N7uCv2Ri6D0kHZe2mz9ca8z Content-Type: text/x-patch; charset=UTF-8; name="v16-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v16-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAxNDNkOTI2Zjc3OGE3MDkxMmQ0ZTBhMDYzZDc0YzliN2JkNWZmOGQ1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogRnJpLCAxMCBKYW4gMjAyNSAxMDo1MDowMCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMy80XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBkYXRhYmFzZXMuCgpEYXRhYmFzZSB2YWN1dW0gc3RhdGlz dGljcyBpbmZvcm1hdGlvbiBpcyB0aGUgY29sbGVjdGVkIGdlbmVyYWwKdmFjdXVtIHN0YXRp c3RpY3MgaW5kZXhlcyBhbmQgdGFibGVzIG93bmVkIGJ5IHRoZSBkYXRhYmFzZXMsIHdoaWNo CnRoZXkgYmVsb25nIHRvLgoKQnkgZGVmYXVsdCwgdmFjdXVtIGRhdGFiYXNlIHN0YXRpc3Rp Y3MgYXJlIGFsd2F5cyBjb2xsZWN0ZWQsIGFuZAp0aGUgdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3MgZ3VjIGVuYWJsZXMgdGhlIGFiaWxpdHkgdG8gY29sbGVjdApleHRlbmRlZCBzdGF0aXN0 aWNzIGZvciBhIGdpdmVuIGRhdGFiYXNlJ3MgcmVsYXRpb25zLiBUaGlzIGlzIGRvbmUKdG8g YWNoaWV2ZSBhIGJhbGFuY2UgYmV0d2VlbiB0aGUgYWxsb2NhdGVkIG1lbW9yeSBmb3Igc3Rv cmluZyBzdGF0aXN0aWNzCmFuZCBoYXZpbmcgdGhlIG5lY2Vzc2FyeSBtb25pdG9yaW5nIGF0 IGhhbmQgdG8gdHJhY2sgdGhlIHN0YXRlIG9mCnZhY3V1bSBvcGVyYXRpb24uCkluIGFkZGl0 aW9uIHRvIHRoZSBmYWN0IHRoYXQgdGhlcmUgYXJlIGZhciBmZXdlciBkYXRhYmFzZXMgaW4g YSBzeXN0ZW0KdGhhbiByZWxhdGlvbnMsIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBhIGRhdGFi YXNlIGNvbnRhaW4gZmV3ZXIgc3RhdGlzdGljcwp0aGFuIHJlbGF0aW9ucywgYnV0IHRoZXkg YXJlIGVub3VnaCB0byBpbmRpY2F0ZSB0aGF0IHNvbWV0aGluZyBtYXkgYmUKd3JvbmcgaW4g dGhlIHN5c3RlbSBhbmQgcHJvbXB0IHRoZSBhZG1pbmlzdHJhdG9yIHRvIGVuYWJsZSBleHRl bmRlZAptb25pdG9yaW5nIGZvciByZWxhdGlvbnMuCgpTbywgYnVmZmVyLCB3YWwsIHN0YXRp c3RpY3Mgb2YgSS9PIHRpbWUgb2YgcmVhZCBhbmQgd3JpdGVuIGJsb2NrcwpzdGF0aXN0aWNz IHdpbGwgYmUgb2JzZXJ2ZWQgYmVjYXVzZSB0aGV5IGFyZSBjb2xsZWN0ZWQgZm9yIGJvdGgK dGFibGVzLCBpbmRleGVzLiBJbiBhZGRpdGlvbiwgd2Ugc2hvdyB0aGUgbnVtYmVyIG9mIGVy cm9ycyBjYXVnaHQKZHVyaW5nIG9wZXJhdGlvbiBvZiB0aGUgdmFjdXVtIG9ubHkgZm9yIHRo ZSBlcnJvciBsZXZlbC4KCndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgaXMgYSBudW1iZXIg b2YgdGltZXMgd2hlbiB0aGUgdmFjdXVtIHN0YXJ0cwp1cmdlbnQgY2xlYW51cCB0byBwcmV2 ZW50IHdyYXBhcm91bmQgcHJvYmxlbSB3aGljaCBpcyBjcml0aWNhbCBmb3IKdGhlIGRhdGFi YXNlLgoKQXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNraW5hQHlhbmRleC5y dT4sCiAgIEFuZHJlaSBMZXBpa2hvdiA8YS5sZXBpa2hvdkBwb3N0Z3Jlc3Byby5ydT4sCiAg IEFuZHJlaSBadWJrb3YgPGEuenVia292QHBvc3RncmVzcHJvLnJ1PgpSZXZpZXdlZC1ieTog RGlsaXAgS3VtYXIgPGRpbGlwYmFsYXV0QGdtYWlsLmNvbT4sIE1hc2FoaWtvIFNhd2FkYSA8 c2F3YWRhLm1zaGtAZ21haWwuY29tPiwKICAgICAgIElsaWEgRXZkb2tpbW92IDxpbHlhLmV2 ZG9raW1vdkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVyc2FsaXR5QGdt YWlsLmNvbT4sCiAgICAgICBLaXJpbGwgUmVzaGtlIDxyZXNoa2VraXJpbGxAZ21haWwuY29t PiwgQWxleGFuZGVyIEtvcm90a292IDxhZWtvcm90a292QGdtYWlsLmNvbT4sCiAgICAgICBK aW0gTmFzYnkgPGpuYXNieUB1cGdyYWRlLmNvbT4sIFNhbWkgSW1zZWloIDxzYW1pbXNlaWhA Z21haWwuY29tPgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyAg ICAgICAgICB8ICA4NSArKysrKystLS0tLS0tLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbCAgICAgICAgICB8ICAyNyArKysrLQogc3JjL2JhY2tlbmQvY29tbWFu ZHMvdmFjdXVtcGFyYWxsZWwuYyAgICAgICAgIHwgICAyICstCiBzcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jICB8ICAgMSArCiBzcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNTIgKysrKysrKystCiBzcmMv YmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAxMDAgKysrKysr KysrKysrKysrKystCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyAgICAg ICAgICAgfCAgIDIgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAg ICAgICAgICB8ICAxMyArKy0KIHNyYy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNSArLQogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQuc3BlYyAgIHwgICA2ICsrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVz Lm91dCAgICAgICAgICAgfCAgMTcgKysrCiAuLi4vZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0 YXRpc3RpY3Mub3V0ICAgICAgfCAgMTYgKy0tCiAuLi51dCA9PiB2YWN1dW1fdGFibGVzX2Fu ZF9kYl9zdGF0aXN0aWNzLm91dH0gfCAgODcgKysrKysrKysrKysrKy0tCiBzcmMvdGVzdC9y ZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgIDIgKy0KIC4uLi9yZWdy ZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgICB8ICAgNiArLQogLi4ucWwg PT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWx9IHwgIDY2ICsrKysrKysr KysrLQogMTcgZmlsZXMgY2hhbmdlZCwgMzk5IGluc2VydGlvbnMoKyksIDkwIGRlbGV0aW9u cygtKQogcmVuYW1lIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQve3ZhY3V1bV90YWJsZXNf c3RhdGlzdGljcy5vdXQgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXR9 ICg4MyUpCiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9zcWwve3ZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcy5zcWwgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWx9ICg4 MiUpCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IGU3ZDJjY2M2 NjhlLi4xZjQyYzc1YjYzMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenku YwpAQCAtMzA5LDkgKzMwOSw2IEBAIGV4dHZhY19zdGF0c19zdGFydChSZWxhdGlvbiByZWws IExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVycykKIHsKIAlUaW1lc3RhbXBUeglzdGFydHRp bWU7CiAKLQlpZighcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQotCQlyZXR1cm47 Ci0KIAltZW1zZXQoY291bnRlcnMsIDAsIHNpemVvZihMVkV4dFN0YXRDb3VudGVycykpOwog CiAJc3RhcnR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOwpAQCAtMzUwLDkgKzM0Nyw2 IEBAIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAq Y291bnRlcnMsCiAJbG9uZwkJc2VjczsKIAlpbnQJCQl1c2VjczsKIAotCWlmKCFwZ3N0YXRf dHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JCXJldHVybjsKLQogCS8qIENhbGN1bGF0ZSBk aWZmcyBvZiBnbG9iYWwgc3RhdCBwYXJhbWV0ZXJzIG9uIFdBTCBhbmQgYnVmZmVyIHVzYWdl LiAqLwogCW1lbXNldCgmd2FsdXNhZ2UsIDAsIHNpemVvZihXYWxVc2FnZSkpOwogCVdhbFVz YWdlQWNjdW1EaWZmKCZ3YWx1c2FnZSwgJnBnV2FsVXNhZ2UsICZjb3VudGVycy0+d2FsdXNh Z2UpOwpAQCAtNDAwLDkgKzM5NCw2IEBAIHZvaWQKIGV4dHZhY19zdGF0c19zdGFydF9pZHgo UmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0YXRzLAogCQkJCQkgICBM VkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMpCiB7Ci0JaWYoIXBnc3RhdF90cmFja192 YWN1dW1fc3RhdGlzdGljcykKLQkJcmV0dXJuOwotCiAJZXh0dmFjX3N0YXRzX3N0YXJ0KHJl bCwgJmNvdW50ZXJzLT5jb21tb24pOwogCWNvdW50ZXJzLT5wYWdlc19kZWxldGVkID0gY291 bnRlcnMtPnR1cGxlc19yZW1vdmVkID0gMDsKIApAQCAtNDU5LDkgKzQ1MCw2IEBAIGV4dHZh Y19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpz dGF0cywKIHN0YXRpYyB2b2lkCiBhY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3Mo TFZFeHRTdGF0Q291bnRlcnMgKmV4dFZhY0NvdW50ZXJzLCBMVlJlbFN0YXRlICp2YWNyZWwp CiB7Ci0JaWYgKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JCXJldHVybjsK LQogCWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWwsIGV4dFZhY0NvdW50ZXJzLCAmKHZh Y3JlbC0+ZXh0VmFjUmVwb3J0KSk7CiAKIAkvKiBGaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5k ZWQgc3RhdHMgZmllbGRzICovCkBAIC00NzgsNyArNDY2LDcgQEAgYWNjdW11bGF0ZV9oZWFw X3ZhY3V1bV9zdGF0aXN0aWNzKExWRXh0U3RhdENvdW50ZXJzICpleHRWYWNDb3VudGVycywg TFZSZWxTdGF0ZQogCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLm1pc3NlZF9kZWFkX3R1 cGxlcyArPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlczsKIAl2YWNyZWwtPmV4dFZhY1Jl cG9ydC50YWJsZS5taXNzZWRfZGVhZF9wYWdlcyArPSB2YWNyZWwtPm1pc3NlZF9kZWFkX3Bh Z2VzOwogCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCAr PSB2YWNyZWwtPm51bV9pbmRleF9zY2FuczsKLQl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJs ZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWls c2FmZV9jb3VudDsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC53cmFwYXJvdW5kX2ZhaWxzYWZl X2NvdW50ICs9IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKIH0KIAogLyoK QEAgLTc5NSwzMCArNzgzLDE0IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZh Y3V1bVBhcmFtcyAqcGFyYW1zLAogCSAqCiAJICogV2UgYXJlIHJlYWR5IHRvIHNlbmQgdmFj dXVtIHN0YXRpc3RpY3MgaW5mb3JtYXRpb24gZm9yIGhlYXAgcmVsYXRpb25zLgogCSAqLwot CWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKLQl7Ci0JCS8qIE1ha2UgZ2Vu ZXJpYyBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGFuZAotCQkgKiBmaWxsIGhlYXAt c3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzLgotCQkgKi8KLQkJYWNjdW11bGF0ZV9o ZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKCZleHRWYWNDb3VudGVycywgdmFjcmVsKTsKKwlhY2N1 bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2YWNyZWwp OwogCi0JCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKLQkJ CQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkgTWF4KHZhY3JlbC0+bmV3 X2xpdmVfdHVwbGVzLCAwKSwKLQkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVz ICsKLQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKLQkJCQkJCSAmKHZhY3Jl bC0+ZXh0VmFjUmVwb3J0KSk7Ci0KLQl9Ci0JZWxzZQotCXsKLQkJcGdzdGF0X3JlcG9ydF92 YWN1dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLAotCQkJCQkJCSByZWwtPnJkX3JlbC0+cmVs aXNzaGFyZWQsCi0JCQkJCQkJIE1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCi0J CQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwotCQkJCQkJCSB2YWNyZWwt Pm1pc3NlZF9kZWFkX3R1cGxlcywKLQkJCQkJCQkgTlVMTCk7Ci0JfQorCXBnc3RhdF9yZXBv cnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKKwkJCQkJCXJlbC0+cmRfcmVsLT5y ZWxpc3NoYXJlZCwKKwkJCQkJCU1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCisJ CQkJCQl2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsKKwkJCQkJCXZhY3JlbC0+bWlz c2VkX2RlYWRfdHVwbGVzLAorCQkJCQkJJih2YWNyZWwtPmV4dFZhY1JlcG9ydCkpOwogCiAJ cGdzdGF0X3Byb2dyZXNzX2VuZF9jb21tYW5kKCk7CiAKQEAgLTI4MDgsMTQgKzI3ODAsMTEg QEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICppc3RhdCwKIAlpc3RhdCA9IHZhY19idWxrZGVsX29uZV9pbmRleCgmaXZp bmZvLCBpc3RhdCwgdmFjcmVsLT5kZWFkX2l0ZW1zLAogCQkJCQkJCQkgIHZhY3JlbC0+ZGVh ZF9pdGVtc19pbmZvKTsKIAotCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykK LQl7Ci0JCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXgg Ki8KLQkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50 ZXJzLCAmZXh0VmFjUmVwb3J0KTsKLQkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25H ZXRSZWxpZChpbmRyZWwpLAotCQkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQs Ci0JCQkJCQkJCTAsIDAsICZleHRWYWNSZXBvcnQpOwotCX0KKwkvKiBNYWtlIGV4dGVuZGVk IHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCisJZXh0dmFjX3N0YXRzX2VuZF9p ZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwlw Z3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKGluZHJlbCksCisJCQkJCQkJ aW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAorCQkJCQkJCTAsIDAsICZleHRWYWNSZXBv cnQpOwogCiAJLyogUmV2ZXJ0IHRvIHRoZSBwcmV2aW91cyBwaGFzZSBpbmZvcm1hdGlvbiBm b3IgZXJyb3IgdHJhY2ViYWNrICovCiAJcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNy ZWwsICZzYXZlZF9lcnJfaW5mbyk7CkBAIC0yODcyLDE0ICsyODQxLDExIEBAIGxhenlfY2xl YW51cF9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQg KmlzdGF0LAogCiAJaXN0YXQgPSB2YWNfY2xlYW51cF9vbmVfaW5kZXgoJml2aW5mbywgaXN0 YXQpOwogCi0JaWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQotCXsKLQkJLyog TWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLwotCQlleHR2 YWNfc3RhdHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRW YWNSZXBvcnQpOwotCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKGlu ZHJlbCksCi0JCQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJCQkJ MCwgMCwgJmV4dFZhY1JlcG9ydCk7Ci0JfQorCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0 YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWws IGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCXBnc3RhdF9yZXBv cnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQlpbmRyZWwtPnJk X3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJMCwgMCwgJmV4dFZhY1JlcG9ydCk7CiAKIAkv KiBSZXZlcnQgdG8gdGhlIHByZXZpb3VzIHBoYXNlIGluZm9ybWF0aW9uIGZvciBlcnJvciB0 cmFjZWJhY2sgKi8KIAlyZXN0b3JlX3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVk X2Vycl9pbmZvKTsKQEAgLTM0OTMsNiArMzQ1OSw5IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFj ayh2b2lkICphcmcpCiAJc3dpdGNoIChlcnJpbmZvLT5waGFzZSkKIAl7CiAJCWNhc2UgVkFD VVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVBUDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVS Uk9SKQorCQkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQs IFBHU1RBVF9FWFRWQUNfVEFCTEUpOworCiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVy cmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChlcnJp bmZvLT5vZmZudW0pKQpAQCAtMzUwOCw2ICszNDc3LDkgQEAgdmFjdXVtX2Vycm9yX2NhbGxi YWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNF X1ZBQ1VVTV9IRUFQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdz dGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFD X1RBQkxFKTsKKwogCQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykp CiAJCQl7CiAJCQkJaWYgKE9mZnNldE51bWJlcklzVmFsaWQoZXJyaW5mby0+b2ZmbnVtKSkK QEAgLTM1MjMsMTYgKzM0OTUsMjUgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFy ZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9JTkRF WDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRf dmFjdXVtX2Vycm9yKGVycmluZm8tPmluZG9pZCwgUEdTVEFUX0VYVFZBQ19JTkRFWCk7CisK IAkJCWVycmNvbnRleHQoIndoaWxlIHZhY3V1bWluZyBpbmRleCBcIiVzXCIgb2YgcmVsYXRp b24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVs bmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFD VVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVA6CisJCQlpZihnZXRlcnJlbGV2ZWwoKSA9 PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5pbmRv aWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOworCiAJCQllcnJjb250ZXh0KCJ3aGlsZSBjbGVh bmluZyB1cCBpbmRleCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJICAg ZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxu YW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1RSVU5DQVRF OgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92 YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwog CQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQkJZXJyY29u dGV4dCgid2hpbGUgdHJ1bmNhdGluZyByZWxhdGlvbiBcIiVzLiVzXCIgdG8gJXUgYmxvY2tz IiwKIAkJCQkJCSAgIGVycmluZm8tPnJlbG5hbWVzcGFjZSwgZXJyaW5mby0+cmVsbmFtZSwg ZXJyaW5mby0+Ymxrbm8pOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmlu ZGV4IDA5ZTkzYjIxZTgyLi45ZWNlODUxZjJjNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbApAQCAtMTQ2Miw0ICsxNDYyLDI5IEBAIEZST00KICAgcGdfY2xhc3Mg cmVsCiAgIEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3Bh Y2UsCiAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3Rh dHMKLVdIRVJFIHJlbC5yZWxraW5kID0gJ2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKK1dIRVJFIHJlbC5yZWxraW5kID0gJ2knOworCitDUkVBVEUgVklFVyBwZ19zdGF0X3Zh Y3V1bV9kYXRhYmFzZSBBUworU0VMRUNUCisgIGRiLm9pZCBhcyBkYm9pZCwKKyAgZGIuZGF0 bmFtZSBBUyBkYm5hbWUsCisKKyAgc3RhdHMuZGJfYmxrc19yZWFkIEFTIGRiX2Jsa3NfcmVh ZCwKKyAgc3RhdHMuZGJfYmxrc19oaXQgQVMgZGJfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFs X2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Js a3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMud2FsX3JlY29y ZHMgQVMgd2FsX3JlY29yZHMsCisgIHN0YXRzLndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgc3Rh dHMud2FsX2J5dGVzIEFTIHdhbF9ieXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90aW1lIEFT IGJsa19yZWFkX3RpbWUsCisgIHN0YXRzLmJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90 aW1lLAorCisgIHN0YXRzLmRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgc3RhdHMudG90 YWxfdGltZSBBUyB0b3RhbF90aW1lLAorICBzdGF0cy53cmFwYXJvdW5kX2ZhaWxzYWZlIEFT IHdyYXBhcm91bmRfZmFpbHNhZmUsCisgIHN0YXRzLmVycm9ycyBBUyBlcnJvcnMKK0ZST00K KyAgcGdfZGF0YWJhc2UgZGIsCisgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFi YXNlKGRiLm9pZCkgc3RhdHM7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggZDQxNzExYTgwZDUuLjhmMjg4 MzQyYzk4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxl bC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTkw OSw3ICs5MDksNyBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxs ZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWwsCiAJCQkJIFJlbGF0aW9uR2V0 UmVsYXRpb25OYW1lKGluZHJlbCkpOwogCX0KIAotCWlmKGlzdGF0X3JlcyAhPSBOVUxMICYm IHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwlpZihpc3RhdF9yZXMgIT0gTlVM TCkKIAl7CiAJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5k ZXggKi8KIAkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdF9yZXMsICZleHRW YWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdC5jCmluZGV4IGRjODFiYjEyYzg2Li5jMzA1NDNjNTY0MiAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0aWMgaW5saW5l IGJvb2wgcGdzdGF0X2lzX2tpbmRfdmFsaWQoUGdTdGF0X0tpbmQga2luZCk7CiAKIGJvb2wJ CXBnc3RhdF90cmFja19jb3VudHMgPSBmYWxzZTsKIGludAkJCXBnc3RhdF9mZXRjaF9jb25z aXN0ZW5jeSA9IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9DQUNIRTsKLWJvb2wJCXBnc3Rh dF90cmFja192YWN1dW1fc3RhdGlzdGljcyA9IHRydWU7Citib29sCQlwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MgPSBmYWxzZTsKIAogLyogLS0tLS0tLS0tLQogICogc3RhdGUg c2hhcmVkIHdpdGggcGdzdGF0XyouYwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0 eS9wZ3N0YXRfZGF0YWJhc2UuYwppbmRleCAwNWE4Y2NmZGI3NS4uZDVjMWUyYTJjZjUgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jCkBA IC00NDksNiArNDQ5LDcgQEAgcGdzdGF0X2RhdGFiYXNlX2ZsdXNoX2NiKFBnU3RhdF9FbnRy eVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCkKIAlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVu dHJ5X3JlZik7CiAKIAltZW1zZXQocGVuZGluZ2VudCwgMCwgc2l6ZW9mKCpwZW5kaW5nZW50 KSk7CisJbWVtc2V0KCYocGVuZGluZ2VudCktPnZhY3V1bV9leHQsIDAsIHNpemVvZihFeHRW YWNSZXBvcnQpKTsKIAogCXJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCBiMThhZTYxMGI4NC4uMjY3MTI2 OWMwMWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9y ZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxh dGlvbi5jCkBAIC0yMDUsNiArMjA1LDM4IEBAIHBnc3RhdF9kcm9wX3JlbGF0aW9uKFJlbGF0 aW9uIHJlbCkKIAl9CiB9CiAKKy8qIC0tLS0tLS0tLQorICogcGdzdGF0X3JlcG9ydF92YWN1 dW1fZXJyb3IoKSAtCisgKgorICoJVGVsbCB0aGUgY29sbGVjdG9yIGFib3V0IGFuIChhdXRv KXZhY3V1bSBpbnRlcnJ1cHRpb24uCisgKiAtLS0tLS0tLS0KKyAqLwordm9pZAorcGdzdGF0 X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1f dHlwZSkKK3sKKwlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKKwlQZ1N0YXRTaGFyZWRf UmVsYXRpb24gKnNodGFiZW50cnk7CisJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7 CisJT2lkCQkJZGJvaWQgPSAgTXlEYXRhYmFzZUlkOworCVBnU3RhdF9TdGF0REJFbnRyeSAq ZGJlbnRyeTsJLyogcGVuZGluZyBkYXRhYmFzZSBlbnRyeSAqLworCisJaWYgKCFwZ3N0YXRf dHJhY2tfY291bnRzKQorCQlyZXR1cm47CisKKwllbnRyeV9yZWYgPSBwZ3N0YXRfZ2V0X2Vu dHJ5X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfUkVMQVRJT04sCisJCQkJCQkJCQkJCWRib2lk LCB0YWJsZW9pZCwgZmFsc2UpOworCisJc2h0YWJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfUmVs YXRpb24gKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisJdGFiZW50cnkgPSAmc2h0YWJl bnRyeS0+c3RhdHM7CisKKwl0YWJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID0gbV90eXBlOwor CXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKKworCWRiZW50cnkgPSBwZ3N0YXRf cHJlcF9kYXRhYmFzZV9wZW5kaW5nKGRib2lkKTsKKwlkYmVudHJ5LT52YWN1dW1fZXh0LmVy cm9ycysrOworCWRiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKK30KKwogLyoK ICAqIFJlcG9ydCB0aGF0IHRoZSB0YWJsZSB3YXMganVzdCB2YWN1dW1lZCBhbmQgZmx1c2gg SU8gc3RhdGlzdGljcy4KICAqLwpAQCAtMjE2LDYgKzI0OCw3IEBAIHBnc3RhdF9yZXBvcnRf dmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJUGdTdGF0X0VudHJ5UmVmICpl bnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5OwogCVBnU3Rh dF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OworCVBnU3RhdFNoYXJlZF9EYXRhYmFzZSAqZGJl bnRyeTsKIAlPaWQJCQlkYm9pZCA9IChzaGFyZWQgPyBJbnZhbGlkT2lkIDogTXlEYXRhYmFz ZUlkKTsKIAlUaW1lc3RhbXBUeiB0czsKIApAQCAtMjM1LDcgKzI2OCw4IEBAIHBnc3RhdF9y ZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJdGFiZW50cnktPmxp dmVfdHVwbGVzID0gbGl2ZXR1cGxlczsKIAl0YWJlbnRyeS0+ZGVhZF90dXBsZXMgPSBkZWFk dHVwbGVzOwogCi0JcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKCZ0YWJlbnRyeS0+ dmFjdXVtX2V4dCwgcGFyYW1zLCB0cnVlKTsKKwlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3MpCisJCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmdGFiZW50cnkt PnZhY3V1bV9leHQsIHBhcmFtcywgdHJ1ZSk7CiAKIAkvKgogCSAqIEl0IGlzIHF1aXRlIHBv c3NpYmxlIHRoYXQgYSBub24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQgdXAgc2tpcHBpbmcK QEAgLTI3MCw2ICszMDQsMTYgQEAgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lk LCBib29sIHNoYXJlZCwKIAkgKi8KIAlwZ3N0YXRfZmx1c2hfaW8oZmFsc2UpOwogCXBnc3Rh dF9mbHVzaF9iYWNrZW5kKGZhbHNlLCBQR1NUQVRfQkFDS0VORF9GTFVTSF9JTyk7CisKKwlp ZiAoZGJvaWQgIT0gSW52YWxpZE9pZCkKKwl7CisJCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRf ZW50cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9EQVRBQkFTRSwKKwkJCQkJCQkJCQkJZGJv aWQsIEludmFsaWRPaWQsIGZhbHNlKTsKKwkJZGJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfRGF0 YWJhc2UgKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisKKwkJcGdzdGF0X2FjY3VtdWxh dGVfZXh0dmFjX3N0YXRzKCZkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LCBwYXJhbXMsIGZh bHNlKTsKKwkJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOworCX0KIH0KIAogLyoK QEAgLTk5NSw5ICsxMDM5LDYgQEAgc3RhdGljIHZvaWQKIHBnc3RhdF9hY2N1bXVsYXRlX2V4 dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCiAJCQkJ CQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKIHsKLQlpZigh cGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQotCQlyZXR1cm47Ci0KIAlkc3QtPnRv dGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsKIAlkc3QtPnRvdGFsX2Js a3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CiAJZHN0LT50b3RhbF9ibGtzX2RpcnRp ZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CkBAIC0xMDA5LDYgKzEwNTAsOCBAQCBw Z3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZh Y1JlcG9ydCAqc3JjLAogCWRzdC0+YmxrX3dyaXRlX3RpbWUgKz0gc3JjLT5ibGtfd3JpdGVf dGltZTsKIAlkc3QtPmRlbGF5X3RpbWUgKz0gc3JjLT5kZWxheV90aW1lOwogCWRzdC0+dG90 YWxfdGltZSArPSBzcmMtPnRvdGFsX3RpbWU7CisJZHN0LT53cmFwYXJvdW5kX2ZhaWxzYWZl X2NvdW50ICs9IHNyYy0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKKwlkc3QtPmVycm9y cyArPSBzcmMtPmVycm9yczsKIAogCWlmICghYWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmlj X2luZm8pCiAJCXJldHVybjsKQEAgLTEwMzYsNyArMTA3OSw2IEBAIHBnc3RhdF9hY2N1bXVs YXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMs CiAJCQlkc3QtPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPnRhYmxlLmluZGV4 X3ZhY3V1bV9jb3VudDsKIAkJCWRzdC0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXMgKz0gc3Jj LT50YWJsZS5taXNzZWRfZGVhZF9wYWdlczsKIAkJCWRzdC0+dGFibGUubWlzc2VkX2RlYWRf dHVwbGVzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzOwotCQkJZHN0LT50YWJs ZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNyYy0+dGFibGUud3JhcGFyb3VuZF9m YWlsc2FmZV9jb3VudDsKIAkJfQogCQllbHNlIGlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VY VFZBQ19JTkRFWCkKIAkJewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bn c3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRl eCAzMTA1YTlkZTM5MC4uZGUyNzk3NjdkYjIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0 YXRmdW5jcy5jCkBAIC0yMjk3LDcgKzIyOTcsNyBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMpOwogCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyk7CiAK LQl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS53cmFwYXJv dW5kX2ZhaWxzYWZlX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZXh0 dmFjdXVtLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKIAl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5pbmRleF92YWN1dW1fY291bnQpOwogCiAJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX3JlY29yZHMpOwpA QCAtMjQyNyw2ICsyNDI3LDEwNCBAQCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhQR19G VU5DVElPTl9BUkdTKQogCiAJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVY X1NUQVRTX0NPTFMpOwogCisJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCisJ UEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBk ZXNjLCB2YWx1ZXMsIG51bGxzKSkpOworfQorCitEYXR1bQorcGdfc3RhdF9nZXRfdmFjdXVt X2RhdGFiYXNlKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJI2RlZmluZSBQR19TVEFUX0dFVF9W QUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUwkxNAorCisJT2lkCQkJCQkJIGRiaWQgPSBQR19H RVRBUkdfT0lEKDApOworCVBnU3RhdF9TdGF0REJFbnRyeSAJCSpkYmVudHJ5OworCUV4dFZh Y1JlcG9ydCAJCQkqZXh0dmFjdXVtOworCVR1cGxlRGVzYwkJCQkgdHVwZGVzYzsKKwlEYXR1 bQkJCQkJIHZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MU10g PSB7MH07CisJYm9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9T VEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQkJCQkgYnVmWzI1Nl07CisJaW50CQkJCQkJIGkg PSAwOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOworCisJLyogSW5pdGlhbGlzZSBhdHRyaWJ1 dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBkZXNjcmlwdG9yICovCisJdHVwZGVzYyA9 IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9T VEFUU19DT0xTKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAiZGJpZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsXyBibGtzX3JlYWQi LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInRvdGFsX2Jsa3NfZGlydGllZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFs X2Jsa3Nfd3JpdHRlbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9yZWNvcmRzIiwKKwkJ CQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAid2FsX2ZwaSIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9i eXRlcyIsCisJCQkJCSAgIE5VTUVSSUNPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3JlYWRfdGltZSIsCisJCQkJ CSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQs IC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAiZGVsYXlfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfdGltZSIs CisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAid3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCIsCisJ CQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgImVycm9ycyIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsK KworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xT KTsKKworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCisJZGJlbnRyeSA9IHBnc3RhdF9m ZXRjaF9zdGF0X2RiZW50cnkoZGJpZCk7CisKKwlpZiAoZGJlbnRyeSA9PSBOVUxMKQorCXsK KwkJLyogSWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBub3QgZm91bmQsIGluaXRpYWxpc2UgaXRz IHN0YXRzICovCisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkp OworCQlleHR2YWN1dW0gPSAmYWxsemVybzsKKwl9CisJZWxzZQorCXsKKwkJZXh0dmFjdXVt ID0gJihkYmVudHJ5LT52YWN1dW1fZXh0KTsKKwl9CisKKwlpID0gMDsKKworCXZhbHVlc1tp KytdID0gT2JqZWN0SWRHZXREYXR1bShkYmlkKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc193cml0dGVu KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9yZWNv cmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfZnBp KTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlrZSBwZ19zdGF0X3N0YXRlbWVudHMg Ki8KKwlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1 bS0+d2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1bmN0aW9uQ2FsbDMobnVt ZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1ZiksCisJCQkJCQkJCQkg IE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkgIEludDMyR2V0RGF0dW0oLTEpKTsK KworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtfcmVhZF90 aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3dy aXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5k ZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ dG90YWxfdGltZSk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+ d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERh dHVtKGV4dHZhY3V1bS0+ZXJyb3JzKTsKKworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZB Q1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTKTsKKwogCS8qIFJldHVybnMgdGhlIHJlY29yZCBh cyBEYXR1bSAqLwogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zv cm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKIH0KXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190 YWJsZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCmluZGV4IDJh OTZjZjUxYTM2Li5lZDk3MzcwMzc2MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMv bWlzYy9ndWNfdGFibGVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFi bGVzLmMKQEAgLTE0ODQsNyArMTQ4NCw3IEBAIHN0cnVjdCBjb25maWdfYm9vbCBDb25maWd1 cmVOYW1lc0Jvb2xbXSA9CiAJCQlOVUxMCiAJCX0sCiAJCSZwZ3N0YXRfdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MsCi0JCXRydWUsCisJCWZhbHNlLAogCQlOVUxMLCBOVUxMLCBOVUxMCiAJ fSwKIAl7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCBkN2YwNmE2OTQ4Ny4uNzI2 MWY3YmJlYWEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQK KysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI0NDgsMTIgKzEy NDQ4LDIxIEBACiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcs IHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9h bGxfZnJvemVuX3BhZ2VzJyB9LAogeyBvaWQgPT4gJzgwMDQnLAotICBkZXNjciA9PiAncGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0dXJuIHN0YXRzIHZhbHVlcycsCisgIGRlc2Ny ID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyByZXR1cm5zIHZhY3V1bSBzdGF0cyB2 YWx1ZXMgZm9yIGluZGV4JywKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2lu ZGV4ZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlw ZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3JldHNldCA9PiAndCcs CiAgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxv aWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxu dW1lcmljLGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OH0nLAogICBwcm9hcmdtb2RlcyA9 PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAogICBwcm9hcmduYW1l cyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxfYmxrc19oaXQsdG90 YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLHJlbF9i bGtzX2hpdCxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLHdhbF9yZWNvcmRzLHdhbF9m cGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0 b3RhbF90aW1lfScsCi0gIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMn IH0KKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycgfSwKK3sgb2lk ID0+ICc4MDA1JywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZSBy ZXR1cm5zIHZhY3V1bSBzdGF0cyB2YWx1ZXMgZm9yIGRhdGFiYXNlJywKKyAgcHJvbmFtZSA9 PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlJywgcHJvcm93cyA9PiAxMDAwLCBwcm92 b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4g J2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAg cHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGludDQsaW50NH0nLAor ICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisg IHByb2FyZ25hbWVzID0+ICd7ZGJpZCxkYm9pZCxkYl9ibGtzX3JlYWQsZGJfYmxrc19oaXQs dG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbix3YWxfcmVjb3Jkcyx3YWxf ZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90aW1lLGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUs dG90YWxfdGltZSx3cmFwYXJvdW5kX2ZhaWxzYWZlLGVycm9yc30nLAorICBwcm9zcmMgPT4g J3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZScgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggNTcyZTM0ZTBi YjAuLjg1N2E1YzhmODYxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysg Yi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMjEwLDYgKzIxMCw5IEBAIHR5cGVkZWYgc3Ry dWN0IEV4dFZhY1JlcG9ydAogCiAJaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVz IGRlbGV0ZWQgYnkgdmFjdXVtICovCiAKKwlpbnQzMgkJZXJyb3JzOworCWludDMyCQl3cmFw YXJvdW5kX2ZhaWxzYWZlX2NvdW50OwkvKiB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHByZXZl bnQgd3JhcGFyb3VuZCBwcm9ibGVtICovCisKIAlFeHRWYWNSZXBvcnRUeXBlIHR5cGU7CQkv KiBoZWFwLCBpbmRleCwgZXRjLiAqLwogCiAJLyogLS0tLS0tLS0tLQpAQCAtMjM5LDcgKzI0 Miw2IEBAIHR5cGVkZWYgc3RydWN0IEV4dFZhY1JlcG9ydAogCQkJaW50NjQJCW1pc3NlZF9k ZWFkX3R1cGxlczsJCS8qIHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFp bHVyZSB0byBnZXQgYSBjbGVhbnVwIGxvY2sgKi8KIAkJCWludDY0CQltaXNzZWRfZGVhZF9w YWdlczsJCS8qIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVwbGVzICovCiAJCQlpbnQ2NAkJ aW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLwot CQkJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CS8qIHRoZSBudW1iZXIgb2Yg dGltZXMgdG8gcHJldmVudCB3b3JrYXJvdW5kIHByb2JsZW0gKi8KIAkJfQkJCXRhYmxlOwog CQlzdHJ1Y3QKIAkJewpAQCAtNzc5LDYgKzc4MSw3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9y ZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9pZCBw Z3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9D b3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJ CSAgYm9vbCByZXNldGNvdW50ZXIpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1 dW1fZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlwZSk7CiAKIC8q CiAgKiBJZiBzdGF0cyBhcmUgZW5hYmxlZCwgYnV0IHBlbmRpbmcgZGF0YSBoYXNuJ3QgYmVl biBwcmVwYXJlZCB5ZXQsIGNhbGwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9z cGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMgYi9zcmMvdGVz dC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5z cGVjCmluZGV4IDU4OTNkODk1NzNkLi5jZmVjMzE1OTU4MCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQu c3BlYworKysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5zcGVjCkBAIC0xOCw2ICsxOCw5IEBAIHRlYXJkb3duCiB9CiAK IHNlc3Npb24gczEKK3NldHVwCQl7CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IFRPICdvbic7CisgICAgfQogc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQgICB7CiAg IEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CiAg IHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdo ZXJlIGlkPjkwMDsKQEAgLTI1LDYgKzI4LDkgQEAgc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxl X3JlYWQgICB7CiBzdGVwIHMxX2NvbW1pdCAgICAgICAgICAgICAgICAgIHsgQ09NTUlUOyB9 CiAKIHNlc3Npb24gczIKK3NldHVwCQl7CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzIFRPICdvbic7CisgICAgfQogc3RlcCBzMl9pbnNlcnQgICAgICAgICAgICAgICAgICB7 IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxF Q1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDEwMDApIEFzIGl2YWw7 IH0KIHN0ZXAgczJfdXBkYXRlICAgICAgICAgICAgICAgICAgeyBVUERBVEUgdGVzdF92YWN1 dW1fc3RhdF9pc29sYXRpb24gU0VUIGl2YWwgPSBpdmFsICsgMiB3aGVyZSBpZCA+IDkwMDsg fQogc3RlcCBzMl9kZWxldGUgICAgICAgICAgICAgICAgICB7IERFTEVURSBGUk9NIHRlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkID4gOTAwOyB9CmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDI0N2UyMmE4MmE1Li4yODVkZmQzODQwZSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyNDUsNiArMjI0NSwyMyBA QCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgcmV2X2FsbF92aXNp YmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVt YW5hbWUgPD4gQUxMIChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9z Y2hlbWEnOjpuYW1lXSkpIEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkp OworcGdfc3RhdF92YWN1dW1fZGF0YWJhc2V8IFNFTEVDVCBkYi5vaWQgQVMgZGJvaWQsCisg ICAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisgICAgc3RhdHMuZGJfYmxrc19yZWFkLAorICAg IHN0YXRzLmRiX2Jsa3NfaGl0LAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAg ICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgc3RhdHMud2FsX3JlY29yZHMsCisg ICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMsCisgICAgc3RhdHMuYmxr X3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKyAgICBzdGF0cy5kZWxh eV90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUsCisgICAgc3RhdHMud3JhcGFyb3VuZF9m YWlsc2FmZSwKKyAgICBzdGF0cy5lcnJvcnMKKyAgIEZST00gcGdfZGF0YWJhc2UgZGIsCisg ICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhk Ym9pZCwgZGJfYmxrc19yZWFkLCBkYl9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0 b3RhbF9ibGtzX3dyaXR0ZW4sIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJs a19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lLCB3 cmFwYXJvdW5kX2ZhaWxzYWZlLCBlcnJvcnMpOwogcGdfc3RhdF92YWN1dW1faW5kZXhlc3wg U0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCiAgICAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1l LAogICAgIHJlbC5yZWxuYW1lLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dAppbmRleCBlMDBhMGZjNjgzYy4u OWU1ZDMzMzQyYzkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFj dXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0xNiw4ICsxNiwxMiBAQCBTSE9X IHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2FtcGxlX3NpemUgMTAwMDAK IC0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4K IFNFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7Ci0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0 YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCi1TRVQgdHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzOyAgLS0gbXVzdCBiZSBvZmYKKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBvZmYKKygxIHJvdykKKwogQ1JFQVRFIFRBQkxF IHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZh Y3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFOQUxZWkUgdmVzdGF0OwpAQCAtMzMs MTIgKzM3LDcgQEAgV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogCiBSRVNFVCB0cmFj a192YWN1dW1fc3RhdGlzdGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7Ci1TSE9X IHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgotIHRyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG9uCi0oMSByb3cp Ci0KK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb24nOwogLS0gZW5zdXJlIHBl bmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1 c2goKTsKICBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCkBAIC0xODEsMyArMTgwLDQgQEAg V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CiAoMSByb3cpCiAKIERST1AgVEFCTEUgdmVzdGF0OworUkVTRVQgdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3M7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1 bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Zh Y3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CnNpbWlsYXJpdHkgaW5kZXggODMl CnJlbmFtZSBmcm9tIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19z dGF0aXN0aWNzLm91dApyZW5hbWUgdG8gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dAppbmRleCAxMTljN2FiZWE1Zi4uZDdm MGJiMzIyNTIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CkBAIC02LDcgKzYsNiBAQAog LS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tl bmQuCiAtLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVz dCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KIC0tCi0tLSBjb25kaXRpbyBz aW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogIHRyYWNr X2NvdW50cyAKIC0tLS0tLS0tLS0tLS0tCkBAIC0xNiw4ICsxNSwxMiBAQCBTSE9XIHRyYWNr X2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2FtcGxlX3NpemUgMTAwMDAKIC0tIG5v dCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KIFNFVCB0 cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7Ci0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3Rp Y3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCi1TRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz OyAgLS0gbXVzdCBiZSBvZmYKKyB0cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyBvZmYKKygxIHJvdykKKwogQ1JFQVRFIFRBQkxFIHZlc3Rh dCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9 IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFOQUxZWkUgdmVzdGF0OwpAQCAtMzcsMTIgKzQw LDEyIEBAIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKIAogUkVTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3M7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwotU0hPVyB0cmFj a192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KLSB0cmFja192YWN1dW1fc3Rh dGlzdGljcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBvbgotKDEgcm93KQotCitD UkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRF IERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNz aW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3Mg VE8gb247CistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0 IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwogLS0gZW5zdXJlIHBlbmRp bmcgc3RhdHMgYXJlIGZsdXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKICBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCkBAIC0yNTksMyArMjYyLDY5IEBAIEZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdf c3RhdF92YWN1dW1fdGFibGVzLnJlbG5hCiBSRVNFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2U7 CiBSRVNFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZTsKIERST1AgVEFCTEUgdmVzdGF0IENB U0NBREU7CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1cnJlbnQgZGF0 YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Js a3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19k aXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193 cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAg ICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2Fs X2J5dGVzLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3Bn X3N0YXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2RhdGFiYXNl KCk7CisgICAgICAgICAgICAgZGJuYW1lICAgICAgICAgICAgIHwgZGJfYmxrc19oaXQgfCB0 b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCB3YWxfcmVjb3JkcyB8 IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIgfCB0ICAgICAg ICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQKKygxIHJvdykKKworLS0gZW5zdXJl IHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRf Zmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIAorKDEgcm93KQorCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkg V0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5T RVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBs ZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4ID0g MTAwMDE7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZl c3RhdDsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MgVE8gb247CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3Rp Y3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRhYmFzZQorU0VMRUNU IGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAg ICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAg ICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAg ICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAw IEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAg ICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1f ZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGInOworICAgICAgICAgICAgIGRibmFtZSAgICAgICAgICAgICB8IGRiX2Jsa3NfaGl0IHwg dG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwgd2FsX3JlY29yZHMg fCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgdG90YWxfdGltZSAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiIHwgdCAgICAg ICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAg ICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCB0CisoMSByb3cpCisKK1xjIHJlZ3Jl c3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IFRPIG9uOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKK1xjIHJlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gb247 CitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJhc2UgZAorQ1JPU1MgSk9JTiBwZ19z dGF0X2dldF92YWN1dW1fdGFibGVzKDApCitXSEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAK KyBjb3VudCAKKy0tLS0tLS0KKyAgICAgMAorKDEgcm93KQorCitcYyBwb3N0Z3JlcworRFJP UCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRB QkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitSRVNFVCB0cmFja192YWN1 dW1fc3RhdGlzdGljczsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxf c2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4IDk3 N2E4N2E1YjFmLi4xOWM3NmI5NjgzMCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9w YXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVk dWxlCkBAIC0xNDEsNCArMTQxLDQgQEAgdGVzdDogdGFibGVzcGFjZQogIyBDaGVjayB2YWN1 dW0gc3RhdGlzdGljcwogIyAtLS0tLS0tLS0tCiB0ZXN0OiB2YWN1dW1faW5kZXhfc3RhdGlz dGljcwotdGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQordGVzdDogdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcwpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbAppbmRleCBhZTE0NmUxZDIzZi4uOWI3ZTY0 NTE4N2QgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9z dGF0aXN0aWNzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhf c3RhdGlzdGljcy5zcWwKQEAgLTE0LDggKzE0LDcgQEAgU0hPVyB0cmFja19jb3VudHM7ICAt LSBtdXN0IGJlIG9uCiAtLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0 byB0ZXN0IGl0Li4uCiBTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwogCi0tLSBUZXN0 IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBp cyBvZmYuCi1TRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitTSE9XIHRy YWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvZmYKIAogQ1JFQVRFIFRBQkxF IHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZh Y3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKQEAgLTMzLDcgKzMyLDcgQEAgV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7 CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwogCi1TSE9XIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRP ICdvbic7CiAKIC0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCiBTRUxFQ1Qg cGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CkBAIC0xNDksMyArMTQ4LDQgQEAgRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCiBXSEVSRSB2dC5yZWxuYW1l ID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAogRFJPUCBUQUJMRSB2 ZXN0YXQ7CitSRVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbApz aW1pbGFyaXR5IGluZGV4IDgyJQpyZW5hbWUgZnJvbSBzcmMvdGVzdC9yZWdyZXNzL3NxbC92 YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCnJlbmFtZSB0byBzcmMvdGVzdC9yZWdyZXNz L3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbAppbmRleCBkZmQ3YWY3 MDAyNy4uMDZkMmQ2ODMyNTEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Zh Y3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwKQEAgLTcsMTUgKzcsMTMgQEAK IC0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJl Y2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KIAotLS0gY29uZGl0aW8gc2lu ZSBxdWEgbm9uCiBTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIFxzZXQgc2Ft cGxlX3NpemUgMTAwMDAKIAogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdh bnQgdG8gdGVzdCBpdC4uLgogU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKIAotLS0g VGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0 ZXIgaXMgb2ZmLgotU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOworU0hP VyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb2ZmCiAKIENSRUFURSBU QUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZp bGxmYWN0b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CkBAIC0zNiw3ICszNCwxMyBAQCBX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiBSRVNFVCB0cmFja192YWN1dW1fc3RhdGlz dGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CiAKLVNIT1cgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lv bl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7 CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gb247CisKKy0tIG5vdCBlbmFibGVk IGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5j dGlvbnMgVE8gJ2FsbCc7CiAKIC0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVk CiBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CkBAIC0xOTAsMyArMTk0LDU3 IEBAIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hF UkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hCiBSRVNFVCB2YWN1dW1fZnJlZXplX21p bl9hZ2U7CiBSRVNFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZTsKIERST1AgVEFCTEUgdmVz dGF0IENBU0NBREU7CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1cnJl bnQgZGF0YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFT IGRiX2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxf Ymxrc19kaXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxf Ymxrc193cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywK KyAgICAgICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAg QVMgd2FsX2J5dGVzLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZS T00KK3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2Rh dGFiYXNlKCk7CisKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxF Q1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisKK0NSRUFURSBUQUJMRSB2ZXN0YXQg KHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAx MCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMo MSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1VQREFURSB2ZXN0YXQg U0VUIHggPSAxMDAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlU IDEyOCkgdmVzdGF0OworCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOwor U0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPIG9uOworCistLSBOb3cgY2hlY2sgdmFj dXVtIHN0YXRpc3RpY3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRh YmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxr c19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2Rp cnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dy aXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAg IHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxf Ynl0ZXMsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdf c3RhdF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRp c3RpY192YWN1dW1fZGInOworCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIK K1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKKworRFJPUCBUQUJMRSB2ZXN0 YXQgQ0FTQ0FERTsKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NF VCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKK1NFTEVDVCBjb3VudCgqKQorRlJP TSBwZ19kYXRhYmFzZSBkCitDUk9TUyBKT0lOIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMo MCkKK1dIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUgMAorCitcYyBwb3N0Z3JlcworRFJPUCBE QVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRBQkFT RSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitSRVNFVCB0cmFja192YWN1dW1f c3RhdGlzdGljczsKLS0gCjIuMzQuMQoK --------------1N7uCv2Ri6D0kHZe2mz9ca8z Content-Type: text/x-patch; charset=UTF-8; name="v16-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v16-0004-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBhNjk4NjliNDUwYmI0YmYzMDIzYTU4ZTljNDllNGMxYjg1MjY5M2RjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAxOSBEZWMgMjAyNCAxMjo1Nzo0OSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNC80XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc1NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NTUgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCBhNTg2MTU2NjE0ZC4uZDU5 ZjE5NDRjZWYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTUwNjYsNCArNTA2Niw3 NTkgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRf eGFjdHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRf dmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6 b25lPSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgIDxwcmltYXJ5PnBnX3N0 YXRfdmFjdXVtX2RhdGFiYXNlPC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFy YT4KKyAgIFRoZSB2aWV3IDxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9z dHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggZGF0YWJhc2Ug aW4gdGhlIGN1cnJlbnQgY2x1c3Rlciwgc2hvd2luZyBzdGF0aXN0aWNzIGFib3V0CisgICB2 YWN1dW1pbmcgdGhhdCBkYXRhYmFzZS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT4g Q29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4K KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRi aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5p bnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJl ciBvZiBkYXRhYmFzZSBibG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAg ICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRp bWVzIGRhdGFiYXNlIGJsb2NrcyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIg Y2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRp cnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdy aXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29y ZHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0 YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBk YXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVk IGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFi YXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8 L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCByZWFkaW5nIGRhdGFiYXNlIGJsb2NrcyBi eSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFz ZSwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5kPSJndWMtdHJhY2staW8tdGlt aW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lzZSB6ZXJvKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfd3JpdGVfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBz bGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBw ZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzIChz ZWUgPHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3Qi Lz4KKyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBv ZiB2YWN1dW1pbmcgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBV c2VyIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29u ZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDQ8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVz IHRoZSB2YWN1dW0gd2FzIHJ1biB0byBwcmV2ZW50IGEgd3JhcGFyb3VuZCBwcm9ibGVtLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5lcnJvcnM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgICB3ZXJlIGludGVycnVwdGVkIG9uIGFueSBlcnJvcnMKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90 Z3JvdXA+CisgIDwvdGFibGU+CisgPC9zZWN0MT4KKworICA8c2VjdDEgaWQ9InZpZXctcGct c3RhdC12YWN1dW0taW5kZXhlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3Zh Y3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6b25l PSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWluZGV4ZXMiPgorICAgPHByaW1hcnk+cGdfc3RhdF92 YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+Cisg ICBUaGUgdmlldyA8c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3Ru YW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1 cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FTVAorICAgdGFibGUgaW5kZXhlcyksIHNo b3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1dW1pbmcgdGhhdCBzcGVjaWZpYyBpbmRleC4K KyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3Jv dXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5v aWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2Yg YW4gaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hlbWEgdGhpcyBpbmRleCBpcyBpbgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIGRhdGFiYXNlIGJsb2Nr cyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJh dGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlv bnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICBp bmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyBpbmRleCB3 ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAg ICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBi dWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNh Y2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19kZWxldGVk PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgZGVsZXRlZCBieSB2YWN1dW0gb3Bl cmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0 aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9yZWNv cmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJh dGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGlu ZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9mcGk8L3N0cnVj dGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5k ZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGJ5dGVzIGdlbmVyYXRlZCBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBv cGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50 IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1l ZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxp bmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3Ro ZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRlbGF5 X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBzbGVlcGluZyBpbiBhIHZhY3V1 bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAg ICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzIChzZWUgPHhyZWYgbGlua2VuZD0icnVu dGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3QiLz4KKyAgICAgICAgZm9yIGRldGFp bHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRl eCwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk PnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBVc2VyIENQVSB0aW1lIG9mIHZhY3V1bWlu ZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9m IHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDwvdGJvZHk+CisgICA8L3Rncm91cD4KKyAg PC90YWJsZT4KKyA8L3NlY3QxPgorCisgPHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXQtdmFjdXVt LXRhYmxlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8 L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctc3Rh dC12YWN1dW0tdGFibGVzIj4KKyAgIDxwcmltYXJ5PnBnX3N0YXRfdmFjdXVtX3RhYmxlczwv cHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3Ry dWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3N0cnVjdG5hbWU+IHdpbGwgY29udGFp bgorICAgb25lIHJvdyBmb3IgZWFjaCB0YWJsZSBpbiB0aGUgY3VycmVudCBkYXRhYmFzZSAo aW5jbHVkaW5nIFRPQVNUCisgICB0YWJsZXMpLCBzaG93aW5nIHN0YXRpc3RpY3MgYWJvdXQg dmFjdXVtaW5nIHRoYXQgc3BlY2lmaWMgdGFibGUuCisgIDwvcGFyYT4KKworICA8dGFibGU+ CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fdGFibGVzPC9zdHJ1Y3Ru YW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFk PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRi b2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSB0YWJsZQorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD5zY2hlbWE8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE5hbWUgb2YgdGhl IHNjaGVtYSB0aGlzIHRhYmxlIGlzIGluCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnJlbG5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGlzIHRhYmxlCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0 ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVy YXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAg ICAgIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3Jt ZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50 b3RhbF9ibGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBibG9ja3Mgd3Jp dHRlbiBkaXJlY3RseSBieSB2YWN1dW0gb3IgYXV0byB2YWN1dW0uCisgICAgICAgIEJsb2Nr cyB0aGF0IGFyZSBkaXJ0aWVkIGJ5IGEgdmFjdXVtIHByb2Nlc3MgY2FuIGJlIHdyaXR0ZW4g b3V0IGJ5IGFub3RoZXIgcHJvY2Vzcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0 YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVy Zm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGJsb2NrcyB2YWN1 dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICB0YWJsZQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3ZXJlIGFscmVhZHkgZm91 bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywg c28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAgICAgKHRoaXMgb25seSBp bmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBidWZmZXIgY2FjaGUsIG5v dCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNhY2hlKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19zY2FubmVkPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgZXhhbWluZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHBhZ2Vz IHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljYWwgc3RvcmFnZSBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfZnJvemVuX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGhlIG51bWJlciBvZiBwYWdlcyBuZXdseSBzZXQgYWxsLWZyb3plbiBieSB2 YWN1dW0KKyAgICAgICAgaW4gdGhlIHZpc2liaWxpdHkgbWFwLgorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfdmlzaWJsZV9wYWdlczwvc3RydWN0ZmllbGQ+ IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0IGFsbC12aXNpYmxl IGJ5IHZhY3V1bQorICAgICAgICBpbiB0aGUgdmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczwv c3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8 cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0 IGFsbC12aXNpYmxlIGFuZCBhbGwtZnJvemVuCisgICAgICAgIGJ5IHZhY3V1bSBpbiB0aGUg dmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1 cGxlc19kZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGVhZCB0dXBsZXMgdmFj dXVtIG9wZXJhdGlvbnMgZGVsZXRlZCBmcm9tIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dHVwbGVzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVt YmVyIG9mIHR1cGxlcyBvZiB0aGlzIHRhYmxlIHRoYXQgdmFjdXVtIG9wZXJhdGlvbnMgbWFy a2VkIGFzCisgICAgICAgIGZyb3plbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5yZWNlbnRseV9kZWFkX3R1cGxlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRl YWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGxlZnQgaW4gdGhpcyB0YWJsZSBkdWUKKyAg ICAgICAgdG8gdGhlaXIgdmlzaWJpbGl0eSBpbiB0cmFuc2FjdGlvbnMKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5taXNzZWRfZGVhZF90dXBsZXM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiBmdWxseSBERUFEIChub3QganVzdCBSRUNFTlRMWV9ERUFEKSB0dXBs ZXMgIHRoYXQgY291bGQgbm90IGJlCisgICAgICAgIHBydW5lZCBkdWUgdG8gZmFpbHVyZSB0 byBhY3F1aXJlIGEgY2xlYW51cCBsb2NrIG9uIGEgaGVhcCBwYWdlLgorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleF92YWN1dW1fY291bnQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyBpbmRleGVzIG9uIHRoaXMgdGFibGUgd2VyZSB2YWN1dW1l ZAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIHZhY3V1bSB3 YXMgcnVuIHRvIHByZXZlbnQgYSB3cmFwYXJvdW5kIHByb2JsZW0uCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPm1pc3NlZF9kZWFkX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgdGhhdCBoYWQgYXQgbGVhc3Qgb25lIG1pc3NlZF9kZWFkX3R1 cGxlcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0ZWQg YnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3RydWN0Zmll bGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBi eSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1 bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIFRpbWUgc3BlbnQgcmVhZGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25k cyAoaWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVk LAorICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+YmxrX3dyaXRlX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3BlbnQgd3Jp dGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9u CisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhyZWYgbGlua2Vu ZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAgICBvdGhlcndp c2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGlt ZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRl bGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0 aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1l LWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBmb3IgZGV0YWlscykK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVj dGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNl cl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRo aXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1 Y3RmaWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFj dXVtaW5nIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3Rh YmxlPgorICA8cGFyYT5Db2x1bW5zIDxzdHJ1Y3RmaWVsZD50b3RhbF8qPC9zdHJ1Y3RmaWVs ZD4sIDxzdHJ1Y3RmaWVsZD53YWxfKjwvc3RydWN0ZmllbGQ+CisgICAgYW5kIDxzdHJ1Y3Rm aWVsZD5ibGtfKjwvc3RydWN0ZmllbGQ+IGluY2x1ZGUgZGF0YSBvbiB2YWN1dW1pbmcgaW5k ZXhlcyBvbiB0aGlzIHRhYmxlLCB3aGlsZSBjb2x1bW5zCisgICAgPHN0cnVjdGZpZWxkPnN5 c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gYW5kIDxzdHJ1Y3RmaWVsZD51c2VyX3RpbWU8L3N0 cnVjdGZpZWxkPiBvbmx5IGluY2x1ZGUgZGF0YQorICAgIG9uIHZhY3V1bWluZyB0aGUgaGVh cC48L3BhcmE+CisgPC9zZWN0MT4KIDwvY2hhcHRlcj4KLS0gCjIuMzQuMQoK --------------1N7uCv2Ri6D0kHZe2mz9ca8z--