<?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>49767</bug_id>
          
          <creation_ts>2010-11-18 16:13:29 -0800</creation_ts>
          <short_desc>Make sure is* return false if the name is never bound</short_desc>
          <delta_ts>2010-11-19 13:49:09 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zhenyao Mo">zmo</reporter>
          <assigned_to name="Zhenyao Mo">zmo</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>enne</cc>
    
    <cc>kbr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>311155</commentid>
    <comment_count>0</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-11-18 16:13:29 -0800</bug_when>
    <thetext>For texture, buffer, renderbuffer, framebuffer.

So we can work around this driver bug and pass enne&apos;s conformance test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311185</commentid>
    <comment_count>1</comment_count>
      <attachid>74324</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-11-18 17:13:15 -0800</bug_when>
    <thetext>Created attachment 74324
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311187</commentid>
    <comment_count>2</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-11-18 17:14:24 -0800</bug_when>
    <thetext>The is-object.html test is already checked in and marked as a failure.  Once this lands and the bots results confirm the test passing, I&apos;ll remove the entry from the test_expectations and skipped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311188</commentid>
    <comment_count>3</comment_count>
      <attachid>74325</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-11-18 17:16:11 -0800</bug_when>
    <thetext>Created attachment 74325
revised patch

Remove the &quot;No new tests. (OOPS!)&quot; from change log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311197</commentid>
    <comment_count>4</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2010-11-18 17:26:28 -0800</bug_when>
    <thetext>Ah, good thought.  If we fix this in WebKit, then we don&apos;t have to worry about incorrect drivers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311617</commentid>
    <comment_count>5</comment_count>
      <attachid>74325</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-11-19 12:18:22 -0800</bug_when>
    <thetext>Comment on attachment 74325
revised patch

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

The naming convention for these new methods is poor. The general rule is to name methods so clearly that comments aren&apos;t needed. This is especially true in a case like this where the methods are so simple.

&gt; WebCore/html/canvas/WebGLBuffer.h:62
&gt; +    bool bound() const { return object() &amp;&amp; m_target; }

bool hasEverBeenBound() const

&gt; WebCore/html/canvas/WebGLFramebuffer.h:59
&gt; +    // Return false if it is never bound; otherwise return true.

Useless comment.

&gt; WebCore/html/canvas/WebGLFramebuffer.h:60
&gt; +    bool bound() const { return object() &amp;&amp; m_bound; }

bool hasEverBeenBound() const

&gt; WebCore/html/canvas/WebGLFramebuffer.h:62
&gt; +    void setBound() { m_bound = true; }

void setHasEverBeenBound()

&gt; WebCore/html/canvas/WebGLRenderbuffer.h:63
&gt; +    // Return false if it is never bound; otherwise return true.

Useless comment.

&gt; WebCore/html/canvas/WebGLRenderbuffer.h:66
&gt; +    bool bound() const { return object() &amp;&amp; m_bound; }
&gt; +
&gt; +    void setBound() { m_bound = true; }

Naming.

&gt; WebCore/html/canvas/WebGLTexture.h:64
&gt; +    bool bound() const { return object() &amp;&amp; m_target; }

bool hasEverBeenBound()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311648</commentid>
    <comment_count>6</comment_count>
      <attachid>74418</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-11-19 13:13:38 -0800</bug_when>
    <thetext>Created attachment 74418
revised patch: naming fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311654</commentid>
    <comment_count>7</comment_count>
      <attachid>74420</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-11-19 13:23:08 -0800</bug_when>
    <thetext>Created attachment 74420
revised patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311663</commentid>
    <comment_count>8</comment_count>
      <attachid>74420</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-11-19 13:34:34 -0800</bug_when>
    <thetext>Comment on attachment 74420
revised patch

Thanks, looks better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311669</commentid>
    <comment_count>9</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-11-19 13:49:09 -0800</bug_when>
    <thetext>Committed r72433: &lt;http://trac.webkit.org/changeset/72433&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74324</attachid>
            <date>2010-11-18 17:13:15 -0800</date>
            <delta_ts>2010-11-18 17:16:11 -0800</delta_ts>
            <desc>patch</desc>
            <filename>is.patch</filename>
            <type>text/plain</type>
            <size>7169</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MjM1MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTAtMTEtMTggIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1
