<?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>154008</bug_id>
          
          <creation_ts>2016-02-08 14:08:22 -0800</creation_ts>
          <short_desc>Web Inspector: Extract a few common unicode characters into global variables</short_desc>
          <delta_ts>2016-02-09 15:51:51 -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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>DoNotImportToRadar, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1163010</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-08 14:08:22 -0800</bug_when>
    <thetext>* SUMMARY
Extract a few common unicode characters into global variables

We use `ellipsis` and `emDash` in a lot of places, even storing into a temporary well named global. Lets just make them always available in Utilities to avoid having to look them up everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163011</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-08 14:09:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/24555688&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163012</commentid>
    <comment_count>2</comment_count>
      <attachid>270881</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-08 14:09:49 -0800</bug_when>
    <thetext>Created attachment 270881
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163013</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-08 14:11:05 -0800</bug_when>
    <thetext>&gt; ...even storing into a temporary well named global...

I meant: temporary well named variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163015</commentid>
    <comment_count>4</comment_count>
      <attachid>270881</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-02-08 14:11:59 -0800</bug_when>
    <thetext>Comment on attachment 270881
[PATCH] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Base/Utilities.js:28
&gt; +emDash = &quot;\u2014&quot;;
&gt; +ellipsis = &quot;\u2026&quot;;

var or const?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163016</commentid>
    <comment_count>5</comment_count>
      <attachid>270881</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-08 14:13:55 -0800</bug_when>
    <thetext>Comment on attachment 270881
[PATCH] Proposed Fix

I think we want it to be obvious that we are leaking it to the global namespace. Const wouldn&apos;t work as that would scope it to this lexical scope. var would be fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163017</commentid>
    <comment_count>6</comment_count>
      <attachid>270882</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-08 14:15:38 -0800</bug_when>
    <thetext>Created attachment 270882
[PATCH] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163032</commentid>
    <comment_count>7</comment_count>
      <attachid>270882</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-08 15:13:14 -0800</bug_when>
    <thetext>Comment on attachment 270882
[PATCH] For Landing

Clearing flags on attachment: 270882

Committed r196275: &lt;http://trac.webkit.org/changeset/196275&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270881</attachid>
            <date>2016-02-08 14:09:49 -0800</date>
            <delta_ts>2016-02-08 14:13:55 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>emdash.patch</filename>
            <type>text/plain</type>
            <size>29199</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGE1Y2UxNDguLjc1ZjEzZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDE2LTAyLTA4ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRXh0cmFj
