<?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>154904</bug_id>
          
          <creation_ts>2016-03-01 21:07:14 -0800</creation_ts>
          <short_desc>[JSC] Simplify ArithMod(ArithMod(x, const1), const2) if const2 &gt;= const1</short_desc>
          <delta_ts>2016-03-01 23:53:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1169710</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-01 21:07:14 -0800</bug_when>
    <thetext>[JSC] Simplify ArithMod(ArithMod(x, const1), const2) if const2 &gt;= const1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169711</commentid>
    <comment_count>1</comment_count>
      <attachid>272630</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-01 21:09:27 -0800</bug_when>
    <thetext>Created attachment 272630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169739</commentid>
    <comment_count>2</comment_count>
      <attachid>272630</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-01 22:15:08 -0800</bug_when>
    <thetext>Comment on attachment 272630
Patch

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

LGTM

&gt; Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:179
&gt; +            // Out: Identity(ArithMod(x, const1)

Style nit: parens aren&apos;t balanced

&gt; Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:184
&gt; +                &amp;&amp; m_node-&gt;child1()-&gt;binaryUseKind()

Should this also be == Int32Use?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169740</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-01 22:16:15 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 272630 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=272630&amp;action=review
&gt; 
&gt; LGTM
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:179
&gt; &gt; +            // Out: Identity(ArithMod(x, const1)
&gt; 
&gt; Style nit: parens aren&apos;t balanced
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:184
&gt; &gt; +                &amp;&amp; m_node-&gt;child1()-&gt;binaryUseKind()
&gt; 
&gt; Should this also be == Int32Use?

Yep, indeed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169760</commentid>
    <comment_count>4</comment_count>
      <attachid>272637</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-01 22:57:18 -0800</bug_when>
    <thetext>Created attachment 272637
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169772</commentid>
    <comment_count>5</comment_count>
      <attachid>272637</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-01 23:53:12 -0800</bug_when>
    <thetext>Comment on attachment 272637
Patch for landing

Clearing flags on attachment: 272637

Committed r197445: &lt;http://trac.webkit.org/changeset/197445&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169773</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-01 23:53:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272630</attachid>
            <date>2016-03-01 21:09:27 -0800</date>
            <delta_ts>2016-03-01 22:57:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154904-20160301210912.patch</filename>
            <type>text/plain</type>
            <size>4600</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MWY0NGEzMTlmNWE5ODFjMjlmY2FmOGUzZTNlYTJjNzIyNmMzM2M4Li40Y2I3MTZkMGIzMjlhNjlh
