<?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>180368</bug_id>
          
          <creation_ts>2017-12-04 12:09:38 -0800</creation_ts>
          <short_desc>[Web App Manifest] Add SPI for applying a manifest to a top-level browsing context</short_desc>
          <delta_ts>2017-12-06 19:30:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Quesada">david_quesada</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377810</commentid>
    <comment_count>0</comment_count>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-04 12:09:38 -0800</bug_when>
    <thetext>To run a web app as intended by the manifest, we need the ability to apply a manifest to the browsing context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377811</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-04 12:10:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/35835664&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377813</commentid>
    <comment_count>2</comment_count>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-04 12:10:57 -0800</bug_when>
    <thetext>Actually, I already had a radar for this one :/ rdar://problem/34748067</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377865</commentid>
    <comment_count>3</comment_count>
      <attachid>328383</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-04 13:32:54 -0800</bug_when>
    <thetext>Created attachment 328383
Patch

Patch for review. This depends on 180294.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377961</commentid>
    <comment_count>4</comment_count>
      <attachid>328383</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-12-04 15:41:14 -0800</bug_when>
    <thetext>Comment on attachment 328383
Patch

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

r=me

&gt; Source/WebCore/page/PageConfiguration.h:81
&gt; +    std::optional&lt;ApplicationManifest&gt; applicationManifest { std::nullopt };

No need to specify nullopt here. The default constructor will do that for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378469</commentid>
    <comment_count>5</comment_count>
      <attachid>328532</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-05 17:16:02 -0800</bug_when>
    <thetext>Created attachment 328532
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378837</commentid>
    <comment_count>6</comment_count>
      <attachid>328636</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-06 14:58:53 -0800</bug_when>
    <thetext>Created attachment 328636
Patch for landing (v2)

Attempt to fix the EWS errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378934</commentid>
    <comment_count>7</comment_count>
      <attachid>328636</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-06 16:58:15 -0800</bug_when>
    <thetext>Comment on attachment 328636
Patch for landing (v2)

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:70
&gt; +@property (nonatomic, setter=_setApplicationManifest:) _WKApplicationManifest *_applicationManifest;

This should have a API_AVAILABLE macro with TBA values. Certainly mac, maybe iOS?

    @property ... _WKApplicationManifest *_applicationManifest WK_API_AVAILABLE(macosx(WK_MAC_TBA));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378937</commentid>
    <comment_count>8</comment_count>
      <attachid>328655</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-06 17:03:56 -0800</bug_when>
    <thetext>Created attachment 328655
Patch for landing (v3)

Now with API availability annotation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378942</commentid>
    <comment_count>9</comment_count>
      <attachid>328657</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-06 17:07:11 -0800</bug_when>
    <thetext>Created attachment 328657
Patch for landing (v4)

Addressed one more piece of feedback from JoePeck: removed #if guards around a class forward declaration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378981</commentid>
    <comment_count>10</comment_count>
      <attachid>328657</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-06 19:30:11 -0800</bug_when>
    <thetext>Comment on attachment 328657
Patch for landing (v4)

Clearing flags on attachment: 328657

Committed r225615: &lt;https://trac.webkit.org/changeset/225615&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378982</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-06 19:30:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328383</attachid>
            <date>2017-12-04 13:32:54 -0800</date>
            <delta_ts>2017-12-06 14:58:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>4.patch</filename>
            <type>text/plain</type>
            <size>18316</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IGMxZWQ5NmQ2YjJhMjNmMDEyZjE5YWQ3Zjg3NWJjMGE2Y2Y1MGIwZGYKQXV0aG9yOiBE
YXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KRGF0ZTogICBUdWUgTm92IDcg
MTQ6MTc6MTggMjAxNyAtMDgwMAoKICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBh
cHBseWluZyBhIG1hbmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQKICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzNjgKICAgIHJkYXI6Ly9w
cm9ibGVtLzM0NzQ4MDY3CiAgICAKICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogICAg
CiAgICBTb3VyY2UvV2ViQ29yZToKICAgIAogICAgU3VwcG9ydCBhcHBseWluZyBhIG1hbmlmZXN0
IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQgYnkgYWRkaW5nIGEgbWFuaWZlc3QKICAg
IHByb3BlcnR5IG9uIFBhZ2VDb25maWd1cmF0aW9uIHRvIGJlIHN0b3JlZCBvbiBNYWluRnJhbWUg
aW5zdGFuY2VzIGNyZWF0ZWQgZnJvbSB0aGUKICAgIGNvbmZpZ3VyYXRpb24uCiAgICAKICAgIE5v
IG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgogICAgCiAgICAqIHBhZ2UvTWFpbkZy
YW1lLmNwcDoKICAgIChXZWJDb3JlOjpNYWluRnJhbWU6Ok1haW5GcmFtZSk6CiAgICAqIHBhZ2Uv
TWFpbkZyYW1lLmg6CiAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKICAgIAogICAgU291
cmNlL1dlYktpdDoKICAgIAogICAgQWRkIGEgbmV3IHByb3BlcnR5IFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb24uX2FwcGxpY2F0aW9uTWFuaWZlc3QgdG8gc3BlY2lmeSBtYW5pZmVzdAogICAgdG8gYXBw
bHkgdG8gYXBwbGljYXRpb24gY29udGV4dHMgKGFrYS4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRl
eHRzLCBpLmUuIHdlYiB2aWV3cykuCiAgICBUaGUgbWFuaWZlc3QgaXMgdWx0aW1hdGVseSBzdG9y
ZWQgb24gdGhlIE1haW5GcmFtZSBvZiB0aGUgUGFnZXMgY3JlYXRlZCBmcm9tIHRoZQogICAgd2Vi
IHZpZXcgY29uZmlndXJhdGlvbi4KICAgIAogICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCiAgICAKICAgICogU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
OgogICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToK
ICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CiAgICAqIFNo
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CiAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
UGFnZUNvbmZpZ3VyYXRpb24uY3BwOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNvcHkg
Y29uc3QpOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmFwcGxpY2F0aW9uTWFuaWZlc3Qg
Y29uc3QpOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OnNldEFwcGxpY2F0aW9uTWFuaWZl
c3QpOgogICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmg6CiAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgogICAgKC1bV0tXZWJWaWV3IF9pbml0aWFs
aXplV2l0aENvbmZpZ3VyYXRpb246XSk6CiAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbToKICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdp
dGhab25lOl0pOgogICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfYXBwbGljYXRpb25NYW5p
ZmVzdF0pOgogICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0QXBwbGljYXRpb25NYW5p
ZmVzdDpdKToKICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
UHJpdmF0ZS5oOgogICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZl
c3RJbnRlcm5hbC5oOgogICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKToKICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgogICAgKFdlYktpdDo6bV9jcHVMaW1pdCk6CgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGE0YzNhODRlMzIxLi41YzhmYmE1NjY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIEFkZCBTUEkgZm9yIGFwcGx5aW5nIGEgbWFuaWZl
c3QgdG8gYSB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzY4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVt
LzM0NzQ4MDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU3VwcG9ydCBhcHBseWluZyBhIG1hbmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNv
bnRleHQgYnkgYWRkaW5nIGEgbWFuaWZlc3QKKyAgICAgICAgcHJvcGVydHkgb24gUGFnZUNvbmZp
Z3VyYXRpb24gdG8gYmUgc3RvcmVkIG9uIE1haW5GcmFtZSBpbnN0YW5jZXMgY3JlYXRlZCBmcm9t
IHRoZQorICAgICAgICBjb25maWd1cmF0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8g
Y2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogcGFnZS9NYWluRnJhbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWFpbkZyYW1lOjpNYWluRnJhbWUpOgorICAgICAgICAqIHBhZ2UvTWFp
bkZyYW1lLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oOgorCiAyMDE3LTEy
LTAxICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CiAKICAgICAgICAg
W1dlYiBBcHAgTWFuaWZlc3RdIEFkZCBTUEkgZm9yIGZldGNoaW5nIHRoZSBtYW5pZmVzdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9NYWluRnJhbWUuY3BwCmluZGV4IDcyMDk5MjY3MDRhLi41NmY5OWRlYWJhMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcApAQCAtNTEsNiArNTEsOSBAQCBpbmxpbmUgTWFpbkZy
YW1lOjpNYWluRnJhbWUoUGFnZSYgcGFnZSwgUGFnZUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRp
b24pCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAgICAsIG1fcGF5bWVudENvb3JkaW5hdG9yKHN0
ZDo6bWFrZV91bmlxdWU8UGF5bWVudENvb3JkaW5hdG9yPigqY29uZmlndXJhdGlvbi5wYXltZW50
Q29vcmRpbmF0b3JDbGllbnQpKQogI2VuZGlmCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklG
RVNUKQorICAgICwgbV9hcHBsaWNhdGlvbk1hbmlmZXN0KGNvbmZpZ3VyYXRpb24uYXBwbGljYXRp
b25NYW5pZmVzdCkKKyNlbmRpZgogICAgICwgbV9wZXJmb3JtYW5jZUxvZ2dpbmcoc3RkOjptYWtl
X3VuaXF1ZTxQZXJmb3JtYW5jZUxvZ2dpbmc+KCp0aGlzKSkKIHsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5G
cmFtZS5oCmluZGV4IDQyY2M3MzlhNjhmLi42NjFmZDgxZmM2OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5G
cmFtZS5oCkBAIC0yNSw3ICsyNSw5IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQXBw
bGljYXRpb25NYW5pZmVzdC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSA8d3RmL09w
dGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC02Nyw2ICs2OSwxMCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQ
YXltZW50Q29vcmRpbmF0b3Ioc3RkOjp1bmlxdWVfcHRyPFBheW1lbnRDb29yZGluYXRvcj4mJik7
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBjb25zdCBz
dGQ6Om9wdGlvbmFsPEFwcGxpY2F0aW9uTWFuaWZlc3Q+JiBhcHBsaWNhdGlvbk1hbmlmZXN0KCkg
Y29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvbk1hbmlmZXN0OyB9CisjZW5kaWYKKwogICAgIFBl
cmZvcm1hbmNlTG9nZ2luZyYgcGVyZm9ybWFuY2VMb2dnaW5nKCkgY29uc3QgeyByZXR1cm4gKm1f
cGVyZm9ybWFuY2VMb2dnaW5nOyB9CiAKICAgICB2b2lkIGRpZENvbXBsZXRlTG9hZCgpOwpAQCAt
OTIsNiArOTgsMTAgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGF5bWVudENvb3Jk
aW5hdG9yPiBtX3BheW1lbnRDb29yZGluYXRvcjsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUExJ
Q0FUSU9OX01BTklGRVNUKQorICAgIHN0ZDo6b3B0aW9uYWw8QXBwbGljYXRpb25NYW5pZmVzdD4g
bV9hcHBsaWNhdGlvbk1hbmlmZXN0OworI2VuZGlmCisKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGVy
Zm9ybWFuY2VMb2dnaW5nPiBtX3BlcmZvcm1hbmNlTG9nZ2luZzsKIAogICAgIHVuc2lnbmVkIG1f
bmF2aWdhdGlvbkRpc2FibGVDb3VudCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uaAppbmRleCBhODYyZDQzMDJlMC4uNTU0ODk0NWFhZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTI1LDcgKzI1LDkgQEAKIAogI3ByYWdtYSBv
bmNlCiAKKyNpbmNsdWRlICJBcHBsaWNhdGlvbk1hbmlmZXN0LmgiCiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIApAQCAtNzUsNiArNzcsMTAgQEAg
cHVibGljOgogICAgIFBheW1lbnRDb29yZGluYXRvckNsaWVudCogcGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50IHsgbnVsbHB0ciB9OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFO
SUZFU1QpCisgICAgc3RkOjpvcHRpb25hbDxBcHBsaWNhdGlvbk1hbmlmZXN0PiBhcHBsaWNhdGlv
bk1hbmlmZXN0IHsgc3RkOjpudWxsb3B0IH07CisjZW5kaWYKKwogICAgIFVuaXF1ZVJlZjxMaWJX
ZWJSVENQcm92aWRlcj4gbGliV2ViUlRDUHJvdmlkZXI7CiAKICAgICBQbHVnSW5DbGllbnQqIHBs
dWdJbkNsaWVudCB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZGE3Y2FmYTU2Y2MuLjgxODU2NjU4
YjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRh
ICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3Rd
IEFkZCBTUEkgZm9yIGFwcGx5aW5nIGEgbWFuaWZlc3QgdG8gYSB0b3AtbGV2ZWwgYnJvd3Npbmcg
Y29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgwMzY4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM0NzQ4MDY3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IHByb3BlcnR5IFdLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24uX2FwcGxpY2F0aW9uTWFuaWZlc3QgdG8gc3BlY2lmeSBtYW5pZmVz
dAorICAgICAgICB0byBhcHBseSB0byBhcHBsaWNhdGlvbiBjb250ZXh0cyAoYWthLiB0b3AtbGV2
ZWwgYnJvd3NpbmcgY29udGV4dHMsIGkuZS4gd2ViIHZpZXdzKS4KKyAgICAgICAgVGhlIG1hbmlm
ZXN0IGlzIHVsdGltYXRlbHkgc3RvcmVkIG9uIHRoZSBNYWluRnJhbWUgb2YgdGhlIFBhZ2VzIGNy
ZWF0ZWQgZnJvbSB0aGUKKyAgICAgICAgd2ViIHZpZXcgY29uZmlndXJhdGlvbi4KKworICAgICAg
ICBObyBuZXcgdGVzdHMsIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFNoYXJl
ZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUGFnZUNv
bmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoQVBJOjpQYWdlQ29uZmlndXJhdGlvbjo6Y29weSBj
b25zdCk6CisgICAgICAgIChBUEk6OlBhZ2VDb25maWd1cmF0aW9uOjphcHBsaWNhdGlvbk1hbmlm
ZXN0IGNvbnN0KToKKyAgICAgICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OnNldEFwcGxpY2F0
aW9uTWFuaWZlc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IF9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOgorICAgICAg
ICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGNvcHlXaXRoWm9uZTpdKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfYXBwbGljYXRpb25NYW5pZmVzdF0pOgorICAgICAgICAo
LVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRBcHBsaWNhdGlvbk1hbmlmZXN0Ol0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3RJ
bnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2NwdUxp
bWl0KToKKwogMjAxNy0xMi0wMSAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBmZXRjaGluZyB0
aGUgbWFuaWZlc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycy5jcHAKaW5kZXggZjFiYzYyZDM1NjEuLjBlODM2Y2M1YjI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAt
OTYsNiArOTYsOSBAQCB2b2lkIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6
OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBvdmVycmlkZUNvbnRlbnRT
ZWN1cml0eVBvbGljeTsKICAgICBlbmNvZGVyIDw8IGNwdUxpbWl0OwogICAgIGVuY29kZXIgPDwg
dXJsU2NoZW1lSGFuZGxlcnM7CisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAg
IGVuY29kZXIgPDwgYXBwbGljYXRpb25NYW5pZmVzdDsKKyNlbmRpZgogICAgIGVuY29kZXIgPDwg
aWNlQ2FuZGlkYXRlRmlsdGVyaW5nRW5hYmxlZDsKICAgICBlbmNvZGVyIDw8IGVudW1lcmF0aW5n
QWxsTmV0d29ya0ludGVyZmFjZXNFbmFibGVkOwogICAgIGVuY29kZXIgPDwgdXNlckNvbnRlbnRX
b3JsZHM7CkBAIC0yNTcsNiArMjYwLDE0IEBAIHN0ZDo6b3B0aW9uYWw8V2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycz4gV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6CiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnVybFNjaGVtZUhhbmRsZXJzKSkKICAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVT
VCkKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGljYXRpb25N
YW5pZmVzdD4+IGFwcGxpY2F0aW9uTWFuaWZlc3Q7CisgICAgZGVjb2RlciA+PiBhcHBsaWNhdGlv
bk1hbmlmZXN0OworICAgIGlmICghYXBwbGljYXRpb25NYW5pZmVzdCkKKyAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKKyAgICBwYXJhbWV0ZXJzLmFwcGxpY2F0aW9uTWFuaWZlc3QgPSBXVEZN
b3ZlKCphcHBsaWNhdGlvbk1hbmlmZXN0KTsKKyNlbmRpZgorCiAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShwYXJhbWV0ZXJzLmljZUNhbmRpZGF0ZUZpbHRlcmluZ0VuYWJsZWQpKQogICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggNjI2NmY3OTY4N2IuLmU5ZmY1Mjk3Nzk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCkBA
IC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNTdG9yZS5oIgogI2luY2x1
ZGUgIldlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvQWN0aXZpdHlTdGF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGljYXRpb25NYW5pZmVz
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0
U2l6ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50U2l6ZS5oPgpAQCAtMTUyLDYgKzE1MywxMCBA
QCBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyB7CiAKICAgICBIYXNoTWFwPFN0cmlu
ZywgdWludDY0X3Q+IHVybFNjaGVtZUhhbmRsZXJzOwogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9O
X01BTklGRVNUKQorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVz
dD4gYXBwbGljYXRpb25NYW5pZmVzdDsKKyNlbmRpZgorCiAgICAgLy8gV2ViUlRDIG1lbWJlcnMu
CiAgICAgYm9vbCBpY2VDYW5kaWRhdGVGaWx0ZXJpbmdFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJv
b2wgZW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQgeyBmYWxzZSB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9u
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5j
cHAKaW5kZXggMmZlM2ZhNmZiM2QuLjRiN2RjYmM5M2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAKQEAgLTMzLDYgKzMz
LDEwIEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbmNsdWRlICJXZWJVc2VyQ29u
dGVudENvbnRyb2xsZXJQcm94eS5oIgogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNU
KQorI2luY2x1ZGUgIkFQSUFwcGxpY2F0aW9uTWFuaWZlc3QuaCIKKyNlbmRpZgorCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKQEAgLTcyLDYgKzc2
LDkgQEAgUmVmPFBhZ2VDb25maWd1cmF0aW9uPiBQYWdlQ29uZmlndXJhdGlvbjo6Y29weSgpIGNv
bnN0CiAgICAgY29weS0+bV9jcHVMaW1pdCA9IHRoaXMtPm1fY3B1TGltaXQ7CiAgICAgY29weS0+
bV9jb250cm9sbGVkQnlBdXRvbWF0aW9uID0gdGhpcy0+bV9jb250cm9sbGVkQnlBdXRvbWF0aW9u
OwogICAgIGNvcHktPm1fb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3kgPSB0aGlzLT5tX292
ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5OworI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5J
RkVTVCkKKyAgICBjb3B5LT5tX2FwcGxpY2F0aW9uTWFuaWZlc3QgPSB0aGlzLT5tX2FwcGxpY2F0
aW9uTWFuaWZlc3Q7CisjZW5kaWYKIAogICAgIHJldHVybiBjb3B5OwogfQpAQCAtMTY1LDQgKzE3
MiwxNiBAQCB2b2lkIFBhZ2VDb25maWd1cmF0aW9uOjpzZXRTZXNzaW9uSUQoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklEKQogICAgIG1fc2Vzc2lvbklEID0gc2Vzc2lvbklEOwogfQogCisjaWYgRU5B
QkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorY29uc3QgQXBwbGljYXRpb25NYW5pZmVzdCogUGFn
ZUNvbmZpZ3VyYXRpb246OmFwcGxpY2F0aW9uTWFuaWZlc3QoKSBjb25zdAoreworICAgIHJldHVy
biBtX2FwcGxpY2F0aW9uTWFuaWZlc3QuZ2V0KCk7Cit9CisKK3ZvaWQgUGFnZUNvbmZpZ3VyYXRp
b246OnNldEFwcGxpY2F0aW9uTWFuaWZlc3QoQXBwbGljYXRpb25NYW5pZmVzdCogYXBwbGljYXRp
b25NYW5pZmVzdCkKK3sKKyAgICBtX2FwcGxpY2F0aW9uTWFuaWZlc3QgPSBhcHBsaWNhdGlvbk1h
bmlmZXN0OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaAppbmRleCA5NDU1MjM5
ZjUxNS4uY2M5MjBlMDEzNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElQYWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElQYWdlQ29uZmlndXJhdGlvbi5oCkBAIC00Myw2ICs0Myw5IEBAIGNsYXNzIFdlYlVzZXJD
b250ZW50Q29udHJvbGxlclByb3h5OwogCiBuYW1lc3BhY2UgQVBJIHsKIAorI2lmIEVOQUJMRShB
UFBMSUNBVElPTl9NQU5JRkVTVCkKK2NsYXNzIEFwcGxpY2F0aW9uTWFuaWZlc3Q7CisjZW5kaWYK
IGNsYXNzIFdlYnNpdGVEYXRhU3RvcmU7CiAKIGNsYXNzIFBhZ2VDb25maWd1cmF0aW9uIDogcHVi
bGljIE9iamVjdEltcGw8T2JqZWN0OjpUeXBlOjpQYWdlQ29uZmlndXJhdGlvbj4gewpAQCAtMTA2
LDYgKzEwOSwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgV1RGOjpTdHJpbmcmIG92ZXJyaWRlQ29u
dGVudFNlY3VyaXR5UG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9vdmVycmlkZUNvbnRlbnRTZWN1
cml0eVBvbGljeTsgfQogICAgIHZvaWQgc2V0T3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3ko
Y29uc3QgV1RGOjpTdHJpbmcmIG92ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5KSB7IG1fb3Zl
cnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBvdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGlj
eTsgfQogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIGNvbnN0IEFwcGxp
Y2F0aW9uTWFuaWZlc3QqIGFwcGxpY2F0aW9uTWFuaWZlc3QoKSBjb25zdDsKKyAgICB2b2lkIHNl
dEFwcGxpY2F0aW9uTWFuaWZlc3QoQXBwbGljYXRpb25NYW5pZmVzdCopOworI2VuZGlmCisKIHBy
aXZhdGU6CiAKICAgICBSZWZQdHI8V2ViS2l0OjpXZWJQcm9jZXNzUG9vbD4gbV9wcm9jZXNzUG9v
bDsKQEAgLTEzMSw2ICsxMzksMTAgQEAgcHJpdmF0ZToKICAgICBzdGQ6Om9wdGlvbmFsPGRvdWJs
ZT4gbV9jcHVMaW1pdDsKIAogICAgIFdURjo6U3RyaW5nIG1fb3ZlcnJpZGVDb250ZW50U2VjdXJp
dHlQb2xpY3k7CisKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgUmVmUHRy
PEFwcGxpY2F0aW9uTWFuaWZlc3Q+IG1fYXBwbGljYXRpb25NYW5pZmVzdDsKKyNlbmRpZgogfTsK
IAogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQppbmRleCA1OWVjYjJjNjhlMC4uZDBjODRhNWRjMTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNTM3LDYg
KzUzNywxMCBAQCAtICh2b2lkKV9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmll
d0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnNl
dFdhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3coW19jb25maWd1cmF0aW9uIF93
YWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93XSk7CiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24tPnNldENvbnRyb2xsZWRCeUF1dG9tYXRpb24oW19jb25maWd1cmF0aW9uIF9pc0NvbnRy
b2xsZWRCeUF1dG9tYXRpb25dKTsKIAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkK
KyAgICBwYWdlQ29uZmlndXJhdGlvbi0+c2V0QXBwbGljYXRpb25NYW5pZmVzdChbX2NvbmZpZ3Vy
YXRpb24gX2FwcGxpY2F0aW9uTWFuaWZlc3RdID8gW2NvbmZpZ3VyYXRpb24gX2FwcGxpY2F0aW9u
TWFuaWZlc3RdLT5fYXBwbGljYXRpb25NYW5pZmVzdC5nZXQoKSA6IG51bGxwdHIpOworI2VuZGlm
CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgaWYgKGF1dG8gY3B1TGltaXQgPSBbX2NvbmZpZ3Vy
YXRpb24gX2NwdUxpbWl0XSkKICAgICAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnNldENQVUxpbWl0
KGNwdUxpbWl0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggNDRiYWI2ODUzZTkuLmNhNDBh
YWE1MThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQpAQCAtMTQ2LDYgKzE0NiwxMCBAQCBAaW1w
bGVtZW50YXRpb24gV0tXZWJWaWV3Q29uZmlndXJhdGlvbiB7CiAgICAgQk9PTCBfd2FpdHNGb3JQ
YWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdzsKICAgICBCT09MIF9jb250cm9sbGVkQnlBdXRv
bWF0aW9uOwogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIFJldGFpblB0
cjxfV0tBcHBsaWNhdGlvbk1hbmlmZXN0PiBfYXBwbGljYXRpb25NYW5pZmVzdDsKKyNlbmRpZgor
CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAgICBCT09MIF9hcHBsZVBheUVuYWJsZWQ7CiAjZW5k
aWYKQEAgLTM1Myw2ICszNTcsOSBAQCAtIChpZCljb3B5V2l0aFpvbmU6KE5TWm9uZSAqKXpvbmUK
ICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIGNvbmZpZ3VyYXRpb24tPl9hcHBsZVBheUVuYWJs
ZWQgPSBzZWxmLT5fYXBwbGVQYXlFbmFibGVkOwogI2VuZGlmCisjaWYgRU5BQkxFKEFQUExJQ0FU
SU9OX01BTklGRVNUKQorICAgIGNvbmZpZ3VyYXRpb24tPl9hcHBsaWNhdGlvbk1hbmlmZXN0ID0g
c2VsZi0+X2FwcGxpY2F0aW9uTWFuaWZlc3Q7CisjZW5kaWYKICAgICBjb25maWd1cmF0aW9uLT5f
bmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsgPSBzZWxmLT5fbmVlZHNTdG9yYWdl
QWNjZXNzRnJvbUZpbGVVUkxzUXVpcms7CiAgICAgY29uZmlndXJhdGlvbi0+X292ZXJyaWRlQ29u
dGVudFNlY3VyaXR5UG9saWN5ID0gYWRvcHROUyhbc2VsZi0+X292ZXJyaWRlQ29udGVudFNlY3Vy
aXR5UG9saWN5IGNvcHlXaXRoWm9uZTp6b25lXSk7CiAKQEAgLTc0NCw2ICs3NTEsMjIgQEAgLSAo
dm9pZClfc2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbjooQk9PTCljb250cm9sbGVkQnlBdXRvbWF0
aW9uCiAgICAgX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkQnlBdXRvbWF0aW9u
OwogfQogCistIChfV0tBcHBsaWNhdGlvbk1hbmlmZXN0ICopX2FwcGxpY2F0aW9uTWFuaWZlc3QK
K3sKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgcmV0dXJuIF9hcHBsaWNh
dGlvbk1hbmlmZXN0LmdldCgpOworI2Vsc2UKKyAgICByZXR1cm4gbmlsOworI2VuZGlmCit9CisK
Ky0gKHZvaWQpX3NldEFwcGxpY2F0aW9uTWFuaWZlc3Q6KF9XS0FwcGxpY2F0aW9uTWFuaWZlc3Qg
KilhcHBsaWNhdGlvbk1hbmlmZXN0Cit7CisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNU
KQorICAgIF9hcHBsaWNhdGlvbk1hbmlmZXN0ID0gYXBwbGljYXRpb25NYW5pZmVzdDsKKyNlbmRp
ZgorfQorCiAjaWYgUExBVEZPUk0oTUFDKQogLSAoQk9PTClfc2hvd3NVUkxzSW5Ub29sVGlwcwog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAppbmRleCA4ODBiY2QzMWYyNi4uZjg4
YTVjMDIwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCkBAIC0zNiw2ICsz
Niw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tEcmFnTGlmdERlbGF5KSB7CiAj
ZW5kaWYKIAogQGNsYXNzIFdLV2ViVmlldzsKK0BjbGFzcyBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0
OwogQGNsYXNzIF9XS1Zpc2l0ZWRMaW5rU3RvcmU7CiBAY2xhc3MgX1dLV2Vic2l0ZURhdGFTdG9y
ZTsKIApAQCAtNjYsNiArNjcsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLRHJh
Z0xpZnREZWxheSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QXBwbGVQYXlF
bmFibGVkOikgQk9PTCBfYXBwbGVQYXlFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEyKSwgaW9zKDEwLjApKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFdhaXRz
Rm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c6KSBCT09MIF93YWl0c0ZvclBhaW50QWZ0
ZXJWaWV3RGlkTW92ZVRvV2luZG93IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBp
b3MoMTAuMykpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0Q29udHJvbGxlZEJ5
QXV0b21hdGlvbjosIGdldHRlcj1faXNDb250cm9sbGVkQnlBdXRvbWF0aW9uKSBCT09MIF9jb250
cm9sbGVkQnlBdXRvbWF0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3Mo
MTAuMykpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QXBwbGljYXRpb25NYW5p
ZmVzdDopIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QgKl9hcHBsaWNhdGlvbk1hbmlmZXN0OwogCiAj
aWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWx3
YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5OikgQk9PTCBfYWx3YXlzUnVuc0F0Rm9yZWdyb3Vu
ZFByaW9yaXR5IFdLX0FQSV9BVkFJTEFCTEUoaW9zKDlfMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5h
bC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFu
aWZlc3RJbnRlcm5hbC5oCmluZGV4IDJiODc4ODZjMTY1Li42YTdjMTA5Y2Y5YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZl
c3RJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tB
cHBsaWNhdGlvbk1hbmlmZXN0SW50ZXJuYWwuaApAQCAtMzMsMTAgKzMzLDYgQEAKICNpbXBvcnQg
Il9XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaCIKICNpbXBvcnQgPFdlYkNvcmUvQXBwbGljYXRpb25N
YW5pZmVzdC5oPgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1zdHJ1Y3QgQXBwbGljYXRpb25NYW5p
ZmVzdDsKLX0KLQogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKIG5hbWVzcGFjZSBB
UEkgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBjMjE2
MzRlYmVkNS4uNTI3MTZmYTkyYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMTQ0LDYgKzE0NCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9TeXN0ZW1UcmFjaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nVmlldy5oPgogCisjaWYgRU5BQkxFKEFQUExJ
Q0FUSU9OX01BTklGRVNUKQorI2luY2x1ZGUgIkFQSUFwcGxpY2F0aW9uTWFuaWZlc3QuaCIKKyNl
bmRpZgorCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICNpbmNsdWRlICJSZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvclByb3h5LmgiCiAjZW5kaWYKQEAgLTU4MTYsNiArNTgyMCwxMCBAQCBX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJz
KCkKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisg
ICAgcGFyYW1ldGVycy5hcHBsaWNhdGlvbk1hbmlmZXN0ID0gbV9jb25maWd1cmF0aW9uLT5hcHBs
aWNhdGlvbk1hbmlmZXN0KCkgPyBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFu
aWZlc3Q+KG1fY29uZmlndXJhdGlvbi0+YXBwbGljYXRpb25NYW5pZmVzdCgpLT5hcHBsaWNhdGlv
bk1hbmlmZXN0KCkpIDogc3RkOjpudWxsb3B0OworI2VuZGlmCisKICAgICBtX3Byb2Nlc3MtPmFk
ZFdlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5KG1fdXNlckNvbnRlbnRDb250cm9sbGVyLCBw
YXJhbWV0ZXJzKTsKIAogICAgIHJldHVybiBwYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA1MjcxNGQyZTI5MC4uY2M2NTUxMzgz
ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBA
IC00MTksNiArNDE5LDEwIEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBwYWdlQ29uZmlndXJhdGlv
bi5wYXltZW50Q29vcmRpbmF0b3JDbGllbnQgPSBuZXcgV2ViUGF5bWVudENvb3JkaW5hdG9yKCp0
aGlzKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIHBh
Z2VDb25maWd1cmF0aW9uLmFwcGxpY2F0aW9uTWFuaWZlc3QgPSBwYXJhbWV0ZXJzLmFwcGxpY2F0
aW9uTWFuaWZlc3Q7CisjZW5kaWYKKwogICAgIG1fcGFnZSA9IHN0ZDo6bWFrZV91bmlxdWU8UGFn
ZT4oV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbikpOwogICAgIHVwZGF0ZVByZWZlcmVuY2VzKHBh
cmFtZXRlcnMuc3RvcmUpOwogCg==
</data>
<flag name="review"
          id="347567"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328532</attachid>
            <date>2017-12-05 17:16:02 -0800</date>
            <delta_ts>2017-12-06 14:58:53 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>0003-Web-App-Manifest-Add-SPI-for-applying-a-manifest-to-.patch</filename>
            <type>text/plain</type>
            <size>19202</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">RnJvbSAxODAyZTk1ZDNhZmEzMGFmMzYxYjMyOGNlNzFjZDhkZTA1ZTU0OTRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNv
bT4KRGF0ZTogVHVlLCA3IE5vdiAyMDE3IDE0OjE3OjE4IC0wODAwClN1YmplY3Q6IFtQQVRDSCAz
LzVdIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBhcHBseWluZyBhIG1hbmlmZXN0IHRv
IGEKIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODAzNjgKIHJkYXI6Ly9wcm9ibGVtLzM0NzQ4MDY3CgpSZXZpZXdlZCBi
eSBHZW9mZnJleSBHYXJlbi4KClNvdXJjZS9XZWJDb3JlOgoKU3VwcG9ydCBhcHBseWluZyBhIG1h
bmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQgYnkgYWRkaW5nIGEgbWFuaWZl
c3QKcHJvcGVydHkgb24gUGFnZUNvbmZpZ3VyYXRpb24gdG8gYmUgc3RvcmVkIG9uIE1haW5GcmFt
ZSBpbnN0YW5jZXMgY3JlYXRlZCBmcm9tIHRoZQpjb25maWd1cmF0aW9uLgoKTm8gbmV3IHRlc3Rz
LCBubyBjaGFuZ2UgaW4gYmVoYXZpb3IuCgoqIHBhZ2UvTWFpbkZyYW1lLmNwcDoKKFdlYkNvcmU6
Ok1haW5GcmFtZTo6TWFpbkZyYW1lKToKKiBwYWdlL01haW5GcmFtZS5oOgoqIHBhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uaDoKClNvdXJjZS9XZWJLaXQ6CgpBZGQgYSBuZXcgcHJvcGVydHkgV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5fYXBwbGljYXRpb25NYW5pZmVzdCB0byBzcGVjaWZ5IG1hbmlmZXN0
CnRvIGFwcGx5IHRvIGFwcGxpY2F0aW9uIGNvbnRleHRzIChha2EuIHRvcC1sZXZlbCBicm93c2lu
ZyBjb250ZXh0cywgaS5lLiB3ZWIgdmlld3MpLgpUaGUgbWFuaWZlc3QgaXMgdWx0aW1hdGVseSBz
dG9yZWQgb24gdGhlIE1haW5GcmFtZSBvZiB0aGUgUGFnZXMgY3JlYXRlZCBmcm9tIHRoZQp3ZWIg
dmlldyBjb25maWd1cmF0aW9uLgoKTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4gYmVoYXZpb3Iu
CgoqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKFdlYktpdDo6V2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKFdlYktpdDo6V2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cy5oOgoqIFVJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwOgooQVBJOjpQYWdl
Q29uZmlndXJhdGlvbjo6Y29weSBjb25zdCk6CihBUEk6OlBhZ2VDb25maWd1cmF0aW9uOjphcHBs
aWNhdGlvbk1hbmlmZXN0IGNvbnN0KToKKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OnNldEFwcGxp
Y2F0aW9uTWFuaWZlc3QpOgoqIFVJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaDoK
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKC1bV0tXZWJWaWV3IF9pbml0aWFs
aXplV2l0aENvbmZpZ3VyYXRpb246XSk6CiogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uLm1tOgooLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGNvcHlXaXRoWm9uZTpd
KToKKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfYXBwbGljYXRpb25NYW5pZmVzdF0pOgooLVtX
S1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRBcHBsaWNhdGlvbk1hbmlmZXN0Ol0pOgoqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaDoKKiBVSVByb2Nl
c3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oOgoqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgooV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1l
dGVycyk6CiogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgooV2ViS2l0OjptX2NwdUxp
bWl0KToKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8IDE5ICsrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5jcHAg
ICAgICAgICAgICAgICAgICB8ICAzICsrCiBTb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5o
ICAgICAgICAgICAgICAgICAgICB8IDEwICsrKysrKwogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uZmlndXJhdGlvbi5oICAgICAgICAgICAgfCAgNiArKysrCiBTb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysr
KysKIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwIHwg
MTEgKysrKysrKwogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cy5oICAgfCAgNSArKysKIC4uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJh
dGlvbi5jcHAgIHwgMTkgKysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElQYWdlQ29uZmlndXJhdGlvbi5oIHwgMTIgKysrKysrKwogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSAgICAgfCAgNCArKysKIC4uLi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gIHwgMjMgKysrKysrKysrKysrKysKIC4u
Li9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCAgICAgIHwgIDIgKysK
IC4uLi9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmggICAgIHwgIDQg
LS0tCiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwICAgICAgICAgICB8
ICA4ICsrKysrCiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCAg
ICAgICB8ICA0ICsrKwogMTUgZmlsZXMgY2hhbmdlZCwgMTYzIGluc2VydGlvbnMoKyksIDQgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDUyNzkyZWQ3YzI5Li4zYzdjMGRjZWI3MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRf
cXVlc2FkYUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIEFkZCBTUEkg
Zm9yIGFwcGx5aW5nIGEgbWFuaWZlc3QgdG8gYSB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzY4Cisg
ICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM0NzQ4MDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmZyZXkgR2FyZW4uCisKKyAgICAgICAgU3VwcG9ydCBhcHBseWluZyBhIG1hbmlmZXN0IHRvIGEg
dG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQgYnkgYWRkaW5nIGEgbWFuaWZlc3QKKyAgICAgICAg
cHJvcGVydHkgb24gUGFnZUNvbmZpZ3VyYXRpb24gdG8gYmUgc3RvcmVkIG9uIE1haW5GcmFtZSBp
bnN0YW5jZXMgY3JlYXRlZCBmcm9tIHRoZQorICAgICAgICBjb25maWd1cmF0aW9uLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogcGFn
ZS9NYWluRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFpbkZyYW1lOjpNYWluRnJhbWUp
OgorICAgICAgICAqIHBhZ2UvTWFpbkZyYW1lLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmln
dXJhdGlvbi5oOgorCiAyMDE3LTEyLTAxICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBh
cHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIEFkZCBTUEkgZm9yIGZldGNo
aW5nIHRoZSBtYW5pZmVzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJh
bWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCmluZGV4IDcyMDk5MjY3
MDRhLi41NmY5OWRlYWJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJh
bWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcApAQCAtNTEsNiAr
NTEsOSBAQCBpbmxpbmUgTWFpbkZyYW1lOjpNYWluRnJhbWUoUGFnZSYgcGFnZSwgUGFnZUNvbmZp
Z3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAgICAsIG1f
cGF5bWVudENvb3JkaW5hdG9yKHN0ZDo6bWFrZV91bmlxdWU8UGF5bWVudENvb3JkaW5hdG9yPigq
Y29uZmlndXJhdGlvbi5wYXltZW50Q29vcmRpbmF0b3JDbGllbnQpKQogI2VuZGlmCisjaWYgRU5B
QkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgICwgbV9hcHBsaWNhdGlvbk1hbmlmZXN0KGNv
bmZpZ3VyYXRpb24uYXBwbGljYXRpb25NYW5pZmVzdCkKKyNlbmRpZgogICAgICwgbV9wZXJmb3Jt
YW5jZUxvZ2dpbmcoc3RkOjptYWtlX3VuaXF1ZTxQZXJmb3JtYW5jZUxvZ2dpbmc+KCp0aGlzKSkK
IHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCmluZGV4IDQyY2M3MzlhNjhmLi42NjFmZDgxZmM2
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCkBAIC0yNSw3ICsyNSw5IEBACiAKICNwcmFnbWEg
b25jZQogCisjaW5jbHVkZSAiQXBwbGljYXRpb25NYW5pZmVzdC5oIgogI2luY2x1ZGUgIkZyYW1l
LmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Nyw2ICs2OSwxMCBAQCBwdWJsaWM6CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzZXRQYXltZW50Q29vcmRpbmF0b3Ioc3RkOjp1bmlxdWVfcHRyPFBh
eW1lbnRDb29yZGluYXRvcj4mJik7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9N
QU5JRkVTVCkKKyAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPEFwcGxpY2F0aW9uTWFuaWZlc3Q+JiBh
cHBsaWNhdGlvbk1hbmlmZXN0KCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvbk1hbmlmZXN0
OyB9CisjZW5kaWYKKwogICAgIFBlcmZvcm1hbmNlTG9nZ2luZyYgcGVyZm9ybWFuY2VMb2dnaW5n
KCkgY29uc3QgeyByZXR1cm4gKm1fcGVyZm9ybWFuY2VMb2dnaW5nOyB9CiAKICAgICB2b2lkIGRp
ZENvbXBsZXRlTG9hZCgpOwpAQCAtOTIsNiArOTgsMTAgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8UGF5bWVudENvb3JkaW5hdG9yPiBtX3BheW1lbnRDb29yZGluYXRvcjsKICNlbmRp
ZgogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIHN0ZDo6b3B0aW9uYWw8
QXBwbGljYXRpb25NYW5pZmVzdD4gbV9hcHBsaWNhdGlvbk1hbmlmZXN0OworI2VuZGlmCisKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UGVyZm9ybWFuY2VMb2dnaW5nPiBtX3BlcmZvcm1hbmNlTG9nZ2lu
ZzsKIAogICAgIHVuc2lnbmVkIG1fbmF2aWdhdGlvbkRpc2FibGVDb3VudCB7IDAgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAppbmRleCBhODYyZDQzMDJlMC4uNTczYTE1
ZTllNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTI1LDcg
KzI1LDkgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBcHBsaWNhdGlvbk1hbmlmZXN0
LmgiCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4K
IApAQCAtNzUsNiArNzcsMTAgQEAgcHVibGljOgogICAgIFBheW1lbnRDb29yZGluYXRvckNsaWVu
dCogcGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsgbnVsbHB0ciB9OwogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgc3RkOjpvcHRpb25hbDxBcHBsaWNhdGlv
bk1hbmlmZXN0PiBhcHBsaWNhdGlvbk1hbmlmZXN0OworI2VuZGlmCisKICAgICBVbmlxdWVSZWY8
TGliV2ViUlRDUHJvdmlkZXI+IGxpYldlYlJUQ1Byb3ZpZGVyOwogCiAgICAgUGx1Z0luQ2xpZW50
KiBwbHVnSW5DbGllbnQgeyBudWxscHRyIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ5ZTI1YjYyMmNjLi4yNGYx
NWUzZjMyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNy0xMi0wNCAgRGF2aWQgUXVl
c2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQXBwIE1hbmlm
ZXN0XSBBZGQgU1BJIGZvciBhcHBseWluZyBhIG1hbmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dz
aW5nIGNvbnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MDM2OAorICAgICAgICByZGFyOi8vcHJvYmxlbS8zNDc0ODA2NworCisgICAgICAgIFJl
dmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgIEFkZCBhIG5ldyBwcm9wZXJ0eSBX
S1dlYlZpZXdDb25maWd1cmF0aW9uLl9hcHBsaWNhdGlvbk1hbmlmZXN0IHRvIHNwZWNpZnkgbWFu
aWZlc3QKKyAgICAgICAgdG8gYXBwbHkgdG8gYXBwbGljYXRpb24gY29udGV4dHMgKGFrYS4gdG9w
LWxldmVsIGJyb3dzaW5nIGNvbnRleHRzLCBpLmUuIHdlYiB2aWV3cykuCisgICAgICAgIFRoZSBt
YW5pZmVzdCBpcyB1bHRpbWF0ZWx5IHN0b3JlZCBvbiB0aGUgTWFpbkZyYW1lIG9mIHRoZSBQYWdl
cyBjcmVhdGVkIGZyb20gdGhlCisgICAgICAgIHdlYiB2aWV3IGNvbmZpZ3VyYXRpb24uCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBT
aGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBh
Z2VDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNv
cHkgY29uc3QpOgorICAgICAgICAoQVBJOjpQYWdlQ29uZmlndXJhdGlvbjo6YXBwbGljYXRpb25N
YW5pZmVzdCBjb25zdCk6CisgICAgICAgIChBUEk6OlBhZ2VDb25maWd1cmF0aW9uOjpzZXRBcHBs
aWNhdGlvbk1hbmlmZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1
cmF0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOl0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBjb3B5V2l0aFpvbmU6XSk6CisgICAgICAg
ICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX2FwcGxpY2F0aW9uTWFuaWZlc3RdKToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0QXBwbGljYXRpb25NYW5pZmVzdDpdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2
YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlm
ZXN0SW50ZXJuYWwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9j
cHVMaW1pdCk6CisKIDIwMTctMTItMDEgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFw
cGxlLmNvbT4KIAogICAgICAgICBbV2ViIEFwcCBNYW5pZmVzdF0gQWRkIFNQSSBmb3IgZmV0Y2hp
bmcgdGhlIG1hbmlmZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGYxYmM2MmQzNTYxLi4wZTgzNmNjNWIyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAK
QEAgLTk2LDYgKzk2LDkgQEAgdm9pZCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUo
SVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVDb250
ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAgZW5jb2RlciA8PCBjcHVMaW1pdDsKICAgICBlbmNvZGVy
IDw8IHVybFNjaGVtZUhhbmRsZXJzOworI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkK
KyAgICBlbmNvZGVyIDw8IGFwcGxpY2F0aW9uTWFuaWZlc3Q7CisjZW5kaWYKICAgICBlbmNvZGVy
IDw8IGljZUNhbmRpZGF0ZUZpbHRlcmluZ0VuYWJsZWQ7CiAgICAgZW5jb2RlciA8PCBlbnVtZXJh
dGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZDsKICAgICBlbmNvZGVyIDw8IHVzZXJDb250
ZW50V29ybGRzOwpAQCAtMjU3LDYgKzI2MCwxNCBAQCBzdGQ6Om9wdGlvbmFsPFdlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnM+IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6Ogog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy51cmxTY2hlbWVIYW5kbGVycykpCiAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFO
SUZFU1QpCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0
aW9uTWFuaWZlc3Q+PiBhcHBsaWNhdGlvbk1hbmlmZXN0OworICAgIGRlY29kZXIgPj4gYXBwbGlj
YXRpb25NYW5pZmVzdDsKKyAgICBpZiAoIWFwcGxpY2F0aW9uTWFuaWZlc3QpCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcGFyYW1ldGVycy5hcHBsaWNhdGlvbk1hbmlmZXN0ID0g
V1RGTW92ZSgqYXBwbGljYXRpb25NYW5pZmVzdCk7CisjZW5kaWYKKwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocGFyYW1ldGVycy5pY2VDYW5kaWRhdGVGaWx0ZXJpbmdFbmFibGVkKSkKICAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDYyNjZmNzk2ODdiLi5lOWZmNTI5Nzc5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMu
aApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzU3RvcmUuaCIKICNp
bmNsdWRlICJXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL0FjdGl2aXR5U3RhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0FwcGxpY2F0aW9uTWFu
aWZlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NvbG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9G
bG9hdFNpemUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFNpemUuaD4KQEAgLTE1Miw2ICsxNTMs
MTAgQEAgc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgewogCiAgICAgSGFzaE1hcDxT
dHJpbmcsIHVpbnQ2NF90PiB1cmxTY2hlbWVIYW5kbGVyczsKIAorI2lmIEVOQUJMRShBUFBMSUNB
VElPTl9NQU5JRkVTVCkKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFu
aWZlc3Q+IGFwcGxpY2F0aW9uTWFuaWZlc3Q7CisjZW5kaWYKKwogICAgIC8vIFdlYlJUQyBtZW1i
ZXJzLgogICAgIGJvb2wgaWNlQ2FuZGlkYXRlRmlsdGVyaW5nRW5hYmxlZCB7IHRydWUgfTsKICAg
ICBib29sIGVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXNFbmFibGVkIHsgZmFsc2UgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRp
b24uY3BwCmluZGV4IDJmZTNmYTZmYjNkLi40YjdkY2JjOTNiMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC0zMyw2
ICszMywxMCBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCiAjaW5jbHVkZSAiV2ViVXNl
ckNvbnRlbnRDb250cm9sbGVyUHJveHkuaCIKIAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5J
RkVTVCkKKyNpbmNsdWRlICJBUElBcHBsaWNhdGlvbk1hbmlmZXN0LmgiCisjZW5kaWYKKwogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCkBAIC03Miw2
ICs3Niw5IEBAIFJlZjxQYWdlQ29uZmlndXJhdGlvbj4gUGFnZUNvbmZpZ3VyYXRpb246OmNvcHko
KSBjb25zdAogICAgIGNvcHktPm1fY3B1TGltaXQgPSB0aGlzLT5tX2NwdUxpbWl0OwogICAgIGNv
cHktPm1fY29udHJvbGxlZEJ5QXV0b21hdGlvbiA9IHRoaXMtPm1fY29udHJvbGxlZEJ5QXV0b21h
dGlvbjsKICAgICBjb3B5LT5tX292ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5ID0gdGhpcy0+
bV9vdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeTsKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05f
TUFOSUZFU1QpCisgICAgY29weS0+bV9hcHBsaWNhdGlvbk1hbmlmZXN0ID0gdGhpcy0+bV9hcHBs
aWNhdGlvbk1hbmlmZXN0OworI2VuZGlmCiAKICAgICByZXR1cm4gY29weTsKIH0KQEAgLTE2NSw0
ICsxNzIsMTYgQEAgdm9pZCBQYWdlQ29uZmlndXJhdGlvbjo6c2V0U2Vzc2lvbklEKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCkKICAgICBtX3Nlc3Npb25JRCA9IHNlc3Npb25JRDsKIH0KIAorI2lm
IEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKK2NvbnN0IEFwcGxpY2F0aW9uTWFuaWZlc3Qq
IFBhZ2VDb25maWd1cmF0aW9uOjphcHBsaWNhdGlvbk1hbmlmZXN0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9hcHBsaWNhdGlvbk1hbmlmZXN0LmdldCgpOworfQorCit2b2lkIFBhZ2VDb25maWd1
cmF0aW9uOjpzZXRBcHBsaWNhdGlvbk1hbmlmZXN0KEFwcGxpY2F0aW9uTWFuaWZlc3QqIGFwcGxp
Y2F0aW9uTWFuaWZlc3QpCit7CisgICAgbV9hcHBsaWNhdGlvbk1hbmlmZXN0ID0gYXBwbGljYXRp
b25NYW5pZmVzdDsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmgKaW5kZXggOTQ1
NTIzOWY1MTUuLmNjOTIwZTAxMzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtNDMsNiArNDMsOSBAQCBjbGFzcyBXZWJV
c2VyQ29udGVudENvbnRyb2xsZXJQcm94eTsKIAogbmFtZXNwYWNlIEFQSSB7CiAKKyNpZiBFTkFC
TEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCitjbGFzcyBBcHBsaWNhdGlvbk1hbmlmZXN0OworI2Vu
ZGlmCiBjbGFzcyBXZWJzaXRlRGF0YVN0b3JlOwogCiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbiA6
IHB1YmxpYyBPYmplY3RJbXBsPE9iamVjdDo6VHlwZTo6UGFnZUNvbmZpZ3VyYXRpb24+IHsKQEAg
LTEwNiw2ICsxMDksMTEgQEAgcHVibGljOgogICAgIGNvbnN0IFdURjo6U3RyaW5nJiBvdmVycmlk
ZUNvbnRlbnRTZWN1cml0eVBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVDb250ZW50
U2VjdXJpdHlQb2xpY3k7IH0KICAgICB2b2lkIHNldE92ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9s
aWN5KGNvbnN0IFdURjo6U3RyaW5nJiBvdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSkgeyBt
X292ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5ID0gb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQ
b2xpY3k7IH0KIAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBjb25zdCBB
cHBsaWNhdGlvbk1hbmlmZXN0KiBhcHBsaWNhdGlvbk1hbmlmZXN0KCkgY29uc3Q7CisgICAgdm9p
ZCBzZXRBcHBsaWNhdGlvbk1hbmlmZXN0KEFwcGxpY2F0aW9uTWFuaWZlc3QqKTsKKyNlbmRpZgor
CiBwcml2YXRlOgogCiAgICAgUmVmUHRyPFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w+IG1fcHJvY2Vz
c1Bvb2w7CkBAIC0xMzEsNiArMTM5LDEwIEBAIHByaXZhdGU6CiAgICAgc3RkOjpvcHRpb25hbDxk
b3VibGU+IG1fY3B1TGltaXQ7CiAKICAgICBXVEY6OlN0cmluZyBtX292ZXJyaWRlQ29udGVudFNl
Y3VyaXR5UG9saWN5OworCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIFJl
ZlB0cjxBcHBsaWNhdGlvbk1hbmlmZXN0PiBtX2FwcGxpY2F0aW9uTWFuaWZlc3Q7CisjZW5kaWYK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYTI5ZGJjYjFmZGIuLjhkNTgyNmJjN2FiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTUz
Nyw2ICs1MzcsMTAgQEAgLSAodm9pZClfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOihXS1dl
YlZpZXdDb25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbgogICAgIHBhZ2VDb25maWd1cmF0aW9u
LT5zZXRXYWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93KFtfY29uZmlndXJhdGlv
biBfd2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvd10pOwogICAgIHBhZ2VDb25m
aWd1cmF0aW9uLT5zZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKFtfY29uZmlndXJhdGlvbiBfaXND
b250cm9sbGVkQnlBdXRvbWF0aW9uXSk7CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCisgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnNldEFwcGxpY2F0aW9uTWFuaWZlc3QoW19jb25m
aWd1cmF0aW9uIF9hcHBsaWNhdGlvbk1hbmlmZXN0XSA/IFtjb25maWd1cmF0aW9uIF9hcHBsaWNh
dGlvbk1hbmlmZXN0XS0+X2FwcGxpY2F0aW9uTWFuaWZlc3QuZ2V0KCkgOiBudWxscHRyKTsKKyNl
bmRpZgorCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGlmIChhdXRvIGNwdUxpbWl0ID0gW19jb25m
aWd1cmF0aW9uIF9jcHVMaW1pdF0pCiAgICAgICAgIHBhZ2VDb25maWd1cmF0aW9uLT5zZXRDUFVM
aW1pdChjcHVMaW1pdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCmluZGV4IDQ0YmFiNjg1M2U5Li5j
YTQwYWFhNTE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE0Niw2ICsxNDYsMTAgQEAg
QGltcGxlbWVudGF0aW9uIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gewogICAgIEJPT0wgX3dhaXRz
Rm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c7CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5
QXV0b21hdGlvbjsKIAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBSZXRh
aW5QdHI8X1dLQXBwbGljYXRpb25NYW5pZmVzdD4gX2FwcGxpY2F0aW9uTWFuaWZlc3Q7CisjZW5k
aWYKKwogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgQk9PTCBfYXBwbGVQYXlFbmFibGVkOwog
I2VuZGlmCkBAIC0zNTMsNiArMzU3LDkgQEAgLSAoaWQpY29weVdpdGhab25lOihOU1pvbmUgKil6
b25lCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAgICBjb25maWd1cmF0aW9uLT5fYXBwbGVQYXlF
bmFibGVkID0gc2VsZi0+X2FwcGxlUGF5RW5hYmxlZDsKICNlbmRpZgorI2lmIEVOQUJMRShBUFBM
SUNBVElPTl9NQU5JRkVTVCkKKyAgICBjb25maWd1cmF0aW9uLT5fYXBwbGljYXRpb25NYW5pZmVz
dCA9IHNlbGYtPl9hcHBsaWNhdGlvbk1hbmlmZXN0OworI2VuZGlmCiAgICAgY29uZmlndXJhdGlv
bi0+X25lZWRzU3RvcmFnZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrID0gc2VsZi0+X25lZWRzU3Rv
cmFnZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9vdmVycmlk
ZUNvbnRlbnRTZWN1cml0eVBvbGljeSA9IGFkb3B0TlMoW3NlbGYtPl9vdmVycmlkZUNvbnRlbnRT
ZWN1cml0eVBvbGljeSBjb3B5V2l0aFpvbmU6em9uZV0pOwogCkBAIC03NDQsNiArNzUxLDIyIEBA
IC0gKHZvaWQpX3NldENvbnRyb2xsZWRCeUF1dG9tYXRpb246KEJPT0wpY29udHJvbGxlZEJ5QXV0
b21hdGlvbgogICAgIF9jb250cm9sbGVkQnlBdXRvbWF0aW9uID0gY29udHJvbGxlZEJ5QXV0b21h
dGlvbjsKIH0KIAorLSAoX1dLQXBwbGljYXRpb25NYW5pZmVzdCAqKV9hcHBsaWNhdGlvbk1hbmlm
ZXN0Cit7CisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIHJldHVybiBfYXBw
bGljYXRpb25NYW5pZmVzdC5nZXQoKTsKKyNlbHNlCisgICAgcmV0dXJuIG5pbDsKKyNlbmRpZgor
fQorCistICh2b2lkKV9zZXRBcHBsaWNhdGlvbk1hbmlmZXN0OihfV0tBcHBsaWNhdGlvbk1hbmlm
ZXN0ICopYXBwbGljYXRpb25NYW5pZmVzdAoreworI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5J
RkVTVCkKKyAgICBfYXBwbGljYXRpb25NYW5pZmVzdCA9IGFwcGxpY2F0aW9uTWFuaWZlc3Q7Cisj
ZW5kaWYKK30KKwogI2lmIFBMQVRGT1JNKE1BQykKIC0gKEJPT0wpX3Nob3dzVVJMc0luVG9vbFRp
cHMKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggODgwYmNkMzFmMjYu
LmY4OGE1YzAyMDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaApAQCAtMzYs
NiArMzYsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLRHJhZ0xpZnREZWxheSkg
ewogI2VuZGlmCiAKIEBjbGFzcyBXS1dlYlZpZXc7CitAY2xhc3MgX1dLQXBwbGljYXRpb25NYW5p
ZmVzdDsKIEBjbGFzcyBfV0tWaXNpdGVkTGlua1N0b3JlOwogQGNsYXNzIF9XS1dlYnNpdGVEYXRh
U3RvcmU7CiAKQEAgLTY2LDYgKzY3LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9X
S0RyYWdMaWZ0RGVsYXkpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFwcGxl
UGF5RW5hYmxlZDopIEJPT0wgX2FwcGxlUGF5RW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29z
eCgxMC4xMiksIGlvcygxMC4wKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRX
YWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93OikgQk9PTCBfd2FpdHNGb3JQYWlu
dEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMi4z
KSwgaW9zKDEwLjMpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldENvbnRyb2xs
ZWRCeUF1dG9tYXRpb246LCBnZXR0ZXI9X2lzQ29udHJvbGxlZEJ5QXV0b21hdGlvbikgQk9PTCBf
Y29udHJvbGxlZEJ5QXV0b21hdGlvbiBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMi4zKSwg
aW9zKDEwLjMpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFwcGxpY2F0aW9u
TWFuaWZlc3Q6KSBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0ICpfYXBwbGljYXRpb25NYW5pZmVzdDsK
IAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dEFsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTopIEJPT0wgX2Fsd2F5c1J1bnNBdEZvcmVn
cm91bmRQcmlvcml0eSBXS19BUElfQVZBSUxBQkxFKGlvcyg5XzApKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0SW50
ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlv
bk1hbmlmZXN0SW50ZXJuYWwuaAppbmRleCAyYjg3ODg2YzE2NS4uNmE3YzEwOWNmOWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1h
bmlmZXN0SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmgKQEAgLTMzLDEwICszMyw2IEBACiAjaW1w
b3J0ICJfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxpY2F0
aW9uTWFuaWZlc3QuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgewotc3RydWN0IEFwcGxpY2F0aW9u
TWFuaWZlc3Q7Ci19Ci0KICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiBuYW1lc3Bh
Y2UgQVBJIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
Y2Q4OTlhNjg0MzIuLjM4ZTVjY2YxMTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKQEAgLTE0NCw2ICsxNDQsMTAgQEAKICNpbmNsdWRlIDx3dGYvU3lzdGVtVHJh
Y2luZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAorI2lmIEVOQUJMRShB
UFBMSUNBVElPTl9NQU5JRkVTVCkKKyNpbmNsdWRlICJBUElBcHBsaWNhdGlvbk1hbmlmZXN0Lmgi
CisjZW5kaWYKKwogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAjaW5jbHVkZSAiUmVtb3Rl
U2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oIgogI2VuZGlmCkBAIC01ODEyLDYgKzU4MTYsMTAg
QEAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1l
dGVycygpCiAjZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNU
KQorICAgIHBhcmFtZXRlcnMuYXBwbGljYXRpb25NYW5pZmVzdCA9IG1fY29uZmlndXJhdGlvbi0+
YXBwbGljYXRpb25NYW5pZmVzdCgpID8gc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsaWNhdGlv
bk1hbmlmZXN0PihtX2NvbmZpZ3VyYXRpb24tPmFwcGxpY2F0aW9uTWFuaWZlc3QoKS0+YXBwbGlj
YXRpb25NYW5pZmVzdCgpKSA6IHN0ZDo6bnVsbG9wdDsKKyNlbmRpZgorCiAgICAgbV9wcm9jZXNz
LT5hZGRXZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eShtX3VzZXJDb250ZW50Q29udHJvbGxl
ciwgcGFyYW1ldGVycyk7CiAKICAgICByZXR1cm4gcGFyYW1ldGVyczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNTI3MTRkMmUyOTAuLmNjNjU1
MTM4M2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtNDE5LDYgKzQxOSwxMCBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwg
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24ucGF5bWVudENvb3JkaW5hdG9yQ2xpZW50ID0gbmV3IFdlYlBheW1lbnRDb29yZGluYXRv
cigqdGhpcyk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAg
ICBwYWdlQ29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbk1hbmlmZXN0ID0gcGFyYW1ldGVycy5hcHBs
aWNhdGlvbk1hbmlmZXN0OworI2VuZGlmCisKICAgICBtX3BhZ2UgPSBzdGQ6Om1ha2VfdW5pcXVl
PFBhZ2U+KFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24pKTsKICAgICB1cGRhdGVQcmVmZXJlbmNl
cyhwYXJhbWV0ZXJzLnN0b3JlKTsKIAotLSAKMi4xMy41IChBcHBsZSBHaXQtOTQpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328636</attachid>
            <date>2017-12-06 14:58:53 -0800</date>
            <delta_ts>2017-12-06 17:03:56 -0800</delta_ts>
            <desc>Patch for landing (v2)</desc>
            <filename>4fl.patch</filename>
            <type>text/plain</type>
            <size>19233</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IDA1ZmEzMWYwMTllOGY0MTI0MGVjNzVkNGI0Y2UwNWI1OTQ1M2RkZjMKQXV0aG9yOiBE
YXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KRGF0ZTogICBUdWUgTm92IDcg
MTQ6MTc6MTggMjAxNyAtMDgwMAoKICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBh
cHBseWluZyBhIG1hbmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQKICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzNjgKICAgIHJkYXI6Ly9w
cm9ibGVtLzM0NzQ4MDY3CiAgICAKICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgogICAg
CiAgICBTb3VyY2UvV2ViQ29yZToKICAgIAogICAgU3VwcG9ydCBhcHBseWluZyBhIG1hbmlmZXN0
IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQgYnkgYWRkaW5nIGEgbWFuaWZlc3QKICAg
IHByb3BlcnR5IG9uIFBhZ2VDb25maWd1cmF0aW9uIHRvIGJlIHN0b3JlZCBvbiBNYWluRnJhbWUg
aW5zdGFuY2VzIGNyZWF0ZWQgZnJvbSB0aGUKICAgIGNvbmZpZ3VyYXRpb24uCiAgICAKICAgIE5v
IG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgogICAgCiAgICAqIHBhZ2UvTWFpbkZy
YW1lLmNwcDoKICAgIChXZWJDb3JlOjpNYWluRnJhbWU6Ok1haW5GcmFtZSk6CiAgICAqIHBhZ2Uv
TWFpbkZyYW1lLmg6CiAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKICAgIAogICAgU291
cmNlL1dlYktpdDoKICAgIAogICAgQWRkIGEgbmV3IHByb3BlcnR5IFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb24uX2FwcGxpY2F0aW9uTWFuaWZlc3QgdG8gc3BlY2lmeSBtYW5pZmVzdAogICAgdG8gYXBw
bHkgdG8gYXBwbGljYXRpb24gY29udGV4dHMgKGFrYS4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRl
eHRzLCBpLmUuIHdlYiB2aWV3cykuCiAgICBUaGUgbWFuaWZlc3QgaXMgdWx0aW1hdGVseSBzdG9y
ZWQgb24gdGhlIE1haW5GcmFtZSBvZiB0aGUgUGFnZXMgY3JlYXRlZCBmcm9tIHRoZQogICAgd2Vi
IHZpZXcgY29uZmlndXJhdGlvbi4KICAgIAogICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCiAgICAKICAgICogU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
OgogICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToK
ICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CiAgICAqIFNo
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CiAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
UGFnZUNvbmZpZ3VyYXRpb24uY3BwOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNvcHkg
Y29uc3QpOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmFwcGxpY2F0aW9uTWFuaWZlc3Qg
Y29uc3QpOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OnNldEFwcGxpY2F0aW9uTWFuaWZl
c3QpOgogICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmg6CiAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgogICAgKC1bV0tXZWJWaWV3IF9pbml0aWFs
aXplV2l0aENvbmZpZ3VyYXRpb246XSk6CiAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbToKICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdp
dGhab25lOl0pOgogICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfYXBwbGljYXRpb25NYW5p
ZmVzdF0pOgogICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0QXBwbGljYXRpb25NYW5p
ZmVzdDpdKToKICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
UHJpdmF0ZS5oOgogICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZl
c3RJbnRlcm5hbC5oOgogICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKToKICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgogICAgKFdlYktpdDo6bV9jcHVMaW1pdCk6CgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGNhN2E1OGY0NmJjLi4wODRjODJkZGMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIEFkZCBTUEkgZm9yIGFwcGx5aW5nIGEgbWFuaWZl
c3QgdG8gYSB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzY4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVt
LzM0NzQ4MDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAg
ICAgU3VwcG9ydCBhcHBseWluZyBhIG1hbmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNv
bnRleHQgYnkgYWRkaW5nIGEgbWFuaWZlc3QKKyAgICAgICAgcHJvcGVydHkgb24gUGFnZUNvbmZp
Z3VyYXRpb24gdG8gYmUgc3RvcmVkIG9uIE1haW5GcmFtZSBpbnN0YW5jZXMgY3JlYXRlZCBmcm9t
IHRoZQorICAgICAgICBjb25maWd1cmF0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8g
Y2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogcGFnZS9NYWluRnJhbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWFpbkZyYW1lOjpNYWluRnJhbWUpOgorICAgICAgICAqIHBhZ2UvTWFp
bkZyYW1lLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oOgorCiAyMDE3LTEy
LTAxICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CiAKICAgICAgICAg
W1dlYiBBcHAgTWFuaWZlc3RdIEFkZCBTUEkgZm9yIGZldGNoaW5nIHRoZSBtYW5pZmVzdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9NYWluRnJhbWUuY3BwCmluZGV4IDcyMDk5MjY3MDRhLi41NmY5OWRlYWJhMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcApAQCAtNTEsNiArNTEsOSBAQCBpbmxpbmUgTWFpbkZy
YW1lOjpNYWluRnJhbWUoUGFnZSYgcGFnZSwgUGFnZUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRp
b24pCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAgICAsIG1fcGF5bWVudENvb3JkaW5hdG9yKHN0
ZDo6bWFrZV91bmlxdWU8UGF5bWVudENvb3JkaW5hdG9yPigqY29uZmlndXJhdGlvbi5wYXltZW50
Q29vcmRpbmF0b3JDbGllbnQpKQogI2VuZGlmCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklG
RVNUKQorICAgICwgbV9hcHBsaWNhdGlvbk1hbmlmZXN0KGNvbmZpZ3VyYXRpb24uYXBwbGljYXRp
b25NYW5pZmVzdCkKKyNlbmRpZgogICAgICwgbV9wZXJmb3JtYW5jZUxvZ2dpbmcoc3RkOjptYWtl
X3VuaXF1ZTxQZXJmb3JtYW5jZUxvZ2dpbmc+KCp0aGlzKSkKIHsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5G
cmFtZS5oCmluZGV4IDQyY2M3MzlhNjhmLi4yZTQ1NDA1NTk5NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5G
cmFtZS5oCkBAIC0yNiw4ICsyNiwxMyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJGcmFt
ZS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyNpbmNsdWRlICJBcHBsaWNhdGlv
bk1hbmlmZXN0LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdl
Q29uZmlndXJhdGlvbjsKQEAgLTY3LDYgKzcyLDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldFBheW1lbnRDb29yZGluYXRvcihzdGQ6OnVuaXF1ZV9wdHI8UGF5bWVudENv
b3JkaW5hdG9yPiYmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNU
KQorICAgIGNvbnN0IHN0ZDo6b3B0aW9uYWw8QXBwbGljYXRpb25NYW5pZmVzdD4mIGFwcGxpY2F0
aW9uTWFuaWZlc3QoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9uTWFuaWZlc3Q7IH0KKyNl
bmRpZgorCiAgICAgUGVyZm9ybWFuY2VMb2dnaW5nJiBwZXJmb3JtYW5jZUxvZ2dpbmcoKSBjb25z
dCB7IHJldHVybiAqbV9wZXJmb3JtYW5jZUxvZ2dpbmc7IH0KIAogICAgIHZvaWQgZGlkQ29tcGxl
dGVMb2FkKCk7CkBAIC05Miw2ICsxMDEsMTAgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8UGF5bWVudENvb3JkaW5hdG9yPiBtX3BheW1lbnRDb29yZGluYXRvcjsKICNlbmRpZgogCisj
aWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIHN0ZDo6b3B0aW9uYWw8QXBwbGlj
YXRpb25NYW5pZmVzdD4gbV9hcHBsaWNhdGlvbk1hbmlmZXN0OworI2VuZGlmCisKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UGVyZm9ybWFuY2VMb2dnaW5nPiBtX3BlcmZvcm1hbmNlTG9nZ2luZzsKIAog
ICAgIHVuc2lnbmVkIG1fbmF2aWdhdGlvbkRpc2FibGVDb3VudCB7IDAgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAppbmRleCBhODYyZDQzMDJlMC4uYmQwNzFiMzllZWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTI2LDkgKzI2LDE0
IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1
ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvVW5pcXVlUmVmLmg+CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisjaW5j
bHVkZSAiQXBwbGljYXRpb25NYW5pZmVzdC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwpAQCAtNzUsNiArODAsMTAgQEAgcHVi
bGljOgogICAgIFBheW1lbnRDb29yZGluYXRvckNsaWVudCogcGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50IHsgbnVsbHB0ciB9OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCisgICAgc3RkOjpvcHRpb25hbDxBcHBsaWNhdGlvbk1hbmlmZXN0PiBhcHBsaWNhdGlvbk1h
bmlmZXN0OworI2VuZGlmCisKICAgICBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+IGxpYldl
YlJUQ1Byb3ZpZGVyOwogCiAgICAgUGx1Z0luQ2xpZW50KiBwbHVnSW5DbGllbnQgeyBudWxscHRy
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDUzNzQzZDQxODk2Li43YmIyNGQwZjdmNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxNy0xMi0wNCAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBw
bGUuY29tPgorCisgICAgICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBhcHBseWlu
ZyBhIG1hbmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM2OAorICAgICAgICByZGFy
Oi8vcHJvYmxlbS8zNDc0ODA2NworCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVu
LgorCisgICAgICAgIEFkZCBhIG5ldyBwcm9wZXJ0eSBXS1dlYlZpZXdDb25maWd1cmF0aW9uLl9h
cHBsaWNhdGlvbk1hbmlmZXN0IHRvIHNwZWNpZnkgbWFuaWZlc3QKKyAgICAgICAgdG8gYXBwbHkg
dG8gYXBwbGljYXRpb24gY29udGV4dHMgKGFrYS4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHRz
LCBpLmUuIHdlYiB2aWV3cykuCisgICAgICAgIFRoZSBtYW5pZmVzdCBpcyB1bHRpbWF0ZWx5IHN0
b3JlZCBvbiB0aGUgTWFpbkZyYW1lIG9mIHRoZSBQYWdlcyBjcmVhdGVkIGZyb20gdGhlCisgICAg
ICAgIHdlYiB2aWV3IGNvbmZpZ3VyYXRpb24uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBj
aGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6
OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRl
cnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcDoKKyAg
ICAgICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNvcHkgY29uc3QpOgorICAgICAgICAoQVBJ
OjpQYWdlQ29uZmlndXJhdGlvbjo6YXBwbGljYXRpb25NYW5pZmVzdCBjb25zdCk6CisgICAgICAg
IChBUEk6OlBhZ2VDb25maWd1cmF0aW9uOjpzZXRBcHBsaWNhdGlvbk1hbmlmZXN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaW5p
dGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiBjb3B5V2l0aFpvbmU6XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24gX2FwcGxpY2F0aW9uTWFuaWZlc3RdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBfc2V0QXBwbGljYXRpb25NYW5pZmVzdDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0SW50ZXJuYWwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpjcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9jcHVMaW1pdCk6CisKIDIwMTctMTItMDEg
IERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2Vi
IEFwcCBNYW5pZmVzdF0gQWRkIFNQSSBmb3IgZmV0Y2hpbmcgdGhlIG1hbmlmZXN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4
IGYxYmM2MmQzNTYxLi4wZTgzNmNjNWIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTk2LDYgKzk2LDkgQEAgdm9pZCBX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAogICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAg
ZW5jb2RlciA8PCBjcHVMaW1pdDsKICAgICBlbmNvZGVyIDw8IHVybFNjaGVtZUhhbmRsZXJzOwor
I2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBlbmNvZGVyIDw8IGFwcGxpY2F0
aW9uTWFuaWZlc3Q7CisjZW5kaWYKICAgICBlbmNvZGVyIDw8IGljZUNhbmRpZGF0ZUZpbHRlcmlu
Z0VuYWJsZWQ7CiAgICAgZW5jb2RlciA8PCBlbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2Vz
RW5hYmxlZDsKICAgICBlbmNvZGVyIDw8IHVzZXJDb250ZW50V29ybGRzOwpAQCAtMjU3LDYgKzI2
MCwxNCBAQCBzdGQ6Om9wdGlvbmFsPFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM+IFdlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cGFyYW1ldGVycy51cmxTY2hlbWVIYW5kbGVycykpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgc3RkOjpvcHRpb25h
bDxzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q+PiBhcHBsaWNhdGlv
bk1hbmlmZXN0OworICAgIGRlY29kZXIgPj4gYXBwbGljYXRpb25NYW5pZmVzdDsKKyAgICBpZiAo
IWFwcGxpY2F0aW9uTWFuaWZlc3QpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAg
cGFyYW1ldGVycy5hcHBsaWNhdGlvbk1hbmlmZXN0ID0gV1RGTW92ZSgqYXBwbGljYXRpb25NYW5p
ZmVzdCk7CisjZW5kaWYKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5pY2VD
YW5kaWRhdGVGaWx0ZXJpbmdFbmFibGVkKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5o
CmluZGV4IDYyNjZmNzk2ODdiLi40NWEzNGRkMWI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtNTAsNiArNTAsMTAgQEAKICNp
bmNsdWRlICJDb2xvclNwYWNlRGF0YS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJ
T05fTUFOSUZFU1QpCisjaW5jbHVkZSA8V2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0Lmg+Cisj
ZW5kaWYKKwogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBEZWNvZGVyOwogY2xhc3MgRW5jb2RlcjsK
QEAgLTE1Miw2ICsxNTYsMTAgQEAgc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgewog
CiAgICAgSGFzaE1hcDxTdHJpbmcsIHVpbnQ2NF90PiB1cmxTY2hlbWVIYW5kbGVyczsKIAorI2lm
IEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OkFwcGxpY2F0aW9uTWFuaWZlc3Q+IGFwcGxpY2F0aW9uTWFuaWZlc3Q7CisjZW5kaWYKKwogICAg
IC8vIFdlYlJUQyBtZW1iZXJzLgogICAgIGJvb2wgaWNlQ2FuZGlkYXRlRmlsdGVyaW5nRW5hYmxl
ZCB7IHRydWUgfTsKICAgICBib29sIGVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXNFbmFi
bGVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElBcHBsaWNhdGlvbk1hbmlmZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
QXBwbGljYXRpb25NYW5pZmVzdC5oCmluZGV4IGVkMzMxNDhiZjY0Li4zN2E0YTY4NmU3NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUFwcGxpY2F0aW9uTWFuaWZl
c3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXBwbGljYXRpb25NYW5p
ZmVzdC5oCkBAIC0yNSwxMiArMjUsMTMgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpZiBFTkFCTEUo
QVBQTElDQVRJT05fTUFOSUZFU1QpCisKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRl
IDxXZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3QuaD4KIAogbmFtZXNwYWNlIEFQSSB7CiAKLSNp
ZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiBjbGFzcyBBcHBsaWNhdGlvbk1hbmlmZXN0
IGZpbmFsIDogcHVibGljIE9iamVjdEltcGw8T2JqZWN0OjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlm
ZXN0PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBcHBsaWNhdGlvbk1hbmlmZXN0PiBjcmVh
dGUoY29uc3QgV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdCYgYXBwbGljYXRpb25NYW5pZmVz
dCkKQEAgLTQ4LDcgKzQ5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBXZWJDb3JlOjpBcHBs
aWNhdGlvbk1hbmlmZXN0IG1fYXBwbGljYXRpb25NYW5pZmVzdDsKIH07Ci0jZW5kaWYKIAogfSAv
LyBuYW1lc3BhY2UgQVBJCiAKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1Qp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3Vy
YXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0
aW9uLmNwcAppbmRleCAyZmUzZmE2ZmIzZC4uNGI3ZGNiYzkzYjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtMzMs
NiArMzMsMTAgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzUG9vbC5oIgogI2luY2x1ZGUgIldlYlVz
ZXJDb250ZW50Q29udHJvbGxlclByb3h5LmgiCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFO
SUZFU1QpCisjaW5jbHVkZSAiQVBJQXBwbGljYXRpb25NYW5pZmVzdC5oIgorI2VuZGlmCisKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNzIs
NiArNzYsOSBAQCBSZWY8UGFnZUNvbmZpZ3VyYXRpb24+IFBhZ2VDb25maWd1cmF0aW9uOjpjb3B5
KCkgY29uc3QKICAgICBjb3B5LT5tX2NwdUxpbWl0ID0gdGhpcy0+bV9jcHVMaW1pdDsKICAgICBj
b3B5LT5tX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSB0aGlzLT5tX2NvbnRyb2xsZWRCeUF1dG9t
YXRpb247CiAgICAgY29weS0+bV9vdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMt
Pm1fb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3k7CisjaWYgRU5BQkxFKEFQUExJQ0FUSU9O
X01BTklGRVNUKQorICAgIGNvcHktPm1fYXBwbGljYXRpb25NYW5pZmVzdCA9IHRoaXMtPm1fYXBw
bGljYXRpb25NYW5pZmVzdDsKKyNlbmRpZgogCiAgICAgcmV0dXJuIGNvcHk7CiB9CkBAIC0xNjUs
NCArMTcyLDE2IEBAIHZvaWQgUGFnZUNvbmZpZ3VyYXRpb246OnNldFNlc3Npb25JRChQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQpCiAgICAgbV9zZXNzaW9uSUQgPSBzZXNzaW9uSUQ7CiB9CiAKKyNp
ZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCitjb25zdCBBcHBsaWNhdGlvbk1hbmlmZXN0
KiBQYWdlQ29uZmlndXJhdGlvbjo6YXBwbGljYXRpb25NYW5pZmVzdCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fYXBwbGljYXRpb25NYW5pZmVzdC5nZXQoKTsKK30KKwordm9pZCBQYWdlQ29uZmln
dXJhdGlvbjo6c2V0QXBwbGljYXRpb25NYW5pZmVzdChBcHBsaWNhdGlvbk1hbmlmZXN0KiBhcHBs
aWNhdGlvbk1hbmlmZXN0KQoreworICAgIG1fYXBwbGljYXRpb25NYW5pZmVzdCA9IGFwcGxpY2F0
aW9uTWFuaWZlc3Q7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IDk0
NTUyMzlmNTE1Li5jYzkyMGUwMTM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTQzLDYgKzQzLDkgQEAgY2xhc3MgV2Vi
VXNlckNvbnRlbnRDb250cm9sbGVyUHJveHk7CiAKIG5hbWVzcGFjZSBBUEkgewogCisjaWYgRU5B
QkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorY2xhc3MgQXBwbGljYXRpb25NYW5pZmVzdDsKKyNl
bmRpZgogY2xhc3MgV2Vic2l0ZURhdGFTdG9yZTsKIAogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24g
OiBwdWJsaWMgT2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6OlBhZ2VDb25maWd1cmF0aW9uPiB7CkBA
IC0xMDYsNiArMTA5LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBXVEY6OlN0cmluZyYgb3ZlcnJp
ZGVDb250ZW50U2VjdXJpdHlQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX292ZXJyaWRlQ29udGVu
dFNlY3VyaXR5UG9saWN5OyB9CiAgICAgdm9pZCBzZXRPdmVycmlkZUNvbnRlbnRTZWN1cml0eVBv
bGljeShjb25zdCBXVEY6OlN0cmluZyYgb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3kpIHsg
bV9vdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSA9IG92ZXJyaWRlQ29udGVudFNlY3VyaXR5
UG9saWN5OyB9CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgY29uc3Qg
QXBwbGljYXRpb25NYW5pZmVzdCogYXBwbGljYXRpb25NYW5pZmVzdCgpIGNvbnN0OworICAgIHZv
aWQgc2V0QXBwbGljYXRpb25NYW5pZmVzdChBcHBsaWNhdGlvbk1hbmlmZXN0Kik7CisjZW5kaWYK
KwogcHJpdmF0ZToKIAogICAgIFJlZlB0cjxXZWJLaXQ6OldlYlByb2Nlc3NQb29sPiBtX3Byb2Nl
c3NQb29sOwpAQCAtMTMxLDYgKzEzOSwxMCBAQCBwcml2YXRlOgogICAgIHN0ZDo6b3B0aW9uYWw8
ZG91YmxlPiBtX2NwdUxpbWl0OwogCiAgICAgV1RGOjpTdHJpbmcgbV9vdmVycmlkZUNvbnRlbnRT
ZWN1cml0eVBvbGljeTsKKworI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBS
ZWZQdHI8QXBwbGljYXRpb25NYW5pZmVzdD4gbV9hcHBsaWNhdGlvbk1hbmlmZXN0OworI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGEyOWRiY2IxZmRiLi44ZDU4MjZiYzdhYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC01
MzcsNiArNTM3LDEwIEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICAgICBwYWdlQ29uZmlndXJhdGlv
bi0+c2V0V2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyhbX2NvbmZpZ3VyYXRp
b24gX3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3ddKTsKICAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+c2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbihbX2NvbmZpZ3VyYXRpb24gX2lz
Q29udHJvbGxlZEJ5QXV0b21hdGlvbl0pOwogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklG
RVNUKQorICAgIHBhZ2VDb25maWd1cmF0aW9uLT5zZXRBcHBsaWNhdGlvbk1hbmlmZXN0KFtfY29u
ZmlndXJhdGlvbiBfYXBwbGljYXRpb25NYW5pZmVzdF0gPyBbY29uZmlndXJhdGlvbiBfYXBwbGlj
YXRpb25NYW5pZmVzdF0tPl9hcHBsaWNhdGlvbk1hbmlmZXN0LmdldCgpIDogbnVsbHB0cik7Cisj
ZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoYXV0byBjcHVMaW1pdCA9IFtfY29u
ZmlndXJhdGlvbiBfY3B1TGltaXRdKQogICAgICAgICBwYWdlQ29uZmlndXJhdGlvbi0+c2V0Q1BV
TGltaXQoY3B1TGltaXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQppbmRleCA0NGJhYjY4NTNlOS4u
Y2E0MGFhYTUxOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC0xNDYsNiArMTQ2LDEwIEBA
IEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXdDb25maWd1cmF0aW9uIHsKICAgICBCT09MIF93YWl0
c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93OwogICAgIEJPT0wgX2NvbnRyb2xsZWRC
eUF1dG9tYXRpb247CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgUmV0
YWluUHRyPF9XS0FwcGxpY2F0aW9uTWFuaWZlc3Q+IF9hcHBsaWNhdGlvbk1hbmlmZXN0OworI2Vu
ZGlmCisKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEJPT0wgX2FwcGxlUGF5RW5hYmxlZDsK
ICNlbmRpZgpAQCAtMzUzLDYgKzM1Nyw5IEBAIC0gKGlkKWNvcHlXaXRoWm9uZTooTlNab25lICop
em9uZQogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgY29uZmlndXJhdGlvbi0+X2FwcGxlUGF5
RW5hYmxlZCA9IHNlbGYtPl9hcHBsZVBheUVuYWJsZWQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCisgICAgY29uZmlndXJhdGlvbi0+X2FwcGxpY2F0aW9uTWFuaWZl
c3QgPSBzZWxmLT5fYXBwbGljYXRpb25NYW5pZmVzdDsKKyNlbmRpZgogICAgIGNvbmZpZ3VyYXRp
b24tPl9uZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyayA9IHNlbGYtPl9uZWVkc1N0
b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyazsKICAgICBjb25maWd1cmF0aW9uLT5fb3ZlcnJp
ZGVDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBhZG9wdE5TKFtzZWxmLT5fb3ZlcnJpZGVDb250ZW50
U2VjdXJpdHlQb2xpY3kgY29weVdpdGhab25lOnpvbmVdKTsKIApAQCAtNzQ0LDYgKzc1MSwyMiBA
QCAtICh2b2lkKV9zZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uOihCT09MKWNvbnRyb2xsZWRCeUF1
dG9tYXRpb24KICAgICBfY29udHJvbGxlZEJ5QXV0b21hdGlvbiA9IGNvbnRyb2xsZWRCeUF1dG9t
YXRpb247CiB9CiAKKy0gKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QgKilfYXBwbGljYXRpb25NYW5p
ZmVzdAoreworI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICByZXR1cm4gX2Fw
cGxpY2F0aW9uTWFuaWZlc3QuZ2V0KCk7CisjZWxzZQorICAgIHJldHVybiBuaWw7CisjZW5kaWYK
K30KKworLSAodm9pZClfc2V0QXBwbGljYXRpb25NYW5pZmVzdDooX1dLQXBwbGljYXRpb25NYW5p
ZmVzdCAqKWFwcGxpY2F0aW9uTWFuaWZlc3QKK3sKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFO
SUZFU1QpCisgICAgX2FwcGxpY2F0aW9uTWFuaWZlc3QgPSBhcHBsaWNhdGlvbk1hbmlmZXN0Owor
I2VuZGlmCit9CisKICNpZiBQTEFURk9STShNQUMpCiAtIChCT09MKV9zaG93c1VSTHNJblRvb2xU
aXBzCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCmluZGV4IDg4MGJjZDMxZjI2
Li5mODhhNWMwMjA3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAgLTM2
LDYgKzM2LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9XS0RyYWdMaWZ0RGVsYXkp
IHsKICNlbmRpZgogCiBAY2xhc3MgV0tXZWJWaWV3OworQGNsYXNzIF9XS0FwcGxpY2F0aW9uTWFu
aWZlc3Q7CiBAY2xhc3MgX1dLVmlzaXRlZExpbmtTdG9yZTsKIEBjbGFzcyBfV0tXZWJzaXRlRGF0
YVN0b3JlOwogCkBAIC02Niw2ICs2Nyw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBf
V0tEcmFnTGlmdERlbGF5KSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBcHBs
ZVBheUVuYWJsZWQ6KSBCT09MIF9hcHBsZVBheUVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goMTAuMTIpLCBpb3MoMTAuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0
V2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdzopIEJPT0wgX3dhaXRzRm9yUGFp
bnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3cgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIu
MyksIGlvcygxMC4zKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRDb250cm9s
bGVkQnlBdXRvbWF0aW9uOiwgZ2V0dGVyPV9pc0NvbnRyb2xsZWRCeUF1dG9tYXRpb24pIEJPT0wg
X2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMyks
IGlvcygxMC4zKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBcHBsaWNhdGlv
bk1hbmlmZXN0OikgX1dLQXBwbGljYXRpb25NYW5pZmVzdCAqX2FwcGxpY2F0aW9uTWFuaWZlc3Q7
CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRBbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHk6KSBCT09MIF9hbHdheXNSdW5zQXRGb3Jl
Z3JvdW5kUHJpb3JpdHkgV0tfQVBJX0FWQUlMQUJMRShpb3MoOV8wKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdElu
dGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRp
b25NYW5pZmVzdEludGVybmFsLmgKaW5kZXggMmI4Nzg4NmMxNjUuLjZhN2MxMDljZjljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25N
YW5pZmVzdEludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oCkBAIC0zMywxMCArMzMsNiBAQAogI2lt
cG9ydCAiX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oIgogI2ltcG9ydCA8V2ViQ29yZS9BcHBsaWNh
dGlvbk1hbmlmZXN0Lmg+CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLXN0cnVjdCBBcHBsaWNhdGlv
bk1hbmlmZXN0OwotfQotCiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQogbmFtZXNw
YWNlIEFQSSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4
IDQ5OTc1Y2U4NWI1Li4zZDIxYmUwMDgwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC0xNDQsNiArMTQ0LDEwIEBACiAjaW5jbHVkZSA8d3RmL1N5c3RlbVRy
YWNpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CiAKKyNpZiBFTkFCTEUo
QVBQTElDQVRJT05fTUFOSUZFU1QpCisjaW5jbHVkZSAiQVBJQXBwbGljYXRpb25NYW5pZmVzdC5o
IgorI2VuZGlmCisKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogI2luY2x1ZGUgIlJlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCIKICNlbmRpZgpAQCAtNTgxMiw2ICs1ODE2LDEw
IEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFt
ZXRlcnMoKQogI2VuZGlmCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVT
VCkKKyAgICBwYXJhbWV0ZXJzLmFwcGxpY2F0aW9uTWFuaWZlc3QgPSBtX2NvbmZpZ3VyYXRpb24t
PmFwcGxpY2F0aW9uTWFuaWZlc3QoKSA/IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGljYXRp
b25NYW5pZmVzdD4obV9jb25maWd1cmF0aW9uLT5hcHBsaWNhdGlvbk1hbmlmZXN0KCktPmFwcGxp
Y2F0aW9uTWFuaWZlc3QoKSkgOiBzdGQ6Om51bGxvcHQ7CisjZW5kaWYKKwogICAgIG1fcHJvY2Vz
cy0+YWRkV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkobV91c2VyQ29udGVudENvbnRyb2xs
ZXIsIHBhcmFtZXRlcnMpOwogCiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGE5MThlYzZlNWRhLi43ZWE0
YjRhZmE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKQEAgLTQxOSw2ICs0MTksMTAgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQs
IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIHBhZ2VDb25maWd1
cmF0aW9uLnBheW1lbnRDb29yZGluYXRvckNsaWVudCA9IG5ldyBXZWJQYXltZW50Q29vcmRpbmF0
b3IoKnRoaXMpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisg
ICAgcGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NYW5pZmVzdCA9IHBhcmFtZXRlcnMuYXBw
bGljYXRpb25NYW5pZmVzdDsKKyNlbmRpZgorCiAgICAgbV9wYWdlID0gc3RkOjptYWtlX3VuaXF1
ZTxQYWdlPihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSk7CiAgICAgdXBkYXRlUHJlZmVyZW5j
ZXMocGFyYW1ldGVycy5zdG9yZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328655</attachid>
            <date>2017-12-06 17:03:56 -0800</date>
            <delta_ts>2017-12-06 17:07:11 -0800</delta_ts>
            <desc>Patch for landing (v3)</desc>
            <filename>4pflv3.patch</filename>
            <type>text/plain</type>
            <size>19284</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IDYyOThhYWZlYmZhNDVmMDRhMjJlODAyZTk4YWExYmJlMWUzZGE0OGIKQXV0aG9yOiBE
YXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KRGF0ZTogICBUdWUgTm92IDcg
MTQ6MTc6MTggMjAxNyAtMDgwMAoKICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBh
cHBseWluZyBhIG1hbmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQKICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzNjgKICAgIHJkYXI6Ly9w
cm9ibGVtLzM0NzQ4MDY3CiAgICAKICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgogICAg
CiAgICBTb3VyY2UvV2ViQ29yZToKICAgIAogICAgU3VwcG9ydCBhcHBseWluZyBhIG1hbmlmZXN0
IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQgYnkgYWRkaW5nIGEgbWFuaWZlc3QKICAg
IHByb3BlcnR5IG9uIFBhZ2VDb25maWd1cmF0aW9uIHRvIGJlIHN0b3JlZCBvbiBNYWluRnJhbWUg
aW5zdGFuY2VzIGNyZWF0ZWQgZnJvbSB0aGUKICAgIGNvbmZpZ3VyYXRpb24uCiAgICAKICAgIE5v
IG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgogICAgCiAgICAqIHBhZ2UvTWFpbkZy
YW1lLmNwcDoKICAgIChXZWJDb3JlOjpNYWluRnJhbWU6Ok1haW5GcmFtZSk6CiAgICAqIHBhZ2Uv
TWFpbkZyYW1lLmg6CiAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKICAgIAogICAgU291
cmNlL1dlYktpdDoKICAgIAogICAgQWRkIGEgbmV3IHByb3BlcnR5IFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb24uX2FwcGxpY2F0aW9uTWFuaWZlc3QgdG8gc3BlY2lmeSBtYW5pZmVzdAogICAgdG8gYXBw
bHkgdG8gYXBwbGljYXRpb24gY29udGV4dHMgKGFrYS4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRl
eHRzLCBpLmUuIHdlYiB2aWV3cykuCiAgICBUaGUgbWFuaWZlc3QgaXMgdWx0aW1hdGVseSBzdG9y
ZWQgb24gdGhlIE1haW5GcmFtZSBvZiB0aGUgUGFnZXMgY3JlYXRlZCBmcm9tIHRoZQogICAgd2Vi
IHZpZXcgY29uZmlndXJhdGlvbi4KICAgIAogICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCiAgICAKICAgICogU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
OgogICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToK
ICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CiAgICAqIFNo
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CiAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
UGFnZUNvbmZpZ3VyYXRpb24uY3BwOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNvcHkg
Y29uc3QpOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmFwcGxpY2F0aW9uTWFuaWZlc3Qg
Y29uc3QpOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OnNldEFwcGxpY2F0aW9uTWFuaWZl
c3QpOgogICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmg6CiAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgogICAgKC1bV0tXZWJWaWV3IF9pbml0aWFs
aXplV2l0aENvbmZpZ3VyYXRpb246XSk6CiAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbToKICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdp
dGhab25lOl0pOgogICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfYXBwbGljYXRpb25NYW5p
ZmVzdF0pOgogICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0QXBwbGljYXRpb25NYW5p
ZmVzdDpdKToKICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
UHJpdmF0ZS5oOgogICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZl
c3RJbnRlcm5hbC5oOgogICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKToKICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgogICAgKFdlYktpdDo6bV9jcHVMaW1pdCk6CgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGI2ODk4ZDFjY2E5Li5jM2VmMmI1NDJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIEFkZCBTUEkgZm9yIGFwcGx5aW5nIGEgbWFuaWZl
c3QgdG8gYSB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzY4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVt
LzM0NzQ4MDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAg
ICAgU3VwcG9ydCBhcHBseWluZyBhIG1hbmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNv
bnRleHQgYnkgYWRkaW5nIGEgbWFuaWZlc3QKKyAgICAgICAgcHJvcGVydHkgb24gUGFnZUNvbmZp
Z3VyYXRpb24gdG8gYmUgc3RvcmVkIG9uIE1haW5GcmFtZSBpbnN0YW5jZXMgY3JlYXRlZCBmcm9t
IHRoZQorICAgICAgICBjb25maWd1cmF0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8g
Y2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogcGFnZS9NYWluRnJhbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWFpbkZyYW1lOjpNYWluRnJhbWUpOgorICAgICAgICAqIHBhZ2UvTWFp
bkZyYW1lLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oOgorCiAyMDE3LTEy
LTA2ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBTdGFydCB3
cml0aW5nIFNlcnZpY2VXb3JrZXIgcmVnaXN0cmF0aW9ucyB0byBkaXNrLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9N
YWluRnJhbWUuY3BwCmluZGV4IDcyMDk5MjY3MDRhLi41NmY5OWRlYWJhMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTWFpbkZyYW1lLmNwcApAQCAtNTEsNiArNTEsOSBAQCBpbmxpbmUgTWFpbkZyYW1lOjpNYWlu
RnJhbWUoUGFnZSYgcGFnZSwgUGFnZUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAjaWYg
RU5BQkxFKEFQUExFX1BBWSkKICAgICAsIG1fcGF5bWVudENvb3JkaW5hdG9yKHN0ZDo6bWFrZV91
bmlxdWU8UGF5bWVudENvb3JkaW5hdG9yPigqY29uZmlndXJhdGlvbi5wYXltZW50Q29vcmRpbmF0
b3JDbGllbnQpKQogI2VuZGlmCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAg
ICwgbV9hcHBsaWNhdGlvbk1hbmlmZXN0KGNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NYW5pZmVz
dCkKKyNlbmRpZgogICAgICwgbV9wZXJmb3JtYW5jZUxvZ2dpbmcoc3RkOjptYWtlX3VuaXF1ZTxQ
ZXJmb3JtYW5jZUxvZ2dpbmc+KCp0aGlzKSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTWFpbkZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCmlu
ZGV4IDQyY2M3MzlhNjhmLi4yZTQ1NDA1NTk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9NYWluRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCkBA
IC0yNiw4ICsyNiwxMyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJGcmFtZS5oIgorI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAorI2lmIEVO
QUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyNpbmNsdWRlICJBcHBsaWNhdGlvbk1hbmlmZXN0
LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdlQ29uZmlndXJh
dGlvbjsKQEAgLTY3LDYgKzcyLDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNldFBheW1lbnRDb29yZGluYXRvcihzdGQ6OnVuaXF1ZV9wdHI8UGF5bWVudENvb3JkaW5hdG9y
PiYmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIGNv
bnN0IHN0ZDo6b3B0aW9uYWw8QXBwbGljYXRpb25NYW5pZmVzdD4mIGFwcGxpY2F0aW9uTWFuaWZl
c3QoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9uTWFuaWZlc3Q7IH0KKyNlbmRpZgorCiAg
ICAgUGVyZm9ybWFuY2VMb2dnaW5nJiBwZXJmb3JtYW5jZUxvZ2dpbmcoKSBjb25zdCB7IHJldHVy
biAqbV9wZXJmb3JtYW5jZUxvZ2dpbmc7IH0KIAogICAgIHZvaWQgZGlkQ29tcGxldGVMb2FkKCk7
CkBAIC05Miw2ICsxMDEsMTAgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGF5bWVu
dENvb3JkaW5hdG9yPiBtX3BheW1lbnRDb29yZGluYXRvcjsKICNlbmRpZgogCisjaWYgRU5BQkxF
KEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIHN0ZDo6b3B0aW9uYWw8QXBwbGljYXRpb25NYW5p
ZmVzdD4gbV9hcHBsaWNhdGlvbk1hbmlmZXN0OworI2VuZGlmCisKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8UGVyZm9ybWFuY2VMb2dnaW5nPiBtX3BlcmZvcm1hbmNlTG9nZ2luZzsKIAogICAgIHVuc2ln
bmVkIG1fbmF2aWdhdGlvbkRpc2FibGVDb3VudCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZUNvbmZpZ3VyYXRpb24uaAppbmRleCBhODYyZDQzMDJlMC4uYmQwNzFiMzllZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTI2LDkgKzI2LDE0IEBACiAjcHJh
Z21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9P
cHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVl
UmVmLmg+CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisjaW5jbHVkZSAiQXBw
bGljYXRpb25NYW5pZmVzdC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwpAQCAtNzUsNiArODAsMTAgQEAgcHVibGljOgogICAg
IFBheW1lbnRDb29yZGluYXRvckNsaWVudCogcGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsgbnVs
bHB0ciB9OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAg
c3RkOjpvcHRpb25hbDxBcHBsaWNhdGlvbk1hbmlmZXN0PiBhcHBsaWNhdGlvbk1hbmlmZXN0Owor
I2VuZGlmCisKICAgICBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+IGxpYldlYlJUQ1Byb3Zp
ZGVyOwogCiAgICAgUGx1Z0luQ2xpZW50KiBwbHVnSW5DbGllbnQgeyBudWxscHRyIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDQ4ZGYzOTM4ZjdlLi5hMjMyOThjNDk1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBA
QAorMjAxNy0xMi0wNCAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgor
CisgICAgICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBhcHBseWluZyBhIG1hbmlm
ZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM2OAorICAgICAgICByZGFyOi8vcHJvYmxl
bS8zNDc0ODA2NworCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAg
ICAgIEFkZCBhIG5ldyBwcm9wZXJ0eSBXS1dlYlZpZXdDb25maWd1cmF0aW9uLl9hcHBsaWNhdGlv
bk1hbmlmZXN0IHRvIHNwZWNpZnkgbWFuaWZlc3QKKyAgICAgICAgdG8gYXBwbHkgdG8gYXBwbGlj
YXRpb24gY29udGV4dHMgKGFrYS4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHRzLCBpLmUuIHdl
YiB2aWV3cykuCisgICAgICAgIFRoZSBtYW5pZmVzdCBpcyB1bHRpbWF0ZWx5IHN0b3JlZCBvbiB0
aGUgTWFpbkZyYW1lIG9mIHRoZSBQYWdlcyBjcmVhdGVkIGZyb20gdGhlCisgICAgICAgIHdlYiB2
aWV3IGNvbmZpZ3VyYXRpb24uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKEFQ
STo6UGFnZUNvbmZpZ3VyYXRpb246OmNvcHkgY29uc3QpOgorICAgICAgICAoQVBJOjpQYWdlQ29u
ZmlndXJhdGlvbjo6YXBwbGljYXRpb25NYW5pZmVzdCBjb25zdCk6CisgICAgICAgIChBUEk6OlBh
Z2VDb25maWd1cmF0aW9uOjpzZXRBcHBsaWNhdGlvbk1hbmlmZXN0KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaW5pdGlhbGl6ZVdp
dGhDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBj
b3B5V2l0aFpvbmU6XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX2FwcGxp
Y2F0aW9uTWFuaWZlc3RdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0
QXBwbGljYXRpb25NYW5pZmVzdDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0SW50ZXJuYWwuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVh
dGlvblBhcmFtZXRlcnMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6bV9jcHVMaW1pdCk6CisKIDIwMTctMTItMDYgIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgogCiAgICAgICAgIC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBjb3B5V2l0aFpvbmVdIGRvZXNuJ3QgY29weSBfZ3JvdXBJZGVudGlmaWVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGYx
YmM2MmQzNTYxLi4wZTgzNmNjNWIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTk2LDYgKzk2LDkgQEAgdm9pZCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAgZW5j
b2RlciA8PCBjcHVMaW1pdDsKICAgICBlbmNvZGVyIDw8IHVybFNjaGVtZUhhbmRsZXJzOworI2lm
IEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBlbmNvZGVyIDw8IGFwcGxpY2F0aW9u
TWFuaWZlc3Q7CisjZW5kaWYKICAgICBlbmNvZGVyIDw8IGljZUNhbmRpZGF0ZUZpbHRlcmluZ0Vu
YWJsZWQ7CiAgICAgZW5jb2RlciA8PCBlbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5h
YmxlZDsKICAgICBlbmNvZGVyIDw8IHVzZXJDb250ZW50V29ybGRzOwpAQCAtMjU3LDYgKzI2MCwx
NCBAQCBzdGQ6Om9wdGlvbmFsPFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM+IFdlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFy
YW1ldGVycy51cmxTY2hlbWVIYW5kbGVycykpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgc3RkOjpvcHRpb25hbDxz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q+PiBhcHBsaWNhdGlvbk1h
bmlmZXN0OworICAgIGRlY29kZXIgPj4gYXBwbGljYXRpb25NYW5pZmVzdDsKKyAgICBpZiAoIWFw
cGxpY2F0aW9uTWFuaWZlc3QpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcGFy
YW1ldGVycy5hcHBsaWNhdGlvbk1hbmlmZXN0ID0gV1RGTW92ZSgqYXBwbGljYXRpb25NYW5pZmVz
dCk7CisjZW5kaWYKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5pY2VDYW5k
aWRhdGVGaWx0ZXJpbmdFbmFibGVkKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCmlu
ZGV4IDYyNjZmNzk2ODdiLi40NWEzNGRkMWI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtNTAsNiArNTAsMTAgQEAKICNpbmNs
dWRlICJDb2xvclNwYWNlRGF0YS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05f
TUFOSUZFU1QpCisjaW5jbHVkZSA8V2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0Lmg+CisjZW5k
aWYKKwogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBEZWNvZGVyOwogY2xhc3MgRW5jb2RlcjsKQEAg
LTE1Miw2ICsxNTYsMTAgQEAgc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgewogCiAg
ICAgSGFzaE1hcDxTdHJpbmcsIHVpbnQ2NF90PiB1cmxTY2hlbWVIYW5kbGVyczsKIAorI2lmIEVO
QUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFw
cGxpY2F0aW9uTWFuaWZlc3Q+IGFwcGxpY2F0aW9uTWFuaWZlc3Q7CisjZW5kaWYKKwogICAgIC8v
IFdlYlJUQyBtZW1iZXJzLgogICAgIGJvb2wgaWNlQ2FuZGlkYXRlRmlsdGVyaW5nRW5hYmxlZCB7
IHRydWUgfTsKICAgICBib29sIGVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXNFbmFibGVk
IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElB
cHBsaWNhdGlvbk1hbmlmZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXBw
bGljYXRpb25NYW5pZmVzdC5oCmluZGV4IGVkMzMxNDhiZjY0Li4zN2E0YTY4NmU3NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUFwcGxpY2F0aW9uTWFuaWZlc3Qu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXBwbGljYXRpb25NYW5pZmVz
dC5oCkBAIC0yNSwxMiArMjUsMTMgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCisKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3QuaD4KIAogbmFtZXNwYWNlIEFQSSB7CiAKLSNpZiBF
TkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiBjbGFzcyBBcHBsaWNhdGlvbk1hbmlmZXN0IGZp
bmFsIDogcHVibGljIE9iamVjdEltcGw8T2JqZWN0OjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0
PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBcHBsaWNhdGlvbk1hbmlmZXN0PiBjcmVhdGUo
Y29uc3QgV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdCYgYXBwbGljYXRpb25NYW5pZmVzdCkK
QEAgLTQ4LDcgKzQ5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBXZWJDb3JlOjpBcHBsaWNh
dGlvbk1hbmlmZXN0IG1fYXBwbGljYXRpb25NYW5pZmVzdDsKIH07Ci0jZW5kaWYKIAogfSAvLyBu
YW1lc3BhY2UgQVBJCiAKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRp
b24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9u
LmNwcAppbmRleCAyZmUzZmE2ZmIzZC4uNGI3ZGNiYzkzYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtMzMsNiAr
MzMsMTAgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzUG9vbC5oIgogI2luY2x1ZGUgIldlYlVzZXJD
b250ZW50Q29udHJvbGxlclByb3h5LmgiCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCisjaW5jbHVkZSAiQVBJQXBwbGljYXRpb25NYW5pZmVzdC5oIgorI2VuZGlmCisKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNzIsNiAr
NzYsOSBAQCBSZWY8UGFnZUNvbmZpZ3VyYXRpb24+IFBhZ2VDb25maWd1cmF0aW9uOjpjb3B5KCkg
Y29uc3QKICAgICBjb3B5LT5tX2NwdUxpbWl0ID0gdGhpcy0+bV9jcHVMaW1pdDsKICAgICBjb3B5
LT5tX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSB0aGlzLT5tX2NvbnRyb2xsZWRCeUF1dG9tYXRp
b247CiAgICAgY29weS0+bV9vdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPm1f
b3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3k7CisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01B
TklGRVNUKQorICAgIGNvcHktPm1fYXBwbGljYXRpb25NYW5pZmVzdCA9IHRoaXMtPm1fYXBwbGlj
YXRpb25NYW5pZmVzdDsKKyNlbmRpZgogCiAgICAgcmV0dXJuIGNvcHk7CiB9CkBAIC0xNjUsNCAr
MTcyLDE2IEBAIHZvaWQgUGFnZUNvbmZpZ3VyYXRpb246OnNldFNlc3Npb25JRChQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQpCiAgICAgbV9zZXNzaW9uSUQgPSBzZXNzaW9uSUQ7CiB9CiAKKyNpZiBF
TkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCitjb25zdCBBcHBsaWNhdGlvbk1hbmlmZXN0KiBQ
YWdlQ29uZmlndXJhdGlvbjo6YXBwbGljYXRpb25NYW5pZmVzdCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fYXBwbGljYXRpb25NYW5pZmVzdC5nZXQoKTsKK30KKwordm9pZCBQYWdlQ29uZmlndXJh
dGlvbjo6c2V0QXBwbGljYXRpb25NYW5pZmVzdChBcHBsaWNhdGlvbk1hbmlmZXN0KiBhcHBsaWNh
dGlvbk1hbmlmZXN0KQoreworICAgIG1fYXBwbGljYXRpb25NYW5pZmVzdCA9IGFwcGxpY2F0aW9u
TWFuaWZlc3Q7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IDk0NTUy
MzlmNTE1Li5jYzkyMGUwMTM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTQzLDYgKzQzLDkgQEAgY2xhc3MgV2ViVXNl
ckNvbnRlbnRDb250cm9sbGVyUHJveHk7CiAKIG5hbWVzcGFjZSBBUEkgewogCisjaWYgRU5BQkxF
KEFQUExJQ0FUSU9OX01BTklGRVNUKQorY2xhc3MgQXBwbGljYXRpb25NYW5pZmVzdDsKKyNlbmRp
ZgogY2xhc3MgV2Vic2l0ZURhdGFTdG9yZTsKIAogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24gOiBw
dWJsaWMgT2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6OlBhZ2VDb25maWd1cmF0aW9uPiB7CkBAIC0x
MDYsNiArMTA5LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBXVEY6OlN0cmluZyYgb3ZlcnJpZGVD
b250ZW50U2VjdXJpdHlQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX292ZXJyaWRlQ29udGVudFNl
Y3VyaXR5UG9saWN5OyB9CiAgICAgdm9pZCBzZXRPdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGlj
eShjb25zdCBXVEY6OlN0cmluZyYgb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3kpIHsgbV9v
dmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSA9IG92ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9s
aWN5OyB9CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgY29uc3QgQXBw
bGljYXRpb25NYW5pZmVzdCogYXBwbGljYXRpb25NYW5pZmVzdCgpIGNvbnN0OworICAgIHZvaWQg
c2V0QXBwbGljYXRpb25NYW5pZmVzdChBcHBsaWNhdGlvbk1hbmlmZXN0Kik7CisjZW5kaWYKKwog
cHJpdmF0ZToKIAogICAgIFJlZlB0cjxXZWJLaXQ6OldlYlByb2Nlc3NQb29sPiBtX3Byb2Nlc3NQ
b29sOwpAQCAtMTMxLDYgKzEzOSwxMCBAQCBwcml2YXRlOgogICAgIHN0ZDo6b3B0aW9uYWw8ZG91
YmxlPiBtX2NwdUxpbWl0OwogCiAgICAgV1RGOjpTdHJpbmcgbV9vdmVycmlkZUNvbnRlbnRTZWN1
cml0eVBvbGljeTsKKworI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBSZWZQ
dHI8QXBwbGljYXRpb25NYW5pZmVzdD4gbV9hcHBsaWNhdGlvbk1hbmlmZXN0OworI2VuZGlmCiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGEyOWRiY2IxZmRiLi44ZDU4MjZiYzdhYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC01Mzcs
NiArNTM3LDEwIEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tXZWJW
aWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICAgICBwYWdlQ29uZmlndXJhdGlvbi0+
c2V0V2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyhbX2NvbmZpZ3VyYXRpb24g
X3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3ddKTsKICAgICBwYWdlQ29uZmln
dXJhdGlvbi0+c2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbihbX2NvbmZpZ3VyYXRpb24gX2lzQ29u
dHJvbGxlZEJ5QXV0b21hdGlvbl0pOwogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNU
KQorICAgIHBhZ2VDb25maWd1cmF0aW9uLT5zZXRBcHBsaWNhdGlvbk1hbmlmZXN0KFtfY29uZmln
dXJhdGlvbiBfYXBwbGljYXRpb25NYW5pZmVzdF0gPyBbY29uZmlndXJhdGlvbiBfYXBwbGljYXRp
b25NYW5pZmVzdF0tPl9hcHBsaWNhdGlvbk1hbmlmZXN0LmdldCgpIDogbnVsbHB0cik7CisjZW5k
aWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoYXV0byBjcHVMaW1pdCA9IFtfY29uZmln
dXJhdGlvbiBfY3B1TGltaXRdKQogICAgICAgICBwYWdlQ29uZmlndXJhdGlvbi0+c2V0Q1BVTGlt
aXQoY3B1TGltaXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQppbmRleCBjZGNlNGU2NzgwNi4uOTFh
MzkwNTBiYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC0xNDYsNiArMTQ2LDEwIEBAIEBp
bXBsZW1lbnRhdGlvbiBXS1dlYlZpZXdDb25maWd1cmF0aW9uIHsKICAgICBCT09MIF93YWl0c0Zv
clBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93OwogICAgIEJPT0wgX2NvbnRyb2xsZWRCeUF1
dG9tYXRpb247CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgUmV0YWlu
UHRyPF9XS0FwcGxpY2F0aW9uTWFuaWZlc3Q+IF9hcHBsaWNhdGlvbk1hbmlmZXN0OworI2VuZGlm
CisKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEJPT0wgX2FwcGxlUGF5RW5hYmxlZDsKICNl
bmRpZgpAQCAtMzUzLDYgKzM1Nyw5IEBAIC0gKGlkKWNvcHlXaXRoWm9uZTooTlNab25lICopem9u
ZQogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgY29uZmlndXJhdGlvbi0+X2FwcGxlUGF5RW5h
YmxlZCA9IHNlbGYtPl9hcHBsZVBheUVuYWJsZWQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQVBQTElD
QVRJT05fTUFOSUZFU1QpCisgICAgY29uZmlndXJhdGlvbi0+X2FwcGxpY2F0aW9uTWFuaWZlc3Qg
PSBzZWxmLT5fYXBwbGljYXRpb25NYW5pZmVzdDsKKyNlbmRpZgogICAgIGNvbmZpZ3VyYXRpb24t
Pl9uZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyayA9IHNlbGYtPl9uZWVkc1N0b3Jh
Z2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyazsKICAgICBjb25maWd1cmF0aW9uLT5fb3ZlcnJpZGVD
b250ZW50U2VjdXJpdHlQb2xpY3kgPSBhZG9wdE5TKFtzZWxmLT5fb3ZlcnJpZGVDb250ZW50U2Vj
dXJpdHlQb2xpY3kgY29weVdpdGhab25lOnpvbmVdKTsKIApAQCAtNzQ2LDYgKzc1MywyMiBAQCAt
ICh2b2lkKV9zZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uOihCT09MKWNvbnRyb2xsZWRCeUF1dG9t
YXRpb24KICAgICBfY29udHJvbGxlZEJ5QXV0b21hdGlvbiA9IGNvbnRyb2xsZWRCeUF1dG9tYXRp
b247CiB9CiAKKy0gKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QgKilfYXBwbGljYXRpb25NYW5pZmVz
dAoreworI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICByZXR1cm4gX2FwcGxp
Y2F0aW9uTWFuaWZlc3QuZ2V0KCk7CisjZWxzZQorICAgIHJldHVybiBuaWw7CisjZW5kaWYKK30K
KworLSAodm9pZClfc2V0QXBwbGljYXRpb25NYW5pZmVzdDooX1dLQXBwbGljYXRpb25NYW5pZmVz
dCAqKWFwcGxpY2F0aW9uTWFuaWZlc3QKK3sKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCisgICAgX2FwcGxpY2F0aW9uTWFuaWZlc3QgPSBhcHBsaWNhdGlvbk1hbmlmZXN0OworI2Vu
ZGlmCit9CisKICNpZiBQTEFURk9STShNQUMpCiAtIChCT09MKV9zaG93c1VSTHNJblRvb2xUaXBz
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCmluZGV4IDg4MGJjZDMxZjI2Li5i
OWY0MDhjYzkxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAgLTM2LDYg
KzM2LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9XS0RyYWdMaWZ0RGVsYXkpIHsK
ICNlbmRpZgogCiBAY2xhc3MgV0tXZWJWaWV3OworQGNsYXNzIF9XS0FwcGxpY2F0aW9uTWFuaWZl
c3Q7CiBAY2xhc3MgX1dLVmlzaXRlZExpbmtTdG9yZTsKIEBjbGFzcyBfV0tXZWJzaXRlRGF0YVN0
b3JlOwogCkBAIC02Niw2ICs2Nyw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tE
cmFnTGlmdERlbGF5KSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBcHBsZVBh
eUVuYWJsZWQ6KSBCT09MIF9hcHBsZVBheUVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTIpLCBpb3MoMTAuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0V2Fp
dHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdzopIEJPT0wgX3dhaXRzRm9yUGFpbnRB
ZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3cgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMyks
IGlvcygxMC4zKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRDb250cm9sbGVk
QnlBdXRvbWF0aW9uOiwgZ2V0dGVyPV9pc0NvbnRyb2xsZWRCeUF1dG9tYXRpb24pIEJPT0wgX2Nv
bnRyb2xsZWRCeUF1dG9tYXRpb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMyksIGlv
cygxMC4zKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBcHBsaWNhdGlvbk1h
bmlmZXN0OikgX1dLQXBwbGljYXRpb25NYW5pZmVzdCAqX2FwcGxpY2F0aW9uTWFuaWZlc3QgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKICNp
ZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBbHdh
eXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHk6KSBCT09MIF9hbHdheXNSdW5zQXRGb3JlZ3JvdW5k
UHJpb3JpdHkgV0tfQVBJX0FWQUlMQUJMRShpb3MoOV8wKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFs
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5p
ZmVzdEludGVybmFsLmgKaW5kZXggMmI4Nzg4NmMxNjUuLjZhN2MxMDljZjljIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVz
dEludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Fw
cGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oCkBAIC0zMywxMCArMzMsNiBAQAogI2ltcG9ydCAi
X1dLQXBwbGljYXRpb25NYW5pZmVzdC5oIgogI2ltcG9ydCA8V2ViQ29yZS9BcHBsaWNhdGlvbk1h
bmlmZXN0Lmg+CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLXN0cnVjdCBBcHBsaWNhdGlvbk1hbmlm
ZXN0OwotfQotCiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQogbmFtZXNwYWNlIEFQ
SSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDQ5OTc1
Y2U4NWI1Li4zZDIxYmUwMDgwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCkBAIC0xNDQsNiArMTQ0LDEwIEBACiAjaW5jbHVkZSA8d3RmL1N5c3RlbVRyYWNpbmcu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CiAKKyNpZiBFTkFCTEUoQVBQTElD
QVRJT05fTUFOSUZFU1QpCisjaW5jbHVkZSAiQVBJQXBwbGljYXRpb25NYW5pZmVzdC5oIgorI2Vu
ZGlmCisKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogI2luY2x1ZGUgIlJlbW90ZVNjcm9s
bGluZ0Nvb3JkaW5hdG9yUHJveHkuaCIKICNlbmRpZgpAQCAtNTgxMiw2ICs1ODE2LDEwIEBAIFdl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFtZXRlcnMo
KQogI2VuZGlmCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAg
ICBwYXJhbWV0ZXJzLmFwcGxpY2F0aW9uTWFuaWZlc3QgPSBtX2NvbmZpZ3VyYXRpb24tPmFwcGxp
Y2F0aW9uTWFuaWZlc3QoKSA/IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGljYXRpb25NYW5p
ZmVzdD4obV9jb25maWd1cmF0aW9uLT5hcHBsaWNhdGlvbk1hbmlmZXN0KCktPmFwcGxpY2F0aW9u
TWFuaWZlc3QoKSkgOiBzdGQ6Om51bGxvcHQ7CisjZW5kaWYKKwogICAgIG1fcHJvY2Vzcy0+YWRk
V2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkobV91c2VyQ29udGVudENvbnRyb2xsZXIsIHBh
cmFtZXRlcnMpOwogCiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGE5MThlYzZlNWRhLi43ZWE0YjRhZmE3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTQxOSw2ICs0MTksMTAgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIHBhZ2VDb25maWd1cmF0aW9u
LnBheW1lbnRDb29yZGluYXRvckNsaWVudCA9IG5ldyBXZWJQYXltZW50Q29vcmRpbmF0b3IoKnRo
aXMpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgcGFn
ZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NYW5pZmVzdCA9IHBhcmFtZXRlcnMuYXBwbGljYXRp
b25NYW5pZmVzdDsKKyNlbmRpZgorCiAgICAgbV9wYWdlID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdl
PihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSk7CiAgICAgdXBkYXRlUHJlZmVyZW5jZXMocGFy
YW1ldGVycy5zdG9yZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328657</attachid>
            <date>2017-12-06 17:07:11 -0800</date>
            <delta_ts>2017-12-06 19:30:11 -0800</delta_ts>
            <desc>Patch for landing (v4)</desc>
            <filename>4pflv4.patch</filename>
            <type>text/plain</type>
            <size>19242</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IDBjM2U5YWE5NWQ0NTBhYmY4MzVhMjFkYTc5YTI4ZDQyMTAwOTk3ZjQKQXV0aG9yOiBE
YXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KRGF0ZTogICBUdWUgTm92IDcg
MTQ6MTc6MTggMjAxNyAtMDgwMAoKICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBh
cHBseWluZyBhIG1hbmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQKICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzNjgKICAgIHJkYXI6Ly9w
cm9ibGVtLzM0NzQ4MDY3CiAgICAKICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgogICAg
CiAgICBTb3VyY2UvV2ViQ29yZToKICAgIAogICAgU3VwcG9ydCBhcHBseWluZyBhIG1hbmlmZXN0
IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQgYnkgYWRkaW5nIGEgbWFuaWZlc3QKICAg
IHByb3BlcnR5IG9uIFBhZ2VDb25maWd1cmF0aW9uIHRvIGJlIHN0b3JlZCBvbiBNYWluRnJhbWUg
aW5zdGFuY2VzIGNyZWF0ZWQgZnJvbSB0aGUKICAgIGNvbmZpZ3VyYXRpb24uCiAgICAKICAgIE5v
IG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgogICAgCiAgICAqIHBhZ2UvTWFpbkZy
YW1lLmNwcDoKICAgIChXZWJDb3JlOjpNYWluRnJhbWU6Ok1haW5GcmFtZSk6CiAgICAqIHBhZ2Uv
TWFpbkZyYW1lLmg6CiAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKICAgIAogICAgU291
cmNlL1dlYktpdDoKICAgIAogICAgQWRkIGEgbmV3IHByb3BlcnR5IFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb24uX2FwcGxpY2F0aW9uTWFuaWZlc3QgdG8gc3BlY2lmeSBtYW5pZmVzdAogICAgdG8gYXBw
bHkgdG8gYXBwbGljYXRpb24gY29udGV4dHMgKGFrYS4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRl
eHRzLCBpLmUuIHdlYiB2aWV3cykuCiAgICBUaGUgbWFuaWZlc3QgaXMgdWx0aW1hdGVseSBzdG9y
ZWQgb24gdGhlIE1haW5GcmFtZSBvZiB0aGUgUGFnZXMgY3JlYXRlZCBmcm9tIHRoZQogICAgd2Vi
IHZpZXcgY29uZmlndXJhdGlvbi4KICAgIAogICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCiAgICAKICAgICogU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
OgogICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToK
ICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CiAgICAqIFNo
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CiAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
UGFnZUNvbmZpZ3VyYXRpb24uY3BwOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNvcHkg
Y29uc3QpOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmFwcGxpY2F0aW9uTWFuaWZlc3Qg
Y29uc3QpOgogICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OnNldEFwcGxpY2F0aW9uTWFuaWZl
c3QpOgogICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmg6CiAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgogICAgKC1bV0tXZWJWaWV3IF9pbml0aWFs
aXplV2l0aENvbmZpZ3VyYXRpb246XSk6CiAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbToKICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdp
dGhab25lOl0pOgogICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfYXBwbGljYXRpb25NYW5p
ZmVzdF0pOgogICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0QXBwbGljYXRpb25NYW5p
ZmVzdDpdKToKICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
UHJpdmF0ZS5oOgogICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZl
c3RJbnRlcm5hbC5oOgogICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKToKICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgogICAgKFdlYktpdDo6bV9jcHVMaW1pdCk6CgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGI2ODk4ZDFjY2E5Li5jM2VmMmI1NDJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIEFkZCBTUEkgZm9yIGFwcGx5aW5nIGEgbWFuaWZl
c3QgdG8gYSB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzY4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVt
LzM0NzQ4MDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAg
ICAgU3VwcG9ydCBhcHBseWluZyBhIG1hbmlmZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNv
bnRleHQgYnkgYWRkaW5nIGEgbWFuaWZlc3QKKyAgICAgICAgcHJvcGVydHkgb24gUGFnZUNvbmZp
Z3VyYXRpb24gdG8gYmUgc3RvcmVkIG9uIE1haW5GcmFtZSBpbnN0YW5jZXMgY3JlYXRlZCBmcm9t
IHRoZQorICAgICAgICBjb25maWd1cmF0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8g
Y2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogcGFnZS9NYWluRnJhbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWFpbkZyYW1lOjpNYWluRnJhbWUpOgorICAgICAgICAqIHBhZ2UvTWFp
bkZyYW1lLmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oOgorCiAyMDE3LTEy
LTA2ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBTdGFydCB3
cml0aW5nIFNlcnZpY2VXb3JrZXIgcmVnaXN0cmF0aW9ucyB0byBkaXNrLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9N
YWluRnJhbWUuY3BwCmluZGV4IDcyMDk5MjY3MDRhLi41NmY5OWRlYWJhMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTWFpbkZyYW1lLmNwcApAQCAtNTEsNiArNTEsOSBAQCBpbmxpbmUgTWFpbkZyYW1lOjpNYWlu
RnJhbWUoUGFnZSYgcGFnZSwgUGFnZUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAjaWYg
RU5BQkxFKEFQUExFX1BBWSkKICAgICAsIG1fcGF5bWVudENvb3JkaW5hdG9yKHN0ZDo6bWFrZV91
bmlxdWU8UGF5bWVudENvb3JkaW5hdG9yPigqY29uZmlndXJhdGlvbi5wYXltZW50Q29vcmRpbmF0
b3JDbGllbnQpKQogI2VuZGlmCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAg
ICwgbV9hcHBsaWNhdGlvbk1hbmlmZXN0KGNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NYW5pZmVz
dCkKKyNlbmRpZgogICAgICwgbV9wZXJmb3JtYW5jZUxvZ2dpbmcoc3RkOjptYWtlX3VuaXF1ZTxQ
ZXJmb3JtYW5jZUxvZ2dpbmc+KCp0aGlzKSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTWFpbkZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCmlu
ZGV4IDQyY2M3MzlhNjhmLi4yZTQ1NDA1NTk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9NYWluRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCkBA
IC0yNiw4ICsyNiwxMyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJGcmFtZS5oIgorI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAorI2lmIEVO
QUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyNpbmNsdWRlICJBcHBsaWNhdGlvbk1hbmlmZXN0
LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdlQ29uZmlndXJh
dGlvbjsKQEAgLTY3LDYgKzcyLDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNldFBheW1lbnRDb29yZGluYXRvcihzdGQ6OnVuaXF1ZV9wdHI8UGF5bWVudENvb3JkaW5hdG9y
PiYmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIGNv
bnN0IHN0ZDo6b3B0aW9uYWw8QXBwbGljYXRpb25NYW5pZmVzdD4mIGFwcGxpY2F0aW9uTWFuaWZl
c3QoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9uTWFuaWZlc3Q7IH0KKyNlbmRpZgorCiAg
ICAgUGVyZm9ybWFuY2VMb2dnaW5nJiBwZXJmb3JtYW5jZUxvZ2dpbmcoKSBjb25zdCB7IHJldHVy
biAqbV9wZXJmb3JtYW5jZUxvZ2dpbmc7IH0KIAogICAgIHZvaWQgZGlkQ29tcGxldGVMb2FkKCk7
CkBAIC05Miw2ICsxMDEsMTAgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGF5bWVu
dENvb3JkaW5hdG9yPiBtX3BheW1lbnRDb29yZGluYXRvcjsKICNlbmRpZgogCisjaWYgRU5BQkxF
KEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAgIHN0ZDo6b3B0aW9uYWw8QXBwbGljYXRpb25NYW5p
ZmVzdD4gbV9hcHBsaWNhdGlvbk1hbmlmZXN0OworI2VuZGlmCisKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8UGVyZm9ybWFuY2VMb2dnaW5nPiBtX3BlcmZvcm1hbmNlTG9nZ2luZzsKIAogICAgIHVuc2ln
bmVkIG1fbmF2aWdhdGlvbkRpc2FibGVDb3VudCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZUNvbmZpZ3VyYXRpb24uaAppbmRleCBhODYyZDQzMDJlMC4uYmQwNzFiMzllZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTI2LDkgKzI2LDE0IEBACiAjcHJh
Z21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9P
cHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVl
UmVmLmg+CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisjaW5jbHVkZSAiQXBw
bGljYXRpb25NYW5pZmVzdC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwpAQCAtNzUsNiArODAsMTAgQEAgcHVibGljOgogICAg
IFBheW1lbnRDb29yZGluYXRvckNsaWVudCogcGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsgbnVs
bHB0ciB9OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAg
c3RkOjpvcHRpb25hbDxBcHBsaWNhdGlvbk1hbmlmZXN0PiBhcHBsaWNhdGlvbk1hbmlmZXN0Owor
I2VuZGlmCisKICAgICBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+IGxpYldlYlJUQ1Byb3Zp
ZGVyOwogCiAgICAgUGx1Z0luQ2xpZW50KiBwbHVnSW5DbGllbnQgeyBudWxscHRyIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDQ4ZGYzOTM4ZjdlLi5hMjMyOThjNDk1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBA
QAorMjAxNy0xMi0wNCAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgor
CisgICAgICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBhcHBseWluZyBhIG1hbmlm
ZXN0IHRvIGEgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM2OAorICAgICAgICByZGFyOi8vcHJvYmxl
bS8zNDc0ODA2NworCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAg
ICAgIEFkZCBhIG5ldyBwcm9wZXJ0eSBXS1dlYlZpZXdDb25maWd1cmF0aW9uLl9hcHBsaWNhdGlv
bk1hbmlmZXN0IHRvIHNwZWNpZnkgbWFuaWZlc3QKKyAgICAgICAgdG8gYXBwbHkgdG8gYXBwbGlj
YXRpb24gY29udGV4dHMgKGFrYS4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHRzLCBpLmUuIHdl
YiB2aWV3cykuCisgICAgICAgIFRoZSBtYW5pZmVzdCBpcyB1bHRpbWF0ZWx5IHN0b3JlZCBvbiB0
aGUgTWFpbkZyYW1lIG9mIHRoZSBQYWdlcyBjcmVhdGVkIGZyb20gdGhlCisgICAgICAgIHdlYiB2
aWV3IGNvbmZpZ3VyYXRpb24uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKEFQ
STo6UGFnZUNvbmZpZ3VyYXRpb246OmNvcHkgY29uc3QpOgorICAgICAgICAoQVBJOjpQYWdlQ29u
ZmlndXJhdGlvbjo6YXBwbGljYXRpb25NYW5pZmVzdCBjb25zdCk6CisgICAgICAgIChBUEk6OlBh
Z2VDb25maWd1cmF0aW9uOjpzZXRBcHBsaWNhdGlvbk1hbmlmZXN0KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaW5pdGlhbGl6ZVdp
dGhDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBj
b3B5V2l0aFpvbmU6XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX2FwcGxp
Y2F0aW9uTWFuaWZlc3RdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0
QXBwbGljYXRpb25NYW5pZmVzdDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0SW50ZXJuYWwuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVh
dGlvblBhcmFtZXRlcnMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6bV9jcHVMaW1pdCk6CisKIDIwMTctMTItMDYgIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgogCiAgICAgICAgIC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBjb3B5V2l0aFpvbmVdIGRvZXNuJ3QgY29weSBfZ3JvdXBJZGVudGlmaWVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGYx
YmM2MmQzNTYxLi4wZTgzNmNjNWIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTk2LDYgKzk2LDkgQEAgdm9pZCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAgZW5j
b2RlciA8PCBjcHVMaW1pdDsKICAgICBlbmNvZGVyIDw8IHVybFNjaGVtZUhhbmRsZXJzOworI2lm
IEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBlbmNvZGVyIDw8IGFwcGxpY2F0aW9u
TWFuaWZlc3Q7CisjZW5kaWYKICAgICBlbmNvZGVyIDw8IGljZUNhbmRpZGF0ZUZpbHRlcmluZ0Vu
YWJsZWQ7CiAgICAgZW5jb2RlciA8PCBlbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5h
YmxlZDsKICAgICBlbmNvZGVyIDw8IHVzZXJDb250ZW50V29ybGRzOwpAQCAtMjU3LDYgKzI2MCwx
NCBAQCBzdGQ6Om9wdGlvbmFsPFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM+IFdlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFy
YW1ldGVycy51cmxTY2hlbWVIYW5kbGVycykpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgc3RkOjpvcHRpb25hbDxz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q+PiBhcHBsaWNhdGlvbk1h
bmlmZXN0OworICAgIGRlY29kZXIgPj4gYXBwbGljYXRpb25NYW5pZmVzdDsKKyAgICBpZiAoIWFw
cGxpY2F0aW9uTWFuaWZlc3QpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcGFy
YW1ldGVycy5hcHBsaWNhdGlvbk1hbmlmZXN0ID0gV1RGTW92ZSgqYXBwbGljYXRpb25NYW5pZmVz
dCk7CisjZW5kaWYKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5pY2VDYW5k
aWRhdGVGaWx0ZXJpbmdFbmFibGVkKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCmlu
ZGV4IDYyNjZmNzk2ODdiLi40NWEzNGRkMWI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtNTAsNiArNTAsMTAgQEAKICNpbmNs
dWRlICJDb2xvclNwYWNlRGF0YS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05f
TUFOSUZFU1QpCisjaW5jbHVkZSA8V2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0Lmg+CisjZW5k
aWYKKwogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBEZWNvZGVyOwogY2xhc3MgRW5jb2RlcjsKQEAg
LTE1Miw2ICsxNTYsMTAgQEAgc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgewogCiAg
ICAgSGFzaE1hcDxTdHJpbmcsIHVpbnQ2NF90PiB1cmxTY2hlbWVIYW5kbGVyczsKIAorI2lmIEVO
QUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFw
cGxpY2F0aW9uTWFuaWZlc3Q+IGFwcGxpY2F0aW9uTWFuaWZlc3Q7CisjZW5kaWYKKwogICAgIC8v
IFdlYlJUQyBtZW1iZXJzLgogICAgIGJvb2wgaWNlQ2FuZGlkYXRlRmlsdGVyaW5nRW5hYmxlZCB7
IHRydWUgfTsKICAgICBib29sIGVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXNFbmFibGVk
IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElB
cHBsaWNhdGlvbk1hbmlmZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXBw
bGljYXRpb25NYW5pZmVzdC5oCmluZGV4IGVkMzMxNDhiZjY0Li4zN2E0YTY4NmU3NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUFwcGxpY2F0aW9uTWFuaWZlc3Qu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXBwbGljYXRpb25NYW5pZmVz
dC5oCkBAIC0yNSwxMiArMjUsMTMgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCisKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3QuaD4KIAogbmFtZXNwYWNlIEFQSSB7CiAKLSNpZiBF
TkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiBjbGFzcyBBcHBsaWNhdGlvbk1hbmlmZXN0IGZp
bmFsIDogcHVibGljIE9iamVjdEltcGw8T2JqZWN0OjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0
PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBcHBsaWNhdGlvbk1hbmlmZXN0PiBjcmVhdGUo
Y29uc3QgV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdCYgYXBwbGljYXRpb25NYW5pZmVzdCkK
QEAgLTQ4LDcgKzQ5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBXZWJDb3JlOjpBcHBsaWNh
dGlvbk1hbmlmZXN0IG1fYXBwbGljYXRpb25NYW5pZmVzdDsKIH07Ci0jZW5kaWYKIAogfSAvLyBu
YW1lc3BhY2UgQVBJCiAKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRp
b24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9u
LmNwcAppbmRleCAyZmUzZmE2ZmIzZC4uNGI3ZGNiYzkzYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtMzMsNiAr
MzMsMTAgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzUG9vbC5oIgogI2luY2x1ZGUgIldlYlVzZXJD
b250ZW50Q29udHJvbGxlclByb3h5LmgiCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCisjaW5jbHVkZSAiQVBJQXBwbGljYXRpb25NYW5pZmVzdC5oIgorI2VuZGlmCisKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNzIsNiAr
NzYsOSBAQCBSZWY8UGFnZUNvbmZpZ3VyYXRpb24+IFBhZ2VDb25maWd1cmF0aW9uOjpjb3B5KCkg
Y29uc3QKICAgICBjb3B5LT5tX2NwdUxpbWl0ID0gdGhpcy0+bV9jcHVMaW1pdDsKICAgICBjb3B5
LT5tX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSB0aGlzLT5tX2NvbnRyb2xsZWRCeUF1dG9tYXRp
b247CiAgICAgY29weS0+bV9vdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPm1f
b3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3k7CisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01B
TklGRVNUKQorICAgIGNvcHktPm1fYXBwbGljYXRpb25NYW5pZmVzdCA9IHRoaXMtPm1fYXBwbGlj
YXRpb25NYW5pZmVzdDsKKyNlbmRpZgogCiAgICAgcmV0dXJuIGNvcHk7CiB9CkBAIC0xNjUsNCAr
MTcyLDE2IEBAIHZvaWQgUGFnZUNvbmZpZ3VyYXRpb246OnNldFNlc3Npb25JRChQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQpCiAgICAgbV9zZXNzaW9uSUQgPSBzZXNzaW9uSUQ7CiB9CiAKKyNpZiBF
TkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCitjb25zdCBBcHBsaWNhdGlvbk1hbmlmZXN0KiBQ
YWdlQ29uZmlndXJhdGlvbjo6YXBwbGljYXRpb25NYW5pZmVzdCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fYXBwbGljYXRpb25NYW5pZmVzdC5nZXQoKTsKK30KKwordm9pZCBQYWdlQ29uZmlndXJh
dGlvbjo6c2V0QXBwbGljYXRpb25NYW5pZmVzdChBcHBsaWNhdGlvbk1hbmlmZXN0KiBhcHBsaWNh
dGlvbk1hbmlmZXN0KQoreworICAgIG1fYXBwbGljYXRpb25NYW5pZmVzdCA9IGFwcGxpY2F0aW9u
TWFuaWZlc3Q7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5oCmluZGV4IDk0NTUy
MzlmNTE1Li5kNDNiOTFkNjgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmgKQEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgV2ViVXNl
ckNvbnRlbnRDb250cm9sbGVyUHJveHk7CiAKIG5hbWVzcGFjZSBBUEkgewogCitjbGFzcyBBcHBs
aWNhdGlvbk1hbmlmZXN0OwogY2xhc3MgV2Vic2l0ZURhdGFTdG9yZTsKIAogY2xhc3MgUGFnZUNv
bmZpZ3VyYXRpb24gOiBwdWJsaWMgT2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6OlBhZ2VDb25maWd1
cmF0aW9uPiB7CkBAIC0xMDYsNiArMTA3LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBXVEY6OlN0
cmluZyYgb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX292
ZXJyaWRlQ29udGVudFNlY3VyaXR5UG9saWN5OyB9CiAgICAgdm9pZCBzZXRPdmVycmlkZUNvbnRl
bnRTZWN1cml0eVBvbGljeShjb25zdCBXVEY6OlN0cmluZyYgb3ZlcnJpZGVDb250ZW50U2VjdXJp
dHlQb2xpY3kpIHsgbV9vdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSA9IG92ZXJyaWRlQ29u
dGVudFNlY3VyaXR5UG9saWN5OyB9CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1Qp
CisgICAgY29uc3QgQXBwbGljYXRpb25NYW5pZmVzdCogYXBwbGljYXRpb25NYW5pZmVzdCgpIGNv
bnN0OworICAgIHZvaWQgc2V0QXBwbGljYXRpb25NYW5pZmVzdChBcHBsaWNhdGlvbk1hbmlmZXN0
Kik7CisjZW5kaWYKKwogcHJpdmF0ZToKIAogICAgIFJlZlB0cjxXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sPiBtX3Byb2Nlc3NQb29sOwpAQCAtMTMxLDYgKzEzNywxMCBAQCBwcml2YXRlOgogICAgIHN0
ZDo6b3B0aW9uYWw8ZG91YmxlPiBtX2NwdUxpbWl0OwogCiAgICAgV1RGOjpTdHJpbmcgbV9vdmVy
cmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeTsKKworI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5J
RkVTVCkKKyAgICBSZWZQdHI8QXBwbGljYXRpb25NYW5pZmVzdD4gbV9hcHBsaWNhdGlvbk1hbmlm
ZXN0OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGEyOWRiY2IxZmRiLi44ZDU4
MjZiYzdhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCkBAIC01MzcsNiArNTM3LDEwIEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmln
dXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICAgICBwYWdl
Q29uZmlndXJhdGlvbi0+c2V0V2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyhb
X2NvbmZpZ3VyYXRpb24gX3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3ddKTsK
ICAgICBwYWdlQ29uZmlndXJhdGlvbi0+c2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbihbX2NvbmZp
Z3VyYXRpb24gX2lzQ29udHJvbGxlZEJ5QXV0b21hdGlvbl0pOwogCisjaWYgRU5BQkxFKEFQUExJ
Q0FUSU9OX01BTklGRVNUKQorICAgIHBhZ2VDb25maWd1cmF0aW9uLT5zZXRBcHBsaWNhdGlvbk1h
bmlmZXN0KFtfY29uZmlndXJhdGlvbiBfYXBwbGljYXRpb25NYW5pZmVzdF0gPyBbY29uZmlndXJh
dGlvbiBfYXBwbGljYXRpb25NYW5pZmVzdF0tPl9hcHBsaWNhdGlvbk1hbmlmZXN0LmdldCgpIDog
bnVsbHB0cik7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoYXV0byBjcHVM
aW1pdCA9IFtfY29uZmlndXJhdGlvbiBfY3B1TGltaXRdKQogICAgICAgICBwYWdlQ29uZmlndXJh
dGlvbi0+c2V0Q1BVTGltaXQoY3B1TGltaXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQppbmRleCBj
ZGNlNGU2NzgwNi4uOTFhMzkwNTBiYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC0xNDYs
NiArMTQ2LDEwIEBAIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXdDb25maWd1cmF0aW9uIHsKICAg
ICBCT09MIF93YWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93OwogICAgIEJPT0wg
X2NvbnRyb2xsZWRCeUF1dG9tYXRpb247CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCisgICAgUmV0YWluUHRyPF9XS0FwcGxpY2F0aW9uTWFuaWZlc3Q+IF9hcHBsaWNhdGlvbk1h
bmlmZXN0OworI2VuZGlmCisKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEJPT0wgX2FwcGxl
UGF5RW5hYmxlZDsKICNlbmRpZgpAQCAtMzUzLDYgKzM1Nyw5IEBAIC0gKGlkKWNvcHlXaXRoWm9u
ZTooTlNab25lICopem9uZQogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgY29uZmlndXJhdGlv
bi0+X2FwcGxlUGF5RW5hYmxlZCA9IHNlbGYtPl9hcHBsZVBheUVuYWJsZWQ7CiAjZW5kaWYKKyNp
ZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgY29uZmlndXJhdGlvbi0+X2FwcGxp
Y2F0aW9uTWFuaWZlc3QgPSBzZWxmLT5fYXBwbGljYXRpb25NYW5pZmVzdDsKKyNlbmRpZgogICAg
IGNvbmZpZ3VyYXRpb24tPl9uZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyayA9IHNl
bGYtPl9uZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyazsKICAgICBjb25maWd1cmF0
aW9uLT5fb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBhZG9wdE5TKFtzZWxmLT5fb3Zl
cnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3kgY29weVdpdGhab25lOnpvbmVdKTsKIApAQCAtNzQ2
LDYgKzc1MywyMiBAQCAtICh2b2lkKV9zZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uOihCT09MKWNv
bnRyb2xsZWRCeUF1dG9tYXRpb24KICAgICBfY29udHJvbGxlZEJ5QXV0b21hdGlvbiA9IGNvbnRy
b2xsZWRCeUF1dG9tYXRpb247CiB9CiAKKy0gKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QgKilfYXBw
bGljYXRpb25NYW5pZmVzdAoreworI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKKyAg
ICByZXR1cm4gX2FwcGxpY2F0aW9uTWFuaWZlc3QuZ2V0KCk7CisjZWxzZQorICAgIHJldHVybiBu
aWw7CisjZW5kaWYKK30KKworLSAodm9pZClfc2V0QXBwbGljYXRpb25NYW5pZmVzdDooX1dLQXBw
bGljYXRpb25NYW5pZmVzdCAqKWFwcGxpY2F0aW9uTWFuaWZlc3QKK3sKKyNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCisgICAgX2FwcGxpY2F0aW9uTWFuaWZlc3QgPSBhcHBsaWNhdGlv
bk1hbmlmZXN0OworI2VuZGlmCit9CisKICNpZiBQTEFURk9STShNQUMpCiAtIChCT09MKV9zaG93
c1VSTHNJblRvb2xUaXBzCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCmluZGV4
IDg4MGJjZDMxZjI2Li5iOWY0MDhjYzkxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2
YXRlLmgKQEAgLTM2LDYgKzM2LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9XS0Ry
YWdMaWZ0RGVsYXkpIHsKICNlbmRpZgogCiBAY2xhc3MgV0tXZWJWaWV3OworQGNsYXNzIF9XS0Fw
cGxpY2F0aW9uTWFuaWZlc3Q7CiBAY2xhc3MgX1dLVmlzaXRlZExpbmtTdG9yZTsKIEBjbGFzcyBf
V0tXZWJzaXRlRGF0YVN0b3JlOwogCkBAIC02Niw2ICs2Nyw3IEBAIHR5cGVkZWYgTlNfRU5VTShO
U1VJbnRlZ2VyLCBfV0tEcmFnTGlmdERlbGF5KSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0
dGVyPV9zZXRBcHBsZVBheUVuYWJsZWQ6KSBCT09MIF9hcHBsZVBheUVuYWJsZWQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMs
IHNldHRlcj1fc2V0V2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdzopIEJPT0wg
X3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3cgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTIuMyksIGlvcygxMC4zKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uOiwgZ2V0dGVyPV9pc0NvbnRyb2xsZWRCeUF1dG9t
YXRpb24pIEJPT0wgX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goMTAuMTIuMyksIGlvcygxMC4zKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRBcHBsaWNhdGlvbk1hbmlmZXN0OikgX1dLQXBwbGljYXRpb25NYW5pZmVzdCAqX2FwcGxpY2F0
aW9uTWFuaWZlc3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRBbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHk6KSBCT09MIF9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgV0tfQVBJX0FWQUlMQUJMRShpb3MoOV8wKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25N
YW5pZmVzdEludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
QXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmgKaW5kZXggMmI4Nzg4NmMxNjUuLjZhN2MxMDlj
ZjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBw
bGljYXRpb25NYW5pZmVzdEludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oCkBAIC0zMywxMCArMzMs
NiBAQAogI2ltcG9ydCAiX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oIgogI2ltcG9ydCA8V2ViQ29y
ZS9BcHBsaWNhdGlvbk1hbmlmZXN0Lmg+CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLXN0cnVjdCBB
cHBsaWNhdGlvbk1hbmlmZXN0OwotfQotCiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNU
KQogbmFtZXNwYWNlIEFQSSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IDQ5OTc1Y2U4NWI1Li4zZDIxYmUwMDgwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xNDQsNiArMTQ0LDEwIEBACiAjaW5jbHVkZSA8d3Rm
L1N5c3RlbVRyYWNpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CiAKKyNp
ZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisjaW5jbHVkZSAiQVBJQXBwbGljYXRpb25N
YW5pZmVzdC5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogI2luY2x1
ZGUgIlJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCIKICNlbmRpZgpAQCAtNTgxMiw2
ICs1ODE2LDEwIEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5OjpjcmVh
dGlvblBhcmFtZXRlcnMoKQogI2VuZGlmCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMSUNBVElP
Tl9NQU5JRkVTVCkKKyAgICBwYXJhbWV0ZXJzLmFwcGxpY2F0aW9uTWFuaWZlc3QgPSBtX2NvbmZp
Z3VyYXRpb24tPmFwcGxpY2F0aW9uTWFuaWZlc3QoKSA/IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
QXBwbGljYXRpb25NYW5pZmVzdD4obV9jb25maWd1cmF0aW9uLT5hcHBsaWNhdGlvbk1hbmlmZXN0
KCktPmFwcGxpY2F0aW9uTWFuaWZlc3QoKSkgOiBzdGQ6Om51bGxvcHQ7CisjZW5kaWYKKwogICAg
IG1fcHJvY2Vzcy0+YWRkV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkobV91c2VyQ29udGVu
dENvbnRyb2xsZXIsIHBhcmFtZXRlcnMpOwogCiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGE5MThlYzZl
NWRhLi43ZWE0YjRhZmE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTQxOSw2ICs0MTksMTAgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRf
dCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIHBh
Z2VDb25maWd1cmF0aW9uLnBheW1lbnRDb29yZGluYXRvckNsaWVudCA9IG5ldyBXZWJQYXltZW50
Q29vcmRpbmF0b3IoKnRoaXMpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFO
SUZFU1QpCisgICAgcGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NYW5pZmVzdCA9IHBhcmFt
ZXRlcnMuYXBwbGljYXRpb25NYW5pZmVzdDsKKyNlbmRpZgorCiAgICAgbV9wYWdlID0gc3RkOjpt
YWtlX3VuaXF1ZTxQYWdlPihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSk7CiAgICAgdXBkYXRl
UHJlZmVyZW5jZXMocGFyYW1ldGVycy5zdG9yZSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>