dCBhIGZldyBjb21tb24gdW5pY29kZSBjaGFyYWN0ZXJzIGludG8gZ2xvYmFsIHZhcmlhYmxlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MDA4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzOgorICAgICAgICBDcmVhdGUgZ2xvYmFsIHZhcmlhYmxl
cyBmb3IgYGVtRGFzaGAgYW5kIGBlbGxpcHNpc2AgdG8gdXNlIGFsbCBvdmVyIHRoZSB0b29scy4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZU1lc3NhZ2VWaWV3LmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlVmlldy5wcm90b3R5cGUuX2Zvcm1h
dFBhcmFtZXRlckFzVGFibGUpOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvRGVmYXVsdERhc2hib2FyZFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVmYXVs
dERhc2hib2FyZFZpZXcucHJvdG90eXBlLl91cGRhdGVEaXNwbGF5KToKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0hpZXJhcmNoaWNhbFBhdGhDb21wb25lbnQuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudC5wcm90b3R5cGUuX3VwZGF0ZUVs
ZW1lbnRUaXRsZUFuZFRleHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBh
dGhDb21wb25lbnQucHJvdG90eXBlLl91cGRhdGVTZWxlY3RFbGVtZW50LmNyZWF0ZU9wdGlvbik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudC5wcm90b3R5
cGUuX3VwZGF0ZVNlbGVjdEVsZW1lbnQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
SGllcmFyY2hpY2FsUGF0aE5hdmlnYXRpb25JdGVtLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkhpZXJhcmNoaWNhbFBhdGhOYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUudXBkYXRlTGF5b3V0KToK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURhdGFHcmlkTm9kZS5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXllclRyZWVEYXRhR3JpZE5vZGUucHJvdG90eXBlLnNl
dCBsYXllcik6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZURh
dGFHcmlkTm9kZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZURhdGFH
cmlkTm9kZS5wcm90b3R5cGUuY3JlYXRlQ2VsbENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkxheW91dFRpbWVsaW5lRGF0YUdyaWROb2RlKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL01lbW9yeUNhdGVnb3J5Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5NZW1v
cnlDYXRlZ29yeVZpZXcucHJvdG90eXBlLl91cGRhdGVEZXRhaWxzKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5NZW1vcnlDYXRlZ29yeVZpZXcpOiBEZWxldGVkLgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLk1lbW9yeVRpbWVsaW5lVmlldy5wcm90b3R5cGUuX2NsZWFyVXNhZ2VMZWdlbmQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk1lbW9yeVRpbWVsaW5lVmlldy5wcm90b3R5cGUuX3Vw
ZGF0ZVVzYWdlTGVnZW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5NZW1vcnlUaW1lbGluZVZp
ZXcucHJvdG90eXBlLl9jbGVhck1heENvbXBhcmlzb25MZWdlbmQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk1lbW9yeVRpbWVsaW5lVmlldy5wcm90b3R5cGUuX3VwZGF0ZU1heENvbXBhcmlzb25M
ZWdlbmQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTXVsdGlwbGVTY29wZUJhckl0
ZW0uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTXVsdGlwbGVTY29wZUJhckl0ZW0uc2V0IHNj
b3BlQmFySXRlbXMuY3JlYXRlT3B0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5NdWx0aXBs
ZVNjb3BlQmFySXRlbS5wcm90b3R5cGUuc2V0IHNjb3BlQmFySXRlbXMpOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0UHJldmlld1ZpZXcuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuT2JqZWN0UHJldmlld1ZpZXcucHJvdG90eXBlLl9hcHBlbmRFbnRyeVByZXZpZXdzKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcmV2aWV3Vmlldy5wcm90b3R5cGUuX2FwcGVu
ZFByb3BlcnR5UHJldmlld3MpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUHJvZmls
ZU5vZGVEYXRhR3JpZE5vZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVE
YXRhR3JpZE5vZGUucHJvdG90eXBlLmNyZWF0ZUNlbGxDb250ZW50KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Qcm9maWxlTm9kZURhdGFHcmlkTm9kZSk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBl
LmNyZWF0ZUNlbGxDb250ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lRGF0YUdyaWROb2RlKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jl
c291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNv
dXJjZURldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9yZWZyZXNoUmVxdWVzdEFuZFJlc3Bv
bnNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNTaWRl
YmFyUGFuZWwucHJvdG90eXBlLl92YWx1ZUZvclNpemUpOiBEZWxldGVkLgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZS5j
cmVhdGVDZWxsQ29udGVudCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRU
aW1lbGluZURhdGFHcmlkTm9kZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRUaW1l
bGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuY3JlYXRlQ2VsbENvbnRlbnQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlKToKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFJlc3VsdFRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNlYXJjaFJlc3VsdFRyZWVFbGVtZW50LnRydW5jYXRlQW5kSGlnaGxpZ2h0VGl0
bGUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBl
LmNyZWF0ZUNlbGxDb250ZW50KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1R5cGVU
cmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UeXBlVHJlZUVsZW1lbnQucHJv
dG90eXBlLm9ucG9wdWxhdGUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVHlwZVRy
ZWVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlR5cGVUcmVlVmlldy5wcm90b3R5cGUu
X3BvcHVsYXRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UeXBlVHJlZVZpZXcpOgorCisyMDE2
LTAyLTA4ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAg
V2ViIEluc3BlY3Rvcjog4oen4oyY4oaSIHdoZW4gZWRpdGluZyB0ZXh0IGluIHRoZSBFbGVtZW50
cyB0cmVlIHNob3VsZG4ndCBzd2l0Y2ggaW5zcGVjdG9yIHRhYgogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MDA2CiAgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yMjg5MjQ4OT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9VdGlsaXRpZXMuanMKaW5kZXggY2U2NDk0OC4uMjUzOTU4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMu
anMKQEAgLTIzLDYgKzIzLDEwIEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAorLy8gQ29tbW9uIENoYXJhY3RlcnMuCitlbURhc2ggPSAiXHUyMDE0IjsKK2VsbGlw
c2lzID0gIlx1MjAyNiI7CisKIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJzaGFsbG93
Q29weSIsCiB7CiAgICAgdmFsdWU6IGZ1bmN0aW9uKG9iamVjdCkKQEAgLTQ3Nyw3ICs0ODEsNyBA
QCBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInRyaW1NaWRkbGUiLAog
ICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgIHZhciBsZWZ0SGFsZiA9IG1heExlbmd0
aCA+PiAxOwogICAgICAgICB2YXIgcmlnaHRIYWxmID0gbWF4TGVuZ3RoIC0gbGVmdEhhbGYgLSAx
OwotICAgICAgICByZXR1cm4gdGhpcy5zdWJzdHIoMCwgbGVmdEhhbGYpICsgIlx1MjAyNiIgKyB0
aGlzLnN1YnN0cih0aGlzLmxlbmd0aCAtIHJpZ2h0SGFsZiwgcmlnaHRIYWxmKTsKKyAgICAgICAg
cmV0dXJuIHRoaXMuc3Vic3RyKDAsIGxlZnRIYWxmKSArIGVsbGlwc2lzICsgdGhpcy5zdWJzdHIo
dGhpcy5sZW5ndGggLSByaWdodEhhbGYsIHJpZ2h0SGFsZik7CiAgICAgfQogfSk7CiAKQEAgLTQ4
Nyw3ICs0OTEsNyBAQCBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInRy
aW1FbmQiLAogICAgIHsKICAgICAgICAgaWYgKHRoaXMubGVuZ3RoIDw9IG1heExlbmd0aCkKICAg
ICAgICAgICAgIHJldHVybiB0aGlzOwotICAgICAgICByZXR1cm4gdGhpcy5zdWJzdHIoMCwgbWF4
TGVuZ3RoIC0gMSkgKyAiXHUyMDI2IjsKKyAgICAgICAgcmV0dXJuIHRoaXMuc3Vic3RyKDAsIG1h
eExlbmd0aCAtIDEpICsgZWxsaXBzaXM7CiAgICAgfQogfSk7CiAKQEAgLTUwNSw3ICs1MDksNyBA
QCBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInRydW5jYXRlIiwKICAg
ICAgICAgaWYgKGluZGV4T2ZMYXN0V2hpdGVzcGFjZSA+IE1hdGguZmxvb3IobWF4TGVuZ3RoIC8g
MikpCiAgICAgICAgICAgICBjbGlwcGVkID0gY2xpcHBlZC5zbGljZSgwLCBpbmRleE9mTGFzdFdo
aXRlc3BhY2UgLSAxKTsKIAotICAgICAgICByZXR1cm4gY2xpcHBlZCArICJcdTIwMjYiOworICAg
ICAgICByZXR1cm4gY2xpcHBlZCArIGVsbGlwc2lzOwogICAgIH0KIH0pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2Fn
ZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25z
b2xlTWVzc2FnZVZpZXcuanMKaW5kZXggZmFhNTI1NS4uNmY1NzM2OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZU1lc3NhZ2VWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNv
bGVNZXNzYWdlVmlldy5qcwpAQCAtNzY3LDcgKzc2Nyw2IEBAIFdlYkluc3BlY3Rvci5Db25zb2xl
TWVzc2FnZVZpZXcgPSBjbGFzcyBDb25zb2xlTWVzc2FnZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuCiAKICAgICAgICAgLy8gSWYgdGhlcmUgd2VyZSB2YWx1ZVByZXZpZXdzLCBjb252ZXJ0IHRv
IGEgZmxhdCBsaXN0LgogICAgICAgICBpZiAocm93cy5sZW5ndGgpIHsKLSAgICAgICAgICAgIHZh
ciBlbURhc2ggPSAiXHUyMDE0IjsKICAgICAgICAgICAgIGNvbHVtbk5hbWVzLnVuc2hpZnQoV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCIoSW5kZXgpIikpOwogICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCByb3dzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICAgICAgdmFyIHJvd05hbWUg
PSByb3dzW2ldWzBdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRGVmYXVsdERhc2hib2FyZFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWZhdWx0RGFzaGJvYXJkVmlldy5qcwppbmRleCBhNWU5
MWI3Li5mNTVjODUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9EZWZhdWx0RGFzaGJvYXJkVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWZhdWx0RGFzaGJvYXJkVmlldy5qcwpAQCAtNzIs
NyArNzIsNyBAQCBXZWJJbnNwZWN0b3IuRGVmYXVsdERhc2hib2FyZFZpZXcgPSBjbGFzcyBEZWZh
dWx0RGFzaGJvYXJkVmlldyBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICAgICAgdGhpcy5fc2V0
Q29uc29sZUl0ZW1WYWx1ZShjYXRlZ29yeSwgZGFzaGJvYXJkW2NhdGVnb3J5XSk7CiAKICAgICAg
ICAgdmFyIHRpbWVJdGVtID0gdGhpcy5faXRlbXMudGltZTsKLSAgICAgICAgdGltZUl0ZW0udGV4
dCA9IGRhc2hib2FyZC50aW1lID8gTnVtYmVyLnNlY29uZHNUb1N0cmluZyhkYXNoYm9hcmQudGlt
ZSkgOiAiXHUyMDE0IjsKKyAgICAgICAgdGltZUl0ZW0udGV4dCA9IGRhc2hib2FyZC50aW1lID8g
TnVtYmVyLnNlY29uZHNUb1N0cmluZyhkYXNoYm9hcmQudGltZSkgOiBlbURhc2g7CiAgICAgICAg
IHRoaXMuX3NldEl0ZW1FbmFibGVkKHRpbWVJdGVtLCBkYXNoYm9hcmQudGltZSA+IDApOwogCiAg
ICAgICAgIHZhciBjb3VudEl0ZW0gPSB0aGlzLl9pdGVtcy5yZXNvdXJjZXNDb3VudDsKQEAgLTgw
LDcgKzgwLDcgQEAgV2ViSW5zcGVjdG9yLkRlZmF1bHREYXNoYm9hcmRWaWV3ID0gY2xhc3MgRGVm
YXVsdERhc2hib2FyZFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgdGhpcy5fc2V0SXRl
bUVuYWJsZWQoY291bnRJdGVtLCBkYXNoYm9hcmQucmVzb3VyY2VzQ291bnQgPiAwKTsKIAogICAg
ICAgICB2YXIgc2l6ZUl0ZW0gPSB0aGlzLl9pdGVtcy5yZXNvdXJjZXNTaXplOwotICAgICAgICBz
aXplSXRlbS50ZXh0ID0gZGFzaGJvYXJkLnJlc291cmNlc1NpemUgPyBOdW1iZXIuYnl0ZXNUb1N0
cmluZyhkYXNoYm9hcmQucmVzb3VyY2VzU2l6ZSwgZmFsc2UpIDogIlx1MjAxNCI7CisgICAgICAg
IHNpemVJdGVtLnRleHQgPSBkYXNoYm9hcmQucmVzb3VyY2VzU2l6ZSA/IE51bWJlci5ieXRlc1Rv
U3RyaW5nKGRhc2hib2FyZC5yZXNvdXJjZXNTaXplLCBmYWxzZSkgOiBlbURhc2g7CiAgICAgICAg
IHRoaXMuX3NldEl0ZW1FbmFibGVkKHNpemVJdGVtLCBkYXNoYm9hcmQucmVzb3VyY2VzU2l6ZSA+
IDApOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hpZXJhcmNoaWNhbFBhdGhDb21wb25lbnQuanMK
aW5kZXggNTIxNDRkYS4uMTc2NDI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudC5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IaWVyYXJjaGljYWxQYXRo
Q29tcG9uZW50LmpzCkBAIC0yNDQsNyArMjQ0LDcgQEAgV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNh
bFBhdGhDb21wb25lbnQgPSBjbGFzcyBIaWVyYXJjaGljYWxQYXRoQ29tcG9uZW50IGV4dGVuZHMK
ICAgICB7CiAgICAgICAgIHZhciB0cnVuY2F0ZWREaXNwbGF5TmFtZSA9IHRoaXMuX2Rpc3BsYXlO
YW1lOwogICAgICAgICBpZiAodGhpcy5fdHJ1bmNhdGVkRGlzcGxheU5hbWVMZW5ndGggJiYgdHJ1
bmNhdGVkRGlzcGxheU5hbWUubGVuZ3RoID4gdGhpcy5fdHJ1bmNhdGVkRGlzcGxheU5hbWVMZW5n
dGgpCi0gICAgICAgICAgICB0cnVuY2F0ZWREaXNwbGF5TmFtZSA9IHRydW5jYXRlZERpc3BsYXlO
YW1lLnN1YnN0cmluZygwLCB0aGlzLl90cnVuY2F0ZWREaXNwbGF5TmFtZUxlbmd0aCkgKyAiXHUy
MDI2IjsKKyAgICAgICAgICAgIHRydW5jYXRlZERpc3BsYXlOYW1lID0gdHJ1bmNhdGVkRGlzcGxh
eU5hbWUuc3Vic3RyaW5nKDAsIHRoaXMuX3RydW5jYXRlZERpc3BsYXlOYW1lTGVuZ3RoKSArIGVs
bGlwc2lzOwogCiAgICAgICAgIHRoaXMuX2VsZW1lbnQudGl0bGUgPSB0aGlzLl9kaXNwbGF5TmFt
ZTsKICAgICAgICAgdGhpcy5fdGl0bGVDb250ZW50RWxlbWVudC50ZXh0Q29udGVudCA9IHRydW5j
YXRlZERpc3BsYXlOYW1lOwpAQCAtMjU4LDcgKzI1OCw3IEBAIFdlYkluc3BlY3Rvci5IaWVyYXJj
aGljYWxQYXRoQ29tcG9uZW50ID0gY2xhc3MgSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudCBleHRl
bmRzCiAgICAgICAgIHsKICAgICAgICAgICAgIHZhciBvcHRpb25FbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgib3B0aW9uIik7CiAgICAgICAgICAgICB2YXIgbWF4UG9wdXBNZW51TGVu
Z3RoID0gMTMwOyAvLyA8cmRhcjovL3Byb2JsZW0vMTM0NDUzNzQ+IDxzZWxlY3Q+IHdpdGggdmVy
eSBsb25nIG9wdGlvbiBoYXMgY2xpcHBlZCB0ZXh0IGFuZCBwb3B1cCBtZW51IGlzIHN0aWxsIHZl
cnkgd2lkZQotICAgICAgICAgICAgb3B0aW9uRWxlbWVudC50ZXh0Q29udGVudCA9IGNvbXBvbmVu
dC5kaXNwbGF5TmFtZS5sZW5ndGggPD0gbWF4UG9wdXBNZW51TGVuZ3RoID8gY29tcG9uZW50LmRp
c3BsYXlOYW1lIDogY29tcG9uZW50LmRpc3BsYXlOYW1lLnN1YnN0cmluZygwLCBtYXhQb3B1cE1l
bnVMZW5ndGgpICsgIlx1MjAyNiI7CisgICAgICAgICAgICBvcHRpb25FbGVtZW50LnRleHRDb250
ZW50ID0gY29tcG9uZW50LmRpc3BsYXlOYW1lLmxlbmd0aCA8PSBtYXhQb3B1cE1lbnVMZW5ndGgg
PyBjb21wb25lbnQuZGlzcGxheU5hbWUgOiBjb21wb25lbnQuZGlzcGxheU5hbWUuc3Vic3RyaW5n
KDAsIG1heFBvcHVwTWVudUxlbmd0aCkgKyBlbGxpcHNpczsKICAgICAgICAgICAgIG9wdGlvbkVs
ZW1lbnQuX3BhdGhDb21wb25lbnQgPSBjb21wb25lbnQ7CiAgICAgICAgICAgICByZXR1cm4gb3B0
aW9uRWxlbWVudDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvSGllcmFyY2hpY2FsUGF0aE5hdmlnYXRpb25JdGVtLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGllcmFyY2hpY2FsUGF0
aE5hdmlnYXRpb25JdGVtLmpzCmluZGV4IDhhYjIxZTQuLjg4Zjk2M2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hpZXJhcmNoaWNhbFBhdGhO
YXZpZ2F0aW9uSXRlbS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9IaWVyYXJjaGljYWxQYXRoTmF2aWdhdGlvbkl0ZW0uanMKQEAgLTE3MCw3ICsxNzAs
NyBAQCBXZWJJbnNwZWN0b3IuSGllcmFyY2hpY2FsUGF0aE5hdmlnYXRpb25JdGVtID0gY2xhc3Mg
SGllcmFyY2hpY2FsUGF0aE5hdmlnYXRpb25JdAogICAgICAgICB2YXIgaSA9IG1pZGRsZTsKIAog
ICAgICAgICAvLyBDcmVhdGUgYSBjb21wb25lbnQgdGhhdCB3aWxsIHJlcHJlc2VudCB0aGUgaGlk
ZGVuIGNvbXBvbmVudHMgd2l0aCBhIGVsbGlwc2UgYXMgdGhlIGRpc3BsYXkgbmFtZS4KLSAgICAg
ICAgdGhpcy5fY29sbGFwc2VkQ29tcG9uZW50ID0gbmV3IFdlYkluc3BlY3Rvci5IaWVyYXJjaGlj
YWxQYXRoQ29tcG9uZW50KCJcdTIwMjYiLCBbXSk7CisgICAgICAgIHRoaXMuX2NvbGxhcHNlZENv
bXBvbmVudCA9IG5ldyBXZWJJbnNwZWN0b3IuSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudChlbGxp
cHNpcywgW10pOwogICAgICAgICB0aGlzLl9jb2xsYXBzZWRDb21wb25lbnQuY29sbGFwc2VkID0g
dHJ1ZTsKIAogICAgICAgICAvLyBJbnNlcnQgaXQgaW4gdGhlIG1pZGRsZSwgaXQgZG9lc24ndCBt
YXR0ZXIgZXhhY3RseSB3aGVyZSBzaW5jZSB0aGUgZWxlbWVudHMgYXJvdW5kIGl0IHdpbGwgYmUg
aGlkZGVuIHNvb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9MYXllclRyZWVEYXRhR3JpZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVEYXRhR3JpZE5vZGUuanMKaW5kZXggYzg5
MDE2NS4uMDliZjI0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTGF5ZXJUcmVlRGF0YUdyaWROb2RlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURhdGFHcmlkTm9kZS5qcwpAQCAt
NjQsNyArNjQsNyBAQCBXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlRGF0YUdyaWROb2RlID0gY2xhc3Mg
TGF5ZXJUcmVlRGF0YUdyaWROb2RlIGV4dGVuZHMgV2ViSW5zcAogCiAgICAgICAgIHRoaXMuZGF0
YSA9IHsKICAgICAgICAgICAgIG5hbWU6IGRvbU5vZGUgPyBXZWJJbnNwZWN0b3IuZGlzcGxheU5h
bWVGb3JOb2RlKGRvbU5vZGUpIDogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJVbmtub3duIG5vZGUi
KSwKLSAgICAgICAgICAgIHBhaW50Q291bnQ6IGxheWVyLnBhaW50Q291bnQgfHwgIlx1MjAxNCIs
CisgICAgICAgICAgICBwYWludENvdW50OiBsYXllci5wYWludENvdW50IHx8IGVtRGFzaCwKICAg
ICAgICAgICAgIG1lbW9yeTogTnVtYmVyLmJ5dGVzVG9TdHJpbmcobGF5ZXIubWVtb3J5IHx8IDAp
CiAgICAgICAgIH07CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZURhdGFHcmlk
Tm9kZS5qcwppbmRleCBkZGI2ZjI5Li45ZjcxZDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZURhdGFHcmlkTm9kZS5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRU
aW1lbGluZURhdGFHcmlkTm9kZS5qcwpAQCAtNjQsNyArNjQsNiBAQCBXZWJJbnNwZWN0b3IuTGF5
b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFzcyBMYXlvdXRUaW1lbGluZURhdGFHcmlkTm9k
ZSBleHRlbgogCiAgICAgY3JlYXRlQ2VsbENvbnRlbnQoY29sdW1uSWRlbnRpZmllciwgY2VsbCkK
ICAgICB7Ci0gICAgICAgIGNvbnN0IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA9ICJcdTIw
MTQiOwogICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLmRhdGFbY29sdW1uSWRlbnRpZmllcl07CiAK
ICAgICAgICAgc3dpdGNoIChjb2x1bW5JZGVudGlmaWVyKSB7CkBAIC03MywxNiArNzIsMTYgQEAg
V2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgTGF5b3V0VGlt
ZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW4KIAogICAgICAgICBjYXNlICJ3aWR0aCI6CiAgICAgICAg
IGNhc2UgImhlaWdodCI6Ci0gICAgICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpID8gZW1wdHlW
YWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZnB4IikuZm9y
bWF0KHZhbHVlKTsKKyAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbURhc2ggOiBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVmcHgiKS5mb3JtYXQodmFsdWUpOwogCiAgICAgICAgIGNh
c2UgImFyZWEiOgotICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtcHR5VmFsdWVQ
bGFjZWhvbGRlclN0cmluZyA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiJWZweMKyIikuZm9ybWF0
KHZhbHVlKTsKKyAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbURhc2ggOiBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIiVmcHjCsiIpLmZvcm1hdCh2YWx1ZSk7CiAKICAgICAgICAgY2Fz
ZSAic3RhcnRUaW1lIjoKLSAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbXB0eVZh
bHVlUGxhY2Vob2xkZXJTdHJpbmcgOiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHZhbHVlIC0gdGhp
cy5fYmFzZVN0YXJ0VGltZSwgdHJ1ZSk7CisgICAgICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUp
ID8gZW1EYXNoIDogTnVtYmVyLnNlY29uZHNUb1N0cmluZyh2YWx1ZSAtIHRoaXMuX2Jhc2VTdGFy
dFRpbWUsIHRydWUpOwogCiAgICAgICAgIGNhc2UgInRvdGFsVGltZSI6Ci0gICAgICAgICAgICBy
ZXR1cm4gaXNOYU4odmFsdWUpID8gZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDogTnVtYmVy
LnNlY29uZHNUb1N0cmluZyh2YWx1ZSwgdHJ1ZSk7CisgICAgICAgICAgICByZXR1cm4gaXNOYU4o
dmFsdWUpID8gZW1EYXNoIDogTnVtYmVyLnNlY29uZHNUb1N0cmluZyh2YWx1ZSwgdHJ1ZSk7CiAg
ICAgICAgIH0KIAogICAgICAgICByZXR1cm4gc3VwZXIuY3JlYXRlQ2VsbENvbnRlbnQoY29sdW1u
SWRlbnRpZmllciwgY2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9NZW1vcnlDYXRlZ29yeVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlDYXRlZ29yeVZpZXcuanMKaW5kZXggNTE1
NmRlZS4uNTIzOThkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTWVtb3J5Q2F0ZWdvcnlWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeUNhdGVnb3J5Vmlldy5qcwpAQCAtMTA5LDcg
KzEwOSw2IEBAIFdlYkluc3BlY3Rvci5NZW1vcnlDYXRlZ29yeVZpZXcgPSBjbGFzcyBNZW1vcnlD
YXRlZ29yeVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAKICAgICBfdXBkYXRlRGV0YWlscyht
aW5TaXplLCBtYXhTaXplKQogICAgIHsKLSAgICAgICAgY29uc3QgZW1EYXNoID0gIlx1MjAxNCI7
CiAgICAgICAgIHRoaXMuX2RldGFpbHNNYXhFbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJIaWdoZXN0OiAlcyIpLmZvcm1hdChOdW1iZXIuaXNGaW5pdGUobWF4U2l6
ZSkgPyBOdW1iZXIuYnl0ZXNUb1N0cmluZyhtYXhTaXplKSA6IGVtRGFzaCk7CiAgICAgICAgIHRo
aXMuX2RldGFpbHNNaW5FbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJMb3dlc3Q6ICVzIikuZm9ybWF0KE51bWJlci5pc0Zpbml0ZShtaW5TaXplKSA/IE51bWJlci5i
eXRlc1RvU3RyaW5nKG1pblNpemUpIDogZW1EYXNoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1lbGluZVZpZXcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlUaW1l
bGluZVZpZXcuanMKaW5kZXggZGI0NmU0OC4uNWYzODM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVs
aW5lVmlldy5qcwpAQCAtMjQzLDcgKzI0Myw3IEBAIFdlYkluc3BlY3Rvci5NZW1vcnlUaW1lbGlu
ZVZpZXcgPSBjbGFzcyBNZW1vcnlUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAg
ICAgX2NsZWFyVXNhZ2VMZWdlbmQoKQogICAgIHsKICAgICAgICAgZm9yIChsZXQgc2l6ZUVsZW1l
bnQgb2YgdGhpcy5fdXNhZ2VMZWdlbmRTaXplRWxlbWVudE1hcC52YWx1ZXMoKSkKLSAgICAgICAg
ICAgIHNpemVFbGVtZW50LnRleHRDb250ZW50ID0gIlx1MjAxNCI7CisgICAgICAgICAgICBzaXpl
RWxlbWVudC50ZXh0Q29udGVudCA9IGVtRGFzaDsKIAogICAgICAgICBsZXQgdG90YWxFbGVtZW50
ID0gdGhpcy5fdXNhZ2VDaXJjbGVDaGFydC5jZW50ZXJFbGVtZW50LmZpcnN0Q2hpbGQ7CiAgICAg
ICAgIGlmICh0b3RhbEVsZW1lbnQpIHsKQEAgLTI1Niw3ICsyNTYsNyBAQCBXZWJJbnNwZWN0b3Iu
TWVtb3J5VGltZWxpbmVWaWV3ID0gY2xhc3MgTWVtb3J5VGltZWxpbmVWaWV3IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLgogICAgIHsKICAgICAgICAgZm9yIChsZXQge3R5cGUsIHNpemV9IG9mIHJlY29y
ZC5jYXRlZ29yaWVzKSB7CiAgICAgICAgICAgICBsZXQgc2l6ZUVsZW1lbnQgPSB0aGlzLl91c2Fn
ZUxlZ2VuZFNpemVFbGVtZW50TWFwLmdldCh0eXBlKTsKLSAgICAgICAgICAgIHNpemVFbGVtZW50
LnRleHRDb250ZW50ID0gTnVtYmVyLmlzRmluaXRlKHNpemUpID8gTnVtYmVyLmJ5dGVzVG9TdHJp
bmcoc2l6ZSkgOiAiXHUyMDE0IjsKKyAgICAgICAgICAgIHNpemVFbGVtZW50LnRleHRDb250ZW50
ID0gTnVtYmVyLmlzRmluaXRlKHNpemUpID8gTnVtYmVyLmJ5dGVzVG9TdHJpbmcoc2l6ZSkgOiBl
bURhc2g7CiAgICAgICAgIH0KIAogICAgICAgICBsZXQgY2VudGVyRWxlbWVudCA9IHRoaXMuX3Vz
YWdlQ2lyY2xlQ2hhcnQuY2VudGVyRWxlbWVudDsKQEAgLTI3Niw4ICsyNzYsOCBAQCBXZWJJbnNw
ZWN0b3IuTWVtb3J5VGltZWxpbmVWaWV3ID0gY2xhc3MgTWVtb3J5VGltZWxpbmVWaWV3IGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLgogCiAgICAgX2NsZWFyTWF4Q29tcGFyaXNvbkxlZ2VuZCgpCiAgICAg
ewotICAgICAgICB0aGlzLl9tYXhDb21wYXJpc29uTWF4aW11bVNpemVFbGVtZW50LnRleHRDb250
ZW50ID0gIlx1MjAxNCI7Ci0gICAgICAgIHRoaXMuX21heENvbXBhcmlzb25DdXJyZW50U2l6ZUVs
ZW1lbnQudGV4dENvbnRlbnQgPSAiXHUyMDE0IjsKKyAgICAgICAgdGhpcy5fbWF4Q29tcGFyaXNv
bk1heGltdW1TaXplRWxlbWVudC50ZXh0Q29udGVudCA9IGVtRGFzaDsKKyAgICAgICAgdGhpcy5f
bWF4Q29tcGFyaXNvbkN1cnJlbnRTaXplRWxlbWVudC50ZXh0Q29udGVudCA9IGVtRGFzaDsKIAog
ICAgICAgICBsZXQgdG90YWxFbGVtZW50ID0gdGhpcy5fbWF4Q29tcGFyaXNvbkNpcmNsZUNoYXJ0
LmNlbnRlckVsZW1lbnQuZmlyc3RDaGlsZDsKICAgICAgICAgaWYgKHRvdGFsRWxlbWVudCkKQEAg
LTI4Niw4ICsyODYsOCBAQCBXZWJJbnNwZWN0b3IuTWVtb3J5VGltZWxpbmVWaWV3ID0gY2xhc3Mg
TWVtb3J5VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogCiAgICAgX3VwZGF0ZU1h
eENvbXBhcmlzb25MZWdlbmQoY3VycmVudFNpemUpCiAgICAgewotICAgICAgICB0aGlzLl9tYXhD
b21wYXJpc29uTWF4aW11bVNpemVFbGVtZW50LnRleHRDb250ZW50ID0gTnVtYmVyLmlzRmluaXRl
KHRoaXMuX21heFNpemUpID8gTnVtYmVyLmJ5dGVzVG9TdHJpbmcodGhpcy5fbWF4U2l6ZSkgOiAi
XHUyMDE0IjsKLSAgICAgICAgdGhpcy5fbWF4Q29tcGFyaXNvbkN1cnJlbnRTaXplRWxlbWVudC50
ZXh0Q29udGVudCA9IE51bWJlci5pc0Zpbml0ZShjdXJyZW50U2l6ZSkgPyBOdW1iZXIuYnl0ZXNU
b1N0cmluZyhjdXJyZW50U2l6ZSkgOiAiXHUyMDE0IjsKKyAgICAgICAgdGhpcy5fbWF4Q29tcGFy
aXNvbk1heGltdW1TaXplRWxlbWVudC50ZXh0Q29udGVudCA9IE51bWJlci5pc0Zpbml0ZSh0aGlz
Ll9tYXhTaXplKSA/IE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMuX21heFNpemUpIDogZW1EYXNo
OworICAgICAgICB0aGlzLl9tYXhDb21wYXJpc29uQ3VycmVudFNpemVFbGVtZW50LnRleHRDb250
ZW50ID0gTnVtYmVyLmlzRmluaXRlKGN1cnJlbnRTaXplKSA/IE51bWJlci5ieXRlc1RvU3RyaW5n
KGN1cnJlbnRTaXplKSA6IGVtRGFzaDsKIAogICAgICAgICBsZXQgY2VudGVyRWxlbWVudCA9IHRo
aXMuX21heENvbXBhcmlzb25DaXJjbGVDaGFydC5jZW50ZXJFbGVtZW50OwogICAgICAgICBsZXQg
dG90YWxFbGVtZW50ID0gY2VudGVyRWxlbWVudC5maXJzdENoaWxkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTXVsdGlwbGVTY29wZUJhckl0
ZW0uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NdWx0aXBs
ZVNjb3BlQmFySXRlbS5qcwppbmRleCBkNTY4ZmEzLi41M2I0NzlmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NdWx0aXBsZVNjb3BlQmFySXRl
bS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NdWx0
aXBsZVNjb3BlQmFySXRlbS5qcwpAQCAtNzgsNyArNzgsNyBAQCBXZWJJbnNwZWN0b3IuTXVsdGlw
bGVTY29wZUJhckl0ZW0gPSBjbGFzcyBNdWx0aXBsZVNjb3BlQmFySXRlbSBleHRlbmRzIFdlYklu
c3BlYwogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgb3B0aW9uRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOwogICAgICAgICAgICAgdmFyIG1heFBvcHVwTWVudUxl
bmd0aCA9IDEzMDsgLy8gPHJkYXI6Ly9wcm9ibGVtLzEzNDQ1Mzc0PiA8c2VsZWN0PiB3aXRoIHZl
cnkgbG9uZyBvcHRpb24gaGFzIGNsaXBwZWQgdGV4dCBhbmQgcG9wdXAgbWVudSBpcyBzdGlsbCB2
ZXJ5IHdpZGUKLSAgICAgICAgICAgIG9wdGlvbkVsZW1lbnQudGV4dENvbnRlbnQgPSBzY29wZUJh
ckl0ZW0ubGFiZWwubGVuZ3RoIDw9IG1heFBvcHVwTWVudUxlbmd0aCA/IHNjb3BlQmFySXRlbS5s
YWJlbCA6IHNjb3BlQmFySXRlbS5sYWJlbC5zdWJzdHJpbmcoMCwgbWF4UG9wdXBNZW51TGVuZ3Ro
KSArICJcdTIwMjYiOworICAgICAgICAgICAgb3B0aW9uRWxlbWVudC50ZXh0Q29udGVudCA9IHNj
b3BlQmFySXRlbS5sYWJlbC5sZW5ndGggPD0gbWF4UG9wdXBNZW51TGVuZ3RoID8gc2NvcGVCYXJJ
dGVtLmxhYmVsIDogc2NvcGVCYXJJdGVtLmxhYmVsLnN1YnN0cmluZygwLCBtYXhQb3B1cE1lbnVM
ZW5ndGgpICsgZWxsaXBzaXM7CiAgICAgICAgICAgICByZXR1cm4gb3B0aW9uRWxlbWVudDsKICAg
ICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9PYmplY3RQcmV2aWV3Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL09iamVjdFByZXZpZXdWaWV3LmpzCmluZGV4IDUyMmYzNzYuLmRkNzg1
NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L09iamVjdFByZXZpZXdWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL09iamVjdFByZXZpZXdWaWV3LmpzCkBAIC0xODAsNyArMTgwLDcgQEAgV2Vi
SW5zcGVjdG9yLk9iamVjdFByZXZpZXdWaWV3ID0gY2xhc3MgT2JqZWN0UHJldmlld1ZpZXcgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuT2IKICAgICAgICAgaWYgKG92ZXJmbG93KSB7CiAgICAgICAgICAg
ICBpZiAobGltaXQgPiAwKQogICAgICAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kKCIsICIpOwot
ICAgICAgICAgICAgZWxlbWVudC5hcHBlbmQoIlx1MjAyNiIpOworICAgICAgICAgICAgZWxlbWVu
dC5hcHBlbmQoZWxsaXBzaXMpOwogICAgICAgICB9CiAKICAgICAgICAgZWxlbWVudC5hcHBlbmQo
aXNJdGVyYXRvciA/ICJdIiA6ICJ9Iik7CkBAIC0yNDUsNyArMjQ1LDcgQEAgV2ViSW5zcGVjdG9y
Lk9iamVjdFByZXZpZXdWaWV3ID0gY2xhc3MgT2JqZWN0UHJldmlld1ZpZXcgZXh0ZW5kcyBXZWJJ
bnNwZWN0b3IuT2IKICAgICAgICAgaWYgKG92ZXJmbG93KSB7CiAgICAgICAgICAgICBpZiAobGlt
aXQgPiAwKQogICAgICAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kKCIsICIpOwotICAgICAgICAg
ICAgZWxlbWVudC5hcHBlbmQoIlx1MjAyNiIpOworICAgICAgICAgICAgZWxlbWVudC5hcHBlbmQo
ZWxsaXBzaXMpOwogICAgICAgICB9CiAKICAgICAgICAgZWxlbWVudC5hcHBlbmQoaXNBcnJheSA/
ICJdIiA6ICJ9Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Qcm9maWxlTm9kZURhdGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2ZpbGVOb2RlRGF0YUdyaWROb2RlLmpzCmluZGV4
IDBkNGY2MjAuLmQ1ODRjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1Byb2ZpbGVOb2RlRGF0YUdyaWROb2RlLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2ZpbGVOb2RlRGF0YUdyaWROb2Rl
LmpzCkBAIC0xMDUsMTcgKzEwNSwxNiBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZU5vZGVEYXRhR3Jp
ZE5vZGUgPSBjbGFzcyBQcm9maWxlTm9kZURhdGFHcmlkTm9kZSBleHRlbmRzIFdlYgogCiAgICAg
Y3JlYXRlQ2VsbENvbnRlbnQoY29sdW1uSWRlbnRpZmllciwgY2VsbCkKICAgICB7Ci0gICAgICAg
IGNvbnN0IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA9ICJcdTIwMTQiOwogICAgICAgICB2
YXIgdmFsdWUgPSB0aGlzLmRhdGFbY29sdW1uSWRlbnRpZmllcl07CiAKICAgICAgICAgc3dpdGNo
IChjb2x1bW5JZGVudGlmaWVyKSB7CiAgICAgICAgIGNhc2UgInN0YXJ0VGltZSI6Ci0gICAgICAg
ICAgICByZXR1cm4gaXNOYU4odmFsdWUpID8gZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDog
TnVtYmVyLnNlY29uZHNUb1N0cmluZyh2YWx1ZSAtIHRoaXMuX2Jhc2VTdGFydFRpbWUsIHRydWUp
OworICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtRGFzaCA6IE51bWJlci5zZWNv
bmRzVG9TdHJpbmcodmFsdWUgLSB0aGlzLl9iYXNlU3RhcnRUaW1lLCB0cnVlKTsKIAogICAgICAg
ICBjYXNlICJzZWxmVGltZSI6CiAgICAgICAgIGNhc2UgInRvdGFsVGltZSI6CiAgICAgICAgIGNh
c2UgImF2ZXJhZ2VUaW1lIjoKLSAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbXB0
eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmcgOiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHZhbHVlLCB0
cnVlKTsKKyAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbURhc2ggOiBOdW1iZXIu
c2Vjb25kc1RvU3RyaW5nKHZhbHVlLCB0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVy
biBzdXBlci5jcmVhdGVDZWxsQ29udGVudChjb2x1bW5JZGVudGlmaWVyLCBjZWxsKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCmlu
ZGV4IDcxNWZkNzEuLjE1ZTE3OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5n
RnJhbWVUaW1lbGluZURhdGFHcmlkTm9kZS5qcwpAQCAtNjcsMTkgKzY3LDE4IEBAIFdlYkluc3Bl
Y3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgUmVuZGVyaW5n
RnJhbWVUaW1lbGluZURhCiAKICAgICBjcmVhdGVDZWxsQ29udGVudChjb2x1bW5JZGVudGlmaWVy
LCBjZWxsKQogICAgIHsKLSAgICAgICAgY29uc3QgZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5n
ID0gIlx1MjAxNCI7CiAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZGF0YVtjb2x1bW5JZGVudGlm
aWVyXTsKIAogICAgICAgICBzd2l0Y2ggKGNvbHVtbklkZW50aWZpZXIpIHsKICAgICAgICAgY2Fz
ZSAic3RhcnRUaW1lIjoKLSAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbXB0eVZh
bHVlUGxhY2Vob2xkZXJTdHJpbmcgOiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHZhbHVlIC0gdGhp
cy5fYmFzZVN0YXJ0VGltZSwgdHJ1ZSk7CisgICAgICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUp
ID8gZW1EYXNoIDogTnVtYmVyLnNlY29uZHNUb1N0cmluZyh2YWx1ZSAtIHRoaXMuX2Jhc2VTdGFy
dFRpbWUsIHRydWUpOwogCiAgICAgICAgIGNhc2UgInNjcmlwdFRpbWUiOgogICAgICAgICBjYXNl
ICJsYXlvdXRUaW1lIjoKICAgICAgICAgY2FzZSAicGFpbnRUaW1lIjoKICAgICAgICAgY2FzZSAi
b3RoZXJUaW1lIjoKICAgICAgICAgY2FzZSAidG90YWxUaW1lIjoKLSAgICAgICAgICAgIHJldHVy
biAoaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSAwKSA/IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0
cmluZyA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUsIHRydWUpOworICAgICAgICAgICAg
cmV0dXJuIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IDApID8gZW1EYXNoIDogTnVtYmVyLnNl
Y29uZHNUb1N0cmluZyh2YWx1ZSwgdHJ1ZSk7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4g
c3VwZXIuY3JlYXRlQ2VsbENvbnRlbnQoY29sdW1uSWRlbnRpZmllciwgY2VsbCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZURl
dGFpbHNTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggNzlmZGYxYi4uM2M0
ODI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwpA
QCAtMjg3LDcgKzI4Nyw2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFu
ZWwgPSBjbGFzcyBSZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0CiAKICAgICAgICAgLy8g
SWYgd2UgZG9uJ3QgaGF2ZSBhIHZhbHVlLCB3ZSBzZXQgYW4gZW0tZGFzaCB0byBrZWVwIHRoZSBy
b3cgZnJvbSBoaWRpbmcuCiAgICAgICAgIC8vIFRoaXMga2VlcHMgdGhlIFVJIGZyb20gc2hpZnRp
bmcgYXJvdW5kIGFzIGRhdGEgY29tZXMgaW4uCi0gICAgICAgIHZhciBlbURhc2ggPSAiXHUyMDE0
IjsKIAogICAgICAgICB0aGlzLl9yZXF1ZXN0TWV0aG9kUm93LnZhbHVlID0gcmVzb3VyY2UucmVx
dWVzdE1ldGhvZCB8fCBlbURhc2g7CiAKQEAgLTMwNCw3ICszMDMsNiBAQCBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgUmVzb3VyY2VEZXRhaWxzU2lkZWJh
clBhbmVsIGV4dAogICAgIHsKICAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHZhbHVlLCB3
ZSBzZXQgYW4gZW0tZGFzaCB0byBrZWVwIHRoZSByb3cgZnJvbSBoaWRpbmcuCiAgICAgICAgIC8v
IFRoaXMga2VlcHMgdGhlIFVJIGZyb20gc2hpZnRpbmcgYXJvdW5kIGFzIGRhdGEgY29tZXMgaW4u
Ci0gICAgICAgIHZhciBlbURhc2ggPSAiXHUyMDE0IjsKICAgICAgICAgcmV0dXJuIHNpemUgPiAw
ID8gTnVtYmVyLmJ5dGVzVG9TdHJpbmcoc2l6ZSkgOiBlbURhc2g7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRp
bWVsaW5lRGF0YUdyaWROb2RlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5qcwppbmRleCBiMzkzNWVjLi4w
YzZkZjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUu
anMKQEAgLTkzLDcgKzkzLDYgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3Jp
ZE5vZGUgPSBjbGFzcyBSZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlIGUKICAgICAgICAgaWYg
KHJlc291cmNlLmZhaWxlZCB8fCByZXNvdXJjZS5jYW5jZWxlZCB8fCByZXNvdXJjZS5zdGF0dXND
b2RlID49IDQwMCkKICAgICAgICAgICAgIGNlbGwuY2xhc3NMaXN0LmFkZCgiZXJyb3IiKTsKIAot
ICAgICAgICBjb25zdCBlbXB0eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmcgPSAiXHUyMDE0IjsKICAg
ICAgICAgdmFyIHZhbHVlID0gdGhpcy5kYXRhW2NvbHVtbklkZW50aWZpZXJdOwogCiAgICAgICAg
IHN3aXRjaCAoY29sdW1uSWRlbnRpZmllcikgewpAQCAtMTAyLDIyICsxMDEsMjIgQEAgV2ViSW5z
cGVjdG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFzcyBSZXNvdXJjZVRpbWVs
aW5lRGF0YUdyaWROb2RlIGUKIAogICAgICAgICBjYXNlICJzdGF0dXNDb2RlIjoKICAgICAgICAg
ICAgIGNlbGwudGl0bGUgPSByZXNvdXJjZS5zdGF0dXNUZXh0IHx8ICIiOwotICAgICAgICAgICAg
cmV0dXJuIHZhbHVlIHx8IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZzsKKyAgICAgICAgICAg
IHJldHVybiB2YWx1ZSB8fCBlbURhc2g7CiAKICAgICAgICAgY2FzZSAiY2FjaGVkIjoKICAgICAg
ICAgICAgIHJldHVybiB2YWx1ZSA/IFdlYkluc3BlY3Rvci5VSVN0cmluZygiWWVzIikgOiBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIk5vIik7CiAKICAgICAgICAgY2FzZSAiZG9tYWluIjoKLSAgICAg
ICAgICAgIHJldHVybiB2YWx1ZSB8fCBlbXB0eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmc7CisgICAg
ICAgICAgICByZXR1cm4gdmFsdWUgfHwgZW1EYXNoOwogCiAgICAgICAgIGNhc2UgInNpemUiOgog
ICAgICAgICBjYXNlICJ0cmFuc2ZlclNpemUiOgotICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZh
bHVlKSA/IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA6IE51bWJlci5ieXRlc1RvU3RyaW5n
KHZhbHVlLCB0cnVlKTsKKyAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbURhc2gg
OiBOdW1iZXIuYnl0ZXNUb1N0cmluZyh2YWx1ZSwgdHJ1ZSk7CiAKICAgICAgICAgY2FzZSAicmVx
dWVzdFNlbnQiOgogICAgICAgICBjYXNlICJsYXRlbmN5IjoKICAgICAgICAgY2FzZSAiZHVyYXRp
b24iOgotICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtcHR5VmFsdWVQbGFjZWhv
bGRlclN0cmluZyA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUsIHRydWUpOworICAgICAg
ICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtRGFzaCA6IE51bWJlci5zZWNvbmRzVG9TdHJp
bmcodmFsdWUsIHRydWUpOwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIHN1cGVyLmNyZWF0
ZUNlbGxDb250ZW50KGNvbHVtbklkZW50aWZpZXIsIGNlbGwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3Jp
ZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3Jp
cHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcwppbmRleCA1ZTlhOWFiLi4yMTIxYjdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1l
bGluZURhdGFHcmlkTm9kZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcwpAQCAtMTIxLDcgKzEyMSw2
IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZSA9IGNsYXNzIFNjcmlw
dFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVuCiAKICAgICBjcmVhdGVDZWxsQ29udGVudChjb2x1
bW5JZGVudGlmaWVyLCBjZWxsKQogICAgIHsKLSAgICAgICAgY29uc3QgZW1wdHlWYWx1ZVBsYWNl
aG9sZGVyU3RyaW5nID0gIlx1MjAxNCI7CiAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZGF0YVtj
b2x1bW5JZGVudGlmaWVyXTsKIAogICAgICAgICBzd2l0Y2ggKGNvbHVtbklkZW50aWZpZXIpIHsK
QEAgLTEyOSwxNSArMTI4LDE1IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlk
Tm9kZSA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVuCiAgICAgICAgICAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5kaXNw
bGF5TmFtZSh2YWx1ZSwgdGhpcy5fcmVjb3JkLmRldGFpbHMpOwogCiAgICAgICAgIGNhc2UgInN0
YXJ0VGltZSI6Ci0gICAgICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpID8gZW1wdHlWYWx1ZVBs
YWNlaG9sZGVyU3RyaW5nIDogTnVtYmVyLnNlY29uZHNUb1N0cmluZyh2YWx1ZSAtIHRoaXMuX2Jh
c2VTdGFydFRpbWUsIHRydWUpOworICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVt
RGFzaCA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUgLSB0aGlzLl9iYXNlU3RhcnRUaW1l
LCB0cnVlKTsKIAogICAgICAgICBjYXNlICJzZWxmVGltZSI6CiAgICAgICAgIGNhc2UgInRvdGFs
VGltZSI6CiAgICAgICAgIGNhc2UgImF2ZXJhZ2VUaW1lIjoKLSAgICAgICAgICAgIHJldHVybiBp
c05hTih2YWx1ZSkgPyBlbXB0eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmcgOiBOdW1iZXIuc2Vjb25k
c1RvU3RyaW5nKHZhbHVlLCB0cnVlKTsKKyAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkg
PyBlbURhc2ggOiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHZhbHVlLCB0cnVlKTsKIAogICAgICAg
ICBjYXNlICJjYWxsQ291bnQiOgotICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVt
cHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA6IHZhbHVlOworICAgICAgICAgICAgcmV0dXJuIGlz
TmFOKHZhbHVlKSA/IGVtRGFzaCA6IHZhbHVlOwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJu
IHN1cGVyLmNyZWF0ZUNlbGxDb250ZW50KGNvbHVtbklkZW50aWZpZXIsIGNlbGwpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoUmVz
dWx0VHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TZWFyY2hSZXN1bHRUcmVlRWxlbWVudC5qcwppbmRleCAxNWJiODVkLi44OWFkNzM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFy
Y2hSZXN1bHRUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TZWFyY2hSZXN1bHRUcmVlRWxlbWVudC5qcwpAQCAtNTAsNyArNTAsNyBA
QCBXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0VHJlZUVsZW1lbnQgPSBjbGFzcyBTZWFyY2hSZXN1
bHRUcmVlRWxlbWVudCBleHRlbmRzIFdlYgogICAgICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBz
dHJpbmcuCiAgICAgICAgIHZhciBtb2RpZmllZFRpdGxlID0gbnVsbDsKICAgICAgICAgaWYgKHNl
YXJjaFRlcm1JbmRleCA+IFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRUcmVlRWxlbWVudC5DaGFy
YWN0ZXJzVG9TaG93QmVmb3JlU2VhcmNoTWF0Y2gpIHsKLSAgICAgICAgICAgIG1vZGlmaWVkVGl0
bGUgPSAiXHUyMDI2IiArIHRpdGxlLnN1YnN0cmluZyhzZWFyY2hUZXJtSW5kZXggLSBXZWJJbnNw
ZWN0b3IuU2VhcmNoUmVzdWx0VHJlZUVsZW1lbnQuQ2hhcmFjdGVyc1RvU2hvd0JlZm9yZVNlYXJj
aE1hdGNoKTsKKyAgICAgICAgICAgIG1vZGlmaWVkVGl0bGUgPSBlbGxpcHNpcyArIHRpdGxlLnN1
YnN0cmluZyhzZWFyY2hUZXJtSW5kZXggLSBXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0VHJlZUVs
ZW1lbnQuQ2hhcmFjdGVyc1RvU2hvd0JlZm9yZVNlYXJjaE1hdGNoKTsKICAgICAgICAgICAgIHNl
YXJjaFRlcm1JbmRleCA9IFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRUcmVlRWxlbWVudC5DaGFy
YWN0ZXJzVG9TaG93QmVmb3JlU2VhcmNoTWF0Y2ggKyAxOwogICAgICAgICB9IGVsc2UKICAgICAg
ICAgICAgIG1vZGlmaWVkVGl0bGUgPSB0aXRsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWROb2RlLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5v
ZGUuanMKaW5kZXggOGE5ZWMxNS4uZjgyMDIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3Jp
ZE5vZGUuanMKQEAgLTEwMSw3ICsxMDEsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3Jp
ZE5vZGUgPSBjbGFzcyBUaW1lbGluZURhdGFHcmlkTm9kZSBleHRlbmRzIFdlYkluc3BlYwogCiAg
ICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZGF0YVtjb2x1bW5JZGVudGlmaWVyXTsKICAgICAgICAg
aWYgKCF2YWx1ZSkKLSAgICAgICAgICAgIHJldHVybiAiXHUyMDE0IjsKKyAgICAgICAgICAgIHJl
dHVybiBlbURhc2g7CiAKICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9y
LlNvdXJjZUNvZGVMb2NhdGlvbikgewogICAgICAgICAgICAgaWYgKHZhbHVlLnNvdXJjZUNvZGUg
aW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1R5cGVUcmVlRWxlbWVudC5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1R5cGVUcmVlRWxlbWVudC5q
cwppbmRleCAyM2Q0YTE1Li40MTcxNTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UeXBlVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHlwZVRyZWVFbGVtZW50LmpzCkBAIC05
OSw3ICs5OSw3IEBAIFdlYkluc3BlY3Rvci5UeXBlVHJlZUVsZW1lbnQgPSBjbGFzcyBUeXBlVHJl
ZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuR2VuZXJhCiAgICAgICAgICAgICB0aGlzLmFw
cGVuZENoaWxkKG5ldyBXZWJJbnNwZWN0b3IuVHlwZVRyZWVFbGVtZW50KHByb3BlcnR5Lm5hbWUs
IG51bGwpKTsKIAogICAgICAgICBpZiAodGhpcy5fc3RydWN0dXJlRGVzY3JpcHRpb24uaW1wcmVj
aXNlKSB7Ci0gICAgICAgICAgICB2YXIgdHJ1bmNhdGVkTWVzc2FnZUVsZW1lbnQgPSBXZWJJbnNw
ZWN0b3IuT2JqZWN0VHJlZVZpZXcuY3JlYXRlRW1wdHlNZXNzYWdlRWxlbWVudCgiXHUyMDI2Iik7
CisgICAgICAgICAgICB2YXIgdHJ1bmNhdGVkTWVzc2FnZUVsZW1lbnQgPSBXZWJJbnNwZWN0b3Iu
T2JqZWN0VHJlZVZpZXcuY3JlYXRlRW1wdHlNZXNzYWdlRWxlbWVudChlbGxpcHNpcyk7CiAgICAg
ICAgICAgICB0aGlzLmFwcGVuZENoaWxkKG5ldyBXZWJJbnNwZWN0b3IuVHJlZUVsZW1lbnQodHJ1
bmNhdGVkTWVzc2FnZUVsZW1lbnQsIG51bGwsIGZhbHNlKSk7CiAgICAgICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHlwZVRyZWVW
aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHlwZVRy
ZWVWaWV3LmpzCmluZGV4IDFkNjMxMzMuLmFiY2VmODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1R5cGVUcmVlVmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UeXBlVHJlZVZpZXcuanMKQEAg
LTc5LDcgKzc5LDcgQEAgV2ViSW5zcGVjdG9yLlR5cGVUcmVlVmlldyA9IGNsYXNzIFR5cGVUcmVl
VmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgICAgIHRoaXMuX291dGxp
bmUuYXBwZW5kQ2hpbGQobmV3IFdlYkluc3BlY3Rvci5UeXBlVHJlZUVsZW1lbnQodHlwZS5uYW1l
LCB0eXBlLnN0cnVjdHVyZSwgZmFsc2UpKTsKIAogICAgICAgICBpZiAodGhpcy5fdHlwZURlc2Ny
aXB0aW9uLnRydW5jYXRlZCkgewotICAgICAgICAgICAgdmFyIHRydW5jYXRlZE1lc3NhZ2VFbGVt
ZW50ID0gV2ViSW5zcGVjdG9yLk9iamVjdFRyZWVWaWV3LmNyZWF0ZUVtcHR5TWVzc2FnZUVsZW1l
bnQoIlx1MjAyNiIpOworICAgICAgICAgICAgdmFyIHRydW5jYXRlZE1lc3NhZ2VFbGVtZW50ID0g
V2ViSW5zcGVjdG9yLk9iamVjdFRyZWVWaWV3LmNyZWF0ZUVtcHR5TWVzc2FnZUVsZW1lbnQoZWxs
aXBzaXMpOwogICAgICAgICAgICAgdGhpcy5fb3V0bGluZS5hcHBlbmRDaGlsZChuZXcgV2ViSW5z
cGVjdG9yLlRyZWVFbGVtZW50KHRydW5jYXRlZE1lc3NhZ2VFbGVtZW50LCBudWxsLCBmYWxzZSkp
OwogICAgICAgICB9CiAK
</data>
<flag name="review"
          id="295724"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270882</attachid>
            <date>2016-02-08 14:15:38 -0800</date>
            <delta_ts>2016-02-08 15:13:14 -0800</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>for-landing.patch</filename>
            <type>text/plain</type>
            <size>30181</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGE1Y2UxNDguLjI3NmFhN2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDE2LTAyLTA4ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRXh0cmFj