M2RlMzk3ZGEyMDBjODE2NzM2NmFlNmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAxNi0wMy0wMSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgW0pTQ10gU2ltcGxpZnkgQXJpdGhNb2QoQXJpdGhNb2QoeCwgY29u
c3QxKSwgY29uc3QyKSBpZiBjb25zdDIgPj0gY29uc3QxCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5MDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgQVNNIHRlc3QgInViZW5jaCIgaGFzIGEgIngg
JSAxMCAlIDI1NSIuCisgICAgICAgIFRoZSBzZWNvbmQgbW9kdWxvIHNob3VsZCBiZSBlbGltaW5h
dGVkLgorCisgICAgICAgIFRoaXMgaXMgYSAxNSUgaW1wcm92ZW1lbnQgb24gQVNNSlMnIHViZW5j
aC4KKworICAgICAgICAqIGRmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpTdHJlbmd0aFJlZHVjdGlvblBoYXNlOjpoYW5kbGVOb2RlKToKKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3MvYXJpdGgtbW9kdWxvLXR3aWNlLmpzOiBBZGRlZC4KKyAgICAgICAg
KG9wYXF1ZU1vZHVsb1NtYWxsZXIpOgorICAgICAgICAob3BhcXVlTW9kdWxvRXF1YWwpOgorICAg
ICAgICAob3BhcXVlTW9kdWxvTGFyZ2VyKToKKyAgICAgICAgKG9wYXF1ZU1vZHVsb1NtYWxsZXJO
ZWcpOgorICAgICAgICAob3BhcXVlTW9kdWxvRXF1YWxOZWcpOgorICAgICAgICAob3BhcXVlTW9k
dWxvTGFyZ2VyTmVnKToKKyAgICAgICAgKG9wYXF1ZUV4cGVjdGVkT3RoZXIpOgorCiAyMDE2LTAz
LTAxICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBG
SVhNRXMgYW5kIGFkZCB2YWxpZCB0ZXN0IGNhc2VzIGFmdGVyIG5lY2Vzc2FyeSBwYXRjaCBoYXMg
bGFuZGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJlbmd0
aFJlZHVjdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RyZW5n
dGhSZWR1Y3Rpb25QaGFzZS5jcHAKaW5kZXggMTRhZDc5ZTZjOGMzMzIxNjE0MDRmZjEwZDY3ZWQ3
NjFjM2U5ZGFhYS4uNWMzNmFiZDUxYTg5MWY2ZWNjNTMxMWZhMTQ2Njc2MmI4ZGI1ZjQwNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBo
YXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cmVuZ3RoUmVkdWN0
aW9uUGhhc2UuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiREZHUHJlZGljdGlvblBy
b3BhZ2F0aW9uUGhhc2UuaCIKICNpbmNsdWRlICJERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmgi
CiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUgPGNzdGRsaWI+CiAKIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIApAQCAtMTcyLDYgKzE3MywyMSBAQCBwcml2YXRlOgog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBBcml0aE1v
ZDoKKyAgICAgICAgICAgIC8vIE9uIEludGVnZXJzCisgICAgICAgICAgICAvLyBJbjogQXJpdGhN
b2QoQXJpdGhNb2QoeCwgY29uc3QxKSwgY29uc3QyKQorICAgICAgICAgICAgLy8gT3V0OiBJZGVu
dGl0eShBcml0aE1vZCh4LCBjb25zdDEpCisgICAgICAgICAgICAvLyAgICAgaWYgY29uc3QxIDw9
IGNvbnN0Mi4KKyAgICAgICAgICAgIGlmIChtX25vZGUtPmJpbmFyeVVzZUtpbmQoKSA9PSBJbnQz
MlVzZQorICAgICAgICAgICAgICAgICYmIG1fbm9kZS0+Y2hpbGQyKCktPmlzSW50MzJDb25zdGFu
dCgpCisgICAgICAgICAgICAgICAgJiYgbV9ub2RlLT5jaGlsZDEoKS0+b3AoKSA9PSBBcml0aE1v
ZAorICAgICAgICAgICAgICAgICYmIG1fbm9kZS0+Y2hpbGQxKCktPmJpbmFyeVVzZUtpbmQoKQor
ICAgICAgICAgICAgICAgICYmIG1fbm9kZS0+Y2hpbGQxKCktPmNoaWxkMigpLT5pc0ludDMyQ29u
c3RhbnQoKQorICAgICAgICAgICAgICAgICYmIHN0ZDo6YWJzKG1fbm9kZS0+Y2hpbGQxKCktPmNo
aWxkMigpLT5hc0ludDMyKCkpIDw9IHN0ZDo6YWJzKG1fbm9kZS0+Y2hpbGQyKCktPmFzSW50MzIo
KSkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29udmVydFRvSWRlbnRpdHlPdmVyQ2hpbGQxKCk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBjYXNlIFZhbHVl
UmVwOgogICAgICAgICBjYXNlIEludDUyUmVwOgogICAgICAgICBjYXNlIERvdWJsZVJlcDogewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcml0aC1tb2R1
bG8tdHdpY2UuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FyaXRoLW1v
ZHVsby10d2ljZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZGYwNjlhZTAzYTIxYTlhYzE0NzgyMzdjYzRhNDlk
NTI4MzhjYTU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcml0aC1tb2R1bG8tdHdpY2UuanMKQEAgLTAsMCArMSw2MSBAQAorZnVuY3Rpb24g
b3BhcXVlTW9kdWxvU21hbGxlcihhKQoreworICAgIHJldHVybiAoYSAlIDUpICUgMTM7Cit9Citu
b0lubGluZShvcGFxdWVNb2R1bG9TbWFsbGVyKTsKKworZnVuY3Rpb24gb3BhcXVlTW9kdWxvRXF1
YWwoYSkKK3sKKyAgICByZXR1cm4gKGEgJSA1KSAlIDU7Cit9Citub0lubGluZShvcGFxdWVNb2R1
bG9FcXVhbCk7CisKK2Z1bmN0aW9uIG9wYXF1ZU1vZHVsb0xhcmdlcihhKQoreworICAgIHJldHVy
biAoYSAlIDEzKSAlIDU7Cit9Citub0lubGluZShvcGFxdWVNb2R1bG9MYXJnZXIpOworCitmdW5j
dGlvbiBvcGFxdWVNb2R1bG9TbWFsbGVyTmVnKGEpCit7CisgICAgcmV0dXJuIChhICUgLTUpICUg
LTEzOworfQorbm9JbmxpbmUob3BhcXVlTW9kdWxvU21hbGxlck5lZyk7CisKK2Z1bmN0aW9uIG9w
YXF1ZU1vZHVsb0VxdWFsTmVnKGEpCit7CisgICAgcmV0dXJuIChhICUgNSkgJSAtNTsKK30KK25v
SW5saW5lKG9wYXF1ZU1vZHVsb0VxdWFsTmVnKTsKKworZnVuY3Rpb24gb3BhcXVlTW9kdWxvTGFy
Z2VyTmVnKGEpCit7CisgICAgcmV0dXJuIChhICUgLTEzKSAlIDU7Cit9Citub0lubGluZShvcGFx
dWVNb2R1bG9MYXJnZXJOZWcpOworCitsZXQgdGVzdFJlZHVjaWJsZUNhc2VzID0gW29wYXF1ZU1v
ZHVsb1NtYWxsZXIsIG9wYXF1ZU1vZHVsb0VxdWFsLCBvcGFxdWVNb2R1bG9TbWFsbGVyTmVnLCBv
cGFxdWVNb2R1bG9FcXVhbE5lZ107CitsZXQgdGVzdE90aGVyQ2FzZXMgPSBbb3BhcXVlTW9kdWxv
TGFyZ2VyLCBvcGFxdWVNb2R1bG9MYXJnZXJOZWddOworCitmdW5jdGlvbiBvcGFxdWVFeHBlY3Rl
ZE90aGVyKGRvdWJsZUlucHV0KQoreworICAgIHJldHVybiAoZG91YmxlSW5wdXQgLSAyMTQ3NDgz
NjQ4KSAlIDEzLjAgJSA1LjA7Cit9Citub0lubGluZShvcGFxdWVFeHBlY3RlZE90aGVyKTsKK25v
REZHKG9wYXF1ZUV4cGVjdGVkT3RoZXIpOworCisvLyBXYXJtIHVwIHdpdGggaW50ZWdlcnMuIFRo
ZSB0ZXN0IGZvciBOZWdaZXJvIHNob3VsZCBub3QgYmUgZWxpbWluYXRlZCBoZXJlLgorZm9yIChs
ZXQgaSA9IDE7IGkgPCAxZTQ7ICsraSkgeworICAgIGxldCBleGNwZWN0ZWRSZWR1Y2VkID0gaSAl
IDU7CisgICAgZm9yIChsZXQgdGVzdEZ1bmN0aW9uIG9mIHRlc3RSZWR1Y2libGVDYXNlcykgewor
ICAgICAgICBsZXQgcmVzdWx0ID0gdGVzdEZ1bmN0aW9uKGkpOworICAgICAgICBpZiAocmVzdWx0
ICE9PSBleGNwZWN0ZWRSZWR1Y2VkKQorICAgICAgICAgICAgdGhyb3cgIiIgKyB0ZXN0RnVuY3Rp
b24ubmFtZSArICIoaSksIHJldHVybmVkOiAiICsgcmVzdWx0ICsgIiBhdCBpID0gIiArIGkgKyAi
IGV4cGVjdGVkICIgKyBleHBlY3RlZE90aGVyOworICAgIH0KKyAgICBsZXQgZXhwZWN0ZWRPdGhl
ciA9IG9wYXF1ZUV4cGVjdGVkT3RoZXIoaSArIDIxNDc0ODM2NDgpOworICAgIGZvciAobGV0IHRl
c3RGdW5jdGlvbiBvZiB0ZXN0T3RoZXJDYXNlcykgeworICAgICAgICBsZXQgcmVzdWx0ID0gdGVz
dEZ1bmN0aW9uKGkpOworICAgICAgICBpZiAocmVzdWx0ICE9PSBleHBlY3RlZE90aGVyKQorICAg
ICAgICAgICAgdGhyb3cgIiIgKyB0ZXN0RnVuY3Rpb24ubmFtZSArICIoaSksIHJldHVybmVkOiAi
ICsgcmVzdWx0ICsgIiBhdCBpID0gIiArIGkgKyAiIGV4cGVjdGVkICIgKyBleHBlY3RlZE90aGVy
OworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272637</attachid>
            <date>2016-03-01 22:57:18 -0800</date>
            <delta_ts>2016-03-01 23:53:12 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-154904-20160301225702.patch</filename>
            <type>text/plain</type>
            <size>4578</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NTFkNmYyODE4MTQ5YTMyZjZhNDM0YWM2ZDUxNjA3ZmI2ZDkxN2I4Li41NmY3MjdmNzk3NzE3MjYw
