<?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>205012</bug_id>
          
          <creation_ts>2019-12-09 08:53:56 -0800</creation_ts>
          <short_desc>Regression(r249329) ViewGestureController::requestRenderTreeSizeNotificationIfNeeded() sometimes uses wrong webPageID for IPC</short_desc>
          <delta_ts>2019-12-30 12:41:56 -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>WebKit2</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>
          
          <blocked>201225</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alicem</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1596841</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 08:53:56 -0800</bug_when>
    <thetext>Since r249329, ViewGestureController::requestRenderTreeSizeNotificationIfNeeded() uses the wrong webPageID for IPC when the navigation swaps process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596852</commentid>
    <comment_count>1</comment_count>
      <attachid>385157</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 09:09:54 -0800</bug_when>
    <thetext>Created attachment 385157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596854</commentid>
    <comment_count>2</comment_count>
      <attachid>385158</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 09:18:10 -0800</bug_when>
    <thetext>Created attachment 385158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596887</commentid>
    <comment_count>3</comment_count>
      <attachid>385158</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-12-09 10:38:31 -0800</bug_when>
    <thetext>Comment on attachment 385158
Patch

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

&gt; Source/WebKit/UIProcess/ViewGestureController.cpp:614
&gt; +    messageSender-&gt;send(Messages::ViewGestureGeometryCollector::SetRenderTreeSizeNotificationThreshold(threshold));