cmUgaXMqIHJldHVybiBmYWxzZSBpZiB0aGUgbmFtZSBpcyBuZXZlciBib3VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NjcKKworICAgICAgICBO
byBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVy
Lmg6IEFkZCBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVyIHRoZSBidWZmZXIgaGFzIGJlZW4gYm91
bmQgYmVmb3JlLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xCdWZmZXI6OmJvdW5kKToKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTEZyYW1lYnVmZmVyOjpXZWJHTEZyYW1lYnVmZmVyKToKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmg6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xGcmFtZWJ1ZmZlcjo6Ym91bmQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xGcmFtZWJ1
ZmZlcjo6c2V0Qm91bmQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVy
LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmJ1ZmZlcjo6V2ViR0xS
ZW5kZXJidWZmZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmg6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJidWZmZXI6OmJvdW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyYnVmZmVyOjpzZXRCb3VuZCk6CisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6YmluZEZyYW1lYnVmZmVyKTogU2V0IGJvdW5kIHN0YXR1
cyB0byB0cnVlLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpiaW5k
UmVuZGVyYnVmZmVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmlzQnVmZmVyKTogUmV0dXJuIGZhbHNlIGlmIGl0J3MgbmV2ZXIgYm91bmQuCisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzRnJhbWVidWZmZXIpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNSZW5kZXJidWZm
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNU
ZXh0dXJlKTogRGl0dG8uCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmg6IEFk
ZCBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVyIHRoZSB0ZXh0dXJlIGhhcyBiZWVuIGJvdW5kIGJl
Zm9yZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6Ym91bmQpOgorCiAyMDEwLTEx
LTE4ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFdpbmRv
d3MgYnVpbGQgZml4LgpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaAkocmV2aXNpb24g
NzE3ODkpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTU5LDYgKzU5LDggQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGxvbmcgZ2V0VGFyZ2V0
KCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXQ7IH0KICAgICB2b2lkIHNldFRhcmdldCh1bnNpZ25l
ZCBsb25nKTsKIAorICAgIGJvb2wgYm91bmQoKSBjb25zdCB7IHJldHVybiBvYmplY3QoKSAmJiBt
X3RhcmdldDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgV2ViR0xCdWZmZXIoV2ViR0xSZW5kZXJpbmdD
b250ZXh0Kik7CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNw
cAkocmV2aXNpb24gNzE3ODkpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZm
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSw3IEBAIFBhc3NSZWZQdHI8V2ViR0xG
cmFtZWJ1ZmZlcj4gV2ViR0xGcmFtZWIKIAogV2ViR0xGcmFtZWJ1ZmZlcjo6V2ViR0xGcmFtZWJ1
ZmZlcihXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGN0eCkKICAgICA6IFdlYkdMT2JqZWN0KGN0eCkK
KyAgICAsIG1fYm91bmQoZmFsc2UpCiB7CiAgICAgc2V0T2JqZWN0KGNvbnRleHQoKS0+Z3JhcGhp
Y3NDb250ZXh0M0QoKS0+Y3JlYXRlRnJhbWVidWZmZXIoKSk7CiB9CkluZGV4OiBXZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaAkocmV2aXNpb24gNzE3ODkpCisrKyBXZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYs
MTEgQEAgcHVibGljOgogICAgIC8vIFJldHVybiBmYWxzZSBkb2VzIG5vdCBtZWFuIENPTVBMRVRF
LCBtaWdodCBzdGlsbCBiZSBJTkNPTVBMRVRFLgogICAgIGJvb2wgaXNJbmNvbXBsZXRlKGJvb2wg
Y2hlY2tJbnRlcm5hbEZvcm1hdCkgY29uc3Q7CiAKKyAgICAvLyBSZXR1cm4gZmFsc2UgaWYgaXQg
aXMgbmV2ZXIgYm91bmQ7IG90aGVyd2lzZSByZXR1cm4gdHJ1ZS4KKyAgICBib29sIGJvdW5kKCkg
Y29uc3QgeyByZXR1cm4gb2JqZWN0KCkgJiYgbV9ib3VuZDsgfQorCisgICAgdm9pZCBzZXRCb3Vu
ZCgpIHsgbV9ib3VuZCA9IHRydWU7IH0KKwogcHJvdGVjdGVkOgogICAgIFdlYkdMRnJhbWVidWZm
ZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKQEAgLTc2LDYgKzgxLDggQEAgcHJpdmF0ZToK
ICAgICBSZWZQdHI8V2ViR0xPYmplY3Q+IG1fZGVwdGhBdHRhY2htZW50OwogICAgIFJlZlB0cjxX
ZWJHTE9iamVjdD4gbV9zdGVuY2lsQXR0YWNobWVudDsKICAgICBSZWZQdHI8V2ViR0xPYmplY3Q+
IG1fZGVwdGhTdGVuY2lsQXR0YWNobWVudDsKKworICAgIGJvb2wgbV9ib3VuZDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJidWZmZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJidWZmZXIuY3BwCShyZXZpc2lvbiA3MTc4OSkKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJidWZmZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIFdlYkdM
UmVuZGVyYnVmZmVyOjpXZWJHTFJlbmRlcmJ1ZmZlcihXZWIKICAgICAsIG1fd2lkdGgoMCkKICAg
ICAsIG1faGVpZ2h0KDApCiAgICAgLCBtX2lzVmFsaWQodHJ1ZSkKKyAgICAsIG1fYm91bmQoZmFs
c2UpCiB7CiAgICAgc2V0T2JqZWN0KGNvbnRleHQoKS0+Z3JhcGhpY3NDb250ZXh0M0QoKS0+Y3Jl
YXRlUmVuZGVyYnVmZmVyKCkpOwogfQpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJidWZmZXIuaAkocmV2aXNpb24gNzE3ODkpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyYnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDExIEBAIHB1YmxpYzoK
ICAgICBib29sIGlzSW5pdGlhbGl6ZWQoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxpemVkOyB9
CiAgICAgdm9pZCBzZXRJbml0aWFsaXplZCgpIHsgbV9pbml0aWFsaXplZCA9IHRydWU7IH0KIAor
ICAgIC8vIFJldHVybiBmYWxzZSBpZiBpdCBpcyBuZXZlciBib3VuZDsgb3RoZXJ3aXNlIHJldHVy
biB0cnVlLgorICAgIGJvb2wgYm91bmQoKSBjb25zdCB7IHJldHVybiBvYmplY3QoKSAmJiBtX2Jv
dW5kOyB9CisKKyAgICB2b2lkIHNldEJvdW5kKCkgeyBtX2JvdW5kID0gdHJ1ZTsgfQorCiBwcm90
ZWN0ZWQ6CiAgICAgV2ViR0xSZW5kZXJidWZmZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAK
QEAgLTcyLDYgKzc3LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1faW5pdGlhbGl6ZWQ7CiAgICAg
dW5zaWduZWQgbG9uZyBtX3dpZHRoLCBtX2hlaWdodDsKICAgICBib29sIG1faXNWYWxpZDsgLy8g
VGhpcyBpcyBvbmx5IGZhbHNlIGlmIGludGVybmFsRm9ybWF0IGlzIERFUFRIX1NURU5DSUwgYW5k
IHBhY2tlZF9kZXB0aF9zdGVuY2lsIGlzIG5vdCBzdXBwb3J0ZWQuCisKKyAgICBib29sIG1fYm91
bmQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiA3MTc4OSkKKysrIFdl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjk3LDYgKzI5Nyw4IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpiaW5kRnJh
bWVidWYKICAgICB9CiAgICAgbV9mcmFtZWJ1ZmZlckJpbmRpbmcgPSBidWZmZXI7CiAgICAgbV9j
b250ZXh0LT5iaW5kRnJhbWVidWZmZXIodGFyZ2V0LCBvYmplY3RPclplcm8oYnVmZmVyKSk7Cisg
ICAgaWYgKGJ1ZmZlcikKKyAgICAgICAgYnVmZmVyLT5zZXRCb3VuZCgpOwogICAgIGNsZWFudXBB
ZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTMxNSw2ICszMTcsOCBAQCB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6YmluZFJlbmRlcmJ1CiAgICAgfQogICAgIG1fcmVuZGVyYnVm
ZmVyQmluZGluZyA9IHJlbmRlckJ1ZmZlcjsKICAgICBtX2NvbnRleHQtPmJpbmRSZW5kZXJidWZm
ZXIodGFyZ2V0LCBvYmplY3RPclplcm8ocmVuZGVyQnVmZmVyKSk7CisgICAgaWYgKHJlbmRlckJ1
ZmZlcikKKyAgICAgICAgcmVuZGVyQnVmZmVyLT5zZXRCb3VuZCgpOwogICAgIGNsZWFudXBBZnRl
ckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTIwNTMsNiArMjA1Nyw5IEBAIGJvb2wgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Ojppc0J1ZmZlcihXZWIKICAgICBpZiAoIWJ1ZmZlciB8fCBpc0Nv
bnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghYnVmZmVyLT5i
b3VuZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gbV9jb250ZXh0LT5p
c0J1ZmZlcihidWZmZXItPm9iamVjdCgpKTsKIH0KIApAQCAtMjA3Myw2ICsyMDgwLDkgQEAgYm9v
bCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzRnJhbWVidWZmZQogICAgIGlmICghZnJhbWVidWZm
ZXIgfHwgaXNDb250ZXh0TG9zdCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAo
IWZyYW1lYnVmZmVyLT5ib3VuZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1
cm4gbV9jb250ZXh0LT5pc0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyLT5vYmplY3QoKSk7CiB9CiAK
QEAgLTIwODksNiArMjA5OSw5IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojppc1JlbmRl
cmJ1ZmYKICAgICBpZiAoIXJlbmRlcmJ1ZmZlciB8fCBpc0NvbnRleHRMb3N0KCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIGlmICghcmVuZGVyYnVmZmVyLT5ib3VuZCgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gbV9jb250ZXh0LT5pc1JlbmRlcmJ1ZmZlcihy
ZW5kZXJidWZmZXItPm9iamVjdCgpKTsKIH0KIApAQCAtMjEwNSw2ICsyMTE4LDkgQEAgYm9vbCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzVGV4dHVyZShXZQogICAgIGlmICghdGV4dHVyZSB8fCBp
c0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghdGV4dHVy
ZS0+Ym91bmQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuIG1fY29udGV4
dC0+aXNUZXh0dXJlKHRleHR1cmUtPm9iamVjdCgpKTsKIH0KIApJbmRleDogV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFRleHR1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVGV4dHVyZS5oCShyZXZpc2lvbiA3MTc4OSkKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xUZXh0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDggQEAgcHVibGljOgog
ICAgIC8vIERldGVybWluZSBpZiB0ZXh0dXJlIHNhbXBsaW5nIHNob3VsZCBhbHdheXMgcmV0dXJu
IFswLCAwLCAwLCAxXSAoT3BlbkdMIEVTIDIuMCBTZWMgMy44LjIpLgogICAgIGJvb2wgbmVlZFRv
VXNlQmxhY2tUZXh0dXJlKCkgY29uc3Q7CiAKKyAgICBib29sIGJvdW5kKCkgY29uc3QgeyByZXR1
cm4gb2JqZWN0KCkgJiYgbV90YXJnZXQ7IH0KKwogICAgIHN0YXRpYyBpbnQgY29tcHV0ZUxldmVs
Q291bnQoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKIAogcHJvdGVjdGVkOgo=
</data>
<flag name="commit-queue"
          id="64898"
          type_id="3"
          status="-"
          setter="zmo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74325</attachid>
            <date>2010-11-18 17:16:11 -0800</date>
            <delta_ts>2010-11-19 13:13:38 -0800</delta_ts>
            <desc>revised patch</desc>
            <filename>is.patch</filename>
            <type>text/plain</type>
            <size>7136</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MjM1MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMTAtMTEtMTggIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1