dCBhIGZldyBjb21tb24gdW5pY29kZSBjaGFyYWN0ZXJzIGludG8gZ2xvYmFsIHZhcmlhYmxlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MDA4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qczoKKyAgICAgICAgQ3JlYXRlIGdsb2JhbCB2YXJpYWJs
ZXMgZm9yIGBlbURhc2hgIGFuZCBgZWxsaXBzaXNgIHRvIHVzZSBhbGwgb3ZlciB0aGUgdG9vbHMu
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlVmlldy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZVZpZXcucHJvdG90eXBlLl9mb3Jt
YXRQYXJhbWV0ZXJBc1RhYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL0RlZmF1bHREYXNoYm9hcmRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlZmF1
bHREYXNoYm9hcmRWaWV3LnByb3RvdHlwZS5fdXBkYXRlRGlzcGxheSk6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9IaWVyYXJjaGljYWxQYXRoQ29tcG9uZW50LmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBhdGhDb21wb25lbnQucHJvdG90eXBlLl91cGRhdGVF
bGVtZW50VGl0bGVBbmRUZXh0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IaWVyYXJjaGljYWxQ
YXRoQ29tcG9uZW50LnByb3RvdHlwZS5fdXBkYXRlU2VsZWN0RWxlbWVudC5jcmVhdGVPcHRpb24p
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBhdGhDb21wb25lbnQucHJvdG90
eXBlLl91cGRhdGVTZWxlY3RFbGVtZW50KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L0hpZXJhcmNoaWNhbFBhdGhOYXZpZ2F0aW9uSXRlbS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5IaWVyYXJjaGljYWxQYXRoTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlLnVwZGF0ZUxheW91dCk6
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVEYXRhR3JpZE5vZGUuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlRGF0YUdyaWROb2RlLnByb3RvdHlwZS5z
ZXQgbGF5ZXIpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVE
YXRhR3JpZE5vZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVEYXRh
R3JpZE5vZGUucHJvdG90eXBlLmNyZWF0ZUNlbGxDb250ZW50KToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5MYXlvdXRUaW1lbGluZURhdGFHcmlkTm9kZSk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9NZW1vcnlDYXRlZ29yeVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTWVt
b3J5Q2F0ZWdvcnlWaWV3LnByb3RvdHlwZS5fdXBkYXRlRGV0YWlscyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJJbnNwZWN0b3IuTWVtb3J5Q2F0ZWdvcnlWaWV3KTogRGVsZXRlZC4KKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5NZW1vcnlUaW1lbGluZVZpZXcucHJvdG90eXBlLl9jbGVhclVzYWdlTGVnZW5k
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5NZW1vcnlUaW1lbGluZVZpZXcucHJvdG90eXBlLl91
cGRhdGVVc2FnZUxlZ2VuZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTWVtb3J5VGltZWxpbmVW
aWV3LnByb3RvdHlwZS5fY2xlYXJNYXhDb21wYXJpc29uTGVnZW5kKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5NZW1vcnlUaW1lbGluZVZpZXcucHJvdG90eXBlLl91cGRhdGVNYXhDb21wYXJpc29u
TGVnZW5kKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL011bHRpcGxlU2NvcGVCYXJJ
dGVtLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk11bHRpcGxlU2NvcGVCYXJJdGVtLnNldCBz
Y29wZUJhckl0ZW1zLmNyZWF0ZU9wdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTXVsdGlw
bGVTY29wZUJhckl0ZW0ucHJvdG90eXBlLnNldCBzY29wZUJhckl0ZW1zKToKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL09iamVjdFByZXZpZXdWaWV3LmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk9iamVjdFByZXZpZXdWaWV3LnByb3RvdHlwZS5fYXBwZW5kRW50cnlQcmV2aWV3cyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJldmlld1ZpZXcucHJvdG90eXBlLl9hcHBl
bmRQcm9wZXJ0eVByZXZpZXdzKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2Zp
bGVOb2RlRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2Rl
RGF0YUdyaWROb2RlLnByb3RvdHlwZS5jcmVhdGVDZWxsQ29udGVudCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUpOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZURhdGFHcmlkTm9kZS5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlw
ZS5jcmVhdGVDZWxsQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJh
bWVUaW1lbGluZURhdGFHcmlkTm9kZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9S
ZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVz
b3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcmVmcmVzaFJlcXVlc3RBbmRSZXNw
b25zZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxzU2lk
ZWJhclBhbmVsLnByb3RvdHlwZS5fdmFsdWVGb3JTaXplKTogRGVsZXRlZC4KKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUu
Y3JlYXRlQ2VsbENvbnRlbnQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0
VGltZWxpbmVEYXRhR3JpZE5vZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGlt
ZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmNyZWF0ZUNlbGxDb250ZW50KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZSk6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9TZWFyY2hSZXN1bHRUcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5TZWFyY2hSZXN1bHRUcmVlRWxlbWVudC50cnVuY2F0ZUFuZEhpZ2hsaWdodFRp
dGxlKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWROb2Rl
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlw
ZS5jcmVhdGVDZWxsQ29udGVudCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UeXBl
VHJlZUVsZW1lbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVHlwZVRyZWVFbGVtZW50LnBy
b3RvdHlwZS5vbnBvcHVsYXRlKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1R5cGVU
cmVlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UeXBlVHJlZVZpZXcucHJvdG90eXBl
Ll9wb3B1bGF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVHlwZVRyZWVWaWV3KToKKworMjAx
Ni0wMi0wOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IOKHp+KMmOKGkiB3aGVuIGVkaXRpbmcgdGV4dCBpbiB0aGUgRWxlbWVu
dHMgdHJlZSBzaG91bGRuJ3Qgc3dpdGNoIGluc3BlY3RvciB0YWIKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDAwNgogICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjI4OTI0ODk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzCmluZGV4IGNlNjQ5NDguLmVhNWQ0MTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVz
LmpzCkBAIC0yMyw2ICsyMyw5IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAordmFyIGVtRGFzaCA9ICJcdTIwMTQiOwordmFyIGVsbGlwc2lzID0gIlx1MjAyNiI7
CisKIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJzaGFsbG93Q29weSIsCiB7CiAgICAg
dmFsdWU6IGZ1bmN0aW9uKG9iamVjdCkKQEAgLTQ3Nyw3ICs0ODAsNyBAQCBPYmplY3QuZGVmaW5l
UHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInRyaW1NaWRkbGUiLAogICAgICAgICAgICAgcmV0
dXJuIHRoaXM7CiAgICAgICAgIHZhciBsZWZ0SGFsZiA9IG1heExlbmd0aCA+PiAxOwogICAgICAg
ICB2YXIgcmlnaHRIYWxmID0gbWF4TGVuZ3RoIC0gbGVmdEhhbGYgLSAxOwotICAgICAgICByZXR1
cm4gdGhpcy5zdWJzdHIoMCwgbGVmdEhhbGYpICsgIlx1MjAyNiIgKyB0aGlzLnN1YnN0cih0aGlz
Lmxlbmd0aCAtIHJpZ2h0SGFsZiwgcmlnaHRIYWxmKTsKKyAgICAgICAgcmV0dXJuIHRoaXMuc3Vi
c3RyKDAsIGxlZnRIYWxmKSArIGVsbGlwc2lzICsgdGhpcy5zdWJzdHIodGhpcy5sZW5ndGggLSBy
aWdodEhhbGYsIHJpZ2h0SGFsZik7CiAgICAgfQogfSk7CiAKQEAgLTQ4Nyw3ICs0OTAsNyBAQCBP
YmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInRyaW1FbmQiLAogICAgIHsK
ICAgICAgICAgaWYgKHRoaXMubGVuZ3RoIDw9IG1heExlbmd0aCkKICAgICAgICAgICAgIHJldHVy
biB0aGlzOwotICAgICAgICByZXR1cm4gdGhpcy5zdWJzdHIoMCwgbWF4TGVuZ3RoIC0gMSkgKyAi
XHUyMDI2IjsKKyAgICAgICAgcmV0dXJuIHRoaXMuc3Vic3RyKDAsIG1heExlbmd0aCAtIDEpICsg
ZWxsaXBzaXM7CiAgICAgfQogfSk7CiAKQEAgLTUwNSw3ICs1MDgsNyBAQCBPYmplY3QuZGVmaW5l
UHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInRydW5jYXRlIiwKICAgICAgICAgaWYgKGluZGV4
T2ZMYXN0V2hpdGVzcGFjZSA+IE1hdGguZmxvb3IobWF4TGVuZ3RoIC8gMikpCiAgICAgICAgICAg
ICBjbGlwcGVkID0gY2xpcHBlZC5zbGljZSgwLCBpbmRleE9mTGFzdFdoaXRlc3BhY2UgLSAxKTsK
IAotICAgICAgICByZXR1cm4gY2xpcHBlZCArICJcdTIwMjYiOworICAgICAgICByZXR1cm4gY2xp
cHBlZCArIGVsbGlwc2lzOwogICAgIH0KIH0pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcu
anMKaW5kZXggZmFhNTI1NS4uNmY1NzM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZU1lc3NhZ2VWaWV3LmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlVmlldy5q
cwpAQCAtNzY3LDcgKzc2Nyw2IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZVZpZXcgPSBj
bGFzcyBDb25zb2xlTWVzc2FnZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAKICAgICAgICAg
Ly8gSWYgdGhlcmUgd2VyZSB2YWx1ZVByZXZpZXdzLCBjb252ZXJ0IHRvIGEgZmxhdCBsaXN0Lgog
ICAgICAgICBpZiAocm93cy5sZW5ndGgpIHsKLSAgICAgICAgICAgIHZhciBlbURhc2ggPSAiXHUy
MDE0IjsKICAgICAgICAgICAgIGNvbHVtbk5hbWVzLnVuc2hpZnQoV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCIoSW5kZXgpIikpOwogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByb3dzLmxl
bmd0aDsgKytpKSB7CiAgICAgICAgICAgICAgICAgdmFyIHJvd05hbWUgPSByb3dzW2ldWzBdOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9N
VHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9ET01UcmVlRWxlbWVudC5qcwppbmRleCA4MmYwZTkyLi5lMDhmMWYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVl
RWxlbWVudC5qcwpAQCAtMTIzMyw3ICsxMjMzLDcgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVt
ZW50ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVHJlZUVsZW0K
ICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZXhwYW5kZWQgJiYgKCFzaG93SW5saW5lVGV4dCAm
JiAodGhpcy50cmVlT3V0bGluZS5pc1hNTE1pbWVUeXBlIHx8ICFXZWJJbnNwZWN0b3IuRE9NVHJl
ZUVsZW1lbnQuRm9yYmlkZGVuQ2xvc2luZ1RhZ0VsZW1lbnRzW3RhZ05hbWVdKSkpIHsKICAgICAg
ICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzQ2hpbGRyZW4pIHsKICAgICAgICAgICAgICAgICAg
ICAgICAgIHZhciB0ZXh0Tm9kZUVsZW1lbnQgPSBpbmZvLnRpdGxlRE9NLmNyZWF0ZUNoaWxkKCJz
cGFuIiwgImh0bWwtdGV4dC1ub2RlIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0Tm9k
ZUVsZW1lbnQudGV4dENvbnRlbnQgPSAiXHUyMDI2IjsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHRleHROb2RlRWxlbWVudC50ZXh0Q29udGVudCA9IGVsbGlwc2lzOwogICAgICAgICAgICAgICAg
ICAgICAgICAgaW5mby50aXRsZURPTS5hcHBlbmQoIlx1MjAwQiIpOwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2J1aWxkVGFnRE9NKGluZm8udGl0bGVE
T00sIHRhZ05hbWUsIHRydWUsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlZmF1bHREYXNoYm9hcmRWaWV3LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVmYXVsdERhc2hib2FyZFZpZXcu
anMKaW5kZXggYTVlOTFiNy4uZjU1Yzg1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVmYXVsdERhc2hib2FyZFZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVmYXVsdERhc2hib2FyZFZp
ZXcuanMKQEAgLTcyLDcgKzcyLDcgQEAgV2ViSW5zcGVjdG9yLkRlZmF1bHREYXNoYm9hcmRWaWV3
ID0gY2xhc3MgRGVmYXVsdERhc2hib2FyZFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAg
ICAgIHRoaXMuX3NldENvbnNvbGVJdGVtVmFsdWUoY2F0ZWdvcnksIGRhc2hib2FyZFtjYXRlZ29y
eV0pOwogCiAgICAgICAgIHZhciB0aW1lSXRlbSA9IHRoaXMuX2l0ZW1zLnRpbWU7Ci0gICAgICAg
IHRpbWVJdGVtLnRleHQgPSBkYXNoYm9hcmQudGltZSA/IE51bWJlci5zZWNvbmRzVG9TdHJpbmco
ZGFzaGJvYXJkLnRpbWUpIDogIlx1MjAxNCI7CisgICAgICAgIHRpbWVJdGVtLnRleHQgPSBkYXNo
Ym9hcmQudGltZSA/IE51bWJlci5zZWNvbmRzVG9TdHJpbmcoZGFzaGJvYXJkLnRpbWUpIDogZW1E
YXNoOwogICAgICAgICB0aGlzLl9zZXRJdGVtRW5hYmxlZCh0aW1lSXRlbSwgZGFzaGJvYXJkLnRp
bWUgPiAwKTsKIAogICAgICAgICB2YXIgY291bnRJdGVtID0gdGhpcy5faXRlbXMucmVzb3VyY2Vz
Q291bnQ7CkBAIC04MCw3ICs4MCw3IEBAIFdlYkluc3BlY3Rvci5EZWZhdWx0RGFzaGJvYXJkVmll
dyA9IGNsYXNzIERlZmF1bHREYXNoYm9hcmRWaWV3IGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAg
IHRoaXMuX3NldEl0ZW1FbmFibGVkKGNvdW50SXRlbSwgZGFzaGJvYXJkLnJlc291cmNlc0NvdW50
ID4gMCk7CiAKICAgICAgICAgdmFyIHNpemVJdGVtID0gdGhpcy5faXRlbXMucmVzb3VyY2VzU2l6
ZTsKLSAgICAgICAgc2l6ZUl0ZW0udGV4dCA9IGRhc2hib2FyZC5yZXNvdXJjZXNTaXplID8gTnVt
YmVyLmJ5dGVzVG9TdHJpbmcoZGFzaGJvYXJkLnJlc291cmNlc1NpemUsIGZhbHNlKSA6ICJcdTIw
MTQiOworICAgICAgICBzaXplSXRlbS50ZXh0ID0gZGFzaGJvYXJkLnJlc291cmNlc1NpemUgPyBO
dW1iZXIuYnl0ZXNUb1N0cmluZyhkYXNoYm9hcmQucmVzb3VyY2VzU2l6ZSwgZmFsc2UpIDogZW1E
YXNoOwogICAgICAgICB0aGlzLl9zZXRJdGVtRW5hYmxlZChzaXplSXRlbSwgZGFzaGJvYXJkLnJl
c291cmNlc1NpemUgPiAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hpZXJhcmNoaWNhbFBhdGhDb21wb25lbnQuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IaWVyYXJjaGljYWxQYXRo
Q29tcG9uZW50LmpzCmluZGV4IDUyMTQ0ZGEuLjE3NjQyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hpZXJhcmNoaWNhbFBhdGhDb21wb25l
bnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGll
cmFyY2hpY2FsUGF0aENvbXBvbmVudC5qcwpAQCAtMjQ0LDcgKzI0NCw3IEBAIFdlYkluc3BlY3Rv
ci5IaWVyYXJjaGljYWxQYXRoQ29tcG9uZW50ID0gY2xhc3MgSGllcmFyY2hpY2FsUGF0aENvbXBv
bmVudCBleHRlbmRzCiAgICAgewogICAgICAgICB2YXIgdHJ1bmNhdGVkRGlzcGxheU5hbWUgPSB0
aGlzLl9kaXNwbGF5TmFtZTsKICAgICAgICAgaWYgKHRoaXMuX3RydW5jYXRlZERpc3BsYXlOYW1l
TGVuZ3RoICYmIHRydW5jYXRlZERpc3BsYXlOYW1lLmxlbmd0aCA+IHRoaXMuX3RydW5jYXRlZERp
c3BsYXlOYW1lTGVuZ3RoKQotICAgICAgICAgICAgdHJ1bmNhdGVkRGlzcGxheU5hbWUgPSB0cnVu
Y2F0ZWREaXNwbGF5TmFtZS5zdWJzdHJpbmcoMCwgdGhpcy5fdHJ1bmNhdGVkRGlzcGxheU5hbWVM
ZW5ndGgpICsgIlx1MjAyNiI7CisgICAgICAgICAgICB0cnVuY2F0ZWREaXNwbGF5TmFtZSA9IHRy
dW5jYXRlZERpc3BsYXlOYW1lLnN1YnN0cmluZygwLCB0aGlzLl90cnVuY2F0ZWREaXNwbGF5TmFt
ZUxlbmd0aCkgKyBlbGxpcHNpczsKIAogICAgICAgICB0aGlzLl9lbGVtZW50LnRpdGxlID0gdGhp
cy5fZGlzcGxheU5hbWU7CiAgICAgICAgIHRoaXMuX3RpdGxlQ29udGVudEVsZW1lbnQudGV4dENv
bnRlbnQgPSB0cnVuY2F0ZWREaXNwbGF5TmFtZTsKQEAgLTI1OCw3ICsyNTgsNyBAQCBXZWJJbnNw
ZWN0b3IuSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudCA9IGNsYXNzIEhpZXJhcmNoaWNhbFBhdGhD
b21wb25lbnQgZXh0ZW5kcwogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgb3B0aW9uRWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOwogICAgICAgICAgICAgdmFyIG1h
eFBvcHVwTWVudUxlbmd0aCA9IDEzMDsgLy8gPHJkYXI6Ly9wcm9ibGVtLzEzNDQ1Mzc0PiA8c2Vs
ZWN0PiB3aXRoIHZlcnkgbG9uZyBvcHRpb24gaGFzIGNsaXBwZWQgdGV4dCBhbmQgcG9wdXAgbWVu
dSBpcyBzdGlsbCB2ZXJ5IHdpZGUKLSAgICAgICAgICAgIG9wdGlvbkVsZW1lbnQudGV4dENvbnRl
bnQgPSBjb21wb25lbnQuZGlzcGxheU5hbWUubGVuZ3RoIDw9IG1heFBvcHVwTWVudUxlbmd0aCA/
IGNvbXBvbmVudC5kaXNwbGF5TmFtZSA6IGNvbXBvbmVudC5kaXNwbGF5TmFtZS5zdWJzdHJpbmco
MCwgbWF4UG9wdXBNZW51TGVuZ3RoKSArICJcdTIwMjYiOworICAgICAgICAgICAgb3B0aW9uRWxl
bWVudC50ZXh0Q29udGVudCA9IGNvbXBvbmVudC5kaXNwbGF5TmFtZS5sZW5ndGggPD0gbWF4UG9w
dXBNZW51TGVuZ3RoID8gY29tcG9uZW50LmRpc3BsYXlOYW1lIDogY29tcG9uZW50LmRpc3BsYXlO
YW1lLnN1YnN0cmluZygwLCBtYXhQb3B1cE1lbnVMZW5ndGgpICsgZWxsaXBzaXM7CiAgICAgICAg
ICAgICBvcHRpb25FbGVtZW50Ll9wYXRoQ29tcG9uZW50ID0gY29tcG9uZW50OwogICAgICAgICAg
ICAgcmV0dXJuIG9wdGlvbkVsZW1lbnQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hpZXJhcmNoaWNhbFBhdGhOYXZpZ2F0
aW9uSXRlbS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hp
ZXJhcmNoaWNhbFBhdGhOYXZpZ2F0aW9uSXRlbS5qcwppbmRleCA4YWIyMWU0Li44OGY5NjNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IaWVy
YXJjaGljYWxQYXRoTmF2aWdhdGlvbkl0ZW0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvSGllcmFyY2hpY2FsUGF0aE5hdmlnYXRpb25JdGVtLmpzCkBA
IC0xNzAsNyArMTcwLDcgQEAgV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBhdGhOYXZpZ2F0aW9u
SXRlbSA9IGNsYXNzIEhpZXJhcmNoaWNhbFBhdGhOYXZpZ2F0aW9uSXQKICAgICAgICAgdmFyIGkg
PSBtaWRkbGU7CiAKICAgICAgICAgLy8gQ3JlYXRlIGEgY29tcG9uZW50IHRoYXQgd2lsbCByZXBy
ZXNlbnQgdGhlIGhpZGRlbiBjb21wb25lbnRzIHdpdGggYSBlbGxpcHNlIGFzIHRoZSBkaXNwbGF5
IG5hbWUuCi0gICAgICAgIHRoaXMuX2NvbGxhcHNlZENvbXBvbmVudCA9IG5ldyBXZWJJbnNwZWN0
b3IuSGllcmFyY2hpY2FsUGF0aENvbXBvbmVudCgiXHUyMDI2IiwgW10pOworICAgICAgICB0aGlz
Ll9jb2xsYXBzZWRDb21wb25lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBhdGhD
b21wb25lbnQoZWxsaXBzaXMsIFtdKTsKICAgICAgICAgdGhpcy5fY29sbGFwc2VkQ29tcG9uZW50
LmNvbGxhcHNlZCA9IHRydWU7CiAKICAgICAgICAgLy8gSW5zZXJ0IGl0IGluIHRoZSBtaWRkbGUs
IGl0IGRvZXNuJ3QgbWF0dGVyIGV4YWN0bHkgd2hlcmUgc2luY2UgdGhlIGVsZW1lbnRzIGFyb3Vu
ZCBpdCB3aWxsIGJlIGhpZGRlbiBzb29uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGF0YUdyaWROb2RlLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGF0YUdyaWROb2Rl
LmpzCmluZGV4IGM4OTAxNjUuLjA5YmYyNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURhdGFHcmlkTm9kZS5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVEYXRhR3Jp
ZE5vZGUuanMKQEAgLTY0LDcgKzY0LDcgQEAgV2ViSW5zcGVjdG9yLkxheWVyVHJlZURhdGFHcmlk
Tm9kZSA9IGNsYXNzIExheWVyVHJlZURhdGFHcmlkTm9kZSBleHRlbmRzIFdlYkluc3AKIAogICAg
ICAgICB0aGlzLmRhdGEgPSB7CiAgICAgICAgICAgICBuYW1lOiBkb21Ob2RlID8gV2ViSW5zcGVj
dG9yLmRpc3BsYXlOYW1lRm9yTm9kZShkb21Ob2RlKSA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
VW5rbm93biBub2RlIiksCi0gICAgICAgICAgICBwYWludENvdW50OiBsYXllci5wYWludENvdW50
IHx8ICJcdTIwMTQiLAorICAgICAgICAgICAgcGFpbnRDb3VudDogbGF5ZXIucGFpbnRDb3VudCB8
fCBlbURhc2gsCiAgICAgICAgICAgICBtZW1vcnk6IE51bWJlci5ieXRlc1RvU3RyaW5nKGxheWVy
Lm1lbW9yeSB8fCAwKQogICAgICAgICB9OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lRGF0YUdyaWROb2Rl
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGlt
ZWxpbmVEYXRhR3JpZE5vZGUuanMKaW5kZXggZGRiNmYyOS4uOWY3MWQxNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVE
YXRhR3JpZE5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTY0LDcgKzY0LDYgQEAgV2Vi
SW5zcGVjdG9yLkxheW91dFRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgTGF5b3V0VGltZWxp
bmVEYXRhR3JpZE5vZGUgZXh0ZW4KIAogICAgIGNyZWF0ZUNlbGxDb250ZW50KGNvbHVtbklkZW50
aWZpZXIsIGNlbGwpCiAgICAgewotICAgICAgICBjb25zdCBlbXB0eVZhbHVlUGxhY2Vob2xkZXJT
dHJpbmcgPSAiXHUyMDE0IjsKICAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5kYXRhW2NvbHVtbklk
ZW50aWZpZXJdOwogCiAgICAgICAgIHN3aXRjaCAoY29sdW1uSWRlbnRpZmllcikgewpAQCAtNzMs
MTYgKzcyLDE2IEBAIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZURhdGFHcmlkTm9kZSA9IGNs
YXNzIExheW91dFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVuCiAKICAgICAgICAgY2FzZSAid2lk
dGgiOgogICAgICAgICBjYXNlICJoZWlnaHQiOgotICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZh
bHVlKSA/IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA6IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiJWZweCIpLmZvcm1hdCh2YWx1ZSk7CisgICAgICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUp
ID8gZW1EYXNoIDogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZnB4IikuZm9ybWF0KHZhbHVlKTsK
IAogICAgICAgICBjYXNlICJhcmVhIjoKLSAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkg
PyBlbXB0eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmcgOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVm
cHjCsiIpLmZvcm1hdCh2YWx1ZSk7CisgICAgICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpID8g
ZW1EYXNoIDogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZnB4wrIiKS5mb3JtYXQodmFsdWUpOwog
CiAgICAgICAgIGNhc2UgInN0YXJ0VGltZSI6Ci0gICAgICAgICAgICByZXR1cm4gaXNOYU4odmFs
dWUpID8gZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDogTnVtYmVyLnNlY29uZHNUb1N0cmlu
Zyh2YWx1ZSAtIHRoaXMuX2Jhc2VTdGFydFRpbWUsIHRydWUpOworICAgICAgICAgICAgcmV0dXJu
IGlzTmFOKHZhbHVlKSA/IGVtRGFzaCA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUgLSB0
aGlzLl9iYXNlU3RhcnRUaW1lLCB0cnVlKTsKIAogICAgICAgICBjYXNlICJ0b3RhbFRpbWUiOgot
ICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0
cmluZyA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUsIHRydWUpOworICAgICAgICAgICAg
cmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtRGFzaCA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFs
dWUsIHRydWUpOwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIHN1cGVyLmNyZWF0ZUNlbGxD
b250ZW50KGNvbHVtbklkZW50aWZpZXIsIGNlbGwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5Q2F0ZWdvcnlWaWV3LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5Q2F0ZWdvcnlWaWV3
LmpzCmluZGV4IDUxNTZkZWUuLjUyMzk4ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeUNhdGVnb3J5Vmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NZW1vcnlDYXRlZ29yeVZpZXcu
anMKQEAgLTEwOSw3ICsxMDksNiBAQCBXZWJJbnNwZWN0b3IuTWVtb3J5Q2F0ZWdvcnlWaWV3ID0g
Y2xhc3MgTWVtb3J5Q2F0ZWdvcnlWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogCiAgICAgX3Vw
ZGF0ZURldGFpbHMobWluU2l6ZSwgbWF4U2l6ZSkKICAgICB7Ci0gICAgICAgIGNvbnN0IGVtRGFz
aCA9ICJcdTIwMTQiOwogICAgICAgICB0aGlzLl9kZXRhaWxzTWF4RWxlbWVudC50ZXh0Q29udGVu
dCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSGlnaGVzdDogJXMiKS5mb3JtYXQoTnVtYmVyLmlz
RmluaXRlKG1heFNpemUpID8gTnVtYmVyLmJ5dGVzVG9TdHJpbmcobWF4U2l6ZSkgOiBlbURhc2gp
OwogICAgICAgICB0aGlzLl9kZXRhaWxzTWluRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiTG93ZXN0OiAlcyIpLmZvcm1hdChOdW1iZXIuaXNGaW5pdGUobWluU2l6
ZSkgPyBOdW1iZXIuYnl0ZXNUb1N0cmluZyhtaW5TaXplKSA6IGVtRGFzaCk7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWVtb3J5
VGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTWVtb3J5VGltZWxpbmVWaWV3LmpzCmluZGV4IGRiNDZlNDguLjVmMzgzNTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01lbW9yeVRpbWVs
aW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9NZW1vcnlUaW1lbGluZVZpZXcuanMKQEAgLTI0Myw3ICsyNDMsNyBAQCBXZWJJbnNwZWN0b3Iu
TWVtb3J5VGltZWxpbmVWaWV3ID0gY2xhc3MgTWVtb3J5VGltZWxpbmVWaWV3IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLgogICAgIF9jbGVhclVzYWdlTGVnZW5kKCkKICAgICB7CiAgICAgICAgIGZvciAo
bGV0IHNpemVFbGVtZW50IG9mIHRoaXMuX3VzYWdlTGVnZW5kU2l6ZUVsZW1lbnRNYXAudmFsdWVz
KCkpCi0gICAgICAgICAgICBzaXplRWxlbWVudC50ZXh0Q29udGVudCA9ICJcdTIwMTQiOworICAg
ICAgICAgICAgc2l6ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBlbURhc2g7CiAKICAgICAgICAgbGV0
IHRvdGFsRWxlbWVudCA9IHRoaXMuX3VzYWdlQ2lyY2xlQ2hhcnQuY2VudGVyRWxlbWVudC5maXJz
dENoaWxkOwogICAgICAgICBpZiAodG90YWxFbGVtZW50KSB7CkBAIC0yNTYsNyArMjU2LDcgQEAg
V2ViSW5zcGVjdG9yLk1lbW9yeVRpbWVsaW5lVmlldyA9IGNsYXNzIE1lbW9yeVRpbWVsaW5lVmll
dyBleHRlbmRzIFdlYkluc3BlY3Rvci4KICAgICB7CiAgICAgICAgIGZvciAobGV0IHt0eXBlLCBz
aXplfSBvZiByZWNvcmQuY2F0ZWdvcmllcykgewogICAgICAgICAgICAgbGV0IHNpemVFbGVtZW50
ID0gdGhpcy5fdXNhZ2VMZWdlbmRTaXplRWxlbWVudE1hcC5nZXQodHlwZSk7Ci0gICAgICAgICAg
ICBzaXplRWxlbWVudC50ZXh0Q29udGVudCA9IE51bWJlci5pc0Zpbml0ZShzaXplKSA/IE51bWJl
ci5ieXRlc1RvU3RyaW5nKHNpemUpIDogIlx1MjAxNCI7CisgICAgICAgICAgICBzaXplRWxlbWVu
dC50ZXh0Q29udGVudCA9IE51bWJlci5pc0Zpbml0ZShzaXplKSA/IE51bWJlci5ieXRlc1RvU3Ry
aW5nKHNpemUpIDogZW1EYXNoOwogICAgICAgICB9CiAKICAgICAgICAgbGV0IGNlbnRlckVsZW1l
bnQgPSB0aGlzLl91c2FnZUNpcmNsZUNoYXJ0LmNlbnRlckVsZW1lbnQ7CkBAIC0yNzYsOCArMjc2
LDggQEAgV2ViSW5zcGVjdG9yLk1lbW9yeVRpbWVsaW5lVmlldyA9IGNsYXNzIE1lbW9yeVRpbWVs
aW5lVmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci4KIAogICAgIF9jbGVhck1heENvbXBhcmlzb25M
ZWdlbmQoKQogICAgIHsKLSAgICAgICAgdGhpcy5fbWF4Q29tcGFyaXNvbk1heGltdW1TaXplRWxl
bWVudC50ZXh0Q29udGVudCA9ICJcdTIwMTQiOwotICAgICAgICB0aGlzLl9tYXhDb21wYXJpc29u
Q3VycmVudFNpemVFbGVtZW50LnRleHRDb250ZW50ID0gIlx1MjAxNCI7CisgICAgICAgIHRoaXMu
X21heENvbXBhcmlzb25NYXhpbXVtU2l6ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBlbURhc2g7Cisg
ICAgICAgIHRoaXMuX21heENvbXBhcmlzb25DdXJyZW50U2l6ZUVsZW1lbnQudGV4dENvbnRlbnQg
PSBlbURhc2g7CiAKICAgICAgICAgbGV0IHRvdGFsRWxlbWVudCA9IHRoaXMuX21heENvbXBhcmlz
b25DaXJjbGVDaGFydC5jZW50ZXJFbGVtZW50LmZpcnN0Q2hpbGQ7CiAgICAgICAgIGlmICh0b3Rh
bEVsZW1lbnQpCkBAIC0yODYsOCArMjg2LDggQEAgV2ViSW5zcGVjdG9yLk1lbW9yeVRpbWVsaW5l
VmlldyA9IGNsYXNzIE1lbW9yeVRpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci4KIAog
ICAgIF91cGRhdGVNYXhDb21wYXJpc29uTGVnZW5kKGN1cnJlbnRTaXplKQogICAgIHsKLSAgICAg
ICAgdGhpcy5fbWF4Q29tcGFyaXNvbk1heGltdW1TaXplRWxlbWVudC50ZXh0Q29udGVudCA9IE51
bWJlci5pc0Zpbml0ZSh0aGlzLl9tYXhTaXplKSA/IE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMu
X21heFNpemUpIDogIlx1MjAxNCI7Ci0gICAgICAgIHRoaXMuX21heENvbXBhcmlzb25DdXJyZW50
U2l6ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBOdW1iZXIuaXNGaW5pdGUoY3VycmVudFNpemUpID8g
TnVtYmVyLmJ5dGVzVG9TdHJpbmcoY3VycmVudFNpemUpIDogIlx1MjAxNCI7CisgICAgICAgIHRo
aXMuX21heENvbXBhcmlzb25NYXhpbXVtU2l6ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBOdW1iZXIu
aXNGaW5pdGUodGhpcy5fbWF4U2l6ZSkgPyBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0aGlzLl9tYXhT
aXplKSA6IGVtRGFzaDsKKyAgICAgICAgdGhpcy5fbWF4Q29tcGFyaXNvbkN1cnJlbnRTaXplRWxl
bWVudC50ZXh0Q29udGVudCA9IE51bWJlci5pc0Zpbml0ZShjdXJyZW50U2l6ZSkgPyBOdW1iZXIu
Ynl0ZXNUb1N0cmluZyhjdXJyZW50U2l6ZSkgOiBlbURhc2g7CiAKICAgICAgICAgbGV0IGNlbnRl
ckVsZW1lbnQgPSB0aGlzLl9tYXhDb21wYXJpc29uQ2lyY2xlQ2hhcnQuY2VudGVyRWxlbWVudDsK
ICAgICAgICAgbGV0IHRvdGFsRWxlbWVudCA9IGNlbnRlckVsZW1lbnQuZmlyc3RDaGlsZDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL011bHRp
cGxlU2NvcGVCYXJJdGVtLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTXVsdGlwbGVTY29wZUJhckl0ZW0uanMKaW5kZXggZDU2OGZhMy4uNTNiNDc5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTXVsdGlw
bGVTY29wZUJhckl0ZW0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvTXVsdGlwbGVTY29wZUJhckl0ZW0uanMKQEAgLTc4LDcgKzc4LDcgQEAgV2ViSW5z
cGVjdG9yLk11bHRpcGxlU2NvcGVCYXJJdGVtID0gY2xhc3MgTXVsdGlwbGVTY29wZUJhckl0ZW0g
ZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgewogICAgICAgICAgICAgdmFyIG9wdGlvbkVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsKICAgICAgICAgICAgIHZhciBt
YXhQb3B1cE1lbnVMZW5ndGggPSAxMzA7IC8vIDxyZGFyOi8vcHJvYmxlbS8xMzQ0NTM3ND4gPHNl
bGVjdD4gd2l0aCB2ZXJ5IGxvbmcgb3B0aW9uIGhhcyBjbGlwcGVkIHRleHQgYW5kIHBvcHVwIG1l
bnUgaXMgc3RpbGwgdmVyeSB3aWRlCi0gICAgICAgICAgICBvcHRpb25FbGVtZW50LnRleHRDb250
ZW50ID0gc2NvcGVCYXJJdGVtLmxhYmVsLmxlbmd0aCA8PSBtYXhQb3B1cE1lbnVMZW5ndGggPyBz
Y29wZUJhckl0ZW0ubGFiZWwgOiBzY29wZUJhckl0ZW0ubGFiZWwuc3Vic3RyaW5nKDAsIG1heFBv
cHVwTWVudUxlbmd0aCkgKyAiXHUyMDI2IjsKKyAgICAgICAgICAgIG9wdGlvbkVsZW1lbnQudGV4
dENvbnRlbnQgPSBzY29wZUJhckl0ZW0ubGFiZWwubGVuZ3RoIDw9IG1heFBvcHVwTWVudUxlbmd0
aCA/IHNjb3BlQmFySXRlbS5sYWJlbCA6IHNjb3BlQmFySXRlbS5sYWJlbC5zdWJzdHJpbmcoMCwg
bWF4UG9wdXBNZW51TGVuZ3RoKSArIGVsbGlwc2lzOwogICAgICAgICAgICAgcmV0dXJuIG9wdGlv
bkVsZW1lbnQ7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0UHJldmlld1ZpZXcuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RQcmV2aWV3Vmlldy5qcwppbmRleCA1
MjJmMzc2Li5kZDc4NTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9PYmplY3RQcmV2aWV3Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RQcmV2aWV3Vmlldy5qcwpAQCAtMTgwLDcg
KzE4MCw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcmV2aWV3VmlldyA9IGNsYXNzIE9iamVjdFBy
ZXZpZXdWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iCiAgICAgICAgIGlmIChvdmVyZmxvdykg
ewogICAgICAgICAgICAgaWYgKGxpbWl0ID4gMCkKICAgICAgICAgICAgICAgICBlbGVtZW50LmFw
cGVuZCgiLCAiKTsKLSAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kKCJcdTIwMjYiKTsKKyAgICAg
ICAgICAgIGVsZW1lbnQuYXBwZW5kKGVsbGlwc2lzKTsKICAgICAgICAgfQogCiAgICAgICAgIGVs
ZW1lbnQuYXBwZW5kKGlzSXRlcmF0b3IgPyAiXSIgOiAifSIpOwpAQCAtMjQ1LDcgKzI0NSw3IEBA
IFdlYkluc3BlY3Rvci5PYmplY3RQcmV2aWV3VmlldyA9IGNsYXNzIE9iamVjdFByZXZpZXdWaWV3
IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iCiAgICAgICAgIGlmIChvdmVyZmxvdykgewogICAgICAg
ICAgICAgaWYgKGxpbWl0ID4gMCkKICAgICAgICAgICAgICAgICBlbGVtZW50LmFwcGVuZCgiLCAi
KTsKLSAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kKCJcdTIwMjYiKTsKKyAgICAgICAgICAgIGVs
ZW1lbnQuYXBwZW5kKGVsbGlwc2lzKTsKICAgICAgICAgfQogCiAgICAgICAgIGVsZW1lbnQuYXBw
ZW5kKGlzQXJyYXkgPyAiXSIgOiAifSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9maWxlTm9kZURhdGFHcmlk
Tm9kZS5qcwppbmRleCAwZDRmNjIwLi5kNTg0YzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9maWxlTm9kZURhdGFHcmlkTm9kZS5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9maWxlTm9k
ZURhdGFHcmlkTm9kZS5qcwpAQCAtMTA1LDE3ICsxMDUsMTYgQEAgV2ViSW5zcGVjdG9yLlByb2Zp
bGVOb2RlRGF0YUdyaWROb2RlID0gY2xhc3MgUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGUgZXh0ZW5k
cyBXZWIKIAogICAgIGNyZWF0ZUNlbGxDb250ZW50KGNvbHVtbklkZW50aWZpZXIsIGNlbGwpCiAg
ICAgewotICAgICAgICBjb25zdCBlbXB0eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmcgPSAiXHUyMDE0
IjsKICAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5kYXRhW2NvbHVtbklkZW50aWZpZXJdOwogCiAg
ICAgICAgIHN3aXRjaCAoY29sdW1uSWRlbnRpZmllcikgewogICAgICAgICBjYXNlICJzdGFydFRp
bWUiOgotICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IGVtcHR5VmFsdWVQbGFjZWhv
bGRlclN0cmluZyA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUgLSB0aGlzLl9iYXNlU3Rh
cnRUaW1lLCB0cnVlKTsKKyAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbURhc2gg
OiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHZhbHVlIC0gdGhpcy5fYmFzZVN0YXJ0VGltZSwgdHJ1
ZSk7CiAKICAgICAgICAgY2FzZSAic2VsZlRpbWUiOgogICAgICAgICBjYXNlICJ0b3RhbFRpbWUi
OgogICAgICAgICBjYXNlICJhdmVyYWdlVGltZSI6Ci0gICAgICAgICAgICByZXR1cm4gaXNOYU4o
dmFsdWUpID8gZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDogTnVtYmVyLnNlY29uZHNUb1N0
cmluZyh2YWx1ZSwgdHJ1ZSk7CisgICAgICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpID8gZW1E
YXNoIDogTnVtYmVyLnNlY29uZHNUb1N0cmluZyh2YWx1ZSwgdHJ1ZSk7CiAgICAgICAgIH0KIAog
ICAgICAgICByZXR1cm4gc3VwZXIuY3JlYXRlQ2VsbENvbnRlbnQoY29sdW1uSWRlbnRpZmllciwg
Y2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZURhdGFH
cmlkTm9kZS5qcwppbmRleCA3MTVmZDcxLi4xNWUxNzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGF0
YUdyaWROb2RlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTY3LDE5ICs2Nywx
OCBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZURhdGFHcmlkTm9kZSA9IGNs
YXNzIFJlbmRlcmluZ0ZyYW1lVGltZWxpbmVEYQogCiAgICAgY3JlYXRlQ2VsbENvbnRlbnQoY29s
dW1uSWRlbnRpZmllciwgY2VsbCkKICAgICB7Ci0gICAgICAgIGNvbnN0IGVtcHR5VmFsdWVQbGFj
ZWhvbGRlclN0cmluZyA9ICJcdTIwMTQiOwogICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLmRhdGFb
Y29sdW1uSWRlbnRpZmllcl07CiAKICAgICAgICAgc3dpdGNoIChjb2x1bW5JZGVudGlmaWVyKSB7
CiAgICAgICAgIGNhc2UgInN0YXJ0VGltZSI6Ci0gICAgICAgICAgICByZXR1cm4gaXNOYU4odmFs
dWUpID8gZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDogTnVtYmVyLnNlY29uZHNUb1N0cmlu
Zyh2YWx1ZSAtIHRoaXMuX2Jhc2VTdGFydFRpbWUsIHRydWUpOworICAgICAgICAgICAgcmV0dXJu
IGlzTmFOKHZhbHVlKSA/IGVtRGFzaCA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUgLSB0
aGlzLl9iYXNlU3RhcnRUaW1lLCB0cnVlKTsKIAogICAgICAgICBjYXNlICJzY3JpcHRUaW1lIjoK
ICAgICAgICAgY2FzZSAibGF5b3V0VGltZSI6CiAgICAgICAgIGNhc2UgInBhaW50VGltZSI6CiAg
ICAgICAgIGNhc2UgIm90aGVyVGltZSI6CiAgICAgICAgIGNhc2UgInRvdGFsVGltZSI6Ci0gICAg
ICAgICAgICByZXR1cm4gKGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA9PT0gMCkgPyBlbXB0eVZhbHVl
UGxhY2Vob2xkZXJTdHJpbmcgOiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHZhbHVlLCB0cnVlKTsK
KyAgICAgICAgICAgIHJldHVybiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSAwKSA/IGVtRGFz
aCA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUsIHRydWUpOwogICAgICAgICB9CiAKICAg
ICAgICAgcmV0dXJuIHN1cGVyLmNyZWF0ZUNlbGxDb250ZW50KGNvbHVtbklkZW50aWZpZXIsIGNl
bGwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4
IDc5ZmRmMWIuLjNjNDgyNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZURldGFpbHNTaWRl
YmFyUGFuZWwuanMKQEAgLTI4Nyw3ICsyODcsNiBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRh
aWxzU2lkZWJhclBhbmVsID0gY2xhc3MgUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsIGV4dAog
CiAgICAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYSB2YWx1ZSwgd2Ugc2V0IGFuIGVtLWRhc2gg
dG8ga2VlcCB0aGUgcm93IGZyb20gaGlkaW5nLgogICAgICAgICAvLyBUaGlzIGtlZXBzIHRoZSBV
SSBmcm9tIHNoaWZ0aW5nIGFyb3VuZCBhcyBkYXRhIGNvbWVzIGluLgotICAgICAgICB2YXIgZW1E
YXNoID0gIlx1MjAxNCI7CiAKICAgICAgICAgdGhpcy5fcmVxdWVzdE1ldGhvZFJvdy52YWx1ZSA9
IHJlc291cmNlLnJlcXVlc3RNZXRob2QgfHwgZW1EYXNoOwogCkBAIC0zMDQsNyArMzAzLDYgQEAg
V2ViSW5zcGVjdG9yLlJlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIFJlc291cmNl
RGV0YWlsc1NpZGViYXJQYW5lbCBleHQKICAgICB7CiAgICAgICAgIC8vIElmIHdlIGRvbid0IGhh
dmUgYSB2YWx1ZSwgd2Ugc2V0IGFuIGVtLWRhc2ggdG8ga2VlcCB0aGUgcm93IGZyb20gaGlkaW5n
LgogICAgICAgICAvLyBUaGlzIGtlZXBzIHRoZSBVSSBmcm9tIHNoaWZ0aW5nIGFyb3VuZCBhcyBk
YXRhIGNvbWVzIGluLgotICAgICAgICB2YXIgZW1EYXNoID0gIlx1MjAxNCI7CiAgICAgICAgIHJl
dHVybiBzaXplID4gMCA/IE51bWJlci5ieXRlc1RvU3RyaW5nKHNpemUpIDogZW1EYXNoOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKaW5k
ZXggYjM5MzVlYy4uMGM2ZGY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRpbWVsaW5l
RGF0YUdyaWROb2RlLmpzCkBAIC05Myw3ICs5Myw2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRp
bWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZSBl
CiAgICAgICAgIGlmIChyZXNvdXJjZS5mYWlsZWQgfHwgcmVzb3VyY2UuY2FuY2VsZWQgfHwgcmVz
b3VyY2Uuc3RhdHVzQ29kZSA+PSA0MDApCiAgICAgICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQo
ImVycm9yIik7CiAKLSAgICAgICAgY29uc3QgZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nID0g
Ilx1MjAxNCI7CiAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZGF0YVtjb2x1bW5JZGVudGlmaWVy
XTsKIAogICAgICAgICBzd2l0Y2ggKGNvbHVtbklkZW50aWZpZXIpIHsKQEAgLTEwMiwyMiArMTAx
LDIyIEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3Mg
UmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZSBlCiAKICAgICAgICAgY2FzZSAic3RhdHVzQ29k
ZSI6CiAgICAgICAgICAgICBjZWxsLnRpdGxlID0gcmVzb3VyY2Uuc3RhdHVzVGV4dCB8fCAiIjsK
LSAgICAgICAgICAgIHJldHVybiB2YWx1ZSB8fCBlbXB0eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmc7
CisgICAgICAgICAgICByZXR1cm4gdmFsdWUgfHwgZW1EYXNoOwogCiAgICAgICAgIGNhc2UgImNh
Y2hlZCI6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUgPyBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlllcyIpIDogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJObyIpOwogCiAgICAgICAgIGNhc2UgImRv
bWFpbiI6Ci0gICAgICAgICAgICByZXR1cm4gdmFsdWUgfHwgZW1wdHlWYWx1ZVBsYWNlaG9sZGVy
U3RyaW5nOworICAgICAgICAgICAgcmV0dXJuIHZhbHVlIHx8IGVtRGFzaDsKIAogICAgICAgICBj
YXNlICJzaXplIjoKICAgICAgICAgY2FzZSAidHJhbnNmZXJTaXplIjoKLSAgICAgICAgICAgIHJl
dHVybiBpc05hTih2YWx1ZSkgPyBlbXB0eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmcgOiBOdW1iZXIu
Ynl0ZXNUb1N0cmluZyh2YWx1ZSwgdHJ1ZSk7CisgICAgICAgICAgICByZXR1cm4gaXNOYU4odmFs
dWUpID8gZW1EYXNoIDogTnVtYmVyLmJ5dGVzVG9TdHJpbmcodmFsdWUsIHRydWUpOwogCiAgICAg
ICAgIGNhc2UgInJlcXVlc3RTZW50IjoKICAgICAgICAgY2FzZSAibGF0ZW5jeSI6CiAgICAgICAg
IGNhc2UgImR1cmF0aW9uIjoKLSAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbXB0
eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmcgOiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHZhbHVlLCB0
cnVlKTsKKyAgICAgICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbURhc2ggOiBOdW1iZXIu
c2Vjb25kc1RvU3RyaW5nKHZhbHVlLCB0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVy
biBzdXBlci5jcmVhdGVDZWxsQ29udGVudChjb2x1bW5JZGVudGlmaWVyLCBjZWxsKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRp
bWVsaW5lRGF0YUdyaWROb2RlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKaW5kZXggNWU5YTlhYi4uMjEy
MWI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAg
LTEyMSw3ICsxMjEsNiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUg
PSBjbGFzcyBTY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZSBleHRlbgogCiAgICAgY3JlYXRlQ2Vs
bENvbnRlbnQoY29sdW1uSWRlbnRpZmllciwgY2VsbCkKICAgICB7Ci0gICAgICAgIGNvbnN0IGVt
cHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA9ICJcdTIwMTQiOwogICAgICAgICB2YXIgdmFsdWUg
PSB0aGlzLmRhdGFbY29sdW1uSWRlbnRpZmllcl07CiAKICAgICAgICAgc3dpdGNoIChjb2x1bW5J
ZGVudGlmaWVyKSB7CkBAIC0xMjksMTUgKzEyOCwxNSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGlt
ZWxpbmVEYXRhR3JpZE5vZGUgPSBjbGFzcyBTY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZSBleHRl
bgogICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuZGlzcGxheU5hbWUodmFsdWUsIHRoaXMuX3JlY29yZC5kZXRhaWxzKTsKIAogICAg
ICAgICBjYXNlICJzdGFydFRpbWUiOgotICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/
IGVtcHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA6IE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFs
dWUgLSB0aGlzLl9iYXNlU3RhcnRUaW1lLCB0cnVlKTsKKyAgICAgICAgICAgIHJldHVybiBpc05h
Tih2YWx1ZSkgPyBlbURhc2ggOiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHZhbHVlIC0gdGhpcy5f
YmFzZVN0YXJ0VGltZSwgdHJ1ZSk7CiAKICAgICAgICAgY2FzZSAic2VsZlRpbWUiOgogICAgICAg
ICBjYXNlICJ0b3RhbFRpbWUiOgogICAgICAgICBjYXNlICJhdmVyYWdlVGltZSI6Ci0gICAgICAg
ICAgICByZXR1cm4gaXNOYU4odmFsdWUpID8gZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nIDog
TnVtYmVyLnNlY29uZHNUb1N0cmluZyh2YWx1ZSwgdHJ1ZSk7CisgICAgICAgICAgICByZXR1cm4g
aXNOYU4odmFsdWUpID8gZW1EYXNoIDogTnVtYmVyLnNlY29uZHNUb1N0cmluZyh2YWx1ZSwgdHJ1
ZSk7CiAKICAgICAgICAgY2FzZSAiY2FsbENvdW50IjoKLSAgICAgICAgICAgIHJldHVybiBpc05h
Tih2YWx1ZSkgPyBlbXB0eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmcgOiB2YWx1ZTsKKyAgICAgICAg
ICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyBlbURhc2ggOiB2YWx1ZTsKICAgICAgICAgfQogCiAg
ICAgICAgIHJldHVybiBzdXBlci5jcmVhdGVDZWxsQ29udGVudChjb2x1bW5JZGVudGlmaWVyLCBj
ZWxsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NlYXJjaFJlc3VsdFRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoUmVzdWx0VHJlZUVsZW1lbnQuanMKaW5kZXggMTViYjg1
ZC4uODlhZDczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU2VhcmNoUmVzdWx0VHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoUmVzdWx0VHJlZUVsZW1lbnQuanMKQEAg
LTUwLDcgKzUwLDcgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaFJlc3VsdFRyZWVFbGVtZW50ID0gY2xh
c3MgU2VhcmNoUmVzdWx0VHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWIKICAgICAgICAgLy8gYXQgdGhl
IGVuZCBvZiB0aGUgc3RyaW5nLgogICAgICAgICB2YXIgbW9kaWZpZWRUaXRsZSA9IG51bGw7CiAg
ICAgICAgIGlmIChzZWFyY2hUZXJtSW5kZXggPiBXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0VHJl
ZUVsZW1lbnQuQ2hhcmFjdGVyc1RvU2hvd0JlZm9yZVNlYXJjaE1hdGNoKSB7Ci0gICAgICAgICAg
ICBtb2RpZmllZFRpdGxlID0gIlx1MjAyNiIgKyB0aXRsZS5zdWJzdHJpbmcoc2VhcmNoVGVybUlu
ZGV4IC0gV2ViSW5zcGVjdG9yLlNlYXJjaFJlc3VsdFRyZWVFbGVtZW50LkNoYXJhY3RlcnNUb1No
b3dCZWZvcmVTZWFyY2hNYXRjaCk7CisgICAgICAgICAgICBtb2RpZmllZFRpdGxlID0gZWxsaXBz
aXMgKyB0aXRsZS5zdWJzdHJpbmcoc2VhcmNoVGVybUluZGV4IC0gV2ViSW5zcGVjdG9yLlNlYXJj
aFJlc3VsdFRyZWVFbGVtZW50LkNoYXJhY3RlcnNUb1Nob3dCZWZvcmVTZWFyY2hNYXRjaCk7CiAg
ICAgICAgICAgICBzZWFyY2hUZXJtSW5kZXggPSBXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0VHJl
ZUVsZW1lbnQuQ2hhcmFjdGVyc1RvU2hvd0JlZm9yZVNlYXJjaE1hdGNoICsgMTsKICAgICAgICAg
fSBlbHNlCiAgICAgICAgICAgICBtb2RpZmllZFRpdGxlID0gdGl0bGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlk
Tm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lRGF0YUdyaWROb2RlLmpzCmluZGV4IDhhOWVjMTUuLmY4MjAyMjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWRO
b2RlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lRGF0YUdyaWROb2RlLmpzCkBAIC0xMDEsNyArMTAxLDcgQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgVGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW5kcyBX
ZWJJbnNwZWMKIAogICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLmRhdGFbY29sdW1uSWRlbnRpZmll
cl07CiAgICAgICAgIGlmICghdmFsdWUpCi0gICAgICAgICAgICByZXR1cm4gIlx1MjAxNCI7Cisg
ICAgICAgICAgICByZXR1cm4gZW1EYXNoOwogCiAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9m
IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlTG9jYXRpb24pIHsKICAgICAgICAgICAgIGlmICh2YWx1
ZS5zb3VyY2VDb2RlIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlJlc291cmNlKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UeXBlVHJlZUVs
ZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UeXBl
VHJlZUVsZW1lbnQuanMKaW5kZXggMjNkNGExNS4uNDE3MTU1ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHlwZVRyZWVFbGVtZW50LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1R5cGVUcmVlRWxl
bWVudC5qcwpAQCAtOTksNyArOTksNyBAQCBXZWJJbnNwZWN0b3IuVHlwZVRyZWVFbGVtZW50ID0g
Y2xhc3MgVHlwZVRyZWVFbGVtZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkdlbmVyYQogICAgICAg
ICAgICAgdGhpcy5hcHBlbmRDaGlsZChuZXcgV2ViSW5zcGVjdG9yLlR5cGVUcmVlRWxlbWVudChw
cm9wZXJ0eS5uYW1lLCBudWxsKSk7CiAKICAgICAgICAgaWYgKHRoaXMuX3N0cnVjdHVyZURlc2Ny
aXB0aW9uLmltcHJlY2lzZSkgewotICAgICAgICAgICAgdmFyIHRydW5jYXRlZE1lc3NhZ2VFbGVt
ZW50ID0gV2ViSW5zcGVjdG9yLk9iamVjdFRyZWVWaWV3LmNyZWF0ZUVtcHR5TWVzc2FnZUVsZW1l
bnQoIlx1MjAyNiIpOworICAgICAgICAgICAgdmFyIHRydW5jYXRlZE1lc3NhZ2VFbGVtZW50ID0g
V2ViSW5zcGVjdG9yLk9iamVjdFRyZWVWaWV3LmNyZWF0ZUVtcHR5TWVzc2FnZUVsZW1lbnQoZWxs
aXBzaXMpOwogICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGlsZChuZXcgV2ViSW5zcGVjdG9yLlRy
ZWVFbGVtZW50KHRydW5jYXRlZE1lc3NhZ2VFbGVtZW50LCBudWxsLCBmYWxzZSkpOwogICAgICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1R5cGVUcmVlVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1R5cGVUcmVlVmlldy5qcwppbmRleCAxZDYzMTMzLi5hYmNlZjg4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UeXBlVHJlZVZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHlwZVRy
ZWVWaWV3LmpzCkBAIC03OSw3ICs3OSw3IEBAIFdlYkluc3BlY3Rvci5UeXBlVHJlZVZpZXcgPSBj
bGFzcyBUeXBlVHJlZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgICAg
ICB0aGlzLl9vdXRsaW5lLmFwcGVuZENoaWxkKG5ldyBXZWJJbnNwZWN0b3IuVHlwZVRyZWVFbGVt
ZW50KHR5cGUubmFtZSwgdHlwZS5zdHJ1Y3R1cmUsIGZhbHNlKSk7CiAKICAgICAgICAgaWYgKHRo
aXMuX3R5cGVEZXNjcmlwdGlvbi50cnVuY2F0ZWQpIHsKLSAgICAgICAgICAgIHZhciB0cnVuY2F0
ZWRNZXNzYWdlRWxlbWVudCA9IFdlYkluc3BlY3Rvci5PYmplY3RUcmVlVmlldy5jcmVhdGVFbXB0
eU1lc3NhZ2VFbGVtZW50KCJcdTIwMjYiKTsKKyAgICAgICAgICAgIHZhciB0cnVuY2F0ZWRNZXNz
YWdlRWxlbWVudCA9IFdlYkluc3BlY3Rvci5PYmplY3RUcmVlVmlldy5jcmVhdGVFbXB0eU1lc3Nh
Z2VFbGVtZW50KGVsbGlwc2lzKTsKICAgICAgICAgICAgIHRoaXMuX291dGxpbmUuYXBwZW5kQ2hp
bGQobmV3IFdlYkluc3BlY3Rvci5UcmVlRWxlbWVudCh0cnVuY2F0ZWRNZXNzYWdlRWxlbWVudCwg
bnVsbCwgZmFsc2UpKTsKICAgICAgICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>