<?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>38381</bug_id>
          
          <creation_ts>2010-04-30 02:01:45 -0700</creation_ts>
          <short_desc>[Windows] Implement &lt;input type=number&gt; UI</short_desc>
          <delta_ts>2010-09-30 22:09:28 -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>PC</rep_platform>
          <op_sys>Windows Vista</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>
          <dependson>41924</dependson>
    
    <dependson>42260</dependson>
          <blocked>27968</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cfleizach</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>219404</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-04-30 02:01:45 -0700</bug_when>
    <thetext>Visit https://bugs.webkit.org/show_bug.cgi?id=27968 for a screenshot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249624</commentid>
    <comment_count>1</comment_count>
      <attachid>61177</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-11 08:09:53 -0700</bug_when>
    <thetext>Created attachment 61177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282807</commentid>
    <comment_count>2</comment_count>
      <attachid>61177</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-22 00:30:12 -0700</bug_when>
    <thetext>Comment on attachment 61177
Patch

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

mostly minor comments

&gt; WebCore/rendering/RenderThemeWin.cpp:98
&gt; +// Spin button staes

states spelled incorrectly

&gt; WebCore/rendering/RenderThemeWin.cpp:500
&gt; +}

extra new line that&apos;s not needed

&gt; WebCore/rendering/RenderThemeWin.cpp:516
&gt; +            result.m_state = determineClassicState(o, false);

instead of using a bool here, a simple ENUM would be helpful so that when looking at lines like this, it&apos;s clear that you&apos;re passing in a down button

&gt; WebCore/rendering/RenderThemeWin.cpp:680
&gt; +        width = 17; // Vista&apos;s default.

can you retrieve this from some system setting if it&apos;s a default?

&gt; WebCore/rendering/RenderThemeWin.cpp:688
&gt; +        return false;

why less than 2 and not 1 or 3?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287404</commentid>
    <comment_count>3</comment_count>
      <attachid>69317</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-30 00:18:11 -0700</bug_when>
    <thetext>Created attachment 69317
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287406</commentid>
    <comment_count>4</comment_count>
      <attachid>61177</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-30 00:20:19 -0700</bug_when>
    <thetext>Comment on attachment 61177
Patch

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

&gt;&gt; WebCore/rendering/RenderThemeWin.cpp:98
&gt;&gt; +// Spin button staes
&gt; 
&gt; states spelled incorrectly

Fixed.

&gt;&gt; WebCore/rendering/RenderThemeWin.cpp:500
&gt;&gt; +}
&gt; 
&gt; extra new line that&apos;s not needed

Fixed.

&gt;&gt; WebCore/rendering/RenderThemeWin.cpp:516
&gt;&gt; +            result.m_state = determineClassicState(o, false);
&gt; 
&gt; instead of using a bool here, a simple ENUM would be helpful so that when looking at lines like this, it&apos;s clear that you&apos;re passing in a down button

Fixed.  I introduced ControlSubPart enum, which is the same as RenderThemeChromiumWin.

&gt;&gt; WebCore/rendering/RenderThemeWin.cpp:680
&gt;&gt; +        width = 17; // Vista&apos;s default.
&gt; 
&gt; can you retrieve this from some system setting if it&apos;s a default?

I don&apos;t think we can.

&gt;&gt; WebCore/rendering/RenderThemeWin.cpp:688
&gt;&gt; +        return false;
&gt; 
&gt; why less than 2 and not 1 or 3?

I added a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287577</commentid>
    <comment_count>5</comment_count>
      <attachid>69317</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-30 09:13:09 -0700</bug_when>
    <thetext>Comment on attachment 69317
Patch 2

r=me thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288055</commentid>
    <comment_count>6</comment_count>
      <attachid>69317</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-30 22:09:19 -0700</bug_when>
    <thetext>Comment on attachment 69317
Patch 2

Clearing flags on attachment: 69317

Committed r68864: &lt;http://trac.webkit.org/changeset/68864&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288056</commentid>
    <comment_count>7</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-30 22:09:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61177</attachid>
            <date>2010-07-11 08:09:53 -0700</date>
            <delta_ts>2010-09-30 00:20:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38381-20100712000951.patch</filename>
            <type>text/plain</type>
            <size>10146</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTMyMzM4MDUxYTBkYzI2NGUyNjEwODM4NGIxY2QzZTA4MTJiNGQ1OC4uZDhjZTZmOWQyYmFhM2Vh