cmUgaXMqIHJldHVybiBmYWxzZSBpZiB0aGUgbmFtZSBpcyBuZXZlciBib3VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NjcKKworICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmg6IEFkZCBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVy
IHRoZSBidWZmZXIgaGFzIGJlZW4gYm91bmQgYmVmb3JlLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xCdWZmZXI6OmJvdW5kKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVy
LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXZWJHTEZyYW1lYnVmZmVyOjpXZWJHTEZy
YW1lYnVmZmVyKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmg6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xGcmFtZWJ1ZmZlcjo6Ym91bmQpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0xGcmFtZWJ1ZmZlcjo6c2V0Qm91bmQpOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTFJlbmRlcmJ1ZmZlcjo6V2ViR0xSZW5kZXJidWZmZXIpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyYnVmZmVyLmg6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJidWZmZXI6OmJvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyYnVmZmVy
OjpzZXRCb3VuZCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6YmluZEZyYW1l
YnVmZmVyKTogU2V0IGJvdW5kIHN0YXR1cyB0byB0cnVlLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpiaW5kUmVuZGVyYnVmZmVyKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzQnVmZmVyKTogUmV0dXJuIGZhbHNlIGlm
IGl0J3MgbmV2ZXIgYm91bmQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmlzRnJhbWVidWZmZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6aXNSZW5kZXJidWZmZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dDo6aXNUZXh0dXJlKTogRGl0dG8uCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xUZXh0dXJlLmg6IEFkZCBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVyIHRoZSB0
ZXh0dXJlIGhhcyBiZWVuIGJvdW5kIGJlZm9yZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4
dHVyZTo6Ym91bmQpOgorCiAyMDEwLTExLTE4ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBw
bGUuY29tPgogCiAgICAgICAgIFdpbmRvd3MgYnVpbGQgZml4LgpJbmRleDogV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xCdWZmZXIuaAkocmV2aXNpb24gNzE3ODkpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDggQEAgcHVibGljOgogICAg
IHVuc2lnbmVkIGxvbmcgZ2V0VGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXQ7IH0KICAg
ICB2b2lkIHNldFRhcmdldCh1bnNpZ25lZCBsb25nKTsKIAorICAgIGJvb2wgYm91bmQoKSBjb25z
dCB7IHJldHVybiBvYmplY3QoKSAmJiBtX3RhcmdldDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgV2Vi
R0xCdWZmZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcAkocmV2aXNpb24gNzE3ODkpCisrKyBXZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3
NSw3IEBAIFBhc3NSZWZQdHI8V2ViR0xGcmFtZWJ1ZmZlcj4gV2ViR0xGcmFtZWIKIAogV2ViR0xG
cmFtZWJ1ZmZlcjo6V2ViR0xGcmFtZWJ1ZmZlcihXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGN0eCkK
ICAgICA6IFdlYkdMT2JqZWN0KGN0eCkKKyAgICAsIG1fYm91bmQoZmFsc2UpCiB7CiAgICAgc2V0
T2JqZWN0KGNvbnRleHQoKS0+Z3JhcGhpY3NDb250ZXh0M0QoKS0+Y3JlYXRlRnJhbWVidWZmZXIo
KSk7CiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaAkocmV2aXNp
b24gNzE3ODkpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMTEgQEAgcHVibGljOgogICAgIC8vIFJldHVybiBmYWxz
ZSBkb2VzIG5vdCBtZWFuIENPTVBMRVRFLCBtaWdodCBzdGlsbCBiZSBJTkNPTVBMRVRFLgogICAg
IGJvb2wgaXNJbmNvbXBsZXRlKGJvb2wgY2hlY2tJbnRlcm5hbEZvcm1hdCkgY29uc3Q7CiAKKyAg
ICAvLyBSZXR1cm4gZmFsc2UgaWYgaXQgaXMgbmV2ZXIgYm91bmQ7IG90aGVyd2lzZSByZXR1cm4g
dHJ1ZS4KKyAgICBib29sIGJvdW5kKCkgY29uc3QgeyByZXR1cm4gb2JqZWN0KCkgJiYgbV9ib3Vu
ZDsgfQorCisgICAgdm9pZCBzZXRCb3VuZCgpIHsgbV9ib3VuZCA9IHRydWU7IH0KKwogcHJvdGVj
dGVkOgogICAgIFdlYkdMRnJhbWVidWZmZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKQEAg
LTc2LDYgKzgxLDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViR0xPYmplY3Q+IG1fZGVwdGhB
dHRhY2htZW50OwogICAgIFJlZlB0cjxXZWJHTE9iamVjdD4gbV9zdGVuY2lsQXR0YWNobWVudDsK
ICAgICBSZWZQdHI8V2ViR0xPYmplY3Q+IG1fZGVwdGhTdGVuY2lsQXR0YWNobWVudDsKKworICAg
IGJvb2wgbV9ib3VuZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuY3BwCShyZXZpc2lvbiA3MTc4OSkKKysr
IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NSw2ICs0NSw3IEBAIFdlYkdMUmVuZGVyYnVmZmVyOjpXZWJHTFJlbmRlcmJ1ZmZlcihX
ZWIKICAgICAsIG1fd2lkdGgoMCkKICAgICAsIG1faGVpZ2h0KDApCiAgICAgLCBtX2lzVmFsaWQo
dHJ1ZSkKKyAgICAsIG1fYm91bmQoZmFsc2UpCiB7CiAgICAgc2V0T2JqZWN0KGNvbnRleHQoKS0+
Z3JhcGhpY3NDb250ZXh0M0QoKS0+Y3JlYXRlUmVuZGVyYnVmZmVyKCkpOwogfQpJbmRleDogV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaAkocmV2aXNpb24gNzE3ODkpCisrKyBX
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYwLDYgKzYwLDExIEBAIHB1YmxpYzoKICAgICBib29sIGlzSW5pdGlhbGl6ZWQoKSBjb25zdCB7
IHJldHVybiBtX2luaXRpYWxpemVkOyB9CiAgICAgdm9pZCBzZXRJbml0aWFsaXplZCgpIHsgbV9p
bml0aWFsaXplZCA9IHRydWU7IH0KIAorICAgIC8vIFJldHVybiBmYWxzZSBpZiBpdCBpcyBuZXZl
ciBib3VuZDsgb3RoZXJ3aXNlIHJldHVybiB0cnVlLgorICAgIGJvb2wgYm91bmQoKSBjb25zdCB7
IHJldHVybiBvYmplY3QoKSAmJiBtX2JvdW5kOyB9CisKKyAgICB2b2lkIHNldEJvdW5kKCkgeyBt
X2JvdW5kID0gdHJ1ZTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgV2ViR0xSZW5kZXJidWZmZXIoV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKQEAgLTcyLDYgKzc3LDggQEAgcHJpdmF0ZToKICAgICBi
b29sIG1faW5pdGlhbGl6ZWQ7CiAgICAgdW5zaWduZWQgbG9uZyBtX3dpZHRoLCBtX2hlaWdodDsK
ICAgICBib29sIG1faXNWYWxpZDsgLy8gVGhpcyBpcyBvbmx5IGZhbHNlIGlmIGludGVybmFsRm9y
bWF0IGlzIERFUFRIX1NURU5DSUwgYW5kIHBhY2tlZF9kZXB0aF9zdGVuY2lsIGlzIG5vdCBzdXBw
b3J0ZWQuCisKKyAgICBib29sIG1fYm91bmQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3Bw
CShyZXZpc2lvbiA3MTc4OSkKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk3LDYgKzI5Nyw4IEBAIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpiaW5kRnJhbWVidWYKICAgICB9CiAgICAgbV9mcmFtZWJ1ZmZlckJp
bmRpbmcgPSBidWZmZXI7CiAgICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIodGFyZ2V0LCBv
YmplY3RPclplcm8oYnVmZmVyKSk7CisgICAgaWYgKGJ1ZmZlcikKKyAgICAgICAgYnVmZmVyLT5z
ZXRCb3VuZCgpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAg
LTMxNSw2ICszMTcsOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6YmluZFJlbmRlcmJ1
CiAgICAgfQogICAgIG1fcmVuZGVyYnVmZmVyQmluZGluZyA9IHJlbmRlckJ1ZmZlcjsKICAgICBt
X2NvbnRleHQtPmJpbmRSZW5kZXJidWZmZXIodGFyZ2V0LCBvYmplY3RPclplcm8ocmVuZGVyQnVm
ZmVyKSk7CisgICAgaWYgKHJlbmRlckJ1ZmZlcikKKyAgICAgICAgcmVuZGVyQnVmZmVyLT5zZXRC
b3VuZCgpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTIw
NTMsNiArMjA1Nyw5IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojppc0J1ZmZlcihXZWIK
ICAgICBpZiAoIWJ1ZmZlciB8fCBpc0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAorICAgIGlmICghYnVmZmVyLT5ib3VuZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
ICAgICByZXR1cm4gbV9jb250ZXh0LT5pc0J1ZmZlcihidWZmZXItPm9iamVjdCgpKTsKIH0KIApA
QCAtMjA3Myw2ICsyMDgwLDkgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzRnJhbWVi
dWZmZQogICAgIGlmICghZnJhbWVidWZmZXIgfHwgaXNDb250ZXh0TG9zdCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIWZyYW1lYnVmZmVyLT5ib3VuZCgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gbV9jb250ZXh0LT5pc0ZyYW1lYnVmZmVyKGZyYW1l
YnVmZmVyLT5vYmplY3QoKSk7CiB9CiAKQEAgLTIwODksNiArMjA5OSw5IEBAIGJvb2wgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojppc1JlbmRlcmJ1ZmYKICAgICBpZiAoIXJlbmRlcmJ1ZmZlciB8fCBp
c0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghcmVuZGVy
YnVmZmVyLT5ib3VuZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gbV9j
b250ZXh0LT5pc1JlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXItPm9iamVjdCgpKTsKIH0KIApAQCAt
MjEwNSw2ICsyMTE4LDkgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzVGV4dHVyZShX
ZQogICAgIGlmICghdGV4dHVyZSB8fCBpc0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAorICAgIGlmICghdGV4dHVyZS0+Ym91bmQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCiAgICAgcmV0dXJuIG1fY29udGV4dC0+aXNUZXh0dXJlKHRleHR1cmUtPm9iamVjdCgpKTsK
IH0KIApJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5oCShyZXZpc2lvbiA3MTc4OSkK
KysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYxLDYgKzYxLDggQEAgcHVibGljOgogICAgIC8vIERldGVybWluZSBpZiB0ZXh0dXJlIHNhbXBs
aW5nIHNob3VsZCBhbHdheXMgcmV0dXJuIFswLCAwLCAwLCAxXSAoT3BlbkdMIEVTIDIuMCBTZWMg
My44LjIpLgogICAgIGJvb2wgbmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkgY29uc3Q7CiAKKyAgICBi
b29sIGJvdW5kKCkgY29uc3QgeyByZXR1cm4gb2JqZWN0KCkgJiYgbV90YXJnZXQ7IH0KKwogICAg
IHN0YXRpYyBpbnQgY29tcHV0ZUxldmVsQ291bnQoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKIAog
cHJvdGVjdGVkOgo=
</data>
<flag name="review"
          id="64899"
          type_id="1"
          status="-"
          setter="kbr"
    />
    <flag name="commit-queue"
          id="64900"
          type_id="3"
          status="-"
          setter="zmo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74418</attachid>
            <date>2010-11-19 13:13:38 -0800</date>
            <delta_ts>2010-11-19 13:14:40 -0800</delta_ts>
            <desc>revised patch: naming fix</desc>
            <filename>is.patch</filename>
            <type>text/plain</type>
            <size>7136</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MjM1MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMTAtMTEtMTggIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1
