<?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>104873</bug_id>
          
          <creation_ts>2012-12-12 19:14:22 -0800</creation_ts>
          <short_desc>Validity of a radio button is not updated correctly when it is detached from an invalid radio group</short_desc>
          <delta_ts>2012-12-12 21:45:06 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>haraken</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>790201</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-12 19:14:22 -0800</bug_when>
    <thetext>http://code.google.com/p/chromium/issues/detail?id=165464

&lt;form&gt;
  &lt;input type=radio name=g required id=radio2&gt; 
  &lt;input type=radio name=g required id=radio3&gt;
&lt;/form&gt;

If we remove radio2 from the document tree, it should update validity state and should be valid. However it becomes invalid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790255</commentid>
    <comment_count>1</comment_count>
      <attachid>179192</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-12 21:03:10 -0800</bug_when>
    <thetext>Created attachment 179192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790262</commentid>
    <comment_count>2</comment_count>
      <attachid>179192</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-12 21:15:19 -0800</bug_when>
    <thetext>Comment on attachment 179192
Patch

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

&gt; Source/WebCore/html/HTMLInputElement.cpp:1776
&gt; -bool HTMLInputElement::isInRequiredRadioButtonGroup() const
&gt; +bool HTMLInputElement::isInRequiredRadioButtonGroup()

Why do you need to remove const ?

&gt; Source/WebCore/html/HTMLInputElement.h:248
&gt; -    bool isInRequiredRadioButtonGroup() const;
&gt; +    bool isInRequiredRadioButtonGroup();

Ditto.

&gt; LayoutTests/fast/forms/radio/radio-live-validation-style.html:37
&gt; +shouldBeTrue(&apos;$(&quot;radio1&quot;).remove(); radio2.remove(); radio2.webkitMatchesSelector(&quot;:valid&quot;)&apos;);

You might want to also check that radio2.webkitMatchesSelector(&quot;:valid&quot;) is false before removing radio2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790266</commentid>
    <comment_count>3</comment_count>
      <attachid>179192</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-12 21:20:22 -0800</bug_when>
    <thetext>Comment on attachment 179192
Patch

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

&gt;&gt; Source/WebCore/html/HTMLInputElement.cpp:1776
&gt;&gt; +bool HTMLInputElement::isInRequiredRadioButtonGroup()
&gt; 
&gt; Why do you need to remove const ?

RadioButtonGroup::m_member is a HashSet&lt;HTMLInputElement*&gt;
⇨ RadioButtonGroup::contains needs non-const HTMLInputElement*.
⇨ CheckedRadioButtons::isInRequiredGroup needs non-const HTMLInputElement*.
⇨ HTMLInputElement::isInRequiredRadioButtonGroup needs to be non-const.

&gt;&gt; LayoutTests/fast/forms/radio/radio-live-validation-style.html:37
&gt;&gt; +shouldBeTrue(&apos;$(&quot;radio1&quot;).remove(); radio2.remove(); radio2.webkitMatchesSelector(&quot;:valid&quot;)&apos;);
&gt; 
&gt; You might want to also check that radio2.webkitMatchesSelector(&quot;:valid&quot;) is false before removing radio2.

will do</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790267</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-12 21:21:30 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Why do you need to remove const ?
&gt; 
&gt; RadioButtonGroup::m_member is a HashSet&lt;HTMLInputElement*&gt;
&gt; ⇨ RadioButtonGroup::contains needs non-const HTMLInputElement*.
&gt; ⇨ CheckedRadioButtons::isInRequiredGroup needs non-const HTMLInputElement*.
&gt; ⇨ HTMLInputElement::isInRequiredRadioButtonGroup needs to be non-const.

Makes sense. Thanks for the clarification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790273</commentid>
    <comment_count>5</comment_count>
      <attachid>179195</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-12 21:25:43 -0800</bug_when>
    <thetext>Created attachment 179195
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790283</commentid>
    <comment_count>6</comment_count>
      <attachid>179195</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 21:45:02 -0800</bug_when>
    <thetext>Comment on attachment 179195
Patch for landing

Clearing flags on attachment: 179195

Committed r137565: &lt;http://trac.webkit.org/changeset/137565&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790284</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 21:45:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179192</attachid>
            <date>2012-12-12 21:03:10 -0800</date>
            <delta_ts>2012-12-12 21:25:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104873-20121213140030.patch</filename>
            <type>text/plain</type>
            <size>8960</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTE5NjEyZDNkOWU4ZTdl
