<?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>97318</bug_id>
          
          <creation_ts>2012-09-21 03:00:56 -0700</creation_ts>
          <short_desc>DateTimeNumericFieldElement should use Localizer functions.</short_desc>
          <delta_ts>2012-09-27 19:35:51 -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>Forms</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>
          
          <blocked>96351</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>keishi</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yosin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>725340</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-21 03:00:56 -0700</bug_when>
    <thetext>DateTimeNumericFieldElement should use Localizer functions.

In the result of fast/forms/time-multiple-fields/time-multiple-fields-localization.html, &quot;ar&quot; locale doesn&apos;t use native digits at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725511</commentid>
    <comment_count>1</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-21 07:55:59 -0700</bug_when>
    <thetext>Passing a Localizer for the host &lt;input&gt; to DateTimeNumericFieldElement is troublesome.
We had better introduce Element::computeInheritedLanguageOverShadowBoundary() or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729313</commentid>
    <comment_count>2</comment_count>
      <attachid>165950</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-27 01:39:05 -0700</bug_when>
    <thetext>Created attachment 165950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729316</commentid>
    <comment_count>3</comment_count>
      <attachid>165950</attachid>
    <who name="">yosin</who>
    <bug_when>2012-09-27 01:45:18 -0700</bug_when>
    <thetext>Comment on attachment 165950
Patch

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

&gt; Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp:116
&gt; +    Element* host = shadowHost();

I think it is better to have a new function in FieldOwner interface, e.g. FieldOwner::localizer().
Implementation of DateTimeEditElement localizer() calls DateTimeEditElement::EditControlOwner::localizer().

We know DateTimeFieldElement always in shadow tree, but it is better to reduce number of assumptions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729320</commentid>
    <comment_count>4</comment_count>
      <attachid>165950</attachid>
    <who name="">yosin</who>
    <bug_when>2012-09-27 01:49:10 -0700</bug_when>
    <thetext>Comment on attachment 165950
Patch

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

&gt;&gt; Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp:116
&gt;&gt; +    Element* host = shadowHost();
&gt; 
&gt; I think it is better to have a new function in FieldOwner interface, e.g. FieldOwner::localizer().
&gt; Implementation of DateTimeEditElement localizer() calls DateTimeEditElement::EditControlOwner::localizer().
&gt; 
&gt; We know DateTimeFieldElement always in shadow tree, but it is better to reduce number of assumptions.

Is it better to have DateTimeEditOwner::localizeNumber() API?
We don&apos;t need to have full Localizer in DateTimeNumericFieldElement.
Also, we may need to rename &quot;Localizer&quot; sometimes in future. So, reducing number of reference to Localizer will help us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729397</commentid>
    <comment_count>5</comment_count>
      <attachid>165971</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-27 03:58:32 -0700</bug_when>
    <thetext>Created attachment 165971
Patch 2

Add callbacks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729400</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-27 04:06:24 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I think it is better to have a new function in FieldOwner interface, e.g. FieldOwner::localizer().
&gt; Implementation of DateTimeEditElement localizer() calls DateTimeEditElement::EditControlOwner::localizer().

