<?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>33911</bug_id>
          
          <creation_ts>2010-01-20 10:23:18 -0800</creation_ts>
          <short_desc>HTMLInputElement::valueAsDate setter support for type=date.</short_desc>
          <delta_ts>2010-01-21 09:47:48 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>32697</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>182854</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-20 10:23:18 -0800</bug_when>
    <thetext>HTMLInputElement::valueAsDate setter support for type=date.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182855</commentid>
    <comment_count>1</comment_count>
      <attachid>47046</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-20 10:26:20 -0800</bug_when>
    <thetext>Created attachment 47046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182963</commentid>
    <comment_count>2</comment_count>
      <attachid>47046</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-20 16:21:16 -0800</bug_when>
    <thetext>Comment on attachment 47046
Patch

&gt; +    if (beforeGregorianStartDate(m_year, m_month, m_monthDay))
&gt; +        return false;

It seems bad that in this case the function returns false, but has already had a side effect and changed the state of the ISODateTime object. Ideally functions would either succeed or leave the object untouched. In this patch there seems no problem with the behavior, but it is surprising to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183012</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-20 18:22:13 -0800</bug_when>
    <thetext>Thank you for reviewing.

(In reply to comment #2)
&gt; (From update of attachment 47046 [details])
&gt; &gt; +    if (beforeGregorianStartDate(m_year, m_month, m_monthDay))
&gt; &gt; +        return false;
&gt; 
&gt; It seems bad that in this case the function returns false, but has already had
&gt; a side effect and changed the state of the ISODateTime object. Ideally
&gt; functions would either succeed or leave the object untouched. In this patch
&gt; there seems no problem with the behavior, but it is surprising to me.

Yeah, I understand it is not good in general.
ISODateTime has some such fail-but-update code in parse*() methods too. I thought this behavior was acceptable because I had no idea of scenario to use 1 ISODateTime instance for multiple purpose, and we need complicated code to avoid such update in some cases.

I&apos;ll commit this change as is, and will add comments to ISODateTime.h in the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183059</commentid>
    <comment_count>4</comment_count>
      <attachid>47046</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-20 20:39:12 -0800</bug_when>
    <thetext>Comment on attachment 47046
Patch

Clearing flags on attachment: 47046

Committed r53598: &lt;http://trac.webkit.org/changeset/53598&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183060</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-20 20:39:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183224</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-21 09:46:09 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; we need complicated code to avoid such update in some cases.

One simple way to do it is to make a temporary copy of the entire object, and discard it unless you&apos;re about to return true.

Another is to have all the logic work on local variables and not modify the actual ISODateTime object itself at all, and then copy those values into the object when you&apos;re about to return true.

Both of these should be simple refactoring, probably not as complicated as you are fearing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183226</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-21 09:47:48 -0800</bug_when>
    <thetext>But another option is to simply say that when false is returned, the date time object is in an &quot;undefined&quot; state in the documentation for the class. We could even have a debugging flag to enforce that rule.

Another way is to eliminate the return value and instead have the ISODateTime get into a &quot;bad&quot;, &quot;undefined&quot;, &quot;failed&quot;, or &quot;empty&quot; state to indicate the error. A persistent state rather than a return value from the setter function. Could clean up the interface a bit, but does create more risk someone might forget to check the success or failure.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47046</attachid>
            <date>2010-01-20 10:26:20 -0800</date>
            <delta_ts>2010-01-20 20:39:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-33911-20100121032618.patch</filename>
            <type>text/plain</type>
            <size>7499</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4OTQyNjRhLi45MjRiYWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDEt
MjEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlQXNE
YXRlIHNldHRlciBzdXBwb3J0IGZvciB0eXBlPWRhdGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzkxMQorCisgICAgICAgIEFkZCBzZXR0ZXIgdGVz
dHMgdG8gaW5wdXQtdmFsdWVhc2RhdGUtZGF0ZS5qcywgYW5kIHVwZGF0ZSB0aGUKKyAgICAgICAg
ZXhwZWN0YXRpb24uCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LXZhbHVlYXNkYXRlLWRh
dGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0
LXZhbHVlYXNkYXRlLWRhdGUuanM6CisKIDIwMTAtMDEtMjAgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC12YWx1ZWFzZGF0ZS1kYXRlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtdmFsdWVhc2RhdGUtZGF0ZS1l
eHBlY3RlZC50eHQKaW5kZXggMTA4ZGU4Yi4uODk3YTBjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9pbnB1dC12YWx1ZWFzZGF0ZS1kYXRlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXZhbHVlYXNkYXRlLWRhdGUtZXhwZWN0ZWQudHh0
CkBAIC03LDYgKzcsMTkgQEAgUEFTUyB2YWx1ZUFzRGF0ZUZvcigiIikgaXMgbnVsbAogUEFTUyB2
YWx1ZUFzRGF0ZUZvcigiMTk2OS0xMi0zMSIpLmdldFRpbWUoKSBpcyBEYXRlLlVUQygxOTY5LCAx
MSwgMzEpCiBQQVNTIHZhbHVlQXNEYXRlRm9yKCIxOTcwLTAxLTAxIikuZ2V0VGltZSgpIGlzIERh
dGUuVVRDKDE5NzAsIDAsIDEpCiBQQVNTIHZhbHVlQXNEYXRlRm9yKCIyMDA5LTEyLTIyIikuZ2V0
VGltZSgpIGlzIERhdGUuVVRDKDIwMDksIDExLCAyMikKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRH
ZXRWYWx1ZSgxOTY5LCAxMSwgMSkgaXMgIjE5NjktMTItMDEiCitQQVNTIHNldFZhbHVlQXNEYXRl
QW5kR2V0VmFsdWUoMTk3MCwgMCwgMSkgaXMgIjE5NzAtMDEtMDEiCitQQVNTIHNldFZhbHVlQXNE
YXRlQW5kR2V0VmFsdWUoMjAwOSwgMTEsIDMxKSBpcyAiMjAwOS0xMi0zMSIKK1BBU1Mgc2V0VmFs
dWVBc0RhdGVBbmRHZXRWYWx1ZSgxMDAwMCwgMCwgMSkgaXMgIjEwMDAwLTAxLTAxIgorUEFTUyBz
ZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDc5NCwgOSwgMjIpIGlzICIiCitQQVNTIHNldFZhbHVl
QXNEYXRlQW5kR2V0VmFsdWUoMTU4MiwgOCwgMzApIGlzICIiCitGQUlMIHNldFZhbHVlQXNEYXRl
QW5kR2V0VmFsdWUoMTU4MiwgOSwgMSkgc2hvdWxkIGJlIDE1ODItMTAtMDEuIFdhcyAuCitQQVNT
IHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMTU4MiwgOSwgMzEpIGlzICIxNTgyLTEwLTMxIgor
UEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDI3NTc2MCwgOCwgMTMpIGlzICIyNzU3NjAt
MDktMTMiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMjc1NzYwLCA4LCAxNCkgaXMg
IiIKK0ludmFsaWQgb2JqZWN0czoKK1BBU1MgaW5wdXQudmFsdWUgPSAiMjAxMC0wMS0wMSI7IGlu
cHV0LnZhbHVlQXNEYXRlID0gZG9jdW1lbnQ7IGlucHV0LnZhbHVlIGlzICIiCitQQVNTIGlucHV0
LnZhbHVlID0gIjIwMTAtMDEtMDEiOyBpbnB1dC52YWx1ZUFzRGF0ZSA9IG51bGw7IGlucHV0LnZh
bHVlIGlzICIiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExF
VEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0
LXZhbHVlYXNkYXRlLWRhdGUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9pbnB1dC12YWx1ZWFzZGF0ZS1kYXRlLmpzCmluZGV4IGYwN2Y3NzMuLjBhZmYyMzkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXZhbHVlYXNk
YXRlLWRhdGUuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5w
dXQtdmFsdWVhc2RhdGUtZGF0ZS5qcwpAQCAtOCw5ICs4LDMyIEBAIGZ1bmN0aW9uIHZhbHVlQXNE
YXRlRm9yKHN0cmluZ1ZhbHVlKSB7CiAgICAgcmV0dXJuIGlucHV0LnZhbHVlQXNEYXRlOwogfQog
CitmdW5jdGlvbiBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKHllYXIsIG1vbnRoLCBkYXkpIHsK
KyAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7CisgICAgZGF0ZS5zZXRUaW1lKERhdGUuVVRDKHll
YXIsIG1vbnRoLCBkYXkpKTsKKyAgICBpbnB1dC52YWx1ZUFzRGF0ZSA9IGRhdGU7CisgICAgcmV0
dXJuIGlucHV0LnZhbHVlOworfQorCiBzaG91bGRCZSgndmFsdWVBc0RhdGVGb3IoIiIpJywgJ251
bGwnKTsKIHNob3VsZEJlKCd2YWx1ZUFzRGF0ZUZvcigiMTk2OS0xMi0zMSIpLmdldFRpbWUoKScs
ICdEYXRlLlVUQygxOTY5LCAxMSwgMzEpJyk7CiBzaG91bGRCZSgndmFsdWVBc0RhdGVGb3IoIjE5
NzAtMDEtMDEiKS5nZXRUaW1lKCknLCAnRGF0ZS5VVEMoMTk3MCwgMCwgMSknKTsKIHNob3VsZEJl
KCd2YWx1ZUFzRGF0ZUZvcigiMjAwOS0xMi0yMiIpLmdldFRpbWUoKScsICdEYXRlLlVUQygyMDA5
LCAxMSwgMjIpJyk7CiAKK3Nob3VsZEJlKCdzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDE5Njks
IDExLCAxKScsICciMTk2OS0xMi0wMSInKTsKK3Nob3VsZEJlKCdzZXRWYWx1ZUFzRGF0ZUFuZEdl
dFZhbHVlKDE5NzAsIDAsIDEpJywgJyIxOTcwLTAxLTAxIicpOworc2hvdWxkQmUoJ3NldFZhbHVl
QXNEYXRlQW5kR2V0VmFsdWUoMjAwOSwgMTEsIDMxKScsICciMjAwOS0xMi0zMSInKTsKK3Nob3Vs
ZEJlKCdzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDEwMDAwLCAwLCAxKScsICciMTAwMDAtMDEt
MDEiJyk7CisKK3Nob3VsZEJlKCdzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDc5NCwgOSwgMjIp
JywgJyIiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgxNTgyLCA4LCAz
MCknLCAnIiInKTsKK3Nob3VsZEJlKCdzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDE1ODIsIDks
IDEpJywgJyIxNTgyLTEwLTAxIicpOworc2hvdWxkQmUoJ3NldFZhbHVlQXNEYXRlQW5kR2V0VmFs
dWUoMTU4MiwgOSwgMzEpJywgJyIxNTgyLTEwLTMxIicpOworc2hvdWxkQmUoJ3NldFZhbHVlQXNE
YXRlQW5kR2V0VmFsdWUoMjc1NzYwLCA4LCAxMyknLCAnIjI3NTc2MC0wOS0xMyInKTsKK3Nob3Vs
ZEJlKCdzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDI3NTc2MCwgOCwgMTQpJywgJyIiJyk7IC8v
IERhdGUgb2YgSmF2YVNjcmlwdCBjYW4ndCByZXByZXNlbnQgdGhpcy4KKworZGVidWcoJ0ludmFs
aWQgb2JqZWN0czonKTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZSA9ICIyMDEwLTAxLTAxIjsgaW5w
dXQudmFsdWVBc0RhdGUgPSBkb2N1bWVudDsgaW5wdXQudmFsdWUnLCAnIiInKTsKK3Nob3VsZEJl
KCdpbnB1dC52YWx1ZSA9ICIyMDEwLTAxLTAxIjsgaW5wdXQudmFsdWVBc0RhdGUgPSBudWxsOyBp
bnB1dC52YWx1ZScsICciIicpOworCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDA1
Njk5ZS4uNDc1ZTYyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wMS0yMSAgS2VudCBUYW11cmEgIDx0
a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSFRNTElucHV0RWxlbWVudDo6dmFsdWVBc0RhdGUgc2V0dGVyIHN1cHBvcnQg
Zm9yIHR5cGU9ZGF0ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTMzOTExCisKKyAgICAgICAgSW50cm9kdWNlIElTT0RhdGVUaW1lOjpzZXRNaWxsaXNl
Y29uZHNTaW5jZUVwb2NoRm9yRGF0ZSgpIGFuZCBhZGQgRGF0ZQorICAgICAgICB0eXBlIHN1cHBv
cnQgdG8gSVNPRGF0ZVRpbWU6OnRvU3RyaW5nKCkuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0VmFs
dWVBc0RhdGUpOgorICAgICAgICAqIGh0bWwvSVNPRGF0ZVRpbWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SVNPRGF0ZVRpbWU6OnNldE1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JEYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OklTT0RhdGVUaW1lOjp0b1N0cmluZyk6CisgICAgICAgICogaHRtbC9J
U09EYXRlVGltZS5oOgorCiAyMDEwLTAxLTIwICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmNwcAppbmRleCBiMThhYTM1Li5iNWJlYTc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCkBAIC0xMzk4LDYgKzEzOTgsOSBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZh
bHVlQXNEYXRlKGRvdWJsZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgSVNPRGF0ZVRp
bWUgZGF0ZVRpbWU7CiAgICAgYm9vbCBzdWNjZXNzOwogICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkp
IHsKKyAgICBjYXNlIERBVEU6CisgICAgICAgIHN1Y2Nlc3MgPSBkYXRlVGltZS5zZXRNaWxsaXNl
Y29uZHNTaW5jZUVwb2NoRm9yRGF0ZSh2YWx1ZSk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
TU9OVEg6CiAgICAgICAgIHN1Y2Nlc3MgPSBkYXRlVGltZS5zZXRNaWxsaXNlY29uZHNTaW5jZUVw
b2NoRm9yTW9udGgodmFsdWUpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9JU09EYXRlVGltZS5jcHAgYi9XZWJDb3JlL2h0bWwvSVNPRGF0ZVRpbWUuY3BwCmluZGV4
IDZmYmM2NGEuLmM0Mjc1MGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JU09EYXRlVGltZS5j
cHAKKysrIGIvV2ViQ29yZS9odG1sL0lTT0RhdGVUaW1lLmNwcApAQCAtNDc2LDYgKzQ3NiwxOCBA
QCBib29sIElTT0RhdGVUaW1lOjpzZXRNaWxsaXNlY29uZHNTaW5jZUVwb2NoRm9yRGF0ZUludGVy
bmFsKGRvdWJsZSBtcykKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBJU09EYXRlVGltZTo6
c2V0TWlsbGlzZWNvbmRzU2luY2VFcG9jaEZvckRhdGUoZG91YmxlIG1zKQoreworICAgIGlmICgh
aXNmaW5pdGUobXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFzZXRNaWxsaXNl
Y29uZHNTaW5jZUVwb2NoRm9yRGF0ZUludGVybmFsKG1zKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGlmIChiZWZvcmVHcmVnb3JpYW5TdGFydERhdGUobV95ZWFyLCBtX21vbnRoLCBtX21v
bnRoRGF5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIG1fdHlwZSA9IERhdGU7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKIGJvb2wgSVNPRGF0ZVRpbWU6OnNldE1pbGxpc2Vjb25kc1NpbmNl
RXBvY2hGb3JNb250aChkb3VibGUgbXMpCiB7CiAgICAgaWYgKCFpc2Zpbml0ZShtcykpCkBAIC01
NTYsNiArNTY4LDggQEAgU3RyaW5nIElTT0RhdGVUaW1lOjp0b1N0cmluZ0ZvclRpbWUoU2Vjb25k
Rm9ybWF0IGZvcm1hdCkgY29uc3QKIFN0cmluZyBJU09EYXRlVGltZTo6dG9TdHJpbmcoU2Vjb25k
Rm9ybWF0IGZvcm1hdCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2Ug
RGF0ZToKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlMDRkLSUwMmQtJTAyZCIsIG1f
eWVhciwgbV9tb250aCArIDEsIG1fbW9udGhEYXkpOwogICAgIGNhc2UgTW9udGg6CiAgICAgICAg
IHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJTA0ZC0lMDJkIiwgbV95ZWFyLCBtX21vbnRoICsgMSk7
CiAgICAgY2FzZSBUaW1lOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lTT0RhdGVUaW1lLmgg
Yi9XZWJDb3JlL2h0bWwvSVNPRGF0ZVRpbWUuaAppbmRleCBmMGRjMjVmLi4zOTA4OGI0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvSVNPRGF0ZVRpbWUuaAorKysgYi9XZWJDb3JlL2h0bWwvSVNP
RGF0ZVRpbWUuaApAQCAtMTAwLDEyICsxMDAsMTQgQEAgcHVibGljOgogICAgIC8vIFNldHMgeWVh
ciwgbW9udGgsIG1vbnRoRGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCBhbmQgbWlsbGlzZWNvbmQs
IGFuZCBhZGp1c3RzIHRpbWV6b25lLgogICAgIGJvb2wgcGFyc2VEYXRlVGltZShjb25zdCBVQ2hh
ciogc3JjLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCYgZW5kKTsK
IAotICAgIC8vIFRoZSBmb2xsb3dpbmcgc2V0TWlsbGlzZWNvbmRzU2luY2VFcG9jaEZvciooKSBm
dW5jdGlvbiB0YWtlcworICAgIC8vIFRoZSBmb2xsb3dpbmcgc2V0TWlsbGlzZWNvbmRzU2luY2VF
cG9jaEZvciooKSBmdW5jdGlvbnMgdGFrZQogICAgIC8vIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNv
bmRzIHNpbmNlIDE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwIFVUQyBhcwogICAgIC8vIHRoZSBhcmd1
bWVudCwgYW5kIHVwZGF0ZSBhbGwgZmllbGRzIGZvciB0aGUgY29ycmVzcG9uZGluZwotICAgIC8v
IElTT0RhdGVUaW1lIHR5cGUuIFRoZSBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgaXQgc3VjY2Vl
ZHMsIGFuZAotICAgIC8vIGZhbHNlIGlmIGl0IGZhaWxzLgorICAgIC8vIElTT0RhdGVUaW1lIHR5
cGUuIFRoZSBmdW5jdGlvbnMgcmV0dXJuIHRydWUgaWYgaXQgc3VjY2VlZHMsIGFuZAorICAgIC8v
IGZhbHNlIGlmIHRoZXkgZmFpbC4KIAorICAgIC8vIEZvciBEYXRlIHR5cGUuIFVwZGF0ZXMgbV95
ZWFyLCBtX21vbnRoIGFuZCBtX21vbnRoRGF5LgorICAgIGJvb2wgc2V0TWlsbGlzZWNvbmRzU2lu
Y2VFcG9jaEZvckRhdGUoZG91YmxlIG1zKTsKICAgICAvLyBGb3IgTW9udGggdHlwZS4gVXBkYXRl
cyBtX3llYXIgYW5kIG1fbW9udGguCiAgICAgYm9vbCBzZXRNaWxsaXNlY29uZHNTaW5jZUVwb2No
Rm9yTW9udGgoZG91YmxlIG1zKTsKICAgICAvLyBGSVhNRTogQWRkIHNldE1pbGxpc2Vjb25kc1Np
bmNlRXBvY2hGb3IqKCkgZm9yIG90aGVyIHR5cGVzLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>