<?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>43842</bug_id>
          
          <creation_ts>2010-08-11 03:44:36 -0700</creation_ts>
          <short_desc>Refactoring the fpu code generator for the ARM port</short_desc>
          <delta_ts>2010-08-13 00:53:29 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Herczeg">zherczeg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>loki</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>263153</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-08-11 03:44:36 -0700</bug_when>
    <thetext>We should support the new fpu features and instruction mnemonics!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263157</commentid>
    <comment_count>1</comment_count>
      <attachid>64091</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-08-11 03:56:48 -0700</bug_when>
    <thetext>Created attachment 64091
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263158</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-11 03:58:16 -0700</bug_when>
    <thetext>Attachment 64091 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
JavaScriptCore/assembler/ARMAssembler.h:443:  vadd_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:448:  vdiv_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:453:  vsub_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:458:  vmul_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:463:  vcmp_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:468:  vsqrt_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:557:  vmov_vfp_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:563:  vmov_arm_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:569:  vcvt_f64_s32_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:575:  vcvt_s32_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:581:  vmrs_apsr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 11 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263159</commentid>
    <comment_count>3</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-08-11 04:00:57 -0700</bug_when>
    <thetext>The _r postfix is not used anymore, we should remove it as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263160</commentid>
    <comment_count>4</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-08-11 04:01:25 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; We should support the new fpu features and instruction mnemonics!

It is more like a style change than a functional one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263642</commentid>
    <comment_count>5</comment_count>
      <attachid>64190</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-08-12 01:06:27 -0700</bug_when>
    <thetext>Created attachment 64190
patch 2

Little renaming: vd vn vm -&gt; dd dn dm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263644</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-12 01:07:44 -0700</bug_when>
    <thetext>Attachment 64190 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
JavaScriptCore/assembler/ARMAssembler.h:443:  vadd_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:448:  vdiv_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:453:  vsub_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:458:  vmul_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:463:  vcmp_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:468:  vsqrt_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:557:  vmov_vfp_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:563:  vmov_arm_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:569:  vcvt_f64_s32_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:575:  vcvt_s32_f64_r is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/assembler/ARMAssembler.h:581:  vmrs_apsr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 11 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264228</commentid>
    <comment_count>7</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-08-13 00:53:29 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/65303
Closing bug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64091</attachid>
            <date>2010-08-11 03:56:48 -0700</date>
            <delta_ts>2010-08-12 01:06:27 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-arm-vfp.patch</filename>
            <type>text/plain</type>
            <size>13456</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSA5OTg5NTViMDY2ZjgwMmEzYjEzOWVkNTM0OGNmY2UzOTZmYjdiZTVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBXZWQsIDExIEF1ZyAyMDEwIDEyOjU1OjE2ICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gYXJtLXZmcAoKU2lnbmVkLW9mZi1ieTogWm9sdGFuIEhlcmN6ZWcgPHpoZXJjemVnQGluZi51