M2U1MjM2YmU5N2Y0YmI5ZTQwNTM1N2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAxNi0wMy0wMSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgW0pTQ10gU2ltcGxpZnkgQXJpdGhNb2QoQXJpdGhNb2QoeCwgY29u
c3QxKSwgY29uc3QyKSBpZiBjb25zdDIgPj0gY29uc3QxCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5MDQKKworICAgICAgICBSZXZpZXdlZCBieSBT
YWFtIEJhcmF0aS4KKworICAgICAgICBUaGUgQVNNIHRlc3QgInViZW5jaCIgaGFzIGEgInggJSAx
MCAlIDI1NSIuCisgICAgICAgIFRoZSBzZWNvbmQgbW9kdWxvIHNob3VsZCBiZSBlbGltaW5hdGVk
LgorCisgICAgICAgIFRoaXMgaXMgYSAxNSUgaW1wcm92ZW1lbnQgb24gQVNNSlMnIHViZW5jaC4K
KworICAgICAgICAqIGRmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpTdHJlbmd0aFJlZHVjdGlvblBoYXNlOjpoYW5kbGVOb2RlKToKKyAgICAgICAg
KiB0ZXN0cy9zdHJlc3MvYXJpdGgtbW9kdWxvLXR3aWNlLmpzOiBBZGRlZC4KKyAgICAgICAgKG9w
YXF1ZU1vZHVsb1NtYWxsZXIpOgorICAgICAgICAob3BhcXVlTW9kdWxvRXF1YWwpOgorICAgICAg
ICAob3BhcXVlTW9kdWxvTGFyZ2VyKToKKyAgICAgICAgKG9wYXF1ZU1vZHVsb1NtYWxsZXJOZWcp
OgorICAgICAgICAob3BhcXVlTW9kdWxvRXF1YWxOZWcpOgorICAgICAgICAob3BhcXVlTW9kdWxv
TGFyZ2VyTmVnKToKKyAgICAgICAgKG9wYXF1ZUV4cGVjdGVkT3RoZXIpOgorCiAyMDE2LTAzLTAx
ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgU2ltcGxp
Znkgc29tZSBTdHJpbmdCdWlsZGVyIGFwcGVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwCmluZGV4IDE0YWQ3OWU2
YzhjMzMyMTYxNDA0ZmYxMGQ2N2VkNzYxYzNlOWRhYWEuLmFjZmFkNjUyMWQ0YmU2ZjgzMmQxNTBl
MDQ4Y2YzY2FjNmQ1N2FiYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2lu
Y2x1ZGUgIkRGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmgiCiAjaW5jbHVkZSAiREZHVmFy
aWFibGVBY2Nlc3NEYXRhRHVtcC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRl
IDxjc3RkbGliPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKQEAgLTE3Miw2
ICsxNzMsMjEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwog
CisgICAgICAgIGNhc2UgQXJpdGhNb2Q6CisgICAgICAgICAgICAvLyBPbiBJbnRlZ2VycworICAg
ICAgICAgICAgLy8gSW46IEFyaXRoTW9kKEFyaXRoTW9kKHgsIGNvbnN0MSksIGNvbnN0MikKKyAg
ICAgICAgICAgIC8vIE91dDogSWRlbnRpdHkoQXJpdGhNb2QoeCwgY29uc3QxKSkKKyAgICAgICAg
ICAgIC8vICAgICBpZiBjb25zdDEgPD0gY29uc3QyLgorICAgICAgICAgICAgaWYgKG1fbm9kZS0+
YmluYXJ5VXNlS2luZCgpID09IEludDMyVXNlCisgICAgICAgICAgICAgICAgJiYgbV9ub2RlLT5j
aGlsZDIoKS0+aXNJbnQzMkNvbnN0YW50KCkKKyAgICAgICAgICAgICAgICAmJiBtX25vZGUtPmNo
aWxkMSgpLT5vcCgpID09IEFyaXRoTW9kCisgICAgICAgICAgICAgICAgJiYgbV9ub2RlLT5jaGls
ZDEoKS0+YmluYXJ5VXNlS2luZCgpID09IEludDMyVXNlCisgICAgICAgICAgICAgICAgJiYgbV9u
b2RlLT5jaGlsZDEoKS0+Y2hpbGQyKCktPmlzSW50MzJDb25zdGFudCgpCisgICAgICAgICAgICAg
ICAgJiYgc3RkOjphYnMobV9ub2RlLT5jaGlsZDEoKS0+Y2hpbGQyKCktPmFzSW50MzIoKSkgPD0g
c3RkOjphYnMobV9ub2RlLT5jaGlsZDIoKS0+YXNJbnQzMigpKSkgeworICAgICAgICAgICAgICAg
ICAgICBjb252ZXJ0VG9JZGVudGl0eU92ZXJDaGlsZDEoKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGJyZWFrOworCiAgICAgICAgIGNhc2UgVmFsdWVSZXA6CiAgICAgICAgIGNhc2UgSW50
NTJSZXA6CiAgICAgICAgIGNhc2UgRG91YmxlUmVwOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FyaXRoLW1vZHVsby10d2ljZS5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJpdGgtbW9kdWxvLXR3aWNlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZkZjA2OWFlMDNhMjFhOWFjMTQ3ODIzN2NjNGE0OWQ1MjgzOGNhNTUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FyaXRoLW1vZHVsby10
d2ljZS5qcwpAQCAtMCwwICsxLDYxIEBACitmdW5jdGlvbiBvcGFxdWVNb2R1bG9TbWFsbGVyKGEp
Cit7CisgICAgcmV0dXJuIChhICUgNSkgJSAxMzsKK30KK25vSW5saW5lKG9wYXF1ZU1vZHVsb1Nt
YWxsZXIpOworCitmdW5jdGlvbiBvcGFxdWVNb2R1bG9FcXVhbChhKQoreworICAgIHJldHVybiAo
YSAlIDUpICUgNTsKK30KK25vSW5saW5lKG9wYXF1ZU1vZHVsb0VxdWFsKTsKKworZnVuY3Rpb24g
b3BhcXVlTW9kdWxvTGFyZ2VyKGEpCit7CisgICAgcmV0dXJuIChhICUgMTMpICUgNTsKK30KK25v
SW5saW5lKG9wYXF1ZU1vZHVsb0xhcmdlcik7CisKK2Z1bmN0aW9uIG9wYXF1ZU1vZHVsb1NtYWxs
ZXJOZWcoYSkKK3sKKyAgICByZXR1cm4gKGEgJSAtNSkgJSAtMTM7Cit9Citub0lubGluZShvcGFx
dWVNb2R1bG9TbWFsbGVyTmVnKTsKKworZnVuY3Rpb24gb3BhcXVlTW9kdWxvRXF1YWxOZWcoYSkK
K3sKKyAgICByZXR1cm4gKGEgJSA1KSAlIC01OworfQorbm9JbmxpbmUob3BhcXVlTW9kdWxvRXF1
YWxOZWcpOworCitmdW5jdGlvbiBvcGFxdWVNb2R1bG9MYXJnZXJOZWcoYSkKK3sKKyAgICByZXR1
cm4gKGEgJSAtMTMpICUgNTsKK30KK25vSW5saW5lKG9wYXF1ZU1vZHVsb0xhcmdlck5lZyk7CisK
K2xldCB0ZXN0UmVkdWNpYmxlQ2FzZXMgPSBbb3BhcXVlTW9kdWxvU21hbGxlciwgb3BhcXVlTW9k
dWxvRXF1YWwsIG9wYXF1ZU1vZHVsb1NtYWxsZXJOZWcsIG9wYXF1ZU1vZHVsb0VxdWFsTmVnXTsK
K2xldCB0ZXN0T3RoZXJDYXNlcyA9IFtvcGFxdWVNb2R1bG9MYXJnZXIsIG9wYXF1ZU1vZHVsb0xh
cmdlck5lZ107CisKK2Z1bmN0aW9uIG9wYXF1ZUV4cGVjdGVkT3RoZXIoZG91YmxlSW5wdXQpCit7
CisgICAgcmV0dXJuIChkb3VibGVJbnB1dCAtIDIxNDc0ODM2NDgpICUgMTMuMCAlIDUuMDsKK30K
K25vSW5saW5lKG9wYXF1ZUV4cGVjdGVkT3RoZXIpOworbm9ERkcob3BhcXVlRXhwZWN0ZWRPdGhl
cik7CisKKy8vIFdhcm0gdXAgd2l0aCBpbnRlZ2Vycy4gVGhlIHRlc3QgZm9yIE5lZ1plcm8gc2hv
dWxkIG5vdCBiZSBlbGltaW5hdGVkIGhlcmUuCitmb3IgKGxldCBpID0gMTsgaSA8IDFlNDsgKytp
KSB7CisgICAgbGV0IGV4Y3BlY3RlZFJlZHVjZWQgPSBpICUgNTsKKyAgICBmb3IgKGxldCB0ZXN0
RnVuY3Rpb24gb2YgdGVzdFJlZHVjaWJsZUNhc2VzKSB7CisgICAgICAgIGxldCByZXN1bHQgPSB0
ZXN0RnVuY3Rpb24oaSk7CisgICAgICAgIGlmIChyZXN1bHQgIT09IGV4Y3BlY3RlZFJlZHVjZWQp
CisgICAgICAgICAgICB0aHJvdyAiIiArIHRlc3RGdW5jdGlvbi5uYW1lICsgIihpKSwgcmV0dXJu
ZWQ6ICIgKyByZXN1bHQgKyAiIGF0IGkgPSAiICsgaSArICIgZXhwZWN0ZWQgIiArIGV4cGVjdGVk
T3RoZXI7CisgICAgfQorICAgIGxldCBleHBlY3RlZE90aGVyID0gb3BhcXVlRXhwZWN0ZWRPdGhl
cihpICsgMjE0NzQ4MzY0OCk7CisgICAgZm9yIChsZXQgdGVzdEZ1bmN0aW9uIG9mIHRlc3RPdGhl
ckNhc2VzKSB7CisgICAgICAgIGxldCByZXN1bHQgPSB0ZXN0RnVuY3Rpb24oaSk7CisgICAgICAg
IGlmIChyZXN1bHQgIT09IGV4cGVjdGVkT3RoZXIpCisgICAgICAgICAgICB0aHJvdyAiIiArIHRl
c3RGdW5jdGlvbi5uYW1lICsgIihpKSwgcmV0dXJuZWQ6ICIgKyByZXN1bHQgKyAiIGF0IGkgPSAi
ICsgaSArICIgZXhwZWN0ZWQgIiArIGV4cGVjdGVkT3RoZXI7CisgICAgfQorfQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>