<?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>132353</bug_id>
          
          <creation_ts>2014-04-29 14:20:58 -0700</creation_ts>
          <short_desc>Remove some PLATFORM(IOS) #ifdefs related to hasAcceleratedTouchScrolling()</short_desc>
          <delta_ts>2014-04-29 16:54:50 -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>New Bugs</component>
          <version>528+ (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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1005108</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-04-29 14:20:58 -0700</bug_when>
    <thetext>Remove some PLATFORM(IOS) #ifdefs related to hasAcceleratedTouchScrolling()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005110</commentid>
    <comment_count>1</comment_count>
      <attachid>230418</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-04-29 14:24:09 -0700</bug_when>
    <thetext>Created attachment 230418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005112</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-29 14:26:51 -0700</bug_when>
    <thetext>Attachment 230418 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderLayerBacking.cpp:406:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005152</commentid>
    <comment_count>3</comment_count>
      <attachid>230427</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-04-29 15:09:53 -0700</bug_when>
    <thetext>Created attachment 230427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005155</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-29 15:12:21 -0700</bug_when>
    <thetext>Attachment 230427 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderLayerBacking.cpp:406:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005177</commentid>
    <comment_count>5</comment_count>
      <attachid>230427</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-29 15:56:02 -0700</bug_when>
    <thetext>Comment on attachment 230427
Patch

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

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:-412
&gt; -// FIXME: We should merge the concept of RenderLayer::{hasAcceleratedTouchScrolling, needsCompositedScrolling}()
&gt; -// so that we can remove this iOS-specific variant.

Don’t we still want something like this FIXME?

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:443
&gt; +    return (style.transformOriginX().type() == Fixed &amp;&amp; style.transformOriginX().value())
&gt; +        || (style.transformOriginY().type() == Fixed &amp;&amp; style.transformOriginY().value());

I don’t think we need these parentheses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005213</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-04-29 16:54:50 -0700</bug_when>
    <thetext>https://trac.webkit.org/r167970</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230418</attachid>
            <date>2014-04-29 14:24:09 -0700</date>
            <delta_ts>2014-04-29 15:09:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132353-20140429142347.patch</filename>
            <type>text/plain</type>
            <size>12757</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3OTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFiNTRjOTIwZmYzYzJl
NTNkNWM1MzBkNWFkNzcxNDBhYTc3YjJhNC4uMWE4MWEwMDIzMTI3N2RjNmE4ZGZkZmM5NGJjYTFk
YmExZWU2N2RhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2IEBACiAyMDE0LTA0LTI5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIFJlbW92ZSBzb21l
IFBMQVRGT1JNKElPUykgI2lmZGVmcyByZWxhdGVkIHRvIGhhc0FjY2VsZXJhdGVkVG91Y2hTY3Jv
bGxpbmcoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTMyMzUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWlub3IgY2xlYW51cCBhbmQgcmVmYWN0b3JpbmcgdG8gcmVtb3ZlICNpZGVmcy4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c2Nyb2xsVG8pOiBObyBuZWVkIGZvciB0aGlzICNpZmRlZiwgdXNlc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcoKQorICAgICAgICBnaXZlcyB0aGUgcmlnaHQgYW5zd3NlciBhbHJlYWR5LgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnZpc2libGVDb250ZW50UmVjdEludGVybmFsKTog
VXNlIHNob3dzT3ZlcmZsb3dDb250cm9scygpIHRvCisgICAgICAgIGF2b2lkICNpZmRlZi4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjppbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdCk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmludmFsaWRhdGVTY3JvbGxDb3Ju
ZXJSZWN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dmVydGljYWxT
Y3JvbGxiYXJXaWR0aCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Omhv
cml6b250YWxTY3JvbGxiYXJIZWlnaHQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpzaG93c092ZXJmbG93Q29udHJvbHMpOiBSZXR1cm4gZmFsc2Ugb24gaU9TLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50T3ZlcmZsb3dDb250cm9scyk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyk6IERp
dHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bGF5ZXJPckFu
Y2VzdG9ySXNUcmFuc2Zvcm1lZE9yVXNpbmdDb21wb3NpdGVkU2Nyb2xsaW5nKToKKyAgICAgICAg
SnVzdCAjaWZkZWYgaW4gc2lkZSBvZiB0aGlzIGZ1bmN0aW9uIHJhdGhlciB0aGFuIGhhdmluZyB0
d28gc2ltaWxhciBmdW5jdGlvbnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tp
bmc6OnNob3VsZENsaXBDb21wb3NpdGVkQm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6Omhhc05v
blplcm9UcmFuc2Zvcm1PcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNr
aW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbik6IFVzZSBhIGxvY2FsIGJvb2wK
KyAgICAgICAgdG8gcmVkdWNlICNpZmRlZnMuCisgICAgICAgIChXZWJDb3JlOjpsYXllck9yQW5j
ZXN0b3JJc1RyYW5zZm9ybWVkT3JTY3JvbGxpbmcpOiBEZWxldGVkLgorCisyMDE0LTA0LTI5ICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBT
ZXR0aW5nczo6Y29tcG9zaXRlZFNjcm9sbGluZ0ZvckZyYW1lc0VuYWJsZWQKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjM1MgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA1NWJlOTI0YTc3M2JkMDBkYWJjZGY5
NDczZmU0NTUzMmI4MmU5NGU4Li5iNjkzOTY4OWNiNmI1ZGM2OWRmOGU1NGRjMzQyM2FlMzE3NWUz
MGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTIzNTcs
MTEgKzIzNTcsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUbyhpbnQgeCwgaW50IHkpCiAg
ICAgICAgIHJlcXVpcmVzUmVwYWludCA9IGZhbHNlOwogCiAgICAgLy8gSnVzdCBzY2hlZHVsZSBh
IGZ1bGwgcmVwYWludCBvZiBvdXIgb2JqZWN0LgotI2lmIFBMQVRGT1JNKElPUykKLSAgICBpZiAo
IWhhc0FjY2VsZXJhdGVkVG91Y2hTY3JvbGxpbmcoKSkKLSNlbHNlCiAgICAgaWYgKHJlcXVpcmVz
UmVwYWludCkKLSNlbmRpZgogICAgICAgICByZW5kZXJlcigpLnJlcGFpbnRVc2luZ0NvbnRhaW5l
cihyZXBhaW50Q29udGFpbmVyLCBtX3JlcGFpbnRSZWN0KTsKIAogICAgIC8vIFNjaGVkdWxlIHRo
ZSBzY3JvbGwgYW5kIHNjcm9sbC1yZWxhdGVkIERPTSBldmVudHMuCkBAIC0yNjg4LDE2ICsyNjg0
LDkgQEAgSW50UmVjdCBSZW5kZXJMYXllcjo6dmlzaWJsZUNvbnRlbnRSZWN0SW50ZXJuYWwoVmlz
aWJsZUNvbnRlbnRSZWN0SW5jbHVkZXNTY3JvbGwKIHsKICAgICBpbnQgdmVydGljYWxTY3JvbGxi
YXJXaWR0aCA9IDA7CiAgICAgaW50IGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQgPSAwOwotICAg
IGlmIChzY3JvbGxiYXJJbmNsdXNpb24gPT0gSW5jbHVkZVNjcm9sbGJhcnMpIHsKKyAgICBpZiAo
c2hvd3NPdmVyZmxvd0NvbnRyb2xzKCkgJiYgc2Nyb2xsYmFySW5jbHVzaW9uID09IEluY2x1ZGVT
Y3JvbGxiYXJzKSB7CiAgICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGggPSAodmVydGljYWxT
Y3JvbGxiYXIoKSAmJiAhdmVydGljYWxTY3JvbGxiYXIoKS0+aXNPdmVybGF5U2Nyb2xsYmFyKCkp
ID8gdmVydGljYWxTY3JvbGxiYXIoKS0+d2lkdGgoKSA6IDA7CiAgICAgICAgIGhvcml6b250YWxT
Y3JvbGxiYXJIZWlnaHQgPSAoaG9yaXpvbnRhbFNjcm9sbGJhcigpICYmICFob3Jpem9udGFsU2Ny
b2xsYmFyKCktPmlzT3ZlcmxheVNjcm9sbGJhcigpKSA/IGhvcml6b250YWxTY3JvbGxiYXIoKS0+
aGVpZ2h0KCkgOiAwOwotCi0jaWYgUExBVEZPUk0oSU9TKQotICAgICAgICBpZiAoaGFzQWNjZWxl
cmF0ZWRUb3VjaFNjcm9sbGluZygpKSB7Ci0gICAgICAgICAgICB2ZXJ0aWNhbFNjcm9sbGJhcldp
ZHRoID0gMDsKLSAgICAgICAgICAgIGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQgPSAwOwotICAg
ICAgICB9Ci0jZW5kaWYKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQo
c2Nyb2xsWE9mZnNldCgpLCBzY3JvbGxZT2Zmc2V0KCkpLApAQCAtMjkxNywxMSArMjkwNiw4IEBA
IEludFNpemUgUmVuZGVyTGF5ZXI6OnNjcm9sbGJhck9mZnNldChjb25zdCBTY3JvbGxiYXIqIHNj
cm9sbGJhcikgY29uc3QKIAogdm9pZCBSZW5kZXJMYXllcjo6aW52YWxpZGF0ZVNjcm9sbGJhclJl
Y3QoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0jaWYgUExB
VEZPUk0oSU9TKQotICAgIC8vIE5vIG5lZWQgdG8gaW52YWxpZGF0ZSBzY3JvbGxiYXJzIGlmIHdl
J3JlIHVzaW5nIGFjY2VsZXJhdGVkIHNjcm9sbGluZy4KLSAgICBpZiAoaGFzQWNjZWxlcmF0ZWRU
b3VjaFNjcm9sbGluZygpKQorICAgIGlmICghc2hvd3NPdmVyZmxvd0NvbnRyb2xzKCkpCiAgICAg
ICAgIHJldHVybjsKLSNlbmRpZgogCiAgICAgaWYgKHNjcm9sbGJhciA9PSBtX3ZCYXIuZ2V0KCkp
IHsKICAgICAgICAgaWYgKEdyYXBoaWNzTGF5ZXIqIGxheWVyID0gbGF5ZXJGb3JWZXJ0aWNhbFNj
cm9sbGJhcigpKSB7CkBAIC0yOTUzLDExICsyOTM5LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6aW52
YWxpZGF0ZVNjcm9sbGJhclJlY3QoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3Qm
IHIKIAogdm9pZCBSZW5kZXJMYXllcjo6aW52YWxpZGF0ZVNjcm9sbENvcm5lclJlY3QoY29uc3Qg
SW50UmVjdCYgcmVjdCkKIHsKLSNpZiBQTEFURk9STShJT1MpCi0gICAgLy8gTm8gbmVlZCB0byBp
bnZhbGlkYXRlIHRoZSBzY3JvbGwgY29ybmVyIGlmIHdlJ3JlIHVzaW5nIGFjY2VsZXJhdGVkIHNj
cm9sbGluZy4KLSAgICBpZiAoaGFzQWNjZWxlcmF0ZWRUb3VjaFNjcm9sbGluZygpKQorICAgIGlm
ICghc2hvd3NPdmVyZmxvd0NvbnRyb2xzKCkpCiAgICAgICAgIHJldHVybjsKLSNlbmRpZgogCiAg
ICAgaWYgKEdyYXBoaWNzTGF5ZXIqIGxheWVyID0gbGF5ZXJGb3JTY3JvbGxDb3JuZXIoKSkgewog
ICAgICAgICBsYXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KHJlY3QpOwpAQCAtMzA3NywyNyAr
MzA2MCwyMSBAQCBTY3JvbGxhYmxlQXJlYSogUmVuZGVyTGF5ZXI6OmVuY2xvc2luZ1Njcm9sbGFi
bGVBcmVhKCkgY29uc3QKIAogaW50IFJlbmRlckxheWVyOjp2ZXJ0aWNhbFNjcm9sbGJhcldpZHRo
KE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5IHJlbGV2YW5jeSkgY29uc3QKIHsKLSAgICBp
ZiAoIW1fdkJhciB8fCAobV92QmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKSAmJiAocmVsZXZhbmN5
ID09IElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplIHx8ICFtX3ZCYXItPnNob3VsZFBhcnRpY2lw
YXRlSW5IaXRUZXN0aW5nKCkpKSkKKyAgICBpZiAoIW1fdkJhcgorICAgICAgICB8fCAhc2hvd3NP
dmVyZmxvd0NvbnRyb2xzKCkKKyAgICAgICAgfHwgKG1fdkJhci0+aXNPdmVybGF5U2Nyb2xsYmFy
KCkgJiYgKHJlbGV2YW5jeSA9PSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSB8fCAhbV92QmFy
LT5zaG91bGRQYXJ0aWNpcGF0ZUluSGl0VGVzdGluZygpKSkpCiAgICAgICAgIHJldHVybiAwOwog
Ci0jaWYgUExBVEZPUk0oSU9TKQotICAgIGlmIChoYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5n
KCkpIAotICAgICAgICByZXR1cm4gMDsKLSNlbmRpZgotCiAgICAgcmV0dXJuIG1fdkJhci0+d2lk
dGgoKTsKIH0KIAogaW50IFJlbmRlckxheWVyOjpob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KE92
ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5IHJlbGV2YW5jeSkgY29uc3QKIHsKLSAgICBpZiAo
IW1faEJhciB8fCAobV9oQmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKSAmJiAocmVsZXZhbmN5ID09
IElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplIHx8ICFtX2hCYXItPnNob3VsZFBhcnRpY2lwYXRl
SW5IaXRUZXN0aW5nKCkpKSkKKyAgICBpZiAoIW1faEJhcgorICAgICAgICB8fCAhc2hvd3NPdmVy
Zmxvd0NvbnRyb2xzKCkKKyAgICAgICAgfHwgKG1faEJhci0+aXNPdmVybGF5U2Nyb2xsYmFyKCkg
JiYgKHJlbGV2YW5jeSA9PSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSB8fCAhbV9oQmFyLT5z
aG91bGRQYXJ0aWNpcGF0ZUluSGl0VGVzdGluZygpKSkpCiAgICAgICAgIHJldHVybiAwOwogCi0j
aWYgUExBVEZPUk0oSU9TKQotICAgIGlmIChoYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5nKCkp
IAotICAgICAgICByZXR1cm4gMDsKLSNlbmRpZgotCiAgICAgcmV0dXJuIG1faEJhci0+aGVpZ2h0
KCk7CiB9CiAKQEAgLTMzNjcsMTcgKzMzNDQsMjUgQEAgYm9vbCBSZW5kZXJMYXllcjo6b3ZlcmZs
b3dDb250cm9sc0ludGVyc2VjdFJlY3QoY29uc3QgSW50UmVjdCYgbG9jYWxSZWN0KSBjb25zdAog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBSZW5kZXJMYXllcjo6c2hvd3NPdmVyZmxvd0Nv
bnRyb2xzKCkgY29uc3QKK3sKKyNpZiBQTEFURk9STShJT1MpCisgICAgLy8gRG9uJ3QgcmVuZGVy
IChjdXN0b20pIHNjcm9sbGJhcnMgaWYgd2UgaGF2ZSBhY2NlbGVyYXRlZCBzY3JvbGxpbmcuCisg
ICAgaWYgKGhhc0FjY2VsZXJhdGVkVG91Y2hTY3JvbGxpbmcoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBSZW5kZXJMYXllcjo6
cGFpbnRPdmVyZmxvd0NvbnRyb2xzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50
UG9pbnQmIHBhaW50T2Zmc2V0LCBjb25zdCBJbnRSZWN0JiBkYW1hZ2VSZWN0LCBib29sIHBhaW50
aW5nT3ZlcmxheUNvbnRyb2xzKQogewogICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGlmIHdlIGhh
dmUgbm8gb3ZlcmZsb3cuCiAgICAgaWYgKCFyZW5kZXJlcigpLmhhc092ZXJmbG93Q2xpcCgpKQog
ICAgICAgICByZXR1cm47CiAKLSNpZiBQTEFURk9STShJT1MpCi0gICAgLy8gRG9uJ3QgcmVuZGVy
IChjdXN0b20pIHNjcm9sbGJhcnMgaWYgd2UgaGF2ZSBhY2NlbGVyYXRlZCBzY3JvbGxpbmcuCi0g
ICAgaWYgKGhhc0FjY2VsZXJhdGVkVG91Y2hTY3JvbGxpbmcoKSkKKyAgICBpZiAoIXNob3dzT3Zl
cmZsb3dDb250cm9scygpKQogICAgICAgICByZXR1cm47Ci0jZW5kaWYKIAogICAgIC8vIE92ZXJs
YXkgc2Nyb2xsYmFycyBwYWludCBpbiBhIHNlY29uZCBwYXNzIHRocm91Z2ggdGhlIGxheWVyIHRy
ZWUgc28gdGhhdCB0aGV5IHdpbGwgcGFpbnQKICAgICAvLyBvbiB0b3Agb2YgZXZlcnl0aGluZyBl
bHNlLiBJZiB0aGlzIGlzIHRoZSBub3JtYWwgcGFpbnRpbmcgcGFzcywgcGFpbnRpbmdPdmVybGF5
Q29udHJvbHMKQEAgLTY0MTgsMTUgKzY0MDMsMTQgQEAgYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxk
QmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAgICAgICAgICYmICFyZW5kZXJlcigpLmhhc0ZpbHRl
cigpCiAjZW5kaWYKICNpZiBQTEFURk9STShJT1MpCi0gICAgICAgICAgICAmJiAhaGFzQWNjZWxl
cmF0ZWRUb3VjaFNjcm9sbGluZygpCisgICAgICAgICYmICFoYXNBY2NlbGVyYXRlZFRvdWNoU2Ny
b2xsaW5nKCkKICNlbmRpZgogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgICAgICYm
ICFyZW5kZXJlcigpLmhhc0JsZW5kTW9kZSgpCiAjZW5kaWYKICAgICAgICAgJiYgIWlzVHJhbnNw
YXJlbnQoKQogICAgICAgICAmJiAhbmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nKCkKLSAgICAgICAg
JiYgIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNGbG93RnJvbSgpCi0gICAgICAgIDsKKyAgICAgICAg
JiYgIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNGbG93RnJvbSgpOwogfQogCiBib29sIFJlbmRlckxh
eWVyOjpzaG91bGRCZVNlbGZQYWludGluZ0xheWVyKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKaW5kZXggMDBmNmRkMmRhOWExM2MwZTQyOTNmOTE4MGQ2NTRiNzQ0
ODAxYTBkYi4uMjBhMzE4NDRjMjVlZGY1ZjM4Y2EzZTBkYmRkN2RjMmM3N2ZhNjBkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTQ1OCw4ICs0NTgsOCBAQCBwdWJs
aWM6CiAgICAgYm9vbCByZXF1aXJlc1Njcm9sbEJvdW5kc09yaWdpblVwZGF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVxdWlyZXNTY3JvbGxCb3VuZHNPcmlnaW5VcGRhdGU7IH0KICAgICB2b2lkIHNl
dFJlcXVpcmVzU2Nyb2xsQm91bmRzT3JpZ2luVXBkYXRlKGJvb2wgcmVxdWlyZXNVcGRhdGUgPSB0
cnVlKSB7IG1fcmVxdWlyZXNTY3JvbGxCb3VuZHNPcmlnaW5VcGRhdGUgPSByZXF1aXJlc1VwZGF0
ZTsgfQogCisgICAgLy8gUmV0dXJucyB0cnVlIHdoZW4gdGhlIGxheWVyIGNvdWxkIGRvIHRvdWNo
IHNjcm9sbGluZywgYnV0IGRvZXNuJ3QgbG9vayBhdCB3aGV0aGVyIHRoZXJlIGlzIGFjdHVhbGx5
IHNjcm9sbGFibGUgb3ZlcmZsb3cuCiAgICAgYm9vbCBoYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xs
aW5nKCkgY29uc3Q7Ci0KICNlbmRpZgogCiAgICAgaW50IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgo
T3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6
ZSkgY29uc3Q7CkBAIC0xMDU4LDYgKzEwNTgsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFzU2Ny
b2xsYWJsZUhvcml6b250YWxPdmVyZmxvdygpIGNvbnN0OwogICAgIGJvb2wgaGFzU2Nyb2xsYWJs
ZVZlcnRpY2FsT3ZlcmZsb3coKSBjb25zdDsKIAorICAgIGJvb2wgc2hvd3NPdmVyZmxvd0NvbnRy
b2xzKCkgY29uc3Q7CisKICAgICBib29sIHNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdDsK
IAogICAgIGJvb2wgc2hvdWxkQmVTZWxmUGFpbnRpbmdMYXllcigpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBhZmNmY2My
MDFhMTI4ZjZkMDg3YWYwMjcwNWE1MmExNjA1NmFhNGExLi5hMzhjYTdkMTA5YzVhZDYxMTIxMmQy
MjI0NjMwODc0NzJhOTczNWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtNDAwLDM3ICs0MDAsMjIgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUJsZW5kTW9kZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCiB9CiAj
ZW5kaWYKIAotc3RhdGljIGJvb2wgaGFzTm9uWmVyb1RyYW5zZm9ybU9yaWdpbihjb25zdCBSZW5k
ZXJPYmplY3QmIHJlbmRlcmVyKQotewotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSA9IHJl
bmRlcmVyLnN0eWxlKCk7Ci0gICAgcmV0dXJuIChzdHlsZS50cmFuc2Zvcm1PcmlnaW5YKCkudHlw
ZSgpID09IEZpeGVkICYmIHN0eWxlLnRyYW5zZm9ybU9yaWdpblgoKS52YWx1ZSgpKQotICAgICAg
ICB8fCAoc3R5bGUudHJhbnNmb3JtT3JpZ2luWSgpLnR5cGUoKSA9PSBGaXhlZCAmJiBzdHlsZS50
cmFuc2Zvcm1PcmlnaW5ZKCkudmFsdWUoKSk7Ci19Ci0KLSNpZiBQTEFURk9STShJT1MpCi0vLyBG
SVhNRTogV2Ugc2hvdWxkIG1lcmdlIHRoZSBjb25jZXB0IG9mIFJlbmRlckxheWVyOjp7aGFzQWNj
ZWxlcmF0ZWRUb3VjaFNjcm9sbGluZywgbmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nfSgpCi0vLyBz
byB0aGF0IHdlIGNhbiByZW1vdmUgdGhpcyBpT1Mtc3BlY2lmaWMgdmFyaWFudC4KLXN0YXRpYyBi
b29sIGxheWVyT3JBbmNlc3RvcklzVHJhbnNmb3JtZWRPclNjcm9sbGluZyhSZW5kZXJMYXllciYg
bGF5ZXIpCi17Ci0gICAgZm9yIChSZW5kZXJMYXllciogY3VyciA9ICZsYXllcjsgY3VycjsgY3Vy
ciA9IGN1cnItPnBhcmVudCgpKSB7Ci0gICAgICAgIGlmIChjdXJyLT5oYXNUcmFuc2Zvcm0oKSB8
fCBjdXJyLT5oYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5nKCkpCi0gICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0jZWxzZQogc3RhdGljIGJv
b2wgbGF5ZXJPckFuY2VzdG9ySXNUcmFuc2Zvcm1lZE9yVXNpbmdDb21wb3NpdGVkU2Nyb2xsaW5n
KFJlbmRlckxheWVyJiBsYXllcikKIHsKICAgICBmb3IgKFJlbmRlckxheWVyKiBjdXJyID0gJmxh
eWVyOyBjdXJyOyBjdXJyID0gY3Vyci0+cGFyZW50KCkpIHsKLSAgICAgICAgaWYgKGN1cnItPmhh
c1RyYW5zZm9ybSgpIHx8IGN1cnItPm5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpKQorICAgICAg
ICBpZiAoY3Vyci0+aGFzVHJhbnNmb3JtKCkKKyNpZiBQTEFURk9STShJT1MpCisgICAgICAgICAg
ICB8fCBjdXJyLT5oYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5nKCkKKyNlbHNlCisgICAgICAg
ICAgICB8fCBjdXJyLT5uZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKQorI2VuZGlmCisgICAgICAg
ICAgICApCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICByZXR1cm4gZmFs
c2U7CiB9Ci0jZW5kaWYKLSAgICAKKwogYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnNob3VsZENs
aXBDb21wb3NpdGVkQm91bmRzKCkgY29uc3QKIHsKICNpZiAhUExBVEZPUk0oSU9TKQpAQCAtNDQy
LDEzICs0MjcsOCBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6c2hvdWxkQ2xpcENvbXBvc2l0
ZWRCb3VuZHMoKSBjb25zdAogICAgIGlmIChtX3VzaW5nVGlsZWRDYWNoZUxheWVyKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSNpZiAhUExBVEZPUk0oSU9TKQogICAgIGlmIChsYXllck9yQW5j
ZXN0b3JJc1RyYW5zZm9ybWVkT3JVc2luZ0NvbXBvc2l0ZWRTY3JvbGxpbmcobV9vd25pbmdMYXll
cikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSNlbHNlCi0gICAgaWYgKGxheWVyT3JBbmNlc3Rv
cklzVHJhbnNmb3JtZWRPclNjcm9sbGluZyhtX293bmluZ0xheWVyKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotI2VuZGlmCiAKICAgICBpZiAobV9vd25pbmdMYXllci5pc0Zsb3dUaHJlYWRDb2xs
ZWN0aW5nR3JhcGhpY3NMYXllcnNVbmRlclJlZ2lvbnMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtNDU2LDYgKzQzNiwxMyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6c2hvdWxkQ2xp
cENvbXBvc2l0ZWRCb3VuZHMoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0aWMg
Ym9vbCBoYXNOb25aZXJvVHJhbnNmb3JtT3JpZ2luKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVy
ZXIpCit7CisgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlID0gcmVuZGVyZXIuc3R5bGUoKTsK
KyAgICByZXR1cm4gKHN0eWxlLnRyYW5zZm9ybU9yaWdpblgoKS50eXBlKCkgPT0gRml4ZWQgJiYg
c3R5bGUudHJhbnNmb3JtT3JpZ2luWCgpLnZhbHVlKCkpCisgICAgICAgIHx8IChzdHlsZS50cmFu
c2Zvcm1PcmlnaW5ZKCkudHlwZSgpID09IEZpeGVkICYmIHN0eWxlLnRyYW5zZm9ybU9yaWdpblko
KS52YWx1ZSgpKTsKK30KKwogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUNvbXBvc2l0
ZWRCb3VuZHMoKQogewogICAgIExheW91dFJlY3QgbGF5ZXJCb3VuZHMgPSBjb21wb3NpdG9yKCku
Y2FsY3VsYXRlQ29tcG9zaXRlZEJvdW5kcyhtX293bmluZ0xheWVyLCBtX293bmluZ0xheWVyKTsK
QEAgLTU0OSwxNSArNTM2LDE2IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFw
aGljc0xheWVyQ29uZmlndXJhdGlvbigpCiAgICAgCiAgICAgYm9vbCBuZWVkc0Rlc2NlbmRlbnRz
Q2xpcHBpbmdMYXllciA9IGNvbXBvc2l0b3IoKS5jbGlwc0NvbXBvc2l0aW5nRGVzY2VuZGFudHMo
bV9vd25pbmdMYXllcik7CiAKKyAgICBib29sIHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nOwogI2lm
IFBMQVRGT1JNKElPUykKLSAgICAvLyBPdXIgc2Nyb2xsaW5nIGxheWVyIHdpbGwgY2xpcC4KLSAg
ICBpZiAobV9vd25pbmdMYXllci5oYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5nKCkpCi0gICAg
ICAgIG5lZWRzRGVzY2VuZGVudHNDbGlwcGluZ0xheWVyID0gZmFsc2U7CisgICAgdXNlc0NvbXBv
c2l0ZWRTY3JvbGxpbmcgPSBtX293bmluZ0xheWVyLmhhc0FjY2VsZXJhdGVkVG91Y2hTY3JvbGxp
bmcoKTsKICNlbHNlCisgICAgdXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcgPSBtX293bmluZ0xheWVy
Lm5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpKQorI2VuZGlmCisKICAgICAvLyBPdXIgc2Nyb2xs
aW5nIGxheWVyIHdpbGwgY2xpcC4KLSAgICBpZiAobV9vd25pbmdMYXllci5uZWVkc0NvbXBvc2l0
ZWRTY3JvbGxpbmcoKSkKKyAgICBpZiAodXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcpCiAgICAgICAg
IG5lZWRzRGVzY2VuZGVudHNDbGlwcGluZ0xheWVyID0gZmFsc2U7Ci0jZW5kaWYgLy8gUExBVEZP
Uk0oSU9TKQogCiAgICAgaWYgKHVwZGF0ZUFuY2VzdG9yQ2xpcHBpbmdMYXllcihjb21wb3NpdG9y
KCkuY2xpcHBlZEJ5QW5jZXN0b3IobV9vd25pbmdMYXllcikpKQogICAgICAgICBsYXllckNvbmZp
Z0NoYW5nZWQgPSB0cnVlOwpAQCAtNTY4LDEzICs1NTYsOCBAQCBib29sIFJlbmRlckxheWVyQmFj
a2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24oKQogICAgIGlmICh1cGRhdGVP
dmVyZmxvd0NvbnRyb2xzTGF5ZXJzKHJlcXVpcmVzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyKCks
IHJlcXVpcmVzVmVydGljYWxTY3JvbGxiYXJMYXllcigpLCByZXF1aXJlc1Njcm9sbENvcm5lckxh
eWVyKCkpKQogICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwogCi0jaWYgUExBVEZP
Uk0oSU9TKQotICAgIGlmICh1cGRhdGVTY3JvbGxpbmdMYXllcnMobV9vd25pbmdMYXllci5oYXNB
Y2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5nKCkpKQotICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQg
PSB0cnVlOwotI2Vsc2UKLSAgICBpZiAodXBkYXRlU2Nyb2xsaW5nTGF5ZXJzKG1fb3duaW5nTGF5
ZXIubmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpKQorICAgIGlmICh1cGRhdGVTY3JvbGxpbmdM
YXllcnModXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcpKQogICAgICAgICBsYXllckNvbmZpZ0NoYW5n
ZWQgPSB0cnVlOwotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogICAgIGlmIChsYXllckNvbmZp
Z0NoYW5nZWQpCiAgICAgICAgIHVwZGF0ZUludGVybmFsSGllcmFyY2h5KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230427</attachid>
            <date>2014-04-29 15:09:53 -0700</date>
            <delta_ts>2014-04-29 15:56:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132353-20140429150930.patch</filename>
            <type>text/plain</type>
            <size>12793</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3OTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFiNTRjOTIwZmYzYzJl
NTNkNWM1MzBkNWFkNzcxNDBhYTc3YjJhNC4uMWE4MWEwMDIzMTI3N2RjNmE4ZGZkZmM5NGJjYTFk
YmExZWU2N2RhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2IEBACiAyMDE0LTA0LTI5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIFJlbW92ZSBzb21l
IFBMQVRGT1JNKElPUykgI2lmZGVmcyByZWxhdGVkIHRvIGhhc0FjY2VsZXJhdGVkVG91Y2hTY3Jv
bGxpbmcoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTMyMzUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWlub3IgY2xlYW51cCBhbmQgcmVmYWN0b3JpbmcgdG8gcmVtb3ZlICNpZGVmcy4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c2Nyb2xsVG8pOiBObyBuZWVkIGZvciB0aGlzICNpZmRlZiwgdXNlc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcoKQorICAgICAgICBnaXZlcyB0aGUgcmlnaHQgYW5zd3NlciBhbHJlYWR5LgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnZpc2libGVDb250ZW50UmVjdEludGVybmFsKTog
VXNlIHNob3dzT3ZlcmZsb3dDb250cm9scygpIHRvCisgICAgICAgIGF2b2lkICNpZmRlZi4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjppbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdCk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmludmFsaWRhdGVTY3JvbGxDb3Ju
ZXJSZWN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dmVydGljYWxT
Y3JvbGxiYXJXaWR0aCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Omhv
cml6b250YWxTY3JvbGxiYXJIZWlnaHQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpzaG93c092ZXJmbG93Q29udHJvbHMpOiBSZXR1cm4gZmFsc2Ugb24gaU9TLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50T3ZlcmZsb3dDb250cm9scyk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyk6IERp
dHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bGF5ZXJPckFu
Y2VzdG9ySXNUcmFuc2Zvcm1lZE9yVXNpbmdDb21wb3NpdGVkU2Nyb2xsaW5nKToKKyAgICAgICAg
SnVzdCAjaWZkZWYgaW4gc2lkZSBvZiB0aGlzIGZ1bmN0aW9uIHJhdGhlciB0aGFuIGhhdmluZyB0
d28gc2ltaWxhciBmdW5jdGlvbnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tp
bmc6OnNob3VsZENsaXBDb21wb3NpdGVkQm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6Omhhc05v
blplcm9UcmFuc2Zvcm1PcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNr
aW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbik6IFVzZSBhIGxvY2FsIGJvb2wK
KyAgICAgICAgdG8gcmVkdWNlICNpZmRlZnMuCisgICAgICAgIChXZWJDb3JlOjpsYXllck9yQW5j
ZXN0b3JJc1RyYW5zZm9ybWVkT3JTY3JvbGxpbmcpOiBEZWxldGVkLgorCisyMDE0LTA0LTI5ICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBT
ZXR0aW5nczo6Y29tcG9zaXRlZFNjcm9sbGluZ0ZvckZyYW1lc0VuYWJsZWQKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjM1MgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA1NWJlOTI0YTc3M2JkMDBkYWJjZGY5
NDczZmU0NTUzMmI4MmU5NGU4Li5iNjkzOTY4OWNiNmI1ZGM2OWRmOGU1NGRjMzQyM2FlMzE3NWUz
MGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTIzNTcs
MTEgKzIzNTcsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUbyhpbnQgeCwgaW50IHkpCiAg
ICAgICAgIHJlcXVpcmVzUmVwYWludCA9IGZhbHNlOwogCiAgICAgLy8gSnVzdCBzY2hlZHVsZSBh
IGZ1bGwgcmVwYWludCBvZiBvdXIgb2JqZWN0LgotI2lmIFBMQVRGT1JNKElPUykKLSAgICBpZiAo
IWhhc0FjY2VsZXJhdGVkVG91Y2hTY3JvbGxpbmcoKSkKLSNlbHNlCiAgICAgaWYgKHJlcXVpcmVz
UmVwYWludCkKLSNlbmRpZgogICAgICAgICByZW5kZXJlcigpLnJlcGFpbnRVc2luZ0NvbnRhaW5l
cihyZXBhaW50Q29udGFpbmVyLCBtX3JlcGFpbnRSZWN0KTsKIAogICAgIC8vIFNjaGVkdWxlIHRo
ZSBzY3JvbGwgYW5kIHNjcm9sbC1yZWxhdGVkIERPTSBldmVudHMuCkBAIC0yNjg4LDE2ICsyNjg0
LDkgQEAgSW50UmVjdCBSZW5kZXJMYXllcjo6dmlzaWJsZUNvbnRlbnRSZWN0SW50ZXJuYWwoVmlz
aWJsZUNvbnRlbnRSZWN0SW5jbHVkZXNTY3JvbGwKIHsKICAgICBpbnQgdmVydGljYWxTY3JvbGxi
YXJXaWR0aCA9IDA7CiAgICAgaW50IGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQgPSAwOwotICAg
IGlmIChzY3JvbGxiYXJJbmNsdXNpb24gPT0gSW5jbHVkZVNjcm9sbGJhcnMpIHsKKyAgICBpZiAo
c2hvd3NPdmVyZmxvd0NvbnRyb2xzKCkgJiYgc2Nyb2xsYmFySW5jbHVzaW9uID09IEluY2x1ZGVT
Y3JvbGxiYXJzKSB7CiAgICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGggPSAodmVydGljYWxT
Y3JvbGxiYXIoKSAmJiAhdmVydGljYWxTY3JvbGxiYXIoKS0+aXNPdmVybGF5U2Nyb2xsYmFyKCkp
ID8gdmVydGljYWxTY3JvbGxiYXIoKS0+d2lkdGgoKSA6IDA7CiAgICAgICAgIGhvcml6b250YWxT
Y3JvbGxiYXJIZWlnaHQgPSAoaG9yaXpvbnRhbFNjcm9sbGJhcigpICYmICFob3Jpem9udGFsU2Ny
b2xsYmFyKCktPmlzT3ZlcmxheVNjcm9sbGJhcigpKSA/IGhvcml6b250YWxTY3JvbGxiYXIoKS0+
aGVpZ2h0KCkgOiAwOwotCi0jaWYgUExBVEZPUk0oSU9TKQotICAgICAgICBpZiAoaGFzQWNjZWxl
cmF0ZWRUb3VjaFNjcm9sbGluZygpKSB7Ci0gICAgICAgICAgICB2ZXJ0aWNhbFNjcm9sbGJhcldp
ZHRoID0gMDsKLSAgICAgICAgICAgIGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQgPSAwOwotICAg
ICAgICB9Ci0jZW5kaWYKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQo
c2Nyb2xsWE9mZnNldCgpLCBzY3JvbGxZT2Zmc2V0KCkpLApAQCAtMjkxNywxMSArMjkwNiw4IEBA
IEludFNpemUgUmVuZGVyTGF5ZXI6OnNjcm9sbGJhck9mZnNldChjb25zdCBTY3JvbGxiYXIqIHNj
cm9sbGJhcikgY29uc3QKIAogdm9pZCBSZW5kZXJMYXllcjo6aW52YWxpZGF0ZVNjcm9sbGJhclJl
Y3QoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0jaWYgUExB
VEZPUk0oSU9TKQotICAgIC8vIE5vIG5lZWQgdG8gaW52YWxpZGF0ZSBzY3JvbGxiYXJzIGlmIHdl
J3JlIHVzaW5nIGFjY2VsZXJhdGVkIHNjcm9sbGluZy4KLSAgICBpZiAoaGFzQWNjZWxlcmF0ZWRU
b3VjaFNjcm9sbGluZygpKQorICAgIGlmICghc2hvd3NPdmVyZmxvd0NvbnRyb2xzKCkpCiAgICAg
ICAgIHJldHVybjsKLSNlbmRpZgogCiAgICAgaWYgKHNjcm9sbGJhciA9PSBtX3ZCYXIuZ2V0KCkp
IHsKICAgICAgICAgaWYgKEdyYXBoaWNzTGF5ZXIqIGxheWVyID0gbGF5ZXJGb3JWZXJ0aWNhbFNj
cm9sbGJhcigpKSB7CkBAIC0yOTUzLDExICsyOTM5LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6aW52
YWxpZGF0ZVNjcm9sbGJhclJlY3QoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3Qm
IHIKIAogdm9pZCBSZW5kZXJMYXllcjo6aW52YWxpZGF0ZVNjcm9sbENvcm5lclJlY3QoY29uc3Qg
SW50UmVjdCYgcmVjdCkKIHsKLSNpZiBQTEFURk9STShJT1MpCi0gICAgLy8gTm8gbmVlZCB0byBp
bnZhbGlkYXRlIHRoZSBzY3JvbGwgY29ybmVyIGlmIHdlJ3JlIHVzaW5nIGFjY2VsZXJhdGVkIHNj
cm9sbGluZy4KLSAgICBpZiAoaGFzQWNjZWxlcmF0ZWRUb3VjaFNjcm9sbGluZygpKQorICAgIGlm
ICghc2hvd3NPdmVyZmxvd0NvbnRyb2xzKCkpCiAgICAgICAgIHJldHVybjsKLSNlbmRpZgogCiAg
ICAgaWYgKEdyYXBoaWNzTGF5ZXIqIGxheWVyID0gbGF5ZXJGb3JTY3JvbGxDb3JuZXIoKSkgewog
ICAgICAgICBsYXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KHJlY3QpOwpAQCAtMzA3NywyNyAr
MzA2MCwyMSBAQCBTY3JvbGxhYmxlQXJlYSogUmVuZGVyTGF5ZXI6OmVuY2xvc2luZ1Njcm9sbGFi
bGVBcmVhKCkgY29uc3QKIAogaW50IFJlbmRlckxheWVyOjp2ZXJ0aWNhbFNjcm9sbGJhcldpZHRo
KE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5IHJlbGV2YW5jeSkgY29uc3QKIHsKLSAgICBp
ZiAoIW1fdkJhciB8fCAobV92QmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKSAmJiAocmVsZXZhbmN5
ID09IElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplIHx8ICFtX3ZCYXItPnNob3VsZFBhcnRpY2lw
YXRlSW5IaXRUZXN0aW5nKCkpKSkKKyAgICBpZiAoIW1fdkJhcgorICAgICAgICB8fCAhc2hvd3NP
dmVyZmxvd0NvbnRyb2xzKCkKKyAgICAgICAgfHwgKG1fdkJhci0+aXNPdmVybGF5U2Nyb2xsYmFy
KCkgJiYgKHJlbGV2YW5jeSA9PSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSB8fCAhbV92QmFy
LT5zaG91bGRQYXJ0aWNpcGF0ZUluSGl0VGVzdGluZygpKSkpCiAgICAgICAgIHJldHVybiAwOwog
Ci0jaWYgUExBVEZPUk0oSU9TKQotICAgIGlmIChoYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5n
KCkpIAotICAgICAgICByZXR1cm4gMDsKLSNlbmRpZgotCiAgICAgcmV0dXJuIG1fdkJhci0+d2lk
dGgoKTsKIH0KIAogaW50IFJlbmRlckxheWVyOjpob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KE92
ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5IHJlbGV2YW5jeSkgY29uc3QKIHsKLSAgICBpZiAo
IW1faEJhciB8fCAobV9oQmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKSAmJiAocmVsZXZhbmN5ID09
IElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplIHx8ICFtX2hCYXItPnNob3VsZFBhcnRpY2lwYXRl
SW5IaXRUZXN0aW5nKCkpKSkKKyAgICBpZiAoIW1faEJhcgorICAgICAgICB8fCAhc2hvd3NPdmVy
Zmxvd0NvbnRyb2xzKCkKKyAgICAgICAgfHwgKG1faEJhci0+aXNPdmVybGF5U2Nyb2xsYmFyKCkg
JiYgKHJlbGV2YW5jeSA9PSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSB8fCAhbV9oQmFyLT5z
aG91bGRQYXJ0aWNpcGF0ZUluSGl0VGVzdGluZygpKSkpCiAgICAgICAgIHJldHVybiAwOwogCi0j
aWYgUExBVEZPUk0oSU9TKQotICAgIGlmIChoYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5nKCkp
IAotICAgICAgICByZXR1cm4gMDsKLSNlbmRpZgotCiAgICAgcmV0dXJuIG1faEJhci0+aGVpZ2h0
KCk7CiB9CiAKQEAgLTMzNjcsMTcgKzMzNDQsMjUgQEAgYm9vbCBSZW5kZXJMYXllcjo6b3ZlcmZs
b3dDb250cm9sc0ludGVyc2VjdFJlY3QoY29uc3QgSW50UmVjdCYgbG9jYWxSZWN0KSBjb25zdAog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBSZW5kZXJMYXllcjo6c2hvd3NPdmVyZmxvd0Nv
bnRyb2xzKCkgY29uc3QKK3sKKyNpZiBQTEFURk9STShJT1MpCisgICAgLy8gRG9uJ3QgcmVuZGVy
IChjdXN0b20pIHNjcm9sbGJhcnMgaWYgd2UgaGF2ZSBhY2NlbGVyYXRlZCBzY3JvbGxpbmcuCisg
ICAgaWYgKGhhc0FjY2VsZXJhdGVkVG91Y2hTY3JvbGxpbmcoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBSZW5kZXJMYXllcjo6
cGFpbnRPdmVyZmxvd0NvbnRyb2xzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50
UG9pbnQmIHBhaW50T2Zmc2V0LCBjb25zdCBJbnRSZWN0JiBkYW1hZ2VSZWN0LCBib29sIHBhaW50
aW5nT3ZlcmxheUNvbnRyb2xzKQogewogICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGlmIHdlIGhh
dmUgbm8gb3ZlcmZsb3cuCiAgICAgaWYgKCFyZW5kZXJlcigpLmhhc092ZXJmbG93Q2xpcCgpKQog
ICAgICAgICByZXR1cm47CiAKLSNpZiBQTEFURk9STShJT1MpCi0gICAgLy8gRG9uJ3QgcmVuZGVy
IChjdXN0b20pIHNjcm9sbGJhcnMgaWYgd2UgaGF2ZSBhY2NlbGVyYXRlZCBzY3JvbGxpbmcuCi0g
ICAgaWYgKGhhc0FjY2VsZXJhdGVkVG91Y2hTY3JvbGxpbmcoKSkKKyAgICBpZiAoIXNob3dzT3Zl
cmZsb3dDb250cm9scygpKQogICAgICAgICByZXR1cm47Ci0jZW5kaWYKIAogICAgIC8vIE92ZXJs
YXkgc2Nyb2xsYmFycyBwYWludCBpbiBhIHNlY29uZCBwYXNzIHRocm91Z2ggdGhlIGxheWVyIHRy
ZWUgc28gdGhhdCB0aGV5IHdpbGwgcGFpbnQKICAgICAvLyBvbiB0b3Agb2YgZXZlcnl0aGluZyBl
bHNlLiBJZiB0aGlzIGlzIHRoZSBub3JtYWwgcGFpbnRpbmcgcGFzcywgcGFpbnRpbmdPdmVybGF5
Q29udHJvbHMKQEAgLTY0MTgsMTUgKzY0MDMsMTQgQEAgYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxk
QmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAgICAgICAgICYmICFyZW5kZXJlcigpLmhhc0ZpbHRl
cigpCiAjZW5kaWYKICNpZiBQTEFURk9STShJT1MpCi0gICAgICAgICAgICAmJiAhaGFzQWNjZWxl
cmF0ZWRUb3VjaFNjcm9sbGluZygpCisgICAgICAgICYmICFoYXNBY2NlbGVyYXRlZFRvdWNoU2Ny
b2xsaW5nKCkKICNlbmRpZgogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgICAgICYm
ICFyZW5kZXJlcigpLmhhc0JsZW5kTW9kZSgpCiAjZW5kaWYKICAgICAgICAgJiYgIWlzVHJhbnNw
YXJlbnQoKQogICAgICAgICAmJiAhbmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nKCkKLSAgICAgICAg
JiYgIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNGbG93RnJvbSgpCi0gICAgICAgIDsKKyAgICAgICAg
JiYgIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNGbG93RnJvbSgpOwogfQogCiBib29sIFJlbmRlckxh
eWVyOjpzaG91bGRCZVNlbGZQYWludGluZ0xheWVyKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKaW5kZXggMDBmNmRkMmRhOWExM2MwZTQyOTNmOTE4MGQ2NTRiNzQ0
ODAxYTBkYi4uMjBhMzE4NDRjMjVlZGY1ZjM4Y2EzZTBkYmRkN2RjMmM3N2ZhNjBkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTQ1OCw4ICs0NTgsOCBAQCBwdWJs
aWM6CiAgICAgYm9vbCByZXF1aXJlc1Njcm9sbEJvdW5kc09yaWdpblVwZGF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVxdWlyZXNTY3JvbGxCb3VuZHNPcmlnaW5VcGRhdGU7IH0KICAgICB2b2lkIHNl
dFJlcXVpcmVzU2Nyb2xsQm91bmRzT3JpZ2luVXBkYXRlKGJvb2wgcmVxdWlyZXNVcGRhdGUgPSB0
cnVlKSB7IG1fcmVxdWlyZXNTY3JvbGxCb3VuZHNPcmlnaW5VcGRhdGUgPSByZXF1aXJlc1VwZGF0
ZTsgfQogCisgICAgLy8gUmV0dXJucyB0cnVlIHdoZW4gdGhlIGxheWVyIGNvdWxkIGRvIHRvdWNo
IHNjcm9sbGluZywgYnV0IGRvZXNuJ3QgbG9vayBhdCB3aGV0aGVyIHRoZXJlIGlzIGFjdHVhbGx5
IHNjcm9sbGFibGUgb3ZlcmZsb3cuCiAgICAgYm9vbCBoYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xs
aW5nKCkgY29uc3Q7Ci0KICNlbmRpZgogCiAgICAgaW50IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgo
T3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6
ZSkgY29uc3Q7CkBAIC0xMDU4LDYgKzEwNTgsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFzU2Ny
b2xsYWJsZUhvcml6b250YWxPdmVyZmxvdygpIGNvbnN0OwogICAgIGJvb2wgaGFzU2Nyb2xsYWJs
ZVZlcnRpY2FsT3ZlcmZsb3coKSBjb25zdDsKIAorICAgIGJvb2wgc2hvd3NPdmVyZmxvd0NvbnRy
b2xzKCkgY29uc3Q7CisKICAgICBib29sIHNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdDsK
IAogICAgIGJvb2wgc2hvdWxkQmVTZWxmUGFpbnRpbmdMYXllcigpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBhZmNmY2My
MDFhMTI4ZjZkMDg3YWYwMjcwNWE1MmExNjA1NmFhNGExLi45MGM2NGMzNGY0NDk0ZTJmMjdjZWY3
NDZlZDNmYmE1OWI3MDBhYmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtNDAwLDM3ICs0MDAsMjIgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUJsZW5kTW9kZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCiB9CiAj
ZW5kaWYKIAotc3RhdGljIGJvb2wgaGFzTm9uWmVyb1RyYW5zZm9ybU9yaWdpbihjb25zdCBSZW5k
ZXJPYmplY3QmIHJlbmRlcmVyKQotewotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSA9IHJl
bmRlcmVyLnN0eWxlKCk7Ci0gICAgcmV0dXJuIChzdHlsZS50cmFuc2Zvcm1PcmlnaW5YKCkudHlw
ZSgpID09IEZpeGVkICYmIHN0eWxlLnRyYW5zZm9ybU9yaWdpblgoKS52YWx1ZSgpKQotICAgICAg
ICB8fCAoc3R5bGUudHJhbnNmb3JtT3JpZ2luWSgpLnR5cGUoKSA9PSBGaXhlZCAmJiBzdHlsZS50
cmFuc2Zvcm1PcmlnaW5ZKCkudmFsdWUoKSk7Ci19Ci0KLSNpZiBQTEFURk9STShJT1MpCi0vLyBG
SVhNRTogV2Ugc2hvdWxkIG1lcmdlIHRoZSBjb25jZXB0IG9mIFJlbmRlckxheWVyOjp7aGFzQWNj
ZWxlcmF0ZWRUb3VjaFNjcm9sbGluZywgbmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nfSgpCi0vLyBz
byB0aGF0IHdlIGNhbiByZW1vdmUgdGhpcyBpT1Mtc3BlY2lmaWMgdmFyaWFudC4KLXN0YXRpYyBi
b29sIGxheWVyT3JBbmNlc3RvcklzVHJhbnNmb3JtZWRPclNjcm9sbGluZyhSZW5kZXJMYXllciYg
bGF5ZXIpCi17Ci0gICAgZm9yIChSZW5kZXJMYXllciogY3VyciA9ICZsYXllcjsgY3VycjsgY3Vy
ciA9IGN1cnItPnBhcmVudCgpKSB7Ci0gICAgICAgIGlmIChjdXJyLT5oYXNUcmFuc2Zvcm0oKSB8
fCBjdXJyLT5oYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5nKCkpCi0gICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0jZWxzZQogc3RhdGljIGJv
b2wgbGF5ZXJPckFuY2VzdG9ySXNUcmFuc2Zvcm1lZE9yVXNpbmdDb21wb3NpdGVkU2Nyb2xsaW5n
KFJlbmRlckxheWVyJiBsYXllcikKIHsKICAgICBmb3IgKFJlbmRlckxheWVyKiBjdXJyID0gJmxh
eWVyOyBjdXJyOyBjdXJyID0gY3Vyci0+cGFyZW50KCkpIHsKLSAgICAgICAgaWYgKGN1cnItPmhh
c1RyYW5zZm9ybSgpIHx8IGN1cnItPm5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpKQorICAgICAg
ICBpZiAoY3Vyci0+aGFzVHJhbnNmb3JtKCkKKyNpZiBQTEFURk9STShJT1MpCisgICAgICAgICAg
ICB8fCBjdXJyLT5oYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5nKCkKKyNlbHNlCisgICAgICAg
ICAgICB8fCBjdXJyLT5uZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKQorI2VuZGlmCisgICAgICAg
ICAgICApCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICByZXR1cm4gZmFs
c2U7CiB9Ci0jZW5kaWYKLSAgICAKKwogYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnNob3VsZENs
aXBDb21wb3NpdGVkQm91bmRzKCkgY29uc3QKIHsKICNpZiAhUExBVEZPUk0oSU9TKQpAQCAtNDQy
LDEzICs0MjcsOCBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6c2hvdWxkQ2xpcENvbXBvc2l0
ZWRCb3VuZHMoKSBjb25zdAogICAgIGlmIChtX3VzaW5nVGlsZWRDYWNoZUxheWVyKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSNpZiAhUExBVEZPUk0oSU9TKQogICAgIGlmIChsYXllck9yQW5j
ZXN0b3JJc1RyYW5zZm9ybWVkT3JVc2luZ0NvbXBvc2l0ZWRTY3JvbGxpbmcobV9vd25pbmdMYXll
cikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSNlbHNlCi0gICAgaWYgKGxheWVyT3JBbmNlc3Rv
cklzVHJhbnNmb3JtZWRPclNjcm9sbGluZyhtX293bmluZ0xheWVyKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotI2VuZGlmCiAKICAgICBpZiAobV9vd25pbmdMYXllci5pc0Zsb3dUaHJlYWRDb2xs
ZWN0aW5nR3JhcGhpY3NMYXllcnNVbmRlclJlZ2lvbnMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtNDU2LDYgKzQzNiwxMyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6c2hvdWxkQ2xp
cENvbXBvc2l0ZWRCb3VuZHMoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0aWMg
Ym9vbCBoYXNOb25aZXJvVHJhbnNmb3JtT3JpZ2luKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVy
ZXIpCit7CisgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlID0gcmVuZGVyZXIuc3R5bGUoKTsK
KyAgICByZXR1cm4gKHN0eWxlLnRyYW5zZm9ybU9yaWdpblgoKS50eXBlKCkgPT0gRml4ZWQgJiYg
c3R5bGUudHJhbnNmb3JtT3JpZ2luWCgpLnZhbHVlKCkpCisgICAgICAgIHx8IChzdHlsZS50cmFu
c2Zvcm1PcmlnaW5ZKCkudHlwZSgpID09IEZpeGVkICYmIHN0eWxlLnRyYW5zZm9ybU9yaWdpblko
KS52YWx1ZSgpKTsKK30KKwogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUNvbXBvc2l0
ZWRCb3VuZHMoKQogewogICAgIExheW91dFJlY3QgbGF5ZXJCb3VuZHMgPSBjb21wb3NpdG9yKCku
Y2FsY3VsYXRlQ29tcG9zaXRlZEJvdW5kcyhtX293bmluZ0xheWVyLCBtX293bmluZ0xheWVyKTsK
QEAgLTU0OCwxNiArNTM1LDE2IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFw
aGljc0xheWVyQ29uZmlndXJhdGlvbigpCiAgICAgICAgIGxheWVyQ29uZmlnQ2hhbmdlZCA9IHRy
dWU7CiAgICAgCiAgICAgYm9vbCBuZWVkc0Rlc2NlbmRlbnRzQ2xpcHBpbmdMYXllciA9IGNvbXBv
c2l0b3IoKS5jbGlwc0NvbXBvc2l0aW5nRGVzY2VuZGFudHMobV9vd25pbmdMYXllcik7Ci0KKyAg
ICBib29sIHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nOwogI2lmIFBMQVRGT1JNKElPUykKLSAgICAv
LyBPdXIgc2Nyb2xsaW5nIGxheWVyIHdpbGwgY2xpcC4KLSAgICBpZiAobV9vd25pbmdMYXllci5o
YXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xsaW5nKCkpCi0gICAgICAgIG5lZWRzRGVzY2VuZGVudHND
bGlwcGluZ0xheWVyID0gZmFsc2U7CisgICAgdXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcgPSBtX293
bmluZ0xheWVyLmhhc0FjY2VsZXJhdGVkVG91Y2hTY3JvbGxpbmcoKTsKICNlbHNlCisgICAgdXNl
c0NvbXBvc2l0ZWRTY3JvbGxpbmcgPSBtX293bmluZ0xheWVyLm5lZWRzQ29tcG9zaXRlZFNjcm9s
bGluZygpOworI2VuZGlmCisKICAgICAvLyBPdXIgc2Nyb2xsaW5nIGxheWVyIHdpbGwgY2xpcC4K
LSAgICBpZiAobV9vd25pbmdMYXllci5uZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSkKKyAgICBp
ZiAodXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcpCiAgICAgICAgIG5lZWRzRGVzY2VuZGVudHNDbGlw
cGluZ0xheWVyID0gZmFsc2U7Ci0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiAgICAgaWYgKHVw
ZGF0ZUFuY2VzdG9yQ2xpcHBpbmdMYXllcihjb21wb3NpdG9yKCkuY2xpcHBlZEJ5QW5jZXN0b3Io
bV9vd25pbmdMYXllcikpKQogICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwpAQCAt
NTY4LDEzICs1NTUsOCBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NM
YXllckNvbmZpZ3VyYXRpb24oKQogICAgIGlmICh1cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJz
KHJlcXVpcmVzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyKCksIHJlcXVpcmVzVmVydGljYWxTY3Jv
bGxiYXJMYXllcigpLCByZXF1aXJlc1Njcm9sbENvcm5lckxheWVyKCkpKQogICAgICAgICBsYXll
ckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwogCi0jaWYgUExBVEZPUk0oSU9TKQotICAgIGlmICh1cGRh
dGVTY3JvbGxpbmdMYXllcnMobV9vd25pbmdMYXllci5oYXNBY2NlbGVyYXRlZFRvdWNoU2Nyb2xs
aW5nKCkpKQotICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwotI2Vsc2UKLSAgICBp
ZiAodXBkYXRlU2Nyb2xsaW5nTGF5ZXJzKG1fb3duaW5nTGF5ZXIubmVlZHNDb21wb3NpdGVkU2Ny
b2xsaW5nKCkpKQorICAgIGlmICh1cGRhdGVTY3JvbGxpbmdMYXllcnModXNlc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcpKQogICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwotI2VuZGlmIC8v
IFBMQVRGT1JNKElPUykKIAogICAgIGlmIChsYXllckNvbmZpZ0NoYW5nZWQpCiAgICAgICAgIHVw
ZGF0ZUludGVybmFsSGllcmFyY2h5KCk7Cg==
</data>
<flag name="review"
          id="254808"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>