<?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>80922</bug_id>
          
          <creation_ts>2012-03-12 18:28:50 -0700</creation_ts>
          <short_desc>Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS</short_desc>
          <delta_ts>2012-03-14 16:41:37 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>80472</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>abarth</cc>
    
    <cc>eoconnor</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>mike</cc>
    
    <cc>mjs</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>576862</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-12 18:28:50 -0700</bug_when>
    <thetext>The future of notifications includes establishing a new JS API that is still under discussion within the web notifications wg. Ports who wish to support the legacy API must enable both NOTIFICATIONS and LEGACY_NOTIFICATIONS, but also end up including the new API. We should remove the dependency, so that ports can migrate when they choose.

The idea is to change ENABLE(NOTIFICATIONS) to ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS). Ports that wish to only support the legacy API should remove ENABLE(NOTIFICATIONS) from their feature defines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576864</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-03-12 18:29:09 -0700</bug_when>
    <thetext>&lt;rdar://problem/11035082&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577875</commentid>
    <comment_count>2</comment_count>
      <attachid>131724</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-13 15:20:20 -0700</bug_when>
    <thetext>Created attachment 131724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577878</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-13 15:22:30 -0700</bug_when>
    <thetext>Also, with this patch, the generated files look like such:

In EventTargetFactory.in, this line:
Notification conditional=NOTIFICATIONS|LEGACY_NOTIFICATIONS

generates in EventTargetHeaders.h:

#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
#include &quot;Notification.h&quot;
#if USE(JSC)
#include &quot;JSNotification.h&quot;
#elif USE(V8)
#include &quot;V8Notification.h&quot;
#endif

and in EventTargetInterfaces.h:

#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
#define DOM_EVENT_TARGET_INTERFACES_FOR_EACH_NOTIFICATIONS(macro) \
    macro(Notification) \
// End of DOM_EVENT_TARGET_INTERFACES_FOR_EACH_NOTIFICATIONS
#else
#define DOM_EVENT_TARGET_INTERFACES_FOR_EACH_NOTIFICATIONS(macro)
#endif
...
#define DOM_EVENT_TARGET_INTERFACES_FOR_EACH(macro) \
...
    DOM_EVENT_TARGET_INTERFACES_FOR_EACH_NOTIFICATIONS(macro) \
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577960</commentid>
    <comment_count>4</comment_count>
      <attachid>131744</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-13 16:17:06 -0700</bug_when>
    <thetext>Created attachment 131744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577966</commentid>
    <comment_count>5</comment_count>
      <attachid>131745</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-13 16:24:39 -0700</bug_when>
    <thetext>Created attachment 131745
Patch rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577986</commentid>
    <comment_count>6</comment_count>
      <attachid>131745</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-13 16:40:14 -0700</bug_when>
    <thetext>Comment on attachment 131745
Patch rebase

Attachment 131745 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11944876</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578196</commentid>
    <comment_count>7</comment_count>
      <attachid>131795</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-14 00:03:01 -0700</bug_when>
    <thetext>Created attachment 131795
Same patch again, to go through mac ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578884</commentid>
    <comment_count>8</comment_count>
      <attachid>131795</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2012-03-14 16:00:33 -0700</bug_when>
    <thetext>Comment on attachment 131795
Same patch again, to go through mac ews

View in context: https://bugs.webkit.org/attachment.cgi?id=131795&amp;action=review

&gt; Source/WebCore/bindings/scripts/InFilesCompiler.pm:174
&gt; +    my @conditionals = split(&apos;\\|&apos;, $conditional);

It seems that we only handle &apos;|&apos;, not &apos;&amp;&apos; here. But since handling of &apos;&amp;&apos; is not required for this patch, you should consider it in another patch or ask Adam to enhance it.

&gt; Source/WebCore/bindings/scripts/InFilesCompiler.pm:224
&gt; +

Remove empty line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578925</commentid>
    <comment_count>9</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-14 16:38:54 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 131795 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131795&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/InFilesCompiler.pm:174
&gt; &gt; +    my @conditionals = split(&apos;\\|&apos;, $conditional);
&gt; 
&gt; It seems that we only handle &apos;|&apos;, not &apos;&amp;&apos; here. But since handling of &apos;&amp;&apos; is not required for this patch, you should consider it in another patch or ask Adam to enhance it.
Bug 81169

&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/InFilesCompiler.pm:224
&gt; &gt; +
&gt; 
&gt; Remove empty line.
Done.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578926</commentid>
    <comment_count>10</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-14 16:41:37 -0700</bug_when>
    <thetext>Committed r110784: &lt;http://trac.webkit.org/changeset/110784&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131724</attachid>
            <date>2012-03-13 15:20:20 -0700</date>
            <delta_ts>2012-03-13 16:17:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80922-20120313152137.patch</filename>
            <type>text/plain</type>
            <size>55021</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmRlMDI5MzBhYTcxYzVk
YTQxMjJlOTY5Mzc1M2NmODczZTkzOTBmNi4uMDBmMTA5MzBjYzBhYmE4YWFiOWZkNmFiNmY0Yzdm
NDczNzlhYzEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEyLTAzLTEzICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBOT1RJRklDQVRJT05T
IGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExMDM1MDgy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFlvdSBj
YW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBh
bmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05PVElGSUNBVElPTlMgc2hv
dWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0eSwgYW5kIE5PVElGSUNB
VElPTlMgd2lsbCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhlcmVmb3JlLCBBUElzIHRo
YXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgorICAgICAgICAjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKworICAg
ICAgICBUaGlzIHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUgZXhhY3RseSB0aGUgc2Ft
ZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWlncmF0ZSB0bworICAgICAg
ICB0aGUgbmV3IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBzcGxpdC4gVGhpcyBhbGxv
d3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGluY2x1ZGUuCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbTogVXBkYXRlIHRoZSBzY3Jp
cHQgdG8gaGFuZGxlIHRoZSAifCIgZmxhZyBpbiBhIGNvbmRpdGlvbmFsLgorICAgICAgICAocHJl
ZmVycmVkQ29uZGl0aW9uYWwpOgorICAgICAgICAoY29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmli
dXRlVmFsdWUpOgorICAgICAgICAoZ2VuZXJhdGVJbnRlcmZhY2VzSGVhZGVyKToKKyAgICAgICAg
KGdlbmVyYXRlSGVhZGVyc0hlYWRlcik6CisKKyAgICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8g
YmUgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
ZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0
RmFjdG9yeS5pbjoKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHA6Cisg
ICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaDoKKyAgICAgICAgKiBub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5pZGw6CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuY3BwOgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmg6CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsOgor
ICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaDoKKyAgICAgICAg
KiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIG5v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvRE9N
V2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6fkRPTVdpbmRvdyk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OndpbGxEZXRhY2hQYWdlKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvdzo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
cGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKERPTVdpbmRvdyk6CisgICAgICAgICogcGFnZS9E
T01XaW5kb3cuaWRsOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWU6OndpbGxEZXRhY2hQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjp0cmFu
c2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNv
bnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6fldvcmtlckNvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0
Lmg6CisgICAgICAgIChXb3JrZXJDb250ZXh0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNv
bnRleHQuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlclRocmVhZDo6V29ya2VyVGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlclRocmVhZC5oOgorICAgICAgICAoV29ya2VyVGhyZWFkKToKKwogMjAxMi0wMy0xMyAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
TWFyayByb290IGxheWVyIHNjcm9sbGJhcnMgYXMgYWx3YXlzIG9wYXF1ZSB0byBkaXNhYmxlIGJs
ZW5kaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjVlNGNkNjA3NDI2ZjhkODEzMmY1MzM3NTBhMmY5
MTZlNWYwNGJhNS4uYjgzYWM5ZTZiZTVhMmIwZDVhZDI5Nzk3MGY5YWI5YWEwZDMyNWE5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTAzLTEzICBKb24gTGVlICA8am9u
bGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBOT1RJRklDQVRJT05TIGFuZCBMRUdB
Q1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExMDM1MDgyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFlvdSBjYW4gaW5jbHVk
ZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBhbmQgaGF2ZSBh
IGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05PVElGSUNBVElPTlMgc2hvdWxkIGNvdmVy
IGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0eSwgYW5kIE5PVElGSUNBVElPTlMgd2ls
bCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhlcmVmb3JlLCBBUElzIHRoYXQgYXJlIGNv
bW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgorICAgICAgICAjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKworICAgICAgICBUaGlz
IHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUgZXhhY3RseSB0aGUgc2FtZS4gQXMgb3Ro
ZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWlncmF0ZSB0bworICAgICAgICB0aGUgbmV3
IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBzcGxpdC4gVGhpcyBhbGxvd3MgcG9ydHMg
dG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGluY2x1ZGUuCisKKyAgICAgICAgVXBkYXRl
IGV2ZXJ5dGhpbmcgdG8gYmUgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xp
ZW50Lm1tOgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpzaG93KToKKyAgICAgICAg
KFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsKToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlv
bkNsaWVudDo6Y2xlYXJOb3RpZmljYXRpb25zKToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNs
aWVudDo6bm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKToKKyAgICAgICAgKFdlYk5vdGlmaWNh
dGlvbkNsaWVudDo6bm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCk6CisgICAgICAgIChX
ZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKToKKyAgICAgICAgKFdlYk5v
dGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKToKKyAgICAgICAgKiBXZWJWaWV3L1dl
Yk5vdGlmaWNhdGlvbi5tbToKKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uIHRpdGxlXSk6Cisg
ICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiBib2R5XSk6CisgICAgICAgICgtW1dlYk5vdGlmaWNh
dGlvbiByZXBsYWNlSURdKToKKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uIG9yaWdpbl0pOgor
ICAgICAgICAoLVtXZWJOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uSURdKToKKyAgICAgICAgKC1b
V2ViTm90aWZpY2F0aW9uIGRpc3BhdGNoU2hvd0V2ZW50XSk6CisgICAgICAgICgtW1dlYk5vdGlm
aWNhdGlvbiBkaXNwYXRjaENsb3NlRXZlbnRdKToKKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9u
IGRpc3BhdGNoQ2xpY2tFdmVudF0pOgorICAgICAgICAoLVtXZWJOb3RpZmljYXRpb24gZGlzcGF0
Y2hFcnJvckV2ZW50XSk6CisgICAgICAgICogV2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5h
bC5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBf
Y29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAxMi0w
My0xMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPiAmJiBCZW5qYW1pbiBQb3VsYWlu
ICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxFKENM
SUVOVF9CQVNFRF9HRU9MT0NBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4MGQ5ZDEzNWFmYmEyMTNhMzA0
NmZhNTcxYTIwY2U1NTY0ZTJmZmRjLi41YmEwZDBmOWYzZjYwNGIwYTJhNDcwOTU3NzA0YzY4N2Yz
MjI1ZWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjEgQEAKKzIwMTItMDMtMTMgIEpvbiBMZWUg
IDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5k
IExFR0FDWV9OT1RJRklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzUwODI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgWW91IGNhbiBp
bmNsdWRlIGVpdGhlciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJT05TIGFuZCBo
YXZlIGEgY29tcGxldGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBzaG91bGQg
Y292ZXIgYWxsIG9mIHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9USUZJQ0FUSU9O
UyB3aWxsIGNvdmVyIHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQSXMgdGhhdCBh
cmUgY29tbW9uIGJldHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorCisgICAgICAg
IFRoaXMgcGF0Y2ggaW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRoZSBzYW1lLiBB
cyBvdGhlciBidWdzIHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisgICAgICAgIHRo
ZSBuZXcgQVBJLCB0aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlzIGFsbG93cyBw
b3J0cyB0byBkZWNpZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKworICAgICAgICBV
cGRhdGUgZXZlcnl0aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29u
dGV4dDo6ZW5zdXJlV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHA6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI6OnN0YXJ0UmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2VsUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6Ok5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6cGVybWlzc2lvbkxldmVsKToKKyAg
ICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRS
ZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjppbml0aWFs
aXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkVXBkYXRl
Tm90aWZpY2F0aW9uRGVjaXNpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25N
YW5hZ2VyOjpkaWRSZW1vdmVOb3RpZmljYXRpb25EZWNpc2lvbnMpOgorICAgICAgICAoV2ViS2l0
OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpwb2xpY3lGb3JPcmlnaW4pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpzaG93KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Tm90aWZpY2F0aW9uTWFuYWdlcjo6Y2FuY2VsKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6Y2xlYXJOb3RpZmljYXRpb25zKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Tm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkRGVzdHJveU5vdGlmaWNhdGlvbik6CisgICAgICAgIChX
ZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFNob3dOb3RpZmljYXRpb24pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbGlja05vdGlmaWNhdGlv
bik6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsb3NlTm90
aWZpY2F0aW9ucyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlm
aWNhdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNw
cDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNs
aWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMTItMDMtMTMgIEFkYW0gQmFydGgg
IDxhYmFydGhAd2Via2l0Lm9yZz4gJiYgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9D
QVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDgyZTBlZTM4ZGRjZDNhZTY0NGMyZDVmNTI5
OWVkMGIzMzViZmMxZGEuLjUzZmY2Mzg0ODlmYmY5MzhiNDZjMGYyNzNiYTY4NmYyODQ0MTQ5ZDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMTE4LDcgKzIxMTgsNyBAQCBfX1pOSzdXZWJDb3Jl
N0ludFNpemVjdjdfTlNTaXplRXYKIF93a0NyZWF0ZVZNUHJlc3N1cmVEaXNwYXRjaE9uTWFpblF1
ZXVlCiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiBfX1pON1dlYkNvcmUx
Mk5vdGlmaWNhdGlvbkMxRXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uRDFFdgogX19aTjdX
ZWJDb3JlMTJOb3RpZmljYXRpb24xN2Rpc3BhdGNoU2hvd0V2ZW50RXYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3Rv
bS5jcHAKaW5kZXggMTZhOTYyYzU2MjlhMzU5ZDVkYzdjZThlMjJiYWQ4NTA2NWU5MTJjZS4uYTBj
YWQ4OGI4NDY5YzU2M2UxZTRlYjQ2YzU1MjZmNjg1MTUxZmNlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3Rv
bS5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
SlNDdXN0b21Wb2lkQ2FsbGJhY2suaCIKQEAgLTcwLDQgKzcwLDQgQEAgSlNWYWx1ZSBKU05vdGlm
aWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oRXhlY1N0YXRlKiBleGVjKQogCiB9IC8v
IG5hbWVzcGFjZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSW5GaWxlc0NvbXBpbGVy
LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0K
aW5kZXggZTEyNjA2ODc5MzhkYWJlMGZkNWU3YTM4YzcyMzZlZWEwYWI1NmJhYS4uMzNlNzIxMGY4
MTJkOGRmZmYwOWM3MGI1ZjkzYzMxNWMyMzBhMzYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0KQEAgLTE2Niw2ICsxNjYsMjMg
QEAgc3ViIHRvTWFjcm9TdHlsZSgkJCkKICAgICBkaWUgIk9rLCB5b3UgZ290IG1lLiBUaGlzIHNj
cmlwdCBpcyByZWFsbHkganVzdCBhIGdpYW50IGhhY2suIChcJGNhbWVsQ2FzZT0ke2NhbWVsQ2Fz
ZX0pIjsKIH0KIAorc3ViIHByZWZlcnJlZENvbmRpdGlvbmFsKCkKK3sKKyAgICBteSAkb2JqZWN0
ID0gc2hpZnQ7CisgICAgbXkgJGNvbmRpdGlvbmFsID0gc2hpZnQ7CisKKyAgICBteSBAY29uZGl0
aW9uYWxzID0gc3BsaXQoJ1xcfCcsICRjb25kaXRpb25hbCk7CisgICAgcmV0dXJuICRjb25kaXRp
b25hbHNbMF07Cit9CisKK3N1YiBjb25kaXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgp
Cit7CisgICAgbXkgJG9iamVjdCA9IHNoaWZ0OworICAgIG15ICRjb25kaXRpb25hbCA9IHNoaWZ0
OworICAgIAorICAgIHJldHVybiAiRU5BQkxFKCIgLiBqb2luKCcpIHx8IEVOQUJMRSgnLCBzcGxp
dCgnXFx8JywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7Cit9CisKIHN1YiBnZW5lcmF0ZUludGVyZmFj
ZXNIZWFkZXIoKQogewogICAgIG15ICRvYmplY3QgPSBzaGlmdDsKQEAgLTIwMiwxNyArMjE5LDE5
IEBAIHN1YiBnZW5lcmF0ZUludGVyZmFjZXNIZWFkZXIoKQogICAgIG15ICRtYWNyb1N0eWxlZE5h
bWVzcGFjZSA9ICRvYmplY3QtPnRvTWFjcm9TdHlsZSgkbmFtZXNwYWNlKTsKIAogICAgIGZvciBt
eSAkY29uZGl0aW9uYWwgKHNvcnQga2V5cyAlaW50ZXJmYWNlc0J5Q29uZGl0aW9uYWwpIHsKLSAg
ICAgICAgcHJpbnQgRiAiI2lmIEVOQUJMRSgkY29uZGl0aW9uYWwpXG4iOwotICAgICAgICBwcmlu
dCBGICIjZGVmaW5lIERPTV8ke21hY3JvU3R5bGVkTmFtZXNwYWNlfV9JTlRFUkZBQ0VTX0ZPUl9F
QUNIXyRjb25kaXRpb25hbChtYWNybykgXFxcbiI7CisgICAgICAgIG15ICRwcmVmZXJyZWRDb25k
aXRpb25hbCA9ICRvYmplY3QtPnByZWZlcnJlZENvbmRpdGlvbmFsKCRjb25kaXRpb25hbCk7Cisg
ICAgICAgIHByaW50IEYgIiNpZiAiIC4gJG9iamVjdC0+Y29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0
cmlidXRlVmFsdWUoJGNvbmRpdGlvbmFsKSAuICJcbiI7CisKKyAgICAgICAgcHJpbnQgRiAiI2Rl
ZmluZSBET01fJHttYWNyb1N0eWxlZE5hbWVzcGFjZX1fSU5URVJGQUNFU19GT1JfRUFDSF8kcHJl
ZmVycmVkQ29uZGl0aW9uYWwobWFjcm8pIFxcXG4iOwogCiAgICAgICAgIGZvciBteSAkaW50ZXJm
YWNlIChzb3J0IGtleXMgJXsgJGludGVyZmFjZXNCeUNvbmRpdGlvbmFseyRjb25kaXRpb25hbH0g
fSkgewogICAgICAgICAgICAgbmV4dCBpZiBkZWZpbmVkKCR1bmNvbmRpdGlvbmFsSW50ZXJmYWNl
c3skaW50ZXJmYWNlfSk7CiAgICAgICAgICAgICBwcmludCBGICIgICAgbWFjcm8oJGludGVyZmFj
ZSkgXFxcbiI7CiAgICAgICAgIH0KIAotICAgICAgICBwcmludCBGICIvLyBFbmQgb2YgRE9NXyR7
bWFjcm9TdHlsZWROYW1lc3BhY2V9X0lOVEVSRkFDRVNfRk9SX0VBQ0hfJGNvbmRpdGlvbmFsXG4i
OworICAgICAgICBwcmludCBGICIvLyBFbmQgb2YgRE9NXyR7bWFjcm9TdHlsZWROYW1lc3BhY2V9
X0lOVEVSRkFDRVNfRk9SX0VBQ0hfJHByZWZlcnJlZENvbmRpdGlvbmFsXG4iOwogICAgICAgICBw
cmludCBGICIjZWxzZVxuIjsKLSAgICAgICAgcHJpbnQgRiAiI2RlZmluZSBET01fJHttYWNyb1N0
eWxlZE5hbWVzcGFjZX1fSU5URVJGQUNFU19GT1JfRUFDSF8kY29uZGl0aW9uYWwobWFjcm8pXG4i
OworICAgICAgICBwcmludCBGICIjZGVmaW5lIERPTV8ke21hY3JvU3R5bGVkTmFtZXNwYWNlfV9J
TlRFUkZBQ0VTX0ZPUl9FQUNIXyRwcmVmZXJyZWRDb25kaXRpb25hbChtYWNybylcbiI7CiAgICAg
ICAgIHByaW50IEYgIiNlbmRpZlxuIjsKICAgICAgICAgcHJpbnQgRiAiXG4iOwogICAgIH0KQEAg
LTIyNCw3ICsyNDMsOCBAQCBzdWIgZ2VuZXJhdGVJbnRlcmZhY2VzSGVhZGVyKCkKICAgICB9CiAg
ICAgcHJpbnQgRiAiICAgIFxcXG4iOwogICAgIGZvciBteSAkY29uZGl0aW9uYWwgKHNvcnQga2V5
cyAlaW50ZXJmYWNlc0J5Q29uZGl0aW9uYWwpIHsKLSAgICAgICAgcHJpbnQgRiAiICAgIERPTV8k
e21hY3JvU3R5bGVkTmFtZXNwYWNlfV9JTlRFUkZBQ0VTX0ZPUl9FQUNIXyRjb25kaXRpb25hbCht
YWNybykgXFxcbiI7CisgICAgICAgIG15ICRwcmVmZXJyZWRDb25kaXRpb25hbCA9ICRvYmplY3Qt
PnByZWZlcnJlZENvbmRpdGlvbmFsKCRjb25kaXRpb25hbCk7CisgICAgICAgIHByaW50IEYgIiAg
ICBET01fJHttYWNyb1N0eWxlZE5hbWVzcGFjZX1fSU5URVJGQUNFU19GT1JfRUFDSF8kcHJlZmVy
cmVkQ29uZGl0aW9uYWwobWFjcm8pIFxcXG4iOwogICAgIH0KIAogICAgIHByaW50IEYgIlxuIjsK
QEAgLTI1OCw3ICsyNzgsNyBAQCBzdWIgZ2VuZXJhdGVIZWFkZXJzSGVhZGVyKCkKICAgICAgICAg
bmV4dCBpZiBkZWZpbmVkKCRpbmNsdWRlZEludGVyZmFjZXN7JGludGVyZmFjZU5hbWV9KTsKICAg
ICAgICAgJGluY2x1ZGVkSW50ZXJmYWNlc3skaW50ZXJmYWNlTmFtZX0gPSAxOwogCi0gICAgICAg
IHByaW50IEYgIiNpZiBFTkFCTEUoJGNvbmRpdGlvbmFsKVxuIiBpZiAkY29uZGl0aW9uYWw7Cisg
ICAgICAgIHByaW50IEYgIiNpZiAiIC4gJG9iamVjdC0+Y29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0
cmlidXRlVmFsdWUoJGNvbmRpdGlvbmFsKSAuICJcbiIgaWYgJGNvbmRpdGlvbmFsOwogICAgICAg
ICBwcmludCBGICIjaW5jbHVkZSBcIiRpbnRlcmZhY2VOYW1lLmhcIlxuIjsKICAgICAgICAgcHJp
bnQgRiAiI2lmIFVTRShKU0MpXG4iOwogICAgICAgICBwcmludCBGICIjaW5jbHVkZSBcIkpTJGlu
dGVyZmFjZU5hbWUuaFwiXG4iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4KaW5kZXggNjE5NTg3MzkzODI3MGQzNmI3NjY1ZGM5ZGNlZDFiOTgxNWRhZWE0Zi4uYzhkMjc2
ZTFiMGJlMzliNjE1OTBiZTNiZjVhNWNjMDhlOTI2N2YyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0xOCw3ICsxOCw3IEBAIE1lZGlhQ29udHJvbGxlciBj
b25kaXRpb25hbD1WSURFTwogTWVkaWFTdHJlYW0gY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBN
ZXNzYWdlUG9ydAogTm9kZQotTm90aWZpY2F0aW9uIGNvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMK
K05vdGlmaWNhdGlvbiBjb25kaXRpb25hbD1OT1RJRklDQVRJT05TfExFR0FDWV9OT1RJRklDQVRJ
T05TCiBTaGFyZWRXb3JrZXIgY29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMKIFNoYXJlZFdvcmtl
ckNvbnRleHQgY29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMKIFNWR0VsZW1lbnRJbnN0YW5jZSBj
b25kaXRpb25hbD1TVkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmNwcAppbmRleCA1ZGUwZTUyN2M2YTMzMzg2NTU4MTU4YWU0ODk0NTNiZDBhNWJmOWQ2Li42
MDNlMGNmZmMyMmJhOTVmZDU3ZDlhZjE2YjhmODY3ZTU4M2FkYjVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCkBAIC0zMSw3ICszMSw3IEBACiAK
ICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNp
bmNsdWRlICJOb3RpZmljYXRpb24uaCIKIApAQCAtMjYyLDQgKzI2Miw0IEBAIHZvaWQgTm90aWZp
Y2F0aW9uOjpkaXNwYXRjaEVycm9yRXZlbnQoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
LSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXggZGQwZDZlZDg0YWQzMDc5ZDg4YmEw
MmEwMmJjYWNjNmE2NDVjYjM5ZC4uYjhmMzM3YzkxODBiNmY0ODczODE0MmRiZGM1YWIwZGIxNjky
YTBjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBA
IC00Niw3ICs0Niw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlcjsKQEAgLTE2NCw2
ICsxNjQsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjZW5kaWYgLy8gTm90aWZpY2F0aW9u
c19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKaW5k
ZXggZDhjYjNjYzM5YTI1ZTcxNzQzZTlmNzVlOWU4Y2Y0YzE4MGUyMjE2OC4uZTZkZDI1YTFmYTc0
MmJmMzc2MTIyMTg2YzA3NDRmNTQxMWI4YzNjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbApAQCAtMzIsNyArMzIsNyBAQAogbW9kdWxlIHRocmVh
ZHMgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9O
UywKKyAgICAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9O
UywKICAgICAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgICAgICBFdmVudFRhcmdldCwKICAgICAg
ICAgT21pdENvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggZmY2MDQ0NTMxYTE1NDI4MjMyNGMxNTRlMzU5
ZjI1ZGI0Zjc3ZDVhMy4uMmYyZDdkNmE3Y2YwMjc4ZDczOWE5OGU4NTBkOWJhYmIzNDIzOWY3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgi
CiAKQEAgLTgwLDQgKzgwLDQgQEAgdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RG
cmFtZSgpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuaAppbmRleCAyY2NjYzBkZmNjNmE2YjdhNjFkYzI5MjRhZGI3NTlh
YThhY2RmNTk1Li4yY2VkYWM4NmVlNjZhYTM2NzUwZDVlMzAwOGEwYWQ3YzI1ZGZlMTNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgK
QEAgLTQxLDcgKzQxLDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtOTAsNiArOTAsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAj
ZW5kaWYgLy8gTm90aWZpY2F0aW9uQ2VudGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbAppbmRleCA4YmUxZWNjNzY5ZmJjNWE0
MzdiNzY0ZTk2YTA3ZTQ3NTE3MGEzNTY2Li43YjBmYzI1NTU3Y2M1MGEzYjU1NzhjMzJiODIyNDUw
OTFjMTFjMjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuaWRsCkBAIC0zMiw3ICszMiw3IEBACiBtb2R1bGUgdGhyZWFkcyB7CiAK
ICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAorICAg
ICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TfExFR0FDWV9OT1RJRklDQVRJT05TLAogICAg
ICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gTm90
aWZpY2F0aW9uQ2VudGVyIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uQ29udGVudHMuaAppbmRleCAxMTg2YzFjNzgyM2YyYTA1MDI0MGI3NjAwNjU1
Njk1MmJhNDI5MTczLi42OGFkZDUwOTliOTMzNzRiMTk1M2U5MWU5ZTQ3NTU5MDc0NjNlNzQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRl
bnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250
ZW50cy5oCkBAIC0zMiw3ICszMiw3IEBACiAjaWZuZGVmIE5vdGlmaWNhdGlvbkNvbnRlbnRzX2gK
ICNkZWZpbmUgTm90aWZpY2F0aW9uQ29udGVudHNfaAogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKIAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KQEAgLTU1LDYgKzU1LDYgQEAgcHVibGljOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
LSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjZW5kaWYgLy8gTm90
aWZpY2F0aW9uQ29udGVudHNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggZGYyMzVkM2M0YjBjOTFhZGFl
MmU0NWVlMzE5YzZjYTZlMTY1MDAxZi4uZThlZmIwM2U5ZWVhMmI3OTEwOWEzMWU3OTJlOGNjZjkw
ZmViNDMzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIgogCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNsaWVudC5oIgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC03MCw0ICs3MCw0IEBAIHZvaWQgcHJvdmlkZU5v
dGlmaWNhdGlvbihQYWdlKiBwYWdlLCBOb3RpZmljYXRpb25DbGllbnQqIGNsaWVudCkKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisj
ZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25Db250cm9sbGVyLmgKaW5kZXggN2U5ZDU5N2UzOGExNmQ5OTgzYTVjNjYxZjhkNTZjNWY1MDlk
NDE2My4uYTE1NTI2ODdkMGE0MTQ2NmQ2N2Y0Mjc2NzJmMDEzYTIzNjliYjU3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVy
LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgTm90aWZpY2F0aW9uQ29udHJvbGxlcl9oCiAj
ZGVmaW5lIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXJfaAogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKIAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgpAQCAt
NTcsNiArNTcsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjZW5kaWYgLy8gTm90aWZpY2F0
aW9uQ29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggMmU0NzYyZjVm
ZjY1M2YzODI1MGYxY2YzOTc5ZTk2Nzk3OTFkZTY3ZS4uYzE0MTY3MzhkNzYwMTk5MDRmM2ZhMTA0
NGRjNjA2NjMyYjA0YjY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDE4LDcg
KzQxOCw3IEBAIERPTVdpbmRvdzo6fkRPTVdpbmRvdygpCiAgICAgICAgIEFTU0VSVCghbV9zZXNz
aW9uU3RvcmFnZSk7CiAgICAgICAgIEFTU0VSVCghbV9sb2NhbFN0b3JhZ2UpOwogICAgICAgICBB
U1NFUlQoIW1fYXBwbGljYXRpb25DYWNoZSk7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
ICAgICAgICAgQVNTRVJUKCFtX25vdGlmaWNhdGlvbnMpOwogI2VuZGlmCiAjaWYgRU5BQkxFKEJM
T0IpCkBAIC00NzgsNyArNDc4LDcgQEAgdm9pZCBET01XaW5kb3c6OndpbGxEZXRhY2hQYWdlKCkK
IHsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lV2luZG93RGlzY2FyZGVkKG1f
ZnJhbWUsIHRoaXMpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAvLyBDbGVh
cmluZyBOb3RpZmljYXRpb25zIHJlcXVlc3RzIGludm9sdmVzIGFjY2Vzc2luZyB0aGUgY2xpZW50
IHNvIGl0IG11c3QgYmUgZG9uZQogICAgIC8vIGJlZm9yZSB0aGUgZnJhbWUgaXMgZGV0YWNoZWQu
CiAgICAgcmVzZXROb3RpZmljYXRpb25zKCk7CkBAIC01MjgsNyArNTI4LDcgQEAgdm9pZCBET01X
aW5kb3c6OmRpc2Nvbm5lY3RET01XaW5kb3dQcm9wZXJ0aWVzKCkKICAgICBmb3IgKEhhc2hTZXQ8
RE9NV2luZG93UHJvcGVydHkqPjo6aXRlcmF0b3IgaXQgPSBtX3Byb3BlcnRpZXMuYmVnaW4oKTsg
aXQgIT0gc3RvcDsgKytpdCkKICAgICAgICAgKCppdCktPmRpc2Nvbm5lY3RGcmFtZSgpOwogCi0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAvLyBGSVhNRTogTm90aWZpY2F0aW9ucyBz
aG91bGRuJ3QgaGF2ZSBkaWZmZXJlbnQgZGlzY29ubmVjdGlvbiBsb2dpYyB0aGFuCiAgICAgLy8g
dGhlIHJlc3Qgb2YgdGhlIERPTVdpbmRvd1Byb3BlcnRpZXMuCiAgICAgLy8gVGhlcmUgaXMgY3Vy
cmVudGx5IG5vIHdheSB0byByZWNvbm5lY3QgdGhlbSBpbiByZXN1bWVGcm9tUGFnZUNhY2hlKCkg
c28KQEAgLTU3MSw3ICs1NzEsNyBAQCB2b2lkIERPTVdpbmRvdzo6Y2xlYXJET01XaW5kb3dQcm9w
ZXJ0aWVzKCkKICAgICBtX3Nlc3Npb25TdG9yYWdlID0gMDsKICAgICBtX2xvY2FsU3RvcmFnZSA9
IDA7CiAgICAgbV9hcHBsaWNhdGlvbkNhY2hlID0gMDsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogICAgIC8vIEZJWE1FOiBOb3RpZmljYXRpb25zIHNob3VsZG4ndCBoYXZlIGRpZmZlcmVu
dCBkaXNjb25uZWN0aW9uIGxvZ2ljIHRoYW4KICAgICAvLyB0aGUgcmVzdCBvZiB0aGUgRE9NV2lu
ZG93UHJvcGVydGllcy4KICAgICByZXNldE5vdGlmaWNhdGlvbnMoKTsKQEAgLTc4NCw3ICs3ODQs
NyBAQCBTdG9yYWdlKiBET01XaW5kb3c6OmxvY2FsU3RvcmFnZShFeGNlcHRpb25Db2RlJiBlYykg
Y29uc3QKICAgICByZXR1cm4gbV9sb2NhbFN0b3JhZ2UuZ2V0KCk7CiB9CiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogTm90aWZpY2F0aW9uQ2VudGVyKiBET01XaW5kb3c6OndlYmtpdE5v
dGlmaWNhdGlvbnMoKSBjb25zdAogewogICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZy
YW1lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCA2MTM2MjRmMzdjMmFhMjFjYjZkZWQw
ZGRlOTU5NWEzNWZhYTFlY2Y3Li5iZDgxYjQ4ZjU2ZWYxODBhOWFhZGIwODA1MzExYTAyMjA0MmNi
ODAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTM1Niw3ICszNTYsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFN0b3JhZ2UqIHNlc3Npb25TdG9yYWdlKEV4Y2VwdGlvbkNv
ZGUmKSBjb25zdDsKICAgICAgICAgU3RvcmFnZSogbG9jYWxTdG9yYWdlKEV4Y2VwdGlvbkNvZGUm
KSBjb25zdDsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIE5vdGlmaWNh
dGlvbkNlbnRlciogd2Via2l0Tm90aWZpY2F0aW9ucygpIGNvbnN0OwogICAgICAgICAvLyBSZW5k
ZXJzIHdlYmtpdE5vdGlmaWNhdGlvbnMgb2JqZWN0IHNhZmVseSBpbm9wZXJhYmxlLCBkaXNjb25u
ZWN0cwogICAgICAgICAvLyBpZiBmcm9tIGVtYmVkZGVyLXByb3ZpZGVkIE5vdGlmaWNhdGlvbkNs
aWVudC4KQEAgLTQ1MCw3ICs0NTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIG11
dGFibGUgUmVmUHRyPFN0b3JhZ2U+IG1fbG9jYWxTdG9yYWdlOwogICAgICAgICBtdXRhYmxlIFJl
ZlB0cjxET01BcHBsaWNhdGlvbkNhY2hlPiBtX2FwcGxpY2F0aW9uQ2FjaGU7CiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICBtdXRhYmxlIFJlZlB0cjxOb3RpZmljYXRpb25D
ZW50ZXI+IG1fbm90aWZpY2F0aW9uczsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKaW5kZXggMTQwODZiZjIwZTllNDk3NmFhODgxMjNiODYwYzA3YjQ1OTNhNzlhZC4uZjJiOTBj
ZTU4MTBmZTk2MzA3OGU1NDgxMmExODA5MGJkZTgyYzcyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbApAQCAtMTcwLDcgKzE3MCw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gU3RvcmFnZSBsb2NhbFN0b3JhZ2UK
ICAgICAgICAgICAgIGdldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotI2lmIGRlZmluZWQo
RU5BQkxFX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TCisjaWYgKGRlZmlu
ZWQoRU5BQkxFX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TKSB8fCAoZGVm
aW5lZChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVd
IE5vdGlmaWNhdGlvbkNlbnRlciB3ZWJraXROb3RpZmljYXRpb25zOwogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZS5jcHAKaW5kZXggYWQ5Y2FiOGU5ZDEzYTFmNWJiNzU4MzE3YmJjNzk2MjNjYmU2YWM0
MC4uYjMxMzY0OWJlMmQ3ZWFkMmEyNjM3MTBhMDNlMzdkMDhjYWQ1MGYzOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZS5jcHAKQEAgLTY4Nyw3ICs2ODcsNyBAQCB2b2lkIEZyYW1lOjp3aWxsRGV0YWNoUGFnZSgp
CiAgICAgaWYgKEZyYW1lKiBwYXJlbnQgPSB0cmVlKCktPnBhcmVudCgpKQogICAgICAgICBwYXJl
bnQtPmxvYWRlcigpLT5jaGVja0xvYWRDb21wbGV0ZSgpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKICAgICBpZiAobV9kb21XaW5kb3cpCiAgICAgICAgIG1fZG9tV2luZG93LT5yZXNl
dE5vdGlmaWNhdGlvbnMoKTsKICNlbmRpZgpAQCAtNzM3LDcgKzczNyw3IEBAIHZvaWQgRnJhbWU6
OnRyYW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1lbnQoKQogICAgICAgICB9CiAKICAgICAgICAg
aWYgKG1fZG9tV2luZG93KSB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAg
ICAgIG1fZG9tV2luZG93LT5yZXNldE5vdGlmaWNhdGlvbnMoKTsKICNlbmRpZgogICAgICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAppbmRleCBkZWJiZWJhM2Zl
ODBhNzhmYTYzM2NjYjNiZjI2MWNlZDY2ZjYxZjBhLi5mYjQyZjMxYTg2ZGEwMjJkMTVkNjc1ZWZl
YzU3YmEwMjAwMWM3Zjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5j
cHAKQEAgLTU5LDcgKzU5LDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1VudXNlZFBhcmFtLmg+CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2luY2x1
ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgogI2VuZGlmCiAKQEAgLTEwNCw3ICsxMDQsNyBAQCBX
b3JrZXJDb250ZXh0OjpXb3JrZXJDb250ZXh0KGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIFdvcmtlclRocgogV29ya2VyQ29udGV4dDo6fldvcmtlckNvbnRleHQoKQog
ewogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gdGhyZWFkKCktPnRocmVhZElEKCkpOwot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgbV9ub3RpZmljYXRpb25zLmNsZWFyKCk7
CiAjZW5kaWYKIApAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgV29ya2VyQ29udGV4dDo6YWRkTWVz
c2FnZVRvV29ya2VyQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUKICAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMs
IHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcik7CiB9
CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogTm90aWZpY2F0aW9uQ2VudGVyKiBXb3Jr
ZXJDb250ZXh0Ojp3ZWJraXROb3RpZmljYXRpb25zKCkgY29uc3QKIHsKICAgICBpZiAoIW1fbm90
aWZpY2F0aW9ucykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29u
dGV4dC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggZjA0
NWE0ODE5YTY1OTRkMjk1NjJhMDA4MDdiODYwMmUyYzAxMmJhMC4uYjVkMjYwZWUyMDQ4NTRlY2Iz
YTA2M2E5NmI5ZGRiYzgxNjY2ZjRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250
ZXh0LmgKQEAgLTEwNSw3ICsxMDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8v
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKICAgICAgICAgdmlydHVhbCBXb3JrZXJFdmVudFF1ZXVl
KiBldmVudFF1ZXVlKCkgY29uc3Q7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAg
ICAgICBOb3RpZmljYXRpb25DZW50ZXIqIHdlYmtpdE5vdGlmaWNhdGlvbnMoKSBjb25zdDsKICNl
bmRpZgogCkBAIC0xNzIsNyArMTcyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBP
d25QdHI8V29ya2VyU2NyaXB0Q29udHJvbGxlcj4gbV9zY3JpcHQ7CiAgICAgICAgIFdvcmtlclRo
cmVhZCogbV90aHJlYWQ7CiAKLSNpZiBFTkFCTEVfTk9USUZJQ0FUSU9OUworI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIG11
dGFibGUgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9ub3RpZmljYXRpb25zOwogI2VuZGlm
CiAjaWYgRU5BQkxFKEJMT0IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0Lmlk
bAppbmRleCA5MzBjMmQwYWQ4ZmU3NTFlNDc1ODY4YTM2MDcwMjkzNWRmMjBmZjc1Li5mODhiOTQ4
ZjkyMDQ1ODhmYTUyNTQwYzAwNDE2ZGUwYmUxN2U3OWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dC5pZGwKQEAgLTcwLDcgKzcwLDcgQEAgbW9kdWxlIHRocmVhZHMgewog
ICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZ0KQogICAgICAgICAgICAg
cmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKIAotI2lmIGRlZmluZWQoRU5BQkxFX05PVElGSUNBVElP
TlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TCisjaWYgKGRlZmluZWQoRU5BQkxFX05PVElGSUNB
VElPTlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TKSB8fCAoZGVmaW5lZChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAg
Ly8gTm90aWZpY2F0aW9uIGludGVyZmFjZQogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4
RW5hYmxlZEF0UnVudGltZV0gTm90aWZpY2F0aW9uQ2VudGVyIHdlYmtpdE5vdGlmaWNhdGlvbnM7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCBkMmUy
M2E4N2RjYmM3NjFkMmYyOWY4MDRjMjMyNmY4MTRjMjVhZjQ1Li5kYTUxYzJkYmE4YzMxYzU2MGY5
ZDYzMWQ5YzFlYzQ5MjdkYzIyZjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuY3BwCkBAIC05Niw3ICs5Niw3IEBAIFdvcmtlclRocmVhZDo6V29ya2VyVGhyZWFkKGNvbnN0
IEtVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0CiAgICAgLCBt
X3dvcmtlckxvYWRlclByb3h5KHdvcmtlckxvYWRlclByb3h5KQogICAgICwgbV93b3JrZXJSZXBv
cnRpbmdQcm94eSh3b3JrZXJSZXBvcnRpbmdQcm94eSkKICAgICAsIG1fc3RhcnR1cERhdGEoV29y
a2VyVGhyZWFkU3RhcnR1cERhdGE6OmNyZWF0ZShzY3JpcHRVUkwsIHVzZXJBZ2VudCwgc291cmNl
Q29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnRlbnRTZWN1cml0eVBv
bGljeVR5cGUpKQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLCBtX25vdGlmaWNh
dGlvbkNsaWVudCgwKQogI2VuZGlmCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
aAppbmRleCBjYmU1YTcxNzhkNDBkMmEyYjI4OGM4YzE5YTdkZWFmOGVlZGJmZTRiLi42MGM1OWQz
NzgzYTI4N2M1MjE2ZjQ4YjZlMDk1MzExOTcyZWJiZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmgKQEAgLTYyLDcgKzYyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAvLyBOdW1iZXIgb2YgYWN0aXZlIHdvcmtlciB0aHJlYWRzLgogICAgICAgICBzdGF0aWMg
dW5zaWduZWQgd29ya2VyVGhyZWFkQ291bnQoKTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAgICAgICAgIE5vdGlmaWNhdGlvbkNsaWVudCogZ2V0Tm90aWZpY2F0aW9uQ2xpZW50KCkg
eyByZXR1cm4gbV9ub3RpZmljYXRpb25DbGllbnQ7IH0KICAgICAgICAgdm9pZCBzZXROb3RpZmlj
YXRpb25DbGllbnQoTm90aWZpY2F0aW9uQ2xpZW50KiBjbGllbnQpIHsgbV9ub3RpZmljYXRpb25D
bGllbnQgPSBjbGllbnQ7IH0KICNlbmRpZgpAQCAtOTMsNyArOTMsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICAgICAgT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBtX3N0YXJ0
dXBEYXRhOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAgTm90aWZpY2F0
aW9uQ2xpZW50KiBtX25vdGlmaWNhdGlvbkNsaWVudDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5o
CmluZGV4IGQ2OGQ5MjI3NTkyOGU2ZWIwN2NmZTgyYzhhOWFiMDZiYTE0YjA1NDUuLjVkZmEwNDZk
ZmRmZjU0M2MxZTIwOTQyOGQzOGI4YzhkNDdiZjMyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0aW9uQ2xpZW50Lmg+CiAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2ltcG9ydCA8V2ViQ29yZS9Ob3RpZmljYXRp
b24uaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYvUmVmUHRyLmg+CkBA
IC01Nyw3ICs1Nyw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRp
b25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKSBPVkVSUklERTsKIAogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbj4sIFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+ID4gbV9ub3RpZmljYXRpb25NYXA7
CiAgICAgCiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0PiwgVmVjdG9yPFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+ID4gPiBOb3RpZmlj
YXRpb25Db250ZXh0TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCmluZGV4IDNmZGYwYmM3ZjM2MjJlZWFi
NGIxMzJiOGIzOTk2MTQwYzNmZjgxNGUuLmIwZmZkZmQ4Zjg1MjhjYjU2YTM3OGU5Y2FjN2U0OTJm
N2I5OWFmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9y
dCAiV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogI2ltcG9ydCAiV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlvbkNhY2hpbmcuaCIKICNpbXBvcnQg
IldlYk5vdGlmaWNhdGlvbkludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaCIKQEAgLTM5LDcgKzM5LDcgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQGludGVyZmFjZSBXZWJOb3RpZmljYXRpb25Qb2xp
Y3lMaXN0ZW5lciA6IE5TT2JqZWN0IDxXZWJBbGxvd0RlbnlQb2xpY3lMaXN0ZW5lcj4KIHsKICAg
ICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfY2FsbGJhY2s7CkBAIC00OCw3ICs0OCw3IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogQGVuZAogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlTm90aWZpY2F0aW9uSUQoKQogewogICAg
IHN0YXRpYyB1aW50NjRfdCB1bmlxdWVOb3RpZmljYXRpb25JRCA9IDE7CkBAIC02Myw3ICs2Myw3
IEBAIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6V2ViTm90aWZpY2F0aW9uQ2xpZW50KFdlYlZpZXcg
KndlYlZpZXcpCiAKIGJvb2wgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpzaG93KE5vdGlmaWNhdGlv
biogbm90aWZpY2F0aW9uKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYg
KCFbbV93ZWJWaWV3IF9ub3RpZmljYXRpb25Qcm92aWRlcl0pCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIApAQCAtODQsNyArODQsNyBAQCBib29sIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6c2hvdyhO
b3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIAogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6
OmNhbmNlbChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIFdlYk5vdGlmaWNhdGlvbiAqd2ViTm90aWZpY2F0aW9uID0gbV9ub3Rp
ZmljYXRpb25NYXAuZ2V0KG5vdGlmaWNhdGlvbikuZ2V0KCk7CiAgICAgaWYgKCF3ZWJOb3RpZmlj
YXRpb24pCiAgICAgICAgIHJldHVybjsKQEAgLTk3LDcgKzk3LDcgQEAgdm9pZCBXZWJOb3RpZmlj
YXRpb25DbGllbnQ6OmNhbmNlbChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIAogdm9pZCBX
ZWJOb3RpZmljYXRpb25DbGllbnQ6OmNsZWFyTm90aWZpY2F0aW9ucyhTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgTm90
aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRN
YXAuZmluZChjb250ZXh0KTsKICAgICBpZiAoaXQgPT0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFw
LmVuZCgpKQogICAgICAgICByZXR1cm47CkBAIC0xMjAsNyArMTIwLDcgQEAgdm9pZCBXZWJOb3Rp
ZmljYXRpb25DbGllbnQ6OmNsZWFyTm90aWZpY2F0aW9ucyhTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uT2Jq
ZWN0RGVzdHJveWVkKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgUmV0YWluUHRyPFdlYk5vdGlmaWNhdGlvbj4gd2ViTm90aWZp
Y2F0aW9uID0gbV9ub3RpZmljYXRpb25NYXAudGFrZShub3RpZmljYXRpb24pOwogICAgIGlmICgh
d2ViTm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm47CkBAIC0xNDEsNyArMTQxLDcgQEAgdm9p
ZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChOb3Rp
ZmljYXRpb24qIG5vdGlmaWNhdGkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlm
aWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAgICAgW21fd2ViVmlldyBfbm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZF07CiAj
ZW5kaWYKICAgICBkZWxldGUgdGhpczsKQEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIFdlYk5vdGlm
aWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpCiAKIHZvaWQg
V2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCiB7Ci0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElP
TlM7CiAgICAgCiAgICAgU0VMIHNlbGVjdG9yID0gQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRlUG9s
aWN5Rm9yTm90aWZpY2F0aW9uUmVxdWVzdEZyb21PcmlnaW46bGlzdGVuZXI6KTsKQEAgLTE3Myw3
ICsxNzMsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUAogCiBOb3RpZmljYXRpb25DbGllbnQ6
OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+aXNEb2N1bWVudCgpKQogICAgICAgICBy
ZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOwogICAgIGlmICghW1tt
X3dlYlZpZXcgcHJlZmVyZW5jZXNdIG5vdGlmaWNhdGlvbnNFbmFibGVkXSkKQEAgLTE5Nyw3ICsx
OTcsNyBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xp
ZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlYwogI2VuZGlmCiB9CiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvblBvbGljeUxp
c3RlbmVyCiAtIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4p
Y2FsbGJhY2sKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90
aWZpY2F0aW9uLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24u
bW0KaW5kZXggNTU3MzMyY2JhMWIwODI5OWMzMzRlMWEyNTI2ODY0M2Q2MDE0ZWUwNi4uODgyNTUy
YjUyYzUzMzE0NDBhY2NmMTllMGEwOGRmNGQwMWRlOGJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0KQEAgLTMwLDcgKzMwLDcgQEAKIAogI2ltcG9y
dCAiV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAjaW1wb3J0ICJXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmgiCiAjaW1wb3J0IDxXZWJD
b3JlL05vdGlmaWNhdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0Lmg+CkBAIC00NCw3ICs0NCw3IEBAIE9CSkNfQ0xBU1MgV2ViTm90aWZpY2F0aW9uSW50ZXJu
YWw7CiBAaW50ZXJmYWNlIFdlYk5vdGlmaWNhdGlvblByaXZhdGUgOiBOU09iamVjdAogewogQHB1
YmxpYwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgUmVmUHRyPE5vdGlmaWNhdGlv
bj4gX2ludGVybmFsOwogICAgIHVpbnQ2NF90IF9ub3RpZmljYXRpb25JRDsKICNlbmRpZgpAQCAt
NTQsNyArNTQsNyBAQCBPQkpDX0NMQVNTIFdlYk5vdGlmaWNhdGlvbkludGVybmFsOwogQGltcGxl
bWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvblByaXZhdGUKIEBlbmQKIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiBAaW1wbGVtZW50YXRpb24gV2ViTm90aWZpY2F0aW9uIChXZWJOb3RpZmlj
YXRpb25JbnRlcm5hbCkKIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlm
aWNhdGlvbikKIHsKQEAgLTgzLDcgKzgzLDcgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdlYk5vdGlm
aWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtIChOU1N0cmluZyAqKXRpdGxlCiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBBU1NFUlQoY29yZShzZWxmKSk7CiAgICAgcmV0dXJu
IGNvcmUoc2VsZiktPmNvbnRlbnRzKCkudGl0bGU7CiAjZWxzZQpAQCAtOTMsNyArOTMsNyBAQCBO
b3RpZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiAKIC0gKE5T
U3RyaW5nICopYm9keQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgQVNTRVJU
KGNvcmUoc2VsZikpOwogICAgIHJldHVybiBjb3JlKHNlbGYpLT5jb250ZW50cygpLmJvZHk7CiAj
ZWxzZQpAQCAtMTAzLDcgKzEwMyw3IEBAIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRp
b24gKm5vdGlmaWNhdGlvbikKIAogLSAoTlNTdHJpbmcgKilyZXBsYWNlSUQKIHsKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgIEFTU0VSVChjb3JlKHNlbGYpKTsKICAgICByZXR1cm4g
Y29yZShzZWxmKS0+cmVwbGFjZUlkKCk7CiAjZWxzZQpAQCAtMTEzLDcgKzExMyw3IEBAIE5vdGlm
aWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIAogLSAoV2ViU2Vj
dXJpdHlPcmlnaW4gKilvcmlnaW4KIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAg
IEFTU0VSVChjb3JlKHNlbGYpKTsKICAgICByZXR1cm4gW1tbV2ViU2VjdXJpdHlPcmlnaW4gYWxs
b2NdIF9pbml0V2l0aFdlYkNvcmVTZWN1cml0eU9yaWdpbjpjb3JlKHNlbGYpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCldIGF1dG9yZWxlYXNlXTsKICNlbHNlCkBA
IC0xMjMsNyArMTIzLDcgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90
aWZpY2F0aW9uKQogCiAtICh1aW50NjRfdClub3RpZmljYXRpb25JRAogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwogICAgIHJldHVybiBfcHJp
dmF0ZS0+X25vdGlmaWNhdGlvbklEOwogI2Vsc2UKQEAgLTEzMyw3ICsxMzMsNyBAQCBOb3RpZmlj
YXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiAKIC0gKHZvaWQpZGlz
cGF0Y2hTaG93RXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEFTU0VS
VChjb3JlKHNlbGYpKTsKICAgICBjb3JlKHNlbGYpLT5kaXNwYXRjaFNob3dFdmVudCgpOwogI2Vu
ZGlmCkBAIC0xNDEsNyArMTQxLDcgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdlYk5vdGlmaWNhdGlv
biAqbm90aWZpY2F0aW9uKQogCiAtICh2b2lkKWRpc3BhdGNoQ2xvc2VFdmVudAogewotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwogICAgIGNvcmUo
c2VsZiktPmRpc3BhdGNoQ2xvc2VFdmVudCgpOwogI2VuZGlmCkBAIC0xNDksNyArMTQ5LDcgQEAg
Tm90aWZpY2F0aW9uKiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtICh2
b2lkKWRpc3BhdGNoQ2xpY2tFdmVudAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAg
ICAgQVNTRVJUKGNvcmUoc2VsZikpOwogICAgIGNvcmUoc2VsZiktPmRpc3BhdGNoQ2xpY2tFdmVu
dCgpOwogI2VuZGlmCkBAIC0xNTcsNyArMTU3LDcgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdlYk5v
dGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtICh2b2lkKWRpc3BhdGNoRXJyb3JFdmVudAog
ewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwog
ICAgIGNvcmUoc2VsZiktPmRpc3BhdGNoRXJyb3JFdmVudCgpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbkludGVybmFsLmggYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbkludGVybmFsLmgKaW5kZXgg
YjYyNDA2OWQ5ZWNhZjZjY2IwYmExZGJjOTRmMjA1MjA1OGQ5ZTlhZC4uM2Y2ZjU2MjZjMmE0ZjRi
NDM4NTU0ZjYwZTc5OTZkMzAyYTAxNjFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaApAQCAtMjgsNyArMjgsNyBAQAogCiAj
aW1wb3J0ICJXZWJOb3RpZmljYXRpb24uaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlvbjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAwNWZjNTg2OTRjODM3NTZiZjFlMTk1NzAwMTJkZDlk
ZDMzMjkzYmQ2Li5jMjMwZTAwYzM5NzUyMDRmN2Y1YmFjNDkyMjkzYzViYWFkN2YyNGUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC03NDAsNyArNzQwLDcgQEAgc3RhdGlj
IE5TU3RyaW5nICpsZWFrT3V0bG9va1F1aXJrc1VzZXJTY3JpcHRDb250ZW50cygpCiAgICAgcGFn
ZUNsaWVudHMuZ2VvbG9jYXRpb25DbGllbnQgPSBuZXcgV2ViR2VvbG9jYXRpb25DbGllbnQoc2Vs
Zik7CiAjZW5kaWYKICAgICBfcHJpdmF0ZS0+cGFnZSA9IG5ldyBQYWdlKHBhZ2VDbGllbnRzKTsK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYkNvcmU6OnByb3ZpZGVOb3RpZmlj
YXRpb24oX3ByaXZhdGUtPnBhZ2UsIG5ldyBXZWJOb3RpZmljYXRpb25DbGllbnQoc2VsZikpOwog
I2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCBj
OGVjYWZlMzNlOTYzZmE0MGFhZDRmMzE5YWJjY2YxMmEzZWYzM2JlLi4zMjNhMzUxM2E2YTg0MmVk
Y2Y5ZGNjMDI3N2Q0MjA2NGYzZDA2OTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC05OSw3ICs5OSw3IEBA
IHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKENvcmVJUEM6OkFyZ3Vt
ZW50RW5jb2RlciogZW5jb2RlcikgY29uCiAgICAgZW5jb2Rlci0+ZW5jb2RlKGNvb2tpZVN0b3Jh
Z2VEaXJlY3RvcnkpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAg
IGVuY29kZXItPmVuY29kZShub3RpZmljYXRpb25QZXJtaXNzaW9ucyk7CiAjZW5kaWYKIH0KQEAg
LTE5NCw3ICsxOTQsNyBAQCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYgogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKCFk
ZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5ub3RpZmljYXRpb25QZXJtaXNzaW9ucykpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggOWI1MWY2NDk0M2U4OWYwNDEz
ZjJlZTU2ZWZiOTU2M2M3NjI1MGZhZi4uNjc4MWIwNGVlZmVjNzYyNGYzY2JiZDNiYWY2NGI0MzQx
ZWMwY2E0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xMjIsNyArMTIyLDcgQEAgc3RydWN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMgewogICAgIFN0cmluZyBjb29raWVTdG9yYWdlRGlyZWN0b3J5Owog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEhhc2hNYXA8U3RyaW5n
LCBib29sPiBub3RpZmljYXRpb25QZXJtaXNzaW9uczsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCA3NzY2MWQ4N2I1YmJhYzhiNGU5Mjc0YThm
ZDRjYzA3OGY1MjNjZjZlLi4yZWNmZjlkNGIwNzcxOTRiMDU4NWEzZjFkOTQyMDY1ZWEyZjJiNTVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0yNzksNyArMjc5
LDcgQEAgdm9pZCBXZWJDb250ZXh0OjplbnN1cmVXZWJQcm9jZXNzKCkKIAogICAgIHBhcmFtZXRl
cnMuZGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWwgPSBXZWJVUkxSZXF1ZXN0OjpkZWZhdWx0
VGltZW91dEludGVydmFsKCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1f
bm90aWZpY2F0aW9uTWFuYWdlclByb3h5LT5wb3B1bGF0ZUNvcHlPZk5vdGlmaWNhdGlvblBlcm1p
c3Npb25zKHBhcmFtZXRlcnMubm90aWZpY2F0aW9uUGVybWlzc2lvbnMpOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5j
cHAKaW5kZXggNzNlNzFmYmM5MmVkMWVmY2MzMTczMTEwOGFmYTZjNDJlNDYwZmEzYi4uZmU2NmU1
NmU5NDllZDQzZGJlNjkzZGQ3OWZiMjJmNjYxNjA4ZmE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKQEAgLTQxLDcgKzQx
LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVJlcXVl
c3RJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IHVuaXF1ZVJlcXVlc3RJRCA9IDE7CkBAIC02
MSw3ICs2MSw3IEBAIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Tm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKFdlYlBhCiAKIHZvaWQgTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9y
aWdpbiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgaWYgKHBlcm1pc3Npb25MZXZlbChvcmlnaW4pICE9IE5vdGlm
aWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKICAgICAgICAgY2FsbGJhY2st
PmhhbmRsZUV2ZW50KCk7CiAgICAgICAgIHJldHVybjsKQEAgLTgwLDcgKzgwLDcgQEAgdm9pZCBO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0
eU9yaWdpbiogb3JpZ2luLAogCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlcjo6Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAgICAgdWludDY0X3QgaWQgPSBtX29yaWdpblRvSURNYXAudGFr
ZShvcmlnaW4pOwogICAgIGlmICghaWQpCiAgICAgICAgIHJldHVybjsKQEAgLTk0LDcgKzk0LDcg
QEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmNhbmNlbFJlcXVl
c3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKIAogTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6cGVybWlzc2lvbkxldmVs
KFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogICAgIGlmICghbV9wYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLT5ub3RpZmlj
YXRpb25zRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uRGVuaWVkOwogICAgIApAQCAtMTA3LDcgKzEwNyw3IEBAIE5vdGlmaWNhdGlvbkNsaWVu
dDo6UGVybWlzc2lvbiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnBlcm1p
c3Npb25MCiAKIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRS
ZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwg
Ym9vbCBhbGxvd2VkKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKCFp
c1JlcXVlc3RJRFZhbGlkKHJlcXVlc3RJRCkpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlv
bk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dl
Yk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCmluZGV4IDllNWNmOTU0NjY0OWQ0YmNiYjM5ZjEzYjUx
ZTUyZDMyNmU3OWE0ZTcuLjhkMTFmMTNjOTNjZjA4NDI3ZGI4NTNmMjBiYWU3OGQ3MzkzNWIzNzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJO
b3RpZmljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05v
dGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKQEAgLTI5LDcgKzI5LDcgQEAK
ICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogCi0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb24uaCIKICNpbmNs
dWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldl
YlBhZ2VQcm94eU1lc3NhZ2VzLmgiCkBAIC00NSw3ICs0NSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVOb3RpZmljYXRpb25JRCgpCiB7CiAgICAgc3Rh
dGljIHVpbnQ2NF90IHVuaXF1ZU5vdGlmaWNhdGlvbklEID0gMTsKQEAgLTY5LDIxICs2OSwyMSBA
QCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6
OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6
aW5pdGlhbGl6ZShjb25zdCBIYXNoTWFwPFN0cmluZywgYm9vbD4mIHBlcm1pc3Npb25zKQogewot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgbV9wZXJtaXNzaW9uc01hcCA9IHBlcm1p
c3Npb25zOwogI2VuZGlmCiB9CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkVXBk
YXRlTm90aWZpY2F0aW9uRGVjaXNpb24oY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIGJvb2wg
YWxsb3dlZCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1fcGVybWlzc2lv
bnNNYXAuc2V0KG9yaWdpblN0cmluZywgYWxsb3dlZCk7CiAjZW5kaWYKIH0KIAogdm9pZCBXZWJO
b3RpZmljYXRpb25NYW5hZ2VyOjpkaWRSZW1vdmVOb3RpZmljYXRpb25EZWNpc2lvbnMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIG9yaWdpblN0cmluZ3MpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKICAgICBzaXplX3QgY291bnQgPSBvcmlnaW5TdHJpbmdzLnNpemUoKTsKICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCiAgICAgICAgIG1fcGVybWlzc2lvbnNNYXAu
cmVtb3ZlKG9yaWdpblN0cmluZ3NbaV0pOwpAQCAtOTIsNyArOTIsNyBAQCB2b2lkIFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXI6OmRpZFJlbW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhjb25zdCBWZWN0
b3I8U3RyaW5nPgogCiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0
aW9uTWFuYWdlcjo6cG9saWN5Rm9yT3JpZ2luKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luICpvcmln
aW4pIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW9yaWdp
bikKICAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93
ZWQ7CiAgICAgCkBAIC0xMDYsNyArMTA2LDcgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnBvbGljeUZvck9yaWdpbihXZWJDb3JlOjoKIAog
Ym9vbCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpzaG93KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0
aW9uLCBXZWJQYWdlKiBwYWdlKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAg
aWYgKCFub3RpZmljYXRpb24gfHwgIXBhZ2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCktPm5vdGlm
aWNhdGlvbnNFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIApAQCAtMTI2LDcg
KzEyNiw3IEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyhOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5h
Z2VyOjpjYW5jZWwoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiB7
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW5vdGlmaWNhdGlvbiB8fCAh
cGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS0+bm90aWZpY2F0aW9uc0VuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIApAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgV2ViTm90aWZpY2F0
aW9uTWFuYWdlcjo6Y2FuY2VsKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdlKiBw
YWdlKQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNsZWFyTm90aWZpY2F0aW9ucyhX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJQYWdlKiBwYWdlKQog
ewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uQ29udGV4dE1h
cDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZmluZChjb250ZXh0KTsK
ICAgICBpZiAoaXQgPT0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmVuZCgpKQogICAgICAgICBy
ZXR1cm47CkBAIC0xNjEsNyArMTYxLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpj
bGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCoKIAogdm9p
ZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWREZXN0cm95Tm90aWZpY2F0aW9uKE5vdGlmaWNh
dGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdlKiBwYWdlKQogewotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQgPSBtX25vdGlmaWNhdGlvbk1h
cC50YWtlKG5vdGlmaWNhdGlvbik7CiAgICAgaWYgKCFub3RpZmljYXRpb25JRCkKICAgICAgICAg
cmV0dXJuOwpAQCAtMTc0LDcgKzE3NCw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6
ZGlkRGVzdHJveU5vdGlmaWNhdGlvbihOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwKIAogdm9p
ZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRTaG93Tm90aWZpY2F0aW9uKHVpbnQ2NF90IG5v
dGlmaWNhdGlvbklEKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKCFp
c05vdGlmaWNhdGlvbklEVmFsaWQobm90aWZpY2F0aW9uSUQpKQogICAgICAgICByZXR1cm47CiAg
ICAgCkBAIC0xODgsNyArMTg4LDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRT
aG93Tm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogCiB2b2lkIFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXI6OmRpZENsaWNrTm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlv
bklEKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKCFpc05vdGlmaWNh
dGlvbklEVmFsaWQobm90aWZpY2F0aW9uSUQpKQogICAgICAgICByZXR1cm47CiAKQEAgLTIwMiw3
ICsyMDIsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsaWNrTm90aWZpY2F0
aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXI6OmRpZENsb3NlTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3RpZmlj
YXRpb25JRHMpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBzaXplX3QgY291
bnQgPSBub3RpZmljYXRpb25JRHMuc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
Y291bnQ7ICsraSkgewogICAgICAgICB1aW50NjRfdCBub3RpZmljYXRpb25JRCA9IG5vdGlmaWNh
dGlvbklEc1tpXTsKQEAgLTIyMSw3ICsyMjEsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXI6OmRpZENsb3NlTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3RpZgog
I2VuZGlmCiB9CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyOjpyZW1vdmVOb3RpZmljYXRpb25Gcm9tQ29udGV4dE1hcCh1aW50NjRfdCBu
b3RpZmljYXRpb25JRCwgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiB7CiAgICAgLy8gVGhp
cyBpcyBhIGhlbHBlciBmdW5jdGlvbiBmb3IgbWFuYWdpbmcgdGhlIGhhc2ggbWFwcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCmluZGV4IDE0Mjc2N2UzMTlkZDc1YmMyMDkzMWZmZTU0
MTA4Mjk5MmMyZGM3OGEuLjJhMThkNDRlYjBhOTdmNTVlMjJlYmE3ZWFlNDQ3MzM0NWIxZGRkYTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJO
b3RpZmljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3Rp
ZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaApAQCAtNzgsMTMgKzc4LDEzIEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbihjb25zdCBTdHJp
bmcmIG9yaWdpblN0cmluZywgYm9vbCBhbGxvd2VkKTsKICAgICB2b2lkIGRpZFJlbW92ZU5vdGlm
aWNhdGlvbkRlY2lzaW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgb3JpZ2luU3RyaW5ncyk7CiAg
ICAgCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB2b2lkIHJlbW92ZU5vdGlmaWNh
dGlvbkZyb21Db250ZXh0TWFwKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklELCBXZWJDb3JlOjpOb3Rp
ZmljYXRpb24qKTsKICNlbmRpZgogCiAgICAgV2ViUHJvY2VzcyogbV9wcm9jZXNzOwogCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbj4sIHVpbnQ2NF90PiBOb3RpZmljYXRpb25NYXA7CiAgICAgTm90aWZp
Y2F0aW9uTWFwIG1fbm90aWZpY2F0aW9uTWFwOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQuY3BwCmluZGV4IDY0MzMxMjQ0MGUxZGZkMTAyMWUzMzM0ZTM4MTU5OWQyZGE0NDA5
NTYuLjhhYzc4ZDVmNDQ2NzI3OTgzZjliMjVlYTU5ODExMDNjOWQzNmQ3NzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9u
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25DbGllbnQuaCIKIAotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgiCkBAIC05
MSw0ICs5MSw0IEBAIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRp
b25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Yk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4IDhhODRiZWExZWI1NWFlMmUwNDcxYzUzZDk1Mzli
NDhlZmI4OTg4NDIuLjQ2ZWIyYTVkODg4OTA2NmNiMDQzNDYyYTExNDkxYjU5MjQ1NzVjYWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90
aWZpY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRl
ZiBXZWJOb3RpZmljYXRpb25DbGllbnRfaAogI2RlZmluZSBXZWJOb3RpZmljYXRpb25DbGllbnRf
aAogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvTm90
aWZpY2F0aW9uQ2xpZW50Lmg+CiAKQEAgLTU5LDYgKzU5LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRp
ZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogCiAjZW5kaWYgLy8gV2ViTm90aWZpY2F0aW9uQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAzOGY0NWU0MDZkNDllNmU2MmI4
MjJjODg4Y2I4NGRiODE0M2ZiYTE2Li43YjdkYzY2ZmY1OTk2MDc2NTAwYWIyYzA1OTExNGU5YTc5
MGZmYzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCkBAIC0yMzcsNyArMjM3LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQs
IGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgCiAgICAg
bV9wYWdlID0gYWRvcHRQdHIobmV3IFBhZ2UocGFnZUNsaWVudHMpKTsKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgV2ViQ29yZTo6cHJvdmlkZU5vdGlmaWNhdGlvbihtX3BhZ2Uu
Z2V0KCksIG5ldyBXZWJOb3RpZmljYXRpb25DbGllbnQodGhpcykpOwogI2VuZGlmCiAKQEAgLTE5
NDksNyArMTk0OSw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2Vi
UHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0dGluZ3MtPnNldFNob3VsZERpc3BsYXlU
ZXh0RGVzY3JpcHRpb25zKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6c2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNLZXkoKSkpOwogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHNldHRpbmdzLT5zZXROb3RpZmljYXRpb25zRW5h
YmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om5vdGlmaWNh
dGlvbnNFbmFibGVkS2V5KCkpKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcAppbmRleCA5YThiOTA1ZmU0YTgxNDg5NWJlZTVjMDg0Yzc3OTBmODI4Y2Vk
OTZmLi5jMWJhMDUwY2Y2ZGExZDdhYTE2MTc2MTQzN2Y0YzQ4ZDVhZGUyMWQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE0MSw3ICsxNDEsNyBAQCBXZWJQ
cm9jZXNzOjpXZWJQcm9jZXNzKCkKICNlbmRpZgogICAgICwgbV90ZXh0Q2hlY2tlclN0YXRlKCkK
ICAgICAsIG1fZ2VvbG9jYXRpb25NYW5hZ2VyKHRoaXMpCi0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKICAgICAsIG1fbm90aWZpY2F0aW9uTWFuYWdlcih0aGlzKQogI2VuZGlmCiAgICAgLCBt
X2ljb25EYXRhYmFzZVByb3h5KHRoaXMpCkBAIC02MzgsNyArNjM4LDcgQEAgdm9pZCBXZWJQcm9j
ZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBD
b3JlSVBDOjpNZXMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJO
b3RpZmljYXRpb25NYW5hZ2VyPigpKSB7CiAgICAgICAgIG1fbm90aWZpY2F0aW9uTWFuYWdlci5k
aWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7CiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggZWZh
MmU2ODFhNjJhOGU2ZDkzNTg3NDY2OTM5YWQzM2Q0MjNiOTJmYi4uMWE0OTg5ZjA2Mjk5MjQ2Zjk4
ZjZmMDAzYmJhMWMwYTNhYzg2NTBlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKQEAgLTQ4LDcgKzQ4LDcgQEAKIGNsYXNzIFFOZXR3b3JrQWNjZXNzTWFuYWdlcjsKICNl
bmRpZgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyLmgiCiAjZW5kaWYKIApAQCAtMTMzLDcgKzEzMyw3IEBAIHB1YmxpYzoKICAg
ICAvLyBHZW9sb2NhdGlvbgogICAgIFdlYkdlb2xvY2F0aW9uTWFuYWdlciYgZ2VvbG9jYXRpb25N
YW5hZ2VyKCkgeyByZXR1cm4gbV9nZW9sb2NhdGlvbk1hbmFnZXI7IH0KICAgICAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXImIG5vdGlmaWNh
dGlvbk1hbmFnZXIoKSB7IHJldHVybiBtX25vdGlmaWNhdGlvbk1hbmFnZXI7IH0KICNlbmRpZgog
CkBAIC0yNjgsNyArMjY4LDcgQEAgcHJpdmF0ZToKIAogICAgIFRleHRDaGVja2VyU3RhdGUgbV90
ZXh0Q2hlY2tlclN0YXRlOwogICAgIFdlYkdlb2xvY2F0aW9uTWFuYWdlciBtX2dlb2xvY2F0aW9u
TWFuYWdlcjsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXIgbV9ub3RpZmljYXRpb25NYW5hZ2VyOwogI2VuZGlmCiAgICAgV2ViSWNvbkRhdGFi
YXNlUHJveHkgbV9pY29uRGF0YWJhc2VQcm94eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCmluZGV4IGZhMDM4MGZmZjc0NjViNWZjMmIwY2NmOTNl
ZjZjZTk0ZWI3MzMxMjEuLmI1NjU4ZDhhM2ZlY2Y2NmYxN2Y5NDI1NmNkMDMxYWI2NDQ5YWNmNWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbQpA
QCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2Vi
UHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzCiAKICAgICBtX2NvbXBv
c2l0aW5nUmVuZGVyU2VydmVyUG9ydCA9IHBhcmFtZXRlcnMuYWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z1BvcnQucG9ydCgpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBtX25vdGlm
aWNhdGlvbk1hbmFnZXIuaW5pdGlhbGl6ZShwYXJhbWV0ZXJzLm5vdGlmaWNhdGlvblBlcm1pc3Np
b25zKTsKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131744</attachid>
            <date>2012-03-13 16:17:06 -0700</date>
            <delta_ts>2012-03-13 16:24:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80922-20120313161823.patch</filename>
            <type>text/plain</type>
            <size>95001</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmRlMDI5MzBhYTcxYzVk
YTQxMjJlOTY5Mzc1M2NmODczZTkzOTBmNi4uNzg5OGE4MDQ4NDRiYTg5ZDQ4NTBiMThmMWZhM2Nh
MTgxMThiNGU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDEyLTAzLTEzICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBOT1RJRklDQVRJT05T
IGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExMDM1MDgy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFlvdSBj
YW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBh
bmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05PVElGSUNBVElPTlMgc2hv
dWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0eSwgYW5kIE5PVElGSUNB
VElPTlMgd2lsbCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhlcmVmb3JlLCBBUElzIHRo
YXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgorICAgICAgICAjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKworICAg
ICAgICBUaGlzIHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUgZXhhY3RseSB0aGUgc2Ft
ZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWlncmF0ZSB0bworICAgICAg
ICB0aGUgbmV3IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBzcGxpdC4gVGhpcyBhbGxv
d3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGluY2x1ZGUuCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbTogVXBkYXRlIHRoZSBzY3Jp
cHQgdG8gaGFuZGxlIHRoZSAifCIgZmxhZyBpbiBhIGNvbmRpdGlvbmFsLgorICAgICAgICAocHJl
ZmVycmVkQ29uZGl0aW9uYWwpOgorICAgICAgICAoY29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmli
dXRlVmFsdWUpOgorICAgICAgICAoZ2VuZXJhdGVJbnRlcmZhY2VzSGVhZGVyKToKKyAgICAgICAg
KGdlbmVyYXRlSGVhZGVyc0hlYWRlcik6CisKKyAgICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8g
YmUgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogYmluZGluZ3MvY3BwL1dl
YkRPTUV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKHRvV2ViS2l0KToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwOgorICAgICAgICAq
IGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwOgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6Cisg
ICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOgorICAgICAgICAqIG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcDoKKyAgICAgICAgKiBub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5oOgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmlkbDoKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRl
bnRzLmg6CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
On5ET01XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojp3aWxsRGV0YWNoUGFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmRpc2Nvbm5lY3RET01XaW5kb3dQcm9w
ZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6Y2xlYXJET01XaW5kb3dQcm9w
ZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6
CisgICAgICAgIChET01XaW5kb3cpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjp3aWxsRGV0
YWNoUGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6dHJhbnNmZXJDaGlsZEZyYW1lVG9O
ZXdEb2N1bWVudCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6On5Xb3JrZXJDb250ZXh0KToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAoV29y
a2VyQ29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJU
aHJlYWQ6OldvcmtlclRocmVhZCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoK
KyAgICAgICAgKFdvcmtlclRocmVhZCk6CisKIDIwMTItMDMtMTMgIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIE1hcmsgcm9vdCBsYXllciBz
Y3JvbGxiYXJzIGFzIGFsd2F5cyBvcGFxdWUgdG8gZGlzYWJsZSBibGVuZGluZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggYjg5MmM3NzlmZGE2YTc2YTFjNWUyMTFjODc5MjM3YWJm
MmE5MzViYi4uMmVhOWRjN2NiZTU3NDM4M2MxMzg2ODUzN2ZmMTdjNGYxZTQxN2ZiZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDMtMTMgIEpv
biBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElP
TlMgYW5kIExFR0FDWV9OT1RJRklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzUw
ODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgWW91
IGNhbiBpbmNsdWRlIGVpdGhlciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJT05T
IGFuZCBoYXZlIGEgY29tcGxldGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBz
aG91bGQgY292ZXIgYWxsIG9mIHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9USUZJ
Q0FUSU9OUyB3aWxsIGNvdmVyIHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQSXMg
dGhhdCBhcmUgY29tbW9uIGJldHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRoZSBz
YW1lLiBBcyBvdGhlciBidWdzIHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisgICAg
ICAgIHRoZSBuZXcgQVBJLCB0aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlzIGFs
bG93cyBwb3J0cyB0byBkZWNpZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKworICAg
ICAgICBVcGRhdGUgZXZlcnl0aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBBcGkvV2ViUGFnZS5jcHA6
CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjppbml0KToKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcDoKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmg6CisKIDIw
MTItMDMtMTMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4gJiYgQmVuamFtaW4gUG91
bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVOQUJM
RShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDc1M2Y5NDNiYmM5MjY1ODU5MTgwZGVjN2ZjNzIwMWE4ZDQ5Y2E3OTguLmJkMjFiNzc3YzBkYWE4
MmM2N2E2M2RjMDY1MzRmZGE3MzA2MzY2ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTItMDMtMTMgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgor
CisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5kIExFR0FDWV9OT1RJRklDQVRJT05T
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDkyMgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzUwODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgWW91IGNhbiBpbmNsdWRlIGVpdGhlciBOT1RJRklD
QVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJT05TIGFuZCBoYXZlIGEgY29tcGxldGUgQVBJLgor
ICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBzaG91bGQgY292ZXIgYWxsIG9mIHRoZSBwcmV2
aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9USUZJQ0FUSU9OUyB3aWxsIGNvdmVyIHRoZQorICAg
ICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQSXMgdGhhdCBhcmUgY29tbW9uIGJldHdlZW4gdGhl
IHR3byB3aWxsIGhhdmU6CisgICAgICAgICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorCisgICAgICAgIFRoaXMgcGF0Y2ggaW5pdGlhbGx5
IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRoZSBzYW1lLiBBcyBvdGhlciBidWdzIHdpdGggcGF0
Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisgICAgICAgIHRoZSBuZXcgQVBJLCB0aGUgZGVmaW5l
cyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlzIGFsbG93cyBwb3J0cyB0byBkZWNpZGUgd2hpY2gg
c2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKworICAgICAgICBVcGRhdGUgZXZlcnl0aGluZyB0byBi
ZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3Jj
L05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuY3BwOgorICAgICAgICAqIHNyYy9Ob3RpZmljYXRp
b25QcmVzZW50ZXJJbXBsLmg6CisgICAgICAgICogc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHA6Cisg
ICAgICAgICogc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlTm90aWZpY2F0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlJ1bnRpbWVGZWF0dXJlczo6aXNOb3RpZmljYXRpb25zRW5hYmxlZCk6CisgICAgICAgICog
c3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OldlYlZp
ZXdJbXBsKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6
CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMDMtMTMgIEdhdmluIFBldGVycyAgPGdh
dmlucEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IEFwcGxpY2F0aW9uQ2FjaGVI
b3N0OjpjYW5DYWNoZUluUGFnZUNhY2hlKCkgZm9yIGNocm9taXVtLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmlu
ZGV4IGFiZjUyZGM2OGRlMDg1NTlkNzJjM2IwNWE0ZmVjNzk1YTNhZDNhYTMuLjBiYjc2NjJjZjcz
ZjE2ZDJhMWEwMzg0ZmRkOTljOTA0ZmU5N2UxODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAg
ICAgU2VwYXJhdGUgTk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElGSUNBVElPTlMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTIyCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8xMTAzNTA4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBZb3UgY2FuIGluY2x1ZGUgZWl0aGVyIE5PVElGSUNBVElPTlMg
b3IgTEVHQUNZX05PVElGSUNBVElPTlMgYW5kIGhhdmUgYSBjb21wbGV0ZSBBUEkuCisgICAgICAg
IExFR0FDWV9OT1RJRklDQVRJT05TIHNob3VsZCBjb3ZlciBhbGwgb2YgdGhlIHByZXZpb3VzIGZ1
bmN0aW9uYWxpdHksIGFuZCBOT1RJRklDQVRJT05TIHdpbGwgY292ZXIgdGhlCisgICAgICAgIG5l
dyBBUEkuIFRoZXJlZm9yZSwgQVBJcyB0aGF0IGFyZSBjb21tb24gYmV0d2VlbiB0aGUgdHdvIHdp
bGwgaGF2ZToKKyAgICAgICAgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbml0aWFsbHkgc2V0cyBi
b3RoIHRvIGJlIGV4YWN0bHkgdGhlIHNhbWUuIEFzIG90aGVyIGJ1Z3Mgd2l0aCBwYXRjaGVzIGJl
Z2luIHRvIG1pZ3JhdGUgdG8KKyAgICAgICAgdGhlIG5ldyBBUEksIHRoZSBkZWZpbmVzIHdpbGwg
YmVnaW4gdG8gc3BsaXQuIFRoaXMgYWxsb3dzIHBvcnRzIHRvIGRlY2lkZSB3aGljaCBzZXQgb2Yg
QVBJcyB0byBpbmNsdWRlLgorCisgICAgICAgIFVwZGF0ZSBldmVyeXRoaW5nIHRvIGJlICNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAg
ICAgKENocm9tZUNsaWVudEVmbCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0
aW9uUHJlc2VudGVyQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmwuaDoKKwogMjAxMi0wMy0xMyAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPiAmJiBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NB
VElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAyNWU0Y2Q2MDc0MjZmOGQ4MTMyZjUzMzc1MGEyZjkx
NmU1ZjA0YmE1Li5iODNhYzllNmJlNWEyYjBkNWFkMjk3OTcwZjlhYjlhYTBkMzI1YTllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTItMDMtMTMgIEpvbiBMZWUgIDxqb25s
ZWVAYXBwbGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5kIExFR0FD
WV9OT1RJRklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzUwODI+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgWW91IGNhbiBpbmNsdWRl
IGVpdGhlciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJT05TIGFuZCBoYXZlIGEg
Y29tcGxldGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBzaG91bGQgY292ZXIg
YWxsIG9mIHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9USUZJQ0FUSU9OUyB3aWxs
IGNvdmVyIHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQSXMgdGhhdCBhcmUgY29t
bW9uIGJldHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorCisgICAgICAgIFRoaXMg
cGF0Y2ggaW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRoZSBzYW1lLiBBcyBvdGhl
ciBidWdzIHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisgICAgICAgIHRoZSBuZXcg
QVBJLCB0aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlzIGFsbG93cyBwb3J0cyB0
byBkZWNpZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKworICAgICAgICBVcGRhdGUg
ZXZlcnl0aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQubW06CisgICAgICAgIChXZWJOb3RpZmljYXRpb25DbGllbnQ6OnNob3cpOgorICAgICAgICAo
V2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjYW5jZWwpOgorICAgICAgICAoV2ViTm90aWZpY2F0aW9u
Q2xpZW50OjpjbGVhck5vdGlmaWNhdGlvbnMpOgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uQ2xp
ZW50Ojpub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQpOgorICAgICAgICAoV2ViTm90aWZpY2F0
aW9uQ2xpZW50Ojpub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKToKKyAgICAgICAgKFdl
Yk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAoV2ViTm90
aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24pOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
Tm90aWZpY2F0aW9uLm1tOgorICAgICAgICAoLVtXZWJOb3RpZmljYXRpb24gdGl0bGVdKToKKyAg
ICAgICAgKC1bV2ViTm90aWZpY2F0aW9uIGJvZHldKToKKyAgICAgICAgKC1bV2ViTm90aWZpY2F0
aW9uIHJlcGxhY2VJRF0pOgorICAgICAgICAoLVtXZWJOb3RpZmljYXRpb24gb3JpZ2luXSk6Cisg
ICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiBub3RpZmljYXRpb25JRF0pOgorICAgICAgICAoLVtX
ZWJOb3RpZmljYXRpb24gZGlzcGF0Y2hTaG93RXZlbnRdKToKKyAgICAgICAgKC1bV2ViTm90aWZp
Y2F0aW9uIGRpc3BhdGNoQ2xvc2VFdmVudF0pOgorICAgICAgICAoLVtXZWJOb3RpZmljYXRpb24g
ZGlzcGF0Y2hDbGlja0V2ZW50XSk6CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiBkaXNwYXRj
aEVycm9yRXZlbnRdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYk5vdGlmaWNhdGlvbkludGVybmFs
Lmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9j
b21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorCiAyMDEyLTAz
LTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+ICYmIEJlbmphbWluIFBvdWxhaW4g
IDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWx3YXlzIGVuYWJsZSBFTkFCTEUoQ0xJ
RU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA2NGNiNjVkMzFlOTYxMmFm
YTVjZDM5MDYwNTNmMGE5YmFkNGRhNjM4Li45ZTlhMTE4MzkzZGQ1MTQ2MmEyNTY0YjYwYjMwOTNh
NjMzYTk1MWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAzLTEzICBK
b24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBOT1RJRklDQVRJ
T05TIGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExMDM1
MDgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFlv
dSBjYW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lfTk9USUZJQ0FUSU9O
UyBhbmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05PVElGSUNBVElPTlMg
c2hvdWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0eSwgYW5kIE5PVElG
SUNBVElPTlMgd2lsbCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhlcmVmb3JlLCBBUElz
IHRoYXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgorICAgICAgICAjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKwor
ICAgICAgICBUaGlzIHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUgZXhhY3RseSB0aGUg
c2FtZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWlncmF0ZSB0bworICAg
ICAgICB0aGUgbmV3IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBzcGxpdC4gVGhpcyBh
bGxvd3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGluY2x1ZGUuCisKKyAg
ICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8gYmUgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAg
KFFXZWJQYWdlUHJpdmF0ZTo6flFXZWJQYWdlUHJpdmF0ZSk6CisgICAgICAgIChRV2ViUGFnZTo6
c2V0RmVhdHVyZVBlcm1pc3Npb24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpk
dW1wTm90aWZpY2F0aW9uKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzaW11
bGF0ZURlc2t0b3BOb3RpZmljYXRpb25DbGljayk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25XcmFwcGVyOjpOb3RpZmljYXRpb25XcmFwcGVy
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbldyYXBwZXI6OmNsb3NlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbldyYXBwZXI6OnRpdGxlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbldyYXBwZXI6Om1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Tm90
aWZpY2F0aW9uV3JhcHBlcjo6aWNvbkRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0
aW9uV3JhcHBlcjo6b3BlbmVyUGFnZVVybCk6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRp
b25XcmFwcGVyOjpub3RpZmljYXRpb25DbGlja2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbldyYXBwZXI6Om5vdGlmaWNhdGlvbkNsb3NlZCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorCiAyMDEyLTAzLTEzICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIEF0dGVtcHQgdG8gZml4IFF0TWluaW1hbCBib3QgYWZ0ZXIgcjExMDU5NQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCmluZGV4IGNkYWE0MjQyYWU2NjM4MjhkNDgzNGI1YjkwZDBiZmYxNmJkZGY5ZWMu
LmYyMDM4NTgyNzkzNzUwNjQyYmIzMzZkZWZiNGNmMDFlMDBiNmViN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5j
b20+CisKKyAgICAgICAgU2VwYXJhdGUgTk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElGSUNB
VElPTlMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
OTIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMTAzNTA4Mj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBZb3UgY2FuIGluY2x1ZGUgZWl0aGVyIE5P
VElGSUNBVElPTlMgb3IgTEVHQUNZX05PVElGSUNBVElPTlMgYW5kIGhhdmUgYSBjb21wbGV0ZSBB
UEkuCisgICAgICAgIExFR0FDWV9OT1RJRklDQVRJT05TIHNob3VsZCBjb3ZlciBhbGwgb2YgdGhl
IHByZXZpb3VzIGZ1bmN0aW9uYWxpdHksIGFuZCBOT1RJRklDQVRJT05TIHdpbGwgY292ZXIgdGhl
CisgICAgICAgIG5ldyBBUEkuIFRoZXJlZm9yZSwgQVBJcyB0aGF0IGFyZSBjb21tb24gYmV0d2Vl
biB0aGUgdHdvIHdpbGwgaGF2ZToKKyAgICAgICAgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbml0
aWFsbHkgc2V0cyBib3RoIHRvIGJlIGV4YWN0bHkgdGhlIHNhbWUuIEFzIG90aGVyIGJ1Z3Mgd2l0
aCBwYXRjaGVzIGJlZ2luIHRvIG1pZ3JhdGUgdG8KKyAgICAgICAgdGhlIG5ldyBBUEksIHRoZSBk
ZWZpbmVzIHdpbGwgYmVnaW4gdG8gc3BsaXQuIFRoaXMgYWxsb3dzIHBvcnRzIHRvIGRlY2lkZSB3
aGljaCBzZXQgb2YgQVBJcyB0byBpbmNsdWRlLgorCisgICAgICAgIFVwZGF0ZSBldmVyeXRoaW5n
IHRvIGJlICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OldlYkNocm9tZUNsaWVudCk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQp
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdh
dGUuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25z
RGVsZWdhdGUuaDoKKwogMjAxMi0wMy0xMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PiAmJiBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFs
d2F5cyBlbmFibGUgRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cKaW5kZXggMGRkYWI5MWQ0Zjg1ZGExMjY2YTQwNmRmMDkzNGJjNGM2ODQ2NDIyZi4uY2Fj
MDEzZGFlOWNmN2Y0YjM3NTY2OTVlOTU1NGYwYWNjNjc5ZDljZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5j
b20+CisKKyAgICAgICAgU2VwYXJhdGUgTk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElGSUNB
VElPTlMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
OTIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMTAzNTA4Mj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBZb3UgY2FuIGluY2x1ZGUgZWl0aGVyIE5P
VElGSUNBVElPTlMgb3IgTEVHQUNZX05PVElGSUNBVElPTlMgYW5kIGhhdmUgYSBjb21wbGV0ZSBB
UEkuCisgICAgICAgIExFR0FDWV9OT1RJRklDQVRJT05TIHNob3VsZCBjb3ZlciBhbGwgb2YgdGhl
IHByZXZpb3VzIGZ1bmN0aW9uYWxpdHksIGFuZCBOT1RJRklDQVRJT05TIHdpbGwgY292ZXIgdGhl
CisgICAgICAgIG5ldyBBUEkuIFRoZXJlZm9yZSwgQVBJcyB0aGF0IGFyZSBjb21tb24gYmV0d2Vl
biB0aGUgdHdvIHdpbGwgaGF2ZToKKyAgICAgICAgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbml0
aWFsbHkgc2V0cyBib3RoIHRvIGJlIGV4YWN0bHkgdGhlIHNhbWUuIEFzIG90aGVyIGJ1Z3Mgd2l0
aCBwYXRjaGVzIGJlZ2luIHRvIG1pZ3JhdGUgdG8KKyAgICAgICAgdGhlIG5ldyBBUEksIHRoZSBk
ZWZpbmVzIHdpbGwgYmVnaW4gdG8gc3BsaXQuIFRoaXMgYWxsb3dzIHBvcnRzIHRvIGRlY2lkZSB3
aGljaCBzZXQgb2YgQVBJcyB0byBpbmNsdWRlLgorCisgICAgICAgIFVwZGF0ZSBldmVyeXRoaW5n
IHRvIGJlICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6Cisg
ICAgICAgIChDaHJvbWVDbGllbnRXaW5DRSk6CisKIDIwMTItMDMtMTMgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4gJiYgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNv
bT4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJ
T04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggODBkOWQxMzVhZmJhMjEzYTMwNDZmYTU3MWEyMGNlNTU2NGUyZmZk
Yy4uNWJhMGQwZjlmM2Y2MDRiMGEyYTQ3MDk1NzcwNGM2ODdmMzIyNWVmNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDYxIEBACisyMDEyLTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
KworICAgICAgICBTZXBhcmF0ZSBOT1RJRklDQVRJT05TIGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9O
UworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExMDM1MDgyPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFlvdSBjYW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJ
Q0FUSU9OUyBvciBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBhbmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4K
KyAgICAgICAgTEVHQUNZX05PVElGSUNBVElPTlMgc2hvdWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJl
dmlvdXMgZnVuY3Rpb25hbGl0eSwgYW5kIE5PVElGSUNBVElPTlMgd2lsbCBjb3ZlciB0aGUKKyAg
ICAgICAgbmV3IEFQSS4gVGhlcmVmb3JlLCBBUElzIHRoYXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRo
ZSB0d28gd2lsbCBoYXZlOgorICAgICAgICAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKworICAgICAgICBUaGlzIHBhdGNoIGluaXRpYWxs
eSBzZXRzIGJvdGggdG8gYmUgZXhhY3RseSB0aGUgc2FtZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBh
dGNoZXMgYmVnaW4gdG8gbWlncmF0ZSB0bworICAgICAgICB0aGUgbmV3IEFQSSwgdGhlIGRlZmlu
ZXMgd2lsbCBiZWdpbiB0byBzcGxpdC4gVGhpcyBhbGxvd3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNo
IHNldCBvZiBBUElzIHRvIGluY2x1ZGUuCisKKyAgICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8g
YmUgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgor
ICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAg
IChXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmVuc3VyZVdlYlByb2Nl
c3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3Qp
OgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6
OmNhbmNlbFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXI6OnBlcm1pc3Npb25MZXZlbCk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBl
cm1pc3Npb25EZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dl
Yk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFVwZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9u
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkUmVtb3ZlTm90
aWZpY2F0aW9uRGVjaXNpb25zKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFu
YWdlcjo6cG9saWN5Rm9yT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9u
TWFuYWdlcjo6c2hvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6
OmNhbmNlbCk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNsZWFy
Tm90aWZpY2F0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6
OmRpZERlc3Ryb3lOb3RpZmljYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRp
b25NYW5hZ2VyOjpkaWRTaG93Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90
aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xpY2tOb3RpZmljYXRpb24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbG9zZU5vdGlmaWNhdGlvbnMpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmg6Cisg
ICAgICAgIChXZWJOb3RpZmljYXRpb25NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHA6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OldlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmRp
ZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAg
ICAgICAgKFdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NN
YWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdl
YlByb2Nlc3MpOgorCiAyMDEyLTAzLTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
ICYmIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWx3
YXlzIGVuYWJsZSBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgppbmRleCA4MmUwZWUzOGRkY2QzYWU2NDRjMmQ1ZjUyOTllZDBiMzM1YmZjMWRhLi41M2Zm
NjM4NDg5ZmJmOTM4YjQ2YzBmMjczYmE2ODZmMjg0NDE0OWQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgpAQCAtMjExOCw3ICsyMTE4LDcgQEAgX19aTks3V2ViQ29yZTdJbnRTaXplY3Y3X05TU2l6ZUV2
CiBfd2tDcmVhdGVWTVByZXNzdXJlRGlzcGF0Y2hPbk1haW5RdWV1ZQogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb25DMUV2CiBf
X1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbkQxRXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9u
MTdkaXNwYXRjaFNob3dFdmVudEV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9jcHAvV2ViRE9NRXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvY3Bw
L1dlYkRPTUV2ZW50VGFyZ2V0LmNwcAppbmRleCBmMGM2MDk4NWI2NGE2MDUyMDIxNzE1NDM3MjIy
NTQyNzMwNmI1NzQxLi4xNzM0NGZjYzYwM2E0NWFhYjA3ODY0MDVhZmE0MDQ2NmNhMjJiNjA1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9jcHAvV2ViRE9NRXZlbnRUYXJnZXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2NwcC9XZWJET01FdmVudFRhcmdldC5j
cHAKQEAgLTU2LDcgKzU2LDcgQEAKICNpbmNsdWRlICJXZWJET01TaGFyZWRXb3JrZXJDb250ZXh0
LmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiV2Vi
RE9NTm90aWZpY2F0aW9uLmgiCiAjZW5kaWYKIApAQCAtMTIyLDcgKzEyMiw3IEBAIENvbnZlcnRU
byhTaGFyZWRXb3JrZXIpCiBDb252ZXJ0VG8oU2hhcmVkV29ya2VyQ29udGV4dCkKICNlbmRpZgog
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIENvbnZlcnRUbyhOb3RpZmljYXRpb24pCiAj
ZW5kaWYKIApAQCAtMTY2LDcgKzE2Niw3IEBAIFdlYkRPTUV2ZW50VGFyZ2V0IHRvV2ViS2l0KFdl
YkNvcmU6OkV2ZW50VGFyZ2V0KiB2YWx1ZSkKICAgICAgICAgcmV0dXJuIHRvV2ViS2l0KHdvcmtl
ckNvbnRleHQpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIGlm
IChXZWJDb3JlOjpOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IHZhbHVlLT50b05vdGlmaWNh
dGlvbigpKQogICAgICAgICByZXR1cm4gdG9XZWJLaXQobm90aWZpY2F0aW9uKTsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0
aW9uc0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3Rp
ZmljYXRpb25zQ3VzdG9tLmNwcAppbmRleCAxNmE5NjJjNTYyOWEzNTlkNWRjN2NlOGUyMmJhZDg1
MDY1ZTkxMmNlLi5hMGNhZDg4Yjg0NjljNTYzZTFlNGViNDZjNTUyNmY2ODUxNTFmY2UwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25z
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3Rp
ZmljYXRpb25zQ3VzdG9tLmNwcApAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmln
LmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJKU0N1c3RvbVZvaWRDYWxsYmFjay5oIgpAQCAtNzAsNCArNzAsNCBAQCBK
U1ZhbHVlIEpTTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUq
IGV4ZWMpCiAKIH0gLy8gbmFtZXNwYWNlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9J
bkZpbGVzQ29tcGlsZXIucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0luRmls
ZXNDb21waWxlci5wbQppbmRleCBlMTI2MDY4NzkzOGRhYmUwZmQ1ZTdhMzhjNzIzNmVlYTBhYjU2
YmFhLi4zM2U3MjEwZjgxMmQ4ZGZmZjA5YzcwYjVmOTNjMzE1YzIzMGEzNjBkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQpAQCAt
MTY2LDYgKzE2NiwyMyBAQCBzdWIgdG9NYWNyb1N0eWxlKCQkKQogICAgIGRpZSAiT2ssIHlvdSBn
b3QgbWUuIFRoaXMgc2NyaXB0IGlzIHJlYWxseSBqdXN0IGEgZ2lhbnQgaGFjay4gKFwkY2FtZWxD
YXNlPSR7Y2FtZWxDYXNlfSkiOwogfQogCitzdWIgcHJlZmVycmVkQ29uZGl0aW9uYWwoKQorewor
ICAgIG15ICRvYmplY3QgPSBzaGlmdDsKKyAgICBteSAkY29uZGl0aW9uYWwgPSBzaGlmdDsKKwor
ICAgIG15IEBjb25kaXRpb25hbHMgPSBzcGxpdCgnXFx8JywgJGNvbmRpdGlvbmFsKTsKKyAgICBy
ZXR1cm4gJGNvbmRpdGlvbmFsc1swXTsKK30KKworc3ViIGNvbmRpdGlvbmFsU3RyaW5nRnJvbUF0
dHJpYnV0ZVZhbHVlKCkKK3sKKyAgICBteSAkb2JqZWN0ID0gc2hpZnQ7CisgICAgbXkgJGNvbmRp
dGlvbmFsID0gc2hpZnQ7CisgICAgCisgICAgcmV0dXJuICJFTkFCTEUoIiAuIGpvaW4oJykgfHwg
RU5BQkxFKCcsIHNwbGl0KCdcXHwnLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKK30KKwogc3ViIGdl
bmVyYXRlSW50ZXJmYWNlc0hlYWRlcigpCiB7CiAgICAgbXkgJG9iamVjdCA9IHNoaWZ0OwpAQCAt
MjAyLDE3ICsyMTksMTkgQEAgc3ViIGdlbmVyYXRlSW50ZXJmYWNlc0hlYWRlcigpCiAgICAgbXkg
JG1hY3JvU3R5bGVkTmFtZXNwYWNlID0gJG9iamVjdC0+dG9NYWNyb1N0eWxlKCRuYW1lc3BhY2Up
OwogCiAgICAgZm9yIG15ICRjb25kaXRpb25hbCAoc29ydCBrZXlzICVpbnRlcmZhY2VzQnlDb25k
aXRpb25hbCkgewotICAgICAgICBwcmludCBGICIjaWYgRU5BQkxFKCRjb25kaXRpb25hbClcbiI7
Ci0gICAgICAgIHByaW50IEYgIiNkZWZpbmUgRE9NXyR7bWFjcm9TdHlsZWROYW1lc3BhY2V9X0lO
VEVSRkFDRVNfRk9SX0VBQ0hfJGNvbmRpdGlvbmFsKG1hY3JvKSBcXFxuIjsKKyAgICAgICAgbXkg
JHByZWZlcnJlZENvbmRpdGlvbmFsID0gJG9iamVjdC0+cHJlZmVycmVkQ29uZGl0aW9uYWwoJGNv
bmRpdGlvbmFsKTsKKyAgICAgICAgcHJpbnQgRiAiI2lmICIgLiAkb2JqZWN0LT5jb25kaXRpb25h
bFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9uYWwpIC4gIlxuIjsKKworICAgICAg
ICBwcmludCBGICIjZGVmaW5lIERPTV8ke21hY3JvU3R5bGVkTmFtZXNwYWNlfV9JTlRFUkZBQ0VT
X0ZPUl9FQUNIXyRwcmVmZXJyZWRDb25kaXRpb25hbChtYWNybykgXFxcbiI7CiAKICAgICAgICAg
Zm9yIG15ICRpbnRlcmZhY2UgKHNvcnQga2V5cyAleyAkaW50ZXJmYWNlc0J5Q29uZGl0aW9uYWx7
JGNvbmRpdGlvbmFsfSB9KSB7CiAgICAgICAgICAgICBuZXh0IGlmIGRlZmluZWQoJHVuY29uZGl0
aW9uYWxJbnRlcmZhY2VzeyRpbnRlcmZhY2V9KTsKICAgICAgICAgICAgIHByaW50IEYgIiAgICBt
YWNybygkaW50ZXJmYWNlKSBcXFxuIjsKICAgICAgICAgfQogCi0gICAgICAgIHByaW50IEYgIi8v
IEVuZCBvZiBET01fJHttYWNyb1N0eWxlZE5hbWVzcGFjZX1fSU5URVJGQUNFU19GT1JfRUFDSF8k
Y29uZGl0aW9uYWxcbiI7CisgICAgICAgIHByaW50IEYgIi8vIEVuZCBvZiBET01fJHttYWNyb1N0
eWxlZE5hbWVzcGFjZX1fSU5URVJGQUNFU19GT1JfRUFDSF8kcHJlZmVycmVkQ29uZGl0aW9uYWxc
biI7CiAgICAgICAgIHByaW50IEYgIiNlbHNlXG4iOwotICAgICAgICBwcmludCBGICIjZGVmaW5l
IERPTV8ke21hY3JvU3R5bGVkTmFtZXNwYWNlfV9JTlRFUkZBQ0VTX0ZPUl9FQUNIXyRjb25kaXRp
b25hbChtYWNybylcbiI7CisgICAgICAgIHByaW50IEYgIiNkZWZpbmUgRE9NXyR7bWFjcm9TdHls
ZWROYW1lc3BhY2V9X0lOVEVSRkFDRVNfRk9SX0VBQ0hfJHByZWZlcnJlZENvbmRpdGlvbmFsKG1h
Y3JvKVxuIjsKICAgICAgICAgcHJpbnQgRiAiI2VuZGlmXG4iOwogICAgICAgICBwcmludCBGICJc
biI7CiAgICAgfQpAQCAtMjI0LDcgKzI0Myw4IEBAIHN1YiBnZW5lcmF0ZUludGVyZmFjZXNIZWFk
ZXIoKQogICAgIH0KICAgICBwcmludCBGICIgICAgXFxcbiI7CiAgICAgZm9yIG15ICRjb25kaXRp
b25hbCAoc29ydCBrZXlzICVpbnRlcmZhY2VzQnlDb25kaXRpb25hbCkgewotICAgICAgICBwcmlu
dCBGICIgICAgRE9NXyR7bWFjcm9TdHlsZWROYW1lc3BhY2V9X0lOVEVSRkFDRVNfRk9SX0VBQ0hf
JGNvbmRpdGlvbmFsKG1hY3JvKSBcXFxuIjsKKyAgICAgICAgbXkgJHByZWZlcnJlZENvbmRpdGlv
bmFsID0gJG9iamVjdC0+cHJlZmVycmVkQ29uZGl0aW9uYWwoJGNvbmRpdGlvbmFsKTsKKyAgICAg
ICAgcHJpbnQgRiAiICAgIERPTV8ke21hY3JvU3R5bGVkTmFtZXNwYWNlfV9JTlRFUkZBQ0VTX0ZP
Ul9FQUNIXyRwcmVmZXJyZWRDb25kaXRpb25hbChtYWNybykgXFxcbiI7CiAgICAgfQogCiAgICAg
cHJpbnQgRiAiXG4iOwpAQCAtMjU4LDcgKzI3OCw3IEBAIHN1YiBnZW5lcmF0ZUhlYWRlcnNIZWFk
ZXIoKQogICAgICAgICBuZXh0IGlmIGRlZmluZWQoJGluY2x1ZGVkSW50ZXJmYWNlc3skaW50ZXJm
YWNlTmFtZX0pOwogICAgICAgICAkaW5jbHVkZWRJbnRlcmZhY2VzeyRpbnRlcmZhY2VOYW1lfSA9
IDE7CiAKLSAgICAgICAgcHJpbnQgRiAiI2lmIEVOQUJMRSgkY29uZGl0aW9uYWwpXG4iIGlmICRj
b25kaXRpb25hbDsKKyAgICAgICAgcHJpbnQgRiAiI2lmICIgLiAkb2JqZWN0LT5jb25kaXRpb25h
bFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9uYWwpIC4gIlxuIiBpZiAkY29uZGl0
aW9uYWw7CiAgICAgICAgIHByaW50IEYgIiNpbmNsdWRlIFwiJGludGVyZmFjZU5hbWUuaFwiXG4i
OwogICAgICAgICBwcmludCBGICIjaWYgVVNFKEpTQylcbiI7CiAgICAgICAgIHByaW50IEYgIiNp
bmNsdWRlIFwiSlMkaW50ZXJmYWNlTmFtZS5oXCJcbiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3Vz
dG9tLmNwcAppbmRleCA3ZWVjN2VmZDk5YmJkM2M3MjU3NzRjOTcxNTJhMWU1MTU4NDc2Mzg2Li40
ODMwYmIwY2IyNTBhNGE1ZTRhNjA0ZGYyZmM5Yjc3ZWYxNzgwYWVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlv
bkNlbnRlckN1c3RvbS5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJWOE5vdGlmaWNhdGlv
bkNlbnRlci5oIgogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgpAQCAtMTA3LDQgKzEwNyw0
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBl
cm1pc3Npb25DYWxsYmFjayhjb25zdCB2ODo6CiAKIH0gIC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
LSNlbmRpZiAgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDYxOTU4NzM5MzgyNzBkMzZiNzY2NWRjOWRj
ZWQxYjk4MTVkYWVhNGYuLmM4ZDI3NmUxYjBiZTM5YjYxNTkwYmUzYmY1YTVjYzA4ZTkyNjdmMmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtMTgsNyArMTgs
NyBAQCBNZWRpYUNvbnRyb2xsZXIgY29uZGl0aW9uYWw9VklERU8KIE1lZGlhU3RyZWFtIGNvbmRp
dGlvbmFsPU1FRElBX1NUUkVBTQogTWVzc2FnZVBvcnQKIE5vZGUKLU5vdGlmaWNhdGlvbiBjb25k
aXRpb25hbD1OT1RJRklDQVRJT05TCitOb3RpZmljYXRpb24gY29uZGl0aW9uYWw9Tk9USUZJQ0FU
SU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9OUwogU2hhcmVkV29ya2VyIGNvbmRpdGlvbmFsPVNIQVJF
RF9XT1JLRVJTCiBTaGFyZWRXb3JrZXJDb250ZXh0IGNvbmRpdGlvbmFsPVNIQVJFRF9XT1JLRVJT
CiBTVkdFbGVtZW50SW5zdGFuY2UgY29uZGl0aW9uYWw9U1ZHCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggNWRlMGU1MjdjNmEzMzM4NjU1ODE1
OGFlNDg5NDUzYmQwYTViZjlkNi4uNjAzZTBjZmZjMjJiYTk1ZmQ1N2Q5YWYxNmI4Zjg2N2U1ODNh
ZGI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cApAQCAtMzEsNyArMzEsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uLmgiCiAKQEAgLTI2Miw0
ICsyNjIsNCBAQCB2b2lkIE5vdGlmaWNhdGlvbjo6ZGlzcGF0Y2hFcnJvckV2ZW50KCkKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisj
ZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4
IGRkMGQ2ZWQ4NGFkMzA3OWQ4OGJhMDJhMDJiY2FjYzZhNjQ1Y2IzOWQuLmI4ZjMzN2M5MTgwYjZm
NDg3MzgxNDJkYmRjNWFiMGRiMTY5MmEwY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaApAQCAtNDYsNyArNDYsNyBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBOb3RpZmlj
YXRpb25DZW50ZXI7CkBAIC0xNjQsNiArMTY0LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAog
I2VuZGlmIC8vIE5vdGlmaWNhdGlvbnNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaWRsCmluZGV4IGQ4Y2IzY2MzOWEyNWU3MTc0M2U5Zjc1ZTllOGNmNGMx
ODBlMjIxNjguLmU2ZGQyNWExZmE3NDJiZjM3NjEyMjE4NmMwNzQ0ZjU0MTFiOGMzY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKQEAgLTMyLDcg
KzMyLDcgQEAKIG1vZHVsZSB0aHJlYWRzIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENv
bmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCisgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElP
TlN8TEVHQUNZX05PVElGSUNBVElPTlMsCiAgICAgICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICAg
ICAgRXZlbnRUYXJnZXQsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGZmNjA0
NDUzMWExNTQyODIzMjRjMTU0ZTM1OWYyNWRiNGY3N2Q1YTMuLjJmMmQ3ZDZhN2NmMDI3OGQ3Mzlh
OThlODUwZDliYWJiMzQyMzlmN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogI2luY2x1
ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUg
Ik5vdGlmaWNhdGlvbkNlbnRlci5oIgogCkBAIC04MCw0ICs4MCw0IEBAIHZvaWQgTm90aWZpY2F0
aW9uQ2VudGVyOjpkaXNjb25uZWN0RnJhbWUoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
LSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKaW5kZXggMmNjY2MwZGZj
YzZhNmI3YTYxZGMyOTI0YWRiNzU5YWE4YWNkZjU5NS4uMmNlZGFjODZlZTY2YWEzNjc1MGQ1ZTMw
MDhhMGFkN2MyNWRmZTEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5oCkBAIC00MSw3ICs0MSw3IEBACiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTkwLDYgKzkwLDYgQEAgcHJp
dmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElG
SUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKIAogI2VuZGlmIC8vIE5vdGlmaWNhdGlvbkNlbnRlcl9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwK
aW5kZXggOGJlMWVjYzc2OWZiYzVhNDM3Yjc2NGU5NmEwN2U0NzUxNzBhMzU2Ni4uN2IwZmMyNTU1
N2NjNTBhM2I1NTc4YzMyYjgyMjQ1MDkxYzExYzI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbApAQCAtMzIsNyArMzIsNyBA
QAogbW9kdWxlIHRocmVhZHMgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9u
YWw9Tk9USUZJQ0FUSU9OUywKKyAgICAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdB
Q1lfTk9USUZJQ0FUSU9OUywKICAgICAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgICAgICBPbWl0
Q29uc3RydWN0b3IKICAgICBdIE5vdGlmaWNhdGlvbkNlbnRlciB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmgKaW5kZXggMTE4NmMx
Yzc4MjNmMmEwNTAyNDBiNzYwMDY1NTY5NTJiYTQyOTE3My4uNjhhZGQ1MDk5YjkzMzc0YjE5NTNl
OTFlOWU0NzU1OTA3NDYzZTc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25Db250ZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaApAQCAtMzIsNyArMzIsNyBAQAogI2lmbmRlZiBO
b3RpZmljYXRpb25Db250ZW50c19oCiAjZGVmaW5lIE5vdGlmaWNhdGlvbkNvbnRlbnRzX2gKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC01NSw2ICs1NSw2IEBAIHB1YmxpYzoKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisj
ZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKIAogI2VuZGlmIC8vIE5vdGlmaWNhdGlvbkNvbnRlbnRzX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwCmlu
ZGV4IGRmMjM1ZDNjNGIwYzkxYWRhZTJlNDVlZTMxOWM2Y2E2ZTE2NTAwMWYuLmU4ZWZiMDNlOWVl
YTJiNzkxMDlhMzFlNzkyZThjY2Y5MGZlYjQzMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcApAQCAtMjYsNyAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRy
b2xsZXIuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3Rp
ZmljYXRpb25DbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtNzAsNCAr
NzAsNCBAQCB2b2lkIHByb3ZpZGVOb3RpZmljYXRpb24oUGFnZSogcGFnZSwgTm90aWZpY2F0aW9u
Q2xpZW50KiBjbGllbnQpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDdlOWQ1OTdlMzhhMTZk
OTk4M2E1YzY2MWY4ZDU2YzVmNTA5ZDQxNjMuLmExNTUyNjg3ZDBhNDE0NjZkNjdmNDI3NjcyZjAx
M2EyMzY5YmI1NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uQ29udHJvbGxlci5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIE5vdGlm
aWNhdGlvbkNvbnRyb2xsZXJfaAogI2RlZmluZSBOb3RpZmljYXRpb25Db250cm9sbGVyX2gKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTU3LDYgKzU3LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYg
Ly8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
IAogI2VuZGlmIC8vIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXJfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCmluZGV4IDJlNDc2MmY1ZmY2NTNmMzgyNTBmMWNmMzk3OWU5Njc5NzkxZGU2N2UuLmMx
NDE2NzM4ZDc2MDE5OTA0ZjNmYTEwNDRkYzYwNjYzMmIwNGI2N2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKQEAgLTQxOCw3ICs0MTgsNyBAQCBET01XaW5kb3c6On5ET01XaW5kb3coKQog
ICAgICAgICBBU1NFUlQoIW1fc2Vzc2lvblN0b3JhZ2UpOwogICAgICAgICBBU1NFUlQoIW1fbG9j
YWxTdG9yYWdlKTsKICAgICAgICAgQVNTRVJUKCFtX2FwcGxpY2F0aW9uQ2FjaGUpOwotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIEFTU0VSVCghbV9ub3RpZmljYXRpb25zKTsK
ICNlbmRpZgogI2lmIEVOQUJMRShCTE9CKQpAQCAtNDc4LDcgKzQ3OCw3IEBAIHZvaWQgRE9NV2lu
ZG93Ojp3aWxsRGV0YWNoUGFnZSgpCiB7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpm
cmFtZVdpbmRvd0Rpc2NhcmRlZChtX2ZyYW1lLCB0aGlzKTsKIAotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgLy8gQ2xlYXJpbmcgTm90aWZpY2F0aW9ucyByZXF1ZXN0cyBpbnZvbHZl
cyBhY2Nlc3NpbmcgdGhlIGNsaWVudCBzbyBpdCBtdXN0IGJlIGRvbmUKICAgICAvLyBiZWZvcmUg
dGhlIGZyYW1lIGlzIGRldGFjaGVkLgogICAgIHJlc2V0Tm90aWZpY2F0aW9ucygpOwpAQCAtNTI4
LDcgKzUyOCw3IEBAIHZvaWQgRE9NV2luZG93OjpkaXNjb25uZWN0RE9NV2luZG93UHJvcGVydGll
cygpCiAgICAgZm9yIChIYXNoU2V0PERPTVdpbmRvd1Byb3BlcnR5Kj46Oml0ZXJhdG9yIGl0ID0g
bV9wcm9wZXJ0aWVzLmJlZ2luKCk7IGl0ICE9IHN0b3A7ICsraXQpCiAgICAgICAgICgqaXQpLT5k
aXNjb25uZWN0RnJhbWUoKTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLy8g
RklYTUU6IE5vdGlmaWNhdGlvbnMgc2hvdWxkbid0IGhhdmUgZGlmZmVyZW50IGRpc2Nvbm5lY3Rp
b24gbG9naWMgdGhhbgogICAgIC8vIHRoZSByZXN0IG9mIHRoZSBET01XaW5kb3dQcm9wZXJ0aWVz
LgogICAgIC8vIFRoZXJlIGlzIGN1cnJlbnRseSBubyB3YXkgdG8gcmVjb25uZWN0IHRoZW0gaW4g
cmVzdW1lRnJvbVBhZ2VDYWNoZSgpIHNvCkBAIC01NzEsNyArNTcxLDcgQEAgdm9pZCBET01XaW5k
b3c6OmNsZWFyRE9NV2luZG93UHJvcGVydGllcygpCiAgICAgbV9zZXNzaW9uU3RvcmFnZSA9IDA7
CiAgICAgbV9sb2NhbFN0b3JhZ2UgPSAwOwogICAgIG1fYXBwbGljYXRpb25DYWNoZSA9IDA7Ci0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAvLyBGSVhNRTogTm90aWZpY2F0aW9ucyBz
aG91bGRuJ3QgaGF2ZSBkaWZmZXJlbnQgZGlzY29ubmVjdGlvbiBsb2dpYyB0aGFuCiAgICAgLy8g
dGhlIHJlc3Qgb2YgdGhlIERPTVdpbmRvd1Byb3BlcnRpZXMuCiAgICAgcmVzZXROb3RpZmljYXRp
b25zKCk7CkBAIC03ODQsNyArNzg0LDcgQEAgU3RvcmFnZSogRE9NV2luZG93Ojpsb2NhbFN0b3Jh
Z2UoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAgcmV0dXJuIG1fbG9jYWxTdG9yYWdlLmdl
dCgpOwogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIE5vdGlmaWNhdGlvbkNlbnRl
ciogRE9NV2luZG93Ojp3ZWJraXROb3RpZmljYXRpb25zKCkgY29uc3QKIHsKICAgICBpZiAoIWlz
Q3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXgg
NjEzNjI0ZjM3YzJhYTIxY2I2ZGVkMGRkZTk1OTVhMzVmYWExZWNmNy4uYmQ4MWI0OGY1NmVmMTgw
YTlhYWRiMDgwNTMxMWEwMjIwNDJjYjgwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0z
NTYsNyArMzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTdG9yYWdlKiBzZXNz
aW9uU3RvcmFnZShFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgICAgIFN0b3JhZ2UqIGxvY2Fs
U3RvcmFnZShFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogICAgICAgICBOb3RpZmljYXRpb25DZW50ZXIqIHdlYmtpdE5vdGlmaWNhdGlvbnMoKSBj
b25zdDsKICAgICAgICAgLy8gUmVuZGVycyB3ZWJraXROb3RpZmljYXRpb25zIG9iamVjdCBzYWZl
bHkgaW5vcGVyYWJsZSwgZGlzY29ubmVjdHMKICAgICAgICAgLy8gaWYgZnJvbSBlbWJlZGRlci1w
cm92aWRlZCBOb3RpZmljYXRpb25DbGllbnQuCkBAIC00NTAsNyArNDUwLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTdG9yYWdlPiBtX2xvY2FsU3RvcmFn
ZTsKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8RE9NQXBwbGljYXRpb25DYWNoZT4gbV9hcHBsaWNh
dGlvbkNhY2hlOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAgbXV0YWJs
ZSBSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBtX25vdGlmaWNhdGlvbnM7CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDE0MDg2YmYyMGU5ZTQ5NzZhYTg4MTIzYjg2
MGMwN2I0NTkzYTc5YWQuLmYyYjkwY2U1ODEwZmU5NjMwNzhlNTQ4MTJhMTgwOTBiZGU4MmM3MmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTE3MCw3ICsxNzAsNyBAQCBtb2R1bGUg
d2luZG93IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVd
IFN0b3JhZ2UgbG9jYWxTdG9yYWdlCiAgICAgICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CiAKLSNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9U
SUZJQ0FUSU9OUworI2lmIChkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgfHwgKGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAm
JiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBOb3RpZmljYXRpb25DZW50ZXIgd2Via2l0Tm90aWZpY2F0
aW9uczsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IGFkOWNhYjhlOWQxM2ExZjVi
Yjc1ODMxN2JiYzc5NjIzY2JlNmFjNDAuLmIzMTM2NDliZTJkN2VhZDJhMjYzNzEwYTAzZTM3ZDA4
Y2FkNTBmMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC02ODcsNyArNjg3LDcgQEAgdm9pZCBG
cmFtZTo6d2lsbERldGFjaFBhZ2UoKQogICAgIGlmIChGcmFtZSogcGFyZW50ID0gdHJlZSgpLT5w
YXJlbnQoKSkKICAgICAgICAgcGFyZW50LT5sb2FkZXIoKS0+Y2hlY2tMb2FkQ29tcGxldGUoKTsK
IAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKG1fZG9tV2luZG93KQogICAg
ICAgICBtX2RvbVdpbmRvdy0+cmVzZXROb3RpZmljYXRpb25zKCk7CiAjZW5kaWYKQEAgLTczNyw3
ICs3MzcsNyBAQCB2b2lkIEZyYW1lOjp0cmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KCkK
ICAgICAgICAgfQogCiAgICAgICAgIGlmIChtX2RvbVdpbmRvdykgewotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgICAgICAgICBtX2RvbVdpbmRvdy0+cmVzZXROb3RpZmljYXRpb25z
KCk7CiAjZW5kaWYKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4
dC5jcHAKaW5kZXggZGViYmViYTNmZTgwYTc4ZmE2MzNjY2IzYmYyNjFjZWQ2NmY2MWYwYS4uZmI0
MmYzMWE4NmRhMDIyZDE1ZDY3NWVmZWM1N2JhMDIwMDFjN2Y4NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCkBAIC01OSw3ICs1OSw3IEBACiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCi0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNlbmRpZgog
CkBAIC0xMDQsNyArMTA0LDcgQEAgV29ya2VyQ29udGV4dDo6V29ya2VyQ29udGV4dChjb25zdCBL
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBXb3JrZXJUaHIKIFdvcmtlckNvbnRl
eHQ6On5Xb3JrZXJDb250ZXh0KCkKIHsKICAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IHRo
cmVhZCgpLT50aHJlYWRJRCgpKTsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1f
bm90aWZpY2F0aW9ucy5jbGVhcigpOwogI2VuZGlmCiAKQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lk
IFdvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSBz
b3VyY2UsIE1lc3NhZ2VUeXBlCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRk
TWVzc2FnZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3Vy
Y2VVUkwsIGxpbmVOdW1iZXIpOwogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIE5v
dGlmaWNhdGlvbkNlbnRlciogV29ya2VyQ29udGV4dDo6d2Via2l0Tm90aWZpY2F0aW9ucygpIGNv
bnN0CiB7CiAgICAgaWYgKCFtX25vdGlmaWNhdGlvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5oCmluZGV4IGYwNDVhNDgxOWE2NTk0ZDI5NTYyYTAwODA3Yjg2MDJlMmMwMTJi
YTAuLmI1ZDI2MGVlMjA0ODU0ZWNiM2EwNjNhOTZiOWRkYmM4MTY2NmY0YTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xMDUsNyArMTA1LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAvLyBTY3JpcHRFeGVjdXRpb25Db250ZXh0CiAgICAgICAgIHZp
cnR1YWwgV29ya2VyRXZlbnRRdWV1ZSogZXZlbnRRdWV1ZSgpIGNvbnN0OwogCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAgTm90aWZpY2F0aW9uQ2VudGVyKiB3ZWJraXROb3Rp
ZmljYXRpb25zKCkgY29uc3Q7CiAjZW5kaWYKIApAQCAtMTcyLDcgKzE3Miw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgT3duUHRyPFdvcmtlclNjcmlwdENvbnRyb2xsZXI+IG1fc2Ny
aXB0OwogICAgICAgICBXb3JrZXJUaHJlYWQqIG1fdGhyZWFkOwogCi0jaWYgRU5BQkxFX05PVElG
SUNBVElPTlMKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgICAgICBtdXRhYmxlIFJlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IG1f
bm90aWZpY2F0aW9uczsKICNlbmRpZgogI2lmIEVOQUJMRShCTE9CKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyQ29udGV4dC5pZGwKaW5kZXggOTMwYzJkMGFkOGZlNzUxZTQ3NTg2OGEzNjA3
MDI5MzVkZjIwZmY3NS4uZjg4Yjk0OGY5MjA0NTg4ZmE1MjU0MGMwMDQxNmRlMGJlMTdlNzlkYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCkBAIC03MCw3ICs3MCw3
IEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgYm9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2
ZW50IGV2dCkKICAgICAgICAgICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CiAKLSNpZiBkZWZp
bmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUworI2lmIChk
ZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUykgfHwg
KGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgICAgIC8vIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2UKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIE5vdGlmaWNhdGlvbkNlbnRl
ciB3ZWJraXROb3RpZmljYXRpb25zOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clRocmVhZC5jcHAKaW5kZXggZDJlMjNhODdkY2JjNzYxZDJmMjlmODA0YzIzMjZmODE0YzI1YWY0
NS4uZGE1MWMyZGJhOGMzMWM1NjBmOWQ2MzFkOWMxZWM0OTI3ZGMyMmYyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtOTYsNyArOTYsNyBAQCBXb3JrZXJUaHJl
YWQ6OldvcmtlclRocmVhZChjb25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBjb25zdAogICAgICwgbV93b3JrZXJMb2FkZXJQcm94eSh3b3JrZXJMb2FkZXJQcm94
eSkKICAgICAsIG1fd29ya2VyUmVwb3J0aW5nUHJveHkod29ya2VyUmVwb3J0aW5nUHJveHkpCiAg
ICAgLCBtX3N0YXJ0dXBEYXRhKFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpjcmVhdGUoc2NyaXB0
VVJMLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKSkKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogICAgICwgbV9ub3RpZmljYXRpb25DbGllbnQoMCkKICNlbmRpZgogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggY2JlNWE3MTc4ZDQwZDJhMmIyODhjOGMxOWE3
ZGVhZjhlZWRiZmU0Yi4uNjBjNTlkMzc4M2EyODdjNTIxNmY0OGI2ZTA5NTMxMTk3MmViYmUyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC02Miw3ICs2Miw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gTnVtYmVyIG9mIGFjdGl2ZSB3b3JrZXIgdGhy
ZWFkcy4KICAgICAgICAgc3RhdGljIHVuc2lnbmVkIHdvcmtlclRocmVhZENvdW50KCk7CiAKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmljYXRpb25DbGllbnQqIGdl
dE5vdGlmaWNhdGlvbkNsaWVudCgpIHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uQ2xpZW50OyB9CiAg
ICAgICAgIHZvaWQgc2V0Tm90aWZpY2F0aW9uQ2xpZW50KE5vdGlmaWNhdGlvbkNsaWVudCogY2xp
ZW50KSB7IG1fbm90aWZpY2F0aW9uQ2xpZW50ID0gY2xpZW50OyB9CiAjZW5kaWYKQEAgLTkzLDcg
KzkzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIE93blB0cjxXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YT4gbV9zdGFydHVwRGF0YTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAgICAgICAgIE5vdGlmaWNhdGlvbkNsaWVudCogbV9ub3RpZmljYXRpb25DbGllbnQ7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKaW5kZXggY2Nk
MzIyNzU4OWNmYmYwMDg1MGYzNmRjNGU1Njk0M2RhNDNkYWFkNi4uOGJhYmJmZDNlY2ZmZmJiY2I1
ZWMxNTZkNDdkN2UyNmNjZmUxM2NmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0FwaS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dl
YlBhZ2UuY3BwCkBAIC03MSw3ICs3MSw3IEBACiAjaW5jbHVkZSAiTGF5ZXJXZWJLaXRUaHJlYWQu
aCIKICNpbmNsdWRlICJOZXR3b3JrTWFuYWdlci5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHls
ZS5oIgotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9u
UHJlc2VudGVySW1wbC5oIgogI2VuZGlmCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtNDI4LDcgKzQy
OCw3IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmluaXQoY29uc3QgV2ViU3RyaW5nJiBwYWdlR3Jv
dXBOYW1lKQogICAgIHBhZ2VDbGllbnRzLmRldmljZU9yaWVudGF0aW9uQ2xpZW50ID0gbmV3IERl
dmljZU9yaWVudGF0aW9uQ2xpZW50QmxhY2tCZXJyeSh0aGlzKTsKICAgICBtX3BhZ2UgPSBuZXcg
UGFnZShwYWdlQ2xpZW50cyk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdl
YkNvcmU6OnByb3ZpZGVOb3RpZmljYXRpb24obV9wYWdlLCBOb3RpZmljYXRpb25QcmVzZW50ZXJJ
bXBsOjppbnN0YW5jZSgpKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2Vu
dGVySW1wbC5jcHAKaW5kZXggMTZjNDUxZWMzNjRmNGNmNDU4MTY4OTkzNDZmMzA3YTA0YTg4MjRi
OS4uNDU3MGY2Yjc4Y2UzMzg5ZmM1MDI5NjQ3YmQzNjRhZmIwNDRjYzQzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNl
bnRlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9y
dC9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcApAQCAtMTksNyArMTksNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCIKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVkZSA8RXZlbnQuaD4KICNpbmNsdWRl
IDxOb3RpZmljYXRpb24uaD4KICNpbmNsdWRlIDxOb3RpZmljYXRpb25QcmVzZW50ZXJCbGFja0Jl
cnJ5Lmg+CkBAIC0xNTUsNCArMTU1LDQgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBs
Ojpub3RpZmljYXRpb25DbGlja2VkKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZCkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAv
LyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L05vdGlm
aWNhdGlvblByZXNlbnRlckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKaW5kZXggYjcwOGUwMDJlOTgxNmU4
YWUyZWU4Nzk3MzU5OTEwZjEyMTYwYjIzYy4uMjVlOTE2YTkwYmM5M2RiYWYyMzhhYjBmNmEzMzRm
MTAxYzQ1YzhlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVT
dXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oCkBAIC0x
OSw3ICsxOSw3IEBACiAjaWZuZGVmIE5vdGlmaWNhdGlvblByZXNlbnRlckltcGxfaAogI2RlZmlu
ZSBOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBsX2gKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAjaW5jbHVkZSA8Tm90aWZpY2F0aW9uQWNrTGlzdGVuZXIuaD4KICNpbmNsdWRlIDxOb3Rp
ZmljYXRpb25DbGllbnQuaD4KICNpbmNsdWRlIDxOb3RpZmljYXRpb25QcmVzZW50ZXJCbGFja0Jl
cnJ5Lmg+CkBAIC04MSw1ICs4MSw1IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNlbmRpZiAvLyBO
b3RpZmljYXRpb25QcmVzZW50ZXJJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggYWM2ZmEwNDQ3MWFmZGJiOTM1YzZj
M2U1MTJiMzkwYmE3Y2UwYWVmZC4uNmE1NDIwOGZmODg5MmFjZmFiZjI2OGRmZDgxMWY0MTg5MDA5
ZGRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5jcHAKQEAgLTM5Myw3ICszOTMsNyBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYlZpZGVvRnJhbWU6OkZvcm1hdEVtcHR5LCBWaWRlb0ZyYW1lQ2hyb21pdW06OkVtcAog
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWRlb0ZyYW1lOjpGb3JtYXRBU0NJSSwg
VmlkZW9GcmFtZUNocm9taXVtOjpBU0NJSSk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQsIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lv
bkFsbG93ZWQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJOb3RpZmljYXRpb25Q
cmVzZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkLCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1p
c3Npb25Ob3RBbGxvd2VkKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTm90aWZp
Y2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uRGVuaWVkLCBOb3RpZmljYXRpb25DbGllbnQ6OlBl
cm1pc3Npb25EZW5pZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
Tm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcAppbmRleCA5OWE3ZWEzNzhjMDcxOTM5Y2Y2
NDZlNWYxN2Y4NTkyNzlmZTU4YjcwLi42ODNlNjZmYWE1YjY4MGRmNTU0MTJkNWFlN2RhZWYyZjZk
NjNhNmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRp
b25QcmVzZW50ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCIKIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm90
aWZpY2F0aW9uLmgiCkBAIC0xMTEsNCArMTExLDQgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50
ZXJJbXBsOjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXgK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZp
Y2F0aW9uUHJlc2VudGVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZp
Y2F0aW9uUHJlc2VudGVySW1wbC5oCmluZGV4IGNhZDViODgwMTM5YTA4OWQxOTkwZDkzNmY0NGMz
MDNmOWE1YjQ5MWIuLmM0M2UxZDYwZDI0ZjM0NWM5M2U4NWU3MmM0MWJkNDFlODI0YjQ5OWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRl
ckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJJbXBsLmgKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNjYsNiArNjYsNiBAQCBwcml2YXRlOgogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQor
I2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vdGlm
aWNhdGlvbi5jcHAKaW5kZXggODQ5ZGM0ZjY3NGE0MWFmMTBmYWY5ZDI4ODJhMjYwODk4MGYxMGY5
YS4uN2E2M2I1OWQ1MTVlNTU0NjczMzY4ZTViZGUwMDY1MDQ2MjNiYjhlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwCkBAIC0zMSw3ICszMSw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCiAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNs
dWRlICJOb3RpZmljYXRpb24uaCIKQEAgLTE3NCw0ICsxNzQsNCBAQCB2b2lkIFdlYk5vdGlmaWNh
dGlvbjo6YXNzaWduKFdlYk5vdGlmaWNhdGlvblByaXZhdGUqIHApCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCmluZGV4
IGQyOTdhODI4Y2M2MTVmMjY3MTNhMDRjMmEyZjI0Y2Q0ODljZWZlYWUuLjgwYTJiZGIxMzBkNWUy
ZGJkMmE4OGQxZTBkZDczNTczZjVmNjUxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcApAQCAtMTE2LDE0ICsxMTYsMTQgQEAgYm9v
bCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzU29ja2V0c0VuYWJsZWQoKQogCiB2b2lkIFdlYlJ1bnRp
bWVGZWF0dXJlczo6ZW5hYmxlTm90aWZpY2F0aW9ucyhib29sIGVuYWJsZSkKIHsKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYmtp
dE5vdGlmaWNhdGlvbnNFbmFibGVkKGVuYWJsZSk7CiAjZW5kaWYKIH0KIAogYm9vbCBXZWJSdW50
aW1lRmVhdHVyZXM6OmlzTm90aWZpY2F0aW9uc0VuYWJsZWQoKQogewotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OndlYmtpdE5v
dGlmaWNhdGlvbnNFbmFibGVkKCk7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAyMGUyZTRlZjMxM2NmNzMy
NWYyNTJiODQ2NTFmODYwNjg0OWFiYWEzLi4wNmFjNjc5YjYwNTUwYTg5NzBmZGY1OTlmNGFhNTQx
NDQ1ZDZlNTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3Bw
CkBAIC0zODksNyArMzg5LDcgQEAgV2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGll
bnQqIGNsaWVudCkKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogICAgIHByb3ZpZGVTcGVlY2hJ
bnB1dFRvKG1fcGFnZS5nZXQoKSwgbV9zcGVlY2hJbnB1dENsaWVudC5nZXQoKSk7CiAjZW5kaWYK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHByb3ZpZGVOb3RpZmljYXRpb24obV9w
YWdlLmdldCgpLCBub3RpZmljYXRpb25QcmVzZW50ZXJJbXBsKCkpOwogI2VuZGlmCiAKQEAgLTI5
NTIsNyArMjk1Miw3IEBAIHZvaWQgV2ViVmlld0ltcGw6OnNldE92ZXJsYXlMYXllcihXZWJDb3Jl
OjpHcmFwaGljc0xheWVyKiBsYXllcikKICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbCogV2ViVmlld0ltcGw6Om5vdGlmaWNh
dGlvblByZXNlbnRlckltcGwoKQogewogICAgIGlmICghbV9ub3RpZmljYXRpb25QcmVzZW50ZXIu
aXNJbml0aWFsaXplZCgpICYmIG1fY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmgKaW5kZXggMzgxOWVjYjY1NTQxZTFkNTNkYTA4NjgxZDI2NjA4YmRjMzY1ZWE1
Yi4uZDM4ZWU1ZGE2MzM1NDk4NjkyZjRlZjRmMzRlZWNmOGVjNzE2MzBjNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC00MTUsNyArNDE1LDcgQEAgcHVibGlj
OgogICAgICAgICBtX2F1dG9maWxsUG9wdXBTaG93aW5nID0gZmFsc2U7CiAgICAgfQogCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAvLyBSZXR1cm5zIHRoZSBwcm92aWRlciBvZiBk
ZXNrdG9wIG5vdGlmaWNhdGlvbnMuCiAgICAgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbCogbm90
aWZpY2F0aW9uUHJlc2VudGVySW1wbCgpOwogI2VuZGlmCkBAIC02ODEsNyArNjgxLDcgQEAgcHJp
dmF0ZToKICAgICBPd25QdHI8U2V0dGluZ3NNYXA+IG1faW5zcGVjdG9yU2V0dGluZ3NNYXA7CiAg
ICAgT3duUHRyPERyYWdTY3JvbGxUaW1lcj4gbV9kcmFnU2Nyb2xsVGltZXI7CiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgIC8vIFRoZSBwcm92aWRlciBvZiBkZXNrdG9wIG5vdGlm
aWNhdGlvbnM7CiAgICAgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbCBtX25vdGlmaWNhdGlvblBy
ZXNlbnRlcjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKaW5kZXggMGIwMDM3NDE3MmRkOTRlZjI5NTJiYWRhODlj
MWRkN2QwNGFkODRkZS4uZGQ3OWI5M2ExYTQ1ZjA5ZDY2OGI5NzRkNzIwYzA1ODVkNzM0Yjg3OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuY3BwCkBAIC01NSw3ICs1NSw3IEBACiAjaW5jbHVkZSA8RXZhcy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5j
bHVkZSAiTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50RWZsLmgiCiAjZW5kaWYKIApAQCAtNDE3
LDcgKzQxNyw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpleGNlZWRlZERhdGFiYXNlUXVvdGEo
RnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlCiB9CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiBOb3RpZmljYXRpb25DbGllbnQqIENocm9tZUNsaWVudEVm
bDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCkgY29uc3QKIHsKICAgICBub3RJbXBsZW1lbnRlZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRF
ZmwuaAppbmRleCAyNWRkMzVmNzBkNDVkODIwYWIwYTYyNDc0NmU3OGRiZjZiMjBjYTk1Li45Y2U5
ZDY4ZGY3ZGVkYzY2YjE2ZWJiZjNmZDBjM2IzMzY4NjI5MjUzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAtMjgsNyArMjgs
NyBAQAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJQb3B1cE1lbnUuaCIKIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAj
ZW5kaWYKIApAQCAtMTE0LDcgKzExNCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZXhj
ZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwgY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRp
b25DbGllbnQqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0OwogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNl
bnRlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmwuY3BwCmluZGV4IGJhNDY2ZjVjNGYwM2FmNmRjM2Mz
NTk1MmExZDJlNGU1MGVkYjRlMTguLmUzMzczNTEzNGZjNjkzMWZkNDczNDMyYzlhYWE3MGRhODUw
MWFmMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50RWZsLmNwcApAQCAtMjAsNyAr
MjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNl
bnRlckNsaWVudEVmbC5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGll
bnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblBy
ZXNlbnRlckNsaWVudEVmbC5oCmluZGV4IDI2MGM0NDJlZDU3NTRkNzU3Y2FjZTUyZmU4NTQ0YmFm
MzUxMjdjMzcuLjU1MTc0ZTcwNzQ3YjA3NTRhNzQ5MWQ1ZTcwNGJiMzNkN2NjNjBjMzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNl
bnRlckNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05v
dGlmaWNhdGlvblByZXNlbnRlckNsaWVudEVmbC5oCkBAIC0yMCw3ICsyMCw3IEBACiAjaWZuZGVm
IE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudEVmbF9oCiAjZGVmaW5lIE5vdGlmaWNhdGlvblBy
ZXNlbnRlckNsaWVudEVmbF9oCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2luY2x1
ZGUgIk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlci5oIgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmlj
YXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5oCmluZGV4IGQ2OGQ5MjI3NTkyOGU2ZWIwN2NmZTgyYzhhOWFiMDZiYTE0
YjA1NDUuLjVkZmEwNDZkZmRmZjU0M2MxZTIwOTQyOGQzOGI4YzhkNDdiZjMyMmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlv
bkNsaWVudC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0
aW9uQ2xpZW50Lmg+CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2ltcG9ydCA8V2Vi
Q29yZS9Ob3RpZmljYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3
dGYvUmVmUHRyLmg+CkBAIC01Nyw3ICs1Nyw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBXZWJD
b3JlOjpOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKIAogICAgIFdlYlZpZXcgKm1f
d2ViVmlldzsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEhhc2hNYXA8UmVmUHRy
PFdlYkNvcmU6Ok5vdGlmaWNhdGlvbj4sIFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+ID4gbV9u
b3RpZmljYXRpb25NYXA7CiAgICAgCiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0PiwgVmVjdG9yPFJldGFpblB0cjxXZWJOb3RpZmljYXRp
b24+ID4gPiBOb3RpZmljYXRpb25Db250ZXh0TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCmluZGV4IDNm
ZGYwYmM3ZjM2MjJlZWFiNGIxMzJiOGIzOTk2MTQwYzNmZjgxNGUuLmIwZmZkZmQ4Zjg1MjhjYjU2
YTM3OGU5Y2FjN2U0OTJmN2I5OWFmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KQEAgLTI1LDcgKzI1
LDcgQEAKIAogI2ltcG9ydCAiV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogI2ltcG9ydCAiV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlvbkNhY2hp
bmcuaCIKICNpbXBvcnQgIldlYk5vdGlmaWNhdGlvbkludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaCIKQEAgLTM5LDcgKzM5LDcgQEAKIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQGludGVyZmFjZSBXZWJO
b3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lciA6IE5TT2JqZWN0IDxXZWJBbGxvd0RlbnlQb2xpY3lM
aXN0ZW5lcj4KIHsKICAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfY2FsbGJhY2s7CkBAIC00OCw3
ICs0OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogQGVuZAogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlTm90aWZpY2F0
aW9uSUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCB1bmlxdWVOb3RpZmljYXRpb25JRCA9IDE7
CkBAIC02Myw3ICs2Myw3IEBAIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6V2ViTm90aWZpY2F0aW9u
Q2xpZW50KFdlYlZpZXcgKndlYlZpZXcpCiAKIGJvb2wgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpz
aG93KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCiAgICAgaWYgKCFbbV93ZWJWaWV3IF9ub3RpZmljYXRpb25Qcm92aWRlcl0pCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIApAQCAtODQsNyArODQsNyBAQCBib29sIFdlYk5vdGlmaWNhdGlv
bkNsaWVudDo6c2hvdyhOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIAogdm9pZCBXZWJOb3Rp
ZmljYXRpb25DbGllbnQ6OmNhbmNlbChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYk5vdGlmaWNhdGlvbiAqd2ViTm90aWZp
Y2F0aW9uID0gbV9ub3RpZmljYXRpb25NYXAuZ2V0KG5vdGlmaWNhdGlvbikuZ2V0KCk7CiAgICAg
aWYgKCF3ZWJOb3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybjsKQEAgLTk3LDcgKzk3LDcgQEAg
dm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNhbmNlbChOb3RpZmljYXRpb24qIG5vdGlmaWNh
dGlvbikKIAogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNsZWFyTm90aWZpY2F0aW9ucyhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCiAgICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlm
aWNhdGlvbkNvbnRleHRNYXAuZmluZChjb250ZXh0KTsKICAgICBpZiAoaXQgPT0gbV9ub3RpZmlj
YXRpb25Db250ZXh0TWFwLmVuZCgpKQogICAgICAgICByZXR1cm47CkBAIC0xMjAsNyArMTIwLDcg
QEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNsZWFyTm90aWZpY2F0aW9ucyhTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6
bm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQog
ewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgUmV0YWluUHRyPFdlYk5vdGlmaWNh
dGlvbj4gd2ViTm90aWZpY2F0aW9uID0gbV9ub3RpZmljYXRpb25NYXAudGFrZShub3RpZmljYXRp
b24pOwogICAgIGlmICghd2ViTm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm47CkBAIC0xNDEs
NyArMTQxLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhdGlvbk9iamVj
dERlc3Ryb3llZChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGkKIAogdm9pZCBXZWJOb3RpZmljYXRp
b25DbGllbnQ6Om5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAgICAgW21fd2ViVmlldyBfbm90aWZpY2F0aW9uQ29udHJvbGxl
ckRlc3Ryb3llZF07CiAjZW5kaWYKICAgICBkZWxldGUgdGhpczsKQEAgLTE0OSw3ICsxNDksNyBA
QCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ry
b3llZCgpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4g
Y2FsbGJhY2spCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBCRUdJTl9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7CiAgICAgCiAgICAgU0VMIHNlbGVjdG9yID0gQHNlbGVjdG9yKHdl
YlZpZXc6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUmVxdWVzdEZyb21PcmlnaW46bGlzdGVu
ZXI6KTsKQEAgLTE3Myw3ICsxNzMsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVx
dWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUAogCiBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Bl
cm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+aXNEb2N1bWVu
dCgpKQogICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVk
OwogICAgIGlmICghW1ttX3dlYlZpZXcgcHJlZmVyZW5jZXNdIG5vdGlmaWNhdGlvbnNFbmFibGVk
XSkKQEAgLTE5Nyw3ICsxOTcsNyBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlYwogI2VuZGlmCiB9
CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlm
aWNhdGlvblBvbGljeUxpc3RlbmVyCiAtIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRy
PFZvaWRDYWxsYmFjaz4pY2FsbGJhY2sKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJOb3RpZmljYXRpb24ubW0KaW5kZXggNTU3MzMyY2JhMWIwODI5OWMzMzRlMWEyNTI2ODY0M2Q2
MDE0ZWUwNi4uODgyNTUyYjUyYzUzMzE0NDBhY2NmMTllMGEwOGRmNGQwMWRlOGJlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0KQEAgLTMwLDcgKzMw
LDcgQEAKIAogI2ltcG9ydCAiV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaCIKIAotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAjaW1wb3J0ICJXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmgi
CiAjaW1wb3J0IDxXZWJDb3JlL05vdGlmaWNhdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0Lmg+CkBAIC00NCw3ICs0NCw3IEBAIE9CSkNfQ0xBU1MgV2ViTm90
aWZpY2F0aW9uSW50ZXJuYWw7CiBAaW50ZXJmYWNlIFdlYk5vdGlmaWNhdGlvblByaXZhdGUgOiBO
U09iamVjdAogewogQHB1YmxpYwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgUmVm
UHRyPE5vdGlmaWNhdGlvbj4gX2ludGVybmFsOwogICAgIHVpbnQ2NF90IF9ub3RpZmljYXRpb25J
RDsKICNlbmRpZgpAQCAtNTQsNyArNTQsNyBAQCBPQkpDX0NMQVNTIFdlYk5vdGlmaWNhdGlvbklu
dGVybmFsOwogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvblByaXZhdGUKIEBlbmQKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiBAaW1wbGVtZW50YXRpb24gV2ViTm90aWZpY2F0
aW9uIChXZWJOb3RpZmljYXRpb25JbnRlcm5hbCkKIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3Rp
ZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIHsKQEAgLTgzLDcgKzgzLDcgQEAgTm90aWZpY2F0aW9u
KiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtIChOU1N0cmluZyAqKXRp
dGxlCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBBU1NFUlQoY29yZShzZWxm
KSk7CiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPmNvbnRlbnRzKCkudGl0bGU7CiAjZWxzZQpAQCAt
OTMsNyArOTMsNyBAQCBOb3RpZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmlj
YXRpb24pCiAKIC0gKE5TU3RyaW5nICopYm9keQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwogICAgIHJldHVybiBjb3JlKHNlbGYpLT5jb250
ZW50cygpLmJvZHk7CiAjZWxzZQpAQCAtMTAzLDcgKzEwMyw3IEBAIE5vdGlmaWNhdGlvbiogY29y
ZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIAogLSAoTlNTdHJpbmcgKilyZXBsYWNl
SUQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEFTU0VSVChjb3JlKHNlbGYp
KTsKICAgICByZXR1cm4gY29yZShzZWxmKS0+cmVwbGFjZUlkKCk7CiAjZWxzZQpAQCAtMTEzLDcg
KzExMyw3IEBAIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlv
bikKIAogLSAoV2ViU2VjdXJpdHlPcmlnaW4gKilvcmlnaW4KIHsKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIEFTU0VSVChjb3JlKHNlbGYpKTsKICAgICByZXR1cm4gW1tbV2ViU2Vj
dXJpdHlPcmlnaW4gYWxsb2NdIF9pbml0V2l0aFdlYkNvcmVTZWN1cml0eU9yaWdpbjpjb3JlKHNl
bGYpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCldIGF1dG9yZWxl
YXNlXTsKICNlbHNlCkBAIC0xMjMsNyArMTIzLDcgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdlYk5v
dGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtICh1aW50NjRfdClub3RpZmljYXRpb25JRAog
ewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwog
ICAgIHJldHVybiBfcHJpdmF0ZS0+X25vdGlmaWNhdGlvbklEOwogI2Vsc2UKQEAgLTEzMyw3ICsx
MzMsNyBAQCBOb3RpZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24p
CiAKIC0gKHZvaWQpZGlzcGF0Y2hTaG93RXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogICAgIEFTU0VSVChjb3JlKHNlbGYpKTsKICAgICBjb3JlKHNlbGYpLT5kaXNwYXRjaFNo
b3dFdmVudCgpOwogI2VuZGlmCkBAIC0xNDEsNyArMTQxLDcgQEAgTm90aWZpY2F0aW9uKiBjb3Jl
KFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtICh2b2lkKWRpc3BhdGNoQ2xvc2VF
dmVudAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2Vs
ZikpOwogICAgIGNvcmUoc2VsZiktPmRpc3BhdGNoQ2xvc2VFdmVudCgpOwogI2VuZGlmCkBAIC0x
NDksNyArMTQ5LDcgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZp
Y2F0aW9uKQogCiAtICh2b2lkKWRpc3BhdGNoQ2xpY2tFdmVudAogewotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwogICAgIGNvcmUoc2VsZiktPmRp
c3BhdGNoQ2xpY2tFdmVudCgpOwogI2VuZGlmCkBAIC0xNTcsNyArMTU3LDcgQEAgTm90aWZpY2F0
aW9uKiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtICh2b2lkKWRpc3Bh
dGNoRXJyb3JFdmVudAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgQVNTRVJU
KGNvcmUoc2VsZikpOwogICAgIGNvcmUoc2VsZiktPmRpc3BhdGNoRXJyb3JFdmVudCgpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlv
bkludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbklu
dGVybmFsLmgKaW5kZXggYjYyNDA2OWQ5ZWNhZjZjY2IwYmExZGJjOTRmMjA1MjA1OGQ5ZTlhZC4u
M2Y2ZjU2MjZjMmE0ZjRiNDM4NTU0ZjYwZTc5OTZkMzAyYTAxNjFmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaApAQCAtMjgs
NyArMjgsNyBAQAogCiAjaW1wb3J0ICJXZWJOb3RpZmljYXRpb24uaCIKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlv
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAwNWZjNTg2OTRjODM3NTZi
ZjFlMTk1NzAwMTJkZDlkZDMzMjkzYmQ2Li5jMjMwZTAwYzM5NzUyMDRmN2Y1YmFjNDkyMjkzYzVi
YWFkN2YyNGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC03NDAsNyAr
NzQwLDcgQEAgc3RhdGljIE5TU3RyaW5nICpsZWFrT3V0bG9va1F1aXJrc1VzZXJTY3JpcHRDb250
ZW50cygpCiAgICAgcGFnZUNsaWVudHMuZ2VvbG9jYXRpb25DbGllbnQgPSBuZXcgV2ViR2VvbG9j
YXRpb25DbGllbnQoc2VsZik7CiAjZW5kaWYKICAgICBfcHJpdmF0ZS0+cGFnZSA9IG5ldyBQYWdl
KHBhZ2VDbGllbnRzKTsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYkNvcmU6
OnByb3ZpZGVOb3RpZmljYXRpb24oX3ByaXZhdGUtPnBhZ2UsIG5ldyBXZWJOb3RpZmljYXRpb25D
bGllbnQoc2VsZikpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAzY2ZiOWIxY2M1ZTUyNzU5ZWZjZjQ4ZTg5NGEw
MjE5NDcxOWVlMjQ1Li42NTI1ZjZkZDUwNzFjMzRhOTIzODEwMGQ0OTQzMzdjNTQ3MjM1ZmE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0zMzgsNyArMzM4LDcgQEAgUVdlYlBhZ2VQ
cml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZ2UgKnFxKQogICAgICAgICBXZWJDb3JlOjpw
cm92aWRlRGV2aWNlT3JpZW50YXRpb25UbyhwYWdlLCBuZXcgRGV2aWNlT3JpZW50YXRpb25DbGll
bnRRdCk7CiAgICAgV2ViQ29yZTo6cHJvdmlkZURldmljZU1vdGlvblRvKHBhZ2UsIG5ldyBEZXZp
Y2VNb3Rpb25DbGllbnRRdCk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
ICAgIFdlYkNvcmU6OnByb3ZpZGVOb3RpZmljYXRpb24ocGFnZSwgTm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpKTsKICNlbmRpZgogCkBAIC0zNjEs
NyArMzYxLDcgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZ2UgKnFx
KQogCiAgICAgUGFnZUdyb3VwOjpzZXRTaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyh0cnVlKTsKICAg
ICAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgICAgCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPmFkZENsaWVudCgpOwogI2Vu
ZGlmCiB9CkBAIC0zODUsNyArMzg1LDcgQEAgUVdlYlBhZ2VQcml2YXRlOjp+UVdlYlBhZ2VQcml2
YXRlKCkKICAgICBpZiAoaW5zcGVjdG9yKQogICAgICAgICBpbnNwZWN0b3ItPnNldFBhZ2UoMCk7
CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIE5vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+cmVtb3ZlQ2xpZW50KCk7CiAjZW5k
aWYKIH0KQEAgLTIxNDcsNyArMjE0Nyw3IEBAIHZvaWQgUVdlYlBhZ2U6OnNldEZlYXR1cmVQZXJt
aXNzaW9uKFFXZWJGcmFtZSogZnJhbWUsIEZlYXR1cmUgZmVhdHVyZSwgUGVybWlzc2lvCiB7CiAg
ICAgc3dpdGNoIChmZWF0dXJlKSB7CiAgICAgY2FzZSBOb3RpZmljYXRpb25zOgotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIGlmIChwb2xpY3kgPT0gUGVybWlzc2lvbkdyYW50
ZWRCeVVzZXIpCiAgICAgICAgICAgICBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90
aWZpY2F0aW9uUHJlc2VudGVyKCktPmFsbG93Tm90aWZpY2F0aW9uRm9yRnJhbWUoZnJhbWUtPmQt
PmZyYW1lKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAppbmRleCAwYjE4MDgyNGE5ZjBh
NjgyM2Q5MmY1NWU1NjFjNDc5MTk0MDAyZDJiLi40NzQ2YTcwOWU5MzdjMTgyZWYzYmU0MzJlZTgx
OGMzZmUwNmE2OGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcApAQCAtNzkwLDcgKzc5MCw3IEBA
IHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBTZXRBY2NlcHRzRWRpdGluZyhib29s
IGIpCiAKIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBOb3RpZmljYXRpb24oYm9v
bCBiKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6OmR1bXBOb3RpZmljYXRpb24gPSBiOwogI2VuZGlmCiB9CkBAIC05ODcs
NyArOTg3LDcgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6YWRkVXNlclN0eWxlU2hl
ZXQoUVdlYlBhZ2UqIHBhZ2UsIGNvbnN0IFFTdHJpbmcmIHMKIAogdm9pZCBEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdDo6c2ltdWxhdGVEZXNrdG9wTm90aWZpY2F0aW9uQ2xpY2soY29uc3QgUVN0cmlu
ZyYgdGl0bGUpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPm5vdGlmaWNhdGlv
bkNsaWNrZWQodGl0bGUpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQu
Y3BwCmluZGV4IDAwMDUyMTg0YTlmZjg3MTUxMGUzZDgwMWUxZGEwYTg3YWM5YWRlNjMuLjBjNWVh
MTYzYjYwMDRiZTIxOTM1MTJlNTAzNTlmNWExMWE1OWZhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQuY3BwCkBAIC00OCw3ICs0OCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKIGNvbnN0IGRvdWJsZSBub3RpZmljYXRp
b25UaW1lb3V0ID0gMTAuMDsKIApAQCAtNzAsNyArNzAsNyBAQCBOb3RpZmljYXRpb25QcmVzZW50
ZXJDbGllbnRRdCogTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlvblBy
ZXNlbgogTm90aWZpY2F0aW9uV3JhcHBlcjo6Tm90aWZpY2F0aW9uV3JhcHBlcigpCiAgICAgOiBt
X2Nsb3NlVGltZXIodGhpcywgJk5vdGlmaWNhdGlvbldyYXBwZXI6OmNsb3NlKQogewotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpZm5kZWYgUVRfTk9fU1lTVEVNVFJBWUlDT04KICAg
ICBtX25vdGlmaWNhdGlvbkljb24gPSBudWxscHRyOwpAQCAtODEsMTQgKzgxLDE0IEBAIE5vdGlm
aWNhdGlvbldyYXBwZXI6Ok5vdGlmaWNhdGlvbldyYXBwZXIoKQogCiB2b2lkIE5vdGlmaWNhdGlv
bldyYXBwZXI6OmNsb3NlKFRpbWVyPE5vdGlmaWNhdGlvbldyYXBwZXI+KikKIHsKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpu
b3RpZmljYXRpb25QcmVzZW50ZXIoKS0+Y2FuY2VsKHRoaXMpOwogI2VuZGlmCiB9CiAKIGNvbnN0
IFFTdHJpbmcgTm90aWZpY2F0aW9uV3JhcHBlcjo6dGl0bGUoKSBjb25zdAogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBOb3Rp
ZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPm5vdGlm
aWNhdGlvbkZvcldyYXBwZXIodGhpcyk7CiAgICAgaWYgKG5vdGlmaWNhdGlvbikKICAgICAgICAg
cmV0dXJuIG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS50aXRsZTsKQEAgLTk4LDcgKzk4LDcgQEAg
Y29uc3QgUVN0cmluZyBOb3RpZmljYXRpb25XcmFwcGVyOjp0aXRsZSgpIGNvbnN0CiAKIGNvbnN0
IFFTdHJpbmcgTm90aWZpY2F0aW9uV3JhcHBlcjo6bWVzc2FnZSgpIGNvbnN0CiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IE5v
dGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+bm90
aWZpY2F0aW9uRm9yV3JhcHBlcih0aGlzKTsKICAgICBpZiAobm90aWZpY2F0aW9uKQogICAgICAg
ICByZXR1cm4gbm90aWZpY2F0aW9uLT5jb250ZW50cygpLmJvZHk7CkBAIC0xMDksNyArMTA5LDcg
QEAgY29uc3QgUVN0cmluZyBOb3RpZmljYXRpb25XcmFwcGVyOjptZXNzYWdlKCkgY29uc3QKIGNv
bnN0IFFCeXRlQXJyYXkgTm90aWZpY2F0aW9uV3JhcHBlcjo6aWNvbkRhdGEoKSBjb25zdAogewog
ICAgIFFCeXRlQXJyYXkgaWNvbkRhdGE7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAg
ICBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+bm90aWZpY2F0aW9uRm9yV3JhcHBlcih0aGlz
KTsKICAgICBpZiAobm90aWZpY2F0aW9uKSB7CiAgICAgICAgIGlmIChub3RpZmljYXRpb24tPmlj
b25EYXRhKCkpCkBAIC0xMjIsNyArMTIyLDcgQEAgY29uc3QgUUJ5dGVBcnJheSBOb3RpZmljYXRp
b25XcmFwcGVyOjppY29uRGF0YSgpIGNvbnN0CiBjb25zdCBRVXJsIE5vdGlmaWNhdGlvbldyYXBw
ZXI6Om9wZW5lclBhZ2VVcmwoKSBjb25zdAogewogICAgIFFVcmwgdXJsOwotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBOb3RpZmlj
YXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPm5vdGlmaWNh
dGlvbkZvcldyYXBwZXIodGhpcyk7CiAgICAgaWYgKG5vdGlmaWNhdGlvbikgewogICAgICAgICBp
ZiAobm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIApAQCAtMTM0LDE5ICsx
MzQsMTkgQEAgY29uc3QgUVVybCBOb3RpZmljYXRpb25XcmFwcGVyOjpvcGVuZXJQYWdlVXJsKCkg
Y29uc3QKIAogdm9pZCBOb3RpZmljYXRpb25XcmFwcGVyOjpub3RpZmljYXRpb25DbGlja2VkKCkK
IHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIE5vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+bm90aWZpY2F0aW9uQ2xpY2tlZCh0
aGlzKTsKICNlbmRpZgogfQogCiB2b2lkIE5vdGlmaWNhdGlvbldyYXBwZXI6Om5vdGlmaWNhdGlv
bkNsb3NlZCgpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPmNhbmNlbCh0aGlz
KTsKICNlbmRpZgogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogTm90aWZpY2F0
aW9uUHJlc2VudGVyQ2xpZW50UXQ6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0KCkgOiBt
X2NsaWVudENvdW50KDApCiB7CkBAIC00NjQsNyArNDY0LDcgQEAgUVdlYkZyYW1lKiBOb3RpZmlj
YXRpb25QcmVzZW50ZXJDbGllbnRRdDo6dG9GcmFtZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXgKICAgICByZXR1cm4gUVdlYkZyYW1lUHJpdmF0ZTo6a2l0KGRvY3VtZW50LT5mcmFtZSgp
KTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiB9CiAKICNp
bmNsdWRlICJtb2NfTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJD
bGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdC5oCmluZGV4IDEyYjA2ZmU5YjE1Y2YwYThhZjJlYTdiOTZlYzIxOWY4
ZjVlNTNhZDkuLjg3NGRkNjBmOWFiNjZlNmVlMzZmMDk5MTM3NzVmNzM2Nzg1OTQ4OWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAg
IFRpbWVyPE5vdGlmaWNhdGlvbldyYXBwZXI+IG1fY2xvc2VUaW1lcjsKIH07CiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogCiB0eXBlZGVmIFFIYXNoIDxOb3RpZmljYXRpb24qLCBOb3Rp
ZmljYXRpb25XcmFwcGVyKj4gTm90aWZpY2F0aW9uc1F1ZXVlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBjY2E5
ZWMwZTc3OGU4ZGYxOWQ0M2RiNjJjYmYyNjllYzk0NjczOTM3Li40NDM1YjQ4ZDY2NmMwZTA3YjU0
OTQxMjdkMzJiOWJjMDNmNWMyMzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgc3RhdGlj
IGNvbnN0IHNpemVfdCBtYXhGaWxlUGF0aHNMaXN0U2l6ZSA9IFVTSFJUX01BWDsKIAogV2ViQ2hy
b21lQ2xpZW50OjpXZWJDaHJvbWVDbGllbnQoV2ViVmlldyogd2ViVmlldykKICAgICA6IG1fd2Vi
Vmlldyh3ZWJWaWV3KQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLCBtX25vdGlm
aWNhdGlvbnNEZWxlZ2F0ZShuZXcgV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZSh3ZWJW
aWV3KSkKICNlbmRpZgogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA2M2JmNWQxNjFlZTMxMzUxYzRlZGExNmMwYTY1YWQ3
Y2Y1MTBiZTA3Li5mMjJkNmYzYWIzNjdjODgyYWVmNDU5YWNlNGViYTMxNzI4MWUwMzIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aApAQCAtMTUwLDcgKzE1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZXhpdEZ1bGxz
Y3JlZW5Gb3JOb2RlKFdlYkNvcmU6Ok5vZGUqKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNsaWVudCogbm90
aWZpY2F0aW9uUHJlc2VudGVyKCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXZWJD
b3JlOjpOb3RpZmljYXRpb25DbGllbnQqPihtX25vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5nZXQoKSk7
IH0KICNlbmRpZgogCkBAIC0xNzUsNyArMTc1LDcgQEAgcHJpdmF0ZToKIAogICAgIFdlYlZpZXcq
IG1fd2ViVmlldzsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgT3duUHRyPFdl
YkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU+IG1fbm90aWZpY2F0aW9uc0RlbGVnYXRlOwog
I2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAppbmRleCA3
MGVkNDgyYzMyZDIwMDYyMjEyZmJlNWIxYjYwNGM5OTk2NWUzMjQzLi5jZmY3YTJiOTIxN2MxMWI5
MDA0NzA2ODVkMmIyMmVlODIxMjhiODMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0Rl
bGVnYXRlLmNwcApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0tVUkwuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0yMTEsNCArMjExLDQgQEAgQ09N
UHRyPElXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlPiBXZWJEZXNrdG9wTm90aWZpY2F0
aW9uc0RlbGVnYXRlOjpub3RpZmkKICAgICByZXR1cm4gZGVsZWdhdGU7CiB9CiAKLSNlbmRpZiAg
Ly8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaCBi
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25z
RGVsZWdhdGUuaAppbmRleCBhMWExMTg1YzVlMDUyNGExM2Y3ZTgxMzcwYzU4MTI1OTNjYjg5MmE5
Li41NzVjOTRjYjg4NmFmNzc0YmY3Mzc3ODFkNmJjMDcyODJmNDFkMGRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0Rl
bGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3Rv
cE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9Ob3RpZmljYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkNsaWVu
dC5oPgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogaW50ZXJmYWNlIElXZWJEZXNr
dG9wTm90aWZpY2F0aW9uUHJlc2VudGVyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dp
bmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKaW5kZXggZGI4NjQwNTQ3OTZl
ODMyYzcxYzExOWUyYjdkNmYwYWJkMjVhMmUwYi4uNTdjMmY5Mzg4NWVmNTAzNTcyZTdhOGRjMGRh
MDc1ZGEzMzMyN2VkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaApAQCAtMTMxLDcgKzEzMSw3IEBAIHB1YmxpYzoK
ICAgICAvLyBmb3IgdGhpcyBvcmlnaW4uCiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRBcHBsaWNh
dGlvbkNhY2hlT3JpZ2luUXVvdGEoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF90IHRv
dGFsU3BhY2VOZWVkZWQpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB2aXJ0
dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNsaWVudCogbm90aWZpY2F0aW9uUHJlc2VudGVyKCkg
Y29uc3Q7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGM4ZWNhZmUzM2U5NjNmYTQwYWFkNGYz
MTlhYmNjZjEyYTNlZjMzYmUuLjMyM2EzNTEzYTZhODQyZWRjZjlkY2MwMjc3ZDQyMDY0ZjNkMDY5
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAKQEAgLTk5LDcgKzk5LDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyKSBj
b24KICAgICBlbmNvZGVyLT5lbmNvZGUoY29va2llU3RvcmFnZURpcmVjdG9yeSk7CiAjZW5kaWYK
IAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgZW5jb2Rlci0+ZW5jb2RlKG5vdGlm
aWNhdGlvblBlcm1pc3Npb25zKTsKICNlbmRpZgogfQpAQCAtMTk0LDcgKzE5NCw3IEBAIGJvb2wg
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVj
b2RlciogZGVjb2RlciwgV2ViCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0
ZXJzLm5vdGlmaWNhdGlvblBlcm1pc3Npb25zKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaAppbmRleCA5YjUxZjY0OTQzZTg5ZjA0MTNmMmVlNTZlZmI5NTYzYzc2MjUwZmFm
Li42NzgxYjA0ZWVmZWM3NjI0ZjNjYmJkM2JhZjY0YjQzNDFlYzBjYTQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAg
LTEyMiw3ICsxMjIsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAg
ICAgU3RyaW5nIGNvb2tpZVN0b3JhZ2VEaXJlY3Rvcnk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgSGFzaE1hcDxTdHJpbmcsIGJvb2w+IG5vdGlmaWNhdGlvblBl
cm1pc3Npb25zOwogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
Y3BwCmluZGV4IDc3NjYxZDg3YjViYmFjOGI0ZTkyNzRhOGZkNGNjMDc4ZjUyM2NmNmUuLjJlY2Zm
OWQ0YjA3NzE5NGIwNTg1YTNmMWQ5NDIwNjVlYTJmMmI1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAgLTI3OSw3ICsyNzksNyBAQCB2b2lkIFdlYkNvbnRleHQ6
OmVuc3VyZVdlYlByb2Nlc3MoKQogCiAgICAgcGFyYW1ldGVycy5kZWZhdWx0UmVxdWVzdFRpbWVv
dXRJbnRlcnZhbCA9IFdlYlVSTFJlcXVlc3Q6OmRlZmF1bHRUaW1lb3V0SW50ZXJ2YWwoKTsKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgbV9ub3RpZmljYXRpb25NYW5hZ2VyUHJv
eHktPnBvcHVsYXRlQ29weU9mTm90aWZpY2F0aW9uUGVybWlzc2lvbnMocGFyYW1ldGVycy5ub3Rp
ZmljYXRpb25QZXJtaXNzaW9ucyk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCA3M2U3MWZiYzkyZWQx
ZWZjYzMxNzMxMTA4YWZhNmM0MmU0NjBmYTNiLi5mZTY2ZTU2ZTk0OWVkNDNkYmU2OTNkZDc5ZmIy
MmY2NjE2MDhmYTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyLmNwcApAQCAtNDEsNyArNDEsNyBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUmVxdWVzdElEKCkKIHsKICAgICBzdGF0aWMg
dWludDY0X3QgdW5pcXVlUmVxdWVzdElEID0gMTsKQEAgLTYxLDcgKzYxLDcgQEAgTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIoV2ViUGEKIAogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXI6OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRD
YWxsYmFjaz4gY2FsbGJhY2spCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBp
ZiAocGVybWlzc2lvbkxldmVsKG9yaWdpbikgIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uTm90QWxsb3dlZCkgewogICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKICAgICAg
ICAgcmV0dXJuOwpAQCAtODAsNyArODAsNyBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sCiAKIHZv
aWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0KFNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4pCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAg
ICB1aW50NjRfdCBpZCA9IG1fb3JpZ2luVG9JRE1hcC50YWtlKG9yaWdpbik7CiAgICAgaWYgKCFp
ZCkKICAgICAgICAgcmV0dXJuOwpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIE5vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3Jp
Z2luKQogCiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyOjpwZXJtaXNzaW9uTGV2ZWwoU2VjdXJpdHlPcmlnaW4qIHNlY3Vy
aXR5T3JpZ2luKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKCFtX3Bh
Z2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCktPm5vdGlmaWNhdGlvbnNFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ7CiAgICAgCkBA
IC0xMDcsNyArMTA3LDcgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIE5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6cGVybWlzc2lvbkwKIAogdm9pZCBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJt
aXNzaW9uRGVjaXNpb24odWludDY0X3QgcmVxdWVzdElELCBib29sIGFsbG93ZWQpCiB7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWlzUmVxdWVzdElEVmFsaWQocmVxdWVz
dElEKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5j
cHAKaW5kZXggOWU1Y2Y5NTQ2NjQ5ZDRiY2JiMzlmMTNiNTFlNTJkMzI2ZTc5YTRlNy4uOGQxMWYx
M2M5M2NmMDg0MjdkYjg1M2YyMGJhZTc4ZDczOTM1YjM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb25NYW5hZ2VyLmNwcApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIldlYlBhZ2UuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
I2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1h
bmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIK
QEAgLTQ1LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIHN0YXRpYyB1aW50NjRfdCBn
ZW5lcmF0ZU5vdGlmaWNhdGlvbklEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3QgdW5pcXVlTm90
aWZpY2F0aW9uSUQgPSAxOwpAQCAtNjksMjEgKzY5LDIxIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9u
TWFuYWdlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlv
biwKIAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjppbml0aWFsaXplKGNvbnN0IEhhc2hN
YXA8U3RyaW5nLCBib29sPiYgcGVybWlzc2lvbnMpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKICAgICBtX3Blcm1pc3Npb25zTWFwID0gcGVybWlzc2lvbnM7CiAjZW5kaWYKIH0KIAog
dm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lv
bihjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgYm9vbCBhbGxvd2VkKQogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAgICAgbV9wZXJtaXNzaW9uc01hcC5zZXQob3JpZ2luU3RyaW5n
LCBhbGxvd2VkKTsKICNlbmRpZgogfQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRp
ZFJlbW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgb3JpZ2lu
U3RyaW5ncykKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHNpemVfdCBjb3Vu
dCA9IG9yaWdpblN0cmluZ3Muc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291
bnQ7ICsraSkKICAgICAgICAgbV9wZXJtaXNzaW9uc01hcC5yZW1vdmUob3JpZ2luU3RyaW5nc1tp
XSk7CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkUmVt
b3ZlTm90aWZpY2F0aW9uRGVjaXNpb25zKGNvbnN0IFZlY3RvcjxTdHJpbmc+CiAKIE5vdGlmaWNh
dGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpwb2xpY3lGb3JP
cmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4gKm9yaWdpbikgY29uc3QKIHsKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgIGlmICghb3JpZ2luKQogICAgICAgICByZXR1cm4gTm90
aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZDsKICAgICAKQEAgLTEwNiw3ICsx
MDYsNyBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uTWFu
YWdlcjo6cG9saWN5Rm9yT3JpZ2luKFdlYkNvcmU6OgogCiBib29sIFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXI6OnNob3coTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiB7
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW5vdGlmaWNhdGlvbiB8fCAh
cGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS0+bm90aWZpY2F0aW9uc0VuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgCkBAIC0xMjYsNyArMTI2LDcgQEAgYm9vbCBXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyOjpzaG93KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdl
KiBwYWdlKQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNhbmNlbChOb3RpZmljYXRp
b24qIG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogICAgIGlmICghbm90aWZpY2F0aW9uIHx8ICFwYWdlLT5jb3JlUGFnZSgpLT5zZXR0
aW5ncygpLT5ub3RpZmljYXRpb25zRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgCkBA
IC0xNDAsNyArMTQwLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjYW5jZWwoTm90
aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiAKIHZvaWQgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6Y2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIFdlYlBhZ2UqIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKICAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBpdCA9IG1fbm90
aWZpY2F0aW9uQ29udGV4dE1hcC5maW5kKGNvbnRleHQpOwogICAgIGlmIChpdCA9PSBtX25vdGlm
aWNhdGlvbkNvbnRleHRNYXAuZW5kKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE2MSw3ICsxNjEs
NyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNsZWFyTm90aWZpY2F0aW9ucyhXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KgogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXI6OmRpZERlc3Ryb3lOb3RpZmljYXRpb24oTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdl
YlBhZ2UqIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB1aW50NjRf
dCBub3RpZmljYXRpb25JRCA9IG1fbm90aWZpY2F0aW9uTWFwLnRha2Uobm90aWZpY2F0aW9uKTsK
ICAgICBpZiAoIW5vdGlmaWNhdGlvbklEKQogICAgICAgICByZXR1cm47CkBAIC0xNzQsNyArMTc0
LDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWREZXN0cm95Tm90aWZpY2F0aW9u
KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLAogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXI6OmRpZFNob3dOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWlzTm90aWZpY2F0aW9uSURWYWxpZChu
b3RpZmljYXRpb25JRCkpCiAgICAgICAgIHJldHVybjsKICAgICAKQEAgLTE4OCw3ICsxODgsNyBA
QCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFNob3dOb3RpZmljYXRpb24odWludDY0
X3Qgbm90aWZpY2F0aW9uSUQpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xp
Y2tOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWlzTm90aWZpY2F0aW9uSURWYWxpZChub3RpZmljYXRp
b25JRCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMjAyLDcgKzIwMiw3IEBAIHZvaWQgV2ViTm90
aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xpY2tOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0
aW9uSUQpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xvc2VOb3RpZmljYXRp
b25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcykKIHsKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgIHNpemVfdCBjb3VudCA9IG5vdGlmaWNhdGlvbklEcy5z
aXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAg
IHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEID0gbm90aWZpY2F0aW9uSURzW2ldOwpAQCAtMjIxLDcg
KzIyMSw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xvc2VOb3RpZmljYXRp
b25zKGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmCiAjZW5kaWYKIH0KIAotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnJlbW92ZU5v
dGlmaWNhdGlvbkZyb21Db250ZXh0TWFwKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklELCBOb3RpZmlj
YXRpb24qIG5vdGlmaWNhdGlvbikKIHsKICAgICAvLyBUaGlzIGlzIGEgaGVscGVyIGZ1bmN0aW9u
IGZvciBtYW5hZ2luZyB0aGUgaGFzaCBtYXBzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
LmgKaW5kZXggMTQyNzY3ZTMxOWRkNzViYzIwOTMxZmZlNTQxMDgyOTkyYzJkYzc4YS4uMmExOGQ0
NGViMGE5N2Y1NWUyMmViYTdlYWU0NDczMzQ1YjFkZGRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlci5oCkBAIC03OCwxMyArNzgsMTMgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFVw
ZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBib29s
IGFsbG93ZWQpOwogICAgIHZvaWQgZGlkUmVtb3ZlTm90aWZpY2F0aW9uRGVjaXNpb25zKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBvcmlnaW5TdHJpbmdzKTsKICAgICAKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIHZvaWQgcmVtb3ZlTm90aWZpY2F0aW9uRnJvbUNvbnRleHRNYXAodWlu
dDY0X3Qgbm90aWZpY2F0aW9uSUQsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopOwogI2VuZGlmCiAK
ICAgICBXZWJQcm9jZXNzKiBtX3Byb2Nlc3M7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uPiwgdWlu
dDY0X3Q+IE5vdGlmaWNhdGlvbk1hcDsKICAgICBOb3RpZmljYXRpb25NYXAgbV9ub3RpZmljYXRp
b25NYXA7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKaW5kZXggNjQz
MzEyNDQwZTFkZmQxMDIxZTMzMzRlMzgxNTk5ZDJkYTQ0MDk1Ni4uOGFjNzhkNWY0NDY3Mjc5ODNm
OWIyNWVhNTk4MTEwM2M5ZDM2ZDc3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50
LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldl
Yk5vdGlmaWNhdGlvbkNsaWVudC5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAog
I2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIgogI2luY2x1
ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCIKQEAgLTkxLDQgKzkxLDQgQEAgTm90aWZpY2F0
aW9uQ2xpZW50OjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNz
aW9uKFNjcmlwdEV4ZWMKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgK
aW5kZXggOGE4NGJlYTFlYjU1YWUyZTA0NzFjNTNkOTUzOWI0OGVmYjg5ODg0Mi4uNDZlYjJhNWQ4
ODg5MDY2Y2IwNDM0NjJhMTE0OTFiNTkyNDU3NWNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlv
bkNsaWVudC5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFdlYk5vdGlmaWNhdGlvbkNsaWVu
dF9oCiAjZGVmaW5lIFdlYk5vdGlmaWNhdGlvbkNsaWVudF9oCiAKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25DbGllbnQuaD4KIApA
QCAtNTksNiArNTksNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2Vu
ZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNlbmRpZiAvLyBXZWJOb3Rp
ZmljYXRpb25DbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IDM4ZjQ1ZTQwNmQ0OWU2ZTYyYjgyMmM4ODhjYjg0ZGI4MTQzZmJhMTYu
LjdiN2RjNjZmZjU5OTYwNzY1MDBhYjJjMDU5MTE0ZTlhNzkwZmZjMmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTIzNyw3ICsyMzcsNyBA
QCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycyYgcGFyYW1ldGVycykKICAgICAKICAgICBtX3BhZ2UgPSBhZG9wdFB0cihuZXcg
UGFnZShwYWdlQ2xpZW50cykpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBX
ZWJDb3JlOjpwcm92aWRlTm90aWZpY2F0aW9uKG1fcGFnZS5nZXQoKSwgbmV3IFdlYk5vdGlmaWNh
dGlvbkNsaWVudCh0aGlzKSk7CiAjZW5kaWYKIApAQCAtMTk0OSw3ICsxOTQ5LDcgQEAgdm9pZCBX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9y
ZSkKICAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91bGREaXNwbGF5VGV4dERl
c2NyaXB0aW9uc0tleSgpKSk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiAgICAgc2V0dGluZ3MtPnNldE5vdGlmaWNhdGlvbnNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bm90aWZpY2F0aW9uc0VuYWJsZWRLZXkoKSkpOwog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDlh
OGI5MDVmZTRhODE0ODk1YmVlNWMwODRjNzc5MGY4MjhjZWQ5NmYuLmMxYmEwNTBjZjZkYTFkN2Fh
MTYxNzYxNDM3ZjRjNDhkNWFkZTIxZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcApAQCAtMTQxLDcgKzE0MSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQog
I2VuZGlmCiAgICAgLCBtX3RleHRDaGVja2VyU3RhdGUoKQogICAgICwgbV9nZW9sb2NhdGlvbk1h
bmFnZXIodGhpcykKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICwgbV9ub3RpZmlj
YXRpb25NYW5hZ2VyKHRoaXMpCiAjZW5kaWYKICAgICAsIG1faWNvbkRhdGFiYXNlUHJveHkodGhp
cykKQEAgLTYzOCw3ICs2MzgsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lcwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAobWVz
c2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYk5vdGlmaWNhdGlvbk1hbmFnZXI+KCkp
IHsKICAgICAgICAgbV9ub3RpZmljYXRpb25NYW5hZ2VyLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5l
Y3Rpb24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBlZmEyZTY4MWE2MmE4ZTZkOTM1ODc0NjY5
MzlhZDMzZDQyM2I5MmZiLi4xYTQ5ODlmMDYyOTkyNDZmOThmNmYwMDNiYmExYzBhM2FjODY1MGVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNDgsNyArNDgsNyBA
QAogY2xhc3MgUU5ldHdvcmtBY2Nlc3NNYW5hZ2VyOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCIKICNlbmRp
ZgogCkBAIC0xMzMsNyArMTMzLDcgQEAgcHVibGljOgogICAgIC8vIEdlb2xvY2F0aW9uCiAgICAg
V2ViR2VvbG9jYXRpb25NYW5hZ2VyJiBnZW9sb2NhdGlvbk1hbmFnZXIoKSB7IHJldHVybiBtX2dl
b2xvY2F0aW9uTWFuYWdlcjsgfQogICAgIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAg
ICAgV2ViTm90aWZpY2F0aW9uTWFuYWdlciYgbm90aWZpY2F0aW9uTWFuYWdlcigpIHsgcmV0dXJu
IG1fbm90aWZpY2F0aW9uTWFuYWdlcjsgfQogI2VuZGlmCiAKQEAgLTI2OCw3ICsyNjgsNyBAQCBw
cml2YXRlOgogCiAgICAgVGV4dENoZWNrZXJTdGF0ZSBtX3RleHRDaGVja2VyU3RhdGU7CiAgICAg
V2ViR2VvbG9jYXRpb25NYW5hZ2VyIG1fZ2VvbG9jYXRpb25NYW5hZ2VyOwotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgV2ViTm90aWZpY2F0aW9uTWFuYWdlciBtX25vdGlmaWNhdGlv
bk1hbmFnZXI7CiAjZW5kaWYKICAgICBXZWJJY29uRGF0YWJhc2VQcm94eSBtX2ljb25EYXRhYmFz
ZVByb3h5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJv
Y2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMu
bW0KaW5kZXggZmEwMzgwZmZmNzQ2NWI1ZmMyYjBjY2Y5M2VmNmNlOTRlYjczMzEyMS4uYjU2NThk
OGEzZmVjZjY2ZjE3Zjk0MjU2Y2QwMzFhYjY0NDlhY2Y1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCkBAIC0yNTEsNyArMjUxLDcgQEAgdm9p
ZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMKIAogICAgIG1fY29tcG9zaXRpbmdSZW5kZXJTZXJ2ZXJQb3J0
ID0gcGFyYW1ldGVycy5hY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9ydC5wb3J0KCk7CiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1fbm90aWZpY2F0aW9uTWFuYWdlci5pbml0aWFs
aXplKHBhcmFtZXRlcnMubm90aWZpY2F0aW9uUGVybWlzc2lvbnMpOwogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5NThjNDRhMTE0
ZThjM2M4YjVjYzdiODIxN2M4NzAzMDZiNTBmMWIzLi4zNDBiOWU5YjU0ZmJiODEwODdlZWM5NWUy
ZjY0MmQ1ZThhYmEzMTZhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTItMDMtMTMgIEpvbiBMZWUgIDxqb25sZWVA
YXBwbGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5kIExFR0FDWV9O
T1RJRklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzUwODI+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgWW91IGNhbiBpbmNsdWRlIGVp
dGhlciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJT05TIGFuZCBoYXZlIGEgY29t
cGxldGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBzaG91bGQgY292ZXIgYWxs
IG9mIHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9USUZJQ0FUSU9OUyB3aWxsIGNv
dmVyIHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQSXMgdGhhdCBhcmUgY29tbW9u
IGJldHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorCisgICAgICAgIFRoaXMgcGF0
Y2ggaW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRoZSBzYW1lLiBBcyBvdGhlciBi
dWdzIHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisgICAgICAgIHRoZSBuZXcgQVBJ
LCB0aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlzIGFsbG93cyBwb3J0cyB0byBk
ZWNpZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKworICAgICAgICBVcGRhdGUgZXZl
cnl0aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Z3JhbnRE
ZXNrdG9wTm90aWZpY2F0aW9uUGVybWlzc2lvbik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2ltdWxhdGVEZXNrdG9wTm90aWZpY2F0aW9uQ2xpY2spOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL05vdGlmaWNhdGlvblByZXNlbnRlci5jcHA6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RTaGVs
bDo6VGVzdFNoZWxsKToKKyAgICAgICAgKFRlc3RTaGVsbDo6cmVzZXRUZXN0Q29udHJvbGxlcik6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0RSVERlc2t0b3BOb3RpZmljYXRpb25QcmVz
ZW50ZXIuY3BwOgorICAgICAgICAoRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlcjo6Y2hl
Y2tOb3RpZmljYXRpb25QZXJtaXNzaW9uKToKKwogMjAxMi0wMy0xMyAgVGhpYWdvIE1hcmNvcyBQ
LiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtEUlRd
IEV4cG9zZSB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDljNjhkZmZk
Y2Q3OTJkZmE5ZGJkOGVkYTg5ZjY3NjNhY2NjNmE1MjEuLjE2ODQ0MWU3ZGVkMTFjMGIzZDlhNWVj
MTI0YzJkMGEyMTkyM2YwMDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTExOTEsNyArMTE5MSw3IEBAIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmdyYW50RGVza3RvcE5vdGlmaWNhdGlvblBlcm1pc3Np
b24oY29uc3QgQ3BwQXJndW1lbnRMCiAgICAgICAgIHJlc3VsdC0+c2V0KGZhbHNlKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1fc2hl
bGwtPm5vdGlmaWNhdGlvblByZXNlbnRlcigpLT5ncmFudFBlcm1pc3Npb24oY3BwVmFyaWFudFRv
V2ViU3RyaW5nKGFyZ3VtZW50c1swXSkpOwogI2VuZGlmCiAgICAgcmVzdWx0LT5zZXQodHJ1ZSk7
CkBAIC0xMjAzLDcgKzEyMDMsNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaW11bGF0
ZURlc2t0b3BOb3RpZmljYXRpb25DbGljayhjb25zdCBDcHBBcmd1bWVudExpcwogICAgICAgICBy
ZXN1bHQtPnNldChmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKICAgICBpZiAobV9zaGVsbC0+bm90aWZpY2F0aW9uUHJlc2VudGVyKCkt
PnNpbXVsYXRlQ2xpY2soY3BwVmFyaWFudFRvV2ViU3RyaW5nKGFyZ3VtZW50c1swXSkpKQogICAg
ICAgICByZXN1bHQtPnNldCh0cnVlKTsKICAgICBlbHNlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9Ob3RpZmljYXRpb25QcmVzZW50ZXIuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vTm90aWZpY2F0aW9uUHJlc2VudGVyLmNwcAppbmRleCA3ODA5
ODIxYWE2NTA1MzRkNDY5NWViODM1ZWM1M2Q0YzAzOWRjOWY1Li4wYzU0MDBmNWU5ZThmNzE3MGVj
ZjU5OWE4MWJkNDI2ZmJkNzcyOTFkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9Ob3RpZmljYXRpb25QcmVzZW50ZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL05vdGlmaWNhdGlvblByZXNlbnRlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50ZXIuaCIK
IAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKICNp
bmNsdWRlICJwbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaCIKQEAgLTE1MSw0ICsxNTEs
NCBAQCB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oCiAgICAg
Y2FsbGJhY2stPnBlcm1pc3Npb25SZXF1ZXN0Q29tcGxldGUoKTsKIH0KIAotI2VuZGlmIC8vIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFNoZWxsLmNwcAppbmRleCBhYTY2ODY5NGQ0MjFkMmJjODA3YWIwZTZhMzQ4ZTkxZGJi
MmI2MjMwLi4wOWU4Njc2NTEyYWM1M2UwOThlMWRkOTk1MzIwZTMwZjE5YWJhYjg3IDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTEzOCw3ICsxMzgs
NyBAQCBUZXN0U2hlbGw6OlRlc3RTaGVsbChib29sIHRlc3RTaGVsbE1vZGUpCiAgICAgbV9sYXlv
dXRUZXN0Q29udHJvbGxlciA9IGFkb3B0UHRyKG5ldyBMYXlvdXRUZXN0Q29udHJvbGxlcih0aGlz
KSk7CiAgICAgbV9ldmVudFNlbmRlciA9IGFkb3B0UHRyKG5ldyBFdmVudFNlbmRlcih0aGlzKSk7
CiAgICAgbV90ZXh0SW5wdXRDb250cm9sbGVyID0gYWRvcHRQdHIobmV3IFRleHRJbnB1dENvbnRy
b2xsZXIodGhpcykpOwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgbV9ub3RpZmlj
YXRpb25QcmVzZW50ZXIgPSBhZG9wdFB0cihuZXcgTm90aWZpY2F0aW9uUHJlc2VudGVyKHRoaXMp
KTsKICNlbmRpZgogICAgIG1fcHJpbnRlciA9IG1fdGVzdFNoZWxsTW9kZSA/IFRlc3RFdmVudFBy
aW50ZXI6OmNyZWF0ZVRlc3RTaGVsbFByaW50ZXIoKSA6IFRlc3RFdmVudFByaW50ZXI6OmNyZWF0
ZURSVFByaW50ZXIoKTsKQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIFRlc3RTaGVsbDo6cmVzZXRU
ZXN0Q29udHJvbGxlcigpCiAgICAgbV9sYXlvdXRUZXN0Q29udHJvbGxlci0+cmVzZXQoKTsKICAg
ICBtX2V2ZW50U2VuZGVyLT5yZXNldCgpOwogICAgIG1fd2ViVmlld0hvc3QtPnJlc2V0KCk7Ci0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+
cmVzZXQoKTsKICNlbmRpZgogICAgIG1fZHJ0RGV2VG9vbHNBZ2VudC0+cmVzZXQoKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0aW9uUHJl
c2VudGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0
aW9uUHJlc2VudGVyLmNwcAppbmRleCAzYmMxNjZkMDM5OGExNWY4ZTVlNmU3NWE0MjRmZDQwMGJm
MjUzM2RiLi44MzBhZmQzYzQzMzdiMjlkZGI4ZGUzNTAwNzA2MTJlMDYyNTEwODFkIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNl
bnRlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0RSVERlc2t0b3BOb3RpZmlj
YXRpb25QcmVzZW50ZXIuY3BwCkBAIC0xMjMsNyArMTIzLDcgQEAgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBEUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVyOjpjaGVja05vdGlmaWNhdGlv
blBlcm0KICAgICAgICAgLyogW2luXSAqLyBCU1RSIG9yaWdpbiwgCiAgICAgICAgIC8qIFtvdXQs
IHJldHZhbF0gKi8gaW50KiByZXN1bHQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
ICAgICBKU1N0cmluZ1JlZiBqc09yaWdpbiA9IEpTU3RyaW5nQ3JlYXRlV2l0aEJTVFIob3JpZ2lu
KTsKICAgICBib29sIGFsbG93ZWQgPSA6OmdMYXlvdXRUZXN0Q29udHJvbGxlci0+Y2hlY2tEZXNr
dG9wTm90aWZpY2F0aW9uUGVybWlzc2lvbihqc09yaWdpbik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131745</attachid>
            <date>2012-03-13 16:24:39 -0700</date>
            <delta_ts>2012-03-14 00:02:56 -0700</delta_ts>
            <desc>Patch rebase</desc>
            <filename>bug-80922-20120313162556.patch</filename>
            <type>text/plain</type>
            <size>95026</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2YyMGM4NTA2NGMzNmM0
YWExZmU4ODlhZDYyYTFhNGMxYTQ1MGIzYS4uYjAwOTIwOTU4ODk3OTgyM2NiZDgyMzQyNGRhNjdm
YjkzNDAyYTNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDEyLTAzLTEzICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBOT1RJRklDQVRJT05T
IGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExMDM1MDgy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFlvdSBj
YW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBh
bmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05PVElGSUNBVElPTlMgc2hv
dWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0eSwgYW5kIE5PVElGSUNB
VElPTlMgd2lsbCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhlcmVmb3JlLCBBUElzIHRo
YXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgorICAgICAgICAjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKworICAg
ICAgICBUaGlzIHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUgZXhhY3RseSB0aGUgc2Ft
ZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWlncmF0ZSB0bworICAgICAg
ICB0aGUgbmV3IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBzcGxpdC4gVGhpcyBhbGxv
d3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGluY2x1ZGUuCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbTogVXBkYXRlIHRoZSBzY3Jp
cHQgdG8gaGFuZGxlIHRoZSAifCIgZmxhZyBpbiBhIGNvbmRpdGlvbmFsLgorICAgICAgICAocHJl
ZmVycmVkQ29uZGl0aW9uYWwpOgorICAgICAgICAoY29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmli
dXRlVmFsdWUpOgorICAgICAgICAoZ2VuZXJhdGVJbnRlcmZhY2VzSGVhZGVyKToKKyAgICAgICAg
KGdlbmVyYXRlSGVhZGVyc0hlYWRlcik6CisKKyAgICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8g
YmUgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogYmluZGluZ3MvY3BwL1dl
YkRPTUV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKHRvV2ViS2l0KToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwOgorICAgICAgICAq
IGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwOgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6Cisg
ICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOgorICAgICAgICAqIG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcDoKKyAgICAgICAgKiBub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5oOgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmlkbDoKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRl
bnRzLmg6CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
On5ET01XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojp3aWxsRGV0YWNoUGFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmRpc2Nvbm5lY3RET01XaW5kb3dQcm9w
ZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6Y2xlYXJET01XaW5kb3dQcm9w
ZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6
CisgICAgICAgIChET01XaW5kb3cpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjp3aWxsRGV0
YWNoUGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6dHJhbnNmZXJDaGlsZEZyYW1lVG9O
ZXdEb2N1bWVudCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6On5Xb3JrZXJDb250ZXh0KToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAoV29y
a2VyQ29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJU
aHJlYWQ6OldvcmtlclRocmVhZCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoK
KyAgICAgICAgKFdvcmtlclRocmVhZCk6CisKIDIwMTItMDMtMTMgIERhdmUgVGhhcnAgIDxkdGhh
cnBAY29kZWF1cm9yYS5vcmc+CiAKICAgICAgICAgQWx0ZXJuYXRlIHhtbC1zdHlsZXNoZWV0cyB3
aXRoIG5vIHRpdGxlIGFyZSBsb2FkZWQsIGluIHZpb2xhdGlvbiBvZiB0aGUgQ1NTT00gZHJhZnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IGJlM2VmNDVjMDljNjU5MjVlNjU2MGQ2
NWY4ZmY2ZDgyMDMzOTViZjUuLjQ1OTI0ODQzOWM1MGI3NmYxNjZlZDkwMzlkMDA4OTEzZTg0Mzll
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEy
LTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBO
T1RJRklDQVRJT05TIGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzExMDM1MDgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFlvdSBjYW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lfTk9U
SUZJQ0FUSU9OUyBhbmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05PVElG
SUNBVElPTlMgc2hvdWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0eSwg
YW5kIE5PVElGSUNBVElPTlMgd2lsbCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhlcmVm
b3JlLCBBUElzIHRoYXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgorICAg
ICAgICAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKKworICAgICAgICBUaGlzIHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUgZXhh
Y3RseSB0aGUgc2FtZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWlncmF0
ZSB0bworICAgICAgICB0aGUgbmV3IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBzcGxp
dC4gVGhpcyBhbGxvd3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGluY2x1
ZGUuCisKKyAgICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8gYmUgI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgICAgICogQXBpL1dl
YlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6
aW5pdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1w
bC5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1w
bC5oOgorCiAyMDEyLTAzLTEzICBNaWtlIEZlbnRvbiAgPG1pZmVudG9uQHJpbS5jb20+CiAKICAg
ICAgICAgW0JsYWNrQmVycnldIElucHV0IGZvY3VzIHN0YXRlIHNob3VsZCB1bmZvY3VzIHRoZSBm
cmFtZSBzZWxlY3Rpb24gaW5zdGVhZCBvZiB0aGUgZmllbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IGI0OWIzZWM2MjYzOTQ0NzJiMzA3MDBiNGI0ZTkyYTRkOTE0Y2U1YTQuLmYxZDll
NzAxMTUxYTAwODEyNzE1OWYwZTRiOTI0MWRiZjgxY2ZhYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTItMDMtMTMgIEpvbiBMZWUgIDxqb25sZWVAYXBw
bGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5kIExFR0FDWV9OT1RJ
RklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzUwODI+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgWW91IGNhbiBpbmNsdWRlIGVpdGhl
ciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJT05TIGFuZCBoYXZlIGEgY29tcGxl
dGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBzaG91bGQgY292ZXIgYWxsIG9m
IHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9USUZJQ0FUSU9OUyB3aWxsIGNvdmVy
IHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQSXMgdGhhdCBhcmUgY29tbW9uIGJl
dHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorCisgICAgICAgIFRoaXMgcGF0Y2gg
aW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRoZSBzYW1lLiBBcyBvdGhlciBidWdz
IHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisgICAgICAgIHRoZSBuZXcgQVBJLCB0
aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlzIGFsbG93cyBwb3J0cyB0byBkZWNp
ZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKworICAgICAgICBVcGRhdGUgZXZlcnl0
aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAg
ICAgICogc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuY3BwOgorICAgICAgICAqIHNyYy9O
b3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmg6CisgICAgICAgICogc3JjL1dlYk5vdGlmaWNhdGlv
bi5jcHA6CisgICAgICAgICogc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlTm90aWZpY2F0aW9ucyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6aXNOb3RpZmljYXRpb25zRW5hYmxlZCk6Cisg
ICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OldlYlZpZXdJbXBsKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dlYlZp
ZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMDMtMTMgIE5hdCBEdWNh
ICA8bmR1Y2FAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gdnN5bmMgdGlja3Mg
YXJlIG5lZWRlZCBpbiBpbnZpc2libGUgdGFicyB3aGVuIHdlIGFyZSBzdGlsbCB1cGRhdGluZyBy
ZXNvdXJjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBhYmY1MmRjNjhkZTA4NTU5ZDcyYzNiMDVhNGZl
Yzc5NWEzYWQzYWEzLi4wYmI3NjYyY2Y3M2YxNmQyYTFhMDM4NGZkZDk5YzkwNGZlOTdlMTg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDMtMTMgIEpvbiBMZWUgIDxq
b25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5kIExF
R0FDWV9OT1RJRklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzUwODI+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgWW91IGNhbiBpbmNs
dWRlIGVpdGhlciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJT05TIGFuZCBoYXZl
IGEgY29tcGxldGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBzaG91bGQgY292
ZXIgYWxsIG9mIHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9USUZJQ0FUSU9OUyB3
aWxsIGNvdmVyIHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQSXMgdGhhdCBhcmUg
Y29tbW9uIGJldHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorCisgICAgICAgIFRo
aXMgcGF0Y2ggaW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRoZSBzYW1lLiBBcyBv
dGhlciBidWdzIHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisgICAgICAgIHRoZSBu
ZXcgQVBJLCB0aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlzIGFsbG93cyBwb3J0
cyB0byBkZWNpZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKworICAgICAgICBVcGRh
dGUgZXZlcnl0aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudEVmbC5jcHA6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50RWZsLmg6CisK
IDIwMTItMDMtMTMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4gJiYgQmVuamFtaW4g
UG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVO
QUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjVlNGNk
NjA3NDI2ZjhkODEzMmY1MzM3NTBhMmY5MTZlNWYwNGJhNS4uYjgzYWM5ZTZiZTVhMmIwZDVhZDI5
Nzk3MGY5YWI5YWEwZDMyNWE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisy
MDEyLTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0
ZSBOT1RJRklDQVRJT05TIGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzExMDM1MDgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFlvdSBjYW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lf
Tk9USUZJQ0FUSU9OUyBhbmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05P
VElGSUNBVElPTlMgc2hvdWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0
eSwgYW5kIE5PVElGSUNBVElPTlMgd2lsbCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhl
cmVmb3JlLCBBUElzIHRoYXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgor
ICAgICAgICAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKKworICAgICAgICBUaGlzIHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUg
ZXhhY3RseSB0aGUgc2FtZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWln
cmF0ZSB0bworICAgICAgICB0aGUgbmV3IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBz
cGxpdC4gVGhpcyBhbGxvd3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGlu
Y2x1ZGUuCisKKyAgICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8gYmUgI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tOgorICAgICAgICAoV2ViTm90aWZpY2F0aW9u
Q2xpZW50OjpzaG93KToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsKToK
KyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2xlYXJOb3RpZmljYXRpb25zKToKKyAg
ICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVk
KToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uQ29udHJvbGxl
ckRlc3Ryb3llZCk6CisgICAgICAgIChXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJt
aXNzaW9uKToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9u
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbToKKyAgICAgICAgKC1bV2Vi
Tm90aWZpY2F0aW9uIHRpdGxlXSk6CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiBib2R5XSk6
CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiByZXBsYWNlSURdKToKKyAgICAgICAgKC1bV2Vi
Tm90aWZpY2F0aW9uIG9yaWdpbl0pOgorICAgICAgICAoLVtXZWJOb3RpZmljYXRpb24gbm90aWZp
Y2F0aW9uSURdKToKKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uIGRpc3BhdGNoU2hvd0V2ZW50
XSk6CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiBkaXNwYXRjaENsb3NlRXZlbnRdKToKKyAg
ICAgICAgKC1bV2ViTm90aWZpY2F0aW9uIGRpc3BhdGNoQ2xpY2tFdmVudF0pOgorICAgICAgICAo
LVtXZWJOb3RpZmljYXRpb24gZGlzcGF0Y2hFcnJvckV2ZW50XSk6CisgICAgICAgICogV2ViVmll
dy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1l
Omdyb3VwTmFtZTpdKToKKwogMjAxMi0wMy0xMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPiAmJiBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IEFsd2F5cyBlbmFibGUgRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKaW5kZXggNjRjYjY1ZDMxZTk2MTJhZmE1Y2QzOTA2MDUzZjBhOWJhZDRkYTYzOC4uOWU5YTEx
ODM5M2RkNTE0NjJhMjU2NGI2MGIzMDkzYTYzM2E5NTFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgU2VwYXJhdGUgTk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElGSUNBVElPTlMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTIyCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMTAzNTA4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBZb3UgY2FuIGluY2x1ZGUgZWl0aGVyIE5PVElGSUNBVElP
TlMgb3IgTEVHQUNZX05PVElGSUNBVElPTlMgYW5kIGhhdmUgYSBjb21wbGV0ZSBBUEkuCisgICAg
ICAgIExFR0FDWV9OT1RJRklDQVRJT05TIHNob3VsZCBjb3ZlciBhbGwgb2YgdGhlIHByZXZpb3Vz
IGZ1bmN0aW9uYWxpdHksIGFuZCBOT1RJRklDQVRJT05TIHdpbGwgY292ZXIgdGhlCisgICAgICAg
IG5ldyBBUEkuIFRoZXJlZm9yZSwgQVBJcyB0aGF0IGFyZSBjb21tb24gYmV0d2VlbiB0aGUgdHdv
IHdpbGwgaGF2ZToKKyAgICAgICAgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbml0aWFsbHkgc2V0
cyBib3RoIHRvIGJlIGV4YWN0bHkgdGhlIHNhbWUuIEFzIG90aGVyIGJ1Z3Mgd2l0aCBwYXRjaGVz
IGJlZ2luIHRvIG1pZ3JhdGUgdG8KKyAgICAgICAgdGhlIG5ldyBBUEksIHRoZSBkZWZpbmVzIHdp
bGwgYmVnaW4gdG8gc3BsaXQuIFRoaXMgYWxsb3dzIHBvcnRzIHRvIGRlY2lkZSB3aGljaCBzZXQg
b2YgQVBJcyB0byBpbmNsdWRlLgorCisgICAgICAgIFVwZGF0ZSBldmVyeXRoaW5nIHRvIGJlICNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
ICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OlFX
ZWJQYWdlUHJpdmF0ZSk6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6On5RV2ViUGFnZVByaXZh
dGUpOgorICAgICAgICAoUVdlYlBhZ2U6OnNldEZlYXR1cmVQZXJtaXNzaW9uKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChE
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6ZHVtcE5vdGlmaWNhdGlvbik6CisgICAgICAgIChEdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdDo6c2ltdWxhdGVEZXNrdG9wTm90aWZpY2F0aW9uQ2xpY2spOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uV3Jh
cHBlcjo6Tm90aWZpY2F0aW9uV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRp
b25XcmFwcGVyOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25XcmFwcGVy
Ojp0aXRsZSk6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25XcmFwcGVyOjptZXNzYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbldyYXBwZXI6Omljb25EYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbldyYXBwZXI6Om9wZW5lclBhZ2VVcmwpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uV3JhcHBlcjo6bm90aWZpY2F0aW9uQ2xpY2tlZCk6
CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25XcmFwcGVyOjpub3RpZmljYXRpb25DbG9z
ZWQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dFF0Lmg6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0wMy0xMyAgQmVuamFtaW4gUG91bGFp
biAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCBRdE1pbmlt
YWwgYm90IGFmdGVyIHIxMTA1OTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBjZGFhNDI0MmFlNjYzODI4
ZDQ4MzRiNWI5MGQwYmZmMTZiZGRmOWVjLi5mMjAzODU4Mjc5Mzc1MDY0MmJiMzM2ZGVmYjRjZjAx
ZTAwYjZlYjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDMtMTMg
IEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNB
VElPTlMgYW5kIExFR0FDWV9OT1RJRklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEw
MzUwODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
WW91IGNhbiBpbmNsdWRlIGVpdGhlciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJ
T05TIGFuZCBoYXZlIGEgY29tcGxldGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9O
UyBzaG91bGQgY292ZXIgYWxsIG9mIHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9U
SUZJQ0FUSU9OUyB3aWxsIGNvdmVyIHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQ
SXMgdGhhdCBhcmUgY29tbW9uIGJldHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
CisgICAgICAgIFRoaXMgcGF0Y2ggaW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRo
ZSBzYW1lLiBBcyBvdGhlciBidWdzIHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisg
ICAgICAgIHRoZSBuZXcgQVBJLCB0aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlz
IGFsbG93cyBwb3J0cyB0byBkZWNpZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKwor
ICAgICAgICBVcGRhdGUgZXZlcnl0aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpXZWJDaHJv
bWVDbGllbnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJE
ZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmg6CisKIDIwMTItMDMtMTMgIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4gJiYgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVOQUJMRShDTElFTlRfQkFTRURf
R0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IDBkZGFiOTFkNGY4NWRhMTI2NmE0
MDZkZjA5MzRiYzRjNjg0NjQyMmYuLmNhYzAxM2RhZTljZjdmNGIzNzU2Njk1ZTk1NTRmMGFjYzY3
OWQ5Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDMtMTMg
IEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNB
VElPTlMgYW5kIExFR0FDWV9OT1RJRklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEw
MzUwODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
WW91IGNhbiBpbmNsdWRlIGVpdGhlciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJ
T05TIGFuZCBoYXZlIGEgY29tcGxldGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9O
UyBzaG91bGQgY292ZXIgYWxsIG9mIHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9U
SUZJQ0FUSU9OUyB3aWxsIGNvdmVyIHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQ
SXMgdGhhdCBhcmUgY29tbW9uIGJldHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
CisgICAgICAgIFRoaXMgcGF0Y2ggaW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRo
ZSBzYW1lLiBBcyBvdGhlciBidWdzIHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisg
ICAgICAgIHRoZSBuZXcgQVBJLCB0aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlz
IGFsbG93cyBwb3J0cyB0byBkZWNpZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKwor
ICAgICAgICBVcGRhdGUgZXZlcnl0aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRXaW5DRS5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50V2luQ0UpOgorCiAy
MDEyLTAzLTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+ICYmIEJlbmphbWluIFBv
dWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWx3YXlzIGVuYWJsZSBFTkFC
TEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDgwZDlkMTM1YWZiYTIx
M2EzMDQ2ZmE1NzFhMjBjZTU1NjRlMmZmZGMuLjViYTBkMGY5ZjNmNjA0YjBhMmE0NzA5NTc3MDRj
Njg3ZjMyMjVlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MSBAQAorMjAxMi0wMy0xMyAgSm9u
IExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgU2VwYXJhdGUgTk9USUZJQ0FUSU9O
UyBhbmQgTEVHQUNZX05PVElGSUNBVElPTlMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgwOTIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMTAzNTA4
Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBZb3Ug
Y2FuIGluY2x1ZGUgZWl0aGVyIE5PVElGSUNBVElPTlMgb3IgTEVHQUNZX05PVElGSUNBVElPTlMg
YW5kIGhhdmUgYSBjb21wbGV0ZSBBUEkuCisgICAgICAgIExFR0FDWV9OT1RJRklDQVRJT05TIHNo
b3VsZCBjb3ZlciBhbGwgb2YgdGhlIHByZXZpb3VzIGZ1bmN0aW9uYWxpdHksIGFuZCBOT1RJRklD
QVRJT05TIHdpbGwgY292ZXIgdGhlCisgICAgICAgIG5ldyBBUEkuIFRoZXJlZm9yZSwgQVBJcyB0
aGF0IGFyZSBjb21tb24gYmV0d2VlbiB0aGUgdHdvIHdpbGwgaGF2ZToKKyAgICAgICAgI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBpbml0aWFsbHkgc2V0cyBib3RoIHRvIGJlIGV4YWN0bHkgdGhlIHNh
bWUuIEFzIG90aGVyIGJ1Z3Mgd2l0aCBwYXRjaGVzIGJlZ2luIHRvIG1pZ3JhdGUgdG8KKyAgICAg
ICAgdGhlIG5ldyBBUEksIHRoZSBkZWZpbmVzIHdpbGwgYmVnaW4gdG8gc3BsaXQuIFRoaXMgYWxs
b3dzIHBvcnRzIHRvIGRlY2lkZSB3aGljaCBzZXQgb2YgQVBJcyB0byBpbmNsdWRlLgorCisgICAg
ICAgIFVwZGF0ZSBldmVyeXRoaW5nIHRvIGJlICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJDb250ZXh0OjplbnN1cmVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYktp
dDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpwZXJtaXNzaW9uTGV2ZWwp
OgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6
OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXNpb24pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6Omlu
aXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRV
cGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNh
dGlvbk1hbmFnZXI6OmRpZFJlbW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnBvbGljeUZvck9yaWdpbik6CisgICAgICAg
IChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3cpOgorICAgICAgICAoV2ViS2l0
OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjYW5jZWwpOgorICAgICAgICAoV2ViS2l0OjpXZWJO
b3RpZmljYXRpb25NYW5hZ2VyOjpjbGVhck5vdGlmaWNhdGlvbnMpOgorICAgICAgICAoV2ViS2l0
OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWREZXN0cm95Tm90aWZpY2F0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkU2hvd05vdGlmaWNhdGlvbik6
CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsaWNrTm90aWZp
Y2F0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xv
c2VOb3RpZmljYXRpb25zKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uTWFuYWdlcik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgIChXZWJQcm9jZXNzKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAxMi0wMy0xMyAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPiAmJiBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxFKENMSUVOVF9CQVNFRF9H
RU9MT0NBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggODJlMGVlMzhkZGNkM2FlNjQ0YzJk
NWY1Mjk5ZWQwYjMzNWJmYzFkYS4uNTNmZjYzODQ4OWZiZjkzOGI0NmMwZjI3M2JhNjg2ZjI4NDQx
NDlkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTIxMTgsNyArMjExOCw3IEBAIF9fWk5LN1dl
YkNvcmU3SW50U2l6ZWN2N19OU1NpemVFdgogX3drQ3JlYXRlVk1QcmVzc3VyZURpc3BhdGNoT25N
YWluUXVldWUKICNlbmRpZgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIF9fWk43V2Vi
Q29yZTEyTm90aWZpY2F0aW9uQzFFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb25EMUV2CiBf
X1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE3ZGlzcGF0Y2hTaG93RXZlbnRFdgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvY3BwL1dlYkRPTUV2ZW50VGFyZ2V0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2NwcC9XZWJET01FdmVudFRhcmdldC5jcHAKaW5kZXggZjBj
NjA5ODViNjRhNjA1MjAyMTcxNTQzNzIyMjU0MjczMDZiNTc0MS4uMTczNDRmY2M2MDNhNDVhYWIw
Nzg2NDA1YWZhNDA0NjZjYTIyYjYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvY3BwL1dlYkRPTUV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9jcHAvV2ViRE9NRXZlbnRUYXJnZXQuY3BwCkBAIC01Niw3ICs1Niw3IEBACiAjaW5jbHVkZSAi
V2ViRE9NU2hhcmVkV29ya2VyQ29udGV4dC5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogI2luY2x1ZGUgIldlYkRPTU5vdGlmaWNhdGlvbi5oIgogI2VuZGlmCiAKQEAg
LTEyMiw3ICsxMjIsNyBAQCBDb252ZXJ0VG8oU2hhcmVkV29ya2VyKQogQ29udmVydFRvKFNoYXJl
ZFdvcmtlckNvbnRleHQpCiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiBD
b252ZXJ0VG8oTm90aWZpY2F0aW9uKQogI2VuZGlmCiAKQEAgLTE2Niw3ICsxNjYsNyBAQCBXZWJE
T01FdmVudFRhcmdldCB0b1dlYktpdChXZWJDb3JlOjpFdmVudFRhcmdldCogdmFsdWUpCiAgICAg
ICAgIHJldHVybiB0b1dlYktpdCh3b3JrZXJDb250ZXh0KTsKICNlbmRpZgogCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBub3RpZmlj
YXRpb24gPSB2YWx1ZS0+dG9Ob3RpZmljYXRpb24oKSkKICAgICAgICAgcmV0dXJuIHRvV2ViS2l0
KG5vdGlmaWNhdGlvbik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKaW5kZXggMTZhOTYy
YzU2MjlhMzU5ZDVkYzdjZThlMjJiYWQ4NTA2NWU5MTJjZS4uYTBjYWQ4OGI4NDY5YzU2M2UxZTRl
YjQ2YzU1MjZmNjg1MTUxZmNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAKQEAgLTMwLDcgKzMw
LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSlNDdXN0b21Wb2lkQ2FsbGJh
Y2suaCIKQEAgLTcwLDQgKzcwLDQgQEAgSlNWYWx1ZSBKU05vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24oRXhlY1N0YXRlKiBleGVjKQogCiB9IC8vIG5hbWVzcGFjZQogCi0jZW5k
aWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSW5GaWxlc0NvbXBpbGVyLnBtIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0KaW5kZXggZTEyNjA2ODc5Mzhk
YWJlMGZkNWU3YTM4YzcyMzZlZWEwYWI1NmJhYS4uMzNlNzIxMGY4MTJkOGRmZmYwOWM3MGI1Zjkz
YzMxNWMyMzBhMzYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JbkZpbGVzQ29tcGlsZXIucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JbkZpbGVzQ29tcGlsZXIucG0KQEAgLTE2Niw2ICsxNjYsMjMgQEAgc3ViIHRvTWFjcm9TdHls
ZSgkJCkKICAgICBkaWUgIk9rLCB5b3UgZ290IG1lLiBUaGlzIHNjcmlwdCBpcyByZWFsbHkganVz
dCBhIGdpYW50IGhhY2suIChcJGNhbWVsQ2FzZT0ke2NhbWVsQ2FzZX0pIjsKIH0KIAorc3ViIHBy
ZWZlcnJlZENvbmRpdGlvbmFsKCkKK3sKKyAgICBteSAkb2JqZWN0ID0gc2hpZnQ7CisgICAgbXkg
JGNvbmRpdGlvbmFsID0gc2hpZnQ7CisKKyAgICBteSBAY29uZGl0aW9uYWxzID0gc3BsaXQoJ1xc
fCcsICRjb25kaXRpb25hbCk7CisgICAgcmV0dXJuICRjb25kaXRpb25hbHNbMF07Cit9CisKK3N1
YiBjb25kaXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgpCit7CisgICAgbXkgJG9iamVj
dCA9IHNoaWZ0OworICAgIG15ICRjb25kaXRpb25hbCA9IHNoaWZ0OworICAgIAorICAgIHJldHVy
biAiRU5BQkxFKCIgLiBqb2luKCcpIHx8IEVOQUJMRSgnLCBzcGxpdCgnXFx8JywgJGNvbmRpdGlv
bmFsKSkgLiAiKSI7Cit9CisKIHN1YiBnZW5lcmF0ZUludGVyZmFjZXNIZWFkZXIoKQogewogICAg
IG15ICRvYmplY3QgPSBzaGlmdDsKQEAgLTIwMiwxNyArMjE5LDE5IEBAIHN1YiBnZW5lcmF0ZUlu
dGVyZmFjZXNIZWFkZXIoKQogICAgIG15ICRtYWNyb1N0eWxlZE5hbWVzcGFjZSA9ICRvYmplY3Qt
PnRvTWFjcm9TdHlsZSgkbmFtZXNwYWNlKTsKIAogICAgIGZvciBteSAkY29uZGl0aW9uYWwgKHNv
cnQga2V5cyAlaW50ZXJmYWNlc0J5Q29uZGl0aW9uYWwpIHsKLSAgICAgICAgcHJpbnQgRiAiI2lm
IEVOQUJMRSgkY29uZGl0aW9uYWwpXG4iOwotICAgICAgICBwcmludCBGICIjZGVmaW5lIERPTV8k
e21hY3JvU3R5bGVkTmFtZXNwYWNlfV9JTlRFUkZBQ0VTX0ZPUl9FQUNIXyRjb25kaXRpb25hbCht
YWNybykgXFxcbiI7CisgICAgICAgIG15ICRwcmVmZXJyZWRDb25kaXRpb25hbCA9ICRvYmplY3Qt
PnByZWZlcnJlZENvbmRpdGlvbmFsKCRjb25kaXRpb25hbCk7CisgICAgICAgIHByaW50IEYgIiNp
ZiAiIC4gJG9iamVjdC0+Y29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRp
dGlvbmFsKSAuICJcbiI7CisKKyAgICAgICAgcHJpbnQgRiAiI2RlZmluZSBET01fJHttYWNyb1N0
eWxlZE5hbWVzcGFjZX1fSU5URVJGQUNFU19GT1JfRUFDSF8kcHJlZmVycmVkQ29uZGl0aW9uYWwo
bWFjcm8pIFxcXG4iOwogCiAgICAgICAgIGZvciBteSAkaW50ZXJmYWNlIChzb3J0IGtleXMgJXsg
JGludGVyZmFjZXNCeUNvbmRpdGlvbmFseyRjb25kaXRpb25hbH0gfSkgewogICAgICAgICAgICAg
bmV4dCBpZiBkZWZpbmVkKCR1bmNvbmRpdGlvbmFsSW50ZXJmYWNlc3skaW50ZXJmYWNlfSk7CiAg
ICAgICAgICAgICBwcmludCBGICIgICAgbWFjcm8oJGludGVyZmFjZSkgXFxcbiI7CiAgICAgICAg
IH0KIAotICAgICAgICBwcmludCBGICIvLyBFbmQgb2YgRE9NXyR7bWFjcm9TdHlsZWROYW1lc3Bh
Y2V9X0lOVEVSRkFDRVNfRk9SX0VBQ0hfJGNvbmRpdGlvbmFsXG4iOworICAgICAgICBwcmludCBG
ICIvLyBFbmQgb2YgRE9NXyR7bWFjcm9TdHlsZWROYW1lc3BhY2V9X0lOVEVSRkFDRVNfRk9SX0VB
Q0hfJHByZWZlcnJlZENvbmRpdGlvbmFsXG4iOwogICAgICAgICBwcmludCBGICIjZWxzZVxuIjsK
LSAgICAgICAgcHJpbnQgRiAiI2RlZmluZSBET01fJHttYWNyb1N0eWxlZE5hbWVzcGFjZX1fSU5U
RVJGQUNFU19GT1JfRUFDSF8kY29uZGl0aW9uYWwobWFjcm8pXG4iOworICAgICAgICBwcmludCBG
ICIjZGVmaW5lIERPTV8ke21hY3JvU3R5bGVkTmFtZXNwYWNlfV9JTlRFUkZBQ0VTX0ZPUl9FQUNI
XyRwcmVmZXJyZWRDb25kaXRpb25hbChtYWNybylcbiI7CiAgICAgICAgIHByaW50IEYgIiNlbmRp
ZlxuIjsKICAgICAgICAgcHJpbnQgRiAiXG4iOwogICAgIH0KQEAgLTIyNCw3ICsyNDMsOCBAQCBz
dWIgZ2VuZXJhdGVJbnRlcmZhY2VzSGVhZGVyKCkKICAgICB9CiAgICAgcHJpbnQgRiAiICAgIFxc
XG4iOwogICAgIGZvciBteSAkY29uZGl0aW9uYWwgKHNvcnQga2V5cyAlaW50ZXJmYWNlc0J5Q29u
ZGl0aW9uYWwpIHsKLSAgICAgICAgcHJpbnQgRiAiICAgIERPTV8ke21hY3JvU3R5bGVkTmFtZXNw
YWNlfV9JTlRFUkZBQ0VTX0ZPUl9FQUNIXyRjb25kaXRpb25hbChtYWNybykgXFxcbiI7CisgICAg
ICAgIG15ICRwcmVmZXJyZWRDb25kaXRpb25hbCA9ICRvYmplY3QtPnByZWZlcnJlZENvbmRpdGlv
bmFsKCRjb25kaXRpb25hbCk7CisgICAgICAgIHByaW50IEYgIiAgICBET01fJHttYWNyb1N0eWxl
ZE5hbWVzcGFjZX1fSU5URVJGQUNFU19GT1JfRUFDSF8kcHJlZmVycmVkQ29uZGl0aW9uYWwobWFj
cm8pIFxcXG4iOwogICAgIH0KIAogICAgIHByaW50IEYgIlxuIjsKQEAgLTI1OCw3ICsyNzgsNyBA
QCBzdWIgZ2VuZXJhdGVIZWFkZXJzSGVhZGVyKCkKICAgICAgICAgbmV4dCBpZiBkZWZpbmVkKCRp
bmNsdWRlZEludGVyZmFjZXN7JGludGVyZmFjZU5hbWV9KTsKICAgICAgICAgJGluY2x1ZGVkSW50
ZXJmYWNlc3skaW50ZXJmYWNlTmFtZX0gPSAxOwogCi0gICAgICAgIHByaW50IEYgIiNpZiBFTkFC
TEUoJGNvbmRpdGlvbmFsKVxuIiBpZiAkY29uZGl0aW9uYWw7CisgICAgICAgIHByaW50IEYgIiNp
ZiAiIC4gJG9iamVjdC0+Y29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRp
dGlvbmFsKSAuICJcbiIgaWYgJGNvbmRpdGlvbmFsOwogICAgICAgICBwcmludCBGICIjaW5jbHVk
ZSBcIiRpbnRlcmZhY2VOYW1lLmhcIlxuIjsKICAgICAgICAgcHJpbnQgRiAiI2lmIFVTRShKU0Mp
XG4iOwogICAgICAgICBwcmludCBGICIjaW5jbHVkZSBcIkpTJGludGVyZmFjZU5hbWUuaFwiXG4i
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZp
Y2F0aW9uQ2VudGVyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAKaW5kZXggN2VlYzdlZmQ5OWJiZDNjNzI1
Nzc0Yzk3MTUyYTFlNTE1ODQ3NjM4Ni4uNDgzMGJiMGNiMjUwYTRhNWU0YTYwNGRmMmZjOWI3N2Vm
MTc4MGFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwCkBAIC0zMCw3ICszMCw3
IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiAjaW5jbHVkZSAiVjhOb3RpZmljYXRpb25DZW50ZXIuaCIKIAogI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKQEAgLTEwNyw0ICsxMDcsNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb3Rp
ZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uQ2FsbGJhY2soY29uc3Qgdjg6OgogCiB9
ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgIC8vIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0
b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA2
MTk1ODczOTM4MjcwZDM2Yjc2NjVkYzlkY2VkMWI5ODE1ZGFlYTRmLi5jOGQyNzZlMWIwYmUzOWI2
MTU5MGJlM2JmNWE1Y2MwOGU5MjY3ZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dEZhY3RvcnkuaW4KQEAgLTE4LDcgKzE4LDcgQEAgTWVkaWFDb250cm9sbGVyIGNvbmRpdGlvbmFs
PVZJREVPCiBNZWRpYVN0cmVhbSBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lc3NhZ2VQb3J0
CiBOb2RlCi1Ob3RpZmljYXRpb24gY29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUworTm90aWZpY2F0
aW9uIGNvbmRpdGlvbmFsPU5PVElGSUNBVElPTlN8TEVHQUNZX05PVElGSUNBVElPTlMKIFNoYXJl
ZFdvcmtlciBjb25kaXRpb25hbD1TSEFSRURfV09SS0VSUwogU2hhcmVkV29ya2VyQ29udGV4dCBj
b25kaXRpb25hbD1TSEFSRURfV09SS0VSUwogU1ZHRWxlbWVudEluc3RhbmNlIGNvbmRpdGlvbmFs
PVNWRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmlu
ZGV4IDVkZTBlNTI3YzZhMzMzODY1NTgxNThhZTQ4OTQ1M2JkMGE1YmY5ZDYuLjYwM2UwY2ZmYzIy
YmE5NWZkNTdkOWFmMTZiOGY4NjdlNTgzYWRiNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgIk5v
dGlmaWNhdGlvbi5oIgogCkBAIC0yNjIsNCArMjYyLDQgQEAgdm9pZCBOb3RpZmljYXRpb246OmRp
c3BhdGNoRXJyb3JFdmVudCgpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCBkZDBkNmVkODRhZDMwNzlkODhiYTAyYTAyYmNhY2M2
YTY0NWNiMzlkLi5iOGYzMzdjOTE4MGI2ZjQ4NzM4MTQyZGJkYzVhYjBkYjE2OTJhMGNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTQ2LDcgKzQ2
LDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWlj
U3RyaW5nSGFzaC5oPgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgTm90aWZpY2F0aW9uQ2VudGVyOwpAQCAtMTY0LDYgKzE2NCw2IEBA
IHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNlbmRpZiAvLyBOb3RpZmljYXRpb25zX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAppbmRleCBkOGNiM2Nj
MzlhMjVlNzE3NDNlOWY3NWU5ZThjZjRjMTgwZTIyMTY4Li5lNmRkMjVhMWZhNzQyYmYzNzYxMjIx
ODZjMDc0NGY1NDExYjhjM2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uaWRsCkBAIC0zMiw3ICszMiw3IEBACiBtb2R1bGUgdGhyZWFkcyB7CiAKICAg
ICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TLAorICAgICAg
ICBDb25kaXRpb25hbD1OT1RJRklDQVRJT05TfExFR0FDWV9OT1RJRklDQVRJT05TLAogICAgICAg
ICBBY3RpdmVET01PYmplY3QsCiAgICAgICAgIEV2ZW50VGFyZ2V0LAogICAgICAgICBPbWl0Q29u
c3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcAppbmRleCBmZjYwNDQ1MzFhMTU0MjgyMzI0YzE1NGUzNTlmMjVkYjRmNzdk
NWEzLi4yZjJkN2Q2YTdjZjAyNzhkNzM5YTk4ZTg1MGQ5YmFiYjM0MjM5ZjdiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCkBA
IC0zMSw3ICszMSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIKIApAQCAtODAs
NCArODAsNCBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6ZGlzY29ubmVjdEZyYW1lKCkKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMp
CisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bkNlbnRlci5oCmluZGV4IDJjY2NjMGRmY2M2YTZiN2E2MWRjMjkyNGFkYjc1OWFhOGFjZGY1OTUu
LjJjZWRhYzg2ZWU2NmFhMzY3NTBkNWUzMDA4YTBhZDdjMjVkZmUxM2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaApAQCAtNDEsNyAr
NDEsNyBAQAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC05MCw2ICs5MCw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNlbmRpZiAvLyBO
b3RpZmljYXRpb25DZW50ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCmluZGV4IDhiZTFlY2M3NjlmYmM1YTQzN2I3NjRlOTZh
MDdlNDc1MTcwYTM1NjYuLjdiMGZjMjU1NTdjYzUwYTNiNTU3OGMzMmI4MjI0NTA5MWMxMWMyN2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5pZGwKQEAgLTMyLDcgKzMyLDcgQEAKIG1vZHVsZSB0aHJlYWRzIHsKIAogICAgIGludGVy
ZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlMsCisgICAgICAgIENvbmRp
dGlvbmFsPU5PVElGSUNBVElPTlN8TEVHQUNZX05PVElGSUNBVElPTlMsCiAgICAgICAgIEFjdGl2
ZURPTU9iamVjdCwKICAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBOb3RpZmljYXRpb25D
ZW50ZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25Db250ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25Db250ZW50cy5oCmluZGV4IDExODZjMWM3ODIzZjJhMDUwMjQwYjc2MDA2NTU2OTUyYmE0Mjkx
NzMuLjY4YWRkNTA5OWI5MzM3NGIxOTUzZTkxZTllNDc1NTkwNzQ2M2U3NDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmgKQEAg
LTMyLDcgKzMyLDcgQEAKICNpZm5kZWYgTm90aWZpY2F0aW9uQ29udGVudHNfaAogI2RlZmluZSBO
b3RpZmljYXRpb25Db250ZW50c19oCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAj
aW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNTUs
NiArNTUsNiBAQCBwdWJsaWM6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNlbmRpZiAvLyBOb3RpZmljYXRpb25D
b250ZW50c19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25Db250cm9sbGVyLmNwcAppbmRleCBkZjIzNWQzYzRiMGM5MWFkYWUyZTQ1ZWUzMTlj
NmNhNmUxNjUwMDFmLi5lOGVmYjAzZTllZWEyYjc5MTA5YTMxZTc5MmU4Y2NmOTBmZWI0MzM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJOb3RpZmljYXRpb25Db250cm9sbGVyLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KQEAgLTcwLDQgKzcwLDQgQEAgdm9pZCBwcm92aWRlTm90aWZpY2F0aW9u
KFBhZ2UqIHBhZ2UsIE5vdGlmaWNhdGlvbkNsaWVudCogY2xpZW50KQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xs
ZXIuaAppbmRleCA3ZTlkNTk3ZTM4YTE2ZDk5ODNhNWM2NjFmOGQ1NmM1ZjUwOWQ0MTYzLi5hMTU1
MjY4N2QwYTQxNDY2ZDY3ZjQyNzY3MmYwMTNhMjM2OWJiNTcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaApAQCAtMjYs
NyArMjYsNyBAQAogI2lmbmRlZiBOb3RpZmljYXRpb25Db250cm9sbGVyX2gKICNkZWZpbmUgTm90
aWZpY2F0aW9uQ29udHJvbGxlcl9oCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAj
aW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBAIC01Nyw2ICs1Nyw2
IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNlbmRpZiAvLyBOb3RpZmljYXRpb25Db250cm9s
bGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCAyZTQ3NjJmNWZmNjUzZjM4MjUw
ZjFjZjM5NzllOTY3OTc5MWRlNjdlLi5jMTQxNjczOGQ3NjAxOTkwNGYzZmExMDQ0ZGM2MDY2MzJi
MDRiNjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC00MTgsNyArNDE4LDcgQEAg
RE9NV2luZG93Ojp+RE9NV2luZG93KCkKICAgICAgICAgQVNTRVJUKCFtX3Nlc3Npb25TdG9yYWdl
KTsKICAgICAgICAgQVNTRVJUKCFtX2xvY2FsU3RvcmFnZSk7CiAgICAgICAgIEFTU0VSVCghbV9h
cHBsaWNhdGlvbkNhY2hlKTsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICBB
U1NFUlQoIW1fbm90aWZpY2F0aW9ucyk7CiAjZW5kaWYKICNpZiBFTkFCTEUoQkxPQikKQEAgLTQ3
OCw3ICs0NzgsNyBAQCB2b2lkIERPTVdpbmRvdzo6d2lsbERldGFjaFBhZ2UoKQogewogICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVXaW5kb3dEaXNjYXJkZWQobV9mcmFtZSwgdGhp
cyk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIC8vIENsZWFyaW5nIE5vdGlm
aWNhdGlvbnMgcmVxdWVzdHMgaW52b2x2ZXMgYWNjZXNzaW5nIHRoZSBjbGllbnQgc28gaXQgbXVz
dCBiZSBkb25lCiAgICAgLy8gYmVmb3JlIHRoZSBmcmFtZSBpcyBkZXRhY2hlZC4KICAgICByZXNl
dE5vdGlmaWNhdGlvbnMoKTsKQEAgLTUyOCw3ICs1MjgsNyBAQCB2b2lkIERPTVdpbmRvdzo6ZGlz
Y29ubmVjdERPTVdpbmRvd1Byb3BlcnRpZXMoKQogICAgIGZvciAoSGFzaFNldDxET01XaW5kb3dQ
cm9wZXJ0eSo+OjppdGVyYXRvciBpdCA9IG1fcHJvcGVydGllcy5iZWdpbigpOyBpdCAhPSBzdG9w
OyArK2l0KQogICAgICAgICAoKml0KS0+ZGlzY29ubmVjdEZyYW1lKCk7CiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogICAgIC8vIEZJWE1FOiBOb3RpZmljYXRpb25zIHNob3VsZG4ndCBo
YXZlIGRpZmZlcmVudCBkaXNjb25uZWN0aW9uIGxvZ2ljIHRoYW4KICAgICAvLyB0aGUgcmVzdCBv
ZiB0aGUgRE9NV2luZG93UHJvcGVydGllcy4KICAgICAvLyBUaGVyZSBpcyBjdXJyZW50bHkgbm8g
d2F5IHRvIHJlY29ubmVjdCB0aGVtIGluIHJlc3VtZUZyb21QYWdlQ2FjaGUoKSBzbwpAQCAtNTcx
LDcgKzU3MSw3IEBAIHZvaWQgRE9NV2luZG93OjpjbGVhckRPTVdpbmRvd1Byb3BlcnRpZXMoKQog
ICAgIG1fc2Vzc2lvblN0b3JhZ2UgPSAwOwogICAgIG1fbG9jYWxTdG9yYWdlID0gMDsKICAgICBt
X2FwcGxpY2F0aW9uQ2FjaGUgPSAwOwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAg
Ly8gRklYTUU6IE5vdGlmaWNhdGlvbnMgc2hvdWxkbid0IGhhdmUgZGlmZmVyZW50IGRpc2Nvbm5l
Y3Rpb24gbG9naWMgdGhhbgogICAgIC8vIHRoZSByZXN0IG9mIHRoZSBET01XaW5kb3dQcm9wZXJ0
aWVzLgogICAgIHJlc2V0Tm90aWZpY2F0aW9ucygpOwpAQCAtNzg0LDcgKzc4NCw3IEBAIFN0b3Jh
Z2UqIERPTVdpbmRvdzo6bG9jYWxTdG9yYWdlKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAg
IHJldHVybiBtX2xvY2FsU3RvcmFnZS5nZXQoKTsKIH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCiBOb3RpZmljYXRpb25DZW50ZXIqIERPTVdpbmRvdzo6d2Via2l0Tm90aWZpY2F0aW9u
cygpIGNvbnN0CiB7CiAgICAgaWYgKCFpc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDYxMzYyNGYzN2MyYWEyMWNiNmRlZDBkZGU5NTk1YTM1
ZmFhMWVjZjcuLmJkODFiNDhmNTZlZjE4MGE5YWFkYjA4MDUzMTFhMDIyMDQyY2I4MDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzU2LDcgKzM1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgU3RvcmFnZSogc2Vzc2lvblN0b3JhZ2UoRXhjZXB0aW9uQ29kZSYpIGNvbnN0
OwogICAgICAgICBTdG9yYWdlKiBsb2NhbFN0b3JhZ2UoRXhjZXB0aW9uQ29kZSYpIGNvbnN0Owog
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAgTm90aWZpY2F0aW9uQ2VudGVy
KiB3ZWJraXROb3RpZmljYXRpb25zKCkgY29uc3Q7CiAgICAgICAgIC8vIFJlbmRlcnMgd2Via2l0
Tm90aWZpY2F0aW9ucyBvYmplY3Qgc2FmZWx5IGlub3BlcmFibGUsIGRpc2Nvbm5lY3RzCiAgICAg
ICAgIC8vIGlmIGZyb20gZW1iZWRkZXItcHJvdmlkZWQgTm90aWZpY2F0aW9uQ2xpZW50LgpAQCAt
NDUwLDcgKzQ1MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgbXV0YWJsZSBSZWZQ
dHI8U3RvcmFnZT4gbV9sb2NhbFN0b3JhZ2U7CiAgICAgICAgIG11dGFibGUgUmVmUHRyPERPTUFw
cGxpY2F0aW9uQ2FjaGU+IG1fYXBwbGljYXRpb25DYWNoZTsKIAotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgICAgIG11dGFibGUgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9u
b3RpZmljYXRpb25zOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCAx
NDA4NmJmMjBlOWU0OTc2YWE4ODEyM2I4NjBjMDdiNDU5M2E3OWFkLi5mMmI5MGNlNTgxMGZlOTYz
MDc4ZTU0ODEyYTE4MDkwYmRlODJjNzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBA
IC0xNzAsNyArMTcwLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBTdG9yYWdlIGxvY2FsU3RvcmFnZQogICAgICAgICAg
ICAgZ2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0jaWYgZGVmaW5lZChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJiYgRU5BQkxFX05PVElGSUNBVElPTlMKKyNpZiAoZGVmaW5lZChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX05PVElGSUNBVElPTlMpIHx8IChkZWZpbmVkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKQog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gTm90aWZpY2F0
aW9uQ2VudGVyIHdlYmtpdE5vdGlmaWNhdGlvbnM7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cAppbmRleCBhZDljYWI4ZTlkMTNhMWY1YmI3NTgzMTdiYmM3OTYyM2NiZTZhYzQwLi5iMzEzNjQ5
YmUyZDdlYWQyYTI2MzcxMGEwM2UzN2QwOGNhZDUwZjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApA
QCAtNjg3LDcgKzY4Nyw3IEBAIHZvaWQgRnJhbWU6OndpbGxEZXRhY2hQYWdlKCkKICAgICBpZiAo
RnJhbWUqIHBhcmVudCA9IHRyZWUoKS0+cGFyZW50KCkpCiAgICAgICAgIHBhcmVudC0+bG9hZGVy
KCktPmNoZWNrTG9hZENvbXBsZXRlKCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
ICAgIGlmIChtX2RvbVdpbmRvdykKICAgICAgICAgbV9kb21XaW5kb3ctPnJlc2V0Tm90aWZpY2F0
aW9ucygpOwogI2VuZGlmCkBAIC03MzcsNyArNzM3LDcgQEAgdm9pZCBGcmFtZTo6dHJhbnNmZXJD
aGlsZEZyYW1lVG9OZXdEb2N1bWVudCgpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV9kb21X
aW5kb3cpIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICAgICAgbV9kb21X
aW5kb3ctPnJlc2V0Tm90aWZpY2F0aW9ucygpOwogI2VuZGlmCiAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCmluZGV4IGRlYmJlYmEzZmU4MGE3OGZhNjMz
Y2NiM2JmMjYxY2VkNjZmNjFmMGEuLmZiNDJmMzFhODZkYTAyMmQxNWQ2NzVlZmVjNTdiYTAyMDAx
YzdmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcApAQCAtNTks
NyArNTksNyBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVW51c2Vk
UGFyYW0uaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiTm90aWZp
Y2F0aW9uQ2VudGVyLmgiCiAjZW5kaWYKIApAQCAtMTA0LDcgKzEwNCw3IEBAIFdvcmtlckNvbnRl
eHQ6OldvcmtlckNvbnRleHQoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgV29ya2VyVGhyCiBXb3JrZXJDb250ZXh0Ojp+V29ya2VyQ29udGV4dCgpCiB7CiAgICAgQVNT
RVJUKGN1cnJlbnRUaHJlYWQoKSA9PSB0aHJlYWQoKS0+dGhyZWFkSUQoKSk7Ci0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKICAgICBtX25vdGlmaWNhdGlvbnMuY2xlYXIoKTsKICNlbmRpZgog
CkBAIC0yOTQsNyArMjk0LDcgQEAgdm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlVG9Xb3Jr
ZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZQogICAgICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCB0
eXBlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyKTsKIH0KIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiBOb3RpZmljYXRpb25DZW50ZXIqIFdvcmtlckNvbnRleHQ6
OndlYmtpdE5vdGlmaWNhdGlvbnMoKSBjb25zdAogewogICAgIGlmICghbV9ub3RpZmljYXRpb25z
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAppbmRleCBmMDQ1YTQ4MTlhNjU5
NGQyOTU2MmEwMDgwN2I4NjAyZTJjMDEyYmEwLi5iNWQyNjBlZTIwNDg1NGVjYjNhMDYzYTk2Yjlk
ZGJjODE2NjZmNGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAt
MTA1LDcgKzEwNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dAogICAgICAgICB2aXJ0dWFsIFdvcmtlckV2ZW50UXVldWUqIGV2ZW50UXVl
dWUoKSBjb25zdDsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIE5vdGlm
aWNhdGlvbkNlbnRlciogd2Via2l0Tm90aWZpY2F0aW9ucygpIGNvbnN0OwogI2VuZGlmCiAKQEAg
LTE3Miw3ICsxNzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIE93blB0cjxXb3Jr
ZXJTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKICAgICAgICAgV29ya2VyVGhyZWFkKiBtX3Ro
cmVhZDsKIAotI2lmIEVOQUJMRV9OT1RJRklDQVRJT05TCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAgbXV0YWJsZSBSZWZQ
dHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBtX25vdGlmaWNhdGlvbnM7CiAjZW5kaWYKICNpZiBFTkFC
TEUoQkxPQikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCmluZGV4IDkz
MGMyZDBhZDhmZTc1MWU0NzU4NjhhMzYwNzAyOTM1ZGYyMGZmNzUuLmY4OGI5NDhmOTIwNDU4OGZh
NTI1NDBjMDA0MTZkZTBiZTE3ZTc5ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmlkbApAQCAtNzAsNyArNzAsNyBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgIGJv
b2xlYW4gZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldnQpCiAgICAgICAgICAgICByYWlzZXMoRXZl
bnRFeGNlcHRpb24pOwogCi0jaWYgZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJiYgRU5B
QkxFX05PVElGSUNBVElPTlMKKyNpZiAoZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJiYg
RU5BQkxFX05PVElGSUNBVElPTlMpIHx8IChkZWZpbmVkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUykgJiYgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICAvLyBOb3RpZmlj
YXRpb24gaW50ZXJmYWNlCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRS
dW50aW1lXSBOb3RpZmljYXRpb25DZW50ZXIgd2Via2l0Tm90aWZpY2F0aW9uczsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGQyZTIzYTg3ZGNiYzc2
MWQyZjI5ZjgwNGMyMzI2ZjgxNGMyNWFmNDUuLmRhNTFjMmRiYThjMzFjNTYwZjlkNjMxZDljMWVj
NDkyN2RjMjJmMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAg
LTk2LDcgKzk2LDcgQEAgV29ya2VyVGhyZWFkOjpXb3JrZXJUaHJlYWQoY29uc3QgS1VSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QKICAgICAsIG1fd29ya2VyTG9h
ZGVyUHJveHkod29ya2VyTG9hZGVyUHJveHkpCiAgICAgLCBtX3dvcmtlclJlcG9ydGluZ1Byb3h5
KHdvcmtlclJlcG9ydGluZ1Byb3h5KQogICAgICwgbV9zdGFydHVwRGF0YShXb3JrZXJUaHJlYWRT
dGFydHVwRGF0YTo6Y3JlYXRlKHNjcmlwdFVSTCwgdXNlckFnZW50LCBzb3VyY2VDb2RlLCBzdGFy
dE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSkp
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAsIG1fbm90aWZpY2F0aW9uQ2xpZW50
KDApCiAjZW5kaWYKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IGNi
ZTVhNzE3OGQ0MGQyYTJiMjg4YzhjMTlhN2RlYWY4ZWVkYmZlNGIuLjYwYzU5ZDM3ODNhMjg3YzUy
MTZmNDhiNmUwOTUzMTE5NzJlYmJlMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaApAQCAtNjIsNyArNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIE51
bWJlciBvZiBhY3RpdmUgd29ya2VyIHRocmVhZHMuCiAgICAgICAgIHN0YXRpYyB1bnNpZ25lZCB3
b3JrZXJUaHJlYWRDb3VudCgpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAg
ICAgTm90aWZpY2F0aW9uQ2xpZW50KiBnZXROb3RpZmljYXRpb25DbGllbnQoKSB7IHJldHVybiBt
X25vdGlmaWNhdGlvbkNsaWVudDsgfQogICAgICAgICB2b2lkIHNldE5vdGlmaWNhdGlvbkNsaWVu
dChOb3RpZmljYXRpb25DbGllbnQqIGNsaWVudCkgeyBtX25vdGlmaWNhdGlvbkNsaWVudCA9IGNs
aWVudDsgfQogI2VuZGlmCkBAIC05Myw3ICs5Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgICAgICBPd25QdHI8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+IG1fc3RhcnR1cERhdGE7CiAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmljYXRpb25DbGllbnQq
IG1fbm90aWZpY2F0aW9uQ2xpZW50OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2UuY3BwCmluZGV4IGQ0MzRlODM2M2ExMWE3NDVlMzExOWI5NjA2ZTMwNjExZjM0
ZTM2NzcuLjg0NzYyNDVhNDJlZWJhOGQzMTQ1ZmY2YjM3ZWEwOGM5NjNjODQ0MWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcApAQCAtNzEsNyArNzEsNyBAQAogI2lu
Y2x1ZGUgIkxheWVyV2ViS2l0VGhyZWFkLmgiCiAjaW5jbHVkZSAiTmV0d29ya01hbmFnZXIuaCIK
ICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCIKICNlbmRpZgogI2luY2x1
ZGUgIlBhZ2UuaCIKQEAgLTQyOCw3ICs0MjgsNyBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjppbml0
KGNvbnN0IFdlYlN0cmluZyYgcGFnZUdyb3VwTmFtZSkKICAgICBwYWdlQ2xpZW50cy5kZXZpY2VP
cmllbnRhdGlvbkNsaWVudCA9IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudEJsYWNrQmVycnko
dGhpcyk7CiAgICAgbV9wYWdlID0gbmV3IFBhZ2UocGFnZUNsaWVudHMpOwogCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKICAgICBXZWJDb3JlOjpwcm92aWRlTm90aWZpY2F0aW9uKG1fcGFn
ZSwgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6aW5zdGFuY2UoKSk7CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNh
dGlvblByZXNlbnRlckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVT
dXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuY3BwCmluZGV4IDE2YzQ1MWVjMzY0ZjRj
ZjQ1ODE2ODk5MzQ2ZjMwN2EwNGE4ODI0YjkuLjQ1NzBmNmI3OGNlMzM4OWZjNTAyOTY0N2JkMzY0
YWZiMDQ0Y2M0M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAK
QEAgLTE5LDcgKzE5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJOb3RpZmlj
YXRpb25QcmVzZW50ZXJJbXBsLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2lu
Y2x1ZGUgPEV2ZW50Lmg+CiAjaW5jbHVkZSA8Tm90aWZpY2F0aW9uLmg+CiAjaW5jbHVkZSA8Tm90
aWZpY2F0aW9uUHJlc2VudGVyQmxhY2tCZXJyeS5oPgpAQCAtMTU1LDQgKzE1NSw0IEBAIHZvaWQg
Tm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6bm90aWZpY2F0aW9uQ2xpY2tlZChjb25zdCBzdGQ6
OnN0cmluZyYgaWQpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmggYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1w
bC5oCmluZGV4IGI3MDhlMDAyZTk4MTZlOGFlMmVlODc5NzM1OTkxMGYxMjE2MGIyM2MuLjI1ZTkx
NmE5MGJjOTNkYmFmMjM4YWIwZjZhMzM0ZjEwMWM0NWM4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNh
dGlvblByZXNlbnRlckltcGwuaApAQCAtMTksNyArMTksNyBAQAogI2lmbmRlZiBOb3RpZmljYXRp
b25QcmVzZW50ZXJJbXBsX2gKICNkZWZpbmUgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbF9oCiAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2luY2x1ZGUgPE5vdGlmaWNhdGlvbkFja0xp
c3RlbmVyLmg+CiAjaW5jbHVkZSA8Tm90aWZpY2F0aW9uQ2xpZW50Lmg+CiAjaW5jbHVkZSA8Tm90
aWZpY2F0aW9uUHJlc2VudGVyQmxhY2tCZXJyeS5oPgpAQCAtODEsNSArODEsNSBAQCBwcml2YXRl
OgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJ
T05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAjZW5kaWYgLy8gTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmlu
ZGV4IGFjNmZhMDQ0NzFhZmRiYjkzNWM2YzNlNTEyYjM5MGJhN2NlMGFlZmQuLjZhNTQyMDhmZjg4
OTJhY2ZhYmYyNjhkZmQ4MTFmNDE4OTAwOWRkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC0zOTMsNyArMzkzLDcgQEAg
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWRlb0ZyYW1lOjpGb3JtYXRFbXB0eSwg
VmlkZW9GcmFtZUNocm9taXVtOjpFbXAKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
VmlkZW9GcmFtZTo6Rm9ybWF0QVNDSUksIFZpZGVvRnJhbWVDaHJvbWl1bTo6QVNDSUkpOwogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25BbGxvd2VkLCBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKTsKIENPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZCwg
Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZCk7CiBDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYk5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkRlbmll
ZCwgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAK
aW5kZXggOTlhN2VhMzc4YzA3MTkzOWNmNjQ2ZTVmMTdmODU5Mjc5ZmU1OGI3MC4uNjgzZTY2ZmFh
NWI2ODBkZjU1NDEyZDVhZTdkYWVmMmY2ZDYzYTZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAKQEAgLTMx
LDcgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25Q
cmVzZW50ZXJJbXBsLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVk
ZSAiS1VSTC5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgpAQCAtMTExLDQgKzExMSw0IEBA
IHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5k
aWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaAppbmRleCBjYWQ1
Yjg4MDEzOWEwODlkMTk5MGQ5MzZmNDRjMzAzZjlhNWI0OTFiLi5jNDNlMWQ2MGQyNGYzNDVjOTNl
ODVlNzJjNDFiZDQxZTgyNGI0OTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oCkBAIC0zNyw3ICszNyw3IEBACiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCi0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTY2
LDYgKzY2LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAv
LyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwCmluZGV4IDg0OWRjNGY2NzRhNDFh
ZjEwZmFmOWQyODgyYTI2MDg5ODBmMTBmOWEuLjdhNjNiNTlkNTE1ZTU1NDY3MzM2OGU1YmRlMDA2
NTA0NjIzYmI4ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5v
dGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm90aWZp
Y2F0aW9uLmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYk5vdGlmaWNhdGlvbi5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAog
I2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uLmgiCkBAIC0xNzQsNCAr
MTc0LDQgQEAgdm9pZCBXZWJOb3RpZmljYXRpb246OmFzc2lnbihXZWJOb3RpZmljYXRpb25Qcml2
YXRlKiBwKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UnVudGltZUZlYXR1cmVzLmNwcAppbmRleCBkMjk3YTgyOGNjNjE1ZjI2NzEzYTA0YzJhMmYyNGNk
NDg5Y2VmZWFlLi44MGEyYmRiMTMwZDVlMmRiZDJhODhkMWUwZGQ3MzU3M2Y1ZjY1MTliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAK
QEAgLTExNiwxNCArMTE2LDE0IEBAIGJvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc1NvY2tldHNF
bmFibGVkKCkKIAogdm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZU5vdGlmaWNhdGlvbnMo
Ym9vbCBlbmFibGUpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzZXRXZWJraXROb3RpZmljYXRpb25zRW5hYmxlZChlbmFibGUpOwog
I2VuZGlmCiB9CiAKIGJvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc05vdGlmaWNhdGlvbnNFbmFi
bGVkKCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHJldHVybiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjp3ZWJraXROb3RpZmljYXRpb25zRW5hYmxlZCgpOwogI2Vsc2UKICAg
ICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKaW5kZXggMjBlMmU0ZWYzMTNjZjczMjVmMjUyYjg0NjUxZjg2MDY4NDlhYmFhMy4uMDZhYzY3
OWI2MDU1MGE4OTcwZmRmNTk5ZjRhYTU0MTQ0NWQ2ZTU5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMzg5LDcgKzM4OSw3IEBAIFdlYlZpZXdJbXBs
OjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KiBjbGllbnQpCiAjaWYgRU5BQkxFKElOUFVUX1NQ
RUVDSCkKICAgICBwcm92aWRlU3BlZWNoSW5wdXRUbyhtX3BhZ2UuZ2V0KCksIG1fc3BlZWNoSW5w
dXRDbGllbnQuZ2V0KCkpOwogI2VuZGlmCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAg
ICBwcm92aWRlTm90aWZpY2F0aW9uKG1fcGFnZS5nZXQoKSwgbm90aWZpY2F0aW9uUHJlc2VudGVy
SW1wbCgpKTsKICNlbmRpZgogCkBAIC0yOTUyLDcgKzI5NTIsNyBAQCB2b2lkIFdlYlZpZXdJbXBs
OjpzZXRPdmVybGF5TGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbGF5ZXIpCiAgICAgfQog
fQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIE5vdGlmaWNhdGlvblByZXNlbnRlcklt
cGwqIFdlYlZpZXdJbXBsOjpub3RpZmljYXRpb25QcmVzZW50ZXJJbXBsKCkKIHsKICAgICBpZiAo
IW1fbm90aWZpY2F0aW9uUHJlc2VudGVyLmlzSW5pdGlhbGl6ZWQoKSAmJiBtX2NsaWVudCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDM4MTllY2I2NTU0MWUx
ZDUzZGEwODY4MWQyNjYwOGJkYzM2NWVhNWIuLmQzOGVlNWRhNjMzNTQ5ODY5MmY0ZWY0ZjM0ZWVj
ZjhlYzcxNjMwYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApA
QCAtNDE1LDcgKzQxNSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9hdXRvZmlsbFBvcHVwU2hvd2lu
ZyA9IGZhbHNlOwogICAgIH0KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLy8g
UmV0dXJucyB0aGUgcHJvdmlkZXIgb2YgZGVza3RvcCBub3RpZmljYXRpb25zLgogICAgIE5vdGlm
aWNhdGlvblByZXNlbnRlckltcGwqIG5vdGlmaWNhdGlvblByZXNlbnRlckltcGwoKTsKICNlbmRp
ZgpAQCAtNjgxLDcgKzY4MSw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFNldHRpbmdzTWFwPiBt
X2luc3BlY3RvclNldHRpbmdzTWFwOwogICAgIE93blB0cjxEcmFnU2Nyb2xsVGltZXI+IG1fZHJh
Z1Njcm9sbFRpbWVyOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAvLyBUaGUg
cHJvdmlkZXIgb2YgZGVza3RvcCBub3RpZmljYXRpb25zOwogICAgIE5vdGlmaWNhdGlvblByZXNl
bnRlckltcGwgbV9ub3RpZmljYXRpb25QcmVzZW50ZXI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IDBi
MDAzNzQxNzJkZDk0ZWYyOTUyYmFkYTg5YzFkZDdkMDRhZDg0ZGUuLmRkNzliOTNhMWE0NWYwOWQ2
NjhiOTc0ZDcyMGMwNTg1ZDczNGI4NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNTUsNyArNTUsNyBAQAogI2lu
Y2x1ZGUgPEV2YXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dEVmbC5oIgogI2VuZGlmCiAKQEAgLTQxNyw3ICs0MTcsNyBAQCB2b2lkIENocm9tZUNsaWVudEVm
bDo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBkYXRh
YmFzZQogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogTm90aWZpY2F0
aW9uQ2xpZW50KiBDaHJvbWVDbGllbnRFZmw6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggMjVkZDM1ZjcwZDQ1ZDgyMGFiMGE2
MjQ3NDZlNzhkYmY2YjIwY2E5NS4uOWNlOWQ2OGRmN2RlZGM2NmIxNmViYmYzZmQwYzNiMzM2ODYy
OTI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50RWZsLmgKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVk
ZSAiUG9wdXBNZW51LmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2luY2x1ZGUg
Ik5vdGlmaWNhdGlvbkNsaWVudC5oIgogI2VuZGlmCiAKQEAgLTExNCw3ICsxMTQsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGV4Y2VlZGVkRGF0YWJhc2VRdW90YShGcmFtZSosIGNvbnN0
IFN0cmluZyYpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHZp
cnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50KiBub3RpZmljYXRpb25QcmVzZW50ZXIo
KSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50RWZsLmNwcApp
bmRleCBiYTQ2NmY1YzRmMDNhZjZkYzNjMzU5NTJhMWQyZTRlNTBlZGI0ZTE4Li5lMzM3MzUxMzRm
YzY5MzFmZDQ3MzQzMmM5YWFhNzBkYTg1MDFhZjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudEVmbC5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmwuaCIKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmwuaAppbmRleCAyNjBjNDQy
ZWQ1NzU0ZDc1N2NhY2U1MmZlODU0NGJhZjM1MTI3YzM3Li41NTE3NGU3MDc0N2IwNzU0YTc0OTFk
NWU3MDRiYjMzZDdjYzYwYzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmwuaApA
QCAtMjAsNyArMjAsNyBAQAogI2lmbmRlZiBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmxf
aAogI2RlZmluZSBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRFZmxfaAogCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJO
b3RpZmljYXRpb25QcmVzZW50ZXIuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAppbmRleCBkNjhkOTIyNzU5
MjhlNmViMDdjZmU4MmM4YTlhYjA2YmExNGIwNTQ1Li41ZGZhMDQ2ZGZkZmY1NDNjMWUyMDk0Mjhk
MzhiOGM4ZDQ3YmYzMjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAtMjUsNyArMjUsNyBAQAogCiAj
aW1wb3J0IDxXZWJDb3JlL05vdGlmaWNhdGlvbkNsaWVudC5oPgogCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKICNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0aW9uLmg+CiAjaW1wb3J0IDx3
dGYvSGFzaE1hcC5oPgogI2ltcG9ydCA8d3RmL1JlZlB0ci5oPgpAQCAtNTcsNyArNTcsNyBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZF
UlJJREU7CiAKICAgICBXZWJWaWV3ICptX3dlYlZpZXc7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKICAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpOb3RpZmljYXRpb24+LCBSZXRhaW5Q
dHI8V2ViTm90aWZpY2F0aW9uPiA+IG1fbm90aWZpY2F0aW9uTWFwOwogICAgIAogICAgIHR5cGVk
ZWYgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4sIFZlY3Rv
cjxSZXRhaW5QdHI8V2ViTm90aWZpY2F0aW9uPiA+ID4gTm90aWZpY2F0aW9uQ29udGV4dE1hcDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlm
aWNhdGlvbkNsaWVudC5tbQppbmRleCAzZmRmMGJjN2YzNjIyZWVhYjRiMTMyYjhiMzk5NjE0MGMz
ZmY4MTRlLi5iMGZmZGZkOGY4NTI4Y2I1NmEzNzhlOWNhYzdlNDkyZjdiOTlhZjNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50Lm1tCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbXBvcnQgIldlYk5vdGlmaWNhdGlv
bkNsaWVudC5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbXBvcnQgIldlYkRl
bGVnYXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLmgiCiAjaW1wb3J0ICJXZWJOb3RpZmljYXRpb25J
bnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgiCkBAIC0zOSw3ICsz
OSw3IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKIEBpbnRlcmZhY2UgV2ViTm90aWZpY2F0aW9uUG9saWN5TGlzdGVuZXIgOiBOU09i
amVjdCA8V2ViQWxsb3dEZW55UG9saWN5TGlzdGVuZXI+CiB7CiAgICAgUmVmUHRyPFZvaWRDYWxs
YmFjaz4gX2NhbGxiYWNrOwpAQCAtNDgsNyArNDgsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIEBlbmQKICNlbmRpZgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIHN0YXRpYyB1
aW50NjRfdCBnZW5lcmF0ZU5vdGlmaWNhdGlvbklEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3Qg
dW5pcXVlTm90aWZpY2F0aW9uSUQgPSAxOwpAQCAtNjMsNyArNjMsNyBAQCBXZWJOb3RpZmljYXRp
b25DbGllbnQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudChXZWJWaWV3ICp3ZWJWaWV3KQogCiBib29s
IFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6c2hvdyhOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikK
IHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIGlmICghW21fd2ViVmlldyBfbm90
aWZpY2F0aW9uUHJvdmlkZXJdKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTg0LDcgKzg0
LDcgQEAgYm9vbCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OnNob3coTm90aWZpY2F0aW9uKiBub3Rp
ZmljYXRpb24pCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjYW5jZWwoTm90aWZpY2F0
aW9uKiBub3RpZmljYXRpb24pCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBX
ZWJOb3RpZmljYXRpb24gKndlYk5vdGlmaWNhdGlvbiA9IG1fbm90aWZpY2F0aW9uTWFwLmdldChu
b3RpZmljYXRpb24pLmdldCgpOwogICAgIGlmICghd2ViTm90aWZpY2F0aW9uKQogICAgICAgICBy
ZXR1cm47CkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjYW5j
ZWwoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xp
ZW50OjpjbGVhck5vdGlmaWNhdGlvbnMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkK
IHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIE5vdGlmaWNhdGlvbkNvbnRleHRN
YXA6Oml0ZXJhdG9yIGl0ID0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmZpbmQoY29udGV4dCk7
CiAgICAgaWYgKGl0ID09IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5lbmQoKSkKICAgICAgICAg
cmV0dXJuOwpAQCAtMTIwLDcgKzEyMCw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpj
bGVhck5vdGlmaWNhdGlvbnMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIAogdm9p
ZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChOb3Rp
ZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
ICAgIFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+IHdlYk5vdGlmaWNhdGlvbiA9IG1fbm90aWZp
Y2F0aW9uTWFwLnRha2Uobm90aWZpY2F0aW9uKTsKICAgICBpZiAoIXdlYk5vdGlmaWNhdGlvbikK
ICAgICAgICAgcmV0dXJuOwpAQCAtMTQxLDcgKzE0MSw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9u
Q2xpZW50Ojpub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoTm90aWZpY2F0aW9uKiBub3RpZmlj
YXRpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb25Db250cm9sbGVy
RGVzdHJveWVkKCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFttX3dlYlZp
ZXcgX25vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWRdOwogI2VuZGlmCiAgICAgZGVsZXRl
IHRoaXM7CkBAIC0xNDksNyArMTQ5LDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5v
dGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNs
aWVudDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
UGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogewotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIAogICAgIFNF
TCBzZWxlY3RvciA9IEBzZWxlY3Rvcih3ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlv
blJlcXVlc3RGcm9tT3JpZ2luOmxpc3RlbmVyOik7CkBAIC0xNzMsNyArMTczLDcgQEAgdm9pZCBX
ZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIFAKIAogTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIFdlYk5v
dGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWNvbnRl
eHQgfHwgIWNvbnRleHQtPmlzRG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlv
bkNsaWVudDo6UGVybWlzc2lvbkRlbmllZDsKICAgICBpZiAoIVtbbV93ZWJWaWV3IHByZWZlcmVu
Y2VzXSBub3RpZmljYXRpb25zRW5hYmxlZF0pCkBAIC0xOTcsNyArMTk3LDcgQEAgTm90aWZpY2F0
aW9uQ2xpZW50OjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNz
aW9uKFNjcmlwdEV4ZWMKICNlbmRpZgogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
IEBpbXBsZW1lbnRhdGlvbiBXZWJOb3RpZmljYXRpb25Qb2xpY3lMaXN0ZW5lcgogLSAoaWQpaW5p
dFdpdGhDYWxsYmFjazooUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KWNhbGxiYWNrCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbSBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tCmluZGV4IDU1NzMzMmNi
YTFiMDgyOTljMzM0ZTFhMjUyNjg2NDNkNjAxNGVlMDYuLjg4MjU1MmI1MmM1MzMxNDQwYWNjZjE5
ZTBhMDhkZjRkMDFkZThiZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViTm90aWZpY2F0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90
aWZpY2F0aW9uLm1tCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbXBvcnQgIldlYk5vdGlmaWNhdGlv
bkludGVybmFsLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2ltcG9ydCAiV2Vi
U2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RpZmljYXRpb24u
aD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oPgpAQCAtNDQsNyAr
NDQsNyBAQCBPQkpDX0NMQVNTIFdlYk5vdGlmaWNhdGlvbkludGVybmFsOwogQGludGVyZmFjZSBX
ZWJOb3RpZmljYXRpb25Qcml2YXRlIDogTlNPYmplY3QKIHsKIEBwdWJsaWMKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogICAgIFJlZlB0cjxOb3RpZmljYXRpb24+IF9pbnRlcm5hbDsKICAg
ICB1aW50NjRfdCBfbm90aWZpY2F0aW9uSUQ7CiAjZW5kaWYKQEAgLTU0LDcgKzU0LDcgQEAgT0JK
Q19DTEFTUyBXZWJOb3RpZmljYXRpb25JbnRlcm5hbDsKIEBpbXBsZW1lbnRhdGlvbiBXZWJOb3Rp
ZmljYXRpb25Qcml2YXRlCiBAZW5kCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQGlt
cGxlbWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvbiAoV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwpCiBO
b3RpZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiB7CkBAIC04
Myw3ICs4Myw3IEBAIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNh
dGlvbikKIAogLSAoTlNTdHJpbmcgKil0aXRsZQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwogICAgIHJldHVybiBjb3JlKHNlbGYpLT5jb250
ZW50cygpLnRpdGxlOwogI2Vsc2UKQEAgLTkzLDcgKzkzLDcgQEAgTm90aWZpY2F0aW9uKiBjb3Jl
KFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtIChOU1N0cmluZyAqKWJvZHkKIHsK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEFTU0VSVChjb3JlKHNlbGYpKTsKICAg
ICByZXR1cm4gY29yZShzZWxmKS0+Y29udGVudHMoKS5ib2R5OwogI2Vsc2UKQEAgLTEwMyw3ICsx
MDMsNyBAQCBOb3RpZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24p
CiAKIC0gKE5TU3RyaW5nICopcmVwbGFjZUlECiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKICAgICBBU1NFUlQoY29yZShzZWxmKSk7CiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPnJlcGxh
Y2VJZCgpOwogI2Vsc2UKQEAgLTExMyw3ICsxMTMsNyBAQCBOb3RpZmljYXRpb24qIGNvcmUoV2Vi
Tm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiAKIC0gKFdlYlNlY3VyaXR5T3JpZ2luICopb3Jp
Z2luCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBBU1NFUlQoY29yZShzZWxm
KSk7CiAgICAgcmV0dXJuIFtbW1dlYlNlY3VyaXR5T3JpZ2luIGFsbG9jXSBfaW5pdFdpdGhXZWJD
b3JlU2VjdXJpdHlPcmlnaW46Y29yZShzZWxmKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5z
ZWN1cml0eU9yaWdpbigpXSBhdXRvcmVsZWFzZV07CiAjZWxzZQpAQCAtMTIzLDcgKzEyMyw3IEBA
IE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIAogLSAo
dWludDY0X3Qpbm90aWZpY2F0aW9uSUQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
ICAgIEFTU0VSVChjb3JlKHNlbGYpKTsKICAgICByZXR1cm4gX3ByaXZhdGUtPl9ub3RpZmljYXRp
b25JRDsKICNlbHNlCkBAIC0xMzMsNyArMTMzLDcgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdlYk5v
dGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtICh2b2lkKWRpc3BhdGNoU2hvd0V2ZW50CiB7
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBBU1NFUlQoY29yZShzZWxmKSk7CiAg
ICAgY29yZShzZWxmKS0+ZGlzcGF0Y2hTaG93RXZlbnQoKTsKICNlbmRpZgpAQCAtMTQxLDcgKzE0
MSw3IEBAIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikK
IAogLSAodm9pZClkaXNwYXRjaENsb3NlRXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogICAgIEFTU0VSVChjb3JlKHNlbGYpKTsKICAgICBjb3JlKHNlbGYpLT5kaXNwYXRjaENs
b3NlRXZlbnQoKTsKICNlbmRpZgpAQCAtMTQ5LDcgKzE0OSw3IEBAIE5vdGlmaWNhdGlvbiogY29y
ZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIAogLSAodm9pZClkaXNwYXRjaENsaWNr
RXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEFTU0VSVChjb3JlKHNl
bGYpKTsKICAgICBjb3JlKHNlbGYpLT5kaXNwYXRjaENsaWNrRXZlbnQoKTsKICNlbmRpZgpAQCAt
MTU3LDcgKzE1Nyw3IEBAIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlm
aWNhdGlvbikKIAogLSAodm9pZClkaXNwYXRjaEVycm9yRXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogICAgIEFTU0VSVChjb3JlKHNlbGYpKTsKICAgICBjb3JlKHNlbGYpLT5k
aXNwYXRjaEVycm9yRXZlbnQoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oCmluZGV4IGI2MjQwNjlkOWVjYWY2Y2Ni
MGJhMWRiYzk0ZjIwNTIwNThkOWU5YWQuLjNmNmY1NjI2YzJhNGY0YjQzODU1NGY2MGU3OTk2ZDMw
MmEwMTYxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZp
Y2F0aW9uSW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlm
aWNhdGlvbkludGVybmFsLmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2ltcG9ydCAiV2ViTm90aWZp
Y2F0aW9uLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBOb3RpZmljYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KaW5kZXggMDVmYzU4Njk0YzgzNzU2YmYxZTE5NTcwMDEyZGQ5ZGQzMzI5M2JkNi4uYzIzMGUw
MGMzOTc1MjA0ZjdmNWJhYzQ5MjI5M2M1YmFhZDdmMjRlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQpAQCAtNzQwLDcgKzc0MCw3IEBAIHN0YXRpYyBOU1N0cmluZyAqbGVha091
dGxvb2tRdWlya3NVc2VyU2NyaXB0Q29udGVudHMoKQogICAgIHBhZ2VDbGllbnRzLmdlb2xvY2F0
aW9uQ2xpZW50ID0gbmV3IFdlYkdlb2xvY2F0aW9uQ2xpZW50KHNlbGYpOwogI2VuZGlmCiAgICAg
X3ByaXZhdGUtPnBhZ2UgPSBuZXcgUGFnZShwYWdlQ2xpZW50cyk7Ci0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKICAgICBXZWJDb3JlOjpwcm92aWRlTm90aWZpY2F0aW9uKF9wcml2YXRlLT5w
YWdlLCBuZXcgV2ViTm90aWZpY2F0aW9uQ2xpZW50KHNlbGYpKTsKICNlbmRpZgogI2lmIEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9x
d2VicGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggM2Nm
YjliMWNjNWU1Mjc1OWVmY2Y0OGU4OTRhMDIxOTQ3MTllZTI0NS4uNjUyNWY2ZGQ1MDcxYzM0YTky
MzgxMDBkNDk0MzM3YzU0NzIzNWZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkv
cXdlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAt
MzM4LDcgKzMzOCw3IEBAIFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKFFXZWJQYWdl
ICpxcSkKICAgICAgICAgV2ViQ29yZTo6cHJvdmlkZURldmljZU9yaWVudGF0aW9uVG8ocGFnZSwg
bmV3IERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQpOwogICAgIFdlYkNvcmU6OnByb3ZpZGVEZXZp
Y2VNb3Rpb25UbyhwYWdlLCBuZXcgRGV2aWNlTW90aW9uQ2xpZW50UXQpOwogI2VuZGlmCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBXZWJDb3JlOjpwcm92aWRlTm90aWZpY2F0aW9u
KHBhZ2UsIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50
ZXIoKSk7CiAjZW5kaWYKIApAQCAtMzYxLDcgKzM2MSw3IEBAIFFXZWJQYWdlUHJpdmF0ZTo6UVdl
YlBhZ2VQcml2YXRlKFFXZWJQYWdlICpxcSkKIAogICAgIFBhZ2VHcm91cDo6c2V0U2hvdWxkVHJh
Y2tWaXNpdGVkTGlua3ModHJ1ZSk7CiAgICAgCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpICAg
IAorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAgICAgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlvblByZXNl
bnRlcigpLT5hZGRDbGllbnQoKTsKICNlbmRpZgogfQpAQCAtMzg1LDcgKzM4NSw3IEBAIFFXZWJQ
YWdlUHJpdmF0ZTo6flFXZWJQYWdlUHJpdmF0ZSgpCiAgICAgaWYgKGluc3BlY3RvcikKICAgICAg
ICAgaW5zcGVjdG9yLT5zZXRQYWdlKDApOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
ICAgICBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVy
KCktPnJlbW92ZUNsaWVudCgpOwogI2VuZGlmCiB9CkBAIC0yMTQ3LDcgKzIxNDcsNyBAQCB2b2lk
IFFXZWJQYWdlOjpzZXRGZWF0dXJlUGVybWlzc2lvbihRV2ViRnJhbWUqIGZyYW1lLCBGZWF0dXJl
IGZlYXR1cmUsIFBlcm1pc3NpbwogewogICAgIHN3aXRjaCAoZmVhdHVyZSkgewogICAgIGNhc2Ug
Tm90aWZpY2F0aW9uczoKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICBpZiAo
cG9saWN5ID09IFBlcm1pc3Npb25HcmFudGVkQnlVc2VyKQogICAgICAgICAgICAgTm90aWZpY2F0
aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpLT5hbGxvd05vdGlm
aWNhdGlvbkZvckZyYW1lKGZyYW1lLT5kLT5mcmFtZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3Bw
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5jcHAKaW5kZXggMGIxODA4MjRhOWYwYTY4MjNkOTJmNTVlNTYxYzQ3OTE5NDAwMmQyYi4uNDc0
NmE3MDllOTM3YzE4MmVmM2JlNDMyZWU4MThjM2ZlMDZhNjhiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5jcHAKQEAgLTc5MCw3ICs3OTAsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpk
dW1wU2V0QWNjZXB0c0VkaXRpbmcoYm9vbCBiKQogCiB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0OjpkdW1wTm90aWZpY2F0aW9uKGJvb2wgYikKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpkdW1wTm90aWZpY2F0aW9u
ID0gYjsKICNlbmRpZgogfQpAQCAtOTg3LDcgKzk4Nyw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6OmFkZFVzZXJTdHlsZVNoZWV0KFFXZWJQYWdlKiBwYWdlLCBjb25zdCBRU3RyaW5n
JiBzCiAKIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNpbXVsYXRlRGVza3RvcE5vdGlm
aWNhdGlvbkNsaWNrKGNvbnN0IFFTdHJpbmcmIHRpdGxlKQogewotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlv
blByZXNlbnRlcigpLT5ub3RpZmljYXRpb25DbGlja2VkKHRpdGxlKTsKICNlbmRpZgogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcAppbmRleCAwMDA1MjE4NGE5ZmY4NzE1MTBlM2Q4
MDFlMWRhMGE4N2FjOWFkZTYzLi4wYzVlYTE2M2I2MDA0YmUyMTkzNTEyZTUwMzU5ZjVhMTFhNTlm
YTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNh
dGlvblByZXNlbnRlckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcApAQCAtNDgsNyArNDgsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
CiBjb25zdCBkb3VibGUgbm90aWZpY2F0aW9uVGltZW91dCA9IDEwLjA7CiAKQEAgLTcwLDcgKzcw
LDcgQEAgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQqIE5vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW4KIE5vdGlmaWNhdGlvbldyYXBwZXI6Ok5vdGlm
aWNhdGlvbldyYXBwZXIoKQogICAgIDogbV9jbG9zZVRpbWVyKHRoaXMsICZOb3RpZmljYXRpb25X
cmFwcGVyOjpjbG9zZSkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaWZuZGVm
IFFUX05PX1NZU1RFTVRSQVlJQ09OCiAgICAgbV9ub3RpZmljYXRpb25JY29uID0gbnVsbHB0cjsK
QEAgLTgxLDE0ICs4MSwxNCBAQCBOb3RpZmljYXRpb25XcmFwcGVyOjpOb3RpZmljYXRpb25XcmFw
cGVyKCkKIAogdm9pZCBOb3RpZmljYXRpb25XcmFwcGVyOjpjbG9zZShUaW1lcjxOb3RpZmljYXRp
b25XcmFwcGVyPiopCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmlj
YXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPmNhbmNlbCh0
aGlzKTsKICNlbmRpZgogfQogCiBjb25zdCBRU3RyaW5nIE5vdGlmaWNhdGlvbldyYXBwZXI6OnRp
dGxlKCkgY29uc3QKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIE5vdGlmaWNh
dGlvbiogbm90aWZpY2F0aW9uID0gTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlm
aWNhdGlvblByZXNlbnRlcigpLT5ub3RpZmljYXRpb25Gb3JXcmFwcGVyKHRoaXMpOwogICAgIGlm
IChub3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybiBub3RpZmljYXRpb24tPmNvbnRlbnRzKCku
dGl0bGU7CkBAIC05OCw3ICs5OCw3IEBAIGNvbnN0IFFTdHJpbmcgTm90aWZpY2F0aW9uV3JhcHBl
cjo6dGl0bGUoKSBjb25zdAogCiBjb25zdCBRU3RyaW5nIE5vdGlmaWNhdGlvbldyYXBwZXI6Om1l
c3NhZ2UoKSBjb25zdAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgTm90aWZp
Y2F0aW9uKiBub3RpZmljYXRpb24gPSBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90
aWZpY2F0aW9uUHJlc2VudGVyKCktPm5vdGlmaWNhdGlvbkZvcldyYXBwZXIodGhpcyk7CiAgICAg
aWYgKG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbi0+Y29udGVudHMo
KS5ib2R5OwpAQCAtMTA5LDcgKzEwOSw3IEBAIGNvbnN0IFFTdHJpbmcgTm90aWZpY2F0aW9uV3Jh
cHBlcjo6bWVzc2FnZSgpIGNvbnN0CiBjb25zdCBRQnl0ZUFycmF5IE5vdGlmaWNhdGlvbldyYXBw
ZXI6Omljb25EYXRhKCkgY29uc3QKIHsKICAgICBRQnl0ZUFycmF5IGljb25EYXRhOwotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBO
b3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPm5v
dGlmaWNhdGlvbkZvcldyYXBwZXIodGhpcyk7CiAgICAgaWYgKG5vdGlmaWNhdGlvbikgewogICAg
ICAgICBpZiAobm90aWZpY2F0aW9uLT5pY29uRGF0YSgpKQpAQCAtMTIyLDcgKzEyMiw3IEBAIGNv
bnN0IFFCeXRlQXJyYXkgTm90aWZpY2F0aW9uV3JhcHBlcjo6aWNvbkRhdGEoKSBjb25zdAogY29u
c3QgUVVybCBOb3RpZmljYXRpb25XcmFwcGVyOjpvcGVuZXJQYWdlVXJsKCkgY29uc3QKIHsKICAg
ICBRVXJsIHVybDsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIE5vdGlmaWNhdGlv
biogbm90aWZpY2F0aW9uID0gTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNh
dGlvblByZXNlbnRlcigpLT5ub3RpZmljYXRpb25Gb3JXcmFwcGVyKHRoaXMpOwogICAgIGlmIChu
b3RpZmljYXRpb24pIHsKICAgICAgICAgaWYgKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKSAKQEAgLTEzNCwxOSArMTM0LDE5IEBAIGNvbnN0IFFVcmwgTm90aWZpY2F0aW9u
V3JhcHBlcjo6b3BlbmVyUGFnZVVybCgpIGNvbnN0CiAKIHZvaWQgTm90aWZpY2F0aW9uV3JhcHBl
cjo6bm90aWZpY2F0aW9uQ2xpY2tlZCgpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykK
ICAgICBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVy
KCktPm5vdGlmaWNhdGlvbkNsaWNrZWQodGhpcyk7CiAjZW5kaWYKIH0KIAogdm9pZCBOb3RpZmlj
YXRpb25XcmFwcGVyOjpub3RpZmljYXRpb25DbG9zZWQoKQogewotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlv
blByZXNlbnRlcigpLT5jYW5jZWwodGhpcyk7CiAjZW5kaWYKIH0KIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAKIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpOb3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnRRdCgpIDogbV9jbGllbnRDb3VudCgwKQogewpAQCAtNDY0LDcgKzQ2
NCw3IEBAIFFXZWJGcmFtZSogTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnRvRnJhbWUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4CiAgICAgcmV0dXJuIFFXZWJGcmFtZVByaXZh
dGU6OmtpdChkb2N1bWVudC0+ZnJhbWUoKSk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogfQogCiAjaW5jbHVkZSAibW9jX05vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudFF0LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaAppbmRleCAxMmIwNmZl
OWIxNWNmMGE4YWYyZWE3Yjk2ZWMyMTlmOGY1ZTUzYWQ5Li44NzRkZDYwZjlhYjY2ZTZlZTM2ZjA5
OTEzNzc1ZjczNjc4NTk0ODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5oCkBAIC03
Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICBUaW1lcjxOb3RpZmljYXRpb25XcmFwcGVyPiBtX2Ns
b3NlVGltZXI7CiB9OwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogdHlwZWRlZiBR
SGFzaCA8Tm90aWZpY2F0aW9uKiwgTm90aWZpY2F0aW9uV3JhcHBlcio+IE5vdGlmaWNhdGlvbnNR
dWV1ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKaW5kZXggY2NhOWVjMGU3NzhlOGRmMTlkNDNkYjYyY2JmMjY5ZWM5NDY3
MzkzNy4uNDQzNWI0OGQ2NjZjMGUwN2I1NDk0MTI3ZDMyYjliYzAzZjVjMjM1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4RmlsZVBhdGhzTGlzdFNp
emUgPSBVU0hSVF9NQVg7CiAKIFdlYkNocm9tZUNsaWVudDo6V2ViQ2hyb21lQ2xpZW50KFdlYlZp
ZXcqIHdlYlZpZXcpCiAgICAgOiBtX3dlYlZpZXcod2ViVmlldykKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgICwgbV9ub3RpZmljYXRpb25zRGVsZWdhdGUobmV3IFdlYkRlc2t0b3BO
b3RpZmljYXRpb25zRGVsZWdhdGUod2ViVmlldykpCiAjZW5kaWYKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNjNiZjVk
MTYxZWUzMTM1MWM0ZWRhMTZjMGE2NWFkN2NmNTEwYmUwNy4uZjIyZDZmM2FiMzY3Yzg4MmFlZjQ1
OWFjZTRlYmEzMTcyODFlMDMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE1MCw3ICsxNTAsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsc2NyZWVuRm9yTm9kZShXZWJDb3JlOjpOb2RlKik7CiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCBXZWJDb3Jl
OjpOb3RpZmljYXRpb25DbGllbnQqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0IHsgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2xpZW50Kj4obV9ub3Rp
ZmljYXRpb25zRGVsZWdhdGUuZ2V0KCkpOyB9CiAjZW5kaWYKIApAQCAtMTc1LDcgKzE3NSw3IEBA
IHByaXZhdGU6CiAKICAgICBXZWJWaWV3KiBtX3dlYlZpZXc7CiAKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIE93blB0cjxXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlPiBt
X25vdGlmaWNhdGlvbnNEZWxlZ2F0ZTsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUu
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNh
dGlvbnNEZWxlZ2F0ZS5jcHAKaW5kZXggNzBlZDQ4MmMzMmQyMDA2MjIxMmZiZTViMWI2MDRjOTk5
NjVlMzI0My4uY2ZmN2EyYjkyMTdjMTFiOTAwNDcwNjg1ZDJiMjJlZTgyMTI4YjgzMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNh
dGlvbnNEZWxlZ2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CiAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IApAQCAtMjExLDQgKzIxMSw0IEBAIENPTVB0cjxJV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxl
Z2F0ZT4gV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6bm90aWZpCiAgICAgcmV0dXJu
IGRlbGVnYXRlOwogfQogCi0jZW5kaWYgIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2VuZGlm
IC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9w
Tm90aWZpY2F0aW9uc0RlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmgKaW5kZXggYTFhMTE4NWM1ZTA1MjRh
MTNmN2U4MTM3MGM1ODEyNTkzY2I4OTJhOS4uNTc1Yzk0Y2I4ODZhZjc3NGJmNzM3NzgxZDZiYzA3
MjgyZjQxZDBkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaApAQCAtMzIs
NyArMzIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Ob3RpZmljYXRpb25DbGllbnQuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAKIGludGVyZmFjZSBJV2ViRGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlcjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oCmluZGV4IGRiODY0MDU0Nzk2ZTgzMmM3MWMxMTllMmI3ZDZmMGFiZDI1YTJlMGIuLjU3
YzJmOTM4ODVlZjUwMzU3MmU3YThkYzBkYTA3NWRhMzMzMjdlZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAorKysgYi9T
b3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKQEAg
LTEzMSw3ICsxMzEsNyBAQCBwdWJsaWM6CiAgICAgLy8gZm9yIHRoaXMgb3JpZ2luLgogICAgIHZp
cnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVkKTsKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25DbGllbnQq
IG5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRl
eCBjOGVjYWZlMzNlOTYzZmE0MGFhZDRmMzE5YWJjY2YxMmEzZWYzM2JlLi4zMjNhMzUxM2E2YTg0
MmVkY2Y5ZGNjMDI3N2Q0MjA2NGYzZDA2OTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC05OSw3ICs5OSw3
IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciogZW5jb2RlcikgY29uCiAgICAgZW5jb2Rlci0+ZW5jb2RlKGNvb2tpZVN0
b3JhZ2VEaXJlY3RvcnkpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
ICAgIGVuY29kZXItPmVuY29kZShub3RpZmljYXRpb25QZXJtaXNzaW9ucyk7CiAjZW5kaWYKIH0K
QEAgLTE5NCw3ICsxOTQsNyBAQCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRl
Y29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYgogICAgICAgICByZXR1
cm4gZmFsc2U7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5ub3RpZmljYXRpb25QZXJtaXNzaW9ucykpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggOWI1MWY2NDk0M2U4OWYw
NDEzZjJlZTU2ZWZiOTU2M2M3NjI1MGZhZi4uNjc4MWIwNGVlZmVjNzYyNGYzY2JiZDNiYWY2NGI0
MzQxZWMwY2E0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xMjIsNyArMTIyLDcgQEAgc3RydWN0IFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFN0cmluZyBjb29raWVTdG9yYWdlRGlyZWN0b3J5
OwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEhhc2hNYXA8U3Ry
aW5nLCBib29sPiBub3RpZmljYXRpb25QZXJtaXNzaW9uczsKICNlbmRpZgogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCA3NzY2MWQ4N2I1YmJhYzhiNGU5Mjc0
YThmZDRjYzA3OGY1MjNjZjZlLi4yZWNmZjlkNGIwNzcxOTRiMDU4NWEzZjFkOTQyMDY1ZWEyZjJi
NTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0yNzksNyAr
Mjc5LDcgQEAgdm9pZCBXZWJDb250ZXh0OjplbnN1cmVXZWJQcm9jZXNzKCkKIAogICAgIHBhcmFt
ZXRlcnMuZGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWwgPSBXZWJVUkxSZXF1ZXN0OjpkZWZh
dWx0VGltZW91dEludGVydmFsKCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAg
IG1fbm90aWZpY2F0aW9uTWFuYWdlclByb3h5LT5wb3B1bGF0ZUNvcHlPZk5vdGlmaWNhdGlvblBl
cm1pc3Npb25zKHBhcmFtZXRlcnMubm90aWZpY2F0aW9uUGVybWlzc2lvbnMpOwogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci5jcHAKaW5kZXggNzNlNzFmYmM5MmVkMWVmY2MzMTczMTEwOGFmYTZjNDJlNDYwZmEzYi4uZmU2
NmU1NmU5NDllZDQzZGJlNjkzZGQ3OWZiMjJmNjYxNjA4ZmE0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKQEAgLTQxLDcg
KzQxLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVJl
cXVlc3RJRCgpCiB7CiAgICAgc3RhdGljIHVpbnQ2NF90IHVuaXF1ZVJlcXVlc3RJRCA9IDE7CkBA
IC02MSw3ICs2MSw3IEBAIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Tm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKFdlYlBhCiAKIHZvaWQgTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpzdGFydFJlcXVlc3QoU2VjdXJpdHlPcmlnaW4q
IG9yaWdpbiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKHBlcm1pc3Npb25MZXZlbChvcmlnaW4pICE9IE5v
dGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQpIHsKICAgICAgICAgY2FsbGJh
Y2stPmhhbmRsZUV2ZW50KCk7CiAgICAgICAgIHJldHVybjsKQEAgLTgwLDcgKzgwLDcgQEAgdm9p
ZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0UmVxdWVzdChTZWN1
cml0eU9yaWdpbiogb3JpZ2luLAogCiB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlcjo6Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdWludDY0X3QgaWQgPSBtX29yaWdpblRvSURNYXAu
dGFrZShvcmlnaW4pOwogICAgIGlmICghaWQpCiAgICAgICAgIHJldHVybjsKQEAgLTk0LDcgKzk0
LDcgQEAgdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmNhbmNlbFJl
cXVlc3QoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKIAogTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6cGVybWlzc2lvbkxl
dmVsKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKIHsKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIGlmICghbV9wYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLT5ub3Rp
ZmljYXRpb25zRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQ
ZXJtaXNzaW9uRGVuaWVkOwogICAgIApAQCAtMTA3LDcgKzEwNyw3IEBAIE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnBl
cm1pc3Npb25MCiAKIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpk
aWRSZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKHVpbnQ2NF90IHJlcXVlc3RJ
RCwgYm9vbCBhbGxvd2VkKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYg
KCFpc1JlcXVlc3RJRFZhbGlkKHJlcXVlc3RJRCkpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNh
dGlvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCmluZGV4IDllNWNmOTU0NjY0OWQ0YmNiYjM5ZjEz
YjUxZTUyZDMyNmU3OWE0ZTcuLjhkMTFmMTNjOTNjZjA4NDI3ZGI4NTNmMjBiYWU3OGQ3MzkzNWIz
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKQEAgLTI5LDcgKzI5LDcg
QEAKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogCi0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb24uaCIKICNp
bmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUg
IldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCkBAIC00NSw3ICs0NSw3IEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVOb3RpZmljYXRpb25JRCgpCiB7CiAgICAg
c3RhdGljIHVpbnQ2NF90IHVuaXF1ZU5vdGlmaWNhdGlvbklEID0gMTsKQEAgLTY5LDIxICs2OSwy
MSBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJ
UEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdl
cjo6aW5pdGlhbGl6ZShjb25zdCBIYXNoTWFwPFN0cmluZywgYm9vbD4mIHBlcm1pc3Npb25zKQog
ewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgbV9wZXJtaXNzaW9uc01hcCA9IHBl
cm1pc3Npb25zOwogI2VuZGlmCiB9CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlk
VXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24oY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIGJv
b2wgYWxsb3dlZCkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1fcGVybWlz
c2lvbnNNYXAuc2V0KG9yaWdpblN0cmluZywgYWxsb3dlZCk7CiAjZW5kaWYKIH0KIAogdm9pZCBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRSZW1vdmVOb3RpZmljYXRpb25EZWNpc2lvbnMoY29u
c3QgVmVjdG9yPFN0cmluZz4mIG9yaWdpblN0cmluZ3MpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKICAgICBzaXplX3QgY291bnQgPSBvcmlnaW5TdHJpbmdzLnNpemUoKTsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCiAgICAgICAgIG1fcGVybWlzc2lvbnNN
YXAucmVtb3ZlKG9yaWdpblN0cmluZ3NbaV0pOwpAQCAtOTIsNyArOTIsNyBAQCB2b2lkIFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXI6OmRpZFJlbW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhjb25zdCBW
ZWN0b3I8U3RyaW5nPgogCiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6cG9saWN5Rm9yT3JpZ2luKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luICpv
cmlnaW4pIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW9y
aWdpbikKICAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFs
bG93ZWQ7CiAgICAgCkBAIC0xMDYsNyArMTA2LDcgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnBvbGljeUZvck9yaWdpbihXZWJDb3JlOjoK
IAogYm9vbCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpzaG93KE5vdGlmaWNhdGlvbiogbm90aWZp
Y2F0aW9uLCBXZWJQYWdlKiBwYWdlKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAg
ICAgaWYgKCFub3RpZmljYXRpb24gfHwgIXBhZ2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCktPm5v
dGlmaWNhdGlvbnNFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIApAQCAtMTI2
LDcgKzEyNiw3IEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyhOb3RpZmljYXRp
b24qIG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyOjpjYW5jZWwoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2Up
CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW5vdGlmaWNhdGlvbiB8
fCAhcGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS0+bm90aWZpY2F0aW9uc0VuYWJsZWQoKSkK
ICAgICAgICAgcmV0dXJuOwogICAgIApAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6Y2FuY2VsKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdl
KiBwYWdlKQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNsZWFyTm90aWZpY2F0aW9u
cyhXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJQYWdlKiBwYWdl
KQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uQ29udGV4
dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuZmluZChjb250ZXh0
KTsKICAgICBpZiAoaXQgPT0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFwLmVuZCgpKQogICAgICAg
ICByZXR1cm47CkBAIC0xNjEsNyArMTYxLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
OjpjbGVhck5vdGlmaWNhdGlvbnMoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCoKIAog
dm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWREZXN0cm95Tm90aWZpY2F0aW9uKE5vdGlm
aWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdlKiBwYWdlKQogewotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQgPSBtX25vdGlmaWNhdGlv
bk1hcC50YWtlKG5vdGlmaWNhdGlvbik7CiAgICAgaWYgKCFub3RpZmljYXRpb25JRCkKICAgICAg
ICAgcmV0dXJuOwpAQCAtMTc0LDcgKzE3NCw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdl
cjo6ZGlkRGVzdHJveU5vdGlmaWNhdGlvbihOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwKIAog
dm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRTaG93Tm90aWZpY2F0aW9uKHVpbnQ2NF90
IG5vdGlmaWNhdGlvbklEKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYg
KCFpc05vdGlmaWNhdGlvbklEVmFsaWQobm90aWZpY2F0aW9uSUQpKQogICAgICAgICByZXR1cm47
CiAgICAgCkBAIC0xODgsNyArMTg4LDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpk
aWRTaG93Tm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogCiB2b2lkIFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsaWNrTm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNh
dGlvbklEKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKCFpc05vdGlm
aWNhdGlvbklEVmFsaWQobm90aWZpY2F0aW9uSUQpKQogICAgICAgICByZXR1cm47CiAKQEAgLTIw
Miw3ICsyMDIsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsaWNrTm90aWZp
Y2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXI6OmRpZENsb3NlTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3Rp
ZmljYXRpb25JRHMpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBzaXplX3Qg
Y291bnQgPSBub3RpZmljYXRpb25JRHMuc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgY291bnQ7ICsraSkgewogICAgICAgICB1aW50NjRfdCBub3RpZmljYXRpb25JRCA9IG5vdGlm
aWNhdGlvbklEc1tpXTsKQEAgLTIyMSw3ICsyMjEsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXI6OmRpZENsb3NlTm90aWZpY2F0aW9ucyhjb25zdCBWZWN0b3I8dWludDY0X3Q+JiBub3Rp
ZgogI2VuZGlmCiB9CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogdm9pZCBXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyOjpyZW1vdmVOb3RpZmljYXRpb25Gcm9tQ29udGV4dE1hcCh1aW50NjRf
dCBub3RpZmljYXRpb25JRCwgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiB7CiAgICAgLy8g
VGhpcyBpcyBhIGhlbHBlciBmdW5jdGlvbiBmb3IgbWFuYWdpbmcgdGhlIGhhc2ggbWFwcy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCmluZGV4IDE0Mjc2N2UzMTlkZDc1YmMyMDkzMWZm
ZTU0MTA4Mjk5MmMyZGM3OGEuLjJhMThkNDRlYjBhOTdmNTVlMjJlYmE3ZWFlNDQ3MzM0NWIxZGRk
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaApAQCAtNzgsMTMgKzc4LDEzIEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbihjb25zdCBT
dHJpbmcmIG9yaWdpblN0cmluZywgYm9vbCBhbGxvd2VkKTsKICAgICB2b2lkIGRpZFJlbW92ZU5v
dGlmaWNhdGlvbkRlY2lzaW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgb3JpZ2luU3RyaW5ncyk7
CiAgICAgCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB2b2lkIHJlbW92ZU5vdGlm
aWNhdGlvbkZyb21Db250ZXh0TWFwKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklELCBXZWJDb3JlOjpO
b3RpZmljYXRpb24qKTsKICNlbmRpZgogCiAgICAgV2ViUHJvY2VzcyogbV9wcm9jZXNzOwogCi0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbj4sIHVpbnQ2NF90PiBOb3RpZmljYXRpb25NYXA7CiAgICAgTm90
aWZpY2F0aW9uTWFwIG1fbm90aWZpY2F0aW9uTWFwOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmlj
YXRpb25DbGllbnQuY3BwCmluZGV4IDY0MzMxMjQ0MGUxZGZkMTAyMWUzMzM0ZTM4MTU5OWQyZGE0
NDA5NTYuLjhhYzc4ZDVmNDQ2NzI3OTgzZjliMjVlYTU5ODExMDNjOWQzNmQ3NzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25DbGllbnQuaCIKIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgiCkBA
IC05MSw0ICs5MSw0IEBAIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmlj
YXRpb25DbGllbnQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZp
Y2F0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5oCmluZGV4IDhhODRiZWExZWI1NWFlMmUwNDcxYzUzZDk1
MzliNDhlZmI4OTg4NDIuLjQ2ZWIyYTVkODg4OTA2NmNiMDQzNDYyYTExNDkxYjU5MjQ1NzVjYWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Tm90aWZpY2F0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaApAQCAtMjYsNyArMjYsNyBAQAogI2lm
bmRlZiBXZWJOb3RpZmljYXRpb25DbGllbnRfaAogI2RlZmluZSBXZWJOb3RpZmljYXRpb25DbGll
bnRfaAogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgPFdlYkNvcmUv
Tm90aWZpY2F0aW9uQ2xpZW50Lmg+CiAKQEAgLTU5LDYgKzU5LDYgQEAgcHJpdmF0ZToKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNl
bmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogCiAjZW5kaWYgLy8gV2ViTm90aWZpY2F0aW9uQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAzOGY0NWU0MDZkNDllNmU2
MmI4MjJjODg4Y2I4NGRiODE0M2ZiYTE2Li43YjdkYzY2ZmY1OTk2MDc2NTAwYWIyYzA1OTExNGU5
YTc5MGZmYzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC0yMzcsNyArMjM3LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdl
SUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgCiAg
ICAgbV9wYWdlID0gYWRvcHRQdHIobmV3IFBhZ2UocGFnZUNsaWVudHMpKTsKIAotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAgICAgV2ViQ29yZTo6cHJvdmlkZU5vdGlmaWNhdGlvbihtX3Bh
Z2UuZ2V0KCksIG5ldyBXZWJOb3RpZmljYXRpb25DbGllbnQodGhpcykpOwogI2VuZGlmCiAKQEAg
LTE5NDksNyArMTk0OSw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3Qg
V2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0dGluZ3MtPnNldFNob3VsZERpc3Bs
YXlUZXh0RGVzY3JpcHRpb25zKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6c2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNLZXkoKSkpOwogI2VuZGlmCiAKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHNldHRpbmdzLT5zZXROb3RpZmljYXRpb25z
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om5vdGlm
aWNhdGlvbnNFbmFibGVkS2V5KCkpKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAppbmRleCA5YThiOTA1ZmU0YTgxNDg5NWJlZTVjMDg0Yzc3OTBmODI4
Y2VkOTZmLi5jMWJhMDUwY2Y2ZGExZDdhYTE2MTc2MTQzN2Y0YzQ4ZDVhZGUyMWQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE0MSw3ICsxNDEsNyBAQCBX
ZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICNlbmRpZgogICAgICwgbV90ZXh0Q2hlY2tlclN0YXRl
KCkKICAgICAsIG1fZ2VvbG9jYXRpb25NYW5hZ2VyKHRoaXMpCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKICAgICAsIG1fbm90aWZpY2F0aW9uTWFuYWdlcih0aGlzKQogI2VuZGlmCiAgICAg
LCBtX2ljb25EYXRhYmFzZVByb3h5KHRoaXMpCkBAIC02MzgsNyArNjM4LDcgQEAgdm9pZCBXZWJQ
cm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9u
LCBDb3JlSVBDOjpNZXMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyPigpKSB7CiAgICAgICAgIG1fbm90aWZpY2F0aW9uTWFuYWdl
ci5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7CiAg
ICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXgg
ZWZhMmU2ODFhNjJhOGU2ZDkzNTg3NDY2OTM5YWQzM2Q0MjNiOTJmYi4uMWE0OTg5ZjA2Mjk5MjQ2
Zjk4ZjZmMDAzYmJhMWMwYTNhYzg2NTBlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKQEAgLTQ4LDcgKzQ4LDcgQEAKIGNsYXNzIFFOZXR3b3JrQWNjZXNzTWFuYWdlcjsK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyLmgiCiAjZW5kaWYKIApAQCAtMTMzLDcgKzEzMyw3IEBAIHB1YmxpYzoK
ICAgICAvLyBHZW9sb2NhdGlvbgogICAgIFdlYkdlb2xvY2F0aW9uTWFuYWdlciYgZ2VvbG9jYXRp
b25NYW5hZ2VyKCkgeyByZXR1cm4gbV9nZW9sb2NhdGlvbk1hbmFnZXI7IH0KICAgICAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXImIG5vdGlm
aWNhdGlvbk1hbmFnZXIoKSB7IHJldHVybiBtX25vdGlmaWNhdGlvbk1hbmFnZXI7IH0KICNlbmRp
ZgogCkBAIC0yNjgsNyArMjY4LDcgQEAgcHJpdmF0ZToKIAogICAgIFRleHRDaGVja2VyU3RhdGUg
bV90ZXh0Q2hlY2tlclN0YXRlOwogICAgIFdlYkdlb2xvY2F0aW9uTWFuYWdlciBtX2dlb2xvY2F0
aW9uTWFuYWdlcjsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXIgbV9ub3RpZmljYXRpb25NYW5hZ2VyOwogI2VuZGlmCiAgICAgV2ViSWNvbkRh
dGFiYXNlUHJveHkgbV9pY29uRGF0YWJhc2VQcm94eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCmluZGV4IGZhMDM4MGZmZjc0NjViNWZjMmIwY2Nm
OTNlZjZjZTk0ZWI3MzMxMjEuLmI1NjU4ZDhhM2ZlY2Y2NmYxN2Y5NDI1NmNkMDMxYWI2NDQ5YWNm
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5t
bQpAQCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXpl
V2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzCiAKICAgICBtX2Nv
bXBvc2l0aW5nUmVuZGVyU2VydmVyUG9ydCA9IHBhcmFtZXRlcnMuYWNjZWxlcmF0ZWRDb21wb3Np
dGluZ1BvcnQucG9ydCgpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBtX25v
dGlmaWNhdGlvbk1hbmFnZXIuaW5pdGlhbGl6ZShwYXJhbWV0ZXJzLm5vdGlmaWNhdGlvblBlcm1p
c3Npb25zKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggOTU4YzQ0YTExNGU4YzNjOGI1Y2M3YjgyMTdjODcwMzA2YjUwZjFiMy4u
MzQwYjllOWI1NGZiYjgxMDg3ZWVjOTVlMmY2NDJkNWU4YWJhMzE2YSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEy
LTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBO
T1RJRklDQVRJT05TIGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzExMDM1MDgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFlvdSBjYW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lfTk9U
SUZJQ0FUSU9OUyBhbmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05PVElG
SUNBVElPTlMgc2hvdWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0eSwg
YW5kIE5PVElGSUNBVElPTlMgd2lsbCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhlcmVm
b3JlLCBBUElzIHRoYXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgorICAg
ICAgICAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKKworICAgICAgICBUaGlzIHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUgZXhh
Y3RseSB0aGUgc2FtZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWlncmF0
ZSB0bworICAgICAgICB0aGUgbmV3IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBzcGxp
dC4gVGhpcyBhbGxvd3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGluY2x1
ZGUuCisKKyAgICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8gYmUgI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmdyYW50RGVza3RvcE5vdGlmaWNhdGlvblBlcm1pc3Npb24pOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNpbXVsYXRlRGVza3RvcE5vdGlmaWNhdGlv
bkNsaWNrKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Ob3RpZmljYXRpb25Q
cmVzZW50ZXIuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVs
bC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OlRlc3RTaGVsbCk6CisgICAgICAgIChUZXN0U2hl
bGw6OnJlc2V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9E
UlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVyLmNwcDoKKyAgICAgICAgKERSVERlc2t0b3BO
b3RpZmljYXRpb25QcmVzZW50ZXI6OmNoZWNrTm90aWZpY2F0aW9uUGVybWlzc2lvbik6CisKIDIw
MTItMDMtMTMgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRlbC5j
b20+CiAKICAgICAgICAgW0VGTF1bRFJUXSBFeHBvc2Ugd2luZG93LmludGVybmFscyBvYmplY3QK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250
cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250
cm9sbGVyLmNwcAppbmRleCA5YzY4ZGZmZGNkNzkyZGZhOWRiZDhlZGE4OWY2NzYzYWNjYzZhNTIx
Li4xNjg0NDFlN2RlZDExYzBiM2Q5YTVlYzEyNGMyZDBhMjE5MjNmMDAxIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
CkBAIC0xMTkxLDcgKzExOTEsNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpncmFudERl
c2t0b3BOb3RpZmljYXRpb25QZXJtaXNzaW9uKGNvbnN0IENwcEFyZ3VtZW50TAogICAgICAgICBy
ZXN1bHQtPnNldChmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKICAgICBtX3NoZWxsLT5ub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+Z3Jh
bnRQZXJtaXNzaW9uKGNwcFZhcmlhbnRUb1dlYlN0cmluZyhhcmd1bWVudHNbMF0pKTsKICNlbmRp
ZgogICAgIHJlc3VsdC0+c2V0KHRydWUpOwpAQCAtMTIwMyw3ICsxMjAzLDcgQEAgdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2ltdWxhdGVEZXNrdG9wTm90aWZpY2F0aW9uQ2xpY2soY29uc3Qg
Q3BwQXJndW1lbnRMaXMKICAgICAgICAgcmVzdWx0LT5zZXQoZmFsc2UpOwogICAgICAgICByZXR1
cm47CiAgICAgfQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKG1fc2hlbGwt
Pm5vdGlmaWNhdGlvblByZXNlbnRlcigpLT5zaW11bGF0ZUNsaWNrKGNwcFZhcmlhbnRUb1dlYlN0
cmluZyhhcmd1bWVudHNbMF0pKSkKICAgICAgICAgcmVzdWx0LT5zZXQodHJ1ZSk7CiAgICAgZWxz
ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTm90aWZpY2F0aW9u
UHJlc2VudGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL05vdGlmaWNhdGlv
blByZXNlbnRlci5jcHAKaW5kZXggNzgwOTgyMWFhNjUwNTM0ZDQ2OTVlYjgzNWVjNTNkNGMwMzlk
YzlmNS4uMGM1NDAwZjVlOWU4ZjcxNzBlY2Y1OTlhODFiZDQyNmZiZDc3MjkxZCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTm90aWZpY2F0aW9uUHJlc2VudGVyLmNw
cAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Ob3RpZmljYXRpb25QcmVzZW50
ZXIuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
Tm90aWZpY2F0aW9uUHJlc2VudGVyLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
CiAjaW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1T
dXBwb3J0LmgiCkBAIC0xNTEsNCArMTUxLDQgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXI6
OnJlcXVlc3RQZXJtaXNzaW9uKAogICAgIGNhbGxiYWNrLT5wZXJtaXNzaW9uUmVxdWVzdENvbXBs
ZXRlKCk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKaW5kZXggYWE2Njg2OTRk
NDIxZDJiYzgwN2FiMGU2YTM0OGU5MWRiYjJiNjIzMC4uMDllODY3NjUxMmFjNTNlMDk4ZTFkZDk5
NTMyMGUzMGYxOWFiYWI4NyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFNoZWxsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuY3BwCkBAIC0xMzgsNyArMTM4LDcgQEAgVGVzdFNoZWxsOjpUZXN0U2hlbGwoYm9vbCB0
ZXN0U2hlbGxNb2RlKQogICAgIG1fbGF5b3V0VGVzdENvbnRyb2xsZXIgPSBhZG9wdFB0cihuZXcg
TGF5b3V0VGVzdENvbnRyb2xsZXIodGhpcykpOwogICAgIG1fZXZlbnRTZW5kZXIgPSBhZG9wdFB0
cihuZXcgRXZlbnRTZW5kZXIodGhpcykpOwogICAgIG1fdGV4dElucHV0Q29udHJvbGxlciA9IGFk
b3B0UHRyKG5ldyBUZXh0SW5wdXRDb250cm9sbGVyKHRoaXMpKTsKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogICAgIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyID0gYWRvcHRQdHIobmV3IE5v
dGlmaWNhdGlvblByZXNlbnRlcih0aGlzKSk7CiAjZW5kaWYKICAgICBtX3ByaW50ZXIgPSBtX3Rl
c3RTaGVsbE1vZGUgPyBUZXN0RXZlbnRQcmludGVyOjpjcmVhdGVUZXN0U2hlbGxQcmludGVyKCkg
OiBUZXN0RXZlbnRQcmludGVyOjpjcmVhdGVEUlRQcmludGVyKCk7CkBAIC0yOTQsNyArMjk0LDcg
QEAgdm9pZCBUZXN0U2hlbGw6OnJlc2V0VGVzdENvbnRyb2xsZXIoKQogICAgIG1fbGF5b3V0VGVz
dENvbnRyb2xsZXItPnJlc2V0KCk7CiAgICAgbV9ldmVudFNlbmRlci0+cmVzZXQoKTsKICAgICBt
X3dlYlZpZXdIb3N0LT5yZXNldCgpOwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAg
bV9ub3RpZmljYXRpb25QcmVzZW50ZXItPnJlc2V0KCk7CiAjZW5kaWYKICAgICBtX2RydERldlRv
b2xzQWdlbnQtPnJlc2V0KCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlci5jcHAKaW5kZXggM2JjMTY2ZDAz
OThhMTVmOGU1ZTZlNzVhNDI0ZmQ0MDBiZjI1MzNkYi4uODMwYWZkM2M0MzM3YjI5ZGRiOGRlMzUw
MDcwNjEyZTA2MjUxMDgxZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0RS
VERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50ZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVyLmNwcApAQCAtMTIzLDcgKzEy
Myw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgRFJURGVza3RvcE5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6Y2hlY2tOb3RpZmljYXRpb25QZXJtCiAgICAgICAgIC8qIFtpbl0gKi8gQlNUUiBv
cmlnaW4sIAogICAgICAgICAvKiBbb3V0LCByZXR2YWxdICovIGludCogcmVzdWx0KQogewotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgSlNTdHJpbmdSZWYganNPcmlnaW4gPSBKU1N0
cmluZ0NyZWF0ZVdpdGhCU1RSKG9yaWdpbik7CiAgICAgYm9vbCBhbGxvd2VkID0gOjpnTGF5b3V0
VGVzdENvbnRyb2xsZXItPmNoZWNrRGVza3RvcE5vdGlmaWNhdGlvblBlcm1pc3Npb24oanNPcmln
aW4pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131795</attachid>
            <date>2012-03-14 00:03:01 -0700</date>
            <delta_ts>2012-03-14 16:00:33 -0700</delta_ts>
            <desc>Same patch again, to go through mac ews</desc>
            <filename>bug-80922-20120314000417.patch</filename>
            <type>text/plain</type>
            <size>94941</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg1ZGJiZjExNWZhNzA1
OGUyNjc3N2VkMzZhMDJhZWI5ZTViY2EyYS4uZmI5OGVhMGQyMjFjZWVjYTgzZmJkZTViZTc5Mzll
YWY3YjRkMWY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDEyLTAzLTEzICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBOT1RJRklDQVRJT05T
IGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExMDM1MDgy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFlvdSBj
YW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBh
bmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05PVElGSUNBVElPTlMgc2hv
dWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0eSwgYW5kIE5PVElGSUNB
VElPTlMgd2lsbCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhlcmVmb3JlLCBBUElzIHRo
YXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgorICAgICAgICAjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKworICAg
ICAgICBUaGlzIHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUgZXhhY3RseSB0aGUgc2Ft
ZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWlncmF0ZSB0bworICAgICAg
ICB0aGUgbmV3IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBzcGxpdC4gVGhpcyBhbGxv
d3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGluY2x1ZGUuCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbTogVXBkYXRlIHRoZSBzY3Jp
cHQgdG8gaGFuZGxlIHRoZSAifCIgZmxhZyBpbiBhIGNvbmRpdGlvbmFsLgorICAgICAgICAocHJl
ZmVycmVkQ29uZGl0aW9uYWwpOgorICAgICAgICAoY29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmli
dXRlVmFsdWUpOgorICAgICAgICAoZ2VuZXJhdGVJbnRlcmZhY2VzSGVhZGVyKToKKyAgICAgICAg
KGdlbmVyYXRlSGVhZGVyc0hlYWRlcik6CisKKyAgICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8g
YmUgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogYmluZGluZ3MvY3BwL1dl
YkRPTUV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKHRvV2ViS2l0KToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwOgorICAgICAgICAq
IGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwOgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6Cisg
ICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsOgorICAgICAgICAqIG5vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcDoKKyAgICAgICAgKiBub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5oOgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmlkbDoKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRl
bnRzLmg6CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
On5ET01XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojp3aWxsRGV0YWNoUGFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmRpc2Nvbm5lY3RET01XaW5kb3dQcm9w
ZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6Y2xlYXJET01XaW5kb3dQcm9w
ZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6
CisgICAgICAgIChET01XaW5kb3cpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjp3aWxsRGV0
YWNoUGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6dHJhbnNmZXJDaGlsZEZyYW1lVG9O
ZXdEb2N1bWVudCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6On5Xb3JrZXJDb250ZXh0KToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAoV29y
a2VyQ29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJU
aHJlYWQ6OldvcmtlclRocmVhZCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoK
KyAgICAgICAgKFdvcmtlclRocmVhZCk6CisKIDIwMTItMDMtMTMgIEx1a2UgTWFjcGhlcnNvbiAg
IDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNb3ZlIG9wYWNpdHkgY2xhbXBp
bmcgaW50byBSZW5kZXJTdHlsZSBzZXR0ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBiZTNlZjQ1YzA5YzY1OTI1ZTY1NjBkNjVmOGZmNmQ4MjAzMzk1YmY1Li40NTkyNDg0Mzlj
NTBiNzZmMTY2ZWQ5MDM5ZDAwODkxM2U4NDM5ZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgU2VwYXJhdGUgTk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElG
SUNBVElPTlMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgwOTIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMTAzNTA4Mj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBZb3UgY2FuIGluY2x1ZGUgZWl0aGVy
IE5PVElGSUNBVElPTlMgb3IgTEVHQUNZX05PVElGSUNBVElPTlMgYW5kIGhhdmUgYSBjb21wbGV0
ZSBBUEkuCisgICAgICAgIExFR0FDWV9OT1RJRklDQVRJT05TIHNob3VsZCBjb3ZlciBhbGwgb2Yg
dGhlIHByZXZpb3VzIGZ1bmN0aW9uYWxpdHksIGFuZCBOT1RJRklDQVRJT05TIHdpbGwgY292ZXIg
dGhlCisgICAgICAgIG5ldyBBUEkuIFRoZXJlZm9yZSwgQVBJcyB0aGF0IGFyZSBjb21tb24gYmV0
d2VlbiB0aGUgdHdvIHdpbGwgaGF2ZToKKyAgICAgICAgI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisKKyAgICAgICAgVGhpcyBwYXRjaCBp
bml0aWFsbHkgc2V0cyBib3RoIHRvIGJlIGV4YWN0bHkgdGhlIHNhbWUuIEFzIG90aGVyIGJ1Z3Mg
d2l0aCBwYXRjaGVzIGJlZ2luIHRvIG1pZ3JhdGUgdG8KKyAgICAgICAgdGhlIG5ldyBBUEksIHRo
ZSBkZWZpbmVzIHdpbGwgYmVnaW4gdG8gc3BsaXQuIFRoaXMgYWxsb3dzIHBvcnRzIHRvIGRlY2lk
ZSB3aGljaCBzZXQgb2YgQVBJcyB0byBpbmNsdWRlLgorCisgICAgICAgIFVwZGF0ZSBldmVyeXRo
aW5nIHRvIGJlICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorICAgICAgICAqIEFwaS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVy
cnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OmluaXQpOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaDoKKwogMjAxMi0wMy0xMyAgTWlrZSBGZW50
b24gIDxtaWZlbnRvbkByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBJbnB1dCBmb2N1
cyBzdGF0ZSBzaG91bGQgdW5mb2N1cyB0aGUgZnJhbWUgc2VsZWN0aW9uIGluc3RlYWQgb2YgdGhl
IGZpZWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBjZmYzYTk3NjY4MGMyYmRkMjk5
MmQyZWE2NDI3MzZjMWFiZDVlMWE1Li41N2EwOGZhNTc0NzFmN2M5ODQwYThmMGQwYTk2ZDExZjRi
ZTk4ZThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEy
LTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0ZSBO
T1RJRklDQVRJT05TIGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzExMDM1MDgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFlvdSBjYW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lfTk9U
SUZJQ0FUSU9OUyBhbmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05PVElG
SUNBVElPTlMgc2hvdWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0eSwg
YW5kIE5PVElGSUNBVElPTlMgd2lsbCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhlcmVm
b3JlLCBBUElzIHRoYXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgorICAg
ICAgICAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKKworICAgICAgICBUaGlzIHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUgZXhh
Y3RseSB0aGUgc2FtZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWlncmF0
ZSB0bworICAgICAgICB0aGUgbmV3IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBzcGxp
dC4gVGhpcyBhbGxvd3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGluY2x1
ZGUuCisKKyAgICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8gYmUgI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgICAgICogc3JjL0Fz
c2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9Ob3RpZmljYXRpb25QcmVzZW50
ZXJJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oOgor
ICAgICAgICAqIHNyYy9XZWJOb3RpZmljYXRpb24uY3BwOgorICAgICAgICAqIHNyYy9XZWJSdW50
aW1lRmVhdHVyZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmVu
YWJsZU5vdGlmaWNhdGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6
OmlzTm90aWZpY2F0aW9uc0VuYWJsZWQpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbCk6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorICAgICAgICAoV2ViVmlld0lt
cGwpOgorCiAyMDEyLTAzLTEzICBTaGF3biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtjaHJvbWl1bV0gd3JvbmcgdHJhbnNmb3JtIGNhdXNpbmcgaW5jb3JyZWN0
IGN1bGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBhYmY1MmRjNjhkZTA4NTU5ZDcyYzNiMDVhNGZl
Yzc5NWEzYWQzYWEzLi4wYmI3NjYyY2Y3M2YxNmQyYTFhMDM4NGZkZDk5YzkwNGZlOTdlMTg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDMtMTMgIEpvbiBMZWUgIDxq
b25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5kIExF
R0FDWV9OT1RJRklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzUwODI+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgWW91IGNhbiBpbmNs
dWRlIGVpdGhlciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJT05TIGFuZCBoYXZl
IGEgY29tcGxldGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBzaG91bGQgY292
ZXIgYWxsIG9mIHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9USUZJQ0FUSU9OUyB3
aWxsIGNvdmVyIHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQSXMgdGhhdCBhcmUg
Y29tbW9uIGJldHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorCisgICAgICAgIFRo
aXMgcGF0Y2ggaW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRoZSBzYW1lLiBBcyBv
dGhlciBidWdzIHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisgICAgICAgIHRoZSBu
ZXcgQVBJLCB0aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlzIGFsbG93cyBwb3J0
cyB0byBkZWNpZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKworICAgICAgICBVcGRh
dGUgZXZlcnl0aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudEVmbC5jcHA6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50RWZsLmg6CisK
IDIwMTItMDMtMTMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4gJiYgQmVuamFtaW4g
UG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVO
QUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjVlNGNk
NjA3NDI2ZjhkODEzMmY1MzM3NTBhMmY5MTZlNWYwNGJhNS4uYjgzYWM5ZTZiZTVhMmIwZDVhZDI5
Nzk3MGY5YWI5YWEwZDMyNWE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisy
MDEyLTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBTZXBhcmF0
ZSBOT1RJRklDQVRJT05TIGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzExMDM1MDgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFlvdSBjYW4gaW5jbHVkZSBlaXRoZXIgTk9USUZJQ0FUSU9OUyBvciBMRUdBQ1lf
Tk9USUZJQ0FUSU9OUyBhbmQgaGF2ZSBhIGNvbXBsZXRlIEFQSS4KKyAgICAgICAgTEVHQUNZX05P
VElGSUNBVElPTlMgc2hvdWxkIGNvdmVyIGFsbCBvZiB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0
eSwgYW5kIE5PVElGSUNBVElPTlMgd2lsbCBjb3ZlciB0aGUKKyAgICAgICAgbmV3IEFQSS4gVGhl
cmVmb3JlLCBBUElzIHRoYXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0d28gd2lsbCBoYXZlOgor
ICAgICAgICAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKKworICAgICAgICBUaGlzIHBhdGNoIGluaXRpYWxseSBzZXRzIGJvdGggdG8gYmUg
ZXhhY3RseSB0aGUgc2FtZS4gQXMgb3RoZXIgYnVncyB3aXRoIHBhdGNoZXMgYmVnaW4gdG8gbWln
cmF0ZSB0bworICAgICAgICB0aGUgbmV3IEFQSSwgdGhlIGRlZmluZXMgd2lsbCBiZWdpbiB0byBz
cGxpdC4gVGhpcyBhbGxvd3MgcG9ydHMgdG8gZGVjaWRlIHdoaWNoIHNldCBvZiBBUElzIHRvIGlu
Y2x1ZGUuCisKKyAgICAgICAgVXBkYXRlIGV2ZXJ5dGhpbmcgdG8gYmUgI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tOgorICAgICAgICAoV2ViTm90aWZpY2F0aW9u
Q2xpZW50OjpzaG93KToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2FuY2VsKToK
KyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2xlYXJOb3RpZmljYXRpb25zKToKKyAg
ICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVk
KToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uQ29udHJvbGxl
ckRlc3Ryb3llZCk6CisgICAgICAgIChXZWJOb3RpZmljYXRpb25DbGllbnQ6OnJlcXVlc3RQZXJt
aXNzaW9uKToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9u
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbToKKyAgICAgICAgKC1bV2Vi
Tm90aWZpY2F0aW9uIHRpdGxlXSk6CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiBib2R5XSk6
CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiByZXBsYWNlSURdKToKKyAgICAgICAgKC1bV2Vi
Tm90aWZpY2F0aW9uIG9yaWdpbl0pOgorICAgICAgICAoLVtXZWJOb3RpZmljYXRpb24gbm90aWZp
Y2F0aW9uSURdKToKKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uIGRpc3BhdGNoU2hvd0V2ZW50
XSk6CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiBkaXNwYXRjaENsb3NlRXZlbnRdKToKKyAg
ICAgICAgKC1bV2ViTm90aWZpY2F0aW9uIGRpc3BhdGNoQ2xpY2tFdmVudF0pOgorICAgICAgICAo
LVtXZWJOb3RpZmljYXRpb24gZGlzcGF0Y2hFcnJvckV2ZW50XSk6CisgICAgICAgICogV2ViVmll
dy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1l
Omdyb3VwTmFtZTpdKToKKwogMjAxMi0wMy0xMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPiAmJiBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IEFsd2F5cyBlbmFibGUgRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKaW5kZXggNjRjYjY1ZDMxZTk2MTJhZmE1Y2QzOTA2MDUzZjBhOWJhZDRkYTYzOC4uOWU5YTEx
ODM5M2RkNTE0NjJhMjU2NGI2MGIzMDkzYTYzM2E5NTFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgU2VwYXJhdGUgTk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElGSUNBVElPTlMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTIyCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMTAzNTA4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBZb3UgY2FuIGluY2x1ZGUgZWl0aGVyIE5PVElGSUNBVElP
TlMgb3IgTEVHQUNZX05PVElGSUNBVElPTlMgYW5kIGhhdmUgYSBjb21wbGV0ZSBBUEkuCisgICAg
ICAgIExFR0FDWV9OT1RJRklDQVRJT05TIHNob3VsZCBjb3ZlciBhbGwgb2YgdGhlIHByZXZpb3Vz
IGZ1bmN0aW9uYWxpdHksIGFuZCBOT1RJRklDQVRJT05TIHdpbGwgY292ZXIgdGhlCisgICAgICAg
IG5ldyBBUEkuIFRoZXJlZm9yZSwgQVBJcyB0aGF0IGFyZSBjb21tb24gYmV0d2VlbiB0aGUgdHdv
IHdpbGwgaGF2ZToKKyAgICAgICAgI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbml0aWFsbHkgc2V0
cyBib3RoIHRvIGJlIGV4YWN0bHkgdGhlIHNhbWUuIEFzIG90aGVyIGJ1Z3Mgd2l0aCBwYXRjaGVz
IGJlZ2luIHRvIG1pZ3JhdGUgdG8KKyAgICAgICAgdGhlIG5ldyBBUEksIHRoZSBkZWZpbmVzIHdp
bGwgYmVnaW4gdG8gc3BsaXQuIFRoaXMgYWxsb3dzIHBvcnRzIHRvIGRlY2lkZSB3aGljaCBzZXQg
b2YgQVBJcyB0byBpbmNsdWRlLgorCisgICAgICAgIFVwZGF0ZSBldmVyeXRoaW5nIHRvIGJlICNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
ICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OlFX
ZWJQYWdlUHJpdmF0ZSk6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6On5RV2ViUGFnZVByaXZh
dGUpOgorICAgICAgICAoUVdlYlBhZ2U6OnNldEZlYXR1cmVQZXJtaXNzaW9uKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChE
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6ZHVtcE5vdGlmaWNhdGlvbik6CisgICAgICAgIChEdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdDo6c2ltdWxhdGVEZXNrdG9wTm90aWZpY2F0aW9uQ2xpY2spOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uV3Jh
cHBlcjo6Tm90aWZpY2F0aW9uV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRp
b25XcmFwcGVyOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25XcmFwcGVy
Ojp0aXRsZSk6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25XcmFwcGVyOjptZXNzYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbldyYXBwZXI6Omljb25EYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbldyYXBwZXI6Om9wZW5lclBhZ2VVcmwpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uV3JhcHBlcjo6bm90aWZpY2F0aW9uQ2xpY2tlZCk6
CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25XcmFwcGVyOjpub3RpZmljYXRpb25DbG9z
ZWQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dFF0Lmg6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0wMy0xMyAgQmVuamFtaW4gUG91bGFp
biAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCBRdE1pbmlt
YWwgYm90IGFmdGVyIHIxMTA1OTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBjZGFhNDI0MmFlNjYzODI4
ZDQ4MzRiNWI5MGQwYmZmMTZiZGRmOWVjLi5mMjAzODU4Mjc5Mzc1MDY0MmJiMzM2ZGVmYjRjZjAx
ZTAwYjZlYjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDMtMTMg
IEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNB
VElPTlMgYW5kIExFR0FDWV9OT1RJRklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEw
MzUwODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
WW91IGNhbiBpbmNsdWRlIGVpdGhlciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJ
T05TIGFuZCBoYXZlIGEgY29tcGxldGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9O
UyBzaG91bGQgY292ZXIgYWxsIG9mIHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9U
SUZJQ0FUSU9OUyB3aWxsIGNvdmVyIHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQ
SXMgdGhhdCBhcmUgY29tbW9uIGJldHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
CisgICAgICAgIFRoaXMgcGF0Y2ggaW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRo
ZSBzYW1lLiBBcyBvdGhlciBidWdzIHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisg
ICAgICAgIHRoZSBuZXcgQVBJLCB0aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlz
IGFsbG93cyBwb3J0cyB0byBkZWNpZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKwor
ICAgICAgICBVcGRhdGUgZXZlcnl0aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpXZWJDaHJv
bWVDbGllbnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJE
ZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmg6CisKIDIwMTItMDMtMTMgIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4gJiYgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVOQUJMRShDTElFTlRfQkFTRURf
R0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IDBkZGFiOTFkNGY4NWRhMTI2NmE0
MDZkZjA5MzRiYzRjNjg0NjQyMmYuLmNhYzAxM2RhZTljZjdmNGIzNzU2Njk1ZTk1NTRmMGFjYzY3
OWQ5Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDMtMTMg
IEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNB
VElPTlMgYW5kIExFR0FDWV9OT1RJRklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEw
MzUwODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
WW91IGNhbiBpbmNsdWRlIGVpdGhlciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJ
T05TIGFuZCBoYXZlIGEgY29tcGxldGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9O
UyBzaG91bGQgY292ZXIgYWxsIG9mIHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9U
SUZJQ0FUSU9OUyB3aWxsIGNvdmVyIHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQ
SXMgdGhhdCBhcmUgY29tbW9uIGJldHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
CisgICAgICAgIFRoaXMgcGF0Y2ggaW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRo
ZSBzYW1lLiBBcyBvdGhlciBidWdzIHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisg
ICAgICAgIHRoZSBuZXcgQVBJLCB0aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlz
IGFsbG93cyBwb3J0cyB0byBkZWNpZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKwor
ICAgICAgICBVcGRhdGUgZXZlcnl0aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRXaW5DRS5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50V2luQ0UpOgorCiAy
MDEyLTAzLTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+ICYmIEJlbmphbWluIFBv
dWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWx3YXlzIGVuYWJsZSBFTkFC
TEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDFmNGIzYjA4ZTQ1YzQ5
MjhkNDkwMDg3YjJiZjQ1YzU5YThkOTI0MTIuLjBiOGFiMGZmOTU0NmYyMjBjNjA5NmY5ZmEwZmFi
MTBhYWUwNmM2NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MSBAQAorMjAxMi0wMy0xMyAgSm9u
IExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgU2VwYXJhdGUgTk9USUZJQ0FUSU9O
UyBhbmQgTEVHQUNZX05PVElGSUNBVElPTlMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgwOTIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMTAzNTA4
Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBZb3Ug
Y2FuIGluY2x1ZGUgZWl0aGVyIE5PVElGSUNBVElPTlMgb3IgTEVHQUNZX05PVElGSUNBVElPTlMg
YW5kIGhhdmUgYSBjb21wbGV0ZSBBUEkuCisgICAgICAgIExFR0FDWV9OT1RJRklDQVRJT05TIHNo
b3VsZCBjb3ZlciBhbGwgb2YgdGhlIHByZXZpb3VzIGZ1bmN0aW9uYWxpdHksIGFuZCBOT1RJRklD
QVRJT05TIHdpbGwgY292ZXIgdGhlCisgICAgICAgIG5ldyBBUEkuIFRoZXJlZm9yZSwgQVBJcyB0
aGF0IGFyZSBjb21tb24gYmV0d2VlbiB0aGUgdHdvIHdpbGwgaGF2ZToKKyAgICAgICAgI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBpbml0aWFsbHkgc2V0cyBib3RoIHRvIGJlIGV4YWN0bHkgdGhlIHNh
bWUuIEFzIG90aGVyIGJ1Z3Mgd2l0aCBwYXRjaGVzIGJlZ2luIHRvIG1pZ3JhdGUgdG8KKyAgICAg
ICAgdGhlIG5ldyBBUEksIHRoZSBkZWZpbmVzIHdpbGwgYmVnaW4gdG8gc3BsaXQuIFRoaXMgYWxs
b3dzIHBvcnRzIHRvIGRlY2lkZSB3aGljaCBzZXQgb2YgQVBJcyB0byBpbmNsdWRlLgorCisgICAg
ICAgIFVwZGF0ZSBldmVyeXRoaW5nIHRvIGJlICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJDb250ZXh0OjplbnN1cmVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYktp
dDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpwZXJtaXNzaW9uTGV2ZWwp
OgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6
OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXNpb24pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6Omlu
aXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRV
cGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNh
dGlvbk1hbmFnZXI6OmRpZFJlbW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnBvbGljeUZvck9yaWdpbik6CisgICAgICAg
IChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3cpOgorICAgICAgICAoV2ViS2l0
OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjYW5jZWwpOgorICAgICAgICAoV2ViS2l0OjpXZWJO
b3RpZmljYXRpb25NYW5hZ2VyOjpjbGVhck5vdGlmaWNhdGlvbnMpOgorICAgICAgICAoV2ViS2l0
OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWREZXN0cm95Tm90aWZpY2F0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkU2hvd05vdGlmaWNhdGlvbik6
CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsaWNrTm90aWZp
Y2F0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xv
c2VOb3RpZmljYXRpb25zKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAoV2ViTm90aWZpY2F0aW9uTWFuYWdlcik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGll
bnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0
aW9uQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgIChXZWJQcm9jZXNzKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAxMi0wMy0xMyAgQW5kZXJz
IENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEZpbmQgYm91bmN5IGRv
ZXNu4oCZdCBoaWRlIHdoZW4gYSBzdWJmcmFtZSBpcyBzY3JvbGxlZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgppbmRleCA4MmUwZWUzOGRkY2QzYWU2NDRjMmQ1ZjUyOTllZDBiMzM1YmZjMWRhLi41M2ZmNjM4
NDg5ZmJmOTM4YjQ2YzBmMjczYmE2ODZmMjg0NDE0OWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpA
QCAtMjExOCw3ICsyMTE4LDcgQEAgX19aTks3V2ViQ29yZTdJbnRTaXplY3Y3X05TU2l6ZUV2CiBf
d2tDcmVhdGVWTVByZXNzdXJlRGlzcGF0Y2hPbk1haW5RdWV1ZQogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb25DMUV2CiBfX1pO
N1dlYkNvcmUxMk5vdGlmaWNhdGlvbkQxRXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMTdk
aXNwYXRjaFNob3dFdmVudEV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9j
cHAvV2ViRE9NRXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvY3BwL1dl
YkRPTUV2ZW50VGFyZ2V0LmNwcAppbmRleCBmMGM2MDk4NWI2NGE2MDUyMDIxNzE1NDM3MjIyNTQy
NzMwNmI1NzQxLi4xNzM0NGZjYzYwM2E0NWFhYjA3ODY0MDVhZmE0MDQ2NmNhMjJiNjA1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9jcHAvV2ViRE9NRXZlbnRUYXJnZXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2NwcC9XZWJET01FdmVudFRhcmdldC5jcHAK
QEAgLTU2LDcgKzU2LDcgQEAKICNpbmNsdWRlICJXZWJET01TaGFyZWRXb3JrZXJDb250ZXh0Lmgi
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiV2ViRE9N
Tm90aWZpY2F0aW9uLmgiCiAjZW5kaWYKIApAQCAtMTIyLDcgKzEyMiw3IEBAIENvbnZlcnRUbyhT
aGFyZWRXb3JrZXIpCiBDb252ZXJ0VG8oU2hhcmVkV29ya2VyQ29udGV4dCkKICNlbmRpZgogCi0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIENvbnZlcnRUbyhOb3RpZmljYXRpb24pCiAjZW5k
aWYKIApAQCAtMTY2LDcgKzE2Niw3IEBAIFdlYkRPTUV2ZW50VGFyZ2V0IHRvV2ViS2l0KFdlYkNv
cmU6OkV2ZW50VGFyZ2V0KiB2YWx1ZSkKICAgICAgICAgcmV0dXJuIHRvV2ViS2l0KHdvcmtlckNv
bnRleHQpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIGlmIChX
ZWJDb3JlOjpOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IHZhbHVlLT50b05vdGlmaWNhdGlv
bigpKQogICAgICAgICByZXR1cm4gdG9XZWJLaXQobm90aWZpY2F0aW9uKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9u
c0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmlj
YXRpb25zQ3VzdG9tLmNwcAppbmRleCAxNmE5NjJjNTYyOWEzNTlkNWRjN2NlOGUyMmJhZDg1MDY1
ZTkxMmNlLi5hMGNhZDg4Yjg0NjljNTYzZTFlNGViNDZjNTUyNmY2ODUxNTFmY2UwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rlc2t0b3BOb3RpZmlj
YXRpb25zQ3VzdG9tLmNwcApAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJKU0N1c3RvbVZvaWRDYWxsYmFjay5oIgpAQCAtNzAsNCArNzAsNCBAQCBKU1Zh
bHVlIEpTTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihFeGVjU3RhdGUqIGV4
ZWMpCiAKIH0gLy8gbmFtZXNwYWNlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZp
bGVzQ29tcGlsZXIucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXND
b21waWxlci5wbQppbmRleCBlMTI2MDY4NzkzOGRhYmUwZmQ1ZTdhMzhjNzIzNmVlYTBhYjU2YmFh
Li4zM2U3MjEwZjgxMmQ4ZGZmZjA5YzcwYjVmOTNjMzE1YzIzMGEzNjBkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQpAQCAtMTY2
LDYgKzE2NiwyMyBAQCBzdWIgdG9NYWNyb1N0eWxlKCQkKQogICAgIGRpZSAiT2ssIHlvdSBnb3Qg
bWUuIFRoaXMgc2NyaXB0IGlzIHJlYWxseSBqdXN0IGEgZ2lhbnQgaGFjay4gKFwkY2FtZWxDYXNl
PSR7Y2FtZWxDYXNlfSkiOwogfQogCitzdWIgcHJlZmVycmVkQ29uZGl0aW9uYWwoKQoreworICAg
IG15ICRvYmplY3QgPSBzaGlmdDsKKyAgICBteSAkY29uZGl0aW9uYWwgPSBzaGlmdDsKKworICAg
IG15IEBjb25kaXRpb25hbHMgPSBzcGxpdCgnXFx8JywgJGNvbmRpdGlvbmFsKTsKKyAgICByZXR1
cm4gJGNvbmRpdGlvbmFsc1swXTsKK30KKworc3ViIGNvbmRpdGlvbmFsU3RyaW5nRnJvbUF0dHJp
YnV0ZVZhbHVlKCkKK3sKKyAgICBteSAkb2JqZWN0ID0gc2hpZnQ7CisgICAgbXkgJGNvbmRpdGlv
bmFsID0gc2hpZnQ7CisgICAgCisgICAgcmV0dXJuICJFTkFCTEUoIiAuIGpvaW4oJykgfHwgRU5B
QkxFKCcsIHNwbGl0KCdcXHwnLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKK30KKwogc3ViIGdlbmVy
YXRlSW50ZXJmYWNlc0hlYWRlcigpCiB7CiAgICAgbXkgJG9iamVjdCA9IHNoaWZ0OwpAQCAtMjAy
LDE3ICsyMTksMTkgQEAgc3ViIGdlbmVyYXRlSW50ZXJmYWNlc0hlYWRlcigpCiAgICAgbXkgJG1h
Y3JvU3R5bGVkTmFtZXNwYWNlID0gJG9iamVjdC0+dG9NYWNyb1N0eWxlKCRuYW1lc3BhY2UpOwog
CiAgICAgZm9yIG15ICRjb25kaXRpb25hbCAoc29ydCBrZXlzICVpbnRlcmZhY2VzQnlDb25kaXRp
b25hbCkgewotICAgICAgICBwcmludCBGICIjaWYgRU5BQkxFKCRjb25kaXRpb25hbClcbiI7Ci0g
ICAgICAgIHByaW50IEYgIiNkZWZpbmUgRE9NXyR7bWFjcm9TdHlsZWROYW1lc3BhY2V9X0lOVEVS
RkFDRVNfRk9SX0VBQ0hfJGNvbmRpdGlvbmFsKG1hY3JvKSBcXFxuIjsKKyAgICAgICAgbXkgJHBy
ZWZlcnJlZENvbmRpdGlvbmFsID0gJG9iamVjdC0+cHJlZmVycmVkQ29uZGl0aW9uYWwoJGNvbmRp
dGlvbmFsKTsKKyAgICAgICAgcHJpbnQgRiAiI2lmICIgLiAkb2JqZWN0LT5jb25kaXRpb25hbFN0
cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9uYWwpIC4gIlxuIjsKKworICAgICAgICBw
cmludCBGICIjZGVmaW5lIERPTV8ke21hY3JvU3R5bGVkTmFtZXNwYWNlfV9JTlRFUkZBQ0VTX0ZP
Ul9FQUNIXyRwcmVmZXJyZWRDb25kaXRpb25hbChtYWNybykgXFxcbiI7CiAKICAgICAgICAgZm9y
IG15ICRpbnRlcmZhY2UgKHNvcnQga2V5cyAleyAkaW50ZXJmYWNlc0J5Q29uZGl0aW9uYWx7JGNv
bmRpdGlvbmFsfSB9KSB7CiAgICAgICAgICAgICBuZXh0IGlmIGRlZmluZWQoJHVuY29uZGl0aW9u
YWxJbnRlcmZhY2VzeyRpbnRlcmZhY2V9KTsKICAgICAgICAgICAgIHByaW50IEYgIiAgICBtYWNy
bygkaW50ZXJmYWNlKSBcXFxuIjsKICAgICAgICAgfQogCi0gICAgICAgIHByaW50IEYgIi8vIEVu
ZCBvZiBET01fJHttYWNyb1N0eWxlZE5hbWVzcGFjZX1fSU5URVJGQUNFU19GT1JfRUFDSF8kY29u
ZGl0aW9uYWxcbiI7CisgICAgICAgIHByaW50IEYgIi8vIEVuZCBvZiBET01fJHttYWNyb1N0eWxl
ZE5hbWVzcGFjZX1fSU5URVJGQUNFU19GT1JfRUFDSF8kcHJlZmVycmVkQ29uZGl0aW9uYWxcbiI7
CiAgICAgICAgIHByaW50IEYgIiNlbHNlXG4iOwotICAgICAgICBwcmludCBGICIjZGVmaW5lIERP
TV8ke21hY3JvU3R5bGVkTmFtZXNwYWNlfV9JTlRFUkZBQ0VTX0ZPUl9FQUNIXyRjb25kaXRpb25h
bChtYWNybylcbiI7CisgICAgICAgIHByaW50IEYgIiNkZWZpbmUgRE9NXyR7bWFjcm9TdHlsZWRO
YW1lc3BhY2V9X0lOVEVSRkFDRVNfRk9SX0VBQ0hfJHByZWZlcnJlZENvbmRpdGlvbmFsKG1hY3Jv
KVxuIjsKICAgICAgICAgcHJpbnQgRiAiI2VuZGlmXG4iOwogICAgICAgICBwcmludCBGICJcbiI7
CiAgICAgfQpAQCAtMjI0LDcgKzI0Myw4IEBAIHN1YiBnZW5lcmF0ZUludGVyZmFjZXNIZWFkZXIo
KQogICAgIH0KICAgICBwcmludCBGICIgICAgXFxcbiI7CiAgICAgZm9yIG15ICRjb25kaXRpb25h
bCAoc29ydCBrZXlzICVpbnRlcmZhY2VzQnlDb25kaXRpb25hbCkgewotICAgICAgICBwcmludCBG
ICIgICAgRE9NXyR7bWFjcm9TdHlsZWROYW1lc3BhY2V9X0lOVEVSRkFDRVNfRk9SX0VBQ0hfJGNv
bmRpdGlvbmFsKG1hY3JvKSBcXFxuIjsKKyAgICAgICAgbXkgJHByZWZlcnJlZENvbmRpdGlvbmFs
ID0gJG9iamVjdC0+cHJlZmVycmVkQ29uZGl0aW9uYWwoJGNvbmRpdGlvbmFsKTsKKyAgICAgICAg
cHJpbnQgRiAiICAgIERPTV8ke21hY3JvU3R5bGVkTmFtZXNwYWNlfV9JTlRFUkZBQ0VTX0ZPUl9F
QUNIXyRwcmVmZXJyZWRDb25kaXRpb25hbChtYWNybykgXFxcbiI7CiAgICAgfQogCiAgICAgcHJp
bnQgRiAiXG4iOwpAQCAtMjU4LDcgKzI3OCw3IEBAIHN1YiBnZW5lcmF0ZUhlYWRlcnNIZWFkZXIo
KQogICAgICAgICBuZXh0IGlmIGRlZmluZWQoJGluY2x1ZGVkSW50ZXJmYWNlc3skaW50ZXJmYWNl
TmFtZX0pOwogICAgICAgICAkaW5jbHVkZWRJbnRlcmZhY2VzeyRpbnRlcmZhY2VOYW1lfSA9IDE7
CiAKLSAgICAgICAgcHJpbnQgRiAiI2lmIEVOQUJMRSgkY29uZGl0aW9uYWwpXG4iIGlmICRjb25k
aXRpb25hbDsKKyAgICAgICAgcHJpbnQgRiAiI2lmICIgLiAkb2JqZWN0LT5jb25kaXRpb25hbFN0
cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9uYWwpIC4gIlxuIiBpZiAkY29uZGl0aW9u
YWw7CiAgICAgICAgIHByaW50IEYgIiNpbmNsdWRlIFwiJGludGVyZmFjZU5hbWUuaFwiXG4iOwog
ICAgICAgICBwcmludCBGICIjaWYgVVNFKEpTQylcbiI7CiAgICAgICAgIHByaW50IEYgIiNpbmNs
dWRlIFwiSlMkaW50ZXJmYWNlTmFtZS5oXCJcbiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9t
LmNwcAppbmRleCA3ZWVjN2VmZDk5YmJkM2M3MjU3NzRjOTcxNTJhMWU1MTU4NDc2Mzg2Li40ODMw
YmIwY2IyNTBhNGE1ZTRhNjA0ZGYyZmM5Yjc3ZWYxNzgwYWVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNl
bnRlckN1c3RvbS5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgog
Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJWOE5vdGlmaWNhdGlvbkNl
bnRlci5oIgogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgpAQCAtMTA3LDQgKzEwNyw0IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1p
c3Npb25DYWxsYmFjayhjb25zdCB2ODo6CiAKIH0gIC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNl
bmRpZiAgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDYxOTU4NzM5MzgyNzBkMzZiNzY2NWRjOWRjZWQx
Yjk4MTVkYWVhNGYuLmM4ZDI3NmUxYjBiZTM5YjYxNTkwYmUzYmY1YTVjYzA4ZTkyNjdmMmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtMTgsNyArMTgsNyBA
QCBNZWRpYUNvbnRyb2xsZXIgY29uZGl0aW9uYWw9VklERU8KIE1lZGlhU3RyZWFtIGNvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTQogTWVzc2FnZVBvcnQKIE5vZGUKLU5vdGlmaWNhdGlvbiBjb25kaXRp
b25hbD1OT1RJRklDQVRJT05TCitOb3RpZmljYXRpb24gY29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9O
U3xMRUdBQ1lfTk9USUZJQ0FUSU9OUwogU2hhcmVkV29ya2VyIGNvbmRpdGlvbmFsPVNIQVJFRF9X
T1JLRVJTCiBTaGFyZWRXb3JrZXJDb250ZXh0IGNvbmRpdGlvbmFsPVNIQVJFRF9XT1JLRVJTCiBT
VkdFbGVtZW50SW5zdGFuY2UgY29uZGl0aW9uYWw9U1ZHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggNWRlMGU1MjdjNmEzMzM4NjU1ODE1OGFl
NDg5NDUzYmQwYTViZjlkNi4uNjAzZTBjZmZjMjJiYTk1ZmQ1N2Q5YWYxNmI4Zjg2N2U1ODNhZGI1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApA
QCAtMzEsNyArMzEsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uLmgiCiAKQEAgLTI2Miw0ICsy
NjIsNCBAQCB2b2lkIE5vdGlmaWNhdGlvbjo6ZGlzcGF0Y2hFcnJvckV2ZW50KCkKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5k
aWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGRk
MGQ2ZWQ4NGFkMzA3OWQ4OGJhMDJhMDJiY2FjYzZhNjQ1Y2IzOWQuLmI4ZjMzN2M5MTgwYjZmNDg3
MzgxNDJkYmRjNWFiMGRiMTY5MmEwY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaApAQCAtNDYsNyArNDYsNyBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBOb3RpZmljYXRp
b25DZW50ZXI7CkBAIC0xNjQsNiArMTY0LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogI2Vu
ZGlmIC8vIE5vdGlmaWNhdGlvbnNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uaWRsCmluZGV4IGQ4Y2IzY2MzOWEyNWU3MTc0M2U5Zjc1ZTllOGNmNGMxODBl
MjIxNjguLmU2ZGQyNWExZmE3NDJiZjM3NjEyMjE4NmMwNzQ0ZjU0MTFiOGMzY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKQEAgLTMyLDcgKzMy
LDcgQEAKIG1vZHVsZSB0aHJlYWRzIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRp
dGlvbmFsPU5PVElGSUNBVElPTlMsCisgICAgICAgIENvbmRpdGlvbmFsPU5PVElGSUNBVElPTlN8
TEVHQUNZX05PVElGSUNBVElPTlMsCiAgICAgICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICAgICAg
RXZlbnRUYXJnZXQsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGZmNjA0NDUz
MWExNTQyODIzMjRjMTU0ZTM1OWYyNWRiNGY3N2Q1YTMuLjJmMmQ3ZDZhN2NmMDI3OGQ3MzlhOThl
ODUwZDliYWJiMzQyMzlmN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogI2luY2x1ZGUgIk5v
dGlmaWNhdGlvbkNlbnRlci5oIgogCkBAIC04MCw0ICs4MCw0IEBAIHZvaWQgTm90aWZpY2F0aW9u
Q2VudGVyOjpkaXNjb25uZWN0RnJhbWUoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNl
bmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKaW5kZXggMmNjY2MwZGZjYzZh
NmI3YTYxZGMyOTI0YWRiNzU5YWE4YWNkZjU5NS4uMmNlZGFjODZlZTY2YWEzNjc1MGQ1ZTMwMDhh
MGFkN2MyNWRmZTEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNlbnRlci5oCkBAIC00MSw3ICs0MSw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTkwLDYgKzkwLDYgQEAgcHJpdmF0
ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNB
VElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKIAogI2VuZGlmIC8vIE5vdGlmaWNhdGlvbkNlbnRlcl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwKaW5k
ZXggOGJlMWVjYzc2OWZiYzVhNDM3Yjc2NGU5NmEwN2U0NzUxNzBhMzU2Ni4uN2IwZmMyNTU1N2Nj
NTBhM2I1NTc4YzMyYjgyMjQ1MDkxYzExYzI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbApAQCAtMzIsNyArMzIsNyBAQAog
bW9kdWxlIHRocmVhZHMgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9
Tk9USUZJQ0FUSU9OUywKKyAgICAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lf
Tk9USUZJQ0FUSU9OUywKICAgICAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgICAgICBPbWl0Q29u
c3RydWN0b3IKICAgICBdIE5vdGlmaWNhdGlvbkNlbnRlciB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmgKaW5kZXggMTE4NmMxYzc4
MjNmMmEwNTAyNDBiNzYwMDY1NTY5NTJiYTQyOTE3My4uNjhhZGQ1MDk5YjkzMzc0YjE5NTNlOTFl
OWU0NzU1OTA3NDYzZTc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25Db250ZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ29udGVudHMuaApAQCAtMzIsNyArMzIsNyBAQAogI2lmbmRlZiBOb3Rp
ZmljYXRpb25Db250ZW50c19oCiAjZGVmaW5lIE5vdGlmaWNhdGlvbkNvbnRlbnRzX2gKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC01NSw2ICs1NSw2IEBAIHB1YmxpYzoKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5k
aWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKIAogI2VuZGlmIC8vIE5vdGlmaWNhdGlvbkNvbnRlbnRzX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4
IGRmMjM1ZDNjNGIwYzkxYWRhZTJlNDVlZTMxOWM2Y2E2ZTE2NTAwMWYuLmU4ZWZiMDNlOWVlYTJi
NzkxMDlhMzFlNzkyZThjY2Y5MGZlYjQzMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcApAQCAtMjYsNyArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRyb2xs
ZXIuaCIKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJOb3RpZmlj
YXRpb25DbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtNzAsNCArNzAs
NCBAQCB2b2lkIHByb3ZpZGVOb3RpZmljYXRpb24oUGFnZSogcGFnZSwgTm90aWZpY2F0aW9uQ2xp
ZW50KiBjbGllbnQpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDdlOWQ1OTdlMzhhMTZkOTk4
M2E1YzY2MWY4ZDU2YzVmNTA5ZDQxNjMuLmExNTUyNjg3ZDBhNDE0NjZkNjdmNDI3NjcyZjAxM2Ey
MzY5YmI1NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ29udHJvbGxlci5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIE5vdGlmaWNh
dGlvbkNvbnRyb2xsZXJfaAogI2RlZmluZSBOb3RpZmljYXRpb25Db250cm9sbGVyX2gKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KQEAgLTU3LDYgKzU3LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAog
I2VuZGlmIC8vIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCmluZGV4IDJlNDc2MmY1ZmY2NTNmMzgyNTBmMWNmMzk3OWU5Njc5NzkxZGU2N2UuLmMxNDE2
NzM4ZDc2MDE5OTA0ZjNmYTEwNDRkYzYwNjYzMmIwNGI2N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKQEAgLTQxOCw3ICs0MTgsNyBAQCBET01XaW5kb3c6On5ET01XaW5kb3coKQogICAg
ICAgICBBU1NFUlQoIW1fc2Vzc2lvblN0b3JhZ2UpOwogICAgICAgICBBU1NFUlQoIW1fbG9jYWxT
dG9yYWdlKTsKICAgICAgICAgQVNTRVJUKCFtX2FwcGxpY2F0aW9uQ2FjaGUpOwotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIEFTU0VSVCghbV9ub3RpZmljYXRpb25zKTsKICNl
bmRpZgogI2lmIEVOQUJMRShCTE9CKQpAQCAtNDc4LDcgKzQ3OCw3IEBAIHZvaWQgRE9NV2luZG93
Ojp3aWxsRGV0YWNoUGFnZSgpCiB7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFt
ZVdpbmRvd0Rpc2NhcmRlZChtX2ZyYW1lLCB0aGlzKTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCiAgICAgLy8gQ2xlYXJpbmcgTm90aWZpY2F0aW9ucyByZXF1ZXN0cyBpbnZvbHZlcyBh
Y2Nlc3NpbmcgdGhlIGNsaWVudCBzbyBpdCBtdXN0IGJlIGRvbmUKICAgICAvLyBiZWZvcmUgdGhl
IGZyYW1lIGlzIGRldGFjaGVkLgogICAgIHJlc2V0Tm90aWZpY2F0aW9ucygpOwpAQCAtNTI4LDcg
KzUyOCw3IEBAIHZvaWQgRE9NV2luZG93OjpkaXNjb25uZWN0RE9NV2luZG93UHJvcGVydGllcygp
CiAgICAgZm9yIChIYXNoU2V0PERPTVdpbmRvd1Byb3BlcnR5Kj46Oml0ZXJhdG9yIGl0ID0gbV9w
cm9wZXJ0aWVzLmJlZ2luKCk7IGl0ICE9IHN0b3A7ICsraXQpCiAgICAgICAgICgqaXQpLT5kaXNj
b25uZWN0RnJhbWUoKTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLy8gRklY
TUU6IE5vdGlmaWNhdGlvbnMgc2hvdWxkbid0IGhhdmUgZGlmZmVyZW50IGRpc2Nvbm5lY3Rpb24g
bG9naWMgdGhhbgogICAgIC8vIHRoZSByZXN0IG9mIHRoZSBET01XaW5kb3dQcm9wZXJ0aWVzLgog
ICAgIC8vIFRoZXJlIGlzIGN1cnJlbnRseSBubyB3YXkgdG8gcmVjb25uZWN0IHRoZW0gaW4gcmVz
dW1lRnJvbVBhZ2VDYWNoZSgpIHNvCkBAIC01NzEsNyArNTcxLDcgQEAgdm9pZCBET01XaW5kb3c6
OmNsZWFyRE9NV2luZG93UHJvcGVydGllcygpCiAgICAgbV9zZXNzaW9uU3RvcmFnZSA9IDA7CiAg
ICAgbV9sb2NhbFN0b3JhZ2UgPSAwOwogICAgIG1fYXBwbGljYXRpb25DYWNoZSA9IDA7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAvLyBGSVhNRTogTm90aWZpY2F0aW9ucyBzaG91
bGRuJ3QgaGF2ZSBkaWZmZXJlbnQgZGlzY29ubmVjdGlvbiBsb2dpYyB0aGFuCiAgICAgLy8gdGhl
IHJlc3Qgb2YgdGhlIERPTVdpbmRvd1Byb3BlcnRpZXMuCiAgICAgcmVzZXROb3RpZmljYXRpb25z
KCk7CkBAIC03ODQsNyArNzg0LDcgQEAgU3RvcmFnZSogRE9NV2luZG93Ojpsb2NhbFN0b3JhZ2Uo
RXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAgcmV0dXJuIG1fbG9jYWxTdG9yYWdlLmdldCgp
OwogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIE5vdGlmaWNhdGlvbkNlbnRlciog
RE9NV2luZG93Ojp3ZWJraXROb3RpZmljYXRpb25zKCkgY29uc3QKIHsKICAgICBpZiAoIWlzQ3Vy
cmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggNjEz
NjI0ZjM3YzJhYTIxY2I2ZGVkMGRkZTk1OTVhMzVmYWExZWNmNy4uYmQ4MWI0OGY1NmVmMTgwYTlh
YWRiMDgwNTMxMWEwMjIwNDJjYjgwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0zNTYs
NyArMzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTdG9yYWdlKiBzZXNzaW9u
U3RvcmFnZShFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgICAgIFN0b3JhZ2UqIGxvY2FsU3Rv
cmFnZShFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogICAgICAgICBOb3RpZmljYXRpb25DZW50ZXIqIHdlYmtpdE5vdGlmaWNhdGlvbnMoKSBjb25z
dDsKICAgICAgICAgLy8gUmVuZGVycyB3ZWJraXROb3RpZmljYXRpb25zIG9iamVjdCBzYWZlbHkg
aW5vcGVyYWJsZSwgZGlzY29ubmVjdHMKICAgICAgICAgLy8gaWYgZnJvbSBlbWJlZGRlci1wcm92
aWRlZCBOb3RpZmljYXRpb25DbGllbnQuCkBAIC00NTAsNyArNDUwLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTdG9yYWdlPiBtX2xvY2FsU3RvcmFnZTsK
ICAgICAgICAgbXV0YWJsZSBSZWZQdHI8RE9NQXBwbGljYXRpb25DYWNoZT4gbV9hcHBsaWNhdGlv
bkNhY2hlOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAgbXV0YWJsZSBS
ZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBtX25vdGlmaWNhdGlvbnM7CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDE0MDg2YmYyMGU5ZTQ5NzZhYTg4MTIzYjg2MGMw
N2I0NTkzYTc5YWQuLmYyYjkwY2U1ODEwZmU5NjMwNzhlNTQ4MTJhMTgwOTBiZGU4MmM3MmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTE3MCw3ICsxNzAsNyBAQCBtb2R1bGUgd2lu
ZG93IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIFN0
b3JhZ2UgbG9jYWxTdG9yYWdlCiAgICAgICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiAKLSNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJ
Q0FUSU9OUworI2lmIChkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgfHwgKGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBb
VjhFbmFibGVkQXRSdW50aW1lXSBOb3RpZmljYXRpb25DZW50ZXIgd2Via2l0Tm90aWZpY2F0aW9u
czsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IGFkOWNhYjhlOWQxM2ExZjViYjc1
ODMxN2JiYzc5NjIzY2JlNmFjNDAuLmIzMTM2NDliZTJkN2VhZDJhMjYzNzEwYTAzZTM3ZDA4Y2Fk
NTBmMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC02ODcsNyArNjg3LDcgQEAgdm9pZCBGcmFt
ZTo6d2lsbERldGFjaFBhZ2UoKQogICAgIGlmIChGcmFtZSogcGFyZW50ID0gdHJlZSgpLT5wYXJl
bnQoKSkKICAgICAgICAgcGFyZW50LT5sb2FkZXIoKS0+Y2hlY2tMb2FkQ29tcGxldGUoKTsKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKG1fZG9tV2luZG93KQogICAgICAg
ICBtX2RvbVdpbmRvdy0+cmVzZXROb3RpZmljYXRpb25zKCk7CiAjZW5kaWYKQEAgLTczNyw3ICs3
MzcsNyBAQCB2b2lkIEZyYW1lOjp0cmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KCkKICAg
ICAgICAgfQogCiAgICAgICAgIGlmIChtX2RvbVdpbmRvdykgewotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgICAgICAgICBtX2RvbVdpbmRvdy0+cmVzZXROb3RpZmljYXRpb25zKCk7
CiAjZW5kaWYKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5j
cHAKaW5kZXggZGViYmViYTNmZTgwYTc4ZmE2MzNjY2IzYmYyNjFjZWQ2NmY2MWYwYS4uZmI0MmYz
MWE4NmRhMDIyZDE1ZDY3NWVmZWM1N2JhMDIwMDFjN2Y4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnRleHQuY3BwCkBAIC01OSw3ICs1OSw3IEBACiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCi0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNlbmRpZgogCkBA
IC0xMDQsNyArMTA0LDcgQEAgV29ya2VyQ29udGV4dDo6V29ya2VyQ29udGV4dChjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBXb3JrZXJUaHIKIFdvcmtlckNvbnRleHQ6
On5Xb3JrZXJDb250ZXh0KCkKIHsKICAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IHRocmVh
ZCgpLT50aHJlYWRJRCgpKTsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1fbm90
aWZpY2F0aW9ucy5jbGVhcigpOwogI2VuZGlmCiAKQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIFdv
cmtlckNvbnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VUeXBlCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVz
c2FnZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VV
UkwsIGxpbmVOdW1iZXIpOwogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIE5vdGlm
aWNhdGlvbkNlbnRlciogV29ya2VyQ29udGV4dDo6d2Via2l0Tm90aWZpY2F0aW9ucygpIGNvbnN0
CiB7CiAgICAgaWYgKCFtX25vdGlmaWNhdGlvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dC5oCmluZGV4IGYwNDVhNDgxOWE2NTk0ZDI5NTYyYTAwODA3Yjg2MDJlMmMwMTJiYTAu
LmI1ZDI2MGVlMjA0ODU0ZWNiM2EwNjNhOTZiOWRkYmM4MTY2NmY0YTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xMDUsNyArMTA1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAvLyBTY3JpcHRFeGVjdXRpb25Db250ZXh0CiAgICAgICAgIHZpcnR1
YWwgV29ya2VyRXZlbnRRdWV1ZSogZXZlbnRRdWV1ZSgpIGNvbnN0OwogCi0jaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKICAgICAgICAgTm90aWZpY2F0aW9uQ2VudGVyKiB3ZWJraXROb3RpZmlj
YXRpb25zKCkgY29uc3Q7CiAjZW5kaWYKIApAQCAtMTcyLDcgKzE3Miw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgT3duUHRyPFdvcmtlclNjcmlwdENvbnRyb2xsZXI+IG1fc2NyaXB0
OwogICAgICAgICBXb3JrZXJUaHJlYWQqIG1fdGhyZWFkOwogCi0jaWYgRU5BQkxFX05PVElGSUNB
VElPTlMKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogICAgICAgICBtdXRhYmxlIFJlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IG1fbm90
aWZpY2F0aW9uczsKICNlbmRpZgogI2lmIEVOQUJMRShCTE9CKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dC5pZGwKaW5kZXggOTMwYzJkMGFkOGZlNzUxZTQ3NTg2OGEzNjA3MDI5
MzVkZjIwZmY3NS4uZjg4Yjk0OGY5MjA0NTg4ZmE1MjU0MGMwMDQxNmRlMGJlMTdlNzlkYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCkBAIC03MCw3ICs3MCw3IEBA
IG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgYm9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50
IGV2dCkKICAgICAgICAgICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CiAKLSNpZiBkZWZpbmVk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUworI2lmIChkZWZp
bmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUykgfHwgKGRl
ZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgICAgIC8vIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2UKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIE5vdGlmaWNhdGlvbkNlbnRlciB3
ZWJraXROb3RpZmljYXRpb25zOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5jcHAKaW5kZXggZDJlMjNhODdkY2JjNzYxZDJmMjlmODA0YzIzMjZmODE0YzI1YWY0NS4u
ZGE1MWMyZGJhOGMzMWM1NjBmOWQ2MzFkOWMxZWM0OTI3ZGMyMmYyZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtOTYsNyArOTYsNyBAQCBXb3JrZXJUaHJlYWQ6
OldvcmtlclRocmVhZChjb25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBjb25zdAogICAgICwgbV93b3JrZXJMb2FkZXJQcm94eSh3b3JrZXJMb2FkZXJQcm94eSkK
ICAgICAsIG1fd29ya2VyUmVwb3J0aW5nUHJveHkod29ya2VyUmVwb3J0aW5nUHJveHkpCiAgICAg
LCBtX3N0YXJ0dXBEYXRhKFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpjcmVhdGUoc2NyaXB0VVJM
LCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKSkKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogICAgICwgbV9ub3RpZmljYXRpb25DbGllbnQoMCkKICNlbmRpZgogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggY2JlNWE3MTc4ZDQwZDJhMmIyODhjOGMxOWE3ZGVh
ZjhlZWRiZmU0Yi4uNjBjNTlkMzc4M2EyODdjNTIxNmY0OGI2ZTA5NTMxMTk3MmViYmUyZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC02Miw3ICs2Miw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gTnVtYmVyIG9mIGFjdGl2ZSB3b3JrZXIgdGhyZWFk
cy4KICAgICAgICAgc3RhdGljIHVuc2lnbmVkIHdvcmtlclRocmVhZENvdW50KCk7CiAKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmljYXRpb25DbGllbnQqIGdldE5v
dGlmaWNhdGlvbkNsaWVudCgpIHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uQ2xpZW50OyB9CiAgICAg
ICAgIHZvaWQgc2V0Tm90aWZpY2F0aW9uQ2xpZW50KE5vdGlmaWNhdGlvbkNsaWVudCogY2xpZW50
KSB7IG1fbm90aWZpY2F0aW9uQ2xpZW50ID0gY2xpZW50OyB9CiAjZW5kaWYKQEAgLTkzLDcgKzkz
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIE93blB0cjxXb3JrZXJUaHJlYWRT
dGFydHVwRGF0YT4gbV9zdGFydHVwRGF0YTsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiAgICAgICAgIE5vdGlmaWNhdGlvbkNsaWVudCogbV9ub3RpZmljYXRpb25DbGllbnQ7CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKaW5kZXggZDQzNGU4
MzYzYTExYTc0NWUzMTE5Yjk2MDZlMzA2MTFmMzRlMzY3Ny4uODQ3NjI0NWE0MmVlYmE4ZDMxNDVm
ZjZiMzdlYTA4Yzk2M2M4NDQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBh
Z2UuY3BwCkBAIC03MSw3ICs3MSw3IEBACiAjaW5jbHVkZSAiTGF5ZXJXZWJLaXRUaHJlYWQuaCIK
ICNpbmNsdWRlICJOZXR3b3JrTWFuYWdlci5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5o
IgotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUHJl
c2VudGVySW1wbC5oIgogI2VuZGlmCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtNDI4LDcgKzQyOCw3
IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmluaXQoY29uc3QgV2ViU3RyaW5nJiBwYWdlR3JvdXBO
YW1lKQogICAgIHBhZ2VDbGllbnRzLmRldmljZU9yaWVudGF0aW9uQ2xpZW50ID0gbmV3IERldmlj
ZU9yaWVudGF0aW9uQ2xpZW50QmxhY2tCZXJyeSh0aGlzKTsKICAgICBtX3BhZ2UgPSBuZXcgUGFn
ZShwYWdlQ2xpZW50cyk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYkNv
cmU6OnByb3ZpZGVOb3RpZmljYXRpb24obV9wYWdlLCBOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBs
OjppbnN0YW5jZSgpKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVy
SW1wbC5jcHAKaW5kZXggMTZjNDUxZWMzNjRmNGNmNDU4MTY4OTkzNDZmMzA3YTA0YTg4MjRiOS4u
NDU3MGY2Yjc4Y2UzMzg5ZmM1MDI5NjQ3YmQzNjRhZmIwNDRjYzQzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRl
ckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9O
b3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcApAQCAtMTksNyArMTksNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCIKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVkZSA8RXZlbnQuaD4KICNpbmNsdWRlIDxO
b3RpZmljYXRpb24uaD4KICNpbmNsdWRlIDxOb3RpZmljYXRpb25QcmVzZW50ZXJCbGFja0JlcnJ5
Lmg+CkBAIC0xNTUsNCArMTU1LDQgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBsOjpu
b3RpZmljYXRpb25DbGlja2VkKGNvbnN0IHN0ZDo6c3RyaW5nJiBpZCkKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNh
dGlvblByZXNlbnRlckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKaW5kZXggYjcwOGUwMDJlOTgxNmU4YWUy
ZWU4Nzk3MzU5OTEwZjEyMTYwYjIzYy4uMjVlOTE2YTkwYmM5M2RiYWYyMzhhYjBmNmEzMzRmMTAx
YzQ1YzhlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oCkBAIC0xOSw3
ICsxOSw3IEBACiAjaWZuZGVmIE5vdGlmaWNhdGlvblByZXNlbnRlckltcGxfaAogI2RlZmluZSBO
b3RpZmljYXRpb25QcmVzZW50ZXJJbXBsX2gKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiAjaW5jbHVkZSA8Tm90aWZpY2F0aW9uQWNrTGlzdGVuZXIuaD4KICNpbmNsdWRlIDxOb3RpZmlj
YXRpb25DbGllbnQuaD4KICNpbmNsdWRlIDxOb3RpZmljYXRpb25QcmVzZW50ZXJCbGFja0JlcnJ5
Lmg+CkBAIC04MSw1ICs4MSw1IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
Ci0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNlbmRpZiAvLyBOb3Rp
ZmljYXRpb25QcmVzZW50ZXJJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggYWM2ZmEwNDQ3MWFmZGJiOTM1YzZjM2U1
MTJiMzkwYmE3Y2UwYWVmZC4uNmE1NDIwOGZmODg5MmFjZmFiZjI2OGRmZDgxMWY0MTg5MDA5ZGRh
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHAKQEAgLTM5Myw3ICszOTMsNyBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYlZpZGVvRnJhbWU6OkZvcm1hdEVtcHR5LCBWaWRlb0ZyYW1lQ2hyb21pdW06OkVtcAogQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWRlb0ZyYW1lOjpGb3JtYXRBU0NJSSwgVmlk
ZW9GcmFtZUNocm9taXVtOjpBU0NJSSk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk5vdGlmaWNhdGlvblByZXNl
bnRlcjo6UGVybWlzc2lvbkFsbG93ZWQsIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFs
bG93ZWQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJOb3RpZmljYXRpb25QcmVz
ZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkLCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Np
b25Ob3RBbGxvd2VkKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTm90aWZpY2F0
aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uRGVuaWVkLCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1p
c3Npb25EZW5pZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90
aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9O
b3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcAppbmRleCA5OWE3ZWEzNzhjMDcxOTM5Y2Y2NDZl
NWYxN2Y4NTkyNzlmZTU4YjcwLi42ODNlNjZmYWE1YjY4MGRmNTU0MTJkNWFlN2RhZWYyZjZkNjNh
NmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25Q
cmVzZW50ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmlj
YXRpb25QcmVzZW50ZXJJbXBsLmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCIKIAotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm90aWZp
Y2F0aW9uLmgiCkBAIC0xMTEsNCArMTExLDQgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJJ
bXBsOjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXgKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0
aW9uUHJlc2VudGVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0
aW9uUHJlc2VudGVySW1wbC5oCmluZGV4IGNhZDViODgwMTM5YTA4OWQxOTkwZDkzNmY0NGMzMDNm
OWE1YjQ5MWIuLmM0M2UxZDYwZDI0ZjM0NWM5M2U4NWU3MmM0MWJkNDFlODI0YjQ5OWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlcklt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50
ZXJJbXBsLmgKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNjYsNiArNjYsNiBAQCBwcml2YXRlOgogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2Vu
ZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Tm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vdGlmaWNh
dGlvbi5jcHAKaW5kZXggODQ5ZGM0ZjY3NGE0MWFmMTBmYWY5ZDI4ODJhMjYwODk4MGYxMGY5YS4u
N2E2M2I1OWQ1MTVlNTU0NjczMzY4ZTViZGUwMDY1MDQ2MjNiYjhlMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwCkBAIC0zMSw3ICszMSw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCiAKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRl
ICJOb3RpZmljYXRpb24uaCIKQEAgLTE3NCw0ICsxNzQsNCBAQCB2b2lkIFdlYk5vdGlmaWNhdGlv
bjo6YXNzaWduKFdlYk5vdGlmaWNhdGlvblByaXZhdGUqIHApCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCmluZGV4IGQy
OTdhODI4Y2M2MTVmMjY3MTNhMDRjMmEyZjI0Y2Q0ODljZWZlYWUuLjgwYTJiZGIxMzBkNWUyZGJk
MmE4OGQxZTBkZDczNTczZjVmNjUxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcApAQCAtMTE2LDE0ICsxMTYsMTQgQEAgYm9vbCBX
ZWJSdW50aW1lRmVhdHVyZXM6OmlzU29ja2V0c0VuYWJsZWQoKQogCiB2b2lkIFdlYlJ1bnRpbWVG
ZWF0dXJlczo6ZW5hYmxlTm90aWZpY2F0aW9ucyhib29sIGVuYWJsZSkKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYmtpdE5v
dGlmaWNhdGlvbnNFbmFibGVkKGVuYWJsZSk7CiAjZW5kaWYKIH0KIAogYm9vbCBXZWJSdW50aW1l
RmVhdHVyZXM6OmlzTm90aWZpY2F0aW9uc0VuYWJsZWQoKQogewotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OndlYmtpdE5vdGlm
aWNhdGlvbnNFbmFibGVkKCk7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAyMGUyZTRlZjMxM2NmNzMyNWYy
NTJiODQ2NTFmODYwNjg0OWFiYWEzLi4wNmFjNjc5YjYwNTUwYTg5NzBmZGY1OTlmNGFhNTQxNDQ1
ZDZlNTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBA
IC0zODksNyArMzg5LDcgQEAgV2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQq
IGNsaWVudCkKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogICAgIHByb3ZpZGVTcGVlY2hJbnB1
dFRvKG1fcGFnZS5nZXQoKSwgbV9zcGVlY2hJbnB1dENsaWVudC5nZXQoKSk7CiAjZW5kaWYKLSNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHByb3ZpZGVOb3RpZmljYXRpb24obV9wYWdl
LmdldCgpLCBub3RpZmljYXRpb25QcmVzZW50ZXJJbXBsKCkpOwogI2VuZGlmCiAKQEAgLTI5NTIs
NyArMjk1Miw3IEBAIHZvaWQgV2ViVmlld0ltcGw6OnNldE92ZXJsYXlMYXllcihXZWJDb3JlOjpH
cmFwaGljc0xheWVyKiBsYXllcikKICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbCogV2ViVmlld0ltcGw6Om5vdGlmaWNhdGlv
blByZXNlbnRlckltcGwoKQogewogICAgIGlmICghbV9ub3RpZmljYXRpb25QcmVzZW50ZXIuaXNJ
bml0aWFsaXplZCgpICYmIG1fY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmgKaW5kZXggMzgxOWVjYjY1NTQxZTFkNTNkYTA4NjgxZDI2NjA4YmRjMzY1ZWE1Yi4u
ZDM4ZWU1ZGE2MzM1NDk4NjkyZjRlZjRmMzRlZWNmOGVjNzE2MzBjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC00MTUsNyArNDE1LDcgQEAgcHVibGljOgog
ICAgICAgICBtX2F1dG9maWxsUG9wdXBTaG93aW5nID0gZmFsc2U7CiAgICAgfQogCi0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAvLyBSZXR1cm5zIHRoZSBwcm92aWRlciBvZiBkZXNr
dG9wIG5vdGlmaWNhdGlvbnMuCiAgICAgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbCogbm90aWZp
Y2F0aW9uUHJlc2VudGVySW1wbCgpOwogI2VuZGlmCkBAIC02ODEsNyArNjgxLDcgQEAgcHJpdmF0
ZToKICAgICBPd25QdHI8U2V0dGluZ3NNYXA+IG1faW5zcGVjdG9yU2V0dGluZ3NNYXA7CiAgICAg
T3duUHRyPERyYWdTY3JvbGxUaW1lcj4gbV9kcmFnU2Nyb2xsVGltZXI7CiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogICAgIC8vIFRoZSBwcm92aWRlciBvZiBkZXNrdG9wIG5vdGlmaWNh
dGlvbnM7CiAgICAgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbCBtX25vdGlmaWNhdGlvblByZXNl
bnRlcjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5jcHAKaW5kZXggMGIwMDM3NDE3MmRkOTRlZjI5NTJiYWRhODljMWRk
N2QwNGFkODRkZS4uZGQ3OWI5M2ExYTQ1ZjA5ZDY2OGI5NzRkNzIwYzA1ODVkNzM0Yjg3OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZs
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRF
ZmwuY3BwCkBAIC01NSw3ICs1NSw3IEBACiAjaW5jbHVkZSA8RXZhcy5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVk
ZSAiTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50RWZsLmgiCiAjZW5kaWYKIApAQCAtNDE3LDcg
KzQxNyw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJh
bWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiBOb3RpZmljYXRpb25DbGllbnQqIENocm9tZUNsaWVudEVmbDo6
bm90aWZpY2F0aW9uUHJlc2VudGVyKCkgY29uc3QKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
aAppbmRleCAyNWRkMzVmNzBkNDVkODIwYWIwYTYyNDc0NmU3OGRiZjZiMjBjYTk1Li45Y2U5ZDY4
ZGY3ZGVkYzY2YjE2ZWJiZjNmZDBjM2IzMzY4NjI5MjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAtMjgsNyArMjgsNyBA
QAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJQb3B1cE1lbnUuaCIKIAotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAjZW5k
aWYKIApAQCAtMTE0LDcgKzExNCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZXhjZWVk
ZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwgY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUo
TEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25D
bGllbnQqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0OwogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmlj
YXRpb25QcmVzZW50ZXJDbGllbnRFZmwuY3BwCmluZGV4IGJhNDY2ZjVjNGYwM2FmNmRjM2MzNTk1
MmExZDJlNGU1MGVkYjRlMTguLmUzMzczNTEzNGZjNjkzMWZkNDczNDMyYzlhYWE3MGRhODUwMWFm
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlmaWNh
dGlvblByZXNlbnRlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50RWZsLmNwcApAQCAtMjAsNyArMjAs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudEVmbC5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRF
ZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNl
bnRlckNsaWVudEVmbC5oCmluZGV4IDI2MGM0NDJlZDU3NTRkNzU3Y2FjZTUyZmU4NTQ0YmFmMzUx
MjdjMzcuLjU1MTc0ZTcwNzQ3YjA3NTRhNzQ5MWQ1ZTcwNGJiMzNkN2NjNjBjMzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L05vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudEVmbC5oCkBAIC0yMCw3ICsyMCw3IEBACiAjaWZuZGVmIE5v
dGlmaWNhdGlvblByZXNlbnRlckNsaWVudEVmbF9oCiAjZGVmaW5lIE5vdGlmaWNhdGlvblByZXNl
bnRlckNsaWVudEVmbF9oCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2luY2x1ZGUg
Ik5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlci5oIgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5oCmluZGV4IGQ2OGQ5MjI3NTkyOGU2ZWIwN2NmZTgyYzhhOWFiMDZiYTE0YjA1
NDUuLjVkZmEwNDZkZmRmZjU0M2MxZTIwOTQyOGQzOGI4YzhkNDdiZjMyMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNs
aWVudC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbXBvcnQgPFdlYkNvcmUvTm90aWZpY2F0aW9u
Q2xpZW50Lmg+CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2ltcG9ydCA8V2ViQ29y
ZS9Ob3RpZmljYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYv
UmVmUHRyLmg+CkBAIC01Nyw3ICs1Nyw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBXZWJDb3Jl
OjpOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSBPVkVSUklERTsKIAogICAgIFdlYlZpZXcgKm1fd2Vi
VmlldzsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEhhc2hNYXA8UmVmUHRyPFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbj4sIFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+ID4gbV9ub3Rp
ZmljYXRpb25NYXA7CiAgICAgCiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0PiwgVmVjdG9yPFJldGFpblB0cjxXZWJOb3RpZmljYXRpb24+
ID4gPiBOb3RpZmljYXRpb25Db250ZXh0TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50Lm1tCmluZGV4IDNmZGYw
YmM3ZjM2MjJlZWFiNGIxMzJiOGIzOTk2MTQwYzNmZjgxNGUuLmIwZmZkZmQ4Zjg1MjhjYjU2YTM3
OGU5Y2FjN2U0OTJmN2I5OWFmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQubW0KQEAgLTI1LDcgKzI1LDcg
QEAKIAogI2ltcG9ydCAiV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgiCiAKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogI2ltcG9ydCAiV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlvbkNhY2hpbmcu
aCIKICNpbXBvcnQgIldlYk5vdGlmaWNhdGlvbkludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaCIKQEAgLTM5LDcgKzM5LDcgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQGludGVyZmFjZSBXZWJOb3Rp
ZmljYXRpb25Qb2xpY3lMaXN0ZW5lciA6IE5TT2JqZWN0IDxXZWJBbGxvd0RlbnlQb2xpY3lMaXN0
ZW5lcj4KIHsKICAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBfY2FsbGJhY2s7CkBAIC00OCw3ICs0
OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogQGVuZAogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlTm90aWZpY2F0aW9u
SUQoKQogewogICAgIHN0YXRpYyB1aW50NjRfdCB1bmlxdWVOb3RpZmljYXRpb25JRCA9IDE7CkBA
IC02Myw3ICs2Myw3IEBAIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6V2ViTm90aWZpY2F0aW9uQ2xp
ZW50KFdlYlZpZXcgKndlYlZpZXcpCiAKIGJvb2wgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpzaG93
KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAgICAgaWYgKCFbbV93ZWJWaWV3IF9ub3RpZmljYXRpb25Qcm92aWRlcl0pCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIApAQCAtODQsNyArODQsNyBAQCBib29sIFdlYk5vdGlmaWNhdGlvbkNs
aWVudDo6c2hvdyhOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIAogdm9pZCBXZWJOb3RpZmlj
YXRpb25DbGllbnQ6OmNhbmNlbChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsKLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYk5vdGlmaWNhdGlvbiAqd2ViTm90aWZpY2F0
aW9uID0gbV9ub3RpZmljYXRpb25NYXAuZ2V0KG5vdGlmaWNhdGlvbikuZ2V0KCk7CiAgICAgaWYg
KCF3ZWJOb3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybjsKQEAgLTk3LDcgKzk3LDcgQEAgdm9p
ZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNhbmNlbChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlv
bikKIAogdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNsZWFyTm90aWZpY2F0aW9ucyhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCiAgICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNh
dGlvbkNvbnRleHRNYXAuZmluZChjb250ZXh0KTsKICAgICBpZiAoaXQgPT0gbV9ub3RpZmljYXRp
b25Db250ZXh0TWFwLmVuZCgpKQogICAgICAgICByZXR1cm47CkBAIC0xMjAsNyArMTIwLDcgQEAg
dm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNsZWFyTm90aWZpY2F0aW9ucyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0KQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90
aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgUmV0YWluUHRyPFdlYk5vdGlmaWNhdGlv
bj4gd2ViTm90aWZpY2F0aW9uID0gbV9ub3RpZmljYXRpb25NYXAudGFrZShub3RpZmljYXRpb24p
OwogICAgIGlmICghd2ViTm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm47CkBAIC0xNDEsNyAr
MTQxLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25DbGllbnQ6Om5vdGlmaWNhdGlvbk9iamVjdERl
c3Ryb3llZChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25D
bGllbnQ6Om5vdGlmaWNhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgW21fd2ViVmlldyBfbm90aWZpY2F0aW9uQ29udHJvbGxlckRl
c3Ryb3llZF07CiAjZW5kaWYKICAgICBkZWxldGUgdGhpczsKQEAgLTE0OSw3ICsxNDksNyBAQCB2
b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6bm90aWZpY2F0aW9uQ29udHJvbGxlckRlc3Ryb3ll
ZCgpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpyZXF1ZXN0UGVybWlzc2lvbihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2Fs
bGJhY2spCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBCRUdJTl9CTE9DS19P
QkpDX0VYQ0VQVElPTlM7CiAgICAgCiAgICAgU0VMIHNlbGVjdG9yID0gQHNlbGVjdG9yKHdlYlZp
ZXc6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUmVxdWVzdEZyb21PcmlnaW46bGlzdGVuZXI6
KTsKQEAgLTE3Myw3ICsxNzMsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6cmVxdWVz
dFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUAogCiBOb3RpZmlj
YXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1p
c3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+aXNEb2N1bWVudCgp
KQogICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOwog
ICAgIGlmICghW1ttX3dlYlZpZXcgcHJlZmVyZW5jZXNdIG5vdGlmaWNhdGlvbnNFbmFibGVkXSkK
QEAgLTE5Nyw3ICsxOTcsNyBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90
aWZpY2F0aW9uQ2xpZW50OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlYwogI2VuZGlmCiB9CiAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlmaWNh
dGlvblBvbGljeUxpc3RlbmVyCiAtIChpZClpbml0V2l0aENhbGxiYWNrOihQYXNzUmVmUHRyPFZv
aWRDYWxsYmFjaz4pY2FsbGJhY2sKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJO
b3RpZmljYXRpb24ubW0KaW5kZXggNTU3MzMyY2JhMWIwODI5OWMzMzRlMWEyNTI2ODY0M2Q2MDE0
ZWUwNi4uODgyNTUyYjUyYzUzMzE0NDBhY2NmMTllMGEwOGRmNGQwMWRlOGJlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0KKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0KQEAgLTMwLDcgKzMwLDcg
QEAKIAogI2ltcG9ydCAiV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaCIKIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAjaW1wb3J0ICJXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmgiCiAj
aW1wb3J0IDxXZWJDb3JlL05vdGlmaWNhdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0Lmg+CkBAIC00NCw3ICs0NCw3IEBAIE9CSkNfQ0xBU1MgV2ViTm90aWZp
Y2F0aW9uSW50ZXJuYWw7CiBAaW50ZXJmYWNlIFdlYk5vdGlmaWNhdGlvblByaXZhdGUgOiBOU09i
amVjdAogewogQHB1YmxpYwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgUmVmUHRy
PE5vdGlmaWNhdGlvbj4gX2ludGVybmFsOwogICAgIHVpbnQ2NF90IF9ub3RpZmljYXRpb25JRDsK
ICNlbmRpZgpAQCAtNTQsNyArNTQsNyBAQCBPQkpDX0NMQVNTIFdlYk5vdGlmaWNhdGlvbkludGVy
bmFsOwogQGltcGxlbWVudGF0aW9uIFdlYk5vdGlmaWNhdGlvblByaXZhdGUKIEBlbmQKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiBAaW1wbGVtZW50YXRpb24gV2ViTm90aWZpY2F0aW9u
IChXZWJOb3RpZmljYXRpb25JbnRlcm5hbCkKIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmlj
YXRpb24gKm5vdGlmaWNhdGlvbikKIHsKQEAgLTgzLDcgKzgzLDcgQEAgTm90aWZpY2F0aW9uKiBj
b3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtIChOU1N0cmluZyAqKXRpdGxl
CiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBBU1NFUlQoY29yZShzZWxmKSk7
CiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPmNvbnRlbnRzKCkudGl0bGU7CiAjZWxzZQpAQCAtOTMs
NyArOTMsNyBAQCBOb3RpZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRp
b24pCiAKIC0gKE5TU3RyaW5nICopYm9keQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwogICAgIHJldHVybiBjb3JlKHNlbGYpLT5jb250ZW50
cygpLmJvZHk7CiAjZWxzZQpAQCAtMTAzLDcgKzEwMyw3IEBAIE5vdGlmaWNhdGlvbiogY29yZShX
ZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIAogLSAoTlNTdHJpbmcgKilyZXBsYWNlSUQK
IHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIEFTU0VSVChjb3JlKHNlbGYpKTsK
ICAgICByZXR1cm4gY29yZShzZWxmKS0+cmVwbGFjZUlkKCk7CiAjZWxzZQpAQCAtMTEzLDcgKzEx
Myw3IEBAIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikK
IAogLSAoV2ViU2VjdXJpdHlPcmlnaW4gKilvcmlnaW4KIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogICAgIEFTU0VSVChjb3JlKHNlbGYpKTsKICAgICByZXR1cm4gW1tbV2ViU2VjdXJp
dHlPcmlnaW4gYWxsb2NdIF9pbml0V2l0aFdlYkNvcmVTZWN1cml0eU9yaWdpbjpjb3JlKHNlbGYp
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCldIGF1dG9yZWxlYXNl
XTsKICNlbHNlCkBAIC0xMjMsNyArMTIzLDcgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdlYk5vdGlm
aWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtICh1aW50NjRfdClub3RpZmljYXRpb25JRAogewot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwogICAg
IHJldHVybiBfcHJpdmF0ZS0+X25vdGlmaWNhdGlvbklEOwogI2Vsc2UKQEAgLTEzMyw3ICsxMzMs
NyBAQCBOb3RpZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiAK
IC0gKHZvaWQpZGlzcGF0Y2hTaG93RXZlbnQKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogICAgIEFTU0VSVChjb3JlKHNlbGYpKTsKICAgICBjb3JlKHNlbGYpLT5kaXNwYXRjaFNob3dF
dmVudCgpOwogI2VuZGlmCkBAIC0xNDEsNyArMTQxLDcgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdl
Yk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtICh2b2lkKWRpc3BhdGNoQ2xvc2VFdmVu
dAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikp
OwogICAgIGNvcmUoc2VsZiktPmRpc3BhdGNoQ2xvc2VFdmVudCgpOwogI2VuZGlmCkBAIC0xNDks
NyArMTQ5LDcgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0
aW9uKQogCiAtICh2b2lkKWRpc3BhdGNoQ2xpY2tFdmVudAogewotI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElG
SUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwogICAgIGNvcmUoc2VsZiktPmRpc3Bh
dGNoQ2xpY2tFdmVudCgpOwogI2VuZGlmCkBAIC0xNTcsNyArMTU3LDcgQEAgTm90aWZpY2F0aW9u
KiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogCiAtICh2b2lkKWRpc3BhdGNo
RXJyb3JFdmVudAogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNv
cmUoc2VsZikpOwogICAgIGNvcmUoc2VsZiktPmRpc3BhdGNoRXJyb3JFdmVudCgpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbklu
dGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbkludGVy
bmFsLmgKaW5kZXggYjYyNDA2OWQ5ZWNhZjZjY2IwYmExZGJjOTRmMjA1MjA1OGQ5ZTlhZC4uM2Y2
ZjU2MjZjMmE0ZjRiNDM4NTU0ZjYwZTc5OTZkMzAyYTAxNjFmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb25JbnRlcm5hbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uSW50ZXJuYWwuaApAQCAtMjgsNyAr
MjgsNyBAQAogCiAjaW1wb3J0ICJXZWJOb3RpZmljYXRpb24uaCIKIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlvbjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAwNWZjNTg2OTRjODM3NTZiZjFl
MTk1NzAwMTJkZDlkZDMzMjkzYmQ2Li5jMjMwZTAwYzM5NzUyMDRmN2Y1YmFjNDkyMjkzYzViYWFk
N2YyNGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
KysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC03NDAsNyArNzQw
LDcgQEAgc3RhdGljIE5TU3RyaW5nICpsZWFrT3V0bG9va1F1aXJrc1VzZXJTY3JpcHRDb250ZW50
cygpCiAgICAgcGFnZUNsaWVudHMuZ2VvbG9jYXRpb25DbGllbnQgPSBuZXcgV2ViR2VvbG9jYXRp
b25DbGllbnQoc2VsZik7CiAjZW5kaWYKICAgICBfcHJpdmF0ZS0+cGFnZSA9IG5ldyBQYWdlKHBh
Z2VDbGllbnRzKTsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYkNvcmU6OnBy
b3ZpZGVOb3RpZmljYXRpb24oX3ByaXZhdGUtPnBhZ2UsIG5ldyBXZWJOb3RpZmljYXRpb25DbGll
bnQoc2VsZikpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAzY2ZiOWIxY2M1ZTUyNzU5ZWZjZjQ4ZTg5NGEwMjE5
NDcxOWVlMjQ1Li42NTI1ZjZkZDUwNzFjMzRhOTIzODEwMGQ0OTQzMzdjNTQ3MjM1ZmE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0zMzgsNyArMzM4LDcgQEAgUVdlYlBhZ2VQcml2
YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZ2UgKnFxKQogICAgICAgICBXZWJDb3JlOjpwcm92
aWRlRGV2aWNlT3JpZW50YXRpb25UbyhwYWdlLCBuZXcgRGV2aWNlT3JpZW50YXRpb25DbGllbnRR
dCk7CiAgICAgV2ViQ29yZTo6cHJvdmlkZURldmljZU1vdGlvblRvKHBhZ2UsIG5ldyBEZXZpY2VN
b3Rpb25DbGllbnRRdCk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAg
IFdlYkNvcmU6OnByb3ZpZGVOb3RpZmljYXRpb24ocGFnZSwgTm90aWZpY2F0aW9uUHJlc2VudGVy
Q2xpZW50UXQ6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpKTsKICNlbmRpZgogCkBAIC0zNjEsNyAr
MzYxLDcgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZ2UgKnFxKQog
CiAgICAgUGFnZUdyb3VwOjpzZXRTaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyh0cnVlKTsKICAgICAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgICAgCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb25QcmVzZW50
ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPmFkZENsaWVudCgpOwogI2VuZGlm
CiB9CkBAIC0zODUsNyArMzg1LDcgQEAgUVdlYlBhZ2VQcml2YXRlOjp+UVdlYlBhZ2VQcml2YXRl
KCkKICAgICBpZiAoaW5zcGVjdG9yKQogICAgICAgICBpbnNwZWN0b3ItPnNldFBhZ2UoMCk7CiAK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlckNs
aWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+cmVtb3ZlQ2xpZW50KCk7CiAjZW5kaWYK
IH0KQEAgLTIxNDcsNyArMjE0Nyw3IEBAIHZvaWQgUVdlYlBhZ2U6OnNldEZlYXR1cmVQZXJtaXNz
aW9uKFFXZWJGcmFtZSogZnJhbWUsIEZlYXR1cmUgZmVhdHVyZSwgUGVybWlzc2lvCiB7CiAgICAg
c3dpdGNoIChmZWF0dXJlKSB7CiAgICAgY2FzZSBOb3RpZmljYXRpb25zOgotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgICAgIGlmIChwb2xpY3kgPT0gUGVybWlzc2lvbkdyYW50ZWRC
eVVzZXIpCiAgICAgICAgICAgICBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZp
Y2F0aW9uUHJlc2VudGVyKCktPmFsbG93Tm90aWZpY2F0aW9uRm9yRnJhbWUoZnJhbWUtPmQtPmZy
YW1lKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAppbmRleCAwYjE4MDgyNGE5ZjBhNjgy
M2Q5MmY1NWU1NjFjNDc5MTk0MDAyZDJiLi40NzQ2YTcwOWU5MzdjMTgyZWYzYmU0MzJlZTgxOGMz
ZmUwNmE2OGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcApAQCAtNzkwLDcgKzc5MCw3IEBAIHZv
aWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBTZXRBY2NlcHRzRWRpdGluZyhib29sIGIp
CiAKIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBOb3RpZmljYXRpb24oYm9vbCBi
KQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQ6OmR1bXBOb3RpZmljYXRpb24gPSBiOwogI2VuZGlmCiB9CkBAIC05ODcsNyAr
OTg3LDcgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6YWRkVXNlclN0eWxlU2hlZXQo
UVdlYlBhZ2UqIHBhZ2UsIGNvbnN0IFFTdHJpbmcmIHMKIAogdm9pZCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdDo6c2ltdWxhdGVEZXNrdG9wTm90aWZpY2F0aW9uQ2xpY2soY29uc3QgUVN0cmluZyYg
dGl0bGUpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPm5vdGlmaWNhdGlvbkNs
aWNrZWQodGl0bGUpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3Bw
CmluZGV4IDAwMDUyMTg0YTlmZjg3MTUxMGUzZDgwMWUxZGEwYTg3YWM5YWRlNjMuLjBjNWVhMTYz
YjYwMDRiZTIxOTM1MTJlNTAzNTlmNWExMWE1OWZhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVy
Q2xpZW50UXQuY3BwCkBAIC00OCw3ICs0OCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKIGNvbnN0IGRvdWJsZSBub3RpZmljYXRpb25U
aW1lb3V0ID0gMTAuMDsKIApAQCAtNzAsNyArNzAsNyBAQCBOb3RpZmljYXRpb25QcmVzZW50ZXJD
bGllbnRRdCogTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlvblByZXNl
bgogTm90aWZpY2F0aW9uV3JhcHBlcjo6Tm90aWZpY2F0aW9uV3JhcHBlcigpCiAgICAgOiBtX2Ns
b3NlVGltZXIodGhpcywgJk5vdGlmaWNhdGlvbldyYXBwZXI6OmNsb3NlKQogewotI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAKICNpZm5kZWYgUVRfTk9fU1lTVEVNVFJBWUlDT04KICAgICBt
X25vdGlmaWNhdGlvbkljb24gPSBudWxscHRyOwpAQCAtODEsMTQgKzgxLDE0IEBAIE5vdGlmaWNh
dGlvbldyYXBwZXI6Ok5vdGlmaWNhdGlvbldyYXBwZXIoKQogCiB2b2lkIE5vdGlmaWNhdGlvbldy
YXBwZXI6OmNsb3NlKFRpbWVyPE5vdGlmaWNhdGlvbldyYXBwZXI+KikKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpub3Rp
ZmljYXRpb25QcmVzZW50ZXIoKS0+Y2FuY2VsKHRoaXMpOwogI2VuZGlmCiB9CiAKIGNvbnN0IFFT
dHJpbmcgTm90aWZpY2F0aW9uV3JhcHBlcjo6dGl0bGUoKSBjb25zdAogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBOb3RpZmlj
YXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPm5vdGlmaWNh
dGlvbkZvcldyYXBwZXIodGhpcyk7CiAgICAgaWYgKG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0
dXJuIG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS50aXRsZTsKQEAgLTk4LDcgKzk4LDcgQEAgY29u
c3QgUVN0cmluZyBOb3RpZmljYXRpb25XcmFwcGVyOjp0aXRsZSgpIGNvbnN0CiAKIGNvbnN0IFFT
dHJpbmcgTm90aWZpY2F0aW9uV3JhcHBlcjo6bWVzc2FnZSgpIGNvbnN0CiB7Ci0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IE5vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+bm90aWZp
Y2F0aW9uRm9yV3JhcHBlcih0aGlzKTsKICAgICBpZiAobm90aWZpY2F0aW9uKQogICAgICAgICBy
ZXR1cm4gbm90aWZpY2F0aW9uLT5jb250ZW50cygpLmJvZHk7CkBAIC0xMDksNyArMTA5LDcgQEAg
Y29uc3QgUVN0cmluZyBOb3RpZmljYXRpb25XcmFwcGVyOjptZXNzYWdlKCkgY29uc3QKIGNvbnN0
IFFCeXRlQXJyYXkgTm90aWZpY2F0aW9uV3JhcHBlcjo6aWNvbkRhdGEoKSBjb25zdAogewogICAg
IFFCeXRlQXJyYXkgaWNvbkRhdGE7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBO
b3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0
Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+bm90aWZpY2F0aW9uRm9yV3JhcHBlcih0aGlzKTsK
ICAgICBpZiAobm90aWZpY2F0aW9uKSB7CiAgICAgICAgIGlmIChub3RpZmljYXRpb24tPmljb25E
YXRhKCkpCkBAIC0xMjIsNyArMTIyLDcgQEAgY29uc3QgUUJ5dGVBcnJheSBOb3RpZmljYXRpb25X
cmFwcGVyOjppY29uRGF0YSgpIGNvbnN0CiBjb25zdCBRVXJsIE5vdGlmaWNhdGlvbldyYXBwZXI6
Om9wZW5lclBhZ2VVcmwoKSBjb25zdAogewogICAgIFFVcmwgdXJsOwotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBOb3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPm5vdGlmaWNhdGlv
bkZvcldyYXBwZXIodGhpcyk7CiAgICAgaWYgKG5vdGlmaWNhdGlvbikgewogICAgICAgICBpZiAo
bm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIApAQCAtMTM0LDE5ICsxMzQs
MTkgQEAgY29uc3QgUVVybCBOb3RpZmljYXRpb25XcmFwcGVyOjpvcGVuZXJQYWdlVXJsKCkgY29u
c3QKIAogdm9pZCBOb3RpZmljYXRpb25XcmFwcGVyOjpub3RpZmljYXRpb25DbGlja2VkKCkKIHsK
LSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwg
RU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlckNs
aWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+bm90aWZpY2F0aW9uQ2xpY2tlZCh0aGlz
KTsKICNlbmRpZgogfQogCiB2b2lkIE5vdGlmaWNhdGlvbldyYXBwZXI6Om5vdGlmaWNhdGlvbkNs
b3NlZCgpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPmNhbmNlbCh0aGlzKTsK
ICNlbmRpZgogfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50UXQ6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0KCkgOiBtX2Ns
aWVudENvdW50KDApCiB7CkBAIC00NjQsNyArNDY0LDcgQEAgUVdlYkZyYW1lKiBOb3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnRRdDo6dG9GcmFtZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXgKICAgICByZXR1cm4gUVdlYkZyYW1lUHJpdmF0ZTo6a2l0KGRvY3VtZW50LT5mcmFtZSgpKTsK
IH0KIAotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShO
T1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiB9CiAKICNpbmNs
dWRlICJtb2NfTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGll
bnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdC5oCmluZGV4IDEyYjA2ZmU5YjE1Y2YwYThhZjJlYTdiOTZlYzIxOWY4ZjVl
NTNhZDkuLjg3NGRkNjBmOWFiNjZlNmVlMzZmMDk5MTM3NzVmNzM2Nzg1OTQ4OWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVy
Q2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNh
dGlvblByZXNlbnRlckNsaWVudFF0LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAgIFRp
bWVyPE5vdGlmaWNhdGlvbldyYXBwZXI+IG1fY2xvc2VUaW1lcjsKIH07CiAKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogCiB0eXBlZGVmIFFIYXNoIDxOb3RpZmljYXRpb24qLCBOb3RpZmlj
YXRpb25XcmFwcGVyKj4gTm90aWZpY2F0aW9uc1F1ZXVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBjY2E5ZWMw
ZTc3OGU4ZGYxOWQ0M2RiNjJjYmYyNjllYzk0NjczOTM3Li40NDM1YjQ4ZDY2NmMwZTA3YjU0OTQx
MjdkMzJiOWJjMDNmNWMyMzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgc3RhdGljIGNv
bnN0IHNpemVfdCBtYXhGaWxlUGF0aHNMaXN0U2l6ZSA9IFVTSFJUX01BWDsKIAogV2ViQ2hyb21l
Q2xpZW50OjpXZWJDaHJvbWVDbGllbnQoV2ViVmlldyogd2ViVmlldykKICAgICA6IG1fd2ViVmll
dyh3ZWJWaWV3KQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLCBtX25vdGlmaWNh
dGlvbnNEZWxlZ2F0ZShuZXcgV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZSh3ZWJWaWV3
KSkKICNlbmRpZgogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAppbmRleCA2M2JmNWQxNjFlZTMxMzUxYzRlZGExNmMwYTY1YWQ3Y2Y1
MTBiZTA3Li5mMjJkNmYzYWIzNjdjODgyYWVmNDU5YWNlNGViYTMxNzI4MWUwMzIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApA
QCAtMTUwLDcgKzE1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZXhpdEZ1bGxzY3Jl
ZW5Gb3JOb2RlKFdlYkNvcmU6Ok5vZGUqKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJ
Q0FUSU9OUykKICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNsaWVudCogbm90aWZp
Y2F0aW9uUHJlc2VudGVyKCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXZWJDb3Jl
OjpOb3RpZmljYXRpb25DbGllbnQqPihtX25vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5nZXQoKSk7IH0K
ICNlbmRpZgogCkBAIC0xNzUsNyArMTc1LDcgQEAgcHJpdmF0ZToKIAogICAgIFdlYlZpZXcqIG1f
d2ViVmlldzsKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgT3duUHRyPFdlYkRl
c2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU+IG1fbm90aWZpY2F0aW9uc0RlbGVnYXRlOwogI2Vu
ZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
RGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAppbmRleCA3MGVk
NDgyYzMyZDIwMDYyMjEyZmJlNWIxYjYwNGM5OTk2NWUzMjQzLi5jZmY3YTJiOTIxN2MxMWI5MDA0
NzA2ODVkMmIyMmVlODIxMjhiODMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlLmNwcApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0tVUkwuaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQor
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0yMTEsNCArMjExLDQgQEAgQ09NUHRy
PElXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlPiBXZWJEZXNrdG9wTm90aWZpY2F0aW9u
c0RlbGVnYXRlOjpub3RpZmkKICAgICByZXR1cm4gZGVsZWdhdGU7CiB9CiAKLSNlbmRpZiAgLy8g
RU5BQkxFKE5PVElGSUNBVElPTlMpCisjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVs
ZWdhdGUuaAppbmRleCBhMWExMTg1YzVlMDUyNGExM2Y3ZTgxMzcwYzU4MTI1OTNjYjg5MmE5Li41
NzVjOTRjYjg4NmFmNzc0YmY3Mzc3ODFkNmJjMDcyODJmNDFkMGRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5v
dGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9Ob3RpZmljYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkNsaWVudC5o
PgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
IHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogaW50ZXJmYWNlIElXZWJEZXNrdG9w
Tm90aWZpY2F0aW9uUHJlc2VudGVyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNl
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNl
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKaW5kZXggZGI4NjQwNTQ3OTZlODMy
YzcxYzExOWUyYjdkNmYwYWJkMjVhMmUwYi4uNTdjMmY5Mzg4NWVmNTAzNTcyZTdhOGRjMGRhMDc1
ZGEzMzMyN2VkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaApAQCAtMTMxLDcgKzEzMSw3IEBAIHB1YmxpYzoKICAg
ICAvLyBmb3IgdGhpcyBvcmlnaW4uCiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRBcHBsaWNhdGlv
bkNhY2hlT3JpZ2luUXVvdGEoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF90IHRvdGFs
U3BhY2VOZWVkZWQpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB2aXJ0dWFs
IFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNsaWVudCogbm90aWZpY2F0aW9uUHJlc2VudGVyKCkgY29u
c3Q7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGM4ZWNhZmUzM2U5NjNmYTQwYWFkNGYzMTlh
YmNjZjEyYTNlZjMzYmUuLjMyM2EzNTEzYTZhODQyZWRjZjlkY2MwMjc3ZDQyMDY0ZjNkMDY5NmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAKQEAgLTk5LDcgKzk5LDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyKSBjb24K
ICAgICBlbmNvZGVyLT5lbmNvZGUoY29va2llU3RvcmFnZURpcmVjdG9yeSk7CiAjZW5kaWYKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgZW5jb2Rlci0+ZW5jb2RlKG5vdGlmaWNh
dGlvblBlcm1pc3Npb25zKTsKICNlbmRpZgogfQpAQCAtMTk0LDcgKzE5NCw3IEBAIGJvb2wgV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rl
ciogZGVjb2RlciwgV2ViCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogCi0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJz
Lm5vdGlmaWNhdGlvblBlcm1pc3Npb25zKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaAppbmRleCA5YjUxZjY0OTQzZTg5ZjA0MTNmMmVlNTZlZmI5NTYzYzc2MjUwZmFmLi42
NzgxYjA0ZWVmZWM3NjI0ZjNjYmJkM2JhZjY0YjQzNDFlYzBjYTQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTEy
Miw3ICsxMjIsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAg
U3RyaW5nIGNvb2tpZVN0b3JhZ2VEaXJlY3Rvcnk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgSGFzaE1hcDxTdHJpbmcsIGJvb2w+IG5vdGlmaWNhdGlvblBlcm1p
c3Npb25zOwogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
CmluZGV4IDc3NjYxZDg3YjViYmFjOGI0ZTkyNzRhOGZkNGNjMDc4ZjUyM2NmNmUuLjJlY2ZmOWQ0
YjA3NzE5NGIwNTg1YTNmMWQ5NDIwNjVlYTJmMmI1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29udGV4dC5jcHAKQEAgLTI3OSw3ICsyNzksNyBAQCB2b2lkIFdlYkNvbnRleHQ6OmVu
c3VyZVdlYlByb2Nlc3MoKQogCiAgICAgcGFyYW1ldGVycy5kZWZhdWx0UmVxdWVzdFRpbWVvdXRJ
bnRlcnZhbCA9IFdlYlVSTFJlcXVlc3Q6OmRlZmF1bHRUaW1lb3V0SW50ZXJ2YWwoKTsKIAotI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgbV9ub3RpZmljYXRpb25NYW5hZ2VyUHJveHkt
PnBvcHVsYXRlQ29weU9mTm90aWZpY2F0aW9uUGVybWlzc2lvbnMocGFyYW1ldGVycy5ub3RpZmlj
YXRpb25QZXJtaXNzaW9ucyk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCA3M2U3MWZiYzkyZWQxZWZj
YzMxNzMxMTA4YWZhNmM0MmU0NjBmYTNiLi5mZTY2ZTU2ZTk0OWVkNDNkYmU2OTNkZDc5ZmIyMmY2
NjE2MDhmYTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyLmNwcApAQCAtNDEsNyArNDEsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05T
KQogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUmVxdWVzdElEKCkKIHsKICAgICBzdGF0aWMgdWlu
dDY0X3QgdW5pcXVlUmVxdWVzdElEID0gMTsKQEAgLTYxLDcgKzYxLDcgQEAgTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXIoV2ViUGEKIAogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6
OnN0YXJ0UmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxs
YmFjaz4gY2FsbGJhY2spCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAo
cGVybWlzc2lvbkxldmVsKG9yaWdpbikgIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9u
Tm90QWxsb3dlZCkgewogICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKICAgICAgICAg
cmV0dXJuOwpAQCAtODAsNyArODAsNyBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcjo6c3RhcnRSZXF1ZXN0KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sCiAKIHZvaWQg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpjYW5jZWxSZXF1ZXN0KFNlY3Vy
aXR5T3JpZ2luKiBvcmlnaW4pCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB1
aW50NjRfdCBpZCA9IG1fb3JpZ2luVG9JRE1hcC50YWtlKG9yaWdpbik7CiAgICAgaWYgKCFpZCkK
ICAgICAgICAgcmV0dXJuOwpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2VsUmVxdWVzdChTZWN1cml0eU9yaWdpbiogb3JpZ2lu
KQogCiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyOjpwZXJtaXNzaW9uTGV2ZWwoU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5
T3JpZ2luKQogewotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgaWYgKCFtX3BhZ2Ut
PmNvcmVQYWdlKCktPnNldHRpbmdzKCktPm5vdGlmaWNhdGlvbnNFbmFibGVkKCkpCiAgICAgICAg
IHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ7CiAgICAgCkBAIC0x
MDcsNyArMTA3LDcgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6cGVybWlzc2lvbkwKIAogdm9pZCBOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNz
aW9uRGVjaXNpb24odWludDY0X3QgcmVxdWVzdElELCBib29sIGFsbG93ZWQpCiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWlzUmVxdWVzdElEVmFsaWQocmVxdWVzdElE
KSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAK
aW5kZXggOWU1Y2Y5NTQ2NjQ5ZDRiY2JiMzlmMTNiNTFlNTJkMzI2ZTc5YTRlNy4uOGQxMWYxM2M5
M2NmMDg0MjdkYjg1M2YyMGJhZTc4ZDczOTM1YjM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25NYW5hZ2VyLmNwcApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIldlYlBhZ2UuaCIKICNp
bmNsdWRlICJXZWJQcm9jZXNzLmgiCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2lu
Y2x1ZGUgIldlYk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKQEAg
LTQ1LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIHN0YXRpYyB1aW50NjRfdCBnZW5l
cmF0ZU5vdGlmaWNhdGlvbklEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3QgdW5pcXVlTm90aWZp
Y2F0aW9uSUQgPSAxOwpAQCAtNjksMjEgKzY5LDIxIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFu
YWdlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwK
IAogdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjppbml0aWFsaXplKGNvbnN0IEhhc2hNYXA8
U3RyaW5nLCBib29sPiYgcGVybWlzc2lvbnMpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKICAgICBtX3Blcm1pc3Npb25zTWFwID0gcGVybWlzc2lvbnM7CiAjZW5kaWYKIH0KIAogdm9p
ZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbihj
b25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgYm9vbCBhbGxvd2VkKQogewotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiAgICAgbV9wZXJtaXNzaW9uc01hcC5zZXQob3JpZ2luU3RyaW5nLCBh
bGxvd2VkKTsKICNlbmRpZgogfQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFJl
bW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgb3JpZ2luU3Ry
aW5ncykKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIHNpemVfdCBjb3VudCA9
IG9yaWdpblN0cmluZ3Muc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7
ICsraSkKICAgICAgICAgbV9wZXJtaXNzaW9uc01hcC5yZW1vdmUob3JpZ2luU3RyaW5nc1tpXSk7
CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkUmVtb3Zl
Tm90aWZpY2F0aW9uRGVjaXNpb25zKGNvbnN0IFZlY3RvcjxTdHJpbmc+CiAKIE5vdGlmaWNhdGlv
bkNsaWVudDo6UGVybWlzc2lvbiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpwb2xpY3lGb3JPcmln
aW4oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4gKm9yaWdpbikgY29uc3QKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogICAgIGlmICghb3JpZ2luKQogICAgICAgICByZXR1cm4gTm90aWZp
Y2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZDsKICAgICAKQEAgLTEwNiw3ICsxMDYs
NyBAQCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gV2ViTm90aWZpY2F0aW9uTWFuYWdl
cjo6cG9saWN5Rm9yT3JpZ2luKFdlYkNvcmU6OgogCiBib29sIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXI6OnNob3coTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiB7Ci0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIW5vdGlmaWNhdGlvbiB8fCAhcGFn
ZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS0+bm90aWZpY2F0aW9uc0VuYWJsZWQoKSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgCkBAIC0xMjYsNyArMTI2LDcgQEAgYm9vbCBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyOjpzaG93KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdlKiBw
YWdlKQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNhbmNlbChOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKIHsKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQogICAgIGlmICghbm90aWZpY2F0aW9uIHx8ICFwYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5n
cygpLT5ub3RpZmljYXRpb25zRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgCkBAIC0x
NDAsNyArMTQwLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpjYW5jZWwoTm90aWZp
Y2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiAKIHZvaWQgV2ViTm90aWZpY2F0
aW9uTWFuYWdlcjo6Y2xlYXJOb3RpZmljYXRpb25zKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIFdlYlBhZ2UqIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElP
TlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykKICAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBpdCA9IG1fbm90aWZp
Y2F0aW9uQ29udGV4dE1hcC5maW5kKGNvbnRleHQpOwogICAgIGlmIChpdCA9PSBtX25vdGlmaWNh
dGlvbkNvbnRleHRNYXAuZW5kKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE2MSw3ICsxNjEsNyBA
QCB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmNsZWFyTm90aWZpY2F0aW9ucyhXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KgogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6
OmRpZERlc3Ryb3lOb3RpZmljYXRpb24oTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBh
Z2UqIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICB1aW50NjRfdCBu
b3RpZmljYXRpb25JRCA9IG1fbm90aWZpY2F0aW9uTWFwLnRha2Uobm90aWZpY2F0aW9uKTsKICAg
ICBpZiAoIW5vdGlmaWNhdGlvbklEKQogICAgICAgICByZXR1cm47CkBAIC0xNzQsNyArMTc0LDcg
QEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWREZXN0cm95Tm90aWZpY2F0aW9uKE5v
dGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLAogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6
OmRpZFNob3dOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0jaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAoIWlzTm90aWZpY2F0aW9uSURWYWxpZChub3Rp
ZmljYXRpb25JRCkpCiAgICAgICAgIHJldHVybjsKICAgICAKQEAgLTE4OCw3ICsxODgsNyBAQCB2
b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZFNob3dOb3RpZmljYXRpb24odWludDY0X3Qg
bm90aWZpY2F0aW9uSUQpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xpY2tO
b3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKICAgICBpZiAoIWlzTm90aWZpY2F0aW9uSURWYWxpZChub3RpZmljYXRpb25J
RCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMjAyLDcgKzIwMiw3IEBAIHZvaWQgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6ZGlkQ2xpY2tOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9u
SUQpCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xvc2VOb3RpZmljYXRpb25z
KGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmaWNhdGlvbklEcykKIHsKLSNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQogICAgIHNpemVfdCBjb3VudCA9IG5vdGlmaWNhdGlvbklEcy5zaXpl
KCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgIHVp
bnQ2NF90IG5vdGlmaWNhdGlvbklEID0gbm90aWZpY2F0aW9uSURzW2ldOwpAQCAtMjIxLDcgKzIy
MSw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xvc2VOb3RpZmljYXRpb25z
KGNvbnN0IFZlY3Rvcjx1aW50NjRfdD4mIG5vdGlmCiAjZW5kaWYKIH0KIAotI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZ
X05PVElGSUNBVElPTlMpCiB2b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnJlbW92ZU5vdGlm
aWNhdGlvbkZyb21Db250ZXh0TWFwKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklELCBOb3RpZmljYXRp
b24qIG5vdGlmaWNhdGlvbikKIHsKICAgICAvLyBUaGlzIGlzIGEgaGVscGVyIGZ1bmN0aW9uIGZv
ciBtYW5hZ2luZyB0aGUgaGFzaCBtYXBzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgK
aW5kZXggMTQyNzY3ZTMxOWRkNzViYzIwOTMxZmZlNTQxMDgyOTkyYzJkYzc4YS4uMmExOGQ0NGVi
MGE5N2Y1NWUyMmViYTdlYWU0NDczMzQ1YjFkZGRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlci5oCkBAIC03OCwxMyArNzgsMTMgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFVwZGF0
ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBib29sIGFs
bG93ZWQpOwogICAgIHZvaWQgZGlkUmVtb3ZlTm90aWZpY2F0aW9uRGVjaXNpb25zKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBvcmlnaW5TdHJpbmdzKTsKICAgICAKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogICAgIHZvaWQgcmVtb3ZlTm90aWZpY2F0aW9uRnJvbUNvbnRleHRNYXAodWludDY0
X3Qgbm90aWZpY2F0aW9uSUQsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopOwogI2VuZGlmCiAKICAg
ICBXZWJQcm9jZXNzKiBtX3Byb2Nlc3M7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQog
ICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8V2ViQ29yZTo6Tm90aWZpY2F0aW9uPiwgdWludDY0
X3Q+IE5vdGlmaWNhdGlvbk1hcDsKICAgICBOb3RpZmljYXRpb25NYXAgbV9ub3RpZmljYXRpb25N
YXA7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKaW5kZXggNjQzMzEy
NDQwZTFkZmQxMDIxZTMzMzRlMzgxNTk5ZDJkYTQ0MDk1Ni4uOGFjNzhkNWY0NDY3Mjc5ODNmOWIy
NWVhNTk4MTEwM2M5ZDM2ZDc3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmNw
cApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYk5v
dGlmaWNhdGlvbkNsaWVudC5oIgogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKIAogI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIgogI2luY2x1ZGUg
IldlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCIKQEAgLTkxLDQgKzkxLDQgQEAgTm90aWZpY2F0aW9u
Q2xpZW50OjpQZXJtaXNzaW9uIFdlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2hlY2tQZXJtaXNzaW9u
KFNjcmlwdEV4ZWMKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKKyNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTm90aWZpY2F0aW9uQ2xpZW50LmgKaW5k
ZXggOGE4NGJlYTFlYjU1YWUyZTA0NzFjNTNkOTUzOWI0OGVmYjg5ODg0Mi4uNDZlYjJhNWQ4ODg5
MDY2Y2IwNDM0NjJhMTE0OTFiNTkyNDU3NWNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNs
aWVudC5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFdlYk5vdGlmaWNhdGlvbkNsaWVudF9o
CiAjZGVmaW5lIFdlYk5vdGlmaWNhdGlvbkNsaWVudF9oCiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQogCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25DbGllbnQuaD4KIApAQCAt
NTksNiArNTksNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlm
IC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05T
KSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNlbmRpZiAvLyBXZWJOb3RpZmlj
YXRpb25DbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IGUzOTdhMDI2ZjBlOWRmZDkzYzgxMTU2NDMwMjhhNDk2OWZiY2I5NjguLjk3
ZTZmMmU5MzM2MGVkYTU0ZGRlZjk5YTk1YjMyOTZjMWQ0YzMzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTIzNyw3ICsyMzcsNyBAQCBX
ZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycyYgcGFyYW1ldGVycykKICAgICAKICAgICBtX3BhZ2UgPSBhZG9wdFB0cihuZXcgUGFn
ZShwYWdlQ2xpZW50cykpOwogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBXZWJD
b3JlOjpwcm92aWRlTm90aWZpY2F0aW9uKG1fcGFnZS5nZXQoKSwgbmV3IFdlYk5vdGlmaWNhdGlv
bkNsaWVudCh0aGlzKSk7CiAjZW5kaWYKIApAQCAtMTk1Miw3ICsxOTUyLDcgQEAgdm9pZCBXZWJQ
YWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkK
ICAgICBzZXR0aW5ncy0+c2V0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzaG91bGREaXNwbGF5VGV4dERlc2Ny
aXB0aW9uc0tleSgpKSk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAg
ICAgc2V0dGluZ3MtPnNldE5vdGlmaWNhdGlvbnNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6bm90aWZpY2F0aW9uc0VuYWJsZWRLZXkoKSkpOwogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDlhOGI5
MDVmZTRhODE0ODk1YmVlNWMwODRjNzc5MGY4MjhjZWQ5NmYuLmMxYmEwNTBjZjZkYTFkN2FhMTYx
NzYxNDM3ZjRjNDhkNWFkZTIxZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcApAQCAtMTQxLDcgKzE0MSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogI2Vu
ZGlmCiAgICAgLCBtX3RleHRDaGVja2VyU3RhdGUoKQogICAgICwgbV9nZW9sb2NhdGlvbk1hbmFn
ZXIodGhpcykKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICwgbV9ub3RpZmljYXRp
b25NYW5hZ2VyKHRoaXMpCiAjZW5kaWYKICAgICAsIG1faWNvbkRhdGFiYXNlUHJveHkodGhpcykK
QEAgLTYzOCw3ICs2MzgsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKENv
cmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lcwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBpZiAobWVzc2Fn
ZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYk5vdGlmaWNhdGlvbk1hbmFnZXI+KCkpIHsK
ICAgICAgICAgbV9ub3RpZmljYXRpb25NYW5hZ2VyLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBlZmEyZTY4MWE2MmE4ZTZkOTM1ODc0NjY5Mzlh
ZDMzZDQyM2I5MmZiLi4xYTQ5ODlmMDYyOTkyNDZmOThmNmYwMDNiYmExYzBhM2FjODY1MGVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNDgsNyArNDgsNyBAQAog
Y2xhc3MgUU5ldHdvcmtBY2Nlc3NNYW5hZ2VyOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCIKICNlbmRpZgog
CkBAIC0xMzMsNyArMTMzLDcgQEAgcHVibGljOgogICAgIC8vIEdlb2xvY2F0aW9uCiAgICAgV2Vi
R2VvbG9jYXRpb25NYW5hZ2VyJiBnZW9sb2NhdGlvbk1hbmFnZXIoKSB7IHJldHVybiBtX2dlb2xv
Y2F0aW9uTWFuYWdlcjsgfQogICAgIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAg
V2ViTm90aWZpY2F0aW9uTWFuYWdlciYgbm90aWZpY2F0aW9uTWFuYWdlcigpIHsgcmV0dXJuIG1f
bm90aWZpY2F0aW9uTWFuYWdlcjsgfQogI2VuZGlmCiAKQEAgLTI2OCw3ICsyNjgsNyBAQCBwcml2
YXRlOgogCiAgICAgVGV4dENoZWNrZXJTdGF0ZSBtX3RleHRDaGVja2VyU3RhdGU7CiAgICAgV2Vi
R2VvbG9jYXRpb25NYW5hZ2VyIG1fZ2VvbG9jYXRpb25NYW5hZ2VyOwotI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCiAgICAgV2ViTm90aWZpY2F0aW9uTWFuYWdlciBtX25vdGlmaWNhdGlvbk1h
bmFnZXI7CiAjZW5kaWYKICAgICBXZWJJY29uRGF0YWJhc2VQcm94eSBtX2ljb25EYXRhYmFzZVBy
b3h5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vz
c01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0K
aW5kZXggZmEwMzgwZmZmNzQ2NWI1ZmMyYjBjY2Y5M2VmNmNlOTRlYjczMzEyMS4uYjU2NThkOGEz
ZmVjZjY2ZjE3Zjk0MjU2Y2QwMzFhYjY0NDlhY2Y1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCkBAIC0yNTEsNyArMjUxLDcgQEAgdm9pZCBX
ZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMKIAogICAgIG1fY29tcG9zaXRpbmdSZW5kZXJTZXJ2ZXJQb3J0ID0g
cGFyYW1ldGVycy5hY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9ydC5wb3J0KCk7CiAKLSNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1fbm90aWZpY2F0aW9uTWFuYWdlci5pbml0aWFsaXpl
KHBhcmFtZXRlcnMubm90aWZpY2F0aW9uUGVybWlzc2lvbnMpOwogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5NThjNDRhMTE0ZThj
M2M4YjVjYzdiODIxN2M4NzAzMDZiNTBmMWIzLi4zNDBiOWU5YjU0ZmJiODEwODdlZWM5NWUyZjY0
MmQ1ZThhYmEzMTZhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTItMDMtMTMgIEpvbiBMZWUgIDxqb25sZWVAYXBw
bGUuY29tPgorCisgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5kIExFR0FDWV9OT1RJ
RklDQVRJT05TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDkyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzUwODI+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgWW91IGNhbiBpbmNsdWRlIGVpdGhl
ciBOT1RJRklDQVRJT05TIG9yIExFR0FDWV9OT1RJRklDQVRJT05TIGFuZCBoYXZlIGEgY29tcGxl
dGUgQVBJLgorICAgICAgICBMRUdBQ1lfTk9USUZJQ0FUSU9OUyBzaG91bGQgY292ZXIgYWxsIG9m
IHRoZSBwcmV2aW91cyBmdW5jdGlvbmFsaXR5LCBhbmQgTk9USUZJQ0FUSU9OUyB3aWxsIGNvdmVy
IHRoZQorICAgICAgICBuZXcgQVBJLiBUaGVyZWZvcmUsIEFQSXMgdGhhdCBhcmUgY29tbW9uIGJl
dHdlZW4gdGhlIHR3byB3aWxsIGhhdmU6CisgICAgICAgICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorCisgICAgICAgIFRoaXMgcGF0Y2gg
aW5pdGlhbGx5IHNldHMgYm90aCB0byBiZSBleGFjdGx5IHRoZSBzYW1lLiBBcyBvdGhlciBidWdz
IHdpdGggcGF0Y2hlcyBiZWdpbiB0byBtaWdyYXRlIHRvCisgICAgICAgIHRoZSBuZXcgQVBJLCB0
aGUgZGVmaW5lcyB3aWxsIGJlZ2luIHRvIHNwbGl0LiBUaGlzIGFsbG93cyBwb3J0cyB0byBkZWNp
ZGUgd2hpY2ggc2V0IG9mIEFQSXMgdG8gaW5jbHVkZS4KKworICAgICAgICBVcGRhdGUgZXZlcnl0
aGluZyB0byBiZSAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Z3JhbnREZXNr
dG9wTm90aWZpY2F0aW9uUGVybWlzc2lvbik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2ltdWxhdGVEZXNrdG9wTm90aWZpY2F0aW9uQ2xpY2spOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL05vdGlmaWNhdGlvblByZXNlbnRlci5jcHA6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RTaGVsbDo6
VGVzdFNoZWxsKToKKyAgICAgICAgKFRlc3RTaGVsbDo6cmVzZXRUZXN0Q29udHJvbGxlcik6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0RSVERlc2t0b3BOb3RpZmljYXRpb25QcmVzZW50
ZXIuY3BwOgorICAgICAgICAoRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlcjo6Y2hlY2tO
b3RpZmljYXRpb25QZXJtaXNzaW9uKToKKwogMjAxMi0wMy0xMyAgVGhpYWdvIE1hcmNvcyBQLiBT
YW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtEUlRdIEV4
cG9zZSB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDljNjhkZmZkY2Q3
OTJkZmE5ZGJkOGVkYTg5ZjY3NjNhY2NjNmE1MjEuLjE2ODQ0MWU3ZGVkMTFjMGIzZDlhNWVjMTI0
YzJkMGEyMTkyM2YwMDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTExOTEsNyArMTE5MSw3IEBAIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OmdyYW50RGVza3RvcE5vdGlmaWNhdGlvblBlcm1pc3Npb24o
Y29uc3QgQ3BwQXJndW1lbnRMCiAgICAgICAgIHJlc3VsdC0+c2V0KGZhbHNlKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIG1fc2hlbGwt
Pm5vdGlmaWNhdGlvblByZXNlbnRlcigpLT5ncmFudFBlcm1pc3Npb24oY3BwVmFyaWFudFRvV2Vi
U3RyaW5nKGFyZ3VtZW50c1swXSkpOwogI2VuZGlmCiAgICAgcmVzdWx0LT5zZXQodHJ1ZSk7CkBA
IC0xMjAzLDcgKzEyMDMsNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaW11bGF0ZURl
c2t0b3BOb3RpZmljYXRpb25DbGljayhjb25zdCBDcHBBcmd1bWVudExpcwogICAgICAgICByZXN1
bHQtPnNldChmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0jaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9U
SUZJQ0FUSU9OUykKICAgICBpZiAobV9zaGVsbC0+bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPnNp
bXVsYXRlQ2xpY2soY3BwVmFyaWFudFRvV2ViU3RyaW5nKGFyZ3VtZW50c1swXSkpKQogICAgICAg
ICByZXN1bHQtPnNldCh0cnVlKTsKICAgICBlbHNlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9Ob3RpZmljYXRpb25QcmVzZW50ZXIuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTm90aWZpY2F0aW9uUHJlc2VudGVyLmNwcAppbmRleCA3ODA5ODIx
YWE2NTA1MzRkNDY5NWViODM1ZWM1M2Q0YzAzOWRjOWY1Li4wYzU0MDBmNWU5ZThmNzE3MGVjZjU5
OWE4MWJkNDI2ZmJkNzcyOTFkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9Ob3RpZmljYXRpb25QcmVzZW50ZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL05vdGlmaWNhdGlvblByZXNlbnRlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50ZXIuaCIKIAot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBF
TkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKICNpbmNs
dWRlICJwbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaCIKQEAgLTE1MSw0ICsxNTEsNCBA
QCB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oCiAgICAgY2Fs
bGJhY2stPnBlcm1pc3Npb25SZXF1ZXN0Q29tcGxldGUoKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJM
RShOT1RJRklDQVRJT05TKQorI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsLmNwcAppbmRleCBhYTY2ODY5NGQ0MjFkMmJjODA3YWIwZTZhMzQ4ZTkxZGJiMmI2
MjMwLi4wOWU4Njc2NTEyYWM1M2UwOThlMWRkOTk1MzIwZTMwZjE5YWJhYjg3IDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTEzOCw3ICsxMzgsNyBA
QCBUZXN0U2hlbGw6OlRlc3RTaGVsbChib29sIHRlc3RTaGVsbE1vZGUpCiAgICAgbV9sYXlvdXRU
ZXN0Q29udHJvbGxlciA9IGFkb3B0UHRyKG5ldyBMYXlvdXRUZXN0Q29udHJvbGxlcih0aGlzKSk7
CiAgICAgbV9ldmVudFNlbmRlciA9IGFkb3B0UHRyKG5ldyBFdmVudFNlbmRlcih0aGlzKSk7CiAg
ICAgbV90ZXh0SW5wdXRDb250cm9sbGVyID0gYWRvcHRQdHIobmV3IFRleHRJbnB1dENvbnRyb2xs
ZXIodGhpcykpOwotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgbV9ub3RpZmljYXRp
b25QcmVzZW50ZXIgPSBhZG9wdFB0cihuZXcgTm90aWZpY2F0aW9uUHJlc2VudGVyKHRoaXMpKTsK
ICNlbmRpZgogICAgIG1fcHJpbnRlciA9IG1fdGVzdFNoZWxsTW9kZSA/IFRlc3RFdmVudFByaW50
ZXI6OmNyZWF0ZVRlc3RTaGVsbFByaW50ZXIoKSA6IFRlc3RFdmVudFByaW50ZXI6OmNyZWF0ZURS
VFByaW50ZXIoKTsKQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIFRlc3RTaGVsbDo6cmVzZXRUZXN0
Q29udHJvbGxlcigpCiAgICAgbV9sYXlvdXRUZXN0Q29udHJvbGxlci0+cmVzZXQoKTsKICAgICBt
X2V2ZW50U2VuZGVyLT5yZXNldCgpOwogICAgIG1fd2ViVmlld0hvc3QtPnJlc2V0KCk7Ci0jaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+cmVz
ZXQoKTsKICNlbmRpZgogICAgIG1fZHJ0RGV2VG9vbHNBZ2VudC0+cmVzZXQoKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2Vu
dGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0aW9u
UHJlc2VudGVyLmNwcAppbmRleCAzYmMxNjZkMDM5OGExNWY4ZTVlNmU3NWE0MjRmZDQwMGJmMjUz
M2RiLi44MzBhZmQzYzQzMzdiMjlkZGI4ZGUzNTAwNzA2MTJlMDYyNTEwODFkIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRl
ci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0RSVERlc2t0b3BOb3RpZmljYXRp
b25QcmVzZW50ZXIuY3BwCkBAIC0xMjMsNyArMTIzLDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBEUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVyOjpjaGVja05vdGlmaWNhdGlvblBl
cm0KICAgICAgICAgLyogW2luXSAqLyBCU1RSIG9yaWdpbiwgCiAgICAgICAgIC8qIFtvdXQsIHJl
dHZhbF0gKi8gaW50KiByZXN1bHQpCiB7Ci0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisjaWYg
RU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAg
ICBKU1N0cmluZ1JlZiBqc09yaWdpbiA9IEpTU3RyaW5nQ3JlYXRlV2l0aEJTVFIob3JpZ2luKTsK
ICAgICBib29sIGFsbG93ZWQgPSA6OmdMYXlvdXRUZXN0Q29udHJvbGxlci0+Y2hlY2tEZXNrdG9w
Tm90aWZpY2F0aW9uUGVybWlzc2lvbihqc09yaWdpbik7CiAK
</data>
<flag name="review"
          id="135221"
          type_id="1"
          status="+"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>