<?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>54425</bug_id>
          
          <creation_ts>2011-02-14 17:50:22 -0800</creation_ts>
          <short_desc>Extract a function to process ancestor and their sibling nodes from processContents</short_desc>
          <delta_ts>2011-02-15 21:05:56 -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>DOM</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>51006</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>351021</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-14 17:50:22 -0800</bug_when>
    <thetext>This is a cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351025</commentid>
    <comment_count>1</comment_count>
      <attachid>82400</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-14 17:57:50 -0800</bug_when>
    <thetext>Created attachment 82400
54425</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351336</commentid>
    <comment_count>2</comment_count>
      <attachid>82400</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-15 09:15:07 -0800</bug_when>
    <thetext>Comment on attachment 82400
54425

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

Seems OK. Not sure it needs to be a member function. I don’t see uses of data or function members. If I am right it could be a static member function or event a non-member function. Non-member would be good because we wouldn’t have to touch the header file.

&gt; Source/WebCore/dom/Range.cpp:866
&gt; +    return clonedContainer;

Should be clonedContainer.release().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351680</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-15 15:53:38 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 82400 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=82400&amp;action=review
&gt; 
&gt; Seems OK. Not sure it needs to be a member function. I don’t see uses of data or function members. If I am right it could be a static member function or event a non-member function. Non-member would be good because we wouldn’t have to touch the header file.

The reason this function had to be a member function was because ActionType is declared private.  I could make ActionType public as well but then it seems to unnecessarily pollute WebCore namespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351682</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-15 15:54:16 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; The reason this function had to be a member function was because ActionType is declared private.

OK. It can be a static member function, then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351774</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-15 17:45:40 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; The reason this function had to be a member function was because ActionType is declared private.
&gt; 
&gt; OK. It can be a static member function, then.

Yes, I&apos;ll make processContentsBetweenOffsets and processAncestorsAndTheirSiblings static functions before landing it.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351779</commentid>
    <comment_count>6</comment_count>
      <attachid>82561</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-15 17:48:50 -0800</bug_when>
    <thetext>Created attachment 82561
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351863</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-15 21:04:11 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 82561:

media/invalid-media-url-crash.html bug 51138 (author: inferno@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351864</commentid>
    <comment_count>8</comment_count>
      <attachid>82561</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-15 21:05:50 -0800</bug_when>
    <thetext>Comment on attachment 82561
Patch for landing

Clearing flags on attachment: 82561

Committed r78679: &lt;http://trac.webkit.org/changeset/78679&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351865</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-15 21:05:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82400</attachid>
            <date>2011-02-14 17:57:50 -0800</date>
            <delta_ts>2011-02-15 17:48:45 -0800</delta_ts>
            <desc>54425</desc>
            <filename>bug-54425-20110215105748.patch</filename>
            <type>text/plain</type>
            <size>8065</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NTI2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDItMTQgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRXh0cmFjdCBhIGZ1bmN0aW9uIHRvIHByb2Nlc3MgYW5jZXN0b3Ig
YW5kIHRoZWlyIHNpYmxpbmcgbm9kZXMgZnJvbSBwcm9jZXNzQ29udGVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NDI1CisKKyAgICAgICAgRXh0
cmFjdGVkIHByb2Nlc3NBbmNlc3RvcnNBbmRUaGVpclNpYmxpbmdzLgorCisgICAgICAgICogZG9t
L1JhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlOjpwcm9jZXNzQ29udGVudHMpOiBD
YWxscyBwcm9jZXNzQ29udGVudHMuCisgICAgICAgIChXZWJDb3JlOjpSYW5nZTo6cHJvY2Vzc0Fu
Y2VzdG9yc0FuZFRoZWlyU2libGluZ3MpOiBFeHRyYWN0ZWQgZnJvbSBwcm9jZXNzQ29udGVudHMu
CisgICAgICAgICogZG9tL1JhbmdlLmg6CisKIDIwMTEtMDItMTEgIEplcmVteSBPcmxvdyAgPGpv
cmxvd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmF0ZSBDaGFwaW4uCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9SYW5nZS5jcHAJKHJldmlzaW9uIDc4NDE3KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL1JhbmdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjU3LDYzICs2NTcsMTYgQEAgUGFzc1Jl
ZlB0cjxEb2N1bWVudEZyYWdtZW50PiBSYW5nZTo6cHJvYwogICAgIFJlZlB0cjxOb2RlPiBsZWZ0
Q29udGVudHM7CiAgICAgaWYgKG1fc3RhcnQuY29udGFpbmVyKCkgIT0gY29tbW9uUm9vdCkgewog
ICAgICAgICBsZWZ0Q29udGVudHMgPSBwcm9jZXNzQ29udGVudHNCZXR3ZWVuT2Zmc2V0cyhhY3Rp
b24sIDAsIG1fc3RhcnQuY29udGFpbmVyKCksIG1fc3RhcnQub2Zmc2V0KCksIGxlbmd0aE9mQ29u
dGVudHNJbk5vZGUoKSwgZWMpOwotCi0gICAgICAgIE5vZGVWZWN0b3IgYW5jZXN0b3JOb2RlczsK
LSAgICAgICAgZm9yIChDb250YWluZXJOb2RlKiBuID0gbV9zdGFydC5jb250YWluZXIoKS0+cGFy
ZW50Tm9kZSgpOyBuICYmIG4gIT0gY29tbW9uUm9vdDsgbiA9IG4tPnBhcmVudE5vZGUoKSkKLSAg
ICAgICAgICAgIGFuY2VzdG9yTm9kZXMuYXBwZW5kKG4pOwotICAgICAgICBSZWZQdHI8Tm9kZT4g
biA9IG1fc3RhcnQuY29udGFpbmVyKCktPm5leHRTaWJsaW5nKCk7Ci0gICAgICAgIGZvciAoTm9k
ZVZlY3Rvcjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBhbmNlc3Rvck5vZGVzLmJlZ2luKCk7IGl0ICE9
IGFuY2VzdG9yTm9kZXMuZW5kKCk7IGl0KyspIHsKLSAgICAgICAgICAgIE5vZGUqIGxlZnRQYXJl
bnQgPSBpdC0+Z2V0KCk7Ci0gICAgICAgICAgICBpZiAoYWN0aW9uID09IEVYVFJBQ1RfQ09OVEVO
VFMgfHwgYWN0aW9uID09IENMT05FX0NPTlRFTlRTKSB7Ci0gICAgICAgICAgICAgICAgUmVmUHRy
PE5vZGU+IGxlZnRDb250ZW50c1BhcmVudCA9IGxlZnRQYXJlbnQtPmNsb25lTm9kZShmYWxzZSk7
Ci0gICAgICAgICAgICAgICAgaWYgKGxlZnRDb250ZW50c1BhcmVudCkgeyAvLyBNaWdodCBoYXZl
IGJlZW4gcmVtb3ZlZCBhbHJlYWR5IGR1cmluZyBtdXRhdGlvbiBldmVudC4KLSAgICAgICAgICAg
ICAgICAgICAgbGVmdENvbnRlbnRzUGFyZW50LT5hcHBlbmRDaGlsZChsZWZ0Q29udGVudHMsIGVj
KTsKLSAgICAgICAgICAgICAgICAgICAgbGVmdENvbnRlbnRzID0gbGVmdENvbnRlbnRzUGFyZW50
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgUmVmUHRy
PE5vZGU+IG5leHQ7Ci0gICAgICAgICAgICBmb3IgKDsgbjsgbiA9IG5leHQpIHsKLSAgICAgICAg
ICAgICAgICBuZXh0ID0gbi0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgICAgICAgICBpZiAoYWN0
aW9uID09IEVYVFJBQ1RfQ09OVEVOVFMpCi0gICAgICAgICAgICAgICAgICAgIGxlZnRDb250ZW50
cy0+YXBwZW5kQ2hpbGQobi5nZXQoKSwgZWMpOyAvLyB3aWxsIHJlbW92ZSBuIGZyb20gbGVmdFBh
cmVudAotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGFjdGlvbiA9PSBDTE9ORV9DT05URU5UUykK
LSAgICAgICAgICAgICAgICAgICAgbGVmdENvbnRlbnRzLT5hcHBlbmRDaGlsZChuLT5jbG9uZU5v
ZGUodHJ1ZSksIGVjKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
IGxlZnRQYXJlbnQtPnJlbW92ZUNoaWxkKG4uZ2V0KCksIGVjKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIG4gPSBsZWZ0UGFyZW50LT5uZXh0U2libGluZygpOwotICAgICAgICB9CisgICAg
ICAgIGxlZnRDb250ZW50cyA9IHByb2Nlc3NBbmNlc3RvcnNBbmRUaGVpclNpYmxpbmdzKGFjdGlv
biwgbV9zdGFydC5jb250YWluZXIoKSwgUHJvY2Vzc0NvbnRlbnRzRm9yd2FyZCwgbGVmdENvbnRl
bnRzLCBjb21tb25Sb290LCBlYyk7CiAgICAgfQogCiAgICAgUmVmUHRyPE5vZGU+IHJpZ2h0Q29u
dGVudHM7CiAgICAgaWYgKG1fZW5kLmNvbnRhaW5lcigpICE9IGNvbW1vblJvb3QpIHsKICAgICAg
ICAgcmlnaHRDb250ZW50cyA9IHByb2Nlc3NDb250ZW50c0JldHdlZW5PZmZzZXRzKGFjdGlvbiwg
MCwgbV9lbmQuY29udGFpbmVyKCksIDAsIG1fZW5kLm9mZnNldCgpLCBlYyk7Ci0KLSAgICAgICAg
Q29udGFpbmVyTm9kZSogcmlnaHRQYXJlbnQgPSBtX2VuZC5jb250YWluZXIoKS0+cGFyZW50Tm9k
ZSgpOwotICAgICAgICBOb2RlKiBuID0gbV9lbmQuY29udGFpbmVyKCktPnByZXZpb3VzU2libGlu
ZygpOwotICAgICAgICBmb3IgKDsgcmlnaHRQYXJlbnQgIT0gY29tbW9uUm9vdDsgcmlnaHRQYXJl
bnQgPSByaWdodFBhcmVudC0+cGFyZW50Tm9kZSgpKSB7Ci0gICAgICAgICAgICBpZiAoYWN0aW9u
ID09IEVYVFJBQ1RfQ09OVEVOVFMgfHwgYWN0aW9uID09IENMT05FX0NPTlRFTlRTKSB7Ci0gICAg
ICAgICAgICAgICAgUmVmUHRyPE5vZGU+IHJpZ2h0Q29udGVudHNQYXJlbnQgPSByaWdodFBhcmVu
dC0+Y2xvbmVOb2RlKGZhbHNlKTsKLSAgICAgICAgICAgICAgICByaWdodENvbnRlbnRzUGFyZW50
LT5hcHBlbmRDaGlsZChyaWdodENvbnRlbnRzLCBlYyk7Ci0gICAgICAgICAgICAgICAgcmlnaHRD
b250ZW50cyA9IHJpZ2h0Q29udGVudHNQYXJlbnQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBOb2RlKiBwcmV2OwotICAgICAgICAgICAgZm9yICg7IG47IG4gPSBwcmV2KSB7Ci0gICAgICAg
ICAgICAgICAgcHJldiA9IG4tPnByZXZpb3VzU2libGluZygpOwotICAgICAgICAgICAgICAgIGlm
IChhY3Rpb24gPT0gRVhUUkFDVF9DT05URU5UUykKLSAgICAgICAgICAgICAgICAgICAgcmlnaHRD
b250ZW50cy0+aW5zZXJ0QmVmb3JlKG4sIHJpZ2h0Q29udGVudHMtPmZpcnN0Q2hpbGQoKSwgZWMp
OyAvLyB3aWxsIHJlbW92ZSBuIGZyb20gaXRzIHBhcmVudAotICAgICAgICAgICAgICAgIGVsc2Ug
aWYgKGFjdGlvbiA9PSBDTE9ORV9DT05URU5UUykKLSAgICAgICAgICAgICAgICAgICAgcmlnaHRD
b250ZW50cy0+aW5zZXJ0QmVmb3JlKG4tPmNsb25lTm9kZSh0cnVlKSwgcmlnaHRDb250ZW50cy0+
Zmlyc3RDaGlsZCgpLCBlYyk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg
ICAgICByaWdodFBhcmVudC0+cmVtb3ZlQ2hpbGQobiwgZWMpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgbiA9IHJpZ2h0UGFyZW50LT5wcmV2aW91c1NpYmxpbmcoKTsKLSAgICAgICAgfQor
ICAgICAgICByaWdodENvbnRlbnRzID0gcHJvY2Vzc0FuY2VzdG9yc0FuZFRoZWlyU2libGluZ3Mo
YWN0aW9uLCBtX2VuZC5jb250YWluZXIoKSwgUHJvY2Vzc0NvbnRlbnRzQmFja3dhcmQsIHJpZ2h0
Q29udGVudHMsIGNvbW1vblJvb3QsIGVjKTsKICAgICB9CiAKICAgICAvLyBkZWxldGUgYWxsIGNo
aWxkcmVuIG9mIGNvbW1vblJvb3QgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCBjb250YWluZXIK
LQogICAgIE5vZGUqIHByb2Nlc3NTdGFydDsgLy8gY2hpbGQgb2YgY29tbW9uUm9vdAogICAgIGlm
IChtX3N0YXJ0LmNvbnRhaW5lcigpID09IGNvbW1vblJvb3QpIHsKICAgICAgICAgcHJvY2Vzc1N0
YXJ0ID0gbV9zdGFydC5jb250YWluZXIoKS0+Zmlyc3RDaGlsZCgpOwpAQCAtODY2LDYgKzgxOSw1
MyBAQCBQYXNzUmVmUHRyPE5vZGU+IFJhbmdlOjpwcm9jZXNzQ29udGVudHNCCiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIAorUGFzc1JlZlB0cjxOb2RlPiBSYW5nZTo6cHJvY2Vzc0FuY2VzdG9yc0Fu
ZFRoZWlyU2libGluZ3MoQWN0aW9uVHlwZSBhY3Rpb24sIE5vZGUqIGNvbnRhaW5lciwgQ29udGVu
dHNQcm9jZXNzRGlyZWN0aW9uIGRpcmVjdGlvbiwgUGFzc1JlZlB0cjxOb2RlPiBwYXNzZWRDbG9u
ZWRDb250YWluZXIsIE5vZGUqIGNvbW1vblJvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAg
IFJlZlB0cjxOb2RlPiBjbG9uZWRDb250YWluZXIgPSBwYXNzZWRDbG9uZWRDb250YWluZXI7Cisg
ICAgVmVjdG9yPFJlZlB0cjxOb2RlPiA+IGFuY2VzdG9yczsKKyAgICBmb3IgKENvbnRhaW5lck5v
ZGUqIG4gPSBjb250YWluZXItPnBhcmVudE5vZGUoKTsgbiAmJiBuICE9IGNvbW1vblJvb3Q7IG4g
PSBuLT5wYXJlbnROb2RlKCkpCisgICAgICAgIGFuY2VzdG9ycy5hcHBlbmQobik7CisKKyAgICBS
ZWZQdHI8Tm9kZT4gZmlyc3RDaGlsZEluQW5jZXN0b3JUb1Byb2Nlc3MgPSBkaXJlY3Rpb24gPT0g
UHJvY2Vzc0NvbnRlbnRzRm9yd2FyZCA/IGNvbnRhaW5lci0+bmV4dFNpYmxpbmcoKSA6IGNvbnRh
aW5lci0+cHJldmlvdXNTaWJsaW5nKCk7CisgICAgZm9yIChWZWN0b3I8UmVmUHRyPE5vZGU+ID46
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gYW5jZXN0b3JzLmJlZ2luKCk7IGl0ICE9IGFuY2VzdG9ycy5l
bmQoKTsgaXQrKykgeworICAgICAgICBSZWZQdHI8Tm9kZT4gYW5jZXN0b3IgPSAqaXQ7CisgICAg
ICAgIGlmIChhY3Rpb24gPT0gRVhUUkFDVF9DT05URU5UUyB8fCBhY3Rpb24gPT0gQ0xPTkVfQ09O
VEVOVFMpIHsKKyAgICAgICAgICAgIGlmIChSZWZQdHI8Tm9kZT4gY2xvbmVkQW5jZXN0b3IgPSBh
bmNlc3Rvci0+Y2xvbmVOb2RlKGZhbHNlKSkgeyAvLyBNaWdodCBoYXZlIGJlZW4gcmVtb3ZlZCBh
bHJlYWR5IGR1cmluZyBtdXRhdGlvbiBldmVudC4KKyAgICAgICAgICAgICAgICBjbG9uZWRBbmNl
c3Rvci0+YXBwZW5kQ2hpbGQoY2xvbmVkQ29udGFpbmVyLCBlYyk7CisgICAgICAgICAgICAgICAg
Y2xvbmVkQ29udGFpbmVyID0gY2xvbmVkQW5jZXN0b3I7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKworICAgICAgICAvLyBDb3B5IHNpYmxpbmdzIG9mIGFuIGFuY2VzdG9yIG9mIHN0YXJ0L2Vu
ZCBjb250YWluZXJzCisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGFzc2VydGlvbiBtYXkgZmFpbCBp
ZiBET00gaXMgbW9kaWZpZWQgZHVyaW5nIG11dGF0aW9uIGV2ZW50CisgICAgICAgIEFTU0VSVCgh
Zmlyc3RDaGlsZEluQW5jZXN0b3JUb1Byb2Nlc3MgfHwgZmlyc3RDaGlsZEluQW5jZXN0b3JUb1By
b2Nlc3MtPnBhcmVudE5vZGUoKSA9PSBhbmNlc3Rvcik7CisgICAgICAgIFJlZlB0cjxOb2RlPiBu
ZXh0OworICAgICAgICBmb3IgKE5vZGUqIGNoaWxkID0gZmlyc3RDaGlsZEluQW5jZXN0b3JUb1By
b2Nlc3MuZ2V0KCk7IGNoaWxkOyBjaGlsZCA9IG5leHQuZ2V0KCkpIHsKKyAgICAgICAgICAgIG5l
eHQgPSBkaXJlY3Rpb24gPT0gUHJvY2Vzc0NvbnRlbnRzRm9yd2FyZCA/IGNoaWxkLT5uZXh0U2li
bGluZygpIDogY2hpbGQtPnByZXZpb3VzU2libGluZygpOworICAgICAgICAgICAgc3dpdGNoIChh
Y3Rpb24pIHsKKyAgICAgICAgICAgIGNhc2UgREVMRVRFX0NPTlRFTlRTOgorICAgICAgICAgICAg
ICAgIGFuY2VzdG9yLT5yZW1vdmVDaGlsZChjaGlsZCwgZWMpOworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgY2FzZSBFWFRSQUNUX0NPTlRFTlRTOiAvLyB3aWxsIHJlbW92ZSBj
aGlsZCBmcm9tIGFuY2VzdG9yCisgICAgICAgICAgICAgICAgaWYgKGRpcmVjdGlvbiA9PSBQcm9j
ZXNzQ29udGVudHNGb3J3YXJkKQorICAgICAgICAgICAgICAgICAgICBjbG9uZWRDb250YWluZXIt
PmFwcGVuZENoaWxkKGNoaWxkLCBlYyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgICAgICBjbG9uZWRDb250YWluZXItPmluc2VydEJlZm9yZShjaGlsZCwgY2xvbmVkQ29u
dGFpbmVyLT5maXJzdENoaWxkKCksIGVjKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIGNhc2UgQ0xPTkVfQ09OVEVOVFM6CisgICAgICAgICAgICAgICAgaWYgKGRpcmVjdGlv
biA9PSBQcm9jZXNzQ29udGVudHNGb3J3YXJkKQorICAgICAgICAgICAgICAgICAgICBjbG9uZWRD
b250YWluZXItPmFwcGVuZENoaWxkKGNoaWxkLT5jbG9uZU5vZGUodHJ1ZSksIGVjKTsKKyAgICAg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGNsb25lZENvbnRhaW5lci0+aW5z
ZXJ0QmVmb3JlKGNoaWxkLT5jbG9uZU5vZGUodHJ1ZSksIGNsb25lZENvbnRhaW5lci0+Zmlyc3RD
aGlsZCgpLCBlYyk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKyAgICAgICAgZmlyc3RDaGlsZEluQW5jZXN0b3JUb1Byb2Nlc3MgPSBkaXJlY3Rpb24g
PT0gUHJvY2Vzc0NvbnRlbnRzRm9yd2FyZCA/IGFuY2VzdG9yLT5uZXh0U2libGluZygpIDogYW5j
ZXN0b3ItPnByZXZpb3VzU2libGluZygpOworICAgIH0KKworICAgIHJldHVybiBjbG9uZWRDb250
YWluZXI7Cit9CisKIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gUmFuZ2U6OmV4dHJhY3RD
b250ZW50cyhFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBjaGVja0RlbGV0ZUV4dHJhY3QoZWMp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL1JhbmdlLmgJKHJldmlzaW9uIDc4NDE3KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL1JhbmdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw2ICsxNDgsOCBAQCBwcml2YXRlOgog
ICAgIGVudW0gQWN0aW9uVHlwZSB7IERFTEVURV9DT05URU5UUywgRVhUUkFDVF9DT05URU5UUywg
Q0xPTkVfQ09OVEVOVFMgfTsKICAgICBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IHByb2Nl
c3NDb250ZW50cyhBY3Rpb25UeXBlLCBFeGNlcHRpb25Db2RlJik7CiAgICAgUGFzc1JlZlB0cjxO
b2RlPiBwcm9jZXNzQ29udGVudHNCZXR3ZWVuT2Zmc2V0cyhBY3Rpb25UeXBlLCBQYXNzUmVmUHRy
PERvY3VtZW50RnJhZ21lbnQ+LCBOb2RlKiwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVk
IGVuZE9mZnNldCwgRXhjZXB0aW9uQ29kZSYpOworICAgIGVudW0gQ29udGVudHNQcm9jZXNzRGly
ZWN0aW9uIHsgUHJvY2Vzc0NvbnRlbnRzRm9yd2FyZCwgUHJvY2Vzc0NvbnRlbnRzQmFja3dhcmQg
fTsKKyAgICBQYXNzUmVmUHRyPE5vZGU+IHByb2Nlc3NBbmNlc3RvcnNBbmRUaGVpclNpYmxpbmdz
KEFjdGlvblR5cGUsIE5vZGUqIGNvbnRhaW5lciwgQ29udGVudHNQcm9jZXNzRGlyZWN0aW9uLCBQ
YXNzUmVmUHRyPE5vZGU+IGNsb25lZENvbnRhaW5lciwgTm9kZSogY29tbW9uUm9vdCwgRXhjZXB0
aW9uQ29kZSYpOwogCiAgICAgUmVmUHRyPERvY3VtZW50PiBtX293bmVyRG9jdW1lbnQ7CiAgICAg
UmFuZ2VCb3VuZGFyeVBvaW50IG1fc3RhcnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82561</attachid>
            <date>2011-02-15 17:48:50 -0800</date>
            <delta_ts>2011-02-15 21:05:50 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-54425-20110216104848.patch</filename>
            <type>text/plain</type>
            <size>8238</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NjU1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDItMTUgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCisKKyAgICAgICAgRXh0cmFjdCBhIGZ1bmN0aW9uIHRvIHByb2Nlc3MgYW5jZXN0b3IgYW5k
IHRoZWlyIHNpYmxpbmcgbm9kZXMgZnJvbSBwcm9jZXNzQ29udGVudHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NDI1CisKKyAgICAgICAgRXh0cmFj
dGVkIHByb2Nlc3NBbmNlc3RvcnNBbmRUaGVpclNpYmxpbmdzLgorCisgICAgICAgICogZG9tL1Jh
bmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlOjpwcm9jZXNzQ29udGVudHMpOiBDYWxs
cyBwcm9jZXNzQ29udGVudHMuCisgICAgICAgIChXZWJDb3JlOjpSYW5nZTo6cHJvY2Vzc0FuY2Vz
dG9yc0FuZFRoZWlyU2libGluZ3MpOiBFeHRyYWN0ZWQgZnJvbSBwcm9jZXNzQ29udGVudHMuCisg
ICAgICAgICogZG9tL1JhbmdlLmg6CisKIDIwMTEtMDItMTAgIEplcmVteSBPcmxvdyAgPGpvcmxv
d0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmF0ZSBDaGFwaW4uCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9SYW5nZS5jcHAJKHJldmlzaW9uIDc4NjU1KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L1JhbmdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjU3LDYzICs2NTcsMTYgQEAgUGFzc1JlZlB0
cjxEb2N1bWVudEZyYWdtZW50PiBSYW5nZTo6cHJvYwogICAgIFJlZlB0cjxOb2RlPiBsZWZ0Q29u
dGVudHM7CiAgICAgaWYgKG1fc3RhcnQuY29udGFpbmVyKCkgIT0gY29tbW9uUm9vdCkgewogICAg
ICAgICBsZWZ0Q29udGVudHMgPSBwcm9jZXNzQ29udGVudHNCZXR3ZWVuT2Zmc2V0cyhhY3Rpb24s
IDAsIG1fc3RhcnQuY29udGFpbmVyKCksIG1fc3RhcnQub2Zmc2V0KCksIGxlbmd0aE9mQ29udGVu
dHNJbk5vZGUoKSwgZWMpOwotCi0gICAgICAgIE5vZGVWZWN0b3IgYW5jZXN0b3JOb2RlczsKLSAg
ICAgICAgZm9yIChDb250YWluZXJOb2RlKiBuID0gbV9zdGFydC5jb250YWluZXIoKS0+cGFyZW50
Tm9kZSgpOyBuICYmIG4gIT0gY29tbW9uUm9vdDsgbiA9IG4tPnBhcmVudE5vZGUoKSkKLSAgICAg
ICAgICAgIGFuY2VzdG9yTm9kZXMuYXBwZW5kKG4pOwotICAgICAgICBSZWZQdHI8Tm9kZT4gbiA9
IG1fc3RhcnQuY29udGFpbmVyKCktPm5leHRTaWJsaW5nKCk7Ci0gICAgICAgIGZvciAoTm9kZVZl
Y3Rvcjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBhbmNlc3Rvck5vZGVzLmJlZ2luKCk7IGl0ICE9IGFu
Y2VzdG9yTm9kZXMuZW5kKCk7IGl0KyspIHsKLSAgICAgICAgICAgIE5vZGUqIGxlZnRQYXJlbnQg
PSBpdC0+Z2V0KCk7Ci0gICAgICAgICAgICBpZiAoYWN0aW9uID09IEVYVFJBQ1RfQ09OVEVOVFMg
fHwgYWN0aW9uID09IENMT05FX0NPTlRFTlRTKSB7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPE5v
ZGU+IGxlZnRDb250ZW50c1BhcmVudCA9IGxlZnRQYXJlbnQtPmNsb25lTm9kZShmYWxzZSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKGxlZnRDb250ZW50c1BhcmVudCkgeyAvLyBNaWdodCBoYXZlIGJl
ZW4gcmVtb3ZlZCBhbHJlYWR5IGR1cmluZyBtdXRhdGlvbiBldmVudC4KLSAgICAgICAgICAgICAg
ICAgICAgbGVmdENvbnRlbnRzUGFyZW50LT5hcHBlbmRDaGlsZChsZWZ0Q29udGVudHMsIGVjKTsK
LSAgICAgICAgICAgICAgICAgICAgbGVmdENvbnRlbnRzID0gbGVmdENvbnRlbnRzUGFyZW50Owot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgUmVmUHRyPE5v
ZGU+IG5leHQ7Ci0gICAgICAgICAgICBmb3IgKDsgbjsgbiA9IG5leHQpIHsKLSAgICAgICAgICAg
ICAgICBuZXh0ID0gbi0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgICAgICAgICBpZiAoYWN0aW9u
ID09IEVYVFJBQ1RfQ09OVEVOVFMpCi0gICAgICAgICAgICAgICAgICAgIGxlZnRDb250ZW50cy0+
YXBwZW5kQ2hpbGQobi5nZXQoKSwgZWMpOyAvLyB3aWxsIHJlbW92ZSBuIGZyb20gbGVmdFBhcmVu
dAotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGFjdGlvbiA9PSBDTE9ORV9DT05URU5UUykKLSAg
ICAgICAgICAgICAgICAgICAgbGVmdENvbnRlbnRzLT5hcHBlbmRDaGlsZChuLT5jbG9uZU5vZGUo
dHJ1ZSksIGVjKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGxl
ZnRQYXJlbnQtPnJlbW92ZUNoaWxkKG4uZ2V0KCksIGVjKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIG4gPSBsZWZ0UGFyZW50LT5uZXh0U2libGluZygpOwotICAgICAgICB9CisgICAgICAg
IGxlZnRDb250ZW50cyA9IHByb2Nlc3NBbmNlc3RvcnNBbmRUaGVpclNpYmxpbmdzKGFjdGlvbiwg
bV9zdGFydC5jb250YWluZXIoKSwgUHJvY2Vzc0NvbnRlbnRzRm9yd2FyZCwgbGVmdENvbnRlbnRz
LCBjb21tb25Sb290LCBlYyk7CiAgICAgfQogCiAgICAgUmVmUHRyPE5vZGU+IHJpZ2h0Q29udGVu
dHM7CiAgICAgaWYgKG1fZW5kLmNvbnRhaW5lcigpICE9IGNvbW1vblJvb3QpIHsKICAgICAgICAg
cmlnaHRDb250ZW50cyA9IHByb2Nlc3NDb250ZW50c0JldHdlZW5PZmZzZXRzKGFjdGlvbiwgMCwg
bV9lbmQuY29udGFpbmVyKCksIDAsIG1fZW5kLm9mZnNldCgpLCBlYyk7Ci0KLSAgICAgICAgQ29u
dGFpbmVyTm9kZSogcmlnaHRQYXJlbnQgPSBtX2VuZC5jb250YWluZXIoKS0+cGFyZW50Tm9kZSgp
OwotICAgICAgICBOb2RlKiBuID0gbV9lbmQuY29udGFpbmVyKCktPnByZXZpb3VzU2libGluZygp
OwotICAgICAgICBmb3IgKDsgcmlnaHRQYXJlbnQgIT0gY29tbW9uUm9vdDsgcmlnaHRQYXJlbnQg
PSByaWdodFBhcmVudC0+cGFyZW50Tm9kZSgpKSB7Ci0gICAgICAgICAgICBpZiAoYWN0aW9uID09
IEVYVFJBQ1RfQ09OVEVOVFMgfHwgYWN0aW9uID09IENMT05FX0NPTlRFTlRTKSB7Ci0gICAgICAg
ICAgICAgICAgUmVmUHRyPE5vZGU+IHJpZ2h0Q29udGVudHNQYXJlbnQgPSByaWdodFBhcmVudC0+
Y2xvbmVOb2RlKGZhbHNlKTsKLSAgICAgICAgICAgICAgICByaWdodENvbnRlbnRzUGFyZW50LT5h
cHBlbmRDaGlsZChyaWdodENvbnRlbnRzLCBlYyk7Ci0gICAgICAgICAgICAgICAgcmlnaHRDb250
ZW50cyA9IHJpZ2h0Q29udGVudHNQYXJlbnQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBO
b2RlKiBwcmV2OwotICAgICAgICAgICAgZm9yICg7IG47IG4gPSBwcmV2KSB7Ci0gICAgICAgICAg
ICAgICAgcHJldiA9IG4tPnByZXZpb3VzU2libGluZygpOwotICAgICAgICAgICAgICAgIGlmIChh
Y3Rpb24gPT0gRVhUUkFDVF9DT05URU5UUykKLSAgICAgICAgICAgICAgICAgICAgcmlnaHRDb250
ZW50cy0+aW5zZXJ0QmVmb3JlKG4sIHJpZ2h0Q29udGVudHMtPmZpcnN0Q2hpbGQoKSwgZWMpOyAv
LyB3aWxsIHJlbW92ZSBuIGZyb20gaXRzIHBhcmVudAotICAgICAgICAgICAgICAgIGVsc2UgaWYg
KGFjdGlvbiA9PSBDTE9ORV9DT05URU5UUykKLSAgICAgICAgICAgICAgICAgICAgcmlnaHRDb250
ZW50cy0+aW5zZXJ0QmVmb3JlKG4tPmNsb25lTm9kZSh0cnVlKSwgcmlnaHRDb250ZW50cy0+Zmly
c3RDaGlsZCgpLCBlYyk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICByaWdodFBhcmVudC0+cmVtb3ZlQ2hpbGQobiwgZWMpOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgbiA9IHJpZ2h0UGFyZW50LT5wcmV2aW91c1NpYmxpbmcoKTsKLSAgICAgICAgfQorICAg
ICAgICByaWdodENvbnRlbnRzID0gcHJvY2Vzc0FuY2VzdG9yc0FuZFRoZWlyU2libGluZ3MoYWN0
aW9uLCBtX2VuZC5jb250YWluZXIoKSwgUHJvY2Vzc0NvbnRlbnRzQmFja3dhcmQsIHJpZ2h0Q29u
dGVudHMsIGNvbW1vblJvb3QsIGVjKTsKICAgICB9CiAKICAgICAvLyBkZWxldGUgYWxsIGNoaWxk
cmVuIG9mIGNvbW1vblJvb3QgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCBjb250YWluZXIKLQog
ICAgIE5vZGUqIHByb2Nlc3NTdGFydDsgLy8gY2hpbGQgb2YgY29tbW9uUm9vdAogICAgIGlmICht
X3N0YXJ0LmNvbnRhaW5lcigpID09IGNvbW1vblJvb3QpIHsKICAgICAgICAgcHJvY2Vzc1N0YXJ0
ID0gbV9zdGFydC5jb250YWluZXIoKS0+Zmlyc3RDaGlsZCgpOwpAQCAtODY2LDYgKzgxOSw1MyBA
QCBQYXNzUmVmUHRyPE5vZGU+IFJhbmdlOjpwcm9jZXNzQ29udGVudHNCCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAorUGFzc1JlZlB0cjxOb2RlPiBSYW5nZTo6cHJvY2Vzc0FuY2VzdG9yc0FuZFRo
ZWlyU2libGluZ3MoQWN0aW9uVHlwZSBhY3Rpb24sIE5vZGUqIGNvbnRhaW5lciwgQ29udGVudHNQ
cm9jZXNzRGlyZWN0aW9uIGRpcmVjdGlvbiwgUGFzc1JlZlB0cjxOb2RlPiBwYXNzZWRDbG9uZWRD
b250YWluZXIsIE5vZGUqIGNvbW1vblJvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIFJl
ZlB0cjxOb2RlPiBjbG9uZWRDb250YWluZXIgPSBwYXNzZWRDbG9uZWRDb250YWluZXI7CisgICAg
VmVjdG9yPFJlZlB0cjxOb2RlPiA+IGFuY2VzdG9yczsKKyAgICBmb3IgKENvbnRhaW5lck5vZGUq
IG4gPSBjb250YWluZXItPnBhcmVudE5vZGUoKTsgbiAmJiBuICE9IGNvbW1vblJvb3Q7IG4gPSBu
LT5wYXJlbnROb2RlKCkpCisgICAgICAgIGFuY2VzdG9ycy5hcHBlbmQobik7CisKKyAgICBSZWZQ
dHI8Tm9kZT4gZmlyc3RDaGlsZEluQW5jZXN0b3JUb1Byb2Nlc3MgPSBkaXJlY3Rpb24gPT0gUHJv
Y2Vzc0NvbnRlbnRzRm9yd2FyZCA/IGNvbnRhaW5lci0+bmV4dFNpYmxpbmcoKSA6IGNvbnRhaW5l
ci0+cHJldmlvdXNTaWJsaW5nKCk7CisgICAgZm9yIChWZWN0b3I8UmVmUHRyPE5vZGU+ID46OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gYW5jZXN0b3JzLmJlZ2luKCk7IGl0ICE9IGFuY2VzdG9ycy5lbmQo
KTsgaXQrKykgeworICAgICAgICBSZWZQdHI8Tm9kZT4gYW5jZXN0b3IgPSAqaXQ7CisgICAgICAg
IGlmIChhY3Rpb24gPT0gRVhUUkFDVF9DT05URU5UUyB8fCBhY3Rpb24gPT0gQ0xPTkVfQ09OVEVO
VFMpIHsKKyAgICAgICAgICAgIGlmIChSZWZQdHI8Tm9kZT4gY2xvbmVkQW5jZXN0b3IgPSBhbmNl
c3Rvci0+Y2xvbmVOb2RlKGZhbHNlKSkgeyAvLyBNaWdodCBoYXZlIGJlZW4gcmVtb3ZlZCBhbHJl
YWR5IGR1cmluZyBtdXRhdGlvbiBldmVudC4KKyAgICAgICAgICAgICAgICBjbG9uZWRBbmNlc3Rv
ci0+YXBwZW5kQ2hpbGQoY2xvbmVkQ29udGFpbmVyLCBlYyk7CisgICAgICAgICAgICAgICAgY2xv
bmVkQ29udGFpbmVyID0gY2xvbmVkQW5jZXN0b3I7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KworICAgICAgICAvLyBDb3B5IHNpYmxpbmdzIG9mIGFuIGFuY2VzdG9yIG9mIHN0YXJ0L2VuZCBj
b250YWluZXJzCisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGFzc2VydGlvbiBtYXkgZmFpbCBpZiBE
T00gaXMgbW9kaWZpZWQgZHVyaW5nIG11dGF0aW9uIGV2ZW50CisgICAgICAgIEFTU0VSVCghZmly
c3RDaGlsZEluQW5jZXN0b3JUb1Byb2Nlc3MgfHwgZmlyc3RDaGlsZEluQW5jZXN0b3JUb1Byb2Nl
c3MtPnBhcmVudE5vZGUoKSA9PSBhbmNlc3Rvcik7CisgICAgICAgIFJlZlB0cjxOb2RlPiBuZXh0
OworICAgICAgICBmb3IgKE5vZGUqIGNoaWxkID0gZmlyc3RDaGlsZEluQW5jZXN0b3JUb1Byb2Nl
c3MuZ2V0KCk7IGNoaWxkOyBjaGlsZCA9IG5leHQuZ2V0KCkpIHsKKyAgICAgICAgICAgIG5leHQg
PSBkaXJlY3Rpb24gPT0gUHJvY2Vzc0NvbnRlbnRzRm9yd2FyZCA/IGNoaWxkLT5uZXh0U2libGlu
ZygpIDogY2hpbGQtPnByZXZpb3VzU2libGluZygpOworICAgICAgICAgICAgc3dpdGNoIChhY3Rp
b24pIHsKKyAgICAgICAgICAgIGNhc2UgREVMRVRFX0NPTlRFTlRTOgorICAgICAgICAgICAgICAg
IGFuY2VzdG9yLT5yZW1vdmVDaGlsZChjaGlsZCwgZWMpOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgY2FzZSBFWFRSQUNUX0NPTlRFTlRTOiAvLyB3aWxsIHJlbW92ZSBjaGls
ZCBmcm9tIGFuY2VzdG9yCisgICAgICAgICAgICAgICAgaWYgKGRpcmVjdGlvbiA9PSBQcm9jZXNz
Q29udGVudHNGb3J3YXJkKQorICAgICAgICAgICAgICAgICAgICBjbG9uZWRDb250YWluZXItPmFw
cGVuZENoaWxkKGNoaWxkLCBlYyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICBjbG9uZWRDb250YWluZXItPmluc2VydEJlZm9yZShjaGlsZCwgY2xvbmVkQ29udGFp
bmVyLT5maXJzdENoaWxkKCksIGVjKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIGNhc2UgQ0xPTkVfQ09OVEVOVFM6CisgICAgICAgICAgICAgICAgaWYgKGRpcmVjdGlvbiA9
PSBQcm9jZXNzQ29udGVudHNGb3J3YXJkKQorICAgICAgICAgICAgICAgICAgICBjbG9uZWRDb250
YWluZXItPmFwcGVuZENoaWxkKGNoaWxkLT5jbG9uZU5vZGUodHJ1ZSksIGVjKTsKKyAgICAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGNsb25lZENvbnRhaW5lci0+aW5zZXJ0
QmVmb3JlKGNoaWxkLT5jbG9uZU5vZGUodHJ1ZSksIGNsb25lZENvbnRhaW5lci0+Zmlyc3RDaGls
ZCgpLCBlYyk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgZmlyc3RDaGlsZEluQW5jZXN0b3JUb1Byb2Nlc3MgPSBkaXJlY3Rpb24gPT0g
UHJvY2Vzc0NvbnRlbnRzRm9yd2FyZCA/IGFuY2VzdG9yLT5uZXh0U2libGluZygpIDogYW5jZXN0
b3ItPnByZXZpb3VzU2libGluZygpOworICAgIH0KKworICAgIHJldHVybiBjbG9uZWRDb250YWlu
ZXI7Cit9CisKIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gUmFuZ2U6OmV4dHJhY3RDb250
ZW50cyhFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBjaGVja0RlbGV0ZUV4dHJhY3QoZWMpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL1JhbmdlLmgJKHJldmlzaW9uIDc4NjU1KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L1JhbmdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0Nyw3ICsxNDcsOSBAQCBwcml2YXRlOgogCiAg
ICAgZW51bSBBY3Rpb25UeXBlIHsgREVMRVRFX0NPTlRFTlRTLCBFWFRSQUNUX0NPTlRFTlRTLCBD
TE9ORV9DT05URU5UUyB9OwogICAgIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gcHJvY2Vz
c0NvbnRlbnRzKEFjdGlvblR5cGUsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBQYXNzUmVmUHRyPE5v
ZGU+IHByb2Nlc3NDb250ZW50c0JldHdlZW5PZmZzZXRzKEFjdGlvblR5cGUsIFBhc3NSZWZQdHI8
RG9jdW1lbnRGcmFnbWVudD4sIE5vZGUqLCB1bnNpZ25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQg
ZW5kT2Zmc2V0LCBFeGNlcHRpb25Db2RlJik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm9kZT4g
cHJvY2Vzc0NvbnRlbnRzQmV0d2Vlbk9mZnNldHMoQWN0aW9uVHlwZSwgUGFzc1JlZlB0cjxEb2N1
bWVudEZyYWdtZW50PiwgTm9kZSosIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRP
ZmZzZXQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBlbnVtIENvbnRlbnRzUHJvY2Vzc0RpcmVjdGlv
biB7IFByb2Nlc3NDb250ZW50c0ZvcndhcmQsIFByb2Nlc3NDb250ZW50c0JhY2t3YXJkIH07Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Tm9kZT4gcHJvY2Vzc0FuY2VzdG9yc0FuZFRoZWlyU2libGlu
Z3MoQWN0aW9uVHlwZSwgTm9kZSogY29udGFpbmVyLCBDb250ZW50c1Byb2Nlc3NEaXJlY3Rpb24s
IFBhc3NSZWZQdHI8Tm9kZT4gY2xvbmVkQ29udGFpbmVyLCBOb2RlKiBjb21tb25Sb290LCBFeGNl
cHRpb25Db2RlJik7CiAKICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fb3duZXJEb2N1bWVudDsKICAg
ICBSYW5nZUJvdW5kYXJ5UG9pbnQgbV9zdGFydDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>