<?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>148159</bug_id>
          
          <creation_ts>2015-08-18 20:00:53 -0700</creation_ts>
          <short_desc>Cleanup outline-style: auto painting.</short_desc>
          <delta_ts>2015-08-19 15:09:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1118786</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-08-18 20:00:53 -0700</bug_when>
    <thetext>Remove pre-history logic and adjust html.css.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118787</commentid>
    <comment_count>1</comment_count>
      <attachid>259343</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-08-18 20:02:45 -0700</bug_when>
    <thetext>Created attachment 259343
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118788</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-08-18 20:03:10 -0700</bug_when>
    <thetext>EWS testing first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118789</commentid>
    <comment_count>3</comment_count>
      <attachid>259344</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-08-18 20:49:50 -0700</bug_when>
    <thetext>Created attachment 259344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118966</commentid>
    <comment_count>4</comment_count>
      <attachid>259344</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-08-19 12:10:58 -0700</bug_when>
    <thetext>Comment on attachment 259344
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Old platform style required the focus ring to be painted with an offset.

Would be nice if you could be more specific about the history of the code (like to specific trac revisions).

&gt; Source/WebCore/ChangeLog:12
&gt; +        This patch removes both the old logic and the workaround for getting rid of the unwanted offset.

It also short-circuits RenderElement::paintOutline() when painting is disabled. Is that OK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119026</commentid>
    <comment_count>5</comment_count>
      <attachid>259406</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-08-19 14:29:25 -0700</bug_when>
    <thetext>Created attachment 259406
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119027</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-08-19 14:31:11 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 259344 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=259344&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        Old platform style required the focus ring to be painted with an offset.
&gt; 
&gt; Would be nice if you could be more specific about the history of the code
&gt; (like to specific trac revisions).
Done.

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:12
&gt; &gt; +        This patch removes both the old logic and the workaround for getting rid of the unwanted offset.
&gt; 
&gt; It also short-circuits RenderElement::paintOutline() when painting is
&gt; disabled. Is that OK?
Focus ring painting is already short circuited the only behavior change is for non-auto outlines and I supposed they are not meant to be painted when painting is disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119042</commentid>
    <comment_count>7</comment_count>
      <attachid>259406</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-19 15:09:36 -0700</bug_when>
    <thetext>Comment on attachment 259406
Patch

Clearing flags on attachment: 259406

Committed r188652: &lt;http://trac.webkit.org/changeset/188652&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119043</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-19 15:09:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259343</attachid>
            <date>2015-08-18 20:02:45 -0700</date>
            <delta_ts>2015-08-18 20:49:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148159-20150818200243.patch</filename>
            <type>text/plain</type>
            <size>7939</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTlhOGRjZTY0YzI5NWI0
