<?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>69120</bug_id>
          
          <creation_ts>2011-09-29 19:18:31 -0700</creation_ts>
          <short_desc>add op_call/op_constructor support to JSVALUE32_64 DFG JIT</short_desc>
          <delta_ts>2011-09-29 23:16:23 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>0</everconfirmed>
          <reporter name="Yuqiang Xian">yuqiang.xian</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>475827</commentid>
    <comment_count>0</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2011-09-29 19:18:31 -0700</bug_when>
    <thetext>To improve the coverage of JSVALUE32_64 DFG JIT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475829</commentid>
    <comment_count>1</comment_count>
      <attachid>109239</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2011-09-29 19:24:00 -0700</bug_when>
    <thetext>Created attachment 109239
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475844</commentid>
    <comment_count>2</comment_count>
      <attachid>109245</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2011-09-29 20:04:11 -0700</bug_when>
    <thetext>Created attachment 109245
patch

forgot to remove NO_RETURN in previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475897</commentid>
    <comment_count>3</comment_count>
      <attachid>109245</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-09-29 22:12:07 -0700</bug_when>
    <thetext>Comment on attachment 109245
patch

Looks great.
(r-&apos;ed for a mo there because I thought I&apos;d spotted a problem re stdcall argument popping, but I was wrong!).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475922</commentid>
    <comment_count>4</comment_count>
      <attachid>109245</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-29 23:16:19 -0700</bug_when>
    <thetext>Comment on attachment 109245
patch

Clearing flags on attachment: 109245

Committed r96391: &lt;http://trac.webkit.org/changeset/96391&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475923</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-29 23:16:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109239</attachid>
            <date>2011-09-29 19:24:00 -0700</date>
            <delta_ts>2011-09-29 20:04:11 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>69120.patch</filename>
            <type>text/plain</type>
            <size>8320</size>
            <attacher name="Yuqiang Xian">yuqiang.xian</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTYzODEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTEtMDktMjkgIFl1cWlhbmcgWGlhbiAgPHl1cWlhbmcueGlhbkBpbnRlbC5jb20+CisKKyAg
