Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VdZll-0006ta-9e for pgsql-hackers@arkaria.postgresql.org; Tue, 05 Nov 2013 06:05:42 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1VdZlk-00074V-M5 for pgsql-hackers@arkaria.postgresql.org; Tue, 05 Nov 2013 06:05:40 +0000 Received: from makus.postgresql.org ([2001:4800:7903:4::125]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VdZlg-00074H-Ch for pgsql-hackers@postgresql.org; Tue, 05 Nov 2013 06:05:37 +0000 Received: from cluster-k.mailcontrol.com ([116.50.57.190]) by makus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VdZlX-0004Gf-Kq; Tue, 05 Nov 2013 06:05:32 +0000 Received: from mail2.fujitsu.com.au (mail2.fujitsu.com.au [216.14.192.226]) by rly03k.srv.mailcontrol.com (MailControl) with ESMTP id rA564FWw029722 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Tue, 5 Nov 2013 06:04:25 GMT Received: from localhost (localhost.localdomain [127.0.0.1]) by mail2.fujitsu.com.au (Postfix) with ESMTP id 9D5C82F50C2; Tue, 5 Nov 2013 17:04:15 +1100 (EST) X-Virus-Scanned: amavisd-new at mail2.fujitsu.com.au Received: from mail2.fujitsu.com.au ([127.0.0.1]) by localhost (mail2.fujitsu.com.au [127.0.0.1]) (amavisd-new, port 10024) with LMTP id ZPyH44zLUAUL; Tue, 5 Nov 2013 17:04:15 +1100 (EST) Received: from SYD0633.au.fujitsu.com (unknown [137.172.78.132]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (Client did not present a certificate) by mail2.fujitsu.com.au (Postfix) with ESMTP id E52E02F50BB; Tue, 5 Nov 2013 17:04:14 +1100 (EST) Received: from mailfilter2.au.fjanz.com (137.172.19.76) by SYD0633.au.fujitsu.com (137.172.78.132) with Microsoft SMTP Server id 8.3.83.0; Tue, 5 Nov 2013 17:04:14 +1100 Received: from RadwareLoad Balancer (137.172.78.70) [137.172.78.70] by mailfilter2.au.fjanz.com - Websense Email Security (7.0.0); Tue, 05 Nov 2013 17:04:14 +1100 Received: from SYDExchTmp.au.fjanz.com ([137.172.72.100]) by SYD0630.au.fjanz.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 5 Nov 2013 17:04:12 +1100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-Class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01CED9EC.D74A91E9" Subject: Re: UTF8 national character data type support WIP patch and list of open issues. Date: Tue, 5 Nov 2013 17:04:07 +1100 Message-ID: <022C711CCA8AF2459F370E936F2B9E8C0255E4BB@SYDExchTmp.au.fjanz.com> In-Reply-To: <7C2A735AFC3E4088A8F49B677855369C@maumau> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: [HACKERS] UTF8 national character data type support WIP patch and list of open issues. Thread-Index: Ac66NOEf+R9/8ICxSWO+2UDJ7t5QQwftq9Bw References: <20130920.085853.1628917054830864151.t-ishii@sraoss.co.jp> <20130922.072952.1977066018971837040.t-ishii@sraoss.co.jp> <5240B212.8040307@gmx.net> <7DCFAE8265254605840917B35EEF09F1@maumau> <7C2A735AFC3E4088A8F49B677855369C@maumau> From: "Arulappan, Arul Shaji" To: MauMau , Greg Stark CC: Peter Eisentraut , Robert Haas , Tatsuo Ishii , Tom Lane , "Boguk, Maksym" , Heikki Linnakangas , PostgreSQL-development X-OriginalArrivalTime: 05 Nov 2013 06:04:12.0890 (UTC) FILETIME=[D9BD63A0:01CED9EC] X-SEF-Processed: 7_0_0_00239__2013_11_05_17_04_14 X-Scanned-By: MailControl 21823.0 (www.mailcontrol.com) on 10.75.0.113 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org ------_=_NextPart_001_01CED9EC.D74A91E9 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Attached is a patch that implements the first set of changes discussed in this thread originally. They are: (i) Implements NCHAR/NVARCHAR as distinct data types, not as synonyms so that: - psql \d can display the user-specified data types. - pg_dump/pg_dumpall can output NCHAR/NVARCHAR columns as-is, not as CHAR/VARCHAR. - Groundwork to implement additional features for NCHAR/NVARCHAR in the future (For eg: separate encoding for nchar columns). (ii) Support for NCHAR/NVARCHAR in ECPG (iii) Documentation changes to reflect the new data type=20 Rgds, Arul Shaji >-----Original Message----- >From: pgsql-hackers-owner@postgresql.org [mailto:pgsql-hackers- >owner@postgresql.org] On Behalf Of MauMau > >From: "Greg Stark" >> If it's not lossy then what's the point? From the client's point of >> view it'll be functionally equivalent to text then. > >Sorry, what Tatsuo san suggested meant was "same or compatible", not lossy. >I quote the relevant part below. This is enough for the use case I mentioned >in my previous mail several hours ago (actually, that is what Oracle manual >describes...). > >http://www.postgresql.org/message-id/20130920.085853.162891705483086415 1.t- >ishii@sraoss.co.jp > >[Excerpt] >---------------------------------------- >What about limiting to use NCHAR with a database which has same encoding or >"compatible" encoding (on which the encoding conversion is defined)? This way, >NCHAR text can be automatically converted from NCHAR to the database encoding >in the server side thus we can treat NCHAR exactly same as CHAR afterward. I >suppose what encoding is used for NCHAR should be defined in initdb time or >creation of the database (if we allow this, we need to add a new column to know >what encoding is used for NCHAR). > >For example, "CREATE TABLE t1(t NCHAR(10))" will succeed if NCHAR is >UTF-8 and database encoding is UTF-8. Even succeed if NCHAR is SHIFT-JIS and >database encoding is UTF-8 because there is a conversion between UTF-8 and >SHIFT-JIS. However will not succeed if NCHAR is SHIFT-JIS and database encoding >is ISO-8859-1 because there's no conversion between them. >---------------------------------------- > > >Regards >MauMau > > > >-- >Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make >changes to your subscription: >http://www.postgresql.org/mailpref/pgsql-hackers ------_=_NextPart_001_01CED9EC.D74A91E9 Content-Type: application/octet-stream; name="PGHEAD_nchar_v1.patch" Content-Transfer-Encoding: base64 Content-Description: PGHEAD_nchar_v1.patch Content-Disposition: attachment; filename="PGHEAD_nchar_v1.patch" ZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9kb2Mvc3JjL3Nn bWwvZGF0YXR5cGUuc2dtbCBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNo YXIvZG9jL3NyYy9zZ21sL2RhdGF0eXBlLnNnbWwKLS0tIHBvc3RncmVzcWwt aGVhZC0yMDEzMTAxNy9kb2Mvc3JjL3NnbWwvZGF0YXR5cGUuc2dtbAkyMDEz LTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEwMAorKysgcG9zdGdyZXNx bC1oZWFkLTIwMTMxMDE3LW5jaGFyL2RvYy9zcmMvc2dtbC9kYXRhdHlwZS5z Z21sCTIwMTMtMTAtMjIgMTY6MTI6MTkuMDAwMDAwMDAwICsxMTAwCkBAIC0x NjEsNiArMTYxLDE4IEBACiAgICAgICA8L3Jvdz4KIAogICAgICAgPHJvdz4K KyAgICAgICA8ZW50cnk+PHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVyIHZhcnlp bmcgWyAoPHJlcGxhY2VhYmxlPm48L3JlcGxhY2VhYmxlPikgXTwvdHlwZT48 L2VudHJ5PgorICAgICAgIDxlbnRyeT48dHlwZT5udmFyY2hhciBbICg8cmVw bGFjZWFibGU+bjwvcmVwbGFjZWFibGU+KSBdPC90eXBlPjwvZW50cnk+Cisg ICAgICAgPGVudHJ5PnZhcmlhYmxlLWxlbmd0aCBuYXRpb25hbCBjaGFyYWN0 ZXIgc3RyaW5nPC9lbnRyeT4KKyAgICAgIDwvcm93PgorCisgICAgICA8cm93 PgorICAgICAgIDxlbnRyeT48dHlwZT5uYXRpb25hbCBjaGFyYWN0ZXIgWyAo PHJlcGxhY2VhYmxlPm48L3JlcGxhY2VhYmxlPikgXTwvdHlwZT48L2VudHJ5 PgorICAgICAgIDxlbnRyeT48dHlwZT5uY2hhciBbICg8cmVwbGFjZWFibGU+ bjwvcmVwbGFjZWFibGU+KSBdPC90eXBlPjwvZW50cnk+CisgICAgICAgPGVu dHJ5PmZpeGVkLWxlbmd0aCBuYXRpb25hbCBjaGFyYWN0ZXIgc3RyaW5nPC9l bnRyeT4KKyAgICAgIDwvcm93PgorCisgICAgICA8cm93PgogICAgICAgIDxl bnRyeT48dHlwZT5udW1lcmljIFsgKDxyZXBsYWNlYWJsZT5wPC9yZXBsYWNl YWJsZT4sCiAgICAgICAgICA8cmVwbGFjZWFibGU+czwvcmVwbGFjZWFibGU+ KSBdPC90eXBlPjwvZW50cnk+CiAgICAgICAgPGVudHJ5Pjx0eXBlPmRlY2lt YWwgWyAoPHJlcGxhY2VhYmxlPnA8L3JlcGxhY2VhYmxlPiwKQEAgLTEwMTQs NiArMTAyNiwxNCBAQAogICAgICAgICA8ZW50cnk+PHR5cGU+dGV4dDwvdHlw ZT48L2VudHJ5PgogICAgICAgICA8ZW50cnk+dmFyaWFibGUgdW5saW1pdGVk IGxlbmd0aDwvZW50cnk+CiAgICAgICAgPC9yb3c+CisgICAgICAgPHJvdz4K KyAgICAgICAgPGVudHJ5Pjx0eXBlPm5hdGlvbmFsIGNoYXJhY3RlciB2YXJ5 aW5nKDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT4sIDx0eXBlPm52YXJjaGFy KDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT48L2VudHJ5PgorICAgICAgICA8 ZW50cnk+dmFyaWFibGUtbGVuZ3RoIG5hdGlvbmFsIGNoYXJhY3RlciBzdHJp bmc8L2VudHJ5PgorICAgICAgIDwvcm93PgorICAgICAgIDxyb3c+CisgICAg ICAgIDxlbnRyeT48dHlwZT5uYXRpb25hbCBjaGFyYWN0ZXIoPHJlcGxhY2Vh YmxlPm48Lz4pPC90eXBlPiwgPHR5cGU+bmNoYXIoPHJlcGxhY2VhYmxlPm48 Lz4pPC90eXBlPjwvZW50cnk+CisgICAgICAgIDxlbnRyeT5maXhlZC1sZW5n dGggbmF0aW9uYWwgY2hhcmFjdGVyIHN0cmluZzwvZW50cnk+CisgICAgICAg PC9yb3c+CiAgICAgIDwvdGJvZHk+CiAgICAgIDwvdGdyb3VwPgogICAgIDwv dGFibGU+CkBAIC0xMDQwLDcgKzEwNjAsMTUgQEAKICAgICBzaG9ydGVyCiAg ICAgc3RyaW5nLgogICAgPC9wYXJhPgotCisgICA8cGFyYT4KKyAgICBUaGUg ZGF0YSB0eXBlcyA8dHlwZT5uYXRpb25hbCBjaGFyYWN0ZXIoPHJlcGxhY2Vh YmxlPm48Lz4pPC90eXBlPiBhbmQgCisgICAgPHR5cGU+bmF0aW9uYWwgY2hh cmFjdGVyIHZhcnlpbmcoPHJlcGxhY2VhYmxlPm48Lz4pPC90eXBlPiBjYW4g YmUgCisgICAgdXNlZCB0byBzdG9yZSBkYXRhIGluIGEgc3BlY2lmaWMgZW5j b2RpbmcuIEN1cnJlbnRseSB0aGUgZW5jb2RpbmcgZm9yIAorICAgIDx0eXBl Pm5hdGlvbmFsIGNoYXJhY3RlcjwvdHlwZT4gYW5kIDx0eXBlPm5hdGlvbmFs IGNoYXJhY3RlciB2YXJ5aW5nPC90eXBlPiAKKyAgICBkYXRhIHR5cGVzIGFy ZSBsaW1pdGVkIHRvIHRoZSBkYXRhYmFzZSBlbmNvZGluZy4gQXMgYSByZXN1 bHQsIGRlY2xhcmluZyBhIAorICAgIGNvbHVtbiBhcyA8dHlwZT5uYXRpb25h bCBjaGFyYWN0ZXI8L3R5cGU+IGlzIGVxdWl2YWxlbnQgdG8gZGVjbGFyaW5n IAorICAgIHRoZSBjb2x1bW4gYXMgPHR5cGU+Y2hhcmFjdGVyPC90eXBlPi4K KyAgIDwvcGFyYT4KICAgIDxwYXJhPgogICAgIElmIG9uZSBleHBsaWNpdGx5 IGNhc3RzIGEgdmFsdWUgdG8gPHR5cGU+Y2hhcmFjdGVyCiAgICAgdmFyeWlu Zyg8cmVwbGFjZWFibGU+bjwvPik8L3R5cGU+IG9yCkBAIC0xMDYwLDYgKzEw ODgsMTUgQEAKICAgICB3aXRob3V0IGxlbmd0aCBzcGVjaWZpZXIsIHRoZSB0 eXBlIGFjY2VwdHMgc3RyaW5ncyBvZiBhbnkgc2l6ZS4gVGhlCiAgICAgbGF0 dGVyIGlzIGEgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8Lz4gZXh0ZW5zaW9u LgogICAgPC9wYXJhPgorICAgPHBhcmE+CisgICAgVGhlIG5vdGF0aW9ucyA8 dHlwZT5udmFyY2hhcig8cmVwbGFjZWFibGU+bjwvPik8L3R5cGU+IGFuZAor ICAgIDx0eXBlPm5jaGFyKDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT4gYXJl IGFsaWFzZXMgCisgICAgZm9yIDx0eXBlPm5hdGlvbmFsIGNoYXJhY3RlciB2 YXJ5aW5nKDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT4gYW5kCisgICAgPHR5 cGU+bmF0aW9uYWwgY2hhcmFjdGVyKDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlw ZT4sIHJlc3BlY3RpdmVseS4KKyAgICA8dHlwZT5uYXRpb25hbCBjaGFyYWN0 ZXI8L3R5cGU+IHdpdGhvdXQgbGVuZ3RoIHNwZWNpZmllciBpcyBlcXVpdmFs ZW50IHRvCisgICAgPHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVyKDEpPC90eXBl Pi4gSWYgPHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVyIHZhcnlpbmc8L3R5cGU+ IAorICAgIGlzIHVzZWQgd2l0aG91dCBsZW5ndGggc3BlY2lmaWVyLCB0aGUg dHlwZSBhY2NlcHRzIHN0cmluZ3Mgb2YgYW55IHNpemUuCisgICA8L3BhcmE+ CiAKICAgIDxwYXJhPgogICAgIEluIGFkZGl0aW9uLCA8cHJvZHVjdG5hbWU+ UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+IHByb3ZpZGVzIHRoZQpAQCAtMTA3 MCw1MCArMTEwNyw1MyBAQAogICAgPC9wYXJhPgogCiAgICA8cGFyYT4KLSAg ICBWYWx1ZXMgb2YgdHlwZSA8dHlwZT5jaGFyYWN0ZXI8L3R5cGU+IGFyZSBw aHlzaWNhbGx5IHBhZGRlZAotICAgIHdpdGggc3BhY2VzIHRvIHRoZSBzcGVj aWZpZWQgd2lkdGggPHJlcGxhY2VhYmxlPm48Lz4sIGFuZCBhcmUKLSAgICBz dG9yZWQgYW5kIGRpc3BsYXllZCB0aGF0IHdheS4gIEhvd2V2ZXIsIHRoZSBw YWRkaW5nIHNwYWNlcyBhcmUKKyAgICBWYWx1ZXMgb2YgdHlwZXMgPHR5cGU+ Y2hhcmFjdGVyPC90eXBlPiBhbmQgPHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVy PC90eXBlPgorICAgIGFyZSBwaHlzaWNhbGx5IHBhZGRlZCB3aXRoIHNwYWNl cyB0byB0aGUgc3BlY2lmaWVkIHdpZHRoIDxyZXBsYWNlYWJsZT5uPC8+LCAK KyAgICBhbmQgYXJlIHN0b3JlZCBhbmQgZGlzcGxheWVkIHRoYXQgd2F5LiAg SG93ZXZlciwgdGhlIHBhZGRpbmcgc3BhY2VzIGFyZQogICAgIHRyZWF0ZWQg YXMgc2VtYW50aWNhbGx5IGluc2lnbmlmaWNhbnQuICBUcmFpbGluZyBzcGFj ZXMgYXJlCi0gICAgZGlzcmVnYXJkZWQgd2hlbiBjb21wYXJpbmcgdHdvIHZh bHVlcyBvZiB0eXBlIDx0eXBlPmNoYXJhY3RlcjwvdHlwZT4sCi0gICAgYW5k IHRoZXkgd2lsbCBiZSByZW1vdmVkIHdoZW4gY29udmVydGluZyBhIDx0eXBl PmNoYXJhY3RlcjwvdHlwZT4gdmFsdWUKKyAgICBkaXNyZWdhcmRlZCB3aGVu IGNvbXBhcmluZyB0d28gdmFsdWVzIG9mIHR5cGUgPHR5cGU+Y2hhcmFjdGVy PC90eXBlPiBvcgorICAgIDx0eXBlPm5hdGlvbmFsIGNoYXJhY3RlcjwvdHlw ZT4sIGFuZCB0aGV5IHdpbGwgYmUgcmVtb3ZlZCB3aGVuIGNvbnZlcnRpbmcg CisgICAgYSA8dHlwZT5jaGFyYWN0ZXI8L3R5cGU+IG9yIDx0eXBlPm5hdGlv bmFsIGNoYXJhY3RlcjwvdHlwZT4gdmFsdWUKICAgICB0byBvbmUgb2YgdGhl IG90aGVyIHN0cmluZyB0eXBlcy4gIE5vdGUgdGhhdCB0cmFpbGluZyBzcGFj ZXMKICAgICA8ZW1waGFzaXM+YXJlPC8+IHNlbWFudGljYWxseSBzaWduaWZp Y2FudCBpbgotICAgIDx0eXBlPmNoYXJhY3RlciB2YXJ5aW5nPC90eXBlPiBh bmQgPHR5cGU+dGV4dDwvdHlwZT4gdmFsdWVzLCBhbmQKLSAgICB3aGVuIHVz aW5nIHBhdHRlcm4gbWF0Y2hpbmcsIGUuZy4gPGxpdGVyYWw+TElLRTwvPiwK KyAgICA8dHlwZT5jaGFyYWN0ZXIgdmFyeWluZzwvdHlwZT4sPHR5cGU+bmF0 aW9uYWwgY2hhcmFjdGVyIHZhcnlpbmc8L3R5cGU+CisgICAgYW5kIDx0eXBl PnRleHQ8L3R5cGU+IHZhbHVlcywgYW5kIHdoZW4gdXNpbmcgcGF0dGVybiBt YXRjaGluZywgZS5nLiA8bGl0ZXJhbD5MSUtFPC8+LAogICAgIHJlZ3VsYXIg ZXhwcmVzc2lvbnMuCiAgICA8L3BhcmE+CiAKICAgIDxwYXJhPgogICAgIFRo ZSBzdG9yYWdlIHJlcXVpcmVtZW50IGZvciBhIHNob3J0IHN0cmluZyAodXAg dG8gMTI2IGJ5dGVzKSBpcyAxIGJ5dGUKICAgICBwbHVzIHRoZSBhY3R1YWwg c3RyaW5nLCB3aGljaCBpbmNsdWRlcyB0aGUgc3BhY2UgcGFkZGluZyBpbiB0 aGUgY2FzZSBvZgotICAgIDx0eXBlPmNoYXJhY3RlcjwvdHlwZT4uICBMb25n ZXIgc3RyaW5ncyBoYXZlIDQgYnl0ZXMgb2Ygb3ZlcmhlYWQgaW5zdGVhZAot ICAgIG9mIDEuICBMb25nIHN0cmluZ3MgYXJlIGNvbXByZXNzZWQgYnkgdGhl IHN5c3RlbSBhdXRvbWF0aWNhbGx5LCBzbwotICAgIHRoZSBwaHlzaWNhbCBy ZXF1aXJlbWVudCBvbiBkaXNrIG1pZ2h0IGJlIGxlc3MuIFZlcnkgbG9uZyB2 YWx1ZXMgYXJlIGFsc28KLSAgICBzdG9yZWQgaW4gYmFja2dyb3VuZCB0YWJs ZXMgc28gdGhhdCB0aGV5IGRvIG5vdCBpbnRlcmZlcmUgd2l0aCByYXBpZAot ICAgIGFjY2VzcyB0byBzaG9ydGVyIGNvbHVtbiB2YWx1ZXMuIEluIGFueSBj YXNlLCB0aGUgbG9uZ2VzdAorICAgIDx0eXBlPmNoYXJhY3RlcjwvdHlwZT4g b3IgPHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVyPC90eXBlPi4gIExvbmdlciBz dHJpbmdzIGhhdmUgCisgICAgNCBieXRlcyBvZiBvdmVyaGVhZCBpbnN0ZWFk IG9mIDEuICBMb25nIHN0cmluZ3MgYXJlIGNvbXByZXNzZWQgYnkgdGhlIAor ICAgIHN5c3RlbSBhdXRvbWF0aWNhbGx5LCBzbyB0aGUgcGh5c2ljYWwgcmVx dWlyZW1lbnQgb24gZGlzayBtaWdodCBiZSBsZXNzLiAKKyAgICBWZXJ5IGxv bmcgdmFsdWVzIGFyZSBhbHNvIHN0b3JlZCBpbiBiYWNrZ3JvdW5kIHRhYmxl cyBzbyB0aGF0IHRoZXkgZG8gbm90IAorICAgIGludGVyZmVyZSB3aXRoIHJh cGlkIGFjY2VzcyB0byBzaG9ydGVyIGNvbHVtbiB2YWx1ZXMuIEluIGFueSBj YXNlLCB0aGUgbG9uZ2VzdAogICAgIHBvc3NpYmxlIGNoYXJhY3RlciBzdHJp bmcgdGhhdCBjYW4gYmUgc3RvcmVkIGlzIGFib3V0IDEgR0IuIChUaGUKICAg ICBtYXhpbXVtIHZhbHVlIHRoYXQgd2lsbCBiZSBhbGxvd2VkIGZvciA8cmVw bGFjZWFibGU+bjwvPiBpbiB0aGUgZGF0YQogICAgIHR5cGUgZGVjbGFyYXRp b24gaXMgbGVzcyB0aGFuIHRoYXQuIEl0IHdvdWxkbid0IGJlIHVzZWZ1bCB0 bwogICAgIGNoYW5nZSB0aGlzIGJlY2F1c2Ugd2l0aCBtdWx0aWJ5dGUgY2hh cmFjdGVyIGVuY29kaW5ncyB0aGUgbnVtYmVyIG9mCiAgICAgY2hhcmFjdGVy cyBhbmQgYnl0ZXMgY2FuIGJlIHF1aXRlIGRpZmZlcmVudC4gSWYgeW91IGRl c2lyZSB0bwogICAgIHN0b3JlIGxvbmcgc3RyaW5ncyB3aXRoIG5vIHNwZWNp ZmljIHVwcGVyIGxpbWl0LCB1c2UKLSAgICA8dHlwZT50ZXh0PC90eXBlPiBv ciA8dHlwZT5jaGFyYWN0ZXIgdmFyeWluZzwvdHlwZT4gd2l0aG91dCBhIGxl bmd0aAorICAgIDx0eXBlPnRleHQ8L3R5cGU+IG9yIDx0eXBlPmNoYXJhY3Rl ciB2YXJ5aW5nPC90eXBlPiBvciA8dHlwZT4KKyAgICBuYXRpb25hbCBjaGFy YWN0ZXIgdmFyeWluZzwvdHlwZT4gd2l0aG91dCBhIGxlbmd0aAogICAgIHNw ZWNpZmllciwgcmF0aGVyIHRoYW4gbWFraW5nIHVwIGFuIGFyYml0cmFyeSBs ZW5ndGggbGltaXQuKQogICAgPC9wYXJhPgogCiAgICA8dGlwPgogICAgIDxw YXJhPgotICAgICBUaGVyZSBpcyBubyBwZXJmb3JtYW5jZSBkaWZmZXJlbmNl IGFtb25nIHRoZXNlIHRocmVlIHR5cGVzLAorICAgICBUaGVyZSBpcyBubyBw ZXJmb3JtYW5jZSBkaWZmZXJlbmNlIGFtb25nIHRoZXNlIGZpdmUgdHlwZXMs CiAgICAgIGFwYXJ0IGZyb20gaW5jcmVhc2VkIHN0b3JhZ2Ugc3BhY2Ugd2hl biB1c2luZyB0aGUgYmxhbmstcGFkZGVkCiAgICAgIHR5cGUsIGFuZCBhIGZl dyBleHRyYSBDUFUgY3ljbGVzIHRvIGNoZWNrIHRoZSBsZW5ndGggd2hlbiBz dG9yaW5nIGludG8KICAgICAgYSBsZW5ndGgtY29uc3RyYWluZWQgY29sdW1u LiAgV2hpbGUKLSAgICAgPHR5cGU+Y2hhcmFjdGVyKDxyZXBsYWNlYWJsZT5u PC8+KTwvdHlwZT4gaGFzIHBlcmZvcm1hbmNlCi0gICAgIGFkdmFudGFnZXMg aW4gc29tZSBvdGhlciBkYXRhYmFzZSBzeXN0ZW1zLCB0aGVyZSBpcyBubyBz dWNoIGFkdmFudGFnZSBpbgotICAgICA8cHJvZHVjdG5hbWU+UG9zdGdyZVNR TDwvcHJvZHVjdG5hbWU+OyBpbiBmYWN0Ci0gICAgIDx0eXBlPmNoYXJhY3Rl cig8cmVwbGFjZWFibGU+bjwvPik8L3R5cGU+IGlzIHVzdWFsbHkgdGhlIHNs b3dlc3Qgb2YKLSAgICAgdGhlIHRocmVlIGJlY2F1c2Ugb2YgaXRzIGFkZGl0 aW9uYWwgc3RvcmFnZSBjb3N0cy4gIEluIG1vc3Qgc2l0dWF0aW9ucwotICAg ICA8dHlwZT50ZXh0PC90eXBlPiBvciA8dHlwZT5jaGFyYWN0ZXIgdmFyeWlu ZzwvdHlwZT4gc2hvdWxkIGJlIHVzZWQKLSAgICAgaW5zdGVhZC4KKyAgICAg PHR5cGU+Y2hhcmFjdGVyKDxyZXBsYWNlYWJsZT5uPC8+KTwvdHlwZT4gYW5k IDx0eXBlPm5hdGlvbmFsIGNoYXJhY3RlcgorICAgICAoPHJlcGxhY2VhYmxl Pm48Lz4pPC90eXBlPiBoYXMgcGVyZm9ybWFuY2UgYWR2YW50YWdlcyBpbiBz b21lIG90aGVyIGRhdGFiYXNlIAorICAgICBzeXN0ZW1zLCB0aGVyZSBpcyBu byBzdWNoIGFkdmFudGFnZSBpbiA8cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwv cHJvZHVjdG5hbWU+OyAKKyAgICAgaW4gZmFjdCA8dHlwZT5jaGFyYWN0ZXIo PHJlcGxhY2VhYmxlPm48Lz4pPC90eXBlPiBhbmQgPHR5cGU+bmF0aW9uYWwg Y2hhcmFjdGVyCisgICAgICg8cmVwbGFjZWFibGU+bjwvPik8L3R5cGU+IGFy ZSB1c3VhbGx5IHRoZSBzbG93ZXN0IG9mCisgICAgIHRoZSBmaXZlIGJlY2F1 c2Ugb2YgaXRzIGFkZGl0aW9uYWwgc3RvcmFnZSBjb3N0cy4gIEluIG1vc3Qg c2l0dWF0aW9ucworICAgICA8dHlwZT50ZXh0PC90eXBlPiBvciA8dHlwZT5j aGFyYWN0ZXIgdmFyeWluZzwvdHlwZT4gb3IKKyAgICAgPHR5cGU+bmF0aW9u YWwgY2hhcmFjdGVyIHZhcnlpbmc8L3R5cGU+IHNob3VsZCBiZSB1c2VkIGlu c3RlYWQuCiAgICAgPC9wYXJhPgogICAgPC90aXA+CiAKQEAgLTExNTMsNiAr MTE5MywzMSBAQAogIGdvb2QgIHwgICAgICAgICAgIDUKICB0b28gbCB8ICAg ICAgICAgICA1CiA8L2NvbXB1dGVyb3V0cHV0PgorCitDUkVBVEUgVEFCTEUg dGVzdDMgKGEgbmF0aW9uYWwgY2hhcmFjdGVyKDQpKTsKK0lOU0VSVCBJTlRP IHRlc3QzIFZBTFVFUyAoTidvaycpOworU0VMRUNUIGEsIGNoYXJfbGVuZ3Ro KGEpIEZST00gdGVzdDM7Cis8Y29tcHV0ZXJvdXRwdXQ+CisgIGEgICB8IGNo YXJfbGVuZ3RoCistLS0tLS0rLS0tLS0tLS0tLS0tLQorIG9rICAgfCAgICAg ICAgICAgMgorPC9jb21wdXRlcm91dHB1dD4KKworQ1JFQVRFIFRBQkxFIHRl c3Q0IChiIG52YXJjaGFyKDUpKTsKK0lOU0VSVCBJTlRPIHRlc3Q0IFZBTFVF UyAoTidvaycpOworSU5TRVJUIElOVE8gdGVzdDQgVkFMVUVTIChOJ2dvb2Qg ICAgICAnKTsKK0lOU0VSVCBJTlRPIHRlc3Q0IFZBTFVFUyAoTid0b28gbG9u ZycpOworPGNvbXB1dGVyb3V0cHV0PkVSUk9SOiAgdmFsdWUgdG9vIGxvbmcg Zm9yIHR5cGUgY2hhcmFjdGVyIHZhcnlpbmcoNSk8L2NvbXB1dGVyb3V0cHV0 PgorSU5TRVJUIElOVE8gdGVzdDQgVkFMVUVTICgndG9vIGxvbmcnOjpudmFy Y2hhcig1KSk7IC0tIGV4cGxpY2l0IHRydW5jYXRpb24KK1NFTEVDVCBiLCBj aGFyX2xlbmd0aChiKSBGUk9NIHRlc3Q0OworPGNvbXB1dGVyb3V0cHV0Pgor ICAgYiAgIHwgY2hhcl9sZW5ndGgKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLQor IG9rICAgIHwgICAgICAgICAgIDIKKyBnb29kICB8ICAgICAgICAgICA1Cisg dG9vIGwgfCAgICAgICAgICAgNQorPC9jb21wdXRlcm91dHB1dD4KKwogPC9w cm9ncmFtbGlzdGluZz4KICAgICA8Y2FsbG91dGxpc3Q+CiAgICAgIDxjYWxs b3V0IGFyZWFyZWZzPSJjby5kYXRhdHlwZS1jaGFyIj4KQEAgLTQ2OTIsNSAr NDc1Nyw0IEBACiAgICA8L3BhcmE+CiAKICAgPC9zZWN0MT4KLQogIDwvY2hh cHRlcj4KZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9kb2Mv c3JjL3NnbWwvZWNwZy5zZ21sIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1u Y2hhci9kb2Mvc3JjL3NnbWwvZWNwZy5zZ21sCi0tLSBwb3N0Z3Jlc3FsLWhl YWQtMjAxMzEwMTcvZG9jL3NyYy9zZ21sL2VjcGcuc2dtbAkyMDEzLTEwLTE3 IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEwMAorKysgcG9zdGdyZXNxbC1oZWFk LTIwMTMxMDE3LW5jaGFyL2RvYy9zcmMvc2dtbC9lY3BnLnNnbWwJMjAxMy0x MC0yMiAxNjowMzo0MC4wMDAwMDAwMDAgKzExMDAKQEAgLTg5MCw2ICs4OTAs MTIgQEAKICAgICAgICA8ZW50cnk+PHR5cGU+Ym9vbGVhbjwvdHlwZT48L2Vu dHJ5PgogICAgICAgIDxlbnRyeT48dHlwZT5ib29sPC90eXBlPjxmb290bm90 ZT48cGFyYT5kZWNsYXJlZCBpbiA8ZmlsZW5hbWU+ZWNwZ2xpYi5oPC9maWxl bmFtZT4gaWYgbm90IG5hdGl2ZTwvcGFyYT48L2Zvb3Rub3RlPjwvZW50cnk+ CiAgICAgICA8L3Jvdz4KKyAgICAgIAorICAgICAgPHJvdz4KKyAgICAgICA8 ZW50cnk+PHR5cGU+bmF0aW9uYWwgY2hhcmFjdGVyKDxyZXBsYWNlYWJsZT5u PC8+KTwvdHlwZT4sIDx0eXBlPm52YXJjaGFyKDxyZXBsYWNlYWJsZT5uPC8+ KTwvdHlwZT48L2VudHJ5PgorICAgICAgIDxlbnRyeT48dHlwZT5OQ0hBUls8 cmVwbGFjZWFibGU+bjwvPisxXTwvdHlwZT4sIDx0eXBlPk5WQVJDSEFSWzxy ZXBsYWNlYWJsZT5uPC8+KzFdPC90eXBlPjwvZW50cnk+CisgICAgICA8L3Jv dz4KKyAgICAgIAogICAgICA8L3Rib2R5PgogICAgIDwvdGdyb3VwPgogICAg PC90YWJsZT4KQEAgLTk2OCw2ICs5NzQsODEgQEAKICAgICA8L3BhcmE+CiAg ICA8L3NlY3QzPgogCisgICA8c2VjdDMgaWQ9ImVjcGctbmNoYXIiPgorICAg IDx0aXRsZT5IYW5kbGluZyBOYXRpb25hbCBDaGFyYWN0ZXIgU3RyaW5nczwv dGl0bGU+CisKKyAgICA8cGFyYT4KKyAgICAgVG8gaGFuZGxlIFNRTCBuYXRp b25hbCBjaGFyYWN0ZXIgc3RyaW5nIGRhdGEgdHlwZXMsIHN1Y2gKKyAgICAg YXMgPHR5cGU+bnZhcmNoYXI8L3R5cGU+IGFuZCA8dHlwZT5uY2hhcjwvdHlw ZT4sIHRoZXJlIGFyZSB0d28KKyAgICAgcG9zc2libGUgd2F5cyB0byBkZWNs YXJlIHRoZSBob3N0IHZhcmlhYmxlcy4KKyAgICA8L3BhcmE+CisKKyAgICA8 cGFyYT4KKyAgICAgT25lIHdheSBpcyB1c2luZyA8dHlwZT5OQ0hBUltdPC90 eXBlPiwgYW4gYXJyYXkKKyAgICAgb2YgPHR5cGU+TkNIQVI8L3R5cGU+LCBp bnRlcm5hbGx5IHdoaWNoIGlzIG1hcHBlZCB0byBhbiBhcnJheSBvZiA8dHlw ZT5jaGFyPC90eXBlPiB3aGljaCBpcyB0aGUgbW9zdCBjb21tb24gd2F5IHRv IGhhbmRsZQorICAgICBjaGFyYWN0ZXIgZGF0YSBpbiBDLgorPHByb2dyYW1s aXN0aW5nPgorRVhFQyBTUUwgQkVHSU4gREVDTEFSRSBTRUNUSU9OOworICAg IE5DSEFSIHN0cls1MF07CitFWEVDIFNRTCBFTkQgREVDTEFSRSBTRUNUSU9O OworPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgTm90ZSB0aGF0IHlvdSBoYXZl IHRvIHRha2UgY2FyZSBvZiB0aGUgbGVuZ3RoIHlvdXJzZWxmLiAgSWYgeW91 CisgICAgIHVzZSB0aGlzIGhvc3QgdmFyaWFibGUgYXMgdGhlIHRhcmdldCB2 YXJpYWJsZSBvZiBhIHF1ZXJ5IHdoaWNoCisgICAgIHJldHVybnMgYSBzdHJp bmcgd2l0aCBtb3JlIHRoYW4gNDkgY2hhcmFjdGVycywgYSBidWZmZXIgb3Zl cmZsb3cKKyAgICAgb2NjdXJzLgorICAgIDwvcGFyYT4KKworICAgIDxwYXJh PgorICAgICBUaGUgb3RoZXIgd2F5IGlzIHVzaW5nIHRoZSA8dHlwZT5OVkFS Q0hBUjwvdHlwZT4gdHlwZSwgd2hpY2ggaXMgYQorICAgICBzcGVjaWFsIHR5 cGUgcHJvdmlkZWQgYnkgRUNQRy4gIFRoZSBkZWZpbml0aW9uIG9uIGFuIGFy cmF5IG9mCisgICAgIHR5cGUgPHR5cGU+TlZBUkNIQVI8L3R5cGU+IGlzIGNv bnZlcnRlZCBpbnRvIGEKKyAgICAgbmFtZWQgPHR5cGU+c3RydWN0PC8+IGZv ciBldmVyeSB2YXJpYWJsZS4gQSBkZWNsYXJhdGlvbiBsaWtlOgorPHByb2dy YW1saXN0aW5nPgorTlZBUkNIQVIgdmFyWzE4MF07Cis8L3Byb2dyYW1saXN0 aW5nPgorICAgICBpcyBjb252ZXJ0ZWQgaW50bzoKKzxwcm9ncmFtbGlzdGlu Zz4KK3N0cnVjdCB2YXJjaGFyX3ZhciB7IGludCBsZW47IGNoYXIgYXJyWzE4 MF07IH0gdmFyOworPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgVGhlIG1lbWJl ciA8c3RydWN0ZmllbGQ+YXJyPC9zdHJ1Y3RmaWVsZD4gaG9zdHMgdGhlIHN0 cmluZworICAgICBpbmNsdWRpbmcgYSB0ZXJtaW5hdGluZyB6ZXJvIGJ5dGUu ICBUaHVzLCB0byBzdG9yZSBhIHN0cmluZyBpbgorICAgICBhIDx0eXBlPk5W QVJDSEFSPC90eXBlPiBob3N0IHZhcmlhYmxlLCB0aGUgaG9zdCB2YXJpYWJs ZSBoYXMgdG8gYmUKKyAgICAgZGVjbGFyZWQgd2l0aCB0aGUgbGVuZ3RoIGlu Y2x1ZGluZyB0aGUgemVybyBieXRlIHRlcm1pbmF0b3IuICBUaGUKKyAgICAg bWVtYmVyIDxzdHJ1Y3RmaWVsZD5sZW48L3N0cnVjdGZpZWxkPiBob2xkcyB0 aGUgbGVuZ3RoIG9mIHRoZQorICAgICBzdHJpbmcgc3RvcmVkIGluIHRoZSA8 c3RydWN0ZmllbGQ+YXJyPC9zdHJ1Y3RmaWVsZD4gd2l0aG91dCB0aGUKKyAg ICAgdGVybWluYXRpbmcgemVybyBieXRlLiAgV2hlbiBhIGhvc3QgdmFyaWFi bGUgaXMgdXNlZCBhcyBpbnB1dCBmb3IKKyAgICAgYSBxdWVyeSwgaWYgPGxp dGVyYWw+c3RybGVuKGFycik8L2xpdGVyYWw+CisgICAgIGFuZCA8c3RydWN0 ZmllbGQ+bGVuPC9zdHJ1Y3RmaWVsZD4gYXJlIGRpZmZlcmVudCwgdGhlIHNo b3J0ZXIgb25lCisgICAgIGlzIHVzZWQuCisgICAgPC9wYXJhPgorCisgICAg PHBhcmE+CisgICAgIFR3byBvciBtb3JlIDx0eXBlPk5WQVJDSEFSPC90eXBl PiBob3N0IHZhcmlhYmxlcyBjYW5ub3QgYmUgZGVmaW5lZAorICAgICBpbiBz aW5nbGUgbGluZSBzdGF0ZW1lbnQuICBUaGUgZm9sbG93aW5nIGNvZGUgd2ls bCBjb25mdXNlCisgICAgIHRoZSA8Y29tbWFuZD5lY3BnPC9jb21tYW5kPiBw cmVwcm9jZXNzb3I6Cis8cHJvZ3JhbWxpc3Rpbmc+CitOVkFSQ0hBUiB2MVsx MjhdLCB2MlsxMjhdOyAgIC8qIFdST05HICovCis8L3Byb2dyYW1saXN0aW5n PgorICAgICBUd28gdmFyaWFibGVzIHNob3VsZCBiZSBkZWZpbmVkIGluIHNl cGFyYXRlIHN0YXRlbWVudHMgbGlrZSB0aGlzOgorPHByb2dyYW1saXN0aW5n PgorTlZBUkNIQVIgdjFbMTI4XTsKK05WQVJDSEFSIHYyWzEyOF07Cis8L3By b2dyYW1saXN0aW5nPgorICAgIDwvcGFyYT4KKworICAgIDxwYXJhPgorICAg ICA8dHlwZT5OVkFSQ0hBUjwvdHlwZT4gYW5kIDx0eXBlPk5DSEFSPC90eXBl PiBjYW4gYmUgd3JpdHRlbiBpbiB1cHBlciBvciBsb3dlciBjYXNlLCBidXQK KyAgICAgbm90IGluIG1peGVkIGNhc2UuCisgICAgPC9wYXJhPgorCisgICAg PHBhcmE+CisgICAgIDx0eXBlPk5DSEFSPC90eXBlPiBhbmQgPHR5cGU+TlZB UkNIQVI8L3R5cGU+IGhvc3QgdmFyaWFibGVzIGNhbgorICAgICBhbHNvIGhv bGQgdmFsdWVzIG9mIG90aGVyIFNRTCB0eXBlcywgd2hpY2ggd2lsbCBiZSBz dG9yZWQgaW4KKyAgICAgdGhlaXIgc3RyaW5nIGZvcm1zLiBOVkFSQ0hBUiB0 eXBlIGlzIHNpbWlsYXIgdG8gVkFSQ0hBUiB0eXBlIAorICAgICBhbmQgYWRk ZWQgbWFpbmx5IGZvciBTUUwgc3RhbmRhcmQgY29tcGF0aWJpbGl0eS4KKyAg ICA8L3BhcmE+CisgICA8L3NlY3QzPgorCiAgICA8c2VjdDMgaWQ9ImVjcGct c3BlY2lhbC10eXBlcyI+CiAgICAgPHRpdGxlPkFjY2Vzc2luZyBTcGVjaWFs IERhdGEgVHlwZXM8L3RpdGxlPgogCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhl YWQtMjAxMzEwMTcvZG9jL3NyYy9zZ21sL3N5bnRheC5zZ21sIHBvc3RncmVz cWwtaGVhZC0yMDEzMTAxNy1uY2hhci9kb2Mvc3JjL3NnbWwvc3ludGF4LnNn bWwKLS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9kb2Mvc3JjL3NnbWwv c3ludGF4LnNnbWwJMjAxMy0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzEx MDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9kb2Mvc3Jj L3NnbWwvc3ludGF4LnNnbWwJMjAxMy0xMC0yMiAxNTo1MzowOS4wMDAwMDAw MDAgKzExMDAKQEAgLTU1Myw2ICs1NTMsMzIgQEAKICAgICA8L3BhcmE+CiAg ICA8L3NlY3QzPgogCisgICA8c2VjdDMgaWQ9InNxbC1zeW50YXgtc3RyaW5n cy1OIj4KKyAgICA8dGl0bGU+U3RyaW5nIENvbnN0YW50cyB3aXRoIHByZWZp eCBOPC90aXRsZT4KKworICAgIDxpbmRleHRlcm0gIHpvbmU9InNxbC1zeW50 YXgtc3RyaW5ncy1OIj4KKyAgICAgPHByaW1hcnk+UHJlZml4IE48L3ByaW1h cnk+CisgICAgIDxzZWNvbmRhcnk+aW4gc3RyaW5nIGNvbnN0YW50czwvc2Vj b25kYXJ5PgorICAgIDwvaW5kZXh0ZXJtPgorCisgICAgPHBhcmE+CisgICAg VGhlIHN0YW5kYXJkIHN5bnRheCBmb3Igc3BlY2lmeWluZyBuYXRpb25hbCBj aGFyYWN0ZXIgdHlwZSBzdHJpbmcgY29uc3RhbnRzIAorICAgIGlzIHRvIGFk ZCBhIHByZWZpeCAnTicgdG8gdGhlIHN0cmluZyBjb25zdGFudC4KKyAgICAK KyAgICBUaGUgZm9sbG93aW5nIHRyaXZpYWwgZXhhbXBsZSBzaG93cyBob3cg dG8gcGFzcyBhIG5hdGlvbmFsIGNoYXJhY3RlciB0eXBlIAorICAgIHN0cmlu ZyBjb25zdGFudCB3aXRoIHByZWZpeCAnTicKKyAgICAKKyAgICAgPHByb2dy YW1saXN0aW5nPgorICAgICAgICAgICAgSU5TRVJUIElOVE8gdGVzdCBWQUxV RVMgKE4nb2snKTsKKyAgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICAKKyAg ICA8L3BhcmE+CisgICAgPHBhcmE+CisgICAgUGxlYXNlIG5vdGUgdGhhdCB0 aGlzIHN5bnRheCBpcyBvcHRpb25hbCBhbmQgbmF0aW9uYWwgY2hhcmFjdGVy IHR5cGUgc3RyaW5nIGNvbnN0YW50cyBjYW4gYWxzbyBiZSBzcGVjaWZpZWQg Ym91bmRlZCBieSBzaW5nbGUgcXVvdGVzICg8bGl0ZXJhbD4nPC9saXRlcmFs PiksIGZvciBleGFtcGxlCisgICAgIDxsaXRlcmFsPidvayc8L2xpdGVyYWw+ LgorICAgIDwvcGFyYT4KKyAgIDwvc2VjdDM+CisKICAgIDxzZWN0MyBpZD0i c3FsLXN5bnRheC1kb2xsYXItcXVvdGluZyI+CiAgICAgPHRpdGxlPkRvbGxh ci1xdW90ZWQgU3RyaW5nIENvbnN0YW50czwvdGl0bGU+CiAKZGlmZiAtdU5y IHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvYmFja2VuZC9jYXRhbG9n L2luZm9ybWF0aW9uX3NjaGVtYS5zcWwgcG9zdGdyZXNxbC1oZWFkLTIwMTMx MDE3LW5jaGFyL3NyYy9iYWNrZW5kL2NhdGFsb2cvaW5mb3JtYXRpb25fc2No ZW1hLnNxbAotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9iYWNr ZW5kL2NhdGFsb2cvaW5mb3JtYXRpb25fc2NoZW1hLnNxbAkyMDEzLTEwLTE3 IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEwMAorKysgcG9zdGdyZXNxbC1oZWFk LTIwMTMxMDE3LW5jaGFyL3NyYy9iYWNrZW5kL2NhdGFsb2cvaW5mb3JtYXRp b25fc2NoZW1hLnNxbAkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAwMDAwMCAr MTEwMApAQCAtNzksNyArNzksNyBAQAogJCRTRUxFQ1QKICAgQ0FTRSBXSEVO ICQyID0gLTEgLyogZGVmYXVsdCB0eXBtb2QgKi8KICAgICAgICBUSEVOIG51 bGwKLSAgICAgICBXSEVOICQxIElOICgxMDQyLCAxMDQzKSAvKiBjaGFyLCB2 YXJjaGFyICovCisgICAgICAgV0hFTiAkMSBJTiAoMTA0MiwgMTA0MywgNTAw MSwgNjAwMSkgLyogY2hhciwgdmFyY2hhciwgbmNoYXIsIG52YXJjaGFyICov CiAgICAgICAgVEhFTiAkMiAtIDQKICAgICAgICBXSEVOICQxIElOICgxNTYw LCAxNTYyKSAvKiBiaXQsIHZhcmJpdCAqLwogICAgICAgIFRIRU4gJDIKQEAg LTkyLDcgKzkyLDcgQEAKICAgICBSRVRVUk5TIE5VTEwgT04gTlVMTCBJTlBV VAogICAgIEFTCiAkJFNFTEVDVAotICBDQVNFIFdIRU4gJDEgSU4gKDI1LCAx MDQyLCAxMDQzKSAvKiB0ZXh0LCBjaGFyLCB2YXJjaGFyICovCisgIENBU0Ug V0hFTiAkMSBJTiAoMjUsIDEwNDIsIDEwNDMsIDUwMDEsIDYwMDEpIC8qIHRl eHQsIGNoYXIsIHZhcmNoYXIsIG5jaGFyLCBudmFyY2hhciAqLwogICAgICAg IFRIRU4gQ0FTRSBXSEVOICQyID0gLTEgLyogZGVmYXVsdCB0eXBtb2QgKi8K ICAgICAgICAgICAgICAgICAgVEhFTiBDQVNUKDJeMzAgQVMgaW50ZWdlcikK ICAgICAgICAgICAgICAgICAgRUxTRSBpbmZvcm1hdGlvbl9zY2hlbWEuX3Bn X2NoYXJfbWF4X2xlbmd0aCgkMSwgJDIpICoKZGlmZiAtdU5yIHBvc3RncmVz cWwtaGVhZC0yMDEzMTAxNy9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGF0aC9p bmR4cGF0aC5jIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGF0aC9pbmR4cGF0aC5jCi0tLSBwb3N0Z3Jl c3FsLWhlYWQtMjAxMzEwMTcvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgv aW5keHBhdGguYwkyMDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEw MAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9iYWNr ZW5kL29wdGltaXplci9wYXRoL2luZHhwYXRoLmMJMjAxMy0xMC0zMSAxMDo1 ODoyNC4wMDAwMDAwMDAgKzExMDAKQEAgLTQwMDMsNiArNDAwMyw4IEBACiAJ CWNhc2UgVEVYVE9JRDoKIAkJY2FzZSBWQVJDSEFST0lEOgogCQljYXNlIEJQ Q0hBUk9JRDoKKwkJY2FzZSBOVkFSQ0hBUk9JRDoKKwkJY2FzZSBOQlBDSEFS T0lEOgogCQkJY29sbGF0aW9uID0gREVGQVVMVF9DT0xMQVRJT05fT0lEOwog CQkJY29uc3RsZW4gPSAtMTsKIAkJCWJyZWFrOwpkaWZmIC11TnIgcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkg cG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9iYWNrZW5kL3Bh cnNlci9ncmFtLnkKLS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMv YmFja2VuZC9wYXJzZXIvZ3JhbS55CTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAw MDAwMDAwICsxMTAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNo YXIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQkyMDEzLTExLTA0IDEwOjU3 OjQ3LjAwMDAwMDAwMCArMTEwMApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1 ZGUgInV0aWxzL2RhdGV0aW1lLmgiCiAjaW5jbHVkZSAidXRpbHMvbnVtZXJp Yy5oIgogI2luY2x1ZGUgInV0aWxzL3htbC5oIgorI2luY2x1ZGUgIm1iL3Bn X3djaGFyLmgiCiAKIAogLyoKQEAgLTQ0Miw5ICs0NDMsMTEgQEAKIAkJCQlH ZW5lcmljVHlwZSBOdW1lcmljIG9wdF9mbG9hdAogCQkJCUNoYXJhY3RlciBD b25zdENoYXJhY3RlcgogCQkJCUNoYXJhY3RlcldpdGhMZW5ndGggQ2hhcmFj dGVyV2l0aG91dExlbmd0aAorCQkJCU5DaGFyYWN0ZXJXaXRoTGVuZ3RoIE5D aGFyYWN0ZXJXaXRob3V0TGVuZ3RoCiAJCQkJQ29uc3REYXRldGltZSBDb25z dEludGVydmFsCiAJCQkJQml0IENvbnN0Qml0IEJpdFdpdGhMZW5ndGggQml0 V2l0aG91dExlbmd0aAogJXR5cGUgPHN0cj4JCWNoYXJhY3RlcgorJXR5cGUg PHN0cj4JCW5jaGFyYWN0ZXIKICV0eXBlIDxzdHI+CQlleHRyYWN0X2FyZwog JXR5cGUgPHN0cj4JCW9wdF9jaGFyc2V0CiAldHlwZSA8Ym9vbGVhbj4gb3B0 X3Zhcnlpbmcgb3B0X3RpbWV6b25lIG9wdF9ub19pbmhlcml0CkBAIC01NjQs NyArNTY3LDcgQEAKIAogCU5BTUVfUCBOQU1FUyBOQVRJT05BTCBOQVRVUkFM IE5DSEFSIE5FWFQgTk8gTk9ORQogCU5PVCBOT1RISU5HIE5PVElGWSBOT1RO VUxMIE5PV0FJVCBOVUxMX1AgTlVMTElGCi0JTlVMTFNfUCBOVU1FUklDCisJ TlVMTFNfUCBOVU1FUklDIE5WQVJDSEFSCiAKIAlPQkpFQ1RfUCBPRiBPRkYg T0ZGU0VUIE9JRFMgT04gT05MWSBPUEVSQVRPUiBPUFRJT04gT1BUSU9OUyBP UgogCU9SREVSIE9SRElOQUxJVFkgT1VUX1AgT1VURVJfUCBPVkVSIE9WRVJM QVBTIE9WRVJMQVkgT1dORUQgT1dORVIKQEAgLTEwMzAyLDYgKzEwMzA1LDE0 IEBACiAJCQkJewogCQkJCQkkJCA9ICQxOwogCQkJCX0KKwkJCXwgTkNoYXJh Y3RlcldpdGhMZW5ndGgKKwkJCQl7CisJCQkJCSQkID0gJDE7CisJCQkJfQor CQkJfCBOQ2hhcmFjdGVyV2l0aG91dExlbmd0aAorCQkJCXsKKwkJCQkJJCQg PSAkMTsKKwkJCQl9CiAJCTsKIAogQ29uc3RDaGFyYWN0ZXI6ICBDaGFyYWN0 ZXJXaXRoTGVuZ3RoCkBAIC0xMDMxOSw2ICsxMDMzMCw2OCBAQAogCQkJCQkk JCA9ICQxOwogCQkJCQkkJC0+dHlwbW9kcyA9IE5JTDsKIAkJCQl9CisJCQl8 IE5DaGFyYWN0ZXJXaXRoTGVuZ3RoCisJCQkJeworCQkJCQkkJCA9ICQxOwor CQkJCX0KKwkJCXwgTkNoYXJhY3RlcldpdGhvdXRMZW5ndGgKKwkJCQl7CisJ CQkJCS8qIExlbmd0aCB3YXMgbm90IHNwZWNpZmllZCBzbyBhbGxvdyB0byBi ZSB1bnJlc3RyaWN0ZWQuCisJCQkJCSAqIFRoaXMgaGFuZGxlcyBwcm9ibGVt cyB3aXRoIGZpeGVkLWxlbmd0aCAoYnBjaGFyKSBzdHJpbmdzCisJCQkJCSAq IHdoaWNoIGluIGNvbHVtbiBkZWZpbml0aW9ucyBtdXN0IGRlZmF1bHQgdG8g YSBsZW5ndGgKKwkJCQkJICogb2Ygb25lLCBidXQgc2hvdWxkIG5vdCBiZSBj b25zdHJhaW5lZCBpZiB0aGUgbGVuZ3RoCisJCQkJCSAqIHdhcyBub3Qgc3Bl Y2lmaWVkLgorCQkJCQkgKi8KKwkJCQkJJCQgPSAkMTsKKwkJCQkJJCQtPnR5 cG1vZHMgPSBOSUw7CisJCQkJfQorCQk7CisKK05DaGFyYWN0ZXJXaXRoTGVu Z3RoOiAgTkFUSU9OQUwgbmNoYXJhY3RlciAnKCcgSWNvbnN0ICcpJyBvcHRf Y2hhcnNldAorCQkJCXsKKwkJCQkJaWYgKCgkNiAhPSBOVUxMKSAmJiAoc3Ry Y21wKCQ2LCAic3FsX3RleHQiKSAhPSAwKSkKKwkJCQkJeworCQkJCQkJY2hh ciAqdHlwZTsKKworCQkJCQkJdHlwZSA9IHBhbGxvYyhzdHJsZW4oJDIpICsg MSArIHN0cmxlbigkMikgKyAxKTsKKwkJCQkJCXN0cmNweSh0eXBlLCAkMik7 CisJCQkJCQlzdHJjYXQodHlwZSwgIl8iKTsKKwkJCQkJCXN0cmNhdCh0eXBl LCAkNik7CisJCQkJCQkkMSA9IHR5cGU7CisJCQkJCX0KKwkJCQkJJCQgPSBT eXN0ZW1UeXBlTmFtZSgkMik7CisJCQkJCSQkLT50eXBtb2RzID0gbGlzdF9t YWtlMShtYWtlSW50Q29uc3QoJDQsIEA0KSk7CisJCQkJCSQkLT5sb2NhdGlv biA9IEAxOworCQkJCX0KKwkJOworCitOQ2hhcmFjdGVyV2l0aG91dExlbmd0 aDogTkFUSU9OQUwgbmNoYXJhY3RlciBvcHRfY2hhcnNldAorCQkJCXsKKwkJ CQkJaWYgKCgkMyAhPSBOVUxMKSAmJiAoc3RyY21wKCQzLCAic3FsX3RleHQi KSAhPSAwKSkKKwkJCQkJeworCQkJCQkJY2hhciAqdHlwZTsKKworCQkJCQkJ dHlwZSA9IHBhbGxvYyhzdHJsZW4oJDIpICsgMSArIHN0cmxlbigkMykgKyAx KTsKKwkJCQkJCXN0cmNweSh0eXBlLCAkMik7CisJCQkJCQlzdHJjYXQodHlw ZSwgIl8iKTsKKwkJCQkJCXN0cmNhdCh0eXBlLCAkMyk7CisJCQkJCQkkMiA9 IHR5cGU7CisJCQkJCX0KKwkJCQkJJCQgPSBTeXN0ZW1UeXBlTmFtZSgkMik7 CisJCQkJCS8qIG5jaGFyIGRlZmF1bHRzIHRvIGNoYXIoMSksIHZhcmNoYXIg dG8gbm8gbGltaXQgKi8KKwkJCQkJaWYgKHN0cmNtcCgkMiwgIm5icGNoYXIi KSA9PSAwKQorCQkJCQkJJCQtPnR5cG1vZHMgPSBsaXN0X21ha2UxKG1ha2VJ bnRDb25zdCgxLCAtMSkpOworCisJCQkJCSQkLT5sb2NhdGlvbiA9IEAxOwor CQkJCX0KKwkJOworCituY2hhcmFjdGVyOiAgQ0hBUkFDVEVSIG9wdF92YXJ5 aW5nCisJCQkJeyAkJCA9ICQyID8gIm52YXJjaGFyIjogIm5icGNoYXIiOyB9 CisJCQl8IENIQVJfUCBvcHRfdmFyeWluZworCQkJCXsgJCQgPSAkMiA/ICJu dmFyY2hhciI6ICJuYnBjaGFyIjsgfQorCQkJfCBWQVJDSEFSCisJCQkJeyAk JCA9ICJudmFyY2hhciI7IH0KIAkJOwogCiBDaGFyYWN0ZXJXaXRoTGVuZ3Ro OiAgY2hhcmFjdGVyICcoJyBJY29uc3QgJyknIG9wdF9jaGFyc2V0CkBAIC0x MDMzOSw4ICsxMDQxMiw4IEBACiAKIAkJCQkJJCQgPSBTeXN0ZW1UeXBlTmFt ZSgkMSk7CiAKLQkJCQkJLyogY2hhciBkZWZhdWx0cyB0byBjaGFyKDEpLCB2 YXJjaGFyIHRvIG5vIGxpbWl0ICovCi0JCQkJCWlmIChzdHJjbXAoJDEsICJi cGNoYXIiKSA9PSAwKQorCQkJCQkvKiBbbl1jaGFyIGRlZmF1bHRzIHRvIFtu YXRpb25hbCBdY2hhcigxKSwgdmFyY2hhciB0byBubyBsaW1pdCAqLworCQkJ CQlpZiAoKHN0cmNtcCgkMSwgImJwY2hhciIpID09IDApIHx8IChzdHJjbXAo JDEsICJuYnBjaGFyIikgPT0gMCkpCiAJCQkJCQkkJC0+dHlwbW9kcyA9IGxp c3RfbWFrZTEobWFrZUludENvbnN0KDEsIC0xKSk7CiAKIAkJCQkJJCQtPmxv Y2F0aW9uID0gQDE7CkBAIC0xMDM1MywxMiArMTA0MjYsMTAgQEAKIAkJCQkJ CQkJCQl7ICQkID0gJDIgPyAidmFyY2hhciI6ICJicGNoYXIiOyB9CiAJCQl8 IFZBUkNIQVIKIAkJCQkJCQkJCQl7ICQkID0gInZhcmNoYXIiOyB9Ci0JCQl8 IE5BVElPTkFMIENIQVJBQ1RFUiBvcHRfdmFyeWluZwotCQkJCQkJCQkJCXsg JCQgPSAkMyA/ICJ2YXJjaGFyIjogImJwY2hhciI7IH0KLQkJCXwgTkFUSU9O QUwgQ0hBUl9QIG9wdF92YXJ5aW5nCi0JCQkJCQkJCQkJeyAkJCA9ICQzID8g InZhcmNoYXIiOiAiYnBjaGFyIjsgfQogCQkJfCBOQ0hBUiBvcHRfdmFyeWlu ZwotCQkJCQkJCQkJCXsgJCQgPSAkMiA/ICJ2YXJjaGFyIjogImJwY2hhciI7 IH0KKwkJCQkJCQkJCQl7ICQkID0gJDIgPyAibnZhcmNoYXIiOiAibmJwY2hh ciI7IH0KKwkJCXwgTlZBUkNIQVIKKwkJCQkJCQkJCQl7ICQkID0gIm52YXJj aGFyIjsgfQogCQk7CiAKIG9wdF92YXJ5aW5nOgpAQCAtMTI3NDgsNiArMTI4 MTksNyBAQAogCQkJfCBOT05FCiAJCQl8IE5VTExJRgogCQkJfCBOVU1FUklD CisJCQl8IE5WQVJDSEFSCiAJCQl8IE9VVF9QCiAJCQl8IE9WRVJMQVkKIAkJ CXwgUE9TSVRJT04KZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAx Ny9zcmMvYmFja2VuZC9wYXJzZXIvc2Nhbi5sIHBvc3RncmVzcWwtaGVhZC0y MDEzMTAxNy1uY2hhci9zcmMvYmFja2VuZC9wYXJzZXIvc2Nhbi5sCi0tLSBw b3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2JhY2tlbmQvcGFyc2VyL3Nj YW4ubAkyMDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEwMAorKysg cG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9iYWNrZW5kL3Bh cnNlci9zY2FuLmwJMjAxMy0xMC0xNyAxMTo1NjoyMi4wMDAwMDAwMDAgKzEx MDAKQEAgLTQ4Miw3ICs0ODIsNyBAQAogCQkJCQlTRVRfWVlMTE9DKCk7CiAJ CQkJCXl5bGVzcygxKTsJCQkJLyogZWF0IG9ubHkgJ24nIHRoaXMgdGltZSAq LwogCi0JCQkJCWtleXdvcmQgPSBTY2FuS2V5d29yZExvb2t1cCgibmNoYXIi LAorCQkJCQlrZXl3b3JkID0gU2NhbktleXdvcmRMb29rdXAoIm52YXJjaGFy IiwKIAkJCQkJCQkJCQkJCXl5ZXh0cmEtPmtleXdvcmRzLAogCQkJCQkJCQkJ CQkJeXlleHRyYS0+bnVtX2tleXdvcmRzKTsKIAkJCQkJaWYgKGtleXdvcmQg IT0gTlVMTCkKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9z cmMvYmFja2VuZC91dGlscy9hZHQvTWFrZWZpbGUgcG9zdGdyZXNxbC1oZWFk LTIwMTMxMDE3LW5jaGFyL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9NYWtlZmls ZQotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9NYWtlZmlsZQkyMDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAw MCArMTEwMAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9NYWtlZmlsZQkyMDEzLTEwLTI1IDE0OjUz OjM4LjAwMDAwMDAwMCArMTEwMApAQCAtMjAsNyArMjAsNyBAQAogCWNhc2gu byBjaGFyLm8gZGF0ZS5vIGRhdGV0aW1lLm8gZGF0dW0ubyBkb21haW5zLm8g XAogCWVudW0ubyBmbG9hdC5vIGZvcm1hdF90eXBlLm8gXAogCWdlb19vcHMu byBnZW9fc2VsZnVuY3MubyBpbnQubyBpbnQ4Lm8ganNvbi5vIGpzb25mdW5j cy5vIGxpa2UubyBcCi0JbG9ja2Z1bmNzLm8gbWlzYy5vIG5hYnN0aW1lLm8g bmFtZS5vIG51bWVyaWMubyBudW11dGlscy5vIFwKKwlsb2NrZnVuY3MubyBt aXNjLm8gbmFic3RpbWUubyBuYW1lLm8gbnVtZXJpYy5vIG51bXV0aWxzLm8g bnZhcmNoYXIubyBcCiAJb2lkLm8gb3JhY2xlX2NvbXBhdC5vIHBzZXVkb3R5 cGVzLm8gcmFuZ2V0eXBlcy5vIHJhbmdldHlwZXNfZ2lzdC5vIFwKIAlyb3d0 eXBlcy5vIHJlZ2V4cC5vIHJlZ3Byb2MubyBydWxldXRpbHMubyBzZWxmdW5j cy5vIFwKIAl0aWQubyB0aW1lc3RhbXAubyB2YXJiaXQubyB2YXJjaGFyLm8g dmFybGVuYS5vIHZlcnNpb24ubyB4aWQubyBcCmRpZmYgLXVOciBwb3N0Z3Jl c3FsLWhlYWQtMjAxMzEwMTcvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2Zvcm1h dF90eXBlLmMgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9mb3JtYXRfdHlwZS5jCi0tLSBwb3N0Z3Jlc3Fs LWhlYWQtMjAxMzEwMTcvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2Zvcm1hdF90 eXBlLmMJMjAxMy0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzExMDAKKysr IHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvYmFja2VuZC91 dGlscy9hZHQvZm9ybWF0X3R5cGUuYwkyMDEzLTEwLTMxIDExOjAxOjE3LjAw MDAwMDAwMCArMTEwMApAQCAtMjE4LDYgKzIxOCwxNyBAQAogCQkJCWJ1ZiA9 IHBzdHJkdXAoImNoYXJhY3RlciIpOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBO QlBDSEFST0lEOgorCQkJaWYgKHdpdGhfdHlwZW1vZCkKKwkJCQlidWYgPSBw cmludFR5cG1vZCgibmF0aW9uYWwgY2hhcmFjdGVyIiwgdHlwZW1vZCwgdHlw ZWZvcm0tPnR5cG1vZG91dCk7CisJCQllbHNlIGlmICh0eXBlbW9kX2dpdmVu KQorCQkJeworCQkJCS8qIFNlZSB0aGUgY29tbWVudCBmb3IgQlBDSEFSIGFi b3ZlICovCisJCQl9CisJCQllbHNlCisJCQkJYnVmID0gcHN0cmR1cCgibmF0 aW9uYWwgY2hhcmFjdGVyIik7CisJCQlicmVhazsKKwogCQljYXNlIEZMT0FU NE9JRDoKIAkJCWJ1ZiA9IHBzdHJkdXAoInJlYWwiKTsKIAkJCWJyZWFrOwpA QCAtMjkzLDYgKzMwNCwxMyBAQAogCQkJZWxzZQogCQkJCWJ1ZiA9IHBzdHJk dXAoImNoYXJhY3RlciB2YXJ5aW5nIik7CiAJCQlicmVhazsKKworCQljYXNl IE5WQVJDSEFST0lEOgorCQkJaWYgKHdpdGhfdHlwZW1vZCkKKwkJCQlidWYg PSBwcmludFR5cG1vZCgibmF0aW9uYWwgY2hhcmFjdGVyIHZhcnlpbmciLCB0 eXBlbW9kLCB0eXBlZm9ybS0+dHlwbW9kb3V0KTsKKwkJCWVsc2UKKwkJCQli dWYgPSBwc3RyZHVwKCJuYXRpb25hbCBjaGFyYWN0ZXIgdmFyeWluZyIpOwor CQkJYnJlYWs7CiAJfQogCiAJaWYgKGJ1ZiA9PSBOVUxMKQpAQCAtMzg0LDYg KzQwMiw4IEBACiAJewogCQljYXNlIEJQQ0hBUk9JRDoKIAkJY2FzZSBWQVJD SEFST0lEOgorCQljYXNlIE5CUENIQVJPSUQ6CisJCWNhc2UgTlZBUkNIQVJP SUQ6CiAJCQkvKiB0eXBlbW9kIGluY2x1ZGVzIHZhcmxlbmEgaGVhZGVyICov CiAKIAkJCS8qIHR5cGVtb2QgaXMgaW4gY2hhcmFjdGVycyBub3QgYnl0ZXMg Ki8KZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvYmFj a2VuZC91dGlscy9hZHQvbnZhcmNoYXIuYyBwb3N0Z3Jlc3FsLWhlYWQtMjAx MzEwMTctbmNoYXIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L252YXJjaGFyLmMK LS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvYmFja2VuZC91dGls cy9hZHQvbnZhcmNoYXIuYwkxOTcwLTAxLTAxIDEwOjAwOjAwLjAwMDAwMDAw MCArMTAwMAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9udmFyY2hhci5jCTIwMTMtMTAtMzAgMTQ6 MzI6MDIuMDAwMDAwMDAwICsxMTAwCkBAIC0wLDAgKzEsNDggQEAKKy8qLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIHZhcmNoYXIuYwor ICoJICBGdW5jdGlvbnMgZm9yIHRoZSBidWlsdC1pbiB0eXBlcyBuY2hhcihu KSBhbmQgbnZhcmNoYXIobikuCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0 IChjKSAxOTk2LTIwMTMsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50 IEdyb3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2Vu dHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAqCisg KiBJREVOVElGSUNBVElPTgorICoJICBzcmMvYmFja2VuZC91dGlscy9hZHQv bnZhcmNoYXIuYworICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICovCisjaW5jbHVkZSAicG9zdGdyZXMuaCIKKworCisjaW5jbHVkZSAi YWNjZXNzL2hhc2guaCIKKyNpbmNsdWRlICJhY2Nlc3MvdHVwdG9hc3Rlci5o IgorI2luY2x1ZGUgImxpYnBxL3BxZm9ybWF0LmgiCisjaW5jbHVkZSAibm9k ZXMvbm9kZUZ1bmNzLmgiCisjaW5jbHVkZSAidXRpbHMvYXJyYXkuaCIKKyNp bmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgorI2luY2x1ZGUgIm1iL3BnX3dj aGFyLmgiCisKKworLyoKKyAqIGFjdHVhbGx5IGp1c3QgVVRGOCBzdHVicyBj b3BpZWQgZm9ybSBjaGFyL3ZhcmNoYXIKKyAqLworCitEYXR1bQorbmJwY2hh cm9jdGV0bGVuKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJRGF0dW0JCWFyZyA9 IFBHX0dFVEFSR19EQVRVTSgwKTsKKworCS8qIFdlIG5lZWQgbm90IGRldG9h c3QgdGhlIGlucHV0IGF0IGFsbCAqLworCVBHX1JFVFVSTl9JTlQzMih0b2Fz dF9yYXdfZGF0dW1fc2l6ZShhcmcpIC0gVkFSSERSU1opOworfQorCitEYXR1 bQorbnZhcmNoYXJvY3RldGxlbihQR19GVU5DVElPTl9BUkdTKQoreworICAg ICAgICBEYXR1bSAgICAgICAgICAgYXJnID0gUEdfR0VUQVJHX0RBVFVNKDAp OworCisgICAgICAgIC8qIFdlIG5lZWQgbm90IGRldG9hc3QgdGhlIGlucHV0 IGF0IGFsbCAqLworICAgICAgICBQR19SRVRVUk5fSU5UMzIodG9hc3RfcmF3 X2RhdHVtX3NpemUoYXJnKSAtIFZBUkhEUlNaKTsKK30KKwpkaWZmIC11TnIg cG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC9zZWxmdW5jcy5jIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9z cmMvYmFja2VuZC91dGlscy9hZHQvc2VsZnVuY3MuYwotLS0gcG9zdGdyZXNx bC1oZWFkLTIwMTMxMDE3L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9zZWxmdW5j cy5jCTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAwMDAwMDAwICsxMTAwCisrKyBw b3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3NlbGZ1bmNzLmMJMjAxMy0xMC0xNyAxMTo1NjoyMi4wMDAwMDAw MDAgKzExMDAKQEAgLTM2MjYsNyArMzYyNiw5IEBACiAJCQkgKi8KIAkJY2Fz ZSBDSEFST0lEOgogCQljYXNlIEJQQ0hBUk9JRDoKKwkJY2FzZSBOQlBDSEFS T0lEOgogCQljYXNlIFZBUkNIQVJPSUQ6CisJCWNhc2UgTlZBUkNIQVJPSUQ6 CiAJCWNhc2UgVEVYVE9JRDoKIAkJY2FzZSBOQU1FT0lEOgogCQkJewpAQCAt Mzg4OCw3ICszODkwLDkgQEAKIAkJCXZhbFsxXSA9ICdcMCc7CiAJCQlicmVh azsKIAkJY2FzZSBCUENIQVJPSUQ6CisJCWNhc2UgTkJQQ0hBUk9JRDoKIAkJ Y2FzZSBWQVJDSEFST0lEOgorCQljYXNlIE5WQVJDSEFST0lEOgogCQljYXNl IFRFWFRPSUQ6CiAJCQl2YWwgPSBUZXh0RGF0dW1HZXRDU3RyaW5nKHZhbHVl KTsKIAkJCWJyZWFrOwpAQCAtNTg3NSw3ICs1ODc5LDkgQEAKIAl7CiAJCWNh c2UgVEVYVE9JRDoKIAkJY2FzZSBWQVJDSEFST0lEOgorCQljYXNlIE5WQVJD SEFST0lEOgogCQljYXNlIEJQQ0hBUk9JRDoKKwkJY2FzZSBOQlBDSEFST0lE OgogCQkJY29sbGF0aW9uID0gREVGQVVMVF9DT0xMQVRJT05fT0lEOwogCQkJ Y29uc3RsZW4gPSAtMTsKIAkJCWJyZWFrOwpkaWZmIC11TnIgcG9zdGdyZXNx bC1oZWFkLTIwMTMxMDE3L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYW1vcC5o IHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX2Ftb3AuaAotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3 L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYW1vcC5oCTIwMTMtMTAtMTcgMDQ6 MjI6NTUuMDAwMDAwMDAwICsxMTAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAx MzEwMTctbmNoYXIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hbW9wLmgJMjAx My0xMC0zMCAxNDo0NDo0NC4wMDAwMDAwMDAgKzExMDAKQEAgLTI1Myw2ICsy NTMsMTIgQEAKIERBVEEoaW5zZXJ0ICgJNDI2ICAgMTA0MiAxMDQyIDQgcyAx MDYxCTQwMyAwICkpOwogREFUQShpbnNlcnQgKAk0MjYgICAxMDQyIDEwNDIg NSBzIDEwNjAJNDAzIDAgKSk7CiAKK0RBVEEoaW5zZXJ0ICgJNDI2ICAgNTAw MSA1MDAxIDEgcyA1MDU4CTQwMyAwICkpOworREFUQShpbnNlcnQgKAk0MjYg ICA1MDAxIDUwMDEgMiBzIDUwNTkJNDAzIDAgKSk7CitEQVRBKGluc2VydCAo CTQyNiAgIDUwMDEgNTAwMSAzIHMgNTA1NAk0MDMgMCApKTsKK0RBVEEoaW5z ZXJ0ICgJNDI2ICAgNTAwMSA1MDAxIDQgcyA1MDYxCTQwMyAwICkpOworREFU QShpbnNlcnQgKAk0MjYgICA1MDAxIDUwMDEgNSBzIDUwNjAJNDAzIDAgKSk7 CisKIC8qCiAgKglidHJlZSBieXRlYV9vcHMKICAqLwpAQCAtNTE4LDYgKzUy NCwxMCBAQAogCiAvKiBicGNoYXJfb3BzICovCiBEQVRBKGluc2VydCAoCTQy NyAgIDEwNDIgMTA0MiAxIHMgMTA1NAk0MDUgMCApKTsKKworLyogbmJwY2hh cl9vcHMgKi8KK0RBVEEoaW5zZXJ0ICgJNDI3ICAgNTAwMSA1MDAxIDEgcyA1 MDU0CTQwNSAwICkpOworCiAvKiBjaGFyX29wcyAqLwogREFUQShpbnNlcnQg KAk0MzEgICAxOCAxOCAxIHMgOTIJNDA1IDAgKSk7CiAvKiBkYXRlX29wcyAq LwpkaWZmIC11TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfYW1wcm9jLmggcG9zdGdyZXNxbC1oZWFkLTIwMTMx MDE3LW5jaGFyL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYW1wcm9jLmgKLS0t IHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX2FtcHJvYy5oCTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAwMDAwMDAwICsx MTAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19hbXByb2MuaAkyMDEzLTEwLTMwIDE0OjQzOjI1 LjAwMDAwMDAwMCArMTEwMApAQCAtODAsNiArODAsNyBAQAogREFUQShpbnNl cnQgKAk0MjMgICAxNTYwIDE1NjAgMSAxNTk2ICkpOwogREFUQShpbnNlcnQg KAk0MjQgICAxNiAxNiAxIDE2OTMgKSk7CiBEQVRBKGluc2VydCAoCTQyNiAg IDEwNDIgMTA0MiAxIDEwNzggKSk7CitEQVRBKGluc2VydCAoCTQyNiAgIDUw MDEgNTAwMSAxIDEwNzggKSk7CiBEQVRBKGluc2VydCAoCTQyOCAgIDE3IDE3 IDEgMTk1NCApKTsKIERBVEEoaW5zZXJ0ICgJNDI5ICAgMTggMTggMSAzNTgg KSk7CiBEQVRBKGluc2VydCAoCTQzNCAgIDEwODIgMTA4MiAxIDEwOTIgKSk7 CkBAIC0xMjksNiArMTMwLDcgQEAKIERBVEEoaW5zZXJ0ICgJMjAwMiAgIDE1 NjIgMTU2MiAxIDE2NzIgKSk7CiBEQVRBKGluc2VydCAoCTIwOTUgICAyNSAy NSAxIDIxNjYgKSk7CiBEQVRBKGluc2VydCAoCTIwOTcgICAxMDQyIDEwNDIg MSAyMTgwICkpOworREFUQShpbnNlcnQgKAkyMDk3ICAgNTAwMSA1MDAxIDEg MjE4MCApKTsKIERBVEEoaW5zZXJ0ICgJMjA5OSAgIDc5MCA3OTAgMSAgMzc3 ICkpOwogREFUQShpbnNlcnQgKAkyMjMzICAgNzAzIDcwMyAxICAzODAgKSk7 CiBEQVRBKGluc2VydCAoCTIyMzQgICA3MDQgNzA0IDEgIDM4MSApKTsKQEAg LTEzOSw2ICsxNDEsNyBAQAogCiAvKiBoYXNoICovCiBEQVRBKGluc2VydCAo CTQyNyAgIDEwNDIgMTA0MiAxIDEwODAgKSk7CitEQVRBKGluc2VydCAoCTQy NyAgIDUwMDEgNTAwMSAxIDEwODAgKSk7CiBEQVRBKGluc2VydCAoCTQzMSAg IDE4IDE4IDEgNDU0ICkpOwogREFUQShpbnNlcnQgKAk0MzUgICAxMDgyIDEw ODIgMSA0NTAgKSk7CiBEQVRBKGluc2VydCAoCTYyNyAgIDIyNzcgMjI3NyAx IDYyNiApKTsKQEAgLTE2OCw2ICsxNzEsNyBAQAogREFUQShpbnNlcnQgKAky MjI4ICAgNzAzIDcwMyAxIDQ1MCApKTsKIERBVEEoaW5zZXJ0ICgJMjIyOSAg IDI1IDI1IDEgNDAwICkpOwogREFUQShpbnNlcnQgKAkyMjMxICAgMTA0MiAx MDQyIDEgMTA4MCApKTsKK0RBVEEoaW5zZXJ0ICgJMjIzMSAgIDUwMDEgNTAw MSAxIDEwODAgKSk7CiBEQVRBKGluc2VydCAoCTIyMzUgICAxMDMzIDEwMzMg MSAzMjkgKSk7CiBEQVRBKGluc2VydCAoCTI5NjkgICAyOTUwIDI5NTAgMSAy OTYzICkpOwogREFUQShpbnNlcnQgKAkzNTIzICAgMzUwMCAzNTAwIDEgMzUx NSApKTsKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX2Nhc3QuaCBwb3N0Z3Jlc3FsLWhlYWQtMjAx MzEwMTctbmNoYXIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jYXN0LmgKLS0t IHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX2Nhc3QuaAkyMDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEw MAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfY2FzdC5oCTIwMTMtMTAtMzAgMTU6MTQ6MDkuMDAw MDAwMDAwICsxMTAwCkBAIC0yMjAsNiArMjIwLDIwIEBACiBEQVRBKGluc2Vy dCAoIDEwNDIgMTA0MyAgNDAxIGkgZiApKTsKIERBVEEoaW5zZXJ0ICggMTA0 MwkgMjUgICAgMCBpIGIgKSk7CiBEQVRBKGluc2VydCAoIDEwNDMgMTA0MiAg ICAwIGkgYiApKTsKK0RBVEEoaW5zZXJ0ICgJMjUgNTAwMSAgICAwIGkgYiAp KTsKK0RBVEEoaW5zZXJ0ICgJMjUgNjAwMSAgICAwIGkgYiApKTsKK0RBVEEo aW5zZXJ0ICggNTAwMQkgMjUgIDQwMSBpIGYgKSk7CitEQVRBKGluc2VydCAo IDYwMDEJIDI1ICAgIDAgaSBiICkpOworREFUQShpbnNlcnQgKCAxMDQyIDUw MDEgICAgMCBhIGIgKSk7CitEQVRBKGluc2VydCAoIDEwNDIgNjAwMSAgNDAx IGkgZiApKTsKK0RBVEEoaW5zZXJ0ICggNTAwMSAxMDQyICAgIDAgaSBiICkp OworREFUQShpbnNlcnQgKCA2MDAxIDEwNDIgICAgMCBpIGIgKSk7CitEQVRB KGluc2VydCAoIDEwNDMgNTAwMSAgICAwIGkgYiApKTsKK0RBVEEoaW5zZXJ0 ICggMTA0MyA2MDAxICAgIDAgaSBiICkpOworREFUQShpbnNlcnQgKCA1MDAx IDEwNDMgIDQwMSBpIGYgKSk7CitEQVRBKGluc2VydCAoIDYwMDEgMTA0MyAg ICAwIGkgYiApKTsKK0RBVEEoaW5zZXJ0ICggNTAwMSA2MDAxICA0MDEgaSBm ICkpOworREFUQShpbnNlcnQgKCA2MDAxIDUwMDEgICAgMCBpIGIgKSk7CiBE QVRBKGluc2VydCAoCTE4CSAyNSAgOTQ2IGkgZiApKTsKIERBVEEoaW5zZXJ0 ICgJMTggMTA0MiAgODYwIGEgZiApKTsKIERBVEEoaW5zZXJ0ICgJMTggMTA0 MyAgOTQ2IGEgZiApKTsKQEAgLTM1OCw1ICszNzIsNyBAQAogREFUQShpbnNl cnQgKCAxNTYwIDE1NjAgMTY4NSBpIGYgKSk7CiBEQVRBKGluc2VydCAoIDE1 NjIgMTU2MiAxNjg3IGkgZiApKTsKIERBVEEoaW5zZXJ0ICggMTcwMCAxNzAw IDE3MDMgaSBmICkpOworREFUQShpbnNlcnQgKCA1MDAxIDUwMDEgNTY2OCBp IGYgKSk7CitEQVRBKGluc2VydCAoIDYwMDEgNjAwMSA1NjY5IGkgZiApKTsK IAogI2VuZGlmICAgLyogUEdfQ0FTVF9IICovCmRpZmYgLXVOciBwb3N0Z3Jl c3FsLWhlYWQtMjAxMzEwMTcvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19vcGNs YXNzLmggcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfb3BjbGFzcy5oCi0tLSBwb3N0Z3Jlc3FsLWhlYWQt MjAxMzEwMTcvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19vcGNsYXNzLmgJMjAx My0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzExMDAKKysrIHBvc3RncmVz cWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X29wY2xhc3MuaAkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAwMDAwMCArMTEw MApAQCAtOTcsNiArOTcsOCBAQAogREFUQShpbnNlcnQgKAk0MDMJCWJvb2xf b3BzCQkJUEdOU1AgUEdVSUQgIDQyNCAgIDE2IHQgMCApKTsKIERBVEEoaW5z ZXJ0ICgJNDAzCQlicGNoYXJfb3BzCQkJUEdOU1AgUEdVSUQgIDQyNiAxMDQy IHQgMCApKTsKIERBVEEoaW5zZXJ0ICgJNDA1CQlicGNoYXJfb3BzCQkJUEdO U1AgUEdVSUQgIDQyNyAxMDQyIHQgMCApKTsKK0RBVEEoaW5zZXJ0ICgJNDAz CQluYnBjaGFyX29wcwkJCVBHTlNQIFBHVUlEICA0MjYgNTAwMSB0IDAgKSk7 CitEQVRBKGluc2VydCAoCTQwNQkJbmJwY2hhcl9vcHMJCQlQR05TUCBQR1VJ RCAgNDI3IDUwMDEgdCAwICkpOwogREFUQShpbnNlcnQgKAk0MDMJCWJ5dGVh X29wcwkJCVBHTlNQIFBHVUlEICA0MjggICAxNyB0IDAgKSk7CiBEQVRBKGlu c2VydCAoCTQwMwkJY2hhcl9vcHMJCQlQR05TUCBQR1VJRCAgNDI5ICAgMTgg dCAwICkpOwogREFUQShpbnNlcnQgKAk0MDUJCWNoYXJfb3BzCQkJUEdOU1Ag UEdVSUQgIDQzMSAgIDE4IHQgMCApKTsKQEAgLTE1Nyw2ICsxNTksOCBAQAog REFUQShpbnNlcnQgKAk0MDMJCXZhcmJpdF9vcHMJCQlQR05TUCBQR1VJRCAy MDAyIDE1NjIgdCAwICkpOwogREFUQShpbnNlcnQgKAk0MDMJCXZhcmNoYXJf b3BzCQkJUEdOU1AgUEdVSUQgMTk5NCAgIDI1IGYgMCApKTsKIERBVEEoaW5z ZXJ0ICgJNDA1CQl2YXJjaGFyX29wcwkJCVBHTlNQIFBHVUlEIDE5OTUgICAy NSBmIDAgKSk7CitEQVRBKGluc2VydCAoCTQwMwkJbnZhcmNoYXJfb3BzCQlQ R05TUCBQR1VJRCAxOTk0ICAgMjUgZiAwICkpOworREFUQShpbnNlcnQgKAk0 MDUJCW52YXJjaGFyX29wcwkJUEdOU1AgUEdVSUQgMTk5NSAgIDI1IGYgMCAp KTsKIERBVEEoaW5zZXJ0IE9JRCA9IDMxMjggKCA0MDMJdGltZXN0YW1wX29w cwlQR05TUCBQR1VJRCAgNDM0IDExMTQgdCAwICkpOwogI2RlZmluZSBUSU1F U1RBTVBfQlRSRUVfT1BTX09JRCAzMTI4CiBEQVRBKGluc2VydCAoCTQwNQkJ dGltZXN0YW1wX29wcwkJUEdOU1AgUEdVSUQgMjA0MCAxMTE0IHQgMCApKTsK QEAgLTE4OCw2ICsxOTIsNyBAQAogREFUQShpbnNlcnQgKAkyNzQyCV9iaXRf b3BzCQkJUEdOU1AgUEdVSUQgMjc0NSAgMTU2MSB0IDE1NjAgKSk7CiBEQVRB KGluc2VydCAoCTI3NDIJX2Jvb2xfb3BzCQkJUEdOU1AgUEdVSUQgMjc0NSAg MTAwMCB0IDE2ICkpOwogREFUQShpbnNlcnQgKAkyNzQyCV9icGNoYXJfb3Bz CQkJUEdOU1AgUEdVSUQgMjc0NSAgMTAxNCB0IDEwNDIgKSk7CitEQVRBKGlu c2VydCAoCTI3NDIJX25icGNoYXJfb3BzCQlQR05TUCBQR1VJRCAyNzQ1ICA1 MDE0IHQgNTAwMSApKTsKIERBVEEoaW5zZXJ0ICgJMjc0MglfYnl0ZWFfb3Bz CQkJUEdOU1AgUEdVSUQgMjc0NSAgMTAwMSB0IDE3ICkpOwogREFUQShpbnNl cnQgKAkyNzQyCV9jaGFyX29wcwkJCVBHTlNQIFBHVUlEIDI3NDUgIDEwMDIg dCAxOCApKTsKIERBVEEoaW5zZXJ0ICgJMjc0MglfY2lkcl9vcHMJCQlQR05T UCBQR1VJRCAyNzQ1ICA2NTEgdCA2NTAgKSk7CkBAIC0yMDgsNiArMjEzLDcg QEAKIERBVEEoaW5zZXJ0ICgJMjc0MglfdGltZXR6X29wcwkJCVBHTlNQIFBH VUlEIDI3NDUgIDEyNzAgdCAxMjY2ICkpOwogREFUQShpbnNlcnQgKAkyNzQy CV92YXJiaXRfb3BzCQkJUEdOU1AgUEdVSUQgMjc0NSAgMTU2MyB0IDE1NjIg KSk7CiBEQVRBKGluc2VydCAoCTI3NDIJX3ZhcmNoYXJfb3BzCQlQR05TUCBQ R1VJRCAyNzQ1ICAxMDE1IHQgMTA0MyApKTsKK0RBVEEoaW5zZXJ0ICgJMjc0 MglfbnZhcmNoYXJfb3BzCQlQR05TUCBQR1VJRCAyNzQ1ICA1MDE1IHQgNjAw MSApKTsKIERBVEEoaW5zZXJ0ICgJMjc0MglfdGltZXN0YW1wX29wcwkJUEdO U1AgUEdVSUQgMjc0NSAgMTExNSB0IDExMTQgKSk7CiBEQVRBKGluc2VydCAo CTI3NDIJX21vbmV5X29wcwkJCVBHTlNQIFBHVUlEIDI3NDUgIDc5MSB0IDc5 MCApKTsKIERBVEEoaW5zZXJ0ICgJMjc0MglfcmVsdGltZV9vcHMJCVBHTlNQ IFBHVUlEIDI3NDUgIDEwMjQgdCA3MDMgKSk7CmRpZmYgLXVOciBwb3N0Z3Jl c3FsLWhlYWQtMjAxMzEwMTcvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19vcGVy YXRvci5oIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX29wZXJhdG9yLmgKLS0tIHBvc3RncmVzcWwtaGVh ZC0yMDEzMTAxNy9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX29wZXJhdG9yLmgJ MjAxMy0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzExMDAKKysrIHBvc3Rn cmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX29wZXJhdG9yLmgJMjAxMy0xMC0zMSAxMToxMToyOS4wMDAwMDAwMDAg KzExMDAKQEAgLTE3NTEsNyArMTc1MSw0NiBAQAogREFUQShpbnNlcnQgT0lE ID0gMzk2NyAoICAiIz4+IiAgICBQR05TUCBQR1VJRCBiIGYgZiAxMTQgMTAw OSAyNSAwIDAganNvbl9leHRyYWN0X3BhdGhfdGV4dF9vcCAtIC0gKSk7CiBE RVNDUigiZ2V0IHZhbHVlIGZyb20ganNvbiBhcyB0ZXh0IHdpdGggcGF0aCBl bGVtZW50cyIpOwogCitEQVRBKGluc2VydCBPSUQgPSA1MDU0ICggIj0iCSAg IFBHTlNQIFBHVUlEIGIgdCB0IDUwMDEgNTAwMSAxNiA1MDU0IDUwNTcgbmJw Y2hhcmVxIGVxc2VsIGVxam9pbnNlbCApKTsKK0RFU0NSKCJlcXVhbCIpOwor REFUQShpbnNlcnQgT0lEID0gNTA1NSAoICJ+IgkgICBQR05TUCBQR1VJRCBi IGYgZiA1MDAxIDI1IDE2ICAgIDAgNTA1NiBuYnBjaGFycmVnZXhlcSByZWdl eGVxc2VsIHJlZ2V4ZXFqb2luc2VsICkpOworREVTQ1IoIm1hdGNoZXMgcmVn dWxhciBleHByZXNzaW9uLCBjYXNlLXNlbnNpdGl2ZSIpOworREFUQShpbnNl cnQgT0lEID0gNTA1NiAoICIhfiIJICAgUEdOU1AgUEdVSUQgYiBmIGYgNTAw MSAyNSAxNiAgICAwIDUwNTUgbmJwY2hhcnJlZ2V4bmUgcmVnZXhuZXNlbCBy ZWdleG5lam9pbnNlbCApKTsKK0RFU0NSKCJkb2VzIG5vdCBtYXRjaCByZWd1 bGFyIGV4cHJlc3Npb24sIGNhc2Utc2Vuc2l0aXZlIik7CitEQVRBKGluc2Vy dCBPSUQgPSA1MDU3ICggIjw+IgkgICBQR05TUCBQR1VJRCBiIGYgZiA1MDAx IDUwMDEgMTYgNTA1NyA1MDU0IG5icGNoYXJuZSBuZXFzZWwgbmVxam9pbnNl bCApKTsKK0RFU0NSKCJub3QgZXF1YWwiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9 IDUwNTggKCAiPCIJICAgUEdOU1AgUEdVSUQgYiBmIGYgNTAwMSA1MDAxIDE2 IDUwNjAgNTA2MSBuYnBjaGFybHQgc2NhbGFybHRzZWwgc2NhbGFybHRqb2lu c2VsICkpOworREVTQ1IoImxlc3MgdGhhbiIpOworREFUQShpbnNlcnQgT0lE ID0gNTA1OSAoICI8PSIJICAgUEdOU1AgUEdVSUQgYiBmIGYgNTAwMSA1MDAx IDE2IDUwNjEgNTA2MCBuYnBjaGFybGUgc2NhbGFybHRzZWwgc2NhbGFybHRq b2luc2VsICkpOworREVTQ1IoImxlc3MgdGhhbiBvciBlcXVhbCIpOworREFU QShpbnNlcnQgT0lEID0gNTA2MCAoICI+IgkgICBQR05TUCBQR1VJRCBiIGYg ZiA1MDAxIDUwMDEgMTYgNTA1OCA1MDU5IG5icGNoYXJndCBzY2FsYXJndHNl bCBzY2FsYXJndGpvaW5zZWwgKSk7CitERVNDUigiZ3JlYXRlciB0aGFuIik7 CitEQVRBKGluc2VydCBPSUQgPSA1MDYxICggIj49IgkgICBQR05TUCBQR1VJ RCBiIGYgZiA1MDAxIDUwMDEgMTYgNTA1OSA1MDU4IG5icGNoYXJnZSBzY2Fs YXJndHNlbCBzY2FsYXJndGpvaW5zZWwgKSk7CitERVNDUigiZ3JlYXRlciB0 aGFuIG9yIGVxdWFsIik7CiAKK0RBVEEoaW5zZXJ0IE9JRCA9IDUyMTEgKCAg In5+IgkgICBQR05TUCBQR1VJRCBiIGYgZiAgNTAwMSAyNSAxNiAwIDUyMTIg bmJwY2hhcmxpa2UgbGlrZXNlbCBsaWtlam9pbnNlbCApKTsKK0RFU0NSKCJt YXRjaGVzIExJS0UgZXhwcmVzc2lvbiIpOworREFUQShpbnNlcnQgT0lEID0g NTIxMiAoICAiIX5+IgkgICBQR05TUCBQR1VJRCBiIGYgZiAgNTAwMSAyNSAx NiAwIDUyMTEgbmJwY2hhcm5saWtlIG5saWtlc2VsIG5saWtlam9pbnNlbCAp KTsKK0RFU0NSKCJkb2VzIG5vdCBtYXRjaCBMSUtFIGV4cHJlc3Npb24iKTsK KworREFUQShpbnNlcnQgT0lEID0gNTIzNCAoICAifioiCSAgIFBHTlNQIFBH VUlEIGIgZiBmICA1MDAxIDI1IDE2IDAgNTIzNSBuYnBjaGFyaWNyZWdleGVx IGljcmVnZXhlcXNlbCBpY3JlZ2V4ZXFqb2luc2VsICkpOworREVTQ1IoIm1h dGNoZXMgcmVndWxhciBleHByZXNzaW9uLCBjYXNlLWluc2Vuc2l0aXZlIik7 CitEQVRBKGluc2VydCBPSUQgPSA1MjM1ICggIiF+KiIJICAgUEdOU1AgUEdV SUQgYiBmIGYgIDUwMDEgMjUgMTYgMCA1MjM0IG5icGNoYXJpY3JlZ2V4bmUg aWNyZWdleG5lc2VsIGljcmVnZXhuZWpvaW5zZWwgKSk7CitERVNDUigiZG9l cyBub3QgbWF0Y2ggcmVndWxhciBleHByZXNzaW9uLCBjYXNlLWluc2Vuc2l0 aXZlIik7CisKK0RBVEEoaW5zZXJ0IE9JRCA9IDUzMjYgKCAifjx+IiAgUEdO U1AgUEdVSUQgYiBmIGYgNTAwMSA1MDAxIDE2IDUzMzAgNTMyOSBuYnBjaGFy X3BhdHRlcm5fbHQgc2NhbGFybHRzZWwgc2NhbGFybHRqb2luc2VsICkpOwor REVTQ1IoImxlc3MgdGhhbiIpOworREFUQShpbnNlcnQgT0lEID0gNTMyNyAo ICJ+PD1+IiBQR05TUCBQR1VJRCBiIGYgZiA1MDAxIDUwMDEgMTYgNTMyOSA1 MzMwIG5icGNoYXJfcGF0dGVybl9sZSBzY2FsYXJsdHNlbCBzY2FsYXJsdGpv aW5zZWwgKSk7CitERVNDUigibGVzcyB0aGFuIG9yIGVxdWFsIik7CitEQVRB KGluc2VydCBPSUQgPSA1MzI5ICggIn4+PX4iIFBHTlNQIFBHVUlEIGIgZiBm IDUwMDEgNTAwMSAxNiA1MzI3IDUzMjYgbmJwY2hhcl9wYXR0ZXJuX2dlIHNj YWxhcmd0c2VsIHNjYWxhcmd0am9pbnNlbCApKTsKK0RFU0NSKCJncmVhdGVy IHRoYW4gb3IgZXF1YWwiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUzMzAgKCAi fj5+IiAgUEdOU1AgUEdVSUQgYiBmIGYgNTAwMSA1MDAxIDE2IDUzMjYgNTMy NyBuYnBjaGFyX3BhdHRlcm5fZ3Qgc2NhbGFyZ3RzZWwgc2NhbGFyZ3Rqb2lu c2VsICkpOworREVTQ1IoImdyZWF0ZXIgdGhhbiIpOworCitEQVRBKGluc2Vy dCBPSUQgPSA1NjI5ICggICJ+fioiCSAgIFBHTlNQIFBHVUlEIGIgZiBmICA1 MDAxIDI1IDE2IDAgNTYzMCBuYnBjaGFyaWNsaWtlIGljbGlrZXNlbCBpY2xp a2Vqb2luc2VsICkpOworREVTQ1IoIm1hdGNoZXMgTElLRSBleHByZXNzaW9u LCBjYXNlLWluc2Vuc2l0aXZlIik7CitEQVRBKGluc2VydCBPSUQgPSA1NjMw ICggICIhfn4qIiAgIFBHTlNQIFBHVUlEIGIgZiBmICA1MDAxIDI1IDE2IDAg NTYyOSBuYnBjaGFyaWNubGlrZSBpY25saWtlc2VsIGljbmxpa2Vqb2luc2Vs ICkpOworREVTQ1IoImRvZXMgbm90IG1hdGNoIExJS0UgZXhwcmVzc2lvbiwg Y2FzZS1pbnNlbnNpdGl2ZSIpOwogCiAvKgogICogZnVuY3Rpb24gcHJvdG90 eXBlcwpkaWZmIC11TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5oIHBvc3RncmVzcWwtaGVhZC0yMDEz MTAxNy1uY2hhci9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuaAotLS0g cG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfcHJvYy5oCTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAwMDAwMDAwICsxMTAw CisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wcm9jLmgJMjAxMy0xMC0zMSAxMTo1NzoxNi4wMDAw MDAwMDAgKzExMDAKQEAgLTQ3NDEsNiArNDc0MSw4MiBAQAogLyogZXZlbnQg dHJpZ2dlcnMgKi8KIERBVEEoaW5zZXJ0IE9JRCA9IDM1NjYgKCAgcGdfZXZl bnRfdHJpZ2dlcl9kcm9wcGVkX29iamVjdHMJCVBHTlNQIFBHVUlEIDEyIDEw IDEwMCAwIDAgZiBmIGYgZiB0IHQgcyAwIDAgMjI0OSAiIiAiezI2LDI2LDIz LDI1LDI1LDI1LDI1fSIgIntvLG8sbyxvLG8sbyxvfSIgIntjbGFzc2lkLCBv YmppZCwgb2Jqc3ViaWQsIG9iamVjdF90eXBlLCBzY2hlbWFfbmFtZSwgb2Jq ZWN0X25hbWUsIG9iamVjdF9pZGVudGl0eX0iIF9udWxsXyBwZ19ldmVudF90 cmlnZ2VyX2Ryb3BwZWRfb2JqZWN0cyBfbnVsbF8gX251bGxfIF9udWxsXyAp KTsKIERFU0NSKCJsaXN0IG9iamVjdHMgZHJvcHBlZCBieSB0aGUgY3VycmVu dCBjb21tYW5kIik7CisKK0RBVEEoaW5zZXJ0IE9JRCA9IDUwNDQgKCAgbmJw Y2hhcmluCQkgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBm IGkgMyAwIDUwMDEgIjIyNzUgMjYgMjMiIF9udWxsXyBfbnVsbF8gX251bGxf IF9udWxsXyBicGNoYXJpbiBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKK0RF U0NSKCJJL08iKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUwNDUgKCAgbmJwY2hh cm91dAkgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkg MSAwIDIyNzUgIjUwMDEiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyBi cGNoYXJvdXQgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitERVNDUigiSS9P Iik7CitEQVRBKGluc2VydCBPSUQgPSA1MDQ2ICggIG52YXJjaGFyaW4JICAg UEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDMgMCA2MDAx ICIyMjc1IDI2IDIzIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gdmFy Y2hhcmluIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREVTQ1IoIkkvTyIp OworREFUQShpbnNlcnQgT0lEID0gNTA0NyAoICBudmFyY2hhcm91dAkgICBQ R05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkgMSAwIDIyNzUg IjYwMDEiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyB2YXJjaGFyb3V0 IF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREVTQ1IoIkkvTyIpOworREFU QShpbnNlcnQgT0lEID0gNTA0OCAoICBuYnBjaGFyZXEJCSAgIFBHTlNQIFBH VUlEIDEyIDEgMCAwIDAgZiBmIGYgdCB0IGYgaSAyIDAgMTYgIjUwMDEgNTAw MSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hhcmVxIF9udWxs XyBfbnVsbF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0gNTA0OSAo ICBuYnBjaGFybHQJCSAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYg ZiB0IGYgaSAyIDAgMTYgIjUwMDEgNTAwMSIgX251bGxfIF9udWxsXyBfbnVs bF8gX251bGxfIGJwY2hhcmx0IF9udWxsXyBfbnVsbF8gX251bGxfICkpOwor REFUQShpbnNlcnQgT0lEID0gNTA1MCAoICBuYnBjaGFybGUJCSAgIFBHTlNQ IFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjUwMDEg NTAwMSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hhcmxlIF9u dWxsXyBfbnVsbF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0gNTA1 MSAoICBuYnBjaGFyZ3QJCSAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBm IGYgZiB0IGYgaSAyIDAgMTYgIjUwMDEgNTAwMSIgX251bGxfIF9udWxsXyBf bnVsbF8gX251bGxfIGJwY2hhcmd0IF9udWxsXyBfbnVsbF8gX251bGxfICkp OworREFUQShpbnNlcnQgT0lEID0gNTA1MiAoICBuYnBjaGFyZ2UJCSAgIFBH TlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjUw MDEgNTAwMSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hhcmdl IF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0g NTA1MyAoICBuYnBjaGFybmUJCSAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAg ZiBmIGYgdCB0IGYgaSAyIDAgMTYgIjUwMDEgNTAwMSIgX251bGxfIF9udWxs XyBfbnVsbF8gX251bGxfIGJwY2hhcm5lIF9udWxsXyBfbnVsbF8gX251bGxf ICkpOworCitEQVRBKGluc2VydCBPSUQgPSA1MDYzICggIG5icGNoYXJfbGFy Z2VyICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIg MCA1MDAxICI1MDAxIDUwMDEiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxs XyBicGNoYXJfbGFyZ2VyIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREVT Q1IoImxhcmdlciBvZiB0d28iKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDUwNjQg KCAgbmJwY2hhcl9zbWFsbGVyICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYg ZiBmIGYgdCBmIGkgMiAwIDUwMDEgIjUwMDEgNTAwMSIgX251bGxfIF9udWxs XyBfbnVsbF8gX251bGxfIGJwY2hhcl9zbWFsbGVyIF9udWxsXyBfbnVsbF8g X251bGxfICkpOworREVTQ1IoInNtYWxsZXIgb2YgdHdvIik7CitEQVRBKGlu c2VydCBPSUQgPSA1MDc4ICggIG5icGNoYXJjbXAJICAgUEdOU1AgUEdVSUQg MTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAyMyAiNTAwMSA1MDAxIiBf bnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFyY21wIF9udWxsXyBf bnVsbF8gX251bGxfICkpOworREVTQ1IoImxlc3MtZXF1YWwtZ3JlYXRlciIp OworCitEQVRBKGluc2VydCBPSUQgPSA1MDk3ICggbnZhcmNoYXJfdHJhbnNm b3JtIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAxIDAg MjI4MSAiMjI4MSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIHZhcmNo YXJfdHJhbnNmb3JtIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREVTQ1Io InRyYW5zZm9ybSBhIG52YXJjaGFyIGxlbmd0aCBjb2VyY2lvbiIpOworCitE QVRBKGluc2VydCBPSUQgPSA1MTc0ICggbmJwY2hhcl9wYXR0ZXJuX2x0CSAg UEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAi NTAwMSA1MDAxIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFy X3BhdHRlcm5fbHQgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitEQVRBKGlu c2VydCBPSUQgPSA1MTc1ICggbmJwY2hhcl9wYXR0ZXJuX2xlCSAgUEdOU1Ag UEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAiNTAwMSA1 MDAxIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFyX3BhdHRl cm5fbGUgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitEQVRBKGluc2VydCBP SUQgPSA1MTc3ICggbmJwY2hhcl9wYXR0ZXJuX2dlCSAgUEdOU1AgUEdVSUQg MTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAiNTAwMSA1MDAxIiBf bnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFyX3BhdHRlcm5fZ2Ug X251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitEQVRBKGluc2VydCBPSUQgPSA1 MTc4ICggbmJwY2hhcl9wYXR0ZXJuX2d0CSAgUEdOU1AgUEdVSUQgMTIgMSAw IDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAiNTAwMSA1MDAxIiBfbnVsbF8g X251bGxfIF9udWxsXyBfbnVsbF8gYnBjaGFyX3BhdHRlcm5fZ3QgX251bGxf IF9udWxsXyBfbnVsbF8gKSk7CitEQVRBKGluc2VydCBPSUQgPSA1MTgwICgg bmJ0YnBjaGFyX3BhdHRlcm5fY21wIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAg ZiBmIGYgZiB0IGYgaSAyIDAgMjMgIjUwMDEgNTAwMSIgX251bGxfIF9udWxs XyBfbnVsbF8gX251bGxfIGJ0YnBjaGFyX3BhdHRlcm5fY21wIF9udWxsXyBf bnVsbF8gX251bGxfICkpOworREVTQ1IoImxlc3MtZXF1YWwtZ3JlYXRlciIp OworCitEQVRBKGluc2VydCBPSUQgPSA1Mzc0ICggIG9jdGV0X2xlbmd0aAkJ ICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkgMSAwIDIz ICI1MDAxIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gbmJwY2hhcm9j dGV0bGVuIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREVTQ1IoIm9jdGV0 IGxlbmd0aCIpOworREFUQShpbnNlcnQgT0lEID0gNTM3NSAoICBvY3RldF9s ZW5ndGgJCSAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBp IDEgMCAyMyAiNjAwMSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIG52 YXJjaGFyb2N0ZXRsZW4gX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitERVND Uigib2N0ZXQgbGVuZ3RoIik7CisKK0RBVEEoaW5zZXJ0IE9JRCA9IDU0MDAg KCAgbmFtZQkJICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQg ZiBpIDEgMCAxOSAiNjAwMSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxf ICAgICAgIHRleHRfbmFtZSBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKK0RF U0NSKCJjb252ZXJ0IG52YXJjaGFyIHRvIG5hbWUiKTsKK0RBVEEoaW5zZXJ0 IE9JRCA9IDU0MDEgKCAgbnZhcmNoYXIJICAgUEdOU1AgUEdVSUQgMTIgMSAw IDAgMCBmIGYgZiBmIHQgZiBpIDEgMCA2MDAxICIxOSIgX251bGxfIF9udWxs XyBfbnVsbF8gX251bGxfICAgICAgIG5hbWVfdGV4dCBfbnVsbF8gX251bGxf IF9udWxsXyApKTsKK0RFU0NSKCJjb252ZXJ0IG5hbWUgdG8gbnZhcmNoYXIi KTsKKworREFUQShpbnNlcnQgT0lEID0gNTQzMCAoICBuYnBjaGFycmVjdgkJ ICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBzIDMgMCA1 MDAxICIyMjgxIDI2IDIzIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8g IGJwY2hhcnJlY3YgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitERVNDUigi SS9PIik7CitEQVRBKGluc2VydCBPSUQgPSA1NDMxICggIG5icGNoYXJzZW5k CQkgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIHMgMSAw IDE3ICI1MDAxIiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gICAgICAg YnBjaGFyc2VuZCBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKK0RFU0NSKCJJ L08iKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDU0MzIgKCAgbnZhcmNoYXJyZWN2 CQkgICBQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIHMgMyAw IDYwMDEgIjIyODEgMjYgMjMiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxs XyAgdmFyY2hhcnJlY3YgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitERVND UigiSS9PIik7CitEQVRBKGluc2VydCBPSUQgPSA1NDMzICggIG52YXJjaGFy c2VuZAkJICAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBz IDEgMCAxNyAiNjAwMSIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfICAg ICAgIHZhcmNoYXJzZW5kIF9udWxsXyBfbnVsbF8gX251bGxfICkpOworREVT Q1IoIkkvTyIpOworCitEQVRBKGluc2VydCBPSUQgPSA1NjMxICggIG5icGNo YXJsaWtlCSAgIFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYg aSAyIDAgMTYgIjUwMDEgMjUiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxs XyB0ZXh0bGlrZSBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKK0RBVEEoaW5z ZXJ0IE9JRCA9IDU2MzIgKCAgbmJwY2hhcm5saWtlCSAgIFBHTlNQIFBHVUlE IDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjUwMDEgMjUiIF9u dWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyB0ZXh0bmxpa2UgX251bGxfIF9u dWxsXyBfbnVsbF8gKSk7CisKK0RBVEEoaW5zZXJ0IE9JRCA9IDU2NTYgKCAg bmJwY2hhcmljcmVnZXhlcQlQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBm IGYgdCBmIGkgMiAwIDE2ICI1MDAxIDI1IiBfbnVsbF8gX251bGxfIF9udWxs XyBfbnVsbF8gdGV4dGljcmVnZXhlcSBfbnVsbF8gX251bGxfIF9udWxsXyAp KTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDU2NTcgKCAgbmJwY2hhcmljcmVnZXhu ZQlQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBmIGkgMiAwIDE2 ICI1MDAxIDI1IiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVsbF8gdGV4dGlj cmVnZXhuZSBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKK0RBVEEoaW5zZXJ0 IE9JRCA9IDU2NTggKCAgbmJwY2hhcnJlZ2V4ZXEJUEdOU1AgUEdVSUQgMTIg MSAwIDAgMCBmIGYgZiBmIHQgZiBpIDIgMCAxNiAiNTAwMSAyNSIgX251bGxf IF9udWxsXyBfbnVsbF8gX251bGxfIHRleHRyZWdleGVxIF9udWxsXyBfbnVs bF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0gNTY1OSAoICBuYnBj aGFycmVnZXhuZQlQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBmIGYgdCBm IGkgMiAwIDE2ICI1MDAxIDI1IiBfbnVsbF8gX251bGxfIF9udWxsXyBfbnVs bF8gdGV4dHJlZ2V4bmUgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7CitEQVRB KGluc2VydCBPSUQgPSA1NjYwICggIG5icGNoYXJpY2xpa2UJCVBHTlNQIFBH VUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAyIDAgMTYgIjUwMDEgMjUi IF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyB0ZXh0aWNsaWtlIF9udWxs XyBfbnVsbF8gX251bGxfICkpOworREFUQShpbnNlcnQgT0lEID0gNTY2MSAo ICBuYnBjaGFyaWNubGlrZQlQR05TUCBQR1VJRCAxMiAxIDAgMCAwIGYgZiBm IGYgdCBmIGkgMiAwIDE2ICI1MDAxIDI1IiBfbnVsbF8gX251bGxfIF9udWxs XyBfbnVsbF8gdGV4dGljbmxpa2UgX251bGxfIF9udWxsXyBfbnVsbF8gKSk7 CisKK0RBVEEoaW5zZXJ0IE9JRCA9IDU2NjggKCAgbmJwY2hhcgkJCVBHTlNQ IFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYgaSAzIDAgNTAwMSAiNTAw MSAyMyAxNiIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIGJwY2hhciBf bnVsbF8gX251bGxfIF9udWxsXyApKTsKK0RFU0NSKCJhZGp1c3QgY2hhcigp IHRvIHR5cG1vZCBsZW5ndGgiKTsKK0RBVEEoaW5zZXJ0IE9JRCA9IDU2Njkg KCAgbnZhcmNoYXIJCQlQR05TUCBQR1VJRCAxMiAxIDAgMCBudmFyY2hhcl90 cmFuc2Zvcm0gZiBmIGYgZiB0IGYgaSAzIDAgNjAwMSAiNjAwMSAyMyAxNiIg X251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfIHZhcmNoYXIgX251bGxfIF9u dWxsXyBfbnVsbF8gKSk7CitERVNDUigiYWRqdXN0IG52YXJjaGFyKCkgdG8g dHlwbW9kIGxlbmd0aCIpOworCitEQVRBKGluc2VydCBPSUQgPSA1OTEzICgg IG5icGNoYXJ0eXBtb2RpbiAgUEdOU1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYg ZiBmIHQgZiBpIDEgMCAyMyAiMTI2MyIgX251bGxfIF9udWxsXyBfbnVsbF8g X251bGxfICAgICAgIGJwY2hhcnR5cG1vZGluIF9udWxsXyBfbnVsbF8gX251 bGxfICkpOworREVTQ1IoIkkvTyB0eXBtb2QiKTsKK0RBVEEoaW5zZXJ0IE9J RCA9IDU5MTQgKCAgbmJwY2hhcnR5cG1vZG91dCBQR05TUCBQR1VJRCAxMiAx IDAgMCAwIGYgZiBmIGYgdCBmIGkgMSAwIDIyNzUgIjIzIiBfbnVsbF8gX251 bGxfIF9udWxsXyBfbnVsbF8gICAgICAgYnBjaGFydHlwbW9kb3V0IF9udWxs XyBfbnVsbF8gX251bGxfICkpOworREVTQ1IoIkkvTyB0eXBtb2QiKTsKK0RB VEEoaW5zZXJ0IE9JRCA9IDU5MTUgKCAgbnZhcmNoYXJ0eXBtb2RpbiAgUEdO U1AgUEdVSUQgMTIgMSAwIDAgMCBmIGYgZiBmIHQgZiBpIDEgMCAyMyAiMTI2 MyIgX251bGxfIF9udWxsXyBfbnVsbF8gX251bGxfICAgICAgIHZhcmNoYXJ0 eXBtb2RpbiBfbnVsbF8gX251bGxfIF9udWxsXyApKTsKK0RFU0NSKCJJL08g dHlwbW9kIik7CitEQVRBKGluc2VydCBPSUQgPSA1OTE2ICggIG52YXJjaGFy dHlwbW9kb3V0IFBHTlNQIFBHVUlEIDEyIDEgMCAwIDAgZiBmIGYgZiB0IGYg aSAxIDAgMjI3NSAiMjMiIF9udWxsXyBfbnVsbF8gX251bGxfIF9udWxsXyAg ICAgICB2YXJjaGFydHlwbW9kb3V0IF9udWxsXyBfbnVsbF8gX251bGxfICkp OworREVTQ1IoIkkvTyB0eXBtb2QiKTsKKwogLyoKICAqIFN5bWJvbGljIHZh bHVlcyBmb3IgcHJvdm9sYXRpbGUgY29sdW1uOiB0aGVzZSBpbmRpY2F0ZSB3 aGV0aGVyIHRoZSByZXN1bHQKICAqIG9mIGEgZnVuY3Rpb24gaXMgZGVwZW5k ZW50ICpvbmx5KiBvbiB0aGUgdmFsdWVzIG9mIGl0cyBleHBsaWNpdCBhcmd1 bWVudHMsCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ190eXBlLmggcG9zdGdyZXNxbC1oZWFkLTIw MTMxMDE3LW5jaGFyL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdHlwZS5oCi0t LSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ190eXBlLmgJMjAxMy0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzEx MDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3R5cGUuaAkyMDEzLTEwLTMwIDE2OjA3OjQ0LjAw MDAwMDAwMCArMTEwMApAQCAtNjY5LDYgKzY2OSwxNiBAQAogREFUQShpbnNl cnQgT0lEID0gMzgzMSAoIGFueXJhbmdlCQlQR05TUCBQR1VJRCAgLTEgZiBw IFAgZiB0IFwwNTQgMCAwIDAgYW55cmFuZ2VfaW4gYW55cmFuZ2Vfb3V0IC0g LSAtIC0gLSBkIHggZiAwIC0xIDAgMCBfbnVsbF8gX251bGxfIF9udWxsXyAp KTsKICNkZWZpbmUgQU5ZUkFOR0VPSUQJCTM4MzEKIAorREFUQShpbnNlcnQg T0lEID0gNTAxNCAoICBfbmJwY2hhcgkgUEdOU1AgUEdVSUQgLTEgZiBiIEEg ZiB0IFwwNTQgMCA1MDAxIDAgYXJyYXlfaW4gYXJyYXlfb3V0IGFycmF5X3Jl Y3YgYXJyYXlfc2VuZCBuYnBjaGFydHlwbW9kaW4gbmJwY2hhcnR5cG1vZG91 dCBhcnJheV90eXBhbmFseXplIGkgeCBmIDAgLTEgMCAxMDAgX251bGxfIF9u dWxsXyBfbnVsbF8gKSk7CitEQVRBKGluc2VydCBPSUQgPSA1MDE1ICggIF9u dmFyY2hhcgkgUEdOU1AgUEdVSUQgLTEgZiBiIEEgZiB0IFwwNTQgMCA2MDAx IDAgYXJyYXlfaW4gYXJyYXlfb3V0IGFycmF5X3JlY3YgYXJyYXlfc2VuZCBu dmFyY2hhcnR5cG1vZGluIG52YXJjaGFydHlwbW9kb3V0IGFycmF5X3R5cGFu YWx5emUgaSB4IGYgMCAtMSAwIDEwMCBfbnVsbF8gX251bGxfIF9udWxsXyAp KTsKKworLyogbmF0aW9uYWwgY2hhcmFjdGVyIHR5cGVzICovCitEQVRBKGlu c2VydCBPSUQgPSA1MDAxICggbmJwY2hhcgkgUEdOU1AgUEdVSUQgLTEgZiBi IFMgZiB0IFwwNTQgMCAwIDUwMTQgbmJwY2hhcmluIG5icGNoYXJvdXQgbmJw Y2hhcnJlY3YgbmJwY2hhcnNlbmQgbmJwY2hhcnR5cG1vZGluIG5icGNoYXJ0 eXBtb2RvdXQgLSBpIHggZiAwIC0xIDAgMTAwIF9udWxsXyBfbnVsbF8gX251 bGxfICkpOworREVTQ1IoIm5jaGFyKGxlbmd0aCksIGJsYW5rLXBhZGRlZCBu YXRpb25hbCBzdHJpbmcsIGZpeGVkIHN0b3JhZ2UgbGVuZ3RoIik7CisjZGVm aW5lIE5CUENIQVJPSUQJCTUwMDEKK0RBVEEoaW5zZXJ0IE9JRCA9IDYwMDEg KCBudmFyY2hhcgkgUEdOU1AgUEdVSUQgLTEgZiBiIFMgZiB0IFwwNTQgMCAw IDUwMTUgbnZhcmNoYXJpbiBudmFyY2hhcm91dCBudmFyY2hhcnJlY3YgbnZh cmNoYXJzZW5kIG52YXJjaGFydHlwbW9kaW4gbnZhcmNoYXJ0eXBtb2RvdXQg LSBpIHggZiAwIC0xIDAgMTAwIF9udWxsXyBfbnVsbF8gX251bGxfICkpOwor REVTQ1IoIm52YXJjaGFyKGxlbmd0aCksIG5vbi1ibGFuay1wYWRkZWQgbmF0 aW9uYWwgc3RyaW5nLCB2YXJpYWJsZSBzdG9yYWdlIGxlbmd0aCIpOworI2Rl ZmluZSBOVkFSQ0hBUk9JRAkJNjAwMQogCiAvKgogICogbWFjcm9zCmRpZmYg LXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2luY2x1ZGUvcGFy c2VyL2t3bGlzdC5oIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9z cmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKLS0tIHBvc3RncmVzcWwtaGVh ZC0yMDEzMTAxNy9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgJMjAxMy0x MC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzExMDAKKysrIHBvc3RncmVzcWwt aGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0 LmgJMjAxMy0xMC0xNyAxMTo1NjoyMi4wMDAwMDAwMDAgKzExMDAKQEAgLTI1 Nyw2ICsyNTcsNyBAQAogUEdfS0VZV09SRCgibnVsbGlmIiwgTlVMTElGLCBD T0xfTkFNRV9LRVlXT1JEKQogUEdfS0VZV09SRCgibnVsbHMiLCBOVUxMU19Q LCBVTlJFU0VSVkVEX0tFWVdPUkQpCiBQR19LRVlXT1JEKCJudW1lcmljIiwg TlVNRVJJQywgQ09MX05BTUVfS0VZV09SRCkKK1BHX0tFWVdPUkQoIm52YXJj aGFyIiwgTlZBUkNIQVIsIENPTF9OQU1FX0tFWVdPUkQpCiBQR19LRVlXT1JE KCJvYmplY3QiLCBPQkpFQ1RfUCwgVU5SRVNFUlZFRF9LRVlXT1JEKQogUEdf S0VZV09SRCgib2YiLCBPRiwgVU5SRVNFUlZFRF9LRVlXT1JEKQogUEdfS0VZ V09SRCgib2ZmIiwgT0ZGLCBVTlJFU0VSVkVEX0tFWVdPUkQpCmRpZmYgLXVO ciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2luY2x1ZGUvdXRpbHMv YnVpbHRpbnMuaCBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3Jj L2luY2x1ZGUvdXRpbHMvYnVpbHRpbnMuaAotLS0gcG9zdGdyZXNxbC1oZWFk LTIwMTMxMDE3L3NyYy9pbmNsdWRlL3V0aWxzL2J1aWx0aW5zLmgJMjAxMy0x MC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzExMDAKKysrIHBvc3RncmVzcWwt aGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW5jbHVkZS91dGlscy9idWlsdGlu cy5oCTIwMTMtMTAtMTcgMTE6NTY6MjIuMDAwMDAwMDAwICsxMTAwCkBAIC0z MjYsNiArMzI2LDEwIEBACiBleHRlcm4gRGF0dW0gYnRvaWRzb3J0c3VwcG9y dChQR19GVU5DVElPTl9BUkdTKTsKIGV4dGVybiBEYXR1bSBidG5hbWVzb3J0 c3VwcG9ydChQR19GVU5DVElPTl9BUkdTKTsKIAorLyogbnZhcmNoYXIuYyAq LworZXh0ZXJuIERhdHVtIG5icGNoYXJvY3RldGxlbihQR19GVU5DVElPTl9B UkdTKTsKK2V4dGVybiBEYXR1bSBudmFyY2hhcm9jdGV0bGVuKFBHX0ZVTkNU SU9OX0FSR1MpOworCiAvKiBmbG9hdC5jICovCiBleHRlcm4gUEdETExJTVBP UlQgaW50IGV4dHJhX2Zsb2F0X2RpZ2l0czsKIApkaWZmIC11TnIgcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xp Yi9kYXRhLmMgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9p bnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9kYXRhLmMKLS0tIHBvc3RncmVzcWwt aGVhZC0yMDEzMTAxNy9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvZGF0 YS5jCTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAwMDAwMDAwICsxMTAwCisrKyBw b3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2ludGVyZmFjZXMv ZWNwZy9lY3BnbGliL2RhdGEuYwkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAw MDAwMCArMTEwMApAQCAtMjI3LDggKzIyNywxMCBAQAogCQlzd2l0Y2ggKHR5 cGUpCiAJCXsKIAkJCWNhc2UgRUNQR3RfY2hhcjoKKwkJCWNhc2UgRUNQR3Rf bmNoYXI6CiAJCQljYXNlIEVDUEd0X3Vuc2lnbmVkX2NoYXI6CiAJCQljYXNl IEVDUEd0X3ZhcmNoYXI6CisJCQljYXNlIEVDUEd0X252YXJjaGFyOgogCQkJ Y2FzZSBFQ1BHdF9zdHJpbmc6CiAJCQkJYnJlYWs7CiAKQEAgLTQ1MCw2ICs0 NTIsNyBAQAogCQkJCQlicmVhazsKIAogCQkJCWNhc2UgRUNQR3RfY2hhcjoK KwkJCQljYXNlIEVDUEd0X25jaGFyOgogCQkJCWNhc2UgRUNQR3RfdW5zaWdu ZWRfY2hhcjoKIAkJCQljYXNlIEVDUEd0X3N0cmluZzoKIAkJCQkJewpAQCAt NTA4LDYgKzUxMSw3IEBACiAJCQkJCWJyZWFrOwogCiAJCQkJY2FzZSBFQ1BH dF92YXJjaGFyOgorCQkJCWNhc2UgRUNQR3RfbnZhcmNoYXI6CiAJCQkJCXsK IAkJCQkJCXN0cnVjdCBFQ1BHZ2VuZXJpY192YXJjaGFyICp2YXJpYWJsZSA9 CiAJCQkJCQkoc3RydWN0IEVDUEdnZW5lcmljX3ZhcmNoYXIgKikgKHZhciAr IG9mZnNldCAqIGFjdF90dXBsZSk7CmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhl YWQtMjAxMzEwMTcvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2Rlc2Ny aXB0b3IuYyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2lu dGVyZmFjZXMvZWNwZy9lY3BnbGliL2Rlc2NyaXB0b3IuYwotLS0gcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xp Yi9kZXNjcmlwdG9yLmMJMjAxMy0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAg KzExMDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMv aW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvZGVzY3JpcHRvci5jCTIwMTMtMTAt MTcgMTE6NTY6MjIuMDAwMDAwMDAwICsxMTAwCkBAIC0yMDAsMTEgKzIwMCwx MyBAQAogCXN3aXRjaCAodmFydHlwZSkKIAl7CiAJCWNhc2UgRUNQR3RfY2hh cjoKKwkJY2FzZSBFQ1BHdF9uY2hhcjoKIAkJY2FzZSBFQ1BHdF91bnNpZ25l ZF9jaGFyOgogCQljYXNlIEVDUEd0X3N0cmluZzoKIAkJCXN0cm5jcHkoKGNo YXIgKikgdmFyLCB2YWx1ZSwgdmFyY2hhcnNpemUpOwogCQkJYnJlYWs7CiAJ CWNhc2UgRUNQR3RfdmFyY2hhcjoKKwkJY2FzZSBFQ1BHdF9udmFyY2hhcjoK IAkJCXsKIAkJCQlzdHJ1Y3QgRUNQR2dlbmVyaWNfdmFyY2hhciAqdmFyaWFi bGUgPQogCQkJCShzdHJ1Y3QgRUNQR2dlbmVyaWNfdmFyY2hhciAqKSB2YXI7 CmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2ludGVy ZmFjZXMvZWNwZy9lY3BnbGliL2V4ZWN1dGUuYyBwb3N0Z3Jlc3FsLWhlYWQt MjAxMzEwMTctbmNoYXIvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2V4 ZWN1dGUuYwotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRl cmZhY2VzL2VjcGcvZWNwZ2xpYi9leGVjdXRlLmMJMjAxMy0xMC0xNyAwNDoy Mjo1NS4wMDAwMDAwMDAgKzExMDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEz MTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvZXhlY3V0 ZS5jCTIwMTMtMTAtMzEgMTA6MzU6NDIuMDAwMDAwMDAwICsxMTAwCkBAIC0y NDgsNiArMjQ4LDEwIEBACiAJCQlyZXR1cm4gKEVDUEdfQVJSQVlfRVJST1Ip OwogCQlpZiAoIWVjcGdfdHlwZV9pbmZvY2FjaGVfcHVzaCgmKHN0bXQtPmNv bm5lY3Rpb24tPmNhY2hlX2hlYWQpLCBWQVJDSEFST0lELCBFQ1BHX0FSUkFZ X05PTkUsIHN0bXQtPmxpbmVubykpCiAJCQlyZXR1cm4gKEVDUEdfQVJSQVlf RVJST1IpOworCQlpZiAoIWVjcGdfdHlwZV9pbmZvY2FjaGVfcHVzaCgmKHN0 bXQtPmNvbm5lY3Rpb24tPmNhY2hlX2hlYWQpLCBOQlBDSEFST0lELCBFQ1BH X0FSUkFZX05PTkUsIHN0bXQtPmxpbmVubykpCisJCQlyZXR1cm4gKEVDUEdf QVJSQVlfRVJST1IpOworCQlpZiAoIWVjcGdfdHlwZV9pbmZvY2FjaGVfcHVz aCgmKHN0bXQtPmNvbm5lY3Rpb24tPmNhY2hlX2hlYWQpLCBOVkFSQ0hBUk9J RCwgRUNQR19BUlJBWV9OT05FLCBzdG10LT5saW5lbm8pKQorCQkJcmV0dXJu IChFQ1BHX0FSUkFZX0VSUk9SKTsKIAkJaWYgKCFlY3BnX3R5cGVfaW5mb2Nh Y2hlX3B1c2goJihzdG10LT5jb25uZWN0aW9uLT5jYWNoZV9oZWFkKSwgREFU RU9JRCwgRUNQR19BUlJBWV9OT05FLCBzdG10LT5saW5lbm8pKQogCQkJcmV0 dXJuIChFQ1BHX0FSUkFZX0VSUk9SKTsKIAkJaWYgKCFlY3BnX3R5cGVfaW5m b2NhY2hlX3B1c2goJihzdG10LT5jb25uZWN0aW9uLT5jYWNoZV9oZWFkKSwg VElNRU9JRCwgRUNQR19BUlJBWV9OT05FLCBzdG10LT5saW5lbm8pKQpAQCAt MzYyLDYgKzM2Niw3IEBACiAJCQlzd2l0Y2ggKHZhci0+dHlwZSkKIAkJCXsK IAkJCQljYXNlIEVDUEd0X2NoYXI6CisJCQkJY2FzZSBFQ1BHdF9uY2hhcjoK IAkJCQljYXNlIEVDUEd0X3Vuc2lnbmVkX2NoYXI6CiAJCQkJY2FzZSBFQ1BH dF9zdHJpbmc6CiAJCQkJCWlmICghdmFyLT52YXJjaGFyc2l6ZSAmJiAhdmFy LT5hcnJzaXplKQpAQCAtMzg4LDYgKzM5Myw3IEBACiAJCQkJCX0KIAkJCQkJ YnJlYWs7CiAJCQkJY2FzZSBFQ1BHdF92YXJjaGFyOgorCQkJCWNhc2UgRUNQ R3RfbnZhcmNoYXI6CiAJCQkJCWxlbiA9IG50dXBsZXMgKiAodmFyLT52YXJj aGFyc2l6ZSArIHNpemVvZihpbnQpKTsKIAkJCQkJYnJlYWs7CiAJCQkJZGVm YXVsdDoKQEAgLTQyMyw3ICs0MjksNyBAQAogCiAJLyogZmlsbCB0aGUgdmFy aWFibGUgd2l0aCB0aGUgdHVwbGUocykgKi8KIAlpZiAoIXZhci0+dmFyY2hh cnNpemUgJiYgIXZhci0+YXJyc2l6ZSAmJgotCQkodmFyLT50eXBlID09IEVD UEd0X2NoYXIgfHwgdmFyLT50eXBlID09IEVDUEd0X3Vuc2lnbmVkX2NoYXIg fHwgdmFyLT50eXBlID09IEVDUEd0X3N0cmluZykpCisJCSh2YXItPnR5cGUg PT0gRUNQR3RfY2hhciB8fCB2YXItPnR5cGUgPT0gRUNQR3RfdW5zaWduZWRf Y2hhciB8fCB2YXItPnR5cGUgPT0gRUNQR3Rfc3RyaW5nIHx8IHZhci0+dHlw ZSA9PSBFQ1BHdF9uY2hhcikpCiAJewogCQkvKiBzcGVjaWFsIG1vZGUgZm9y IGhhbmRsaW5nIGNoYXIqKmZvbz0wICovCiAKQEAgLTc5Myw2ICs3OTksNyBA QAogCQkJCWJyZWFrOwogCiAJCQljYXNlIEVDUEd0X2NoYXI6CisJCQljYXNl IEVDUEd0X25jaGFyOgogCQkJY2FzZSBFQ1BHdF91bnNpZ25lZF9jaGFyOgog CQkJY2FzZSBFQ1BHdF9zdHJpbmc6CiAJCQkJewpAQCAtODI3LDYgKzgzNCw3 IEBACiAJCQkJfQogCQkJCWJyZWFrOwogCQkJY2FzZSBFQ1BHdF92YXJjaGFy OgorCQkJY2FzZSBFQ1BHdF9udmFyY2hhcjoKIAkJCQl7CiAJCQkJCXN0cnVj dCBFQ1BHZ2VuZXJpY192YXJjaGFyICp2YXJpYWJsZSA9CiAJCQkJCShzdHJ1 Y3QgRUNQR2dlbmVyaWNfdmFyY2hhciAqKSAodmFyLT52YWx1ZSk7CkBAIC0x MjMyLDYgKzEyNDAsOCBAQAogCQkJCQkJewogCQkJCQkJCWNhc2UgRUNQR3Rf Y2hhcjoKIAkJCQkJCQljYXNlIEVDUEd0X3ZhcmNoYXI6CisJCQkJCQkJY2Fz ZSBFQ1BHdF9uY2hhcjoKKwkJCQkJCQljYXNlIEVDUEd0X252YXJjaGFyOgog CQkJCQkJCQlkZXNjX2lubGlzdC52YXJjaGFyc2l6ZSA9IHN0cmxlbihzcWxk YS0+c3FsdmFyW2ldLnNxbGRhdGEpOwogCQkJCQkJCQlicmVhazsKIAkJCQkJ CQlkZWZhdWx0OgpAQCAtMTI4Nyw2ICsxMjk3LDggQEAKIAkJCQkJCXsKIAkJ CQkJCQljYXNlIEVDUEd0X2NoYXI6CiAJCQkJCQkJY2FzZSBFQ1BHdF92YXJj aGFyOgorCQkJCQkJCWNhc2UgRUNQR3RfbmNoYXI6CisJCQkJCQkJY2FzZSBF Q1BHdF9udmFyY2hhcjoKIAkJCQkJCQkJZGVzY19pbmxpc3QudmFyY2hhcnNp emUgPSBzdHJsZW4oc3FsZGEtPnNxbHZhcltpXS5zcWxkYXRhKTsKIAkJCQkJ CQkJYnJlYWs7CiAJCQkJCQkJZGVmYXVsdDoKZGlmZiAtdU5yIHBvc3RncmVz cWwtaGVhZC0yMDEzMTAxNy9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIv bWlzYy5jIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50 ZXJmYWNlcy9lY3BnL2VjcGdsaWIvbWlzYy5jCi0tLSBwb3N0Z3Jlc3FsLWhl YWQtMjAxMzEwMTcvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL21pc2Mu YwkyMDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEwMAorKysgcG9z dGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbnRlcmZhY2VzL2Vj cGcvZWNwZ2xpYi9taXNjLmMJMjAxMy0xMC0zMSAxMDozMzozMy4wMDAwMDAw MDAgKzExMDAKQEAgLTMwNSw2ICszMDUsNyBAQAogCXN3aXRjaCAodHlwZSkK IAl7CiAJCWNhc2UgRUNQR3RfY2hhcjoKKwkJY2FzZSBFQ1BHdF9uY2hhcjoK IAkJY2FzZSBFQ1BHdF91bnNpZ25lZF9jaGFyOgogCQljYXNlIEVDUEd0X3N0 cmluZzoKIAkJCSooKGNoYXIgKikgcHRyKSA9ICdcMCc7CkBAIC0zMzUsNiAr MzM2LDcgQEAKIAkJCW1lbXNldCgoY2hhciAqKSBwdHIsIDB4ZmYsIHNpemVv Zihkb3VibGUpKTsKIAkJCWJyZWFrOwogCQljYXNlIEVDUEd0X3ZhcmNoYXI6 CisJCWNhc2UgRUNQR3RfbnZhcmNoYXI6CiAJCQkqKCgoc3RydWN0IEVDUEdn ZW5lcmljX3ZhcmNoYXIgKikgcHRyKS0+YXJyKSA9IDB4MDA7CiAJCQkoKHN0 cnVjdCBFQ1BHZ2VuZXJpY192YXJjaGFyICopIHB0ciktPmxlbiA9IDA7CiAJ CQlicmVhazsKQEAgLTQwOCw2ICs0MTAsNyBAQAogCQkJcmV0dXJuIChfY2hl Y2socHRyLCBzaXplb2YoZG91YmxlKSkpOwogCQkJYnJlYWs7CiAJCWNhc2Ug RUNQR3RfdmFyY2hhcjoKKwkJY2FzZSBFQ1BHdF9udmFyY2hhcjoKIAkJCWlm ICgqKCgoc3RydWN0IEVDUEdnZW5lcmljX3ZhcmNoYXIgKikgcHRyKS0+YXJy KSA9PSAweDAwKQogCQkJCXJldHVybiB0cnVlOwogCQkJYnJlYWs7CmRpZmYg LXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2ludGVyZmFjZXMv ZWNwZy9lY3BnbGliL3BnX3R5cGUuaCBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEw MTctbmNoYXIvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL3BnX3R5cGUu aAotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2Vz L2VjcGcvZWNwZ2xpYi9wZ190eXBlLmgJMjAxMy0xMC0xNyAwNDoyMjo1NS4w MDAwMDAwMDAgKzExMDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1u Y2hhci9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvcGdfdHlwZS5oCTIw MTMtMTAtMjUgMTU6MDY6MDUuMDAwMDAwMDAwICsxMTAwCkBAIC01Nyw1ICs1 Nyw3IEBACiAjZGVmaW5lIFpQQklUT0lECSAxNTYwCiAjZGVmaW5lIFZBUkJJ VE9JRAkgIDE1NjIKICNkZWZpbmUgTlVNRVJJQ09JRAkJMTcwMAorI2RlZmlu ZSBOQlBDSEFST0lECQk1MDAxCisjZGVmaW5lIE5WQVJDSEFST0lECQk2MDAx CiAKICNlbmRpZiAgIC8qIFBHX1RZUEVfSCAqLwpkaWZmIC11TnIgcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xp Yi9zcWxkYS5jIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMv aW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvc3FsZGEuYwotLS0gcG9zdGdyZXNx bC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9z cWxkYS5jCTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAwMDAwMDAwICsxMTAwCisr KyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2ludGVyZmFj ZXMvZWNwZy9lY3BnbGliL3NxbGRhLmMJMjAxMy0xMC0xNyAxMTo1NjoyMi4w MDAwMDAwMDAgKzExMDAKQEAgLTEzNCw2ICsxMzQsNyBAQAogCQkJCWVjcGdf c3FsZGFfYWxpZ25fYWRkX3NpemUob2Zmc2V0LCBzaXplb2YoaW50NjQpLCBz aXplb2YoaW50ZXJ2YWwpLCAmb2Zmc2V0LCAmbmV4dF9vZmZzZXQpOwogCQkJ CWJyZWFrOwogCQkJY2FzZSBFQ1BHdF9jaGFyOgorCQkJY2FzZSBFQ1BHdF9u Y2hhcjoKIAkJCWNhc2UgRUNQR3RfdW5zaWduZWRfY2hhcjoKIAkJCWNhc2Ug RUNQR3Rfc3RyaW5nOgogCQkJZGVmYXVsdDoKQEAgLTM3Myw2ICszNzQsNyBA QAogCQkJCXNxbGRhLT5zcWx2YXJbaV0uc3FsbGVuID0gc2l6ZW9mKGludGVy dmFsKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgRUNQR3RfY2hhcjoKKwkJCWNh c2UgRUNQR3RfbmNoYXI6CiAJCQljYXNlIEVDUEd0X3Vuc2lnbmVkX2NoYXI6 CiAJCQljYXNlIEVDUEd0X3N0cmluZzoKIAkJCWRlZmF1bHQ6CkBAIC01NjIs NiArNTY0LDcgQEAKIAkJCQlzcWxkYS0+c3FsdmFyW2ldLnNxbGxlbiA9IHNp emVvZihpbnRlcnZhbCk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIEVDUEd0X2No YXI6CisJCQljYXNlIEVDUEd0X25jaGFyOgogCQkJY2FzZSBFQ1BHdF91bnNp Z25lZF9jaGFyOgogCQkJY2FzZSBFQ1BHdF9zdHJpbmc6CiAJCQlkZWZhdWx0 OgpkaWZmIC11TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRl cmZhY2VzL2VjcGcvZWNwZ2xpYi90eXBlbmFtZS5jIHBvc3RncmVzcWwtaGVh ZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIv dHlwZW5hbWUuYwotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9p bnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi90eXBlbmFtZS5jCTIwMTMtMTAtMTcg MDQ6MjI6NTUuMDAwMDAwMDAwICsxMTAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQt MjAxMzEwMTctbmNoYXIvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL3R5 cGVuYW1lLmMJMjAxMy0xMC0zMSAxMDozOTozMC4wMDAwMDAwMDAgKzExMDAK QEAgLTYyLDYgKzYyLDEwIEBACiAJCQlyZXR1cm4gImludGVydmFsIjsKIAkJ Y2FzZSBFQ1BHdF9jb25zdDoKIAkJCXJldHVybiAiQ29uc3QiOworCQljYXNl IEVDUEd0X25jaGFyOgorCQkJcmV0dXJuICJuYXRpb25hbCBjaGFyIjsKKwkJ Y2FzZSBFQ1BHdF9udmFyY2hhcjoKKwkJCXJldHVybiAibnZhcmNoYXIiOwog CQlkZWZhdWx0OgogCQkJYWJvcnQoKTsKIAl9CkBAIC04OSw2ICs5MywxMCBA QAogCQkJcmV0dXJuIFNRTDNfQ0hBUkFDVEVSOwkJLyogYnBjaGFyICovCiAJ CWNhc2UgVkFSQ0hBUk9JRDoKIAkJCXJldHVybiBTUUwzX0NIQVJBQ1RFUl9W QVJZSU5HOwkJLyogdmFyY2hhciAqLworCQljYXNlIE5CUENIQVJPSUQ6CisJ CQlyZXR1cm4gU1FMM19DSEFSQUNURVI7CQkvKiBicGNoYXIgKi8KKwkJY2Fz ZSBOVkFSQ0hBUk9JRDoKKwkJCXJldHVybiBTUUwzX0NIQVJBQ1RFUl9WQVJZ SU5HOwkJLyogbnZhcmNoYXIgKi8KIAkJY2FzZSBEQVRFT0lEOgogCQkJcmV0 dXJuIFNRTDNfREFURV9USU1FX1RJTUVTVEFNUDsJLyogZGF0ZSAqLwogCQlj YXNlIFRJTUVPSUQ6CkBAIC0xMTAsNiArMTE4LDggQEAKIAkJY2FzZSBDSEFS T0lEOgogCQljYXNlIFZBUkNIQVJPSUQ6CiAJCWNhc2UgQlBDSEFST0lEOgor CQljYXNlIE5WQVJDSEFST0lEOgorCQljYXNlIE5CUENIQVJPSUQ6CiAJCWNh c2UgVEVYVE9JRDoKIAkJCXJldHVybiBFQ1BHdF9jaGFyOwogCQljYXNlIElO VDJPSUQ6CmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3Jj L2ludGVyZmFjZXMvZWNwZy9pbmNsdWRlL2VjcGd0eXBlLmggcG9zdGdyZXNx bC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbnRlcmZhY2VzL2VjcGcvaW5j bHVkZS9lY3BndHlwZS5oCi0tLSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcv c3JjL2ludGVyZmFjZXMvZWNwZy9pbmNsdWRlL2VjcGd0eXBlLmgJMjAxMy0x MC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzExMDAKKysrIHBvc3RncmVzcWwt aGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9lY3BnL2luY2x1 ZGUvZWNwZ3R5cGUuaAkyMDEzLTEwLTMxIDEwOjQwOjA2LjAwMDAwMDAwMCAr MTEwMApAQCAtNjMsNyArNjMsOSBAQAogCUVDUEd0X0VPUlQsCQkJCQkvKiBF bmQgb2YgcmVzdWx0IHR5cGVzLiAqLwogCUVDUEd0X05PX0lORElDQVRPUiwJ CQkvKiBubyBpbmRpY2F0b3IgKi8KIAlFQ1BHdF9zdHJpbmcsCQkJCS8qIHRy aW1tZWQgKGNoYXIgKikgdHlwZSAqLwotCUVDUEd0X3NxbGRhCQkJCQkvKiBD IHN0cnVjdCBkZXNjcmlwdG9yICovCisJRUNQR3Rfc3FsZGEsCQkJCQkvKiBD IHN0cnVjdCBkZXNjcmlwdG9yICovCisJRUNQR3RfbnZhcmNoYXIsCQkJCS8q IHRoZSBzYW1lIGFzIEVDUEd0X3ZhcmNoYXIgYWN0dWFsbHkgKi8KKwlFQ1BH dF9uY2hhcgkJCQkJLyogY29udmVydGVkIHRvIGNoYXIgKmFycltOXSAqLwog fTsKIAogIC8qIGRlc2NyaXB0b3IgaXRlbXMgKi8KQEAgLTg4LDcgKzkwLDcg QEAKIAlFQ1BHZF9jYXJkaW5hbGl0eQogfTsKIAotI2RlZmluZSBJU19TSU1Q TEVfVFlQRSh0eXBlKSAoKCh0eXBlKSA+PSBFQ1BHdF9jaGFyICYmICh0eXBl KSA8PSBFQ1BHdF9pbnRlcnZhbCkgfHwgKCh0eXBlKSA9PSBFQ1BHdF9zdHJp bmcpKQorI2RlZmluZSBJU19TSU1QTEVfVFlQRSh0eXBlKSAoKCh0eXBlKSA+ PSBFQ1BHdF9jaGFyICYmICh0eXBlKSA8PSBFQ1BHdF9pbnRlcnZhbCkgfHwg KCh0eXBlKSA9PSBFQ1BHdF9zdHJpbmcpIHx8ICgodHlwZSkgPT0gRUNQR3Rf bnZhcmNoYXIpIHx8ICgodHlwZSkgPT0gRUNQR3RfbmNoYXIpKQogCiAvKiB3 ZSBhbHNvIGhhdmUgdG8gaGFuZGxlIGRpZmZlcmVudCBzdGF0ZW1lbnQgdHlw ZXMgKi8KIGVudW0gRUNQR19zdGF0ZW1lbnRfdHlwZQpkaWZmIC11TnIgcG9z dGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvaW5j bHVkZS9zcWx0eXBlcy5oIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hh ci9zcmMvaW50ZXJmYWNlcy9lY3BnL2luY2x1ZGUvc3FsdHlwZXMuaAotLS0g cG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcv aW5jbHVkZS9zcWx0eXBlcy5oCTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAwMDAw MDAwICsxMTAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIv c3JjL2ludGVyZmFjZXMvZWNwZy9pbmNsdWRlL3NxbHR5cGVzLmgJMjAxMy0x MC0xNyAxMTo1NjoyMi4wMDAwMDAwMDAgKzExMDAKQEAgLTQ2LDYgKzQ2LDcg QEAKICNkZWZpbmUgU1FMSU5URVJWQUwgICAgIEVDUEd0X2ludGVydmFsCiAj ZGVmaW5lCVNRTE5DSEFSCUVDUEd0X2NoYXIKICNkZWZpbmUJU1FMTlZDSEFS CUVDUEd0X2NoYXIKKyNkZWZpbmUgU1FMTlZBUkNIQVIJRUNQR3RfY2hhcgog I2lmZGVmIEhBVkVfTE9OR19MT05HX0lOVF82NAogI2RlZmluZQlTUUxJTlQ4 CQlFQ1BHdF9sb25nX2xvbmcKICNkZWZpbmUJU1FMU0VSSUFMOAlFQ1BHdF9s b25nX2xvbmcKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9z cmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvY19rZXl3b3Jkcy5jIHBvc3Rn cmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9lY3Bn L3ByZXByb2MvY19rZXl3b3Jkcy5jCi0tLSBwb3N0Z3Jlc3FsLWhlYWQtMjAx MzEwMTcvc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2Nfa2V5d29yZHMu YwkyMDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEwMAorKysgcG9z dGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbnRlcmZhY2VzL2Vj cGcvcHJlcHJvYy9jX2tleXdvcmRzLmMJMjAxMy0xMC0xNyAxMTo1NjoyMi4w MDAwMDAwMDAgKzExMDAKQEAgLTI3LDYgKzI3LDggQEAKIAkgKiBjYXRlZ29y eSBpcyBub3QgbmVlZGVkIGluIGVjcGcsIGl0IGlzIG9ubHkgaGVyZSBzbyB3 ZSBjYW4gc2hhcmUgdGhlCiAJICogZGF0YSBzdHJ1Y3R1cmUgd2l0aCB0aGUg YmFja2VuZAogCSAqLworCXsiTkNIQVIiLCBOQ0hBUiwgMH0sCisJeyJOVkFS Q0hBUiIsIE5WQVJDSEFSLCAwfSwKIAl7IlZBUkNIQVIiLCBWQVJDSEFSLCAw fSwKIAl7ImF1dG8iLCBTX0FVVE8sIDB9LAogCXsiYm9vbCIsIFNRTF9CT09M LCAwfSwKQEAgLTQwLDYgKzQyLDggQEAKIAl7ImxvbmciLCBTUUxfTE9ORywg MH0sCiAJeyJtaW51dGUiLCBNSU5VVEVfUCwgMH0sCiAJeyJtb250aCIsIE1P TlRIX1AsIDB9LAorCXsibmNoYXIiLCBOQ0hBUiwgMH0sCisJeyJudmFyY2hh ciIsIE5WQVJDSEFSLCAwfSwKIAl7InJlZ2lzdGVyIiwgU19SRUdJU1RFUiwg MH0sCiAJeyJzZWNvbmQiLCBTRUNPTkRfUCwgMH0sCiAJeyJzaG9ydCIsIFNR TF9TSE9SVCwgMH0sCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEw MTcvc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2VjcGcuaGVhZGVyIHBv c3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9l Y3BnL3ByZXByb2MvZWNwZy5oZWFkZXIKLS0tIHBvc3RncmVzcWwtaGVhZC0y MDEzMTAxNy9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvZWNwZy5oZWFk ZXIJMjAxMy0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzExMDAKKysrIHBv c3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9l Y3BnL3ByZXByb2MvZWNwZy5oZWFkZXIJMjAxMy0xMC0zMSAxMDo0MjoyNy4w MDAwMDAwMDAgKzExMDAKQEAgLTI3MCw5ICsyNzAsMTEgQEAKIAkJCX0KIAkJ CWVsc2UgaWYgKChwdHItPnZhcmlhYmxlLT50eXBlLT50eXBlICE9IEVDUEd0 X3ZhcmNoYXIKIAkJCQkJICAmJiBwdHItPnZhcmlhYmxlLT50eXBlLT50eXBl ICE9IEVDUEd0X2NoYXIKKwkJCQkJICAmJiBwdHItPnZhcmlhYmxlLT50eXBl LT50eXBlICE9IEVDUEd0X252YXJjaGFyCisJCQkJCSAgJiYgcHRyLT52YXJp YWJsZS0+dHlwZS0+dHlwZSAhPSBFQ1BHdF9uY2hhcgogCQkJCQkgICYmIHB0 ci0+dmFyaWFibGUtPnR5cGUtPnR5cGUgIT0gRUNQR3RfdW5zaWduZWRfY2hh cgogCQkJCQkgICYmIHB0ci0+dmFyaWFibGUtPnR5cGUtPnR5cGUgIT0gRUNQ R3Rfc3RyaW5nKQotCQkJCQkgJiYgYXRvaShwdHItPnZhcmlhYmxlLT50eXBl LT5zaXplKSA+IDEpCisJCQkJCSAgJiYgYXRvaShwdHItPnZhcmlhYmxlLT50 eXBlLT5zaXplKSA+IDEpCiAJCQl7CiAJCQkJbmV3dmFyID0gbmV3X3Zhcmlh YmxlKGNhdF9zdHIoNCwgbW1fc3RyZHVwKCIoIiksCiAJCQkJCQkJCQkJCSAg bW1fc3RyZHVwKGVjcGdfdHlwZV9uYW1lKHB0ci0+dmFyaWFibGUtPnR5cGUt PnUuZWxlbWVudC0+dHlwZSkpLApAQCAtMjg2LDYgKzI4OCw4IEBACiAJCQl9 CiAJCQllbHNlIGlmICgocHRyLT52YXJpYWJsZS0+dHlwZS0+dHlwZSA9PSBF Q1BHdF92YXJjaGFyCiAJCQkJCSAgfHwgcHRyLT52YXJpYWJsZS0+dHlwZS0+ dHlwZSA9PSBFQ1BHdF9jaGFyCisJCQkJCSAgfHwgcHRyLT52YXJpYWJsZS0+ dHlwZS0+dHlwZSA9PSBFQ1BHdF9udmFyY2hhcgorCQkJCQkgIHx8IHB0ci0+ dmFyaWFibGUtPnR5cGUtPnR5cGUgPT0gRUNQR3RfbmNoYXIKIAkJCQkJICB8 fCBwdHItPnZhcmlhYmxlLT50eXBlLT50eXBlID09IEVDUEd0X3Vuc2lnbmVk X2NoYXIKIAkJCQkJICB8fCBwdHItPnZhcmlhYmxlLT50eXBlLT50eXBlID09 IEVDUEd0X3N0cmluZykKIAkJCQkJICYmIGF0b2kocHRyLT52YXJpYWJsZS0+ dHlwZS0+c2l6ZSkgPiAxKQpAQCAtMjk4LDcgKzMwMiw3IEBACiAJCQkJCQkJ CQkJCQkJCSAgIHB0ci0+dmFyaWFibGUtPnR5cGUtPnNpemUsCiAJCQkJCQkJ CQkJCQkJCSAgIHB0ci0+dmFyaWFibGUtPnR5cGUtPmNvdW50ZXIpLAogCQkJ CQkJCQkJICAwKTsKLQkJCQlpZiAocHRyLT52YXJpYWJsZS0+dHlwZS0+dHlw ZSA9PSBFQ1BHdF92YXJjaGFyKQorCQkJCWlmIChwdHItPnZhcmlhYmxlLT50 eXBlLT50eXBlID09IEVDUEd0X3ZhcmNoYXIgfHwgcHRyLT52YXJpYWJsZS0+ dHlwZS0+dHlwZSA9PSBFQ1BHdF9udmFyY2hhcikKIAkJCQkJdmFyX3B0ciA9 IHRydWU7CiAJCQl9CiAJCQllbHNlIGlmIChwdHItPnZhcmlhYmxlLT50eXBl LT50eXBlID09IEVDUEd0X3N0cnVjdApAQCAtNTQ1LDYgKzU0OSw3IEBACiAJ CUVDUEdzdHJ1Y3RfbWVtYmVyX2R1cChzdHJ1Y3RfbWVtYmVyX2xpc3Rbc3Ry dWN0X2xldmVsXSkgOiBOVUxMOwogCiAJCWlmICh0eXBlX2VudW0gIT0gRUNQ R3RfdmFyY2hhciAmJgorCQkJdHlwZV9lbnVtICE9IEVDUEd0X252YXJjaGFy ICYmCiAJCQl0eXBlX2VudW0gIT0gRUNQR3RfY2hhciAmJgogCQkJdHlwZV9l bnVtICE9IEVDUEd0X3Vuc2lnbmVkX2NoYXIgJiYKIAkJCXR5cGVfZW51bSAh PSBFQ1BHdF9zdHJpbmcgJiYKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0y MDEzMTAxNy9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvZWNwZy50cmFp bGVyIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJm YWNlcy9lY3BnL3ByZXByb2MvZWNwZy50cmFpbGVyCi0tLSBwb3N0Z3Jlc3Fs LWhlYWQtMjAxMzEwMTcvc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2Vj cGcudHJhaWxlcgkyMDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEw MAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbnRl cmZhY2VzL2VjcGcvcHJlcHJvYy9lY3BnLnRyYWlsZXIJMjAxMy0xMC0zMSAx MDo0NzoxMC4wMDAwMDAwMDAgKzExMDAKQEAgLTE4Niw3ICsxODYsNyBAQAog CQkJCXR5cGUgPSBhcmdzaW5zZXJ0LT52YXJpYWJsZS0+dHlwZS0+dS5lbGVt ZW50LT50eXBlOwogCiAJCQkvKiBoYW5kbGUgdmFyY2hhcnMgKi8KLQkJCWlm ICh0eXBlID09IEVDUEd0X3ZhcmNoYXIpCisJCQlpZiAodHlwZSA9PSBFQ1BH dF92YXJjaGFyIHx8IHR5cGUgPT0gRUNQR3RfbnZhcmNoYXIpCiAJCQkJJCQg PSBtYWtlMl9zdHIobW1fc3RyZHVwKGFyZ3NpbnNlcnQtPnZhcmlhYmxlLT5u YW1lKSwgbW1fc3RyZHVwKCIuYXJyIikpOwogCQkJZWxzZQogCQkJCSQkID0g bW1fc3RyZHVwKGFyZ3NpbnNlcnQtPnZhcmlhYmxlLT5uYW1lKTsKQEAgLTIx MSwxMSArMjExLDEzIEBACiAJCQkJc3dpdGNoICh0eXBlKQogCQkJCXsKIAkJ CQkJY2FzZSBFQ1BHdF9jaGFyOgorCQkJCQljYXNlIEVDUEd0X25jaGFyOgog CQkJCQljYXNlIEVDUEd0X3Vuc2lnbmVkX2NoYXI6CiAJCQkJCWNhc2UgRUNQ R3Rfc3RyaW5nOgogCQkJCQkJJCQgPSAkMTsKIAkJCQkJCWJyZWFrOwogCQkJ CQljYXNlIEVDUEd0X3ZhcmNoYXI6CisJCQkJCWNhc2UgRUNQR3RfbnZhcmNo YXI6CiAJCQkJCQkkJCA9IG1ha2UyX3N0cigkMSwgbW1fc3RyZHVwKCIuYXJy IikpOwogCQkJCQkJYnJlYWs7CiAJCQkJCWRlZmF1bHQ6CkBAIC01NTAsNiAr NTUyLDIyIEBACiAJCQkJJCQudHlwZV9pbmRleCA9IG1tX3N0cmR1cCgiLTEi KTsKIAkJCQkkJC50eXBlX3NpemVvZiA9IE5VTEw7CiAJCQl9CisJCQllbHNl IGlmIChzdHJjbXAoJDEsICJudmFyY2hhciIpID09IDApCisJCQl7CisJCQkJ JCQudHlwZV9lbnVtID0gRUNQR3RfbnZhcmNoYXI7CisJCQkJJCQudHlwZV9z dHIgPSBFTVBUWTsgLyptbV9zdHJkdXAoIm52YXJjaGFyIik7Ki8KKwkJCQkk JC50eXBlX2RpbWVuc2lvbiA9IG1tX3N0cmR1cCgiLTEiKTsKKwkJCQkkJC50 eXBlX2luZGV4ID0gbW1fc3RyZHVwKCItMSIpOworCQkJCSQkLnR5cGVfc2l6 ZW9mID0gTlVMTDsKKwkJCX0KKwkJCWVsc2UgaWYgKHN0cmNtcCgkMSwgIm5j aGFyIikgPT0gMCkKKwkJCXsKKwkJCQkkJC50eXBlX2VudW0gPSBFQ1BHdF9u Y2hhcjsKKwkJCQkkJC50eXBlX3N0ciA9IEVNUFRZOyAvKm1tX3N0cmR1cCgi bmNoYXIiKTsqLworCQkJCSQkLnR5cGVfZGltZW5zaW9uID0gbW1fc3RyZHVw KCItMSIpOworCQkJCSQkLnR5cGVfaW5kZXggPSBtbV9zdHJkdXAoIi0xIik7 CisJCQkJJCQudHlwZV9zaXplb2YgPSBOVUxMOworCQkJfQogCQkJZWxzZSBp ZiAoc3RyY21wKCQxLCAiZmxvYXQiKSA9PSAwKQogCQkJewogCQkJCSQkLnR5 cGVfZW51bSA9IEVDUEd0X2Zsb2F0OwpAQCAtNjI3LDcgKzY0NSw3IEBACiAJ CQkJLyogdGhpcyBpcyBmb3IgdHlwZWRlZidlZCB0eXBlcyAqLwogCQkJCXN0 cnVjdCB0eXBlZGVmcyAqdGhpcyA9IGdldF90eXBlZGVmKCQxKTsKIAotCQkJ CSQkLnR5cGVfc3RyID0gKHRoaXMtPnR5cGUtPnR5cGVfZW51bSA9PSBFQ1BH dF92YXJjaGFyKSA/IEVNUFRZIDogbW1fc3RyZHVwKHRoaXMtPm5hbWUpOwor CQkJCSQkLnR5cGVfc3RyID0gKHRoaXMtPnR5cGUtPnR5cGVfZW51bSA9PSBF Q1BHdF92YXJjaGFyIHx8IHRoaXMtPnR5cGUtPnR5cGVfZW51bSA9PSBFQ1BH dF9udmFyY2hhcikgPyBFTVBUWSA6IG1tX3N0cmR1cCh0aGlzLT5uYW1lKTsK IAkJCQkkJC50eXBlX2VudW0gPSB0aGlzLT50eXBlLT50eXBlX2VudW07CiAJ CQkJJCQudHlwZV9kaW1lbnNpb24gPSB0aGlzLT50eXBlLT50eXBlX2RpbWVu c2lvbjsKIAkJCQkkJC50eXBlX2luZGV4ID0gdGhpcy0+dHlwZS0+dHlwZV9p bmRleDsKQEAgLTg2Miw2ICs4ODAsNyBAQAogCQkJCQkkJCA9IGNhdF9zdHIo NSwgJDEsIG1tX3N0cmR1cCgkMiksICQzLnN0ciwgJDQsICQ1KTsKIAkJCQkJ YnJlYWs7CiAKKwkJCQljYXNlIEVDUEd0X252YXJjaGFyOgogCQkJCWNhc2Ug RUNQR3RfdmFyY2hhcjoKIAkJCQkJaWYgKGF0b2koZGltZW5zaW9uKSA8IDAp CiAJCQkJCQl0eXBlID0gRUNQR21ha2Vfc2ltcGxlX3R5cGUoYWN0dWFsX3R5 cGVbc3RydWN0X2xldmVsXS50eXBlX2VudW0sIGxlbmd0aCwgdmFyY2hhcl9j b3VudGVyKTsKQEAgLTg4Niw2ICs5MDUsMjUgQEAKIAkJCQkJdmFyY2hhcl9j b3VudGVyKys7CiAJCQkJCWJyZWFrOwogCisJCQkJY2FzZSBFQ1BHdF9uY2hh cjoKKwkJCQkJaWYgKGF0b2koZGltZW5zaW9uKSA9PSAtMSkKKwkJCQkJewor CQkJCQkJaW50IGkgPSBzdHJsZW4oJDUpOworCisJCQkJCQlpZiAoYXRvaShs ZW5ndGgpID09IC0xICYmIGkgPiAwKSAvKiBjaGFyIDx2YXI+W10gPSAic3Ry aW5nIiAqLworCQkJCQkJeworCQkJCQkJCS8qIGlmIHdlIGhhdmUgYW4gaW5p dGlhbGl6ZXIgYnV0IG5vIHN0cmluZyBzaXplIHNldCwgbGV0J3MgdXNlIHRo ZSBpbml0aWFsaXplcidzIGxlbmd0aCAqLworCQkJCQkJCWZyZWUobGVuZ3Ro KTsKKwkJCQkJCQlsZW5ndGggPSBtbV9hbGxvYyhpK3NpemVvZigic2l6ZW9m KCkiKSk7CisJCQkJCQkJc3ByaW50ZihsZW5ndGgsICJzaXplb2YoJXMpIiwg JDUrMik7CisJCQkJCQl9CisJCQkJCQl0eXBlID0gRUNQR21ha2Vfc2ltcGxl X3R5cGUoYWN0dWFsX3R5cGVbc3RydWN0X2xldmVsXS50eXBlX2VudW0sIGxl bmd0aCwgMCk7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQkJdHlwZSA9IEVD UEdtYWtlX2FycmF5X3R5cGUoRUNQR21ha2Vfc2ltcGxlX3R5cGUoYWN0dWFs X3R5cGVbc3RydWN0X2xldmVsXS50eXBlX2VudW0sIGxlbmd0aCwgMCksIGRp bWVuc2lvbik7CisKKwkJCQkJJCQgPSBjYXRfc3RyKDYsIG1tX3N0cmR1cCgi Y2hhciIpLCAkMSwgbW1fc3RyZHVwKCQyKSwgJDMuc3RyLCAkNCwgJDUpOwor CQkJCQlicmVhazsKIAkJCQljYXNlIEVDUEd0X2NoYXI6CiAJCQkJY2FzZSBF Q1BHdF91bnNpZ25lZF9jaGFyOgogCQkJCWNhc2UgRUNQR3Rfc3RyaW5nOgpA QCAtMTM0OCw2ICsxMzg2LDcgQEAKIAkJCQkJCQl0eXBlID0gRUNQR21ha2Vf YXJyYXlfdHlwZShFQ1BHbWFrZV9zdHJ1Y3RfdHlwZShzdHJ1Y3RfbWVtYmVy X2xpc3Rbc3RydWN0X2xldmVsXSwgJDUudHlwZV9lbnVtLCAkNS50eXBlX3N0 ciwgJDUudHlwZV9zaXplb2YpLCBkaW1lbnNpb24pOwogCQkJCQkJYnJlYWs7 CiAKKwkJCQkJY2FzZSBFQ1BHdF9udmFyY2hhcjoKIAkJCQkJY2FzZSBFQ1BH dF92YXJjaGFyOgogCQkJCQkJaWYgKGF0b2koZGltZW5zaW9uKSA9PSAtMSkK IAkJCQkJCQl0eXBlID0gRUNQR21ha2Vfc2ltcGxlX3R5cGUoJDUudHlwZV9l bnVtLCBsZW5ndGgsIDApOwpAQCAtMTM1Niw2ICsxMzk1LDcgQEAKIAkJCQkJ CWJyZWFrOwogCiAJCQkJCWNhc2UgRUNQR3RfY2hhcjoKKwkJCQkJY2FzZSBF Q1BHdF9uY2hhcjoKIAkJCQkJY2FzZSBFQ1BHdF91bnNpZ25lZF9jaGFyOgog CQkJCQljYXNlIEVDUEd0X3N0cmluZzoKIAkJCQkJCWlmIChhdG9pKGRpbWVu c2lvbikgPT0gLTEpCkBAIC0xODQ0LDYgKzE4ODQsOCBAQAogCQl8IFRPCQkJ CXsgJCQgPSBtbV9zdHJkdXAoInRvIik7IH0KIAkJfCBVTklPTgkJCQl7ICQk ID0gbW1fc3RyZHVwKCJ1bmlvbiIpOyB9CiAJCXwgVkFSQ0hBUgkJCXsgJCQg PSBtbV9zdHJkdXAoInZhcmNoYXIiKTsgfQorCQl8IE5WQVJDSEFSCQkJeyAk JCA9IG1tX3N0cmR1cCgibnZhcmNoYXIiKTsgfQorCQl8IE5DSEFSCQkJCXsg JCQgPSBtbV9zdHJkdXAoIm5jaGFyIik7IH0KIAkJfCAnWycJCQkJeyAkJCA9 IG1tX3N0cmR1cCgiWyIpOyB9CiAJCXwgJ10nCQkJCXsgJCQgPSBtbV9zdHJk dXAoIl0iKTsgfQogCQl8ICc9JwkJCQl7ICQkID0gbW1fc3RyZHVwKCI9Iik7 IH0KZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvaW50 ZXJmYWNlcy9lY3BnL3ByZXByb2MvdHlwZS5jIHBvc3RncmVzcWwtaGVhZC0y MDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvdHlw ZS5jCi0tLSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2ludGVyZmFj ZXMvZWNwZy9wcmVwcm9jL3R5cGUuYwkyMDEzLTEwLTE3IDA0OjIyOjU1LjAw MDAwMDAwMCArMTEwMAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5j aGFyL3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy90eXBlLmMJMjAxMy0x MC0xNyAxMTo1NjoyMi4wMDAwMDAwMDAgKzExMDAKQEAgLTEzNyw2ICsxMzcs OSBAQAogCQljYXNlIEVDUEd0X2NoYXI6CiAJCQlyZXR1cm4gKCJFQ1BHdF9j aGFyIik7CiAJCQlicmVhazsKKwkJY2FzZSBFQ1BHdF9uY2hhcjoKKwkJCXJl dHVybiAoIkVDUEd0X25jaGFyIik7CisJCQlicmVhazsKIAkJY2FzZSBFQ1BH dF91bnNpZ25lZF9jaGFyOgogCQkJcmV0dXJuICgiRUNQR3RfdW5zaWduZWRf Y2hhciIpOwogCQkJYnJlYWs7CkBAIC0xNzUsNiArMTc4LDggQEAKIAkJCWJy ZWFrOwogCQljYXNlIEVDUEd0X3ZhcmNoYXI6CiAJCQlyZXR1cm4gKCJFQ1BH dF92YXJjaGFyIik7CisJCWNhc2UgRUNQR3RfbnZhcmNoYXI6CisJCQlyZXR1 cm4gKCJFQ1BHdF9udmFyY2hhciIpOwogCQljYXNlIEVDUEd0X05PX0lORElD QVRPUjoJCS8qIG5vIGluZGljYXRvciAqLwogCQkJcmV0dXJuICgiRUNQR3Rf Tk9fSU5ESUNBVE9SIik7CiAJCQlicmVhazsKQEAgLTM4Myw2ICszODgsNyBA QAogCQkJCSAqIHBvaW50ZXJzCiAJCQkJICovCiAKKwkJCWNhc2UgRUNQR3Rf bnZhcmNoYXI6CiAJCQljYXNlIEVDUEd0X3ZhcmNoYXI6CiAKIAkJCQkvKgpA QCAtNDA2LDYgKzQxMiw3IEBACiAJCQkJCXNwcmludGYob2Zmc2V0LCAic2l6 ZW9mKHN0cnVjdCB2YXJjaGFyKSIpOwogCQkJCWJyZWFrOwogCQkJY2FzZSBF Q1BHdF9jaGFyOgorCQkJY2FzZSBFQ1BHdF9uY2hhcjoKIAkJCWNhc2UgRUNQ R3RfdW5zaWduZWRfY2hhcjoKIAkJCWNhc2UgRUNQR3RfY2hhcl92YXJpYWJs ZToKIAkJCWNhc2UgRUNQR3Rfc3RyaW5nOgpkaWZmIC11TnIgcG9zdGdyZXNx bC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy92 YXJpYWJsZS5jIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMv aW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvdmFyaWFibGUuYwotLS0gcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJv Yy92YXJpYWJsZS5jCTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAwMDAwMDAwICsx MTAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2lu dGVyZmFjZXMvZWNwZy9wcmVwcm9jL3ZhcmlhYmxlLmMJMjAxMy0xMC0xNyAx MTo1NjoyMi4wMDAwMDAwMDAgKzExMDAKQEAgLTUyOSw3ICs1MjksNyBAQAog CQkJCQkJCQkJCQkJIm11bHRpbGV2ZWwgcG9pbnRlcnMgKG1vcmUgdGhhbiAy IGxldmVscykgYXJlIG5vdCBzdXBwb3J0ZWQ7IGZvdW5kICVkIGxldmVscyIs IHBvaW50ZXJfbGVuKSwKIAkJCQlwb2ludGVyX2xlbik7CiAKLQlpZiAocG9p bnRlcl9sZW4gPiAxICYmIHR5cGVfZW51bSAhPSBFQ1BHdF9jaGFyICYmIHR5 cGVfZW51bSAhPSBFQ1BHdF91bnNpZ25lZF9jaGFyICYmIHR5cGVfZW51bSAh PSBFQ1BHdF9zdHJpbmcpCisJaWYgKHBvaW50ZXJfbGVuID4gMSAmJiB0eXBl X2VudW0gIT0gRUNQR3RfY2hhciAmJiB0eXBlX2VudW0gIT0gRUNQR3RfbmNo YXIgJiYgdHlwZV9lbnVtICE9IEVDUEd0X3Vuc2lnbmVkX2NoYXIgJiYgdHlw ZV9lbnVtICE9IEVDUEd0X3N0cmluZykKIAkJbW1lcnJvcihQQVJTRV9FUlJP UiwgRVRfRkFUQUwsICJwb2ludGVyIHRvIHBvaW50ZXIgaXMgbm90IHN1cHBv cnRlZCBmb3IgdGhpcyBkYXRhIHR5cGUiKTsKIAogCWlmIChwb2ludGVyX2xl biA+IDEgJiYgKGF0b2koKmxlbmd0aCkgPj0gMCB8fCBhdG9pKCpkaW1lbnNp b24pID49IDApKQpAQCAtNTU0LDYgKzU1NCw3IEBACiAKIAkJCWJyZWFrOwog CQljYXNlIEVDUEd0X3ZhcmNoYXI6CisJCWNhc2UgRUNQR3RfbnZhcmNoYXI6 CiAJCQkvKiBwb2ludGVyIGhhcyB0byBnZXQgZGltZW5zaW9uIDAgKi8KIAkJ CWlmIChwb2ludGVyX2xlbikKIAkJCQkqZGltZW5zaW9uID0gbW1fc3RyZHVw KCIwIik7CkBAIC01NjcsNiArNTY4LDcgQEAKIAogCQkJYnJlYWs7CiAJCWNh c2UgRUNQR3RfY2hhcjoKKwkJY2FzZSBFQ1BHdF9uY2hhcjoKIAkJY2FzZSBF Q1BHdF91bnNpZ25lZF9jaGFyOgogCQljYXNlIEVDUEd0X3N0cmluZzoKIAkJ CS8qIGNoYXIgKiogKi8KZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEz MTAxNy9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZWNwZ19zY2hlZHVsZSBw b3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2ludGVyZmFjZXMv ZWNwZy90ZXN0L2VjcGdfc2NoZWR1bGUKLS0tIHBvc3RncmVzcWwtaGVhZC0y MDEzMTAxNy9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZWNwZ19zY2hlZHVs ZQkyMDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEwMAorKysgcG9z dGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbnRlcmZhY2VzL2Vj cGcvdGVzdC9lY3BnX3NjaGVkdWxlCTIwMTMtMTAtMTcgMTE6NTY6MjIuMDAw MDAwMDAwICsxMTAwCkBAIC00Nyw4ICs0NywxMSBAQAogdGVzdDogc3FsL3No b3cKIHRlc3Q6IHNxbC9pbnN1cGQKIHRlc3Q6IHNxbC9wYXJzZXIKK3Rlc3Q6 IHNxbC9uY2hhcgordGVzdDogc3FsL252YXJjaGFyCiB0ZXN0OiB0aHJlYWQv dGhyZWFkCiB0ZXN0OiB0aHJlYWQvdGhyZWFkX2ltcGxpY2l0CiB0ZXN0OiB0 aHJlYWQvcHJlcAogdGVzdDogdGhyZWFkL2FsbG9jCiB0ZXN0OiB0aHJlYWQv ZGVzY3JpcHRvcgorCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEw MTcvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2VjcGdfc2NoZWR1bGVfdGNw IHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNl cy9lY3BnL3Rlc3QvZWNwZ19zY2hlZHVsZV90Y3AKLS0tIHBvc3RncmVzcWwt aGVhZC0yMDEzMTAxNy9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZWNwZ19z Y2hlZHVsZV90Y3AJMjAxMy0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzEx MDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50 ZXJmYWNlcy9lY3BnL3Rlc3QvZWNwZ19zY2hlZHVsZV90Y3AJMjAxMy0xMC0x NyAxMTo1NjoyMi4wMDAwMDAwMDAgKzExMDAKQEAgLTQ3LDYgKzQ3LDggQEAK IHRlc3Q6IHNxbC9zaG93CiB0ZXN0OiBzcWwvaW5zdXBkCiB0ZXN0OiBzcWwv cGFyc2VyCit0ZXN0OiBzcWwvbmNoYXIKK3Rlc3Q6IHNxbC9udmFyY2hhcgog dGVzdDogdGhyZWFkL3RocmVhZAogdGVzdDogdGhyZWFkL3RocmVhZF9pbXBs aWNpdAogdGVzdDogdGhyZWFkL3ByZXAKZGlmZiAtdU5yIHBvc3RncmVzcWwt aGVhZC0yMDEzMTAxNy9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0 ZWQvY29tcGF0X2luZm9ybWl4LXNxbGRhLmMgcG9zdGdyZXNxbC1oZWFkLTIw MTMxMDE3LW5jaGFyL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3Rl ZC9jb21wYXRfaW5mb3JtaXgtc3FsZGEuYwotLS0gcG9zdGdyZXNxbC1oZWFk LTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9j b21wYXRfaW5mb3JtaXgtc3FsZGEuYwkyMDEzLTEwLTE3IDA0OjIyOjU1LjAw MDAwMDAwMCArMTEwMAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5j aGFyL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9jb21wYXRf aW5mb3JtaXgtc3FsZGEuYwkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAwMDAw MCArMTEwMApAQCAtOTcsNiArOTcsNyBAQAogI2RlZmluZSBTUUxJTlRFUlZB TCAgICAgRUNQR3RfaW50ZXJ2YWwKICNkZWZpbmUJU1FMTkNIQVIJRUNQR3Rf Y2hhcgogI2RlZmluZQlTUUxOVkNIQVIJRUNQR3RfY2hhcgorI2RlZmluZSBT UUxOVkFSQ0hBUglFQ1BHdF9jaGFyCiAjaWZkZWYgSEFWRV9MT05HX0xPTkdf SU5UXzY0CiAjZGVmaW5lCVNRTElOVDgJCUVDUEd0X2xvbmdfbG9uZwogI2Rl ZmluZQlTUUxTRVJJQUw4CUVDUEd0X2xvbmdfbG9uZwpkaWZmIC11TnIgcG9z dGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVz dC9leHBlY3RlZC9wcmVwcm9jLXR5cGUuYyBwb3N0Z3Jlc3FsLWhlYWQtMjAx MzEwMTctbmNoYXIvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVk L3ByZXByb2MtdHlwZS5jCi0tLSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcv c3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3ByZXByb2MtdHlw ZS5jCTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAwMDAwMDAwICsxMTAwCisrKyBw b3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2ludGVyZmFjZXMv ZWNwZy90ZXN0L2V4cGVjdGVkL3ByZXByb2MtdHlwZS5jCTIwMTMtMTAtMzEg MTQ6MTg6NTIuMDAwMDAwMDAwICsxMTAwCkBAIC04Miw2ICs4MiwxMiBAQAog ICAJIAogCSAKICAgIAorICAgCisgIAorCSAKKwkgCisgICAKKwogICAKICNs aW5lIDI5ICJ0eXBlLnBnYyIKICBzdHJ1Y3QgVEJlbXBsIGVtcGwgOwpAQCAt MTAwLDE4ICsxMDYsMzAgQEAKICNsaW5lIDM1ICJ0eXBlLnBnYyIKICBjaGFy IHRleHQgWyAxMCBdIDsKICB9IHZjIDsKKyAKKyNsaW5lIDQxICJ0eXBlLnBn YyIKKyBzdHJ1Y3QgbnZhcmNoYXIgeyAKKyNsaW5lIDM5ICJ0eXBlLnBnYyIK KyBpbnQgbGVuIDsKKyAKKyNsaW5lIDQwICJ0eXBlLnBnYyIKKyBjaGFyIHRl eHQgWyAxMCBdIDsKKyB9IG52YyA7CiAvKiBleGVjIHNxbCBlbmQgZGVjbGFy ZSBzZWN0aW9uICovCi0jbGluZSAzNyAidHlwZS5wZ2MiCisjbGluZSA0MyAi dHlwZS5wZ2MiCiAKIAogICAvKiBleGVjIHNxbCB2YXIgdmMgaXMgWyAxMCBd ICovCi0jbGluZSAzOSAidHlwZS5wZ2MiCisjbGluZSA0NSAidHlwZS5wZ2Mi CisKKyAgLyogZXhlYyBzcWwgdmFyIG52YyBpcyBbIDEwIF0gKi8KKyNsaW5l IDQ2ICJ0eXBlLnBnYyIKIAogICBFQ1BHZGVidWcgKDEsIHN0ZGVycik7CiAK ICAgZW1wbC5pZG51bSA9IDE7CiAgIHsgRUNQR2Nvbm5lY3QoX19MSU5FX18s IDAsICJyZWdyZXNzMSIgLCBOVUxMLCBOVUxMICwgTlVMTCwgMCk7IH0KLSNs aW5lIDQzICJ0eXBlLnBnYyIKKyNsaW5lIDUwICJ0eXBlLnBnYyIKIAogICBp ZiAoc3FsY2Euc3FsY29kZSkKICAgICB7CkBAIC0xMTksOCArMTM3LDggQEAK ICAgICAgIGV4aXQgKHNxbGNhLnNxbGNvZGUpOwogICAgIH0KIAotICB7IEVD UEdkbyhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwgRUNQR3N0X25vcm1hbCwg ImNyZWF0ZSB0YWJsZSBlbXBsICggaWRudW0gaW50ZWdlciAsIG5hbWUgY2hh ciAoIDIwICkgLCBhY2NzIHNtYWxsaW50ICwgc3RyaW5nMSBjaGFyICggMTAg KSAsIHN0cmluZzIgY2hhciAoIDEwICkgLCBzdHJpbmczIGNoYXIgKCAxMCAp ICkiLCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTt9Ci0jbGluZSA1MSAidHlw ZS5wZ2MiCisgIHsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBF Q1BHc3Rfbm9ybWFsLCAiY3JlYXRlIHRhYmxlIGVtcGwgKCBpZG51bSBpbnRl Z2VyICwgbmFtZSBjaGFyICggMjAgKSAsIGFjY3Mgc21hbGxpbnQgLCBzdHJp bmcxIGNoYXIgKCAxMCApICwgc3RyaW5nMiBjaGFyICggMTAgKSAsIHN0cmlu ZzMgY2hhciAoIDEwICkgLCBzdHJpbmc0IGNoYXIgKCAxMCApICkiLCBFQ1BH dF9FT0lULCBFQ1BHdF9FT1JUKTt9CisjbGluZSA1OCAidHlwZS5wZ2MiCiAK ICAgaWYgKHNxbGNhLnNxbGNvZGUpCiAgICAgewpAQCAtMTI4LDggKzE0Niw4 IEBACiAgICAgICBleGl0IChzcWxjYS5zcWxjb2RlKTsKICAgICB9CiAKLSAg eyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3Jt YWwsICJpbnNlcnQgaW50byBlbXBsIHZhbHVlcyAoIDEgLCAndXNlciBuYW1l JyAsIDMyMCAsICdmaXJzdCBzdHInICwgJ3NlY29uZCBzdHInICwgJ3RoaXJk IHN0cicgKSIsIEVDUEd0X0VPSVQsIEVDUEd0X0VPUlQpO30KLSNsaW5lIDU4 ICJ0eXBlLnBnYyIKKyAgeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEws IDAsIEVDUEdzdF9ub3JtYWwsICJpbnNlcnQgaW50byBlbXBsIHZhbHVlcyAo IDEgLCAndXNlciBuYW1lJyAsIDMyMCAsICdmaXJzdCBzdHInICwgJ3NlY29u ZCBzdHInICwgJ3RoaXJkIHN0cicgLCAnZm91cnRoIHN0cicgKSIsIEVDUEd0 X0VPSVQsIEVDUEd0X0VPUlQpO30KKyNsaW5lIDY1ICJ0eXBlLnBnYyIKIAog ICBpZiAoc3FsY2Euc3FsY29kZSkKICAgICB7CkBAIC0xMzcsNyArMTU1LDcg QEAKICAgICAgIGV4aXQgKHNxbGNhLnNxbGNvZGUpOwogICAgIH0KIAotICB7 IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwgRUNQR3N0X25vcm1h bCwgInNlbGVjdCBpZG51bSAsIG5hbWUgLCBhY2NzICwgc3RyaW5nMSAsIHN0 cmluZzIgLCBzdHJpbmczIGZyb20gZW1wbCB3aGVyZSBpZG51bSA9ICQxICIs IAorICB7IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwgRUNQR3N0 X25vcm1hbCwgInNlbGVjdCBpZG51bSAsIG5hbWUgLCBhY2NzICwgc3RyaW5n MSAsIHN0cmluZzIgLCBzdHJpbmczICwgc3RyaW5nNCBmcm9tIGVtcGwgd2hl cmUgaWRudW0gPSAkMSAiLCAKIAlFQ1BHdF9sb25nLCYoZW1wbC5pZG51bSks KGxvbmcpMSwobG9uZykxLHNpemVvZihsb25nKSwgCiAJRUNQR3RfTk9fSU5E SUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQR3RfRU9JVCwgCiAJRUNQ R3RfbG9uZywmKGVtcGwuaWRudW0pLChsb25nKTEsKGxvbmcpMSxzaXplb2Yo bG9uZyksIApAQCAtMTUxLDE4ICsxNjksMjAgQEAKIAlFQ1BHdF9jaGFyLCYo cHRyKSwobG9uZykwLChsb25nKTEsKDEpKnNpemVvZihjaGFyKSwgCiAJRUNQ R3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgCiAJRUNQR3Rf dmFyY2hhciwmKHZjKSwobG9uZykxMCwobG9uZykxLHNpemVvZihzdHJ1Y3Qg dmFyY2hhciksIAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAw TCwgMEwsIAorCUVDUEd0X252YXJjaGFyLCYobnZjKSwobG9uZykxMCwobG9u ZykxLHNpemVvZihzdHJ1Y3QgdmFyY2hhciksIAogCUVDUEd0X05PX0lORElD QVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIEVDUEd0X0VPUlQpO30KLSNsaW5l IDY4ICJ0eXBlLnBnYyIKKyNsaW5lIDc1ICJ0eXBlLnBnYyIKIAogICBpZiAo c3FsY2Euc3FsY29kZSkKICAgICB7CiAgICAgICBwcmludGYgKCJzZWxlY3Qg ZXJyb3IgPSAlbGRcbiIsIHNxbGNhLnNxbGNvZGUpOwogICAgICAgZXhpdCAo c3FsY2Euc3FsY29kZSk7CiAgICAgfQotICBwcmludGYgKCJpZD0lbGQgbmFt ZT0nJXMnIGFjY3M9JWQgc3RyPSclcycgcHRyPSclcycgdmM9JyUxMC4xMHMn XG4iLCBlbXBsLmlkbnVtLCBlbXBsLm5hbWUsIGVtcGwuYWNjcywgc3RyLCBw dHIsIHZjLnRleHQpOworICBwcmludGYgKCJpZD0lbGQgbmFtZT0nJXMnIGFj Y3M9JWQgc3RyPSclcycgcHRyPSclcycgdmM9JyUxMC4xMHMnIHZjLmxlbj0n JWQnIG52Yz0nJTEwLjEwcycgbnZjLmxlbj0nJWQnXG4iLCBlbXBsLmlkbnVt LCBlbXBsLm5hbWUsIGVtcGwuYWNjcywgc3RyLCBwdHIsIHZjLnRleHQsIHZj LmxlbiwgbnZjLnRleHQsIG52Yy5sZW4pOwogCiAgIHsgRUNQR2Rpc2Nvbm5l Y3QoX19MSU5FX18sICJDVVJSRU5UIik7fQotI2xpbmUgNzYgInR5cGUucGdj IgorI2xpbmUgODMgInR5cGUucGdjIgogCiAKICAgZnJlZShwdHIpOwpkaWZm IC11TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2Vz L2VjcGcvdGVzdC9leHBlY3RlZC9wcmVwcm9jLXR5cGUuc3RkZXJyIHBvc3Rn cmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9lY3Bn L3Rlc3QvZXhwZWN0ZWQvcHJlcHJvYy10eXBlLnN0ZGVycgotLS0gcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9l eHBlY3RlZC9wcmVwcm9jLXR5cGUuc3RkZXJyCTIwMTMtMTAtMTcgMDQ6MjI6 NTUuMDAwMDAwMDAwICsxMTAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEw MTctbmNoYXIvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3By ZXByb2MtdHlwZS5zdGRlcnIJMjAxMy0xMC0xNyAxMTo1NjoyMi4wMDAwMDAw MDAgKzExMDAKQEAgLTIsMzkgKzIsNDEgQEAKIFtOT19QSURdOiBzcWxjYTog Y29kZTogMCwgc3RhdGU6IDAwMDAwCiBbTk9fUElEXTogRUNQR2Nvbm5lY3Q6 IG9wZW5pbmcgZGF0YWJhc2UgcmVncmVzczEgb24gPERFRkFVTFQ+IHBvcnQg PERFRkFVTFQ+ICAKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6 IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNTA6IHF1 ZXJ5OiBjcmVhdGUgdGFibGUgZW1wbCAoIGlkbnVtIGludGVnZXIgLCBuYW1l IGNoYXIgKCAyMCApICwgYWNjcyBzbWFsbGludCAsIHN0cmluZzEgY2hhciAo IDEwICkgLCBzdHJpbmcyIGNoYXIgKCAxMCApICwgc3RyaW5nMyBjaGFyICgg MTAgKSApOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVn cmVzczEKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA1NzogcXVl cnk6IGNyZWF0ZSB0YWJsZSBlbXBsICggaWRudW0gaW50ZWdlciAsIG5hbWUg Y2hhciAoIDIwICkgLCBhY2NzIHNtYWxsaW50ICwgc3RyaW5nMSBjaGFyICgg MTAgKSAsIHN0cmluZzIgY2hhciAoIDEwICkgLCBzdHJpbmczIGNoYXIgKCAx MCApICwgc3RyaW5nNCBjaGFyICggMTAgKSApOyB3aXRoIDAgcGFyYW1ldGVy KHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKIFtOT19QSURdOiBzcWxjYTog Y29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRl IG9uIGxpbmUgNTA6IHVzaW5nIFBRZXhlYworW05PX1BJRF06IGVjcGdfZXhl Y3V0ZSBvbiBsaW5lIDU3OiB1c2luZyBQUWV4ZWMKIFtOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVj dXRlIG9uIGxpbmUgNTA6IE9LOiBDUkVBVEUgVEFCTEUKK1tOT19QSURdOiBl Y3BnX2V4ZWN1dGUgb24gbGluZSA1NzogT0s6IENSRUFURSBUQUJMRQogW05P X1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSA1ODogcXVlcnk6IGluc2VydCBpbnRv IGVtcGwgdmFsdWVzICggMSAsICd1c2VyIG5hbWUnICwgMzIwICwgJ2ZpcnN0 IHN0cicgLCAnc2Vjb25kIHN0cicgLCAndGhpcmQgc3RyJyApOyB3aXRoIDAg cGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSA2NTogcXVlcnk6IGluc2VydCBpbnRv IGVtcGwgdmFsdWVzICggMSAsICd1c2VyIG5hbWUnICwgMzIwICwgJ2ZpcnN0 IHN0cicgLCAnc2Vjb25kIHN0cicgLCAndGhpcmQgc3RyJyAsICdmb3VydGgg c3RyJyApOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVn cmVzczEKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAw Ci1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNTg6IHVzaW5nIFBR ZXhlYworW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDY1OiB1c2lu ZyBQUWV4ZWMKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAw MDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNTg6IE9LOiBJ TlNFUlQgMCAxCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNjU6 IE9LOiBJTlNFUlQgMCAxCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDY1 OiBxdWVyeTogc2VsZWN0IGlkbnVtICwgbmFtZSAsIGFjY3MgLCBzdHJpbmcx ICwgc3RyaW5nMiAsIHN0cmluZzMgZnJvbSBlbXBsIHdoZXJlIGlkbnVtID0g JDEgOyB3aXRoIDEgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVz czEKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA3MjogcXVlcnk6 IHNlbGVjdCBpZG51bSAsIG5hbWUgLCBhY2NzICwgc3RyaW5nMSAsIHN0cmlu ZzIgLCBzdHJpbmczICwgc3RyaW5nNCBmcm9tIGVtcGwgd2hlcmUgaWRudW0g PSAkMSA7IHdpdGggMSBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdy ZXNzMQogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAK LVtOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA2NTogdXNpbmcgUFFl eGVjUGFyYW1zCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNzI6 IHVzaW5nIFBRZXhlY1BhcmFtcwogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAw LCBzdGF0ZTogMDAwMDAKLVtOT19QSURdOiBmcmVlX3BhcmFtcyBvbiBsaW5l IDY1OiBwYXJhbWV0ZXIgMSA9IDEKK1tOT19QSURdOiBmcmVlX3BhcmFtcyBv biBsaW5lIDcyOiBwYXJhbWV0ZXIgMSA9IDEKIFtOT19QSURdOiBzcWxjYTog Y29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19leGVjdXRl IG9uIGxpbmUgNjU6IGNvcnJlY3RseSBnb3QgMSB0dXBsZXMgd2l0aCA2IGZp ZWxkcworW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDcyOiBjb3Jy ZWN0bHkgZ290IDEgdHVwbGVzIHdpdGggNyBmaWVsZHMKIFtOT19QSURdOiBz cWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19n ZXRfZGF0YSBvbiBsaW5lIDY1OiBSRVNVTFQ6IDEgb2Zmc2V0OiAtMTsgYXJy YXk6IG5vCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDcyOiBS RVNVTFQ6IDEgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZ2V0 X2RhdGEgb24gbGluZSA2NTogUkVTVUxUOiB1c2VyIG5hbWUgICAgICAgICAg ICBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBlY3BnX2dldF9k YXRhIG9uIGxpbmUgNzI6IFJFU1VMVDogdXNlciBuYW1lICAgICAgICAgICAg b2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24g bGluZSA2NTogUkVTVUxUOiAzMjAgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitb Tk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDcyOiBSRVNVTFQ6IDMy MCBvZmZzZXQ6IC0xOyBhcnJheTogbm8KIFtOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19nZXRfZGF0YSBv biBsaW5lIDY1OiBSRVNVTFQ6IGZpcnN0IHN0ciAgb2Zmc2V0OiAtMTsgYXJy YXk6IG5vCitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDcyOiBS RVNVTFQ6IGZpcnN0IHN0ciAgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCiBbTk9f UElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAotW05PX1BJRF06 IGVjcGdfc3RvcmVfcmVzdWx0IG9uIGxpbmUgNjU6IGFsbG9jYXRpbmcgbWVt b3J5IGZvciAxIHR1cGxlcworW05PX1BJRF06IGVjcGdfc3RvcmVfcmVzdWx0 IG9uIGxpbmUgNzI6IGFsbG9jYXRpbmcgbWVtb3J5IGZvciAxIHR1cGxlcwog W05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKLVtOT19Q SURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgNjU6IFJFU1VMVDogc2Vjb25k IHN0ciBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBlY3BnX2dl dF9kYXRhIG9uIGxpbmUgNzI6IFJFU1VMVDogc2Vjb25kIHN0ciBvZmZzZXQ6 IC0xOyBhcnJheTogbm8KIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3Rh dGU6IDAwMDAwCi1bTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDY1 OiBSRVNVTFQ6IHRoaXJkIHN0ciAgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitb Tk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDcyOiBSRVNVTFQ6IHRo aXJkIHN0ciAgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0 X2RhdGEgb24gbGluZSA3MjogUkVTVUxUOiBmb3VydGggc3RyIG9mZnNldDog LTE7IGFycmF5OiBubwogW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0 ZTogMDAwMDAKIFtOT19QSURdOiBlY3BnX2ZpbmlzaDogY29ubmVjdGlvbiBy ZWdyZXNzMSBjbG9zZWQKIFtOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3Rh dGU6IDAwMDAwCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcv c3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3ByZXByb2MtdHlw ZS5zdGRvdXQgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9p bnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9wcmVwcm9jLXR5cGUuc3Rk b3V0Ci0tLSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2ludGVyZmFj ZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3ByZXByb2MtdHlwZS5zdGRvdXQJMjAx My0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzExMDAKKysrIHBvc3RncmVz cWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rl c3QvZXhwZWN0ZWQvcHJlcHJvYy10eXBlLnN0ZG91dAkyMDEzLTEwLTE3IDEx OjU2OjIyLjAwMDAwMDAwMCArMTEwMApAQCAtMSArMSBAQAotaWQ9MSBuYW1l PSd1c2VyIG5hbWUgICAgICAgICAgICcgYWNjcz0zMjAgc3RyPSdmaXJzdCBz dHIgJyBwdHI9J3NlY29uZCBzdHInIHZjPSd0aGlyZCBzdHIgJworaWQ9MSBu YW1lPSd1c2VyIG5hbWUgICAgICAgICAgICcgYWNjcz0zMjAgc3RyPSdmaXJz dCBzdHIgJyBwdHI9J3NlY29uZCBzdHInIHZjPSd0aGlyZCBzdHIgJyB2Yy5s ZW49JzEwJyBudmM9J2ZvdXJ0aCBzdHInIG52Yy5sZW49JzEwJwpkaWZmIC11 TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2Vj cGcvdGVzdC9leHBlY3RlZC9zcWwtbmNoYXIuYyBwb3N0Z3Jlc3FsLWhlYWQt MjAxMzEwMTctbmNoYXIvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVj dGVkL3NxbC1uY2hhci5jCi0tLSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcv c3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1uY2hhci5j CTE5NzAtMDEtMDEgMTA6MDA6MDAuMDAwMDAwMDAwICsxMDAwCisrKyBwb3N0 Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2ludGVyZmFjZXMvZWNw Zy90ZXN0L2V4cGVjdGVkL3NxbC1uY2hhci5jCTIwMTMtMTAtMzEgMTU6MDg6 MTguMDAwMDAwMDAwICsxMTAwCkBAIC0wLDAgKzEsNDE3IEBACisvKiBQcm9j ZXNzZWQgYnkgZWNwZyAocmVncmVzc2lvbiBtb2RlKSAqLworLyogVGhlc2Ug aW5jbHVkZSBmaWxlcyBhcmUgYWRkZWQgYnkgdGhlIHByZXByb2Nlc3NvciAq LworI2luY2x1ZGUgPGVjcGdsaWIuaD4KKyNpbmNsdWRlIDxlY3BnZXJybm8u aD4KKyNpbmNsdWRlIDxzcWxjYS5oPgorLyogRW5kIG9mIGF1dG9tYXRpYyBp bmNsdWRlIHNlY3Rpb24gKi8KKyNkZWZpbmUgRUNQR2RlYnVnKFgsWSkgRUNQ R2RlYnVnKChYKSsxMDAsKFkpKQorCisjbGluZSAxICJuY2hhci5wZ2MiCisj aW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNs dWRlIDxzdHJpbmcuaD4KKworCisjbGluZSAxICJyZWdyZXNzaW9uLmgiCisK KworCisKKworCisjbGluZSA1ICJuY2hhci5wZ2MiCisKKworaW50IG1haW4o KSB7CisJLyogZXhlYyBzcWwgYmVnaW4gZGVjbGFyZSBzZWN0aW9uICovCisJ CQkKKwkJCQorCQorI2xpbmUgOSAibmNoYXIucGdjIgorIGNoYXIgbmNoYXJf dmFyIFsgNDAgXSA7CisgCisjbGluZSAxMCAibmNoYXIucGdjIgorIGNoYXIg Y291bnQgWyAxMCBdIDsKKy8qIGV4ZWMgc3FsIGVuZCBkZWNsYXJlIHNlY3Rp b24gKi8KKyNsaW5lIDExICJuY2hhci5wZ2MiCisKKworCUVDUEdkZWJ1Zygx LCBzdGRlcnIpOworCXsgRUNQR2Nvbm5lY3QoX19MSU5FX18sIDAsICJyZWdy ZXNzMSIgLCBOVUxMLCBOVUxMICwgTlVMTCwgMCk7IH0KKyNsaW5lIDE0ICJu Y2hhci5wZ2MiCisKKworCXsgRUNQR3NldGNvbW1pdChfX0xJTkVfXywgIm9u IiwgTlVMTCk7fQorI2xpbmUgMTYgIm5jaGFyLnBnYyIKKworCS8qIGV4ZWMg c3FsIHdoZW5ldmVyIHNxbF93YXJuaW5nICBzcWxwcmludCA7ICovCisjbGlu ZSAxNyAibmNoYXIucGdjIgorCisJLyogZXhlYyBzcWwgd2hlbmV2ZXIgc3Fs ZXJyb3IgIHNxbHByaW50IDsgKi8KKyNsaW5lIDE4ICJuY2hhci5wZ2MiCisK KworCS8qaW5pdGlhbGl6YXRpb24gb2YgdGVzdCB0YWJsZSovCisJeyBFQ1BH ZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJj cmVhdGUgdGFibGUgTXlfVGFibGUgKCBJdGVtIHZhcmNoYXIgLCBjb3VudCBp bnRlZ2VyICkiLCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTsKKyNsaW5lIDIx ICJuY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykg c3FscHJpbnQoKTsKKyNsaW5lIDIxICJuY2hhci5wZ2MiCisKK2lmIChzcWxj YS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSAyMSAibmNoYXIu cGdjIgorCisKKwkvKnJlaW5pdGFsaXphdGlvbiovCisJeyBFQ1BHZG8oX19M SU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJ0cnVuY2F0 ZSBNeV9UYWJsZSIsIEVDUEd0X0VPSVQsIEVDUEd0X0VPUlQpOworI2xpbmUg MjQgIm5jaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cn KSBzcWxwcmludCgpOworI2xpbmUgMjQgIm5jaGFyLnBnYyIKKworaWYgKHNx bGNhLnNxbGNvZGUgPCAwKSBzcWxwcmludCgpO30KKyNsaW5lIDI0ICJuY2hh ci5wZ2MiCisKKwl7IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwg RUNQR3N0X25vcm1hbCwgImluc2VydCBpbnRvIE15X1RhYmxlIHZhbHVlcyAo ICdmb29faXRlbScgLCAxICkiLCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTsK KyNsaW5lIDI1ICJuY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBd ID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDI1ICJuY2hhci5wZ2MiCisK K2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSAy NSAibmNoYXIucGdjIgorCisJLypzaW1wbGUgc2VsZWN0IGludG8gTkNIQVIq LworCXsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rf bm9ybWFsLCAic2VsZWN0IEl0ZW0gZnJvbSBNeV9UYWJsZSBsaW1pdCAxIiwg RUNQR3RfRU9JVCwgCisJRUNQR3RfbmNoYXIsKG5jaGFyX3ZhciksKGxvbmcp NDAsKGxvbmcpMSwoNDApKnNpemVvZihjaGFyKSwgCisJRUNQR3RfTk9fSU5E SUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQR3RfRU9SVCk7CisjbGlu ZSAyNyAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAn VycpIHNxbHByaW50KCk7CisjbGluZSAyNyAibmNoYXIucGdjIgorCitpZiAo c3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUgMjcgIm5j aGFyLnBnYyIKKyAKKwlwcmludGYgKCJJdGVtPSclcydcbiIsIG5jaGFyX3Zh cik7CisJLypzaW1wbGUgc2VsZWN0IHVzaW5nIE5DSEFSKi8KKwl7IEVDUEdk byhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwgRUNQR3N0X25vcm1hbCwgInNl bGVjdCBjb3VudCBmcm9tIE15X1RhYmxlIHdoZXJlIEl0ZW0gPSAkMSAiLCAK KwlFQ1BHdF9uY2hhciwobmNoYXJfdmFyKSwobG9uZyk0MCwobG9uZykxLCg0 MCkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwg LCAwTCwgMEwsIDBMLCBFQ1BHdF9FT0lULCAKKwlFQ1BHdF9jaGFyLChjb3Vu dCksKGxvbmcpMTAsKGxvbmcpMSwoMTApKnNpemVvZihjaGFyKSwgCisJRUNQ R3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQR3RfRU9S VCk7CisjbGluZSAzMCAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fsd2Fy blswXSA9PSAnVycpIHNxbHByaW50KCk7CisjbGluZSAzMCAibmNoYXIucGdj IgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQorI2xp bmUgMzAgIm5jaGFyLnBnYyIKKworCXByaW50ZiAoImNvdW50PSVzIGZvciBJ dGVtPSclcydcbiIsIGNvdW50LCBuY2hhcl92YXIpOworCS8qc2ltcGxlIHVw ZGF0ZSB1c2luZyBOQ0hBUiovCisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEs IE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJ1cGRhdGUgTXlfVGFibGUgc2V0 IGNvdW50ID0gY291bnQgKyAxIHdoZXJlIEl0ZW0gPSAkMSAiLCAKKwlFQ1BH dF9uY2hhciwobmNoYXJfdmFyKSwobG9uZyk0MCwobG9uZykxLCg0MCkqc2l6 ZW9mKGNoYXIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwg MEwsIDBMLCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTsKKyNsaW5lIDMzICJu Y2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykgc3Fs cHJpbnQoKTsKKyNsaW5lIDMzICJuY2hhci5wZ2MiCisKK2lmIChzcWxjYS5z cWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSAzMyAibmNoYXIucGdj IgorCisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdz dF9ub3JtYWwsICJzZWxlY3QgY291bnQgZnJvbSBNeV9UYWJsZSB3aGVyZSBJ dGVtID0gJ2Zvb19pdGVtJyIsIEVDUEd0X0VPSVQsIAorCUVDUEd0X2NoYXIs KGNvdW50KSwobG9uZykxMCwobG9uZykxLCgxMCkqc2l6ZW9mKGNoYXIpLCAK KwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BH dF9FT1JUKTsKKyNsaW5lIDM0ICJuY2hhci5wZ2MiCisKK2lmIChzcWxjYS5z cWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDM0ICJuY2hh ci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9 CisjbGluZSAzNCAibmNoYXIucGdjIgorCisJcHJpbnRmICgiY291bnQ9JXMg Zm9yIEl0ZW09J2Zvb19pdGVtJ1xuIiwgY291bnQpOworCS8qc2ltcGxlIGRl bGV0ZSB1c2luZyBOQ0hBUiovCisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEs IE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJkZWxldGUgZnJvbSBNeV9UYWJs ZSB3aGVyZSBJdGVtID0gJDEgIiwgCisJRUNQR3RfbmNoYXIsKG5jaGFyX3Zh ciksKGxvbmcpNDAsKGxvbmcpMSwoNDApKnNpemVvZihjaGFyKSwgCisJRUNQ R3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQR3RfRU9J VCwgRUNQR3RfRU9SVCk7CisjbGluZSAzNyAibmNoYXIucGdjIgorCitpZiAo c3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7CisjbGluZSAz NyAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHBy aW50KCk7fQorI2xpbmUgMzcgIm5jaGFyLnBnYyIKKworCXsgRUNQR2RvKF9f TElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFsLCAic2VsZWN0 IGNvdW50ICggKiApIGZyb20gTXlfVGFibGUgd2hlcmUgSXRlbSA9ICdmb29f aXRlbSciLCBFQ1BHdF9FT0lULCAKKwlFQ1BHdF9jaGFyLChjb3VudCksKGxv bmcpMTAsKGxvbmcpMSwoMTApKnNpemVvZihjaGFyKSwgCisJRUNQR3RfTk9f SU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQR3RfRU9SVCk7Cisj bGluZSAzOCAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9 PSAnVycpIHNxbHByaW50KCk7CisjbGluZSAzOCAibmNoYXIucGdjIgorCitp ZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUgMzgg Im5jaGFyLnBnYyIKKworCXByaW50ZiAoImZvdW5kICVzIHJvd3MgZm9yIEl0 ZW09J2Zvb19pdGVtJ1xuIiwgY291bnQpOworCS8qc2ltcGxlIGluc2VydCB1 c2luZyBOQ0hBUiovCisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEws IDAsIEVDUEdzdF9ub3JtYWwsICJpbnNlcnQgaW50byBNeV9UYWJsZSB2YWx1 ZXMgKCAkMSAgLCAzICkiLCAKKwlFQ1BHdF9uY2hhciwobmNoYXJfdmFyKSwo bG9uZyk0MCwobG9uZykxLCg0MCkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BHdF9O T19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT0lULCBF Q1BHdF9FT1JUKTsKKyNsaW5lIDQxICJuY2hhci5wZ2MiCisKK2lmIChzcWxj YS5zcWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDQxICJu Y2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQo KTt9CisjbGluZSA0MSAibmNoYXIucGdjIgorCisJeyBFQ1BHZG8oX19MSU5F X18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJzZWxlY3QgY291 bnQgZnJvbSBNeV9UYWJsZSB3aGVyZSBJdGVtID0gJ2Zvb19pdGVtJyIsIEVD UEd0X0VPSVQsIAorCUVDUEd0X2NoYXIsKGNvdW50KSwobG9uZykxMCwobG9u ZykxLCgxMCkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1Is IE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT1JUKTsKKyNsaW5lIDQyICJu Y2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykgc3Fs cHJpbnQoKTsKKyNsaW5lIDQyICJuY2hhci5wZ2MiCisKK2lmIChzcWxjYS5z cWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSA0MiAibmNoYXIucGdj IgorCisJcHJpbnRmICgiY291bnQ9JyVzJyBmb3IgSXRlbT0nZm9vX2l0ZW0n XG4iLCBjb3VudCk7CisKKwkvKnByZXBhcmVkIHRlc3RzKi8KKwkvKnJlaW5p dGFsaXphdGlvbiovCisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEws IDAsIEVDUEdzdF9ub3JtYWwsICJ0cnVuY2F0ZSBNeV9UYWJsZSIsIEVDUEd0 X0VPSVQsIEVDUEd0X0VPUlQpOworI2xpbmUgNDcgIm5jaGFyLnBnYyIKKwor aWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOworI2xp bmUgNDcgIm5jaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbGNvZGUgPCAwKSBz cWxwcmludCgpO30KKyNsaW5lIDQ3ICJuY2hhci5wZ2MiCisKKwl7IEVDUEdk byhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwgRUNQR3N0X25vcm1hbCwgImlu c2VydCBpbnRvIE15X1RhYmxlIHZhbHVlcyAoICdmb29faXRlbScgLCAxICki LCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTsKKyNsaW5lIDQ4ICJuY2hhci5w Z2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQo KTsKKyNsaW5lIDQ4ICJuY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2Rl IDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSA0OCAibmNoYXIucGdjIgorCisJ LypwcmVwYXJlZCBzZWxlY3QgaW50byBOQ0hBUiovCisJeyBFQ1BHcHJlcGFy ZShfX0xJTkVfXywgTlVMTCwgMCwgInN0bXQiLCAiU0VMRUNUIEl0ZW0gRlJP TSBNeV9UYWJsZSBMSU1JVCAxIik7CisjbGluZSA1MCAibmNoYXIucGdjIgor CitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7Cisj bGluZSA1MCAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDAp IHNxbHByaW50KCk7fQorI2xpbmUgNTAgIm5jaGFyLnBnYyIKKworCXsgRUNQ R2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3RfZXhlY3V0ZSwg InN0bXQiLCBFQ1BHdF9FT0lULCAKKwlFQ1BHdF9uY2hhciwobmNoYXJfdmFy KSwobG9uZyk0MCwobG9uZykxLCg0MCkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BH dF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT1JU KTsKKyNsaW5lIDUxICJuY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJu WzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDUxICJuY2hhci5wZ2Mi CisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGlu ZSA1MSAibmNoYXIucGdjIgorCisJcHJpbnRmICgiSXRlbT0nJXMnXG4iLCBu Y2hhcl92YXIpOworCXsgRUNQR2RlYWxsb2NhdGUoX19MSU5FX18sIDAsIE5V TEwsICJzdG10Iik7CisjbGluZSA1MyAibmNoYXIucGdjIgorCitpZiAoc3Fs Y2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7CisjbGluZSA1MyAi bmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50 KCk7fQorI2xpbmUgNTMgIm5jaGFyLnBnYyIKKyAKKwkvKnByZXBhcmVkIHNl bGVjdCB1c2luZyBOQ0hBUiovCisJeyBFQ1BHcHJlcGFyZShfX0xJTkVfXywg TlVMTCwgMCwgInN0bXQiLCAiU0VMRUNUIENvdW50IEZST00gTXlfVGFibGUg V0hFUkUgSXRlbT0/Iik7CisjbGluZSA1NSAibmNoYXIucGdjIgorCitpZiAo c3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7CisjbGluZSA1 NSAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHBy aW50KCk7fQorI2xpbmUgNTUgIm5jaGFyLnBnYyIKKworCXsgRUNQR2RvKF9f TElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3RfZXhlY3V0ZSwgInN0bXQi LCAKKwlFQ1BHdF9uY2hhciwobmNoYXJfdmFyKSwobG9uZyk0MCwobG9uZykx LCg0MCkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5V TEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT0lULCAKKwlFQ1BHdF9jaGFyLChj b3VudCksKGxvbmcpMTAsKGxvbmcpMSwoMTApKnNpemVvZihjaGFyKSwgCisJ RUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQR3Rf RU9SVCk7CisjbGluZSA1NiAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fs d2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7CisjbGluZSA1NiAibmNoYXIu cGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQor I2xpbmUgNTYgIm5jaGFyLnBnYyIKKworCXByaW50ZiAoImNvdW50PSVzIGZv ciBJdGVtPSdmb29faXRlbSdcbiIsIGNvdW50KTsKKwl7IEVDUEdkZWFsbG9j YXRlKF9fTElORV9fLCAwLCBOVUxMLCAic3RtdCIpOworI2xpbmUgNTggIm5j aGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxw cmludCgpOworI2xpbmUgNTggIm5jaGFyLnBnYyIKKworaWYgKHNxbGNhLnNx bGNvZGUgPCAwKSBzcWxwcmludCgpO30KKyNsaW5lIDU4ICJuY2hhci5wZ2Mi CisKKwkvKnByZXBhcmVkIHVwZGF0ZSB1c2luZyBOQ0hBUiovCisJeyBFQ1BH cHJlcGFyZShfX0xJTkVfXywgTlVMTCwgMCwgInN0bXQiLCAiVVBEQVRFIE15 X1RhYmxlIFNFVCBDb3VudD1Db3VudCsxIFdIRVJFIEl0ZW09PyIpOworI2xp bmUgNjAgIm5jaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0g J1cnKSBzcWxwcmludCgpOworI2xpbmUgNjAgIm5jaGFyLnBnYyIKKworaWYg KHNxbGNhLnNxbGNvZGUgPCAwKSBzcWxwcmludCgpO30KKyNsaW5lIDYwICJu Y2hhci5wZ2MiCisKKwl7IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwgTlVMTCwg MCwgRUNQR3N0X2V4ZWN1dGUsICJzdG10IiwgCisJRUNQR3RfbmNoYXIsKG5j aGFyX3ZhciksKGxvbmcpNDAsKGxvbmcpMSwoNDApKnNpemVvZihjaGFyKSwg CisJRUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQ R3RfRU9JVCwgRUNQR3RfRU9SVCk7CisjbGluZSA2MSAibmNoYXIucGdjIgor CitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7Cisj bGluZSA2MSAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDAp IHNxbHByaW50KCk7fQorI2xpbmUgNjEgIm5jaGFyLnBnYyIKKworCXsgRUNQ R2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFsLCAi c2VsZWN0IGNvdW50IGZyb20gTXlfVGFibGUgd2hlcmUgSXRlbSA9ICdmb29f aXRlbSciLCBFQ1BHdF9FT0lULCAKKwlFQ1BHdF9jaGFyLChjb3VudCksKGxv bmcpMTAsKGxvbmcpMSwoMTApKnNpemVvZihjaGFyKSwgCisJRUNQR3RfTk9f SU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQR3RfRU9SVCk7Cisj bGluZSA2MiAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9 PSAnVycpIHNxbHByaW50KCk7CisjbGluZSA2MiAibmNoYXIucGdjIgorCitp ZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUgNjIg Im5jaGFyLnBnYyIKKworCXByaW50ZiAoImNvdW50PSVzIGZvciBJdGVtPSdm b29faXRlbSdcbiIsIGNvdW50KTsKKwl7IEVDUEdkZWFsbG9jYXRlKF9fTElO RV9fLCAwLCBOVUxMLCAic3RtdCIpOworI2xpbmUgNjQgIm5jaGFyLnBnYyIK KworaWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOwor I2xpbmUgNjQgIm5jaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbGNvZGUgPCAw KSBzcWxwcmludCgpO30KKyNsaW5lIDY0ICJuY2hhci5wZ2MiCisKKwkvKnBy ZXBhcmVkIGRlbGV0ZSB1c2luZyBOQ0hBUiovCisJeyBFQ1BHcHJlcGFyZShf X0xJTkVfXywgTlVMTCwgMCwgInN0bXQiLCAiREVMRVRFIEZST00gTXlfVGFi bGUgV0hFUkUgSXRlbT0/Iik7CisjbGluZSA2NiAibmNoYXIucGdjIgorCitp ZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7CisjbGlu ZSA2NiAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNx bHByaW50KCk7fQorI2xpbmUgNjYgIm5jaGFyLnBnYyIKKworCXsgRUNQR2Rv KF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3RfZXhlY3V0ZSwgInN0 bXQiLCAKKwlFQ1BHdF9uY2hhciwobmNoYXJfdmFyKSwobG9uZyk0MCwobG9u ZykxLCg0MCkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1Is IE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTsK KyNsaW5lIDY3ICJuY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBd ID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDY3ICJuY2hhci5wZ2MiCisK K2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSA2 NyAibmNoYXIucGdjIgorCisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5V TEwsIDAsIEVDUEdzdF9ub3JtYWwsICJzZWxlY3QgY291bnQgKCAqICkgZnJv bSBNeV9UYWJsZSB3aGVyZSBJdGVtID0gJ2Zvb19pdGVtJyIsIEVDUEd0X0VP SVQsIAorCUVDUEd0X2NoYXIsKGNvdW50KSwobG9uZykxMCwobG9uZykxLCgx MCkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwg LCAwTCwgMEwsIDBMLCBFQ1BHdF9FT1JUKTsKKyNsaW5lIDY4ICJuY2hhci5w Z2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQo KTsKKyNsaW5lIDY4ICJuY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2Rl IDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSA2OCAibmNoYXIucGdjIgorCisJ cHJpbnRmICgiZm91bmQgJXMgcm93cyBmb3IgSXRlbT0nZm9vX2l0ZW0nXG4i LCBjb3VudCk7CisJeyBFQ1BHZGVhbGxvY2F0ZShfX0xJTkVfXywgMCwgTlVM TCwgInN0bXQiKTsKKyNsaW5lIDcwICJuY2hhci5wZ2MiCisKK2lmIChzcWxj YS5zcWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDcwICJu Y2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQo KTt9CisjbGluZSA3MCAibmNoYXIucGdjIgorCisJLypwcmVwYXJlZCBpbnNl cnQgdXNpbmcgTkNIQVIqLworCXsgRUNQR3ByZXBhcmUoX19MSU5FX18sIE5V TEwsIDAsICJzdG10IiwgIklOU0VSVCBJTlRPIE15X1RhYmxlIHZhbHVlcyAo PywgMykiKTsKKyNsaW5lIDcyICJuY2hhci5wZ2MiCisKK2lmIChzcWxjYS5z cWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDcyICJuY2hh ci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9 CisjbGluZSA3MiAibmNoYXIucGdjIgorCisJeyBFQ1BHZG8oX19MSU5FX18s IDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9leGVjdXRlLCAic3RtdCIsIAorCUVD UEd0X25jaGFyLChuY2hhcl92YXIpLChsb25nKTQwLChsb25nKTEsKDQwKSpz aXplb2YoY2hhciksIAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBM LCAwTCwgMEwsIEVDUEd0X0VPSVQsIEVDUEd0X0VPUlQpOworI2xpbmUgNzMg Im5jaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBz cWxwcmludCgpOworI2xpbmUgNzMgIm5jaGFyLnBnYyIKKworaWYgKHNxbGNh LnNxbGNvZGUgPCAwKSBzcWxwcmludCgpO30KKyNsaW5lIDczICJuY2hhci5w Z2MiCisKKwl7IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwgRUNQ R3N0X25vcm1hbCwgInNlbGVjdCBjb3VudCBmcm9tIE15X1RhYmxlIHdoZXJl IEl0ZW0gPSAnZm9vX2l0ZW0nIiwgRUNQR3RfRU9JVCwgCisJRUNQR3RfY2hh ciwoY291bnQpLChsb25nKTEwLChsb25nKTEsKDEwKSpzaXplb2YoY2hhciks IAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIEVD UEd0X0VPUlQpOworI2xpbmUgNzQgIm5jaGFyLnBnYyIKKworaWYgKHNxbGNh LnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOworI2xpbmUgNzQgIm5j aGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbGNvZGUgPCAwKSBzcWxwcmludCgp O30KKyNsaW5lIDc0ICJuY2hhci5wZ2MiCisKKwlwcmludGYgKCJjb3VudD0n JXMnIGZvciBJdGVtPSdmb29faXRlbSdcbiIsIGNvdW50KTsKKwl7IEVDUEdk ZWFsbG9jYXRlKF9fTElORV9fLCAwLCBOVUxMLCAic3RtdCIpOworI2xpbmUg NzYgIm5jaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cn KSBzcWxwcmludCgpOworI2xpbmUgNzYgIm5jaGFyLnBnYyIKKworaWYgKHNx bGNhLnNxbGNvZGUgPCAwKSBzcWxwcmludCgpO30KKyNsaW5lIDc2ICJuY2hh ci5wZ2MiCisKKworCXsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAw LCBFQ1BHc3Rfbm9ybWFsLCAiZHJvcCB0YWJsZSBNeV9UYWJsZSIsIEVDUEd0 X0VPSVQsIEVDUEd0X0VPUlQpOworI2xpbmUgNzggIm5jaGFyLnBnYyIKKwor aWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOworI2xp bmUgNzggIm5jaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbGNvZGUgPCAwKSBz cWxwcmludCgpO30KKyNsaW5lIDc4ICJuY2hhci5wZ2MiCisKKwl7IEVDUEdk aXNjb25uZWN0KF9fTElORV9fLCAiQUxMIik7CisjbGluZSA3OSAibmNoYXIu cGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50 KCk7CisjbGluZSA3OSAibmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29k ZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUgNzkgIm5jaGFyLnBnYyIKKwor CisJcmV0dXJuIDA7Cit9CisKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0y MDEzMTAxNy9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvc3Fs LW5jaGFyLnN0ZGVyciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIv c3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1uY2hhci5z dGRlcnIKLS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvaW50ZXJm YWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvc3FsLW5jaGFyLnN0ZGVycgkxOTcw LTAxLTAxIDEwOjAwOjAwLjAwMDAwMDAwMCArMTAwMAorKysgcG9zdGdyZXNx bC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVz dC9leHBlY3RlZC9zcWwtbmNoYXIuc3RkZXJyCTIwMTMtMTAtMzEgMTU6MDg6 MTguMDAwMDAwMDAwICsxMTAwCkBAIC0wLDAgKzEsMTk2IEBACitbTk9fUElE XTogRUNQR2RlYnVnOiBzZXQgdG8gMQorW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBFQ1BHY29ubmVjdDogb3Bl bmluZyBkYXRhYmFzZSByZWdyZXNzMSBvbiA8REVGQVVMVD4gcG9ydCA8REVG QVVMVD4gIAorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAw MDAKK1tOT19QSURdOiBFQ1BHc2V0Y29tbWl0IG9uIGxpbmUgMTY6IGFjdGlv biAib24iOyBjb25uZWN0aW9uICJyZWdyZXNzMSIKK1tOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVj dXRlIG9uIGxpbmUgMjE6IHF1ZXJ5OiBjcmVhdGUgdGFibGUgTXlfVGFibGUg KCBJdGVtIHZhcmNoYXIgLCBjb3VudCBpbnRlZ2VyICk7IHdpdGggMCBwYXJh bWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4 ZWN1dGUgb24gbGluZSAyMTogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhl Y3V0ZSBvbiBsaW5lIDIxOiBPSzogQ1JFQVRFIFRBQkxFCitbTk9fUElEXTog c3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdf ZXhlY3V0ZSBvbiBsaW5lIDI0OiBxdWVyeTogdHJ1bmNhdGUgTXlfVGFibGU7 IHdpdGggMCBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQor W05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19Q SURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAyNDogdXNpbmcgUFFleGVjCitb Tk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJ RF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDI0OiBPSzogVFJVTkNBVEUgVEFC TEUKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitb Tk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjU6IHF1ZXJ5OiBpbnNl cnQgaW50byBNeV9UYWJsZSB2YWx1ZXMgKCAnZm9vX2l0ZW0nICwgMSApOyB3 aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tO T19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElE XTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjU6IHVzaW5nIFBRZXhlYworW05P X1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSAyNTogT0s6IElOU0VSVCAwIDEKK1tO T19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElE XTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjc6IHF1ZXJ5OiBzZWxlY3QgSXRl bSBmcm9tIE15X1RhYmxlIGxpbWl0IDE7IHdpdGggMCBwYXJhbWV0ZXIocykg b24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24g bGluZSAyNzogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBs aW5lIDI3OiBjb3JyZWN0bHkgZ290IDEgdHVwbGVzIHdpdGggMSBmaWVsZHMK K1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9f UElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDI3OiBSRVNVTFQ6IGZvb19p dGVtIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNxbGNhOiBj b2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUg b24gbGluZSAzMDogcXVlcnk6IHNlbGVjdCBjb3VudCBmcm9tIE15X1RhYmxl IHdoZXJlIEl0ZW0gPSAkMSA7IHdpdGggMSBwYXJhbWV0ZXIocykgb24gY29u bmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAz MDogdXNpbmcgUFFleGVjUGFyYW1zCitbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGZyZWVfcGFyYW1zIG9uIGxp bmUgMzA6IHBhcmFtZXRlciAxID0gZm9vX2l0ZW0KK1tOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVj dXRlIG9uIGxpbmUgMzA6IGNvcnJlY3RseSBnb3QgMSB0dXBsZXMgd2l0aCAx IGZpZWxkcworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAw MDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgMzA6IFJFU1VM VDogMSBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxjYTog Y29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRl IG9uIGxpbmUgMzM6IHF1ZXJ5OiB1cGRhdGUgTXlfVGFibGUgc2V0IGNvdW50 ID0gY291bnQgKyAxIHdoZXJlIEl0ZW0gPSAkMSA7IHdpdGggMSBwYXJhbWV0 ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1 dGUgb24gbGluZSAzMzogdXNpbmcgUFFleGVjUGFyYW1zCitbTk9fUElEXTog c3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGZyZWVf cGFyYW1zIG9uIGxpbmUgMzM6IHBhcmFtZXRlciAxID0gZm9vX2l0ZW0KK1tO T19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElE XTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMzM6IE9LOiBVUERBVEUgMQorW05P X1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSAzNDogcXVlcnk6IHNlbGVjdCBjb3Vu dCBmcm9tIE15X1RhYmxlIHdoZXJlIEl0ZW0gPSAnZm9vX2l0ZW0nOyB3aXRo IDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19Q SURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTog ZWNwZ19leGVjdXRlIG9uIGxpbmUgMzQ6IHVzaW5nIFBRZXhlYworW05PX1BJ RF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBl Y3BnX2V4ZWN1dGUgb24gbGluZSAzNDogY29ycmVjdGx5IGdvdCAxIHR1cGxl cyB3aXRoIDEgZmllbGRzCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSAz NDogUkVTVUxUOiAyIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3Bn X2V4ZWN1dGUgb24gbGluZSAzNzogcXVlcnk6IGRlbGV0ZSBmcm9tIE15X1Rh YmxlIHdoZXJlIEl0ZW0gPSAkMSA7IHdpdGggMSBwYXJhbWV0ZXIocykgb24g Y29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAw LCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGlu ZSAzNzogdXNpbmcgUFFleGVjUGFyYW1zCitbTk9fUElEXTogc3FsY2E6IGNv ZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGZyZWVfcGFyYW1zIG9u IGxpbmUgMzc6IHBhcmFtZXRlciAxID0gZm9vX2l0ZW0KK1tOT19QSURdOiBz cWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19l eGVjdXRlIG9uIGxpbmUgMzc6IE9LOiBERUxFVEUgMQorW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4 ZWN1dGUgb24gbGluZSAzODogcXVlcnk6IHNlbGVjdCBjb3VudCAoICogKSBm cm9tIE15X1RhYmxlIHdoZXJlIEl0ZW0gPSAnZm9vX2l0ZW0nOyB3aXRoIDAg cGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19QSURd OiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNw Z19leGVjdXRlIG9uIGxpbmUgMzg6IHVzaW5nIFBRZXhlYworW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3Bn X2V4ZWN1dGUgb24gbGluZSAzODogY29ycmVjdGx5IGdvdCAxIHR1cGxlcyB3 aXRoIDEgZmllbGRzCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSAzODog UkVTVUxUOiAwIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4 ZWN1dGUgb24gbGluZSA0MTogcXVlcnk6IGluc2VydCBpbnRvIE15X1RhYmxl IHZhbHVlcyAoICQxICAsIDMgKTsgd2l0aCAxIHBhcmFtZXRlcihzKSBvbiBj b25uZWN0aW9uIHJlZ3Jlc3MxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAs IHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5l IDQxOiB1c2luZyBQUWV4ZWNQYXJhbXMKK1tOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZnJlZV9wYXJhbXMgb24g bGluZSA0MTogcGFyYW1ldGVyIDEgPSBmb29faXRlbQorW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4 ZWN1dGUgb24gbGluZSA0MTogT0s6IElOU0VSVCAwIDEKK1tOT19QSURdOiBz cWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19l eGVjdXRlIG9uIGxpbmUgNDI6IHF1ZXJ5OiBzZWxlY3QgY291bnQgZnJvbSBN eV9UYWJsZSB3aGVyZSBJdGVtID0gJ2Zvb19pdGVtJzsgd2l0aCAwIHBhcmFt ZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jlc3MxCitbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhl Y3V0ZSBvbiBsaW5lIDQyOiB1c2luZyBQUWV4ZWMKK1tOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVj dXRlIG9uIGxpbmUgNDI6IGNvcnJlY3RseSBnb3QgMSB0dXBsZXMgd2l0aCAx IGZpZWxkcworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAw MDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRhIG9uIGxpbmUgNDI6IFJFU1VM VDogMyBvZmZzZXQ6IC0xOyBhcnJheTogbm8KK1tOT19QSURdOiBzcWxjYTog Y29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRl IG9uIGxpbmUgNDc6IHF1ZXJ5OiB0cnVuY2F0ZSBNeV9UYWJsZTsgd2l0aCAw IHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jlc3MxCitbTk9fUElE XTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVj cGdfZXhlY3V0ZSBvbiBsaW5lIDQ3OiB1c2luZyBQUWV4ZWMKK1tOT19QSURd OiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNw Z19leGVjdXRlIG9uIGxpbmUgNDc6IE9LOiBUUlVOQ0FURSBUQUJMRQorW05P X1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSA0ODogcXVlcnk6IGluc2VydCBpbnRv IE15X1RhYmxlIHZhbHVlcyAoICdmb29faXRlbScgLCAxICk7IHdpdGggMCBw YXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3Bn X2V4ZWN1dGUgb24gbGluZSA0ODogdXNpbmcgUFFleGVjCitbTk9fUElEXTog c3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdf ZXhlY3V0ZSBvbiBsaW5lIDQ4OiBPSzogSU5TRVJUIDAgMQorW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBwcmVw YXJlX2NvbW1vbiBvbiBsaW5lIDUwOiBuYW1lIHN0bXQ7IHF1ZXJ5OiAiU0VM RUNUIEl0ZW0gRlJPTSBNeV9UYWJsZSBMSU1JVCAxIgorW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4 ZWN1dGUgb24gbGluZSA1MTogcXVlcnk6IFNFTEVDVCBJdGVtIEZST00gTXlf VGFibGUgTElNSVQgMTsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0 aW9uIHJlZ3Jlc3MxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDUxOiB1 c2luZyBQUWV4ZWNQcmVwYXJlZCBmb3IgIlNFTEVDVCBJdGVtIEZST00gTXlf VGFibGUgTElNSVQgMSIKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3Rh dGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNTE6 IGNvcnJlY3RseSBnb3QgMSB0dXBsZXMgd2l0aCAxIGZpZWxkcworW05PX1BJ RF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBl Y3BnX2dldF9kYXRhIG9uIGxpbmUgNTE6IFJFU1VMVDogZm9vX2l0ZW0gb2Zm c2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAs IHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGRlYWxsb2NhdGVfb25lIG9uIGxp bmUgNTM6IG5hbWUgc3RtdAorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKK1tOT19QSURdOiBwcmVwYXJlX2NvbW1vbiBvbiBsaW5l IDU1OiBuYW1lIHN0bXQ7IHF1ZXJ5OiAiU0VMRUNUIENvdW50IEZST00gTXlf VGFibGUgV0hFUkUgSXRlbT0kMSIKK1tOT19QSURdOiBzcWxjYTogY29kZTog MCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxp bmUgNTY6IHF1ZXJ5OiBTRUxFQ1QgQ291bnQgRlJPTSBNeV9UYWJsZSBXSEVS RSBJdGVtPSQxOyB3aXRoIDEgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24g cmVncmVzczEKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAw MDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNTY6IHVzaW5n IFBRZXhlY1ByZXBhcmVkIGZvciAiU0VMRUNUIENvdW50IEZST00gTXlfVGFi bGUgV0hFUkUgSXRlbT0kMSIKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwg c3RhdGU6IDAwMDAwCitbTk9fUElEXTogZnJlZV9wYXJhbXMgb24gbGluZSA1 NjogcGFyYW1ldGVyIDEgPSBmb29faXRlbQorW05PX1BJRF06IHNxbGNhOiBj b2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUg b24gbGluZSA1NjogY29ycmVjdGx5IGdvdCAxIHR1cGxlcyB3aXRoIDEgZmll bGRzCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAor W05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSA1NjogUkVTVUxUOiAx IG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBkZWFsbG9jYXRlX29uZSBv biBsaW5lIDU4OiBuYW1lIHN0bXQKK1tOT19QSURdOiBzcWxjYTogY29kZTog MCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogcHJlcGFyZV9jb21tb24gb24g bGluZSA2MDogbmFtZSBzdG10OyBxdWVyeTogIlVQREFURSBNeV9UYWJsZSBT RVQgQ291bnQ9Q291bnQrMSBXSEVSRSBJdGVtPSQxIgorW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4 ZWN1dGUgb24gbGluZSA2MTogcXVlcnk6IFVQREFURSBNeV9UYWJsZSBTRVQg Q291bnQ9Q291bnQrMSBXSEVSRSBJdGVtPSQxOyB3aXRoIDEgcGFyYW1ldGVy KHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19QSURdOiBzcWxjYTog Y29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRl IG9uIGxpbmUgNjE6IHVzaW5nIFBRZXhlY1ByZXBhcmVkIGZvciAiVVBEQVRF IE15X1RhYmxlIFNFVCBDb3VudD1Db3VudCsxIFdIRVJFIEl0ZW09JDEiCitb Tk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJ RF06IGZyZWVfcGFyYW1zIG9uIGxpbmUgNjE6IHBhcmFtZXRlciAxID0gZm9v X2l0ZW0KK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAw CitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNjE6IE9LOiBVUERB VEUgMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAK K1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA2MjogcXVlcnk6IHNl bGVjdCBjb3VudCBmcm9tIE15X1RhYmxlIHdoZXJlIEl0ZW0gPSAnZm9vX2l0 ZW0nOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVz czEKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitb Tk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNjI6IHVzaW5nIFBRZXhl YworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tO T19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA2MjogY29ycmVjdGx5IGdv dCAxIHR1cGxlcyB3aXRoIDEgZmllbGRzCitbTk9fUElEXTogc3FsY2E6IGNv ZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEg b24gbGluZSA2MjogUkVTVUxUOiAyIG9mZnNldDogLTE7IGFycmF5OiBubwor W05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19Q SURdOiBkZWFsbG9jYXRlX29uZSBvbiBsaW5lIDY0OiBuYW1lIHN0bXQKK1tO T19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElE XTogcHJlcGFyZV9jb21tb24gb24gbGluZSA2NjogbmFtZSBzdG10OyBxdWVy eTogIkRFTEVURSBGUk9NIE15X1RhYmxlIFdIRVJFIEl0ZW09JDEiCitbTk9f UElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06 IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDY3OiBxdWVyeTogREVMRVRFIEZST00g TXlfVGFibGUgV0hFUkUgSXRlbT0kMTsgd2l0aCAxIHBhcmFtZXRlcihzKSBv biBjb25uZWN0aW9uIHJlZ3Jlc3MxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBs aW5lIDY3OiB1c2luZyBQUWV4ZWNQcmVwYXJlZCBmb3IgIkRFTEVURSBGUk9N IE15X1RhYmxlIFdIRVJFIEl0ZW09JDEiCitbTk9fUElEXTogc3FsY2E6IGNv ZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGZyZWVfcGFyYW1zIG9u IGxpbmUgNjc6IHBhcmFtZXRlciAxID0gZm9vX2l0ZW0KK1tOT19QSURdOiBz cWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19l eGVjdXRlIG9uIGxpbmUgNjc6IE9LOiBERUxFVEUgMQorW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4 ZWN1dGUgb24gbGluZSA2ODogcXVlcnk6IHNlbGVjdCBjb3VudCAoICogKSBm cm9tIE15X1RhYmxlIHdoZXJlIEl0ZW0gPSAnZm9vX2l0ZW0nOyB3aXRoIDAg cGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19QSURd OiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNw Z19leGVjdXRlIG9uIGxpbmUgNjg6IHVzaW5nIFBRZXhlYworW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3Bn X2V4ZWN1dGUgb24gbGluZSA2ODogY29ycmVjdGx5IGdvdCAxIHR1cGxlcyB3 aXRoIDEgZmllbGRzCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGluZSA2ODog UkVTVUxUOiAwIG9mZnNldDogLTE7IGFycmF5OiBubworW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBkZWFsbG9j YXRlX29uZSBvbiBsaW5lIDcwOiBuYW1lIHN0bXQKK1tOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogcHJlcGFyZV9j b21tb24gb24gbGluZSA3MjogbmFtZSBzdG10OyBxdWVyeTogIklOU0VSVCBJ TlRPIE15X1RhYmxlIHZhbHVlcyAoJDEsIDMpIgorW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1 dGUgb24gbGluZSA3MzogcXVlcnk6IElOU0VSVCBJTlRPIE15X1RhYmxlIHZh bHVlcyAoJDEsIDMpOyB3aXRoIDEgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rp b24gcmVncmVzczEKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6 IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNzM6IHVz aW5nIFBRZXhlY1ByZXBhcmVkIGZvciAiSU5TRVJUIElOVE8gTXlfVGFibGUg dmFsdWVzICgkMSwgMykiCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAorW05PX1BJRF06IGZyZWVfcGFyYW1zIG9uIGxpbmUgNzM6 IHBhcmFtZXRlciAxID0gZm9vX2l0ZW0KK1tOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9u IGxpbmUgNzM6IE9LOiBJTlNFUlQgMCAxCitbTk9fUElEXTogc3FsY2E6IGNv ZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBv biBsaW5lIDc0OiBxdWVyeTogc2VsZWN0IGNvdW50IGZyb20gTXlfVGFibGUg d2hlcmUgSXRlbSA9ICdmb29faXRlbSc7IHdpdGggMCBwYXJhbWV0ZXIocykg b24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24g bGluZSA3NDogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBs aW5lIDc0OiBjb3JyZWN0bHkgZ290IDEgdHVwbGVzIHdpdGggMSBmaWVsZHMK K1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9f UElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDc0OiBSRVNVTFQ6IDMgb2Zm c2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAs IHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGRlYWxsb2NhdGVfb25lIG9uIGxp bmUgNzY6IG5hbWUgc3RtdAorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA3 ODogcXVlcnk6IGRyb3AgdGFibGUgTXlfVGFibGU7IHdpdGggMCBwYXJhbWV0 ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1 dGUgb24gbGluZSA3ODogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6 IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0 ZSBvbiBsaW5lIDc4OiBPSzogRFJPUCBUQUJMRQorW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2Zpbmlz aDogY29ubmVjdGlvbiByZWdyZXNzMSBjbG9zZWQKK1tOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCmRpZmYgLXVOciBwb3N0Z3Jlc3Fs LWhlYWQtMjAxMzEwMTcvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVj dGVkL3NxbC1uY2hhci5zdGRvdXQgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3 LW5jaGFyL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9zcWwt bmNoYXIuc3Rkb3V0Ci0tLSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3Jj L2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1uY2hhci5zdGRv dXQJMTk3MC0wMS0wMSAxMDowMDowMC4wMDAwMDAwMDAgKzEwMDAKKysrIHBv c3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9l Y3BnL3Rlc3QvZXhwZWN0ZWQvc3FsLW5jaGFyLnN0ZG91dAkyMDEzLTEwLTE3 IDExOjU2OjIyLjAwMDAwMDAwMCArMTEwMApAQCAtMCwwICsxLDEwIEBACitJ dGVtPSdmb29faXRlbScKK2NvdW50PTEgZm9yIEl0ZW09J2Zvb19pdGVtJwor Y291bnQ9MiBmb3IgSXRlbT0nZm9vX2l0ZW0nCitmb3VuZCAwIHJvd3MgZm9y IEl0ZW09J2Zvb19pdGVtJworY291bnQ9JzMnIGZvciBJdGVtPSdmb29faXRl bScKK0l0ZW09J2Zvb19pdGVtJworY291bnQ9MSBmb3IgSXRlbT0nZm9vX2l0 ZW0nCitjb3VudD0yIGZvciBJdGVtPSdmb29faXRlbScKK2ZvdW5kIDAgcm93 cyBmb3IgSXRlbT0nZm9vX2l0ZW0nCitjb3VudD0nMycgZm9yIEl0ZW09J2Zv b19pdGVtJwpkaWZmIC11TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3Ny Yy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9zcWwtbnZhcmNoYXIu YyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2ludGVyZmFj ZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1udmFyY2hhci5jCi0tLSBwb3N0 Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0 L2V4cGVjdGVkL3NxbC1udmFyY2hhci5jCTE5NzAtMDEtMDEgMTA6MDA6MDAu MDAwMDAwMDAwICsxMDAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTct bmNoYXIvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1u dmFyY2hhci5jCTIwMTMtMTAtMzEgMTU6MDg6MTguMDAwMDAwMDAwICsxMTAw CkBAIC0wLDAgKzEsNDE4IEBACisvKiBQcm9jZXNzZWQgYnkgZWNwZyAocmVn cmVzc2lvbiBtb2RlKSAqLworLyogVGhlc2UgaW5jbHVkZSBmaWxlcyBhcmUg YWRkZWQgYnkgdGhlIHByZXByb2Nlc3NvciAqLworI2luY2x1ZGUgPGVjcGds aWIuaD4KKyNpbmNsdWRlIDxlY3BnZXJybm8uaD4KKyNpbmNsdWRlIDxzcWxj YS5oPgorLyogRW5kIG9mIGF1dG9tYXRpYyBpbmNsdWRlIHNlY3Rpb24gKi8K KyNkZWZpbmUgRUNQR2RlYnVnKFgsWSkgRUNQR2RlYnVnKChYKSsxMDAsKFkp KQorCisjbGluZSAxICJudmFyY2hhci5wZ2MiCisjaW5jbHVkZSA8c3RkaW8u aD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4K KworCisjbGluZSAxICJyZWdyZXNzaW9uLmgiCisKKworCisKKworCisjbGlu ZSA1ICJudmFyY2hhci5wZ2MiCisKKworaW50IG1haW4oKSB7CisJLyogZXhl YyBzcWwgYmVnaW4gZGVjbGFyZSBzZWN0aW9uICovCisJCSAKKwkJCQorCQor I2xpbmUgOSAibnZhcmNoYXIucGdjIgorICBzdHJ1Y3QgdmFyY2hhcl8xICB7 IGludCBsZW47IGNoYXIgYXJyWyA0MCBdOyB9ICBudmFyY2hhcl92YXIgOwor IAorI2xpbmUgMTAgIm52YXJjaGFyLnBnYyIKKyBjaGFyIGNvdW50IFsgMTAg XSA7CisvKiBleGVjIHNxbCBlbmQgZGVjbGFyZSBzZWN0aW9uICovCisjbGlu ZSAxMSAibnZhcmNoYXIucGdjIgorCisKKwlFQ1BHZGVidWcoMSwgc3RkZXJy KTsKKwl7IEVDUEdjb25uZWN0KF9fTElORV9fLCAwLCAicmVncmVzczEiICwg TlVMTCwgTlVMTCAsIE5VTEwsIDApOyB9CisjbGluZSAxNCAibnZhcmNoYXIu cGdjIgorCisKKwl7IEVDUEdzZXRjb21taXQoX19MSU5FX18sICJvbiIsIE5V TEwpO30KKyNsaW5lIDE2ICJudmFyY2hhci5wZ2MiCisKKwkvKiBleGVjIHNx bCB3aGVuZXZlciBzcWxfd2FybmluZyAgc3FscHJpbnQgOyAqLworI2xpbmUg MTcgIm52YXJjaGFyLnBnYyIKKworCS8qIGV4ZWMgc3FsIHdoZW5ldmVyIHNx bGVycm9yICBzcWxwcmludCA7ICovCisjbGluZSAxOCAibnZhcmNoYXIucGdj IgorCisKKwkvKmluaXRpYWxpemF0aW9uIG9mIHRlc3QgdGFibGUqLworCXsg RUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFs LCAiY3JlYXRlIHRhYmxlIE15X1RhYmxlICggSXRlbSB2YXJjaGFyICwgY291 bnQgaW50ZWdlciApIiwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7CisjbGlu ZSAyMSAibnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9 PSAnVycpIHNxbHByaW50KCk7CisjbGluZSAyMSAibnZhcmNoYXIucGdjIgor CitpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUg MjEgIm52YXJjaGFyLnBnYyIKKworCisJLypzaW1wbGUgdGVzdHMqLworCS8q cmVpbml0YWxpemF0aW9uKi8KKwl7IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwg TlVMTCwgMCwgRUNQR3N0X25vcm1hbCwgInRydW5jYXRlIE15X1RhYmxlIiwg RUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7CisjbGluZSAyNSAibnZhcmNoYXIu cGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50 KCk7CisjbGluZSAyNSAibnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fs Y29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUgMjUgIm52YXJjaGFyLnBn YyIKKworCXsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BH c3Rfbm9ybWFsLCAiaW5zZXJ0IGludG8gTXlfVGFibGUgdmFsdWVzICggJ2Zv b19pdGVtJyAsIDEgKSIsIEVDUEd0X0VPSVQsIEVDUEd0X0VPUlQpOworI2xp bmUgMjYgIm52YXJjaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbHdhcm5bMF0g PT0gJ1cnKSBzcWxwcmludCgpOworI2xpbmUgMjYgIm52YXJjaGFyLnBnYyIK KworaWYgKHNxbGNhLnNxbGNvZGUgPCAwKSBzcWxwcmludCgpO30KKyNsaW5l IDI2ICJudmFyY2hhci5wZ2MiCisKKwkvKnNpbXBsZSBzZWxlY3QgaW50byBO VkFSQ0hBUiovCisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAs IEVDUEdzdF9ub3JtYWwsICJzZWxlY3QgSXRlbSBmcm9tIE15X1RhYmxlIGxp bWl0IDEiLCBFQ1BHdF9FT0lULCAKKwlFQ1BHdF9udmFyY2hhciwmKG52YXJj aGFyX3ZhciksKGxvbmcpNDAsKGxvbmcpMSxzaXplb2Yoc3RydWN0IHZhcmNo YXJfMSksIAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwg MEwsIEVDUEd0X0VPUlQpOworI2xpbmUgMjggIm52YXJjaGFyLnBnYyIKKwor aWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOworI2xp bmUgMjggIm52YXJjaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbGNvZGUgPCAw KSBzcWxwcmludCgpO30KKyNsaW5lIDI4ICJudmFyY2hhci5wZ2MiCisKKwlw cmludGYgKCJJdGVtPSclcydcbiIsIG52YXJjaGFyX3Zhci5hcnIpOworCS8q c2ltcGxlIHNlbGVjdCB1c2luZyBOVkFSQ0hBUiovCisJeyBFQ1BHZG8oX19M SU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJzZWxlY3Qg Y291bnQgZnJvbSBNeV9UYWJsZSB3aGVyZSBJdGVtID0gJDEgIiwgCisJRUNQ R3RfbnZhcmNoYXIsJihudmFyY2hhcl92YXIpLChsb25nKTQwLChsb25nKTEs c2l6ZW9mKHN0cnVjdCB2YXJjaGFyXzEpLCAKKwlFQ1BHdF9OT19JTkRJQ0FU T1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT0lULCAKKwlFQ1BHdF9j aGFyLChjb3VudCksKGxvbmcpMTAsKGxvbmcpMSwoMTApKnNpemVvZihjaGFy KSwgCisJRUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBMLCAwTCwg RUNQR3RfRU9SVCk7CisjbGluZSAzMSAibnZhcmNoYXIucGdjIgorCitpZiAo c3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7CisjbGluZSAz MSAibnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNx bHByaW50KCk7fQorI2xpbmUgMzEgIm52YXJjaGFyLnBnYyIKKworCXByaW50 ZiAoImNvdW50PSVzIGZvciBJdGVtPSclcydcbiIsIGNvdW50LCBudmFyY2hh cl92YXIuYXJyKTsKKwkvKnNpbXBsZSB1cGRhdGUgdXNpbmcgTlZBUkNIQVIq LworCXsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rf bm9ybWFsLCAidXBkYXRlIE15X1RhYmxlIHNldCBjb3VudCA9IGNvdW50ICsg MSB3aGVyZSBJdGVtID0gJDEgIiwgCisJRUNQR3RfbnZhcmNoYXIsJihudmFy Y2hhcl92YXIpLChsb25nKTQwLChsb25nKTEsc2l6ZW9mKHN0cnVjdCB2YXJj aGFyXzEpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEws IDBMLCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JUKTsKKyNsaW5lIDM0ICJudmFy Y2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykgc3Fs cHJpbnQoKTsKKyNsaW5lIDM0ICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxj YS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSAzNCAibnZhcmNo YXIucGdjIgorCisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAs IEVDUEdzdF9ub3JtYWwsICJzZWxlY3QgY291bnQgZnJvbSBNeV9UYWJsZSB3 aGVyZSBJdGVtID0gJ2Zvb19pdGVtJyIsIEVDUEd0X0VPSVQsIAorCUVDUEd0 X2NoYXIsKGNvdW50KSwobG9uZykxMCwobG9uZykxLCgxMCkqc2l6ZW9mKGNo YXIpLCAKKwlFQ1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBM LCBFQ1BHdF9FT1JUKTsKKyNsaW5lIDM1ICJudmFyY2hhci5wZ2MiCisKK2lm IChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5l IDM1ICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkg c3FscHJpbnQoKTt9CisjbGluZSAzNSAibnZhcmNoYXIucGdjIgorCisJcHJp bnRmICgiY291bnQ9JXMgZm9yIEl0ZW09J2Zvb19pdGVtJ1xuIiwgY291bnQp OworCS8qc2ltcGxlIGRlbGV0ZSB1c2luZyBOVkFSQ0hBUiovCisJeyBFQ1BH ZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJk ZWxldGUgZnJvbSBNeV9UYWJsZSB3aGVyZSBJdGVtID0gJDEgIiwgCisJRUNQ R3RfbnZhcmNoYXIsJihudmFyY2hhcl92YXIpLChsb25nKTQwLChsb25nKTEs c2l6ZW9mKHN0cnVjdCB2YXJjaGFyXzEpLCAKKwlFQ1BHdF9OT19JTkRJQ0FU T1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT0lULCBFQ1BHdF9FT1JU KTsKKyNsaW5lIDM4ICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3 YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDM4ICJudmFyY2hh ci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9 CisjbGluZSAzOCAibnZhcmNoYXIucGdjIgorCisJeyBFQ1BHZG8oX19MSU5F X18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJzZWxlY3QgY291 bnQgKCAqICkgZnJvbSBNeV9UYWJsZSB3aGVyZSBJdGVtID0gJ2Zvb19pdGVt JyIsIEVDUEd0X0VPSVQsIAorCUVDUEd0X2NoYXIsKGNvdW50KSwobG9uZykx MCwobG9uZykxLCgxMCkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BHdF9OT19JTkRJ Q0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT1JUKTsKKyNsaW5l IDM5ICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBdID09 ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDM5ICJudmFyY2hhci5wZ2MiCisK K2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSAz OSAibnZhcmNoYXIucGdjIgorCisJcHJpbnRmICgiZm91bmQgJXMgcm93cyBm b3IgSXRlbT0nZm9vX2l0ZW0nXG4iLCBjb3VudCk7CisJLypzaW1wbGUgaW5z ZXJ0IHVzaW5nIE5WQVJDSEFSKi8KKwl7IEVDUEdkbyhfX0xJTkVfXywgMCwg MSwgTlVMTCwgMCwgRUNQR3N0X25vcm1hbCwgImluc2VydCBpbnRvIE15X1Rh YmxlIHZhbHVlcyAoICQxICAsIDMgKSIsIAorCUVDUEd0X252YXJjaGFyLCYo bnZhcmNoYXJfdmFyKSwobG9uZyk0MCwobG9uZykxLHNpemVvZihzdHJ1Y3Qg dmFyY2hhcl8xKSwgCisJRUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEws IDBMLCAwTCwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7CisjbGluZSA0MiAi bnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycp IHNxbHByaW50KCk7CisjbGluZSA0MiAibnZhcmNoYXIucGdjIgorCitpZiAo c3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUgNDIgIm52 YXJjaGFyLnBnYyIKKworCXsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxM LCAwLCBFQ1BHc3Rfbm9ybWFsLCAic2VsZWN0IGNvdW50IGZyb20gTXlfVGFi bGUgd2hlcmUgSXRlbSA9ICdmb29faXRlbSciLCBFQ1BHdF9FT0lULCAKKwlF Q1BHdF9jaGFyLChjb3VudCksKGxvbmcpMTAsKGxvbmcpMSwoMTApKnNpemVv ZihjaGFyKSwgCisJRUNQR3RfTk9fSU5ESUNBVE9SLCBOVUxMICwgMEwsIDBM LCAwTCwgRUNQR3RfRU9SVCk7CisjbGluZSA0MyAibnZhcmNoYXIucGdjIgor CitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7Cisj bGluZSA0MyAibnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8 IDApIHNxbHByaW50KCk7fQorI2xpbmUgNDMgIm52YXJjaGFyLnBnYyIKKwor CXByaW50ZiAoImNvdW50PSclcycgZm9yIEl0ZW09J2Zvb19pdGVtJ1xuIiwg Y291bnQpOworCisJLypwcmVwYXJlZCB0ZXN0cyovCisJLypyZWluaXRhbGl6 YXRpb24qLworCXsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBF Q1BHc3Rfbm9ybWFsLCAidHJ1bmNhdGUgTXlfVGFibGUiLCBFQ1BHdF9FT0lU LCBFQ1BHdF9FT1JUKTsKKyNsaW5lIDQ4ICJudmFyY2hhci5wZ2MiCisKK2lm IChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5l IDQ4ICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkg c3FscHJpbnQoKTt9CisjbGluZSA0OCAibnZhcmNoYXIucGdjIgorCisJeyBF Q1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWws ICJpbnNlcnQgaW50byBNeV9UYWJsZSB2YWx1ZXMgKCAnZm9vX2l0ZW0nICwg MSApIiwgRUNQR3RfRU9JVCwgRUNQR3RfRU9SVCk7CisjbGluZSA0OSAibnZh cmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNx bHByaW50KCk7CisjbGluZSA0OSAibnZhcmNoYXIucGdjIgorCitpZiAoc3Fs Y2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUgNDkgIm52YXJj aGFyLnBnYyIKKworCS8qcHJlcGFyZWQgc2VsZWN0IGludG8gTlZBUkNIQVIq LworCXsgRUNQR3ByZXBhcmUoX19MSU5FX18sIE5VTEwsIDAsICJzdG10Iiwg IlNFTEVDVCBJdGVtIEZST00gTXlfVGFibGUgTElNSVQgMSIpOworI2xpbmUg NTEgIm52YXJjaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0g J1cnKSBzcWxwcmludCgpOworI2xpbmUgNTEgIm52YXJjaGFyLnBnYyIKKwor aWYgKHNxbGNhLnNxbGNvZGUgPCAwKSBzcWxwcmludCgpO30KKyNsaW5lIDUx ICJudmFyY2hhci5wZ2MiCisKKwl7IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwg TlVMTCwgMCwgRUNQR3N0X2V4ZWN1dGUsICJzdG10IiwgRUNQR3RfRU9JVCwg CisJRUNQR3RfbnZhcmNoYXIsJihudmFyY2hhcl92YXIpLChsb25nKTQwLChs b25nKTEsc2l6ZW9mKHN0cnVjdCB2YXJjaGFyXzEpLCAKKwlFQ1BHdF9OT19J TkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT1JUKTsKKyNs aW5lIDUyICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBd ID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDUyICJudmFyY2hhci5wZ2Mi CisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGlu ZSA1MiAibnZhcmNoYXIucGdjIgorCisJcHJpbnRmICgiSXRlbT0nJXMnXG4i LCBudmFyY2hhcl92YXIuYXJyKTsKKwl7IEVDUEdkZWFsbG9jYXRlKF9fTElO RV9fLCAwLCBOVUxMLCAic3RtdCIpOworI2xpbmUgNTQgIm52YXJjaGFyLnBn YyIKKworaWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgp OworI2xpbmUgNTQgIm52YXJjaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbGNv ZGUgPCAwKSBzcWxwcmludCgpO30KKyNsaW5lIDU0ICJudmFyY2hhci5wZ2Mi CisKKwkvKnByZXBhcmVkIHNlbGVjdCB1c2luZyBOVkFSQ0hBUiovCisJeyBF Q1BHcHJlcGFyZShfX0xJTkVfXywgTlVMTCwgMCwgInN0bXQiLCAiU0VMRUNU IENvdW50IEZST00gTXlfVGFibGUgV0hFUkUgSXRlbT0/Iik7CisjbGluZSA1 NiAibnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAn VycpIHNxbHByaW50KCk7CisjbGluZSA1NiAibnZhcmNoYXIucGdjIgorCitp ZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUgNTYg Im52YXJjaGFyLnBnYyIKKworCXsgRUNQR2RvKF9fTElORV9fLCAwLCAxLCBO VUxMLCAwLCBFQ1BHc3RfZXhlY3V0ZSwgInN0bXQiLCAKKwlFQ1BHdF9udmFy Y2hhciwmKG52YXJjaGFyX3ZhciksKGxvbmcpNDAsKGxvbmcpMSxzaXplb2Yo c3RydWN0IHZhcmNoYXJfMSksIAorCUVDUEd0X05PX0lORElDQVRPUiwgTlVM TCAsIDBMLCAwTCwgMEwsIEVDUEd0X0VPSVQsIAorCUVDUEd0X2NoYXIsKGNv dW50KSwobG9uZykxMCwobG9uZykxLCgxMCkqc2l6ZW9mKGNoYXIpLCAKKwlF Q1BHdF9OT19JTkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9F T1JUKTsKKyNsaW5lIDU3ICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5z cWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDU3ICJudmFy Y2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQo KTt9CisjbGluZSA1NyAibnZhcmNoYXIucGdjIgorCisJcHJpbnRmICgiY291 bnQ9JXMgZm9yIEl0ZW09J2Zvb19pdGVtJ1xuIiwgY291bnQpOworCXsgRUNQ R2RlYWxsb2NhdGUoX19MSU5FX18sIDAsIE5VTEwsICJzdG10Iik7CisjbGlu ZSA1OSAibnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9 PSAnVycpIHNxbHByaW50KCk7CisjbGluZSA1OSAibnZhcmNoYXIucGdjIgor CitpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUg NTkgIm52YXJjaGFyLnBnYyIKKworCS8qcHJlcGFyZWQgdXBkYXRlIHVzaW5n IE5WQVJDSEFSKi8KKwl7IEVDUEdwcmVwYXJlKF9fTElORV9fLCBOVUxMLCAw LCAic3RtdCIsICJVUERBVEUgTXlfVGFibGUgU0VUIENvdW50PUNvdW50KzEg V0hFUkUgSXRlbT0/Iik7CisjbGluZSA2MSAibnZhcmNoYXIucGdjIgorCitp ZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7CisjbGlu ZSA2MSAibnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDAp IHNxbHByaW50KCk7fQorI2xpbmUgNjEgIm52YXJjaGFyLnBnYyIKKworCXsg RUNQR2RvKF9fTElORV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3RfZXhlY3V0 ZSwgInN0bXQiLCAKKwlFQ1BHdF9udmFyY2hhciwmKG52YXJjaGFyX3Zhciks KGxvbmcpNDAsKGxvbmcpMSxzaXplb2Yoc3RydWN0IHZhcmNoYXJfMSksIAor CUVDUEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIEVDUEd0 X0VPSVQsIEVDUEd0X0VPUlQpOworI2xpbmUgNjIgIm52YXJjaGFyLnBnYyIK KworaWYgKHNxbGNhLnNxbHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOwor I2xpbmUgNjIgIm52YXJjaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbGNvZGUg PCAwKSBzcWxwcmludCgpO30KKyNsaW5lIDYyICJudmFyY2hhci5wZ2MiCisK Kwl7IEVDUEdkbyhfX0xJTkVfXywgMCwgMSwgTlVMTCwgMCwgRUNQR3N0X25v cm1hbCwgInNlbGVjdCBjb3VudCBmcm9tIE15X1RhYmxlIHdoZXJlIEl0ZW0g PSAnZm9vX2l0ZW0nIiwgRUNQR3RfRU9JVCwgCisJRUNQR3RfY2hhciwoY291 bnQpLChsb25nKTEwLChsb25nKTEsKDEwKSpzaXplb2YoY2hhciksIAorCUVD UEd0X05PX0lORElDQVRPUiwgTlVMTCAsIDBMLCAwTCwgMEwsIEVDUEd0X0VP UlQpOworI2xpbmUgNjMgIm52YXJjaGFyLnBnYyIKKworaWYgKHNxbGNhLnNx bHdhcm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOworI2xpbmUgNjMgIm52YXJj aGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbGNvZGUgPCAwKSBzcWxwcmludCgp O30KKyNsaW5lIDYzICJudmFyY2hhci5wZ2MiCisKKwlwcmludGYgKCJjb3Vu dD0lcyBmb3IgSXRlbT0nZm9vX2l0ZW0nXG4iLCBjb3VudCk7CisJeyBFQ1BH ZGVhbGxvY2F0ZShfX0xJTkVfXywgMCwgTlVMTCwgInN0bXQiKTsKKyNsaW5l IDY1ICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBdID09 ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDY1ICJudmFyY2hhci5wZ2MiCisK K2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSA2 NSAibnZhcmNoYXIucGdjIgorCisJLypwcmVwYXJlZCBkZWxldGUgdXNpbmcg TlZBUkNIQVIqLworCXsgRUNQR3ByZXBhcmUoX19MSU5FX18sIE5VTEwsIDAs ICJzdG10IiwgIkRFTEVURSBGUk9NIE15X1RhYmxlIFdIRVJFIEl0ZW09PyIp OworI2xpbmUgNjcgIm52YXJjaGFyLnBnYyIKKworaWYgKHNxbGNhLnNxbHdh cm5bMF0gPT0gJ1cnKSBzcWxwcmludCgpOworI2xpbmUgNjcgIm52YXJjaGFy LnBnYyIKKworaWYgKHNxbGNhLnNxbGNvZGUgPCAwKSBzcWxwcmludCgpO30K KyNsaW5lIDY3ICJudmFyY2hhci5wZ2MiCisKKwl7IEVDUEdkbyhfX0xJTkVf XywgMCwgMSwgTlVMTCwgMCwgRUNQR3N0X2V4ZWN1dGUsICJzdG10IiwgCisJ RUNQR3RfbnZhcmNoYXIsJihudmFyY2hhcl92YXIpLChsb25nKTQwLChsb25n KTEsc2l6ZW9mKHN0cnVjdCB2YXJjaGFyXzEpLCAKKwlFQ1BHdF9OT19JTkRJ Q0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT0lULCBFQ1BHdF9F T1JUKTsKKyNsaW5lIDY4ICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5z cWx3YXJuWzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDY4ICJudmFy Y2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQo KTt9CisjbGluZSA2OCAibnZhcmNoYXIucGdjIgorCisJeyBFQ1BHZG8oX19M SU5FX18sIDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9ub3JtYWwsICJzZWxlY3Qg Y291bnQgKCAqICkgZnJvbSBNeV9UYWJsZSB3aGVyZSBJdGVtID0gJ2Zvb19p dGVtJyIsIEVDUEd0X0VPSVQsIAorCUVDUEd0X2NoYXIsKGNvdW50KSwobG9u ZykxMCwobG9uZykxLCgxMCkqc2l6ZW9mKGNoYXIpLCAKKwlFQ1BHdF9OT19J TkRJQ0FUT1IsIE5VTEwgLCAwTCwgMEwsIDBMLCBFQ1BHdF9FT1JUKTsKKyNs aW5lIDY5ICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBd ID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDY5ICJudmFyY2hhci5wZ2Mi CisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGlu ZSA2OSAibnZhcmNoYXIucGdjIgorCisJcHJpbnRmICgiZm91bmQgJXMgcm93 cyBmb3IgSXRlbT0nZm9vX2l0ZW0nXG4iLCBjb3VudCk7CisJeyBFQ1BHZGVh bGxvY2F0ZShfX0xJTkVfXywgMCwgTlVMTCwgInN0bXQiKTsKKyNsaW5lIDcx ICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBdID09ICdX Jykgc3FscHJpbnQoKTsKKyNsaW5lIDcxICJudmFyY2hhci5wZ2MiCisKK2lm IChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSA3MSAi bnZhcmNoYXIucGdjIgorCisJLypwcmVwYXJlZCBpbnNlcnQgdXNpbmcgTlZB UkNIQVIqLworCXsgRUNQR3ByZXBhcmUoX19MSU5FX18sIE5VTEwsIDAsICJz dG10IiwgIklOU0VSVCBJTlRPIE15X1RhYmxlIHZhbHVlcyAoPywgMykiKTsK KyNsaW5lIDczICJudmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJu WzBdID09ICdXJykgc3FscHJpbnQoKTsKKyNsaW5lIDczICJudmFyY2hhci5w Z2MiCisKK2lmIChzcWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9Cisj bGluZSA3MyAibnZhcmNoYXIucGdjIgorCisJeyBFQ1BHZG8oX19MSU5FX18s IDAsIDEsIE5VTEwsIDAsIEVDUEdzdF9leGVjdXRlLCAic3RtdCIsIAorCUVD UEd0X252YXJjaGFyLCYobnZhcmNoYXJfdmFyKSwobG9uZyk0MCwobG9uZykx LHNpemVvZihzdHJ1Y3QgdmFyY2hhcl8xKSwgCisJRUNQR3RfTk9fSU5ESUNB VE9SLCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQR3RfRU9JVCwgRUNQR3RfRU9S VCk7CisjbGluZSA3NCAibnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fs d2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7CisjbGluZSA3NCAibnZhcmNo YXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7 fQorI2xpbmUgNzQgIm52YXJjaGFyLnBnYyIKKworCXsgRUNQR2RvKF9fTElO RV9fLCAwLCAxLCBOVUxMLCAwLCBFQ1BHc3Rfbm9ybWFsLCAic2VsZWN0IGNv dW50IGZyb20gTXlfVGFibGUgd2hlcmUgSXRlbSA9ICdmb29faXRlbSciLCBF Q1BHdF9FT0lULCAKKwlFQ1BHdF9jaGFyLChjb3VudCksKGxvbmcpMTAsKGxv bmcpMSwoMTApKnNpemVvZihjaGFyKSwgCisJRUNQR3RfTk9fSU5ESUNBVE9S LCBOVUxMICwgMEwsIDBMLCAwTCwgRUNQR3RfRU9SVCk7CisjbGluZSA3NSAi bnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycp IHNxbHByaW50KCk7CisjbGluZSA3NSAibnZhcmNoYXIucGdjIgorCitpZiAo c3FsY2Euc3FsY29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUgNzUgIm52 YXJjaGFyLnBnYyIKKworCXByaW50ZiAoImNvdW50PSclcycgZm9yIEl0ZW09 J2Zvb19pdGVtJ1xuIiwgY291bnQpOworCXsgRUNQR2RlYWxsb2NhdGUoX19M SU5FX18sIDAsIE5VTEwsICJzdG10Iik7CisjbGluZSA3NyAibnZhcmNoYXIu cGdjIgorCitpZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50 KCk7CisjbGluZSA3NyAibnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3Fs Y29kZSA8IDApIHNxbHByaW50KCk7fQorI2xpbmUgNzcgIm52YXJjaGFyLnBn YyIKKworCisJeyBFQ1BHZG8oX19MSU5FX18sIDAsIDEsIE5VTEwsIDAsIEVD UEdzdF9ub3JtYWwsICJkcm9wIHRhYmxlIE15X1RhYmxlIiwgRUNQR3RfRU9J VCwgRUNQR3RfRU9SVCk7CisjbGluZSA3OSAibnZhcmNoYXIucGdjIgorCitp ZiAoc3FsY2Euc3Fsd2FyblswXSA9PSAnVycpIHNxbHByaW50KCk7CisjbGlu ZSA3OSAibnZhcmNoYXIucGdjIgorCitpZiAoc3FsY2Euc3FsY29kZSA8IDAp IHNxbHByaW50KCk7fQorI2xpbmUgNzkgIm52YXJjaGFyLnBnYyIKKworCXsg RUNQR2Rpc2Nvbm5lY3QoX19MSU5FX18sICJBTEwiKTsKKyNsaW5lIDgwICJu dmFyY2hhci5wZ2MiCisKK2lmIChzcWxjYS5zcWx3YXJuWzBdID09ICdXJykg c3FscHJpbnQoKTsKKyNsaW5lIDgwICJudmFyY2hhci5wZ2MiCisKK2lmIChz cWxjYS5zcWxjb2RlIDwgMCkgc3FscHJpbnQoKTt9CisjbGluZSA4MCAibnZh cmNoYXIucGdjIgorCisKKwlyZXR1cm4gMDsKK30KKwpkaWZmIC11TnIgcG9z dGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVz dC9leHBlY3RlZC9zcWwtbnZhcmNoYXIuc3RkZXJyIHBvc3RncmVzcWwtaGVh ZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhw ZWN0ZWQvc3FsLW52YXJjaGFyLnN0ZGVycgotLS0gcG9zdGdyZXNxbC1oZWFk LTIwMTMxMDE3L3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9leHBlY3RlZC9z cWwtbnZhcmNoYXIuc3RkZXJyCTE5NzAtMDEtMDEgMTA6MDA6MDAuMDAwMDAw MDAwICsxMDAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIv c3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1udmFyY2hh ci5zdGRlcnIJMjAxMy0xMC0xNyAxMTo1NjoyMi4wMDAwMDAwMDAgKzExMDAK QEAgLTAsMCArMSwxOTYgQEAKK1tOT19QSURdOiBFQ1BHZGVidWc6IHNldCB0 byAxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAor W05PX1BJRF06IEVDUEdjb25uZWN0OiBvcGVuaW5nIGRhdGFiYXNlIHJlZ3Jl c3MxIG9uIDxERUZBVUxUPiBwb3J0IDxERUZBVUxUPiAgCitbTk9fUElEXTog c3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IEVDUEdz ZXRjb21taXQgb24gbGluZSAxNjogYWN0aW9uICJvbiI7IGNvbm5lY3Rpb24g InJlZ3Jlc3MxIgorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTog MDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAyMTogcXVl cnk6IGNyZWF0ZSB0YWJsZSBNeV9UYWJsZSAoIEl0ZW0gdmFyY2hhciAsIGNv dW50IGludGVnZXIgKTsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0 aW9uIHJlZ3Jlc3MxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDIxOiB1 c2luZyBQUWV4ZWMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6 IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjE6IE9L OiBDUkVBVEUgVEFCTEUKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3Rh dGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjU6 IHF1ZXJ5OiB0cnVuY2F0ZSBNeV9UYWJsZTsgd2l0aCAwIHBhcmFtZXRlcihz KSBvbiBjb25uZWN0aW9uIHJlZ3Jlc3MxCitbTk9fUElEXTogc3FsY2E6IGNv ZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBv biBsaW5lIDI1OiB1c2luZyBQUWV4ZWMKK1tOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9u IGxpbmUgMjU6IE9LOiBUUlVOQ0FURSBUQUJMRQorW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1 dGUgb24gbGluZSAyNjogcXVlcnk6IGluc2VydCBpbnRvIE15X1RhYmxlIHZh bHVlcyAoICdmb29faXRlbScgLCAxICk7IHdpdGggMCBwYXJhbWV0ZXIocykg b24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24g bGluZSAyNjogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBs aW5lIDI2OiBPSzogSU5TRVJUIDAgMQorW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24g bGluZSAyODogcXVlcnk6IHNlbGVjdCBJdGVtIGZyb20gTXlfVGFibGUgbGlt aXQgMTsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jl c3MxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAor W05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDI4OiB1c2luZyBQUWV4 ZWMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitb Tk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgMjg6IGNvcnJlY3RseSBn b3QgMSB0dXBsZXMgd2l0aCAxIGZpZWxkcworW05PX1BJRF06IHNxbGNhOiBj b2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRh IG9uIGxpbmUgMjg6IFJFU1VMVDogZm9vX2l0ZW0gb2Zmc2V0OiAtMTsgYXJy YXk6IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAw MAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDMxOiBxdWVyeTog c2VsZWN0IGNvdW50IGZyb20gTXlfVGFibGUgd2hlcmUgSXRlbSA9ICQxIDsg d2l0aCAxIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jlc3MxCitb Tk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJ RF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDMxOiB1c2luZyBQUWV4ZWNQYXJh bXMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitb Tk9fUElEXTogZnJlZV9wYXJhbXMgb24gbGluZSAzMTogcGFyYW1ldGVyIDEg PSBmb29faXRlbQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTog MDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAzMTogY29y cmVjdGx5IGdvdCAxIHR1cGxlcyB3aXRoIDEgZmllbGRzCitbTk9fUElEXTog c3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdf Z2V0X2RhdGEgb24gbGluZSAzMTogUkVTVUxUOiAxIG9mZnNldDogLTE7IGFy cmF5OiBubworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAw MDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAzNDogcXVlcnk6 IHVwZGF0ZSBNeV9UYWJsZSBzZXQgY291bnQgPSBjb3VudCArIDEgd2hlcmUg SXRlbSA9ICQxIDsgd2l0aCAxIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9u IHJlZ3Jlc3MxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAw MDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM0OiB1c2lu ZyBQUWV4ZWNQYXJhbXMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3Rh dGU6IDAwMDAwCitbTk9fUElEXTogZnJlZV9wYXJhbXMgb24gbGluZSAzNDog cGFyYW1ldGVyIDEgPSBmb29faXRlbQorW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24g bGluZSAzNDogT0s6IFVQREFURSAxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBs aW5lIDM1OiBxdWVyeTogc2VsZWN0IGNvdW50IGZyb20gTXlfVGFibGUgd2hl cmUgSXRlbSA9ICdmb29faXRlbSc7IHdpdGggMCBwYXJhbWV0ZXIocykgb24g Y29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAw LCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGlu ZSAzNTogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAs IHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5l IDM1OiBjb3JyZWN0bHkgZ290IDEgdHVwbGVzIHdpdGggMSBmaWVsZHMKK1tO T19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElE XTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDM1OiBSRVNVTFQ6IDIgb2Zmc2V0 OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM4 OiBxdWVyeTogZGVsZXRlIGZyb20gTXlfVGFibGUgd2hlcmUgSXRlbSA9ICQx IDsgd2l0aCAxIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jlc3Mx CitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05P X1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM4OiB1c2luZyBQUWV4ZWNQ YXJhbXMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAw CitbTk9fUElEXTogZnJlZV9wYXJhbXMgb24gbGluZSAzODogcGFyYW1ldGVy IDEgPSBmb29faXRlbQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0 ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAzODog T0s6IERFTEVURSAxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM5OiBx dWVyeTogc2VsZWN0IGNvdW50ICggKiApIGZyb20gTXlfVGFibGUgd2hlcmUg SXRlbSA9ICdmb29faXRlbSc7IHdpdGggMCBwYXJhbWV0ZXIocykgb24gY29u bmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSAz OTogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDM5 OiBjb3JyZWN0bHkgZ290IDEgdHVwbGVzIHdpdGggMSBmaWVsZHMKK1tOT19Q SURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTog ZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDM5OiBSRVNVTFQ6IDAgb2Zmc2V0OiAt MTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDQyOiBx dWVyeTogaW5zZXJ0IGludG8gTXlfVGFibGUgdmFsdWVzICggJDEgICwgMyAp OyB3aXRoIDEgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEK K1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9f UElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNDI6IHVzaW5nIFBRZXhlY1Bh cmFtcworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAK K1tOT19QSURdOiBmcmVlX3BhcmFtcyBvbiBsaW5lIDQyOiBwYXJhbWV0ZXIg MSA9IGZvb19pdGVtCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDQyOiBP SzogSU5TRVJUIDAgMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0 ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA0Mzog cXVlcnk6IHNlbGVjdCBjb3VudCBmcm9tIE15X1RhYmxlIHdoZXJlIEl0ZW0g PSAnZm9vX2l0ZW0nOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rp b24gcmVncmVzczEKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6 IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNDM6IHVz aW5nIFBRZXhlYworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTog MDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA0MzogY29y cmVjdGx5IGdvdCAxIHR1cGxlcyB3aXRoIDEgZmllbGRzCitbTk9fUElEXTog c3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdf Z2V0X2RhdGEgb24gbGluZSA0MzogUkVTVUxUOiAzIG9mZnNldDogLTE7IGFy cmF5OiBubworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAw MDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA0ODogcXVlcnk6 IHRydW5jYXRlIE15X1RhYmxlOyB3aXRoIDAgcGFyYW1ldGVyKHMpIG9uIGNv bm5lY3Rpb24gcmVncmVzczEKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwg c3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUg NDg6IHVzaW5nIFBRZXhlYworW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA0 ODogT0s6IFRSVU5DQVRFIFRBQkxFCitbTk9fUElEXTogc3FsY2E6IGNvZGU6 IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBs aW5lIDQ5OiBxdWVyeTogaW5zZXJ0IGludG8gTXlfVGFibGUgdmFsdWVzICgg J2Zvb19pdGVtJyAsIDEgKTsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBjb25u ZWN0aW9uIHJlZ3Jlc3MxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDQ5 OiB1c2luZyBQUWV4ZWMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3Rh dGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNDk6 IE9LOiBJTlNFUlQgMCAxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAorW05PX1BJRF06IHByZXBhcmVfY29tbW9uIG9uIGxpbmUg NTE6IG5hbWUgc3RtdDsgcXVlcnk6ICJTRUxFQ1QgSXRlbSBGUk9NIE15X1Rh YmxlIExJTUlUIDEiCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDUyOiBx dWVyeTogU0VMRUNUIEl0ZW0gRlJPTSBNeV9UYWJsZSBMSU1JVCAxOyB3aXRo IDAgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVzczEKK1tOT19Q SURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTog ZWNwZ19leGVjdXRlIG9uIGxpbmUgNTI6IHVzaW5nIFBRZXhlY1ByZXBhcmVk IGZvciAiU0VMRUNUIEl0ZW0gRlJPTSBNeV9UYWJsZSBMSU1JVCAxIgorW05P X1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURd OiBlY3BnX2V4ZWN1dGUgb24gbGluZSA1MjogY29ycmVjdGx5IGdvdCAxIHR1 cGxlcyB3aXRoIDEgZmllbGRzCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAs IHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZ2V0X2RhdGEgb24gbGlu ZSA1MjogUkVTVUxUOiBmb29faXRlbSBvZmZzZXQ6IC0xOyBhcnJheTogbm8K K1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9f UElEXTogZGVhbGxvY2F0ZV9vbmUgb24gbGluZSA1NDogbmFtZSBzdG10Citb Tk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJ RF06IHByZXBhcmVfY29tbW9uIG9uIGxpbmUgNTY6IG5hbWUgc3RtdDsgcXVl cnk6ICJTRUxFQ1QgQ291bnQgRlJPTSBNeV9UYWJsZSBXSEVSRSBJdGVtPSQx IgorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tO T19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA1NzogcXVlcnk6IFNFTEVD VCBDb3VudCBGUk9NIE15X1RhYmxlIFdIRVJFIEl0ZW09JDE7IHdpdGggMSBw YXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06 IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3Bn X2V4ZWN1dGUgb24gbGluZSA1NzogdXNpbmcgUFFleGVjUHJlcGFyZWQgZm9y ICJTRUxFQ1QgQ291bnQgRlJPTSBNeV9UYWJsZSBXSEVSRSBJdGVtPSQxIgor W05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19Q SURdOiBmcmVlX3BhcmFtcyBvbiBsaW5lIDU3OiBwYXJhbWV0ZXIgMSA9IGZv b19pdGVtCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAw MAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDU3OiBjb3JyZWN0 bHkgZ290IDEgdHVwbGVzIHdpdGggMSBmaWVsZHMKK1tOT19QSURdOiBzcWxj YTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19nZXRf ZGF0YSBvbiBsaW5lIDU3OiBSRVNVTFQ6IDEgb2Zmc2V0OiAtMTsgYXJyYXk6 IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAor W05PX1BJRF06IGRlYWxsb2NhdGVfb25lIG9uIGxpbmUgNTk6IG5hbWUgc3Rt dAorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tO T19QSURdOiBwcmVwYXJlX2NvbW1vbiBvbiBsaW5lIDYxOiBuYW1lIHN0bXQ7 IHF1ZXJ5OiAiVVBEQVRFIE15X1RhYmxlIFNFVCBDb3VudD1Db3VudCsxIFdI RVJFIEl0ZW09JDEiCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDYyOiBx dWVyeTogVVBEQVRFIE15X1RhYmxlIFNFVCBDb3VudD1Db3VudCsxIFdIRVJF IEl0ZW09JDE7IHdpdGggMSBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiBy ZWdyZXNzMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAw MDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA2MjogdXNpbmcg UFFleGVjUHJlcGFyZWQgZm9yICJVUERBVEUgTXlfVGFibGUgU0VUIENvdW50 PUNvdW50KzEgV0hFUkUgSXRlbT0kMSIKK1tOT19QSURdOiBzcWxjYTogY29k ZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZnJlZV9wYXJhbXMgb24g bGluZSA2MjogcGFyYW1ldGVyIDEgPSBmb29faXRlbQorW05PX1BJRF06IHNx bGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4 ZWN1dGUgb24gbGluZSA2MjogT0s6IFVQREFURSAxCitbTk9fUElEXTogc3Fs Y2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhl Y3V0ZSBvbiBsaW5lIDYzOiBxdWVyeTogc2VsZWN0IGNvdW50IGZyb20gTXlf VGFibGUgd2hlcmUgSXRlbSA9ICdmb29faXRlbSc7IHdpdGggMCBwYXJhbWV0 ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNh OiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1 dGUgb24gbGluZSA2MzogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6 IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0 ZSBvbiBsaW5lIDYzOiBjb3JyZWN0bHkgZ290IDEgdHVwbGVzIHdpdGggMSBm aWVsZHMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAw CitbTk9fUElEXTogZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDYzOiBSRVNVTFQ6 IDIgb2Zmc2V0OiAtMTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6IGNv ZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJRF06IGRlYWxsb2NhdGVfb25l IG9uIGxpbmUgNjU6IG5hbWUgc3RtdAorW05PX1BJRF06IHNxbGNhOiBjb2Rl OiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBwcmVwYXJlX2NvbW1vbiBv biBsaW5lIDY3OiBuYW1lIHN0bXQ7IHF1ZXJ5OiAiREVMRVRFIEZST00gTXlf VGFibGUgV0hFUkUgSXRlbT0kMSIKK1tOT19QSURdOiBzcWxjYTogY29kZTog MCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxp bmUgNjg6IHF1ZXJ5OiBERUxFVEUgRlJPTSBNeV9UYWJsZSBXSEVSRSBJdGVt PSQxOyB3aXRoIDEgcGFyYW1ldGVyKHMpIG9uIGNvbm5lY3Rpb24gcmVncmVz czEKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitb Tk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNjg6IHVzaW5nIFBRZXhl Y1ByZXBhcmVkIGZvciAiREVMRVRFIEZST00gTXlfVGFibGUgV0hFUkUgSXRl bT0kMSIKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAw CitbTk9fUElEXTogZnJlZV9wYXJhbXMgb24gbGluZSA2ODogcGFyYW1ldGVy IDEgPSBmb29faXRlbQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0 ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA2ODog T0s6IERFTEVURSAxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDY5OiBx dWVyeTogc2VsZWN0IGNvdW50ICggKiApIGZyb20gTXlfVGFibGUgd2hlcmUg SXRlbSA9ICdmb29faXRlbSc7IHdpdGggMCBwYXJhbWV0ZXIocykgb24gY29u bmVjdGlvbiByZWdyZXNzMQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBz dGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA2 OTogdXNpbmcgUFFleGVjCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0 YXRlOiAwMDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDY5 OiBjb3JyZWN0bHkgZ290IDEgdHVwbGVzIHdpdGggMSBmaWVsZHMKK1tOT19Q SURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElEXTog ZWNwZ19nZXRfZGF0YSBvbiBsaW5lIDY5OiBSRVNVTFQ6IDAgb2Zmc2V0OiAt MTsgYXJyYXk6IG5vCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRl OiAwMDAwMAorW05PX1BJRF06IGRlYWxsb2NhdGVfb25lIG9uIGxpbmUgNzE6 IG5hbWUgc3RtdAorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTog MDAwMDAKK1tOT19QSURdOiBwcmVwYXJlX2NvbW1vbiBvbiBsaW5lIDczOiBu YW1lIHN0bXQ7IHF1ZXJ5OiAiSU5TRVJUIElOVE8gTXlfVGFibGUgdmFsdWVz ICgkMSwgMykiCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAw MDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDc0OiBxdWVy eTogSU5TRVJUIElOVE8gTXlfVGFibGUgdmFsdWVzICgkMSwgMyk7IHdpdGgg MSBwYXJhbWV0ZXIocykgb24gY29ubmVjdGlvbiByZWdyZXNzMQorW05PX1BJ RF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBl Y3BnX2V4ZWN1dGUgb24gbGluZSA3NDogdXNpbmcgUFFleGVjUHJlcGFyZWQg Zm9yICJJTlNFUlQgSU5UTyBNeV9UYWJsZSB2YWx1ZXMgKCQxLCAzKSIKK1tO T19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9fUElE XTogZnJlZV9wYXJhbXMgb24gbGluZSA3NDogcGFyYW1ldGVyIDEgPSBmb29f aXRlbQorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTogMDAwMDAK K1tOT19QSURdOiBlY3BnX2V4ZWN1dGUgb24gbGluZSA3NDogT0s6IElOU0VS VCAwIDEKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAw CitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNzU6IHF1ZXJ5OiBz ZWxlY3QgY291bnQgZnJvbSBNeV9UYWJsZSB3aGVyZSBJdGVtID0gJ2Zvb19p dGVtJzsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9uIHJlZ3Jl c3MxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAor W05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDc1OiB1c2luZyBQUWV4 ZWMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitb Tk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNzU6IGNvcnJlY3RseSBn b3QgMSB0dXBsZXMgd2l0aCAxIGZpZWxkcworW05PX1BJRF06IHNxbGNhOiBj b2RlOiAwLCBzdGF0ZTogMDAwMDAKK1tOT19QSURdOiBlY3BnX2dldF9kYXRh IG9uIGxpbmUgNzU6IFJFU1VMVDogMyBvZmZzZXQ6IC0xOyBhcnJheTogbm8K K1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAwMDAwCitbTk9f UElEXTogZGVhbGxvY2F0ZV9vbmUgb24gbGluZSA3NzogbmFtZSBzdG10Citb Tk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAwMDAwMAorW05PX1BJ RF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDc5OiBxdWVyeTogZHJvcCB0YWJs ZSBNeV9UYWJsZTsgd2l0aCAwIHBhcmFtZXRlcihzKSBvbiBjb25uZWN0aW9u IHJlZ3Jlc3MxCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAw MDAwMAorW05PX1BJRF06IGVjcGdfZXhlY3V0ZSBvbiBsaW5lIDc5OiB1c2lu ZyBQUWV4ZWMKK1tOT19QSURdOiBzcWxjYTogY29kZTogMCwgc3RhdGU6IDAw MDAwCitbTk9fUElEXTogZWNwZ19leGVjdXRlIG9uIGxpbmUgNzk6IE9LOiBE Uk9QIFRBQkxFCitbTk9fUElEXTogc3FsY2E6IGNvZGU6IDAsIHN0YXRlOiAw MDAwMAorW05PX1BJRF06IGVjcGdfZmluaXNoOiBjb25uZWN0aW9uIHJlZ3Jl c3MxIGNsb3NlZAorW05PX1BJRF06IHNxbGNhOiBjb2RlOiAwLCBzdGF0ZTog MDAwMDAKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMv aW50ZXJmYWNlcy9lY3BnL3Rlc3QvZXhwZWN0ZWQvc3FsLW52YXJjaGFyLnN0 ZG91dCBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2ludGVy ZmFjZXMvZWNwZy90ZXN0L2V4cGVjdGVkL3NxbC1udmFyY2hhci5zdGRvdXQK LS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvaW50ZXJmYWNlcy9l Y3BnL3Rlc3QvZXhwZWN0ZWQvc3FsLW52YXJjaGFyLnN0ZG91dAkxOTcwLTAx LTAxIDEwOjAwOjAwLjAwMDAwMDAwMCArMTAwMAorKysgcG9zdGdyZXNxbC1o ZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9l eHBlY3RlZC9zcWwtbnZhcmNoYXIuc3Rkb3V0CTIwMTMtMTAtMTcgMTE6NTY6 MjIuMDAwMDAwMDAwICsxMTAwCkBAIC0wLDAgKzEsMTAgQEAKK0l0ZW09J2Zv b19pdGVtJworY291bnQ9MSBmb3IgSXRlbT0nZm9vX2l0ZW0nCitjb3VudD0y IGZvciBJdGVtPSdmb29faXRlbScKK2ZvdW5kIDAgcm93cyBmb3IgSXRlbT0n Zm9vX2l0ZW0nCitjb3VudD0nMycgZm9yIEl0ZW09J2Zvb19pdGVtJworSXRl bT0nZm9vX2l0ZW0nCitjb3VudD0xIGZvciBJdGVtPSdmb29faXRlbScKK2Nv dW50PTIgZm9yIEl0ZW09J2Zvb19pdGVtJworZm91bmQgMCByb3dzIGZvciBJ dGVtPSdmb29faXRlbScKK2NvdW50PSczJyBmb3IgSXRlbT0nZm9vX2l0ZW0n CmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2ludGVy ZmFjZXMvZWNwZy90ZXN0L3ByZXByb2MvdHlwZS5wZ2MgcG9zdGdyZXNxbC1o ZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbnRlcmZhY2VzL2VjcGcvdGVzdC9w cmVwcm9jL3R5cGUucGdjCi0tLSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcv c3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L3ByZXByb2MvdHlwZS5wZ2MJMjAx My0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzExMDAKKysrIHBvc3RncmVz cWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rl c3QvcHJlcHJvYy90eXBlLnBnYwkyMDEzLTEwLTMxIDExOjI0OjQyLjAwMDAw MDAwMCArMTEwMApAQCAtMzQsOSArMzQsMTYgQEAKICAgCWludCBsZW47CiAJ Y2hhciB0ZXh0WzEwXTsKICAgfSB2YzsKKyAgc3RydWN0IG52YXJjaGFyCisg IHsKKwlpbnQgbGVuOworCWNoYXIgdGV4dFsxMF07CisgIH0gbnZjOworCiAg IEVYRUMgU1FMIEVORCBERUNMQVJFIFNFQ1RJT047CiAKICAgRVhFQyBTUUwg dmFyIHZjIGlzIHZhcmNoYXJbMTBdOworICBFWEVDIFNRTCB2YXIgbnZjIGlz IG52YXJjaGFyWzEwXTsKICAgRUNQR2RlYnVnICgxLCBzdGRlcnIpOwogCiAg IGVtcGwuaWRudW0gPSAxOwpAQCAtNDgsMjIgKzU1LDIyIEBACiAgICAgfQog CiAgIEVYRUMgU1FMIGNyZWF0ZSB0YWJsZSBlbXBsCi0gICAgKGlkbnVtIGlu dGVnZXIsIG5hbWUgY2hhcigyMCksIGFjY3Mgc21hbGxpbnQsIHN0cmluZzEg Y2hhcigxMCksIHN0cmluZzIgY2hhcigxMCksIHN0cmluZzMgY2hhcigxMCkp OworICAgIChpZG51bSBpbnRlZ2VyLCBuYW1lIGNoYXIoMjApLCBhY2NzIHNt YWxsaW50LCBzdHJpbmcxIGNoYXIoMTApLCBzdHJpbmcyIGNoYXIoMTApLCBz dHJpbmczIGNoYXIoMTApLCBzdHJpbmc0IGNoYXIoMTApKTsKICAgaWYgKHNx bGNhLnNxbGNvZGUpCiAgICAgewogICAgICAgcHJpbnRmICgiY3JlYXRlIGVy cm9yID0gJWxkXG4iLCBzcWxjYS5zcWxjb2RlKTsKICAgICAgIGV4aXQgKHNx bGNhLnNxbGNvZGUpOwogICAgIH0KIAotICBFWEVDIFNRTCBpbnNlcnQgaW50 byBlbXBsIHZhbHVlcyAoMSwgJ3VzZXIgbmFtZScsIDMyMCwgJ2ZpcnN0IHN0 cicsICdzZWNvbmQgc3RyJywgJ3RoaXJkIHN0cicpOworICBFWEVDIFNRTCBp bnNlcnQgaW50byBlbXBsIHZhbHVlcyAoMSwgJ3VzZXIgbmFtZScsIDMyMCwg J2ZpcnN0IHN0cicsICdzZWNvbmQgc3RyJywgJ3RoaXJkIHN0cicsICdmb3Vy dGggc3RyJyk7CiAgIGlmIChzcWxjYS5zcWxjb2RlKQogICAgIHsKICAgICAg IHByaW50ZiAoImluc2VydCBlcnJvciA9ICVsZFxuIiwgc3FsY2Euc3FsY29k ZSk7CiAgICAgICBleGl0IChzcWxjYS5zcWxjb2RlKTsKICAgICB9CiAKLSAg RVhFQyBTUUwgc2VsZWN0IGlkbnVtLCBuYW1lLCBhY2NzLCBzdHJpbmcxLCBz dHJpbmcyLCBzdHJpbmczCi0JaW50byA6ZW1wbCwgOnN0ciwgOnB0ciwgOnZj CisgIEVYRUMgU1FMIHNlbGVjdCBpZG51bSwgbmFtZSwgYWNjcywgc3RyaW5n MSwgc3RyaW5nMiwgc3RyaW5nMywgc3RyaW5nNCAKKwlpbnRvIDplbXBsLCA6 c3RyLCA6cHRyLCA6dmMsIDpudmMKIAlmcm9tIGVtcGwKIAl3aGVyZSBpZG51 bSA9OmVtcGwuaWRudW07CiAgIGlmIChzcWxjYS5zcWxjb2RlKQpAQCAtNzEs NyArNzgsNyBAQAogICAgICAgcHJpbnRmICgic2VsZWN0IGVycm9yID0gJWxk XG4iLCBzcWxjYS5zcWxjb2RlKTsKICAgICAgIGV4aXQgKHNxbGNhLnNxbGNv ZGUpOwogICAgIH0KLSAgcHJpbnRmICgiaWQ9JWxkIG5hbWU9JyVzJyBhY2Nz PSVkIHN0cj0nJXMnIHB0cj0nJXMnIHZjPSclMTAuMTBzJ1xuIiwgZW1wbC5p ZG51bSwgZW1wbC5uYW1lLCBlbXBsLmFjY3MsIHN0ciwgcHRyLCB2Yy50ZXh0 KTsKKyAgcHJpbnRmICgiaWQ9JWxkIG5hbWU9JyVzJyBhY2NzPSVkIHN0cj0n JXMnIHB0cj0nJXMnIHZjPSclMTAuMTBzJyB2Yy5sZW49JyVkJyBudmM9JyUx MC4xMHMnIG52Yy5sZW49JyVkJ1xuIiwgZW1wbC5pZG51bSwgZW1wbC5uYW1l LCBlbXBsLmFjY3MsIHN0ciwgcHRyLCB2Yy50ZXh0LCB2Yy5sZW4sIG52Yy50 ZXh0LCBudmMubGVuKTsKIAogICBFWEVDIFNRTCBkaXNjb25uZWN0OwogCmRp ZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL2ludGVyZmFj ZXMvZWNwZy90ZXN0L3NxbC9NYWtlZmlsZSBwb3N0Z3Jlc3FsLWhlYWQtMjAx MzEwMTctbmNoYXIvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L3NxbC9NYWtl ZmlsZQotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy9pbnRlcmZh Y2VzL2VjcGcvdGVzdC9zcWwvTWFrZWZpbGUJMjAxMy0xMC0xNyAwNDoyMjo1 NS4wMDAwMDAwMDAgKzExMDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAx Ny1uY2hhci9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3Qvc3FsL01ha2VmaWxl CTIwMTMtMTAtMTcgMTE6NTY6MjIuMDAwMDAwMDAwICsxMTAwCkBAIC0yMiw3 ICsyMiw5IEBACiAgICAgICAgIHBhcnNlciBwYXJzZXIuYyBcCiAgICAgICAg IHF1b3RlIHF1b3RlLmMgXAogICAgICAgICBzaG93IHNob3cuYyBcCi0gICAg ICAgIGluc3VwZCBpbnN1cGQuYworICAgICAgICBpbnN1cGQgaW5zdXBkLmMg XAorCW5jaGFyIG5jaGFyLmMgXAorCW52YXJjaGFyIG52YXJjaGFyLmMKIAog YWxsOiAkKFRFU1RTKQogCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAx MzEwMTcvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L3NxbC9uY2hhci5wZ2Mg cG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbnRlcmZhY2Vz L2VjcGcvdGVzdC9zcWwvbmNoYXIucGdjCi0tLSBwb3N0Z3Jlc3FsLWhlYWQt MjAxMzEwMTcvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0L3NxbC9uY2hhci5w Z2MJMTk3MC0wMS0wMSAxMDowMDowMC4wMDAwMDAwMDAgKzEwMDAKKysrIHBv c3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvaW50ZXJmYWNlcy9l Y3BnL3Rlc3Qvc3FsL25jaGFyLnBnYwkyMDEzLTEwLTMxIDE0OjQ5OjIyLjAw MDAwMDAwMCArMTEwMApAQCAtMCwwICsxLDgzIEBACisjaW5jbHVkZSA8c3Rk aW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcu aD4KKworRVhFQyBTUUwgSU5DTFVERSAuLi9yZWdyZXNzaW9uOworCitpbnQg bWFpbigpIHsKKwlFWEVDIFNRTCBCRUdJTiBERUNMQVJFIFNFQ1RJT047CisJ CU5DSEFSCW5jaGFyX3Zhcls0MF07CisJCWNoYXIJY291bnRbMTBdOworCUVY RUMgU1FMIEVORCBERUNMQVJFIFNFQ1RJT047CisKKwlFQ1BHZGVidWcoMSwg c3RkZXJyKTsKKwlFWEVDIFNRTCBDT05ORUNUIFRPIFJFR1JFU1NEQjE7CisK KwlFWEVDIFNRTCBTRVQgQVVUT0NPTU1JVCBUTyBPTjsKKwlFWEVDIFNRTCBX SEVORVZFUiBTUUxXQVJOSU5HIFNRTFBSSU5UOworCUVYRUMgU1FMIFdIRU5F VkVSIFNRTEVSUk9SIFNRTFBSSU5UOworCisJLyppbml0aWFsaXphdGlvbiBv ZiB0ZXN0IHRhYmxlKi8KKwlFWEVDIFNRTCBDUkVBVEUgVEFCTEUgTXlfVGFi bGUgKEl0ZW0gdmFyY2hhciwgQ291bnQgaW50ZWdlcik7CisKKwkvKnJlaW5p dGFsaXphdGlvbiovCisJRVhFQyBTUUwgVFJVTkNBVEUgTXlfVGFibGU7CisJ RVhFQyBTUUwgSU5TRVJUIElOVE8gTXlfVGFibGUgVkFMVUVTICgnZm9vX2l0 ZW0nLCAxKTsKKwkvKnNpbXBsZSBzZWxlY3QgaW50byBOQ0hBUiovCisJRVhF QyBTUUwgU0VMRUNUIEl0ZW0gSU5UTyA6bmNoYXJfdmFyIEZST00gTXlfVGFi bGUgTElNSVQgMTsgCisJcHJpbnRmICgiSXRlbT0nJXMnXG4iLCBuY2hhcl92 YXIpOworCS8qc2ltcGxlIHNlbGVjdCB1c2luZyBOQ0hBUiovCisJRVhFQyBT UUwgU0VMRUNUIENvdW50IElOVE8gOmNvdW50IEZST00gTXlfVGFibGUgV0hF UkUgSXRlbT06bmNoYXJfdmFyOworCXByaW50ZiAoImNvdW50PSVzIGZvciBJ dGVtPSclcydcbiIsIGNvdW50LCBuY2hhcl92YXIpOworCS8qc2ltcGxlIHVw ZGF0ZSB1c2luZyBOQ0hBUiovCisJRVhFQyBTUUwgVVBEQVRFIE15X1RhYmxl IFNFVCBDb3VudD1Db3VudCsxIFdIRVJFIEl0ZW09Om5jaGFyX3ZhcjsKKwlF WEVDIFNRTCBTRUxFQ1QgQ291bnQgSU5UTyA6Y291bnQgRlJPTSBNeV9UYWJs ZSBXSEVSRSBJdGVtPSdmb29faXRlbSc7CisJcHJpbnRmICgiY291bnQ9JXMg Zm9yIEl0ZW09J2Zvb19pdGVtJ1xuIiwgY291bnQpOworCS8qc2ltcGxlIGRl bGV0ZSB1c2luZyBOQ0hBUiovCisJRVhFQyBTUUwgREVMRVRFIEZST00gTXlf VGFibGUgV0hFUkUgSXRlbT06bmNoYXJfdmFyOworCUVYRUMgU1FMIFNFTEVD VCBjb3VudCgqKSBJTlRPIDpjb3VudCBGUk9NIE15X1RhYmxlIFdIRVJFIEl0 ZW09J2Zvb19pdGVtJzsKKwlwcmludGYgKCJmb3VuZCAlcyByb3dzIGZvciBJ dGVtPSdmb29faXRlbSdcbiIsIGNvdW50KTsKKwkvKnNpbXBsZSBpbnNlcnQg dXNpbmcgTkNIQVIqLworCUVYRUMgU1FMIElOU0VSVCBJTlRPIE15X1RhYmxl IHZhbHVlcyAoOm5jaGFyX3ZhciwgMyk7CisJRVhFQyBTUUwgU0VMRUNUIENv dW50IElOVE8gOmNvdW50IEZST00gTXlfVGFibGUgV0hFUkUgSXRlbT0nZm9v X2l0ZW0nOworCXByaW50ZiAoImNvdW50PSclcycgZm9yIEl0ZW09J2Zvb19p dGVtJ1xuIiwgY291bnQpOworCisJLypwcmVwYXJlZCB0ZXN0cyovCisJLypy ZWluaXRhbGl6YXRpb24qLworCUVYRUMgU1FMIFRSVU5DQVRFIE15X1RhYmxl OworCUVYRUMgU1FMIElOU0VSVCBJTlRPIE15X1RhYmxlIFZBTFVFUyAoJ2Zv b19pdGVtJywgMSk7CisJLypwcmVwYXJlZCBzZWxlY3QgaW50byBOQ0hBUiov CisJRVhFQyBTUUwgUFJFUEFSRSBzdG10IEZST00gIlNFTEVDVCBJdGVtIEZS T00gTXlfVGFibGUgTElNSVQgMSI7CisJRVhFQyBTUUwgRVhFQ1VURSBzdG10 IElOVE8gOm5jaGFyX3ZhcjsKKwlwcmludGYgKCJJdGVtPSclcydcbiIsIG5j aGFyX3Zhcik7CisJRVhFQyBTUUwgREVBTExPQ0FURSBQUkVQQVJFIHN0bXQ7 IAorCS8qcHJlcGFyZWQgc2VsZWN0IHVzaW5nIE5DSEFSKi8KKwlFWEVDIFNR TCBQUkVQQVJFIHN0bXQgRlJPTSAiU0VMRUNUIENvdW50IEZST00gTXlfVGFi bGUgV0hFUkUgSXRlbT0/IjsKKwlFWEVDIFNRTCBFWEVDVVRFIHN0bXQgSU5U TyA6Y291bnQgVVNJTkcgOm5jaGFyX3ZhcjsKKwlwcmludGYgKCJjb3VudD0l cyBmb3IgSXRlbT0nZm9vX2l0ZW0nXG4iLCBjb3VudCk7CisJRVhFQyBTUUwg REVBTExPQ0FURSBQUkVQQVJFIHN0bXQ7CisJLypwcmVwYXJlZCB1cGRhdGUg dXNpbmcgTkNIQVIqLworCUVYRUMgU1FMIFBSRVBBUkUgc3RtdCBGUk9NICJV UERBVEUgTXlfVGFibGUgU0VUIENvdW50PUNvdW50KzEgV0hFUkUgSXRlbT0/ IjsKKwlFWEVDIFNRTCBFWEVDVVRFIHN0bXQgVVNJTkcgOm5jaGFyX3ZhcjsK KwlFWEVDIFNRTCBTRUxFQ1QgQ291bnQgSU5UTyA6Y291bnQgRlJPTSBNeV9U YWJsZSBXSEVSRSBJdGVtPSdmb29faXRlbSc7CisJcHJpbnRmICgiY291bnQ9 JXMgZm9yIEl0ZW09J2Zvb19pdGVtJ1xuIiwgY291bnQpOworCUVYRUMgU1FM IERFQUxMT0NBVEUgUFJFUEFSRSBzdG10OworCS8qcHJlcGFyZWQgZGVsZXRl IHVzaW5nIE5DSEFSKi8KKwlFWEVDIFNRTCBQUkVQQVJFIHN0bXQgRlJPTSAi REVMRVRFIEZST00gTXlfVGFibGUgV0hFUkUgSXRlbT0/IjsKKwlFWEVDIFNR TCBFWEVDVVRFIHN0bXQgVVNJTkcgOm5jaGFyX3ZhcjsKKwlFWEVDIFNRTCBT RUxFQ1QgY291bnQoKikgSU5UTyA6Y291bnQgRlJPTSBNeV9UYWJsZSBXSEVS RSBJdGVtPSdmb29faXRlbSc7CisJcHJpbnRmICgiZm91bmQgJXMgcm93cyBm b3IgSXRlbT0nZm9vX2l0ZW0nXG4iLCBjb3VudCk7CisJRVhFQyBTUUwgREVB TExPQ0FURSBQUkVQQVJFIHN0bXQ7CisJLypwcmVwYXJlZCBpbnNlcnQgdXNp bmcgTkNIQVIqLworCUVYRUMgU1FMIFBSRVBBUkUgc3RtdCBGUk9NICJJTlNF UlQgSU5UTyBNeV9UYWJsZSB2YWx1ZXMgKD8sIDMpIjsKKwlFWEVDIFNRTCBF WEVDVVRFIHN0bXQgVVNJTkcgOm5jaGFyX3ZhcjsKKwlFWEVDIFNRTCBTRUxF Q1QgQ291bnQgSU5UTyA6Y291bnQgRlJPTSBNeV9UYWJsZSBXSEVSRSBJdGVt PSdmb29faXRlbSc7CisJcHJpbnRmICgiY291bnQ9JyVzJyBmb3IgSXRlbT0n Zm9vX2l0ZW0nXG4iLCBjb3VudCk7CisJRVhFQyBTUUwgREVBTExPQ0FURSBQ UkVQQVJFIHN0bXQ7CisKKwlFWEVDIFNRTCBEUk9QIFRBQkxFIE15X1RhYmxl OworCUVYRUMgU1FMIERJU0NPTk5FQ1QgQUxMOworCisJcmV0dXJuIDA7Cit9 CisKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvaW50 ZXJmYWNlcy9lY3BnL3Rlc3Qvc3FsL252YXJjaGFyLnBnYyBwb3N0Z3Jlc3Fs LWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL2ludGVyZmFjZXMvZWNwZy90ZXN0 L3NxbC9udmFyY2hhci5wZ2MKLS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAx Ny9zcmMvaW50ZXJmYWNlcy9lY3BnL3Rlc3Qvc3FsL252YXJjaGFyLnBnYwkx OTcwLTAxLTAxIDEwOjAwOjAwLjAwMDAwMDAwMCArMTAwMAorKysgcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy9pbnRlcmZhY2VzL2VjcGcv dGVzdC9zcWwvbnZhcmNoYXIucGdjCTIwMTMtMTAtMzEgMTQ6NTA6NTMuMDAw MDAwMDAwICsxMTAwCkBAIC0wLDAgKzEsODQgQEAKKyNpbmNsdWRlIDxzdGRp by5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5o PgorCitFWEVDIFNRTCBJTkNMVURFIC4uL3JlZ3Jlc3Npb247CisKK2ludCBt YWluKCkgeworCUVYRUMgU1FMIEJFR0lOIERFQ0xBUkUgU0VDVElPTjsKKwkJ TlZBUkNIQVIgbnZhcmNoYXJfdmFyWzQwXTsKKwkJY2hhcgljb3VudFsxMF07 CisJRVhFQyBTUUwgRU5EIERFQ0xBUkUgU0VDVElPTjsKKworCUVDUEdkZWJ1 ZygxLCBzdGRlcnIpOworCUVYRUMgU1FMIENPTk5FQ1QgVE8gUkVHUkVTU0RC MTsKKworCUVYRUMgU1FMIFNFVCBBVVRPQ09NTUlUIFRPIE9OOworCUVYRUMg U1FMIFdIRU5FVkVSIFNRTFdBUk5JTkcgU1FMUFJJTlQ7CisJRVhFQyBTUUwg V0hFTkVWRVIgU1FMRVJST1IgU1FMUFJJTlQ7CisKKwkvKmluaXRpYWxpemF0 aW9uIG9mIHRlc3QgdGFibGUqLworCUVYRUMgU1FMIENSRUFURSBUQUJMRSBN eV9UYWJsZSAoSXRlbSB2YXJjaGFyLCBDb3VudCBpbnRlZ2VyKTsKKworCS8q c2ltcGxlIHRlc3RzKi8KKwkvKnJlaW5pdGFsaXphdGlvbiovCisJRVhFQyBT UUwgVFJVTkNBVEUgTXlfVGFibGU7CisJRVhFQyBTUUwgSU5TRVJUIElOVE8g TXlfVGFibGUgVkFMVUVTICgnZm9vX2l0ZW0nLCAxKTsKKwkvKnNpbXBsZSBz ZWxlY3QgaW50byBOVkFSQ0hBUiovCisJRVhFQyBTUUwgU0VMRUNUIEl0ZW0g SU5UTyA6bnZhcmNoYXJfdmFyIEZST00gTXlfVGFibGUgTElNSVQgMTsKKwlw cmludGYgKCJJdGVtPSclcydcbiIsIG52YXJjaGFyX3Zhci5hcnIpOworCS8q c2ltcGxlIHNlbGVjdCB1c2luZyBOVkFSQ0hBUiovCisJRVhFQyBTUUwgU0VM RUNUIENvdW50IElOVE8gOmNvdW50IEZST00gTXlfVGFibGUgV0hFUkUgSXRl bT06bnZhcmNoYXJfdmFyOworCXByaW50ZiAoImNvdW50PSVzIGZvciBJdGVt PSclcydcbiIsIGNvdW50LCBudmFyY2hhcl92YXIuYXJyKTsKKwkvKnNpbXBs ZSB1cGRhdGUgdXNpbmcgTlZBUkNIQVIqLworCUVYRUMgU1FMIFVQREFURSBN eV9UYWJsZSBTRVQgQ291bnQ9Q291bnQrMSBXSEVSRSBJdGVtPTpudmFyY2hh cl92YXI7CisJRVhFQyBTUUwgU0VMRUNUIENvdW50IElOVE8gOmNvdW50IEZS T00gTXlfVGFibGUgV0hFUkUgSXRlbT0nZm9vX2l0ZW0nOworCXByaW50ZiAo ImNvdW50PSVzIGZvciBJdGVtPSdmb29faXRlbSdcbiIsIGNvdW50KTsKKwkv KnNpbXBsZSBkZWxldGUgdXNpbmcgTlZBUkNIQVIqLworCUVYRUMgU1FMIERF TEVURSBGUk9NIE15X1RhYmxlIFdIRVJFIEl0ZW09Om52YXJjaGFyX3ZhcjsK KwlFWEVDIFNRTCBTRUxFQ1QgY291bnQoKikgSU5UTyA6Y291bnQgRlJPTSBN eV9UYWJsZSBXSEVSRSBJdGVtPSdmb29faXRlbSc7CisJcHJpbnRmICgiZm91 bmQgJXMgcm93cyBmb3IgSXRlbT0nZm9vX2l0ZW0nXG4iLCBjb3VudCk7CisJ LypzaW1wbGUgaW5zZXJ0IHVzaW5nIE5WQVJDSEFSKi8KKwlFWEVDIFNRTCBJ TlNFUlQgSU5UTyBNeV9UYWJsZSB2YWx1ZXMgKDpudmFyY2hhcl92YXIsIDMp OworCUVYRUMgU1FMIFNFTEVDVCBDb3VudCBJTlRPIDpjb3VudCBGUk9NIE15 X1RhYmxlIFdIRVJFIEl0ZW09J2Zvb19pdGVtJzsKKwlwcmludGYgKCJjb3Vu dD0nJXMnIGZvciBJdGVtPSdmb29faXRlbSdcbiIsIGNvdW50KTsKKworCS8q cHJlcGFyZWQgdGVzdHMqLworCS8qcmVpbml0YWxpemF0aW9uKi8KKwlFWEVD IFNRTCBUUlVOQ0FURSBNeV9UYWJsZTsKKwlFWEVDIFNRTCBJTlNFUlQgSU5U TyBNeV9UYWJsZSBWQUxVRVMgKCdmb29faXRlbScsIDEpOworCS8qcHJlcGFy ZWQgc2VsZWN0IGludG8gTlZBUkNIQVIqLworCUVYRUMgU1FMIFBSRVBBUkUg c3RtdCBGUk9NICJTRUxFQ1QgSXRlbSBGUk9NIE15X1RhYmxlIExJTUlUIDEi OworCUVYRUMgU1FMIEVYRUNVVEUgc3RtdCBJTlRPIDpudmFyY2hhcl92YXI7 CisJcHJpbnRmICgiSXRlbT0nJXMnXG4iLCBudmFyY2hhcl92YXIuYXJyKTsK KwlFWEVDIFNRTCBERUFMTE9DQVRFIFBSRVBBUkUgc3RtdDsKKwkvKnByZXBh cmVkIHNlbGVjdCB1c2luZyBOVkFSQ0hBUiovCisJRVhFQyBTUUwgUFJFUEFS RSBzdG10IEZST00gIlNFTEVDVCBDb3VudCBGUk9NIE15X1RhYmxlIFdIRVJF IEl0ZW09PyI7CisJRVhFQyBTUUwgRVhFQ1VURSBzdG10IElOVE8gOmNvdW50 IFVTSU5HIDpudmFyY2hhcl92YXI7CisJcHJpbnRmICgiY291bnQ9JXMgZm9y IEl0ZW09J2Zvb19pdGVtJ1xuIiwgY291bnQpOworCUVYRUMgU1FMIERFQUxM T0NBVEUgUFJFUEFSRSBzdG10OworCS8qcHJlcGFyZWQgdXBkYXRlIHVzaW5n IE5WQVJDSEFSKi8KKwlFWEVDIFNRTCBQUkVQQVJFIHN0bXQgRlJPTSAiVVBE QVRFIE15X1RhYmxlIFNFVCBDb3VudD1Db3VudCsxIFdIRVJFIEl0ZW09PyI7 CisJRVhFQyBTUUwgRVhFQ1VURSBzdG10IFVTSU5HIDpudmFyY2hhcl92YXI7 CisJRVhFQyBTUUwgU0VMRUNUIENvdW50IElOVE8gOmNvdW50IEZST00gTXlf VGFibGUgV0hFUkUgSXRlbT0nZm9vX2l0ZW0nOworCXByaW50ZiAoImNvdW50 PSVzIGZvciBJdGVtPSdmb29faXRlbSdcbiIsIGNvdW50KTsKKwlFWEVDIFNR TCBERUFMTE9DQVRFIFBSRVBBUkUgc3RtdDsKKwkvKnByZXBhcmVkIGRlbGV0 ZSB1c2luZyBOVkFSQ0hBUiovCisJRVhFQyBTUUwgUFJFUEFSRSBzdG10IEZS T00gIkRFTEVURSBGUk9NIE15X1RhYmxlIFdIRVJFIEl0ZW09PyI7CisJRVhF QyBTUUwgRVhFQ1VURSBzdG10IFVTSU5HIDpudmFyY2hhcl92YXI7CisJRVhF QyBTUUwgU0VMRUNUIGNvdW50KCopIElOVE8gOmNvdW50IEZST00gTXlfVGFi bGUgV0hFUkUgSXRlbT0nZm9vX2l0ZW0nOworCXByaW50ZiAoImZvdW5kICVz IHJvd3MgZm9yIEl0ZW09J2Zvb19pdGVtJ1xuIiwgY291bnQpOworCUVYRUMg U1FMIERFQUxMT0NBVEUgUFJFUEFSRSBzdG10OworCS8qcHJlcGFyZWQgaW5z ZXJ0IHVzaW5nIE5WQVJDSEFSKi8KKwlFWEVDIFNRTCBQUkVQQVJFIHN0bXQg RlJPTSAiSU5TRVJUIElOVE8gTXlfVGFibGUgdmFsdWVzICg/LCAzKSI7CisJ RVhFQyBTUUwgRVhFQ1VURSBzdG10IFVTSU5HIDpudmFyY2hhcl92YXI7CisJ RVhFQyBTUUwgU0VMRUNUIENvdW50IElOVE8gOmNvdW50IEZST00gTXlfVGFi bGUgV0hFUkUgSXRlbT0nZm9vX2l0ZW0nOworCXByaW50ZiAoImNvdW50PScl cycgZm9yIEl0ZW09J2Zvb19pdGVtJ1xuIiwgY291bnQpOworCUVYRUMgU1FM IERFQUxMT0NBVEUgUFJFUEFSRSBzdG10OworCisJRVhFQyBTUUwgRFJPUCBU QUJMRSBNeV9UYWJsZTsKKwlFWEVDIFNRTCBESVNDT05ORUNUIEFMTDsKKwor CXJldHVybiAwOworfQorCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAx MzEwMTcvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfZnVuY3Rp b25fMy5vdXQgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX2Z1bmN0aW9uXzMub3V0Ci0t LSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9jcmVhdGVfZnVuY3Rpb25fMy5vdXQJMjAxMy0xMC0xNyAwNDoy Mjo1NS4wMDAwMDAwMDAgKzExMDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEz MTAxNy1uY2hhci9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9m dW5jdGlvbl8zLm91dAkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAwMDAwMCAr MTEwMApAQCAtMzA4LDYgKzMwOCw4IEBACiAgbmFtZWxlICAgICAgICAgfCBi b29sZWFuICAgIHwgWzA6MV09e25hbWUsbmFtZX0KICBuYW1lbHQgICAgICAg ICB8IGJvb2xlYW4gICAgfCBbMDoxXT17bmFtZSxuYW1lfQogIG5hbWVuZSAg ICAgICAgIHwgYm9vbGVhbiAgICB8IFswOjFdPXtuYW1lLG5hbWV9CisgbmJw Y2hhcmVxICAgICAgfCBib29sZWFuICAgIHwgWzA6MV09eyJuYXRpb25hbCBj aGFyYWN0ZXIiLCJuYXRpb25hbCBjaGFyYWN0ZXIifQorIG5icGNoYXJuZSAg ICAgIHwgYm9vbGVhbiAgICB8IFswOjFdPXsibmF0aW9uYWwgY2hhcmFjdGVy IiwibmF0aW9uYWwgY2hhcmFjdGVyIn0KICBuZXR3b3JrX2VxICAgICB8IGJv b2xlYW4gICAgfCBbMDoxXT17aW5ldCxpbmV0fQogIG5ldHdvcmtfZ2UgICAg IHwgYm9vbGVhbiAgICB8IFswOjFdPXtpbmV0LGluZXR9CiAgbmV0d29ya19n dCAgICAgfCBib29sZWFuICAgIHwgWzA6MV09e2luZXQsaW5ldH0KQEAgLTM4 Myw3ICszODUsNyBAQAogIHZhcmJpdGx0ICAgICAgIHwgYm9vbGVhbiAgICB8 IFswOjFdPXsiYml0IHZhcnlpbmciLCJiaXQgdmFyeWluZyJ9CiAgdmFyYml0 bmUgICAgICAgfCBib29sZWFuICAgIHwgWzA6MV09eyJiaXQgdmFyeWluZyIs ImJpdCB2YXJ5aW5nIn0KICB4aWRlcSAgICAgICAgICB8IGJvb2xlYW4gICAg fCBbMDoxXT17eGlkLHhpZH0KLSgyMjggcm93cykKKygyMzAgcm93cykKIAog LS0KIC0tIENBTExFRCBPTiBOVUxMIElOUFVUIHwgUkVUVVJOUyBOVUxMIE9O IE5VTEwgSU5QVVQgfCBTVFJJQ1QKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVh ZC0yMDEzMTAxNy9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL25fdGVzdC5v dXQgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvbl90ZXN0Lm91dAotLS0gcG9zdGdyZXNxbC1oZWFk LTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbl90ZXN0Lm91 dAkxOTcwLTAxLTAxIDEwOjAwOjAwLjAwMDAwMDAwMCArMTAwMAorKysgcG9z dGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvbl90ZXN0Lm91dAkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAw MDAwMCArMTEwMApAQCAtMCwwICsxLDgxIEBACitjcmVhdGUgZG9tYWluIHRl c3QxX25fZG9tYWluIGFzIHZhcmNoYXIgZGVmYXVsdCAoTidhJyk7CitjcmVh dGUgZG9tYWluIHRlc3QyX25fZG9tYWluIGFzIHZhcmNoYXIgQ0hFQ0sgKHZh bHVlIDw+IE4nYicpOworYWx0ZXIgZG9tYWluIHRlc3QxX25fZG9tYWluIHNl dCBkZWZhdWx0IChOJ2InKTsKK3ZhbHVlcyAoTidhJyk7CisgY29sdW1uMSAK Ky0tLS0tLS0tLQorIGEKKygxIHJvdykKKworY3JlYXRlIHRhYmxlIG5fdGVz dCAoZiB2YXJjaGFyIGRlZmF1bHQgTidhJywgdmFsIHZhcmNoYXIpOworaW5z ZXJ0IGludG8gbl90ZXN0IHZhbHVlcyAoTidhJywgJ3Rlc3RfdmFsJykgcmV0 dXJuaW5nIGY7CisgZiAKKy0tLQorIGEKKygxIHJvdykKKworU0VMRUNUIGYg ZnJvbSBuX3Rlc3Q7CisgZiAKKy0tLQorIGEKKygxIHJvdykKKworc2VsZWN0 IE4nYScgYXMgZiBpbnRvIG5fdGVzdDEgZnJvbSBuX3Rlc3Q7CitzZWxlY3Qg KiBmcm9tIG5fdGVzdDE7CisgZiAKKy0tLQorIGEKKygxIHJvdykKKworc2Vs ZWN0IE4nYScgYXMgZiBmcm9tIG5fdGVzdDsKKyBmIAorLS0tCisgYQorKDEg cm93KQorCitzZWxlY3QgdmFsIGZyb20gbl90ZXN0IHdoZXJlIGY9TidhJzsK KyAgIHZhbCAgICAKKy0tLS0tLS0tLS0KKyB0ZXN0X3ZhbAorKDEgcm93KQor Citjb3B5IChzZWxlY3QgTidhJyBmcm9tIG5fdGVzdCkgdG8gc3Rkb3V0Owor YQorYWx0ZXIgdGFibGUgbl90ZXN0IGFsdGVyIGYgc2V0IGRlZmF1bHQgTidh JzsKK3ByZXBhcmUgc3RtdCBBUyBzZWxlY3QgTidhJyBhcyBmIGZyb20gbl90 ZXN0OworZGVhbGxvY2F0ZSBzdG10OworY3JlYXRlIGluZGV4IGkgb24gbl90 ZXN0KChmfHxOJ2EnKSk7CitjcmVhdGUgdHJpZ2dlciB0ciBiZWZvcmUgdXBk YXRlIG9uIG5fdGVzdCBmb3IgZWFjaCByb3cgd2hlbiAoT0xELmY9TidhJykg RVhFQ1VURSBQUk9DRURVUkUgc3VwcHJlc3NfcmVkdW5kYW50X3VwZGF0ZXNf dHJpZ2dlcigpOworZG8gJCRiZWdpbiBwZXJmb3JtIE4nYScgZnJvbSBuX3Rl c3Q7IGVuZCAkJDsKK2NyZWF0ZSB2aWV3IHYgYXMgc2VsZWN0IE4nYScgYXMg ZiBmcm9tIG5fdGVzdDsKK3NlbGVjdCAqIGZyb20gdjsKKyBmIAorLS0tCisg YQorKDEgcm93KQorCithbHRlciB2aWV3IHYgYWx0ZXIgY29sdW1uIGYgc2V0 IGRlZmF1bHQgTidhJzsKK2JlZ2luO2RlY2xhcmUgYyBjdXJzb3IgZm9yIHNl bGVjdCBOJ2EnIGFzIGYgZnJvbSBuX3Rlc3Q7Y29tbWl0OworcHJlcGFyZSBz dG10KHZhcmNoYXIpIEFTIHNlbGVjdCB2YWwgZnJvbSBuX3Rlc3Qgd2hlcmUg Zj0kMTsKK2V4ZWN1dGUgc3RtdChOJ2EnKTsKKyAgIHZhbCAgICAKKy0tLS0t LS0tLS0KKyB0ZXN0X3ZhbAorKDEgcm93KQorCitkZWFsbG9jYXRlIHN0bXQ7 CitVUERBVEUgbl90ZXN0IFNFVCBmPU4nYic7CitTRUxFQ1QgKiBmcm9tIG5f dGVzdDsKKyBmIHwgICB2YWwgICAgCistLS0rLS0tLS0tLS0tLQorIGIgfCB0 ZXN0X3ZhbAorKDEgcm93KQorCitkZWxldGUgZnJvbSBuX3Rlc3Qgd2hlcmUg Zj1OJ2InOworQ1JFQVRFIEZVTkNUSU9OIGZvbyhmIHZhcmNoYXIgZGVmYXVs dCBOJ2EnKSByZXR1cm5zIHNldG9mIHZhcmNoYXIgYXMgJCRTRUxFQ1QgTidh JyBmcm9tIG5fdGVzdDskJCBMQU5HVUFHRSBTUUw7Citkcm9wIHZpZXcgdjsK K2Ryb3AgdGFibGUgbl90ZXN0OworZHJvcCB0YWJsZSBuX3Rlc3QxOworZHJv cCBmdW5jdGlvbiBmb28odmFyY2hhcik7Citkcm9wIGRvbWFpbiB0ZXN0MV9u X2RvbWFpbjsKK2Ryb3AgZG9tYWluIHRlc3QyX25fZG9tYWluOwpkaWZmIC11 TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvbmNoYXIub3V0IHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1u Y2hhci9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL25jaGFyLm91dAotLS0g cG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvbmNoYXIub3V0CTE5NzAtMDEtMDEgMTA6MDA6MDAuMDAwMDAwMDAw ICsxMDAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9uY2hhci5vdXQJMjAxMy0xMC0xNyAx MTo1NjoyMi4wMDAwMDAwMDAgKzExMDAKQEAgLTAsMCArMSwxMjIgQEAKKy0t CistLSBOQ0hBUgorLS0KKy0tIGZpeGVkLWxlbmd0aCBieSB2YWx1ZQorLS0g aW50ZXJuYWxseSBwYXNzZWQgYnkgdmFsdWUgaWYgPD0gNCBieXRlcyBpbiBz dG9yYWdlCitTRUxFQ1QgbmNoYXIgJ2MnID0gbmNoYXIgJ2MnIEFTIHRydWU7 CisgdHJ1ZSAKKy0tLS0tLQorIHQKKygxIHJvdykKKworLS0KKy0tIEJ1aWxk IGEgdGFibGUgZm9yIHRlc3RpbmcKKy0tCitDUkVBVEUgVEFCTEUgTkNIQVJf VEJMKGYxIG5jaGFyKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZB TFVFUyAoJ2EnKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVF UyAoJ0EnKTsKKy0tIGFueSBvZiB0aGUgZm9sbG93aW5nIHRocmVlIGlucHV0 IGZvcm1hdHMgYXJlIGFjY2VwdGFibGUKK0lOU0VSVCBJTlRPIE5DSEFSX1RC TCAoZjEpIFZBTFVFUyAoJzEnKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAo ZjEpIFZBTFVFUyAoMik7CitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBW QUxVRVMgKCczJyk7CistLSB6ZXJvLWxlbmd0aCBuY2hhcgorSU5TRVJUIElO VE8gTkNIQVJfVEJMIChmMSkgVkFMVUVTICgnJyk7CistLSB0cnkgbmNoYXIn cyBvZiBncmVhdGVyIHRoYW4gMSBsZW5ndGgKK0lOU0VSVCBJTlRPIE5DSEFS X1RCTCAoZjEpIFZBTFVFUyAoJ2NkJyk7CitFUlJPUjogIHZhbHVlIHRvbyBs b25nIGZvciB0eXBlIGNoYXJhY3RlcigxKQorSU5TRVJUIElOVE8gTkNIQVJf VEJMIChmMSkgVkFMVUVTICgnYyAgICAgJyk7CitTRUxFQ1QgJycgQVMgc2V2 ZW4sICogRlJPTSBOQ0hBUl9UQkw7Cisgc2V2ZW4gfCBmMSAKKy0tLS0tLS0r LS0tLQorICAgICAgIHwgYQorICAgICAgIHwgQQorICAgICAgIHwgMQorICAg ICAgIHwgMgorICAgICAgIHwgMworICAgICAgIHwgIAorICAgICAgIHwgYwor KDcgcm93cykKKworU0VMRUNUICcnIEFTIHNpeCwgYy4qCisgICBGUk9NIE5D SEFSX1RCTCBjCisgICBXSEVSRSBjLmYxIDw+ICdhJzsKKyBzaXggfCBmMSAK Ky0tLS0tKy0tLS0KKyAgICAgfCBBCisgICAgIHwgMQorICAgICB8IDIKKyAg ICAgfCAzCisgICAgIHwgIAorICAgICB8IGMKKyg2IHJvd3MpCisKK1NFTEVD VCAnJyBBUyBvbmUsIGMuKgorICAgRlJPTSBOQ0hBUl9UQkwgYworICAgV0hF UkUgYy5mMSA9ICdhJzsKKyBvbmUgfCBmMSAKKy0tLS0tKy0tLS0KKyAgICAg fCBhCisoMSByb3cpCisKK1NFTEVDVCAnJyBBUyBmaXZlLCBjLioKKyAgIEZS T00gTkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPCAnYSc7CisgZml2ZSB8 IGYxIAorLS0tLS0tKy0tLS0KKyAgICAgIHwgQQorICAgICAgfCAxCisgICAg ICB8IDIKKyAgICAgIHwgMworICAgICAgfCAgCisoNSByb3dzKQorCitTRUxF Q1QgJycgQVMgc2l4LCBjLioKKyAgIEZST00gTkNIQVJfVEJMIGMKKyAgIFdI RVJFIGMuZjEgPD0gJ2EnOworIHNpeCB8IGYxIAorLS0tLS0rLS0tLQorICAg ICB8IGEKKyAgICAgfCBBCisgICAgIHwgMQorICAgICB8IDIKKyAgICAgfCAz CisgICAgIHwgIAorKDYgcm93cykKKworU0VMRUNUICcnIEFTIG9uZSwgYy4q CisgICBGUk9NIE5DSEFSX1RCTCBjCisgICBXSEVSRSBjLmYxID4gJ2EnOwor IG9uZSB8IGYxIAorLS0tLS0rLS0tLQorICAgICB8IGMKKygxIHJvdykKKwor U0VMRUNUICcnIEFTIHR3bywgYy4qCisgICBGUk9NIE5DSEFSX1RCTCBjCisg ICBXSEVSRSBjLmYxID49ICdhJzsKKyB0d28gfCBmMSAKKy0tLS0tKy0tLS0K KyAgICAgfCBhCisgICAgIHwgYworKDIgcm93cykKKworRFJPUCBUQUJMRSBO Q0hBUl9UQkw7CistLQorLS0gTm93IHRlc3QgbG9uZ2VyIGFycmF5cyBvZiBu Y2hhcgorLS0KK0NSRUFURSBUQUJMRSBOQ0hBUl9UQkwoZjEgbmNoYXIoNCkp OworSU5TRVJUIElOVE8gTkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYScpOwor SU5TRVJUIElOVE8gTkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYWInKTsKK0lO U0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2FiY2QnKTsKK0lO U0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2FiY2RlJyk7CitF UlJPUjogIHZhbHVlIHRvbyBsb25nIGZvciB0eXBlIGNoYXJhY3Rlcig0KQor SU5TRVJUIElOVE8gTkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYWJjZCAgICAn KTsKK1NFTEVDVCAnJyBBUyBmb3VyLCAqIEZST00gTkNIQVJfVEJMOworIGZv dXIgfCAgZjEgIAorLS0tLS0tKy0tLS0tLQorICAgICAgfCBhICAgCisgICAg ICB8IGFiICAKKyAgICAgIHwgYWJjZAorICAgICAgfCBhYmNkCisoNCByb3dz KQorCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9uY2hhcl8xLm91dCBwb3N0Z3Jlc3FsLWhl YWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9u Y2hhcl8xLm91dAotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbmNoYXJfMS5vdXQJMTk3MC0wMS0wMSAx MDowMDowMC4wMDAwMDAwMDAgKzEwMDAKKysrIHBvc3RncmVzcWwtaGVhZC0y MDEzMTAxNy1uY2hhci9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL25jaGFy XzEub3V0CTIwMTMtMTAtMTcgMTE6NTY6MjIuMDAwMDAwMDAwICsxMTAwCkBA IC0wLDAgKzEsMTIyIEBACistLQorLS0gTkNIQVIKKy0tCistLSBmaXhlZC1s ZW5ndGggYnkgdmFsdWUKKy0tIGludGVybmFsbHkgcGFzc2VkIGJ5IHZhbHVl IGlmIDw9IDQgYnl0ZXMgaW4gc3RvcmFnZQorU0VMRUNUIG5jaGFyICdjJyA9 IG5jaGFyICdjJyBBUyB0cnVlOworIHRydWUgCistLS0tLS0KKyB0CisoMSBy b3cpCisKKy0tCistLSBCdWlsZCBhIHRhYmxlIGZvciB0ZXN0aW5nCistLQor Q1JFQVRFIFRBQkxFIE5DSEFSX1RCTChmMSBuY2hhcik7CitJTlNFUlQgSU5U TyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhJyk7CitJTlNFUlQgSU5UTyBO Q0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdBJyk7CistLSBhbnkgb2YgdGhlIGZv bGxvd2luZyB0aHJlZSBpbnB1dCBmb3JtYXRzIGFyZSBhY2NlcHRhYmxlCitJ TlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCcxJyk7CitJTlNF UlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKDIpOworSU5TRVJUIElO VE8gTkNIQVJfVEJMIChmMSkgVkFMVUVTICgnMycpOworLS0gemVyby1sZW5n dGggbmNoYXIKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAo JycpOworLS0gdHJ5IG5jaGFyJ3Mgb2YgZ3JlYXRlciB0aGFuIDEgbGVuZ3Ro CitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdjZCcpOwor RVJST1I6ICB2YWx1ZSB0b28gbG9uZyBmb3IgdHlwZSBjaGFyYWN0ZXIoMSkK K0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2MgICAgICcp OworU0VMRUNUICcnIEFTIHNldmVuLCAqIEZST00gTkNIQVJfVEJMOworIHNl dmVuIHwgZjEgCistLS0tLS0tKy0tLS0KKyAgICAgICB8IGEKKyAgICAgICB8 IEEKKyAgICAgICB8IDEKKyAgICAgICB8IDIKKyAgICAgICB8IDMKKyAgICAg ICB8ICAKKyAgICAgICB8IGMKKyg3IHJvd3MpCisKK1NFTEVDVCAnJyBBUyBz aXgsIGMuKgorICAgRlJPTSBOQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA8 PiAnYSc7Cisgc2l4IHwgZjEgCistLS0tLSstLS0tCisgICAgIHwgQQorICAg ICB8IDEKKyAgICAgfCAyCisgICAgIHwgMworICAgICB8ICAKKyAgICAgfCBj CisoNiByb3dzKQorCitTRUxFQ1QgJycgQVMgb25lLCBjLioKKyAgIEZST00g TkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPSAnYSc7Cisgb25lIHwgZjEg CistLS0tLSstLS0tCisgICAgIHwgYQorKDEgcm93KQorCitTRUxFQ1QgJycg QVMgZml2ZSwgYy4qCisgICBGUk9NIE5DSEFSX1RCTCBjCisgICBXSEVSRSBj LmYxIDwgJ2EnOworIGZpdmUgfCBmMSAKKy0tLS0tLSstLS0tCisgICAgICB8 IDEKKyAgICAgIHwgMgorICAgICAgfCAzCisgICAgICB8ICAKKyg0IHJvd3Mp CisKK1NFTEVDVCAnJyBBUyBzaXgsIGMuKgorICAgRlJPTSBOQ0hBUl9UQkwg YworICAgV0hFUkUgYy5mMSA8PSAnYSc7Cisgc2l4IHwgZjEgCistLS0tLSst LS0tCisgICAgIHwgYQorICAgICB8IDEKKyAgICAgfCAyCisgICAgIHwgMwor ICAgICB8ICAKKyg1IHJvd3MpCisKK1NFTEVDVCAnJyBBUyBvbmUsIGMuKgor ICAgRlJPTSBOQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA+ICdhJzsKKyBv bmUgfCBmMSAKKy0tLS0tKy0tLS0KKyAgICAgfCBBCisgICAgIHwgYworKDIg cm93cykKKworU0VMRUNUICcnIEFTIHR3bywgYy4qCisgICBGUk9NIE5DSEFS X1RCTCBjCisgICBXSEVSRSBjLmYxID49ICdhJzsKKyB0d28gfCBmMSAKKy0t LS0tKy0tLS0KKyAgICAgfCBhCisgICAgIHwgQQorICAgICB8IGMKKygzIHJv d3MpCisKK0RST1AgVEFCTEUgTkNIQVJfVEJMOworLS0KKy0tIE5vdyB0ZXN0 IGxvbmdlciBhcnJheXMgb2YgbmNoYXIKKy0tCitDUkVBVEUgVEFCTEUgTkNI QVJfVEJMKGYxIG5jaGFyKDQpKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAo ZjEpIFZBTFVFUyAoJ2EnKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEp IFZBTFVFUyAoJ2FiJyk7CitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBW QUxVRVMgKCdhYmNkJyk7CitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBW QUxVRVMgKCdhYmNkZScpOworRVJST1I6ICB2YWx1ZSB0b28gbG9uZyBmb3Ig dHlwZSBjaGFyYWN0ZXIoNCkKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEp IFZBTFVFUyAoJ2FiY2QgICAgJyk7CitTRUxFQ1QgJycgQVMgZm91ciwgKiBG Uk9NIE5DSEFSX1RCTDsKKyBmb3VyIHwgIGYxICAKKy0tLS0tLSstLS0tLS0K KyAgICAgIHwgYSAgIAorICAgICAgfCBhYiAgCisgICAgICB8IGFiY2QKKyAg ICAgIHwgYWJjZAorKDQgcm93cykKKwpkaWZmIC11TnIgcG9zdGdyZXNxbC1o ZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbmNoYXJf Mi5vdXQgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvbmNoYXJfMi5vdXQKLS0tIHBvc3RncmVzcWwt aGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL25jaGFy XzIub3V0CTE5NzAtMDEtMDEgMTA6MDA6MDAuMDAwMDAwMDAwICsxMDAwCisr KyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9uY2hhcl8yLm91dAkyMDEzLTEwLTE3IDExOjU2OjIy LjAwMDAwMDAwMCArMTEwMApAQCAtMCwwICsxLDEyMiBAQAorLS0KKy0tIE5D SEFSCistLQorLS0gZml4ZWQtbGVuZ3RoIGJ5IHZhbHVlCistLSBpbnRlcm5h bGx5IHBhc3NlZCBieSB2YWx1ZSBpZiA8PSA0IGJ5dGVzIGluIHN0b3JhZ2UK K1NFTEVDVCBuY2hhciAnYycgPSBuY2hhciAnYycgQVMgdHJ1ZTsKKyB0cnVl IAorLS0tLS0tCisgdAorKDEgcm93KQorCistLQorLS0gQnVpbGQgYSB0YWJs ZSBmb3IgdGVzdGluZworLS0KK0NSRUFURSBUQUJMRSBOQ0hBUl9UQkwoZjEg bmNoYXIpOworSU5TRVJUIElOVE8gTkNIQVJfVEJMIChmMSkgVkFMVUVTICgn YScpOworSU5TRVJUIElOVE8gTkNIQVJfVEJMIChmMSkgVkFMVUVTICgnQScp OworLS0gYW55IG9mIHRoZSBmb2xsb3dpbmcgdGhyZWUgaW5wdXQgZm9ybWF0 cyBhcmUgYWNjZXB0YWJsZQorSU5TRVJUIElOVE8gTkNIQVJfVEJMIChmMSkg VkFMVUVTICgnMScpOworSU5TRVJUIElOVE8gTkNIQVJfVEJMIChmMSkgVkFM VUVTICgyKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAo JzMnKTsKKy0tIHplcm8tbGVuZ3RoIG5jaGFyCitJTlNFUlQgSU5UTyBOQ0hB Ul9UQkwgKGYxKSBWQUxVRVMgKCcnKTsKKy0tIHRyeSBuY2hhcidzIG9mIGdy ZWF0ZXIgdGhhbiAxIGxlbmd0aAorSU5TRVJUIElOVE8gTkNIQVJfVEJMIChm MSkgVkFMVUVTICgnY2QnKTsKK0VSUk9SOiAgdmFsdWUgdG9vIGxvbmcgZm9y IHR5cGUgY2hhcmFjdGVyKDEpCitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYx KSBWQUxVRVMgKCdjICAgICAnKTsKK1NFTEVDVCAnJyBBUyBzZXZlbiwgKiBG Uk9NIE5DSEFSX1RCTDsKKyBzZXZlbiB8IGYxIAorLS0tLS0tLSstLS0tCisg ICAgICAgfCBhCisgICAgICAgfCBBCisgICAgICAgfCAxCisgICAgICAgfCAy CisgICAgICAgfCAzCisgICAgICAgfCAgCisgICAgICAgfCBjCisoNyByb3dz KQorCitTRUxFQ1QgJycgQVMgc2l4LCBjLioKKyAgIEZST00gTkNIQVJfVEJM IGMKKyAgIFdIRVJFIGMuZjEgPD4gJ2EnOworIHNpeCB8IGYxIAorLS0tLS0r LS0tLQorICAgICB8IEEKKyAgICAgfCAxCisgICAgIHwgMgorICAgICB8IDMK KyAgICAgfCAgCisgICAgIHwgYworKDYgcm93cykKKworU0VMRUNUICcnIEFT IG9uZSwgYy4qCisgICBGUk9NIE5DSEFSX1RCTCBjCisgICBXSEVSRSBjLmYx ID0gJ2EnOworIG9uZSB8IGYxIAorLS0tLS0rLS0tLQorICAgICB8IGEKKygx IHJvdykKKworU0VMRUNUICcnIEFTIGZpdmUsIGMuKgorICAgRlJPTSBOQ0hB Ul9UQkwgYworICAgV0hFUkUgYy5mMSA8ICdhJzsKKyBmaXZlIHwgZjEgCist LS0tLS0rLS0tLQorICAgICAgfCAgCisoMSByb3cpCisKK1NFTEVDVCAnJyBB UyBzaXgsIGMuKgorICAgRlJPTSBOQ0hBUl9UQkwgYworICAgV0hFUkUgYy5m MSA8PSAnYSc7Cisgc2l4IHwgZjEgCistLS0tLSstLS0tCisgICAgIHwgYQor ICAgICB8ICAKKygyIHJvd3MpCisKK1NFTEVDVCAnJyBBUyBvbmUsIGMuKgor ICAgRlJPTSBOQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA+ICdhJzsKKyBv bmUgfCBmMSAKKy0tLS0tKy0tLS0KKyAgICAgfCBBCisgICAgIHwgMQorICAg ICB8IDIKKyAgICAgfCAzCisgICAgIHwgYworKDUgcm93cykKKworU0VMRUNU ICcnIEFTIHR3bywgYy4qCisgICBGUk9NIE5DSEFSX1RCTCBjCisgICBXSEVS RSBjLmYxID49ICdhJzsKKyB0d28gfCBmMSAKKy0tLS0tKy0tLS0KKyAgICAg fCBhCisgICAgIHwgQQorICAgICB8IDEKKyAgICAgfCAyCisgICAgIHwgMwor ICAgICB8IGMKKyg2IHJvd3MpCisKK0RST1AgVEFCTEUgTkNIQVJfVEJMOwor LS0KKy0tIE5vdyB0ZXN0IGxvbmdlciBhcnJheXMgb2YgbmNoYXIKKy0tCitD UkVBVEUgVEFCTEUgTkNIQVJfVEJMKGYxIG5jaGFyKDQpKTsKK0lOU0VSVCBJ TlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2EnKTsKK0lOU0VSVCBJTlRP IE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2FiJyk7CitJTlNFUlQgSU5UTyBO Q0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhYmNkJyk7CitJTlNFUlQgSU5UTyBO Q0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhYmNkZScpOworRVJST1I6ICB2YWx1 ZSB0b28gbG9uZyBmb3IgdHlwZSBjaGFyYWN0ZXIoNCkKK0lOU0VSVCBJTlRP IE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2FiY2QgICAgJyk7CitTRUxFQ1Qg JycgQVMgZm91ciwgKiBGUk9NIE5DSEFSX1RCTDsKKyBmb3VyIHwgIGYxICAK Ky0tLS0tLSstLS0tLS0KKyAgICAgIHwgYSAgIAorICAgICAgfCBhYiAgCisg ICAgICB8IGFiY2QKKyAgICAgIHwgYWJjZAorKDQgcm93cykKKwpkaWZmIC11 TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvbmNoYXJfdGVzdC5vdXQgcG9zdGdyZXNxbC1oZWFkLTIwMTMx MDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbmNoYXJfdGVz dC5vdXQKLS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL25jaGFyX3Rlc3Qub3V0CTE5NzAtMDEtMDEgMTA6 MDA6MDAuMDAwMDAwMDAwICsxMDAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAx MzEwMTctbmNoYXIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9uY2hhcl90 ZXN0Lm91dAkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAwMDAwMCArMTEwMApA QCAtMCwwICsxLDEwMSBAQAorQ1JFQVRFIEFHR1JFR0FURSB0ZXN0X25jaGFy X2FnZyAobmNoYXIoMTApKSAoIHNmdW5jID0gYXJyYXlfYXBwZW5kLCBzdHlw ZSA9IG5jaGFyKDEwKVtdLCBpbml0Y29uZCA9ICd7fScpOworYWx0ZXIgYWdn cmVnYXRlIHRlc3RfbmNoYXJfYWdnIChuY2hhcigxMCkpIHJlbmFtZSB0byB0 ZXN0X25jaGFyX2FnZ3JlZ2F0ZTsKK2Ryb3AgYWdncmVnYXRlIHRlc3RfbmNo YXJfYWdncmVnYXRlKG5jaGFyKDEwKSk7CitjcmVhdGUgZG9tYWluIHRlc3Rf bmNoYXJfZG9tYWluIGFzIG5jaGFyKDEwKTsKK2Ryb3AgZG9tYWluIHRlc3Rf bmNoYXJfZG9tYWluOworY3JlYXRlIHRhYmxlIG5jaGFyX3Rlc3QgKGYgbmNo YXIoMTApLCB2YWwgdmFyY2hhcik7CitjcmVhdGUgaW5kZXggaSBvbiBuY2hh cl90ZXN0KGYpOwordmFjdXVtIGFuYWx5emUgbmNoYXJfdGVzdChmKTsKK2lu c2VydCBpbnRvIG5jaGFyX3Rlc3QgdmFsdWVzICgnYScsICd0ZXN0X3ZhbCcp IHJldHVybmluZyAoZik7CisgICAgIGYgICAgICAKKy0tLS0tLS0tLS0tLQor IGEgICAgICAgICAKKygxIHJvdykKKworU0VMRUNUIGYgZnJvbSBuY2hhcl90 ZXN0OworICAgICBmICAgICAgCistLS0tLS0tLS0tLS0KKyBhICAgICAgICAg CisoMSByb3cpCisKK3NlbGVjdCBmIGludG8gbmNoYXJfdGVzdDEgZnJvbSBu Y2hhcl90ZXN0Oworc2VsZWN0ICogZnJvbSBuY2hhcl90ZXN0MTsKKyAgICAg ZiAgICAgIAorLS0tLS0tLS0tLS0tCisgYSAgICAgICAgIAorKDEgcm93KQor Citkcm9wIHRhYmxlIG5jaGFyX3Rlc3QxOworc2VsZWN0IGYgZnJvbSBuY2hh cl90ZXN0OworICAgICBmICAgICAgCistLS0tLS0tLS0tLS0KKyBhICAgICAg ICAgCisoMSByb3cpCisKK3NlbGVjdCB2YWwgZnJvbSBuY2hhcl90ZXN0IHdo ZXJlIGY9J2EnOworICAgdmFsICAgIAorLS0tLS0tLS0tLQorIHRlc3RfdmFs CisoMSByb3cpCisKK3ByZXBhcmUgc3RtdCBBUyBzZWxlY3QgZiBmcm9tIG5j aGFyX3Rlc3Q7CitwcmVwYXJlIHN0bXQxKG5jaGFyKDEwKSkgQVMgc2VsZWN0 IHZhbCBmcm9tIG5jaGFyX3Rlc3Qgd2hlcmUgZj0kMTsKK2RlYWxsb2NhdGUg c3RtdDsKK2RlYWxsb2NhdGUgc3RtdDE7CitwcmVwYXJlIHN0bXQodmFyY2hh cikgQVMgc2VsZWN0IHZhbCBmcm9tIG5jaGFyX3Rlc3Qgd2hlcmUgZj0kMTsK K2V4ZWN1dGUgc3RtdCgnYScpOworICAgdmFsICAgIAorLS0tLS0tLS0tLQor IHRlc3RfdmFsCisoMSByb3cpCisKK2RlYWxsb2NhdGUgc3RtdDsKK2JlZ2lu O2RlY2xhcmUgYyBjdXJzb3IgZm9yIHNlbGVjdCBmIGZyb20gbmNoYXJfdGVz dDtjb21taXQ7CitjcmVhdGUgdmlldyB2IGFzIHNlbGVjdCBmIGZyb20gbmNo YXJfdGVzdDsKK3NlbGVjdCAqIGZyb20gdjsKKyAgICAgZiAgICAgIAorLS0t LS0tLS0tLS0tCisgYSAgICAgICAgIAorKDEgcm93KQorCithbHRlciB2aWV3 IHYgYWx0ZXIgY29sdW1uIGYgc2V0IGRlZmF1bHQgJ2EnOworZHJvcCB2aWV3 IHY7CitkbyAkJGJlZ2luIHBlcmZvcm0gZiBmcm9tIG5jaGFyX3Rlc3Q7IGVu ZCAkJDsKK0NSRUFURSBUWVBFIHRlc3RfbmNoYXJfdHlwZSBBUyAoZiBuY2hh cigxMCkpOworY29tbWVudCBvbiB0eXBlIHRlc3RfbmNoYXJfdHlwZSBpcyAn Y29tbWVudCc7Citkcm9wIHR5cGUgdGVzdF9uY2hhcl90eXBlOworY3JlYXRl IHRyaWdnZXIgdHIgYmVmb3JlIHVwZGF0ZSBvbiBuY2hhcl90ZXN0IGZvciBl YWNoIHJvdyB3aGVuIChPTEQuZj0nYScpIEVYRUNVVEUgUFJPQ0VEVVJFIHN1 cHByZXNzX3JlZHVuZGFudF91cGRhdGVzX3RyaWdnZXIoKTsKK2NvcHkgbmNo YXJfdGVzdChmKSB0byBzdGRvdXQ7CithICAgICAgICAgCitjb21tZW50IG9u IENPTFVNTiBuY2hhcl90ZXN0LmYgaXMgJ2NvbW1lbnQnOworYW5hbHl6ZSBu Y2hhcl90ZXN0KGYpOworYWx0ZXIgdGFibGUgbmNoYXJfdGVzdCByZW5hbWUg ZiB0byBmX3JlbmFtZWQ7CithbHRlciB0YWJsZSBuY2hhcl90ZXN0IHJlbmFt ZSBmX3JlbmFtZWQgdG8gZjsKK2FsdGVyIHRhYmxlIG5jaGFyX3Rlc3QgYWx0 ZXIgdmFsIHR5cGUgbmNoYXIoMTApOworVVBEQVRFIG5jaGFyX3Rlc3QgU0VU IGY9J2InOworU0VMRUNUICogZnJvbSBuY2hhcl90ZXN0OworICAgICBmICAg ICAgfCAgICB2YWwgICAgIAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IGIgICAgICAgICAgfCB0ZXN0X3ZhbCAgCisoMSByb3cpCisKK2RlbGV0ZSBm cm9tIG5jaGFyX3Rlc3Qgd2hlcmUgZj0nYic7CitDUkVBVEUgRlVOQ1RJT04g Zm9vKGYgbmNoYXIoMTApKSByZXR1cm5zIHNldG9mIG5jaGFyKDEwKSBhcyAk JFNFTEVDVCBmIGZyb20gbmNoYXJfdGVzdDskJCBMQU5HVUFHRSBTUUw7Cith bHRlciBmdW5jdGlvbiBmb28obmNoYXIoMTApKSByZXNldCBhbGw7Citkcm9w IGZ1bmN0aW9uIGZvbyhuY2hhcigxMCkpOworZHJvcCB0YWJsZSBuY2hhcl90 ZXN0OworY3JlYXRlIGZ1bmN0aW9uIGR1bW15X2VxIChuY2hhciwgbmNoYXIp IHJldHVybnMgYm9vbGVhbiBhcyAnU0VMRUNUICQxPSQyOycgTEFOR1VBR0Ug U1FMOworQ1JFQVRFIE9QRVJBVE9SID09PSAoTEVGVEFSRyA9IG5jaGFyLCBS SUdIVEFSRyA9IG5jaGFyLCBQUk9DRURVUkUgPSBkdW1teV9lcSk7CithbHRl ciBvcGVyYXRvciA9PT0gKG5jaGFyLG5jaGFyKSBzZXQgc2NoZW1hIHBnX2Nh dGFsb2c7CitEUk9QIE9QRVJBVE9SICA9PT0gKG5jaGFyLG5jaGFyKTsKK2Ry b3AgZnVuY3Rpb24gZHVtbXlfZXEgKG5jaGFyLCBuY2hhcik7CitjcmVhdGUg Y2FzdCAobmNoYXIgYXMgYnl0ZWEpIHdpdGggRlVOQ1RJT04gbmJwY2hhcnNl bmQobmNoYXIpOworZHJvcCBjYXN0IChuY2hhciBhcyBieXRlYSk7CitjcmVh dGUgZm9yZWlnbiBkYXRhIHdyYXBwZXIgZHVtbXk7CitDUkVBVEUgU0VSVkVS IGZvbyBGT1JFSUdOIERBVEEgV1JBUFBFUiAiZHVtbXkiOworY3JlYXRlIGZv cmVpZ24gdGFibGUgZnRfbmNoYXIgKGYgbmNoYXIoMTApLCB2YXIgdmFyY2hh cikgc2VydmVyIGZvbzsKK2FsdGVyIGZvcmVpZ24gdGFibGUgZnRfbmNoYXIg YWx0ZXIgdmFyIHR5cGUgbmNoYXIoMTApOworYWx0ZXIgZm9yZWlnbiB0YWJs ZSBmdF9uY2hhciByZW5hbWUgY29sdW1uIGYgdG8gZl9uZXc7Citkcm9wIGZv cmVpZ24gdGFibGUgZnRfbmNoYXI7Citkcm9wIFNFUlZFUiBmb287Citkcm9w IGZvcmVpZ24gZGF0YSB3cmFwcGVyIGR1bW15OwpkaWZmIC11TnIgcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv bnZhcmNoYXIub3V0IHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL252YXJjaGFyLm91dAotLS0gcG9z dGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvbnZhcmNoYXIub3V0CTE5NzAtMDEtMDEgMTA6MDA6MDAuMDAwMDAwMDAw ICsxMDAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9udmFyY2hhci5vdXQJMjAxMy0xMC0x NyAxMTo1NjoyMi4wMDAwMDAwMDAgKzExMDAKQEAgLTAsMCArMSwxMTEgQEAK Ky0tCistLSBOVkFSQ0hBUgorLS0KK0NSRUFURSBUQUJMRSBOVkFSQ0hBUl9U QkwoZjEgbnZhcmNoYXIoMSkpOworSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJM IChmMSkgVkFMVUVTICgnYScpOworSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJM IChmMSkgVkFMVUVTICgnQScpOworLS0gYW55IG9mIHRoZSBmb2xsb3dpbmcg dGhyZWUgaW5wdXQgZm9ybWF0cyBhcmUgYWNjZXB0YWJsZQorSU5TRVJUIElO VE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgnMScpOworSU5TRVJUIElO VE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgyKTsKK0lOU0VSVCBJTlRP IE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJzMnKTsKKy0tIHplcm8tbGVu Z3RoIG52YXJjaGFyCitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBW QUxVRVMgKCcnKTsKKy0tIHRyeSBudmFyY2hhcidzIG9mIGdyZWF0ZXIgdGhh biAxIGxlbmd0aAorSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFM VUVTICgnY2QnKTsKK0VSUk9SOiAgdmFsdWUgdG9vIGxvbmcgZm9yIHR5cGUg Y2hhcmFjdGVyIHZhcnlpbmcoMSkKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RC TCAoZjEpIFZBTFVFUyAoJ2MgICAgICcpOworU0VMRUNUICcnIEFTIHNldmVu LCAqIEZST00gTlZBUkNIQVJfVEJMOworIHNldmVuIHwgZjEgCistLS0tLS0t Ky0tLS0KKyAgICAgICB8IGEKKyAgICAgICB8IEEKKyAgICAgICB8IDEKKyAg ICAgICB8IDIKKyAgICAgICB8IDMKKyAgICAgICB8IAorICAgICAgIHwgYwor KDcgcm93cykKKworU0VMRUNUICcnIEFTIHNpeCwgYy4qCisgICBGUk9NIE5W QVJDSEFSX1RCTCBjCisgICBXSEVSRSBjLmYxIDw+ICdhJzsKKyBzaXggfCBm MSAKKy0tLS0tKy0tLS0KKyAgICAgfCBBCisgICAgIHwgMQorICAgICB8IDIK KyAgICAgfCAzCisgICAgIHwgCisgICAgIHwgYworKDYgcm93cykKKworU0VM RUNUICcnIEFTIG9uZSwgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisg ICBXSEVSRSBjLmYxID0gJ2EnOworIG9uZSB8IGYxIAorLS0tLS0rLS0tLQor ICAgICB8IGEKKygxIHJvdykKKworU0VMRUNUICcnIEFTIGZpdmUsIGMuKgor ICAgRlJPTSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA8ICdhJzsK KyBmaXZlIHwgZjEgCistLS0tLS0rLS0tLQorICAgICAgfCBBCisgICAgICB8 IDEKKyAgICAgIHwgMgorICAgICAgfCAzCisgICAgICB8IAorKDUgcm93cykK KworU0VMRUNUICcnIEFTIHNpeCwgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RC TCBjCisgICBXSEVSRSBjLmYxIDw9ICdhJzsKKyBzaXggfCBmMSAKKy0tLS0t Ky0tLS0KKyAgICAgfCBhCisgICAgIHwgQQorICAgICB8IDEKKyAgICAgfCAy CisgICAgIHwgMworICAgICB8IAorKDYgcm93cykKKworU0VMRUNUICcnIEFT IG9uZSwgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisgICBXSEVSRSBj LmYxID4gJ2EnOworIG9uZSB8IGYxIAorLS0tLS0rLS0tLQorICAgICB8IGMK KygxIHJvdykKKworU0VMRUNUICcnIEFTIHR3bywgYy4qCisgICBGUk9NIE5W QVJDSEFSX1RCTCBjCisgICBXSEVSRSBjLmYxID49ICdhJzsKKyB0d28gfCBm MSAKKy0tLS0tKy0tLS0KKyAgICAgfCBhCisgICAgIHwgYworKDIgcm93cykK KworRFJPUCBUQUJMRSBOVkFSQ0hBUl9UQkw7CistLQorLS0gTm93IHRlc3Qg bG9uZ2VyIGFycmF5cyBvZiBudmFyY2hhcgorLS0KK0NSRUFURSBUQUJMRSBO VkFSQ0hBUl9UQkwoZjEgbnZhcmNoYXIoNCkpOworSU5TRVJUIElOVE8gTlZB UkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYScpOworSU5TRVJUIElOVE8gTlZB UkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYWInKTsKK0lOU0VSVCBJTlRPIE5W QVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2FiY2QnKTsKK0lOU0VSVCBJTlRP IE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2FiY2RlJyk7CitFUlJPUjog IHZhbHVlIHRvbyBsb25nIGZvciB0eXBlIGNoYXJhY3RlciB2YXJ5aW5nKDQp CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhYmNk ICAgICcpOworU0VMRUNUICcnIEFTIGZvdXIsICogRlJPTSBOVkFSQ0hBUl9U Qkw7CisgZm91ciB8ICBmMSAgCistLS0tLS0rLS0tLS0tCisgICAgICB8IGEK KyAgICAgIHwgYWIKKyAgICAgIHwgYWJjZAorICAgICAgfCBhYmNkCisoNCBy b3dzKQorCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9udmFyY2hhcl8xLm91dCBwb3N0Z3Jl c3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9udmFyY2hhcl8xLm91dAotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMx MDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbnZhcmNoYXJfMS5vdXQJ MTk3MC0wMS0wMSAxMDowMDowMC4wMDAwMDAwMDAgKzEwMDAKKysrIHBvc3Rn cmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL252YXJjaGFyXzEub3V0CTIwMTMtMTAtMTcgMTE6NTY6MjIuMDAw MDAwMDAwICsxMTAwCkBAIC0wLDAgKzEsMTExIEBACistLQorLS0gTlZBUkNI QVIKKy0tCitDUkVBVEUgVEFCTEUgTlZBUkNIQVJfVEJMKGYxIG52YXJjaGFy KDEpKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAo J2EnKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAo J0EnKTsKKy0tIGFueSBvZiB0aGUgZm9sbG93aW5nIHRocmVlIGlucHV0IGZv cm1hdHMgYXJlIGFjY2VwdGFibGUKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RC TCAoZjEpIFZBTFVFUyAoJzEnKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RC TCAoZjEpIFZBTFVFUyAoMik7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwg KGYxKSBWQUxVRVMgKCczJyk7CistLSB6ZXJvLWxlbmd0aCBudmFyY2hhcgor SU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgnJyk7Cist LSB0cnkgbnZhcmNoYXIncyBvZiBncmVhdGVyIHRoYW4gMSBsZW5ndGgKK0lO U0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2NkJyk7CitF UlJPUjogIHZhbHVlIHRvbyBsb25nIGZvciB0eXBlIGNoYXJhY3RlciB2YXJ5 aW5nKDEpCitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMg KCdjICAgICAnKTsKK1NFTEVDVCAnJyBBUyBzZXZlbiwgKiBGUk9NIE5WQVJD SEFSX1RCTDsKKyBzZXZlbiB8IGYxIAorLS0tLS0tLSstLS0tCisgICAgICAg fCBhCisgICAgICAgfCBBCisgICAgICAgfCAxCisgICAgICAgfCAyCisgICAg ICAgfCAzCisgICAgICAgfCAKKyAgICAgICB8IGMKKyg3IHJvd3MpCisKK1NF TEVDVCAnJyBBUyBzaXgsIGMuKgorICAgRlJPTSBOVkFSQ0hBUl9UQkwgYwor ICAgV0hFUkUgYy5mMSA8PiAnYSc7Cisgc2l4IHwgZjEgCistLS0tLSstLS0t CisgICAgIHwgQQorICAgICB8IDEKKyAgICAgfCAyCisgICAgIHwgMworICAg ICB8IAorICAgICB8IGMKKyg2IHJvd3MpCisKK1NFTEVDVCAnJyBBUyBvbmUs IGMuKgorICAgRlJPTSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA9 ICdhJzsKKyBvbmUgfCBmMSAKKy0tLS0tKy0tLS0KKyAgICAgfCBhCisoMSBy b3cpCisKK1NFTEVDVCAnJyBBUyBmaXZlLCBjLioKKyAgIEZST00gTlZBUkNI QVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPCAnYSc7CisgZml2ZSB8IGYxIAor LS0tLS0tKy0tLS0KKyAgICAgIHwgMQorICAgICAgfCAyCisgICAgICB8IDMK KyAgICAgIHwgCisoNCByb3dzKQorCitTRUxFQ1QgJycgQVMgc2l4LCBjLioK KyAgIEZST00gTlZBUkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPD0gJ2En OworIHNpeCB8IGYxIAorLS0tLS0rLS0tLQorICAgICB8IGEKKyAgICAgfCAx CisgICAgIHwgMgorICAgICB8IDMKKyAgICAgfCAKKyg1IHJvd3MpCisKK1NF TEVDVCAnJyBBUyBvbmUsIGMuKgorICAgRlJPTSBOVkFSQ0hBUl9UQkwgYwor ICAgV0hFUkUgYy5mMSA+ICdhJzsKKyBvbmUgfCBmMSAKKy0tLS0tKy0tLS0K KyAgICAgfCBBCisgICAgIHwgYworKDIgcm93cykKKworU0VMRUNUICcnIEFT IHR3bywgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisgICBXSEVSRSBj LmYxID49ICdhJzsKKyB0d28gfCBmMSAKKy0tLS0tKy0tLS0KKyAgICAgfCBh CisgICAgIHwgQQorICAgICB8IGMKKygzIHJvd3MpCisKK0RST1AgVEFCTEUg TlZBUkNIQVJfVEJMOworLS0KKy0tIE5vdyB0ZXN0IGxvbmdlciBhcnJheXMg b2YgbnZhcmNoYXIKKy0tCitDUkVBVEUgVEFCTEUgTlZBUkNIQVJfVEJMKGYx IG52YXJjaGFyKDQpKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEp IFZBTFVFUyAoJ2EnKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEp IFZBTFVFUyAoJ2FiJyk7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYx KSBWQUxVRVMgKCdhYmNkJyk7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwg KGYxKSBWQUxVRVMgKCdhYmNkZScpOworRVJST1I6ICB2YWx1ZSB0b28gbG9u ZyBmb3IgdHlwZSBjaGFyYWN0ZXIgdmFyeWluZyg0KQorSU5TRVJUIElOVE8g TlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYWJjZCAgICAnKTsKK1NFTEVD VCAnJyBBUyBmb3VyLCAqIEZST00gTlZBUkNIQVJfVEJMOworIGZvdXIgfCAg ZjEgIAorLS0tLS0tKy0tLS0tLQorICAgICAgfCBhCisgICAgICB8IGFiCisg ICAgICB8IGFiY2QKKyAgICAgIHwgYWJjZAorKDQgcm93cykKKwpkaWZmIC11 TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvbnZhcmNoYXJfMi5vdXQgcG9zdGdyZXNxbC1oZWFkLTIwMTMx MDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbnZhcmNoYXJf Mi5vdXQKLS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL252YXJjaGFyXzIub3V0CTE5NzAtMDEtMDEgMTA6 MDA6MDAuMDAwMDAwMDAwICsxMDAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAx MzEwMTctbmNoYXIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9udmFyY2hh cl8yLm91dAkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAwMDAwMCArMTEwMApA QCAtMCwwICsxLDExMSBAQAorLS0KKy0tIE5WQVJDSEFSCistLQorQ1JFQVRF IFRBQkxFIE5WQVJDSEFSX1RCTChmMSBudmFyY2hhcigxKSk7CitJTlNFUlQg SU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhJyk7CitJTlNFUlQg SU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdBJyk7CistLSBhbnkg b2YgdGhlIGZvbGxvd2luZyB0aHJlZSBpbnB1dCBmb3JtYXRzIGFyZSBhY2Nl cHRhYmxlCitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMg KCcxJyk7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMg KDIpOworSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgn MycpOworLS0gemVyby1sZW5ndGggbnZhcmNoYXIKK0lOU0VSVCBJTlRPIE5W QVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJycpOworLS0gdHJ5IG52YXJjaGFy J3Mgb2YgZ3JlYXRlciB0aGFuIDEgbGVuZ3RoCitJTlNFUlQgSU5UTyBOVkFS Q0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdjZCcpOworRVJST1I6ICB2YWx1ZSB0 b28gbG9uZyBmb3IgdHlwZSBjaGFyYWN0ZXIgdmFyeWluZygxKQorSU5TRVJU IElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYyAgICAgJyk7CitT RUxFQ1QgJycgQVMgc2V2ZW4sICogRlJPTSBOVkFSQ0hBUl9UQkw7Cisgc2V2 ZW4gfCBmMSAKKy0tLS0tLS0rLS0tLQorICAgICAgIHwgYQorICAgICAgIHwg QQorICAgICAgIHwgMQorICAgICAgIHwgMgorICAgICAgIHwgMworICAgICAg IHwgCisgICAgICAgfCBjCisoNyByb3dzKQorCitTRUxFQ1QgJycgQVMgc2l4 LCBjLioKKyAgIEZST00gTlZBUkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEg PD4gJ2EnOworIHNpeCB8IGYxIAorLS0tLS0rLS0tLQorICAgICB8IEEKKyAg ICAgfCAxCisgICAgIHwgMgorICAgICB8IDMKKyAgICAgfCAKKyAgICAgfCBj CisoNiByb3dzKQorCitTRUxFQ1QgJycgQVMgb25lLCBjLioKKyAgIEZST00g TlZBUkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPSAnYSc7Cisgb25lIHwg ZjEgCistLS0tLSstLS0tCisgICAgIHwgYQorKDEgcm93KQorCitTRUxFQ1Qg JycgQVMgZml2ZSwgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisgICBX SEVSRSBjLmYxIDwgJ2EnOworIGZpdmUgfCBmMSAKKy0tLS0tLSstLS0tCisg ICAgICB8IAorKDEgcm93KQorCitTRUxFQ1QgJycgQVMgc2l4LCBjLioKKyAg IEZST00gTlZBUkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPD0gJ2EnOwor IHNpeCB8IGYxIAorLS0tLS0rLS0tLQorICAgICB8IGEKKyAgICAgfCAKKygy IHJvd3MpCisKK1NFTEVDVCAnJyBBUyBvbmUsIGMuKgorICAgRlJPTSBOVkFS Q0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA+ICdhJzsKKyBvbmUgfCBmMSAK Ky0tLS0tKy0tLS0KKyAgICAgfCBBCisgICAgIHwgMQorICAgICB8IDIKKyAg ICAgfCAzCisgICAgIHwgYworKDUgcm93cykKKworU0VMRUNUICcnIEFTIHR3 bywgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisgICBXSEVSRSBjLmYx ID49ICdhJzsKKyB0d28gfCBmMSAKKy0tLS0tKy0tLS0KKyAgICAgfCBhCisg ICAgIHwgQQorICAgICB8IDEKKyAgICAgfCAyCisgICAgIHwgMworICAgICB8 IGMKKyg2IHJvd3MpCisKK0RST1AgVEFCTEUgTlZBUkNIQVJfVEJMOworLS0K Ky0tIE5vdyB0ZXN0IGxvbmdlciBhcnJheXMgb2YgbnZhcmNoYXIKKy0tCitD UkVBVEUgVEFCTEUgTlZBUkNIQVJfVEJMKGYxIG52YXJjaGFyKDQpKTsKK0lO U0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2EnKTsKK0lO U0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ2FiJyk7CitJ TlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhYmNkJyk7 CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhYmNk ZScpOworRVJST1I6ICB2YWx1ZSB0b28gbG9uZyBmb3IgdHlwZSBjaGFyYWN0 ZXIgdmFyeWluZyg0KQorSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkg VkFMVUVTICgnYWJjZCAgICAnKTsKK1NFTEVDVCAnJyBBUyBmb3VyLCAqIEZS T00gTlZBUkNIQVJfVEJMOworIGZvdXIgfCAgZjEgIAorLS0tLS0tKy0tLS0t LQorICAgICAgfCBhCisgICAgICB8IGFiCisgICAgICB8IGFiY2QKKyAgICAg IHwgYWJjZAorKDQgcm93cykKKwpkaWZmIC11TnIgcG9zdGdyZXNxbC1oZWFk LTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbnZhcmNoYXJf bWlzYy5vdXQgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbnZhcmNoYXJfbWlzYy5vdXQKLS0tIHBv c3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL252YXJjaGFyX21pc2Mub3V0CTE5NzAtMDEtMDEgMTA6MDA6MDAuMDAw MDAwMDAwICsxMDAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNo YXIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9udmFyY2hhcl9taXNjLm91 dAkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAwMDAwMCArMTEwMApAQCAtMCww ICsxLDEyNiBAQAorc2VsZWN0IE4nYSAnPU4nYSc7CisgP2NvbHVtbj8gCist LS0tLS0tLS0tCisgZgorKDEgcm93KQorCitzZWxlY3QgTidhICc9J2EnOwor ID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIGYKKygxIHJvdykKKworc2VsZWN0 IE4nYSc9J2EnOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIHQKKygxIHJv dykKKworc2VsZWN0IE4nYSAnPSdhJzo6Y2hhcigxKTsKKyA/Y29sdW1uPyAK Ky0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK3NlbGVjdCBOJ2EgJz0nYSc6 Om5jaGFyKDEpOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIHQKKygxIHJv dykKKworc2VsZWN0IE4nYSAnPSdhJzo6dmFyY2hhcigxKTsKKyA/Y29sdW1u PyAKKy0tLS0tLS0tLS0KKyBmCisoMSByb3cpCisKK3NlbGVjdCBOJ2EgJz0n YSc6Om52YXJjaGFyKDEpOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIGYK KygxIHJvdykKKworc2VsZWN0IE4nYSc9J2EnOjpudmFyY2hhcigxKTsKKyA/ Y29sdW1uPyAKKy0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK3NlbGVjdCBO J2EnPSdhJzo6dmFyY2hhcigxKTsKKyA/Y29sdW1uPyAKKy0tLS0tLS0tLS0K KyB0CisoMSByb3cpCisKK3NlbGVjdCBOJ2EnPSdhJzo6Y2hhcigxKTsKKyA/ Y29sdW1uPyAKKy0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK3NlbGVjdCBO J2EnPSdhJzo6bmNoYXIoMSk7CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisg dAorKDEgcm93KQorCitzZWxlY3QgJ2EnOjpuY2hhcigxMCk9J2EnOjpjaGFy KDEpOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIHQKKygxIHJvdykKKwor c2VsZWN0ICdhJzo6bmNoYXIoMTApPSdhJzo6bmNoYXIoMSk7CisgP2NvbHVt bj8gCistLS0tLS0tLS0tCisgdAorKDEgcm93KQorCitzZWxlY3QgJ2EnOjpu Y2hhcigxMCk9J2EnOjp2YXJjaGFyKDEpOworID9jb2x1bW4/IAorLS0tLS0t LS0tLQorIHQKKygxIHJvdykKKworc2VsZWN0ICdhJzo6bmNoYXIoMTApPSdh Jzo6bnZhcmNoYXIoMSk7CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisgdAor KDEgcm93KQorCitzZWxlY3QgJ2EnOjpudmFyY2hhcigxMCk9J2EnOjp2YXJj aGFyKDEpOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIHQKKygxIHJvdykK Kworc2VsZWN0ICdhJzo6bnZhcmNoYXIoMTApPSdhJzo6dmFyY2hhcigxMCk7 CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisgdAorKDEgcm93KQorCitzZWxl Y3QgJ2EnOjpudmFyY2hhcigxMCk9J2EgJzo6dmFyY2hhcigxMCk7CisgP2Nv bHVtbj8gCistLS0tLS0tLS0tCisgZgorKDEgcm93KQorCitzZWxlY3QgJ2En OjpudmFyY2hhcigxMCk9J2EgJzo6Y2hhcigxMCk7CisgP2NvbHVtbj8gCist LS0tLS0tLS0tCisgdAorKDEgcm93KQorCitzZWxlY3QgJ2EgJzo6bmNoYXIo MTApPSdhICAnOjpuY2hhcig1KTsKKyA/Y29sdW1uPyAKKy0tLS0tLS0tLS0K KyB0CisoMSByb3cpCisKK3NlbGVjdCAnYSAnOjpuY2hhcigxMCk9J2EgICc6 OmNoYXIoNSk7CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisgdAorKDEgcm93 KQorCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9udmFyY2hhcl90ZXN0Lm91dCBwb3N0Z3Jl c3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9udmFyY2hhcl90ZXN0Lm91dAotLS0gcG9zdGdyZXNxbC1oZWFkLTIw MTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbnZhcmNoYXJfdGVz dC5vdXQJMTk3MC0wMS0wMSAxMDowMDowMC4wMDAwMDAwMDAgKzEwMDAKKysr IHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL252YXJjaGFyX3Rlc3Qub3V0CTIwMTMtMTAtMTcgMTE6 NTY6MjIuMDAwMDAwMDAwICsxMTAwCkBAIC0wLDAgKzEsMTAxIEBACitDUkVB VEUgQUdHUkVHQVRFIHRlc3RfbnZhcmNoYXJfYWdnIChudmFyY2hhcikgKCBz ZnVuYyA9IGFycmF5X2FwcGVuZCwgc3R5cGUgPSBudmFyY2hhcltdLCBpbml0 Y29uZCA9ICd7fScpOworYWx0ZXIgYWdncmVnYXRlIHRlc3RfbnZhcmNoYXJf YWdnIChudmFyY2hhcikgcmVuYW1lIHRvIHRlc3RfbnZhcmNoYXJfYWdncmVn YXRlOworZHJvcCBhZ2dyZWdhdGUgdGVzdF9udmFyY2hhcl9hZ2dyZWdhdGUo bnZhcmNoYXIpOworY3JlYXRlIGRvbWFpbiB0ZXN0X252YXJjaGFyX2RvbWFp biBhcyBudmFyY2hhcjsKK2Ryb3AgZG9tYWluIHRlc3RfbnZhcmNoYXJfZG9t YWluOworY3JlYXRlIHRhYmxlIG52YXJjaGFyX3Rlc3QgKGYgbnZhcmNoYXIs IHZhbCB2YXJjaGFyKTsKK2NyZWF0ZSBpbmRleCBpIG9uIG52YXJjaGFyX3Rl c3QoZik7Cit2YWN1dW0gYW5hbHl6ZSBudmFyY2hhcl90ZXN0KGYpOworaW5z ZXJ0IGludG8gbnZhcmNoYXJfdGVzdCB2YWx1ZXMgKCdhJywgJ3Rlc3RfdmFs JykgcmV0dXJuaW5nIChmKTsKKyBmIAorLS0tCisgYQorKDEgcm93KQorCitT RUxFQ1QgZiBmcm9tIG52YXJjaGFyX3Rlc3Q7CisgZiAKKy0tLQorIGEKKygx IHJvdykKKworc2VsZWN0IGYgaW50byBudmFyY2hhcl90ZXN0MSBmcm9tIG52 YXJjaGFyX3Rlc3Q7CitzZWxlY3QgKiBmcm9tIG52YXJjaGFyX3Rlc3QxOwor IGYgCistLS0KKyBhCisoMSByb3cpCisKK2Ryb3AgdGFibGUgbnZhcmNoYXJf dGVzdDE7CitzZWxlY3QgZiBmcm9tIG52YXJjaGFyX3Rlc3Q7CisgZiAKKy0t LQorIGEKKygxIHJvdykKKworc2VsZWN0IHZhbCBmcm9tIG52YXJjaGFyX3Rl c3Qgd2hlcmUgZj0nYSc7CisgICB2YWwgICAgCistLS0tLS0tLS0tCisgdGVz dF92YWwKKygxIHJvdykKKworcHJlcGFyZSBzdG10IEFTIHNlbGVjdCBmIGZy b20gbnZhcmNoYXJfdGVzdDsKK3ByZXBhcmUgc3RtdDEobnZhcmNoYXIpIEFT IHNlbGVjdCB2YWwgZnJvbSBudmFyY2hhcl90ZXN0IHdoZXJlIGY9JDE7Citk ZWFsbG9jYXRlIHN0bXQ7CitkZWFsbG9jYXRlIHN0bXQxOworcHJlcGFyZSBz dG10KHZhcmNoYXIpIEFTIHNlbGVjdCB2YWwgZnJvbSBudmFyY2hhcl90ZXN0 IHdoZXJlIGY9JDE7CitleGVjdXRlIHN0bXQoJ2EnKTsKKyAgIHZhbCAgICAK Ky0tLS0tLS0tLS0KKyB0ZXN0X3ZhbAorKDEgcm93KQorCitkZWFsbG9jYXRl IHN0bXQ7CitiZWdpbjtkZWNsYXJlIGMgY3Vyc29yIGZvciBzZWxlY3QgZiBm cm9tIG52YXJjaGFyX3Rlc3Q7Y29tbWl0OworY3JlYXRlIHZpZXcgdiBhcyBz ZWxlY3QgZiBmcm9tIG52YXJjaGFyX3Rlc3Q7CitzZWxlY3QgKiBmcm9tIHY7 CisgZiAKKy0tLQorIGEKKygxIHJvdykKKworYWx0ZXIgdmlldyB2IGFsdGVy IGNvbHVtbiBmIHNldCBkZWZhdWx0ICdhJzsKK2Ryb3AgdmlldyB2OworZG8g JCRiZWdpbiBwZXJmb3JtIGYgZnJvbSBudmFyY2hhcl90ZXN0OyBlbmQgJCQ7 CitDUkVBVEUgVFlQRSB0ZXN0X252YXJjaGFyX3R5cGUgQVMgKGYgbnZhcmNo YXIpOworY29tbWVudCBvbiB0eXBlIHRlc3RfbnZhcmNoYXJfdHlwZSBpcyAn Y29tbWVudCc7Citkcm9wIHR5cGUgdGVzdF9udmFyY2hhcl90eXBlOworY3Jl YXRlIHRyaWdnZXIgdHIgYmVmb3JlIHVwZGF0ZSBvbiBudmFyY2hhcl90ZXN0 IGZvciBlYWNoIHJvdyB3aGVuIChPTEQuZj0nYScpIEVYRUNVVEUgUFJPQ0VE VVJFIHN1cHByZXNzX3JlZHVuZGFudF91cGRhdGVzX3RyaWdnZXIoKTsKK2Nv cHkgbnZhcmNoYXJfdGVzdChmKSB0byBzdGRvdXQ7CithCitjb21tZW50IG9u IENPTFVNTiBudmFyY2hhcl90ZXN0LmYgaXMgJ2NvbW1lbnQnOworYW5hbHl6 ZSBudmFyY2hhcl90ZXN0KGYpOworYWx0ZXIgdGFibGUgbnZhcmNoYXJfdGVz dCByZW5hbWUgZiB0byBmX3JlbmFtZWQ7CithbHRlciB0YWJsZSBudmFyY2hh cl90ZXN0IHJlbmFtZSBmX3JlbmFtZWQgdG8gZjsKK2FsdGVyIHRhYmxlIG52 YXJjaGFyX3Rlc3QgYWx0ZXIgdmFsIHR5cGUgbnZhcmNoYXI7CitVUERBVEUg bnZhcmNoYXJfdGVzdCBTRVQgZj0nYic7CitTRUxFQ1QgKiBmcm9tIG52YXJj aGFyX3Rlc3Q7CisgZiB8ICAgdmFsICAgIAorLS0tKy0tLS0tLS0tLS0KKyBi IHwgdGVzdF92YWwKKygxIHJvdykKKworZGVsZXRlIGZyb20gbnZhcmNoYXJf dGVzdCB3aGVyZSBmPSdiJzsKK0NSRUFURSBGVU5DVElPTiBmb28oZiBudmFy Y2hhcikgcmV0dXJucyBzZXRvZiBudmFyY2hhciBhcyAkJFNFTEVDVCBmIGZy b20gbnZhcmNoYXJfdGVzdDskJCBMQU5HVUFHRSBTUUw7CithbHRlciBmdW5j dGlvbiBmb28obnZhcmNoYXIpIHJlc2V0IGFsbDsKK2Ryb3AgZnVuY3Rpb24g Zm9vKG52YXJjaGFyKTsKK2Ryb3AgdGFibGUgbnZhcmNoYXJfdGVzdDsKK2Ny ZWF0ZSBmdW5jdGlvbiBkdW1teV9lcSAobnZhcmNoYXIsIG52YXJjaGFyKSBy ZXR1cm5zIGJvb2xlYW4gYXMgJ1NFTEVDVCAkMT0kMjsnIExBTkdVQUdFIFNR TDsKK0NSRUFURSBPUEVSQVRPUiA9PT0gKExFRlRBUkcgPSBudmFyY2hhciwg UklHSFRBUkcgPSBudmFyY2hhciwgUFJPQ0VEVVJFID0gZHVtbXlfZXEpOwor YWx0ZXIgb3BlcmF0b3IgPT09IChudmFyY2hhcixudmFyY2hhcikgc2V0IHNj aGVtYSBwZ19jYXRhbG9nOworRFJPUCBPUEVSQVRPUiAgPT09IChudmFyY2hh cixudmFyY2hhcik7Citkcm9wIGZ1bmN0aW9uIGR1bW15X2VxIChudmFyY2hh ciwgbnZhcmNoYXIpOworY3JlYXRlIGNhc3QgKG5hbWUgYXMgbnZhcmNoYXIp IHdpdGggRlVOQ1RJT04gICJudmFyY2hhciIobmFtZSk7Citkcm9wIGNhc3Qg KG5hbWUgYXMgbnZhcmNoYXIpOworY3JlYXRlIGZvcmVpZ24gZGF0YSB3cmFw cGVyIGR1bW15OworQ1JFQVRFIFNFUlZFUiBmb28gRk9SRUlHTiBEQVRBIFdS QVBQRVIgImR1bW15IjsKK2NyZWF0ZSBmb3JlaWduIHRhYmxlIGZ0X252YXJj aGFyIChmIG52YXJjaGFyLCB2YXIgdmFyY2hhcikgc2VydmVyIGZvbzsKK2Fs dGVyIGZvcmVpZ24gdGFibGUgZnRfbnZhcmNoYXIgYWx0ZXIgdmFyIHR5cGUg bnZhcmNoYXI7CithbHRlciBmb3JlaWduIHRhYmxlIGZ0X252YXJjaGFyIHJl bmFtZSBjb2x1bW4gZiB0byBmX25ldzsKK2Ryb3AgZm9yZWlnbiB0YWJsZSBm dF9udmFyY2hhcjsKK2Ryb3AgU0VSVkVSIGZvbzsKK2Ryb3AgZm9yZWlnbiBk YXRhIHdyYXBwZXIgZHVtbXk7CmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQt MjAxMzEwMTcvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vcHJfc2FuaXR5 Lm91dCBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9vcHJfc2FuaXR5Lm91dAotLS0gcG9zdGdyZXNx bC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvb3By X3Nhbml0eS5vdXQJMjAxMy0xMC0xNyAwNDoyMjo1NS4wMDAwMDAwMDAgKzEx MDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL29wcl9zYW5pdHkub3V0CTIwMTMtMTAtMzEg MTM6NDc6NTYuMDAwMDAwMDAwICsxMTAwCkBAIC0xNTQsOCArMTU0LDExIEBA CiAgcHJvcmV0dHlwZSB8IHByb3JldHR5cGUgCiAtLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCiAgICAgICAgICAyNSB8ICAgICAgIDEwNDMKKyAgICAgICAg IDI1IHwgICAgICAgNjAwMQorICAgICAgIDEwNDIgfCAgICAgICA1MDAxCisg ICAgICAgMTA0MyB8ICAgICAgIDYwMDEKICAgICAgICAxMTE0IHwgICAgICAg MTE4NAotKDIgcm93cykKKyg1IHJvd3MpCiAKIFNFTEVDVCBESVNUSU5DVCBw MS5wcm9hcmd0eXBlc1swXSwgcDIucHJvYXJndHlwZXNbMF0KIEZST00gcGdf cHJvYyBBUyBwMSwgcGdfcHJvYyBBUyBwMgpAQCAtMTcxLDEwICsxNzQsMTQg QEAKIC0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQogICAgICAgICAgIDI1 IHwgICAgICAgIDEwNDIKICAgICAgICAgICAyNSB8ICAgICAgICAxMDQzCisg ICAgICAgICAgMjUgfCAgICAgICAgNTAwMQorICAgICAgICAgIDI1IHwgICAg ICAgIDYwMDEKKyAgICAgICAgMTA0MiB8ICAgICAgICA1MDAxCisgICAgICAg IDEwNDMgfCAgICAgICAgNjAwMQogICAgICAgICAxMTE0IHwgICAgICAgIDEx ODQKICAgICAgICAgMTU2MCB8ICAgICAgICAxNTYyCiAgICAgICAgIDIyNzcg fCAgICAgICAgMjI4MwotKDUgcm93cykKKyg5IHJvd3MpCiAKIFNFTEVDVCBE SVNUSU5DVCBwMS5wcm9hcmd0eXBlc1sxXSwgcDIucHJvYXJndHlwZXNbMV0K IEZST00gcGdfcHJvYyBBUyBwMSwgcGdfcHJvYyBBUyBwMgpAQCAtMTg5LDEw ICsxOTYsMTEgQEAKICBwcm9hcmd0eXBlcyB8IHByb2FyZ3R5cGVzIAogLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCiAgICAgICAgICAgMjMgfCAgICAg ICAgICAyOAorICAgICAgICAxMDQyIHwgICAgICAgIDUwMDEKICAgICAgICAg MTExNCB8ICAgICAgICAxMTg0CiAgICAgICAgIDE1NjAgfCAgICAgICAgMTU2 MgogICAgICAgICAyMjc3IHwgICAgICAgIDIyODMKLSg0IHJvd3MpCisoNSBy b3dzKQogCiBTRUxFQ1QgRElTVElOQ1QgcDEucHJvYXJndHlwZXNbMl0sIHAy LnByb2FyZ3R5cGVzWzJdCiBGUk9NIHBnX3Byb2MgQVMgcDEsIHBnX3Byb2Mg QVMgcDIKQEAgLTQzNCwxNiArNDQyLDIwIEBACiAgICAgICAgICAgICAgICAg V0hFUkUgay5jYXN0bWV0aG9kID0gJ2InIEFORAogICAgICAgICAgICAgICAg ICAgICBrLmNhc3Rzb3VyY2UgPSBjLmNhc3R0YXJnZXQgQU5ECiAgICAgICAg ICAgICAgICAgICAgIGsuY2FzdHRhcmdldCA9IGMuY2FzdHNvdXJjZSk7Ci0g ICAgY2FzdHNvdXJjZSAgICAgfCAgICBjYXN0dGFyZ2V0ICAgICB8IGNhc3Rm dW5jIHwgY2FzdGNvbnRleHQgCi0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gdGV4 dCAgICAgICAgICAgICAgfCBjaGFyYWN0ZXIgICAgICAgICB8ICAgICAgICAw IHwgaQotIGNoYXJhY3RlciB2YXJ5aW5nIHwgY2hhcmFjdGVyICAgICAgICAg fCAgICAgICAgMCB8IGkKLSBwZ19ub2RlX3RyZWUgICAgICB8IHRleHQgICAg ICAgICAgICAgIHwgICAgICAgIDAgfCBpCi0gY2lkciAgICAgICAgICAgICAg fCBpbmV0ICAgICAgICAgICAgICB8ICAgICAgICAwIHwgaQotIHhtbCAgICAg ICAgICAgICAgIHwgdGV4dCAgICAgICAgICAgICAgfCAgICAgICAgMCB8IGEK LSB4bWwgICAgICAgICAgICAgICB8IGNoYXJhY3RlciB2YXJ5aW5nIHwgICAg ICAgIDAgfCBhCi0geG1sICAgICAgICAgICAgICAgfCBjaGFyYWN0ZXIgICAg ICAgICB8ICAgICAgICAwIHwgYQotKDcgcm93cykKKyAgICAgICAgIGNhc3Rz b3VyY2UgICAgICAgICB8ICAgICBjYXN0dGFyZ2V0ICAgICB8IGNhc3RmdW5j IHwgY2FzdGNvbnRleHQgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LQorIHRleHQgICAgICAgICAgICAgICAgICAgICAgIHwgY2hhcmFjdGVyICAg ICAgICAgIHwgICAgICAgIDAgfCBpCisgY2hhcmFjdGVyIHZhcnlpbmcgICAg ICAgICAgfCBjaGFyYWN0ZXIgICAgICAgICAgfCAgICAgICAgMCB8IGkKKyB0 ZXh0ICAgICAgICAgICAgICAgICAgICAgICB8IG5hdGlvbmFsIGNoYXJhY3Rl ciB8ICAgICAgICAwIHwgaQorIG5hdGlvbmFsIGNoYXJhY3RlciB2YXJ5aW5n IHwgY2hhcmFjdGVyICAgICAgICAgIHwgICAgICAgIDAgfCBpCisgY2hhcmFj dGVyIHZhcnlpbmcgICAgICAgICAgfCBuYXRpb25hbCBjaGFyYWN0ZXIgfCAg ICAgICAgMCB8IGkKKyBuYXRpb25hbCBjaGFyYWN0ZXIgdmFyeWluZyB8IG5h dGlvbmFsIGNoYXJhY3RlciB8ICAgICAgICAwIHwgaQorIHBnX25vZGVfdHJl ZSAgICAgICAgICAgICAgIHwgdGV4dCAgICAgICAgICAgICAgIHwgICAgICAg IDAgfCBpCisgY2lkciAgICAgICAgICAgICAgICAgICAgICAgfCBpbmV0ICAg ICAgICAgICAgICAgfCAgICAgICAgMCB8IGkKKyB4bWwgICAgICAgICAgICAg ICAgICAgICAgICB8IHRleHQgICAgICAgICAgICAgICB8ICAgICAgICAwIHwg YQorIHhtbCAgICAgICAgICAgICAgICAgICAgICAgIHwgY2hhcmFjdGVyIHZh cnlpbmcgIHwgICAgICAgIDAgfCBhCisgeG1sICAgICAgICAgICAgICAgICAg ICAgICAgfCBjaGFyYWN0ZXIgICAgICAgICAgfCAgICAgICAgMCB8IGEKKygx MSByb3dzKQogCiAtLSAqKioqKioqKioqKioqKioqIHBnX29wZXJhdG9yICoq KioqKioqKioqKioqKioKIC0tIExvb2sgZm9yIGlsbGVnYWwgdmFsdWVzIGlu IHBnX29wZXJhdG9yIGZpZWxkcy4KQEAgLTEyMjgsNyArMTI0MCw5IEBACiAg ICAgICAgICAgICAgICAgIHAzLmFtb3BzdHJhdGVneSA9IDEpOwogIGFtb3Bs ZWZ0dHlwZSB8IGFtb3BsZWZ0dHlwZSAKIC0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tCi0oMCByb3dzKQorICAgICAgICAgMTA0MiB8ICAgICAgICAg NTAwMQorICAgICAgICAgNTAwMSB8ICAgICAgICAgMTA0MgorKDIgcm93cykK IAogLS0gKioqKioqKioqKioqKioqKiBwZ19hbXByb2MgKioqKioqKioqKioq KioqKgogLS0gTG9vayBmb3IgaWxsZWdhbCB2YWx1ZXMgaW4gcGdfYW1wcm9j IGZpZWxkcwpAQCAtMTI4OSw5ICsxMzAzLDExIEBACiBHUk9VUCBCWSBhbW5h bWUsIGFtc3VwcG9ydCwgb3BjbmFtZSwgYW1wcm9jZmFtaWx5CiBIQVZJTkcg KGNvdW50KCopICE9IGFtc3VwcG9ydCBBTkQgY291bnQoKikgIT0gYW1zdXBw b3J0IC0gMSkKICAgICBPUiBhbXByb2NmYW1pbHkgSVMgTlVMTDsKLSBhbW5h bWUgfCBvcGNuYW1lIHwgY291bnQgCi0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLQotKDAgcm93cykKKyBhbW5hbWUgfCAgICBvcGNuYW1lICAgIHwgY291 bnQgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQorIGdpbiAg ICB8IF9uYnBjaGFyX29wcyAgfCAgICAgMQorIGdpbiAgICB8IF9udmFyY2hh cl9vcHMgfCAgICAgMQorKDIgcm93cykKIAogLS0gVW5mb3J0dW5hdGVseSwg d2UgY2FuJ3QgY2hlY2sgdGhlIGFtcHJvYyBsaW5rIHZlcnkgd2VsbCBiZWNh dXNlIHRoZQogLS0gc2lnbmF0dXJlIG9mIHRoZSBmdW5jdGlvbiBtYXkgYmUg ZGlmZmVyZW50IGZvciBkaWZmZXJlbnQgc3VwcG9ydCByb3V0aW5lcwpAQCAt MTMzMiw5ICsxMzQ4LDExIEBACiAgICAgICAgICAgVEhFTiBwcm9yZXR0eXBl ICE9ICd2b2lkJzo6cmVndHlwZSBPUiBwcm9yZXRzZXQgT1IgcHJvbmFyZ3Mg IT0gMQogICAgICAgICAgICAgICAgT1IgcHJvYXJndHlwZXNbMF0gIT0gJ2lu dGVybmFsJzo6cmVndHlwZQogICAgICAgICAgIEVMU0UgdHJ1ZSBFTkQpOwot IGFtcHJvY2ZhbWlseSB8IGFtcHJvY251bSB8IG9pZCB8IHByb25hbWUgfCBv cGZuYW1lIAotLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLQotKDAgcm93cykKKyBhbXByb2NmYW1pbHkgfCBh bXByb2NudW0gfCBvaWQgIHwgICAgICAgcHJvbmFtZSAgICAgICAgfCAgICAg IG9wZm5hbWUgICAgICAgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLQorICAgICAgICAgIDQyNiB8ICAgICAgICAgMSB8IDEwNzggfCBicGNo YXJjbXAgICAgICAgICAgICB8IGJwY2hhcl9vcHMKKyAgICAgICAgIDIwOTcg fCAgICAgICAgIDEgfCAyMTgwIHwgYnRicGNoYXJfcGF0dGVybl9jbXAgfCBi cGNoYXJfcGF0dGVybl9vcHMKKygyIHJvd3MpCiAKIC0tIEZvciBoYXNoIHdl IGNhbiBhbHNvIGRvIGEgbGl0dGxlIGJldHRlcjogdGhlIHN1cHBvcnQgcm91 dGluZXMgbXVzdCBiZQogLS0gb2YgdGhlIGZvcm0gaGFzaChsZWZ0dHlwZSkg cmV0dXJucyBpbnQ0LiAgVGhlcmUgYXJlIHNldmVyYWwgY2FzZXMgd2hlcmUK ZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3Nhbml0eV9jaGVjay5vdXQgcG9zdGdyZXNxbC1o ZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv c2FuaXR5X2NoZWNrLm91dAotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3 L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2FuaXR5X2NoZWNrLm91dAky MDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEwMAorKysgcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvc2FuaXR5X2NoZWNrLm91dAkyMDEzLTEwLTE3IDE0OjA1OjMwLjAw MDAwMDAwMCArMTEwMApAQCAtNjksNiArNjksNyBAQAogIGxzZWdfdGJsICAg ICAgICAgICAgICAgIHwgZgogIG1haW5fdGFibGUgICAgICAgICAgICAgIHwg ZgogIG1vbmV5X2RhdGEgICAgICAgICAgICAgIHwgZgorIG5jaGFyX3RibCAg ICAgICAgICAgICAgIHwgZgogIG51bV9kYXRhICAgICAgICAgICAgICAgIHwg ZgogIG51bV9leHBfYWRkICAgICAgICAgICAgIHwgdAogIG51bV9leHBfZGl2 ICAgICAgICAgICAgIHwgdApAQCAtODAsNiArODEsNyBAQAogIG51bV9leHBf c3ViICAgICAgICAgICAgIHwgdAogIG51bV9pbnB1dF90ZXN0ICAgICAgICAg IHwgZgogIG51bV9yZXN1bHQgICAgICAgICAgICAgIHwgZgorIG52YXJjaGFy X3RibCAgICAgICAgICAgIHwgZgogIG9uZWsgICAgICAgICAgICAgICAgICAg IHwgdAogIG9uZWsyICAgICAgICAgICAgICAgICAgIHwgdAogIHBhdGhfdGJs ICAgICAgICAgICAgICAgIHwgZgpAQCAtMTY3LDcgKzE2OSw3IEBACiAgdGlt ZXR6X3RibCAgICAgICAgICAgICAgfCBmCiAgdGludGVydmFsX3RibCAgICAg ICAgICAgfCBmCiAgdmFyY2hhcl90YmwgICAgICAgICAgICAgfCBmCi0oMTU2 IHJvd3MpCisoMTU4IHJvd3MpCiAKIC0tCiAtLSBhbm90aGVyIHNhbml0eSBj aGVjazogZXZlcnkgc3lzdGVtIGNhdGFsb2cgdGhhdCBoYXMgT0lEcyBzaG91 bGQgaGF2ZQpkaWZmIC11TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RyaW5ncy5vdXQgcG9zdGdyZXNx bC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvc3RyaW5ncy5vdXQKLS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N0cmluZ3Mub3V0CTIwMTMtMTAt MTcgMDQ6MjI6NTUuMDAwMDAwMDAwICsxMTAwCisrKyBwb3N0Z3Jlc3FsLWhl YWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9z dHJpbmdzLm91dAkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAwMDAwMCArMTEw MApAQCAtMjAzLDYgKzIwMywxNSBAQAogIGFiY2QKICg0IHJvd3MpCiAKK1NF TEVDVCBDQVNUKGYxIEFTIHRleHQpIEFTICJ0ZXh0KG5jaGFyKSIgRlJPTSBO Q0hBUl9UQkw7CisgdGV4dChuY2hhcikgCistLS0tLS0tLS0tLS0tCisgYQor IGFiCisgYWJjZAorIGFiY2QKKyg0IHJvd3MpCisKIFNFTEVDVCBDQVNUKGYx IEFTIHRleHQpIEFTICJ0ZXh0KHZhcmNoYXIpIiBGUk9NIFZBUkNIQVJfVEJM OwogIHRleHQodmFyY2hhcikgCiAtLS0tLS0tLS0tLS0tLS0KQEAgLTIxMiw2 ICsyMjEsMTUgQEAKICBhYmNkCiAoNCByb3dzKQogCitTRUxFQ1QgQ0FTVChm MSBBUyB0ZXh0KSBBUyAidGV4dChudmFyY2hhcikiIEZST00gTlZBUkNIQVJf VEJMOworIHRleHQobnZhcmNoYXIpIAorLS0tLS0tLS0tLS0tLS0tLQorIGEK KyBhYgorIGFiY2QKKyBhYmNkCisoNCByb3dzKQorCiBTRUxFQ1QgQ0FTVChu YW1lICduYW1lZmllbGQnIEFTIHRleHQpIEFTICJ0ZXh0KG5hbWUpIjsKICB0 ZXh0KG5hbWUpIAogLS0tLS0tLS0tLS0tCkBAIC0yMjcsNiArMjQ1LDE0IEBA CiAoMiByb3dzKQogCiAtLSBub3RlOiBpbXBsaWNpdC1jYXN0IGNhc2UgaXMg dGVzdGVkIGluIGNoYXIuc3FsCitTRUxFQ1QgQ0FTVChmMSBBUyBuY2hhcigx MCkpIEFTICJuY2hhcih0ZXh0KSIgRlJPTSBURVhUX1RCTDsKKyBuY2hhcih0 ZXh0KSAKKy0tLS0tLS0tLS0tLS0KKyBkb2ghICAgICAgCisgaGkgZGUgaG8g bgorKDIgcm93cykKKworLS0gbm90ZTogaW1wbGljaXQtY2FzdCBjYXNlIGlz IHRlc3RlZCBpbiBuY2hhci5zcWwKIFNFTEVDVCBDQVNUKGYxIEFTIGNoYXIo MjApKSBBUyAiY2hhcih0ZXh0KSIgRlJPTSBURVhUX1RCTDsKICAgICAgIGNo YXIodGV4dCkgICAgICAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTIz NCw2ICsyNjAsMTMgQEAKICBoaSBkZSBobyBuZWlnaGJvciAgIAogKDIgcm93 cykKIAorU0VMRUNUIENBU1QoZjEgQVMgbmNoYXIoMjApKSBBUyAibmNoYXIo dGV4dCkiIEZST00gVEVYVF9UQkw7CisgICAgIG5jaGFyKHRleHQpICAgICAg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZG9oISAgICAgICAgICAgICAg ICAKKyBoaSBkZSBobyBuZWlnaGJvciAgIAorKDIgcm93cykKKwogU0VMRUNU IENBU1QoZjEgQVMgY2hhcigxMCkpIEFTICJjaGFyKHZhcmNoYXIpIiBGUk9N IFZBUkNIQVJfVEJMOwogIGNoYXIodmFyY2hhcikgCiAtLS0tLS0tLS0tLS0t LS0KQEAgLTI0MywxMiArMjc2LDI3IEBACiAgYWJjZCAgICAgIAogKDQgcm93 cykKIAorU0VMRUNUIENBU1QoZjEgQVMgbmNoYXIoMTApKSBBUyAibmNoYXIo bnZhcmNoYXIpIiBGUk9NIE5WQVJDSEFSX1RCTDsKKyBuY2hhcihudmFyY2hh cikgCistLS0tLS0tLS0tLS0tLS0tLQorIGEgICAgICAgICAKKyBhYiAgICAg ICAgCisgYWJjZCAgICAgIAorIGFiY2QgICAgICAKKyg0IHJvd3MpCisKIFNF TEVDVCBDQVNUKG5hbWUgJ25hbWVmaWVsZCcgQVMgY2hhcigxMCkpIEFTICJj aGFyKG5hbWUpIjsKICBjaGFyKG5hbWUpIAogLS0tLS0tLS0tLS0tCiAgbmFt ZWZpZWxkIAogKDEgcm93KQogCitTRUxFQ1QgQ0FTVChuYW1lICduYW1lZmll bGQnIEFTIG5jaGFyKDEwKSkgQVMgIm5jaGFyKG5hbWUpIjsKKyBuY2hhcihu YW1lKSAKKy0tLS0tLS0tLS0tLS0KKyBuYW1lZmllbGQgCisoMSByb3cpCisK IFNFTEVDVCBDQVNUKGYxIEFTIHZhcmNoYXIpIEFTICJ2YXJjaGFyKHRleHQp IiBGUk9NIFRFWFRfVEJMOwogICAgdmFyY2hhcih0ZXh0KSAgIAogLS0tLS0t LS0tLS0tLS0tLS0tLQpAQCAtMjU2LDYgKzMwNCwxMyBAQAogIGhpIGRlIGhv IG5laWdoYm9yCiAoMiByb3dzKQogCitTRUxFQ1QgQ0FTVChmMSBBUyBudmFy Y2hhcikgQVMgIm52YXJjaGFyKHRleHQpIiBGUk9NIFRFWFRfVEJMOworICBu dmFyY2hhcih0ZXh0KSAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIGRvaCEK KyBoaSBkZSBobyBuZWlnaGJvcgorKDIgcm93cykKKwogU0VMRUNUIENBU1Qo ZjEgQVMgdmFyY2hhcikgQVMgInZhcmNoYXIoY2hhcikiIEZST00gQ0hBUl9U Qkw7CiAgdmFyY2hhcihjaGFyKSAKIC0tLS0tLS0tLS0tLS0tLQpAQCAtMjY1 LDEyICszMjAsMjcgQEAKICBhYmNkCiAoNCByb3dzKQogCitTRUxFQ1QgQ0FT VChmMSBBUyBudmFyY2hhcikgQVMgIm52YXJjaGFyKG5jaGFyKSIgRlJPTSBO Q0hBUl9UQkw7CisgbnZhcmNoYXIobmNoYXIpIAorLS0tLS0tLS0tLS0tLS0t LS0KKyBhCisgYWIKKyBhYmNkCisgYWJjZAorKDQgcm93cykKKwogU0VMRUNU IENBU1QobmFtZSAnbmFtZWZpZWxkJyBBUyB2YXJjaGFyKSBBUyAidmFyY2hh cihuYW1lKSI7CiAgdmFyY2hhcihuYW1lKSAKIC0tLS0tLS0tLS0tLS0tLQog IG5hbWVmaWVsZAogKDEgcm93KQogCitTRUxFQ1QgQ0FTVChuYW1lICduYW1l ZmllbGQnIEFTIG52YXJjaGFyKSBBUyAibnZhcmNoYXIobmFtZSkiOworIG52 YXJjaGFyKG5hbWUpIAorLS0tLS0tLS0tLS0tLS0tLQorIG5hbWVmaWVsZAor KDEgcm93KQorCiAtLQogLS0gdGVzdCBTUUwgc3RyaW5nIGZ1bmN0aW9ucwog LS0gRSMjIyBhbmQgVCMjIyBhcmUgZmVhdHVyZSByZWZlcmVuY2UgbnVtYmVy cyBmcm9tIFNRTDk5CkBAIC0xMTA1LDE4ICsxMTc1LDM2IEBACiAgY2hhcmFj dGVycyBhbmQgdGV4dAogKDEgcm93KQogCitTRUxFQ1QgbmNoYXIoMjApICdu Y2hhcmFjdGVycycgfHwgJyBhbmQgdGV4dCcgQVMgIkNvbmNhdCBuY2hhciB0 byB1bmtub3duIHR5cGUiOworIENvbmNhdCBuY2hhciB0byB1bmtub3duIHR5 cGUgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBuY2hhcmFj dGVycyBhbmQgdGV4dAorKDEgcm93KQorCiBTRUxFQ1QgdGV4dCAndGV4dCcg fHwgY2hhcigyMCkgJyBhbmQgY2hhcmFjdGVycycgQVMgIkNvbmNhdCB0ZXh0 IHRvIGNoYXIiOwogIENvbmNhdCB0ZXh0IHRvIGNoYXIgCiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0KICB0ZXh0IGFuZCBjaGFyYWN0ZXJzCiAoMSByb3cpCiAK K1NFTEVDVCB0ZXh0ICd0ZXh0JyB8fCBuY2hhcigyMCkgJyBhbmQgbmNoYXJh Y3RlcnMnIEFTICJDb25jYXQgdGV4dCB0byBuY2hhciI7CisgQ29uY2F0IHRl eHQgdG8gbmNoYXIgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgdGV4dCBh bmQgbmNoYXJhY3RlcnMKKygxIHJvdykKKwogU0VMRUNUIHRleHQgJ3RleHQn IHx8IHZhcmNoYXIgJyBhbmQgdmFyY2hhcicgQVMgIkNvbmNhdCB0ZXh0IHRv IHZhcmNoYXIiOwogIENvbmNhdCB0ZXh0IHRvIHZhcmNoYXIgCiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KICB0ZXh0IGFuZCB2YXJjaGFyCiAoMSByb3cp CiAKK1NFTEVDVCB0ZXh0ICd0ZXh0JyB8fCBudmFyY2hhciAnIGFuZCBudmFy Y2hhcicgQVMgIkNvbmNhdCB0ZXh0IHRvIG52YXJjaGFyIjsKKyBDb25jYXQg dGV4dCB0byBudmFyY2hhciAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyB0ZXh0IGFuZCBudmFyY2hhcgorKDEgcm93KQorCiAtLQogLS0gdGVzdCBz dWJzdHIgd2l0aCB0b2FzdGVkIHRleHQgdmFsdWVzCiAtLQpkaWZmIC11TnIg cG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvdW5pb24ub3V0IHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hh ci9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VuaW9uLm91dAotLS0gcG9z dGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdW5pb24ub3V0CTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAwMDAwMDAwICsx MTAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC91bmlvbi5vdXQJMjAxMy0xMC0xNyAxMTo1 NjoyMi4wMDAwMDAwMDAgKzExMDAKQEAgLTI1Nyw2ICsyNTcsNDggQEAKICBo aSBkZSBobyBuZWlnaGJvcgogKDUgcm93cykKIAorLS1OVkFSQ0hBUiBzcGVj aWZpYworU0VMRUNUIGYxIEFTIHRocmVlIEZST00gTlZBUkNIQVJfVEJMCitV TklPTgorU0VMRUNUIENBU1QoZjEgQVMgbnZhcmNoYXIpIEZST00gTkNIQVJf VEJMCitPUkRFUiBCWSAxOworIHRocmVlIAorLS0tLS0tLQorIGEKKyBhYgor IGFiY2QKKygzIHJvd3MpCisKK1NFTEVDVCBmMSBBUyBlaWdodCBGUk9NIE5W QVJDSEFSX1RCTAorVU5JT04gQUxMCitTRUxFQ1QgZjEgRlJPTSBOQ0hBUl9U Qkw7CisgZWlnaHQgCistLS0tLS0tCisgYQorIGFiCisgYWJjZAorIGFiY2QK KyBhCisgYWIKKyBhYmNkCisgYWJjZAorKDggcm93cykKKworU0VMRUNUIGYx IEFTIGZpdmUgRlJPTSBURVhUX1RCTAorVU5JT04KK1NFTEVDVCBmMSBGUk9N IE5WQVJDSEFSX1RCTAorVU5JT04KK1NFTEVDVCBUUklNKFRSQUlMSU5HIEZS T00gZjEpIEZST00gTkNIQVJfVEJMCitPUkRFUiBCWSAxOworICAgICAgIGZp dmUgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIGEKKyBhYgorIGFi Y2QKKyBkb2ghCisgaGkgZGUgaG8gbmVpZ2hib3IKKyg1IHJvd3MpCisKIC0t CiAtLSBJTlRFUlNFQ1QgYW5kIEVYQ0VQVAogLS0KZGlmZiAtdU5yIHBvc3Rn cmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3VwZGF0ZS5vdXQgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRlLm91dAotLS0gcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv dXBkYXRlLm91dAkyMDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEw MAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRlLm91dAkyMDEzLTEwLTE3IDExOjU2 OjIyLjAwMDAwMDAwMCArMTEwMApAQCAtNCw0MCArNCw2NiBAQAogQ1JFQVRF IFRBQkxFIHVwZGF0ZV90ZXN0ICgKICAgICBhICAgSU5UIERFRkFVTFQgMTAs CiAgICAgYiAgIElOVCwKLSAgICBjICAgVEVYVAorICAgIGMgICBURVhULAor ICAgIGQgICBuY2hhcigxMCksCisgICAgZSAgIG52YXJjaGFyCiApOwotSU5T RVJUIElOVE8gdXBkYXRlX3Rlc3QgVkFMVUVTICg1LCAxMCwgJ2ZvbycpOwor SU5TRVJUIElOVE8gdXBkYXRlX3Rlc3QgVkFMVUVTICg1LCAxMCwgJ2Zvbycs ICdhJywgJ2EnKTsKIElOU0VSVCBJTlRPIHVwZGF0ZV90ZXN0KGIsIGEpIFZB TFVFUyAoMTUsIDEwKTsKIFNFTEVDVCAqIEZST00gdXBkYXRlX3Rlc3Q7Ci0g YSAgfCBiICB8ICBjICAKLS0tLS0rLS0tLSstLS0tLQotICA1IHwgMTAgfCBm b28KLSAxMCB8IDE1IHwgCisgYSAgfCBiICB8ICBjICB8ICAgICBkICAgICAg fCBlIAorLS0tLSstLS0tKy0tLS0tKy0tLS0tLS0tLS0tLSstLS0KKyAgNSB8 IDEwIHwgZm9vIHwgYSAgICAgICAgICB8IGEKKyAxMCB8IDE1IHwgICAgIHwg ICAgICAgICAgICB8IAorKDIgcm93cykKKworVVBEQVRFIHVwZGF0ZV90ZXN0 IFNFVCBkPSdiJywgZT0nYic7CitTRUxFQ1QgKiBGUk9NIHVwZGF0ZV90ZXN0 OworIGEgIHwgYiAgfCAgYyAgfCAgICAgZCAgICAgIHwgZSAKKy0tLS0rLS0t LSstLS0tLSstLS0tLS0tLS0tLS0rLS0tCisgIDUgfCAxMCB8IGZvbyB8IGIg ICAgICAgICAgfCBiCisgMTAgfCAxNSB8ICAgICB8IGIgICAgICAgICAgfCBi CisoMiByb3dzKQorCitVUERBVEUgdXBkYXRlX3Rlc3QgU0VUIGQ9J2MnIHdo ZXJlIGU9J2InOworU0VMRUNUICogRlJPTSB1cGRhdGVfdGVzdDsKKyBhICB8 IGIgIHwgIGMgIHwgICAgIGQgICAgICB8IGUgCistLS0tKy0tLS0rLS0tLS0r LS0tLS0tLS0tLS0tKy0tLQorICA1IHwgMTAgfCBmb28gfCBjICAgICAgICAg IHwgYgorIDEwIHwgMTUgfCAgICAgfCBjICAgICAgICAgIHwgYgorKDIgcm93 cykKKworVVBEQVRFIHVwZGF0ZV90ZXN0IFNFVCBkPU4nZScgd2hlcmUgZT1O J2InOworU0VMRUNUICogRlJPTSB1cGRhdGVfdGVzdDsKKyBhICB8IGIgIHwg IGMgIHwgICAgIGQgICAgICB8IGUgCistLS0tKy0tLS0rLS0tLS0rLS0tLS0t LS0tLS0tKy0tLQorICA1IHwgMTAgfCBmb28gfCBlICAgICAgICAgIHwgYgor IDEwIHwgMTUgfCAgICAgfCBlICAgICAgICAgIHwgYgogKDIgcm93cykKIAog VVBEQVRFIHVwZGF0ZV90ZXN0IFNFVCBhID0gREVGQVVMVCwgYiA9IERFRkFV TFQ7CiBTRUxFQ1QgKiBGUk9NIHVwZGF0ZV90ZXN0OwotIGEgIHwgYiB8ICBj ICAKLS0tLS0rLS0tKy0tLS0tCi0gMTAgfCAgIHwgZm9vCi0gMTAgfCAgIHwg CisgYSAgfCBiIHwgIGMgIHwgICAgIGQgICAgICB8IGUgCistLS0tKy0tLSst LS0tLSstLS0tLS0tLS0tLS0rLS0tCisgMTAgfCAgIHwgZm9vIHwgZSAgICAg ICAgICB8IGIKKyAxMCB8ICAgfCAgICAgfCBlICAgICAgICAgIHwgYgogKDIg cm93cykKIAogLS0gYWxpYXNlcyBmb3IgdGhlIFVQREFURSB0YXJnZXQgdGFi bGUKIFVQREFURSB1cGRhdGVfdGVzdCBBUyB0IFNFVCBiID0gMTAgV0hFUkUg dC5hID0gMTA7CiBTRUxFQ1QgKiBGUk9NIHVwZGF0ZV90ZXN0OwotIGEgIHwg YiAgfCAgYyAgCi0tLS0tKy0tLS0rLS0tLS0KLSAxMCB8IDEwIHwgZm9vCi0g MTAgfCAxMCB8IAorIGEgIHwgYiAgfCAgYyAgfCAgICAgZCAgICAgIHwgZSAK Ky0tLS0rLS0tLSstLS0tLSstLS0tLS0tLS0tLS0rLS0tCisgMTAgfCAxMCB8 IGZvbyB8IGUgICAgICAgICAgfCBiCisgMTAgfCAxMCB8ICAgICB8IGUgICAg ICAgICAgfCBiCiAoMiByb3dzKQogCiBVUERBVEUgdXBkYXRlX3Rlc3QgdCBT RVQgYiA9IHQuYiArIDEwIFdIRVJFIHQuYSA9IDEwOwogU0VMRUNUICogRlJP TSB1cGRhdGVfdGVzdDsKLSBhICB8IGIgIHwgIGMgIAotLS0tLSstLS0tKy0t LS0tCi0gMTAgfCAyMCB8IGZvbwotIDEwIHwgMjAgfCAKKyBhICB8IGIgIHwg IGMgIHwgICAgIGQgICAgICB8IGUgCistLS0tKy0tLS0rLS0tLS0rLS0tLS0t LS0tLS0tKy0tLQorIDEwIHwgMjAgfCBmb28gfCBlICAgICAgICAgIHwgYgor IDEwIHwgMjAgfCAgICAgfCBlICAgICAgICAgIHwgYgogKDIgcm93cykKIAog LS0KQEAgLTQ2LDEwICs3MiwxMCBAQAogVVBEQVRFIHVwZGF0ZV90ZXN0IFNF VCBhPXYuaSBGUk9NIChWQUxVRVMoMTAwLCAyMCkpIEFTIHYoaSwgaikKICAg V0hFUkUgdXBkYXRlX3Rlc3QuYiA9IHYuajsKIFNFTEVDVCAqIEZST00gdXBk YXRlX3Rlc3Q7Ci0gIGEgIHwgYiAgfCAgYyAgCi0tLS0tLSstLS0tKy0tLS0t Ci0gMTAwIHwgMjAgfCBmb28KLSAxMDAgfCAyMCB8IAorICBhICB8IGIgIHwg IGMgIHwgICAgIGQgICAgICB8IGUgCistLS0tLSstLS0tKy0tLS0tKy0tLS0t LS0tLS0tLSstLS0KKyAxMDAgfCAyMCB8IGZvbyB8IGUgICAgICAgICAgfCBi CisgMTAwIHwgMjAgfCAgICAgfCBlICAgICAgICAgIHwgYgogKDIgcm93cykK IAogLS0KQEAgLTU3LDE4ICs4MywxOCBAQAogLS0KIFVQREFURSB1cGRhdGVf dGVzdCBTRVQgKGMsYixhKSA9ICgnYnVnbGUnLCBiKzExLCBERUZBVUxUKSBX SEVSRSBjID0gJ2Zvbyc7CiBTRUxFQ1QgKiBGUk9NIHVwZGF0ZV90ZXN0Owot ICBhICB8IGIgIHwgICBjICAgCi0tLS0tLSstLS0tKy0tLS0tLS0KLSAxMDAg fCAyMCB8IAotICAxMCB8IDMxIHwgYnVnbGUKKyAgYSAgfCBiICB8ICAgYyAg IHwgICAgIGQgICAgICB8IGUgCistLS0tLSstLS0tKy0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLQorIDEwMCB8IDIwIHwgICAgICAgfCBlICAgICAgICAgIHwg YgorICAxMCB8IDMxIHwgYnVnbGUgfCBlICAgICAgICAgIHwgYgogKDIgcm93 cykKIAogVVBEQVRFIHVwZGF0ZV90ZXN0IFNFVCAoYyxiKSA9ICgnY2FyJywg YStiKSwgYSA9IGEgKyAxIFdIRVJFIGEgPSAxMDsKIFNFTEVDVCAqIEZST00g dXBkYXRlX3Rlc3Q7Ci0gIGEgIHwgYiAgfCAgYyAgCi0tLS0tLSstLS0tKy0t LS0tCi0gMTAwIHwgMjAgfCAKLSAgMTEgfCA0MSB8IGNhcgorICBhICB8IGIg IHwgIGMgIHwgICAgIGQgICAgICB8IGUgCistLS0tLSstLS0tKy0tLS0tKy0t LS0tLS0tLS0tLSstLS0KKyAxMDAgfCAyMCB8ICAgICB8IGUgICAgICAgICAg fCBiCisgIDExIHwgNDEgfCBjYXIgfCBlICAgICAgICAgIHwgYgogKDIgcm93 cykKIAogLS0gZmFpbCwgbXVsdGkgYXNzaWdubWVudCB0byBzYW1lIGNvbHVt bjoKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVz dC9yZWdyZXNzL291dHB1dC9taXNjLnNvdXJjZSBwb3N0Z3Jlc3FsLWhlYWQt MjAxMzEwMTctbmNoYXIvc3JjL3Rlc3QvcmVncmVzcy9vdXRwdXQvbWlzYy5z b3VyY2UKLS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9y ZWdyZXNzL291dHB1dC9taXNjLnNvdXJjZQkyMDEzLTEwLTE3IDA0OjIyOjU1 LjAwMDAwMDAwMCArMTEwMAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3 LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3Mvb3V0cHV0L21pc2Muc291cmNlCTIw MTMtMTAtMTcgMTQ6MDY6NDEuMDAwMDAwMDAwICsxMTAwCkBAIC02NDMsNiAr NjQzLDcgQEAKICBsc2VnX3RibAogIG1haW5fdGFibGUKICBtb25leV9kYXRh CisgbmNoYXJfdGJsCiAgbnVtX2RhdGEKICBudW1fZXhwX2FkZAogIG51bV9l eHBfZGl2CkBAIC02NTQsNiArNjU1LDcgQEAKICBudW1fZXhwX3N1YgogIG51 bV9pbnB1dF90ZXN0CiAgbnVtX3Jlc3VsdAorIG52YXJjaGFyX3RibAogIG9u ZWsKICBvbmVrMgogIHBhdGhfdGJsCkBAIC02OTcsNyArNjk5LDcgQEAKICB0 dnZtdgogIHZhcmNoYXJfdGJsCiAgeGFjdHRlc3QKLSgxMTkgcm93cykKKygx MjEgcm93cykKIAogU0VMRUNUIG5hbWUoZXF1aXBtZW50KGhvYmJ5X2NvbnN0 cnVjdCh0ZXh0ICdza3l3YWxraW5nJywgdGV4dCAnbWVyJykpKTsKICBuYW1l IApkaWZmIC11TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0 L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgcG9zdGdyZXNxbC1oZWFkLTIw MTMxMDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1 bGUKLS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9yZWdy ZXNzL3BhcmFsbGVsX3NjaGVkdWxlCTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAw MDAwMDAwICsxMTAwCisrKyBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNo YXIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQkyMDEzLTEw LTIyIDE1OjE2OjA2LjAwMDAwMDAwMCArMTEwMApAQCAtMTMsNyArMTMsNyBA QAogIyAtLS0tLS0tLS0tCiAjIFRoZSBmaXJzdCBncm91cCBvZiBwYXJhbGxl bCB0ZXN0cwogIyAtLS0tLS0tLS0tCi10ZXN0OiBib29sZWFuIGNoYXIgbmFt ZSB2YXJjaGFyIHRleHQgaW50MiBpbnQ0IGludDggb2lkIGZsb2F0NCBmbG9h dDggYml0IG51bWVyaWMgdHhpZCB1dWlkIGVudW0gbW9uZXkgcmFuZ2V0eXBl cwordGVzdDogYm9vbGVhbiBjaGFyIG5hbWUgdmFyY2hhciBuY2hhciBudmFy Y2hhciB0ZXh0IGludDIgaW50NCBpbnQ4IG9pZCBmbG9hdDQgZmxvYXQ4IGJp dCBudW1lcmljIHR4aWQgdXVpZCBlbnVtIG1vbmV5IHJhbmdldHlwZXMgbnZh cmNoYXJfbWlzYwogCiAjIERlcGVuZHMgb24gdGhpbmdzIHNldHVwIGR1cmlu ZyBjaGFyLCB2YXJjaGFyIGFuZCB0ZXh0CiB0ZXN0OiBzdHJpbmdzCkBAIC0x MDksMyArMTA5LDggQEAKIAogIyBydW4gc3RhdHMgYnkgaXRzZWxmIGJlY2F1 c2UgaXRzIGRlbGF5IG1heSBiZSBpbnN1ZmZpY2llbnQgdW5kZXIgaGVhdnkg bG9hZAogdGVzdDogc3RhdHMKKwordGVzdDogbl90ZXN0Cit0ZXN0OiBuY2hh cl90ZXN0Cit0ZXN0OiBudmFyY2hhcl90ZXN0CisKZGlmZiAtdU5yIHBvc3Rn cmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9yZWdyZXNzL3NlcmlhbF9z Y2hlZHVsZSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rl c3QvcmVncmVzcy9zZXJpYWxfc2NoZWR1bGUKLS0tIHBvc3RncmVzcWwtaGVh ZC0yMDEzMTAxNy9zcmMvdGVzdC9yZWdyZXNzL3NlcmlhbF9zY2hlZHVsZQky MDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAwMDAwMCArMTEwMAorKysgcG9zdGdy ZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3Mvc2Vy aWFsX3NjaGVkdWxlCTIwMTMtMTAtMjIgMTQ6Mzg6MjcuMDAwMDAwMDAwICsx MTAwCkBAIC01LDYgKzUsOSBAQAogdGVzdDogY2hhcgogdGVzdDogbmFtZQog dGVzdDogdmFyY2hhcgordGVzdDogbnZhcmNoYXIKK3Rlc3Q6IG52YXJjaGFy X21pc2MKK3Rlc3Q6IG5jaGFyCiB0ZXN0OiB0ZXh0CiB0ZXN0OiBpbnQyCiB0 ZXN0OiBpbnQ0CkBAIC0xNDEsMyArMTQ0LDcgQEAKIHRlc3Q6IHdpdGgKIHRl c3Q6IHhtbAogdGVzdDogc3RhdHMKK3Rlc3Q6IG5fdGVzdAordGVzdDogbmNo YXJfdGVzdAordGVzdDogbnZhcmNoYXJfdGVzdAorCmRpZmYgLXVOciBwb3N0 Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbl90 ZXN0LnNxbCBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rl c3QvcmVncmVzcy9zcWwvbl90ZXN0LnNxbAotLS0gcG9zdGdyZXNxbC1oZWFk LTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL25fdGVzdC5zcWwJMTk3 MC0wMS0wMSAxMDowMDowMC4wMDAwMDAwMDAgKzEwMDAKKysrIHBvc3RncmVz cWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvdGVzdC9yZWdyZXNzL3NxbC9u X3Rlc3Quc3FsCTIwMTMtMTAtMTcgMTE6NTY6MjIuMDAwMDAwMDAwICsxMTAw CkBAIC0wLDAgKzEsNTcgQEAKKworY3JlYXRlIGRvbWFpbiB0ZXN0MV9uX2Rv bWFpbiBhcyB2YXJjaGFyIGRlZmF1bHQgKE4nYScpOworY3JlYXRlIGRvbWFp biB0ZXN0Ml9uX2RvbWFpbiBhcyB2YXJjaGFyIENIRUNLICh2YWx1ZSA8PiBO J2InKTsKKworYWx0ZXIgZG9tYWluIHRlc3QxX25fZG9tYWluIHNldCBkZWZh dWx0IChOJ2InKTsKKwordmFsdWVzIChOJ2EnKTsKKworY3JlYXRlIHRhYmxl IG5fdGVzdCAoZiB2YXJjaGFyIGRlZmF1bHQgTidhJywgdmFsIHZhcmNoYXIp OworCitpbnNlcnQgaW50byBuX3Rlc3QgdmFsdWVzIChOJ2EnLCAndGVzdF92 YWwnKSByZXR1cm5pbmcgZjsKK1NFTEVDVCBmIGZyb20gbl90ZXN0OworCitz ZWxlY3QgTidhJyBhcyBmIGludG8gbl90ZXN0MSBmcm9tIG5fdGVzdDsKK3Nl bGVjdCAqIGZyb20gbl90ZXN0MTsKKworc2VsZWN0IE4nYScgYXMgZiBmcm9t IG5fdGVzdDsKK3NlbGVjdCB2YWwgZnJvbSBuX3Rlc3Qgd2hlcmUgZj1OJ2En OworCitjb3B5IChzZWxlY3QgTidhJyBmcm9tIG5fdGVzdCkgdG8gc3Rkb3V0 OworCithbHRlciB0YWJsZSBuX3Rlc3QgYWx0ZXIgZiBzZXQgZGVmYXVsdCBO J2EnOworCitwcmVwYXJlIHN0bXQgQVMgc2VsZWN0IE4nYScgYXMgZiBmcm9t IG5fdGVzdDsKK2RlYWxsb2NhdGUgc3RtdDsKKworY3JlYXRlIGluZGV4IGkg b24gbl90ZXN0KChmfHxOJ2EnKSk7CisKK2NyZWF0ZSB0cmlnZ2VyIHRyIGJl Zm9yZSB1cGRhdGUgb24gbl90ZXN0IGZvciBlYWNoIHJvdyB3aGVuIChPTEQu Zj1OJ2EnKSBFWEVDVVRFIFBST0NFRFVSRSBzdXBwcmVzc19yZWR1bmRhbnRf dXBkYXRlc190cmlnZ2VyKCk7CisKK2RvICQkYmVnaW4gcGVyZm9ybSBOJ2En IGZyb20gbl90ZXN0OyBlbmQgJCQ7CisKK2NyZWF0ZSB2aWV3IHYgYXMgc2Vs ZWN0IE4nYScgYXMgZiBmcm9tIG5fdGVzdDsKK3NlbGVjdCAqIGZyb20gdjsK KworYWx0ZXIgdmlldyB2IGFsdGVyIGNvbHVtbiBmIHNldCBkZWZhdWx0IE4n YSc7CisKK2JlZ2luO2RlY2xhcmUgYyBjdXJzb3IgZm9yIHNlbGVjdCBOJ2En IGFzIGYgZnJvbSBuX3Rlc3Q7Y29tbWl0OworCitwcmVwYXJlIHN0bXQodmFy Y2hhcikgQVMgc2VsZWN0IHZhbCBmcm9tIG5fdGVzdCB3aGVyZSBmPSQxOwor ZXhlY3V0ZSBzdG10KE4nYScpOworZGVhbGxvY2F0ZSBzdG10OworCitVUERB VEUgbl90ZXN0IFNFVCBmPU4nYic7CitTRUxFQ1QgKiBmcm9tIG5fdGVzdDsK KworZGVsZXRlIGZyb20gbl90ZXN0IHdoZXJlIGY9TidiJzsKKworQ1JFQVRF IEZVTkNUSU9OIGZvbyhmIHZhcmNoYXIgZGVmYXVsdCBOJ2EnKSByZXR1cm5z IHNldG9mIHZhcmNoYXIgYXMgJCRTRUxFQ1QgTidhJyBmcm9tIG5fdGVzdDsk JCBMQU5HVUFHRSBTUUw7CisKK2Ryb3AgdmlldyB2OworZHJvcCB0YWJsZSBu X3Rlc3Q7Citkcm9wIHRhYmxlIG5fdGVzdDE7Citkcm9wIGZ1bmN0aW9uIGZv byh2YXJjaGFyKTsKK2Ryb3AgZG9tYWluIHRlc3QxX25fZG9tYWluOworZHJv cCBkb21haW4gdGVzdDJfbl9kb21haW47CisKZGlmZiAtdU5yIHBvc3RncmVz cWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9yZWdyZXNzL3NxbC9uY2hhci5z cWwgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL25jaGFyLnNxbAotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMx MDE3L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL25jaGFyLnNxbAkxOTcwLTAxLTAx IDEwOjAwOjAwLjAwMDAwMDAwMCArMTAwMAorKysgcG9zdGdyZXNxbC1oZWFk LTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL25jaGFyLnNx bAkyMDEzLTEwLTE3IDExOjU2OjIyLjAwMDAwMDAwMCArMTEwMApAQCAtMCww ICsxLDc1IEBACistLQorLS0gTkNIQVIKKy0tCisKKy0tIGZpeGVkLWxlbmd0 aCBieSB2YWx1ZQorLS0gaW50ZXJuYWxseSBwYXNzZWQgYnkgdmFsdWUgaWYg PD0gNCBieXRlcyBpbiBzdG9yYWdlCisKK1NFTEVDVCBuY2hhciAnYycgPSBu Y2hhciAnYycgQVMgdHJ1ZTsKKworLS0KKy0tIEJ1aWxkIGEgdGFibGUgZm9y IHRlc3RpbmcKKy0tCisKK0NSRUFURSBUQUJMRSBOQ0hBUl9UQkwoZjEgbmNo YXIpOworCitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdh Jyk7CisKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ0En KTsKKworLS0gYW55IG9mIHRoZSBmb2xsb3dpbmcgdGhyZWUgaW5wdXQgZm9y bWF0cyBhcmUgYWNjZXB0YWJsZQorSU5TRVJUIElOVE8gTkNIQVJfVEJMIChm MSkgVkFMVUVTICgnMScpOworCitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYx KSBWQUxVRVMgKDIpOworCitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBW QUxVRVMgKCczJyk7CisKKy0tIHplcm8tbGVuZ3RoIG5jaGFyCitJTlNFUlQg SU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCcnKTsKKworLS0gdHJ5IG5j aGFyJ3Mgb2YgZ3JlYXRlciB0aGFuIDEgbGVuZ3RoCitJTlNFUlQgSU5UTyBO Q0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdjZCcpOworSU5TRVJUIElOVE8gTkNI QVJfVEJMIChmMSkgVkFMVUVTICgnYyAgICAgJyk7CisKKworU0VMRUNUICcn IEFTIHNldmVuLCAqIEZST00gTkNIQVJfVEJMOworCitTRUxFQ1QgJycgQVMg c2l4LCBjLioKKyAgIEZST00gTkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEg PD4gJ2EnOworCitTRUxFQ1QgJycgQVMgb25lLCBjLioKKyAgIEZST00gTkNI QVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPSAnYSc7CisKK1NFTEVDVCAnJyBB UyBmaXZlLCBjLioKKyAgIEZST00gTkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMu ZjEgPCAnYSc7CisKK1NFTEVDVCAnJyBBUyBzaXgsIGMuKgorICAgRlJPTSBO Q0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA8PSAnYSc7CisKK1NFTEVDVCAn JyBBUyBvbmUsIGMuKgorICAgRlJPTSBOQ0hBUl9UQkwgYworICAgV0hFUkUg Yy5mMSA+ICdhJzsKKworU0VMRUNUICcnIEFTIHR3bywgYy4qCisgICBGUk9N IE5DSEFSX1RCTCBjCisgICBXSEVSRSBjLmYxID49ICdhJzsKKworRFJPUCBU QUJMRSBOQ0hBUl9UQkw7CisKKy0tCistLSBOb3cgdGVzdCBsb25nZXIgYXJy YXlzIG9mIG5jaGFyCistLQorCitDUkVBVEUgVEFCTEUgTkNIQVJfVEJMKGYx IG5jaGFyKDQpKTsKKworSU5TRVJUIElOVE8gTkNIQVJfVEJMIChmMSkgVkFM VUVTICgnYScpOworSU5TRVJUIElOVE8gTkNIQVJfVEJMIChmMSkgVkFMVUVT ICgnYWInKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAo J2FiY2QnKTsKK0lOU0VSVCBJTlRPIE5DSEFSX1RCTCAoZjEpIFZBTFVFUyAo J2FiY2RlJyk7CitJTlNFUlQgSU5UTyBOQ0hBUl9UQkwgKGYxKSBWQUxVRVMg KCdhYmNkICAgICcpOworCitTRUxFQ1QgJycgQVMgZm91ciwgKiBGUk9NIE5D SEFSX1RCTDsKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9z cmMvdGVzdC9yZWdyZXNzL3NxbC9uY2hhcl90ZXN0LnNxbCBwb3N0Z3Jlc3Fs LWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbmNo YXJfdGVzdC5zcWwKLS0tIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9zcmMv dGVzdC9yZWdyZXNzL3NxbC9uY2hhcl90ZXN0LnNxbAkxOTcwLTAxLTAxIDEw OjAwOjAwLjAwMDAwMDAwMCArMTAwMAorKysgcG9zdGdyZXNxbC1oZWFkLTIw MTMxMDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL25jaGFyX3Rlc3Qu c3FsCTIwMTMtMTAtMTcgMTE6NTY6MjIuMDAwMDAwMDAwICsxMTAwCkBAIC0w LDAgKzEsMTAxIEBACisKK0NSRUFURSBBR0dSRUdBVEUgdGVzdF9uY2hhcl9h Z2cgKG5jaGFyKDEwKSkgKCBzZnVuYyA9IGFycmF5X2FwcGVuZCwgc3R5cGUg PSBuY2hhcigxMClbXSwgaW5pdGNvbmQgPSAne30nKTsKKworYWx0ZXIgYWdn cmVnYXRlIHRlc3RfbmNoYXJfYWdnIChuY2hhcigxMCkpIHJlbmFtZSB0byB0 ZXN0X25jaGFyX2FnZ3JlZ2F0ZTsKKworZHJvcCBhZ2dyZWdhdGUgdGVzdF9u Y2hhcl9hZ2dyZWdhdGUobmNoYXIoMTApKTsKKworY3JlYXRlIGRvbWFpbiB0 ZXN0X25jaGFyX2RvbWFpbiBhcyBuY2hhcigxMCk7CisKK2Ryb3AgZG9tYWlu IHRlc3RfbmNoYXJfZG9tYWluOworCitjcmVhdGUgdGFibGUgbmNoYXJfdGVz dCAoZiBuY2hhcigxMCksIHZhbCB2YXJjaGFyKTsKKworY3JlYXRlIGluZGV4 IGkgb24gbmNoYXJfdGVzdChmKTsKKwordmFjdXVtIGFuYWx5emUgbmNoYXJf dGVzdChmKTsKKworaW5zZXJ0IGludG8gbmNoYXJfdGVzdCB2YWx1ZXMgKCdh JywgJ3Rlc3RfdmFsJykgcmV0dXJuaW5nIChmKTsKK1NFTEVDVCBmIGZyb20g bmNoYXJfdGVzdDsKKworc2VsZWN0IGYgaW50byBuY2hhcl90ZXN0MSBmcm9t IG5jaGFyX3Rlc3Q7CitzZWxlY3QgKiBmcm9tIG5jaGFyX3Rlc3QxOworCitk cm9wIHRhYmxlIG5jaGFyX3Rlc3QxOworCitzZWxlY3QgZiBmcm9tIG5jaGFy X3Rlc3Q7CitzZWxlY3QgdmFsIGZyb20gbmNoYXJfdGVzdCB3aGVyZSBmPSdh JzsKKworcHJlcGFyZSBzdG10IEFTIHNlbGVjdCBmIGZyb20gbmNoYXJfdGVz dDsKK3ByZXBhcmUgc3RtdDEobmNoYXIoMTApKSBBUyBzZWxlY3QgdmFsIGZy b20gbmNoYXJfdGVzdCB3aGVyZSBmPSQxOworCitkZWFsbG9jYXRlIHN0bXQ7 CitkZWFsbG9jYXRlIHN0bXQxOworCitwcmVwYXJlIHN0bXQodmFyY2hhcikg QVMgc2VsZWN0IHZhbCBmcm9tIG5jaGFyX3Rlc3Qgd2hlcmUgZj0kMTsKK2V4 ZWN1dGUgc3RtdCgnYScpOworCitkZWFsbG9jYXRlIHN0bXQ7CisKK2JlZ2lu O2RlY2xhcmUgYyBjdXJzb3IgZm9yIHNlbGVjdCBmIGZyb20gbmNoYXJfdGVz dDtjb21taXQ7CisKK2NyZWF0ZSB2aWV3IHYgYXMgc2VsZWN0IGYgZnJvbSBu Y2hhcl90ZXN0Oworc2VsZWN0ICogZnJvbSB2OworCithbHRlciB2aWV3IHYg YWx0ZXIgY29sdW1uIGYgc2V0IGRlZmF1bHQgJ2EnOworCitkcm9wIHZpZXcg djsKKworZG8gJCRiZWdpbiBwZXJmb3JtIGYgZnJvbSBuY2hhcl90ZXN0OyBl bmQgJCQ7CisKK0NSRUFURSBUWVBFIHRlc3RfbmNoYXJfdHlwZSBBUyAoZiBu Y2hhcigxMCkpOworCitjb21tZW50IG9uIHR5cGUgdGVzdF9uY2hhcl90eXBl IGlzICdjb21tZW50JzsKKworZHJvcCB0eXBlIHRlc3RfbmNoYXJfdHlwZTsK KworY3JlYXRlIHRyaWdnZXIgdHIgYmVmb3JlIHVwZGF0ZSBvbiBuY2hhcl90 ZXN0IGZvciBlYWNoIHJvdyB3aGVuIChPTEQuZj0nYScpIEVYRUNVVEUgUFJP Q0VEVVJFIHN1cHByZXNzX3JlZHVuZGFudF91cGRhdGVzX3RyaWdnZXIoKTsK KworY29weSBuY2hhcl90ZXN0KGYpIHRvIHN0ZG91dDsKKworY29tbWVudCBv biBDT0xVTU4gbmNoYXJfdGVzdC5mIGlzICdjb21tZW50JzsKKworYW5hbHl6 ZSBuY2hhcl90ZXN0KGYpOworCithbHRlciB0YWJsZSBuY2hhcl90ZXN0IHJl bmFtZSBmIHRvIGZfcmVuYW1lZDsKK2FsdGVyIHRhYmxlIG5jaGFyX3Rlc3Qg cmVuYW1lIGZfcmVuYW1lZCB0byBmOworCithbHRlciB0YWJsZSBuY2hhcl90 ZXN0IGFsdGVyIHZhbCB0eXBlIG5jaGFyKDEwKTsKKworVVBEQVRFIG5jaGFy X3Rlc3QgU0VUIGY9J2InOworU0VMRUNUICogZnJvbSBuY2hhcl90ZXN0Owor CitkZWxldGUgZnJvbSBuY2hhcl90ZXN0IHdoZXJlIGY9J2InOworCitDUkVB VEUgRlVOQ1RJT04gZm9vKGYgbmNoYXIoMTApKSByZXR1cm5zIHNldG9mIG5j aGFyKDEwKSBhcyAkJFNFTEVDVCBmIGZyb20gbmNoYXJfdGVzdDskJCBMQU5H VUFHRSBTUUw7CisKK2FsdGVyIGZ1bmN0aW9uIGZvbyhuY2hhcigxMCkpIHJl c2V0IGFsbDsKKworZHJvcCBmdW5jdGlvbiBmb28obmNoYXIoMTApKTsKKwor ZHJvcCB0YWJsZSBuY2hhcl90ZXN0OworCitjcmVhdGUgZnVuY3Rpb24gZHVt bXlfZXEgKG5jaGFyLCBuY2hhcikgcmV0dXJucyBib29sZWFuIGFzICdTRUxF Q1QgJDE9JDI7JyBMQU5HVUFHRSBTUUw7CitDUkVBVEUgT1BFUkFUT1IgPT09 IChMRUZUQVJHID0gbmNoYXIsIFJJR0hUQVJHID0gbmNoYXIsIFBST0NFRFVS RSA9IGR1bW15X2VxKTsKK2FsdGVyIG9wZXJhdG9yID09PSAobmNoYXIsbmNo YXIpIHNldCBzY2hlbWEgcGdfY2F0YWxvZzsKK0RST1AgT1BFUkFUT1IgID09 PSAobmNoYXIsbmNoYXIpOworZHJvcCBmdW5jdGlvbiBkdW1teV9lcSAobmNo YXIsIG5jaGFyKTsKKworY3JlYXRlIGNhc3QgKG5jaGFyIGFzIGJ5dGVhKSB3 aXRoIEZVTkNUSU9OIG5icGNoYXJzZW5kKG5jaGFyKTsKK2Ryb3AgY2FzdCAo bmNoYXIgYXMgYnl0ZWEpOworCitjcmVhdGUgZm9yZWlnbiBkYXRhIHdyYXBw ZXIgZHVtbXk7CitDUkVBVEUgU0VSVkVSIGZvbyBGT1JFSUdOIERBVEEgV1JB UFBFUiAiZHVtbXkiOworY3JlYXRlIGZvcmVpZ24gdGFibGUgZnRfbmNoYXIg KGYgbmNoYXIoMTApLCB2YXIgdmFyY2hhcikgc2VydmVyIGZvbzsKK2FsdGVy IGZvcmVpZ24gdGFibGUgZnRfbmNoYXIgYWx0ZXIgdmFyIHR5cGUgbmNoYXIo MTApOworYWx0ZXIgZm9yZWlnbiB0YWJsZSBmdF9uY2hhciByZW5hbWUgY29s dW1uIGYgdG8gZl9uZXc7Citkcm9wIGZvcmVpZ24gdGFibGUgZnRfbmNoYXI7 Citkcm9wIFNFUlZFUiBmb287Citkcm9wIGZvcmVpZ24gZGF0YSB3cmFwcGVy IGR1bW15OworCisKZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAx Ny9zcmMvdGVzdC9yZWdyZXNzL3NxbC9udmFyY2hhci5zcWwgcG9zdGdyZXNx bC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL252 YXJjaGFyLnNxbAotLS0gcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL252YXJjaGFyLnNxbAkxOTcwLTAxLTAxIDEwOjAw OjAwLjAwMDAwMDAwMCArMTAwMAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMx MDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL252YXJjaGFyLnNxbAky MDEzLTEwLTE3IDExOjU2OjIyLjAwMDAwMDAwMCArMTEwMApAQCAtMCwwICsx LDY2IEBACistLQorLS0gTlZBUkNIQVIKKy0tCisKK0NSRUFURSBUQUJMRSBO VkFSQ0hBUl9UQkwoZjEgbnZhcmNoYXIoMSkpOworCitJTlNFUlQgSU5UTyBO VkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdhJyk7CisKK0lOU0VSVCBJTlRP IE5WQVJDSEFSX1RCTCAoZjEpIFZBTFVFUyAoJ0EnKTsKKworLS0gYW55IG9m IHRoZSBmb2xsb3dpbmcgdGhyZWUgaW5wdXQgZm9ybWF0cyBhcmUgYWNjZXB0 YWJsZQorSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgn MScpOworCitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMg KDIpOworCitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMg KCczJyk7CisKKy0tIHplcm8tbGVuZ3RoIG52YXJjaGFyCitJTlNFUlQgSU5U TyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCcnKTsKKworLS0gdHJ5IG52 YXJjaGFyJ3Mgb2YgZ3JlYXRlciB0aGFuIDEgbGVuZ3RoCitJTlNFUlQgSU5U TyBOVkFSQ0hBUl9UQkwgKGYxKSBWQUxVRVMgKCdjZCcpOworSU5TRVJUIElO VE8gTlZBUkNIQVJfVEJMIChmMSkgVkFMVUVTICgnYyAgICAgJyk7CisKKwor U0VMRUNUICcnIEFTIHNldmVuLCAqIEZST00gTlZBUkNIQVJfVEJMOworCitT RUxFQ1QgJycgQVMgc2l4LCBjLioKKyAgIEZST00gTlZBUkNIQVJfVEJMIGMK KyAgIFdIRVJFIGMuZjEgPD4gJ2EnOworCitTRUxFQ1QgJycgQVMgb25lLCBj LioKKyAgIEZST00gTlZBUkNIQVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPSAn YSc7CisKK1NFTEVDVCAnJyBBUyBmaXZlLCBjLioKKyAgIEZST00gTlZBUkNI QVJfVEJMIGMKKyAgIFdIRVJFIGMuZjEgPCAnYSc7CisKK1NFTEVDVCAnJyBB UyBzaXgsIGMuKgorICAgRlJPTSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUg Yy5mMSA8PSAnYSc7CisKK1NFTEVDVCAnJyBBUyBvbmUsIGMuKgorICAgRlJP TSBOVkFSQ0hBUl9UQkwgYworICAgV0hFUkUgYy5mMSA+ICdhJzsKKworU0VM RUNUICcnIEFTIHR3bywgYy4qCisgICBGUk9NIE5WQVJDSEFSX1RCTCBjCisg ICBXSEVSRSBjLmYxID49ICdhJzsKKworRFJPUCBUQUJMRSBOVkFSQ0hBUl9U Qkw7CisKKy0tCistLSBOb3cgdGVzdCBsb25nZXIgYXJyYXlzIG9mIG52YXJj aGFyCistLQorCitDUkVBVEUgVEFCTEUgTlZBUkNIQVJfVEJMKGYxIG52YXJj aGFyKDQpKTsKKworSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFM VUVTICgnYScpOworSU5TRVJUIElOVE8gTlZBUkNIQVJfVEJMIChmMSkgVkFM VUVTICgnYWInKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEpIFZB TFVFUyAoJ2FiY2QnKTsKK0lOU0VSVCBJTlRPIE5WQVJDSEFSX1RCTCAoZjEp IFZBTFVFUyAoJ2FiY2RlJyk7CitJTlNFUlQgSU5UTyBOVkFSQ0hBUl9UQkwg KGYxKSBWQUxVRVMgKCdhYmNkICAgICcpOworCitTRUxFQ1QgJycgQVMgZm91 ciwgKiBGUk9NIE5WQVJDSEFSX1RCTDsKZGlmZiAtdU5yIHBvc3RncmVzcWwt aGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9yZWdyZXNzL3NxbC9udmFyY2hhcl9t aXNjLnNxbCBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rl c3QvcmVncmVzcy9zcWwvbnZhcmNoYXJfbWlzYy5zcWwKLS0tIHBvc3RncmVz cWwtaGVhZC0yMDEzMTAxNy9zcmMvdGVzdC9yZWdyZXNzL3NxbC9udmFyY2hh cl9taXNjLnNxbAkxOTcwLTAxLTAxIDEwOjAwOjAwLjAwMDAwMDAwMCArMTAw MAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL252YXJjaGFyX21pc2Muc3FsCTIwMTMtMTAtMTcgMTE6 NTY6MjIuMDAwMDAwMDAwICsxMTAwCkBAIC0wLDAgKzEsMjIgQEAKK3NlbGVj dCBOJ2EgJz1OJ2EnOworc2VsZWN0IE4nYSAnPSdhJzsKK3NlbGVjdCBOJ2En PSdhJzsKK3NlbGVjdCBOJ2EgJz0nYSc6OmNoYXIoMSk7CitzZWxlY3QgTidh ICc9J2EnOjpuY2hhcigxKTsKK3NlbGVjdCBOJ2EgJz0nYSc6OnZhcmNoYXIo MSk7CitzZWxlY3QgTidhICc9J2EnOjpudmFyY2hhcigxKTsKK3NlbGVjdCBO J2EnPSdhJzo6bnZhcmNoYXIoMSk7CitzZWxlY3QgTidhJz0nYSc6OnZhcmNo YXIoMSk7CitzZWxlY3QgTidhJz0nYSc6OmNoYXIoMSk7CitzZWxlY3QgTidh Jz0nYSc6Om5jaGFyKDEpOworc2VsZWN0ICdhJzo6bmNoYXIoMTApPSdhJzo6 Y2hhcigxKTsKK3NlbGVjdCAnYSc6Om5jaGFyKDEwKT0nYSc6Om5jaGFyKDEp Oworc2VsZWN0ICdhJzo6bmNoYXIoMTApPSdhJzo6dmFyY2hhcigxKTsKK3Nl bGVjdCAnYSc6Om5jaGFyKDEwKT0nYSc6Om52YXJjaGFyKDEpOworc2VsZWN0 ICdhJzo6bnZhcmNoYXIoMTApPSdhJzo6dmFyY2hhcigxKTsKK3NlbGVjdCAn YSc6Om52YXJjaGFyKDEwKT0nYSc6OnZhcmNoYXIoMTApOworc2VsZWN0ICdh Jzo6bnZhcmNoYXIoMTApPSdhICc6OnZhcmNoYXIoMTApOworc2VsZWN0ICdh Jzo6bnZhcmNoYXIoMTApPSdhICc6OmNoYXIoMTApOworc2VsZWN0ICdhICc6 Om5jaGFyKDEwKT0nYSAgJzo6bmNoYXIoNSk7CitzZWxlY3QgJ2EgJzo6bmNo YXIoMTApPSdhICAnOjpjaGFyKDUpOworCmRpZmYgLXVOciBwb3N0Z3Jlc3Fs LWhlYWQtMjAxMzEwMTcvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbnZhcmNoYXJf dGVzdC5zcWwgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFyL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL252YXJjaGFyX3Rlc3Quc3FsCi0tLSBwb3N0Z3Jl c3FsLWhlYWQtMjAxMzEwMTcvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbnZhcmNo YXJfdGVzdC5zcWwJMTk3MC0wMS0wMSAxMDowMDowMC4wMDAwMDAwMDAgKzEw MDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9zcmMvdGVz dC9yZWdyZXNzL3NxbC9udmFyY2hhcl90ZXN0LnNxbAkyMDEzLTEwLTE3IDEx OjU2OjIyLjAwMDAwMDAwMCArMTEwMApAQCAtMCwwICsxLDEwMSBAQAorCitD UkVBVEUgQUdHUkVHQVRFIHRlc3RfbnZhcmNoYXJfYWdnIChudmFyY2hhcikg KCBzZnVuYyA9IGFycmF5X2FwcGVuZCwgc3R5cGUgPSBudmFyY2hhcltdLCBp bml0Y29uZCA9ICd7fScpOworCithbHRlciBhZ2dyZWdhdGUgdGVzdF9udmFy Y2hhcl9hZ2cgKG52YXJjaGFyKSByZW5hbWUgdG8gdGVzdF9udmFyY2hhcl9h Z2dyZWdhdGU7CisKK2Ryb3AgYWdncmVnYXRlIHRlc3RfbnZhcmNoYXJfYWdn cmVnYXRlKG52YXJjaGFyKTsKKworY3JlYXRlIGRvbWFpbiB0ZXN0X252YXJj aGFyX2RvbWFpbiBhcyBudmFyY2hhcjsKKworZHJvcCBkb21haW4gdGVzdF9u dmFyY2hhcl9kb21haW47CisKK2NyZWF0ZSB0YWJsZSBudmFyY2hhcl90ZXN0 IChmIG52YXJjaGFyLCB2YWwgdmFyY2hhcik7CisKK2NyZWF0ZSBpbmRleCBp IG9uIG52YXJjaGFyX3Rlc3QoZik7CisKK3ZhY3V1bSBhbmFseXplIG52YXJj aGFyX3Rlc3QoZik7CisKK2luc2VydCBpbnRvIG52YXJjaGFyX3Rlc3QgdmFs dWVzICgnYScsICd0ZXN0X3ZhbCcpIHJldHVybmluZyAoZik7CitTRUxFQ1Qg ZiBmcm9tIG52YXJjaGFyX3Rlc3Q7CisKK3NlbGVjdCBmIGludG8gbnZhcmNo YXJfdGVzdDEgZnJvbSBudmFyY2hhcl90ZXN0Oworc2VsZWN0ICogZnJvbSBu dmFyY2hhcl90ZXN0MTsKKworZHJvcCB0YWJsZSBudmFyY2hhcl90ZXN0MTsK Kworc2VsZWN0IGYgZnJvbSBudmFyY2hhcl90ZXN0Oworc2VsZWN0IHZhbCBm cm9tIG52YXJjaGFyX3Rlc3Qgd2hlcmUgZj0nYSc7CisKK3ByZXBhcmUgc3Rt dCBBUyBzZWxlY3QgZiBmcm9tIG52YXJjaGFyX3Rlc3Q7CitwcmVwYXJlIHN0 bXQxKG52YXJjaGFyKSBBUyBzZWxlY3QgdmFsIGZyb20gbnZhcmNoYXJfdGVz dCB3aGVyZSBmPSQxOworCitkZWFsbG9jYXRlIHN0bXQ7CitkZWFsbG9jYXRl IHN0bXQxOworCitwcmVwYXJlIHN0bXQodmFyY2hhcikgQVMgc2VsZWN0IHZh bCBmcm9tIG52YXJjaGFyX3Rlc3Qgd2hlcmUgZj0kMTsKK2V4ZWN1dGUgc3Rt dCgnYScpOworCitkZWFsbG9jYXRlIHN0bXQ7CisKK2JlZ2luO2RlY2xhcmUg YyBjdXJzb3IgZm9yIHNlbGVjdCBmIGZyb20gbnZhcmNoYXJfdGVzdDtjb21t aXQ7CisKK2NyZWF0ZSB2aWV3IHYgYXMgc2VsZWN0IGYgZnJvbSBudmFyY2hh cl90ZXN0Oworc2VsZWN0ICogZnJvbSB2OworCithbHRlciB2aWV3IHYgYWx0 ZXIgY29sdW1uIGYgc2V0IGRlZmF1bHQgJ2EnOworCitkcm9wIHZpZXcgdjsK KworZG8gJCRiZWdpbiBwZXJmb3JtIGYgZnJvbSBudmFyY2hhcl90ZXN0OyBl bmQgJCQ7CisKK0NSRUFURSBUWVBFIHRlc3RfbnZhcmNoYXJfdHlwZSBBUyAo ZiBudmFyY2hhcik7CisKK2NvbW1lbnQgb24gdHlwZSB0ZXN0X252YXJjaGFy X3R5cGUgaXMgJ2NvbW1lbnQnOworCitkcm9wIHR5cGUgdGVzdF9udmFyY2hh cl90eXBlOworCitjcmVhdGUgdHJpZ2dlciB0ciBiZWZvcmUgdXBkYXRlIG9u IG52YXJjaGFyX3Rlc3QgZm9yIGVhY2ggcm93IHdoZW4gKE9MRC5mPSdhJykg RVhFQ1VURSBQUk9DRURVUkUgc3VwcHJlc3NfcmVkdW5kYW50X3VwZGF0ZXNf dHJpZ2dlcigpOworCitjb3B5IG52YXJjaGFyX3Rlc3QoZikgdG8gc3Rkb3V0 OworCitjb21tZW50IG9uIENPTFVNTiBudmFyY2hhcl90ZXN0LmYgaXMgJ2Nv bW1lbnQnOworCithbmFseXplIG52YXJjaGFyX3Rlc3QoZik7CisKK2FsdGVy IHRhYmxlIG52YXJjaGFyX3Rlc3QgcmVuYW1lIGYgdG8gZl9yZW5hbWVkOwor YWx0ZXIgdGFibGUgbnZhcmNoYXJfdGVzdCByZW5hbWUgZl9yZW5hbWVkIHRv IGY7CisKK2FsdGVyIHRhYmxlIG52YXJjaGFyX3Rlc3QgYWx0ZXIgdmFsIHR5 cGUgbnZhcmNoYXI7CisKK1VQREFURSBudmFyY2hhcl90ZXN0IFNFVCBmPSdi JzsKK1NFTEVDVCAqIGZyb20gbnZhcmNoYXJfdGVzdDsKKworZGVsZXRlIGZy b20gbnZhcmNoYXJfdGVzdCB3aGVyZSBmPSdiJzsKKworQ1JFQVRFIEZVTkNU SU9OIGZvbyhmIG52YXJjaGFyKSByZXR1cm5zIHNldG9mIG52YXJjaGFyIGFz ICQkU0VMRUNUIGYgZnJvbSBudmFyY2hhcl90ZXN0OyQkIExBTkdVQUdFIFNR TDsKKworYWx0ZXIgZnVuY3Rpb24gZm9vKG52YXJjaGFyKSByZXNldCBhbGw7 CisKK2Ryb3AgZnVuY3Rpb24gZm9vKG52YXJjaGFyKTsKKworZHJvcCB0YWJs ZSBudmFyY2hhcl90ZXN0OworCitjcmVhdGUgZnVuY3Rpb24gZHVtbXlfZXEg KG52YXJjaGFyLCBudmFyY2hhcikgcmV0dXJucyBib29sZWFuIGFzICdTRUxF Q1QgJDE9JDI7JyBMQU5HVUFHRSBTUUw7CitDUkVBVEUgT1BFUkFUT1IgPT09 IChMRUZUQVJHID0gbnZhcmNoYXIsIFJJR0hUQVJHID0gbnZhcmNoYXIsIFBS T0NFRFVSRSA9IGR1bW15X2VxKTsKK2FsdGVyIG9wZXJhdG9yID09PSAobnZh cmNoYXIsbnZhcmNoYXIpIHNldCBzY2hlbWEgcGdfY2F0YWxvZzsKK0RST1Ag T1BFUkFUT1IgID09PSAobnZhcmNoYXIsbnZhcmNoYXIpOworZHJvcCBmdW5j dGlvbiBkdW1teV9lcSAobnZhcmNoYXIsIG52YXJjaGFyKTsKKworY3JlYXRl IGNhc3QgKG5hbWUgYXMgbnZhcmNoYXIpIHdpdGggRlVOQ1RJT04gICJudmFy Y2hhciIobmFtZSk7Citkcm9wIGNhc3QgKG5hbWUgYXMgbnZhcmNoYXIpOwor CitjcmVhdGUgZm9yZWlnbiBkYXRhIHdyYXBwZXIgZHVtbXk7CitDUkVBVEUg U0VSVkVSIGZvbyBGT1JFSUdOIERBVEEgV1JBUFBFUiAiZHVtbXkiOworY3Jl YXRlIGZvcmVpZ24gdGFibGUgZnRfbnZhcmNoYXIgKGYgbnZhcmNoYXIsIHZh ciB2YXJjaGFyKSBzZXJ2ZXIgZm9vOworYWx0ZXIgZm9yZWlnbiB0YWJsZSBm dF9udmFyY2hhciBhbHRlciB2YXIgdHlwZSBudmFyY2hhcjsKK2FsdGVyIGZv cmVpZ24gdGFibGUgZnRfbnZhcmNoYXIgcmVuYW1lIGNvbHVtbiBmIHRvIGZf bmV3OworZHJvcCBmb3JlaWduIHRhYmxlIGZ0X252YXJjaGFyOworZHJvcCBT RVJWRVIgZm9vOworZHJvcCBmb3JlaWduIGRhdGEgd3JhcHBlciBkdW1teTsK KworCmRpZmYgLXVOciBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL3Rl c3QvcmVncmVzcy9zcWwvc3RyaW5ncy5zcWwgcG9zdGdyZXNxbC1oZWFkLTIw MTMxMDE3LW5jaGFyL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N0cmluZ3Muc3Fs Ci0tLSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL3Rlc3QvcmVncmVz cy9zcWwvc3RyaW5ncy5zcWwJMjAxMy0xMC0xNyAwNDoyMjo1NS4wMDAwMDAw MDAgKzExMDAKKysrIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy1uY2hhci9z cmMvdGVzdC9yZWdyZXNzL3NxbC9zdHJpbmdzLnNxbAkyMDEzLTEwLTMxIDEx OjI2OjQ5LjAwMDAwMDAwMCArMTEwMApAQCAtNzAsMjYgKzcwLDM2IEBACiAt LQogCiBTRUxFQ1QgQ0FTVChmMSBBUyB0ZXh0KSBBUyAidGV4dChjaGFyKSIg RlJPTSBDSEFSX1RCTDsKK1NFTEVDVCBDQVNUKGYxIEFTIHRleHQpIEFTICJ0 ZXh0KG5jaGFyKSIgRlJPTSBOQ0hBUl9UQkw7CiAKIFNFTEVDVCBDQVNUKGYx IEFTIHRleHQpIEFTICJ0ZXh0KHZhcmNoYXIpIiBGUk9NIFZBUkNIQVJfVEJM OworU0VMRUNUIENBU1QoZjEgQVMgdGV4dCkgQVMgInRleHQobnZhcmNoYXIp IiBGUk9NIE5WQVJDSEFSX1RCTDsKIAogU0VMRUNUIENBU1QobmFtZSAnbmFt ZWZpZWxkJyBBUyB0ZXh0KSBBUyAidGV4dChuYW1lKSI7CiAKIC0tIHNpbmNl IHRoaXMgaXMgYW4gZXhwbGljaXQgY2FzdCwgaXQgc2hvdWxkIHRydW5jYXRl IHcvbyBlcnJvcjoKIFNFTEVDVCBDQVNUKGYxIEFTIGNoYXIoMTApKSBBUyAi Y2hhcih0ZXh0KSIgRlJPTSBURVhUX1RCTDsKIC0tIG5vdGU6IGltcGxpY2l0 LWNhc3QgY2FzZSBpcyB0ZXN0ZWQgaW4gY2hhci5zcWwKK1NFTEVDVCBDQVNU KGYxIEFTIG5jaGFyKDEwKSkgQVMgIm5jaGFyKHRleHQpIiBGUk9NIFRFWFRf VEJMOworLS0gbm90ZTogaW1wbGljaXQtY2FzdCBjYXNlIGlzIHRlc3RlZCBp biBuY2hhci5zcWwKIAogU0VMRUNUIENBU1QoZjEgQVMgY2hhcigyMCkpIEFT ICJjaGFyKHRleHQpIiBGUk9NIFRFWFRfVEJMOworU0VMRUNUIENBU1QoZjEg QVMgbmNoYXIoMjApKSBBUyAibmNoYXIodGV4dCkiIEZST00gVEVYVF9UQkw7 CiAKIFNFTEVDVCBDQVNUKGYxIEFTIGNoYXIoMTApKSBBUyAiY2hhcih2YXJj aGFyKSIgRlJPTSBWQVJDSEFSX1RCTDsKK1NFTEVDVCBDQVNUKGYxIEFTIG5j aGFyKDEwKSkgQVMgIm5jaGFyKG52YXJjaGFyKSIgRlJPTSBOVkFSQ0hBUl9U Qkw7CiAKIFNFTEVDVCBDQVNUKG5hbWUgJ25hbWVmaWVsZCcgQVMgY2hhcigx MCkpIEFTICJjaGFyKG5hbWUpIjsKK1NFTEVDVCBDQVNUKG5hbWUgJ25hbWVm aWVsZCcgQVMgbmNoYXIoMTApKSBBUyAibmNoYXIobmFtZSkiOwogCiBTRUxF Q1QgQ0FTVChmMSBBUyB2YXJjaGFyKSBBUyAidmFyY2hhcih0ZXh0KSIgRlJP TSBURVhUX1RCTDsKK1NFTEVDVCBDQVNUKGYxIEFTIG52YXJjaGFyKSBBUyAi bnZhcmNoYXIodGV4dCkiIEZST00gVEVYVF9UQkw7CiAKIFNFTEVDVCBDQVNU KGYxIEFTIHZhcmNoYXIpIEFTICJ2YXJjaGFyKGNoYXIpIiBGUk9NIENIQVJf VEJMOworU0VMRUNUIENBU1QoZjEgQVMgbnZhcmNoYXIpIEFTICJudmFyY2hh cihuY2hhcikiIEZST00gTkNIQVJfVEJMOwogCiBTRUxFQ1QgQ0FTVChuYW1l ICduYW1lZmllbGQnIEFTIHZhcmNoYXIpIEFTICJ2YXJjaGFyKG5hbWUpIjsK K1NFTEVDVCBDQVNUKG5hbWUgJ25hbWVmaWVsZCcgQVMgbnZhcmNoYXIpIEFT ICJudmFyY2hhcihuYW1lKSI7CiAKIC0tCiAtLSB0ZXN0IFNRTCBzdHJpbmcg ZnVuY3Rpb25zCkBAIC0zMzAsMTAgKzM0MCwxMyBAQAogU0VMRUNUIHRleHQg J3RleHQnIHx8ICcgYW5kIHVua25vd24nIEFTICJDb25jYXQgdGV4dCB0byB1 bmtub3duIHR5cGUiOwogCiBTRUxFQ1QgY2hhcigyMCkgJ2NoYXJhY3RlcnMn IHx8ICcgYW5kIHRleHQnIEFTICJDb25jYXQgY2hhciB0byB1bmtub3duIHR5 cGUiOworU0VMRUNUIG5jaGFyKDIwKSAnbmNoYXJhY3RlcnMnIHx8ICcgYW5k IHRleHQnIEFTICJDb25jYXQgbmNoYXIgdG8gdW5rbm93biB0eXBlIjsKIAog U0VMRUNUIHRleHQgJ3RleHQnIHx8IGNoYXIoMjApICcgYW5kIGNoYXJhY3Rl cnMnIEFTICJDb25jYXQgdGV4dCB0byBjaGFyIjsKK1NFTEVDVCB0ZXh0ICd0 ZXh0JyB8fCBuY2hhcigyMCkgJyBhbmQgbmNoYXJhY3RlcnMnIEFTICJDb25j YXQgdGV4dCB0byBuY2hhciI7CiAKIFNFTEVDVCB0ZXh0ICd0ZXh0JyB8fCB2 YXJjaGFyICcgYW5kIHZhcmNoYXInIEFTICJDb25jYXQgdGV4dCB0byB2YXJj aGFyIjsKK1NFTEVDVCB0ZXh0ICd0ZXh0JyB8fCBudmFyY2hhciAnIGFuZCBu dmFyY2hhcicgQVMgIkNvbmNhdCB0ZXh0IHRvIG52YXJjaGFyIjsKIAogLS0K IC0tIHRlc3Qgc3Vic3RyIHdpdGggdG9hc3RlZCB0ZXh0IHZhbHVlcwpkaWZm IC11TnIgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3L3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3VuaW9uLnNxbCBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNo YXIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdW5pb24uc3FsCi0tLSBwb3N0Z3Jl c3FsLWhlYWQtMjAxMzEwMTcvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdW5pb24u c3FsCTIwMTMtMTAtMTcgMDQ6MjI6NTUuMDAwMDAwMDAwICsxMTAwCisrKyBw b3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTctbmNoYXIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvdW5pb24uc3FsCTIwMTMtMTAtMTcgMTE6NTY6MjIuMDAwMDAwMDAw ICsxMTAwCkBAIC04OSw2ICs4OSwyMyBAQAogU0VMRUNUIFRSSU0oVFJBSUxJ TkcgRlJPTSBmMSkgRlJPTSBDSEFSX1RCTAogT1JERVIgQlkgMTsKIAorLS1O VkFSQ0hBUiBzcGVjaWZpYworU0VMRUNUIGYxIEFTIHRocmVlIEZST00gTlZB UkNIQVJfVEJMCitVTklPTgorU0VMRUNUIENBU1QoZjEgQVMgbnZhcmNoYXIp IEZST00gTkNIQVJfVEJMCitPUkRFUiBCWSAxOworCitTRUxFQ1QgZjEgQVMg ZWlnaHQgRlJPTSBOVkFSQ0hBUl9UQkwKK1VOSU9OIEFMTAorU0VMRUNUIGYx IEZST00gTkNIQVJfVEJMOworCitTRUxFQ1QgZjEgQVMgZml2ZSBGUk9NIFRF WFRfVEJMCitVTklPTgorU0VMRUNUIGYxIEZST00gTlZBUkNIQVJfVEJMCitV TklPTgorU0VMRUNUIFRSSU0oVFJBSUxJTkcgRlJPTSBmMSkgRlJPTSBOQ0hB Ul9UQkwKK09SREVSIEJZIDE7CisKIC0tCiAtLSBJTlRFUlNFQ1QgYW5kIEVY Q0VQVAogLS0KZGlmZiAtdU5yIHBvc3RncmVzcWwtaGVhZC0yMDEzMTAxNy9z cmMvdGVzdC9yZWdyZXNzL3NxbC91cGRhdGUuc3FsIHBvc3RncmVzcWwtaGVh ZC0yMDEzMTAxNy1uY2hhci9zcmMvdGVzdC9yZWdyZXNzL3NxbC91cGRhdGUu c3FsCi0tLSBwb3N0Z3Jlc3FsLWhlYWQtMjAxMzEwMTcvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdXBkYXRlLnNxbAkyMDEzLTEwLTE3IDA0OjIyOjU1LjAwMDAw MDAwMCArMTEwMAorKysgcG9zdGdyZXNxbC1oZWFkLTIwMTMxMDE3LW5jaGFy L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0ZS5zcWwJMjAxMy0xMC0xNyAx MTo1NjoyMi4wMDAwMDAwMDAgKzExMDAKQEAgLTUsMTQgKzUsMjggQEAKIENS RUFURSBUQUJMRSB1cGRhdGVfdGVzdCAoCiAgICAgYSAgIElOVCBERUZBVUxU IDEwLAogICAgIGIgICBJTlQsCi0gICAgYyAgIFRFWFQKKyAgICBjICAgVEVY VCwKKyAgICBkICAgbmNoYXIoMTApLAorICAgIGUgICBudmFyY2hhcgogKTsK IAotSU5TRVJUIElOVE8gdXBkYXRlX3Rlc3QgVkFMVUVTICg1LCAxMCwgJ2Zv bycpOworSU5TRVJUIElOVE8gdXBkYXRlX3Rlc3QgVkFMVUVTICg1LCAxMCwg J2ZvbycsICdhJywgJ2EnKTsKIElOU0VSVCBJTlRPIHVwZGF0ZV90ZXN0KGIs IGEpIFZBTFVFUyAoMTUsIDEwKTsKIAogU0VMRUNUICogRlJPTSB1cGRhdGVf dGVzdDsKIAorVVBEQVRFIHVwZGF0ZV90ZXN0IFNFVCBkPSdiJywgZT0nYic7 CisKK1NFTEVDVCAqIEZST00gdXBkYXRlX3Rlc3Q7CisKK1VQREFURSB1cGRh dGVfdGVzdCBTRVQgZD0nYycgd2hlcmUgZT0nYic7CisKK1NFTEVDVCAqIEZS T00gdXBkYXRlX3Rlc3Q7CisKK1VQREFURSB1cGRhdGVfdGVzdCBTRVQgZD1O J2UnIHdoZXJlIGU9TidiJzsKKworU0VMRUNUICogRlJPTSB1cGRhdGVfdGVz dDsKKwogVVBEQVRFIHVwZGF0ZV90ZXN0IFNFVCBhID0gREVGQVVMVCwgYiA9 IERFRkFVTFQ7CiAKIFNFTEVDVCAqIEZST00gdXBkYXRlX3Rlc3Q7Cg== ------_=_NextPart_001_01CED9EC.D74A91E9 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers ------_=_NextPart_001_01CED9EC.D74A91E9--