YmM5MWE2M2YwMTJkYzZiYzNlYmM5ZjYwMC4uNGRmM2MxMjAzNjE0ZGJmOWJhY2IyZDBjZGRjYTg3
NjY2MTExOGYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA4LTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW51cCBvdXRsaW5lLXN0
eWxlOiBhdXRvIHBhaW50aW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ4MTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKworICAgICAgICAqIGNzcy9odG1sLmNzczoKKyAgICAgICAgKDpmb2N1cyk6CisgICAgICAg
IChpbnB1dDpmb2N1cywgdGV4dGFyZWE6Zm9jdXMsIGlzaW5kZXg6Zm9jdXMsIGtleWdlbjpmb2N1
cywgc2VsZWN0OmZvY3VzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0OjpkcmF3Rm9jdXNSaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb21wdXRlTWF4T3V0bGluZVNp
emUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6cGFpbnRGb2N1c1JpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6cGFpbnRPdXRsaW5lKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6YWRqdXN0UmVjdEZvck91dGxpbmVBbmRTaGFkb3cpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBsYXRmb3Jt
Rm9jdXNSaW5nV2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBsYXRmb3Jt
Rm9jdXNSaW5nTWF4V2lkdGgpOiBEZWxldGVkLgorCiAyMDE1LTA4LTE4ICBYYWJpZXIgUm9kcmln
dWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1N0cmVhbXMgQVBJ
XSBVcGRhdGUgaW1wbGVtZW50YXRpb24gd2l0aCB0aGUgbGF0ZXN0IHNwZWMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNz
cwppbmRleCBkOGY4NTA2MTE4YTNmZDczOWJiMWExMzc5NThhMDUyMGMyODI2ZWQyLi45ODc1ODgw
OTg1N2MyYTYyZjUyYjgwMTk1ODhkYTIzNjY1OTA1YjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvaHRtbC5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCkBAIC0x
MTA3LDcgKzExMDcsNyBAQCBub2JyIHsKIC8qIHN0YXRlcyAqLwogCiA6Zm9jdXMgeyAKLSAgICBv
dXRsaW5lOiBhdXRvIDVweCAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IKKyAgICBvdXRsaW5lOiBh
dXRvOwogfQogCiAvKiBSZWFkLW9ubHkgdGV4dCBmaWVsZHMgZG8gbm90IHNob3cgYSBmb2N1cyBy
aW5nIGJ1dCBkbyBzdGlsbCByZWNlaXZlIGZvY3VzICovCkBAIC0xMTE4LDEwICsxMTE4LDYgQEAg
aHRtbDpmb2N1cywgYm9keTpmb2N1cywgaW5wdXRbcmVhZG9ubHldOmZvY3VzIHsKIGFwcGxldDpm
b2N1cywgZW1iZWQ6Zm9jdXMsIGlmcmFtZTpmb2N1cywgb2JqZWN0OmZvY3VzIHsKICAgICBvdXRs
aW5lOiBub25lCiB9Ci0gIAotaW5wdXQ6Zm9jdXMsIHRleHRhcmVhOmZvY3VzLCBpc2luZGV4OmZv
Y3VzLCBrZXlnZW46Zm9jdXMsIHNlbGVjdDpmb2N1cyB7Ci0gICAgb3V0bGluZS1vZmZzZXQ6IC0y
cHgKLX0KIAogaW5wdXQ6bWF0Y2hlcyhbdHlwZT0iYnV0dG9uIl0sIFt0eXBlPSJjaGVja2JveCJd
LCBbdHlwZT0iZmlsZSJdLCBbdHlwZT0iaGlkZGVuIl0sIFt0eXBlPSJpbWFnZSJdLCBbdHlwZT0i
cmFkaW8iXSwgW3R5cGU9InJlc2V0Il0sIFt0eXBlPSJzZWFyY2giXSwgW3R5cGU9InN1Ym1pdCJd
KTpmb2N1cywKIGlucHV0W3R5cGU9ImZpbGUiXTpmb2N1czo6LXdlYmtpdC1maWxlLXVwbG9hZC1i
dXR0b24gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0dyYXBoaWNzQ29udGV4dE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0KaW5kZXggOTM2NTg3ODgzMDgyYTg1OTZmNTBhODYw
MzZiMjNiNmYwNTU0M2IwYS4uMDJjNDhkOGZiMzY2NWY4Y2FlMjQ4YmQyYWI3NmY3MTgxODc0Yjkx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBo
aWNzQ29udGV4dE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCkBAIC04NSwxMyArODUsMTEgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OmRyYXdGb2N1c1JpbmcoY29uc3QgUGF0aCYgcGF0aCwgaW50IC8qIHdpZHRoICov
LCBpbnQgLyogb2YKIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKLXZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3Rm9jdXNSaW5nKGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGludCB3aWR0aCwg
aW50IG9mZnNldCwgZG91YmxlIHRpbWVPZmZzZXQsIGJvb2wmIG5lZWRzUmVkcmF3KQordm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdGb2N1c1JpbmcoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0
cywgaW50LCBpbnQgb2Zmc2V0LCBkb3VibGUgdGltZU9mZnNldCwgYm9vbCYgbmVlZHNSZWRyYXcp
CiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
b2Zmc2V0ICs9ICh3aWR0aCAtIDEpIC8gMjsKLQogICAgIFJldGFpblB0cjxDR011dGFibGVQYXRo
UmVmPiBmb2N1c1JpbmdQYXRoID0gYWRvcHRDRihDR1BhdGhDcmVhdGVNdXRhYmxlKCkpOwogICAg
IGZvciAoYXV0byYgcmVjdCA6IHJlY3RzKQogICAgICAgICBDR1BhdGhBZGRSZWN0KGZvY3VzUmlu
Z1BhdGguZ2V0KCksIDAsIENHUmVjdEluc2V0KHJlY3QsIC1vZmZzZXQsIC1vZmZzZXQpKTsKQEAg
LTEwMCwxNCArOTgsMTIgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdGb2N1c1JpbmcoY29u
c3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cywgaW50IHdpZHRoLCBpbnQKIH0KICNlbmRpZgogCi12
b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zdCBWZWN0b3I8SW50UmVjdD4m
IHJlY3RzLCBpbnQgd2lkdGgsIGludCBvZmZzZXQsIGNvbnN0IENvbG9yJikKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0OjpkcmF3Rm9jdXNSaW5nKGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGlu
dCwgaW50IG9mZnNldCwgY29uc3QgQ29sb3ImKQogewogI2lmICFQTEFURk9STShJT1MpCiAgICAg
aWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgb2Zmc2V0ICs9
ICh3aWR0aCAtIDEpIC8gMjsKLQogICAgIFJldGFpblB0cjxDR011dGFibGVQYXRoUmVmPiBmb2N1
c1JpbmdQYXRoID0gYWRvcHRDRihDR1BhdGhDcmVhdGVNdXRhYmxlKCkpOwogICAgIGZvciAoYXV0
byYgcmVjdCA6IHJlY3RzKQogICAgICAgICBDR1BhdGhBZGRSZWN0KGZvY3VzUmluZ1BhdGguZ2V0
KCksIDAsIENHUmVjdEluc2V0KHJlY3QsIC1vZmZzZXQsIC1vZmZzZXQpKTsKQEAgLTExNSw3ICsx
MTEsNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zdCBWZWN0b3I8
SW50UmVjdD4mIHJlY3RzLCBpbnQgd2lkdGgsIGludAogICAgIGRyYXdGb2N1c1JpbmdUb0NvbnRl
eHQocGxhdGZvcm1Db250ZXh0KCksIGZvY3VzUmluZ1BhdGguZ2V0KCkpOwogI2Vsc2UKICAgICBV
TlVTRURfUEFSQU0ocmVjdHMpOwotICAgIFVOVVNFRF9QQVJBTSh3aWR0aCk7CiAgICAgVU5VU0VE
X1BBUkFNKG9mZnNldCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmNwcAppbmRleCBmNmQwNmFjMTkzZDNiZjU4ZDZkMWIwZDc5YjAyMzhkZGJmYjA1
YTA0Li4wZDlhOTg1MWZkYzFlMzg2M2JkNmU0YjYwMTAyNTE4ZmVkZDAwYWFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0zNzIsNyArMzcyLDcgQEAg
dm9pZCBSZW5kZXJFbGVtZW50Ojpjb21wdXRlTWF4T3V0bGluZVNpemUoKSBjb25zdAogICAgICAg
ICByZXR1cm47CiAgICAgaW50IG1heE91dGxpbmVTaXplID0gbV9zdHlsZS0+b3V0bGluZVNpemUo
KTsKICAgICBpZiAobV9zdHlsZS0+b3V0bGluZVN0eWxlSXNBdXRvKCkpCi0gICAgICAgIG1heE91
dGxpbmVTaXplID0gc3RkOjptYXgodGhlbWUoKS5wbGF0Zm9ybUZvY3VzUmluZ01heFdpZHRoKCks
IG1heE91dGxpbmVTaXplKTsKKyAgICAgICAgbWF4T3V0bGluZVNpemUgPSBzdGQ6Om1heCh0aGVt
ZSgpLnBsYXRmb3JtRm9jdXNSaW5nV2lkdGgoKSwgbWF4T3V0bGluZVNpemUpOwogCiAgICAgaWYg
KG1heE91dGxpbmVTaXplIDwgbWF4aW1hbE91dGxpbmVTaXplKFBhaW50UGhhc2VPdXRsaW5lKSkK
ICAgICAgICAgcmV0dXJuOwpAQCAtMjA1MSw3ICsyMDUxLDcgQEAgdm9pZCBSZW5kZXJFbGVtZW50
OjpwYWludEZvY3VzUmluZyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQm
IHBhaW4KICAgICBhZGRGb2N1c1JpbmdSZWN0cyhmb2N1c1JpbmdSZWN0cywgcGFpbnRPZmZzZXQs
IHBhaW50SW5mby5wYWludENvbnRhaW5lcik7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGJvb2wg
bmVlZHNSZXBhaW50OwotICAgIHBhaW50SW5mby5jb250ZXh0LT5kcmF3Rm9jdXNSaW5nKGZvY3Vz
UmluZ1JlY3RzLCBzdHlsZS5vdXRsaW5lV2lkdGgoKSwgc3R5bGUub3V0bGluZU9mZnNldCgpLCBk
b2N1bWVudCgpLnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCkudGltZVNpbmNlRm9jdXNXYXNTZXQo
KSwgbmVlZHNSZXBhaW50KTsKKyAgICBwYWludEluZm8uY29udGV4dC0+ZHJhd0ZvY3VzUmluZyhm
b2N1c1JpbmdSZWN0cywgdGhlbWUoKS5wbGF0Zm9ybUZvY3VzUmluZ1dpZHRoKCksIHN0eWxlLm91
dGxpbmVPZmZzZXQoKSwgZG9jdW1lbnQoKS5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnRpbWVT
aW5jZUZvY3VzV2FzU2V0KCksIG5lZWRzUmVwYWludCk7CiAgICAgaWYgKG5lZWRzUmVwYWludCkK
ICAgICAgICAgZG9jdW1lbnQoKS5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnNldEZvY3VzZWRF
bGVtZW50TmVlZHNSZXBhaW50KCk7CiAjZWxzZQpAQCAtMjA2MSw2ICsyMDYxLDEwIEBAIHZvaWQg
UmVuZGVyRWxlbWVudDo6cGFpbnRGb2N1c1JpbmcoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0
IExheW91dFBvaW50JiBwYWluCiAKIHZvaWQgUmVuZGVyRWxlbWVudDo6cGFpbnRPdXRsaW5lKFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRSZWN0JiBwYWludFJlY3QpCiB7CisgICAg
R3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQgPSAqcGFpbnRJbmZvLmNvbnRleHQ7Cisg
ICAgaWYgKGdyYXBoaWNzQ29udGV4dC5wYWludGluZ0Rpc2FibGVkKCkpCisgICAgICAgIHJldHVy
bjsKKwogICAgIGlmICghaGFzT3V0bGluZSgpKQogICAgICAgICByZXR1cm47CiAKQEAgLTIwOTIs
NyArMjA5Niw2IEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6cGFpbnRPdXRsaW5lKFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBMYXlvdXRSZWN0JiBwYWludFJlCiAgICAgRUJvcmRlclN0eWxlIG91
dGxpbmVTdHlsZSA9IHN0eWxlVG9Vc2Uub3V0bGluZVN0eWxlKCk7CiAgICAgQ29sb3Igb3V0bGlu
ZUNvbG9yID0gc3R5bGVUb1VzZS52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlPdXRs
aW5lQ29sb3IpOwogCi0gICAgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQgPSAqcGFp
bnRJbmZvLmNvbnRleHQ7CiAgICAgYm9vbCB1c2VUcmFuc3BhcmVuY3lMYXllciA9IG91dGxpbmVD
b2xvci5oYXNBbHBoYSgpOwogICAgIGlmICh1c2VUcmFuc3BhcmVuY3lMYXllcikgewogICAgICAg
ICBpZiAob3V0bGluZVN0eWxlID09IFNPTElEKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCmluZGV4IGYyNGJiODJkNTM4Y2YzYzAwNzkwOWY0ZmY0YWUyMzNkZTYz
ZGRjOTUuLjQ3NDdlODM4ZTlmYTQxYThjMzZlNTNkMzU0OTYxYTNlOTU2ZjBhNTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xOTE4LDcgKzE5MTgsNyBA
QCB2b2lkIFJlbmRlck9iamVjdDo6YWRqdXN0UmVjdEZvck91dGxpbmVBbmRTaGFkb3coTGF5b3V0
UmVjdCYgcmVjdCkgY29uc3QKIHsKICAgICBpbnQgb3V0bGluZVNpemUgPSBvdXRsaW5lU3R5bGVG
b3JSZXBhaW50KCkub3V0bGluZVNpemUoKTsKICAgICBpZiAob3V0bGluZVN0eWxlRm9yUmVwYWlu
dCgpLm91dGxpbmVTdHlsZUlzQXV0bygpKQotICAgICAgICBvdXRsaW5lU2l6ZSA9IHN0ZDo6bWF4
KHRoZW1lKCkucGxhdGZvcm1Gb2N1c1JpbmdNYXhXaWR0aCgpLCBvdXRsaW5lU2l6ZSk7CisgICAg
ICAgIG91dGxpbmVTaXplID0gc3RkOjptYXgodGhlbWUoKS5wbGF0Zm9ybUZvY3VzUmluZ1dpZHRo
KCksIG91dGxpbmVTaXplKTsKICAgICBpZiAoY29uc3QgU2hhZG93RGF0YSogYm94U2hhZG93ID0g
c3R5bGUoKS5ib3hTaGFkb3coKSkgewogICAgICAgICBib3hTaGFkb3ctPmFkanVzdFJlY3RGb3JT
aGFkb3cocmVjdCwgb3V0bGluZVNpemUpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IGNkNGM2MmM5ZTRjMmJlNjNjMDgzYmFjZmFhMGY1
ZDkyNjU0MjkzODQuLmQ0ZmY5NGRjOWZkMGNmOGFiZmE5OGYwNjM4OGJiNWM1OTM2ZTVhNTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0xNjMsNyArMTYzLDcgQEAg
cHVibGljOgogICAgIHN0YXRpYyBDb2xvciBmb2N1c1JpbmdDb2xvcigpOwogICAgIHZpcnR1YWwg
Q29sb3IgcGxhdGZvcm1Gb2N1c1JpbmdDb2xvcigpIGNvbnN0IHsgcmV0dXJuIENvbG9yKDAsIDAs
IDApOyB9CiAgICAgc3RhdGljIHZvaWQgc2V0Q3VzdG9tRm9jdXNSaW5nQ29sb3IoY29uc3QgQ29s
b3ImKTsKLSAgICB2aXJ0dWFsIGludCBwbGF0Zm9ybUZvY3VzUmluZ01heFdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gMzsgfQorICAgIHZpcnR1YWwgaW50IHBsYXRmb3JtRm9jdXNSaW5nV2lkdGgoKSBj
b25zdCB7IHJldHVybiAzOyB9CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICBzdGF0aWMg
Q29sb3IgdGFwSGlnaGxpZ2h0Q29sb3IoKTsKICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtVGFw
SGlnaGxpZ2h0Q29sb3IoKSBjb25zdCB7IHJldHVybiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRhcEhp
Z2hsaWdodENvbG9yOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259344</attachid>
            <date>2015-08-18 20:49:50 -0700</date>
            <delta_ts>2015-08-19 14:29:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148159-20150818204947.patch</filename>
            <type>text/plain</type>
            <size>13436</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTlhOGRjZTY0YzI5NWI0
