<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>42970</bug_id>
          
          <creation_ts>2010-07-26 05:14:03 -0700</creation_ts>
          <short_desc>[IndexedDB] IndexedDB is missing the Transaction interface.</short_desc>
          <delta_ts>2010-08-06 03:15:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#transaction</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42966</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Andrei Popescu">andreip</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>bulach</cc>
    
    <cc>eric</cc>
    
    <cc>jorlow</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>255997</commentid>
    <comment_count>0</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-07-26 05:14:03 -0700</bug_when>
    <thetext>We need to implement Transaction:

http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#transaction

This interface has changed significantly due to 

http://www.w3.org/Bugs/Public/show_bug.cgi?id=9975

So we need to update the IndexedDB implementation to match the current spec first. Hence this bug depends on 42966.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260534</commentid>
    <comment_count>1</comment_count>
      <attachid>63579</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-08-05 05:27:48 -0700</bug_when>
    <thetext>Created attachment 63579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260535</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-05 05:29:55 -0700</bug_when>
    <thetext>Attachment 63579 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/storage/IDBTransaction.idl:1:  One or more unexpected \r (^M) found; better to use only a \n  [whitespace/carriage_return] [1]
Suppressing further [whitespace/carriage_return] reports for this file.
Total errors found: 57 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260580</commentid>
    <comment_count>3</comment_count>
      <attachid>63579</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-08-05 06:56:28 -0700</bug_when>
    <thetext>Comment on attachment 63579
Patch

WebCore/dom/EventNames.h:45
 +      macro(complete) \
what is this stuff?

WebCore/storage/IDBDatabase.idl:42
 +          [CallWith=ScriptExecutionContext] IDBTransaction transaction (in [Optional] DOMStringList storeNames, in [Optional] unsigned short mode, in [Optional] unsigned long timeout);
not sure using domStringList as an input like this will work out of the box....I don&apos;t think anyone&apos;s tried

WebCore/storage/IDBTask.h:2
 +   * Copyright (C) 2010 Google Inc. All rights reserved.
use ScriptExecutionContext::Task and the CrossThreadTask stuff instead of rolling your own

WebCore/storage/IDBTransaction.cpp:15
 +      : ActiveDOMObject(context, this), m_transaction(backend), m_database(db)
put each on its own line

WebCore/storage/IDBTransaction.cpp:25
 +      return IDBTransaction::READ_ONLY;
Hook these up to the backend interface...I actually don&apos;t think you need any FIXMEs in this file since all the work happens in the backend.

WebCore/storage/IDBTransaction.h:85
 +      RefPtr&lt;IDBTransactionBackendInterface&gt; m_transaction;
m_backend maybe?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260656</commentid>
    <comment_count>4</comment_count>
      <attachid>63600</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-08-05 09:34:55 -0700</bug_when>
    <thetext>Created attachment 63600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260658</commentid>
    <comment_count>5</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-08-05 09:37:06 -0700</bug_when>
    <thetext>Thanks for the quick review Jeremy!

