<?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>218678</bug_id>
          
          <creation_ts>2020-11-06 20:53:51 -0800</creation_ts>
          <short_desc>Web Inspector: drop `shown`/`hidden` in favor of `attached`/`detached`</short_desc>
          <delta_ts>2020-11-20 14:37:08 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=218836</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1705508</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-11-06 20:53:51 -0800</bug_when>
    <thetext>- `attached`/`detached` is tied into `WI.View`, meaning that `attached` is called right after the node is added to the main DOM tree and `detached` is called right before the node is removed from the main DOM tree (we should be removing nodes that aren&apos;t visible from the DOM anyways)
 - `shown`/`hidden` are usually called right after `addSubview`/`removeSubview`, which should have already called `attached`/`detached`
 - `attached`/`detached` is already propagated to the entire view subtree, whereas `shown`/`hidden` must be propagated manually</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705509</commentid>
    <comment_count>1</comment_count>
      <attachid>413514</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-11-06 21:05:42 -0800</bug_when>
    <thetext>Created attachment 413514
[Patch] WIP

I think this all works, but I&apos;m going to live on it for a bit before writing a ChangeLog and such</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706704</commentid>
    <comment_count>2</comment_count>
      <attachid>413891</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-11-11 17:43:33 -0800</bug_when>
    <thetext>Created attachment 413891
[Patch] WIP

Fixed an issue I just discovered where switching to the Console Tab when the split console is showing caused the split console to always appear blank.  This happens because the `WI.ConsoleDrawer` is never removed from the DOM even when hidden, meaning that `detached` is never called on it&apos;s `WI.ContentViewContainer` which is what&apos;s responsible for hiding all of the entries in the back/forward list and therefore when the `WI.consoleContentView` is re-shown (via `showContentView`) it matches the current item in the back/forward list and is not re-added.  Changed `WI.ConsoleDrawer.prototype.set collapsed` to manually call `attached`/`detached`.

Alongside this, I also added a fix/drive-by for re-showing the split console when switching away from the Console Tab if the split console was previously shown.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706727</commentid>
    <comment_count>3</comment_count>
      <attachid>413898</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-11-11 18:48:44 -0800</bug_when>
    <thetext>Created attachment 413898
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706728</commentid>
    <comment_count>4</comment_count>
      <attachid>413899</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-11-11 18:52:22 -0800</bug_when>
    <thetext>Created attachment 413899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707329</commentid>
    <comment_count>5</comment_count>
      <attachid>413899</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-11-13 11:34:34 -0800</bug_when>
    <thetext>Comment on attachment 413899
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/View.js:129
&gt; +        view._didMoveToParent(null);

I feel it&apos;s more accurate that this would be _willMoveToParent() since it happens prior to element.remove()... but it probably doesn&apos;t matter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707359</commentid>
    <comment_count>6</comment_count>
      <attachid>413899</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-11-13 12:40:59 -0800</bug_when>
    <thetext>Comment on attachment 413899
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/View.js:129
&gt;&gt; +        view._didMoveToParent(null);
&gt; 
&gt; I feel it&apos;s more accurate that this would be _willMoveToParent() since it happens prior to element.remove()... but it probably doesn&apos;t matter.

IMO it either should have a `will*`/`did*` pair or not have any tense at all (e.g. `moveToParent`).  But yeah it&apos;s just naming :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707470</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-13 20:54:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/71395601&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709652</commentid>
    <comment_count>8</comment_count>
      <attachid>413899</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-11-20 14:19:42 -0800</bug_when>
    <thetext>Comment on attachment 413899
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709658</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-20 14:37:07 -0800</bug_when>
    <thetext>Committed r270134: &lt;https://trac.webkit.org/changeset/270134&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413899.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413514</attachid>
            <date>2020-11-06 21:05:42 -0800</date>
            <delta_ts>2020-11-11 17:43:33 -0800</delta_ts>
            <desc>[Patch] WIP</desc>
            <filename>218678.diff</filename>
            <type>text/plain</type>
            <size>99577</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5q
cwppbmRleCA3NzJiNmZlZDNlMzEuLmNlNDI0MmM2ODgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSmF2YVNjcmlwdExvZ1ZpZXdD
b250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qcwpAQCAtMjc5LDcgKzI3OSw3
IEBAIFdJLkphdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlciA9IGNsYXNzIEphdmFTY3JpcHRMb2dW
aWV3Q29udHJvbGxlciBleHRlbmRzIFdJLk9iCiAgICAgICAgIGlmIChtZXNzYWdlVmlldy5tZXNz
YWdlICYmIG1lc3NhZ2VWaWV3Lm1lc3NhZ2Uuc291cmNlICE9PSBXSS5Db25zb2xlTWVzc2FnZS5N
ZXNzYWdlU291cmNlLkpTKQogICAgICAgICAgICAgdGhpcy5fbGFzdENvbW1pdHRlZCA9ICIiOwog
Ci0gICAgICAgIGlmIChXSS5jb25zb2xlQ29udGVudFZpZXcudmlzaWJsZSkKKyAgICAgICAgaWYg
KFdJLmNvbnNvbGVDb250ZW50Vmlldy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgdGhpcy5yZW5k
ZXJQZW5kaW5nTWVzc2FnZXNTb29uKCk7CiAKICAgICAgICAgaWYgKCFXSS5pc1Nob3dpbmdDb25z
b2xlVGFiKCkgJiYgbWVzc2FnZVZpZXcubWVzc2FnZSAmJiBtZXNzYWdlVmlldy5tZXNzYWdlLnNo
b3VsZFJldmVhbENvbnNvbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9EZWJ1Zy9EZWJ1Z0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvRGVidWcvRGVidWdDb250ZW50Vmlldy5qcwppbmRleCBkMmI4YjA2
NTRiN2MuLjg1ZGJkMzBmN2I3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvRGVidWcvRGVidWdDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9EZWJ1Zy9EZWJ1Z0NvbnRlbnRWaWV3LmpzCkBAIC0zNywx
NiArMzcsMTYgQEAgV0kuRGVidWdDb250ZW50VmlldyA9IGNsYXNzIERlYnVnQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgLy8gUHJvdGVjdGVkCiAKLSAgICBzaG93bigp
CisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLSAgICAgICAg
Y29uc29sZS5kZWJ1Zyhgc2hvd246ICR7dGhpcy5fc3RyaW5nfWApOworICAgICAgICBzdXBlci5h
dHRhY2hlZCgpOworICAgICAgICBjb25zb2xlLmRlYnVnKGBhdHRhY2hlZDogJHt0aGlzLl9zdHJp
bmd9YCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewotICAg
ICAgICBjb25zb2xlLmRlYnVnKGBoaWRkZW46ICR7dGhpcy5fc3RyaW5nfWApOwotICAgICAgICBz
dXBlci5oaWRkZW4oKTsKKyAgICAgICAgY29uc29sZS5kZWJ1ZyhgZGV0YWNoZWQ6ICR7dGhpcy5f
c3RyaW5nfWApOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIGNsb3Nl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvQmFja0ZvcndhcmRFbnRyeS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9CYWNrRm9yd2FyZEVudHJ5LmpzCmluZGV4IGRhYzE5NWE3MjkxYy4uNzVjMWI2
NGE3Zjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvQmFja0ZvcndhcmRFbnRyeS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvQmFja0ZvcndhcmRFbnRyeS5qcwpAQCAtNzMsMjUgKzczLDE5IEBA
IFdJLkJhY2tGb3J3YXJkRW50cnkgPSBjbGFzcyBCYWNrRm9yd2FyZEVudHJ5CiAgICAgICAgIHRo
aXMuX3RvbWJzdG9uZSA9IHRvbWJzdG9uZTsKICAgICB9CiAKLSAgICBwcmVwYXJlVG9TaG93KHNo
b3VsZENhbGxTaG93bikKKyAgICBwcmVwYXJlVG9TaG93KCkKICAgICB7CiAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KCF0aGlzLl90b21ic3RvbmUsICJTaG91bGQgbm90IGJlIGNhbGxpbmcgc2hvd24g
b24gYSB0b21ic3RvbmUiKTsKIAotICAgICAgICB0aGlzLl9yZXN0b3JlRnJvbUNvb2tpZSgpOwot
Ci0gICAgICAgIHRoaXMuY29udGVudFZpZXcudmlzaWJsZSA9IHRydWU7Ci0gICAgICAgIGlmIChz
aG91bGRDYWxsU2hvd24pCi0gICAgICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LnNob3duKCk7CiAg
ICAgICAgIHRoaXMuY29udGVudFZpZXcubmVlZHNMYXlvdXQoKTsKKworICAgICAgICB0aGlzLl9y
ZXN0b3JlRnJvbUNvb2tpZSgpOwogICAgIH0KIAogICAgIHByZXBhcmVUb0hpZGUoKQogICAgIHsK
ICAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMuX3RvbWJzdG9uZSwgIlNob3VsZCBub3QgYmUg
Y2FsbGluZyBoaWRkZW4gb24gYSB0b21ic3RvbmUiKTsKIAotICAgICAgICB0aGlzLmNvbnRlbnRW
aWV3LnZpc2libGUgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5jb250ZW50Vmlldy5oaWRkZW4oKTsK
LQogICAgICAgICB0aGlzLl9zYXZlU2Nyb2xsUG9zaXRpb25zKCk7CiAKICAgICAgICAgaWYgKHRo
aXMuX2NvbnRlbnRWaWV3LnNob3VsZFNhdmVTdGF0ZVdoZW5IaWRkZW4pIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FuaW1hdGlvbkRldGFp
bHNTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9BbmltYXRpb25EZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IDVmNDI0ZjlhZTA3Ny4u
OGMzZmQ5NGJmMDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9BbmltYXRpb25EZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FuaW1hdGlvbkRldGFpbHNTaWRlYmFy
UGFuZWwuanMKQEAgLTE0Miw5ICsxNDIsOSBAQCBXSS5BbmltYXRpb25EZXRhaWxzU2lkZWJhclBh
bmVsID0gY2xhc3MgQW5pbWF0aW9uRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbmRzIFdJLgogICAg
ICAgICAgICAgY29kZU1pcnJvci5yZWZyZXNoKCk7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAg
IGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVy
LmF0dGFjaGVkKCk7CiAKICAgICAgICAgZm9yIChsZXQgY29kZU1pcnJvciBvZiB0aGlzLl9jb2Rl
TWlycm9yU2VjdGlvbk1hcC52YWx1ZXMoKSkKICAgICAgICAgICAgIGNvZGVNaXJyb3IucmVmcmVz
aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50Vmll
dy5qcwppbmRleCBjNzUwOTVmOTZjNDAuLjgyZDc3YzJlZDY3ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXBwbGljYXRpb25DYWNoZUZyYW1l
Q29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcuanMKQEAgLTM4LDI3ICszOCwy
OCBAQCBXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50VmlldyA9IGNsYXNzIEFwcGxpY2F0
aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3IGV4dAogICAgICAgICB0aGlzLl9lbXB0eVZpZXcgPSBX
SS5jcmVhdGVNZXNzYWdlVGV4dFZpZXcoV0kuVUlTdHJpbmcoIk5vIEFwcGxpY2F0aW9uIENhY2hl
IGluZm9ybWF0aW9uIGF2YWlsYWJsZSIpLCBmYWxzZSk7CiAgICAgICAgIHRoaXMuX2VtcHR5Vmll
dy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENo
aWxkKHRoaXMuX2VtcHR5Vmlldyk7Ci0KLSAgICAgICAgdGhpcy5fbWFya0RpcnR5KCk7Ci0KLSAg
ICAgICAgdmFyIHN0YXR1cyA9IHJlcHJlc2VudGVkT2JqZWN0LnN0YXR1czsKLSAgICAgICAgdGhp
cy51cGRhdGVTdGF0dXMoc3RhdHVzKTsKLQotICAgICAgICBXSS5hcHBsaWNhdGlvbkNhY2hlTWFu
YWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLkV2ZW50LkZy
YW1lTWFuaWZlc3RTdGF0dXNDaGFuZ2VkLCB0aGlzLl91cGRhdGVTdGF0dXMsIHRoaXMpOwogICAg
IH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5z
aG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCi0gICAgICAgIHRoaXMuX21heWJl
VXBkYXRlKCk7CisgICAgICAgIFdJLmFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuRXZlbnQuRnJhbWVNYW5pZmVzdFN0YXR1
c0NoYW5nZWQsIHRoaXMuX2hhbmRsZUZyYW1lTWFuaWZlc3RTdGF0dXNDaGFuZ2VkLCB0aGlzKTsK
KyAgICAgICAgdGhpcy51cGRhdGVTdGF0dXModGhpcy5yZXByZXNlbnRlZE9iamVjdC5zdGF0dXMp
OwogICAgIH0KIAotICAgIGNsb3NlZCgpCisgICAgZGV0YWNoZWQoKQogICAgIHsKLSAgICAgICAg
V0kuYXBwbGljYXRpb25DYWNoZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5BcHBsaWNh
dGlvbkNhY2hlTWFuYWdlci5FdmVudC5GcmFtZU1hbmlmZXN0U3RhdHVzQ2hhbmdlZCwgdGhpcy5f
dXBkYXRlU3RhdHVzLCB0aGlzKTsKKyAgICAgICAgV0kuYXBwbGljYXRpb25DYWNoZU1hbmFnZXIu
cmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5BcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5FdmVudC5GcmFt
ZU1hbmlmZXN0U3RhdHVzQ2hhbmdlZCwgdGhpcy5faGFuZGxlRnJhbWVNYW5pZmVzdFN0YXR1c0No
YW5nZWQsIHRoaXMpOwogCi0gICAgICAgIHN1cGVyLmNsb3NlZCgpOworICAgICAgICBzdXBlci5k
ZXRhY2hlZCgpOworICAgIH0KKworICAgIGxheW91dCgpCisgICAgeworICAgICAgICBzdXBlci5s
YXlvdXQoKTsKKworICAgICAgICB0aGlzLnVwZGF0ZVN0YXR1cygpOwogICAgIH0KIAogICAgIHNh
dmVUb0Nvb2tpZShjb29raWUpCkBAIC03NSwyMSArNzYsNyBAQCBXSS5BcHBsaWNhdGlvbkNhY2hl
RnJhbWVDb250ZW50VmlldyA9IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3
IGV4dAogICAgICAgICByZXR1cm4gW3RoaXMuX2RhdGFHcmlkLnNjcm9sbENvbnRhaW5lcl07CiAg
ICAgfQogCi0gICAgX21heWJlVXBkYXRlKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNp
YmxlIHx8ICF0aGlzLl92aWV3RGlydHkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAg
dGhpcy5fdXBkYXRlKCk7Ci0gICAgICAgIHRoaXMuX3ZpZXdEaXJ0eSA9IGZhbHNlOwotICAgIH0K
LQotICAgIF9tYXJrRGlydHkoKQotICAgIHsKLSAgICAgICAgdGhpcy5fdmlld0RpcnR5ID0gdHJ1
ZTsKLSAgICB9Ci0KLSAgICBfdXBkYXRlU3RhdHVzKGV2ZW50KQorICAgIF9oYW5kbGVGcmFtZU1h
bmlmZXN0U3RhdHVzQ2hhbmdlZChldmVudCkKICAgICB7CiAgICAgICAgIHZhciBmcmFtZU1hbmlm
ZXN0ID0gZXZlbnQuZGF0YS5mcmFtZU1hbmlmZXN0OwogICAgICAgICBpZiAoZnJhbWVNYW5pZmVz
dCAhPT0gdGhpcy5yZXByZXNlbnRlZE9iamVjdCkKQEAgLTEwNSwxNSArOTIsOCBAQCBXSS5BcHBs
aWNhdGlvbkNhY2hlRnJhbWVDb250ZW50VmlldyA9IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVGcmFt
ZUNvbnRlbnRWaWV3IGV4dAogICAgICAgICB2YXIgb2xkU3RhdHVzID0gdGhpcy5fc3RhdHVzOwog
ICAgICAgICB0aGlzLl9zdGF0dXMgPSBzdGF0dXM7CiAKLSAgICAgICAgaWYgKHRoaXMudmlzaWJs
ZSAmJiB0aGlzLl9zdGF0dXMgPT09IFdJLkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLlN0YXR1cy5J
ZGxlICYmIChvbGRTdGF0dXMgPT09IFdJLkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLlN0YXR1cy5V
cGRhdGVSZWFkeSB8fCAhdGhpcy5fcmVzb3VyY2VzKSkKLSAgICAgICAgICAgIHRoaXMuX21hcmtE
aXJ0eSgpOwotCi0gICAgICAgIHRoaXMuX21heWJlVXBkYXRlKCk7Ci0gICAgfQotCi0gICAgX3Vw
ZGF0ZSgpCi0gICAgewotICAgICAgICBXSS5hcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5yZXF1ZXN0
QXBwbGljYXRpb25DYWNoZSh0aGlzLl9mcmFtZSwgdGhpcy5fdXBkYXRlQ2FsbGJhY2suYmluZCh0
aGlzKSk7CisgICAgICAgIGlmICh0aGlzLl9zdGF0dXMgPT09IFdJLkFwcGxpY2F0aW9uQ2FjaGVN
YW5hZ2VyLlN0YXR1cy5JZGxlICYmIChvbGRTdGF0dXMgPT09IFdJLkFwcGxpY2F0aW9uQ2FjaGVN
YW5hZ2VyLlN0YXR1cy5VcGRhdGVSZWFkeSB8fCAhdGhpcy5fcmVzb3VyY2VzKSkKKyAgICAgICAg
ICAgIFdJLmFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLnJlcXVlc3RBcHBsaWNhdGlvbkNhY2hlKHRo
aXMuX2ZyYW1lLCB0aGlzLl91cGRhdGVDYWxsYmFjay5iaW5kKHRoaXMpKTsKICAgICB9CiAKICAg
ICBfdXBkYXRlQ2FsbGJhY2soYXBwbGljYXRpb25DYWNoZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGFiQ29udGVudFZpZXcuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRhYkNvbnRl
bnRWaWV3LmpzCmluZGV4IDFlZDViNjA3YzY5Yi4uOGY4OTM4ZTQ0YzQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRhYkNvbnRlbnRW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1
ZGl0VGFiQ29udGVudFZpZXcuanMKQEAgLTczLDE4ICs3MywxOCBAQCBXSS5BdWRpdFRhYkNvbnRl
bnRWaWV3ID0gY2xhc3MgQXVkaXRUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93
c2VyVGFiQwogICAgICAgICAgICAgfHwgcmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXSS5B
dWRpdFRlc3RHcm91cFJlc3VsdDsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQo
KQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQo
KTsKIAogICAgICAgICB0aGlzLl9zdGFydFN0b3BTaG9ydGN1dC5kaXNhYmxlZCA9IGZhbHNlOwog
ICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAgIHsKICAgICAgICAgdGhp
cy5fc3RhcnRTdG9wU2hvcnRjdXQuZGlzYWJsZWQgPSB0cnVlOwogCi0gICAgICAgIHN1cGVyLmhp
ZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIC8vIERyb3Ba
b25lVmlldyBkZWxlZ2F0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQXVkaXRUZXN0Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRlc3RDb250ZW50Vmlldy5qcwppbmRleCAz
NzQwM2RkNjc1Y2QuLjFlYjZiYjY2NmM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUZXN0Q29udGVudFZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUZXN0Q29udGVudFZp
ZXcuanMKQEAgLTI1OCw5ICsyNTgsOSBAQCBXSS5BdWRpdFRlc3RDb250ZW50VmlldyA9IGNsYXNz
IEF1ZGl0VGVzdENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgdGhp
cy5fdXBkYXRlRXhwb3J0TmF2aWdhdGlvbkl0ZW1zKCk7CiAgICAgfQogCi0gICAgc2hvd24oKQor
ICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1
cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgaWYgKHRoaXMucmVwcmVzZW50ZWRPYmplY3QgaW5z
dGFuY2VvZiBXSS5BdWRpdFRlc3RCYXNlKSB7CiAgICAgICAgICAgICB0aGlzLnJlcHJlc2VudGVk
T2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoV0kuQXVkaXRUZXN0QmFzZS5FdmVudC5Db21wbGV0ZWQs
IHRoaXMuX2hhbmRsZVRlc3RDaGFuZ2VkLCB0aGlzKTsKQEAgLTI3NSw3ICsyNzUsNyBAQCBXSS5B
dWRpdFRlc3RDb250ZW50VmlldyA9IGNsYXNzIEF1ZGl0VGVzdENvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuQ29udGVudFZpZXcKICAgICAgICAgfQogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0
YWNoZWQoKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMucmVwcmVzZW50ZWRPYmplY3QgaW5zdGFu
Y2VvZiBXSS5BdWRpdFRlc3RCYXNlKSB7CiAgICAgICAgICAgICB0aGlzLnJlcHJlc2VudGVkT2Jq
ZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuQXVkaXRUZXN0QmFzZS5FdmVudC5Db21wbGV0ZWQs
IHRoaXMuX2hhbmRsZVRlc3RDaGFuZ2VkLCB0aGlzKTsKQEAgLTI4OSw3ICsyODksNyBAQCBXSS5B
dWRpdFRlc3RDb250ZW50VmlldyA9IGNsYXNzIEF1ZGl0VGVzdENvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuQ29udGVudFZpZXcKICAgICAgICAgICAgIFdJLmF1ZGl0TWFuYWdlci5yZW1vdmVFdmVudExp
c3RlbmVyKFdJLkF1ZGl0TWFuYWdlci5FdmVudC5FZGl0aW5nQ2hhbmdlZCwgdGhpcy5faGFuZGxl
RWRpdGluZ0NoYW5nZWQsIHRoaXMpOwogICAgICAgICB9CiAKLSAgICAgICAgc3VwZXIuaGlkZGVu
KCk7CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgaGFuZGxlUmVzdWx0
Q2hhbmdlZChldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0F1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3Lmpz
CmluZGV4IDZmMWU2NjdkZDQyMC4uZTEzOWQ1MDdkZWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0
VGVzdEdyb3VwQ29udGVudFZpZXcuanMKQEAgLTE5NCw5ICsxOTQsOSBAQCBXSS5BdWRpdFRlc3RH
cm91cENvbnRlbnRWaWV3ID0gY2xhc3MgQXVkaXRUZXN0R3JvdXBDb250ZW50VmlldyBleHRlbmRz
IFdJLkF1ZGl0VAogICAgICAgICAgICAgdGhpcy5zaG93RmlsdGVyZWRQbGFjZWhvbGRlcigpOwog
ICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBl
ci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGlmICh0aGlz
LnJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0kuQXVkaXRUZXN0R3JvdXApIHsKICAgICAg
ICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcihXSS5BdWRpdFRl
c3RCYXNlLkV2ZW50LlByb2dyZXNzLCB0aGlzLl9oYW5kbGVUZXN0R3JvdXBQcm9ncmVzcywgdGhp
cyk7CkBAIC0yMTMsNyArMjEzLDcgQEAgV0kuQXVkaXRUZXN0R3JvdXBDb250ZW50VmlldyA9IGNs
YXNzIEF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5BdWRpdFQKICAgICAgICAg
ICAgIHRoaXMuX2FkZFRlc3Qoc3Vib2JqZWN0KTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQorICAg
IGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLnJlcHJlc2VudGVkT2JqZWN0IGlu
c3RhbmNlb2YgV0kuQXVkaXRUZXN0R3JvdXApIHsKICAgICAgICAgICAgIHRoaXMucmVwcmVzZW50
ZWRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5BdWRpdFRlc3RCYXNlLkV2ZW50LlByb2dy
ZXNzLCB0aGlzLl9oYW5kbGVUZXN0R3JvdXBQcm9ncmVzcywgdGhpcyk7CkBAIC0yMjUsMTIgKzIy
NSwxMCBAQCBXSS5BdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3ID0gY2xhc3MgQXVkaXRUZXN0R3Jv
dXBDb250ZW50VmlldyBleHRlbmRzIFdJLkF1ZGl0VAogICAgICAgICAgICAgfQogICAgICAgICB9
CiAKLSAgICAgICAgZm9yIChsZXQgdmlldyBvZiB0aGlzLl92aWV3Rm9yU3Vib2JqZWN0LnZhbHVl
cygpKQotICAgICAgICAgICAgdmlldy5oaWRkZW4oKTsKICAgICAgICAgdGhpcy5jb250ZW50Vmll
dy5yZW1vdmVBbGxTdWJ2aWV3cygpOwogICAgICAgICB0aGlzLl92aWV3Rm9yU3Vib2JqZWN0LmNs
ZWFyKCk7CiAKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmRldGFjaGVk
KCk7CiAgICAgfQogCiAgICAgYXBwbHlGaWx0ZXIobGV2ZWxzKQpAQCAtMzE3LDcgKzMxNSw2IEBA
IFdJLkF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgPSBjbGFzcyBBdWRpdFRlc3RHcm91cENvbnRl
bnRWaWV3IGV4dGVuZHMgV0kuQXVkaXRUCiAKICAgICAgICAgbGV0IHZpZXcgPSBXSS5Db250ZW50
Vmlldy5jb250ZW50Vmlld0ZvclJlcHJlc2VudGVkT2JqZWN0KHRlc3QpOwogICAgICAgICB0aGlz
LmNvbnRlbnRWaWV3LmFkZFN1YnZpZXcodmlldyk7Ci0gICAgICAgIHZpZXcuc2hvd24oKTsKIAog
ICAgICAgICB0aGlzLl92aWV3Rm9yU3Vib2JqZWN0LnNldCh0ZXN0LCB2aWV3KTsKICAgICB9CkBA
IC0zNTUsNyArMzUyLDYgQEAgV0kuQXVkaXRUZXN0R3JvdXBDb250ZW50VmlldyA9IGNsYXNzIEF1
ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5BdWRpdFQKICAgICAgICAgbGV0IHZp
ZXcgPSB0aGlzLl92aWV3Rm9yU3Vib2JqZWN0LmdldCh0ZXN0KTsKICAgICAgICAgY29uc29sZS5h
c3NlcnQodmlldyk7CiAKLSAgICAgICAgdmlldy5oaWRkZW4oKTsKICAgICAgICAgdGhpcy5jb250
ZW50Vmlldy5yZW1vdmVTdWJ2aWV3KHZpZXcpOwogCiAgICAgICAgIHRoaXMuX3VwZGF0ZUNsYXNz
TGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ1BVVGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ1BVVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IDAy
NDMxNGNmNzAzYi4uNGEwY2Q2NTY2ZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9DUFVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1BVVGltZWxpbmVPdmVy
dmlld0dyYXBoLmpzCkBAIC03OCw3ICs3OCw5IEBAIFdJLkNQVVRpbWVsaW5lT3ZlcnZpZXdHcmFw
aCA9IGNsYXNzIENQVVRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlRpbWVsaW5lCiAK
ICAgICBsYXlvdXQoKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAg
IHN1cGVyLmxheW91dCgpOworCisgICAgICAgIGlmICh0aGlzLmhpZGRlbikKICAgICAgICAgICAg
IHJldHVybjsKIAogICAgICAgICB0aGlzLl91cGRhdGVMZWdlbmQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NQVVRpbWVsaW5lVmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NQVVRpbWVsaW5l
Vmlldy5qcwppbmRleCBhMzhkOTAxZGJlODIuLjQ4YTYwZDY1ZmNlNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1BVVGltZWxpbmVWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NQVVRpbWVs
aW5lVmlldy5qcwpAQCAtODIsMTIgKzgyLDExIEBAIFdJLkNQVVRpbWVsaW5lVmlldyA9IGNsYXNz
IENQVVRpbWVsaW5lVmlldyBleHRlbmRzIFdJLlRpbWVsaW5lVmlldwogCiAgICAgLy8gUHVibGlj
CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hv
d24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAotICAgICAgICBpZiAodGhpcy5fdGlt
ZWxpbmVSdWxlcikKLSAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIudXBkYXRlTGF5b3V0
KFdJLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSk7CisgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVs
ZXI/Lm5lZWRzTGF5b3V0KFdJLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSk7CiAgICAgfQogCiAg
ICAgY2xvc2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NhbnZhc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc1NpZGViYXJQYW5lbC5qcwppbmRleCA2MjlkNTA2NGQy
NjcuLjcxYzRlMTY0MTBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ2FudmFzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc1NpZGViYXJQYW5lbC5qcwpAQCAtMjEz
LDkgKzIxMyw5IEBAIFdJLkNhbnZhc1NpZGViYXJQYW5lbCA9IGNsYXNzIENhbnZhc1NpZGViYXJQ
YW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuCiAgICAgICAgIHRoaXMucmVjb3Jk
aW5nID0gbnVsbDsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsK
LSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAg
ICAgICB0aGlzLmNvbnRlbnRCcm93c2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQ29udGVudEJyb3dz
ZXIuRXZlbnQuQ3VycmVudFJlcHJlc2VudGVkT2JqZWN0c0RpZENoYW5nZSwgdGhpcy51cGRhdGVS
ZXByZXNlbnRlZE9iamVjdHMsIHRoaXMpOwogICAgICAgICB0aGlzLnVwZGF0ZVJlcHJlc2VudGVk
T2JqZWN0cygpOwpAQCAtMjMzLDExICsyMzMsMTEgQEAgV0kuQ2FudmFzU2lkZWJhclBhbmVsID0g
Y2xhc3MgQ2FudmFzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4K
ICAgICAgICAgfQogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAgIHsK
ICAgICAgICAgdGhpcy5jb250ZW50QnJvd3Nlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkNvbnRl
bnRCcm93c2VyLkV2ZW50LkN1cnJlbnRSZXByZXNlbnRlZE9iamVjdHNEaWRDaGFuZ2UsIHRoaXMu
dXBkYXRlUmVwcmVzZW50ZWRPYmplY3RzLCB0aGlzKTsKIAotICAgICAgICBzdXBlci5oaWRkZW4o
KTsKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICBjYW5TaG93UmVwcmVz
ZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DaGFuZ2VzRGV0YWlsc1NpZGViYXJQYW5lbC5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NoYW5nZXNEZXRh
aWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IDk2ZmQ1ZDg3NWVlMy4uMTFhN2FjYzY0NGNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DaGFuZ2Vz
RGV0YWlsc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9DaGFuZ2VzRGV0YWlsc1NpZGViYXJQYW5lbC5qcwpAQCAtNDAsMTYgKzQw
LDYgQEAgV0kuQ2hhbmdlc0RldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBDaGFuZ2VzRGV0YWls
c1NpZGViYXJQYW5lbCBleHRlbmRzIFdJLkRPTUQKICAgICAgICAgcmV0dXJuIG5vZGVUb0luc3Bl
Y3Qubm9kZVR5cGUoKSA9PT0gTm9kZS5FTEVNRU5UX05PREU7CiAgICAgfQogCi0gICAgc2hvd24o
KQotICAgIHsKLSAgICAgICAgLy8gYHNob3duYCBtYXkgZ2V0IGNhbGxlZCBiZWZvcmUgaW5pdGlh
bExheW91dCB3aGVuIEVsZW1lbnRzIHRhYiBpcyBvcGVuZWQuCi0gICAgICAgIC8vIFdoZW4gQ2hh
bmdlcyBwYW5lbCBpcyBzZWxlY3RlZCwgYHNob3duYCBpcyBjYWxsZWQgYW5kIHRoaXMgdGltZSBp
dCdzIGFmdGVyIGluaXRpYWxMYXlvdXQuCi0gICAgICAgIGlmICh0aGlzLmRpZEluaXRpYWxMYXlv
dXQpCi0gICAgICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7Ci0KLSAgICAgICAgc3VwZXIuc2hv
d24oKTsKLSAgICB9Ci0KICAgICBhdHRhY2hlZCgpCiAgICAgewogICAgICAgICBzdXBlci5hdHRh
Y2hlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ2x1c3RlckNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ2x1c3RlckNvbnRlbnRWaWV3LmpzCmluZGV4IDMwY2FlNDk0ZmU4Mi4u
MmE2ZTY2ZjkzYzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9DbHVzdGVyQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2x1c3RlckNvbnRlbnRWaWV3LmpzCkBAIC02NiwyMCAr
NjYsNiBAQCBXSS5DbHVzdGVyQ29udGVudFZpZXcgPSBjbGFzcyBDbHVzdGVyQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAg
ICBzaG93bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAgIHRoaXMu
X2NvbnRlbnRWaWV3Q29udGFpbmVyLnNob3duKCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAg
ICB7Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotCi0gICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3
Q29udGFpbmVyLmhpZGRlbigpOwotICAgIH0KLQogICAgIGNsb3NlZCgpCiAgICAgewogICAgICAg
ICBzdXBlci5jbG9zZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NvbGxlY3Rpb25Db250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbGxlY3Rpb25Db250ZW50Vmlldy5qcwppbmRl
eCBlYzE2MGY5YjZlOTMuLjRhNmJkMjM5MjRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29sbGVjdGlvbkNvbnRlbnRWaWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbGxlY3Rpb25Db250
ZW50Vmlldy5qcwpAQCAtNTEsMjIgKzUxLDYgQEAgV0kuQ29sbGVjdGlvbkNvbnRlbnRWaWV3ID0g
Y2xhc3MgQ29sbGVjdGlvbkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAg
ICAgcmV0dXJuIFtdOwogICAgIH0KIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVy
LnNob3duKCk7Ci0KLSAgICAgICAgZm9yIChsZXQgY29udGVudFZpZXcgb2YgdGhpcy5fY29udGVu
dFZpZXdNYXAudmFsdWVzKCkpCi0gICAgICAgICAgICBjb250ZW50Vmlldy5zaG93bigpOwotICAg
IH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBmb3IgKGxldCBjb250ZW50VmlldyBv
ZiB0aGlzLl9jb250ZW50Vmlld01hcC52YWx1ZXMoKSkKLSAgICAgICAgICAgIGNvbnRlbnRWaWV3
LmhpZGRlbigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotICAgIH0KLQogICAgIGdldCBz
ZWxlY3Rpb25FbmFibGVkKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25F
bmFibGVkOwpAQCAtMTMxLDEyICsxMTUsNiBAQCBXSS5Db2xsZWN0aW9uQ29udGVudFZpZXcgPSBj
bGFzcyBDb2xsZWN0aW9uQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAg
ICAgIHRoaXMuYWRkU3Vidmlldyhjb250ZW50Vmlldyk7CiAgICAgICAgIHRoaXMuY29udGVudFZp
ZXdBZGRlZChjb250ZW50Vmlldyk7Ci0KLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCi0gICAg
ICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgY29udGVudFZpZXcudmlzaWJsZSA9IHRydWU7Ci0g
ICAgICAgIGNvbnRlbnRWaWV3LnNob3duKCk7CiAgICAgfQogCiAgICAgcmVtb3ZlQ29udGVudFZp
ZXdGb3JJdGVtKGl0ZW0pCkBAIC0xNTYsMTEgKzEzNCw2IEBAIFdJLkNvbGxlY3Rpb25Db250ZW50
VmlldyA9IGNsYXNzIENvbGxlY3Rpb25Db250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3
CiAgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3TWFwLmRlbGV0ZShpdGVtKTsKICAgICAgICAgdGhp
cy5jb250ZW50Vmlld1JlbW92ZWQoY29udGVudFZpZXcpOwogCi0gICAgICAgIGlmICh0aGlzLnZp
c2libGUpIHsKLSAgICAgICAgICAgIGNvbnRlbnRWaWV3LnZpc2libGUgPSBmYWxzZTsKLSAgICAg
ICAgICAgIGNvbnRlbnRWaWV3LmhpZGRlbigpOwotICAgICAgICB9Ci0KICAgICAgICAgaWYgKCF0
aGlzLnN1YnZpZXdzLmxlbmd0aCkKICAgICAgICAgICAgIHRoaXMuc2hvd0NvbnRlbnRQbGFjZWhv
bGRlcigpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbXB1dGVkU3R5bGVTZWN0aW9uLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcHV0ZWRTdHlsZVNlY3Rpb24uanMKaW5kZXggZTJj
N2I2NjE1ZTZhLi44YTc5NTJjYjQ1YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbXB1dGVkU3R5bGVTZWN0aW9uLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbXB1dGVkU3R5bGVTZWN0aW9u
LmpzCkBAIC0yMzEsMTIgKzIzMSw2IEBAIFdJLkNvbXB1dGVkU3R5bGVTZWN0aW9uID0gY2xhc3Mg
Q29tcHV0ZWRTdHlsZVNlY3Rpb24gZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgICAgICBwcm9wZXJ0
eVZpZXcuZGV0YWNoZWQoKTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAg
Zm9yIChsZXQgcHJvcGVydHlWaWV3IG9mIHRoaXMuX3Byb3BlcnR5Vmlld3MpCi0gICAgICAgICAg
ICBwcm9wZXJ0eVZpZXcuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgYXBwbHlGaWx0ZXIoZmlsdGVy
VGV4dCkKICAgICB7CiAgICAgICAgIHRoaXMuX2ZpbHRlclRleHQgPSBmaWx0ZXJUZXh0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29s
ZURyYXdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nv
bnNvbGVEcmF3ZXIuanMKaW5kZXggNTQ2MjViOTRiZTc5Li5lMzFhNzljODc0NjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVEcmF3
ZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29u
c29sZURyYXdlci5qcwpAQCAtNzMsMTAgKzczLDggQEAgV0kuQ29uc29sZURyYXdlciA9IGNsYXNz
IENvbnNvbGVEcmF3ZXIgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3NlcgogCiAgICAgICAgIHRoaXMu
ZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCB0aGlzLl9jb2xsYXBzZWQpOwogCi0g
ICAgICAgIGlmICh0aGlzLl9jb2xsYXBzZWQpCi0gICAgICAgICAgICB0aGlzLmhpZGRlbigpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzLnNob3duKCk7CisgICAgICAgIGlmICghdGhp
cy5fY29sbGFwc2VkKQorICAgICAgICAgICAgdGhpcy5fcmVzdG9yZURyYXdlckhlaWdodCgpOwog
CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkNvbnNvbGVEcmF3ZXIu
RXZlbnQuQ29sbGFwc2VkU3RhdGVDaGFuZ2VkKTsKICAgICB9CkBAIC04NiwxNSArODQsMTUgQEAg
V0kuQ29uc29sZURyYXdlciA9IGNsYXNzIENvbnNvbGVEcmF3ZXIgZXh0ZW5kcyBXSS5Db250ZW50
QnJvd3NlcgogICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDsKICAgICB9
CiAKLSAgICBzaG93bigpCisgICAgLy8gUHJvdGVjdGVkCisKKyAgICBhdHRhY2hlZCgpCiAgICAg
ewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAg
ICAgICAgIHRoaXMuX3Jlc3RvcmVEcmF3ZXJIZWlnaHQoKTsKICAgICB9CiAKLSAgICAvLyBQcm90
ZWN0ZWQKLQogICAgIHNpemVEaWRDaGFuZ2UoKQogICAgIHsKICAgICAgICAgc3VwZXIuc2l6ZURp
ZENoYW5nZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvQ29uc29sZVRhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZVRhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDEyM2Fk
MjViMDM3OC4uMTRkODk0ZTZlNzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZVRhYkNvbnRlbnRWaWV3
LmpzCkBAIC00Niw5ICs0Niw5IEBAIFdJLkNvbnNvbGVUYWJDb250ZW50VmlldyA9IGNsYXNzIENv
bnNvbGVUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93c2VyCiAgICAgICAgIHJl
dHVybiBXSS5Db25zb2xlVGFiQ29udGVudFZpZXcuVHlwZTsKICAgICB9CiAKLSAgICBzaG93bigp
CisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAg
c3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICBXSS5oaWRlU3BsaXRDb25zb2xlKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRl
bnRCcm93c2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
Q29udGVudEJyb3dzZXIuanMKaW5kZXggMTg1MzI3YjU3MTVhLi5lNTY4Zjk2NjEzZDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRC
cm93c2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0NvbnRlbnRCcm93c2VyLmpzCkBAIC0yMzEsMTcgKzIzMSwxMiBAQCBXSS5Db250ZW50QnJvd3Nl
ciA9IGNsYXNzIENvbnRlbnRCcm93c2VyIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB0aGlzLl9m
aW5kQmFubmVyLnNob3coKTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQog
ICAgIHsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKKwogICAgICAgICB0aGlzLl91cGRhdGVD
b250ZW50Vmlld1NlbGVjdGlvblBhdGhOYXZpZ2F0aW9uSXRlbSh0aGlzLmN1cnJlbnRDb250ZW50
Vmlldyk7CiAgICAgICAgIHRoaXMudXBkYXRlSGllcmFyY2hpY2FsUGF0aEZvckN1cnJlbnRDb250
ZW50VmlldygpOwotCi0gICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLnNob3duKCk7
Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3
Q29udGFpbmVyLmhpZGRlbigpOwogICAgIH0KIAogICAgIC8vIEdsb2JhbCBDb250ZW50QnJvd3Nl
ciBLZXlib2FyZFNob3J0Y3V0IGhhbmRsZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dz
ZXJUYWJDb250ZW50Vmlldy5qcwppbmRleCAyNjEzOWNmYTFlYzMuLjJlMjdlODQzMTgxMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVu
dEJyb3dzZXJUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3LmpzCkBAIC05Miwy
OCArOTIsMTMgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyA9IGNsYXNzIENvbnRl
bnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KICAgICAgICAgcmV0dXJuIHRoaXMu
X2NvbnRlbnRCcm93c2VyOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAg
ICAgewotICAgICAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsKSB7Ci0gICAgICAg
ICAgICBpZiAoIXRoaXMubmF2aWdhdGlvblNpZGViYXJQYW5lbC5jb250ZW50QnJvd3NlcikKLSAg
ICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwuY29udGVudEJyb3dzZXIg
PSB0aGlzLl9jb250ZW50QnJvd3NlcjsKLSAgICAgICAgfQorICAgICAgICAvLyBFbnN1cmUgdGhh
dCB0aGUgcmVsYXRpb25zaGlwIGlzIGVzdGFibGlzaGVkIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJl
c3RvcmUgY29va2llcy4KKyAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblNpZGViYXJQYW5lbCAm
JiAhdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmNvbnRlbnRCcm93c2VyKQorICAgICAgICAg
ICAgdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmNvbnRlbnRCcm93c2VyID0gdGhpcy5fY29u
dGVudEJyb3dzZXI7CiAKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAgICB0aGlzLl9j
b250ZW50QnJvd3Nlci5zaG93bigpOwotCi0gICAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25TaWRl
YmFyUGFuZWwpIHsKLSAgICAgICAgICAgIGlmICghdGhpcy5fY29udGVudEJyb3dzZXIuY3VycmVu
dENvbnRlbnRWaWV3KQotICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvblNpZGViYXJQYW5l
bC5zaG93RGVmYXVsdENvbnRlbnRWaWV3KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBoaWRk
ZW4oKQotICAgIHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgdGhpcy5fY29u
dGVudEJyb3dzZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAgICAgfQog
CiAgICAgY2xvc2VkKCkKQEAgLTE0MSw3ICsxMjYsNyBAQCBXSS5Db250ZW50QnJvd3NlclRhYkNv
bnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyBleHRlbmRzIFdJ
LgogCiAgICAgc2hvd05hdmlnYXRpb25TaWRlYmFyUGFuZWwoKQogICAgIHsKLSAgICAgICAgaWYg
KCF0aGlzLnZpc2libGUpCisgICAgICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAg
ICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsKQpA
QCAtMTU1LDEyICsxNDAsMTIgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyA9IGNs
YXNzIENvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KICAgICAgICAgaWYg
KHNob3VsZFNob3dTaWRlYmFyKSB7CiAgICAgICAgICAgICBpZiAoIXRoaXMubmF2aWdhdGlvblNp
ZGViYXJQYW5lbC5wYXJlbnRTaWRlYmFyKQogICAgICAgICAgICAgICAgIFdJLm5hdmlnYXRpb25T
aWRlYmFyLmFkZFNpZGViYXJQYW5lbCh0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwpOwotICAg
ICAgICAgICAgV0kubmF2aWdhdGlvblNpZGViYXIuc2VsZWN0ZWRTaWRlYmFyUGFuZWwgPSB0aGlz
Lm5hdmlnYXRpb25TaWRlYmFyUGFuZWw7CiAgICAgICAgICAgICBXSS5uYXZpZ2F0aW9uU2lkZWJh
ci5jb2xsYXBzZWQgPSB0aGlzLm5hdmlnYXRpb25TaWRlYmFyQ29sbGFwc2VkU2V0dGluZy52YWx1
ZTsKKyAgICAgICAgICAgIFdJLm5hdmlnYXRpb25TaWRlYmFyLnNlbGVjdGVkU2lkZWJhclBhbmVs
ID0gdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsOwogICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgV0kubmF2aWdhdGlvblNpZGViYXIuY29sbGFwc2VkID0gdHJ1ZTsKICAgICAgICAgICAg
IGlmICh0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwucGFyZW50U2lkZWJhcikKICAgICAgICAg
ICAgICAgICBXSS5uYXZpZ2F0aW9uU2lkZWJhci5yZW1vdmVTaWRlYmFyUGFuZWwodGhpcy5uYXZp
Z2F0aW9uU2lkZWJhclBhbmVsKTsKKyAgICAgICAgICAgIFdJLm5hdmlnYXRpb25TaWRlYmFyLmNv
bGxhcHNlZCA9IHRydWU7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9pZ25vcmVOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsQ29sbGFwc2VkRXZlbnQgPSBmYWxzZTsKQEAgLTE3MCw3ICsxNTUsNyBA
QCBXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJU
YWJDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgc2hvd0RldGFpbHNTaWRlYmFyUGFuZWxz
KCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBpZiAoIXRoaXMu
aXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB2YXIgY3VycmVudFJl
cHJlc2VudGVkT2JqZWN0cyA9IHRoaXMuX2NvbnRlbnRCcm93c2VyLmN1cnJlbnRSZXByZXNlbnRl
ZE9iamVjdHM7CkBAIC0yMDcsMTYgKzE5MiwxNiBAQCBXSS5Db250ZW50QnJvd3NlclRhYkNvbnRl
bnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLgog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgaWYgKHNpZGViYXJQYW5lbFRvU2Vs
ZWN0KQotICAgICAgICAgICAgV0kuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRTaWRlYmFyUGFuZWwg
PSBzaWRlYmFyUGFuZWxUb1NlbGVjdDsKLSAgICAgICAgZWxzZSBpZiAoIVdJLmRldGFpbHNTaWRl
YmFyLnNlbGVjdGVkU2lkZWJhclBhbmVsICYmIFdJLmRldGFpbHNTaWRlYmFyLnNpZGViYXJQYW5l
bHMubGVuZ3RoKQotICAgICAgICAgICAgV0kuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRTaWRlYmFy
UGFuZWwgPSBXSS5kZXRhaWxzU2lkZWJhci5zaWRlYmFyUGFuZWxzWzBdOwotCiAgICAgICAgIGlm
ICghV0kuZGV0YWlsc1NpZGViYXIuc2lkZWJhclBhbmVscy5sZW5ndGgpCiAgICAgICAgICAgICBX
SS5kZXRhaWxzU2lkZWJhci5jb2xsYXBzZWQgPSB0cnVlOwogICAgICAgICBlbHNlIGlmICh3YXNT
aWRlYmFyRW1wdHkpCiAgICAgICAgICAgICBXSS5kZXRhaWxzU2lkZWJhci5jb2xsYXBzZWQgPSB0
aGlzLmRldGFpbHNTaWRlYmFyQ29sbGFwc2VkU2V0dGluZy52YWx1ZTsKIAorICAgICAgICBpZiAo
c2lkZWJhclBhbmVsVG9TZWxlY3QpCisgICAgICAgICAgICBXSS5kZXRhaWxzU2lkZWJhci5zZWxl
Y3RlZFNpZGViYXJQYW5lbCA9IHNpZGViYXJQYW5lbFRvU2VsZWN0OworICAgICAgICBlbHNlIGlm
ICghV0kuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRTaWRlYmFyUGFuZWwgJiYgV0kuZGV0YWlsc1Np
ZGViYXIuc2lkZWJhclBhbmVscy5sZW5ndGgpCisgICAgICAgICAgICBXSS5kZXRhaWxzU2lkZWJh
ci5zZWxlY3RlZFNpZGViYXJQYW5lbCA9IFdJLmRldGFpbHNTaWRlYmFyLnNpZGViYXJQYW5lbHNb
MF07CisKICAgICAgICAgdGhpcy5faWdub3JlRGV0YWlsc1NpZGViYXJQYW5lbENvbGxhcHNlZEV2
ZW50ID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX2lnbm9yZURldGFpbHNTaWRlYmFyUGFuZWxTZWxl
Y3RlZEV2ZW50ID0gZmFsc2U7CiAKQEAgLTI1Niw3ICsyNDEsNyBAQCBXSS5Db250ZW50QnJvd3Nl
clRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyBleHRl
bmRzIFdJLgogCiAgICAgX25hdmlnYXRpb25TaWRlYmFyQ29sbGFwc2VkU3RhdGVEaWRDaGFuZ2Uo
ZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgaWYgKCF0
aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fc2hv
d05hdmlnYXRpb25TaWRlYmFySXRlbS5hY3RpdmF0ZWQgPSAhV0kubmF2aWdhdGlvblNpZGViYXIu
Y29sbGFwc2VkOwpAQCAtMjY5LDcgKzI1NCw3IEBAIFdJLkNvbnRlbnRCcm93c2VyVGFiQ29udGVu
dFZpZXcgPSBjbGFzcyBDb250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuCiAK
ICAgICBfZGV0YWlsc1NpZGViYXJDb2xsYXBzZWRTdGF0ZURpZENoYW5nZShldmVudCkKICAgICB7
Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBpZiAoIXRoaXMuaXNBdHRhY2hl
ZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl9zaG93RGV0YWlsc1NpZGVi
YXJJdGVtLmFjdGl2YXRlZCA9ICFXSS5kZXRhaWxzU2lkZWJhci5jb2xsYXBzZWQ7CkBAIC0yODMs
NyArMjY4LDcgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyA9IGNsYXNzIENvbnRl
bnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KIAogICAgIF9kZXRhaWxzU2lkZWJh
clBhbmVsU2VsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkK
KyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAg
ICAgICAgdGhpcy5fc2hvd0RldGFpbHNTaWRlYmFySXRlbS5hY3RpdmF0ZWQgPSAhV0kuZGV0YWls
c1NpZGViYXIuY29sbGFwc2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlldy5qcwppbmRleCAxOWY2NGJkMzk4ZmUuLjJi
OGE1OGMxYjFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXcuanMKQEAgLTM0NiwxNiArMzQ2LDYgQEAgV0kuQ29u
dGVudFZpZXcgPSBjbGFzcyBDb250ZW50VmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgcmV0
dXJuIHRoaXMuX3BhcmVudENvbnRhaW5lcjsKICAgICB9CiAKLSAgICBnZXQgdmlzaWJsZSgpCi0g
ICAgewotICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTsKLSAgICB9Ci0KLSAgICBzZXQgdmlz
aWJsZShmbGFnKQotICAgIHsKLSAgICAgICAgdGhpcy5fdmlzaWJsZSA9IGZsYWc7Ci0gICAgfQot
CiAgICAgZ2V0IHNjcm9sbGFibGVFbGVtZW50cygpCiAgICAgewogICAgICAgICAvLyBJbXBsZW1l
bnRlZCBieSBzdWJjbGFzc2VzLgpAQCAtMzkxLDE2ICszODEsNiBAQCBXSS5Db250ZW50VmlldyA9
IGNsYXNzIENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuVmlldwogICAgICAgICByZXR1cm4gV0kuZG9j
a2VkQ29uZmlndXJhdGlvblN1cHBvcnRzU3BsaXRDb250ZW50QnJvd3NlcigpOwogICAgIH0KIAot
ICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMu
Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIC8vIEltcGxlbWVudGVkIGJ5
IHN1YmNsYXNzZXMuCi0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIC8vIElt
cGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlld0NvbnRhaW5lci5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRWaWV3Q29udGFpbmVyLmpz
CmluZGV4IDU5ODVkMmRkZTJlZC4uNDVlNTAxZGMyZDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlld0NvbnRhaW5lci5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmll
d0NvbnRhaW5lci5qcwpAQCAtMTExLDggKzExMSw3IEBAIFdJLkNvbnRlbnRWaWV3Q29udGFpbmVy
ID0gY2xhc3MgQ29udGVudFZpZXdDb250YWluZXIgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICAgICAg
Ly8gRG9uJ3QgZG8gYW55dGhpbmcgaWYgd2Ugd291bGQgaGF2ZSBhZGRlZCBhbiBpZGVudGljYWwg
YmFjay9mb3J3YXJkIGxpc3QgZW50cnkuCiAgICAgICAgIGlmIChwcm92aXNpb25hbEVudHJ5Lmlz
RXF1YWwoY3VycmVudEVudHJ5KSkgewotICAgICAgICAgICAgY29uc3Qgc2hvdWxkQ2FsbFNob3du
ID0gZmFsc2U7Ci0gICAgICAgICAgICBjdXJyZW50RW50cnkucHJlcGFyZVRvU2hvdyhzaG91bGRD
YWxsU2hvd24pOworICAgICAgICAgICAgY3VycmVudEVudHJ5LnByZXBhcmVUb1Nob3coKTsKICAg
ICAgICAgICAgIHJldHVybiBjdXJyZW50RW50cnkuY29udGVudFZpZXc7CiAgICAgICAgIH0KIApA
QCAtMTU4LDE0ICsxNTcsOSBAQCBXSS5Db250ZW50Vmlld0NvbnRhaW5lciA9IGNsYXNzIENvbnRl
bnRWaWV3Q29udGFpbmVyIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB2YXIgY3VycmVudEVudHJ5
ID0gdGhpcy5jdXJyZW50QmFja0ZvcndhcmRFbnRyeTsKICAgICAgICAgY29uc29sZS5hc3NlcnQo
Y3VycmVudEVudHJ5KTsKIAotICAgICAgICB2YXIgaXNOZXdDb250ZW50VmlldyA9ICFwcmV2aW91
c0VudHJ5IHx8ICFjdXJyZW50RW50cnkuY29udGVudFZpZXcudmlzaWJsZTsKLSAgICAgICAgaWYg
KGlzTmV3Q29udGVudFZpZXcpIHsKLSAgICAgICAgICAgIC8vIEhpZGUgdGhlIGN1cnJlbnRseSB2
aXNpYmxlIGNvbnRlbnQgdmlldy4KLSAgICAgICAgICAgIGlmIChwcmV2aW91c0VudHJ5KQotICAg
ICAgICAgICAgICAgIHRoaXMuX2hpZGVFbnRyeShwcmV2aW91c0VudHJ5KTsKLSAgICAgICAgICAg
IHRoaXMuX3Nob3dFbnRyeShjdXJyZW50RW50cnksIHRydWUpOwotICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgIHRoaXMuX3Nob3dFbnRyeShjdXJyZW50RW50cnksIGZhbHNlKTsKKyAgICAgICAg
aWYgKHByZXZpb3VzRW50cnkgJiYgIWN1cnJlbnRFbnRyeS5jb250ZW50Vmlldy5pc0F0dGFjaGVk
KQorICAgICAgICAgICAgdGhpcy5faGlkZUVudHJ5KHByZXZpb3VzRW50cnkpOworICAgICAgICB0
aGlzLl9zaG93RW50cnkoY3VycmVudEVudHJ5KTsKIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZl
bnRUb0xpc3RlbmVycyhXSS5Db250ZW50Vmlld0NvbnRhaW5lci5FdmVudC5DdXJyZW50Q29udGVu
dFZpZXdEaWRDaGFuZ2UpOwogICAgIH0KQEAgLTIxMSw3ICsyMDUsNyBAQCBXSS5Db250ZW50Vmll
d0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRWaWV3Q29udGFpbmVyIGV4dGVuZHMgV0kuVmlldwog
CiAgICAgICAgIC8vIFJlLXNob3cgdGhlIGN1cnJlbnQgZW50cnksIGJlY2F1c2UgaXRzIGNvbnRl
bnQgdmlldyBpbnN0YW5jZSB3YXMgcmVwbGFjZWQuCiAgICAgICAgIGlmIChjdXJyZW50bHlTaG93
aW5nKSB7Ci0gICAgICAgICAgICB0aGlzLl9zaG93RW50cnkodGhpcy5jdXJyZW50QmFja0Zvcndh
cmRFbnRyeSwgdHJ1ZSk7CisgICAgICAgICAgICB0aGlzLl9zaG93RW50cnkodGhpcy5jdXJyZW50
QmFja0ZvcndhcmRFbnRyeSk7CiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXSS5Db250ZW50Vmlld0NvbnRhaW5lci5FdmVudC5DdXJyZW50Q29udGVudFZpZXdEaWRD
aGFuZ2UpOwogICAgICAgICB9CiAgICAgfQpAQCAtMjY5LDcgKzI2Myw3IEBAIFdJLkNvbnRlbnRW
aWV3Q29udGFpbmVyID0gY2xhc3MgQ29udGVudFZpZXdDb250YWluZXIgZXh0ZW5kcyBXSS5WaWV3
CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGN1cnJlbnRFbnRyeSB8fCAoIWN1cnJlbnRFbnRyeSAm
JiB0aGlzLl9jdXJyZW50SW5kZXggPT09IC0xKSk7CiAKICAgICAgICAgaWYgKGN1cnJlbnRFbnRy
eSAmJiBjdXJyZW50RW50cnkuY29udGVudFZpZXcgIT09IHZpc2libGVDb250ZW50VmlldyB8fCBi
YWNrRm9yd2FyZExpc3REaWRDaGFuZ2UpIHsKLSAgICAgICAgICAgIHRoaXMuX3Nob3dFbnRyeShj
dXJyZW50RW50cnksIHRydWUpOworICAgICAgICAgICAgdGhpcy5fc2hvd0VudHJ5KGN1cnJlbnRF
bnRyeSk7CiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5Db250
ZW50Vmlld0NvbnRhaW5lci5FdmVudC5DdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UpOwogICAg
ICAgICB9CiAgICAgfQpAQCAtMzI3LDIyICszMjEsMjIgQEAgV0kuQ29udGVudFZpZXdDb250YWlu
ZXIgPSBjbGFzcyBDb250ZW50Vmlld0NvbnRhaW5lciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAg
dGhpcy5zaG93QmFja0ZvcndhcmRFbnRyeUZvckluZGV4KHRoaXMuX2N1cnJlbnRJbmRleCArIDEp
OwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICB2
YXIgY3VycmVudEVudHJ5ID0gdGhpcy5jdXJyZW50QmFja0ZvcndhcmRFbnRyeTsKLSAgICAgICAg
aWYgKCFjdXJyZW50RW50cnkpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIHN1cGVyLmF0
dGFjaGVkKCk7CiAKLSAgICAgICAgdGhpcy5fc2hvd0VudHJ5KGN1cnJlbnRFbnRyeSwgdHJ1ZSk7
CisgICAgICAgIHZhciBjdXJyZW50RW50cnkgPSB0aGlzLmN1cnJlbnRCYWNrRm9yd2FyZEVudHJ5
OworICAgICAgICBpZiAoY3VycmVudEVudHJ5KQorICAgICAgICAgICAgdGhpcy5fc2hvd0VudHJ5
KGN1cnJlbnRFbnRyeSk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAg
ICAgewogICAgICAgICB2YXIgY3VycmVudEVudHJ5ID0gdGhpcy5jdXJyZW50QmFja0ZvcndhcmRF
bnRyeTsKLSAgICAgICAgaWYgKCFjdXJyZW50RW50cnkpCi0gICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIGlmIChjdXJyZW50RW50cnkpCisgICAgICAgICAgICB0aGlzLl9oaWRlRW50cnkoY3Vy
cmVudEVudHJ5KTsKIAotICAgICAgICB0aGlzLl9oaWRlRW50cnkoY3VycmVudEVudHJ5KTsKKyAg
ICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICAvLyBQcml2YXRlCkBAIC00MTYs
NyArNDEwLDcgQEAgV0kuQ29udGVudFZpZXdDb250YWluZXIgPSBjbGFzcyBDb250ZW50Vmlld0Nv
bnRhaW5lciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFjb250ZW50Vmlldy52aXNpYmxlKTsKKyAgICAgICAg
Y29uc29sZS5hc3NlcnQoIWNvbnRlbnRWaWV3LmlzQXR0YWNoZWQpOwogCiAgICAgICAgIGlmICgh
Y29udGVudFZpZXcuX3BhcmVudENvbnRhaW5lcikKICAgICAgICAgICAgIHJldHVybjsKQEAgLTQz
OCw3ICs0MzIsNyBAQCBXSS5Db250ZW50Vmlld0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRWaWV3
Q29udGFpbmVyIGV4dGVuZHMgV0kuVmlldwogICAgICAgICAgICAgV0kuQ29udGVudFZpZXcuY2xv
c2VkQ29udGVudFZpZXdGb3JSZXByZXNlbnRlZE9iamVjdChjb250ZW50Vmlldy5yZXByZXNlbnRl
ZE9iamVjdCk7CiAgICAgfQogCi0gICAgX3Nob3dFbnRyeShlbnRyeSwgc2hvdWxkQ2FsbFNob3du
KQorICAgIF9zaG93RW50cnkoZW50cnkpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydChl
bnRyeSBpbnN0YW5jZW9mIFdJLkJhY2tGb3J3YXJkRW50cnkpOwogCkBAIC00NTMsNyArNDQ3LDcg
QEAgV0kuQ29udGVudFZpZXdDb250YWluZXIgPSBjbGFzcyBDb250ZW50Vmlld0NvbnRhaW5lciBl
eHRlbmRzIFdJLlZpZXcKICAgICAgICAgaWYgKCF0aGlzLnN1YnZpZXdzLmluY2x1ZGVzKGVudHJ5
LmNvbnRlbnRWaWV3KSkKICAgICAgICAgICAgIHRoaXMuYWRkU3VidmlldyhlbnRyeS5jb250ZW50
Vmlldyk7CiAKLSAgICAgICAgZW50cnkucHJlcGFyZVRvU2hvdyhzaG91bGRDYWxsU2hvd24pOwor
ICAgICAgICBlbnRyeS5wcmVwYXJlVG9TaG93KCk7CiAgICAgfQogCiAgICAgX2hpZGVFbnRyeShl
bnRyeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwppbmRleCAwMDVhMDc1YWNiMjguLjgz
OTU5N2M0ZTVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwpAQCAtMTQwLDI2ICsx
NDAsNiBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRv
Z2dsZSgic2hvdy1ndXR0ZXIiLCB0aGlzLl9icmVha3BvaW50R3V0dGVyRW5hYmxlZCk7CiAgICAg
fQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAg
ICB0aGlzLl9kb21UcmVlT3V0bGluZS5zZXRWaXNpYmxlKHRydWUsIFdJLmlzQ29uc29sZUZvY3Vz
ZWQoKSk7Ci0KLSAgICAgICAgaWYgKCF0aGlzLl9kb21UcmVlT3V0bGluZS5yb290RE9NTm9kZSkK
LSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLl9yZXN0b3JlQnJlYWtwb2ludHNB
ZnRlclVwZGF0ZSgpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBzdXBl
ci5oaWRkZW4oKTsKLQotICAgICAgICBXSS5kb21NYW5hZ2VyLmhpZGVET01Ob2RlSGlnaGxpZ2h0
KCk7Ci0gICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLnNldFZpc2libGUoZmFsc2UpOwotICAg
IH0KLQogICAgIGNsb3NlZCgpCiAgICAgewogICAgICAgICBzdXBlci5jbG9zZWQoKTsKQEAgLTM5
Niw2ICszNzYsMTAgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRl
bnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICB7CiAgICAgICAgIHN1cGVyLmF0dGFj
aGVkKCk7CiAKKyAgICAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUuc2V0VmlzaWJsZSh0cnVlLCBX
SS5pc0NvbnNvbGVGb2N1c2VkKCkpOworICAgICAgICBpZiAodGhpcy5fZG9tVHJlZU91dGxpbmUu
cm9vdERPTU5vZGUpCisgICAgICAgICAgICB0aGlzLl9yZXN0b3JlQnJlYWtwb2ludHNBZnRlclVw
ZGF0ZSgpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIudXBkYXRlQ29tcG9zaXRpbmdC
b3JkZXJzVmlzaWJsZUZyb21QYWdlSWZOZWVkZWQoKTsKIAogICAgICAgICBXSS5sYXllclRyZWVN
YW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5Db21wb3Np
dGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJz
VmlzaWJsZUNoYW5nZWQsIHRoaXMpOwpAQCAtNDA3LDYgKzM5MSw5IEBAIFdJLkRPTVRyZWVDb250
ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3
CiAKICAgICBkZXRhY2hlZCgpCiAgICAgeworICAgICAgICBXSS5kb21NYW5hZ2VyLmhpZGVET01O
b2RlSGlnaGxpZ2h0KCk7CisgICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLnNldFZpc2libGUo
ZmFsc2UpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5l
cihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LlNob3dQYWludFJlY3RzQ2hhbmdlZCwgdGhpcy5f
aGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgV0kubGF5ZXJUcmVl
TWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQuQ29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMuX2hhbmRsZUNvbXBvc2l0aW5nQm9y
ZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRWxlbWVudHNUYWJDb250ZW50Vmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0VsZW1lbnRzVGFiQ29udGVu
dFZpZXcuanMKaW5kZXggNDRhMzIxNDgzZWRiLi43ODg0MTYxMTUyY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0VsZW1lbnRzVGFiQ29udGVu
dFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
RWxlbWVudHNUYWJDb250ZW50Vmlldy5qcwpAQCAtOTYsOSArOTYsOSBAQCBXSS5FbGVtZW50c1Rh
YkNvbnRlbnRWaWV3ID0gY2xhc3MgRWxlbWVudHNUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNv
bnRlbnRCcm93cwogICAgICAgICBjb29raWUubm9kZVRvU2VsZWN0ID0gdW5kZWZpbmVkOwogICAg
IH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5z
aG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGlmICghdGhpcy5j
b250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXcpCiAgICAgICAgICAgICB0aGlzLl9zaG93
RE9NVHJlZUNvbnRlbnRWaWV3KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Gb250UmVzb3VyY2VDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3
LmpzCmluZGV4IGQwOTMwNmE3MDk2YS4uMzcyYmQzM2NlNjdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb250UmVzb3VyY2VDb250ZW50Vmll
dy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb250
UmVzb3VyY2VDb250ZW50Vmlldy5qcwpAQCAtNzUsMjIgKzc1LDIyIEBAIFdJLkZvbnRSZXNvdXJj
ZUNvbnRlbnRWaWV3ID0gY2xhc3MgRm9udFJlc291cmNlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5S
ZXNvdXJjZUNvCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQo
KQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQo
KTsKIAogICAgICAgICAvLyBBZGQgdGhlIHN0eWxlIGVsZW1lbnQgc2luY2UgaXQgaXMgcmVtb3Zl
ZCB3aGVuIGhpZGRlbi4KICAgICAgICAgaWYgKHRoaXMuX3N0eWxlRWxlbWVudCkKICAgICAgICAg
ICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGhpcy5fc3R5bGVFbGVtZW50KTsKICAgICB9
CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIC8vIFJlbW92
ZSB0aGUgc3R5bGUgZWxlbWVudCBzbyBpdCB3aWxsIG5vdCBzdGljayBhcm91bmQgd2hlbiB0aGlz
IGNvbnRlbnQgdmlldyBpcyBkZXN0cm95ZWQuCiAgICAgICAgIGlmICh0aGlzLl9zdHlsZUVsZW1l
bnQpCiAgICAgICAgICAgICB0aGlzLl9zdHlsZUVsZW1lbnQucmVtb3ZlKCk7CiAKLSAgICAgICAg
c3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAg
Y2xvc2VkKCkKQEAgLTE3NSw3ICsxNzUsNyBAQCBXSS5Gb250UmVzb3VyY2VDb250ZW50VmlldyA9
IGNsYXNzIEZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuUmVzb3VyY2VDbwogICAg
ICAgICB0aGlzLl9zdHlsZUVsZW1lbnQudGV4dENvbnRlbnQgPSBgQGZvbnQtZmFjZSB7IGZvbnQt
ZmFtaWx5OiAiJHt1bmlxdWVGb250TmFtZX0iOyBzcmM6IHVybCgke3RoaXMuX2ZvbnRPYmplY3RV
Ukx9KSAke2Zvcm1hdH07IH1gOwogCiAgICAgICAgIC8vIFRoZSBzdHlsZSBlbGVtZW50IHdpbGwg
YmUgYWRkZWQgd2hlbiBzaG93biBsYXRlciBpZiB3ZSBhcmUgbm90IHZpc2libGUgbm93LgotICAg
ICAgICBpZiAodGhpcy52aXNpYmxlKQorICAgICAgICBpZiAodGhpcy5pc0F0dGFjaGVkKQogICAg
ICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0aGlzLl9zdHlsZUVsZW1lbnQpOwog
CiAgICAgICAgIHRoaXMuX3ByZXZpZXdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5l
bC5qcwppbmRleCAyZTI3MGM3YzllMzEuLjZiMjlmMDlkMDBkNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJhbFN0eWxlRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC00Nyw3ICs0Nyw3IEBA
IFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBHZW5lcmFsU3R5bGVE
ZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgewogICAgICAgICBsZXQgbWluaW11bVdpZHRo
ID0gTWF0aC5tYXgoc3VwZXIubWluaW11bVdpZHRoLCB0aGlzLl9wYW5lbC5taW5pbXVtV2lkdGgg
fHwgMCk7CiAKLSAgICAgICAgaWYgKHRoaXMuZXhjbHVzaXZlKSB7CisgICAgICAgIGlmICh0aGlz
Ll9mb3JjZWRQc2V1ZG9DbGFzc0NvbnRhaW5lciAmJiB0aGlzLmV4Y2x1c2l2ZSkgewogICAgICAg
ICAgICAgbGV0IHBzZXVkb0NsYXNzTWluaW11bVdpZHRoID0gMDsKICAgICAgICAgICAgIGZvciAo
bGV0IGNoaWxkIG9mIHRoaXMuX2ZvcmNlZFBzZXVkb0NsYXNzQ29udGFpbmVyLmNoaWxkcmVuKQog
ICAgICAgICAgICAgICAgIHBzZXVkb0NsYXNzTWluaW11bVdpZHRoICs9IGNoaWxkLm9mZnNldFdp
ZHRoOwpAQCAtNjIsMTcgKzYyLDkgQEAgV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5l
bCA9IGNsYXNzIEdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW4KICAgICAgICAg
cmV0dXJuIG5vZGVUb0luc3BlY3Qubm9kZVR5cGUoKSA9PT0gTm9kZS5FTEVNRU5UX05PREU7CiAg
ICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBl
ci5oaWRkZW4oKTsKLQotICAgICAgICBpZiAodGhpcy5fcGFuZWwpCi0gICAgICAgICAgICB0aGlz
Ll9wYW5lbC5oaWRkZW4oKTsKLSAgICB9Ci0KLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBz
dXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGlmICgh
dGhpcy5fcGFuZWwpCiAgICAgICAgICAgICByZXR1cm47CkBAIC04MCw3ICs3Miw2IEBAIFdJLkdl
bmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBHZW5lcmFsU3R5bGVEZXRhaWxz
U2lkZWJhclBhbmVsIGV4dGVuCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMudmlzaWJsZSwg
YFNob3duIHBhbmVsICR7dGhpcy5faWRlbnRpZmllcn0gbXVzdCBiZSB2aXNpYmxlLmApOwogCiAg
ICAgICAgIHRoaXMuX3VwZGF0ZU5vRm9yY2VkUHNldWRvQ2xhc3Nlc1Njcm9sbE9mZnNldCgpOwot
ICAgICAgICB0aGlzLl9wYW5lbC5zaG93bigpOwogICAgICAgICB0aGlzLl9wYW5lbC5tYXJrQXNO
ZWVkc1JlZnJlc2godGhpcy5kb21Ob2RlKTsKICAgICB9CiAKQEAgLTI0Niw4ICsyMzcsNiBAQCBX
SS5HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgR2VuZXJhbFN0eWxlRGV0
YWlsc1NpZGViYXJQYW5lbCBleHRlbgogICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQu
Y2xhc3NMaXN0LnRvZ2dsZSgiaGFzLWZpbHRlci1iYXIiLCBoYXNGaWx0ZXIpOwogICAgICAgICBp
ZiAodGhpcy5fZmlsdGVyQmFyKQogICAgICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50
LmNsYXNzTGlzdC50b2dnbGUoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5GaWx0
ZXJJblByb2dyZXNzQ2xhc3NOYW1lLCBoYXNGaWx0ZXIgJiYgdGhpcy5fZmlsdGVyQmFyLmhhc0Fj
dGl2ZUZpbHRlcnMoKSk7Ci0KLSAgICAgICAgdGhpcy5fcGFuZWwuc2hvd24oKTsKICAgICB9CiAK
ICAgICBfaGFuZGxlTm9kZUNoYW5nZWQoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZU92ZXJ2
aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9I
ZWFwQWxsb2NhdGlvbnNUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggNDU5NGFiNDQzOTNm
Li5kMGY3ZWUwOTQ5ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0hlYXBBbGxvY2F0aW9uc1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlv
bnNUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTUwLDcgKzUwLDkgQEAgV0kuSGVhcEFsbG9j
YXRpb25zVGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgSGVhcEFsbG9jYXRpb25zVGltZWxp
bmVPdmVydmlld0cKIAogICAgIGxheW91dCgpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlz
aWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisKKyAgICAgICAgaWYgKHRoaXMuaGlkZGVu
KQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVDaGls
ZHJlbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3LmpzCmlu
ZGV4IDhjNjc0Mzc3MGVmOS4uZDlkOGM0ZDcyZDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFs
bG9jYXRpb25zVGltZWxpbmVWaWV3LmpzCkBAIC0xMjgsNyArMTI4LDYgQEAgV0kuSGVhcEFsbG9j
YXRpb25zVGltZWxpbmVWaWV3ID0gY2xhc3MgSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3IGV4
dGVuZHMgV0kuVGkKICAgICAgICAgdGhpcy5faGVhcFNuYXBzaG90RGlmZiA9IG51bGw7CiAgICAg
ICAgIHRoaXMuX2NhbmNlbFNlbGVjdENvbXBhcmlzb25IZWFwU25hcHNob3RzKCk7CiAKLSAgICAg
ICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuaGlkZGVuKCk7CiAgICAgICAgIHRoaXMucmVt
b3ZlU3Vidmlldyh0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lcik7CiAgICAgICAgIHRoaXMuYWRk
U3Vidmlldyh0aGlzLl9kYXRhR3JpZCk7CiAKQEAgLTE0NCw3ICsxNDMsNiBAQCBXSS5IZWFwQWxs
b2NhdGlvbnNUaW1lbGluZVZpZXcgPSBjbGFzcyBIZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcg
ZXh0ZW5kcyBXSS5UaQogICAgICAgICAgICAgdGhpcy5fc25hcHNob3RMaXN0U2Nyb2xsVG9wID0g
dGhpcy5fZGF0YUdyaWQuc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcDsKICAgICAgICAgICAgIHRo
aXMucmVtb3ZlU3Vidmlldyh0aGlzLl9kYXRhR3JpZCk7CiAgICAgICAgICAgICB0aGlzLmFkZFN1
YnZpZXcodGhpcy5fY29udGVudFZpZXdDb250YWluZXIpOwotICAgICAgICAgICAgdGhpcy5fY29u
dGVudFZpZXdDb250YWluZXIuc2hvd24oKTsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3No
b3dpbmdTbmFwc2hvdExpc3QgPSBmYWxzZTsKQEAgLTE3Miw3ICsxNzAsNiBAQCBXSS5IZWFwQWxs
b2NhdGlvbnNUaW1lbGluZVZpZXcgPSBjbGFzcyBIZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcg
ZXh0ZW5kcyBXSS5UaQogICAgICAgICBpZiAodGhpcy5fc2hvd2luZ1NuYXBzaG90TGlzdCkgewog
ICAgICAgICAgICAgdGhpcy5yZW1vdmVTdWJ2aWV3KHRoaXMuX2RhdGFHcmlkKTsKICAgICAgICAg
ICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lcik7Ci0gICAgICAg
ICAgICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5zaG93bigpOwogICAgICAgICB9CiAKICAg
ICAgICAgdGhpcy5fc2hvd2luZ1NuYXBzaG90TGlzdCA9IGZhbHNlOwpAQCAtMjMwLDI2ICsyMjcs
NiBAQCBXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcgPSBjbGFzcyBIZWFwQWxsb2NhdGlv
bnNUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaQogICAgICAgICAgICAgdGhpcy5zaG93SGVhcFNu
YXBzaG90TGlzdCgpOwogICAgIH0KIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVy
LnNob3duKCk7Ci0KLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuc2hvd24oKTsKLQotICAgICAgICBp
ZiAoIXRoaXMuX3Nob3dpbmdTbmFwc2hvdExpc3QpCi0gICAgICAgICAgICB0aGlzLl9jb250ZW50
Vmlld0NvbnRhaW5lci5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAg
ICAgICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAgICB0aGlzLl9kYXRhR3JpZC5oaWRkZW4oKTsK
LQotICAgICAgICBpZiAoIXRoaXMuX3Nob3dpbmdTbmFwc2hvdExpc3QpCi0gICAgICAgICAgICB0
aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBjbG9zZWQo
KQogICAgIHsKICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1vdmVFdmVudExpc3Rl
bmVyKFdJLlRpbWVsaW5lLkV2ZW50LlJlY29yZEFkZGVkLCB0aGlzLl9oZWFwQWxsb2NhdGlvbnNU
aW1lbGluZVJlY29yZEFkZGVkLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hv
dENsdXN0ZXJDb250ZW50Vmlldy5qcwppbmRleCAzMjIwNjU1ZTcwYjQuLmYyMTk5ZTRjYWQ3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVh
cFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5qcwpA
QCAtMTM5LDkgKzEzOSw5IEBAIFdJLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyA9IGNs
YXNzIEhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyBleHRlbmRzCiAgICAgICAgIHJldHVy
biBjb21wb25lbnRzLmNvbmNhdChjdXJyZW50Q29udGVudFZpZXcuc2VsZWN0aW9uUGF0aENvbXBv
bmVudHMpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAg
ICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAg
IGlmICh0aGlzLl9zaG93bkluaXRpYWxDb250ZW50KQogICAgICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNu
YXBzaG90Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9IZWFwU25hcHNob3RDb250ZW50Vmlldy5qcwppbmRleCA5ZjBlMTBjZDNlNzIuLjkx
M2RkYjc0ZDBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvSGVhcFNuYXBzaG90Q29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBzaG90Q29udGVudFZpZXcuanMKQEAg
LTkwLDE4ICs5MCwxOCBAQCBXSS5IZWFwU25hcHNob3RDb250ZW50VmlldyA9IGNsYXNzIEhlYXBT
bmFwc2hvdENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZQogICAgICAgICByZXR1cm4g
W107CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAg
IHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgdGhp
cy5faGVhcFNuYXBzaG90RGF0YUdyaWRUcmVlLnNob3duKCk7CiAgICAgfQogCi0gICAgaGlkZGVu
KCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQogICAg
ICAgICB0aGlzLl9oZWFwU25hcHNob3REYXRhR3JpZFRyZWUuaGlkZGVuKCk7CisKKyAgICAgICAg
c3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICBnZXQgc2Nyb2xsYWJsZUVsZW1lbnRzKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0lt
YWdlUmVzb3VyY2VDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0ltYWdlUmVzb3VyY2VDb250ZW50Vmlldy5qcwppbmRleCAwNmUxZjBkNmQw
NGMuLjBlYjBiNjBmMTk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ltYWdlUmVzb3VyY2VDb250ZW50Vmll
dy5qcwpAQCAtOTksMjAgKzk5LDIwIEBAIFdJLkltYWdlUmVzb3VyY2VDb250ZW50VmlldyA9IGNs
YXNzIEltYWdlUmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJLlJlc291cmNlCiAKICAgICAv
LyBQcm90ZWN0ZWQKIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAg
ICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIHRo
aXMuX3VwZGF0ZUltYWdlR3JpZCgpOwogCiAgICAgICAgIFdJLnNldHRpbmdzLnNob3dJbWFnZUdy
aWQuYWRkRXZlbnRMaXN0ZW5lcihXSS5TZXR0aW5nLkV2ZW50LkNoYW5nZWQsIHRoaXMuX3VwZGF0
ZUltYWdlR3JpZCwgdGhpcyk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgp
CiAgICAgewogICAgICAgICBXSS5zZXR0aW5ncy5zaG93SW1hZ2VHcmlkLnJlbW92ZUV2ZW50TGlz
dGVuZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl91cGRhdGVJbWFnZUdyaWQsIHRo
aXMpOwogCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgp
OwogICAgIH0KIAogICAgIC8vIERyb3Bab25lVmlldyBkZWxlZ2F0ZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0xheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggOTQ3OWZiMmM4ZDZlLi5iMTdh
ZDk2M2MzZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0xheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5l
bC5qcwpAQCAtMzYsMjAgKzM2LDE4IEBAIFdJLkxheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwg
PSBjbGFzcyBMYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuCiAKICAgICAv
LyBEZXRhaWxzU2lkZWJhclBhbmVsIE92ZXJyaWRlcy4KIAotICAgIHNob3duKCkKKyAgICBhdHRh
Y2hlZCgpCiAgICAgeworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOworCiAgICAgICAgIFdJLmxh
eWVyVHJlZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50
LkxheWVyVHJlZURpZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzKTsKLQot
ICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLnBhcmVudFNpZGViYXIpOwotCi0gICAgICAgIHN1
cGVyLnNob3duKCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAg
ewogICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5
ZXJUcmVlTWFuYWdlci5FdmVudC5MYXllclRyZWVEaWRDaGFuZ2UsIHRoaXMuX2xheWVyVHJlZURp
ZENoYW5nZSwgdGhpcyk7CiAKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVy
LmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgLy8gRE9NRGV0YWlsc1NpZGViYXJQYW5lbCBPdmVy
cmlkZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0xheWVyczNEQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCmluZGV4IDFiMjczZDZjMTJjOC4u
MTM1OTA5MzAzM2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyczNEQ29udGVudFZpZXcuanMKQEAgLTc0LDI2
ICs3NCw2IEBAIFdJLkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnMzRENvbnRlbnRW
aWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgcmV0dXJuIHRoaXMuX2xheWVyczsK
ICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0g
ICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7Ci0gICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LkxheWVyVHJlZURpZENo
YW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzKTsKLQotICAgICAgICBpZiAodGhp
cy5kaWRJbml0aWFsTGF5b3V0KQotICAgICAgICAgICAgdGhpcy5fYW5pbWF0ZSgpOwotICAgIH0K
LQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92
ZUV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5MYXllclRyZWVEaWRDaGFu
Z2UsIHRoaXMuX2xheWVyVHJlZURpZENoYW5nZSwgdGhpcyk7Ci0KLSAgICAgICAgdGhpcy5fc3Rv
cEFuaW1hdGlvbigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotICAgIH0KLQogICAgIHNl
bGVjdExheWVyQnlJZChsYXllcklkKQogICAgIHsKICAgICAgICAgbGV0IGxheWVyR3JvdXAgPSB0
aGlzLl9sYXllckdyb3Vwc0J5SWQuZ2V0KGxheWVySWQpOwpAQCAtMTMzLDYgKzExMywxMSBAQCBX
SS5MYXllcnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5ZXJzM0RDb250ZW50VmlldyBleHRlbmRz
IFdJLkNvbnRlbnRWaWV3CiAgICAgewogICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCisgICAg
ICAgIFdJLmxheWVyVHJlZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5h
Z2VyLkV2ZW50LkxheWVyVHJlZURpZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0
aGlzKTsKKworICAgICAgICBpZiAodGhpcy5kaWRJbml0aWFsTGF5b3V0KQorICAgICAgICAgICAg
dGhpcy5fYW5pbWF0ZSgpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIudXBkYXRlQ29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZUZyb21QYWdlSWZOZWVkZWQoKTsKIAogICAgICAgICBXSS5s
YXllclRyZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVu
dC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFuZGxlQ29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOwpAQCAtMTQ0LDYgKzEyOSwxMCBAQCBXSS5M
YXllcnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5ZXJzM0RDb250ZW50VmlldyBleHRlbmRzIFdJ
LkNvbnRlbnRWaWV3CiAKICAgICBkZXRhY2hlZCgpCiAgICAgeworICAgICAgICBXSS5sYXllclRy
ZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5M
YXllclRyZWVEaWRDaGFuZ2UsIHRoaXMuX2xheWVyVHJlZURpZENoYW5nZSwgdGhpcyk7CisKKyAg
ICAgICAgdGhpcy5fc3RvcEFuaW1hdGlvbigpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFn
ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LlNob3dQYWlu
dFJlY3RzQ2hhbmdlZCwgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0aGlzKTsK
ICAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkxheWVy
VHJlZU1hbmFnZXIuRXZlbnQuQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMu
X2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzVGFi
Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9MYXllcnNUYWJDb250ZW50Vmlldy5qcwppbmRleCA1NDJmNzBiYjRhZGEuLmI5MjNkZWY0YjUy
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
TGF5ZXJzVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTGF5ZXJzVGFiQ29udGVudFZpZXcuanMKQEAgLTY1LDkgKzY1LDkgQEAg
V0kuTGF5ZXJzVGFiQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnNUYWJDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRCcm93c2VyVGEKICAgICAgICAgdGhpcy5fbGF5ZXJzM0RDb250ZW50Vmll
dy5zZWxlY3RMYXllckZvck5vZGUobm9kZSk7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0
dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0
dGFjaGVkKCk7CiAKICAgICAgICAgdGhpcy5jb250ZW50QnJvd3Nlci5zaG93Q29udGVudFZpZXco
dGhpcy5fbGF5ZXJzM0RDb250ZW50Vmlldyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dy
YXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0
VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IDY0MmQwMGJlOGY3Ny4uNzMxZDNjZDI0M2Qy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9M
YXlvdXRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC02
NCw3ICs2NCw5IEBAIFdJLkxheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIExheW91
dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlRpCiAKICAgICBsYXlvdXQoKQogICAg
IHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIHN1cGVyLmxheW91dCgpOwor
CisgICAgICAgIGlmICh0aGlzLmhpZGRlbikKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAg
ICB0aGlzLl91cGRhdGVSb3dMYXlvdXQodGhpcy5fdGltZWxpbmVQYWludFJlY29yZFJvdyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlv
dXRUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9MYXlvdXRUaW1lbGluZVZpZXcuanMKaW5kZXggMmNjNjYxZTIyODhmLi5mNGVhNDI2YWMy
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0xheW91dFRpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZVZpZXcuanMKQEAgLTEyNywyMiArMTI3LDE4IEBA
IFdJLkxheW91dFRpbWVsaW5lVmlldyA9IGNsYXNzIExheW91dFRpbWVsaW5lVmlldyBleHRlbmRz
IFdJLlRpbWVsaW5lVmlldwogICAgICAgICByZXR1cm4gcGF0aENvbXBvbmVudHM7CiAgICAgfQog
Ci0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3du
KCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgdGhpcy5fdXBkYXRlSGln
aGxpZ2h0KCk7Ci0KLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuc2hvd24oKTsKICAgICB9CiAKLSAg
ICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIHRoaXMuX2hpZGVIaWdo
bGlnaHRJZk5lZWRlZCgpOwogCi0gICAgICAgIHRoaXMuX2RhdGFHcmlkLmhpZGRlbigpOwotCi0g
ICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0K
IAogICAgIGNsb3NlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Mb2dDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCmluZGV4IDQ2NTRiNjcxN2RlNS4u
MWI2Y2YyOWI2MmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Mb2dDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Mb2dDb250ZW50Vmlldy5qcwpAQCAtMTc5LDkgKzE3OSw5IEBA
IFdJLkxvZ0NvbnRlbnRWaWV3ID0gY2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250
ZW50VmlldwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAg
YXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIu
YXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl9sb2dWaWV3Q29udHJvbGxlci5yZW5kZXJQZW5k
aW5nTWVzc2FnZXMoKTsKICAgICB9CkBAIC0yNTUsNyArMjU1LDcgQEAgV0kuTG9nQ29udGVudFZp
ZXcgPSBjbGFzcyBMb2dDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICBz
aG93Q3VzdG9tRmluZEJhbm5lcigpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkK
KyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAg
ICAgICAgdGhpcy5fZmluZEJhbm5lci5mb2N1cygpOwpAQCAtMjYzLDcgKzI2Myw3IEBAIFdJLkxv
Z0NvbnRlbnRWaWV3ID0gY2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50Vmll
dwogCiAgICAgZ2V0IHN1cHBvcnRzU2F2ZSgpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlz
aWJsZSkKKyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICAgICAgaWYgKFdJLmlzU2hvd2luZ1NwbGl0Q29uc29sZSgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFUaW1l
bGluZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9NZWRpYVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwppbmRleCBjZWNjMDM0ZTNhMDUu
Ljk5NWEwNzNkZDE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3Jh
cGguanMKQEAgLTc4LDcgKzc4LDkgQEAgV0kuTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBj
bGFzcyBNZWRpYVRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlRpbWUKIAogICAgIGxh
eW91dCgpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIu
bGF5b3V0KCk7CisKKyAgICAgICAgaWYgKHRoaXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJu
OwogCiAgICAgICAgIGxldCBzZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLnRpbWVsaW5lT3ZlcnZpZXcu
c2Vjb25kc1BlclBpeGVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9NZWRpYVRpbWVsaW5lVmlldy5qcwppbmRleCAwMDBjMmQ5
ZmFiYzQuLmZhZjhiNDQ1YTVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZVZpZXcuanMKQEAgLTg3
LDIwICs4Nyw2IEBAIFdJLk1lZGlhVGltZWxpbmVWaWV3ID0gY2xhc3MgTWVkaWFUaW1lbGluZVZp
ZXcgZXh0ZW5kcyBXSS5UaW1lbGluZVZpZXcKICAgICAgICAgcmV0dXJuIFtwYXRoQ29tcG9uZW50
XTsKICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigpOwot
Ci0gICAgICAgIHRoaXMuX2RhdGFHcmlkLnNob3duKCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkK
LSAgICB7Ci0gICAgICAgIHRoaXMuX2RhdGFHcmlkLmhpZGRlbigpOwotCi0gICAgICAgIHN1cGVy
LmhpZGRlbigpOwotICAgIH0KLQogICAgIGNsb3NlZCgpCiAgICAgewogICAgICAgICB0aGlzLnJl
cHJlc2VudGVkT2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmUuRXZlbnQuUmVj
b3JkQWRkZWQsIHRoaXMuX2hhbmRsZVJlY29yZEFkZGVkLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L01lbW9yeVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwppbmRleCAwNTFhZTUxMzQxMTMuLjhlN2Mx
MzZjN2FlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTWVtb3J5VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5q
cwpAQCAtODEsNyArODEsOSBAQCBXSS5NZW1vcnlUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFz
cyBNZW1vcnlUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5kcyBXSS5UaQogCiAgICAgbGF5b3V0
KCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBzdXBlci5sYXlv
dXQoKTsKKworICAgICAgICBpZiAodGhpcy5oaWRkZW4pCiAgICAgICAgICAgICByZXR1cm47CiAK
ICAgICAgICAgdGhpcy5fdXBkYXRlTGVnZW5kKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZpZXcuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZpZXcu
anMKaW5kZXggZDY1ZTRlYTI1MzhmLi40ZGU3ZWY0ZDlmNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmlldy5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1l
bGluZVZpZXcuanMKQEAgLTEyMSwxMSArMTIxLDExIEBAIFdJLk1lbW9yeVRpbWVsaW5lVmlldyA9
IGNsYXNzIE1lbW9yeVRpbWVsaW5lVmlldyBleHRlbmRzIFdJLlRpbWVsaW5lVmlldwogCiAgICAg
Ly8gUHVibGljCiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAg
c3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAotICAgICAgICB0aGlz
Ll90aW1lbGluZVJ1bGVyLnVwZGF0ZUxheW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUp
OworICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLm5lZWRzTGF5b3V0KFdJLlZpZXcuTGF5b3V0
UmVhc29uLlJlc2l6ZSk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL011bHRpU2lkZWJhci5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL011bHRpU2lkZWJhci5qcwpp
bmRleCAwZDdlODIzNTY4MjIuLmQ2MzdiZjZiY2IwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTXVsdGlTaWRlYmFyLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL011bHRpU2lkZWJhci5qcwpAQCAt
MTcxLDcgKzE3MSw3IEBAIFdJLk11bHRpU2lkZWJhciA9IGNsYXNzIE11bHRpU2lkZWJhciBleHRl
bmRzIFdJLlNpZGViYXIKICAgICAgICAgdGhpcy5fdXBkYXRlTXVsdGlwbGVTaWRlYmFyTGF5b3V0
KCk7CiAgICAgfQogCi0gICAgZGlkU2V0Q29sbGFwc2VkKGZsYWcpCisgICAgZGlkU2V0Q29sbGFw
c2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMucHJpbWFyeVNpZGViYXIuY29sbGFwc2VkID0gdGhp
cy5jb2xsYXBzZWQ7CiAgICAgICAgIHRoaXMuX3VwZGF0ZU11bHRpcGxlU2lkZWJhckxheW91dCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
TmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKaW5kZXggNjgxNjVlYjc2MGFl
Li4zNWFjY2YzODZhMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcwpA
QCAtNDcxLDExICs0NzEsMTQgQEAgV0kuTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIE5h
dmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5TaWRlYmFyUGFuZWwKICAgICAgICAgdHJl
ZUVsZW1lbnQuaGlkZGVuID0gdHJ1ZTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNo
ZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNo
ZWQoKTsKIAogICAgICAgICB0aGlzLl91cGRhdGVDb250ZW50T3ZlcmZsb3dTaGFkb3dWaXNpYmls
aXR5RGVib3VuY2VyLmZvcmNlKCk7CisKKyAgICAgICAgaWYgKHRoaXMuX2NvbnRlbnRCcm93c2Vy
ICYmICF0aGlzLl9jb250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXcpCisgICAgICAgICAg
ICB0aGlzLnNob3dEZWZhdWx0Q29udGVudFZpZXcoKTsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0
ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L05ldHdvcmtEZXRhaWxWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvTmV0d29ya0RldGFpbFZpZXcuanMKaW5kZXggZWRmZjExYTIyOWE0Li42ZjM4Njg3
OGUxYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL05ldHdvcmtEZXRhaWxWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtEZXRhaWxWaWV3LmpzCkBAIC00NSw4ICs0NSwxMCBAQCBX
SS5OZXR3b3JrRGV0YWlsVmlldyA9IGNsYXNzIE5ldHdvcmtEZXRhaWxWaWV3IGV4dGVuZHMgV0ku
VmlldwogCiAgICAgZ2V0IHJlcHJlc2VudGVkT2JqZWN0KCkgeyByZXR1cm4gdGhpcy5fcmVwcmVz
ZW50ZWRPYmplY3Q7IH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgeworICAg
ICAgICBzdXBlci5hdHRhY2hlZCgpOworCiAgICAgICAgIGlmICghdGhpcy5fY29udGVudEJyb3dz
ZXIpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTU2LDEzICs1OCw2IEBAIFdJLk5ldHdvcmtE
ZXRhaWxWaWV3ID0gY2xhc3MgTmV0d29ya0RldGFpbFZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAg
ICAgICAgICB0aGlzLl9jb250ZW50QnJvd3Nlci5zaG93Q29udGVudFZpZXcodGhpcy5fY29udGVu
dEJyb3dzZXIuY3VycmVudENvbnRlbnRWaWV3LCB0aGlzLl9jb250ZW50Vmlld0Nvb2tpZSk7CiAg
ICAgICAgICAgICB0aGlzLl9jb250ZW50Vmlld0Nvb2tpZSA9IG51bGw7CiAgICAgICAgIH0KLQot
ICAgICAgICB0aGlzLl9jb250ZW50QnJvd3Nlci5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRl
bigpCi0gICAgewotICAgICAgICB0aGlzLl9jb250ZW50QnJvd3Nlci5oaWRkZW4oKTsKICAgICB9
CiAKICAgICBkaXNwb3NlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtSZXNvdXJjZURldGFpbFZpZXcuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrUmVzb3VyY2VEZXRhaWxWaWV3
LmpzCmluZGV4IDRkOTEyZTNhZmE5NS4uMjA0ZTc2NDcwNmU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrUmVzb3VyY2VEZXRhaWxW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05l
dHdvcmtSZXNvdXJjZURldGFpbFZpZXcuanMKQEAgLTQzLDEyICs0MywxMiBAQCBXSS5OZXR3b3Jr
UmVzb3VyY2VEZXRhaWxWaWV3ID0gY2xhc3MgTmV0d29ya1Jlc291cmNlRGV0YWlsVmlldyBleHRl
bmRzIFdJLk5ldHdvcgogCiAgICAgLy8gUHVibGljCiAKLSAgICBzaG93bigpCisgICAgYXR0YWNo
ZWQoKQogICAgIHsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKKwogICAgICAgICBpZiAodGhp
cy5fY29udGVudEJyb3dzZXIgJiYgdGhpcy5fY29udGVudFZpZXdDb29raWUgJiYgImxpbmVOdW1i
ZXIiIGluIHRoaXMuX2NvbnRlbnRWaWV3Q29va2llICYmICJjb2x1bW5OdW1iZXIiIGluIHRoaXMu
X2NvbnRlbnRWaWV3Q29va2llKQogICAgICAgICAgICAgdGhpcy5fY29udGVudEJyb3dzZXIubmF2
aWdhdGlvbkJhci5zZWxlY3RlZE5hdmlnYXRpb25JdGVtID0gdGhpcy5kZXRhaWxOYXZpZ2F0aW9u
SXRlbUZvcklkZW50aWZpZXIoInByZXZpZXciKTsKLQotICAgICAgICBzdXBlci5zaG93bigpOwog
ICAgIH0KIAogICAgIC8vIFJlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3IGRlbGVnYXRlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3Jr
VGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9OZXR3b3JrVGFiQ29udGVudFZpZXcuanMKaW5kZXggNDc2Mjc5ZmI2M2FlLi5kNTZiMTYw
NDAwMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL05ldHdvcmtUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFiQ29udGVudFZpZXcuanMKQEAgLTYxLDIwICs2
MSw2IEBAIFdJLk5ldHdvcmtUYWJDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJDb250ZW50
VmlldyBleHRlbmRzIFdJLlRhYkNvbnRlbnRWaWV3CiAKICAgICAvLyBQcm90ZWN0ZWQKIAotICAg
IHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAgICAgdGhpcy5f
Y29udGVudEJyb3dzZXIuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAg
ICAgICAgdGhpcy5fY29udGVudEJyb3dzZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgc3VwZXIuaGlk
ZGVuKCk7Ci0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMuX2NvbnRl
bnRCcm93c2VyLmNvbnRlbnRWaWV3Q29udGFpbmVyLmNsb3NlQWxsQ29udGVudFZpZXdzKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3
b3JrVGFibGVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmpzCmluZGV4IGI1MzI0Y2E2MjdiMy4u
ZGQ2MGViYjA2NDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcwpA
QCAtMjcxLDI1ICsyNzEsMTEgQEAgV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcgPSBjbGFzcyBO
ZXR3b3JrVGFibGVDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWUKICAgICAgICAgcmV0
dXJuIHtjdXN0b21TYXZlSGFuZGxlcjogKCkgPT4geyB0aGlzLl9leHBvcnRIQVIoKTsgfX07CiAg
ICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAg
ICAgICBpZiAodGhpcy5fZGV0YWlsVmlldykKLSAgICAgICAgICAgIHRoaXMuX2RldGFpbFZpZXcu
c2hvd24oKTsKLQotICAgICAgICBpZiAodGhpcy5fdGFibGUpCi0gICAgICAgICAgICB0aGlzLl90
YWJsZS5yZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQorICAg
IGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIHRoaXMuX2hpZGVQb3BvdmVyKCk7CiAKLSAgICAg
ICAgaWYgKHRoaXMuX2RldGFpbFZpZXcpCi0gICAgICAgICAgICB0aGlzLl9kZXRhaWxWaWV3Lmhp
ZGRlbigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hl
ZCgpOwogICAgIH0KIAogICAgIGNsb3NlZCgpCkBAIC0xNTUyLDggKzE1MzgsNiBAQCBXSS5OZXR3
b3JrVGFibGVDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3IGV4dGVu
ZHMgV0kuQ29udGVudFZpZQogICAgICAgICB0aGlzLl90YWJsZS5zY3JvbGxDb250YWluZXIuc3R5
bGUucmVtb3ZlUHJvcGVydHkoIndpZHRoIik7CiAKICAgICAgICAgdGhpcy5yZW1vdmVTdWJ2aWV3
KHRoaXMuX2RldGFpbFZpZXcpOwotCi0gICAgICAgIHRoaXMuX2RldGFpbFZpZXcuaGlkZGVuKCk7
CiAgICAgICAgIHRoaXMuX2RldGFpbFZpZXcgPSBudWxsOwogCiAgICAgICAgIHRoaXMuX3RhYmxl
LnVwZGF0ZUxheW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOwpAQCAtMTU3OCwxNyAr
MTU2MiwxNCBAQCBXSS5OZXR3b3JrVGFibGVDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJs
ZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZQogICAgICAgICAgICAgdGhpcy5fZGV0
YWlsVmlld01hcC5zZXQob2JqZWN0LCB0aGlzLl9kZXRhaWxWaWV3KTsKICAgICAgICAgfQogCi0g
ICAgICAgIGlmIChvbGREZXRhaWxWaWV3KSB7Ci0gICAgICAgICAgICBvbGREZXRhaWxWaWV3Lmhp
ZGRlbigpOworICAgICAgICBpZiAob2xkRGV0YWlsVmlldykKICAgICAgICAgICAgIHRoaXMucmVw
bGFjZVN1YnZpZXcob2xkRGV0YWlsVmlldywgdGhpcy5fZGV0YWlsVmlldyk7Ci0gICAgICAgIH0g
ZWxzZQorICAgICAgICBlbHNlCiAgICAgICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fZGV0
YWlsVmlldyk7CiAKICAgICAgICAgaWYgKHRoaXMuX3Nob3dpbmdSZXByZXNlbnRlZE9iamVjdENv
b2tpZSkKICAgICAgICAgICAgIHRoaXMuX2RldGFpbFZpZXcud2lsbFNob3dXaXRoQ29va2llKHRo
aXMuX3Nob3dpbmdSZXByZXNlbnRlZE9iamVjdENvb2tpZSk7CiAKLSAgICAgICAgdGhpcy5fZGV0
YWlsVmlldy5zaG93bigpOwotCiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJz
aG93aW5nLWRldGFpbCIpOwogICAgICAgICB0aGlzLl90YWJsZS5zY3JvbGxDb250YWluZXIuc3R5
bGUud2lkdGggPSB0aGlzLl9uYW1lQ29sdW1uLndpZHRoICsgInB4IjsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5l
T3ZlcnZpZXdHcmFwaC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL05ldHdvcmtUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggMzI4M2Y5MzJlMTFjLi5h
YWIzYmQwYjg0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL05ldHdvcmtUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdH
cmFwaC5qcwpAQCAtNjgsNyArNjgsOSBAQCBXSS5OZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBo
ID0gY2xhc3MgTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLgogCiAgICAg
bGF5b3V0KCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBzdXBl
ci5sYXlvdXQoKTsKKworICAgICAgICBpZiAodGhpcy5oaWRkZW4pCiAgICAgICAgICAgICByZXR1
cm47CiAKICAgICAgICAgbGV0IHNlY29uZHNQZXJQaXhlbCA9IHRoaXMudGltZWxpbmVPdmVydmll
dy5zZWNvbmRzUGVyUGl4ZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcwppbmRleCAx
MGEwZjQ0MmU0MjQuLjVhOGY0NjRjYTJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVWaWV3
LmpzCkBAIC0xNjEsMjAgKzE2MSw2IEBAIFdJLk5ldHdvcmtUaW1lbGluZVZpZXcgPSBjbGFzcyBO
ZXR3b3JrVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuVGltZWxpbmVWaWV3CiAgICAgICAgIHJldHVy
biBbcGF0aENvbXBvbmVudF07CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAg
c3VwZXIuc2hvd24oKTsKLQotICAgICAgICB0aGlzLl9kYXRhR3JpZC5zaG93bigpOwotICAgIH0K
LQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICB0aGlzLl9kYXRhR3JpZC5oaWRkZW4oKTsK
LQotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBjbG9zZWQoKQogICAgIHsK
ICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlRp
bWVsaW5lLkV2ZW50LlJlY29yZEFkZGVkLCB0aGlzLl9uZXR3b3JrVGltZWxpbmVSZWNvcmRBZGRl
ZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGltZWxpbmVWaWV3LmpzCmluZGV4IGIxZGZjMGI2
NWJjMy4uNWNhNjUwODc2NzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcwpA
QCAtOTcsMTEgKzk3LDExIEBAIFdJLk92ZXJ2aWV3VGltZWxpbmVWaWV3ID0gY2xhc3MgT3ZlcnZp
ZXdUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lbGluZVZpZXcKICAgICAgICAgdGhpcy5fdGlt
ZWxpbmVSdWxlci5zZWNvbmRzUGVyUGl4ZWwgPSB4OwogICAgIH0KIAotICAgIHNob3duKCkKKyAg
ICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBl
ci5hdHRhY2hlZCgpOwogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIudXBkYXRlTGF5b3V0
KFdJLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSk7CisgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVs
ZXIubmVlZHNMYXlvdXQoV0kuVmlldy5MYXlvdXRSZWFzb24uUmVzaXplKTsKICAgICB9CiAKICAg
ICBjbG9zZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVjb3JkaW5nQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9SZWNvcmRpbmdDb250ZW50Vmlldy5qcwppbmRleCA1YWVjMTg1
MTNjZmQuLmFiZTQ4ODZjZGU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvUmVjb3JkaW5nQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVjb3JkaW5nQ29udGVudFZpZXcuanMK
QEAgLTExOSw5ICsxMTksOSBAQCBXSS5SZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFJlY29y
ZGluZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgdGhpcy5kaXNw
YXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuQ29udGVudFZpZXcuRXZlbnQuU3VwcGxlbWVudGFsUmVw
cmVzZW50ZWRPYmplY3RzRGlkQ2hhbmdlKTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0
YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0
YWNoZWQoKTsKIAogICAgICAgICBsZXQgaXNDYW52YXMyRCA9IHRoaXMucmVwcmVzZW50ZWRPYmpl
Y3QudHlwZSA9PT0gV0kuUmVjb3JkaW5nLlR5cGUuQ2FudmFzMkQ7CiAgICAgICAgIGxldCBpc0Nh
bnZhc0JpdG1hcFJlbmRlcmVyID0gdGhpcy5yZXByZXNlbnRlZE9iamVjdC50eXBlID09PSBXSS5S
ZWNvcmRpbmcuVHlwZS5DYW52YXNCaXRtYXBSZW5kZXJlcjsKQEAgLTEzNCwxMSArMTM0LDExIEBA
IFdJLlJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgUmVjb3JkaW5nQ29udGVudFZpZXcgZXh0
ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB9CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAg
ICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQogICAgICAgICB0
aGlzLl9nZW5lcmF0ZUNvbnRlbnRUaHJvdHRsZXIuY2FuY2VsKCk7CisKKyAgICAgICAgc3VwZXIu
ZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxp
bmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggODI4NWNi
N2JmN2Y0Li5iNzE1NjBjMzAzNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC0xMDIsNyArMTAyLDkgQEAgV0kuUmVu
ZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBSZW5kZXJpbmdGcmFtZVRp
bWVsaW5lT3ZlcnZpZXdHcmEKIAogICAgIGxheW91dCgpCiAgICAgewotICAgICAgICBpZiAoIXRo
aXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisKKyAgICAgICAgaWYgKHRoaXMu
aGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghdGhpcy5fcmVuZGVy
aW5nRnJhbWVUaW1lbGluZS5yZWNvcmRzLmxlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5n
RnJhbWVUaW1lbGluZVZpZXcuanMKaW5kZXggY2JjMDBiMDYyYTJiLi4zMDc4ZDg1ODhlOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRl
cmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzCkBAIC0xMTUsMjAg
KzExNSw2IEBAIFdJLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3ID0gY2xhc3MgUmVuZGVyaW5n
RnJhbWVUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lCiAKICAgICBnZXQgc2hvd3NMaXZlUmVj
b3JkaW5nRGF0YSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAg
ICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAgIHRoaXMuX2RhdGFHcmlkLnNob3duKCk7Ci0g
ICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2RhdGFHcmlkLmhpZGRl
bigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotICAgIH0KLQogICAgIGNsb3NlZCgpCiAg
ICAgewogICAgICAgICB0aGlzLnJlcHJlc2VudGVkT2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIo
V0kuVGltZWxpbmUuRXZlbnQuUmVjb3JkQWRkZWQsIHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxp
bmVSZWNvcmRBZGRlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNsdXN0ZXJDb250ZW50Vmlldy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ2x1c3RlckNvbnRl
bnRWaWV3LmpzCmluZGV4IGI3ZmEyYTE3ZjdlZi4uNzk5MDA1ZjU4MmRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNsdXN0ZXJD
b250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9SZXNvdXJjZUNsdXN0ZXJDb250ZW50Vmlldy5qcwpAQCAtNzcsOSArNzcsOSBAQCBXSS5S
ZXNvdXJjZUNsdXN0ZXJDb250ZW50VmlldyA9IGNsYXNzIFJlc291cmNlQ2x1c3RlckNvbnRlbnRW
aWV3IGV4dGVuZHMgV0kuQ2x1cwogICAgICAgICByZXR1cm4gY29tcG9uZW50cy5jb25jYXQoY3Vy
cmVudENvbnRlbnRWaWV3LnNlbGVjdGlvblBhdGhDb21wb25lbnRzKTsKICAgICB9CiAKLSAgICBz
aG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAg
ICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICBpZiAodGhpcy5fc2hvd25Jbml0aWFs
Q29udGVudCkKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VIZWFk
ZXJzQ29udGVudFZpZXcuanMKaW5kZXggMTYyMmNjMWY5NWNiLi5jYzFiZDQ1MGE3YjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNl
SGVhZGVyc0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1Jlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3LmpzCkBAIC0xMjIsMTIgKzEy
MiwxMiBAQCBXSS5SZXNvdXJjZUhlYWRlcnNDb250ZW50VmlldyA9IGNsYXNzIFJlc291cmNlSGVh
ZGVyc0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udAogICAgICAgICB9CiAgICAgfQogCi0gICAg
aGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsK
LQogICAgICAgICBpZiAodGhpcy5fcG9wb3ZlcikKICAgICAgICAgICAgIHRoaXMuX3BvcG92ZXIu
ZGlzbWlzcygpOworCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgY2xv
c2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NjcmlwdENvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU2NyaXB0Q29udGVudFZpZXcuanMKaW5kZXggYjdmNjEzOGI5NmE3Li5lYTFh
MjQzZTY0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NjcmlwdENvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdENvbnRlbnRWaWV3LmpzCkBAIC0xMTQsMjAgKzExNCw2
IEBAIFdJLlNjcmlwdENvbnRlbnRWaWV3ID0gY2xhc3MgU2NyaXB0Q29udGVudFZpZXcgZXh0ZW5k
cyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnJldmVhbFBvc2l0aW9u
KHBvc2l0aW9uLCB0ZXh0UmFuZ2VUb1NlbGVjdCwgZm9yY2VVbmZvcm1hdHRlZCk7CiAgICAgfQog
Ci0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAgICB0
aGlzLl90ZXh0RWRpdG9yLnNob3duKCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0g
ICAgICAgIHN1cGVyLmhpZGRlbigpOwotCi0gICAgICAgIHRoaXMuX3RleHRFZGl0b3IuaGlkZGVu
KCk7Ci0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHN1cGVyLmNsb3NlZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMKaW5kZXggNTY0ZDVj
ZjUwZDkwLi5mZGE3NDMxMTVhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVs
aW5lVmlldy5qcwpAQCAtOTAsMjAgKzkwLDYgQEAgV0kuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmll
dyA9IGNsYXNzIFNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lbGkKIAog
ICAgIGdldCBzaG93c0xpdmVSZWNvcmRpbmdEYXRhKCkgeyByZXR1cm4gZmFsc2U7IH0KIAotICAg
IHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAgICAgdGhpcy5f
ZGF0YUdyaWQuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAg
dGhpcy5fZGF0YUdyaWQuaGlkZGVuKCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0gICAg
fQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3Qu
cmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwgdGhpcy5f
c2NyaXB0VGltZWxpbmVSZWNvcmRBZGRlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3Jh
cGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRU
aW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggOGUzOGViZjhhZjlhLi4yYzQyYjM2ZjdmMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nj
cmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTUy
LDcgKzUyLDkgQEAgV0kuU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgU2NyaXB0
VGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV0kuVGkKIAogICAgIGxheW91dCgpCiAgICAg
ewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisK
KyAgICAgICAgaWYgKHRoaXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IGxldCBzZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLnRpbWVsaW5lT3ZlcnZpZXcuc2Vjb25kc1BlclBp
eGVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU2VhcmNoVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TZWFyY2hUYWJDb250ZW50Vmlldy5qcwppbmRleCBjMmFmMTVhOTcxZmQu
LmM1MjhhYjhkMzY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU2VhcmNoVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoVGFiQ29udGVudFZpZXcuanMKQEAgLTcy
LDkgKzcyLDkgQEAgV0kuU2VhcmNoVGFiQ29udGVudFZpZXcgPSBjbGFzcyBTZWFyY2hUYWJDb250
ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93c2VyVGEKICAgICAgICAgcmV0dXJuIFdJLlNl
YXJjaFRhYkNvbnRlbnRWaWV3LlR5cGU7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFj
aGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFj
aGVkKCk7CiAKICAgICAgICAgLy8gUGVyZm9ybSBvbiBhIGRlbGF5IGJlY2F1c2UgdGhlIGZpZWxk
IG1pZ2h0IG5vdCBiZSB2aXNpYmxlIHlldC4KICAgICAgICAgc2V0VGltZW91dCh0aGlzLmZvY3Vz
U2VhcmNoRmllbGQuYmluZCh0aGlzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TaGFkZXJQcm9ncmFtQ29udGVudFZpZXcuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaGFkZXJQcm9ncmFtQ29udGVu
dFZpZXcuanMKaW5kZXggNTFlZjYxMTU1MzIwLi5lMjJhNGRiZjg5ZTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NoYWRlclByb2dyYW1Db250
ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9TaGFkZXJQcm9ncmFtQ29udGVudFZpZXcuanMKQEAgLTExOCw0MiArMTE4LDEzIEBAIFdJLlNo
YWRlclByb2dyYW1Db250ZW50VmlldyA9IGNsYXNzIFNoYWRlclByb2dyYW1Db250ZW50VmlldyBl
eHRlbmRzIFdJLkNvbnRlbnRWCiAKICAgICAvLyBQcm90ZWN0ZWQKIAotICAgIHNob3duKCkKKyAg
ICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAgIHN3
aXRjaCAodGhpcy5yZXByZXNlbnRlZE9iamVjdC5wcm9ncmFtVHlwZSkgewotICAgICAgICBjYXNl
IFdJLlNoYWRlclByb2dyYW0uUHJvZ3JhbVR5cGUuQ29tcHV0ZToKLSAgICAgICAgICAgIHRoaXMu
X2NvbXB1dGVFZGl0b3Iuc2hvd24oKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGNh
c2UgV0kuU2hhZGVyUHJvZ3JhbS5Qcm9ncmFtVHlwZS5SZW5kZXI6Ci0gICAgICAgICAgICB0aGlz
Ll92ZXJ0ZXhFZGl0b3Iuc2hvd24oKTsKLSAgICAgICAgICAgIGlmICghdGhpcy5yZXByZXNlbnRl
ZE9iamVjdC5zaGFyZXNWZXJ0ZXhGcmFnbWVudFNoYWRlcikKLSAgICAgICAgICAgICAgICB0aGlz
Ll9mcmFnbWVudEVkaXRvci5zaG93bigpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
KyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl9yZWZyZXNoQ29udGVu
dCgpOwogICAgIH0KIAotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRoaXMu
cmVwcmVzZW50ZWRPYmplY3QucHJvZ3JhbVR5cGUpIHsKLSAgICAgICAgY2FzZSBXSS5TaGFkZXJQ
cm9ncmFtLlByb2dyYW1UeXBlLkNvbXB1dGU6Ci0gICAgICAgICAgICB0aGlzLl9jb21wdXRlRWRp
dG9yLmhpZGRlbigpOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSBXSS5TaGFk
ZXJQcm9ncmFtLlByb2dyYW1UeXBlLlJlbmRlcjoKLSAgICAgICAgICAgIHRoaXMuX3ZlcnRleEVk
aXRvci5oaWRkZW4oKTsKLSAgICAgICAgICAgIGlmICghdGhpcy5yZXByZXNlbnRlZE9iamVjdC5z
aGFyZXNWZXJ0ZXhGcmFnbWVudFNoYWRlcikKLSAgICAgICAgICAgICAgICB0aGlzLl9mcmFnbWVu
dEVkaXRvci5oaWRkZW4oKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAg
ICAgc3VwZXIuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgZ2V0IHN1cHBvcnRzU2F2ZSgpCiAgICAg
ewogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyLmpzCmluZGV4IDdmZmE5YjBlMDZlOS4uN2RhNDhk
NGQ2ZDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TaWRlYmFyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NpZGViYXIuanMKQEAgLTEyNiwxNCArMTI2LDcgQEAgV0kuU2lkZWJhciA9IGNsYXNz
IFNpZGViYXIgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIHRoaXMuX2NvbGxhcHNlZCA9IGZsYWcg
fHwgZmFsc2U7CiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFdJLlNpZGVi
YXIuQ29sbGFwc2VkU3R5bGVDbGFzc05hbWUpOwogCi0gICAgICAgIGlmICh0aGlzLl9zZWxlY3Rl
ZFNpZGViYXJQYW5lbCkgewotICAgICAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkU2lkZWJhclBh
bmVsLnZpc2libGUpCi0gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRTaWRlYmFyUGFuZWwu
c2hvd24oKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3Rl
ZFNpZGViYXJQYW5lbC5oaWRkZW4oKTsKLSAgICAgICAgfQotCi0gICAgICAgIHRoaXMuZGlkU2V0
Q29sbGFwc2VkKGZsYWcpOworICAgICAgICB0aGlzLmRpZFNldENvbGxhcHNlZCgpOwogCiAgICAg
ICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlNpZGViYXIuRXZlbnQuQ29sbGFw
c2VkU3RhdGVEaWRDaGFuZ2UpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcwppbmRleCA2NjQ3Mjk4
NGE0NDcuLjQ4NWQxM2I2Mzc5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcwpAQCAtMTE0LDIxICsxMTQs
MTggQEAgV0kuU2lkZWJhclBhbmVsID0gY2xhc3MgU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuVmll
dwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFj
aGVkKCkKICAgICB7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CisKICAgICAgICAgdGhpcy5z
Y3JvbGxFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuX3NhdmVkU2Nyb2xsUG9zaXRpb247Ci0KLSAg
ICAgICAgLy8gRklYTUU6IHJlbW92ZSBvbmNlIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTA3NDE+
IGlzIGZpeGVkLgotICAgICAgICB0aGlzLnVwZGF0ZUxheW91dElmTmVlZGVkKCk7Ci0KLSAgICAg
ICAgLy8gSW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KICAgICB9CiAKLSAgICBoaWRkZW4oKQor
ICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIHRoaXMuX3NhdmVkU2Nyb2xsUG9zaXRpb24g
PSB0aGlzLnNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wOwogCi0gICAgICAgIC8vIEltcGxlbWVudGVk
IGJ5IHN1YmNsYXNzZXMuCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAg
Ly8gUHJvdGVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TaW5nbGVTaWRlYmFyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU2luZ2xlU2lkZWJhci5qcwppbmRleCBjMjdjNjdhMTExNDIuLmYzZWQ0
ZGU0ZjA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2luZ2xlU2lkZWJhci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TaW5nbGVTaWRlYmFyLmpzCkBAIC0xMDAsMjkgKzEwMCwzNSBAQCBXSS5T
aW5nbGVTaWRlYmFyID0gY2xhc3MgU2luZ2xlU2lkZWJhciBleHRlbmRzIFdJLlNpZGViYXIKICAg
ICB3aWxsU2V0U2VsZWN0ZWRTaWRlYmFyUGFuZWwoc2lkZWJhclBhbmVsKQogICAgIHsKICAgICAg
ICAgaWYgKHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpIHsKLSAgICAgICAgICAgIHRoaXMuc2Vs
ZWN0ZWRTaWRlYmFyUGFuZWwuaGlkZGVuKCk7Ci0gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2lk
ZWJhclBhbmVsLnNlbGVjdGVkID0gZmFsc2U7CiAgICAgICAgICAgICB0aGlzLnJlbW92ZVN1YnZp
ZXcodGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbCk7CisgICAgICAgICAgICB0aGlzLnNlbGVjdGVk
U2lkZWJhclBhbmVsLnNlbGVjdGVkID0gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBk
aWRTZXRTZWxlY3RlZFNpZGViYXJQYW5lbChzaWRlYmFyUGFuZWwpCiAgICAgewogICAgICAgICBp
ZiAodGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbCkgewotICAgICAgICAgICAgdGhpcy5hZGRTdWJ2
aWV3KHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpOwogICAgICAgICAgICAgdGhpcy5zZWxlY3Rl
ZFNpZGViYXJQYW5lbC5zZWxlY3RlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAoIXRoaXMuY29s
bGFwc2VkKSB7Ci0gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbC5zaG93
bigpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuc2Vs
ZWN0ZWRTaWRlYmFyUGFuZWwpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRoaXMuX25hdmln
YXRpb25CYXIpCiAgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLnNlbGVjdGVkTmF2aWdh
dGlvbkl0ZW0gPSB0aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsPy5uYXZpZ2F0aW9uSXRlbSA/PyBu
dWxsOwogICAgIH0KIAotICAgIGRpZFNldENvbGxhcHNlZChmbGFnKQorICAgIGRpZFNldENvbGxh
cHNlZCgpCiAgICAgewotICAgICAgICBpZiAoIWZsYWcgJiYgdGhpcy5fbmF2aWdhdGlvbkJhcikK
KyAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpIHsKKyAgICAgICAgICAgIGlm
ICh0aGlzLmNvbGxhcHNlZCkgeworICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkU2lk
ZWJhclBhbmVsLmlzQXR0YWNoZWQpCisgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU3Vi
dmlldyh0aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsKTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsLmlzQXR0YWNoZWQp
CisgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLnNlbGVjdGVkU2lkZWJh
clBhbmVsKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmICghdGhpcy5j
b2xsYXBzZWQgJiYgdGhpcy5fbmF2aWdhdGlvbkJhcikKICAgICAgICAgICAgIHRoaXMuX25hdmln
YXRpb25CYXIubmVlZHNMYXlvdXQoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRF
ZGl0b3IuanMKaW5kZXggOWFhYmIzZWI3OGU0Li41ZWE5NjMzNjQ3NjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRp
dG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nv
dXJjZUNvZGVUZXh0RWRpdG9yLmpzCkBAIC0xMjQsOSArMTI0LDkgQEAgV0kuU291cmNlQ29kZVRl
eHRFZGl0b3IgPSBjbGFzcyBTb3VyY2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdJLlRleHRFZGl0
b3IKICAgICAgICAgcmV0dXJuIFdJLm1haW5UYXJnZXQ7CiAgICAgfQogCi0gICAgc2hvd24oKQor
ICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1
cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnNob3dKYXZhU2NyaXB0
VHlwZUluZm9ybWF0aW9uLnZhbHVlKSB7CiAgICAgICAgICAgICBpZiAodGhpcy5fdHlwZVRva2Vu
QW5ub3RhdG9yKQpAQCAtMTQ5LDEwICsxNDksOCBAQCBXSS5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9
IGNsYXNzIFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVGV4dEVkaXRvcgogICAgICAg
ICB9CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewotICAgICAg
ICBzdXBlci5oaWRkZW4oKTsKLQogICAgICAgICB0aGlzLnRva2VuVHJhY2tpbmdDb250cm9sbGVy
LnJlbW92ZUhpZ2hsaWdodGVkUmFuZ2UoKTsKIAogICAgICAgICB0aGlzLl9kaXNtaXNzUG9wb3Zl
cigpOwpAQCAtMTYzLDYgKzE2MSw4IEBAIFdJLlNvdXJjZUNvZGVUZXh0RWRpdG9yID0gY2xhc3Mg
U291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5kcyBXSS5UZXh0RWRpdG9yCiAgICAgICAgICAgICB0
aGlzLl90eXBlVG9rZW5Bbm5vdGF0b3IucGF1c2UoKTsKICAgICAgICAgaWYgKHRoaXMuX2Jhc2lj
QmxvY2tBbm5vdGF0b3IpCiAgICAgICAgICAgICB0aGlzLl9iYXNpY0Jsb2NrQW5ub3RhdG9yLnBh
dXNlKCk7CisKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICBjbG9zZSgp
CkBAIC0yMTQyLDcgKzIxNDIsNyBAQCBXSS5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9IGNsYXNzIFNv
dXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVGV4dEVkaXRvcgogICAgICAgICAgICAgcmV0
dXJuOwogCiAgICAgICAgIGlmIChzaG91bGRBY3RpdmF0ZSkgewotICAgICAgICAgICAgY29uc29s
ZS5hc3NlcnQodGhpcy52aXNpYmxlLCAiQW5ub3RhdG9ycyBzaG91bGQgbm90IGJlIGVuYWJsZWQg
aWYgdGhlIFRleHRFZGl0b3IgaXMgbm90IHZpc2libGUiKTsKKyAgICAgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KHRoaXMuaXNBdHRhY2hlZCwgIkFubm90YXRvcnMgc2hvdWxkIG5vdCBiZSBlbmFibGVk
IGlmIHRoZSBUZXh0RWRpdG9yIGlzIG5vdCB2aXNpYmxlIik7CiAKICAgICAgICAgICAgIHRoaXMu
X3R5cGVUb2tlbkFubm90YXRvci5yZXNldCgpOwogCkBAIC0yMTY2LDcgKzIxNjYsNyBAQCBXSS5T
b3VyY2VDb2RlVGV4dEVkaXRvciA9IGNsYXNzIFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMg
V0kuVGV4dEVkaXRvcgogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmIChzaG91bGRB
Y3RpdmF0ZSkgewotICAgICAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy52aXNpYmxlLCAiQW5u
b3RhdG9ycyBzaG91bGQgbm90IGJlIGVuYWJsZWQgaWYgdGhlIFRleHRFZGl0b3IgaXMgbm90IHZp
c2libGUiKTsKKyAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuaXNBdHRhY2hlZCwgIkFu
bm90YXRvcnMgc2hvdWxkIG5vdCBiZSBlbmFibGVkIGlmIHRoZSBUZXh0RWRpdG9yIGlzIG5vdCB2
aXNpYmxlIik7CiAKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl9iYXNpY0Jsb2Nr
QW5ub3RhdG9yLmlzQWN0aXZlKCkpOwogICAgICAgICAgICAgdGhpcy5fYmFzaWNCbG9ja0Fubm90
YXRvci5yZXNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uRWRpdG9yLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHls
ZURlY2xhcmF0aW9uRWRpdG9yLmpzCmluZGV4IGYzZTg1NDlhZjI0MS4uNjViYTM1MjVhNGE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJl
YWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25FZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9u
RWRpdG9yLmpzCkBAIC0xMjcsMTIgKzEyNyw4IEBAIFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNs
YXJhdGlvbkVkaXRvciA9IGNsYXNzIFNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvbkVkCiAK
ICAgICAgICAgZm9yIChsZXQgcHJvcGVydHlWaWV3IG9mIHRoaXMuX3Byb3BlcnR5Vmlld3MpCiAg
ICAgICAgICAgICBwcm9wZXJ0eVZpZXcuZGV0YWNoZWQoKTsKLSAgICB9CiAKLSAgICBoaWRkZW4o
KQotICAgIHsKLSAgICAgICAgZm9yIChsZXQgcHJvcGVydHlWaWV3IG9mIHRoaXMuX3Byb3BlcnR5
Vmlld3MpCi0gICAgICAgICAgICBwcm9wZXJ0eVZpZXcuaGlkZGVuKCk7CisgICAgICAgIHN1cGVy
LmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgZ2V0IHN0eWxlKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVE
ZWNsYXJhdGlvblNlY3Rpb24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCmluZGV4IDcw
ODY3ODVkNWNkNi4uM2M0MTBmNzMyZTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0
aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nw
cmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKQEAgLTE4NywxMSArMTg3LDYg
QEAgV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIFNwcmVh
ZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblMKICAgICAgICAgICAgIHRoaXMuc3RhcnRFZGl0aW5n
UnVsZVNlbGVjdG9yKCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHRo
aXMuX3Byb3BlcnRpZXNFZGl0b3IuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgc3RhcnRFZGl0aW5n
UnVsZVNlbGVjdG9yKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fc2VsZWN0b3JFbGVtZW50
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9TcHJlYWRzaGVldFJ1bGVzU3R5bGVEZXRhaWxzUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldFJ1bGVzU3R5bGVEZXRhaWxzUGFu
ZWwuanMKaW5kZXggMTlhZmQ3YWUzZGY3Li4yZTQwNzgyMTgzN2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0UnVsZXNTdHls
ZURldGFpbHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9TcHJlYWRzaGVldFJ1bGVzU3R5bGVEZXRhaWxzUGFuZWwuanMKQEAgLTY2LDE0ICs2
Niw2IEBAIFdJLlNwcmVhZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFNwcmVh
ZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbCBlCiAgICAgICAgIHN1cGVyLnJlZnJlc2goc2ln
bmlmaWNhbnRDaGFuZ2UpOwogICAgIH0KIAotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBm
b3IgKGxldCBzZWN0aW9uIG9mIHRoaXMuX3NlY3Rpb25zKQotICAgICAgICAgICAgc2VjdGlvbi5o
aWRkZW4oKTsKLQotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBzY3JvbGxU
b1NlY3Rpb25BbmRIaWdobGlnaHRQcm9wZXJ0eShwcm9wZXJ0eSkKICAgICB7CiAgICAgICAgIGlm
ICghdGhpcy5fdmlzaWJsZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRTdHlsZVByb3BlcnR5LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRTdHlsZVByb3BlcnR5
LmpzCmluZGV4IDM5YzhlZTY2MjhmZS4uY2U0OTUzNjg3ZDZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldFN0eWxlUHJvcGVy
dHkuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3By
ZWFkc2hlZXRTdHlsZVByb3BlcnR5LmpzCkBAIC0xMjEsNiArMTIxLDExIEBAIFdJLlNwcmVhZHNo
ZWV0U3R5bGVQcm9wZXJ0eSA9IGNsYXNzIFNwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eSBleHRlbmRz
IFdJLk9iamVjdAogCiAgICAgZGV0YWNoZWQoKQogICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX25h
bWVUZXh0RmllbGQ/LmVkaXRpbmcpCisgICAgICAgICAgICB0aGlzLl9uYW1lVGV4dEZpZWxkLmVs
ZW1lbnQuYmx1cigpOworICAgICAgICBlbHNlIGlmICh0aGlzLl92YWx1ZVRleHRGaWVsZD8uZWRp
dGluZykKKyAgICAgICAgICAgIHRoaXMuX3ZhbHVlVGV4dEZpZWxkLmVsZW1lbnQuYmx1cigpOwor
CiAgICAgICAgIGlmICh0aGlzLl9uYW1lVGV4dEZpZWxkKQogICAgICAgICAgICAgdGhpcy5fbmFt
ZVRleHRGaWVsZC5kZXRhY2hlZCgpOwogCkBAIC0xMjgsMTQgKzEzMyw2IEBAIFdJLlNwcmVhZHNo
ZWV0U3R5bGVQcm9wZXJ0eSA9IGNsYXNzIFNwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eSBleHRlbmRz
IFdJLk9iamVjdAogICAgICAgICAgICAgdGhpcy5fdmFsdWVUZXh0RmllbGQuZGV0YWNoZWQoKTsK
ICAgICB9CiAKLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX25hbWVUZXh0
RmllbGQgJiYgdGhpcy5fbmFtZVRleHRGaWVsZC5lZGl0aW5nKQotICAgICAgICAgICAgdGhpcy5f
bmFtZVRleHRGaWVsZC5lbGVtZW50LmJsdXIoKTsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5fdmFs
dWVUZXh0RmllbGQgJiYgdGhpcy5fdmFsdWVUZXh0RmllbGQuZWRpdGluZykKLSAgICAgICAgICAg
IHRoaXMuX3ZhbHVlVGV4dEZpZWxkLmVsZW1lbnQuYmx1cigpOwotICAgIH0KLQogICAgIHJlbW92
ZShyZXBsYWNlbWVudCA9IG51bGwpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fZGVsZWdhdGUg
JiYgdHlwZW9mIHRoaXMuX2RlbGVnYXRlLnNwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eVdpbGxSZW1v
dmUgPT09ICJmdW5jdGlvbiIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1N0eWxlRGV0YWlsc1BhbmVsLmpzCmluZGV4IGFiNmQz
ZjUyMjZjNS4uZmQ2YWE4NjgzYWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcwpAQCAt
MzYsNyArMzYsNiBAQCBXSS5TdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFN0eWxlRGV0YWlsc1Bh
bmVsIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uSW5mbyA9IHtpZGVu
dGlmaWVyLCBsYWJlbH07CiAKICAgICAgICAgdGhpcy5fbm9kZVN0eWxlcyA9IG51bGw7Ci0gICAg
ICAgIHRoaXMuX3Zpc2libGUgPSBmYWxzZTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKQEAgLTU3
LDI0ICs1NiwxMSBAQCBXSS5TdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFN0eWxlRGV0YWlsc1Bh
bmVsIGV4dGVuZHMgV0kuVmlldwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAg
c2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl92aXNpYmxl
KQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX3Zpc2libGUgPSB0cnVlOwor
ICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIHRoaXMuX3JlZnJlc2hOb2RlU3R5
bGVzKCk7Ci0KLSAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBvbmNlIDxodHRwczovL3dlYmtpdC5v
cmcvYi8xNTA3NDE+IGlzIGZpeGVkLgotICAgICAgICB0aGlzLnVwZGF0ZUxheW91dElmTmVlZGVk
KCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Zpc2libGUg
PSBmYWxzZTsKLQotICAgICAgICB0aGlzLmNhbmNlbExheW91dCgpOwogICAgIH0KIAogICAgIG1h
cmtBc05lZWRzUmVmcmVzaChkb21Ob2RlKQpAQCAtMTAzLDcgKzg5LDcgQEAgV0kuU3R5bGVEZXRh
aWxzUGFuZWwgPSBjbGFzcyBTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdJLlZpZXcKICAgICAg
ICAgICAgIHRoaXMuX2ZvcmNlU2lnbmlmaWNhbnRDaGFuZ2UgPSB0cnVlOwogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICh0aGlzLmlzQXR0YWNoZWQp
CiAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoTm9kZVN0eWxlcygpOwogICAgIH0KIApAQCAtMTE2
LDcgKzEwMiw3IEBAIFdJLlN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxzUGFu
ZWwgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICBub2RlU3R5bGVzUmVmcmVzaGVkKGV2ZW50KQogICAg
IHsKLSAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICh0aGlzLmlzQXR0YWNo
ZWQpCiAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoUHJlc2VydmluZ1Njcm9sbFBvc2l0aW9uKGV2
ZW50LmRhdGEuc2lnbmlmaWNhbnRDaGFuZ2UpOwogICAgIH0KIApAQCAtMTYzLDcgKzE0OSw3IEBA
IFdJLlN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBX
SS5WaWV3CiAKICAgICBfbm9kZVN0eWxlc05lZWRzUmVmcmVzaGVkKGV2ZW50KQogICAgIHsKLSAg
ICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICh0aGlzLmlzQXR0YWNoZWQpCiAg
ICAgICAgICAgICB0aGlzLl9yZWZyZXNoTm9kZVN0eWxlcygpOwogICAgIH0KIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJDb250ZW50
Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkNv
bnRlbnRWaWV3LmpzCmluZGV4IDdkNjY3NTAwMmZiNC4uZmQzMjA4MzRlNGIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJDb250ZW50Vmll
dy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJD
b250ZW50Vmlldy5qcwpAQCAtMTI1LDkgKzEyNSw5IEBAIFdJLlRhYkNvbnRlbnRWaWV3ID0gY2xh
c3MgVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAg
ICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAg
aWYgKHRoaXMuX3Nob3VsZFJlc3RvcmVTdGF0ZVdoZW5TaG93bikKICAgICAgICAgICAgIHRoaXMu
cmVzdG9yZVN0YXRlRnJvbUNvb2tpZShXSS5TdGF0ZVJlc3RvcmF0aW9uVHlwZS5EZWxheWVkKTsK
QEAgLTEzNSw3ICsxMzUsNyBAQCBXSS5UYWJDb250ZW50VmlldyA9IGNsYXNzIFRhYkNvbnRlbnRW
aWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAogICAgIHJlc3RvcmVTdGF0ZUZyb21Db29raWUo
cmVzdG9yYXRpb25UeXBlKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpIHsKKyAg
ICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpIHsKICAgICAgICAgICAgIHRoaXMuX3Nob3VsZFJl
c3RvcmVTdGF0ZVdoZW5TaG93biA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RhYmxlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFi
bGUuanMKaW5kZXggMjhmNDMyNjI5ZWE0Li4zOTA4NmYyZjUzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYmxlLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYmxlLmpzCkBAIC01NzUsMTQg
KzU3NSwxNiBAQCBXSS5UYWJsZSA9IGNsYXNzIFRhYmxlIGV4dGVuZHMgV0kuVmlldwogICAgICAg
ICB9CiAgICAgfQogCi0gICAgcmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKKyAgICAvLyBQcm90ZWN0
ZWQKKworICAgIGF0dGFjaGVkKCkKICAgICB7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CisK
ICAgICAgICAgaWYgKHRoaXMuX2NhY2hlZFNjcm9sbFRvcCAmJiAhdGhpcy5fc2Nyb2xsQ29udGFp
bmVyRWxlbWVudC5zY3JvbGxUb3ApCiAgICAgICAgICAgICB0aGlzLl9zY3JvbGxDb250YWluZXJF
bGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuX2NhY2hlZFNjcm9sbFRvcDsKICAgICB9CiAKLSAgICAv
LyBQcm90ZWN0ZWQKLQogICAgIGluaXRpYWxMYXlvdXQoKQogICAgIHsKICAgICAgICAgdGhpcy5z
b3J0T3JkZXIgPSB0aGlzLl9zb3J0T3JkZXJTZXR0aW5nLnZhbHVlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dENvbnRlbnRWaWV3Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dENvbnRlbnRW
aWV3LmpzCmluZGV4IDRkMTY1ZDJmYjYxYi4uMjQ2NzEwZTUxYzU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0Q29udGVudFZpZXcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dENvbnRl
bnRWaWV3LmpzCkBAIC03OCwyMCArNzgsNiBAQCBXSS5UZXh0Q29udGVudFZpZXcgPSBjbGFzcyBU
ZXh0Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLl90ZXh0
RWRpdG9yLnJldmVhbFBvc2l0aW9uKHBvc2l0aW9uLCB0ZXh0UmFuZ2VUb1NlbGVjdCwgZm9yY2VV
bmZvcm1hdHRlZCk7CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIu
c2hvd24oKTsKLQotICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnNob3duKCk7Ci0gICAgfQotCi0g
ICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotCi0gICAgICAgIHRo
aXMuX3RleHRFZGl0b3IuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgZ2V0IHN1cHBvcnRzU2F2ZSgp
CiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzCmluZGV4IGY1ODc4M2Fk
Mjc4YS4uMmFlY2ZiOGNhNmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMKQEAgLTc2LDExICs3Niw2IEBAIFdJ
LlRleHRFZGl0b3IgPSBjbGFzcyBUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVmlldwogCiAgICAgLy8g
UHVibGljCiAKLSAgICBnZXQgdmlzaWJsZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5f
dmlzaWJsZTsKLSAgICB9Ci0KICAgICBnZXQgc3RyaW5nKCkKICAgICB7CiAgICAgICAgIHJldHVy
biB0aGlzLl9jb2RlTWlycm9yLmdldFZhbHVlKCk7CkBAIC00ODgsNyArNDgzLDcgQEAgV0kuVGV4
dEVkaXRvciA9IGNsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIGlmICgh
KHBvc2l0aW9uIGluc3RhbmNlb2YgV0kuU291cmNlQ29kZVBvc2l0aW9uKSkKICAgICAgICAgICAg
IHJldHVybjsKIAotICAgICAgICBpZiAoIXRoaXMuX3Zpc2libGUgfHwgdGhpcy5faW5pdGlhbFN0
cmluZ05vdFNldCB8fCB0aGlzLl9kZWZlclJldmVhbCkgeworICAgICAgICBpZiAoIXRoaXMuaXNB
dHRhY2hlZCB8fCB0aGlzLl9pbml0aWFsU3RyaW5nTm90U2V0IHx8IHRoaXMuX2RlZmVyUmV2ZWFs
KSB7CiAgICAgICAgICAgICAvLyBJZiB3ZSBjYW4ndCBnZXQgYSBsaW5lIGhhbmRsZSBvciBhcmUg
bm90IHZpc2libGUgdGhlbiB3ZSB3YWl0IHRvIGRvIHRoZSByZXZlYWwuCiAgICAgICAgICAgICB0
aGlzLl9wb3NpdGlvblRvUmV2ZWFsID0gcG9zaXRpb247CiAgICAgICAgICAgICB0aGlzLl90ZXh0
UmFuZ2VUb1NlbGVjdCA9IHRleHRSYW5nZVRvU2VsZWN0OwpAQCAtNTUwLDkgKzU0NSw5IEBAIFdJ
LlRleHRFZGl0b3IgPSBjbGFzcyBUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB0
aGlzLl9jb2RlTWlycm9yLm9wZXJhdGlvbihyZXZlYWxBbmRIaWdobGlnaHRMaW5lLmJpbmQodGhp
cykpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAg
ICB0aGlzLl92aXNpYmxlID0gdHJ1ZTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAg
ICAgICAvLyBSZWZyZXNoIHNpbmNlIG91ciBzaXplIG1pZ2h0IGhhdmUgY2hhbmdlZC4KICAgICAg
ICAgdGhpcy5fY29kZU1pcnJvci5yZWZyZXNoKCk7CkBAIC01NjMsMTEgKzU1OCw2IEBAIFdJLlRl
eHRFZGl0b3IgPSBjbGFzcyBUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB0aGlz
Ll9yZXZlYWxQZW5kaW5nUG9zaXRpb25JZlBvc3NpYmxlKCk7CiAgICAgfQogCi0gICAgaGlkZGVu
KCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Zpc2libGUgPSBmYWxzZTsKLSAgICB9Ci0KICAgICBz
ZXRCcmVha3BvaW50SW5mb0ZvckxpbmVBbmRDb2x1bW4obGluZU51bWJlciwgY29sdW1uTnVtYmVy
LCBicmVha3BvaW50SW5mbykKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9pZ25vcmVTZXRCcmVh
a3BvaW50SW5mb0NhbGxzKQpAQCAtODA5LDEzICs3OTksOSBAQCBXSS5UZXh0RWRpdG9yID0gY2xh
c3MgVGV4dEVkaXRvciBleHRlbmRzIFdJLlZpZXcKIAogICAgIGxheW91dCgpCiAgICAgewotICAg
ICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0NjI1Nj4gV2ViIEluc3BlY3Rv
cjogTmVzdGVkIENvbnRlbnRCcm93c2VycyAvIENvbnRlbnRWaWV3Q29udGFpbmVycyBjYXVzZSB0
b28gbWFueSBDb250ZW50VmlldyB1cGRhdGVzCi0gICAgICAgIC8vIElkZWFsbHkgd2Ugd291bGQg
bm90IGdldCBhbiB1cGRhdGVMYXlvdXQgY2FsbCBpZiB3ZSBhcmUgbm90IHZpc2libGUuIFdlIHNo
b3VsZCByZXN0cnVjdHVyZSBDb250ZW50VmlldwotICAgICAgICAvLyBzaG93L2hpZGUgcmVzdG9y
YXRpb24gdG8gcmVkdWNlIGR1cGxpY2F0ZWQgd29yayBhbmQgc29sdmUgdGhpcyBpbiB0aGUgcHJv
Y2Vzcy4KKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CiAKLSAgICAgICAgLy8gRklYTUU6IHZpc2li
bGUgY2hlY2sgY2FuIGJlIHJlbW92ZWQgb25jZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTUwNzQx
PiBpcyBmaXhlZC4KLSAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCi0gICAgICAgICAgICB0aGlz
Ll9jb2RlTWlycm9yLnJlZnJlc2goKTsKKyAgICAgICAgdGhpcy5fY29kZU1pcnJvci5yZWZyZXNo
KCk7CiAgICAgfQogCiAgICAgX2Zvcm1hdChmb3JtYXR0ZWQpCkBAIC0xMDkwLDcgKzEwNzYsNyBA
QCBXSS5UZXh0RWRpdG9yID0gY2xhc3MgVGV4dEVkaXRvciBleHRlbmRzIFdJLlZpZXcKICAgICAg
ICAgICAgIHJldHVybjsKIAogICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmV2ZWFsIHVubGVzcyB3
ZSBhcmUgdmlzaWJsZS4KLSAgICAgICAgaWYgKCF0aGlzLl92aXNpYmxlKQorICAgICAgICBpZiAo
IXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLnJl
dmVhbFBvc2l0aW9uKHRoaXMuX3Bvc2l0aW9uVG9SZXZlYWwsIHRoaXMuX3RleHRSYW5nZVRvU2Vs
ZWN0LCB0aGlzLl9mb3JjZVVuZm9ybWF0dGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dFJlc291cmNlQ29u
dGVudFZpZXcuanMKaW5kZXggNzRkMGNlMmFmNGQ3Li45ZGQ4Yzg2NDhmZjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRSZXNvdXJjZUNv
bnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RleHRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCkBAIC0xMTQsMjAgKzExNCw2IEBAIFdJLlRl
eHRSZXNvdXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgVGV4dFJlc291cmNlQ29udGVudFZpZXcgZXh0
ZW5kcyBXSS5SZXNvdXJjZUNvCiAgICAgICAgIHRoaXMuX3RleHRFZGl0b3IucmV2ZWFsUG9zaXRp
b24ocG9zaXRpb24sIHRleHRSYW5nZVRvU2VsZWN0LCBmb3JjZVVuZm9ybWF0dGVkKTsKICAgICB9
CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAg
IHRoaXMuX3RleHRFZGl0b3Iuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsK
LSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgdGhpcy5fdGV4dEVkaXRvci5oaWRk
ZW4oKTsKLSAgICB9Ci0KICAgICBjbG9zZWQoKQogICAgIHsKICAgICAgICAgc3VwZXIuY2xvc2Vk
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZURhdGFHcmlkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZC5qcwppbmRleCBmNGNiYTRmNzhhMDMuLjY1OTkwYzAy
ZWYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVEYXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkLmpzCkBAIC0xMDMsMTYgKzEwMywxMSBAQCBX
SS5UaW1lbGluZURhdGFHcmlkID0gY2xhc3MgVGltZWxpbmVEYXRhR3JpZCBleHRlbmRzIFdJLkRh
dGFHcmlkCiAgICAgICAgIHRoaXMuX2hpZGVQb3BvdmVyKCk7CiAgICAgfQogCi0gICAgc2hvd24o
KQorICAgIGRldGFjaGVkKCkKICAgICB7Ci0gICAgICAgIC8vIE1heSBiZSBvdmVycmlkZGVuIGJ5
IHN1YmNsYXNzZXMuIElmIHNvLCB0aGV5IHNob3VsZCBjYWxsIHRoZSBzdXBlcmNsYXNzLgotICAg
IH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICAvLyBNYXkgYmUgb3ZlcnJpZGRlbiBi
eSBzdWJjbGFzc2VzLiBJZiBzbywgdGhleSBzaG91bGQgY2FsbCB0aGUgc3VwZXJjbGFzcy4KLQog
ICAgICAgICB0aGlzLl9oaWRlUG9wb3ZlcigpOworCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7
CiAgICAgfQogCiAgICAgY2FsbEZyYW1lUG9wb3ZlckFuY2hvckVsZW1lbnQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVy
dmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lT3ZlcnZpZXcuanMKaW5kZXggMTRlNGQxOGRhZmE1Li45NTA0OWNjOTRkMGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3Zl
cnZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVPdmVydmlldy5qcwpAQCAtMzQ2LDM3ICszNDYsMzIgQEAgV0kuVGltZWxpbmVPdmVy
dmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAgewogICAg
ICAgICBsZXQgaGVpZ2h0ID0gMDsKICAgICAgICAgZm9yIChsZXQgb3ZlcnZpZXdHcmFwaCBvZiB0
aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcC52YWx1ZXMoKSkgewotICAgICAgICAgICAgaWYg
KG92ZXJ2aWV3R3JhcGgudmlzaWJsZSkKKyAgICAgICAgICAgIGlmICghb3ZlcnZpZXdHcmFwaC5o
aWRkZW4pCiAgICAgICAgICAgICAgICAgaGVpZ2h0ICs9IG92ZXJ2aWV3R3JhcGguaGVpZ2h0Owog
ICAgICAgICB9CiAgICAgICAgIHJldHVybiBoZWlnaHQ7CiAgICAgfQogCi0gICAgZ2V0IHZpc2li
bGUoKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxl
OwotICAgIH0KLQotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Zpc2libGUgPSB0
cnVlOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGZvciAobGV0IFt0eXBl
LCBvdmVydmlld0dyYXBoXSBvZiB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcCkgewogICAg
ICAgICAgICAgaWYgKHRoaXMuX2NhblNob3dUaW1lbGluZVR5cGUodHlwZSkpCi0gICAgICAgICAg
ICAgICAgb3ZlcnZpZXdHcmFwaC5zaG93bigpOworICAgICAgICAgICAgICAgIG92ZXJ2aWV3R3Jh
cGguaGlkZGVuID0gZmFsc2U7CiAgICAgICAgIH0KIAotICAgICAgICB0aGlzLnVwZGF0ZUxheW91
dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOworICAgICAgICB0aGlzLm5lZWRzTGF5b3V0
KFdJLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAg
ICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICB0aGlzLl92aXNpYmxlID0gZmFsc2U7Ci0KICAg
ICAgICAgZm9yIChsZXQgb3ZlcnZpZXdHcmFwaCBvZiB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlw
ZU1hcC52YWx1ZXMoKSkKLSAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGguaGlkZGVuKCk7CisgICAg
ICAgICAgICBvdmVydmlld0dyYXBoLmhpZGRlbiA9IHRydWU7CiAKICAgICAgICAgdGhpcy5oaWRl
U2Nhbm5lcigpOworCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgY2xv
c2VkKCkKQEAgLTQxMCw3ICs0MDUsNyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGlt
ZWxpbmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgaWYgKCFvdmVydmlld0dyYXBo
KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KG92ZXJ2aWV3
R3JhcGgudmlzaWJsZSwgIlJlY29yZCBmaWx0ZXJlZCBpbiBoaWRkZW4gb3ZlcnZpZXcgZ3JhcGgi
LCByZWNvcmQpOworICAgICAgICBjb25zb2xlLmFzc2VydCghb3ZlcnZpZXdHcmFwaC5oaWRkZW4s
ICJSZWNvcmQgZmlsdGVyZWQgaW4gaGlkZGVuIG92ZXJ2aWV3IGdyYXBoIiwgcmVjb3JkKTsKIAog
ICAgICAgICBvdmVydmlld0dyYXBoLnJlY29yZFdhc0ZpbHRlcmVkKHJlY29yZCwgZmlsdGVyZWQp
OwogICAgIH0KQEAgLTQyMiw3ICs0MTcsNyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3Mg
VGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgaWYgKCFvdmVydmlld0dy
YXBoKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KG92ZXJ2
aWV3R3JhcGgudmlzaWJsZSwgIlJlY29yZCBzZWxlY3RlZCBpbiBoaWRkZW4gb3ZlcnZpZXcgZ3Jh
cGgiLCByZWNvcmQpOworICAgICAgICBjb25zb2xlLmFzc2VydCghb3ZlcnZpZXdHcmFwaC5oaWRk
ZW4sICJSZWNvcmQgc2VsZWN0ZWQgaW4gaGlkZGVuIG92ZXJ2aWV3IGdyYXBoIiwgcmVjb3JkKTsK
IAogICAgICAgICBvdmVydmlld0dyYXBoLnNlbGVjdGVkUmVjb3JkID0gcmVjb3JkOwogICAgIH0K
QEAgLTQ0Nyw3ICs0NDIsNyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVP
dmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci51cGRh
dGVMYXlvdXRJZk5lZWRlZChsYXlvdXRSZWFzb24pOwogCiAgICAgICAgIGZvciAobGV0IG92ZXJ2
aWV3R3JhcGggb2YgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAudmFsdWVzKCkpIHsKLSAg
ICAgICAgICAgIGlmIChvdmVydmlld0dyYXBoLnZpc2libGUpCisgICAgICAgICAgICBpZiAoIW92
ZXJ2aWV3R3JhcGguaGlkZGVuKQogICAgICAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGgudXBkYXRl
TGF5b3V0SWZOZWVkZWQobGF5b3V0UmVhc29uKTsKICAgICAgICAgfQogICAgIH0KQEAgLTUxMCw3
ICs1MDUsNyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBl
eHRlbmRzIFdJLlZpZXcKICAgICAgICAgfQogCiAgICAgICAgIGZvciAobGV0IG92ZXJ2aWV3R3Jh
cGggb2YgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAudmFsdWVzKCkpIHsKLSAgICAgICAg
ICAgIGlmICghb3ZlcnZpZXdHcmFwaC52aXNpYmxlKQorICAgICAgICAgICAgaWYgKG92ZXJ2aWV3
R3JhcGguaGlkZGVuKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAgICBv
dmVydmlld0dyYXBoLnplcm9UaW1lID0gc3RhcnRUaW1lOwpAQCAtNjcwLDcgKzY2NSw3IEBAIFdJ
LlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV0kuVmll
dwogICAgICAgICB0cmVlRWxlbWVudC5lbGVtZW50LnN0eWxlLmhlaWdodCA9IG92ZXJ2aWV3R3Jh
cGguaGVpZ2h0ICsgInB4IjsKIAogICAgICAgICBpZiAoIXRoaXMuX2NhblNob3dUaW1lbGluZVR5
cGUodGltZWxpbmUudHlwZSkpIHsKLSAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGguaGlkZGVuKCk7
CisgICAgICAgICAgICBvdmVydmlld0dyYXBoLmhpZGRlbiA9IHRydWU7CiAgICAgICAgICAgICB0
cmVlRWxlbWVudC5oaWRkZW4gPSB0cnVlOwogICAgICAgICB9CiAKQEAgLTcyMyw3ICs3MTgsNyBA
QCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdJ
LlZpZXcKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBmb3IgKGxldCBvdmVydmlld0dy
YXBoIG9mIHRoaXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwLnZhbHVlcygpKSB7Ci0gICAgICAg
ICAgICBpZiAoIW92ZXJ2aWV3R3JhcGgudmlzaWJsZSkKKyAgICAgICAgICAgIGlmIChvdmVydmll
d0dyYXBoLmhpZGRlbikKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAg
bGV0IGdyYXBoUmVjdCA9IG92ZXJ2aWV3R3JhcGguZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKTsKQEAgLTg1MSwxMSArODQ2LDkgQEAgV0kuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRp
bWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgICAgICBsZXQgdHJlZUVsZW1l
bnQgPSB0aGlzLl90cmVlRWxlbWVudHNCeVR5cGVNYXAuZ2V0KHR5cGUpOwogICAgICAgICAgICAg
Y29uc29sZS5hc3NlcnQodHJlZUVsZW1lbnQsICJNaXNzaW5nIHRyZWUgZWxlbWVudCBmb3IgdGlt
ZWxpbmUgdHlwZSIsIHR5cGUpOwogCi0gICAgICAgICAgICB0cmVlRWxlbWVudC5oaWRkZW4gPSAh
dGhpcy5fY2FuU2hvd1RpbWVsaW5lVHlwZSh0eXBlKTsKLSAgICAgICAgICAgIGlmICh0cmVlRWxl
bWVudC5oaWRkZW4pCi0gICAgICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5oaWRkZW4oKTsKLSAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBvdmVydmlld0dyYXBoLnNob3duKCk7Cisg
ICAgICAgICAgICBsZXQgaGlkZGVuID0gIXRoaXMuX2NhblNob3dUaW1lbGluZVR5cGUodHlwZSk7
CisgICAgICAgICAgICB0cmVlRWxlbWVudC5oaWRkZW4gPSBoaWRkZW47CisgICAgICAgICAgICBv
dmVydmlld0dyYXBoLmhpZGRlbiA9IGhpZGRlbjsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMu
ZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJmcmFtZXMiLCBpc1JlbmRlcmluZ0ZyYW1lc01vZGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IGE5NGY0N2ZkY2FkNS4u
MzA4MGVmZjZlZDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC00
MCw3ICs0MCw3IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3Zl
cnZpZXdHcmFwaCBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdGhpcy5fc2VsZWN0ZWRSZWNvcmRC
YXIgPSBudWxsOwogICAgICAgICB0aGlzLl9zY2hlZHVsZWRTZWxlY3RlZFJlY29yZExheW91dFVw
ZGF0ZUlkZW50aWZpZXIgPSB1bmRlZmluZWQ7CiAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gZmFs
c2U7Ci0gICAgICAgIHRoaXMuX3Zpc2libGUgPSB0cnVlOworICAgICAgICB0aGlzLl9oaWRkZW4g
PSBmYWxzZTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKQEAgLTE1Niw5ICsxNTYsMjIgQEAgV0ku
VGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgVGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVu
ZHMgV0kuVmlldwogCiAgICAgZ2V0IHNlY29uZHNQZXJQaXhlbCgpIHsgcmV0dXJuIHRoaXMuX3Rp
bWVsaW5lT3ZlcnZpZXcuc2Vjb25kc1BlclBpeGVsOyB9CiAKLSAgICBnZXQgdmlzaWJsZSgpCisg
ICAgZ2V0IGhpZGRlbigpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX2hpZGRlbjsKKyAgICB9CisKKyAgICBzZXQgaGlkZGVuKGhpZGRl
bikKKyAgICB7CisgICAgICAgIGlmICgheG9yKGhpZGRlbiwgdGhpcy5faGlkZGVuKSkKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9oaWRkZW4gPSBoaWRkZW47CisKKyAgICAg
ICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIHRoaXMuX2hpZGRlbik7
CisKKyAgICAgICAgaWYgKCF0aGlzLl9oaWRkZW4pCisgICAgICAgICAgICB0aGlzLnVwZGF0ZUxh
eW91dCgpOwogICAgIH0KIAogICAgIGdldCBzZWxlY3RlZFJlY29yZCgpCkBAIC0yMTgsMjUgKzIz
MSw2IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXdH
cmFwaCBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dn
bGUoInNlbGVjdGVkIiwgdGhpcy5fc2VsZWN0ZWQpOwogICAgIH0KIAotICAgIHNob3duKCkKLSAg
ICB7Ci0gICAgICAgIGlmICh0aGlzLl92aXNpYmxlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0g
ICAgICAgIHRoaXMuX3Zpc2libGUgPSB0cnVlOwotICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NM
aXN0LnRvZ2dsZSgiaGlkZGVuIiwgIXRoaXMuX3Zpc2libGUpOwotICAgICAgICB0aGlzLnVwZGF0
ZUxheW91dCgpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBpZiAoIXRo
aXMuX3Zpc2libGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5fdmlzaWJs
ZSA9IGZhbHNlOwotICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVu
IiwgIXRoaXMuX3Zpc2libGUpOwotICAgIH0KLQogICAgIHJlc2V0KCkKICAgICB7CiAgICAgICAg
IC8vIEltcGxlbWVudGVkIGJ5IHN1Yi1jbGFzc2VzIGlmIG5lZWRlZC4KQEAgLTI1MCw3ICsyNDQs
NyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3R3Jh
cGggZXh0ZW5kcyBXSS5WaWV3CiAgICAgbmVlZHNMYXlvdXQoKQogICAgIHsKICAgICAgICAgLy8g
RklYTUU6IG5lZWRzTGF5b3V0IGNhbiBiZSByZW1vdmVkIG9uY2UgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzE1MDc0MT4gaXMgZml4ZWQuCi0gICAgICAgIGlmICghdGhpcy5fdmlzaWJsZSkKKyAgICAg
ICAgaWYgKHRoaXMuX2hpZGRlbikKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBzdXBl
ci5uZWVkc0xheW91dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcuanMKaW5kZXggZDVmYTFlNThlNjY1Li40YWFiODI1NzA2Y2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5n
Q29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwpAQCAtMjEyLDMxICsyMTIsMzAg
QEAgV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KICAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWVsaW5l
Q29udGVudEJyb3dzZXIuY3VycmVudENvbnRlbnRWaWV3OwogICAgIH0KIAotICAgIHNob3duKCkK
KyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAg
IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2hvd24oKTsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVD
b250ZW50QnJvd3Nlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAg
ICAgIHRoaXMuX2NsZWFyVGltZWxpbmVOYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gIXRoaXMuX3Jl
Y29yZGluZy5yZWFkb25seSAmJiAhaXNOYU4odGhpcy5fcmVjb3JkaW5nLnN0YXJ0VGltZSk7CiAg
ICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSB0aGlzLl9y
ZWNvcmRpbmcuY2FuRXhwb3J0KCk7CiAKLSAgICAgICAgdGhpcy5fY3VycmVudENvbnRlbnRWaWV3
RGlkQ2hhbmdlKCk7Ci0KICAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZyAmJiBXSS50aW1lbGlu
ZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nID09PSB0aGlzLl9yZWNvcmRpbmcgJiYgV0kudGltZWxp
bmVNYW5hZ2VyLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0aGlzLl9zdGFydFVwZGF0aW5n
Q3VycmVudFRpbWUodGhpcy5fY3VycmVudFRpbWUpOwogICAgIH0KIAotICAgIGhpZGRlbigpCisg
ICAgZGV0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAg
dGhpcy5fdGltZWxpbmVPdmVydmlldy5oaWRkZW4oKTsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVD
b250ZW50QnJvd3Nlci5oaWRkZW4oKTsKLQogICAgICAgICBpZiAodGhpcy5fdXBkYXRpbmcpCiAg
ICAgICAgICAgICB0aGlzLl9zdG9wVXBkYXRpbmdDdXJyZW50VGltZSgpOworCisgICAgICAgIHN1
cGVyLmRldGFjaGVkKCk7CisgICAgfQorCisgICAgaW5pdGlhbExheW91dCgpCisgICAgeworICAg
ICAgICBzdXBlci5pbml0aWFsTGF5b3V0KCk7CisKKyAgICAgICAgdGhpcy5fY3VycmVudENvbnRl
bnRWaWV3RGlkQ2hhbmdlKCk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKQEAgLTM3Nyw3ICszNzYs
NyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNv
cmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2NvbnRlbnRWaWV3U2VsZWN0aW9u
UGF0aENvbXBvbmVudERpZENoYW5nZShldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52
aXNpYmxlKQorICAgICAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl90aW1lbGluZUNvbnRlbnRC
cm93c2VyLmN1cnJlbnRDb250ZW50VmlldykKQEAgLTQ1Niw3ICs0NTUsNyBAQCBXSS5UaW1lbGlu
ZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dyBleHRlbmRzIFdJLgogICAgICAgICAvLyBPbmx5IHN0b3AgdXBkYXRpbmcgaWYgdGhlIGN1cnJl
bnQgdGltZSBpcyBncmVhdGVyIHRoYW4gdGhlIGVuZCB0aW1lLCBvciB0aGUgZW5kIHRpbWUgaXMg
TmFOLgogICAgICAgICAvLyBUaGUgcmVjb3JkaW5nIGVuZCB0aW1lIHdpbGwgYmUgTmFOIGlmIG5v
IHJlY29yZHMgd2VyZSBhZGRlZC4KICAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZyAmJiAoY3Vy
cmVudFRpbWUgPj0gZW5kVGltZSB8fCBpc05hTihlbmRUaW1lKSkpIHsKLSAgICAgICAgICAgIGlm
ICh0aGlzLnZpc2libGUpCisgICAgICAgICAgICBpZiAodGhpcy5pc0F0dGFjaGVkKQogICAgICAg
ICAgICAgICAgIHRoaXMuX2xhc3RVcGRhdGVUaW1lc3RhbXAgPSBOYU47CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KQEAgLTkxNSw3ICs5MTQsNyBAQCBXSS5UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRz
IFdJLgogCiAgICAgX2hhbmRsZVRpbWVsaW5lVmlld1JlY29yZFNlbGVjdGVkKGV2ZW50KQogICAg
IHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIGlmICghdGhpcy5pc0F0dGFj
aGVkKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGxldCB7cmVjb3JkfSA9IGV2ZW50
LmRhdGE7CkBAIC05NDgsNyArOTQ3LDcgQEAgV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KIAogICAg
IF9oYW5kbGVUaW1lbGluZVZpZXdTY2FubmVyU2hvdyhldmVudCkKICAgICB7Ci0gICAgICAgIGlm
ICghdGhpcy52aXNpYmxlKQorICAgICAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICBsZXQge3RpbWV9ID0gZXZlbnQuZGF0YTsKQEAgLTk1Nyw3
ICs5NTYsNyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxp
bmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2hhbmRsZVRpbWVsaW5l
Vmlld1NjYW5uZXJIaWRlKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUp
CisgICAgICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuOwogCiAg
ICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuaGlkZVNjYW5uZXIoKTsKQEAgLTk2NSw3ICs5
NjQsNyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2hhbmRsZVRpbWVsaW5lVmll
d05lZWRzRW50aXJlU2VsZWN0ZWRSYW5nZShldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhp
cy52aXNpYmxlKQorICAgICAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJl
dHVybjsKIAogICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnRpbWVsaW5lUnVsZXIuc2Vs
ZWN0RW50aXJlUmFuZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzCmlu
ZGV4IDAxMWMxNzVmOGIwMS4uOGMyYmNiZDhmZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFi
Q29udGVudFZpZXcuanMKQEAgLTMxNyw5ICszMTcsOSBAQCBXSS5UaW1lbGluZVRhYkNvbnRlbnRW
aWV3ID0gY2xhc3MgVGltZWxpbmVUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93
cwogICAgICAgICByZXR1cm4gV0kuVGltZWxpbmVUYWJDb250ZW50Vmlldy5UeXBlOwogICAgIH0K
IAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93
bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIHRoaXMuX3RvZ2dsZVJl
Y29yZGluZ1Nob3J0Y3V0LmRpc2FibGVkID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX3RvZ2dsZU5l
d1JlY29yZGluZ1Nob3J0Y3V0LmRpc2FibGVkID0gZmFsc2U7CkBAIC0zMjgsMTQgKzMyOCwxNCBA
QCBXSS5UaW1lbGluZVRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVUYWJDb250ZW50Vmll
dyBleHRlbmRzIFdJLkNvbnRlbnRCcm93cwogICAgICAgICAgICAgV0kudGltZWxpbmVNYW5hZ2Vy
LmF1dG9DYXB0dXJlT25QYWdlTG9hZCA9IHRydWU7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAg
ICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQogICAgICAgICB0
aGlzLl90b2dnbGVSZWNvcmRpbmdTaG9ydGN1dC5kaXNhYmxlZCA9IHRydWU7CiAgICAgICAgIHRo
aXMuX3RvZ2dsZU5ld1JlY29yZGluZ1Nob3J0Y3V0LmRpc2FibGVkID0gdHJ1ZTsKIAogICAgICAg
ICBXSS50aW1lbGluZU1hbmFnZXIuYXV0b0NhcHR1cmVPblBhZ2VMb2FkID0gZmFsc2U7CisKKyAg
ICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICBjbG9zZWQoKQpAQCAtNTA1LDcg
KzUwNSw3IEBAIFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVRhYkNv
bnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzCiAKICAgICBfaW5zcGVjdG9yVmlzaWJp
bGl0eUNoYW5nZWQoZXZlbnQpCiAgICAgewotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYXV0
b0NhcHR1cmVPblBhZ2VMb2FkID0gISF0aGlzLnZpc2libGUgJiYgISFXSS52aXNpYmxlOworICAg
ICAgICBXSS50aW1lbGluZU1hbmFnZXIuYXV0b0NhcHR1cmVPblBhZ2VMb2FkID0gISF0aGlzLmlz
QXR0YWNoZWQgJiYgISFXSS52aXNpYmxlOwogICAgIH0KIAogICAgIF9nbG9iYWxNb2RpZmllcktl
eXNEaWRDaGFuZ2UoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMKaW5kZXggYWNhZjVmYTMwY2QxLi4w
OGIwMmVhMDEzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMKQEAgLTIzMCwxNSArMjMwLDYgQEAgV0ku
VGltZWxpbmVWaWV3ID0gY2xhc3MgVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgbmVlZHNMYXlvdXQoKQotICAgIHsK
LSAgICAgICAgLy8gRklYTUU6IG5lZWRzTGF5b3V0IGNhbiBiZSByZW1vdmVkIG9uY2UgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzE1MDc0MT4gaXMgZml4ZWQuCi0gICAgICAgIGlmICghdGhpcy52aXNp
YmxlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHN1cGVyLm5lZWRzTGF5b3V0KCk7
Ci0gICAgfQotCiAgICAgLy8gRGF0YUdyaWQgZmlsdGVyIGRlbGVnYXRlCiAKICAgICBkYXRhR3Jp
ZE1hdGNoTm9kZUFnYWluc3RDdXN0b21GaWx0ZXJzKG5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qcwppbmRleCBhYWVjY2RhYjU5OTYu
LmRlMGMyNTYwZDhjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9WaWV3LmpzCkBAIC0xMjYsMTAgKzEyNiwxMSBAQCBXSS5WaWV3ID0gY2xhc3Mg
VmlldyBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAK
KyAgICAgICAgdmlldy5fZGlkTW92ZVRvUGFyZW50KG51bGwpOworCiAgICAgICAgIHRoaXMuX3N1
YnZpZXdzLnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgIHZpZXcuZWxlbWVudC5yZW1vdmUoKTsK
IAotICAgICAgICB2aWV3Ll9kaWRNb3ZlVG9QYXJlbnQobnVsbCk7CiAgICAgfQogCiAgICAgcmVt
b3ZlQWxsU3Vidmlld3MoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvV2ViU29ja2V0Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9XZWJTb2NrZXRDb250ZW50Vmlldy5qcwppbmRleCA4
ZTlhNGFhNzE5MDAuLjZjYmQwZjY4MzRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvV2ViU29ja2V0Q29udGVudFZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvV2ViU29ja2V0Q29udGVudFZp
ZXcuanMKQEAgLTg3LDE3ICs4NywyMSBAQCBXSS5XZWJTb2NrZXRDb250ZW50VmlldyA9IGNsYXNz
IFdlYlNvY2tldENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAogICAgIC8vIFB1
YmxpYwogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7CisgICAgICAgIHN1cGVy
LmF0dGFjaGVkKCk7CisKICAgICAgICAgdGhpcy5fdXBkYXRlRnJhbWVzRGVib3VuY2VyLmZvcmNl
KCk7CiAgICAgICAgIHRoaXMuX3Jlc291cmNlLmFkZEV2ZW50TGlzdGVuZXIoV0kuV2ViU29ja2V0
UmVzb3VyY2UuRXZlbnQuRnJhbWVBZGRlZCwgdGhpcy5fdXBkYXRlRnJhbWVzU29vbiwgdGhpcyk7
CiAgICAgICAgIHRoaXMuX3Jlc291cmNlLmFkZEV2ZW50TGlzdGVuZXIoV0kuV2ViU29ja2V0UmVz
b3VyY2UuRXZlbnQuUmVhZHlTdGF0ZUNoYW5nZWQsIHRoaXMuX3VwZGF0ZUZyYW1lc1Nvb24sIHRo
aXMpOwogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAgIHsKICAgICAg
ICAgdGhpcy5fcmVzb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5XZWJTb2NrZXRSZXNvdXJj
ZS5FdmVudC5GcmFtZUFkZGVkLCB0aGlzLl91cGRhdGVGcmFtZXNTb29uLCB0aGlzKTsKICAgICAg
ICAgdGhpcy5fcmVzb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5XZWJTb2NrZXRSZXNvdXJj
ZS5FdmVudC5SZWFkeVN0YXRlQ2hhbmdlZCwgdGhpcy5fdXBkYXRlRnJhbWVzU29vbiwgdGhpcyk7
CisKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICAvLyBQcml2YXRlCg==
</data>
<flag name="commit-queue"
          id="430130"
          type_id="3"
          status="-"
          setter="hi"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413891</attachid>
            <date>2020-11-11 17:43:33 -0800</date>
            <delta_ts>2020-11-11 18:48:42 -0800</delta_ts>
            <desc>[Patch] WIP</desc>
            <filename>218678.diff</filename>
            <type>text/plain</type>
            <size>100948</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5q
cwppbmRleCA3NzJiNmZlZDNlMzEuLmNlNDI0MmM2ODgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSmF2YVNjcmlwdExvZ1ZpZXdD
b250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qcwpAQCAtMjc5LDcgKzI3OSw3
IEBAIFdJLkphdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlciA9IGNsYXNzIEphdmFTY3JpcHRMb2dW
aWV3Q29udHJvbGxlciBleHRlbmRzIFdJLk9iCiAgICAgICAgIGlmIChtZXNzYWdlVmlldy5tZXNz
YWdlICYmIG1lc3NhZ2VWaWV3Lm1lc3NhZ2Uuc291cmNlICE9PSBXSS5Db25zb2xlTWVzc2FnZS5N
ZXNzYWdlU291cmNlLkpTKQogICAgICAgICAgICAgdGhpcy5fbGFzdENvbW1pdHRlZCA9ICIiOwog
Ci0gICAgICAgIGlmIChXSS5jb25zb2xlQ29udGVudFZpZXcudmlzaWJsZSkKKyAgICAgICAgaWYg
KFdJLmNvbnNvbGVDb250ZW50Vmlldy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgdGhpcy5yZW5k
ZXJQZW5kaW5nTWVzc2FnZXNTb29uKCk7CiAKICAgICAgICAgaWYgKCFXSS5pc1Nob3dpbmdDb25z
b2xlVGFiKCkgJiYgbWVzc2FnZVZpZXcubWVzc2FnZSAmJiBtZXNzYWdlVmlldy5tZXNzYWdlLnNo
b3VsZFJldmVhbENvbnNvbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9EZWJ1Zy9EZWJ1Z0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvRGVidWcvRGVidWdDb250ZW50Vmlldy5qcwppbmRleCBkMmI4YjA2
NTRiN2MuLjg1ZGJkMzBmN2I3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvRGVidWcvRGVidWdDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9EZWJ1Zy9EZWJ1Z0NvbnRlbnRWaWV3LmpzCkBAIC0zNywx
NiArMzcsMTYgQEAgV0kuRGVidWdDb250ZW50VmlldyA9IGNsYXNzIERlYnVnQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgLy8gUHJvdGVjdGVkCiAKLSAgICBzaG93bigp
CisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLSAgICAgICAg
Y29uc29sZS5kZWJ1Zyhgc2hvd246ICR7dGhpcy5fc3RyaW5nfWApOworICAgICAgICBzdXBlci5h
dHRhY2hlZCgpOworICAgICAgICBjb25zb2xlLmRlYnVnKGBhdHRhY2hlZDogJHt0aGlzLl9zdHJp
bmd9YCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewotICAg
ICAgICBjb25zb2xlLmRlYnVnKGBoaWRkZW46ICR7dGhpcy5fc3RyaW5nfWApOwotICAgICAgICBz
dXBlci5oaWRkZW4oKTsKKyAgICAgICAgY29uc29sZS5kZWJ1ZyhgZGV0YWNoZWQ6ICR7dGhpcy5f
c3RyaW5nfWApOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIGNsb3Nl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvQmFja0ZvcndhcmRFbnRyeS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9CYWNrRm9yd2FyZEVudHJ5LmpzCmluZGV4IGRhYzE5NWE3MjkxYy4uYzYxOGE1
ODBkNmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvQmFja0ZvcndhcmRFbnRyeS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvQmFja0ZvcndhcmRFbnRyeS5qcwpAQCAtNzMsMTUgKzczLDEyIEBA
IFdJLkJhY2tGb3J3YXJkRW50cnkgPSBjbGFzcyBCYWNrRm9yd2FyZEVudHJ5CiAgICAgICAgIHRo
aXMuX3RvbWJzdG9uZSA9IHRvbWJzdG9uZTsKICAgICB9CiAKLSAgICBwcmVwYXJlVG9TaG93KHNo
b3VsZENhbGxTaG93bikKKyAgICBwcmVwYXJlVG9TaG93KCkKICAgICB7CiAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KCF0aGlzLl90b21ic3RvbmUsICJTaG91bGQgbm90IGJlIGNhbGxpbmcgc2hvd24g
b24gYSB0b21ic3RvbmUiKTsKIAogICAgICAgICB0aGlzLl9yZXN0b3JlRnJvbUNvb2tpZSgpOwog
Ci0gICAgICAgIHRoaXMuY29udGVudFZpZXcudmlzaWJsZSA9IHRydWU7Ci0gICAgICAgIGlmIChz
aG91bGRDYWxsU2hvd24pCi0gICAgICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LnNob3duKCk7CiAg
ICAgICAgIHRoaXMuY29udGVudFZpZXcubmVlZHNMYXlvdXQoKTsKICAgICB9CiAKQEAgLTg5LDkg
Kzg2LDYgQEAgV0kuQmFja0ZvcndhcmRFbnRyeSA9IGNsYXNzIEJhY2tGb3J3YXJkRW50cnkKICAg
ICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl90b21ic3RvbmUsICJTaG91bGQgbm90
IGJlIGNhbGxpbmcgaGlkZGVuIG9uIGEgdG9tYnN0b25lIik7CiAKLSAgICAgICAgdGhpcy5jb250
ZW50Vmlldy52aXNpYmxlID0gZmFsc2U7Ci0gICAgICAgIHRoaXMuY29udGVudFZpZXcuaGlkZGVu
KCk7Ci0KICAgICAgICAgdGhpcy5fc2F2ZVNjcm9sbFBvc2l0aW9ucygpOwogCiAgICAgICAgIGlm
ICh0aGlzLl9jb250ZW50Vmlldy5zaG91bGRTYXZlU3RhdGVXaGVuSGlkZGVuKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BbmltYXRpb25E
ZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvQW5pbWF0aW9uRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCA1ZjQyNGY5YWUw
NzcuLjhjM2ZkOTRiZjA4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQW5pbWF0aW9uRGV0YWlsc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BbmltYXRpb25EZXRhaWxzU2lk
ZWJhclBhbmVsLmpzCkBAIC0xNDIsOSArMTQyLDkgQEAgV0kuQW5pbWF0aW9uRGV0YWlsc1NpZGVi
YXJQYW5lbCA9IGNsYXNzIEFuaW1hdGlvbkRldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS4K
ICAgICAgICAgICAgIGNvZGVNaXJyb3IucmVmcmVzaCgpOwogICAgIH0KIAotICAgIHNob3duKCkK
KyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBz
dXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGZvciAobGV0IGNvZGVNaXJyb3Igb2YgdGhpcy5f
Y29kZU1pcnJvclNlY3Rpb25NYXAudmFsdWVzKCkpCiAgICAgICAgICAgICBjb2RlTWlycm9yLnJl
ZnJlc2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0FwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVu
dFZpZXcuanMKaW5kZXggYzc1MDk1Zjk2YzQwLi44MmQ3N2MyZWQ2N2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FwcGxpY2F0aW9uQ2FjaGVG
cmFtZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0FwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3LmpzCkBAIC0zOCwyNyAr
MzgsMjggQEAgV0kuQXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcgPSBjbGFzcyBBcHBs
aWNhdGlvbkNhY2hlRnJhbWVDb250ZW50VmlldyBleHQKICAgICAgICAgdGhpcy5fZW1wdHlWaWV3
ID0gV0kuY3JlYXRlTWVzc2FnZVRleHRWaWV3KFdJLlVJU3RyaW5nKCJObyBBcHBsaWNhdGlvbiBD
YWNoZSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiKSwgZmFsc2UpOwogICAgICAgICB0aGlzLl9lbXB0
eVZpZXcuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7CiAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBl
bmRDaGlsZCh0aGlzLl9lbXB0eVZpZXcpOwotCi0gICAgICAgIHRoaXMuX21hcmtEaXJ0eSgpOwot
Ci0gICAgICAgIHZhciBzdGF0dXMgPSByZXByZXNlbnRlZE9iamVjdC5zdGF0dXM7Ci0gICAgICAg
IHRoaXMudXBkYXRlU3RhdHVzKHN0YXR1cyk7Ci0KLSAgICAgICAgV0kuYXBwbGljYXRpb25DYWNo
ZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5BcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5FdmVu
dC5GcmFtZU1hbmlmZXN0U3RhdHVzQ2hhbmdlZCwgdGhpcy5fdXBkYXRlU3RhdHVzLCB0aGlzKTsK
ICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3Vw
ZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAotICAgICAgICB0aGlzLl9t
YXliZVVwZGF0ZSgpOworICAgICAgICBXSS5hcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5hZGRFdmVu
dExpc3RlbmVyKFdJLkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLkV2ZW50LkZyYW1lTWFuaWZlc3RT
dGF0dXNDaGFuZ2VkLCB0aGlzLl9oYW5kbGVGcmFtZU1hbmlmZXN0U3RhdHVzQ2hhbmdlZCwgdGhp
cyk7CisgICAgICAgIHRoaXMudXBkYXRlU3RhdHVzKHRoaXMucmVwcmVzZW50ZWRPYmplY3Quc3Rh
dHVzKTsKICAgICB9CiAKLSAgICBjbG9zZWQoKQorICAgIGRldGFjaGVkKCkKICAgICB7Ci0gICAg
ICAgIFdJLmFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuQXBw
bGljYXRpb25DYWNoZU1hbmFnZXIuRXZlbnQuRnJhbWVNYW5pZmVzdFN0YXR1c0NoYW5nZWQsIHRo
aXMuX3VwZGF0ZVN0YXR1cywgdGhpcyk7CisgICAgICAgIFdJLmFwcGxpY2F0aW9uQ2FjaGVNYW5h
Z2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuRXZlbnQu
RnJhbWVNYW5pZmVzdFN0YXR1c0NoYW5nZWQsIHRoaXMuX2hhbmRsZUZyYW1lTWFuaWZlc3RTdGF0
dXNDaGFuZ2VkLCB0aGlzKTsKIAotICAgICAgICBzdXBlci5jbG9zZWQoKTsKKyAgICAgICAgc3Vw
ZXIuZGV0YWNoZWQoKTsKKyAgICB9CisKKyAgICBsYXlvdXQoKQorICAgIHsKKyAgICAgICAgc3Vw
ZXIubGF5b3V0KCk7CisKKyAgICAgICAgdGhpcy51cGRhdGVTdGF0dXMoKTsKICAgICB9CiAKICAg
ICBzYXZlVG9Db29raWUoY29va2llKQpAQCAtNzUsMjEgKzc2LDcgQEAgV0kuQXBwbGljYXRpb25D
YWNoZUZyYW1lQ29udGVudFZpZXcgPSBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50
VmlldyBleHQKICAgICAgICAgcmV0dXJuIFt0aGlzLl9kYXRhR3JpZC5zY3JvbGxDb250YWluZXJd
OwogICAgIH0KIAotICAgIF9tYXliZVVwZGF0ZSgpCi0gICAgewotICAgICAgICBpZiAoIXRoaXMu
dmlzaWJsZSB8fCAhdGhpcy5fdmlld0RpcnR5KQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAg
ICAgIHRoaXMuX3VwZGF0ZSgpOwotICAgICAgICB0aGlzLl92aWV3RGlydHkgPSBmYWxzZTsKLSAg
ICB9Ci0KLSAgICBfbWFya0RpcnR5KCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3ZpZXdEaXJ0eSA9
IHRydWU7Ci0gICAgfQotCi0gICAgX3VwZGF0ZVN0YXR1cyhldmVudCkKKyAgICBfaGFuZGxlRnJh
bWVNYW5pZmVzdFN0YXR1c0NoYW5nZWQoZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgZnJhbWVN
YW5pZmVzdCA9IGV2ZW50LmRhdGEuZnJhbWVNYW5pZmVzdDsKICAgICAgICAgaWYgKGZyYW1lTWFu
aWZlc3QgIT09IHRoaXMucmVwcmVzZW50ZWRPYmplY3QpCkBAIC0xMDUsMTUgKzkyLDggQEAgV0ku
QXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcgPSBjbGFzcyBBcHBsaWNhdGlvbkNhY2hl
RnJhbWVDb250ZW50VmlldyBleHQKICAgICAgICAgdmFyIG9sZFN0YXR1cyA9IHRoaXMuX3N0YXR1
czsKICAgICAgICAgdGhpcy5fc3RhdHVzID0gc3RhdHVzOwogCi0gICAgICAgIGlmICh0aGlzLnZp
c2libGUgJiYgdGhpcy5fc3RhdHVzID09PSBXSS5BcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5TdGF0
dXMuSWRsZSAmJiAob2xkU3RhdHVzID09PSBXSS5BcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5TdGF0
dXMuVXBkYXRlUmVhZHkgfHwgIXRoaXMuX3Jlc291cmNlcykpCi0gICAgICAgICAgICB0aGlzLl9t
YXJrRGlydHkoKTsKLQotICAgICAgICB0aGlzLl9tYXliZVVwZGF0ZSgpOwotICAgIH0KLQotICAg
IF91cGRhdGUoKQotICAgIHsKLSAgICAgICAgV0kuYXBwbGljYXRpb25DYWNoZU1hbmFnZXIucmVx
dWVzdEFwcGxpY2F0aW9uQ2FjaGUodGhpcy5fZnJhbWUsIHRoaXMuX3VwZGF0ZUNhbGxiYWNrLmJp
bmQodGhpcykpOworICAgICAgICBpZiAodGhpcy5fc3RhdHVzID09PSBXSS5BcHBsaWNhdGlvbkNh
Y2hlTWFuYWdlci5TdGF0dXMuSWRsZSAmJiAob2xkU3RhdHVzID09PSBXSS5BcHBsaWNhdGlvbkNh
Y2hlTWFuYWdlci5TdGF0dXMuVXBkYXRlUmVhZHkgfHwgIXRoaXMuX3Jlc291cmNlcykpCisgICAg
ICAgICAgICBXSS5hcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5yZXF1ZXN0QXBwbGljYXRpb25DYWNo
ZSh0aGlzLl9mcmFtZSwgdGhpcy5fdXBkYXRlQ2FsbGJhY2suYmluZCh0aGlzKSk7CiAgICAgfQog
CiAgICAgX3VwZGF0ZUNhbGxiYWNrKGFwcGxpY2F0aW9uQ2FjaGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRhYkNvbnRlbnRWaWV3
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJD
b250ZW50Vmlldy5qcwppbmRleCAxZWQ1YjYwN2M2OWIuLjhmODkzOGU0NGM0MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJDb250
ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9BdWRpdFRhYkNvbnRlbnRWaWV3LmpzCkBAIC03MywxOCArNzMsMTggQEAgV0kuQXVkaXRUYWJD
b250ZW50VmlldyA9IGNsYXNzIEF1ZGl0VGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50
QnJvd3NlclRhYkMKICAgICAgICAgICAgIHx8IHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2Yg
V0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQ7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFj
aGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFj
aGVkKCk7CiAKICAgICAgICAgdGhpcy5fc3RhcnRTdG9wU2hvcnRjdXQuZGlzYWJsZWQgPSBmYWxz
ZTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAg
IHRoaXMuX3N0YXJ0U3RvcFNob3J0Y3V0LmRpc2FibGVkID0gdHJ1ZTsKIAotICAgICAgICBzdXBl
ci5oaWRkZW4oKTsKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICAvLyBE
cm9wWm9uZVZpZXcgZGVsZWdhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGVzdENvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUZXN0Q29udGVudFZpZXcuanMKaW5k
ZXggMzc0MDNkZDY3NWNkLi4xZWI2YmI2NjZjOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGVzdENvbnRlbnRWaWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGVzdENvbnRl
bnRWaWV3LmpzCkBAIC0yNTgsOSArMjU4LDkgQEAgV0kuQXVkaXRUZXN0Q29udGVudFZpZXcgPSBj
bGFzcyBBdWRpdFRlc3RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAg
IHRoaXMuX3VwZGF0ZUV4cG9ydE5hdmlnYXRpb25JdGVtcygpOwogICAgIH0KIAotICAgIHNob3du
KCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAg
ICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGlmICh0aGlzLnJlcHJlc2VudGVkT2JqZWN0
IGluc3RhbmNlb2YgV0kuQXVkaXRUZXN0QmFzZSkgewogICAgICAgICAgICAgdGhpcy5yZXByZXNl
bnRlZE9iamVjdC5hZGRFdmVudExpc3RlbmVyKFdJLkF1ZGl0VGVzdEJhc2UuRXZlbnQuQ29tcGxl
dGVkLCB0aGlzLl9oYW5kbGVUZXN0Q2hhbmdlZCwgdGhpcyk7CkBAIC0yNzUsNyArMjc1LDcgQEAg
V0kuQXVkaXRUZXN0Q29udGVudFZpZXcgPSBjbGFzcyBBdWRpdFRlc3RDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBoaWRkZW4oKQorICAg
IGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLnJlcHJlc2VudGVkT2JqZWN0IGlu
c3RhbmNlb2YgV0kuQXVkaXRUZXN0QmFzZSkgewogICAgICAgICAgICAgdGhpcy5yZXByZXNlbnRl
ZE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkF1ZGl0VGVzdEJhc2UuRXZlbnQuQ29tcGxl
dGVkLCB0aGlzLl9oYW5kbGVUZXN0Q2hhbmdlZCwgdGhpcyk7CkBAIC0yODksNyArMjg5LDcgQEAg
V0kuQXVkaXRUZXN0Q29udGVudFZpZXcgPSBjbGFzcyBBdWRpdFRlc3RDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgICAgICBXSS5hdWRpdE1hbmFnZXIucmVtb3ZlRXZl
bnRMaXN0ZW5lcihXSS5BdWRpdE1hbmFnZXIuRXZlbnQuRWRpdGluZ0NoYW5nZWQsIHRoaXMuX2hh
bmRsZUVkaXRpbmdDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgfQogCi0gICAgICAgIHN1cGVyLmhp
ZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIGhhbmRsZVJl
c3VsdENoYW5nZWQoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9BdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUZXN0R3JvdXBDb250ZW50Vmll
dy5qcwppbmRleCA2ZjFlNjY3ZGQ0MjAuLmUxMzlkNTA3ZGVhOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUZXN0R3JvdXBDb250ZW50
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9B
dWRpdFRlc3RHcm91cENvbnRlbnRWaWV3LmpzCkBAIC0xOTQsOSArMTk0LDkgQEAgV0kuQXVkaXRU
ZXN0R3JvdXBDb250ZW50VmlldyA9IGNsYXNzIEF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgZXh0
ZW5kcyBXSS5BdWRpdFQKICAgICAgICAgICAgIHRoaXMuc2hvd0ZpbHRlcmVkUGxhY2Vob2xkZXIo
KTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAg
c3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICBpZiAo
dGhpcy5yZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9mIFdJLkF1ZGl0VGVzdEdyb3VwKSB7CiAg
ICAgICAgICAgICB0aGlzLnJlcHJlc2VudGVkT2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoV0kuQXVk
aXRUZXN0QmFzZS5FdmVudC5Qcm9ncmVzcywgdGhpcy5faGFuZGxlVGVzdEdyb3VwUHJvZ3Jlc3Ms
IHRoaXMpOwpAQCAtMjEzLDcgKzIxMyw3IEBAIFdJLkF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcg
PSBjbGFzcyBBdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQXVkaXRUCiAgICAg
ICAgICAgICB0aGlzLl9hZGRUZXN0KHN1Ym9iamVjdCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkK
KyAgICBkZXRhY2hlZCgpCiAgICAgewogICAgICAgICBpZiAodGhpcy5yZXByZXNlbnRlZE9iamVj
dCBpbnN0YW5jZW9mIFdJLkF1ZGl0VGVzdEdyb3VwKSB7CiAgICAgICAgICAgICB0aGlzLnJlcHJl
c2VudGVkT2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuQXVkaXRUZXN0QmFzZS5FdmVudC5Q
cm9ncmVzcywgdGhpcy5faGFuZGxlVGVzdEdyb3VwUHJvZ3Jlc3MsIHRoaXMpOwpAQCAtMjI1LDEy
ICsyMjUsMTAgQEAgV0kuQXVkaXRUZXN0R3JvdXBDb250ZW50VmlldyA9IGNsYXNzIEF1ZGl0VGVz
dEdyb3VwQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5BdWRpdFQKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogCi0gICAgICAgIGZvciAobGV0IHZpZXcgb2YgdGhpcy5fdmlld0ZvclN1Ym9iamVjdC52
YWx1ZXMoKSkKLSAgICAgICAgICAgIHZpZXcuaGlkZGVuKCk7CiAgICAgICAgIHRoaXMuY29udGVu
dFZpZXcucmVtb3ZlQWxsU3Vidmlld3MoKTsKICAgICAgICAgdGhpcy5fdmlld0ZvclN1Ym9iamVj
dC5jbGVhcigpOwogCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRh
Y2hlZCgpOwogICAgIH0KIAogICAgIGFwcGx5RmlsdGVyKGxldmVscykKQEAgLTMxNyw3ICszMTUs
NiBAQCBXSS5BdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3ID0gY2xhc3MgQXVkaXRUZXN0R3JvdXBD
b250ZW50VmlldyBleHRlbmRzIFdJLkF1ZGl0VAogCiAgICAgICAgIGxldCB2aWV3ID0gV0kuQ29u
dGVudFZpZXcuY29udGVudFZpZXdGb3JSZXByZXNlbnRlZE9iamVjdCh0ZXN0KTsKICAgICAgICAg
dGhpcy5jb250ZW50Vmlldy5hZGRTdWJ2aWV3KHZpZXcpOwotICAgICAgICB2aWV3LnNob3duKCk7
CiAKICAgICAgICAgdGhpcy5fdmlld0ZvclN1Ym9iamVjdC5zZXQodGVzdCwgdmlldyk7CiAgICAg
fQpAQCAtMzU1LDcgKzM1Miw2IEBAIFdJLkF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgPSBjbGFz
cyBBdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQXVkaXRUCiAgICAgICAgIGxl
dCB2aWV3ID0gdGhpcy5fdmlld0ZvclN1Ym9iamVjdC5nZXQodGVzdCk7CiAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHZpZXcpOwogCi0gICAgICAgIHZpZXcuaGlkZGVuKCk7CiAgICAgICAgIHRoaXMu
Y29udGVudFZpZXcucmVtb3ZlU3Vidmlldyh2aWV3KTsKIAogICAgICAgICB0aGlzLl91cGRhdGVD
bGFzc0xpc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NQVVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NQVVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwppbmRl
eCAwMjQzMTRjZjcwM2IuLjRhMGNkNjU2NmVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1BVVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NQVVRpbWVsaW5l
T3ZlcnZpZXdHcmFwaC5qcwpAQCAtNzgsNyArNzgsOSBAQCBXSS5DUFVUaW1lbGluZU92ZXJ2aWV3
R3JhcGggPSBjbGFzcyBDUFVUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5kcyBXSS5UaW1lbGlu
ZQogCiAgICAgbGF5b3V0KCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAg
ICAgICBzdXBlci5sYXlvdXQoKTsKKworICAgICAgICBpZiAodGhpcy5oaWRkZW4pCiAgICAgICAg
ICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fdXBkYXRlTGVnZW5kKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DUFVUaW1lbGluZVZp
ZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DUFVUaW1l
bGluZVZpZXcuanMKaW5kZXggYTM4ZDkwMWRiZTgyLi40OGE2MGQ2NWZjZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NQVVRpbWVsaW5lVmll
dy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DUFVU
aW1lbGluZVZpZXcuanMKQEAgLTgyLDEyICs4MiwxMSBAQCBXSS5DUFVUaW1lbGluZVZpZXcgPSBj
bGFzcyBDUFVUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lbGluZVZpZXcKIAogICAgIC8vIFB1
YmxpYwogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVy
LnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKLSAgICAgICAgaWYgKHRoaXMu
X3RpbWVsaW5lUnVsZXIpCi0gICAgICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnVwZGF0ZUxh
eW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOworICAgICAgICB0aGlzLl90aW1lbGlu
ZVJ1bGVyPy5uZWVkc0xheW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOwogICAgIH0K
IAogICAgIGNsb3NlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9DYW52YXNTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNTaWRlYmFyUGFuZWwuanMKaW5kZXggNjI5ZDUw
NjRkMjY3Li43MWM0ZTE2NDEwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNTaWRlYmFyUGFuZWwuanMKQEAg
LTIxMyw5ICsyMTMsOSBAQCBXSS5DYW52YXNTaWRlYmFyUGFuZWwgPSBjbGFzcyBDYW52YXNTaWRl
YmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhclBhbgogICAgICAgICB0aGlzLnJl
Y29yZGluZyA9IG51bGw7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAg
ICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAK
ICAgICAgICAgdGhpcy5jb250ZW50QnJvd3Nlci5hZGRFdmVudExpc3RlbmVyKFdJLkNvbnRlbnRC
cm93c2VyLkV2ZW50LkN1cnJlbnRSZXByZXNlbnRlZE9iamVjdHNEaWRDaGFuZ2UsIHRoaXMudXBk
YXRlUmVwcmVzZW50ZWRPYmplY3RzLCB0aGlzKTsKICAgICAgICAgdGhpcy51cGRhdGVSZXByZXNl
bnRlZE9iamVjdHMoKTsKQEAgLTIzMywxMSArMjMzLDExIEBAIFdJLkNhbnZhc1NpZGViYXJQYW5l
bCA9IGNsYXNzIENhbnZhc1NpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFy
UGFuCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAg
ICB7CiAgICAgICAgIHRoaXMuY29udGVudEJyb3dzZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5D
b250ZW50QnJvd3Nlci5FdmVudC5DdXJyZW50UmVwcmVzZW50ZWRPYmplY3RzRGlkQ2hhbmdlLCB0
aGlzLnVwZGF0ZVJlcHJlc2VudGVkT2JqZWN0cywgdGhpcyk7CiAKLSAgICAgICAgc3VwZXIuaGlk
ZGVuKCk7CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgY2FuU2hvd1Jl
cHJlc2VudGVkT2JqZWN0KHJlcHJlc2VudGVkT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2hhbmdlc0RldGFpbHNTaWRlYmFyUGFu
ZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DaGFuZ2Vz
RGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCA5NmZkNWQ4NzVlZTMuLjExYTdhY2M2NDRjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2hh
bmdlc0RldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ2hhbmdlc0RldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTQwLDE2
ICs0MCw2IEBAIFdJLkNoYW5nZXNEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgQ2hhbmdlc0Rl
dGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5ET01ECiAgICAgICAgIHJldHVybiBub2RlVG9J
bnNwZWN0Lm5vZGVUeXBlKCkgPT09IE5vZGUuRUxFTUVOVF9OT0RFOwogICAgIH0KIAotICAgIHNo
b3duKCkKLSAgICB7Ci0gICAgICAgIC8vIGBzaG93bmAgbWF5IGdldCBjYWxsZWQgYmVmb3JlIGlu
aXRpYWxMYXlvdXQgd2hlbiBFbGVtZW50cyB0YWIgaXMgb3BlbmVkLgotICAgICAgICAvLyBXaGVu
IENoYW5nZXMgcGFuZWwgaXMgc2VsZWN0ZWQsIGBzaG93bmAgaXMgY2FsbGVkIGFuZCB0aGlzIHRp
bWUgaXQncyBhZnRlciBpbml0aWFsTGF5b3V0LgotICAgICAgICBpZiAodGhpcy5kaWRJbml0aWFs
TGF5b3V0KQotICAgICAgICAgICAgdGhpcy5uZWVkc0xheW91dCgpOwotCi0gICAgICAgIHN1cGVy
LnNob3duKCk7Ci0gICAgfQotCiAgICAgYXR0YWNoZWQoKQogICAgIHsKICAgICAgICAgc3VwZXIu
YXR0YWNoZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NsdXN0ZXJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0NsdXN0ZXJDb250ZW50Vmlldy5qcwppbmRleCAzMGNhZTQ5NGZl
ODIuLjJhNmU2NmY5M2M3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ2x1c3RlckNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NsdXN0ZXJDb250ZW50Vmlldy5qcwpAQCAtNjYs
MjAgKzY2LDYgQEAgV0kuQ2x1c3RlckNvbnRlbnRWaWV3ID0gY2xhc3MgQ2x1c3RlckNvbnRlbnRW
aWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQog
Ci0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAgICB0
aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigp
Ci0gICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAgICB0aGlzLl9jb250ZW50
Vmlld0NvbnRhaW5lci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBjbG9zZWQoKQogICAgIHsKICAg
ICAgICAgc3VwZXIuY2xvc2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Db2xsZWN0aW9uQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2xsZWN0aW9uQ29udGVudFZpZXcuanMK
aW5kZXggZWMxNjBmOWI2ZTkzLi40YTZiZDIzOTI0YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbGxlY3Rpb25Db250ZW50Vmlldy5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2xsZWN0aW9u
Q29udGVudFZpZXcuanMKQEAgLTUxLDIyICs1MSw2IEBAIFdJLkNvbGxlY3Rpb25Db250ZW50Vmll
dyA9IGNsYXNzIENvbGxlY3Rpb25Db250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAg
ICAgICAgIHJldHVybiBbXTsKICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBz
dXBlci5zaG93bigpOwotCi0gICAgICAgIGZvciAobGV0IGNvbnRlbnRWaWV3IG9mIHRoaXMuX2Nv
bnRlbnRWaWV3TWFwLnZhbHVlcygpKQotICAgICAgICAgICAgY29udGVudFZpZXcuc2hvd24oKTsK
LSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgZm9yIChsZXQgY29udGVudFZp
ZXcgb2YgdGhpcy5fY29udGVudFZpZXdNYXAudmFsdWVzKCkpCi0gICAgICAgICAgICBjb250ZW50
Vmlldy5oaWRkZW4oKTsKLQotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBn
ZXQgc2VsZWN0aW9uRW5hYmxlZCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0
aW9uRW5hYmxlZDsKQEAgLTEzMSwxMiArMTE1LDYgQEAgV0kuQ29sbGVjdGlvbkNvbnRlbnRWaWV3
ID0gY2xhc3MgQ29sbGVjdGlvbkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAog
ICAgICAgICB0aGlzLmFkZFN1YnZpZXcoY29udGVudFZpZXcpOwogICAgICAgICB0aGlzLmNvbnRl
bnRWaWV3QWRkZWQoY29udGVudFZpZXcpOwotCi0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQot
ICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGNvbnRlbnRWaWV3LnZpc2libGUgPSB0cnVl
OwotICAgICAgICBjb250ZW50Vmlldy5zaG93bigpOwogICAgIH0KIAogICAgIHJlbW92ZUNvbnRl
bnRWaWV3Rm9ySXRlbShpdGVtKQpAQCAtMTU2LDExICsxMzQsNiBAQCBXSS5Db2xsZWN0aW9uQ29u
dGVudFZpZXcgPSBjbGFzcyBDb2xsZWN0aW9uQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50
VmlldwogICAgICAgICB0aGlzLl9jb250ZW50Vmlld01hcC5kZWxldGUoaXRlbSk7CiAgICAgICAg
IHRoaXMuY29udGVudFZpZXdSZW1vdmVkKGNvbnRlbnRWaWV3KTsKIAotICAgICAgICBpZiAodGhp
cy52aXNpYmxlKSB7Ci0gICAgICAgICAgICBjb250ZW50Vmlldy52aXNpYmxlID0gZmFsc2U7Ci0g
ICAgICAgICAgICBjb250ZW50Vmlldy5oaWRkZW4oKTsKLSAgICAgICAgfQotCiAgICAgICAgIGlm
ICghdGhpcy5zdWJ2aWV3cy5sZW5ndGgpCiAgICAgICAgICAgICB0aGlzLnNob3dDb250ZW50UGxh
Y2Vob2xkZXIoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Db21wdXRlZFN0eWxlU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbXB1dGVkU3R5bGVTZWN0aW9uLmpzCmluZGV4
IGUyYzdiNjYxNWU2YS4uOGE3OTUyY2I0NWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db21wdXRlZFN0eWxlU2VjdGlvbi5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db21wdXRlZFN0eWxlU2Vj
dGlvbi5qcwpAQCAtMjMxLDEyICsyMzEsNiBAQCBXSS5Db21wdXRlZFN0eWxlU2VjdGlvbiA9IGNs
YXNzIENvbXB1dGVkU3R5bGVTZWN0aW9uIGV4dGVuZHMgV0kuVmlldwogICAgICAgICAgICAgcHJv
cGVydHlWaWV3LmRldGFjaGVkKCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAg
ICAgIGZvciAobGV0IHByb3BlcnR5VmlldyBvZiB0aGlzLl9wcm9wZXJ0eVZpZXdzKQotICAgICAg
ICAgICAgcHJvcGVydHlWaWV3LmhpZGRlbigpOwotICAgIH0KLQogICAgIGFwcGx5RmlsdGVyKGZp
bHRlclRleHQpCiAgICAgewogICAgICAgICB0aGlzLl9maWx0ZXJUZXh0ID0gZmlsdGVyVGV4dDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nv
bnNvbGVEcmF3ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Db25zb2xlRHJhd2VyLmpzCmluZGV4IDU0NjI1Yjk0YmU3OS4uMThlYmNjMTY4YTg0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xl
RHJhd2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0NvbnNvbGVEcmF3ZXIuanMKQEAgLTczLDEwICs3MywxMCBAQCBXSS5Db25zb2xlRHJhd2VyID0g
Y2xhc3MgQ29uc29sZURyYXdlciBleHRlbmRzIFdJLkNvbnRlbnRCcm93c2VyCiAKICAgICAgICAg
dGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIHRoaXMuX2NvbGxhcHNlZCk7
CiAKLSAgICAgICAgaWYgKHRoaXMuX2NvbGxhcHNlZCkKLSAgICAgICAgICAgIHRoaXMuaGlkZGVu
KCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMuc2hvd24oKTsKKyAgICAgICAgLy8g
TWFudWFsbHkgY2FsbCBgYXR0YWNoZWRgL2BkZXRhY2hlZGAgYmVjYXVzZSB3ZSBuZXZlciBleHBl
Y3QgdG8gYWN0dWFsbHkgcmVtb3ZlIHRoaXMgbm9kZQorICAgICAgICAvLyBmcm9tIHRoZSBET00s
IG1lYW5pbmcgdGhhdCB0aGUgYFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyYCB3b3VsZCBub3Qgc2hv
dy9oaWRlIGVudHJpZXMgaW4KKyAgICAgICAgLy8gdGhlIGJhY2svZm9yd2FyZCBsaXN0LCB3aGlj
aCBpcyB3aGF0IGFkZHMvcmVtb3ZlcyBzdWJ2aWV3cyBmcm9tIHRoZSBET00uCisgICAgICAgIHRo
aXMuX2RpZE1vdmVUb1BhcmVudCh0aGlzLl9jb2xsYXBzZWQgPyBudWxsIDogV0kuVmlldy5yb290
VmlldygpKTsKIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5Db25z
b2xlRHJhd2VyLkV2ZW50LkNvbGxhcHNlZFN0YXRlQ2hhbmdlZCk7CiAgICAgfQpAQCAtODYsMTUg
Kzg2LDE1IEBAIFdJLkNvbnNvbGVEcmF3ZXIgPSBjbGFzcyBDb25zb2xlRHJhd2VyIGV4dGVuZHMg
V0kuQ29udGVudEJyb3dzZXIKICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5vZmZzZXRIZWln
aHQ7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIC8vIFByb3RlY3RlZAorCisgICAgYXR0YWNo
ZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNo
ZWQoKTsKIAogICAgICAgICB0aGlzLl9yZXN0b3JlRHJhd2VySGVpZ2h0KCk7CiAgICAgfQogCi0g
ICAgLy8gUHJvdGVjdGVkCi0KICAgICBzaXplRGlkQ2hhbmdlKCkKICAgICB7CiAgICAgICAgIHN1
cGVyLnNpemVEaWRDaGFuZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVUYWJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVUYWJDb250ZW50Vmlldy5qcwpp
bmRleCAxMjNhZDI1YjAzNzguLjc5ZWZjNTY1MTRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZVRhYkNvbnRlbnRWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVUYWJD
b250ZW50Vmlldy5qcwpAQCAtMjgsNiArMjgsOCBAQCBXSS5Db25zb2xlVGFiQ29udGVudFZpZXcg
PSBjbGFzcyBDb25zb2xlVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3Nlcgog
ICAgIGNvbnN0cnVjdG9yKCkKICAgICB7CiAgICAgICAgIHN1cGVyKENvbnNvbGVUYWJDb250ZW50
Vmlldy50YWJJbmZvKCksIHtkaXNhYmxlQmFja0ZvcndhcmQ6IHRydWV9KTsKKworICAgICAgICB0
aGlzLl93YXNTaG93aW5nU3BsaXRDb25zb2xlID0gZmFsc2U7CiAgICAgfQogCiAgICAgc3RhdGlj
IHRhYkluZm8oKQpAQCAtNDYsMTEgKzQ4LDEzIEBAIFdJLkNvbnNvbGVUYWJDb250ZW50VmlldyA9
IGNsYXNzIENvbnNvbGVUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93c2VyCiAg
ICAgICAgIHJldHVybiBXSS5Db25zb2xlVGFiQ29udGVudFZpZXcuVHlwZTsKICAgICB9CiAKLSAg
ICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsK
KyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAotICAgICAgICBXSS5oaWRlU3BsaXRDb25zb2xl
KCk7CisgICAgICAgIHRoaXMuX3dhc1Nob3dpbmdTcGxpdENvbnNvbGUgPSBXSS5pc1Nob3dpbmdT
cGxpdENvbnNvbGUoKTsKKyAgICAgICAgaWYgKHRoaXMuX3dhc1Nob3dpbmdTcGxpdENvbnNvbGUp
CisgICAgICAgICAgICBXSS5oaWRlU3BsaXRDb25zb2xlKCk7CiAKICAgICAgICAgdGhpcy5jb250
ZW50QnJvd3Nlci5zaG93Q29udGVudFZpZXcoV0kuY29uc29sZUNvbnRlbnRWaWV3KTsKICAgICAg
ICAgV0kuY29uc29sZUNvbnRlbnRWaWV3LmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5Db250
ZW50Vmlldy5FdmVudC5OYXZpZ2F0aW9uSXRlbXNEaWRDaGFuZ2UpOwpAQCAtNjAsNiArNjQsMTQg
QEAgV0kuQ29uc29sZVRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29uc29sZVRhYkNvbnRlbnRWaWV3
IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzZXIKICAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5j
b250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXcgPT09IFdJLmNvbnNvbGVDb250ZW50Vmll
dyk7CiAgICAgfQogCisgICAgZGV0YWNoZWQoKQorICAgIHsKKyAgICAgICAgc3VwZXIuZGV0YWNo
ZWQoKTsKKworICAgICAgICBpZiAodGhpcy5fd2FzU2hvd2luZ1NwbGl0Q29uc29sZSkKKyAgICAg
ICAgICAgIFdJLnNob3dTcGxpdENvbnNvbGUoKTsKKyAgICB9CisKICAgICBzaG93UmVwcmVzZW50
ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QsIGNvb2tpZSkKICAgICB7CiAgICAgICAgIC8vIERv
IG5vdGhpbmcuIFRoZSBzaG93biBmdW5jdGlvbiB3aWxsIGhhbmRsZSB0aGluZ3MuIENhbGxpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nv
bnRlbnRCcm93c2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQ29udGVudEJyb3dzZXIuanMKaW5kZXggMTg1MzI3YjU3MTVhLi5lNTY4Zjk2NjEzZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRl
bnRCcm93c2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NvbnRlbnRCcm93c2VyLmpzCkBAIC0yMzEsMTcgKzIzMSwxMiBAQCBXSS5Db250ZW50QnJv
d3NlciA9IGNsYXNzIENvbnRlbnRCcm93c2VyIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB0aGlz
Ll9maW5kQmFubmVyLnNob3coKTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQo
KQogICAgIHsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKKwogICAgICAgICB0aGlzLl91cGRh
dGVDb250ZW50Vmlld1NlbGVjdGlvblBhdGhOYXZpZ2F0aW9uSXRlbSh0aGlzLmN1cnJlbnRDb250
ZW50Vmlldyk7CiAgICAgICAgIHRoaXMudXBkYXRlSGllcmFyY2hpY2FsUGF0aEZvckN1cnJlbnRD
b250ZW50VmlldygpOwotCi0gICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLnNob3du
KCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NvbnRlbnRW
aWV3Q29udGFpbmVyLmhpZGRlbigpOwogICAgIH0KIAogICAgIC8vIEdsb2JhbCBDb250ZW50QnJv
d3NlciBLZXlib2FyZFNob3J0Y3V0IGhhbmRsZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJy
b3dzZXJUYWJDb250ZW50Vmlldy5qcwppbmRleCAyNjEzOWNmYTFlYzMuLjJlMjdlODQzMTgxMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29u
dGVudEJyb3dzZXJUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3LmpzCkBAIC05
MiwyOCArOTIsMTMgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyA9IGNsYXNzIENv
bnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KICAgICAgICAgcmV0dXJuIHRo
aXMuX2NvbnRlbnRCcm93c2VyOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgp
CiAgICAgewotICAgICAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsKSB7Ci0gICAg
ICAgICAgICBpZiAoIXRoaXMubmF2aWdhdGlvblNpZGViYXJQYW5lbC5jb250ZW50QnJvd3NlcikK
LSAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwuY29udGVudEJyb3dz
ZXIgPSB0aGlzLl9jb250ZW50QnJvd3NlcjsKLSAgICAgICAgfQorICAgICAgICAvLyBFbnN1cmUg
dGhhdCB0aGUgcmVsYXRpb25zaGlwIGlzIGVzdGFibGlzaGVkIGJlZm9yZSBhdHRlbXB0aW5nIHRv
IHJlc3RvcmUgY29va2llcy4KKyAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblNpZGViYXJQYW5l
bCAmJiAhdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmNvbnRlbnRCcm93c2VyKQorICAgICAg
ICAgICAgdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmNvbnRlbnRCcm93c2VyID0gdGhpcy5f
Y29udGVudEJyb3dzZXI7CiAKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAgICB0aGlz
Ll9jb250ZW50QnJvd3Nlci5zaG93bigpOwotCi0gICAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25T
aWRlYmFyUGFuZWwpIHsKLSAgICAgICAgICAgIGlmICghdGhpcy5fY29udGVudEJyb3dzZXIuY3Vy
cmVudENvbnRlbnRWaWV3KQotICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvblNpZGViYXJQ
YW5lbC5zaG93RGVmYXVsdENvbnRlbnRWaWV3KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBo
aWRkZW4oKQotICAgIHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgdGhpcy5f
Y29udGVudEJyb3dzZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAgICAg
fQogCiAgICAgY2xvc2VkKCkKQEAgLTE0MSw3ICsxMjYsNyBAQCBXSS5Db250ZW50QnJvd3NlclRh
YkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyBleHRlbmRz
IFdJLgogCiAgICAgc2hvd05hdmlnYXRpb25TaWRlYmFyUGFuZWwoKQogICAgIHsKLSAgICAgICAg
aWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAg
ICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVs
KQpAQCAtMTU1LDEyICsxNDAsMTIgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyA9
IGNsYXNzIENvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KICAgICAgICAg
aWYgKHNob3VsZFNob3dTaWRlYmFyKSB7CiAgICAgICAgICAgICBpZiAoIXRoaXMubmF2aWdhdGlv
blNpZGViYXJQYW5lbC5wYXJlbnRTaWRlYmFyKQogICAgICAgICAgICAgICAgIFdJLm5hdmlnYXRp
b25TaWRlYmFyLmFkZFNpZGViYXJQYW5lbCh0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwpOwot
ICAgICAgICAgICAgV0kubmF2aWdhdGlvblNpZGViYXIuc2VsZWN0ZWRTaWRlYmFyUGFuZWwgPSB0
aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWw7CiAgICAgICAgICAgICBXSS5uYXZpZ2F0aW9uU2lk
ZWJhci5jb2xsYXBzZWQgPSB0aGlzLm5hdmlnYXRpb25TaWRlYmFyQ29sbGFwc2VkU2V0dGluZy52
YWx1ZTsKKyAgICAgICAgICAgIFdJLm5hdmlnYXRpb25TaWRlYmFyLnNlbGVjdGVkU2lkZWJhclBh
bmVsID0gdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgV0kubmF2aWdhdGlvblNpZGViYXIuY29sbGFwc2VkID0gdHJ1ZTsKICAgICAgICAg
ICAgIGlmICh0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwucGFyZW50U2lkZWJhcikKICAgICAg
ICAgICAgICAgICBXSS5uYXZpZ2F0aW9uU2lkZWJhci5yZW1vdmVTaWRlYmFyUGFuZWwodGhpcy5u
YXZpZ2F0aW9uU2lkZWJhclBhbmVsKTsKKyAgICAgICAgICAgIFdJLm5hdmlnYXRpb25TaWRlYmFy
LmNvbGxhcHNlZCA9IHRydWU7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9pZ25vcmVOYXZp
Z2F0aW9uU2lkZWJhclBhbmVsQ29sbGFwc2VkRXZlbnQgPSBmYWxzZTsKQEAgLTE3MCw3ICsxNTUs
NyBAQCBXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dz
ZXJUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgc2hvd0RldGFpbHNTaWRlYmFyUGFu
ZWxzKCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBpZiAoIXRo
aXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB2YXIgY3VycmVu
dFJlcHJlc2VudGVkT2JqZWN0cyA9IHRoaXMuX2NvbnRlbnRCcm93c2VyLmN1cnJlbnRSZXByZXNl
bnRlZE9iamVjdHM7CkBAIC0yMDcsMTYgKzE5MiwxNiBAQCBXSS5Db250ZW50QnJvd3NlclRhYkNv
bnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyBleHRlbmRzIFdJ
LgogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgaWYgKHNpZGViYXJQYW5lbFRv
U2VsZWN0KQotICAgICAgICAgICAgV0kuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRTaWRlYmFyUGFu
ZWwgPSBzaWRlYmFyUGFuZWxUb1NlbGVjdDsKLSAgICAgICAgZWxzZSBpZiAoIVdJLmRldGFpbHNT
aWRlYmFyLnNlbGVjdGVkU2lkZWJhclBhbmVsICYmIFdJLmRldGFpbHNTaWRlYmFyLnNpZGViYXJQ
YW5lbHMubGVuZ3RoKQotICAgICAgICAgICAgV0kuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRTaWRl
YmFyUGFuZWwgPSBXSS5kZXRhaWxzU2lkZWJhci5zaWRlYmFyUGFuZWxzWzBdOwotCiAgICAgICAg
IGlmICghV0kuZGV0YWlsc1NpZGViYXIuc2lkZWJhclBhbmVscy5sZW5ndGgpCiAgICAgICAgICAg
ICBXSS5kZXRhaWxzU2lkZWJhci5jb2xsYXBzZWQgPSB0cnVlOwogICAgICAgICBlbHNlIGlmICh3
YXNTaWRlYmFyRW1wdHkpCiAgICAgICAgICAgICBXSS5kZXRhaWxzU2lkZWJhci5jb2xsYXBzZWQg
PSB0aGlzLmRldGFpbHNTaWRlYmFyQ29sbGFwc2VkU2V0dGluZy52YWx1ZTsKIAorICAgICAgICBp
ZiAoc2lkZWJhclBhbmVsVG9TZWxlY3QpCisgICAgICAgICAgICBXSS5kZXRhaWxzU2lkZWJhci5z
ZWxlY3RlZFNpZGViYXJQYW5lbCA9IHNpZGViYXJQYW5lbFRvU2VsZWN0OworICAgICAgICBlbHNl
IGlmICghV0kuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRTaWRlYmFyUGFuZWwgJiYgV0kuZGV0YWls
c1NpZGViYXIuc2lkZWJhclBhbmVscy5sZW5ndGgpCisgICAgICAgICAgICBXSS5kZXRhaWxzU2lk
ZWJhci5zZWxlY3RlZFNpZGViYXJQYW5lbCA9IFdJLmRldGFpbHNTaWRlYmFyLnNpZGViYXJQYW5l
bHNbMF07CisKICAgICAgICAgdGhpcy5faWdub3JlRGV0YWlsc1NpZGViYXJQYW5lbENvbGxhcHNl
ZEV2ZW50ID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX2lnbm9yZURldGFpbHNTaWRlYmFyUGFuZWxT
ZWxlY3RlZEV2ZW50ID0gZmFsc2U7CiAKQEAgLTI1Niw3ICsyNDEsNyBAQCBXSS5Db250ZW50QnJv
d3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyBl
eHRlbmRzIFdJLgogCiAgICAgX25hdmlnYXRpb25TaWRlYmFyQ29sbGFwc2VkU3RhdGVEaWRDaGFu
Z2UoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgaWYg
KCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5f
c2hvd05hdmlnYXRpb25TaWRlYmFySXRlbS5hY3RpdmF0ZWQgPSAhV0kubmF2aWdhdGlvblNpZGVi
YXIuY29sbGFwc2VkOwpAQCAtMjY5LDcgKzI1NCw3IEBAIFdJLkNvbnRlbnRCcm93c2VyVGFiQ29u
dGVudFZpZXcgPSBjbGFzcyBDb250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
CiAKICAgICBfZGV0YWlsc1NpZGViYXJDb2xsYXBzZWRTdGF0ZURpZENoYW5nZShldmVudCkKICAg
ICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBpZiAoIXRoaXMuaXNBdHRh
Y2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl9zaG93RGV0YWlsc1Np
ZGViYXJJdGVtLmFjdGl2YXRlZCA9ICFXSS5kZXRhaWxzU2lkZWJhci5jb2xsYXBzZWQ7CkBAIC0y
ODMsNyArMjY4LDcgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyA9IGNsYXNzIENv
bnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KIAogICAgIF9kZXRhaWxzU2lk
ZWJhclBhbmVsU2VsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJs
ZSkKKyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1cm47CiAK
ICAgICAgICAgdGhpcy5fc2hvd0RldGFpbHNTaWRlYmFySXRlbS5hY3RpdmF0ZWQgPSAhV0kuZGV0
YWlsc1NpZGViYXIuY29sbGFwc2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlldy5qcwppbmRleCAxOWY2NGJkMzk4ZmUu
LjJiOGE1OGMxYjFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXcuanMKQEAgLTM0NiwxNiArMzQ2LDYgQEAgV0ku
Q29udGVudFZpZXcgPSBjbGFzcyBDb250ZW50VmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAg
cmV0dXJuIHRoaXMuX3BhcmVudENvbnRhaW5lcjsKICAgICB9CiAKLSAgICBnZXQgdmlzaWJsZSgp
Ci0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTsKLSAgICB9Ci0KLSAgICBzZXQg
dmlzaWJsZShmbGFnKQotICAgIHsKLSAgICAgICAgdGhpcy5fdmlzaWJsZSA9IGZsYWc7Ci0gICAg
fQotCiAgICAgZ2V0IHNjcm9sbGFibGVFbGVtZW50cygpCiAgICAgewogICAgICAgICAvLyBJbXBs
ZW1lbnRlZCBieSBzdWJjbGFzc2VzLgpAQCAtMzkxLDE2ICszODEsNiBAQCBXSS5Db250ZW50Vmll
dyA9IGNsYXNzIENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuVmlldwogICAgICAgICByZXR1cm4gV0ku
ZG9ja2VkQ29uZmlndXJhdGlvblN1cHBvcnRzU3BsaXRDb250ZW50QnJvd3NlcigpOwogICAgIH0K
IAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1YmNsYXNz
ZXMuCi0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIC8vIEltcGxlbWVudGVk
IGJ5IHN1YmNsYXNzZXMuCi0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIC8v
IEltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlld0NvbnRhaW5lci5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRWaWV3Q29udGFpbmVy
LmpzCmluZGV4IDU5ODVkMmRkZTJlZC4uNDVlNTAxZGMyZDE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlld0NvbnRhaW5lci5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50
Vmlld0NvbnRhaW5lci5qcwpAQCAtMTExLDggKzExMSw3IEBAIFdJLkNvbnRlbnRWaWV3Q29udGFp
bmVyID0gY2xhc3MgQ29udGVudFZpZXdDb250YWluZXIgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICAg
ICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcgaWYgd2Ugd291bGQgaGF2ZSBhZGRlZCBhbiBpZGVudGlj
YWwgYmFjay9mb3J3YXJkIGxpc3QgZW50cnkuCiAgICAgICAgIGlmIChwcm92aXNpb25hbEVudHJ5
LmlzRXF1YWwoY3VycmVudEVudHJ5KSkgewotICAgICAgICAgICAgY29uc3Qgc2hvdWxkQ2FsbFNo
b3duID0gZmFsc2U7Ci0gICAgICAgICAgICBjdXJyZW50RW50cnkucHJlcGFyZVRvU2hvdyhzaG91
bGRDYWxsU2hvd24pOworICAgICAgICAgICAgY3VycmVudEVudHJ5LnByZXBhcmVUb1Nob3coKTsK
ICAgICAgICAgICAgIHJldHVybiBjdXJyZW50RW50cnkuY29udGVudFZpZXc7CiAgICAgICAgIH0K
IApAQCAtMTU4LDE0ICsxNTcsOSBAQCBXSS5Db250ZW50Vmlld0NvbnRhaW5lciA9IGNsYXNzIENv
bnRlbnRWaWV3Q29udGFpbmVyIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB2YXIgY3VycmVudEVu
dHJ5ID0gdGhpcy5jdXJyZW50QmFja0ZvcndhcmRFbnRyeTsKICAgICAgICAgY29uc29sZS5hc3Nl
cnQoY3VycmVudEVudHJ5KTsKIAotICAgICAgICB2YXIgaXNOZXdDb250ZW50VmlldyA9ICFwcmV2
aW91c0VudHJ5IHx8ICFjdXJyZW50RW50cnkuY29udGVudFZpZXcudmlzaWJsZTsKLSAgICAgICAg
aWYgKGlzTmV3Q29udGVudFZpZXcpIHsKLSAgICAgICAgICAgIC8vIEhpZGUgdGhlIGN1cnJlbnRs
eSB2aXNpYmxlIGNvbnRlbnQgdmlldy4KLSAgICAgICAgICAgIGlmIChwcmV2aW91c0VudHJ5KQot
ICAgICAgICAgICAgICAgIHRoaXMuX2hpZGVFbnRyeShwcmV2aW91c0VudHJ5KTsKLSAgICAgICAg
ICAgIHRoaXMuX3Nob3dFbnRyeShjdXJyZW50RW50cnksIHRydWUpOwotICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIHRoaXMuX3Nob3dFbnRyeShjdXJyZW50RW50cnksIGZhbHNlKTsKKyAgICAg
ICAgaWYgKHByZXZpb3VzRW50cnkgJiYgIWN1cnJlbnRFbnRyeS5jb250ZW50Vmlldy5pc0F0dGFj
aGVkKQorICAgICAgICAgICAgdGhpcy5faGlkZUVudHJ5KHByZXZpb3VzRW50cnkpOworICAgICAg
ICB0aGlzLl9zaG93RW50cnkoY3VycmVudEVudHJ5KTsKIAogICAgICAgICB0aGlzLmRpc3BhdGNo
RXZlbnRUb0xpc3RlbmVycyhXSS5Db250ZW50Vmlld0NvbnRhaW5lci5FdmVudC5DdXJyZW50Q29u
dGVudFZpZXdEaWRDaGFuZ2UpOwogICAgIH0KQEAgLTIxMSw3ICsyMDUsNyBAQCBXSS5Db250ZW50
Vmlld0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRWaWV3Q29udGFpbmVyIGV4dGVuZHMgV0kuVmll
dwogCiAgICAgICAgIC8vIFJlLXNob3cgdGhlIGN1cnJlbnQgZW50cnksIGJlY2F1c2UgaXRzIGNv
bnRlbnQgdmlldyBpbnN0YW5jZSB3YXMgcmVwbGFjZWQuCiAgICAgICAgIGlmIChjdXJyZW50bHlT
aG93aW5nKSB7Ci0gICAgICAgICAgICB0aGlzLl9zaG93RW50cnkodGhpcy5jdXJyZW50QmFja0Zv
cndhcmRFbnRyeSwgdHJ1ZSk7CisgICAgICAgICAgICB0aGlzLl9zaG93RW50cnkodGhpcy5jdXJy
ZW50QmFja0ZvcndhcmRFbnRyeSk7CiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xp
c3RlbmVycyhXSS5Db250ZW50Vmlld0NvbnRhaW5lci5FdmVudC5DdXJyZW50Q29udGVudFZpZXdE
aWRDaGFuZ2UpOwogICAgICAgICB9CiAgICAgfQpAQCAtMjY5LDcgKzI2Myw3IEBAIFdJLkNvbnRl
bnRWaWV3Q29udGFpbmVyID0gY2xhc3MgQ29udGVudFZpZXdDb250YWluZXIgZXh0ZW5kcyBXSS5W
aWV3CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGN1cnJlbnRFbnRyeSB8fCAoIWN1cnJlbnRFbnRy
eSAmJiB0aGlzLl9jdXJyZW50SW5kZXggPT09IC0xKSk7CiAKICAgICAgICAgaWYgKGN1cnJlbnRF
bnRyeSAmJiBjdXJyZW50RW50cnkuY29udGVudFZpZXcgIT09IHZpc2libGVDb250ZW50VmlldyB8
fCBiYWNrRm9yd2FyZExpc3REaWRDaGFuZ2UpIHsKLSAgICAgICAgICAgIHRoaXMuX3Nob3dFbnRy
eShjdXJyZW50RW50cnksIHRydWUpOworICAgICAgICAgICAgdGhpcy5fc2hvd0VudHJ5KGN1cnJl
bnRFbnRyeSk7CiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5D
b250ZW50Vmlld0NvbnRhaW5lci5FdmVudC5DdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UpOwog
ICAgICAgICB9CiAgICAgfQpAQCAtMzI3LDIyICszMjEsMjIgQEAgV0kuQ29udGVudFZpZXdDb250
YWluZXIgPSBjbGFzcyBDb250ZW50Vmlld0NvbnRhaW5lciBleHRlbmRzIFdJLlZpZXcKICAgICAg
ICAgdGhpcy5zaG93QmFja0ZvcndhcmRFbnRyeUZvckluZGV4KHRoaXMuX2N1cnJlbnRJbmRleCAr
IDEpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAg
ICB2YXIgY3VycmVudEVudHJ5ID0gdGhpcy5jdXJyZW50QmFja0ZvcndhcmRFbnRyeTsKLSAgICAg
ICAgaWYgKCFjdXJyZW50RW50cnkpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIHN1cGVy
LmF0dGFjaGVkKCk7CiAKLSAgICAgICAgdGhpcy5fc2hvd0VudHJ5KGN1cnJlbnRFbnRyeSwgdHJ1
ZSk7CisgICAgICAgIHZhciBjdXJyZW50RW50cnkgPSB0aGlzLmN1cnJlbnRCYWNrRm9yd2FyZEVu
dHJ5OworICAgICAgICBpZiAoY3VycmVudEVudHJ5KQorICAgICAgICAgICAgdGhpcy5fc2hvd0Vu
dHJ5KGN1cnJlbnRFbnRyeSk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgp
CiAgICAgewogICAgICAgICB2YXIgY3VycmVudEVudHJ5ID0gdGhpcy5jdXJyZW50QmFja0Zvcndh
cmRFbnRyeTsKLSAgICAgICAgaWYgKCFjdXJyZW50RW50cnkpCi0gICAgICAgICAgICByZXR1cm47
CisgICAgICAgIGlmIChjdXJyZW50RW50cnkpCisgICAgICAgICAgICB0aGlzLl9oaWRlRW50cnko
Y3VycmVudEVudHJ5KTsKIAotICAgICAgICB0aGlzLl9oaWRlRW50cnkoY3VycmVudEVudHJ5KTsK
KyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICAvLyBQcml2YXRlCkBAIC00
MTYsNyArNDEwLDcgQEAgV0kuQ29udGVudFZpZXdDb250YWluZXIgPSBjbGFzcyBDb250ZW50Vmll
d0NvbnRhaW5lciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogCi0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFjb250ZW50Vmlldy52aXNpYmxlKTsKKyAgICAg
ICAgY29uc29sZS5hc3NlcnQoIWNvbnRlbnRWaWV3LmlzQXR0YWNoZWQpOwogCiAgICAgICAgIGlm
ICghY29udGVudFZpZXcuX3BhcmVudENvbnRhaW5lcikKICAgICAgICAgICAgIHJldHVybjsKQEAg
LTQzOCw3ICs0MzIsNyBAQCBXSS5Db250ZW50Vmlld0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRW
aWV3Q29udGFpbmVyIGV4dGVuZHMgV0kuVmlldwogICAgICAgICAgICAgV0kuQ29udGVudFZpZXcu
Y2xvc2VkQ29udGVudFZpZXdGb3JSZXByZXNlbnRlZE9iamVjdChjb250ZW50Vmlldy5yZXByZXNl
bnRlZE9iamVjdCk7CiAgICAgfQogCi0gICAgX3Nob3dFbnRyeShlbnRyeSwgc2hvdWxkQ2FsbFNo
b3duKQorICAgIF9zaG93RW50cnkoZW50cnkpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2Vy
dChlbnRyeSBpbnN0YW5jZW9mIFdJLkJhY2tGb3J3YXJkRW50cnkpOwogCkBAIC00NTMsNyArNDQ3
LDcgQEAgV0kuQ29udGVudFZpZXdDb250YWluZXIgPSBjbGFzcyBDb250ZW50Vmlld0NvbnRhaW5l
ciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgaWYgKCF0aGlzLnN1YnZpZXdzLmluY2x1ZGVzKGVu
dHJ5LmNvbnRlbnRWaWV3KSkKICAgICAgICAgICAgIHRoaXMuYWRkU3VidmlldyhlbnRyeS5jb250
ZW50Vmlldyk7CiAKLSAgICAgICAgZW50cnkucHJlcGFyZVRvU2hvdyhzaG91bGRDYWxsU2hvd24p
OworICAgICAgICBlbnRyeS5wcmVwYXJlVG9TaG93KCk7CiAgICAgfQogCiAgICAgX2hpZGVFbnRy
eShlbnRyeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwppbmRleCAwMDVhMDc1YWNiMjgu
LjgzOTU5N2M0ZTVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwpAQCAtMTQwLDI2
ICsxNDAsNiBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29udGVudFZp
ZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0
LnRvZ2dsZSgic2hvdy1ndXR0ZXIiLCB0aGlzLl9icmVha3BvaW50R3V0dGVyRW5hYmxlZCk7CiAg
ICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAg
ICAgICB0aGlzLl9kb21UcmVlT3V0bGluZS5zZXRWaXNpYmxlKHRydWUsIFdJLmlzQ29uc29sZUZv
Y3VzZWQoKSk7Ci0KLSAgICAgICAgaWYgKCF0aGlzLl9kb21UcmVlT3V0bGluZS5yb290RE9NTm9k
ZSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLl9yZXN0b3JlQnJlYWtwb2lu
dHNBZnRlclVwZGF0ZSgpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBz
dXBlci5oaWRkZW4oKTsKLQotICAgICAgICBXSS5kb21NYW5hZ2VyLmhpZGVET01Ob2RlSGlnaGxp
Z2h0KCk7Ci0gICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLnNldFZpc2libGUoZmFsc2UpOwot
ICAgIH0KLQogICAgIGNsb3NlZCgpCiAgICAgewogICAgICAgICBzdXBlci5jbG9zZWQoKTsKQEAg
LTM5Niw2ICszNzYsMTAgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNv
bnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICB7CiAgICAgICAgIHN1cGVyLmF0
dGFjaGVkKCk7CiAKKyAgICAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUuc2V0VmlzaWJsZSh0cnVl
LCBXSS5pc0NvbnNvbGVGb2N1c2VkKCkpOworICAgICAgICBpZiAodGhpcy5fZG9tVHJlZU91dGxp
bmUucm9vdERPTU5vZGUpCisgICAgICAgICAgICB0aGlzLl9yZXN0b3JlQnJlYWtwb2ludHNBZnRl
clVwZGF0ZSgpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIudXBkYXRlQ29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZUZyb21QYWdlSWZOZWVkZWQoKTsKIAogICAgICAgICBXSS5sYXllclRy
ZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5Db21w
b3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFuZGxlQ29tcG9zaXRpbmdCb3Jk
ZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOwpAQCAtNDA3LDYgKzM5MSw5IEBAIFdJLkRPTVRyZWVD
b250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRW
aWV3CiAKICAgICBkZXRhY2hlZCgpCiAgICAgeworICAgICAgICBXSS5kb21NYW5hZ2VyLmhpZGVE
T01Ob2RlSGlnaGxpZ2h0KCk7CisgICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLnNldFZpc2li
bGUoZmFsc2UpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0
ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LlNob3dQYWludFJlY3RzQ2hhbmdlZCwgdGhp
cy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgV0kubGF5ZXJU
cmVlTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQu
Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMuX2hhbmRsZUNvbXBvc2l0aW5n
Qm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRWxlbWVudHNUYWJDb250ZW50Vmlldy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0VsZW1lbnRzVGFiQ29u
dGVudFZpZXcuanMKaW5kZXggNDRhMzIxNDgzZWRiLi43ODg0MTYxMTUyY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0VsZW1lbnRzVGFiQ29u
dGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvRWxlbWVudHNUYWJDb250ZW50Vmlldy5qcwpAQCAtOTYsOSArOTYsOSBAQCBXSS5FbGVtZW50
c1RhYkNvbnRlbnRWaWV3ID0gY2xhc3MgRWxlbWVudHNUYWJDb250ZW50VmlldyBleHRlbmRzIFdJ
LkNvbnRlbnRCcm93cwogICAgICAgICBjb29raWUubm9kZVRvU2VsZWN0ID0gdW5kZWZpbmVkOwog
ICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBl
ci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGlmICghdGhp
cy5jb250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXcpCiAgICAgICAgICAgICB0aGlzLl9z
aG93RE9NVHJlZUNvbnRlbnRWaWV3KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb250UmVzb3VyY2VDb250ZW50Vmlldy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZvbnRSZXNvdXJjZUNvbnRlbnRW
aWV3LmpzCmluZGV4IGQwOTMwNmE3MDk2YS4uMzcyYmQzM2NlNjdmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb250UmVzb3VyY2VDb250ZW50
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9G
b250UmVzb3VyY2VDb250ZW50Vmlldy5qcwpAQCAtNzUsMjIgKzc1LDIyIEBAIFdJLkZvbnRSZXNv
dXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgRm9udFJlc291cmNlQ29udGVudFZpZXcgZXh0ZW5kcyBX
SS5SZXNvdXJjZUNvCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNo
ZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNo
ZWQoKTsKIAogICAgICAgICAvLyBBZGQgdGhlIHN0eWxlIGVsZW1lbnQgc2luY2UgaXQgaXMgcmVt
b3ZlZCB3aGVuIGhpZGRlbi4KICAgICAgICAgaWYgKHRoaXMuX3N0eWxlRWxlbWVudCkKICAgICAg
ICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGhpcy5fc3R5bGVFbGVtZW50KTsKICAg
ICB9CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIC8vIFJl
bW92ZSB0aGUgc3R5bGUgZWxlbWVudCBzbyBpdCB3aWxsIG5vdCBzdGljayBhcm91bmQgd2hlbiB0
aGlzIGNvbnRlbnQgdmlldyBpcyBkZXN0cm95ZWQuCiAgICAgICAgIGlmICh0aGlzLl9zdHlsZUVs
ZW1lbnQpCiAgICAgICAgICAgICB0aGlzLl9zdHlsZUVsZW1lbnQucmVtb3ZlKCk7CiAKLSAgICAg
ICAgc3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAg
ICAgY2xvc2VkKCkKQEAgLTE3NSw3ICsxNzUsNyBAQCBXSS5Gb250UmVzb3VyY2VDb250ZW50Vmll
dyA9IGNsYXNzIEZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuUmVzb3VyY2VDbwog
ICAgICAgICB0aGlzLl9zdHlsZUVsZW1lbnQudGV4dENvbnRlbnQgPSBgQGZvbnQtZmFjZSB7IGZv
bnQtZmFtaWx5OiAiJHt1bmlxdWVGb250TmFtZX0iOyBzcmM6IHVybCgke3RoaXMuX2ZvbnRPYmpl
Y3RVUkx9KSAke2Zvcm1hdH07IH1gOwogCiAgICAgICAgIC8vIFRoZSBzdHlsZSBlbGVtZW50IHdp
bGwgYmUgYWRkZWQgd2hlbiBzaG93biBsYXRlciBpZiB3ZSBhcmUgbm90IHZpc2libGUgbm93Lgot
ICAgICAgICBpZiAodGhpcy52aXNpYmxlKQorICAgICAgICBpZiAodGhpcy5pc0F0dGFjaGVkKQog
ICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0aGlzLl9zdHlsZUVsZW1lbnQp
OwogCiAgICAgICAgIHRoaXMuX3ByZXZpZXdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQ
YW5lbC5qcwppbmRleCAyZTI3MGM3YzllMzEuLjZiMjlmMDlkMDBkNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJhbFN0eWxlRGV0YWls
c1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC00Nyw3ICs0Nyw3
IEBAIFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBHZW5lcmFsU3R5
bGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgewogICAgICAgICBsZXQgbWluaW11bVdp
ZHRoID0gTWF0aC5tYXgoc3VwZXIubWluaW11bVdpZHRoLCB0aGlzLl9wYW5lbC5taW5pbXVtV2lk
dGggfHwgMCk7CiAKLSAgICAgICAgaWYgKHRoaXMuZXhjbHVzaXZlKSB7CisgICAgICAgIGlmICh0
aGlzLl9mb3JjZWRQc2V1ZG9DbGFzc0NvbnRhaW5lciAmJiB0aGlzLmV4Y2x1c2l2ZSkgewogICAg
ICAgICAgICAgbGV0IHBzZXVkb0NsYXNzTWluaW11bVdpZHRoID0gMDsKICAgICAgICAgICAgIGZv
ciAobGV0IGNoaWxkIG9mIHRoaXMuX2ZvcmNlZFBzZXVkb0NsYXNzQ29udGFpbmVyLmNoaWxkcmVu
KQogICAgICAgICAgICAgICAgIHBzZXVkb0NsYXNzTWluaW11bVdpZHRoICs9IGNoaWxkLm9mZnNl
dFdpZHRoOwpAQCAtNjIsMTcgKzYyLDkgQEAgV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQ
YW5lbCA9IGNsYXNzIEdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW4KICAgICAg
ICAgcmV0dXJuIG5vZGVUb0luc3BlY3Qubm9kZVR5cGUoKSA9PT0gTm9kZS5FTEVNRU5UX05PREU7
CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBz
dXBlci5oaWRkZW4oKTsKLQotICAgICAgICBpZiAodGhpcy5fcGFuZWwpCi0gICAgICAgICAgICB0
aGlzLl9wYW5lbC5oaWRkZW4oKTsKLSAgICB9Ci0KLSAgICBzaG93bigpCi0gICAgewotICAgICAg
ICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGlm
ICghdGhpcy5fcGFuZWwpCiAgICAgICAgICAgICByZXR1cm47CkBAIC04MCw3ICs3Miw2IEBAIFdJ
LkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBHZW5lcmFsU3R5bGVEZXRh
aWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMudmlzaWJs
ZSwgYFNob3duIHBhbmVsICR7dGhpcy5faWRlbnRpZmllcn0gbXVzdCBiZSB2aXNpYmxlLmApOwog
CiAgICAgICAgIHRoaXMuX3VwZGF0ZU5vRm9yY2VkUHNldWRvQ2xhc3Nlc1Njcm9sbE9mZnNldCgp
OwotICAgICAgICB0aGlzLl9wYW5lbC5zaG93bigpOwogICAgICAgICB0aGlzLl9wYW5lbC5tYXJr
QXNOZWVkc1JlZnJlc2godGhpcy5kb21Ob2RlKTsKICAgICB9CiAKQEAgLTI0Niw4ICsyMzcsNiBA
QCBXSS5HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgR2VuZXJhbFN0eWxl
RGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbgogICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1l
bnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLWZpbHRlci1iYXIiLCBoYXNGaWx0ZXIpOwogICAgICAg
ICBpZiAodGhpcy5fZmlsdGVyQmFyKQogICAgICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVt
ZW50LmNsYXNzTGlzdC50b2dnbGUoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5G
aWx0ZXJJblByb2dyZXNzQ2xhc3NOYW1lLCBoYXNGaWx0ZXIgJiYgdGhpcy5fZmlsdGVyQmFyLmhh
c0FjdGl2ZUZpbHRlcnMoKSk7Ci0KLSAgICAgICAgdGhpcy5fcGFuZWwuc2hvd24oKTsKICAgICB9
CiAKICAgICBfaGFuZGxlTm9kZUNoYW5nZWQoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZU92
ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggNDU5NGFiNDQz
OTNmLi5kMGY3ZWUwOTQ5ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0hlYXBBbGxvY2F0aW9uc1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2Nh
dGlvbnNUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTUwLDcgKzUwLDkgQEAgV0kuSGVhcEFs
bG9jYXRpb25zVGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgSGVhcEFsbG9jYXRpb25zVGlt
ZWxpbmVPdmVydmlld0cKIAogICAgIGxheW91dCgpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMu
dmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisKKyAgICAgICAgaWYgKHRoaXMuaGlk
ZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVD
aGlsZHJlbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3Lmpz
CmluZGV4IDhjNjc0Mzc3MGVmOS4uZDlkOGM0ZDcyZDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVh
cEFsbG9jYXRpb25zVGltZWxpbmVWaWV3LmpzCkBAIC0xMjgsNyArMTI4LDYgQEAgV0kuSGVhcEFs
bG9jYXRpb25zVGltZWxpbmVWaWV3ID0gY2xhc3MgSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3
IGV4dGVuZHMgV0kuVGkKICAgICAgICAgdGhpcy5faGVhcFNuYXBzaG90RGlmZiA9IG51bGw7CiAg
ICAgICAgIHRoaXMuX2NhbmNlbFNlbGVjdENvbXBhcmlzb25IZWFwU25hcHNob3RzKCk7CiAKLSAg
ICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuaGlkZGVuKCk7CiAgICAgICAgIHRoaXMu
cmVtb3ZlU3Vidmlldyh0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lcik7CiAgICAgICAgIHRoaXMu
YWRkU3Vidmlldyh0aGlzLl9kYXRhR3JpZCk7CiAKQEAgLTE0NCw3ICsxNDMsNiBAQCBXSS5IZWFw
QWxsb2NhdGlvbnNUaW1lbGluZVZpZXcgPSBjbGFzcyBIZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZp
ZXcgZXh0ZW5kcyBXSS5UaQogICAgICAgICAgICAgdGhpcy5fc25hcHNob3RMaXN0U2Nyb2xsVG9w
ID0gdGhpcy5fZGF0YUdyaWQuc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcDsKICAgICAgICAgICAg
IHRoaXMucmVtb3ZlU3Vidmlldyh0aGlzLl9kYXRhR3JpZCk7CiAgICAgICAgICAgICB0aGlzLmFk
ZFN1YnZpZXcodGhpcy5fY29udGVudFZpZXdDb250YWluZXIpOwotICAgICAgICAgICAgdGhpcy5f
Y29udGVudFZpZXdDb250YWluZXIuc2hvd24oKTsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMu
X3Nob3dpbmdTbmFwc2hvdExpc3QgPSBmYWxzZTsKQEAgLTE3Miw3ICsxNzAsNiBAQCBXSS5IZWFw
QWxsb2NhdGlvbnNUaW1lbGluZVZpZXcgPSBjbGFzcyBIZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZp
ZXcgZXh0ZW5kcyBXSS5UaQogICAgICAgICBpZiAodGhpcy5fc2hvd2luZ1NuYXBzaG90TGlzdCkg
ewogICAgICAgICAgICAgdGhpcy5yZW1vdmVTdWJ2aWV3KHRoaXMuX2RhdGFHcmlkKTsKICAgICAg
ICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lcik7Ci0gICAg
ICAgICAgICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5zaG93bigpOwogICAgICAgICB9CiAK
ICAgICAgICAgdGhpcy5fc2hvd2luZ1NuYXBzaG90TGlzdCA9IGZhbHNlOwpAQCAtMjMwLDI2ICsy
MjcsNiBAQCBXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcgPSBjbGFzcyBIZWFwQWxsb2Nh
dGlvbnNUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaQogICAgICAgICAgICAgdGhpcy5zaG93SGVh
cFNuYXBzaG90TGlzdCgpOwogICAgIH0KIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1
cGVyLnNob3duKCk7Ci0KLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuc2hvd24oKTsKLQotICAgICAg
ICBpZiAoIXRoaXMuX3Nob3dpbmdTbmFwc2hvdExpc3QpCi0gICAgICAgICAgICB0aGlzLl9jb250
ZW50Vmlld0NvbnRhaW5lci5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewot
ICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAgICB0aGlzLl9kYXRhR3JpZC5oaWRkZW4o
KTsKLQotICAgICAgICBpZiAoIXRoaXMuX3Nob3dpbmdTbmFwc2hvdExpc3QpCi0gICAgICAgICAg
ICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBjbG9z
ZWQoKQogICAgIHsKICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1vdmVFdmVudExp
c3RlbmVyKFdJLlRpbWVsaW5lLkV2ZW50LlJlY29yZEFkZGVkLCB0aGlzLl9oZWFwQWxsb2NhdGlv
bnNUaW1lbGluZVJlY29yZEFkZGVkLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFw
c2hvdENsdXN0ZXJDb250ZW50Vmlldy5qcwppbmRleCAzMjIwNjU1ZTcwYjQuLmYyMTk5ZTRjYWQ3
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
SGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5q
cwpAQCAtMTM5LDkgKzEzOSw5IEBAIFdJLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyA9
IGNsYXNzIEhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyBleHRlbmRzCiAgICAgICAgIHJl
dHVybiBjb21wb25lbnRzLmNvbmNhdChjdXJyZW50Q29udGVudFZpZXcuc2VsZWN0aW9uUGF0aENv
bXBvbmVudHMpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewot
ICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAg
ICAgIGlmICh0aGlzLl9zaG93bkluaXRpYWxDb250ZW50KQogICAgICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVh
cFNuYXBzaG90Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDb250ZW50Vmlldy5qcwppbmRleCA5ZjBlMTBjZDNlNzIu
LjkxM2RkYjc0ZDBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvSGVhcFNuYXBzaG90Q29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBzaG90Q29udGVudFZpZXcuanMK
QEAgLTkwLDE4ICs5MCwxOCBAQCBXSS5IZWFwU25hcHNob3RDb250ZW50VmlldyA9IGNsYXNzIEhl
YXBTbmFwc2hvdENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZQogICAgICAgICByZXR1
cm4gW107CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAg
ICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAg
dGhpcy5faGVhcFNuYXBzaG90RGF0YUdyaWRUcmVlLnNob3duKCk7CiAgICAgfQogCi0gICAgaGlk
ZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQog
ICAgICAgICB0aGlzLl9oZWFwU25hcHNob3REYXRhR3JpZFRyZWUuaGlkZGVuKCk7CisKKyAgICAg
ICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICBnZXQgc2Nyb2xsYWJsZUVsZW1lbnRz
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0ltYWdlUmVzb3VyY2VDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0ltYWdlUmVzb3VyY2VDb250ZW50Vmlldy5qcwppbmRleCAwNmUxZjBk
NmQwNGMuLjBlYjBiNjBmMTk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ltYWdlUmVzb3VyY2VDb250ZW50
Vmlldy5qcwpAQCAtOTksMjAgKzk5LDIwIEBAIFdJLkltYWdlUmVzb3VyY2VDb250ZW50VmlldyA9
IGNsYXNzIEltYWdlUmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJLlJlc291cmNlCiAKICAg
ICAvLyBQcm90ZWN0ZWQKIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAg
ICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAg
IHRoaXMuX3VwZGF0ZUltYWdlR3JpZCgpOwogCiAgICAgICAgIFdJLnNldHRpbmdzLnNob3dJbWFn
ZUdyaWQuYWRkRXZlbnRMaXN0ZW5lcihXSS5TZXR0aW5nLkV2ZW50LkNoYW5nZWQsIHRoaXMuX3Vw
ZGF0ZUltYWdlR3JpZCwgdGhpcyk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hl
ZCgpCiAgICAgewogICAgICAgICBXSS5zZXR0aW5ncy5zaG93SW1hZ2VHcmlkLnJlbW92ZUV2ZW50
TGlzdGVuZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl91cGRhdGVJbWFnZUdyaWQs
IHRoaXMpOwogCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hl
ZCgpOwogICAgIH0KIAogICAgIC8vIERyb3Bab25lVmlldyBkZWxlZ2F0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWls
c1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0xheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggOTQ3OWZiMmM4ZDZlLi5i
MTdhZDk2M2MzZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0xheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQ
YW5lbC5qcwpAQCAtMzYsMjAgKzM2LDE4IEBAIFdJLkxheWVyVHJlZURldGFpbHNTaWRlYmFyUGFu
ZWwgPSBjbGFzcyBMYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuCiAKICAg
ICAvLyBEZXRhaWxzU2lkZWJhclBhbmVsIE92ZXJyaWRlcy4KIAotICAgIHNob3duKCkKKyAgICBh
dHRhY2hlZCgpCiAgICAgeworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOworCiAgICAgICAgIFdJ
LmxheWVyVHJlZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2
ZW50LkxheWVyVHJlZURpZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzKTsK
LQotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLnBhcmVudFNpZGViYXIpOwotCi0gICAgICAg
IHN1cGVyLnNob3duKCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAg
ICAgewogICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0ku
TGF5ZXJUcmVlTWFuYWdlci5FdmVudC5MYXllclRyZWVEaWRDaGFuZ2UsIHRoaXMuX2xheWVyVHJl
ZURpZENoYW5nZSwgdGhpcyk7CiAKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1
cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgLy8gRE9NRGV0YWlsc1NpZGViYXJQYW5lbCBP
dmVycmlkZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0xheWVyczNEQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCmluZGV4IDFiMjczZDZjMTJj
OC4uMTM1OTA5MzAzM2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyczNEQ29udGVudFZpZXcuanMKQEAgLTc0
LDI2ICs3NCw2IEBAIFdJLkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnMzRENvbnRl
bnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgcmV0dXJuIHRoaXMuX2xheWVy
czsKICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigpOwot
Ci0gICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7Ci0gICAgICAgIFdJLmxheWVyVHJlZU1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LkxheWVyVHJlZURp
ZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzKTsKLQotICAgICAgICBpZiAo
dGhpcy5kaWRJbml0aWFsTGF5b3V0KQotICAgICAgICAgICAgdGhpcy5fYW5pbWF0ZSgpOwotICAg
IH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJl
bW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5MYXllclRyZWVEaWRD
aGFuZ2UsIHRoaXMuX2xheWVyVHJlZURpZENoYW5nZSwgdGhpcyk7Ci0KLSAgICAgICAgdGhpcy5f
c3RvcEFuaW1hdGlvbigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotICAgIH0KLQogICAg
IHNlbGVjdExheWVyQnlJZChsYXllcklkKQogICAgIHsKICAgICAgICAgbGV0IGxheWVyR3JvdXAg
PSB0aGlzLl9sYXllckdyb3Vwc0J5SWQuZ2V0KGxheWVySWQpOwpAQCAtMTMzLDYgKzExMywxMSBA
QCBXSS5MYXllcnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5ZXJzM0RDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgewogICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCisg
ICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVN
YW5hZ2VyLkV2ZW50LkxheWVyVHJlZURpZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdl
LCB0aGlzKTsKKworICAgICAgICBpZiAodGhpcy5kaWRJbml0aWFsTGF5b3V0KQorICAgICAgICAg
ICAgdGhpcy5fYW5pbWF0ZSgpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIudXBkYXRl
Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUZyb21QYWdlSWZOZWVkZWQoKTsKIAogICAgICAgICBX
SS5sYXllclRyZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5F
dmVudC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFuZGxlQ29tcG9z
aXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOwpAQCAtMTQ0LDYgKzEyOSwxMCBAQCBX
SS5MYXllcnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5ZXJzM0RDb250ZW50VmlldyBleHRlbmRz
IFdJLkNvbnRlbnRWaWV3CiAKICAgICBkZXRhY2hlZCgpCiAgICAgeworICAgICAgICBXSS5sYXll
clRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVu
dC5MYXllclRyZWVEaWRDaGFuZ2UsIHRoaXMuX2xheWVyVHJlZURpZENoYW5nZSwgdGhpcyk7CisK
KyAgICAgICAgdGhpcy5fc3RvcEFuaW1hdGlvbigpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1h
bmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LlNob3dQ
YWludFJlY3RzQ2hhbmdlZCwgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0aGlz
KTsKICAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkxh
eWVyVHJlZU1hbmFnZXIuRXZlbnQuQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRo
aXMuX2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJz
VGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9MYXllcnNUYWJDb250ZW50Vmlldy5qcwppbmRleCA1NDJmNzBiYjRhZGEuLmI5MjNkZWY0
YjUyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTGF5ZXJzVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzVGFiQ29udGVudFZpZXcuanMKQEAgLTY1LDkgKzY1LDkg
QEAgV0kuTGF5ZXJzVGFiQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnNUYWJDb250ZW50VmlldyBl
eHRlbmRzIFdJLkNvbnRlbnRCcm93c2VyVGEKICAgICAgICAgdGhpcy5fbGF5ZXJzM0RDb250ZW50
Vmlldy5zZWxlY3RMYXllckZvck5vZGUobm9kZSk7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAg
IGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVy
LmF0dGFjaGVkKCk7CiAKICAgICAgICAgdGhpcy5jb250ZW50QnJvd3Nlci5zaG93Q29udGVudFZp
ZXcodGhpcy5fbGF5ZXJzM0RDb250ZW50Vmlldyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmll
d0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5
b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IDY0MmQwMGJlOGY3Ny4uNzMxZDNjZDI0
M2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9MYXlvdXRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBA
IC02NCw3ICs2NCw5IEBAIFdJLkxheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIExh
eW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlRpCiAKICAgICBsYXlvdXQoKQog
ICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIHN1cGVyLmxheW91dCgp
OworCisgICAgICAgIGlmICh0aGlzLmhpZGRlbikKICAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICB0aGlzLl91cGRhdGVSb3dMYXlvdXQodGhpcy5fdGltZWxpbmVQYWludFJlY29yZFJvdyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9M
YXlvdXRUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9MYXlvdXRUaW1lbGluZVZpZXcuanMKaW5kZXggMmNjNjYxZTIyODhmLi5mNGVhNDI2
YWMyMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0xheW91dFRpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZVZpZXcuanMKQEAgLTEyNywyMiArMTI3LDE4
IEBAIFdJLkxheW91dFRpbWVsaW5lVmlldyA9IGNsYXNzIExheW91dFRpbWVsaW5lVmlldyBleHRl
bmRzIFdJLlRpbWVsaW5lVmlldwogICAgICAgICByZXR1cm4gcGF0aENvbXBvbmVudHM7CiAgICAg
fQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNo
b3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgdGhpcy5fdXBkYXRl
SGlnaGxpZ2h0KCk7Ci0KLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuc2hvd24oKTsKICAgICB9CiAK
LSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIHRoaXMuX2hpZGVI
aWdobGlnaHRJZk5lZWRlZCgpOwogCi0gICAgICAgIHRoaXMuX2RhdGFHcmlkLmhpZGRlbigpOwot
Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAg
IH0KIAogICAgIGNsb3NlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Mb2dDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCmluZGV4IDQ2NTRiNjcxN2Rl
NS4uMWI2Y2YyOWI2MmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Mb2dDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Mb2dDb250ZW50Vmlldy5qcwpAQCAtMTc5LDkgKzE3OSw5
IEBAIFdJLkxvZ0NvbnRlbnRWaWV3ID0gY2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5D
b250ZW50VmlldwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBzaG93bigpCisg
ICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3Vw
ZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl9sb2dWaWV3Q29udHJvbGxlci5yZW5kZXJQ
ZW5kaW5nTWVzc2FnZXMoKTsKICAgICB9CkBAIC0yNTUsNyArMjU1LDcgQEAgV0kuTG9nQ29udGVu
dFZpZXcgPSBjbGFzcyBMb2dDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAg
ICBzaG93Q3VzdG9tRmluZEJhbm5lcigpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJs
ZSkKKyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1cm47CiAK
ICAgICAgICAgdGhpcy5fZmluZEJhbm5lci5mb2N1cygpOwpAQCAtMjYzLDcgKzI2Myw3IEBAIFdJ
LkxvZ0NvbnRlbnRWaWV3ID0gY2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50
VmlldwogCiAgICAgZ2V0IHN1cHBvcnRzU2F2ZSgpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMu
dmlzaWJsZSkKKyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICAgICAgaWYgKFdJLmlzU2hvd2luZ1NwbGl0Q29uc29sZSgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFU
aW1lbGluZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9NZWRpYVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwppbmRleCBjZWNjMDM0ZTNh
MDUuLjk5NWEwNzNkZDE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZU92ZXJ2aWV3
R3JhcGguanMKQEAgLTc4LDcgKzc4LDkgQEAgV0kuTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGgg
PSBjbGFzcyBNZWRpYVRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlRpbWUKIAogICAg
IGxheW91dCgpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3Vw
ZXIubGF5b3V0KCk7CisKKyAgICAgICAgaWYgKHRoaXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0
dXJuOwogCiAgICAgICAgIGxldCBzZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLnRpbWVsaW5lT3ZlcnZp
ZXcuc2Vjb25kc1BlclBpeGVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZWRpYVRpbWVsaW5lVmlldy5qcwppbmRleCAwMDBj
MmQ5ZmFiYzQuLmZhZjhiNDQ1YTVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZVZpZXcuanMKQEAg
LTg3LDIwICs4Nyw2IEBAIFdJLk1lZGlhVGltZWxpbmVWaWV3ID0gY2xhc3MgTWVkaWFUaW1lbGlu
ZVZpZXcgZXh0ZW5kcyBXSS5UaW1lbGluZVZpZXcKICAgICAgICAgcmV0dXJuIFtwYXRoQ29tcG9u
ZW50XTsKICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigp
OwotCi0gICAgICAgIHRoaXMuX2RhdGFHcmlkLnNob3duKCk7Ci0gICAgfQotCi0gICAgaGlkZGVu
KCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2RhdGFHcmlkLmhpZGRlbigpOwotCi0gICAgICAgIHN1
cGVyLmhpZGRlbigpOwotICAgIH0KLQogICAgIGNsb3NlZCgpCiAgICAgewogICAgICAgICB0aGlz
LnJlcHJlc2VudGVkT2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmUuRXZlbnQu
UmVjb3JkQWRkZWQsIHRoaXMuX2hhbmRsZVJlY29yZEFkZGVkLCB0aGlzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5l
T3ZlcnZpZXdHcmFwaC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL01lbW9yeVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwppbmRleCAwNTFhZTUxMzQxMTMuLjhl
N2MxMzZjN2FlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvTWVtb3J5VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lT3ZlcnZpZXdHcmFw
aC5qcwpAQCAtODEsNyArODEsOSBAQCBXSS5NZW1vcnlUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBj
bGFzcyBNZW1vcnlUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5kcyBXSS5UaQogCiAgICAgbGF5
b3V0KCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBzdXBlci5s
YXlvdXQoKTsKKworICAgICAgICBpZiAodGhpcy5oaWRkZW4pCiAgICAgICAgICAgICByZXR1cm47
CiAKICAgICAgICAgdGhpcy5fdXBkYXRlTGVnZW5kKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZpZXcuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZp
ZXcuanMKaW5kZXggZDY1ZTRlYTI1MzhmLi40ZGU3ZWY0ZDlmNGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmlldy5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlU
aW1lbGluZVZpZXcuanMKQEAgLTEyMSwxMSArMTIxLDExIEBAIFdJLk1lbW9yeVRpbWVsaW5lVmll
dyA9IGNsYXNzIE1lbW9yeVRpbWVsaW5lVmlldyBleHRlbmRzIFdJLlRpbWVsaW5lVmlldwogCiAg
ICAgLy8gUHVibGljCiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAg
ICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAotICAgICAgICB0
aGlzLl90aW1lbGluZVJ1bGVyLnVwZGF0ZUxheW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNp
emUpOworICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLm5lZWRzTGF5b3V0KFdJLlZpZXcuTGF5
b3V0UmVhc29uLlJlc2l6ZSk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL011bHRpU2lkZWJhci5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL011bHRpU2lkZWJhci5q
cwppbmRleCAwZDdlODIzNTY4MjIuLmQ2MzdiZjZiY2IwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTXVsdGlTaWRlYmFyLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL011bHRpU2lkZWJhci5qcwpA
QCAtMTcxLDcgKzE3MSw3IEBAIFdJLk11bHRpU2lkZWJhciA9IGNsYXNzIE11bHRpU2lkZWJhciBl
eHRlbmRzIFdJLlNpZGViYXIKICAgICAgICAgdGhpcy5fdXBkYXRlTXVsdGlwbGVTaWRlYmFyTGF5
b3V0KCk7CiAgICAgfQogCi0gICAgZGlkU2V0Q29sbGFwc2VkKGZsYWcpCisgICAgZGlkU2V0Q29s
bGFwc2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMucHJpbWFyeVNpZGViYXIuY29sbGFwc2VkID0g
dGhpcy5jb2xsYXBzZWQ7CiAgICAgICAgIHRoaXMuX3VwZGF0ZU11bHRpcGxlU2lkZWJhckxheW91
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKaW5kZXggNjgxNjVlYjc2
MGFlLi4zNWFjY2YzODZhMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQYW5lbC5q
cwpAQCAtNDcxLDExICs0NzEsMTQgQEAgV0kuTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNz
IE5hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5TaWRlYmFyUGFuZWwKICAgICAgICAg
dHJlZUVsZW1lbnQuaGlkZGVuID0gdHJ1ZTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0
YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0
YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl91cGRhdGVDb250ZW50T3ZlcmZsb3dTaGFkb3dWaXNp
YmlsaXR5RGVib3VuY2VyLmZvcmNlKCk7CisKKyAgICAgICAgaWYgKHRoaXMuX2NvbnRlbnRCcm93
c2VyICYmICF0aGlzLl9jb250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXcpCisgICAgICAg
ICAgICB0aGlzLnNob3dEZWZhdWx0Q29udGVudFZpZXcoKTsKICAgICB9CiAKICAgICAvLyBQcm90
ZWN0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL05ldHdvcmtEZXRhaWxWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTmV0d29ya0RldGFpbFZpZXcuanMKaW5kZXggZWRmZjExYTIyOWE0Li42ZjM4
Njg3OGUxYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL05ldHdvcmtEZXRhaWxWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtEZXRhaWxWaWV3LmpzCkBAIC00NSw4ICs0NSwxMCBA
QCBXSS5OZXR3b3JrRGV0YWlsVmlldyA9IGNsYXNzIE5ldHdvcmtEZXRhaWxWaWV3IGV4dGVuZHMg
V0kuVmlldwogCiAgICAgZ2V0IHJlcHJlc2VudGVkT2JqZWN0KCkgeyByZXR1cm4gdGhpcy5fcmVw
cmVzZW50ZWRPYmplY3Q7IH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewor
ICAgICAgICBzdXBlci5hdHRhY2hlZCgpOworCiAgICAgICAgIGlmICghdGhpcy5fY29udGVudEJy
b3dzZXIpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTU2LDEzICs1OCw2IEBAIFdJLk5ldHdv
cmtEZXRhaWxWaWV3ID0gY2xhc3MgTmV0d29ya0RldGFpbFZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAg
ICAgICAgICAgICB0aGlzLl9jb250ZW50QnJvd3Nlci5zaG93Q29udGVudFZpZXcodGhpcy5fY29u
dGVudEJyb3dzZXIuY3VycmVudENvbnRlbnRWaWV3LCB0aGlzLl9jb250ZW50Vmlld0Nvb2tpZSk7
CiAgICAgICAgICAgICB0aGlzLl9jb250ZW50Vmlld0Nvb2tpZSA9IG51bGw7CiAgICAgICAgIH0K
LQotICAgICAgICB0aGlzLl9jb250ZW50QnJvd3Nlci5zaG93bigpOwotICAgIH0KLQotICAgIGhp
ZGRlbigpCi0gICAgewotICAgICAgICB0aGlzLl9jb250ZW50QnJvd3Nlci5oaWRkZW4oKTsKICAg
ICB9CiAKICAgICBkaXNwb3NlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtSZXNvdXJjZURldGFpbFZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrUmVzb3VyY2VEZXRhaWxW
aWV3LmpzCmluZGV4IDRkOTEyZTNhZmE5NS4uMjA0ZTc2NDcwNmU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrUmVzb3VyY2VEZXRh
aWxWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L05ldHdvcmtSZXNvdXJjZURldGFpbFZpZXcuanMKQEAgLTQzLDEyICs0MywxMiBAQCBXSS5OZXR3
b3JrUmVzb3VyY2VEZXRhaWxWaWV3ID0gY2xhc3MgTmV0d29ya1Jlc291cmNlRGV0YWlsVmlldyBl
eHRlbmRzIFdJLk5ldHdvcgogCiAgICAgLy8gUHVibGljCiAKLSAgICBzaG93bigpCisgICAgYXR0
YWNoZWQoKQogICAgIHsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKKwogICAgICAgICBpZiAo
dGhpcy5fY29udGVudEJyb3dzZXIgJiYgdGhpcy5fY29udGVudFZpZXdDb29raWUgJiYgImxpbmVO
dW1iZXIiIGluIHRoaXMuX2NvbnRlbnRWaWV3Q29va2llICYmICJjb2x1bW5OdW1iZXIiIGluIHRo
aXMuX2NvbnRlbnRWaWV3Q29va2llKQogICAgICAgICAgICAgdGhpcy5fY29udGVudEJyb3dzZXIu
bmF2aWdhdGlvbkJhci5zZWxlY3RlZE5hdmlnYXRpb25JdGVtID0gdGhpcy5kZXRhaWxOYXZpZ2F0
aW9uSXRlbUZvcklkZW50aWZpZXIoInByZXZpZXciKTsKLQotICAgICAgICBzdXBlci5zaG93bigp
OwogICAgIH0KIAogICAgIC8vIFJlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3IGRlbGVnYXRlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3
b3JrVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9OZXR3b3JrVGFiQ29udGVudFZpZXcuanMKaW5kZXggNDc2Mjc5ZmI2M2FlLi5kNTZi
MTYwNDAwMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL05ldHdvcmtUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFiQ29udGVudFZpZXcuanMKQEAgLTYxLDIw
ICs2MSw2IEBAIFdJLk5ldHdvcmtUYWJDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJDb250
ZW50VmlldyBleHRlbmRzIFdJLlRhYkNvbnRlbnRWaWV3CiAKICAgICAvLyBQcm90ZWN0ZWQKIAot
ICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAgICAgdGhp
cy5fY29udGVudEJyb3dzZXIuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsK
LSAgICAgICAgdGhpcy5fY29udGVudEJyb3dzZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgc3VwZXIu
aGlkZGVuKCk7Ci0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMuX2Nv
bnRlbnRCcm93c2VyLmNvbnRlbnRWaWV3Q29udGFpbmVyLmNsb3NlQWxsQ29udGVudFZpZXdzKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9O
ZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmpzCmluZGV4IGI1MzI0Y2E2Mjdi
My4uZGQ2MGViYjA2NDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5q
cwpAQCAtMjcxLDI1ICsyNzEsMTEgQEAgV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcgPSBjbGFz
cyBOZXR3b3JrVGFibGVDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWUKICAgICAgICAg
cmV0dXJuIHtjdXN0b21TYXZlSGFuZGxlcjogKCkgPT4geyB0aGlzLl9leHBvcnRIQVIoKTsgfX07
CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQot
ICAgICAgICBpZiAodGhpcy5fZGV0YWlsVmlldykKLSAgICAgICAgICAgIHRoaXMuX2RldGFpbFZp
ZXcuc2hvd24oKTsKLQotICAgICAgICBpZiAodGhpcy5fdGFibGUpCi0gICAgICAgICAgICB0aGlz
Ll90YWJsZS5yZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQor
ICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIHRoaXMuX2hpZGVQb3BvdmVyKCk7CiAKLSAg
ICAgICAgaWYgKHRoaXMuX2RldGFpbFZpZXcpCi0gICAgICAgICAgICB0aGlzLl9kZXRhaWxWaWV3
LmhpZGRlbigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRh
Y2hlZCgpOwogICAgIH0KIAogICAgIGNsb3NlZCgpCkBAIC0xNTUyLDggKzE1MzgsNiBAQCBXSS5O
ZXR3b3JrVGFibGVDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3IGV4
dGVuZHMgV0kuQ29udGVudFZpZQogICAgICAgICB0aGlzLl90YWJsZS5zY3JvbGxDb250YWluZXIu
c3R5bGUucmVtb3ZlUHJvcGVydHkoIndpZHRoIik7CiAKICAgICAgICAgdGhpcy5yZW1vdmVTdWJ2
aWV3KHRoaXMuX2RldGFpbFZpZXcpOwotCi0gICAgICAgIHRoaXMuX2RldGFpbFZpZXcuaGlkZGVu
KCk7CiAgICAgICAgIHRoaXMuX2RldGFpbFZpZXcgPSBudWxsOwogCiAgICAgICAgIHRoaXMuX3Rh
YmxlLnVwZGF0ZUxheW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOwpAQCAtMTU3OCwx
NyArMTU2MiwxNCBAQCBXSS5OZXR3b3JrVGFibGVDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtU
YWJsZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZQogICAgICAgICAgICAgdGhpcy5f
ZGV0YWlsVmlld01hcC5zZXQob2JqZWN0LCB0aGlzLl9kZXRhaWxWaWV3KTsKICAgICAgICAgfQog
Ci0gICAgICAgIGlmIChvbGREZXRhaWxWaWV3KSB7Ci0gICAgICAgICAgICBvbGREZXRhaWxWaWV3
LmhpZGRlbigpOworICAgICAgICBpZiAob2xkRGV0YWlsVmlldykKICAgICAgICAgICAgIHRoaXMu
cmVwbGFjZVN1YnZpZXcob2xkRGV0YWlsVmlldywgdGhpcy5fZGV0YWlsVmlldyk7Ci0gICAgICAg
IH0gZWxzZQorICAgICAgICBlbHNlCiAgICAgICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5f
ZGV0YWlsVmlldyk7CiAKICAgICAgICAgaWYgKHRoaXMuX3Nob3dpbmdSZXByZXNlbnRlZE9iamVj
dENvb2tpZSkKICAgICAgICAgICAgIHRoaXMuX2RldGFpbFZpZXcud2lsbFNob3dXaXRoQ29va2ll
KHRoaXMuX3Nob3dpbmdSZXByZXNlbnRlZE9iamVjdENvb2tpZSk7CiAKLSAgICAgICAgdGhpcy5f
ZGV0YWlsVmlldy5zaG93bigpOwotCiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRk
KCJzaG93aW5nLWRldGFpbCIpOwogICAgICAgICB0aGlzLl90YWJsZS5zY3JvbGxDb250YWluZXIu
c3R5bGUud2lkdGggPSB0aGlzLl9uYW1lQ29sdW1uLndpZHRoICsgInB4IjsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVs
aW5lT3ZlcnZpZXdHcmFwaC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL05ldHdvcmtUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggMzI4M2Y5MzJlMTFj
Li5hYWIzYmQwYjg0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL05ldHdvcmtUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lT3ZlcnZp
ZXdHcmFwaC5qcwpAQCAtNjgsNyArNjgsOSBAQCBXSS5OZXR3b3JrVGltZWxpbmVPdmVydmlld0dy
YXBoID0gY2xhc3MgTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLgogCiAg
ICAgbGF5b3V0KCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBz
dXBlci5sYXlvdXQoKTsKKworICAgICAgICBpZiAodGhpcy5oaWRkZW4pCiAgICAgICAgICAgICBy
ZXR1cm47CiAKICAgICAgICAgbGV0IHNlY29uZHNQZXJQaXhlbCA9IHRoaXMudGltZWxpbmVPdmVy
dmlldy5zZWNvbmRzUGVyUGl4ZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcwppbmRl
eCAxMGEwZjQ0MmU0MjQuLjVhOGY0NjRjYTJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVW
aWV3LmpzCkBAIC0xNjEsMjAgKzE2MSw2IEBAIFdJLk5ldHdvcmtUaW1lbGluZVZpZXcgPSBjbGFz
cyBOZXR3b3JrVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuVGltZWxpbmVWaWV3CiAgICAgICAgIHJl
dHVybiBbcGF0aENvbXBvbmVudF07CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAg
ICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAgICB0aGlzLl9kYXRhR3JpZC5zaG93bigpOwotICAg
IH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICB0aGlzLl9kYXRhR3JpZC5oaWRkZW4o
KTsKLQotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBjbG9zZWQoKQogICAg
IHsKICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKFdJ
LlRpbWVsaW5lLkV2ZW50LlJlY29yZEFkZGVkLCB0aGlzLl9uZXR3b3JrVGltZWxpbmVSZWNvcmRB
ZGRlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGltZWxpbmVWaWV3LmpzCmluZGV4IGIxZGZj
MGI2NWJjMy4uNWNhNjUwODc2NzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5q
cwpAQCAtOTcsMTEgKzk3LDExIEBAIFdJLk92ZXJ2aWV3VGltZWxpbmVWaWV3ID0gY2xhc3MgT3Zl
cnZpZXdUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lbGluZVZpZXcKICAgICAgICAgdGhpcy5f
dGltZWxpbmVSdWxlci5zZWNvbmRzUGVyUGl4ZWwgPSB4OwogICAgIH0KIAotICAgIHNob3duKCkK
KyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBz
dXBlci5hdHRhY2hlZCgpOwogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIudXBkYXRlTGF5
b3V0KFdJLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSk7CisgICAgICAgIHRoaXMuX3RpbWVsaW5l
UnVsZXIubmVlZHNMYXlvdXQoV0kuVmlldy5MYXlvdXRSZWFzb24uUmVzaXplKTsKICAgICB9CiAK
ICAgICBjbG9zZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvUmVjb3JkaW5nQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9SZWNvcmRpbmdDb250ZW50Vmlldy5qcwppbmRleCA1YWVj
MTg1MTNjZmQuLmFiZTQ4ODZjZGU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUmVjb3JkaW5nQ29udGVudFZpZXcuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVjb3JkaW5nQ29udGVudFZpZXcu
anMKQEAgLTExOSw5ICsxMTksOSBAQCBXSS5SZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFJl
Y29yZGluZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuQ29udGVudFZpZXcuRXZlbnQuU3VwcGxlbWVudGFs
UmVwcmVzZW50ZWRPYmplY3RzRGlkQ2hhbmdlKTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAg
YXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIu
YXR0YWNoZWQoKTsKIAogICAgICAgICBsZXQgaXNDYW52YXMyRCA9IHRoaXMucmVwcmVzZW50ZWRP
YmplY3QudHlwZSA9PT0gV0kuUmVjb3JkaW5nLlR5cGUuQ2FudmFzMkQ7CiAgICAgICAgIGxldCBp
c0NhbnZhc0JpdG1hcFJlbmRlcmVyID0gdGhpcy5yZXByZXNlbnRlZE9iamVjdC50eXBlID09PSBX
SS5SZWNvcmRpbmcuVHlwZS5DYW52YXNCaXRtYXBSZW5kZXJlcjsKQEAgLTEzNCwxMSArMTM0LDEx
IEBAIFdJLlJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgUmVjb3JkaW5nQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB9CiAgICAgfQogCi0gICAgaGlkZGVuKCkK
KyAgICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQogICAgICAg
ICB0aGlzLl9nZW5lcmF0ZUNvbnRlbnRUaHJvdHRsZXIuY2FuY2VsKCk7CisKKyAgICAgICAgc3Vw
ZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGlt
ZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggODI4
NWNiN2JmN2Y0Li5iNzE1NjBjMzAzNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBo
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRl
cmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC0xMDIsNyArMTAyLDkgQEAgV0ku
UmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBSZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lT3ZlcnZpZXdHcmEKIAogICAgIGxheW91dCgpCiAgICAgewotICAgICAgICBpZiAo
IXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisKKyAgICAgICAgaWYgKHRo
aXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghdGhpcy5fcmVu
ZGVyaW5nRnJhbWVUaW1lbGluZS5yZWNvcmRzLmxlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVW
aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVy
aW5nRnJhbWVUaW1lbGluZVZpZXcuanMKaW5kZXggY2JjMDBiMDYyYTJiLi4zMDc4ZDg1ODhlOWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jl
bmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzCkBAIC0xMTUs
MjAgKzExNSw2IEBAIFdJLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3ID0gY2xhc3MgUmVuZGVy
aW5nRnJhbWVUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lCiAKICAgICBnZXQgc2hvd3NMaXZl
UmVjb3JkaW5nRGF0YSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICBzaG93bigpCi0gICAgewot
ICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAgIHRoaXMuX2RhdGFHcmlkLnNob3duKCk7
Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2RhdGFHcmlkLmhp
ZGRlbigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotICAgIH0KLQogICAgIGNsb3NlZCgp
CiAgICAgewogICAgICAgICB0aGlzLnJlcHJlc2VudGVkT2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVu
ZXIoV0kuVGltZWxpbmUuRXZlbnQuUmVjb3JkQWRkZWQsIHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGlt
ZWxpbmVSZWNvcmRBZGRlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNsdXN0ZXJDb250ZW50Vmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ2x1c3RlckNv
bnRlbnRWaWV3LmpzCmluZGV4IGI3ZmEyYTE3ZjdlZi4uNzk5MDA1ZjU4MmRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNsdXN0
ZXJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9SZXNvdXJjZUNsdXN0ZXJDb250ZW50Vmlldy5qcwpAQCAtNzcsOSArNzcsOSBAQCBX
SS5SZXNvdXJjZUNsdXN0ZXJDb250ZW50VmlldyA9IGNsYXNzIFJlc291cmNlQ2x1c3RlckNvbnRl
bnRWaWV3IGV4dGVuZHMgV0kuQ2x1cwogICAgICAgICByZXR1cm4gY29tcG9uZW50cy5jb25jYXQo
Y3VycmVudENvbnRlbnRWaWV3LnNlbGVjdGlvblBhdGhDb21wb25lbnRzKTsKICAgICB9CiAKLSAg
ICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsK
KyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICBpZiAodGhpcy5fc2hvd25Jbml0
aWFsQ29udGVudCkKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VI
ZWFkZXJzQ29udGVudFZpZXcuanMKaW5kZXggMTYyMmNjMWY5NWNiLi5jYzFiZDQ1MGE3YjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291
cmNlSGVhZGVyc0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3LmpzCkBAIC0xMjIsMTIg
KzEyMiwxMiBAQCBXSS5SZXNvdXJjZUhlYWRlcnNDb250ZW50VmlldyA9IGNsYXNzIFJlc291cmNl
SGVhZGVyc0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udAogICAgICAgICB9CiAgICAgfQogCi0g
ICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5oaWRkZW4o
KTsKLQogICAgICAgICBpZiAodGhpcy5fcG9wb3ZlcikKICAgICAgICAgICAgIHRoaXMuX3BvcG92
ZXIuZGlzbWlzcygpOworCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAg
Y2xvc2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NjcmlwdENvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU2NyaXB0Q29udGVudFZpZXcuanMKaW5kZXggYjdmNjEzOGI5NmE3Li5l
YTFhMjQzZTY0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NjcmlwdENvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdENvbnRlbnRWaWV3LmpzCkBAIC0xMTQsMjAgKzEx
NCw2IEBAIFdJLlNjcmlwdENvbnRlbnRWaWV3ID0gY2xhc3MgU2NyaXB0Q29udGVudFZpZXcgZXh0
ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnJldmVhbFBvc2l0
aW9uKHBvc2l0aW9uLCB0ZXh0UmFuZ2VUb1NlbGVjdCwgZm9yY2VVbmZvcm1hdHRlZCk7CiAgICAg
fQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAg
ICB0aGlzLl90ZXh0RWRpdG9yLnNob3duKCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7
Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotCi0gICAgICAgIHRoaXMuX3RleHRFZGl0b3IuaGlk
ZGVuKCk7Ci0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHN1cGVyLmNsb3Nl
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMKaW5kZXggNTY0
ZDVjZjUwZDkwLi5mZGE3NDMxMTVhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1Rp
bWVsaW5lVmlldy5qcwpAQCAtOTAsMjAgKzkwLDYgQEAgV0kuU2NyaXB0RGV0YWlsc1RpbWVsaW5l
VmlldyA9IGNsYXNzIFNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lbGkK
IAogICAgIGdldCBzaG93c0xpdmVSZWNvcmRpbmdEYXRhKCkgeyByZXR1cm4gZmFsc2U7IH0KIAot
ICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAgICAgdGhp
cy5fZGF0YUdyaWQuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAg
ICAgdGhpcy5fZGF0YUdyaWQuaGlkZGVuKCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0g
ICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmpl
Y3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwgdGhp
cy5fc2NyaXB0VGltZWxpbmVSZWNvcmRBZGRlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3
R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3Jp
cHRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggOGUzOGViZjhhZjlhLi4yYzQyYjM2Zjdm
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAg
LTUyLDcgKzUyLDkgQEAgV0kuU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgU2Ny
aXB0VGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV0kuVGkKIAogICAgIGxheW91dCgpCiAg
ICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7
CisKKyAgICAgICAgaWYgKHRoaXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAg
ICAgIGxldCBzZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLnRpbWVsaW5lT3ZlcnZpZXcuc2Vjb25kc1Bl
clBpeGVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2VhcmNoVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TZWFyY2hUYWJDb250ZW50Vmlldy5qcwppbmRleCBjMmFmMTVhOTcx
ZmQuLmM1MjhhYjhkMzY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU2VhcmNoVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoVGFiQ29udGVudFZpZXcuanMKQEAg
LTcyLDkgKzcyLDkgQEAgV0kuU2VhcmNoVGFiQ29udGVudFZpZXcgPSBjbGFzcyBTZWFyY2hUYWJD
b250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93c2VyVGEKICAgICAgICAgcmV0dXJuIFdJ
LlNlYXJjaFRhYkNvbnRlbnRWaWV3LlR5cGU7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0
dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0
dGFjaGVkKCk7CiAKICAgICAgICAgLy8gUGVyZm9ybSBvbiBhIGRlbGF5IGJlY2F1c2UgdGhlIGZp
ZWxkIG1pZ2h0IG5vdCBiZSB2aXNpYmxlIHlldC4KICAgICAgICAgc2V0VGltZW91dCh0aGlzLmZv
Y3VzU2VhcmNoRmllbGQuYmluZCh0aGlzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaGFkZXJQcm9ncmFtQ29udGVudFZpZXcuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaGFkZXJQcm9ncmFtQ29u
dGVudFZpZXcuanMKaW5kZXggNTFlZjYxMTU1MzIwLi5lMjJhNGRiZjg5ZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NoYWRlclByb2dyYW1D
b250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TaGFkZXJQcm9ncmFtQ29udGVudFZpZXcuanMKQEAgLTExOCw0MiArMTE4LDEzIEBAIFdJ
LlNoYWRlclByb2dyYW1Db250ZW50VmlldyA9IGNsYXNzIFNoYWRlclByb2dyYW1Db250ZW50Vmll
dyBleHRlbmRzIFdJLkNvbnRlbnRWCiAKICAgICAvLyBQcm90ZWN0ZWQKIAotICAgIHNob3duKCkK
KyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAg
IHN3aXRjaCAodGhpcy5yZXByZXNlbnRlZE9iamVjdC5wcm9ncmFtVHlwZSkgewotICAgICAgICBj
YXNlIFdJLlNoYWRlclByb2dyYW0uUHJvZ3JhbVR5cGUuQ29tcHV0ZToKLSAgICAgICAgICAgIHRo
aXMuX2NvbXB1dGVFZGl0b3Iuc2hvd24oKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAg
IGNhc2UgV0kuU2hhZGVyUHJvZ3JhbS5Qcm9ncmFtVHlwZS5SZW5kZXI6Ci0gICAgICAgICAgICB0
aGlzLl92ZXJ0ZXhFZGl0b3Iuc2hvd24oKTsKLSAgICAgICAgICAgIGlmICghdGhpcy5yZXByZXNl
bnRlZE9iamVjdC5zaGFyZXNWZXJ0ZXhGcmFnbWVudFNoYWRlcikKLSAgICAgICAgICAgICAgICB0
aGlzLl9mcmFnbWVudEVkaXRvci5zaG93bigpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl9yZWZyZXNoQ29u
dGVudCgpOwogICAgIH0KIAotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRo
aXMucmVwcmVzZW50ZWRPYmplY3QucHJvZ3JhbVR5cGUpIHsKLSAgICAgICAgY2FzZSBXSS5TaGFk
ZXJQcm9ncmFtLlByb2dyYW1UeXBlLkNvbXB1dGU6Ci0gICAgICAgICAgICB0aGlzLl9jb21wdXRl
RWRpdG9yLmhpZGRlbigpOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSBXSS5T
aGFkZXJQcm9ncmFtLlByb2dyYW1UeXBlLlJlbmRlcjoKLSAgICAgICAgICAgIHRoaXMuX3ZlcnRl
eEVkaXRvci5oaWRkZW4oKTsKLSAgICAgICAgICAgIGlmICghdGhpcy5yZXByZXNlbnRlZE9iamVj
dC5zaGFyZXNWZXJ0ZXhGcmFnbWVudFNoYWRlcikKLSAgICAgICAgICAgICAgICB0aGlzLl9mcmFn
bWVudEVkaXRvci5oaWRkZW4oKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAg
ICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgZ2V0IHN1cHBvcnRzU2F2ZSgpCiAg
ICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyLmpzCmluZGV4IDdmZmE5YjBlMDZlOS4uN2Rh
NDhkNGQ2ZDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9TaWRlYmFyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NpZGViYXIuanMKQEAgLTEyNiwxNCArMTI2LDcgQEAgV0kuU2lkZWJhciA9IGNs
YXNzIFNpZGViYXIgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIHRoaXMuX2NvbGxhcHNlZCA9IGZs
YWcgfHwgZmFsc2U7CiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFdJLlNp
ZGViYXIuQ29sbGFwc2VkU3R5bGVDbGFzc05hbWUpOwogCi0gICAgICAgIGlmICh0aGlzLl9zZWxl
Y3RlZFNpZGViYXJQYW5lbCkgewotICAgICAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkU2lkZWJh
clBhbmVsLnZpc2libGUpCi0gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRTaWRlYmFyUGFu
ZWwuc2hvd24oKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0aGlzLl9zZWxl
Y3RlZFNpZGViYXJQYW5lbC5oaWRkZW4oKTsKLSAgICAgICAgfQotCi0gICAgICAgIHRoaXMuZGlk
U2V0Q29sbGFwc2VkKGZsYWcpOworICAgICAgICB0aGlzLmRpZFNldENvbGxhcHNlZCgpOwogCiAg
ICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlNpZGViYXIuRXZlbnQuQ29s
bGFwc2VkU3RhdGVEaWRDaGFuZ2UpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcwppbmRleCA2NjQ3
Mjk4NGE0NDcuLjQ4NWQxM2I2Mzc5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcwpAQCAtMTE0LDIxICsx
MTQsMTggQEAgV0kuU2lkZWJhclBhbmVsID0gY2xhc3MgU2lkZWJhclBhbmVsIGV4dGVuZHMgV0ku
VmlldwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0
dGFjaGVkKCkKICAgICB7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CisKICAgICAgICAgdGhp
cy5zY3JvbGxFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuX3NhdmVkU2Nyb2xsUG9zaXRpb247Ci0K
LSAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBvbmNlIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTA3
NDE+IGlzIGZpeGVkLgotICAgICAgICB0aGlzLnVwZGF0ZUxheW91dElmTmVlZGVkKCk7Ci0KLSAg
ICAgICAgLy8gSW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KICAgICB9CiAKLSAgICBoaWRkZW4o
KQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIHRoaXMuX3NhdmVkU2Nyb2xsUG9zaXRp
b24gPSB0aGlzLnNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wOwogCi0gICAgICAgIC8vIEltcGxlbWVu
dGVkIGJ5IHN1YmNsYXNzZXMuCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAg
ICAgLy8gUHJvdGVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TaW5nbGVTaWRlYmFyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU2luZ2xlU2lkZWJhci5qcwppbmRleCBjMjdjNjdhMTExNDIuLmYz
ZWQ0ZGU0ZjA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU2luZ2xlU2lkZWJhci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TaW5nbGVTaWRlYmFyLmpzCkBAIC0xMDAsMjkgKzEwMCwzNSBAQCBX
SS5TaW5nbGVTaWRlYmFyID0gY2xhc3MgU2luZ2xlU2lkZWJhciBleHRlbmRzIFdJLlNpZGViYXIK
ICAgICB3aWxsU2V0U2VsZWN0ZWRTaWRlYmFyUGFuZWwoc2lkZWJhclBhbmVsKQogICAgIHsKICAg
ICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpIHsKLSAgICAgICAgICAgIHRoaXMu
c2VsZWN0ZWRTaWRlYmFyUGFuZWwuaGlkZGVuKCk7Ci0gICAgICAgICAgICB0aGlzLnNlbGVjdGVk
U2lkZWJhclBhbmVsLnNlbGVjdGVkID0gZmFsc2U7CiAgICAgICAgICAgICB0aGlzLnJlbW92ZVN1
YnZpZXcodGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbCk7CisgICAgICAgICAgICB0aGlzLnNlbGVj
dGVkU2lkZWJhclBhbmVsLnNlbGVjdGVkID0gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CiAKICAg
ICBkaWRTZXRTZWxlY3RlZFNpZGViYXJQYW5lbChzaWRlYmFyUGFuZWwpCiAgICAgewogICAgICAg
ICBpZiAodGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbCkgewotICAgICAgICAgICAgdGhpcy5hZGRT
dWJ2aWV3KHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpOwogICAgICAgICAgICAgdGhpcy5zZWxl
Y3RlZFNpZGViYXJQYW5lbC5zZWxlY3RlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAoIXRoaXMu
Y29sbGFwc2VkKSB7Ci0gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbC5z
aG93bigpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMu
c2VsZWN0ZWRTaWRlYmFyUGFuZWwpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRoaXMuX25h
dmlnYXRpb25CYXIpCiAgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLnNlbGVjdGVkTmF2
aWdhdGlvbkl0ZW0gPSB0aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsPy5uYXZpZ2F0aW9uSXRlbSA/
PyBudWxsOwogICAgIH0KIAotICAgIGRpZFNldENvbGxhcHNlZChmbGFnKQorICAgIGRpZFNldENv
bGxhcHNlZCgpCiAgICAgewotICAgICAgICBpZiAoIWZsYWcgJiYgdGhpcy5fbmF2aWdhdGlvbkJh
cikKKyAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpIHsKKyAgICAgICAgICAg
IGlmICh0aGlzLmNvbGxhcHNlZCkgeworICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVk
U2lkZWJhclBhbmVsLmlzQXR0YWNoZWQpCisgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3Zl
U3Vidmlldyh0aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsKTsKKyAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsLmlzQXR0YWNo
ZWQpCisgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLnNlbGVjdGVkU2lk
ZWJhclBhbmVsKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmICghdGhp
cy5jb2xsYXBzZWQgJiYgdGhpcy5fbmF2aWdhdGlvbkJhcikKICAgICAgICAgICAgIHRoaXMuX25h
dmlnYXRpb25CYXIubmVlZHNMYXlvdXQoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRl
eHRFZGl0b3IuanMKaW5kZXggOWFhYmIzZWI3OGU0Li41ZWE5NjMzNjQ3NjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0
RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCkBAIC0xMjQsOSArMTI0LDkgQEAgV0kuU291cmNlQ29k
ZVRleHRFZGl0b3IgPSBjbGFzcyBTb3VyY2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdJLlRleHRF
ZGl0b3IKICAgICAgICAgcmV0dXJuIFdJLm1haW5UYXJnZXQ7CiAgICAgfQogCi0gICAgc2hvd24o
KQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAg
IHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnNob3dKYXZhU2Ny
aXB0VHlwZUluZm9ybWF0aW9uLnZhbHVlKSB7CiAgICAgICAgICAgICBpZiAodGhpcy5fdHlwZVRv
a2VuQW5ub3RhdG9yKQpAQCAtMTQ5LDEwICsxNDksOCBAQCBXSS5Tb3VyY2VDb2RlVGV4dEVkaXRv
ciA9IGNsYXNzIFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVGV4dEVkaXRvcgogICAg
ICAgICB9CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewotICAg
ICAgICBzdXBlci5oaWRkZW4oKTsKLQogICAgICAgICB0aGlzLnRva2VuVHJhY2tpbmdDb250cm9s
bGVyLnJlbW92ZUhpZ2hsaWdodGVkUmFuZ2UoKTsKIAogICAgICAgICB0aGlzLl9kaXNtaXNzUG9w
b3ZlcigpOwpAQCAtMTYzLDYgKzE2MSw4IEBAIFdJLlNvdXJjZUNvZGVUZXh0RWRpdG9yID0gY2xh
c3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5kcyBXSS5UZXh0RWRpdG9yCiAgICAgICAgICAg
ICB0aGlzLl90eXBlVG9rZW5Bbm5vdGF0b3IucGF1c2UoKTsKICAgICAgICAgaWYgKHRoaXMuX2Jh
c2ljQmxvY2tBbm5vdGF0b3IpCiAgICAgICAgICAgICB0aGlzLl9iYXNpY0Jsb2NrQW5ub3RhdG9y
LnBhdXNlKCk7CisKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICBjbG9z
ZSgpCkBAIC0yMTQyLDcgKzIxNDIsNyBAQCBXSS5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9IGNsYXNz
IFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVGV4dEVkaXRvcgogICAgICAgICAgICAg
cmV0dXJuOwogCiAgICAgICAgIGlmIChzaG91bGRBY3RpdmF0ZSkgewotICAgICAgICAgICAgY29u
c29sZS5hc3NlcnQodGhpcy52aXNpYmxlLCAiQW5ub3RhdG9ycyBzaG91bGQgbm90IGJlIGVuYWJs
ZWQgaWYgdGhlIFRleHRFZGl0b3IgaXMgbm90IHZpc2libGUiKTsKKyAgICAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHRoaXMuaXNBdHRhY2hlZCwgIkFubm90YXRvcnMgc2hvdWxkIG5vdCBiZSBlbmFi
bGVkIGlmIHRoZSBUZXh0RWRpdG9yIGlzIG5vdCB2aXNpYmxlIik7CiAKICAgICAgICAgICAgIHRo
aXMuX3R5cGVUb2tlbkFubm90YXRvci5yZXNldCgpOwogCkBAIC0yMTY2LDcgKzIxNjYsNyBAQCBX
SS5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9IGNsYXNzIFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVu
ZHMgV0kuVGV4dEVkaXRvcgogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmIChzaG91
bGRBY3RpdmF0ZSkgewotICAgICAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy52aXNpYmxlLCAi
QW5ub3RhdG9ycyBzaG91bGQgbm90IGJlIGVuYWJsZWQgaWYgdGhlIFRleHRFZGl0b3IgaXMgbm90
IHZpc2libGUiKTsKKyAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuaXNBdHRhY2hlZCwg
IkFubm90YXRvcnMgc2hvdWxkIG5vdCBiZSBlbmFibGVkIGlmIHRoZSBUZXh0RWRpdG9yIGlzIG5v
dCB2aXNpYmxlIik7CiAKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl9iYXNpY0Js
b2NrQW5ub3RhdG9yLmlzQWN0aXZlKCkpOwogICAgICAgICAgICAgdGhpcy5fYmFzaWNCbG9ja0Fu
bm90YXRvci5yZXNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uRWRpdG9yLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NT
dHlsZURlY2xhcmF0aW9uRWRpdG9yLmpzCmluZGV4IGYzZTg1NDlhZjI0MS4uNjViYTM1MjVhNGE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
cHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25FZGl0b3IuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0
aW9uRWRpdG9yLmpzCkBAIC0xMjcsMTIgKzEyNyw4IEBAIFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVE
ZWNsYXJhdGlvbkVkaXRvciA9IGNsYXNzIFNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvbkVk
CiAKICAgICAgICAgZm9yIChsZXQgcHJvcGVydHlWaWV3IG9mIHRoaXMuX3Byb3BlcnR5Vmlld3Mp
CiAgICAgICAgICAgICBwcm9wZXJ0eVZpZXcuZGV0YWNoZWQoKTsKLSAgICB9CiAKLSAgICBoaWRk
ZW4oKQotICAgIHsKLSAgICAgICAgZm9yIChsZXQgcHJvcGVydHlWaWV3IG9mIHRoaXMuX3Byb3Bl
cnR5Vmlld3MpCi0gICAgICAgICAgICBwcm9wZXJ0eVZpZXcuaGlkZGVuKCk7CisgICAgICAgIHN1
cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgZ2V0IHN0eWxlKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5
bGVEZWNsYXJhdGlvblNlY3Rpb24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCmluZGV4
IDcwODY3ODVkNWNkNi4uM2M0MTBmNzMyZTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25T
ZWN0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKQEAgLTE4NywxMSArMTg3
LDYgQEAgV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIFNw
cmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblMKICAgICAgICAgICAgIHRoaXMuc3RhcnRFZGl0
aW5nUnVsZVNlbGVjdG9yKCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAg
IHRoaXMuX3Byb3BlcnRpZXNFZGl0b3IuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgc3RhcnRFZGl0
aW5nUnVsZVNlbGVjdG9yKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fc2VsZWN0b3JFbGVt
ZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TcHJlYWRzaGVldFJ1bGVzU3R5bGVEZXRhaWxzUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldFJ1bGVzU3R5bGVEZXRhaWxz
UGFuZWwuanMKaW5kZXggMTlhZmQ3YWUzZGY3Li4yZTQwNzgyMTgzN2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0UnVsZXNT
dHlsZURldGFpbHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TcHJlYWRzaGVldFJ1bGVzU3R5bGVEZXRhaWxzUGFuZWwuanMKQEAgLTY2LDE0
ICs2Niw2IEBAIFdJLlNwcmVhZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFNw
cmVhZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbCBlCiAgICAgICAgIHN1cGVyLnJlZnJlc2go
c2lnbmlmaWNhbnRDaGFuZ2UpOwogICAgIH0KIAotICAgIGhpZGRlbigpCi0gICAgewotICAgICAg
ICBmb3IgKGxldCBzZWN0aW9uIG9mIHRoaXMuX3NlY3Rpb25zKQotICAgICAgICAgICAgc2VjdGlv
bi5oaWRkZW4oKTsKLQotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBzY3Jv
bGxUb1NlY3Rpb25BbmRIaWdobGlnaHRQcm9wZXJ0eShwcm9wZXJ0eSkKICAgICB7CiAgICAgICAg
IGlmICghdGhpcy5fdmlzaWJsZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRTdHlsZVByb3BlcnR5LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRTdHlsZVByb3Bl
cnR5LmpzCmluZGV4IDM5YzhlZTY2MjhmZS4uY2U0OTUzNjg3ZDZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldFN0eWxlUHJv
cGVydHkuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U3ByZWFkc2hlZXRTdHlsZVByb3BlcnR5LmpzCkBAIC0xMjEsNiArMTIxLDExIEBAIFdJLlNwcmVh
ZHNoZWV0U3R5bGVQcm9wZXJ0eSA9IGNsYXNzIFNwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eSBleHRl
bmRzIFdJLk9iamVjdAogCiAgICAgZGV0YWNoZWQoKQogICAgIHsKKyAgICAgICAgaWYgKHRoaXMu
X25hbWVUZXh0RmllbGQ/LmVkaXRpbmcpCisgICAgICAgICAgICB0aGlzLl9uYW1lVGV4dEZpZWxk
LmVsZW1lbnQuYmx1cigpOworICAgICAgICBlbHNlIGlmICh0aGlzLl92YWx1ZVRleHRGaWVsZD8u
ZWRpdGluZykKKyAgICAgICAgICAgIHRoaXMuX3ZhbHVlVGV4dEZpZWxkLmVsZW1lbnQuYmx1cigp
OworCiAgICAgICAgIGlmICh0aGlzLl9uYW1lVGV4dEZpZWxkKQogICAgICAgICAgICAgdGhpcy5f
bmFtZVRleHRGaWVsZC5kZXRhY2hlZCgpOwogCkBAIC0xMjgsMTQgKzEzMyw2IEBAIFdJLlNwcmVh
ZHNoZWV0U3R5bGVQcm9wZXJ0eSA9IGNsYXNzIFNwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eSBleHRl
bmRzIFdJLk9iamVjdAogICAgICAgICAgICAgdGhpcy5fdmFsdWVUZXh0RmllbGQuZGV0YWNoZWQo
KTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX25hbWVU
ZXh0RmllbGQgJiYgdGhpcy5fbmFtZVRleHRGaWVsZC5lZGl0aW5nKQotICAgICAgICAgICAgdGhp
cy5fbmFtZVRleHRGaWVsZC5lbGVtZW50LmJsdXIoKTsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5f
dmFsdWVUZXh0RmllbGQgJiYgdGhpcy5fdmFsdWVUZXh0RmllbGQuZWRpdGluZykKLSAgICAgICAg
ICAgIHRoaXMuX3ZhbHVlVGV4dEZpZWxkLmVsZW1lbnQuYmx1cigpOwotICAgIH0KLQogICAgIHJl
bW92ZShyZXBsYWNlbWVudCA9IG51bGwpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fZGVsZWdh
dGUgJiYgdHlwZW9mIHRoaXMuX2RlbGVnYXRlLnNwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eVdpbGxS
ZW1vdmUgPT09ICJmdW5jdGlvbiIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1N0eWxlRGV0YWlsc1BhbmVsLmpzCmluZGV4IGFi
NmQzZjUyMjZjNS4uZmQ2YWE4NjgzYWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcwpA
QCAtMzYsNyArMzYsNiBAQCBXSS5TdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFN0eWxlRGV0YWls
c1BhbmVsIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uSW5mbyA9IHtp
ZGVudGlmaWVyLCBsYWJlbH07CiAKICAgICAgICAgdGhpcy5fbm9kZVN0eWxlcyA9IG51bGw7Ci0g
ICAgICAgIHRoaXMuX3Zpc2libGUgPSBmYWxzZTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKQEAg
LTU3LDI0ICs1NiwxMSBAQCBXSS5TdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFN0eWxlRGV0YWls
c1BhbmVsIGV4dGVuZHMgV0kuVmlldwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0g
ICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl92aXNp
YmxlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX3Zpc2libGUgPSB0cnVl
OworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIHRoaXMuX3JlZnJlc2hOb2Rl
U3R5bGVzKCk7Ci0KLSAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBvbmNlIDxodHRwczovL3dlYmtp
dC5vcmcvYi8xNTA3NDE+IGlzIGZpeGVkLgotICAgICAgICB0aGlzLnVwZGF0ZUxheW91dElmTmVl
ZGVkKCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Zpc2li
bGUgPSBmYWxzZTsKLQotICAgICAgICB0aGlzLmNhbmNlbExheW91dCgpOwogICAgIH0KIAogICAg
IG1hcmtBc05lZWRzUmVmcmVzaChkb21Ob2RlKQpAQCAtMTAzLDcgKzg5LDcgQEAgV0kuU3R5bGVE
ZXRhaWxzUGFuZWwgPSBjbGFzcyBTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgICAgIHRoaXMuX2ZvcmNlU2lnbmlmaWNhbnRDaGFuZ2UgPSB0cnVlOwogICAgICAgICB9
CiAKLSAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICh0aGlzLmlzQXR0YWNo
ZWQpCiAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoTm9kZVN0eWxlcygpOwogICAgIH0KIApAQCAt
MTE2LDcgKzEwMiw3IEBAIFdJLlN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxz
UGFuZWwgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICBub2RlU3R5bGVzUmVmcmVzaGVkKGV2ZW50KQog
ICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICh0aGlzLmlzQXR0
YWNoZWQpCiAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoUHJlc2VydmluZ1Njcm9sbFBvc2l0aW9u
KGV2ZW50LmRhdGEuc2lnbmlmaWNhbnRDaGFuZ2UpOwogICAgIH0KIApAQCAtMTYzLDcgKzE0OSw3
IEBAIFdJLlN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5k
cyBXSS5WaWV3CiAKICAgICBfbm9kZVN0eWxlc05lZWRzUmVmcmVzaGVkKGV2ZW50KQogICAgIHsK
LSAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICh0aGlzLmlzQXR0YWNoZWQp
CiAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoTm9kZVN0eWxlcygpOwogICAgIH0KIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJDb250
ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rh
YkNvbnRlbnRWaWV3LmpzCmluZGV4IDdkNjY3NTAwMmZiNC4uZmQzMjA4MzRlNGIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJDb250ZW50
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
YWJDb250ZW50Vmlldy5qcwpAQCAtMTI1LDkgKzEyNSw5IEBAIFdJLlRhYkNvbnRlbnRWaWV3ID0g
Y2xhc3MgVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0g
ICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAg
ICAgaWYgKHRoaXMuX3Nob3VsZFJlc3RvcmVTdGF0ZVdoZW5TaG93bikKICAgICAgICAgICAgIHRo
aXMucmVzdG9yZVN0YXRlRnJvbUNvb2tpZShXSS5TdGF0ZVJlc3RvcmF0aW9uVHlwZS5EZWxheWVk
KTsKQEAgLTEzNSw3ICsxMzUsNyBAQCBXSS5UYWJDb250ZW50VmlldyA9IGNsYXNzIFRhYkNvbnRl
bnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAogICAgIHJlc3RvcmVTdGF0ZUZyb21Db29r
aWUocmVzdG9yYXRpb25UeXBlKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpIHsK
KyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpIHsKICAgICAgICAgICAgIHRoaXMuX3Nob3Vs
ZFJlc3RvcmVTdGF0ZVdoZW5TaG93biA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RhYmxlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGFibGUuanMKaW5kZXggMjhmNDMyNjI5ZWE0Li4zOTA4NmYyZjUzMDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYmxlLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYmxlLmpzCkBAIC01NzUs
MTQgKzU3NSwxNiBAQCBXSS5UYWJsZSA9IGNsYXNzIFRhYmxlIGV4dGVuZHMgV0kuVmlldwogICAg
ICAgICB9CiAgICAgfQogCi0gICAgcmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKKyAgICAvLyBQcm90
ZWN0ZWQKKworICAgIGF0dGFjaGVkKCkKICAgICB7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7
CisKICAgICAgICAgaWYgKHRoaXMuX2NhY2hlZFNjcm9sbFRvcCAmJiAhdGhpcy5fc2Nyb2xsQ29u
dGFpbmVyRWxlbWVudC5zY3JvbGxUb3ApCiAgICAgICAgICAgICB0aGlzLl9zY3JvbGxDb250YWlu
ZXJFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuX2NhY2hlZFNjcm9sbFRvcDsKICAgICB9CiAKLSAg
ICAvLyBQcm90ZWN0ZWQKLQogICAgIGluaXRpYWxMYXlvdXQoKQogICAgIHsKICAgICAgICAgdGhp
cy5zb3J0T3JkZXIgPSB0aGlzLl9zb3J0T3JkZXJTZXR0aW5nLnZhbHVlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dENvbnRlbnRWaWV3
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dENvbnRl
bnRWaWV3LmpzCmluZGV4IDRkMTY1ZDJmYjYxYi4uMjQ2NzEwZTUxYzU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0Q29udGVudFZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dENv
bnRlbnRWaWV3LmpzCkBAIC03OCwyMCArNzgsNiBAQCBXSS5UZXh0Q29udGVudFZpZXcgPSBjbGFz
cyBUZXh0Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLl90
ZXh0RWRpdG9yLnJldmVhbFBvc2l0aW9uKHBvc2l0aW9uLCB0ZXh0UmFuZ2VUb1NlbGVjdCwgZm9y
Y2VVbmZvcm1hdHRlZCk7CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3Vw
ZXIuc2hvd24oKTsKLQotICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnNob3duKCk7Ci0gICAgfQot
Ci0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotCi0gICAgICAg
IHRoaXMuX3RleHRFZGl0b3IuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgZ2V0IHN1cHBvcnRzU2F2
ZSgpCiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzCmluZGV4IGY1ODc4
M2FkMjc4YS4uMmFlY2ZiOGNhNmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMKQEAgLTc2LDExICs3Niw2IEBA
IFdJLlRleHRFZGl0b3IgPSBjbGFzcyBUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVmlldwogCiAgICAg
Ly8gUHVibGljCiAKLSAgICBnZXQgdmlzaWJsZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhp
cy5fdmlzaWJsZTsKLSAgICB9Ci0KICAgICBnZXQgc3RyaW5nKCkKICAgICB7CiAgICAgICAgIHJl
dHVybiB0aGlzLl9jb2RlTWlycm9yLmdldFZhbHVlKCk7CkBAIC00ODgsNyArNDgzLDcgQEAgV0ku
VGV4dEVkaXRvciA9IGNsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIGlm
ICghKHBvc2l0aW9uIGluc3RhbmNlb2YgV0kuU291cmNlQ29kZVBvc2l0aW9uKSkKICAgICAgICAg
ICAgIHJldHVybjsKIAotICAgICAgICBpZiAoIXRoaXMuX3Zpc2libGUgfHwgdGhpcy5faW5pdGlh
bFN0cmluZ05vdFNldCB8fCB0aGlzLl9kZWZlclJldmVhbCkgeworICAgICAgICBpZiAoIXRoaXMu
aXNBdHRhY2hlZCB8fCB0aGlzLl9pbml0aWFsU3RyaW5nTm90U2V0IHx8IHRoaXMuX2RlZmVyUmV2
ZWFsKSB7CiAgICAgICAgICAgICAvLyBJZiB3ZSBjYW4ndCBnZXQgYSBsaW5lIGhhbmRsZSBvciBh
cmUgbm90IHZpc2libGUgdGhlbiB3ZSB3YWl0IHRvIGRvIHRoZSByZXZlYWwuCiAgICAgICAgICAg
ICB0aGlzLl9wb3NpdGlvblRvUmV2ZWFsID0gcG9zaXRpb247CiAgICAgICAgICAgICB0aGlzLl90
ZXh0UmFuZ2VUb1NlbGVjdCA9IHRleHRSYW5nZVRvU2VsZWN0OwpAQCAtNTUwLDkgKzU0NSw5IEBA
IFdJLlRleHRFZGl0b3IgPSBjbGFzcyBUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVmlldwogICAgICAg
ICB0aGlzLl9jb2RlTWlycm9yLm9wZXJhdGlvbihyZXZlYWxBbmRIaWdobGlnaHRMaW5lLmJpbmQo
dGhpcykpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAg
ICAgICB0aGlzLl92aXNpYmxlID0gdHJ1ZTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAog
ICAgICAgICAvLyBSZWZyZXNoIHNpbmNlIG91ciBzaXplIG1pZ2h0IGhhdmUgY2hhbmdlZC4KICAg
ICAgICAgdGhpcy5fY29kZU1pcnJvci5yZWZyZXNoKCk7CkBAIC01NjMsMTEgKzU1OCw2IEBAIFdJ
LlRleHRFZGl0b3IgPSBjbGFzcyBUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB0
aGlzLl9yZXZlYWxQZW5kaW5nUG9zaXRpb25JZlBvc3NpYmxlKCk7CiAgICAgfQogCi0gICAgaGlk
ZGVuKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Zpc2libGUgPSBmYWxzZTsKLSAgICB9Ci0KICAg
ICBzZXRCcmVha3BvaW50SW5mb0ZvckxpbmVBbmRDb2x1bW4obGluZU51bWJlciwgY29sdW1uTnVt
YmVyLCBicmVha3BvaW50SW5mbykKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9pZ25vcmVTZXRC
cmVha3BvaW50SW5mb0NhbGxzKQpAQCAtODA5LDEzICs3OTksOSBAQCBXSS5UZXh0RWRpdG9yID0g
Y2xhc3MgVGV4dEVkaXRvciBleHRlbmRzIFdJLlZpZXcKIAogICAgIGxheW91dCgpCiAgICAgewot
ICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0NjI1Nj4gV2ViIEluc3Bl
Y3RvcjogTmVzdGVkIENvbnRlbnRCcm93c2VycyAvIENvbnRlbnRWaWV3Q29udGFpbmVycyBjYXVz
ZSB0b28gbWFueSBDb250ZW50VmlldyB1cGRhdGVzCi0gICAgICAgIC8vIElkZWFsbHkgd2Ugd291
bGQgbm90IGdldCBhbiB1cGRhdGVMYXlvdXQgY2FsbCBpZiB3ZSBhcmUgbm90IHZpc2libGUuIFdl
IHNob3VsZCByZXN0cnVjdHVyZSBDb250ZW50VmlldwotICAgICAgICAvLyBzaG93L2hpZGUgcmVz
dG9yYXRpb24gdG8gcmVkdWNlIGR1cGxpY2F0ZWQgd29yayBhbmQgc29sdmUgdGhpcyBpbiB0aGUg
cHJvY2Vzcy4KKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CiAKLSAgICAgICAgLy8gRklYTUU6IHZp
c2libGUgY2hlY2sgY2FuIGJlIHJlbW92ZWQgb25jZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTUw
NzQxPiBpcyBmaXhlZC4KLSAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCi0gICAgICAgICAgICB0
aGlzLl9jb2RlTWlycm9yLnJlZnJlc2goKTsKKyAgICAgICAgdGhpcy5fY29kZU1pcnJvci5yZWZy
ZXNoKCk7CiAgICAgfQogCiAgICAgX2Zvcm1hdChmb3JtYXR0ZWQpCkBAIC0xMDkwLDcgKzEwNzYs
NyBAQCBXSS5UZXh0RWRpdG9yID0gY2xhc3MgVGV4dEVkaXRvciBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAvLyBEb24ndCB0cnkgdG8gcmV2ZWFsIHVubGVz
cyB3ZSBhcmUgdmlzaWJsZS4KLSAgICAgICAgaWYgKCF0aGlzLl92aXNpYmxlKQorICAgICAgICBp
ZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlz
LnJldmVhbFBvc2l0aW9uKHRoaXMuX3Bvc2l0aW9uVG9SZXZlYWwsIHRoaXMuX3RleHRSYW5nZVRv
U2VsZWN0LCB0aGlzLl9mb3JjZVVuZm9ybWF0dGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRSZXNvdXJjZUNvbnRlbnRWaWV3Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dFJlc291cmNl
Q29udGVudFZpZXcuanMKaW5kZXggNzRkMGNlMmFmNGQ3Li45ZGQ4Yzg2NDhmZjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRSZXNvdXJj
ZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RleHRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCkBAIC0xMTQsMjAgKzExNCw2IEBAIFdJ
LlRleHRSZXNvdXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgVGV4dFJlc291cmNlQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5SZXNvdXJjZUNvCiAgICAgICAgIHRoaXMuX3RleHRFZGl0b3IucmV2ZWFsUG9z
aXRpb24ocG9zaXRpb24sIHRleHRSYW5nZVRvU2VsZWN0LCBmb3JjZVVuZm9ybWF0dGVkKTsKICAg
ICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAg
ICAgIHRoaXMuX3RleHRFZGl0b3Iuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAg
IHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgdGhpcy5fdGV4dEVkaXRvci5o
aWRkZW4oKTsKLSAgICB9Ci0KICAgICBjbG9zZWQoKQogICAgIHsKICAgICAgICAgc3VwZXIuY2xv
c2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZURhdGFHcmlkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZC5qcwppbmRleCBmNGNiYTRmNzhhMDMuLjY1OTkw
YzAyZWYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVEYXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkLmpzCkBAIC0xMDMsMTYgKzEwMywxMSBA
QCBXSS5UaW1lbGluZURhdGFHcmlkID0gY2xhc3MgVGltZWxpbmVEYXRhR3JpZCBleHRlbmRzIFdJ
LkRhdGFHcmlkCiAgICAgICAgIHRoaXMuX2hpZGVQb3BvdmVyKCk7CiAgICAgfQogCi0gICAgc2hv
d24oKQorICAgIGRldGFjaGVkKCkKICAgICB7Ci0gICAgICAgIC8vIE1heSBiZSBvdmVycmlkZGVu
IGJ5IHN1YmNsYXNzZXMuIElmIHNvLCB0aGV5IHNob3VsZCBjYWxsIHRoZSBzdXBlcmNsYXNzLgot
ICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICAvLyBNYXkgYmUgb3ZlcnJpZGRl
biBieSBzdWJjbGFzc2VzLiBJZiBzbywgdGhleSBzaG91bGQgY2FsbCB0aGUgc3VwZXJjbGFzcy4K
LQogICAgICAgICB0aGlzLl9oaWRlUG9wb3ZlcigpOworCisgICAgICAgIHN1cGVyLmRldGFjaGVk
KCk7CiAgICAgfQogCiAgICAgY2FsbEZyYW1lUG9wb3ZlckFuY2hvckVsZW1lbnQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVP
dmVydmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lT3ZlcnZpZXcuanMKaW5kZXggMTRlNGQxOGRhZmE1Li45NTA0OWNjOTRkMGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
T3ZlcnZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVPdmVydmlldy5qcwpAQCAtMzQ2LDM3ICszNDYsMzIgQEAgV0kuVGltZWxpbmVP
dmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAgewog
ICAgICAgICBsZXQgaGVpZ2h0ID0gMDsKICAgICAgICAgZm9yIChsZXQgb3ZlcnZpZXdHcmFwaCBv
ZiB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcC52YWx1ZXMoKSkgewotICAgICAgICAgICAg
aWYgKG92ZXJ2aWV3R3JhcGgudmlzaWJsZSkKKyAgICAgICAgICAgIGlmICghb3ZlcnZpZXdHcmFw
aC5oaWRkZW4pCiAgICAgICAgICAgICAgICAgaGVpZ2h0ICs9IG92ZXJ2aWV3R3JhcGguaGVpZ2h0
OwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBoZWlnaHQ7CiAgICAgfQogCi0gICAgZ2V0IHZp
c2libGUoKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl92aXNp
YmxlOwotICAgIH0KLQotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Zpc2libGUg
PSB0cnVlOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGZvciAobGV0IFt0
eXBlLCBvdmVydmlld0dyYXBoXSBvZiB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcCkgewog
ICAgICAgICAgICAgaWYgKHRoaXMuX2NhblNob3dUaW1lbGluZVR5cGUodHlwZSkpCi0gICAgICAg
ICAgICAgICAgb3ZlcnZpZXdHcmFwaC5zaG93bigpOworICAgICAgICAgICAgICAgIG92ZXJ2aWV3
R3JhcGguaGlkZGVuID0gZmFsc2U7CiAgICAgICAgIH0KIAotICAgICAgICB0aGlzLnVwZGF0ZUxh
eW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOworICAgICAgICB0aGlzLm5lZWRzTGF5
b3V0KFdJLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkK
KyAgICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICB0aGlzLl92aXNpYmxlID0gZmFsc2U7Ci0K
ICAgICAgICAgZm9yIChsZXQgb3ZlcnZpZXdHcmFwaCBvZiB0aGlzLl9vdmVydmlld0dyYXBoc0J5
VHlwZU1hcC52YWx1ZXMoKSkKLSAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGguaGlkZGVuKCk7Cisg
ICAgICAgICAgICBvdmVydmlld0dyYXBoLmhpZGRlbiA9IHRydWU7CiAKICAgICAgICAgdGhpcy5o
aWRlU2Nhbm5lcigpOworCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAg
Y2xvc2VkKCkKQEAgLTQxMCw3ICs0MDUsNyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3Mg
VGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgaWYgKCFvdmVydmlld0dy
YXBoKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KG92ZXJ2
aWV3R3JhcGgudmlzaWJsZSwgIlJlY29yZCBmaWx0ZXJlZCBpbiBoaWRkZW4gb3ZlcnZpZXcgZ3Jh
cGgiLCByZWNvcmQpOworICAgICAgICBjb25zb2xlLmFzc2VydCghb3ZlcnZpZXdHcmFwaC5oaWRk
ZW4sICJSZWNvcmQgZmlsdGVyZWQgaW4gaGlkZGVuIG92ZXJ2aWV3IGdyYXBoIiwgcmVjb3JkKTsK
IAogICAgICAgICBvdmVydmlld0dyYXBoLnJlY29yZFdhc0ZpbHRlcmVkKHJlY29yZCwgZmlsdGVy
ZWQpOwogICAgIH0KQEAgLTQyMiw3ICs0MTcsNyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xh
c3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgaWYgKCFvdmVydmll
d0dyYXBoKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KG92
ZXJ2aWV3R3JhcGgudmlzaWJsZSwgIlJlY29yZCBzZWxlY3RlZCBpbiBoaWRkZW4gb3ZlcnZpZXcg
Z3JhcGgiLCByZWNvcmQpOworICAgICAgICBjb25zb2xlLmFzc2VydCghb3ZlcnZpZXdHcmFwaC5o
aWRkZW4sICJSZWNvcmQgc2VsZWN0ZWQgaW4gaGlkZGVuIG92ZXJ2aWV3IGdyYXBoIiwgcmVjb3Jk
KTsKIAogICAgICAgICBvdmVydmlld0dyYXBoLnNlbGVjdGVkUmVjb3JkID0gcmVjb3JkOwogICAg
IH0KQEAgLTQ0Nyw3ICs0NDIsNyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxp
bmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci51
cGRhdGVMYXlvdXRJZk5lZWRlZChsYXlvdXRSZWFzb24pOwogCiAgICAgICAgIGZvciAobGV0IG92
ZXJ2aWV3R3JhcGggb2YgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAudmFsdWVzKCkpIHsK
LSAgICAgICAgICAgIGlmIChvdmVydmlld0dyYXBoLnZpc2libGUpCisgICAgICAgICAgICBpZiAo
IW92ZXJ2aWV3R3JhcGguaGlkZGVuKQogICAgICAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGgudXBk
YXRlTGF5b3V0SWZOZWVkZWQobGF5b3V0UmVhc29uKTsKICAgICAgICAgfQogICAgIH0KQEAgLTUx
MCw3ICs1MDUsNyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmll
dyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgfQogCiAgICAgICAgIGZvciAobGV0IG92ZXJ2aWV3
R3JhcGggb2YgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAudmFsdWVzKCkpIHsKLSAgICAg
ICAgICAgIGlmICghb3ZlcnZpZXdHcmFwaC52aXNpYmxlKQorICAgICAgICAgICAgaWYgKG92ZXJ2
aWV3R3JhcGguaGlkZGVuKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAg
ICBvdmVydmlld0dyYXBoLnplcm9UaW1lID0gc3RhcnRUaW1lOwpAQCAtNjcwLDcgKzY2NSw3IEBA
IFdJLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV0ku
VmlldwogICAgICAgICB0cmVlRWxlbWVudC5lbGVtZW50LnN0eWxlLmhlaWdodCA9IG92ZXJ2aWV3
R3JhcGguaGVpZ2h0ICsgInB4IjsKIAogICAgICAgICBpZiAoIXRoaXMuX2NhblNob3dUaW1lbGlu
ZVR5cGUodGltZWxpbmUudHlwZSkpIHsKLSAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGguaGlkZGVu
KCk7CisgICAgICAgICAgICBvdmVydmlld0dyYXBoLmhpZGRlbiA9IHRydWU7CiAgICAgICAgICAg
ICB0cmVlRWxlbWVudC5oaWRkZW4gPSB0cnVlOwogICAgICAgICB9CiAKQEAgLTcyMyw3ICs3MTgs
NyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRz
IFdJLlZpZXcKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBmb3IgKGxldCBvdmVydmll
d0dyYXBoIG9mIHRoaXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwLnZhbHVlcygpKSB7Ci0gICAg
ICAgICAgICBpZiAoIW92ZXJ2aWV3R3JhcGgudmlzaWJsZSkKKyAgICAgICAgICAgIGlmIChvdmVy
dmlld0dyYXBoLmhpZGRlbikKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAg
ICAgbGV0IGdyYXBoUmVjdCA9IG92ZXJ2aWV3R3JhcGguZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKTsKQEAgLTg1MSwxMSArODQ2LDkgQEAgV0kuVGltZWxpbmVPdmVydmlldyA9IGNsYXNz
IFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgICAgICBsZXQgdHJlZUVs
ZW1lbnQgPSB0aGlzLl90cmVlRWxlbWVudHNCeVR5cGVNYXAuZ2V0KHR5cGUpOwogICAgICAgICAg
ICAgY29uc29sZS5hc3NlcnQodHJlZUVsZW1lbnQsICJNaXNzaW5nIHRyZWUgZWxlbWVudCBmb3Ig
dGltZWxpbmUgdHlwZSIsIHR5cGUpOwogCi0gICAgICAgICAgICB0cmVlRWxlbWVudC5oaWRkZW4g
PSAhdGhpcy5fY2FuU2hvd1RpbWVsaW5lVHlwZSh0eXBlKTsKLSAgICAgICAgICAgIGlmICh0cmVl
RWxlbWVudC5oaWRkZW4pCi0gICAgICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5oaWRkZW4oKTsK
LSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBvdmVydmlld0dyYXBoLnNob3duKCk7
CisgICAgICAgICAgICBsZXQgaGlkZGVuID0gIXRoaXMuX2NhblNob3dUaW1lbGluZVR5cGUodHlw
ZSk7CisgICAgICAgICAgICB0cmVlRWxlbWVudC5oaWRkZW4gPSBoaWRkZW47CisgICAgICAgICAg
ICBvdmVydmlld0dyYXBoLmhpZGRlbiA9IGhpZGRlbjsKICAgICAgICAgfQogCiAgICAgICAgIHRo
aXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJmcmFtZXMiLCBpc1JlbmRlcmluZ0ZyYW1lc01v
ZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IGE5NGY0N2ZkY2Fk
NS4uMzA4MGVmZjZlZDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBA
IC00MCw3ICs0MCw3IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5l
T3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdGhpcy5fc2VsZWN0ZWRSZWNv
cmRCYXIgPSBudWxsOwogICAgICAgICB0aGlzLl9zY2hlZHVsZWRTZWxlY3RlZFJlY29yZExheW91
dFVwZGF0ZUlkZW50aWZpZXIgPSB1bmRlZmluZWQ7CiAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0g
ZmFsc2U7Ci0gICAgICAgIHRoaXMuX3Zpc2libGUgPSB0cnVlOworICAgICAgICB0aGlzLl9oaWRk
ZW4gPSBmYWxzZTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKQEAgLTE1Niw5ICsxNTYsMjIgQEAg
V0kuVGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgVGltZWxpbmVPdmVydmlld0dyYXBoIGV4
dGVuZHMgV0kuVmlldwogCiAgICAgZ2V0IHNlY29uZHNQZXJQaXhlbCgpIHsgcmV0dXJuIHRoaXMu
X3RpbWVsaW5lT3ZlcnZpZXcuc2Vjb25kc1BlclBpeGVsOyB9CiAKLSAgICBnZXQgdmlzaWJsZSgp
CisgICAgZ2V0IGhpZGRlbigpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTsK
KyAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGRlbjsKKyAgICB9CisKKyAgICBzZXQgaGlkZGVuKGhp
ZGRlbikKKyAgICB7CisgICAgICAgIGlmICgheG9yKGhpZGRlbiwgdGhpcy5faGlkZGVuKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9oaWRkZW4gPSBoaWRkZW47CisKKyAg
ICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIHRoaXMuX2hpZGRl
bik7CisKKyAgICAgICAgaWYgKCF0aGlzLl9oaWRkZW4pCisgICAgICAgICAgICB0aGlzLnVwZGF0
ZUxheW91dCgpOwogICAgIH0KIAogICAgIGdldCBzZWxlY3RlZFJlY29yZCgpCkBAIC0yMTgsMjUg
KzIzMSw2IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZp
ZXdHcmFwaCBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50
b2dnbGUoInNlbGVjdGVkIiwgdGhpcy5fc2VsZWN0ZWQpOwogICAgIH0KIAotICAgIHNob3duKCkK
LSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl92aXNpYmxlKQotICAgICAgICAgICAgcmV0dXJuOwot
Ci0gICAgICAgIHRoaXMuX3Zpc2libGUgPSB0cnVlOwotICAgICAgICB0aGlzLmVsZW1lbnQuY2xh
c3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwgIXRoaXMuX3Zpc2libGUpOwotICAgICAgICB0aGlzLnVw
ZGF0ZUxheW91dCgpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBpZiAo
IXRoaXMuX3Zpc2libGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5fdmlz
aWJsZSA9IGZhbHNlOwotICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlk
ZGVuIiwgIXRoaXMuX3Zpc2libGUpOwotICAgIH0KLQogICAgIHJlc2V0KCkKICAgICB7CiAgICAg
ICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1Yi1jbGFzc2VzIGlmIG5lZWRlZC4KQEAgLTI1MCw3ICsy
NDQsNyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3
R3JhcGggZXh0ZW5kcyBXSS5WaWV3CiAgICAgbmVlZHNMYXlvdXQoKQogICAgIHsKICAgICAgICAg
Ly8gRklYTUU6IG5lZWRzTGF5b3V0IGNhbiBiZSByZW1vdmVkIG9uY2UgPGh0dHBzOi8vd2Via2l0
Lm9yZy9iLzE1MDc0MT4gaXMgZml4ZWQuCi0gICAgICAgIGlmICghdGhpcy5fdmlzaWJsZSkKKyAg
ICAgICAgaWYgKHRoaXMuX2hpZGRlbikKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBz
dXBlci5uZWVkc0xheW91dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcuanMKaW5kZXggZDVmYTFlNThlNjY1Li40YWFiODI1NzA2Y2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwpAQCAtMjEyLDMxICsyMTIs
MzAgQEAgV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KICAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWVs
aW5lQ29udGVudEJyb3dzZXIuY3VycmVudENvbnRlbnRWaWV3OwogICAgIH0KIAotICAgIHNob3du
KCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAg
ICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2hvd24oKTsKLSAgICAgICAgdGhpcy5fdGltZWxp
bmVDb250ZW50QnJvd3Nlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAg
ICAgICAgIHRoaXMuX2NsZWFyVGltZWxpbmVOYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gIXRoaXMu
X3JlY29yZGluZy5yZWFkb25seSAmJiAhaXNOYU4odGhpcy5fcmVjb3JkaW5nLnN0YXJ0VGltZSk7
CiAgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSB0aGlz
Ll9yZWNvcmRpbmcuY2FuRXhwb3J0KCk7CiAKLSAgICAgICAgdGhpcy5fY3VycmVudENvbnRlbnRW
aWV3RGlkQ2hhbmdlKCk7Ci0KICAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZyAmJiBXSS50aW1l
bGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nID09PSB0aGlzLl9yZWNvcmRpbmcgJiYgV0kudGlt
ZWxpbmVNYW5hZ2VyLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0aGlzLl9zdGFydFVwZGF0
aW5nQ3VycmVudFRpbWUodGhpcy5fY3VycmVudFRpbWUpOwogICAgIH0KIAotICAgIGhpZGRlbigp
CisgICAgZGV0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAg
ICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5oaWRkZW4oKTsKLSAgICAgICAgdGhpcy5fdGltZWxp
bmVDb250ZW50QnJvd3Nlci5oaWRkZW4oKTsKLQogICAgICAgICBpZiAodGhpcy5fdXBkYXRpbmcp
CiAgICAgICAgICAgICB0aGlzLl9zdG9wVXBkYXRpbmdDdXJyZW50VGltZSgpOworCisgICAgICAg
IHN1cGVyLmRldGFjaGVkKCk7CisgICAgfQorCisgICAgaW5pdGlhbExheW91dCgpCisgICAgewor
ICAgICAgICBzdXBlci5pbml0aWFsTGF5b3V0KCk7CisKKyAgICAgICAgdGhpcy5fY3VycmVudENv
bnRlbnRWaWV3RGlkQ2hhbmdlKCk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKQEAgLTM3Nyw3ICsz
NzYsNyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2NvbnRlbnRWaWV3U2VsZWN0
aW9uUGF0aENvbXBvbmVudERpZENoYW5nZShldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhp
cy52aXNpYmxlKQorICAgICAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJl
dHVybjsKIAogICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl90aW1lbGluZUNvbnRl
bnRCcm93c2VyLmN1cnJlbnRDb250ZW50VmlldykKQEAgLTQ1Niw3ICs0NTUsNyBAQCBXSS5UaW1l
bGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50
VmlldyBleHRlbmRzIFdJLgogICAgICAgICAvLyBPbmx5IHN0b3AgdXBkYXRpbmcgaWYgdGhlIGN1
cnJlbnQgdGltZSBpcyBncmVhdGVyIHRoYW4gdGhlIGVuZCB0aW1lLCBvciB0aGUgZW5kIHRpbWUg
aXMgTmFOLgogICAgICAgICAvLyBUaGUgcmVjb3JkaW5nIGVuZCB0aW1lIHdpbGwgYmUgTmFOIGlm
IG5vIHJlY29yZHMgd2VyZSBhZGRlZC4KICAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZyAmJiAo
Y3VycmVudFRpbWUgPj0gZW5kVGltZSB8fCBpc05hTihlbmRUaW1lKSkpIHsKLSAgICAgICAgICAg
IGlmICh0aGlzLnZpc2libGUpCisgICAgICAgICAgICBpZiAodGhpcy5pc0F0dGFjaGVkKQogICAg
ICAgICAgICAgICAgIHRoaXMuX2xhc3RVcGRhdGVUaW1lc3RhbXAgPSBOYU47CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KQEAgLTkxNSw3ICs5MTQsNyBAQCBXSS5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRl
bmRzIFdJLgogCiAgICAgX2hhbmRsZVRpbWVsaW5lVmlld1JlY29yZFNlbGVjdGVkKGV2ZW50KQog
ICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIGlmICghdGhpcy5pc0F0
dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGxldCB7cmVjb3JkfSA9IGV2
ZW50LmRhdGE7CkBAIC05NDgsNyArOTQ3LDcgQEAgV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50
VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KIAog
ICAgIF9oYW5kbGVUaW1lbGluZVZpZXdTY2FubmVyU2hvdyhldmVudCkKICAgICB7Ci0gICAgICAg
IGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAg
ICAgICAgIHJldHVybjsKIAogICAgICAgICBsZXQge3RpbWV9ID0gZXZlbnQuZGF0YTsKQEAgLTk1
Nyw3ICs5NTYsNyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGlt
ZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2hhbmRsZVRpbWVs
aW5lVmlld1NjYW5uZXJIaWRlKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2li
bGUpCisgICAgICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuOwog
CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuaGlkZVNjYW5uZXIoKTsKQEAgLTk2NSw3
ICs5NjQsNyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxp
bmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2hhbmRsZVRpbWVsaW5l
Vmlld05lZWRzRW50aXJlU2VsZWN0ZWRSYW5nZShldmVudCkKICAgICB7Ci0gICAgICAgIGlmICgh
dGhpcy52aXNpYmxlKQorICAgICAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAg
IHJldHVybjsKIAogICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnRpbWVsaW5lUnVsZXIu
c2VsZWN0RW50aXJlUmFuZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3Lmpz
CmluZGV4IDAxMWMxNzVmOGIwMS4uOGMyYmNiZDhmZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
VGFiQ29udGVudFZpZXcuanMKQEAgLTMxNyw5ICszMTcsOSBAQCBXSS5UaW1lbGluZVRhYkNvbnRl
bnRWaWV3ID0gY2xhc3MgVGltZWxpbmVUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRC
cm93cwogICAgICAgICByZXR1cm4gV0kuVGltZWxpbmVUYWJDb250ZW50Vmlldy5UeXBlOwogICAg
IH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5z
aG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIHRoaXMuX3RvZ2ds
ZVJlY29yZGluZ1Nob3J0Y3V0LmRpc2FibGVkID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX3RvZ2ds
ZU5ld1JlY29yZGluZ1Nob3J0Y3V0LmRpc2FibGVkID0gZmFsc2U7CkBAIC0zMjgsMTQgKzMyOCwx
NCBAQCBXSS5UaW1lbGluZVRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVUYWJDb250ZW50
VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93cwogICAgICAgICAgICAgV0kudGltZWxpbmVNYW5h
Z2VyLmF1dG9DYXB0dXJlT25QYWdlTG9hZCA9IHRydWU7CiAgICAgfQogCi0gICAgaGlkZGVuKCkK
KyAgICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQogICAgICAg
ICB0aGlzLl90b2dnbGVSZWNvcmRpbmdTaG9ydGN1dC5kaXNhYmxlZCA9IHRydWU7CiAgICAgICAg
IHRoaXMuX3RvZ2dsZU5ld1JlY29yZGluZ1Nob3J0Y3V0LmRpc2FibGVkID0gdHJ1ZTsKIAogICAg
ICAgICBXSS50aW1lbGluZU1hbmFnZXIuYXV0b0NhcHR1cmVPblBhZ2VMb2FkID0gZmFsc2U7CisK
KyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICBjbG9zZWQoKQpAQCAtNTA1
LDcgKzUwNSw3IEBAIFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVRh
YkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzCiAKICAgICBfaW5zcGVjdG9yVmlz
aWJpbGl0eUNoYW5nZWQoZXZlbnQpCiAgICAgewotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIu
YXV0b0NhcHR1cmVPblBhZ2VMb2FkID0gISF0aGlzLnZpc2libGUgJiYgISFXSS52aXNpYmxlOwor
ICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYXV0b0NhcHR1cmVPblBhZ2VMb2FkID0gISF0aGlz
LmlzQXR0YWNoZWQgJiYgISFXSS52aXNpYmxlOwogICAgIH0KIAogICAgIF9nbG9iYWxNb2RpZmll
cktleXNEaWRDaGFuZ2UoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMKaW5kZXggYWNhZjVmYTMwY2Qx
Li4wOGIwMmVhMDEzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMKQEAgLTIzMCwxNSArMjMwLDYgQEAg
V0kuVGltZWxpbmVWaWV3ID0gY2xhc3MgVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZp
ZXcKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgbmVlZHNMYXlvdXQoKQotICAg
IHsKLSAgICAgICAgLy8gRklYTUU6IG5lZWRzTGF5b3V0IGNhbiBiZSByZW1vdmVkIG9uY2UgPGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzE1MDc0MT4gaXMgZml4ZWQuCi0gICAgICAgIGlmICghdGhpcy52
aXNpYmxlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHN1cGVyLm5lZWRzTGF5b3V0
KCk7Ci0gICAgfQotCiAgICAgLy8gRGF0YUdyaWQgZmlsdGVyIGRlbGVnYXRlCiAKICAgICBkYXRh
R3JpZE1hdGNoTm9kZUFnYWluc3RDdXN0b21GaWx0ZXJzKG5vZGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qcwppbmRleCBhYWVjY2RhYjU5
OTYuLmRlMGMyNTYwZDhjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9WaWV3LmpzCkBAIC0xMjYsMTAgKzEyNiwxMSBAQCBXSS5WaWV3ID0gY2xh
c3MgVmlldyBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAKKyAgICAgICAgdmlldy5fZGlkTW92ZVRvUGFyZW50KG51bGwpOworCiAgICAgICAgIHRoaXMu
X3N1YnZpZXdzLnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgIHZpZXcuZWxlbWVudC5yZW1vdmUo
KTsKIAotICAgICAgICB2aWV3Ll9kaWRNb3ZlVG9QYXJlbnQobnVsbCk7CiAgICAgfQogCiAgICAg
cmVtb3ZlQWxsU3Vidmlld3MoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvV2ViU29ja2V0Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9XZWJTb2NrZXRDb250ZW50Vmlldy5qcwppbmRl
eCA4ZTlhNGFhNzE5MDAuLjZjYmQwZjY4MzRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvV2ViU29ja2V0Q29udGVudFZpZXcuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvV2ViU29ja2V0Q29udGVu
dFZpZXcuanMKQEAgLTg3LDE3ICs4NywyMSBAQCBXSS5XZWJTb2NrZXRDb250ZW50VmlldyA9IGNs
YXNzIFdlYlNvY2tldENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAogICAgIC8v
IFB1YmxpYwogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7CisgICAgICAgIHN1
cGVyLmF0dGFjaGVkKCk7CisKICAgICAgICAgdGhpcy5fdXBkYXRlRnJhbWVzRGVib3VuY2VyLmZv
cmNlKCk7CiAgICAgICAgIHRoaXMuX3Jlc291cmNlLmFkZEV2ZW50TGlzdGVuZXIoV0kuV2ViU29j
a2V0UmVzb3VyY2UuRXZlbnQuRnJhbWVBZGRlZCwgdGhpcy5fdXBkYXRlRnJhbWVzU29vbiwgdGhp
cyk7CiAgICAgICAgIHRoaXMuX3Jlc291cmNlLmFkZEV2ZW50TGlzdGVuZXIoV0kuV2ViU29ja2V0
UmVzb3VyY2UuRXZlbnQuUmVhZHlTdGF0ZUNoYW5nZWQsIHRoaXMuX3VwZGF0ZUZyYW1lc1Nvb24s
IHRoaXMpOwogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAgIHsKICAg
ICAgICAgdGhpcy5fcmVzb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5XZWJTb2NrZXRSZXNv
dXJjZS5FdmVudC5GcmFtZUFkZGVkLCB0aGlzLl91cGRhdGVGcmFtZXNTb29uLCB0aGlzKTsKICAg
ICAgICAgdGhpcy5fcmVzb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5XZWJTb2NrZXRSZXNv
dXJjZS5FdmVudC5SZWFkeVN0YXRlQ2hhbmdlZCwgdGhpcy5fdXBkYXRlRnJhbWVzU29vbiwgdGhp
cyk7CisKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICAvLyBQcml2YXRl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413898</attachid>
            <date>2020-11-11 18:48:44 -0800</date>
            <delta_ts>2020-11-11 18:52:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218678-20201111184843.patch</filename>
            <type>text/plain</type>
            <size>127715</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDVhMDU4NjZkZGU1YjQ2ZGM5Mzg3YThhYWVjNjA4
NDk2NDgzOTRmYWEuLjQyOTE5MGFiY2JiMjEzNWY0YTJiODdiOTliNjIxMGMxMTAxNWFlODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3NyBAQAorMjAyMC0xMS0xMSAgRGV2
aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
ZHJvcCBgc2hvd25gL2BoaWRkZW5gIGluIGZhdm9yIG9mIGBhdHRhY2hlZGAvYGRldGFjaGVkYAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4Njc4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1ZpZXcuanM6CisgICAgICAgIChXSS5WaWV3LnByb3RvdHlwZS5yZW1vdmVT
dWJ2aWV3KToKKyAgICAgICAgRW5zdXJlIHRoYXQgYGRldGFjaGVkYCBpcyBjYWxsZWQgYmVmb3Jl
IHRoZSBub2RlIGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NIHNvIHRoYXQgYW55IHN0YXRlCisgICAg
ICAgIGN1cnJlbnRseSBoZWxkIGluIHRoZSBET00gY2FuIGJlIHJlY29yZGVkIChlLmcuIHNjcm9s
bCBwb3NpdGlvbikuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRCcm93
c2VyVGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5Db250ZW50QnJvd3NlclRhYkNvbnRl
bnRWaWV3LnByb3RvdHlwZS5hdHRhY2hlZCk6CisgICAgICAgIChXSS5Db250ZW50QnJvd3NlclRh
YkNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93TmF2aWdhdGlvblNpZGViYXJQYW5lbCk6CisgICAg
ICAgIChXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93RGV0YWls
c1NpZGViYXJQYW5lbHMpOgorICAgICAgICAoV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50Vmll
dy5wcm90b3R5cGUuX25hdmlnYXRpb25TaWRlYmFyQ29sbGFwc2VkU3RhdGVEaWRDaGFuZ2UpOgor
ICAgICAgICAoV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuX2RldGFp
bHNTaWRlYmFyQ29sbGFwc2VkU3RhdGVEaWRDaGFuZ2UpOgorICAgICAgICAoV0kuQ29udGVudEJy
b3dzZXJUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuX2RldGFpbHNTaWRlYmFyUGFuZWxTZWxlY3Rl
ZCk6CisgICAgICAgIChXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5z
aG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3
LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvU2luZ2xlU2lkZWJhci5qczoKKyAgICAgICAgKFdJLlNpbmdsZVNpZGViYXIucHJvdG90eXBl
LndpbGxTZXRTZWxlY3RlZFNpZGViYXJQYW5lbCk6CisgICAgICAgIChXSS5TaW5nbGVTaWRlYmFy
LnByb3RvdHlwZS5kaWRTZXRTZWxlY3RlZFNpZGViYXJQYW5lbCk6CisgICAgICAgIChXSS5TaW5n
bGVTaWRlYmFyLnByb3RvdHlwZS5kaWRTZXRDb2xsYXBzZWQpOgorICAgICAgICBFbnN1cmUgdGhh
dCBhbnkgc3RhdGUgbW9kaWZpY2F0aW9ucyBoYXBwZW4gYmVmb3JlIGFkZGluZy9yZW1vdmluZyB0
aGUgc2VsZWN0ZWQgc2lkZWJhciBwYW5lbAorICAgICAgICB0by9mcm9tIHRoZSBET00gc28gdGhh
dCBpdCAoYW5kIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHNpZGViYXIgcGFuZWwpIGRvZXNuJ3Qg
cmUtYGxheW91dGAKKyAgICAgICAgbXVsdGlwbGUgdGltZXMuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbnNvbGVEcmF3ZXIuanM6CisgICAgICAgIChXSS5Db25zb2xlRHJhd2Vy
LnByb3RvdHlwZS5zZXQgY29sbGFwc2VkKToKKyAgICAgICAgKFdJLkNvbnNvbGVEcmF3ZXIucHJv
dG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5Db25zb2xlRHJhd2VyLnByb3Rv
dHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIEFkZCBzcGVjaWFsIGxvZ2ljIGluIGBjb2xs
YXBzZWRgIHNpbmNlIHRoaXMgaXMgbmV2ZXIgcmVtb3ZlZCBmcm9tIHRoZSBET00uCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVUYWJDb250ZW50Vmlldy5qczoKKyAgICAg
ICAgKFdJLkNvbnNvbGVUYWJDb250ZW50Vmlldyk6CisgICAgICAgIChXSS5Db25zb2xlVGFiQ29u
dGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5Db25zb2xl
VGFiQ29udGVudFZpZXcucHJvdG90eXBlLmRldGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5D
b25zb2xlVGFiQ29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAg
UmVtZW1iZXIgd2hldGhlciB0aGUgc3BsaXQgY29uc29sZSB3YXMgZXhwYW5kZWQgYmVmb3JlIHRo
ZSBDb25zb2xlIFRhYiBpcyBzaG93biBhbmQgcmVzdG9yZQorICAgICAgICB0aGF0IHN0YXRlIGFm
dGVyIHRoZSBDb25zb2xlIFRhYiBpcyBoaWRkZW4uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanM6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3
LnByb3RvdHlwZS5nZXQgaGVpZ2h0KToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJv
dG90eXBlLmF0dGFjaGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBl
LmRldGFjaGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnJlY29y
ZFdhc0ZpbHRlcmVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNl
bGVjdFJlY29yZCk6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS51cGRh
dGVMYXlvdXRJZk5lZWRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlw
ZS5sYXlvdXQpOgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuX2luc3Ry
dW1lbnRBZGRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5fdGlt
ZWxpbmVSdWxlck1vdXNlQ2xpY2tlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3LnBy
b3RvdHlwZS5fdmlld01vZGVEaWRDaGFuZ2UpOgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmll
dy5wcm90b3R5cGUuZ2V0IHZpc2libGUpOiBEZWxldGVkLgorICAgICAgICAoV0kuVGltZWxpbmVP
dmVydmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuVGltZWxpbmVP
dmVydmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKFdJLlRpbWVsaW5l
T3ZlcnZpZXdHcmFwaCk6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90
eXBlLmdldCBoaWRkZW4pOgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmlld0dyYXBoLnByb3Rv
dHlwZS5zZXQgaGlkZGVuKToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90
b3R5cGUubmVlZHNMYXlvdXQpOgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmlld0dyYXBoLnBy
b3RvdHlwZS5nZXQgdmlzaWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2
aWV3R3JhcGgucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5l
T3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NQVVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKFdJ
LkNQVVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUubGF5b3V0KToKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBBbGxvY2F0aW9uc1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5q
czoKKyAgICAgICAgKFdJLkhlYXBBbGxvY2F0aW9uc1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90
b3R5cGUubGF5b3V0KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVs
aW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKFdJLkxheW91dFRpbWVsaW5lT3ZlcnZpZXdH
cmFwaC5wcm90b3R5cGUubGF5b3V0KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL01l
ZGlhVGltZWxpbmVPdmVydmlld0dyYXBoLmpzOgorICAgICAgICAoV0kuTWVkaWFUaW1lbGluZU92
ZXJ2aWV3R3JhcGgucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9NZW1vcnlUaW1lbGluZU92ZXJ2aWV3R3JhcGguanM6CisgICAgICAgIChXSS5NZW1vcnlU
aW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBoLmpzOgorICAgICAgICAo
V0kuTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUubGF5b3V0KToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dy
YXBoLmpzOgorICAgICAgICAoV0kuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGgu
cHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRU
aW1lbGluZU92ZXJ2aWV3R3JhcGguanM6CisgICAgICAgIChXSS5TY3JpcHRUaW1lbGluZU92ZXJ2
aWV3R3JhcGgucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXSS5UaW1lbGluZVZpZXcucHJvdG90eXBlLm5l
ZWRzTGF5b3V0KTogRGVsZXRlZC4KKyAgICAgICAgQWRkIGEgc3BlY2lhbCBgaGlkZGVuYCBpbnN0
ZWFkIG9mIHRoZSBwcmV2aW91c2x5IGluaGVyaXRlZCBgdmlzaWJsZWAgc28gdGhhdCB0aGUgZXhp
c3RpbmcKKyAgICAgICAgbG9naWMgZm9yIGVkaXRpbmcgdGltZWxpbmUgaW5zdHJ1bWVudHMgc3Rh
eXMgKG1vc3RseSkgdGhlIHNhbWUuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0Fw
cGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuQXBwbGljYXRp
b25DYWNoZUZyYW1lQ29udGVudFZpZXcpOgorICAgICAgICAoV0kuQXBwbGljYXRpb25DYWNoZUZy
YW1lQ29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKToKKyAgICAgICAgKFdJLkFwcGxpY2F0
aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6CisgICAgICAgIChX
SS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50Vmlldy5wcm90b3R5cGUubGF5b3V0KToKKyAg
ICAgICAgKFdJLkFwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3LnByb3RvdHlwZS51cGRh
dGVTdGF0dXMpOgorICAgICAgICAoV0kuQXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcu
cHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkFwcGxpY2F0aW9uQ2FjaGVG
cmFtZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5jbG9zZWQpOiBEZWxldGVkLgorICAgICAgICAoV0ku
QXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcucHJvdG90eXBlLl9tYXliZVVwZGF0ZSk6
IERlbGV0ZWQuCisgICAgICAgIChXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50Vmlldy5w
cm90b3R5cGUuX21hcmtEaXJ0eSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5BcHBsaWNhdGlvbkNh
Y2hlRnJhbWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3VwZGF0ZVN0YXR1cyk6IERlbGV0ZWQuCisg
ICAgICAgIChXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3Vw
ZGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIE5vIG5lZWQgdG8gbWFpbnRhaW4gYSBzZXBhcmF0ZSAi
ZGlydHkiIGZsYWcgYmFzZWQgb24gdmlzaWJpbGl0eSBzaW5jZSBgYXR0YWNoZWRgL2BkZXRhY2hl
ZGAKKyAgICAgICAgYXJlIGNhbGxlZCB3aGVuZXZlciB0aGUgdmlldyBpcyBhZGRlZC9yZW1vdmVk
IHRvL2Zyb20gdGhlIERPTS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRGVidWcvRGVidWdD
b250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLkRlYnVnQ29udGVudFZpZXcucHJvdG90eXBlLmF0
dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5EZWJ1Z0NvbnRlbnRWaWV3LnByb3RvdHlwZS5k
ZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuRGVidWdDb250ZW50Vmlldy5wcm90b3R5cGUu
c2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuRGVidWdDb250ZW50Vmlldy5wcm90b3R5cGUu
aGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0FuaW1hdGlv
bkRldGFpbHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXSS5BbmltYXRpb25EZXRhaWxzU2lk
ZWJhclBhbmVsLnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuQW5pbWF0
aW9uRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJDb250ZW50Vmlldy5qczoKKyAgICAgICAg
KFdJLkF1ZGl0VGFiQ29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAg
ICAgIChXSS5BdWRpdFRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVkLgor
ICAgICAgICAoV0kuQXVkaXRUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVk
LgorICAgICAgICAoV0kuQXVkaXRUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGVzdENvbnRlbnRWaWV3
LmpzOgorICAgICAgICAoV0kuQXVkaXRUZXN0Q29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVk
KTogQWRkZWQuCisgICAgICAgIChXSS5BdWRpdFRlc3RDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0
YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENvbnRlbnRWaWV3LnByb3RvdHlw
ZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5BdWRpdFRlc3RDb250ZW50Vmlldy5wcm90
b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NQ
VVRpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdJLkNQVVRpbWVsaW5lVmlldy5wcm90b3R5cGUu
YXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkNQVVRpbWVsaW5lVmlldy5wcm90b3R5cGUu
c2hvd24pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzU2lk
ZWJhclBhbmVsLmpzOgorICAgICAgICAoV0kuQ2FudmFzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5h
dHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuQ2FudmFzU2lkZWJhclBhbmVsLnByb3RvdHlw
ZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuQ2FudmFzU2lkZWJhclBhbmVsLnByb3Rv
dHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5DYW52YXNTaWRlYmFyUGFuZWwucHJv
dG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9E
T01UcmVlQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJv
dG90eXBlLmF0dGFjaGVkKToKKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5
cGUuZGV0YWNoZWQpOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5z
aG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBl
LmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9FbGVtZW50
c1RhYkNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuRWxlbWVudHNUYWJDb250ZW50Vmlldy5w
cm90b3R5cGUuYXR0YWNoZWQpOgorICAgICAgICAoV0kuRWxlbWVudHNUYWJDb250ZW50Vmlldy5w
cm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
Rm9udFJlc291cmNlQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5Gb250UmVzb3VyY2VDb250
ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOgorICAgICAgICAoV0kuRm9udFJlc291cmNlQ29u
dGVudFZpZXcucHJvdG90eXBlLmRldGFjaGVkKToKKyAgICAgICAgKFdJLkZvbnRSZXNvdXJjZUNv
bnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5Gb250UmVz
b3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5qczoKKyAg
ICAgICAgKFdJLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNo
ZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5w
cm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
SGVhcFNuYXBzaG90Q29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5IZWFwU25hcHNob3RDb250
ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkhlYXBTbmFw
c2hvdENvbnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0ku
SGVhcFNuYXBzaG90Q29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdJLkhlYXBTbmFwc2hvdENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3
LmpzOgorICAgICAgICAoV0kuSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5hdHRh
Y2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuSW1hZ2VSZXNvdXJjZUNvbnRlbnRW
aWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5JbWFnZVJlc291cmNl
Q29udGVudFZpZXcucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAo
V0kuTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuYXR0YWNoZWQpOgorICAg
ICAgICAoV0kuTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuZGV0YWNoZWQp
OiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90
eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkxheWVyVHJlZURldGFpbHNTaWRlYmFy
UGFuZWwucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250
ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyczNE
Q29udGVudFZpZXcucHJvdG90eXBlLmRldGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5MYXll
cnMzRENvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5M
YXllcnMzRENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzVGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChX
SS5MYXllcnNUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAg
ICAgKFdJLkxheWVyc1RhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZVZpZXcuanM6CisgICAg
ICAgIChXSS5MYXlvdXRUaW1lbGluZVZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisg
ICAgICAgIChXSS5MYXlvdXRUaW1lbGluZVZpZXcucHJvdG90eXBlLmRldGFjaGVkKTogQWRkZWQu
CisgICAgICAgIChXSS5MYXlvdXRUaW1lbGluZVZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdJLkxheW91dFRpbWVsaW5lVmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzOgor
ICAgICAgICAoV0kuTG9nQ29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisg
ICAgICAgIChXSS5Mb2dDb250ZW50Vmlldy5wcm90b3R5cGUuc2hvd0N1c3RvbUZpbmRCYW5uZXIp
OgorICAgICAgICAoV0kuTG9nQ29udGVudFZpZXcucHJvdG90eXBlLmdldCBzdXBwb3J0c1NhdmUp
OgorICAgICAgICAoV0kuTG9nQ29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4K
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmlldy5qczoKKyAg
ICAgICAgKFdJLk1lbW9yeVRpbWVsaW5lVmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4K
KyAgICAgICAgKFdJLk1lbW9yeVRpbWVsaW5lVmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQYW5lbC5q
czoKKyAgICAgICAgKFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLmF0dGFjaGVk
KTogQWRkZWQuCisgICAgICAgIChXSS5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5z
aG93bik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrRGV0
YWlsVmlldy5qczoKKyAgICAgICAgKFdJLk5ldHdvcmtEZXRhaWxWaWV3LnByb3RvdHlwZS5hdHRh
Y2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuTmV0d29ya0RldGFpbFZpZXcucHJvdG90eXBlLnNo
b3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLk5ldHdvcmtEZXRhaWxWaWV3LnByb3RvdHlwZS5o
aWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1Jl
c291cmNlRGV0YWlsVmlldy5qczoKKyAgICAgICAgKFdJLk5ldHdvcmtSZXNvdXJjZURldGFpbFZp
ZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5OZXR3b3JrUmVzb3Vy
Y2VEZXRhaWxWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdJLk92ZXJ2
aWV3VGltZWxpbmVWaWV3LnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0ku
T3ZlcnZpZXdUaW1lbGluZVZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL1JlY29yZGluZ0NvbnRlbnRWaWV3LmpzOgorICAgICAgICAo
V0kuUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAg
ICAgIChXSS5SZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0YWNoZWQpOiBBZGRlZC4K
KyAgICAgICAgKFdJLlJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0
ZWQuCisgICAgICAgIChXSS5SZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTog
RGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ2x1c3RlckNv
bnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuUmVzb3VyY2VDbHVzdGVyQ29udGVudFZpZXcucHJv
dG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5SZXNvdXJjZUNsdXN0ZXJDb250
ZW50Vmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5SZXNv
dXJjZUhlYWRlcnNDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0YWNoZWQpOiBBZGRlZC4KKyAgICAg
ICAgKFdJLlJlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxl
dGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoVGFiQ29udGVudFZpZXcu
anM6CisgICAgICAgIChXSS5TZWFyY2hUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQp
OiBBZGRlZC4KKyAgICAgICAgKFdJLlNlYXJjaFRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93
bik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TaGFkZXJQcm9ncmFt
Q29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5TaGFkZXJQcm9ncmFtQ29udGVudFZpZXcucHJv
dG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5TaGFkZXJQcm9ncmFtQ29udGVu
dFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlNoYWRlclByb2dy
YW1Db250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdJLlNpZGViYXJQYW5l
bC5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlNpZGViYXJQYW5lbC5w
cm90b3R5cGUuZGV0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlNpZGViYXJQYW5lbC5wcm90
b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuU2lkZWJhclBhbmVsLnByb3RvdHlw
ZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU291cmNl
Q29kZVRleHRFZGl0b3IuanM6CisgICAgICAgIChXSS5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90
b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlNvdXJjZUNvZGVUZXh0RWRpdG9y
LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuU291cmNlQ29kZVRleHRF
ZGl0b3IucHJvdG90eXBlLl9zZXRUeXBlVG9rZW5Bbm5vdGF0b3JFbmFibGVkU3RhdGUpOgorICAg
ICAgICAoV0kuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBlLnNldCBfYmFzaWNCbG9ja0Fu
bm90YXRvckVuYWJsZWQpOgorICAgICAgICAoV0kuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90
eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlNvdXJjZUNvZGVUZXh0RWRpdG9yLnBy
b3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
U3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uRWRpdG9yLmpzOgorICAgICAgICAoV0kuU3By
ZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uRWRpdG9yLnByb3RvdHlwZS5kZXRhY2hlZCk6Cisg
ICAgICAgIChXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25FZGl0b3IucHJvdG90eXBl
LmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRz
aGVldFN0eWxlUHJvcGVydHkuanM6CisgICAgICAgIChXSS5TcHJlYWRzaGVldFN0eWxlUHJvcGVy
dHkucHJvdG90eXBlLmRldGFjaGVkKToKKyAgICAgICAgKFdJLlNwcmVhZHNoZWV0U3R5bGVQcm9w
ZXJ0eS5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1N0eWxlRGV0YWlsc1BhbmVsLmpzOgorICAgICAgICAoV0kuU3R5bGVEZXRhaWxzUGFu
ZWwpOgorICAgICAgICAoV0kuU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLmF0dGFjaGVkKToK
KyAgICAgICAgKFdJLlN0eWxlRGV0YWlsc1BhbmVsLnByb3RvdHlwZS5tYXJrQXNOZWVkc1JlZnJl
c2gpOgorICAgICAgICAoV0kuU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLm5vZGVTdHlsZXNS
ZWZyZXNoZWQpOgorICAgICAgICAoV0kuU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLl9ub2Rl
U3R5bGVzTmVlZHNSZWZyZXNoZWQpOgorICAgICAgICAoV0kuU3R5bGVEZXRhaWxzUGFuZWwucHJv
dG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlN0eWxlRGV0YWlsc1BhbmVsLnBy
b3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
VGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5UYWJDb250ZW50Vmlldy5wcm90b3R5cGUu
YXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5y
ZXN0b3JlU3RhdGVGcm9tQ29va2llKToKKyAgICAgICAgKFdJLlRhYkNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UYWJs
ZS5qczoKKyAgICAgICAgKFdJLlRhYmxlLnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAg
ICAgICAoV0kuVGFibGUucHJvdG90eXBlLnJlc3RvcmVTY3JvbGxQb3NpdGlvbik6IERlbGV0ZWQu
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzOgorICAgICAgICAo
V0kuVGV4dEVkaXRvci5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlRl
eHRFZGl0b3IucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgIChXSS5UZXh0RWRpdG9yLnByb3Rv
dHlwZS5fcmV2ZWFsUGVuZGluZ1Bvc2l0aW9uSWZQb3NzaWJsZSk6CisgICAgICAgIChXSS5UZXh0
RWRpdG9yLnByb3RvdHlwZS5nZXQgdmlzaWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5UZXh0
RWRpdG9yLnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5UZXh0RWRpdG9y
LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVEYXRhR3JpZC5qczoKKyAgICAgICAgKFdJLlRpbWVsaW5lRGF0YUdyaWQucHJv
dG90eXBlLmRldGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5UaW1lbGluZURhdGFHcmlkLnBy
b3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5UaW1lbGluZURhdGFHcmlkLnBy
b3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChX
SS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVk
LgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuaW5p
dGlhbExheW91dCk6IEFkZGVkLgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50
Vmlldy5wcm90b3R5cGUuX2NvbnRlbnRWaWV3U2VsZWN0aW9uUGF0aENvbXBvbmVudERpZENoYW5n
ZSk6CisgICAgICAgIChXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5f
dXBkYXRlKToKKyAgICAgICAgKFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90
eXBlLl9oYW5kbGVUaW1lbGluZVZpZXdSZWNvcmRTZWxlY3RlZCk6CisgICAgICAgIChXSS5UaW1l
bGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5faGFuZGxlVGltZWxpbmVWaWV3U2Nh
bm5lclNob3cpOgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90
b3R5cGUuX2hhbmRsZVRpbWVsaW5lVmlld1NjYW5uZXJIaWRlKToKKyAgICAgICAgKFdJLlRpbWVs
aW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5kbGVUaW1lbGluZVZpZXdOZWVk
c0VudGlyZVNlbGVjdGVkUmFuZ2UpOgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250
ZW50Vmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanM6CisgICAgICAg
IChXSS5UaW1lbGluZVRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgor
ICAgICAgICAoV0kuVGltZWxpbmVUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0YWNoZWQpOiBB
ZGRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcucHJvdG90eXBlLl9pbnNw
ZWN0b3JWaXNpYmlsaXR5Q2hhbmdlZCk6CisgICAgICAgIChXSS5UaW1lbGluZVRhYkNvbnRlbnRW
aWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5UaW1lbGluZVRhYkNv
bnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvV2ViU29ja2V0Q29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5XZWJTb2Nr
ZXRDb250ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLldl
YlNvY2tldENvbnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAo
V0kuV2ViU29ja2V0Q29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdJLldlYlNvY2tldENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSmF2YVNjcmlwdExvZ1ZpZXdDb250
cm9sbGVyLmpzOgorICAgICAgICAoV0kuSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyLnByb3Rv
dHlwZS5fYXBwZW5kQ29uc29sZU1lc3NhZ2VWaWV3KToKKyAgICAgICAgTW92ZSBsb2dpYyBpbnNp
ZGUgYHNob3duYC9gaGlkZGVuYCB0byBgYXR0YWNoZWRgL2BkZXRhY2hlZGAuCisgICAgICAgIFVz
ZSBgaXNBdHRhY2hlZGAgaW5zdGVhZCBvZiBgdmlzaWJsZWAuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL01vZGVscy9CYWNrRm9yd2FyZEVudHJ5LmpzOgorICAgICAgICAoV0kuQmFja0Zvcndh
cmRFbnRyeS5wcm90b3R5cGUucHJlcGFyZVRvU2hvdyk6CisgICAgICAgIChXSS5CYWNrRm9yd2Fy
ZEVudHJ5LnByb3RvdHlwZS5wcmVwYXJlVG9IaWRlKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL0F1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5BdWRpdFRl
c3RHcm91cENvbnRlbnRWaWV3LnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAo
V0kuQXVkaXRUZXN0R3JvdXBDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0YWNoZWQpOiBBZGRlZC4K
KyAgICAgICAgKFdJLkF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcucHJvdG90eXBlLl9hZGRUZXN0
KToKKyAgICAgICAgKFdJLkF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5k
bGVUZXN0R3JvdXBUZXN0UmVtb3ZlZCk6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cENvbnRl
bnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5BdWRpdFRlc3RH
cm91cENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvQ2hhbmdlc0RldGFpbHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAg
IChXSS5DaGFuZ2VzRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ2x1c3RlckNvbnRlbnRWaWV3LmpzOgor
ICAgICAgICAoV0kuQ2x1c3RlckNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQu
CisgICAgICAgIChXSS5DbHVzdGVyQ29udGVudFZpZXcucHJvdG90eXBlLmhpZGRlbik6IERlbGV0
ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Db2xsZWN0aW9uQ29udGVudFZpZXcu
anM6CisgICAgICAgIChXSS5Db2xsZWN0aW9uQ29udGVudFZpZXcucHJvdG90eXBlLmFkZENvbnRl
bnRWaWV3Rm9ySXRlbSk6CisgICAgICAgIChXSS5Db2xsZWN0aW9uQ29udGVudFZpZXcucHJvdG90
eXBlLnJlbW92ZUNvbnRlbnRWaWV3Rm9ySXRlbSk6CisgICAgICAgIChXSS5Db2xsZWN0aW9uQ29u
dGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkNvbGxlY3Rp
b25Db250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NvbXB1dGVkU3R5bGVTZWN0aW9uLmpzOgorICAgICAgICAoV0kuQ29t
cHV0ZWRTdHlsZVNlY3Rpb24ucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qczoKKyAgICAgICAgKFdJLkNvbnRl
bnRCcm93c2VyLnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuQ29udGVu
dEJyb3dzZXIucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkNvbnRlbnRC
cm93c2VyLnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5Db250ZW50Vmlldy5wcm90b3R5
cGUuZ2V0IHZpc2libGUpOiBEZWxldGVkLgorICAgICAgICAoV0kuQ29udGVudFZpZXcucHJvdG90
eXBlLnNldCB2aXNpYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5Db250ZW50Vmlldy5wcm90b3R5cGUu
aGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRW
aWV3Q29udGFpbmVyLmpzOgorICAgICAgICAoV0kuQ29udGVudFZpZXdDb250YWluZXIucHJvdG90
eXBlLnNob3dDb250ZW50Vmlldyk6CisgICAgICAgIChXSS5Db250ZW50Vmlld0NvbnRhaW5lci5w
cm90b3R5cGUuc2hvd0JhY2tGb3J3YXJkRW50cnlGb3JJbmRleCk6CisgICAgICAgIChXSS5Db250
ZW50Vmlld0NvbnRhaW5lci5wcm90b3R5cGUucmVwbGFjZUNvbnRlbnRWaWV3KToKKyAgICAgICAg
KFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyLnByb3RvdHlwZS5jbG9zZUNvbnRlbnRWaWV3KToKKyAg
ICAgICAgKFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyLnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVk
LgorICAgICAgICAoV0kuQ29udGVudFZpZXdDb250YWluZXIucHJvdG90eXBlLmRldGFjaGVkKTog
QWRkZWQuCisgICAgICAgIChXSS5Db250ZW50Vmlld0NvbnRhaW5lci5wcm90b3R5cGUuX2Rpc2Fz
c29jaWF0ZUZyb21Db250ZW50Vmlldyk6CisgICAgICAgIChXSS5Db250ZW50Vmlld0NvbnRhaW5l
ci5wcm90b3R5cGUuX3Nob3dFbnRyeSk6CisgICAgICAgIChXSS5Db250ZW50Vmlld0NvbnRhaW5l
ci5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuQ29udGVudFZpZXdDb250
YWluZXIucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV0ku
R2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuZ2V0IG1pbmltdW1XaWR0
aCk6CisgICAgICAgIChXSS5HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlw
ZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGVi
YXJQYW5lbC5wcm90b3R5cGUuX3Nob3dQYW5lbCk6CisgICAgICAgIChXSS5HZW5lcmFsU3R5bGVE
ZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAo
V0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuc2hvd24pOiBEZWxl
dGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFsbG9jYXRpb25zVGltZWxp
bmVWaWV3LmpzOgorICAgICAgICAoV0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3LnByb3Rv
dHlwZS5zaG93SGVhcFNuYXBzaG90TGlzdCk6CisgICAgICAgIChXSS5IZWFwQWxsb2NhdGlvbnNU
aW1lbGluZVZpZXcucHJvdG90eXBlLnNob3dIZWFwU25hcHNob3RUaW1lbGluZVJlY29yZCk6Cisg
ICAgICAgIChXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcucHJvdG90eXBlLnNob3dIZWFw
U25hcHNob3REaWZmKToKKyAgICAgICAgKFdJLkhlYXBBbGxvY2F0aW9uc1RpbWVsaW5lVmlldy5w
cm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuSGVhcEFsbG9jYXRpb25zVGlt
ZWxpbmVWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXSS5NZWRpYVRpbWVs
aW5lVmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuTWVkaWFUaW1l
bGluZVZpZXcucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9OZXR3b3JrVGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5OZXR3b3Jr
VGFiQ29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLk5l
dHdvcmtUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmpzOgorICAgICAg
ICAoV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcucHJvdG90eXBlLmRldGFjaGVkKTogQWRkZWQu
CisgICAgICAgIChXSS5OZXR3b3JrVGFibGVDb250ZW50Vmlldy5wcm90b3R5cGUuX2hpZGVEZXRh
aWxWaWV3KToKKyAgICAgICAgKFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5f
c2hvd0RldGFpbFZpZXcpOgorICAgICAgICAoV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcucHJv
dG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRW
aWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdJLk5ldHdvcmtUaW1lbGlu
ZVZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLk5ldHdvcmtUaW1l
bGluZVZpZXcucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdJLlJl
bmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAg
ICAgIChXSS5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdENvbnRlbnRWaWV3Lmpz
OgorICAgICAgICAoV0kuU2NyaXB0Q29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdJLlNjcmlwdENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxl
dGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5l
Vmlldy5qczoKKyAgICAgICAgKFdJLlNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcucHJvdG90eXBl
LnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcu
cHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9TaWRlYmFyLmpzOgorICAgICAgICAoV0kuU2lkZWJhci5wcm90b3R5cGUuc2V0IGNvbGxhcHNl
ZCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVj
bGFyYXRpb25TZWN0aW9uLmpzOgorICAgICAgICAoV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xh
cmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbC5qczoKKyAg
ICAgICAgKFdJLlNwcmVhZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbC5wcm90b3R5cGUuaGlk
ZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRDb250ZW50
Vmlldy5qczoKKyAgICAgICAgKFdJLlRleHRDb250ZW50Vmlldy5wcm90b3R5cGUuc2hvd24pOiBE
ZWxldGVkLgorICAgICAgICAoV0kuVGV4dENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBE
ZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGV4dFJlc291cmNlQ29udGVu
dFZpZXcuanM6CisgICAgICAgIChXSS5UZXh0UmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUu
c2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuVGV4dFJlc291cmNlQ29udGVudFZpZXcucHJv
dG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgIFJlbW92ZSBgc2hvd25gL2BoaWRkZW5g
IGNhbGxzIHNpbmNlIHRoYXQgc3RhdGUgaXMgcHJvcGFnYXRlZCB0byBzdWJ2aWV3cyBieSBgV0ku
Vmlld2AgbG9naWMuCisKIDIwMjAtMTEtMDYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNvdXJjZXM6IGRlZmF1bHQgYnJlYWtwb2lu
dCBhY3Rpb24gc2hvdWxkIGJlIGV2YWx1YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9KYXZhU2NyaXB0TG9nVmlld0NvbnRyb2xs
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9K
YXZhU2NyaXB0TG9nVmlld0NvbnRyb2xsZXIuanMKaW5kZXggNzcyYjZmZWQzZTMxYjQ4NWY4ODIw
NmQ0MDg2Yjk0NDkyNGFlOTA2MS4uY2U0MjQyYzY4ODMwZjFiNDMxNmM0ZjdlOTgwNDI3YWI3ZmE1
MTgwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29u
dHJvbGxlcnMvSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29u
dHJvbGxlci5qcwpAQCAtMjc5LDcgKzI3OSw3IEBAIFdJLkphdmFTY3JpcHRMb2dWaWV3Q29udHJv
bGxlciA9IGNsYXNzIEphdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlciBleHRlbmRzIFdJLk9iCiAg
ICAgICAgIGlmIChtZXNzYWdlVmlldy5tZXNzYWdlICYmIG1lc3NhZ2VWaWV3Lm1lc3NhZ2Uuc291
cmNlICE9PSBXSS5Db25zb2xlTWVzc2FnZS5NZXNzYWdlU291cmNlLkpTKQogICAgICAgICAgICAg
dGhpcy5fbGFzdENvbW1pdHRlZCA9ICIiOwogCi0gICAgICAgIGlmIChXSS5jb25zb2xlQ29udGVu
dFZpZXcudmlzaWJsZSkKKyAgICAgICAgaWYgKFdJLmNvbnNvbGVDb250ZW50Vmlldy5pc0F0dGFj
aGVkKQogICAgICAgICAgICAgdGhpcy5yZW5kZXJQZW5kaW5nTWVzc2FnZXNTb29uKCk7CiAKICAg
ICAgICAgaWYgKCFXSS5pc1Nob3dpbmdDb25zb2xlVGFiKCkgJiYgbWVzc2FnZVZpZXcubWVzc2Fn
ZSAmJiBtZXNzYWdlVmlldy5tZXNzYWdlLnNob3VsZFJldmVhbENvbnNvbGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9EZWJ1Zy9EZWJ1Z0NvbnRlbnRW
aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRGVidWcvRGVidWdD
b250ZW50Vmlldy5qcwppbmRleCBkMmI4YjA2NTRiN2MxNWNhMTRkMTRhZmU1MmE5Y2M3ZjkzYjU1
ODg3Li44NWRiZDMwZjdiNzdiYzFiYmQxNjBjMWMxNzE0YTgyMjJiODBhODlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9EZWJ1Zy9EZWJ1Z0NvbnRlbnRW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RlYnVnL0Rl
YnVnQ29udGVudFZpZXcuanMKQEAgLTM3LDE2ICszNywxNiBAQCBXSS5EZWJ1Z0NvbnRlbnRWaWV3
ID0gY2xhc3MgRGVidWdDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICAv
LyBQcm90ZWN0ZWQKIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAg
ICBzdXBlci5zaG93bigpOwotICAgICAgICBjb25zb2xlLmRlYnVnKGBzaG93bjogJHt0aGlzLl9z
dHJpbmd9YCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CisgICAgICAgIGNvbnNvbGUuZGVi
dWcoYGF0dGFjaGVkOiAke3RoaXMuX3N0cmluZ31gKTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQor
ICAgIGRldGFjaGVkKCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuZGVidWcoYGhpZGRlbjogJHt0
aGlzLl9zdHJpbmd9YCk7Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBjb25zb2xl
LmRlYnVnKGBkZXRhY2hlZDogJHt0aGlzLl9zdHJpbmd9YCk7CisgICAgICAgIHN1cGVyLmRldGFj
aGVkKCk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9CYWNrRm9yd2FyZEVudHJ5LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0JhY2tGb3J3YXJkRW50cnkuanMK
aW5kZXggZGFjMTk1YTcyOTFjNDM1NzIwYmExNjI1MWQ3ZDY4ODE3MjU5ZmI4Ny4uYzYxOGE1ODBk
NmU5ZjVjYjMwMDA5ZTY5ZDU1Zjc5MDFlMzZlZDEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0JhY2tGb3J3YXJkRW50cnkuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0JhY2tGb3J3YXJkRW50
cnkuanMKQEAgLTczLDE1ICs3MywxMiBAQCBXSS5CYWNrRm9yd2FyZEVudHJ5ID0gY2xhc3MgQmFj
a0ZvcndhcmRFbnRyeQogICAgICAgICB0aGlzLl90b21ic3RvbmUgPSB0b21ic3RvbmU7CiAgICAg
fQogCi0gICAgcHJlcGFyZVRvU2hvdyhzaG91bGRDYWxsU2hvd24pCisgICAgcHJlcGFyZVRvU2hv
dygpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdG9tYnN0b25lLCAiU2hv
dWxkIG5vdCBiZSBjYWxsaW5nIHNob3duIG9uIGEgdG9tYnN0b25lIik7CiAKICAgICAgICAgdGhp
cy5fcmVzdG9yZUZyb21Db29raWUoKTsKIAotICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LnZpc2li
bGUgPSB0cnVlOwotICAgICAgICBpZiAoc2hvdWxkQ2FsbFNob3duKQotICAgICAgICAgICAgdGhp
cy5jb250ZW50Vmlldy5zaG93bigpOwogICAgICAgICB0aGlzLmNvbnRlbnRWaWV3Lm5lZWRzTGF5
b3V0KCk7CiAgICAgfQogCkBAIC04OSw5ICs4Niw2IEBAIFdJLkJhY2tGb3J3YXJkRW50cnkgPSBj
bGFzcyBCYWNrRm9yd2FyZEVudHJ5CiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhp
cy5fdG9tYnN0b25lLCAiU2hvdWxkIG5vdCBiZSBjYWxsaW5nIGhpZGRlbiBvbiBhIHRvbWJzdG9u
ZSIpOwogCi0gICAgICAgIHRoaXMuY29udGVudFZpZXcudmlzaWJsZSA9IGZhbHNlOwotICAgICAg
ICB0aGlzLmNvbnRlbnRWaWV3LmhpZGRlbigpOwotCiAgICAgICAgIHRoaXMuX3NhdmVTY3JvbGxQ
b3NpdGlvbnMoKTsKIAogICAgICAgICBpZiAodGhpcy5fY29udGVudFZpZXcuc2hvdWxkU2F2ZVN0
YXRlV2hlbkhpZGRlbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQW5pbWF0aW9uRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FuaW1hdGlvbkRldGFpbHNTaWRlYmFy
UGFuZWwuanMKaW5kZXggNWY0MjRmOWFlMDc3MzJmZjIwZjgyMThkZjAzMTJhNjg0NmFlN2IzOC4u
OGMzZmQ5NGJmMDhjYTI3NmIxZDIzMzM1Nzg0N2ZkMzUxMzIyYTI3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQW5pbWF0aW9uRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9BbmltYXRpb25EZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC0xNDIsOSArMTQyLDkgQEAg
V0kuQW5pbWF0aW9uRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIEFuaW1hdGlvbkRldGFpbHNT
aWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS4KICAgICAgICAgICAgIGNvZGVNaXJyb3IucmVmcmVzaCgp
OwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBz
dXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGZvciAo
bGV0IGNvZGVNaXJyb3Igb2YgdGhpcy5fY29kZU1pcnJvclNlY3Rpb25NYXAudmFsdWVzKCkpCiAg
ICAgICAgICAgICBjb2RlTWlycm9yLnJlZnJlc2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRl
bnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXBw
bGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcuanMKaW5kZXggYzc1MDk1Zjk2YzQwNWE4N2Rj
MTZmZDE3ZjYwZjA5N2VmNDViZTVkYi4uODJkNzdjMmVkNjdmNWI0NTIzMzMzOTljNzM3NjgzOGE5
Mzk0MmMyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXBwbGljYXRpb25DYWNoZUZyYW1lQ29u
dGVudFZpZXcuanMKQEAgLTM4LDI3ICszOCwyOCBAQCBXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVD
b250ZW50VmlldyA9IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3IGV4dAog
ICAgICAgICB0aGlzLl9lbXB0eVZpZXcgPSBXSS5jcmVhdGVNZXNzYWdlVGV4dFZpZXcoV0kuVUlT
dHJpbmcoIk5vIEFwcGxpY2F0aW9uIENhY2hlIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIpLCBmYWxz
ZSk7CiAgICAgICAgIHRoaXMuX2VtcHR5Vmlldy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAg
ICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2VtcHR5Vmlldyk7Ci0KLSAgICAg
ICAgdGhpcy5fbWFya0RpcnR5KCk7Ci0KLSAgICAgICAgdmFyIHN0YXR1cyA9IHJlcHJlc2VudGVk
T2JqZWN0LnN0YXR1czsKLSAgICAgICAgdGhpcy51cGRhdGVTdGF0dXMoc3RhdHVzKTsKLQotICAg
ICAgICBXSS5hcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkFwcGxp
Y2F0aW9uQ2FjaGVNYW5hZ2VyLkV2ZW50LkZyYW1lTWFuaWZlc3RTdGF0dXNDaGFuZ2VkLCB0aGlz
Ll91cGRhdGVTdGF0dXMsIHRoaXMpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hl
ZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hl
ZCgpOwogCi0gICAgICAgIHRoaXMuX21heWJlVXBkYXRlKCk7CisgICAgICAgIFdJLmFwcGxpY2F0
aW9uQ2FjaGVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQXBwbGljYXRpb25DYWNoZU1hbmFn
ZXIuRXZlbnQuRnJhbWVNYW5pZmVzdFN0YXR1c0NoYW5nZWQsIHRoaXMuX2hhbmRsZUZyYW1lTWFu
aWZlc3RTdGF0dXNDaGFuZ2VkLCB0aGlzKTsKKyAgICAgICAgdGhpcy51cGRhdGVTdGF0dXModGhp
cy5yZXByZXNlbnRlZE9iamVjdC5zdGF0dXMpOwogICAgIH0KIAotICAgIGNsb3NlZCgpCisgICAg
ZGV0YWNoZWQoKQogICAgIHsKLSAgICAgICAgV0kuYXBwbGljYXRpb25DYWNoZU1hbmFnZXIucmVt
b3ZlRXZlbnRMaXN0ZW5lcihXSS5BcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5FdmVudC5GcmFtZU1h
bmlmZXN0U3RhdHVzQ2hhbmdlZCwgdGhpcy5fdXBkYXRlU3RhdHVzLCB0aGlzKTsKKyAgICAgICAg
V0kuYXBwbGljYXRpb25DYWNoZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5BcHBsaWNh
dGlvbkNhY2hlTWFuYWdlci5FdmVudC5GcmFtZU1hbmlmZXN0U3RhdHVzQ2hhbmdlZCwgdGhpcy5f
aGFuZGxlRnJhbWVNYW5pZmVzdFN0YXR1c0NoYW5nZWQsIHRoaXMpOwogCi0gICAgICAgIHN1cGVy
LmNsb3NlZCgpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOworICAgIH0KKworICAgIGxheW91
dCgpCisgICAgeworICAgICAgICBzdXBlci5sYXlvdXQoKTsKKworICAgICAgICB0aGlzLnVwZGF0
ZVN0YXR1cygpOwogICAgIH0KIAogICAgIHNhdmVUb0Nvb2tpZShjb29raWUpCkBAIC03NSwyMSAr
NzYsNyBAQCBXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50VmlldyA9IGNsYXNzIEFwcGxp
Y2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3IGV4dAogICAgICAgICByZXR1cm4gW3RoaXMuX2Rh
dGFHcmlkLnNjcm9sbENvbnRhaW5lcl07CiAgICAgfQogCi0gICAgX21heWJlVXBkYXRlKCkKLSAg
ICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlIHx8ICF0aGlzLl92aWV3RGlydHkpCi0gICAg
ICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5fdXBkYXRlKCk7Ci0gICAgICAgIHRoaXMu
X3ZpZXdEaXJ0eSA9IGZhbHNlOwotICAgIH0KLQotICAgIF9tYXJrRGlydHkoKQotICAgIHsKLSAg
ICAgICAgdGhpcy5fdmlld0RpcnR5ID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICBfdXBkYXRlU3RhdHVz
KGV2ZW50KQorICAgIF9oYW5kbGVGcmFtZU1hbmlmZXN0U3RhdHVzQ2hhbmdlZChldmVudCkKICAg
ICB7CiAgICAgICAgIHZhciBmcmFtZU1hbmlmZXN0ID0gZXZlbnQuZGF0YS5mcmFtZU1hbmlmZXN0
OwogICAgICAgICBpZiAoZnJhbWVNYW5pZmVzdCAhPT0gdGhpcy5yZXByZXNlbnRlZE9iamVjdCkK
QEAgLTEwNSwxNSArOTIsOCBAQCBXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50VmlldyA9
IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3IGV4dAogICAgICAgICB2YXIg
b2xkU3RhdHVzID0gdGhpcy5fc3RhdHVzOwogICAgICAgICB0aGlzLl9zdGF0dXMgPSBzdGF0dXM7
CiAKLSAgICAgICAgaWYgKHRoaXMudmlzaWJsZSAmJiB0aGlzLl9zdGF0dXMgPT09IFdJLkFwcGxp
Y2F0aW9uQ2FjaGVNYW5hZ2VyLlN0YXR1cy5JZGxlICYmIChvbGRTdGF0dXMgPT09IFdJLkFwcGxp
Y2F0aW9uQ2FjaGVNYW5hZ2VyLlN0YXR1cy5VcGRhdGVSZWFkeSB8fCAhdGhpcy5fcmVzb3VyY2Vz
KSkKLSAgICAgICAgICAgIHRoaXMuX21hcmtEaXJ0eSgpOwotCi0gICAgICAgIHRoaXMuX21heWJl
VXBkYXRlKCk7Ci0gICAgfQotCi0gICAgX3VwZGF0ZSgpCi0gICAgewotICAgICAgICBXSS5hcHBs
aWNhdGlvbkNhY2hlTWFuYWdlci5yZXF1ZXN0QXBwbGljYXRpb25DYWNoZSh0aGlzLl9mcmFtZSwg
dGhpcy5fdXBkYXRlQ2FsbGJhY2suYmluZCh0aGlzKSk7CisgICAgICAgIGlmICh0aGlzLl9zdGF0
dXMgPT09IFdJLkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLlN0YXR1cy5JZGxlICYmIChvbGRTdGF0
dXMgPT09IFdJLkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLlN0YXR1cy5VcGRhdGVSZWFkeSB8fCAh
dGhpcy5fcmVzb3VyY2VzKSkKKyAgICAgICAgICAgIFdJLmFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2Vy
LnJlcXVlc3RBcHBsaWNhdGlvbkNhY2hlKHRoaXMuX2ZyYW1lLCB0aGlzLl91cGRhdGVDYWxsYmFj
ay5iaW5kKHRoaXMpKTsKICAgICB9CiAKICAgICBfdXBkYXRlQ2FsbGJhY2soYXBwbGljYXRpb25D
YWNoZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0F1ZGl0VGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9BdWRpdFRhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDFlZDViNjA3YzY5YjIx
MGEzN2IxYmIyMTBkMDkzMDkzYTUxMjg0ZGEuLjhmODkzOGU0NGM0M2UwNGVhMWFmM2Y2YTM4YjJl
OTUwNGY2YzRjNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0F1ZGl0VGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJDb250ZW50Vmlldy5qcwpAQCAtNzMsMTgg
KzczLDE4IEBAIFdJLkF1ZGl0VGFiQ29udGVudFZpZXcgPSBjbGFzcyBBdWRpdFRhYkNvbnRlbnRW
aWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzZXJUYWJDCiAgICAgICAgICAgICB8fCByZXByZXNl
bnRlZE9iamVjdCBpbnN0YW5jZW9mIFdJLkF1ZGl0VGVzdEdyb3VwUmVzdWx0OwogICAgIH0KIAot
ICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigp
OworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIHRoaXMuX3N0YXJ0U3RvcFNo
b3J0Y3V0LmRpc2FibGVkID0gZmFsc2U7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRh
Y2hlZCgpCiAgICAgewogICAgICAgICB0aGlzLl9zdGFydFN0b3BTaG9ydGN1dC5kaXNhYmxlZCA9
IHRydWU7CiAKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmRldGFjaGVk
KCk7CiAgICAgfQogCiAgICAgLy8gRHJvcFpvbmVWaWV3IGRlbGVnYXRlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRlc3RDb250ZW50
Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0
VGVzdENvbnRlbnRWaWV3LmpzCmluZGV4IDM3NDAzZGQ2NzVjZDIwZmI1NDk3MzNhMWU4NWI4ODgx
NDM1MTU4ZGMuLjFlYjZiYjY2NmM5NTE2N2Q2OTk1YjY0ZTU5ZTI3M2RhYzQ0NGE4ZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGVz
dENvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0F1ZGl0VGVzdENvbnRlbnRWaWV3LmpzCkBAIC0yNTgsOSArMjU4LDkgQEAgV0kuQXVk
aXRUZXN0Q29udGVudFZpZXcgPSBjbGFzcyBBdWRpdFRlc3RDb250ZW50VmlldyBleHRlbmRzIFdJ
LkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuX3VwZGF0ZUV4cG9ydE5hdmlnYXRpb25JdGVtcygp
OwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBz
dXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGlmICh0
aGlzLnJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0kuQXVkaXRUZXN0QmFzZSkgewogICAg
ICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5hZGRFdmVudExpc3RlbmVyKFdJLkF1ZGl0
VGVzdEJhc2UuRXZlbnQuQ29tcGxldGVkLCB0aGlzLl9oYW5kbGVUZXN0Q2hhbmdlZCwgdGhpcyk7
CkBAIC0yNzUsNyArMjc1LDcgQEAgV0kuQXVkaXRUZXN0Q29udGVudFZpZXcgPSBjbGFzcyBBdWRp
dFRlc3RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIH0KICAgICB9
CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlz
LnJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0kuQXVkaXRUZXN0QmFzZSkgewogICAgICAg
ICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkF1ZGl0
VGVzdEJhc2UuRXZlbnQuQ29tcGxldGVkLCB0aGlzLl9oYW5kbGVUZXN0Q2hhbmdlZCwgdGhpcyk7
CkBAIC0yODksNyArMjg5LDcgQEAgV0kuQXVkaXRUZXN0Q29udGVudFZpZXcgPSBjbGFzcyBBdWRp
dFRlc3RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgICAgICBXSS5h
dWRpdE1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5BdWRpdE1hbmFnZXIuRXZlbnQuRWRp
dGluZ0NoYW5nZWQsIHRoaXMuX2hhbmRsZUVkaXRpbmdDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAg
fQogCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwog
ICAgIH0KIAogICAgIGhhbmRsZVJlc3VsdENoYW5nZWQoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRlc3RHcm91cENvbnRl
bnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVk
aXRUZXN0R3JvdXBDb250ZW50Vmlldy5qcwppbmRleCA2ZjFlNjY3ZGQ0MjA4ZmUxNTQ4OTRlNjFl
ZmIzN2ZlZGFkM2RlZDBkLi5lMTM5ZDUwN2RlYTg4NWYyM2YxYjlhNTRhYjI4NmI4OTFkZTIxNmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9B
dWRpdFRlc3RHcm91cENvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcuanMKQEAgLTE5NCw5
ICsxOTQsOSBAQCBXSS5BdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3ID0gY2xhc3MgQXVkaXRUZXN0
R3JvdXBDb250ZW50VmlldyBleHRlbmRzIFdJLkF1ZGl0VAogICAgICAgICAgICAgdGhpcy5zaG93
RmlsdGVyZWRQbGFjZWhvbGRlcigpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hl
ZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hl
ZCgpOwogCiAgICAgICAgIGlmICh0aGlzLnJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0ku
QXVkaXRUZXN0R3JvdXApIHsKICAgICAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QuYWRk
RXZlbnRMaXN0ZW5lcihXSS5BdWRpdFRlc3RCYXNlLkV2ZW50LlByb2dyZXNzLCB0aGlzLl9oYW5k
bGVUZXN0R3JvdXBQcm9ncmVzcywgdGhpcyk7CkBAIC0yMTMsNyArMjEzLDcgQEAgV0kuQXVkaXRU
ZXN0R3JvdXBDb250ZW50VmlldyA9IGNsYXNzIEF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgZXh0
ZW5kcyBXSS5BdWRpdFQKICAgICAgICAgICAgIHRoaXMuX2FkZFRlc3Qoc3Vib2JqZWN0KTsKICAg
ICB9CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIGlmICh0
aGlzLnJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0kuQXVkaXRUZXN0R3JvdXApIHsKICAg
ICAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5B
dWRpdFRlc3RCYXNlLkV2ZW50LlByb2dyZXNzLCB0aGlzLl9oYW5kbGVUZXN0R3JvdXBQcm9ncmVz
cywgdGhpcyk7CkBAIC0yMjUsMTIgKzIyNSwxMCBAQCBXSS5BdWRpdFRlc3RHcm91cENvbnRlbnRW
aWV3ID0gY2xhc3MgQXVkaXRUZXN0R3JvdXBDb250ZW50VmlldyBleHRlbmRzIFdJLkF1ZGl0VAog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgZm9yIChsZXQgdmlldyBvZiB0aGlz
Ll92aWV3Rm9yU3Vib2JqZWN0LnZhbHVlcygpKQotICAgICAgICAgICAgdmlldy5oaWRkZW4oKTsK
ICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5yZW1vdmVBbGxTdWJ2aWV3cygpOwogICAgICAgICB0
aGlzLl92aWV3Rm9yU3Vib2JqZWN0LmNsZWFyKCk7CiAKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7
CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgYXBwbHlGaWx0ZXIobGV2
ZWxzKQpAQCAtMzE3LDcgKzMxNSw2IEBAIFdJLkF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgPSBj
bGFzcyBBdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQXVkaXRUCiAKICAgICAg
ICAgbGV0IHZpZXcgPSBXSS5Db250ZW50Vmlldy5jb250ZW50Vmlld0ZvclJlcHJlc2VudGVkT2Jq
ZWN0KHRlc3QpOwogICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmFkZFN1YnZpZXcodmlldyk7Ci0g
ICAgICAgIHZpZXcuc2hvd24oKTsKIAogICAgICAgICB0aGlzLl92aWV3Rm9yU3Vib2JqZWN0LnNl
dCh0ZXN0LCB2aWV3KTsKICAgICB9CkBAIC0zNTUsNyArMzUyLDYgQEAgV0kuQXVkaXRUZXN0R3Jv
dXBDb250ZW50VmlldyA9IGNsYXNzIEF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgZXh0ZW5kcyBX
SS5BdWRpdFQKICAgICAgICAgbGV0IHZpZXcgPSB0aGlzLl92aWV3Rm9yU3Vib2JqZWN0LmdldCh0
ZXN0KTsKICAgICAgICAgY29uc29sZS5hc3NlcnQodmlldyk7CiAKLSAgICAgICAgdmlldy5oaWRk
ZW4oKTsKICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5yZW1vdmVTdWJ2aWV3KHZpZXcpOwogCiAg
ICAgICAgIHRoaXMuX3VwZGF0ZUNsYXNzTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1BVVGltZWxpbmVPdmVydmlld0dyYXBoLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1BVVGltZWxpbmVP
dmVydmlld0dyYXBoLmpzCmluZGV4IDAyNDMxNGNmNzAzYjI4ZjE3ZmVkNDJjMDUzZjU3ZWIxZTVk
NzhlODMuLjRhMGNkNjU2NmVlNDExZjlhYzczMGJkZWM4OTQ4MTI5N2NjYWI2ZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NQVVRpbWVsaW5l
T3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9DUFVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTc4LDcgKzc4LDkgQEAgV0ku
Q1BVVGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgQ1BVVGltZWxpbmVPdmVydmlld0dyYXBo
IGV4dGVuZHMgV0kuVGltZWxpbmUKIAogICAgIGxheW91dCgpCiAgICAgewotICAgICAgICBpZiAo
IXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisKKyAgICAgICAgaWYgKHRo
aXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuX3VwZGF0ZUxl
Z2VuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ1BVVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ1BVVGltZWxpbmVWaWV3LmpzCmluZGV4IGEzOGQ5MDFkYmU4MjllNjMzZjVm
OWIyZjA5MjBhZWUwYTQ1MjUyMDUuLjQ4YTYwZDY1ZmNlNmYwMTAxYTExOWI4MDcwMTVkODJhN2Zl
OGYyYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NQVVRpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9DUFVUaW1lbGluZVZpZXcuanMKQEAgLTgyLDEyICs4MiwxMSBAQCBXSS5D
UFVUaW1lbGluZVZpZXcgPSBjbGFzcyBDUFVUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lbGlu
ZVZpZXcKIAogICAgIC8vIFB1YmxpYwogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAg
ICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAK
LSAgICAgICAgaWYgKHRoaXMuX3RpbWVsaW5lUnVsZXIpCi0gICAgICAgICAgICB0aGlzLl90aW1l
bGluZVJ1bGVyLnVwZGF0ZUxheW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOworICAg
ICAgICB0aGlzLl90aW1lbGluZVJ1bGVyPy5uZWVkc0xheW91dChXSS5WaWV3LkxheW91dFJlYXNv
bi5SZXNpemUpOwogICAgIH0KIAogICAgIGNsb3NlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNTaWRlYmFyUGFuZWwuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNTaWRlYmFyUGFu
ZWwuanMKaW5kZXggNjI5ZDUwNjRkMjY3MjJjMGZlZTVkYmM1ZDFiMzVkNDY4ZmQ4YTdmNy4uNzFj
NGUxNjQxMGQ1OTk2ZjExZjUxZTI1NDQxMWM2M2Y5MTc4ZjQ2MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzU2lkZWJhclBhbmVsLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc1Np
ZGViYXJQYW5lbC5qcwpAQCAtMjEzLDkgKzIxMyw5IEBAIFdJLkNhbnZhc1NpZGViYXJQYW5lbCA9
IGNsYXNzIENhbnZhc1NpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFu
CiAgICAgICAgIHRoaXMucmVjb3JkaW5nID0gbnVsbDsKICAgICB9CiAKLSAgICBzaG93bigpCisg
ICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3Vw
ZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLmNvbnRlbnRCcm93c2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuQ29udGVudEJyb3dzZXIuRXZlbnQuQ3VycmVudFJlcHJlc2VudGVkT2JqZWN0c0Rp
ZENoYW5nZSwgdGhpcy51cGRhdGVSZXByZXNlbnRlZE9iamVjdHMsIHRoaXMpOwogICAgICAgICB0
aGlzLnVwZGF0ZVJlcHJlc2VudGVkT2JqZWN0cygpOwpAQCAtMjMzLDExICsyMzMsMTEgQEAgV0ku
Q2FudmFzU2lkZWJhclBhbmVsID0gY2xhc3MgQ2FudmFzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0ku
TmF2aWdhdGlvblNpZGViYXJQYW4KICAgICAgICAgfQogICAgIH0KIAotICAgIGhpZGRlbigpCisg
ICAgZGV0YWNoZWQoKQogICAgIHsKICAgICAgICAgdGhpcy5jb250ZW50QnJvd3Nlci5yZW1vdmVF
dmVudExpc3RlbmVyKFdJLkNvbnRlbnRCcm93c2VyLkV2ZW50LkN1cnJlbnRSZXByZXNlbnRlZE9i
amVjdHNEaWRDaGFuZ2UsIHRoaXMudXBkYXRlUmVwcmVzZW50ZWRPYmplY3RzLCB0aGlzKTsKIAot
ICAgICAgICBzdXBlci5oaWRkZW4oKTsKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9
CiAKICAgICBjYW5TaG93UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DaGFuZ2Vz
RGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NoYW5nZXNEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IDk2ZmQ1ZDg3NWVl
MzVkNzNlZjA4NTE3ODY0NjhhMWJjZjUzZjQyYWQuLjExYTdhY2M2NDRjZGY4ZGFkNzdhNzNjYzY2
MjA5Y2NjMGMyMzY0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NoYW5nZXNEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NoYW5nZXNEZXRhaWxzU2lkZWJhclBh
bmVsLmpzCkBAIC00MCwxNiArNDAsNiBAQCBXSS5DaGFuZ2VzRGV0YWlsc1NpZGViYXJQYW5lbCA9
IGNsYXNzIENoYW5nZXNEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuRE9NRAogICAgICAg
ICByZXR1cm4gbm9kZVRvSW5zcGVjdC5ub2RlVHlwZSgpID09PSBOb2RlLkVMRU1FTlRfTk9ERTsK
ICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICAvLyBgc2hvd25gIG1heSBnZXQg
Y2FsbGVkIGJlZm9yZSBpbml0aWFsTGF5b3V0IHdoZW4gRWxlbWVudHMgdGFiIGlzIG9wZW5lZC4K
LSAgICAgICAgLy8gV2hlbiBDaGFuZ2VzIHBhbmVsIGlzIHNlbGVjdGVkLCBgc2hvd25gIGlzIGNh
bGxlZCBhbmQgdGhpcyB0aW1lIGl0J3MgYWZ0ZXIgaW5pdGlhbExheW91dC4KLSAgICAgICAgaWYg
KHRoaXMuZGlkSW5pdGlhbExheW91dCkKLSAgICAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsK
LQotICAgICAgICBzdXBlci5zaG93bigpOwotICAgIH0KLQogICAgIGF0dGFjaGVkKCkKICAgICB7
CiAgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DbHVzdGVyQ29udGVudFZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DbHVzdGVyQ29udGVudFZpZXcuanMK
aW5kZXggMzBjYWU0OTRmZTgyNTA0Y2VjN2EwNjZjNjg0MjdkN2MxM2ZmMjQwYS4uMmE2ZTY2Zjkz
YzdjODIxNjU1Y2YxYjU4Mjg3Y2Q5ZTBmNDc4YmRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2x1c3RlckNvbnRlbnRWaWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NsdXN0ZXJDb250ZW50
Vmlldy5qcwpAQCAtNjYsMjAgKzY2LDYgQEAgV0kuQ2x1c3RlckNvbnRlbnRWaWV3ID0gY2xhc3Mg
Q2x1c3RlckNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24o
KTsKLQotICAgICAgICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5zaG93bigpOwotICAgIH0K
LQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAg
ICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBjbG9z
ZWQoKQogICAgIHsKICAgICAgICAgc3VwZXIuY2xvc2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2xsZWN0aW9uQ29udGVudFZpZXcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2xsZWN0aW9u
Q29udGVudFZpZXcuanMKaW5kZXggZWMxNjBmOWI2ZTkzYzNmYmQ0ZTYwMjc4YmZmNWE3Mzc3MTBk
NjNlOS4uNGE2YmQyMzkyNGE4MTMzOWMwZDQxNzE0MGNmNzljMDhmYzcyNTAyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29sbGVjdGlvbkNv
bnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NvbGxlY3Rpb25Db250ZW50Vmlldy5qcwpAQCAtNTEsMjIgKzUxLDYgQEAgV0kuQ29sbGVj
dGlvbkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29sbGVjdGlvbkNvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
Q29udGVudFZpZXcKICAgICAgICAgcmV0dXJuIFtdOwogICAgIH0KIAotICAgIHNob3duKCkKLSAg
ICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAgICAgZm9yIChsZXQgY29udGVudFZp
ZXcgb2YgdGhpcy5fY29udGVudFZpZXdNYXAudmFsdWVzKCkpCi0gICAgICAgICAgICBjb250ZW50
Vmlldy5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBmb3Ig
KGxldCBjb250ZW50VmlldyBvZiB0aGlzLl9jb250ZW50Vmlld01hcC52YWx1ZXMoKSkKLSAgICAg
ICAgICAgIGNvbnRlbnRWaWV3LmhpZGRlbigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOwot
ICAgIH0KLQogICAgIGdldCBzZWxlY3Rpb25FbmFibGVkKCkKICAgICB7CiAgICAgICAgIHJldHVy
biB0aGlzLl9zZWxlY3Rpb25FbmFibGVkOwpAQCAtMTMxLDEyICsxMTUsNiBAQCBXSS5Db2xsZWN0
aW9uQ29udGVudFZpZXcgPSBjbGFzcyBDb2xsZWN0aW9uQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5D
b250ZW50VmlldwogCiAgICAgICAgIHRoaXMuYWRkU3Vidmlldyhjb250ZW50Vmlldyk7CiAgICAg
ICAgIHRoaXMuY29udGVudFZpZXdBZGRlZChjb250ZW50Vmlldyk7Ci0KLSAgICAgICAgaWYgKCF0
aGlzLnZpc2libGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgY29udGVudFZpZXcu
dmlzaWJsZSA9IHRydWU7Ci0gICAgICAgIGNvbnRlbnRWaWV3LnNob3duKCk7CiAgICAgfQogCiAg
ICAgcmVtb3ZlQ29udGVudFZpZXdGb3JJdGVtKGl0ZW0pCkBAIC0xNTYsMTEgKzEzNCw2IEBAIFdJ
LkNvbGxlY3Rpb25Db250ZW50VmlldyA9IGNsYXNzIENvbGxlY3Rpb25Db250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3TWFwLmRlbGV0ZShp
dGVtKTsKICAgICAgICAgdGhpcy5jb250ZW50Vmlld1JlbW92ZWQoY29udGVudFZpZXcpOwogCi0g
ICAgICAgIGlmICh0aGlzLnZpc2libGUpIHsKLSAgICAgICAgICAgIGNvbnRlbnRWaWV3LnZpc2li
bGUgPSBmYWxzZTsKLSAgICAgICAgICAgIGNvbnRlbnRWaWV3LmhpZGRlbigpOwotICAgICAgICB9
Ci0KICAgICAgICAgaWYgKCF0aGlzLnN1YnZpZXdzLmxlbmd0aCkKICAgICAgICAgICAgIHRoaXMu
c2hvd0NvbnRlbnRQbGFjZWhvbGRlcigpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbXB1dGVkU3R5bGVTZWN0aW9uLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcHV0ZWRTdHlsZVNl
Y3Rpb24uanMKaW5kZXggZTJjN2I2NjE1ZTZhYzNkNDllZDllNGJkNzdmNDc3YmY5ZWEzYmQ3Yi4u
OGE3OTUyY2I0NWExNDZlYTc1Y2U0Nzc1NmMzMWUwOGZjMGI5MDg4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcHV0ZWRTdHlsZVNlY3Rp
b24uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29t
cHV0ZWRTdHlsZVNlY3Rpb24uanMKQEAgLTIzMSwxMiArMjMxLDYgQEAgV0kuQ29tcHV0ZWRTdHls
ZVNlY3Rpb24gPSBjbGFzcyBDb21wdXRlZFN0eWxlU2VjdGlvbiBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgICAgIHByb3BlcnR5Vmlldy5kZXRhY2hlZCgpOwogICAgIH0KIAotICAgIGhpZGRlbigp
Ci0gICAgewotICAgICAgICBmb3IgKGxldCBwcm9wZXJ0eVZpZXcgb2YgdGhpcy5fcHJvcGVydHlW
aWV3cykKLSAgICAgICAgICAgIHByb3BlcnR5Vmlldy5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBh
cHBseUZpbHRlcihmaWx0ZXJUZXh0KQogICAgIHsKICAgICAgICAgdGhpcy5fZmlsdGVyVGV4dCA9
IGZpbHRlclRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Db25zb2xlRHJhd2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ29uc29sZURyYXdlci5qcwppbmRleCA1NDYyNWI5NGJlNzliYmJjYTFi
NTM5YzdkODlhYzkxZDhjM2ZiMzBiLi4xOGViY2MxNjhhODQwNjhiMGRmZmE3NmVmYTQ1ZDEwY2Q2
Y2UwNDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9Db25zb2xlRHJhd2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbnNvbGVEcmF3ZXIuanMKQEAgLTczLDEwICs3MywxMCBAQCBXSS5Db25z
b2xlRHJhd2VyID0gY2xhc3MgQ29uc29sZURyYXdlciBleHRlbmRzIFdJLkNvbnRlbnRCcm93c2Vy
CiAKICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIHRoaXMu
X2NvbGxhcHNlZCk7CiAKLSAgICAgICAgaWYgKHRoaXMuX2NvbGxhcHNlZCkKLSAgICAgICAgICAg
IHRoaXMuaGlkZGVuKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMuc2hvd24oKTsK
KyAgICAgICAgLy8gTWFudWFsbHkgY2FsbCBgYXR0YWNoZWRgL2BkZXRhY2hlZGAgYmVjYXVzZSB3
ZSBuZXZlciBleHBlY3QgdG8gYWN0dWFsbHkgcmVtb3ZlIHRoaXMgbm9kZQorICAgICAgICAvLyBm
cm9tIHRoZSBET00sIG1lYW5pbmcgdGhhdCB0aGUgYFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyYCB3
b3VsZCBub3Qgc2hvdy9oaWRlIGVudHJpZXMgaW4KKyAgICAgICAgLy8gdGhlIGJhY2svZm9yd2Fy
ZCBsaXN0LCB3aGljaCBpcyB3aGF0IGFkZHMvcmVtb3ZlcyBzdWJ2aWV3cyBmcm9tIHRoZSBET00u
CisgICAgICAgIHRoaXMuX2RpZE1vdmVUb1BhcmVudCh0aGlzLl9jb2xsYXBzZWQgPyBudWxsIDog
V0kuVmlldy5yb290VmlldygpKTsKIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXSS5Db25zb2xlRHJhd2VyLkV2ZW50LkNvbGxhcHNlZFN0YXRlQ2hhbmdlZCk7CiAgICAg
fQpAQCAtODYsMTUgKzg2LDE1IEBAIFdJLkNvbnNvbGVEcmF3ZXIgPSBjbGFzcyBDb25zb2xlRHJh
d2VyIGV4dGVuZHMgV0kuQ29udGVudEJyb3dzZXIKICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVu
dC5vZmZzZXRIZWlnaHQ7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIC8vIFByb3RlY3RlZAor
CisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAg
c3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl9yZXN0b3JlRHJhd2VySGVpZ2h0KCk7
CiAgICAgfQogCi0gICAgLy8gUHJvdGVjdGVkCi0KICAgICBzaXplRGlkQ2hhbmdlKCkKICAgICB7
CiAgICAgICAgIHN1cGVyLnNpemVEaWRDaGFuZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVUYWJDb250ZW50Vmlldy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVUYWJDb250
ZW50Vmlldy5qcwppbmRleCAxMjNhZDI1YjAzNzhhYWY1M2FkZTkzZDkyNzgzMzVlMTE1Y2RmNjc0
Li43OWVmYzU2NTE0ZGVkNTZjOTk2YWI2YWYwYTIyYjlkZDRhNzI4ZTAxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlVGFiQ29udGVu
dFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
Q29uc29sZVRhYkNvbnRlbnRWaWV3LmpzCkBAIC0yOCw2ICsyOCw4IEBAIFdJLkNvbnNvbGVUYWJD
b250ZW50VmlldyA9IGNsYXNzIENvbnNvbGVUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRl
bnRCcm93c2VyCiAgICAgY29uc3RydWN0b3IoKQogICAgIHsKICAgICAgICAgc3VwZXIoQ29uc29s
ZVRhYkNvbnRlbnRWaWV3LnRhYkluZm8oKSwge2Rpc2FibGVCYWNrRm9yd2FyZDogdHJ1ZX0pOwor
CisgICAgICAgIHRoaXMuX3dhc1Nob3dpbmdTcGxpdENvbnNvbGUgPSBmYWxzZTsKICAgICB9CiAK
ICAgICBzdGF0aWMgdGFiSW5mbygpCkBAIC00NiwxMSArNDgsMTMgQEAgV0kuQ29uc29sZVRhYkNv
bnRlbnRWaWV3ID0gY2xhc3MgQ29uc29sZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVu
dEJyb3dzZXIKICAgICAgICAgcmV0dXJuIFdJLkNvbnNvbGVUYWJDb250ZW50Vmlldy5UeXBlOwog
ICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBl
ci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCi0gICAgICAgIFdJLmhpZGVT
cGxpdENvbnNvbGUoKTsKKyAgICAgICAgdGhpcy5fd2FzU2hvd2luZ1NwbGl0Q29uc29sZSA9IFdJ
LmlzU2hvd2luZ1NwbGl0Q29uc29sZSgpOworICAgICAgICBpZiAodGhpcy5fd2FzU2hvd2luZ1Nw
bGl0Q29uc29sZSkKKyAgICAgICAgICAgIFdJLmhpZGVTcGxpdENvbnNvbGUoKTsKIAogICAgICAg
ICB0aGlzLmNvbnRlbnRCcm93c2VyLnNob3dDb250ZW50VmlldyhXSS5jb25zb2xlQ29udGVudFZp
ZXcpOwogICAgICAgICBXSS5jb25zb2xlQ29udGVudFZpZXcuZGlzcGF0Y2hFdmVudFRvTGlzdGVu
ZXJzKFdJLkNvbnRlbnRWaWV3LkV2ZW50Lk5hdmlnYXRpb25JdGVtc0RpZENoYW5nZSk7CkBAIC02
MCw2ICs2NCwxNCBAQCBXSS5Db25zb2xlVGFiQ29udGVudFZpZXcgPSBjbGFzcyBDb25zb2xlVGFi
Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3NlcgogICAgICAgICBjb25zb2xlLmFz
c2VydCh0aGlzLmNvbnRlbnRCcm93c2VyLmN1cnJlbnRDb250ZW50VmlldyA9PT0gV0kuY29uc29s
ZUNvbnRlbnRWaWV3KTsKICAgICB9CiAKKyAgICBkZXRhY2hlZCgpCisgICAgeworICAgICAgICBz
dXBlci5kZXRhY2hlZCgpOworCisgICAgICAgIGlmICh0aGlzLl93YXNTaG93aW5nU3BsaXRDb25z
b2xlKQorICAgICAgICAgICAgV0kuc2hvd1NwbGl0Q29uc29sZSgpOworICAgIH0KKwogICAgIHNo
b3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCwgY29va2llKQogICAgIHsKICAg
ICAgICAgLy8gRG8gbm90aGluZy4gVGhlIHNob3duIGZ1bmN0aW9uIHdpbGwgaGFuZGxlIHRoaW5n
cy4gQ2FsbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvQ29udGVudEJyb3dzZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qcwppbmRleCAxODUzMjdiNTcxNWExMWUxMDZh
MDk1MGNjZmRkOTQ4OGI1MjUwYmRmLi5lNTY4Zjk2NjEzZDVjMzk4NTBhNmMxNGE4ODQ1NjE5YzA1
ZWI5YjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9Db250ZW50QnJvd3Nlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qcwpAQCAtMjMxLDE3ICsyMzEsMTIgQEAgV0ku
Q29udGVudEJyb3dzZXIgPSBjbGFzcyBDb250ZW50QnJvd3NlciBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgdGhpcy5fZmluZEJhbm5lci5zaG93KCk7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAg
IGF0dGFjaGVkKCkKICAgICB7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CisKICAgICAgICAg
dGhpcy5fdXBkYXRlQ29udGVudFZpZXdTZWxlY3Rpb25QYXRoTmF2aWdhdGlvbkl0ZW0odGhpcy5j
dXJyZW50Q29udGVudFZpZXcpOwogICAgICAgICB0aGlzLnVwZGF0ZUhpZXJhcmNoaWNhbFBhdGhG
b3JDdXJyZW50Q29udGVudFZpZXcoKTsKLQotICAgICAgICB0aGlzLl9jb250ZW50Vmlld0NvbnRh
aW5lci5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICB0aGlz
Ll9jb250ZW50Vmlld0NvbnRhaW5lci5oaWRkZW4oKTsKICAgICB9CiAKICAgICAvLyBHbG9iYWwg
Q29udGVudEJyb3dzZXIgS2V5Ym9hcmRTaG9ydGN1dCBoYW5kbGVycwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXJUYWJD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0NvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcuanMKaW5kZXggMjYxMzljZmExZWMzYzkzNTk4
MjU5OTY0ZjI1Yjc0MzRmZGJlMTI2Ny4uMmUyN2U4NDMxODExMmU2ZmYzYjcxYmU0Y2VlMTVhOTY2
MGNkZjAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ29udGVudEJyb3dzZXJUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3
LmpzCkBAIC05MiwyOCArOTIsMTMgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyA9
IGNsYXNzIENvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KICAgICAgICAg
cmV0dXJuIHRoaXMuX2NvbnRlbnRCcm93c2VyOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBh
dHRhY2hlZCgpCiAgICAgewotICAgICAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVs
KSB7Ci0gICAgICAgICAgICBpZiAoIXRoaXMubmF2aWdhdGlvblNpZGViYXJQYW5lbC5jb250ZW50
QnJvd3NlcikKLSAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwuY29u
dGVudEJyb3dzZXIgPSB0aGlzLl9jb250ZW50QnJvd3NlcjsKLSAgICAgICAgfQorICAgICAgICAv
LyBFbnN1cmUgdGhhdCB0aGUgcmVsYXRpb25zaGlwIGlzIGVzdGFibGlzaGVkIGJlZm9yZSBhdHRl
bXB0aW5nIHRvIHJlc3RvcmUgY29va2llcy4KKyAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblNp
ZGViYXJQYW5lbCAmJiAhdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmNvbnRlbnRCcm93c2Vy
KQorICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmNvbnRlbnRCcm93c2Vy
ID0gdGhpcy5fY29udGVudEJyb3dzZXI7CiAKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAg
ICAgICB0aGlzLl9jb250ZW50QnJvd3Nlci5zaG93bigpOwotCi0gICAgICAgIGlmICh0aGlzLm5h
dmlnYXRpb25TaWRlYmFyUGFuZWwpIHsKLSAgICAgICAgICAgIGlmICghdGhpcy5fY29udGVudEJy
b3dzZXIuY3VycmVudENvbnRlbnRWaWV3KQotICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGlv
blNpZGViYXJQYW5lbC5zaG93RGVmYXVsdENvbnRlbnRWaWV3KCk7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAg
ICAgdGhpcy5fY29udGVudEJyb3dzZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVk
KCk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKQEAgLTE0MSw3ICsxMjYsNyBAQCBXSS5Db250ZW50
QnJvd3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250ZW50Vmll
dyBleHRlbmRzIFdJLgogCiAgICAgc2hvd05hdmlnYXRpb25TaWRlYmFyUGFuZWwoKQogICAgIHsK
LSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIGlmICghdGhpcy5pc0F0dGFjaGVk
KQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghdGhpcy5uYXZpZ2F0aW9uU2lk
ZWJhclBhbmVsKQpAQCAtMTU1LDEyICsxNDAsMTIgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250
ZW50VmlldyA9IGNsYXNzIENvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4K
ICAgICAgICAgaWYgKHNob3VsZFNob3dTaWRlYmFyKSB7CiAgICAgICAgICAgICBpZiAoIXRoaXMu
bmF2aWdhdGlvblNpZGViYXJQYW5lbC5wYXJlbnRTaWRlYmFyKQogICAgICAgICAgICAgICAgIFdJ
Lm5hdmlnYXRpb25TaWRlYmFyLmFkZFNpZGViYXJQYW5lbCh0aGlzLm5hdmlnYXRpb25TaWRlYmFy
UGFuZWwpOwotICAgICAgICAgICAgV0kubmF2aWdhdGlvblNpZGViYXIuc2VsZWN0ZWRTaWRlYmFy
UGFuZWwgPSB0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWw7CiAgICAgICAgICAgICBXSS5uYXZp
Z2F0aW9uU2lkZWJhci5jb2xsYXBzZWQgPSB0aGlzLm5hdmlnYXRpb25TaWRlYmFyQ29sbGFwc2Vk
U2V0dGluZy52YWx1ZTsKKyAgICAgICAgICAgIFdJLm5hdmlnYXRpb25TaWRlYmFyLnNlbGVjdGVk
U2lkZWJhclBhbmVsID0gdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsOwogICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgV0kubmF2aWdhdGlvblNpZGViYXIuY29sbGFwc2VkID0gdHJ1ZTsK
ICAgICAgICAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwucGFyZW50U2lkZWJh
cikKICAgICAgICAgICAgICAgICBXSS5uYXZpZ2F0aW9uU2lkZWJhci5yZW1vdmVTaWRlYmFyUGFu
ZWwodGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsKTsKKyAgICAgICAgICAgIFdJLm5hdmlnYXRp
b25TaWRlYmFyLmNvbGxhcHNlZCA9IHRydWU7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9p
Z25vcmVOYXZpZ2F0aW9uU2lkZWJhclBhbmVsQ29sbGFwc2VkRXZlbnQgPSBmYWxzZTsKQEAgLTE3
MCw3ICsxNTUsNyBAQCBXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29u
dGVudEJyb3dzZXJUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgc2hvd0RldGFpbHNT
aWRlYmFyUGFuZWxzKCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAg
ICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB2
YXIgY3VycmVudFJlcHJlc2VudGVkT2JqZWN0cyA9IHRoaXMuX2NvbnRlbnRCcm93c2VyLmN1cnJl
bnRSZXByZXNlbnRlZE9iamVjdHM7CkBAIC0yMDcsMTYgKzE5MiwxNiBAQCBXSS5Db250ZW50QnJv
d3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyBl
eHRlbmRzIFdJLgogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgaWYgKHNpZGVi
YXJQYW5lbFRvU2VsZWN0KQotICAgICAgICAgICAgV0kuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRT
aWRlYmFyUGFuZWwgPSBzaWRlYmFyUGFuZWxUb1NlbGVjdDsKLSAgICAgICAgZWxzZSBpZiAoIVdJ
LmRldGFpbHNTaWRlYmFyLnNlbGVjdGVkU2lkZWJhclBhbmVsICYmIFdJLmRldGFpbHNTaWRlYmFy
LnNpZGViYXJQYW5lbHMubGVuZ3RoKQotICAgICAgICAgICAgV0kuZGV0YWlsc1NpZGViYXIuc2Vs
ZWN0ZWRTaWRlYmFyUGFuZWwgPSBXSS5kZXRhaWxzU2lkZWJhci5zaWRlYmFyUGFuZWxzWzBdOwot
CiAgICAgICAgIGlmICghV0kuZGV0YWlsc1NpZGViYXIuc2lkZWJhclBhbmVscy5sZW5ndGgpCiAg
ICAgICAgICAgICBXSS5kZXRhaWxzU2lkZWJhci5jb2xsYXBzZWQgPSB0cnVlOwogICAgICAgICBl
bHNlIGlmICh3YXNTaWRlYmFyRW1wdHkpCiAgICAgICAgICAgICBXSS5kZXRhaWxzU2lkZWJhci5j
b2xsYXBzZWQgPSB0aGlzLmRldGFpbHNTaWRlYmFyQ29sbGFwc2VkU2V0dGluZy52YWx1ZTsKIAor
ICAgICAgICBpZiAoc2lkZWJhclBhbmVsVG9TZWxlY3QpCisgICAgICAgICAgICBXSS5kZXRhaWxz
U2lkZWJhci5zZWxlY3RlZFNpZGViYXJQYW5lbCA9IHNpZGViYXJQYW5lbFRvU2VsZWN0OworICAg
ICAgICBlbHNlIGlmICghV0kuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRTaWRlYmFyUGFuZWwgJiYg
V0kuZGV0YWlsc1NpZGViYXIuc2lkZWJhclBhbmVscy5sZW5ndGgpCisgICAgICAgICAgICBXSS5k
ZXRhaWxzU2lkZWJhci5zZWxlY3RlZFNpZGViYXJQYW5lbCA9IFdJLmRldGFpbHNTaWRlYmFyLnNp
ZGViYXJQYW5lbHNbMF07CisKICAgICAgICAgdGhpcy5faWdub3JlRGV0YWlsc1NpZGViYXJQYW5l
bENvbGxhcHNlZEV2ZW50ID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX2lnbm9yZURldGFpbHNTaWRl
YmFyUGFuZWxTZWxlY3RlZEV2ZW50ID0gZmFsc2U7CiAKQEAgLTI1Niw3ICsyNDEsNyBAQCBXSS5D
b250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250
ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX25hdmlnYXRpb25TaWRlYmFyQ29sbGFwc2VkU3Rh
dGVEaWRDaGFuZ2UoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAg
ICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAg
ICAgdGhpcy5fc2hvd05hdmlnYXRpb25TaWRlYmFySXRlbS5hY3RpdmF0ZWQgPSAhV0kubmF2aWdh
dGlvblNpZGViYXIuY29sbGFwc2VkOwpAQCAtMjY5LDcgKzI1NCw3IEBAIFdJLkNvbnRlbnRCcm93
c2VyVGFiQ29udGVudFZpZXcgPSBjbGFzcyBDb250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3IGV4
dGVuZHMgV0kuCiAKICAgICBfZGV0YWlsc1NpZGViYXJDb2xsYXBzZWRTdGF0ZURpZENoYW5nZShl
dmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBpZiAoIXRo
aXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl9zaG93
RGV0YWlsc1NpZGViYXJJdGVtLmFjdGl2YXRlZCA9ICFXSS5kZXRhaWxzU2lkZWJhci5jb2xsYXBz
ZWQ7CkBAIC0yODMsNyArMjY4LDcgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyA9
IGNsYXNzIENvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KIAogICAgIF9k
ZXRhaWxzU2lkZWJhclBhbmVsU2VsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRo
aXMudmlzaWJsZSkKKyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKICAgICAgICAgdGhpcy5fc2hvd0RldGFpbHNTaWRlYmFySXRlbS5hY3RpdmF0ZWQg
PSAhV0kuZGV0YWlsc1NpZGViYXIuY29sbGFwc2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlldy5qcwppbmRleCAxOWY2
NGJkMzk4ZmUxNWQyOTAxZWMyZDgyNzEzOGEyMTYyNGIxN2M5Li4yYjhhNThjMWIxYWU1NjFhMWRm
N2Y0ZGE3YmE1NThjZjI3MDZlNDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlldy5qcwpAQCAtMzQ2LDE2ICszNDYs
NiBAQCBXSS5Db250ZW50VmlldyA9IGNsYXNzIENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuVmlldwog
ICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50Q29udGFpbmVyOwogICAgIH0KIAotICAgIGdldCB2
aXNpYmxlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlOwotICAgIH0KLQot
ICAgIHNldCB2aXNpYmxlKGZsYWcpCi0gICAgewotICAgICAgICB0aGlzLl92aXNpYmxlID0gZmxh
ZzsKLSAgICB9Ci0KICAgICBnZXQgc2Nyb2xsYWJsZUVsZW1lbnRzKCkKICAgICB7CiAgICAgICAg
IC8vIEltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuCkBAIC0zOTEsMTYgKzM4MSw2IEBAIFdJLkNv
bnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIHJl
dHVybiBXSS5kb2NrZWRDb25maWd1cmF0aW9uU3VwcG9ydHNTcGxpdENvbnRlbnRCcm93c2VyKCk7
CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgLy8gSW1wbGVtZW50ZWQgYnkg
c3ViY2xhc3Nlcy4KLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgLy8gSW1w
bGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KLSAgICB9Ci0KICAgICBjbG9zZWQoKQogICAgIHsKICAg
ICAgICAgLy8gSW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRWaWV3Q29udGFpbmVyLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXdD
b250YWluZXIuanMKaW5kZXggNTk4NWQyZGRlMmVkYjZkMjhmYjRkOGQ0ZjQ0ZDBiYjdlMzY5NzRk
My4uNDVlNTAxZGMyZDE5MTg4ZDVkZjkzNDc3MDZlZWRkZDQ0NWU5MTQ5OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXdDb250
YWluZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
Q29udGVudFZpZXdDb250YWluZXIuanMKQEAgLTExMSw4ICsxMTEsNyBAQCBXSS5Db250ZW50Vmll
d0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRWaWV3Q29udGFpbmVyIGV4dGVuZHMgV0kuVmlldwog
CiAgICAgICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGlmIHdlIHdvdWxkIGhhdmUgYWRkZWQgYW4g
aWRlbnRpY2FsIGJhY2svZm9yd2FyZCBsaXN0IGVudHJ5LgogICAgICAgICBpZiAocHJvdmlzaW9u
YWxFbnRyeS5pc0VxdWFsKGN1cnJlbnRFbnRyeSkpIHsKLSAgICAgICAgICAgIGNvbnN0IHNob3Vs
ZENhbGxTaG93biA9IGZhbHNlOwotICAgICAgICAgICAgY3VycmVudEVudHJ5LnByZXBhcmVUb1No
b3coc2hvdWxkQ2FsbFNob3duKTsKKyAgICAgICAgICAgIGN1cnJlbnRFbnRyeS5wcmVwYXJlVG9T
aG93KCk7CiAgICAgICAgICAgICByZXR1cm4gY3VycmVudEVudHJ5LmNvbnRlbnRWaWV3OwogICAg
ICAgICB9CiAKQEAgLTE1OCwxNCArMTU3LDkgQEAgV0kuQ29udGVudFZpZXdDb250YWluZXIgPSBj
bGFzcyBDb250ZW50Vmlld0NvbnRhaW5lciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdmFyIGN1
cnJlbnRFbnRyeSA9IHRoaXMuY3VycmVudEJhY2tGb3J3YXJkRW50cnk7CiAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KGN1cnJlbnRFbnRyeSk7CiAKLSAgICAgICAgdmFyIGlzTmV3Q29udGVudFZpZXcg
PSAhcHJldmlvdXNFbnRyeSB8fCAhY3VycmVudEVudHJ5LmNvbnRlbnRWaWV3LnZpc2libGU7Ci0g
ICAgICAgIGlmIChpc05ld0NvbnRlbnRWaWV3KSB7Ci0gICAgICAgICAgICAvLyBIaWRlIHRoZSBj
dXJyZW50bHkgdmlzaWJsZSBjb250ZW50IHZpZXcuCi0gICAgICAgICAgICBpZiAocHJldmlvdXNF
bnRyeSkKLSAgICAgICAgICAgICAgICB0aGlzLl9oaWRlRW50cnkocHJldmlvdXNFbnRyeSk7Ci0g
ICAgICAgICAgICB0aGlzLl9zaG93RW50cnkoY3VycmVudEVudHJ5LCB0cnVlKTsKLSAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICB0aGlzLl9zaG93RW50cnkoY3VycmVudEVudHJ5LCBmYWxzZSk7
CisgICAgICAgIGlmIChwcmV2aW91c0VudHJ5ICYmICFjdXJyZW50RW50cnkuY29udGVudFZpZXcu
aXNBdHRhY2hlZCkKKyAgICAgICAgICAgIHRoaXMuX2hpZGVFbnRyeShwcmV2aW91c0VudHJ5KTsK
KyAgICAgICAgdGhpcy5fc2hvd0VudHJ5KGN1cnJlbnRFbnRyeSk7CiAKICAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuQ29udGVudFZpZXdDb250YWluZXIuRXZlbnQuQ3Vy
cmVudENvbnRlbnRWaWV3RGlkQ2hhbmdlKTsKICAgICB9CkBAIC0yMTEsNyArMjA1LDcgQEAgV0ku
Q29udGVudFZpZXdDb250YWluZXIgPSBjbGFzcyBDb250ZW50Vmlld0NvbnRhaW5lciBleHRlbmRz
IFdJLlZpZXcKIAogICAgICAgICAvLyBSZS1zaG93IHRoZSBjdXJyZW50IGVudHJ5LCBiZWNhdXNl
IGl0cyBjb250ZW50IHZpZXcgaW5zdGFuY2Ugd2FzIHJlcGxhY2VkLgogICAgICAgICBpZiAoY3Vy
cmVudGx5U2hvd2luZykgewotICAgICAgICAgICAgdGhpcy5fc2hvd0VudHJ5KHRoaXMuY3VycmVu
dEJhY2tGb3J3YXJkRW50cnksIHRydWUpOworICAgICAgICAgICAgdGhpcy5fc2hvd0VudHJ5KHRo
aXMuY3VycmVudEJhY2tGb3J3YXJkRW50cnkpOwogICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2
ZW50VG9MaXN0ZW5lcnMoV0kuQ29udGVudFZpZXdDb250YWluZXIuRXZlbnQuQ3VycmVudENvbnRl
bnRWaWV3RGlkQ2hhbmdlKTsKICAgICAgICAgfQogICAgIH0KQEAgLTI2OSw3ICsyNjMsNyBAQCBX
SS5Db250ZW50Vmlld0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRWaWV3Q29udGFpbmVyIGV4dGVu
ZHMgV0kuVmlldwogICAgICAgICBjb25zb2xlLmFzc2VydChjdXJyZW50RW50cnkgfHwgKCFjdXJy
ZW50RW50cnkgJiYgdGhpcy5fY3VycmVudEluZGV4ID09PSAtMSkpOwogCiAgICAgICAgIGlmIChj
dXJyZW50RW50cnkgJiYgY3VycmVudEVudHJ5LmNvbnRlbnRWaWV3ICE9PSB2aXNpYmxlQ29udGVu
dFZpZXcgfHwgYmFja0ZvcndhcmRMaXN0RGlkQ2hhbmdlKSB7Ci0gICAgICAgICAgICB0aGlzLl9z
aG93RW50cnkoY3VycmVudEVudHJ5LCB0cnVlKTsKKyAgICAgICAgICAgIHRoaXMuX3Nob3dFbnRy
eShjdXJyZW50RW50cnkpOwogICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5l
cnMoV0kuQ29udGVudFZpZXdDb250YWluZXIuRXZlbnQuQ3VycmVudENvbnRlbnRWaWV3RGlkQ2hh
bmdlKTsKICAgICAgICAgfQogICAgIH0KQEAgLTMyNywyMiArMzIxLDIyIEBAIFdJLkNvbnRlbnRW
aWV3Q29udGFpbmVyID0gY2xhc3MgQ29udGVudFZpZXdDb250YWluZXIgZXh0ZW5kcyBXSS5WaWV3
CiAgICAgICAgIHRoaXMuc2hvd0JhY2tGb3J3YXJkRW50cnlGb3JJbmRleCh0aGlzLl9jdXJyZW50
SW5kZXggKyAxKTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsK
LSAgICAgICAgdmFyIGN1cnJlbnRFbnRyeSA9IHRoaXMuY3VycmVudEJhY2tGb3J3YXJkRW50cnk7
Ci0gICAgICAgIGlmICghY3VycmVudEVudHJ5KQotICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBzdXBlci5hdHRhY2hlZCgpOwogCi0gICAgICAgIHRoaXMuX3Nob3dFbnRyeShjdXJyZW50RW50
cnksIHRydWUpOworICAgICAgICB2YXIgY3VycmVudEVudHJ5ID0gdGhpcy5jdXJyZW50QmFja0Zv
cndhcmRFbnRyeTsKKyAgICAgICAgaWYgKGN1cnJlbnRFbnRyeSkKKyAgICAgICAgICAgIHRoaXMu
X3Nob3dFbnRyeShjdXJyZW50RW50cnkpOwogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0
YWNoZWQoKQogICAgIHsKICAgICAgICAgdmFyIGN1cnJlbnRFbnRyeSA9IHRoaXMuY3VycmVudEJh
Y2tGb3J3YXJkRW50cnk7Ci0gICAgICAgIGlmICghY3VycmVudEVudHJ5KQotICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICBpZiAoY3VycmVudEVudHJ5KQorICAgICAgICAgICAgdGhpcy5faGlk
ZUVudHJ5KGN1cnJlbnRFbnRyeSk7CiAKLSAgICAgICAgdGhpcy5faGlkZUVudHJ5KGN1cnJlbnRF
bnRyeSk7CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgLy8gUHJpdmF0
ZQpAQCAtNDE2LDcgKzQxMCw3IEBAIFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyID0gY2xhc3MgQ29u
dGVudFZpZXdDb250YWluZXIgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KIAotICAgICAgICBjb25zb2xlLmFzc2VydCghY29udGVudFZpZXcudmlzaWJsZSk7
CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFjb250ZW50Vmlldy5pc0F0dGFjaGVkKTsKIAogICAg
ICAgICBpZiAoIWNvbnRlbnRWaWV3Ll9wYXJlbnRDb250YWluZXIpCiAgICAgICAgICAgICByZXR1
cm47CkBAIC00MzgsNyArNDMyLDcgQEAgV0kuQ29udGVudFZpZXdDb250YWluZXIgPSBjbGFzcyBD
b250ZW50Vmlld0NvbnRhaW5lciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgICAgIFdJLkNvbnRl
bnRWaWV3LmNsb3NlZENvbnRlbnRWaWV3Rm9yUmVwcmVzZW50ZWRPYmplY3QoY29udGVudFZpZXcu
cmVwcmVzZW50ZWRPYmplY3QpOwogICAgIH0KIAotICAgIF9zaG93RW50cnkoZW50cnksIHNob3Vs
ZENhbGxTaG93bikKKyAgICBfc2hvd0VudHJ5KGVudHJ5KQogICAgIHsKICAgICAgICAgY29uc29s
ZS5hc3NlcnQoZW50cnkgaW5zdGFuY2VvZiBXSS5CYWNrRm9yd2FyZEVudHJ5KTsKIApAQCAtNDUz
LDcgKzQ0Nyw3IEBAIFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyID0gY2xhc3MgQ29udGVudFZpZXdD
b250YWluZXIgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIGlmICghdGhpcy5zdWJ2aWV3cy5pbmNs
dWRlcyhlbnRyeS5jb250ZW50VmlldykpCiAgICAgICAgICAgICB0aGlzLmFkZFN1YnZpZXcoZW50
cnkuY29udGVudFZpZXcpOwogCi0gICAgICAgIGVudHJ5LnByZXBhcmVUb1Nob3coc2hvdWxkQ2Fs
bFNob3duKTsKKyAgICAgICAgZW50cnkucHJlcGFyZVRvU2hvdygpOwogICAgIH0KIAogICAgIF9o
aWRlRW50cnkoZW50cnkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKaW5kZXggMDA1YTA3
NWFjYjI4MjFkYjcxZmI3N2Q1M2VkNWZjYTQ1NThmMzBlMS4uODM5NTk3YzRlNWE1ZWI1Yjc4MTgw
NTE4MDgyMmI0ZWIyMzI0ZWJjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwpAQCAt
MTQwLDI2ICsxNDAsNiBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLmVsZW1lbnQuY2xh
c3NMaXN0LnRvZ2dsZSgic2hvdy1ndXR0ZXIiLCB0aGlzLl9icmVha3BvaW50R3V0dGVyRW5hYmxl
ZCk7CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsK
LQotICAgICAgICB0aGlzLl9kb21UcmVlT3V0bGluZS5zZXRWaXNpYmxlKHRydWUsIFdJLmlzQ29u
c29sZUZvY3VzZWQoKSk7Ci0KLSAgICAgICAgaWYgKCF0aGlzLl9kb21UcmVlT3V0bGluZS5yb290
RE9NTm9kZSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLl9yZXN0b3JlQnJl
YWtwb2ludHNBZnRlclVwZGF0ZSgpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAg
ICAgICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAgICBXSS5kb21NYW5hZ2VyLmhpZGVET01Ob2Rl
SGlnaGxpZ2h0KCk7Ci0gICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLnNldFZpc2libGUoZmFs
c2UpOwotICAgIH0KLQogICAgIGNsb3NlZCgpCiAgICAgewogICAgICAgICBzdXBlci5jbG9zZWQo
KTsKQEAgLTM5Niw2ICszNzYsMTAgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9N
VHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICB7CiAgICAgICAgIHN1
cGVyLmF0dGFjaGVkKCk7CiAKKyAgICAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUuc2V0VmlzaWJs
ZSh0cnVlLCBXSS5pc0NvbnNvbGVGb2N1c2VkKCkpOworICAgICAgICBpZiAodGhpcy5fZG9tVHJl
ZU91dGxpbmUucm9vdERPTU5vZGUpCisgICAgICAgICAgICB0aGlzLl9yZXN0b3JlQnJlYWtwb2lu
dHNBZnRlclVwZGF0ZSgpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIudXBkYXRlQ29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZUZyb21QYWdlSWZOZWVkZWQoKTsKIAogICAgICAgICBXSS5s
YXllclRyZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVu
dC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFuZGxlQ29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOwpAQCAtNDA3LDYgKzM5MSw5IEBAIFdJLkRP
TVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRlbmRzIFdJLkNv
bnRlbnRWaWV3CiAKICAgICBkZXRhY2hlZCgpCiAgICAgeworICAgICAgICBXSS5kb21NYW5hZ2Vy
LmhpZGVET01Ob2RlSGlnaGxpZ2h0KCk7CisgICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLnNl
dFZpc2libGUoZmFsc2UpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIucmVtb3ZlRXZl
bnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LlNob3dQYWludFJlY3RzQ2hhbmdl
ZCwgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgV0ku
bGF5ZXJUcmVlTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIu
RXZlbnQuQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMuX2hhbmRsZUNvbXBv
c2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRWxlbWVudHNUYWJDb250ZW50Vmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0VsZW1lbnRz
VGFiQ29udGVudFZpZXcuanMKaW5kZXggNDRhMzIxNDgzZWRiM2VhNjhmOGE2NWNkY2E2YjY4N2Nh
OTk0YTljYy4uNzg4NDE2MTE1MmNmNTc4MmVjNjY5OGNmNjI4NWQ3NjJmMTQxN2JkNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRWxlbWVudHNU
YWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9FbGVtZW50c1RhYkNvbnRlbnRWaWV3LmpzCkBAIC05Niw5ICs5Niw5IEBAIFdJLkVs
ZW1lbnRzVGFiQ29udGVudFZpZXcgPSBjbGFzcyBFbGVtZW50c1RhYkNvbnRlbnRWaWV3IGV4dGVu
ZHMgV0kuQ29udGVudEJyb3dzCiAgICAgICAgIGNvb2tpZS5ub2RlVG9TZWxlY3QgPSB1bmRlZmlu
ZWQ7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAg
IHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgaWYg
KCF0aGlzLmNvbnRlbnRCcm93c2VyLmN1cnJlbnRDb250ZW50VmlldykKICAgICAgICAgICAgIHRo
aXMuX3Nob3dET01UcmVlQ29udGVudFZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRm9udFJlc291cmNlQ29u
dGVudFZpZXcuanMKaW5kZXggZDA5MzA2YTcwOTZhZGM5YzQxNjgyYjc3ZjZjOGI5ZDEyNzc4YjYw
Ny4uMzcyYmQzM2NlNjdmMDlkOGJjM2JiNzljNTJmMTlhYWQ3NGRiYTE1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRm9udFJlc291cmNlQ29u
dGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvRm9udFJlc291cmNlQ29udGVudFZpZXcuanMKQEAgLTc1LDIyICs3NSwyMiBAQCBXSS5Gb250
UmVzb3VyY2VDb250ZW50VmlldyA9IGNsYXNzIEZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3IGV4dGVu
ZHMgV0kuUmVzb3VyY2VDbwogICAgICAgICB9CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0
dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0
dGFjaGVkKCk7CiAKICAgICAgICAgLy8gQWRkIHRoZSBzdHlsZSBlbGVtZW50IHNpbmNlIGl0IGlz
IHJlbW92ZWQgd2hlbiBoaWRkZW4uCiAgICAgICAgIGlmICh0aGlzLl9zdHlsZUVsZW1lbnQpCiAg
ICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRoaXMuX3N0eWxlRWxlbWVudCk7
CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewogICAgICAgICAv
LyBSZW1vdmUgdGhlIHN0eWxlIGVsZW1lbnQgc28gaXQgd2lsbCBub3Qgc3RpY2sgYXJvdW5kIHdo
ZW4gdGhpcyBjb250ZW50IHZpZXcgaXMgZGVzdHJveWVkLgogICAgICAgICBpZiAodGhpcy5fc3R5
bGVFbGVtZW50KQogICAgICAgICAgICAgdGhpcy5fc3R5bGVFbGVtZW50LnJlbW92ZSgpOwogCi0g
ICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0K
IAogICAgIGNsb3NlZCgpCkBAIC0xNzUsNyArMTc1LDcgQEAgV0kuRm9udFJlc291cmNlQ29udGVu
dFZpZXcgPSBjbGFzcyBGb250UmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJLlJlc291cmNl
Q28KICAgICAgICAgdGhpcy5fc3R5bGVFbGVtZW50LnRleHRDb250ZW50ID0gYEBmb250LWZhY2Ug
eyBmb250LWZhbWlseTogIiR7dW5pcXVlRm9udE5hbWV9Ijsgc3JjOiB1cmwoJHt0aGlzLl9mb250
T2JqZWN0VVJMfSkgJHtmb3JtYXR9OyB9YDsKIAogICAgICAgICAvLyBUaGUgc3R5bGUgZWxlbWVu
dCB3aWxsIGJlIGFkZGVkIHdoZW4gc2hvd24gbGF0ZXIgaWYgd2UgYXJlIG5vdCB2aXNpYmxlIG5v
dy4KLSAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkKKyAgICAgICAgaWYgKHRoaXMuaXNBdHRhY2hl
ZCkKICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGhpcy5fc3R5bGVFbGVt
ZW50KTsKIAogICAgICAgICB0aGlzLl9wcmV2aWV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dlbmVyYWxTdHlsZURldGFpbHNTaWRl
YmFyUGFuZWwuanMKaW5kZXggMmUyNzBjN2M5ZTMxNWJlZmVhZTg1NWE2MDU0NjZiYWM1NDdkZjY1
ZS4uNmIyOWYwOWQwMGQ3N2U1Yzk4N2Y3YmYxMDYyMzczODRmYzJiZmE1ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJhbFN0eWxlRGV0
YWlsc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC00Nyw3ICs0
Nyw3IEBAIFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBHZW5lcmFs
U3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgewogICAgICAgICBsZXQgbWluaW11
bVdpZHRoID0gTWF0aC5tYXgoc3VwZXIubWluaW11bVdpZHRoLCB0aGlzLl9wYW5lbC5taW5pbXVt
V2lkdGggfHwgMCk7CiAKLSAgICAgICAgaWYgKHRoaXMuZXhjbHVzaXZlKSB7CisgICAgICAgIGlm
ICh0aGlzLl9mb3JjZWRQc2V1ZG9DbGFzc0NvbnRhaW5lciAmJiB0aGlzLmV4Y2x1c2l2ZSkgewog
ICAgICAgICAgICAgbGV0IHBzZXVkb0NsYXNzTWluaW11bVdpZHRoID0gMDsKICAgICAgICAgICAg
IGZvciAobGV0IGNoaWxkIG9mIHRoaXMuX2ZvcmNlZFBzZXVkb0NsYXNzQ29udGFpbmVyLmNoaWxk
cmVuKQogICAgICAgICAgICAgICAgIHBzZXVkb0NsYXNzTWluaW11bVdpZHRoICs9IGNoaWxkLm9m
ZnNldFdpZHRoOwpAQCAtNjIsMTcgKzYyLDkgQEAgV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGVi
YXJQYW5lbCA9IGNsYXNzIEdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW4KICAg
ICAgICAgcmV0dXJuIG5vZGVUb0luc3BlY3Qubm9kZVR5cGUoKSA9PT0gTm9kZS5FTEVNRU5UX05P
REU7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAg
ICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAgICBpZiAodGhpcy5fcGFuZWwpCi0gICAgICAgICAg
ICB0aGlzLl9wYW5lbC5oaWRkZW4oKTsKLSAgICB9Ci0KLSAgICBzaG93bigpCi0gICAgewotICAg
ICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAg
IGlmICghdGhpcy5fcGFuZWwpCiAgICAgICAgICAgICByZXR1cm47CkBAIC04MCw3ICs3Miw2IEBA
IFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBHZW5lcmFsU3R5bGVE
ZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMudmlz
aWJsZSwgYFNob3duIHBhbmVsICR7dGhpcy5faWRlbnRpZmllcn0gbXVzdCBiZSB2aXNpYmxlLmAp
OwogCiAgICAgICAgIHRoaXMuX3VwZGF0ZU5vRm9yY2VkUHNldWRvQ2xhc3Nlc1Njcm9sbE9mZnNl
dCgpOwotICAgICAgICB0aGlzLl9wYW5lbC5zaG93bigpOwogICAgICAgICB0aGlzLl9wYW5lbC5t
YXJrQXNOZWVkc1JlZnJlc2godGhpcy5kb21Ob2RlKTsKICAgICB9CiAKQEAgLTI0Niw4ICsyMzcs
NiBAQCBXSS5HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgR2VuZXJhbFN0
eWxlRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbgogICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVs
ZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLWZpbHRlci1iYXIiLCBoYXNGaWx0ZXIpOwogICAg
ICAgICBpZiAodGhpcy5fZmlsdGVyQmFyKQogICAgICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5l
bGVtZW50LmNsYXNzTGlzdC50b2dnbGUoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5l
bC5GaWx0ZXJJblByb2dyZXNzQ2xhc3NOYW1lLCBoYXNGaWx0ZXIgJiYgdGhpcy5fZmlsdGVyQmFy
Lmhhc0FjdGl2ZUZpbHRlcnMoKSk7Ci0KLSAgICAgICAgdGhpcy5fcGFuZWwuc2hvd24oKTsKICAg
ICB9CiAKICAgICBfaGFuZGxlTm9kZUNoYW5nZWQoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGlu
ZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggNDU5NGFi
NDQzOTNmNDExYjViMDMxZDYwNzE0NjU2MWMyMGMxNjBhOS4uZDBmN2VlMDk0OWU0NTIzZGIzOGI0
ZWExZTkzMjIzNzAyNzEzZjczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFsbG9jYXRpb25zVGltZWxpbmVPdmVydmlld0dyYXBoLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBBbGxv
Y2F0aW9uc1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwpAQCAtNTAsNyArNTAsOSBAQCBXSS5IZWFw
QWxsb2NhdGlvbnNUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBIZWFwQWxsb2NhdGlvbnNU
aW1lbGluZU92ZXJ2aWV3RwogCiAgICAgbGF5b3V0KCkKICAgICB7Ci0gICAgICAgIGlmICghdGhp
cy52aXNpYmxlKQorICAgICAgICBzdXBlci5sYXlvdXQoKTsKKworICAgICAgICBpZiAodGhpcy5o
aWRkZW4pCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92
ZUNoaWxkcmVuKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcu
anMKaW5kZXggOGM2NzQzNzcwZWY5MDYxYTdhYTExZDMxZWUzY2FkYTEzMGY1YTA5ZC4uZDlkOGM0
ZDcyZDlkMzExZDVlMDkzYWI3NDBmODU1ZTgxN2JkZGNjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFsbG9jYXRpb25zVGltZWxpbmVW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hl
YXBBbGxvY2F0aW9uc1RpbWVsaW5lVmlldy5qcwpAQCAtMTI4LDcgKzEyOCw2IEBAIFdJLkhlYXBB
bGxvY2F0aW9uc1RpbWVsaW5lVmlldyA9IGNsYXNzIEhlYXBBbGxvY2F0aW9uc1RpbWVsaW5lVmll
dyBleHRlbmRzIFdJLlRpCiAgICAgICAgIHRoaXMuX2hlYXBTbmFwc2hvdERpZmYgPSBudWxsOwog
ICAgICAgICB0aGlzLl9jYW5jZWxTZWxlY3RDb21wYXJpc29uSGVhcFNuYXBzaG90cygpOwogCi0g
ICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLmhpZGRlbigpOwogICAgICAgICB0aGlz
LnJlbW92ZVN1YnZpZXcodGhpcy5fY29udGVudFZpZXdDb250YWluZXIpOwogICAgICAgICB0aGlz
LmFkZFN1YnZpZXcodGhpcy5fZGF0YUdyaWQpOwogCkBAIC0xNDQsNyArMTQzLDYgQEAgV0kuSGVh
cEFsbG9jYXRpb25zVGltZWxpbmVWaWV3ID0gY2xhc3MgSGVhcEFsbG9jYXRpb25zVGltZWxpbmVW
aWV3IGV4dGVuZHMgV0kuVGkKICAgICAgICAgICAgIHRoaXMuX3NuYXBzaG90TGlzdFNjcm9sbFRv
cCA9IHRoaXMuX2RhdGFHcmlkLnNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3A7CiAgICAgICAgICAg
ICB0aGlzLnJlbW92ZVN1YnZpZXcodGhpcy5fZGF0YUdyaWQpOwogICAgICAgICAgICAgdGhpcy5h
ZGRTdWJ2aWV3KHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyKTsKLSAgICAgICAgICAgIHRoaXMu
X2NvbnRlbnRWaWV3Q29udGFpbmVyLnNob3duKCk7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlz
Ll9zaG93aW5nU25hcHNob3RMaXN0ID0gZmFsc2U7CkBAIC0xNzIsNyArMTcwLDYgQEAgV0kuSGVh
cEFsbG9jYXRpb25zVGltZWxpbmVWaWV3ID0gY2xhc3MgSGVhcEFsbG9jYXRpb25zVGltZWxpbmVW
aWV3IGV4dGVuZHMgV0kuVGkKICAgICAgICAgaWYgKHRoaXMuX3Nob3dpbmdTbmFwc2hvdExpc3Qp
IHsKICAgICAgICAgICAgIHRoaXMucmVtb3ZlU3Vidmlldyh0aGlzLl9kYXRhR3JpZCk7CiAgICAg
ICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fY29udGVudFZpZXdDb250YWluZXIpOwotICAg
ICAgICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuc2hvd24oKTsKICAgICAgICAgfQog
CiAgICAgICAgIHRoaXMuX3Nob3dpbmdTbmFwc2hvdExpc3QgPSBmYWxzZTsKQEAgLTIzMCwyNiAr
MjI3LDYgQEAgV0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3ID0gY2xhc3MgSGVhcEFsbG9j
YXRpb25zVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuVGkKICAgICAgICAgICAgIHRoaXMuc2hvd0hl
YXBTbmFwc2hvdExpc3QoKTsKICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBz
dXBlci5zaG93bigpOwotCi0gICAgICAgIHRoaXMuX2RhdGFHcmlkLnNob3duKCk7Ci0KLSAgICAg
ICAgaWYgKCF0aGlzLl9zaG93aW5nU25hcHNob3RMaXN0KQotICAgICAgICAgICAgdGhpcy5fY29u
dGVudFZpZXdDb250YWluZXIuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsK
LSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZGVu
KCk7Ci0KLSAgICAgICAgaWYgKCF0aGlzLl9zaG93aW5nU25hcHNob3RMaXN0KQotICAgICAgICAg
ICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgY2xv
c2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QucmVtb3ZlRXZlbnRM
aXN0ZW5lcihXSS5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwgdGhpcy5faGVhcEFsbG9jYXRp
b25zVGltZWxpbmVSZWNvcmRBZGRlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZp
ZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25h
cHNob3RDbHVzdGVyQ29udGVudFZpZXcuanMKaW5kZXggMzIyMDY1NWU3MGI0NTg2ZGJkYjE3NzU4
MTkyNmU2YWQ1N2IzZWEwNS4uZjIxOTllNGNhZDc3YzlkYjM2YjhlNDBjNzVkZDg1NmRhNWVkZGEz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
SGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5q
cwpAQCAtMTM5LDkgKzEzOSw5IEBAIFdJLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyA9
IGNsYXNzIEhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyBleHRlbmRzCiAgICAgICAgIHJl
dHVybiBjb21wb25lbnRzLmNvbmNhdChjdXJyZW50Q29udGVudFZpZXcuc2VsZWN0aW9uUGF0aENv
bXBvbmVudHMpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewot
ICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAg
ICAgIGlmICh0aGlzLl9zaG93bkluaXRpYWxDb250ZW50KQogICAgICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVh
cFNuYXBzaG90Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDb250ZW50Vmlldy5qcwppbmRleCA5ZjBlMTBjZDNlNzI0
N2RjYTUxMGVlNGViMDBiNGM0MTY3NGE5ZTNhLi45MTNkZGI3NGQwYjI0ZjE2ZmUxZTAxOGQ0NDI3
Y2M3MWM2MWExMzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDb250ZW50Vmlldy5qcwpA
QCAtOTAsMTggKzkwLDE4IEBAIFdJLkhlYXBTbmFwc2hvdENvbnRlbnRWaWV3ID0gY2xhc3MgSGVh
cFNuYXBzaG90Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmllCiAgICAgICAgIHJldHVy
biBbXTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAg
ICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0
aGlzLl9oZWFwU25hcHNob3REYXRhR3JpZFRyZWUuc2hvd24oKTsKICAgICB9CiAKLSAgICBoaWRk
ZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotCiAg
ICAgICAgIHRoaXMuX2hlYXBTbmFwc2hvdERhdGFHcmlkVHJlZS5oaWRkZW4oKTsKKworICAgICAg
ICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIGdldCBzY3JvbGxhYmxlRWxlbWVudHMo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
SW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCmluZGV4IDA2ZTFmMGQ2
ZDA0YzUyOTlhYTJkODkwZGFhNDBlOWY5MjI1NDFjNDMuLjBlYjBiNjBmMTk0ZDkzMDk4MjMyNDhh
ZWZkNWU0NmUyNjhiOGFkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0ltYWdlUmVzb3VyY2VDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9JbWFnZVJlc291cmNlQ29udGVudFZp
ZXcuanMKQEAgLTk5LDIwICs5OSwyMCBAQCBXSS5JbWFnZVJlc291cmNlQ29udGVudFZpZXcgPSBj
bGFzcyBJbWFnZVJlc291cmNlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5SZXNvdXJjZQogCiAgICAg
Ly8gUHJvdGVjdGVkCiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAg
ICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0
aGlzLl91cGRhdGVJbWFnZUdyaWQoKTsKIAogICAgICAgICBXSS5zZXR0aW5ncy5zaG93SW1hZ2VH
cmlkLmFkZEV2ZW50TGlzdGVuZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl91cGRh
dGVJbWFnZUdyaWQsIHRoaXMpOwogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQo
KQogICAgIHsKICAgICAgICAgV0kuc2V0dGluZ3Muc2hvd0ltYWdlR3JpZC5yZW1vdmVFdmVudExp
c3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5fdXBkYXRlSW1hZ2VHcmlkLCB0
aGlzKTsKIAotICAgICAgICBzdXBlci5oaWRkZW4oKTsKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQo
KTsKICAgICB9CiAKICAgICAvLyBEcm9wWm9uZVZpZXcgZGVsZWdhdGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURldGFpbHNT
aWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IDk0NzlmYjJjOGQ2ZTRiYjc4
Njc4MTAzZWNhNDZmYmU3MWQ5ZWIzZWIuLmIxN2FkOTYzYzNmZGEzZWQwZDEwZWE2ZTNhMTY3YTY4
NGE3ZDNjZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0xheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5l
bC5qcwpAQCAtMzYsMjAgKzM2LDE4IEBAIFdJLkxheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwg
PSBjbGFzcyBMYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuCiAKICAgICAv
LyBEZXRhaWxzU2lkZWJhclBhbmVsIE92ZXJyaWRlcy4KIAotICAgIHNob3duKCkKKyAgICBhdHRh
Y2hlZCgpCiAgICAgeworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOworCiAgICAgICAgIFdJLmxh
eWVyVHJlZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50
LkxheWVyVHJlZURpZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzKTsKLQot
ICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLnBhcmVudFNpZGViYXIpOwotCi0gICAgICAgIHN1
cGVyLnNob3duKCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAg
ewogICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5
ZXJUcmVlTWFuYWdlci5FdmVudC5MYXllclRyZWVEaWRDaGFuZ2UsIHRoaXMuX2xheWVyVHJlZURp
ZENoYW5nZSwgdGhpcyk7CiAKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVy
LmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgLy8gRE9NRGV0YWlsc1NpZGViYXJQYW5lbCBPdmVy
cmlkZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0xheWVyczNEQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCmluZGV4IDFiMjczZDZjMTJjODY0
ZTY2NzI0ZTAzMjA0YzQ3NzA4YzExNmE3OGYuLjEzNTkwOTMwMzNhNTEzMjQ3NTIzNWMxNDY5NjNm
Nzc0YjA4ZmI1NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0xheWVyczNEQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzM0RDb250ZW50Vmlldy5qcwpAQCAtNzQsMjYg
Kzc0LDYgQEAgV0kuTGF5ZXJzM0RDb250ZW50VmlldyA9IGNsYXNzIExheWVyczNEQ29udGVudFZp
ZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICByZXR1cm4gdGhpcy5fbGF5ZXJzOwog
ICAgIH0KIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAg
ICAgICAgdGhpcy51cGRhdGVMYXlvdXQoKTsKLSAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5h
ZGRFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQuTGF5ZXJUcmVlRGlkQ2hh
bmdlLCB0aGlzLl9sYXllclRyZWVEaWRDaGFuZ2UsIHRoaXMpOwotCi0gICAgICAgIGlmICh0aGlz
LmRpZEluaXRpYWxMYXlvdXQpCi0gICAgICAgICAgICB0aGlzLl9hbmltYXRlKCk7Ci0gICAgfQot
Ci0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIucmVtb3Zl
RXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LkxheWVyVHJlZURpZENoYW5n
ZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzKTsKLQotICAgICAgICB0aGlzLl9zdG9w
QW5pbWF0aW9uKCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgc2Vs
ZWN0TGF5ZXJCeUlkKGxheWVySWQpCiAgICAgewogICAgICAgICBsZXQgbGF5ZXJHcm91cCA9IHRo
aXMuX2xheWVyR3JvdXBzQnlJZC5nZXQobGF5ZXJJZCk7CkBAIC0xMzMsNiArMTEzLDExIEBAIFdJ
LkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnMzRENvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuQ29udGVudFZpZXcKICAgICB7CiAgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKKyAgICAg
ICAgV0kubGF5ZXJUcmVlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFn
ZXIuRXZlbnQuTGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzLl9sYXllclRyZWVEaWRDaGFuZ2UsIHRo
aXMpOworCisgICAgICAgIGlmICh0aGlzLmRpZEluaXRpYWxMYXlvdXQpCisgICAgICAgICAgICB0
aGlzLl9hbmltYXRlKCk7CisKICAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci51cGRhdGVDb21w
b3NpdGluZ0JvcmRlcnNWaXNpYmxlRnJvbVBhZ2VJZk5lZWRlZCgpOwogCiAgICAgICAgIFdJLmxh
eWVyVHJlZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50
LkNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVDb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcyk7CkBAIC0xNDQsNiArMTI5LDEwIEBAIFdJLkxh
eWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnMzRENvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
Q29udGVudFZpZXcKIAogICAgIGRldGFjaGVkKCkKICAgICB7CisgICAgICAgIFdJLmxheWVyVHJl
ZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50Lkxh
eWVyVHJlZURpZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzKTsKKworICAg
ICAgICB0aGlzLl9zdG9wQW5pbWF0aW9uKCk7CisKICAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdl
ci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQuU2hvd1BhaW50
UmVjdHNDaGFuZ2VkLCB0aGlzLl9oYW5kbGVTaG93UGFpbnRSZWN0c0NoYW5nZWQsIHRoaXMpOwog
ICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJU
cmVlTWFuYWdlci5FdmVudC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5f
aGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllcnNUYWJD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0xheWVyc1RhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDU0MmY3MGJiNGFkYWFmMDcyZThiNDZlNmYy
M2FhYTQ3YjAwMDU2NTcuLmI5MjNkZWY0YjUyZjFhMzVhNzc1N2JjYTEzNjhiOWQ5M2JiM2ZjOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xh
eWVyc1RhYkNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0xheWVyc1RhYkNvbnRlbnRWaWV3LmpzCkBAIC02NSw5ICs2NSw5IEBAIFdJ
LkxheWVyc1RhYkNvbnRlbnRWaWV3ID0gY2xhc3MgTGF5ZXJzVGFiQ29udGVudFZpZXcgZXh0ZW5k
cyBXSS5Db250ZW50QnJvd3NlclRhCiAgICAgICAgIHRoaXMuX2xheWVyczNEQ29udGVudFZpZXcu
c2VsZWN0TGF5ZXJGb3JOb2RlKG5vZGUpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRh
Y2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRh
Y2hlZCgpOwogCiAgICAgICAgIHRoaXMuY29udGVudEJyb3dzZXIuc2hvd0NvbnRlbnRWaWV3KHRo
aXMuX2xheWVyczNEQ29udGVudFZpZXcpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFw
aC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRp
bWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwppbmRleCA2NDJkMDBiZThmNzc2OGI3N2UwYWVmYWZhY2Ri
OWI0MTk4N2RkY2I2Li43MzFkM2NkMjQzZDI1NDBjZjg3ZGZhYzBmYTRmMWM5MGRhYmQwM2VmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlv
dXRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC02NCw3
ICs2NCw5IEBAIFdJLkxheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIExheW91dFRp
bWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlRpCiAKICAgICBsYXlvdXQoKQogICAgIHsK
LSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIHN1cGVyLmxheW91dCgpOworCisg
ICAgICAgIGlmICh0aGlzLmhpZGRlbikKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0
aGlzLl91cGRhdGVSb3dMYXlvdXQodGhpcy5fdGltZWxpbmVQYWludFJlY29yZFJvdyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRU
aW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9MYXlvdXRUaW1lbGluZVZpZXcuanMKaW5kZXggMmNjNjYxZTIyODhmYzI2MGIxMmEzZTJiZWM3
YTk1NDM2MmQ1YzdhMS4uZjRlYTQyNmFjMjFhMzBlYjJiMmViMTE2OWMzMTRmNDU4ZWFhMjJhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5
b3V0VGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lVmlldy5qcwpAQCAtMTI3LDIyICsxMjcsMTggQEAgV0ku
TGF5b3V0VGltZWxpbmVWaWV3ID0gY2xhc3MgTGF5b3V0VGltZWxpbmVWaWV3IGV4dGVuZHMgV0ku
VGltZWxpbmVWaWV3CiAgICAgICAgIHJldHVybiBwYXRoQ29tcG9uZW50czsKICAgICB9CiAKLSAg
ICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsK
KyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl91cGRhdGVIaWdobGln
aHQoKTsKLQotICAgICAgICB0aGlzLl9kYXRhR3JpZC5zaG93bigpOwogICAgIH0KIAotICAgIGhp
ZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAgIHsKICAgICAgICAgdGhpcy5faGlkZUhpZ2hsaWdo
dElmTmVlZGVkKCk7CiAKLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZGVuKCk7Ci0KLSAgICAg
ICAgc3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAg
ICAgY2xvc2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanMKaW5kZXggNDY1NGI2NzE3ZGU1MjM5NTdj
ZDNjMGE2MGYzMGRlMjliMmRiMTllNS4uMWI2Y2YyOWI2MmViZmJmYjMxZjU4YjQ2YWZhZjgwZWQz
YjQxMTAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTG9nQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanMKQEAgLTE3OSw5ICsxNzksOSBAQCBXSS5M
b2dDb250ZW50VmlldyA9IGNsYXNzIExvZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZp
ZXcKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFj
aGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFj
aGVkKCk7CiAKICAgICAgICAgdGhpcy5fbG9nVmlld0NvbnRyb2xsZXIucmVuZGVyUGVuZGluZ01l
c3NhZ2VzKCk7CiAgICAgfQpAQCAtMjU1LDcgKzI1NSw3IEBAIFdJLkxvZ0NvbnRlbnRWaWV3ID0g
Y2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgc2hvd0N1
c3RvbUZpbmRCYW5uZXIoKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAg
ICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IHRoaXMuX2ZpbmRCYW5uZXIuZm9jdXMoKTsKQEAgLTI2Myw3ICsyNjMsNyBAQCBXSS5Mb2dDb250
ZW50VmlldyA9IGNsYXNzIExvZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAog
ICAgIGdldCBzdXBwb3J0c1NhdmUoKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUp
CisgICAgICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgICAgIGlmIChXSS5pc1Nob3dpbmdTcGxpdENvbnNvbGUoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lZGlhVGltZWxpbmVP
dmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggY2VjYzAzNGUzYTA1MTNlZjFl
ZmJmNDc1YmNiNTdlYmJlZjY2YTEwNC4uOTk1YTA3M2RkMTdkMGEyZDZiNmExMDMxYTJiYjZhODAw
M2I2MzZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMK
QEAgLTc4LDcgKzc4LDkgQEAgV0kuTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBN
ZWRpYVRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlRpbWUKIAogICAgIGxheW91dCgp
CiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0
KCk7CisKKyAgICAgICAgaWYgKHRoaXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAg
ICAgICAgIGxldCBzZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLnRpbWVsaW5lT3ZlcnZpZXcuc2Vjb25k
c1BlclBpeGVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvTWVkaWFUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9NZWRpYVRpbWVsaW5lVmlldy5qcwppbmRleCAwMDBjMmQ5ZmFiYzRj
MTgwMzMxNzA2ODQwOTBmOThkNzdkYTM3YWFlLi5mYWY4YjQ0NWE1ZmQwY2RlZTc2OGM3MjdiNGZi
NDZjZjk4OGM5NGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9NZWRpYVRpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9NZWRpYVRpbWVsaW5lVmlldy5qcwpAQCAtODcsMjAgKzg3
LDYgQEAgV0kuTWVkaWFUaW1lbGluZVZpZXcgPSBjbGFzcyBNZWRpYVRpbWVsaW5lVmlldyBleHRl
bmRzIFdJLlRpbWVsaW5lVmlldwogICAgICAgICByZXR1cm4gW3BhdGhDb21wb25lbnRdOwogICAg
IH0KIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAg
ICAgdGhpcy5fZGF0YUdyaWQuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsK
LSAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZGVuKCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVu
KCk7Ci0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMucmVwcmVzZW50
ZWRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRl
ZCwgdGhpcy5faGFuZGxlUmVjb3JkQWRkZWQsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVPdmVydmlld0dy
YXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5
VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IDA1MWFlNTEzNDExM2ZkY2QyMTUyNzQ0MjA5
OGM4MWEyN2I3MTQzOWQuLjhlN2MxMzZjN2FlNWYwYTA4ODcxMTk1M2RhNjAxZjc5NmVkNTNlNTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01l
bW9yeVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTgx
LDcgKzgxLDkgQEAgV0kuTWVtb3J5VGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgTWVtb3J5
VGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV0kuVGkKIAogICAgIGxheW91dCgpCiAgICAg
ewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisK
KyAgICAgICAgaWYgKHRoaXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IHRoaXMuX3VwZGF0ZUxlZ2VuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzCmluZGV4
IGQ2NWU0ZWEyNTM4ZmIzMDJiZDljZDdjYTYyOGVmYjk0MDkxNWIxZWIuLjdkMWU5OWRmNjFjY2Ez
NzdkMjcwYTk3MGRhYjVjNDc0ZGVjNzZhNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZpZXcu
anMKQEAgLTEyMSw5ICsxMjEsOSBAQCBXSS5NZW1vcnlUaW1lbGluZVZpZXcgPSBjbGFzcyBNZW1v
cnlUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lbGluZVZpZXcKIAogICAgIC8vIFB1YmxpYwog
Ci0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3du
KCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgdGhpcy5fdGltZWxpbmVS
dWxlci51cGRhdGVMYXlvdXQoV0kuVmlldy5MYXlvdXRSZWFzb24uUmVzaXplKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZp
Z2F0aW9uU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcwppbmRleCA2ODE2NWViNzYwYWVlZDE0
YTllZWVkNmZkNTEzM2VkZTY4MzBlNTU2Li4zNWFjY2YzODZhMWVmNzIxZTMyOGNmMzUxODE4ZDQ0
ZGJkNWUxMzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKQEAgLTQ3
MSwxMSArNDcxLDE0IEBAIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuU2lkZWJhclBhbmVsCiAgICAgICAgIHRyZWVFbGVt
ZW50LmhpZGRlbiA9IHRydWU7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkK
ICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7
CiAKICAgICAgICAgdGhpcy5fdXBkYXRlQ29udGVudE92ZXJmbG93U2hhZG93VmlzaWJpbGl0eURl
Ym91bmNlci5mb3JjZSgpOworCisgICAgICAgIGlmICh0aGlzLl9jb250ZW50QnJvd3NlciAmJiAh
dGhpcy5fY29udGVudEJyb3dzZXIuY3VycmVudENvbnRlbnRWaWV3KQorICAgICAgICAgICAgdGhp
cy5zaG93RGVmYXVsdENvbnRlbnRWaWV3KCk7CiAgICAgfQogCiAgICAgLy8gUHJvdGVjdGVkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3
b3JrRGV0YWlsVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL05ldHdvcmtEZXRhaWxWaWV3LmpzCmluZGV4IGVkZmYxMWEyMjlhNGNhMDE1OGFkZjllZDkw
ODA2OGU0YWUyNzk2YjAuLjZmMzg2ODc4ZTFhNzFhY2YxMmU5ZTZkMzhlMmQ5NDA0OGIwOTIzMDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05l
dHdvcmtEZXRhaWxWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL05ldHdvcmtEZXRhaWxWaWV3LmpzCkBAIC00NSw4ICs0NSwxMCBAQCBXSS5OZXR3
b3JrRGV0YWlsVmlldyA9IGNsYXNzIE5ldHdvcmtEZXRhaWxWaWV3IGV4dGVuZHMgV0kuVmlldwog
CiAgICAgZ2V0IHJlcHJlc2VudGVkT2JqZWN0KCkgeyByZXR1cm4gdGhpcy5fcmVwcmVzZW50ZWRP
YmplY3Q7IH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgeworICAgICAgICBz
dXBlci5hdHRhY2hlZCgpOworCiAgICAgICAgIGlmICghdGhpcy5fY29udGVudEJyb3dzZXIpCiAg
ICAgICAgICAgICByZXR1cm47CiAKQEAgLTU2LDEzICs1OCw2IEBAIFdJLk5ldHdvcmtEZXRhaWxW
aWV3ID0gY2xhc3MgTmV0d29ya0RldGFpbFZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgICAg
ICB0aGlzLl9jb250ZW50QnJvd3Nlci5zaG93Q29udGVudFZpZXcodGhpcy5fY29udGVudEJyb3dz
ZXIuY3VycmVudENvbnRlbnRWaWV3LCB0aGlzLl9jb250ZW50Vmlld0Nvb2tpZSk7CiAgICAgICAg
ICAgICB0aGlzLl9jb250ZW50Vmlld0Nvb2tpZSA9IG51bGw7CiAgICAgICAgIH0KLQotICAgICAg
ICB0aGlzLl9jb250ZW50QnJvd3Nlci5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0g
ICAgewotICAgICAgICB0aGlzLl9jb250ZW50QnJvd3Nlci5oaWRkZW4oKTsKICAgICB9CiAKICAg
ICBkaXNwb3NlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL05ldHdvcmtSZXNvdXJjZURldGFpbFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrUmVzb3VyY2VEZXRhaWxWaWV3LmpzCmlu
ZGV4IDRkOTEyZTNhZmE5NTg0ZDg4NjFmMDcwYjAzYjJkMDA5YmVhZGYxYzUuLjIwNGU3NjQ3MDZl
ODYxZmNkZjI4OTgzMzM2YjliOGIyOTAyYzk2ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtSZXNvdXJjZURldGFpbFZpZXcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1Jl
c291cmNlRGV0YWlsVmlldy5qcwpAQCAtNDMsMTIgKzQzLDEyIEBAIFdJLk5ldHdvcmtSZXNvdXJj
ZURldGFpbFZpZXcgPSBjbGFzcyBOZXR3b3JrUmVzb3VyY2VEZXRhaWxWaWV3IGV4dGVuZHMgV0ku
TmV0d29yCiAKICAgICAvLyBQdWJsaWMKIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAg
ICAgeworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOworCiAgICAgICAgIGlmICh0aGlzLl9jb250
ZW50QnJvd3NlciAmJiB0aGlzLl9jb250ZW50Vmlld0Nvb2tpZSAmJiAibGluZU51bWJlciIgaW4g
dGhpcy5fY29udGVudFZpZXdDb29raWUgJiYgImNvbHVtbk51bWJlciIgaW4gdGhpcy5fY29udGVu
dFZpZXdDb29raWUpCiAgICAgICAgICAgICB0aGlzLl9jb250ZW50QnJvd3Nlci5uYXZpZ2F0aW9u
QmFyLnNlbGVjdGVkTmF2aWdhdGlvbkl0ZW0gPSB0aGlzLmRldGFpbE5hdmlnYXRpb25JdGVtRm9y
SWRlbnRpZmllcigicHJldmlldyIpOwotCi0gICAgICAgIHN1cGVyLnNob3duKCk7CiAgICAgfQog
CiAgICAgLy8gUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcgZGVsZWdhdGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJDb250
ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05l
dHdvcmtUYWJDb250ZW50Vmlldy5qcwppbmRleCA0NzYyNzlmYjYzYWVjZGQ2ZTk4ZjdkMDgyZDgw
ZDhlNDc1NjlmMjAxLi5kNTZiMTYwNDAwMWY1NzEyOWExY2NkOTUxMjQ4NWZkZjFjMmVhN2U5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3
b3JrVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTmV0d29ya1RhYkNvbnRlbnRWaWV3LmpzCkBAIC02MSwyMCArNjEsNiBAQCBX
SS5OZXR3b3JrVGFiQ29udGVudFZpZXcgPSBjbGFzcyBOZXR3b3JrVGFiQ29udGVudFZpZXcgZXh0
ZW5kcyBXSS5UYWJDb250ZW50VmlldwogCiAgICAgLy8gUHJvdGVjdGVkCiAKLSAgICBzaG93bigp
Ci0gICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAgIHRoaXMuX2NvbnRlbnRC
cm93c2VyLnNob3duKCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHRo
aXMuX2NvbnRlbnRCcm93c2VyLmhpZGRlbigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOwot
ICAgIH0KLQogICAgIGNsb3NlZCgpCiAgICAgewogICAgICAgICB0aGlzLl9jb250ZW50QnJvd3Nl
ci5jb250ZW50Vmlld0NvbnRhaW5lci5jbG9zZUFsbENvbnRlbnRWaWV3cygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxl
Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcwppbmRleCBiNTMyNGNhNjI3YjNlMDNmNmY2NTBj
NDQ2YWVjNjJmY2FjZGUwOTYzLi5kZDYwZWJiMDY0MmE0NzcxMDYyZGNmNGEyNDNiNWY3YmZjMTM2
MWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcwpAQCAtMjcxLDI1
ICsyNzEsMTEgQEAgV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcgPSBjbGFzcyBOZXR3b3JrVGFi
bGVDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWUKICAgICAgICAgcmV0dXJuIHtjdXN0
b21TYXZlSGFuZGxlcjogKCkgPT4geyB0aGlzLl9leHBvcnRIQVIoKTsgfX07CiAgICAgfQogCi0g
ICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAgICBpZiAo
dGhpcy5fZGV0YWlsVmlldykKLSAgICAgICAgICAgIHRoaXMuX2RldGFpbFZpZXcuc2hvd24oKTsK
LQotICAgICAgICBpZiAodGhpcy5fdGFibGUpCi0gICAgICAgICAgICB0aGlzLl90YWJsZS5yZXN0
b3JlU2Nyb2xsUG9zaXRpb24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVk
KCkKICAgICB7CiAgICAgICAgIHRoaXMuX2hpZGVQb3BvdmVyKCk7CiAKLSAgICAgICAgaWYgKHRo
aXMuX2RldGFpbFZpZXcpCi0gICAgICAgICAgICB0aGlzLl9kZXRhaWxWaWV3LmhpZGRlbigpOwot
Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAg
IH0KIAogICAgIGNsb3NlZCgpCkBAIC0xNTUyLDggKzE1MzgsNiBAQCBXSS5OZXR3b3JrVGFibGVD
b250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29u
dGVudFZpZQogICAgICAgICB0aGlzLl90YWJsZS5zY3JvbGxDb250YWluZXIuc3R5bGUucmVtb3Zl
UHJvcGVydHkoIndpZHRoIik7CiAKICAgICAgICAgdGhpcy5yZW1vdmVTdWJ2aWV3KHRoaXMuX2Rl
dGFpbFZpZXcpOwotCi0gICAgICAgIHRoaXMuX2RldGFpbFZpZXcuaGlkZGVuKCk7CiAgICAgICAg
IHRoaXMuX2RldGFpbFZpZXcgPSBudWxsOwogCiAgICAgICAgIHRoaXMuX3RhYmxlLnVwZGF0ZUxh
eW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOwpAQCAtMTU3OCwxNyArMTU2MiwxNCBA
QCBXSS5OZXR3b3JrVGFibGVDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJsZUNvbnRlbnRW
aWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZQogICAgICAgICAgICAgdGhpcy5fZGV0YWlsVmlld01h
cC5zZXQob2JqZWN0LCB0aGlzLl9kZXRhaWxWaWV3KTsKICAgICAgICAgfQogCi0gICAgICAgIGlm
IChvbGREZXRhaWxWaWV3KSB7Ci0gICAgICAgICAgICBvbGREZXRhaWxWaWV3LmhpZGRlbigpOwor
ICAgICAgICBpZiAob2xkRGV0YWlsVmlldykKICAgICAgICAgICAgIHRoaXMucmVwbGFjZVN1YnZp
ZXcob2xkRGV0YWlsVmlldywgdGhpcy5fZGV0YWlsVmlldyk7Ci0gICAgICAgIH0gZWxzZQorICAg
ICAgICBlbHNlCiAgICAgICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fZGV0YWlsVmlldyk7
CiAKICAgICAgICAgaWYgKHRoaXMuX3Nob3dpbmdSZXByZXNlbnRlZE9iamVjdENvb2tpZSkKICAg
ICAgICAgICAgIHRoaXMuX2RldGFpbFZpZXcud2lsbFNob3dXaXRoQ29va2llKHRoaXMuX3Nob3dp
bmdSZXByZXNlbnRlZE9iamVjdENvb2tpZSk7CiAKLSAgICAgICAgdGhpcy5fZGV0YWlsVmlldy5z
aG93bigpOwotCiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJzaG93aW5nLWRl
dGFpbCIpOwogICAgICAgICB0aGlzLl90YWJsZS5zY3JvbGxDb250YWluZXIuc3R5bGUud2lkdGgg
PSB0aGlzLl9uYW1lQ29sdW1uLndpZHRoICsgInB4IjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdH
cmFwaC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdv
cmtUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggMzI4M2Y5MzJlMTFjYjUzNDgyMTc0ZjQ5
ZGYzNDk4NmIwZmM0YTAzOS4uYWFiM2JkMGI4NDMyMzViODg4M2U5ZjBiYWIzODFjYzc0M2FhYzVi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
TmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBA
IC02OCw3ICs2OCw5IEBAIFdJLk5ldHdvcmtUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBO
ZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV0kuCiAKICAgICBsYXlvdXQoKQog
ICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIHN1cGVyLmxheW91dCgp
OworCisgICAgICAgIGlmICh0aGlzLmhpZGRlbikKICAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICBsZXQgc2Vjb25kc1BlclBpeGVsID0gdGhpcy50aW1lbGluZU92ZXJ2aWV3LnNlY29uZHNQ
ZXJQaXhlbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL05ldHdvcmtUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVWaWV3LmpzCmluZGV4IDEwYTBmNDQyZTQy
NDkwMTBhODgwYmY0ODFkYzQzNmQwNTcxNTlkNTcuLjVhOGY0NjRjYTJiZDdjMzUwYWFhM2VlYjE1
M2IwOTc2OTkyZDRkOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL05ldHdvcmtUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcwpAQCAtMTYx
LDIwICsxNjEsNiBAQCBXSS5OZXR3b3JrVGltZWxpbmVWaWV3ID0gY2xhc3MgTmV0d29ya1RpbWVs
aW5lVmlldyBleHRlbmRzIFdJLlRpbWVsaW5lVmlldwogICAgICAgICByZXR1cm4gW3BhdGhDb21w
b25lbnRdOwogICAgIH0KIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3du
KCk7Ci0KLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRk
ZW4oKQotICAgIHsKLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZGVuKCk7Ci0KLSAgICAgICAg
c3VwZXIuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHRo
aXMucmVwcmVzZW50ZWRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZS5FdmVu
dC5SZWNvcmRBZGRlZCwgdGhpcy5fbmV0d29ya1RpbWVsaW5lUmVjb3JkQWRkZWQsIHRoaXMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT3Zl
cnZpZXdUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcwppbmRleCBiMWRmYzBiNjViYzM1ZWY0MjIz
OTJiYzU4NTViMWQ2MDhhMDZkN2YyLi5lYWMzZDAwOTJkNjE3ZWIzMjQ1OGM5NzA1ZjUxYWRjOTNm
ZjYxMDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcwpAQCAtOTcsOSArOTcs
OSBAQCBXSS5PdmVydmlld1RpbWVsaW5lVmlldyA9IGNsYXNzIE92ZXJ2aWV3VGltZWxpbmVWaWV3
IGV4dGVuZHMgV0kuVGltZWxpbmVWaWV3CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuc2Vj
b25kc1BlclBpeGVsID0geDsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQog
ICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsK
IAogICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnVwZGF0ZUxheW91dChXSS5WaWV3LkxheW91
dFJlYXNvbi5SZXNpemUpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlY29yZGluZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVjb3JkaW5nQ29udGVudFZpZXcuanMK
aW5kZXggNWFlYzE4NTEzY2ZkODE4ZTM0MzI2MjE5NThkMzRhNGU3ZmEzYWFhNC4uYWJlNDg4NmNk
ZTU5NDU3YTU3MGZhZDkxMWExYmRiMzZjZjBiNTcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVjb3JkaW5nQ29udGVudFZpZXcuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVjb3JkaW5nQ29u
dGVudFZpZXcuanMKQEAgLTExOSw5ICsxMTksOSBAQCBXSS5SZWNvcmRpbmdDb250ZW50VmlldyA9
IGNsYXNzIFJlY29yZGluZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAg
ICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuQ29udGVudFZpZXcuRXZlbnQuU3Vw
cGxlbWVudGFsUmVwcmVzZW50ZWRPYmplY3RzRGlkQ2hhbmdlKTsKICAgICB9CiAKLSAgICBzaG93
bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAg
ICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICBsZXQgaXNDYW52YXMyRCA9IHRoaXMucmVw
cmVzZW50ZWRPYmplY3QudHlwZSA9PT0gV0kuUmVjb3JkaW5nLlR5cGUuQ2FudmFzMkQ7CiAgICAg
ICAgIGxldCBpc0NhbnZhc0JpdG1hcFJlbmRlcmVyID0gdGhpcy5yZXByZXNlbnRlZE9iamVjdC50
eXBlID09PSBXSS5SZWNvcmRpbmcuVHlwZS5DYW52YXNCaXRtYXBSZW5kZXJlcjsKQEAgLTEzNCwx
MSArMTM0LDExIEBAIFdJLlJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgUmVjb3JkaW5nQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB9CiAgICAgfQogCi0gICAg
aGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsK
LQogICAgICAgICB0aGlzLl9nZW5lcmF0ZUNvbnRlbnRUaHJvdHRsZXIuY2FuY2VsKCk7CisKKyAg
ICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMK
aW5kZXggODI4NWNiN2JmN2Y0Yzg3MGUyYzBlMjMxMjdkZmRjYmMzYTRhNzIyMy4uYjcxNTYwYzMw
MzRjNzAyMjY2YjM3YjA0NWFlYzY1NWY3ZTUxNjM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2
aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTEwMiw3ICsxMDIs
OSBAQCBXSS5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFJlbmRl
cmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYQogCiAgICAgbGF5b3V0KCkKICAgICB7Ci0gICAg
ICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBzdXBlci5sYXlvdXQoKTsKKworICAgICAg
ICBpZiAodGhpcy5oaWRkZW4pCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKCF0
aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lLnJlY29yZHMubGVuZ3RoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVU
aW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcwppbmRleCBjYmMwMGIwNjJhMmJiYThmY2Nh
Y2ZlYmE3YzQ3Y2MyNzBmNWI2YzY3Li4zMDc4ZDg1ODhlOWRlNGUxYWM1MzVkNzU5OTE2MGM5ZGNi
ZmNlMTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcwpA
QCAtMTE1LDIwICsxMTUsNiBAQCBXSS5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldyA9IGNsYXNz
IFJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuVGltZQogCiAgICAgZ2V0IHNo
b3dzTGl2ZVJlY29yZGluZ0RhdGEoKSB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgc2hvd24oKQot
ICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAgICB0aGlzLl9kYXRhR3JpZC5z
aG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICB0aGlzLl9kYXRh
R3JpZC5oaWRkZW4oKTsKLQotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBj
bG9zZWQoKQogICAgIHsKICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1vdmVFdmVu
dExpc3RlbmVyKFdJLlRpbWVsaW5lLkV2ZW50LlJlY29yZEFkZGVkLCB0aGlzLl9yZW5kZXJpbmdG
cmFtZVRpbWVsaW5lUmVjb3JkQWRkZWQsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDbHVzdGVyQ29udGVudFZpZXcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNs
dXN0ZXJDb250ZW50Vmlldy5qcwppbmRleCBiN2ZhMmExN2Y3ZWZhYTliMTc4ZGVkOWNlOGMzMjIw
NWU2ZTk5YjAwLi43OTkwMDVmNTgyZGY3NWMxY2YxYzNlZWNmYjZkMTZlNjI1MTYzZWNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJj
ZUNsdXN0ZXJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNsdXN0ZXJDb250ZW50Vmlldy5qcwpAQCAtNzcsOSArNzcs
OSBAQCBXSS5SZXNvdXJjZUNsdXN0ZXJDb250ZW50VmlldyA9IGNsYXNzIFJlc291cmNlQ2x1c3Rl
ckNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ2x1cwogICAgICAgICByZXR1cm4gY29tcG9uZW50cy5j
b25jYXQoY3VycmVudENvbnRlbnRWaWV3LnNlbGVjdGlvblBhdGhDb21wb25lbnRzKTsKICAgICB9
CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hv
d24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICBpZiAodGhpcy5fc2hv
d25Jbml0aWFsQ29udGVudCkKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlSGVhZGVyc0NvbnRl
bnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVz
b3VyY2VIZWFkZXJzQ29udGVudFZpZXcuanMKaW5kZXggMTYyMmNjMWY5NWNiNzAzZGNmYWFiZDMy
NGYyZjQyMmZkZmRlMjRkNC4uY2MxYmQ0NTBhN2IwNGVjODkyYWQxMTFkZjkwNGU5NmI0OTM1YjQ2
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
UmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcuanMKQEAgLTEy
MiwxMiArMTIyLDEyIEBAIFdJLlJlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3ID0gY2xhc3MgUmVz
b3VyY2VIZWFkZXJzQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250CiAgICAgICAgIH0KICAgICB9
CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLmhp
ZGRlbigpOwotCiAgICAgICAgIGlmICh0aGlzLl9wb3BvdmVyKQogICAgICAgICAgICAgdGhpcy5f
cG9wb3Zlci5kaXNtaXNzKCk7CisKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAK
ICAgICBjbG9zZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU2NyaXB0Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRDb250ZW50Vmlldy5qcwppbmRleCBiN2Y2MTM4Yjk2
YTdkYjVjMjFiMWY2MDY1NjM5MzZmMTU4MDhmMjVjLi5lYTFhMjQzZTY0ZDBiNTVmZWVmOTViNGEz
MzFmYWZhMDRhNWY5YzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TY3JpcHRDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRDb250ZW50Vmlldy5qcwpAQCAtMTE0LDIw
ICsxMTQsNiBAQCBXSS5TY3JpcHRDb250ZW50VmlldyA9IGNsYXNzIFNjcmlwdENvbnRlbnRWaWV3
IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgdGhpcy5fdGV4dEVkaXRvci5yZXZlYWxQ
b3NpdGlvbihwb3NpdGlvbiwgdGV4dFJhbmdlVG9TZWxlY3QsIGZvcmNlVW5mb3JtYXR0ZWQpOwog
ICAgIH0KIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAg
ICAgICAgdGhpcy5fdGV4dEVkaXRvci5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0g
ICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAgICB0aGlzLl90ZXh0RWRpdG9y
LmhpZGRlbigpOwotICAgIH0KLQogICAgIGNsb3NlZCgpCiAgICAgewogICAgICAgICBzdXBlci5j
bG9zZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzCmluZGV4
IDU2NGQ1Y2Y1MGQ5MDQxN2JkYmU5NzRiODVmZDc0ZTc5NmY1MTJiMGIuLmZkYTc0MzExNWE0NzFi
Y2ZjZjg4YTZlZmNhYWVjYjJiNGQyYWRmZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWls
c1RpbWVsaW5lVmlldy5qcwpAQCAtOTAsMjAgKzkwLDYgQEAgV0kuU2NyaXB0RGV0YWlsc1RpbWVs
aW5lVmlldyA9IGNsYXNzIFNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1l
bGkKIAogICAgIGdldCBzaG93c0xpdmVSZWNvcmRpbmdEYXRhKCkgeyByZXR1cm4gZmFsc2U7IH0K
IAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAgICAg
dGhpcy5fZGF0YUdyaWQuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAg
ICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZGVuKCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7
Ci0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRP
YmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwg
dGhpcy5fc2NyaXB0VGltZWxpbmVSZWNvcmRBZGRlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2
aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
Y3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggOGUzOGViZjhhZjlhM2IyMGQ2YzQ4
NDBjYzYxMWRjMTdhMGYzNjU3ZS4uMmM0MmIzNmY3ZjFkMGU0M2FhODgyY2E3NzY2YThjOTRiNzhi
Mzk2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwpA
QCAtNTIsNyArNTIsOSBAQCBXSS5TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBT
Y3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5kcyBXSS5UaQogCiAgICAgbGF5b3V0KCkK
ICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBzdXBlci5sYXlvdXQo
KTsKKworICAgICAgICBpZiAodGhpcy5oaWRkZW4pCiAgICAgICAgICAgICByZXR1cm47CiAKICAg
ICAgICAgbGV0IHNlY29uZHNQZXJQaXhlbCA9IHRoaXMudGltZWxpbmVPdmVydmlldy5zZWNvbmRz
UGVyUGl4ZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9TZWFyY2hUYWJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFRhYkNvbnRlbnRWaWV3LmpzCmluZGV4IGMyYWYxNWE5
NzFmZGQ1N2E4NjZhYTkxOTg1ODEzNzdkZGQ1ZTMwM2QuLmM1MjhhYjhkMzY4NGUwYzQ3YmM5NjQ2
ZGM0OTEyMWNiNmM1MWFhMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFRhYkNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFRhYkNvbnRlbnRWaWV3LmpzCkBA
IC03Miw5ICs3Miw5IEBAIFdJLlNlYXJjaFRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgU2VhcmNoVGFi
Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3NlclRhCiAgICAgICAgIHJldHVybiBX
SS5TZWFyY2hUYWJDb250ZW50Vmlldy5UeXBlOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBh
dHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5h
dHRhY2hlZCgpOwogCiAgICAgICAgIC8vIFBlcmZvcm0gb24gYSBkZWxheSBiZWNhdXNlIHRoZSBm
aWVsZCBtaWdodCBub3QgYmUgdmlzaWJsZSB5ZXQuCiAgICAgICAgIHNldFRpbWVvdXQodGhpcy5m
b2N1c1NlYXJjaEZpZWxkLmJpbmQodGhpcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2hhZGVyUHJvZ3JhbUNvbnRlbnRWaWV3LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2hhZGVyUHJvZ3JhbUNv
bnRlbnRWaWV3LmpzCmluZGV4IDUxZWY2MTE1NTMyMGNkOWUyMDk0YmY1MzcxYzViM2U0MmI4ZmNm
OGMuLmUyMmE0ZGJmODllNjk2NmQxM2IxYjU3YTU4OTBkZmViYjdmN2MzNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NoYWRlclByb2dyYW1D
b250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TaGFkZXJQcm9ncmFtQ29udGVudFZpZXcuanMKQEAgLTExOCw0MiArMTE4LDEzIEBAIFdJ
LlNoYWRlclByb2dyYW1Db250ZW50VmlldyA9IGNsYXNzIFNoYWRlclByb2dyYW1Db250ZW50Vmll
dyBleHRlbmRzIFdJLkNvbnRlbnRWCiAKICAgICAvLyBQcm90ZWN0ZWQKIAotICAgIHNob3duKCkK
KyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAg
IHN3aXRjaCAodGhpcy5yZXByZXNlbnRlZE9iamVjdC5wcm9ncmFtVHlwZSkgewotICAgICAgICBj
YXNlIFdJLlNoYWRlclByb2dyYW0uUHJvZ3JhbVR5cGUuQ29tcHV0ZToKLSAgICAgICAgICAgIHRo
aXMuX2NvbXB1dGVFZGl0b3Iuc2hvd24oKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAg
IGNhc2UgV0kuU2hhZGVyUHJvZ3JhbS5Qcm9ncmFtVHlwZS5SZW5kZXI6Ci0gICAgICAgICAgICB0
aGlzLl92ZXJ0ZXhFZGl0b3Iuc2hvd24oKTsKLSAgICAgICAgICAgIGlmICghdGhpcy5yZXByZXNl
bnRlZE9iamVjdC5zaGFyZXNWZXJ0ZXhGcmFnbWVudFNoYWRlcikKLSAgICAgICAgICAgICAgICB0
aGlzLl9mcmFnbWVudEVkaXRvci5zaG93bigpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl9yZWZyZXNoQ29u
dGVudCgpOwogICAgIH0KIAotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRo
aXMucmVwcmVzZW50ZWRPYmplY3QucHJvZ3JhbVR5cGUpIHsKLSAgICAgICAgY2FzZSBXSS5TaGFk
ZXJQcm9ncmFtLlByb2dyYW1UeXBlLkNvbXB1dGU6Ci0gICAgICAgICAgICB0aGlzLl9jb21wdXRl
RWRpdG9yLmhpZGRlbigpOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSBXSS5T
aGFkZXJQcm9ncmFtLlByb2dyYW1UeXBlLlJlbmRlcjoKLSAgICAgICAgICAgIHRoaXMuX3ZlcnRl
eEVkaXRvci5oaWRkZW4oKTsKLSAgICAgICAgICAgIGlmICghdGhpcy5yZXByZXNlbnRlZE9iamVj
dC5zaGFyZXNWZXJ0ZXhGcmFnbWVudFNoYWRlcikKLSAgICAgICAgICAgICAgICB0aGlzLl9mcmFn
bWVudEVkaXRvci5oaWRkZW4oKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAg
ICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgZ2V0IHN1cHBvcnRzU2F2ZSgpCiAg
ICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyLmpzCmluZGV4IDdmZmE5YjBlMDZlOTA4MzBh
ZTU0NDQyZmUyZGI2YTUyODUwOWY2YmQuLjdkYTQ4ZDRkNmQ0NjgzNzAxNGVmOTllZjM4YWFmN2Jh
ZGQ3ZTNjZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NpZGViYXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU2lkZWJhci5qcwpAQCAtMTI2LDE0ICsxMjYsNyBAQCBXSS5TaWRlYmFyID0gY2xh
c3MgU2lkZWJhciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdGhpcy5fY29sbGFwc2VkID0gZmxh
ZyB8fCBmYWxzZTsKICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoV0kuU2lk
ZWJhci5Db2xsYXBzZWRTdHlsZUNsYXNzTmFtZSk7CiAKLSAgICAgICAgaWYgKHRoaXMuX3NlbGVj
dGVkU2lkZWJhclBhbmVsKSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaWRlYmFy
UGFuZWwudmlzaWJsZSkKLSAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFNpZGViYXJQYW5l
bC5zaG93bigpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVj
dGVkU2lkZWJhclBhbmVsLmhpZGRlbigpOwotICAgICAgICB9Ci0KLSAgICAgICAgdGhpcy5kaWRT
ZXRDb2xsYXBzZWQoZmxhZyk7CisgICAgICAgIHRoaXMuZGlkU2V0Q29sbGFwc2VkKCk7CiAKICAg
ICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuU2lkZWJhci5FdmVudC5Db2xs
YXBzZWRTdGF0ZURpZENoYW5nZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhclBhbmVsLmpzCmluZGV4IDY2NDcy
OTg0YTQ0N2RkMDZhNjNlM2ZlMzc1NTljNzQ4OWJkZTQ3NjMuLjQ4NWQxM2I2Mzc5Mzg3ZTk0Mzg4
NzlkNDg3Zjc5MzE1NjhjMThkMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyUGFuZWwuanMKQEAgLTExNCwyMSArMTE0
LDE4IEBAIFdJLlNpZGViYXJQYW5lbCA9IGNsYXNzIFNpZGViYXJQYW5lbCBleHRlbmRzIFdJLlZp
ZXcKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRh
Y2hlZCgpCiAgICAgeworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOworCiAgICAgICAgIHRoaXMu
c2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLl9zYXZlZFNjcm9sbFBvc2l0aW9uOwotCi0g
ICAgICAgIC8vIEZJWE1FOiByZW1vdmUgb25jZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTUwNzQx
PiBpcyBmaXhlZC4KLSAgICAgICAgdGhpcy51cGRhdGVMYXlvdXRJZk5lZWRlZCgpOwotCi0gICAg
ICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuCiAgICAgfQogCi0gICAgaGlkZGVuKCkK
KyAgICBkZXRhY2hlZCgpCiAgICAgewogICAgICAgICB0aGlzLl9zYXZlZFNjcm9sbFBvc2l0aW9u
ID0gdGhpcy5zY3JvbGxFbGVtZW50LnNjcm9sbFRvcDsKIAotICAgICAgICAvLyBJbXBsZW1lbnRl
ZCBieSBzdWJjbGFzc2VzLgorICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAg
IC8vIFByb3RlY3RlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU2luZ2xlU2lkZWJhci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NpbmdsZVNpZGViYXIuanMKaW5kZXggYzI3YzY3YTExMTQyODJlZjgw
Nzg3YmU4YzE1ZDYyYTM3YWQ3NjA3YS4uOWI2MDJkZGM1M2UwOGEyYTgwY2RhN2I5YjNjYzk3MTMz
MGYyYWI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2luZ2xlU2lkZWJhci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TaW5nbGVTaWRlYmFyLmpzCkBAIC0xMDAsMjAgKzEwMCwxNiBAQCBXSS5T
aW5nbGVTaWRlYmFyID0gY2xhc3MgU2luZ2xlU2lkZWJhciBleHRlbmRzIFdJLlNpZGViYXIKICAg
ICB3aWxsU2V0U2VsZWN0ZWRTaWRlYmFyUGFuZWwoc2lkZWJhclBhbmVsKQogICAgIHsKICAgICAg
ICAgaWYgKHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpIHsKLSAgICAgICAgICAgIHRoaXMuc2Vs
ZWN0ZWRTaWRlYmFyUGFuZWwuaGlkZGVuKCk7Ci0gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2lk
ZWJhclBhbmVsLnNlbGVjdGVkID0gZmFsc2U7CiAgICAgICAgICAgICB0aGlzLnJlbW92ZVN1YnZp
ZXcodGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbCk7CisgICAgICAgICAgICB0aGlzLnNlbGVjdGVk
U2lkZWJhclBhbmVsLnNlbGVjdGVkID0gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBk
aWRTZXRTZWxlY3RlZFNpZGViYXJQYW5lbChzaWRlYmFyUGFuZWwpCiAgICAgewogICAgICAgICBp
ZiAodGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbCkgewotICAgICAgICAgICAgdGhpcy5hZGRTdWJ2
aWV3KHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpOwogICAgICAgICAgICAgdGhpcy5zZWxlY3Rl
ZFNpZGViYXJQYW5lbC5zZWxlY3RlZCA9IHRydWU7Ci0gICAgICAgICAgICBpZiAoIXRoaXMuY29s
bGFwc2VkKSB7Ci0gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbC5zaG93
bigpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuc2Vs
ZWN0ZWRTaWRlYmFyUGFuZWwpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRoaXMuX25hdmln
YXRpb25CYXIpCkBAIC0xMjIsNiArMTE4LDE2IEBAIFdJLlNpbmdsZVNpZGViYXIgPSBjbGFzcyBT
aW5nbGVTaWRlYmFyIGV4dGVuZHMgV0kuU2lkZWJhcgogCiAgICAgZGlkU2V0Q29sbGFwc2VkKGZs
YWcpCiAgICAgeworICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbCkgeworICAg
ICAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkKSB7CisgICAgICAgICAgICAgICAgaWYgKHRoaXMu
c2VsZWN0ZWRTaWRlYmFyUGFuZWwuaXNBdHRhY2hlZCkKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy5yZW1vdmVTdWJ2aWV3KHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpOworICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwu
aXNBdHRhY2hlZCkKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuc2Vs
ZWN0ZWRTaWRlYmFyUGFuZWwpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAg
aWYgKCFmbGFnICYmIHRoaXMuX25hdmlnYXRpb25CYXIpCiAgICAgICAgICAgICB0aGlzLl9uYXZp
Z2F0aW9uQmFyLm5lZWRzTGF5b3V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVk
aXRvci5qcwppbmRleCA5YWFiYjNlYjc4ZTRhMDI4MjQ5NWIzZTA1MDEwNWU0ZjJlNjNjOTY3Li41
ZWE5NjMzNjQ3NjdmY2FkNWM0N2UyZWEyNzdiZDc5ZWYxNDdhZDBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRv
ci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3Vy
Y2VDb2RlVGV4dEVkaXRvci5qcwpAQCAtMTI0LDkgKzEyNCw5IEBAIFdJLlNvdXJjZUNvZGVUZXh0
RWRpdG9yID0gY2xhc3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5kcyBXSS5UZXh0RWRpdG9y
CiAgICAgICAgIHJldHVybiBXSS5tYWluVGFyZ2V0OwogICAgIH0KIAotICAgIHNob3duKCkKKyAg
ICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBl
ci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGlmIChXSS5zZXR0aW5ncy5zaG93SmF2YVNjcmlwdFR5
cGVJbmZvcm1hdGlvbi52YWx1ZSkgewogICAgICAgICAgICAgaWYgKHRoaXMuX3R5cGVUb2tlbkFu
bm90YXRvcikKQEAgLTE0OSwxMCArMTQ5LDggQEAgV0kuU291cmNlQ29kZVRleHRFZGl0b3IgPSBj
bGFzcyBTb3VyY2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdJLlRleHRFZGl0b3IKICAgICAgICAg
fQogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAgIHsKLSAgICAgICAg
c3VwZXIuaGlkZGVuKCk7Ci0KICAgICAgICAgdGhpcy50b2tlblRyYWNraW5nQ29udHJvbGxlci5y
ZW1vdmVIaWdobGlnaHRlZFJhbmdlKCk7CiAKICAgICAgICAgdGhpcy5fZGlzbWlzc1BvcG92ZXIo
KTsKQEAgLTE2Myw2ICsxNjEsOCBAQCBXSS5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9IGNsYXNzIFNv
dXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVGV4dEVkaXRvcgogICAgICAgICAgICAgdGhp
cy5fdHlwZVRva2VuQW5ub3RhdG9yLnBhdXNlKCk7CiAgICAgICAgIGlmICh0aGlzLl9iYXNpY0Js
b2NrQW5ub3RhdG9yKQogICAgICAgICAgICAgdGhpcy5fYmFzaWNCbG9ja0Fubm90YXRvci5wYXVz
ZSgpOworCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgY2xvc2UoKQpA
QCAtMjE0Miw3ICsyMTQyLDcgQEAgV0kuU291cmNlQ29kZVRleHRFZGl0b3IgPSBjbGFzcyBTb3Vy
Y2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdJLlRleHRFZGl0b3IKICAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICBpZiAoc2hvdWxkQWN0aXZhdGUpIHsKLSAgICAgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KHRoaXMudmlzaWJsZSwgIkFubm90YXRvcnMgc2hvdWxkIG5vdCBiZSBlbmFibGVkIGlm
IHRoZSBUZXh0RWRpdG9yIGlzIG5vdCB2aXNpYmxlIik7CisgICAgICAgICAgICBjb25zb2xlLmFz
c2VydCh0aGlzLmlzQXR0YWNoZWQsICJBbm5vdGF0b3JzIHNob3VsZCBub3QgYmUgZW5hYmxlZCBp
ZiB0aGUgVGV4dEVkaXRvciBpcyBub3QgdmlzaWJsZSIpOwogCiAgICAgICAgICAgICB0aGlzLl90
eXBlVG9rZW5Bbm5vdGF0b3IucmVzZXQoKTsKIApAQCAtMjE2Niw3ICsyMTY2LDcgQEAgV0kuU291
cmNlQ29kZVRleHRFZGl0b3IgPSBjbGFzcyBTb3VyY2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdJ
LlRleHRFZGl0b3IKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAoc2hvdWxkQWN0
aXZhdGUpIHsKLSAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMudmlzaWJsZSwgIkFubm90
YXRvcnMgc2hvdWxkIG5vdCBiZSBlbmFibGVkIGlmIHRoZSBUZXh0RWRpdG9yIGlzIG5vdCB2aXNp
YmxlIik7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzQXR0YWNoZWQsICJBbm5v
dGF0b3JzIHNob3VsZCBub3QgYmUgZW5hYmxlZCBpZiB0aGUgVGV4dEVkaXRvciBpcyBub3Qgdmlz
aWJsZSIpOwogCiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fYmFzaWNCbG9ja0Fu
bm90YXRvci5pc0FjdGl2ZSgpKTsKICAgICAgICAgICAgIHRoaXMuX2Jhc2ljQmxvY2tBbm5vdGF0
b3IucmVzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvbkVkaXRvci5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVE
ZWNsYXJhdGlvbkVkaXRvci5qcwppbmRleCBmM2U4NTQ5YWYyNDExZjk2NjM5ZTgyMjFmNDlhNTlh
ODVjYjUyMGQ4Li42NWJhMzUyNWE0YThkNDY2ZmRiMjBhZjM2ODBjZjI3Yjk3YWNjNjg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRz
aGVldENTU1N0eWxlRGVjbGFyYXRpb25FZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uRWRp
dG9yLmpzCkBAIC0xMjcsMTIgKzEyNyw4IEBAIFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJh
dGlvbkVkaXRvciA9IGNsYXNzIFNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvbkVkCiAKICAg
ICAgICAgZm9yIChsZXQgcHJvcGVydHlWaWV3IG9mIHRoaXMuX3Byb3BlcnR5Vmlld3MpCiAgICAg
ICAgICAgICBwcm9wZXJ0eVZpZXcuZGV0YWNoZWQoKTsKLSAgICB9CiAKLSAgICBoaWRkZW4oKQot
ICAgIHsKLSAgICAgICAgZm9yIChsZXQgcHJvcGVydHlWaWV3IG9mIHRoaXMuX3Byb3BlcnR5Vmll
d3MpCi0gICAgICAgICAgICBwcm9wZXJ0eVZpZXcuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmRl
dGFjaGVkKCk7CiAgICAgfQogCiAgICAgZ2V0IHN0eWxlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNs
YXJhdGlvblNlY3Rpb24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCmluZGV4IDcwODY3
ODVkNWNkNmY1MDQ2MDA2YWQ4YzQ1ZTBlMWU0ZGE0NTE3YjAuLjNjNDEwZjczMmU1Yzc2NDZhNmRl
MThmYjdmYTY1ZGI3YzJjNTBiNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24u
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFk
c2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcwpAQCAtMTg3LDExICsxODcsNiBAQCBX
SS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gY2xhc3MgU3ByZWFkc2hl
ZXRDU1NTdHlsZURlY2xhcmF0aW9uUwogICAgICAgICAgICAgdGhpcy5zdGFydEVkaXRpbmdSdWxl
U2VsZWN0b3IoKTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgdGhpcy5f
cHJvcGVydGllc0VkaXRvci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBzdGFydEVkaXRpbmdSdWxl
U2VsZWN0b3IoKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9zZWxlY3RvckVsZW1lbnQpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nw
cmVhZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbC5q
cwppbmRleCAxOWFmZDdhZTNkZjczOGJhYTNhYTg1ODNlMzJjN2JlNmVjZTg1NTU1Li4yZTQwNzgy
MTgzN2ExODZmOGY5MzJjOTc2MWY2M2M4MTIwZDU4NzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldFJ1bGVzU3R5bGVEZXRh
aWxzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU3ByZWFkc2hlZXRSdWxlc1N0eWxlRGV0YWlsc1BhbmVsLmpzCkBAIC02NiwxNCArNjYsNiBA
QCBXSS5TcHJlYWRzaGVldFJ1bGVzU3R5bGVEZXRhaWxzUGFuZWwgPSBjbGFzcyBTcHJlYWRzaGVl
dFJ1bGVzU3R5bGVEZXRhaWxzUGFuZWwgZQogICAgICAgICBzdXBlci5yZWZyZXNoKHNpZ25pZmlj
YW50Q2hhbmdlKTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgZm9yIChs
ZXQgc2VjdGlvbiBvZiB0aGlzLl9zZWN0aW9ucykKLSAgICAgICAgICAgIHNlY3Rpb24uaGlkZGVu
KCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgc2Nyb2xsVG9TZWN0
aW9uQW5kSGlnaGxpZ2h0UHJvcGVydHkocHJvcGVydHkpCiAgICAgewogICAgICAgICBpZiAoIXRo
aXMuX3Zpc2libGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eS5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eS5qcwpp
bmRleCAzOWM4ZWU2NjI4ZmUwOWI2YjJlOTQ1YjJlM2JjZWU3NDIxNDcxMmVmLi5jZTQ5NTM2ODdk
NmIyMDlmZjZiMmFkYmUzZmFiZTgxNWQ5NDY1YTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldFN0eWxlUHJvcGVydHkuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hl
ZXRTdHlsZVByb3BlcnR5LmpzCkBAIC0xMjEsNiArMTIxLDExIEBAIFdJLlNwcmVhZHNoZWV0U3R5
bGVQcm9wZXJ0eSA9IGNsYXNzIFNwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eSBleHRlbmRzIFdJLk9i
amVjdAogCiAgICAgZGV0YWNoZWQoKQogICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX25hbWVUZXh0
RmllbGQ/LmVkaXRpbmcpCisgICAgICAgICAgICB0aGlzLl9uYW1lVGV4dEZpZWxkLmVsZW1lbnQu
Ymx1cigpOworICAgICAgICBlbHNlIGlmICh0aGlzLl92YWx1ZVRleHRGaWVsZD8uZWRpdGluZykK
KyAgICAgICAgICAgIHRoaXMuX3ZhbHVlVGV4dEZpZWxkLmVsZW1lbnQuYmx1cigpOworCiAgICAg
ICAgIGlmICh0aGlzLl9uYW1lVGV4dEZpZWxkKQogICAgICAgICAgICAgdGhpcy5fbmFtZVRleHRG
aWVsZC5kZXRhY2hlZCgpOwogCkBAIC0xMjgsMTQgKzEzMyw2IEBAIFdJLlNwcmVhZHNoZWV0U3R5
bGVQcm9wZXJ0eSA9IGNsYXNzIFNwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eSBleHRlbmRzIFdJLk9i
amVjdAogICAgICAgICAgICAgdGhpcy5fdmFsdWVUZXh0RmllbGQuZGV0YWNoZWQoKTsKICAgICB9
CiAKLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX25hbWVUZXh0RmllbGQg
JiYgdGhpcy5fbmFtZVRleHRGaWVsZC5lZGl0aW5nKQotICAgICAgICAgICAgdGhpcy5fbmFtZVRl
eHRGaWVsZC5lbGVtZW50LmJsdXIoKTsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5fdmFsdWVUZXh0
RmllbGQgJiYgdGhpcy5fdmFsdWVUZXh0RmllbGQuZWRpdGluZykKLSAgICAgICAgICAgIHRoaXMu
X3ZhbHVlVGV4dEZpZWxkLmVsZW1lbnQuYmx1cigpOwotICAgIH0KLQogICAgIHJlbW92ZShyZXBs
YWNlbWVudCA9IG51bGwpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fZGVsZWdhdGUgJiYgdHlw
ZW9mIHRoaXMuX2RlbGVnYXRlLnNwcmVhZHNoZWV0U3R5bGVQcm9wZXJ0eVdpbGxSZW1vdmUgPT09
ICJmdW5jdGlvbiIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1N0eWxlRGV0YWlsc1BhbmVsLmpzCmluZGV4IGFiNmQzZjUyMjZj
NWE5NTYyNjk3OTBhYjVhZmVjYmI3NWRjNTVmOTYuLmZkNmFhODY4M2FiZjk5OWY0OTExMGRkZWFj
ZjU4YTJhMGExOTVmNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1N0eWxlRGV0YWlsc1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1N0eWxlRGV0YWlsc1BhbmVsLmpzCkBAIC0zNiw3ICsz
Niw2IEBAIFdJLlN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxzUGFuZWwgZXh0
ZW5kcyBXSS5WaWV3CiAgICAgICAgIHRoaXMuX25hdmlnYXRpb25JbmZvID0ge2lkZW50aWZpZXIs
IGxhYmVsfTsKIAogICAgICAgICB0aGlzLl9ub2RlU3R5bGVzID0gbnVsbDsKLSAgICAgICAgdGhp
cy5fdmlzaWJsZSA9IGZhbHNlOwogICAgIH0KIAogICAgIC8vIFB1YmxpYwpAQCAtNTcsMjQgKzU2
LDExIEBAIFdJLlN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxzUGFuZWwgZXh0
ZW5kcyBXSS5WaWV3CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBzaG93bigp
CisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCi0gICAg
ICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHRydWU7CisgICAgICAg
IHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgdGhpcy5fcmVmcmVzaE5vZGVTdHlsZXMoKTsK
LQotICAgICAgICAvLyBGSVhNRTogcmVtb3ZlIG9uY2UgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1
MDc0MT4gaXMgZml4ZWQuCi0gICAgICAgIHRoaXMudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKLSAg
ICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgdGhpcy5fdmlzaWJsZSA9IGZhbHNl
OwotCi0gICAgICAgIHRoaXMuY2FuY2VsTGF5b3V0KCk7CiAgICAgfQogCiAgICAgbWFya0FzTmVl
ZHNSZWZyZXNoKGRvbU5vZGUpCkBAIC0xMDMsNyArODksNyBAQCBXSS5TdHlsZURldGFpbHNQYW5l
bCA9IGNsYXNzIFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV0kuVmlldwogICAgICAgICAgICAg
dGhpcy5fZm9yY2VTaWduaWZpY2FudENoYW5nZSA9IHRydWU7CiAgICAgICAgIH0KIAotICAgICAg
ICBpZiAodGhpcy5fdmlzaWJsZSkKKyAgICAgICAgaWYgKHRoaXMuaXNBdHRhY2hlZCkKICAgICAg
ICAgICAgIHRoaXMuX3JlZnJlc2hOb2RlU3R5bGVzKCk7CiAgICAgfQogCkBAIC0xMTYsNyArMTAy
LDcgQEAgV0kuU3R5bGVEZXRhaWxzUGFuZWwgPSBjbGFzcyBTdHlsZURldGFpbHNQYW5lbCBleHRl
bmRzIFdJLlZpZXcKIAogICAgIG5vZGVTdHlsZXNSZWZyZXNoZWQoZXZlbnQpCiAgICAgewotICAg
ICAgICBpZiAodGhpcy5fdmlzaWJsZSkKKyAgICAgICAgaWYgKHRoaXMuaXNBdHRhY2hlZCkKICAg
ICAgICAgICAgIHRoaXMuX3JlZnJlc2hQcmVzZXJ2aW5nU2Nyb2xsUG9zaXRpb24oZXZlbnQuZGF0
YS5zaWduaWZpY2FudENoYW5nZSk7CiAgICAgfQogCkBAIC0xNjMsNyArMTQ5LDcgQEAgV0kuU3R5
bGVEZXRhaWxzUGFuZWwgPSBjbGFzcyBTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdJLlZpZXcK
IAogICAgIF9ub2RlU3R5bGVzTmVlZHNSZWZyZXNoZWQoZXZlbnQpCiAgICAgewotICAgICAgICBp
ZiAodGhpcy5fdmlzaWJsZSkKKyAgICAgICAgaWYgKHRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAg
ICAgIHRoaXMuX3JlZnJlc2hOb2RlU3R5bGVzKCk7CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkNvbnRlbnRWaWV3Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQ29udGVudFZp
ZXcuanMKaW5kZXggN2Q2Njc1MDAyZmI0MzM0YWY5ZjQ5ZGVmOWQxMjA2MjQ4NDYxYTUwNy4uZmQz
MjA4MzRlNGIxN2Y2MDIxZjM1NTQxNGUyMTdlMWY1ODkzYTM0YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQ29udGVudFZpZXcuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQ29udGVudFZp
ZXcuanMKQEAgLTEyNSw5ICsxMjUsOSBAQCBXSS5UYWJDb250ZW50VmlldyA9IGNsYXNzIFRhYkNv
bnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBl
ci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGlmICh0aGlz
Ll9zaG91bGRSZXN0b3JlU3RhdGVXaGVuU2hvd24pCiAgICAgICAgICAgICB0aGlzLnJlc3RvcmVT
dGF0ZUZyb21Db29raWUoV0kuU3RhdGVSZXN0b3JhdGlvblR5cGUuRGVsYXllZCk7CkBAIC0xMzUs
NyArMTM1LDcgQEAgV0kuVGFiQ29udGVudFZpZXcgPSBjbGFzcyBUYWJDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICByZXN0b3JlU3RhdGVGcm9tQ29va2llKHJlc3RvcmF0
aW9uVHlwZSkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKSB7CisgICAgICAgIGlm
ICghdGhpcy5pc0F0dGFjaGVkKSB7CiAgICAgICAgICAgICB0aGlzLl9zaG91bGRSZXN0b3JlU3Rh
dGVXaGVuU2hvd24gPSB0cnVlOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYmxlLmpzCmlu
ZGV4IDI4ZjQzMjYyOWVhNGFkODc3NTI3NTA2MTg4MjlmOWRkMGY5MjBkNDkuLjM5MDg2ZjJmNTMw
N2QwY2M4ZmRjNGU4ZjBjNDNhNmMyNzk5ZDkwZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYmxlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYmxlLmpzCkBAIC01NzUsMTQgKzU3NSwxNiBA
QCBXSS5UYWJsZSA9IGNsYXNzIFRhYmxlIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB9CiAgICAg
fQogCi0gICAgcmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKKyAgICAvLyBQcm90ZWN0ZWQKKworICAg
IGF0dGFjaGVkKCkKICAgICB7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CisKICAgICAgICAg
aWYgKHRoaXMuX2NhY2hlZFNjcm9sbFRvcCAmJiAhdGhpcy5fc2Nyb2xsQ29udGFpbmVyRWxlbWVu
dC5zY3JvbGxUb3ApCiAgICAgICAgICAgICB0aGlzLl9zY3JvbGxDb250YWluZXJFbGVtZW50LnNj
cm9sbFRvcCA9IHRoaXMuX2NhY2hlZFNjcm9sbFRvcDsKICAgICB9CiAKLSAgICAvLyBQcm90ZWN0
ZWQKLQogICAgIGluaXRpYWxMYXlvdXQoKQogICAgIHsKICAgICAgICAgdGhpcy5zb3J0T3JkZXIg
PSB0aGlzLl9zb3J0T3JkZXJTZXR0aW5nLnZhbHVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dENvbnRlbnRWaWV3LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dENvbnRlbnRWaWV3LmpzCmlu
ZGV4IDRkMTY1ZDJmYjYxYjM1MjRkYjE0OWYxODFiMzdjNTEyM2I1MzZjNGYuLjI0NjcxMGU1MWM1
NDJmOGMyMTA3YjRhNDkzOTA4MDI3MDU0ODQ1YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRDb250ZW50Vmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0Q29udGVudFZpZXcuanMK
QEAgLTc4LDIwICs3OCw2IEBAIFdJLlRleHRDb250ZW50VmlldyA9IGNsYXNzIFRleHRDb250ZW50
VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuX3RleHRFZGl0b3IucmV2
ZWFsUG9zaXRpb24ocG9zaXRpb24sIHRleHRSYW5nZVRvU2VsZWN0LCBmb3JjZVVuZm9ybWF0dGVk
KTsKICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigpOwot
Ci0gICAgICAgIHRoaXMuX3RleHRFZGl0b3Iuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4o
KQotICAgIHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgdGhpcy5fdGV4dEVk
aXRvci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBnZXQgc3VwcG9ydHNTYXZlKCkKICAgICB7CiAg
ICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMKaW5kZXggZjU4NzgzYWQyNzhhZTkxNjE0
ZmYxZThkZGFjNWIxOWQzMWIyZGJkNi4uMmFlY2ZiOGNhNmExY2I2ZGY3ODY3ZjVmYWY0Y2Q2ZTY1
M2Y2ODhmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzCkBAIC03NiwxMSArNzYsNiBAQCBXSS5UZXh0RWRpdG9y
ID0gY2xhc3MgVGV4dEVkaXRvciBleHRlbmRzIFdJLlZpZXcKIAogICAgIC8vIFB1YmxpYwogCi0g
ICAgZ2V0IHZpc2libGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7Ci0g
ICAgfQotCiAgICAgZ2V0IHN0cmluZygpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fY29k
ZU1pcnJvci5nZXRWYWx1ZSgpOwpAQCAtNDg4LDcgKzQ4Myw3IEBAIFdJLlRleHRFZGl0b3IgPSBj
bGFzcyBUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVmlldwogICAgICAgICBpZiAoIShwb3NpdGlvbiBp
bnN0YW5jZW9mIFdJLlNvdXJjZUNvZGVQb3NpdGlvbikpCiAgICAgICAgICAgICByZXR1cm47CiAK
LSAgICAgICAgaWYgKCF0aGlzLl92aXNpYmxlIHx8IHRoaXMuX2luaXRpYWxTdHJpbmdOb3RTZXQg
fHwgdGhpcy5fZGVmZXJSZXZlYWwpIHsKKyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQgfHwg
dGhpcy5faW5pdGlhbFN0cmluZ05vdFNldCB8fCB0aGlzLl9kZWZlclJldmVhbCkgewogICAgICAg
ICAgICAgLy8gSWYgd2UgY2FuJ3QgZ2V0IGEgbGluZSBoYW5kbGUgb3IgYXJlIG5vdCB2aXNpYmxl
IHRoZW4gd2Ugd2FpdCB0byBkbyB0aGUgcmV2ZWFsLgogICAgICAgICAgICAgdGhpcy5fcG9zaXRp
b25Ub1JldmVhbCA9IHBvc2l0aW9uOwogICAgICAgICAgICAgdGhpcy5fdGV4dFJhbmdlVG9TZWxl
Y3QgPSB0ZXh0UmFuZ2VUb1NlbGVjdDsKQEAgLTU1MCw5ICs1NDUsOSBAQCBXSS5UZXh0RWRpdG9y
ID0gY2xhc3MgVGV4dEVkaXRvciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdGhpcy5fY29kZU1p
cnJvci5vcGVyYXRpb24ocmV2ZWFsQW5kSGlnaGxpZ2h0TGluZS5iaW5kKHRoaXMpKTsKICAgICB9
CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgdGhpcy5fdmlz
aWJsZSA9IHRydWU7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgLy8gUmVm
cmVzaCBzaW5jZSBvdXIgc2l6ZSBtaWdodCBoYXZlIGNoYW5nZWQuCiAgICAgICAgIHRoaXMuX2Nv
ZGVNaXJyb3IucmVmcmVzaCgpOwpAQCAtNTYzLDExICs1NTgsNiBAQCBXSS5UZXh0RWRpdG9yID0g
Y2xhc3MgVGV4dEVkaXRvciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdGhpcy5fcmV2ZWFsUGVu
ZGluZ1Bvc2l0aW9uSWZQb3NzaWJsZSgpOwogICAgIH0KIAotICAgIGhpZGRlbigpCi0gICAgewot
ICAgICAgICB0aGlzLl92aXNpYmxlID0gZmFsc2U7Ci0gICAgfQotCiAgICAgc2V0QnJlYWtwb2lu
dEluZm9Gb3JMaW5lQW5kQ29sdW1uKGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgYnJlYWtwb2lu
dEluZm8pCiAgICAgewogICAgICAgICBpZiAodGhpcy5faWdub3JlU2V0QnJlYWtwb2ludEluZm9D
YWxscykKQEAgLTgwOSwxMyArNzk5LDkgQEAgV0kuVGV4dEVkaXRvciA9IGNsYXNzIFRleHRFZGl0
b3IgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICBsYXlvdXQoKQogICAgIHsKLSAgICAgICAgLy8gRklY
TUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDYyNTY+IFdlYiBJbnNwZWN0b3I6IE5lc3RlZCBD
b250ZW50QnJvd3NlcnMgLyBDb250ZW50Vmlld0NvbnRhaW5lcnMgY2F1c2UgdG9vIG1hbnkgQ29u
dGVudFZpZXcgdXBkYXRlcwotICAgICAgICAvLyBJZGVhbGx5IHdlIHdvdWxkIG5vdCBnZXQgYW4g
dXBkYXRlTGF5b3V0IGNhbGwgaWYgd2UgYXJlIG5vdCB2aXNpYmxlLiBXZSBzaG91bGQgcmVzdHJ1
Y3R1cmUgQ29udGVudFZpZXcKLSAgICAgICAgLy8gc2hvdy9oaWRlIHJlc3RvcmF0aW9uIHRvIHJl
ZHVjZSBkdXBsaWNhdGVkIHdvcmsgYW5kIHNvbHZlIHRoaXMgaW4gdGhlIHByb2Nlc3MuCisgICAg
ICAgIHN1cGVyLmxheW91dCgpOwogCi0gICAgICAgIC8vIEZJWE1FOiB2aXNpYmxlIGNoZWNrIGNh
biBiZSByZW1vdmVkIG9uY2UgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MDc0MT4gaXMgZml4ZWQu
Ci0gICAgICAgIGlmICh0aGlzLl92aXNpYmxlKQotICAgICAgICAgICAgdGhpcy5fY29kZU1pcnJv
ci5yZWZyZXNoKCk7CisgICAgICAgIHRoaXMuX2NvZGVNaXJyb3IucmVmcmVzaCgpOwogICAgIH0K
IAogICAgIF9mb3JtYXQoZm9ybWF0dGVkKQpAQCAtMTA5MCw3ICsxMDc2LDcgQEAgV0kuVGV4dEVk
aXRvciA9IGNsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgICAgICByZXR1
cm47CiAKICAgICAgICAgLy8gRG9uJ3QgdHJ5IHRvIHJldmVhbCB1bmxlc3Mgd2UgYXJlIHZpc2li
bGUuCi0gICAgICAgIGlmICghdGhpcy5fdmlzaWJsZSkKKyAgICAgICAgaWYgKCF0aGlzLmlzQXR0
YWNoZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5yZXZlYWxQb3NpdGlv
bih0aGlzLl9wb3NpdGlvblRvUmV2ZWFsLCB0aGlzLl90ZXh0UmFuZ2VUb1NlbGVjdCwgdGhpcy5f
Zm9yY2VVbmZvcm1hdHRlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UZXh0UmVzb3VyY2VDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRSZXNvdXJjZUNvbnRlbnRWaWV3Lmpz
CmluZGV4IDc0ZDBjZTJhZjRkNzVlNDJmMjc2ZWIxNzE0MmI1NmFkZjc4ZTRjOGQuLjlkZDhjODY0
OGZmMjM1ZDdlMmM2Mzg4ZjRhMDA3ODdlYjVkOTdjOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRSZXNvdXJjZUNvbnRlbnRWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRSZXNv
dXJjZUNvbnRlbnRWaWV3LmpzCkBAIC0xMTQsMjAgKzExNCw2IEBAIFdJLlRleHRSZXNvdXJjZUNv
bnRlbnRWaWV3ID0gY2xhc3MgVGV4dFJlc291cmNlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5SZXNv
dXJjZUNvCiAgICAgICAgIHRoaXMuX3RleHRFZGl0b3IucmV2ZWFsUG9zaXRpb24ocG9zaXRpb24s
IHRleHRSYW5nZVRvU2VsZWN0LCBmb3JjZVVuZm9ybWF0dGVkKTsKICAgICB9CiAKLSAgICBzaG93
bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAgIHRoaXMuX3RleHRF
ZGl0b3Iuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgc3Vw
ZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgdGhpcy5fdGV4dEVkaXRvci5oaWRkZW4oKTsKLSAgICB9
Ci0KICAgICBjbG9zZWQoKQogICAgIHsKICAgICAgICAgc3VwZXIuY2xvc2VkKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURh
dGFHcmlkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVEYXRhR3JpZC5qcwppbmRleCBmNGNiYTRmNzhhMDNhM2UxNGY4YWU4MGM0MzdiMWExODhj
MTM2Y2M3Li42NTk5MGMwMmVmMDNiNGEzNGJlMmM2YmExOGRlOTgxMTAxZDVkMjJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURh
dGFHcmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RpbWVsaW5lRGF0YUdyaWQuanMKQEAgLTEwMywxNiArMTAzLDExIEBAIFdJLlRpbWVsaW5lRGF0
YUdyaWQgPSBjbGFzcyBUaW1lbGluZURhdGFHcmlkIGV4dGVuZHMgV0kuRGF0YUdyaWQKICAgICAg
ICAgdGhpcy5faGlkZVBvcG92ZXIoKTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgZGV0YWNo
ZWQoKQogICAgIHsKLSAgICAgICAgLy8gTWF5IGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4g
SWYgc28sIHRoZXkgc2hvdWxkIGNhbGwgdGhlIHN1cGVyY2xhc3MuCi0gICAgfQotCi0gICAgaGlk
ZGVuKCkKLSAgICB7Ci0gICAgICAgIC8vIE1heSBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMu
IElmIHNvLCB0aGV5IHNob3VsZCBjYWxsIHRoZSBzdXBlcmNsYXNzLgotCiAgICAgICAgIHRoaXMu
X2hpZGVQb3BvdmVyKCk7CisKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAg
ICBjYWxsRnJhbWVQb3BvdmVyQW5jaG9yRWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5q
cwppbmRleCAxNGU0ZDE4ZGFmYTU1MGQyZjI4ZDlkOTQ1NDY2ZTA0ZjAwMTNmOTJkLi45NTA0OWNj
OTRkMGY5MzMwYjE5MGY3ZTBlMjkwMjU2ZmVkMjM0ZTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZp
ZXcuanMKQEAgLTM0NiwzNyArMzQ2LDMyIEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBU
aW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV0kuVmlldwogICAgIHsKICAgICAgICAgbGV0IGhlaWdo
dCA9IDA7CiAgICAgICAgIGZvciAobGV0IG92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fb3ZlcnZpZXdH
cmFwaHNCeVR5cGVNYXAudmFsdWVzKCkpIHsKLSAgICAgICAgICAgIGlmIChvdmVydmlld0dyYXBo
LnZpc2libGUpCisgICAgICAgICAgICBpZiAoIW92ZXJ2aWV3R3JhcGguaGlkZGVuKQogICAgICAg
ICAgICAgICAgIGhlaWdodCArPSBvdmVydmlld0dyYXBoLmhlaWdodDsKICAgICAgICAgfQogICAg
ICAgICByZXR1cm4gaGVpZ2h0OwogICAgIH0KIAotICAgIGdldCB2aXNpYmxlKCkKKyAgICBhdHRh
Y2hlZCgpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTsKLSAgICB9Ci0KLSAg
ICBzaG93bigpCi0gICAgewotICAgICAgICB0aGlzLl92aXNpYmxlID0gdHJ1ZTsKKyAgICAgICAg
c3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICBmb3IgKGxldCBbdHlwZSwgb3ZlcnZpZXdHcmFw
aF0gb2YgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXApIHsKICAgICAgICAgICAgIGlmICh0
aGlzLl9jYW5TaG93VGltZWxpbmVUeXBlKHR5cGUpKQotICAgICAgICAgICAgICAgIG92ZXJ2aWV3
R3JhcGguc2hvd24oKTsKKyAgICAgICAgICAgICAgICBvdmVydmlld0dyYXBoLmhpZGRlbiA9IGZh
bHNlOwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy51cGRhdGVMYXlvdXQoV0kuVmlldy5MYXlv
dXRSZWFzb24uUmVzaXplKTsKKyAgICAgICAgdGhpcy5uZWVkc0xheW91dChXSS5WaWV3LkxheW91
dFJlYXNvbi5SZXNpemUpOwogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQoKQog
ICAgIHsKLSAgICAgICAgdGhpcy5fdmlzaWJsZSA9IGZhbHNlOwotCiAgICAgICAgIGZvciAobGV0
IG92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAudmFsdWVzKCkp
Ci0gICAgICAgICAgICBvdmVydmlld0dyYXBoLmhpZGRlbigpOworICAgICAgICAgICAgb3ZlcnZp
ZXdHcmFwaC5oaWRkZW4gPSB0cnVlOwogCiAgICAgICAgIHRoaXMuaGlkZVNjYW5uZXIoKTsKKwor
ICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIGNsb3NlZCgpCkBAIC00MTAs
NyArNDA1LDcgQEAgV0kuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcg
ZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIGlmICghb3ZlcnZpZXdHcmFwaCkKICAgICAgICAgICAg
IHJldHVybjsKIAotICAgICAgICBjb25zb2xlLmFzc2VydChvdmVydmlld0dyYXBoLnZpc2libGUs
ICJSZWNvcmQgZmlsdGVyZWQgaW4gaGlkZGVuIG92ZXJ2aWV3IGdyYXBoIiwgcmVjb3JkKTsKKyAg
ICAgICAgY29uc29sZS5hc3NlcnQoIW92ZXJ2aWV3R3JhcGguaGlkZGVuLCAiUmVjb3JkIGZpbHRl
cmVkIGluIGhpZGRlbiBvdmVydmlldyBncmFwaCIsIHJlY29yZCk7CiAKICAgICAgICAgb3ZlcnZp
ZXdHcmFwaC5yZWNvcmRXYXNGaWx0ZXJlZChyZWNvcmQsIGZpbHRlcmVkKTsKICAgICB9CkBAIC00
MjIsNyArNDE3LDcgQEAgV0kuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZp
ZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIGlmICghb3ZlcnZpZXdHcmFwaCkKICAgICAgICAg
ICAgIHJldHVybjsKIAotICAgICAgICBjb25zb2xlLmFzc2VydChvdmVydmlld0dyYXBoLnZpc2li
bGUsICJSZWNvcmQgc2VsZWN0ZWQgaW4gaGlkZGVuIG92ZXJ2aWV3IGdyYXBoIiwgcmVjb3JkKTsK
KyAgICAgICAgY29uc29sZS5hc3NlcnQoIW92ZXJ2aWV3R3JhcGguaGlkZGVuLCAiUmVjb3JkIHNl
bGVjdGVkIGluIGhpZGRlbiBvdmVydmlldyBncmFwaCIsIHJlY29yZCk7CiAKICAgICAgICAgb3Zl
cnZpZXdHcmFwaC5zZWxlY3RlZFJlY29yZCA9IHJlY29yZDsKICAgICB9CkBAIC00NDcsNyArNDQy
LDcgQEAgV0kuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5k
cyBXSS5WaWV3CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIudXBkYXRlTGF5b3V0SWZOZWVk
ZWQobGF5b3V0UmVhc29uKTsKIAogICAgICAgICBmb3IgKGxldCBvdmVydmlld0dyYXBoIG9mIHRo
aXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwLnZhbHVlcygpKSB7Ci0gICAgICAgICAgICBpZiAo
b3ZlcnZpZXdHcmFwaC52aXNpYmxlKQorICAgICAgICAgICAgaWYgKCFvdmVydmlld0dyYXBoLmhp
ZGRlbikKICAgICAgICAgICAgICAgICBvdmVydmlld0dyYXBoLnVwZGF0ZUxheW91dElmTmVlZGVk
KGxheW91dFJlYXNvbik7CiAgICAgICAgIH0KICAgICB9CkBAIC01MTAsNyArNTA1LDcgQEAgV0ku
VGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXSS5WaWV3
CiAgICAgICAgIH0KIAogICAgICAgICBmb3IgKGxldCBvdmVydmlld0dyYXBoIG9mIHRoaXMuX292
ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwLnZhbHVlcygpKSB7Ci0gICAgICAgICAgICBpZiAoIW92ZXJ2
aWV3R3JhcGgudmlzaWJsZSkKKyAgICAgICAgICAgIGlmIChvdmVydmlld0dyYXBoLmhpZGRlbikK
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC56
ZXJvVGltZSA9IHN0YXJ0VGltZTsKQEAgLTY3MCw3ICs2NjUsNyBAQCBXSS5UaW1lbGluZU92ZXJ2
aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdHJl
ZUVsZW1lbnQuZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBvdmVydmlld0dyYXBoLmhlaWdodCArICJw
eCI7CiAKICAgICAgICAgaWYgKCF0aGlzLl9jYW5TaG93VGltZWxpbmVUeXBlKHRpbWVsaW5lLnR5
cGUpKSB7Ci0gICAgICAgICAgICBvdmVydmlld0dyYXBoLmhpZGRlbigpOworICAgICAgICAgICAg
b3ZlcnZpZXdHcmFwaC5oaWRkZW4gPSB0cnVlOwogICAgICAgICAgICAgdHJlZUVsZW1lbnQuaGlk
ZGVuID0gdHJ1ZTsKICAgICAgICAgfQogCkBAIC03MjMsNyArNzE4LDcgQEAgV0kuVGltZWxpbmVP
dmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAg
ICAgICByZXR1cm47CiAKICAgICAgICAgZm9yIChsZXQgb3ZlcnZpZXdHcmFwaCBvZiB0aGlzLl9v
dmVydmlld0dyYXBoc0J5VHlwZU1hcC52YWx1ZXMoKSkgewotICAgICAgICAgICAgaWYgKCFvdmVy
dmlld0dyYXBoLnZpc2libGUpCisgICAgICAgICAgICBpZiAob3ZlcnZpZXdHcmFwaC5oaWRkZW4p
CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgIGxldCBncmFwaFJlY3Qg
PSBvdmVydmlld0dyYXBoLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CkBAIC04NTEs
MTEgKzg0Niw5IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3
IGV4dGVuZHMgV0kuVmlldwogICAgICAgICAgICAgbGV0IHRyZWVFbGVtZW50ID0gdGhpcy5fdHJl
ZUVsZW1lbnRzQnlUeXBlTWFwLmdldCh0eXBlKTsKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KHRyZWVFbGVtZW50LCAiTWlzc2luZyB0cmVlIGVsZW1lbnQgZm9yIHRpbWVsaW5lIHR5cGUiLCB0
eXBlKTsKIAotICAgICAgICAgICAgdHJlZUVsZW1lbnQuaGlkZGVuID0gIXRoaXMuX2NhblNob3dU
aW1lbGluZVR5cGUodHlwZSk7Ci0gICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQuaGlkZGVuKQot
ICAgICAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGguaGlkZGVuKCk7Ci0gICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5zaG93bigpOworICAgICAgICAgICAgbGV0
IGhpZGRlbiA9ICF0aGlzLl9jYW5TaG93VGltZWxpbmVUeXBlKHR5cGUpOworICAgICAgICAgICAg
dHJlZUVsZW1lbnQuaGlkZGVuID0gaGlkZGVuOworICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5o
aWRkZW4gPSBoaWRkZW47CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NM
aXN0LnRvZ2dsZSgiZnJhbWVzIiwgaXNSZW5kZXJpbmdGcmFtZXNNb2RlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZp
ZXdHcmFwaC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwppbmRleCBhOTRmNDdmZGNhZDVlMDEzMDliNzY3ZjVlNTkx
MzcyMjQ3OWYwZDIyLi4zMDgwZWZmNmVkNDRjNGU3NTczYjVlMDI4NGEwYjZjZTE3NzY0N2Q3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC00MCw3ICs0MCw3IEBAIFdJ
LlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRl
bmRzIFdJLlZpZXcKICAgICAgICAgdGhpcy5fc2VsZWN0ZWRSZWNvcmRCYXIgPSBudWxsOwogICAg
ICAgICB0aGlzLl9zY2hlZHVsZWRTZWxlY3RlZFJlY29yZExheW91dFVwZGF0ZUlkZW50aWZpZXIg
PSB1bmRlZmluZWQ7CiAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gZmFsc2U7Ci0gICAgICAgIHRo
aXMuX3Zpc2libGUgPSB0cnVlOworICAgICAgICB0aGlzLl9oaWRkZW4gPSBmYWxzZTsKICAgICB9
CiAKICAgICAvLyBQdWJsaWMKQEAgLTE1Niw5ICsxNTYsMjIgQEAgV0kuVGltZWxpbmVPdmVydmll
d0dyYXBoID0gY2xhc3MgVGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV0kuVmlldwogCiAg
ICAgZ2V0IHNlY29uZHNQZXJQaXhlbCgpIHsgcmV0dXJuIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcu
c2Vjb25kc1BlclBpeGVsOyB9CiAKLSAgICBnZXQgdmlzaWJsZSgpCisgICAgZ2V0IGhpZGRlbigp
CiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTsKKyAgICAgICAgcmV0dXJuIHRo
aXMuX2hpZGRlbjsKKyAgICB9CisKKyAgICBzZXQgaGlkZGVuKGhpZGRlbikKKyAgICB7CisgICAg
ICAgIGlmICgheG9yKGhpZGRlbiwgdGhpcy5faGlkZGVuKSkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICB0aGlzLl9oaWRkZW4gPSBoaWRkZW47CisKKyAgICAgICAgdGhpcy5lbGVtZW50
LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIHRoaXMuX2hpZGRlbik7CisKKyAgICAgICAgaWYg
KCF0aGlzLl9oaWRkZW4pCisgICAgICAgICAgICB0aGlzLnVwZGF0ZUxheW91dCgpOwogICAgIH0K
IAogICAgIGdldCBzZWxlY3RlZFJlY29yZCgpCkBAIC0yMTgsMjUgKzIzMSw2IEBAIFdJLlRpbWVs
aW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJ
LlZpZXcKICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoInNlbGVjdGVkIiwg
dGhpcy5fc2VsZWN0ZWQpOwogICAgIH0KIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIGlm
ICh0aGlzLl92aXNpYmxlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX3Zp
c2libGUgPSB0cnVlOwotICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlk
ZGVuIiwgIXRoaXMuX3Zpc2libGUpOwotICAgICAgICB0aGlzLnVwZGF0ZUxheW91dCgpOwotICAg
IH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBpZiAoIXRoaXMuX3Zpc2libGUpCi0g
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5fdmlzaWJsZSA9IGZhbHNlOwotICAg
ICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwgIXRoaXMuX3Zpc2li
bGUpOwotICAgIH0KLQogICAgIHJlc2V0KCkKICAgICB7CiAgICAgICAgIC8vIEltcGxlbWVudGVk
IGJ5IHN1Yi1jbGFzc2VzIGlmIG5lZWRlZC4KQEAgLTI1MCw3ICsyNDQsNyBAQCBXSS5UaW1lbGlu
ZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5kcyBXSS5W
aWV3CiAgICAgbmVlZHNMYXlvdXQoKQogICAgIHsKICAgICAgICAgLy8gRklYTUU6IG5lZWRzTGF5
b3V0IGNhbiBiZSByZW1vdmVkIG9uY2UgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MDc0MT4gaXMg
Zml4ZWQuCi0gICAgICAgIGlmICghdGhpcy5fdmlzaWJsZSkKKyAgICAgICAgaWYgKHRoaXMuX2hp
ZGRlbikKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBzdXBlci5uZWVkc0xheW91dCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMKaW5kZXgg
ZDVmYTFlNThlNjY1NjFlYjRkZjVhMTBkNmY1ODI1NDZkYjQ0NmJlNy4uNGFhYjgyNTcwNmNjN2Rj
ZWU3ZTlkMTcxMjRiMjMxZjExMTZiZGY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJl
Y29yZGluZ0NvbnRlbnRWaWV3LmpzCkBAIC0yMTIsMzEgKzIxMiwzMCBAQCBXSS5UaW1lbGluZVJl
Y29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBl
eHRlbmRzIFdJLgogICAgICAgICByZXR1cm4gdGhpcy5fdGltZWxpbmVDb250ZW50QnJvd3Nlci5j
dXJyZW50Q29udGVudFZpZXc7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkK
ICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAgICAgdGhpcy5fdGltZWxpbmVP
dmVydmlldy5zaG93bigpOwotICAgICAgICB0aGlzLl90aW1lbGluZUNvbnRlbnRCcm93c2VyLnNo
b3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgdGhpcy5fY2xlYXJU
aW1lbGluZU5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSAhdGhpcy5fcmVjb3JkaW5nLnJlYWRvbmx5
ICYmICFpc05hTih0aGlzLl9yZWNvcmRpbmcuc3RhcnRUaW1lKTsKICAgICAgICAgdGhpcy5fZXhw
b3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IHRoaXMuX3JlY29yZGluZy5jYW5FeHBv
cnQoKTsKIAotICAgICAgICB0aGlzLl9jdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UoKTsKLQog
ICAgICAgICBpZiAoIXRoaXMuX3VwZGF0aW5nICYmIFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVS
ZWNvcmRpbmcgPT09IHRoaXMuX3JlY29yZGluZyAmJiBXSS50aW1lbGluZU1hbmFnZXIuaXNDYXB0
dXJpbmcoKSkKICAgICAgICAgICAgIHRoaXMuX3N0YXJ0VXBkYXRpbmdDdXJyZW50VGltZSh0aGlz
Ll9jdXJyZW50VGltZSk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAg
ICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAgICB0aGlzLl90aW1lbGluZU92
ZXJ2aWV3LmhpZGRlbigpOwotICAgICAgICB0aGlzLl90aW1lbGluZUNvbnRlbnRCcm93c2VyLmhp
ZGRlbigpOwotCiAgICAgICAgIGlmICh0aGlzLl91cGRhdGluZykKICAgICAgICAgICAgIHRoaXMu
X3N0b3BVcGRhdGluZ0N1cnJlbnRUaW1lKCk7CisKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsK
KyAgICB9CisKKyAgICBpbml0aWFsTGF5b3V0KCkKKyAgICB7CisgICAgICAgIHN1cGVyLmluaXRp
YWxMYXlvdXQoKTsKKworICAgICAgICB0aGlzLl9jdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2Uo
KTsKICAgICB9CiAKICAgICBjbG9zZWQoKQpAQCAtMzc3LDcgKzM3Niw3IEBAIFdJLlRpbWVsaW5l
UmVjb3JkaW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3
IGV4dGVuZHMgV0kuCiAKICAgICBfY29udGVudFZpZXdTZWxlY3Rpb25QYXRoQ29tcG9uZW50RGlk
Q2hhbmdlKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAg
IGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlm
IChldmVudC50YXJnZXQgIT09IHRoaXMuX3RpbWVsaW5lQ29udGVudEJyb3dzZXIuY3VycmVudENv
bnRlbnRWaWV3KQpAQCAtNDU2LDcgKzQ1NSw3IEBAIFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuCiAg
ICAgICAgIC8vIE9ubHkgc3RvcCB1cGRhdGluZyBpZiB0aGUgY3VycmVudCB0aW1lIGlzIGdyZWF0
ZXIgdGhhbiB0aGUgZW5kIHRpbWUsIG9yIHRoZSBlbmQgdGltZSBpcyBOYU4uCiAgICAgICAgIC8v
IFRoZSByZWNvcmRpbmcgZW5kIHRpbWUgd2lsbCBiZSBOYU4gaWYgbm8gcmVjb3JkcyB3ZXJlIGFk
ZGVkLgogICAgICAgICBpZiAoIXRoaXMuX3VwZGF0aW5nICYmIChjdXJyZW50VGltZSA+PSBlbmRU
aW1lIHx8IGlzTmFOKGVuZFRpbWUpKSkgewotICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkK
KyAgICAgICAgICAgIGlmICh0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICAgICAgdGhpcy5f
bGFzdFVwZGF0ZVRpbWVzdGFtcCA9IE5hTjsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQpAQCAtOTE1LDcgKzkxNCw3IEBAIFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgPSBj
bGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuCiAKICAgICBfaGFu
ZGxlVGltZWxpbmVWaWV3UmVjb3JkU2VsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAo
IXRoaXMudmlzaWJsZSkKKyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAg
ICByZXR1cm47CiAKICAgICAgICAgbGV0IHtyZWNvcmR9ID0gZXZlbnQuZGF0YTsKQEAgLTk0OCw3
ICs5NDcsNyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxp
bmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2hhbmRsZVRpbWVsaW5l
Vmlld1NjYW5uZXJTaG93KGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUp
CisgICAgICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuOwogCiAg
ICAgICAgIGxldCB7dGltZX0gPSBldmVudC5kYXRhOwpAQCAtOTU3LDcgKzk1Niw3IEBAIFdJLlRp
bWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRl
bnRWaWV3IGV4dGVuZHMgV0kuCiAKICAgICBfaGFuZGxlVGltZWxpbmVWaWV3U2Nhbm5lckhpZGUo
ZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgaWYgKCF0
aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fdGlt
ZWxpbmVPdmVydmlldy5oaWRlU2Nhbm5lcigpOwpAQCAtOTY1LDcgKzk2NCw3IEBAIFdJLlRpbWVs
aW5lUmVjb3JkaW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRW
aWV3IGV4dGVuZHMgV0kuCiAKICAgICBfaGFuZGxlVGltZWxpbmVWaWV3TmVlZHNFbnRpcmVTZWxl
Y3RlZFJhbmdlKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAg
ICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcudGltZWxpbmVSdWxlci5zZWxlY3RFbnRpcmVSYW5nZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVUYWJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMKaW5kZXggMDExYzE3NWY4YjAx
MDZkZjdiODMzZmJmNWJhZTNiMzJmY2ZmYzU0NS4uOGMyYmNiZDhmZDZlN2QyYTIwNmE3NjdjNDk1
MTNmZjFhYTFlMjg1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzCkBA
IC0zMTcsOSArMzE3LDkgQEAgV0kuVGltZWxpbmVUYWJDb250ZW50VmlldyA9IGNsYXNzIFRpbWVs
aW5lVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3MKICAgICAgICAgcmV0dXJu
IFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcuVHlwZTsKICAgICB9CiAKLSAgICBzaG93bigpCisg
ICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3Vw
ZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl90b2dnbGVSZWNvcmRpbmdTaG9ydGN1dC5k
aXNhYmxlZCA9IGZhbHNlOwogICAgICAgICB0aGlzLl90b2dnbGVOZXdSZWNvcmRpbmdTaG9ydGN1
dC5kaXNhYmxlZCA9IGZhbHNlOwpAQCAtMzI4LDE0ICszMjgsMTQgQEAgV0kuVGltZWxpbmVUYWJD
b250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250
ZW50QnJvd3MKICAgICAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hdXRvQ2FwdHVyZU9uUGFn
ZUxvYWQgPSB0cnVlOwogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAg
IHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KICAgICAgICAgdGhpcy5fdG9nZ2xlUmVjb3Jk
aW5nU2hvcnRjdXQuZGlzYWJsZWQgPSB0cnVlOwogICAgICAgICB0aGlzLl90b2dnbGVOZXdSZWNv
cmRpbmdTaG9ydGN1dC5kaXNhYmxlZCA9IHRydWU7CiAKICAgICAgICAgV0kudGltZWxpbmVNYW5h
Z2VyLmF1dG9DYXB0dXJlT25QYWdlTG9hZCA9IGZhbHNlOworCisgICAgICAgIHN1cGVyLmRldGFj
aGVkKCk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKQEAgLTUwNSw3ICs1MDUsNyBAQCBXSS5UaW1l
bGluZVRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVUYWJDb250ZW50VmlldyBleHRlbmRz
IFdJLkNvbnRlbnRCcm93cwogCiAgICAgX2luc3BlY3RvclZpc2liaWxpdHlDaGFuZ2VkKGV2ZW50
KQogICAgIHsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmF1dG9DYXB0dXJlT25QYWdlTG9h
ZCA9ICEhdGhpcy52aXNpYmxlICYmICEhV0kudmlzaWJsZTsKKyAgICAgICAgV0kudGltZWxpbmVN
YW5hZ2VyLmF1dG9DYXB0dXJlT25QYWdlTG9hZCA9ICEhdGhpcy5pc0F0dGFjaGVkICYmICEhV0ku
dmlzaWJsZTsKICAgICB9CiAKICAgICBfZ2xvYmFsTW9kaWZpZXJLZXlzRGlkQ2hhbmdlKGV2ZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVWaWV3LmpzCmluZGV4IGFjYWY1ZmEzMGNkMTdkZmQwYzRiYWZhMmZmZDRjYmJl
NzZmNDdjZGYuLjA4YjAyZWEwMTMwNzE2MGI1YWMzOTQ2MDU0MmJkZWIzZjk1NzY1MTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZVZpZXcuanMKQEAgLTIzMCwxNSArMjMwLDYgQEAgV0kuVGltZWxpbmVWaWV3ID0gY2xh
c3MgVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQogCi0gICAgbmVlZHNMYXlvdXQoKQotICAgIHsKLSAgICAgICAgLy8gRklYTUU6
IG5lZWRzTGF5b3V0IGNhbiBiZSByZW1vdmVkIG9uY2UgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1
MDc0MT4gaXMgZml4ZWQuCi0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQotICAgICAgICAgICAg
cmV0dXJuOwotCi0gICAgICAgIHN1cGVyLm5lZWRzTGF5b3V0KCk7Ci0gICAgfQotCiAgICAgLy8g
RGF0YUdyaWQgZmlsdGVyIGRlbGVnYXRlCiAKICAgICBkYXRhR3JpZE1hdGNoTm9kZUFnYWluc3RD
dXN0b21GaWx0ZXJzKG5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9WaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVmlldy5qcwppbmRleCBhYWVjY2RhYjU5OTZiZjU4M2U0YWMxZjE3NGU1Yjc4
ZjRkMzFhZWI2Li5hNDgyMTgxZWE3MzQwM2JmNDg3YjFiMTBmNmFkNTFmMDY0OTczZTJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1ZpZXcuanMK
QEAgLTEyNiwxMCArMTI2LDEwIEBAIFdJLlZpZXcgPSBjbGFzcyBWaWV3IGV4dGVuZHMgV0kuT2Jq
ZWN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICB2aWV3Ll9kaWRN
b3ZlVG9QYXJlbnQobnVsbCk7CisKICAgICAgICAgdGhpcy5fc3Vidmlld3Muc3BsaWNlKGluZGV4
LCAxKTsKICAgICAgICAgdmlldy5lbGVtZW50LnJlbW92ZSgpOwotCi0gICAgICAgIHZpZXcuX2Rp
ZE1vdmVUb1BhcmVudChudWxsKTsKICAgICB9CiAKICAgICByZW1vdmVBbGxTdWJ2aWV3cygpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9XZWJT
b2NrZXRDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1dlYlNvY2tldENvbnRlbnRWaWV3LmpzCmluZGV4IDhlOWE0YWE3MTkwMGVlZTQ2MDg5
ZjMyMTE2YTI1ZjQ4YjNmMmZkOTEuLjZjYmQwZjY4MzRiNDJjZDRlMmYwMjI5NDBkMTdkOWI0Yzc2
OWI0NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1dlYlNvY2tldENvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1dlYlNvY2tldENvbnRlbnRWaWV3LmpzCkBAIC04NywxNyArODcs
MjEgQEAgV0kuV2ViU29ja2V0Q29udGVudFZpZXcgPSBjbGFzcyBXZWJTb2NrZXRDb250ZW50Vmll
dyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICAvLyBQdWJsaWMKIAotICAgIHNob3duKCkK
KyAgICBhdHRhY2hlZCgpCiAgICAgeworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOworCiAgICAg
ICAgIHRoaXMuX3VwZGF0ZUZyYW1lc0RlYm91bmNlci5mb3JjZSgpOwogICAgICAgICB0aGlzLl9y
ZXNvdXJjZS5hZGRFdmVudExpc3RlbmVyKFdJLldlYlNvY2tldFJlc291cmNlLkV2ZW50LkZyYW1l
QWRkZWQsIHRoaXMuX3VwZGF0ZUZyYW1lc1Nvb24sIHRoaXMpOwogICAgICAgICB0aGlzLl9yZXNv
dXJjZS5hZGRFdmVudExpc3RlbmVyKFdJLldlYlNvY2tldFJlc291cmNlLkV2ZW50LlJlYWR5U3Rh
dGVDaGFuZ2VkLCB0aGlzLl91cGRhdGVGcmFtZXNTb29uLCB0aGlzKTsKICAgICB9CiAKLSAgICBo
aWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIHRoaXMuX3Jlc291cmNlLnJl
bW92ZUV2ZW50TGlzdGVuZXIoV0kuV2ViU29ja2V0UmVzb3VyY2UuRXZlbnQuRnJhbWVBZGRlZCwg
dGhpcy5fdXBkYXRlRnJhbWVzU29vbiwgdGhpcyk7CiAgICAgICAgIHRoaXMuX3Jlc291cmNlLnJl
bW92ZUV2ZW50TGlzdGVuZXIoV0kuV2ViU29ja2V0UmVzb3VyY2UuRXZlbnQuUmVhZHlTdGF0ZUNo
YW5nZWQsIHRoaXMuX3VwZGF0ZUZyYW1lc1Nvb24sIHRoaXMpOworCisgICAgICAgIHN1cGVyLmRl
dGFjaGVkKCk7CiAgICAgfQogCiAgICAgLy8gUHJpdmF0ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413899</attachid>
            <date>2020-11-11 18:52:22 -0800</date>
            <delta_ts>2020-11-20 14:37:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218678-20201111185221.patch</filename>
            <type>text/plain</type>
            <size>127893</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDVhMDU4NjZkZGU1YjQ2ZGM5Mzg3YThhYWVjNjA4
NDk2NDgzOTRmYWEuLjQyOTE5MGFiY2JiMjEzNWY0YTJiODdiOTliNjIxMGMxMTAxNWFlODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3NyBAQAorMjAyMC0xMS0xMSAgRGV2
aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
ZHJvcCBgc2hvd25gL2BoaWRkZW5gIGluIGZhdm9yIG9mIGBhdHRhY2hlZGAvYGRldGFjaGVkYAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4Njc4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1ZpZXcuanM6CisgICAgICAgIChXSS5WaWV3LnByb3RvdHlwZS5yZW1vdmVT
dWJ2aWV3KToKKyAgICAgICAgRW5zdXJlIHRoYXQgYGRldGFjaGVkYCBpcyBjYWxsZWQgYmVmb3Jl
IHRoZSBub2RlIGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NIHNvIHRoYXQgYW55IHN0YXRlCisgICAg
ICAgIGN1cnJlbnRseSBoZWxkIGluIHRoZSBET00gY2FuIGJlIHJlY29yZGVkIChlLmcuIHNjcm9s
bCBwb3NpdGlvbikuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRCcm93
c2VyVGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5Db250ZW50QnJvd3NlclRhYkNvbnRl
bnRWaWV3LnByb3RvdHlwZS5hdHRhY2hlZCk6CisgICAgICAgIChXSS5Db250ZW50QnJvd3NlclRh
YkNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93TmF2aWdhdGlvblNpZGViYXJQYW5lbCk6CisgICAg
ICAgIChXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93RGV0YWls
c1NpZGViYXJQYW5lbHMpOgorICAgICAgICAoV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50Vmll
dy5wcm90b3R5cGUuX25hdmlnYXRpb25TaWRlYmFyQ29sbGFwc2VkU3RhdGVEaWRDaGFuZ2UpOgor
ICAgICAgICAoV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuX2RldGFp
bHNTaWRlYmFyQ29sbGFwc2VkU3RhdGVEaWRDaGFuZ2UpOgorICAgICAgICAoV0kuQ29udGVudEJy
b3dzZXJUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuX2RldGFpbHNTaWRlYmFyUGFuZWxTZWxlY3Rl
ZCk6CisgICAgICAgIChXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5z
aG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3
LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvU2luZ2xlU2lkZWJhci5qczoKKyAgICAgICAgKFdJLlNpbmdsZVNpZGViYXIucHJvdG90eXBl
LndpbGxTZXRTZWxlY3RlZFNpZGViYXJQYW5lbCk6CisgICAgICAgIChXSS5TaW5nbGVTaWRlYmFy
LnByb3RvdHlwZS5kaWRTZXRTZWxlY3RlZFNpZGViYXJQYW5lbCk6CisgICAgICAgIChXSS5TaW5n
bGVTaWRlYmFyLnByb3RvdHlwZS5kaWRTZXRDb2xsYXBzZWQpOgorICAgICAgICBFbnN1cmUgdGhh
dCBhbnkgc3RhdGUgbW9kaWZpY2F0aW9ucyBoYXBwZW4gYmVmb3JlIGFkZGluZy9yZW1vdmluZyB0
aGUgc2VsZWN0ZWQgc2lkZWJhciBwYW5lbAorICAgICAgICB0by9mcm9tIHRoZSBET00gc28gdGhh
dCBpdCAoYW5kIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHNpZGViYXIgcGFuZWwpIGRvZXNuJ3Qg
cmUtYGxheW91dGAKKyAgICAgICAgbXVsdGlwbGUgdGltZXMuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbnNvbGVEcmF3ZXIuanM6CisgICAgICAgIChXSS5Db25zb2xlRHJhd2Vy
LnByb3RvdHlwZS5zZXQgY29sbGFwc2VkKToKKyAgICAgICAgKFdJLkNvbnNvbGVEcmF3ZXIucHJv
dG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5Db25zb2xlRHJhd2VyLnByb3Rv
dHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIEFkZCBzcGVjaWFsIGxvZ2ljIGluIGBjb2xs
YXBzZWRgIHNpbmNlIHRoaXMgaXMgbmV2ZXIgcmVtb3ZlZCBmcm9tIHRoZSBET00uCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVUYWJDb250ZW50Vmlldy5qczoKKyAgICAg
ICAgKFdJLkNvbnNvbGVUYWJDb250ZW50Vmlldyk6CisgICAgICAgIChXSS5Db25zb2xlVGFiQ29u
dGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5Db25zb2xl
VGFiQ29udGVudFZpZXcucHJvdG90eXBlLmRldGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5D
b25zb2xlVGFiQ29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAg
UmVtZW1iZXIgd2hldGhlciB0aGUgc3BsaXQgY29uc29sZSB3YXMgZXhwYW5kZWQgYmVmb3JlIHRo
ZSBDb25zb2xlIFRhYiBpcyBzaG93biBhbmQgcmVzdG9yZQorICAgICAgICB0aGF0IHN0YXRlIGFm
dGVyIHRoZSBDb25zb2xlIFRhYiBpcyBoaWRkZW4uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanM6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3
LnByb3RvdHlwZS5nZXQgaGVpZ2h0KToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJv
dG90eXBlLmF0dGFjaGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBl
LmRldGFjaGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnJlY29y
ZFdhc0ZpbHRlcmVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNl
bGVjdFJlY29yZCk6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS51cGRh
dGVMYXlvdXRJZk5lZWRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlw
ZS5sYXlvdXQpOgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuX2luc3Ry
dW1lbnRBZGRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5fdGlt
ZWxpbmVSdWxlck1vdXNlQ2xpY2tlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3LnBy
b3RvdHlwZS5fdmlld01vZGVEaWRDaGFuZ2UpOgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmll
dy5wcm90b3R5cGUuZ2V0IHZpc2libGUpOiBEZWxldGVkLgorICAgICAgICAoV0kuVGltZWxpbmVP
dmVydmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuVGltZWxpbmVP
dmVydmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKFdJLlRpbWVsaW5l
T3ZlcnZpZXdHcmFwaCk6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90
eXBlLmdldCBoaWRkZW4pOgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmlld0dyYXBoLnByb3Rv
dHlwZS5zZXQgaGlkZGVuKToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90
b3R5cGUubmVlZHNMYXlvdXQpOgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmlld0dyYXBoLnBy
b3RvdHlwZS5nZXQgdmlzaWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2
aWV3R3JhcGgucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5l
T3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NQVVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKFdJ
LkNQVVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUubGF5b3V0KToKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBBbGxvY2F0aW9uc1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5q
czoKKyAgICAgICAgKFdJLkhlYXBBbGxvY2F0aW9uc1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90
b3R5cGUubGF5b3V0KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVs
aW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKFdJLkxheW91dFRpbWVsaW5lT3ZlcnZpZXdH
cmFwaC5wcm90b3R5cGUubGF5b3V0KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL01l
ZGlhVGltZWxpbmVPdmVydmlld0dyYXBoLmpzOgorICAgICAgICAoV0kuTWVkaWFUaW1lbGluZU92
ZXJ2aWV3R3JhcGgucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9NZW1vcnlUaW1lbGluZU92ZXJ2aWV3R3JhcGguanM6CisgICAgICAgIChXSS5NZW1vcnlU
aW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBoLmpzOgorICAgICAgICAo
V0kuTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUubGF5b3V0KToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dy
YXBoLmpzOgorICAgICAgICAoV0kuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGgu
cHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRU
aW1lbGluZU92ZXJ2aWV3R3JhcGguanM6CisgICAgICAgIChXSS5TY3JpcHRUaW1lbGluZU92ZXJ2
aWV3R3JhcGgucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXSS5UaW1lbGluZVZpZXcucHJvdG90eXBlLm5l
ZWRzTGF5b3V0KTogRGVsZXRlZC4KKyAgICAgICAgQWRkIGEgc3BlY2lhbCBgaGlkZGVuYCBpbnN0
ZWFkIG9mIHRoZSBwcmV2aW91c2x5IGluaGVyaXRlZCBgdmlzaWJsZWAgc28gdGhhdCB0aGUgZXhp
c3RpbmcKKyAgICAgICAgbG9naWMgZm9yIGVkaXRpbmcgdGltZWxpbmUgaW5zdHJ1bWVudHMgc3Rh
eXMgKG1vc3RseSkgdGhlIHNhbWUuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0Fw
cGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuQXBwbGljYXRp
b25DYWNoZUZyYW1lQ29udGVudFZpZXcpOgorICAgICAgICAoV0kuQXBwbGljYXRpb25DYWNoZUZy
YW1lQ29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKToKKyAgICAgICAgKFdJLkFwcGxpY2F0
aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6CisgICAgICAgIChX
SS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50Vmlldy5wcm90b3R5cGUubGF5b3V0KToKKyAg
ICAgICAgKFdJLkFwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3LnByb3RvdHlwZS51cGRh
dGVTdGF0dXMpOgorICAgICAgICAoV0kuQXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcu
cHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkFwcGxpY2F0aW9uQ2FjaGVG
cmFtZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5jbG9zZWQpOiBEZWxldGVkLgorICAgICAgICAoV0ku
QXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcucHJvdG90eXBlLl9tYXliZVVwZGF0ZSk6
IERlbGV0ZWQuCisgICAgICAgIChXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50Vmlldy5w
cm90b3R5cGUuX21hcmtEaXJ0eSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5BcHBsaWNhdGlvbkNh
Y2hlRnJhbWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3VwZGF0ZVN0YXR1cyk6IERlbGV0ZWQuCisg
ICAgICAgIChXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3Vw
ZGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIE5vIG5lZWQgdG8gbWFpbnRhaW4gYSBzZXBhcmF0ZSAi
ZGlydHkiIGZsYWcgYmFzZWQgb24gdmlzaWJpbGl0eSBzaW5jZSBgYXR0YWNoZWRgL2BkZXRhY2hl
ZGAKKyAgICAgICAgYXJlIGNhbGxlZCB3aGVuZXZlciB0aGUgdmlldyBpcyBhZGRlZC9yZW1vdmVk
IHRvL2Zyb20gdGhlIERPTS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRGVidWcvRGVidWdD
b250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLkRlYnVnQ29udGVudFZpZXcucHJvdG90eXBlLmF0
dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5EZWJ1Z0NvbnRlbnRWaWV3LnByb3RvdHlwZS5k
ZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuRGVidWdDb250ZW50Vmlldy5wcm90b3R5cGUu
c2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuRGVidWdDb250ZW50Vmlldy5wcm90b3R5cGUu
aGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0FuaW1hdGlv
bkRldGFpbHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXSS5BbmltYXRpb25EZXRhaWxzU2lk
ZWJhclBhbmVsLnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuQW5pbWF0
aW9uRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJDb250ZW50Vmlldy5qczoKKyAgICAgICAg
KFdJLkF1ZGl0VGFiQ29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAg
ICAgIChXSS5BdWRpdFRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVkLgor
ICAgICAgICAoV0kuQXVkaXRUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVk
LgorICAgICAgICAoV0kuQXVkaXRUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGVzdENvbnRlbnRWaWV3
LmpzOgorICAgICAgICAoV0kuQXVkaXRUZXN0Q29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVk
KTogQWRkZWQuCisgICAgICAgIChXSS5BdWRpdFRlc3RDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0
YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENvbnRlbnRWaWV3LnByb3RvdHlw
ZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5BdWRpdFRlc3RDb250ZW50Vmlldy5wcm90
b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NQ
VVRpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdJLkNQVVRpbWVsaW5lVmlldy5wcm90b3R5cGUu
YXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkNQVVRpbWVsaW5lVmlldy5wcm90b3R5cGUu
c2hvd24pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzU2lk
ZWJhclBhbmVsLmpzOgorICAgICAgICAoV0kuQ2FudmFzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5h
dHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuQ2FudmFzU2lkZWJhclBhbmVsLnByb3RvdHlw
ZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuQ2FudmFzU2lkZWJhclBhbmVsLnByb3Rv
dHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5DYW52YXNTaWRlYmFyUGFuZWwucHJv
dG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9E
T01UcmVlQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJv
dG90eXBlLmF0dGFjaGVkKToKKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5
cGUuZGV0YWNoZWQpOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5z
aG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBl
LmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9FbGVtZW50
c1RhYkNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuRWxlbWVudHNUYWJDb250ZW50Vmlldy5w
cm90b3R5cGUuYXR0YWNoZWQpOgorICAgICAgICAoV0kuRWxlbWVudHNUYWJDb250ZW50Vmlldy5w
cm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
Rm9udFJlc291cmNlQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5Gb250UmVzb3VyY2VDb250
ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOgorICAgICAgICAoV0kuRm9udFJlc291cmNlQ29u
dGVudFZpZXcucHJvdG90eXBlLmRldGFjaGVkKToKKyAgICAgICAgKFdJLkZvbnRSZXNvdXJjZUNv
bnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5Gb250UmVz
b3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5qczoKKyAg
ICAgICAgKFdJLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNo
ZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5w
cm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
SGVhcFNuYXBzaG90Q29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5IZWFwU25hcHNob3RDb250
ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkhlYXBTbmFw
c2hvdENvbnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0ku
SGVhcFNuYXBzaG90Q29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdJLkhlYXBTbmFwc2hvdENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3
LmpzOgorICAgICAgICAoV0kuSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5hdHRh
Y2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuSW1hZ2VSZXNvdXJjZUNvbnRlbnRW
aWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5JbWFnZVJlc291cmNl
Q29udGVudFZpZXcucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAo
V0kuTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuYXR0YWNoZWQpOgorICAg
ICAgICAoV0kuTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuZGV0YWNoZWQp
OiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90
eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkxheWVyVHJlZURldGFpbHNTaWRlYmFy
UGFuZWwucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250
ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyczNE
Q29udGVudFZpZXcucHJvdG90eXBlLmRldGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5MYXll
cnMzRENvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5M
YXllcnMzRENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzVGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChX
SS5MYXllcnNUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAg
ICAgKFdJLkxheWVyc1RhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZVZpZXcuanM6CisgICAg
ICAgIChXSS5MYXlvdXRUaW1lbGluZVZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisg
ICAgICAgIChXSS5MYXlvdXRUaW1lbGluZVZpZXcucHJvdG90eXBlLmRldGFjaGVkKTogQWRkZWQu
CisgICAgICAgIChXSS5MYXlvdXRUaW1lbGluZVZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdJLkxheW91dFRpbWVsaW5lVmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzOgor
ICAgICAgICAoV0kuTG9nQ29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisg
ICAgICAgIChXSS5Mb2dDb250ZW50Vmlldy5wcm90b3R5cGUuc2hvd0N1c3RvbUZpbmRCYW5uZXIp
OgorICAgICAgICAoV0kuTG9nQ29udGVudFZpZXcucHJvdG90eXBlLmdldCBzdXBwb3J0c1NhdmUp
OgorICAgICAgICAoV0kuTG9nQ29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4K
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmlldy5qczoKKyAg
ICAgICAgKFdJLk1lbW9yeVRpbWVsaW5lVmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4K
KyAgICAgICAgKFdJLk1lbW9yeVRpbWVsaW5lVmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQYW5lbC5q
czoKKyAgICAgICAgKFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLmF0dGFjaGVk
KTogQWRkZWQuCisgICAgICAgIChXSS5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5z
aG93bik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrRGV0
YWlsVmlldy5qczoKKyAgICAgICAgKFdJLk5ldHdvcmtEZXRhaWxWaWV3LnByb3RvdHlwZS5hdHRh
Y2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuTmV0d29ya0RldGFpbFZpZXcucHJvdG90eXBlLnNo
b3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLk5ldHdvcmtEZXRhaWxWaWV3LnByb3RvdHlwZS5o
aWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1Jl
c291cmNlRGV0YWlsVmlldy5qczoKKyAgICAgICAgKFdJLk5ldHdvcmtSZXNvdXJjZURldGFpbFZp
ZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5OZXR3b3JrUmVzb3Vy
Y2VEZXRhaWxWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdJLk92ZXJ2
aWV3VGltZWxpbmVWaWV3LnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0ku
T3ZlcnZpZXdUaW1lbGluZVZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL1JlY29yZGluZ0NvbnRlbnRWaWV3LmpzOgorICAgICAgICAo
V0kuUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAg
ICAgIChXSS5SZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0YWNoZWQpOiBBZGRlZC4K
KyAgICAgICAgKFdJLlJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0
ZWQuCisgICAgICAgIChXSS5SZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTog
RGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ2x1c3RlckNv
bnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuUmVzb3VyY2VDbHVzdGVyQ29udGVudFZpZXcucHJv
dG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5SZXNvdXJjZUNsdXN0ZXJDb250
ZW50Vmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5SZXNv
dXJjZUhlYWRlcnNDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0YWNoZWQpOiBBZGRlZC4KKyAgICAg
ICAgKFdJLlJlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxl
dGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoVGFiQ29udGVudFZpZXcu
anM6CisgICAgICAgIChXSS5TZWFyY2hUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQp
OiBBZGRlZC4KKyAgICAgICAgKFdJLlNlYXJjaFRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93
bik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TaGFkZXJQcm9ncmFt
Q29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5TaGFkZXJQcm9ncmFtQ29udGVudFZpZXcucHJv
dG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5TaGFkZXJQcm9ncmFtQ29udGVu
dFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlNoYWRlclByb2dy
YW1Db250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdJLlNpZGViYXJQYW5l
bC5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlNpZGViYXJQYW5lbC5w
cm90b3R5cGUuZGV0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlNpZGViYXJQYW5lbC5wcm90
b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuU2lkZWJhclBhbmVsLnByb3RvdHlw
ZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU291cmNl
Q29kZVRleHRFZGl0b3IuanM6CisgICAgICAgIChXSS5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90
b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlNvdXJjZUNvZGVUZXh0RWRpdG9y
LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuU291cmNlQ29kZVRleHRF
ZGl0b3IucHJvdG90eXBlLl9zZXRUeXBlVG9rZW5Bbm5vdGF0b3JFbmFibGVkU3RhdGUpOgorICAg
ICAgICAoV0kuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBlLnNldCBfYmFzaWNCbG9ja0Fu
bm90YXRvckVuYWJsZWQpOgorICAgICAgICAoV0kuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90
eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlNvdXJjZUNvZGVUZXh0RWRpdG9yLnBy
b3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
U3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uRWRpdG9yLmpzOgorICAgICAgICAoV0kuU3By
ZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uRWRpdG9yLnByb3RvdHlwZS5kZXRhY2hlZCk6Cisg
ICAgICAgIChXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25FZGl0b3IucHJvdG90eXBl
LmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRz
aGVldFN0eWxlUHJvcGVydHkuanM6CisgICAgICAgIChXSS5TcHJlYWRzaGVldFN0eWxlUHJvcGVy
dHkucHJvdG90eXBlLmRldGFjaGVkKToKKyAgICAgICAgKFdJLlNwcmVhZHNoZWV0U3R5bGVQcm9w
ZXJ0eS5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1N0eWxlRGV0YWlsc1BhbmVsLmpzOgorICAgICAgICAoV0kuU3R5bGVEZXRhaWxzUGFu
ZWwpOgorICAgICAgICAoV0kuU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLmF0dGFjaGVkKToK
KyAgICAgICAgKFdJLlN0eWxlRGV0YWlsc1BhbmVsLnByb3RvdHlwZS5tYXJrQXNOZWVkc1JlZnJl
c2gpOgorICAgICAgICAoV0kuU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLm5vZGVTdHlsZXNS
ZWZyZXNoZWQpOgorICAgICAgICAoV0kuU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLl9ub2Rl
U3R5bGVzTmVlZHNSZWZyZXNoZWQpOgorICAgICAgICAoV0kuU3R5bGVEZXRhaWxzUGFuZWwucHJv
dG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlN0eWxlRGV0YWlsc1BhbmVsLnBy
b3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
VGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5UYWJDb250ZW50Vmlldy5wcm90b3R5cGUu
YXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5y
ZXN0b3JlU3RhdGVGcm9tQ29va2llKToKKyAgICAgICAgKFdJLlRhYkNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UYWJs
ZS5qczoKKyAgICAgICAgKFdJLlRhYmxlLnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAg
ICAgICAoV0kuVGFibGUucHJvdG90eXBlLnJlc3RvcmVTY3JvbGxQb3NpdGlvbik6IERlbGV0ZWQu
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzOgorICAgICAgICAo
V0kuVGV4dEVkaXRvci5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlRl
eHRFZGl0b3IucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgIChXSS5UZXh0RWRpdG9yLnByb3Rv
dHlwZS5fcmV2ZWFsUGVuZGluZ1Bvc2l0aW9uSWZQb3NzaWJsZSk6CisgICAgICAgIChXSS5UZXh0
RWRpdG9yLnByb3RvdHlwZS5nZXQgdmlzaWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5UZXh0
RWRpdG9yLnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5UZXh0RWRpdG9y
LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVEYXRhR3JpZC5qczoKKyAgICAgICAgKFdJLlRpbWVsaW5lRGF0YUdyaWQucHJv
dG90eXBlLmRldGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5UaW1lbGluZURhdGFHcmlkLnBy
b3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5UaW1lbGluZURhdGFHcmlkLnBy
b3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChX
SS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVk
LgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuaW5p
dGlhbExheW91dCk6IEFkZGVkLgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50
Vmlldy5wcm90b3R5cGUuX2NvbnRlbnRWaWV3U2VsZWN0aW9uUGF0aENvbXBvbmVudERpZENoYW5n
ZSk6CisgICAgICAgIChXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5f
dXBkYXRlKToKKyAgICAgICAgKFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90
eXBlLl9oYW5kbGVUaW1lbGluZVZpZXdSZWNvcmRTZWxlY3RlZCk6CisgICAgICAgIChXSS5UaW1l
bGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5faGFuZGxlVGltZWxpbmVWaWV3U2Nh
bm5lclNob3cpOgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90
b3R5cGUuX2hhbmRsZVRpbWVsaW5lVmlld1NjYW5uZXJIaWRlKToKKyAgICAgICAgKFdJLlRpbWVs
aW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5kbGVUaW1lbGluZVZpZXdOZWVk
c0VudGlyZVNlbGVjdGVkUmFuZ2UpOgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250
ZW50Vmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanM6CisgICAgICAg
IChXSS5UaW1lbGluZVRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgor
ICAgICAgICAoV0kuVGltZWxpbmVUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0YWNoZWQpOiBB
ZGRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcucHJvdG90eXBlLl9pbnNw
ZWN0b3JWaXNpYmlsaXR5Q2hhbmdlZCk6CisgICAgICAgIChXSS5UaW1lbGluZVRhYkNvbnRlbnRW
aWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5UaW1lbGluZVRhYkNv
bnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvV2ViU29ja2V0Q29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5XZWJTb2Nr
ZXRDb250ZW50Vmlldy5wcm90b3R5cGUuYXR0YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLldl
YlNvY2tldENvbnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAo
V0kuV2ViU29ja2V0Q29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdJLldlYlNvY2tldENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSmF2YVNjcmlwdExvZ1ZpZXdDb250
cm9sbGVyLmpzOgorICAgICAgICAoV0kuSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyLnByb3Rv
dHlwZS5fYXBwZW5kQ29uc29sZU1lc3NhZ2VWaWV3KToKKyAgICAgICAgTW92ZSBsb2dpYyBpbnNp
ZGUgYHNob3duYC9gaGlkZGVuYCB0byBgYXR0YWNoZWRgL2BkZXRhY2hlZGAuCisgICAgICAgIFVz
ZSBgaXNBdHRhY2hlZGAgaW5zdGVhZCBvZiBgdmlzaWJsZWAuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL01vZGVscy9CYWNrRm9yd2FyZEVudHJ5LmpzOgorICAgICAgICAoV0kuQmFja0Zvcndh
cmRFbnRyeS5wcm90b3R5cGUucHJlcGFyZVRvU2hvdyk6CisgICAgICAgIChXSS5CYWNrRm9yd2Fy
ZEVudHJ5LnByb3RvdHlwZS5wcmVwYXJlVG9IaWRlKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL0F1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5BdWRpdFRl
c3RHcm91cENvbnRlbnRWaWV3LnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAo
V0kuQXVkaXRUZXN0R3JvdXBDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0YWNoZWQpOiBBZGRlZC4K
KyAgICAgICAgKFdJLkF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcucHJvdG90eXBlLl9hZGRUZXN0
KToKKyAgICAgICAgKFdJLkF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5k
bGVUZXN0R3JvdXBUZXN0UmVtb3ZlZCk6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cENvbnRl
bnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5BdWRpdFRlc3RH
cm91cENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvQ2hhbmdlc0RldGFpbHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAg
IChXSS5DaGFuZ2VzRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ2x1c3RlckNvbnRlbnRWaWV3LmpzOgor
ICAgICAgICAoV0kuQ2x1c3RlckNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQu
CisgICAgICAgIChXSS5DbHVzdGVyQ29udGVudFZpZXcucHJvdG90eXBlLmhpZGRlbik6IERlbGV0
ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Db2xsZWN0aW9uQ29udGVudFZpZXcu
anM6CisgICAgICAgIChXSS5Db2xsZWN0aW9uQ29udGVudFZpZXcucHJvdG90eXBlLmFkZENvbnRl
bnRWaWV3Rm9ySXRlbSk6CisgICAgICAgIChXSS5Db2xsZWN0aW9uQ29udGVudFZpZXcucHJvdG90
eXBlLnJlbW92ZUNvbnRlbnRWaWV3Rm9ySXRlbSk6CisgICAgICAgIChXSS5Db2xsZWN0aW9uQ29u
dGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkNvbGxlY3Rp
b25Db250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NvbXB1dGVkU3R5bGVTZWN0aW9uLmpzOgorICAgICAgICAoV0kuQ29t
cHV0ZWRTdHlsZVNlY3Rpb24ucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qczoKKyAgICAgICAgKFdJLkNvbnRl
bnRCcm93c2VyLnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuQ29udGVu
dEJyb3dzZXIucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkNvbnRlbnRC
cm93c2VyLnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5Db250ZW50Vmlldy5wcm90b3R5
cGUuZ2V0IHZpc2libGUpOiBEZWxldGVkLgorICAgICAgICAoV0kuQ29udGVudFZpZXcucHJvdG90
eXBlLnNldCB2aXNpYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAgICAgIChXSS5Db250ZW50Vmlldy5wcm90b3R5cGUu
aGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRW
aWV3Q29udGFpbmVyLmpzOgorICAgICAgICAoV0kuQ29udGVudFZpZXdDb250YWluZXIucHJvdG90
eXBlLnNob3dDb250ZW50Vmlldyk6CisgICAgICAgIChXSS5Db250ZW50Vmlld0NvbnRhaW5lci5w
cm90b3R5cGUuc2hvd0JhY2tGb3J3YXJkRW50cnlGb3JJbmRleCk6CisgICAgICAgIChXSS5Db250
ZW50Vmlld0NvbnRhaW5lci5wcm90b3R5cGUucmVwbGFjZUNvbnRlbnRWaWV3KToKKyAgICAgICAg
KFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyLnByb3RvdHlwZS5jbG9zZUNvbnRlbnRWaWV3KToKKyAg
ICAgICAgKFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyLnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVk
LgorICAgICAgICAoV0kuQ29udGVudFZpZXdDb250YWluZXIucHJvdG90eXBlLmRldGFjaGVkKTog
QWRkZWQuCisgICAgICAgIChXSS5Db250ZW50Vmlld0NvbnRhaW5lci5wcm90b3R5cGUuX2Rpc2Fz
c29jaWF0ZUZyb21Db250ZW50Vmlldyk6CisgICAgICAgIChXSS5Db250ZW50Vmlld0NvbnRhaW5l
ci5wcm90b3R5cGUuX3Nob3dFbnRyeSk6CisgICAgICAgIChXSS5Db250ZW50Vmlld0NvbnRhaW5l
ci5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuQ29udGVudFZpZXdDb250
YWluZXIucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV0ku
R2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuZ2V0IG1pbmltdW1XaWR0
aCk6CisgICAgICAgIChXSS5HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlw
ZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGVi
YXJQYW5lbC5wcm90b3R5cGUuX3Nob3dQYW5lbCk6CisgICAgICAgIChXSS5HZW5lcmFsU3R5bGVE
ZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAo
V0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuc2hvd24pOiBEZWxl
dGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFsbG9jYXRpb25zVGltZWxp
bmVWaWV3LmpzOgorICAgICAgICAoV0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3LnByb3Rv
dHlwZS5zaG93SGVhcFNuYXBzaG90TGlzdCk6CisgICAgICAgIChXSS5IZWFwQWxsb2NhdGlvbnNU
aW1lbGluZVZpZXcucHJvdG90eXBlLnNob3dIZWFwU25hcHNob3RUaW1lbGluZVJlY29yZCk6Cisg
ICAgICAgIChXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcucHJvdG90eXBlLnNob3dIZWFw
U25hcHNob3REaWZmKToKKyAgICAgICAgKFdJLkhlYXBBbGxvY2F0aW9uc1RpbWVsaW5lVmlldy5w
cm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuSGVhcEFsbG9jYXRpb25zVGlt
ZWxpbmVWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXSS5NZWRpYVRpbWVs
aW5lVmlldy5wcm90b3R5cGUuc2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuTWVkaWFUaW1l
bGluZVZpZXcucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9OZXR3b3JrVGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5OZXR3b3Jr
VGFiQ29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLk5l
dHdvcmtUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmpzOgorICAgICAg
ICAoV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcucHJvdG90eXBlLmRldGFjaGVkKTogQWRkZWQu
CisgICAgICAgIChXSS5OZXR3b3JrVGFibGVDb250ZW50Vmlldy5wcm90b3R5cGUuX2hpZGVEZXRh
aWxWaWV3KToKKyAgICAgICAgKFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5f
c2hvd0RldGFpbFZpZXcpOgorICAgICAgICAoV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcucHJv
dG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRW
aWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdJLk5ldHdvcmtUaW1lbGlu
ZVZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLk5ldHdvcmtUaW1l
bGluZVZpZXcucHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdJLlJl
bmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LnByb3RvdHlwZS5zaG93bik6IERlbGV0ZWQuCisgICAg
ICAgIChXSS5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5wcm90b3R5cGUuaGlkZGVuKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdENvbnRlbnRWaWV3Lmpz
OgorICAgICAgICAoV0kuU2NyaXB0Q29udGVudFZpZXcucHJvdG90eXBlLnNob3duKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdJLlNjcmlwdENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBEZWxl
dGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5l
Vmlldy5qczoKKyAgICAgICAgKFdJLlNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcucHJvdG90eXBl
LnNob3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcu
cHJvdG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9TaWRlYmFyLmpzOgorICAgICAgICAoV0kuU2lkZWJhci5wcm90b3R5cGUuc2V0IGNvbGxhcHNl
ZCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVj
bGFyYXRpb25TZWN0aW9uLmpzOgorICAgICAgICAoV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xh
cmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuaGlkZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbC5qczoKKyAg
ICAgICAgKFdJLlNwcmVhZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbC5wcm90b3R5cGUuaGlk
ZGVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRDb250ZW50
Vmlldy5qczoKKyAgICAgICAgKFdJLlRleHRDb250ZW50Vmlldy5wcm90b3R5cGUuc2hvd24pOiBE
ZWxldGVkLgorICAgICAgICAoV0kuVGV4dENvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOiBE
ZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGV4dFJlc291cmNlQ29udGVu
dFZpZXcuanM6CisgICAgICAgIChXSS5UZXh0UmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUu
c2hvd24pOiBEZWxldGVkLgorICAgICAgICAoV0kuVGV4dFJlc291cmNlQ29udGVudFZpZXcucHJv
dG90eXBlLmhpZGRlbik6IERlbGV0ZWQuCisgICAgICAgIFJlbW92ZSBgc2hvd25gL2BoaWRkZW5g
IGNhbGxzIHNpbmNlIHRoYXQgc3RhdGUgaXMgcHJvcGFnYXRlZCB0byBzdWJ2aWV3cyBieSBgV0ku
Vmlld2AgbG9naWMuCisKIDIwMjAtMTEtMDYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNvdXJjZXM6IGRlZmF1bHQgYnJlYWtwb2lu
dCBhY3Rpb24gc2hvdWxkIGJlIGV2YWx1YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9KYXZhU2NyaXB0TG9nVmlld0NvbnRyb2xs
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9K
YXZhU2NyaXB0TG9nVmlld0NvbnRyb2xsZXIuanMKaW5kZXggNzcyYjZmZWQzZTMxYjQ4NWY4ODIw
NmQ0MDg2Yjk0NDkyNGFlOTA2MS4uY2U0MjQyYzY4ODMwZjFiNDMxNmM0ZjdlOTgwNDI3YWI3ZmE1
MTgwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29u
dHJvbGxlcnMvSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0phdmFTY3JpcHRMb2dWaWV3Q29u
dHJvbGxlci5qcwpAQCAtMjc5LDcgKzI3OSw3IEBAIFdJLkphdmFTY3JpcHRMb2dWaWV3Q29udHJv
bGxlciA9IGNsYXNzIEphdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlciBleHRlbmRzIFdJLk9iCiAg
ICAgICAgIGlmIChtZXNzYWdlVmlldy5tZXNzYWdlICYmIG1lc3NhZ2VWaWV3Lm1lc3NhZ2Uuc291
cmNlICE9PSBXSS5Db25zb2xlTWVzc2FnZS5NZXNzYWdlU291cmNlLkpTKQogICAgICAgICAgICAg
dGhpcy5fbGFzdENvbW1pdHRlZCA9ICIiOwogCi0gICAgICAgIGlmIChXSS5jb25zb2xlQ29udGVu
dFZpZXcudmlzaWJsZSkKKyAgICAgICAgaWYgKFdJLmNvbnNvbGVDb250ZW50Vmlldy5pc0F0dGFj
aGVkKQogICAgICAgICAgICAgdGhpcy5yZW5kZXJQZW5kaW5nTWVzc2FnZXNTb29uKCk7CiAKICAg
ICAgICAgaWYgKCFXSS5pc1Nob3dpbmdDb25zb2xlVGFiKCkgJiYgbWVzc2FnZVZpZXcubWVzc2Fn
ZSAmJiBtZXNzYWdlVmlldy5tZXNzYWdlLnNob3VsZFJldmVhbENvbnNvbGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9EZWJ1Zy9EZWJ1Z0NvbnRlbnRW
aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRGVidWcvRGVidWdD
b250ZW50Vmlldy5qcwppbmRleCBkMmI4YjA2NTRiN2MxNWNhMTRkMTRhZmU1MmE5Y2M3ZjkzYjU1
ODg3Li44NWRiZDMwZjdiNzdiYzFiYmQxNjBjMWMxNzE0YTgyMjJiODBhODlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9EZWJ1Zy9EZWJ1Z0NvbnRlbnRW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RlYnVnL0Rl
YnVnQ29udGVudFZpZXcuanMKQEAgLTM3LDE2ICszNywxNiBAQCBXSS5EZWJ1Z0NvbnRlbnRWaWV3
ID0gY2xhc3MgRGVidWdDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICAv
LyBQcm90ZWN0ZWQKIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAg
ICBzdXBlci5zaG93bigpOwotICAgICAgICBjb25zb2xlLmRlYnVnKGBzaG93bjogJHt0aGlzLl9z
dHJpbmd9YCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CisgICAgICAgIGNvbnNvbGUuZGVi
dWcoYGF0dGFjaGVkOiAke3RoaXMuX3N0cmluZ31gKTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQor
ICAgIGRldGFjaGVkKCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuZGVidWcoYGhpZGRlbjogJHt0
aGlzLl9zdHJpbmd9YCk7Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBjb25zb2xl
LmRlYnVnKGBkZXRhY2hlZDogJHt0aGlzLl9zdHJpbmd9YCk7CisgICAgICAgIHN1cGVyLmRldGFj
aGVkKCk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9CYWNrRm9yd2FyZEVudHJ5LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0JhY2tGb3J3YXJkRW50cnkuanMK
aW5kZXggZGFjMTk1YTcyOTFjNDM1NzIwYmExNjI1MWQ3ZDY4ODE3MjU5ZmI4Ny4uYzYxOGE1ODBk
NmU5ZjVjYjMwMDA5ZTY5ZDU1Zjc5MDFlMzZlZDEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0JhY2tGb3J3YXJkRW50cnkuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0JhY2tGb3J3YXJkRW50
cnkuanMKQEAgLTczLDE1ICs3MywxMiBAQCBXSS5CYWNrRm9yd2FyZEVudHJ5ID0gY2xhc3MgQmFj
a0ZvcndhcmRFbnRyeQogICAgICAgICB0aGlzLl90b21ic3RvbmUgPSB0b21ic3RvbmU7CiAgICAg
fQogCi0gICAgcHJlcGFyZVRvU2hvdyhzaG91bGRDYWxsU2hvd24pCisgICAgcHJlcGFyZVRvU2hv
dygpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdG9tYnN0b25lLCAiU2hv
dWxkIG5vdCBiZSBjYWxsaW5nIHNob3duIG9uIGEgdG9tYnN0b25lIik7CiAKICAgICAgICAgdGhp
cy5fcmVzdG9yZUZyb21Db29raWUoKTsKIAotICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LnZpc2li
bGUgPSB0cnVlOwotICAgICAgICBpZiAoc2hvdWxkQ2FsbFNob3duKQotICAgICAgICAgICAgdGhp
cy5jb250ZW50Vmlldy5zaG93bigpOwogICAgICAgICB0aGlzLmNvbnRlbnRWaWV3Lm5lZWRzTGF5
b3V0KCk7CiAgICAgfQogCkBAIC04OSw5ICs4Niw2IEBAIFdJLkJhY2tGb3J3YXJkRW50cnkgPSBj
bGFzcyBCYWNrRm9yd2FyZEVudHJ5CiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhp
cy5fdG9tYnN0b25lLCAiU2hvdWxkIG5vdCBiZSBjYWxsaW5nIGhpZGRlbiBvbiBhIHRvbWJzdG9u
ZSIpOwogCi0gICAgICAgIHRoaXMuY29udGVudFZpZXcudmlzaWJsZSA9IGZhbHNlOwotICAgICAg
ICB0aGlzLmNvbnRlbnRWaWV3LmhpZGRlbigpOwotCiAgICAgICAgIHRoaXMuX3NhdmVTY3JvbGxQ
b3NpdGlvbnMoKTsKIAogICAgICAgICBpZiAodGhpcy5fY29udGVudFZpZXcuc2hvdWxkU2F2ZVN0
YXRlV2hlbkhpZGRlbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQW5pbWF0aW9uRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FuaW1hdGlvbkRldGFpbHNTaWRlYmFy
UGFuZWwuanMKaW5kZXggNWY0MjRmOWFlMDc3MzJmZjIwZjgyMThkZjAzMTJhNjg0NmFlN2IzOC4u
OGMzZmQ5NGJmMDhjYTI3NmIxZDIzMzM1Nzg0N2ZkMzUxMzIyYTI3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQW5pbWF0aW9uRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9BbmltYXRpb25EZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC0xNDIsOSArMTQyLDkgQEAg
V0kuQW5pbWF0aW9uRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIEFuaW1hdGlvbkRldGFpbHNT
aWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS4KICAgICAgICAgICAgIGNvZGVNaXJyb3IucmVmcmVzaCgp
OwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBz
dXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGZvciAo
bGV0IGNvZGVNaXJyb3Igb2YgdGhpcy5fY29kZU1pcnJvclNlY3Rpb25NYXAudmFsdWVzKCkpCiAg
ICAgICAgICAgICBjb2RlTWlycm9yLnJlZnJlc2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRl
bnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXBw
bGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcuanMKaW5kZXggYzc1MDk1Zjk2YzQwNWE4N2Rj
MTZmZDE3ZjYwZjA5N2VmNDViZTVkYi4uODJkNzdjMmVkNjdmNWI0NTIzMzMzOTljNzM3NjgzOGE5
Mzk0MmMyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQXBwbGljYXRpb25DYWNoZUZyYW1lQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXBwbGljYXRpb25DYWNoZUZyYW1lQ29u
dGVudFZpZXcuanMKQEAgLTM4LDI3ICszOCwyOCBAQCBXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVD
b250ZW50VmlldyA9IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3IGV4dAog
ICAgICAgICB0aGlzLl9lbXB0eVZpZXcgPSBXSS5jcmVhdGVNZXNzYWdlVGV4dFZpZXcoV0kuVUlT
dHJpbmcoIk5vIEFwcGxpY2F0aW9uIENhY2hlIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIpLCBmYWxz
ZSk7CiAgICAgICAgIHRoaXMuX2VtcHR5Vmlldy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsKICAg
ICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2VtcHR5Vmlldyk7Ci0KLSAgICAg
ICAgdGhpcy5fbWFya0RpcnR5KCk7Ci0KLSAgICAgICAgdmFyIHN0YXR1cyA9IHJlcHJlc2VudGVk
T2JqZWN0LnN0YXR1czsKLSAgICAgICAgdGhpcy51cGRhdGVTdGF0dXMoc3RhdHVzKTsKLQotICAg
ICAgICBXSS5hcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkFwcGxp
Y2F0aW9uQ2FjaGVNYW5hZ2VyLkV2ZW50LkZyYW1lTWFuaWZlc3RTdGF0dXNDaGFuZ2VkLCB0aGlz
Ll91cGRhdGVTdGF0dXMsIHRoaXMpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hl
ZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hl
ZCgpOwogCi0gICAgICAgIHRoaXMuX21heWJlVXBkYXRlKCk7CisgICAgICAgIFdJLmFwcGxpY2F0
aW9uQ2FjaGVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQXBwbGljYXRpb25DYWNoZU1hbmFn
ZXIuRXZlbnQuRnJhbWVNYW5pZmVzdFN0YXR1c0NoYW5nZWQsIHRoaXMuX2hhbmRsZUZyYW1lTWFu
aWZlc3RTdGF0dXNDaGFuZ2VkLCB0aGlzKTsKKyAgICAgICAgdGhpcy51cGRhdGVTdGF0dXModGhp
cy5yZXByZXNlbnRlZE9iamVjdC5zdGF0dXMpOwogICAgIH0KIAotICAgIGNsb3NlZCgpCisgICAg
ZGV0YWNoZWQoKQogICAgIHsKLSAgICAgICAgV0kuYXBwbGljYXRpb25DYWNoZU1hbmFnZXIucmVt
b3ZlRXZlbnRMaXN0ZW5lcihXSS5BcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5FdmVudC5GcmFtZU1h
bmlmZXN0U3RhdHVzQ2hhbmdlZCwgdGhpcy5fdXBkYXRlU3RhdHVzLCB0aGlzKTsKKyAgICAgICAg
V0kuYXBwbGljYXRpb25DYWNoZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5BcHBsaWNh
dGlvbkNhY2hlTWFuYWdlci5FdmVudC5GcmFtZU1hbmlmZXN0U3RhdHVzQ2hhbmdlZCwgdGhpcy5f
aGFuZGxlRnJhbWVNYW5pZmVzdFN0YXR1c0NoYW5nZWQsIHRoaXMpOwogCi0gICAgICAgIHN1cGVy
LmNsb3NlZCgpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOworICAgIH0KKworICAgIGxheW91
dCgpCisgICAgeworICAgICAgICBzdXBlci5sYXlvdXQoKTsKKworICAgICAgICB0aGlzLnVwZGF0
ZVN0YXR1cygpOwogICAgIH0KIAogICAgIHNhdmVUb0Nvb2tpZShjb29raWUpCkBAIC03NSwyMSAr
NzYsNyBAQCBXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50VmlldyA9IGNsYXNzIEFwcGxp
Y2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3IGV4dAogICAgICAgICByZXR1cm4gW3RoaXMuX2Rh
dGFHcmlkLnNjcm9sbENvbnRhaW5lcl07CiAgICAgfQogCi0gICAgX21heWJlVXBkYXRlKCkKLSAg
ICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlIHx8ICF0aGlzLl92aWV3RGlydHkpCi0gICAg
ICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5fdXBkYXRlKCk7Ci0gICAgICAgIHRoaXMu
X3ZpZXdEaXJ0eSA9IGZhbHNlOwotICAgIH0KLQotICAgIF9tYXJrRGlydHkoKQotICAgIHsKLSAg
ICAgICAgdGhpcy5fdmlld0RpcnR5ID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICBfdXBkYXRlU3RhdHVz
KGV2ZW50KQorICAgIF9oYW5kbGVGcmFtZU1hbmlmZXN0U3RhdHVzQ2hhbmdlZChldmVudCkKICAg
ICB7CiAgICAgICAgIHZhciBmcmFtZU1hbmlmZXN0ID0gZXZlbnQuZGF0YS5mcmFtZU1hbmlmZXN0
OwogICAgICAgICBpZiAoZnJhbWVNYW5pZmVzdCAhPT0gdGhpcy5yZXByZXNlbnRlZE9iamVjdCkK
QEAgLTEwNSwxNSArOTIsOCBAQCBXSS5BcHBsaWNhdGlvbkNhY2hlRnJhbWVDb250ZW50VmlldyA9
IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3IGV4dAogICAgICAgICB2YXIg
b2xkU3RhdHVzID0gdGhpcy5fc3RhdHVzOwogICAgICAgICB0aGlzLl9zdGF0dXMgPSBzdGF0dXM7
CiAKLSAgICAgICAgaWYgKHRoaXMudmlzaWJsZSAmJiB0aGlzLl9zdGF0dXMgPT09IFdJLkFwcGxp
Y2F0aW9uQ2FjaGVNYW5hZ2VyLlN0YXR1cy5JZGxlICYmIChvbGRTdGF0dXMgPT09IFdJLkFwcGxp
Y2F0aW9uQ2FjaGVNYW5hZ2VyLlN0YXR1cy5VcGRhdGVSZWFkeSB8fCAhdGhpcy5fcmVzb3VyY2Vz
KSkKLSAgICAgICAgICAgIHRoaXMuX21hcmtEaXJ0eSgpOwotCi0gICAgICAgIHRoaXMuX21heWJl
VXBkYXRlKCk7Ci0gICAgfQotCi0gICAgX3VwZGF0ZSgpCi0gICAgewotICAgICAgICBXSS5hcHBs
aWNhdGlvbkNhY2hlTWFuYWdlci5yZXF1ZXN0QXBwbGljYXRpb25DYWNoZSh0aGlzLl9mcmFtZSwg
dGhpcy5fdXBkYXRlQ2FsbGJhY2suYmluZCh0aGlzKSk7CisgICAgICAgIGlmICh0aGlzLl9zdGF0
dXMgPT09IFdJLkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLlN0YXR1cy5JZGxlICYmIChvbGRTdGF0
dXMgPT09IFdJLkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLlN0YXR1cy5VcGRhdGVSZWFkeSB8fCAh
dGhpcy5fcmVzb3VyY2VzKSkKKyAgICAgICAgICAgIFdJLmFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2Vy
LnJlcXVlc3RBcHBsaWNhdGlvbkNhY2hlKHRoaXMuX2ZyYW1lLCB0aGlzLl91cGRhdGVDYWxsYmFj
ay5iaW5kKHRoaXMpKTsKICAgICB9CiAKICAgICBfdXBkYXRlQ2FsbGJhY2soYXBwbGljYXRpb25D
YWNoZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0F1ZGl0VGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9BdWRpdFRhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDFlZDViNjA3YzY5YjIx
MGEzN2IxYmIyMTBkMDkzMDkzYTUxMjg0ZGEuLjhmODkzOGU0NGM0M2UwNGVhMWFmM2Y2YTM4YjJl
OTUwNGY2YzRjNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0F1ZGl0VGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJDb250ZW50Vmlldy5qcwpAQCAtNzMsMTgg
KzczLDE4IEBAIFdJLkF1ZGl0VGFiQ29udGVudFZpZXcgPSBjbGFzcyBBdWRpdFRhYkNvbnRlbnRW
aWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzZXJUYWJDCiAgICAgICAgICAgICB8fCByZXByZXNl
bnRlZE9iamVjdCBpbnN0YW5jZW9mIFdJLkF1ZGl0VGVzdEdyb3VwUmVzdWx0OwogICAgIH0KIAot
ICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigp
OworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIHRoaXMuX3N0YXJ0U3RvcFNo
b3J0Y3V0LmRpc2FibGVkID0gZmFsc2U7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRh
Y2hlZCgpCiAgICAgewogICAgICAgICB0aGlzLl9zdGFydFN0b3BTaG9ydGN1dC5kaXNhYmxlZCA9
IHRydWU7CiAKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmRldGFjaGVk
KCk7CiAgICAgfQogCiAgICAgLy8gRHJvcFpvbmVWaWV3IGRlbGVnYXRlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRlc3RDb250ZW50
Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0
VGVzdENvbnRlbnRWaWV3LmpzCmluZGV4IDM3NDAzZGQ2NzVjZDIwZmI1NDk3MzNhMWU4NWI4ODgx
NDM1MTU4ZGMuLjFlYjZiYjY2NmM5NTE2N2Q2OTk1YjY0ZTU5ZTI3M2RhYzQ0NGE4ZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGVz
dENvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0F1ZGl0VGVzdENvbnRlbnRWaWV3LmpzCkBAIC0yNTgsOSArMjU4LDkgQEAgV0kuQXVk
aXRUZXN0Q29udGVudFZpZXcgPSBjbGFzcyBBdWRpdFRlc3RDb250ZW50VmlldyBleHRlbmRzIFdJ
LkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuX3VwZGF0ZUV4cG9ydE5hdmlnYXRpb25JdGVtcygp
OwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBz
dXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIGlmICh0
aGlzLnJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0kuQXVkaXRUZXN0QmFzZSkgewogICAg
ICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5hZGRFdmVudExpc3RlbmVyKFdJLkF1ZGl0
VGVzdEJhc2UuRXZlbnQuQ29tcGxldGVkLCB0aGlzLl9oYW5kbGVUZXN0Q2hhbmdlZCwgdGhpcyk7
CkBAIC0yNzUsNyArMjc1LDcgQEAgV0kuQXVkaXRUZXN0Q29udGVudFZpZXcgPSBjbGFzcyBBdWRp
dFRlc3RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIH0KICAgICB9
CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlz
LnJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0kuQXVkaXRUZXN0QmFzZSkgewogICAgICAg
ICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkF1ZGl0
VGVzdEJhc2UuRXZlbnQuQ29tcGxldGVkLCB0aGlzLl9oYW5kbGVUZXN0Q2hhbmdlZCwgdGhpcyk7
CkBAIC0yODksNyArMjg5LDcgQEAgV0kuQXVkaXRUZXN0Q29udGVudFZpZXcgPSBjbGFzcyBBdWRp
dFRlc3RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgICAgICBXSS5h
dWRpdE1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5BdWRpdE1hbmFnZXIuRXZlbnQuRWRp
dGluZ0NoYW5nZWQsIHRoaXMuX2hhbmRsZUVkaXRpbmdDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAg
fQogCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwog
ICAgIH0KIAogICAgIGhhbmRsZVJlc3VsdENoYW5nZWQoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRlc3RHcm91cENvbnRl
bnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVk
aXRUZXN0R3JvdXBDb250ZW50Vmlldy5qcwppbmRleCA2ZjFlNjY3ZGQ0MjA4ZmUxNTQ4OTRlNjFl
ZmIzN2ZlZGFkM2RlZDBkLi5lMTM5ZDUwN2RlYTg4NWYyM2YxYjlhNTRhYjI4NmI4OTFkZTIxNmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9B
dWRpdFRlc3RHcm91cENvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcuanMKQEAgLTE5NCw5
ICsxOTQsOSBAQCBXSS5BdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3ID0gY2xhc3MgQXVkaXRUZXN0
R3JvdXBDb250ZW50VmlldyBleHRlbmRzIFdJLkF1ZGl0VAogICAgICAgICAgICAgdGhpcy5zaG93
RmlsdGVyZWRQbGFjZWhvbGRlcigpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hl
ZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hl
ZCgpOwogCiAgICAgICAgIGlmICh0aGlzLnJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0ku
QXVkaXRUZXN0R3JvdXApIHsKICAgICAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QuYWRk
RXZlbnRMaXN0ZW5lcihXSS5BdWRpdFRlc3RCYXNlLkV2ZW50LlByb2dyZXNzLCB0aGlzLl9oYW5k
bGVUZXN0R3JvdXBQcm9ncmVzcywgdGhpcyk7CkBAIC0yMTMsNyArMjEzLDcgQEAgV0kuQXVkaXRU
ZXN0R3JvdXBDb250ZW50VmlldyA9IGNsYXNzIEF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgZXh0
ZW5kcyBXSS5BdWRpdFQKICAgICAgICAgICAgIHRoaXMuX2FkZFRlc3Qoc3Vib2JqZWN0KTsKICAg
ICB9CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7CiAgICAgICAgIGlmICh0
aGlzLnJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0kuQXVkaXRUZXN0R3JvdXApIHsKICAg
ICAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5B
dWRpdFRlc3RCYXNlLkV2ZW50LlByb2dyZXNzLCB0aGlzLl9oYW5kbGVUZXN0R3JvdXBQcm9ncmVz
cywgdGhpcyk7CkBAIC0yMjUsMTIgKzIyNSwxMCBAQCBXSS5BdWRpdFRlc3RHcm91cENvbnRlbnRW
aWV3ID0gY2xhc3MgQXVkaXRUZXN0R3JvdXBDb250ZW50VmlldyBleHRlbmRzIFdJLkF1ZGl0VAog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgZm9yIChsZXQgdmlldyBvZiB0aGlz
Ll92aWV3Rm9yU3Vib2JqZWN0LnZhbHVlcygpKQotICAgICAgICAgICAgdmlldy5oaWRkZW4oKTsK
ICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5yZW1vdmVBbGxTdWJ2aWV3cygpOwogICAgICAgICB0
aGlzLl92aWV3Rm9yU3Vib2JqZWN0LmNsZWFyKCk7CiAKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7
CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgYXBwbHlGaWx0ZXIobGV2
ZWxzKQpAQCAtMzE3LDcgKzMxNSw2IEBAIFdJLkF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgPSBj
bGFzcyBBdWRpdFRlc3RHcm91cENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQXVkaXRUCiAKICAgICAg
ICAgbGV0IHZpZXcgPSBXSS5Db250ZW50Vmlldy5jb250ZW50Vmlld0ZvclJlcHJlc2VudGVkT2Jq
ZWN0KHRlc3QpOwogICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmFkZFN1YnZpZXcodmlldyk7Ci0g
ICAgICAgIHZpZXcuc2hvd24oKTsKIAogICAgICAgICB0aGlzLl92aWV3Rm9yU3Vib2JqZWN0LnNl
dCh0ZXN0LCB2aWV3KTsKICAgICB9CkBAIC0zNTUsNyArMzUyLDYgQEAgV0kuQXVkaXRUZXN0R3Jv
dXBDb250ZW50VmlldyA9IGNsYXNzIEF1ZGl0VGVzdEdyb3VwQ29udGVudFZpZXcgZXh0ZW5kcyBX
SS5BdWRpdFQKICAgICAgICAgbGV0IHZpZXcgPSB0aGlzLl92aWV3Rm9yU3Vib2JqZWN0LmdldCh0
ZXN0KTsKICAgICAgICAgY29uc29sZS5hc3NlcnQodmlldyk7CiAKLSAgICAgICAgdmlldy5oaWRk
ZW4oKTsKICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5yZW1vdmVTdWJ2aWV3KHZpZXcpOwogCiAg
ICAgICAgIHRoaXMuX3VwZGF0ZUNsYXNzTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1BVVGltZWxpbmVPdmVydmlld0dyYXBoLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1BVVGltZWxpbmVP
dmVydmlld0dyYXBoLmpzCmluZGV4IDAyNDMxNGNmNzAzYjI4ZjE3ZmVkNDJjMDUzZjU3ZWIxZTVk
NzhlODMuLjRhMGNkNjU2NmVlNDExZjlhYzczMGJkZWM4OTQ4MTI5N2NjYWI2ZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NQVVRpbWVsaW5l
T3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9DUFVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTc4LDcgKzc4LDkgQEAgV0ku
Q1BVVGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgQ1BVVGltZWxpbmVPdmVydmlld0dyYXBo
IGV4dGVuZHMgV0kuVGltZWxpbmUKIAogICAgIGxheW91dCgpCiAgICAgewotICAgICAgICBpZiAo
IXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisKKyAgICAgICAgaWYgKHRo
aXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuX3VwZGF0ZUxl
Z2VuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ1BVVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ1BVVGltZWxpbmVWaWV3LmpzCmluZGV4IGEzOGQ5MDFkYmU4MjllNjMzZjVm
OWIyZjA5MjBhZWUwYTQ1MjUyMDUuLjQ4YTYwZDY1ZmNlNmYwMTAxYTExOWI4MDcwMTVkODJhN2Zl
OGYyYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NQVVRpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9DUFVUaW1lbGluZVZpZXcuanMKQEAgLTgyLDEyICs4MiwxMSBAQCBXSS5D
UFVUaW1lbGluZVZpZXcgPSBjbGFzcyBDUFVUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lbGlu
ZVZpZXcKIAogICAgIC8vIFB1YmxpYwogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAg
ICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAK
LSAgICAgICAgaWYgKHRoaXMuX3RpbWVsaW5lUnVsZXIpCi0gICAgICAgICAgICB0aGlzLl90aW1l
bGluZVJ1bGVyLnVwZGF0ZUxheW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOworICAg
ICAgICB0aGlzLl90aW1lbGluZVJ1bGVyPy5uZWVkc0xheW91dChXSS5WaWV3LkxheW91dFJlYXNv
bi5SZXNpemUpOwogICAgIH0KIAogICAgIGNsb3NlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNTaWRlYmFyUGFuZWwuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNTaWRlYmFyUGFu
ZWwuanMKaW5kZXggNjI5ZDUwNjRkMjY3MjJjMGZlZTVkYmM1ZDFiMzVkNDY4ZmQ4YTdmNy4uNzFj
NGUxNjQxMGQ1OTk2ZjExZjUxZTI1NDQxMWM2M2Y5MTc4ZjQ2MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzU2lkZWJhclBhbmVsLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc1Np
ZGViYXJQYW5lbC5qcwpAQCAtMjEzLDkgKzIxMyw5IEBAIFdJLkNhbnZhc1NpZGViYXJQYW5lbCA9
IGNsYXNzIENhbnZhc1NpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFu
CiAgICAgICAgIHRoaXMucmVjb3JkaW5nID0gbnVsbDsKICAgICB9CiAKLSAgICBzaG93bigpCisg
ICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3Vw
ZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLmNvbnRlbnRCcm93c2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuQ29udGVudEJyb3dzZXIuRXZlbnQuQ3VycmVudFJlcHJlc2VudGVkT2JqZWN0c0Rp
ZENoYW5nZSwgdGhpcy51cGRhdGVSZXByZXNlbnRlZE9iamVjdHMsIHRoaXMpOwogICAgICAgICB0
aGlzLnVwZGF0ZVJlcHJlc2VudGVkT2JqZWN0cygpOwpAQCAtMjMzLDExICsyMzMsMTEgQEAgV0ku
Q2FudmFzU2lkZWJhclBhbmVsID0gY2xhc3MgQ2FudmFzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0ku
TmF2aWdhdGlvblNpZGViYXJQYW4KICAgICAgICAgfQogICAgIH0KIAotICAgIGhpZGRlbigpCisg
ICAgZGV0YWNoZWQoKQogICAgIHsKICAgICAgICAgdGhpcy5jb250ZW50QnJvd3Nlci5yZW1vdmVF
dmVudExpc3RlbmVyKFdJLkNvbnRlbnRCcm93c2VyLkV2ZW50LkN1cnJlbnRSZXByZXNlbnRlZE9i
amVjdHNEaWRDaGFuZ2UsIHRoaXMudXBkYXRlUmVwcmVzZW50ZWRPYmplY3RzLCB0aGlzKTsKIAot
ICAgICAgICBzdXBlci5oaWRkZW4oKTsKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9
CiAKICAgICBjYW5TaG93UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DaGFuZ2Vz
RGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NoYW5nZXNEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IDk2ZmQ1ZDg3NWVl
MzVkNzNlZjA4NTE3ODY0NjhhMWJjZjUzZjQyYWQuLjExYTdhY2M2NDRjZGY4ZGFkNzdhNzNjYzY2
MjA5Y2NjMGMyMzY0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NoYW5nZXNEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NoYW5nZXNEZXRhaWxzU2lkZWJhclBh
bmVsLmpzCkBAIC00MCwxNiArNDAsNiBAQCBXSS5DaGFuZ2VzRGV0YWlsc1NpZGViYXJQYW5lbCA9
IGNsYXNzIENoYW5nZXNEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuRE9NRAogICAgICAg
ICByZXR1cm4gbm9kZVRvSW5zcGVjdC5ub2RlVHlwZSgpID09PSBOb2RlLkVMRU1FTlRfTk9ERTsK
ICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICAvLyBgc2hvd25gIG1heSBnZXQg
Y2FsbGVkIGJlZm9yZSBpbml0aWFsTGF5b3V0IHdoZW4gRWxlbWVudHMgdGFiIGlzIG9wZW5lZC4K
LSAgICAgICAgLy8gV2hlbiBDaGFuZ2VzIHBhbmVsIGlzIHNlbGVjdGVkLCBgc2hvd25gIGlzIGNh
bGxlZCBhbmQgdGhpcyB0aW1lIGl0J3MgYWZ0ZXIgaW5pdGlhbExheW91dC4KLSAgICAgICAgaWYg
KHRoaXMuZGlkSW5pdGlhbExheW91dCkKLSAgICAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsK
LQotICAgICAgICBzdXBlci5zaG93bigpOwotICAgIH0KLQogICAgIGF0dGFjaGVkKCkKICAgICB7
CiAgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DbHVzdGVyQ29udGVudFZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DbHVzdGVyQ29udGVudFZpZXcuanMK
aW5kZXggMzBjYWU0OTRmZTgyNTA0Y2VjN2EwNjZjNjg0MjdkN2MxM2ZmMjQwYS4uMmE2ZTY2Zjkz
YzdjODIxNjU1Y2YxYjU4Mjg3Y2Q5ZTBmNDc4YmRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2x1c3RlckNvbnRlbnRWaWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NsdXN0ZXJDb250ZW50
Vmlldy5qcwpAQCAtNjYsMjAgKzY2LDYgQEAgV0kuQ2x1c3RlckNvbnRlbnRWaWV3ID0gY2xhc3Mg
Q2x1c3RlckNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24o
KTsKLQotICAgICAgICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5zaG93bigpOwotICAgIH0K
LQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAg
ICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBjbG9z
ZWQoKQogICAgIHsKICAgICAgICAgc3VwZXIuY2xvc2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2xsZWN0aW9uQ29udGVudFZpZXcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2xsZWN0aW9u
Q29udGVudFZpZXcuanMKaW5kZXggZWMxNjBmOWI2ZTkzYzNmYmQ0ZTYwMjc4YmZmNWE3Mzc3MTBk
NjNlOS4uNGE2YmQyMzkyNGE4MTMzOWMwZDQxNzE0MGNmNzljMDhmYzcyNTAyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29sbGVjdGlvbkNv
bnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NvbGxlY3Rpb25Db250ZW50Vmlldy5qcwpAQCAtNTEsMjIgKzUxLDYgQEAgV0kuQ29sbGVj
dGlvbkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29sbGVjdGlvbkNvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
Q29udGVudFZpZXcKICAgICAgICAgcmV0dXJuIFtdOwogICAgIH0KIAotICAgIHNob3duKCkKLSAg
ICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAgICAgZm9yIChsZXQgY29udGVudFZp
ZXcgb2YgdGhpcy5fY29udGVudFZpZXdNYXAudmFsdWVzKCkpCi0gICAgICAgICAgICBjb250ZW50
Vmlldy5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICBmb3Ig
KGxldCBjb250ZW50VmlldyBvZiB0aGlzLl9jb250ZW50Vmlld01hcC52YWx1ZXMoKSkKLSAgICAg
ICAgICAgIGNvbnRlbnRWaWV3LmhpZGRlbigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOwot
ICAgIH0KLQogICAgIGdldCBzZWxlY3Rpb25FbmFibGVkKCkKICAgICB7CiAgICAgICAgIHJldHVy
biB0aGlzLl9zZWxlY3Rpb25FbmFibGVkOwpAQCAtMTMxLDEyICsxMTUsNiBAQCBXSS5Db2xsZWN0
aW9uQ29udGVudFZpZXcgPSBjbGFzcyBDb2xsZWN0aW9uQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5D
b250ZW50VmlldwogCiAgICAgICAgIHRoaXMuYWRkU3Vidmlldyhjb250ZW50Vmlldyk7CiAgICAg
ICAgIHRoaXMuY29udGVudFZpZXdBZGRlZChjb250ZW50Vmlldyk7Ci0KLSAgICAgICAgaWYgKCF0
aGlzLnZpc2libGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgY29udGVudFZpZXcu
dmlzaWJsZSA9IHRydWU7Ci0gICAgICAgIGNvbnRlbnRWaWV3LnNob3duKCk7CiAgICAgfQogCiAg
ICAgcmVtb3ZlQ29udGVudFZpZXdGb3JJdGVtKGl0ZW0pCkBAIC0xNTYsMTEgKzEzNCw2IEBAIFdJ
LkNvbGxlY3Rpb25Db250ZW50VmlldyA9IGNsYXNzIENvbGxlY3Rpb25Db250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3TWFwLmRlbGV0ZShp
dGVtKTsKICAgICAgICAgdGhpcy5jb250ZW50Vmlld1JlbW92ZWQoY29udGVudFZpZXcpOwogCi0g
ICAgICAgIGlmICh0aGlzLnZpc2libGUpIHsKLSAgICAgICAgICAgIGNvbnRlbnRWaWV3LnZpc2li
bGUgPSBmYWxzZTsKLSAgICAgICAgICAgIGNvbnRlbnRWaWV3LmhpZGRlbigpOwotICAgICAgICB9
Ci0KICAgICAgICAgaWYgKCF0aGlzLnN1YnZpZXdzLmxlbmd0aCkKICAgICAgICAgICAgIHRoaXMu
c2hvd0NvbnRlbnRQbGFjZWhvbGRlcigpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbXB1dGVkU3R5bGVTZWN0aW9uLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcHV0ZWRTdHlsZVNl
Y3Rpb24uanMKaW5kZXggZTJjN2I2NjE1ZTZhYzNkNDllZDllNGJkNzdmNDc3YmY5ZWEzYmQ3Yi4u
OGE3OTUyY2I0NWExNDZlYTc1Y2U0Nzc1NmMzMWUwOGZjMGI5MDg4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcHV0ZWRTdHlsZVNlY3Rp
b24uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29t
cHV0ZWRTdHlsZVNlY3Rpb24uanMKQEAgLTIzMSwxMiArMjMxLDYgQEAgV0kuQ29tcHV0ZWRTdHls
ZVNlY3Rpb24gPSBjbGFzcyBDb21wdXRlZFN0eWxlU2VjdGlvbiBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgICAgIHByb3BlcnR5Vmlldy5kZXRhY2hlZCgpOwogICAgIH0KIAotICAgIGhpZGRlbigp
Ci0gICAgewotICAgICAgICBmb3IgKGxldCBwcm9wZXJ0eVZpZXcgb2YgdGhpcy5fcHJvcGVydHlW
aWV3cykKLSAgICAgICAgICAgIHByb3BlcnR5Vmlldy5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBh
cHBseUZpbHRlcihmaWx0ZXJUZXh0KQogICAgIHsKICAgICAgICAgdGhpcy5fZmlsdGVyVGV4dCA9
IGZpbHRlclRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Db25zb2xlRHJhd2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ29uc29sZURyYXdlci5qcwppbmRleCA1NDYyNWI5NGJlNzliYmJjYTFi
NTM5YzdkODlhYzkxZDhjM2ZiMzBiLi4xOGViY2MxNjhhODQwNjhiMGRmZmE3NmVmYTQ1ZDEwY2Q2
Y2UwNDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9Db25zb2xlRHJhd2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbnNvbGVEcmF3ZXIuanMKQEAgLTczLDEwICs3MywxMCBAQCBXSS5Db25z
b2xlRHJhd2VyID0gY2xhc3MgQ29uc29sZURyYXdlciBleHRlbmRzIFdJLkNvbnRlbnRCcm93c2Vy
CiAKICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIHRoaXMu
X2NvbGxhcHNlZCk7CiAKLSAgICAgICAgaWYgKHRoaXMuX2NvbGxhcHNlZCkKLSAgICAgICAgICAg
IHRoaXMuaGlkZGVuKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMuc2hvd24oKTsK
KyAgICAgICAgLy8gTWFudWFsbHkgY2FsbCBgYXR0YWNoZWRgL2BkZXRhY2hlZGAgYmVjYXVzZSB3
ZSBuZXZlciBleHBlY3QgdG8gYWN0dWFsbHkgcmVtb3ZlIHRoaXMgbm9kZQorICAgICAgICAvLyBm
cm9tIHRoZSBET00sIG1lYW5pbmcgdGhhdCB0aGUgYFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyYCB3
b3VsZCBub3Qgc2hvdy9oaWRlIGVudHJpZXMgaW4KKyAgICAgICAgLy8gdGhlIGJhY2svZm9yd2Fy
ZCBsaXN0LCB3aGljaCBpcyB3aGF0IGFkZHMvcmVtb3ZlcyBzdWJ2aWV3cyBmcm9tIHRoZSBET00u
CisgICAgICAgIHRoaXMuX2RpZE1vdmVUb1BhcmVudCh0aGlzLl9jb2xsYXBzZWQgPyBudWxsIDog
V0kuVmlldy5yb290VmlldygpKTsKIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXSS5Db25zb2xlRHJhd2VyLkV2ZW50LkNvbGxhcHNlZFN0YXRlQ2hhbmdlZCk7CiAgICAg
fQpAQCAtODYsMTUgKzg2LDE1IEBAIFdJLkNvbnNvbGVEcmF3ZXIgPSBjbGFzcyBDb25zb2xlRHJh
d2VyIGV4dGVuZHMgV0kuQ29udGVudEJyb3dzZXIKICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVu
dC5vZmZzZXRIZWlnaHQ7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIC8vIFByb3RlY3RlZAor
CisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAg
c3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl9yZXN0b3JlRHJhd2VySGVpZ2h0KCk7
CiAgICAgfQogCi0gICAgLy8gUHJvdGVjdGVkCi0KICAgICBzaXplRGlkQ2hhbmdlKCkKICAgICB7
CiAgICAgICAgIHN1cGVyLnNpemVEaWRDaGFuZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVUYWJDb250ZW50Vmlldy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVUYWJDb250
ZW50Vmlldy5qcwppbmRleCAxMjNhZDI1YjAzNzhhYWY1M2FkZTkzZDkyNzgzMzVlMTE1Y2RmNjc0
Li43OWVmYzU2NTE0ZGVkNTZjOTk2YWI2YWYwYTIyYjlkZDRhNzI4ZTAxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlVGFiQ29udGVu
dFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
Q29uc29sZVRhYkNvbnRlbnRWaWV3LmpzCkBAIC0yOCw2ICsyOCw4IEBAIFdJLkNvbnNvbGVUYWJD
b250ZW50VmlldyA9IGNsYXNzIENvbnNvbGVUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRl
bnRCcm93c2VyCiAgICAgY29uc3RydWN0b3IoKQogICAgIHsKICAgICAgICAgc3VwZXIoQ29uc29s
ZVRhYkNvbnRlbnRWaWV3LnRhYkluZm8oKSwge2Rpc2FibGVCYWNrRm9yd2FyZDogdHJ1ZX0pOwor
CisgICAgICAgIHRoaXMuX3dhc1Nob3dpbmdTcGxpdENvbnNvbGUgPSBmYWxzZTsKICAgICB9CiAK
ICAgICBzdGF0aWMgdGFiSW5mbygpCkBAIC00NiwxMSArNDgsMTMgQEAgV0kuQ29uc29sZVRhYkNv
bnRlbnRWaWV3ID0gY2xhc3MgQ29uc29sZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVu
dEJyb3dzZXIKICAgICAgICAgcmV0dXJuIFdJLkNvbnNvbGVUYWJDb250ZW50Vmlldy5UeXBlOwog
ICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAgICBzdXBl
ci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCi0gICAgICAgIFdJLmhpZGVT
cGxpdENvbnNvbGUoKTsKKyAgICAgICAgdGhpcy5fd2FzU2hvd2luZ1NwbGl0Q29uc29sZSA9IFdJ
LmlzU2hvd2luZ1NwbGl0Q29uc29sZSgpOworICAgICAgICBpZiAodGhpcy5fd2FzU2hvd2luZ1Nw
bGl0Q29uc29sZSkKKyAgICAgICAgICAgIFdJLmhpZGVTcGxpdENvbnNvbGUoKTsKIAogICAgICAg
ICB0aGlzLmNvbnRlbnRCcm93c2VyLnNob3dDb250ZW50VmlldyhXSS5jb25zb2xlQ29udGVudFZp
ZXcpOwogICAgICAgICBXSS5jb25zb2xlQ29udGVudFZpZXcuZGlzcGF0Y2hFdmVudFRvTGlzdGVu
ZXJzKFdJLkNvbnRlbnRWaWV3LkV2ZW50Lk5hdmlnYXRpb25JdGVtc0RpZENoYW5nZSk7CkBAIC02
MCw2ICs2NCwxNCBAQCBXSS5Db25zb2xlVGFiQ29udGVudFZpZXcgPSBjbGFzcyBDb25zb2xlVGFi
Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3NlcgogICAgICAgICBjb25zb2xlLmFz
c2VydCh0aGlzLmNvbnRlbnRCcm93c2VyLmN1cnJlbnRDb250ZW50VmlldyA9PT0gV0kuY29uc29s
ZUNvbnRlbnRWaWV3KTsKICAgICB9CiAKKyAgICBkZXRhY2hlZCgpCisgICAgeworICAgICAgICBz
dXBlci5kZXRhY2hlZCgpOworCisgICAgICAgIGlmICh0aGlzLl93YXNTaG93aW5nU3BsaXRDb25z
b2xlKQorICAgICAgICAgICAgV0kuc2hvd1NwbGl0Q29uc29sZSgpOworICAgIH0KKwogICAgIHNo
b3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCwgY29va2llKQogICAgIHsKICAg
ICAgICAgLy8gRG8gbm90aGluZy4gVGhlIHNob3duIGZ1bmN0aW9uIHdpbGwgaGFuZGxlIHRoaW5n
cy4gQ2FsbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvQ29udGVudEJyb3dzZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qcwppbmRleCAxODUzMjdiNTcxNWExMWUxMDZh
MDk1MGNjZmRkOTQ4OGI1MjUwYmRmLi5lNTY4Zjk2NjEzZDVjMzk4NTBhNmMxNGE4ODQ1NjE5YzA1
ZWI5YjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9Db250ZW50QnJvd3Nlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qcwpAQCAtMjMxLDE3ICsyMzEsMTIgQEAgV0ku
Q29udGVudEJyb3dzZXIgPSBjbGFzcyBDb250ZW50QnJvd3NlciBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgdGhpcy5fZmluZEJhbm5lci5zaG93KCk7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAg
IGF0dGFjaGVkKCkKICAgICB7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CisKICAgICAgICAg
dGhpcy5fdXBkYXRlQ29udGVudFZpZXdTZWxlY3Rpb25QYXRoTmF2aWdhdGlvbkl0ZW0odGhpcy5j
dXJyZW50Q29udGVudFZpZXcpOwogICAgICAgICB0aGlzLnVwZGF0ZUhpZXJhcmNoaWNhbFBhdGhG
b3JDdXJyZW50Q29udGVudFZpZXcoKTsKLQotICAgICAgICB0aGlzLl9jb250ZW50Vmlld0NvbnRh
aW5lci5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICB0aGlz
Ll9jb250ZW50Vmlld0NvbnRhaW5lci5oaWRkZW4oKTsKICAgICB9CiAKICAgICAvLyBHbG9iYWwg
Q29udGVudEJyb3dzZXIgS2V5Ym9hcmRTaG9ydGN1dCBoYW5kbGVycwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXJUYWJD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0NvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcuanMKaW5kZXggMjYxMzljZmExZWMzYzkzNTk4
MjU5OTY0ZjI1Yjc0MzRmZGJlMTI2Ny4uMmUyN2U4NDMxODExMmU2ZmYzYjcxYmU0Y2VlMTVhOTY2
MGNkZjAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ29udGVudEJyb3dzZXJUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3
LmpzCkBAIC05MiwyOCArOTIsMTMgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyA9
IGNsYXNzIENvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KICAgICAgICAg
cmV0dXJuIHRoaXMuX2NvbnRlbnRCcm93c2VyOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBh
dHRhY2hlZCgpCiAgICAgewotICAgICAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVs
KSB7Ci0gICAgICAgICAgICBpZiAoIXRoaXMubmF2aWdhdGlvblNpZGViYXJQYW5lbC5jb250ZW50
QnJvd3NlcikKLSAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwuY29u
dGVudEJyb3dzZXIgPSB0aGlzLl9jb250ZW50QnJvd3NlcjsKLSAgICAgICAgfQorICAgICAgICAv
LyBFbnN1cmUgdGhhdCB0aGUgcmVsYXRpb25zaGlwIGlzIGVzdGFibGlzaGVkIGJlZm9yZSBhdHRl
bXB0aW5nIHRvIHJlc3RvcmUgY29va2llcy4KKyAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblNp
ZGViYXJQYW5lbCAmJiAhdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmNvbnRlbnRCcm93c2Vy
KQorICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmNvbnRlbnRCcm93c2Vy
ID0gdGhpcy5fY29udGVudEJyb3dzZXI7CiAKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAg
ICAgICB0aGlzLl9jb250ZW50QnJvd3Nlci5zaG93bigpOwotCi0gICAgICAgIGlmICh0aGlzLm5h
dmlnYXRpb25TaWRlYmFyUGFuZWwpIHsKLSAgICAgICAgICAgIGlmICghdGhpcy5fY29udGVudEJy
b3dzZXIuY3VycmVudENvbnRlbnRWaWV3KQotICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGlv
blNpZGViYXJQYW5lbC5zaG93RGVmYXVsdENvbnRlbnRWaWV3KCk7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAg
ICAgdGhpcy5fY29udGVudEJyb3dzZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVk
KCk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKQEAgLTE0MSw3ICsxMjYsNyBAQCBXSS5Db250ZW50
QnJvd3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250ZW50Vmll
dyBleHRlbmRzIFdJLgogCiAgICAgc2hvd05hdmlnYXRpb25TaWRlYmFyUGFuZWwoKQogICAgIHsK
LSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIGlmICghdGhpcy5pc0F0dGFjaGVk
KQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghdGhpcy5uYXZpZ2F0aW9uU2lk
ZWJhclBhbmVsKQpAQCAtMTU1LDEyICsxNDAsMTIgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250
ZW50VmlldyA9IGNsYXNzIENvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4K
ICAgICAgICAgaWYgKHNob3VsZFNob3dTaWRlYmFyKSB7CiAgICAgICAgICAgICBpZiAoIXRoaXMu
bmF2aWdhdGlvblNpZGViYXJQYW5lbC5wYXJlbnRTaWRlYmFyKQogICAgICAgICAgICAgICAgIFdJ
Lm5hdmlnYXRpb25TaWRlYmFyLmFkZFNpZGViYXJQYW5lbCh0aGlzLm5hdmlnYXRpb25TaWRlYmFy
UGFuZWwpOwotICAgICAgICAgICAgV0kubmF2aWdhdGlvblNpZGViYXIuc2VsZWN0ZWRTaWRlYmFy
UGFuZWwgPSB0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWw7CiAgICAgICAgICAgICBXSS5uYXZp
Z2F0aW9uU2lkZWJhci5jb2xsYXBzZWQgPSB0aGlzLm5hdmlnYXRpb25TaWRlYmFyQ29sbGFwc2Vk
U2V0dGluZy52YWx1ZTsKKyAgICAgICAgICAgIFdJLm5hdmlnYXRpb25TaWRlYmFyLnNlbGVjdGVk
U2lkZWJhclBhbmVsID0gdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsOwogICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgV0kubmF2aWdhdGlvblNpZGViYXIuY29sbGFwc2VkID0gdHJ1ZTsK
ICAgICAgICAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwucGFyZW50U2lkZWJh
cikKICAgICAgICAgICAgICAgICBXSS5uYXZpZ2F0aW9uU2lkZWJhci5yZW1vdmVTaWRlYmFyUGFu
ZWwodGhpcy5uYXZpZ2F0aW9uU2lkZWJhclBhbmVsKTsKKyAgICAgICAgICAgIFdJLm5hdmlnYXRp
b25TaWRlYmFyLmNvbGxhcHNlZCA9IHRydWU7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9p
Z25vcmVOYXZpZ2F0aW9uU2lkZWJhclBhbmVsQ29sbGFwc2VkRXZlbnQgPSBmYWxzZTsKQEAgLTE3
MCw3ICsxNTUsNyBAQCBXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29u
dGVudEJyb3dzZXJUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgc2hvd0RldGFpbHNT
aWRlYmFyUGFuZWxzKCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAg
ICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB2
YXIgY3VycmVudFJlcHJlc2VudGVkT2JqZWN0cyA9IHRoaXMuX2NvbnRlbnRCcm93c2VyLmN1cnJl
bnRSZXByZXNlbnRlZE9iamVjdHM7CkBAIC0yMDcsMTYgKzE5MiwxNiBAQCBXSS5Db250ZW50QnJv
d3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyBl
eHRlbmRzIFdJLgogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgaWYgKHNpZGVi
YXJQYW5lbFRvU2VsZWN0KQotICAgICAgICAgICAgV0kuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRT
aWRlYmFyUGFuZWwgPSBzaWRlYmFyUGFuZWxUb1NlbGVjdDsKLSAgICAgICAgZWxzZSBpZiAoIVdJ
LmRldGFpbHNTaWRlYmFyLnNlbGVjdGVkU2lkZWJhclBhbmVsICYmIFdJLmRldGFpbHNTaWRlYmFy
LnNpZGViYXJQYW5lbHMubGVuZ3RoKQotICAgICAgICAgICAgV0kuZGV0YWlsc1NpZGViYXIuc2Vs
ZWN0ZWRTaWRlYmFyUGFuZWwgPSBXSS5kZXRhaWxzU2lkZWJhci5zaWRlYmFyUGFuZWxzWzBdOwot
CiAgICAgICAgIGlmICghV0kuZGV0YWlsc1NpZGViYXIuc2lkZWJhclBhbmVscy5sZW5ndGgpCiAg
ICAgICAgICAgICBXSS5kZXRhaWxzU2lkZWJhci5jb2xsYXBzZWQgPSB0cnVlOwogICAgICAgICBl
bHNlIGlmICh3YXNTaWRlYmFyRW1wdHkpCiAgICAgICAgICAgICBXSS5kZXRhaWxzU2lkZWJhci5j
b2xsYXBzZWQgPSB0aGlzLmRldGFpbHNTaWRlYmFyQ29sbGFwc2VkU2V0dGluZy52YWx1ZTsKIAor
ICAgICAgICBpZiAoc2lkZWJhclBhbmVsVG9TZWxlY3QpCisgICAgICAgICAgICBXSS5kZXRhaWxz
U2lkZWJhci5zZWxlY3RlZFNpZGViYXJQYW5lbCA9IHNpZGViYXJQYW5lbFRvU2VsZWN0OworICAg
ICAgICBlbHNlIGlmICghV0kuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRTaWRlYmFyUGFuZWwgJiYg
V0kuZGV0YWlsc1NpZGViYXIuc2lkZWJhclBhbmVscy5sZW5ndGgpCisgICAgICAgICAgICBXSS5k
ZXRhaWxzU2lkZWJhci5zZWxlY3RlZFNpZGViYXJQYW5lbCA9IFdJLmRldGFpbHNTaWRlYmFyLnNp
ZGViYXJQYW5lbHNbMF07CisKICAgICAgICAgdGhpcy5faWdub3JlRGV0YWlsc1NpZGViYXJQYW5l
bENvbGxhcHNlZEV2ZW50ID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX2lnbm9yZURldGFpbHNTaWRl
YmFyUGFuZWxTZWxlY3RlZEV2ZW50ID0gZmFsc2U7CiAKQEAgLTI1Niw3ICsyNDEsNyBAQCBXSS5D
b250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudEJyb3dzZXJUYWJDb250
ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX25hdmlnYXRpb25TaWRlYmFyQ29sbGFwc2VkU3Rh
dGVEaWRDaGFuZ2UoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAg
ICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAg
ICAgdGhpcy5fc2hvd05hdmlnYXRpb25TaWRlYmFySXRlbS5hY3RpdmF0ZWQgPSAhV0kubmF2aWdh
dGlvblNpZGViYXIuY29sbGFwc2VkOwpAQCAtMjY5LDcgKzI1NCw3IEBAIFdJLkNvbnRlbnRCcm93
c2VyVGFiQ29udGVudFZpZXcgPSBjbGFzcyBDb250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3IGV4
dGVuZHMgV0kuCiAKICAgICBfZGV0YWlsc1NpZGViYXJDb2xsYXBzZWRTdGF0ZURpZENoYW5nZShl
dmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQorICAgICAgICBpZiAoIXRo
aXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl9zaG93
RGV0YWlsc1NpZGViYXJJdGVtLmFjdGl2YXRlZCA9ICFXSS5kZXRhaWxzU2lkZWJhci5jb2xsYXBz
ZWQ7CkBAIC0yODMsNyArMjY4LDcgQEAgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldyA9
IGNsYXNzIENvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KIAogICAgIF9k
ZXRhaWxzU2lkZWJhclBhbmVsU2VsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRo
aXMudmlzaWJsZSkKKyAgICAgICAgaWYgKCF0aGlzLmlzQXR0YWNoZWQpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKICAgICAgICAgdGhpcy5fc2hvd0RldGFpbHNTaWRlYmFySXRlbS5hY3RpdmF0ZWQg
PSAhV0kuZGV0YWlsc1NpZGViYXIuY29sbGFwc2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlldy5qcwppbmRleCAxOWY2
NGJkMzk4ZmUxNWQyOTAxZWMyZDgyNzEzOGEyMTYyNGIxN2M5Li4yYjhhNThjMWIxYWU1NjFhMWRm
N2Y0ZGE3YmE1NThjZjI3MDZlNDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50Vmlldy5qcwpAQCAtMzQ2LDE2ICszNDYs
NiBAQCBXSS5Db250ZW50VmlldyA9IGNsYXNzIENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuVmlldwog
ICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50Q29udGFpbmVyOwogICAgIH0KIAotICAgIGdldCB2
aXNpYmxlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlOwotICAgIH0KLQot
ICAgIHNldCB2aXNpYmxlKGZsYWcpCi0gICAgewotICAgICAgICB0aGlzLl92aXNpYmxlID0gZmxh
ZzsKLSAgICB9Ci0KICAgICBnZXQgc2Nyb2xsYWJsZUVsZW1lbnRzKCkKICAgICB7CiAgICAgICAg
IC8vIEltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuCkBAIC0zOTEsMTYgKzM4MSw2IEBAIFdJLkNv
bnRlbnRWaWV3ID0gY2xhc3MgQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIHJl
dHVybiBXSS5kb2NrZWRDb25maWd1cmF0aW9uU3VwcG9ydHNTcGxpdENvbnRlbnRCcm93c2VyKCk7
CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgLy8gSW1wbGVtZW50ZWQgYnkg
c3ViY2xhc3Nlcy4KLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgLy8gSW1w
bGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KLSAgICB9Ci0KICAgICBjbG9zZWQoKQogICAgIHsKICAg
ICAgICAgLy8gSW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRWaWV3Q29udGFpbmVyLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXdD
b250YWluZXIuanMKaW5kZXggNTk4NWQyZGRlMmVkYjZkMjhmYjRkOGQ0ZjQ0ZDBiYjdlMzY5NzRk
My4uNDVlNTAxZGMyZDE5MTg4ZDVkZjkzNDc3MDZlZWRkZDQ0NWU5MTQ5OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudFZpZXdDb250
YWluZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
Q29udGVudFZpZXdDb250YWluZXIuanMKQEAgLTExMSw4ICsxMTEsNyBAQCBXSS5Db250ZW50Vmll
d0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRWaWV3Q29udGFpbmVyIGV4dGVuZHMgV0kuVmlldwog
CiAgICAgICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGlmIHdlIHdvdWxkIGhhdmUgYWRkZWQgYW4g
aWRlbnRpY2FsIGJhY2svZm9yd2FyZCBsaXN0IGVudHJ5LgogICAgICAgICBpZiAocHJvdmlzaW9u
YWxFbnRyeS5pc0VxdWFsKGN1cnJlbnRFbnRyeSkpIHsKLSAgICAgICAgICAgIGNvbnN0IHNob3Vs
ZENhbGxTaG93biA9IGZhbHNlOwotICAgICAgICAgICAgY3VycmVudEVudHJ5LnByZXBhcmVUb1No
b3coc2hvdWxkQ2FsbFNob3duKTsKKyAgICAgICAgICAgIGN1cnJlbnRFbnRyeS5wcmVwYXJlVG9T
aG93KCk7CiAgICAgICAgICAgICByZXR1cm4gY3VycmVudEVudHJ5LmNvbnRlbnRWaWV3OwogICAg
ICAgICB9CiAKQEAgLTE1OCwxNCArMTU3LDkgQEAgV0kuQ29udGVudFZpZXdDb250YWluZXIgPSBj
bGFzcyBDb250ZW50Vmlld0NvbnRhaW5lciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgdmFyIGN1
cnJlbnRFbnRyeSA9IHRoaXMuY3VycmVudEJhY2tGb3J3YXJkRW50cnk7CiAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KGN1cnJlbnRFbnRyeSk7CiAKLSAgICAgICAgdmFyIGlzTmV3Q29udGVudFZpZXcg
PSAhcHJldmlvdXNFbnRyeSB8fCAhY3VycmVudEVudHJ5LmNvbnRlbnRWaWV3LnZpc2libGU7Ci0g
ICAgICAgIGlmIChpc05ld0NvbnRlbnRWaWV3KSB7Ci0gICAgICAgICAgICAvLyBIaWRlIHRoZSBj
dXJyZW50bHkgdmlzaWJsZSBjb250ZW50IHZpZXcuCi0gICAgICAgICAgICBpZiAocHJldmlvdXNF
bnRyeSkKLSAgICAgICAgICAgICAgICB0aGlzLl9oaWRlRW50cnkocHJldmlvdXNFbnRyeSk7Ci0g
ICAgICAgICAgICB0aGlzLl9zaG93RW50cnkoY3VycmVudEVudHJ5LCB0cnVlKTsKLSAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICB0aGlzLl9zaG93RW50cnkoY3VycmVudEVudHJ5LCBmYWxzZSk7
CisgICAgICAgIGlmIChwcmV2aW91c0VudHJ5ICYmICFjdXJyZW50RW50cnkuY29udGVudFZpZXcu
aXNBdHRhY2hlZCkKKyAgICAgICAgICAgIHRoaXMuX2hpZGVFbnRyeShwcmV2aW91c0VudHJ5KTsK
KyAgICAgICAgdGhpcy5fc2hvd0VudHJ5KGN1cnJlbnRFbnRyeSk7CiAKICAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuQ29udGVudFZpZXdDb250YWluZXIuRXZlbnQuQ3Vy
cmVudENvbnRlbnRWaWV3RGlkQ2hhbmdlKTsKICAgICB9CkBAIC0yMTEsNyArMjA1LDcgQEAgV0ku
Q29udGVudFZpZXdDb250YWluZXIgPSBjbGFzcyBDb250ZW50Vmlld0NvbnRhaW5lciBleHRlbmRz
IFdJLlZpZXcKIAogICAgICAgICAvLyBSZS1zaG93IHRoZSBjdXJyZW50IGVudHJ5LCBiZWNhdXNl
IGl0cyBjb250ZW50IHZpZXcgaW5zdGFuY2Ugd2FzIHJlcGxhY2VkLgogICAgICAgICBpZiAoY3Vy
cmVudGx5U2hvd2luZykgewotICAgICAgICAgICAgdGhpcy5fc2hvd0VudHJ5KHRoaXMuY3VycmVu
dEJhY2tGb3J3YXJkRW50cnksIHRydWUpOworICAgICAgICAgICAgdGhpcy5fc2hvd0VudHJ5KHRo
aXMuY3VycmVudEJhY2tGb3J3YXJkRW50cnkpOwogICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2
ZW50VG9MaXN0ZW5lcnMoV0kuQ29udGVudFZpZXdDb250YWluZXIuRXZlbnQuQ3VycmVudENvbnRl
bnRWaWV3RGlkQ2hhbmdlKTsKICAgICAgICAgfQogICAgIH0KQEAgLTI2OSw3ICsyNjMsNyBAQCBX
SS5Db250ZW50Vmlld0NvbnRhaW5lciA9IGNsYXNzIENvbnRlbnRWaWV3Q29udGFpbmVyIGV4dGVu
ZHMgV0kuVmlldwogICAgICAgICBjb25zb2xlLmFzc2VydChjdXJyZW50RW50cnkgfHwgKCFjdXJy
ZW50RW50cnkgJiYgdGhpcy5fY3VycmVudEluZGV4ID09PSAtMSkpOwogCiAgICAgICAgIGlmIChj
dXJyZW50RW50cnkgJiYgY3VycmVudEVudHJ5LmNvbnRlbnRWaWV3ICE9PSB2aXNpYmxlQ29udGVu
dFZpZXcgfHwgYmFja0ZvcndhcmRMaXN0RGlkQ2hhbmdlKSB7Ci0gICAgICAgICAgICB0aGlzLl9z
aG93RW50cnkoY3VycmVudEVudHJ5LCB0cnVlKTsKKyAgICAgICAgICAgIHRoaXMuX3Nob3dFbnRy
eShjdXJyZW50RW50cnkpOwogICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5l
cnMoV0kuQ29udGVudFZpZXdDb250YWluZXIuRXZlbnQuQ3VycmVudENvbnRlbnRWaWV3RGlkQ2hh
bmdlKTsKICAgICAgICAgfQogICAgIH0KQEAgLTMyNywyMiArMzIxLDIyIEBAIFdJLkNvbnRlbnRW
aWV3Q29udGFpbmVyID0gY2xhc3MgQ29udGVudFZpZXdDb250YWluZXIgZXh0ZW5kcyBXSS5WaWV3
CiAgICAgICAgIHRoaXMuc2hvd0JhY2tGb3J3YXJkRW50cnlGb3JJbmRleCh0aGlzLl9jdXJyZW50
SW5kZXggKyAxKTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsK
LSAgICAgICAgdmFyIGN1cnJlbnRFbnRyeSA9IHRoaXMuY3VycmVudEJhY2tGb3J3YXJkRW50cnk7
Ci0gICAgICAgIGlmICghY3VycmVudEVudHJ5KQotICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBzdXBlci5hdHRhY2hlZCgpOwogCi0gICAgICAgIHRoaXMuX3Nob3dFbnRyeShjdXJyZW50RW50
cnksIHRydWUpOworICAgICAgICB2YXIgY3VycmVudEVudHJ5ID0gdGhpcy5jdXJyZW50QmFja0Zv
cndhcmRFbnRyeTsKKyAgICAgICAgaWYgKGN1cnJlbnRFbnRyeSkKKyAgICAgICAgICAgIHRoaXMu
X3Nob3dFbnRyeShjdXJyZW50RW50cnkpOwogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0
YWNoZWQoKQogICAgIHsKICAgICAgICAgdmFyIGN1cnJlbnRFbnRyeSA9IHRoaXMuY3VycmVudEJh
Y2tGb3J3YXJkRW50cnk7Ci0gICAgICAgIGlmICghY3VycmVudEVudHJ5KQotICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICBpZiAoY3VycmVudEVudHJ5KQorICAgICAgICAgICAgdGhpcy5faGlk
ZUVudHJ5KGN1cnJlbnRFbnRyeSk7CiAKLSAgICAgICAgdGhpcy5faGlkZUVudHJ5KGN1cnJlbnRF
bnRyeSk7CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgLy8gUHJpdmF0
ZQpAQCAtNDE2LDcgKzQxMCw3IEBAIFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyID0gY2xhc3MgQ29u
dGVudFZpZXdDb250YWluZXIgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KIAotICAgICAgICBjb25zb2xlLmFzc2VydCghY29udGVudFZpZXcudmlzaWJsZSk7
CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFjb250ZW50Vmlldy5pc0F0dGFjaGVkKTsKIAogICAg
ICAgICBpZiAoIWNvbnRlbnRWaWV3Ll9wYXJlbnRDb250YWluZXIpCiAgICAgICAgICAgICByZXR1
cm47CkBAIC00MzgsNyArNDMyLDcgQEAgV0kuQ29udGVudFZpZXdDb250YWluZXIgPSBjbGFzcyBD
b250ZW50Vmlld0NvbnRhaW5lciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgICAgIFdJLkNvbnRl
bnRWaWV3LmNsb3NlZENvbnRlbnRWaWV3Rm9yUmVwcmVzZW50ZWRPYmplY3QoY29udGVudFZpZXcu
cmVwcmVzZW50ZWRPYmplY3QpOwogICAgIH0KIAotICAgIF9zaG93RW50cnkoZW50cnksIHNob3Vs
ZENhbGxTaG93bikKKyAgICBfc2hvd0VudHJ5KGVudHJ5KQogICAgIHsKICAgICAgICAgY29uc29s
ZS5hc3NlcnQoZW50cnkgaW5zdGFuY2VvZiBXSS5CYWNrRm9yd2FyZEVudHJ5KTsKIApAQCAtNDUz
LDcgKzQ0Nyw3IEBAIFdJLkNvbnRlbnRWaWV3Q29udGFpbmVyID0gY2xhc3MgQ29udGVudFZpZXdD
b250YWluZXIgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIGlmICghdGhpcy5zdWJ2aWV3cy5pbmNs
dWRlcyhlbnRyeS5jb250ZW50VmlldykpCiAgICAgICAgICAgICB0aGlzLmFkZFN1YnZpZXcoZW50
cnkuY29udGVudFZpZXcpOwogCi0gICAgICAgIGVudHJ5LnByZXBhcmVUb1Nob3coc2hvdWxkQ2Fs
bFNob3duKTsKKyAgICAgICAgZW50cnkucHJlcGFyZVRvU2hvdygpOwogICAgIH0KIAogICAgIF9o
aWRlRW50cnkoZW50cnkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKaW5kZXggMDA1YTA3
NWFjYjI4MjFkYjcxZmI3N2Q1M2VkNWZjYTQ1NThmMzBlMS4uODM5NTk3YzRlNWE1ZWI1Yjc4MTgw
NTE4MDgyMmI0ZWIyMzI0ZWJjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwpAQCAt
MTQwLDI2ICsxNDAsNiBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLmVsZW1lbnQuY2xh
c3NMaXN0LnRvZ2dsZSgic2hvdy1ndXR0ZXIiLCB0aGlzLl9icmVha3BvaW50R3V0dGVyRW5hYmxl
ZCk7CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsK
LQotICAgICAgICB0aGlzLl9kb21UcmVlT3V0bGluZS5zZXRWaXNpYmxlKHRydWUsIFdJLmlzQ29u
c29sZUZvY3VzZWQoKSk7Ci0KLSAgICAgICAgaWYgKCF0aGlzLl9kb21UcmVlT3V0bGluZS5yb290
RE9NTm9kZSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLl9yZXN0b3JlQnJl
YWtwb2ludHNBZnRlclVwZGF0ZSgpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAg
ICAgICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAgICBXSS5kb21NYW5hZ2VyLmhpZGVET01Ob2Rl
SGlnaGxpZ2h0KCk7Ci0gICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLnNldFZpc2libGUoZmFs
c2UpOwotICAgIH0KLQogICAgIGNsb3NlZCgpCiAgICAgewogICAgICAgICBzdXBlci5jbG9zZWQo
KTsKQEAgLTM5Niw2ICszNzYsMTAgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9N
VHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICB7CiAgICAgICAgIHN1
cGVyLmF0dGFjaGVkKCk7CiAKKyAgICAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUuc2V0VmlzaWJs
ZSh0cnVlLCBXSS5pc0NvbnNvbGVGb2N1c2VkKCkpOworICAgICAgICBpZiAodGhpcy5fZG9tVHJl
ZU91dGxpbmUucm9vdERPTU5vZGUpCisgICAgICAgICAgICB0aGlzLl9yZXN0b3JlQnJlYWtwb2lu
dHNBZnRlclVwZGF0ZSgpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIudXBkYXRlQ29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZUZyb21QYWdlSWZOZWVkZWQoKTsKIAogICAgICAgICBXSS5s
YXllclRyZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVu
dC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFuZGxlQ29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOwpAQCAtNDA3LDYgKzM5MSw5IEBAIFdJLkRP
TVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRlbmRzIFdJLkNv
bnRlbnRWaWV3CiAKICAgICBkZXRhY2hlZCgpCiAgICAgeworICAgICAgICBXSS5kb21NYW5hZ2Vy
LmhpZGVET01Ob2RlSGlnaGxpZ2h0KCk7CisgICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLnNl
dFZpc2libGUoZmFsc2UpOworCiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIucmVtb3ZlRXZl
bnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LlNob3dQYWludFJlY3RzQ2hhbmdl
ZCwgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgV0ku
bGF5ZXJUcmVlTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIu
RXZlbnQuQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMuX2hhbmRsZUNvbXBv
c2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRWxlbWVudHNUYWJDb250ZW50Vmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0VsZW1lbnRz
VGFiQ29udGVudFZpZXcuanMKaW5kZXggNDRhMzIxNDgzZWRiM2VhNjhmOGE2NWNkY2E2YjY4N2Nh
OTk0YTljYy4uNzg4NDE2MTE1MmNmNTc4MmVjNjY5OGNmNjI4NWQ3NjJmMTQxN2JkNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRWxlbWVudHNU
YWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9FbGVtZW50c1RhYkNvbnRlbnRWaWV3LmpzCkBAIC05Niw5ICs5Niw5IEBAIFdJLkVs
ZW1lbnRzVGFiQ29udGVudFZpZXcgPSBjbGFzcyBFbGVtZW50c1RhYkNvbnRlbnRWaWV3IGV4dGVu
ZHMgV0kuQ29udGVudEJyb3dzCiAgICAgICAgIGNvb2tpZS5ub2RlVG9TZWxlY3QgPSB1bmRlZmlu
ZWQ7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAg
IHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgaWYg
KCF0aGlzLmNvbnRlbnRCcm93c2VyLmN1cnJlbnRDb250ZW50VmlldykKICAgICAgICAgICAgIHRo
aXMuX3Nob3dET01UcmVlQ29udGVudFZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRm9udFJlc291cmNlQ29u
dGVudFZpZXcuanMKaW5kZXggZDA5MzA2YTcwOTZhZGM5YzQxNjgyYjc3ZjZjOGI5ZDEyNzc4YjYw
Ny4uMzcyYmQzM2NlNjdmMDlkOGJjM2JiNzljNTJmMTlhYWQ3NGRiYTE1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRm9udFJlc291cmNlQ29u
dGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvRm9udFJlc291cmNlQ29udGVudFZpZXcuanMKQEAgLTc1LDIyICs3NSwyMiBAQCBXSS5Gb250
UmVzb3VyY2VDb250ZW50VmlldyA9IGNsYXNzIEZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3IGV4dGVu
ZHMgV0kuUmVzb3VyY2VDbwogICAgICAgICB9CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0
dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0
dGFjaGVkKCk7CiAKICAgICAgICAgLy8gQWRkIHRoZSBzdHlsZSBlbGVtZW50IHNpbmNlIGl0IGlz
IHJlbW92ZWQgd2hlbiBoaWRkZW4uCiAgICAgICAgIGlmICh0aGlzLl9zdHlsZUVsZW1lbnQpCiAg
ICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRoaXMuX3N0eWxlRWxlbWVudCk7
CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewogICAgICAgICAv
LyBSZW1vdmUgdGhlIHN0eWxlIGVsZW1lbnQgc28gaXQgd2lsbCBub3Qgc3RpY2sgYXJvdW5kIHdo
ZW4gdGhpcyBjb250ZW50IHZpZXcgaXMgZGVzdHJveWVkLgogICAgICAgICBpZiAodGhpcy5fc3R5
bGVFbGVtZW50KQogICAgICAgICAgICAgdGhpcy5fc3R5bGVFbGVtZW50LnJlbW92ZSgpOwogCi0g
ICAgICAgIHN1cGVyLmhpZGRlbigpOworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0K
IAogICAgIGNsb3NlZCgpCkBAIC0xNzUsNyArMTc1LDcgQEAgV0kuRm9udFJlc291cmNlQ29udGVu
dFZpZXcgPSBjbGFzcyBGb250UmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJLlJlc291cmNl
Q28KICAgICAgICAgdGhpcy5fc3R5bGVFbGVtZW50LnRleHRDb250ZW50ID0gYEBmb250LWZhY2Ug
eyBmb250LWZhbWlseTogIiR7dW5pcXVlRm9udE5hbWV9Ijsgc3JjOiB1cmwoJHt0aGlzLl9mb250
T2JqZWN0VVJMfSkgJHtmb3JtYXR9OyB9YDsKIAogICAgICAgICAvLyBUaGUgc3R5bGUgZWxlbWVu
dCB3aWxsIGJlIGFkZGVkIHdoZW4gc2hvd24gbGF0ZXIgaWYgd2UgYXJlIG5vdCB2aXNpYmxlIG5v
dy4KLSAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkKKyAgICAgICAgaWYgKHRoaXMuaXNBdHRhY2hl
ZCkKICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGhpcy5fc3R5bGVFbGVt
ZW50KTsKIAogICAgICAgICB0aGlzLl9wcmV2aWV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dlbmVyYWxTdHlsZURldGFpbHNTaWRl
YmFyUGFuZWwuanMKaW5kZXggMmUyNzBjN2M5ZTMxNWJlZmVhZTg1NWE2MDU0NjZiYWM1NDdkZjY1
ZS4uNmIyOWYwOWQwMGQ3N2U1Yzk4N2Y3YmYxMDYyMzczODRmYzJiZmE1ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJhbFN0eWxlRGV0
YWlsc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC00Nyw3ICs0
Nyw3IEBAIFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBHZW5lcmFs
U3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgewogICAgICAgICBsZXQgbWluaW11
bVdpZHRoID0gTWF0aC5tYXgoc3VwZXIubWluaW11bVdpZHRoLCB0aGlzLl9wYW5lbC5taW5pbXVt
V2lkdGggfHwgMCk7CiAKLSAgICAgICAgaWYgKHRoaXMuZXhjbHVzaXZlKSB7CisgICAgICAgIGlm
ICh0aGlzLl9mb3JjZWRQc2V1ZG9DbGFzc0NvbnRhaW5lciAmJiB0aGlzLmV4Y2x1c2l2ZSkgewog
ICAgICAgICAgICAgbGV0IHBzZXVkb0NsYXNzTWluaW11bVdpZHRoID0gMDsKICAgICAgICAgICAg
IGZvciAobGV0IGNoaWxkIG9mIHRoaXMuX2ZvcmNlZFBzZXVkb0NsYXNzQ29udGFpbmVyLmNoaWxk
cmVuKQogICAgICAgICAgICAgICAgIHBzZXVkb0NsYXNzTWluaW11bVdpZHRoICs9IGNoaWxkLm9m
ZnNldFdpZHRoOwpAQCAtNjIsMTcgKzYyLDkgQEAgV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGVi
YXJQYW5lbCA9IGNsYXNzIEdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW4KICAg
ICAgICAgcmV0dXJuIG5vZGVUb0luc3BlY3Qubm9kZVR5cGUoKSA9PT0gTm9kZS5FTEVNRU5UX05P
REU7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewotICAgICAg
ICBzdXBlci5oaWRkZW4oKTsKLQotICAgICAgICBpZiAodGhpcy5fcGFuZWwpCi0gICAgICAgICAg
ICB0aGlzLl9wYW5lbC5oaWRkZW4oKTsKLSAgICB9Ci0KLSAgICBzaG93bigpCi0gICAgewotICAg
ICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAg
IGlmICghdGhpcy5fcGFuZWwpCiAgICAgICAgICAgICByZXR1cm47CkBAIC04MCw3ICs3Miw2IEBA
IFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBHZW5lcmFsU3R5bGVE
ZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMudmlz
aWJsZSwgYFNob3duIHBhbmVsICR7dGhpcy5faWRlbnRpZmllcn0gbXVzdCBiZSB2aXNpYmxlLmAp
OwogCiAgICAgICAgIHRoaXMuX3VwZGF0ZU5vRm9yY2VkUHNldWRvQ2xhc3Nlc1Njcm9sbE9mZnNl
dCgpOwotICAgICAgICB0aGlzLl9wYW5lbC5zaG93bigpOwogICAgICAgICB0aGlzLl9wYW5lbC5t
YXJrQXNOZWVkc1JlZnJlc2godGhpcy5kb21Ob2RlKTsKICAgICB9CiAKQEAgLTI0Niw4ICsyMzcs
NiBAQCBXSS5HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgR2VuZXJhbFN0
eWxlRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbgogICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVs
ZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLWZpbHRlci1iYXIiLCBoYXNGaWx0ZXIpOwogICAg
ICAgICBpZiAodGhpcy5fZmlsdGVyQmFyKQogICAgICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5l
bGVtZW50LmNsYXNzTGlzdC50b2dnbGUoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5l
bC5GaWx0ZXJJblByb2dyZXNzQ2xhc3NOYW1lLCBoYXNGaWx0ZXIgJiYgdGhpcy5fZmlsdGVyQmFy
Lmhhc0FjdGl2ZUZpbHRlcnMoKSk7Ci0KLSAgICAgICAgdGhpcy5fcGFuZWwuc2hvd24oKTsKICAg
ICB9CiAKICAgICBfaGFuZGxlTm9kZUNoYW5nZWQoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGlu
ZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggNDU5NGFi
NDQzOTNmNDExYjViMDMxZDYwNzE0NjU2MWMyMGMxNjBhOS4uZDBmN2VlMDk0OWU0NTIzZGIzOGI0
ZWExZTkzMjIzNzAyNzEzZjczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFsbG9jYXRpb25zVGltZWxpbmVPdmVydmlld0dyYXBoLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBBbGxv
Y2F0aW9uc1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwpAQCAtNTAsNyArNTAsOSBAQCBXSS5IZWFw
QWxsb2NhdGlvbnNUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBIZWFwQWxsb2NhdGlvbnNU
aW1lbGluZU92ZXJ2aWV3RwogCiAgICAgbGF5b3V0KCkKICAgICB7Ci0gICAgICAgIGlmICghdGhp
cy52aXNpYmxlKQorICAgICAgICBzdXBlci5sYXlvdXQoKTsKKworICAgICAgICBpZiAodGhpcy5o
aWRkZW4pCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92
ZUNoaWxkcmVuKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcu
anMKaW5kZXggOGM2NzQzNzcwZWY5MDYxYTdhYTExZDMxZWUzY2FkYTEzMGY1YTA5ZC4uZDlkOGM0
ZDcyZDlkMzExZDVlMDkzYWI3NDBmODU1ZTgxN2JkZGNjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFsbG9jYXRpb25zVGltZWxpbmVW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hl
YXBBbGxvY2F0aW9uc1RpbWVsaW5lVmlldy5qcwpAQCAtMTI4LDcgKzEyOCw2IEBAIFdJLkhlYXBB
bGxvY2F0aW9uc1RpbWVsaW5lVmlldyA9IGNsYXNzIEhlYXBBbGxvY2F0aW9uc1RpbWVsaW5lVmll
dyBleHRlbmRzIFdJLlRpCiAgICAgICAgIHRoaXMuX2hlYXBTbmFwc2hvdERpZmYgPSBudWxsOwog
ICAgICAgICB0aGlzLl9jYW5jZWxTZWxlY3RDb21wYXJpc29uSGVhcFNuYXBzaG90cygpOwogCi0g
ICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLmhpZGRlbigpOwogICAgICAgICB0aGlz
LnJlbW92ZVN1YnZpZXcodGhpcy5fY29udGVudFZpZXdDb250YWluZXIpOwogICAgICAgICB0aGlz
LmFkZFN1YnZpZXcodGhpcy5fZGF0YUdyaWQpOwogCkBAIC0xNDQsNyArMTQzLDYgQEAgV0kuSGVh
cEFsbG9jYXRpb25zVGltZWxpbmVWaWV3ID0gY2xhc3MgSGVhcEFsbG9jYXRpb25zVGltZWxpbmVW
aWV3IGV4dGVuZHMgV0kuVGkKICAgICAgICAgICAgIHRoaXMuX3NuYXBzaG90TGlzdFNjcm9sbFRv
cCA9IHRoaXMuX2RhdGFHcmlkLnNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3A7CiAgICAgICAgICAg
ICB0aGlzLnJlbW92ZVN1YnZpZXcodGhpcy5fZGF0YUdyaWQpOwogICAgICAgICAgICAgdGhpcy5h
ZGRTdWJ2aWV3KHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyKTsKLSAgICAgICAgICAgIHRoaXMu
X2NvbnRlbnRWaWV3Q29udGFpbmVyLnNob3duKCk7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlz
Ll9zaG93aW5nU25hcHNob3RMaXN0ID0gZmFsc2U7CkBAIC0xNzIsNyArMTcwLDYgQEAgV0kuSGVh
cEFsbG9jYXRpb25zVGltZWxpbmVWaWV3ID0gY2xhc3MgSGVhcEFsbG9jYXRpb25zVGltZWxpbmVW
aWV3IGV4dGVuZHMgV0kuVGkKICAgICAgICAgaWYgKHRoaXMuX3Nob3dpbmdTbmFwc2hvdExpc3Qp
IHsKICAgICAgICAgICAgIHRoaXMucmVtb3ZlU3Vidmlldyh0aGlzLl9kYXRhR3JpZCk7CiAgICAg
ICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fY29udGVudFZpZXdDb250YWluZXIpOwotICAg
ICAgICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuc2hvd24oKTsKICAgICAgICAgfQog
CiAgICAgICAgIHRoaXMuX3Nob3dpbmdTbmFwc2hvdExpc3QgPSBmYWxzZTsKQEAgLTIzMCwyNiAr
MjI3LDYgQEAgV0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3ID0gY2xhc3MgSGVhcEFsbG9j
YXRpb25zVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuVGkKICAgICAgICAgICAgIHRoaXMuc2hvd0hl
YXBTbmFwc2hvdExpc3QoKTsKICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBz
dXBlci5zaG93bigpOwotCi0gICAgICAgIHRoaXMuX2RhdGFHcmlkLnNob3duKCk7Ci0KLSAgICAg
ICAgaWYgKCF0aGlzLl9zaG93aW5nU25hcHNob3RMaXN0KQotICAgICAgICAgICAgdGhpcy5fY29u
dGVudFZpZXdDb250YWluZXIuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsK
LSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZGVu
KCk7Ci0KLSAgICAgICAgaWYgKCF0aGlzLl9zaG93aW5nU25hcHNob3RMaXN0KQotICAgICAgICAg
ICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgY2xv
c2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QucmVtb3ZlRXZlbnRM
aXN0ZW5lcihXSS5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwgdGhpcy5faGVhcEFsbG9jYXRp
b25zVGltZWxpbmVSZWNvcmRBZGRlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZp
ZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25h
cHNob3RDbHVzdGVyQ29udGVudFZpZXcuanMKaW5kZXggMzIyMDY1NWU3MGI0NTg2ZGJkYjE3NzU4
MTkyNmU2YWQ1N2IzZWEwNS4uZjIxOTllNGNhZDc3YzlkYjM2YjhlNDBjNzVkZDg1NmRhNWVkZGEz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
SGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5q
cwpAQCAtMTM5LDkgKzEzOSw5IEBAIFdJLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyA9
IGNsYXNzIEhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyBleHRlbmRzCiAgICAgICAgIHJl
dHVybiBjb21wb25lbnRzLmNvbmNhdChjdXJyZW50Q29udGVudFZpZXcuc2VsZWN0aW9uUGF0aENv
bXBvbmVudHMpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRhY2hlZCgpCiAgICAgewot
ICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAg
ICAgIGlmICh0aGlzLl9zaG93bkluaXRpYWxDb250ZW50KQogICAgICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVh
cFNuYXBzaG90Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDb250ZW50Vmlldy5qcwppbmRleCA5ZjBlMTBjZDNlNzI0
N2RjYTUxMGVlNGViMDBiNGM0MTY3NGE5ZTNhLi45MTNkZGI3NGQwYjI0ZjE2ZmUxZTAxOGQ0NDI3
Y2M3MWM2MWExMzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDb250ZW50Vmlldy5qcwpA
QCAtOTAsMTggKzkwLDE4IEBAIFdJLkhlYXBTbmFwc2hvdENvbnRlbnRWaWV3ID0gY2xhc3MgSGVh
cFNuYXBzaG90Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmllCiAgICAgICAgIHJldHVy
biBbXTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAg
ICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0
aGlzLl9oZWFwU25hcHNob3REYXRhR3JpZFRyZWUuc2hvd24oKTsKICAgICB9CiAKLSAgICBoaWRk
ZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotCiAg
ICAgICAgIHRoaXMuX2hlYXBTbmFwc2hvdERhdGFHcmlkVHJlZS5oaWRkZW4oKTsKKworICAgICAg
ICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIGdldCBzY3JvbGxhYmxlRWxlbWVudHMo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
SW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCmluZGV4IDA2ZTFmMGQ2
ZDA0YzUyOTlhYTJkODkwZGFhNDBlOWY5MjI1NDFjNDMuLjBlYjBiNjBmMTk0ZDkzMDk4MjMyNDhh
ZWZkNWU0NmUyNjhiOGFkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0ltYWdlUmVzb3VyY2VDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9JbWFnZVJlc291cmNlQ29udGVudFZp
ZXcuanMKQEAgLTk5LDIwICs5OSwyMCBAQCBXSS5JbWFnZVJlc291cmNlQ29udGVudFZpZXcgPSBj
bGFzcyBJbWFnZVJlc291cmNlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5SZXNvdXJjZQogCiAgICAg
Ly8gUHJvdGVjdGVkCiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAg
ICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0
aGlzLl91cGRhdGVJbWFnZUdyaWQoKTsKIAogICAgICAgICBXSS5zZXR0aW5ncy5zaG93SW1hZ2VH
cmlkLmFkZEV2ZW50TGlzdGVuZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl91cGRh
dGVJbWFnZUdyaWQsIHRoaXMpOwogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQo
KQogICAgIHsKICAgICAgICAgV0kuc2V0dGluZ3Muc2hvd0ltYWdlR3JpZC5yZW1vdmVFdmVudExp
c3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5fdXBkYXRlSW1hZ2VHcmlkLCB0
aGlzKTsKIAotICAgICAgICBzdXBlci5oaWRkZW4oKTsKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQo
KTsKICAgICB9CiAKICAgICAvLyBEcm9wWm9uZVZpZXcgZGVsZWdhdGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURldGFpbHNT
aWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IDk0NzlmYjJjOGQ2ZTRiYjc4
Njc4MTAzZWNhNDZmYmU3MWQ5ZWIzZWIuLmIxN2FkOTYzYzNmZGEzZWQwZDEwZWE2ZTNhMTY3YTY4
NGE3ZDNjZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0xheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5l
bC5qcwpAQCAtMzYsMjAgKzM2LDE4IEBAIFdJLkxheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwg
PSBjbGFzcyBMYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuCiAKICAgICAv
LyBEZXRhaWxzU2lkZWJhclBhbmVsIE92ZXJyaWRlcy4KIAotICAgIHNob3duKCkKKyAgICBhdHRh
Y2hlZCgpCiAgICAgeworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOworCiAgICAgICAgIFdJLmxh
eWVyVHJlZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50
LkxheWVyVHJlZURpZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzKTsKLQot
ICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLnBhcmVudFNpZGViYXIpOwotCi0gICAgICAgIHN1
cGVyLnNob3duKCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAg
ewogICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5
ZXJUcmVlTWFuYWdlci5FdmVudC5MYXllclRyZWVEaWRDaGFuZ2UsIHRoaXMuX2xheWVyVHJlZURp
ZENoYW5nZSwgdGhpcyk7CiAKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVy
LmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgLy8gRE9NRGV0YWlsc1NpZGViYXJQYW5lbCBPdmVy
cmlkZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0xheWVyczNEQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCmluZGV4IDFiMjczZDZjMTJjODY0
ZTY2NzI0ZTAzMjA0YzQ3NzA4YzExNmE3OGYuLjEzNTkwOTMwMzNhNTEzMjQ3NTIzNWMxNDY5NjNm
Nzc0YjA4ZmI1NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0xheWVyczNEQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzM0RDb250ZW50Vmlldy5qcwpAQCAtNzQsMjYg
Kzc0LDYgQEAgV0kuTGF5ZXJzM0RDb250ZW50VmlldyA9IGNsYXNzIExheWVyczNEQ29udGVudFZp
ZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICByZXR1cm4gdGhpcy5fbGF5ZXJzOwog
ICAgIH0KIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAg
ICAgICAgdGhpcy51cGRhdGVMYXlvdXQoKTsKLSAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5h
ZGRFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQuTGF5ZXJUcmVlRGlkQ2hh
bmdlLCB0aGlzLl9sYXllclRyZWVEaWRDaGFuZ2UsIHRoaXMpOwotCi0gICAgICAgIGlmICh0aGlz
LmRpZEluaXRpYWxMYXlvdXQpCi0gICAgICAgICAgICB0aGlzLl9hbmltYXRlKCk7Ci0gICAgfQot
Ci0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIucmVtb3Zl
RXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LkxheWVyVHJlZURpZENoYW5n
ZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzKTsKLQotICAgICAgICB0aGlzLl9zdG9w
QW5pbWF0aW9uKCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgc2Vs
ZWN0TGF5ZXJCeUlkKGxheWVySWQpCiAgICAgewogICAgICAgICBsZXQgbGF5ZXJHcm91cCA9IHRo
aXMuX2xheWVyR3JvdXBzQnlJZC5nZXQobGF5ZXJJZCk7CkBAIC0xMzMsNiArMTEzLDExIEBAIFdJ
LkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnMzRENvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuQ29udGVudFZpZXcKICAgICB7CiAgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKKyAgICAg
ICAgV0kubGF5ZXJUcmVlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFn
ZXIuRXZlbnQuTGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzLl9sYXllclRyZWVEaWRDaGFuZ2UsIHRo
aXMpOworCisgICAgICAgIGlmICh0aGlzLmRpZEluaXRpYWxMYXlvdXQpCisgICAgICAgICAgICB0
aGlzLl9hbmltYXRlKCk7CisKICAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci51cGRhdGVDb21w
b3NpdGluZ0JvcmRlcnNWaXNpYmxlRnJvbVBhZ2VJZk5lZWRlZCgpOwogCiAgICAgICAgIFdJLmxh
eWVyVHJlZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50
LkNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVDb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcyk7CkBAIC0xNDQsNiArMTI5LDEwIEBAIFdJLkxh
eWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnMzRENvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
Q29udGVudFZpZXcKIAogICAgIGRldGFjaGVkKCkKICAgICB7CisgICAgICAgIFdJLmxheWVyVHJl
ZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50Lkxh
eWVyVHJlZURpZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzKTsKKworICAg
ICAgICB0aGlzLl9zdG9wQW5pbWF0aW9uKCk7CisKICAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdl
ci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQuU2hvd1BhaW50
UmVjdHNDaGFuZ2VkLCB0aGlzLl9oYW5kbGVTaG93UGFpbnRSZWN0c0NoYW5nZWQsIHRoaXMpOwog
ICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJU
cmVlTWFuYWdlci5FdmVudC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5f
aGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllcnNUYWJD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0xheWVyc1RhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDU0MmY3MGJiNGFkYWFmMDcyZThiNDZlNmYy
M2FhYTQ3YjAwMDU2NTcuLmI5MjNkZWY0YjUyZjFhMzVhNzc1N2JjYTEzNjhiOWQ5M2JiM2ZjOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xh
eWVyc1RhYkNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0xheWVyc1RhYkNvbnRlbnRWaWV3LmpzCkBAIC02NSw5ICs2NSw5IEBAIFdJ
LkxheWVyc1RhYkNvbnRlbnRWaWV3ID0gY2xhc3MgTGF5ZXJzVGFiQ29udGVudFZpZXcgZXh0ZW5k
cyBXSS5Db250ZW50QnJvd3NlclRhCiAgICAgICAgIHRoaXMuX2xheWVyczNEQ29udGVudFZpZXcu
c2VsZWN0TGF5ZXJGb3JOb2RlKG5vZGUpOwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRh
Y2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRh
Y2hlZCgpOwogCiAgICAgICAgIHRoaXMuY29udGVudEJyb3dzZXIuc2hvd0NvbnRlbnRWaWV3KHRo
aXMuX2xheWVyczNEQ29udGVudFZpZXcpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFw
aC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRp
bWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwppbmRleCA2NDJkMDBiZThmNzc2OGI3N2UwYWVmYWZhY2Ri
OWI0MTk4N2RkY2I2Li43MzFkM2NkMjQzZDI1NDBjZjg3ZGZhYzBmYTRmMWM5MGRhYmQwM2VmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlv
dXRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC02NCw3
ICs2NCw5IEBAIFdJLkxheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIExheW91dFRp
bWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlRpCiAKICAgICBsYXlvdXQoKQogICAgIHsK
LSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIHN1cGVyLmxheW91dCgpOworCisg
ICAgICAgIGlmICh0aGlzLmhpZGRlbikKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0
aGlzLl91cGRhdGVSb3dMYXlvdXQodGhpcy5fdGltZWxpbmVQYWludFJlY29yZFJvdyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRU
aW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9MYXlvdXRUaW1lbGluZVZpZXcuanMKaW5kZXggMmNjNjYxZTIyODhmYzI2MGIxMmEzZTJiZWM3
YTk1NDM2MmQ1YzdhMS4uZjRlYTQyNmFjMjFhMzBlYjJiMmViMTE2OWMzMTRmNDU4ZWFhMjJhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5
b3V0VGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lVmlldy5qcwpAQCAtMTI3LDIyICsxMjcsMTggQEAgV0ku
TGF5b3V0VGltZWxpbmVWaWV3ID0gY2xhc3MgTGF5b3V0VGltZWxpbmVWaWV3IGV4dGVuZHMgV0ku
VGltZWxpbmVWaWV3CiAgICAgICAgIHJldHVybiBwYXRoQ29tcG9uZW50czsKICAgICB9CiAKLSAg
ICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsK
KyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl91cGRhdGVIaWdobGln
aHQoKTsKLQotICAgICAgICB0aGlzLl9kYXRhR3JpZC5zaG93bigpOwogICAgIH0KIAotICAgIGhp
ZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAgIHsKICAgICAgICAgdGhpcy5faGlkZUhpZ2hsaWdo
dElmTmVlZGVkKCk7CiAKLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZGVuKCk7Ci0KLSAgICAg
ICAgc3VwZXIuaGlkZGVuKCk7CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAg
ICAgY2xvc2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanMKaW5kZXggNDY1NGI2NzE3ZGU1MjM5NTdj
ZDNjMGE2MGYzMGRlMjliMmRiMTllNS4uMWI2Y2YyOWI2MmViZmJmYjMxZjU4YjQ2YWZhZjgwZWQz
YjQxMTAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTG9nQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanMKQEAgLTE3OSw5ICsxNzksOSBAQCBXSS5M
b2dDb250ZW50VmlldyA9IGNsYXNzIExvZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZp
ZXcKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFj
aGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFj
aGVkKCk7CiAKICAgICAgICAgdGhpcy5fbG9nVmlld0NvbnRyb2xsZXIucmVuZGVyUGVuZGluZ01l
c3NhZ2VzKCk7CiAgICAgfQpAQCAtMjU1LDcgKzI1NSw3IEBAIFdJLkxvZ0NvbnRlbnRWaWV3ID0g
Y2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgc2hvd0N1
c3RvbUZpbmRCYW5uZXIoKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAg
ICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IHRoaXMuX2ZpbmRCYW5uZXIuZm9jdXMoKTsKQEAgLTI2Myw3ICsyNjMsNyBAQCBXSS5Mb2dDb250
ZW50VmlldyA9IGNsYXNzIExvZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAog
ICAgIGdldCBzdXBwb3J0c1NhdmUoKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUp
CisgICAgICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgICAgIGlmIChXSS5pc1Nob3dpbmdTcGxpdENvbnNvbGUoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lZGlhVGltZWxpbmVP
dmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggY2VjYzAzNGUzYTA1MTNlZjFl
ZmJmNDc1YmNiNTdlYmJlZjY2YTEwNC4uOTk1YTA3M2RkMTdkMGEyZDZiNmExMDMxYTJiYjZhODAw
M2I2MzZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMK
QEAgLTc4LDcgKzc4LDkgQEAgV0kuTWVkaWFUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBN
ZWRpYVRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlRpbWUKIAogICAgIGxheW91dCgp
CiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0
KCk7CisKKyAgICAgICAgaWYgKHRoaXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAg
ICAgICAgIGxldCBzZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLnRpbWVsaW5lT3ZlcnZpZXcuc2Vjb25k
c1BlclBpeGVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvTWVkaWFUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9NZWRpYVRpbWVsaW5lVmlldy5qcwppbmRleCAwMDBjMmQ5ZmFiYzRj
MTgwMzMxNzA2ODQwOTBmOThkNzdkYTM3YWFlLi5mYWY4YjQ0NWE1ZmQwY2RlZTc2OGM3MjdiNGZi
NDZjZjk4OGM5NGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9NZWRpYVRpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9NZWRpYVRpbWVsaW5lVmlldy5qcwpAQCAtODcsMjAgKzg3
LDYgQEAgV0kuTWVkaWFUaW1lbGluZVZpZXcgPSBjbGFzcyBNZWRpYVRpbWVsaW5lVmlldyBleHRl
bmRzIFdJLlRpbWVsaW5lVmlldwogICAgICAgICByZXR1cm4gW3BhdGhDb21wb25lbnRdOwogICAg
IH0KIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAg
ICAgdGhpcy5fZGF0YUdyaWQuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsK
LSAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZGVuKCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVu
KCk7Ci0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMucmVwcmVzZW50
ZWRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRl
ZCwgdGhpcy5faGFuZGxlUmVjb3JkQWRkZWQsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVPdmVydmlld0dy
YXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5
VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IDA1MWFlNTEzNDExM2ZkY2QyMTUyNzQ0MjA5
OGM4MWEyN2I3MTQzOWQuLjhlN2MxMzZjN2FlNWYwYTA4ODcxMTk1M2RhNjAxZjc5NmVkNTNlNTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01l
bW9yeVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTgx
LDcgKzgxLDkgQEAgV0kuTWVtb3J5VGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgTWVtb3J5
VGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV0kuVGkKIAogICAgIGxheW91dCgpCiAgICAg
ewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisK
KyAgICAgICAgaWYgKHRoaXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IHRoaXMuX3VwZGF0ZUxlZ2VuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzCmluZGV4
IGQ2NWU0ZWEyNTM4ZmIzMDJiZDljZDdjYTYyOGVmYjk0MDkxNWIxZWIuLjRkZTdlZjRkOWY0Y2Ez
MDg2NTcyMTZjMDI1OTFhYmU5YjUxNmQ5MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZpZXcu
anMKQEAgLTEyMSwxMSArMTIxLDExIEBAIFdJLk1lbW9yeVRpbWVsaW5lVmlldyA9IGNsYXNzIE1l
bW9yeVRpbWVsaW5lVmlldyBleHRlbmRzIFdJLlRpbWVsaW5lVmlldwogCiAgICAgLy8gUHVibGlj
CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hv
d24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAotICAgICAgICB0aGlzLl90aW1lbGlu
ZVJ1bGVyLnVwZGF0ZUxheW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOworICAgICAg
ICB0aGlzLl90aW1lbGluZVJ1bGVyLm5lZWRzTGF5b3V0KFdJLlZpZXcuTGF5b3V0UmVhc29uLlJl
c2l6ZSk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJh
clBhbmVsLmpzCmluZGV4IDY4MTY1ZWI3NjBhZWVkMTRhOWVlZWQ2ZmQ1MTMzZWRlNjgzMGU1NTYu
LjM1YWNjZjM4NmExZWY3MjFlMzI4Y2YzNTE4MThkNDRkYmQ1ZTEzM2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFy
UGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
TmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcwpAQCAtNDcxLDExICs0NzEsMTQgQEAgV0kuTmF2aWdh
dGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIE5hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBX
SS5TaWRlYmFyUGFuZWwKICAgICAgICAgdHJlZUVsZW1lbnQuaGlkZGVuID0gdHJ1ZTsKICAgICB9
CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hv
d24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICB0aGlzLl91cGRhdGVD
b250ZW50T3ZlcmZsb3dTaGFkb3dWaXNpYmlsaXR5RGVib3VuY2VyLmZvcmNlKCk7CisKKyAgICAg
ICAgaWYgKHRoaXMuX2NvbnRlbnRCcm93c2VyICYmICF0aGlzLl9jb250ZW50QnJvd3Nlci5jdXJy
ZW50Q29udGVudFZpZXcpCisgICAgICAgICAgICB0aGlzLnNob3dEZWZhdWx0Q29udGVudFZpZXco
KTsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtEZXRhaWxWaWV3LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya0RldGFpbFZpZXcuanMK
aW5kZXggZWRmZjExYTIyOWE0Y2EwMTU4YWRmOWVkOTA4MDY4ZTRhZTI3OTZiMC4uNmYzODY4Nzhl
MWE3MWFjZjEyZTllNmQzOGUyZDk0MDQ4YjA5MjMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya0RldGFpbFZpZXcuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya0RldGFpbFZp
ZXcuanMKQEAgLTQ1LDggKzQ1LDEwIEBAIFdJLk5ldHdvcmtEZXRhaWxWaWV3ID0gY2xhc3MgTmV0
d29ya0RldGFpbFZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICBnZXQgcmVwcmVzZW50ZWRPYmpl
Y3QoKSB7IHJldHVybiB0aGlzLl9yZXByZXNlbnRlZE9iamVjdDsgfQogCi0gICAgc2hvd24oKQor
ICAgIGF0dGFjaGVkKCkKICAgICB7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CisKICAgICAg
ICAgaWYgKCF0aGlzLl9jb250ZW50QnJvd3NlcikKICAgICAgICAgICAgIHJldHVybjsKIApAQCAt
NTYsMTMgKzU4LDYgQEAgV0kuTmV0d29ya0RldGFpbFZpZXcgPSBjbGFzcyBOZXR3b3JrRGV0YWls
VmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRCcm93c2VyLnNo
b3dDb250ZW50Vmlldyh0aGlzLl9jb250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXcsIHRo
aXMuX2NvbnRlbnRWaWV3Q29va2llKTsKICAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29v
a2llID0gbnVsbDsKICAgICAgICAgfQotCi0gICAgICAgIHRoaXMuX2NvbnRlbnRCcm93c2VyLnNo
b3duKCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NvbnRl
bnRCcm93c2VyLmhpZGRlbigpOwogICAgIH0KIAogICAgIGRpc3Bvc2UoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1Jlc291cmNl
RGV0YWlsVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L05ldHdvcmtSZXNvdXJjZURldGFpbFZpZXcuanMKaW5kZXggNGQ5MTJlM2FmYTk1ODRkODg2MWYw
NzBiMDNiMmQwMDliZWFkZjFjNS4uMjA0ZTc2NDcwNmU4NjFmY2RmMjg5ODMzMzZiOWI4YjI5MDJj
OTY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTmV0d29ya1Jlc291cmNlRGV0YWlsVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrUmVzb3VyY2VEZXRhaWxWaWV3LmpzCkBAIC00
MywxMiArNDMsMTIgQEAgV0kuTmV0d29ya1Jlc291cmNlRGV0YWlsVmlldyA9IGNsYXNzIE5ldHdv
cmtSZXNvdXJjZURldGFpbFZpZXcgZXh0ZW5kcyBXSS5OZXR3b3IKIAogICAgIC8vIFB1YmxpYwog
Ci0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7CisgICAgICAgIHN1cGVyLmF0dGFj
aGVkKCk7CisKICAgICAgICAgaWYgKHRoaXMuX2NvbnRlbnRCcm93c2VyICYmIHRoaXMuX2NvbnRl
bnRWaWV3Q29va2llICYmICJsaW5lTnVtYmVyIiBpbiB0aGlzLl9jb250ZW50Vmlld0Nvb2tpZSAm
JiAiY29sdW1uTnVtYmVyIiBpbiB0aGlzLl9jb250ZW50Vmlld0Nvb2tpZSkKICAgICAgICAgICAg
IHRoaXMuX2NvbnRlbnRCcm93c2VyLm5hdmlnYXRpb25CYXIuc2VsZWN0ZWROYXZpZ2F0aW9uSXRl
bSA9IHRoaXMuZGV0YWlsTmF2aWdhdGlvbkl0ZW1Gb3JJZGVudGlmaWVyKCJwcmV2aWV3Iik7Ci0K
LSAgICAgICAgc3VwZXIuc2hvd24oKTsKICAgICB9CiAKICAgICAvLyBSZXNvdXJjZUhlYWRlcnND
b250ZW50VmlldyBkZWxlZ2F0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYkNvbnRlbnRWaWV3LmpzCmlu
ZGV4IDQ3NjI3OWZiNjNhZWNkZDZlOThmN2QwODJkODBkOGU0NzU2OWYyMDEuLmQ1NmIxNjA0MDAx
ZjU3MTI5YTFjY2Q5NTEyNDg1ZmRmMWMyZWE3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJDb250ZW50Vmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFiQ29u
dGVudFZpZXcuanMKQEAgLTYxLDIwICs2MSw2IEBAIFdJLk5ldHdvcmtUYWJDb250ZW50VmlldyA9
IGNsYXNzIE5ldHdvcmtUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLlRhYkNvbnRlbnRWaWV3CiAK
ICAgICAvLyBQcm90ZWN0ZWQKIAotICAgIHNob3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNo
b3duKCk7Ci0KLSAgICAgICAgdGhpcy5fY29udGVudEJyb3dzZXIuc2hvd24oKTsKLSAgICB9Ci0K
LSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgdGhpcy5fY29udGVudEJyb3dzZXIuaGlkZGVu
KCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgY2xvc2VkKCkKICAg
ICB7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRCcm93c2VyLmNvbnRlbnRWaWV3Q29udGFpbmVyLmNs
b3NlQWxsQ29udGVudFZpZXdzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3
LmpzCmluZGV4IGI1MzI0Y2E2MjdiM2UwM2Y2ZjY1MGM0NDZhZWM2MmZjYWNkZTA5NjMuLmRkNjBl
YmIwNjQyYTQ3NzEwNjJkY2Y0YTI0M2I1ZjdiZmMxMzYxZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdv
cmtUYWJsZUNvbnRlbnRWaWV3LmpzCkBAIC0yNzEsMjUgKzI3MSwxMSBAQCBXSS5OZXR3b3JrVGFi
bGVDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
Q29udGVudFZpZQogICAgICAgICByZXR1cm4ge2N1c3RvbVNhdmVIYW5kbGVyOiAoKSA9PiB7IHRo
aXMuX2V4cG9ydEhBUigpOyB9fTsKICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAg
ICBzdXBlci5zaG93bigpOwotCi0gICAgICAgIGlmICh0aGlzLl9kZXRhaWxWaWV3KQotICAgICAg
ICAgICAgdGhpcy5fZGV0YWlsVmlldy5zaG93bigpOwotCi0gICAgICAgIGlmICh0aGlzLl90YWJs
ZSkKLSAgICAgICAgICAgIHRoaXMuX3RhYmxlLnJlc3RvcmVTY3JvbGxQb3NpdGlvbigpOwotICAg
IH0KLQotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAgIHsKICAgICAgICAgdGhpcy5f
aGlkZVBvcG92ZXIoKTsKIAotICAgICAgICBpZiAodGhpcy5fZGV0YWlsVmlldykKLSAgICAgICAg
ICAgIHRoaXMuX2RldGFpbFZpZXcuaGlkZGVuKCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7
CisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKQEAgLTE1
NTIsOCArMTUzOCw2IEBAIFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3ID0gY2xhc3MgTmV0d29y
a1RhYmxlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmllCiAgICAgICAgIHRoaXMuX3Rh
YmxlLnNjcm9sbENvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgid2lkdGgiKTsKIAogICAg
ICAgICB0aGlzLnJlbW92ZVN1YnZpZXcodGhpcy5fZGV0YWlsVmlldyk7Ci0KLSAgICAgICAgdGhp
cy5fZGV0YWlsVmlldy5oaWRkZW4oKTsKICAgICAgICAgdGhpcy5fZGV0YWlsVmlldyA9IG51bGw7
CiAKICAgICAgICAgdGhpcy5fdGFibGUudXBkYXRlTGF5b3V0KFdJLlZpZXcuTGF5b3V0UmVhc29u
LlJlc2l6ZSk7CkBAIC0xNTc4LDE3ICsxNTYyLDE0IEBAIFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRW
aWV3ID0gY2xhc3MgTmV0d29ya1RhYmxlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50Vmll
CiAgICAgICAgICAgICB0aGlzLl9kZXRhaWxWaWV3TWFwLnNldChvYmplY3QsIHRoaXMuX2RldGFp
bFZpZXcpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKG9sZERldGFpbFZpZXcpIHsKLSAgICAg
ICAgICAgIG9sZERldGFpbFZpZXcuaGlkZGVuKCk7CisgICAgICAgIGlmIChvbGREZXRhaWxWaWV3
KQogICAgICAgICAgICAgdGhpcy5yZXBsYWNlU3VidmlldyhvbGREZXRhaWxWaWV3LCB0aGlzLl9k
ZXRhaWxWaWV3KTsKLSAgICAgICAgfSBlbHNlCisgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRo
aXMuYWRkU3Vidmlldyh0aGlzLl9kZXRhaWxWaWV3KTsKIAogICAgICAgICBpZiAodGhpcy5fc2hv
d2luZ1JlcHJlc2VudGVkT2JqZWN0Q29va2llKQogICAgICAgICAgICAgdGhpcy5fZGV0YWlsVmll
dy53aWxsU2hvd1dpdGhDb29raWUodGhpcy5fc2hvd2luZ1JlcHJlc2VudGVkT2JqZWN0Q29va2ll
KTsKIAotICAgICAgICB0aGlzLl9kZXRhaWxWaWV3LnNob3duKCk7Ci0KICAgICAgICAgdGhpcy5l
bGVtZW50LmNsYXNzTGlzdC5hZGQoInNob3dpbmctZGV0YWlsIik7CiAgICAgICAgIHRoaXMuX3Rh
YmxlLnNjcm9sbENvbnRhaW5lci5zdHlsZS53aWR0aCA9IHRoaXMuX25hbWVDb2x1bW4ud2lkdGgg
KyAicHgiOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5q
cwppbmRleCAzMjgzZjkzMmUxMWNiNTM0ODIxNzRmNDlkZjM0OTg2YjBmYzRhMDM5Li5hYWIzYmQw
Yjg0MzIzNWI4ODgzZTlmMGJhYjM4MWNjNzQzYWFjNWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVPdmVydmlld0dy
YXBoLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05l
dHdvcmtUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTY4LDcgKzY4LDkgQEAgV0kuTmV0d29y
a1RpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIE5ldHdvcmtUaW1lbGluZU92ZXJ2aWV3R3Jh
cGggZXh0ZW5kcyBXSS4KIAogICAgIGxheW91dCgpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMu
dmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisKKyAgICAgICAgaWYgKHRoaXMuaGlk
ZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGxldCBzZWNvbmRzUGVyUGl4ZWwg
PSB0aGlzLnRpbWVsaW5lT3ZlcnZpZXcuc2Vjb25kc1BlclBpeGVsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtU
aW1lbGluZVZpZXcuanMKaW5kZXggMTBhMGY0NDJlNDI0OTAxMGE4ODBiZjQ4MWRjNDM2ZDA1NzE1
OWQ1Ny4uNWE4ZjQ2NGNhMmJkN2MzNTBhYWEzZWViMTUzYjA5NzY5OTJkNGQ5NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVs
aW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9OZXR3b3JrVGltZWxpbmVWaWV3LmpzCkBAIC0xNjEsMjAgKzE2MSw2IEBAIFdJLk5ldHdvcmtU
aW1lbGluZVZpZXcgPSBjbGFzcyBOZXR3b3JrVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuVGltZWxp
bmVWaWV3CiAgICAgICAgIHJldHVybiBbcGF0aENvbXBvbmVudF07CiAgICAgfQogCi0gICAgc2hv
d24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAgICB0aGlzLl9kYXRh
R3JpZC5zaG93bigpOwotICAgIH0KLQotICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICB0aGlz
Ll9kYXRhR3JpZC5oaWRkZW4oKTsKLQotICAgICAgICBzdXBlci5oaWRkZW4oKTsKLSAgICB9Ci0K
ICAgICBjbG9zZWQoKQogICAgIHsKICAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1v
dmVFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lLkV2ZW50LlJlY29yZEFkZGVkLCB0aGlzLl9uZXR3
b3JrVGltZWxpbmVSZWNvcmRBZGRlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGltZWxpbmVW
aWV3LmpzCmluZGV4IGIxZGZjMGI2NWJjMzVlZjQyMjM5MmJjNTg1NWIxZDYwOGEwNmQ3ZjIuLjVj
YTY1MDg3Njc4YWNiOTdmZjk2NzQ5Yzk3NDI0ZTliNzM0ZjQyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGltZWxpbmVWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2
aWV3VGltZWxpbmVWaWV3LmpzCkBAIC05NywxMSArOTcsMTEgQEAgV0kuT3ZlcnZpZXdUaW1lbGlu
ZVZpZXcgPSBjbGFzcyBPdmVydmlld1RpbWVsaW5lVmlldyBleHRlbmRzIFdJLlRpbWVsaW5lVmll
dwogICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnNlY29uZHNQZXJQaXhlbCA9IHg7CiAgICAg
fQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNo
b3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKLSAgICAgICAgdGhpcy5fdGltZWxp
bmVSdWxlci51cGRhdGVMYXlvdXQoV0kuVmlldy5MYXlvdXRSZWFzb24uUmVzaXplKTsKKyAgICAg
ICAgdGhpcy5fdGltZWxpbmVSdWxlci5uZWVkc0xheW91dChXSS5WaWV3LkxheW91dFJlYXNvbi5S
ZXNpemUpOwogICAgIH0KIAogICAgIGNsb3NlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZWNvcmRpbmdDb250ZW50Vmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlY29yZGluZ0NvbnRlbnRW
aWV3LmpzCmluZGV4IDVhZWMxODUxM2NmZDgxOGUzNDMyNjIxOTU4ZDM0YTRlN2ZhM2FhYTQuLmFi
ZTQ4ODZjZGU1OTQ1N2E1NzBmYWQ5MTFhMWJkYjM2Y2YwYjU3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlY29yZGluZ0NvbnRlbnRWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlY29y
ZGluZ0NvbnRlbnRWaWV3LmpzCkBAIC0xMTksOSArMTE5LDkgQEAgV0kuUmVjb3JkaW5nQ29udGVu
dFZpZXcgPSBjbGFzcyBSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3
CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkNvbnRlbnRWaWV3LkV2
ZW50LlN1cHBsZW1lbnRhbFJlcHJlc2VudGVkT2JqZWN0c0RpZENoYW5nZSk7CiAgICAgfQogCi0g
ICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7
CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgbGV0IGlzQ2FudmFzMkQgPSB0
aGlzLnJlcHJlc2VudGVkT2JqZWN0LnR5cGUgPT09IFdJLlJlY29yZGluZy5UeXBlLkNhbnZhczJE
OwogICAgICAgICBsZXQgaXNDYW52YXNCaXRtYXBSZW5kZXJlciA9IHRoaXMucmVwcmVzZW50ZWRP
YmplY3QudHlwZSA9PT0gV0kuUmVjb3JkaW5nLlR5cGUuQ2FudmFzQml0bWFwUmVuZGVyZXI7CkBA
IC0xMzQsMTEgKzEzNCwxMSBAQCBXSS5SZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFJlY29y
ZGluZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgfQogICAgIH0K
IAotICAgIGhpZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuaGlk
ZGVuKCk7Ci0KICAgICAgICAgdGhpcy5fZ2VuZXJhdGVDb250ZW50VGhyb3R0bGVyLmNhbmNlbCgp
OworCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAgfQogCiAgICAgLy8gUHJvdGVjdGVk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9S
ZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dy
YXBoLmpzCmluZGV4IDgyODVjYjdiZjdmNGM4NzBlMmMwZTIzMTI3ZGZkY2JjM2E0YTcyMjMuLmI3
MTU2MGMzMDM0YzcwMjI2NmIzN2IwNDVhZWM2NTVmN2U1MTYzNmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxp
bmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC0xMDIs
NyArMTAyLDkgQEAgV0kuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFz
cyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmEKIAogICAgIGxheW91dCgpCiAgICAg
ewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIubGF5b3V0KCk7CisK
KyAgICAgICAgaWYgKHRoaXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IGlmICghdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZS5yZWNvcmRzLmxlbmd0aCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanMKaW5kZXggY2JjMDBiMDYyYTJi
YmE4ZmNjYWNmZWJhN2M0N2NjMjcwZjViNmM2Ny4uMzA3OGQ4NTg4ZTlkZTRlMWFjNTM1ZDc1OTkx
NjBjOWRjYmZjZTE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZp
ZXcuanMKQEAgLTExNSwyMCArMTE1LDYgQEAgV0kuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcg
PSBjbGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldyBleHRlbmRzIFdJLlRpbWUKIAogICAg
IGdldCBzaG93c0xpdmVSZWNvcmRpbmdEYXRhKCkgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHNo
b3duKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7Ci0KLSAgICAgICAgdGhpcy5fZGF0
YUdyaWQuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgdGhp
cy5fZGF0YUdyaWQuaGlkZGVuKCk7Ci0KLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0gICAgfQot
CiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QucmVt
b3ZlRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwgdGhpcy5fcmVu
ZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZEFkZGVkLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ2x1c3RlckNvbnRl
bnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVz
b3VyY2VDbHVzdGVyQ29udGVudFZpZXcuanMKaW5kZXggYjdmYTJhMTdmN2VmYWE5YjE3OGRlZDlj
ZThjMzIyMDVlNmU5OWIwMC4uNzk5MDA1ZjU4MmRmNzVjMWNmMWMzZWVjZmI2ZDE2ZTYyNTE2M2Vj
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
UmVzb3VyY2VDbHVzdGVyQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDbHVzdGVyQ29udGVudFZpZXcuanMKQEAgLTc3
LDkgKzc3LDkgQEAgV0kuUmVzb3VyY2VDbHVzdGVyQ29udGVudFZpZXcgPSBjbGFzcyBSZXNvdXJj
ZUNsdXN0ZXJDb250ZW50VmlldyBleHRlbmRzIFdJLkNsdXMKICAgICAgICAgcmV0dXJuIGNvbXBv
bmVudHMuY29uY2F0KGN1cnJlbnRDb250ZW50Vmlldy5zZWxlY3Rpb25QYXRoQ29tcG9uZW50cyk7
CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1
cGVyLnNob3duKCk7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgaWYgKHRo
aXMuX3Nob3duSW5pdGlhbENvbnRlbnQpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUhlYWRl
cnNDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1Jlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3LmpzCmluZGV4IDE2MjJjYzFmOTVjYjcwM2Rj
ZmFhYmQzMjRmMmY0MjJmZGZkZTI0ZDQuLmNjMWJkNDUwYTdiMDRlYzg5MmFkMTExZGY5MDRlOTZi
NDkzNWI0NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1Jlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3Lmpz
CkBAIC0xMjIsMTIgKzEyMiwxMiBAQCBXSS5SZXNvdXJjZUhlYWRlcnNDb250ZW50VmlldyA9IGNs
YXNzIFJlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udAogICAgICAgICB9
CiAgICAgfQogCi0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewotICAgICAgICBz
dXBlci5oaWRkZW4oKTsKLQogICAgICAgICBpZiAodGhpcy5fcG9wb3ZlcikKICAgICAgICAgICAg
IHRoaXMuX3BvcG92ZXIuZGlzbWlzcygpOworCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAg
ICAgfQogCiAgICAgY2xvc2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdENvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0Q29udGVudFZpZXcuanMKaW5kZXggYjdm
NjEzOGI5NmE3ZGI1YzIxYjFmNjA2NTYzOTM2ZjE1ODA4ZjI1Yy4uZWExYTI0M2U2NGQwYjU1ZmVl
Zjk1YjRhMzMxZmFmYTA0YTVmOWM0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0Q29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0Q29udGVudFZpZXcuanMKQEAg
LTExNCwyMCArMTE0LDYgQEAgV0kuU2NyaXB0Q29udGVudFZpZXcgPSBjbGFzcyBTY3JpcHRDb250
ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuX3RleHRFZGl0b3Iu
cmV2ZWFsUG9zaXRpb24ocG9zaXRpb24sIHRleHRSYW5nZVRvU2VsZWN0LCBmb3JjZVVuZm9ybWF0
dGVkKTsKICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigp
OwotCi0gICAgICAgIHRoaXMuX3RleHRFZGl0b3Iuc2hvd24oKTsKLSAgICB9Ci0KLSAgICBoaWRk
ZW4oKQotICAgIHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgdGhpcy5fdGV4
dEVkaXRvci5oaWRkZW4oKTsKLSAgICB9Ci0KICAgICBjbG9zZWQoKQogICAgIHsKICAgICAgICAg
c3VwZXIuY2xvc2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5q
cwppbmRleCA1NjRkNWNmNTBkOTA0MTdiZGJlOTc0Yjg1ZmQ3NGU3OTZmNTEyYjBiLi5mZGE3NDMx
MTVhNDcxYmNmY2Y4OGE2ZWZjYWFlY2IyYjRkMmFkZmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Njcmlw
dERldGFpbHNUaW1lbGluZVZpZXcuanMKQEAgLTkwLDIwICs5MCw2IEBAIFdJLlNjcmlwdERldGFp
bHNUaW1lbGluZVZpZXcgPSBjbGFzcyBTY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3IGV4dGVuZHMg
V0kuVGltZWxpCiAKICAgICBnZXQgc2hvd3NMaXZlUmVjb3JkaW5nRGF0YSgpIHsgcmV0dXJuIGZh
bHNlOyB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0g
ICAgICAgIHRoaXMuX2RhdGFHcmlkLnNob3duKCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAg
ICB7Ci0gICAgICAgIHRoaXMuX2RhdGFHcmlkLmhpZGRlbigpOwotCi0gICAgICAgIHN1cGVyLmhp
ZGRlbigpOwotICAgIH0KLQogICAgIGNsb3NlZCgpCiAgICAgewogICAgICAgICB0aGlzLnJlcHJl
c2VudGVkT2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmUuRXZlbnQuUmVjb3Jk
QWRkZWQsIHRoaXMuX3NjcmlwdFRpbWVsaW5lUmVjb3JkQWRkZWQsIHRoaXMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxp
bmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IDhlMzhlYmY4YWY5YTNi
MjBkNmM0ODQwY2M2MTFkYzE3YTBmMzY1N2UuLjJjNDJiMzZmN2YxZDBlNDNhYTg4MmNhNzc2NmE4
Yzk0Yjc4YjM5NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3Jh
cGguanMKQEAgLTUyLDcgKzUyLDkgQEAgV0kuU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoID0g
Y2xhc3MgU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV0kuVGkKIAogICAgIGxh
eW91dCgpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKKyAgICAgICAgc3VwZXIu
bGF5b3V0KCk7CisKKyAgICAgICAgaWYgKHRoaXMuaGlkZGVuKQogICAgICAgICAgICAgcmV0dXJu
OwogCiAgICAgICAgIGxldCBzZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLnRpbWVsaW5lT3ZlcnZpZXcu
c2Vjb25kc1BlclBpeGVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU2VhcmNoVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hUYWJDb250ZW50Vmlldy5qcwppbmRleCBj
MmFmMTVhOTcxZmRkNTdhODY2YWE5MTk4NTgxMzc3ZGRkNWUzMDNkLi5jNTI4YWI4ZDM2ODRlMGM0
N2JjOTY0NmRjNDkxMjFjYjZjNTFhYTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hUYWJDb250ZW50Vmll
dy5qcwpAQCAtNzIsOSArNzIsOSBAQCBXSS5TZWFyY2hUYWJDb250ZW50VmlldyA9IGNsYXNzIFNl
YXJjaFRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzZXJUYQogICAgICAgICBy
ZXR1cm4gV0kuU2VhcmNoVGFiQ29udGVudFZpZXcuVHlwZTsKICAgICB9CiAKLSAgICBzaG93bigp
CisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAg
c3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICAvLyBQZXJmb3JtIG9uIGEgZGVsYXkgYmVjYXVz
ZSB0aGUgZmllbGQgbWlnaHQgbm90IGJlIHZpc2libGUgeWV0LgogICAgICAgICBzZXRUaW1lb3V0
KHRoaXMuZm9jdXNTZWFyY2hGaWVsZC5iaW5kKHRoaXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NoYWRlclByb2dyYW1Db250ZW50Vmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NoYWRlclBy
b2dyYW1Db250ZW50Vmlldy5qcwppbmRleCA1MWVmNjExNTUzMjBjZDllMjA5NGJmNTM3MWM1YjNl
NDJiOGZjZjhjLi5lMjJhNGRiZjg5ZTY5NjZkMTNiMWI1N2E1ODkwZGZlYmI3ZjdjMzUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaGFkZXJQ
cm9ncmFtQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU2hhZGVyUHJvZ3JhbUNvbnRlbnRWaWV3LmpzCkBAIC0xMTgsNDIgKzExOCwx
MyBAQCBXSS5TaGFkZXJQcm9ncmFtQ29udGVudFZpZXcgPSBjbGFzcyBTaGFkZXJQcm9ncmFtQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VgogCiAgICAgLy8gUHJvdGVjdGVkCiAKLSAgICBz
aG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQot
ICAgICAgICBzd2l0Y2ggKHRoaXMucmVwcmVzZW50ZWRPYmplY3QucHJvZ3JhbVR5cGUpIHsKLSAg
ICAgICAgY2FzZSBXSS5TaGFkZXJQcm9ncmFtLlByb2dyYW1UeXBlLkNvbXB1dGU6Ci0gICAgICAg
ICAgICB0aGlzLl9jb21wdXRlRWRpdG9yLnNob3duKCk7Ci0gICAgICAgICAgICBicmVhazsKLQot
ICAgICAgICBjYXNlIFdJLlNoYWRlclByb2dyYW0uUHJvZ3JhbVR5cGUuUmVuZGVyOgotICAgICAg
ICAgICAgdGhpcy5fdmVydGV4RWRpdG9yLnNob3duKCk7Ci0gICAgICAgICAgICBpZiAoIXRoaXMu
cmVwcmVzZW50ZWRPYmplY3Quc2hhcmVzVmVydGV4RnJhZ21lbnRTaGFkZXIpCi0gICAgICAgICAg
ICAgICAgdGhpcy5fZnJhZ21lbnRFZGl0b3Iuc2hvd24oKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgdGhpcy5fcmVm
cmVzaENvbnRlbnQoKTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgc3dp
dGNoICh0aGlzLnJlcHJlc2VudGVkT2JqZWN0LnByb2dyYW1UeXBlKSB7Ci0gICAgICAgIGNhc2Ug
V0kuU2hhZGVyUHJvZ3JhbS5Qcm9ncmFtVHlwZS5Db21wdXRlOgotICAgICAgICAgICAgdGhpcy5f
Y29tcHV0ZUVkaXRvci5oaWRkZW4oKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGNh
c2UgV0kuU2hhZGVyUHJvZ3JhbS5Qcm9ncmFtVHlwZS5SZW5kZXI6Ci0gICAgICAgICAgICB0aGlz
Ll92ZXJ0ZXhFZGl0b3IuaGlkZGVuKCk7Ci0gICAgICAgICAgICBpZiAoIXRoaXMucmVwcmVzZW50
ZWRPYmplY3Quc2hhcmVzVmVydGV4RnJhZ21lbnRTaGFkZXIpCi0gICAgICAgICAgICAgICAgdGhp
cy5fZnJhZ21lbnRFZGl0b3IuaGlkZGVuKCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotICAgIH0KLQogICAgIGdldCBzdXBwb3J0c1Nh
dmUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhci5qcwppbmRleCA3ZmZhOWIwZTA2
ZTkwODMwYWU1NDQ0MmZlMmRiNmE1Mjg1MDlmNmJkLi43ZGE0OGQ0ZDZkNDY4MzcwMTRlZjk5ZWYz
OGFhZjdiYWRkN2UzY2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TaWRlYmFyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NpZGViYXIuanMKQEAgLTEyNiwxNCArMTI2LDcgQEAgV0kuU2lkZWJh
ciA9IGNsYXNzIFNpZGViYXIgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIHRoaXMuX2NvbGxhcHNl
ZCA9IGZsYWcgfHwgZmFsc2U7CiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xl
KFdJLlNpZGViYXIuQ29sbGFwc2VkU3R5bGVDbGFzc05hbWUpOwogCi0gICAgICAgIGlmICh0aGlz
Ll9zZWxlY3RlZFNpZGViYXJQYW5lbCkgewotICAgICAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVk
U2lkZWJhclBhbmVsLnZpc2libGUpCi0gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRTaWRl
YmFyUGFuZWwuc2hvd24oKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0aGlz
Ll9zZWxlY3RlZFNpZGViYXJQYW5lbC5oaWRkZW4oKTsKLSAgICAgICAgfQotCi0gICAgICAgIHRo
aXMuZGlkU2V0Q29sbGFwc2VkKGZsYWcpOworICAgICAgICB0aGlzLmRpZFNldENvbGxhcHNlZCgp
OwogCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlNpZGViYXIuRXZl
bnQuQ29sbGFwc2VkU3RhdGVEaWRDaGFuZ2UpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcwppbmRl
eCA2NjQ3Mjk4NGE0NDdkZDA2YTYzZTNmZTM3NTU5Yzc0ODliZGU0NzYzLi40ODVkMTNiNjM3OTM4
N2U5NDM4ODc5ZDQ4N2Y3OTMxNTY4YzE4ZDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhclBhbmVsLmpzCkBAIC0xMTQs
MjEgKzExNCwxOCBAQCBXSS5TaWRlYmFyUGFuZWwgPSBjbGFzcyBTaWRlYmFyUGFuZWwgZXh0ZW5k
cyBXSS5WaWV3CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBzaG93bigpCisg
ICAgYXR0YWNoZWQoKQogICAgIHsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKKwogICAgICAg
ICB0aGlzLnNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5fc2F2ZWRTY3JvbGxQb3NpdGlv
bjsKLQotICAgICAgICAvLyBGSVhNRTogcmVtb3ZlIG9uY2UgPGh0dHBzOi8vd2Via2l0Lm9yZy9i
LzE1MDc0MT4gaXMgZml4ZWQuCi0gICAgICAgIHRoaXMudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsK
LQotICAgICAgICAvLyBJbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLgogICAgIH0KIAotICAgIGhp
ZGRlbigpCisgICAgZGV0YWNoZWQoKQogICAgIHsKICAgICAgICAgdGhpcy5fc2F2ZWRTY3JvbGxQ
b3NpdGlvbiA9IHRoaXMuc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3A7CiAKLSAgICAgICAgLy8gSW1w
bGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9
CiAKICAgICAvLyBQcm90ZWN0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NpbmdsZVNpZGViYXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TaW5nbGVTaWRlYmFyLmpzCmluZGV4IGMyN2M2N2ExMTE0
MjgyZWY4MDc4N2JlOGMxNWQ2MmEzN2FkNzYwN2EuLjliNjAyZGRjNTNlMDhhMmE4MGNkYTdiOWIz
Y2M5NzEzMzBmMmFiNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1NpbmdsZVNpZGViYXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU2luZ2xlU2lkZWJhci5qcwpAQCAtMTAwLDIwICsxMDAsMTYg
QEAgV0kuU2luZ2xlU2lkZWJhciA9IGNsYXNzIFNpbmdsZVNpZGViYXIgZXh0ZW5kcyBXSS5TaWRl
YmFyCiAgICAgd2lsbFNldFNlbGVjdGVkU2lkZWJhclBhbmVsKHNpZGViYXJQYW5lbCkKICAgICB7
CiAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsKSB7Ci0gICAgICAgICAgICB0
aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsLmhpZGRlbigpOwotICAgICAgICAgICAgdGhpcy5zZWxl
Y3RlZFNpZGViYXJQYW5lbC5zZWxlY3RlZCA9IGZhbHNlOwogICAgICAgICAgICAgdGhpcy5yZW1v
dmVTdWJ2aWV3KHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpOworICAgICAgICAgICAgdGhpcy5z
ZWxlY3RlZFNpZGViYXJQYW5lbC5zZWxlY3RlZCA9IGZhbHNlOwogICAgICAgICB9CiAgICAgfQog
CiAgICAgZGlkU2V0U2VsZWN0ZWRTaWRlYmFyUGFuZWwoc2lkZWJhclBhbmVsKQogICAgIHsKICAg
ICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwpIHsKLSAgICAgICAgICAgIHRoaXMu
YWRkU3Vidmlldyh0aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsKTsKICAgICAgICAgICAgIHRoaXMu
c2VsZWN0ZWRTaWRlYmFyUGFuZWwuc2VsZWN0ZWQgPSB0cnVlOwotICAgICAgICAgICAgaWYgKCF0
aGlzLmNvbGxhcHNlZCkgewotICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFu
ZWwuc2hvd24oKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0
aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICh0aGlz
Ll9uYXZpZ2F0aW9uQmFyKQpAQCAtMTIyLDYgKzExOCwxNiBAQCBXSS5TaW5nbGVTaWRlYmFyID0g
Y2xhc3MgU2luZ2xlU2lkZWJhciBleHRlbmRzIFdJLlNpZGViYXIKIAogICAgIGRpZFNldENvbGxh
cHNlZChmbGFnKQogICAgIHsKKyAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTaWRlYmFyUGFuZWwp
IHsKKyAgICAgICAgICAgIGlmICh0aGlzLmNvbGxhcHNlZCkgeworICAgICAgICAgICAgICAgIGlm
ICh0aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsLmlzQXR0YWNoZWQpCisgICAgICAgICAgICAgICAg
ICAgIHRoaXMucmVtb3ZlU3Vidmlldyh0aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsKTsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkU2lkZWJh
clBhbmVsLmlzQXR0YWNoZWQpCisgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0
aGlzLnNlbGVjdGVkU2lkZWJhclBhbmVsKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAg
ICAgICAgIGlmICghZmxhZyAmJiB0aGlzLl9uYXZpZ2F0aW9uQmFyKQogICAgICAgICAgICAgdGhp
cy5fbmF2aWdhdGlvbkJhci5uZWVkc0xheW91dCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9y
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29k
ZVRleHRFZGl0b3IuanMKaW5kZXggOWFhYmIzZWI3OGU0YTAyODI0OTViM2UwNTAxMDVlNGYyZTYz
Yzk2Ny4uNWVhOTYzMzY0NzY3ZmNhZDVjNDdlMmVhMjc3YmQ3OWVmMTQ3YWQwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRl
eHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMKQEAgLTEyNCw5ICsxMjQsOSBAQCBXSS5Tb3VyY2VD
b2RlVGV4dEVkaXRvciA9IGNsYXNzIFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVGV4
dEVkaXRvcgogICAgICAgICByZXR1cm4gV0kubWFpblRhcmdldDsKICAgICB9CiAKLSAgICBzaG93
bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKKyAgICAg
ICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICBpZiAoV0kuc2V0dGluZ3Muc2hvd0phdmFT
Y3JpcHRUeXBlSW5mb3JtYXRpb24udmFsdWUpIHsKICAgICAgICAgICAgIGlmICh0aGlzLl90eXBl
VG9rZW5Bbm5vdGF0b3IpCkBAIC0xNDksMTAgKzE0OSw4IEBAIFdJLlNvdXJjZUNvZGVUZXh0RWRp
dG9yID0gY2xhc3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5kcyBXSS5UZXh0RWRpdG9yCiAg
ICAgICAgIH0KICAgICB9CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVkKCkKICAgICB7Ci0g
ICAgICAgIHN1cGVyLmhpZGRlbigpOwotCiAgICAgICAgIHRoaXMudG9rZW5UcmFja2luZ0NvbnRy
b2xsZXIucmVtb3ZlSGlnaGxpZ2h0ZWRSYW5nZSgpOwogCiAgICAgICAgIHRoaXMuX2Rpc21pc3NQ
b3BvdmVyKCk7CkBAIC0xNjMsNiArMTYxLDggQEAgV0kuU291cmNlQ29kZVRleHRFZGl0b3IgPSBj
bGFzcyBTb3VyY2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdJLlRleHRFZGl0b3IKICAgICAgICAg
ICAgIHRoaXMuX3R5cGVUb2tlbkFubm90YXRvci5wYXVzZSgpOwogICAgICAgICBpZiAodGhpcy5f
YmFzaWNCbG9ja0Fubm90YXRvcikKICAgICAgICAgICAgIHRoaXMuX2Jhc2ljQmxvY2tBbm5vdGF0
b3IucGF1c2UoKTsKKworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIGNs
b3NlKCkKQEAgLTIxNDIsNyArMjE0Miw3IEBAIFdJLlNvdXJjZUNvZGVUZXh0RWRpdG9yID0gY2xh
c3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5kcyBXSS5UZXh0RWRpdG9yCiAgICAgICAgICAg
ICByZXR1cm47CiAKICAgICAgICAgaWYgKHNob3VsZEFjdGl2YXRlKSB7Ci0gICAgICAgICAgICBj
b25zb2xlLmFzc2VydCh0aGlzLnZpc2libGUsICJBbm5vdGF0b3JzIHNob3VsZCBub3QgYmUgZW5h
YmxlZCBpZiB0aGUgVGV4dEVkaXRvciBpcyBub3QgdmlzaWJsZSIpOworICAgICAgICAgICAgY29u
c29sZS5hc3NlcnQodGhpcy5pc0F0dGFjaGVkLCAiQW5ub3RhdG9ycyBzaG91bGQgbm90IGJlIGVu
YWJsZWQgaWYgdGhlIFRleHRFZGl0b3IgaXMgbm90IHZpc2libGUiKTsKIAogICAgICAgICAgICAg
dGhpcy5fdHlwZVRva2VuQW5ub3RhdG9yLnJlc2V0KCk7CiAKQEAgLTIxNjYsNyArMjE2Niw3IEBA
IFdJLlNvdXJjZUNvZGVUZXh0RWRpdG9yID0gY2xhc3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0
ZW5kcyBXSS5UZXh0RWRpdG9yCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKHNo
b3VsZEFjdGl2YXRlKSB7Ci0gICAgICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLnZpc2libGUs
ICJBbm5vdGF0b3JzIHNob3VsZCBub3QgYmUgZW5hYmxlZCBpZiB0aGUgVGV4dEVkaXRvciBpcyBu
b3QgdmlzaWJsZSIpOworICAgICAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0F0dGFjaGVk
LCAiQW5ub3RhdG9ycyBzaG91bGQgbm90IGJlIGVuYWJsZWQgaWYgdGhlIFRleHRFZGl0b3IgaXMg
bm90IHZpc2libGUiKTsKIAogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMuX2Jhc2lj
QmxvY2tBbm5vdGF0b3IuaXNBY3RpdmUoKSk7CiAgICAgICAgICAgICB0aGlzLl9iYXNpY0Jsb2Nr
QW5ub3RhdG9yLnJlc2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25FZGl0b3IuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENT
U1N0eWxlRGVjbGFyYXRpb25FZGl0b3IuanMKaW5kZXggZjNlODU0OWFmMjQxMWY5NjYzOWU4MjIx
ZjQ5YTU5YTg1Y2I1MjBkOC4uNjViYTM1MjVhNGE4ZDQ2NmZkYjIwYWYzNjgwY2YyN2I5N2FjYzY4
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uRWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJh
dGlvbkVkaXRvci5qcwpAQCAtMTI3LDEyICsxMjcsOCBAQCBXSS5TcHJlYWRzaGVldENTU1N0eWxl
RGVjbGFyYXRpb25FZGl0b3IgPSBjbGFzcyBTcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25F
ZAogCiAgICAgICAgIGZvciAobGV0IHByb3BlcnR5VmlldyBvZiB0aGlzLl9wcm9wZXJ0eVZpZXdz
KQogICAgICAgICAgICAgcHJvcGVydHlWaWV3LmRldGFjaGVkKCk7Ci0gICAgfQogCi0gICAgaGlk
ZGVuKCkKLSAgICB7Ci0gICAgICAgIGZvciAobGV0IHByb3BlcnR5VmlldyBvZiB0aGlzLl9wcm9w
ZXJ0eVZpZXdzKQotICAgICAgICAgICAgcHJvcGVydHlWaWV3LmhpZGRlbigpOworICAgICAgICBz
dXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIGdldCBzdHlsZSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0
eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcwppbmRl
eCA3MDg2Nzg1ZDVjZDZmNTA0NjAwNmFkOGM0NWUwZTFlNGRhNDUxN2IwLi4zYzQxMGY3MzJlNWM3
NjQ2YTZkZTE4ZmI3ZmE2NWRiN2MyYzUwYjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25T
ZWN0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKQEAgLTE4NywxMSArMTg3
LDYgQEAgV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIFNw
cmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblMKICAgICAgICAgICAgIHRoaXMuc3RhcnRFZGl0
aW5nUnVsZVNlbGVjdG9yKCk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAg
IHRoaXMuX3Byb3BlcnRpZXNFZGl0b3IuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgc3RhcnRFZGl0
aW5nUnVsZVNlbGVjdG9yKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fc2VsZWN0b3JFbGVt
ZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TcHJlYWRzaGVldFJ1bGVzU3R5bGVEZXRhaWxzUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldFJ1bGVzU3R5bGVEZXRhaWxz
UGFuZWwuanMKaW5kZXggMTlhZmQ3YWUzZGY3MzhiYWEzYWE4NTgzZTMyYzdiZTZlY2U4NTU1NS4u
MmU0MDc4MjE4MzdhMTg2ZjhmOTMyYzk3NjFmNjNjODEyMGQ1ODcxYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRSdWxlc1N0
eWxlRGV0YWlsc1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NwcmVhZHNoZWV0UnVsZXNTdHlsZURldGFpbHNQYW5lbC5qcwpAQCAtNjYsMTQg
KzY2LDYgQEAgV0kuU3ByZWFkc2hlZXRSdWxlc1N0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3By
ZWFkc2hlZXRSdWxlc1N0eWxlRGV0YWlsc1BhbmVsIGUKICAgICAgICAgc3VwZXIucmVmcmVzaChz
aWduaWZpY2FudENoYW5nZSk7CiAgICAgfQogCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAg
IGZvciAobGV0IHNlY3Rpb24gb2YgdGhpcy5fc2VjdGlvbnMpCi0gICAgICAgICAgICBzZWN0aW9u
LmhpZGRlbigpOwotCi0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotICAgIH0KLQogICAgIHNjcm9s
bFRvU2VjdGlvbkFuZEhpZ2hsaWdodFByb3BlcnR5KHByb3BlcnR5KQogICAgIHsKICAgICAgICAg
aWYgKCF0aGlzLl92aXNpYmxlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldFN0eWxlUHJvcGVydHkuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldFN0eWxlUHJvcGVy
dHkuanMKaW5kZXggMzljOGVlNjYyOGZlMDliNmIyZTk0NWIyZTNiY2VlNzQyMTQ3MTJlZi4uY2U0
OTUzNjg3ZDZiMjA5ZmY2YjJhZGJlM2ZhYmU4MTVkOTQ2NWE5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRTdHlsZVByb3Bl
cnR5LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nw
cmVhZHNoZWV0U3R5bGVQcm9wZXJ0eS5qcwpAQCAtMTIxLDYgKzEyMSwxMSBAQCBXSS5TcHJlYWRz
aGVldFN0eWxlUHJvcGVydHkgPSBjbGFzcyBTcHJlYWRzaGVldFN0eWxlUHJvcGVydHkgZXh0ZW5k
cyBXSS5PYmplY3QKIAogICAgIGRldGFjaGVkKCkKICAgICB7CisgICAgICAgIGlmICh0aGlzLl9u
YW1lVGV4dEZpZWxkPy5lZGl0aW5nKQorICAgICAgICAgICAgdGhpcy5fbmFtZVRleHRGaWVsZC5l
bGVtZW50LmJsdXIoKTsKKyAgICAgICAgZWxzZSBpZiAodGhpcy5fdmFsdWVUZXh0RmllbGQ/LmVk
aXRpbmcpCisgICAgICAgICAgICB0aGlzLl92YWx1ZVRleHRGaWVsZC5lbGVtZW50LmJsdXIoKTsK
KwogICAgICAgICBpZiAodGhpcy5fbmFtZVRleHRGaWVsZCkKICAgICAgICAgICAgIHRoaXMuX25h
bWVUZXh0RmllbGQuZGV0YWNoZWQoKTsKIApAQCAtMTI4LDE0ICsxMzMsNiBAQCBXSS5TcHJlYWRz
aGVldFN0eWxlUHJvcGVydHkgPSBjbGFzcyBTcHJlYWRzaGVldFN0eWxlUHJvcGVydHkgZXh0ZW5k
cyBXSS5PYmplY3QKICAgICAgICAgICAgIHRoaXMuX3ZhbHVlVGV4dEZpZWxkLmRldGFjaGVkKCk7
CiAgICAgfQogCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9uYW1lVGV4
dEZpZWxkICYmIHRoaXMuX25hbWVUZXh0RmllbGQuZWRpdGluZykKLSAgICAgICAgICAgIHRoaXMu
X25hbWVUZXh0RmllbGQuZWxlbWVudC5ibHVyKCk7Ci0gICAgICAgIGVsc2UgaWYgKHRoaXMuX3Zh
bHVlVGV4dEZpZWxkICYmIHRoaXMuX3ZhbHVlVGV4dEZpZWxkLmVkaXRpbmcpCi0gICAgICAgICAg
ICB0aGlzLl92YWx1ZVRleHRGaWVsZC5lbGVtZW50LmJsdXIoKTsKLSAgICB9Ci0KICAgICByZW1v
dmUocmVwbGFjZW1lbnQgPSBudWxsKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX2RlbGVnYXRl
ICYmIHR5cGVvZiB0aGlzLl9kZWxlZ2F0ZS5zcHJlYWRzaGVldFN0eWxlUHJvcGVydHlXaWxsUmVt
b3ZlID09PSAiZnVuY3Rpb24iKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU3R5bGVEZXRhaWxzUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcwppbmRleCBhYjZk
M2Y1MjI2YzVhOTU2MjY5NzkwYWI1YWZlY2JiNzVkYzU1Zjk2Li5mZDZhYTg2ODNhYmY5OTlmNDkx
MTBkZGVhY2Y1OGEyYTBhMTk1ZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcwpAQCAt
MzYsNyArMzYsNiBAQCBXSS5TdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFN0eWxlRGV0YWlsc1Bh
bmVsIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uSW5mbyA9IHtpZGVu
dGlmaWVyLCBsYWJlbH07CiAKICAgICAgICAgdGhpcy5fbm9kZVN0eWxlcyA9IG51bGw7Ci0gICAg
ICAgIHRoaXMuX3Zpc2libGUgPSBmYWxzZTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKQEAgLTU3
LDI0ICs1NiwxMSBAQCBXSS5TdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFN0eWxlRGV0YWlsc1Bh
bmVsIGV4dGVuZHMgV0kuVmlldwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAg
c2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl92aXNpYmxl
KQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX3Zpc2libGUgPSB0cnVlOwor
ICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIHRoaXMuX3JlZnJlc2hOb2RlU3R5
bGVzKCk7Ci0KLSAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBvbmNlIDxodHRwczovL3dlYmtpdC5v
cmcvYi8xNTA3NDE+IGlzIGZpeGVkLgotICAgICAgICB0aGlzLnVwZGF0ZUxheW91dElmTmVlZGVk
KCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Zpc2libGUg
PSBmYWxzZTsKLQotICAgICAgICB0aGlzLmNhbmNlbExheW91dCgpOwogICAgIH0KIAogICAgIG1h
cmtBc05lZWRzUmVmcmVzaChkb21Ob2RlKQpAQCAtMTAzLDcgKzg5LDcgQEAgV0kuU3R5bGVEZXRh
aWxzUGFuZWwgPSBjbGFzcyBTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdJLlZpZXcKICAgICAg
ICAgICAgIHRoaXMuX2ZvcmNlU2lnbmlmaWNhbnRDaGFuZ2UgPSB0cnVlOwogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICh0aGlzLmlzQXR0YWNoZWQp
CiAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoTm9kZVN0eWxlcygpOwogICAgIH0KIApAQCAtMTE2
LDcgKzEwMiw3IEBAIFdJLlN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxzUGFu
ZWwgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICBub2RlU3R5bGVzUmVmcmVzaGVkKGV2ZW50KQogICAg
IHsKLSAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICh0aGlzLmlzQXR0YWNo
ZWQpCiAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoUHJlc2VydmluZ1Njcm9sbFBvc2l0aW9uKGV2
ZW50LmRhdGEuc2lnbmlmaWNhbnRDaGFuZ2UpOwogICAgIH0KIApAQCAtMTYzLDcgKzE0OSw3IEBA
IFdJLlN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBX
SS5WaWV3CiAKICAgICBfbm9kZVN0eWxlc05lZWRzUmVmcmVzaGVkKGV2ZW50KQogICAgIHsKLSAg
ICAgICAgaWYgKHRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICh0aGlzLmlzQXR0YWNoZWQpCiAg
ICAgICAgICAgICB0aGlzLl9yZWZyZXNoTm9kZVN0eWxlcygpOwogICAgIH0KIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJDb250ZW50
Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkNv
bnRlbnRWaWV3LmpzCmluZGV4IDdkNjY3NTAwMmZiNDMzNGFmOWY0OWRlZjlkMTIwNjI0ODQ2MWE1
MDcuLmZkMzIwODM0ZTRiMTdmNjAyMWYzNTU0MTRlMjE3ZTFmNTg5M2EzNGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkNvbnRlbnRWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkNv
bnRlbnRWaWV3LmpzCkBAIC0xMjUsOSArMTI1LDkgQEAgV0kuVGFiQ29udGVudFZpZXcgPSBjbGFz
cyBUYWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICB9CiAKLSAgICBzaG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAg
ICAgc3VwZXIuc2hvd24oKTsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKIAogICAgICAgICBp
ZiAodGhpcy5fc2hvdWxkUmVzdG9yZVN0YXRlV2hlblNob3duKQogICAgICAgICAgICAgdGhpcy5y
ZXN0b3JlU3RhdGVGcm9tQ29va2llKFdJLlN0YXRlUmVzdG9yYXRpb25UeXBlLkRlbGF5ZWQpOwpA
QCAtMTM1LDcgKzEzNSw3IEBAIFdJLlRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgVGFiQ29udGVudFZp
ZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgcmVzdG9yZVN0YXRlRnJvbUNvb2tpZShy
ZXN0b3JhdGlvblR5cGUpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkgeworICAg
ICAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkgewogICAgICAgICAgICAgdGhpcy5fc2hvdWxkUmVz
dG9yZVN0YXRlV2hlblNob3duID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGFibGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJs
ZS5qcwppbmRleCAyOGY0MzI2MjllYTRhZDg3NzUyNzUwNjE4ODI5ZjlkZDBmOTIwZDQ5Li4zOTA4
NmYyZjUzMDdkMGNjOGZkYzRlOGYwYzQzYTZjMjc5OWQ5MGY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5qcwpAQCAtNTc1LDE0ICs1
NzUsMTYgQEAgV0kuVGFibGUgPSBjbGFzcyBUYWJsZSBleHRlbmRzIFdJLlZpZXcKICAgICAgICAg
fQogICAgIH0KIAotICAgIHJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCisgICAgLy8gUHJvdGVjdGVk
CisKKyAgICBhdHRhY2hlZCgpCiAgICAgeworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOworCiAg
ICAgICAgIGlmICh0aGlzLl9jYWNoZWRTY3JvbGxUb3AgJiYgIXRoaXMuX3Njcm9sbENvbnRhaW5l
ckVsZW1lbnQuc2Nyb2xsVG9wKQogICAgICAgICAgICAgdGhpcy5fc2Nyb2xsQ29udGFpbmVyRWxl
bWVudC5zY3JvbGxUb3AgPSB0aGlzLl9jYWNoZWRTY3JvbGxUb3A7CiAgICAgfQogCi0gICAgLy8g
UHJvdGVjdGVkCi0KICAgICBpbml0aWFsTGF5b3V0KCkKICAgICB7CiAgICAgICAgIHRoaXMuc29y
dE9yZGVyID0gdGhpcy5fc29ydE9yZGVyU2V0dGluZy52YWx1ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRDb250ZW50Vmlldy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRDb250ZW50Vmll
dy5qcwppbmRleCA0ZDE2NWQyZmI2MWIzNTI0ZGIxNDlmMTgxYjM3YzUxMjNiNTM2YzRmLi4yNDY3
MTBlNTFjNTQyZjhjMjEwN2I0YTQ5MzkwODAyNzA1NDg0NWFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0Q29udGVudFZpZXcuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dENvbnRlbnRW
aWV3LmpzCkBAIC03OCwyMCArNzgsNiBAQCBXSS5UZXh0Q29udGVudFZpZXcgPSBjbGFzcyBUZXh0
Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLl90ZXh0RWRp
dG9yLnJldmVhbFBvc2l0aW9uKHBvc2l0aW9uLCB0ZXh0UmFuZ2VUb1NlbGVjdCwgZm9yY2VVbmZv
cm1hdHRlZCk7CiAgICAgfQogCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hv
d24oKTsKLQotICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnNob3duKCk7Ci0gICAgfQotCi0gICAg
aGlkZGVuKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotCi0gICAgICAgIHRoaXMu
X3RleHRFZGl0b3IuaGlkZGVuKCk7Ci0gICAgfQotCiAgICAgZ2V0IHN1cHBvcnRzU2F2ZSgpCiAg
ICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzCmluZGV4IGY1ODc4M2FkMjc4
YWU5MTYxNGZmMWU4ZGRhYzViMTlkMzFiMmRiZDYuLjJhZWNmYjhjYTZhMWNiNmRmNzg2N2Y1ZmFm
NGNkNmU2NTNmNjg4ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcwpAQCAtNzYsMTEgKzc2LDYgQEAgV0kuVGV4
dEVkaXRvciA9IGNsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICAvLyBQdWJs
aWMKIAotICAgIGdldCB2aXNpYmxlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl92aXNp
YmxlOwotICAgIH0KLQogICAgIGdldCBzdHJpbmcoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRo
aXMuX2NvZGVNaXJyb3IuZ2V0VmFsdWUoKTsKQEAgLTQ4OCw3ICs0ODMsNyBAQCBXSS5UZXh0RWRp
dG9yID0gY2xhc3MgVGV4dEVkaXRvciBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgaWYgKCEocG9z
aXRpb24gaW5zdGFuY2VvZiBXSS5Tb3VyY2VDb2RlUG9zaXRpb24pKQogICAgICAgICAgICAgcmV0
dXJuOwogCi0gICAgICAgIGlmICghdGhpcy5fdmlzaWJsZSB8fCB0aGlzLl9pbml0aWFsU3RyaW5n
Tm90U2V0IHx8IHRoaXMuX2RlZmVyUmV2ZWFsKSB7CisgICAgICAgIGlmICghdGhpcy5pc0F0dGFj
aGVkIHx8IHRoaXMuX2luaXRpYWxTdHJpbmdOb3RTZXQgfHwgdGhpcy5fZGVmZXJSZXZlYWwpIHsK
ICAgICAgICAgICAgIC8vIElmIHdlIGNhbid0IGdldCBhIGxpbmUgaGFuZGxlIG9yIGFyZSBub3Qg
dmlzaWJsZSB0aGVuIHdlIHdhaXQgdG8gZG8gdGhlIHJldmVhbC4KICAgICAgICAgICAgIHRoaXMu
X3Bvc2l0aW9uVG9SZXZlYWwgPSBwb3NpdGlvbjsKICAgICAgICAgICAgIHRoaXMuX3RleHRSYW5n
ZVRvU2VsZWN0ID0gdGV4dFJhbmdlVG9TZWxlY3Q7CkBAIC01NTAsOSArNTQ1LDkgQEAgV0kuVGV4
dEVkaXRvciA9IGNsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIHRoaXMu
X2NvZGVNaXJyb3Iub3BlcmF0aW9uKHJldmVhbEFuZEhpZ2hsaWdodExpbmUuYmluZCh0aGlzKSk7
CiAgICAgfQogCi0gICAgc2hvd24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHRo
aXMuX3Zpc2libGUgPSB0cnVlOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAg
IC8vIFJlZnJlc2ggc2luY2Ugb3VyIHNpemUgbWlnaHQgaGF2ZSBjaGFuZ2VkLgogICAgICAgICB0
aGlzLl9jb2RlTWlycm9yLnJlZnJlc2goKTsKQEAgLTU2MywxMSArNTU4LDYgQEAgV0kuVGV4dEVk
aXRvciA9IGNsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIHRoaXMuX3Jl
dmVhbFBlbmRpbmdQb3NpdGlvbklmUG9zc2libGUoKTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQot
ICAgIHsKLSAgICAgICAgdGhpcy5fdmlzaWJsZSA9IGZhbHNlOwotICAgIH0KLQogICAgIHNldEJy
ZWFrcG9pbnRJbmZvRm9yTGluZUFuZENvbHVtbihsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGJy
ZWFrcG9pbnRJbmZvKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX2lnbm9yZVNldEJyZWFrcG9p
bnRJbmZvQ2FsbHMpCkBAIC04MDksMTMgKzc5OSw5IEBAIFdJLlRleHRFZGl0b3IgPSBjbGFzcyBU
ZXh0RWRpdG9yIGV4dGVuZHMgV0kuVmlldwogCiAgICAgbGF5b3V0KCkKICAgICB7Ci0gICAgICAg
IC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQ2MjU2PiBXZWIgSW5zcGVjdG9yOiBO
ZXN0ZWQgQ29udGVudEJyb3dzZXJzIC8gQ29udGVudFZpZXdDb250YWluZXJzIGNhdXNlIHRvbyBt
YW55IENvbnRlbnRWaWV3IHVwZGF0ZXMKLSAgICAgICAgLy8gSWRlYWxseSB3ZSB3b3VsZCBub3Qg
Z2V0IGFuIHVwZGF0ZUxheW91dCBjYWxsIGlmIHdlIGFyZSBub3QgdmlzaWJsZS4gV2Ugc2hvdWxk
IHJlc3RydWN0dXJlIENvbnRlbnRWaWV3Ci0gICAgICAgIC8vIHNob3cvaGlkZSByZXN0b3JhdGlv
biB0byByZWR1Y2UgZHVwbGljYXRlZCB3b3JrIGFuZCBzb2x2ZSB0aGlzIGluIHRoZSBwcm9jZXNz
LgorICAgICAgICBzdXBlci5sYXlvdXQoKTsKIAotICAgICAgICAvLyBGSVhNRTogdmlzaWJsZSBj
aGVjayBjYW4gYmUgcmVtb3ZlZCBvbmNlIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTA3NDE+IGlz
IGZpeGVkLgotICAgICAgICBpZiAodGhpcy5fdmlzaWJsZSkKLSAgICAgICAgICAgIHRoaXMuX2Nv
ZGVNaXJyb3IucmVmcmVzaCgpOworICAgICAgICB0aGlzLl9jb2RlTWlycm9yLnJlZnJlc2goKTsK
ICAgICB9CiAKICAgICBfZm9ybWF0KGZvcm1hdHRlZCkKQEAgLTEwOTAsNyArMTA3Niw3IEBAIFdJ
LlRleHRFZGl0b3IgPSBjbGFzcyBUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVmlldwogICAgICAgICAg
ICAgcmV0dXJuOwogCiAgICAgICAgIC8vIERvbid0IHRyeSB0byByZXZlYWwgdW5sZXNzIHdlIGFy
ZSB2aXNpYmxlLgotICAgICAgICBpZiAoIXRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICghdGhp
cy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMucmV2ZWFs
UG9zaXRpb24odGhpcy5fcG9zaXRpb25Ub1JldmVhbCwgdGhpcy5fdGV4dFJhbmdlVG9TZWxlY3Qs
IHRoaXMuX2ZvcmNlVW5mb3JtYXR0ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dFJlc291cmNlQ29udGVudFZpZXcuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0UmVzb3VyY2VDb250ZW50
Vmlldy5qcwppbmRleCA3NGQwY2UyYWY0ZDc1ZTQyZjI3NmViMTcxNDJiNTZhZGY3OGU0YzhkLi45
ZGQ4Yzg2NDhmZjIzNWQ3ZTJjNjM4OGY0YTAwNzg3ZWI1ZDk3YzhmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0UmVzb3VyY2VDb250ZW50
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
ZXh0UmVzb3VyY2VDb250ZW50Vmlldy5qcwpAQCAtMTE0LDIwICsxMTQsNiBAQCBXSS5UZXh0UmVz
b3VyY2VDb250ZW50VmlldyA9IGNsYXNzIFRleHRSZXNvdXJjZUNvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuUmVzb3VyY2VDbwogICAgICAgICB0aGlzLl90ZXh0RWRpdG9yLnJldmVhbFBvc2l0aW9uKHBv
c2l0aW9uLCB0ZXh0UmFuZ2VUb1NlbGVjdCwgZm9yY2VVbmZvcm1hdHRlZCk7CiAgICAgfQogCi0g
ICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgc3VwZXIuc2hvd24oKTsKLQotICAgICAgICB0aGlz
Ll90ZXh0RWRpdG9yLnNob3duKCk7Ci0gICAgfQotCi0gICAgaGlkZGVuKCkKLSAgICB7Ci0gICAg
ICAgIHN1cGVyLmhpZGRlbigpOwotCi0gICAgICAgIHRoaXMuX3RleHRFZGl0b3IuaGlkZGVuKCk7
Ci0gICAgfQotCiAgICAgY2xvc2VkKCkKICAgICB7CiAgICAgICAgIHN1cGVyLmNsb3NlZCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVEYXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lRGF0YUdyaWQuanMKaW5kZXggZjRjYmE0Zjc4YTAzYTNlMTRmOGFlODBjNDM3
YjFhMTg4YzEzNmNjNy4uNjU5OTBjMDJlZjAzYjRhMzRiZTJjNmJhMThkZTk4MTEwMWQ1ZDIyZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVEYXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkLmpzCkBAIC0xMDMsMTYgKzEwMywxMSBAQCBXSS5UaW1l
bGluZURhdGFHcmlkID0gY2xhc3MgVGltZWxpbmVEYXRhR3JpZCBleHRlbmRzIFdJLkRhdGFHcmlk
CiAgICAgICAgIHRoaXMuX2hpZGVQb3BvdmVyKCk7CiAgICAgfQogCi0gICAgc2hvd24oKQorICAg
IGRldGFjaGVkKCkKICAgICB7Ci0gICAgICAgIC8vIE1heSBiZSBvdmVycmlkZGVuIGJ5IHN1YmNs
YXNzZXMuIElmIHNvLCB0aGV5IHNob3VsZCBjYWxsIHRoZSBzdXBlcmNsYXNzLgotICAgIH0KLQot
ICAgIGhpZGRlbigpCi0gICAgewotICAgICAgICAvLyBNYXkgYmUgb3ZlcnJpZGRlbiBieSBzdWJj
bGFzc2VzLiBJZiBzbywgdGhleSBzaG91bGQgY2FsbCB0aGUgc3VwZXJjbGFzcy4KLQogICAgICAg
ICB0aGlzLl9oaWRlUG9wb3ZlcigpOworCisgICAgICAgIHN1cGVyLmRldGFjaGVkKCk7CiAgICAg
fQogCiAgICAgY2FsbEZyYW1lUG9wb3ZlckFuY2hvckVsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3Zl
cnZpZXcuanMKaW5kZXggMTRlNGQxOGRhZmE1NTBkMmYyOGQ5ZDk0NTQ2NmUwNGYwMDEzZjkyZC4u
OTUwNDljYzk0ZDBmOTMzMGIxOTBmN2UwZTI5MDI1NmZlZDIzNGU5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZU92ZXJ2aWV3LmpzCkBAIC0zNDYsMzcgKzM0NiwzMiBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0g
Y2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAgICB7CiAgICAgICAgIGxl
dCBoZWlnaHQgPSAwOwogICAgICAgICBmb3IgKGxldCBvdmVydmlld0dyYXBoIG9mIHRoaXMuX292
ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwLnZhbHVlcygpKSB7Ci0gICAgICAgICAgICBpZiAob3ZlcnZp
ZXdHcmFwaC52aXNpYmxlKQorICAgICAgICAgICAgaWYgKCFvdmVydmlld0dyYXBoLmhpZGRlbikK
ICAgICAgICAgICAgICAgICBoZWlnaHQgKz0gb3ZlcnZpZXdHcmFwaC5oZWlnaHQ7CiAgICAgICAg
IH0KICAgICAgICAgcmV0dXJuIGhlaWdodDsKICAgICB9CiAKLSAgICBnZXQgdmlzaWJsZSgpCisg
ICAgYXR0YWNoZWQoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7Ci0gICAg
fQotCi0gICAgc2hvd24oKQotICAgIHsKLSAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHRydWU7Cisg
ICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgZm9yIChsZXQgW3R5cGUsIG92ZXJ2
aWV3R3JhcGhdIG9mIHRoaXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwKSB7CiAgICAgICAgICAg
ICBpZiAodGhpcy5fY2FuU2hvd1RpbWVsaW5lVHlwZSh0eXBlKSkKLSAgICAgICAgICAgICAgICBv
dmVydmlld0dyYXBoLnNob3duKCk7CisgICAgICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5oaWRk
ZW4gPSBmYWxzZTsKICAgICAgICAgfQogCi0gICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KFdJLlZp
ZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSk7CisgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoV0kuVmll
dy5MYXlvdXRSZWFzb24uUmVzaXplKTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFj
aGVkKCkKICAgICB7Ci0gICAgICAgIHRoaXMuX3Zpc2libGUgPSBmYWxzZTsKLQogICAgICAgICBm
b3IgKGxldCBvdmVydmlld0dyYXBoIG9mIHRoaXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwLnZh
bHVlcygpKQotICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5oaWRkZW4oKTsKKyAgICAgICAgICAg
IG92ZXJ2aWV3R3JhcGguaGlkZGVuID0gdHJ1ZTsKIAogICAgICAgICB0aGlzLmhpZGVTY2FubmVy
KCk7CisKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICB9CiAKICAgICBjbG9zZWQoKQpA
QCAtNDEwLDcgKzQwNSw3IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92
ZXJ2aWV3IGV4dGVuZHMgV0kuVmlldwogICAgICAgICBpZiAoIW92ZXJ2aWV3R3JhcGgpCiAgICAg
ICAgICAgICByZXR1cm47CiAKLSAgICAgICAgY29uc29sZS5hc3NlcnQob3ZlcnZpZXdHcmFwaC52
aXNpYmxlLCAiUmVjb3JkIGZpbHRlcmVkIGluIGhpZGRlbiBvdmVydmlldyBncmFwaCIsIHJlY29y
ZCk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFvdmVydmlld0dyYXBoLmhpZGRlbiwgIlJlY29y
ZCBmaWx0ZXJlZCBpbiBoaWRkZW4gb3ZlcnZpZXcgZ3JhcGgiLCByZWNvcmQpOwogCiAgICAgICAg
IG92ZXJ2aWV3R3JhcGgucmVjb3JkV2FzRmlsdGVyZWQocmVjb3JkLCBmaWx0ZXJlZCk7CiAgICAg
fQpAQCAtNDIyLDcgKzQxNyw3IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGlu
ZU92ZXJ2aWV3IGV4dGVuZHMgV0kuVmlldwogICAgICAgICBpZiAoIW92ZXJ2aWV3R3JhcGgpCiAg
ICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgY29uc29sZS5hc3NlcnQob3ZlcnZpZXdHcmFw
aC52aXNpYmxlLCAiUmVjb3JkIHNlbGVjdGVkIGluIGhpZGRlbiBvdmVydmlldyBncmFwaCIsIHJl
Y29yZCk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFvdmVydmlld0dyYXBoLmhpZGRlbiwgIlJl
Y29yZCBzZWxlY3RlZCBpbiBoaWRkZW4gb3ZlcnZpZXcgZ3JhcGgiLCByZWNvcmQpOwogCiAgICAg
ICAgIG92ZXJ2aWV3R3JhcGguc2VsZWN0ZWRSZWNvcmQgPSByZWNvcmQ7CiAgICAgfQpAQCAtNDQ3
LDcgKzQ0Miw3IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3
IGV4dGVuZHMgV0kuVmlldwogICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnVwZGF0ZUxheW91
dElmTmVlZGVkKGxheW91dFJlYXNvbik7CiAKICAgICAgICAgZm9yIChsZXQgb3ZlcnZpZXdHcmFw
aCBvZiB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcC52YWx1ZXMoKSkgewotICAgICAgICAg
ICAgaWYgKG92ZXJ2aWV3R3JhcGgudmlzaWJsZSkKKyAgICAgICAgICAgIGlmICghb3ZlcnZpZXdH
cmFwaC5oaWRkZW4pCiAgICAgICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC51cGRhdGVMYXlvdXRJ
Zk5lZWRlZChsYXlvdXRSZWFzb24pOwogICAgICAgICB9CiAgICAgfQpAQCAtNTEwLDcgKzUwNSw3
IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMg
V0kuVmlldwogICAgICAgICB9CiAKICAgICAgICAgZm9yIChsZXQgb3ZlcnZpZXdHcmFwaCBvZiB0
aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcC52YWx1ZXMoKSkgewotICAgICAgICAgICAgaWYg
KCFvdmVydmlld0dyYXBoLnZpc2libGUpCisgICAgICAgICAgICBpZiAob3ZlcnZpZXdHcmFwaC5o
aWRkZW4pCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgIG92ZXJ2aWV3
R3JhcGguemVyb1RpbWUgPSBzdGFydFRpbWU7CkBAIC02NzAsNyArNjY1LDcgQEAgV0kuVGltZWxp
bmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAgICAg
ICAgIHRyZWVFbGVtZW50LmVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gb3ZlcnZpZXdHcmFwaC5oZWln
aHQgKyAicHgiOwogCiAgICAgICAgIGlmICghdGhpcy5fY2FuU2hvd1RpbWVsaW5lVHlwZSh0aW1l
bGluZS50eXBlKSkgewotICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5oaWRkZW4oKTsKKyAgICAg
ICAgICAgIG92ZXJ2aWV3R3JhcGguaGlkZGVuID0gdHJ1ZTsKICAgICAgICAgICAgIHRyZWVFbGVt
ZW50LmhpZGRlbiA9IHRydWU7CiAgICAgICAgIH0KIApAQCAtNzIzLDcgKzcxOCw3IEBAIFdJLlRp
bWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV0kuVmlldwog
ICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGZvciAobGV0IG92ZXJ2aWV3R3JhcGggb2Yg
dGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAudmFsdWVzKCkpIHsKLSAgICAgICAgICAgIGlm
ICghb3ZlcnZpZXdHcmFwaC52aXNpYmxlKQorICAgICAgICAgICAgaWYgKG92ZXJ2aWV3R3JhcGgu
aGlkZGVuKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAgICBsZXQgZ3Jh
cGhSZWN0ID0gb3ZlcnZpZXdHcmFwaC5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwpA
QCAtODUxLDExICs4NDYsOSBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVP
dmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgICAgIGxldCB0cmVlRWxlbWVudCA9IHRo
aXMuX3RyZWVFbGVtZW50c0J5VHlwZU1hcC5nZXQodHlwZSk7CiAgICAgICAgICAgICBjb25zb2xl
LmFzc2VydCh0cmVlRWxlbWVudCwgIk1pc3NpbmcgdHJlZSBlbGVtZW50IGZvciB0aW1lbGluZSB0
eXBlIiwgdHlwZSk7CiAKLSAgICAgICAgICAgIHRyZWVFbGVtZW50LmhpZGRlbiA9ICF0aGlzLl9j
YW5TaG93VGltZWxpbmVUeXBlKHR5cGUpOwotICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50Lmhp
ZGRlbikKLSAgICAgICAgICAgICAgICBvdmVydmlld0dyYXBoLmhpZGRlbigpOwotICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGguc2hvd24oKTsKKyAgICAgICAg
ICAgIGxldCBoaWRkZW4gPSAhdGhpcy5fY2FuU2hvd1RpbWVsaW5lVHlwZSh0eXBlKTsKKyAgICAg
ICAgICAgIHRyZWVFbGVtZW50LmhpZGRlbiA9IGhpZGRlbjsKKyAgICAgICAgICAgIG92ZXJ2aWV3
R3JhcGguaGlkZGVuID0gaGlkZGVuOwogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5lbGVtZW50
LmNsYXNzTGlzdC50b2dnbGUoImZyYW1lcyIsIGlzUmVuZGVyaW5nRnJhbWVzTW9kZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggYTk0ZjQ3ZmRjYWQ1ZTAxMzA5Yjc2
N2Y1ZTU5MTM3MjI0NzlmMGQyMi4uMzA4MGVmZjZlZDQ0YzRlNzU3M2I1ZTAyODRhMGI2Y2UxNzc2
NDdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwpAQCAtNDAsNyArNDAs
NyBAQCBXSS5UaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3R3Jh
cGggZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIHRoaXMuX3NlbGVjdGVkUmVjb3JkQmFyID0gbnVs
bDsKICAgICAgICAgdGhpcy5fc2NoZWR1bGVkU2VsZWN0ZWRSZWNvcmRMYXlvdXRVcGRhdGVJZGVu
dGlmaWVyID0gdW5kZWZpbmVkOwogICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGZhbHNlOwotICAg
ICAgICB0aGlzLl92aXNpYmxlID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5faGlkZGVuID0gZmFsc2U7
CiAgICAgfQogCiAgICAgLy8gUHVibGljCkBAIC0xNTYsOSArMTU2LDIyIEBAIFdJLlRpbWVsaW5l
T3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdJLlZp
ZXcKIAogICAgIGdldCBzZWNvbmRzUGVyUGl4ZWwoKSB7IHJldHVybiB0aGlzLl90aW1lbGluZU92
ZXJ2aWV3LnNlY29uZHNQZXJQaXhlbDsgfQogCi0gICAgZ2V0IHZpc2libGUoKQorICAgIGdldCBo
aWRkZW4oKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7CisgICAgICAgIHJl
dHVybiB0aGlzLl9oaWRkZW47CisgICAgfQorCisgICAgc2V0IGhpZGRlbihoaWRkZW4pCisgICAg
eworICAgICAgICBpZiAoIXhvcihoaWRkZW4sIHRoaXMuX2hpZGRlbikpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgdGhpcy5faGlkZGVuID0gaGlkZGVuOworCisgICAgICAgIHRoaXMu
ZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCB0aGlzLl9oaWRkZW4pOworCisgICAg
ICAgIGlmICghdGhpcy5faGlkZGVuKQorICAgICAgICAgICAgdGhpcy51cGRhdGVMYXlvdXQoKTsK
ICAgICB9CiAKICAgICBnZXQgc2VsZWN0ZWRSZWNvcmQoKQpAQCAtMjE4LDI1ICsyMzEsNiBAQCBX
SS5UaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0
ZW5kcyBXSS5WaWV3CiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJzZWxl
Y3RlZCIsIHRoaXMuX3NlbGVjdGVkKTsKICAgICB9CiAKLSAgICBzaG93bigpCi0gICAgewotICAg
ICAgICBpZiAodGhpcy5fdmlzaWJsZSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0
aGlzLl92aXNpYmxlID0gdHJ1ZTsKLSAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dn
bGUoImhpZGRlbiIsICF0aGlzLl92aXNpYmxlKTsKLSAgICAgICAgdGhpcy51cGRhdGVMYXlvdXQo
KTsKLSAgICB9Ci0KLSAgICBoaWRkZW4oKQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl92aXNp
YmxlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX3Zpc2libGUgPSBmYWxz
ZTsKLSAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsICF0aGlz
Ll92aXNpYmxlKTsKLSAgICB9Ci0KICAgICByZXNldCgpCiAgICAgewogICAgICAgICAvLyBJbXBs
ZW1lbnRlZCBieSBzdWItY2xhc3NlcyBpZiBuZWVkZWQuCkBAIC0yNTAsNyArMjQ0LDcgQEAgV0ku
VGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgVGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVu
ZHMgV0kuVmlldwogICAgIG5lZWRzTGF5b3V0KCkKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBu
ZWVkc0xheW91dCBjYW4gYmUgcmVtb3ZlZCBvbmNlIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTA3
NDE+IGlzIGZpeGVkLgotICAgICAgICBpZiAoIXRoaXMuX3Zpc2libGUpCisgICAgICAgIGlmICh0
aGlzLl9oaWRkZW4pCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgc3VwZXIubmVlZHNM
YXlvdXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3Lmpz
CmluZGV4IGQ1ZmExZTU4ZTY2NTYxZWI0ZGY1YTEwZDZmNTgyNTQ2ZGI0NDZiZTcuLjRhYWI4MjU3
MDZjYzdkY2VlN2U5ZDE3MTI0YjIzMWYxMTE2YmRmNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwpAQCAtMjEyLDMxICsyMTIsMzAgQEAgV0kuVGlt
ZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcgZXh0ZW5kcyBXSS4KICAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWVsaW5lQ29udGVudEJy
b3dzZXIuY3VycmVudENvbnRlbnRWaWV3OwogICAgIH0KIAotICAgIHNob3duKCkKKyAgICBhdHRh
Y2hlZCgpCiAgICAgewotICAgICAgICBzdXBlci5zaG93bigpOwotCi0gICAgICAgIHRoaXMuX3Rp
bWVsaW5lT3ZlcnZpZXcuc2hvd24oKTsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVDb250ZW50QnJv
d3Nlci5zaG93bigpOworICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogCiAgICAgICAgIHRoaXMu
X2NsZWFyVGltZWxpbmVOYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gIXRoaXMuX3JlY29yZGluZy5y
ZWFkb25seSAmJiAhaXNOYU4odGhpcy5fcmVjb3JkaW5nLnN0YXJ0VGltZSk7CiAgICAgICAgIHRo
aXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSB0aGlzLl9yZWNvcmRpbmcu
Y2FuRXhwb3J0KCk7CiAKLSAgICAgICAgdGhpcy5fY3VycmVudENvbnRlbnRWaWV3RGlkQ2hhbmdl
KCk7Ci0KICAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZyAmJiBXSS50aW1lbGluZU1hbmFnZXIu
YWN0aXZlUmVjb3JkaW5nID09PSB0aGlzLl9yZWNvcmRpbmcgJiYgV0kudGltZWxpbmVNYW5hZ2Vy
LmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0aGlzLl9zdGFydFVwZGF0aW5nQ3VycmVudFRp
bWUodGhpcy5fY3VycmVudFRpbWUpOwogICAgIH0KIAotICAgIGhpZGRlbigpCisgICAgZGV0YWNo
ZWQoKQogICAgIHsKLSAgICAgICAgc3VwZXIuaGlkZGVuKCk7Ci0KLSAgICAgICAgdGhpcy5fdGlt
ZWxpbmVPdmVydmlldy5oaWRkZW4oKTsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVDb250ZW50QnJv
d3Nlci5oaWRkZW4oKTsKLQogICAgICAgICBpZiAodGhpcy5fdXBkYXRpbmcpCiAgICAgICAgICAg
ICB0aGlzLl9zdG9wVXBkYXRpbmdDdXJyZW50VGltZSgpOworCisgICAgICAgIHN1cGVyLmRldGFj
aGVkKCk7CisgICAgfQorCisgICAgaW5pdGlhbExheW91dCgpCisgICAgeworICAgICAgICBzdXBl
ci5pbml0aWFsTGF5b3V0KCk7CisKKyAgICAgICAgdGhpcy5fY3VycmVudENvbnRlbnRWaWV3RGlk
Q2hhbmdlKCk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKQEAgLTM3Nyw3ICszNzYsNyBAQCBXSS5U
aW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250
ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2NvbnRlbnRWaWV3U2VsZWN0aW9uUGF0aENvbXBv
bmVudERpZENoYW5nZShldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlKQor
ICAgICAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICBpZiAoZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl90aW1lbGluZUNvbnRlbnRCcm93c2VyLmN1
cnJlbnRDb250ZW50VmlldykKQEAgLTQ1Niw3ICs0NTUsNyBAQCBXSS5UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRz
IFdJLgogICAgICAgICAvLyBPbmx5IHN0b3AgdXBkYXRpbmcgaWYgdGhlIGN1cnJlbnQgdGltZSBp
cyBncmVhdGVyIHRoYW4gdGhlIGVuZCB0aW1lLCBvciB0aGUgZW5kIHRpbWUgaXMgTmFOLgogICAg
ICAgICAvLyBUaGUgcmVjb3JkaW5nIGVuZCB0aW1lIHdpbGwgYmUgTmFOIGlmIG5vIHJlY29yZHMg
d2VyZSBhZGRlZC4KICAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZyAmJiAoY3VycmVudFRpbWUg
Pj0gZW5kVGltZSB8fCBpc05hTihlbmRUaW1lKSkpIHsKLSAgICAgICAgICAgIGlmICh0aGlzLnZp
c2libGUpCisgICAgICAgICAgICBpZiAodGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgICAg
IHRoaXMuX2xhc3RVcGRhdGVUaW1lc3RhbXAgPSBOYU47CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KQEAgLTkxNSw3ICs5MTQsNyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRW
aWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAg
ICAgX2hhbmRsZVRpbWVsaW5lVmlld1JlY29yZFNlbGVjdGVkKGV2ZW50KQogICAgIHsKLSAgICAg
ICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAg
ICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGxldCB7cmVjb3JkfSA9IGV2ZW50LmRhdGE7CkBA
IC05NDgsNyArOTQ3LDcgQEAgV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNz
IFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgZXh0ZW5kcyBXSS4KIAogICAgIF9oYW5kbGVU
aW1lbGluZVZpZXdTY2FubmVyU2hvdyhldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52
aXNpYmxlKQorICAgICAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICBsZXQge3RpbWV9ID0gZXZlbnQuZGF0YTsKQEAgLTk1Nyw3ICs5NTYsNyBA
QCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRp
bmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2hhbmRsZVRpbWVsaW5lVmlld1NjYW5u
ZXJIaWRlKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCisgICAgICAg
IGlmICghdGhpcy5pc0F0dGFjaGVkKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRo
aXMuX3RpbWVsaW5lT3ZlcnZpZXcuaGlkZVNjYW5uZXIoKTsKQEAgLTk2NSw3ICs5NjQsNyBAQCBX
SS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdD
b250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2hhbmRsZVRpbWVsaW5lVmlld05lZWRzRW50
aXJlU2VsZWN0ZWRSYW5nZShldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxl
KQorICAgICAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkKICAgICAgICAgICAgIHJldHVybjsKIAog
ICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnRpbWVsaW5lUnVsZXIuc2VsZWN0RW50aXJl
UmFuZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDAxMWMx
NzVmOGIwMTA2ZGY3YjgzM2ZiZjViYWUzYjMyZmNmZmM1NDUuLjhjMmJjYmQ4ZmQ2ZTdkMmEyMDZh
NzY3YzQ5NTEzZmYxYWExZTI4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmll
dy5qcwpAQCAtMzE3LDkgKzMxNyw5IEBAIFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcgPSBjbGFz
cyBUaW1lbGluZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzCiAgICAgICAg
IHJldHVybiBXSS5UaW1lbGluZVRhYkNvbnRlbnRWaWV3LlR5cGU7CiAgICAgfQogCi0gICAgc2hv
d24oKQorICAgIGF0dGFjaGVkKCkKICAgICB7Ci0gICAgICAgIHN1cGVyLnNob3duKCk7CisgICAg
ICAgIHN1cGVyLmF0dGFjaGVkKCk7CiAKICAgICAgICAgdGhpcy5fdG9nZ2xlUmVjb3JkaW5nU2hv
cnRjdXQuZGlzYWJsZWQgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fdG9nZ2xlTmV3UmVjb3JkaW5n
U2hvcnRjdXQuZGlzYWJsZWQgPSBmYWxzZTsKQEAgLTMyOCwxNCArMzI4LDE0IEBAIFdJLlRpbWVs
aW5lVGFiQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuQ29udGVudEJyb3dzCiAgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYXV0b0NhcHR1
cmVPblBhZ2VMb2FkID0gdHJ1ZTsKICAgICB9CiAKLSAgICBoaWRkZW4oKQorICAgIGRldGFjaGVk
KCkKICAgICB7Ci0gICAgICAgIHN1cGVyLmhpZGRlbigpOwotCiAgICAgICAgIHRoaXMuX3RvZ2ds
ZVJlY29yZGluZ1Nob3J0Y3V0LmRpc2FibGVkID0gdHJ1ZTsKICAgICAgICAgdGhpcy5fdG9nZ2xl
TmV3UmVjb3JkaW5nU2hvcnRjdXQuZGlzYWJsZWQgPSB0cnVlOwogCiAgICAgICAgIFdJLnRpbWVs
aW5lTWFuYWdlci5hdXRvQ2FwdHVyZU9uUGFnZUxvYWQgPSBmYWxzZTsKKworICAgICAgICBzdXBl
ci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIGNsb3NlZCgpCkBAIC01MDUsNyArNTA1LDcgQEAg
V0kuVGltZWxpbmVUYWJDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lVGFiQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5Db250ZW50QnJvd3MKIAogICAgIF9pbnNwZWN0b3JWaXNpYmlsaXR5Q2hhbmdl
ZChldmVudCkKICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hdXRvQ2FwdHVyZU9u
UGFnZUxvYWQgPSAhIXRoaXMudmlzaWJsZSAmJiAhIVdJLnZpc2libGU7CisgICAgICAgIFdJLnRp
bWVsaW5lTWFuYWdlci5hdXRvQ2FwdHVyZU9uUGFnZUxvYWQgPSAhIXRoaXMuaXNBdHRhY2hlZCAm
JiAhIVdJLnZpc2libGU7CiAgICAgfQogCiAgICAgX2dsb2JhbE1vZGlmaWVyS2V5c0RpZENoYW5n
ZShldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcwppbmRleCBhY2FmNWZhMzBjZDE3ZGZkMGM0YmFmYTJm
ZmQ0Y2JiZTc2ZjQ3Y2RmLi4wOGIwMmVhMDEzMDcxNjBiNWFjMzk0NjA1NDJiZGViM2Y5NTc2NTE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVWaWV3LmpzCkBAIC0yMzAsMTUgKzIzMCw2IEBAIFdJLlRpbWVsaW5lVmll
dyA9IGNsYXNzIFRpbWVsaW5lVmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KIAotICAgIG5lZWRzTGF5b3V0KCkKLSAgICB7Ci0gICAgICAgIC8v
IEZJWE1FOiBuZWVkc0xheW91dCBjYW4gYmUgcmVtb3ZlZCBvbmNlIDxodHRwczovL3dlYmtpdC5v
cmcvYi8xNTA3NDE+IGlzIGZpeGVkLgotICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKLSAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICBzdXBlci5uZWVkc0xheW91dCgpOwotICAgIH0KLQog
ICAgIC8vIERhdGFHcmlkIGZpbHRlciBkZWxlZ2F0ZQogCiAgICAgZGF0YUdyaWRNYXRjaE5vZGVB
Z2FpbnN0Q3VzdG9tRmlsdGVycyhub2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1ZpZXcuanMKaW5kZXggYWFlY2NkYWI1OTk2YmY1ODNlNGFjMWYx
NzRlNWI3OGY0ZDMxYWViNi4uYTQ4MjE4MWVhNzM0MDNiZjQ4N2IxYjEwZjZhZDUxZjA2NDk3M2Uy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9W
aWV3LmpzCkBAIC0xMjYsMTAgKzEyNiwxMCBAQCBXSS5WaWV3ID0gY2xhc3MgVmlldyBleHRlbmRz
IFdJLk9iamVjdAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAgICAgICAgdmll
dy5fZGlkTW92ZVRvUGFyZW50KG51bGwpOworCiAgICAgICAgIHRoaXMuX3N1YnZpZXdzLnNwbGlj
ZShpbmRleCwgMSk7CiAgICAgICAgIHZpZXcuZWxlbWVudC5yZW1vdmUoKTsKLQotICAgICAgICB2
aWV3Ll9kaWRNb3ZlVG9QYXJlbnQobnVsbCk7CiAgICAgfQogCiAgICAgcmVtb3ZlQWxsU3Vidmll
d3MoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvV2ViU29ja2V0Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9XZWJTb2NrZXRDb250ZW50Vmlldy5qcwppbmRleCA4ZTlhNGFhNzE5MDBl
ZWU0NjA4OWYzMjExNmEyNWY0OGIzZjJmZDkxLi42Y2JkMGY2ODM0YjQyY2Q0ZTJmMDIyOTQwZDE3
ZDliNGM3NjliNDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9XZWJTb2NrZXRDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9XZWJTb2NrZXRDb250ZW50Vmlldy5qcwpAQCAtODcs
MTcgKzg3LDIxIEBAIFdJLldlYlNvY2tldENvbnRlbnRWaWV3ID0gY2xhc3MgV2ViU29ja2V0Q29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgLy8gUHVibGljCiAKLSAgICBz
aG93bigpCisgICAgYXR0YWNoZWQoKQogICAgIHsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsK
KwogICAgICAgICB0aGlzLl91cGRhdGVGcmFtZXNEZWJvdW5jZXIuZm9yY2UoKTsKICAgICAgICAg
dGhpcy5fcmVzb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihXSS5XZWJTb2NrZXRSZXNvdXJjZS5FdmVu
dC5GcmFtZUFkZGVkLCB0aGlzLl91cGRhdGVGcmFtZXNTb29uLCB0aGlzKTsKICAgICAgICAgdGhp
cy5fcmVzb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihXSS5XZWJTb2NrZXRSZXNvdXJjZS5FdmVudC5S
ZWFkeVN0YXRlQ2hhbmdlZCwgdGhpcy5fdXBkYXRlRnJhbWVzU29vbiwgdGhpcyk7CiAgICAgfQog
Ci0gICAgaGlkZGVuKCkKKyAgICBkZXRhY2hlZCgpCiAgICAgewogICAgICAgICB0aGlzLl9yZXNv
dXJjZS5yZW1vdmVFdmVudExpc3RlbmVyKFdJLldlYlNvY2tldFJlc291cmNlLkV2ZW50LkZyYW1l
QWRkZWQsIHRoaXMuX3VwZGF0ZUZyYW1lc1Nvb24sIHRoaXMpOwogICAgICAgICB0aGlzLl9yZXNv
dXJjZS5yZW1vdmVFdmVudExpc3RlbmVyKFdJLldlYlNvY2tldFJlc291cmNlLkV2ZW50LlJlYWR5
U3RhdGVDaGFuZ2VkLCB0aGlzLl91cGRhdGVGcmFtZXNTb29uLCB0aGlzKTsKKworICAgICAgICBz
dXBlci5kZXRhY2hlZCgpOwogICAgIH0KIAogICAgIC8vIFByaXZhdGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>