<?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>42125</bug_id>
          
          <creation_ts>2010-07-12 18:19:15 -0700</creation_ts>
          <short_desc>bufferData and bufferSubData generate wrong error when null buffer is bound</short_desc>
          <delta_ts>2010-07-16 16:40:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</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>
          <dependson>41884</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Zhenyao Mo">zmo</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>cmarrin</cc>
    
    <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>japhet</cc>
    
    <cc>levin</cc>
    
    <cc>oliver</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>250217</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-07-12 18:19:15 -0700</bug_when>
    <thetext>When no buffer is bound to the ARRAY_BUFFER or ELEMENT_ARRAY_BUFFER binding point and bufferData or bufferSubData are called, the WebGLRenderingContext will synthesize INVALID_ENUM. In this case it should synthesize INVALID_OPERATION.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250814</commentid>
    <comment_count>1</comment_count>
      <attachid>61432</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-07-13 16:39:22 -0700</bug_when>
    <thetext>Created attachment 61432
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252117</commentid>
    <comment_count>2</comment_count>
      <attachid>61723</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-07-15 14:34:53 -0700</bug_when>
    <thetext>Created attachment 61723
revised patch

Sync the test with khronos conformance tests using kbr&apos;s script.  No other changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252151</commentid>
    <comment_count>3</comment_count>
      <attachid>61723</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-07-15 15:11:50 -0700</bug_when>
    <thetext>Comment on attachment 61723
revised patch

Looks nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252195</commentid>
    <comment_count>4</comment_count>
      <attachid>61723</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-07-15 16:03:25 -0700</bug_when>
    <thetext>Comment on attachment 61723
revised patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252197</commentid>
    <comment_count>5</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-07-15 16:10:30 -0700</bug_when>
    <thetext>It looks like you change the behavior so that when usage is not a valid enum, it will set INVALID_ENUM but it did not do this before from what I can tell.

Would you add a test for that as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252270</commentid>
    <comment_count>6</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-07-15 18:32:31 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; It looks like you change the behavior so that when usage is not a valid enum, it will set INVALID_ENUM but it did not do this before from what I can tell.
&gt; 
&gt; Would you add a test for that as well?

The test case was added by an earlier patch to invalid-passed-params.html.

See https://bugs.webkit.org/show_bug.cgi?id=41574</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252280</commentid>
    <comment_count>7</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-07-15 19:20:30 -0700</bug_when>
    <thetext>Seems like there is a bug in webkit-patch land.  Changeset message got mixed with a previous patch, and it didn&apos;t automatically close this bug.

Close it manually: http://trac.webkit.org/changeset/63505</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252282</commentid>
    <comment_count>8</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2010-07-15 19:36:41 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Seems like there is a bug in webkit-patch land.  Changeset message got mixed with a previous patch, and it didn&apos;t automatically close this bug.
&gt; 
&gt; Close it manually: http://trac.webkit.org/changeset/63505

Seems like the cause is the automatic rebasing of WebCore/Changelog went wrong: a latest patch&apos;s log wasn&apos;t pushed on top; it was inserted second place.  Manually fix this issue in the ChangeLog: http://trac.webkit.org/changeset/63506</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252515</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-16 07:53:42 -0700</bug_when>
    <thetext>@abarth:  Could this be the new retry code failing?  Or did svn-apply somehow apply this (seeminly correctly created diff) wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252726</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-16 15:23:28 -0700</bug_when>
    <thetext>&gt; Could this be the new retry code failing? 

I doubt it.  That&apos;s for commit-queue only.

&gt; Or did svn-apply somehow apply this (seeminly correctly created diff) wrong?

I be the committer ran update-webkit can got a clean merge so resolve-ChangeLogs didn&apos;t move the ChangeLog entry to the top.  We just need to error out of webkit-patch land if the diff to the ChangeLog isn&apos;t at the top.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252754</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-16 16:40:00 -0700</bug_when>
    <thetext>Oh!  I was confused.  I thought this was landed by the cq.  Yes, if you landed it manually, git will often mangle your ChangeLogs like this.

We need to put some detection code in webkit-patch land to abort hte commit if your ChangeLog got git-mangled.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61432</attachid>
            <date>2010-07-13 16:39:22 -0700</date>
            <delta_ts>2010-07-15 14:34:53 -0700</delta_ts>
            <desc>patch</desc>
            <filename>buffer.patch</filename>
            <type>text/plain</type>
            <size>12457</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzI1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMTMgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBidWZmZXJE
