<?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>153731</bug_id>
          
          <creation_ts>2016-01-31 16:41:36 -0800</creation_ts>
          <short_desc>Web Inspector: add a LayoutReason enum to the View base class</short_desc>
          <delta_ts>2016-02-01 17:27:34 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>153032</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</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>1160697</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-01-31 16:41:36 -0800</bug_when>
    <thetext>* SUMMARY
Add an updateLayoutForResize method to the View base class. A handful of classes cache the size/position of DOM elements to avoid unnecessary reflows during layout. It would be useful to have a generic way to inform a view that it&apos;s size has changed, and to propagate this to the view&apos;s children.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160698</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-01-31 16:42:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/24430938&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160701</commentid>
    <comment_count>2</comment_count>
      <attachid>270355</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-01-31 17:15:22 -0800</bug_when>
    <thetext>Created attachment 270355
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160830</commentid>
    <comment_count>3</comment_count>
      <attachid>270355</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-01 06:00:57 -0800</bug_when>
    <thetext>Comment on attachment 270355
[Patch] Proposed Fix

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

&gt; Source/WebInspectorUI/ChangeLog:42
&gt; +        Overridden by views that need to perform resize logic, such as

If this is always going to happen in the same event loop as the actual layout, what&apos;s the benefit of splitting this from updateLayoutForResize implementations?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160890</commentid>
    <comment_count>4</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-01 09:40:18 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 270355 [details]
&gt; [Patch] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=270355&amp;action=review
&gt; 
&gt; &gt; Source/WebInspectorUI/ChangeLog:42
&gt; &gt; +        Overridden by views that need to perform resize logic, such as
&gt; 
&gt; If this is always going to happen in the same event loop as the actual
&gt; layout, what&apos;s the benefit of splitting this from updateLayoutForResize
&gt; implementations?

Another way of thinking about this might be: can we pass a LayoutUpdateReason enum {Resize, Dirty} as an argument to updateLayout(), and would this be clearer than two separate methods with an implicit contract about the calling order? My hunch is yes, but maybe I&apos;m missing something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161045</commentid>
    <comment_count>5</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-02-01 14:45:15 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Comment on attachment 270355 [details]
&gt; &gt; [Patch] Proposed Fix
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=270355&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebInspectorUI/ChangeLog:42
&gt; &gt; &gt; +        Overridden by views that need to perform resize logic, such as
&gt; &gt; 
&gt; &gt; If this is always going to happen in the same event loop as the actual
&gt; &gt; layout, what&apos;s the benefit of splitting this from updateLayoutForResize
&gt; &gt; implementations?
&gt; 
&gt; Another way of thinking about this might be: can we pass a
&gt; LayoutUpdateReason enum {Resize, Dirty} as an argument to updateLayout(),
&gt; and would this be clearer than two separate methods with an implicit
&gt; contract about the calling order? My hunch is yes, but maybe I&apos;m missing
&gt; something.

I like this suggestion. The optional argument can be passed to needsLayout as well as updateLayout, making it more flexible than this approach. There used to exist an updateLayoutForResize method prior to all the View refactoring, which is what I initially based this on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161095</commentid>
    <comment_count>6</comment_count>
      <attachid>270444</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-02-01 16:06:15 -0800</bug_when>
    <thetext>Created attachment 270444
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161104</commentid>
    <comment_count>7</comment_count>
      <attachid>270446</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-02-01 16:10:32 -0800</bug_when>
    <thetext>Created attachment 270446
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161116</commentid>
    <comment_count>8</comment_count>
      <attachid>270446</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-01 16:32:37 -0800</bug_when>
    <thetext>Comment on attachment 270446
[Patch] Proposed Fix

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

r=me, but please check that TimelineRuler has not turned into a performance problem.

&gt; Source/WebInspectorUI/ChangeLog:41
&gt; +        update cached client width if resized.

Nit: &apos;Update&apos;

&gt; Source/WebInspectorUI/UserInterface/Views/View.js:304
&gt; +    Dirty: Symbol(&quot;layout-layoutReason-dirty&quot;),

Nit: view-layout-reason-dirty</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161118</commentid>
    <comment_count>9</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-02-01 16:33:43 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 270446 [details]
&gt; [Patch] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=270446&amp;action=review
&gt; 
&gt; r=me, but please check that TimelineRuler has not turned into a performance
&gt; problem.

Did ad hoc testing, looks okay!

&gt; 
&gt; &gt; Source/WebInspectorUI/ChangeLog:41
&gt; &gt; +        update cached client width if resized.
&gt; 
&gt; Nit: &apos;Update&apos;
&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Views/View.js:304
&gt; &gt; +    Dirty: Symbol(&quot;layout-layoutReason-dirty&quot;),
&gt; 
&gt; Nit: view-layout-reason-dirty

Find-replace error. Ugh.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161121</commentid>
    <comment_count>10</comment_count>
      <attachid>270451</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-02-01 16:37:45 -0800</bug_when>
    <thetext>Created attachment 270451
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161146</commentid>
    <comment_count>11</comment_count>
      <attachid>270451</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-01 17:27:30 -0800</bug_when>
    <thetext>Comment on attachment 270451
[Patch] Proposed Fix

Clearing flags on attachment: 270451

Committed r195995: &lt;http://trac.webkit.org/changeset/195995&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161147</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-01 17:27:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270355</attachid>
            <date>2016-01-31 17:15:22 -0800</date>
            <delta_ts>2016-02-01 16:06:12 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-153731-20160131171457.patch</filename>
            <type>text/plain</type>
            <size>9622</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1OTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAz
Njg5NzQ4YWQ5YmJiNzBhM2VjODExNWVjMGIzMTI2YzliYjM5YzFiLi5jMGU2ZTE5ODk2OTY5YmRl
MTIyNjE4NTAwZjMyZWE1ZjgyODBjODc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OSBAQAorMjAxNi0wMS0zMSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIGFuIHVwZGF0ZUxheW91dEZvclJlc2l6ZSBt
ZXRob2QgdG8gdGhlIFZpZXcgYmFzZSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNzMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDQz
MDkzOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgorICAgICAgICBVc2UgdXBkYXRlTGF5b3V0Rm9y
UmVzaXplIGluc3RlYWQgb2YgdXBkYXRlTGF5b3V0LgorCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9EYXRhR3JpZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90
b3R5cGUuX3Bvc2l0aW9uSGVhZGVyVmlld3MpOgorICAgICAgICBJbmZvcm0gaGVhZGVyIHZpZXcg
dGhhdCBpdCdzIHNpemUgaGFzIGNoYW5nZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL092ZXJ2aWV3VGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk92ZXJ2
aWV3VGltZWxpbmVWaWV3LnByb3RvdHlwZS5zaG93bik6CisgICAgICAgIFVzZSB1cGRhdGVMYXlv
dXRGb3JSZXNpemUgaW5zdGVhZCBvZiB1cGRhdGVMYXlvdXQuIFRoZSBydWxlcidzIHJlc2l6ZQor
ICAgICAgICBtZXRob2QgaGFzIGJlZW4gc3VwZXJzZWRlZCBieSBkaWRSZXNpemVCZWZvcmVMYXlv
dXQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcucHJvdG90eXBl
LnVwZGF0ZUxheW91dEZvclJlc2l6ZSk6IERlbGV0ZWQuCisgICAgICAgIE5vIGxvbmdlciBuZWVk
ZWQuIFRoaXMgaXMgbm93IGhhbmRsZWQgYnkgdGhlIFZpZXcgYmFzZSBjbGFzcy4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5zaG93bik6CisgICAgICAgIEFz
c3VtZSB0aGUgdmlldyBoYXMgYmVlbiByZXNpemVkIHdoZW4gc2hvd24sIGFuZCB1cGRhdGUgbGF5
b3V0LgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLmRp
ZFJlc2l6ZUJlZm9yZUxheW91dCk6CisgICAgICAgIEludmFsaWRhdGUgY2FjaGVkIHNjcm9sbCBj
b250YWluZXIgd2lkdGguCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5w
cm90b3R5cGUudXBkYXRlTGF5b3V0Rm9yUmVzaXplKTogRGVsZXRlZC4KKyAgICAgICAgTm8gbG9u
Z2VyIG5lZWRlZC4gVGhpcyBpcyBub3cgaGFuZGxlZCBieSB0aGUgVmlldyBiYXNlIGNsYXNzLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLmRpZFJlc2l6ZUJlZm9yZUxh
eW91dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5cGUucmVz
aXplKTogRGVsZXRlZC4KKyAgICAgICAgTW92ZWQgcmVzaXplIGxvZ2ljIHRvIGRpZFJlc2l6ZUJl
Zm9yZUxheW91dC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS51cGRhdGVMYXlvdXRGb3JSZXNpemUp
OgorICAgICAgICBJbmZvcm0gdGhlIHZpZXcgdGhhdCBpdCdzIHNpemUgaGFzIGNoYW5nZWQsIGFu
ZCB0aGVuIGRvIGEgc3luY2hyb25vdXMKKyAgICAgICAgbGF5b3V0LiBBcyB0aGUgdmlldydzIHN1
YnRyZWUgaXMgdHJhdmVyc2VkLCBlYWNoIGNoaWxkIHZpZXcgaXMgZ2l2ZW4KKyAgICAgICAgYSBj
aGFuY2UgdG8gcGVyZm9ybSByZXNpemUgbG9naWMgYmVmb3JlIGl0J3MgbGF5b3V0IGlzIHVwZGF0
ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuZGlkUmVzaXplQmVmb3Jl
TGF5b3V0KToKKyAgICAgICAgT3ZlcnJpZGRlbiBieSB2aWV3cyB0aGF0IG5lZWQgdG8gcGVyZm9y
bSByZXNpemUgbG9naWMsIHN1Y2ggYXMKKyAgICAgICAgaW52YWxpZGF0aW5nIGNhY2hlZCBlbGVt
ZW50IHNpemVzLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLl9sYXlvdXRT
dWJ0cmVlKToKKyAgICAgICAgUHJvcGFnYXRlIHJlc2l6ZSBmbGFnIHRvIHN1YnRyZWUgaWYgbmVl
ZGVkLiBDbGVhciByZXNpemUgZmxhZyB3aGVuIGRvbmUuCisKIDIwMTYtMDEtMzAgIERhdmUgSHlh
dHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHRoZSBicmVhay0qIHByb3BlcnRp
ZXMgdG8gV2ViIEluc3BlY3RvcidzIGNvbXBsZXRpb24gc2V0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggNmMzZmM4MjYxNmFiOTA4
NWVjMjAxOWNlMGE4OWJhZmY3NWIxNzg3Ni4uNjBjZmIzOWJlNDNiYTRlNDA3NjI1ZTdkYTA2YzUy
MTk3Yjk4ZjRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0Jhc2UvTWFpbi5qcwpAQCAtMTM0MSw4ICsxMzQxLDggQEAgV2ViSW5zcGVjdG9yLl93aW5kb3dC
bHVycmVkID0gZnVuY3Rpb24oZXZlbnQpCiAKIFdlYkluc3BlY3Rvci5fd2luZG93UmVzaXplZCA9
IGZ1bmN0aW9uKGV2ZW50KQogewotICAgIHRoaXMudG9vbGJhci51cGRhdGVMYXlvdXQoKTsKLSAg
ICB0aGlzLnRhYkJhci51cGRhdGVMYXlvdXQoKTsKKyAgICB0aGlzLnRvb2xiYXIudXBkYXRlTGF5
b3V0Rm9yUmVzaXplKCk7CisgICAgdGhpcy50YWJCYXIudXBkYXRlTGF5b3V0Rm9yUmVzaXplKCk7
CiAgICAgdGhpcy5fdGFiQnJvd3NlclNpemVEaWRDaGFuZ2UoKTsKIH07CiAKQEAgLTE0NTQsMTQg
KzE0NTQsMTQgQEAgV2ViSW5zcGVjdG9yLl91cGRhdGVEb2NrTmF2aWdhdGlvbkl0ZW1zID0gZnVu
Y3Rpb24oKQogCiBXZWJJbnNwZWN0b3IuX3RhYkJyb3dzZXJTaXplRGlkQ2hhbmdlID0gZnVuY3Rp
b24oKQogewotICAgIHRoaXMudGFiQnJvd3Nlci51cGRhdGVMYXlvdXQoKTsKLSAgICB0aGlzLnNw
bGl0Q29udGVudEJyb3dzZXIudXBkYXRlTGF5b3V0KCk7Ci0gICAgdGhpcy5xdWlja0NvbnNvbGUu
dXBkYXRlTGF5b3V0KCk7CisgICAgdGhpcy50YWJCcm93c2VyLnVwZGF0ZUxheW91dEZvclJlc2l6
ZSgpOworICAgIHRoaXMuc3BsaXRDb250ZW50QnJvd3Nlci51cGRhdGVMYXlvdXRGb3JSZXNpemUo
KTsKKyAgICB0aGlzLnF1aWNrQ29uc29sZS51cGRhdGVMYXlvdXRGb3JSZXNpemUoKTsKIH07CiAK
IFdlYkluc3BlY3Rvci5fcXVpY2tDb25zb2xlRGlkUmVzaXplID0gZnVuY3Rpb24oZXZlbnQpCiB7
Ci0gICAgdGhpcy50YWJCcm93c2VyLnVwZGF0ZUxheW91dCgpOworICAgIHRoaXMudGFiQnJvd3Nl
ci51cGRhdGVMYXlvdXRGb3JSZXNpemUoKTsKIH07CiAKIFdlYkluc3BlY3Rvci5fc2lkZWJhcldp
ZHRoRGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCmluZGV4IGNiNjhjZmZjNmQx
NDk1OGEyYjY4M2E3ZmViZTBkY2JmNGEyZGIxZGUuLjQyNzFlOTlkNmNjNjhjMzhhZWQ5OTY1YjM2
YTEwN2ZlMDBlODgzZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCkBAIC03NDIsNyArNzQyLDcgQEAgV2ViSW5zcGVj
dG9yLkRhdGFHcmlkID0gY2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwog
ICAgICAgICAgICAgaWYgKGhlYWRlclZpZXcpIHsKICAgICAgICAgICAgICAgICBoZWFkZXJWaWV3
LmVsZW1lbnQuc3R5bGUubGVmdCA9IGxlZnQgKyAicHgiOwogICAgICAgICAgICAgICAgIGhlYWRl
clZpZXcuZWxlbWVudC5zdHlsZS53aWR0aCA9IGNvbHVtbldpZHRoICsgInB4IjsKLSAgICAgICAg
ICAgICAgICBoZWFkZXJWaWV3LnVwZGF0ZUxheW91dCgpOworICAgICAgICAgICAgICAgIGhlYWRl
clZpZXcudXBkYXRlTGF5b3V0Rm9yUmVzaXplKCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIGxlZnQgKz0gY29sdW1uV2lkdGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGltZWxpbmVWaWV3Lmpz
CmluZGV4IGQ4ZDlmYWZkZWVjMjJkZWE4Y2M5NmNiOTRkYWM5Y2Y3ZGM5ZmJhNjUuLjNhOTFmMGMw
NWFiMTVjNDlmMjc2YmU2NzQyY2FjODM1MWVhYTY0NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGltZWxpbmVWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGlt
ZWxpbmVWaWV3LmpzCkBAIC04MSw3ICs4MSw3IEBAIFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVs
aW5lVmlldyA9IGNsYXNzIE92ZXJ2aWV3VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjCiAg
ICAgICAgIHN1cGVyLnNob3duKCk7CiAKICAgICAgICAgdGhpcy5fdHJlZU91dGxpbmVEYXRhR3Jp
ZFN5bmNocm9uaXplci5zeW5jaHJvbml6ZSgpOwotICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVy
LnJlc2l6ZSgpOworICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnVwZGF0ZUxheW91dEZvclJl
c2l6ZSgpOwogICAgIH0KIAogICAgIGNsb3NlZCgpCkBAIC0xNjAsMTEgKzE2MCw2IEBAIFdlYklu
c3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldyA9IGNsYXNzIE92ZXJ2aWV3VGltZWxpbmVWaWV3
IGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93T3JpZ2luYWxPckZv
cm1hdHRlZFNvdXJjZUNvZGVMb2NhdGlvbih0cmVlRWxlbWVudC5zb3VyY2VDb2RlVGltZWxpbmUu
c291cmNlQ29kZUxvY2F0aW9uKTsKICAgICB9CiAKLSAgICB1cGRhdGVMYXlvdXRGb3JSZXNpemUo
KQotICAgIHsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5yZXNpemUoKTsKLSAgICB9Ci0K
ICAgICBsYXlvdXQoKQogICAgIHsKICAgICAgICAgbGV0IG9sZFplcm9UaW1lID0gdGhpcy5fdGlt
ZWxpbmVSdWxlci56ZXJvVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzCmluZGV4IGVjYTAy
N2I4MDJiZTAzOTliNjkyOWI0ZGNjZWM4ZWY4NGUzMmY5YjAuLjM2M2FkYjI4NzYyZjRkMTk3NzY1
MmU5ZWU0YTBhM2U2ZWYyYzAwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcwpAQCAtMjY1
LDEyICsyNjUsMTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1l
bGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICB7CiAgICAgICAgIHRo
aXMuX3Zpc2libGUgPSB0cnVlOwogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIucmVzaXpl
KCkKLQogICAgICAgICBmb3IgKHZhciB0aW1lbGluZU92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fdGlt
ZWxpbmVPdmVydmlld0dyYXBoc01hcC52YWx1ZXMoKSkKICAgICAgICAgICAgIHRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5zaG93bigpOwogCi0gICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7CisgICAg
ICAgIHRoaXMudXBkYXRlTGF5b3V0Rm9yUmVzaXplKCk7CiAgICAgfQogCiAgICAgaGlkZGVuKCkK
QEAgLTMyMCwxMyArMzE4LDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFz
cyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgb3Zl
cnZpZXdHcmFwaC5zZWxlY3RlZFJlY29yZCA9IHJlY29yZDsKICAgICB9CiAKLSAgICB1cGRhdGVM
YXlvdXRGb3JSZXNpemUoKQotICAgIHsKLSAgICAgICAgdGhpcy5fY2FjaGVkU2Nyb2xsQ29udGFp
bmVyV2lkdGggPSBOYU47Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIucmVzaXplKCkKLSAg
ICAgICAgdGhpcy51cGRhdGVMYXlvdXQoKTsKLSAgICB9Ci0KICAgICB1cGRhdGVMYXlvdXRJZk5l
ZWRlZCgpCiAgICAgewogICAgICAgICBpZiAodGhpcy5sYXlvdXRQZW5kaW5nKSB7CkBAIC0zNDIs
NiArMzMzLDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxp
bmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICAvLyBQcm90ZWN0ZWQK
IAorICAgIGRpZFJlc2l6ZUJlZm9yZUxheW91dCgpCisgICAgeworICAgICAgICB0aGlzLl9jYWNo
ZWRTY3JvbGxDb250YWluZXJXaWR0aCA9IE5hTjsKKyAgICB9CisKICAgICBnZXQgdGltZWxpbmVS
dWxlcigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fdGltZWxpbmVSdWxlcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
UnVsZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZVJ1bGVyLmpzCmluZGV4IGQ4YmQxOTBiYTk3MTA1N2YyMmE2ZDhmNjQ3ZTZmYTJjMTVmNjIz
YzguLjU5ZjQ1MTY1MTJiNGU0NjZkYzE3NmM5MjdjNjg3YjI4ZDI4YzYyMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVSdWxlci5qcwpAQCAtNDkyLDYgKzQ5MiwxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxl
ciA9IGNsYXNzIFRpbWVsaW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAg
ICB0aGlzLl91cGRhdGVTZWxlY3Rpb24odmlzaWJsZVdpZHRoLCBkdXJhdGlvbik7CiAgICAgfQog
CisgICAgZGlkUmVzaXplQmVmb3JlTGF5b3V0KCkKKyAgICB7CisgICAgICAgIHRoaXMuX2NhY2hl
ZENsaWVudFdpZHRoID0gdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoOworICAgICAgICB0aGlzLl9y
ZWNhbGN1bGF0ZSgpOworICAgIH0KKwogICAgIC8vIFByaXZhdGUKIAogICAgIF9uZWVkc01hcmtl
ckxheW91dCgpCkBAIC01MzcsMTIgKzU0Myw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVy
ID0gY2xhc3MgVGltZWxpbmVSdWxlciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAg
IH0pOwogICAgIH0KIAotICAgIHJlc2l6ZSgpCi0gICAgewotICAgICAgICB0aGlzLl9jYWNoZWRD
bGllbnRXaWR0aCA9IHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aDsKLSAgICAgICAgdGhpcy5fcmVj
YWxjdWxhdGUoKTsKLSAgICB9Ci0KICAgICBfcmVjYWxjdWxhdGUoKQogICAgIHsKICAgICAgICAg
bGV0IHZpc2libGVXaWR0aCA9IHRoaXMuX2NhY2hlZENsaWVudFdpZHRoOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1ZpZXcuanMKaW5kZXggNjIyYmZm
ODE1YzNjMjg5YzVkMzU1YjIxNWI2YTkyMTFmMGJlNThiMi4uN2YwOWIyZTIzYWZjYTVkNWVmODE0
MTRmYzM3OGQ4MTYxNDJiN2VmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9WaWV3LmpzCkBAIC0xNDMsNiArMTQzLDEyIEBAIFdlYkluc3BlY3Rv
ci5WaWV3ID0gY2xhc3MgVmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAg
dGhpcy5fbGF5b3V0U3VidHJlZSgpOwogICAgIH0KIAorICAgIHVwZGF0ZUxheW91dEZvclJlc2l6
ZSgpCisgICAgeworICAgICAgICB0aGlzLl9kaWRSZXNpemUgPSB0cnVlOworICAgICAgICB0aGlz
LnVwZGF0ZUxheW91dCgpOworICAgIH0KKwogICAgIHVwZGF0ZUxheW91dElmTmVlZGVkKCkKICAg
ICB7CiAgICAgICAgIGlmICghdGhpcy5fZGlydHkpCkBAIC0xOTUsNiArMjAxLDExIEBAIFdlYklu
c3BlY3Rvci5WaWV3ID0gY2xhc3MgVmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAg
ICAgICAgfQogICAgIH0KIAorICAgIGRpZFJlc2l6ZUJlZm9yZUxheW91dCgpCisgICAgeworICAg
ICAgICAvLyBPdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCisgICAgfQorCiAgICAgbGF5b3V0KCkK
ICAgICB7CiAgICAgICAgIC8vIE92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KQEAgLTIwOSwxMCAr
MjIwLDE3IEBAIFdlYkluc3BlY3Rvci5WaWV3ID0gY2xhc3MgVmlldyBleHRlbmRzIFdlYkluc3Bl
Y3Rvci5PYmplY3QKICAgICAgICAgdGhpcy5fZGlydHkgPSBmYWxzZTsKICAgICAgICAgdGhpcy5f
ZGlydHlEZXNjZW5kYW50c0NvdW50ID0gMDsKIAorICAgICAgICBpZiAodGhpcy5fZGlkUmVzaXpl
KQorICAgICAgICAgICAgdGhpcy5kaWRSZXNpemVCZWZvcmVMYXlvdXQoKTsKKwogICAgICAgICB0
aGlzLmxheW91dCgpOwogCi0gICAgICAgIGZvciAobGV0IHZpZXcgb2YgdGhpcy5fc3Vidmlld3Mp
CisgICAgICAgIGZvciAobGV0IHZpZXcgb2YgdGhpcy5fc3Vidmlld3MpIHsKKyAgICAgICAgICAg
IHZpZXcuX2RpZFJlc2l6ZSA9IHRoaXMuX2RpZFJlc2l6ZTsKICAgICAgICAgICAgIHZpZXcuX2xh
eW91dFN1YnRyZWUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuX2RpZFJlc2l6ZSA9IGZh
bHNlOwogICAgIH0KIAogICAgIC8vIExheW91dCBjb250cm9sbGVyIGxvZ2ljCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270444</attachid>
            <date>2016-02-01 16:06:15 -0800</date>
            <delta_ts>2016-02-01 16:10:29 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-153731-20160201160549.patch</filename>
            <type>text/plain</type>
            <size>13051</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1OTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