MWZjODE0MDY3ZTI4NWUwZTVhODg2ODY4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0wNy0xMSAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW1dpbmRvd3NdIEltcGxlbWVudCA8aW5wdXQgdHlwZT1u
dW1iZXI+IFVJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zODM4MQorCisgICAgICAgIEltcGxlbWVudCB0aGVtZSBkcmF3aW5nIGZvciBpbm5lci1zcGlu
LWJ1dHRvbi4KKyAgICAgICAgTm8gdGVzdCBiZWNhdXNlIHRoZXJlIGFyZSBubyB3YXlzIHRvIHNo
b3cgaW5uZXItc3Bpbi1idXR0b24gZXZlbgorICAgICAgICB3aXRoIHRoaXMgY2hhbmdlLgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lV2luOjpSZW5kZXJUaGVtZVdpbik6CisgICAgICAgICBIYW5kbGUgbV9zcGlu
QnV0dG9uVGhlbWUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6c3BpbkJ1dHRv
blRoZW1lKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6Y2xvc2Up
OiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjpkZXRlcm1pbmVDbGFz
c2ljU3RhdGUpOgorICAgICAgICAgQWRkIGlzVXBCdXR0b24gcGFyYW1ldGVyLCBhbmQgYWRkIHN1
cHBvcnQgZm9yIElubmVyU3BpbkJ1dHRvblBhcnQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVdpbjo6ZGV0ZXJtaW5lU3BpbkJ1dHRvblN0YXRlKTogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZVdpbjo6Z2V0Q2xhc3NpY1RoZW1lRGF0YSk6CisgICAgICAgICBIYW5k
bGUgSW5uZXJTcGluQnV0dG9uUGFydC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2lu
OjpnZXRUaGVtZURhdGEpOgorICAgICAgICAgSGFuZGxlIElubmVyU3BpbkJ1dHRvblBhcnQuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0SW5uZXJTcGluQnV0dG9uU3R5
bGUpOgorICAgICAgICAgU2V0IFNNX0NYVlNDUk9MTCB2YWx1ZSB0byB0aGUgd2lkdGguCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6cGFpbnRJbm5lclNwaW5CdXR0b24pOgorICAg
ICAgICAgQ2FsbCBkcmF3Q29udHJvbCgpIGZvciB0aGUgdXBwZXIgcGFydCBhbmQgdGhlIGxvd2Vy
IHBhcnQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmg6CisKIDIwMTAtMDct
MTAgIEZyYW7Dp29pcyBTYXVzc2V0ICA8c2F1c3NldEBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZVdpbi5jcHAKaW5kZXggMzhkYWY5OGI0MjYwYWNhYmQ3M2ZkYzUzYWMyNzc2MmE0N2YzMWQ1
ZC4uMGMyYzA0ZmU1NTg1YjIzMWU2YjFjNjAzNzRmNDVhZjVmZWRlNWFkOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lV2luLmNwcApAQCAtOTEsNiArOTEsMjEgQEAKICNkZWZpbmUgUEJTX0RJ
U0FCTEVEICAgIDQKICNkZWZpbmUgUEJTX0RFRkFVTFRFRCAgIDUKIAorLy8gU3BpbiBidXR0b24g
cGFydHMKKyNkZWZpbmUgU1BOUF9VUCAgICAgICAgIDEKKyNkZWZpbmUgU1BOUF9ET1dOICAgICAg
IDIKKworLy8gU3BpbiBidXR0b24gc3RhZXMKKyNkZWZpbmUgRE5TX05PUk1BTCAgICAgIDEKKyNk
ZWZpbmUgRE5TX0hPVCAgICAgICAgIDIKKyNkZWZpbmUgRE5TX1BSRVNTRUQgICAgIDMKKyNkZWZp
bmUgRE5TX0RJU0FCTEVEICAgIDQKKyNkZWZpbmUgVVBTX05PUk1BTCAgICAgIDEKKyNkZWZpbmUg
VVBTX0hPVCAgICAgICAgIDIKKyNkZWZpbmUgVVBTX1BSRVNTRUQgICAgIDMKKyNkZWZpbmUgVVBT
X0RJU0FCTEVEICAgIDQKKworCiBTT0ZUX0xJTktfTElCUkFSWSh1eHRoZW1lKQogU09GVF9MSU5L
KHV4dGhlbWUsIE9wZW5UaGVtZURhdGEsIEhBTkRMRSwgV0lOQVBJLCAoSFdORCBod25kLCBMUENX
U1RSIHBzekNsYXNzTGlzdCksIChod25kLCBwc3pDbGFzc0xpc3QpKQogU09GVF9MSU5LKHV4dGhl
bWUsIENsb3NlVGhlbWVEYXRhLCBIUkVTVUxULCBXSU5BUEksIChIQU5ETEUgaFRoZW1lKSwgKGhU
aGVtZSkpCkBAIC0xNTMsNiArMTY4LDcgQEAgUmVuZGVyVGhlbWVXaW46OlJlbmRlclRoZW1lV2lu
KCkKICAgICAsIG1fdGV4dEZpZWxkVGhlbWUoMCkKICAgICAsIG1fbWVudUxpc3RUaGVtZSgwKQog
ICAgICwgbV9zbGlkZXJUaGVtZSgwKQorICAgICwgbV9zcGluQnV0dG9uVGhlbWUoMCkKIHsKICAg
ICBoYXZlVGhlbWUgPSB1eHRoZW1lTGlicmFyeSgpICYmIElzVGhlbWVBY3RpdmUoKTsKIH0KQEAg
LTE5Myw2ICsyMDksMTMgQEAgSEFORExFIFJlbmRlclRoZW1lV2luOjpzbGlkZXJUaGVtZSgpIGNv
bnN0CiAgICAgcmV0dXJuIG1fc2xpZGVyVGhlbWU7CiB9CiAKK0hBTkRMRSBSZW5kZXJUaGVtZVdp
bjo6c3BpbkJ1dHRvblRoZW1lKCkgY29uc3QKK3sKKyAgICBpZiAoaGF2ZVRoZW1lICYmICFtX3Nw
aW5CdXR0b25UaGVtZSkKKyAgICAgICAgbV9zcGluQnV0dG9uVGhlbWUgPSBPcGVuVGhlbWVEYXRh
KDAsIEwiU3BpbiIpOworICAgIHJldHVybiBtX3NwaW5CdXR0b25UaGVtZTsKK30KKwogdm9pZCBS
ZW5kZXJUaGVtZVdpbjo6Y2xvc2UoKQogewogICAgIC8vIFRoaXMgbWV0aG9kIHdpbGwgbmVlZCB0
byBiZSBjYWxsZWQgd2hlbiB0aGUgT1MgdGhlbWUgY2hhbmdlcyB0byBmbHVzaCBvdXIgY2FjaGVk
IHRoZW1lcy4KQEAgLTIwNCw3ICsyMjcsOSBAQCB2b2lkIFJlbmRlclRoZW1lV2luOjpjbG9zZSgp
CiAgICAgICAgIENsb3NlVGhlbWVEYXRhKG1fbWVudUxpc3RUaGVtZSk7CiAgICAgaWYgKG1fc2xp
ZGVyVGhlbWUpCiAgICAgICAgIENsb3NlVGhlbWVEYXRhKG1fc2xpZGVyVGhlbWUpOwotICAgIG1f
YnV0dG9uVGhlbWUgPSBtX3RleHRGaWVsZFRoZW1lID0gbV9tZW51TGlzdFRoZW1lID0gbV9zbGlk
ZXJUaGVtZSA9IDA7CisgICAgaWYgKG1fc3BpbkJ1dHRvblRoZW1lKQorICAgICAgICBDbG9zZVRo
ZW1lRGF0YShtX3NwaW5CdXR0b25UaGVtZSk7CisgICAgbV9idXR0b25UaGVtZSA9IG1fdGV4dEZp
ZWxkVGhlbWUgPSBtX21lbnVMaXN0VGhlbWUgPSBtX3NsaWRlclRoZW1lID0gbV9zcGluQnV0dG9u
VGhlbWUgPSAwOwogCiAgICAgaGF2ZVRoZW1lID0gdXh0aGVtZUxpYnJhcnkoKSAmJiBJc1RoZW1l
QWN0aXZlKCk7CiB9CkBAIC0zNjcsNyArMzkyLDcgQEAgYm9vbCBSZW5kZXJUaGVtZVdpbjo6c3Vw
cG9ydHNGb2N1c1JpbmcoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlKSBjb25zdAogICAgIHJldHVy
biBzdXBwb3J0c0ZvY3VzKHN0eWxlLT5hcHBlYXJhbmNlKCkpOwogfQogCi11bnNpZ25lZCBSZW5k
ZXJUaGVtZVdpbjo6ZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKFJlbmRlck9iamVjdCogbykKK3Vuc2ln
bmVkIFJlbmRlclRoZW1lV2luOjpkZXRlcm1pbmVDbGFzc2ljU3RhdGUoUmVuZGVyT2JqZWN0KiBv
LCBib29sIGlzVXBCdXR0b24pCiB7CiAgICAgdW5zaWduZWQgc3RhdGUgPSAwOwogICAgIHN3aXRj
aCAoby0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpKSB7CkBAIC0zOTYsNiArNDIxLDE2IEBAIHVuc2ln
bmVkIFJlbmRlclRoZW1lV2luOjpkZXRlcm1pbmVDbGFzc2ljU3RhdGUoUmVuZGVyT2JqZWN0KiBv
KQogICAgICAgICAgICAgICAgIHN0YXRlIHw9IERGQ1NfSU5BQ1RJVkU7CiAgICAgICAgICAgICBl
bHNlIGlmIChpc1ByZXNzZWQobykpCiAgICAgICAgICAgICAgICAgc3RhdGUgfD0gREZDU19QVVNI
RUQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBJbm5lclNwaW5CdXR0b25QYXJ0
OgorICAgICAgICAgICAgc3RhdGUgPSBpc1VwQnV0dG9uID8gREZDU19TQ1JPTExVUCA6IERGQ1Nf
U0NST0xMRE9XTjsKKyAgICAgICAgICAgIGlmICghaXNFbmFibGVkKG8pIHx8IGlzUmVhZE9ubHlD
b250cm9sKG8pKQorICAgICAgICAgICAgICAgIHN0YXRlIHw9IERGQ1NfSU5BQ1RJVkU7CisgICAg
ICAgICAgICBlbHNlIGlmIChpc1ByZXNzZWQobykgJiYgaXNVcEJ1dHRvbiA9PSBpc1NwaW5VcEJ1
dHRvblBhcnRQcmVzc2VkKG8pKQorICAgICAgICAgICAgICAgIHN0YXRlIHw9IERGQ1NfUFVTSEVE
OworICAgICAgICAgICAgZWxzZSBpZiAoaXNIb3ZlcmVkKG8pICYmIGlzVXBCdXR0b24gPT0gaXNT
cGluVXBCdXR0b25QYXJ0SG92ZXJlZChvKSkKKyAgICAgICAgICAgICAgICBzdGF0ZSB8PSBERkNT
X0hPVDsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAg
YnJlYWs7CiAgICAgfQpAQCAtNDUxLDcgKzQ4NiwyMCBAQCB1bnNpZ25lZCBSZW5kZXJUaGVtZVdp
bjo6ZGV0ZXJtaW5lQnV0dG9uU3RhdGUoUmVuZGVyT2JqZWN0KiBvKQogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLVRoZW1lRGF0YSBSZW5kZXJUaGVtZVdpbjo6Z2V0Q2xhc3NpY1RoZW1lRGF0YShS
ZW5kZXJPYmplY3QqIG8pCit1bnNpZ25lZCBSZW5kZXJUaGVtZVdpbjo6ZGV0ZXJtaW5lU3BpbkJ1
dHRvblN0YXRlKFJlbmRlck9iamVjdCogbywgYm9vbCBpc1VwQnV0dG9uKQoreworICAgIHVuc2ln
bmVkIHJlc3VsdCA9IGlzVXBCdXR0b24gPyBVUFNfTk9STUFMIDogRE5TX05PUk1BTDsKKyAgICBp
ZiAoIWlzRW5hYmxlZChvKSB8fCBpc1JlYWRPbmx5Q29udHJvbChvKSkKKyAgICAgICAgcmVzdWx0
ID0gaXNVcEJ1dHRvbiA/IFVQU19ESVNBQkxFRCA6IEROU19ESVNBQkxFRDsKKyAgICBlbHNlIGlm
IChpc1ByZXNzZWQobykgJiYgaXNVcEJ1dHRvbiA9PSBpc1NwaW5VcEJ1dHRvblBhcnRQcmVzc2Vk
KG8pKQorICAgICAgICByZXN1bHQgPSBpc1VwQnV0dG9uID8gVVBTX1BSRVNTRUQgOiBETlNfUFJF
U1NFRDsKKyAgICBlbHNlIGlmIChpc0hvdmVyZWQobykgJiYgaXNVcEJ1dHRvbiA9PSBpc1NwaW5V
cEJ1dHRvblBhcnRIb3ZlcmVkKG8pKQorICAgICAgICByZXN1bHQgPSBpc1VwQnV0dG9uID8gVVBT
X0hPVCA6IEROU19IT1Q7CisgICAgcmV0dXJuIHJlc3VsdDsKKworfQorCitUaGVtZURhdGEgUmVu
ZGVyVGhlbWVXaW46OmdldENsYXNzaWNUaGVtZURhdGEoUmVuZGVyT2JqZWN0KiBvLCBib29sIGlz
VXBCdXR0b24pCiB7CiAgICAgVGhlbWVEYXRhIHJlc3VsdDsKICAgICBzd2l0Y2ggKG8tPnN0eWxl
KCktPmFwcGVhcmFuY2UoKSkgewpAQCAtNDYxLDExICs1MDksMTEgQEAgVGhlbWVEYXRhIFJlbmRl
clRoZW1lV2luOjpnZXRDbGFzc2ljVGhlbWVEYXRhKFJlbmRlck9iamVjdCogbykKICAgICAgICAg
Y2FzZSBDaGVja2JveFBhcnQ6CiAgICAgICAgIGNhc2UgUmFkaW9QYXJ0OgogICAgICAgICAgICAg
cmVzdWx0Lm1fcGFydCA9IERGQ19CVVRUT047Ci0gICAgICAgICAgICByZXN1bHQubV9zdGF0ZSA9
IGRldGVybWluZUNsYXNzaWNTdGF0ZShvKTsKKyAgICAgICAgICAgIHJlc3VsdC5tX3N0YXRlID0g
ZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKG8sIGZhbHNlKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBjYXNlIE1lbnVsaXN0UGFydDoKICAgICAgICAgICAgIHJlc3VsdC5tX3BhcnQgPSBERkNf
U0NST0xMOwotICAgICAgICAgICAgcmVzdWx0Lm1fc3RhdGUgPSBkZXRlcm1pbmVDbGFzc2ljU3Rh
dGUobyk7CisgICAgICAgICAgICByZXN1bHQubV9zdGF0ZSA9IGRldGVybWluZUNsYXNzaWNTdGF0
ZShvLCBmYWxzZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBTZWFyY2hGaWVs
ZFBhcnQ6CiAgICAgICAgIGNhc2UgVGV4dEZpZWxkUGFydDoKQEAgLTQ4OSwxNiArNTM3LDIwIEBA
IFRoZW1lRGF0YSBSZW5kZXJUaGVtZVdpbjo6Z2V0Q2xhc3NpY1RoZW1lRGF0YShSZW5kZXJPYmpl
Y3QqIG8pCiAgICAgICAgICAgICByZXN1bHQubV9wYXJ0ID0gVEtQX1RIVU1CUklHSFQ7CiAgICAg
ICAgICAgICByZXN1bHQubV9zdGF0ZSA9IGRldGVybWluZVNsaWRlclRodW1iU3RhdGUobyk7CiAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBJbm5lclNwaW5CdXR0b25QYXJ0OgorICAg
ICAgICAgICAgcmVzdWx0Lm1fcGFydCA9IERGQ19TQ1JPTEw7CisgICAgICAgICAgICByZXN1bHQu
bV9zdGF0ZSA9IGRldGVybWluZUNsYXNzaWNTdGF0ZShvLCBpc1VwQnV0dG9uKTsKKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVRoZW1lRGF0YSBSZW5kZXJUaGVtZVdpbjo6Z2V0VGhl
bWVEYXRhKFJlbmRlck9iamVjdCogbykKK1RoZW1lRGF0YSBSZW5kZXJUaGVtZVdpbjo6Z2V0VGhl
bWVEYXRhKFJlbmRlck9iamVjdCogbywgYm9vbCBpc1VwQnV0dG9uKQogewogICAgIGlmICghaGF2
ZVRoZW1lKQotICAgICAgICByZXR1cm4gZ2V0Q2xhc3NpY1RoZW1lRGF0YShvKTsKKyAgICAgICAg
cmV0dXJuIGdldENsYXNzaWNUaGVtZURhdGEobywgaXNVcEJ1dHRvbik7CiAKICAgICBUaGVtZURh
dGEgcmVzdWx0OwogICAgIHN3aXRjaCAoby0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpKSB7CkBAIC01
NDgsNiArNjAwLDEwIEBAIFRoZW1lRGF0YSBSZW5kZXJUaGVtZVdpbjo6Z2V0VGhlbWVEYXRhKFJl
bmRlck9iamVjdCogbykKICAgICAgICAgICAgIHJlc3VsdC5tX3BhcnQgPSBUS1BfVEhVTUJSSUdI
VDsKICAgICAgICAgICAgIHJlc3VsdC5tX3N0YXRlID0gZGV0ZXJtaW5lU2xpZGVyVGh1bWJTdGF0
ZShvKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElubmVyU3BpbkJ1dHRvblBh
cnQ6CisgICAgICAgICAgICByZXN1bHQubV9wYXJ0ID0gaXNVcEJ1dHRvbiA/IFNQTlBfVVAgOiBT
UE5QX0RPV047CisgICAgICAgICAgICByZXN1bHQubV9zdGF0ZSA9IGRldGVybWluZVNwaW5CdXR0
b25TdGF0ZShvLCBpc1VwQnV0dG9uKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAg
IHJldHVybiByZXN1bHQ7CkBAIC02MTcsNiArNjczLDI5IEBAIGJvb2wgUmVuZGVyVGhlbWVXaW46
OnBhaW50QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBpLCBjb25zdCBJ
bnRSCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIFJlbmRlclRoZW1lV2luOjphZGp1c3RJ
bm5lclNwaW5CdXR0b25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVyU3R5
bGUqIHN0eWxlLCBFbGVtZW50KiBlKSBjb25zdAoreworICAgIGludCB3aWR0aCA9IDo6R2V0U3lz
dGVtTWV0cmljcyhTTV9DWFZTQ1JPTEwpOworICAgIGlmICh3aWR0aCA8PSAwKQorICAgICAgICB3
aWR0aCA9IDE3OyAvLyBWaXN0YSdzIGRlZmF1bHQuCisgICAgc3R5bGUtPnNldFdpZHRoKExlbmd0
aCh3aWR0aCwgRml4ZWQpKTsKKyAgICBzdHlsZS0+c2V0TWluV2lkdGgoTGVuZ3RoKHdpZHRoLCBG
aXhlZCkpOworfQorCitib29sIFJlbmRlclRoZW1lV2luOjpwYWludElubmVyU3BpbkJ1dHRvbihS
ZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwgY29uc3QgSW50UmVjdCYgcikKK3sK
KyAgICBpZiAoci5oZWlnaHQoKSA8IDIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBJbnRS
ZWN0IHVwUmVjdChyKTsKKyAgICB1cFJlY3Quc2V0SGVpZ2h0KHIuaGVpZ2h0KCkgLyAyKTsKKyAg
ICBJbnRSZWN0IGRvd25SZWN0KHIpOworICAgIGRvd25SZWN0LnNldFkodXBSZWN0LmJvdHRvbSgp
KTsKKyAgICBkb3duUmVjdC5zZXRIZWlnaHQoci5oZWlnaHQoKSAtIHVwUmVjdC5oZWlnaHQoKSk7
CisgICAgZHJhd0NvbnRyb2woaS5jb250ZXh0LCBvLCBzcGluQnV0dG9uVGhlbWUoKSwgZ2V0VGhl
bWVEYXRhKG8sIHRydWUpLCB1cFJlY3QpOworICAgIGRyYXdDb250cm9sKGkuY29udGV4dCwgbywg
c3BpbkJ1dHRvblRoZW1lKCksIGdldFRoZW1lRGF0YShvLCBmYWxzZSksIGRvd25SZWN0KTsKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgUmVuZGVyVGhlbWVXaW46OnNldENoZWNrYm94U2l6
ZShSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0CiB7CiAgICAgLy8gSWYgdGhlIHdpZHRoIGFuZCBo
ZWlnaHQgYXJlIGJvdGggc3BlY2lmaWVkLCB0aGVuIHdlIGhhdmUgbm90aGluZyB0byBkby4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oCmluZGV4IDJlODAwMzJiNGI0ZjQyZTYwZDhkNmNmYTg2
NTU5ZDE0YzRkYTBmOGUuLjJkMmYwMWRjMjMwODUzMzUyODM2OTQwMjVlMjY1ZjJmNWU5OGZlYjQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaApAQCAtNzcsNiArNzcsOSBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRCdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogCisgICAgdmlydHVhbCB2b2lkIGFkanVzdElubmVy
U3BpbkJ1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQq
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRJbm5lclNwaW5CdXR0b24oUmVuZGVyT2Jq
ZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOworCiAgICAgdmlydHVhbCBi
b29sIHBhaW50VGV4dEZpZWxkKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0
IEludFJlY3QmKTsKIAogICAgIHZpcnR1YWwgYm9vbCBwYWludFRleHRBcmVhKFJlbmRlck9iamVj
dCogbywgY29uc3QgUGFpbnRJbmZvJiBpLCBjb25zdCBJbnRSZWN0JiByKQpAQCAtMTQ0LDI0ICsx
NDcsMjcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsb3NlKCk7CiAKICAgICB1bnNpZ25lZCBkZXRl
cm1pbmVTdGF0ZShSZW5kZXJPYmplY3QqKTsKLSAgICB1bnNpZ25lZCBkZXRlcm1pbmVDbGFzc2lj
U3RhdGUoUmVuZGVyT2JqZWN0Kik7CisgICAgdW5zaWduZWQgZGV0ZXJtaW5lQ2xhc3NpY1N0YXRl
KFJlbmRlck9iamVjdCosIGJvb2wpOwogICAgIHVuc2lnbmVkIGRldGVybWluZVNsaWRlclRodW1i
U3RhdGUoUmVuZGVyT2JqZWN0Kik7CiAgICAgdW5zaWduZWQgZGV0ZXJtaW5lQnV0dG9uU3RhdGUo
UmVuZGVyT2JqZWN0Kik7CisgICAgdW5zaWduZWQgZGV0ZXJtaW5lU3BpbkJ1dHRvblN0YXRlKFJl
bmRlck9iamVjdCosIGJvb2wpOwogCiAgICAgYm9vbCBzdXBwb3J0c0ZvY3VzKENvbnRyb2xQYXJ0
KSBjb25zdDsKIAotICAgIFRoZW1lRGF0YSBnZXRUaGVtZURhdGEoUmVuZGVyT2JqZWN0Kik7Ci0g
ICAgVGhlbWVEYXRhIGdldENsYXNzaWNUaGVtZURhdGEoUmVuZGVyT2JqZWN0KiBvKTsKKyAgICBU
aGVtZURhdGEgZ2V0VGhlbWVEYXRhKFJlbmRlck9iamVjdCosIGJvb2wgaXNVcEJ1dHRvbiA9IGZh
bHNlKTsKKyAgICBUaGVtZURhdGEgZ2V0Q2xhc3NpY1RoZW1lRGF0YShSZW5kZXJPYmplY3QqIG8s
IGJvb2wgaXNVcEJ1dHRvbiA9IGZhbHNlKTsKIAogICAgIEhBTkRMRSBidXR0b25UaGVtZSgpIGNv
bnN0OwogICAgIEhBTkRMRSB0ZXh0RmllbGRUaGVtZSgpIGNvbnN0OwogICAgIEhBTkRMRSBtZW51
TGlzdFRoZW1lKCkgY29uc3Q7CiAgICAgSEFORExFIHNsaWRlclRoZW1lKCkgY29uc3Q7CisgICAg
SEFORExFIHNwaW5CdXR0b25UaGVtZSgpIGNvbnN0OwogCiAgICAgbXV0YWJsZSBIQU5ETEUgbV9i
dXR0b25UaGVtZTsKICAgICBtdXRhYmxlIEhBTkRMRSBtX3RleHRGaWVsZFRoZW1lOwogICAgIG11
dGFibGUgSEFORExFIG1fbWVudUxpc3RUaGVtZTsKICAgICBtdXRhYmxlIEhBTkRMRSBtX3NsaWRl
clRoZW1lOworICAgIG11dGFibGUgSEFORExFIG1fc3BpbkJ1dHRvblRoZW1lOwogfTsKIAogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69317</attachid>
            <date>2010-09-30 00:18:11 -0700</date>
            <delta_ts>2010-09-30 22:09:19 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-38381-20100930161809.patch</filename>
            <type>text/plain</type>
            <size>10053</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YmU0ZDNiYTMzNDMyZWI5ZjAyZGY3MDdkZjFlMTBkM2ZkMGU1Zjc4OS4uYTQ4NzgwODhlZGYzZWZj