Kinda sad VGC needs to know about provisional pages at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596898</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 11:04:18 -0800</bug_when>
    <thetext>(In reply to Tim Horton from comment #3)
&gt; Comment on attachment 385158 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=385158&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ViewGestureController.cpp:614
&gt; &gt; +    messageSender-&gt;send(Messages::ViewGestureGeometryCollector::SetRenderTreeSizeNotificationThreshold(threshold));
&gt; 
&gt; Kinda sad VGC needs to know about provisional pages at all.

Agreed, will look into doing this better in a follow-up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596930</commentid>
    <comment_count>5</comment_count>
      <attachid>385181</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 13:21:20 -0800</bug_when>
    <thetext>Created attachment 385181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596942</commentid>
    <comment_count>6</comment_count>
      <attachid>385187</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 13:59:43 -0800</bug_when>
    <thetext>Created attachment 385187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596944</commentid>
    <comment_count>7</comment_count>
      <attachid>385188</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-09 14:00:40 -0800</bug_when>
    <thetext>Created attachment 385188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596980</commentid>
    <comment_count>8</comment_count>
      <attachid>385188</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-09 15:40:03 -0800</bug_when>
    <thetext>Comment on attachment 385188
Patch

Clearing flags on attachment: 385188

Committed r253304: &lt;https://trac.webkit.org/changeset/253304&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596981</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-09 15:40:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596982</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-09 15:41:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/57771723&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601916</commentid>
    <comment_count>11</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2019-12-30 12:41:56 -0800</bug_when>
    <thetext>*** Bug 202568 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385157</attachid>
            <date>2019-12-09 09:09:54 -0800</date>
            <delta_ts>2019-12-09 09:18:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205012-20191209090953.patch</filename>
            <type>text/plain</type>
            <size>16123</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg4NWJjY2JkNTQzNGFiZDdj
NGJlMTE2ODM5ZDYxMTc5NDlhYjIzMTUuLjFlMzhkZGUyZDU3NTQwYWNiNjljZDRkMTYwZjk0YjJj
NDY1MTFiNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTktMTItMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKHIyNDkzMjkpIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVxdWVzdFJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uSWZO
ZWVkZWQoKSBzb21ldGltZXMgdXNlcyB3cm9uZyB3ZWJQYWdlSUQgZm9yIElQQworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVj
dG9yVGFyZ2V0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JUYXJnZXRQcm94
eTo6Y29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvclRhcmdldFByb3h5OjpkaXNj
b25uZWN0KToKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yVGFyZ2V0UHJveHk6OnNlbmRNZXNz
YWdlVG9UYXJnZXRCYWNrZW5kKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6flByb3Zp
c2lvbmFsUGFnZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6
OmluaXRpYWxpemVXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJv
eHk6OmdvVG9CYWNrRm9yd2FyZEl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBh
Z2VQcm94eTo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6bWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQgY29uc3Qp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdXNw
ZW5kZWRQYWdlUHJveHk6OlN1c3BlbmRlZFBhZ2VQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlN1
c3BlbmRlZFBhZ2VQcm94eTo6dW5zdXNwZW5kKToKKyAgICAgICAgKFdlYktpdDo6U3VzcGVuZGVk
UGFnZVByb3h5OjpjbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OlN1c3BlbmRlZFBhZ2VQcm94eTo6
bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTdXNwZW5k
ZWRQYWdlUHJveHk6Om1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEIGNvbnN0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29udGludWVO
YXZpZ2F0aW9uSW5OZXdQcm9jZXNzKToKKyAgICAgICAgSGF2ZSBTdXNwZW5kZWRQYWdlUHJveHkg
JiBQcm92aXNpb25hbFBhZ2VQcm94eSBzdWJjbGFzcyBJUEM6Ok1lc3NhZ2VTZW5kZXIgc28gdGhh
dCB3ZSBjYW4gY2FsbCBzZW5kKCkKKyAgICAgICAgb24gdGhlbSB3aXRob3V0IGhhdmluZyB0byBw
YXNzIGluIGEgUGFnZUlkZW50aWZpZXIuIFBhc3NpbmcgYSBQYWdlSWRlbnRpZmllciB3YXMgZXJy
b3ItcHJvbmUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpyZXF1ZXN0UmVuZGVy
VHJlZVNpemVOb3RpZmljYXRpb25JZk5lZWRlZCk6CisgICAgICAgIFdoZW4gdGhlcmUgd2FzIGEg
cHJvdmlzb25hbCBwYWdlIHByb3h5LCB3ZSB3b3VsZCBwcm9wZXJseSBzZW5kIHRoZSBJUEMgdG8g
dGhlIHByb3Zpc2lvbmFsIHBhZ2UncyBwcm9jZXNzCisgICAgICAgIGJ1dCB3b3VsZCB1c2UgdGhl
IHdyb25nIFBhZ2VJZGVudGlmaWVyIGZvciB0aGUgSVBDLiBXZSB3b3VsZCB1c2UgdGhlIGlkZW50
aWZpZXIgb2YgdGhlIGNvbW1pdHRlZCBXZWJQYWdlCisgICAgICAgIGluc3RlYWQgb2YgdGhlIG9u
ZSBvZiB0aGUgcHJvdmlzaW9uYWwgV2ViUGFnZS4KKwogMjAxOS0xMi0wOSAgeW91ZW5uIGZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGFuIG9wdGlvbiB0byBjYXB0dXJl
IGF1ZGlvIGluIEdQVSBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9JbnNwZWN0b3JUYXJnZXRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNw
ZWN0b3JUYXJnZXRQcm94eS5jcHAKaW5kZXggNTVjODE3M2FiMjQwM2RkZWIwNjUwMjUxYjdiYjY3
NjJhNmRlMDMyZi4uNmVjMWE2YzdjYzY1MDM1NTRhMGQ5OTBlYmFmOGU2NmJmNDdlOWMxNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yVGFyZ2V0UHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3RvclRhcmdldFByb3h5LmNwcApA
QCAtNTksMTIgKzU5LDEyIEBAIEluc3BlY3RvclRhcmdldFByb3h5OjpJbnNwZWN0b3JUYXJnZXRQ
cm94eShXZWJQYWdlUHJveHkmIHBhZ2UsIGNvbnN0IFN0cmluZyYgdGFyCiB2b2lkIEluc3BlY3Rv
clRhcmdldFByb3h5Ojpjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsOjpDb25uZWN0
aW9uVHlwZSBjb25uZWN0aW9uVHlwZSkKIHsKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsK
LSAgICAgICAgbV9wcm92aXNpb25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpDb25uZWN0SW5zcGVjdG9yKGlkZW50aWZpZXIoKSwgY29ubmVjdGlvblR5cGUpLCBtX3By
b3Zpc2lvbmFsUGFnZS0+d2ViUGFnZUlEKCkpOworICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q29ubmVjdEluc3BlY3RvcihpZGVudGlmaWVyKCksIGNv
bm5lY3Rpb25UeXBlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobV9wYWdl
Lmhhc1J1bm5pbmdQcm9jZXNzKCkpCi0gICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6Q29ubmVjdEluc3BlY3RvcihpZGVudGlmaWVyKCksIGNvbm5lY3Rpb25U
eXBlKSwgbV9wYWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OkNvbm5lY3RJbnNwZWN0b3IoaWRlbnRpZmllcigpLCBjb25uZWN0aW9uVHlwZSkp
OwogfQogCiB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5OjpkaXNjb25uZWN0KCkKQEAgLTczLDIz
ICs3MywyMyBAQCB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5OjpkaXNjb25uZWN0KCkKICAgICAg
ICAgcmVzdW1lKCk7CiAKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9w
cm92aXNpb25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaXNjb25u
ZWN0SW5zcGVjdG9yKGlkZW50aWZpZXIoKSksIG1fcHJvdmlzaW9uYWxQYWdlLT53ZWJQYWdlSUQo
KSk7CisgICAgICAgIG1fcHJvdmlzaW9uYWxQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpE
aXNjb25uZWN0SW5zcGVjdG9yKGlkZW50aWZpZXIoKSkpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCiAgICAgaWYgKG1fcGFnZS5oYXNSdW5uaW5nUHJvY2VzcygpKQotICAgICAgICBtX3BhZ2Uu
cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpc2Nvbm5lY3RJbnNwZWN0b3IoaWRl
bnRpZmllcigpKSwgbV9wYWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkRpc2Nvbm5lY3RJbnNwZWN0b3IoaWRlbnRpZmllcigpKSk7CiB9CiAK
IHZvaWQgSW5zcGVjdG9yVGFyZ2V0UHJveHk6OnNlbmRNZXNzYWdlVG9UYXJnZXRCYWNrZW5kKGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAg
ICAgICAgbV9wcm92aXNpb25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
OjpTZW5kTWVzc2FnZVRvVGFyZ2V0QmFja2VuZChpZGVudGlmaWVyKCksIG1lc3NhZ2UpLCBtX3By
b3Zpc2lvbmFsUGFnZS0+d2ViUGFnZUlEKCkpOworICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2VuZE1lc3NhZ2VUb1RhcmdldEJhY2tlbmQoaWRlbnRp
ZmllcigpLCBtZXNzYWdlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobV9w
YWdlLmhhc1J1bm5pbmdQcm9jZXNzKCkpCi0gICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6U2VuZE1lc3NhZ2VUb1RhcmdldEJhY2tlbmQoaWRlbnRpZmllcigp
LCBtZXNzYWdlKSwgbV9wYWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OlNlbmRNZXNzYWdlVG9UYXJnZXRCYWNrZW5kKGlkZW50aWZpZXIoKSwg
bWVzc2FnZSkpOwogfQogCiB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5OjpkaWRDb21taXRQcm92
aXNpb25hbFRhcmdldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92
aXNpb25hbFBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25h
bFBhZ2VQcm94eS5jcHAKaW5kZXggMjE2YmU1YmZmMjBhNTU2NzA4ZjAwNTdmNGUzNTBkMTVmZjIw
YTJiZi4uMzNkZjFiZjExOTE1MTdjZGRiN2VhMzNmMzgzZmM2ZjZlNmY5YmMwYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcApAQCAtOTks
NyArOTksNyBAQCBQcm92aXNpb25hbFBhZ2VQcm94eTo6flByb3Zpc2lvbmFsUGFnZVByb3h5KCkK
ICAgICAgICAgICAgIG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5wYWdlRW5kVXNpbmdXZWJzaXRl
RGF0YVN0b3JlKG1fcGFnZS5pZGVudGlmaWVyKCksIG1fcHJvY2Vzcy0+d2Vic2l0ZURhdGFTdG9y
ZSgpKTsKIAogICAgICAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlEKTsKLSAg
ICAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3dlYlBh
Z2VJRCk7CisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCkpOwogICAgICAg
ICBtX3Byb2Nlc3MtPnJlbW92ZVZpc2l0ZWRMaW5rU3RvcmVVc2VyKG1fcGFnZS52aXNpdGVkTGlu
a1N0b3JlKCksIG1fcGFnZS5pZGVudGlmaWVyKCkpOwogICAgIH0KIApAQCAtMTM4LDcgKzEzOCw3
IEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmluaXRpYWxpemVXZWJQYWdlKCkKIAogICAg
IGF1dG8gcGFyYW1ldGVycyA9IG1fcGFnZS5jcmVhdGlvblBhcmFtZXRlcnMobV9wcm9jZXNzLCAq
bV9kcmF3aW5nQXJlYSk7CiAgICAgcGFyYW1ldGVycy5pc1Byb2Nlc3NTd2FwID0gdHJ1ZTsKLSAg
ICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkNyZWF0ZVdlYlBhZ2UobV93
ZWJQYWdlSUQsIHBhcmFtZXRlcnMpLCAwKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNz
OjpDcmVhdGVXZWJQYWdlKG1fd2ViUGFnZUlELCBwYXJhbWV0ZXJzKSwgMCk7CiAgICAgbV9wcm9j
ZXNzLT5hZGRWaXNpdGVkTGlua1N0b3JlVXNlcihtX3BhZ2UudmlzaXRlZExpbmtTdG9yZSgpLCBt
X3BhZ2UuaWRlbnRpZmllcigpKTsKIH0KIApAQCAtMTczLDggKzE3Myw4IEBAIHZvaWQgUHJvdmlz
aW9uYWxQYWdlUHJveHk6OmdvVG9CYWNrRm9yd2FyZEl0ZW0oQVBJOjpOYXZpZ2F0aW9uJiBuYXZp
Z2F0aW9uLCBXZWJCCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuICZpdGVtICE9IHRhcmdldEl0
ZW07CiAgICAgfSk7Ci0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVcGRh
dGVCYWNrRm9yd2FyZExpc3RGb3JSZWF0dGFjaChXVEZNb3ZlKGl0ZW1TdGF0ZXMpKSwgbV93ZWJQ
YWdlSUQpOwotICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6R29Ub0JhY2tG
b3J3YXJkSXRlbShuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBpdGVtLml0ZW1JRCgpLCAqbmF2
aWdhdGlvbi5iYWNrRm9yd2FyZEZyYW1lTG9hZFR5cGUoKSwgV2ViQ29yZTo6U2hvdWxkVHJlYXRB
c0NvbnRpbnVpbmdMb2FkOjpZZXMsIFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKSksIG1fd2ViUGFn
ZUlEKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVcGRhdGVCYWNrRm9yd2FyZExpc3RG
b3JSZWF0dGFjaChXVEZNb3ZlKGl0ZW1TdGF0ZXMpKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6R29Ub0JhY2tGb3J3YXJkSXRlbShuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBpdGVt
Lml0ZW1JRCgpLCAqbmF2aWdhdGlvbi5iYWNrRm9yd2FyZEZyYW1lTG9hZFR5cGUoKSwgV2ViQ29y
ZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkOjpZZXMsIFdURk1vdmUod2Vic2l0ZVBvbGlj
aWVzKSkpOwogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7CiB9
CiAKQEAgLTUwMCw0ICs1MDAsMTQgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkUmVj
ZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVAKICAgICBtX3Bh
Z2UuZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIsIHJlcGx5RW5jb2Rl
cik7CiB9CiAKK0lQQzo6Q29ubmVjdGlvbiogUHJvdmlzaW9uYWxQYWdlUHJveHk6Om1lc3NhZ2VT
ZW5kZXJDb25uZWN0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcm9jZXNzLT5jb25uZWN0
aW9uKCk7Cit9CisKK3VpbnQ2NF90IFByb3Zpc2lvbmFsUGFnZVByb3h5OjptZXNzYWdlU2VuZGVy
RGVzdGluYXRpb25JRCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fd2ViUGFnZUlELnRvVUludDY0
KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmgKaW5kZXggY2I5NWZlMDEwZGM2NDJmY2RmNDYzMzdj
M2ViYWU4MjIyZGYxMzI0Ny4uMzQ5N2Y5MmUwMTlmMzUyZGNhYTg2MGNhM2Q0NmVjZWM0ZTMyNTVh
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5o
CkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNl
aXZlci5oIgorI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0
ZW5zaW9uLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmgiCiAjaW5j
bHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXNSZXBsaWVzLmgiCkBAIC02MCw3ICs2MSw3IEBAIHN0
cnVjdCBOYXZpZ2F0aW9uQWN0aW9uRGF0YTsKIHN0cnVjdCBVUkxTY2hlbWVUYXNrUGFyYW1ldGVy
czsKIHN0cnVjdCBXZWJOYXZpZ2F0aW9uRGF0YVN0b3JlOwogCi1jbGFzcyBQcm92aXNpb25hbFBh
Z2VQcm94eSA6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciwgcHVibGljIENhbk1ha2VXZWFr
UHRyPFByb3Zpc2lvbmFsUGFnZVByb3h5PiB7CitjbGFzcyBQcm92aXNpb25hbFBhZ2VQcm94eSA6
IHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciwgcHVibGljIElQQzo6TWVzc2FnZVNlbmRlciwg
cHVibGljIENhbk1ha2VXZWFrUHRyPFByb3Zpc2lvbmFsUGFnZVByb3h5PiB7CiAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvdmlzaW9uYWxQYWdlUHJveHkoV2Vi
UGFnZVByb3h5JiwgUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgc3RkOjp1bmlxdWVfcHRyPFN1c3Bl
bmRlZFBhZ2VQcm94eT4sIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgYm9vbCBpc1NlcnZlclJlZGly
ZWN0LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBQcm9jZXNzU3dhcFJlcXVlc3Rl
ZEJ5Q2xpZW50KTsKQEAgLTk1LDYgKzk2LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKICAgICB2
b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
LCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYpIGZpbmFsOwogCisgICAgLy8gSVBDOjpN
ZXNzYWdlU2VuZGVyCisgICAgSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlv
bigpIGNvbnN0IGZpbmFsOworICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklE
KCkgY29uc3QgZmluYWw7CisKICAgICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b25Bc3luYyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRp
b25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgRnJhbWVJbmZvRGF0YSYmLAogICAgICAgICBP
cHRpb25hbDxXZWJQYWdlUHJveHlJZGVudGlmaWVyPiBvcmlnaW5hdGluZ1BhZ2VJRCwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVxdWVzdEJvZHksCiAgICAg
ICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlLCBjb25zdCBV
c2VyRGF0YSYsIHVpbnQ2NF90IGxpc3RlbmVySUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAKaW5kZXggMzFkNTJkODM0MGYzOGEwZmNmMGI2ZDZj
ZDI1Nzc0NGI3MDhhMjEwMy4uNDM1MzliODA5MWFmMzQ5OWIyYzAyMWNmYzUyZDkyYjM4MjIzZjVl
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuY3Bw
CkBAIC0xMTAsNyArMTEwLDcgQEAgU3VzcGVuZGVkUGFnZVByb3h5OjpTdXNwZW5kZWRQYWdlUHJv
eHkoV2ViUGFnZVByb3h5JiBwYWdlLCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiYKICAgICBtX3Byb2Nl
c3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlELCAqdGhpcyk7CiAKICAgICBtX3N1c3BlbnNpb25UaW1l
b3V0VGltZXIuc3RhcnRPbmVTaG90KHN1c3BlbnNpb25UaW1lb3V0KTsKLSAgICBtX3Byb2Nlc3Mt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVuZGVkKHRydWUpLCBtX3dlYlBhZ2VJ
RCk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0SXNTdXNwZW5kZWQodHJ1ZSkpOwog
fQogCiBTdXNwZW5kZWRQYWdlUHJveHk6On5TdXNwZW5kZWRQYWdlUHJveHkoKQpAQCAtMTY1LDcg
KzE2NSw3IEBAIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5Ojp1bnN1c3BlbmQoKQogICAgIEFTU0VS
VChtX3N1c3BlbnNpb25TdGF0ZSA9PSBTdXNwZW5zaW9uU3RhdGU6OlN1c3BlbmRlZCk7CiAKICAg
ICBtX3N1c3BlbnNpb25TdGF0ZSA9IFN1c3BlbnNpb25TdGF0ZTo6UmVzdW1lZDsKLSAgICBtX3By
b2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVuZGVkKGZhbHNlKSwgbV93
ZWJQYWdlSUQpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVuZGVkKGZh
bHNlKSk7CiB9CiAKIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5OjpjbG9zZSgpCkBAIC0xNzcsNyAr
MTc3LDcgQEAgdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OmNsb3NlKCkKIAogICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3NTd2FwcGluZywgIiVwIC0gU3VzcGVuZGVkUGFnZVByb3h5OjpjbG9zZSgpIiwg
dGhpcyk7CiAgICAgbV9pc0Nsb3NlZCA9IHRydWU7Ci0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3dlYlBhZ2VJRCk7CisgICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6Q2xvc2UoKSk7CiB9CiAKIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5OjpwYWdlRW50
ZXJlZEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKQEAgLTI2MCw2ICsyNjAsMTYgQEAgdm9p
ZCBTdXNwZW5kZWRQYWdlUHJveHk6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6OkRlY29kZXImLAogewogfQogCitJUEM6OkNvbm5lY3Rpb24qIFN1c3BlbmRlZFBh
Z2VQcm94eTo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdAoreworICAgIHJldHVybiBt
X3Byb2Nlc3MtPmNvbm5lY3Rpb24oKTsKK30KKwordWludDY0X3QgU3VzcGVuZGVkUGFnZVByb3h5
OjptZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fd2Vi
UGFnZUlELnRvVUludDY0KCk7Cit9CisKICNpZiAhTE9HX0RJU0FCTEVECiAKIGNvbnN0IGNoYXIq
IFN1c3BlbmRlZFBhZ2VQcm94eTo6bG9nZ2luZ1N0cmluZygpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCmluZGV4IDcwMmU5NjI5NjhlNjFhNmU4
NjE3MWY5YWE0MGFmY2RkYmQwYThlZmMuLjY5ZmM4NzY4ZDFkMGZhNDdlMzhjMjlkNjY3YWFjOGIy
YTIwMTZmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBh
Z2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94
eS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkNvbm5lY3Rp
b24uaCIKKyNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc1Rocm90
dGxlci5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNpbmNsdWRlICJX
ZWJQYWdlUHJveHlNZXNzYWdlc1JlcGxpZXMuaCIKQEAgLTQ3LDcgKzQ4LDcgQEAgY2xhc3MgV2Vi
c2l0ZURhdGFTdG9yZTsKIAogZW51bSBjbGFzcyBTaG91bGREZWxheUNsb3NpbmdVbnRpbEVudGVy
aW5nQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUgOiBib29sIHsgTm8sIFllcyB9OwogCi1jbGFz
cyBTdXNwZW5kZWRQYWdlUHJveHkgZmluYWw6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciwg
cHVibGljIENhbk1ha2VXZWFrUHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4geworY2xhc3MgU3VzcGVu
ZGVkUGFnZVByb3h5IGZpbmFsOiBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIsIHB1YmxpYyBJ
UEM6Ok1lc3NhZ2VTZW5kZXIsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxTdXNwZW5kZWRQYWdlUHJv
eHk+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTdXNwZW5k
ZWRQYWdlUHJveHkoV2ViUGFnZVByb3h5JiwgUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgV2ViQ29y
ZTo6RnJhbWVJZGVudGlmaWVyIG1haW5GcmFtZUlELCBTaG91bGREZWxheUNsb3NpbmdVbnRpbEVu
dGVyaW5nQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOwpAQCAtODUsNiArODYsMTAgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+Jikg
ZmluYWw7CiAKKyAgICAvLyBJUEM6Ok1lc3NhZ2VTZW5kZXIKKyAgICBJUEM6OkNvbm5lY3Rpb24q
IG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3QgZmluYWw7CisgICAgdWludDY0X3QgbWVz
c2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbDsKKwogICAgIFdlYlBhZ2VQcm94
eSYgbV9wYWdlOwogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG1fd2ViUGFnZUlEOwogICAg
IFJlZjxXZWJQcm9jZXNzUHJveHk+IG1fcHJvY2VzczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDA3ODM4Y2FhZTg5ZjMxNWE0
YzUzMTY3NDQxZmE2YWNkN2UxNDA4MmUuLjE5ZjU4ZjBhOTZhNjJmYmE2NzM1MjA0MDY4MjJkYTZj
MjdiYjA2NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1ZpZXdHZXN0dXJl
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVmlld0dlc3R1cmVD
b250cm9sbGVyLmNwcApAQCAtNjA5LDEwICs2MDksOSBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJv
bGxlcjo6cmVxdWVzdFJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uSWZOZWVkZWQoKQogICAgIGlm
ICghbV9zbmFwc2hvdFJlbW92YWxUcmFja2VyLmhhc091dHN0YW5kaW5nRXZlbnQoU25hcHNob3RS
ZW1vdmFsVHJhY2tlcjo6UmVuZGVyVHJlZVNpemVUaHJlc2hvbGQpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBhdXRvJiBwcm9jZXNzID0gbV93ZWJQYWdlUHJveHkucHJvdmlzaW9uYWxQYWdlUHJv
eHkoKSA/IG1fd2ViUGFnZVByb3h5LnByb3Zpc2lvbmFsUGFnZVByb3h5KCktPnByb2Nlc3MoKSA6
IG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKTsKICAgICBhdXRvIHRocmVzaG9sZCA9IG1fc25hcHNo
b3RSZW1vdmFsVHJhY2tlci5yZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCgpOwotCi0gICAgcHJvY2Vz
cy5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yOjpTZXRSZW5kZXJU
cmVlU2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZCh0aHJlc2hvbGQpLCBtX3dlYlBhZ2VQcm94eS53
ZWJQYWdlSUQoKSk7CisgICAgYXV0byogbWVzc2FnZVNlbmRlciA9IG1fd2ViUGFnZVByb3h5LnBy
b3Zpc2lvbmFsUGFnZVByb3h5KCkgPyBzdGF0aWNfY2FzdDxJUEM6Ok1lc3NhZ2VTZW5kZXIqPiht
X3dlYlBhZ2VQcm94eS5wcm92aXNpb25hbFBhZ2VQcm94eSgpKSA6ICZtX3dlYlBhZ2VQcm94eTsK
KyAgICBtZXNzYWdlU2VuZGVyLT5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29s
bGVjdG9yOjpTZXRSZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZCh0aHJlc2hvbGQp
KTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCBjNTE3MzY0MzNmN2MwYjY5MWNiNDY4ZDc4YThhZTIzZGNiNWVkM2M2Li45NjM4YTAzNzIy
ZDA5MjliZDFlM2JjNzFjNWI2MzdmNTNhMTZhMjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMxNTEsOSArMzE1MSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5
Ojpjb250aW51ZU5hdmlnYXRpb25Jbk5ld1Byb2Nlc3MoQVBJOjpOYXZpZ2F0aW9uJiBuYXZpZ2F0
aW9uLCBzCiAgICAgICAgIG1fcHJvdmlzaW9uYWxQYWdlID0gbnVsbHB0cjsKICAgICB9CiAKLSAg
ICBtX3Byb3Zpc2lvbmFsUGFnZSA9IG1ha2VVbmlxdWU8UHJvdmlzaW9uYWxQYWdlUHJveHk+KCp0
aGlzLCBuZXdQcm9jZXNzLmNvcHlSZWYoKSwgV1RGTW92ZShzdXNwZW5kZWRQYWdlKSwgbmF2aWdh
dGlvbi5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdElzUmVkaXJlY3Qo
KSwgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpLCBwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xp
ZW50KTsKKyAgICBtX3Byb3Zpc2lvbmFsUGFnZSA9IG1ha2VVbmlxdWU8UHJvdmlzaW9uYWxQYWdl
UHJveHk+KCp0aGlzLCBXVEZNb3ZlKG5ld1Byb2Nlc3MpLCBXVEZNb3ZlKHN1c3BlbmRlZFBhZ2Up
LCBuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBuYXZpZ2F0aW9uLmN1cnJlbnRSZXF1ZXN0SXNS
ZWRpcmVjdCgpLCBuYXZpZ2F0aW9uLmN1cnJlbnRSZXF1ZXN0KCksIHByb2Nlc3NTd2FwUmVxdWVz
dGVkQnlDbGllbnQpOwogCi0gICAgYXV0byBjb250aW51YXRpb24gPSBbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBuYXZpZ2F0aW9uID0gbWFrZVJlZihuYXZpZ2F0aW9uKSwg
bmV3UHJvY2VzcyA9IFdURk1vdmUobmV3UHJvY2VzcyksIHdlYnNpdGVQb2xpY2llcyA9IFdURk1v
dmUod2Vic2l0ZVBvbGljaWVzKV0oKSBtdXRhYmxlIHsKKyAgICBhdXRvIGNvbnRpbnVhdGlvbiA9
IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIG5hdmlnYXRpb24gPSBtYWtl
UmVmKG5hdmlnYXRpb24pLCB3ZWJzaXRlUG9saWNpZXMgPSBXVEZNb3ZlKHdlYnNpdGVQb2xpY2ll
cyldKCkgbXV0YWJsZSB7CiAgICAgICAgIGlmIChhdXRvKiBpdGVtID0gbmF2aWdhdGlvbi0+dGFy
Z2V0SXRlbSgpKSB7CiAgICAgICAgICAgICBMT0coTG9hZGluZywgIldlYlBhZ2VQcm94eSAlcCBj
b250aW51ZU5hdmlnYXRpb25Jbk5ld1Byb2Nlc3MgdG8gYmFjayBpdGVtIFVSTCAlcyIsIHRoaXMs
IGl0ZW0tPnVybCgpLnV0ZjgoKS5kYXRhKCkpOwogCkBAIC0zMTY3LDcgKzMxNjcsNyBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6Y29udGludWVOYXZpZ2F0aW9uSW5OZXdQcm9jZXNzKEFQSTo6TmF2aWdh
dGlvbiYgbmF2aWdhdGlvbiwgcwogICAgICAgICBpZiAobV9iYWNrRm9yd2FyZExpc3QtPmN1cnJl
bnRJdGVtKCkgJiYgKG5hdmlnYXRpb24tPmxvY2tCYWNrRm9yd2FyZExpc3QoKSA9PSBMb2NrQmFj
a0ZvcndhcmRMaXN0OjpZZXMgfHwgbmF2aWdhdGlvbi0+bG9ja0hpc3RvcnkoKSA9PSBMb2NrSGlz
dG9yeTo6WWVzKSkgewogICAgICAgICAgICAgLy8gSWYgV2ViQ29yZSBpcyBzdXBwb3NlZCB0byBs
b2NrIHRoZSBoaXN0b3J5IGZvciB0aGlzIGxvYWQsIHRoZW4gdGhlIG5ldyBwcm9jZXNzIG5lZWRz
IHRvIGtub3cgYWJvdXQgdGhlIGN1cnJlbnQgaGlzdG9yeSBpdGVtIHNvIGl0IGNhbiB1cGRhdGUK
ICAgICAgICAgICAgIC8vIGl0IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgb25lLgotICAgICAg
ICAgICAgbmV3UHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0Q3VycmVudEhpc3Rv
cnlJdGVtRm9yUmVhdHRhY2gobV9iYWNrRm9yd2FyZExpc3QtPmN1cnJlbnRJdGVtKCktPml0ZW1T
dGF0ZSgpKSwgbV9wcm92aXNpb25hbFBhZ2UtPndlYlBhZ2VJRCgpKTsKKyAgICAgICAgICAgIG1f
cHJvdmlzaW9uYWxQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRDdXJyZW50SGlzdG9y
eUl0ZW1Gb3JSZWF0dGFjaChtX2JhY2tGb3J3YXJkTGlzdC0+Y3VycmVudEl0ZW0oKS0+aXRlbVN0
YXRlKCkpKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIEZJWE1FOiBXb3JrIG91dCB0aW1pbmcg
b2YgcmVzcG9uZGluZyB3aXRoIHRoZSBsYXN0IHBvbGljeSBkZWxlZ2F0ZSwgZXRjCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385158</attachid>
            <date>2019-12-09 09:18:10 -0800</date>
            <delta_ts>2019-12-09 13:21:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205012-20191209091809.patch</filename>
            <type>text/plain</type>
            <size>15682</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg4NWJjY2JkNTQzNGFiZDdj
NGJlMTE2ODM5ZDYxMTc5NDlhYjIzMTUuLjFlMzhkZGUyZDU3NTQwYWNiNjljZDRkMTYwZjk0YjJj
NDY1MTFiNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTktMTItMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKHIyNDkzMjkpIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVxdWVzdFJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uSWZO
ZWVkZWQoKSBzb21ldGltZXMgdXNlcyB3cm9uZyB3ZWJQYWdlSUQgZm9yIElQQworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVj
dG9yVGFyZ2V0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JUYXJnZXRQcm94
eTo6Y29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvclRhcmdldFByb3h5OjpkaXNj
b25uZWN0KToKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yVGFyZ2V0UHJveHk6OnNlbmRNZXNz
YWdlVG9UYXJnZXRCYWNrZW5kKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6flByb3Zp
c2lvbmFsUGFnZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6
OmluaXRpYWxpemVXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJv
eHk6OmdvVG9CYWNrRm9yd2FyZEl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBh
Z2VQcm94eTo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6bWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQgY29uc3Qp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdXNw
ZW5kZWRQYWdlUHJveHk6OlN1c3BlbmRlZFBhZ2VQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlN1
c3BlbmRlZFBhZ2VQcm94eTo6dW5zdXNwZW5kKToKKyAgICAgICAgKFdlYktpdDo6U3VzcGVuZGVk
UGFnZVByb3h5OjpjbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OlN1c3BlbmRlZFBhZ2VQcm94eTo6
bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTdXNwZW5k
ZWRQYWdlUHJveHk6Om1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEIGNvbnN0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29udGludWVO
YXZpZ2F0aW9uSW5OZXdQcm9jZXNzKToKKyAgICAgICAgSGF2ZSBTdXNwZW5kZWRQYWdlUHJveHkg
JiBQcm92aXNpb25hbFBhZ2VQcm94eSBzdWJjbGFzcyBJUEM6Ok1lc3NhZ2VTZW5kZXIgc28gdGhh
dCB3ZSBjYW4gY2FsbCBzZW5kKCkKKyAgICAgICAgb24gdGhlbSB3aXRob3V0IGhhdmluZyB0byBw
YXNzIGluIGEgUGFnZUlkZW50aWZpZXIuIFBhc3NpbmcgYSBQYWdlSWRlbnRpZmllciB3YXMgZXJy
b3ItcHJvbmUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpyZXF1ZXN0UmVuZGVy
VHJlZVNpemVOb3RpZmljYXRpb25JZk5lZWRlZCk6CisgICAgICAgIFdoZW4gdGhlcmUgd2FzIGEg
cHJvdmlzb25hbCBwYWdlIHByb3h5LCB3ZSB3b3VsZCBwcm9wZXJseSBzZW5kIHRoZSBJUEMgdG8g
dGhlIHByb3Zpc2lvbmFsIHBhZ2UncyBwcm9jZXNzCisgICAgICAgIGJ1dCB3b3VsZCB1c2UgdGhl
IHdyb25nIFBhZ2VJZGVudGlmaWVyIGZvciB0aGUgSVBDLiBXZSB3b3VsZCB1c2UgdGhlIGlkZW50
aWZpZXIgb2YgdGhlIGNvbW1pdHRlZCBXZWJQYWdlCisgICAgICAgIGluc3RlYWQgb2YgdGhlIG9u
ZSBvZiB0aGUgcHJvdmlzaW9uYWwgV2ViUGFnZS4KKwogMjAxOS0xMi0wOSAgeW91ZW5uIGZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGFuIG9wdGlvbiB0byBjYXB0dXJl
IGF1ZGlvIGluIEdQVSBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9JbnNwZWN0b3JUYXJnZXRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNw
ZWN0b3JUYXJnZXRQcm94eS5jcHAKaW5kZXggNTVjODE3M2FiMjQwM2RkZWIwNjUwMjUxYjdiYjY3
NjJhNmRlMDMyZi4uNmVjMWE2YzdjYzY1MDM1NTRhMGQ5OTBlYmFmOGU2NmJmNDdlOWMxNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yVGFyZ2V0UHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3RvclRhcmdldFByb3h5LmNwcApA
QCAtNTksMTIgKzU5LDEyIEBAIEluc3BlY3RvclRhcmdldFByb3h5OjpJbnNwZWN0b3JUYXJnZXRQ
cm94eShXZWJQYWdlUHJveHkmIHBhZ2UsIGNvbnN0IFN0cmluZyYgdGFyCiB2b2lkIEluc3BlY3Rv
clRhcmdldFByb3h5Ojpjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsOjpDb25uZWN0
aW9uVHlwZSBjb25uZWN0aW9uVHlwZSkKIHsKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsK
LSAgICAgICAgbV9wcm92aXNpb25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpDb25uZWN0SW5zcGVjdG9yKGlkZW50aWZpZXIoKSwgY29ubmVjdGlvblR5cGUpLCBtX3By
b3Zpc2lvbmFsUGFnZS0+d2ViUGFnZUlEKCkpOworICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q29ubmVjdEluc3BlY3RvcihpZGVudGlmaWVyKCksIGNv
bm5lY3Rpb25UeXBlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobV9wYWdl
Lmhhc1J1bm5pbmdQcm9jZXNzKCkpCi0gICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6Q29ubmVjdEluc3BlY3RvcihpZGVudGlmaWVyKCksIGNvbm5lY3Rpb25U
eXBlKSwgbV9wYWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OkNvbm5lY3RJbnNwZWN0b3IoaWRlbnRpZmllcigpLCBjb25uZWN0aW9uVHlwZSkp
OwogfQogCiB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5OjpkaXNjb25uZWN0KCkKQEAgLTczLDIz
ICs3MywyMyBAQCB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5OjpkaXNjb25uZWN0KCkKICAgICAg
ICAgcmVzdW1lKCk7CiAKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9w
cm92aXNpb25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaXNjb25u
ZWN0SW5zcGVjdG9yKGlkZW50aWZpZXIoKSksIG1fcHJvdmlzaW9uYWxQYWdlLT53ZWJQYWdlSUQo
KSk7CisgICAgICAgIG1fcHJvdmlzaW9uYWxQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpE
aXNjb25uZWN0SW5zcGVjdG9yKGlkZW50aWZpZXIoKSkpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCiAgICAgaWYgKG1fcGFnZS5oYXNSdW5uaW5nUHJvY2VzcygpKQotICAgICAgICBtX3BhZ2Uu
cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpc2Nvbm5lY3RJbnNwZWN0b3IoaWRl
bnRpZmllcigpKSwgbV9wYWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkRpc2Nvbm5lY3RJbnNwZWN0b3IoaWRlbnRpZmllcigpKSk7CiB9CiAK
IHZvaWQgSW5zcGVjdG9yVGFyZ2V0UHJveHk6OnNlbmRNZXNzYWdlVG9UYXJnZXRCYWNrZW5kKGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAg
ICAgICAgbV9wcm92aXNpb25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
OjpTZW5kTWVzc2FnZVRvVGFyZ2V0QmFja2VuZChpZGVudGlmaWVyKCksIG1lc3NhZ2UpLCBtX3By
b3Zpc2lvbmFsUGFnZS0+d2ViUGFnZUlEKCkpOworICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2VuZE1lc3NhZ2VUb1RhcmdldEJhY2tlbmQoaWRlbnRp
ZmllcigpLCBtZXNzYWdlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobV9w
YWdlLmhhc1J1bm5pbmdQcm9jZXNzKCkpCi0gICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6U2VuZE1lc3NhZ2VUb1RhcmdldEJhY2tlbmQoaWRlbnRpZmllcigp
LCBtZXNzYWdlKSwgbV9wYWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OlNlbmRNZXNzYWdlVG9UYXJnZXRCYWNrZW5kKGlkZW50aWZpZXIoKSwg
bWVzc2FnZSkpOwogfQogCiB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5OjpkaWRDb21taXRQcm92
aXNpb25hbFRhcmdldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92
aXNpb25hbFBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25h
bFBhZ2VQcm94eS5jcHAKaW5kZXggMjE2YmU1YmZmMjBhNTU2NzA4ZjAwNTdmNGUzNTBkMTVmZjIw
YTJiZi4uMjgxZjMxNjU4YmFmMmU1MGM2NDkwOGQxYzcyNWMzMmM4MDhjNWVhYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcApAQCAtOTks
NyArOTksNyBAQCBQcm92aXNpb25hbFBhZ2VQcm94eTo6flByb3Zpc2lvbmFsUGFnZVByb3h5KCkK
ICAgICAgICAgICAgIG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5wYWdlRW5kVXNpbmdXZWJzaXRl
RGF0YVN0b3JlKG1fcGFnZS5pZGVudGlmaWVyKCksIG1fcHJvY2Vzcy0+d2Vic2l0ZURhdGFTdG9y
ZSgpKTsKIAogICAgICAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlEKTsKLSAg
ICAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3dlYlBh
Z2VJRCk7CisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCkpOwogICAgICAg
ICBtX3Byb2Nlc3MtPnJlbW92ZVZpc2l0ZWRMaW5rU3RvcmVVc2VyKG1fcGFnZS52aXNpdGVkTGlu
a1N0b3JlKCksIG1fcGFnZS5pZGVudGlmaWVyKCkpOwogICAgIH0KIApAQCAtMTczLDggKzE3Myw4
IEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmdvVG9CYWNrRm9yd2FyZEl0ZW0oQVBJOjpO
YXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBXZWJCCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuICZp
dGVtICE9IHRhcmdldEl0ZW07CiAgICAgfSk7Ci0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlOjpVcGRhdGVCYWNrRm9yd2FyZExpc3RGb3JSZWF0dGFjaChXVEZNb3ZlKGl0ZW1T
dGF0ZXMpKSwgbV93ZWJQYWdlSUQpOwotICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6R29Ub0JhY2tGb3J3YXJkSXRlbShuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBpdGVt
Lml0ZW1JRCgpLCAqbmF2aWdhdGlvbi5iYWNrRm9yd2FyZEZyYW1lTG9hZFR5cGUoKSwgV2ViQ29y
ZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkOjpZZXMsIFdURk1vdmUod2Vic2l0ZVBvbGlj
aWVzKSksIG1fd2ViUGFnZUlEKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVcGRhdGVC
YWNrRm9yd2FyZExpc3RGb3JSZWF0dGFjaChXVEZNb3ZlKGl0ZW1TdGF0ZXMpKSk7CisgICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6R29Ub0JhY2tGb3J3YXJkSXRlbShuYXZpZ2F0aW9uLm5hdmln
YXRpb25JRCgpLCBpdGVtLml0ZW1JRCgpLCAqbmF2aWdhdGlvbi5iYWNrRm9yd2FyZEZyYW1lTG9h
ZFR5cGUoKSwgV2ViQ29yZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkOjpZZXMsIFdURk1v
dmUod2Vic2l0ZVBvbGljaWVzKSkpOwogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1l
cigpLnN0YXJ0KCk7CiB9CiAKQEAgLTUwMCw0ICs1MDAsMTQgQEAgdm9pZCBQcm92aXNpb25hbFBh
Z2VQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlv
biwgSVAKICAgICBtX3BhZ2UuZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29k
ZXIsIHJlcGx5RW5jb2Rlcik7CiB9CiAKK0lQQzo6Q29ubmVjdGlvbiogUHJvdmlzaW9uYWxQYWdl
UHJveHk6Om1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9w
cm9jZXNzLT5jb25uZWN0aW9uKCk7Cit9CisKK3VpbnQ2NF90IFByb3Zpc2lvbmFsUGFnZVByb3h5
OjptZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fd2Vi
UGFnZUlELnRvVUludDY0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmgKaW5kZXggY2I5NWZlMDEw
ZGM2NDJmY2RmNDYzMzdjM2ViYWU4MjIyZGYxMzI0Ny4uMzQ5N2Y5MmUwMTlmMzUyZGNhYTg2MGNh
M2Q0NmVjZWM0ZTMyNTVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJv
dmlzaW9uYWxQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNp
b25hbFBhZ2VQcm94eS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1
ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNs
dWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQb2xpY3lMaXN0ZW5l
clByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXNSZXBsaWVzLmgiCkBAIC02
MCw3ICs2MSw3IEBAIHN0cnVjdCBOYXZpZ2F0aW9uQWN0aW9uRGF0YTsKIHN0cnVjdCBVUkxTY2hl
bWVUYXNrUGFyYW1ldGVyczsKIHN0cnVjdCBXZWJOYXZpZ2F0aW9uRGF0YVN0b3JlOwogCi1jbGFz
cyBQcm92aXNpb25hbFBhZ2VQcm94eSA6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciwgcHVi
bGljIENhbk1ha2VXZWFrUHRyPFByb3Zpc2lvbmFsUGFnZVByb3h5PiB7CitjbGFzcyBQcm92aXNp
b25hbFBhZ2VQcm94eSA6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciwgcHVibGljIElQQzo6
TWVzc2FnZVNlbmRlciwgcHVibGljIENhbk1ha2VXZWFrUHRyPFByb3Zpc2lvbmFsUGFnZVByb3h5
PiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvdmlzaW9u
YWxQYWdlUHJveHkoV2ViUGFnZVByb3h5JiwgUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgc3RkOjp1
bmlxdWVfcHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4sIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgYm9v
bCBpc1NlcnZlclJlZGlyZWN0LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBQcm9j
ZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50KTsKQEAgLTk1LDYgKzk2LDEwIEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
KSBmaW5hbDsKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYpIGZpbmFsOwog
CisgICAgLy8gSVBDOjpNZXNzYWdlU2VuZGVyCisgICAgSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdl
U2VuZGVyQ29ubmVjdGlvbigpIGNvbnN0IGZpbmFsOworICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5k
ZXJEZXN0aW5hdGlvbklEKCkgY29uc3QgZmluYWw7CisKICAgICB2b2lkIGRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb25Bc3luYyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIHVp
bnQ2NF90IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgRnJhbWVJbmZvRGF0
YSYmLAogICAgICAgICBPcHRpb25hbDxXZWJQYWdlUHJveHlJZGVudGlmaWVyPiBvcmlnaW5hdGlu
Z1BhZ2VJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3Qs
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVx
dWVzdEJvZHksCiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJl
c3BvbnNlLCBjb25zdCBVc2VyRGF0YSYsIHVpbnQ2NF90IGxpc3RlbmVySUQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAKaW5kZXggMzFkNTJkODM0
MGYzOGEwZmNmMGI2ZDZjZDI1Nzc0NGI3MDhhMjEwMy4uNDM1MzliODA5MWFmMzQ5OWIyYzAyMWNm
YzUyZDkyYjM4MjIzZjVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3Vz
cGVuZGVkUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5k
ZWRQYWdlUHJveHkuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgU3VzcGVuZGVkUGFnZVByb3h5OjpT
dXNwZW5kZWRQYWdlUHJveHkoV2ViUGFnZVByb3h5JiBwYWdlLCBSZWY8V2ViUHJvY2Vzc1Byb3h5
PiYKICAgICBtX3Byb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlELCAqdGhpcyk7CiAKICAgICBt
X3N1c3BlbnNpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN1c3BlbnNpb25UaW1lb3V0KTsK
LSAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVuZGVkKHRy
dWUpLCBtX3dlYlBhZ2VJRCk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0SXNTdXNw
ZW5kZWQodHJ1ZSkpOwogfQogCiBTdXNwZW5kZWRQYWdlUHJveHk6On5TdXNwZW5kZWRQYWdlUHJv
eHkoKQpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5Ojp1bnN1c3Bl
bmQoKQogICAgIEFTU0VSVChtX3N1c3BlbnNpb25TdGF0ZSA9PSBTdXNwZW5zaW9uU3RhdGU6OlN1
c3BlbmRlZCk7CiAKICAgICBtX3N1c3BlbnNpb25TdGF0ZSA9IFN1c3BlbnNpb25TdGF0ZTo6UmVz
dW1lZDsKLSAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVu
ZGVkKGZhbHNlKSwgbV93ZWJQYWdlSUQpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNl
dElzU3VzcGVuZGVkKGZhbHNlKSk7CiB9CiAKIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5OjpjbG9z
ZSgpCkBAIC0xNzcsNyArMTc3LDcgQEAgdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OmNsb3NlKCkK
IAogICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTd2FwcGluZywgIiVwIC0gU3VzcGVuZGVkUGFnZVBy
b3h5OjpjbG9zZSgpIiwgdGhpcyk7CiAgICAgbV9pc0Nsb3NlZCA9IHRydWU7Ci0gICAgbV9wcm9j
ZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3dlYlBhZ2VJRCk7CisgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q2xvc2UoKSk7CiB9CiAKIHZvaWQgU3VzcGVuZGVkUGFn
ZVByb3h5OjpwYWdlRW50ZXJlZEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKQEAgLTI2MCw2
ICsyNjAsMTYgQEAgdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OmRpZFJlY2VpdmVTeW5jTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLAogewogfQogCitJUEM6OkNvbm5lY3Rp
b24qIFN1c3BlbmRlZFBhZ2VQcm94eTo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdAor
eworICAgIHJldHVybiBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKTsKK30KKwordWludDY0X3QgU3Vz
cGVuZGVkUGFnZVByb3h5OjptZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fd2ViUGFnZUlELnRvVUludDY0KCk7Cit9CisKICNpZiAhTE9HX0RJU0FCTEVE
CiAKIGNvbnN0IGNoYXIqIFN1c3BlbmRlZFBhZ2VQcm94eTo6bG9nZ2luZ1N0cmluZygpIGNvbnN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCmluZGV4IDcw
MmU5NjI5NjhlNjFhNmU4NjE3MWY5YWE0MGFmY2RkYmQwYThlZmMuLjY5ZmM4NzY4ZDFkMGZhNDdl
MzhjMjlkNjY3YWFjOGIyYTIwMTZmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1
c3BlbmRlZFBhZ2VQcm94eS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2lu
Y2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVk
ZSAiUHJvY2Vzc1Rocm90dGxlci5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0u
aCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlc1JlcGxpZXMuaCIKQEAgLTQ3LDcgKzQ4
LDcgQEAgY2xhc3MgV2Vic2l0ZURhdGFTdG9yZTsKIAogZW51bSBjbGFzcyBTaG91bGREZWxheUNs
b3NpbmdVbnRpbEVudGVyaW5nQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUgOiBib29sIHsgTm8s
IFllcyB9OwogCi1jbGFzcyBTdXNwZW5kZWRQYWdlUHJveHkgZmluYWw6IHB1YmxpYyBJUEM6Ok1l
c3NhZ2VSZWNlaXZlciwgcHVibGljIENhbk1ha2VXZWFrUHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4g
eworY2xhc3MgU3VzcGVuZGVkUGFnZVByb3h5IGZpbmFsOiBwdWJsaWMgSVBDOjpNZXNzYWdlUmVj
ZWl2ZXIsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VTZW5kZXIsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxT
dXNwZW5kZWRQYWdlUHJveHk+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBTdXNwZW5kZWRQYWdlUHJveHkoV2ViUGFnZVByb3h5JiwgUmVmPFdlYlByb2Nlc3NQ
cm94eT4mJiwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIG1haW5GcmFtZUlELCBTaG91bGREZWxh
eUNsb3NpbmdVbnRpbEVudGVyaW5nQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOwpAQCAtODUs
NiArODYsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJ
UEM6OkVuY29kZXI+JikgZmluYWw7CiAKKyAgICAvLyBJUEM6Ok1lc3NhZ2VTZW5kZXIKKyAgICBJ
UEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3QgZmluYWw7Cisg
ICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbDsKKwog
ICAgIFdlYlBhZ2VQcm94eSYgbV9wYWdlOwogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG1f
d2ViUGFnZUlEOwogICAgIFJlZjxXZWJQcm9jZXNzUHJveHk+IG1fcHJvY2VzczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDA3
ODM4Y2FhZTg5ZjMxNWE0YzUzMTY3NDQxZmE2YWNkN2UxNDA4MmUuLjE5ZjU4ZjBhOTZhNjJmYmE2
NzM1MjA0MDY4MjJkYTZjMjdiYjA2NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtNjA5LDEwICs2MDksOSBAQCB2b2lkIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVxdWVzdFJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uSWZO
ZWVkZWQoKQogICAgIGlmICghbV9zbmFwc2hvdFJlbW92YWxUcmFja2VyLmhhc091dHN0YW5kaW5n
RXZlbnQoU25hcHNob3RSZW1vdmFsVHJhY2tlcjo6UmVuZGVyVHJlZVNpemVUaHJlc2hvbGQpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvJiBwcm9jZXNzID0gbV93ZWJQYWdlUHJveHkucHJv
dmlzaW9uYWxQYWdlUHJveHkoKSA/IG1fd2ViUGFnZVByb3h5LnByb3Zpc2lvbmFsUGFnZVByb3h5
KCktPnByb2Nlc3MoKSA6IG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKTsKICAgICBhdXRvIHRocmVz
aG9sZCA9IG1fc25hcHNob3RSZW1vdmFsVHJhY2tlci5yZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCgp
OwotCi0gICAgcHJvY2Vzcy5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVj
dG9yOjpTZXRSZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZCh0aHJlc2hvbGQpLCBt
X3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSk7CisgICAgYXV0byogbWVzc2FnZVNlbmRlciA9IG1f
d2ViUGFnZVByb3h5LnByb3Zpc2lvbmFsUGFnZVByb3h5KCkgPyBzdGF0aWNfY2FzdDxJUEM6Ok1l
c3NhZ2VTZW5kZXIqPihtX3dlYlBhZ2VQcm94eS5wcm92aXNpb25hbFBhZ2VQcm94eSgpKSA6ICZt
X3dlYlBhZ2VQcm94eTsKKyAgICBtZXNzYWdlU2VuZGVyLT5zZW5kKE1lc3NhZ2VzOjpWaWV3R2Vz
dHVyZUdlb21ldHJ5Q29sbGVjdG9yOjpTZXRSZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRocmVz
aG9sZCh0aHJlc2hvbGQpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCBjNTE3MzY0MzNmN2MwYjY5MWNiNDY4ZDc4YThhZTIzZGNiNWVk
M2M2Li45NjM4YTAzNzIyZDA5MjliZDFlM2JjNzFjNWI2MzdmNTNhMTZhMjhjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMxNTEsOSArMzE1MSw5IEBAIHZv
aWQgV2ViUGFnZVByb3h5Ojpjb250aW51ZU5hdmlnYXRpb25Jbk5ld1Byb2Nlc3MoQVBJOjpOYXZp
Z2F0aW9uJiBuYXZpZ2F0aW9uLCBzCiAgICAgICAgIG1fcHJvdmlzaW9uYWxQYWdlID0gbnVsbHB0
cjsKICAgICB9CiAKLSAgICBtX3Byb3Zpc2lvbmFsUGFnZSA9IG1ha2VVbmlxdWU8UHJvdmlzaW9u
YWxQYWdlUHJveHk+KCp0aGlzLCBuZXdQcm9jZXNzLmNvcHlSZWYoKSwgV1RGTW92ZShzdXNwZW5k
ZWRQYWdlKSwgbmF2aWdhdGlvbi5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbi5jdXJyZW50UmVx
dWVzdElzUmVkaXJlY3QoKSwgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpLCBwcm9jZXNzU3dh
cFJlcXVlc3RlZEJ5Q2xpZW50KTsKKyAgICBtX3Byb3Zpc2lvbmFsUGFnZSA9IG1ha2VVbmlxdWU8
UHJvdmlzaW9uYWxQYWdlUHJveHk+KCp0aGlzLCBXVEZNb3ZlKG5ld1Byb2Nlc3MpLCBXVEZNb3Zl
KHN1c3BlbmRlZFBhZ2UpLCBuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBuYXZpZ2F0aW9uLmN1
cnJlbnRSZXF1ZXN0SXNSZWRpcmVjdCgpLCBuYXZpZ2F0aW9uLmN1cnJlbnRSZXF1ZXN0KCksIHBy
b2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQpOwogCi0gICAgYXV0byBjb250aW51YXRpb24gPSBb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBuYXZpZ2F0aW9uID0gbWFrZVJl
ZihuYXZpZ2F0aW9uKSwgbmV3UHJvY2VzcyA9IFdURk1vdmUobmV3UHJvY2VzcyksIHdlYnNpdGVQ
b2xpY2llcyA9IFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKV0oKSBtdXRhYmxlIHsKKyAgICBhdXRv
IGNvbnRpbnVhdGlvbiA9IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIG5h
dmlnYXRpb24gPSBtYWtlUmVmKG5hdmlnYXRpb24pLCB3ZWJzaXRlUG9saWNpZXMgPSBXVEZNb3Zl
KHdlYnNpdGVQb2xpY2llcyldKCkgbXV0YWJsZSB7CiAgICAgICAgIGlmIChhdXRvKiBpdGVtID0g
bmF2aWdhdGlvbi0+dGFyZ2V0SXRlbSgpKSB7CiAgICAgICAgICAgICBMT0coTG9hZGluZywgIldl
YlBhZ2VQcm94eSAlcCBjb250aW51ZU5hdmlnYXRpb25Jbk5ld1Byb2Nlc3MgdG8gYmFjayBpdGVt
IFVSTCAlcyIsIHRoaXMsIGl0ZW0tPnVybCgpLnV0ZjgoKS5kYXRhKCkpOwogCkBAIC0zMTY3LDcg
KzMxNjcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y29udGludWVOYXZpZ2F0aW9uSW5OZXdQcm9j
ZXNzKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgcwogICAgICAgICBpZiAobV9iYWNrRm9y
d2FyZExpc3QtPmN1cnJlbnRJdGVtKCkgJiYgKG5hdmlnYXRpb24tPmxvY2tCYWNrRm9yd2FyZExp
c3QoKSA9PSBMb2NrQmFja0ZvcndhcmRMaXN0OjpZZXMgfHwgbmF2aWdhdGlvbi0+bG9ja0hpc3Rv
cnkoKSA9PSBMb2NrSGlzdG9yeTo6WWVzKSkgewogICAgICAgICAgICAgLy8gSWYgV2ViQ29yZSBp
cyBzdXBwb3NlZCB0byBsb2NrIHRoZSBoaXN0b3J5IGZvciB0aGlzIGxvYWQsIHRoZW4gdGhlIG5l
dyBwcm9jZXNzIG5lZWRzIHRvIGtub3cgYWJvdXQgdGhlIGN1cnJlbnQgaGlzdG9yeSBpdGVtIHNv
IGl0IGNhbiB1cGRhdGUKICAgICAgICAgICAgIC8vIGl0IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBu
ZXcgb25lLgotICAgICAgICAgICAgbmV3UHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
U2V0Q3VycmVudEhpc3RvcnlJdGVtRm9yUmVhdHRhY2gobV9iYWNrRm9yd2FyZExpc3QtPmN1cnJl
bnRJdGVtKCktPml0ZW1TdGF0ZSgpKSwgbV9wcm92aXNpb25hbFBhZ2UtPndlYlBhZ2VJRCgpKTsK
KyAgICAgICAgICAgIG1fcHJvdmlzaW9uYWxQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpT
ZXRDdXJyZW50SGlzdG9yeUl0ZW1Gb3JSZWF0dGFjaChtX2JhY2tGb3J3YXJkTGlzdC0+Y3VycmVu
dEl0ZW0oKS0+aXRlbVN0YXRlKCkpKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIEZJWE1FOiBX
b3JrIG91dCB0aW1pbmcgb2YgcmVzcG9uZGluZyB3aXRoIHRoZSBsYXN0IHBvbGljeSBkZWxlZ2F0
ZSwgZXRjCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385181</attachid>
            <date>2019-12-09 13:21:20 -0800</date>
            <delta_ts>2019-12-09 13:59:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205012-20191209132120.patch</filename>
            <type>text/plain</type>
            <size>16189</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDljYmI3MjM1MmI2YzM1ZmMz
YWMwZmI5NGY1YmY3NmRjMDkyMWNiOGQuLjk2OTVmNWNlMjM0NjkxN2RjNmQ3MzAwNjA4YWI1MzJi
YzYzM2RhODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTktMTItMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKHIyNDkzMjkpIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVxdWVzdFJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uSWZO
ZWVkZWQoKSBzb21ldGltZXMgdXNlcyB3cm9uZyB3ZWJQYWdlSUQgZm9yIElQQworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3JU
YXJnZXRQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvclRhcmdldFByb3h5Ojpj
b25uZWN0KToKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yVGFyZ2V0UHJveHk6OmRpc2Nvbm5l
Y3QpOgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JUYXJnZXRQcm94eTo6c2VuZE1lc3NhZ2VU
b1RhcmdldEJhY2tlbmQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5Ojp+UHJvdmlzaW9u
YWxQYWdlUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6aW5p
dGlhbGl6ZVdlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6
Z29Ub0JhY2tGb3J3YXJkSXRlbSk6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVBy
b3h5OjptZXNzYWdlU2VuZGVyQ29ubmVjdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlBy
b3Zpc2lvbmFsUGFnZVByb3h5OjptZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCBjb25zdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN1c3BlbmRl
ZFBhZ2VQcm94eTo6U3VzcGVuZGVkUGFnZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6U3VzcGVu
ZGVkUGFnZVByb3h5Ojp1bnN1c3BlbmQpOgorICAgICAgICAoV2ViS2l0OjpTdXNwZW5kZWRQYWdl
UHJveHk6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6U3VzcGVuZGVkUGFnZVByb3h5OjptZXNz
YWdlU2VuZGVyQ29ubmVjdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlN1c3BlbmRlZFBh
Z2VQcm94eTo6bWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQgY29uc3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpjb250aW51ZU5hdmln
YXRpb25Jbk5ld1Byb2Nlc3MpOgorICAgICAgICBIYXZlIFN1c3BlbmRlZFBhZ2VQcm94eSAmIFBy
b3Zpc2lvbmFsUGFnZVByb3h5IHN1YmNsYXNzIElQQzo6TWVzc2FnZVNlbmRlciBzbyB0aGF0IHdl
IGNhbiBjYWxsIHNlbmQoKQorICAgICAgICBvbiB0aGVtIHdpdGhvdXQgaGF2aW5nIHRvIHBhc3Mg
aW4gYSBQYWdlSWRlbnRpZmllci4gUGFzc2luZyBhIFBhZ2VJZGVudGlmaWVyIHdhcyBlcnJvci1w
cm9uZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlcXVlc3RSZW5kZXJUcmVl
U2l6ZU5vdGlmaWNhdGlvbklmTmVlZGVkKToKKyAgICAgICAgV2hlbiB0aGVyZSB3YXMgYSBwcm92
aXNvbmFsIHBhZ2UgcHJveHksIHdlIHdvdWxkIHByb3Blcmx5IHNlbmQgdGhlIElQQyB0byB0aGUg
cHJvdmlzaW9uYWwgcGFnZSdzIHByb2Nlc3MKKyAgICAgICAgYnV0IHdvdWxkIHVzZSB0aGUgd3Jv
bmcgUGFnZUlkZW50aWZpZXIgZm9yIHRoZSBJUEMuIFdlIHdvdWxkIHVzZSB0aGUgaWRlbnRpZmll
ciBvZiB0aGUgY29tbWl0dGVkIFdlYlBhZ2UKKyAgICAgICAgaW5zdGVhZCBvZiB0aGUgb25lIG9m
IHRoZSBwcm92aXNpb25hbCBXZWJQYWdlLgorCiAyMDE5LTEyLTA5ICBTYWlkIEFib3UtSGFsbGF3
YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhyb3R0bGluZyByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgUmVuZGVyaW5nVXBkYXRlU2No
ZWR1bGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3JUYXJn
ZXRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3JUYXJnZXRQcm94
eS5jcHAKaW5kZXggNTVjODE3M2FiMjQwM2RkZWIwNjUwMjUxYjdiYjY3NjJhNmRlMDMyZi4uNmVj
MWE2YzdjYzY1MDM1NTRhMGQ5OTBlYmFmOGU2NmJmNDdlOWMxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yVGFyZ2V0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0luc3BlY3RvclRhcmdldFByb3h5LmNwcApAQCAtNTksMTIgKzU5LDEy
IEBAIEluc3BlY3RvclRhcmdldFByb3h5OjpJbnNwZWN0b3JUYXJnZXRQcm94eShXZWJQYWdlUHJv
eHkmIHBhZ2UsIGNvbnN0IFN0cmluZyYgdGFyCiB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5Ojpj
b25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsOjpDb25uZWN0aW9uVHlwZSBjb25uZWN0
aW9uVHlwZSkKIHsKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9wcm92
aXNpb25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDb25uZWN0SW5z
cGVjdG9yKGlkZW50aWZpZXIoKSwgY29ubmVjdGlvblR5cGUpLCBtX3Byb3Zpc2lvbmFsUGFnZS0+
d2ViUGFnZUlEKCkpOworICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6Q29ubmVjdEluc3BlY3RvcihpZGVudGlmaWVyKCksIGNvbm5lY3Rpb25UeXBlKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobV9wYWdlLmhhc1J1bm5pbmdQcm9j
ZXNzKCkpCi0gICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
Q29ubmVjdEluc3BlY3RvcihpZGVudGlmaWVyKCksIGNvbm5lY3Rpb25UeXBlKSwgbV9wYWdlLndl
YlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNvbm5l
Y3RJbnNwZWN0b3IoaWRlbnRpZmllcigpLCBjb25uZWN0aW9uVHlwZSkpOwogfQogCiB2b2lkIElu
c3BlY3RvclRhcmdldFByb3h5OjpkaXNjb25uZWN0KCkKQEAgLTczLDIzICs3MywyMyBAQCB2b2lk
IEluc3BlY3RvclRhcmdldFByb3h5OjpkaXNjb25uZWN0KCkKICAgICAgICAgcmVzdW1lKCk7CiAK
ICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9wcm92aXNpb25hbFBhZ2Ut
PnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaXNjb25uZWN0SW5zcGVjdG9yKGlk
ZW50aWZpZXIoKSksIG1fcHJvdmlzaW9uYWxQYWdlLT53ZWJQYWdlSUQoKSk7CisgICAgICAgIG1f
cHJvdmlzaW9uYWxQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaXNjb25uZWN0SW5zcGVj
dG9yKGlkZW50aWZpZXIoKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG1f
cGFnZS5oYXNSdW5uaW5nUHJvY2VzcygpKQotICAgICAgICBtX3BhZ2UucHJvY2VzcygpLnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2U6OkRpc2Nvbm5lY3RJbnNwZWN0b3IoaWRlbnRpZmllcigpKSwgbV9w
YWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkRpc2Nvbm5lY3RJbnNwZWN0b3IoaWRlbnRpZmllcigpKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
VGFyZ2V0UHJveHk6OnNlbmRNZXNzYWdlVG9UYXJnZXRCYWNrZW5kKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKIHsKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9wcm92aXNp
b25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZW5kTWVzc2FnZVRv
VGFyZ2V0QmFja2VuZChpZGVudGlmaWVyKCksIG1lc3NhZ2UpLCBtX3Byb3Zpc2lvbmFsUGFnZS0+
d2ViUGFnZUlEKCkpOworICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6U2VuZE1lc3NhZ2VUb1RhcmdldEJhY2tlbmQoaWRlbnRpZmllcigpLCBtZXNzYWdl
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobV9wYWdlLmhhc1J1bm5pbmdQ
cm9jZXNzKCkpCi0gICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6U2VuZE1lc3NhZ2VUb1RhcmdldEJhY2tlbmQoaWRlbnRpZmllcigpLCBtZXNzYWdlKSwgbV9w
YWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OlNlbmRNZXNzYWdlVG9UYXJnZXRCYWNrZW5kKGlkZW50aWZpZXIoKSwgbWVzc2FnZSkpOwogfQog
CiB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5OjpkaWRDb21taXRQcm92aXNpb25hbFRhcmdldCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAK
aW5kZXggMjE2YmU1YmZmMjBhNTU2NzA4ZjAwNTdmNGUzNTBkMTVmZjIwYTJiZi4uZDAzZjNmNzk0
ODYxOTQ1YjFjMjc0ODJlMzA4ZmUwOTE3ZDU0MjBlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcApAQCAtOTksNyArOTksNyBAQCBQcm92
aXNpb25hbFBhZ2VQcm94eTo6flByb3Zpc2lvbmFsUGFnZVByb3h5KCkKICAgICAgICAgICAgIG1f
cHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5wYWdlRW5kVXNpbmdXZWJzaXRlRGF0YVN0b3JlKG1fcGFn
ZS5pZGVudGlmaWVyKCksIG1fcHJvY2Vzcy0+d2Vic2l0ZURhdGFTdG9yZSgpKTsKIAogICAgICAg
ICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlEKTsKLSAgICAgICAgbV9wcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3dlYlBhZ2VJRCk7CisgICAgICAg
IHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCkpOwogICAgICAgICBtX3Byb2Nlc3MtPnJl
bW92ZVZpc2l0ZWRMaW5rU3RvcmVVc2VyKG1fcGFnZS52aXNpdGVkTGlua1N0b3JlKCksIG1fcGFn
ZS5pZGVudGlmaWVyKCkpOwogICAgIH0KIApAQCAtMTczLDggKzE3Myw4IEBAIHZvaWQgUHJvdmlz
aW9uYWxQYWdlUHJveHk6OmdvVG9CYWNrRm9yd2FyZEl0ZW0oQVBJOjpOYXZpZ2F0aW9uJiBuYXZp
Z2F0aW9uLCBXZWJCCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuICZpdGVtICE9IHRhcmdldEl0
ZW07CiAgICAgfSk7Ci0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVcGRh
dGVCYWNrRm9yd2FyZExpc3RGb3JSZWF0dGFjaChXVEZNb3ZlKGl0ZW1TdGF0ZXMpKSwgbV93ZWJQ
YWdlSUQpOwotICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6R29Ub0JhY2tG
b3J3YXJkSXRlbShuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBpdGVtLml0ZW1JRCgpLCAqbmF2
aWdhdGlvbi5iYWNrRm9yd2FyZEZyYW1lTG9hZFR5cGUoKSwgV2ViQ29yZTo6U2hvdWxkVHJlYXRB
c0NvbnRpbnVpbmdMb2FkOjpZZXMsIFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKSksIG1fd2ViUGFn
ZUlEKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVcGRhdGVCYWNrRm9yd2FyZExpc3RG
b3JSZWF0dGFjaChXVEZNb3ZlKGl0ZW1TdGF0ZXMpKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6R29Ub0JhY2tGb3J3YXJkSXRlbShuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBpdGVt
Lml0ZW1JRCgpLCAqbmF2aWdhdGlvbi5iYWNrRm9yd2FyZEZyYW1lTG9hZFR5cGUoKSwgV2ViQ29y
ZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkOjpZZXMsIFdURk1vdmUod2Vic2l0ZVBvbGlj
aWVzKSkpOwogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7CiB9
CiAKQEAgLTUwMCw0ICs1MDAsMjEgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkUmVj
ZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVAKICAgICBtX3Bh
Z2UuZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIsIHJlcGx5RW5jb2Rl
cik7CiB9CiAKK0lQQzo6Q29ubmVjdGlvbiogUHJvdmlzaW9uYWxQYWdlUHJveHk6Om1lc3NhZ2VT
ZW5kZXJDb25uZWN0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcm9jZXNzLT5jb25uZWN0
aW9uKCk7Cit9CisKK3VpbnQ2NF90IFByb3Zpc2lvbmFsUGFnZVByb3h5OjptZXNzYWdlU2VuZGVy
RGVzdGluYXRpb25JRCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fd2ViUGFnZUlELnRvVUludDY0
KCk7Cit9CisKK2Jvb2wgUHJvdmlzaW9uYWxQYWdlUHJveHk6OnNlbmRNZXNzYWdlKHN0ZDo6dW5p
cXVlX3B0cjxJUEM6OkVuY29kZXI+IGVuY29kZXIsIE9wdGlvblNldDxJUEM6OlNlbmRPcHRpb24+
IHNlbmRPcHRpb25zKQoreworICAgIC8vIFNlbmQgbWVzc2FnZXMgdmlhIHRoZSBXZWJQcm9jZXNz
UHJveHkgaW5zdGVhZCBvZiB0aGUgSVBDOjpDb25uZWN0aW9uIHNpbmNlIEF1eGlsaWFyeVByb2Nl
c3NQcm94eSBpbXBsZW1lbnRzIHF1ZXVlaW5nIG9mIG1lc3NhZ2VzCisgICAgLy8gd2hpbGUgdGhl
IHByb2Nlc3MgaXMgc3RpbGwgbGF1bmNoaW5nLgorICAgIHJldHVybiBtX3Byb2Nlc3MtPnNlbmRN
ZXNzYWdlKFdURk1vdmUoZW5jb2RlciksIHNlbmRPcHRpb25zKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25h
bFBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJv
eHkuaAppbmRleCBjYjk1ZmUwMTBkYzY0MmZjZGY0NjMzN2MzZWJhZTgyMjJkZjEzMjQ3Li5lNjc1
YzBlMjE1MDc2OGU0MGQ2YmI5NjU2NmQ0NzNlN2RkYTNjOGVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNw
cmFnbWEgb25jZQogCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiTWVz
c2FnZVNlbmRlci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJX
ZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNz
YWdlc1JlcGxpZXMuaCIKQEAgLTYwLDcgKzYxLDcgQEAgc3RydWN0IE5hdmlnYXRpb25BY3Rpb25E
YXRhOwogc3RydWN0IFVSTFNjaGVtZVRhc2tQYXJhbWV0ZXJzOwogc3RydWN0IFdlYk5hdmlnYXRp
b25EYXRhU3RvcmU7CiAKLWNsYXNzIFByb3Zpc2lvbmFsUGFnZVByb3h5IDogcHVibGljIElQQzo6
TWVzc2FnZVJlY2VpdmVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UHJvdmlzaW9uYWxQYWdlUHJv
eHk+IHsKK2NsYXNzIFByb3Zpc2lvbmFsUGFnZVByb3h5IDogcHVibGljIElQQzo6TWVzc2FnZVJl
Y2VpdmVyLCBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
UHJvdmlzaW9uYWxQYWdlUHJveHk+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBQcm92aXNpb25hbFBhZ2VQcm94eShXZWJQYWdlUHJveHkmLCBSZWY8V2ViUHJv
Y2Vzc1Byb3h5PiYmLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiwgdWludDY0
X3QgbmF2aWdhdGlvbklELCBib29sIGlzU2VydmVyUmVkaXJlY3QsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYsIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQpOwpAQCAtOTUsNiAr
OTYsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6
OkVuY29kZXI+JikgZmluYWw7CiAKKyAgICAvLyBJUEM6Ok1lc3NhZ2VTZW5kZXIKKyAgICBJUEM6
OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3QgZmluYWw7CisgICAg
dWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbDsKKyAgICBi
b29sIHNlbmRNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+LCBPcHRpb25TZXQ8
SVBDOjpTZW5kT3B0aW9uPikgZmluYWw7CisKICAgICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb25Bc3luYyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90
IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgRnJhbWVJbmZvRGF0YSYmLAog
ICAgICAgICBPcHRpb25hbDxXZWJQYWdlUHJveHlJZGVudGlmaWVyPiBvcmlnaW5hdGluZ1BhZ2VJ
RCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVxdWVzdEJv
ZHksCiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNl
LCBjb25zdCBVc2VyRGF0YSYsIHVpbnQ2NF90IGxpc3RlbmVySUQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAKaW5kZXggMzFkNTJkODM0MGYzOGEw
ZmNmMGI2ZDZjZDI1Nzc0NGI3MDhhMjEwMy4uNDM1MzliODA5MWFmMzQ5OWIyYzAyMWNmYzUyZDky
YjM4MjIzZjVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVk
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdl
UHJveHkuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgU3VzcGVuZGVkUGFnZVByb3h5OjpTdXNwZW5k
ZWRQYWdlUHJveHkoV2ViUGFnZVByb3h5JiBwYWdlLCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiYKICAg
ICBtX3Byb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5Ojpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlELCAqdGhpcyk7CiAKICAgICBtX3N1c3Bl
bnNpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN1c3BlbnNpb25UaW1lb3V0KTsKLSAgICBt
X3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVuZGVkKHRydWUpLCBt
X3dlYlBhZ2VJRCk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0SXNTdXNwZW5kZWQo
dHJ1ZSkpOwogfQogCiBTdXNwZW5kZWRQYWdlUHJveHk6On5TdXNwZW5kZWRQYWdlUHJveHkoKQpA
QCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5Ojp1bnN1c3BlbmQoKQog
ICAgIEFTU0VSVChtX3N1c3BlbnNpb25TdGF0ZSA9PSBTdXNwZW5zaW9uU3RhdGU6OlN1c3BlbmRl
ZCk7CiAKICAgICBtX3N1c3BlbnNpb25TdGF0ZSA9IFN1c3BlbnNpb25TdGF0ZTo6UmVzdW1lZDsK
LSAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVuZGVkKGZh
bHNlKSwgbV93ZWJQYWdlSUQpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3Vz
cGVuZGVkKGZhbHNlKSk7CiB9CiAKIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5OjpjbG9zZSgpCkBA
IC0xNzcsNyArMTc3LDcgQEAgdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OmNsb3NlKCkKIAogICAg
IFJFTEVBU0VfTE9HKFByb2Nlc3NTd2FwcGluZywgIiVwIC0gU3VzcGVuZGVkUGFnZVByb3h5Ojpj
bG9zZSgpIiwgdGhpcyk7CiAgICAgbV9pc0Nsb3NlZCA9IHRydWU7Ci0gICAgbV9wcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3dlYlBhZ2VJRCk7CisgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6Q2xvc2UoKSk7CiB9CiAKIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5
OjpwYWdlRW50ZXJlZEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKQEAgLTI2MCw2ICsyNjAs
MTYgQEAgdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLAogewogfQogCitJUEM6OkNvbm5lY3Rpb24qIFN1
c3BlbmRlZFBhZ2VQcm94eTo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdAoreworICAg
IHJldHVybiBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKTsKK30KKwordWludDY0X3QgU3VzcGVuZGVk
UGFnZVByb3h5OjptZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fd2ViUGFnZUlELnRvVUludDY0KCk7Cit9CisKICNpZiAhTE9HX0RJU0FCTEVECiAKIGNv
bnN0IGNoYXIqIFN1c3BlbmRlZFBhZ2VQcm94eTo6bG9nZ2luZ1N0cmluZygpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCmluZGV4IDcwMmU5NjI5
NjhlNjFhNmU4NjE3MWY5YWE0MGFmY2RkYmQwYThlZmMuLjY5ZmM4NzY4ZDFkMGZhNDdlMzhjMjlk
NjY3YWFjOGIyYTIwMTZmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1
c3BlbmRlZFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRl
ZFBhZ2VQcm94eS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiUHJv
Y2Vzc1Rocm90dGxlci5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNp
bmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlc1JlcGxpZXMuaCIKQEAgLTQ3LDcgKzQ4LDcgQEAg
Y2xhc3MgV2Vic2l0ZURhdGFTdG9yZTsKIAogZW51bSBjbGFzcyBTaG91bGREZWxheUNsb3NpbmdV
bnRpbEVudGVyaW5nQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUgOiBib29sIHsgTm8sIFllcyB9
OwogCi1jbGFzcyBTdXNwZW5kZWRQYWdlUHJveHkgZmluYWw6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciwgcHVibGljIENhbk1ha2VXZWFrUHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4geworY2xh
c3MgU3VzcGVuZGVkUGFnZVByb3h5IGZpbmFsOiBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIs
IHB1YmxpYyBJUEM6Ok1lc3NhZ2VTZW5kZXIsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxTdXNwZW5k
ZWRQYWdlUHJveHk+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBTdXNwZW5kZWRQYWdlUHJveHkoV2ViUGFnZVByb3h5JiwgUmVmPFdlYlByb2Nlc3NQcm94eT4m
JiwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIG1haW5GcmFtZUlELCBTaG91bGREZWxheUNsb3Np
bmdVbnRpbEVudGVyaW5nQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOwpAQCAtODUsNiArODYs
MTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVu
Y29kZXI+JikgZmluYWw7CiAKKyAgICAvLyBJUEM6Ok1lc3NhZ2VTZW5kZXIKKyAgICBJUEM6OkNv
bm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3QgZmluYWw7CisgICAgdWlu
dDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbDsKKwogICAgIFdl
YlBhZ2VQcm94eSYgbV9wYWdlOwogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG1fd2ViUGFn
ZUlEOwogICAgIFJlZjxXZWJQcm9jZXNzUHJveHk+IG1fcHJvY2VzczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDA3ODM4Y2Fh
ZTg5ZjMxNWE0YzUzMTY3NDQxZmE2YWNkN2UxNDA4MmUuLjE5ZjU4ZjBhOTZhNjJmYmE2NzM1MjA0
MDY4MjJkYTZjMjdiYjA2NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVmll
d0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtNjA5LDEwICs2MDksOSBAQCB2b2lkIFZpZXdHZXN0
dXJlQ29udHJvbGxlcjo6cmVxdWVzdFJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uSWZOZWVkZWQo
KQogICAgIGlmICghbV9zbmFwc2hvdFJlbW92YWxUcmFja2VyLmhhc091dHN0YW5kaW5nRXZlbnQo
U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6UmVuZGVyVHJlZVNpemVUaHJlc2hvbGQpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBhdXRvJiBwcm9jZXNzID0gbV93ZWJQYWdlUHJveHkucHJvdmlzaW9u
YWxQYWdlUHJveHkoKSA/IG1fd2ViUGFnZVByb3h5LnByb3Zpc2lvbmFsUGFnZVByb3h5KCktPnBy
b2Nlc3MoKSA6IG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKTsKICAgICBhdXRvIHRocmVzaG9sZCA9
IG1fc25hcHNob3RSZW1vdmFsVHJhY2tlci5yZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCgpOwotCi0g
ICAgcHJvY2Vzcy5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yOjpT
ZXRSZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZCh0aHJlc2hvbGQpLCBtX3dlYlBh
Z2VQcm94eS53ZWJQYWdlSUQoKSk7CisgICAgYXV0byogbWVzc2FnZVNlbmRlciA9IG1fd2ViUGFn
ZVByb3h5LnByb3Zpc2lvbmFsUGFnZVByb3h5KCkgPyBzdGF0aWNfY2FzdDxJUEM6Ok1lc3NhZ2VT
ZW5kZXIqPihtX3dlYlBhZ2VQcm94eS5wcm92aXNpb25hbFBhZ2VQcm94eSgpKSA6ICZtX3dlYlBh
Z2VQcm94eTsKKyAgICBtZXNzYWdlU2VuZGVyLT5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUdl
b21ldHJ5Q29sbGVjdG9yOjpTZXRSZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZCh0
aHJlc2hvbGQpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCBjNTE3MzY0MzNmN2MwYjY5MWNiNDY4ZDc4YThhZTIzZGNiNWVkM2M2Li45
NjM4YTAzNzIyZDA5MjliZDFlM2JjNzFjNWI2MzdmNTNhMTZhMjhjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMxNTEsOSArMzE1MSw5IEBAIHZvaWQgV2Vi
UGFnZVByb3h5Ojpjb250aW51ZU5hdmlnYXRpb25Jbk5ld1Byb2Nlc3MoQVBJOjpOYXZpZ2F0aW9u
JiBuYXZpZ2F0aW9uLCBzCiAgICAgICAgIG1fcHJvdmlzaW9uYWxQYWdlID0gbnVsbHB0cjsKICAg
ICB9CiAKLSAgICBtX3Byb3Zpc2lvbmFsUGFnZSA9IG1ha2VVbmlxdWU8UHJvdmlzaW9uYWxQYWdl
UHJveHk+KCp0aGlzLCBuZXdQcm9jZXNzLmNvcHlSZWYoKSwgV1RGTW92ZShzdXNwZW5kZWRQYWdl
KSwgbmF2aWdhdGlvbi5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdElz
UmVkaXJlY3QoKSwgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpLCBwcm9jZXNzU3dhcFJlcXVl
c3RlZEJ5Q2xpZW50KTsKKyAgICBtX3Byb3Zpc2lvbmFsUGFnZSA9IG1ha2VVbmlxdWU8UHJvdmlz
aW9uYWxQYWdlUHJveHk+KCp0aGlzLCBXVEZNb3ZlKG5ld1Byb2Nlc3MpLCBXVEZNb3ZlKHN1c3Bl
bmRlZFBhZ2UpLCBuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBuYXZpZ2F0aW9uLmN1cnJlbnRS
ZXF1ZXN0SXNSZWRpcmVjdCgpLCBuYXZpZ2F0aW9uLmN1cnJlbnRSZXF1ZXN0KCksIHByb2Nlc3NT
d2FwUmVxdWVzdGVkQnlDbGllbnQpOwogCi0gICAgYXV0byBjb250aW51YXRpb24gPSBbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBuYXZpZ2F0aW9uID0gbWFrZVJlZihuYXZp
Z2F0aW9uKSwgbmV3UHJvY2VzcyA9IFdURk1vdmUobmV3UHJvY2VzcyksIHdlYnNpdGVQb2xpY2ll
cyA9IFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKV0oKSBtdXRhYmxlIHsKKyAgICBhdXRvIGNvbnRp
bnVhdGlvbiA9IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIG5hdmlnYXRp
b24gPSBtYWtlUmVmKG5hdmlnYXRpb24pLCB3ZWJzaXRlUG9saWNpZXMgPSBXVEZNb3ZlKHdlYnNp
dGVQb2xpY2llcyldKCkgbXV0YWJsZSB7CiAgICAgICAgIGlmIChhdXRvKiBpdGVtID0gbmF2aWdh
dGlvbi0+dGFyZ2V0SXRlbSgpKSB7CiAgICAgICAgICAgICBMT0coTG9hZGluZywgIldlYlBhZ2VQ
cm94eSAlcCBjb250aW51ZU5hdmlnYXRpb25Jbk5ld1Byb2Nlc3MgdG8gYmFjayBpdGVtIFVSTCAl
cyIsIHRoaXMsIGl0ZW0tPnVybCgpLnV0ZjgoKS5kYXRhKCkpOwogCkBAIC0zMTY3LDcgKzMxNjcs
NyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y29udGludWVOYXZpZ2F0aW9uSW5OZXdQcm9jZXNzKEFQ
STo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgcwogICAgICAgICBpZiAobV9iYWNrRm9yd2FyZExp
c3QtPmN1cnJlbnRJdGVtKCkgJiYgKG5hdmlnYXRpb24tPmxvY2tCYWNrRm9yd2FyZExpc3QoKSA9
PSBMb2NrQmFja0ZvcndhcmRMaXN0OjpZZXMgfHwgbmF2aWdhdGlvbi0+bG9ja0hpc3RvcnkoKSA9
PSBMb2NrSGlzdG9yeTo6WWVzKSkgewogICAgICAgICAgICAgLy8gSWYgV2ViQ29yZSBpcyBzdXBw
b3NlZCB0byBsb2NrIHRoZSBoaXN0b3J5IGZvciB0aGlzIGxvYWQsIHRoZW4gdGhlIG5ldyBwcm9j
ZXNzIG5lZWRzIHRvIGtub3cgYWJvdXQgdGhlIGN1cnJlbnQgaGlzdG9yeSBpdGVtIHNvIGl0IGNh
biB1cGRhdGUKICAgICAgICAgICAgIC8vIGl0IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgb25l
LgotICAgICAgICAgICAgbmV3UHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0Q3Vy
cmVudEhpc3RvcnlJdGVtRm9yUmVhdHRhY2gobV9iYWNrRm9yd2FyZExpc3QtPmN1cnJlbnRJdGVt
KCktPml0ZW1TdGF0ZSgpKSwgbV9wcm92aXNpb25hbFBhZ2UtPndlYlBhZ2VJRCgpKTsKKyAgICAg
ICAgICAgIG1fcHJvdmlzaW9uYWxQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRDdXJy
ZW50SGlzdG9yeUl0ZW1Gb3JSZWF0dGFjaChtX2JhY2tGb3J3YXJkTGlzdC0+Y3VycmVudEl0ZW0o
KS0+aXRlbVN0YXRlKCkpKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIEZJWE1FOiBXb3JrIG91
dCB0aW1pbmcgb2YgcmVzcG9uZGluZyB3aXRoIHRoZSBsYXN0IHBvbGljeSBkZWxlZ2F0ZSwgZXRj
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385187</attachid>
            <date>2019-12-09 13:59:43 -0800</date>
            <delta_ts>2019-12-09 14:00:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205012-20191209135943.patch</filename>
            <type>text/plain</type>
            <size>16654</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDljYmI3MjM1MmI2YzM1ZmMz
YWMwZmI5NGY1YmY3NmRjMDkyMWNiOGQuLjk2OTVmNWNlMjM0NjkxN2RjNmQ3MzAwNjA4YWI1MzJi
YzYzM2RhODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTktMTItMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKHIyNDkzMjkpIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVxdWVzdFJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uSWZO
ZWVkZWQoKSBzb21ldGltZXMgdXNlcyB3cm9uZyB3ZWJQYWdlSUQgZm9yIElQQworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3JU
YXJnZXRQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvclRhcmdldFByb3h5Ojpj
b25uZWN0KToKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yVGFyZ2V0UHJveHk6OmRpc2Nvbm5l
Y3QpOgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JUYXJnZXRQcm94eTo6c2VuZE1lc3NhZ2VU
b1RhcmdldEJhY2tlbmQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5Ojp+UHJvdmlzaW9u
YWxQYWdlUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6aW5p
dGlhbGl6ZVdlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6
Z29Ub0JhY2tGb3J3YXJkSXRlbSk6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVBy
b3h5OjptZXNzYWdlU2VuZGVyQ29ubmVjdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlBy
b3Zpc2lvbmFsUGFnZVByb3h5OjptZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCBjb25zdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN1c3BlbmRl
ZFBhZ2VQcm94eTo6U3VzcGVuZGVkUGFnZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6U3VzcGVu
ZGVkUGFnZVByb3h5Ojp1bnN1c3BlbmQpOgorICAgICAgICAoV2ViS2l0OjpTdXNwZW5kZWRQYWdl
UHJveHk6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6U3VzcGVuZGVkUGFnZVByb3h5OjptZXNz
YWdlU2VuZGVyQ29ubmVjdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlN1c3BlbmRlZFBh
Z2VQcm94eTo6bWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQgY29uc3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpjb250aW51ZU5hdmln
YXRpb25Jbk5ld1Byb2Nlc3MpOgorICAgICAgICBIYXZlIFN1c3BlbmRlZFBhZ2VQcm94eSAmIFBy
b3Zpc2lvbmFsUGFnZVByb3h5IHN1YmNsYXNzIElQQzo6TWVzc2FnZVNlbmRlciBzbyB0aGF0IHdl
IGNhbiBjYWxsIHNlbmQoKQorICAgICAgICBvbiB0aGVtIHdpdGhvdXQgaGF2aW5nIHRvIHBhc3Mg
aW4gYSBQYWdlSWRlbnRpZmllci4gUGFzc2luZyBhIFBhZ2VJZGVudGlmaWVyIHdhcyBlcnJvci1w
cm9uZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlcXVlc3RSZW5kZXJUcmVl
U2l6ZU5vdGlmaWNhdGlvbklmTmVlZGVkKToKKyAgICAgICAgV2hlbiB0aGVyZSB3YXMgYSBwcm92
aXNvbmFsIHBhZ2UgcHJveHksIHdlIHdvdWxkIHByb3Blcmx5IHNlbmQgdGhlIElQQyB0byB0aGUg
cHJvdmlzaW9uYWwgcGFnZSdzIHByb2Nlc3MKKyAgICAgICAgYnV0IHdvdWxkIHVzZSB0aGUgd3Jv
bmcgUGFnZUlkZW50aWZpZXIgZm9yIHRoZSBJUEMuIFdlIHdvdWxkIHVzZSB0aGUgaWRlbnRpZmll
ciBvZiB0aGUgY29tbWl0dGVkIFdlYlBhZ2UKKyAgICAgICAgaW5zdGVhZCBvZiB0aGUgb25lIG9m
IHRoZSBwcm92aXNpb25hbCBXZWJQYWdlLgorCiAyMDE5LTEyLTA5ICBTYWlkIEFib3UtSGFsbGF3
YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhyb3R0bGluZyByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgUmVuZGVyaW5nVXBkYXRlU2No
ZWR1bGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3JUYXJn
ZXRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3JUYXJnZXRQcm94
eS5jcHAKaW5kZXggNTVjODE3M2FiMjQwM2RkZWIwNjUwMjUxYjdiYjY3NjJhNmRlMDMyZi4uNmVj
MWE2YzdjYzY1MDM1NTRhMGQ5OTBlYmFmOGU2NmJmNDdlOWMxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yVGFyZ2V0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0luc3BlY3RvclRhcmdldFByb3h5LmNwcApAQCAtNTksMTIgKzU5LDEy
IEBAIEluc3BlY3RvclRhcmdldFByb3h5OjpJbnNwZWN0b3JUYXJnZXRQcm94eShXZWJQYWdlUHJv
eHkmIHBhZ2UsIGNvbnN0IFN0cmluZyYgdGFyCiB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5Ojpj
b25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsOjpDb25uZWN0aW9uVHlwZSBjb25uZWN0
aW9uVHlwZSkKIHsKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9wcm92
aXNpb25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDb25uZWN0SW5z
cGVjdG9yKGlkZW50aWZpZXIoKSwgY29ubmVjdGlvblR5cGUpLCBtX3Byb3Zpc2lvbmFsUGFnZS0+
d2ViUGFnZUlEKCkpOworICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6Q29ubmVjdEluc3BlY3RvcihpZGVudGlmaWVyKCksIGNvbm5lY3Rpb25UeXBlKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobV9wYWdlLmhhc1J1bm5pbmdQcm9j
ZXNzKCkpCi0gICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
Q29ubmVjdEluc3BlY3RvcihpZGVudGlmaWVyKCksIGNvbm5lY3Rpb25UeXBlKSwgbV9wYWdlLndl
YlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNvbm5l
Y3RJbnNwZWN0b3IoaWRlbnRpZmllcigpLCBjb25uZWN0aW9uVHlwZSkpOwogfQogCiB2b2lkIElu
c3BlY3RvclRhcmdldFByb3h5OjpkaXNjb25uZWN0KCkKQEAgLTczLDIzICs3MywyMyBAQCB2b2lk
IEluc3BlY3RvclRhcmdldFByb3h5OjpkaXNjb25uZWN0KCkKICAgICAgICAgcmVzdW1lKCk7CiAK
ICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9wcm92aXNpb25hbFBhZ2Ut
PnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaXNjb25uZWN0SW5zcGVjdG9yKGlk
ZW50aWZpZXIoKSksIG1fcHJvdmlzaW9uYWxQYWdlLT53ZWJQYWdlSUQoKSk7CisgICAgICAgIG1f
cHJvdmlzaW9uYWxQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaXNjb25uZWN0SW5zcGVj
dG9yKGlkZW50aWZpZXIoKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG1f
cGFnZS5oYXNSdW5uaW5nUHJvY2VzcygpKQotICAgICAgICBtX3BhZ2UucHJvY2VzcygpLnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2U6OkRpc2Nvbm5lY3RJbnNwZWN0b3IoaWRlbnRpZmllcigpKSwgbV9w
YWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkRpc2Nvbm5lY3RJbnNwZWN0b3IoaWRlbnRpZmllcigpKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
VGFyZ2V0UHJveHk6OnNlbmRNZXNzYWdlVG9UYXJnZXRCYWNrZW5kKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKIHsKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9wcm92aXNp
b25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZW5kTWVzc2FnZVRv
VGFyZ2V0QmFja2VuZChpZGVudGlmaWVyKCksIG1lc3NhZ2UpLCBtX3Byb3Zpc2lvbmFsUGFnZS0+
d2ViUGFnZUlEKCkpOworICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6U2VuZE1lc3NhZ2VUb1RhcmdldEJhY2tlbmQoaWRlbnRpZmllcigpLCBtZXNzYWdl
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobV9wYWdlLmhhc1J1bm5pbmdQ
cm9jZXNzKCkpCi0gICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6U2VuZE1lc3NhZ2VUb1RhcmdldEJhY2tlbmQoaWRlbnRpZmllcigpLCBtZXNzYWdlKSwgbV9w
YWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OlNlbmRNZXNzYWdlVG9UYXJnZXRCYWNrZW5kKGlkZW50aWZpZXIoKSwgbWVzc2FnZSkpOwogfQog
CiB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5OjpkaWRDb21taXRQcm92aXNpb25hbFRhcmdldCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAK
aW5kZXggMjE2YmU1YmZmMjBhNTU2NzA4ZjAwNTdmNGUzNTBkMTVmZjIwYTJiZi4uZDAzZjNmNzk0
ODYxOTQ1YjFjMjc0ODJlMzA4ZmUwOTE3ZDU0MjBlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcApAQCAtOTksNyArOTksNyBAQCBQcm92
aXNpb25hbFBhZ2VQcm94eTo6flByb3Zpc2lvbmFsUGFnZVByb3h5KCkKICAgICAgICAgICAgIG1f
cHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5wYWdlRW5kVXNpbmdXZWJzaXRlRGF0YVN0b3JlKG1fcGFn
ZS5pZGVudGlmaWVyKCksIG1fcHJvY2Vzcy0+d2Vic2l0ZURhdGFTdG9yZSgpKTsKIAogICAgICAg
ICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlEKTsKLSAgICAgICAgbV9wcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3dlYlBhZ2VJRCk7CisgICAgICAg
IHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCkpOwogICAgICAgICBtX3Byb2Nlc3MtPnJl
bW92ZVZpc2l0ZWRMaW5rU3RvcmVVc2VyKG1fcGFnZS52aXNpdGVkTGlua1N0b3JlKCksIG1fcGFn
ZS5pZGVudGlmaWVyKCkpOwogICAgIH0KIApAQCAtMTczLDggKzE3Myw4IEBAIHZvaWQgUHJvdmlz
aW9uYWxQYWdlUHJveHk6OmdvVG9CYWNrRm9yd2FyZEl0ZW0oQVBJOjpOYXZpZ2F0aW9uJiBuYXZp
Z2F0aW9uLCBXZWJCCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuICZpdGVtICE9IHRhcmdldEl0
ZW07CiAgICAgfSk7Ci0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVcGRh
dGVCYWNrRm9yd2FyZExpc3RGb3JSZWF0dGFjaChXVEZNb3ZlKGl0ZW1TdGF0ZXMpKSwgbV93ZWJQ
YWdlSUQpOwotICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6R29Ub0JhY2tG
b3J3YXJkSXRlbShuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBpdGVtLml0ZW1JRCgpLCAqbmF2
aWdhdGlvbi5iYWNrRm9yd2FyZEZyYW1lTG9hZFR5cGUoKSwgV2ViQ29yZTo6U2hvdWxkVHJlYXRB
c0NvbnRpbnVpbmdMb2FkOjpZZXMsIFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKSksIG1fd2ViUGFn
ZUlEKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVcGRhdGVCYWNrRm9yd2FyZExpc3RG
b3JSZWF0dGFjaChXVEZNb3ZlKGl0ZW1TdGF0ZXMpKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6R29Ub0JhY2tGb3J3YXJkSXRlbShuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBpdGVt
Lml0ZW1JRCgpLCAqbmF2aWdhdGlvbi5iYWNrRm9yd2FyZEZyYW1lTG9hZFR5cGUoKSwgV2ViQ29y
ZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkOjpZZXMsIFdURk1vdmUod2Vic2l0ZVBvbGlj
aWVzKSkpOwogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7CiB9
CiAKQEAgLTUwMCw0ICs1MDAsMjEgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkUmVj
ZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVAKICAgICBtX3Bh
Z2UuZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIsIHJlcGx5RW5jb2Rl
cik7CiB9CiAKK0lQQzo6Q29ubmVjdGlvbiogUHJvdmlzaW9uYWxQYWdlUHJveHk6Om1lc3NhZ2VT
ZW5kZXJDb25uZWN0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcm9jZXNzLT5jb25uZWN0
aW9uKCk7Cit9CisKK3VpbnQ2NF90IFByb3Zpc2lvbmFsUGFnZVByb3h5OjptZXNzYWdlU2VuZGVy
RGVzdGluYXRpb25JRCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fd2ViUGFnZUlELnRvVUludDY0
KCk7Cit9CisKK2Jvb2wgUHJvdmlzaW9uYWxQYWdlUHJveHk6OnNlbmRNZXNzYWdlKHN0ZDo6dW5p
cXVlX3B0cjxJUEM6OkVuY29kZXI+IGVuY29kZXIsIE9wdGlvblNldDxJUEM6OlNlbmRPcHRpb24+
IHNlbmRPcHRpb25zKQoreworICAgIC8vIFNlbmQgbWVzc2FnZXMgdmlhIHRoZSBXZWJQcm9jZXNz
UHJveHkgaW5zdGVhZCBvZiB0aGUgSVBDOjpDb25uZWN0aW9uIHNpbmNlIEF1eGlsaWFyeVByb2Nl
c3NQcm94eSBpbXBsZW1lbnRzIHF1ZXVlaW5nIG9mIG1lc3NhZ2VzCisgICAgLy8gd2hpbGUgdGhl
IHByb2Nlc3MgaXMgc3RpbGwgbGF1bmNoaW5nLgorICAgIHJldHVybiBtX3Byb2Nlc3MtPnNlbmRN
ZXNzYWdlKFdURk1vdmUoZW5jb2RlciksIHNlbmRPcHRpb25zKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25h
bFBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJv
eHkuaAppbmRleCBjYjk1ZmUwMTBkYzY0MmZjZGY0NjMzN2MzZWJhZTgyMjJkZjEzMjQ3Li5lNjc1
YzBlMjE1MDc2OGU0MGQ2YmI5NjU2NmQ0NzNlN2RkYTNjOGVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNw
cmFnbWEgb25jZQogCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiTWVz
c2FnZVNlbmRlci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJX
ZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNz
YWdlc1JlcGxpZXMuaCIKQEAgLTYwLDcgKzYxLDcgQEAgc3RydWN0IE5hdmlnYXRpb25BY3Rpb25E
YXRhOwogc3RydWN0IFVSTFNjaGVtZVRhc2tQYXJhbWV0ZXJzOwogc3RydWN0IFdlYk5hdmlnYXRp
b25EYXRhU3RvcmU7CiAKLWNsYXNzIFByb3Zpc2lvbmFsUGFnZVByb3h5IDogcHVibGljIElQQzo6
TWVzc2FnZVJlY2VpdmVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UHJvdmlzaW9uYWxQYWdlUHJv
eHk+IHsKK2NsYXNzIFByb3Zpc2lvbmFsUGFnZVByb3h5IDogcHVibGljIElQQzo6TWVzc2FnZVJl
Y2VpdmVyLCBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
UHJvdmlzaW9uYWxQYWdlUHJveHk+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBQcm92aXNpb25hbFBhZ2VQcm94eShXZWJQYWdlUHJveHkmLCBSZWY8V2ViUHJv
Y2Vzc1Byb3h5PiYmLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiwgdWludDY0
X3QgbmF2aWdhdGlvbklELCBib29sIGlzU2VydmVyUmVkaXJlY3QsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYsIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQpOwpAQCAtOTUsNiAr
OTYsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6
OkVuY29kZXI+JikgZmluYWw7CiAKKyAgICAvLyBJUEM6Ok1lc3NhZ2VTZW5kZXIKKyAgICBJUEM6
OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3QgZmluYWw7CisgICAg
dWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbDsKKyAgICBi
b29sIHNlbmRNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+LCBPcHRpb25TZXQ8
SVBDOjpTZW5kT3B0aW9uPikgZmluYWw7CisKICAgICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb25Bc3luYyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90
IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgRnJhbWVJbmZvRGF0YSYmLAog
ICAgICAgICBPcHRpb25hbDxXZWJQYWdlUHJveHlJZGVudGlmaWVyPiBvcmlnaW5hdGluZ1BhZ2VJ
RCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVxdWVzdEJv
ZHksCiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNl
LCBjb25zdCBVc2VyRGF0YSYsIHVpbnQ2NF90IGxpc3RlbmVySUQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAKaW5kZXggMzFkNTJkODM0MGYzOGEw
ZmNmMGI2ZDZjZDI1Nzc0NGI3MDhhMjEwMy4uOTVkZWIyMTJjNGQ3ZjVjM2RiZjFkZGUyNTBlNzc3
MWI4YzhkNjVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVk
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdl
UHJveHkuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgU3VzcGVuZGVkUGFnZVByb3h5OjpTdXNwZW5k
ZWRQYWdlUHJveHkoV2ViUGFnZVByb3h5JiBwYWdlLCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiYKICAg
ICBtX3Byb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5Ojpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlELCAqdGhpcyk7CiAKICAgICBtX3N1c3Bl
bnNpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN1c3BlbnNpb25UaW1lb3V0KTsKLSAgICBt
X3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVuZGVkKHRydWUpLCBt
X3dlYlBhZ2VJRCk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0SXNTdXNwZW5kZWQo
dHJ1ZSkpOwogfQogCiBTdXNwZW5kZWRQYWdlUHJveHk6On5TdXNwZW5kZWRQYWdlUHJveHkoKQpA
QCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5Ojp1bnN1c3BlbmQoKQog
ICAgIEFTU0VSVChtX3N1c3BlbnNpb25TdGF0ZSA9PSBTdXNwZW5zaW9uU3RhdGU6OlN1c3BlbmRl
ZCk7CiAKICAgICBtX3N1c3BlbnNpb25TdGF0ZSA9IFN1c3BlbnNpb25TdGF0ZTo6UmVzdW1lZDsK
LSAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVuZGVkKGZh
bHNlKSwgbV93ZWJQYWdlSUQpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3Vz
cGVuZGVkKGZhbHNlKSk7CiB9CiAKIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5OjpjbG9zZSgpCkBA
IC0xNzcsNyArMTc3LDcgQEAgdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OmNsb3NlKCkKIAogICAg
IFJFTEVBU0VfTE9HKFByb2Nlc3NTd2FwcGluZywgIiVwIC0gU3VzcGVuZGVkUGFnZVByb3h5Ojpj
bG9zZSgpIiwgdGhpcyk7CiAgICAgbV9pc0Nsb3NlZCA9IHRydWU7Ci0gICAgbV9wcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3dlYlBhZ2VJRCk7CisgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6Q2xvc2UoKSk7CiB9CiAKIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5
OjpwYWdlRW50ZXJlZEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKQEAgLTI2MCw2ICsyNjAs
MjMgQEAgdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLAogewogfQogCitJUEM6OkNvbm5lY3Rpb24qIFN1
c3BlbmRlZFBhZ2VQcm94eTo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdAoreworICAg
IHJldHVybiBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKTsKK30KKwordWludDY0X3QgU3VzcGVuZGVk
UGFnZVByb3h5OjptZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fd2ViUGFnZUlELnRvVUludDY0KCk7Cit9CisKK2Jvb2wgUHJvdmlzaW9uYWxQYWdlUHJv
eHk6OnNlbmRNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+IGVuY29kZXIsIE9w
dGlvblNldDxJUEM6OlNlbmRPcHRpb24+IHNlbmRPcHRpb25zKQoreworICAgIC8vIFNlbmQgbWVz
c2FnZXMgdmlhIHRoZSBXZWJQcm9jZXNzUHJveHkgaW5zdGVhZCBvZiB0aGUgSVBDOjpDb25uZWN0
aW9uIHNpbmNlIEF1eGlsaWFyeVByb2Nlc3NQcm94eSBpbXBsZW1lbnRzIHF1ZXVlaW5nIG9mIG1l
c3NhZ2VzCisgICAgLy8gd2hpbGUgdGhlIHByb2Nlc3MgaXMgc3RpbGwgbGF1bmNoaW5nLgorICAg
IHJldHVybiBtX3Byb2Nlc3MtPnNlbmRNZXNzYWdlKFdURk1vdmUoZW5jb2RlciksIHNlbmRPcHRp
b25zKTsKK30KKwogI2lmICFMT0dfRElTQUJMRUQKIAogY29uc3QgY2hhciogU3VzcGVuZGVkUGFn
ZVByb3h5Ojpsb2dnaW5nU3RyaW5nKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
U3VzcGVuZGVkUGFnZVByb3h5LmgKaW5kZXggNzAyZTk2Mjk2OGU2MWE2ZTg2MTcxZjlhYTQwYWZj
ZGRiZDBhOGVmYy4uYmJmOWVhYjUxNzlkZDE2NDhiMmZhMWVmMWRmNGI2ZGZiZDU2ZGE3NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmgKQEAgLTI2LDYg
KzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1
ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlICJQcm9jZXNzVGhyb3R0bGVyLmgiCiAjaW5j
bHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1l
c3NhZ2VzUmVwbGllcy5oIgpAQCAtNDcsNyArNDgsNyBAQCBjbGFzcyBXZWJzaXRlRGF0YVN0b3Jl
OwogCiBlbnVtIGNsYXNzIFNob3VsZERlbGF5Q2xvc2luZ1VudGlsRW50ZXJpbmdBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nTW9kZSA6IGJvb2wgeyBObywgWWVzIH07CiAKLWNsYXNzIFN1c3BlbmRlZFBh
Z2VQcm94eSBmaW5hbDogcHVibGljIElQQzo6TWVzc2FnZVJlY2VpdmVyLCBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8U3VzcGVuZGVkUGFnZVByb3h5PiB7CitjbGFzcyBTdXNwZW5kZWRQYWdlUHJveHkg
ZmluYWw6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciwgcHVibGljIElQQzo6TWVzc2FnZVNl
bmRlciwgcHVibGljIENhbk1ha2VXZWFrUHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4gewogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFN1c3BlbmRlZFBhZ2VQcm94eShX
ZWJQYWdlUHJveHkmLCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmLCBXZWJDb3JlOjpGcmFtZUlkZW50
aWZpZXIgbWFpbkZyYW1lSUQsIFNob3VsZERlbGF5Q2xvc2luZ1VudGlsRW50ZXJpbmdBY2NlbGVy
YXRlZENvbXBvc2l0aW5nTW9kZSk7CkBAIC04NSw2ICs4NiwxMSBAQCBwcml2YXRlOgogICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmlu
YWw7CiAgICAgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBD
OjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mKSBmaW5hbDsKIAorICAg
IC8vIElQQzo6TWVzc2FnZVNlbmRlcgorICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRl
ckNvbm5lY3Rpb24oKSBjb25zdCBmaW5hbDsKKyAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVz
dGluYXRpb25JRCgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgc2VuZE1lc3NhZ2Uoc3RkOjp1bmlx
dWVfcHRyPElQQzo6RW5jb2Rlcj4sIE9wdGlvblNldDxJUEM6OlNlbmRPcHRpb24+KSBmaW5hbDsK
KwogICAgIFdlYlBhZ2VQcm94eSYgbV9wYWdlOwogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVy
IG1fd2ViUGFnZUlEOwogICAgIFJlZjxXZWJQcm9jZXNzUHJveHk+IG1fcHJvY2VzczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4
IDA3ODM4Y2FhZTg5ZjMxNWE0YzUzMTY3NDQxZmE2YWNkN2UxNDA4MmUuLjE5ZjU4ZjBhOTZhNjJm
YmE2NzM1MjA0MDY4MjJkYTZjMjdiYjA2NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtNjA5LDEwICs2MDksOSBAQCB2b2lk
IFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVxdWVzdFJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9u
SWZOZWVkZWQoKQogICAgIGlmICghbV9zbmFwc2hvdFJlbW92YWxUcmFja2VyLmhhc091dHN0YW5k
aW5nRXZlbnQoU25hcHNob3RSZW1vdmFsVHJhY2tlcjo6UmVuZGVyVHJlZVNpemVUaHJlc2hvbGQp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvJiBwcm9jZXNzID0gbV93ZWJQYWdlUHJveHku
cHJvdmlzaW9uYWxQYWdlUHJveHkoKSA/IG1fd2ViUGFnZVByb3h5LnByb3Zpc2lvbmFsUGFnZVBy
b3h5KCktPnByb2Nlc3MoKSA6IG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKTsKICAgICBhdXRvIHRo
cmVzaG9sZCA9IG1fc25hcHNob3RSZW1vdmFsVHJhY2tlci5yZW5kZXJUcmVlU2l6ZVRocmVzaG9s
ZCgpOwotCi0gICAgcHJvY2Vzcy5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29s
bGVjdG9yOjpTZXRSZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZCh0aHJlc2hvbGQp
LCBtX3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSk7CisgICAgYXV0byogbWVzc2FnZVNlbmRlciA9
IG1fd2ViUGFnZVByb3h5LnByb3Zpc2lvbmFsUGFnZVByb3h5KCkgPyBzdGF0aWNfY2FzdDxJUEM6
Ok1lc3NhZ2VTZW5kZXIqPihtX3dlYlBhZ2VQcm94eS5wcm92aXNpb25hbFBhZ2VQcm94eSgpKSA6
ICZtX3dlYlBhZ2VQcm94eTsKKyAgICBtZXNzYWdlU2VuZGVyLT5zZW5kKE1lc3NhZ2VzOjpWaWV3
R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yOjpTZXRSZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRo
cmVzaG9sZCh0aHJlc2hvbGQpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCBjNTE3MzY0MzNmN2MwYjY5MWNiNDY4ZDc4YThhZTIzZGNi
NWVkM2M2Li45NjM4YTAzNzIyZDA5MjliZDFlM2JjNzFjNWI2MzdmNTNhMTZhMjhjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMxNTEsOSArMzE1MSw5IEBA
IHZvaWQgV2ViUGFnZVByb3h5Ojpjb250aW51ZU5hdmlnYXRpb25Jbk5ld1Byb2Nlc3MoQVBJOjpO
YXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBzCiAgICAgICAgIG1fcHJvdmlzaW9uYWxQYWdlID0gbnVs
bHB0cjsKICAgICB9CiAKLSAgICBtX3Byb3Zpc2lvbmFsUGFnZSA9IG1ha2VVbmlxdWU8UHJvdmlz
aW9uYWxQYWdlUHJveHk+KCp0aGlzLCBuZXdQcm9jZXNzLmNvcHlSZWYoKSwgV1RGTW92ZShzdXNw
ZW5kZWRQYWdlKSwgbmF2aWdhdGlvbi5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbi5jdXJyZW50
UmVxdWVzdElzUmVkaXJlY3QoKSwgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpLCBwcm9jZXNz
U3dhcFJlcXVlc3RlZEJ5Q2xpZW50KTsKKyAgICBtX3Byb3Zpc2lvbmFsUGFnZSA9IG1ha2VVbmlx
dWU8UHJvdmlzaW9uYWxQYWdlUHJveHk+KCp0aGlzLCBXVEZNb3ZlKG5ld1Byb2Nlc3MpLCBXVEZN
b3ZlKHN1c3BlbmRlZFBhZ2UpLCBuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBuYXZpZ2F0aW9u
LmN1cnJlbnRSZXF1ZXN0SXNSZWRpcmVjdCgpLCBuYXZpZ2F0aW9uLmN1cnJlbnRSZXF1ZXN0KCks
IHByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQpOwogCi0gICAgYXV0byBjb250aW51YXRpb24g
PSBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBuYXZpZ2F0aW9uID0gbWFr
ZVJlZihuYXZpZ2F0aW9uKSwgbmV3UHJvY2VzcyA9IFdURk1vdmUobmV3UHJvY2VzcyksIHdlYnNp
dGVQb2xpY2llcyA9IFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKV0oKSBtdXRhYmxlIHsKKyAgICBh
dXRvIGNvbnRpbnVhdGlvbiA9IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyks
IG5hdmlnYXRpb24gPSBtYWtlUmVmKG5hdmlnYXRpb24pLCB3ZWJzaXRlUG9saWNpZXMgPSBXVEZN
b3ZlKHdlYnNpdGVQb2xpY2llcyldKCkgbXV0YWJsZSB7CiAgICAgICAgIGlmIChhdXRvKiBpdGVt
ID0gbmF2aWdhdGlvbi0+dGFyZ2V0SXRlbSgpKSB7CiAgICAgICAgICAgICBMT0coTG9hZGluZywg
IldlYlBhZ2VQcm94eSAlcCBjb250aW51ZU5hdmlnYXRpb25Jbk5ld1Byb2Nlc3MgdG8gYmFjayBp
dGVtIFVSTCAlcyIsIHRoaXMsIGl0ZW0tPnVybCgpLnV0ZjgoKS5kYXRhKCkpOwogCkBAIC0zMTY3
LDcgKzMxNjcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y29udGludWVOYXZpZ2F0aW9uSW5OZXdQ
cm9jZXNzKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgcwogICAgICAgICBpZiAobV9iYWNr
Rm9yd2FyZExpc3QtPmN1cnJlbnRJdGVtKCkgJiYgKG5hdmlnYXRpb24tPmxvY2tCYWNrRm9yd2Fy
ZExpc3QoKSA9PSBMb2NrQmFja0ZvcndhcmRMaXN0OjpZZXMgfHwgbmF2aWdhdGlvbi0+bG9ja0hp
c3RvcnkoKSA9PSBMb2NrSGlzdG9yeTo6WWVzKSkgewogICAgICAgICAgICAgLy8gSWYgV2ViQ29y
ZSBpcyBzdXBwb3NlZCB0byBsb2NrIHRoZSBoaXN0b3J5IGZvciB0aGlzIGxvYWQsIHRoZW4gdGhl
IG5ldyBwcm9jZXNzIG5lZWRzIHRvIGtub3cgYWJvdXQgdGhlIGN1cnJlbnQgaGlzdG9yeSBpdGVt
IHNvIGl0IGNhbiB1cGRhdGUKICAgICAgICAgICAgIC8vIGl0IGluc3RlYWQgb2YgY3JlYXRpbmcg
YSBuZXcgb25lLgotICAgICAgICAgICAgbmV3UHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6U2V0Q3VycmVudEhpc3RvcnlJdGVtRm9yUmVhdHRhY2gobV9iYWNrRm9yd2FyZExpc3QtPmN1
cnJlbnRJdGVtKCktPml0ZW1TdGF0ZSgpKSwgbV9wcm92aXNpb25hbFBhZ2UtPndlYlBhZ2VJRCgp
KTsKKyAgICAgICAgICAgIG1fcHJvdmlzaW9uYWxQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
OjpTZXRDdXJyZW50SGlzdG9yeUl0ZW1Gb3JSZWF0dGFjaChtX2JhY2tGb3J3YXJkTGlzdC0+Y3Vy
cmVudEl0ZW0oKS0+aXRlbVN0YXRlKCkpKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIEZJWE1F
OiBXb3JrIG91dCB0aW1pbmcgb2YgcmVzcG9uZGluZyB3aXRoIHRoZSBsYXN0IHBvbGljeSBkZWxl
Z2F0ZSwgZXRjCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385188</attachid>
            <date>2019-12-09 14:00:40 -0800</date>
            <delta_ts>2019-12-09 15:40:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205012-20191209140039.patch</filename>
            <type>text/plain</type>
            <size>16652</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDljYmI3MjM1MmI2YzM1ZmMz
YWMwZmI5NGY1YmY3NmRjMDkyMWNiOGQuLjk2OTVmNWNlMjM0NjkxN2RjNmQ3MzAwNjA4YWI1MzJi
YzYzM2RhODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTktMTItMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKHIyNDkzMjkpIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVxdWVzdFJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uSWZO
ZWVkZWQoKSBzb21ldGltZXMgdXNlcyB3cm9uZyB3ZWJQYWdlSUQgZm9yIElQQworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3JU
YXJnZXRQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvclRhcmdldFByb3h5Ojpj
b25uZWN0KToKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yVGFyZ2V0UHJveHk6OmRpc2Nvbm5l
Y3QpOgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JUYXJnZXRQcm94eTo6c2VuZE1lc3NhZ2VU
b1RhcmdldEJhY2tlbmQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5Ojp+UHJvdmlzaW9u
YWxQYWdlUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6aW5p
dGlhbGl6ZVdlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6
Z29Ub0JhY2tGb3J3YXJkSXRlbSk6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVBy
b3h5OjptZXNzYWdlU2VuZGVyQ29ubmVjdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlBy
b3Zpc2lvbmFsUGFnZVByb3h5OjptZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCBjb25zdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN1c3BlbmRl
ZFBhZ2VQcm94eTo6U3VzcGVuZGVkUGFnZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6U3VzcGVu
ZGVkUGFnZVByb3h5Ojp1bnN1c3BlbmQpOgorICAgICAgICAoV2ViS2l0OjpTdXNwZW5kZWRQYWdl
UHJveHk6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6U3VzcGVuZGVkUGFnZVByb3h5OjptZXNz
YWdlU2VuZGVyQ29ubmVjdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlN1c3BlbmRlZFBh
Z2VQcm94eTo6bWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQgY29uc3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpjb250aW51ZU5hdmln
YXRpb25Jbk5ld1Byb2Nlc3MpOgorICAgICAgICBIYXZlIFN1c3BlbmRlZFBhZ2VQcm94eSAmIFBy
b3Zpc2lvbmFsUGFnZVByb3h5IHN1YmNsYXNzIElQQzo6TWVzc2FnZVNlbmRlciBzbyB0aGF0IHdl
IGNhbiBjYWxsIHNlbmQoKQorICAgICAgICBvbiB0aGVtIHdpdGhvdXQgaGF2aW5nIHRvIHBhc3Mg
aW4gYSBQYWdlSWRlbnRpZmllci4gUGFzc2luZyBhIFBhZ2VJZGVudGlmaWVyIHdhcyBlcnJvci1w
cm9uZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlcXVlc3RSZW5kZXJUcmVl
U2l6ZU5vdGlmaWNhdGlvbklmTmVlZGVkKToKKyAgICAgICAgV2hlbiB0aGVyZSB3YXMgYSBwcm92
aXNvbmFsIHBhZ2UgcHJveHksIHdlIHdvdWxkIHByb3Blcmx5IHNlbmQgdGhlIElQQyB0byB0aGUg
cHJvdmlzaW9uYWwgcGFnZSdzIHByb2Nlc3MKKyAgICAgICAgYnV0IHdvdWxkIHVzZSB0aGUgd3Jv
bmcgUGFnZUlkZW50aWZpZXIgZm9yIHRoZSBJUEMuIFdlIHdvdWxkIHVzZSB0aGUgaWRlbnRpZmll
ciBvZiB0aGUgY29tbWl0dGVkIFdlYlBhZ2UKKyAgICAgICAgaW5zdGVhZCBvZiB0aGUgb25lIG9m
IHRoZSBwcm92aXNpb25hbCBXZWJQYWdlLgorCiAyMDE5LTEyLTA5ICBTYWlkIEFib3UtSGFsbGF3
YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhyb3R0bGluZyByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgUmVuZGVyaW5nVXBkYXRlU2No
ZWR1bGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3JUYXJn
ZXRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3JUYXJnZXRQcm94
eS5jcHAKaW5kZXggNTVjODE3M2FiMjQwM2RkZWIwNjUwMjUxYjdiYjY3NjJhNmRlMDMyZi4uNmVj
MWE2YzdjYzY1MDM1NTRhMGQ5OTBlYmFmOGU2NmJmNDdlOWMxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yVGFyZ2V0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0luc3BlY3RvclRhcmdldFByb3h5LmNwcApAQCAtNTksMTIgKzU5LDEy
IEBAIEluc3BlY3RvclRhcmdldFByb3h5OjpJbnNwZWN0b3JUYXJnZXRQcm94eShXZWJQYWdlUHJv
eHkmIHBhZ2UsIGNvbnN0IFN0cmluZyYgdGFyCiB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5Ojpj
b25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsOjpDb25uZWN0aW9uVHlwZSBjb25uZWN0
aW9uVHlwZSkKIHsKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9wcm92
aXNpb25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDb25uZWN0SW5z
cGVjdG9yKGlkZW50aWZpZXIoKSwgY29ubmVjdGlvblR5cGUpLCBtX3Byb3Zpc2lvbmFsUGFnZS0+
d2ViUGFnZUlEKCkpOworICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6Q29ubmVjdEluc3BlY3RvcihpZGVudGlmaWVyKCksIGNvbm5lY3Rpb25UeXBlKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobV9wYWdlLmhhc1J1bm5pbmdQcm9j
ZXNzKCkpCi0gICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
Q29ubmVjdEluc3BlY3RvcihpZGVudGlmaWVyKCksIGNvbm5lY3Rpb25UeXBlKSwgbV9wYWdlLndl
YlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNvbm5l
Y3RJbnNwZWN0b3IoaWRlbnRpZmllcigpLCBjb25uZWN0aW9uVHlwZSkpOwogfQogCiB2b2lkIElu
c3BlY3RvclRhcmdldFByb3h5OjpkaXNjb25uZWN0KCkKQEAgLTczLDIzICs3MywyMyBAQCB2b2lk
IEluc3BlY3RvclRhcmdldFByb3h5OjpkaXNjb25uZWN0KCkKICAgICAgICAgcmVzdW1lKCk7CiAK
ICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9wcm92aXNpb25hbFBhZ2Ut
PnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaXNjb25uZWN0SW5zcGVjdG9yKGlk
ZW50aWZpZXIoKSksIG1fcHJvdmlzaW9uYWxQYWdlLT53ZWJQYWdlSUQoKSk7CisgICAgICAgIG1f
cHJvdmlzaW9uYWxQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaXNjb25uZWN0SW5zcGVj
dG9yKGlkZW50aWZpZXIoKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG1f
cGFnZS5oYXNSdW5uaW5nUHJvY2VzcygpKQotICAgICAgICBtX3BhZ2UucHJvY2VzcygpLnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2U6OkRpc2Nvbm5lY3RJbnNwZWN0b3IoaWRlbnRpZmllcigpKSwgbV9w
YWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkRpc2Nvbm5lY3RJbnNwZWN0b3IoaWRlbnRpZmllcigpKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
VGFyZ2V0UHJveHk6OnNlbmRNZXNzYWdlVG9UYXJnZXRCYWNrZW5kKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKIHsKICAgICBpZiAobV9wcm92aXNpb25hbFBhZ2UpIHsKLSAgICAgICAgbV9wcm92aXNp
b25hbFBhZ2UtPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZW5kTWVzc2FnZVRv
VGFyZ2V0QmFja2VuZChpZGVudGlmaWVyKCksIG1lc3NhZ2UpLCBtX3Byb3Zpc2lvbmFsUGFnZS0+
d2ViUGFnZUlEKCkpOworICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6U2VuZE1lc3NhZ2VUb1RhcmdldEJhY2tlbmQoaWRlbnRpZmllcigpLCBtZXNzYWdl
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAobV9wYWdlLmhhc1J1bm5pbmdQ
cm9jZXNzKCkpCi0gICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6U2VuZE1lc3NhZ2VUb1RhcmdldEJhY2tlbmQoaWRlbnRpZmllcigpLCBtZXNzYWdlKSwgbV9w
YWdlLndlYlBhZ2VJRCgpKTsKKyAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OlNlbmRNZXNzYWdlVG9UYXJnZXRCYWNrZW5kKGlkZW50aWZpZXIoKSwgbWVzc2FnZSkpOwogfQog
CiB2b2lkIEluc3BlY3RvclRhcmdldFByb3h5OjpkaWRDb21taXRQcm92aXNpb25hbFRhcmdldCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAK
aW5kZXggMjE2YmU1YmZmMjBhNTU2NzA4ZjAwNTdmNGUzNTBkMTVmZjIwYTJiZi4uZDAzZjNmNzk0
ODYxOTQ1YjFjMjc0ODJlMzA4ZmUwOTE3ZDU0MjBlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcApAQCAtOTksNyArOTksNyBAQCBQcm92
aXNpb25hbFBhZ2VQcm94eTo6flByb3Zpc2lvbmFsUGFnZVByb3h5KCkKICAgICAgICAgICAgIG1f
cHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5wYWdlRW5kVXNpbmdXZWJzaXRlRGF0YVN0b3JlKG1fcGFn
ZS5pZGVudGlmaWVyKCksIG1fcHJvY2Vzcy0+d2Vic2l0ZURhdGFTdG9yZSgpKTsKIAogICAgICAg
ICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlEKTsKLSAgICAgICAgbV9wcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3dlYlBhZ2VJRCk7CisgICAgICAg
IHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCkpOwogICAgICAgICBtX3Byb2Nlc3MtPnJl
bW92ZVZpc2l0ZWRMaW5rU3RvcmVVc2VyKG1fcGFnZS52aXNpdGVkTGlua1N0b3JlKCksIG1fcGFn
ZS5pZGVudGlmaWVyKCkpOwogICAgIH0KIApAQCAtMTczLDggKzE3Myw4IEBAIHZvaWQgUHJvdmlz
aW9uYWxQYWdlUHJveHk6OmdvVG9CYWNrRm9yd2FyZEl0ZW0oQVBJOjpOYXZpZ2F0aW9uJiBuYXZp
Z2F0aW9uLCBXZWJCCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuICZpdGVtICE9IHRhcmdldEl0
ZW07CiAgICAgfSk7Ci0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVcGRh
dGVCYWNrRm9yd2FyZExpc3RGb3JSZWF0dGFjaChXVEZNb3ZlKGl0ZW1TdGF0ZXMpKSwgbV93ZWJQ
YWdlSUQpOwotICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6R29Ub0JhY2tG
b3J3YXJkSXRlbShuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBpdGVtLml0ZW1JRCgpLCAqbmF2
aWdhdGlvbi5iYWNrRm9yd2FyZEZyYW1lTG9hZFR5cGUoKSwgV2ViQ29yZTo6U2hvdWxkVHJlYXRB
c0NvbnRpbnVpbmdMb2FkOjpZZXMsIFdURk1vdmUod2Vic2l0ZVBvbGljaWVzKSksIG1fd2ViUGFn
ZUlEKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVcGRhdGVCYWNrRm9yd2FyZExpc3RG
b3JSZWF0dGFjaChXVEZNb3ZlKGl0ZW1TdGF0ZXMpKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6R29Ub0JhY2tGb3J3YXJkSXRlbShuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpLCBpdGVt
Lml0ZW1JRCgpLCAqbmF2aWdhdGlvbi5iYWNrRm9yd2FyZEZyYW1lTG9hZFR5cGUoKSwgV2ViQ29y
ZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkOjpZZXMsIFdURk1vdmUod2Vic2l0ZVBvbGlj
aWVzKSkpOwogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7CiB9
CiAKQEAgLTUwMCw0ICs1MDAsMjEgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkUmVj
ZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVAKICAgICBtX3Bh
Z2UuZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIsIHJlcGx5RW5jb2Rl
cik7CiB9CiAKK0lQQzo6Q29ubmVjdGlvbiogUHJvdmlzaW9uYWxQYWdlUHJveHk6Om1lc3NhZ2VT
ZW5kZXJDb25uZWN0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcm9jZXNzLT5jb25uZWN0
aW9uKCk7Cit9CisKK3VpbnQ2NF90IFByb3Zpc2lvbmFsUGFnZVByb3h5OjptZXNzYWdlU2VuZGVy
RGVzdGluYXRpb25JRCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fd2ViUGFnZUlELnRvVUludDY0
KCk7Cit9CisKK2Jvb2wgUHJvdmlzaW9uYWxQYWdlUHJveHk6OnNlbmRNZXNzYWdlKHN0ZDo6dW5p
cXVlX3B0cjxJUEM6OkVuY29kZXI+IGVuY29kZXIsIE9wdGlvblNldDxJUEM6OlNlbmRPcHRpb24+
IHNlbmRPcHRpb25zKQoreworICAgIC8vIFNlbmQgbWVzc2FnZXMgdmlhIHRoZSBXZWJQcm9jZXNz
UHJveHkgaW5zdGVhZCBvZiB0aGUgSVBDOjpDb25uZWN0aW9uIHNpbmNlIEF1eGlsaWFyeVByb2Nl
c3NQcm94eSBpbXBsZW1lbnRzIHF1ZXVlaW5nIG9mIG1lc3NhZ2VzCisgICAgLy8gd2hpbGUgdGhl
IHByb2Nlc3MgaXMgc3RpbGwgbGF1bmNoaW5nLgorICAgIHJldHVybiBtX3Byb2Nlc3MtPnNlbmRN
ZXNzYWdlKFdURk1vdmUoZW5jb2RlciksIHNlbmRPcHRpb25zKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25h
bFBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJv
eHkuaAppbmRleCBjYjk1ZmUwMTBkYzY0MmZjZGY0NjMzN2MzZWJhZTgyMjJkZjEzMjQ3Li5lNjc1
YzBlMjE1MDc2OGU0MGQ2YmI5NjU2NmQ0NzNlN2RkYTNjOGVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNw
cmFnbWEgb25jZQogCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiTWVz
c2FnZVNlbmRlci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJX
ZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNz
YWdlc1JlcGxpZXMuaCIKQEAgLTYwLDcgKzYxLDcgQEAgc3RydWN0IE5hdmlnYXRpb25BY3Rpb25E
YXRhOwogc3RydWN0IFVSTFNjaGVtZVRhc2tQYXJhbWV0ZXJzOwogc3RydWN0IFdlYk5hdmlnYXRp
b25EYXRhU3RvcmU7CiAKLWNsYXNzIFByb3Zpc2lvbmFsUGFnZVByb3h5IDogcHVibGljIElQQzo6
TWVzc2FnZVJlY2VpdmVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UHJvdmlzaW9uYWxQYWdlUHJv
eHk+IHsKK2NsYXNzIFByb3Zpc2lvbmFsUGFnZVByb3h5IDogcHVibGljIElQQzo6TWVzc2FnZVJl
Y2VpdmVyLCBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
UHJvdmlzaW9uYWxQYWdlUHJveHk+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBQcm92aXNpb25hbFBhZ2VQcm94eShXZWJQYWdlUHJveHkmLCBSZWY8V2ViUHJv
Y2Vzc1Byb3h5PiYmLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiwgdWludDY0
X3QgbmF2aWdhdGlvbklELCBib29sIGlzU2VydmVyUmVkaXJlY3QsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYsIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQpOwpAQCAtOTUsNiAr
OTYsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6
OkVuY29kZXI+JikgZmluYWw7CiAKKyAgICAvLyBJUEM6Ok1lc3NhZ2VTZW5kZXIKKyAgICBJUEM6
OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3QgZmluYWw7CisgICAg
dWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbDsKKyAgICBi
b29sIHNlbmRNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+LCBPcHRpb25TZXQ8
SVBDOjpTZW5kT3B0aW9uPikgZmluYWw7CisKICAgICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb25Bc3luYyhXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90
IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgRnJhbWVJbmZvRGF0YSYmLAog
ICAgICAgICBPcHRpb25hbDxXZWJQYWdlUHJveHlJZGVudGlmaWVyPiBvcmlnaW5hdGluZ1BhZ2VJ
RCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVxdWVzdEJv
ZHksCiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNl
LCBjb25zdCBVc2VyRGF0YSYsIHVpbnQ2NF90IGxpc3RlbmVySUQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVkUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5jcHAKaW5kZXggMzFkNTJkODM0MGYzOGEw
ZmNmMGI2ZDZjZDI1Nzc0NGI3MDhhMjEwMy4uMGE0YTg3MjIyZTRmYjM5MjU4MDQzYmEwZmQ0MjY2
MWI4OTkyZmEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3VzcGVuZGVk
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TdXNwZW5kZWRQYWdl
UHJveHkuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgU3VzcGVuZGVkUGFnZVByb3h5OjpTdXNwZW5k
ZWRQYWdlUHJveHkoV2ViUGFnZVByb3h5JiBwYWdlLCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiYKICAg
ICBtX3Byb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5Ojpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZUlELCAqdGhpcyk7CiAKICAgICBtX3N1c3Bl
bnNpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN1c3BlbnNpb25UaW1lb3V0KTsKLSAgICBt
X3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVuZGVkKHRydWUpLCBt
X3dlYlBhZ2VJRCk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0SXNTdXNwZW5kZWQo
dHJ1ZSkpOwogfQogCiBTdXNwZW5kZWRQYWdlUHJveHk6On5TdXNwZW5kZWRQYWdlUHJveHkoKQpA
QCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5Ojp1bnN1c3BlbmQoKQog
ICAgIEFTU0VSVChtX3N1c3BlbnNpb25TdGF0ZSA9PSBTdXNwZW5zaW9uU3RhdGU6OlN1c3BlbmRl
ZCk7CiAKICAgICBtX3N1c3BlbnNpb25TdGF0ZSA9IFN1c3BlbnNpb25TdGF0ZTo6UmVzdW1lZDsK
LSAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3VzcGVuZGVkKGZh
bHNlKSwgbV93ZWJQYWdlSUQpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElzU3Vz
cGVuZGVkKGZhbHNlKSk7CiB9CiAKIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5OjpjbG9zZSgpCkBA
IC0xNzcsNyArMTc3LDcgQEAgdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OmNsb3NlKCkKIAogICAg
IFJFTEVBU0VfTE9HKFByb2Nlc3NTd2FwcGluZywgIiVwIC0gU3VzcGVuZGVkUGFnZVByb3h5Ojpj
bG9zZSgpIiwgdGhpcyk7CiAgICAgbV9pc0Nsb3NlZCA9IHRydWU7Ci0gICAgbV9wcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDbG9zZSgpLCBtX3dlYlBhZ2VJRCk7CisgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6Q2xvc2UoKSk7CiB9CiAKIHZvaWQgU3VzcGVuZGVkUGFnZVByb3h5
OjpwYWdlRW50ZXJlZEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKQEAgLTI2MCw2ICsyNjAs
MjMgQEAgdm9pZCBTdXNwZW5kZWRQYWdlUHJveHk6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLAogewogfQogCitJUEM6OkNvbm5lY3Rpb24qIFN1
c3BlbmRlZFBhZ2VQcm94eTo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdAoreworICAg
IHJldHVybiBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKTsKK30KKwordWludDY0X3QgU3VzcGVuZGVk
UGFnZVByb3h5OjptZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fd2ViUGFnZUlELnRvVUludDY0KCk7Cit9CisKK2Jvb2wgU3VzcGVuZGVkUGFnZVByb3h5
OjpzZW5kTWVzc2FnZShzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiBlbmNvZGVyLCBPcHRp
b25TZXQ8SVBDOjpTZW5kT3B0aW9uPiBzZW5kT3B0aW9ucykKK3sKKyAgICAvLyBTZW5kIG1lc3Nh
Z2VzIHZpYSB0aGUgV2ViUHJvY2Vzc1Byb3h5IGluc3RlYWQgb2YgdGhlIElQQzo6Q29ubmVjdGlv
biBzaW5jZSBBdXhpbGlhcnlQcm9jZXNzUHJveHkgaW1wbGVtZW50cyBxdWV1ZWluZyBvZiBtZXNz
YWdlcworICAgIC8vIHdoaWxlIHRoZSBwcm9jZXNzIGlzIHN0aWxsIGxhdW5jaGluZy4KKyAgICBy
ZXR1cm4gbV9wcm9jZXNzLT5zZW5kTWVzc2FnZShXVEZNb3ZlKGVuY29kZXIpLCBzZW5kT3B0aW9u
cyk7Cit9CisKICNpZiAhTE9HX0RJU0FCTEVECiAKIGNvbnN0IGNoYXIqIFN1c3BlbmRlZFBhZ2VQ
cm94eTo6bG9nZ2luZ1N0cmluZygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9TdXNwZW5kZWRQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1
c3BlbmRlZFBhZ2VQcm94eS5oCmluZGV4IDcwMmU5NjI5NjhlNjFhNmU4NjE3MWY5YWE0MGFmY2Rk
YmQwYThlZmMuLmJiZjllYWI1MTc5ZGQxNjQ4YjJmYTFlZjFkZjRiNmRmYmQ1NmRhNzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N1c3BlbmRlZFBhZ2VQcm94eS5oCkBAIC0yNiw2ICsy
Niw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRl
ICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc1Rocm90dGxlci5oIgogI2luY2x1
ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNz
YWdlc1JlcGxpZXMuaCIKQEAgLTQ3LDcgKzQ4LDcgQEAgY2xhc3MgV2Vic2l0ZURhdGFTdG9yZTsK
IAogZW51bSBjbGFzcyBTaG91bGREZWxheUNsb3NpbmdVbnRpbEVudGVyaW5nQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ01vZGUgOiBib29sIHsgTm8sIFllcyB9OwogCi1jbGFzcyBTdXNwZW5kZWRQYWdl
UHJveHkgZmluYWw6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciwgcHVibGljIENhbk1ha2VX
ZWFrUHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4geworY2xhc3MgU3VzcGVuZGVkUGFnZVByb3h5IGZp
bmFsOiBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VTZW5k
ZXIsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxTdXNwZW5kZWRQYWdlUHJveHk+IHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTdXNwZW5kZWRQYWdlUHJveHkoV2Vi
UGFnZVByb3h5JiwgUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyIG1haW5GcmFtZUlELCBTaG91bGREZWxheUNsb3NpbmdVbnRpbEVudGVyaW5nQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ01vZGUpOwpAQCAtODUsNiArODYsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFs
OwogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+JikgZmluYWw7CiAKKyAgICAv
LyBJUEM6Ok1lc3NhZ2VTZW5kZXIKKyAgICBJUEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJD
b25uZWN0aW9uKCkgY29uc3QgZmluYWw7CisgICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3Rp
bmF0aW9uSUQoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNlbmRNZXNzYWdlKHN0ZDo6dW5pcXVl
X3B0cjxJUEM6OkVuY29kZXI+LCBPcHRpb25TZXQ8SVBDOjpTZW5kT3B0aW9uPikgZmluYWw7CisK
ICAgICBXZWJQYWdlUHJveHkmIG1fcGFnZTsKICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBt
X3dlYlBhZ2VJRDsKICAgICBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBtX3Byb2Nlc3M7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCAw
NzgzOGNhYWU4OWYzMTVhNGM1MzE2NzQ0MWZhNmFjZDdlMTQwODJlLi4xOWY1OGYwYTk2YTYyZmJh
NjczNTIwNDA2ODIyZGE2YzI3YmIwNjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTYwOSwxMCArNjA5LDkgQEAgdm9pZCBW
aWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlcXVlc3RSZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvbklm
TmVlZGVkKCkKICAgICBpZiAoIW1fc25hcHNob3RSZW1vdmFsVHJhY2tlci5oYXNPdXRzdGFuZGlu
Z0V2ZW50KFNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OlJlbmRlclRyZWVTaXplVGhyZXNob2xkKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byYgcHJvY2VzcyA9IG1fd2ViUGFnZVByb3h5LnBy
b3Zpc2lvbmFsUGFnZVByb3h5KCkgPyBtX3dlYlBhZ2VQcm94eS5wcm92aXNpb25hbFBhZ2VQcm94
eSgpLT5wcm9jZXNzKCkgOiBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCk7CiAgICAgYXV0byB0aHJl
c2hvbGQgPSBtX3NuYXBzaG90UmVtb3ZhbFRyYWNrZXIucmVuZGVyVHJlZVNpemVUaHJlc2hvbGQo
KTsKLQotICAgIHByb2Nlc3Muc2VuZChNZXNzYWdlczo6Vmlld0dlc3R1cmVHZW9tZXRyeUNvbGxl
Y3Rvcjo6U2V0UmVuZGVyVHJlZVNpemVOb3RpZmljYXRpb25UaHJlc2hvbGQodGhyZXNob2xkKSwg
bV93ZWJQYWdlUHJveHkud2ViUGFnZUlEKCkpOworICAgIGF1dG8qIG1lc3NhZ2VTZW5kZXIgPSBt
X3dlYlBhZ2VQcm94eS5wcm92aXNpb25hbFBhZ2VQcm94eSgpID8gc3RhdGljX2Nhc3Q8SVBDOjpN
ZXNzYWdlU2VuZGVyKj4obV93ZWJQYWdlUHJveHkucHJvdmlzaW9uYWxQYWdlUHJveHkoKSkgOiAm
bV93ZWJQYWdlUHJveHk7CisgICAgbWVzc2FnZVNlbmRlci0+c2VuZChNZXNzYWdlczo6Vmlld0dl
c3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6U2V0UmVuZGVyVHJlZVNpemVOb3RpZmljYXRpb25UaHJl
c2hvbGQodGhyZXNob2xkKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKaW5kZXggYzUxNzM2NDMzZjdjMGI2OTFjYjQ2OGQ3OGE4YWUyM2RjYjVl
ZDNjNi4uOTYzOGEwMzcyMmQwOTI5YmQxZTNiYzcxYzViNjM3ZjUzYTE2YTI4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0zMTUxLDkgKzMxNTEsOSBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6Y29udGludWVOYXZpZ2F0aW9uSW5OZXdQcm9jZXNzKEFQSTo6TmF2
aWdhdGlvbiYgbmF2aWdhdGlvbiwgcwogICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZSA9IG51bGxw
dHI7CiAgICAgfQogCi0gICAgbV9wcm92aXNpb25hbFBhZ2UgPSBtYWtlVW5pcXVlPFByb3Zpc2lv
bmFsUGFnZVByb3h5PigqdGhpcywgbmV3UHJvY2Vzcy5jb3B5UmVmKCksIFdURk1vdmUoc3VzcGVu
ZGVkUGFnZSksIG5hdmlnYXRpb24ubmF2aWdhdGlvbklEKCksIG5hdmlnYXRpb24uY3VycmVudFJl
cXVlc3RJc1JlZGlyZWN0KCksIG5hdmlnYXRpb24uY3VycmVudFJlcXVlc3QoKSwgcHJvY2Vzc1N3
YXBSZXF1ZXN0ZWRCeUNsaWVudCk7CisgICAgbV9wcm92aXNpb25hbFBhZ2UgPSBtYWtlVW5pcXVl
PFByb3Zpc2lvbmFsUGFnZVByb3h5PigqdGhpcywgV1RGTW92ZShuZXdQcm9jZXNzKSwgV1RGTW92
ZShzdXNwZW5kZWRQYWdlKSwgbmF2aWdhdGlvbi5uYXZpZ2F0aW9uSUQoKSwgbmF2aWdhdGlvbi5j
dXJyZW50UmVxdWVzdElzUmVkaXJlY3QoKSwgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpLCBw
cm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50KTsKIAotICAgIGF1dG8gY29udGludWF0aW9uID0g
W3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgbmF2aWdhdGlvbiA9IG1ha2VS
ZWYobmF2aWdhdGlvbiksIG5ld1Byb2Nlc3MgPSBXVEZNb3ZlKG5ld1Byb2Nlc3MpLCB3ZWJzaXRl
UG9saWNpZXMgPSBXVEZNb3ZlKHdlYnNpdGVQb2xpY2llcyldKCkgbXV0YWJsZSB7CisgICAgYXV0
byBjb250aW51YXRpb24gPSBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBu
YXZpZ2F0aW9uID0gbWFrZVJlZihuYXZpZ2F0aW9uKSwgd2Vic2l0ZVBvbGljaWVzID0gV1RGTW92
ZSh3ZWJzaXRlUG9saWNpZXMpXSgpIG11dGFibGUgewogICAgICAgICBpZiAoYXV0byogaXRlbSA9
IG5hdmlnYXRpb24tPnRhcmdldEl0ZW0oKSkgewogICAgICAgICAgICAgTE9HKExvYWRpbmcsICJX
ZWJQYWdlUHJveHkgJXAgY29udGludWVOYXZpZ2F0aW9uSW5OZXdQcm9jZXNzIHRvIGJhY2sgaXRl
bSBVUkwgJXMiLCB0aGlzLCBpdGVtLT51cmwoKS51dGY4KCkuZGF0YSgpKTsKIApAQCAtMzE2Nyw3
ICszMTY3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNvbnRpbnVlTmF2aWdhdGlvbkluTmV3UHJv
Y2VzcyhBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24sIHMKICAgICAgICAgaWYgKG1fYmFja0Zv
cndhcmRMaXN0LT5jdXJyZW50SXRlbSgpICYmIChuYXZpZ2F0aW9uLT5sb2NrQmFja0ZvcndhcmRM
aXN0KCkgPT0gTG9ja0JhY2tGb3J3YXJkTGlzdDo6WWVzIHx8IG5hdmlnYXRpb24tPmxvY2tIaXN0
b3J5KCkgPT0gTG9ja0hpc3Rvcnk6OlllcykpIHsKICAgICAgICAgICAgIC8vIElmIFdlYkNvcmUg
aXMgc3VwcG9zZWQgdG8gbG9jayB0aGUgaGlzdG9yeSBmb3IgdGhpcyBsb2FkLCB0aGVuIHRoZSBu
ZXcgcHJvY2VzcyBuZWVkcyB0byBrbm93IGFib3V0IHRoZSBjdXJyZW50IGhpc3RvcnkgaXRlbSBz
byBpdCBjYW4gdXBkYXRlCiAgICAgICAgICAgICAvLyBpdCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEg
bmV3IG9uZS4KLSAgICAgICAgICAgIG5ld1Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OlNldEN1cnJlbnRIaXN0b3J5SXRlbUZvclJlYXR0YWNoKG1fYmFja0ZvcndhcmRMaXN0LT5jdXJy
ZW50SXRlbSgpLT5pdGVtU3RhdGUoKSksIG1fcHJvdmlzaW9uYWxQYWdlLT53ZWJQYWdlSUQoKSk7
CisgICAgICAgICAgICBtX3Byb3Zpc2lvbmFsUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
U2V0Q3VycmVudEhpc3RvcnlJdGVtRm9yUmVhdHRhY2gobV9iYWNrRm9yd2FyZExpc3QtPmN1cnJl
bnRJdGVtKCktPml0ZW1TdGF0ZSgpKSk7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBGSVhNRTog
V29yayBvdXQgdGltaW5nIG9mIHJlc3BvbmRpbmcgd2l0aCB0aGUgbGFzdCBwb2xpY3kgZGVsZWdh
dGUsIGV0Ywo=
</data>

          </attachment>
      

    </bug>

</bugzilla>