I wanted to avoid it (See Comment #1) because we need to check nullness of m_fieldOwner and m_editControlOwner and to return fallback Localizer.
Using locale identifier strings instead of Localizer objects is simpler (Patch 2).


&gt; Is it better to have DateTimeEditOwner::localizeNumber() API?

I don&apos;t think so. We&apos;ll need other Localizer functions in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730088</commentid>
    <comment_count>7</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-09-27 18:19:21 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #3)
&gt; &gt; I think it is better to have a new function in FieldOwner interface, e.g. FieldOwner::localizer().
&gt; &gt; Implementation of DateTimeEditElement localizer() calls DateTimeEditElement::EditControlOwner::localizer().
&gt; 
&gt; I wanted to avoid it (See Comment #1) because we need to check nullness of m_fieldOwner and m_editControlOwner and to return fallback Localizer.
&gt; Using locale identifier strings instead of Localizer objects is simpler (Patch 2).
&gt; 
&gt; 
&gt; &gt; Is it better to have DateTimeEditOwner::localizeNumber() API?
&gt; 
&gt; I don&apos;t think so. We&apos;ll need other Localizer functions in the future.

ACK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730095</commentid>
    <comment_count>8</comment_count>
      <attachid>165971</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-09-27 18:24:27 -0700</bug_when>
    <thetext>Comment on attachment 165971
Patch 2

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

&gt; Source/WebCore/html/shadow/DateTimeNumericFieldElement.h:75
&gt; +    Localizer&amp; localizer() const;

Can the return value be const?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730099</commentid>
    <comment_count>9</comment_count>
      <attachid>165971</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-27 18:32:32 -0700</bug_when>
    <thetext>Comment on attachment 165971
Patch 2

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

&gt;&gt; Source/WebCore/html/shadow/DateTimeNumericFieldElement.h:75
&gt;&gt; +    Localizer&amp; localizer() const;
&gt; 
&gt; Can the return value be const?

It can&apos;t. Localizer member functions are not const because of lazy initialization, and we need to call them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730113</commentid>
    <comment_count>10</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-09-27 19:09:10 -0700</bug_when>
    <thetext>I think it is better that EditControlOwner returns Localizer instead of locale identifier to improve modulelaity and to hide how to get Localizer in DateTimeFieldElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730151</commentid>
    <comment_count>11</comment_count>
      <attachid>165971</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 19:35:48 -0700</bug_when>
    <thetext>Comment on attachment 165971
Patch 2

Clearing flags on attachment: 165971

Committed r129832: &lt;http://trac.webkit.org/changeset/129832&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730152</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 19:35:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165950</attachid>
            <date>2012-09-27 01:39:05 -0700</date>
            <delta_ts>2012-09-27 03:58:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97318-20120927173823.patch</filename>
            <type>text/plain</type>
            <size>6879</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjI0MDgxNzIyYzA0NTM0
NjZhMDdkZDIzZGVmYzU3ZDI3OTJiNTZlOC4uNzdlMGQ1Y2E1M2U5OTEwZWE2NDAyNjU4MTYzZjM2
YmJlNGZjNmE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA5LTI3ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBEYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQgc2hvdWxkIHVzZSBMb2NhbGl6ZXIgZnVuY3Rpb25zLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczMTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgTG9jYWxpemVyIGZ1bmN0aW9u
cyBpbnN0ZWFkIG9mIGZ1bmN0aW9ucyBpbiBMb2NhbGl6ZWROdW1iZXIgdG8gdGVzdAorICAgICAg
ICBpMThuIGJlaGF2aW9yLiAgVGhpcyBhZmZlY3RzIG9ubHkgbGF5b3V0IHRlc3RzIGJlY2F1c2UK
KyAgICAgICAgRG9jdW1lbnQ6OmdldExvY2FsaXplcigpIGFsd2F5cyByZXR1cm5zIGEgTG9jYWxp
emVyIGZvciB0aGUgYnJvd3NlcgorICAgICAgICBsb2NhbGUuCisKKyAgICAgICAgVGVzdHM6IGZh
c3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9jYWxp
emF0aW9uLmh0bWwKKworICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxk
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQ6OmxvY2FsaXplckZvckhvc3QpOgorICAgICAgICBBZGRlZC4gUmV0dXJucyBhIExvY2FsaXpl
ciBmb3IgdGhlIHNoYWRvdyBob3N0LgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50OjpoYW5kbGVLZXlib2FyZEV2ZW50KToKKyAgICAgICAgVXNlIGxvY2FsaXpl
ckZvckhvc3QoKS4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVu
dDo6dmFsdWUpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQuaDoKKyAgICAgICAgKERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCk6IERl
Y2xhcmUgbG9jYWxpemVyRm9ySG9zdC4KKwogMjAxMi0wOS0yNyAgWXVyeSBTZW1pa2hhdHNreSAg
PHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBleHBvc2UgZGVi
dWcgbWVtb3J5IGluc3RydW1lbnRhdGlvbiBkZWJ1ZyBkYXRhIHRocm91Z2ggdGhlIHByb3RvY29s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1l
cmljRmllbGRFbGVtZW50LmNwcAppbmRleCBmYzFlMGRiYzg3MzE2YzEzOTgyYzQwZGIyZGJhNDk2
N2U0NWJmY2Y1Li45NWMzNjM2NzM0NGNkYzY4MmYzZDkxYmE4YzM2Mjk1NDdjYWI1OWE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJp
Y0ZpZWxkRWxlbWVudC5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJEYXRlVGltZU51
bWVyaWNGaWVsZEVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKLSNpbmNs
dWRlICJMb2NhbGl6ZWROdW1iZXIuaCIKKyNpbmNsdWRlICJMb2NhbGl6ZXIuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTkz
LDcgKzkzLDcgQEAgdm9pZCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmhhbmRsZUtleWJv
YXJkRXZlbnQoS2V5Ym9hcmRFdmVudCoga2V5Ym9hcmRFdmUKICAgICBET01UaW1lU3RhbXAgZGVs
dGEgPSBrZXlib2FyZEV2ZW50LT50aW1lU3RhbXAoKSAtIG1fbGFzdERpZ2l0Q2hhclRpbWU7CiAg
ICAgbV9sYXN0RGlnaXRDaGFyVGltZSA9IDA7CiAKLSAgICBTdHJpbmcgbnVtYmVyID0gY29udmVy
dEZyb21Mb2NhbGl6ZWROdW1iZXIoU3RyaW5nKCZjaGFyQ29kZSwgMSkpOworICAgIFN0cmluZyBu
dW1iZXIgPSBsb2NhbGl6ZXJGb3JIb3N0KCkuY29udmVydEZyb21Mb2NhbGl6ZWROdW1iZXIoU3Ry
aW5nKCZjaGFyQ29kZSwgMSkpOwogICAgIGNvbnN0IGludCBkaWdpdCA9IG51bWJlclswXSAtICcw
JzsKICAgICBpZiAoZGlnaXQgPCAwIHx8IGRpZ2l0ID4gOSkKICAgICAgICAgcmV0dXJuOwpAQCAt
MTExLDYgKzExMSwxMiBAQCBib29sIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6aGFzVmFs
dWUoKSBjb25zdAogICAgIHJldHVybiBtX2hhc1ZhbHVlOwogfQogCitMb2NhbGl6ZXImIERhdGVU
aW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6bG9jYWxpemVyRm9ySG9zdCgpIGNvbnN0Cit7CisgICAg
RWxlbWVudCogaG9zdCA9IHNoYWRvd0hvc3QoKTsKKyAgICByZXR1cm4gZG9jdW1lbnQoKS0+Z2V0
TG9jYWxpemVyKGhvc3QgPyBob3N0LT5jb21wdXRlSW5oZXJpdGVkTGFuZ3VhZ2UoKSA6IG51bGxB
dG9tKTsgCit9CisKIGludCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6Om1heGltdW0oKSBj
b25zdAogewogICAgIHJldHVybiBtX3JhbmdlLm1heGltdW07CkBAIC0xNjQsMTMgKzE3MCwxNCBA
QCBTdHJpbmcgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0CiAgICAg
aWYgKCFtX2hhc1ZhbHVlKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAorICAgIExv
Y2FsaXplciYgbG9jYWxpemVyID0gbG9jYWxpemVyRm9ySG9zdCgpOwogICAgIGlmIChtX3Jhbmdl
Lm1heGltdW0gPiA5OTkpCi0gICAgICAgIHJldHVybiBjb252ZXJ0VG9Mb2NhbGl6ZWROdW1iZXIo
U3RyaW5nOjpudW1iZXIobV92YWx1ZSkpOworICAgICAgICByZXR1cm4gbG9jYWxpemVyLmNvbnZl
cnRUb0xvY2FsaXplZE51bWJlcihTdHJpbmc6Om51bWJlcihtX3ZhbHVlKSk7CiAKICAgICBpZiAo
bV9yYW5nZS5tYXhpbXVtID4gOTkpCi0gICAgICAgIHJldHVybiBjb252ZXJ0VG9Mb2NhbGl6ZWRO
dW1iZXIoU3RyaW5nOjpmb3JtYXQoIiUwM2QiLCBtX3ZhbHVlKSk7CisgICAgICAgIHJldHVybiBs
b2NhbGl6ZXIuY29udmVydFRvTG9jYWxpemVkTnVtYmVyKFN0cmluZzo6Zm9ybWF0KCIlMDNkIiwg
bV92YWx1ZSkpOwogCi0gICAgcmV0dXJuIGNvbnZlcnRUb0xvY2FsaXplZE51bWJlcihTdHJpbmc6
OmZvcm1hdCgiJTAyZCIsIG1fdmFsdWUpKTsKKyAgICByZXR1cm4gbG9jYWxpemVyLmNvbnZlcnRU
b0xvY2FsaXplZE51bWJlcihTdHJpbmc6OmZvcm1hdCgiJTAyZCIsIG1fdmFsdWUpKTsKIH0KIAog
aW50IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6dmFsdWVBc0ludGVnZXIoKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQuaAppbmRleCAwMjJlMDNjMWU0MWRlZmVhMjViYWZjZTcwNThlN2ZkZTQxMGU0
NDEyLi43ZGRiNDdlYjZhOTU4MjYxYWMyMmY5NWJmOWZmNzQwNTBkNWIxMTExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQuaApAQCAtNzIsNiArNzIsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzdGVw
VXAoKSBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZSgpIGNvbnN0IE9W
RVJSSURFIEZJTkFMOwogCisgICAgTG9jYWxpemVyJiBsb2NhbGl6ZXJGb3JIb3N0KCkgY29uc3Q7
CisKICAgICBET01UaW1lU3RhbXAgbV9sYXN0RGlnaXRDaGFyVGltZTsKICAgICBjb25zdCBSYW5n
ZSBtX3JhbmdlOwogICAgIGludCBtX3ZhbHVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY2NTUyMjVkYWU4YmUyZTc3NWY5
Nzk5MzkyOWFjMTg4ZWE0YTNhNjAuLjhlNGM5MWFjMWM4YjdlM2YyZjVlNjBiYTA3MmE4MWE3NTc3
OWNkOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wOS0yNyAgS2VudCBUYW11cmEgIDx0
a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50
IHNob3VsZCB1c2UgTG9jYWxpemVyIGZ1bmN0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICBOZWVkIHJlYmFzZWxpbmUgZm9yIG5vbi1NYWMgcmVzdWx0cy4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLWxvY2FsaXphdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgIFVw
ZGF0ZSAiYXIiIGxvY2FsZSByZXN1bHQuCisKIDIwMTItMDktMjYgIEtlaXNoaSBIYXR0b3JpICA8
a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHRlc3RzIGZvciBkYXRhbGlzdCBVSSBm
b3IgaW5wdXQgdHlwZSBkYXRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucwppbmRleCAwZGU5NDBmZTJkMjBhNjZkOGVkNjllY2Q1ZmI5Y2FkY2Q0MGNh
ODM5Li44ZWM3MWFhOWVjNmQ2ODBjNTU4YmVjZmY2YTM3ZWYyNDFkYzZjNDc5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM1NDcsNiAr
MzU0Nyw3IEBAIHdlYmtpdC5vcmcvYi85NjgzMyBzdmcvY2FydG8ubmV0L3NlbGVjdGlvbmxpc3Qu
c3ZnIFsgSW1hZ2VPbmx5RmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi85NjgzMyBzdmcvY2Fy
dG8ubmV0L2NvbWJvYm94LnN2ZyBbIEltYWdlT25seUZhaWx1cmUgUGFzcyBdCiAKIHdlYmtpdC5v
cmcvYi85NjcyMCBbIE1hYyBXaW4gXSBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1s
IFsgUGFzcyBUaW1lb3V0IF0KK3dlYmtpdC5vcmcvYi85NzMxOCBbIExpbnV4IFdpbiBdIGZhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtbG9jYWxpemF0
aW9uLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogd2Via2l0Lm9yZy9iLzk2NTQ5IFsgTWFjIF0gcGxh
dGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9oaWRwaS9mb2N1cy1yaW5ncy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTY1NDkgWyBNYWMgXSBwbGF0Zm9ybS9j
aHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2hpZHBpL3ZpZGVvLWNvbnRyb2xzLWluLWhpZHBpLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi85NjYyOCBbIExpb24gXSBmYXN0
L2ZyYW1lcy9jYWxjdWxhdGUtb3JkZXIuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvY2FsaXphdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmll
bGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxvY2FsaXphdGlvbi1leHBlY3RlZC50eHQKaW5kZXgg
MDQ1YmQ4ZTViZDU2YmE3ZDhjNWJkYjY2ZjAxYmUyN2UzODUxODMyYy4uZDdlMzljOTkwZDRjNmUz
NWRkNTI0MWEzMzc1ZWM2ZTBkMmQzY2Y5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1sb2NhbGl6YXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtbG9jYWxpemF0aW9uLWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1LDcgQEAgT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIG5vICJGQUlMIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgogCiBUaGUgZm9sbG93aW5nIGxpbmVzIGRlcGVuZCBvbiB0aGUgbG9jYWxlIGRh
dGEgaW4gdGhlIHN5c3RlbS4KIGVuOiAwMToyMzo0NS4xMDAgUE0KLWFyOiAwMToyMzo0NdmrMTAw
INmFCithcjog2aDZoTrZotmjOtmk2aXZq9mh2aDZoCDZhQogZnI6IDEzOjIzOjQ1LDEwMAogamE6
IDEzOjIzOjQ1LjEwMAoga286IOyYpO2bhCAwMToyMzo0NS4xMDAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165971</attachid>
            <date>2012-09-27 03:58:32 -0700</date>
            <delta_ts>2012-09-27 19:35:48 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-97318-20120927195750.patch</filename>
            <type>text/plain</type>
            <size>13270</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE1ZWEzNGJkYzg0Mzg1
ZTRjMWRmMDIyZmIwZTBkNzkzOGRkNTYwMC4uNjY4Y2ZlNTNjNGUxNjBhMTVhNDVjM2IxNThhZGJh
YWQyMjA5MzM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA5LTI3ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBEYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQgc2hvdWxkIHVzZSBMb2NhbGl6ZXIgZnVuY3Rpb25zLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczMTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb3VyY2UvV2ViQ29yZToKKworICAg
ICAgICBVc2UgTG9jYWxpemVyIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGZ1bmN0aW9ucyBpbiBMb2Nh
bGl6ZWROdW1iZXIgdG8gdGVzdAorICAgICAgICBpMThuIGJlaGF2aW9yLiBUaGlzIGFmZmVjdHMg
b25seSBsYXlvdXQgdGVzdHMgYmVjYXVzZQorICAgICAgICBEb2N1bWVudDo6Z2V0TG9jYWxpemVy
KCkgYWx3YXlzIHJldHVybnMgYSBMb2NhbGl6ZXIgZm9yIHRoZSBicm93c2VyCisgICAgICAgIGxv
Y2FsZS4KKworICAgICAgICBUbyBvYnRhaW4gYSBMb2NhbGl6ZXIgb2JqZWN0IGZvciA8aW5wdXQ+
J3MgbG9jYWxlIGZyb20gYSBkZWVwIHNoYWRvdyBub2RlLAorICAgICAgICB3ZSBhZGQgbG9jYWxl
SWRlbnRpZmllcigpIGZ1bmN0aW9uIHRvIERhdGVUaW1lRmllbGRFbGVtZW50OjpGaWVsZE93bmVy
CisgICAgICAgIGFuZCBEYXRlVGltZUVkaXRFbGVtZW50OjpFZGl0Q29udHJvbE93bmVyIGludGVy
ZmFjZXMuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtbG9jYWxpemF0aW9uLmh0bWwKKworICAgICAgICAqIGh0bWwv
c2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50Lmg6CisgICAgICAgIChGaWVsZE93bmVyKTogQWRk
IGxvY2FsZUlkZW50aWZpZXIgY2FsbGJhY2suCisgICAgICAgIChEYXRlVGltZUZpZWxkRWxlbWVu
dCk6IEFkZCBsb2NhbGVJZGVudGlmaWVyKCkuCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRp
bWVGaWVsZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVGaWVsZEVsZW1l
bnQ6OmxvY2FsZUlkZW50aWZpZXIpOgorICAgICAgICBBZGRlZC4gUmV0dXJucyBGaWVsZE93bmVy
Ojpsb2NhbGVJZGVudGlmaWVyIGlmIG1fZmllbGRPd25lciBpcyBhdmFpbGFibGUuCisKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaDoKKyAgICAgICAg
KERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCk6IERlY2xhcmUgbG9jYWxpemVyKCkuCisgICAg
ICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6bG9jYWxpemVyKToKKyAg
ICAgICAgUmV0dXJucyBhIExvY2FsaXplciBmb3IgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmxvY2Fs
ZUlkZW50aWZpZXIoKQorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVt
ZW50OjpoYW5kbGVLZXlib2FyZEV2ZW50KTogVXNlIGxvY2FsaXplcigpLgorICAgICAgICAoV2Vi
Q29yZTo6RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojp2YWx1ZSk6IFVzZSBsb2NhbGl6ZXIo
KS4KKworICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuaDoKKyAgICAg
ICAgKEVkaXRDb250cm9sT3duZXIpOiBBZGQgbG9jYWxlSWRlbnRpZmllcigpIGNhbGxiYWNrLgor
ICAgICAgICAoRGF0ZVRpbWVFZGl0RWxlbWVudCk6CisgICAgICAgIERlY2xhcmUgbG9jYWxlSWRl
bnRpZmllcigpLCB3aGljaCBpbXBsZW1lbnRzIEZpZWxkT3duZXI6OmxvY2FsZUlkZW50aWZpZXIo
KS4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGVUaW1lRWRpdEVsZW1lbnQ6OmxvY2FsZUlkZW50aWZpZXIpOgorICAg
ICAgICBBZGRlZC4gUmV0dXJucyBFZGl0Q29udHJvbE93bmVyOjpsb2NhbGVJZGVudGlmaWVyIGlm
IG1fZWRpdENvbnRyb2xPd25lciBpcyBhdmFpbGFibGUuCisKKyAgICAgICAgKiBodG1sL0Jhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgIChCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSk6IERlY2xhcmUgbG9jYWxlSWRlbnRpZmllcigp
LAorICAgICAgICB3aGljaCBpbXBsZW1lbnRzIEVkaXRDb250cm9sT3duZXI6OmxvY2FsZUlkZW50
aWZpZXIoKS4KKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlOjpsb2NhbGVJZGVudGlmaWVyKToKKyAgICAgICAgQWRkZWQuIFJldHVybnMg
PGlucHV0PidzIGluaGVyaXRlZCBsb2NhbGUgaWRlbnRpZmllci4KKwogMjAxMi0wOS0yNSAgQWxl
eGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENvbGxlY3Rp
bmdSdWxlcyBhbmQgUXVlcnlpbmdSdWxlcyBtb2RlcyBvZiBTZWxlY3RvckNoZWNrZXIgbWlzcyBz
b21lIGNvbXBsZXggc2VsZWN0b3JzIHdpdGggcHNldWRvIGVsZW1lbnRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuY3BwCmluZGV4IDBlZjJjOGIzMzQ5Yzk5M2I2MzdjYzdkMTFmMzMzOWVkMmIzYzNj
M2IuLjAyMDlhYjQ5MTA2ZGM3YjI4YTM3ZWJlOTQ4YzdkOGJiN2E4OTkyMTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0xNjEsNiArMTYxLDExIEBAIGJvb2wgQmFzZU11bHRpcGxl
RmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzTW91c2VGb2N1c2FibGUoKSBjb25zdAogICAg
IHJldHVybiBmYWxzZTsKIH0KIAorQXRvbWljU3RyaW5nIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjpsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZWxlbWVudCgpLT5jb21wdXRlSW5oZXJpdGVkTGFuZ3VhZ2UoKTsKK30KKwogdm9pZCBCYXNlTXVs
dGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6bWluT3JNYXhBdHRyaWJ1dGVDaGFuZ2Vk
KCkKIHsKICAgICB1cGRhdGVJbm5lclRleHRWYWx1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5o
CmluZGV4IDkxOGQ5Mjk3NGNiODRlNGNiZDMzODYyYTQ1NjRlYjQ3MWM4YWE0NmEuLmY2YWIxNTk2
MjA0ZWY1ZGQ0MGRlNTQ0ZWM3MzJiOGQxMWQ1YTA1ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
LmgKQEAgLTUxLDYgKzUxLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZWRpdENvbnRy
b2xWYWx1ZUNoYW5nZWQoKSBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0
Q29udHJvbE93bmVyRGlzYWJsZWQoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFs
IGJvb2wgaXNFZGl0Q29udHJvbE93bmVyUmVhZE9ubHkoKSBjb25zdCBPVkVSUklERSBGSU5BTDsK
KyAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QgT1ZFUlJJ
REUgRklOQUw7CiAKICAgICAvLyBJbnB1dFR5cGUgZnVuY3Rpb25zCiAgICAgdmlydHVhbCB2b2lk
IGJsdXIoKSBPVkVSUklERSBGSU5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAKaW5kZXggNTdlNWRhMTQ0NTUzMzgyNzk2MTA4N2Ix
NjE1NTc3MzVlYTFmOWU2Ni4uM2MwNmIyY2Q3ZTlkOGE0NGVkYzAxN2NkMTBmNDRhOGIyZTI4MWFi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxl
bWVudC5jcHAKQEAgLTM2Nyw2ICszNjcsMTEgQEAgdm9pZCBEYXRlVGltZUVkaXRFbGVtZW50Ojps
YXlvdXQoY29uc3QgTGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVycywgY29uc3QKICAg
ICBhcHBlbmRDaGlsZChzcGluQnV0dG9uKTsKIH0KIAorQXRvbWljU3RyaW5nIERhdGVUaW1lRWRp
dEVsZW1lbnQ6OmxvY2FsZUlkZW50aWZpZXIoKSBjb25zdAoreworICAgIHJldHVybiBtX2VkaXRD
b250cm9sT3duZXIgPyBtX2VkaXRDb250cm9sT3duZXItPmxvY2FsZUlkZW50aWZpZXIoKSA6IG51
bGxBdG9tOworfQorCiB2b2lkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OnJlYWRPbmx5U3RhdGVDaGFu
Z2VkKCkKIHsKICAgICB1cGRhdGVVSVN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmgKaW5kZXggOTFmODJiNWE4N2ZjN2IyOThjN2Nh
ZjExYTg2YzdlMmE5YTk0NmZhYS4uNGYzMWZjZmQ1ODQyYTA5YTMxMzgzNTdiZmE3OGE0MDM5NWZj
ZDA2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVs
ZW1lbnQuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgU3RyaW5n
IGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNv
bnN0ID0gMDsKICAgICAgICAgdmlydHVhbCBib29sIGlzRWRpdENvbnRyb2xPd25lckRpc2FibGVk
KCkgY29uc3QgPSAwOwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0Q29udHJvbE93bmVyUmVh
ZE9ubHkoKSBjb25zdCA9IDA7CisgICAgICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIGxvY2FsZUlk
ZW50aWZpZXIoKSBjb25zdCA9IDA7CiAgICAgfTsKIAogICAgIHN0cnVjdCBMYXlvdXRQYXJhbWV0
ZXJzIHsKQEAgLTEyMyw2ICsxMjQsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmaWVs
ZFZhbHVlQ2hhbmdlZCgpIE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgYm9vbCBmb2N1c09u
TmV4dEZpZWxkKGNvbnN0IERhdGVUaW1lRmllbGRFbGVtZW50JikgT1ZFUlJJREUgRklOQUw7CiAg
ICAgdmlydHVhbCBib29sIGZvY3VzT25QcmV2aW91c0ZpZWxkKGNvbnN0IERhdGVUaW1lRmllbGRF
bGVtZW50JikgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgbG9jYWxl
SWRlbnRpZmllcigpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogCiAgICAgLy8gU3BpbkJ1dHRvbkVs
ZW1lbnQ6OlNwaW5CdXR0b25Pd25lciBmdW5jdGlvbnMuCiAgICAgdmlydHVhbCB2b2lkIGZvY3Vz
QW5kU2VsZWN0U3BpbkJ1dHRvbk93bmVyKCkgT1ZFUlJJREUgRklOQUw7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5jcHAKaW5kZXggMGU0
YjMyZDgyMDMxOTljMzYyYzk3ZGU2NTI1OWI0OTFiNTY3ZTllYi4uZTM0OTA1YWUxZjZjMDcxZTVl
MGZmZGJkMDRlY2E1NTE1NWEwM2NiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcApAQCAtMTU3LDYgKzE1NywxMSBAQCBib29s
IERhdGVUaW1lRmllbGRFbGVtZW50Ojppc1JUTCgpIGNvbnN0CiAgICAgcmV0dXJuIHJlbmRlcmVy
KCkgJiYgcmVuZGVyZXIoKS0+c3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gUlRMOwogfQogCitBdG9t
aWNTdHJpbmcgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmxvY2FsZUlkZW50aWZpZXIoKSBjb25zdAor
eworICAgIHJldHVybiBtX2ZpZWxkT3duZXIgPyBtX2ZpZWxkT3duZXItPmxvY2FsZUlkZW50aWZp
ZXIoKSA6IG51bGxBdG9tOworfQorCiB2b2lkIERhdGVUaW1lRmllbGRFbGVtZW50OjpzZXRSZWFk
T25seSgpCiB7CiAgICAgLy8gU2V0IEhUTUwgYXR0cmlidXRlIHJlYWRvbmx5IHRvIGNoYW5nZSBh
cHBlcmFuY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGlt
ZUZpZWxkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVs
ZEVsZW1lbnQuaAppbmRleCBkMzJiYTJkYTM0MWNiZjBlMDFhYWY2NWMzYTk4YTMxNTBjOWVkNzYz
Li42Njg3YmZmNzcwZTdjZDNkNjYzNjg2YTgyZjg3MjY1ODhmYjhhYjNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmgKQEAgLTU1LDYg
KzU1LDcgQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgZmllbGRWYWx1ZUNoYW5nZWQo
KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBmb2N1c09uTmV4dEZpZWxkKGNvbnN0IERhdGVU
aW1lRmllbGRFbGVtZW50JikgPSAwOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZm9jdXNPblByZXZp
b3VzRmllbGQoY29uc3QgRGF0ZVRpbWVGaWVsZEVsZW1lbnQmKSA9IDA7CisgICAgICAgIHZpcnR1
YWwgQXRvbWljU3RyaW5nIGxvY2FsZUlkZW50aWZpZXIoKSBjb25zdCA9IDA7CiAgICAgfTsKIAog
ICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7CkBA
IC04MCw2ICs4MSw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGZvY3VzT25OZXh0RmllbGQoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50KikgPSAw
OwogICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lk
LCBjb25zdCBTdHJpbmcmIGF4SGVscFRleHQpOworICAgIEF0b21pY1N0cmluZyBsb2NhbGVJZGVu
dGlmaWVyKCkgY29uc3Q7CiAgICAgdmlydHVhbCBpbnQgbWF4aW11bSgpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIGludCBtaW5pbXVtKCkgY29uc3QgPSAwOwogICAgIHZvaWQgdXBkYXRlVmlzaWJs
ZVZhbHVlKEV2ZW50QmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAKaW5kZXggZmMxZTBkYmM4
NzMxNmMxMzk4MmM0MGRiMmRiYTQ5NjdlNDViZmNmNS4uNmQ3MDcyNTVjM2VlM2Q2NjQ0MzAxYmIz
ZDVlZTViNzk4YTFjNTBjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwCkBAIC0yOCw3ICsyOCw3IEBA
CiAjaW5jbHVkZSAiRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmgiCiAKICNpbmNsdWRlICJL
ZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAiTG9jYWxpemVkTnVtYmVyLmgiCisjaW5jbHVkZSAi
TG9jYWxpemVyLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC05Myw3ICs5Myw3IEBAIHZvaWQgRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50OjpoYW5kbGVLZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqIGtleWJvYXJkRXZl
CiAgICAgRE9NVGltZVN0YW1wIGRlbHRhID0ga2V5Ym9hcmRFdmVudC0+dGltZVN0YW1wKCkgLSBt
X2xhc3REaWdpdENoYXJUaW1lOwogICAgIG1fbGFzdERpZ2l0Q2hhclRpbWUgPSAwOwogCi0gICAg
U3RyaW5nIG51bWJlciA9IGNvbnZlcnRGcm9tTG9jYWxpemVkTnVtYmVyKFN0cmluZygmY2hhckNv
ZGUsIDEpKTsKKyAgICBTdHJpbmcgbnVtYmVyID0gbG9jYWxpemVyKCkuY29udmVydEZyb21Mb2Nh
bGl6ZWROdW1iZXIoU3RyaW5nKCZjaGFyQ29kZSwgMSkpOwogICAgIGNvbnN0IGludCBkaWdpdCA9
IG51bWJlclswXSAtICcwJzsKICAgICBpZiAoZGlnaXQgPCAwIHx8IGRpZ2l0ID4gOSkKICAgICAg
ICAgcmV0dXJuOwpAQCAtMTExLDYgKzExMSwxMSBAQCBib29sIERhdGVUaW1lTnVtZXJpY0ZpZWxk
RWxlbWVudDo6aGFzVmFsdWUoKSBjb25zdAogICAgIHJldHVybiBtX2hhc1ZhbHVlOwogfQogCitM
b2NhbGl6ZXImIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6bG9jYWxpemVyKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gZG9jdW1lbnQoKS0+Z2V0TG9jYWxpemVyKGxvY2FsZUlkZW50aWZpZXIo
KSk7Cit9CisKIGludCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6Om1heGltdW0oKSBjb25z
dAogewogICAgIHJldHVybiBtX3JhbmdlLm1heGltdW07CkBAIC0xNjQsMTMgKzE2OSwxNCBAQCBT
dHJpbmcgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0CiAgICAgaWYg
KCFtX2hhc1ZhbHVlKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAorICAgIExvY2Fs
aXplciYgbG9jYWxpemVyID0gdGhpcy0+bG9jYWxpemVyKCk7CiAgICAgaWYgKG1fcmFuZ2UubWF4
aW11bSA+IDk5OSkKLSAgICAgICAgcmV0dXJuIGNvbnZlcnRUb0xvY2FsaXplZE51bWJlcihTdHJp
bmc6Om51bWJlcihtX3ZhbHVlKSk7CisgICAgICAgIHJldHVybiBsb2NhbGl6ZXIuY29udmVydFRv
TG9jYWxpemVkTnVtYmVyKFN0cmluZzo6bnVtYmVyKG1fdmFsdWUpKTsKIAogICAgIGlmIChtX3Jh
bmdlLm1heGltdW0gPiA5OSkKLSAgICAgICAgcmV0dXJuIGNvbnZlcnRUb0xvY2FsaXplZE51bWJl
cihTdHJpbmc6OmZvcm1hdCgiJTAzZCIsIG1fdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGxvY2Fs
aXplci5jb252ZXJ0VG9Mb2NhbGl6ZWROdW1iZXIoU3RyaW5nOjpmb3JtYXQoIiUwM2QiLCBtX3Zh
bHVlKSk7CiAKLSAgICByZXR1cm4gY29udmVydFRvTG9jYWxpemVkTnVtYmVyKFN0cmluZzo6Zm9y
bWF0KCIlMDJkIiwgbV92YWx1ZSkpOworICAgIHJldHVybiBsb2NhbGl6ZXIuY29udmVydFRvTG9j
YWxpemVkTnVtYmVyKFN0cmluZzo6Zm9ybWF0KCIlMDJkIiwgbV92YWx1ZSkpOwogfQogCiBpbnQg
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50Ojp2YWx1ZUFzSW50ZWdlcigpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxk
RWxlbWVudC5oCmluZGV4IDAyMmUwM2MxZTQxZGVmZWEyNWJhZmNlNzA1OGU3ZmRlNDEwZTQ0MTIu
LmNiMWQwMjJmNmNhMWM5NzYxYjIxZjg0NWRmNGY5YmY1OGViNDJiZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVu
dC5oCkBAIC03Miw2ICs3Miw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHN0ZXBVcCgp
IE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlKCkgY29uc3QgT1ZFUlJJ
REUgRklOQUw7CiAKKyAgICBMb2NhbGl6ZXImIGxvY2FsaXplcigpIGNvbnN0OworCiAgICAgRE9N
VGltZVN0YW1wIG1fbGFzdERpZ2l0Q2hhclRpbWU7CiAgICAgY29uc3QgUmFuZ2UgbV9yYW5nZTsK
ICAgICBpbnQgbV92YWx1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiNGE2NzljYWIyODFlMGM1MmVmZjdlNjExYWJkNWEw
MTMxNjYyMDVjLi45Y2Y1OTYyZjkyYmQ4ZjQ5NjJlMDJjMTQyOWY2ZjJmOTliZWZiYzYzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDktMjcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCBzaG91bGQgdXNl
IExvY2FsaXplciBmdW5jdGlvbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NzMxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgTmVlZCByZWJhc2VsaW5lIGZvciBub24tTWFjIHJlc3VsdHMuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1sb2NhbGl6YXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGUgImFyIiBs
b2NhbGUgcmVzdWx0LgorCiAyMDEyLTA5LTI3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4gVW5za2lwIGEg
dGVzdCBhZ2FpbiBhZnRlciByMTI5NzEyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjI1ZWQxMTNjYTE3YWRiYzQ0YTkxOTBjYTIyMzNh
Y2U0OWIxOTE4NS4uOWJjMDE5ODVkMzEzZjQxYjliMDcyMDRlNGIzNmY1OTRhYTk2MjcxMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0z
NTQ5LDYgKzM1NDksNyBAQCB3ZWJraXQub3JnL2IvOTY4MzMgc3ZnL2NhcnRvLm5ldC9zZWxlY3Rp
b25saXN0LnN2ZyBbIEltYWdlT25seUZhaWx1cmUgUGFzcyBdCiB3ZWJraXQub3JnL2IvOTY4MzMg
c3ZnL2NhcnRvLm5ldC9jb21ib2JveC5zdmcgWyBJbWFnZU9ubHlGYWlsdXJlIFBhc3MgXQogCiB3
ZWJraXQub3JnL2IvOTY3MjAgWyBNYWMgV2luIF0gZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1wcmVzZXJ2ZS12YWx1ZS1hZnRlci1oaXN0b3J5LWJh
Y2suaHRtbCBbIFBhc3MgVGltZW91dCBdCit3ZWJraXQub3JnL2IvOTczMTggWyBMaW51eCBXaW4g
XSBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWxv
Y2FsaXphdGlvbi5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi85NjU0OSBbIE1h
YyBdIHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvaGlkcGkvZm9jdXMtcmluZ3Mu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzk2NTQ5IFsgTWFjIF0gcGxh
dGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9oaWRwaS92aWRlby1jb250cm9scy1pbi1o
aWRwaS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTY2MjggWyBMaW9u
IF0gZmFzdC9mcmFtZXMvY2FsY3VsYXRlLW9yZGVyLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1sb2NhbGl6YXRpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1sb2NhbGl6YXRpb24tZXhwZWN0ZWQudHh0
CmluZGV4IDA0NWJkOGU1YmQ1NmJhN2Q4YzViZGI2NmYwMWJlMjdlMzg1MTgzMmMuLmQ3ZTM5Yzk5
MGQ0YzZlMzVkZDUyNDFhMzM3NWVjNmUwZDJkM2NmOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtbG9jYWxpemF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLWxvY2FsaXphdGlvbi1leHBlY3RlZC50eHQKQEAgLTUsNyArNSw3IEBA
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBubyAiRkFJTCIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KIAogVGhlIGZvbGxvd2luZyBsaW5lcyBkZXBlbmQgb24gdGhlIGxv
Y2FsZSBkYXRhIGluIHRoZSBzeXN0ZW0uCiBlbjogMDE6MjM6NDUuMTAwIFBNCi1hcjogMDE6MjM6
NDXZqzEwMCDZhQorYXI6INmg2aE62aLZozrZpNml2avZodmg2aAg2YUKIGZyOiAxMzoyMzo0NSwx
MDAKIGphOiAxMzoyMzo0NS4xMDAKIGtvOiDsmKTtm4QgMDE6MjM6NDUuMTAwCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>