<?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>22554</bug_id>
          
          <creation_ts>2008-11-29 04:45:52 -0800</creation_ts>
          <short_desc>Enable WREC on x86-64</short_desc>
          <delta_ts>2008-12-01 01:18:43 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>ggaren</cc>
    
    <cc>zwarich</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>100699</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2008-11-29 04:45:52 -0800</bug_when>
    <thetext>We should enable WREC on x86-64.  This would be a &gt;10% progression on Sunspider.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100700</commentid>
    <comment_count>1</comment_count>
      <attachid>25595</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2008-11-29 04:52:38 -0800</bug_when>
    <thetext>Created attachment 25595
The patch, not marking for review yet.

I&apos;m not marking this for review, since I&apos;m not sure whether we want to turn this on by default yet - currently I believe this will mark the whole heap RWX if WREC is enabled, which may be a bad thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100701</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2008-11-29 04:54:01 -0800</bug_when>
    <thetext>Oh, that is, on PLATFORM(X86_64) the whole heap would be executable, if WREC is compiled in – it wouldn&apos;t affect other platforms.  Still could be a bad idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100705</commentid>
    <comment_count>3</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-29 05:42:02 -0800</bug_when>
    <thetext>I would be willing to turn it on only for 64-bit Mac OS. We really need to fix bug 21783, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100804</commentid>
    <comment_count>4</comment_count>
      <attachid>25621</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2008-11-30 23:24:54 -0800</bug_when>
    <thetext>Created attachment 25621
New patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100806</commentid>
    <comment_count>5</comment_count>
      <attachid>25621</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-30 23:33:38 -0800</bug_when>
    <thetext>Comment on attachment 25621
New patch

&gt; #if ENABLE(ASSEMBLER) &amp;&amp; (PLATFORM(GTK) || PLATFORM(X86_64))

This should only be enabled on 64-bit Mac OS, not all x86-64. Also, mention what you are doing with wx pages in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100808</commentid>
    <comment_count>6</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2008-12-01 01:18:43 -0800</bug_when>
    <thetext>Sending        JavaScriptCore/ChangeLog