ICAgICAgQWRkIG9wX2NhbGwvb3BfY29uc3RydWN0b3Igc3VwcG9ydCB0byBKU1ZBTFVFMzJfNjQg
REZHIEpJVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjkxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXByb3ZlIHRoZSBjb3ZlcmFnZSBvZiBKU1ZBTFVFMzJfNjQgREZHIEpJVC4KKworICAgICAgICAq
IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQ
YXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMuaDoKKyAg
ICAgICAgKEpTQzo6REZHOjpjYW5Db21waWxlT3Bjb2RlKToKKyAgICAgICAgKiBkZmcvREZHSklU
Q29kZUdlbmVyYXRvci5oOgorICAgICAgICAoSlNDOjpERkc6OnRhZ09mQ2FsbERhdGEpOgorICAg
ICAgICAoSlNDOjpERkc6OnBheWxvYWRPZkNhbGxEYXRhKToKKyAgICAgICAgKiBkZmcvREZHSklU
Q29kZUdlbmVyYXRvcjMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb2RlR2VuZXJh
dG9yOjplbWl0Q2FsbCk6CisKIDIwMTEtMDktMjkgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5i
ZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBEZS12aXJ0dWFsaXplIEpTQ2VsbDo6dG9PYmplY3QK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCShyZXZpc2lvbiA5NjM4MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0
ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgyLDcgKzEzODIsNiBAQCBib29s
IEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBhZGRUb0dy
YXBoKFRocm93UmVmZXJlbmNlRXJyb3IpOwogICAgICAgICAgICAgTEFTVF9PUENPREUob3BfdGhy
b3dfcmVmZXJlbmNlX2Vycm9yKTsKICAgICAgICAgICAgIAotI2lmIFVTRShKU1ZBTFVFNjQpCiAg
ICAgICAgIGNhc2Ugb3BfY2FsbDogewogICAgICAgICAgICAgTm9kZUluZGV4IGNhbGxUYXJnZXQg
PSBnZXQoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7CiAgICAgICAgICAgICBpZiAo
bV9ncmFwaC5pc0Z1bmN0aW9uQ29uc3RhbnQobV9jb2RlQmxvY2ssIGNhbGxUYXJnZXQpKSB7CkBA
IC0xNDE2LDcgKzE0MTUsNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2ln
bmVkCiAgICAgICAgICAgICBhZGRDYWxsKGludGVycHJldGVyLCBjdXJyZW50SW5zdHJ1Y3Rpb24s
IENvbnN0cnVjdCk7CiAgICAgICAgICAgICBORVhUX09QQ09ERShvcF9jb25zdHJ1Y3QpOwogICAg
ICAgICB9Ci0jZW5kaWYKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIG9wX2NhbGxfcHV0X3Jl
c3VsdDoKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2NhbGxfcHV0X3Jlc3VsdCk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmgJKHJldmlzaW9u
IDk2MzgxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtMTEzLDEwICsxMTMsOCBAQCBpbmxpbmUgYm9vbCBjYW5Db21waWxl
T3Bjb2RlKE9wY29kZUlEIG9wCiAgICAgY2FzZSBvcF9sb29wX2lmX2dyZWF0ZXJlcToKICAgICBj
YXNlIG9wX3JldDoKICAgICBjYXNlIG9wX2VuZDoKLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgIGNh
c2Ugb3BfY2FsbDoKICAgICBjYXNlIG9wX2NvbnN0cnVjdDoKLSNlbmRpZgogICAgIGNhc2Ugb3Bf
Y2FsbF9wdXRfcmVzdWx0OgogICAgIGNhc2Ugb3BfcmVzb2x2ZToKICAgICBjYXNlIG9wX3Jlc29s
dmVfYmFzZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVy
YXRvcjMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0pJVENvZGVHZW5lcmF0b3IzMl82NC5jcHAJKHJldmlzaW9uIDk2MzgxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9yMzJfNjQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTg4LDkgKzE1ODgsOTkgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVj
dWxhdGl2ZUxvZwogCiB2b2lkIE5PX1JFVFVSTiBKSVRDb2RlR2VuZXJhdG9yOjplbWl0Q2FsbChO
b2RlJiBub2RlKQogewotICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBzdXBwb3J0ZWQgeWV0IQotICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIFVOVVNFRF9QQVJBTShub2RlKTsKKyAgICBQX0RG
R09wZXJhdGlvbl9FIHNsb3dDYWxsRnVuY3Rpb247CisgICAgYm9vbCBpc0NhbGw7CisKKyAgICBp
ZiAobm9kZS5vcCA9PSBDYWxsKSB7CisgICAgICAgIHNsb3dDYWxsRnVuY3Rpb24gPSBvcGVyYXRp
b25MaW5rQ2FsbDsKKyAgICAgICAgaXNDYWxsID0gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAg
ICBBU1NFUlQobm9kZS5vcCA9PSBDb25zdHJ1Y3QpOworICAgICAgICBzbG93Q2FsbEZ1bmN0aW9u
ID0gb3BlcmF0aW9uTGlua0NvbnN0cnVjdDsKKyAgICAgICAgaXNDYWxsID0gZmFsc2U7CisgICAg
fQorCisgICAgTm9kZUluZGV4IGNhbGxlZU5vZGVJbmRleCA9IG1faml0LmdyYXBoKCkubV92YXJB
cmdDaGlsZHJlbltub2RlLmZpcnN0Q2hpbGQoKV07CisgICAgSlNWYWx1ZU9wZXJhbmQgY2FsbGVl
KHRoaXMsIGNhbGxlZU5vZGVJbmRleCk7CisgICAgR1BSUmVnIGNhbGxlZVRhZ0dQUiA9IGNhbGxl
ZS50YWdHUFIoKTsKKyAgICBHUFJSZWcgY2FsbGVlUGF5bG9hZEdQUiA9IGNhbGxlZS5wYXlsb2Fk
R1BSKCk7CisgICAgdXNlKGNhbGxlZU5vZGVJbmRleCk7CisKKyAgICAvLyB0aGUgY2FsbCBpbnN0
cnVjdGlvbidzIGZpcnN0IGNoaWxkIGlzIGVpdGhlciB0aGUgZnVuY3Rpb24gKG5vcm1hbCBjYWxs
KSBvciB0aGUKKyAgICAvLyByZWNlaXZlciAobWV0aG9kIGNhbGwpLiBzdWJzZXF1ZW50IGNoaWxk
cmVuIGFyZSB0aGUgYXJndW1lbnRzLgorICAgIGludCBudW1BcmdzID0gbm9kZS5udW1DaGlsZHJl
bigpIC0gMTsKKworICAgIC8vIEZvciBjb25zdHJ1Y3RvcnMsIHRoZSB0aGlzIGFyZ3VtZW50IGlz
IG5vdCBwYXNzZWQgYnV0IHdlIGhhdmUgdG8gbWFrZSBzcGFjZQorICAgIC8vIGZvciBpdC4KKyAg
ICBpbnQgbnVtUGFzc2VkQXJncyA9IG51bUFyZ3MgKyAoaXNDYWxsID8gMCA6IDEpOworCisgICAg
Ly8gYW1vdW50IG9mIHN0dWZmIChpbiB1bml0cyBvZiBzaXplb2YoUmVnaXN0ZXIpKSB0aGF0IHdl
IG5lZWQgdG8gcGxhY2UgYXQgdGhlCisgICAgLy8gdG9wIG9mIHRoZSBKUyBzdGFjay4KKyAgICBp
bnQgY2FsbERhdGFTaXplID0gMDsKKworICAgIC8vIGZpcnN0IHRoZXJlIGFyZSB0aGUgYXJndW1l
bnRzCisgICAgY2FsbERhdGFTaXplICs9IG51bVBhc3NlZEFyZ3M7CisKKyAgICAvLyBhbmQgdGhl
biB0aGVyZSBpcyB0aGUgY2FsbCBmcmFtZSBoZWFkZXIKKyAgICBjYWxsRGF0YVNpemUgKz0gUmVn
aXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplOworCisgICAgbV9qaXQuc3RvcmUzMihNYWNy
b0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKG51bVBhc3NlZEFyZ3MpLCBwYXlsb2FkT2ZDYWxsRGF0
YShSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQpKTsKKyAgICBtX2ppdC5zdG9yZTMyKE1hY3Jv
QXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6SW50MzJUYWcpLCB0YWdPZkNhbGxEYXRh
KFJlZ2lzdGVyRmlsZTo6QXJndW1lbnRDb3VudCkpOworICAgIG1faml0LnN0b3JlUHRyKEdQUklu
Zm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBwYXlsb2FkT2ZDYWxsRGF0YShSZWdpc3RlckZpbGU6OkNh
bGxlckZyYW1lKSk7CisgICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZElt
bTMyKEpTVmFsdWU6OkNlbGxUYWcpLCB0YWdPZkNhbGxEYXRhKFJlZ2lzdGVyRmlsZTo6Q2FsbGVy
RnJhbWUpKTsKKworICAgIGZvciAoaW50IGFyZ0lkeCA9IDA7IGFyZ0lkeCA8IG51bUFyZ3M7IGFy
Z0lkeCsrKSB7CisgICAgICAgIE5vZGVJbmRleCBhcmdOb2RlSW5kZXggPSBtX2ppdC5ncmFwaCgp
Lm1fdmFyQXJnQ2hpbGRyZW5bbm9kZS5maXJzdENoaWxkKCkgKyAxICsgYXJnSWR4XTsKKyAgICAg
ICAgSlNWYWx1ZU9wZXJhbmQgYXJnKHRoaXMsIGFyZ05vZGVJbmRleCk7CisgICAgICAgIEdQUlJl
ZyBhcmdUYWdHUFIgPSBhcmcudGFnR1BSKCk7CisgICAgICAgIEdQUlJlZyBhcmdQYXlsb2FkR1BS
ID0gYXJnLnBheWxvYWRHUFIoKTsKKyAgICAgICAgdXNlKGFyZ05vZGVJbmRleCk7CisKKyAgICAg
ICAgbV9qaXQuc3RvcmUzMihhcmdUYWdHUFIsIHRhZ09mQ2FsbERhdGEoLWNhbGxEYXRhU2l6ZSAr
IGFyZ0lkeCArIChpc0NhbGwgPyAwIDogMSkpKTsKKyAgICAgICAgbV9qaXQuc3RvcmUzMihhcmdQ
YXlsb2FkR1BSLCBwYXlsb2FkT2ZDYWxsRGF0YSgtY2FsbERhdGFTaXplICsgYXJnSWR4ICsgKGlz
Q2FsbCA/IDAgOiAxKSkpOworICAgIH0KKworICAgIG1faml0LnN0b3JlMzIoY2FsbGVlVGFnR1BS
LCB0YWdPZkNhbGxEYXRhKFJlZ2lzdGVyRmlsZTo6Q2FsbGVlKSk7CisgICAgbV9qaXQuc3RvcmUz
MihjYWxsZWVQYXlsb2FkR1BSLCBwYXlsb2FkT2ZDYWxsRGF0YShSZWdpc3RlckZpbGU6OkNhbGxl
ZSkpOworCisgICAgZmx1c2hSZWdpc3RlcnMoKTsKKworICAgIEdQUlJlc3VsdCByZXN1bHRQYXls
b2FkKHRoaXMpOworICAgIEdQUlJlc3VsdDIgcmVzdWx0VGFnKHRoaXMpOworICAgIEdQUlJlZyBy
ZXN1bHRQYXlsb2FkR1BSID0gcmVzdWx0UGF5bG9hZC5ncHIoKTsKKyAgICBHUFJSZWcgcmVzdWx0
VGFnR1BSID0gcmVzdWx0VGFnLmdwcigpOworCisgICAgSklUQ29tcGlsZXI6OkRhdGFMYWJlbFB0
ciB0YXJnZXRUb0NoZWNrOworICAgIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoOworCisgICAg
c2xvd1BhdGggPSBtX2ppdC5icmFuY2hQdHJXaXRoUGF0Y2goTWFjcm9Bc3NlbWJsZXI6Ok5vdEVx
dWFsLCBjYWxsZWVQYXlsb2FkR1BSLCB0YXJnZXRUb0NoZWNrKTsKKyAgICBtX2ppdC5sb2FkUHRy
KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGNhbGxlZVBheWxvYWRHUFIsIE9CSkVDVF9PRkZTRVRP
RihKU0Z1bmN0aW9uLCBtX3Njb3BlQ2hhaW4pKSwgcmVzdWx0UGF5bG9hZEdQUik7CisgICAgbV9q
aXQuc3RvcmVQdHIocmVzdWx0UGF5bG9hZEdQUiwgcGF5bG9hZE9mQ2FsbERhdGEoUmVnaXN0ZXJG
aWxlOjpTY29wZUNoYWluKSk7CisgICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1
c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLCB0YWdPZkNhbGxEYXRhKFJlZ2lzdGVyRmlsZTo6
U2NvcGVDaGFpbikpOworCisgICAgbV9qaXQuYWRkUHRyKEltbTMyKG1faml0LmNvZGVCbG9jaygp
LT5tX251bUNhbGxlZVJlZ2lzdGVycyAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxs
RnJhbWVSZWdpc3Rlcik7CisKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBmYXN0Q2FsbCA9IG1faml0
Lm5lYXJDYWxsKCk7CisgICAgbV9qaXQubm90aWZ5Q2FsbChmYXN0Q2FsbCwgbV9qaXQuZ3JhcGgo
KVttX2NvbXBpbGVJbmRleF0uY29kZU9yaWdpbik7CisKKyAgICBKSVRDb21waWxlcjo6SnVtcCBk
b25lID0gbV9qaXQuanVtcCgpOworCisgICAgc2xvd1BhdGgubGluaygmbV9qaXQpOworCisgICAg
bV9qaXQuYWRkUHRyKEltbTMyKG1faml0LmNvZGVCbG9jaygpLT5tX251bUNhbGxlZVJlZ2lzdGVy
cyAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BSSW5m
bzo6YXJndW1lbnRHUFIwKTsKKyAgICBtX2ppdC5wdXNoKEdQUkluZm86OmFyZ3VtZW50R1BSMCk7
CisgICAgSklUQ29tcGlsZXI6OkNhbGwgc2xvd0NhbGwgPSBtX2ppdC5hcHBlbmRDYWxsV2l0aEZh
c3RFeGNlcHRpb25DaGVjayhzbG93Q2FsbEZ1bmN0aW9uLCBtX2ppdC5ncmFwaCgpW21fY29tcGls
ZUluZGV4XS5jb2RlT3JpZ2luKTsKKyAgICBtX2ppdC5tb3ZlKEltbTMyKG51bVBhc3NlZEFyZ3Mp
LCBHUFJJbmZvOjpyZWdUMSk7CisgICAgbV9qaXQuYWRkUHRyKEltbTMyKG1faml0LmNvZGVCbG9j
aygpLT5tX251bUNhbGxlZVJlZ2lzdGVycyAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpj
YWxsRnJhbWVSZWdpc3Rlcik7CisgICAgbV9qaXQubm90aWZ5Q2FsbChtX2ppdC5jYWxsKEdQUklu
Zm86OnJldHVyblZhbHVlR1BSKSwgbV9qaXQuZ3JhcGgoKVttX2NvbXBpbGVJbmRleF0uY29kZU9y
aWdpbik7CisKKyAgICBkb25lLmxpbmsoJm1faml0KTsKKworICAgIHNldHVwUmVzdWx0cyhyZXN1
bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpOworCisgICAganNWYWx1ZVJlc3VsdChyZXN1bHRU
YWdHUFIsIHJlc3VsdFBheWxvYWRHUFIsIG1fY29tcGlsZUluZGV4LCBEYXRhRm9ybWF0SlMsIFVz
ZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CisKKyAgICBtX2ppdC5hZGRKU0NhbGwoZmFzdENh
bGwsIHNsb3dDYWxsLCB0YXJnZXRUb0NoZWNrLCBpc0NhbGwsIG1faml0LmdyYXBoKClbbV9jb21w
aWxlSW5kZXhdLmNvZGVPcmlnaW4pOwogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5oCShyZXZpc2lvbiA5NjM4MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC03ODUsNyArNzg1LDE5IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAg
IHJldHVybiBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rl
ciwgKG1faml0LmNvZGVCbG9jaygpLT5tX251bUNhbGxlZVJlZ2lzdGVycyArIGlkeCkgKiBzdGF0
aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKTsKICAgICB9Ci0gICAgCisKKyNpZiBVU0Uo
SlNWQUxVRTMyXzY0KSAgICAKKyAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyB0YWdPZkNhbGxE
YXRhKGludCBpZHgpCisgICAgeworICAgICAgICByZXR1cm4gTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIChtX2ppdC5jb2RlQmxvY2soKS0+bV9udW1D
YWxsZWVSZWdpc3RlcnMgKyBpZHgpICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIp
KSArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSk7
CisgICAgfQorCisgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MgcGF5bG9hZE9mQ2FsbERhdGEo
aW50IGlkeCkKKyAgICB7CisgICAgICAgIHJldHVybiBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhH
UFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgKG1faml0LmNvZGVCbG9jaygpLT5tX251bUNhbGxl
ZVJlZ2lzdGVycyArIGlkeCkgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsg
T0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSk7
CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIGVtaXRDYWxsKE5vZGUmKTsKICAgICAKICAgICB2
b2lkIHNwZWN1bGF0aW9uQ2hlY2soTWFjcm9Bc3NlbWJsZXI6Okp1bXAganVtcFRvRmFpbCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109245</attachid>
            <date>2011-09-29 20:04:11 -0700</date>
            <delta_ts>2011-09-29 23:16:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>69120.1.patch</filename>
            <type>text/plain</type>
            <size>8488</size>
            <attacher name="Yuqiang Xian">yuqiang.xian</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTYzODEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTEtMDktMjkgIFl1cWlhbmcgWGlhbiAgPHl1cWlhbmcueGlhbkBpbnRlbC5jb20+CisKKyAg