MmEwOTRmMTc3OWJjNDZjYWQxMWExMjYzMS4uZjFkZTg5NDNkMzI1MjUyOTA1MDg4MjJmNThkNjA5
ZGViNzc5ZjZjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTEyLTEyICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBWYWxpZGl0eSBvZiBhIHJh
ZGlvIGJ1dHRvbiBpcyBub3QgdXBkYXRlZCBjb3JyZWN0bHkgd2hlbiBpdCBpcyBkZXRhY2hlZCBm
cm9tIGFuIGludmFsaWQgcmFkaW8gZ3JvdXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwNDg3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdoZW4gYSByYWRpbyBidXR0b24gaXMgZGV0YWNoZWQgZnJvbSBh
biBpbnZhbGlkIHJhZGlvIGdyb3VwLAorICAgICAgICBBKSB3ZSBzaG91bGQgdXBkYXRlIGJ1dHRv
bidzIHZhbGlkaXR5LCBhbmQKKyAgICAgICAgQikgaXQgc2hvdWxkIGJlIHZhbGlkLgorCisgICAg
ICAgIEEgaXMgaGFuZGxlZCBieSB0aGUgZm9sbG93aW5nIGNvZGUgaW4gUmFkaW9CdXR0b25Hcm91
cDo6cmVtb3ZlLgorICAgICAgICAgICAgaWYgKCF3YXNWYWxpZCkgeworICAgICAgICAgICAgICAg
IC8vIEEgcmFkaW8gYnV0dG9uIG5vdCBpbiBhIGdyb3VwIGlzIGFsd2F5cyB2YWxpZC4gV2UgbmVl
ZCB0byBtYWtlIGl0CisgICAgICAgICAgICAgICAgLy8gdmFsaWQgb25seSBpZiB0aGUgZ3JvdXAg
d2FzIGludmFsaWQuCisgICAgICAgICAgICAgICAgYnV0dG9uLT5zZXROZWVkc1ZhbGlkaXR5Q2hl
Y2soKTsKKworICAgICAgICBCIHdhcyBpbmNvbXBsZXRlLgorICAgICAgICAgICAgYm9vbCBSYWRp
b0lucHV0VHlwZTo6dmFsdWVNaXNzaW5nKGNvbnN0IFN0cmluZyYpIGNvbnN0CisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQoKS0+aXNJblJlcXVpcmVkUmFkaW9C
dXR0b25Hcm91cCgpICYmICFlbGVtZW50KCktPmNoZWNrZWRSYWRpb0J1dHRvbkZvckdyb3VwKCk7
CisgICAgICAgIGlzSW5SZXF1aXJlZFJhZGlvQnV0dG9uR3JvdXAgY2hlY2tlZCByZXF1aXJlZCBz
dGF0ZSBvZiBhIGdyb3VwIHdpdGggdGhlCisgICAgICAgIG5hbWUgYXR0cmlidXRlIHZhbHVlIGV2
ZW4gaWYgdGhlIHJhZGlvIGJ1dHRvbiB3YXMgYWxyZWFkeSBkZXRhY2hlZCBmcm9tCisgICAgICAg
IHRoZSBncm91cC4gaXNJblJlcXVpcmVkUmFkaW9CdXR0b25Hcm91cCBzaG91bGQgY2hlY2sgbWVt
YmVyc2hpcCBvZiB0aGUKKyAgICAgICAgcmFkaW8gYnV0dG9uIHByZWNpc2VseS4KKworICAgICAg
ICBUZXN0czogVXBkYXRlIGZhc3QvZm9ybXMvcmFkaW8vcmFkaW8tbGl2ZS12YWxpZGF0aW9uLXN0
eWxlLmh0bWwKKworICAgICAgICAqIGRvbS9DaGVja2VkUmFkaW9CdXR0b25zLmNwcDoKKyAgICAg
ICAgKFJhZGlvQnV0dG9uR3JvdXApOiBEZWNsYXJlIGNvbnRhaW5zLgorICAgICAgICAoV2ViQ29y
ZTo6UmFkaW9CdXR0b25Hcm91cDo6Y29udGFpbnMpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkNoZWNrZWRSYWRpb0J1dHRvbnM6OmlzSW5SZXF1aXJlZEdyb3VwKTogUmVuYW1lZCBmcm9tCisg
ICAgICAgIGlzUmVxdWlyZWRHcm91cC4gVGhpcyBmdW5jdGlvbiB0YWtlcyBIVE1MSW5wdXRFbGVt
ZW50KiBhcmd1bWVudC4KKyAgICAgICAgKiBkb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5oOgorICAg
ICAgICAoQ2hlY2tlZFJhZGlvQnV0dG9ucyk6IFJlbmFtZSBpc1JlcXVpcmVkR3JvdXAgdG8gaXNJ
blJlcXVpcmVkR3JvdXAuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzSW5SZXF1aXJlZFJhZGlvQnV0dG9u
R3JvdXApOgorICAgICAgICBNYWtlIHRoaXMgbm9uLWNvbnN0IGJlY2F1ZXMgUmFkaW9CdXR0b25H
cm91cDo6bV9tZW1iZXJzIG5lZWRzIG5vbi1jb25zdAorICAgICAgICBwb2ludGVycy4gVXNlIENo
ZWNrZWRSYWRpb0J1dHRvbnM6OmlzSW5SZXF1aXJlZEdyb3VwLgorICAgICAgICAqIGh0bWwvSFRN
TElucHV0RWxlbWVudC5oOgorICAgICAgICAoSFRNTElucHV0RWxlbWVudCk6IE1ha2UgaXNJblJl
cXVpcmVkUmFkaW9CdXR0b25Hcm91cCBub24tY29uc3QuCisKIDIwMTItMTItMTIgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggdGhl
IEdUSysgZGVidWcgYnVsaWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGVja2Vk
UmFkaW9CdXR0b25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9CdXR0b25z
LmNwcAppbmRleCA0YTdmODU4Y2RjMWZiZDhlODk4YzdhYjM3ODI0NjI2MjFlODhlYzY3Li41ZTIy
M2I5MTg2YjM2NDc2MjhjZmNkYTBmOWY3NDYxNThjMTNjM2NlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMuY3BwCkBAIC0zNyw2ICszNyw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHVwZGF0ZUNoZWNrZWRTdGF0ZShIVE1MSW5wdXRFbGVtZW50Kik7CiAgICAgdm9pZCBy
ZXF1aXJlZEF0dHJpYnV0ZUNoYW5nZWQoSFRNTElucHV0RWxlbWVudCopOwogICAgIHZvaWQgcmVt
b3ZlKEhUTUxJbnB1dEVsZW1lbnQqKTsKKyAgICBib29sIGNvbnRhaW5zKEhUTUxJbnB1dEVsZW1l
bnQqKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBSYWRpb0J1dHRvbkdyb3VwKCk7CkBAIC0xNjQs
NiArMTY1LDExIEBAIHZvaWQgUmFkaW9CdXR0b25Hcm91cDo6c2V0TmVlZHNWYWxpZGl0eUNoZWNr
Rm9yQWxsQnV0dG9ucygpCiAgICAgfQogfQogCitib29sIFJhZGlvQnV0dG9uR3JvdXA6OmNvbnRh
aW5zKEhUTUxJbnB1dEVsZW1lbnQqIGJ1dHRvbikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZW1i
ZXJzLmNvbnRhaW5zKGJ1dHRvbik7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogLy8gRXhwbGljaXR5IGRl
ZmluZSBlbXB0eSBjb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3RvciBpbiBvcmRlciB0byBwcmV2ZW50
IHRoZQpAQCAtMjI3LDEyICsyMzMsMTUgQEAgSFRNTElucHV0RWxlbWVudCogQ2hlY2tlZFJhZGlv
QnV0dG9uczo6Y2hlY2tlZEJ1dHRvbkZvckdyb3VwKGNvbnN0IEF0b21pY1N0cmluZyYKICAgICBy
ZXR1cm4gZ3JvdXAgPyBncm91cC0+Y2hlY2tlZEJ1dHRvbigpIDogMDsKIH0KIAotYm9vbCBDaGVj
a2VkUmFkaW9CdXR0b25zOjppc1JlcXVpcmVkR3JvdXAoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
KSBjb25zdAorYm9vbCBDaGVja2VkUmFkaW9CdXR0b25zOjppc0luUmVxdWlyZWRHcm91cChIVE1M
SW5wdXRFbGVtZW50KiBlbGVtZW50KSBjb25zdAogeworICAgIEFTU0VSVChlbGVtZW50LT5pc1Jh
ZGlvQnV0dG9uKCkpOworICAgIGlmIChlbGVtZW50LT5uYW1lKCkuaXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFtX25hbWVUb0dyb3VwTWFwKQogICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgUmFkaW9CdXR0b25Hcm91cCogZ3JvdXAgPSBtX25hbWVUb0dyb3VwTWFw
LT5nZXQobmFtZS5pbXBsKCkpOwotICAgIHJldHVybiBncm91cCAmJiBncm91cC0+aXNSZXF1aXJl
ZCgpOworICAgIFJhZGlvQnV0dG9uR3JvdXAqIGdyb3VwID0gbV9uYW1lVG9Hcm91cE1hcC0+Z2V0
KGVsZW1lbnQtPm5hbWUoKS5pbXBsKCkpOworICAgIHJldHVybiBncm91cCAmJiBncm91cC0+aXNS
ZXF1aXJlZCgpICYmIGdyb3VwLT5jb250YWlucyhlbGVtZW50KTsKIH0KIAogdm9pZCBDaGVja2Vk
UmFkaW9CdXR0b25zOjpyZW1vdmVCdXR0b24oSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9CdXR0b25zLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5oCmluZGV4IDJhZjllOGVkZDMzOGQz
M2ZhZTIwMjJmMGY0N2NiNDc5MzA5NmEwMjUuLmYwNTBmYWE0OGMxNjI0NGM5NzQ1ZTMwMTkwNzJh
ZjYxNzFmNDk0NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9C
dXR0b25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMuaApA
QCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXF1aXJlZEF0dHJpYnV0ZUNoYW5n
ZWQoSFRNTElucHV0RWxlbWVudCopOwogICAgIHZvaWQgcmVtb3ZlQnV0dG9uKEhUTUxJbnB1dEVs
ZW1lbnQqKTsKICAgICBIVE1MSW5wdXRFbGVtZW50KiBjaGVja2VkQnV0dG9uRm9yR3JvdXAoY29u
c3QgQXRvbWljU3RyaW5nJiBncm91cE5hbWUpIGNvbnN0OwotICAgIGJvb2wgaXNSZXF1aXJlZEdy
b3VwKGNvbnN0IEF0b21pY1N0cmluZyYgZ3JvdXBOYW1lKSBjb25zdDsKKyAgICBib29sIGlzSW5S
ZXF1aXJlZEdyb3VwKEhUTUxJbnB1dEVsZW1lbnQqKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICB0
eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIE93blB0cjxSYWRpb0J1dHRvbkdyb3Vw
PiA+IE5hbWVUb0dyb3VwTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAKaW5kZXggYWNhMDM2NGMyNDlhN2FiMWM3M2Y3MmY4MWU3M2M3YWJjYTUwMTg0Yi4uYjkyN2Zk
MzQ5ZTQwMDVlMGI2ZDNkMjM4YzVmZWJiYjkwM2U3ZjUzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xNzczLDExICsxNzczLDExIEBAIHZvaWQgSFRNTElu
cHV0RWxlbWVudDo6c2V0Q2FwdHVyZShjb25zdCBTdHJpbmcmIHZhbHVlKQogCiAjZW5kaWYKIAot
Ym9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc0luUmVxdWlyZWRSYWRpb0J1dHRvbkdyb3VwKCkgY29u
c3QKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6aXNJblJlcXVpcmVkUmFkaW9CdXR0b25Hcm91cCgp
CiB7CiAgICAgQVNTRVJUKGlzUmFkaW9CdXR0b24oKSk7CiAgICAgaWYgKENoZWNrZWRSYWRpb0J1
dHRvbnMqIGJ1dHRvbnMgPSBjaGVja2VkUmFkaW9CdXR0b25zKCkpCi0gICAgICAgIHJldHVybiBi
dXR0b25zLT5pc1JlcXVpcmVkR3JvdXAobmFtZSgpKTsKKyAgICAgICAgcmV0dXJuIGJ1dHRvbnMt
PmlzSW5SZXF1aXJlZEdyb3VwKHRoaXMpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCA1MWM3ODE1NDYyZjRhNjA0NjllMzMw
NzZiMGJjMzNkMjJjZTYwYjcxLi5mNTg3YjA0MjYyM2U0NzRmZmE4NzU2Y2VjODNmNDA0OTIwNTM1
MzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMjQ1LDcgKzI0
NSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgSFRNTElucHV0RWxlbWVudCogY2hlY2tlZFJh
ZGlvQnV0dG9uRm9yR3JvdXAoKSBjb25zdDsKLSAgICBib29sIGlzSW5SZXF1aXJlZFJhZGlvQnV0
dG9uR3JvdXAoKSBjb25zdDsKKyAgICBib29sIGlzSW5SZXF1aXJlZFJhZGlvQnV0dG9uR3JvdXAo
KTsKIAogICAgIC8vIEZ1bmN0aW9ucyBmb3IgSW5wdXRUeXBlIGNsYXNzZXMuCiAgICAgdm9pZCBz
ZXRWYWx1ZUludGVybmFsKGNvbnN0IFN0cmluZyYsIFRleHRGaWVsZEV2ZW50QmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGRlNzcyYjNjM2NkYzVhNTBjM2Q1MWRkODE4MDMxY2JlMzEzYjNiM2YuLjMzYjEwZGJh
ZjJhMGE5OTQ5ZTBhMmE0NDJjNjAyMWNiYzA4MDIxMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxMi0xMi0xMiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
VmFsaWRpdHkgb2YgYSByYWRpbyBidXR0b24gaXMgbm90IHVwZGF0ZWQgY29ycmVjdGx5IHdoZW4g
aXQgaXMgZGV0YWNoZWQgZnJvbSBhbiBpbnZhbGlkIHJhZGlvIGdyb3VwCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ4NzMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvcmFkaW8vcmFk
aW8tbGl2ZS12YWxpZGF0aW9uLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3JhZGlvL3JhZGlvLWxpdmUtdmFsaWRhdGlvbi1zdHlsZS5odG1sOiBBZGQgYSB0ZXN0IGNh
c2UuCisKIDIwMTItMTItMTIgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLiBTa2lwIHNvbWUgY2FwdGlvbnMgdGVzdHMgb24gV2luZG93cy4g
RmFpbGluZyBvbiBib3RoIE1hYyBhbmQgV2luZG93cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvcmFkaW8vcmFkaW8tbGl2ZS12YWxpZGF0aW9uLXN0eWxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8vcmFkaW8tbGl2ZS12YWxpZGF0aW9uLXN0
eWxlLWV4cGVjdGVkLnR4dAppbmRleCA1MjAyMjViYWI0N2IwZGExZTI2Mzk1MTk2OTY3YzEyOTM1
MWVhODk2Li41NzExYzEwZTMzMmYyMjk1YmUwODcyOWI5MTI3OGE3ODM3NjU2Y2YyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWxpdmUtdmFsaWRhdGlvbi1z
dHlsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby9yYWRp
by1saXZlLXZhbGlkYXRpb24tc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC02LDYgKzYsNyBAQCBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURQogUmVtb3ZpbmcgYSBjaGVja2VkIHJhZGlvIGJ1dHRvbiBmcm9t
IGEgcmVxdWlyZWQgcmFkaW8gYnV0dG9uIGdyb3VwIGJ5IGEgRE9NIHRyZWUgbXV0YXRpb246CiBQ
QVNTIGJhY2tncm91bmRPZigkKCJyYWRpbzEiKSkgaXMgdmFsaWRDb2xvcgogUEFTUyBwYXJlbnQu
cmVtb3ZlQ2hpbGQoJCgicmFkaW8yIikpOyBiYWNrZ3JvdW5kT2YoJCgicmFkaW8xIikpIGlzIGlu
dmFsaWRDb2xvcgorUEFTUyAkKCJyYWRpbzEiKS5yZW1vdmUoKTsgcmFkaW8yLnJlbW92ZSgpOyBy
YWRpbzIud2Via2l0TWF0Y2hlc1NlbGVjdG9yKCI6dmFsaWQiKSBpcyB0cnVlCiAKIFJlbW92aW5n
IGEgY2hlY2tlZCByYWRpbyBidXR0b24gZnJvbSBhIHJlcXVpcmVkIHJhZGlvIGJ1dHRvbiBncm91
cCBieSBuYW1lIGF0dHJpYnV0ZSBjaGFuZ2U6CiBQQVNTICQoInJhZGlvMiIpLm5hbWUgPSAiZ3Jv
dXAyIjsgYmFja2dyb3VuZE9mKCQoInJhZGlvMSIpKSBpcyBpbnZhbGlkQ29sb3IKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8vcmFkaW8tbGl2ZS12YWxpZGF0aW9uLXN0
eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWxpdmUtdmFsaWRh
dGlvbi1zdHlsZS5odG1sCmluZGV4IDczMjQ0NDcwYzQ5YTQ4NmEyYmE2N2FlNWUxZGQzN2EzNDI4
NzFlNzAuLmU5NzFlZjkyNDYwMzA1MTA3ZTQxMTY0MGI3ZTFmYTE4YjM2YTczNjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8vcmFkaW8tbGl2ZS12YWxpZGF0aW9uLXN0
eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby9yYWRpby1saXZlLXZh
bGlkYXRpb24tc3R5bGUuaHRtbApAQCAtMzAsNiArMzAsMTEgQEAgcGFyZW50LmlubmVySFRNTCA9
ICc8aW5wdXQgdHlwZT1yYWRpbyBuYW1lPWdyb3VwMSByZXF1aXJlZCBpZD1yYWRpbzE+JyArCiAg
ICAgJzxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9Z3JvdXAxIGNoZWNrZWQgaWQ9cmFkaW8yPic7CiBz
aG91bGRCZSgnYmFja2dyb3VuZE9mKCQoInJhZGlvMSIpKScsICd2YWxpZENvbG9yJyk7CiBzaG91
bGRCZSgncGFyZW50LnJlbW92ZUNoaWxkKCQoInJhZGlvMiIpKTsgYmFja2dyb3VuZE9mKCQoInJh
ZGlvMSIpKScsICdpbnZhbGlkQ29sb3InKTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPGlucHV0IHR5
cGU9cmFkaW8gbmFtZT1ncm91cDEgcmVxdWlyZWQgY2hlY2tlZCBpZD1yYWRpbzE+JyArCisgICAg
JzxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9Z3JvdXAxIHJlcXVpcmVkIGlkPXJhZGlvMj4nICsKKyAg
ICAnPGlucHV0IHR5cGU9cmFkaW8gbmFtZT1ncm91cDEgcmVxdWlyZWQgaWQ9cmFkaW8zPic7Cit2
YXIgcmFkaW8yID0gJCgncmFkaW8yJyk7CitzaG91bGRCZVRydWUoJyQoInJhZGlvMSIpLnJlbW92
ZSgpOyByYWRpbzIucmVtb3ZlKCk7IHJhZGlvMi53ZWJraXRNYXRjaGVzU2VsZWN0b3IoIjp2YWxp
ZCIpJyk7CiBkZWJ1ZygnJyk7CiAKIGRlYnVnKCdSZW1vdmluZyBhIGNoZWNrZWQgcmFkaW8gYnV0
dG9uIGZyb20gYSByZXF1aXJlZCByYWRpbyBidXR0b24gZ3JvdXAgYnkgbmFtZSBhdHRyaWJ1dGUg
Y2hhbmdlOicpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179195</attachid>
            <date>2012-12-12 21:25:43 -0800</date>
            <delta_ts>2012-12-12 21:45:02 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-104873-20121213142303.patch</filename>
            <type>text/plain</type>
            <size>9068</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTE5NjEyZDNkOWU4ZTdl