YmM5MWE2M2YwMTJkYzZiYzNlYmM5ZjYwMC4uMTlmY2ZiZDk3MmJiN2RhOWI4NjQ4NTE5NGY2YjJk
YmQ1ZjgxOTJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA4LTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW51cCBvdXRsaW5lLXN0
eWxlOiBhdXRvIHBhaW50aW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ4MTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgT2xkIHBsYXRmb3JtIHN0eWxlIHJlcXVpcmVkIHRoZSBmb2N1cyByaW5nIHRv
IGJlIHBhaW50ZWQgd2l0aCBhbiBvZmZzZXQuCisgICAgICAgIChhbmQgaXQgaGFzIHRoZSBzaWRl
IGVmZmVjdCBvZiBncm93aW5nIG91dGxpbmUtd2lkdGggYWRkcyBmdXJ0aGVyLCB1bndhbnRlZCBv
ZmZzZXQpCisgICAgICAgIERlZmF1bHQgY3NzIGZvciA6Zm9jdXMgaXMgYWRqdXN0ZWQgdG8gcmVt
b3ZlIHRoaXMgb2Zmc2V0IGJ5IHNldHRpbmcgdGhlIG91dGxpbmUtd2lkdGggdG8gNXB4CisgICAg
ICAgIGFuZCB0aGUgb3V0bGluZS1vZmZzZXQgdG8gLTJweC4KKyAgICAgICAgVGhpcyBwYXRjaCBy
ZW1vdmVzIGJvdGggdGhlIG9sZCBsb2dpYyBhbmQgdGhlIHdvcmthcm91bmQgZm9yIGdldHRpbmcg
cmlkIG9mIHRoZSB1bndhbnRlZCBvZmZzZXQuCisKKyAgICAgICAgVGVzdDogZmFzdC9yZXBhaW50
L291dGxpbmUtYXV0by13aXRoLWRlZmF1bHQtd2lkdGgtYW5kLW9mZnNldC1yZXBhaW50Lmh0bWwK
KworICAgICAgICAqIGNzcy9odG1sLmNzczoKKyAgICAgICAgKDpmb2N1cyk6CisgICAgICAgIChp
bnB1dDpmb2N1cywgdGV4dGFyZWE6Zm9jdXMsIGlzaW5kZXg6Zm9jdXMsIGtleWdlbjpmb2N1cywg
c2VsZWN0OmZvY3VzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
R3JhcGhpY3NDb250ZXh0TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
OjpkcmF3Rm9jdXNSaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb21wdXRlTWF4T3V0bGluZVNpemUp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6cGFpbnRGb2N1c1JpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6cGFpbnRPdXRsaW5lKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVj
dDo6YWRqdXN0UmVjdEZvck91dGxpbmVBbmRTaGFkb3cpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBsYXRmb3JtRm9j
dXNSaW5nV2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBsYXRmb3JtRm9j
dXNSaW5nTWF4V2lkdGgpOiBEZWxldGVkLgorCiAyMDE1LTA4LTE4ICBYYWJpZXIgUm9kcmlndWV6
IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1N0cmVhbXMgQVBJXSBV
cGRhdGUgaW1wbGVtZW50YXRpb24gd2l0aCB0aGUgbGF0ZXN0IHNwZWMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwpp
bmRleCBkOGY4NTA2MTE4YTNmZDczOWJiMWExMzc5NThhMDUyMGMyODI2ZWQyLi45ODc1ODgwOTg1
N2MyYTYyZjUyYjgwMTk1ODhkYTIzNjY1OTA1YjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvaHRtbC5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCkBAIC0xMTA3
LDcgKzExMDcsNyBAQCBub2JyIHsKIC8qIHN0YXRlcyAqLwogCiA6Zm9jdXMgeyAKLSAgICBvdXRs
aW5lOiBhdXRvIDVweCAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IKKyAgICBvdXRsaW5lOiBhdXRv
OwogfQogCiAvKiBSZWFkLW9ubHkgdGV4dCBmaWVsZHMgZG8gbm90IHNob3cgYSBmb2N1cyByaW5n
IGJ1dCBkbyBzdGlsbCByZWNlaXZlIGZvY3VzICovCkBAIC0xMTE4LDEwICsxMTE4LDYgQEAgaHRt
bDpmb2N1cywgYm9keTpmb2N1cywgaW5wdXRbcmVhZG9ubHldOmZvY3VzIHsKIGFwcGxldDpmb2N1
cywgZW1iZWQ6Zm9jdXMsIGlmcmFtZTpmb2N1cywgb2JqZWN0OmZvY3VzIHsKICAgICBvdXRsaW5l
OiBub25lCiB9Ci0gIAotaW5wdXQ6Zm9jdXMsIHRleHRhcmVhOmZvY3VzLCBpc2luZGV4OmZvY3Vz
LCBrZXlnZW46Zm9jdXMsIHNlbGVjdDpmb2N1cyB7Ci0gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHgK
LX0KIAogaW5wdXQ6bWF0Y2hlcyhbdHlwZT0iYnV0dG9uIl0sIFt0eXBlPSJjaGVja2JveCJdLCBb
dHlwZT0iZmlsZSJdLCBbdHlwZT0iaGlkZGVuIl0sIFt0eXBlPSJpbWFnZSJdLCBbdHlwZT0icmFk
aW8iXSwgW3R5cGU9InJlc2V0Il0sIFt0eXBlPSJzZWFyY2giXSwgW3R5cGU9InN1Ym1pdCJdKTpm
b2N1cywKIGlucHV0W3R5cGU9ImZpbGUiXTpmb2N1czo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0
b24gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dy
YXBoaWNzQ29udGV4dE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9HcmFwaGljc0NvbnRleHRNYWMubW0KaW5kZXggOTM2NTg3ODgzMDgyYTg1OTZmNTBhODYwMzZi
MjNiNmYwNTU0M2IwYS4uMDJjNDhkOGZiMzY2NWY4Y2FlMjQ4YmQyYWI3NmY3MTgxODc0YjkxMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNz
Q29udGV4dE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
R3JhcGhpY3NDb250ZXh0TWFjLm1tCkBAIC04NSwxMyArODUsMTEgQEAgdm9pZCBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdGb2N1c1JpbmcoY29uc3QgUGF0aCYgcGF0aCwgaW50IC8qIHdpZHRoICovLCBp
bnQgLyogb2YKIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3Rm9jdXNSaW5nKGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGludCB3aWR0aCwgaW50
IG9mZnNldCwgZG91YmxlIHRpbWVPZmZzZXQsIGJvb2wmIG5lZWRzUmVkcmF3KQordm9pZCBHcmFw
aGljc0NvbnRleHQ6OmRyYXdGb2N1c1JpbmcoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cywg
aW50LCBpbnQgb2Zmc2V0LCBkb3VibGUgdGltZU9mZnNldCwgYm9vbCYgbmVlZHNSZWRyYXcpCiB7
CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgb2Zm
c2V0ICs9ICh3aWR0aCAtIDEpIC8gMjsKLQogICAgIFJldGFpblB0cjxDR011dGFibGVQYXRoUmVm
PiBmb2N1c1JpbmdQYXRoID0gYWRvcHRDRihDR1BhdGhDcmVhdGVNdXRhYmxlKCkpOwogICAgIGZv
ciAoYXV0byYgcmVjdCA6IHJlY3RzKQogICAgICAgICBDR1BhdGhBZGRSZWN0KGZvY3VzUmluZ1Bh
dGguZ2V0KCksIDAsIENHUmVjdEluc2V0KHJlY3QsIC1vZmZzZXQsIC1vZmZzZXQpKTsKQEAgLTEw
MCwxNCArOTgsMTIgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdGb2N1c1JpbmcoY29uc3Qg
VmVjdG9yPEludFJlY3Q+JiByZWN0cywgaW50IHdpZHRoLCBpbnQKIH0KICNlbmRpZgogCi12b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zdCBWZWN0b3I8SW50UmVjdD4mIHJl
Y3RzLCBpbnQgd2lkdGgsIGludCBvZmZzZXQsIGNvbnN0IENvbG9yJikKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3Rm9jdXNSaW5nKGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGludCwg
aW50IG9mZnNldCwgY29uc3QgQ29sb3ImKQogewogI2lmICFQTEFURk9STShJT1MpCiAgICAgaWYg
KHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgb2Zmc2V0ICs9ICh3
aWR0aCAtIDEpIC8gMjsKLQogICAgIFJldGFpblB0cjxDR011dGFibGVQYXRoUmVmPiBmb2N1c1Jp
bmdQYXRoID0gYWRvcHRDRihDR1BhdGhDcmVhdGVNdXRhYmxlKCkpOwogICAgIGZvciAoYXV0byYg
cmVjdCA6IHJlY3RzKQogICAgICAgICBDR1BhdGhBZGRSZWN0KGZvY3VzUmluZ1BhdGguZ2V0KCks
IDAsIENHUmVjdEluc2V0KHJlY3QsIC1vZmZzZXQsIC1vZmZzZXQpKTsKQEAgLTExNSw3ICsxMTEs
NiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zdCBWZWN0b3I8SW50
UmVjdD4mIHJlY3RzLCBpbnQgd2lkdGgsIGludAogICAgIGRyYXdGb2N1c1JpbmdUb0NvbnRleHQo
cGxhdGZvcm1Db250ZXh0KCksIGZvY3VzUmluZ1BhdGguZ2V0KCkpOwogI2Vsc2UKICAgICBVTlVT
RURfUEFSQU0ocmVjdHMpOwotICAgIFVOVVNFRF9QQVJBTSh3aWR0aCk7CiAgICAgVU5VU0VEX1BB
UkFNKG9mZnNldCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcAppbmRleCBmNmQwNmFjMTkzZDNiZjU4ZDZkMWIwZDc5YjAyMzhkZGJmYjA1YTA0
Li4wZDlhOTg1MWZkYzFlMzg2M2JkNmU0YjYwMTAyNTE4ZmVkZDAwYWFmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0zNzIsNyArMzcyLDcgQEAgdm9p
ZCBSZW5kZXJFbGVtZW50Ojpjb21wdXRlTWF4T3V0bGluZVNpemUoKSBjb25zdAogICAgICAgICBy
ZXR1cm47CiAgICAgaW50IG1heE91dGxpbmVTaXplID0gbV9zdHlsZS0+b3V0bGluZVNpemUoKTsK
ICAgICBpZiAobV9zdHlsZS0+b3V0bGluZVN0eWxlSXNBdXRvKCkpCi0gICAgICAgIG1heE91dGxp
bmVTaXplID0gc3RkOjptYXgodGhlbWUoKS5wbGF0Zm9ybUZvY3VzUmluZ01heFdpZHRoKCksIG1h
eE91dGxpbmVTaXplKTsKKyAgICAgICAgbWF4T3V0bGluZVNpemUgPSBzdGQ6Om1heCh0aGVtZSgp
LnBsYXRmb3JtRm9jdXNSaW5nV2lkdGgoKSwgbWF4T3V0bGluZVNpemUpOwogCiAgICAgaWYgKG1h
eE91dGxpbmVTaXplIDwgbWF4aW1hbE91dGxpbmVTaXplKFBhaW50UGhhc2VPdXRsaW5lKSkKICAg
ICAgICAgcmV0dXJuOwpAQCAtMjA1MSw3ICsyMDUxLDcgQEAgdm9pZCBSZW5kZXJFbGVtZW50Ojpw
YWludEZvY3VzUmluZyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBh
aW4KICAgICBhZGRGb2N1c1JpbmdSZWN0cyhmb2N1c1JpbmdSZWN0cywgcGFpbnRPZmZzZXQsIHBh
aW50SW5mby5wYWludENvbnRhaW5lcik7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGJvb2wgbmVl
ZHNSZXBhaW50OwotICAgIHBhaW50SW5mby5jb250ZXh0LT5kcmF3Rm9jdXNSaW5nKGZvY3VzUmlu
Z1JlY3RzLCBzdHlsZS5vdXRsaW5lV2lkdGgoKSwgc3R5bGUub3V0bGluZU9mZnNldCgpLCBkb2N1
bWVudCgpLnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCkudGltZVNpbmNlRm9jdXNXYXNTZXQoKSwg
bmVlZHNSZXBhaW50KTsKKyAgICBwYWludEluZm8uY29udGV4dC0+ZHJhd0ZvY3VzUmluZyhmb2N1
c1JpbmdSZWN0cywgdGhlbWUoKS5wbGF0Zm9ybUZvY3VzUmluZ1dpZHRoKCksIHN0eWxlLm91dGxp
bmVPZmZzZXQoKSwgZG9jdW1lbnQoKS5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnRpbWVTaW5j
ZUZvY3VzV2FzU2V0KCksIG5lZWRzUmVwYWludCk7CiAgICAgaWYgKG5lZWRzUmVwYWludCkKICAg
ICAgICAgZG9jdW1lbnQoKS5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnNldEZvY3VzZWRFbGVt
ZW50TmVlZHNSZXBhaW50KCk7CiAjZWxzZQpAQCAtMjA2MSw2ICsyMDYxLDEwIEBAIHZvaWQgUmVu
ZGVyRWxlbWVudDo6cGFpbnRGb2N1c1JpbmcoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExh
eW91dFBvaW50JiBwYWluCiAKIHZvaWQgUmVuZGVyRWxlbWVudDo6cGFpbnRPdXRsaW5lKFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRSZWN0JiBwYWludFJlY3QpCiB7CisgICAgR3Jh
cGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQgPSAqcGFpbnRJbmZvLmNvbnRleHQ7CisgICAg
aWYgKGdyYXBoaWNzQ29udGV4dC5wYWludGluZ0Rpc2FibGVkKCkpCisgICAgICAgIHJldHVybjsK
KwogICAgIGlmICghaGFzT3V0bGluZSgpKQogICAgICAgICByZXR1cm47CiAKQEAgLTIwOTIsNyAr
MjA5Niw2IEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6cGFpbnRPdXRsaW5lKFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRSZWN0JiBwYWludFJlCiAgICAgRUJvcmRlclN0eWxlIG91dGxp
bmVTdHlsZSA9IHN0eWxlVG9Vc2Uub3V0bGluZVN0eWxlKCk7CiAgICAgQ29sb3Igb3V0bGluZUNv
bG9yID0gc3R5bGVUb1VzZS52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlPdXRsaW5l
Q29sb3IpOwogCi0gICAgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQgPSAqcGFpbnRJ
bmZvLmNvbnRleHQ7CiAgICAgYm9vbCB1c2VUcmFuc3BhcmVuY3lMYXllciA9IG91dGxpbmVDb2xv
ci5oYXNBbHBoYSgpOwogICAgIGlmICh1c2VUcmFuc3BhcmVuY3lMYXllcikgewogICAgICAgICBp
ZiAob3V0bGluZVN0eWxlID09IFNPTElEKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCmluZGV4IGYyNGJiODJkNTM4Y2YzYzAwNzkwOWY0ZmY0YWUyMzNkZTYzZGRj
OTUuLjQ3NDdlODM4ZTlmYTQxYThjMzZlNTNkMzU0OTYxYTNlOTU2ZjBhNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xOTE4LDcgKzE5MTgsNyBAQCB2
b2lkIFJlbmRlck9iamVjdDo6YWRqdXN0UmVjdEZvck91dGxpbmVBbmRTaGFkb3coTGF5b3V0UmVj
dCYgcmVjdCkgY29uc3QKIHsKICAgICBpbnQgb3V0bGluZVNpemUgPSBvdXRsaW5lU3R5bGVGb3JS
ZXBhaW50KCkub3V0bGluZVNpemUoKTsKICAgICBpZiAob3V0bGluZVN0eWxlRm9yUmVwYWludCgp
Lm91dGxpbmVTdHlsZUlzQXV0bygpKQotICAgICAgICBvdXRsaW5lU2l6ZSA9IHN0ZDo6bWF4KHRo
ZW1lKCkucGxhdGZvcm1Gb2N1c1JpbmdNYXhXaWR0aCgpLCBvdXRsaW5lU2l6ZSk7CisgICAgICAg
IG91dGxpbmVTaXplID0gc3RkOjptYXgodGhlbWUoKS5wbGF0Zm9ybUZvY3VzUmluZ1dpZHRoKCks
IG91dGxpbmVTaXplKTsKICAgICBpZiAoY29uc3QgU2hhZG93RGF0YSogYm94U2hhZG93ID0gc3R5
bGUoKS5ib3hTaGFkb3coKSkgewogICAgICAgICBib3hTaGFkb3ctPmFkanVzdFJlY3RGb3JTaGFk
b3cocmVjdCwgb3V0bGluZVNpemUpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IGNkNGM2MmM5ZTRjMmJlNjNjMDgzYmFjZmFhMGY1ZDky
NjU0MjkzODQuLmQ0ZmY5NGRjOWZkMGNmOGFiZmE5OGYwNjM4OGJiNWM1OTM2ZTVhNTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0xNjMsNyArMTYzLDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBDb2xvciBmb2N1c1JpbmdDb2xvcigpOwogICAgIHZpcnR1YWwgQ29s
b3IgcGxhdGZvcm1Gb2N1c1JpbmdDb2xvcigpIGNvbnN0IHsgcmV0dXJuIENvbG9yKDAsIDAsIDAp
OyB9CiAgICAgc3RhdGljIHZvaWQgc2V0Q3VzdG9tRm9jdXNSaW5nQ29sb3IoY29uc3QgQ29sb3Im
KTsKLSAgICB2aXJ0dWFsIGludCBwbGF0Zm9ybUZvY3VzUmluZ01heFdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gMzsgfQorICAgIHZpcnR1YWwgaW50IHBsYXRmb3JtRm9jdXNSaW5nV2lkdGgoKSBjb25z
dCB7IHJldHVybiAzOyB9CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICBzdGF0aWMgQ29s
b3IgdGFwSGlnaGxpZ2h0Q29sb3IoKTsKICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtVGFwSGln
aGxpZ2h0Q29sb3IoKSBjb25zdCB7IHJldHVybiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRhcEhpZ2hs
aWdodENvbG9yOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDc3NTBmNjJiMTQ2NmU3YTEyZjU3N2FmZDk4YWExNDYxMTAz
MmM4Yy4uOTY3NTBjMmM4NDE3MDUxZDdkZjMwNzk0ODk2NzBhOGZhMGMxOGJjZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIyIEBACisyMDE1LTA4LTE4ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CisKKyAgICAgICAgQ2xlYW51cCBvdXRsaW5lLXN0eWxlOiBhdXRvIHBhaW50aW5nLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4MTU5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT2xkIHBsYXRmb3JtIHN0
eWxlIHJlcXVpcmVkIHRoZSBmb2N1cyByaW5nIHRvIGJlIHBhaW50ZWQgd2l0aCBhbiBvZmZzZXQu
CisgICAgICAgIChhbmQgaXQgaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBncm93aW5nIG91dGxpbmUt
d2lkdGggYWRkcyBmdXJ0aGVyLCB1bndhbnRlZCBvZmZzZXQpCisgICAgICAgIERlZmF1bHQgY3Nz
IGZvciA6Zm9jdXMgaXMgYWRqdXN0ZWQgdG8gcmVtb3ZlIHRoaXMgb2Zmc2V0IGJ5IHNldHRpbmcg
dGhlIG91dGxpbmUtd2lkdGggdG8gNXB4CisgICAgICAgIGFuZCB0aGUgb3V0bGluZS1vZmZzZXQg
dG8gLTJweC4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGJvdGggdGhlIG9sZCBsb2dpYyBh
bmQgdGhlIHdvcmthcm91bmQgZm9yIGdldHRpbmcgcmlkIG9mIHRoZSB1bndhbnRlZCBvZmZzZXQu
CisKKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvb3V0bGluZS1hdXRvLXdpdGgtZGVmYXVsdC13aWR0
aC1hbmQtb2Zmc2V0LXJlcGFpbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3JlcGFpbnQvb3V0bGluZS1hdXRvLXdpdGgtZGVmYXVsdC13aWR0aC1hbmQtb2Zmc2V0LXJlcGFp
bnQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L291dGxpbmUtd2l0
aDJweC1hdXRvLXJlcGFpbnQtcmVjdC5odG1sLgorICAgICAgICAqIGZhc3QvcmVwYWludC9vdXRs
aW5lLXdpdGgxcHgtYXV0by1yZXBhaW50LXJlY3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L3JlcGFp
bnQvb3V0bGluZS13aXRoMnB4LWF1dG8tcmVwYWludC1yZWN0Lmh0bWw6CisgICAgICAgICogZmFz
dC9yZXBhaW50L291dGxpbmUtd2l0aDNweC1hdXRvLXJlcGFpbnQtcmVjdC5odG1sOgorCiAyMDE1
LTA4LTE4ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW1N0cmVhbXMgQVBJXSBVcGRhdGUgaW1wbGVtZW50YXRpb24gd2l0aCB0aGUgbGF0
ZXN0IHNwZWMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9vdXRsaW5lLWF1
dG8td2l0aC1kZWZhdWx0LXdpZHRoLWFuZC1vZmZzZXQtcmVwYWludC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvb3V0bGluZS1hdXRvLXdpdGgtZGVmYXVsdC13aWR0aC1h
bmQtb2Zmc2V0LXJlcGFpbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmYzY2ZDM0NjYxNjU4
NTI1NDY4OWJkM2IwZjFiOTQwZTY1MDJiYWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvb3V0bGluZS1hdXRvLXdpdGgtZGVmYXVsdC13aWR0aC1hbmQtb2Zmc2V0
LXJlcGFpbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorUEFTUyB3aW5kb3cuaW50ZXJu
YWxzLnJlcGFpbnRSZWN0c0FzVGV4dCgpLmluZGV4T2YoJzQgNicpIGlzIG5vdCAtMQorUEFTUyB3
aW5kb3cuaW50ZXJuYWxzLnJlcGFpbnRSZWN0c0FzVGV4dCgpLmluZGV4T2YoJzQgNDYnKSBpcyBu
b3QgLTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvb3V0bGluZS1hdXRvLXdpdGgt
ZGVmYXVsdC13aWR0aC1hbmQtb2Zmc2V0LXJlcGFpbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9vdXRsaW5lLWF1dG8td2l0aC1kZWZhdWx0LXdpZHRoLWFuZC1vZmZzZXQtcmVwYWlu
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmUzYTJmYjMyOTQwMWZiZjZmZmQwNzljZjY0OGYyMmVmZjMxYzNl
ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvb3V0bGluZS1h
dXRvLXdpdGgtZGVmYXVsdC13aWR0aC1hbmQtb2Zmc2V0LXJlcGFpbnQuaHRtbApAQCAtMCwwICsx
LDM3IEBACis8aHRtbD4KKzxzY3JpcHQ+anNUZXN0SXNBc3luYyA9IHRydWU7PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxo
ZWFkPgorPHRpdGxlPlRoaXMgdGVzdHMgdGhhdCBvdXRsaW5lLXN0eWxlIGF1dG8gcmVwYWludCBy
ZWN0IGlzIGNvcnJlY3Qgd2l0aCBkZWZhdWx0IG91dGxpbmUtd2lkdGggYW5kIG91dGxpbmUtb2Zm
c2V0LjwvdGl0bGU+Cis8c3R5bGU+CitkaXYgeworICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIHRv
cDogMTBweDsKKyAgaGVpZ2h0OiAxMHB4OworICB3aWR0aDogMTBweDsKKyAgb3V0bGluZTogYXV0
bzsKKyAgb3V0bGluZS1vZmZzZXQ6IDFweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9Zm9vPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KK3NldFRpbWVvdXQoCisJZnVu
Y3Rpb24oKSB7IAorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKwkgICAgICAgIGludGVy
bmFscy5zdGFydFRyYWNraW5nUmVwYWludHMoKTsKKyAJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJmb28iKS5zdHlsZS50b3AgPSAiNTBweCI7CisgCQlkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRo
OworCisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICBzaG91bGRO
b3RCZSgid2luZG93LmludGVybmFscy5yZXBhaW50UmVjdHNBc1RleHQoKS5pbmRleE9mKCc0IDYn
KSIsICItMSIpOworICAgICAgICAgICAgc2hvdWxkTm90QmUoIndpbmRvdy5pbnRlcm5hbHMucmVw
YWludFJlY3RzQXNUZXh0KCkuaW5kZXhPZignNCA0NicpIiwgIi0xIik7CisgICAgICAgICAgICBp
bnRlcm5hbHMuc3RvcFRyYWNraW5nUmVwYWludHMoKTsKKyAgICAgICAgfQorICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKwl9LCAwKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9yZXBhaW50L291dGxpbmUtd2l0aDFweC1hdXRvLXJlcGFpbnQtcmVjdC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L291dGxpbmUtd2l0aDFweC1hdXRvLXJlcGFp
bnQtcmVjdC5odG1sCmluZGV4IGNhYmEyNmVkMjkzOTMyMmQ0MzczYzljYzgwODg1NWM2NDQxZDdh
Y2EuLmU3ZWIyMzE2YjJjMTM0ZmQwOTBmZjEyMTYwNWU3YjI4ZDQ3MTU4MjEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9vdXRsaW5lLXdpdGgxcHgtYXV0by1yZXBhaW50LXJl
Y3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvb3V0bGluZS13aXRoMXB4LWF1
dG8tcmVwYWludC1yZWN0Lmh0bWwKQEAgLTcsNyArNyw3IEBACiBkaXYgewogICBwb3NpdGlvbjog
YWJzb2x1dGU7CiAgIHRvcDogMTBweDsKLSAgaGVpZ2h0OiAwcHg7CisgIGhlaWdodDogMTBweDsK
ICAgd2lkdGg6IDEwcHg7CiAgIG91dGxpbmU6IGF1dG8gMXB4OwogfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9yZXBhaW50L291dGxpbmUtd2l0aDJweC1hdXRvLXJlcGFpbnQtcmVjdC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L291dGxpbmUtd2l0aDJweC1hdXRvLXJlcGFp
bnQtcmVjdC5odG1sCmluZGV4IDc4NzZhNzBkMDhjMWRmN2JkOWM3ODRmYTQ1MDA1NTEzMzhlZjc5
YmIuLmQ4YjEyZTk1MTZjYjdhYzNkYjQzMTljYzliMWNkOTgzZDBlYWIzZDYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9vdXRsaW5lLXdpdGgycHgtYXV0by1yZXBhaW50LXJl
Y3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvb3V0bGluZS13aXRoMnB4LWF1
dG8tcmVwYWludC1yZWN0Lmh0bWwKQEAgLTcsNyArNyw3IEBACiBkaXYgewogICBwb3NpdGlvbjog
YWJzb2x1dGU7CiAgIHRvcDogMTBweDsKLSAgaGVpZ2h0OiAwcHg7CisgIGhlaWdodDogMTBweDsK
ICAgd2lkdGg6IDEwcHg7CiAgIG91dGxpbmU6IGF1dG8gMnB4OwogfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9yZXBhaW50L291dGxpbmUtd2l0aDNweC1hdXRvLXJlcGFpbnQtcmVjdC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L291dGxpbmUtd2l0aDNweC1hdXRvLXJlcGFp
bnQtcmVjdC5odG1sCmluZGV4IDMzY2M4NjBlNzIzMWVmYjU1ZGM0ZmZjNWRhZTBkNDg3NGE3MTE0
NmUuLmVmMTlmNGEwYzUzZDE5NGQ1MGNiZjZjMGJlMDg1MGRlZTU4YzBmOGIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9vdXRsaW5lLXdpdGgzcHgtYXV0by1yZXBhaW50LXJl
Y3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvb3V0bGluZS13aXRoM3B4LWF1
dG8tcmVwYWludC1yZWN0Lmh0bWwKQEAgLTcsNyArNyw3IEBACiBkaXYgewogICBwb3NpdGlvbjog
YWJzb2x1dGU7CiAgIHRvcDogMTBweDsKLSAgaGVpZ2h0OiAwcHg7CisgIGhlaWdodDogMTBweDsK
ICAgd2lkdGg6IDEwcHg7CiAgIG91dGxpbmU6IGF1dG8gM3B4OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259406</attachid>
            <date>2015-08-19 14:29:25 -0700</date>
            <delta_ts>2015-08-19 15:09:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148159-20150819142922.patch</filename>
            <type>text/plain</type>
            <size>13748</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTlhOGRjZTY0YzI5NWI0