LXN6ZWdlZC5odT4KLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICB8ICAgMzggKysrKysrKwogSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxl
ci5oICAgICAgfCAgMTM0ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBKYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaCB8ICAgMjQgKysrLS0tCiAzIGZpbGVzIGNo
YW5nZWQsIDEzOCBpbnNlcnRpb25zKCspLCA1OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzdjMDliMC4uMDEzOGZlZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisr
KyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEwLTA4LTEx
ICBab2x0YW4gSGVyY3plZyAgPHpoZXJjemVnQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3JpbmcgdGhlIGZwdSBjb2Rl
IGdlbmVyYXRvciBmb3IgdGhlIEFSTSBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00Mzg0MgorCisgICAgICAgIFN1cHBvcnQgdXAgdG8gMzIgZG91
YmxlIHByZWNpc2lvbiByZWdpc3RlcnMsIGFuZCB0aGUKKyAgICAgICAgcmVjZW50IFZGUCBpbnN0
cnVjdGlvbiBmb3JtYXRzLiBUaGlzIHBhdGNoIGlzIG1haW5seQorICAgICAgICBhIHN0eWxlIGNo
YW5nZSB3aGljaCBrZWVwcyB0aGUgY3VycmVudCBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICog
YXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk1SZWdpc3RlcnM6Oik6
CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6KToKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1i
bGVyOjplbWl0SW5zdCk6CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6ZW1pdERvdWJsZVBy
ZWNpc2lvbkluc3QpOgorICAgICAgICAoSlNDOjpBUk1Bc3NlbWJsZXI6OmVtaXRTaW5nbGVQcmVj
aXNpb25JbnN0KToKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjp2YWRkX2Y2NF9yKToKKyAg
ICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjp2ZGl2X2Y2NF9yKToKKyAgICAgICAgKEpTQzo6QVJN
QXNzZW1ibGVyOjp2c3ViX2Y2NF9yKToKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjp2bXVs
X2Y2NF9yKToKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjp2Y21wX2Y2NF9yKToKKyAgICAg
ICAgKEpTQzo6QVJNQXNzZW1ibGVyOjp2c3FydF9mNjRfcik6CisgICAgICAgIChKU0M6OkFSTUFz
c2VtYmxlcjo6dm1vdl92ZnBfcik6CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6dm1vdl9h
cm1fcik6CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6dmN2dF9mNjRfczMyX3IpOgorICAg
ICAgICAoSlNDOjpBUk1Bc3NlbWJsZXI6OnZjdnRfczMyX2Y2NF9yKToKKyAgICAgICAgKEpTQzo6
QVJNQXNzZW1ibGVyOjp2bXJzX2Fwc3IpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTS5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6YWRkRG91YmxlKToK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmRpdkRvdWJsZSk6CisgICAgICAgIChK
U0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpzdWJEb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlckFSTTo6bXVsRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06
OnNxcnREb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6Y29udmVydElu
dDMyVG9Eb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6YnJhbmNoRG91
YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmJyYW5jaENvbnZlcnREb3Vi
bGVUb0ludDMyKToKKwogMjAxMC0wOC0wOSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCBRdC9BUk0gYWdhaW4sIHRoaXMgdGltZSBpbmNsdWRpbmcgdGhlIG90
aGVyIGNoYW5nZWQgZmlsZS4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9B
Uk1Bc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaApp
bmRleCBhMTk4NjRhLi4xNDkxMGY3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQVJNQXNzZW1ibGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2Vt
Ymxlci5oCkBAIC00MCwzMiArNDAsNTQgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBy
MCA9IDAsCiAgICAgICAgICAgICByMSwKICAgICAgICAgICAgIHIyLAotICAgICAgICAgICAgcjMs
Ci0gICAgICAgICAgICBTMCA9IHIzLAorICAgICAgICAgICAgcjMsIFMwID0gcjMsCiAgICAgICAg
ICAgICByNCwKICAgICAgICAgICAgIHI1LAogICAgICAgICAgICAgcjYsCiAgICAgICAgICAgICBy
NywKLSAgICAgICAgICAgIHI4LAotICAgICAgICAgICAgUzEgPSByOCwKKyAgICAgICAgICAgIHI4
LCBTMSA9IHI4LAogICAgICAgICAgICAgcjksCiAgICAgICAgICAgICByMTAsCiAgICAgICAgICAg
ICByMTEsCiAgICAgICAgICAgICByMTIsCi0gICAgICAgICAgICByMTMsCi0gICAgICAgICAgICBz
cCA9IHIxMywKLSAgICAgICAgICAgIHIxNCwKLSAgICAgICAgICAgIGxyID0gcjE0LAotICAgICAg
ICAgICAgcjE1LAotICAgICAgICAgICAgcGMgPSByMTUKKyAgICAgICAgICAgIHIxMywgc3AgPSBy
MTMsCisgICAgICAgICAgICByMTQsIGxyID0gcjE0LAorICAgICAgICAgICAgcjE1LCBwYyA9IHIx
NQogICAgICAgICB9IFJlZ2lzdGVySUQ7CiAKICAgICAgICAgdHlwZWRlZiBlbnVtIHsKICAgICAg
ICAgICAgIGQwLAogICAgICAgICAgICAgZDEsCiAgICAgICAgICAgICBkMiwKLSAgICAgICAgICAg
IGQzLAotICAgICAgICAgICAgU0QwID0gZDMKKyAgICAgICAgICAgIGQzLCBTRDAgPSBkMywKKyAg
ICAgICAgICAgIGQ0LAorICAgICAgICAgICAgZDUsCisgICAgICAgICAgICBkNiwKKyAgICAgICAg
ICAgIGQ3LAorICAgICAgICAgICAgZDgsCisgICAgICAgICAgICBkOSwKKyAgICAgICAgICAgIGQx
MCwKKyAgICAgICAgICAgIGQxMSwKKyAgICAgICAgICAgIGQxMiwKKyAgICAgICAgICAgIGQxMywK
KyAgICAgICAgICAgIGQxNCwKKyAgICAgICAgICAgIGQxNSwKKyAgICAgICAgICAgIGQxNiwKKyAg
ICAgICAgICAgIGQxNywKKyAgICAgICAgICAgIGQxOCwKKyAgICAgICAgICAgIGQxOSwKKyAgICAg
ICAgICAgIGQyMCwKKyAgICAgICAgICAgIGQyMSwKKyAgICAgICAgICAgIGQyMiwKKyAgICAgICAg
ICAgIGQyMywKKyAgICAgICAgICAgIGQyNCwKKyAgICAgICAgICAgIGQyNSwKKyAgICAgICAgICAg
IGQyNiwKKyAgICAgICAgICAgIGQyNywKKyAgICAgICAgICAgIGQyOCwKKyAgICAgICAgICAgIGQy
OSwKKyAgICAgICAgICAgIGQzMCwKKyAgICAgICAgICAgIGQzMQogICAgICAgICB9IEZQUmVnaXN0
ZXJJRDsKIAogICAgIH0gLy8gbmFtZXNwYWNlIEFSTVJlZ2lzdGVycwpAQCAtMTE4LDEyICsxNDAs
MTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBNVk4gPSAoMHhmIDw8IDIxKSwKICAg
ICAgICAgICAgIE1VTCA9IDB4MDAwMDAwOTAsCiAgICAgICAgICAgICBNVUxMID0gMHgwMGMwMDA5
MCwKLSAgICAgICAgICAgIEZBREREID0gMHgwZTMwMGIwMCwKLSAgICAgICAgICAgIEZESVZEID0g
MHgwZTgwMGIwMCwKLSAgICAgICAgICAgIEZTVUJEID0gMHgwZTMwMGI0MCwKLSAgICAgICAgICAg
IEZNVUxEID0gMHgwZTIwMGIwMCwKLSAgICAgICAgICAgIEZDTVBEID0gMHgwZWI0MGI0MCwKLSAg
ICAgICAgICAgIEZTUVJURCA9IDB4MGViMTBiYzAsCisgICAgICAgICAgICBWQUREX0Y2NCA9IDB4
MGUzMDBiMDAsCisgICAgICAgICAgICBWRElWX0Y2NCA9IDB4MGU4MDBiMDAsCisgICAgICAgICAg
ICBWU1VCX0Y2NCA9IDB4MGUzMDBiNDAsCisgICAgICAgICAgICBWTVVMX0Y2NCA9IDB4MGUyMDBi
MDAsCisgICAgICAgICAgICBWQ01QX0Y2NCA9IDB4MGViNDBiNDAsCisgICAgICAgICAgICBWU1FS
VF9GNjQgPSAweDBlYjEwYmMwLAogICAgICAgICAgICAgRFRSID0gMHgwNTAwMDAwMCwKICAgICAg
ICAgICAgIExEUkggPSAweDAwMTAwMDkwLAogICAgICAgICAgICAgU1RSSCA9IDB4MDAwMDAwOTAs
CkBAIC0xMzUsMTEgKzE1NywxMSBAQCBuYW1lc3BhY2UgSlNDIHsKICNpZiBXVEZfQVJNX0FSQ0hf
QVRfTEVBU1QoNSkgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pCiAgICAgICAgICAgICBCWCA9
IDB4MDEyZmZmMTAsCiAjZW5kaWYKLSAgICAgICAgICAgIEZNU1IgPSAweDBlMDAwYTEwLAotICAg
ICAgICAgICAgRk1SUyA9IDB4MGUxMDBhMTAsCi0gICAgICAgICAgICBGU0lUT0QgPSAweDBlYjgw
YmMwLAotICAgICAgICAgICAgRlRPU0lEID0gMHgwZWJkMGI0MCwKLSAgICAgICAgICAgIEZNU1RB
VCA9IDB4MGVmMWZhMTAsCisgICAgICAgICAgICBWTU9WX1ZGUCA9IDB4MGUwMDBhMTAsCisgICAg
ICAgICAgICBWTU9WX0FSTSA9IDB4MGUxMDBhMTAsCisgICAgICAgICAgICBWQ1ZUX0Y2NF9TMzIg
PSAweDBlYjgwYmMwLAorICAgICAgICAgICAgVkNWVF9TMzJfRjY0ID0gMHgwZWJkMGI0MCwKKyAg
ICAgICAgICAgIFZNUlNfQVBTUiA9IDB4MGVmMWZhMTAsCiAjaWYgV1RGX0FSTV9BUkNIX0FUX0xF
QVNUKDUpCiAgICAgICAgICAgICBDTFogPSAweDAxNmYwZjEwLAogICAgICAgICAgICAgQktQVCA9
IDB4ZTEyMDA3MCwKQEAgLTIzNCwxMCArMjU2LDI2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
ICAgIHZvaWQgZW1pdEluc3QoQVJNV29yZCBvcCwgaW50IHJkLCBpbnQgcm4sIEFSTVdvcmQgb3Ay
KQogICAgICAgICB7Ci0gICAgICAgICAgICBBU1NFUlQgKCAoKG9wMiAmIH5PUDJfSU1NKSA8PSAw
eGZmZikgfHwgKCgob3AyICYgfk9QMl9JTU1oKSA8PSAweGZmZikpICk7CisgICAgICAgICAgICBB
U1NFUlQoKChvcDIgJiB+T1AyX0lNTSkgPD0gMHhmZmYpIHx8ICgoKG9wMiAmIH5PUDJfSU1NaCkg
PD0gMHhmZmYpKSk7CiAgICAgICAgICAgICBtX2J1ZmZlci5wdXRJbnQob3AgfCBSTihybikgfCBS
RChyZCkgfCBvcDIpOwogICAgICAgICB9CiAKKyAgICAgICAgdm9pZCBlbWl0RG91YmxlUHJlY2lz
aW9uSW5zdChBUk1Xb3JkIG9wLCBpbnQgZGQsIGludCBkbiwgaW50IGRtKQorICAgICAgICB7Cisg
ICAgICAgICAgICBBU1NFUlQoKGRkID49IDAgJiYgZGQgPD0gMzEpICYmIChkbiA+PSAwICYmIGRu
IDw9IDMxKSAmJiAoZG0gPj0gMCAmJiBkbSA8PSAzMSkpOworICAgICAgICAgICAgbV9idWZmZXIu
cHV0SW50KG9wIHwgKChkZCAmIDB4ZikgPDwgMTIpIHwgKChkZCAmIDB4MTApIDw8ICgyMiAtIDQp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKChkbiAmIDB4ZikgPDwgMTYpIHwg
KChkbiAmIDB4MTApIDw8ICg3IC0gNCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAoZG0gJiAweGYpIHwgKChkbSAmIDB4MTApIDw8ICg1IC0gNCkpKTsKKyAgICAgICAgfQorCisg
ICAgICAgIHZvaWQgZW1pdFNpbmdsZVByZWNpc2lvbkluc3QoQVJNV29yZCBvcCwgaW50IHNkLCBp
bnQgc24sIGludCBzbSkKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJUKChzZCA+PSAwICYm
IHNkIDw9IDMxKSAmJiAoc24gPj0gMCAmJiBzbiA8PSAzMSkgJiYgKHNtID49IDAgJiYgc20gPD0g
MzEpKTsKKyAgICAgICAgICAgIG1fYnVmZmVyLnB1dEludChvcCB8ICgoc2QgPj4gMSkgPDwgMTIp
IHwgKChzZCAmIDB4MSkgPDwgMjIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAo
KHNuID4+IDEpIDw8IDE2KSB8ICgoc24gJiAweDEpIDw8IDcpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAoc20gPj4gMSkgfCAoKHNtICYgMHgxKSA8PCA1KSk7CisgICAgICAgIH0K
KwogICAgICAgICB2b2lkIGFuZF9yKGludCByZCwgaW50IHJuLCBBUk1Xb3JkIG9wMiwgQ29uZGl0
aW9uIGNjID0gQUwpCiAgICAgICAgIHsKICAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0
PEFSTVdvcmQ+KGNjKSB8IEFORCwgcmQsIHJuLCBvcDIpOwpAQCAtNDAyLDM0ICs0NDAsMzQgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBtX2J1ZmZlci5wdXRJbnQoc3RhdGljX2Nhc3Q8
QVJNV29yZD4oY2MpIHwgTVVMTCB8IFJOKHJkaGkpIHwgUkQocmRsbykgfCBSUyhybikgfCBSTShy
bSkpOwogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCBmYWRkZF9yKGludCBkZCwgaW50IGRuLCBp
bnQgZG0sIENvbmRpdGlvbiBjYyA9IEFMKQorICAgICAgICB2b2lkIHZhZGRfZjY0X3IoaW50IHZk
LCBpbnQgdm4sIGludCB2bSwgQ29uZGl0aW9uIGNjID0gQUwpCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZBRERELCBkZCwgZG4sIGRt
KTsKKyAgICAgICAgICAgIGVtaXREb3VibGVQcmVjaXNpb25JbnN0KHN0YXRpY19jYXN0PEFSTVdv
cmQ+KGNjKSB8IFZBRERfRjY0LCB2ZCwgdm4sIHZtKTsKICAgICAgICAgfQogCi0gICAgICAgIHZv
aWQgZmRpdmRfcihpbnQgZGQsIGludCBkbiwgaW50IGRtLCBDb25kaXRpb24gY2MgPSBBTCkKKyAg
ICAgICAgdm9pZCB2ZGl2X2Y2NF9yKGludCB2ZCwgaW50IHZuLCBpbnQgdm0sIENvbmRpdGlvbiBj
YyA9IEFMKQogICAgICAgICB7Ci0gICAgICAgICAgICBlbWl0SW5zdChzdGF0aWNfY2FzdDxBUk1X
b3JkPihjYykgfCBGRElWRCwgZGQsIGRuLCBkbSk7CisgICAgICAgICAgICBlbWl0RG91YmxlUHJl
Y2lzaW9uSW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBWRElWX0Y2NCwgdmQsIHZuLCB2
bSk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIGZzdWJkX3IoaW50IGRkLCBpbnQgZG4sIGlu
dCBkbSwgQ29uZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHZvaWQgdnN1Yl9mNjRfcihpbnQgdmQs
IGludCB2biwgaW50IHZtLCBDb25kaXRpb24gY2MgPSBBTCkKICAgICAgICAgewotICAgICAgICAg
ICAgZW1pdEluc3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgRlNVQkQsIGRkLCBkbiwgZG0p
OworICAgICAgICAgICAgZW1pdERvdWJsZVByZWNpc2lvbkluc3Qoc3RhdGljX2Nhc3Q8QVJNV29y
ZD4oY2MpIHwgVlNVQl9GNjQsIHZkLCB2biwgdm0pOwogICAgICAgICB9CiAKLSAgICAgICAgdm9p
ZCBmbXVsZF9yKGludCBkZCwgaW50IGRuLCBpbnQgZG0sIENvbmRpdGlvbiBjYyA9IEFMKQorICAg
ICAgICB2b2lkIHZtdWxfZjY0X3IoaW50IHZkLCBpbnQgdm4sIGludCB2bSwgQ29uZGl0aW9uIGNj
ID0gQUwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFSTVdv
cmQ+KGNjKSB8IEZNVUxELCBkZCwgZG4sIGRtKTsKKyAgICAgICAgICAgIGVtaXREb3VibGVQcmVj
aXNpb25JbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IFZNVUxfRjY0LCB2ZCwgdm4sIHZt
KTsKICAgICAgICAgfQogCi0gICAgICAgIHZvaWQgZmNtcGRfcihpbnQgZGQsIGludCBkbSwgQ29u
ZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHZvaWQgdmNtcF9mNjRfcihpbnQgdmQsIGludCB2bSwg
Q29uZGl0aW9uIGNjID0gQUwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRp
Y19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZDTVBELCBkZCwgMCwgZG0pOworICAgICAgICAgICAgZW1p
dERvdWJsZVByZWNpc2lvbkluc3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgVkNNUF9GNjQs
IHZkLCAwLCB2bSk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIGZzcXJ0ZF9yKGludCBkZCwg
aW50IGRtLCBDb25kaXRpb24gY2MgPSBBTCkKKyAgICAgICAgdm9pZCB2c3FydF9mNjRfcihpbnQg
dmQsIGludCB2bSwgQ29uZGl0aW9uIGNjID0gQUwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGVt
aXRJbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZTUVJURCwgZGQsIDAsIGRtKTsKKyAg
ICAgICAgICAgIGVtaXREb3VibGVQcmVjaXNpb25JbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNj
KSB8IFZTUVJUX0Y2NCwgdmQsIDAsIHZtKTsKICAgICAgICAgfQogCiAgICAgICAgIHZvaWQgbGRy
X2ltbShpbnQgcmQsIEFSTVdvcmQgaW1tLCBDb25kaXRpb24gY2MgPSBBTCkKQEAgLTUxNiwyOSAr
NTU0LDMzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgZHRyX3UodHJ1ZSwgcmVnLCBB
Uk1SZWdpc3RlcnM6OnNwLCAwLCBjYyk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIGZtc3Jf
cihpbnQgZGQsIGludCBybiwgQ29uZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHZvaWQgdm1vdl92
ZnBfcihpbnQgc24sIGludCBydCwgQ29uZGl0aW9uIGNjID0gQUwpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZNU1IsIHJuLCBkZCwg
MCk7CisgICAgICAgICAgICBBU1NFUlQocnQgPD0gMTUpOworICAgICAgICAgICAgZW1pdFNpbmds
ZVByZWNpc2lvbkluc3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgVk1PVl9WRlAsIHJ0IDw8
IDEsIHNuLCAwKTsKICAgICAgICAgfQogCi0gICAgICAgIHZvaWQgZm1yc19yKGludCByZCwgaW50
IGRuLCBDb25kaXRpb24gY2MgPSBBTCkKKyAgICAgICAgdm9pZCB2bW92X2FybV9yKGludCBydCwg
aW50IHNuLCBDb25kaXRpb24gY2MgPSBBTCkKICAgICAgICAgewotICAgICAgICAgICAgZW1pdElu
c3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgRk1SUywgcmQsIGRuLCAwKTsKKyAgICAgICAg
ICAgIEFTU0VSVChydCA8PSAxNSk7CisgICAgICAgICAgICBlbWl0U2luZ2xlUHJlY2lzaW9uSW5z
dChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBWTU9WX0FSTSwgcnQgPDwgMSwgc24sIDApOwog
ICAgICAgICB9CiAKLSAgICAgICAgdm9pZCBmc2l0b2RfcihpbnQgZGQsIGludCBkbSwgQ29uZGl0
aW9uIGNjID0gQUwpCisgICAgICAgIHZvaWQgdmN2dF9mNjRfczMyX3IoaW50IGRkLCBpbnQgc20s
IENvbmRpdGlvbiBjYyA9IEFMKQogICAgICAgICB7Ci0gICAgICAgICAgICBlbWl0SW5zdChzdGF0
aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBGU0lUT0QsIGRkLCAwLCBkbSk7CisgICAgICAgICAgICBB
U1NFUlQoIShzbSAmIDB4MSkpOyAvLyBzbSBtdXN0IGJlIGRpdmlzaWJsZSBieSAyCisgICAgICAg
ICAgICBlbWl0RG91YmxlUHJlY2lzaW9uSW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBW
Q1ZUX0Y2NF9TMzIsIGRkLCAwLCAoc20gPj4gMSkpOwogICAgICAgICB9CiAKLSAgICAgICAgdm9p
ZCBmdG9zaWRfcihpbnQgZmQsIGludCBkbSwgQ29uZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHZv
aWQgdmN2dF9zMzJfZjY0X3IoaW50IHNkLCBpbnQgZG0sIENvbmRpdGlvbiBjYyA9IEFMKQogICAg
ICAgICB7Ci0gICAgICAgICAgICBlbWl0SW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBG
VE9TSUQsIGZkLCAwLCBkbSk7CisgICAgICAgICAgICBBU1NFUlQoIShzZCAmIDB4MSkpOyAvLyBz
ZCBtdXN0IGJlIGRpdmlzaWJsZSBieSAyCisgICAgICAgICAgICBlbWl0RG91YmxlUHJlY2lzaW9u
SW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBWQ1ZUX1MzMl9GNjQsIChzZCA+PiAxKSwg
MCwgZG0pOwogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCBmbXN0YXQoQ29uZGl0aW9uIGNjID0g
QUwpCisgICAgICAgIHZvaWQgdm1yc19hcHNyKENvbmRpdGlvbiBjYyA9IEFMKQogICAgICAgICB7
Ci0gICAgICAgICAgICBtX2J1ZmZlci5wdXRJbnQoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwg
Rk1TVEFUKTsKKyAgICAgICAgICAgIG1fYnVmZmVyLnB1dEludChzdGF0aWNfY2FzdDxBUk1Xb3Jk
PihjYykgfCBWTVJTX0FQU1IpOwogICAgICAgICB9CiAKICNpZiBXVEZfQVJNX0FSQ0hfQVRfTEVB
U1QoNSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTS5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgKaW5k
ZXggYmIxYTZkYS4uNDhkZGYyNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNLmgKQEAgLTc5NSw3ICs3OTUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFk
ZERvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAg
ICAgIG1fYXNzZW1ibGVyLmZhZGRkX3IoZGVzdCwgZGVzdCwgc3JjKTsKKyAgICAgICAgbV9hc3Nl
bWJsZXIudmFkZF9mNjRfcihkZXN0LCBkZXN0LCBzcmMpOwogICAgIH0KIAogICAgIHZvaWQgYWRk
RG91YmxlKEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKQEAgLTgwNiw3ICs4MDYsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGRpdkRvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lz
dGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmZkaXZkX3IoZGVzdCwgZGVz
dCwgc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIudmRpdl9mNjRfcihkZXN0LCBkZXN0LCBzcmMp
OwogICAgIH0KIAogICAgIHZvaWQgZGl2RG91YmxlKEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQg
ZGVzdCkKQEAgLTgxOCw3ICs4MTgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN1YkRvdWJsZShG
UFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIG1fYXNz
ZW1ibGVyLmZzdWJkX3IoZGVzdCwgZGVzdCwgc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIudnN1
Yl9mNjRfcihkZXN0LCBkZXN0LCBzcmMpOwogICAgIH0KIAogICAgIHZvaWQgc3ViRG91YmxlKEFk
ZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKQEAgLTgyOSw3ICs4MjksNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIG11bERvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVz
dCkKICAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmZtdWxkX3IoZGVzdCwgZGVzdCwgc3JjKTsK
KyAgICAgICAgbV9hc3NlbWJsZXIudm11bF9mNjRfcihkZXN0LCBkZXN0LCBzcmMpOwogICAgIH0K
IAogICAgIHZvaWQgbXVsRG91YmxlKEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKQEAg
LTg0MCwxMyArODQwLDEzIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc3FydERvdWJsZShGUFJlZ2lz
dGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVy
LmZzcXJ0ZF9yKGRlc3QsIHNyYyk7CisgICAgICAgIG1fYXNzZW1ibGVyLnZzcXJ0X2Y2NF9yKGRl
c3QsIHNyYyk7CiAgICAgfQogCiAgICAgdm9pZCBjb252ZXJ0SW50MzJUb0RvdWJsZShSZWdpc3Rl
cklEIHNyYywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBtX2Fzc2VtYmxlci5m
bXNyX3IoZGVzdCwgc3JjKTsKLSAgICAgICAgbV9hc3NlbWJsZXIuZnNpdG9kX3IoZGVzdCwgZGVz
dCk7CisgICAgICAgIG1fYXNzZW1ibGVyLnZtb3ZfdmZwX3IoZGVzdCA8PCAxLCBzcmMpOworICAg
ICAgICBtX2Fzc2VtYmxlci52Y3Z0X2Y2NF9zMzJfcihkZXN0LCBkZXN0IDw8IDEpOwogICAgIH0K
IAogICAgIHZvaWQgY29udmVydEludDMyVG9Eb3VibGUoQWRkcmVzcyBzcmMsIEZQUmVnaXN0ZXJJ
RCBkZXN0KQpAQCAtODY4LDggKzg2OCw4IEBAIHB1YmxpYzoKIAogICAgIEp1bXAgYnJhbmNoRG91
YmxlKERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklE
IHJpZ2h0KQogICAgIHsKLSAgICAgICAgbV9hc3NlbWJsZXIuZmNtcGRfcihsZWZ0LCByaWdodCk7
Ci0gICAgICAgIG1fYXNzZW1ibGVyLmZtc3RhdCgpOworICAgICAgICBtX2Fzc2VtYmxlci52Y21w
X2Y2NF9yKGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgbV9hc3NlbWJsZXIudm1yc19hcHNyKCk7CiAg
ICAgICAgIGlmIChjb25kICYgRG91YmxlQ29uZGl0aW9uQml0U3BlY2lhbCkKICAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmNtcF9yKEFSTVJlZ2lzdGVyczo6UzAsIEFSTVJlZ2lzdGVyczo6UzAsIEFS
TUFzc2VtYmxlcjo6VlMpOwogICAgICAgICByZXR1cm4gSnVtcChtX2Fzc2VtYmxlci5qbXAoc3Rh
dGljX2Nhc3Q8QVJNQXNzZW1ibGVyOjpDb25kaXRpb24+KGNvbmQgJiB+RG91YmxlQ29uZGl0aW9u
TWFzaykpKTsKQEAgLTg5MywxMSArODkzLDExIEBAIHB1YmxpYzoKICAgICAvLyAoc3BlY2lmaWNh
bGx5LCBpbiB0aGlzIGNhc2UsIDApLgogICAgIHZvaWQgYnJhbmNoQ29udmVydERvdWJsZVRvSW50
MzIoRlBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0LCBKdW1wTGlzdCYgZmFpbHVyZUNh
c2VzLCBGUFJlZ2lzdGVySUQgZnBUZW1wKQogICAgIHsKLSAgICAgICAgbV9hc3NlbWJsZXIuZnRv
c2lkX3IoQVJNUmVnaXN0ZXJzOjpTRDAsIHNyYyk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmZtcnNf
cihkZXN0LCBBUk1SZWdpc3RlcnM6OlNEMCk7CisgICAgICAgIG1fYXNzZW1ibGVyLnZjdnRfczMy
X2Y2NF9yKEFSTVJlZ2lzdGVyczo6U0QwIDw8IDEsIHNyYyk7CisgICAgICAgIG1fYXNzZW1ibGVy
LnZtb3ZfYXJtX3IoZGVzdCwgQVJNUmVnaXN0ZXJzOjpTRDAgPDwgMSk7CiAKICAgICAgICAgLy8g
Q29udmVydCB0aGUgaW50ZWdlciByZXN1bHQgYmFjayB0byBmbG9hdCAmIGNvbXBhcmUgdG8gdGhl
IG9yaWdpbmFsIHZhbHVlIC0gaWYgbm90IGVxdWFsIG9yIHVub3JkZXJlZCAoTmFOKSB0aGVuIGp1
bXAuCi0gICAgICAgIG1fYXNzZW1ibGVyLmZzaXRvZF9yKEFSTVJlZ2lzdGVyczo6U0QwLCBBUk1S
ZWdpc3RlcnM6OlNEMCk7CisgICAgICAgIG1fYXNzZW1ibGVyLnZjdnRfZjY0X3MzMl9yKEFSTVJl
Z2lzdGVyczo6U0QwLCBBUk1SZWdpc3RlcnM6OlNEMCA8PCAxKTsKICAgICAgICAgZmFpbHVyZUNh
c2VzLmFwcGVuZChicmFuY2hEb3VibGUoRG91YmxlTm90RXF1YWxPclVub3JkZXJlZCwgc3JjLCBB
Uk1SZWdpc3RlcnM6OlNEMCkpOwogCiAgICAgICAgIC8vIElmIHRoZSByZXN1bHQgaXMgemVybywg
aXQgbWlnaHQgaGF2ZSBiZWVuIC0wLjAsIGFuZCAwLjAgZXF1YWxzIHRvIC0wLjAKLS0gCjEuNi4w
LjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64190</attachid>
            <date>2010-08-12 01:06:27 -0700</date>
            <delta_ts>2010-08-12 16:52:46 -0700</delta_ts>
            <desc>patch 2</desc>
            <filename>0001-arm-vfp.patch</filename>
            <type>text/plain</type>
            <size>13456</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSBiZjA3Y2Y4MDJlMjhmNzNiYTVlOWVmZGIwM2I3MTNhMDI4N2M3ODI1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBUaHUsIDEyIEF1ZyAyMDEwIDA5OjQ0OjU1ICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gYXJtLXZmcAoKU2lnbmVkLW9mZi1ieTogWm9sdGFuIEhlcmN6ZWcgPHpoZXJjemVnQGluZi51