ICAgICAgQWRkIG9wX2NhbGwvb3BfY29uc3RydWN0b3Igc3VwcG9ydCB0byBKU1ZBTFVFMzJfNjQg
REZHIEpJVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjkxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXByb3ZlIHRoZSBjb3ZlcmFnZSBvZiBKU1ZBTFVFMzJfNjQgREZHIEpJVC4KKworICAgICAgICAq
IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQ
YXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMuaDoKKyAg
ICAgICAgKEpTQzo6REZHOjpjYW5Db21waWxlT3Bjb2RlKToKKyAgICAgICAgKiBkZmcvREZHSklU
Q29kZUdlbmVyYXRvci5oOgorICAgICAgICAoSlNDOjpERkc6OnRhZ09mQ2FsbERhdGEpOgorICAg
ICAgICAoSlNDOjpERkc6OnBheWxvYWRPZkNhbGxEYXRhKToKKyAgICAgICAgKiBkZmcvREZHSklU
Q29kZUdlbmVyYXRvcjMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb2RlR2VuZXJh
dG9yOjplbWl0Q2FsbCk6CisKIDIwMTEtMDktMjkgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5i
ZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBEZS12aXJ0dWFsaXplIEpTQ2VsbDo6dG9PYmplY3QK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCShyZXZpc2lvbiA5NjM4MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0
ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgyLDcgKzEzODIsNiBAQCBib29s
IEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBhZGRUb0dy
YXBoKFRocm93UmVmZXJlbmNlRXJyb3IpOwogICAgICAgICAgICAgTEFTVF9PUENPREUob3BfdGhy
b3dfcmVmZXJlbmNlX2Vycm9yKTsKICAgICAgICAgICAgIAotI2lmIFVTRShKU1ZBTFVFNjQpCiAg
ICAgICAgIGNhc2Ugb3BfY2FsbDogewogICAgICAgICAgICAgTm9kZUluZGV4IGNhbGxUYXJnZXQg
PSBnZXQoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7CiAgICAgICAgICAgICBpZiAo
bV9ncmFwaC5pc0Z1bmN0aW9uQ29uc3RhbnQobV9jb2RlQmxvY2ssIGNhbGxUYXJnZXQpKSB7CkBA
IC0xNDE2LDcgKzE0MTUsNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2ln
bmVkCiAgICAgICAgICAgICBhZGRDYWxsKGludGVycHJldGVyLCBjdXJyZW50SW5zdHJ1Y3Rpb24s
IENvbnN0cnVjdCk7CiAgICAgICAgICAgICBORVhUX09QQ09ERShvcF9jb25zdHJ1Y3QpOwogICAg
ICAgICB9Ci0jZW5kaWYKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIG9wX2NhbGxfcHV0X3Jl
c3VsdDoKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2NhbGxfcHV0X3Jlc3VsdCk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmgJKHJldmlzaW9u
IDk2MzgxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtMTEzLDEwICsxMTMsOCBAQCBpbmxpbmUgYm9vbCBjYW5Db21waWxl
T3Bjb2RlKE9wY29kZUlEIG9wCiAgICAgY2FzZSBvcF9sb29wX2lmX2dyZWF0ZXJlcToKICAgICBj
YXNlIG9wX3JldDoKICAgICBjYXNlIG9wX2VuZDoKLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgIGNh
c2Ugb3BfY2FsbDoKICAgICBjYXNlIG9wX2NvbnN0cnVjdDoKLSNlbmRpZgogICAgIGNhc2Ugb3Bf
Y2FsbF9wdXRfcmVzdWx0OgogICAgIGNhc2Ugb3BfcmVzb2x2ZToKICAgICBjYXNlIG9wX3Jlc29s
dmVfYmFzZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVy
YXRvcjMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0pJVENvZGVHZW5lcmF0b3IzMl82NC5jcHAJKHJldmlzaW9uIDk2MzgxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9yMzJfNjQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTg2LDExICsxNTg2LDEwMSBAQCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNw
ZWN1bGF0aXZlTG9nCiAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxv
YWRHUFIsIG1fY29tcGlsZUluZGV4LCBEYXRhRm9ybWF0SlNCb29sZWFuLCBVc2VDaGlsZHJlbkNh
bGxlZEV4cGxpY2l0bHkpOwogfQogCi12b2lkIE5PX1JFVFVSTiBKSVRDb2RlR2VuZXJhdG9yOjpl
bWl0Q2FsbChOb2RlJiBub2RlKQordm9pZCBKSVRDb2RlR2VuZXJhdG9yOjplbWl0Q2FsbChOb2Rl
JiBub2RlKQogewotICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBzdXBwb3J0ZWQgeWV0IQotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIFVOVVNFRF9QQVJBTShub2RlKTsKKyAgICBQX0RGR09w
ZXJhdGlvbl9FIHNsb3dDYWxsRnVuY3Rpb247CisgICAgYm9vbCBpc0NhbGw7CisKKyAgICBpZiAo
bm9kZS5vcCA9PSBDYWxsKSB7CisgICAgICAgIHNsb3dDYWxsRnVuY3Rpb24gPSBvcGVyYXRpb25M
aW5rQ2FsbDsKKyAgICAgICAgaXNDYWxsID0gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgICBB
U1NFUlQobm9kZS5vcCA9PSBDb25zdHJ1Y3QpOworICAgICAgICBzbG93Q2FsbEZ1bmN0aW9uID0g
b3BlcmF0aW9uTGlua0NvbnN0cnVjdDsKKyAgICAgICAgaXNDYWxsID0gZmFsc2U7CisgICAgfQor
CisgICAgTm9kZUluZGV4IGNhbGxlZU5vZGVJbmRleCA9IG1faml0LmdyYXBoKCkubV92YXJBcmdD
aGlsZHJlbltub2RlLmZpcnN0Q2hpbGQoKV07CisgICAgSlNWYWx1ZU9wZXJhbmQgY2FsbGVlKHRo
aXMsIGNhbGxlZU5vZGVJbmRleCk7CisgICAgR1BSUmVnIGNhbGxlZVRhZ0dQUiA9IGNhbGxlZS50
YWdHUFIoKTsKKyAgICBHUFJSZWcgY2FsbGVlUGF5bG9hZEdQUiA9IGNhbGxlZS5wYXlsb2FkR1BS
KCk7CisgICAgdXNlKGNhbGxlZU5vZGVJbmRleCk7CisKKyAgICAvLyB0aGUgY2FsbCBpbnN0cnVj
dGlvbidzIGZpcnN0IGNoaWxkIGlzIGVpdGhlciB0aGUgZnVuY3Rpb24gKG5vcm1hbCBjYWxsKSBv
ciB0aGUKKyAgICAvLyByZWNlaXZlciAobWV0aG9kIGNhbGwpLiBzdWJzZXF1ZW50IGNoaWxkcmVu
IGFyZSB0aGUgYXJndW1lbnRzLgorICAgIGludCBudW1BcmdzID0gbm9kZS5udW1DaGlsZHJlbigp
IC0gMTsKKworICAgIC8vIEZvciBjb25zdHJ1Y3RvcnMsIHRoZSB0aGlzIGFyZ3VtZW50IGlzIG5v
dCBwYXNzZWQgYnV0IHdlIGhhdmUgdG8gbWFrZSBzcGFjZQorICAgIC8vIGZvciBpdC4KKyAgICBp
bnQgbnVtUGFzc2VkQXJncyA9IG51bUFyZ3MgKyAoaXNDYWxsID8gMCA6IDEpOworCisgICAgLy8g
YW1vdW50IG9mIHN0dWZmIChpbiB1bml0cyBvZiBzaXplb2YoUmVnaXN0ZXIpKSB0aGF0IHdlIG5l
ZWQgdG8gcGxhY2UgYXQgdGhlCisgICAgLy8gdG9wIG9mIHRoZSBKUyBzdGFjay4KKyAgICBpbnQg
Y2FsbERhdGFTaXplID0gMDsKKworICAgIC8vIGZpcnN0IHRoZXJlIGFyZSB0aGUgYXJndW1lbnRz
CisgICAgY2FsbERhdGFTaXplICs9IG51bVBhc3NlZEFyZ3M7CisKKyAgICAvLyBhbmQgdGhlbiB0
aGVyZSBpcyB0aGUgY2FsbCBmcmFtZSBoZWFkZXIKKyAgICBjYWxsRGF0YVNpemUgKz0gUmVnaXN0
ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplOworCisgICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fz
c2VtYmxlcjo6VHJ1c3RlZEltbTMyKG51bVBhc3NlZEFyZ3MpLCBwYXlsb2FkT2ZDYWxsRGF0YShS
ZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQpKTsKKyAgICBtX2ppdC5zdG9yZTMyKE1hY3JvQXNz
ZW1ibGVyOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6SW50MzJUYWcpLCB0YWdPZkNhbGxEYXRhKFJl
Z2lzdGVyRmlsZTo6QXJndW1lbnRDb3VudCkpOworICAgIG1faml0LnN0b3JlUHRyKEdQUkluZm86
OmNhbGxGcmFtZVJlZ2lzdGVyLCBwYXlsb2FkT2ZDYWxsRGF0YShSZWdpc3RlckZpbGU6OkNhbGxl
ckZyYW1lKSk7CisgICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMy
KEpTVmFsdWU6OkNlbGxUYWcpLCB0YWdPZkNhbGxEYXRhKFJlZ2lzdGVyRmlsZTo6Q2FsbGVyRnJh
bWUpKTsKKworICAgIGZvciAoaW50IGFyZ0lkeCA9IDA7IGFyZ0lkeCA8IG51bUFyZ3M7IGFyZ0lk
eCsrKSB7CisgICAgICAgIE5vZGVJbmRleCBhcmdOb2RlSW5kZXggPSBtX2ppdC5ncmFwaCgpLm1f
dmFyQXJnQ2hpbGRyZW5bbm9kZS5maXJzdENoaWxkKCkgKyAxICsgYXJnSWR4XTsKKyAgICAgICAg
SlNWYWx1ZU9wZXJhbmQgYXJnKHRoaXMsIGFyZ05vZGVJbmRleCk7CisgICAgICAgIEdQUlJlZyBh
cmdUYWdHUFIgPSBhcmcudGFnR1BSKCk7CisgICAgICAgIEdQUlJlZyBhcmdQYXlsb2FkR1BSID0g
YXJnLnBheWxvYWRHUFIoKTsKKyAgICAgICAgdXNlKGFyZ05vZGVJbmRleCk7CisKKyAgICAgICAg
bV9qaXQuc3RvcmUzMihhcmdUYWdHUFIsIHRhZ09mQ2FsbERhdGEoLWNhbGxEYXRhU2l6ZSArIGFy
Z0lkeCArIChpc0NhbGwgPyAwIDogMSkpKTsKKyAgICAgICAgbV9qaXQuc3RvcmUzMihhcmdQYXls
b2FkR1BSLCBwYXlsb2FkT2ZDYWxsRGF0YSgtY2FsbERhdGFTaXplICsgYXJnSWR4ICsgKGlzQ2Fs
bCA/IDAgOiAxKSkpOworICAgIH0KKworICAgIG1faml0LnN0b3JlMzIoY2FsbGVlVGFnR1BSLCB0
YWdPZkNhbGxEYXRhKFJlZ2lzdGVyRmlsZTo6Q2FsbGVlKSk7CisgICAgbV9qaXQuc3RvcmUzMihj
YWxsZWVQYXlsb2FkR1BSLCBwYXlsb2FkT2ZDYWxsRGF0YShSZWdpc3RlckZpbGU6OkNhbGxlZSkp
OworCisgICAgZmx1c2hSZWdpc3RlcnMoKTsKKworICAgIEdQUlJlc3VsdCByZXN1bHRQYXlsb2Fk
KHRoaXMpOworICAgIEdQUlJlc3VsdDIgcmVzdWx0VGFnKHRoaXMpOworICAgIEdQUlJlZyByZXN1
bHRQYXlsb2FkR1BSID0gcmVzdWx0UGF5bG9hZC5ncHIoKTsKKyAgICBHUFJSZWcgcmVzdWx0VGFn
R1BSID0gcmVzdWx0VGFnLmdwcigpOworCisgICAgSklUQ29tcGlsZXI6OkRhdGFMYWJlbFB0ciB0
YXJnZXRUb0NoZWNrOworICAgIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoOworCisgICAgc2xv
d1BhdGggPSBtX2ppdC5icmFuY2hQdHJXaXRoUGF0Y2goTWFjcm9Bc3NlbWJsZXI6Ok5vdEVxdWFs
LCBjYWxsZWVQYXlsb2FkR1BSLCB0YXJnZXRUb0NoZWNrKTsKKyAgICBtX2ppdC5sb2FkUHRyKE1h
Y3JvQXNzZW1ibGVyOjpBZGRyZXNzKGNhbGxlZVBheWxvYWRHUFIsIE9CSkVDVF9PRkZTRVRPRihK
U0Z1bmN0aW9uLCBtX3Njb3BlQ2hhaW4pKSwgcmVzdWx0UGF5bG9hZEdQUik7CisgICAgbV9qaXQu
c3RvcmVQdHIocmVzdWx0UGF5bG9hZEdQUiwgcGF5bG9hZE9mQ2FsbERhdGEoUmVnaXN0ZXJGaWxl
OjpTY29wZUNoYWluKSk7CisgICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3Rl
ZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLCB0YWdPZkNhbGxEYXRhKFJlZ2lzdGVyRmlsZTo6U2Nv
cGVDaGFpbikpOworCisgICAgbV9qaXQuYWRkUHRyKEltbTMyKG1faml0LmNvZGVCbG9jaygpLT5t
X251bUNhbGxlZVJlZ2lzdGVycyAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJh
bWVSZWdpc3Rlcik7CisKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBmYXN0Q2FsbCA9IG1faml0Lm5l
YXJDYWxsKCk7CisgICAgbV9qaXQubm90aWZ5Q2FsbChmYXN0Q2FsbCwgbV9qaXQuZ3JhcGgoKVtt
X2NvbXBpbGVJbmRleF0uY29kZU9yaWdpbik7CisKKyAgICBKSVRDb21waWxlcjo6SnVtcCBkb25l
ID0gbV9qaXQuanVtcCgpOworCisgICAgc2xvd1BhdGgubGluaygmbV9qaXQpOworCisgICAgbV9q
aXQuYWRkUHRyKEltbTMyKG1faml0LmNvZGVCbG9jaygpLT5tX251bUNhbGxlZVJlZ2lzdGVycyAq
IHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BSSW5mbzo6
YXJndW1lbnRHUFIwKTsKKyAgICBtX2ppdC5wdXNoKEdQUkluZm86OmFyZ3VtZW50R1BSMCk7Cisg
ICAgSklUQ29tcGlsZXI6OkNhbGwgc2xvd0NhbGwgPSBtX2ppdC5hcHBlbmRDYWxsV2l0aEZhc3RF
eGNlcHRpb25DaGVjayhzbG93Q2FsbEZ1bmN0aW9uLCBtX2ppdC5ncmFwaCgpW21fY29tcGlsZUlu
ZGV4XS5jb2RlT3JpZ2luKTsKKyAgICBtX2ppdC5tb3ZlKEltbTMyKG51bVBhc3NlZEFyZ3MpLCBH
UFJJbmZvOjpyZWdUMSk7CisgICAgbV9qaXQuYWRkUHRyKEltbTMyKG1faml0LmNvZGVCbG9jaygp
LT5tX251bUNhbGxlZVJlZ2lzdGVycyAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxs
RnJhbWVSZWdpc3Rlcik7CisgICAgbV9qaXQubm90aWZ5Q2FsbChtX2ppdC5jYWxsKEdQUkluZm86
OnJldHVyblZhbHVlR1BSKSwgbV9qaXQuZ3JhcGgoKVttX2NvbXBpbGVJbmRleF0uY29kZU9yaWdp
bik7CisKKyAgICBkb25lLmxpbmsoJm1faml0KTsKKworICAgIHNldHVwUmVzdWx0cyhyZXN1bHRU
YWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpOworCisgICAganNWYWx1ZVJlc3VsdChyZXN1bHRUYWdH
UFIsIHJlc3VsdFBheWxvYWRHUFIsIG1fY29tcGlsZUluZGV4LCBEYXRhRm9ybWF0SlMsIFVzZUNo
aWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CisKKyAgICBtX2ppdC5hZGRKU0NhbGwoZmFzdENhbGws
IHNsb3dDYWxsLCB0YXJnZXRUb0NoZWNrLCBpc0NhbGwsIG1faml0LmdyYXBoKClbbV9jb21waWxl
SW5kZXhdLmNvZGVPcmlnaW4pOwogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5oCShyZXZpc2lvbiA5NjM4MSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5oCSh3b3JraW5n
IGNvcHkpCkBAIC03ODUsNyArNzg1LDE5IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIHJl
dHVybiBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlciwg
KG1faml0LmNvZGVCbG9jaygpLT5tX251bUNhbGxlZVJlZ2lzdGVycyArIGlkeCkgKiBzdGF0aWNf
Y2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKTsKICAgICB9Ci0gICAgCisKKyNpZiBVU0UoSlNW
QUxVRTMyXzY0KSAgICAKKyAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyB0YWdPZkNhbGxEYXRh
KGludCBpZHgpCisgICAgeworICAgICAgICByZXR1cm4gTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Mo
R1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIChtX2ppdC5jb2RlQmxvY2soKS0+bV9udW1DYWxs
ZWVSZWdpc3RlcnMgKyBpZHgpICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSAr
IE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSk7Cisg
ICAgfQorCisgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MgcGF5bG9hZE9mQ2FsbERhdGEoaW50
IGlkeCkKKyAgICB7CisgICAgICAgIHJldHVybiBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhHUFJJ
bmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgKG1faml0LmNvZGVCbG9jaygpLT5tX251bUNhbGxlZVJl
Z2lzdGVycyArIGlkeCkgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsgT0JK
RUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSk7Cisg
ICAgfQorI2VuZGlmCisKICAgICB2b2lkIGVtaXRDYWxsKE5vZGUmKTsKICAgICAKICAgICB2b2lk
IHNwZWN1bGF0aW9uQ2hlY2soTWFjcm9Bc3NlbWJsZXI6Okp1bXAganVtcFRvRmFpbCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>