<?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>174680</bug_id>
          
          <creation_ts>2017-07-20 10:53:09 -0700</creation_ts>
          <short_desc>Add SPI to notify WKNavigationDelegate about client redirects</short_desc>
          <delta_ts>2017-07-20 17:39:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>Other</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Quesada">david_quesada</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beidson</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1330678</commentid>
    <comment_count>0</comment_count>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-07-20 10:53:09 -0700</bug_when>
    <thetext>rdar://problem/33184886</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330679</commentid>
    <comment_count>1</comment_count>
      <attachid>316001</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-07-20 10:58:27 -0700</bug_when>
    <thetext>Created attachment 316001
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330778</commentid>
    <comment_count>2</comment_count>
      <attachid>316001</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-20 14:28:43 -0700</bug_when>
    <thetext>Comment on attachment 316001
Patch v1

Needs an API test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330836</commentid>
    <comment_count>3</comment_count>
      <attachid>316042</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-07-20 16:57:16 -0700</bug_when>
    <thetext>Created attachment 316042
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330853</commentid>
    <comment_count>4</comment_count>
      <attachid>316042</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-20 17:39:13 -0700</bug_when>
    <thetext>Comment on attachment 316042
Patch v2

Clearing flags on attachment: 316042

Committed r219709: &lt;http://trac.webkit.org/changeset/219709&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330854</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-20 17:39:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>316001</attachid>
            <date>2017-07-20 10:58:27 -0700</date>
            <delta_ts>2017-07-20 16:57:16 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>v1.patch</filename>
            <type>text/plain</type>
            <size>22267</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IGYyMzY3MzA5MTFkNTJlMzg2MzFhYTgxZjVhY2E3MGE3OTcwYWIzMDIKQXV0aG9yOiBE
YXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KRGF0ZTogICBXZWQgSnVsIDEy
IDE2OjA0OjU0IDIwMTcgLTA3MDAKCiAgICBBZGQgU1BJIHRvIG5vdGlmeSBXS05hdmlnYXRpb25E
ZWxlZ2F0ZSBhYm91dCBjbGllbnQgcmVkaXJlY3RzCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NjgwCiAgICByZGFyOi8vcHJvYmxlbS8zMzE4NDg4NgogICAg
CiAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KICAgIAogICAgU291cmNlL1dlYkNvcmU6
CiAgICAKICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6cGVyZm9ybUNsaWVudFJlZGlyZWN0KToKICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6
CiAgICBBZGQgYSBjb252ZW5pZW5jZSBtZXRob2QgZm9yIE5hdmlnYXRpb25TY2hlZHVsZXIgdGhh
dCBoYW5kbGVzIGEgRnJhbWVMb2FkUmVxdWVzdAogICAgYXMgYSBjbGllbnQgcmVkaXJlY3QuIEN1
cnJlbnRseSB0aGlzIG1lYW5zIGxvYWRpbmcgdGhlIHJlcXVlc3QgYW5kIGluZm9ybWluZyB0aGUK
ICAgIGNsaWVudCBhYm91dCBpdC4KICAgIAogICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aDoKICAgIEFkZCBGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRQZXJmb3JtQ2xpZW50UmVk
aXJlY3QoKSB0byBpbmZvcm0gdGhlIGNsaWVudCB3aGVuCiAgICBhIGNsaWVudCByZWRpcmVjdCBv
Y2N1cnMuCiAgICAKICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgogICAgUmVt
b3ZlZCBTY2hlZHVsZWRVUkxOYXZpZ2F0aW9uOjpmaXJlKCkuIFRoaXMgY2xhc3Mgd2FzIG5ldmVy
IGluc3RhbnRpYXRlZCBkaXJlY3RseSwKICAgIGFuZCBhbGwgc3ViY2xhc3NlcyBvdmVycmlkZSBm
aXJlKCksIHNvIHRoaXMgd2FzIHVudXNlZCBjb2RlLgogICAgRm9yIFNjaGVkdWxlZFJlZGlyZWN0
cyBhbmQgU2NoZWR1bGVkTG9jYXRpb25DaGFuZ2UsIHVzZSBGcmFtZUxvYWRlcidzIG5ldyBtZXRo
b2QgdG8KICAgIGxvYWQgdGhlIHJlcXVlc3QgYXMgYSBjbGllbnQgcmVkaXJlY3QuCiAgICAKICAg
IFNvdXJjZS9XZWJLaXQ6CiAgICAKICAgICogVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uQ2xp
ZW50Lmg6CiAgICAoQVBJOjpOYXZpZ2F0aW9uQ2xpZW50OjpkaWRQZXJmb3JtQ2xpZW50UmVkaXJl
Y3RGb3JOYXZpZ2F0aW9uKToKICAgIEFkZCBhIG5ldyB2aXJ0dWFsIG1ldGhvZCBmb3IgbmF2aWdh
dGlvbiBjbGllbnRzIHRvIGltcGxlbWVudCBpZiB0aGV5IHdhbnQgdG8gYmUgaW5mb3JtZWQKICAg
IHdoZW4gdGhlIHBhZ2UgaXMgaW5pdGlhdGluZyBhIG5hdmlnYXRpb24gdGhhdCBpcyBhIGNsaWVu
dCByZWRpcmVjdC4KICAgIAogICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRl
bGVnYXRlUHJpdmF0ZS5oOgogICAgRGVjbGFyZSB0aGUgbmV3IFdLTmF2aWdhdGlvbkRlbGVnYXRl
IG1ldGhvZCAtX3dlYlZpZXc6ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbjoK
ICAgIAogICAgKiBVSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLmg6CiAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06CiAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3Rh
dGU6OnNldE5hdmlnYXRpb25EZWxlZ2F0ZSk6CiAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6
Ok5hdmlnYXRpb25DbGllbnQ6OmRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvck5hdmlnYXRpb24p
OgogICAgQWRkIGEgbmV3IG1ldGhvZCB0byBOYXZpZ2F0aW9uU3RhdGUgbWV0aG9kIHRvIHRlbGwg
dGhlIFdLTmF2aWdhdGlvbkRlbGVnYXRlIHdoZW4gYQogICAgY2xpZW50IHJlZGlyZWN0IGhhcHBl
bnMuCiAgICAKICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CiAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvckxvYWRGb3JGcmFtZSk6CiAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbjoKICAgIEFsbG93IHRoZSBXZWJQYWdlUHJveHkgdG8gcmVjZWl2ZSBhIG1l
c3NhZ2UgZnJvbSB0aGUgd2ViIHByb2Nlc3Mgd2hlbiBhIGNsaWVudCByZWRpcmVjdCBoYXBwZW5z
LgogICAgCiAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwOgogICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkUGVy
Zm9ybUNsaWVudFJlZGlyZWN0KToKICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5oOgogICAgU2VuZCB0aGlzIG5ldyBtZXNzYWdlIHRvIHRoZSBVSSBw
cm9jZXNzIG9uIGNsaWVudCByZWRpcmVjdHMuCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY4MGRjZGEzYzI0Li5m
MmRiY2U1NGYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTA3LTIwICBEYXZp
ZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFNQSSB0
byBub3RpZnkgV0tOYXZpZ2F0aW9uRGVsZWdhdGUgYWJvdXQgY2xpZW50IHJlZGlyZWN0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NjgwCisgICAg
ICAgIHJkYXI6Ly9wcm9ibGVtLzMzMTg0ODg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXI6OnBlcmZvcm1DbGllbnRSZWRpcmVjdCk6CisgICAgICAgICog
bG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgIEFkZCBhIGNvbnZlbmllbmNlIG1ldGhvZCBm
b3IgTmF2aWdhdGlvblNjaGVkdWxlciB0aGF0IGhhbmRsZXMgYSBGcmFtZUxvYWRSZXF1ZXN0Cisg
ICAgICAgIGFzIGEgY2xpZW50IHJlZGlyZWN0LiBDdXJyZW50bHkgdGhpcyBtZWFucyBsb2FkaW5n
IHRoZSByZXF1ZXN0IGFuZCBpbmZvcm1pbmcgdGhlCisgICAgICAgIGNsaWVudCBhYm91dCBpdC4K
KworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICBBZGQgRnJh
bWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0KCkgdG8gaW5m
b3JtIHRoZSBjbGllbnQgd2hlbgorICAgICAgICBhIGNsaWVudCByZWRpcmVjdCBvY2N1cnMuCisK
KyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIFJlbW92
ZWQgU2NoZWR1bGVkVVJMTmF2aWdhdGlvbjo6ZmlyZSgpLiBUaGlzIGNsYXNzIHdhcyBuZXZlciBp
bnN0YW50aWF0ZWQgZGlyZWN0bHksCisgICAgICAgIGFuZCBhbGwgc3ViY2xhc3NlcyBvdmVycmlk
ZSBmaXJlKCksIHNvIHRoaXMgd2FzIHVudXNlZCBjb2RlLgorICAgICAgICBGb3IgU2NoZWR1bGVk
UmVkaXJlY3RzIGFuZCBTY2hlZHVsZWRMb2NhdGlvbkNoYW5nZSwgdXNlIEZyYW1lTG9hZGVyJ3Mg
bmV3IG1ldGhvZCB0bworICAgICAgICBsb2FkIHRoZSByZXF1ZXN0IGFzIGEgY2xpZW50IHJlZGly
ZWN0LgorCiAyMDE3LTA3LTIwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgW1dlYklETF0gUmVtb3ZlIGN1c3RvbSBiaW5kaW5ncyBmb3IgSW5zcGVjdG9yRnJvbnRlbmRI
b3N0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAwNGNkYjVhY2IzNi4u
ODYxNDY2ZjNmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMjA0
OSw2ICsyMDQ5LDEyIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNsaWVudFJlZGlyZWN0ZWQoY29uc3Qg
VVJMJiB1cmwsIGRvdWJsZSBzZWNvbmRzLCBkb3VibGUgZmlyZURhCiAgICAgbV9xdWlja1JlZGly
ZWN0Q29taW5nID0gKGxvY2tCYWNrRm9yd2FyZExpc3QgPT0gTG9ja0JhY2tGb3J3YXJkTGlzdDo6
WWVzIHx8IGhpc3RvcnkoKS5jdXJyZW50SXRlbVNob3VsZEJlUmVwbGFjZWQoKSkgJiYgbV9kb2N1
bWVudExvYWRlciAmJiAhbV9pc0V4ZWN1dGluZ0phdmFTY3JpcHRGb3JtQWN0aW9uOwogfQogCit2
b2lkIEZyYW1lTG9hZGVyOjpwZXJmb3JtQ2xpZW50UmVkaXJlY3QoRnJhbWVMb2FkUmVxdWVzdCYm
IGZyYW1lTG9hZFJlcXVlc3QpCit7CisgICAgY2hhbmdlTG9jYXRpb24oV1RGTW92ZShmcmFtZUxv
YWRSZXF1ZXN0KSk7CisgICAgbV9jbGllbnQuZGlzcGF0Y2hEaWRQZXJmb3JtQ2xpZW50UmVkaXJl
Y3QoKTsKK30KKwogYm9vbCBGcmFtZUxvYWRlcjo6c2hvdWxkUmVsb2FkKGNvbnN0IFVSTCYgY3Vy
cmVudFVSTCwgY29uc3QgVVJMJiBkZXN0aW5hdGlvblVSTCkKIHsKICAgICAvLyBUaGlzIGZ1bmN0
aW9uIGltcGxlbWVudHMgdGhlIHJ1bGU6ICJEb24ndCByZWxvYWQgaWYgbmF2aWdhdGluZyBieSBm
cmFnbWVudCB3aXRoaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggMGUxMjcw
NDQ3MjIuLmY5ZjUyYjViZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAt
MjYzLDYgKzI2Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGFsbEFuY2VzdG9yc0FyZUNvbXBsZXRl
KCkgY29uc3Q7IC8vIGluY2x1ZGluZyB0aGlzCiAgICAgdm9pZCBjbGllbnRSZWRpcmVjdGVkKGNv
bnN0IFVSTCYsIGRvdWJsZSBkZWxheSwgZG91YmxlIGZpcmVEYXRlLCBMb2NrQmFja0ZvcndhcmRM
aXN0KTsKICAgICB2b2lkIGNsaWVudFJlZGlyZWN0Q2FuY2VsbGVkT3JGaW5pc2hlZChib29sIGNh
bmNlbFdpdGhMb2FkSW5Qcm9ncmVzcyk7CisgICAgdm9pZCBwZXJmb3JtQ2xpZW50UmVkaXJlY3Qo
RnJhbWVMb2FkUmVxdWVzdCYmKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIHB1YmxpYyBiZWNh
dXNlIHRoaXMgYXN5bmNocm9ub3VzIGNhbGxiYWNrIGZyb20gdGhlIEZyYW1lTG9hZGVyQ2xpZW50
CiAgICAgLy8gdXNlcyB0aGUgcG9saWN5IG1hY2hpbmVyeSAoYW5kIHRoZXJlZm9yZSBpcyBjYWxs
ZWQgdmlhIHRoZSBQb2xpY3lDaGVja2VyKS4gIE9uY2Ugd2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggNTE3NDcwNTQ0MDguLjNiYjZkZjU3YTM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtMTUxLDYgKzE1MSw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRDaGFuZ2VQcm92aXNpb25h
bFVSTCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZENhbmNlbENsaWVudFJlZGly
ZWN0KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxQZXJmb3JtQ2xpZW50UmVk
aXJlY3QoY29uc3QgVVJMJiwgZG91YmxlIGludGVydmFsLCBkb3VibGUgZmlyZURhdGUpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3QoKSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRDaGFuZ2VNYWluRG9jdW1lbnQoKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWROYXZpZ2F0ZVdpdGhpblBhZ2UoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2UoKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKaW5kZXggNTdi
NzViZTBlNjMuLjg2ZTczYjJhMzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25TY2hlZHVsZXIuY3BwCkBAIC0xMjcsMTYgKzEyNyw2IEBAIHByb3RlY3RlZDoKICAgICB7
CiAgICAgfQogCi0gICAgdm9pZCBmaXJlKEZyYW1lJiBmcmFtZSkgb3ZlcnJpZGUKLSAgICB7Ci0g
ICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IgeyB1c2VyR2VzdHVy
ZVRvRm9yd2FyZCgpIH07Ci0KLSAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291cmNlUmVxdWVz
dCB7IG1fdXJsLCBtX3JlZmVycmVyLCBVc2VQcm90b2NvbENhY2hlUG9saWN5IH07Ci0gICAgICAg
IEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7IG1faW5pdGlhdGluZ0RvY3VtZW50
LmdldCgpLCAqbV9zZWN1cml0eU9yaWdpbiwgcmVzb3VyY2VSZXF1ZXN0LCAiX3NlbGYiLCBsb2Nr
SGlzdG9yeSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCksIE1heWJlU2VuZFJlZmVycmVyLCBBbGxv
d05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcywgTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93
LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzKCksIGluaXRpYXRlZEJ5TWFpbkZyYW1lKCkgfTsKLQot
ICAgICAgICBmcmFtZS5sb2FkZXIoKS5jaGFuZ2VMb2NhdGlvbihXVEZNb3ZlKGZyYW1lTG9hZFJl
cXVlc3QpKTsKLSAgICB9Ci0KICAgICB2b2lkIGRpZFN0YXJ0VGltZXIoRnJhbWUmIGZyYW1lLCBU
aW1lciYgdGltZXIpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAobV9oYXZlVG9sZENsaWVu
dCkKQEAgLTE5NSw3ICsxODUsNyBAQCBwdWJsaWM6CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCBy
ZXNvdXJjZVJlcXVlc3QgeyB1cmwoKSwgcmVmZXJyZXIoKSwgcmVmcmVzaCA/IFJlbG9hZElnbm9y
aW5nQ2FjaGVEYXRhIDogVXNlUHJvdG9jb2xDYWNoZVBvbGljeSB9OwogICAgICAgICBGcmFtZUxv
YWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyBpbml0aWF0aW5nRG9jdW1lbnQoKSwgKnNlY3Vy
aXR5T3JpZ2luKCksIHJlc291cmNlUmVxdWVzdCwgIl9zZWxmIiwgbG9ja0hpc3RvcnkoKSwgbG9j
a0JhY2tGb3J3YXJkTGlzdCgpLCBNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9J
bnZhbGlkVVJMOjpObywgTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93LCBzaG91bGRPcGVuRXh0
ZXJuYWxVUkxzKCksIGluaXRpYXRlZEJ5TWFpbkZyYW1lKCkgfTsKIAotICAgICAgICBmcmFtZS5s
b2FkZXIoKS5jaGFuZ2VMb2NhdGlvbihXVEZNb3ZlKGZyYW1lTG9hZFJlcXVlc3QpKTsKKyAgICAg
ICAgZnJhbWUubG9hZGVyKCkucGVyZm9ybUNsaWVudFJlZGlyZWN0KFdURk1vdmUoZnJhbWVMb2Fk
UmVxdWVzdCkpOwogICAgIH0KIH07CiAKQEAgLTIxMSw3ICsyMDEsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QgeyB1cmwoKSwgcmVmZXJyZXIoKSwg
VXNlUHJvdG9jb2xDYWNoZVBvbGljeSB9OwogICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1l
TG9hZFJlcXVlc3QgeyBpbml0aWF0aW5nRG9jdW1lbnQoKSwgKnNlY3VyaXR5T3JpZ2luKCksIHJl
c291cmNlUmVxdWVzdCwgIl9zZWxmIiwgbG9ja0hpc3RvcnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlz
dCgpLCBNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpObywg
TmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzKCksIGlu
aXRpYXRlZEJ5TWFpbkZyYW1lKCkgfTsKIAotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jaGFuZ2VM
b2NhdGlvbihXVEZNb3ZlKGZyYW1lTG9hZFJlcXVlc3QpKTsKKyAgICAgICAgZnJhbWUubG9hZGVy
KCkucGVyZm9ybUNsaWVudFJlZGlyZWN0KFdURk1vdmUoZnJhbWVMb2FkUmVxdWVzdCkpOwogICAg
IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggZWQ1M2IyODMxMzAuLjEzNWVjMzEyMGMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM3IEBACisyMDE3LTA3LTIwICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2Fk
YUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFNQSSB0byBub3RpZnkgV0tOYXZpZ2F0aW9uRGVs
ZWdhdGUgYWJvdXQgY2xpZW50IHJlZGlyZWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NjgwCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzMzMTg0
ODg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6TmF2aWdh
dGlvbkNsaWVudDo6ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbik6CisgICAg
ICAgIEFkZCBhIG5ldyB2aXJ0dWFsIG1ldGhvZCBmb3IgbmF2aWdhdGlvbiBjbGllbnRzIHRvIGlt
cGxlbWVudCBpZiB0aGV5IHdhbnQgdG8gYmUgaW5mb3JtZWQKKyAgICAgICAgd2hlbiB0aGUgcGFn
ZSBpcyBpbml0aWF0aW5nIGEgbmF2aWdhdGlvbiB0aGF0IGlzIGEgY2xpZW50IHJlZGlyZWN0Lgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZh
dGUuaDoKKyAgICAgICAgRGVjbGFyZSB0aGUgbmV3IFdLTmF2aWdhdGlvbkRlbGVnYXRlIG1ldGhv
ZCAtX3dlYlZpZXc6ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbjoKKworICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0
aW9uU3RhdGU6OnNldE5hdmlnYXRpb25EZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmln
YXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9y
TmF2aWdhdGlvbik6CisgICAgICAgIEFkZCBhIG5ldyBtZXRob2QgdG8gTmF2aWdhdGlvblN0YXRl
IG1ldGhvZCB0byB0ZWxsIHRoZSBXS05hdmlnYXRpb25EZWxlZ2F0ZSB3aGVuIGEKKyAgICAgICAg
Y2xpZW50IHJlZGlyZWN0IGhhcHBlbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRQZXJmb3JtQ2xpZW50
UmVkaXJlY3RGb3JMb2FkRm9yRnJhbWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAg
ICAgICBBbGxvdyB0aGUgV2ViUGFnZVByb3h5IHRvIHJlY2VpdmUgYSBtZXNzYWdlIGZyb20gdGhl
IHdlYiBwcm9jZXNzIHdoZW4gYSBjbGllbnQgcmVkaXJlY3QgaGFwcGVucy4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRQZXJmb3JtQ2xp
ZW50UmVkaXJlY3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgU2VuZCB0aGlzIG5ldyBtZXNzYWdlIHRvIHRoZSBV
SSBwcm9jZXNzIG9uIGNsaWVudCByZWRpcmVjdHMuCisKIDIwMTctMDctMTkgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0cyBub3QgdXBkYXRlZCBmb3IgcHJvZ3JhbW1hdGljIHNjcm9sbHMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbkNsaWVudC5oCmluZGV4IGU0NTk0ODdj
YzgyLi5jMzI2MmRiZWFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0FQSU5hdmlnYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJTmF2aWdhdGlvbkNsaWVudC5oCkBAIC02OSw2ICs2OSw3IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTmF2aWdhdGlvbihXZWJLaXQ6OldlYlBhZ2VQ
cm94eSYsIEFQSTo6TmF2aWdhdGlvbiosIEFQSTo6T2JqZWN0KikgeyB9CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTmF2aWdhdGlvbihXZWJL
aXQ6OldlYlBhZ2VQcm94eSYsIEFQSTo6TmF2aWdhdGlvbiosIEFQSTo6T2JqZWN0KikgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIGRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvck5hdmlnYXRpb24oV2Vi
S2l0OjpXZWJQYWdlUHJveHkmLCBBUEk6Ok5hdmlnYXRpb24qKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbldpdGhFcnJvcihXZWJLaXQ6OldlYlBhZ2VQ
cm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIEFQSTo6TmF2aWdhdGlvbiosIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlRXJyb3ImLCBBUEk6Ok9iamVjdCopIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkSW5TdWJmcmFtZVdpdGhFcnJvcihXZWJLaXQ6OldlYlBh
Z2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSYsIEFQSTo6TmF2aWdhdGlvbiosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJy
b3ImLCBBUEk6Ok9iamVjdCopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXROYXZpZ2F0
aW9uKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgQVBJOjpOYXZpZ2F0aW9uKiwgQVBJOjpPYmplY3Qq
KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05h
dmlnYXRpb25EZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGUuaAppbmRleCA5M2QzMTgzODFhYS4uNzE3
YjU1YTRkNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlLmgKQEAgLTQ0LDYgKzQ0LDgg
QEAgc3RhdGljIGNvbnN0IFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5IF9XS05hdmlnYXRpb25S
ZXNwb25zZVBvbGljeUJlY29tZURvd25sb2EKIAogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBuYXZpZ2F0aW9uOihXS05hdmlnYXRpb24gKiluYXZpZ2F0aW9uIGRpZEZhaWxQ
cm92aXNpb25hbExvYWRJblN1YmZyYW1lOihXS0ZyYW1lSW5mbyAqKXN1YmZyYW1lIHdpdGhFcnJv
cjooTlNFcnJvciAqKWVycm9yOwogCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IGRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvck5hdmlnYXRpb246KFdLTmF2aWdhdGlvbiAq
KW5hdmlnYXRpb247CisKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbmF2
aWdhdGlvbkRpZEZpbmlzaERvY3VtZW50TG9hZDooV0tOYXZpZ2F0aW9uICopbmF2aWdhdGlvbjsK
IC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbmF2aWdhdGlvbjooV0tOYXZp
Z2F0aW9uICopbmF2aWdhdGlvbiBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uOihfV0tTYW1lRG9j
dW1lbnROYXZpZ2F0aW9uVHlwZSluYXZpZ2F0aW9uVHlwZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUuaAppbmRleCA3YTljM2M1YjE4Yi4uZmEw
NDA5ODk1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmln
YXRpb25TdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRp
b25TdGF0ZS5oCkBAIC05MSw2ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTmF2aWdhdGlvbihXZWJQYWdlUHJveHkmLCBBUEk6
Ok5hdmlnYXRpb24qLCBBUEk6Ok9iamVjdCopIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZFJl
Y2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTmF2aWdhdGlvbihXZWJQYWdlUHJveHkm
LCBBUEk6Ok5hdmlnYXRpb24qLCBBUEk6Ok9iamVjdCopIG92ZXJyaWRlOworICAgICAgICB2b2lk
IGRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvck5hdmlnYXRpb24oV2ViUGFnZVByb3h5JiwgQVBJ
OjpOYXZpZ2F0aW9uKikgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFs
TmF2aWdhdGlvbldpdGhFcnJvcihXZWJQYWdlUHJveHkmLCBXZWJGcmFtZVByb3h5JiwgQVBJOjpO
YXZpZ2F0aW9uKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIEFQSTo6T2JqZWN0Kikg
b3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEluU3ViZnJhbWVX
aXRoRXJyb3IoV2ViUGFnZVByb3h5JiwgV2ViRnJhbWVQcm94eSYsIGNvbnN0IFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luRGF0YSYsIEFQSTo6TmF2aWdhdGlvbiosIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlRXJyb3ImLCBBUEk6Ok9iamVjdCopIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZENvbW1p
dE5hdmlnYXRpb24oV2ViUGFnZVByb3h5JiwgQVBJOjpOYXZpZ2F0aW9uKiwgQVBJOjpPYmplY3Qq
KSBvdmVycmlkZTsKQEAgLTE3Miw2ICsxNzMsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIHdl
YlZpZXdEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbE5hdmlnYXRpb24gOiAx
OwogICAgICAgICBib29sIHdlYlZpZXdEaWRGYWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9uV2l0aEVy
cm9yIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3TmF2aWdhdGlvbkRpZEZhaWxQcm92aXNpb25h
bExvYWRJblN1YmZyYW1lV2l0aEVycm9yIDogMTsKKyAgICAgICAgYm9vbCB3ZWJWaWV3RGlkUGVy
Zm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbiA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmll
d0RpZENvbW1pdE5hdmlnYXRpb24gOiAxOwogICAgICAgICBib29sIHdlYlZpZXdOYXZpZ2F0aW9u
RGlkRmluaXNoRG9jdW1lbnRMb2FkIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3RGlkRmluaXNo
TmF2aWdhdGlvbiA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9OYXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9OYXZp
Z2F0aW9uU3RhdGUubW0KaW5kZXggNmU3NTk1MzRkMjUuLjE5OGQyMGEzNzMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC0xNTAs
NiArMTUwLDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6OnNldE5hdmlnYXRpb25EZWxlZ2F0ZShp
ZCA8V0tOYXZpZ2F0aW9uRGVsZWdhdGU+IGRlbGVnYXRlKQogICAgIG1fbmF2aWdhdGlvbkRlbGVn
YXRlTWV0aG9kcy53ZWJWaWV3RGlkRmFpbE5hdmlnYXRpb25XaXRoRXJyb3IgPSBbZGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJWaWV3OmRpZEZhaWxOYXZpZ2F0aW9uOndp
dGhFcnJvcjopXTsKIAogICAgIG1fbmF2aWdhdGlvbkRlbGVnYXRlTWV0aG9kcy53ZWJWaWV3TmF2
aWdhdGlvbkRpZEZhaWxQcm92aXNpb25hbExvYWRJblN1YmZyYW1lV2l0aEVycm9yID0gW2RlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bmF2aWdhdGlvbjpkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkSW5TdWJmcmFtZTp3aXRoRXJyb3I6KV07CisgICAgbV9uYXZpZ2F0
aW9uRGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3RGb3JOYXZp
Z2F0aW9uID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6
ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbjopXTsKICAgICBtX25hdmlnYXRp
b25EZWxlZ2F0ZU1ldGhvZHMud2ViVmlld05hdmlnYXRpb25EaWRGaW5pc2hEb2N1bWVudExvYWQg
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpuYXZpZ2F0
aW9uRGlkRmluaXNoRG9jdW1lbnRMb2FkOildOwogICAgIG1fbmF2aWdhdGlvbkRlbGVnYXRlTWV0
aG9kcy53ZWJWaWV3TmF2aWdhdGlvbkRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24gPSBbZGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpuYXZpZ2F0aW9uOmRpZFNh
bWVEb2N1bWVudE5hdmlnYXRpb246KV07CiAgICAgbV9uYXZpZ2F0aW9uRGVsZWdhdGVNZXRob2Rz
LndlYlZpZXdSZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlOild
OwpAQCAtNDg4LDYgKzQ4OSwyMyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNs
aWVudDo6ZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYQogICAgIFtuYXZp
Z2F0aW9uRGVsZWdhdGUgd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZpZXcgZGlkUmVj
ZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uOndrTmF2aWdhdGlvbl07
CiB9CiAKK3ZvaWQgTmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xpZW50OjpkaWRQZXJmb3Jt
Q2xpZW50UmVkaXJlY3RGb3JOYXZpZ2F0aW9uKFdlYlBhZ2VQcm94eSYgcGFnZSwgQVBJOjpOYXZp
Z2F0aW9uKiBuYXZpZ2F0aW9uKQoreworICAgIGlmICghbV9uYXZpZ2F0aW9uU3RhdGUubV9uYXZp
Z2F0aW9uRGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3RGb3JO
YXZpZ2F0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIG5hdmlnYXRpb25EZWxlZ2F0
ZSA9IG1fbmF2aWdhdGlvblN0YXRlLm1fbmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpOworICAgIGlm
ICghbmF2aWdhdGlvbkRlbGVnYXRlKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIGFzc2VydCB0aGF0IG5hdmlnYXRpb24gaXMgbm90IG51bGwgaGVyZSwgYnV0IGl0
J3MgY3VycmVudGx5IG51bGwgZm9yIHNvbWUgbmF2aWdhdGlvbnMgdGhyb3VnaCB0aGUgcGFnZSBj
YWNoZS4KKyAgICBXS05hdmlnYXRpb24gKndrTmF2aWdhdGlvbiA9IG5pbDsKKyAgICBpZiAobmF2
aWdhdGlvbikKKyAgICAgICAgd2tOYXZpZ2F0aW9uID0gd3JhcHBlcigqbmF2aWdhdGlvbik7CisK
KyAgICBbKGlkIDxXS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGU+KW5hdmlnYXRpb25EZWxlZ2F0
ZSBfd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZpZXcgZGlkUGVyZm9ybUNsaWVudFJl
ZGlyZWN0Rm9yTmF2aWdhdGlvbjp3a05hdmlnYXRpb25dOworfQorCiBzdGF0aWMgUmV0YWluUHRy
PE5TRXJyb3I+IGNyZWF0ZUVycm9yV2l0aFJlY292ZXJ5QXR0ZW1wdGVyKFdLV2ViVmlldyAqd2Vi
VmlldywgV2ViRnJhbWVQcm94eSYgd2ViRnJhbWVQcm94eSwgTlNFcnJvciAqb3JpZ2luYWxFcnJv
cikKIHsKICAgICBSZWZQdHI8QVBJOjpGcmFtZUhhbmRsZT4gZnJhbWVIYW5kbGUgPSBBUEk6OkZy
YW1lSGFuZGxlOjpjcmVhdGUod2ViRnJhbWVQcm94eS5mcmFtZUlEKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNTI0YzE1MmY0NjIuLmJiZDM5OGI0NDBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMxODksNiAr
MzE4OSwyNCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9y
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZgogICAgICAgICBtX2xvYWRlckNsaWVu
dC0+ZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoKnRo
aXMsICpmcmFtZSwgbmF2aWdhdGlvbi5nZXQoKSwgbV9wcm9jZXNzLT50cmFuc2Zvcm1IYW5kbGVz
VG9PYmplY3RzKHVzZXJEYXRhLm9iamVjdCgpKS5nZXQoKSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3RGb3JMb2FkRm9yRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgdWludDY0X3QgbmF2aWdhdGlvbklEKQoreworICAgIFBhZ2VDbGllbnRQcm90ZWN0b3Ig
cHJvdGVjdG9yKG1fcGFnZUNsaWVudCk7CisKKyAgICBXZWJGcmFtZVByb3h5KiBmcmFtZSA9IG1f
cHJvY2Vzcy0+d2ViRnJhbWUoZnJhbWVJRCk7CisgICAgTUVTU0FHRV9DSEVDSyhmcmFtZSk7CisK
KyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG1lc3NhZ2UgY2hlY2sgdGhhdCBuYXZpZ2F0aW9uSUQg
aXMgbm90IHplcm8gaGVyZSwgYnV0IGl0J3MgY3VycmVudGx5IHplcm8gZm9yIHNvbWUgbmF2aWdh
dGlvbnMgdGhyb3VnaCB0aGUgcGFnZSBjYWNoZS4KKyAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9u
PiBuYXZpZ2F0aW9uOworICAgIGlmIChmcmFtZS0+aXNNYWluRnJhbWUoKSAmJiBuYXZpZ2F0aW9u
SUQpCisgICAgICAgIG5hdmlnYXRpb24gPSAmbmF2aWdhdGlvblN0YXRlKCkubmF2aWdhdGlvbihu
YXZpZ2F0aW9uSUQpOworCisgICAgaWYgKG1fbmF2aWdhdGlvbkNsaWVudCkgeworICAgICAgICBp
ZiAoZnJhbWUtPmlzTWFpbkZyYW1lKCkpCisgICAgICAgICAgICBtX25hdmlnYXRpb25DbGllbnQt
PmRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvck5hdmlnYXRpb24oKnRoaXMsIG5hdmlnYXRpb24u
Z2V0KCkpOworICAgIH0KK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmRpZENoYW5nZVByb3Zpc2lv
bmFsVVJMRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QsIGNvbnN0IFN0cmluZyYg
dXJsKQogewogICAgIFBhZ2VDbGllbnRQcm90ZWN0b3IgcHJvdGVjdG9yKG1fcGFnZUNsaWVudCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDJkZjJlNGQwYzU3Li44
MTIyMDIzZDExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEy
NDksNiArMTI0OSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxM
b2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbmF2aWdhdGlvbklELCBjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNoYWJsZVVSTCwgY29uc3QgVXNlckRh
dGEmKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29uc3Qg
U3RyaW5nJiwgY29uc3QgVXNlckRhdGEmKTsKKyAgICB2b2lkIGRpZFBlcmZvcm1DbGllbnRSZWRp
cmVjdEZvckxvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBuYXZpZ2F0aW9u
SUQpOwogICAgIHZvaWQgZGlkQ2hhbmdlUHJvdmlzaW9uYWxVUkxGb3JGcmFtZSh1aW50NjRfdCBm
cmFtZUlELCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2
b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25z
dCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIGZyYW1lU2VjdXJpdHlPcmlnaW4sIHVpbnQ2
NF90IG5hdmlnYXRpb25JRCwgY29uc3QgU3RyaW5nJiBwcm92aXNpb25hbFVSTCwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciYsIGNvbnN0IFVzZXJEYXRhJik7CiAgICAgdm9pZCBkaWRDb21t
aXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbmF2aWdhdGlvbklELCBj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIGZyYW1lSGFzQ3VzdG9tQ29udGVudFByb3ZpZGVy
LCB1aW50MzJfdCBmcmFtZUxvYWRUeXBlLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8m
LCBib29sIGNvbnRhaW5zUGx1Z2luRG9jdW1lbnQsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SGFz
SW5zZWN1cmVDb250ZW50PiBmb3JjZWRIYXNJbnNlY3VyZUNvbnRlbnQsIGNvbnN0IFVzZXJEYXRh
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggYmIwZTQ0NDkyYjkuLmRhMTJmMGVmZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTgsNiArMTE4LDcgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICAjIEZyYW1lIGxvYWQgbWVzc2FnZXMKICAg
ICBEaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2
NF90IG5hdmlnYXRpb25JRCwgU3RyaW5nIHVybCwgU3RyaW5nIHVucmVhY2hhYmxlVVJMLCBXZWJL
aXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQogICAgIERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IG5hdmlnYXRp
b25JRCwgU3RyaW5nIHVybCwgV2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkKKyAgICBEaWRQZXJm
b3JtQ2xpZW50UmVkaXJlY3RGb3JMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0
X3QgbmF2aWdhdGlvbklEKQogICAgIERpZENoYW5nZVByb3Zpc2lvbmFsVVJMRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbmF2aWdhdGlvbklELCBTdHJpbmcgdXJsKQogICAgIERp
ZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBzdHJ1Y3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGZyYW1lU2VjdXJpdHlPcmlnaW4sIHVpbnQ2NF90IG5h
dmlnYXRpb25JRCwgU3RyaW5nIHByb3Zpc2lvbmFsVVJMLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
IGVycm9yLCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQogICAgIERpZENvbW1pdExvYWRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIFN0cmluZyBtaW1l
VHlwZSwgYm9vbCBoYXNDdXN0b21Db250ZW50UHJvdmlkZXIsIHVpbnQzMl90IGxvYWRUeXBlLCBX
ZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBib29sIGNvbnRhaW5zUGx1
Z2luRG9jdW1lbnQsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SGFzSW5zZWN1cmVDb250ZW50PiBm
b3JjZWRIYXNJbnNlY3VyZUNvbnRlbnQsIFdlYktpdDo6VXNlckRhdGEgdXNlckRhdGEpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCAyY2ZjZmNlMGM1NC4uNWMyNGQwMjQ2ZTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMjkwLDYgKzI5MCwxOCBAQCB2
b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVj
dEZvclByb3Zpc2lvbmFsTG9hZCgpCiAgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFt
ZShtX2ZyYW1lLT5mcmFtZUlEKCksIGRvY3VtZW50TG9hZGVyLm5hdmlnYXRpb25JRCgpLCB1cmws
IFVzZXJEYXRhKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRs
ZXModXNlckRhdGEuZ2V0KCkpLmdldCgpKSkpOwogfQogCit2b2lkIFdlYkZyYW1lTG9hZGVyQ2xp
ZW50OjpkaXNwYXRjaERpZFBlcmZvcm1DbGllbnRSZWRpcmVjdCgpCit7CisgICAgV2ViUGFnZSog
d2ViUGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKKyAgICBpZiAoIXdlYlBhZ2UpCisgICAgICAgIHJl
dHVybjsKKworICAgIGF1dG8gbmF2aWdhdGlvbklEID0gc3RhdGljX2Nhc3Q8V2ViRG9jdW1lbnRM
b2FkZXImPigqbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCkp
Lm5hdmlnYXRpb25JRCgpOworCisgICAgLy8gTm90aWZ5IHRoZSBVSVByb2Nlc3MuCisgICAgd2Vi
UGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRQZXJmb3JtQ2xpZW50UmVkaXJl
Y3RGb3JMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCBuYXZpZ2F0aW9uSUQpKTsKK30K
Kwogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDaGFuZ2VQcm92aXNpb25h
bFVSTCgpCiB7CiAgICAgV2ViUGFnZSogd2ViUGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggNjU1YjBiZDVhN2IuLjI1YThlNmE4ZjI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtODgsNiArODgsNyBAQCBwcml2YXRlOgogCiAg
ICAgdm9pZCBkaXNwYXRjaERpZERpc3BhdGNoT25sb2FkRXZlbnRzKCkgZmluYWw7CiAgICAgdm9p
ZCBkaXNwYXRjaERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZCgpIGZp
bmFsOworICAgIHZvaWQgZGlzcGF0Y2hEaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3QoKSBmaW5hbDsK
ICAgICB2b2lkIGRpc3BhdGNoRGlkQ2hhbmdlUHJvdmlzaW9uYWxVUkwoKSBmaW5hbDsKICAgICB2
b2lkIGRpc3BhdGNoRGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3QoKSBmaW5hbDsKICAgICB2b2lkIGRp
c3BhdGNoV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdChjb25zdCBXZWJDb3JlOjpVUkwmLCBkb3Vi
bGUgaW50ZXJ2YWwsIGRvdWJsZSBmaXJlRGF0ZSkgZmluYWw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>316042</attachid>
            <date>2017-07-20 16:57:16 -0700</date>
            <delta_ts>2017-07-20 17:39:13 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>v2.patch</filename>
            <type>text/plain</type>
            <size>25809</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IGJhMjkwOTA5NGVmMjIwMTcxNjZjNjkxMjhiMjA0NWQ3MDE4NzJlN2EKQXV0aG9yOiBE
YXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KRGF0ZTogICBXZWQgSnVsIDEy
IDE2OjA0OjU0IDIwMTcgLTA3MDAKCiAgICBBZGQgU1BJIHRvIG5vdGlmeSBXS05hdmlnYXRpb25E
ZWxlZ2F0ZSBhYm91dCBjbGllbnQgcmVkaXJlY3RzCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NjgwCiAgICByZGFyOi8vcHJvYmxlbS8zMzE4NDg4NgogICAg
CiAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KICAgIAogICAgU291cmNlL1dlYkNvcmU6
CiAgICAKICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6cGVyZm9ybUNsaWVudFJlZGlyZWN0KToKICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6
CiAgICBBZGQgYSBjb252ZW5pZW5jZSBtZXRob2QgZm9yIE5hdmlnYXRpb25TY2hlZHVsZXIgdGhh
dCBoYW5kbGVzIGEgRnJhbWVMb2FkUmVxdWVzdAogICAgYXMgYSBjbGllbnQgcmVkaXJlY3QuIEN1
cnJlbnRseSB0aGlzIG1lYW5zIGxvYWRpbmcgdGhlIHJlcXVlc3QgYW5kIGluZm9ybWluZyB0aGUK
ICAgIGNsaWVudCBhYm91dCBpdC4KICAgIAogICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aDoKICAgIEFkZCBGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRQZXJmb3JtQ2xpZW50UmVk
aXJlY3QoKSB0byBpbmZvcm0gdGhlIGNsaWVudCB3aGVuCiAgICBhIGNsaWVudCByZWRpcmVjdCBv
Y2N1cnMuCiAgICAKICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgogICAgUmVt
b3ZlZCBTY2hlZHVsZWRVUkxOYXZpZ2F0aW9uOjpmaXJlKCkuIFRoaXMgY2xhc3Mgd2FzIG5ldmVy
IGluc3RhbnRpYXRlZCBkaXJlY3RseSwKICAgIGFuZCBhbGwgc3ViY2xhc3NlcyBvdmVycmlkZSBm
aXJlKCksIHNvIHRoaXMgd2FzIHVudXNlZCBjb2RlLgogICAgRm9yIFNjaGVkdWxlZFJlZGlyZWN0
cyBhbmQgU2NoZWR1bGVkTG9jYXRpb25DaGFuZ2UsIHVzZSBGcmFtZUxvYWRlcidzIG5ldyBtZXRo
b2QgdG8KICAgIGxvYWQgdGhlIHJlcXVlc3QgYXMgYSBjbGllbnQgcmVkaXJlY3QuCiAgICAKICAg
IFNvdXJjZS9XZWJLaXQ6CiAgICAKICAgICogVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uQ2xp
ZW50Lmg6CiAgICAoQVBJOjpOYXZpZ2F0aW9uQ2xpZW50OjpkaWRQZXJmb3JtQ2xpZW50UmVkaXJl
Y3RGb3JOYXZpZ2F0aW9uKToKICAgIEFkZCBhIG5ldyB2aXJ0dWFsIG1ldGhvZCBmb3IgbmF2aWdh
dGlvbiBjbGllbnRzIHRvIGltcGxlbWVudCBpZiB0aGV5IHdhbnQgdG8gYmUgaW5mb3JtZWQKICAg
IHdoZW4gdGhlIHBhZ2UgaXMgaW5pdGlhdGluZyBhIG5hdmlnYXRpb24gdGhhdCBpcyBhIGNsaWVu
dCByZWRpcmVjdC4KICAgIAogICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRl
bGVnYXRlUHJpdmF0ZS5oOgogICAgRGVjbGFyZSB0aGUgbmV3IFdLTmF2aWdhdGlvbkRlbGVnYXRl
IG1ldGhvZCAtX3dlYlZpZXc6ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbjoK
ICAgIAogICAgKiBVSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLmg6CiAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06CiAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3Rh
dGU6OnNldE5hdmlnYXRpb25EZWxlZ2F0ZSk6CiAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6
Ok5hdmlnYXRpb25DbGllbnQ6OmRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvck5hdmlnYXRpb24p
OgogICAgQWRkIGEgbmV3IG1ldGhvZCB0byBOYXZpZ2F0aW9uU3RhdGUgbWV0aG9kIHRvIHRlbGwg
dGhlIFdLTmF2aWdhdGlvbkRlbGVnYXRlIHdoZW4gYQogICAgY2xpZW50IHJlZGlyZWN0IGhhcHBl
bnMuCiAgICAKICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CiAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvckxvYWRGb3JGcmFtZSk6CiAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbjoKICAgIEFsbG93IHRoZSBXZWJQYWdlUHJveHkgdG8gcmVjZWl2ZSBhIG1l
c3NhZ2UgZnJvbSB0aGUgd2ViIHByb2Nlc3Mgd2hlbiBhIGNsaWVudCByZWRpcmVjdCBoYXBwZW5z
LgogICAgCiAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwOgogICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkUGVy
Zm9ybUNsaWVudFJlZGlyZWN0KToKICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5oOgogICAgU2VuZCB0aGlzIG5ldyBtZXNzYWdlIHRvIHRoZSBVSSBw
cm9jZXNzIG9uIGNsaWVudCByZWRpcmVjdHMuCiAgICAKICAgIFRvb2xzOgogICAgCiAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL05hdmlnYXRpb24ubW06CiAgICAoLVtEaWRQ
ZXJmb3JtQ2xpZW50UmVkaXJlY3ROYXZpZ2F0aW9uRGVsZWdhdGUgX3dlYlZpZXc6ZGlkUGVyZm9y
bUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbjpdKToKICAgIChURVNUKToKICAgIEFkZCBBUEkg
dGVzdCBmb3IgLVtpZDxXS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGU+IF93ZWJWaWV3OmRpZFBl
cmZvcm1DbGllbnRSZWRpcmVjdEZvck5hdmlnYXRpb246XS4KCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVjYTQw
ZTUwMjUuLjJjNWFmZTAwYzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTctMDct
MjAgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgU1BJIHRvIG5vdGlmeSBXS05hdmlnYXRpb25EZWxlZ2F0ZSBhYm91dCBjbGllbnQgcmVkaXJl
Y3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQ2
ODAKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMzMxODQ4ODYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cGVyZm9ybUNsaWVudFJlZGlyZWN0KToKKyAg
ICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAgICAgICAgQWRkIGEgY29udmVuaWVuY2Ug
bWV0aG9kIGZvciBOYXZpZ2F0aW9uU2NoZWR1bGVyIHRoYXQgaGFuZGxlcyBhIEZyYW1lTG9hZFJl
cXVlc3QKKyAgICAgICAgYXMgYSBjbGllbnQgcmVkaXJlY3QuIEN1cnJlbnRseSB0aGlzIG1lYW5z
IGxvYWRpbmcgdGhlIHJlcXVlc3QgYW5kIGluZm9ybWluZyB0aGUKKyAgICAgICAgY2xpZW50IGFi
b3V0IGl0LgorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAg
IEFkZCBGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3Qo
KSB0byBpbmZvcm0gdGhlIGNsaWVudCB3aGVuCisgICAgICAgIGEgY2xpZW50IHJlZGlyZWN0IG9j
Y3Vycy4KKworICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAgICAg
ICAgUmVtb3ZlZCBTY2hlZHVsZWRVUkxOYXZpZ2F0aW9uOjpmaXJlKCkuIFRoaXMgY2xhc3Mgd2Fz
IG5ldmVyIGluc3RhbnRpYXRlZCBkaXJlY3RseSwKKyAgICAgICAgYW5kIGFsbCBzdWJjbGFzc2Vz
IG92ZXJyaWRlIGZpcmUoKSwgc28gdGhpcyB3YXMgdW51c2VkIGNvZGUuCisgICAgICAgIEZvciBT
Y2hlZHVsZWRSZWRpcmVjdHMgYW5kIFNjaGVkdWxlZExvY2F0aW9uQ2hhbmdlLCB1c2UgRnJhbWVM
b2FkZXIncyBuZXcgbWV0aG9kIHRvCisgICAgICAgIGxvYWQgdGhlIHJlcXVlc3QgYXMgYSBjbGll
bnQgcmVkaXJlY3QuCisKIDIwMTctMDctMjAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBSZWdyZXNzaW9uKElUUCk6IE1heSBnZXQgZnJlcXVlbnRseSBsb2dnZWQg
b3V0IG9mIHdzai5jb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDA0
Y2RiNWFjYjM2Li44NjE0NjZmM2ZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCkBAIC0yMDQ5LDYgKzIwNDksMTIgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y2xpZW50UmVkaXJl
Y3RlZChjb25zdCBVUkwmIHVybCwgZG91YmxlIHNlY29uZHMsIGRvdWJsZSBmaXJlRGEKICAgICBt
X3F1aWNrUmVkaXJlY3RDb21pbmcgPSAobG9ja0JhY2tGb3J3YXJkTGlzdCA9PSBMb2NrQmFja0Zv
cndhcmRMaXN0OjpZZXMgfHwgaGlzdG9yeSgpLmN1cnJlbnRJdGVtU2hvdWxkQmVSZXBsYWNlZCgp
KSAmJiBtX2RvY3VtZW50TG9hZGVyICYmICFtX2lzRXhlY3V0aW5nSmF2YVNjcmlwdEZvcm1BY3Rp
b247CiB9CiAKK3ZvaWQgRnJhbWVMb2FkZXI6OnBlcmZvcm1DbGllbnRSZWRpcmVjdChGcmFtZUxv
YWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCkKK3sKKyAgICBjaGFuZ2VMb2NhdGlvbihXVEZN
b3ZlKGZyYW1lTG9hZFJlcXVlc3QpKTsKKyAgICBtX2NsaWVudC5kaXNwYXRjaERpZFBlcmZvcm1D
bGllbnRSZWRpcmVjdCgpOworfQorCiBib29sIEZyYW1lTG9hZGVyOjpzaG91bGRSZWxvYWQoY29u
c3QgVVJMJiBjdXJyZW50VVJMLCBjb25zdCBVUkwmIGRlc3RpbmF0aW9uVVJMKQogewogICAgIC8v
IFRoaXMgZnVuY3Rpb24gaW1wbGVtZW50cyB0aGUgcnVsZTogIkRvbid0IHJlbG9hZCBpZiBuYXZp
Z2F0aW5nIGJ5IGZyYWdtZW50IHdpdGhpbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApp
bmRleCAwZTEyNzA0NDcyMi4uZjlmNTJiNWJkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5oCkBAIC0yNjMsNiArMjYzLDcgQEAgcHVibGljOgogICAgIGJvb2wgYWxsQW5jZXN0b3Jz
QXJlQ29tcGxldGUoKSBjb25zdDsgLy8gaW5jbHVkaW5nIHRoaXMKICAgICB2b2lkIGNsaWVudFJl
ZGlyZWN0ZWQoY29uc3QgVVJMJiwgZG91YmxlIGRlbGF5LCBkb3VibGUgZmlyZURhdGUsIExvY2tC
YWNrRm9yd2FyZExpc3QpOwogICAgIHZvaWQgY2xpZW50UmVkaXJlY3RDYW5jZWxsZWRPckZpbmlz
aGVkKGJvb2wgY2FuY2VsV2l0aExvYWRJblByb2dyZXNzKTsKKyAgICB2b2lkIHBlcmZvcm1DbGll
bnRSZWRpcmVjdChGcmFtZUxvYWRSZXF1ZXN0JiYpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgaXMg
cHVibGljIGJlY2F1c2UgdGhpcyBhc3luY2hyb25vdXMgY2FsbGJhY2sgZnJvbSB0aGUgRnJhbWVM
b2FkZXJDbGllbnQKICAgICAvLyB1c2VzIHRoZSBwb2xpY3kgbWFjaGluZXJ5IChhbmQgdGhlcmVm
b3JlIGlzIGNhbGxlZCB2aWEgdGhlIFBvbGljeUNoZWNrZXIpLiAgT25jZSB3ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCA1MTc0NzA1NDQwOC4uM2JiNmRm
NTdhMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCkBAIC0x
NTEsNiArMTUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZENoYW5n
ZVByb3Zpc2lvbmFsVVJMKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkQ2FuY2Vs
Q2xpZW50UmVkaXJlY3QoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFBlcmZv
cm1DbGllbnRSZWRpcmVjdChjb25zdCBVUkwmLCBkb3VibGUgaW50ZXJ2YWwsIGRvdWJsZSBmaXJl
RGF0ZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFBlcmZvcm1DbGllbnRSZWRp
cmVjdCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZENoYW5nZU1haW5Eb2N1bWVu
dCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZE5hdmlnYXRlV2l0aGluUGFnZSgp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFn
ZSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNw
cAppbmRleCA1N2I3NWJlMGU2My4uODZlNzNiMmEzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTEyNywxNiArMTI3LDYgQEAgcHJvdGVj
dGVkOgogICAgIHsKICAgICB9CiAKLSAgICB2b2lkIGZpcmUoRnJhbWUmIGZyYW1lKSBvdmVycmlk
ZQotICAgIHsKLSAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvciB7
IHVzZXJHZXN0dXJlVG9Gb3J3YXJkKCkgfTsKLQotICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVz
b3VyY2VSZXF1ZXN0IHsgbV91cmwsIG1fcmVmZXJyZXIsIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kg
fTsKLSAgICAgICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1ZXN0IHsgbV9pbml0aWF0
aW5nRG9jdW1lbnQuZ2V0KCksICptX3NlY3VyaXR5T3JpZ2luLCByZXNvdXJjZVJlcXVlc3QsICJf
c2VsZiIsIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwgTWF5YmVTZW5kUmVm
ZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdGcmFtZU9wZW5lclBv
bGljeTo6QWxsb3csIHNob3VsZE9wZW5FeHRlcm5hbFVSTHMoKSwgaW5pdGlhdGVkQnlNYWluRnJh
bWUoKSB9OwotCi0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNoYW5nZUxvY2F0aW9uKFdURk1vdmUo
ZnJhbWVMb2FkUmVxdWVzdCkpOwotICAgIH0KLQogICAgIHZvaWQgZGlkU3RhcnRUaW1lcihGcmFt
ZSYgZnJhbWUsIFRpbWVyJiB0aW1lcikgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmIChtX2hh
dmVUb2xkQ2xpZW50KQpAQCAtMTk1LDcgKzE4NSw3IEBAIHB1YmxpYzoKICAgICAgICAgUmVzb3Vy
Y2VSZXF1ZXN0IHJlc291cmNlUmVxdWVzdCB7IHVybCgpLCByZWZlcnJlcigpLCByZWZyZXNoID8g
UmVsb2FkSWdub3JpbmdDYWNoZURhdGEgOiBVc2VQcm90b2NvbENhY2hlUG9saWN5IH07CiAgICAg
ICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7IGluaXRpYXRpbmdEb2N1bWVu
dCgpLCAqc2VjdXJpdHlPcmlnaW4oKSwgcmVzb3VyY2VSZXF1ZXN0LCAiX3NlbGYiLCBsb2NrSGlz
dG9yeSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCksIE1heWJlU2VuZFJlZmVycmVyLCBBbGxvd05h
dmlnYXRpb25Ub0ludmFsaWRVUkw6Ok5vLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3csIHNo
b3VsZE9wZW5FeHRlcm5hbFVSTHMoKSwgaW5pdGlhdGVkQnlNYWluRnJhbWUoKSB9OwogCi0gICAg
ICAgIGZyYW1lLmxvYWRlcigpLmNoYW5nZUxvY2F0aW9uKFdURk1vdmUoZnJhbWVMb2FkUmVxdWVz
dCkpOworICAgICAgICBmcmFtZS5sb2FkZXIoKS5wZXJmb3JtQ2xpZW50UmVkaXJlY3QoV1RGTW92
ZShmcmFtZUxvYWRSZXF1ZXN0KSk7CiAgICAgfQogfTsKIApAQCAtMjExLDcgKzIwMSw3IEBAIHB1
YmxpYzoKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291cmNlUmVxdWVzdCB7IHVybCgpLCBy
ZWZlcnJlcigpLCBVc2VQcm90b2NvbENhY2hlUG9saWN5IH07CiAgICAgICAgIEZyYW1lTG9hZFJl
cXVlc3QgZnJhbWVMb2FkUmVxdWVzdCB7IGluaXRpYXRpbmdEb2N1bWVudCgpLCAqc2VjdXJpdHlP
cmlnaW4oKSwgcmVzb3VyY2VSZXF1ZXN0LCAiX3NlbGYiLCBsb2NrSGlzdG9yeSgpLCBsb2NrQmFj
a0ZvcndhcmRMaXN0KCksIE1heWJlU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFs
aWRVUkw6Ok5vLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3csIHNob3VsZE9wZW5FeHRlcm5h
bFVSTHMoKSwgaW5pdGlhdGVkQnlNYWluRnJhbWUoKSB9OwogCi0gICAgICAgIGZyYW1lLmxvYWRl
cigpLmNoYW5nZUxvY2F0aW9uKFdURk1vdmUoZnJhbWVMb2FkUmVxdWVzdCkpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5wZXJmb3JtQ2xpZW50UmVkaXJlY3QoV1RGTW92ZShmcmFtZUxvYWRSZXF1
ZXN0KSk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiMWQyM2QwM2MwOS4uN2ZkOTYzZDFjMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTctMDctMjAgIERhdmlkIFF1ZXNhZGEgIDxk
YXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgU1BJIHRvIG5vdGlmeSBXS05h
dmlnYXRpb25EZWxlZ2F0ZSBhYm91dCBjbGllbnQgcmVkaXJlY3RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQ2ODAKKyAgICAgICAgcmRhcjovL3By
b2JsZW0vMzMxODQ4ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbkNsaWVudC5oOgorICAgICAgICAo
QVBJOjpOYXZpZ2F0aW9uQ2xpZW50OjpkaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3RGb3JOYXZpZ2F0
aW9uKToKKyAgICAgICAgQWRkIGEgbmV3IHZpcnR1YWwgbWV0aG9kIGZvciBuYXZpZ2F0aW9uIGNs
aWVudHMgdG8gaW1wbGVtZW50IGlmIHRoZXkgd2FudCB0byBiZSBpbmZvcm1lZAorICAgICAgICB3
aGVuIHRoZSBwYWdlIGlzIGluaXRpYXRpbmcgYSBuYXZpZ2F0aW9uIHRoYXQgaXMgYSBjbGllbnQg
cmVkaXJlY3QuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRl
bGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICBEZWNsYXJlIHRoZSBuZXcgV0tOYXZpZ2F0aW9uRGVs
ZWdhdGUgbWV0aG9kIC1fd2ViVmlldzpkaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3RGb3JOYXZpZ2F0
aW9uOgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06CisgICAgICAgIChXZWJL
aXQ6Ok5hdmlnYXRpb25TdGF0ZTo6c2V0TmF2aWdhdGlvbkRlbGVnYXRlKToKKyAgICAgICAgKFdl
YktpdDo6TmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xpZW50OjpkaWRQZXJmb3JtQ2xpZW50
UmVkaXJlY3RGb3JOYXZpZ2F0aW9uKToKKyAgICAgICAgQWRkIGEgbmV3IG1ldGhvZCB0byBOYXZp
Z2F0aW9uU3RhdGUgbWV0aG9kIHRvIHRlbGwgdGhlIFdLTmF2aWdhdGlvbkRlbGVnYXRlIHdoZW4g
YQorICAgICAgICBjbGllbnQgcmVkaXJlY3QgaGFwcGVucy4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFBl
cmZvcm1DbGllbnRSZWRpcmVjdEZvckxvYWRGb3JGcmFtZSk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW46CisgICAgICAgIEFsbG93IHRoZSBXZWJQYWdlUHJveHkgdG8gcmVjZWl2ZSBhIG1lc3Nh
Z2UgZnJvbSB0aGUgd2ViIHByb2Nlc3Mgd2hlbiBhIGNsaWVudCByZWRpcmVjdCBoYXBwZW5zLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERp
ZFBlcmZvcm1DbGllbnRSZWRpcmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICBTZW5kIHRoaXMgbmV3IG1lc3Nh
Z2UgdG8gdGhlIFVJIHByb2Nlc3Mgb24gY2xpZW50IHJlZGlyZWN0cy4KKwogMjAxNy0wNy0yMCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lkIHVubmVjZXNz
YXJ5IFdvcmtRdWV1ZSBkaXNwYXRjaCBpbiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OnByb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uQ2xpZW50LmgKaW5kZXggZTQ1OTQ4N2NjODIuLmMz
MjYyZGJlYWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2
aWdhdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZp
Z2F0aW9uQ2xpZW50LmgKQEAgLTY5LDYgKzY5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uKFdlYktpdDo6V2ViUGFnZVByb3h5Jiwg
QVBJOjpOYXZpZ2F0aW9uKiwgQVBJOjpPYmplY3QqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKFdlYktpdDo6V2Vi
UGFnZVByb3h5JiwgQVBJOjpOYXZpZ2F0aW9uKiwgQVBJOjpPYmplY3QqKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbihXZWJLaXQ6Oldl
YlBhZ2VQcm94eSYsIEFQSTo6TmF2aWdhdGlvbiopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRG
YWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9uV2l0aEVycm9yKFdlYktpdDo6V2ViUGFnZVByb3h5Jiwg
V2ViS2l0OjpXZWJGcmFtZVByb3h5JiwgQVBJOjpOYXZpZ2F0aW9uKiwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYsIEFQSTo6T2JqZWN0KikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEZh
aWxQcm92aXNpb25hbExvYWRJblN1YmZyYW1lV2l0aEVycm9yKFdlYktpdDo6V2ViUGFnZVByb3h5
JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5JiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhJiwgQVBJOjpOYXZpZ2F0aW9uKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIEFQ
STo6T2JqZWN0KikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdE5hdmlnYXRpb24oV2Vi
S2l0OjpXZWJQYWdlUHJveHkmLCBBUEk6Ok5hdmlnYXRpb24qLCBBUEk6Ok9iamVjdCopIHsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlv
bkRlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
TmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IDkzZDMxODM4MWFhLi43MTdiNTVhNGQ2
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdh
dGlvbkRlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGUuaApAQCAtNDQsNiArNDQsOCBAQCBzdGF0
aWMgY29uc3QgV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3kgX1dLTmF2aWdhdGlvblJlc3BvbnNl
UG9saWN5QmVjb21lRG93bmxvYQogCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IG5hdmlnYXRpb246KFdLTmF2aWdhdGlvbiAqKW5hdmlnYXRpb24gZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZEluU3ViZnJhbWU6KFdLRnJhbWVJbmZvICopc3ViZnJhbWUgd2l0aEVycm9yOihOU0Vy
cm9yICopZXJyb3I7CiAKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlk
UGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbjooV0tOYXZpZ2F0aW9uICopbmF2aWdh
dGlvbjsKKwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBuYXZpZ2F0aW9u
RGlkRmluaXNoRG9jdW1lbnRMb2FkOihXS05hdmlnYXRpb24gKiluYXZpZ2F0aW9uOwogLSAodm9p
ZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBuYXZpZ2F0aW9uOihXS05hdmlnYXRpb24g
KiluYXZpZ2F0aW9uIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb246KF9XS1NhbWVEb2N1bWVudE5h
dmlnYXRpb25UeXBlKW5hdmlnYXRpb25UeXBlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oCmluZGV4IDdhOWMzYzViMThiLi5mYTA0MDk4OTU5
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
LmgKQEAgLTkxLDYgKzkxLDcgQEAgcHJpdmF0ZToKICAgICBwcml2YXRlOgogICAgICAgICB2b2lk
IGRpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uKFdlYlBhZ2VQcm94eSYsIEFQSTo6TmF2aWdh
dGlvbiosIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZVNl
cnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKFdlYlBhZ2VQcm94eSYsIEFQSTo6
TmF2aWdhdGlvbiosIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgZGlkUGVy
Zm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbihXZWJQYWdlUHJveHkmLCBBUEk6Ok5hdmln
YXRpb24qKSBvdmVycmlkZTsKICAgICAgICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxOYXZpZ2F0
aW9uV2l0aEVycm9yKFdlYlBhZ2VQcm94eSYsIFdlYkZyYW1lUHJveHkmLCBBUEk6Ok5hdmlnYXRp
b24qLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgQVBJOjpPYmplY3QqKSBvdmVycmlk
ZTsKICAgICAgICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkSW5TdWJmcmFtZVdpdGhFcnJv
cihXZWJQYWdlUHJveHkmLCBXZWJGcmFtZVByb3h5JiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW5EYXRhJiwgQVBJOjpOYXZpZ2F0aW9uKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciYsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZGlkQ29tbWl0TmF2aWdh
dGlvbihXZWJQYWdlUHJveHkmLCBBUEk6Ok5hdmlnYXRpb24qLCBBUEk6Ok9iamVjdCopIG92ZXJy
aWRlOwpAQCAtMTcyLDYgKzE3Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgd2ViVmlld0Rp
ZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTmF2aWdhdGlvbiA6IDE7CiAgICAg
ICAgIGJvb2wgd2ViVmlld0RpZEZhaWxQcm92aXNpb25hbE5hdmlnYXRpb25XaXRoRXJyb3IgOiAx
OwogICAgICAgICBib29sIHdlYlZpZXdOYXZpZ2F0aW9uRGlkRmFpbFByb3Zpc2lvbmFsTG9hZElu
U3ViZnJhbWVXaXRoRXJyb3IgOiAxOworICAgICAgICBib29sIHdlYlZpZXdEaWRQZXJmb3JtQ2xp
ZW50UmVkaXJlY3RGb3JOYXZpZ2F0aW9uIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3RGlkQ29t
bWl0TmF2aWdhdGlvbiA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld05hdmlnYXRpb25EaWRGaW5p
c2hEb2N1bWVudExvYWQgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdEaWRGaW5pc2hOYXZpZ2F0
aW9uIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmln
YXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5tbQppbmRleCA2ZTc1OTUzNGQyNS4uMTk4ZDIwYTM3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTE1MCw2ICsxNTAs
NyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6c2V0TmF2aWdhdGlvbkRlbGVnYXRlKGlkIDxXS05h
dmlnYXRpb25EZWxlZ2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9uYXZpZ2F0aW9uRGVsZWdhdGVNZXRo
b2RzLndlYlZpZXdEaWRGYWlsTmF2aWdhdGlvbldpdGhFcnJvciA9IFtkZWxlZ2F0ZSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlZpZXc6ZGlkRmFpbE5hdmlnYXRpb246d2l0aEVycm9y
OildOwogCiAgICAgbV9uYXZpZ2F0aW9uRGVsZWdhdGVNZXRob2RzLndlYlZpZXdOYXZpZ2F0aW9u
RGlkRmFpbFByb3Zpc2lvbmFsTG9hZEluU3ViZnJhbWVXaXRoRXJyb3IgPSBbZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpuYXZpZ2F0aW9uOmRpZEZhaWxQcm92
aXNpb25hbExvYWRJblN1YmZyYW1lOndpdGhFcnJvcjopXTsKKyAgICBtX25hdmlnYXRpb25EZWxl
Z2F0ZU1ldGhvZHMud2ViVmlld0RpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvck5hdmlnYXRpb24g
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkaWRQZXJm
b3JtQ2xpZW50UmVkaXJlY3RGb3JOYXZpZ2F0aW9uOildOwogICAgIG1fbmF2aWdhdGlvbkRlbGVn
YXRlTWV0aG9kcy53ZWJWaWV3TmF2aWdhdGlvbkRpZEZpbmlzaERvY3VtZW50TG9hZCA9IFtkZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Om5hdmlnYXRpb25EaWRG
aW5pc2hEb2N1bWVudExvYWQ6KV07CiAgICAgbV9uYXZpZ2F0aW9uRGVsZWdhdGVNZXRob2RzLndl
YlZpZXdOYXZpZ2F0aW9uRGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbiA9IFtkZWxlZ2F0ZSByZXNw
b25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Om5hdmlnYXRpb246ZGlkU2FtZURvY3Vt
ZW50TmF2aWdhdGlvbjopXTsKICAgICBtX25hdmlnYXRpb25EZWxlZ2F0ZU1ldGhvZHMud2ViVmll
d1JlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3IoX3dlYlZpZXc6cmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2U6KV07CkBAIC00
ODgsNiArNDg5LDIzIEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xpZW50Ojpk
aWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbE5hCiAgICAgW25hdmlnYXRpb25E
ZWxlZ2F0ZSB3ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkaWRSZWNlaXZlU2Vy
dmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbE5hdmlnYXRpb246d2tOYXZpZ2F0aW9uXTsKIH0KIAor
dm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRpZFBlcmZvcm1DbGllbnRS
ZWRpcmVjdEZvck5hdmlnYXRpb24oV2ViUGFnZVByb3h5JiBwYWdlLCBBUEk6Ok5hdmlnYXRpb24q
IG5hdmlnYXRpb24pCit7CisgICAgaWYgKCFtX25hdmlnYXRpb25TdGF0ZS5tX25hdmlnYXRpb25E
ZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvck5hdmlnYXRp
b24pCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gbV9u
YXZpZ2F0aW9uU3RhdGUubV9uYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFuYXZp
Z2F0aW9uRGVsZWdhdGUpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIEZJWE1FOiBXZSBzaG91
bGQgYXNzZXJ0IHRoYXQgbmF2aWdhdGlvbiBpcyBub3QgbnVsbCBoZXJlLCBidXQgaXQncyBjdXJy
ZW50bHkgbnVsbCBmb3Igc29tZSBuYXZpZ2F0aW9ucyB0aHJvdWdoIHRoZSBwYWdlIGNhY2hlLgor
ICAgIFdLTmF2aWdhdGlvbiAqd2tOYXZpZ2F0aW9uID0gbmlsOworICAgIGlmIChuYXZpZ2F0aW9u
KQorICAgICAgICB3a05hdmlnYXRpb24gPSB3cmFwcGVyKCpuYXZpZ2F0aW9uKTsKKworICAgIFso
aWQgPFdLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZT4pbmF2aWdhdGlvbkRlbGVnYXRlIF93ZWJW
aWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3RG
b3JOYXZpZ2F0aW9uOndrTmF2aWdhdGlvbl07Cit9CisKIHN0YXRpYyBSZXRhaW5QdHI8TlNFcnJv
cj4gY3JlYXRlRXJyb3JXaXRoUmVjb3ZlcnlBdHRlbXB0ZXIoV0tXZWJWaWV3ICp3ZWJWaWV3LCBX
ZWJGcmFtZVByb3h5JiB3ZWJGcmFtZVByb3h5LCBOU0Vycm9yICpvcmlnaW5hbEVycm9yKQogewog
ICAgIFJlZlB0cjxBUEk6OkZyYW1lSGFuZGxlPiBmcmFtZUhhbmRsZSA9IEFQSTo6RnJhbWVIYW5k
bGU6OmNyZWF0ZSh3ZWJGcmFtZVByb3h5LmZyYW1lSUQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1MjRjMTUyZjQ2Mi4uYmJkMzk4YjQ0MGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzE4OSw2ICszMTg5LDI0
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNp
b25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmCiAgICAgICAgIG1fbG9hZGVyQ2xpZW50LT5kaWRS
ZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSgqdGhpcywgKmZy
YW1lLCBuYXZpZ2F0aW9uLmdldCgpLCBtX3Byb2Nlc3MtPnRyYW5zZm9ybUhhbmRsZXNUb09iamVj
dHModXNlckRhdGEub2JqZWN0KCkpLmdldCgpKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmRp
ZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvckxvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCB1
aW50NjRfdCBuYXZpZ2F0aW9uSUQpCit7CisgICAgUGFnZUNsaWVudFByb3RlY3RvciBwcm90ZWN0
b3IobV9wYWdlQ2xpZW50KTsKKworICAgIFdlYkZyYW1lUHJveHkqIGZyYW1lID0gbV9wcm9jZXNz
LT53ZWJGcmFtZShmcmFtZUlEKTsKKyAgICBNRVNTQUdFX0NIRUNLKGZyYW1lKTsKKworICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgbWVzc2FnZSBjaGVjayB0aGF0IG5hdmlnYXRpb25JRCBpcyBub3Qg
emVybyBoZXJlLCBidXQgaXQncyBjdXJyZW50bHkgemVybyBmb3Igc29tZSBuYXZpZ2F0aW9ucyB0
aHJvdWdoIHRoZSBwYWdlIGNhY2hlLgorICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IG5hdmln
YXRpb247CisgICAgaWYgKGZyYW1lLT5pc01haW5GcmFtZSgpICYmIG5hdmlnYXRpb25JRCkKKyAg
ICAgICAgbmF2aWdhdGlvbiA9ICZuYXZpZ2F0aW9uU3RhdGUoKS5uYXZpZ2F0aW9uKG5hdmlnYXRp
b25JRCk7CisKKyAgICBpZiAobV9uYXZpZ2F0aW9uQ2xpZW50KSB7CisgICAgICAgIGlmIChmcmFt
ZS0+aXNNYWluRnJhbWUoKSkKKyAgICAgICAgICAgIG1fbmF2aWdhdGlvbkNsaWVudC0+ZGlkUGVy
Zm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbigqdGhpcywgbmF2aWdhdGlvbi5nZXQoKSk7
CisgICAgfQorfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlUHJvdmlzaW9uYWxVUkxG
b3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCwgY29uc3QgU3RyaW5nJiB1cmwpCiB7
CiAgICAgUGFnZUNsaWVudFByb3RlY3RvciBwcm90ZWN0b3IobV9wYWdlQ2xpZW50KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMmRmMmU0ZDBjNTcuLjgxMjIwMjNk
MTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTI0OSw2ICsx
MjQ5LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxlVVJMLCBjb25zdCBVc2VyRGF0YSYpOwog
ICAgIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJh
bWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbmF2aWdhdGlvbklELCBjb25zdCBTdHJpbmcm
LCBjb25zdCBVc2VyRGF0YSYpOworICAgIHZvaWQgZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9y
TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCk7CiAg
ICAgdm9pZCBkaWRDaGFuZ2VQcm92aXNpb25hbFVSTEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQs
IHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZGlk
RmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgZnJhbWVTZWN1cml0eU9yaWdpbiwgdWludDY0X3QgbmF2
aWdhdGlvbklELCBjb25zdCBTdHJpbmcmIHByb3Zpc2lvbmFsVVJMLCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yJiwgY29uc3QgVXNlckRhdGEmKTsKICAgICB2b2lkIGRpZENvbW1pdExvYWRG
b3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFN0
cmluZyYgbWltZVR5cGUsIGJvb2wgZnJhbWVIYXNDdXN0b21Db250ZW50UHJvdmlkZXIsIHVpbnQz
Ml90IGZyYW1lTG9hZFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGJvb2wg
Y29udGFpbnNQbHVnaW5Eb2N1bWVudCwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIYXNJbnNlY3Vy
ZUNvbnRlbnQ+IGZvcmNlZEhhc0luc2VjdXJlQ29udGVudCwgY29uc3QgVXNlckRhdGEmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCBiYjBlNDQ0OTJiOS4uZGExMmYwZWZkM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTExOCw2ICsxMTgsNyBAQCBtZXNzYWdl
cyAtPiBXZWJQYWdlUHJveHkgewogICAgICMgRnJhbWUgbG9hZCBtZXNzYWdlcwogICAgIERpZFN0
YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbmF2
aWdhdGlvbklELCBTdHJpbmcgdXJsLCBTdHJpbmcgdW5yZWFjaGFibGVVUkwsIFdlYktpdDo6VXNl
ckRhdGEgdXNlckRhdGEpCiAgICAgRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbmF2aWdhdGlvbklELCBT
dHJpbmcgdXJsLCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQorICAgIERpZFBlcmZvcm1DbGll
bnRSZWRpcmVjdEZvckxvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBuYXZp
Z2F0aW9uSUQpCiAgICAgRGlkQ2hhbmdlUHJvdmlzaW9uYWxVUkxGb3JGcmFtZSh1aW50NjRfdCBm
cmFtZUlELCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIFN0cmluZyB1cmwpCiAgICAgRGlkRmFpbFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGEgZnJhbWVTZWN1cml0eU9yaWdpbiwgdWludDY0X3QgbmF2aWdhdGlv
bklELCBTdHJpbmcgcHJvdmlzaW9uYWxVUkwsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3Is
IFdlYktpdDo6VXNlckRhdGEgdXNlckRhdGEpCiAgICAgRGlkQ29tbWl0TG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgU3RyaW5nIG1pbWVUeXBlLCBi
b29sIGhhc0N1c3RvbUNvbnRlbnRQcm92aWRlciwgdWludDMyX3QgbG9hZFR5cGUsIFdlYkNvcmU6
OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgY29udGFpbnNQbHVnaW5Eb2N1
bWVudCwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIYXNJbnNlY3VyZUNvbnRlbnQ+IGZvcmNlZEhh
c0luc2VjdXJlQ29udGVudCwgV2ViS2l0OjpVc2VyRGF0YSB1c2VyRGF0YSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDJjZmNmY2UwYzU0Li41YzI0ZDAyNDZlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0yOTAsNiArMjkwLDE4IEBAIHZvaWQgV2Vi
RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJv
dmlzaW9uYWxMb2FkKCkKICAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKG1fZnJh
bWUtPmZyYW1lSUQoKSwgZG9jdW1lbnRMb2FkZXIubmF2aWdhdGlvbklEKCksIHVybCwgVXNlckRh
dGEoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2Vy
RGF0YS5nZXQoKSkuZ2V0KCkpKSk7CiB9CiAKK3ZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoRGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0KCkKK3sKKyAgICBXZWJQYWdlKiB3ZWJQYWdl
ID0gbV9mcmFtZS0+cGFnZSgpOworICAgIGlmICghd2ViUGFnZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgYXV0byBuYXZpZ2F0aW9uSUQgPSBzdGF0aWNfY2FzdDxXZWJEb2N1bWVudExvYWRlciY+
KCptX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSkubmF2aWdh
dGlvbklEKCk7CisKKyAgICAvLyBOb3RpZnkgdGhlIFVJUHJvY2Vzcy4KKyAgICB3ZWJQYWdlLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvckxv
YWRGb3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIG5hdmlnYXRpb25JRCkpOworfQorCiB2b2lk
IFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENoYW5nZVByb3Zpc2lvbmFsVVJMKCkK
IHsKICAgICBXZWJQYWdlKiB3ZWJQYWdlID0gbV9mcmFtZS0+cGFnZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuaAppbmRleCA2NTViMGJkNWE3Yi4uMjVhOGU2YThmMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5oCkBAIC04OCw2ICs4OCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IGRpc3BhdGNoRGlkRGlzcGF0Y2hPbmxvYWRFdmVudHMoKSBmaW5hbDsKICAgICB2b2lkIGRpc3Bh
dGNoRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKCkgZmluYWw7Cisg
ICAgdm9pZCBkaXNwYXRjaERpZFBlcmZvcm1DbGllbnRSZWRpcmVjdCgpIGZpbmFsOwogICAgIHZv
aWQgZGlzcGF0Y2hEaWRDaGFuZ2VQcm92aXNpb25hbFVSTCgpIGZpbmFsOwogICAgIHZvaWQgZGlz
cGF0Y2hEaWRDYW5jZWxDbGllbnRSZWRpcmVjdCgpIGZpbmFsOwogICAgIHZvaWQgZGlzcGF0Y2hX
aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0KGNvbnN0IFdlYkNvcmU6OlVSTCYsIGRvdWJsZSBpbnRl
cnZhbCwgZG91YmxlIGZpcmVEYXRlKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNDdmNWZmNjRiNi4uMjA3ODQ0MjcxZjYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxNy0wNy0yMCAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBTUEkgdG8gbm90aWZ5IFdLTmF2aWdhdGlvbkRlbGVnYXRlIGFib3V0
IGNsaWVudCByZWRpcmVjdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NDY4MAorICAgICAgICByZGFyOi8vcHJvYmxlbS8zMzE4NDg4NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyQ29jb2EvTmF2aWdhdGlvbi5tbToKKyAgICAgICAgKC1bRGlkUGVyZm9y
bUNsaWVudFJlZGlyZWN0TmF2aWdhdGlvbkRlbGVnYXRlIF93ZWJWaWV3OmRpZFBlcmZvcm1DbGll
bnRSZWRpcmVjdEZvck5hdmlnYXRpb246XSk6CisgICAgICAgIChURVNUKToKKyAgICAgICAgQWRk
IEFQSSB0ZXN0IGZvciAtW2lkPFdLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZT4gX3dlYlZpZXc6
ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yTmF2aWdhdGlvbjpdLgorCiAyMDE3LTA3LTIwICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXN0IFdlYktpdDJD
dXN0b21Qcm90b2NvbHNUZXN0LlByb2Nlc3NQb29sRGVzdHJveWVkRHVyaW5nTG9hZGluZyBhZGRl
ZCBpbiByMjE5NjY0IGZhaWxzIG9uIEVsIENhcGl0YW4uCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9OYXZpZ2F0aW9uLm1tIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTmF2aWdhdGlvbi5tbQppbmRleCBkNWM4ZmQ3NTFm
NS4uOTFkZTYxZGZhNWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0MkNvY29hL05hdmlnYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyQ29jb2EvTmF2aWdhdGlvbi5tbQpAQCAtMjUsOCArMjUsOCBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKKyNpbXBvcnQgPFdlYktpdC9XS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGUu
aD4KICNpbXBvcnQgPFdlYktpdC9XS05hdmlnYXRpb25Qcml2YXRlLmg+Ci0jaW1wb3J0IDxXZWJL
aXQvV0tOYXZpZ2F0aW9uRGVsZWdhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXcuaD4K
ICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgi
CkBAIC0zNiw2ICszNiw3IEBACiAKIHN0YXRpYyBib29sIGlzRG9uZTsKIHN0YXRpYyBSZXRhaW5Q
dHI8V0tOYXZpZ2F0aW9uPiBjdXJyZW50TmF2aWdhdGlvbjsKK3N0YXRpYyBSZXRhaW5QdHI8TlNV
Ukw+IHJlZGlyZWN0VVJMOwogCiBAaW50ZXJmYWNlIE5hdmlnYXRpb25EZWxlZ2F0ZSA6IE5TT2Jq
ZWN0IDxXS05hdmlnYXRpb25EZWxlZ2F0ZT4KIEBlbmQKQEAgLTE4Nyw0ICsxODgsNDAgQEAgVEVT
VChXS05hdmlnYXRpb24sIERlY2lkZVBvbGljeUZvclBhZ2VDYWNoZU5hdmlnYXRpb24pCiAgICAg
QVNTRVJUX1RSVUUoW2RlbGVnYXRlIGRlY2lkZWRQb2xpY3lGb3JCYWNrRm9yd2FyZE5hdmlnYXRp
b25dKTsKIH0KIAorQGludGVyZmFjZSBEaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3ROYXZpZ2F0aW9u
RGVsZWdhdGUgOiBOU09iamVjdDxXS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGU+CitAZW5kCisK
K0BpbXBsZW1lbnRhdGlvbiBEaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3ROYXZpZ2F0aW9uRGVsZWdh
dGUKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkUGVyZm9ybUNsaWVu
dFJlZGlyZWN0Rm9yTmF2aWdhdGlvbjooV0tOYXZpZ2F0aW9uICopbmF2aWdhdGlvbgoreworICAg
IGlzRG9uZSA9IHRydWU7CisgICAgcmVkaXJlY3RVUkwgPSB3ZWJWaWV3LlVSTDsKK30KK0BlbmQK
KworVEVTVChXS05hdmlnYXRpb24sIERpZFBlcmZvcm1DbGllbnRSZWRpcmVjdCkKK3sKKyAgICBS
ZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworCisgICAgUmV0YWlu
UHRyPERpZFBlcmZvcm1DbGllbnRSZWRpcmVjdE5hdmlnYXRpb25EZWxlZ2F0ZT4gZGVsZWdhdGUg
PSBhZG9wdE5TKFtbRGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0TmF2aWdhdGlvbkRlbGVnYXRlIGFs
bG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRl
LmdldCgpXTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVx
dWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJkYXRhOnRleHQvaHRtbCwlM0NtZXRh
JTIwaHR0cC1lcXVpdj0lMjJyZWZyZXNoJTIyJTIwY29udGVudD0lMjIwO1VSTD1kYXRhOnRleHQv
aHRtbCxQYWdlMSUyMiUzRSJdXTsKKworICAgIGlzRG9uZSA9IGZhbHNlOworICAgIHJlZGlyZWN0
VVJMID0gbmlsOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lKTsKKworICAgIEFTU0VSVF9TVFJFUShyZWRpcmVj
dFVSTC5nZXQoKS5hYnNvbHV0ZVN0cmluZy5VVEY4U3RyaW5nLCAiZGF0YTp0ZXh0L2h0bWwsUGFn
ZTEiKTsKKworICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VS
TCBVUkxXaXRoU3RyaW5nOkAiZGF0YTp0ZXh0L2h0bWwsJTNDc2NyaXB0JTNFd2luZG93LmxvY2F0
aW9uPSUyMmRhdGE6dGV4dC9odG1sLFBhZ2UyJTIyOyUzQy9zY3JpcHQlM0UiXV07CisgICAgaXNE
b25lID0gZmFsc2U7CisgICAgcmVkaXJlY3RVUkwgPSBuaWw7CisgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6cmVxdWVzdF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZpc0RvbmUpOwor
CisgICAgQVNTRVJUX1NUUkVRKHJlZGlyZWN0VVJMLmdldCgpLmFic29sdXRlU3RyaW5nLlVURjhT
dHJpbmcsICJkYXRhOnRleHQvaHRtbCxQYWdlMiIpOworfQorCiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>