LXN6ZWdlZC5odT4KLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICB8ICAgMzggKysrKysrKwogSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxl
ci5oICAgICAgfCAgMTM0ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBKYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaCB8ICAgMjQgKysrLS0tCiAzIGZpbGVzIGNo
YW5nZWQsIDEzOCBpbnNlcnRpb25zKCspLCA1OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzdjMDliMC4uMDEzOGZlZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisr
KyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEwLTA4LTEx
ICBab2x0YW4gSGVyY3plZyAgPHpoZXJjemVnQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3JpbmcgdGhlIGZwdSBjb2Rl
IGdlbmVyYXRvciBmb3IgdGhlIEFSTSBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00Mzg0MgorCisgICAgICAgIFN1cHBvcnQgdXAgdG8gMzIgZG91
YmxlIHByZWNpc2lvbiByZWdpc3RlcnMsIGFuZCB0aGUKKyAgICAgICAgcmVjZW50IFZGUCBpbnN0
cnVjdGlvbiBmb3JtYXRzLiBUaGlzIHBhdGNoIGlzIG1haW5seQorICAgICAgICBhIHN0eWxlIGNo
YW5nZSB3aGljaCBrZWVwcyB0aGUgY3VycmVudCBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICog
YXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk1SZWdpc3RlcnM6Oik6
CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6KToKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1i
bGVyOjplbWl0SW5zdCk6CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6ZW1pdERvdWJsZVBy
ZWNpc2lvbkluc3QpOgorICAgICAgICAoSlNDOjpBUk1Bc3NlbWJsZXI6OmVtaXRTaW5nbGVQcmVj
aXNpb25JbnN0KToKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjp2YWRkX2Y2NF9yKToKKyAg
ICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjp2ZGl2X2Y2NF9yKToKKyAgICAgICAgKEpTQzo6QVJN
QXNzZW1ibGVyOjp2c3ViX2Y2NF9yKToKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjp2bXVs
X2Y2NF9yKToKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjp2Y21wX2Y2NF9yKToKKyAgICAg
ICAgKEpTQzo6QVJNQXNzZW1ibGVyOjp2c3FydF9mNjRfcik6CisgICAgICAgIChKU0M6OkFSTUFz
c2VtYmxlcjo6dm1vdl92ZnBfcik6CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6dm1vdl9h
cm1fcik6CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6dmN2dF9mNjRfczMyX3IpOgorICAg
ICAgICAoSlNDOjpBUk1Bc3NlbWJsZXI6OnZjdnRfczMyX2Y2NF9yKToKKyAgICAgICAgKEpTQzo6
QVJNQXNzZW1ibGVyOjp2bXJzX2Fwc3IpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTS5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6YWRkRG91YmxlKToK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmRpdkRvdWJsZSk6CisgICAgICAgIChK
U0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpzdWJEb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlckFSTTo6bXVsRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06
OnNxcnREb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6Y29udmVydElu
dDMyVG9Eb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6YnJhbmNoRG91
YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmJyYW5jaENvbnZlcnREb3Vi
bGVUb0ludDMyKToKKwogMjAxMC0wOC0wOSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCBRdC9BUk0gYWdhaW4sIHRoaXMgdGltZSBpbmNsdWRpbmcgdGhlIG90
aGVyIGNoYW5nZWQgZmlsZS4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9B
Uk1Bc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaApp
bmRleCBhMTk4NjRhLi5kYTEyOGU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQVJNQXNzZW1ibGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2Vt
Ymxlci5oCkBAIC00MCwzMiArNDAsNTQgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBy
MCA9IDAsCiAgICAgICAgICAgICByMSwKICAgICAgICAgICAgIHIyLAotICAgICAgICAgICAgcjMs
Ci0gICAgICAgICAgICBTMCA9IHIzLAorICAgICAgICAgICAgcjMsIFMwID0gcjMsCiAgICAgICAg
ICAgICByNCwKICAgICAgICAgICAgIHI1LAogICAgICAgICAgICAgcjYsCiAgICAgICAgICAgICBy
NywKLSAgICAgICAgICAgIHI4LAotICAgICAgICAgICAgUzEgPSByOCwKKyAgICAgICAgICAgIHI4
LCBTMSA9IHI4LAogICAgICAgICAgICAgcjksCiAgICAgICAgICAgICByMTAsCiAgICAgICAgICAg
ICByMTEsCiAgICAgICAgICAgICByMTIsCi0gICAgICAgICAgICByMTMsCi0gICAgICAgICAgICBz
cCA9IHIxMywKLSAgICAgICAgICAgIHIxNCwKLSAgICAgICAgICAgIGxyID0gcjE0LAotICAgICAg
ICAgICAgcjE1LAotICAgICAgICAgICAgcGMgPSByMTUKKyAgICAgICAgICAgIHIxMywgc3AgPSBy
MTMsCisgICAgICAgICAgICByMTQsIGxyID0gcjE0LAorICAgICAgICAgICAgcjE1LCBwYyA9IHIx
NQogICAgICAgICB9IFJlZ2lzdGVySUQ7CiAKICAgICAgICAgdHlwZWRlZiBlbnVtIHsKICAgICAg
ICAgICAgIGQwLAogICAgICAgICAgICAgZDEsCiAgICAgICAgICAgICBkMiwKLSAgICAgICAgICAg
IGQzLAotICAgICAgICAgICAgU0QwID0gZDMKKyAgICAgICAgICAgIGQzLCBTRDAgPSBkMywKKyAg
ICAgICAgICAgIGQ0LAorICAgICAgICAgICAgZDUsCisgICAgICAgICAgICBkNiwKKyAgICAgICAg
ICAgIGQ3LAorICAgICAgICAgICAgZDgsCisgICAgICAgICAgICBkOSwKKyAgICAgICAgICAgIGQx
MCwKKyAgICAgICAgICAgIGQxMSwKKyAgICAgICAgICAgIGQxMiwKKyAgICAgICAgICAgIGQxMywK
KyAgICAgICAgICAgIGQxNCwKKyAgICAgICAgICAgIGQxNSwKKyAgICAgICAgICAgIGQxNiwKKyAg
ICAgICAgICAgIGQxNywKKyAgICAgICAgICAgIGQxOCwKKyAgICAgICAgICAgIGQxOSwKKyAgICAg
ICAgICAgIGQyMCwKKyAgICAgICAgICAgIGQyMSwKKyAgICAgICAgICAgIGQyMiwKKyAgICAgICAg
ICAgIGQyMywKKyAgICAgICAgICAgIGQyNCwKKyAgICAgICAgICAgIGQyNSwKKyAgICAgICAgICAg
IGQyNiwKKyAgICAgICAgICAgIGQyNywKKyAgICAgICAgICAgIGQyOCwKKyAgICAgICAgICAgIGQy
OSwKKyAgICAgICAgICAgIGQzMCwKKyAgICAgICAgICAgIGQzMQogICAgICAgICB9IEZQUmVnaXN0
ZXJJRDsKIAogICAgIH0gLy8gbmFtZXNwYWNlIEFSTVJlZ2lzdGVycwpAQCAtMTE4LDEyICsxNDAs
MTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBNVk4gPSAoMHhmIDw8IDIxKSwKICAg
ICAgICAgICAgIE1VTCA9IDB4MDAwMDAwOTAsCiAgICAgICAgICAgICBNVUxMID0gMHgwMGMwMDA5
MCwKLSAgICAgICAgICAgIEZBREREID0gMHgwZTMwMGIwMCwKLSAgICAgICAgICAgIEZESVZEID0g
MHgwZTgwMGIwMCwKLSAgICAgICAgICAgIEZTVUJEID0gMHgwZTMwMGI0MCwKLSAgICAgICAgICAg
IEZNVUxEID0gMHgwZTIwMGIwMCwKLSAgICAgICAgICAgIEZDTVBEID0gMHgwZWI0MGI0MCwKLSAg
ICAgICAgICAgIEZTUVJURCA9IDB4MGViMTBiYzAsCisgICAgICAgICAgICBWQUREX0Y2NCA9IDB4
MGUzMDBiMDAsCisgICAgICAgICAgICBWRElWX0Y2NCA9IDB4MGU4MDBiMDAsCisgICAgICAgICAg
ICBWU1VCX0Y2NCA9IDB4MGUzMDBiNDAsCisgICAgICAgICAgICBWTVVMX0Y2NCA9IDB4MGUyMDBi
MDAsCisgICAgICAgICAgICBWQ01QX0Y2NCA9IDB4MGViNDBiNDAsCisgICAgICAgICAgICBWU1FS
VF9GNjQgPSAweDBlYjEwYmMwLAogICAgICAgICAgICAgRFRSID0gMHgwNTAwMDAwMCwKICAgICAg
ICAgICAgIExEUkggPSAweDAwMTAwMDkwLAogICAgICAgICAgICAgU1RSSCA9IDB4MDAwMDAwOTAs
CkBAIC0xMzUsMTEgKzE1NywxMSBAQCBuYW1lc3BhY2UgSlNDIHsKICNpZiBXVEZfQVJNX0FSQ0hf
QVRfTEVBU1QoNSkgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzRUX18pCiAgICAgICAgICAgICBCWCA9
IDB4MDEyZmZmMTAsCiAjZW5kaWYKLSAgICAgICAgICAgIEZNU1IgPSAweDBlMDAwYTEwLAotICAg
ICAgICAgICAgRk1SUyA9IDB4MGUxMDBhMTAsCi0gICAgICAgICAgICBGU0lUT0QgPSAweDBlYjgw
YmMwLAotICAgICAgICAgICAgRlRPU0lEID0gMHgwZWJkMGI0MCwKLSAgICAgICAgICAgIEZNU1RB
VCA9IDB4MGVmMWZhMTAsCisgICAgICAgICAgICBWTU9WX1ZGUCA9IDB4MGUwMDBhMTAsCisgICAg
ICAgICAgICBWTU9WX0FSTSA9IDB4MGUxMDBhMTAsCisgICAgICAgICAgICBWQ1ZUX0Y2NF9TMzIg
PSAweDBlYjgwYmMwLAorICAgICAgICAgICAgVkNWVF9TMzJfRjY0ID0gMHgwZWJkMGI0MCwKKyAg
ICAgICAgICAgIFZNUlNfQVBTUiA9IDB4MGVmMWZhMTAsCiAjaWYgV1RGX0FSTV9BUkNIX0FUX0xF
QVNUKDUpCiAgICAgICAgICAgICBDTFogPSAweDAxNmYwZjEwLAogICAgICAgICAgICAgQktQVCA9
IDB4ZTEyMDA3MCwKQEAgLTIzNCwxMCArMjU2LDI2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
ICAgIHZvaWQgZW1pdEluc3QoQVJNV29yZCBvcCwgaW50IHJkLCBpbnQgcm4sIEFSTVdvcmQgb3Ay
KQogICAgICAgICB7Ci0gICAgICAgICAgICBBU1NFUlQgKCAoKG9wMiAmIH5PUDJfSU1NKSA8PSAw
eGZmZikgfHwgKCgob3AyICYgfk9QMl9JTU1oKSA8PSAweGZmZikpICk7CisgICAgICAgICAgICBB
U1NFUlQoKChvcDIgJiB+T1AyX0lNTSkgPD0gMHhmZmYpIHx8ICgoKG9wMiAmIH5PUDJfSU1NaCkg
PD0gMHhmZmYpKSk7CiAgICAgICAgICAgICBtX2J1ZmZlci5wdXRJbnQob3AgfCBSTihybikgfCBS
RChyZCkgfCBvcDIpOwogICAgICAgICB9CiAKKyAgICAgICAgdm9pZCBlbWl0RG91YmxlUHJlY2lz
aW9uSW5zdChBUk1Xb3JkIG9wLCBpbnQgZGQsIGludCBkbiwgaW50IGRtKQorICAgICAgICB7Cisg
ICAgICAgICAgICBBU1NFUlQoKGRkID49IDAgJiYgZGQgPD0gMzEpICYmIChkbiA+PSAwICYmIGRu
IDw9IDMxKSAmJiAoZG0gPj0gMCAmJiBkbSA8PSAzMSkpOworICAgICAgICAgICAgbV9idWZmZXIu
cHV0SW50KG9wIHwgKChkZCAmIDB4ZikgPDwgMTIpIHwgKChkZCAmIDB4MTApIDw8ICgyMiAtIDQp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKChkbiAmIDB4ZikgPDwgMTYpIHwg
KChkbiAmIDB4MTApIDw8ICg3IC0gNCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAoZG0gJiAweGYpIHwgKChkbSAmIDB4MTApIDw8ICg1IC0gNCkpKTsKKyAgICAgICAgfQorCisg
ICAgICAgIHZvaWQgZW1pdFNpbmdsZVByZWNpc2lvbkluc3QoQVJNV29yZCBvcCwgaW50IHNkLCBp
bnQgc24sIGludCBzbSkKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJUKChzZCA+PSAwICYm
IHNkIDw9IDMxKSAmJiAoc24gPj0gMCAmJiBzbiA8PSAzMSkgJiYgKHNtID49IDAgJiYgc20gPD0g
MzEpKTsKKyAgICAgICAgICAgIG1fYnVmZmVyLnB1dEludChvcCB8ICgoc2QgPj4gMSkgPDwgMTIp
IHwgKChzZCAmIDB4MSkgPDwgMjIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAo
KHNuID4+IDEpIDw8IDE2KSB8ICgoc24gJiAweDEpIDw8IDcpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAoc20gPj4gMSkgfCAoKHNtICYgMHgxKSA8PCA1KSk7CisgICAgICAgIH0K
KwogICAgICAgICB2b2lkIGFuZF9yKGludCByZCwgaW50IHJuLCBBUk1Xb3JkIG9wMiwgQ29uZGl0
aW9uIGNjID0gQUwpCiAgICAgICAgIHsKICAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0
PEFSTVdvcmQ+KGNjKSB8IEFORCwgcmQsIHJuLCBvcDIpOwpAQCAtNDAyLDM0ICs0NDAsMzQgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBtX2J1ZmZlci5wdXRJbnQoc3RhdGljX2Nhc3Q8
QVJNV29yZD4oY2MpIHwgTVVMTCB8IFJOKHJkaGkpIHwgUkQocmRsbykgfCBSUyhybikgfCBSTShy
bSkpOwogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCBmYWRkZF9yKGludCBkZCwgaW50IGRuLCBp
bnQgZG0sIENvbmRpdGlvbiBjYyA9IEFMKQorICAgICAgICB2b2lkIHZhZGRfZjY0X3IoaW50IGRk
LCBpbnQgZG4sIGludCBkbSwgQ29uZGl0aW9uIGNjID0gQUwpCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZBRERELCBkZCwgZG4sIGRt
KTsKKyAgICAgICAgICAgIGVtaXREb3VibGVQcmVjaXNpb25JbnN0KHN0YXRpY19jYXN0PEFSTVdv
cmQ+KGNjKSB8IFZBRERfRjY0LCBkZCwgZG4sIGRtKTsKICAgICAgICAgfQogCi0gICAgICAgIHZv
aWQgZmRpdmRfcihpbnQgZGQsIGludCBkbiwgaW50IGRtLCBDb25kaXRpb24gY2MgPSBBTCkKKyAg
ICAgICAgdm9pZCB2ZGl2X2Y2NF9yKGludCBkZCwgaW50IGRuLCBpbnQgZG0sIENvbmRpdGlvbiBj
YyA9IEFMKQogICAgICAgICB7Ci0gICAgICAgICAgICBlbWl0SW5zdChzdGF0aWNfY2FzdDxBUk1X
b3JkPihjYykgfCBGRElWRCwgZGQsIGRuLCBkbSk7CisgICAgICAgICAgICBlbWl0RG91YmxlUHJl
Y2lzaW9uSW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBWRElWX0Y2NCwgZGQsIGRuLCBk
bSk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIGZzdWJkX3IoaW50IGRkLCBpbnQgZG4sIGlu
dCBkbSwgQ29uZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHZvaWQgdnN1Yl9mNjRfcihpbnQgZGQs
IGludCBkbiwgaW50IGRtLCBDb25kaXRpb24gY2MgPSBBTCkKICAgICAgICAgewotICAgICAgICAg
ICAgZW1pdEluc3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgRlNVQkQsIGRkLCBkbiwgZG0p
OworICAgICAgICAgICAgZW1pdERvdWJsZVByZWNpc2lvbkluc3Qoc3RhdGljX2Nhc3Q8QVJNV29y
ZD4oY2MpIHwgVlNVQl9GNjQsIGRkLCBkbiwgZG0pOwogICAgICAgICB9CiAKLSAgICAgICAgdm9p
ZCBmbXVsZF9yKGludCBkZCwgaW50IGRuLCBpbnQgZG0sIENvbmRpdGlvbiBjYyA9IEFMKQorICAg
ICAgICB2b2lkIHZtdWxfZjY0X3IoaW50IGRkLCBpbnQgZG4sIGludCBkbSwgQ29uZGl0aW9uIGNj
ID0gQUwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFSTVdv
cmQ+KGNjKSB8IEZNVUxELCBkZCwgZG4sIGRtKTsKKyAgICAgICAgICAgIGVtaXREb3VibGVQcmVj
aXNpb25JbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IFZNVUxfRjY0LCBkZCwgZG4sIGRt
KTsKICAgICAgICAgfQogCi0gICAgICAgIHZvaWQgZmNtcGRfcihpbnQgZGQsIGludCBkbSwgQ29u
ZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHZvaWQgdmNtcF9mNjRfcihpbnQgZGQsIGludCBkbSwg
Q29uZGl0aW9uIGNjID0gQUwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRp
Y19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZDTVBELCBkZCwgMCwgZG0pOworICAgICAgICAgICAgZW1p
dERvdWJsZVByZWNpc2lvbkluc3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgVkNNUF9GNjQs
IGRkLCAwLCBkbSk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIGZzcXJ0ZF9yKGludCBkZCwg
aW50IGRtLCBDb25kaXRpb24gY2MgPSBBTCkKKyAgICAgICAgdm9pZCB2c3FydF9mNjRfcihpbnQg
ZGQsIGludCBkbSwgQ29uZGl0aW9uIGNjID0gQUwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGVt
aXRJbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZTUVJURCwgZGQsIDAsIGRtKTsKKyAg
ICAgICAgICAgIGVtaXREb3VibGVQcmVjaXNpb25JbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNj
KSB8IFZTUVJUX0Y2NCwgZGQsIDAsIGRtKTsKICAgICAgICAgfQogCiAgICAgICAgIHZvaWQgbGRy
X2ltbShpbnQgcmQsIEFSTVdvcmQgaW1tLCBDb25kaXRpb24gY2MgPSBBTCkKQEAgLTUxNiwyOSAr
NTU0LDMzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgZHRyX3UodHJ1ZSwgcmVnLCBB
Uk1SZWdpc3RlcnM6OnNwLCAwLCBjYyk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIGZtc3Jf
cihpbnQgZGQsIGludCBybiwgQ29uZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHZvaWQgdm1vdl92
ZnBfcihpbnQgc24sIGludCBydCwgQ29uZGl0aW9uIGNjID0gQUwpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZNU1IsIHJuLCBkZCwg
MCk7CisgICAgICAgICAgICBBU1NFUlQocnQgPD0gMTUpOworICAgICAgICAgICAgZW1pdFNpbmds
ZVByZWNpc2lvbkluc3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgVk1PVl9WRlAsIHJ0IDw8
IDEsIHNuLCAwKTsKICAgICAgICAgfQogCi0gICAgICAgIHZvaWQgZm1yc19yKGludCByZCwgaW50
IGRuLCBDb25kaXRpb24gY2MgPSBBTCkKKyAgICAgICAgdm9pZCB2bW92X2FybV9yKGludCBydCwg
aW50IHNuLCBDb25kaXRpb24gY2MgPSBBTCkKICAgICAgICAgewotICAgICAgICAgICAgZW1pdElu
c3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgRk1SUywgcmQsIGRuLCAwKTsKKyAgICAgICAg
ICAgIEFTU0VSVChydCA8PSAxNSk7CisgICAgICAgICAgICBlbWl0U2luZ2xlUHJlY2lzaW9uSW5z
dChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBWTU9WX0FSTSwgcnQgPDwgMSwgc24sIDApOwog
ICAgICAgICB9CiAKLSAgICAgICAgdm9pZCBmc2l0b2RfcihpbnQgZGQsIGludCBkbSwgQ29uZGl0
aW9uIGNjID0gQUwpCisgICAgICAgIHZvaWQgdmN2dF9mNjRfczMyX3IoaW50IGRkLCBpbnQgc20s
IENvbmRpdGlvbiBjYyA9IEFMKQogICAgICAgICB7Ci0gICAgICAgICAgICBlbWl0SW5zdChzdGF0
aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBGU0lUT0QsIGRkLCAwLCBkbSk7CisgICAgICAgICAgICBB
U1NFUlQoIShzbSAmIDB4MSkpOyAvLyBzbSBtdXN0IGJlIGRpdmlzaWJsZSBieSAyCisgICAgICAg
ICAgICBlbWl0RG91YmxlUHJlY2lzaW9uSW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBW
Q1ZUX0Y2NF9TMzIsIGRkLCAwLCAoc20gPj4gMSkpOwogICAgICAgICB9CiAKLSAgICAgICAgdm9p
ZCBmdG9zaWRfcihpbnQgZmQsIGludCBkbSwgQ29uZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHZv
aWQgdmN2dF9zMzJfZjY0X3IoaW50IHNkLCBpbnQgZG0sIENvbmRpdGlvbiBjYyA9IEFMKQogICAg
ICAgICB7Ci0gICAgICAgICAgICBlbWl0SW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBG
VE9TSUQsIGZkLCAwLCBkbSk7CisgICAgICAgICAgICBBU1NFUlQoIShzZCAmIDB4MSkpOyAvLyBz
ZCBtdXN0IGJlIGRpdmlzaWJsZSBieSAyCisgICAgICAgICAgICBlbWl0RG91YmxlUHJlY2lzaW9u
SW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBWQ1ZUX1MzMl9GNjQsIChzZCA+PiAxKSwg
MCwgZG0pOwogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCBmbXN0YXQoQ29uZGl0aW9uIGNjID0g
QUwpCisgICAgICAgIHZvaWQgdm1yc19hcHNyKENvbmRpdGlvbiBjYyA9IEFMKQogICAgICAgICB7
Ci0gICAgICAgICAgICBtX2J1ZmZlci5wdXRJbnQoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwg
Rk1TVEFUKTsKKyAgICAgICAgICAgIG1fYnVmZmVyLnB1dEludChzdGF0aWNfY2FzdDxBUk1Xb3Jk
PihjYykgfCBWTVJTX0FQU1IpOwogICAgICAgICB9CiAKICNpZiBXVEZfQVJNX0FSQ0hfQVRfTEVB
U1QoNSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTS5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgKaW5k
ZXggYmIxYTZkYS4uNDhkZGYyNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNLmgKQEAgLTc5NSw3ICs3OTUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFk
ZERvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAg
ICAgIG1fYXNzZW1ibGVyLmZhZGRkX3IoZGVzdCwgZGVzdCwgc3JjKTsKKyAgICAgICAgbV9hc3Nl
bWJsZXIudmFkZF9mNjRfcihkZXN0LCBkZXN0LCBzcmMpOwogICAgIH0KIAogICAgIHZvaWQgYWRk
RG91YmxlKEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKQEAgLTgwNiw3ICs4MDYsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGRpdkRvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lz
dGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmZkaXZkX3IoZGVzdCwgZGVz
dCwgc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIudmRpdl9mNjRfcihkZXN0LCBkZXN0LCBzcmMp
OwogICAgIH0KIAogICAgIHZvaWQgZGl2RG91YmxlKEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQg
ZGVzdCkKQEAgLTgxOCw3ICs4MTgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN1YkRvdWJsZShG
UFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIG1fYXNz
ZW1ibGVyLmZzdWJkX3IoZGVzdCwgZGVzdCwgc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIudnN1
Yl9mNjRfcihkZXN0LCBkZXN0LCBzcmMpOwogICAgIH0KIAogICAgIHZvaWQgc3ViRG91YmxlKEFk
ZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKQEAgLTgyOSw3ICs4MjksNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIG11bERvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVz
dCkKICAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmZtdWxkX3IoZGVzdCwgZGVzdCwgc3JjKTsK
KyAgICAgICAgbV9hc3NlbWJsZXIudm11bF9mNjRfcihkZXN0LCBkZXN0LCBzcmMpOwogICAgIH0K
IAogICAgIHZvaWQgbXVsRG91YmxlKEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKQEAg
LTg0MCwxMyArODQwLDEzIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc3FydERvdWJsZShGUFJlZ2lz
dGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVy
LmZzcXJ0ZF9yKGRlc3QsIHNyYyk7CisgICAgICAgIG1fYXNzZW1ibGVyLnZzcXJ0X2Y2NF9yKGRl
c3QsIHNyYyk7CiAgICAgfQogCiAgICAgdm9pZCBjb252ZXJ0SW50MzJUb0RvdWJsZShSZWdpc3Rl
cklEIHNyYywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBtX2Fzc2VtYmxlci5m
bXNyX3IoZGVzdCwgc3JjKTsKLSAgICAgICAgbV9hc3NlbWJsZXIuZnNpdG9kX3IoZGVzdCwgZGVz
dCk7CisgICAgICAgIG1fYXNzZW1ibGVyLnZtb3ZfdmZwX3IoZGVzdCA8PCAxLCBzcmMpOworICAg
ICAgICBtX2Fzc2VtYmxlci52Y3Z0X2Y2NF9zMzJfcihkZXN0LCBkZXN0IDw8IDEpOwogICAgIH0K
IAogICAgIHZvaWQgY29udmVydEludDMyVG9Eb3VibGUoQWRkcmVzcyBzcmMsIEZQUmVnaXN0ZXJJ
RCBkZXN0KQpAQCAtODY4LDggKzg2OCw4IEBAIHB1YmxpYzoKIAogICAgIEp1bXAgYnJhbmNoRG91
YmxlKERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklE
IHJpZ2h0KQogICAgIHsKLSAgICAgICAgbV9hc3NlbWJsZXIuZmNtcGRfcihsZWZ0LCByaWdodCk7
Ci0gICAgICAgIG1fYXNzZW1ibGVyLmZtc3RhdCgpOworICAgICAgICBtX2Fzc2VtYmxlci52Y21w
X2Y2NF9yKGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgbV9hc3NlbWJsZXIudm1yc19hcHNyKCk7CiAg
ICAgICAgIGlmIChjb25kICYgRG91YmxlQ29uZGl0aW9uQml0U3BlY2lhbCkKICAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmNtcF9yKEFSTVJlZ2lzdGVyczo6UzAsIEFSTVJlZ2lzdGVyczo6UzAsIEFS
TUFzc2VtYmxlcjo6VlMpOwogICAgICAgICByZXR1cm4gSnVtcChtX2Fzc2VtYmxlci5qbXAoc3Rh
dGljX2Nhc3Q8QVJNQXNzZW1ibGVyOjpDb25kaXRpb24+KGNvbmQgJiB+RG91YmxlQ29uZGl0aW9u
TWFzaykpKTsKQEAgLTg5MywxMSArODkzLDExIEBAIHB1YmxpYzoKICAgICAvLyAoc3BlY2lmaWNh
bGx5LCBpbiB0aGlzIGNhc2UsIDApLgogICAgIHZvaWQgYnJhbmNoQ29udmVydERvdWJsZVRvSW50
MzIoRlBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0LCBKdW1wTGlzdCYgZmFpbHVyZUNh
c2VzLCBGUFJlZ2lzdGVySUQgZnBUZW1wKQogICAgIHsKLSAgICAgICAgbV9hc3NlbWJsZXIuZnRv
c2lkX3IoQVJNUmVnaXN0ZXJzOjpTRDAsIHNyYyk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmZtcnNf
cihkZXN0LCBBUk1SZWdpc3RlcnM6OlNEMCk7CisgICAgICAgIG1fYXNzZW1ibGVyLnZjdnRfczMy
X2Y2NF9yKEFSTVJlZ2lzdGVyczo6U0QwIDw8IDEsIHNyYyk7CisgICAgICAgIG1fYXNzZW1ibGVy
LnZtb3ZfYXJtX3IoZGVzdCwgQVJNUmVnaXN0ZXJzOjpTRDAgPDwgMSk7CiAKICAgICAgICAgLy8g
Q29udmVydCB0aGUgaW50ZWdlciByZXN1bHQgYmFjayB0byBmbG9hdCAmIGNvbXBhcmUgdG8gdGhl
IG9yaWdpbmFsIHZhbHVlIC0gaWYgbm90IGVxdWFsIG9yIHVub3JkZXJlZCAoTmFOKSB0aGVuIGp1
bXAuCi0gICAgICAgIG1fYXNzZW1ibGVyLmZzaXRvZF9yKEFSTVJlZ2lzdGVyczo6U0QwLCBBUk1S
ZWdpc3RlcnM6OlNEMCk7CisgICAgICAgIG1fYXNzZW1ibGVyLnZjdnRfZjY0X3MzMl9yKEFSTVJl
Z2lzdGVyczo6U0QwLCBBUk1SZWdpc3RlcnM6OlNEMCA8PCAxKTsKICAgICAgICAgZmFpbHVyZUNh
c2VzLmFwcGVuZChicmFuY2hEb3VibGUoRG91YmxlTm90RXF1YWxPclVub3JkZXJlZCwgc3JjLCBB
Uk1SZWdpc3RlcnM6OlNEMCkpOwogCiAgICAgICAgIC8vIElmIHRoZSByZXN1bHQgaXMgemVybywg
aXQgbWlnaHQgaGF2ZSBiZWVuIC0wLjAsIGFuZCAwLjAgZXF1YWxzIHRvIC0wLjAKLS0gCjEuNi4w
LjQKCg==
</data>
<flag name="review"
          id="52703"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>