M2ZjMzNjYzQ4OWNjMTQyNDRmNGNjNWUxY2QwZTMwZTdkOWEzMDVlLi41YmM3MDc0NmE5NDZhOGQ1
MDMwOTRmM2QzOGNlYzBkM2QzNDExYTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw2MSBAQAogMjAxNi0wMi0wMSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIGFuIHVwZGF0ZUxheW91dEZvclJlc2l6ZSBt
ZXRob2QgdG8gdGhlIFZpZXcgYmFzZSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNzMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDQz
MDkzOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBhIExheW91dFJlYXNvbiBlbnVtIHRvIHRoZSBWaWV3IGJhc2UgY2xhc3MsIHdoaWNoIGNh
biBiZSBwYXNzZWQgYXMgYW4gb3B0aW9uYWwKKyAgICAgICAgYXJndW1lbnQgdG8gbmVlZHNMYXlv
dXQoKSBhbmQgdXBkYXRlTGF5b3V0KCkuIFRoZSB2YWx1ZSBpcyBwcm9wYWdhdGVkIHRvIHRoZSB2
aWV3J3MKKyAgICAgICAgc3VidHJlZSBkdXJpbmcgbGF5b3V0LgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9CYXNlL01haW4uanM6CisgICAgICAgIFVwZGF0ZSB0b3AtbGV2ZWwgdmlld3Mgd2l0
aCBSZXNpemUgbGF5b3V0IHJlYXNvbiB3aGVuIHdpbmRvdyBpcyByZXNpemVkLgorCisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5EYXRhR3JpZC5wcm90b3R5cGUuX3Bvc2l0aW9uSGVhZGVyVmlld3MpOgorICAgICAgICBVcGRh
dGUgaGVhZGVyIHZpZXcgd2l0aCBSZXNpemUgbGF5b3V0IHJlYXNvbiB3aGVuIGNvbHVtbiBpcyBy
ZXNpemVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5l
Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldy5wcm90
b3R5cGUuc2hvd24pOgorICAgICAgICBBc3N1bWUgdGhlIHZpZXcgaGFzIGJlZW4gcmVzaXplZCB3
aGVuIHNob3duLCBhbmQgdXBkYXRlIGxheW91dC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5PdmVy
dmlld1RpbWVsaW5lVmlldy5wcm90b3R5cGUudXBkYXRlTGF5b3V0Rm9yUmVzaXplKTogRGVsZXRl
ZC4KKyAgICAgICAgTm8gbG9uZ2VyIG5lZWRlZCwgbm93IGhhbmRsZWQgYnkgdGhlIFZpZXcgYmFz
ZSBjbGFzcy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmll
dy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5z
aG93bik6CisgICAgICAgIEFzc3VtZSB0aGUgdmlldyBoYXMgYmVlbiByZXNpemVkIHdoZW4gc2hv
d24sIGFuZCB1cGRhdGUgbGF5b3V0LgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXcucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgIEludmFsaWRhdGUgY2FjaGVkIHNjcm9s
bCBjb250YWluZXIgd2lkdGggaWYgcmVzaXplZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1l
bGluZU92ZXJ2aWV3LnByb3RvdHlwZS51cGRhdGVMYXlvdXRGb3JSZXNpemUpOiBEZWxldGVkLgor
ICAgICAgICBObyBsb25nZXIgbmVlZGVkLCBub3cgaGFuZGxlZCBieSB0aGUgVmlldyBiYXNlIGNs
YXNzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0Nv
bnRlbnRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcucHJvdG90eXBlLmxheW91dCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSdWxlci5wcm90b3R5cGUubmVlZHNMYXlvdXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgIHVwZGF0ZSBjYWNoZWQg
Y2xpZW50IHdpZHRoIGlmIHJlc2l6ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVS
dWxlci5wcm90b3R5cGUucmVzaXplKTogRGVsZXRlZC4KKyAgICAgICAgTW92ZWQgcmVzaXplIGxv
Z2ljIHRvIGxheW91dCBvdmVycmlkZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3KToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5WaWV3LnByb3RvdHlwZS51cGRhdGVMYXlvdXQpOgorICAgICAgICBTZXQgbGF5b3V0IHJl
YXNvbi4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5uZWVkc0xheW91dCk6
CisgICAgICAgIFNldCBsYXlvdXQgcmVhc29uIGV2ZW4gaWYgYW4gYW5pbWF0aW9uIGZyYW1lIGhh
cyBhbHJlYWR5IGJlZW4gc2NoZWR1bGVkLAorICAgICAgICBzaW5jZSB0aGUgbGF5b3V0IHJlYXNv
biBjb3VsZCBoYXZlIGNoYW5nZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5
cGUuX2xheW91dFN1YnRyZWUpOgorICAgICAgICBQcm9wYWdhdGUgbGF5b3V0IHJlYXNvbiB0byBz
dWJ0cmVlLCBhbmQgcmVzZXQgdGhlIHZhbHVlIHdoZW4gZG9uZS4KKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5WaWV3LnByb3RvdHlwZS5fc2V0TGF5b3V0UmVhc29uKToKKyAgICAgICAgSGVscGVyIG1l
dGhvZCBmb3IgdXBkYXRpbmcgdGhlIGxheW91dCByZWFzb24uIEVuc3VyZXMgdGhhdCBMYXlvdXRS
ZWFzb24uUmVzaXplCisgICAgICAgIGhhcyBwcmlvcml0eSBvdmVyIHRoZSBkZWZhdWx0IChMYXlv
dXRSZWFzb24uRGlydHkpLgorCisyMDE2LTAyLTAxICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFw
cGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZW5kZXJpbmcgRnJhbWVzIHRpbWVs
aW5lIGRyYXdzIGFsbCBmcmFtZSBiYXJzIGF0IG1pbmltdW0gaGVpZ2h0CiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM3MzYKICAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIxOTQ2MzAxPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IDZjM2ZjODI2MTZhYjkwODVlYzIwMTljZTBhODliYWZm
NzViMTc4NzYuLjc0OTc5NTNkMWUxNjM5MGI3NjI4MGMxZjgzZjJkZTEwNDRjOWIzZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAg
LTEzNDEsOCArMTM0MSw4IEBAIFdlYkluc3BlY3Rvci5fd2luZG93Qmx1cnJlZCA9IGZ1bmN0aW9u
KGV2ZW50KQogCiBXZWJJbnNwZWN0b3IuX3dpbmRvd1Jlc2l6ZWQgPSBmdW5jdGlvbihldmVudCkK
IHsKLSAgICB0aGlzLnRvb2xiYXIudXBkYXRlTGF5b3V0KCk7Ci0gICAgdGhpcy50YWJCYXIudXBk
YXRlTGF5b3V0KCk7CisgICAgdGhpcy50b29sYmFyLnVwZGF0ZUxheW91dChXZWJJbnNwZWN0b3Iu
Vmlldy5MYXlvdXRSZWFzb24uUmVzaXplKTsKKyAgICB0aGlzLnRhYkJhci51cGRhdGVMYXlvdXQo
V2ViSW5zcGVjdG9yLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSk7CiAgICAgdGhpcy5fdGFiQnJv
d3NlclNpemVEaWRDaGFuZ2UoKTsKIH07CiAKQEAgLTE0NTQsMTQgKzE0NTQsMTQgQEAgV2ViSW5z
cGVjdG9yLl91cGRhdGVEb2NrTmF2aWdhdGlvbkl0ZW1zID0gZnVuY3Rpb24oKQogCiBXZWJJbnNw
ZWN0b3IuX3RhYkJyb3dzZXJTaXplRGlkQ2hhbmdlID0gZnVuY3Rpb24oKQogewotICAgIHRoaXMu
dGFiQnJvd3Nlci51cGRhdGVMYXlvdXQoKTsKLSAgICB0aGlzLnNwbGl0Q29udGVudEJyb3dzZXIu
dXBkYXRlTGF5b3V0KCk7Ci0gICAgdGhpcy5xdWlja0NvbnNvbGUudXBkYXRlTGF5b3V0KCk7Cisg
ICAgdGhpcy50YWJCcm93c2VyLnVwZGF0ZUxheW91dChXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRS
ZWFzb24uUmVzaXplKTsKKyAgICB0aGlzLnNwbGl0Q29udGVudEJyb3dzZXIudXBkYXRlTGF5b3V0
KFdlYkluc3BlY3Rvci5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOworICAgIHRoaXMucXVpY2tD
b25zb2xlLnVwZGF0ZUxheW91dChXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFzb24uUmVzaXpl
KTsKIH07CiAKIFdlYkluc3BlY3Rvci5fcXVpY2tDb25zb2xlRGlkUmVzaXplID0gZnVuY3Rpb24o
ZXZlbnQpCiB7Ci0gICAgdGhpcy50YWJCcm93c2VyLnVwZGF0ZUxheW91dCgpOworICAgIHRoaXMu
dGFiQnJvd3Nlci51cGRhdGVMYXlvdXQoV2ViSW5zcGVjdG9yLlZpZXcuTGF5b3V0UmVhc29uLlJl
c2l6ZSk7CiB9OwogCiBXZWJJbnNwZWN0b3IuX3NpZGViYXJXaWR0aERpZENoYW5nZSA9IGZ1bmN0
aW9uKGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvRGF0YUdyaWQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9EYXRhR3JpZC5qcwppbmRleCA3ZjdhNTc1YzcyNjE0YmQxZjBlNTk2MTQ3ZTU0Y2M5
NjQ1MzRiNWU2Li5jOWY0M2YwZmE2ZWQwMDAzZjQ1YzRkNWM5MDVkNDUwZGE5ZjE0ZmIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3Jp
ZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRh
R3JpZC5qcwpAQCAtNzQyLDcgKzc0Miw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9IGNsYXNz
IERhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgICAgIGlmIChoZWFk
ZXJWaWV3KSB7CiAgICAgICAgICAgICAgICAgaGVhZGVyVmlldy5lbGVtZW50LnN0eWxlLmxlZnQg
PSBsZWZ0ICsgInB4IjsKICAgICAgICAgICAgICAgICBoZWFkZXJWaWV3LmVsZW1lbnQuc3R5bGUu
d2lkdGggPSBjb2x1bW5XaWR0aCArICJweCI7Ci0gICAgICAgICAgICAgICAgaGVhZGVyVmlldy51
cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgICAgICAgICBoZWFkZXJWaWV3LnVwZGF0ZUxheW91dChX
ZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFzb24uUmVzaXplKTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgbGVmdCArPSBjb2x1bW5XaWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGltZWxpbmVWaWV3LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT3ZlcnZpZXdUaW1lbGlu
ZVZpZXcuanMKaW5kZXggZDhkOWZhZmRlZWMyMmRlYThjYzk2Y2I5NGRhYzljZjdkYzlmYmE2NS4u
MWUyMzMzODc4ZjAyZjhjZDQ0ZWE3OGJkYTA5NWU4NTQ0OGI4NTZkNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT3ZlcnZpZXdUaW1lbGluZVZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT3Zl
cnZpZXdUaW1lbGluZVZpZXcuanMKQEAgLTgxLDcgKzgxLDcgQEAgV2ViSW5zcGVjdG9yLk92ZXJ2
aWV3VGltZWxpbmVWaWV3ID0gY2xhc3MgT3ZlcnZpZXdUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJ
bnNwZWMKICAgICAgICAgc3VwZXIuc2hvd24oKTsKIAogICAgICAgICB0aGlzLl90cmVlT3V0bGlu
ZURhdGFHcmlkU3luY2hyb25pemVyLnN5bmNocm9uaXplKCk7Ci0gICAgICAgIHRoaXMuX3RpbWVs
aW5lUnVsZXIucmVzaXplKCk7CisgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIudXBkYXRlTGF5
b3V0KFdlYkluc3BlY3Rvci5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOwogICAgIH0KIAogICAg
IGNsb3NlZCgpCkBAIC0xNjAsMTEgKzE2MCw2IEBAIFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVs
aW5lVmlldyA9IGNsYXNzIE92ZXJ2aWV3VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjCiAg
ICAgICAgIFdlYkluc3BlY3Rvci5zaG93T3JpZ2luYWxPckZvcm1hdHRlZFNvdXJjZUNvZGVMb2Nh
dGlvbih0cmVlRWxlbWVudC5zb3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uKTsK
ICAgICB9CiAKLSAgICB1cGRhdGVMYXlvdXRGb3JSZXNpemUoKQotICAgIHsKLSAgICAgICAgdGhp
cy5fdGltZWxpbmVSdWxlci5yZXNpemUoKTsKLSAgICB9Ci0KICAgICBsYXlvdXQoKQogICAgIHsK
ICAgICAgICAgbGV0IG9sZFplcm9UaW1lID0gdGhpcy5fdGltZWxpbmVSdWxlci56ZXJvVGltZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lT3ZlcnZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzCmluZGV4IGVjYTAyN2I4MDJiZTAzOTliNjkyOWI0ZGNj
ZWM4ZWY4NGUzMmY5YjAuLjM5ZmUxYzhiYmZiYzRmNzYyYWJhOTQ5MDY3ZGU5ZWM1ZTQ0YWQ3MTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lT3ZlcnZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcwpAQCAtMjY1LDEyICsyNjUsMTAgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMg
V2ViSW5zcGVjdG9yLlZpZXcKICAgICB7CiAgICAgICAgIHRoaXMuX3Zpc2libGUgPSB0cnVlOwog
Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIucmVzaXplKCkKLQogICAgICAgICBmb3IgKHZh
ciB0aW1lbGluZU92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01h
cC52YWx1ZXMoKSkKICAgICAgICAgICAgIHRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5zaG93bigpOwog
Ci0gICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7CisgICAgICAgIHRoaXMudXBkYXRlTGF5b3V0
KFdlYkluc3BlY3Rvci5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOwogICAgIH0KIAogICAgIGhp
ZGRlbigpCkBAIC0zMjAsMTMgKzMxOCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3
ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAg
ICAgIG92ZXJ2aWV3R3JhcGguc2VsZWN0ZWRSZWNvcmQgPSByZWNvcmQ7CiAgICAgfQogCi0gICAg
dXBkYXRlTGF5b3V0Rm9yUmVzaXplKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NhY2hlZFNjcm9s
bENvbnRhaW5lcldpZHRoID0gTmFOOwotICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnJlc2l6
ZSgpCi0gICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7Ci0gICAgfQotCiAgICAgdXBkYXRlTGF5
b3V0SWZOZWVkZWQoKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMubGF5b3V0UGVuZGluZykgewpA
QCAtMzUzLDggKzM0NCwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNz
IFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICBjb25z
b2xlLmVycm9yKCJOZWVkcyB0byBiZSBpbXBsZW1lbnRlZCBieSBhIHN1YmNsYXNzLiIpOwogICAg
IH0KIAotICAgIGxheW91dCgpCisgICAgbGF5b3V0KGxheW91dFJlYXNvbikKICAgICB7CisgICAg
ICAgIGlmIChsYXlvdXRSZWFzb24gPT09IFdlYkluc3BlY3Rvci5WaWV3LkxheW91dFJlYXNvbi5S
ZXNpemUpCisgICAgICAgICAgICB0aGlzLl9jYWNoZWRTY3JvbGxDb250YWluZXJXaWR0aCA9IE5h
TjsKKwogICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHJlcXVpcmVkIHdpZHRoIGJhc2VkIG9uIHRo
ZSBkdXJhdGlvbiBhbmQgc2Vjb25kcyBwZXIgcGl4ZWwuCiAgICAgICAgIGxldCBkdXJhdGlvbiA9
IHRoaXMuX2VuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7CiAgICAgICAgIGxldCBuZXdXaWR0aCA9
IE1hdGguY2VpbChkdXJhdGlvbiAvIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNv
cmRpbmdDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMKaW5kZXggZGVlODE1NTcwYTNl
OGUwMjNmNDIzZGJjZmZkMTY1ZjFkYjU1M2IwZi4uNWVlNTJmZjdjMGNjNmM3ZGVmNzRlODQwYTA2
MzdjMTdhNmFmZWRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRl
bnRWaWV3LmpzCkBAIC0zMjQsMTcgKzMyNCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIC8vIFByb3RlY3RlZAotCi0gICAgbGF5
b3V0KCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnVwZGF0
ZUxheW91dEZvclJlc2l6ZSgpOwotCi0gICAgICAgIGxldCBjdXJyZW50Q29udGVudFZpZXcgPSB0
aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5jdXJyZW50Q29udGVudFZpZXc7Ci0gICAgICAgIGlm
IChjdXJyZW50Q29udGVudFZpZXcgJiYgY3VycmVudENvbnRlbnRWaWV3LnVwZGF0ZUxheW91dEZv
clJlc2l6ZSkKLSAgICAgICAgICAgIGN1cnJlbnRDb250ZW50Vmlldy51cGRhdGVMYXlvdXRGb3JS
ZXNpemUoKTsKLSAgICB9Ci0KICAgICAvLyBQcml2YXRlCiAKICAgICBfY3VycmVudENvbnRlbnRW
aWV3RGlkQ2hhbmdlKGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSdWxlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuanMKaW5kZXggZDhiZDE5MGJhOTcx
MDU3ZjIyYTZkOGY2NDdlNmZhMmMxNWY2MjNjOC4uMjgxNzhjNmRlZGVkOGNkZTJhYjMzNTY3NDgx
MWM0ZDFiMjViMmZkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVSdWxlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmpzCkBAIC0zNTgsNyArMzU4LDcgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIgPSBjbGFzcyBUaW1lbGluZVJ1bGVyIGV4dGVuZHMg
V2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVNlbGVjdGlvbih2aXNp
YmxlV2lkdGgsIHRoaXMuZHVyYXRpb24pOwogICAgIH0KIAotICAgIG5lZWRzTGF5b3V0KCkKKyAg
ICBuZWVkc0xheW91dChsYXlvdXRSZWFzb24pCiAgICAgewogICAgICAgICBpZiAodGhpcy5sYXlv
dXRQZW5kaW5nKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzczLDEzICszNzMsMTYgQEAgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIgPSBjbGFzcyBUaW1lbGluZVJ1bGVyIGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLlZpZXcKICAgICAgICAgICAgIHRoaXMuX3NjaGVkdWxlZFNlbGVjdGlvbkxheW91
dFVwZGF0ZUlkZW50aWZpZXIgPSB1bmRlZmluZWQ7CiAgICAgICAgIH0KIAotICAgICAgICBzdXBl
ci5uZWVkc0xheW91dCgpOworICAgICAgICBzdXBlci5uZWVkc0xheW91dChsYXlvdXRSZWFzb24p
OwogICAgIH0KIAogICAgIC8vIFByb3RlY3RlZAogCi0gICAgbGF5b3V0KCkKKyAgICBsYXlvdXQo
bGF5b3V0UmVhc29uKQogICAgIHsKKyAgICAgICAgaWYgKGxheW91dFJlYXNvbiA9PT0gV2ViSW5z
cGVjdG9yLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSkKKyAgICAgICAgICAgIHRoaXMuX2NhY2hl
ZENsaWVudFdpZHRoID0gdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoOworCiAgICAgICAgIGxldCB2
aXNpYmxlV2lkdGggPSB0aGlzLl9yZWNhbGN1bGF0ZSgpOwogICAgICAgICBpZiAodmlzaWJsZVdp
ZHRoIDw9IDApCiAgICAgICAgICAgICByZXR1cm47CkBAIC01MzcsMTIgKzU0MCw2IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVJ1bGVyID0gY2xhc3MgVGltZWxpbmVSdWxlciBleHRlbmRzIFdlYklu
c3BlY3Rvci5WaWV3CiAgICAgICAgIH0pOwogICAgIH0KIAotICAgIHJlc2l6ZSgpCi0gICAgewot
ICAgICAgICB0aGlzLl9jYWNoZWRDbGllbnRXaWR0aCA9IHRoaXMuZWxlbWVudC5jbGllbnRXaWR0
aDsKLSAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGUoKTsKLSAgICB9Ci0KICAgICBfcmVjYWxjdWxh
dGUoKQogICAgIHsKICAgICAgICAgbGV0IHZpc2libGVXaWR0aCA9IHRoaXMuX2NhY2hlZENsaWVu
dFdpZHRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1ZpZXcuanMKaW5kZXggNjIyYmZmODE1YzNjMjg5YzVkMzU1YjIxNWI2YTkyMTFmMGJlNThiMi4u
MjJhOWFlMGY1MjZkNWM1Mjk2ZTk0NWQ0YTUxOTNkZDNiZmU2YjZmMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaWV3LmpzCkBAIC0zNyw2ICsz
Nyw3IEBAIFdlYkluc3BlY3Rvci5WaWV3ID0gY2xhc3MgVmlldyBleHRlbmRzIFdlYkluc3BlY3Rv
ci5PYmplY3QKICAgICAgICAgdGhpcy5fZGlydHlEZXNjZW5kYW50c0NvdW50ID0gMDsKICAgICAg
ICAgdGhpcy5fbmVlZHNMYXlvdXRXaGVuQXR0YWNoZWRUb1Jvb3QgPSBmYWxzZTsKICAgICAgICAg
dGhpcy5faXNBdHRhY2hlZFRvUm9vdCA9IGZhbHNlOworICAgICAgICB0aGlzLl9sYXlvdXRSZWFz
b24gPSBudWxsOwogICAgIH0KIAogICAgIC8vIFN0YXRpYwpAQCAtMTM3LDkgKzEzOCwxMSBAQCBX
ZWJJbnNwZWN0b3IuVmlldyA9IGNsYXNzIFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0
CiAgICAgICAgIHRoaXMucmVtb3ZlU3VidmlldyhvbGRWaWV3KTsKICAgICB9CiAKLSAgICB1cGRh
dGVMYXlvdXQoKQorICAgIHVwZGF0ZUxheW91dChsYXlvdXRSZWFzb24pCiAgICAgewogICAgICAg
ICBXZWJJbnNwZWN0b3IuVmlldy5fY2FuY2VsU2NoZWR1bGVkTGF5b3V0Rm9yVmlldyh0aGlzKTsK
KworICAgICAgICB0aGlzLl9zZXRMYXlvdXRSZWFzb24obGF5b3V0UmVhc29uKTsKICAgICAgICAg
dGhpcy5fbGF5b3V0U3VidHJlZSgpOwogICAgIH0KIApAQCAtMTUxLDggKzE1NCwxMCBAQCBXZWJJ
bnNwZWN0b3IuVmlldyA9IGNsYXNzIFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAg
ICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7CiAgICAgfQogCi0gICAgbmVlZHNMYXlvdXQoKQor
ICAgIG5lZWRzTGF5b3V0KGxheW91dFJlYXNvbikKICAgICB7CisgICAgICAgIHRoaXMuX3NldExh
eW91dFJlYXNvbihsYXlvdXRSZWFzb24pOworCiAgICAgICAgIGlmICh0aGlzLl9kaXJ0eSkKICAg
ICAgICAgICAgIHJldHVybjsKIApAQCAtMjA5LDEwICsyMTQsMjIgQEAgV2ViSW5zcGVjdG9yLlZp
ZXcgPSBjbGFzcyBWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB0aGlz
Ll9kaXJ0eSA9IGZhbHNlOwogICAgICAgICB0aGlzLl9kaXJ0eURlc2NlbmRhbnRzQ291bnQgPSAw
OwogCi0gICAgICAgIHRoaXMubGF5b3V0KCk7CisgICAgICAgIHRoaXMubGF5b3V0KHRoaXMuX2xh
eW91dFJlYXNvbik7CiAKLSAgICAgICAgZm9yIChsZXQgdmlldyBvZiB0aGlzLl9zdWJ2aWV3cykK
KyAgICAgICAgZm9yIChsZXQgdmlldyBvZiB0aGlzLl9zdWJ2aWV3cykgeworICAgICAgICAgICAg
dmlldy5fc2V0TGF5b3V0UmVhc29uKHRoaXMuX2xheW91dFJlYXNvbik7CiAgICAgICAgICAgICB2
aWV3Ll9sYXlvdXRTdWJ0cmVlKCk7CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl9sYXlvdXRS
ZWFzb24gPSBudWxsOworICAgIH0KKworICAgIF9zZXRMYXlvdXRSZWFzb24obGF5b3V0UmVhc29u
KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2xheW91dFJlYXNvbiA9PT0gV2ViSW5zcGVjdG9y
LlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICB0aGlzLl9sYXlvdXRSZWFzb24gPSBsYXlvdXRSZWFzb24gfHwgV2ViSW5zcGVjdG9yLlZpZXcu
TGF5b3V0UmVhc29uLkRpcnR5OwogICAgIH0KIAogICAgIC8vIExheW91dCBjb250cm9sbGVyIGxv
Z2ljCkBAIC0yODMsNSArMzAwLDEwIEBAIFdlYkluc3BlY3Rvci5WaWV3ID0gY2xhc3MgVmlldyBl
eHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICB9CiB9OwogCitXZWJJbnNwZWN0b3IuVmll
dy5MYXlvdXRSZWFzb24gPSB7CisgICAgRGlydHk6IFN5bWJvbCgibGF5b3V0LWxheW91dFJlYXNv
bi1kaXJ0eSIpLAorICAgIFJlc2l6ZTogU3ltYm9sKCJsYXlvdXQtbGF5b3V0UmVhc29uLXJlc2l6
ZSIpCit9OworCiBXZWJJbnNwZWN0b3IuVmlldy5fcm9vdFZpZXcgPSBudWxsOwogV2ViSW5zcGVj
dG9yLlZpZXcuX3NjaGVkdWxlZExheW91dFVwZGF0ZUlkZW50aWZpZXIgPSB1bmRlZmluZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270446</attachid>
            <date>2016-02-01 16:10:32 -0800</date>
            <delta_ts>2016-02-01 16:37:41 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-153731-20160201161006.patch</filename>
            <type>text/plain</type>
            <size>13090</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1OTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