ZjMzOWY1MjAyY2ZiNmIzZTA2NDQ5MjRkOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wOS0zMCAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW1dpbmRvd3NdIEltcGxlbWVudCA8aW5wdXQgdHlwZT1u
dW1iZXI+IFVJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zODM4MQorCisgICAgICAgIEltcGxlbWVudCB0aGVtZSBkcmF3aW5nIGZvciBpbm5lci1zcGlu
LWJ1dHRvbi4KKyAgICAgICAgTm8gbmV3IHRlc3RzLiBFeGlzdGluZyB0ZXN0cyBmb3IgdHlwZT1u
dW1iZXIgd2lsbCBjb3ZlciB0aGlzIGNoYW5nZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6UmVuZGVy
VGhlbWVXaW4pOgorICAgICAgICAgSGFuZGxlIG1fc3BpbkJ1dHRvblRoZW1lLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46OnNwaW5CdXR0b25UaGVtZSk6IGRpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46OmNsb3NlKTogZGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZVdpbjo6ZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKToKKyAgICAgICAgIEFk
ZCBDb250cm9sU3ViUGFydCBwYXJhbWV0ZXIsIGFuZCBhZGQgc3VwcG9ydCBmb3IgSW5uZXJTcGlu
QnV0dG9uUGFydC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjpkZXRlcm1pbmVT
cGluQnV0dG9uU3RhdGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2lu
OjpnZXRDbGFzc2ljVGhlbWVEYXRhKToKKyAgICAgICAgIEFkZCBDb250cm9sU3ViUGFydCBwYXJh
bWV0ZXIsIGFuZCBoYW5kbGUgSW5uZXJTcGluQnV0dG9uUGFydC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lV2luOjpnZXRUaGVtZURhdGEpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lV2luOjphZGp1c3RJbm5lclNwaW5CdXR0b25TdHlsZSk6CisgICAgICAgICBT
ZXQgU01fQ1hWU0NST0xMIHZhbHVlIHRvIHRoZSB3aWR0aC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lV2luOjpwYWludElubmVyU3BpbkJ1dHRvbik6CisgICAgICAgICBDYWxsIGRyYXdD
b250cm9sKCkgZm9yIHRoZSB1cHBlciBwYXJ0IGFuZCB0aGUgbG93ZXIgcGFydC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaDoKKwogMjAxMC0wOS0yOSAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6
a292LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCmluZGV4IGI0ZmI4ZWIyMWUwMzYw
YzA3YTAxMGNlNzVmMmQ5YTA2MTY5ODM5NjEuLmYwZjgyNjgxMjE2MmI5OGI3YzA3MDRmYzU3YTE1
OGE5ZTRiZTdmNWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2lu
LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKQEAgLTkyLDYg
KzkyLDIxIEBACiAjZGVmaW5lIFBCU19ESVNBQkxFRCAgICA0CiAjZGVmaW5lIFBCU19ERUZBVUxU
RUQgICA1CiAKKy8vIFNwaW4gYnV0dG9uIHBhcnRzCisjZGVmaW5lIFNQTlBfVVAgICAgICAgICAx
CisjZGVmaW5lIFNQTlBfRE9XTiAgICAgICAyCisKKy8vIFNwaW4gYnV0dG9uIHN0YXRlcworI2Rl
ZmluZSBETlNfTk9STUFMICAgICAgMQorI2RlZmluZSBETlNfSE9UICAgICAgICAgMgorI2RlZmlu
ZSBETlNfUFJFU1NFRCAgICAgMworI2RlZmluZSBETlNfRElTQUJMRUQgICAgNAorI2RlZmluZSBV
UFNfTk9STUFMICAgICAgMQorI2RlZmluZSBVUFNfSE9UICAgICAgICAgMgorI2RlZmluZSBVUFNf
UFJFU1NFRCAgICAgMworI2RlZmluZSBVUFNfRElTQUJMRUQgICAgNAorCisKIFNPRlRfTElOS19M
SUJSQVJZKHV4dGhlbWUpCiBTT0ZUX0xJTksodXh0aGVtZSwgT3BlblRoZW1lRGF0YSwgSEFORExF
LCBXSU5BUEksIChIV05EIGh3bmQsIExQQ1dTVFIgcHN6Q2xhc3NMaXN0KSwgKGh3bmQsIHBzekNs
YXNzTGlzdCkpCiBTT0ZUX0xJTksodXh0aGVtZSwgQ2xvc2VUaGVtZURhdGEsIEhSRVNVTFQsIFdJ
TkFQSSwgKEhBTkRMRSBoVGhlbWUpLCAoaFRoZW1lKSkKQEAgLTE1NCw2ICsxNjksNyBAQCBSZW5k
ZXJUaGVtZVdpbjo6UmVuZGVyVGhlbWVXaW4oKQogICAgICwgbV90ZXh0RmllbGRUaGVtZSgwKQog
ICAgICwgbV9tZW51TGlzdFRoZW1lKDApCiAgICAgLCBtX3NsaWRlclRoZW1lKDApCisgICAgLCBt
X3NwaW5CdXR0b25UaGVtZSgwKQogewogICAgIGhhdmVUaGVtZSA9IHV4dGhlbWVMaWJyYXJ5KCkg
JiYgSXNUaGVtZUFjdGl2ZSgpOwogfQpAQCAtMTk0LDYgKzIxMCwxMyBAQCBIQU5ETEUgUmVuZGVy
VGhlbWVXaW46OnNsaWRlclRoZW1lKCkgY29uc3QKICAgICByZXR1cm4gbV9zbGlkZXJUaGVtZTsK
IH0KIAorSEFORExFIFJlbmRlclRoZW1lV2luOjpzcGluQnV0dG9uVGhlbWUoKSBjb25zdAorewor
ICAgIGlmIChoYXZlVGhlbWUgJiYgIW1fc3BpbkJ1dHRvblRoZW1lKQorICAgICAgICBtX3NwaW5C
dXR0b25UaGVtZSA9IE9wZW5UaGVtZURhdGEoMCwgTCJTcGluIik7CisgICAgcmV0dXJuIG1fc3Bp
bkJ1dHRvblRoZW1lOworfQorCiB2b2lkIFJlbmRlclRoZW1lV2luOjpjbG9zZSgpCiB7CiAgICAg
Ly8gVGhpcyBtZXRob2Qgd2lsbCBuZWVkIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBPUyB0aGVtZSBj
aGFuZ2VzIHRvIGZsdXNoIG91ciBjYWNoZWQgdGhlbWVzLgpAQCAtMjA1LDcgKzIyOCw5IEBAIHZv
aWQgUmVuZGVyVGhlbWVXaW46OmNsb3NlKCkKICAgICAgICAgQ2xvc2VUaGVtZURhdGEobV9tZW51
TGlzdFRoZW1lKTsKICAgICBpZiAobV9zbGlkZXJUaGVtZSkKICAgICAgICAgQ2xvc2VUaGVtZURh
dGEobV9zbGlkZXJUaGVtZSk7Ci0gICAgbV9idXR0b25UaGVtZSA9IG1fdGV4dEZpZWxkVGhlbWUg
PSBtX21lbnVMaXN0VGhlbWUgPSBtX3NsaWRlclRoZW1lID0gMDsKKyAgICBpZiAobV9zcGluQnV0
dG9uVGhlbWUpCisgICAgICAgIENsb3NlVGhlbWVEYXRhKG1fc3BpbkJ1dHRvblRoZW1lKTsKKyAg
ICBtX2J1dHRvblRoZW1lID0gbV90ZXh0RmllbGRUaGVtZSA9IG1fbWVudUxpc3RUaGVtZSA9IG1f
c2xpZGVyVGhlbWUgPSBtX3NwaW5CdXR0b25UaGVtZSA9IDA7CiAKICAgICBoYXZlVGhlbWUgPSB1
eHRoZW1lTGlicmFyeSgpICYmIElzVGhlbWVBY3RpdmUoKTsKIH0KQEAgLTM2OCw3ICszOTMsNyBA
QCBib29sIFJlbmRlclRoZW1lV2luOjpzdXBwb3J0c0ZvY3VzUmluZyhjb25zdCBSZW5kZXJTdHls
ZSogc3R5bGUpIGNvbnN0CiAgICAgcmV0dXJuIHN1cHBvcnRzRm9jdXMoc3R5bGUtPmFwcGVhcmFu
Y2UoKSk7CiB9CiAKLXVuc2lnbmVkIFJlbmRlclRoZW1lV2luOjpkZXRlcm1pbmVDbGFzc2ljU3Rh
dGUoUmVuZGVyT2JqZWN0KiBvKQordW5zaWduZWQgUmVuZGVyVGhlbWVXaW46OmRldGVybWluZUNs
YXNzaWNTdGF0ZShSZW5kZXJPYmplY3QqIG8sIENvbnRyb2xTdWJQYXJ0IHN1YlBhcnQpCiB7CiAg
ICAgdW5zaWduZWQgc3RhdGUgPSAwOwogICAgIHN3aXRjaCAoby0+c3R5bGUoKS0+YXBwZWFyYW5j
ZSgpKSB7CkBAIC0zOTcsNiArNDIyLDE4IEBAIHVuc2lnbmVkIFJlbmRlclRoZW1lV2luOjpkZXRl
cm1pbmVDbGFzc2ljU3RhdGUoUmVuZGVyT2JqZWN0KiBvKQogICAgICAgICAgICAgICAgIHN0YXRl
IHw9IERGQ1NfSU5BQ1RJVkU7CiAgICAgICAgICAgICBlbHNlIGlmIChpc1ByZXNzZWQobykpCiAg
ICAgICAgICAgICAgICAgc3RhdGUgfD0gREZDU19QVVNIRUQ7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBJbm5lclNwaW5CdXR0b25QYXJ0OiB7CisgICAgICAgICAgICBib29sIGlz
VXBCdXR0b24gPSBzdWJQYXJ0ID09IFNwaW5CdXR0b25VcDsKKyAgICAgICAgICAgIHN0YXRlID0g
aXNVcEJ1dHRvbiA/IERGQ1NfU0NST0xMVVAgOiBERkNTX1NDUk9MTERPV047CisgICAgICAgICAg
ICBpZiAoIWlzRW5hYmxlZChvKSB8fCBpc1JlYWRPbmx5Q29udHJvbChvKSkKKyAgICAgICAgICAg
ICAgICBzdGF0ZSB8PSBERkNTX0lOQUNUSVZFOworICAgICAgICAgICAgZWxzZSBpZiAoaXNQcmVz
c2VkKG8pICYmIGlzVXBCdXR0b24gPT0gaXNTcGluVXBCdXR0b25QYXJ0UHJlc3NlZChvKSkKKyAg
ICAgICAgICAgICAgICBzdGF0ZSB8PSBERkNTX1BVU0hFRDsKKyAgICAgICAgICAgIGVsc2UgaWYg
KGlzSG92ZXJlZChvKSAmJiBpc1VwQnV0dG9uID09IGlzU3BpblVwQnV0dG9uUGFydEhvdmVyZWQo
bykpCisgICAgICAgICAgICAgICAgc3RhdGUgfD0gREZDU19IT1Q7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAg
fQpAQCAtNDUyLDcgKzQ4OSwyMCBAQCB1bnNpZ25lZCBSZW5kZXJUaGVtZVdpbjo6ZGV0ZXJtaW5l
QnV0dG9uU3RhdGUoUmVuZGVyT2JqZWN0KiBvKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVRo
ZW1lRGF0YSBSZW5kZXJUaGVtZVdpbjo6Z2V0Q2xhc3NpY1RoZW1lRGF0YShSZW5kZXJPYmplY3Qq
IG8pCit1bnNpZ25lZCBSZW5kZXJUaGVtZVdpbjo6ZGV0ZXJtaW5lU3BpbkJ1dHRvblN0YXRlKFJl
bmRlck9iamVjdCogbywgQ29udHJvbFN1YlBhcnQgc3ViUGFydCkKK3sKKyAgICBib29sIGlzVXBC
dXR0b24gPSBzdWJQYXJ0ID09IFNwaW5CdXR0b25VcDsKKyAgICB1bnNpZ25lZCByZXN1bHQgPSBp
c1VwQnV0dG9uID8gVVBTX05PUk1BTCA6IEROU19OT1JNQUw7CisgICAgaWYgKCFpc0VuYWJsZWQo
bykgfHwgaXNSZWFkT25seUNvbnRyb2wobykpCisgICAgICAgIHJlc3VsdCA9IGlzVXBCdXR0b24g
PyBVUFNfRElTQUJMRUQgOiBETlNfRElTQUJMRUQ7CisgICAgZWxzZSBpZiAoaXNQcmVzc2VkKG8p
ICYmIGlzVXBCdXR0b24gPT0gaXNTcGluVXBCdXR0b25QYXJ0UHJlc3NlZChvKSkKKyAgICAgICAg
cmVzdWx0ID0gaXNVcEJ1dHRvbiA/IFVQU19QUkVTU0VEIDogRE5TX1BSRVNTRUQ7CisgICAgZWxz
ZSBpZiAoaXNIb3ZlcmVkKG8pICYmIGlzVXBCdXR0b24gPT0gaXNTcGluVXBCdXR0b25QYXJ0SG92
ZXJlZChvKSkKKyAgICAgICAgcmVzdWx0ID0gaXNVcEJ1dHRvbiA/IFVQU19IT1QgOiBETlNfSE9U
OworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK1RoZW1lRGF0YSBSZW5kZXJUaGVtZVdpbjo6Z2V0
Q2xhc3NpY1RoZW1lRGF0YShSZW5kZXJPYmplY3QqIG8sIENvbnRyb2xTdWJQYXJ0IHN1YlBhcnQp
CiB7CiAgICAgVGhlbWVEYXRhIHJlc3VsdDsKICAgICBzd2l0Y2ggKG8tPnN0eWxlKCktPmFwcGVh
cmFuY2UoKSkgewpAQCAtNDkwLDE2ICs1NDAsMjAgQEAgVGhlbWVEYXRhIFJlbmRlclRoZW1lV2lu
OjpnZXRDbGFzc2ljVGhlbWVEYXRhKFJlbmRlck9iamVjdCogbykKICAgICAgICAgICAgIHJlc3Vs
dC5tX3BhcnQgPSBUS1BfVEhVTUJSSUdIVDsKICAgICAgICAgICAgIHJlc3VsdC5tX3N0YXRlID0g
ZGV0ZXJtaW5lU2xpZGVyVGh1bWJTdGF0ZShvKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIElubmVyU3BpbkJ1dHRvblBhcnQ6CisgICAgICAgICAgICByZXN1bHQubV9wYXJ0ID0g
REZDX1NDUk9MTDsKKyAgICAgICAgICAgIHJlc3VsdC5tX3N0YXRlID0gZGV0ZXJtaW5lQ2xhc3Np
Y1N0YXRlKG8sIHN1YlBhcnQpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6
CiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotVGhl
bWVEYXRhIFJlbmRlclRoZW1lV2luOjpnZXRUaGVtZURhdGEoUmVuZGVyT2JqZWN0KiBvKQorVGhl
bWVEYXRhIFJlbmRlclRoZW1lV2luOjpnZXRUaGVtZURhdGEoUmVuZGVyT2JqZWN0KiBvLCBDb250
cm9sU3ViUGFydCBzdWJQYXJ0KQogewogICAgIGlmICghaGF2ZVRoZW1lKQotICAgICAgICByZXR1
cm4gZ2V0Q2xhc3NpY1RoZW1lRGF0YShvKTsKKyAgICAgICAgcmV0dXJuIGdldENsYXNzaWNUaGVt
ZURhdGEobywgc3ViUGFydCk7CiAKICAgICBUaGVtZURhdGEgcmVzdWx0OwogICAgIHN3aXRjaCAo
by0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpKSB7CkBAIC01NDksNiArNjAzLDEwIEBAIFRoZW1lRGF0
YSBSZW5kZXJUaGVtZVdpbjo6Z2V0VGhlbWVEYXRhKFJlbmRlck9iamVjdCogbykKICAgICAgICAg
ICAgIHJlc3VsdC5tX3BhcnQgPSBUS1BfVEhVTUJSSUdIVDsKICAgICAgICAgICAgIHJlc3VsdC5t
X3N0YXRlID0gZGV0ZXJtaW5lU2xpZGVyVGh1bWJTdGF0ZShvKTsKICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIElubmVyU3BpbkJ1dHRvblBhcnQ6CisgICAgICAgICAgICByZXN1bHQu
bV9wYXJ0ID0gc3ViUGFydCA9PSBTcGluQnV0dG9uVXAgPyBTUE5QX1VQIDogU1BOUF9ET1dOOwor
ICAgICAgICAgICAgcmVzdWx0Lm1fc3RhdGUgPSBkZXRlcm1pbmVTcGluQnV0dG9uU3RhdGUobywg
c3ViUGFydCk7CisgICAgICAgICAgICBicmVhazsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0
OwpAQCAtNjE4LDYgKzY3NiwzMSBAQCBib29sIFJlbmRlclRoZW1lV2luOjpwYWludEJ1dHRvbihS
ZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwgY29uc3QgSW50UgogICAgIHJldHVy
biBmYWxzZTsKIH0KIAordm9pZCBSZW5kZXJUaGVtZVdpbjo6YWRqdXN0SW5uZXJTcGluQnV0dG9u
U3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxl
bWVudCogZSkgY29uc3QKK3sKKyAgICBpbnQgd2lkdGggPSA6OkdldFN5c3RlbU1ldHJpY3MoU01f
Q1hWU0NST0xMKTsKKyAgICBpZiAod2lkdGggPD0gMCkKKyAgICAgICAgd2lkdGggPSAxNzsgLy8g
VmlzdGEncyBkZWZhdWx0LgorICAgIHN0eWxlLT5zZXRXaWR0aChMZW5ndGgod2lkdGgsIEZpeGVk
KSk7CisgICAgc3R5bGUtPnNldE1pbldpZHRoKExlbmd0aCh3aWR0aCwgRml4ZWQpKTsKK30KKwor
Ym9vbCBSZW5kZXJUaGVtZVdpbjo6cGFpbnRJbm5lclNwaW5CdXR0b24oUmVuZGVyT2JqZWN0KiBv
LCBjb25zdCBQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHIpCit7CisgICAgLy8gV2Ugc3Bs
aXQgdGhlIHNwZWNpZmllZCByZWN0YW5nbGUgaW50byB0d28gdmVydGljYWxseS4gV2UgY2FuJ3Qg
ZHJhdyBhCisgICAgLy8gc3BpbiBidXR0b24gb2Ygd2hpY2ggaGVpZ2h0IGlzIGxlc3MgdGhhbiAy
cHguCisgICAgaWYgKHIuaGVpZ2h0KCkgPCAyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
SW50UmVjdCB1cFJlY3Qocik7CisgICAgdXBSZWN0LnNldEhlaWdodChyLmhlaWdodCgpIC8gMik7
CisgICAgSW50UmVjdCBkb3duUmVjdChyKTsKKyAgICBkb3duUmVjdC5zZXRZKHVwUmVjdC5ib3R0
b20oKSk7CisgICAgZG93blJlY3Quc2V0SGVpZ2h0KHIuaGVpZ2h0KCkgLSB1cFJlY3QuaGVpZ2h0
KCkpOworICAgIGRyYXdDb250cm9sKGkuY29udGV4dCwgbywgc3BpbkJ1dHRvblRoZW1lKCksIGdl
dFRoZW1lRGF0YShvLCBTcGluQnV0dG9uVXApLCB1cFJlY3QpOworICAgIGRyYXdDb250cm9sKGku
Y29udGV4dCwgbywgc3BpbkJ1dHRvblRoZW1lKCksIGdldFRoZW1lRGF0YShvLCBTcGluQnV0dG9u
RG93biksIGRvd25SZWN0KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgUmVuZGVyVGhl
bWVXaW46OnNldENoZWNrYm94U2l6ZShSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0CiB7CiAgICAg
Ly8gSWYgdGhlIHdpZHRoIGFuZCBoZWlnaHQgYXJlIGJvdGggc3BlY2lmaWVkLCB0aGVuIHdlIGhh
dmUgbm90aGluZyB0byBkby4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lV2luLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oCmluZGV4IDFlZmIx
MTdlNmJiZmQ4ZDY1OWFjMjI2ZGNmNjE4NDg1YmJjODZjZDAuLmMwNWQyZWVkNzZhYmQzNDI0NmIy
ZTU5N2RjNzBjYjQ1NjZmOWE0MzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lV2luLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaApAQCAt
NzcsNiArNzcsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRCdXR0b24oUmVu
ZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogCisgICAgdmly
dHVhbCB2b2lkIGFkanVzdElubmVyU3BpbkJ1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBS
ZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRJbm5l
clNwaW5CdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVj
dCYpOworCiAgICAgdmlydHVhbCBib29sIHBhaW50VGV4dEZpZWxkKFJlbmRlck9iamVjdCosIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKIAogICAgIHZpcnR1YWwgYm9vbCBwYWlu
dFRleHRBcmVhKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBpLCBjb25zdCBJbnRS
ZWN0JiByKQpAQCAtMTM5LDYgKzE0MiwxMiBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToK
KyAgICBlbnVtIENvbnRyb2xTdWJQYXJ0IHsKKyAgICAgICAgTm9uZSwKKyAgICAgICAgU3BpbkJ1
dHRvbkRvd24sCisgICAgICAgIFNwaW5CdXR0b25VcCwKKyAgICB9OworCiAgICAgUmVuZGVyVGhl
bWVXaW4oKTsKICAgICB+UmVuZGVyVGhlbWVXaW4oKTsKIApAQCAtMTQ2LDI0ICsxNTUsMjcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGNsb3NlKCk7CiAKICAgICB1bnNpZ25lZCBkZXRlcm1pbmVTdGF0
ZShSZW5kZXJPYmplY3QqKTsKLSAgICB1bnNpZ25lZCBkZXRlcm1pbmVDbGFzc2ljU3RhdGUoUmVu
ZGVyT2JqZWN0Kik7CisgICAgdW5zaWduZWQgZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKFJlbmRlck9i
amVjdCosIENvbnRyb2xTdWJQYXJ0ID0gTm9uZSk7CiAgICAgdW5zaWduZWQgZGV0ZXJtaW5lU2xp
ZGVyVGh1bWJTdGF0ZShSZW5kZXJPYmplY3QqKTsKICAgICB1bnNpZ25lZCBkZXRlcm1pbmVCdXR0
b25TdGF0ZShSZW5kZXJPYmplY3QqKTsKKyAgICB1bnNpZ25lZCBkZXRlcm1pbmVTcGluQnV0dG9u
U3RhdGUoUmVuZGVyT2JqZWN0KiwgQ29udHJvbFN1YlBhcnQgPSBOb25lKTsKIAogICAgIGJvb2wg
c3VwcG9ydHNGb2N1cyhDb250cm9sUGFydCkgY29uc3Q7CiAKLSAgICBUaGVtZURhdGEgZ2V0VGhl
bWVEYXRhKFJlbmRlck9iamVjdCopOwotICAgIFRoZW1lRGF0YSBnZXRDbGFzc2ljVGhlbWVEYXRh
KFJlbmRlck9iamVjdCogbyk7CisgICAgVGhlbWVEYXRhIGdldFRoZW1lRGF0YShSZW5kZXJPYmpl
Y3QqLCBDb250cm9sU3ViUGFydCA9IE5vbmUpOworICAgIFRoZW1lRGF0YSBnZXRDbGFzc2ljVGhl
bWVEYXRhKFJlbmRlck9iamVjdCogbywgQ29udHJvbFN1YlBhcnQgPSBOb25lKTsKIAogICAgIEhB
TkRMRSBidXR0b25UaGVtZSgpIGNvbnN0OwogICAgIEhBTkRMRSB0ZXh0RmllbGRUaGVtZSgpIGNv
bnN0OwogICAgIEhBTkRMRSBtZW51TGlzdFRoZW1lKCkgY29uc3Q7CiAgICAgSEFORExFIHNsaWRl
clRoZW1lKCkgY29uc3Q7CisgICAgSEFORExFIHNwaW5CdXR0b25UaGVtZSgpIGNvbnN0OwogCiAg
ICAgbXV0YWJsZSBIQU5ETEUgbV9idXR0b25UaGVtZTsKICAgICBtdXRhYmxlIEhBTkRMRSBtX3Rl
eHRGaWVsZFRoZW1lOwogICAgIG11dGFibGUgSEFORExFIG1fbWVudUxpc3RUaGVtZTsKICAgICBt
dXRhYmxlIEhBTkRMRSBtX3NsaWRlclRoZW1lOworICAgIG11dGFibGUgSEFORExFIG1fc3BpbkJ1
dHRvblRoZW1lOwogfTsKIAogfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>