MmEwOTRmMTc3OWJjNDZjYWQxMWExMjYzMS4uZmNjNDE1ODY4YjM0ZWZiNmZmNmU5NTc5YjlmNzNi
NzRjNzg5YTEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTEyLTEyICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBWYWxpZGl0eSBvZiBhIHJh
ZGlvIGJ1dHRvbiBpcyBub3QgdXBkYXRlZCBjb3JyZWN0bHkgd2hlbiBpdCBpcyBkZXRhY2hlZCBm
cm9tIGFuIGludmFsaWQgcmFkaW8gZ3JvdXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwNDg3MworCisgICAgICAgIFJldmlld2VkIGJ5IEtlbnRhcm8g
SGFyYS4KKworICAgICAgICBXaGVuIGEgcmFkaW8gYnV0dG9uIGlzIGRldGFjaGVkIGZyb20gYW4g
aW52YWxpZCByYWRpbyBncm91cCwKKyAgICAgICAgQSkgd2Ugc2hvdWxkIHVwZGF0ZSBidXR0b24n
cyB2YWxpZGl0eSwgYW5kCisgICAgICAgIEIpIGl0IHNob3VsZCBiZSB2YWxpZC4KKworICAgICAg
ICBBIGlzIGhhbmRsZWQgYnkgdGhlIGZvbGxvd2luZyBjb2RlIGluIFJhZGlvQnV0dG9uR3JvdXA6
OnJlbW92ZS4KKyAgICAgICAgICAgIGlmICghd2FzVmFsaWQpIHsKKyAgICAgICAgICAgICAgICAv
LyBBIHJhZGlvIGJ1dHRvbiBub3QgaW4gYSBncm91cCBpcyBhbHdheXMgdmFsaWQuIFdlIG5lZWQg
dG8gbWFrZSBpdAorICAgICAgICAgICAgICAgIC8vIHZhbGlkIG9ubHkgaWYgdGhlIGdyb3VwIHdh
cyBpbnZhbGlkLgorICAgICAgICAgICAgICAgIGJ1dHRvbi0+c2V0TmVlZHNWYWxpZGl0eUNoZWNr
KCk7CisKKyAgICAgICAgQiB3YXMgaW5jb21wbGV0ZS4KKyAgICAgICAgICAgIGJvb2wgUmFkaW9J
bnB1dFR5cGU6OnZhbHVlTWlzc2luZyhjb25zdCBTdHJpbmcmKSBjb25zdAorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50KCktPmlzSW5SZXF1aXJlZFJhZGlvQnV0
dG9uR3JvdXAoKSAmJiAhZWxlbWVudCgpLT5jaGVja2VkUmFkaW9CdXR0b25Gb3JHcm91cCgpOwor
ICAgICAgICBpc0luUmVxdWlyZWRSYWRpb0J1dHRvbkdyb3VwIGNoZWNrZWQgcmVxdWlyZWQgc3Rh
dGUgb2YgYSBncm91cCB3aXRoIHRoZQorICAgICAgICBuYW1lIGF0dHJpYnV0ZSB2YWx1ZSBldmVu
IGlmIHRoZSByYWRpbyBidXR0b24gd2FzIGFscmVhZHkgZGV0YWNoZWQgZnJvbQorICAgICAgICB0
aGUgZ3JvdXAuIGlzSW5SZXF1aXJlZFJhZGlvQnV0dG9uR3JvdXAgc2hvdWxkIGNoZWNrIG1lbWJl
cnNoaXAgb2YgdGhlCisgICAgICAgIHJhZGlvIGJ1dHRvbiBwcmVjaXNlbHkuCisKKyAgICAgICAg
VGVzdHM6IFVwZGF0ZSBmYXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWxpdmUtdmFsaWRhdGlvbi1zdHls
ZS5odG1sCisKKyAgICAgICAgKiBkb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5jcHA6CisgICAgICAg
IChSYWRpb0J1dHRvbkdyb3VwKTogRGVjbGFyZSBjb250YWlucy4KKyAgICAgICAgKFdlYkNvcmU6
OlJhZGlvQnV0dG9uR3JvdXA6OmNvbnRhaW5zKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpD
aGVja2VkUmFkaW9CdXR0b25zOjppc0luUmVxdWlyZWRHcm91cCk6IFJlbmFtZWQgZnJvbQorICAg
ICAgICBpc1JlcXVpcmVkR3JvdXAuIFRoaXMgZnVuY3Rpb24gdGFrZXMgSFRNTElucHV0RWxlbWVu
dCogYXJndW1lbnQuCisgICAgICAgICogZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMuaDoKKyAgICAg
ICAgKENoZWNrZWRSYWRpb0J1dHRvbnMpOiBSZW5hbWUgaXNSZXF1aXJlZEdyb3VwIHRvIGlzSW5S
ZXF1aXJlZEdyb3VwLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojppc0luUmVxdWlyZWRSYWRpb0J1dHRvbkdy
b3VwKToKKyAgICAgICAgTWFrZSB0aGlzIG5vbi1jb25zdCBiZWNhdWVzIFJhZGlvQnV0dG9uR3Jv
dXA6Om1fbWVtYmVycyBuZWVkcyBub24tY29uc3QKKyAgICAgICAgcG9pbnRlcnMuIFVzZSBDaGVj
a2VkUmFkaW9CdXR0b25zOjppc0luUmVxdWlyZWRHcm91cC4KKyAgICAgICAgKiBodG1sL0hUTUxJ
bnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxJbnB1dEVsZW1lbnQpOiBNYWtlIGlzSW5SZXF1
aXJlZFJhZGlvQnV0dG9uR3JvdXAgbm9uLWNvbnN0LgorCiAyMDEyLTEyLTEyICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IHRoZSBH
VEsrIGRlYnVnIGJ1bGlkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hlY2tlZFJh
ZGlvQnV0dG9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5j
cHAKaW5kZXggNGE3Zjg1OGNkYzFmYmQ4ZTg5OGM3YWIzNzgyNDYyNjIxZTg4ZWM2Ny4uNWUyMjNi
OTE4NmIzNjQ3NjI4Y2ZjZGEwZjlmNzQ2MTU4YzEzYzNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9DaGVja2VkUmFkaW9CdXR0b25zLmNwcApAQCAtMzcsNiArMzcsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCB1cGRhdGVDaGVja2VkU3RhdGUoSFRNTElucHV0RWxlbWVudCopOwogICAgIHZvaWQgcmVx
dWlyZWRBdHRyaWJ1dGVDaGFuZ2VkKEhUTUxJbnB1dEVsZW1lbnQqKTsKICAgICB2b2lkIHJlbW92
ZShIVE1MSW5wdXRFbGVtZW50Kik7CisgICAgYm9vbCBjb250YWlucyhIVE1MSW5wdXRFbGVtZW50
KikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgUmFkaW9CdXR0b25Hcm91cCgpOwpAQCAtMTY0LDYg
KzE2NSwxMSBAQCB2b2lkIFJhZGlvQnV0dG9uR3JvdXA6OnNldE5lZWRzVmFsaWRpdHlDaGVja0Zv
ckFsbEJ1dHRvbnMoKQogICAgIH0KIH0KIAorYm9vbCBSYWRpb0J1dHRvbkdyb3VwOjpjb250YWlu
cyhIVE1MSW5wdXRFbGVtZW50KiBidXR0b24pIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWVtYmVy
cy5jb250YWlucyhidXR0b24pOworfQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIC8vIEV4cGxpY2l0eSBkZWZp
bmUgZW1wdHkgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IgaW4gb3JkZXIgdG8gcHJldmVudCB0
aGUKQEAgLTIyNywxMiArMjMzLDE1IEBAIEhUTUxJbnB1dEVsZW1lbnQqIENoZWNrZWRSYWRpb0J1
dHRvbnM6OmNoZWNrZWRCdXR0b25Gb3JHcm91cChjb25zdCBBdG9taWNTdHJpbmcmCiAgICAgcmV0
dXJuIGdyb3VwID8gZ3JvdXAtPmNoZWNrZWRCdXR0b24oKSA6IDA7CiB9CiAKLWJvb2wgQ2hlY2tl
ZFJhZGlvQnV0dG9uczo6aXNSZXF1aXJlZEdyb3VwKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkg
Y29uc3QKK2Jvb2wgQ2hlY2tlZFJhZGlvQnV0dG9uczo6aXNJblJlcXVpcmVkR3JvdXAoSFRNTElu
cHV0RWxlbWVudCogZWxlbWVudCkgY29uc3QKIHsKKyAgICBBU1NFUlQoZWxlbWVudC0+aXNSYWRp
b0J1dHRvbigpKTsKKyAgICBpZiAoZWxlbWVudC0+bmFtZSgpLmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmICghbV9uYW1lVG9Hcm91cE1hcCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIFJhZGlvQnV0dG9uR3JvdXAqIGdyb3VwID0gbV9uYW1lVG9Hcm91cE1hcC0+
Z2V0KG5hbWUuaW1wbCgpKTsKLSAgICByZXR1cm4gZ3JvdXAgJiYgZ3JvdXAtPmlzUmVxdWlyZWQo
KTsKKyAgICBSYWRpb0J1dHRvbkdyb3VwKiBncm91cCA9IG1fbmFtZVRvR3JvdXBNYXAtPmdldChl
bGVtZW50LT5uYW1lKCkuaW1wbCgpKTsKKyAgICByZXR1cm4gZ3JvdXAgJiYgZ3JvdXAtPmlzUmVx
dWlyZWQoKSAmJiBncm91cC0+Y29udGFpbnMoZWxlbWVudCk7CiB9CiAKIHZvaWQgQ2hlY2tlZFJh
ZGlvQnV0dG9uczo6cmVtb3ZlQnV0dG9uKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMuaAppbmRleCAyYWY5ZThlZGQzMzhkMzNm
YWUyMDIyZjBmNDdjYjQ3OTMwOTZhMDI1Li5mMDUwZmFhNDhjMTYyNDRjOTc0NWUzMDE5MDcyYWY2
MTcxZjQ5NDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hlY2tlZFJhZGlvQnV0
dG9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9CdXR0b25zLmgKQEAg
LTQxLDcgKzQxLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVxdWlyZWRBdHRyaWJ1dGVDaGFuZ2Vk
KEhUTUxJbnB1dEVsZW1lbnQqKTsKICAgICB2b2lkIHJlbW92ZUJ1dHRvbihIVE1MSW5wdXRFbGVt
ZW50Kik7CiAgICAgSFRNTElucHV0RWxlbWVudCogY2hlY2tlZEJ1dHRvbkZvckdyb3VwKGNvbnN0
IEF0b21pY1N0cmluZyYgZ3JvdXBOYW1lKSBjb25zdDsKLSAgICBib29sIGlzUmVxdWlyZWRHcm91
cChjb25zdCBBdG9taWNTdHJpbmcmIGdyb3VwTmFtZSkgY29uc3Q7CisgICAgYm9vbCBpc0luUmVx
dWlyZWRHcm91cChIVE1MSW5wdXRFbGVtZW50KikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgdHlw
ZWRlZiBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBPd25QdHI8UmFkaW9CdXR0b25Hcm91cD4g
PiBOYW1lVG9Hcm91cE1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3Bw
CmluZGV4IGFjYTAzNjRjMjQ5YTdhYjFjNzNmNzJmODFlNzNjN2FiY2E1MDE4NGIuLmI5MjdmZDM0
OWU0MDA1ZTBiNmQzZDIzOGM1ZmViYmI5MDNlN2Y1MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcApAQCAtMTc3MywxMSArMTc3MywxMSBAQCB2b2lkIEhUTUxJbnB1
dEVsZW1lbnQ6OnNldENhcHR1cmUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIAogI2VuZGlmCiAKLWJv
b2wgSFRNTElucHV0RWxlbWVudDo6aXNJblJlcXVpcmVkUmFkaW9CdXR0b25Hcm91cCgpIGNvbnN0
Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzSW5SZXF1aXJlZFJhZGlvQnV0dG9uR3JvdXAoKQog
ewogICAgIEFTU0VSVChpc1JhZGlvQnV0dG9uKCkpOwogICAgIGlmIChDaGVja2VkUmFkaW9CdXR0
b25zKiBidXR0b25zID0gY2hlY2tlZFJhZGlvQnV0dG9ucygpKQotICAgICAgICByZXR1cm4gYnV0
dG9ucy0+aXNSZXF1aXJlZEdyb3VwKG5hbWUoKSk7CisgICAgICAgIHJldHVybiBidXR0b25zLT5p
c0luUmVxdWlyZWRHcm91cCh0aGlzKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggNTFjNzgxNTQ2MmY0YTYwNDY5ZTMzMDc2
YjBiYzMzZDIyY2U2MGI3MS4uZjU4N2IwNDI2MjNlNDc0ZmZhODc1NmNlYzgzZjQwNDkyMDUzNTM2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTI0NSw3ICsyNDUs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIEhUTUxJbnB1dEVsZW1lbnQqIGNoZWNrZWRSYWRp
b0J1dHRvbkZvckdyb3VwKCkgY29uc3Q7Ci0gICAgYm9vbCBpc0luUmVxdWlyZWRSYWRpb0J1dHRv
bkdyb3VwKCkgY29uc3Q7CisgICAgYm9vbCBpc0luUmVxdWlyZWRSYWRpb0J1dHRvbkdyb3VwKCk7
CiAKICAgICAvLyBGdW5jdGlvbnMgZm9yIElucHV0VHlwZSBjbGFzc2VzLgogICAgIHZvaWQgc2V0
VmFsdWVJbnRlcm5hbChjb25zdCBTdHJpbmcmLCBUZXh0RmllbGRFdmVudEJlaGF2aW9yKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBkZTc3MmIzYzNjZGM1YTUwYzNkNTFkZDgxODAzMWNiZTMxM2IzYjNmLi4wMTc2ZmUwOWM5
YTU2YWZlNDNmMjFlNzAxYzgxN2EzZmNjZDQ5NDhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTItMTItMTIgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFZh
bGlkaXR5IG9mIGEgcmFkaW8gYnV0dG9uIGlzIG5vdCB1cGRhdGVkIGNvcnJlY3RseSB3aGVuIGl0
IGlzIGRldGFjaGVkIGZyb20gYW4gaW52YWxpZCByYWRpbyBncm91cAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0ODczCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgS2VudGFybyBIYXJhLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9yYWRpby9yYWRpby1s
aXZlLXZhbGlkYXRpb24tc3R5bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMv
cmFkaW8vcmFkaW8tbGl2ZS12YWxpZGF0aW9uLXN0eWxlLmh0bWw6IEFkZCBhIHRlc3QgY2FzZS4K
KwogMjAxMi0xMi0xMiAgUm9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQuIFNraXAgc29tZSBjYXB0aW9ucyB0ZXN0cyBvbiBXaW5kb3dzLiBGYWls
aW5nIG9uIGJvdGggTWFjIGFuZCBXaW5kb3dzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9yYWRpby9yYWRpby1saXZlLXZhbGlkYXRpb24tc3R5bGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby9yYWRpby1saXZlLXZhbGlkYXRpb24tc3R5bGUt
ZXhwZWN0ZWQudHh0CmluZGV4IDUyMDIyNWJhYjQ3YjBkYTFlMjYzOTUxOTY5NjdjMTI5MzUxZWE4
OTYuLjJhNzJiOTg0MWRkZDNlMDVlZTczYTQ2NzI2NGEwMDQxZmYwNGEyNDIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8vcmFkaW8tbGl2ZS12YWxpZGF0aW9uLXN0eWxl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWxp
dmUtdmFsaWRhdGlvbi1zdHlsZS1leHBlY3RlZC50eHQKQEAgLTYsNiArNiw4IEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFCiBSZW1vdmluZyBhIGNoZWNrZWQgcmFkaW8gYnV0dG9uIGZyb20gYSBy
ZXF1aXJlZCByYWRpbyBidXR0b24gZ3JvdXAgYnkgYSBET00gdHJlZSBtdXRhdGlvbjoKIFBBU1Mg
YmFja2dyb3VuZE9mKCQoInJhZGlvMSIpKSBpcyB2YWxpZENvbG9yCiBQQVNTIHBhcmVudC5yZW1v
dmVDaGlsZCgkKCJyYWRpbzIiKSk7IGJhY2tncm91bmRPZigkKCJyYWRpbzEiKSkgaXMgaW52YWxp
ZENvbG9yCitQQVNTICQoInJhZGlvMSIpLnJlbW92ZSgpOyByYWRpbzIud2Via2l0TWF0Y2hlc1Nl
bGVjdG9yKCI6dmFsaWQiKSBpcyBmYWxzZQorUEFTUyByYWRpbzIucmVtb3ZlKCk7IHJhZGlvMi53
ZWJraXRNYXRjaGVzU2VsZWN0b3IoIjp2YWxpZCIpIGlzIHRydWUKIAogUmVtb3ZpbmcgYSBjaGVj
a2VkIHJhZGlvIGJ1dHRvbiBmcm9tIGEgcmVxdWlyZWQgcmFkaW8gYnV0dG9uIGdyb3VwIGJ5IG5h
bWUgYXR0cmlidXRlIGNoYW5nZToKIFBBU1MgJCgicmFkaW8yIikubmFtZSA9ICJncm91cDIiOyBi
YWNrZ3JvdW5kT2YoJCgicmFkaW8xIikpIGlzIGludmFsaWRDb2xvcgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby9yYWRpby1saXZlLXZhbGlkYXRpb24tc3R5bGUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8vcmFkaW8tbGl2ZS12YWxpZGF0aW9uLXN0
eWxlLmh0bWwKaW5kZXggNzMyNDQ0NzBjNDlhNDg2YTJiYTY3YWU1ZTFkZDM3YTM0Mjg3MWU3MC4u
ZTg5MGFjM2ZhOWQxMjU2N2RlN2YwZjQ2MzBmNmIxOTUwNjhhY2RlYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby9yYWRpby1saXZlLXZhbGlkYXRpb24tc3R5bGUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWxpdmUtdmFsaWRhdGlv
bi1zdHlsZS5odG1sCkBAIC0zMCw2ICszMCwxMiBAQCBwYXJlbnQuaW5uZXJIVE1MID0gJzxpbnB1
dCB0eXBlPXJhZGlvIG5hbWU9Z3JvdXAxIHJlcXVpcmVkIGlkPXJhZGlvMT4nICsKICAgICAnPGlu
cHV0IHR5cGU9cmFkaW8gbmFtZT1ncm91cDEgY2hlY2tlZCBpZD1yYWRpbzI+JzsKIHNob3VsZEJl
KCdiYWNrZ3JvdW5kT2YoJCgicmFkaW8xIikpJywgJ3ZhbGlkQ29sb3InKTsKIHNob3VsZEJlKCdw
YXJlbnQucmVtb3ZlQ2hpbGQoJCgicmFkaW8yIikpOyBiYWNrZ3JvdW5kT2YoJCgicmFkaW8xIikp
JywgJ2ludmFsaWRDb2xvcicpOworcGFyZW50LmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1yYWRp
byBuYW1lPWdyb3VwMSByZXF1aXJlZCBjaGVja2VkIGlkPXJhZGlvMT4nICsKKyAgICAnPGlucHV0
IHR5cGU9cmFkaW8gbmFtZT1ncm91cDEgcmVxdWlyZWQgaWQ9cmFkaW8yPicgKworICAgICc8aW5w
dXQgdHlwZT1yYWRpbyBuYW1lPWdyb3VwMSByZXF1aXJlZCBpZD1yYWRpbzM+JzsKK3ZhciByYWRp
bzIgPSAkKCdyYWRpbzInKTsKK3Nob3VsZEJlRmFsc2UoJyQoInJhZGlvMSIpLnJlbW92ZSgpOyBy
YWRpbzIud2Via2l0TWF0Y2hlc1NlbGVjdG9yKCI6dmFsaWQiKScpOworc2hvdWxkQmVUcnVlKCdy
YWRpbzIucmVtb3ZlKCk7IHJhZGlvMi53ZWJraXRNYXRjaGVzU2VsZWN0b3IoIjp2YWxpZCIpJyk7
CiBkZWJ1ZygnJyk7CiAKIGRlYnVnKCdSZW1vdmluZyBhIGNoZWNrZWQgcmFkaW8gYnV0dG9uIGZy
b20gYSByZXF1aXJlZCByYWRpbyBidXR0b24gZ3JvdXAgYnkgbmFtZSBhdHRyaWJ1dGUgY2hhbmdl
OicpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>