YmM5MWE2M2YwMTJkYzZiYzNlYmM5ZjYwMC4uMGE2MGEwMzY1ODAxMWEwY2IyNzlkZDYxYTc2YzJm
MjI3ZWJlMDRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE1LTA4LTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW51cCBvdXRsaW5lLXN0
eWxlOiBhdXRvIHBhaW50aW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ4MTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgIE9sZCBwbGF0Zm9ybSBzdHlsZSByZXF1aXJlZCB0aGUgZm9jdXMgcmluZyB0byBi
ZSBwYWludGVkIHdpdGggYW4gb2Zmc2V0LiAoaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvcjUzNTgp
CisgICAgICAgIChhbmQgaXQgaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBncm93aW5nIG91dGxpbmUt
d2lkdGggYWRkcyBmdXJ0aGVyLCB1bndhbnRlZCBvZmZzZXQpCisgICAgICAgIERlZmF1bHQgY3Nz
IGZvciA6Zm9jdXMgaXMgYWRqdXN0ZWQgdG8gcmVtb3ZlIHRoaXMgb2Zmc2V0IGJ5IHNldHRpbmcg
dGhlIG91dGxpbmUtd2lkdGggdG8gNXB4CisgICAgICAgIGFuZCB0aGUgb3V0bGluZS1vZmZzZXQg
dG8gLTJweC4gKGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3IxMzYzOSkKKyAgICAgICAgVGhpcyBw
YXRjaCByZW1vdmVzIGJvdGggdGhlIG9sZCBsb2dpYyBhbmQgdGhlIHdvcmthcm91bmQgZm9yIGdl
dHRpbmcgcmlkIG9mIHRoZSB1bndhbnRlZCBvZmZzZXQuCisKKyAgICAgICAgVGVzdDogZmFzdC9y
ZXBhaW50L291dGxpbmUtYXV0by13aXRoLWRlZmF1bHQtd2lkdGgtYW5kLW9mZnNldC1yZXBhaW50
Lmh0bWwKKworICAgICAgICAqIGNzcy9odG1sLmNzczoKKyAgICAgICAgKDpmb2N1cyk6CisgICAg
ICAgIChpbnB1dDpmb2N1cywgdGV4dGFyZWE6Zm9jdXMsIGlzaW5kZXg6Zm9jdXMsIGtleWdlbjpm
b2N1cywgc2VsZWN0OmZvY3VzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0OjpkcmF3Rm9jdXNSaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojpjb21wdXRlTWF4T3V0bGlu
ZVNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6cGFpbnRGb2N1c1Jpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6cGFpbnRPdXRsaW5lKTogU2hvcnQg
Y2lyY3VpdCBwYWludGluZyBvdXRsaW5lIHdoZW4gcGFpbnRpbmcgaXMgZGlzYWJsZWQuIEl0Cisg
ICAgICAgIG9ubHkgY2hhbmdlIGJlaGF2aW91ciBmb3Igbm9uLWF1dG8gb3V0bGluZXMgLXdoaWNo
IGFyZSBhbnl3YXkgbm90IHN1cHBvc2VkIHRvIGJlIHBhaW50ZWQgd2hlbiBwYWludGluZyBpcyBk
aXNhYmxlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck9iamVjdDo6YWRqdXN0UmVjdEZvck91dGxpbmVBbmRTaGFkb3cpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWU6OnBsYXRmb3JtRm9jdXNSaW5nV2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWU6OnBsYXRmb3JtRm9jdXNSaW5nTWF4V2lkdGgpOiBEZWxldGVkLgorCiAyMDE1LTA4
LTE4ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW1N0cmVhbXMgQVBJXSBVcGRhdGUgaW1wbGVtZW50YXRpb24gd2l0aCB0aGUgbGF0ZXN0
IHNwZWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9odG1sLmNzcwppbmRleCBkOGY4NTA2MTE4YTNmZDczOWJiMWExMzc5NThhMDUy
MGMyODI2ZWQyLi45ODc1ODgwOTg1N2MyYTYyZjUyYjgwMTk1ODhkYTIzNjY1OTA1YjUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL2h0bWwuY3NzCkBAIC0xMTA3LDcgKzExMDcsNyBAQCBub2JyIHsKIC8qIHN0YXRlcyAqLwog
CiA6Zm9jdXMgeyAKLSAgICBvdXRsaW5lOiBhdXRvIDVweCAtd2Via2l0LWZvY3VzLXJpbmctY29s
b3IKKyAgICBvdXRsaW5lOiBhdXRvOwogfQogCiAvKiBSZWFkLW9ubHkgdGV4dCBmaWVsZHMgZG8g
bm90IHNob3cgYSBmb2N1cyByaW5nIGJ1dCBkbyBzdGlsbCByZWNlaXZlIGZvY3VzICovCkBAIC0x
MTE4LDEwICsxMTE4LDYgQEAgaHRtbDpmb2N1cywgYm9keTpmb2N1cywgaW5wdXRbcmVhZG9ubHld
OmZvY3VzIHsKIGFwcGxldDpmb2N1cywgZW1iZWQ6Zm9jdXMsIGlmcmFtZTpmb2N1cywgb2JqZWN0
OmZvY3VzIHsKICAgICBvdXRsaW5lOiBub25lCiB9Ci0gIAotaW5wdXQ6Zm9jdXMsIHRleHRhcmVh
OmZvY3VzLCBpc2luZGV4OmZvY3VzLCBrZXlnZW46Zm9jdXMsIHNlbGVjdDpmb2N1cyB7Ci0gICAg
b3V0bGluZS1vZmZzZXQ6IC0ycHgKLX0KIAogaW5wdXQ6bWF0Y2hlcyhbdHlwZT0iYnV0dG9uIl0s
IFt0eXBlPSJjaGVja2JveCJdLCBbdHlwZT0iZmlsZSJdLCBbdHlwZT0iaGlkZGVuIl0sIFt0eXBl
PSJpbWFnZSJdLCBbdHlwZT0icmFkaW8iXSwgW3R5cGU9InJlc2V0Il0sIFt0eXBlPSJzZWFyY2gi
XSwgW3R5cGU9InN1Ym1pdCJdKTpmb2N1cywKIGlucHV0W3R5cGU9ImZpbGUiXTpmb2N1czo6LXdl
YmtpdC1maWxlLXVwbG9hZC1idXR0b24gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0KaW5kZXggOTM2NTg3
ODgzMDgyYTg1OTZmNTBhODYwMzZiMjNiNmYwNTU0M2IwYS4uMDJjNDhkOGZiMzY2NWY4Y2FlMjQ4
YmQyYWI3NmY3MTgxODc0YjkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCkBAIC04NSwxMyArODUs
MTEgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdGb2N1c1JpbmcoY29uc3QgUGF0aCYgcGF0
aCwgaW50IC8qIHdpZHRoICovLCBpbnQgLyogb2YKIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKLXZv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3Rm9jdXNSaW5nKGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYg
cmVjdHMsIGludCB3aWR0aCwgaW50IG9mZnNldCwgZG91YmxlIHRpbWVPZmZzZXQsIGJvb2wmIG5l
ZWRzUmVkcmF3KQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdGb2N1c1JpbmcoY29uc3QgVmVj
dG9yPEludFJlY3Q+JiByZWN0cywgaW50LCBpbnQgb2Zmc2V0LCBkb3VibGUgdGltZU9mZnNldCwg
Ym9vbCYgbmVlZHNSZWRyYXcpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgb2Zmc2V0ICs9ICh3aWR0aCAtIDEpIC8gMjsKLQogICAgIFJldGFp
blB0cjxDR011dGFibGVQYXRoUmVmPiBmb2N1c1JpbmdQYXRoID0gYWRvcHRDRihDR1BhdGhDcmVh
dGVNdXRhYmxlKCkpOwogICAgIGZvciAoYXV0byYgcmVjdCA6IHJlY3RzKQogICAgICAgICBDR1Bh
dGhBZGRSZWN0KGZvY3VzUmluZ1BhdGguZ2V0KCksIDAsIENHUmVjdEluc2V0KHJlY3QsIC1vZmZz
ZXQsIC1vZmZzZXQpKTsKQEAgLTEwMCwxNCArOTgsMTIgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6
OmRyYXdGb2N1c1JpbmcoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cywgaW50IHdpZHRoLCBp
bnQKIH0KICNlbmRpZgogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25z
dCBWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBpbnQgd2lkdGgsIGludCBvZmZzZXQsIGNvbnN0IENv
bG9yJikKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3Rm9jdXNSaW5nKGNvbnN0IFZlY3RvcjxJ
bnRSZWN0PiYgcmVjdHMsIGludCwgaW50IG9mZnNldCwgY29uc3QgQ29sb3ImKQogewogI2lmICFQ
TEFURk9STShJT1MpCiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgb2Zmc2V0ICs9ICh3aWR0aCAtIDEpIC8gMjsKLQogICAgIFJldGFpblB0cjxDR011
dGFibGVQYXRoUmVmPiBmb2N1c1JpbmdQYXRoID0gYWRvcHRDRihDR1BhdGhDcmVhdGVNdXRhYmxl
KCkpOwogICAgIGZvciAoYXV0byYgcmVjdCA6IHJlY3RzKQogICAgICAgICBDR1BhdGhBZGRSZWN0
KGZvY3VzUmluZ1BhdGguZ2V0KCksIDAsIENHUmVjdEluc2V0KHJlY3QsIC1vZmZzZXQsIC1vZmZz
ZXQpKTsKQEAgLTExNSw3ICsxMTEsNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3Vz
UmluZyhjb25zdCBWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBpbnQgd2lkdGgsIGludAogICAgIGRy
YXdGb2N1c1JpbmdUb0NvbnRleHQocGxhdGZvcm1Db250ZXh0KCksIGZvY3VzUmluZ1BhdGguZ2V0
KCkpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ocmVjdHMpOwotICAgIFVOVVNFRF9QQVJBTSh3
aWR0aCk7CiAgICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCBmNmQwNmFjMTkzZDNiZjU4ZDZk
MWIwZDc5YjAyMzhkZGJmYjA1YTA0Li4wZDlhOTg1MWZkYzFlMzg2M2JkNmU0YjYwMTAyNTE4ZmVk
ZDAwYWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBA
IC0zNzIsNyArMzcyLDcgQEAgdm9pZCBSZW5kZXJFbGVtZW50Ojpjb21wdXRlTWF4T3V0bGluZVNp
emUoKSBjb25zdAogICAgICAgICByZXR1cm47CiAgICAgaW50IG1heE91dGxpbmVTaXplID0gbV9z
dHlsZS0+b3V0bGluZVNpemUoKTsKICAgICBpZiAobV9zdHlsZS0+b3V0bGluZVN0eWxlSXNBdXRv
KCkpCi0gICAgICAgIG1heE91dGxpbmVTaXplID0gc3RkOjptYXgodGhlbWUoKS5wbGF0Zm9ybUZv
Y3VzUmluZ01heFdpZHRoKCksIG1heE91dGxpbmVTaXplKTsKKyAgICAgICAgbWF4T3V0bGluZVNp
emUgPSBzdGQ6Om1heCh0aGVtZSgpLnBsYXRmb3JtRm9jdXNSaW5nV2lkdGgoKSwgbWF4T3V0bGlu
ZVNpemUpOwogCiAgICAgaWYgKG1heE91dGxpbmVTaXplIDwgbWF4aW1hbE91dGxpbmVTaXplKFBh
aW50UGhhc2VPdXRsaW5lKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMjA1MSw3ICsyMDUxLDcgQEAg
dm9pZCBSZW5kZXJFbGVtZW50OjpwYWludEZvY3VzUmluZyhQYWludEluZm8mIHBhaW50SW5mbywg
Y29uc3QgTGF5b3V0UG9pbnQmIHBhaW4KICAgICBhZGRGb2N1c1JpbmdSZWN0cyhmb2N1c1JpbmdS
ZWN0cywgcGFpbnRPZmZzZXQsIHBhaW50SW5mby5wYWludENvbnRhaW5lcik7CiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIGJvb2wgbmVlZHNSZXBhaW50OwotICAgIHBhaW50SW5mby5jb250ZXh0LT5k
cmF3Rm9jdXNSaW5nKGZvY3VzUmluZ1JlY3RzLCBzdHlsZS5vdXRsaW5lV2lkdGgoKSwgc3R5bGUu
b3V0bGluZU9mZnNldCgpLCBkb2N1bWVudCgpLnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCkudGlt
ZVNpbmNlRm9jdXNXYXNTZXQoKSwgbmVlZHNSZXBhaW50KTsKKyAgICBwYWludEluZm8uY29udGV4
dC0+ZHJhd0ZvY3VzUmluZyhmb2N1c1JpbmdSZWN0cywgdGhlbWUoKS5wbGF0Zm9ybUZvY3VzUmlu
Z1dpZHRoKCksIHN0eWxlLm91dGxpbmVPZmZzZXQoKSwgZG9jdW1lbnQoKS5wYWdlKCktPmZvY3Vz
Q29udHJvbGxlcigpLnRpbWVTaW5jZUZvY3VzV2FzU2V0KCksIG5lZWRzUmVwYWludCk7CiAgICAg
aWYgKG5lZWRzUmVwYWludCkKICAgICAgICAgZG9jdW1lbnQoKS5wYWdlKCktPmZvY3VzQ29udHJv
bGxlcigpLnNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50KCk7CiAjZWxzZQpAQCAtMjA2MSw2
ICsyMDYxLDEwIEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6cGFpbnRGb2N1c1JpbmcoUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWluCiAKIHZvaWQgUmVuZGVyRWxlbWVu
dDo6cGFpbnRPdXRsaW5lKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRSZWN0JiBw
YWludFJlY3QpCiB7CisgICAgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQgPSAqcGFp
bnRJbmZvLmNvbnRleHQ7CisgICAgaWYgKGdyYXBoaWNzQ29udGV4dC5wYWludGluZ0Rpc2FibGVk
KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmICghaGFzT3V0bGluZSgpKQogICAgICAgICBy
ZXR1cm47CiAKQEAgLTIwOTIsNyArMjA5Niw2IEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6cGFpbnRP
dXRsaW5lKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRSZWN0JiBwYWludFJlCiAg
ICAgRUJvcmRlclN0eWxlIG91dGxpbmVTdHlsZSA9IHN0eWxlVG9Vc2Uub3V0bGluZVN0eWxlKCk7
CiAgICAgQ29sb3Igb3V0bGluZUNvbG9yID0gc3R5bGVUb1VzZS52aXNpdGVkRGVwZW5kZW50Q29s
b3IoQ1NTUHJvcGVydHlPdXRsaW5lQ29sb3IpOwogCi0gICAgR3JhcGhpY3NDb250ZXh0JiBncmFw
aGljc0NvbnRleHQgPSAqcGFpbnRJbmZvLmNvbnRleHQ7CiAgICAgYm9vbCB1c2VUcmFuc3BhcmVu
Y3lMYXllciA9IG91dGxpbmVDb2xvci5oYXNBbHBoYSgpOwogICAgIGlmICh1c2VUcmFuc3BhcmVu
Y3lMYXllcikgewogICAgICAgICBpZiAob3V0bGluZVN0eWxlID09IFNPTElEKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGYyNGJiODJkNTM4Y2YzYzAw
NzkwOWY0ZmY0YWUyMzNkZTYzZGRjOTUuLjQ3NDdlODM4ZTlmYTQxYThjMzZlNTNkMzU0OTYxYTNl
OTU2ZjBhNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBA
IC0xOTE4LDcgKzE5MTgsNyBAQCB2b2lkIFJlbmRlck9iamVjdDo6YWRqdXN0UmVjdEZvck91dGxp
bmVBbmRTaGFkb3coTGF5b3V0UmVjdCYgcmVjdCkgY29uc3QKIHsKICAgICBpbnQgb3V0bGluZVNp
emUgPSBvdXRsaW5lU3R5bGVGb3JSZXBhaW50KCkub3V0bGluZVNpemUoKTsKICAgICBpZiAob3V0
bGluZVN0eWxlRm9yUmVwYWludCgpLm91dGxpbmVTdHlsZUlzQXV0bygpKQotICAgICAgICBvdXRs
aW5lU2l6ZSA9IHN0ZDo6bWF4KHRoZW1lKCkucGxhdGZvcm1Gb2N1c1JpbmdNYXhXaWR0aCgpLCBv
dXRsaW5lU2l6ZSk7CisgICAgICAgIG91dGxpbmVTaXplID0gc3RkOjptYXgodGhlbWUoKS5wbGF0
Zm9ybUZvY3VzUmluZ1dpZHRoKCksIG91dGxpbmVTaXplKTsKICAgICBpZiAoY29uc3QgU2hhZG93
RGF0YSogYm94U2hhZG93ID0gc3R5bGUoKS5ib3hTaGFkb3coKSkgewogICAgICAgICBib3hTaGFk
b3ctPmFkanVzdFJlY3RGb3JTaGFkb3cocmVjdCwgb3V0bGluZVNpemUpOwogICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IGNkNGM2MmM5ZTRj
MmJlNjNjMDgzYmFjZmFhMGY1ZDkyNjU0MjkzODQuLmQ0ZmY5NGRjOWZkMGNmOGFiZmE5OGYwNjM4
OGJiNWM1OTM2ZTVhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBA
IC0xNjMsNyArMTYzLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBDb2xvciBmb2N1c1JpbmdDb2xv
cigpOwogICAgIHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1Gb2N1c1JpbmdDb2xvcigpIGNvbnN0IHsg
cmV0dXJuIENvbG9yKDAsIDAsIDApOyB9CiAgICAgc3RhdGljIHZvaWQgc2V0Q3VzdG9tRm9jdXNS
aW5nQ29sb3IoY29uc3QgQ29sb3ImKTsKLSAgICB2aXJ0dWFsIGludCBwbGF0Zm9ybUZvY3VzUmlu
Z01heFdpZHRoKCkgY29uc3QgeyByZXR1cm4gMzsgfQorICAgIHZpcnR1YWwgaW50IHBsYXRmb3Jt
Rm9jdXNSaW5nV2lkdGgoKSBjb25zdCB7IHJldHVybiAzOyB9CiAjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKICAgICBzdGF0aWMgQ29sb3IgdGFwSGlnaGxpZ2h0Q29sb3IoKTsKICAgICB2aXJ0dWFs
IENvbG9yIHBsYXRmb3JtVGFwSGlnaGxpZ2h0Q29sb3IoKSBjb25zdCB7IHJldHVybiBSZW5kZXJU
aGVtZTo6ZGVmYXVsdFRhcEhpZ2hsaWdodENvbG9yOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDc3NTBmNjJiMTQ2NmU3
YTEyZjU3N2FmZDk4YWExNDYxMTAzMmM4Yy4uNDk4Y2M4MjNkZjhlMjI2MDUyMDhjMmUwYTA2OGZi
MmM0MDFhNDM0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA4LTE4ICBaYWxhbiBCdWp0
YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW51cCBvdXRsaW5lLXN0eWxlOiBh
dXRvIHBhaW50aW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ4MTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAg
ICAgIE9sZCBwbGF0Zm9ybSBzdHlsZSByZXF1aXJlZCB0aGUgZm9jdXMgcmluZyB0byBiZSBwYWlu
dGVkIHdpdGggYW4gb2Zmc2V0LiAoaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvcjUzNTgpCisgICAg
ICAgIChhbmQgaXQgaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBncm93aW5nIG91dGxpbmUtd2lkdGgg
YWRkcyBmdXJ0aGVyLCB1bndhbnRlZCBvZmZzZXQpCisgICAgICAgIERlZmF1bHQgY3NzIGZvciA6
Zm9jdXMgaXMgYWRqdXN0ZWQgdG8gcmVtb3ZlIHRoaXMgb2Zmc2V0IGJ5IHNldHRpbmcgdGhlIG91
dGxpbmUtd2lkdGggdG8gNXB4CisgICAgICAgIGFuZCB0aGUgb3V0bGluZS1vZmZzZXQgdG8gLTJw
eC4gKGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3IxMzYzOSkKKyAgICAgICAgVGhpcyBwYXRjaCBy
ZW1vdmVzIGJvdGggdGhlIG9sZCBsb2dpYyBhbmQgdGhlIHdvcmthcm91bmQgZm9yIGdldHRpbmcg
cmlkIG9mIHRoZSB1bndhbnRlZCBvZmZzZXQuCisKKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvb3V0
bGluZS1hdXRvLXdpdGgtZGVmYXVsdC13aWR0aC1hbmQtb2Zmc2V0LXJlcGFpbnQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvb3V0bGluZS1hdXRvLXdpdGgtZGVm
YXVsdC13aWR0aC1hbmQtb2Zmc2V0LXJlcGFpbnQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZmFzdC9yZXBhaW50L291dGxpbmUtd2l0aDJweC1hdXRvLXJlcGFpbnQtcmVjdC5odG1sLgor
ICAgICAgICAqIGZhc3QvcmVwYWludC9vdXRsaW5lLXdpdGgxcHgtYXV0by1yZXBhaW50LXJlY3Qu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvb3V0bGluZS13aXRoMnB4LWF1dG8tcmVwYWlu
dC1yZWN0Lmh0bWw6CisgICAgICAgICogZmFzdC9yZXBhaW50L291dGxpbmUtd2l0aDNweC1hdXRv
LXJlcGFpbnQtcmVjdC5odG1sOgorCiAyMDE1LTA4LTE4ICBYYWJpZXIgUm9kcmlndWV6IENhbHZh
ciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1N0cmVhbXMgQVBJXSBVcGRhdGUg
aW1wbGVtZW50YXRpb24gd2l0aCB0aGUgbGF0ZXN0IHNwZWMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9vdXRsaW5lLWF1dG8td2l0aC1kZWZhdWx0LXdpZHRoLWFuZC1vZmZz
ZXQtcmVwYWludC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvb3V0bGlu
ZS1hdXRvLXdpdGgtZGVmYXVsdC13aWR0aC1hbmQtb2Zmc2V0LXJlcGFpbnQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZmYzY2ZDM0NjYxNjU4NTI1NDY4OWJkM2IwZjFiOTQwZTY1MDJiYWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvb3V0bGluZS1hdXRvLXdp
dGgtZGVmYXVsdC13aWR0aC1hbmQtb2Zmc2V0LXJlcGFpbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNiBAQAorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnJlcGFpbnRSZWN0c0FzVGV4dCgpLmluZGV4
T2YoJzQgNicpIGlzIG5vdCAtMQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnJlcGFpbnRSZWN0c0Fz
VGV4dCgpLmluZGV4T2YoJzQgNDYnKSBpcyBub3QgLTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3JlcGFpbnQvb3V0bGluZS1hdXRvLXdpdGgtZGVmYXVsdC13aWR0aC1hbmQtb2Zmc2V0LXJlcGFp
bnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9vdXRsaW5lLWF1dG8td2l0aC1kZWZh
dWx0LXdpZHRoLWFuZC1vZmZzZXQtcmVwYWludC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzYTJmYjMyOTQw
MWZiZjZmZmQwNzljZjY0OGYyMmVmZjMxYzNlZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvb3V0bGluZS1hdXRvLXdpdGgtZGVmYXVsdC13aWR0aC1hbmQtb2Zm
c2V0LXJlcGFpbnQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8aHRtbD4KKzxzY3JpcHQ+anNUZXN0
SXNBc3luYyA9IHRydWU7PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxoZWFkPgorPHRpdGxlPlRoaXMgdGVzdHMgdGhhdCBv
dXRsaW5lLXN0eWxlIGF1dG8gcmVwYWludCByZWN0IGlzIGNvcnJlY3Qgd2l0aCBkZWZhdWx0IG91
dGxpbmUtd2lkdGggYW5kIG91dGxpbmUtb2Zmc2V0LjwvdGl0bGU+Cis8c3R5bGU+CitkaXYgewor
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIHRvcDogMTBweDsKKyAgaGVpZ2h0OiAxMHB4OworICB3
aWR0aDogMTBweDsKKyAgb3V0bGluZTogYXV0bzsKKyAgb3V0bGluZS1vZmZzZXQ6IDFweDsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9Zm9vPjwvZGl2PgorPC9ib2R5Pgor
PHNjcmlwdD4KK3NldFRpbWVvdXQoCisJZnVuY3Rpb24oKSB7IAorICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKwkgICAgICAgIGludGVybmFscy5zdGFydFRyYWNraW5nUmVwYWludHMoKTsK
KyAJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb28iKS5zdHlsZS50b3AgPSAiNTBweCI7Cisg
CQlkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoOworCisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgICAgICAgICBzaG91bGROb3RCZSgid2luZG93LmludGVybmFscy5yZXBhaW50
UmVjdHNBc1RleHQoKS5pbmRleE9mKCc0IDYnKSIsICItMSIpOworICAgICAgICAgICAgc2hvdWxk
Tm90QmUoIndpbmRvdy5pbnRlcm5hbHMucmVwYWludFJlY3RzQXNUZXh0KCkuaW5kZXhPZignNCA0
NicpIiwgIi0xIik7CisgICAgICAgICAgICBpbnRlcm5hbHMuc3RvcFRyYWNraW5nUmVwYWludHMo
KTsKKyAgICAgICAgfQorICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKwl9LCAwKTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L291dGxpbmUt
d2l0aDFweC1hdXRvLXJlcGFpbnQtcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L291dGxpbmUtd2l0aDFweC1hdXRvLXJlcGFpbnQtcmVjdC5odG1sCmluZGV4IGNhYmEyNmVkMjkz
OTMyMmQ0MzczYzljYzgwODg1NWM2NDQxZDdhY2EuLmU3ZWIyMzE2YjJjMTM0ZmQwOTBmZjEyMTYw
NWU3YjI4ZDQ3MTU4MjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9vdXRs
aW5lLXdpdGgxcHgtYXV0by1yZXBhaW50LXJlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlcGFpbnQvb3V0bGluZS13aXRoMXB4LWF1dG8tcmVwYWludC1yZWN0Lmh0bWwKQEAgLTcsNyAr
Nyw3IEBACiBkaXYgewogICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgIHRvcDogMTBweDsKLSAgaGVp
Z2h0OiAwcHg7CisgIGhlaWdodDogMTBweDsKICAgd2lkdGg6IDEwcHg7CiAgIG91dGxpbmU6IGF1
dG8gMXB4OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L291dGxpbmUt
d2l0aDJweC1hdXRvLXJlcGFpbnQtcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L291dGxpbmUtd2l0aDJweC1hdXRvLXJlcGFpbnQtcmVjdC5odG1sCmluZGV4IDc4NzZhNzBkMDhj
MWRmN2JkOWM3ODRmYTQ1MDA1NTEzMzhlZjc5YmIuLmQ4YjEyZTk1MTZjYjdhYzNkYjQzMTljYzli
MWNkOTgzZDBlYWIzZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9vdXRs
aW5lLXdpdGgycHgtYXV0by1yZXBhaW50LXJlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlcGFpbnQvb3V0bGluZS13aXRoMnB4LWF1dG8tcmVwYWludC1yZWN0Lmh0bWwKQEAgLTcsNyAr
Nyw3IEBACiBkaXYgewogICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgIHRvcDogMTBweDsKLSAgaGVp
Z2h0OiAwcHg7CisgIGhlaWdodDogMTBweDsKICAgd2lkdGg6IDEwcHg7CiAgIG91dGxpbmU6IGF1
dG8gMnB4OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L291dGxpbmUt
d2l0aDNweC1hdXRvLXJlcGFpbnQtcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L291dGxpbmUtd2l0aDNweC1hdXRvLXJlcGFpbnQtcmVjdC5odG1sCmluZGV4IDMzY2M4NjBlNzIz
MWVmYjU1ZGM0ZmZjNWRhZTBkNDg3NGE3MTE0NmUuLmVmMTlmNGEwYzUzZDE5NGQ1MGNiZjZjMGJl
MDg1MGRlZTU4YzBmOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9vdXRs
aW5lLXdpdGgzcHgtYXV0by1yZXBhaW50LXJlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlcGFpbnQvb3V0bGluZS13aXRoM3B4LWF1dG8tcmVwYWludC1yZWN0Lmh0bWwKQEAgLTcsNyAr
Nyw3IEBACiBkaXYgewogICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgIHRvcDogMTBweDsKLSAgaGVp
Z2h0OiAwcHg7CisgIGhlaWdodDogMTBweDsKICAgd2lkdGg6IDEwcHg7CiAgIG91dGxpbmU6IGF1
dG8gM3B4OwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>