M2ZjMzNjYzQ4OWNjMTQyNDRmNGNjNWUxY2QwZTMwZTdkOWEzMDVlLi5mZWJjNDBmNjE3MTY2ZTNj
ZThlNTEwNDgyZmNlMWE1YTVmNTk1MDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw2MiBAQAogMjAxNi0wMi0wMSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIGEgTGF5b3V0UmVhc29uIGVudW0gdG8gdGhl
IFZpZXcgYmFzZSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTUzNzMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDQzMDkzOD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIExheW91
dFJlYXNvbiBlbnVtIHRvIHRoZSBWaWV3IGJhc2UgY2xhc3MsIHdoaWNoIGNhbiBiZSBwYXNzZWQg
YXMgYW4gb3B0aW9uYWwKKyAgICAgICAgYXJndW1lbnQgdG8gbmVlZHNMYXlvdXQoKSBhbmQgdXBk
YXRlTGF5b3V0KCkuIFRoZSB2YWx1ZSBpcyBwcm9wYWdhdGVkIHRvIHRoZSB2aWV3J3MKKyAgICAg
ICAgc3VidHJlZSBkdXJpbmcgbGF5b3V0LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNl
L01haW4uanM6CisgICAgICAgIFVwZGF0ZSB0b3AtbGV2ZWwgdmlld3Mgd2l0aCBSZXNpemUgbGF5
b3V0IHJlYXNvbiB3aGVuIHdpbmRvdyBpcyByZXNpemVkLgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9EYXRhR3JpZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5w
cm90b3R5cGUuX3Bvc2l0aW9uSGVhZGVyVmlld3MpOgorICAgICAgICBVcGRhdGUgaGVhZGVyIHZp
ZXcgd2l0aCBSZXNpemUgbGF5b3V0IHJlYXNvbiB3aGVuIGNvbHVtbiBpcyByZXNpemVkLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldy5wcm90b3R5cGUuc2hvd24p
OgorICAgICAgICBBc3N1bWUgdGhlIHZpZXcgaGFzIGJlZW4gcmVzaXplZCB3aGVuIHNob3duLCBh
bmQgdXBkYXRlIGxheW91dC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5l
Vmlldy5wcm90b3R5cGUudXBkYXRlTGF5b3V0Rm9yUmVzaXplKTogRGVsZXRlZC4KKyAgICAgICAg
Tm8gbG9uZ2VyIG5lZWRlZCwgaGFuZGxlZCBieSB0aGUgVmlldyBiYXNlIGNsYXNzLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNob3duKToKKyAgICAgICAg
QXNzdW1lIHRoZSB2aWV3IGhhcyBiZWVuIHJlc2l6ZWQgd2hlbiBzaG93biwgYW5kIHVwZGF0ZSBs
YXlvdXQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUu
bGF5b3V0KToKKyAgICAgICAgSW52YWxpZGF0ZSBjYWNoZWQgc2Nyb2xsIGNvbnRhaW5lciB3aWR0
aCBpZiByZXNpemVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJv
dG90eXBlLnVwZGF0ZUxheW91dEZvclJlc2l6ZSk6IERlbGV0ZWQuCisgICAgICAgIE5vIGxvbmdl
ciBuZWVkZWQsIGhhbmRsZWQgYnkgdGhlIFZpZXcgYmFzZSBjbGFzcy4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5s
YXlvdXQpOiBEZWxldGVkLgorICAgICAgICBObyBsb25nZXIgbmVlZGVkLCBoYW5kbGVkIGJ5IHRo
ZSBWaWV3IGJhc2UgY2xhc3MuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lUnVsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5
cGUubmVlZHNMYXlvdXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJv
dG90eXBlLmxheW91dCk6CisgICAgICAgIHVwZGF0ZSBjYWNoZWQgY2xpZW50IHdpZHRoIGlmIHJl
c2l6ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5cGUucmVz
aXplKTogRGVsZXRlZC4KKyAgICAgICAgTW92ZWQgcmVzaXplIGxvZ2ljIHRvIGxheW91dCBvdmVy
cmlkZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5WaWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlw
ZS51cGRhdGVMYXlvdXQpOgorICAgICAgICBTZXQgbGF5b3V0IHJlYXNvbi4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5uZWVkc0xheW91dCk6CisgICAgICAgIFNldCBsYXlv
dXQgcmVhc29uIGV2ZW4gaWYgYW4gYW5pbWF0aW9uIGZyYW1lIGhhcyBhbHJlYWR5IGJlZW4gc2No
ZWR1bGVkLAorICAgICAgICBzaW5jZSB0aGUgbGF5b3V0IHJlYXNvbiBjb3VsZCBoYXZlIGNoYW5n
ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuX2xheW91dFN1YnRyZWUp
OgorICAgICAgICBQcm9wYWdhdGUgbGF5b3V0IHJlYXNvbiB0byBzdWJ0cmVlLCBhbmQgcmVzZXQg
dGhlIHZhbHVlIHdoZW4gZG9uZS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlw
ZS5fc2V0TGF5b3V0UmVhc29uKToKKyAgICAgICAgSGVscGVyIG1ldGhvZCBmb3IgdXBkYXRpbmcg
dGhlIGxheW91dCByZWFzb24uIEVuc3VyZXMgdGhhdCBMYXlvdXRSZWFzb24uUmVzaXplCisgICAg
ICAgIGhhcyBwcmlvcml0eSBvdmVyIHRoZSBkZWZhdWx0IChMYXlvdXRSZWFzb24uRGlydHkpLgor
CisyMDE2LTAyLTAxICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KKwogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBSZW5kZXJpbmcgRnJhbWVzIHRpbWVsaW5lIGRyYXdzIGFsbCBmcmFt
ZSBiYXJzIGF0IG1pbmltdW0gaGVpZ2h0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTM3MzYKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxOTQ2MzAx
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9N
YWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpz
CmluZGV4IDZjM2ZjODI2MTZhYjkwODVlYzIwMTljZTBhODliYWZmNzViMTc4NzYuLjc0OTc5NTNk
MWUxNjM5MGI3NjI4MGMxZjgzZjJkZTEwNDRjOWIzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAgLTEzNDEsOCArMTM0MSw4IEBA
IFdlYkluc3BlY3Rvci5fd2luZG93Qmx1cnJlZCA9IGZ1bmN0aW9uKGV2ZW50KQogCiBXZWJJbnNw
ZWN0b3IuX3dpbmRvd1Jlc2l6ZWQgPSBmdW5jdGlvbihldmVudCkKIHsKLSAgICB0aGlzLnRvb2xi
YXIudXBkYXRlTGF5b3V0KCk7Ci0gICAgdGhpcy50YWJCYXIudXBkYXRlTGF5b3V0KCk7CisgICAg
dGhpcy50b29sYmFyLnVwZGF0ZUxheW91dChXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFzb24u
UmVzaXplKTsKKyAgICB0aGlzLnRhYkJhci51cGRhdGVMYXlvdXQoV2ViSW5zcGVjdG9yLlZpZXcu
TGF5b3V0UmVhc29uLlJlc2l6ZSk7CiAgICAgdGhpcy5fdGFiQnJvd3NlclNpemVEaWRDaGFuZ2Uo
KTsKIH07CiAKQEAgLTE0NTQsMTQgKzE0NTQsMTQgQEAgV2ViSW5zcGVjdG9yLl91cGRhdGVEb2Nr
TmF2aWdhdGlvbkl0ZW1zID0gZnVuY3Rpb24oKQogCiBXZWJJbnNwZWN0b3IuX3RhYkJyb3dzZXJT
aXplRGlkQ2hhbmdlID0gZnVuY3Rpb24oKQogewotICAgIHRoaXMudGFiQnJvd3Nlci51cGRhdGVM
YXlvdXQoKTsKLSAgICB0aGlzLnNwbGl0Q29udGVudEJyb3dzZXIudXBkYXRlTGF5b3V0KCk7Ci0g
ICAgdGhpcy5xdWlja0NvbnNvbGUudXBkYXRlTGF5b3V0KCk7CisgICAgdGhpcy50YWJCcm93c2Vy
LnVwZGF0ZUxheW91dChXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFzb24uUmVzaXplKTsKKyAg
ICB0aGlzLnNwbGl0Q29udGVudEJyb3dzZXIudXBkYXRlTGF5b3V0KFdlYkluc3BlY3Rvci5WaWV3
LkxheW91dFJlYXNvbi5SZXNpemUpOworICAgIHRoaXMucXVpY2tDb25zb2xlLnVwZGF0ZUxheW91
dChXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFzb24uUmVzaXplKTsKIH07CiAKIFdlYkluc3Bl
Y3Rvci5fcXVpY2tDb25zb2xlRGlkUmVzaXplID0gZnVuY3Rpb24oZXZlbnQpCiB7Ci0gICAgdGhp
cy50YWJCcm93c2VyLnVwZGF0ZUxheW91dCgpOworICAgIHRoaXMudGFiQnJvd3Nlci51cGRhdGVM
YXlvdXQoV2ViSW5zcGVjdG9yLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSk7CiB9OwogCiBXZWJJ
bnNwZWN0b3IuX3NpZGViYXJXaWR0aERpZENoYW5nZSA9IGZ1bmN0aW9uKGV2ZW50KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5q
cwppbmRleCA3ZjdhNTc1YzcyNjE0YmQxZjBlNTk2MTQ3ZTU0Y2M5NjQ1MzRiNWU2Li5jOWY0M2Yw
ZmE2ZWQwMDAzZjQ1YzRkNWM5MDVkNDUwZGE5ZjE0ZmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcwpAQCAtNzQyLDcg
Kzc0Miw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9IGNsYXNzIERhdGFHcmlkIGV4dGVuZHMg
V2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgICAgIGlmIChoZWFkZXJWaWV3KSB7CiAgICAgICAg
ICAgICAgICAgaGVhZGVyVmlldy5lbGVtZW50LnN0eWxlLmxlZnQgPSBsZWZ0ICsgInB4IjsKICAg
ICAgICAgICAgICAgICBoZWFkZXJWaWV3LmVsZW1lbnQuc3R5bGUud2lkdGggPSBjb2x1bW5XaWR0
aCArICJweCI7Ci0gICAgICAgICAgICAgICAgaGVhZGVyVmlldy51cGRhdGVMYXlvdXQoKTsKKyAg
ICAgICAgICAgICAgICBoZWFkZXJWaWV3LnVwZGF0ZUxheW91dChXZWJJbnNwZWN0b3IuVmlldy5M
YXlvdXRSZWFzb24uUmVzaXplKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgbGVmdCAr
PSBjb2x1bW5XaWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT3ZlcnZpZXdUaW1lbGluZVZpZXcuanMKaW5kZXggZDhk
OWZhZmRlZWMyMmRlYThjYzk2Y2I5NGRhYzljZjdkYzlmYmE2NS4uMWUyMzMzODc4ZjAyZjhjZDQ0
ZWE3OGJkYTA5NWU4NTQ0OGI4NTZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvT3ZlcnZpZXdUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT3ZlcnZpZXdUaW1lbGluZVZpZXcu
anMKQEAgLTgxLDcgKzgxLDcgQEAgV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVWaWV3ID0g
Y2xhc3MgT3ZlcnZpZXdUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgc3Vw
ZXIuc2hvd24oKTsKIAogICAgICAgICB0aGlzLl90cmVlT3V0bGluZURhdGFHcmlkU3luY2hyb25p
emVyLnN5bmNocm9uaXplKCk7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIucmVzaXplKCk7
CisgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIudXBkYXRlTGF5b3V0KFdlYkluc3BlY3Rvci5W
aWV3LkxheW91dFJlYXNvbi5SZXNpemUpOwogICAgIH0KIAogICAgIGNsb3NlZCgpCkBAIC0xNjAs
MTEgKzE2MCw2IEBAIFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldyA9IGNsYXNzIE92
ZXJ2aWV3VGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIFdlYkluc3BlY3Rv
ci5zaG93T3JpZ2luYWxPckZvcm1hdHRlZFNvdXJjZUNvZGVMb2NhdGlvbih0cmVlRWxlbWVudC5z
b3VyY2VDb2RlVGltZWxpbmUuc291cmNlQ29kZUxvY2F0aW9uKTsKICAgICB9CiAKLSAgICB1cGRh
dGVMYXlvdXRGb3JSZXNpemUoKQotICAgIHsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5y
ZXNpemUoKTsKLSAgICB9Ci0KICAgICBsYXlvdXQoKQogICAgIHsKICAgICAgICAgbGV0IG9sZFpl
cm9UaW1lID0gdGhpcy5fdGltZWxpbmVSdWxlci56ZXJvVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2
aWV3LmpzCmluZGV4IGVjYTAyN2I4MDJiZTAzOTliNjkyOWI0ZGNjZWM4ZWY4NGUzMmY5YjAuLjM5
ZmUxYzhiYmZiYzRmNzYyYWJhOTQ5MDY3ZGU5ZWM1ZTQ0YWQ3MTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVP
dmVydmlldy5qcwpAQCAtMjY1LDEyICsyNjUsMTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcK
ICAgICB7CiAgICAgICAgIHRoaXMuX3Zpc2libGUgPSB0cnVlOwogCi0gICAgICAgIHRoaXMuX3Rp
bWVsaW5lUnVsZXIucmVzaXplKCkKLQogICAgICAgICBmb3IgKHZhciB0aW1lbGluZU92ZXJ2aWV3
R3JhcGggb2YgdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01hcC52YWx1ZXMoKSkKICAgICAg
ICAgICAgIHRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5zaG93bigpOwogCi0gICAgICAgIHRoaXMudXBk
YXRlTGF5b3V0KCk7CisgICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KFdlYkluc3BlY3Rvci5WaWV3
LkxheW91dFJlYXNvbi5SZXNpemUpOwogICAgIH0KIAogICAgIGhpZGRlbigpCkBAIC0zMjAsMTMg
KzMxOCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVP
dmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIG92ZXJ2aWV3R3JhcGgu
c2VsZWN0ZWRSZWNvcmQgPSByZWNvcmQ7CiAgICAgfQogCi0gICAgdXBkYXRlTGF5b3V0Rm9yUmVz
aXplKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NhY2hlZFNjcm9sbENvbnRhaW5lcldpZHRoID0g
TmFOOwotICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnJlc2l6ZSgpCi0gICAgICAgIHRoaXMu
dXBkYXRlTGF5b3V0KCk7Ci0gICAgfQotCiAgICAgdXBkYXRlTGF5b3V0SWZOZWVkZWQoKQogICAg
IHsKICAgICAgICAgaWYgKHRoaXMubGF5b3V0UGVuZGluZykgewpAQCAtMzUzLDggKzM0NCwxMSBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcg
ZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICBjb25zb2xlLmVycm9yKCJOZWVkcyB0
byBiZSBpbXBsZW1lbnRlZCBieSBhIHN1YmNsYXNzLiIpOwogICAgIH0KIAotICAgIGxheW91dCgp
CisgICAgbGF5b3V0KGxheW91dFJlYXNvbikKICAgICB7CisgICAgICAgIGlmIChsYXlvdXRSZWFz
b24gPT09IFdlYkluc3BlY3Rvci5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpCisgICAgICAgICAg
ICB0aGlzLl9jYWNoZWRTY3JvbGxDb250YWluZXJXaWR0aCA9IE5hTjsKKwogICAgICAgICAvLyBD
YWxjdWxhdGUgdGhlIHJlcXVpcmVkIHdpZHRoIGJhc2VkIG9uIHRoZSBkdXJhdGlvbiBhbmQgc2Vj
b25kcyBwZXIgcGl4ZWwuCiAgICAgICAgIGxldCBkdXJhdGlvbiA9IHRoaXMuX2VuZFRpbWUgLSB0
aGlzLl9zdGFydFRpbWU7CiAgICAgICAgIGxldCBuZXdXaWR0aCA9IE1hdGguY2VpbChkdXJhdGlv
biAvIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcuanMKaW5kZXggZGVlODE1NTcwYTNlOGUwMjNmNDIzZGJjZmZkMTY1
ZjFkYjU1M2IwZi4uNWVlNTJmZjdjMGNjNmM3ZGVmNzRlODQwYTA2MzdjMTdhNmFmZWRmZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCkBAIC0zMjQs
MTcgKzMyNCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0g
Y2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KIAotICAgIC8vIFByb3RlY3RlZAotCi0gICAgbGF5b3V0KCkKLSAgICB7Ci0gICAg
ICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnVwZGF0ZUxheW91dEZvclJlc2l6ZSgp
OwotCi0gICAgICAgIGxldCBjdXJyZW50Q29udGVudFZpZXcgPSB0aGlzLl9jb250ZW50Vmlld0Nv
bnRhaW5lci5jdXJyZW50Q29udGVudFZpZXc7Ci0gICAgICAgIGlmIChjdXJyZW50Q29udGVudFZp
ZXcgJiYgY3VycmVudENvbnRlbnRWaWV3LnVwZGF0ZUxheW91dEZvclJlc2l6ZSkKLSAgICAgICAg
ICAgIGN1cnJlbnRDb250ZW50Vmlldy51cGRhdGVMYXlvdXRGb3JSZXNpemUoKTsKLSAgICB9Ci0K
ICAgICAvLyBQcml2YXRlCiAKICAgICBfY3VycmVudENvbnRlbnRWaWV3RGlkQ2hhbmdlKGV2ZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSdWxlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lUnVsZXIuanMKaW5kZXggZDhiZDE5MGJhOTcxMDU3ZjIyYTZkOGY2NDdlNmZh
MmMxNWY2MjNjOC4uMjgxNzhjNmRlZGVkOGNkZTJhYjMzNTY3NDgxMWM0ZDFiMjViMmZkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVSdWxlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZVJ1bGVyLmpzCkBAIC0zNTgsNyArMzU4LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUnVsZXIgPSBjbGFzcyBUaW1lbGluZVJ1bGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcK
ICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVNlbGVjdGlvbih2aXNpYmxlV2lkdGgsIHRoaXMuZHVy
YXRpb24pOwogICAgIH0KIAotICAgIG5lZWRzTGF5b3V0KCkKKyAgICBuZWVkc0xheW91dChsYXlv
dXRSZWFzb24pCiAgICAgewogICAgICAgICBpZiAodGhpcy5sYXlvdXRQZW5kaW5nKQogICAgICAg
ICAgICAgcmV0dXJuOwpAQCAtMzczLDEzICszNzMsMTYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UnVsZXIgPSBjbGFzcyBUaW1lbGluZVJ1bGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAg
ICAgICAgICAgIHRoaXMuX3NjaGVkdWxlZFNlbGVjdGlvbkxheW91dFVwZGF0ZUlkZW50aWZpZXIg
PSB1bmRlZmluZWQ7CiAgICAgICAgIH0KIAotICAgICAgICBzdXBlci5uZWVkc0xheW91dCgpOwor
ICAgICAgICBzdXBlci5uZWVkc0xheW91dChsYXlvdXRSZWFzb24pOwogICAgIH0KIAogICAgIC8v
IFByb3RlY3RlZAogCi0gICAgbGF5b3V0KCkKKyAgICBsYXlvdXQobGF5b3V0UmVhc29uKQogICAg
IHsKKyAgICAgICAgaWYgKGxheW91dFJlYXNvbiA9PT0gV2ViSW5zcGVjdG9yLlZpZXcuTGF5b3V0
UmVhc29uLlJlc2l6ZSkKKyAgICAgICAgICAgIHRoaXMuX2NhY2hlZENsaWVudFdpZHRoID0gdGhp
cy5lbGVtZW50LmNsaWVudFdpZHRoOworCiAgICAgICAgIGxldCB2aXNpYmxlV2lkdGggPSB0aGlz
Ll9yZWNhbGN1bGF0ZSgpOwogICAgICAgICBpZiAodmlzaWJsZVdpZHRoIDw9IDApCiAgICAgICAg
ICAgICByZXR1cm47CkBAIC01MzcsMTIgKzU0MCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1
bGVyID0gY2xhc3MgVGltZWxpbmVSdWxlciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAg
ICAgIH0pOwogICAgIH0KIAotICAgIHJlc2l6ZSgpCi0gICAgewotICAgICAgICB0aGlzLl9jYWNo
ZWRDbGllbnRXaWR0aCA9IHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aDsKLSAgICAgICAgdGhpcy5f
cmVjYWxjdWxhdGUoKTsKLSAgICB9Ci0KICAgICBfcmVjYWxjdWxhdGUoKQogICAgIHsKICAgICAg
ICAgbGV0IHZpc2libGVXaWR0aCA9IHRoaXMuX2NhY2hlZENsaWVudFdpZHRoOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1ZpZXcuanMKaW5kZXggNjIy
YmZmODE1YzNjMjg5YzVkMzU1YjIxNWI2YTkyMTFmMGJlNThiMi4uMjJhOWFlMGY1MjZkNWM1Mjk2
ZTk0NWQ0YTUxOTNkZDNiZmU2YjZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9WaWV3LmpzCkBAIC0zNyw2ICszNyw3IEBAIFdlYkluc3BlY3Rv
ci5WaWV3ID0gY2xhc3MgVmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAg
dGhpcy5fZGlydHlEZXNjZW5kYW50c0NvdW50ID0gMDsKICAgICAgICAgdGhpcy5fbmVlZHNMYXlv
dXRXaGVuQXR0YWNoZWRUb1Jvb3QgPSBmYWxzZTsKICAgICAgICAgdGhpcy5faXNBdHRhY2hlZFRv
Um9vdCA9IGZhbHNlOworICAgICAgICB0aGlzLl9sYXlvdXRSZWFzb24gPSBudWxsOwogICAgIH0K
IAogICAgIC8vIFN0YXRpYwpAQCAtMTM3LDkgKzEzOCwxMSBAQCBXZWJJbnNwZWN0b3IuVmlldyA9
IGNsYXNzIFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIHRoaXMucmVt
b3ZlU3VidmlldyhvbGRWaWV3KTsKICAgICB9CiAKLSAgICB1cGRhdGVMYXlvdXQoKQorICAgIHVw
ZGF0ZUxheW91dChsYXlvdXRSZWFzb24pCiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuVmll
dy5fY2FuY2VsU2NoZWR1bGVkTGF5b3V0Rm9yVmlldyh0aGlzKTsKKworICAgICAgICB0aGlzLl9z
ZXRMYXlvdXRSZWFzb24obGF5b3V0UmVhc29uKTsKICAgICAgICAgdGhpcy5fbGF5b3V0U3VidHJl
ZSgpOwogICAgIH0KIApAQCAtMTUxLDggKzE1NCwxMCBAQCBXZWJJbnNwZWN0b3IuVmlldyA9IGNs
YXNzIFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIHRoaXMudXBkYXRl
TGF5b3V0KCk7CiAgICAgfQogCi0gICAgbmVlZHNMYXlvdXQoKQorICAgIG5lZWRzTGF5b3V0KGxh
eW91dFJlYXNvbikKICAgICB7CisgICAgICAgIHRoaXMuX3NldExheW91dFJlYXNvbihsYXlvdXRS
ZWFzb24pOworCiAgICAgICAgIGlmICh0aGlzLl9kaXJ0eSkKICAgICAgICAgICAgIHJldHVybjsK
IApAQCAtMjA5LDEwICsyMTQsMjIgQEAgV2ViSW5zcGVjdG9yLlZpZXcgPSBjbGFzcyBWaWV3IGV4
dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB0aGlzLl9kaXJ0eSA9IGZhbHNlOwog
ICAgICAgICB0aGlzLl9kaXJ0eURlc2NlbmRhbnRzQ291bnQgPSAwOwogCi0gICAgICAgIHRoaXMu
bGF5b3V0KCk7CisgICAgICAgIHRoaXMubGF5b3V0KHRoaXMuX2xheW91dFJlYXNvbik7CiAKLSAg
ICAgICAgZm9yIChsZXQgdmlldyBvZiB0aGlzLl9zdWJ2aWV3cykKKyAgICAgICAgZm9yIChsZXQg
dmlldyBvZiB0aGlzLl9zdWJ2aWV3cykgeworICAgICAgICAgICAgdmlldy5fc2V0TGF5b3V0UmVh
c29uKHRoaXMuX2xheW91dFJlYXNvbik7CiAgICAgICAgICAgICB2aWV3Ll9sYXlvdXRTdWJ0cmVl
KCk7CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl9sYXlvdXRSZWFzb24gPSBudWxsOworICAg
IH0KKworICAgIF9zZXRMYXlvdXRSZWFzb24obGF5b3V0UmVhc29uKQorICAgIHsKKyAgICAgICAg
aWYgKHRoaXMuX2xheW91dFJlYXNvbiA9PT0gV2ViSW5zcGVjdG9yLlZpZXcuTGF5b3V0UmVhc29u
LlJlc2l6ZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9sYXlvdXRSZWFz
b24gPSBsYXlvdXRSZWFzb24gfHwgV2ViSW5zcGVjdG9yLlZpZXcuTGF5b3V0UmVhc29uLkRpcnR5
OwogICAgIH0KIAogICAgIC8vIExheW91dCBjb250cm9sbGVyIGxvZ2ljCkBAIC0yODMsNSArMzAw
LDEwIEBAIFdlYkluc3BlY3Rvci5WaWV3ID0gY2xhc3MgVmlldyBleHRlbmRzIFdlYkluc3BlY3Rv
ci5PYmplY3QKICAgICB9CiB9OwogCitXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFzb24gPSB7
CisgICAgRGlydHk6IFN5bWJvbCgibGF5b3V0LWxheW91dFJlYXNvbi1kaXJ0eSIpLAorICAgIFJl
c2l6ZTogU3ltYm9sKCJsYXlvdXQtbGF5b3V0UmVhc29uLXJlc2l6ZSIpCit9OworCiBXZWJJbnNw
ZWN0b3IuVmlldy5fcm9vdFZpZXcgPSBudWxsOwogV2ViSW5zcGVjdG9yLlZpZXcuX3NjaGVkdWxl
ZExheW91dFVwZGF0ZUlkZW50aWZpZXIgPSB1bmRlZmluZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270451</attachid>
            <date>2016-02-01 16:37:45 -0800</date>
            <delta_ts>2016-02-01 17:27:30 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-153731-20160201163718.patch</filename>
            <type>text/plain</type>
            <size>13074</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1OTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