cmUgaXMqIHJldHVybiBmYWxzZSBpZiB0aGUgbmFtZSBpcyBuZXZlciBib3VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NjcKKworICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmg6IEFkZCBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVy
IHRoZSBidWZmZXIgaGFzIGJlZW4gYm91bmQgYmVmb3JlLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xCdWZmZXI6Omhhc0V2ZXJCZWVuQm91bmQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
RnJhbWVidWZmZXIuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMRnJhbWVidWZm
ZXI6OldlYkdMRnJhbWVidWZmZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRnJhbWVi
dWZmZXIuaDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXZWJHTEZyYW1lYnVmZmVyOjpoYXNF
dmVyQmVlbkJvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMRnJhbWVidWZmZXI6OnNldEJv
dW5kKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5jcHA6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJidWZmZXI6OldlYkdMUmVuZGVyYnVmZmVy
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5oOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyYnVmZmVyOjpoYXNFdmVyQmVlbkJvdW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyYnVmZmVyOjpzZXRCb3VuZCk6CisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6YmluZEZyYW1lYnVmZmVyKTogU2V0IGJvdW5kIHN0YXR1
cyB0byB0cnVlLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpiaW5k
UmVuZGVyYnVmZmVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmlzQnVmZmVyKTogUmV0dXJuIGZhbHNlIGlmIGl0J3MgbmV2ZXIgYm91bmQuCisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzRnJhbWVidWZmZXIpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNSZW5kZXJidWZm
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNU
ZXh0dXJlKTogRGl0dG8uCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmg6IEFk
ZCBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVyIHRoZSB0ZXh0dXJlIGhhcyBiZWVuIGJvdW5kIGJl
Zm9yZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6aGFzRXZlckJlZW5Cb3VuZCk6
CisKIDIwMTAtMTEtMTggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2luZG93cyBidWlsZCBmaXguCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
QnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5o
CShyZXZpc2lvbiA3MTc4OSkKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksOCBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgbG9u
ZyBnZXRUYXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldDsgfQogICAgIHZvaWQgc2V0VGFy
Z2V0KHVuc2lnbmVkIGxvbmcpOwogCisgICAgYm9vbCBoYXNFdmVyQmVlbkJvdW5kKCkgY29uc3Qg
eyByZXR1cm4gb2JqZWN0KCkgJiYgbV90YXJnZXQ7IH0KKwogcHJvdGVjdGVkOgogICAgIFdlYkdM
QnVmZmVyKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOwogCkluZGV4OiBXZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMRnJhbWVidWZmZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAJKHJldmlzaW9uIDcxNzg5KQorKysgV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzUsNiArNzUs
NyBAQCBQYXNzUmVmUHRyPFdlYkdMRnJhbWVidWZmZXI+IFdlYkdMRnJhbWViCiAKIFdlYkdMRnJh
bWVidWZmZXI6OldlYkdMRnJhbWVidWZmZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjdHgpCiAg
ICAgOiBXZWJHTE9iamVjdChjdHgpCisgICAgLCBtX2JvdW5kKGZhbHNlKQogewogICAgIHNldE9i
amVjdChjb250ZXh0KCktPmdyYXBoaWNzQ29udGV4dDNEKCktPmNyZWF0ZUZyYW1lYnVmZmVyKCkp
OwogfQpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmgJKHJldmlzaW9u
IDcxNzg5KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTU2LDYgKzU2LDEwIEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm4gZmFsc2Ug
ZG9lcyBub3QgbWVhbiBDT01QTEVURSwgbWlnaHQgc3RpbGwgYmUgSU5DT01QTEVURS4KICAgICBi
b29sIGlzSW5jb21wbGV0ZShib29sIGNoZWNrSW50ZXJuYWxGb3JtYXQpIGNvbnN0OwogCisgICAg
Ym9vbCBoYXNFdmVyQmVlbkJvdW5kKCkgY29uc3QgeyByZXR1cm4gb2JqZWN0KCkgJiYgbV9ib3Vu
ZDsgfQorCisgICAgdm9pZCBzZXRCb3VuZCgpIHsgbV9ib3VuZCA9IHRydWU7IH0KKwogcHJvdGVj
dGVkOgogICAgIFdlYkdMRnJhbWVidWZmZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKQEAg
LTc2LDYgKzgwLDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViR0xPYmplY3Q+IG1fZGVwdGhB
dHRhY2htZW50OwogICAgIFJlZlB0cjxXZWJHTE9iamVjdD4gbV9zdGVuY2lsQXR0YWNobWVudDsK
ICAgICBSZWZQdHI8V2ViR0xPYmplY3Q+IG1fZGVwdGhTdGVuY2lsQXR0YWNobWVudDsKKworICAg
IGJvb2wgbV9ib3VuZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuY3BwCShyZXZpc2lvbiA3MTc4OSkKKysr
IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NSw2ICs0NSw3IEBAIFdlYkdMUmVuZGVyYnVmZmVyOjpXZWJHTFJlbmRlcmJ1ZmZlcihX
ZWIKICAgICAsIG1fd2lkdGgoMCkKICAgICAsIG1faGVpZ2h0KDApCiAgICAgLCBtX2lzVmFsaWQo
dHJ1ZSkKKyAgICAsIG1fYm91bmQoZmFsc2UpCiB7CiAgICAgc2V0T2JqZWN0KGNvbnRleHQoKS0+
Z3JhcGhpY3NDb250ZXh0M0QoKS0+Y3JlYXRlUmVuZGVyYnVmZmVyKCkpOwogfQpJbmRleDogV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaAkocmV2aXNpb24gNzE3ODkpCisrKyBX
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYwLDYgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBib29sIGlzSW5pdGlhbGl6ZWQoKSBjb25zdCB7
IHJldHVybiBtX2luaXRpYWxpemVkOyB9CiAgICAgdm9pZCBzZXRJbml0aWFsaXplZCgpIHsgbV9p
bml0aWFsaXplZCA9IHRydWU7IH0KIAorICAgIGJvb2wgaGFzRXZlckJlZW5Cb3VuZCgpIGNvbnN0
IHsgcmV0dXJuIG9iamVjdCgpICYmIG1fYm91bmQ7IH0KKworICAgIHZvaWQgc2V0Qm91bmQoKSB7
IG1fYm91bmQgPSB0cnVlOyB9CisKIHByb3RlY3RlZDoKICAgICBXZWJHTFJlbmRlcmJ1ZmZlcihX
ZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKIApAQCAtNzIsNiArNzYsOCBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9pbml0aWFsaXplZDsKICAgICB1bnNpZ25lZCBsb25nIG1fd2lkdGgsIG1faGVpZ2h0
OwogICAgIGJvb2wgbV9pc1ZhbGlkOyAvLyBUaGlzIGlzIG9ubHkgZmFsc2UgaWYgaW50ZXJuYWxG
b3JtYXQgaXMgREVQVEhfU1RFTkNJTCBhbmQgcGFja2VkX2RlcHRoX3N0ZW5jaWwgaXMgbm90IHN1
cHBvcnRlZC4KKworICAgIGJvb2wgbV9ib3VuZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5j
cHAJKHJldmlzaW9uIDcxNzg5KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTcsNiArMjk3LDggQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OmJpbmRGcmFtZWJ1ZgogICAgIH0KICAgICBtX2ZyYW1lYnVmZmVy
QmluZGluZyA9IGJ1ZmZlcjsKICAgICBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1ZmZlcih0YXJnZXQs
IG9iamVjdE9yWmVybyhidWZmZXIpKTsKKyAgICBpZiAoYnVmZmVyKQorICAgICAgICBidWZmZXIt
PnNldEJvdW5kKCk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApA
QCAtMzE1LDYgKzMxNyw4IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpiaW5kUmVuZGVy
YnUKICAgICB9CiAgICAgbV9yZW5kZXJidWZmZXJCaW5kaW5nID0gcmVuZGVyQnVmZmVyOwogICAg
IG1fY29udGV4dC0+YmluZFJlbmRlcmJ1ZmZlcih0YXJnZXQsIG9iamVjdE9yWmVybyhyZW5kZXJC
dWZmZXIpKTsKKyAgICBpZiAocmVuZGVyQnVmZmVyKQorICAgICAgICByZW5kZXJCdWZmZXItPnNl
dEJvdW5kKCk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAt
MjA1Myw2ICsyMDU3LDkgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzQnVmZmVyKFdl
YgogICAgIGlmICghYnVmZmVyIHx8IGlzQ29udGV4dExvc3QoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCisgICAgaWYgKCFidWZmZXItPmhhc0V2ZXJCZWVuQm91bmQoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCiAgICAgcmV0dXJuIG1fY29udGV4dC0+aXNCdWZmZXIoYnVmZmVyLT5vYmpl
Y3QoKSk7CiB9CiAKQEAgLTIwNzMsNiArMjA4MCw5IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojppc0ZyYW1lYnVmZmUKICAgICBpZiAoIWZyYW1lYnVmZmVyIHx8IGlzQ29udGV4dExvc3Qo
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFmcmFtZWJ1ZmZlci0+aGFzRXZl
ckJlZW5Cb3VuZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gbV9jb250
ZXh0LT5pc0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyLT5vYmplY3QoKSk7CiB9CiAKQEAgLTIwODks
NiArMjA5OSw5IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojppc1JlbmRlcmJ1ZmYKICAg
ICBpZiAoIXJlbmRlcmJ1ZmZlciB8fCBpc0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAorICAgIGlmICghcmVuZGVyYnVmZmVyLT5oYXNFdmVyQmVlbkJvdW5kKCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiBtX2NvbnRleHQtPmlzUmVuZGVyYnVmZmVy
KHJlbmRlcmJ1ZmZlci0+b2JqZWN0KCkpOwogfQogCkBAIC0yMTA1LDYgKzIxMTgsOSBAQCBib29s
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNUZXh0dXJlKFdlCiAgICAgaWYgKCF0ZXh0dXJlIHx8
IGlzQ29udGV4dExvc3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCF0ZXh0
dXJlLT5oYXNFdmVyQmVlbkJvdW5kKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJl
dHVybiBtX2NvbnRleHQtPmlzVGV4dHVyZSh0ZXh0dXJlLT5vYmplY3QoKSk7CiB9CiAKSW5kZXg6
IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaAkocmV2aXNpb24gNzE3ODkpCisrKyBXZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw4
IEBAIHB1YmxpYzoKICAgICAvLyBEZXRlcm1pbmUgaWYgdGV4dHVyZSBzYW1wbGluZyBzaG91bGQg
YWx3YXlzIHJldHVybiBbMCwgMCwgMCwgMV0gKE9wZW5HTCBFUyAyLjAgU2VjIDMuOC4yKS4KICAg
ICBib29sIG5lZWRUb1VzZUJsYWNrVGV4dHVyZSgpIGNvbnN0OwogCisgICAgYm9vbCBoYXNFdmVy
QmVlbkJvdW5kKCkgY29uc3QgeyByZXR1cm4gb2JqZWN0KCkgJiYgbV90YXJnZXQ7IH0KKwogICAg
IHN0YXRpYyBpbnQgY29tcHV0ZUxldmVsQ291bnQoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKIAog
cHJvdGVjdGVkOgo=
</data>
<flag name="commit-queue"
          id="65015"
          type_id="3"
          status="-"
          setter="zmo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74420</attachid>
            <date>2010-11-19 13:23:08 -0800</date>
            <delta_ts>2010-11-19 13:34:34 -0800</delta_ts>
            <desc>revised patch</desc>
            <filename>is.patch</filename>
            <type>text/plain</type>
            <size>7268</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MjM1MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMTAtMTEtMTggIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1