(In reply to comment #3)
&gt; (From update of attachment 63579 [details])
&gt; WebCore/dom/EventNames.h:45
&gt;  +      macro(complete) \
&gt; what is this stuff?
&gt;

IDBTransaction adds two new events: oncomplete and ontimeout.
 
&gt; WebCore/storage/IDBDatabase.idl:42
&gt;  +          [CallWith=ScriptExecutionContext] IDBTransaction transaction (in [Optional] DOMStringList storeNames, in [Optional] unsigned short mode, in [Optional] unsigned long timeout);
&gt; not sure using domStringList as an input like this will work out of the box....I don&apos;t think anyone&apos;s tried
&gt; 


Yeah, I&apos;ll check and see. If it&apos;s not working, I&apos;ll fix it in a separate patch.


&gt; WebCore/storage/IDBTask.h:2
&gt;  +   * Copyright (C) 2010 Google Inc. All rights reserved.
&gt; use ScriptExecutionContext::Task and the CrossThreadTask stuff instead of rolling your own
&gt; 

Used.

&gt; WebCore/storage/IDBTransaction.cpp:15
&gt;  +      : ActiveDOMObject(context, this), m_transaction(backend), m_database(db)
&gt; put each on its own line
&gt;

Put.
 
&gt; WebCore/storage/IDBTransaction.cpp:25
&gt;  +      return IDBTransaction::READ_ONLY;
&gt; Hook these up to the backend interface...I actually don&apos;t think you need any FIXMEs in this file since all the work happens in the backend.
&gt;

Hooked.
 
&gt; WebCore/storage/IDBTransaction.h:85
&gt;  +      RefPtr&lt;IDBTransactionBackendInterface&gt; m_transaction;
&gt; m_backend maybe?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260661</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-05 09:40:23 -0700</bug_when>
    <thetext>Attachment 63600 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/storage/IDBTransaction.idl:1:  One or more unexpected \r (^M) found; better to use only a \n  [whitespace/carriage_return] [1]
Suppressing further [whitespace/carriage_return] reports for this file.
Total errors found: 57 in 29 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260663</commentid>
    <comment_count>7</comment_count>
      <attachid>63601</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-08-05 09:43:01 -0700</bug_when>
    <thetext>Created attachment 63601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260665</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-05 09:45:17 -0700</bug_when>
    <thetext>Attachment 63601 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/storage/IDBTransaction.idl:1:  One or more unexpected \r (^M) found; better to use only a \n  [whitespace/carriage_return] [1]
Suppressing further [whitespace/carriage_return] reports for this file.
Total errors found: 57 in 29 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260683</commentid>
    <comment_count>9</comment_count>
      <attachid>63604</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-08-05 10:19:12 -0700</bug_when>
    <thetext>Created attachment 63604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260699</commentid>
    <comment_count>10</comment_count>
      <attachid>63604</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-08-05 10:57:46 -0700</bug_when>
    <thetext>Comment on attachment 63604
Patch

WebCore/Android.mk:758
 +  	storage/IDBTransaction.cpp \
Alpha order

WebCore/CMakeLists.txt:349
 +      storage/IDBTransaction.idl
You need to add the other files too

WebCore/GNUmakefile.am:2902
 +  	WebCore/storage/IDBTransactionBackendInterface
.h


WebCore/storage/IDBTransaction.cpp:28
 +      return IDBTransaction::READ_ONLY;
forward to backend


r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261161</commentid>
    <comment_count>11</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-08-06 02:42:45 -0700</bug_when>
    <thetext>Committed r64824: &lt;http://trac.webkit.org/changeset/64824&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261172</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-06 03:15:32 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/64824 might have broken Qt Windows 32-bit Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63579</attachid>
            <date>2010-08-05 05:27:48 -0700</date>
            <delta_ts>2010-08-05 09:34:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42970-20100805132746.patch</filename>
            <type>text/plain</type>
            <size>26309</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTNkMGM1Y2I1NzYyOTAxOWRmMmE1MmZjZWVmYjZkZWFmYTMyMjNlMi4uMGIyMDVhMmUyMWZjYTA0
OTFlMTUzNmRiODk4ZDYxMGYxYTY1MjE1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAxMC0wOC0wNSAgQW5k
cmVpIFBvcGVzY3UgIDxhbmRyZWlwQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0luZGV4ZWREQl0gSW5kZXhlZERCIGlzIG1pc3Np
bmcgdGhlIFRyYW5zYWN0aW9uIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQyOTcwCisKKyAgICAgICAgQWRkIElEQlRyYW5zYWN0aW9u
LiBPbmx5IHRvIENocm9taXVtIGZvciBub3cuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB0aGlz
IGlzbid0IGZ1bmN0aW9uYWwgeWV0LgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAg
ICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAq
IHN0b3JhZ2UvSURCRGF0YWJhc2UuaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmlk
bDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6dHJhbnNhY3Rpb24pOgorICAgICAg
ICAqIHN0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oOgorICAgICAgICAqIHN0b3JhZ2Uv
SURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmg6CisgICAgICAgICogc3RvcmFnZS9JREJUYXNr
Lmg6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb24uY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpJREJUcmFuc2FjdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6fklEQlRyYW5zYWN0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjptb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRy
YW5zYWN0aW9uOjpkYik6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6b2JqZWN0
U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmFib3J0KToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQlRyYW5zYWN0aW9uOjpzdXNwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0
aW9uOjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmV2ZW50VGFy
Z2V0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6ZW5zdXJlRXZlbnRU
YXJnZXREYXRhKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpJREJUcmFuc2FjdGlvbjo6KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
Ojp0b0lEQlRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpy
ZWZFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6ZGVyZWZF
dmVudFRhcmdldCk6CisgICAgICAgICogc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGw6IEFkZGVk
LgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOjp+
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKToKKwogMjAxMC0wOC0wNSAgTmVkIEhvbGJy
b29rICA8bmhvbGJyb29rQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBB
ZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKaW5kZXggZDVlZDNkMjk0NzZlYWMwNWMyYmQwNzhiZGY0YWQzODBhYzVlYWEzYy4uNGZh
MzE1MjRiYzA3YTJiN2U2OTE5ZDY1ZDM2YjkyMTU1NjEyOThiYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTI0OSw2ICsyNDks
NyBAQAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCT2JqZWN0U3RvcmUuaWRsJywKICAgICAgICAg
ICAgICdzdG9yYWdlL0lEQlJlcXVlc3QuaWRsJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlN1
Y2Nlc3NFdmVudC5pZGwnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaWRs
JywKICAgICAgICAgICAgICdzdG9yYWdlL01ldGFkYXRhLmlkbCcsCiAgICAgICAgICAgICAnc3Rv
cmFnZS9NZXRhZGF0YUNhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9TUUxFcnJv
ci5pZGwnLApAQCAtMzUzMyw2ICszNTM0LDEwIEBACiAgICAgICAgICAgICAnc3RvcmFnZS9JREJS
ZXF1ZXN0LmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmNwcCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuaCcsCisgICAgICAgICAgICAnc3Rv
cmFnZS9JREJUYXNrLmgnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uY3Bw
JywKKyAgICAgICAgICAgICdzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmgnLAorICAgICAgICAgICAg
J3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmgnLAogICAgICAgICAgICAg
J3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvTG9j
YWxTdG9yYWdlVGFzay5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVh
ZC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCmluZGV4IDY2MjBjZWM3MWEzZTlhMWFhNzU0ZTU1YjMwZmFlMzgzOGJj
ZmRmZjYuLjFiOTdkNjVhNThiZTM1OTNhMmFjYmJiOGVhZjI0YmYzNmJlM2QxZDMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGNoZWNr
aW5nKSBcCiAgICAgbWFjcm8oY2xpY2spIFwKICAgICBtYWNybyhjbG9zZSkgXAorICAgIG1hY3Jv
KGNvbXBsZXRlKSBcCiAgICAgbWFjcm8oY29tcG9zaXRpb25lbmQpIFwKICAgICBtYWNybyhjb21w
b3NpdGlvbnN0YXJ0KSBcCiAgICAgbWFjcm8oY29tcG9zaXRpb251cGRhdGUpIFwKQEAgLTE1MCw2
ICsxNTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogICAgIG1hY3JvKG9yaWVudGF0
aW9uY2hhbmdlKSBcCiAgICAgXAorICAgIG1hY3JvKHRpbWVvdXQpIFwKKyAgICBcCiAgICAgbWFj
cm8odG91Y2hzdGFydCkgXAogICAgIG1hY3JvKHRvdWNobW92ZSkgXAogICAgIG1hY3JvKHRvdWNo
ZW5kKSBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuY3BwIGIvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmNwcAppbmRleCBlNGQ0Mzg1MDNlOGJkNmFmZjEwZmJl
ZmI2Yjk1OThmNTY2NWY3NTk2Li40NGQ5YThmNDJlMTNkZTVjNjk4M2YyMzgyNjkxNWI2ZDhjNzQ4
NTQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuY3BwCisrKyBiL1dl
YkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl
ICJJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIgogI2luY2x1ZGUgIklEQk9iamVjdFN0b3Jl
LmgiCiAjaW5jbHVkZSAiSURCUmVxdWVzdC5oIgorI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgi
CiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogCiAjaWYgRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCkBAIC02OCw2ICs2OSwxNiBAQCBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElE
QkRhdGFiYXNlOjpyZW1vdmVPYmplY3RTdG9yZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwog
ICAgIHJldHVybiByZXF1ZXN0OwogfQogCitQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBJREJE
YXRhYmFzZTo6dHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRE9N
U3RyaW5nTGlzdCogc3RvcmVOYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5zaWduZWQgbG9u
ZyB0aW1lb3V0KQoreworICAgIC8vIFdlIG5lZWQgdG8gY3JlYXRlIGEgbmV3IHRyYW5zYWN0aW9u
IHN5bmNocm9ub3VzbHkuIExvY2tzIGFyZSBhcXVpcmVkIGFzeW5jaHJvbm91c2x5LiBPcGVyYXRp
b25zCisgICAgLy8gY2FuIGJlIHF1ZXVlZCBhZ2FpbnN0IHRoZSB0cmFuc2FjdGlvbiBhdCBhbnkg
cG9pbnQuIFRoZXkgd2lsbCBzdGFydCBleGVjdXRpbmcgYXMgc29vbiBhcyB0aGUKKyAgICAvLyBh
cHByb3ByaWF0ZSBsb2NrcyBoYXZlIGJlZW4gYXF1aXJlZC4KKyAgICBSZWZQdHI8SURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbkJhY2tlbmQgPSBtX2JhY2tlbmQtPnRy
YW5zYWN0aW9uKHN0b3JlTmFtZXMsIG1vZGUsIHRpbWVvdXQpOworICAgIFJlZlB0cjxJREJUcmFu
c2FjdGlvbj4gdHJhbnNhY3Rpb24gPSBJREJUcmFuc2FjdGlvbjo6Y3JlYXRlKGNvbnRleHQsIHRy
YW5zYWN0aW9uQmFja2VuZC5yZWxlYXNlKCksIHRoaXMpOworICAgIHJldHVybiB0cmFuc2FjdGlv
bi5yZWxlYXNlKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRh
dGFiYXNlLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaAppbmRleCBjY2EyMGUzY2Q0
ZDI4NmI5ZjMxYmQ0MDVjZGYwNTYwYTgyNzI4MGFhLi42OTAwZWZkNDQwZGNjYjgxOTIwMThmZTI0
YmYyNTBkOTY0YjBmZWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2Uu
aAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaApAQCAtMjgsNiArMjgsNyBAQAog
CiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlQmFja2Vu
ZEludGVyZmFjZS5oIgorI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KQEAgLTU2LDkgKzU3LDEwIEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPERP
TVN0cmluZ0xpc3Q+IG9iamVjdFN0b3JlcygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2VuZC0+b2Jq
ZWN0U3RvcmVzKCk7IH0KIAogICAgIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gY3JlYXRlT2JqZWN0
U3RvcmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3RyaW5nJiBrZXlQYXRoID0gU3RyaW5nKCksIGJvb2wgYXV0b0luY3JlbWVudCA9IGZhbHNlKTsK
LSAgICBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlPiBvYmplY3RTdG9yZShjb25zdCBTdHJpbmcm
IG5hbWUsIHVuc2lnbmVkIHNob3J0IG1vZGUgPSAwKTsgLy8gRklYTUU6IFVzZSBjb25zdGFudCBy
YXRoZXIgdGhhbiAwLgorICAgIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IG9iamVjdFN0b3Jl
KGNvbnN0IFN0cmluZyYgbmFtZSwgdW5zaWduZWQgc2hvcnQgbW9kZSA9IElEQlRyYW5zYWN0aW9u
OjpSRUFEX09OTFkpOwogICAgIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gcmVtb3ZlT2JqZWN0U3Rv
cmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgbmFtZSk7Ci0KKyAgICBQ
YXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRE9NU3RyaW5nTGlzdCogc3RvcmVOYW1lcyA9IDAsIHVuc2lnbmVkIHNob3J0IG1vZGUg
PSBJREJUcmFuc2FjdGlvbjo6UkVBRF9PTkxZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdGltZW91dCA9IDApOyAvLyBGSVhNRTogd2hh
dCBzaG91bGQgdGhlIGRlZmF1bHQgdGltZW91dCBiZT8KIHByaXZhdGU6CiAgICAgSURCRGF0YWJh
c2UoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U+KTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9JREJE
YXRhYmFzZS5pZGwKaW5kZXggZDc1ZWQ1NTQ0ZTE1NGM2MTc5ZDQ1MGM1YTZlN2ExOWFkNTQ4M2Fl
ZC4uNGUzZjYyMDBjYjQ1OTA1NjA1NzNjNzU0Y2FmODU5Njc1YjAwN2UxNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURC
RGF0YWJhc2UuaWRsCkBAIC0zMywxMyArMzMsMTMgQEAgbW9kdWxlIHN0b3JhZ2UgewogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZlcnNpb247CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmdMaXN0IG9iamVjdFN0b3JlczsKIAotICAgICAgICAvLyBGSVhN
RTogQWRkIHRyYW5zYWN0aW9uLgogICAgICAgICAvLyBGSVhNRTogQWRkIHNldFZlcnNpb24uCiAK
ICAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIElEQlJlcXVlc3QgY3Jl
YXRlT2JqZWN0U3RvcmUoaW4gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbCwgQ29udmVydE51
bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBrZXlQYXRoLCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4g
YXV0b0luY3JlbWVudCk7CiAgICAgICAgIC8vIEZJWE1FOiBvYmplY3RTdG9yZSBuZWVkcyB0byBi
ZSBhYmxlIHRvIHJhaXNlIGFuIElEQkRhdGFiYXNlRXhjZXB0aW9uLgogICAgICAgICBJREJPYmpl
Y3RTdG9yZSBvYmplY3RTdG9yZShpbiBET01TdHJpbmcgbmFtZSwgaW4gW09wdGlvbmFsXSB1bnNp
Z25lZCBzaG9ydCBtb2RlKTsKICAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRdIElEQlJlcXVlc3QgcmVtb3ZlT2JqZWN0U3RvcmUoaW4gRE9NU3RyaW5nIG5hbWUpOworICAg
ICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gSURCVHJhbnNhY3Rpb24gdHJh
bnNhY3Rpb24gKGluIFtPcHRpb25hbF0gRE9NU3RyaW5nTGlzdCBzdG9yZU5hbWVzLCBpbiBbT3B0
aW9uYWxdIHVuc2lnbmVkIHNob3J0IG1vZGUsIGluIFtPcHRpb25hbF0gdW5zaWduZWQgbG9uZyB0
aW1lb3V0KTsKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0
YWJhc2VCYWNrZW5kSW1wbC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5k
SW1wbC5jcHAKaW5kZXggODYyMjhiZGUyMjRhYzU5NTM0NTRlZmYzNTkyNjMyODgxMjFmMGE4NS4u
OGFjMjU4OWZhM2Q1ZWRiOGI5MTBkZmI0NTE3NGFhNjBhZWVmODU1NiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcApAQCAtODMsNiArODMsMTMgQEAgdm9pZCBJ
REJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZW1vdmVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5h
bWUsIFBhc3NSZWZQdHI8SUQKICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcygpOwogfQogCitQYXNz
UmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gSURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6dHJhbnNhY3Rpb24oRE9NU3RyaW5nTGlzdCogc3RvcmVOYW1lcywgdW5zaWduZWQgc2hv
cnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KQoreworICAgIC8vIEZJWE1FOiBBc2sgdGhl
IHRyYW5zYWN0aW9uIG1hbmFnZXIgZm9yIGEgbmV3IElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwu
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaCBiL1dlYkNv
cmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKaW5kZXggODdlMDcwYTEyMzI0ZmFi
YjRlMzM1YzdmODI5Y2Q1N2Q5ZmFlNjNkNy4uZjZmZjA1ODdmOTEwMmE5ZjAwMDljZmM1NzU1YzZk
ZDMwZTY5YTFhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2Vu
ZEltcGwuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCkBA
IC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlT2JqZWN0U3Rv
cmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJvb2wgYXV0b0lu
Y3JlbWVudCwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+KTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBvYmplY3RTdG9yZShjb25zdCBTdHJp
bmcmIG5hbWUsIHVuc2lnbmVkIHNob3J0IG1vZGUpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVP
YmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7
Ci0KKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
PiB0cmFuc2FjdGlvbihET01TdHJpbmdMaXN0KiBzdG9yZU5hbWVzLCB1bnNpZ25lZCBzaG9ydCBt
b2RlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQpOwogcHJpdmF0ZToKICAgICBJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwg
Y29uc3QgU3RyaW5nJiB2ZXJzaW9uKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lE
QkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNl
QmFja2VuZEludGVyZmFjZS5oCmluZGV4IGMyYjA4ZjE0NjQ1MWRjZjVlOGFmMGVkNjlkN2I1ZDg2
NzU5NmNjMjguLmFjMTJiZjEzYzg4YmUzZDZmNzk2ODNkYzdhNTMyZTJlNTJiMmYxMzEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaAorKysg
Yi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmgKQEAgLTM4LDYg
KzM4LDcgQEAgY2xhc3MgRE9NU3RyaW5nTGlzdDsKIGNsYXNzIEZyYW1lOwogY2xhc3MgSURCQ2Fs
bGJhY2tzOwogY2xhc3MgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlOworY2xhc3MgSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOwogCiAvLyBUaGlzIGNsYXNzIGlzIHNoYXJlZCBi
eSBJREJEYXRhYmFzZSAoYXN5bmMpIGFuZCBJREJEYXRhYmFzZVN5bmMgKHN5bmMpLgogLy8gVGhp
cyBpcyBpbXBsZW1lbnRlZCBieSBJREJEYXRhYmFzZUJhY2tlbmRJbXBsIGFuZCBvcHRpb25hbGx5
IG90aGVycyAoaW4gb3JkZXIgdG8gcHJveHkKQEAgLTU3LDYgKzU4LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYga2V5UGF0aCwgYm9vbCBhdXRvSW5jcmVtZW50LCBQYXNzUmVmUHRyPElEQkNhbGxi
YWNrcz4pID0gMDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5k
SW50ZXJmYWNlPiBvYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIHVuc2lnbmVkIHNob3J0
IG1vZGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlT2JqZWN0U3RvcmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pID0gMDsKKyAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbihET01T
dHJpbmdMaXN0KiBzdG9yZU5hbWVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCB1bnNpZ25lZCBsb25n
IHRpbWVvdXQpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3RvcmFnZS9JREJUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCVGFzay5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjYyMDE5NzVmYjQ5NjZlZjBjOTIxODBmOGQzNDc4YWQ0NDliZWQzNjgKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCVGFzay5oCkBAIC0wLDAgKzEsNDggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIElEQlRhc2tfaAorI2RlZmluZSBJREJUYXNrX2gKKworI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJJREJDYWxsYmFja3MuaCIKKyNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KKworI2lmIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIElEQlRh
c2sgOiBOb25jb3B5YWJsZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNr
KCkgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKworI2VuZGlm
IC8vIElEQlRhc2tfaAorCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rp
b24uY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
ZjNjMWU3ZDgyYmNkMDY0ZGEyYjZlZGY5MTlhYzVhYTIxYzEwZjMwCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMCwwICsxLDg1IEBACisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb24uaCIKKworI2lmIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJF
dmVudEV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIklEQkRhdGFiYXNlLmgiCisjaW5jbHVkZSAiSURC
T2JqZWN0U3RvcmUuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworSURCVHJhbnNhY3Rpb246OklEQlRyYW5zYWN0aW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlPiBiYWNrZW5kLCBJREJEYXRhYmFzZSogZGIpCisgICAgOiBBY3RpdmVET01P
YmplY3QoY29udGV4dCwgdGhpcyksIG1fdHJhbnNhY3Rpb24oYmFja2VuZCksIG1fZGF0YWJhc2Uo
ZGIpCit7Cit9CisKK0lEQlRyYW5zYWN0aW9uOjp+SURCVHJhbnNhY3Rpb24oKQoreworfQorCit1
bnNpZ25lZCBzaG9ydCBJREJUcmFuc2FjdGlvbjo6bW9kZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IElEQlRyYW5zYWN0aW9uOjpSRUFEX09OTFk7Cit9CisKK0lEQkRhdGFiYXNlKiBJREJUcmFuc2Fj
dGlvbjo6ZGIoKQoreworICAgIHJldHVybiBtX2RhdGFiYXNlLmdldCgpOworfQorCitQYXNzUmVm
UHRyPElEQk9iamVjdFN0b3JlPiBJREJUcmFuc2FjdGlvbjo6b2JqZWN0U3RvcmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBFeGNlcHRpb25Db2RlJikKK3sKKyAgICAvLyBGSVhNRTogaW1wbGVt
ZW50OiByZXR1cm4gYW4gb2JqZWN0IHN0b3JlIG9iamVjdCB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0
aCB0aGlzIHRyYW5zYWN0aW9uLgorICAgIC8vIFRoZSBvYmplY3Qgc3RvcmUgaGFzIGEgcG9pbnRl
ciB0byB0aGlzIHRyYW5zYWN0aW9uJ3MgYmFja2VuZCBvYmplY3QuIEV2ZXJ5IG9wZXJhdGlvbgor
ICAgIC8vIG9uIHRoZSBvYmplY3Qgc3RvcmUgcmVzdWx0cyBpbiBhIHRhc2sgYmVpbmcgcG9zdGVk
IG9udG8gdGhlIHRyYW5zYWN0aW9uIGJhY2tlbmQuCisgICAgLy8gVGhlc2UgdGFza3MgYXJlIHF1
ZXVlZCBieSB0aGUgdHJhbnNhY3Rpb24gYmFja2VuZCBhbmQgcnVuLCBvbmUgYnkgb25lLCBpbiB0
aGUgdHJhbnNhY3Rpb24ncworICAgIC8vIG93biB0aHJlYWQuCisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgSURCVHJhbnNhY3Rpb246OmFib3J0KCkK
K3sKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9
CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIElEQlRyYW5zYWN0aW9uOjpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7Cit9CisKK3ZvaWQgSURCVHJhbnNhY3Rpb246OnN0b3AoKQorewor
ICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwor
dm9pZCBJREJUcmFuc2FjdGlvbjo6c3VzcGVuZCgpCit7CisgICAgLy8gRklYTUU6IGltcGxlbWVu
dAorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIElEQlRyYW5zYWN0aW9uOjpy
ZXN1bWUoKQoreworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBJREJUcmFuc2FjdGlvbjo6ZXZlbnRUYXJnZXRE
YXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCitFdmVudFRhcmdl
dERhdGEqIElEQlRyYW5zYWN0aW9uOjplbnN1cmVFdmVudFRhcmdldERhdGEoKQoreworICAgIHJl
dHVybiAmbV9ldmVudFRhcmdldERhdGE7Cit9CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9u
LmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mN2Q5ZDNl
MTA0ZDRkZDYwNDhmYmVhOGE3YTMzOTE1OTcxMzIwMzgzCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmgKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgSURCVHJhbnNhY3Rpb25faAorI2RlZmluZSBJREJUcmFuc2FjdGlvbl9oCisKKyNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgor
I2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKKyNpbmNsdWRlICJFdmVudExpc3RlbmVyLmgiCisj
aW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVk
ZSAiSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgSURCRGF0YWJhc2U7CitjbGFzcyBJREJPYmplY3RTdG9yZTsKKworY2xhc3Mg
SURCVHJhbnNhY3Rpb24gOiBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBBY3RpdmVET01PYmpl
Y3QgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbnRlcmZhY2U+IGJhY2tlbmQsIElEQkRhdGFiYXNlKiBkYikKKyAgICB7IAor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQlRyYW5zYWN0aW9uKGNvbnRleHQsIGJhY2tl
bmQsIGRiKSk7IAorICAgIH0KKyAgICB2aXJ0dWFsIH5JREJUcmFuc2FjdGlvbigpOworCisgICAg
ZW51bSBNb2RlIHsKKyAgICAgICAgUkVBRF9XUklURSA9IDAsCisgICAgICAgIFJFQURfT05MWSA9
IDEsCisgICAgICAgIFNOQVBTSE9UX1JFQUQgPSAyCisgICAgfTsKKworICAgIHVuc2lnbmVkIHNo
b3J0IG1vZGUoKSBjb25zdDsKKyAgICBJREJEYXRhYmFzZSogZGIoKTsKKyAgICBQYXNzUmVmUHRy
PElEQk9iamVjdFN0b3JlPiBvYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEV4
Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGFib3J0KCk7CisKKyAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGFib3J0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGNvbXBsZXRlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRpbWVv
dXQpOworCisgICAgLy8gRXZlbnRUYXJnZXQKKyAgICB2aXJ0dWFsIElEQlRyYW5zYWN0aW9uKiB0
b0lEQlRyYW5zYWN0aW9uKCkgeyByZXR1cm4gdGhpczsgfQorCisgICAgLy8gQWN0aXZlRE9NT2Jq
ZWN0CisgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHN0b3AoKTsKKyAgICB2aXJ0dWFsIHZv
aWQgc3VzcGVuZCgpOworICAgIHZpcnR1YWwgdm9pZCByZXN1bWUoKTsKKworcHJpdmF0ZToKKyAg
ICBJREJUcmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+LCBJREJEYXRhYmFzZSopOworCisgICAgLy8gRXZl
bnRUYXJnZXQKKyAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigpOyB9Cisg
ICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSB7IGRlcmVmKCk7IH0KKyAgICB2aXJ0
dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CisgICAgdmlydHVhbCBFdmVu
dFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOworCisgICAgRXZlbnRUYXJnZXRE
YXRhIG1fZXZlbnRUYXJnZXREYXRhOworICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2U+IG1fdHJhbnNhY3Rpb247CisgICAgUmVmUHRyPElEQkRhdGFiYXNlPiBtX2RhdGFi
YXNlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCisKKyNlbmRpZiAvLyBJREJUcmFuc2FjdGlvbl9oCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaWRsIGIvV2ViQ29yZS9zdG9yYWdlL0lE
QlRyYW5zYWN0aW9uLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MWU3MDI4YTMwODA1ODFlZDFlMjFiNDAxNGY5
Y2Q3MzIxOTk0ODU5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5z
YWN0aW9uLmlkbApAQCAtMCwwICsxLDU3IEBACisgLyoNCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgKg0KKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucw0KKyAqIGFyZSBtZXQ6DQorICoNCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
Lg0KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uDQorICoNCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQ0KKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQNCisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFDQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQ0KKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
DQorICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOw0KKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORA0KKyAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUDQorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GDQorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCisgKi8N
CisNCittb2R1bGUgc3RvcmFnZSB7DQorDQorICAgIGludGVyZmFjZSBbDQorICAgICAgICBDb25k
aXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFLA0KKyAgICAgICAgRXZlbnRUYXJnZXQNCisgICAgXSBJ
REJUcmFuc2FjdGlvbiB7DQorICAgICAgICAvLyBNb2Rlcw0KKyAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgUkVBRF9XUklURSA9IDA7DQorICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBS
RUFEX09OTFkgPSAxOw0KKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU05BUFNIT1RfUkVB
RCA9IDI7DQorICAgICAgICAvLyBQcm9wZXJ0aWVzDQorICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnQgbW9kZTsNCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBJREJE
YXRhYmFzZSBkYjsNCisgICAgICAgIC8vIE1ldGhvZHMNCisgICAgICAgIElEQk9iamVjdFN0b3Jl
IG9iamVjdFN0b3JlIChpbiBET01TdHJpbmcgbmFtZSkNCisgICAgICAgICAgICByYWlzZXMgKElE
QkRhdGFiYXNlRXhjZXB0aW9uKTsNCisgICAgICAgIHZvaWQgYWJvcnQgKCk7DQorICAgICAgICAv
LyBFdmVudHMNCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYWJvcnQ7DQorICAg
ICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmNvbXBsZXRlOw0KKyAgICAgICAgYXR0cmli
dXRlIEV2ZW50TGlzdGVuZXIgb250aW1lb3V0Ow0KKyAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50
ZXJmYWNlDQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUs
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5l
ciwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUp
Ow0KKyAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVu
ZXIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiB1c2VDYXB0
dXJlKTsNCisgICAgICAgIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldnQpIA0KKyAg
ICAgICAgICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7DQorICAgIH07DQorfQ0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UuaCBiL1dl
YkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42ZjJmN2FhMzhmYjc2MGZmMjQ4YmUyODc4Y2E5YjM5Mjk1YTM3MzMxCi0tLSAvZGV2L251bGwK
KysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZS5oCkBA
IC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZV9oCisjZGVmaW5lIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZV9oCisKKyNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiSURCQ2FsbGJhY2tzLmgiCisjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CisKKyNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJ
REJUYXNrOworY2xhc3MgU1FMaXRlRGF0YWJhc2U7CisKKy8vIFRoaXMgY2xhc3MgaXMgc2hhcmVk
IGJ5IElEQlRyYW5zYWN0aW9uIChhc3luYykgYW5kIElEQlRyYW5zYWN0aW9uU3luYyAoc3luYyku
CisvLyBUaGlzIGlzIGltcGxlbWVudGVkIGJ5IElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwgYW5k
IG9wdGlvbmFsbHkgb3RoZXJzIChpbiBvcmRlciB0byBwcm94eQorLy8gY2FsbHMgYWNyb3NzIHBy
b2Nlc3MgYmFycmllcnMpLiBBbGwgY2FsbHMgdG8gdGhlc2UgY2xhc3NlcyBzaG91bGQgYmUgbm9u
LWJsb2NraW5nIGFuZAorLy8gdHJpZ2dlciB3b3JrIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQgaWYg
bmVjZXNzYXJ5LgorY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlIDogcHVibGlj
IFRocmVhZFNhZmVTaGFyZWQ8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
PiBjcmVhdGUoKTsKKyAgICB2aXJ0dWFsIH5JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2Uo
KSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZVRhc2soUGFzc093blB0cjxJREJUYXNr
PikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhYm9ydCgpID0gMDsKKyAgICB2aXJ0dWFsIFNRTGl0
ZURhdGFiYXNlKiBzcWxpdGVEYXRhYmFzZSgpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCisKKyNlbmRpZiAvLyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2VfaAorCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCAwMjYyMGVjNTI0MzY1NWQyMGJhNGZkYTM0OWU5YWZiYTUz
N2ZiYjU0Li4yYTlkM2Q1NWNlYjE0MWRhYmVhNWE3ODQwNGRmNGI0ZjJlNmY4MjczIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOC0wNSAgQW5kcmVpIFBvcGVzY3UgIDxhbmRy
ZWlwQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW0luZGV4ZWREQl0gSW5kZXhlZERCIGlzIG1pc3NpbmcgdGhlIFRyYW5zYWN0aW9u
IGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQyOTcwCisKKyAgICAgICAgKiBzcmMvSURCRGF0YWJhc2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJREJEYXRhYmFzZVByb3h5Ojp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3Jj
L0lEQkRhdGFiYXNlUHJveHkuaDoKKwogMjAxMC0wOC0wNSAgSm9obiBHcmVnZyAgPGpvaG5ueWdA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1n
aXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJveHkuY3BwIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmNwcAppbmRleCBmOTk1YjNjZTI2ZTlkOGE4MThm
ZmQzN2FhNWUxYmQ2MjI3NmFiZTlhLi5kMTFkMTgyYTZjZmIwOTA0N2MyZGQ1YTQ5MTEyNzdjNmVk
YTk0ZDBiIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJveHku
Y3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94eS5jcHAKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJET01TdHJpbmdMaXN0LmgiCiAjaW5jbHVkZSAiSURCQ2Fs
bGJhY2tzLmgiCiAjaW5jbHVkZSAiSURCT2JqZWN0U3RvcmVQcm94eS5oIgorI2luY2x1ZGUgIklE
QlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZS5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5o
IgogI2luY2x1ZGUgIldlYklEQkNhbGxiYWNrc0ltcGwuaCIKICNpbmNsdWRlICJXZWJJREJEYXRh
YmFzZS5oIgpAQCAtOTEsNiArOTIsMTMgQEAgdm9pZCBJREJEYXRhYmFzZVByb3h5OjpyZW1vdmVP
YmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGIKICAgICBt
X3dlYklEQkRhdGFiYXNlLT5yZW1vdmVPYmplY3RTdG9yZShuYW1lLCBuZXcgV2ViSURCQ2FsbGJh
Y2tzSW1wbChjYWxsYmFja3MpKTsKIH0KIAorUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlUHJveHk6OnRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3Qq
IHN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2lnbmVkIGxvbmcgdGltZW91dCkK
K3sKKyAgICAvLyBGSVhNRTogcGx1bWIgdG8gdGhlIGJyb3dzZXIgcHJvY2VzcywgZXRjIGV0Yy4K
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYg
LS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJveHkuaCBiL1dlYktpdC9j
aHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94eS5oCmluZGV4IDAzMzExZjI5Y2E5NmFhMmUxMzAz
MzEyNjhjZjRlY2Y1Mzc3ODg1ZDkuLmVkMjAxNmE1Nzk0MzYyNzAyZTJiZDA1OTU3MGFkMDdmYjgz
NzE2YTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94eS5o
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94eS5oCkBAIC01Miw2ICs1
Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJvb2wgYXV0b0luY3JlbWVudCwg
UGFzc1JlZlB0cjxJREJDYWxsYmFja3M+KTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCT2Jq
ZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBvYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUs
IHVuc2lnbmVkIHNob3J0IG1vZGUpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVPYmplY3RTdG9y
ZShjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7CisgICAgdmly
dHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rp
b24oRE9NU3RyaW5nTGlzdCogc3RvcmVOYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5zaWdu
ZWQgbG9uZyB0aW1lb3V0KTsKIAogcHJpdmF0ZToKICAgICBJREJEYXRhYmFzZVByb3h5KFBhc3NP
d25QdHI8V2ViS2l0OjpXZWJJREJEYXRhYmFzZT4pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63600</attachid>
            <date>2010-08-05 09:34:55 -0700</date>
            <delta_ts>2010-08-05 09:42:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42970-20100805173453.patch</filename>
            <type>text/plain</type>
            <size>42984</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggYmVhMmUxZGI5Y2FkZDE3
MjEwNjA0MmViM2JhY2YzNmQ4MmE0NWU4Yi4uODQ1YWJkYmJjOTU3OWQxOGQyNzkyZmQyNTMwNGMw
ODdkZGUzM2Y2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGlu
Z3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTM3
Miw3ICszNzIsOCBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0lE
QktleVJhbmdlLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0lEQk9iamVjdFN0
b3JlLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0lEQlJlcXVlc3QuaCBcCi0g
ICAgJChpbnRlcm1lZGlhdGVzKS9zdG9yYWdlL0pTSURCU3VjY2Vzc0V2ZW50LmgKKyAgICAkKGlu
dGVybWVkaWF0ZXMpL3N0b3JhZ2UvSlNJREJTdWNjZXNzRXZlbnQuaCBcCisgICAgJChpbnRlcm1l
ZGlhdGVzKS9zdG9yYWdlL0pTSURCVHJhbnNhY3Rpb24uaAogCiAkKEdFTik6IFBSSVZBVEVfUEFU
SCA6PSAkKExPQ0FMX1BBVEgpCiAkKEdFTik6IFBSSVZBVEVfQ1VTVE9NX1RPT0wgPSBwZXJsIC1J
JChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMgJChQUklWQVRFX1BBVEgpL2JpbmRpbmdz
L3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwgLS1kZWZpbmVzICIkKEZFQVRVUkVfREVGSU5F
UykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1nZW5lcmF0b3IgSlMgLS1pbmNsdWRlIGRvbSAtLWlu
Y2x1ZGUgaHRtbCAtLWluY2x1ZGUgc3RvcmFnZSAtLW91dHB1dGRpciAkKGRpciAkQCkgJDwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsgYi9XZWJDb3Jl
L0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IGY3ZmE4ZDY3YzM1YzU0ZmJlNDIy
YWMzNGIxMzYzNGNlZmUyMjZjZmUuLmY1MzFmZWE0NDI5N2Y1MzM0YTI3YzhmZTM0ZmJjYjU4ODJh
YTZiNDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsK
KysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawpAQCAtMzUzLDcgKzM1
Myw4IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOElEQktleVJh
bmdlLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhJREJPYmplY3RTdG9yZS5o
IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4SURCUmVxdWVzdC5oIFwKLSAgICAk
KGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4SURCU3VjY2Vzc0V2ZW50LmgKKyAgICAkKGludGVy
bWVkaWF0ZXMpL2JpbmRpbmdzL1Y4SURCU3VjY2Vzc0V2ZW50LmggXAorICAgICQoaW50ZXJtZWRp
YXRlcykvYmluZGluZ3MvVjhJREJUcmFuc2FjdGlvbi5oCiAKICQoR0VOKTogUFJJVkFURV9QQVRI
IDo9ICQoTE9DQUxfUEFUSCkKICQoR0VOKTogUFJJVkFURV9DVVNUT01fVE9PTCA9IFNPVVJDRV9S
T09UPSQoUFJJVkFURV9QQVRIKSBwZXJsIC1JJChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3Njcmlw
dHMgJChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwg
LS1kZWZpbmVzICIkKEZFQVRVUkVfREVGSU5FUykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1nZW5l
cmF0b3IgVjggLS1pbmNsdWRlIGRvbSAtLWluY2x1ZGUgaHRtbCAtLWluY2x1ZGUgc3RvcmFnZSAt
LW91dHB1dGRpciAkKGRpciAkQCkgJDwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBi
L1dlYkNvcmUvQW5kcm9pZC5tawppbmRleCBmNzlhYTc0MzBjNzg4MzRjMWY2YzQyZDcyZTM1OTk0
OGM3NGMxMjVmLi4zYThiZDQ2OTc2MWMxNmVjYzQzMGQzNzFiZjMzNTJhMjUyYzEyNmVhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC03
NTUsNiArNzU1LDcgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJ
c3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcCBcCiAJc3RvcmFnZS9JREJSZXF1
ZXN0LmNwcCBcCiAJc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwIFwKKwlzdG9yYWdlL0lEQlRy
YW5zYWN0aW9uLmNwcCBcCiAJc3RvcmFnZS9JREJGYWN0b3J5LmNwcCBcCiAJc3RvcmFnZS9JREJG
YWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAgXAogCXN0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJ
bXBsLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCBmNjExNTk0ZjMyYjRmYmViMzljZWQ1Njg2YWUwYzQ2MzM2NzI3
MzMzLi41N2Q2ZTE3MjY0NTFmZTFhYWQ3ZDM1YjliNmUxNDdkMmI4NjVhZTIyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTM0Niw2ICszNDYsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBzdG9yYWdlL0lEQk9i
amVjdFN0b3JlLmlkbAogICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5pZGwKICAgICBzdG9yYWdlL0lE
QlN1Y2Nlc3NFdmVudC5pZGwKKyAgICBzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmlkbAogICAgIHN0
b3JhZ2UvU1FMRXJyb3IuaWRsCiAgICAgc3RvcmFnZS9TUUxFeGNlcHRpb24uaWRsCiAgICAgc3Rv
cmFnZS9TUUxSZXN1bHRTZXQuaWRsCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDkzZDBjNWNiNTc2MjkwMTlkZjJhNTJmY2VlZmI2ZGVhZmEz
MjIzZTIuLmY5OWIwMjAwMjMxMzU0ZWQ0MGM2OTEwZWNmYjg2M2VjNDNlMzkyNGQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NjIgQEAKKzIwMTAtMDgtMDUgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBkaGNwLTE3Mi0xNi0x
NC0xMi5sb24uY29ycC5nb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtJbmRleGVkREJdIEluZGV4ZWREQiBpcyBtaXNzaW5nIHRoZSBU
cmFuc2FjdGlvbiBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00Mjk3MAorCisgICAgICAgIEFkZCBJREJUcmFuc2FjdGlvbiBib2lsZXJw
bGF0ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vdCBmdW5jdGlvbmFsIHlldC4KKworICAg
ICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lk
LmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJD
b3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0V2
ZW50TmFtZXMuaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3RvcmFnZS9J
REJEYXRhYmFzZS5oOgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2UuaWRsOgorICAgICAg
ICAqIHN0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3RvcmFn
ZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmg6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFz
ZUJhY2tlbmRJbnRlcmZhY2UuaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6SURCUmVxdWVzdCk6CisgICAgICAgIChXZWJD
b3JlOjpJREJSZXF1ZXN0OjpjYW5TdXNwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3Q6OnRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6b25FdmVudENv
bW1vbik6CisgICAgICAgICogc3RvcmFnZS9JREJSZXF1ZXN0Lmg6CisgICAgICAgICogc3RvcmFn
ZS9JREJUcmFuc2FjdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNh
Y3Rpb246OklEQlRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
Ojp+SURCVHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om1v
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmRiKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlRyYW5zYWN0aW9uOjpvYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJUcmFuc2FjdGlvbjo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246
OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OmNhblN1c3BlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmV2ZW50
VGFyZ2V0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6ZW5zdXJlRXZl
bnRUYXJnZXREYXRhKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0
aW9uOjp0b0lEQlRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpyZWZFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6ZGVy
ZWZFdmVudFRhcmdldCk6CisgICAgICAgICogc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGw6IEFk
ZGVkLgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
Ojp+SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKToKKwogMjAxMC0wOC0wNSAgTmVkIEhv
bGJyb29rICA8bmhvbGJyb29rQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNGJlZDU2OGQ3MDNiNDVkNjVkZTY3MWEwZTcyMTQ0
Njg4YzY3MmMyMy4uNzA3MTE4M2QyNjUyZjJlMWYxN2M5NGYyMDVhMGM1Y2ViOWI0NDRlZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKQEAgLTE4OCw2ICsxODgsNyBAQAogI2luY2x1ZGUgIkpTSURCT2JqZWN0U3Rv
cmUuY3BwIgogI2luY2x1ZGUgIkpTSURCUmVxdWVzdC5jcHAiCiAjaW5jbHVkZSAiSlNJREJTdWNj
ZXNzRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTSURCVHJhbnNhY3Rpb24uY3BwIgogI2luY2x1ZGUg
IkpTSW1hZ2VEYXRhLmNwcCIKICNpbmNsdWRlICJKU0luamVjdGVkU2NyaXB0SG9zdC5jcHAiCiAj
aW5jbHVkZSAiSlNJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IGUyNjNjN2U2MDBkMDM1Y2ZmZmI5YjQyYTYwY2U2ZmY2ZTQzMjY3NTYuLmYzMzFkYjhiZGQ1Mjk0
OTk1M2RhYjY3YzQwNjczZTEzZDcwOGRlZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIzOCw2ICsy
MzgsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBJREJPYmplY3RTdG9yZSBcCiAgICAgSURCUmVx
dWVzdCBcCiAgICAgSURCU3VjY2Vzc0V2ZW50IFwKKyAgICBJREJUcmFuc2FjdGlvbiBcCiAgICAg
SW1hZ2VEYXRhIFwKICAgICBJbmplY3RlZFNjcmlwdEhvc3QgXAogICAgIEluc3BlY3RvckZyb250
ZW5kSG9zdCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCAzZjNjMGRiZmZiMWI0NjRmNGJlZjY5ODIwZDViM2ZlNWMyMTg4
YjAxLi5jZTg1NjQ4NGZkNmU5ZWY0MGFiY2MyNjdkYzJiMWYyZDU1ZGU0OWZhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAg
LTI4NTYsNyArMjg1Niw5IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0lEQlJlcXVlc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTSURCUmVxdWVzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSURCU3VjY2Vzc0V2
ZW50LmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lEQlN1Y2Nlc3NFdmVudC5oCisJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lEQlN1Y2Nlc3NFdmVudC5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTSURCVHJhbnNhY3Rpb24uY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTSURCVHJhbnNhY3Rpb24uaAogCiB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
c3RvcmFnZS9JREJBbnkuY3BwIFwKQEAgLTI4NzMsNiArMjg3NSwxMiBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVdlYkNvcmUvc3RvcmFnZS9JREJFcnJvckV2ZW50LmggXAogCVdlYkNvcmUvc3Rv
cmFnZS9JREJFdmVudC5jcHAgXAogCVdlYkNvcmUvc3RvcmFnZS9JREJFdmVudC5oIFwKKwlXZWJD
b3JlL3N0b3JhZ2UvSURCRmFjdG9yeS5jcHAgXAorCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5
LmggXAorCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAgXAor
CVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIFwKKwlXZWJDb3Jl
L3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcCBcCisJV2ViQ29yZS9zdG9yYWdlL0lE
QkZhY3RvcnlCYWNrZW5kSW1wbC5oCiAJV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4LmNwcCBcCiAJ
V2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4LmggXAogCVdlYkNvcmUvc3RvcmFnZS9JREJJbmRleEJh
Y2tlbmRJbnRlcmZhY2UuaCBcCkBAIC0yODg5LDEyICsyODk3LDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlXZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5oIFwKIAlXZWJDb3JlL3N0b3JhZ2Uv
SURCU3VjY2Vzc0V2ZW50LmNwcCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5o
IFwKLQlXZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeS5jcHAgXAotCVdlYkNvcmUvc3RvcmFnZS9J
REJGYWN0b3J5LmggXAotCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFj
ZS5jcHAgXAotCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIFwK
LQlXZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcCBcCi0JV2ViQ29yZS9z
dG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5oCisJV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5z
YWN0aW9uLmNwcCBcCisJV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmggXAorCVdlYkNv
cmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UKIGVuZGlmICMgRU5EIEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFCiAKICMgLS0tLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBkNWVkM2QyOTQ3NmVhYzA1YzJi
ZDA3OGJkZjRhZDM4MGFjNWVhYTNjLi40ZmEzMTUyNGJjMDdhMmI3ZTY5MTlkNjVkMzZiOTIxNTU2
MTI5OGJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQpAQCAtMjQ5LDYgKzI0OSw3IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9JREJP
YmplY3RTdG9yZS5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUmVxdWVzdC5pZGwnLAog
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmlkbCcsCisgICAgICAgICAgICAn
c3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvTWV0YWRh
dGEuaWRsJywKICAgICAgICAgICAgICdzdG9yYWdlL01ldGFkYXRhQ2FsbGJhY2suaWRsJywKICAg
ICAgICAgICAgICdzdG9yYWdlL1NRTEVycm9yLmlkbCcsCkBAIC0zNTMzLDYgKzM1MzQsMTAgQEAK
ICAgICAgICAgICAgICdzdG9yYWdlL0lEQlJlcXVlc3QuaCcsCiAgICAgICAgICAgICAnc3RvcmFn
ZS9JREJTdWNjZXNzRXZlbnQuY3BwJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlN1Y2Nlc3NF
dmVudC5oJywKKyAgICAgICAgICAgICdzdG9yYWdlL0lEQlRhc2suaCcsCisgICAgICAgICAgICAn
c3RvcmFnZS9JREJUcmFuc2FjdGlvbi5jcHAnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCVHJh
bnNhY3Rpb24uaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2UuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmNwcCcs
CiAgICAgICAgICAgICAnc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgnLAogICAgICAgICAgICAg
J3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCBjZTBmNzAxMmEzNWI3ODg0MWMz
YmZiNjVkMjVkYTdlNjE4ODdjZDZjLi5jODVjN2E0OGU2NjRmNTdjYzhiODEwNjFkOTU4OGNjNGEz
YjQ4OGIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS5wcmkKQEAgLTQ4OCwxMyArNDg4LDE0IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgc3Rv
cmFnZS9JREJEYXRhYmFzZS5pZGwgXAogICAgIHN0b3JhZ2UvSURCRXJyb3JFdmVudC5pZGwgXAog
ICAgIHN0b3JhZ2UvSURCRXZlbnQuaWRsIFwKKyAgICBzdG9yYWdlL0lEQkZhY3RvcnkuaWRsIFwK
ICAgICBzdG9yYWdlL0lEQkluZGV4LmlkbCBcCiAgICAgc3RvcmFnZS9JREJLZXkuaWRsIFwKICAg
ICBzdG9yYWdlL0lEQktleVJhbmdlLmlkbCBcCiAgICAgc3RvcmFnZS9JREJPYmplY3RTdG9yZS5p
ZGwgXAogICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5pZGwgXAogICAgIHN0b3JhZ2UvSURCU3VjY2Vz
c0V2ZW50LmlkbCBcCi0gICAgc3RvcmFnZS9JREJGYWN0b3J5LmlkbCBcCisgICAgc3RvcmFnZS9J
REJUcmFuc2FjdGlvbi5pZGwgXAogICAgIHN0b3JhZ2UvU3RvcmFnZS5pZGwgXAogICAgIHN0b3Jh
Z2UvU3RvcmFnZUV2ZW50LmlkbCBcCiAgICAgc3RvcmFnZS9TUUxFcnJvci5pZGwgXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTJk
MDU2ZDk3NGNlZmU4NTIxY2E2NjNlZmRkNGIwNmI0Y2ZmN2Y3OC4uYWI0N2ZiYjQ1NGY1ZTg5NmJh
ODY2ZmI2NzFjMjc5OGYzMTc1ZmE5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybwor
KysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0yNDQ1LDcgKzI0NDUsOSBAQCBjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRT0xKSB7CiAgICAgICAgIHN0b3JhZ2UvSURC
T2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5oIFwKICAgICAgICAgc3RvcmFnZS9JREJPYmplY3RTdG9y
ZUJhY2tlbmRJbnRlcmZhY2UuaCBcCiAgICAgICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5oIFwKLSAg
ICAgICAgc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuaAorICAgICAgICBzdG9yYWdlL0lEQlN1Y2Nl
c3NFdmVudC5oIFwKKyAgICAgICAgc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5oIFwKKyAgICAgICAg
c3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UuaAogCiAgICAgU09VUkNFUyAr
PSBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwIFwKQEAgLTI0
NjYsNyArMjQ2OCw4IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
PTEpIHsKICAgICAgICAgc3RvcmFnZS9JREJPYmplY3RTdG9yZS5jcHAgXAogICAgICAgICBzdG9y
YWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwIFwKICAgICAgICAgc3RvcmFnZS9JREJS
ZXF1ZXN0LmNwcCBcCi0gICAgICAgIHN0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmNwcAorICAgICAg
ICBzdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5jcHAgXAorICAgICAgICBzdG9yYWdlL0lEQlRyYW5z
YWN0aW9uLmNwcAogfQogCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRE9NX1NUT1JBR0U9MSkg
ewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYzBkYzNiZWVmZGEyZDQw
YThjNWYyOGYzYjU3YzhiZjY0YjU2YWY2Ni4uODEwZWVlZTY0YmEyYWYwZTAxNTNkMDhiYzFmYTgx
NzkyZjFmYjI0MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC00NTMw
OCw2ICs0NTMwOCw2MiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJ
CVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xKU0lEQlRyYW5zYWN0aW9uLmNwcCINCisJCQkJCT4NCisJCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0lu
dGVybmFsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4N
CisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+
DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJ
CQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNJREJUcmFuc2FjdGlvbi5oIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJ
CTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTSW1hZ2VDb25zdHJ1
Y3Rvci5jcHAiDQogCQkJCQk+DQogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC01MDMwMSw2
ICs1MDM1NywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxzdG9yYWdlXElEQlRyYW5zYWN0aW9uLmNwcCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCVHJhbnNhY3Rp
b24uaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHN0b3JhZ2VcTG9jYWxTdG9yYWdlVGFzay5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmNWI5MzAzY2Vi
Y2Q5Y2RkYWZjNTQ5MDE5ODBhOGQxNjY3NTgxY2M0Li5jNmViYTNiN2FhM2YwMzJkZjA0ZjhmZWJl
YWI1ZjJmNjliZGY3NzVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNDM1OCw2ICs0MzU4LDEwIEBACiAJCUI1RDM2MDFBMTEyRjhCNTYwMDQ4REVBOCAv
KiBEYXRhYmFzZUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCNUQzNjAxOTExMkY4QjU2MDA0OERFQTggLyogRGF0YWJhc2VDYWxsYmFjay5o
ICovOyB9OwogCQlCNjE3NjI1NDEyMDMzNzRGMDBFRjkxMTQgLyogSURCRGF0YWJhc2VCYWNrZW5k
SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCNjE3NjI1MzEyMDMzNzRGMDBFRjkxMTQgLyogSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNl
LmggKi87IH07CiAJCUI2MTc2MjYyMTIwMzQ5MDgwMEVGOTExNCAvKiBJREJEYXRhYmFzZUJhY2tl
bmRJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
NjE3NjI2MTEyMDM0OTA4MDBFRjkxMTQgLyogSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oICovOyB9
OworCQlCNjU2NjI2QTEyMEIxMTVBMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1NjYyNjcxMjBCMTE1
QTAwNkVBODVDIC8qIElEQlRyYW5zYWN0aW9uLmNwcCAqLzsgfTsKKwkJQjY1NjYyNkIxMjBCMTE1
QTAwNkVBODVDIC8qIElEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCNjU2NjI2ODEyMEIxMTVBMDA2RUE4NUMgLyogSURCVHJhbnNh
Y3Rpb24uaCAqLzsgfTsKKwkJQjY1NjYyNzAxMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNh
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2
NTY2MjZFMTIwQjEyMjcwMDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmggKi87IH07CisJCUI2
NTY2MjcxMTIwQjEyMjcwMDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2NTY2MjZGMTIwQjEyMjcwMDZF
QTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmNwcCAqLzsgfTsKIAkJQjY5MUMxRjkxMjA2RDRBMDAw
MjVEOTgwIC8qIElEQkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEM1ODVBNkEzMTFENEZCM0QwMDRDM0U0QiAvKiBJREJEYXRhYmFzZS5j
cHAgKi87IH07CiAJCUI3MUZFNkRGMTEwOTFDQjMwMERBRUY3NyAvKiBQcmludENvbnRleHQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI3NzZENDNBMTEw
NDUyNUQwMEJFQjBFQyAvKiBQcmludENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCNzM0QjE4MTExOUI5OTExMDA2NTg3QkQgLyogRm9u
dFRyYW5zY29kZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjczNEIxODAxMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCAqLzsg
fTsKQEAgLTEwMDI2LDYgKzEwMDMwLDEyIEBACiAJCUI1RDM2MDE5MTEyRjhCNTYwMDQ4REVBOCAv
KiBEYXRhYmFzZUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERh
dGFiYXNlQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjYxNzYyNTMx
MjAzMzc0RjAwRUY5MTE0IC8qIElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjYxNzYyNjExMjAzNDkwODAwRUY5MTE0IC8q
IElEQkRhdGFiYXNlQmFja2VuZEltcGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCNjU2NjI2NzEyMEIxMTVBMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURCVHJhbnNhY3Rpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCNjU2NjI2ODEyMEIxMTVBMDA2RUE4NUMgLyogSURCVHJh
bnNhY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCVHJhbnNhY3Rp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjY1NjYyNjkxMjBCMTE1QTAwNkVB
ODVDIC8qIElEQlRyYW5zYWN0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJUcmFu
c2FjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2NTY2MjZEMTIwQjEx
NkIwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2NTY2MjZFMTIwQjEyMjcwMDZFQTg1QyAv
KiBKU0lEQlRyYW5zYWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpT
SURCVHJhbnNhY3Rpb24uaDsgcGF0aCA9IC4uL1dlYktpdEJ1aWxkL0RlYnVnL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNJREJUcmFuc2FjdGlvbi5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7
IH07CisJCUI2NTY2MjZGMTIwQjEyMjcwMDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTSURCVHJhbnNhY3Rpb24uY3Bw
OyBwYXRoID0gLi4vV2ViS2l0QnVpbGQvRGVidWcvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lE
QlRyYW5zYWN0aW9uLmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQlCNzM0QjE4
MDExOUI5OTExMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gRm9udFRyYW5zY29kZXIuY3BwOyBwYXRoID0gdHJhbnNjb2Rl
ci9Gb250VHJhbnNjb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI3MzRC
MTgyMTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBGb250VHJhbnNjb2Rlci5oOyBwYXRoID0gdHJhbnNjb2Rlci9Gb250
VHJhbnNjb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzc2RDQzQTExMDQ1
MjVEMDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFByaW50Q29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE0
NDEsNiArMTE0NTEsMTAgQEAKIAkJCQlDNTg1QTZDMjExRDRGQjNEMDA0QzNFNEIgLyogSURCU3Vj
Y2Vzc0V2ZW50LmNwcCAqLywKIAkJCQlDNTg1QTZDMzExRDRGQjNEMDA0QzNFNEIgLyogSURCU3Vj
Y2Vzc0V2ZW50LmggKi8sCiAJCQkJQzU4NUE2QzQxMUQ0RkIzRDAwNEMzRTRCIC8qIElEQlN1Y2Nl
c3NFdmVudC5pZGwgKi8sCisJCQkJQjY1NjYyNkQxMjBCMTE2QjAwNkVBODVDIC8qIElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZS5oICovLAorCQkJCUI2NTY2MjY3MTIwQjExNUEwMDZFQTg1
QyAvKiBJREJUcmFuc2FjdGlvbi5jcHAgKi8sCisJCQkJQjY1NjYyNjgxMjBCMTE1QTAwNkVBODVD
IC8qIElEQlRyYW5zYWN0aW9uLmggKi8sCisJCQkJQjY1NjYyNjkxMjBCMTE1QTAwNkVBODVDIC8q
IElEQlRyYW5zYWN0aW9uLmlkbCAqLywKIAkJCQk1MTFGMjMxMzBEQzE2MERBMDA0RjAwMzIgLyog
TG9jYWxTdG9yYWdlVGFzay5jcHAgKi8sCiAJCQkJNTExRjIzMTQwREMxNjBEQTAwNEYwMDMyIC8q
IExvY2FsU3RvcmFnZVRhc2suaCAqLywKIAkJCQk1MTFGMjMxNTBEQzE2MERBMDA0RjAwMzIgLyog
TG9jYWxTdG9yYWdlVGhyZWFkLmNwcCAqLywKQEAgLTE0ODc4LDYgKzE0ODkyLDggQEAKIAkJCQlD
NTg1QTY3OTExRDRGQjA3MDA0QzNFNEIgLyogSlNJREJSZXF1ZXN0LmggKi8sCiAJCQkJQzU4NUE2
N0ExMUQ0RkIwNzAwNEMzRTRCIC8qIEpTSURCU3VjY2Vzc0V2ZW50LmNwcCAqLywKIAkJCQlDNTg1
QTY3QjExRDRGQjA3MDA0QzNFNEIgLyogSlNJREJTdWNjZXNzRXZlbnQuaCAqLywKKwkJCQlCNjU2
NjI2RTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5oICovLAorCQkJCUI2NTY2
MjZGMTIwQjEyMjcwMDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmNwcCAqLywKIAkJCQk1MTRD
NzYzNTBDRTkyMjVFMDA3RUYzQ0QgLyogSlNTUUxFcnJvci5jcHAgKi8sCiAJCQkJQkM4MjQzMjUw
RDBDRThBMjAwNDYwQzhGIC8qIEpTU1FMRXJyb3IuaCAqLywKIAkJCQlCNTI1QTk2NDExQ0EyMzQw
MDAzQTIzQTggLyogSlNTUUxFeGNlcHRpb24uY3BwICovLApAQCAtMTk5OTAsNiArMjAwMDYsOCBA
QAogCQkJCTk3REQ0RDg3MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDRTE3MkUwMTExMzZFOENFMDA2MkE1MzMgLyogWm9vbU1vZGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTM3QzYxRjAxMTIwOTVDODcwMDdBM0M2NyAvKiBBdG9taWNTdHJpbmdLZXll
ZE1SVUNhY2hlLmggaW4gSGVhZGVycyAqLywKKwkJCQlCNjU2NjI2QjEyMEIxMTVBMDA2RUE4NUMg
LyogSURCVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUI2NTY2MjcwMTIwQjEyMjcw
MDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIyMzk0LDYg
KzIyNDEyLDggQEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nlc3Nv
ckxpYnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5
IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0RENEQ4NjBGREY0
RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCNjU2NjI2
QTEyMEIxMTVBMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQjY1NjYyNzExMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNhY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9XZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNjYyMGNlYzcxYTNlOWExYWE3NTRlNTViMzBmYWUzODM4
YmNmZGZmNi4uMWI5N2Q2NWE1OGJlMzU5M2EyYWNiYmI4ZWFmMjRiZjM2YmUzZDFkMyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oY2hl
Y2tpbmcpIFwKICAgICBtYWNybyhjbGljaykgXAogICAgIG1hY3JvKGNsb3NlKSBcCisgICAgbWFj
cm8oY29tcGxldGUpIFwKICAgICBtYWNybyhjb21wb3NpdGlvbmVuZCkgXAogICAgIG1hY3JvKGNv
bXBvc2l0aW9uc3RhcnQpIFwKICAgICBtYWNybyhjb21wb3NpdGlvbnVwZGF0ZSkgXApAQCAtMTUw
LDYgKzE1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAgICAgbWFjcm8ob3JpZW50
YXRpb25jaGFuZ2UpIFwKICAgICBcCisgICAgbWFjcm8odGltZW91dCkgXAorICAgIFwKICAgICBt
YWNybyh0b3VjaHN0YXJ0KSBcCiAgICAgbWFjcm8odG91Y2htb3ZlKSBcCiAgICAgbWFjcm8odG91
Y2hlbmQpIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAgYi9X
ZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuY3BwCmluZGV4IGU0ZDQzODUwM2U4YmQ2YWZmMTBm
YmVmYjZiOTU5OGY1NjY1Zjc1OTYuLmZhMTgwN2NjZDM1NmExMDYyYzI2N2FiMGI1MzRmNjY0NzA2
NzBmZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1
ZGUgIklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSURCT2JqZWN0U3Rv
cmUuaCIKICNpbmNsdWRlICJJREJSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb24u
aCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAKICNpZiBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkKQEAgLTY4LDYgKzY5LDE2IEBAIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4g
SURCRGF0YWJhc2U6OnJlbW92ZU9iamVjdFN0b3JlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
CiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKK1Bhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IElE
QkRhdGFiYXNlOjp0cmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBE
T01TdHJpbmdMaXN0KiBzdG9yZU5hbWVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCB1bnNpZ25lZCBs
b25nIHRpbWVvdXQpCit7CisgICAgLy8gV2UgbmVlZCB0byBjcmVhdGUgYSBuZXcgdHJhbnNhY3Rp
b24gc3luY2hyb25vdXNseS4gTG9ja3MgYXJlIGFjcXVpcmVkIGFzeW5jaHJvbm91c2x5LiBPcGVy
YXRpb25zCisgICAgLy8gY2FuIGJlIHF1ZXVlZCBhZ2FpbnN0IHRoZSB0cmFuc2FjdGlvbiBhdCBh
bnkgcG9pbnQuIFRoZXkgd2lsbCBzdGFydCBleGVjdXRpbmcgYXMgc29vbiBhcyB0aGUKKyAgICAv
LyBhcHByb3ByaWF0ZSBsb2NrcyBoYXZlIGJlZW4gYWNxdWlyZWQuCisgICAgUmVmUHRyPElEQlRy
YW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb25CYWNrZW5kID0gbV9iYWNrZW5k
LT50cmFuc2FjdGlvbihzdG9yZU5hbWVzLCBtb2RlLCB0aW1lb3V0KTsKKyAgICBSZWZQdHI8SURC
VHJhbnNhY3Rpb24+IHRyYW5zYWN0aW9uID0gSURCVHJhbnNhY3Rpb246OmNyZWF0ZShjb250ZXh0
LCB0cmFuc2FjdGlvbkJhY2tlbmQucmVsZWFzZSgpLCB0aGlzKTsKKyAgICByZXR1cm4gdHJhbnNh
Y3Rpb24ucmVsZWFzZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAv
LyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9J
REJEYXRhYmFzZS5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmgKaW5kZXggY2NhMjBl
M2NkNGQyODZiOWYzMWJkNDA1Y2RmMDU2MGE4MjcyODBhYS4uNjkwMGVmZDQ0MGRjY2I4MTkyMDE4
ZmUyNGJmMjUwZDk2NGIwZmVkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFi
YXNlLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmgKQEAgLTI4LDYgKzI4LDcg
QEAKIAogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUJh
Y2tlbmRJbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5oIgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CkBAIC01Niw5ICs1NywxMCBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0
cjxET01TdHJpbmdMaXN0PiBvYmplY3RTdG9yZXMoKSBjb25zdCB7IHJldHVybiBtX2JhY2tlbmQt
Pm9iamVjdFN0b3JlcygpOyB9CiAKICAgICBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IGNyZWF0ZU9i
amVjdFN0b3JlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYga2V5UGF0aCA9IFN0cmluZygpLCBib29sIGF1dG9JbmNyZW1lbnQgPSBmYWxz
ZSk7Ci0gICAgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gb2JqZWN0U3RvcmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCB1bnNpZ25lZCBzaG9ydCBtb2RlID0gMCk7IC8vIEZJWE1FOiBVc2UgY29uc3Rh
bnQgcmF0aGVyIHRoYW4gMC4KKyAgICBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlPiBvYmplY3RT
dG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIHVuc2lnbmVkIHNob3J0IG1vZGUgPSBJREJUcmFuc2Fj
dGlvbjo6UkVBRF9PTkxZKTsKICAgICBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IHJlbW92ZU9iamVj
dFN0b3JlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIG5hbWUpOwotCisg
ICAgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIERPTVN0cmluZ0xpc3QqIHN0b3JlTmFtZXMgPSAwLCB1bnNpZ25lZCBzaG9ydCBt
b2RlID0gSURCVHJhbnNhY3Rpb246OlJFQURfT05MWSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHRpbWVvdXQgPSAwKTsgLy8gRklYTUU6
IHdoYXQgc2hvdWxkIHRoZSBkZWZhdWx0IHRpbWVvdXQgYmU/CiBwcml2YXRlOgogICAgIElEQkRh
dGFiYXNlKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlPik7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5pZGwgYi9XZWJDb3JlL3N0b3JhZ2Uv
SURCRGF0YWJhc2UuaWRsCmluZGV4IGQ3NWVkNTU0NGUxNTRjNjE3OWQ0NTBjNWE2ZTdhMTlhZDU0
ODNhZWQuLjRlM2Y2MjAwY2I0NTkwNTYwNTczYzc1NGNhZjg1OTY3NWIwMDdlMTQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5pZGwKKysrIGIvV2ViQ29yZS9zdG9yYWdl
L0lEQkRhdGFiYXNlLmlkbApAQCAtMzMsMTMgKzMzLDEzIEBAIG1vZHVsZSBzdG9yYWdlIHsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2ZXJzaW9uOwogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBvYmplY3RTdG9yZXM7CiAKLSAgICAgICAgLy8g
RklYTUU6IEFkZCB0cmFuc2FjdGlvbi4KICAgICAgICAgLy8gRklYTUU6IEFkZCBzZXRWZXJzaW9u
LgogCiAgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBJREJSZXF1ZXN0
IGNyZWF0ZU9iamVjdFN0b3JlKGluIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWwsIENvbnZl
cnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcga2V5UGF0aCwgaW4gW09wdGlvbmFsXSBib29s
ZWFuIGF1dG9JbmNyZW1lbnQpOwogICAgICAgICAvLyBGSVhNRTogb2JqZWN0U3RvcmUgbmVlZHMg
dG8gYmUgYWJsZSB0byByYWlzZSBhbiBJREJEYXRhYmFzZUV4Y2VwdGlvbi4KICAgICAgICAgSURC
T2JqZWN0U3RvcmUgb2JqZWN0U3RvcmUoaW4gRE9NU3RyaW5nIG5hbWUsIGluIFtPcHRpb25hbF0g
dW5zaWduZWQgc2hvcnQgbW9kZSk7CiAgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSBJREJSZXF1ZXN0IHJlbW92ZU9iamVjdFN0b3JlKGluIERPTVN0cmluZyBuYW1lKTsK
KyAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIElEQlRyYW5zYWN0aW9u
IHRyYW5zYWN0aW9uIChpbiBbT3B0aW9uYWxdIERPTVN0cmluZ0xpc3Qgc3RvcmVOYW1lcywgaW4g
W09wdGlvbmFsXSB1bnNpZ25lZCBzaG9ydCBtb2RlLCBpbiBbT3B0aW9uYWxdIHVuc2lnbmVkIGxv
bmcgdGltZW91dCk7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lE
QkRhdGFiYXNlQmFja2VuZEltcGwuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFj
a2VuZEltcGwuY3BwCmluZGV4IDg2MjI4YmRlMjI0YWM1OTUzNDU0ZWZmMzU5MjYzMjg4MTIxZjBh
ODUuLjA5YjlkZWU2MTViNTI2Y2RkZWZmZmY4YTcyNWM3N2Y4MGExYWQ1NmMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcAorKysgYi9XZWJDb3Jl
L3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKQEAgLTgzLDYgKzgzLDEzIEBAIHZv
aWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVtb3ZlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5n
JiBuYW1lLCBQYXNzUmVmUHRyPElECiAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoKTsKIH0KIAor
UGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlQmFj
a2VuZEltcGw6OnRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3QqLCB1bnNpZ25lZCBzaG9ydCwgdW5z
aWduZWQgbG9uZykKK3sKKyAgICAvLyBGSVhNRTogQXNrIHRoZSB0cmFuc2FjdGlvbiBtYW5hZ2Vy
IGZvciBhIG5ldyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLgorICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiAwOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Rv
cmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJh
c2VCYWNrZW5kSW1wbC5oCmluZGV4IDg3ZTA3MGExMjMyNGZhYmI0ZTMzNWM3ZjgyOWNkNTdkOWZh
ZTYzZDcuLmY2ZmYwNTg3ZjkxMDJhOWYwMDA5Y2ZjNTc1NWM2ZGQzMGU2OWExYTYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKKysrIGIvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaApAQCAtNTIsNyArNTIsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIGF1dG9JbmNyZW1lbnQsIFBhc3NSZWZQdHI8
SURCQ2FsbGJhY2tzPik7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFj
a2VuZEludGVyZmFjZT4gb2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBz
aG9ydCBtb2RlKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlT2JqZWN0U3RvcmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwotCisgICAgdmlydHVhbCBQYXNz
UmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24oRE9NU3Ry
aW5nTGlzdCogc3RvcmVOYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0
aW1lb3V0KTsKIHByaXZhdGU6CiAgICAgSURCRGF0YWJhc2VCYWNrZW5kSW1wbChjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYgdmVyc2lv
bik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbnRl
cmZhY2UuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaApp
bmRleCBjMmIwOGYxNDY0NTFkY2Y1ZThhZjBlZDY5ZDdiNWQ4Njc1OTZjYzI4Li5hYzEyYmYxM2M4
OGJlM2Q2Zjc5NjgzZGM3YTUzMmUyZTUyYjJmMTMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lE
QkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oCkBAIC0zOCw2ICszOCw3IEBAIGNsYXNzIERPTVN0
cmluZ0xpc3Q7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIElEQkNhbGxiYWNrczsKIGNsYXNzIElEQk9i
amVjdFN0b3JlQmFja2VuZEludGVyZmFjZTsKK2NsYXNzIElEQlRyYW5zYWN0aW9uQmFja2VuZElu
dGVyZmFjZTsKIAogLy8gVGhpcyBjbGFzcyBpcyBzaGFyZWQgYnkgSURCRGF0YWJhc2UgKGFzeW5j
KSBhbmQgSURCRGF0YWJhc2VTeW5jIChzeW5jKS4KIC8vIFRoaXMgaXMgaW1wbGVtZW50ZWQgYnkg
SURCRGF0YWJhc2VCYWNrZW5kSW1wbCBhbmQgb3B0aW9uYWxseSBvdGhlcnMgKGluIG9yZGVyIHRv
IHByb3h5CkBAIC01Nyw2ICs1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRl
T2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJv
b2wgYXV0b0luY3JlbWVudCwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+KSA9IDA7CiAgICAgdmly
dHVhbCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4gb2JqZWN0U3Rv
cmUoY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBzaG9ydCBtb2RlKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHJlbW92ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0
cjxJREJDYWxsYmFja3M+KSA9IDA7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24oRE9NU3RyaW5nTGlzdCogc3RvcmVOYW1l
cywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KSA9IDA7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURC
UmVxdWVzdC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5jcHAKaW5kZXggYzI5ZmM1
YjQwZDMyMDA4YmI4NmZiOWFmMGMwYzJjNTQ0MmZmZmQ1NC4uZTkwMmQyMGJiODRkNmVkYTk4ZjQ2
MjE0MDBjM2YyNDkxMWQ2ZjI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQlJlcXVl
c3QuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmNwcApAQCAtNDksNyArNDks
NiBAQCBJREJSZXF1ZXN0OjpJREJSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIFBhc3NSZWZQdHI8SURCQW55PiBzb3VyYwogICAgICwgbV9zb3VyY2Uoc291cmNlKQogICAg
ICwgbV9yZXN1bHQoSURCQW55OjpjcmVhdGUoKSkKICAgICAsIG1fdGltZXIodGhpcywgJklEQlJl
cXVlc3Q6OnRpbWVyRmlyZWQpCi0gICAgLCBtX3N0b3BwZWQoZmFsc2UpCiAgICAgLCBtX2Fib3J0
ZWQoZmFsc2UpCiAgICAgLCBtX3JlYWR5U3RhdGUoSU5JVElBTCkKIHsKQEAgLTExNSwyNCArMTE0
LDExIEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIElEQlJlcXVlc3Q6OnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSBjb25zdAogICAgIHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsKIH0KIAotdm9pZCBJREJSZXF1ZXN0OjpzdG9wKCkKK2Jvb2wgSURCUmVx
dWVzdDo6Y2FuU3VzcGVuZCgpIGNvbnN0CiB7Ci0gICAgYWJvcnQoKTsKLSAgICBtX3NlbGZSZWYg
PSAwOyAvLyBDb3VsZCB0cmlnZ2VyIGEgZGVsZXRlLgotfQotCi12b2lkIElEQlJlcXVlc3Q6OnN1
c3BlbmQoKQotewotICAgIG1fdGltZXIuc3RvcCgpOwotICAgIG1fc3RvcHBlZCA9IHRydWU7Ci19
Ci0KLXZvaWQgSURCUmVxdWVzdDo6cmVzdW1lKCkKLXsKLSAgICBtX3N0b3BwZWQgPSBmYWxzZTsK
LSAgICAvLyBXZSBvbmx5IGhvbGQgb3VyIHNlbGYgcmVmIHdoZW4gd2UncmUgd2FpdGluZyB0byBk
aXNwYXRjaCBhbiBldmVudC4KLSAgICBpZiAobV9zZWxmUmVmICYmICFtX2Fib3J0ZWQpCi0gICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIC8vIElEQlRyYW5zYWN0aW9ucyBjYW5u
b3QgYmUgc3VzcGVuZGVkIGF0IHRoZSBtb21lbnQuIFdlIHRoZXJlZm9yZQorICAgIC8vIGRpc2Fs
bG93IHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUgZm9yIHBhZ2VzIHRoYXQgdXNlIEluZGV4ZWREYXRh
YmFzZS4KKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIEV2ZW50VGFyZ2V0RGF0YSogSURCUmVxdWVz
dDo6ZXZlbnRUYXJnZXREYXRhKCkKQEAgLTE0OSw3ICsxMzUsNiBAQCB2b2lkIElEQlJlcXVlc3Q6
OnRpbWVyRmlyZWQoVGltZXI8SURCUmVxdWVzdD4qKQogewogICAgIEFTU0VSVChtX3JlYWR5U3Rh
dGUgPT0gRE9ORSk7CiAgICAgQVNTRVJUKG1fc2VsZlJlZik7Ci0gICAgQVNTRVJUKCFtX3N0b3Bw
ZWQpOwogICAgIEFTU0VSVCghbV9hYm9ydGVkKTsKIAogICAgIC8vIFdlIG5lZWQgdG8ga2VlcCBz
ZWxmLXJlZmVyZW5jaW5nIG91cnNlbGYsIG90aGVyd2lzZSBpdCdzIHBvc3NpYmxlIHdlJ2xsIGJl
IGRlbGV0ZWQuCkBAIC0xNzksOCArMTY0LDcgQEAgdm9pZCBJREJSZXF1ZXN0OjpvbkV2ZW50Q29t
bW9uKCkKIAogICAgIG1fcmVhZHlTdGF0ZSA9IERPTkU7CiAgICAgbV9zZWxmUmVmID0gdGhpczsK
LSAgICBpZiAoIW1fc3RvcHBlZCkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmggYi9XZWJDb3JlL3N0b3Jh
Z2UvSURCUmVxdWVzdC5oCmluZGV4IGQzOGRhNTc3YzYyNzVhZTczMzBiZDRhYmQyYTUzZjUxNTAx
NmI2ODQuLmQ3NTMxYzJmNjZlYWExM2E5ZjVmMTE1MDA4NDI1NjY5ZTZkZTUwYzggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lE
QlJlcXVlc3QuaApAQCAtNzMsOSArNzMsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBBY3RpdmVET01P
YmplY3QKICAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpOwotICAgIHZpcnR1YWwg
dm9pZCBzdXNwZW5kKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3VtZSgpOworICAgIHZpcnR1YWwg
Ym9vbCBjYW5TdXNwZW5kKCkgY29uc3Q7CiAKICAgICB1c2luZyBSZWZDb3VudGVkPElEQkNhbGxi
YWNrcz46OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkPElEQkNhbGxiYWNrcz46OmRlcmVmOwpA
QCAtMTAxLDcgKzk5LDYgQEAgcHJpdmF0ZToKICAgICBUaW1lcjxJREJSZXF1ZXN0PiBtX3RpbWVy
OwogICAgIFJlZlB0cjxJREJSZXF1ZXN0PiBtX3NlbGZSZWY7IC8vIFRoaXMgaXMgc2V0IHRvIHVz
IGlmZiB0aGVyZSdzIGFuIGV2ZW50IHBlbmRpbmcuCiAKLSAgICBib29sIG1fc3RvcHBlZDsKICAg
ICBib29sIG1fYWJvcnRlZDsKICAgICBSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKICAgICBFdmVu
dFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCVHJhbnNhY3Rpb24uY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mZmVhNjNkNzFmZjFiYjA2MGQxMDk1NjBkMjY3NzMyMGVhYjJkM2U2Ci0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAt
MCwwICsxLDcyIEBACisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSURCVHJhbnNhY3Rp
b24uaCIKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiRXZlbnQu
aCIKKyNpbmNsdWRlICJFdmVudEV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIklEQkRhdGFiYXNlLmgi
CisjaW5jbHVkZSAiSURCT2JqZWN0U3RvcmUuaCIKKyNpbmNsdWRlICJJREJPYmplY3RTdG9yZUJh
Y2tlbmRJbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworSURCVHJhbnNhY3Rpb246OklEQlRyYW5zYWN0aW9uKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25C
YWNrZW5kSW50ZXJmYWNlPiBiYWNrZW5kLCBJREJEYXRhYmFzZSogZGIpCisgICAgOiBBY3RpdmVE
T01PYmplY3QoY29udGV4dCwgdGhpcykKKyAgICAsIG1fYmFja2VuZChiYWNrZW5kKQorICAgICwg
bV9kYXRhYmFzZShkYikKK3sKK30KKworSURCVHJhbnNhY3Rpb246On5JREJUcmFuc2FjdGlvbigp
Cit7Cit9CisKK3Vuc2lnbmVkIHNob3J0IElEQlRyYW5zYWN0aW9uOjptb2RlKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gSURCVHJhbnNhY3Rpb246OlJFQURfT05MWTsKK30KKworSURCRGF0YWJhc2Uq
IElEQlRyYW5zYWN0aW9uOjpkYigpCit7CisgICAgcmV0dXJuIG1fZGF0YWJhc2UuZ2V0KCk7Cit9
CisKK1Bhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IElEQlRyYW5zYWN0aW9uOjpvYmplY3RTdG9y
ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEV4Y2VwdGlvbkNvZGUmKQoreworICAgIFJlZlB0
cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IG9iamVjdFN0b3JlQmFja2VuZCA9IG1f
YmFja2VuZC0+b2JqZWN0U3RvcmUobmFtZSk7CisgICAgUmVmUHRyPElEQk9iamVjdFN0b3JlPiBv
YmplY3RTdG9yZSA9IElEQk9iamVjdFN0b3JlOjpjcmVhdGUob2JqZWN0U3RvcmVCYWNrZW5kKTsK
KyAgICByZXR1cm4gb2JqZWN0U3RvcmUucmVsZWFzZSgpOworfQorCit2b2lkIElEQlRyYW5zYWN0
aW9uOjphYm9ydCgpCit7CisgICAgbV9iYWNrZW5kLT5hYm9ydCgpOworfQorCitTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBJREJUcmFuc2FjdGlvbjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpOworfQorCitib29sIElEQlRyYW5zYWN0aW9uOjpjYW5TdXNwZW5kKCkgY29uc3QKK3sKKyAg
ICAvLyBXZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBhIHRyYW5zYWN0aW9uIHNvIHdlIGNhbm5v
dCBzdXNwZW5kIG91ciBvYmplY3QuCisgICAgLy8gSW5zdGVhZCwgd2Ugc2ltcGx5IGRvbid0IGFs
bG93IHRoZSBvd25lciBwYWdlIHRvIGdvIGludG8gdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4KKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSogSURCVHJhbnNhY3Rpb246OmV2
ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKwor
RXZlbnRUYXJnZXREYXRhKiBJREJUcmFuc2FjdGlvbjo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkK
K3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCit9CisKKyNlbmRpZiAvLyBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJU
cmFuc2FjdGlvbi5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmUzMTY3YzY4MzhkN2YwNzFiZTBmZGQyYmJhMDUxODE1YjYwYzI2NgotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5oCkBAIC0wLDAgKzEsOTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIElEQlRyYW5zYWN0aW9uX2gKKyNkZWZpbmUgSURCVHJhbnNhY3Rpb25f
aAorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJBY3RpdmVET01P
YmplY3QuaCIKKyNpbmNsdWRlICJET01TdHJpbmdMaXN0LmgiCisjaW5jbHVkZSAiRXZlbnRMaXN0
ZW5lci5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5o
IgorI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIElEQkRhdGFiYXNlOworY2xhc3MgSURCT2JqZWN0U3RvcmU7
CisKK2NsYXNzIElEQlRyYW5zYWN0aW9uIDogcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJUcmFuc2Fj
dGlvbj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBiYWNrZW5kLCBJREJEYXRhYmFzZSogZGIp
CisgICAgeyAKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJREJUcmFuc2FjdGlvbihjb250
ZXh0LCBiYWNrZW5kLCBkYikpOyAKKyAgICB9CisgICAgdmlydHVhbCB+SURCVHJhbnNhY3Rpb24o
KTsKKworICAgIGVudW0gTW9kZSB7CisgICAgICAgIFJFQURfV1JJVEUgPSAwLAorICAgICAgICBS
RUFEX09OTFkgPSAxLAorICAgICAgICBTTkFQU0hPVF9SRUFEID0gMgorICAgIH07CisKKyAgICB1
bnNpZ25lZCBzaG9ydCBtb2RlKCkgY29uc3Q7CisgICAgSURCRGF0YWJhc2UqIGRiKCk7CisgICAg
UGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gb2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1l
LCBjb25zdCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBhYm9ydCgpOworCisgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihhYm9ydCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihjb21wbGV0ZSk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUih0aW1lb3V0KTsKKworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgdmlydHVhbCBJREJUcmFu
c2FjdGlvbiogdG9JREJUcmFuc2FjdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0KKworICAgIC8vIEFj
dGl2ZURPTU9iamVjdAorICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBjYW5TdXNwZW5kKCkg
Y29uc3Q7CisKK3ByaXZhdGU6CisgICAgSURCVHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiwgSURCRGF0
YWJhc2UqKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50
VGFyZ2V0KCkgeyByZWYoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkg
eyBkZXJlZigpOyB9CisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0
YSgpOworICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEo
KTsKKworICAgIEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKKyAgICBSZWZQdHI8
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBtX2JhY2tlbmQ7CisgICAgUmVmUHRyPElE
QkRhdGFiYXNlPiBtX2RhdGFiYXNlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNlbmRpZiAvLyBJREJUcmFuc2Fj
dGlvbl9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaWRsIGIv
V2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MWU3MDI4YTMw
ODA1ODFlZDFlMjFiNDAxNGY5Y2Q3MzIxOTk0ODU5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmlkbApAQCAtMCwwICsxLDU3IEBACisgLyoNCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgKg0K
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dA0KKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KKyAqIGFyZSBtZXQ6DQorICoNCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQNCisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLg0KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
DQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uDQorICoNCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQ0KKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQNCisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFDQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQ0KKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTDQorICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOw0KKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORA0KKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUDQorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GDQor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCisgKi8NCisNCittb2R1bGUgc3RvcmFnZSB7DQorDQorICAgIGludGVyZmFj
ZSBbDQorICAgICAgICBDb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFLA0KKyAgICAgICAgRXZl
bnRUYXJnZXQNCisgICAgXSBJREJUcmFuc2FjdGlvbiB7DQorICAgICAgICAvLyBNb2Rlcw0KKyAg
ICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUkVBRF9XUklURSA9IDA7DQorICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBSRUFEX09OTFkgPSAxOw0KKyAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgU05BUFNIT1RfUkVBRCA9IDI7DQorICAgICAgICAvLyBQcm9wZXJ0aWVzDQorICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgbW9kZTsNCisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBJREJEYXRhYmFzZSBkYjsNCisgICAgICAgIC8vIE1ldGhvZHMNCisgICAg
ICAgIElEQk9iamVjdFN0b3JlIG9iamVjdFN0b3JlIChpbiBET01TdHJpbmcgbmFtZSkNCisgICAg
ICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNlRXhjZXB0aW9uKTsNCisgICAgICAgIHZvaWQgYWJv
cnQgKCk7DQorICAgICAgICAvLyBFdmVudHMNCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3Rl
bmVyIG9uYWJvcnQ7DQorICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmNvbXBsZXRl
Ow0KKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb250aW1lb3V0Ow0KKyAgICAgICAg
Ly8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlDQorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIo
aW4gRE9NU3RyaW5nIHR5cGUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZl
bnRMaXN0ZW5lciBsaXN0ZW5lciwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBi
b29sZWFuIHVzZUNhcHR1cmUpOw0KKyAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGlu
IERPTVN0cmluZyB0eXBlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2
ZW50TGlzdGVuZXIgbGlzdGVuZXIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gYm9vbGVhbiB1c2VDYXB0dXJlKTsNCisgICAgICAgIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChp
biBFdmVudCBldnQpIA0KKyAgICAgICAgICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7DQorICAg
IH07DQorfQ0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2UuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMWIxOTA0YTI4ODVkYWViODM4NTkzNjZlMTI5NDY0OTJlMTdk
YWI0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZS5oCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZV9oCisjZGVmaW5lIElEQlRyYW5zYWN0aW9uQmFja2VuZElu
dGVyZmFjZV9oCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiSURCQ2Fs
bGJhY2tzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgorCisjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSURC
T2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlOworY2xhc3MgU1FMaXRlRGF0YWJhc2U7CisKKy8v
IFRoaXMgY2xhc3MgaXMgc2hhcmVkIGJ5IElEQlRyYW5zYWN0aW9uIChhc3luYykgYW5kIElEQlRy
YW5zYWN0aW9uU3luYyAoc3luYykuCisvLyBUaGlzIGlzIGltcGxlbWVudGVkIGJ5IElEQlRyYW5z
YWN0aW9uQmFja2VuZEltcGwgYW5kIG9wdGlvbmFsbHkgb3RoZXJzIChpbiBvcmRlciB0byBwcm94
eQorLy8gY2FsbHMgYWNyb3NzIHByb2Nlc3MgYmFycmllcnMpLiBBbGwgY2FsbHMgdG8gdGhlc2Ug
Y2xhc3NlcyBzaG91bGQgYmUgbm9uLWJsb2NraW5nIGFuZAorLy8gdHJpZ2dlciB3b3JrIG9uIGEg
YmFja2dyb3VuZCB0aHJlYWQgaWYgbmVjZXNzYXJ5LgorY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlIDogcHVibGljIFRocmVhZFNhZmVTaGFyZWQ8SURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGUoKTsKKyAgICB2aXJ0dWFsIH5JREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbnRlcmZhY2UoKSB7IH0KKworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJP
YmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IG9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFt
ZSk7IAorICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZVRhc2soUGFzc093blB0cjxTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpUYXNrPikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhYm9ydCgpID0gMDsK
KyAgICB2aXJ0dWFsIFNRTGl0ZURhdGFiYXNlKiBzcWxpdGVEYXRhYmFzZSgpID0gMDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisKKyNlbmRpZiAvLyBJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbnRlcmZhY2VfaAorCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwMjYyMGVjNTI0MzY1NWQy
MGJhNGZkYTM0OWU5YWZiYTUzN2ZiYjU0Li5mMGM3Yjc4M2FiMDJjODM5ZTc3OWI2MGVhNTMxMjZl
YTg4MDQwMjkxIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wOC0wNSAgQW5k
cmVpIFBvcGVzY3UgIDxhbmRyZWlwQGRoY3AtMTcyLTE2LTE0LTEyLmxvbi5jb3JwLmdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0lu
ZGV4ZWREQl0gSW5kZXhlZERCIGlzIG1pc3NpbmcgdGhlIFRyYW5zYWN0aW9uIGludGVyZmFjZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyOTcwCisK
KyAgICAgICAgQWRkIElEQlRyYW5zYWN0aW9uIGJvaWxlcnBsYXRlLgorCisgICAgICAgICogc3Jj
L0lEQkRhdGFiYXNlUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VQcm94
eTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAqIHNyYy9JREJEYXRhYmFzZVByb3h5Lmg6CisKIDIw
MTAtMDgtMDUgIEpvaG4gR3JlZ2cgIDxqb2hubnlnQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9J
REJEYXRhYmFzZVByb3h5LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94
eS5jcHAKaW5kZXggZjk5NWIzY2UyNmU5ZDhhODE4ZmZkMzdhYTVlMWJkNjIyNzZhYmU5YS4uZDEx
ZDE4MmE2Y2ZiMDkwNDdjMmRkNWE0OTExMjc3YzZlZGE5NGQwYiAxMDA2NDQKLS0tIGEvV2ViS2l0
L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0v
c3JjL0lEQkRhdGFiYXNlUHJveHkuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiRE9N
U3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIklEQkNhbGxiYWNrcy5oIgogI2luY2x1ZGUgIklEQk9i
amVjdFN0b3JlUHJveHkuaCIKKyNpbmNsdWRlICJJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2UuaCIKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJJREJDYWxsYmFj
a3NJbXBsLmgiCiAjaW5jbHVkZSAiV2ViSURCRGF0YWJhc2UuaCIKQEAgLTkxLDYgKzkyLDEzIEBA
IHZvaWQgSURCRGF0YWJhc2VQcm94eTo6cmVtb3ZlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBu
YW1lLCBQYXNzUmVmUHRyPElEQkNhbGxiCiAgICAgbV93ZWJJREJEYXRhYmFzZS0+cmVtb3ZlT2Jq
ZWN0U3RvcmUobmFtZSwgbmV3IFdlYklEQkNhbGxiYWNrc0ltcGwoY2FsbGJhY2tzKSk7CiB9CiAK
K1Bhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBJREJEYXRhYmFzZVBy
b3h5Ojp0cmFuc2FjdGlvbihET01TdHJpbmdMaXN0KiBzdG9yZU5hbWVzLCB1bnNpZ25lZCBzaG9y
dCBtb2RlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQpCit7CisgICAgLy8gRklYTUU6IHBsdW1iIHRv
IHRoZSBicm93c2VyIHByb2Nlc3MsIGV0YyBldGMuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIDA7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JREJEYXRhYmFzZVByb3h5LmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJv
eHkuaAppbmRleCAwMzMxMWYyOWNhOTZhYTJlMTMwMzMxMjY4Y2Y0ZWNmNTM3Nzg4NWQ5Li5lZDIw
MTZhNTc5NDM2MjcwMmUyYmQwNTk1NzBhZDA3ZmI4MzcxNmE3IDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJveHkuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L0lEQkRhdGFiYXNlUHJveHkuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBrZXlQYXRoLCBib29sIGF1dG9JbmNyZW1lbnQsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4g
b2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBzaG9ydCBtb2RlKTsKICAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNz
UmVmUHRyPElEQkNhbGxiYWNrcz4pOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3QqIHN0b3JlTmFt
ZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2lnbmVkIGxvbmcgdGltZW91dCk7CiAKIHByaXZh
dGU6CiAgICAgSURCRGF0YWJhc2VQcm94eShQYXNzT3duUHRyPFdlYktpdDo6V2ViSURCRGF0YWJh
c2U+KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63601</attachid>
            <date>2010-08-05 09:43:01 -0700</date>
            <delta_ts>2010-08-05 10:19:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42970-20100805174259.patch</filename>
            <type>text/plain</type>
            <size>42949</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggYmVhMmUxZGI5Y2FkZDE3
MjEwNjA0MmViM2JhY2YzNmQ4MmE0NWU4Yi4uODQ1YWJkYmJjOTU3OWQxOGQyNzkyZmQyNTMwNGMw
ODdkZGUzM2Y2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGlu
Z3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTM3
Miw3ICszNzIsOCBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0lE
QktleVJhbmdlLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0lEQk9iamVjdFN0
b3JlLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0lEQlJlcXVlc3QuaCBcCi0g
ICAgJChpbnRlcm1lZGlhdGVzKS9zdG9yYWdlL0pTSURCU3VjY2Vzc0V2ZW50LmgKKyAgICAkKGlu
dGVybWVkaWF0ZXMpL3N0b3JhZ2UvSlNJREJTdWNjZXNzRXZlbnQuaCBcCisgICAgJChpbnRlcm1l
ZGlhdGVzKS9zdG9yYWdlL0pTSURCVHJhbnNhY3Rpb24uaAogCiAkKEdFTik6IFBSSVZBVEVfUEFU
SCA6PSAkKExPQ0FMX1BBVEgpCiAkKEdFTik6IFBSSVZBVEVfQ1VTVE9NX1RPT0wgPSBwZXJsIC1J
JChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMgJChQUklWQVRFX1BBVEgpL2JpbmRpbmdz
L3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwgLS1kZWZpbmVzICIkKEZFQVRVUkVfREVGSU5F
UykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1nZW5lcmF0b3IgSlMgLS1pbmNsdWRlIGRvbSAtLWlu
Y2x1ZGUgaHRtbCAtLWluY2x1ZGUgc3RvcmFnZSAtLW91dHB1dGRpciAkKGRpciAkQCkgJDwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsgYi9XZWJDb3Jl
L0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IGY3ZmE4ZDY3YzM1YzU0ZmJlNDIy
YWMzNGIxMzYzNGNlZmUyMjZjZmUuLmY1MzFmZWE0NDI5N2Y1MzM0YTI3YzhmZTM0ZmJjYjU4ODJh
YTZiNDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsK
KysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawpAQCAtMzUzLDcgKzM1
Myw4IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOElEQktleVJh
bmdlLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhJREJPYmplY3RTdG9yZS5o
IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4SURCUmVxdWVzdC5oIFwKLSAgICAk
KGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4SURCU3VjY2Vzc0V2ZW50LmgKKyAgICAkKGludGVy
bWVkaWF0ZXMpL2JpbmRpbmdzL1Y4SURCU3VjY2Vzc0V2ZW50LmggXAorICAgICQoaW50ZXJtZWRp
YXRlcykvYmluZGluZ3MvVjhJREJUcmFuc2FjdGlvbi5oCiAKICQoR0VOKTogUFJJVkFURV9QQVRI
IDo9ICQoTE9DQUxfUEFUSCkKICQoR0VOKTogUFJJVkFURV9DVVNUT01fVE9PTCA9IFNPVVJDRV9S
T09UPSQoUFJJVkFURV9QQVRIKSBwZXJsIC1JJChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3Njcmlw
dHMgJChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwg
LS1kZWZpbmVzICIkKEZFQVRVUkVfREVGSU5FUykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1nZW5l
cmF0b3IgVjggLS1pbmNsdWRlIGRvbSAtLWluY2x1ZGUgaHRtbCAtLWluY2x1ZGUgc3RvcmFnZSAt
LW91dHB1dGRpciAkKGRpciAkQCkgJDwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBi
L1dlYkNvcmUvQW5kcm9pZC5tawppbmRleCBmNzlhYTc0MzBjNzg4MzRjMWY2YzQyZDcyZTM1OTk0
OGM3NGMxMjVmLi4zYThiZDQ2OTc2MWMxNmVjYzQzMGQzNzFiZjMzNTJhMjUyYzEyNmVhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC03
NTUsNiArNzU1LDcgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJ
c3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcCBcCiAJc3RvcmFnZS9JREJSZXF1
ZXN0LmNwcCBcCiAJc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwIFwKKwlzdG9yYWdlL0lEQlRy
YW5zYWN0aW9uLmNwcCBcCiAJc3RvcmFnZS9JREJGYWN0b3J5LmNwcCBcCiAJc3RvcmFnZS9JREJG
YWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAgXAogCXN0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJ
bXBsLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCBmNjExNTk0ZjMyYjRmYmViMzljZWQ1Njg2YWUwYzQ2MzM2NzI3
MzMzLi41N2Q2ZTE3MjY0NTFmZTFhYWQ3ZDM1YjliNmUxNDdkMmI4NjVhZTIyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTM0Niw2ICszNDYsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBzdG9yYWdlL0lEQk9i
amVjdFN0b3JlLmlkbAogICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5pZGwKICAgICBzdG9yYWdlL0lE
QlN1Y2Nlc3NFdmVudC5pZGwKKyAgICBzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmlkbAogICAgIHN0
b3JhZ2UvU1FMRXJyb3IuaWRsCiAgICAgc3RvcmFnZS9TUUxFeGNlcHRpb24uaWRsCiAgICAgc3Rv
cmFnZS9TUUxSZXN1bHRTZXQuaWRsCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDkzZDBjNWNiNTc2MjkwMTlkZjJhNTJmY2VlZmI2ZGVhZmEz
MjIzZTIuLmY5OWIwMjAwMjMxMzU0ZWQ0MGM2OTEwZWNmYjg2M2VjNDNlMzkyNGQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NjIgQEAKKzIwMTAtMDgtMDUgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBkaGNwLTE3Mi0xNi0x
NC0xMi5sb24uY29ycC5nb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtJbmRleGVkREJdIEluZGV4ZWREQiBpcyBtaXNzaW5nIHRoZSBU
cmFuc2FjdGlvbiBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00Mjk3MAorCisgICAgICAgIEFkZCBJREJUcmFuc2FjdGlvbiBib2lsZXJw
bGF0ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vdCBmdW5jdGlvbmFsIHlldC4KKworICAg
ICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lk
LmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJD
b3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0V2
ZW50TmFtZXMuaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3RvcmFnZS9J
REJEYXRhYmFzZS5oOgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2UuaWRsOgorICAgICAg
ICAqIHN0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3RvcmFn
ZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmg6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFz
ZUJhY2tlbmRJbnRlcmZhY2UuaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6SURCUmVxdWVzdCk6CisgICAgICAgIChXZWJD
b3JlOjpJREJSZXF1ZXN0OjpjYW5TdXNwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3Q6OnRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6b25FdmVudENv
bW1vbik6CisgICAgICAgICogc3RvcmFnZS9JREJSZXF1ZXN0Lmg6CisgICAgICAgICogc3RvcmFn
ZS9JREJUcmFuc2FjdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNh
Y3Rpb246OklEQlRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
Ojp+SURCVHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om1v
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmRiKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlRyYW5zYWN0aW9uOjpvYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJUcmFuc2FjdGlvbjo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246
OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OmNhblN1c3BlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmV2ZW50
VGFyZ2V0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6ZW5zdXJlRXZl
bnRUYXJnZXREYXRhKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0
aW9uOjp0b0lEQlRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpyZWZFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6ZGVy
ZWZFdmVudFRhcmdldCk6CisgICAgICAgICogc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGw6IEFk
ZGVkLgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
Ojp+SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKToKKwogMjAxMC0wOC0wNSAgTmVkIEhv
bGJyb29rICA8bmhvbGJyb29rQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNGJlZDU2OGQ3MDNiNDVkNjVkZTY3MWEwZTcyMTQ0
Njg4YzY3MmMyMy4uNzA3MTE4M2QyNjUyZjJlMWYxN2M5NGYyMDVhMGM1Y2ViOWI0NDRlZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKQEAgLTE4OCw2ICsxODgsNyBAQAogI2luY2x1ZGUgIkpTSURCT2JqZWN0U3Rv
cmUuY3BwIgogI2luY2x1ZGUgIkpTSURCUmVxdWVzdC5jcHAiCiAjaW5jbHVkZSAiSlNJREJTdWNj
ZXNzRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTSURCVHJhbnNhY3Rpb24uY3BwIgogI2luY2x1ZGUg
IkpTSW1hZ2VEYXRhLmNwcCIKICNpbmNsdWRlICJKU0luamVjdGVkU2NyaXB0SG9zdC5jcHAiCiAj
aW5jbHVkZSAiSlNJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IGUyNjNjN2U2MDBkMDM1Y2ZmZmI5YjQyYTYwY2U2ZmY2ZTQzMjY3NTYuLmYzMzFkYjhiZGQ1Mjk0
OTk1M2RhYjY3YzQwNjczZTEzZDcwOGRlZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIzOCw2ICsy
MzgsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBJREJPYmplY3RTdG9yZSBcCiAgICAgSURCUmVx
dWVzdCBcCiAgICAgSURCU3VjY2Vzc0V2ZW50IFwKKyAgICBJREJUcmFuc2FjdGlvbiBcCiAgICAg
SW1hZ2VEYXRhIFwKICAgICBJbmplY3RlZFNjcmlwdEhvc3QgXAogICAgIEluc3BlY3RvckZyb250
ZW5kSG9zdCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCAzZjNjMGRiZmZiMWI0NjRmNGJlZjY5ODIwZDViM2ZlNWMyMTg4
YjAxLi5jZTg1NjQ4NGZkNmU5ZWY0MGFiY2MyNjdkYzJiMWYyZDU1ZGU0OWZhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAg
LTI4NTYsNyArMjg1Niw5IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0lEQlJlcXVlc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTSURCUmVxdWVzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSURCU3VjY2Vzc0V2
ZW50LmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lEQlN1Y2Nlc3NFdmVudC5oCisJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lEQlN1Y2Nlc3NFdmVudC5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTSURCVHJhbnNhY3Rpb24uY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTSURCVHJhbnNhY3Rpb24uaAogCiB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
c3RvcmFnZS9JREJBbnkuY3BwIFwKQEAgLTI4NzMsNiArMjg3NSwxMiBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVdlYkNvcmUvc3RvcmFnZS9JREJFcnJvckV2ZW50LmggXAogCVdlYkNvcmUvc3Rv
cmFnZS9JREJFdmVudC5jcHAgXAogCVdlYkNvcmUvc3RvcmFnZS9JREJFdmVudC5oIFwKKwlXZWJD
b3JlL3N0b3JhZ2UvSURCRmFjdG9yeS5jcHAgXAorCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5
LmggXAorCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAgXAor
CVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIFwKKwlXZWJDb3Jl
L3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcCBcCisJV2ViQ29yZS9zdG9yYWdlL0lE
QkZhY3RvcnlCYWNrZW5kSW1wbC5oCiAJV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4LmNwcCBcCiAJ
V2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4LmggXAogCVdlYkNvcmUvc3RvcmFnZS9JREJJbmRleEJh
Y2tlbmRJbnRlcmZhY2UuaCBcCkBAIC0yODg5LDEyICsyODk3LDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlXZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5oIFwKIAlXZWJDb3JlL3N0b3JhZ2Uv
SURCU3VjY2Vzc0V2ZW50LmNwcCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5o
IFwKLQlXZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeS5jcHAgXAotCVdlYkNvcmUvc3RvcmFnZS9J
REJGYWN0b3J5LmggXAotCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFj
ZS5jcHAgXAotCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIFwK
LQlXZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcCBcCi0JV2ViQ29yZS9z
dG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5oCisJV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5z
YWN0aW9uLmNwcCBcCisJV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmggXAorCVdlYkNv
cmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UKIGVuZGlmICMgRU5EIEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFCiAKICMgLS0tLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBkNWVkM2QyOTQ3NmVhYzA1YzJi
ZDA3OGJkZjRhZDM4MGFjNWVhYTNjLi44ODg5NGZjZDFiMjcwNTY0ODMyZmViMzVmOTljZDhjMTEy
YzQ3YzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQpAQCAtMjQ5LDYgKzI0OSw3IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9JREJP
YmplY3RTdG9yZS5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUmVxdWVzdC5pZGwnLAog
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmlkbCcsCisgICAgICAgICAgICAn
c3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvTWV0YWRh
dGEuaWRsJywKICAgICAgICAgICAgICdzdG9yYWdlL01ldGFkYXRhQ2FsbGJhY2suaWRsJywKICAg
ICAgICAgICAgICdzdG9yYWdlL1NRTEVycm9yLmlkbCcsCkBAIC0zNTMzLDYgKzM1MzQsOSBAQAog
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUmVxdWVzdC5oJywKICAgICAgICAgICAgICdzdG9yYWdl
L0lEQlN1Y2Nlc3NFdmVudC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2
ZW50LmgnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uY3BwJywKKyAgICAg
ICAgICAgICdzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmgnLAorICAgICAgICAgICAgJ3N0b3JhZ2Uv
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2Uv
TG9jYWxTdG9yYWdlVGFzay5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvTG9jYWxTdG9yYWdl
VGFzay5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5jcHAnLApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5k
ZXggY2UwZjcwMTJhMzViNzg4NDFjM2JmYjY1ZDI1ZGE3ZTYxODg3Y2Q2Yy4uYzg1YzdhNDhlNjY0
ZjU3Y2M4YjgxMDYxZDk1ODhjYzRhM2I0ODhiMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
LnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00ODgsMTMgKzQ4OCwxNCBAQCBJRExf
QklORElOR1MgKz0gXAogICAgIHN0b3JhZ2UvSURCRGF0YWJhc2UuaWRsIFwKICAgICBzdG9yYWdl
L0lEQkVycm9yRXZlbnQuaWRsIFwKICAgICBzdG9yYWdlL0lEQkV2ZW50LmlkbCBcCisgICAgc3Rv
cmFnZS9JREJGYWN0b3J5LmlkbCBcCiAgICAgc3RvcmFnZS9JREJJbmRleC5pZGwgXAogICAgIHN0
b3JhZ2UvSURCS2V5LmlkbCBcCiAgICAgc3RvcmFnZS9JREJLZXlSYW5nZS5pZGwgXAogICAgIHN0
b3JhZ2UvSURCT2JqZWN0U3RvcmUuaWRsIFwKICAgICBzdG9yYWdlL0lEQlJlcXVlc3QuaWRsIFwK
ICAgICBzdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5pZGwgXAotICAgIHN0b3JhZ2UvSURCRmFjdG9y
eS5pZGwgXAorICAgIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaWRsIFwKICAgICBzdG9yYWdlL1N0
b3JhZ2UuaWRsIFwKICAgICBzdG9yYWdlL1N0b3JhZ2VFdmVudC5pZGwgXAogICAgIHN0b3JhZ2Uv
U1FMRXJyb3IuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3Jl
L1dlYkNvcmUucHJvCmluZGV4IDEyZDA1NmQ5NzRjZWZlODUyMWNhNjYzZWZkZDRiMDZiNGNmZjdm
NzguLmFiNDdmYmI0NTRmNWU4OTZiYTg2NmZiNjcxYzI3OThmMzE3NWZhOWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjQ0NSw3
ICsyNDQ1LDkgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0lOREVYRURfREFUQUJBU0U9MSkg
ewogICAgICAgICBzdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaCBcCiAgICAgICAg
IHN0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmggXAogICAgICAgICBzdG9y
YWdlL0lEQlJlcXVlc3QuaCBcCi0gICAgICAgIHN0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmgKKyAg
ICAgICAgc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuaCBcCisgICAgICAgIHN0b3JhZ2UvSURCVHJh
bnNhY3Rpb24uaCBcCisgICAgICAgIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlLmgKIAogICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBiaW5kaW5ncy9qcy9JREJCaW5kaW5n
VXRpbGl0aWVzLmNwcCBcCkBAIC0yNDY2LDcgKzI0NjgsOCBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRT0xKSB7CiAgICAgICAgIHN0b3JhZ2UvSURCT2JqZWN0U3Rv
cmUuY3BwIFwKICAgICAgICAgc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcCBc
CiAgICAgICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5jcHAgXAotICAgICAgICBzdG9yYWdlL0lEQlN1
Y2Nlc3NFdmVudC5jcHAKKyAgICAgICAgc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwIFwKKyAg
ICAgICAgc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5jcHAKIH0KIAogY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX0RPTV9TVE9SQUdFPTEpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CmluZGV4IGMwZGMzYmVlZmRhMmQ0MGE4YzVmMjhmM2I1N2M4YmY2NGI1NmFmNjYuLjgxMGVlZWU2
NGJhMmFmMGUwMTUzZDA4YmMxZmE4MTc5MmYxZmIyNDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagpAQCAtNDUzMDgsNiArNDUzMDgsNjIgQEAKIAkJCQkJPg0KIAkJCQk8L0Zp
bGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJUcmFuc2FjdGlvbi5jcHAiDQor
CQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRv
b2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJ
Pg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJ
Lz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iUmVsZWFz
ZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+
DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkv
Pg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPC9GaWxl
Pg0KKwkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCVHJhbnNhY3Rpb24uaCINCisJCQkJ
CT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5k
aW5nc1xqc1xKU0ltYWdlQ29uc3RydWN0b3IuY3BwIg0KIAkJCQkJPg0KIAkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQpAQCAtNTAzMDEsNiArNTAzNTcsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJUcmFuc2FjdGlvbi5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxzdG9yYWdlXElEQlRyYW5zYWN0aW9uLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXExvY2FsU3RvcmFnZVRhc2suY3BwIg0K
IAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZjViOTMwM2NlYmNkOWNkZGFmYzU0OTAxOTgwYThkMTY2NzU4MWNjNC4uYzZl
YmEzYjdhYTNmMDMyZGYwNGY4ZmViZWFiNWYyZjY5YmRmNzc1ZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQzNTgsNiArNDM1OCwxMCBAQAogCQlCNUQz
NjAxQTExMkY4QjU2MDA0OERFQTggLyogRGF0YWJhc2VDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjVEMzYwMTkxMTJGOEI1NjAwNDhERUE4
IC8qIERhdGFiYXNlQ2FsbGJhY2suaCAqLzsgfTsKIAkJQjYxNzYyNTQxMjAzMzc0RjAwRUY5MTE0
IC8qIElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjYxNzYyNTMxMjAzMzc0RjAwRUY5MTE0IC8qIElEQkRh
dGFiYXNlQmFja2VuZEludGVyZmFjZS5oICovOyB9OwogCQlCNjE3NjI2MjEyMDM0OTA4MDBFRjkx
MTQgLyogSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjYxNzYyNjExMjAzNDkwODAwRUY5MTE0IC8qIElEQkRhdGFi
YXNlQmFja2VuZEltcGwuaCAqLzsgfTsKKwkJQjY1NjYyNkExMjBCMTE1QTAwNkVBODVDIC8qIElE
QlRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEI2NTY2MjY3MTIwQjExNUEwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbi5jcHAgKi87
IH07CisJCUI2NTY2MjZCMTIwQjExNUEwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1NjYyNjgxMjBCMTE1
QTAwNkVBODVDIC8qIElEQlRyYW5zYWN0aW9uLmggKi87IH07CisJCUI2NTY2MjcwMTIwQjEyMjcw
MDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCNjU2NjI2RTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFu
c2FjdGlvbi5oICovOyB9OworCQlCNjU2NjI3MTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFu
c2FjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCNjU2NjI2RjEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5jcHAgKi87IH07
CiAJCUI2OTFDMUY5MTIwNkQ0QTAwMDI1RDk4MCAvKiBJREJEYXRhYmFzZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTg1QTZBMzExRDRGQjNEMDA0
QzNFNEIgLyogSURCRGF0YWJhc2UuY3BwICovOyB9OwogCQlCNzFGRTZERjExMDkxQ0IzMDBEQUVG
NzcgLyogUHJpbnRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCNzc2RDQzQTExMDQ1MjVEMDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjczNEIxODEx
MTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI3MzRCMTgwMTE5Qjk5MTEwMDY1ODdCRCAvKiBG
b250VHJhbnNjb2Rlci5jcHAgKi87IH07CkBAIC0xMDAyNiw2ICsxMDAzMCwxMiBAQAogCQlCNUQz
NjAxOTExMkY4QjU2MDA0OERFQTggLyogRGF0YWJhc2VDYWxsYmFjay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhYmFzZUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUI2MTc2MjUzMTIwMzM3NEYwMEVGOTExNCAvKiBJREJEYXRhYmFzZUJhY2tl
bmRJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCRGF0YWJh
c2VCYWNrZW5kSW50ZXJmYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2MTc2
MjYxMTIwMzQ5MDgwMEVGOTExNCAvKiBJREJEYXRhYmFzZUJhY2tlbmRJbXBsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkRhdGFiYXNlQmFja2VuZEltcGwuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjY1NjYyNjcxMjBCMTE1QTAwNkVBODVDIC8qIElEQlRy
YW5zYWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQlRy
YW5zYWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjY1NjYyNjgxMjBC
MTE1QTAwNkVBODVDIC8qIElEQlRyYW5zYWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IElEQlRyYW5zYWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUI2NTY2MjY5MTIwQjExNUEwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbi5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gSURCVHJhbnNhY3Rpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCNjU2NjI2RDEyMEIxMTZCMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNjU2
NjI2RTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBKU0lEQlRyYW5zYWN0aW9uLmg7IHBhdGggPSAuLi9XZWJLaXRC
dWlsZC9EZWJ1Zy9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSURCVHJhbnNhY3Rpb24uaDsgc291
cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQlCNjU2NjI2RjEyMEIxMjI3MDA2RUE4NUMgLyog
SlNJREJUcmFuc2FjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBKU0lEQlRyYW5zYWN0aW9uLmNwcDsgcGF0aCA9IC4uL1dlYktpdEJ1aWxkL0RlYnVnL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNJREJUcmFuc2FjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSBTT1VS
Q0VfUk9PVDsgfTsKIAkJQjczNEIxODAxMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZvbnRUcmFuc2NvZGVy
LmNwcDsgcGF0aCA9IHRyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCNzM0QjE4MjExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29k
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRm9udFRyYW5zY29kZXIuaDsg
cGF0aCA9IHRyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQjc3NkQ0M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcmludENvbnRleHQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTExNDQxLDYgKzExNDUxLDEwIEBACiAJCQkJQzU4NUE2QzIxMUQ0
RkIzRDAwNEMzRTRCIC8qIElEQlN1Y2Nlc3NFdmVudC5jcHAgKi8sCiAJCQkJQzU4NUE2QzMxMUQ0
RkIzRDAwNEMzRTRCIC8qIElEQlN1Y2Nlc3NFdmVudC5oICovLAogCQkJCUM1ODVBNkM0MTFENEZC
M0QwMDRDM0U0QiAvKiBJREJTdWNjZXNzRXZlbnQuaWRsICovLAorCQkJCUI2NTY2MjZEMTIwQjEx
NkIwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UuaCAqLywKKwkJCQlC
NjU2NjI2NzEyMEIxMTVBMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb24uY3BwICovLAorCQkJCUI2
NTY2MjY4MTIwQjExNUEwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbi5oICovLAorCQkJCUI2NTY2
MjY5MTIwQjExNUEwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbi5pZGwgKi8sCiAJCQkJNTExRjIz
MTMwREMxNjBEQTAwNEYwMDMyIC8qIExvY2FsU3RvcmFnZVRhc2suY3BwICovLAogCQkJCTUxMUYy
MzE0MERDMTYwREEwMDRGMDAzMiAvKiBMb2NhbFN0b3JhZ2VUYXNrLmggKi8sCiAJCQkJNTExRjIz
MTUwREMxNjBEQTAwNEYwMDMyIC8qIExvY2FsU3RvcmFnZVRocmVhZC5jcHAgKi8sCkBAIC0xNDg3
OCw2ICsxNDg5Miw4IEBACiAJCQkJQzU4NUE2NzkxMUQ0RkIwNzAwNEMzRTRCIC8qIEpTSURCUmVx
dWVzdC5oICovLAogCQkJCUM1ODVBNjdBMTFENEZCMDcwMDRDM0U0QiAvKiBKU0lEQlN1Y2Nlc3NF
dmVudC5jcHAgKi8sCiAJCQkJQzU4NUE2N0IxMUQ0RkIwNzAwNEMzRTRCIC8qIEpTSURCU3VjY2Vz
c0V2ZW50LmggKi8sCisJCQkJQjY1NjYyNkUxMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNh
Y3Rpb24uaCAqLywKKwkJCQlCNjU2NjI2RjEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2Fj
dGlvbi5jcHAgKi8sCiAJCQkJNTE0Qzc2MzUwQ0U5MjI1RTAwN0VGM0NEIC8qIEpTU1FMRXJyb3Iu
Y3BwICovLAogCQkJCUJDODI0MzI1MEQwQ0U4QTIwMDQ2MEM4RiAvKiBKU1NRTEVycm9yLmggKi8s
CiAJCQkJQjUyNUE5NjQxMUNBMjM0MDAwM0EyM0E4IC8qIEpTU1FMRXhjZXB0aW9uLmNwcCAqLywK
QEAgLTE5OTkwLDYgKzIwMDA2LDggQEAKIAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyog
WFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxNzJFMDExMTM2RThDRTAwNjJBNTMz
IC8qIFpvb21Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M2MUYwMTEyMDk1Qzg3MDA3QTND
NjcgLyogQXRvbWljU3RyaW5nS2V5ZWRNUlVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjY1
NjYyNkIxMjBCMTE1QTAwNkVBODVDIC8qIElEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCNjU2NjI3MDEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CkBAIC0yMjM5NCw2ICsyMjQxMiw4IEBACiAJCQkJOTNGMTlCMDUwODI0NUU1OTAw
MUU5QUJDIC8qIFhTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUx
QkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTdERDREODYwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQjY1NjYyNkExMjBCMTE1QTAwNkVBODVDIC8qIElEQlRyYW5zYWN0aW9u
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUI2NTY2MjcxMTIwQjEyMjcwMDZFQTg1QyAvKiBKU0lE
QlRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDY2MjBjZWM3MWEz
ZTlhMWFhNzU0ZTU1YjMwZmFlMzgzOGJjZmRmZjYuLjFiOTdkNjVhNThiZTM1OTNhMmFjYmJiOGVh
ZjI0YmYzNmJlM2QxZDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysg
Yi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKGNoZWNraW5nKSBcCiAgICAgbWFjcm8oY2xpY2spIFwKICAgICBt
YWNybyhjbG9zZSkgXAorICAgIG1hY3JvKGNvbXBsZXRlKSBcCiAgICAgbWFjcm8oY29tcG9zaXRp
b25lbmQpIFwKICAgICBtYWNybyhjb21wb3NpdGlvbnN0YXJ0KSBcCiAgICAgbWFjcm8oY29tcG9z
aXRpb251cGRhdGUpIFwKQEAgLTE1MCw2ICsxNTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgXAogICAgIG1hY3JvKG9yaWVudGF0aW9uY2hhbmdlKSBcCiAgICAgXAorICAgIG1hY3JvKHRp
bWVvdXQpIFwKKyAgICBcCiAgICAgbWFjcm8odG91Y2hzdGFydCkgXAogICAgIG1hY3JvKHRvdWNo
bW92ZSkgXAogICAgIG1hY3JvKHRvdWNoZW5kKSBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRGF0YWJhc2UuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmNwcAppbmRl
eCBlNGQ0Mzg1MDNlOGJkNmFmZjEwZmJlZmI2Yjk1OThmNTY2NWY3NTk2Li5mYTE4MDdjY2QzNTZh
MTA2MmMyNjdhYjBiNTM0ZjY2NDcwNjcwZmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
SURCRGF0YWJhc2UuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAKQEAg
LTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIgog
I2luY2x1ZGUgIklEQk9iamVjdFN0b3JlLmgiCiAjaW5jbHVkZSAiSURCUmVxdWVzdC5oIgorI2lu
Y2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIgogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCkBAIC02OCw2ICs2OSwxNiBAQCBQ
YXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQkRhdGFiYXNlOjpyZW1vdmVPYmplY3RTdG9yZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjbwogICAgIHJldHVybiByZXF1ZXN0OwogfQogCitQYXNzUmVm
UHRyPElEQlRyYW5zYWN0aW9uPiBJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgRE9NU3RyaW5nTGlzdCogc3RvcmVOYW1lcywgdW5zaWduZWQg
c2hvcnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KQoreworICAgIC8vIFdlIG5lZWQgdG8g
Y3JlYXRlIGEgbmV3IHRyYW5zYWN0aW9uIHN5bmNocm9ub3VzbHkuIExvY2tzIGFyZSBhY3F1aXJl
ZCBhc3luY2hyb25vdXNseS4gT3BlcmF0aW9ucworICAgIC8vIGNhbiBiZSBxdWV1ZWQgYWdhaW5z
dCB0aGUgdHJhbnNhY3Rpb24gYXQgYW55IHBvaW50LiBUaGV5IHdpbGwgc3RhcnQgZXhlY3V0aW5n
IGFzIHNvb24gYXMgdGhlCisgICAgLy8gYXBwcm9wcmlhdGUgbG9ja3MgaGF2ZSBiZWVuIGFjcXVp
cmVkLgorICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0
aW9uQmFja2VuZCA9IG1fYmFja2VuZC0+dHJhbnNhY3Rpb24oc3RvcmVOYW1lcywgbW9kZSwgdGlt
ZW91dCk7CisgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbiA9IElEQlRyYW5z
YWN0aW9uOjpjcmVhdGUoY29udGV4dCwgdHJhbnNhY3Rpb25CYWNrZW5kLnJlbGVhc2UoKSwgdGhp
cyk7CisgICAgcmV0dXJuIHRyYW5zYWN0aW9uLnJlbGVhc2UoKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJE
YXRhYmFzZS5oCmluZGV4IGNjYTIwZTNjZDRkMjg2YjlmMzFiZDQwNWNkZjA1NjBhODI3MjgwYWEu
LjY5MDBlZmQ0NDBkY2NiODE5MjAxOGZlMjRiZjI1MGQ5NjRiMGZlZDcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRh
YmFzZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJET01TdHJpbmdMaXN0LmgiCiAj
aW5jbHVkZSAiSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmgiCisjaW5jbHVkZSAiSURCVHJh
bnNhY3Rpb24uaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsOSArNTcsMTAgQEAg
cHVibGljOgogICAgIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gb2JqZWN0U3RvcmVzKCkgY29u
c3QgeyByZXR1cm4gbV9iYWNrZW5kLT5vYmplY3RTdG9yZXMoKTsgfQogCiAgICAgUGFzc1JlZlB0
cjxJREJSZXF1ZXN0PiBjcmVhdGVPYmplY3RTdG9yZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGggPSBTdHJpbmcoKSwgYm9v
bCBhdXRvSW5jcmVtZW50ID0gZmFsc2UpOwotICAgIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+
IG9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgdW5zaWduZWQgc2hvcnQgbW9kZSA9IDAp
OyAvLyBGSVhNRTogVXNlIGNvbnN0YW50IHJhdGhlciB0aGFuIDAuCisgICAgUGFzc1JlZlB0cjxJ
REJPYmplY3RTdG9yZT4gb2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBz
aG9ydCBtb2RlID0gSURCVHJhbnNhY3Rpb246OlJFQURfT05MWSk7CiAgICAgUGFzc1JlZlB0cjxJ
REJSZXF1ZXN0PiByZW1vdmVPYmplY3RTdG9yZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29u
c3QgU3RyaW5nJiBuYW1lKTsKLQorICAgIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5z
YWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBET01TdHJpbmdMaXN0KiBzdG9yZU5hbWVz
ID0gMCwgdW5zaWduZWQgc2hvcnQgbW9kZSA9IElEQlRyYW5zYWN0aW9uOjpSRUFEX09OTFksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB0
aW1lb3V0ID0gMCk7IC8vIEZJWE1FOiB3aGF0IHNob3VsZCB0aGUgZGVmYXVsdCB0aW1lb3V0IGJl
PwogcHJpdmF0ZToKICAgICBJREJEYXRhYmFzZShQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2Vu
ZEludGVyZmFjZT4pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2Uu
aWRsIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbAppbmRleCBkNzVlZDU1NDRlMTU0
YzYxNzlkNDUwYzVhNmU3YTE5YWQ1NDgzYWVkLi40ZTNmNjIwMGNiNDU5MDU2MDU3M2M3NTRjYWY4
NTk2NzViMDA3ZTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaWRs
CisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5pZGwKQEAgLTMzLDEzICszMywxMyBA
QCBtb2R1bGUgc3RvcmFnZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
dmVyc2lvbjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ0xpc3Qgb2JqZWN0
U3RvcmVzOwogCi0gICAgICAgIC8vIEZJWE1FOiBBZGQgdHJhbnNhY3Rpb24uCiAgICAgICAgIC8v
IEZJWE1FOiBBZGQgc2V0VmVyc2lvbi4KIAogICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0
aW9uQ29udGV4dF0gSURCUmVxdWVzdCBjcmVhdGVPYmplY3RTdG9yZShpbiBET01TdHJpbmcgbmFt
ZSwgaW4gW09wdGlvbmFsLCBDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGtleVBh
dGgsIGluIFtPcHRpb25hbF0gYm9vbGVhbiBhdXRvSW5jcmVtZW50KTsKICAgICAgICAgLy8gRklY
TUU6IG9iamVjdFN0b3JlIG5lZWRzIHRvIGJlIGFibGUgdG8gcmFpc2UgYW4gSURCRGF0YWJhc2VF
eGNlcHRpb24uCiAgICAgICAgIElEQk9iamVjdFN0b3JlIG9iamVjdFN0b3JlKGluIERPTVN0cmlu
ZyBuYW1lLCBpbiBbT3B0aW9uYWxdIHVuc2lnbmVkIHNob3J0IG1vZGUpOwogICAgICAgICBbQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gSURCUmVxdWVzdCByZW1vdmVPYmplY3RTdG9y
ZShpbiBET01TdHJpbmcgbmFtZSk7CisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbiAoaW4gW09wdGlvbmFsXSBET01TdHJp
bmdMaXN0IHN0b3JlTmFtZXMsIGluIFtPcHRpb25hbF0gdW5zaWduZWQgc2hvcnQgbW9kZSwgaW4g
W09wdGlvbmFsXSB1bnNpZ25lZCBsb25nIHRpbWVvdXQpOwogICAgIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcCBiL1dlYkNvcmUv
c3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcAppbmRleCA4NjIyOGJkZTIyNGFjNTk1
MzQ1NGVmZjM1OTI2MzI4ODEyMWYwYTg1Li4wOWI5ZGVlNjE1YjUyNmNkZGVmZmZmOGE3MjVjNzdm
ODBhMWFkNTZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5k
SW1wbC5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3Bw
CkBAIC04Myw2ICs4MywxMyBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJlbW92ZU9i
amVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJRAogICAgIGNhbGxiYWNr
cy0+b25TdWNjZXNzKCk7CiB9CiAKK1Bhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlPiBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjp0cmFuc2FjdGlvbihET01TdHJpbmdMaXN0
KiwgdW5zaWduZWQgc2hvcnQsIHVuc2lnbmVkIGxvbmcpCit7CisgICAgLy8gRklYTUU6IEFzayB0
aGUgdHJhbnNhY3Rpb24gbWFuYWdlciBmb3IgYSBuZXcgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1w
bC4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oIGIvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAppbmRleCA4N2UwNzBhMTIzMjRm
YWJiNGUzMzVjN2Y4MjljZDU3ZDlmYWU2M2Q3Li5mNmZmMDU4N2Y5MTAyYTlmMDAwOWNmYzU3NTVj
NmRkMzBlNjlhMWE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNr
ZW5kSW1wbC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgK
QEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVPYmplY3RT
dG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgYm9vbCBhdXRv
SW5jcmVtZW50LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwogICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IG9iamVjdFN0b3JlKGNvbnN0IFN0
cmluZyYgbmFtZSwgdW5zaWduZWQgc2hvcnQgbW9kZSk7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92
ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
KTsKLQorICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2U+IHRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3QqIHN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0
IG1vZGUsIHVuc2lnbmVkIGxvbmcgdGltZW91dCk7CiBwcml2YXRlOgogICAgIElEQkRhdGFiYXNl
QmFja2VuZEltcGwoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9u
LCBjb25zdCBTdHJpbmcmIHZlcnNpb24pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2Uv
SURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJh
c2VCYWNrZW5kSW50ZXJmYWNlLmgKaW5kZXggYzJiMDhmMTQ2NDUxZGNmNWU4YWYwZWQ2OWQ3YjVk
ODY3NTk2Y2MyOC4uYWMxMmJmMTNjODhiZTNkNmY3OTY4M2RjN2E1MzJlMmU1MmIyZjEzMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaApAQCAtMzgs
NiArMzgsNyBAQCBjbGFzcyBET01TdHJpbmdMaXN0OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBJREJD
YWxsYmFja3M7CiBjbGFzcyBJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U7CitjbGFzcyBJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U7CiAKIC8vIFRoaXMgY2xhc3MgaXMgc2hhcmVk
IGJ5IElEQkRhdGFiYXNlIChhc3luYykgYW5kIElEQkRhdGFiYXNlU3luYyAoc3luYykuCiAvLyBU
aGlzIGlzIGltcGxlbWVudGVkIGJ5IElEQkRhdGFiYXNlQmFja2VuZEltcGwgYW5kIG9wdGlvbmFs
bHkgb3RoZXJzIChpbiBvcmRlciB0byBwcm94eQpAQCAtNTcsNiArNTgsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIGF1dG9JbmNyZW1lbnQsIFBhc3NSZWZQdHI8SURCQ2Fs
bGJhY2tzPikgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tl
bmRJbnRlcmZhY2U+IG9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgdW5zaWduZWQgc2hv
cnQgbW9kZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVPYmplY3RTdG9yZShjb25zdCBT
dHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPikgPSAwOworICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKERP
TVN0cmluZ0xpc3QqIHN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2lnbmVkIGxv
bmcgdGltZW91dCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlJlcXVlc3QuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlJl
cXVlc3QuY3BwCmluZGV4IGMyOWZjNWI0MGQzMjAwOGJiODZmYjlhZjBjMGMyYzU0NDJmZmZkNTQu
LmU5MDJkMjBiYjg0ZDZlZGE5OGY0NjIxNDAwYzNmMjQ5MTFkNmYyN2YgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCUmVx
dWVzdC5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAgSURCUmVxdWVzdDo6SURCUmVxdWVzdChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQkFueT4gc291cmMKICAgICAs
IG1fc291cmNlKHNvdXJjZSkKICAgICAsIG1fcmVzdWx0KElEQkFueTo6Y3JlYXRlKCkpCiAgICAg
LCBtX3RpbWVyKHRoaXMsICZJREJSZXF1ZXN0Ojp0aW1lckZpcmVkKQotICAgICwgbV9zdG9wcGVk
KGZhbHNlKQogICAgICwgbV9hYm9ydGVkKGZhbHNlKQogICAgICwgbV9yZWFkeVN0YXRlKElOSVRJ
QUwpCiB7CkBAIC0xMTUsMjQgKzExNCwxMSBAQCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBJREJS
ZXF1ZXN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKICAgICByZXR1cm4gQWN0aXZl
RE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiB9CiAKLXZvaWQgSURCUmVxdWVz
dDo6c3RvcCgpCitib29sIElEQlJlcXVlc3Q6OmNhblN1c3BlbmQoKSBjb25zdAogewotICAgIGFi
b3J0KCk7Ci0gICAgbV9zZWxmUmVmID0gMDsgLy8gQ291bGQgdHJpZ2dlciBhIGRlbGV0ZS4KLX0K
LQotdm9pZCBJREJSZXF1ZXN0OjpzdXNwZW5kKCkKLXsKLSAgICBtX3RpbWVyLnN0b3AoKTsKLSAg
ICBtX3N0b3BwZWQgPSB0cnVlOwotfQotCi12b2lkIElEQlJlcXVlc3Q6OnJlc3VtZSgpCi17Ci0g
ICAgbV9zdG9wcGVkID0gZmFsc2U7Ci0gICAgLy8gV2Ugb25seSBob2xkIG91ciBzZWxmIHJlZiB3
aGVuIHdlJ3JlIHdhaXRpbmcgdG8gZGlzcGF0Y2ggYW4gZXZlbnQuCi0gICAgaWYgKG1fc2VsZlJl
ZiAmJiAhbV9hYm9ydGVkKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAv
LyBJREJUcmFuc2FjdGlvbnMgY2Fubm90IGJlIHN1c3BlbmRlZCBhdCB0aGUgbW9tZW50LiBXZSB0
aGVyZWZvcmUKKyAgICAvLyBkaXNhbGxvdyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlIGZvciBwYWdl
cyB0aGF0IHVzZSBJbmRleGVkRGF0YWJhc2UuCisgICAgcmV0dXJuIGZhbHNlOwogfQogCiBFdmVu
dFRhcmdldERhdGEqIElEQlJlcXVlc3Q6OmV2ZW50VGFyZ2V0RGF0YSgpCkBAIC0xNDksNyArMTM1
LDYgQEAgdm9pZCBJREJSZXF1ZXN0Ojp0aW1lckZpcmVkKFRpbWVyPElEQlJlcXVlc3Q+KikKIHsK
ICAgICBBU1NFUlQobV9yZWFkeVN0YXRlID09IERPTkUpOwogICAgIEFTU0VSVChtX3NlbGZSZWYp
OwotICAgIEFTU0VSVCghbV9zdG9wcGVkKTsKICAgICBBU1NFUlQoIW1fYWJvcnRlZCk7CiAKICAg
ICAvLyBXZSBuZWVkIHRvIGtlZXAgc2VsZi1yZWZlcmVuY2luZyBvdXJzZWxmLCBvdGhlcndpc2Ug
aXQncyBwb3NzaWJsZSB3ZSdsbCBiZSBkZWxldGVkLgpAQCAtMTc5LDggKzE2NCw3IEBAIHZvaWQg
SURCUmVxdWVzdDo6b25FdmVudENvbW1vbigpCiAKICAgICBtX3JlYWR5U3RhdGUgPSBET05FOwog
ICAgIG1fc2VsZlJlZiA9IHRoaXM7Ci0gICAgaWYgKCFtX3N0b3BwZWQpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCUmVx
dWVzdC5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlJlcXVlc3QuaAppbmRleCBkMzhkYTU3N2M2Mjc1
YWU3MzMwYmQ0YWJkMmE1M2Y1MTUwMTZiNjg0Li5kNzUzMWMyZjY2ZWFhMTNhOWY1ZjExNTAwODQy
NTY2OWU2ZGU1MGM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5oCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmgKQEAgLTczLDkgKzczLDcgQEAgcHVibGlj
OgogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0CiAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lk
IHN0b3AoKTsKLSAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZCgpOwotICAgIHZpcnR1YWwgdm9pZCBy
ZXN1bWUoKTsKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU3VzcGVuZCgpIGNvbnN0OwogCiAgICAgdXNp
bmcgUmVmQ291bnRlZDxJREJDYWxsYmFja3M+OjpyZWY7CiAgICAgdXNpbmcgUmVmQ291bnRlZDxJ
REJDYWxsYmFja3M+OjpkZXJlZjsKQEAgLTEwMSw3ICs5OSw2IEBAIHByaXZhdGU6CiAgICAgVGlt
ZXI8SURCUmVxdWVzdD4gbV90aW1lcjsKICAgICBSZWZQdHI8SURCUmVxdWVzdD4gbV9zZWxmUmVm
OyAvLyBUaGlzIGlzIHNldCB0byB1cyBpZmYgdGhlcmUncyBhbiBldmVudCBwZW5kaW5nLgogCi0g
ICAgYm9vbCBtX3N0b3BwZWQ7CiAgICAgYm9vbCBtX2Fib3J0ZWQ7CiAgICAgUmVhZHlTdGF0ZSBt
X3JlYWR5U3RhdGU7CiAgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcCBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJUcmFuc2FjdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZlYTYzZDcxZmYxYmIwNjBkMTA5
NTYwZDI2NzczMjBlYWIyZDNlNgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9J
REJUcmFuc2FjdGlvbi5jcHAKQEAgLTAsMCArMSw3MiBAQAorI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFT
RSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRXZlbnRFeGNlcHRpb24uaCIKKyNp
bmNsdWRlICJJREJEYXRhYmFzZS5oIgorI2luY2x1ZGUgIklEQk9iamVjdFN0b3JlLmgiCisjaW5j
bHVkZSAiSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmgiCisjaW5jbHVkZSAiU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0lEQlRyYW5zYWN0
aW9uOjpJREJUcmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNz
UmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gYmFja2VuZCwgSURCRGF0YWJh
c2UqIGRiKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCisgICAgLCBtX2Jh
Y2tlbmQoYmFja2VuZCkKKyAgICAsIG1fZGF0YWJhc2UoZGIpCit7Cit9CisKK0lEQlRyYW5zYWN0
aW9uOjp+SURCVHJhbnNhY3Rpb24oKQoreworfQorCit1bnNpZ25lZCBzaG9ydCBJREJUcmFuc2Fj
dGlvbjo6bW9kZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIElEQlRyYW5zYWN0aW9uOjpSRUFEX09O
TFk7Cit9CisKK0lEQkRhdGFiYXNlKiBJREJUcmFuc2FjdGlvbjo6ZGIoKQoreworICAgIHJldHVy
biBtX2RhdGFiYXNlLmdldCgpOworfQorCitQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlPiBJREJU
cmFuc2FjdGlvbjo6b2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBFeGNlcHRp
b25Db2RlJikKK3sKKyAgICBSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBv
YmplY3RTdG9yZUJhY2tlbmQgPSBtX2JhY2tlbmQtPm9iamVjdFN0b3JlKG5hbWUpOworICAgIFJl
ZlB0cjxJREJPYmplY3RTdG9yZT4gb2JqZWN0U3RvcmUgPSBJREJPYmplY3RTdG9yZTo6Y3JlYXRl
KG9iamVjdFN0b3JlQmFja2VuZCk7CisgICAgcmV0dXJuIG9iamVjdFN0b3JlLnJlbGVhc2UoKTsK
K30KKwordm9pZCBJREJUcmFuc2FjdGlvbjo6YWJvcnQoKQoreworICAgIG1fYmFja2VuZC0+YWJv
cnQoKTsKK30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogSURCVHJhbnNhY3Rpb246OnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAoreworICAgIHJldHVybiBBY3RpdmVET01PYmplY3Q6
OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKK30KKworYm9vbCBJREJUcmFuc2FjdGlvbjo6Y2Fu
U3VzcGVuZCgpIGNvbnN0Cit7CisgICAgLy8gV2UgbWF5IGJlIGluIHRoZSBtaWRkbGUgb2YgYSB0
cmFuc2FjdGlvbiBzbyB3ZSBjYW5ub3Qgc3VzcGVuZCBvdXIgb2JqZWN0LgorICAgIC8vIEluc3Rl
YWQsIHdlIHNpbXBseSBkb24ndCBhbGxvdyB0aGUgb3duZXIgcGFnZSB0byBnbyBpbnRvIHRoZSBi
YWNrL2ZvcndhcmQgY2FjaGUuCisgICAgcmV0dXJuIGZhbHNlOworfQorCitFdmVudFRhcmdldERh
dGEqIElEQlRyYW5zYWN0aW9uOjpldmVudFRhcmdldERhdGEoKQoreworICAgIHJldHVybiAmbV9l
dmVudFRhcmdldERhdGE7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSogSURCVHJhbnNhY3Rpb246OmVu
c3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsK
K30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJU
cmFuc2FjdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlMzE2N2M2ODM4ZDdmMDcxYmUwZmRkMmJiYTA1MTgx
NWI2MGMyNjYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rp
b24uaApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJREJUcmFuc2FjdGlvbl9oCisj
ZGVmaW5lIElEQlRyYW5zYWN0aW9uX2gKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQor
CisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5o
IgorI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisj
aW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJREJEYXRhYmFzZTsK
K2NsYXNzIElEQk9iamVjdFN0b3JlOworCitjbGFzcyBJREJUcmFuc2FjdGlvbiA6IHB1YmxpYyBF
dmVudFRhcmdldCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gYmFj
a2VuZCwgSURCRGF0YWJhc2UqIGRiKQorICAgIHsgCisgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgSURCVHJhbnNhY3Rpb24oY29udGV4dCwgYmFja2VuZCwgZGIpKTsgCisgICAgfQorICAgIHZp
cnR1YWwgfklEQlRyYW5zYWN0aW9uKCk7CisKKyAgICBlbnVtIE1vZGUgeworICAgICAgICBSRUFE
X1dSSVRFID0gMCwKKyAgICAgICAgUkVBRF9PTkxZID0gMSwKKyAgICAgICAgU05BUFNIT1RfUkVB
RCA9IDIKKyAgICB9OworCisgICAgdW5zaWduZWQgc2hvcnQgbW9kZSgpIGNvbnN0OworICAgIElE
QkRhdGFiYXNlKiBkYigpOworICAgIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IG9iamVjdFN0
b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQg
YWJvcnQoKTsKKworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWJvcnQpOwor
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29tcGxldGUpOworICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodGltZW91dCk7CisKKyAgICAvLyBFdmVudFRhcmdl
dAorICAgIHZpcnR1YWwgSURCVHJhbnNhY3Rpb24qIHRvSURCVHJhbnNhY3Rpb24oKSB7IHJldHVy
biB0aGlzOyB9CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICB2aXJ0dWFsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIGJvb2wgY2FuU3VzcGVuZCgpIGNvbnN0OworCitwcml2YXRlOgorICAgIElEQlRyYW5zYWN0
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZT4sIElEQkRhdGFiYXNlKik7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAg
IHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIHsgcmVmKCk7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgZGVyZWZFdmVudFRhcmdldCgpIHsgZGVyZWYoKTsgfQorICAgIHZpcnR1YWwgRXZlbnRUYXJn
ZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSog
ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCk7CisKKyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRh
cmdldERhdGE7CisgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gbV9i
YWNrZW5kOworICAgIFJlZlB0cjxJREJEYXRhYmFzZT4gbV9kYXRhYmFzZTsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQor
CisjZW5kaWYgLy8gSURCVHJhbnNhY3Rpb25faApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdl
L0lEQlRyYW5zYWN0aW9uLmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTFlNzAyOGEzMDgwNTgxZWQxZTIxYjQwMTRmOWNkNzMyMTk5NDg1OQotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGwKQEAgLTAs
MCArMSw1NyBAQAorIC8qDQorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuDQorICoNCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCisgKiBh
cmUgbWV0Og0KKyAqDQorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQNCisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQ0KKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KKyAqDQorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkNCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEDQorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQ0KKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkNCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUw0KKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsNCisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQNCisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVA0K
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRg0KKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQorICovDQorDQorbW9kdWxlIHN0b3Jh
Z2Ugew0KKw0KKyAgICBpbnRlcmZhY2UgWw0KKyAgICAgICAgQ29uZGl0aW9uYWw9SU5ERVhFRF9E
QVRBQkFTRSwNCisgICAgICAgIEV2ZW50VGFyZ2V0DQorICAgIF0gSURCVHJhbnNhY3Rpb24gew0K
KyAgICAgICAgLy8gTW9kZXMNCisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFJFQURfV1JJ
VEUgPSAwOw0KKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUkVBRF9PTkxZID0gMTsNCisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNOQVBTSE9UX1JFQUQgPSAyOw0KKyAgICAgICAg
Ly8gUHJvcGVydGllcw0KKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IG1vZGU7DQorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSURCRGF0YWJhc2UgZGI7DQorICAg
ICAgICAvLyBNZXRob2RzDQorICAgICAgICBJREJPYmplY3RTdG9yZSBvYmplY3RTdG9yZSAoaW4g
RE9NU3RyaW5nIG5hbWUpDQorICAgICAgICAgICAgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2VwdGlv
bik7DQorICAgICAgICB2b2lkIGFib3J0ICgpOw0KKyAgICAgICAgLy8gRXZlbnRzDQorICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmFib3J0Ow0KKyAgICAgICAgYXR0cmlidXRlIEV2
ZW50TGlzdGVuZXIgb25jb21wbGV0ZTsNCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVy
IG9udGltZW91dDsNCisgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQ0KKyAgICAgICAg
dm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLA0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiB1c2VDYXB0dXJlKTsNCisgICAgICAgIHZvaWQg
cmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLA0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gdXNlQ2FwdHVyZSk7DQorICAgICAgICBi
b29sZWFuIGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZ0KSANCisgICAgICAgICAgICByYWlzZXMo
RXZlbnRFeGNlcHRpb24pOw0KKyAgICB9Ow0KK30NCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFiMTkwNGEyODg1ZGFl
YjgzODU5MzY2ZTEyOTQ2NDkyZTE3ZGFiNAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UuaApAQCAtMCwwICsxLDYyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
KyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2VfaAorI2RlZmluZSBJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2VfaAorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29k
ZS5oIgorI2luY2x1ZGUgIklEQkNhbGxiYWNrcy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZTsKK2NsYXNz
IFNRTGl0ZURhdGFiYXNlOworCisvLyBUaGlzIGNsYXNzIGlzIHNoYXJlZCBieSBJREJUcmFuc2Fj
dGlvbiAoYXN5bmMpIGFuZCBJREJUcmFuc2FjdGlvblN5bmMgKHN5bmMpLgorLy8gVGhpcyBpcyBp
bXBsZW1lbnRlZCBieSBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsIGFuZCBvcHRpb25hbGx5IG90
aGVycyAoaW4gb3JkZXIgdG8gcHJveHkKKy8vIGNhbGxzIGFjcm9zcyBwcm9jZXNzIGJhcnJpZXJz
KS4gQWxsIGNhbGxzIHRvIHRoZXNlIGNsYXNzZXMgc2hvdWxkIGJlIG5vbi1ibG9ja2luZyBhbmQK
Ky8vIHRyaWdnZXIgd29yayBvbiBhIGJhY2tncm91bmQgdGhyZWFkIGlmIG5lY2Vzc2FyeS4KK2Ns
YXNzIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSA6IHB1YmxpYyBUaHJlYWRTYWZlU2hh
cmVkPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4geworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gY3JlYXRlKCk7Cisg
ICAgdmlydHVhbCB+SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKCkgeyB9CisKKyAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBvYmplY3RT
dG9yZShjb25zdCBTdHJpbmcmIG5hbWUpOyAKKyAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVUYXNr
KFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4pID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgYWJvcnQoKSA9IDA7CisgICAgdmlydHVhbCBTUUxpdGVEYXRhYmFzZSogc3FsaXRl
RGF0YWJhc2UoKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgor
CisjZW5kaWYgLy8gSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlX2gKKwpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
aW5kZXggMDI2MjBlYzUyNDM2NTVkMjBiYTRmZGEzNDllOWFmYmE1MzdmYmI1NC4uZjBjN2I3ODNh
YjAyYzgzOWU3NzliNjBlYTUzMTI2ZWE4ODA0MDI5MSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTAtMDgtMDUgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBkaGNwLTE3Mi0xNi0x
NC0xMi5sb24uY29ycC5nb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtJbmRleGVkREJdIEluZGV4ZWREQiBpcyBtaXNzaW5nIHRoZSBU
cmFuc2FjdGlvbiBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00Mjk3MAorCisgICAgICAgIEFkZCBJREJUcmFuc2FjdGlvbiBib2lsZXJw
bGF0ZS4KKworICAgICAgICAqIHNyYy9JREJEYXRhYmFzZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQkRhdGFiYXNlUHJveHk6OnRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBzcmMvSURC
RGF0YWJhc2VQcm94eS5oOgorCiAyMDEwLTA4LTA1ICBKb2huIEdyZWdnICA8am9obm55Z0Bnb29n
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94eS5jcHAgYi9XZWJLaXQvY2hyb21p
dW0vc3JjL0lEQkRhdGFiYXNlUHJveHkuY3BwCmluZGV4IGY5OTViM2NlMjZlOWQ4YTgxOGZmZDM3
YWE1ZTFiZDYyMjc2YWJlOWEuLmQxMWQxODJhNmNmYjA5MDQ3YzJkZDVhNDkxMTI3N2M2ZWRhOTRk
MGIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94eS5jcHAK
KysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmNwcApAQCAtMjksNiAr
MjksNyBAQAogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJJREJDYWxsYmFj
a3MuaCIKICNpbmNsdWRlICJJREJPYmplY3RTdG9yZVByb3h5LmgiCisjaW5jbHVkZSAiSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAj
aW5jbHVkZSAiV2ViSURCQ2FsbGJhY2tzSW1wbC5oIgogI2luY2x1ZGUgIldlYklEQkRhdGFiYXNl
LmgiCkBAIC05MSw2ICs5MiwxMyBAQCB2b2lkIElEQkRhdGFiYXNlUHJveHk6OnJlbW92ZU9iamVj
dFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJREJDYWxsYgogICAgIG1fd2Vi
SURCRGF0YWJhc2UtPnJlbW92ZU9iamVjdFN0b3JlKG5hbWUsIG5ldyBXZWJJREJDYWxsYmFja3NJ
bXBsKGNhbGxiYWNrcykpOwogfQogCitQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZElu
dGVyZmFjZT4gSURCRGF0YWJhc2VQcm94eTo6dHJhbnNhY3Rpb24oRE9NU3RyaW5nTGlzdCogc3Rv
cmVOYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KQorewor
ICAgIC8vIEZJWE1FOiBwbHVtYiB0byB0aGUgYnJvd3NlciBwcm9jZXNzLCBldGMgZXRjLgorICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdp
dCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94eS5oIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmgKaW5kZXggMDMzMTFmMjljYTk2YWEyZTEzMDMzMTI2
OGNmNGVjZjUzNzc4ODVkOS4uZWQyMDE2YTU3OTQzNjI3MDJlMmJkMDU5NTcwYWQwN2ZiODM3MTZh
NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmgKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmgKQEAgLTUyLDYgKzUyLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgYm9vbCBhdXRvSW5jcmVtZW50LCBQYXNz
UmVmUHRyPElEQkNhbGxiYWNrcz4pOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJPYmplY3RT
dG9yZUJhY2tlbmRJbnRlcmZhY2U+IG9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgdW5z
aWduZWQgc2hvcnQgbW9kZSk7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZU9iamVjdFN0b3JlKGNv
bnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+KTsKKyAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbihE
T01TdHJpbmdMaXN0KiBzdG9yZU5hbWVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCB1bnNpZ25lZCBs
b25nIHRpbWVvdXQpOwogCiBwcml2YXRlOgogICAgIElEQkRhdGFiYXNlUHJveHkoUGFzc093blB0
cjxXZWJLaXQ6OldlYklEQkRhdGFiYXNlPik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63604</attachid>
            <date>2010-08-05 10:19:12 -0700</date>
            <delta_ts>2010-08-05 10:57:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42970-20100805181910.patch</filename>
            <type>text/plain</type>
            <size>42831</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggYmVhMmUxZGI5Y2FkZDE3
MjEwNjA0MmViM2JhY2YzNmQ4MmE0NWU4Yi4uODQ1YWJkYmJjOTU3OWQxOGQyNzkyZmQyNTMwNGMw
ODdkZGUzM2Y2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGlu
Z3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTM3
Miw3ICszNzIsOCBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0lE
QktleVJhbmdlLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0lEQk9iamVjdFN0
b3JlLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvc3RvcmFnZS9KU0lEQlJlcXVlc3QuaCBcCi0g
ICAgJChpbnRlcm1lZGlhdGVzKS9zdG9yYWdlL0pTSURCU3VjY2Vzc0V2ZW50LmgKKyAgICAkKGlu
dGVybWVkaWF0ZXMpL3N0b3JhZ2UvSlNJREJTdWNjZXNzRXZlbnQuaCBcCisgICAgJChpbnRlcm1l
ZGlhdGVzKS9zdG9yYWdlL0pTSURCVHJhbnNhY3Rpb24uaAogCiAkKEdFTik6IFBSSVZBVEVfUEFU
SCA6PSAkKExPQ0FMX1BBVEgpCiAkKEdFTik6IFBSSVZBVEVfQ1VTVE9NX1RPT0wgPSBwZXJsIC1J
JChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMgJChQUklWQVRFX1BBVEgpL2JpbmRpbmdz
L3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwgLS1kZWZpbmVzICIkKEZFQVRVUkVfREVGSU5F
UykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1nZW5lcmF0b3IgSlMgLS1pbmNsdWRlIGRvbSAtLWlu
Y2x1ZGUgaHRtbCAtLWluY2x1ZGUgc3RvcmFnZSAtLW91dHB1dGRpciAkKGRpciAkQCkgJDwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsgYi9XZWJDb3Jl
L0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IGY3ZmE4ZDY3YzM1YzU0ZmJlNDIy
YWMzNGIxMzYzNGNlZmUyMjZjZmUuLmY1MzFmZWE0NDI5N2Y1MzM0YTI3YzhmZTM0ZmJjYjU4ODJh
YTZiNDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsK
KysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawpAQCAtMzUzLDcgKzM1
Myw4IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOElEQktleVJh
bmdlLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhJREJPYmplY3RTdG9yZS5o
IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4SURCUmVxdWVzdC5oIFwKLSAgICAk
KGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4SURCU3VjY2Vzc0V2ZW50LmgKKyAgICAkKGludGVy
bWVkaWF0ZXMpL2JpbmRpbmdzL1Y4SURCU3VjY2Vzc0V2ZW50LmggXAorICAgICQoaW50ZXJtZWRp
YXRlcykvYmluZGluZ3MvVjhJREJUcmFuc2FjdGlvbi5oCiAKICQoR0VOKTogUFJJVkFURV9QQVRI
IDo9ICQoTE9DQUxfUEFUSCkKICQoR0VOKTogUFJJVkFURV9DVVNUT01fVE9PTCA9IFNPVVJDRV9S
T09UPSQoUFJJVkFURV9QQVRIKSBwZXJsIC1JJChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3Njcmlw
dHMgJChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwg
LS1kZWZpbmVzICIkKEZFQVRVUkVfREVGSU5FUykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1nZW5l
cmF0b3IgVjggLS1pbmNsdWRlIGRvbSAtLWluY2x1ZGUgaHRtbCAtLWluY2x1ZGUgc3RvcmFnZSAt
LW91dHB1dGRpciAkKGRpciAkQCkgJDwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBi
L1dlYkNvcmUvQW5kcm9pZC5tawppbmRleCBmNzlhYTc0MzBjNzg4MzRjMWY2YzQyZDcyZTM1OTk0
OGM3NGMxMjVmLi4zYThiZDQ2OTc2MWMxNmVjYzQzMGQzNzFiZjMzNTJhMjUyYzEyNmVhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC03
NTUsNiArNzU1LDcgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJ
c3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcCBcCiAJc3RvcmFnZS9JREJSZXF1
ZXN0LmNwcCBcCiAJc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwIFwKKwlzdG9yYWdlL0lEQlRy
YW5zYWN0aW9uLmNwcCBcCiAJc3RvcmFnZS9JREJGYWN0b3J5LmNwcCBcCiAJc3RvcmFnZS9JREJG
YWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAgXAogCXN0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJ
bXBsLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCBmNjExNTk0ZjMyYjRmYmViMzljZWQ1Njg2YWUwYzQ2MzM2NzI3
MzMzLi41N2Q2ZTE3MjY0NTFmZTFhYWQ3ZDM1YjliNmUxNDdkMmI4NjVhZTIyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTM0Niw2ICszNDYsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBzdG9yYWdlL0lEQk9i
amVjdFN0b3JlLmlkbAogICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5pZGwKICAgICBzdG9yYWdlL0lE
QlN1Y2Nlc3NFdmVudC5pZGwKKyAgICBzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmlkbAogICAgIHN0
b3JhZ2UvU1FMRXJyb3IuaWRsCiAgICAgc3RvcmFnZS9TUUxFeGNlcHRpb24uaWRsCiAgICAgc3Rv
cmFnZS9TUUxSZXN1bHRTZXQuaWRsCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDkzZDBjNWNiNTc2MjkwMTlkZjJhNTJmY2VlZmI2ZGVhZmEz
MjIzZTIuLmY5OWIwMjAwMjMxMzU0ZWQ0MGM2OTEwZWNmYjg2M2VjNDNlMzkyNGQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NjIgQEAKKzIwMTAtMDgtMDUgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBkaGNwLTE3Mi0xNi0x
NC0xMi5sb24uY29ycC5nb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtJbmRleGVkREJdIEluZGV4ZWREQiBpcyBtaXNzaW5nIHRoZSBU
cmFuc2FjdGlvbiBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00Mjk3MAorCisgICAgICAgIEFkZCBJREJUcmFuc2FjdGlvbiBib2lsZXJw
bGF0ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vdCBmdW5jdGlvbmFsIHlldC4KKworICAg
ICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lk
LmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJD
b3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0V2
ZW50TmFtZXMuaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3RvcmFnZS9J
REJEYXRhYmFzZS5oOgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2UuaWRsOgorICAgICAg
ICAqIHN0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3RvcmFn
ZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmg6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFz
ZUJhY2tlbmRJbnRlcmZhY2UuaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6SURCUmVxdWVzdCk6CisgICAgICAgIChXZWJD
b3JlOjpJREJSZXF1ZXN0OjpjYW5TdXNwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3Q6OnRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6b25FdmVudENv
bW1vbik6CisgICAgICAgICogc3RvcmFnZS9JREJSZXF1ZXN0Lmg6CisgICAgICAgICogc3RvcmFn
ZS9JREJUcmFuc2FjdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNh
Y3Rpb246OklEQlRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
Ojp+SURCVHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om1v
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmRiKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlRyYW5zYWN0aW9uOjpvYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJUcmFuc2FjdGlvbjo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246
OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OmNhblN1c3BlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmV2ZW50
VGFyZ2V0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6ZW5zdXJlRXZl
bnRUYXJnZXREYXRhKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0
aW9uOjp0b0lEQlRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpyZWZFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6ZGVy
ZWZFdmVudFRhcmdldCk6CisgICAgICAgICogc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGw6IEFk
ZGVkLgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
Ojp+SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKToKKwogMjAxMC0wOC0wNSAgTmVkIEhv
bGJyb29rICA8bmhvbGJyb29rQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNGJlZDU2OGQ3MDNiNDVkNjVkZTY3MWEwZTcyMTQ0
Njg4YzY3MmMyMy4uNzA3MTE4M2QyNjUyZjJlMWYxN2M5NGYyMDVhMGM1Y2ViOWI0NDRlZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKQEAgLTE4OCw2ICsxODgsNyBAQAogI2luY2x1ZGUgIkpTSURCT2JqZWN0U3Rv
cmUuY3BwIgogI2luY2x1ZGUgIkpTSURCUmVxdWVzdC5jcHAiCiAjaW5jbHVkZSAiSlNJREJTdWNj
ZXNzRXZlbnQuY3BwIgorI2luY2x1ZGUgIkpTSURCVHJhbnNhY3Rpb24uY3BwIgogI2luY2x1ZGUg
IkpTSW1hZ2VEYXRhLmNwcCIKICNpbmNsdWRlICJKU0luamVjdGVkU2NyaXB0SG9zdC5jcHAiCiAj
aW5jbHVkZSAiSlNJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IGUyNjNjN2U2MDBkMDM1Y2ZmZmI5YjQyYTYwY2U2ZmY2ZTQzMjY3NTYuLmYzMzFkYjhiZGQ1Mjk0
OTk1M2RhYjY3YzQwNjczZTEzZDcwOGRlZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIzOCw2ICsy
MzgsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBJREJPYmplY3RTdG9yZSBcCiAgICAgSURCUmVx
dWVzdCBcCiAgICAgSURCU3VjY2Vzc0V2ZW50IFwKKyAgICBJREJUcmFuc2FjdGlvbiBcCiAgICAg
SW1hZ2VEYXRhIFwKICAgICBJbmplY3RlZFNjcmlwdEhvc3QgXAogICAgIEluc3BlY3RvckZyb250
ZW5kSG9zdCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCAzZjNjMGRiZmZiMWI0NjRmNGJlZjY5ODIwZDViM2ZlNWMyMTg4
YjAxLi5jZTg1NjQ4NGZkNmU5ZWY0MGFiY2MyNjdkYzJiMWYyZDU1ZGU0OWZhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAg
LTI4NTYsNyArMjg1Niw5IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0lEQlJlcXVlc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTSURCUmVxdWVzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSURCU3VjY2Vzc0V2
ZW50LmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lEQlN1Y2Nlc3NFdmVudC5oCisJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lEQlN1Y2Nlc3NFdmVudC5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTSURCVHJhbnNhY3Rpb24uY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTSURCVHJhbnNhY3Rpb24uaAogCiB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
c3RvcmFnZS9JREJBbnkuY3BwIFwKQEAgLTI4NzMsNiArMjg3NSwxMiBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVdlYkNvcmUvc3RvcmFnZS9JREJFcnJvckV2ZW50LmggXAogCVdlYkNvcmUvc3Rv
cmFnZS9JREJFdmVudC5jcHAgXAogCVdlYkNvcmUvc3RvcmFnZS9JREJFdmVudC5oIFwKKwlXZWJD
b3JlL3N0b3JhZ2UvSURCRmFjdG9yeS5jcHAgXAorCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5
LmggXAorCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAgXAor
CVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIFwKKwlXZWJDb3Jl
L3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcCBcCisJV2ViQ29yZS9zdG9yYWdlL0lE
QkZhY3RvcnlCYWNrZW5kSW1wbC5oCiAJV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4LmNwcCBcCiAJ
V2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4LmggXAogCVdlYkNvcmUvc3RvcmFnZS9JREJJbmRleEJh
Y2tlbmRJbnRlcmZhY2UuaCBcCkBAIC0yODg5LDEyICsyODk3LDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlXZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5oIFwKIAlXZWJDb3JlL3N0b3JhZ2Uv
SURCU3VjY2Vzc0V2ZW50LmNwcCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5o
IFwKLQlXZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeS5jcHAgXAotCVdlYkNvcmUvc3RvcmFnZS9J
REJGYWN0b3J5LmggXAotCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFj
ZS5jcHAgXAotCVdlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIFwK
LQlXZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcCBcCi0JV2ViQ29yZS9z
dG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5oCisJV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5z
YWN0aW9uLmNwcCBcCisJV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmggXAorCVdlYkNv
cmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UKIGVuZGlmICMgRU5EIEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFCiAKICMgLS0tLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBkNWVkM2QyOTQ3NmVhYzA1YzJi
ZDA3OGJkZjRhZDM4MGFjNWVhYTNjLi44ODg5NGZjZDFiMjcwNTY0ODMyZmViMzVmOTljZDhjMTEy
YzQ3YzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQpAQCAtMjQ5LDYgKzI0OSw3IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9JREJP
YmplY3RTdG9yZS5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUmVxdWVzdC5pZGwnLAog
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmlkbCcsCisgICAgICAgICAgICAn
c3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvTWV0YWRh
dGEuaWRsJywKICAgICAgICAgICAgICdzdG9yYWdlL01ldGFkYXRhQ2FsbGJhY2suaWRsJywKICAg
ICAgICAgICAgICdzdG9yYWdlL1NRTEVycm9yLmlkbCcsCkBAIC0zNTMzLDYgKzM1MzQsOSBAQAog
ICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUmVxdWVzdC5oJywKICAgICAgICAgICAgICdzdG9yYWdl
L0lEQlN1Y2Nlc3NFdmVudC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2
ZW50LmgnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uY3BwJywKKyAgICAg
ICAgICAgICdzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmgnLAorICAgICAgICAgICAgJ3N0b3JhZ2Uv
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2Uv
TG9jYWxTdG9yYWdlVGFzay5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvTG9jYWxTdG9yYWdl
VGFzay5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5jcHAnLApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5k
ZXggY2UwZjcwMTJhMzViNzg4NDFjM2JmYjY1ZDI1ZGE3ZTYxODg3Y2Q2Yy4uYzg1YzdhNDhlNjY0
ZjU3Y2M4YjgxMDYxZDk1ODhjYzRhM2I0ODhiMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
LnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00ODgsMTMgKzQ4OCwxNCBAQCBJRExf
QklORElOR1MgKz0gXAogICAgIHN0b3JhZ2UvSURCRGF0YWJhc2UuaWRsIFwKICAgICBzdG9yYWdl
L0lEQkVycm9yRXZlbnQuaWRsIFwKICAgICBzdG9yYWdlL0lEQkV2ZW50LmlkbCBcCisgICAgc3Rv
cmFnZS9JREJGYWN0b3J5LmlkbCBcCiAgICAgc3RvcmFnZS9JREJJbmRleC5pZGwgXAogICAgIHN0
b3JhZ2UvSURCS2V5LmlkbCBcCiAgICAgc3RvcmFnZS9JREJLZXlSYW5nZS5pZGwgXAogICAgIHN0
b3JhZ2UvSURCT2JqZWN0U3RvcmUuaWRsIFwKICAgICBzdG9yYWdlL0lEQlJlcXVlc3QuaWRsIFwK
ICAgICBzdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5pZGwgXAotICAgIHN0b3JhZ2UvSURCRmFjdG9y
eS5pZGwgXAorICAgIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaWRsIFwKICAgICBzdG9yYWdlL1N0
b3JhZ2UuaWRsIFwKICAgICBzdG9yYWdlL1N0b3JhZ2VFdmVudC5pZGwgXAogICAgIHN0b3JhZ2Uv
U1FMRXJyb3IuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3Jl
L1dlYkNvcmUucHJvCmluZGV4IDEyZDA1NmQ5NzRjZWZlODUyMWNhNjYzZWZkZDRiMDZiNGNmZjdm
NzguLmFiNDdmYmI0NTRmNWU4OTZiYTg2NmZiNjcxYzI3OThmMzE3NWZhOWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjQ0NSw3
ICsyNDQ1LDkgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0lOREVYRURfREFUQUJBU0U9MSkg
ewogICAgICAgICBzdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaCBcCiAgICAgICAg
IHN0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmggXAogICAgICAgICBzdG9y
YWdlL0lEQlJlcXVlc3QuaCBcCi0gICAgICAgIHN0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmgKKyAg
ICAgICAgc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuaCBcCisgICAgICAgIHN0b3JhZ2UvSURCVHJh
bnNhY3Rpb24uaCBcCisgICAgICAgIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlLmgKIAogICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBiaW5kaW5ncy9qcy9JREJCaW5kaW5n
VXRpbGl0aWVzLmNwcCBcCkBAIC0yNDY2LDcgKzI0NjgsOCBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRT0xKSB7CiAgICAgICAgIHN0b3JhZ2UvSURCT2JqZWN0U3Rv
cmUuY3BwIFwKICAgICAgICAgc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcCBc
CiAgICAgICAgIHN0b3JhZ2UvSURCUmVxdWVzdC5jcHAgXAotICAgICAgICBzdG9yYWdlL0lEQlN1
Y2Nlc3NFdmVudC5jcHAKKyAgICAgICAgc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwIFwKKyAg
ICAgICAgc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5jcHAKIH0KIAogY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX0RPTV9TVE9SQUdFPTEpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CmluZGV4IGMwZGMzYmVlZmRhMmQ0MGE4YzVmMjhmM2I1N2M4YmY2NGI1NmFmNjYuLjgxMGVlZWU2
NGJhMmFmMGUwMTUzZDA4YmMxZmE4MTc5MmYxZmIyNDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagpAQCAtNDUzMDgsNiArNDUzMDgsNjIgQEAKIAkJCQkJPg0KIAkJCQk8L0Zp
bGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJUcmFuc2FjdGlvbi5jcHAiDQor
CQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRv
b2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJ
Pg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJ
Lz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iUmVsZWFz
ZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+
DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkv
Pg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPC9GaWxl
Pg0KKwkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCVHJhbnNhY3Rpb24uaCINCisJCQkJ
CT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5k
aW5nc1xqc1xKU0ltYWdlQ29uc3RydWN0b3IuY3BwIg0KIAkJCQkJPg0KIAkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQpAQCAtNTAzMDEsNiArNTAzNTcsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJUcmFuc2FjdGlvbi5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxzdG9yYWdlXElEQlRyYW5zYWN0aW9uLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXExvY2FsU3RvcmFnZVRhc2suY3BwIg0K
IAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZjViOTMwM2NlYmNkOWNkZGFmYzU0OTAxOTgwYThkMTY2NzU4MWNjNC4uYzZl
YmEzYjdhYTNmMDMyZGYwNGY4ZmViZWFiNWYyZjY5YmRmNzc1ZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQzNTgsNiArNDM1OCwxMCBAQAogCQlCNUQz
NjAxQTExMkY4QjU2MDA0OERFQTggLyogRGF0YWJhc2VDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjVEMzYwMTkxMTJGOEI1NjAwNDhERUE4
IC8qIERhdGFiYXNlQ2FsbGJhY2suaCAqLzsgfTsKIAkJQjYxNzYyNTQxMjAzMzc0RjAwRUY5MTE0
IC8qIElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjYxNzYyNTMxMjAzMzc0RjAwRUY5MTE0IC8qIElEQkRh
dGFiYXNlQmFja2VuZEludGVyZmFjZS5oICovOyB9OwogCQlCNjE3NjI2MjEyMDM0OTA4MDBFRjkx
MTQgLyogSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjYxNzYyNjExMjAzNDkwODAwRUY5MTE0IC8qIElEQkRhdGFi
YXNlQmFja2VuZEltcGwuaCAqLzsgfTsKKwkJQjY1NjYyNkExMjBCMTE1QTAwNkVBODVDIC8qIElE
QlRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEI2NTY2MjY3MTIwQjExNUEwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbi5jcHAgKi87
IH07CisJCUI2NTY2MjZCMTIwQjExNUEwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1NjYyNjgxMjBCMTE1
QTAwNkVBODVDIC8qIElEQlRyYW5zYWN0aW9uLmggKi87IH07CisJCUI2NTY2MjcwMTIwQjEyMjcw
MDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCNjU2NjI2RTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFu
c2FjdGlvbi5oICovOyB9OworCQlCNjU2NjI3MTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFu
c2FjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCNjU2NjI2RjEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5jcHAgKi87IH07
CiAJCUI2OTFDMUY5MTIwNkQ0QTAwMDI1RDk4MCAvKiBJREJEYXRhYmFzZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTg1QTZBMzExRDRGQjNEMDA0
QzNFNEIgLyogSURCRGF0YWJhc2UuY3BwICovOyB9OwogCQlCNzFGRTZERjExMDkxQ0IzMDBEQUVG
NzcgLyogUHJpbnRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCNzc2RDQzQTExMDQ1MjVEMDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjczNEIxODEx
MTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI3MzRCMTgwMTE5Qjk5MTEwMDY1ODdCRCAvKiBG
b250VHJhbnNjb2Rlci5jcHAgKi87IH07CkBAIC0xMDAyNiw2ICsxMDAzMCwxMiBAQAogCQlCNUQz
NjAxOTExMkY4QjU2MDA0OERFQTggLyogRGF0YWJhc2VDYWxsYmFjay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhYmFzZUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUI2MTc2MjUzMTIwMzM3NEYwMEVGOTExNCAvKiBJREJEYXRhYmFzZUJhY2tl
bmRJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCRGF0YWJh
c2VCYWNrZW5kSW50ZXJmYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2MTc2
MjYxMTIwMzQ5MDgwMEVGOTExNCAvKiBJREJEYXRhYmFzZUJhY2tlbmRJbXBsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkRhdGFiYXNlQmFja2VuZEltcGwuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjY1NjYyNjcxMjBCMTE1QTAwNkVBODVDIC8qIElEQlRy
YW5zYWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQlRy
YW5zYWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjY1NjYyNjgxMjBC
MTE1QTAwNkVBODVDIC8qIElEQlRyYW5zYWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IElEQlRyYW5zYWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUI2NTY2MjY5MTIwQjExNUEwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbi5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gSURCVHJhbnNhY3Rpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCNjU2NjI2RDEyMEIxMTZCMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNjU2
NjI2RTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBKU0lEQlRyYW5zYWN0aW9uLmg7IHBhdGggPSAuLi9XZWJLaXRC
dWlsZC9EZWJ1Zy9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSURCVHJhbnNhY3Rpb24uaDsgc291
cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQlCNjU2NjI2RjEyMEIxMjI3MDA2RUE4NUMgLyog
SlNJREJUcmFuc2FjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBKU0lEQlRyYW5zYWN0aW9uLmNwcDsgcGF0aCA9IC4uL1dlYktpdEJ1aWxkL0RlYnVnL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNJREJUcmFuc2FjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSBTT1VS
Q0VfUk9PVDsgfTsKIAkJQjczNEIxODAxMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZvbnRUcmFuc2NvZGVy
LmNwcDsgcGF0aCA9IHRyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCNzM0QjE4MjExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29k
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRm9udFRyYW5zY29kZXIuaDsg
cGF0aCA9IHRyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQjc3NkQ0M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcmludENvbnRleHQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTExNDQxLDYgKzExNDUxLDEwIEBACiAJCQkJQzU4NUE2QzIxMUQ0
RkIzRDAwNEMzRTRCIC8qIElEQlN1Y2Nlc3NFdmVudC5jcHAgKi8sCiAJCQkJQzU4NUE2QzMxMUQ0
RkIzRDAwNEMzRTRCIC8qIElEQlN1Y2Nlc3NFdmVudC5oICovLAogCQkJCUM1ODVBNkM0MTFENEZC
M0QwMDRDM0U0QiAvKiBJREJTdWNjZXNzRXZlbnQuaWRsICovLAorCQkJCUI2NTY2MjZEMTIwQjEx
NkIwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UuaCAqLywKKwkJCQlC
NjU2NjI2NzEyMEIxMTVBMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb24uY3BwICovLAorCQkJCUI2
NTY2MjY4MTIwQjExNUEwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbi5oICovLAorCQkJCUI2NTY2
MjY5MTIwQjExNUEwMDZFQTg1QyAvKiBJREJUcmFuc2FjdGlvbi5pZGwgKi8sCiAJCQkJNTExRjIz
MTMwREMxNjBEQTAwNEYwMDMyIC8qIExvY2FsU3RvcmFnZVRhc2suY3BwICovLAogCQkJCTUxMUYy
MzE0MERDMTYwREEwMDRGMDAzMiAvKiBMb2NhbFN0b3JhZ2VUYXNrLmggKi8sCiAJCQkJNTExRjIz
MTUwREMxNjBEQTAwNEYwMDMyIC8qIExvY2FsU3RvcmFnZVRocmVhZC5jcHAgKi8sCkBAIC0xNDg3
OCw2ICsxNDg5Miw4IEBACiAJCQkJQzU4NUE2NzkxMUQ0RkIwNzAwNEMzRTRCIC8qIEpTSURCUmVx
dWVzdC5oICovLAogCQkJCUM1ODVBNjdBMTFENEZCMDcwMDRDM0U0QiAvKiBKU0lEQlN1Y2Nlc3NF
dmVudC5jcHAgKi8sCiAJCQkJQzU4NUE2N0IxMUQ0RkIwNzAwNEMzRTRCIC8qIEpTSURCU3VjY2Vz
c0V2ZW50LmggKi8sCisJCQkJQjY1NjYyNkUxMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNh
Y3Rpb24uaCAqLywKKwkJCQlCNjU2NjI2RjEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2Fj
dGlvbi5jcHAgKi8sCiAJCQkJNTE0Qzc2MzUwQ0U5MjI1RTAwN0VGM0NEIC8qIEpTU1FMRXJyb3Iu
Y3BwICovLAogCQkJCUJDODI0MzI1MEQwQ0U4QTIwMDQ2MEM4RiAvKiBKU1NRTEVycm9yLmggKi8s
CiAJCQkJQjUyNUE5NjQxMUNBMjM0MDAwM0EyM0E4IC8qIEpTU1FMRXhjZXB0aW9uLmNwcCAqLywK
QEAgLTE5OTkwLDYgKzIwMDA2LDggQEAKIAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyog
WFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxNzJFMDExMTM2RThDRTAwNjJBNTMz
IC8qIFpvb21Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M2MUYwMTEyMDk1Qzg3MDA3QTND
NjcgLyogQXRvbWljU3RyaW5nS2V5ZWRNUlVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjY1
NjYyNkIxMjBCMTE1QTAwNkVBODVDIC8qIElEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCNjU2NjI3MDEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CkBAIC0yMjM5NCw2ICsyMjQxMiw4IEBACiAJCQkJOTNGMTlCMDUwODI0NUU1OTAw
MUU5QUJDIC8qIFhTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUx
QkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTdERDREODYwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQjY1NjYyNkExMjBCMTE1QTAwNkVBODVDIC8qIElEQlRyYW5zYWN0aW9u
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUI2NTY2MjcxMTIwQjEyMjcwMDZFQTg1QyAvKiBKU0lE
QlRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDY2MjBjZWM3MWEz
ZTlhMWFhNzU0ZTU1YjMwZmFlMzgzOGJjZmRmZjYuLjFiOTdkNjVhNThiZTM1OTNhMmFjYmJiOGVh
ZjI0YmYzNmJlM2QxZDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysg
Yi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKGNoZWNraW5nKSBcCiAgICAgbWFjcm8oY2xpY2spIFwKICAgICBt
YWNybyhjbG9zZSkgXAorICAgIG1hY3JvKGNvbXBsZXRlKSBcCiAgICAgbWFjcm8oY29tcG9zaXRp
b25lbmQpIFwKICAgICBtYWNybyhjb21wb3NpdGlvbnN0YXJ0KSBcCiAgICAgbWFjcm8oY29tcG9z
aXRpb251cGRhdGUpIFwKQEAgLTE1MCw2ICsxNTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgXAogICAgIG1hY3JvKG9yaWVudGF0aW9uY2hhbmdlKSBcCiAgICAgXAorICAgIG1hY3JvKHRp
bWVvdXQpIFwKKyAgICBcCiAgICAgbWFjcm8odG91Y2hzdGFydCkgXAogICAgIG1hY3JvKHRvdWNo
bW92ZSkgXAogICAgIG1hY3JvKHRvdWNoZW5kKSBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRGF0YWJhc2UuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmNwcAppbmRl
eCBlNGQ0Mzg1MDNlOGJkNmFmZjEwZmJlZmI2Yjk1OThmNTY2NWY3NTk2Li5mYTE4MDdjY2QzNTZh
MTA2MmMyNjdhYjBiNTM0ZjY2NDcwNjcwZmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
SURCRGF0YWJhc2UuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAKQEAg
LTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIgog
I2luY2x1ZGUgIklEQk9iamVjdFN0b3JlLmgiCiAjaW5jbHVkZSAiSURCUmVxdWVzdC5oIgorI2lu
Y2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIgogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCkBAIC02OCw2ICs2OSwxNiBAQCBQ
YXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQkRhdGFiYXNlOjpyZW1vdmVPYmplY3RTdG9yZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjbwogICAgIHJldHVybiByZXF1ZXN0OwogfQogCitQYXNzUmVm
UHRyPElEQlRyYW5zYWN0aW9uPiBJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgRE9NU3RyaW5nTGlzdCogc3RvcmVOYW1lcywgdW5zaWduZWQg
c2hvcnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KQoreworICAgIC8vIFdlIG5lZWQgdG8g
Y3JlYXRlIGEgbmV3IHRyYW5zYWN0aW9uIHN5bmNocm9ub3VzbHkuIExvY2tzIGFyZSBhY3F1aXJl
ZCBhc3luY2hyb25vdXNseS4gT3BlcmF0aW9ucworICAgIC8vIGNhbiBiZSBxdWV1ZWQgYWdhaW5z
dCB0aGUgdHJhbnNhY3Rpb24gYXQgYW55IHBvaW50LiBUaGV5IHdpbGwgc3RhcnQgZXhlY3V0aW5n
IGFzIHNvb24gYXMgdGhlCisgICAgLy8gYXBwcm9wcmlhdGUgbG9ja3MgaGF2ZSBiZWVuIGFjcXVp
cmVkLgorICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0
aW9uQmFja2VuZCA9IG1fYmFja2VuZC0+dHJhbnNhY3Rpb24oc3RvcmVOYW1lcywgbW9kZSwgdGlt
ZW91dCk7CisgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbiA9IElEQlRyYW5z
YWN0aW9uOjpjcmVhdGUoY29udGV4dCwgdHJhbnNhY3Rpb25CYWNrZW5kLnJlbGVhc2UoKSwgdGhp
cyk7CisgICAgcmV0dXJuIHRyYW5zYWN0aW9uLnJlbGVhc2UoKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJE
YXRhYmFzZS5oCmluZGV4IGNjYTIwZTNjZDRkMjg2YjlmMzFiZDQwNWNkZjA1NjBhODI3MjgwYWEu
LjY5MDBlZmQ0NDBkY2NiODE5MjAxOGZlMjRiZjI1MGQ5NjRiMGZlZDcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRh
YmFzZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJET01TdHJpbmdMaXN0LmgiCiAj
aW5jbHVkZSAiSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmgiCisjaW5jbHVkZSAiSURCVHJh
bnNhY3Rpb24uaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsOSArNTcsMTAgQEAg
cHVibGljOgogICAgIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gb2JqZWN0U3RvcmVzKCkgY29u
c3QgeyByZXR1cm4gbV9iYWNrZW5kLT5vYmplY3RTdG9yZXMoKTsgfQogCiAgICAgUGFzc1JlZlB0
cjxJREJSZXF1ZXN0PiBjcmVhdGVPYmplY3RTdG9yZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGggPSBTdHJpbmcoKSwgYm9v
bCBhdXRvSW5jcmVtZW50ID0gZmFsc2UpOwotICAgIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+
IG9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgdW5zaWduZWQgc2hvcnQgbW9kZSA9IDAp
OyAvLyBGSVhNRTogVXNlIGNvbnN0YW50IHJhdGhlciB0aGFuIDAuCisgICAgUGFzc1JlZlB0cjxJ
REJPYmplY3RTdG9yZT4gb2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBz
aG9ydCBtb2RlID0gSURCVHJhbnNhY3Rpb246OlJFQURfT05MWSk7CiAgICAgUGFzc1JlZlB0cjxJ
REJSZXF1ZXN0PiByZW1vdmVPYmplY3RTdG9yZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29u
c3QgU3RyaW5nJiBuYW1lKTsKLQorICAgIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5z
YWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBET01TdHJpbmdMaXN0KiBzdG9yZU5hbWVz
ID0gMCwgdW5zaWduZWQgc2hvcnQgbW9kZSA9IElEQlRyYW5zYWN0aW9uOjpSRUFEX09OTFksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB0
aW1lb3V0ID0gMCk7IC8vIEZJWE1FOiB3aGF0IHNob3VsZCB0aGUgZGVmYXVsdCB0aW1lb3V0IGJl
PwogcHJpdmF0ZToKICAgICBJREJEYXRhYmFzZShQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2Vu
ZEludGVyZmFjZT4pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2Uu
aWRsIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbAppbmRleCBkNzVlZDU1NDRlMTU0
YzYxNzlkNDUwYzVhNmU3YTE5YWQ1NDgzYWVkLi40ZTNmNjIwMGNiNDU5MDU2MDU3M2M3NTRjYWY4
NTk2NzViMDA3ZTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaWRs
CisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5pZGwKQEAgLTMzLDEzICszMywxMyBA
QCBtb2R1bGUgc3RvcmFnZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
dmVyc2lvbjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ0xpc3Qgb2JqZWN0
U3RvcmVzOwogCi0gICAgICAgIC8vIEZJWE1FOiBBZGQgdHJhbnNhY3Rpb24uCiAgICAgICAgIC8v
IEZJWE1FOiBBZGQgc2V0VmVyc2lvbi4KIAogICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0
aW9uQ29udGV4dF0gSURCUmVxdWVzdCBjcmVhdGVPYmplY3RTdG9yZShpbiBET01TdHJpbmcgbmFt
ZSwgaW4gW09wdGlvbmFsLCBDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGtleVBh
dGgsIGluIFtPcHRpb25hbF0gYm9vbGVhbiBhdXRvSW5jcmVtZW50KTsKICAgICAgICAgLy8gRklY
TUU6IG9iamVjdFN0b3JlIG5lZWRzIHRvIGJlIGFibGUgdG8gcmFpc2UgYW4gSURCRGF0YWJhc2VF
eGNlcHRpb24uCiAgICAgICAgIElEQk9iamVjdFN0b3JlIG9iamVjdFN0b3JlKGluIERPTVN0cmlu
ZyBuYW1lLCBpbiBbT3B0aW9uYWxdIHVuc2lnbmVkIHNob3J0IG1vZGUpOwogICAgICAgICBbQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gSURCUmVxdWVzdCByZW1vdmVPYmplY3RTdG9y
ZShpbiBET01TdHJpbmcgbmFtZSk7CisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbiAoaW4gW09wdGlvbmFsXSBET01TdHJp
bmdMaXN0IHN0b3JlTmFtZXMsIGluIFtPcHRpb25hbF0gdW5zaWduZWQgc2hvcnQgbW9kZSwgaW4g
W09wdGlvbmFsXSB1bnNpZ25lZCBsb25nIHRpbWVvdXQpOwogICAgIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcCBiL1dlYkNvcmUv
c3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcAppbmRleCA4NjIyOGJkZTIyNGFjNTk1
MzQ1NGVmZjM1OTI2MzI4ODEyMWYwYTg1Li4wOWI5ZGVlNjE1YjUyNmNkZGVmZmZmOGE3MjVjNzdm
ODBhMWFkNTZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5k
SW1wbC5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3Bw
CkBAIC04Myw2ICs4MywxMyBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJlbW92ZU9i
amVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJRAogICAgIGNhbGxiYWNr
cy0+b25TdWNjZXNzKCk7CiB9CiAKK1Bhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlPiBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjp0cmFuc2FjdGlvbihET01TdHJpbmdMaXN0
KiwgdW5zaWduZWQgc2hvcnQsIHVuc2lnbmVkIGxvbmcpCit7CisgICAgLy8gRklYTUU6IEFzayB0
aGUgdHJhbnNhY3Rpb24gbWFuYWdlciBmb3IgYSBuZXcgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1w
bC4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oIGIvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAppbmRleCA4N2UwNzBhMTIzMjRm
YWJiNGUzMzVjN2Y4MjljZDU3ZDlmYWU2M2Q3Li5mNmZmMDU4N2Y5MTAyYTlmMDAwOWNmYzU3NTVj
NmRkMzBlNjlhMWE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNr
ZW5kSW1wbC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgK
QEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVPYmplY3RT
dG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgYm9vbCBhdXRv
SW5jcmVtZW50LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwogICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IG9iamVjdFN0b3JlKGNvbnN0IFN0
cmluZyYgbmFtZSwgdW5zaWduZWQgc2hvcnQgbW9kZSk7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92
ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
KTsKLQorICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2U+IHRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3QqIHN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0
IG1vZGUsIHVuc2lnbmVkIGxvbmcgdGltZW91dCk7CiBwcml2YXRlOgogICAgIElEQkRhdGFiYXNl
QmFja2VuZEltcGwoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9u
LCBjb25zdCBTdHJpbmcmIHZlcnNpb24pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2Uv
SURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJh
c2VCYWNrZW5kSW50ZXJmYWNlLmgKaW5kZXggYzJiMDhmMTQ2NDUxZGNmNWU4YWYwZWQ2OWQ3YjVk
ODY3NTk2Y2MyOC4uYWMxMmJmMTNjODhiZTNkNmY3OTY4M2RjN2E1MzJlMmU1MmIyZjEzMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaApAQCAtMzgs
NiArMzgsNyBAQCBjbGFzcyBET01TdHJpbmdMaXN0OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBJREJD
YWxsYmFja3M7CiBjbGFzcyBJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U7CitjbGFzcyBJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U7CiAKIC8vIFRoaXMgY2xhc3MgaXMgc2hhcmVk
IGJ5IElEQkRhdGFiYXNlIChhc3luYykgYW5kIElEQkRhdGFiYXNlU3luYyAoc3luYykuCiAvLyBU
aGlzIGlzIGltcGxlbWVudGVkIGJ5IElEQkRhdGFiYXNlQmFja2VuZEltcGwgYW5kIG9wdGlvbmFs
bHkgb3RoZXJzIChpbiBvcmRlciB0byBwcm94eQpAQCAtNTcsNiArNTgsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIGF1dG9JbmNyZW1lbnQsIFBhc3NSZWZQdHI8SURCQ2Fs
bGJhY2tzPikgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tl
bmRJbnRlcmZhY2U+IG9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgdW5zaWduZWQgc2hv
cnQgbW9kZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVPYmplY3RTdG9yZShjb25zdCBT
dHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPikgPSAwOworICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKERP
TVN0cmluZ0xpc3QqIHN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2lnbmVkIGxv
bmcgdGltZW91dCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlJlcXVlc3QuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlJl
cXVlc3QuY3BwCmluZGV4IGMyOWZjNWI0MGQzMjAwOGJiODZmYjlhZjBjMGMyYzU0NDJmZmZkNTQu
LmU5MDJkMjBiYjg0ZDZlZGE5OGY0NjIxNDAwYzNmMjQ5MTFkNmYyN2YgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCUmVx
dWVzdC5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAgSURCUmVxdWVzdDo6SURCUmVxdWVzdChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQkFueT4gc291cmMKICAgICAs
IG1fc291cmNlKHNvdXJjZSkKICAgICAsIG1fcmVzdWx0KElEQkFueTo6Y3JlYXRlKCkpCiAgICAg
LCBtX3RpbWVyKHRoaXMsICZJREJSZXF1ZXN0Ojp0aW1lckZpcmVkKQotICAgICwgbV9zdG9wcGVk
KGZhbHNlKQogICAgICwgbV9hYm9ydGVkKGZhbHNlKQogICAgICwgbV9yZWFkeVN0YXRlKElOSVRJ
QUwpCiB7CkBAIC0xMTUsMjQgKzExNCwxMSBAQCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBJREJS
ZXF1ZXN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKICAgICByZXR1cm4gQWN0aXZl
RE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiB9CiAKLXZvaWQgSURCUmVxdWVz
dDo6c3RvcCgpCitib29sIElEQlJlcXVlc3Q6OmNhblN1c3BlbmQoKSBjb25zdAogewotICAgIGFi
b3J0KCk7Ci0gICAgbV9zZWxmUmVmID0gMDsgLy8gQ291bGQgdHJpZ2dlciBhIGRlbGV0ZS4KLX0K
LQotdm9pZCBJREJSZXF1ZXN0OjpzdXNwZW5kKCkKLXsKLSAgICBtX3RpbWVyLnN0b3AoKTsKLSAg
ICBtX3N0b3BwZWQgPSB0cnVlOwotfQotCi12b2lkIElEQlJlcXVlc3Q6OnJlc3VtZSgpCi17Ci0g
ICAgbV9zdG9wcGVkID0gZmFsc2U7Ci0gICAgLy8gV2Ugb25seSBob2xkIG91ciBzZWxmIHJlZiB3
aGVuIHdlJ3JlIHdhaXRpbmcgdG8gZGlzcGF0Y2ggYW4gZXZlbnQuCi0gICAgaWYgKG1fc2VsZlJl
ZiAmJiAhbV9hYm9ydGVkKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAv
LyBJREJUcmFuc2FjdGlvbnMgY2Fubm90IGJlIHN1c3BlbmRlZCBhdCB0aGUgbW9tZW50LiBXZSB0
aGVyZWZvcmUKKyAgICAvLyBkaXNhbGxvdyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlIGZvciBwYWdl
cyB0aGF0IHVzZSBJbmRleGVkRGF0YWJhc2UuCisgICAgcmV0dXJuIGZhbHNlOwogfQogCiBFdmVu
dFRhcmdldERhdGEqIElEQlJlcXVlc3Q6OmV2ZW50VGFyZ2V0RGF0YSgpCkBAIC0xNDksNyArMTM1
LDYgQEAgdm9pZCBJREJSZXF1ZXN0Ojp0aW1lckZpcmVkKFRpbWVyPElEQlJlcXVlc3Q+KikKIHsK
ICAgICBBU1NFUlQobV9yZWFkeVN0YXRlID09IERPTkUpOwogICAgIEFTU0VSVChtX3NlbGZSZWYp
OwotICAgIEFTU0VSVCghbV9zdG9wcGVkKTsKICAgICBBU1NFUlQoIW1fYWJvcnRlZCk7CiAKICAg
ICAvLyBXZSBuZWVkIHRvIGtlZXAgc2VsZi1yZWZlcmVuY2luZyBvdXJzZWxmLCBvdGhlcndpc2Ug
aXQncyBwb3NzaWJsZSB3ZSdsbCBiZSBkZWxldGVkLgpAQCAtMTc5LDggKzE2NCw3IEBAIHZvaWQg
SURCUmVxdWVzdDo6b25FdmVudENvbW1vbigpCiAKICAgICBtX3JlYWR5U3RhdGUgPSBET05FOwog
ICAgIG1fc2VsZlJlZiA9IHRoaXM7Ci0gICAgaWYgKCFtX3N0b3BwZWQpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCUmVx
dWVzdC5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlJlcXVlc3QuaAppbmRleCBkMzhkYTU3N2M2Mjc1
YWU3MzMwYmQ0YWJkMmE1M2Y1MTUwMTZiNjg0Li5kNzUzMWMyZjY2ZWFhMTNhOWY1ZjExNTAwODQy
NTY2OWU2ZGU1MGM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5oCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9JREJSZXF1ZXN0LmgKQEAgLTczLDkgKzczLDcgQEAgcHVibGlj
OgogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0CiAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lk
IHN0b3AoKTsKLSAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZCgpOwotICAgIHZpcnR1YWwgdm9pZCBy
ZXN1bWUoKTsKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU3VzcGVuZCgpIGNvbnN0OwogCiAgICAgdXNp
bmcgUmVmQ291bnRlZDxJREJDYWxsYmFja3M+OjpyZWY7CiAgICAgdXNpbmcgUmVmQ291bnRlZDxJ
REJDYWxsYmFja3M+OjpkZXJlZjsKQEAgLTEwMSw3ICs5OSw2IEBAIHByaXZhdGU6CiAgICAgVGlt
ZXI8SURCUmVxdWVzdD4gbV90aW1lcjsKICAgICBSZWZQdHI8SURCUmVxdWVzdD4gbV9zZWxmUmVm
OyAvLyBUaGlzIGlzIHNldCB0byB1cyBpZmYgdGhlcmUncyBhbiBldmVudCBwZW5kaW5nLgogCi0g
ICAgYm9vbCBtX3N0b3BwZWQ7CiAgICAgYm9vbCBtX2Fib3J0ZWQ7CiAgICAgUmVhZHlTdGF0ZSBt
X3JlYWR5U3RhdGU7CiAgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcCBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJUcmFuc2FjdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZlYTYzZDcxZmYxYmIwNjBkMTA5
NTYwZDI2NzczMjBlYWIyZDNlNgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9J
REJUcmFuc2FjdGlvbi5jcHAKQEAgLTAsMCArMSw3MiBAQAorI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFT
RSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRXZlbnRFeGNlcHRpb24uaCIKKyNp
bmNsdWRlICJJREJEYXRhYmFzZS5oIgorI2luY2x1ZGUgIklEQk9iamVjdFN0b3JlLmgiCisjaW5j
bHVkZSAiSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmgiCisjaW5jbHVkZSAiU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0lEQlRyYW5zYWN0
aW9uOjpJREJUcmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNz
UmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gYmFja2VuZCwgSURCRGF0YWJh
c2UqIGRiKQorICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCisgICAgLCBtX2Jh
Y2tlbmQoYmFja2VuZCkKKyAgICAsIG1fZGF0YWJhc2UoZGIpCit7Cit9CisKK0lEQlRyYW5zYWN0
aW9uOjp+SURCVHJhbnNhY3Rpb24oKQoreworfQorCit1bnNpZ25lZCBzaG9ydCBJREJUcmFuc2Fj
dGlvbjo6bW9kZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIElEQlRyYW5zYWN0aW9uOjpSRUFEX09O
TFk7Cit9CisKK0lEQkRhdGFiYXNlKiBJREJUcmFuc2FjdGlvbjo6ZGIoKQoreworICAgIHJldHVy
biBtX2RhdGFiYXNlLmdldCgpOworfQorCitQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlPiBJREJU
cmFuc2FjdGlvbjo6b2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBFeGNlcHRp
b25Db2RlJikKK3sKKyAgICBSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBv
YmplY3RTdG9yZUJhY2tlbmQgPSBtX2JhY2tlbmQtPm9iamVjdFN0b3JlKG5hbWUpOworICAgIFJl
ZlB0cjxJREJPYmplY3RTdG9yZT4gb2JqZWN0U3RvcmUgPSBJREJPYmplY3RTdG9yZTo6Y3JlYXRl
KG9iamVjdFN0b3JlQmFja2VuZCk7CisgICAgcmV0dXJuIG9iamVjdFN0b3JlLnJlbGVhc2UoKTsK
K30KKwordm9pZCBJREJUcmFuc2FjdGlvbjo6YWJvcnQoKQoreworICAgIG1fYmFja2VuZC0+YWJv
cnQoKTsKK30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogSURCVHJhbnNhY3Rpb246OnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAoreworICAgIHJldHVybiBBY3RpdmVET01PYmplY3Q6
OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKK30KKworYm9vbCBJREJUcmFuc2FjdGlvbjo6Y2Fu
U3VzcGVuZCgpIGNvbnN0Cit7CisgICAgLy8gV2UgbWF5IGJlIGluIHRoZSBtaWRkbGUgb2YgYSB0
cmFuc2FjdGlvbiBzbyB3ZSBjYW5ub3Qgc3VzcGVuZCBvdXIgb2JqZWN0LgorICAgIC8vIEluc3Rl
YWQsIHdlIHNpbXBseSBkb24ndCBhbGxvdyB0aGUgb3duZXIgcGFnZSB0byBnbyBpbnRvIHRoZSBi
YWNrL2ZvcndhcmQgY2FjaGUuCisgICAgcmV0dXJuIGZhbHNlOworfQorCitFdmVudFRhcmdldERh
dGEqIElEQlRyYW5zYWN0aW9uOjpldmVudFRhcmdldERhdGEoKQoreworICAgIHJldHVybiAmbV9l
dmVudFRhcmdldERhdGE7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSogSURCVHJhbnNhY3Rpb246OmVu
c3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsK
K30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJU
cmFuc2FjdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlMzE2N2M2ODM4ZDdmMDcxYmUwZmRkMmJiYTA1MTgx
NWI2MGMyNjYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rp
b24uaApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJREJUcmFuc2FjdGlvbl9oCisj
ZGVmaW5lIElEQlRyYW5zYWN0aW9uX2gKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQor
CisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5o
IgorI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisj
aW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJREJEYXRhYmFzZTsK
K2NsYXNzIElEQk9iamVjdFN0b3JlOworCitjbGFzcyBJREJUcmFuc2FjdGlvbiA6IHB1YmxpYyBF
dmVudFRhcmdldCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gYmFj
a2VuZCwgSURCRGF0YWJhc2UqIGRiKQorICAgIHsgCisgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgSURCVHJhbnNhY3Rpb24oY29udGV4dCwgYmFja2VuZCwgZGIpKTsgCisgICAgfQorICAgIHZp
cnR1YWwgfklEQlRyYW5zYWN0aW9uKCk7CisKKyAgICBlbnVtIE1vZGUgeworICAgICAgICBSRUFE
X1dSSVRFID0gMCwKKyAgICAgICAgUkVBRF9PTkxZID0gMSwKKyAgICAgICAgU05BUFNIT1RfUkVB
RCA9IDIKKyAgICB9OworCisgICAgdW5zaWduZWQgc2hvcnQgbW9kZSgpIGNvbnN0OworICAgIElE
QkRhdGFiYXNlKiBkYigpOworICAgIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IG9iamVjdFN0
b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQg
YWJvcnQoKTsKKworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWJvcnQpOwor
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29tcGxldGUpOworICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodGltZW91dCk7CisKKyAgICAvLyBFdmVudFRhcmdl
dAorICAgIHZpcnR1YWwgSURCVHJhbnNhY3Rpb24qIHRvSURCVHJhbnNhY3Rpb24oKSB7IHJldHVy
biB0aGlzOyB9CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICB2aXJ0dWFsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIGJvb2wgY2FuU3VzcGVuZCgpIGNvbnN0OworCitwcml2YXRlOgorICAgIElEQlRyYW5zYWN0
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZT4sIElEQkRhdGFiYXNlKik7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAg
IHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIHsgcmVmKCk7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgZGVyZWZFdmVudFRhcmdldCgpIHsgZGVyZWYoKTsgfQorICAgIHZpcnR1YWwgRXZlbnRUYXJn
ZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSog
ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCk7CisKKyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRh
cmdldERhdGE7CisgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gbV9i
YWNrZW5kOworICAgIFJlZlB0cjxJREJEYXRhYmFzZT4gbV9kYXRhYmFzZTsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQor
CisjZW5kaWYgLy8gSURCVHJhbnNhY3Rpb25faApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdl
L0lEQlRyYW5zYWN0aW9uLmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTM5MDdkYzg0ZDQzMmI2YzcwODRiM2MyMjRiM2VhNTIyMzQ4MDU2NQotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGwKQEAgLTAs
MCArMSw1NyBAQAorIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisKKyAgICBpbnRlcmZhY2UgWwor
ICAgICAgICBDb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFLAorICAgICAgICBFdmVudFRhcmdl
dAorICAgIF0gSURCVHJhbnNhY3Rpb24geworICAgICAgICAvLyBNb2RlcworICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBSRUFEX1dSSVRFID0gMDsKKyAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgUkVBRF9PTkxZID0gMTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU05BUFNI
T1RfUkVBRCA9IDI7CisgICAgICAgIC8vIFByb3BlcnRpZXMKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIHNob3J0IG1vZGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBJ
REJEYXRhYmFzZSBkYjsKKyAgICAgICAgLy8gTWV0aG9kcworICAgICAgICBJREJPYmplY3RTdG9y
ZSBvYmplY3RTdG9yZSAoaW4gRE9NU3RyaW5nIG5hbWUpCisgICAgICAgICAgICByYWlzZXMgKElE
QkRhdGFiYXNlRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCBhYm9ydCAoKTsKKyAgICAgICAgLy8g
RXZlbnRzCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYWJvcnQ7CisgICAgICAg
IGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uY29tcGxldGU7CisgICAgICAgIGF0dHJpYnV0ZSBF
dmVudExpc3RlbmVyIG9udGltZW91dDsKKyAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNl
CisgICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAg
ICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiB1c2VDYXB0dXJlKTsKKyAgICAg
ICAgYm9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2dCkgCisgICAgICAgICAgICByYWlz
ZXMoRXZlbnRFeGNlcHRpb24pOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTQwZmQyMmUyZTdmZTYw
NGMwZjY5Nzc3MzNkYTZiMTIxOGRhZTA5ZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UuaApAQCAtMCwwICsxLDYxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
KyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2VfaAorI2RlZmluZSBJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2VfaAorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29k
ZS5oIgorI2luY2x1ZGUgIklEQkNhbGxiYWNrcy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZTsKK2NsYXNz
IFNRTGl0ZURhdGFiYXNlOworCisvLyBUaGlzIGNsYXNzIGlzIHNoYXJlZCBieSBJREJUcmFuc2Fj
dGlvbiAoYXN5bmMpIGFuZCBJREJUcmFuc2FjdGlvblN5bmMgKHN5bmMpLgorLy8gVGhpcyBpcyBp
bXBsZW1lbnRlZCBieSBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsIGFuZCBvcHRpb25hbGx5IG90
aGVycyAoaW4gb3JkZXIgdG8gcHJveHkKKy8vIGNhbGxzIGFjcm9zcyBwcm9jZXNzIGJhcnJpZXJz
KS4gQWxsIGNhbGxzIHRvIHRoZXNlIGNsYXNzZXMgc2hvdWxkIGJlIG5vbi1ibG9ja2luZyBhbmQK
Ky8vIHRyaWdnZXIgd29yayBvbiBhIGJhY2tncm91bmQgdGhyZWFkIGlmIG5lY2Vzc2FyeS4KK2Ns
YXNzIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSA6IHB1YmxpYyBUaHJlYWRTYWZlU2hh
cmVkPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4geworcHVibGljOgorICAgIHZpcnR1
YWwgfklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSgpIHsgfQorCisgICAgdmlydHVhbCBQ
YXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4gb2JqZWN0U3RvcmUoY29u
c3QgU3RyaW5nJiBuYW1lKSA9IDA7IAorICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZVRhc2soUGFz
c093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPikgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBhYm9ydCgpID0gMDsKKyAgICB2aXJ0dWFsIFNRTGl0ZURhdGFiYXNlKiBzcWxpdGVEYXRh
YmFzZSgpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisKKyNl
bmRpZiAvLyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2VfaAorCmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCAwMjYyMGVjNTI0MzY1NWQyMGJhNGZkYTM0OWU5YWZiYTUzN2ZiYjU0Li5mMGM3Yjc4M2FiMDJj
ODM5ZTc3OWI2MGVhNTMxMjZlYTg4MDQwMjkxIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAxMC0wOC0wNSAgQW5kcmVpIFBvcGVzY3UgIDxhbmRyZWlwQGRoY3AtMTcyLTE2LTE0LTEy
Lmxvbi5jb3JwLmdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW0luZGV4ZWREQl0gSW5kZXhlZERCIGlzIG1pc3NpbmcgdGhlIFRyYW5z
YWN0aW9uIGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQyOTcwCisKKyAgICAgICAgQWRkIElEQlRyYW5zYWN0aW9uIGJvaWxlcnBsYXRl
LgorCisgICAgICAgICogc3JjL0lEQkRhdGFiYXNlUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCRGF0YWJhc2VQcm94eTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAqIHNyYy9JREJEYXRh
YmFzZVByb3h5Lmg6CisKIDIwMTAtMDgtMDUgIEpvaG4gR3JlZ2cgIDxqb2hubnlnQGdvb2dsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvSURCRGF0YWJhc2VQcm94eS5jcHAKaW5kZXggZjk5NWIzY2UyNmU5ZDhhODE4ZmZkMzdhYTVl
MWJkNjIyNzZhYmU5YS4uZDExZDE4MmE2Y2ZiMDkwNDdjMmRkNWE0OTExMjc3YzZlZGE5NGQwYiAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmNwcAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJveHkuY3BwCkBAIC0yOSw2ICsyOSw3
IEBACiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIklEQkNhbGxiYWNrcy5o
IgogI2luY2x1ZGUgIklEQk9iamVjdFN0b3JlUHJveHkuaCIKKyNpbmNsdWRlICJJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbnRlcmZhY2UuaCIKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIKICNpbmNs
dWRlICJXZWJJREJDYWxsYmFja3NJbXBsLmgiCiAjaW5jbHVkZSAiV2ViSURCRGF0YWJhc2UuaCIK
QEAgLTkxLDYgKzkyLDEzIEBAIHZvaWQgSURCRGF0YWJhc2VQcm94eTo6cmVtb3ZlT2JqZWN0U3Rv
cmUoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPElEQkNhbGxiCiAgICAgbV93ZWJJREJE
YXRhYmFzZS0+cmVtb3ZlT2JqZWN0U3RvcmUobmFtZSwgbmV3IFdlYklEQkNhbGxiYWNrc0ltcGwo
Y2FsbGJhY2tzKSk7CiB9CiAKK1Bhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlPiBJREJEYXRhYmFzZVByb3h5Ojp0cmFuc2FjdGlvbihET01TdHJpbmdMaXN0KiBzdG9yZU5h
bWVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQpCit7CisgICAg
Ly8gRklYTUU6IHBsdW1iIHRvIHRoZSBicm93c2VyIHByb2Nlc3MsIGV0YyBldGMuCisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmggYi9XZWJLaXQvY2hyb21pdW0v
c3JjL0lEQkRhdGFiYXNlUHJveHkuaAppbmRleCAwMzMxMWYyOWNhOTZhYTJlMTMwMzMxMjY4Y2Y0
ZWNmNTM3Nzg4NWQ5Li5lZDIwMTZhNTc5NDM2MjcwMmUyYmQwNTk1NzBhZDA3ZmI4MzcxNmE3IDEw
MDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJveHkuaAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJveHkuaApAQCAtNTIsNiArNTIsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIGF1dG9JbmNyZW1lbnQsIFBhc3NSZWZQ
dHI8SURCQ2FsbGJhY2tzPik7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3Jl
QmFja2VuZEludGVyZmFjZT4gb2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25l
ZCBzaG9ydCBtb2RlKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlT2JqZWN0U3RvcmUoY29uc3Qg
U3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOworICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKERPTVN0
cmluZ0xpc3QqIHN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2lnbmVkIGxvbmcg
dGltZW91dCk7CiAKIHByaXZhdGU6CiAgICAgSURCRGF0YWJhc2VQcm94eShQYXNzT3duUHRyPFdl
YktpdDo6V2ViSURCRGF0YWJhc2U+KTsK
</data>
<flag name="review"
          id="51992"
          type_id="1"
          status="+"
          setter="jorlow"
    />
          </attachment>
      

    </bug>

</bugzilla>