M2ZjMzNjYzQ4OWNjMTQyNDRmNGNjNWUxY2QwZTMwZTdkOWEzMDVlLi44ODY3ZDZhNzMxOThlYjhh
YWEwODkyMzFkN2JhNjQ0NzNjOWNjNjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw2MiBAQAogMjAxNi0wMi0wMSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIGEgTGF5b3V0UmVhc29uIGVudW0gdG8gdGhl
IFZpZXcgYmFzZSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTUzNzMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDQzMDkzOD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBCcmlhbiBCdXJnLgorCisgICAgICAgIEFkZGVkIGEgTGF5b3V0UmVh
c29uIGVudW0gdG8gdGhlIFZpZXcgYmFzZSBjbGFzcywgd2hpY2ggY2FuIGJlIHBhc3NlZCBhcyBh
biBvcHRpb25hbAorICAgICAgICBhcmd1bWVudCB0byBuZWVkc0xheW91dCgpIGFuZCB1cGRhdGVM
YXlvdXQoKS4gVGhlIHZhbHVlIGlzIHByb3BhZ2F0ZWQgdG8gdGhlIHZpZXcncworICAgICAgICBz
dWJ0cmVlIGR1cmluZyBsYXlvdXQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFp
bi5qczoKKyAgICAgICAgVXBkYXRlIHRvcC1sZXZlbCB2aWV3cyB3aXRoIFJlc2l6ZSBsYXlvdXQg
cmVhc29uIHdoZW4gd2luZG93IGlzIHJlc2l6ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL0RhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3Rv
dHlwZS5fcG9zaXRpb25IZWFkZXJWaWV3cyk6CisgICAgICAgIFVwZGF0ZSBoZWFkZXIgdmlldyB3
aXRoIFJlc2l6ZSBsYXlvdXQgcmVhc29uIHdoZW4gY29sdW1uIGlzIHJlc2l6ZWQuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL092ZXJ2aWV3VGltZWxpbmVWaWV3LmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVWaWV3LnByb3RvdHlwZS5zaG93bik6Cisg
ICAgICAgIEFzc3VtZSB0aGUgdmlldyBoYXMgYmVlbiByZXNpemVkIHdoZW4gc2hvd24sIGFuZCB1
cGRhdGUgbGF5b3V0LgorICAgICAgICAoV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVWaWV3
LnByb3RvdHlwZS51cGRhdGVMYXlvdXRGb3JSZXNpemUpOiBEZWxldGVkLgorICAgICAgICBObyBs
b25nZXIgbmVlZGVkLCBoYW5kbGVkIGJ5IHRoZSBWaWV3IGJhc2UgY2xhc3MuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuc2hvd24pOgorICAgICAgICBBc3N1
bWUgdGhlIHZpZXcgaGFzIGJlZW4gcmVzaXplZCB3aGVuIHNob3duLCBhbmQgdXBkYXRlIGxheW91
dC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5sYXlv
dXQpOgorICAgICAgICBJbnZhbGlkYXRlIGNhY2hlZCBzY3JvbGwgY29udGFpbmVyIHdpZHRoIGlm
IHJlc2l6ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5
cGUudXBkYXRlTGF5b3V0Rm9yUmVzaXplKTogRGVsZXRlZC4KKyAgICAgICAgTm8gbG9uZ2VyIG5l
ZWRlZCwgaGFuZGxlZCBieSB0aGUgVmlldyBiYXNlIGNsYXNzLgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLmxheW91
dCk6IERlbGV0ZWQuCisgICAgICAgIE5vIGxvbmdlciBuZWVkZWQsIGhhbmRsZWQgYnkgdGhlIFZp
ZXcgYmFzZSBjbGFzcy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVS
dWxlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZS5u
ZWVkc0xheW91dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5
cGUubGF5b3V0KToKKyAgICAgICAgVXBkYXRlIGNhY2hlZCBjbGllbnQgd2lkdGggaWYgcmVzaXpl
ZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZS5yZXNpemUp
OiBEZWxldGVkLgorICAgICAgICBNb3ZlZCByZXNpemUgbG9naWMgdG8gbGF5b3V0IG92ZXJyaWRl
LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9WaWV3LmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLnVw
ZGF0ZUxheW91dCk6CisgICAgICAgIFNldCBsYXlvdXQgcmVhc29uLgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlZpZXcucHJvdG90eXBlLm5lZWRzTGF5b3V0KToKKyAgICAgICAgU2V0IGxheW91dCBy
ZWFzb24gZXZlbiBpZiBhbiBhbmltYXRpb24gZnJhbWUgaGFzIGFscmVhZHkgYmVlbiBzY2hlZHVs
ZWQsCisgICAgICAgIHNpbmNlIHRoZSBsYXlvdXQgcmVhc29uIGNvdWxkIGhhdmUgY2hhbmdlZC4K
KyAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5fbGF5b3V0U3VidHJlZSk6Cisg
ICAgICAgIFByb3BhZ2F0ZSBsYXlvdXQgcmVhc29uIHRvIHN1YnRyZWUsIGFuZCByZXNldCB0aGUg
dmFsdWUgd2hlbiBkb25lLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLl9z
ZXRMYXlvdXRSZWFzb24pOgorICAgICAgICBIZWxwZXIgbWV0aG9kIGZvciB1cGRhdGluZyB0aGUg
bGF5b3V0IHJlYXNvbi4gRW5zdXJlcyB0aGF0IExheW91dFJlYXNvbi5SZXNpemUKKyAgICAgICAg
aGFzIHByaW9yaXR5IG92ZXIgdGhlIGRlZmF1bHQgKExheW91dFJlYXNvbi5EaXJ0eSkuCisKKzIw
MTYtMDItMDEgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgorCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IFJlbmRlcmluZyBGcmFtZXMgdGltZWxpbmUgZHJhd3MgYWxsIGZyYW1lIGJh
cnMgYXQgbWluaW11bSBoZWlnaHQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1MzczNgogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE5NDYzMDE+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4u
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5k
ZXggNmMzZmM4MjYxNmFiOTA4NWVjMjAxOWNlMGE4OWJhZmY3NWIxNzg3Ni4uNzQ5Nzk1M2QxZTE2
MzkwYjc2MjgwYzFmODNmMmRlMTA0NGM5YjNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwpAQCAtMTM0MSw4ICsxMzQxLDggQEAgV2Vi
SW5zcGVjdG9yLl93aW5kb3dCbHVycmVkID0gZnVuY3Rpb24oZXZlbnQpCiAKIFdlYkluc3BlY3Rv
ci5fd2luZG93UmVzaXplZCA9IGZ1bmN0aW9uKGV2ZW50KQogewotICAgIHRoaXMudG9vbGJhci51
cGRhdGVMYXlvdXQoKTsKLSAgICB0aGlzLnRhYkJhci51cGRhdGVMYXlvdXQoKTsKKyAgICB0aGlz
LnRvb2xiYXIudXBkYXRlTGF5b3V0KFdlYkluc3BlY3Rvci5WaWV3LkxheW91dFJlYXNvbi5SZXNp
emUpOworICAgIHRoaXMudGFiQmFyLnVwZGF0ZUxheW91dChXZWJJbnNwZWN0b3IuVmlldy5MYXlv
dXRSZWFzb24uUmVzaXplKTsKICAgICB0aGlzLl90YWJCcm93c2VyU2l6ZURpZENoYW5nZSgpOwog
fTsKIApAQCAtMTQ1NCwxNCArMTQ1NCwxNCBAQCBXZWJJbnNwZWN0b3IuX3VwZGF0ZURvY2tOYXZp
Z2F0aW9uSXRlbXMgPSBmdW5jdGlvbigpCiAKIFdlYkluc3BlY3Rvci5fdGFiQnJvd3NlclNpemVE
aWRDaGFuZ2UgPSBmdW5jdGlvbigpCiB7Ci0gICAgdGhpcy50YWJCcm93c2VyLnVwZGF0ZUxheW91
dCgpOwotICAgIHRoaXMuc3BsaXRDb250ZW50QnJvd3Nlci51cGRhdGVMYXlvdXQoKTsKLSAgICB0
aGlzLnF1aWNrQ29uc29sZS51cGRhdGVMYXlvdXQoKTsKKyAgICB0aGlzLnRhYkJyb3dzZXIudXBk
YXRlTGF5b3V0KFdlYkluc3BlY3Rvci5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOworICAgIHRo
aXMuc3BsaXRDb250ZW50QnJvd3Nlci51cGRhdGVMYXlvdXQoV2ViSW5zcGVjdG9yLlZpZXcuTGF5
b3V0UmVhc29uLlJlc2l6ZSk7CisgICAgdGhpcy5xdWlja0NvbnNvbGUudXBkYXRlTGF5b3V0KFdl
Ykluc3BlY3Rvci5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOwogfTsKIAogV2ViSW5zcGVjdG9y
Ll9xdWlja0NvbnNvbGVEaWRSZXNpemUgPSBmdW5jdGlvbihldmVudCkKIHsKLSAgICB0aGlzLnRh
YkJyb3dzZXIudXBkYXRlTGF5b3V0KCk7CisgICAgdGhpcy50YWJCcm93c2VyLnVwZGF0ZUxheW91
dChXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFzb24uUmVzaXplKTsKIH07CiAKIFdlYkluc3Bl
Y3Rvci5fc2lkZWJhcldpZHRoRGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCmlu
ZGV4IDdmN2E1NzVjNzI2MTRiZDFmMGU1OTYxNDdlNTRjYzk2NDUzNGI1ZTYuLmM5ZjQzZjBmYTZl
ZDAwMDNmNDVjNGQ1YzkwNWQ0NTBkYTlmMTRmYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCkBAIC03NDIsNyArNzQy
LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gY2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBXZWJJ
bnNwZWN0b3IuVmlldwogICAgICAgICAgICAgaWYgKGhlYWRlclZpZXcpIHsKICAgICAgICAgICAg
ICAgICBoZWFkZXJWaWV3LmVsZW1lbnQuc3R5bGUubGVmdCA9IGxlZnQgKyAicHgiOwogICAgICAg
ICAgICAgICAgIGhlYWRlclZpZXcuZWxlbWVudC5zdHlsZS53aWR0aCA9IGNvbHVtbldpZHRoICsg
InB4IjsKLSAgICAgICAgICAgICAgICBoZWFkZXJWaWV3LnVwZGF0ZUxheW91dCgpOworICAgICAg
ICAgICAgICAgIGhlYWRlclZpZXcudXBkYXRlTGF5b3V0KFdlYkluc3BlY3Rvci5WaWV3LkxheW91
dFJlYXNvbi5SZXNpemUpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBsZWZ0ICs9IGNv
bHVtbldpZHRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvT3ZlcnZpZXdUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcwppbmRleCBkOGQ5ZmFm
ZGVlYzIyZGVhOGNjOTZjYjk0ZGFjOWNmN2RjOWZiYTY1Li4xZTIzMzM4NzhmMDJmOGNkNDRlYTc4
YmRhMDk1ZTg1NDQ4Yjg1NmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PdmVydmlld1RpbWVsaW5lVmlldy5qcwpA
QCAtODEsNyArODEsNyBAQCBXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcgPSBjbGFz
cyBPdmVydmlld1RpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICBzdXBlci5z
aG93bigpOwogCiAgICAgICAgIHRoaXMuX3RyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIu
c3luY2hyb25pemUoKTsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5yZXNpemUoKTsKKyAg
ICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci51cGRhdGVMYXlvdXQoV2ViSW5zcGVjdG9yLlZpZXcu
TGF5b3V0UmVhc29uLlJlc2l6ZSk7CiAgICAgfQogCiAgICAgY2xvc2VkKCkKQEAgLTE2MCwxMSAr
MTYwLDYgQEAgV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVWaWV3ID0gY2xhc3MgT3ZlcnZp
ZXdUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgV2ViSW5zcGVjdG9yLnNo
b3dPcmlnaW5hbE9yRm9ybWF0dGVkU291cmNlQ29kZUxvY2F0aW9uKHRyZWVFbGVtZW50LnNvdXJj
ZUNvZGVUaW1lbGluZS5zb3VyY2VDb2RlTG9jYXRpb24pOwogICAgIH0KIAotICAgIHVwZGF0ZUxh
eW91dEZvclJlc2l6ZSgpCi0gICAgewotICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnJlc2l6
ZSgpOwotICAgIH0KLQogICAgIGxheW91dCgpCiAgICAgewogICAgICAgICBsZXQgb2xkWmVyb1Rp
bWUgPSB0aGlzLl90aW1lbGluZVJ1bGVyLnplcm9UaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcu
anMKaW5kZXggZWNhMDI3YjgwMmJlMDM5OWI2OTI5YjRkY2NlYzhlZjg0ZTMyZjliMC4uMzlmZTFj
OGJiZmJjNGY3NjJhYmE5NDkwNjdkZTllYzVlNDRhZDcxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2
aWV3LmpzCkBAIC0yNjUsMTIgKzI2NSwxMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmll
dyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAg
IHsKICAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHRydWU7CiAKLSAgICAgICAgdGhpcy5fdGltZWxp
bmVSdWxlci5yZXNpemUoKQotCiAgICAgICAgIGZvciAodmFyIHRpbWVsaW5lT3ZlcnZpZXdHcmFw
aCBvZiB0aGlzLl90aW1lbGluZU92ZXJ2aWV3R3JhcGhzTWFwLnZhbHVlcygpKQogICAgICAgICAg
ICAgdGltZWxpbmVPdmVydmlld0dyYXBoLnNob3duKCk7CiAKLSAgICAgICAgdGhpcy51cGRhdGVM
YXlvdXQoKTsKKyAgICAgICAgdGhpcy51cGRhdGVMYXlvdXQoV2ViSW5zcGVjdG9yLlZpZXcuTGF5
b3V0UmVhc29uLlJlc2l6ZSk7CiAgICAgfQogCiAgICAgaGlkZGVuKCkKQEAgLTMyMCwxMyArMzE4
LDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2
aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgb3ZlcnZpZXdHcmFwaC5zZWxl
Y3RlZFJlY29yZCA9IHJlY29yZDsKICAgICB9CiAKLSAgICB1cGRhdGVMYXlvdXRGb3JSZXNpemUo
KQotICAgIHsKLSAgICAgICAgdGhpcy5fY2FjaGVkU2Nyb2xsQ29udGFpbmVyV2lkdGggPSBOYU47
Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIucmVzaXplKCkKLSAgICAgICAgdGhpcy51cGRh
dGVMYXlvdXQoKTsKLSAgICB9Ci0KICAgICB1cGRhdGVMYXlvdXRJZk5lZWRlZCgpCiAgICAgewog
ICAgICAgICBpZiAodGhpcy5sYXlvdXRQZW5kaW5nKSB7CkBAIC0zNTMsOCArMzQ0LDExIEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRl
bmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIGNvbnNvbGUuZXJyb3IoIk5lZWRzIHRvIGJl
IGltcGxlbWVudGVkIGJ5IGEgc3ViY2xhc3MuIik7CiAgICAgfQogCi0gICAgbGF5b3V0KCkKKyAg
ICBsYXlvdXQobGF5b3V0UmVhc29uKQogICAgIHsKKyAgICAgICAgaWYgKGxheW91dFJlYXNvbiA9
PT0gV2ViSW5zcGVjdG9yLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSkKKyAgICAgICAgICAgIHRo
aXMuX2NhY2hlZFNjcm9sbENvbnRhaW5lcldpZHRoID0gTmFOOworCiAgICAgICAgIC8vIENhbGN1
bGF0ZSB0aGUgcmVxdWlyZWQgd2lkdGggYmFzZWQgb24gdGhlIGR1cmF0aW9uIGFuZCBzZWNvbmRz
IHBlciBwaXhlbC4KICAgICAgICAgbGV0IGR1cmF0aW9uID0gdGhpcy5fZW5kVGltZSAtIHRoaXMu
X3N0YXJ0VGltZTsKICAgICAgICAgbGV0IG5ld1dpZHRoID0gTWF0aC5jZWlsKGR1cmF0aW9uIC8g
dGhpcy5fZHVyYXRpb25QZXJQaXhlbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRp
bmdDb250ZW50Vmlldy5qcwppbmRleCBkZWU4MTU1NzBhM2U4ZTAyM2Y0MjNkYmNmZmQxNjVmMWRi
NTUzYjBmLi41ZWU1MmZmN2MwY2M2YzdkZWY3NGU4NDBhMDYzN2MxN2E2YWZlZGZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJl
Y29yZGluZ0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMKQEAgLTMyNCwxNyAr
MzI0LDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgPSBjbGFz
cyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogCi0gICAgLy8gUHJvdGVjdGVkCi0KLSAgICBsYXlvdXQoKQotICAgIHsKLSAgICAgICAg
dGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcudXBkYXRlTGF5b3V0Rm9yUmVzaXplKCk7Ci0K
LSAgICAgICAgbGV0IGN1cnJlbnRDb250ZW50VmlldyA9IHRoaXMuX2NvbnRlbnRWaWV3Q29udGFp
bmVyLmN1cnJlbnRDb250ZW50VmlldzsKLSAgICAgICAgaWYgKGN1cnJlbnRDb250ZW50VmlldyAm
JiBjdXJyZW50Q29udGVudFZpZXcudXBkYXRlTGF5b3V0Rm9yUmVzaXplKQotICAgICAgICAgICAg
Y3VycmVudENvbnRlbnRWaWV3LnVwZGF0ZUxheW91dEZvclJlc2l6ZSgpOwotICAgIH0KLQogICAg
IC8vIFByaXZhdGUKIAogICAgIF9jdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UoZXZlbnQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZVJ1bGVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSdWxlci5qcwppbmRleCBkOGJkMTkwYmE5NzEwNTdmMjJhNmQ4ZjY0N2U2ZmEyYzE1
ZjYyM2M4Li4yODE3OGM2ZGVkZWQ4Y2RlMmFiMzM1Njc0ODExYzRkMWIyNWIyZmQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1
bGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lUnVsZXIuanMKQEAgLTM1OCw3ICszNTgsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
dWxlciA9IGNsYXNzIFRpbWVsaW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAg
ICAgICAgICAgdGhpcy5fdXBkYXRlU2VsZWN0aW9uKHZpc2libGVXaWR0aCwgdGhpcy5kdXJhdGlv
bik7CiAgICAgfQogCi0gICAgbmVlZHNMYXlvdXQoKQorICAgIG5lZWRzTGF5b3V0KGxheW91dFJl
YXNvbikKICAgICB7CiAgICAgICAgIGlmICh0aGlzLmxheW91dFBlbmRpbmcpCiAgICAgICAgICAg
ICByZXR1cm47CkBAIC0zNzMsMTMgKzM3MywxNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxl
ciA9IGNsYXNzIFRpbWVsaW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAg
ICAgICAgdGhpcy5fc2NoZWR1bGVkU2VsZWN0aW9uTGF5b3V0VXBkYXRlSWRlbnRpZmllciA9IHVu
ZGVmaW5lZDsKICAgICAgICAgfQogCi0gICAgICAgIHN1cGVyLm5lZWRzTGF5b3V0KCk7CisgICAg
ICAgIHN1cGVyLm5lZWRzTGF5b3V0KGxheW91dFJlYXNvbik7CiAgICAgfQogCiAgICAgLy8gUHJv
dGVjdGVkCiAKLSAgICBsYXlvdXQoKQorICAgIGxheW91dChsYXlvdXRSZWFzb24pCiAgICAgewor
ICAgICAgICBpZiAobGF5b3V0UmVhc29uID09PSBXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFz
b24uUmVzaXplKQorICAgICAgICAgICAgdGhpcy5fY2FjaGVkQ2xpZW50V2lkdGggPSB0aGlzLmVs
ZW1lbnQuY2xpZW50V2lkdGg7CisKICAgICAgICAgbGV0IHZpc2libGVXaWR0aCA9IHRoaXMuX3Jl
Y2FsY3VsYXRlKCk7CiAgICAgICAgIGlmICh2aXNpYmxlV2lkdGggPD0gMCkKICAgICAgICAgICAg
IHJldHVybjsKQEAgLTUzNywxMiArNTQwLDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIg
PSBjbGFzcyBUaW1lbGluZVJ1bGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAg
fSk7CiAgICAgfQogCi0gICAgcmVzaXplKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NhY2hlZENs
aWVudFdpZHRoID0gdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoOwotICAgICAgICB0aGlzLl9yZWNh
bGN1bGF0ZSgpOwotICAgIH0KLQogICAgIF9yZWNhbGN1bGF0ZSgpCiAgICAgewogICAgICAgICBs
ZXQgdmlzaWJsZVdpZHRoID0gdGhpcy5fY2FjaGVkQ2xpZW50V2lkdGg7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaWV3LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlldy5qcwppbmRleCA2MjJiZmY4
MTVjM2MyODljNWQzNTViMjE1YjZhOTIxMWYwYmU1OGIyLi5iOTM2ZmVkYzE3ZDEzOTY3MDE3Mjg3
NjdlMmU0NmI5ZjI1OTUwMjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9WaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1ZpZXcuanMKQEAgLTM3LDYgKzM3LDcgQEAgV2ViSW5zcGVjdG9yLlZp
ZXcgPSBjbGFzcyBWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB0aGlz
Ll9kaXJ0eURlc2NlbmRhbnRzQ291bnQgPSAwOwogICAgICAgICB0aGlzLl9uZWVkc0xheW91dFdo
ZW5BdHRhY2hlZFRvUm9vdCA9IGZhbHNlOwogICAgICAgICB0aGlzLl9pc0F0dGFjaGVkVG9Sb290
ID0gZmFsc2U7CisgICAgICAgIHRoaXMuX2xheW91dFJlYXNvbiA9IG51bGw7CiAgICAgfQogCiAg
ICAgLy8gU3RhdGljCkBAIC0xMzcsOSArMTM4LDExIEBAIFdlYkluc3BlY3Rvci5WaWV3ID0gY2xh
c3MgVmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgdGhpcy5yZW1vdmVT
dWJ2aWV3KG9sZFZpZXcpOwogICAgIH0KIAotICAgIHVwZGF0ZUxheW91dCgpCisgICAgdXBkYXRl
TGF5b3V0KGxheW91dFJlYXNvbikKICAgICB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5WaWV3Ll9j
YW5jZWxTY2hlZHVsZWRMYXlvdXRGb3JWaWV3KHRoaXMpOworCisgICAgICAgIHRoaXMuX3NldExh
eW91dFJlYXNvbihsYXlvdXRSZWFzb24pOwogICAgICAgICB0aGlzLl9sYXlvdXRTdWJ0cmVlKCk7
CiAgICAgfQogCkBAIC0xNTEsOCArMTU0LDEwIEBAIFdlYkluc3BlY3Rvci5WaWV3ID0gY2xhc3Mg
VmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgdGhpcy51cGRhdGVMYXlv
dXQoKTsKICAgICB9CiAKLSAgICBuZWVkc0xheW91dCgpCisgICAgbmVlZHNMYXlvdXQobGF5b3V0
UmVhc29uKQogICAgIHsKKyAgICAgICAgdGhpcy5fc2V0TGF5b3V0UmVhc29uKGxheW91dFJlYXNv
bik7CisKICAgICAgICAgaWYgKHRoaXMuX2RpcnR5KQogICAgICAgICAgICAgcmV0dXJuOwogCkBA
IC0yMDksMTAgKzIxNCwyMiBAQCBXZWJJbnNwZWN0b3IuVmlldyA9IGNsYXNzIFZpZXcgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIHRoaXMuX2RpcnR5ID0gZmFsc2U7CiAgICAg
ICAgIHRoaXMuX2RpcnR5RGVzY2VuZGFudHNDb3VudCA9IDA7CiAKLSAgICAgICAgdGhpcy5sYXlv
dXQoKTsKKyAgICAgICAgdGhpcy5sYXlvdXQodGhpcy5fbGF5b3V0UmVhc29uKTsKIAotICAgICAg
ICBmb3IgKGxldCB2aWV3IG9mIHRoaXMuX3N1YnZpZXdzKQorICAgICAgICBmb3IgKGxldCB2aWV3
IG9mIHRoaXMuX3N1YnZpZXdzKSB7CisgICAgICAgICAgICB2aWV3Ll9zZXRMYXlvdXRSZWFzb24o
dGhpcy5fbGF5b3V0UmVhc29uKTsKICAgICAgICAgICAgIHZpZXcuX2xheW91dFN1YnRyZWUoKTsK
KyAgICAgICAgfQorCisgICAgICAgIHRoaXMuX2xheW91dFJlYXNvbiA9IG51bGw7CisgICAgfQor
CisgICAgX3NldExheW91dFJlYXNvbihsYXlvdXRSZWFzb24pCisgICAgeworICAgICAgICBpZiAo
dGhpcy5fbGF5b3V0UmVhc29uID09PSBXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFzb24uUmVz
aXplKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2xheW91dFJlYXNvbiA9
IGxheW91dFJlYXNvbiB8fCBXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRSZWFzb24uRGlydHk7CiAg
ICAgfQogCiAgICAgLy8gTGF5b3V0IGNvbnRyb2xsZXIgbG9naWMKQEAgLTI4Myw1ICszMDAsMTAg
QEAgV2ViSW5zcGVjdG9yLlZpZXcgPSBjbGFzcyBWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9i
amVjdAogICAgIH0KIH07CiAKK1dlYkluc3BlY3Rvci5WaWV3LkxheW91dFJlYXNvbiA9IHsKKyAg
ICBEaXJ0eTogU3ltYm9sKCJsYXlvdXQtcmVhc29uLWRpcnR5IiksCisgICAgUmVzaXplOiBTeW1i
b2woImxheW91dC1yZWFzb24tcmVzaXplIikKK307CisKIFdlYkluc3BlY3Rvci5WaWV3Ll9yb290
VmlldyA9IG51bGw7CiBXZWJJbnNwZWN0b3IuVmlldy5fc2NoZWR1bGVkTGF5b3V0VXBkYXRlSWRl
bnRpZmllciA9IHVuZGVmaW5lZDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>