cmUgaXMqIHJldHVybiBmYWxzZSBpZiB0aGUgbmFtZSBpcyBuZXZlciBib3VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NjcKKworICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmg6IEFkZCBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVy
IHRoZSBidWZmZXIgaGFzIGJlZW4gYm91bmQgYmVmb3JlLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xCdWZmZXI6Omhhc0V2ZXJCZWVuQm91bmQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
RnJhbWVidWZmZXIuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMRnJhbWVidWZm
ZXI6OldlYkdMRnJhbWVidWZmZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRnJhbWVi
dWZmZXIuaDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXZWJHTEZyYW1lYnVmZmVyOjpoYXNF
dmVyQmVlbkJvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMRnJhbWVidWZmZXI6OnNldEJv
dW5kKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5jcHA6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJidWZmZXI6OldlYkdMUmVuZGVyYnVmZmVy
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5oOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyYnVmZmVyOjpoYXNFdmVyQmVlbkJvdW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyYnVmZmVyOjpzZXRCb3VuZCk6CisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6YmluZEZyYW1lYnVmZmVyKTogU2V0IGJvdW5kIHN0YXR1
cyB0byB0cnVlLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpiaW5k
UmVuZGVyYnVmZmVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmlzQnVmZmVyKTogUmV0dXJuIGZhbHNlIGlmIGl0J3MgbmV2ZXIgYm91bmQuCisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmlzRnJhbWVidWZmZXIpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNSZW5kZXJidWZm
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNU
ZXh0dXJlKTogRGl0dG8uCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmg6IEFk
ZCBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVyIHRoZSB0ZXh0dXJlIGhhcyBiZWVuIGJvdW5kIGJl
Zm9yZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6aGFzRXZlckJlZW5Cb3VuZCk6
CisKIDIwMTAtMTEtMTggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2luZG93cyBidWlsZCBmaXguCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
QnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5o
CShyZXZpc2lvbiA3MTc4OSkKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksOCBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgbG9u
ZyBnZXRUYXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldDsgfQogICAgIHZvaWQgc2V0VGFy
Z2V0KHVuc2lnbmVkIGxvbmcpOwogCisgICAgYm9vbCBoYXNFdmVyQmVlbkJvdW5kKCkgY29uc3Qg
eyByZXR1cm4gb2JqZWN0KCkgJiYgbV90YXJnZXQ7IH0KKwogcHJvdGVjdGVkOgogICAgIFdlYkdM
QnVmZmVyKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOwogCkluZGV4OiBXZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMRnJhbWVidWZmZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAJKHJldmlzaW9uIDcxNzg5KQorKysgV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzUsNiArNzUs
NyBAQCBQYXNzUmVmUHRyPFdlYkdMRnJhbWVidWZmZXI+IFdlYkdMRnJhbWViCiAKIFdlYkdMRnJh
bWVidWZmZXI6OldlYkdMRnJhbWVidWZmZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjdHgpCiAg
ICAgOiBXZWJHTE9iamVjdChjdHgpCisgICAgLCBtX2hhc0V2ZXJCZWVuQm91bmQoZmFsc2UpCiB7
CiAgICAgc2V0T2JqZWN0KGNvbnRleHQoKS0+Z3JhcGhpY3NDb250ZXh0M0QoKS0+Y3JlYXRlRnJh
bWVidWZmZXIoKSk7CiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZm
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIu
aAkocmV2aXNpb24gNzE3ODkpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZm
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMTAgQEAgcHVibGljOgogICAgIC8vIFJl
dHVybiBmYWxzZSBkb2VzIG5vdCBtZWFuIENPTVBMRVRFLCBtaWdodCBzdGlsbCBiZSBJTkNPTVBM
RVRFLgogICAgIGJvb2wgaXNJbmNvbXBsZXRlKGJvb2wgY2hlY2tJbnRlcm5hbEZvcm1hdCkgY29u
c3Q7CiAKKyAgICBib29sIGhhc0V2ZXJCZWVuQm91bmQoKSBjb25zdCB7IHJldHVybiBvYmplY3Qo
KSAmJiBtX2hhc0V2ZXJCZWVuQm91bmQ7IH0KKworICAgIHZvaWQgc2V0SGFzRXZlckJlZW5Cb3Vu
ZCgpIHsgbV9oYXNFdmVyQmVlbkJvdW5kID0gdHJ1ZTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgV2Vi
R0xGcmFtZWJ1ZmZlcihXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKIApAQCAtNzYsNiArODAsOCBA
QCBwcml2YXRlOgogICAgIFJlZlB0cjxXZWJHTE9iamVjdD4gbV9kZXB0aEF0dGFjaG1lbnQ7CiAg
ICAgUmVmUHRyPFdlYkdMT2JqZWN0PiBtX3N0ZW5jaWxBdHRhY2htZW50OwogICAgIFJlZlB0cjxX
ZWJHTE9iamVjdD4gbV9kZXB0aFN0ZW5jaWxBdHRhY2htZW50OworCisgICAgYm9vbCBtX2hhc0V2
ZXJCZWVuQm91bmQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmNwcAkocmV2aXNpb24gNzE3ODkpCisrKyBX
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDUsNiArNDUsNyBAQCBXZWJHTFJlbmRlcmJ1ZmZlcjo6V2ViR0xSZW5kZXJidWZmZXIoV2Vi
CiAgICAgLCBtX3dpZHRoKDApCiAgICAgLCBtX2hlaWdodCgwKQogICAgICwgbV9pc1ZhbGlkKHRy
dWUpCisgICAgLCBtX2hhc0V2ZXJCZWVuQm91bmQoZmFsc2UpCiB7CiAgICAgc2V0T2JqZWN0KGNv
bnRleHQoKS0+Z3JhcGhpY3NDb250ZXh0M0QoKS0+Y3JlYXRlUmVuZGVyYnVmZmVyKCkpOwogfQpJ
bmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaAkocmV2aXNpb24gNzE3
ODkpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTYwLDYgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBib29sIGlzSW5pdGlhbGl6ZWQo
KSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxpemVkOyB9CiAgICAgdm9pZCBzZXRJbml0aWFsaXpl
ZCgpIHsgbV9pbml0aWFsaXplZCA9IHRydWU7IH0KIAorICAgIGJvb2wgaGFzRXZlckJlZW5Cb3Vu
ZCgpIGNvbnN0IHsgcmV0dXJuIG9iamVjdCgpICYmIG1faGFzRXZlckJlZW5Cb3VuZDsgfQorCisg
ICAgdm9pZCBzZXRIYXNFdmVyQmVlbkJvdW5kKCkgeyBtX2hhc0V2ZXJCZWVuQm91bmQgPSB0cnVl
OyB9CisKIHByb3RlY3RlZDoKICAgICBXZWJHTFJlbmRlcmJ1ZmZlcihXZWJHTFJlbmRlcmluZ0Nv
bnRleHQqKTsKIApAQCAtNzIsNiArNzYsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pbml0aWFs
aXplZDsKICAgICB1bnNpZ25lZCBsb25nIG1fd2lkdGgsIG1faGVpZ2h0OwogICAgIGJvb2wgbV9p
c1ZhbGlkOyAvLyBUaGlzIGlzIG9ubHkgZmFsc2UgaWYgaW50ZXJuYWxGb3JtYXQgaXMgREVQVEhf
U1RFTkNJTCBhbmQgcGFja2VkX2RlcHRoX3N0ZW5jaWwgaXMgbm90IHN1cHBvcnRlZC4KKworICAg
IGJvb2wgbV9oYXNFdmVyQmVlbkJvdW5kOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAko
cmV2aXNpb24gNzE3ODkpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5Nyw2ICsyOTcsOCBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6YmluZEZyYW1lYnVmCiAgICAgfQogICAgIG1fZnJhbWVidWZmZXJCaW5k
aW5nID0gYnVmZmVyOwogICAgIG1fY29udGV4dC0+YmluZEZyYW1lYnVmZmVyKHRhcmdldCwgb2Jq
ZWN0T3JaZXJvKGJ1ZmZlcikpOworICAgIGlmIChidWZmZXIpCisgICAgICAgIGJ1ZmZlci0+c2V0
SGFzRXZlckJlZW5Cb3VuZCgpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7
CiB9CiAKQEAgLTMxNSw2ICszMTcsOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Ymlu
ZFJlbmRlcmJ1CiAgICAgfQogICAgIG1fcmVuZGVyYnVmZmVyQmluZGluZyA9IHJlbmRlckJ1ZmZl
cjsKICAgICBtX2NvbnRleHQtPmJpbmRSZW5kZXJidWZmZXIodGFyZ2V0LCBvYmplY3RPclplcm8o
cmVuZGVyQnVmZmVyKSk7CisgICAgaWYgKHJlbmRlckJ1ZmZlcikKKyAgICAgICAgcmVuZGVyQnVm
ZmVyLT5zZXRIYXNFdmVyQmVlbkJvdW5kKCk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxs
KGZhbHNlKTsKIH0KIApAQCAtMjA1Myw2ICsyMDU3LDkgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmlzQnVmZmVyKFdlYgogICAgIGlmICghYnVmZmVyIHx8IGlzQ29udGV4dExvc3QoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFidWZmZXItPmhhc0V2ZXJCZWVuQm91
bmQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuIG1fY29udGV4dC0+aXNC
dWZmZXIoYnVmZmVyLT5vYmplY3QoKSk7CiB9CiAKQEAgLTIwNzMsNiArMjA4MCw5IEBAIGJvb2wg
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojppc0ZyYW1lYnVmZmUKICAgICBpZiAoIWZyYW1lYnVmZmVy
IHx8IGlzQ29udGV4dExvc3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFm
cmFtZWJ1ZmZlci0+aGFzRXZlckJlZW5Cb3VuZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
ICAgICByZXR1cm4gbV9jb250ZXh0LT5pc0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyLT5vYmplY3Qo
KSk7CiB9CiAKQEAgLTIwODksNiArMjA5OSw5IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojppc1JlbmRlcmJ1ZmYKICAgICBpZiAoIXJlbmRlcmJ1ZmZlciB8fCBpc0NvbnRleHRMb3N0KCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghcmVuZGVyYnVmZmVyLT5oYXNFdmVy
QmVlbkJvdW5kKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiBtX2NvbnRl
eHQtPmlzUmVuZGVyYnVmZmVyKHJlbmRlcmJ1ZmZlci0+b2JqZWN0KCkpOwogfQogCkBAIC0yMTA1
LDYgKzIxMTgsOSBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aXNUZXh0dXJlKFdlCiAg
ICAgaWYgKCF0ZXh0dXJlIHx8IGlzQ29udGV4dExvc3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCisgICAgaWYgKCF0ZXh0dXJlLT5oYXNFdmVyQmVlbkJvdW5kKCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKwogICAgIHJldHVybiBtX2NvbnRleHQtPmlzVGV4dHVyZSh0ZXh0dXJlLT5vYmpl
Y3QoKSk7CiB9CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaAkocmV2aXNpb24g
NzE3ODkpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC02MSw2ICs2MSw4IEBAIHB1YmxpYzoKICAgICAvLyBEZXRlcm1pbmUgaWYgdGV4dHVy
ZSBzYW1wbGluZyBzaG91bGQgYWx3YXlzIHJldHVybiBbMCwgMCwgMCwgMV0gKE9wZW5HTCBFUyAy
LjAgU2VjIDMuOC4yKS4KICAgICBib29sIG5lZWRUb1VzZUJsYWNrVGV4dHVyZSgpIGNvbnN0Owog
CisgICAgYm9vbCBoYXNFdmVyQmVlbkJvdW5kKCkgY29uc3QgeyByZXR1cm4gb2JqZWN0KCkgJiYg
bV90YXJnZXQ7IH0KKwogICAgIHN0YXRpYyBpbnQgY29tcHV0ZUxldmVsQ291bnQoaW50IHdpZHRo
LCBpbnQgaGVpZ2h0KTsKIAogcHJvdGVjdGVkOgo=
</data>
<flag name="review"
          id="65017"
          type_id="1"
          status="+"
          setter="kbr"
    />
    <flag name="commit-queue"
          id="65018"
          type_id="3"
          status="-"
          setter="zmo"
    />
          </attachment>
      

    </bug>

</bugzilla>