YXRhIGFuZCBidWZmZXJTdWJEYXRhIGdlbmVyYXRlIHdyb25nIGVycm9yIHdoZW4gbnVsbCBidWZm
ZXIgaXMgYm91bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQyMTI1CisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZmZXJEYXRh
KTogQ2FsbCB2YWxpZGF0ZUJ1ZmZlckRhdGFQYXJhbWV0ZXJzKCkuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlclN1YkRhdGEpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVCdWZmZXJEYXRhUGFyYW1l
dGVycyk6IFBhcmFtZXRlcnMgdmFsaWRhdGlvbiBmb3IgYnVmZmVye1N1Yn1EYXRhKCkuCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6IERlY2xhcmUgdmFsaWRh
dGVCdWZmZXJEYXRhUGFyYW1ldGVycygpLgorCiAyMDEwLTA3LTEyICBUb255IEdlbnRpbGNvcmUg
IDx0b255Z0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVy
LgpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cAkocmV2aXNpb24gNjMyNTMpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1MiwyMiArMzUyLDExIEBAIHZvaWQgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpibGVuZEZ1bmNTZXAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpidWZmZXJEYXRhKHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBpbnQgc2l6ZSwgdW5zaWduZWQg
bG9uZyB1c2FnZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGVjKTsK
LSAgICBpZiAoIWlzR0xFUzJDb21wbGlhbnQoKSkgewotICAgICAgICBpZiAoIXZhbGlkYXRlQnVm
ZmVyRGF0YVVzYWdlKHVzYWdlKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYg
KHRhcmdldCA9PSBHcmFwaGljc0NvbnRleHQzRDo6RUxFTUVOVF9BUlJBWV9CVUZGRVIgJiYgbV9i
b3VuZEVsZW1lbnRBcnJheUJ1ZmZlcikgewotICAgICAgICBpZiAoIW1fYm91bmRFbGVtZW50QXJy
YXlCdWZmZXItPmFzc29jaWF0ZUJ1ZmZlckRhdGEoc2l6ZSkpIHsKLSAgICAgICAgICAgIG1fY29u
dGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUp
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfSBlbHNlIGlmICh0YXJnZXQg
PT0gR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiAmJiBtX2JvdW5kQXJyYXlCdWZmZXIp
IHsKLSAgICAgICAgaWYgKCFtX2JvdW5kQXJyYXlCdWZmZXItPmFzc29jaWF0ZUJ1ZmZlckRhdGEo
c2l6ZSkpIHsKLSAgICAgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhp
Y3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNKTsKKyAgICBXZWJHTEJ1ZmZlciogYnVmZmVy
ID0gdmFsaWRhdGVCdWZmZXJEYXRhUGFyYW1ldGVycyh0YXJnZXQsIHVzYWdlKTsKKyAgICBpZiAo
IWJ1ZmZlcikKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghYnVmZmVyLT5hc3NvY2lhdGVCdWZm
ZXJEYXRhKHNpemUpKSB7CisgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3Jh
cGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CkBAIC0zNzgsMjIgKzM2NywxMSBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6YnVmZmVy
RGF0YSh1CiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6YnVmZmVyRGF0YSh1bnNpZ25lZCBs
b25nIHRhcmdldCwgQXJyYXlCdWZmZXIqIGRhdGEsIHVuc2lnbmVkIGxvbmcgdXNhZ2UsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewogICAgIFVOVVNFRF9QQVJBTShlYyk7Ci0gICAgaWYgKCFpc0dMRVMy
Q29tcGxpYW50KCkpIHsKLSAgICAgICAgaWYgKCF2YWxpZGF0ZUJ1ZmZlckRhdGFVc2FnZSh1c2Fn
ZSkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmICh0YXJnZXQgPT0gR3JhcGhp
Y3NDb250ZXh0M0Q6OkVMRU1FTlRfQVJSQVlfQlVGRkVSICYmIG1fYm91bmRFbGVtZW50QXJyYXlC
dWZmZXIpIHsKLSAgICAgICAgaWYgKCFtX2JvdW5kRWxlbWVudEFycmF5QnVmZmVyLT5hc3NvY2lh
dGVCdWZmZXJEYXRhKGRhdGEpKSB7Ci0gICAgICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFKTsKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQotICAgIH0gZWxzZSBpZiAodGFyZ2V0ID09IEdyYXBoaWNzQ29udGV4
dDNEOjpBUlJBWV9CVUZGRVIgJiYgbV9ib3VuZEFycmF5QnVmZmVyKSB7Ci0gICAgICAgIGlmICgh
bV9ib3VuZEFycmF5QnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJEYXRhKGRhdGEpKSB7Ci0gICAgICAg
ICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZB
TElEX1ZBTFVFKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
OklOVkFMSURfRU5VTSk7CisgICAgV2ViR0xCdWZmZXIqIGJ1ZmZlciA9IHZhbGlkYXRlQnVmZmVy
RGF0YVBhcmFtZXRlcnModGFyZ2V0LCB1c2FnZSk7CisgICAgaWYgKCFidWZmZXIpCisgICAgICAg
IHJldHVybjsKKyAgICBpZiAoIWJ1ZmZlci0+YXNzb2NpYXRlQnVmZmVyRGF0YShkYXRhKSkgewor
ICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX1ZBTFVFKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNDA0LDIyICszODIs
MTEgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlckRhdGEodQogdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlckRhdGEodW5zaWduZWQgbG9uZyB0YXJnZXQsIEFycmF5
QnVmZmVyVmlldyogZGF0YSwgdW5zaWduZWQgbG9uZyB1c2FnZSwgRXhjZXB0aW9uQ29kZSYgZWMp
CiB7CiAgICAgVU5VU0VEX1BBUkFNKGVjKTsKLSAgICBpZiAoIWlzR0xFUzJDb21wbGlhbnQoKSkg
ewotICAgICAgICBpZiAoIXZhbGlkYXRlQnVmZmVyRGF0YVVzYWdlKHVzYWdlKSkKLSAgICAgICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKHRhcmdldCA9PSBHcmFwaGljc0NvbnRleHQzRDo6
RUxFTUVOVF9BUlJBWV9CVUZGRVIgJiYgbV9ib3VuZEVsZW1lbnRBcnJheUJ1ZmZlcikgewotICAg
ICAgICBpZiAoIW1fYm91bmRFbGVtZW50QXJyYXlCdWZmZXItPmFzc29jaWF0ZUJ1ZmZlckRhdGEo
ZGF0YSkpIHsKLSAgICAgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhp
Y3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICB9Ci0gICAgfSBlbHNlIGlmICh0YXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JV
RkZFUiAmJiBtX2JvdW5kQXJyYXlCdWZmZXIpIHsKLSAgICAgICAgaWYgKCFtX2JvdW5kQXJyYXlC
dWZmZXItPmFzc29jaWF0ZUJ1ZmZlckRhdGEoZGF0YSkpIHsKLSAgICAgICAgICAgIG1fY29udGV4
dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbV9j
b250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVN
KTsKKyAgICBXZWJHTEJ1ZmZlciogYnVmZmVyID0gdmFsaWRhdGVCdWZmZXJEYXRhUGFyYW1ldGVy
cyh0YXJnZXQsIHVzYWdlKTsKKyAgICBpZiAoIWJ1ZmZlcikKKyAgICAgICAgcmV0dXJuOworICAg
IGlmICghYnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJEYXRhKGRhdGEpKSB7CisgICAgICAgIG1fY29u
dGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC00MzAsMTggKzM5NywxMSBAQCB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6YnVmZmVyRGF0YSh1CiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6YnVmZmVyU3ViRGF0YSh1bnNpZ25lZCBsb25nIHRhcmdldCwgbG9uZyBvZmZzZXQsIEFy
cmF5QnVmZmVyKiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBVTlVTRURfUEFSQU0o
ZWMpOwotICAgIGlmICh0YXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkVMRU1FTlRfQVJSQVlf
QlVGRkVSICYmIG1fYm91bmRFbGVtZW50QXJyYXlCdWZmZXIpIHsKLSAgICAgICAgaWYgKCFtX2Jv
dW5kRWxlbWVudEFycmF5QnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJTdWJEYXRhKG9mZnNldCwgZGF0
YSkpIHsKLSAgICAgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0gICAgfSBlbHNlIGlmICh0YXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZF
UiAmJiBtX2JvdW5kQXJyYXlCdWZmZXIpIHsKLSAgICAgICAgaWYgKCFtX2JvdW5kQXJyYXlCdWZm
ZXItPmFzc29jaWF0ZUJ1ZmZlclN1YkRhdGEob2Zmc2V0LCBkYXRhKSkgewotICAgICAgICAgICAg
bV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9W
QUxVRSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAg
ICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZB
TElEX0VOVU0pOworICAgIFdlYkdMQnVmZmVyKiBidWZmZXIgPSB2YWxpZGF0ZUJ1ZmZlckRhdGFQ
YXJhbWV0ZXJzKHRhcmdldCwgR3JhcGhpY3NDb250ZXh0M0Q6OlNUQVRJQ19EUkFXKTsKKyAgICBp
ZiAoIWJ1ZmZlcikKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghYnVmZmVyLT5hc3NvY2lhdGVC
dWZmZXJTdWJEYXRhKG9mZnNldCwgZGF0YSkpIHsKKyAgICAgICAgbV9jb250ZXh0LT5zeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKQEAgLTQ1MiwxOCArNDEyLDExIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpidWZmZXJTdWJEYXQKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZmZXJT
dWJEYXRhKHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBsb25nIG9mZnNldCwgQXJyYXlCdWZmZXJWaWV3
KiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBVTlVTRURfUEFSQU0oZWMpOwotICAg
IGlmICh0YXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkVMRU1FTlRfQVJSQVlfQlVGRkVSICYm
IG1fYm91bmRFbGVtZW50QXJyYXlCdWZmZXIpIHsKLSAgICAgICAgaWYgKCFtX2JvdW5kRWxlbWVu
dEFycmF5QnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJTdWJEYXRhKG9mZnNldCwgZGF0YSkpIHsKLSAg
ICAgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
OklOVkFMSURfVkFMVUUpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfSBl
bHNlIGlmICh0YXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiAmJiBtX2Jv
dW5kQXJyYXlCdWZmZXIpIHsKLSAgICAgICAgaWYgKCFtX2JvdW5kQXJyYXlCdWZmZXItPmFzc29j
aWF0ZUJ1ZmZlclN1YkRhdGEob2Zmc2V0LCBkYXRhKSkgewotICAgICAgICAgICAgbV9jb250ZXh0
LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSk7Ci0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBtX2Nv
bnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0p
OworICAgIFdlYkdMQnVmZmVyKiBidWZmZXIgPSB2YWxpZGF0ZUJ1ZmZlckRhdGFQYXJhbWV0ZXJz
KHRhcmdldCwgR3JhcGhpY3NDb250ZXh0M0Q6OlNUQVRJQ19EUkFXKTsKKyAgICBpZiAoIWJ1ZmZl
cikKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghYnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJTdWJE
YXRhKG9mZnNldCwgZGF0YSkpIHsKKyAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJv
cihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKQEAgLTM2NDAsMTYgKzM1OTMsMzIgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnZhbGlkYXRlVW5pZgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFdlYkdMUmVuZGVyaW5n
Q29udGV4dDo6dmFsaWRhdGVCdWZmZXJEYXRhVXNhZ2UodW5zaWduZWQgbG9uZyB1c2FnZSkKK1dl
YkdMQnVmZmVyKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlQnVmZmVyRGF0YVBhcmFt
ZXRlcnModW5zaWduZWQgbG9uZyB0YXJnZXQsIHVuc2lnbmVkIGxvbmcgdXNhZ2UpCiB7CisgICAg
V2ViR0xCdWZmZXIqIGJ1ZmZlciA9IDA7CisgICAgc3dpdGNoICh0YXJnZXQpIHsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpFTEVNRU5UX0FSUkFZX0JVRkZFUjoKKyAgICAgICAgYnVmZmVy
ID0gbV9ib3VuZEVsZW1lbnRBcnJheUJ1ZmZlci5nZXQoKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6QVJSQVlfQlVGRkVSOgorICAgICAgICBidWZmZXIgPSBt
X2JvdW5kQXJyYXlCdWZmZXIuZ2V0KCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklO
VkFMSURfRU5VTSk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBpZiAoIWJ1ZmZlcikg
eworICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNE
OjpJTlZBTElEX09QRVJBVElPTik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KICAgICBzd2l0
Y2ggKHVzYWdlKSB7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RSRUFNX0RSQVc6CiAg
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RBVElDX0RSQVc6CiAgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6RFlOQU1JQ19EUkFXOgotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
cmV0dXJuIGJ1ZmZlcjsKICAgICB9CiAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAg
cmV0dXJuIDA7CiB9CiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2ZXJ0ZXhBdHRyaWJm
SW1wbCh1bnNpZ25lZCBsb25nIGluZGV4LCBpbnQgZXhwZWN0ZWRTaXplLCBmbG9hdCB2MCwgZmxv
YXQgdjEsIGZsb2F0IHYyLCBmbG9hdCB2MykKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuaAkocmV2aXNpb24gNjMyNTMpCisrKyBXZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDUsOCAr
NTA1LDkgQEAgY2xhc3MgV2ViS2l0Q1NTTWF0cml4OwogICAgICAgICBib29sIHZhbGlkYXRlVW5p
Zm9ybU1hdHJpeFBhcmFtZXRlcnMoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9u
LCBib29sIHRyYW5zcG9zZSwgRmxvYXQzMkFycmF5KiB2LCBpbnQgbW9kKTsKICAgICAgICAgYm9v
bCB2YWxpZGF0ZVVuaWZvcm1NYXRyaXhQYXJhbWV0ZXJzKGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0
aW9uKiBsb2NhdGlvbiwgYm9vbCB0cmFuc3Bvc2UsIHZvaWQqIHYsIGludCBzaXplLCBpbnQgbW9k
KTsKIAotICAgICAgICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gdmFsaWRhdGUgdXNhZ2UgZm9yIGJ1
ZmZlckRhdGEuCi0gICAgICAgIGJvb2wgdmFsaWRhdGVCdWZmZXJEYXRhVXNhZ2UodW5zaWduZWQg
bG9uZyk7CisgICAgICAgIC8vIEhlbHBlciBmdW5jdGlvbiB0byB2YWxpZGF0ZSBwYXJhbWV0ZXJz
IGZvciBidWZmZXJEYXRhLgorICAgICAgICAvLyBSZXR1cm4gdGhlIGN1cnJlbnQgYm91bmQgYnVm
ZmVyIHRvIHRhcmdldCwgb3IgMCBpZiBwYXJhbWV0ZXJzIGFyZSBpbnZhbGlkLgorICAgICAgICBX
ZWJHTEJ1ZmZlciogdmFsaWRhdGVCdWZmZXJEYXRhUGFyYW1ldGVycyh1bnNpZ25lZCBsb25nIHRh
cmdldCwgdW5zaWduZWQgbG9uZyB1c2FnZSk7CiAKICAgICAgICAgLy8gSGVscGVyIGZ1bmN0aW9u
cyBmb3IgdmVydGV4QXR0cmliTmZ7dn0uCiAgICAgICAgIHZvaWQgdmVydGV4QXR0cmliZkltcGwo
dW5zaWduZWQgbG9uZyBpbmRleCwgaW50IGV4cGVjdGVkU2l6ZSwgZmxvYXQgdjAsIGZsb2F0IHYx
LCBmbG9hdCB2MiwgZmxvYXQgdjMpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjMyNTkpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0w
Ny0xMyAgWmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGJ1ZmZlckRhdGEgYW5kIGJ1ZmZlclN1YkRhdGEg
Z2VuZXJhdGUgd3JvbmcgZXJyb3Igd2hlbiBudWxsIGJ1ZmZlciBpcyBib3VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIxMjUKKworICAgICAgICAq
IGZhc3QvY2FudmFzL3dlYmdsL2J1ZmZlci1kYXRhLWFycmF5LWJ1ZmZlci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWRhdGEtYXJyYXktYnVmZmVyLmh0
bWw6IFRlc3QgYWdhaW5zdCB0aGUgY2FzZSB3aGVyZSBib3VuZCBidWZmZXIgaXMgMC4KKyAgICAg
ICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9nbC1lbnVtLXRlc3RzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9nbC1lbnVtLXRlc3RzLmh0bWw6IEJpbmQgYnVmZmVyIGZp
cnN0IGJlZm9yZSBjYWxsaW5nIGJ1ZmZlckRhdGEuCisKIDIwMTAtMDctMTIgIFRvbnkgR2VudGls
Y29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBG
aXNoZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0YS1h
cnJheS1idWZmZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2J1ZmZlci1kYXRhLWFycmF5LWJ1ZmZlci1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDYzMjUzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWRhdGEt
YXJyYXktYnVmZmVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiw2ICs2LDcgQEAg
UmVncmVzc2lvbiB0ZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0LgogUEFTUyBnbCBpcyBub24t
bnVsbC4KIFBBU1MgYXJyYXkgaXMgbm9uLW51bGwuCiBQQVNTIFtvYmplY3QgV2ViR0xCdWZmZXJd
IGlzIG5vbi1udWxsLgorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLklOVkFMSURfT1BFUkFUSU9O
CiBQQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKIFBBU1MgZ2wuZ2V0RXJyb3IoKSBp
cyBnbC5OT19FUlJPUgogUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0YS1hcnJheS1idWZmZXIuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0
YS1hcnJheS1idWZmZXIuaHRtbAkocmV2aXNpb24gNjMyNTMpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0YS1hcnJheS1idWZmZXIuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMjIsNiArMjIsOSBAQCBzaG91bGRCZU5vbk51bGwoImFycmF5Iik7CiB2YXIgYnVmID0g
Z2wuY3JlYXRlQnVmZmVyKCk7CiBzaG91bGRCZU5vbk51bGwoYnVmKTsKIAorZ2wuYnVmZmVyRGF0
YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5LCBnbC5TVEFUSUNfRFJBVyk7CitzaG91bGRCZSgiZ2wu
Z2V0RXJyb3IoKSIsICJnbC5JTlZBTElEX09QRVJBVElPTiIpOworCiBnbC5iaW5kQnVmZmVyKGds
LkFSUkFZX0JVRkZFUiwgYnVmKTsKIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VS
Uk9SIik7CiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWVudW0tdGVz
dHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL2dsLWVudW0tdGVzdHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2MzI1MykKKysrIExheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWVudW0tdGVzdHMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC03LDYgKzcsNyBAQCBDYW52YXMuZ2V0Q29udGV4dAogUEFTUyBjb250ZXh0
IGV4aXN0cwogCiBDaGVja2luZyBnbCBlbnVtcy4KK1BBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5O
T19FUlJPUgogUEFTUyBnbC5iaW5kVGV4dHVyZShkZXNrdG9wR0xbJ1RFWFRVUkVfM0QnXSwgdGV4
KSBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4KIFBBU1MgZ2wuYmxlbmRFcXVhdGlvbihkZXNr
dG9wR0xbJ01JTiddKSBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4KIFBBU1MgZ2wuYmxlbmRF
cXVhdGlvbihkZXNrdG9wR0xbJ01BWCddKSBzaG91bGQgcmV0dXJuIElOVkFMSURfRU5VTS4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWVudW0tdGVzdHMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1lbnVtLXRlc3RzLmh0
bWwJKHJldmlzaW9uIDYzMjUzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wt
ZW51bS10ZXN0cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw5IEBAIGlmICghZ2wp
IHsKICAgZGVidWcoIiIpOwogICBkZWJ1ZygiQ2hlY2tpbmcgZ2wgZW51bXMuIik7CiAKKyAgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGdsLmNyZWF0ZUJ1ZmZlcigpKTsKKyAgc2hvdWxk
QmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKwogICB2YXIgYnVmZmVyID0gbmV3
IEFycmF5QnVmZmVyKDEpOwogICB2YXIgYnVmID0gbmV3IFVpbnQxNkFycmF5KGJ1ZmZlcik7CiAg
IHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7Cg==
</data>
<flag name="commit-queue"
          id="49463"
          type_id="3"
          status="-"
          setter="zmo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61723</attachid>
            <date>2010-07-15 14:34:53 -0700</date>
            <delta_ts>2010-07-15 16:03:25 -0700</delta_ts>
            <desc>revised patch</desc>
            <filename>buffer.patch</filename>
            <type>text/plain</type>
            <size>11125</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzQ1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMTMgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBidWZmZXJE
YXRhIGFuZCBidWZmZXJTdWJEYXRhIGdlbmVyYXRlIHdyb25nIGVycm9yIHdoZW4gbnVsbCBidWZm
ZXIgaXMgYm91bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQyMTI1CisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZmZXJEYXRh
KTogQ2FsbCB2YWxpZGF0ZUJ1ZmZlckRhdGFQYXJhbWV0ZXJzKCkuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlclN1YkRhdGEpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVCdWZmZXJEYXRhUGFyYW1l
dGVycyk6IFBhcmFtZXRlcnMgdmFsaWRhdGlvbiBmb3IgYnVmZmVye1N1Yn1EYXRhKCkuCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6IERlY2xhcmUgdmFsaWRh
dGVCdWZmZXJEYXRhUGFyYW1ldGVycygpLgorCiAyMDEwLTA3LTA3ICBKb2huIEdyZWdnICA8am9o
bm55Z0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEppYW4gTGkuCkluZGV4OiBX
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCShyZXZpc2lv
biA2MzQ1NykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzUyLDIyICszNTIsMTEgQEAgdm9pZCBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmJsZW5kRnVuY1NlcAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZl
ckRhdGEodW5zaWduZWQgbG9uZyB0YXJnZXQsIGludCBzaXplLCB1bnNpZ25lZCBsb25nIHVzYWdl
LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBVTlVTRURfUEFSQU0oZWMpOwotICAgIGlmICgh
aXNHTEVTMkNvbXBsaWFudCgpKSB7Ci0gICAgICAgIGlmICghdmFsaWRhdGVCdWZmZXJEYXRhVXNh
Z2UodXNhZ2UpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAodGFyZ2V0ID09
IEdyYXBoaWNzQ29udGV4dDNEOjpFTEVNRU5UX0FSUkFZX0JVRkZFUiAmJiBtX2JvdW5kRWxlbWVu
dEFycmF5QnVmZmVyKSB7Ci0gICAgICAgIGlmICghbV9ib3VuZEVsZW1lbnRBcnJheUJ1ZmZlci0+
YXNzb2NpYXRlQnVmZmVyRGF0YShzaXplKSkgewotICAgICAgICAgICAgbV9jb250ZXh0LT5zeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKHRhcmdldCA9PSBHcmFwaGlj
c0NvbnRleHQzRDo6QVJSQVlfQlVGRkVSICYmIG1fYm91bmRBcnJheUJ1ZmZlcikgewotICAgICAg
ICBpZiAoIW1fYm91bmRBcnJheUJ1ZmZlci0+YXNzb2NpYXRlQnVmZmVyRGF0YShzaXplKSkgewot
ICAgICAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9WQUxVRSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9
IGVsc2UgewotICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dDNEOjpJTlZBTElEX0VOVU0pOworICAgIFdlYkdMQnVmZmVyKiBidWZmZXIgPSB2YWxpZGF0
ZUJ1ZmZlckRhdGFQYXJhbWV0ZXJzKHRhcmdldCwgdXNhZ2UpOworICAgIGlmICghYnVmZmVyKQor
ICAgICAgICByZXR1cm47CisgICAgaWYgKCFidWZmZXItPmFzc29jaWF0ZUJ1ZmZlckRhdGEoc2l6
ZSkpIHsKKyAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRl
eHQzRDo6SU5WQUxJRF9WQUxVRSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTM3OCwy
MiArMzY3LDExIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZmZXJEYXRhKHUKIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZmZXJEYXRhKHVuc2lnbmVkIGxvbmcgdGFyZ2V0
LCBBcnJheUJ1ZmZlciogZGF0YSwgdW5zaWduZWQgbG9uZyB1c2FnZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGVjKTsKLSAgICBpZiAoIWlzR0xFUzJDb21wbGlhbnQo
KSkgewotICAgICAgICBpZiAoIXZhbGlkYXRlQnVmZmVyRGF0YVVzYWdlKHVzYWdlKSkKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKHRhcmdldCA9PSBHcmFwaGljc0NvbnRleHQz
RDo6RUxFTUVOVF9BUlJBWV9CVUZGRVIgJiYgbV9ib3VuZEVsZW1lbnRBcnJheUJ1ZmZlcikgewot
ICAgICAgICBpZiAoIW1fYm91bmRFbGVtZW50QXJyYXlCdWZmZXItPmFzc29jaWF0ZUJ1ZmZlckRh
dGEoZGF0YSkpIHsKLSAgICAgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3Jh
cGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwotICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICB9Ci0gICAgfSBlbHNlIGlmICh0YXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZ
X0JVRkZFUiAmJiBtX2JvdW5kQXJyYXlCdWZmZXIpIHsKLSAgICAgICAgaWYgKCFtX2JvdW5kQXJy
YXlCdWZmZXItPmFzc29jaWF0ZUJ1ZmZlckRhdGEoZGF0YSkpIHsKLSAgICAgICAgICAgIG1fY29u
dGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUp
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
bV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9F
TlVNKTsKKyAgICBXZWJHTEJ1ZmZlciogYnVmZmVyID0gdmFsaWRhdGVCdWZmZXJEYXRhUGFyYW1l
dGVycyh0YXJnZXQsIHVzYWdlKTsKKyAgICBpZiAoIWJ1ZmZlcikKKyAgICAgICAgcmV0dXJuOwor
ICAgIGlmICghYnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJEYXRhKGRhdGEpKSB7CisgICAgICAgIG1f
Y29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFM
VUUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC00MDQsMjIgKzM4MiwxMSBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6YnVmZmVyRGF0YSh1CiB2b2lkIFdlYkdMUmVuZGVyaW5n
Q29udGV4dDo6YnVmZmVyRGF0YSh1bnNpZ25lZCBsb25nIHRhcmdldCwgQXJyYXlCdWZmZXJWaWV3
KiBkYXRhLCB1bnNpZ25lZCBsb25nIHVzYWdlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBV
TlVTRURfUEFSQU0oZWMpOwotICAgIGlmICghaXNHTEVTMkNvbXBsaWFudCgpKSB7Ci0gICAgICAg
IGlmICghdmFsaWRhdGVCdWZmZXJEYXRhVXNhZ2UodXNhZ2UpKQotICAgICAgICAgICAgcmV0dXJu
OwotICAgIH0KLSAgICBpZiAodGFyZ2V0ID09IEdyYXBoaWNzQ29udGV4dDNEOjpFTEVNRU5UX0FS
UkFZX0JVRkZFUiAmJiBtX2JvdW5kRWxlbWVudEFycmF5QnVmZmVyKSB7Ci0gICAgICAgIGlmICgh
bV9ib3VuZEVsZW1lbnRBcnJheUJ1ZmZlci0+YXNzb2NpYXRlQnVmZmVyRGF0YShkYXRhKSkgewot
ICAgICAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9WQUxVRSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9
IGVsc2UgaWYgKHRhcmdldCA9PSBHcmFwaGljc0NvbnRleHQzRDo6QVJSQVlfQlVGRkVSICYmIG1f
Ym91bmRBcnJheUJ1ZmZlcikgewotICAgICAgICBpZiAoIW1fYm91bmRBcnJheUJ1ZmZlci0+YXNz
b2NpYXRlQnVmZmVyRGF0YShkYXRhKSkgewotICAgICAgICAgICAgbV9jb250ZXh0LT5zeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSk7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBtX2NvbnRleHQtPnN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0pOworICAgIFdl
YkdMQnVmZmVyKiBidWZmZXIgPSB2YWxpZGF0ZUJ1ZmZlckRhdGFQYXJhbWV0ZXJzKHRhcmdldCwg
dXNhZ2UpOworICAgIGlmICghYnVmZmVyKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFidWZm
ZXItPmFzc29jaWF0ZUJ1ZmZlckRhdGEoZGF0YSkpIHsKKyAgICAgICAgbV9jb250ZXh0LT5zeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKQEAgLTQzMCwxOCArMzk3LDExIEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0OjpidWZmZXJEYXRhKHUKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZm
ZXJTdWJEYXRhKHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBsb25nIG9mZnNldCwgQXJyYXlCdWZmZXIq
IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFVOVVNFRF9QQVJBTShlYyk7Ci0gICAg
aWYgKHRhcmdldCA9PSBHcmFwaGljc0NvbnRleHQzRDo6RUxFTUVOVF9BUlJBWV9CVUZGRVIgJiYg
bV9ib3VuZEVsZW1lbnRBcnJheUJ1ZmZlcikgewotICAgICAgICBpZiAoIW1fYm91bmRFbGVtZW50
QXJyYXlCdWZmZXItPmFzc29jaWF0ZUJ1ZmZlclN1YkRhdGEob2Zmc2V0LCBkYXRhKSkgewotICAg
ICAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6
SU5WQUxJRF9WQUxVRSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9IGVs
c2UgaWYgKHRhcmdldCA9PSBHcmFwaGljc0NvbnRleHQzRDo6QVJSQVlfQlVGRkVSICYmIG1fYm91
bmRBcnJheUJ1ZmZlcikgewotICAgICAgICBpZiAoIW1fYm91bmRBcnJheUJ1ZmZlci0+YXNzb2Np
YXRlQnVmZmVyU3ViRGF0YShvZmZzZXQsIGRhdGEpKSB7Ci0gICAgICAgICAgICBtX2NvbnRleHQt
PnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fY29u
dGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSk7
CisgICAgV2ViR0xCdWZmZXIqIGJ1ZmZlciA9IHZhbGlkYXRlQnVmZmVyRGF0YVBhcmFtZXRlcnMo
dGFyZ2V0LCBHcmFwaGljc0NvbnRleHQzRDo6U1RBVElDX0RSQVcpOworICAgIGlmICghYnVmZmVy
KQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFidWZmZXItPmFzc29jaWF0ZUJ1ZmZlclN1YkRh
dGEob2Zmc2V0LCBkYXRhKSkgeworICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9y
KEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtNDUyLDE4ICs0MTIsMTEgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1
ZmZlclN1YkRhdAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlclN1YkRhdGEodW5z
aWduZWQgbG9uZyB0YXJnZXQsIGxvbmcgb2Zmc2V0LCBBcnJheUJ1ZmZlclZpZXcqIGRhdGEsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFVOVVNFRF9QQVJBTShlYyk7Ci0gICAgaWYgKHRhcmdl
dCA9PSBHcmFwaGljc0NvbnRleHQzRDo6RUxFTUVOVF9BUlJBWV9CVUZGRVIgJiYgbV9ib3VuZEVs
ZW1lbnRBcnJheUJ1ZmZlcikgewotICAgICAgICBpZiAoIW1fYm91bmRFbGVtZW50QXJyYXlCdWZm
ZXItPmFzc29jaWF0ZUJ1ZmZlclN1YkRhdGEob2Zmc2V0LCBkYXRhKSkgewotICAgICAgICAgICAg
bV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9W
QUxVRSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKHRh
cmdldCA9PSBHcmFwaGljc0NvbnRleHQzRDo6QVJSQVlfQlVGRkVSICYmIG1fYm91bmRBcnJheUJ1
ZmZlcikgewotICAgICAgICBpZiAoIW1fYm91bmRBcnJheUJ1ZmZlci0+YXNzb2NpYXRlQnVmZmVy
U3ViRGF0YShvZmZzZXQsIGRhdGEpKSB7Ci0gICAgICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNp
emVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFKTsKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fY29udGV4dC0+c3lu
dGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSk7CisgICAgV2Vi
R0xCdWZmZXIqIGJ1ZmZlciA9IHZhbGlkYXRlQnVmZmVyRGF0YVBhcmFtZXRlcnModGFyZ2V0LCBH
cmFwaGljc0NvbnRleHQzRDo6U1RBVElDX0RSQVcpOworICAgIGlmICghYnVmZmVyKQorICAgICAg
ICByZXR1cm47CisgICAgaWYgKCFidWZmZXItPmFzc29jaWF0ZUJ1ZmZlclN1YkRhdGEob2Zmc2V0
LCBkYXRhKSkgeworICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX1ZBTFVFKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
MzY0MCwxNiArMzU5MywzMiBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVV
bmlmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2
YWxpZGF0ZUJ1ZmZlckRhdGFVc2FnZSh1bnNpZ25lZCBsb25nIHVzYWdlKQorV2ViR0xCdWZmZXIq
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVCdWZmZXJEYXRhUGFyYW1ldGVycyh1bnNp
Z25lZCBsb25nIHRhcmdldCwgdW5zaWduZWQgbG9uZyB1c2FnZSkKIHsKKyAgICBXZWJHTEJ1ZmZl
ciogYnVmZmVyID0gMDsKKyAgICBzd2l0Y2ggKHRhcmdldCkgeworICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OkVMRU1FTlRfQVJSQVlfQlVGRkVSOgorICAgICAgICBidWZmZXIgPSBtX2JvdW5k
RWxlbWVudEFycmF5QnVmZmVyLmdldCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpBUlJBWV9CVUZGRVI6CisgICAgICAgIGJ1ZmZlciA9IG1fYm91bmRBcnJh
eUJ1ZmZlci5nZXQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgbV9j
b250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVN
KTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIGlmICghYnVmZmVyKSB7CisgICAgICAg
IG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
T1BFUkFUSU9OKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogICAgIHN3aXRjaCAodXNhZ2Up
IHsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVFJFQU1fRFJBVzoKICAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpTVEFUSUNfRFJBVzoKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpEWU5BTUlDX0RSQVc6Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gYnVm
ZmVyOwogICAgIH0KICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dDNEOjpJTlZBTElEX0VOVU0pOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gMDsK
IH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZlcnRleEF0dHJpYmZJbXBsKHVuc2ln
bmVkIGxvbmcgaW5kZXgsIGludCBleHBlY3RlZFNpemUsIGZsb2F0IHYwLCBmbG9hdCB2MSwgZmxv
YXQgdjIsIGZsb2F0IHYzKQpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5oCShyZXZpc2lvbiA2MzQ1NykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwNSw4ICs1MDUsOSBAQCBj
bGFzcyBXZWJLaXRDU1NNYXRyaXg7CiAgICAgICAgIGJvb2wgdmFsaWRhdGVVbmlmb3JtTWF0cml4
UGFyYW1ldGVycyhjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIGJvb2wgdHJh
bnNwb3NlLCBGbG9hdDMyQXJyYXkqIHYsIGludCBtb2QpOwogICAgICAgICBib29sIHZhbGlkYXRl
VW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0
aW9uLCBib29sIHRyYW5zcG9zZSwgdm9pZCogdiwgaW50IHNpemUsIGludCBtb2QpOwogCi0gICAg
ICAgIC8vIEhlbHBlciBmdW5jdGlvbiB0byB2YWxpZGF0ZSB1c2FnZSBmb3IgYnVmZmVyRGF0YS4K
LSAgICAgICAgYm9vbCB2YWxpZGF0ZUJ1ZmZlckRhdGFVc2FnZSh1bnNpZ25lZCBsb25nKTsKKyAg
ICAgICAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIHBhcmFtZXRlcnMgZm9yIGJ1ZmZl
ckRhdGEuCisgICAgICAgIC8vIFJldHVybiB0aGUgY3VycmVudCBib3VuZCBidWZmZXIgdG8gdGFy
Z2V0LCBvciAwIGlmIHBhcmFtZXRlcnMgYXJlIGludmFsaWQuCisgICAgICAgIFdlYkdMQnVmZmVy
KiB2YWxpZGF0ZUJ1ZmZlckRhdGFQYXJhbWV0ZXJzKHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCB1bnNp
Z25lZCBsb25nIHVzYWdlKTsKIAogICAgICAgICAvLyBIZWxwZXIgZnVuY3Rpb25zIGZvciB2ZXJ0
ZXhBdHRyaWJOZnt2fS4KICAgICAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWJmSW1wbCh1bnNpZ25lZCBs
b25nIGluZGV4LCBpbnQgZXhwZWN0ZWRTaXplLCBmbG9hdCB2MCwgZmxvYXQgdjEsIGZsb2F0IHYy
LCBmbG9hdCB2Myk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2MzQ1NykKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEwLTA3LTEzICBaaGVu
eWFvIE1vICA8em1vQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgYnVmZmVyRGF0YSBhbmQgYnVmZmVyU3ViRGF0YSBnZW5lcmF0ZSB3
cm9uZyBlcnJvciB3aGVuIG51bGwgYnVmZmVyIGlzIGJvdW5kCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjEyNQorCisgICAgICAgICogZmFzdC9jYW52
YXMvd2ViZ2wvYnVmZmVyLWRhdGEtYXJyYXktYnVmZmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0YS1hcnJheS1idWZmZXIuaHRtbDogVGVzdCBh
Z2FpbnN0IHRoZSBjYXNlIHdoZXJlIGJvdW5kIGJ1ZmZlciBpcyAwLgorCiAyMDEwLTA3LTA3ICBK
b2huIEdyZWdnICA8am9obm55Z0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpp
YW4gTGkuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0YS1h
cnJheS1idWZmZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2J1ZmZlci1kYXRhLWFycmF5LWJ1ZmZlci1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDYzNDU3KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWRhdGEt
YXJyYXktYnVmZmVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiw2ICs2LDcgQEAg
UmVncmVzc2lvbiB0ZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0LgogUEFTUyBnbCBpcyBub24t
bnVsbC4KIFBBU1MgYXJyYXkgaXMgbm9uLW51bGwuCiBQQVNTIFtvYmplY3QgV2ViR0xCdWZmZXJd
IGlzIG5vbi1udWxsLgorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLklOVkFMSURfT1BFUkFUSU9O
CiBQQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKIFBBU1MgZ2wuZ2V0RXJyb3IoKSBp
cyBnbC5OT19FUlJPUgogUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0YS1hcnJheS1idWZmZXIuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0
YS1hcnJheS1idWZmZXIuaHRtbAkocmV2aXNpb24gNjM0NTcpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0YS1hcnJheS1idWZmZXIuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMjIsNiArMjIsOSBAQCBzaG91bGRCZU5vbk51bGwoImFycmF5Iik7CiB2YXIgYnVmID0g
Z2wuY3JlYXRlQnVmZmVyKCk7CiBzaG91bGRCZU5vbk51bGwoYnVmKTsKIAorZ2wuYnVmZmVyRGF0
YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5LCBnbC5TVEFUSUNfRFJBVyk7CitzaG91bGRCZSgiZ2wu
Z2V0RXJyb3IoKSIsICJnbC5JTlZBTElEX09QRVJBVElPTiIpOyAKKwogZ2wuYmluZEJ1ZmZlcihn
bC5BUlJBWV9CVUZGRVIsIGJ1Zik7CiBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19F
UlJPUiIpOwogCg==
</data>
<flag name="review"
          id="49795"
          type_id="1"
          status="+"
          setter="japhet"
    />
    <flag name="commit-queue"
          id="49796"
          type_id="3"
          status="-"
          setter="zmo"
    />
          </attachment>
      

    </bug>

</bugzilla>