Sending        JavaScriptCore/assembler/MacroAssembler.h
Sending        JavaScriptCore/assembler/X86Assembler.h
Sending        JavaScriptCore/wrec/WREC.h
Sending        JavaScriptCore/wrec/WRECGenerator.cpp
Sending        JavaScriptCore/wtf/Platform.h
Sending        JavaScriptCore/wtf/TCSystemAlloc.cpp
Transmitting file data .......
Committed revision 38857.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25595</attachid>
            <date>2008-11-29 04:52:38 -0800</date>
            <delta_ts>2008-11-30 23:24:54 -0800</delta_ts>
            <desc>The patch, not marking for review yet.</desc>
            <filename>patch.wrec64.txt</filename>
            <type>text/plain</type>
            <size>14212</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4ODQx
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMDgtMTEt
MjkgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBXUkVDIG9uIFBM
QVRGT1JNKFg4Nl82NCkuICBUaGlzIGNoYW5nZSBwcmVkb21pbmFudGx5IHJlcXVpcmVzIGNoYW5n
ZXMgdG8gdGhlCisgICAgICAgIFdSRUM6OkdlbmVyYXRvcjo6Z2VuZXJhdGVFbnRlciBtZXRob2Qg
dG8gc3VwcG9ydCB0aGUgeDg2LTY0IEFCSSwgYW5kIGFkZGl0aW9uIG9mCisgICAgICAgIHN1cHBv
cnQgZm9yIGEgbGltaXRlZCBudW1iZXIgb2YgcXVhZHdvcmQgb3BlcmF0aW9ucyBpbiB0aGUgWDg2
QXNzZW1ibGVyLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjU1NAorICAgICAgICBHcmVhdGVyIHRoYW4gNHggc3BlZWR1cCBvbiByZWdleHAtZG5h
LCBvbiB4ODYtNjQuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaDoKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OmFkZFB0cik6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyOjpsb2FkUHRyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnN0b3Jl
UHRyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnBvcCk6CisgICAgICAgIChKU0M6
Ok1hY3JvQXNzZW1ibGVyOjpwdXNoKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6Om1v
dmUpOgorICAgICAgICAqIGFzc2VtYmxlci9YODZBc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6
WDg2QXNzZW1ibGVyOjopOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6Om1vdnFfcnIpOgor
ICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6OmFkZGxfaThtKToKKyAgICAgICAgKEpTQzo6WDg2
QXNzZW1ibGVyOjphZGRsX2kzMnIpOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6OmFkZHFf
aThyKToKKyAgICAgICAgKEpTQzo6WDg2QXNzZW1ibGVyOjphZGRxX2kzMnIpOgorICAgICAgICAo
SlNDOjpYODZBc3NlbWJsZXI6Om1vdnFfbXIpOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6
Om1vdnFfcm0pOgorICAgICAgICAqIHdyZWMvV1JFQy5oOgorICAgICAgICAqIHdyZWMvV1JFQ0dl
bmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OldSRUM6OkdlbmVyYXRvcjo6Z2VuZXJhdGVFbnRl
cik6CisgICAgICAgIChKU0M6OldSRUM6OkdlbmVyYXRvcjo6Z2VuZXJhdGVSZXR1cm5TdWNjZXNz
KToKKyAgICAgICAgKEpTQzo6V1JFQzo6R2VuZXJhdG9yOjpnZW5lcmF0ZVJldHVybkZhaWx1cmUp
OgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAgICAgICAqIHd0Zi9UQ1N5c3RlbUFsbG9j
LmNwcDoKKwogMjAwOC0xMS0yOSAgQ2FtZXJvbiBad2FyaWNoICA8endhcmljaEBhcHBsZS5jb20+
CiAKICAgICAgICAgTm90IHJldmlld2VkLgpJbmRleDogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgJKHJldmlzaW9uIDM4
ODM5KQorKysgYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1
MSw2ICsyNTEsMjEgQEAgcHVibGljOgogICAgIC8vIG1heSBvZnRlbiBiZSBhIG1lbW9yeSBsb2Nh
dGlvbiAoZXhwbGljdGx5IGRlc2NyaWJlZCB1c2luZyBhbiBBZGRyZXNzCiAgICAgLy8gb2JqZWN0
KS4KIAorICAgIHZvaWQgYWRkUHRyKEltbTMyIGltbSwgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsK
KyNpZiBQTEFURk9STShYODZfNjQpCisgICAgICAgIGlmIChDQU5fU0lHTl9FWFRFTkRfOF8zMihp
bW0ubV92YWx1ZSkpCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRxX2k4cihpbW0ubV92YWx1
ZSwgZGVzdCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZHFfaTMy
cihpbW0ubV92YWx1ZSwgZGVzdCk7CisjZWxzZQorICAgICAgICBpZiAoQ0FOX1NJR05fRVhURU5E
XzhfMzIoaW1tLm1fdmFsdWUpKQorICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbF9pOHIoaW1t
Lm1fdmFsdWUsIGRlc3QpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5h
ZGRsX2kzMnIoaW1tLm1fdmFsdWUsIGRlc3QpOworI2VuZGlmCisgICAgfQorCiAgICAgdm9pZCBh
ZGQzMihJbW0zMiBpbW0sIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmIChDQU5f
U0lHTl9FWFRFTkRfOF8zMihpbW0ubV92YWx1ZSkpCkBAIC0yOTIsMTAgKzMwNywxNyBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIGxvYWRQdHIoSW1wbGljaXRBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVy
SUQgZGVzdCkKICAgICB7CisjaWYgUExBVEZPUk0oWDg2XzY0KQorICAgICAgICBpZiAoYWRkcmVz
cy5vZmZzZXQpCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZxX21yKGFkZHJlc3Mub2Zmc2V0
LCBhZGRyZXNzLmJhc2UsIGRlc3QpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2Fzc2Vt
Ymxlci5tb3ZxX21yKGFkZHJlc3MuYmFzZSwgZGVzdCk7CisjZWxzZQogICAgICAgICBpZiAoYWRk
cmVzcy5vZmZzZXQpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsX21yKGFkZHJlc3Mub2Zm
c2V0LCBhZGRyZXNzLmJhc2UsIGRlc3QpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX2Fz
c2VtYmxlci5tb3ZsX21yKGFkZHJlc3MuYmFzZSwgZGVzdCk7CisjZW5kaWYKICAgICB9CiAKICAg
ICB2b2lkIGxvYWQzMihJbXBsaWNpdEFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0KQpA
QCAtMzE2LDEwICszMzgsMTcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzdG9yZVB0cihSZWdpc3Rl
cklEIHNyYywgSW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCiAgICAgeworI2lmIFBMQVRGT1JNKFg4
Nl82NCkKKyAgICAgICAgaWYgKGFkZHJlc3Mub2Zmc2V0KQorICAgICAgICAgICAgbV9hc3NlbWJs
ZXIubW92cV9ybShzcmMsIGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZxX3JtKHNyYywgYWRkcmVzcy5iYXNlKTsK
KyNlbHNlCiAgICAgICAgIGlmIChhZGRyZXNzLm9mZnNldCkKICAgICAgICAgICAgIG1fYXNzZW1i
bGVyLm1vdmxfcm0oc3JjLCBhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlKTsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92bF9ybShzcmMsIGFkZHJlc3MuYmFzZSk7
CisjZW5kaWYKICAgICB9CiAgICAgCiAgICAgdm9pZCBzdG9yZTMyKFJlZ2lzdGVySUQgc3JjLCBJ
bXBsaWNpdEFkZHJlc3MgYWRkcmVzcykKQEAgLTM0NywxNyArMzc2LDE5IEBAIHB1YmxpYzoKICAg
ICAKICAgICB2b2lkIHBvcChSZWdpc3RlcklEIGRlc3QpCiAgICAgeworICAgICAgICAvLyBOT1RF
OiB0aGlzIGlzICdxJyBvbiA2NGJpdCEKICAgICAgICAgbV9hc3NlbWJsZXIucG9wbF9yKGRlc3Qp
OwogICAgIH0KIAogICAgIHZvaWQgcHVzaChSZWdpc3RlcklEIHNyYykKICAgICB7CisgICAgICAg
IC8vIE5PVEU6IHRoaXMgaXMgJ3EnIG9uIDY0Yml0IQogICAgICAgICBtX2Fzc2VtYmxlci5wdXNo
bF9yKHNyYyk7CiAgICAgfQogCiAgICAgdm9pZCBwb3AoKQogICAgIHsKLSAgICAgICAgbV9hc3Nl
bWJsZXIuYWRkbF9pOHIoc2l6ZW9mKHZvaWQqKSwgWDg2Ojplc3ApOworICAgICAgICBhZGRQdHIo
SW1tMzIoc2l6ZW9mKHZvaWQqKSksIFg4Njo6ZXNwKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBw
ZWVrKFJlZ2lzdGVySUQgZGVzdCwgaW50IGluZGV4ID0gMCkKQEAgLTM4Myw2ICs0MTQsMTUgQEAg
cHVibGljOgogICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92bF9pMzJyKGltbS5tX3ZhbHVlLCBk
ZXN0KTsKICAgICB9CiAKKyAgICB2b2lkIG1vdmUoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQg
ZGVzdCkKKyAgICB7CisjaWYgUExBVEZPUk0oWDg2XzY0KQorICAgICAgICBtX2Fzc2VtYmxlci5t
b3ZxX3JyKHNyYywgZGVzdCk7CisjZWxzZQorICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsX3JyKHNy
YywgZGVzdCk7CisjZW5kaWYKKyAgICB9CisKIAogICAgIC8vIEZvcndhcmRzIC8gZXh0ZXJuYWwg
Y29udHJvbCBmbG93IG9wZXJhdGlvbnM6CiAgICAgLy8KSW5kZXg6IGFzc2VtYmxlci9YODZBc3Nl
bWJsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBhc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgJKHJldmlzaW9u
IDM4ODM5KQorKysgYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OCw3ICsyOCw3IEBACiAKICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAotI2lmIEVOQUJMRShB
U1NFTUJMRVIpICYmIFBMQVRGT1JNKFg4NikKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiAoUExB
VEZPUk0oWDg2KSB8fCBQTEFURk9STShYODZfNjQpKQogCiAjaW5jbHVkZSAiQXNzZW1ibGVyQnVm
ZmVyLmgiCiAjaW5jbHVkZSA8c3RkaW50Lmg+CkBAIC04Nyw2ICs4Nyw3IEBAIHB1YmxpYzoKICAg
ICAgICAgT1BfWE9SX0V2R3YgICAgICAgICAgICAgICAgICAgICA9IDB4MzEsCiAgICAgICAgIE9Q
X0NNUF9Fdkd2ICAgICAgICAgICAgICAgICAgICAgPSAweDM5LAogICAgICAgICBPUF9DTVBfR3ZF
diAgICAgICAgICAgICAgICAgICAgID0gMHgzQiwKKyAgICAgICAgUkVYX1cgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDB4NDgsCiAgICAgICAgIE9QX1BVU0hfRUFYICAgICAgICAgICAgICAg
ICAgICAgPSAweDUwLAogICAgICAgICBPUF9QT1BfRUFYICAgICAgICAgICAgICAgICAgICAgID0g
MHg1OCwKICAgICAgICAgUFJFX09QRVJBTkRfU0laRSAgICAgICAgICAgICAgICA9IDB4NjYsCkBA
IC0yNTEsMTIgKzI1MiwzMCBAQCBwdWJsaWM6CiAgICAgICAgIG1vZFJtX3JyKHNyYywgZHN0KTsK
ICAgICB9CiAgICAgCisjaWYgUExBVEZPUk0oWDg2XzY0KQorICAgIHZvaWQgbW92cV9ycihSZWdp
c3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkc3QpCisgICAgeworICAgICAgICBtX2J1ZmZlci0+cHV0
Qnl0ZShSRVhfVyk7CisgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKE9QX01PVl9Fdkd2KTsKKyAg
ICAgICAgbW9kUm1fcnIoc3JjLCBkc3QpOworICAgIH0KKyNlbmRpZgorCiAgICAgdm9pZCBhZGRs
X3JyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRzdCkKICAgICB7CiAgICAgICAgIG1fYnVm
ZmVyLT5wdXRCeXRlKE9QX0FERF9Fdkd2KTsKICAgICAgICAgbW9kUm1fcnIoc3JjLCBkc3QpOwog
ICAgIH0KIAorI2lmICFQTEFURk9STShYODZfNjQpCisgICAgdm9pZCBhZGRsX2k4bShpbnQgaW1t
LCB2b2lkKiBhZGRyKQorICAgIHsKKyAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoT1BfR1JPVVAx
X0V2SWIpOworICAgICAgICBtb2RSbV9vcG0oR1JPVVAxX09QX0FERCwgYWRkcik7CisgICAgICAg
IG1fYnVmZmVyLT5wdXRCeXRlKGltbSk7CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIGFkZGxf
aThyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQogICAgIHsKICAgICAgICAgbV9idWZmZXItPnB1
dEJ5dGUoT1BfR1JPVVAxX0V2SWIpOwpAQCAtMjY0LDE5ICsyODMsMzAgQEAgcHVibGljOgogICAg
ICAgICBtX2J1ZmZlci0+cHV0Qnl0ZShpbW0pOwogICAgIH0KIAotICAgIHZvaWQgYWRkbF9pOG0o
aW50IGltbSwgdm9pZCogYWRkcikKKyAgICB2b2lkIGFkZGxfaTMycihpbnQgaW1tLCBSZWdpc3Rl
cklEIGRzdCkKKyAgICB7CisgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKE9QX0dST1VQMV9Fdkl6
KTsKKyAgICAgICAgbW9kUm1fb3ByKEdST1VQMV9PUF9BREQsIGRzdCk7CisgICAgICAgIG1fYnVm
ZmVyLT5wdXRJbnQoaW1tKTsKKyAgICB9CisKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAgdm9p
ZCBhZGRxX2k4cihpbnQgaW1tLCBSZWdpc3RlcklEIGRzdCkKICAgICB7CisgICAgICAgIG1fYnVm
ZmVyLT5wdXRCeXRlKFJFWF9XKTsKICAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoT1BfR1JPVVAx
X0V2SWIpOwotICAgICAgICBtb2RSbV9vcG0oR1JPVVAxX09QX0FERCwgYWRkcik7CisgICAgICAg
IG1vZFJtX29wcihHUk9VUDFfT1BfQURELCBkc3QpOwogICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0
ZShpbW0pOwogICAgIH0KIAotICAgIHZvaWQgYWRkbF9pMzJyKGludCBpbW0sIFJlZ2lzdGVySUQg
ZHN0KQorICAgIHZvaWQgYWRkcV9pMzJyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQogICAgIHsK
KyAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoUkVYX1cpOwogICAgICAgICBtX2J1ZmZlci0+cHV0
Qnl0ZShPUF9HUk9VUDFfRXZJeik7CiAgICAgICAgIG1vZFJtX29wcihHUk9VUDFfT1BfQURELCBk
c3QpOwogICAgICAgICBtX2J1ZmZlci0+cHV0SW50KGltbSk7CiAgICAgfQorI2VuZGlmCiAKICAg
ICB2b2lkIGFkZGxfbXIoaW50IG9mZnNldCwgUmVnaXN0ZXJJRCBiYXNlLCBSZWdpc3RlcklEIGRz
dCkKICAgICB7CkBAIC0zNDMsMTIgKzM3MywxNCBAQCBwdWJsaWM6CiAgICAgICAgIG1fYnVmZmVy
LT5wdXRJbnQoaW1tKTsKICAgICB9CiAKKyNpZiAhUExBVEZPUk0oWDg2XzY0KQogICAgIHZvaWQg
Y21wbF9pMzJtKGludCBpbW0sIHZvaWQqIGFkZHIpCiAgICAgewogICAgICAgICBtX2J1ZmZlci0+
cHV0Qnl0ZShPUF9HUk9VUDFfRXZJeik7CiAgICAgICAgIG1vZFJtX29wbShHUk9VUDFfT1BfQ01Q
LCBhZGRyKTsKICAgICAgICAgbV9idWZmZXItPnB1dEludChpbW0pOwogICAgIH0KKyNlbmRpZgog
CiAgICAgdm9pZCBjbXBsX2k4bShpbnQgaW1tLCBpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGJhc2Us
IFJlZ2lzdGVySUQgaW5kZXgsIGludCBzY2FsZSkKICAgICB7CkBAIC00MjcsMTIgKzQ1OSwxNCBA
QCBwdWJsaWM6CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKGltbSk7CiAgICAgfQogICAgIAor
I2lmICFQTEFURk9STShYODZfNjQpCiAgICAgdm9pZCBzdWJsX2k4bShpbnQgaW1tLCB2b2lkKiBh
ZGRyKQogICAgIHsKICAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoT1BfR1JPVVAxX0V2SWIpOwog
ICAgICAgICBtb2RSbV9vcG0oR1JPVVAxX09QX1NVQiwgYWRkcik7CiAgICAgICAgIG1fYnVmZmVy
LT5wdXRCeXRlKGltbSk7CiAgICAgfQorI2VuZGlmCiAKICAgICB2b2lkIHN1YmxfaTMycihpbnQg
aW1tLCBSZWdpc3RlcklEIGRzdCkKICAgICB7CkBAIC01NjgsMTEgKzYwMiwzMCBAQCBwdWJsaWM6
CiAgICAgICAgIG1vZFJtX3JtX1VuY2hlY2tlZChkc3QsIGJhc2UsIG9mZnNldCk7CiAgICAgfQog
CisjaWYgUExBVEZPUk0oWDg2XzY0KQorICAgIHZvaWQgbW92cV9tcihSZWdpc3RlcklEIGJhc2Us
IFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoUkVYX1cp
OworICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0ZShPUF9NT1ZfR3ZFdik7CisgICAgICAgIG1vZFJt
X3JtKGRzdCwgYmFzZSk7CisgICAgfQorCisgICAgdm9pZCBtb3ZxX21yKGludCBvZmZzZXQsIFJl
Z2lzdGVySUQgYmFzZSwgUmVnaXN0ZXJJRCBkc3QpCisgICAgeworICAgICAgICBtX2J1ZmZlci0+
ZW5zdXJlU3BhY2UobWF4SW5zdHJ1Y3Rpb25TaXplKTsKKyAgICAgICAgbV9idWZmZXItPnB1dEJ5
dGVVbmNoZWNrZWQoUkVYX1cpOworICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0ZVVuY2hlY2tlZChP
UF9NT1ZfR3ZFdik7CisgICAgICAgIG1vZFJtX3JtX1VuY2hlY2tlZChkc3QsIGJhc2UsIG9mZnNl
dCk7CisgICAgfQorI2VuZGlmCisKKyNpZiAhUExBVEZPUk0oWDg2XzY0KQogICAgIHZvaWQgbW92
bF9tcih2b2lkKiBhZGRyLCBSZWdpc3RlcklEIGRzdCkKICAgICB7CiAgICAgICAgIG1fYnVmZmVy
LT5wdXRCeXRlKE9QX01PVl9HdkV2KTsKICAgICAgICAgbW9kUm1fcm0oZHN0LCBhZGRyKTsKICAg
ICB9CisjZW5kaWYKIAogICAgIHZvaWQgbW92bF9tcihpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGJh
c2UsIFJlZ2lzdGVySUQgaW5kZXgsIGludCBzY2FsZSwgUmVnaXN0ZXJJRCBkc3QpCiAgICAgewpA
QCAtNjIwLDcgKzY3MywyNCBAQCBwdWJsaWM6CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlVW5j
aGVja2VkKE9QX01PVl9Fdkd2KTsKICAgICAgICAgbW9kUm1fcm1fVW5jaGVja2VkKHNyYywgYmFz
ZSwgb2Zmc2V0KTsKICAgICB9Ci0gICAgCisKKyNpZiBQTEFURk9STShYODZfNjQpCisgICAgdm9p
ZCBtb3ZxX3JtKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGJhc2UpCisgICAgeworICAgICAg
ICBtX2J1ZmZlci0+cHV0Qnl0ZShSRVhfVyk7CisgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKE9Q
X01PVl9Fdkd2KTsKKyAgICAgICAgbW9kUm1fcm0oc3JjLCBiYXNlKTsKKyAgICB9CisKKyAgICB2
b2lkIG1vdnFfcm0oUmVnaXN0ZXJJRCBzcmMsIGludCBvZmZzZXQsIFJlZ2lzdGVySUQgYmFzZSkK
KyAgICB7CisgICAgICAgIG1fYnVmZmVyLT5lbnN1cmVTcGFjZShtYXhJbnN0cnVjdGlvblNpemUp
OworICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0ZVVuY2hlY2tlZChSRVhfVyk7CisgICAgICAgIG1f
YnVmZmVyLT5wdXRCeXRlVW5jaGVja2VkKE9QX01PVl9Fdkd2KTsKKyAgICAgICAgbW9kUm1fcm1f
VW5jaGVja2VkKHNyYywgYmFzZSwgb2Zmc2V0KTsKKyAgICB9CisjZW5kaWYKKwogICAgIHZvaWQg
bW92bF9ybShSZWdpc3RlcklEIHNyYywgaW50IG9mZnNldCwgUmVnaXN0ZXJJRCBiYXNlLCBSZWdp
c3RlcklEIGluZGV4LCBpbnQgc2NhbGUpCiAgICAgewogICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0
ZShPUF9NT1ZfRXZHdik7CkBAIC02NDIsMTIgKzcxMiwxNCBAQCBwdWJsaWM6CiAgICAgICAgIG1f
YnVmZmVyLT5wdXRJbnRVbmNoZWNrZWQoaW1tKTsKICAgICB9CiAKKyNpZiAhUExBVEZPUk0oWDg2
XzY0KQogICAgIHZvaWQgbW92bF9pMzJtKGludCBpbW0sIHZvaWQqIGFkZHIpCiAgICAgewogICAg
ICAgICBtX2J1ZmZlci0+cHV0Qnl0ZShPUF9HUk9VUDExX0V2SXopOwogICAgICAgICBtb2RSbV9v
cG0oR1JPVVAxMV9NT1YsIGFkZHIpOwogICAgICAgICBtX2J1ZmZlci0+cHV0SW50KGltbSk7CiAg
ICAgfQorI2VuZGlmCiAKICAgICB2b2lkIGxlYWxfbXIoaW50IG9mZnNldCwgUmVnaXN0ZXJJRCBi
YXNlLCBSZWdpc3RlcklEIGRzdCkKICAgICB7CkBAIC02ODYsNiArNzU4LDcgQEAgcHVibGljOgog
ICAgICAgICBtb2RSbV9ybSgoUmVnaXN0ZXJJRClkc3QsIGJhc2UsIG9mZnNldCk7CiAgICAgfQog
CisjaWYgIVBMQVRGT1JNKFg4Nl82NCkKICAgICB2b2lkIHhvcnBkX21yKHZvaWQqIGFkZHIsIFhN
TVJlZ2lzdGVySUQgZHN0KQogICAgIHsKICAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoUFJFX1NT
RV82Nik7CkBAIC02OTMsNiArNzY2LDcgQEAgcHVibGljOgogICAgICAgICBtX2J1ZmZlci0+cHV0
Qnl0ZShPUDJfWE9SUERfVnNkV3NkKTsKICAgICAgICAgbW9kUm1fcm0oKFJlZ2lzdGVySUQpZHN0
LCBhZGRyKTsKICAgICB9CisjZW5kaWYKIAogICAgIHZvaWQgbW92c2Rfcm0oWE1NUmVnaXN0ZXJJ
RCBzcmMsIGludCBvZmZzZXQsIFJlZ2lzdGVySUQgYmFzZSkKICAgICB7CkBAIC0xMDQ0LDExICsx
MTE4LDEzIEBAIHByaXZhdGU6CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlVW5jaGVja2VkKE1P
RFJNKDMsIHJlZywgcm0pKTsKICAgICB9CiAKKyNpZiAhUExBVEZPUk0oWDg2XzY0KQogICAgIHZv
aWQgbW9kUm1fcm0oUmVnaXN0ZXJJRCByZWcsIHZvaWQqIGFkZHIpCiAgICAgewogICAgICAgICBt
X2J1ZmZlci0+cHV0Qnl0ZShNT0RSTSgwLCByZWcsIFg4Njo6bm9CYXNlKSk7CiAgICAgICAgIG1f
YnVmZmVyLT5wdXRJbnQoKGludClhZGRyKTsKICAgICB9CisjZW5kaWYKIAogICAgIHZvaWQgbW9k
Um1fcm0oUmVnaXN0ZXJJRCByZWcsIFJlZ2lzdGVySUQgYmFzZSkKICAgICB7CkBAIC0xMTQxLDEw
ICsxMjE3LDEyIEBAIHByaXZhdGU6CiAgICAgICAgIG1vZFJtX3JtKHN0YXRpY19jYXN0PFJlZ2lz
dGVySUQ+KG9wY29kZUlEKSwgYmFzZSwgb2Zmc2V0KTsKICAgICB9CiAKKyNpZiAhUExBVEZPUk0o
WDg2XzY0KQogICAgIHZvaWQgbW9kUm1fb3BtKE9wY29kZUlEIG9wY29kZUlELCB2b2lkKiBhZGRy
KQogICAgIHsKICAgICAgICAgbW9kUm1fcm0oc3RhdGljX2Nhc3Q8UmVnaXN0ZXJJRD4ob3Bjb2Rl
SUQpLCBhZGRyKTsKICAgICB9CisjZW5kaWYKIAogICAgIHZvaWQgbW9kUm1fb3Btc2liKE9wY29k
ZUlEIG9wY29kZUlELCBSZWdpc3RlcklEIGJhc2UsIFJlZ2lzdGVySUQgaW5kZXgsIGludCBzY2Fs
ZSwgaW50IG9mZnNldCkKICAgICB7CkluZGV4OiB3cmVjL1dSRUMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3
cmVjL1dSRUMuaAkocmV2aXNpb24gMzg4MzkpCisrKyB3cmVjL1dSRUMuaAkod29ya2luZyBjb3B5
KQpAQCAtMzIsNyArMzIsNyBAQAogCiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
Ci0jaWYgQ09NUElMRVIoR0NDKQorI2lmIENPTVBJTEVSKEdDQykgJiYgUExBVEZPUk0oWDg2KQog
I2RlZmluZSBXUkVDX0NBTEwgX19hdHRyaWJ1dGVfXyAoKHJlZ3Bhcm0gKDMpKSkKICNlbHNlCiAj
ZGVmaW5lIFdSRUNfQ0FMTApAQCAtNDYsNyArNDYsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIG5hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgV1JFQyB7CiAKICAgICB0eXBlZGVmIGludCAoKkNvbXBpbGVk
UmVnRXhwKShjb25zdCBVQ2hhciogaW5wdXQsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBsZW5n
dGgsIGludCogb3V0cHV0KSBXUkVDX0NBTEw7Ci0vLyAgICBDb21waWxlZFJlZ0V4cCBjb21waWxl
UmVnRXhwKEludGVycHJldGVyKiwgY29uc3QgVVN0cmluZyYgcGF0dGVybiwgdW5zaWduZWQqIG51
bVN1YnBhdHRlcm5zX3B0ciwgY29uc3QgY2hhcioqIGVycm9yX3B0ciwgYm9vbCBpZ25vcmVDYXNl
ID0gZmFsc2UsIGJvb2wgbXVsdGlsaW5lID0gZmFsc2UpOwogCiB9IH0gLy8gbmFtZXNwYWNlIEpT
Qzo6V1JFQwogCkluZGV4OiB3cmVjL1dSRUNHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHdy
ZWMvV1JFQ0dlbmVyYXRvci5jcHAJKHJldmlzaW9uIDM4ODM5KQorKysgd3JlYy9XUkVDR2VuZXJh
dG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsOSArNDAsMTkgQEAgbmFtZXNwYWNlIEpTQyB7
IG5hbWVzcGFjZSBXUkVDIHsKIAogdm9pZCBHZW5lcmF0b3I6OmdlbmVyYXRlRW50ZXIoKQogewot
ICAgIC8vIFNhdmUgY2FsbGVlIHNhdmUgcmVnaXN0ZXJzLgotICAgIHB1c2gob3V0cHV0KTsKLSAg
ICBwdXNoKGNoYXJhY3Rlcik7CisjaWYgUExBVEZPUk0oWDg2XzY0KQorICAgIC8vIE9uIHg4Ni02
NCBlZGkgYW5kIGVzaSBhcmUgY2FsbGVyIHByZXNlcnZlZCwgc28gbm90aGluZyB0byBkbyBoZXJl
LgorICAgIC8vIFRoZSBmb3VyIGFyZ3VtZW50cyBoYXZlIGJlZW4gcGFzc2VkIGluIHRoZSByZWdp
c3RlcnMgJXJkaSwgJXJzaSwKKyAgICAvLyAlcmR4LCAlcmN4IC0gc2h1ZmZsZSB0aGVzZSBpbnRv
IHRoZSBleHBlY3RlZCBsb2NhdGlvbnMuCisgICAgbW92ZShYODY6OmVkaSwgaW5wdXQpOyAvLyAo
YXJnIDEpIGVkaSAtPiBlYXgKKyAgICBtb3ZlKFg4Njo6ZWN4LCBvdXRwdXQpOyAvLyAoYXJnIDQp
IGVjeCAtPiBlZGkKKyAgICBtb3ZlKFg4Njo6ZWR4LCBsZW5ndGgpOyAvLyAoYXJnIDMpIGVkeCAt
PiBlY3gKKyAgICBtb3ZlKFg4Njo6ZXNpLCBpbmRleCk7IC8vIChhcmcgMikgZXNpIC0+IGVkeAor
CisjZWxzZQorICAgIC8vIE9uIHg4NiBlZGkgJiBlc2kgYXJlIGNhbGxlZSBwcmVzZXJ2ZWQgcmVn
aXN0ZXJzLgorICAgIHB1c2goWDg2OjplZGkpOworICAgIHB1c2goWDg2Ojplc2kpOwogICAgIAog
I2lmIENPTVBJTEVSKE1TVkMpCiAgICAgLy8gTW92ZSB0aGUgYXJndW1lbnRzIGludG8gcmVnaXN0
ZXJzLgpAQCAtNTEsOSArNjEsMTIgQEAgdm9pZCBHZW5lcmF0b3I6OmdlbmVyYXRlRW50ZXIoKQog
ICAgIHBlZWsobGVuZ3RoLCA1KTsKICAgICBwZWVrKG91dHB1dCwgNik7CiAjZWxzZQotICAgIC8v
IEluaXRpYWxpemUgdGhlIG91dHB1dCByZWdpc3Rlci4KKyAgICAvLyBPbiBnY2MgdGhlIGZ1bmN0
aW9uIGlzIHJlZ3Bhcm0oMyksIHNvIHRoZSBpbnB1dCwgaW5kZXgsIGFuZCBsZW5ndGggcmVnaXN0
ZXJzCisgICAgLy8gKGVheCwgZWR4LCBhbmQgZWN4IHJlc3BlY3RpdmVseSkgYWxyZWFkeSBjb250
YWluIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZXMuCisgICAgLy8gSnVzdCBsb2FkIHRoZSBmb3VydGgg
YXJndW1lbnQgKG91dHB1dCkgaW50byBlZGkKICAgICBwZWVrKG91dHB1dCwgMyk7CiAjZW5kaWYK
KyNlbmRpZgogCiAjaWZuZGVmIE5ERUJVRwogICAgIC8vIEFTU0VSVCB0aGF0IHRoZSBvdXRwdXQg
cmVnaXN0ZXIgaXMgbm90IG51bGwuCkBAIC03MSw4ICs4NCwxMCBAQCB2b2lkIEdlbmVyYXRvcjo6
Z2VuZXJhdGVSZXR1cm5TdWNjZXNzKCkKICAgICBzdG9yZTMyKGluZGV4LCBBZGRyZXNzKG91dHB1
dCwgNCkpOyAvLyBtYXRjaCBlbmQKICAgICAKICAgICAvLyBSZXN0b3JlIGNhbGxlZSBzYXZlIHJl
Z2lzdGVycy4KLSAgICBwb3AoY2hhcmFjdGVyKTsKLSAgICBwb3Aob3V0cHV0KTsKKyNpZiAhUExB
VEZPUk0oWDg2XzY0KQorICAgIHBvcChYODY6OmVzaSk7CisgICAgcG9wKFg4Njo6ZWRpKTsKKyNl
bmRpZgogICAgIHJldCgpOwogfQogCkBAIC0xMTIsOCArMTI3LDEwIEBAIHZvaWQgR2VuZXJhdG9y
OjpnZW5lcmF0ZVJldHVybkZhaWx1cmUoKQogewogICAgIHBvcCgpOwogICAgIG1vdmUoSW1tMzIo
LTEpLCBYODY6OmVheCk7Ci0gICAgcG9wKGNoYXJhY3Rlcik7Ci0gICAgcG9wKG91dHB1dCk7Cisj
aWYgIVBMQVRGT1JNKFg4Nl82NCkKKyAgICBwb3AoWDg2Ojplc2kpOworICAgIHBvcChYODY6OmVk
aSk7CisjZW5kaWYKICAgICByZXQoKTsKIH0KIApJbmRleDogd3RmL1BsYXRmb3JtLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDM4ODM5KQorKysgd3RmL1BsYXRmb3Jt
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyNyw3ICs0MjcsMTAgQEAKICNlbmRpZgogCiAvKiBXUkVD
IG9ubHkgc3VwcG9ydHMgeDg2IGF0IHRoZSBtb21lbnQsIGFuZCBoYXMgb25seSBiZWVuIHRlc3Rl
ZCBvbiBNYWMgYW5kIFdpbmRvd3MuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dSRUMpICYmIFBM
QVRGT1JNKFg4NikgJiYgKFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSkKKyNpZiAhZGVm
aW5lZChFTkFCTEVfV1JFQykgXAorICAgICYmICggKFBMQVRGT1JNKFg4NikgJiYgUExBVEZPUk0o
TUFDKSkgXAorICAgICAgICB8fCAoUExBVEZPUk0oWDg2XzY0KSAmJiBQTEFURk9STShNQUMpKSBc
CisgICAgICAgIHx8IChQTEFURk9STShYODYpICYmIFBMQVRGT1JNKFdJTikpICkKICNkZWZpbmUg
RU5BQkxFX1dSRUMgMQogI2VuZGlmCiAKSW5kZXg6IHd0Zi9UQ1N5c3RlbUFsbG9jLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSB3dGYvVENTeXN0ZW1BbGxvYy5jcHAJKHJldmlzaW9uIDM4ODM4KQorKysgd3Rm
L1RDU3lzdGVtQWxsb2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBACiAKICNp
ZiBIQVZFKE1NQVApCiBzdGF0aWMgY29uc3QgaW50IGNQcm90RmxhZ3MgPSBQUk9UX1JFQUQgfCBQ
Uk9UX1dSSVRFCi0jaWYgRU5BQkxFKEpJVCkgJiYgUExBVEZPUk0oR1RLKQorI2lmIEVOQUJMRShB
U1NFTUJMRVIpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFg4Nl82NCkpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IFBST1RfRVhFQwogI2VuZGlmCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25621</attachid>
            <date>2008-11-30 23:24:54 -0800</date>
            <delta_ts>2008-11-30 23:33:38 -0800</delta_ts>
            <desc>New patch</desc>
            <filename>patch.wrec65.txt</filename>
            <type>text/plain</type>
            <size>15330</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4ODU0
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMDgtMTEt
MjkgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBXUkVDIG9uIFBM
QVRGT1JNKFg4Nl82NCkuICBUaGlzIGNoYW5nZSBwcmVkb21pbmFudGx5IHJlcXVpcmVzIGNoYW5n
ZXMgdG8gdGhlCisgICAgICAgIFdSRUM6OkdlbmVyYXRvcjo6Z2VuZXJhdGVFbnRlciBtZXRob2Qg
dG8gc3VwcG9ydCB0aGUgeDg2LTY0IEFCSSwgYW5kIGFkZGl0aW9uIG9mCisgICAgICAgIHN1cHBv
cnQgZm9yIGEgbGltaXRlZCBudW1iZXIgb2YgcXVhZHdvcmQgb3BlcmF0aW9ucyBpbiB0aGUgWDg2
QXNzZW1ibGVyLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjU1NAorICAgICAgICBHcmVhdGVyIHRoYW4gNHggc3BlZWR1cCBvbiByZWdleHAtZG5h
LCBvbiB4ODYtNjQuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaDoKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OmFkZFB0cik6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyOjpsb2FkUHRyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnN0b3Jl
UHRyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnBvcCk6CisgICAgICAgIChKU0M6
Ok1hY3JvQXNzZW1ibGVyOjpwdXNoKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6Om1v
dmUpOgorICAgICAgICAqIGFzc2VtYmxlci9YODZBc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6
WDg2QXNzZW1ibGVyOjopOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6Om1vdnFfcnIpOgor
ICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6OmFkZGxfaThtKToKKyAgICAgICAgKEpTQzo6WDg2
QXNzZW1ibGVyOjphZGRsX2kzMnIpOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6OmFkZHFf
aThyKToKKyAgICAgICAgKEpTQzo6WDg2QXNzZW1ibGVyOjphZGRxX2kzMnIpOgorICAgICAgICAo
SlNDOjpYODZBc3NlbWJsZXI6Om1vdnFfbXIpOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6
Om1vdnFfcm0pOgorICAgICAgICAqIHdyZWMvV1JFQy5oOgorICAgICAgICAqIHdyZWMvV1JFQ0dl
bmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OldSRUM6OkdlbmVyYXRvcjo6Z2VuZXJhdGVFbnRl
cik6CisgICAgICAgIChKU0M6OldSRUM6OkdlbmVyYXRvcjo6Z2VuZXJhdGVSZXR1cm5TdWNjZXNz
KToKKyAgICAgICAgKEpTQzo6V1JFQzo6R2VuZXJhdG9yOjpnZW5lcmF0ZVJldHVybkZhaWx1cmUp
OgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAgICAgICAqIHd0Zi9UQ1N5c3RlbUFsbG9j
LmNwcDoKKwogMjAwOC0xMS0zMCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KSW5kZXg6IGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCShyZXZpc2lvbiAz
ODg1NCkKKysrIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NTQsNiArMjU0LDIxIEBAIHB1YmxpYzoKICAgICAvLyBtYXkgb2Z0ZW4gYmUgYSBtZW1vcnkgbG9j
YXRpb24gKGV4cGxpY3RseSBkZXNjcmliZWQgdXNpbmcgYW4gQWRkcmVzcwogICAgIC8vIG9iamVj
dCkuCiAKKyAgICB2b2lkIGFkZFB0cihJbW0zMiBpbW0sIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7
CisjaWYgUExBVEZPUk0oWDg2XzY0KQorICAgICAgICBpZiAoQ0FOX1NJR05fRVhURU5EXzhfMzIo
aW1tLm1fdmFsdWUpKQorICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkcV9pOHIoaW1tLm1fdmFs
dWUsIGRlc3QpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRxX2kz
MnIoaW1tLm1fdmFsdWUsIGRlc3QpOworI2Vsc2UKKyAgICAgICAgaWYgKENBTl9TSUdOX0VYVEVO
RF84XzMyKGltbS5tX3ZhbHVlKSkKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxfaThyKGlt
bS5tX3ZhbHVlLCBkZXN0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9hc3NlbWJsZXIu
YWRkbF9pMzJyKGltbS5tX3ZhbHVlLCBkZXN0KTsKKyNlbmRpZgorICAgIH0KKwogICAgIHZvaWQg
YWRkMzIoSW1tMzIgaW1tLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBpZiAoQ0FO
X1NJR05fRVhURU5EXzhfMzIoaW1tLm1fdmFsdWUpKQpAQCAtMjk1LDEwICszMTAsMTcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBsb2FkUHRyKEltcGxpY2l0QWRkcmVzcyBhZGRyZXNzLCBSZWdpc3Rl
cklEIGRlc3QpCiAgICAgeworI2lmIFBMQVRGT1JNKFg4Nl82NCkKKyAgICAgICAgaWYgKGFkZHJl
c3Mub2Zmc2V0KQorICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92cV9tcihhZGRyZXNzLm9mZnNl
dCwgYWRkcmVzcy5iYXNlLCBkZXN0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9hc3Nl
bWJsZXIubW92cV9tcihhZGRyZXNzLmJhc2UsIGRlc3QpOworI2Vsc2UKICAgICAgICAgaWYgKGFk
ZHJlc3Mub2Zmc2V0KQogICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92bF9tcihhZGRyZXNzLm9m
ZnNldCwgYWRkcmVzcy5iYXNlLCBkZXN0KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9h
c3NlbWJsZXIubW92bF9tcihhZGRyZXNzLmJhc2UsIGRlc3QpOworI2VuZGlmCiAgICAgfQogCiAg
ICAgdm9pZCBsb2FkMzIoSW1wbGljaXRBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQgZGVzdCkK
QEAgLTMxOSwxMCArMzQxLDE3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc3RvcmVQdHIoUmVnaXN0
ZXJJRCBzcmMsIEltcGxpY2l0QWRkcmVzcyBhZGRyZXNzKQogICAgIHsKKyNpZiBQTEFURk9STShY
ODZfNjQpCisgICAgICAgIGlmIChhZGRyZXNzLm9mZnNldCkKKyAgICAgICAgICAgIG1fYXNzZW1i
bGVyLm1vdnFfcm0oc3JjLCBhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92cV9ybShzcmMsIGFkZHJlc3MuYmFzZSk7
CisjZWxzZQogICAgICAgICBpZiAoYWRkcmVzcy5vZmZzZXQpCiAgICAgICAgICAgICBtX2Fzc2Vt
Ymxlci5tb3ZsX3JtKHNyYywgYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSk7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxfcm0oc3JjLCBhZGRyZXNzLmJhc2Up
OworI2VuZGlmCiAgICAgfQogICAgIAogICAgIHZvaWQgc3RvcmUzMihSZWdpc3RlcklEIHNyYywg
SW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCkBAIC0zNTAsMTcgKzM3OSwyNSBAQCBwdWJsaWM6CiAg
ICAgCiAgICAgdm9pZCBwb3AoUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKKyNpZiBQTEFURk9STShY
ODZfNjQpCisgICAgICAgIG1fYXNzZW1ibGVyLnBvcHFfcihkZXN0KTsKKyNlbHNlCiAgICAgICAg
IG1fYXNzZW1ibGVyLnBvcGxfcihkZXN0KTsKKyNlbmRpZgogICAgIH0KIAogICAgIHZvaWQgcHVz
aChSZWdpc3RlcklEIHNyYykKICAgICB7CisjaWYgUExBVEZPUk0oWDg2XzY0KQorICAgICAgICBt
X2Fzc2VtYmxlci5wdXNocV9yKHNyYyk7CisjZWxzZQogICAgICAgICBtX2Fzc2VtYmxlci5wdXNo
bF9yKHNyYyk7CisjZW5kaWYKICAgICB9CiAKICAgICB2b2lkIHBvcCgpCiAgICAgewotICAgICAg
ICBtX2Fzc2VtYmxlci5hZGRsX2k4cihzaXplb2Yodm9pZCopLCBYODY6OmVzcCk7CisgICAgICAg
IGFkZFB0cihJbW0zMihzaXplb2Yodm9pZCopKSwgWDg2Ojplc3ApOwogICAgIH0KICAgICAKICAg
ICB2b2lkIHBlZWsoUmVnaXN0ZXJJRCBkZXN0LCBpbnQgaW5kZXggPSAwKQpAQCAtMzgwLDEyICs0
MTcsMjUgQEAgcHVibGljOgogCiAgICAgdm9pZCBtb3ZlKEltbTMyIGltbSwgUmVnaXN0ZXJJRCBk
ZXN0KQogICAgIHsKKyAgICAgICAgLy8gTm90ZTogb24gNjQtYml0IHRoZSBJbW0zMiB2YWx1ZSBp
cyB6ZXJvIGV4dGVuZGVkIGludG8gdGhlIHJlZ2lzdGVyLCBpdAorICAgICAgICAvLyBtYXkgYmUg
dXNlZnVsIHRvIGhhdmUgYSBzZXBhcmF0ZSB2ZXJzaW9uIHRoYXQgc2lnbiBleHRlbmRzIHRoZSB2
YWx1ZT8KICAgICAgICAgaWYgKCFpbW0ubV92YWx1ZSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVy
LnhvcmxfcnIoZGVzdCwgZGVzdCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1fYXNzZW1i
bGVyLm1vdmxfaTMycihpbW0ubV92YWx1ZSwgZGVzdCk7CiAgICAgfQogCisgICAgdm9pZCBtb3Zl
KFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICAvLyBOb3Rl
OiBvbiA2NC1iaXQgdGhpcyBpcyBpcyBhIGZ1bGwgcmVnaXN0ZXIgbW92ZTsgcGVyaGFwcyBpdCB3
b3VsZCBiZQorICAgICAgICAvLyB1c2VmdWwgdG8gaGF2ZSBzZXBhcmF0ZSBtb3ZlMzIgJiBtb3Zl
UHRyLCB3aXRoIG1vdmUzMiB6ZXJvIGV4dGVuZGluZz8KKyNpZiBQTEFURk9STShYODZfNjQpCisg
ICAgICAgIG1fYXNzZW1ibGVyLm1vdnFfcnIoc3JjLCBkZXN0KTsKKyNlbHNlCisgICAgICAgIG1f
YXNzZW1ibGVyLm1vdmxfcnIoc3JjLCBkZXN0KTsKKyNlbmRpZgorICAgIH0KKwogCiAgICAgLy8g
Rm9yd2FyZHMgLyBleHRlcm5hbCBjb250cm9sIGZsb3cgb3BlcmF0aW9uczoKICAgICAvLwpJbmRl
eDogYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGFzc2VtYmxlci9YODZB
c3NlbWJsZXIuaAkocmV2aXNpb24gMzg4NTQpCisrKyBhc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9y
bS5oPgogCi0jaWYgRU5BQkxFKEFTU0VNQkxFUikgJiYgUExBVEZPUk0oWDg2KQorI2lmIEVOQUJM
RShBU1NFTUJMRVIpICYmIChQTEFURk9STShYODYpIHx8IFBMQVRGT1JNKFg4Nl82NCkpCiAKICNp
bmNsdWRlICJBc3NlbWJsZXJCdWZmZXIuaCIKICNpbmNsdWRlIDxzdGRpbnQuaD4KQEAgLTg3LDYg
Kzg3LDcgQEAgcHVibGljOgogICAgICAgICBPUF9YT1JfRXZHdiAgICAgICAgICAgICAgICAgICAg
ID0gMHgzMSwKICAgICAgICAgT1BfQ01QX0V2R3YgICAgICAgICAgICAgICAgICAgICA9IDB4Mzks
CiAgICAgICAgIE9QX0NNUF9HdkV2ICAgICAgICAgICAgICAgICAgICAgPSAweDNCLAorICAgICAg
ICBSRVhfVyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg0OCwKICAgICAgICAgT1BfUFVT
SF9FQVggICAgICAgICAgICAgICAgICAgICA9IDB4NTAsCiAgICAgICAgIE9QX1BPUF9FQVggICAg
ICAgICAgICAgICAgICAgICAgPSAweDU4LAogICAgICAgICBQUkVfT1BFUkFORF9TSVpFICAgICAg
ICAgICAgICAgID0gMHg2NiwKQEAgLTIxNyw2ICsyMTgsMTcgQEAgcHVibGljOgogICAgICAgICBt
X2J1ZmZlci0+cHV0Qnl0ZShPUF9JTlQzKTsKICAgICB9CiAgICAgCisjaWYgUExBVEZPUk0oWDg2
XzY0KQorICAgIHZvaWQgcHVzaHFfcihSZWdpc3RlcklEIHJlZykKKyAgICB7CisgICAgICAgIG1f
YnVmZmVyLT5wdXRCeXRlKE9QX1BVU0hfRUFYICsgcmVnKTsKKyAgICB9CisKKyAgICB2b2lkIHBv
cHFfcihSZWdpc3RlcklEIHJlZykKKyAgICB7CisgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKE9Q
X1BPUF9FQVggKyByZWcpOworICAgIH0KKyNlbHNlCiAgICAgdm9pZCBwdXNobF9yKFJlZ2lzdGVy
SUQgcmVnKQogICAgIHsKICAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoT1BfUFVTSF9FQVggKyBy
ZWcpOwpAQCAtMjQ0LDYgKzI1Niw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9idWZmZXItPnB1dEJ5
dGUoT1BfR1JPVVAxQV9Fdik7CiAgICAgICAgIG1vZFJtX29wbShHUk9VUDFBX09QX1BPUCwgYmFz
ZSwgb2Zmc2V0KTsKICAgICB9CisjZW5kaWYKICAgICAKICAgICB2b2lkIG1vdmxfcnIoUmVnaXN0
ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZHN0KQogICAgIHsKQEAgLTI1MSwxMiArMjY0LDMwIEBAIHB1
YmxpYzoKICAgICAgICAgbW9kUm1fcnIoc3JjLCBkc3QpOwogICAgIH0KICAgICAKKyNpZiBQTEFU
Rk9STShYODZfNjQpCisgICAgdm9pZCBtb3ZxX3JyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklE
IGRzdCkKKyAgICB7CisgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKFJFWF9XKTsKKyAgICAgICAg
bV9idWZmZXItPnB1dEJ5dGUoT1BfTU9WX0V2R3YpOworICAgICAgICBtb2RSbV9ycihzcmMsIGRz
dCk7CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIGFkZGxfcnIoUmVnaXN0ZXJJRCBzcmMsIFJl
Z2lzdGVySUQgZHN0KQogICAgIHsKICAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoT1BfQUREX0V2
R3YpOwogICAgICAgICBtb2RSbV9ycihzcmMsIGRzdCk7CiAgICAgfQogCisjaWYgIVBMQVRGT1JN
KFg4Nl82NCkKKyAgICB2b2lkIGFkZGxfaThtKGludCBpbW0sIHZvaWQqIGFkZHIpCisgICAgewor
ICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0ZShPUF9HUk9VUDFfRXZJYik7CisgICAgICAgIG1vZFJt
X29wbShHUk9VUDFfT1BfQURELCBhZGRyKTsKKyAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoaW1t
KTsKKyAgICB9CisjZW5kaWYKKwogICAgIHZvaWQgYWRkbF9pOHIoaW50IGltbSwgUmVnaXN0ZXJJ
RCBkc3QpCiAgICAgewogICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0ZShPUF9HUk9VUDFfRXZJYik7
CkBAIC0yNjQsMTkgKzI5NSwzMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRl
KGltbSk7CiAgICAgfQogCi0gICAgdm9pZCBhZGRsX2k4bShpbnQgaW1tLCB2b2lkKiBhZGRyKQor
ICAgIHZvaWQgYWRkbF9pMzJyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQogICAgIHsKKyAgICAg
ICAgbV9idWZmZXItPnB1dEJ5dGUoT1BfR1JPVVAxX0V2SXopOworICAgICAgICBtb2RSbV9vcHIo
R1JPVVAxX09QX0FERCwgZHN0KTsKKyAgICAgICAgbV9idWZmZXItPnB1dEludChpbW0pOworICAg
IH0KKworI2lmIFBMQVRGT1JNKFg4Nl82NCkKKyAgICB2b2lkIGFkZHFfaThyKGludCBpbW0sIFJl
Z2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoUkVYX1cpOwog
ICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0ZShPUF9HUk9VUDFfRXZJYik7Ci0gICAgICAgIG1vZFJt
X29wbShHUk9VUDFfT1BfQURELCBhZGRyKTsKKyAgICAgICAgbW9kUm1fb3ByKEdST1VQMV9PUF9B
REQsIGRzdCk7CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKGltbSk7CiAgICAgfQogCi0gICAg
dm9pZCBhZGRsX2kzMnIoaW50IGltbSwgUmVnaXN0ZXJJRCBkc3QpCisgICAgdm9pZCBhZGRxX2kz
MnIoaW50IGltbSwgUmVnaXN0ZXJJRCBkc3QpCiAgICAgeworICAgICAgICBtX2J1ZmZlci0+cHV0
Qnl0ZShSRVhfVyk7CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKE9QX0dST1VQMV9Fdkl6KTsK
ICAgICAgICAgbW9kUm1fb3ByKEdST1VQMV9PUF9BREQsIGRzdCk7CiAgICAgICAgIG1fYnVmZmVy
LT5wdXRJbnQoaW1tKTsKICAgICB9CisjZW5kaWYKIAogICAgIHZvaWQgYWRkbF9tcihpbnQgb2Zm
c2V0LCBSZWdpc3RlcklEIGJhc2UsIFJlZ2lzdGVySUQgZHN0KQogICAgIHsKQEAgLTM0MywxMiAr
Mzg1LDE0IEBAIHB1YmxpYzoKICAgICAgICAgbV9idWZmZXItPnB1dEludChpbW0pOwogICAgIH0K
IAorI2lmICFQTEFURk9STShYODZfNjQpCiAgICAgdm9pZCBjbXBsX2kzMm0oaW50IGltbSwgdm9p
ZCogYWRkcikKICAgICB7CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKE9QX0dST1VQMV9Fdkl6
KTsKICAgICAgICAgbW9kUm1fb3BtKEdST1VQMV9PUF9DTVAsIGFkZHIpOwogICAgICAgICBtX2J1
ZmZlci0+cHV0SW50KGltbSk7CiAgICAgfQorI2VuZGlmCiAKICAgICB2b2lkIGNtcGxfaThtKGlu
dCBpbW0sIGludCBvZmZzZXQsIFJlZ2lzdGVySUQgYmFzZSwgUmVnaXN0ZXJJRCBpbmRleCwgaW50
IHNjYWxlKQogICAgIHsKQEAgLTQyNywxMiArNDcxLDE0IEBAIHB1YmxpYzoKICAgICAgICAgbV9i
dWZmZXItPnB1dEJ5dGUoaW1tKTsKICAgICB9CiAgICAgCisjaWYgIVBMQVRGT1JNKFg4Nl82NCkK
ICAgICB2b2lkIHN1YmxfaThtKGludCBpbW0sIHZvaWQqIGFkZHIpCiAgICAgewogICAgICAgICBt
X2J1ZmZlci0+cHV0Qnl0ZShPUF9HUk9VUDFfRXZJYik7CiAgICAgICAgIG1vZFJtX29wbShHUk9V
UDFfT1BfU1VCLCBhZGRyKTsKICAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoaW1tKTsKICAgICB9
CisjZW5kaWYKIAogICAgIHZvaWQgc3VibF9pMzJyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQog
ICAgIHsKQEAgLTU2OCwxMSArNjE0LDMwIEBAIHB1YmxpYzoKICAgICAgICAgbW9kUm1fcm1fVW5j
aGVja2VkKGRzdCwgYmFzZSwgb2Zmc2V0KTsKICAgICB9CiAKKyNpZiBQTEFURk9STShYODZfNjQp
CisgICAgdm9pZCBtb3ZxX21yKFJlZ2lzdGVySUQgYmFzZSwgUmVnaXN0ZXJJRCBkc3QpCisgICAg
eworICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0ZShSRVhfVyk7CisgICAgICAgIG1fYnVmZmVyLT5w
dXRCeXRlKE9QX01PVl9HdkV2KTsKKyAgICAgICAgbW9kUm1fcm0oZHN0LCBiYXNlKTsKKyAgICB9
CisKKyAgICB2b2lkIG1vdnFfbXIoaW50IG9mZnNldCwgUmVnaXN0ZXJJRCBiYXNlLCBSZWdpc3Rl
cklEIGRzdCkKKyAgICB7CisgICAgICAgIG1fYnVmZmVyLT5lbnN1cmVTcGFjZShtYXhJbnN0cnVj
dGlvblNpemUpOworICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0ZVVuY2hlY2tlZChSRVhfVyk7Cisg
ICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlVW5jaGVja2VkKE9QX01PVl9HdkV2KTsKKyAgICAgICAg
bW9kUm1fcm1fVW5jaGVja2VkKGRzdCwgYmFzZSwgb2Zmc2V0KTsKKyAgICB9CisjZW5kaWYKKwor
I2lmICFQTEFURk9STShYODZfNjQpCiAgICAgdm9pZCBtb3ZsX21yKHZvaWQqIGFkZHIsIFJlZ2lz
dGVySUQgZHN0KQogICAgIHsKICAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoT1BfTU9WX0d2RXYp
OwogICAgICAgICBtb2RSbV9ybShkc3QsIGFkZHIpOwogICAgIH0KKyNlbmRpZgogCiAgICAgdm9p
ZCBtb3ZsX21yKGludCBvZmZzZXQsIFJlZ2lzdGVySUQgYmFzZSwgUmVnaXN0ZXJJRCBpbmRleCwg
aW50IHNjYWxlLCBSZWdpc3RlcklEIGRzdCkKICAgICB7CkBAIC02MjAsNyArNjg1LDI0IEBAIHB1
YmxpYzoKICAgICAgICAgbV9idWZmZXItPnB1dEJ5dGVVbmNoZWNrZWQoT1BfTU9WX0V2R3YpOwog
ICAgICAgICBtb2RSbV9ybV9VbmNoZWNrZWQoc3JjLCBiYXNlLCBvZmZzZXQpOwogICAgIH0KLSAg
ICAKKworI2lmIFBMQVRGT1JNKFg4Nl82NCkKKyAgICB2b2lkIG1vdnFfcm0oUmVnaXN0ZXJJRCBz
cmMsIFJlZ2lzdGVySUQgYmFzZSkKKyAgICB7CisgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKFJF
WF9XKTsKKyAgICAgICAgbV9idWZmZXItPnB1dEJ5dGUoT1BfTU9WX0V2R3YpOworICAgICAgICBt
b2RSbV9ybShzcmMsIGJhc2UpOworICAgIH0KKworICAgIHZvaWQgbW92cV9ybShSZWdpc3RlcklE
IHNyYywgaW50IG9mZnNldCwgUmVnaXN0ZXJJRCBiYXNlKQorICAgIHsKKyAgICAgICAgbV9idWZm
ZXItPmVuc3VyZVNwYWNlKG1heEluc3RydWN0aW9uU2l6ZSk7CisgICAgICAgIG1fYnVmZmVyLT5w
dXRCeXRlVW5jaGVja2VkKFJFWF9XKTsKKyAgICAgICAgbV9idWZmZXItPnB1dEJ5dGVVbmNoZWNr
ZWQoT1BfTU9WX0V2R3YpOworICAgICAgICBtb2RSbV9ybV9VbmNoZWNrZWQoc3JjLCBiYXNlLCBv
ZmZzZXQpOworICAgIH0KKyNlbmRpZgorCiAgICAgdm9pZCBtb3ZsX3JtKFJlZ2lzdGVySUQgc3Jj
LCBpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGJhc2UsIFJlZ2lzdGVySUQgaW5kZXgsIGludCBzY2Fs
ZSkKICAgICB7CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKE9QX01PVl9Fdkd2KTsKQEAgLTY0
MiwxMiArNzI0LDE0IEBAIHB1YmxpYzoKICAgICAgICAgbV9idWZmZXItPnB1dEludFVuY2hlY2tl
ZChpbW0pOwogICAgIH0KIAorI2lmICFQTEFURk9STShYODZfNjQpCiAgICAgdm9pZCBtb3ZsX2kz
Mm0oaW50IGltbSwgdm9pZCogYWRkcikKICAgICB7CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRl
KE9QX0dST1VQMTFfRXZJeik7CiAgICAgICAgIG1vZFJtX29wbShHUk9VUDExX01PViwgYWRkcik7
CiAgICAgICAgIG1fYnVmZmVyLT5wdXRJbnQoaW1tKTsKICAgICB9CisjZW5kaWYKIAogICAgIHZv
aWQgbGVhbF9tcihpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGJhc2UsIFJlZ2lzdGVySUQgZHN0KQog
ICAgIHsKQEAgLTY4Niw2ICs3NzAsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1vZFJtX3JtKChSZWdp
c3RlcklEKWRzdCwgYmFzZSwgb2Zmc2V0KTsKICAgICB9CiAKKyNpZiAhUExBVEZPUk0oWDg2XzY0
KQogICAgIHZvaWQgeG9ycGRfbXIodm9pZCogYWRkciwgWE1NUmVnaXN0ZXJJRCBkc3QpCiAgICAg
ewogICAgICAgICBtX2J1ZmZlci0+cHV0Qnl0ZShQUkVfU1NFXzY2KTsKQEAgLTY5Myw2ICs3Nzgs
NyBAQCBwdWJsaWM6CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKE9QMl9YT1JQRF9Wc2RXc2Qp
OwogICAgICAgICBtb2RSbV9ybSgoUmVnaXN0ZXJJRClkc3QsIGFkZHIpOwogICAgIH0KKyNlbmRp
ZgogCiAgICAgdm9pZCBtb3ZzZF9ybShYTU1SZWdpc3RlcklEIHNyYywgaW50IG9mZnNldCwgUmVn
aXN0ZXJJRCBiYXNlKQogICAgIHsKQEAgLTEwNDQsMTEgKzExMzAsMTMgQEAgcHJpdmF0ZToKICAg
ICAgICAgbV9idWZmZXItPnB1dEJ5dGVVbmNoZWNrZWQoTU9EUk0oMywgcmVnLCBybSkpOwogICAg
IH0KIAorI2lmICFQTEFURk9STShYODZfNjQpCiAgICAgdm9pZCBtb2RSbV9ybShSZWdpc3RlcklE
IHJlZywgdm9pZCogYWRkcikKICAgICB7CiAgICAgICAgIG1fYnVmZmVyLT5wdXRCeXRlKE1PRFJN
KDAsIHJlZywgWDg2Ojpub0Jhc2UpKTsKICAgICAgICAgbV9idWZmZXItPnB1dEludCgoaW50KWFk
ZHIpOwogICAgIH0KKyNlbmRpZgogCiAgICAgdm9pZCBtb2RSbV9ybShSZWdpc3RlcklEIHJlZywg
UmVnaXN0ZXJJRCBiYXNlKQogICAgIHsKQEAgLTExNDEsMTAgKzEyMjksMTIgQEAgcHJpdmF0ZToK
ICAgICAgICAgbW9kUm1fcm0oc3RhdGljX2Nhc3Q8UmVnaXN0ZXJJRD4ob3Bjb2RlSUQpLCBiYXNl
LCBvZmZzZXQpOwogICAgIH0KIAorI2lmICFQTEFURk9STShYODZfNjQpCiAgICAgdm9pZCBtb2RS
bV9vcG0oT3Bjb2RlSUQgb3Bjb2RlSUQsIHZvaWQqIGFkZHIpCiAgICAgewogICAgICAgICBtb2RS
bV9ybShzdGF0aWNfY2FzdDxSZWdpc3RlcklEPihvcGNvZGVJRCksIGFkZHIpOwogICAgIH0KKyNl
bmRpZgogCiAgICAgdm9pZCBtb2RSbV9vcG1zaWIoT3Bjb2RlSUQgb3Bjb2RlSUQsIFJlZ2lzdGVy
SUQgYmFzZSwgUmVnaXN0ZXJJRCBpbmRleCwgaW50IHNjYWxlLCBpbnQgb2Zmc2V0KQogICAgIHsK
SW5kZXg6IHdyZWMvV1JFQy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHdyZWMvV1JFQy5oCShyZXZpc2lvbiAz
ODg1NCkKKysrIHdyZWMvV1JFQy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBACiAK
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKLSNpZiBDT01QSUxFUihHQ0MpCisj
aWYgQ09NUElMRVIoR0NDKSAmJiBQTEFURk9STShYODYpCiAjZGVmaW5lIFdSRUNfQ0FMTCBfX2F0
dHJpYnV0ZV9fICgocmVncGFybSAoMykpKQogI2Vsc2UKICNkZWZpbmUgV1JFQ19DQUxMCkBAIC00
Niw3ICs0Niw2IEBAIG5hbWVzcGFjZSBKU0MgewogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBX
UkVDIHsKIAogICAgIHR5cGVkZWYgaW50ICgqQ29tcGlsZWRSZWdFeHApKGNvbnN0IFVDaGFyKiBp
bnB1dCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGxlbmd0aCwgaW50KiBvdXRwdXQpIFdSRUNf
Q0FMTDsKLS8vICAgIENvbXBpbGVkUmVnRXhwIGNvbXBpbGVSZWdFeHAoSW50ZXJwcmV0ZXIqLCBj
b25zdCBVU3RyaW5nJiBwYXR0ZXJuLCB1bnNpZ25lZCogbnVtU3VicGF0dGVybnNfcHRyLCBjb25z
dCBjaGFyKiogZXJyb3JfcHRyLCBib29sIGlnbm9yZUNhc2UgPSBmYWxzZSwgYm9vbCBtdWx0aWxp
bmUgPSBmYWxzZSk7CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpXUkVDCiAKSW5kZXg6IHdyZWMv
V1JFQ0dlbmVyYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gd3JlYy9XUkVDR2VuZXJhdG9yLmNwcAko
cmV2aXNpb24gMzg4NTQpCisrKyB3cmVjL1dSRUNHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MCw5ICs0MCwxOSBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIFdSRUMgewogCiB2
b2lkIEdlbmVyYXRvcjo6Z2VuZXJhdGVFbnRlcigpCiB7Ci0gICAgLy8gU2F2ZSBjYWxsZWUgc2F2
ZSByZWdpc3RlcnMuCi0gICAgcHVzaChvdXRwdXQpOwotICAgIHB1c2goY2hhcmFjdGVyKTsKKyNp
ZiBQTEFURk9STShYODZfNjQpCisgICAgLy8gT24geDg2LTY0IGVkaSBhbmQgZXNpIGFyZSBjYWxs
ZXIgcHJlc2VydmVkLCBzbyBub3RoaW5nIHRvIGRvIGhlcmUuCisgICAgLy8gVGhlIGZvdXIgYXJn
dW1lbnRzIGhhdmUgYmVlbiBwYXNzZWQgaW4gdGhlIHJlZ2lzdGVycyAlcmRpLCAlcnNpLAorICAg
IC8vICVyZHgsICVyY3ggLSBzaHVmZmxlIHRoZXNlIGludG8gdGhlIGV4cGVjdGVkIGxvY2F0aW9u
cy4KKyAgICBtb3ZlKFg4Njo6ZWRpLCBpbnB1dCk7IC8vIChhcmcgMSkgZWRpIC0+IGVheAorICAg
IG1vdmUoWDg2OjplY3gsIG91dHB1dCk7IC8vIChhcmcgNCkgZWN4IC0+IGVkaQorICAgIG1vdmUo
WDg2OjplZHgsIGxlbmd0aCk7IC8vIChhcmcgMykgZWR4IC0+IGVjeAorICAgIG1vdmUoWDg2Ojpl
c2ksIGluZGV4KTsgLy8gKGFyZyAyKSBlc2kgLT4gZWR4CisKKyNlbHNlCisgICAgLy8gT24geDg2
IGVkaSAmIGVzaSBhcmUgY2FsbGVlIHByZXNlcnZlZCByZWdpc3RlcnMuCisgICAgcHVzaChYODY6
OmVkaSk7CisgICAgcHVzaChYODY6OmVzaSk7CiAgICAgCiAjaWYgQ09NUElMRVIoTVNWQykKICAg
ICAvLyBNb3ZlIHRoZSBhcmd1bWVudHMgaW50byByZWdpc3RlcnMuCkBAIC01MSw5ICs2MSwxMiBA
QCB2b2lkIEdlbmVyYXRvcjo6Z2VuZXJhdGVFbnRlcigpCiAgICAgcGVlayhsZW5ndGgsIDUpOwog
ICAgIHBlZWsob3V0cHV0LCA2KTsKICNlbHNlCi0gICAgLy8gSW5pdGlhbGl6ZSB0aGUgb3V0cHV0
IHJlZ2lzdGVyLgorICAgIC8vIE9uIGdjYyB0aGUgZnVuY3Rpb24gaXMgcmVncGFybSgzKSwgc28g
dGhlIGlucHV0LCBpbmRleCwgYW5kIGxlbmd0aCByZWdpc3RlcnMKKyAgICAvLyAoZWF4LCBlZHgs
IGFuZCBlY3ggcmVzcGVjdGl2ZWx5KSBhbHJlYWR5IGNvbnRhaW4gdGhlIGFwcHJvcHJpYXRlIHZh
bHVlcy4KKyAgICAvLyBKdXN0IGxvYWQgdGhlIGZvdXJ0aCBhcmd1bWVudCAob3V0cHV0KSBpbnRv
IGVkaQogICAgIHBlZWsob3V0cHV0LCAzKTsKICNlbmRpZgorI2VuZGlmCiAKICNpZm5kZWYgTkRF
QlVHCiAgICAgLy8gQVNTRVJUIHRoYXQgdGhlIG91dHB1dCByZWdpc3RlciBpcyBub3QgbnVsbC4K
QEAgLTcxLDggKzg0LDEwIEBAIHZvaWQgR2VuZXJhdG9yOjpnZW5lcmF0ZVJldHVyblN1Y2Nlc3Mo
KQogICAgIHN0b3JlMzIoaW5kZXgsIEFkZHJlc3Mob3V0cHV0LCA0KSk7IC8vIG1hdGNoIGVuZAog
ICAgIAogICAgIC8vIFJlc3RvcmUgY2FsbGVlIHNhdmUgcmVnaXN0ZXJzLgotICAgIHBvcChjaGFy
YWN0ZXIpOwotICAgIHBvcChvdXRwdXQpOworI2lmICFQTEFURk9STShYODZfNjQpCisgICAgcG9w
KFg4Njo6ZXNpKTsKKyAgICBwb3AoWDg2OjplZGkpOworI2VuZGlmCiAgICAgcmV0KCk7CiB9CiAK
QEAgLTExMiw4ICsxMjcsMTAgQEAgdm9pZCBHZW5lcmF0b3I6OmdlbmVyYXRlUmV0dXJuRmFpbHVy
ZSgpCiB7CiAgICAgcG9wKCk7CiAgICAgbW92ZShJbW0zMigtMSksIFg4Njo6ZWF4KTsKLSAgICBw
b3AoY2hhcmFjdGVyKTsKLSAgICBwb3Aob3V0cHV0KTsKKyNpZiAhUExBVEZPUk0oWDg2XzY0KQor
ICAgIHBvcChYODY6OmVzaSk7CisgICAgcG9wKFg4Njo6ZWRpKTsKKyNlbmRpZgogICAgIHJldCgp
OwogfQogCkluZGV4OiB3dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3dGYvUGxhdGZvcm0u
aAkocmV2aXNpb24gMzg4NTQpCisrKyB3dGYvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAt
NDI3LDcgKzQyNywxMCBAQAogI2VuZGlmCiAKIC8qIFdSRUMgb25seSBzdXBwb3J0cyB4ODYgYXQg
dGhlIG1vbWVudCwgYW5kIGhhcyBvbmx5IGJlZW4gdGVzdGVkIG9uIE1hYyBhbmQgV2luZG93cy4g
Ki8KLSNpZiAhZGVmaW5lZChFTkFCTEVfV1JFQykgJiYgUExBVEZPUk0oWDg2KSAmJiAoUExBVEZP
Uk0oTUFDKSB8fCBQTEFURk9STShXSU4pKQorI2lmICFkZWZpbmVkKEVOQUJMRV9XUkVDKSBcCisg
ICAgJiYgKCAoUExBVEZPUk0oWDg2KSAmJiBQTEFURk9STShNQUMpKSBcCisgICAgICAgIHx8IChQ
TEFURk9STShYODZfNjQpICYmIFBMQVRGT1JNKE1BQykpIFwKKyAgICAgICAgfHwgKFBMQVRGT1JN
KFg4NikgJiYgUExBVEZPUk0oV0lOKSkgKQogI2RlZmluZSBFTkFCTEVfV1JFQyAxCiAjZW5kaWYK
IApJbmRleDogd3RmL1RDU3lzdGVtQWxsb2MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHd0Zi9UQ1N5c3Rl
bUFsbG9jLmNwcAkocmV2aXNpb24gMzg4NTQpCisrKyB3dGYvVENTeXN0ZW1BbGxvYy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAKIAogI2lmIEhBVkUoTU1BUCkKIHN0YXRpYyBj
b25zdCBpbnQgY1Byb3RGbGFncyA9IFBST1RfUkVBRCB8IFBST1RfV1JJVEUKLSNpZiBFTkFCTEUo
SklUKSAmJiBQTEFURk9STShHVEspCisjaWYgRU5BQkxFKEFTU0VNQkxFUikgJiYgKFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oWDg2XzY0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgUFJPVF9FWEVDCiAjZW5kaWYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsK
</data>
<flag name="review"
          id="11938"
          type_id="1"
          status="+"
          setter="zwarich"
    />
          </attachment>
      

    </bug>

</bugzilla>