[patch] maestro sound driver vs 2.3.34

Zach Brown (zab@redhat.com)
Sun, 26 Dec 1999 18:57:08 -0500 (EST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---1345348566-1675704980-946252628=:17512
Content-Type: TEXT/PLAIN; charset=US-ASCII

This patch brings the maestro driver in 2.3 up to the stable one
in 2.2 and that has been available for testing for a while, specifically:

* add support for NEC Versa laptops
* fix stereo support so that mmap() works, volumes are now sane

* removes experimental flag
* adds Documentation/sound/Maestro, Config.help entry
* fixes up some ESS/Maestro PCI ID references

Zach Brown <zab@redhat.com> -- Software Princess

---1345348566-1675704980-946252628=:17512
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="maestro-2.3.34.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.991226185708.17512C@devserv.devel.redhat.com>
Content-Description:

LS0tIGxpbnV4L2RyaXZlcnMvc291bmQvQ29uZmlnLmluLnByZW0JU3VuIERl
YyAyNiAxODowNjo0MiAxOTk5DQorKysgbGludXgvZHJpdmVycy9zb3VuZC9D
b25maWcuaW4JU3VuIERlYyAyNiAxODowNzo1MCAxOTk5DQpAQCAtMjAsOSAr
MjAsNyBAQA0KIGRlcF90cmlzdGF0ZSAnICBFbnNvbmlxIEF1ZGlvUENJIChF
UzEzNzApJyBDT05GSUdfU09VTkRfRVMxMzcwICRDT05GSUdfU09VTkQNCiBk
ZXBfdHJpc3RhdGUgJyAgQ3JlYXRpdmUgRW5zb25pcSBBdWRpb1BDSSA5NyAo
RVMxMzcxKScgQ09ORklHX1NPVU5EX0VTMTM3MSAkQ09ORklHX1NPVU5EDQog
ZGVwX3RyaXN0YXRlICcgIEVTUyBUZWNobm9sb2d5IFNvbG8xJyBDT05GSUdf
U09VTkRfRVNTU09MTzEgJENPTkZJR19TT1VORA0KLWlmIFsgIiRDT05GSUdf
RVhQRVJJTUVOVEFMIiA9ICJ5IiBdOyB0aGVuDQotICAgIGRlcF90cmlzdGF0
ZSAnICBFU1MgTWFlc3RybywgTWFlc3RybzIsIE1hZXN0cm8yRSBkcml2ZXIg
KEVYUEVSSU1FTlRBTCknIENPTkZJR19TT1VORF9NQUVTVFJPICRDT05GSUdf
U09VTkQNCi1maQ0KK2RlcF90cmlzdGF0ZSAnICBFU1MgTWFlc3RybywgTWFl
c3RybzIsIE1hZXN0cm8yRSBkcml2ZXInIENPTkZJR19TT1VORF9NQUVTVFJP
ICRDT05GSUdfU09VTkQNCiBkZXBfdHJpc3RhdGUgJyAgUzMgU29uaWNWaWJl
cycgQ09ORklHX1NPVU5EX1NPTklDVklCRVMgJENPTkZJR19TT1VORA0KIGlm
IFsgIiRDT05GSUdfVklTV1MiID0gInkiIF07IHRoZW4NCiAgICAgZGVwX3Ry
aXN0YXRlICcgIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gU291bmQnIENPTkZJ
R19TT1VORF9WV1NORCAkQ09ORklHX1NPVU5EDQotLS0gbGludXgvZHJpdmVy
cy9zb3VuZC9tYWVzdHJvLmMucHJlbQlTdW4gRGVjIDI2IDE2OjUzOjQ3IDE5
OTkNCisrKyBsaW51eC9kcml2ZXJzL3NvdW5kL21hZXN0cm8uYwlTdW4gRGVj
IDI2IDE4OjEyOjI1IDE5OTkNCkBAIC0xLDYgKzEsNiBAQA0KIC8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqDQotICogICAgICBFU1Mg
TWFlc3Ryby9NYWVzdHJvLTIvTWFlc3Ryby0yRSBkcml2ZXIgZm9yIExpbnV4
IDIuMi54DQorICogICAgICBFU1MgTWFlc3Ryby9NYWVzdHJvLTIvTWFlc3Ry
by0yRSBkcml2ZXIgZm9yIExpbnV4IDIuWzIzXS54DQogICoNCiAgKiAgICAg
IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQogICogICAgICBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieQ0KQEAgLTI4LDI1ICsyOCwyNSBAQA0KICAqCXByb3By
aWV0b3JzIG9mIEhhY2sgQ2VudHJhbCBmb3IgZmluZSBsb2RnaW5nLg0KICAq
DQogICogIFN1cHBvcnRlZCBkZXZpY2VzOg0KLSAqICAvZGV2L2RzcDAtNyAg
ICBzdGFuZGFyZCAvZGV2L2RzcCBkZXZpY2UsIChtb3N0bHkpIE9TUyBjb21w
YXRpYmxlDQorICogIC9kZXYvZHNwMC0zICAgIHN0YW5kYXJkIC9kZXYvZHNw
IGRldmljZSwgKG1vc3RseSkgT1NTIGNvbXBhdGlibGUNCiAgKiAgL2Rldi9t
aXhlciAgc3RhbmRhcmQgL2Rldi9taXhlciBkZXZpY2UsIChtb3N0bHkpIE9T
UyBjb21wYXRpYmxlDQogICoNCiAgKiAgSGFyZHdhcmUgRGVzY3JpcHRpb24N
CiAgKg0KICAqCUEgd29ya2luZyBNYWVzdHJvIHNldHVwIGNvbnRhaW5zIHRo
ZSBNYWVzdHJvIGNoaXAgd2lyZWQgdG8gYSANCi0gKgljb2RlYyBvciAyLiAg
SW4gdGhlIE1hZXN0cm8gd2UgaGF2ZSB0aGUgQVBVcywgdGhlIEFTUCwgYW5k
IHRoZQ0KKyAqCWNvZGVjIG9yIDIuICBJbiB0aGUgTWFlc3RybyB3ZSBoYXZl
IHRoZSBBUFVzLCB0aGUgQVNTUCwgYW5kIHRoZQ0KICAqCVdhdmVjYWNoZS4g
IFRoZSBBUFVzIGNhbiBiZSB0aG91Z2ggb2YgYXMgdmlydHVhbCBhdWRpbyBy
b3V0aW5nDQogICoJY2hhbm5lbHMuICBUaGV5IGNhbiB0YWtlIGRhdGEgZnJv
bSBhIG51bWJlciBvZiBzb3VyY2VzIGFuZCBwZXJmb3JtDQogICoJYmFzaWMg
ZW5jb2RpbmdzIG9mIHRoZSBkYXRhLiAgVGhlIHdhdmVjYWNoZSBpcyBhIHN0
b3JlaG91c2UgZm9yDQogICoJUENNIGRhdGEuICBUeXBpY2FsbHkgaXQgZGVh
bHMgd2l0aCBQQ0kgYW5kIGludGVycmFjdHMgd2l0aCB0aGUNCi0gKglBUFVz
LiAgVGhlIEFTUCBpcyBhIHdhY2t5IERTUCBsaWtlIGRldmljZSB0aGF0IEVT
UyBpcyBsb3RoDQorICoJQVBVcy4gIFRoZSBBU1NQIGlzIGEgd2Fja3kgRFNQ
IGxpa2UgZGV2aWNlIHRoYXQgRVNTIGlzIGxvdGgNCiAgKgl0byByZWxlYXNl
IGRvY3Mgb24uICBUaGFua2Z1bGx5IGl0IGlzbid0IHJlcXVpcmVkIG9uIHRo
ZSBNYWVzdHJvDQogICoJdW50aWwgeW91IHN0YXJ0IGRvaW5nIGluc2FuZSB0
aGluZ3MgbGlrZSBGTSBlbXVsYXRpb24gYW5kIHN1cnJvdW5kDQogICoJZW5j
b2RpbmcuICBUaGUgY29kZWNzIGFyZSBhbG1vc3QgYWx3YXlzIEFDLTk3IGNv
bXBsaWFudCBjb2RlY3MsIA0KICAqCWJ1dCBpdCBhcHBlYXJzIHRoYXQgZWFy
bHkgTWFlc3Ryb3MgbWF5IGhhdmUgaGFkIFBUMTAxIChhbiBFU1MNCiAgKglw
YXJ0Pykgd2lyZWQgdG8gdGhlbS4gIFRoZSBvbmx5IHJlYWwgZGlmZmVyZW5j
ZSBpbiB0aGUgTWFlc3Rybw0KICAqCWZhbWlsaWVzIGlzIGV4dGVybmFsIGdv
b3AgbGlrZSBkb2NraW5nIGNhcGFiaWxpdHksIG1lbW9yeSBmb3INCi0gKgl0
aGUgQVNQLCBhbmQgaW5pdGlhbGl6YXRpb24gZGlmZmVyZW5jZXMuDQorICoJ
dGhlIEFTU1AsIGFuZCBpbml0aWFsaXphdGlvbiBkaWZmZXJlbmNlcy4NCiAg
Kg0KICAqICBEcml2ZXIgT3BlcmF0aW9uDQogICoNCkBAIC01NSwyNSArNTUs
MTkgQEANCiAgKgkvZGV2L2RzcD8gZGV2aWNlLiAgMiBjaGFubmVscyBmb3Ig
b3V0cHV0LCBhbmQgNCBjaGFubmVscyBmb3INCiAgKglpbnB1dC4NCiAgKg0K
LSAqCUZvciBvdXRwdXQgd2UgbWFpbnRhaW4gYSByaW5nIGJ1ZmZlciBvZiBk
YXRhIHRoYXQgd2UgYXJlIERNQWluZw0KLSAqCXRvIHRoZSBjYXJkLiAgSW4g
bW9ubyBvcGVyYXRpb24gdGhpcyBpcyBuaWNlIGFuZCBlYXN5LiAgV2hlbg0K
LSAqCXdlIHJlY2VpdmUgZGF0YSB3ZSB0YWNrIGl0IG9udG8gdGhlIHJpbmcg
YnVmZmVyIGFuZCBtYWtlIHN1cmUNCi0gKgl0aGUgQVBVIGFzc2lnbmVkIHRv
IGl0IGlzIHBsYXlpbmcgb3ZlciB0aGUgZGF0YS4gIFdoZW4gd2UgZmlsbA0K
LSAqCXRoZSByaW5nIGJ1ZmZlciB3ZSBwdXQgdGhlIGNsaWVudCB0byBzbGVl
cCB1bnRpbCB0aGVyZSBpcw0KLSAqCXJvb20gYWdhaW4uICBFYXN5Lg0KKyAq
CUVhY2ggQVBVIGNhbiBkbyBhIG51bWJlciBvZiB0aGluZ3MsIGJ1dCB3ZSBv
bmx5IHJlYWxseSB1c2UNCisgKgkzIGJhc2ljIGZ1bmN0aW9ucy4gIEZvciBw
bGF5YmFjayB3ZSB1c2UgdGhlbSB0byBjb252ZXJ0IFBDTQ0KKyAqCWRhdGEg
ZmV0Y2hlZCBvdmVyIFBDSSBieSB0aGUgd2F2ZWNhaGNoZSBpbnRvIGFuYWxv
ZyBkYXRhIHRoYXQNCisgKglpcyBoYW5kZWQgdG8gdGhlIGNvZGVjLiAgT25l
IEFQVSBmb3IgbW9ubywgYW5kIGEgcGFpciBmb3Igc3RlcmVvLg0KKyAqCVdo
ZW4gaW4gc3RlcmVvLCB0aGUgY29tYmluYXRpb24gb2Ygc21hcnRzIGluIHRo
ZSBBUFUgYW5kIFdhdmVjYWNoZQ0KKyAqCWRlY2lkZSB3aGljaCB3YXZlY2Fj
aGUgZ2V0cyB0aGUgbGVmdCBvciByaWdodCBjaGFubmVsLg0KICAqDQotICoJ
SG93ZXZlciwgdGhpcyBzdGFydHMgdG8gc3Rpbmsgd2hlbiB3ZSB1c2Ugc3Rl
cmVvLiAgVGhlIEFQVXMNCi0gKglzdXBwb3NlZGx5IGNhbiBkZWNvZGUgTFJM
UiBwYWNrZWQgc3RlcmVvIGRhdGEsIGJ1dCBpdA0KLSAqCWRvZXNuJ3Qgd29y
ay4gIFNvIHdlJ3JlIGZvcmNlZCB0byB1c2UgZHVhbCBtb25vIEFQVXMgd2Fs
a2luZyBvdmVyDQotICoJbW9ubyBlbmNvZGVkIGRhdGEuICBUaGlzIHJlcXVp
cmVzIHVzIHRvIHNwbGl0IHRoZSBpbnB1dCBmcm9tDQotICoJdGhlIGNsaWVu
dCBhbmQgY29tcGxpY2F0ZXMgdGhlIGJ1ZmZlciBtYXRocyB0cmVtZW5kb3Vz
bHkuICBJY2suDQotICoNCi0gKglUaGlzIGFsc28gcG9sbHV0ZXMgdGhlIHJl
Y29yZGluZyBwYXRocyBhcyB3ZWxsLiAgV2UgaGF2ZSB0byB1c2UNCi0gKgky
IEwvUiBpbmNvbWluZyBBUFVzIHRoYXQgYXJlIGZpeGVkIGF0IDE2Yml0LzQ4
a2h6LiAgV2UgdGhlbiBwaXBlDQotICogCXRoZXNlIHRocm91Z2ggMiByYXRl
IGNvbnZlcmlvbiBhcHVzIHRoYXQgbWl4IHRoZW0gZG93biB0byB0aGUNCi0g
KiAJcmVxdWVzdGVkIGZyZXF1ZW5jeSBhbmQgd3JpdGUgdGhlbSB0byBtZW1v
cnkgdGhyb3VnaCB0aGUgd2F2ZWNhY2hlLg0KLSAqCVdlIGFsc28gYXBwYXJl
bnRseSBuZWVkIGEgNTEyYnl0ZSByZWdpb24gdGhhdHMgdXNlZCBhcyB0ZW1w
IHNwYWNlIA0KLSAqCWJldHdlZW4gdGhlIGluY29taW5nIEFQVXMgYW5kIHRo
ZSByYXRlIGNvbnZlcnRlcnMuDQorICoJRm9yIHJlY29yZCB3ZSBzdGlsbCB1
c2UgdGhlIG9sZCBvdmVybHkgbW9ubyBzeXN0ZW0uICBGb3IgZWFjaCBpbg0K
KyAqCWNvbWluZyBjaGFubmVsIHRoZSBkYXRhIGNvbWVzIGluIGZyb20gdGhl
IGNvZGVjLCB0aHJvdWdoIGEgJ2lucHV0Jw0KKyAqCUFQVSwgdGhyb3VnaCBh
bm90aGVyIHJhdGUgY29udmVydGVyIEFQVSwgYW5kIHRoZW4gaW50byBtZW1v
cnkgdmlhDQorICoJdGhlIHdhdmVjYWNoZSBhbmQgUENJLiAgSWYgaXRzIHN0
ZXJlbywgd2UgbWFzaCBpdCBiYWNrIGludG8gTFJMUiBpbg0KKyAqCXNvZnR3
YXJlLiAgVGhlIHBhc3MgYmV0d2VlbiB0aGUgMiBBUFVzIGlzIHN1cHBvc2Vk
bHkgd2hhdCByZXF1aXJlcyB1cw0KKyAqCXRvIGhhdmUgYSA1MTIgYnl0ZSBi
dWZmZXIgc2l0dGluZyBhcm91bmQgaW4gd2F2ZWNhY2hlL21lbW9yeS4NCiAg
Kg0KICAqCVRoZSB3YXZlY2FjaGUgbWFrZXMgb3VyIGxpZmUgZXZlbiBtb3Jl
IGZ1bi4gIEZpcnN0IG9mZiwgaXQgY2FuDQogICoJb25seSBhZGRyZXNzIHRo
ZSBmaXJzdCAyOCBiaXRzIG9mIFBDSSBhZGRyZXNzIHNwYWNlLCBtYWtpbmcg
aXQNCkBAIC0xMTMsOSArMTA3LDE5IEBADQogICoJc2ltaWxhci4NCiAgKgkN
CiAgKiBIaXN0b3J5DQorICogIHYwLjEzIC0gTm92IDE4IDE5OTkgLSBaYWNo
IEJyb3duIDx6YWJAcmVkaGF0LmNvbT4NCisgKglmaXggbmVjIFZlcnNhcz8g
IG1hbiB3b3VsZCB0aGF0IGJlIGNvb2wuDQorICogIHYwLjEyIC0gTm92IDEy
IDE5OTkgLSBaYWNoIEJyb3duIDx6YWJAcmVkaGF0LmNvbT4NCisgKglicm93
biBiYWcgdm9sdW1lIG1heCBmaXguLg0KKyAqICB2MC4xMSAtIE5vdiAxMSAx
OTk5IC0gWmFjaCBCcm93biA8emFiQHJlZGhhdC5jb20+DQorICoJdXNlIHBy
b3BlciBzdGVyZW8gYXB1IGRlY29kaW5nLCBtbWFwL3dyaXRlIHNob3VsZCB3
b3JrLg0KKyAqCW1ha2Ugdm9sdW1lIHNsaWRlcnMgbW9yZSB1c2VmdWwsIHR3
ZWFrIHJhdGUgY2FsY3VsYXRpb24uDQorICoJZml4IGxhbWUgOGJpdCBmb3Jt
YXQgcmVwb3J0aW5nIGJ1Zy4gIGR1aC4gYXBtIGFwdSBzYXZpbmcgYnVnbGV0
IGFsc28NCisgKglmaXggbWFlc3RybyAxIGNsb2NrIGZyZXEgImJ1ZyIsIHJl
bW92ZSBwdDEwMSBzdXBwb3J0DQogICogIHYwLjEwIC0gT2N0IDI4IDE5OTkg
LSBaYWNoIEJyb3duIDx6YWJAcmVkaGF0LmNvbT4NCiAgKglhaGEsIHNvLCBz
b21ldGltZXMgdGhlIFdQIHdyaXRlcyBhIHN0YXR1cyB3b3JkIHRvIG9mZnNl
dCAwDQogICoJICBmcm9tIG9uZSBvZiB0aGUgUENNQkFScy4gIHJlYXJyYW5n
ZSBhbGxvY2F0aW9uIGFjY29yZGluZ2x5Li4NCisgKgkgIGNoZWVycyBhZ2Fp
biB0byBFcmljIGZvciBiZWluZyBhIGdvb2QgaGFja2VyIGluIGludmVzdGln
YXRpbmcgdGhpcy4NCiAgKglKZXJvZW4gSG9vZ2Vydm9yc3Qgc3VibWl0cyA3
NTAwIGZpeCBvdXQgb2Ygbm93aGVyZS4gIHlheS4gIDopDQogICogIHYwLjA5
IC0gT2N0IDIzIDE5OTkgLSBaYWNoIEJyb3duIDx6YWJAcmVkaGF0LmNvbT4N
CiAgKglhZGRlZCBBUE0gc3VwcG9ydC4NCkBAIC0xNTksMTYgKzE2MywxMiBA
QA0KICAqDQogICogVE9ETw0KICAqCXNvbWUgcGVvcGxlIGdldCBpbmRpciBy
ZWcgdGltZW91dHM/DQotICoJYW55b25lIGhhdmUgYSBwdDEwMSBjb2RlYz8N
Ci0gKgltbWFwKCksIGJ1dCBiZXdhcmUgc3RlcmVvIGVuY29kaW5nIG5hc3Rp
bmVzcy4NCi0gKglhY3R1YWxseSBwb3N0IHBjaSB3cml0ZXMNCiAgKglmaXgg
Ym9iIGZyZXF1ZW5jeQ0KKyAqCWVuZGlhbm5lc3MNCiAgKglkbyBzbWFydCB0
aGluZ3Mgd2l0aCBhYzk3IDIuMCBiaXRzLg0KLSAqCXVnaC4uIG5vbiBhbGln
bmVkIHdyaXRlcyBpbiB0aGUgbWlkZGxlIG9mIGEgZGF0YSBzdHJlYW0uLiB1
Z2gNCi0gKglzb3J0IG91dCAweDM0LT4weDM2IGNyYXAgaW4gaW5pdA0KICAq
CWRvY2tpbmcgYW5kIGR1YWwgY29kZWNzIGFuZCA5Nzg/DQotICoJcGNtX3N5
bmM/DQotICoJYWN0dWFsbHkgdXNlIExSTFINCisgKglsZWF2ZSA1NC0+NjEg
b3Blbg0KKyAqCXJlc29sdmUgMi4zLzIuMiBzdHVmZg0KICAqDQogICoJaXQg
YWxzbyB3b3VsZCBiZSBmdW4gdG8gaGF2ZSBhIG1vZGUgdGhhdCB3b3VsZCBu
b3QgdXNlIHBjaSBkbWEgYXQgYWxsDQogICoJYnV0IHdvdWxkIGNvcHkgaW50
byB0aGUgd2F2ZWNhY2hlIG9uIGJvYXJkIG1lbW9yeSBhbmQgdXNlIHRoYXQg
DQpAQCAtMTg5LDEyICsxODksMTQgQEANCiAgI2RlZmluZSBTSUxMWV9JTklU
X1NFTShTRU0pIFNFTT1NVVRFWDsNCiAgI2RlZmluZSBpbml0X3dhaXRxdWV1
ZV9oZWFkIGluaXRfd2FpdHF1ZXVlDQogICNkZWZpbmUgU0lMTFlfTUFLRV9J
TklUKEZVTkMpIF9faW5pdGZ1bmMoRlVOQykNCisgI2RlZmluZSBTSUxMWV9P
RkZTRVQoVk1BKSAoKFZNQSktPnZtX29mZnNldCkNCiANCiAjZWxzZQ0KIA0K
ICAjZGVmaW5lIFNJTExZX1BDSV9CQVNFX0FERFJFU1MoUENJREVWKSAoUENJ
REVWLT5yZXNvdXJjZVswXS5zdGFydCkNCiAgI2RlZmluZSBTSUxMWV9JTklU
X1NFTShTRU0pIGluaXRfTVVURVgoJlNFTSkNCiAgI2RlZmluZSBTSUxMWV9N
QUtFX0lOSVQoRlVOQykgX19pbml0IEZVTkMNCisgI2RlZmluZSBTSUxMWV9P
RkZTRVQoVk1BKSAoKFZNQSktPnZtX3Bnb2ZmKQ0KIA0KICNlbmRpZg0KIA0K
QEAgLTI0MSw3ICsyNDMsNyBAQA0KICNlbmRpZg0KIA0KIC8qIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSAqLw0KLSNkZWZpbmUgRFJJVkVSX1ZFUlNJT04g
IjAuMTAiDQorI2RlZmluZSBEUklWRVJfVkVSU0lPTiAiMC4xMyINCiANCiAj
aWZuZGVmIFBDSV9WRU5ET1JfRVNTDQogI2RlZmluZSBQQ0lfVkVORE9SX0VT
UwkJCTB4MTI1RA0KQEAgLTI1Niw2ICsyNTgsMTAgQEANCiANCiAjZGVmaW5l
IEVTU19DSEFOX0hBUkQJCTB4MTAwDQogDQorLyogTkVDIFZlcnNhcyA/ICov
DQorI2RlZmluZSBORUNfVkVSU0FfU1VCSUQxCTB4ODA1ODEwMzMNCisjZGVm
aW5lIE5FQ19WRVJTQV9TVUJJRDIJMHg4MDNjMTAzMw0KKw0KIA0KIC8qIGNo
YW5nZWQgc28gdGhhdCBJIGNvdWxkIGFjdHVhbGx5IGZpbmQgYWxsIHRoZQ0K
IAlyZWZlcmVuY2VzIGFuZCBmaXggdGhlbSB1cC4gIGl0cyBhIGxpdHRsZSBt
b3JlIHJlYWRhYmxlIG5vdy4gKi8NCkBAIC0yNzEsOCArMjc3LDggQEANCiAj
ZGVmaW5lIERBQ19SVU5OSU5HCQkxDQogI2RlZmluZSBBRENfUlVOTklORwkJ
Mg0KIA0KLSNkZWZpbmUgTUFYX0RTUF9PUkRFUgkzDQotI2RlZmluZSBNQVhf
RFNQUwkoMTw8MykNCisjZGVmaW5lIE1BWF9EU1BfT1JERVIJMg0KKyNkZWZp
bmUgTUFYX0RTUFMJKDE8PE1BWF9EU1BfT1JERVIpDQogI2RlZmluZSBOUl9E
U1BTCQkoMTw8ZHNwc19vcmRlcikNCiAjZGVmaW5lIE5SX0lEUlMJCTMyDQog
DQpAQCAtMjk2LDYgKzMwMiwxMSBAQA0KIAlbVFlQRV9NQUVTVFJPMkVdID0g
IkVTUyBNYWVzdHJvIDJFIg0KIH07DQogDQorc3RhdGljIGludCBjbG9ja19m
cmVxW109ew0KKwlbVFlQRV9NQUVTVFJPXSA9ICg0OTE1MjAwMEwgLyAxMDI0
TCksDQorCVtUWVBFX01BRVNUUk8yXSA9ICg1MDAwMDAwMEwgLyAxMDI0TCks
DQorCVtUWVBFX01BRVNUUk8yRV0gPSAoNTAwMDAwMDBMIC8gMTAyNEwpDQor
fTsNCiANCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiANCkBA
IC01MjEsNyArNTMyLDcgQEANCiAJW1NPVU5EX01JWEVSX0JBU1NdID0gICAg
ICAgICAgICAweDMyMzIsDQogCVtTT1VORF9NSVhFUl9UUkVCTEVdID0gICAg
ICAgICAgMHgzMjMyLA0KIAlbU09VTkRfTUlYRVJfU1BFQUtFUl0gPSAgICAg
ICAgIDB4MzIzMiwNCi0JW1NPVU5EX01JWEVSX01JQ10gPSAgICAgMHgzMjMy
LA0KKwlbU09VTkRfTUlYRVJfTUlDXSA9ICAgICAweDgwMDAsIC8qIGFubm95
aW5nICovDQogCVtTT1VORF9NSVhFUl9MSU5FXSA9ICAgIDB4MzIzMiwNCiAJ
W1NPVU5EX01JWEVSX0NEXSA9ICAgICAgMHgzMjMyLA0KIAlbU09VTkRfTUlY
RVJfVklERU9dID0gICAweDMyMzIsDQpAQCAtNTk5LDYgKzYxMCwyMyBAQA0K
IC8qIHdyaXRlIHRoZSBPU1MgZW5jb2RlZCB2b2x1bWUgdG8gdGhlIGdpdmVu
IE9TUyBlbmNvZGVkIG1peGVyLA0KIAlhZ2FpbiBjYWxsZXIncyBqb2IgdG8g
bWFrZSBzdXJlIGFsbCBpcyB3ZWxsIGluIGFyZyBsYW5kLA0KIAljYWxsIHdp
dGggc3BpbmxvY2sgaGVsZCAqLw0KKwkNCisvKiBsaW5lYXIgc2NhbGUgLT4g
bG9nICovDQordW5zaWduZWQgY2hhciBsaW4ybG9nWzEwMV0gPSANCit7DQor
MCwgMCAsIDE1ICwgMjMgLCAzMCAsIDM0ICwgMzggLCA0MiAsIDQ1ICwgNDcg
LA0KKzUwICwgNTIgLCA1MyAsIDU1ICwgNTcgLCA1OCAsIDYwICwgNjEgLCA2
MiAsDQorNjMgLCA2NSAsIDY2ICwgNjcgLCA2OCAsIDY5ICwgNjkgLCA3MCAs
IDcxICwNCis3MiAsIDczICwgNzMgLCA3NCAsIDc1ICwgNzUgLCA3NiAsIDc3
ICwgNzcgLA0KKzc4ICwgNzggLCA3OSAsIDgwICwgODAgLCA4MSAsIDgxICwg
ODIgLCA4MiAsDQorODMgLCA4MyAsIDg0ICwgODQgLCA4NCAsIDg1ICwgODUg
LCA4NiAsIDg2ICwNCis4NyAsIDg3ICwgODcgLCA4OCAsIDg4ICwgODggLCA4
OSAsIDg5ICwgODkgLA0KKzkwICwgOTAgLCA5MCAsIDkxICwgOTEgLCA5MSAs
IDkyICwgOTIgLCA5MiAsDQorOTMgLCA5MyAsIDkzICwgOTQgLCA5NCAsIDk0
ICwgOTQgLCA5NSAsIDk1ICwNCis5NSAsIDk1ICwgOTYgLCA5NiAsIDk2ICwg
OTYgLCA5NyAsIDk3ICwgOTcgLA0KKzk3ICwgOTggLCA5OCAsIDk4ICwgOTgg
LCA5OSAsIDk5ICwgOTkgLCA5OSAsIDk5IA0KK307DQorDQogc3RhdGljIHZv
aWQgYWM5N193cml0ZV9taXhlcihzdHJ1Y3QgZXNzX2NhcmQgKmNhcmQsaW50
IG1peGVyLCB1bnNpZ25lZCBpbnQgbGVmdCwgdW5zaWduZWQgaW50IHJpZ2h0
KQ0KIHsNCiAJdTE2IHZhbD0wOw0KQEAgLTYxNCwxMiArNjQyLDEzIEBADQog
CQkJcmlnaHQgPSAocmlnaHQgKiBtaC0+c2NhbGUpIC8gMTAwOw0KIAkJCWxl
ZnQgPSAobGVmdCAqIG1oLT5zY2FsZSkgLyAxMDA7DQogCQkJaWYgKChsZWZ0
ID09IDApICYmIChyaWdodCA9PSAwKSkNCi0JCQkJdmFsIHw9IDB4ODAwMDsg
DQotCQl9IGVsc2Ugew0KLQkJCXJpZ2h0ID0gKCgxMDAgLSByaWdodCkgKiBt
aC0+c2NhbGUpIC8gMTAwOw0KLQkJCWxlZnQgPSAoKDEwMCAtIGxlZnQpICog
bWgtPnNjYWxlKSAvIDEwMDsNCi0JCQlpZigobGVmdCA9PSBtaC0+c2NhbGUp
ICYmIChyaWdodCA9PSBtaC0+c2NhbGUpKQ0KIAkJCQl2YWwgfD0gMHg4MDAw
Ow0KKwkJfSBlbHNlIHsNCisJCQkvKiBsb2cgY29udmVyc2lvbiBmb3IgdGhl
IHN0ZXJlbyBjb250cm9scyAqLw0KKwkJCWlmKChsZWZ0ID09IDApICYmIChy
aWdodCA9PSAwKSkNCisJCQkJdmFsID0gMHg4MDAwOw0KKwkJCXJpZ2h0ID0g
KCgxMDAgLSBsaW4ybG9nW3JpZ2h0XSkgKiBtaC0+c2NhbGUpIC8gMTAwOw0K
KwkJCWxlZnQgPSAoKDEwMCAtIGxpbjJsb2dbbGVmdF0pICogbWgtPnNjYWxl
KSAvIDEwMDsNCiAJCX0NCiANCiAJCXZhbCB8PSAobGVmdCA8PCA4KSB8IHJp
Z2h0Ow0KQEAgLTc3Miw2ICs4MDEsOCBAQA0KIAlyZXR1cm4gMDsNCiB9DQog
DQorI2lmIDAgIC8qIHRoZXJlIGhhcyBiZWVuIDEgcGVyc29uIG9uIHRoZSBw
bGFuZXQgd2l0aCBhIHB0MTAxIHRoYXQgd2UNCisJa25vdyBvZi4gIElmIHRo
ZXkgY2FyZSwgdGhleSBjYW4gcHV0IHRoaXMgYmFjayBpbiA6KSAqLw0KIHN0
YXRpYyB1MTYgbWFlc3Ryb19wdDEwMV9pbml0KHN0cnVjdCBlc3NfY2FyZCAq
Y2FyZCxpbnQgaW9iYXNlKQ0KIHsNCiAJcHJpbnRrKEtFUk5fSU5GTyAibWFl
c3RybzogUFQxMDEgQ29kZWMgZGV0ZWN0ZWQsIGluaXRpYWxpemluZyBidXQg
X25vdF8gaW5zdGFsbGluZyBtaXhlciBkZXZpY2UuXG4iKTsNCkBAIC03OTIs
NiArODIzLDcgQEANCiAJbWFlc3Ryb19hYzk3X3NldChpb2Jhc2UsIDB4MEUs
IDB4ODAxRik7DQogCXJldHVybiAwOw0KIH0NCisjZW5kaWYNCiANCiAvKiB0
aGlzIGlzIHZlcnkgbWFnaWMsIGFuZCB2ZXJ5IHNsb3cuLiAqLw0KIHN0YXRp
YyB2b2lkIA0KQEAgLTc5OSw2ICs4MzEsNyBAQA0KIHsNCiAJdTE2IHNhdmVf
Njg7DQogCXUxNiB3Ow0KKwl1MzIgdmVuZDsNCiANCiAJb3V0dyggaW53KGlv
YWRkciArIDB4MzgpICYgMHhmZmZjLCBpb2FkZHIgKyAweDM4KTsNCiAJb3V0
dyggaW53KGlvYWRkciArIDB4M2EpICYgMHhmZmZjLCBpb2FkZHIgKyAweDNh
KTsNCkBAIC04MDgsNiArODQxLDcgQEANCiAJb3V0dygweDAwMDAsICBpb2Fk
ZHIrMHgzNik7DQogCXNhdmVfNjggPSBpbncoaW9hZGRyKzB4NjgpOw0KIAlw
Y2lfcmVhZF9jb25maWdfd29yZChwY2lkZXYsIDB4NTgsICZ3KTsJLyogc29t
ZXRoaW5nIG1hZ2ljYWwgd2l0aCBncGlvIGFuZCBidXMgYXJiLiAqLw0KKwlw
Y2lfcmVhZF9jb25maWdfZHdvcmQocGNpZGV2LCBQQ0lfU1VCU1lTVEVNX1ZF
TkRPUl9JRCwgJnZlbmQpOw0KIAlpZiggdyAmIDB4MSkNCiAJCXNhdmVfNjgg
fD0gMHgxMDsNCiAJb3V0dygweGZmZmUsIGlvYWRkciArIDB4NjQpOwkvKiB0
aWNrbHkgZ3BpbyAwLi4gKi8NCkBAIC04NjEsNiArODk1LDEyIEBADQogCQl9
DQogCX0NCiAjZW5kaWYNCisJaWYgKCB2ZW5kID09IE5FQ19WRVJTQV9TVUJJ
RDEgfHwgdmVuZCA9PSBORUNfVkVSU0FfU1VCSUQyKSB7DQorCQkvKiB0dXJu
IG9uIGV4dGVybmFsIGFtcD8gKi8NCisJCW91dHcoMHhmOWZmLCBpb2FkZHIg
KyAweDY0KTsNCisJCW91dHcoaW53KGlvYWRkcisweDY4KSB8IDB4NjAwLCBp
b2FkZHIgKyAweDY4KTsNCisJCW91dHcoMHgwMjA5LCBpb2FkZHIgKyAweDYw
KTsNCisJfQ0KIH0NCiAvKg0KICAqCUluZGlyZWN0IHJlZ2lzdGVyIGFjY2Vz
cy4gTm90IGFsbCByZWdpc3RlcnMgYXJlIHJlYWRhYmxlIHNvIHdlDQpAQCAt
MTA2NSwxMyArMTEwNSwxMiBAQA0KIC8qIHNldHMgdGhlIHBsYXkgZm9ybWF0
cyBvZiB0aGVzZSBhcHVzLCBzaG91bGQgYmUgcGFzc2VkIHRoZSBhbHJlYWR5
IHNoaWZ0ZWQgZm9ybWF0ICovDQogc3RhdGljIHZvaWQgc2V0X2FwdV9mbXQo
c3RydWN0IGVzc19zdGF0ZSAqcywgaW50IGFwdSwgaW50IG1vZGUpDQogew0K
LQlpZihtb2RlJkVTU19GTVRfMTZCSVQpIHsgDQotCQlzLT5hcHVfbW9kZVth
cHVdID0gMHgxMDsNCi0JCXMtPmFwdV9tb2RlW2FwdSsxXSA9IDB4MTA7DQot
CX0gZWxzZSB7DQotCQlzLT5hcHVfbW9kZVthcHVdID0gMHgzMDsNCi0JCXMt
PmFwdV9tb2RlW2FwdSsxXSA9IDB4MzA7DQotCX0NCisJaW50IGFwdV9mbXQg
PSAweDEwOw0KKw0KKwlpZighKG1vZGUmRVNTX0ZNVF8xNkJJVCkpIGFwdV9m
bXQrPTB4MjA7IA0KKwlpZigobW9kZSZFU1NfRk1UX1NURVJFTykpIGFwdV9m
bXQrPTB4MTA7IA0KKwlzLT5hcHVfbW9kZVthcHVdICAgPSBhcHVfZm10Ow0K
KwlzLT5hcHVfbW9kZVthcHUrMV0gPSBhcHVfZm10Ow0KIH0NCiANCiAvKiB0
aGlzIG9ubHkgZml4ZXMgdGhlIG91dHB1dCBhcHUgbW9kZSB0byBiZSBsYXRl
ciBzZXQgYnkgc3RhcnRfZGFjIGFuZA0KQEAgLTEwODIsMTggKzExMjEsMjEg
QEANCiAJc2V0X2FwdV9mbXQocywgMCwgKHMtPmZtdCA+PiBFU1NfREFDX1NI
SUZUKSAmIEVTU19GTVRfTUFTSyk7DQogfQ0KIA0KLXN0YXRpYyB1MTYgY29t
cHV0ZV9yYXRlKHUzMiBmcmVxKQ0KKy8qIHRoaXMgaXMgb2ZmIGJ5IGEgbGl0
dGxlIGJpdC4uICovDQorc3RhdGljIHUzMiBjb21wdXRlX3JhdGUoc3RydWN0
IGVzc19zdGF0ZSAqcywgdTMyIGZyZXEpDQogew0KLQlpZihmcmVxPT00ODAw
MCkNCi0JCXJldHVybiAweEZGRkY7DQotCWZyZXE8PD0xNjsNCi0JZnJlcS89
NDgwMDA7DQotCXJldHVybiBmcmVxOw0KKwl1MzIgY2xvY2sgPSBjbG9ja19m
cmVxW3MtPmNhcmQtPmNhcmRfdHlwZV07ICAgICANCisNCisJaWYgKGZyZXEg
PT0gNDgwMDApIHJldHVybiAweDEwMDAwOw0KKw0KKwlyZXR1cm4gKChmcmVx
IC8gY2xvY2spIDw8MTYgKSsgIA0KKwkJKCgoZnJlcSAlIGNsb2NrKSA8PCAx
NikgLyBjbG9jayk7DQogfQ0KIA0KLXN0YXRpYyB2b2lkIHNldF9kYWNfcmF0
ZShzdHJ1Y3QgZXNzX3N0YXRlICpzLCB1bnNpZ25lZCByYXRlKQ0KK3N0YXRp
YyB2b2lkIHNldF9kYWNfcmF0ZShzdHJ1Y3QgZXNzX3N0YXRlICpzLCB1bnNp
Z25lZCBpbnQgcmF0ZSkNCiB7DQogCXUzMiBmcmVxOw0KKwlpbnQgZm10ID0g
KHMtPmZtdCA+PiBFU1NfREFDX1NISUZUKSAmIEVTU19GTVRfTUFTSzsNCiAN
CiAJaWYgKHJhdGUgPiA0ODAwMCkNCiAJCXJhdGUgPSA0ODAwMDsNCkBAIC0x
MTAyLDEyICsxMTQ0LDEyIEBADQogDQogCXMtPnJhdGVkYWMgPSByYXRlOw0K
IA0KLQlpZighKChzLT5mbXQgPj4gRVNTX0RBQ19TSElGVCkgJiBFU1NfRk1U
XzE2QklUKSkNCi0JCXJhdGUgPj49IDE7IC8qIHdobyBrbm93cyAqLw0KKwlp
ZighIChmbXQgJiBFU1NfRk1UXzE2QklUKSAmJiAhKGZtdCAmIEVTU19GTVRf
U1RFUkVPKSkNCisJCXJhdGUgPj49IDE7DQogDQogLyoJTV9wcmludGsoImNv
bXB1dGluZyBkYWMgcmF0ZSAlZCB3aXRoIG1vZGUgJWRcbiIscmF0ZSxzLT5m
bXQpOyovDQogDQotCWZyZXEgPSBjb21wdXRlX3JhdGUocmF0ZSk7DQorCWZy
ZXEgPSBjb21wdXRlX3JhdGUocywgcmF0ZSk7DQogCQ0KIAkvKiBMb2FkIHRo
ZSBmcmVxdWVuY3ksIHR1cm4gb24gNmRCICovDQogCWFwdV9zZXRfcmVnaXN0
ZXIocywgMCwgMiwoYXB1X2dldF9yZWdpc3RlcihzLCAwLCAyKSYweDAwRkYp
fA0KQEAgLTExMjIsMTQgKzExNjQsMTUgQEANCiB7DQogCXUzMiBmcmVxOw0K
IA0KLQlpZiAocmF0ZSA+IDQ4MDAwKQ0KLQkJcmF0ZSA9IDQ4MDAwOw0KKwkv
KiBTYW1wbGUgUmF0ZSBjb252ZXJzaW9uIEFQVXMgZG9uJ3QgbGlrZSAweDEw
MDAwIGZvciB0aGVpciByYXRlICovDQorCWlmIChyYXRlID4gNDc5OTkpDQor
CQlyYXRlID0gNDc5OTk7DQogCWlmIChyYXRlIDwgNDAwMCkNCiAJCXJhdGUg
PSA0MDAwOw0KIA0KIAlzLT5yYXRlYWRjID0gcmF0ZTsNCiANCi0JZnJlcSA9
IGNvbXB1dGVfcmF0ZShyYXRlKTsNCisJZnJlcSA9IGNvbXB1dGVfcmF0ZShz
LCByYXRlKTsNCiAJDQogCS8qIExvYWQgdGhlIGZyZXF1ZW5jeSwgdHVybiBv
biA2ZEIgKi8NCiAJYXB1X3NldF9yZWdpc3RlcihzLCAyLCAyLChhcHVfZ2V0
X3JlZ2lzdGVyKHMsIDIsIDIpJjB4MDBGRil8DQpAQCAtMTIzNCwyNyArMTI3
NywyMSBAQA0KIAkvKiBhbGwgbWFlc3RybyBzaXplcyBhcmUgaW4gMTZiaXQg
d29yZHMgKi8NCiAJc2l6ZSA+Pj0xOw0KIA0KLQkvKiB3ZSdyZSBnaXZlbiB0
aGUgZnVsbCBzaXplIG9mIHRoZSBidWZmZXIsIGJ1dA0KLQlpbiBzdGVyZW8g
ZWFjaCBjaGFubmVsIHdpbGwgb25seSBwbGF5IGl0cyBoYWxmICovDQogCWlm
KG1vZGUmRVNTX0ZNVF9TVEVSRU8pIHsNCi0JCXNpemUgPj49MTsgDQogCQlo
aWdoX2FwdSsrOw0KKwkJLyogb25seSAxNi9zdGVyZW8gZ2V0cyBzaXplIGRp
dmlkZWQgKi8NCisJCWlmKG1vZGUmRVNTX0ZNVF8xNkJJVCkNCisJCQlzaXpl
Pj49MTsNCiAJfQ0KIAkNCiAJZm9yKGNoYW5uZWw9MDsgY2hhbm5lbCA8PSBo
aWdoX2FwdTsgY2hhbm5lbCsrKQ0KIAl7DQotCQlpbnQgaTsNCi0JCQ0KLQkJ
aWYoIWNoYW5uZWwpIA0KLQkJCXBhID0gdmlydF90b19idXMoYnVmZmVyKTsN
Ci0JCWVsc2UNCi0JCS8qIHJpZ2h0IGNoYW5uZWwgcGxheXMgaXRzIHNwbGl0
IGhhbGYuDQotCQkJKjIgYWNjb21vZGF0ZXMgZm9yIHJhbXBhbnQgc2hpZnRp
bmcgZWFybGllciAqLw0KLQkJCXBhID0gdmlydF90b19idXMoYnVmZmVyICsg
c2l6ZSoyKTsNCisJCXBhID0gdmlydF90b19idXMoYnVmZmVyKTsNCiANCiAJ
CS8qIHNldCB0aGUgd2F2ZWNhY2hlIGNvbnRyb2wgcmVnICovDQogCQl0bXB2
YWwgPSAocGEgLSAweDEwKSAmIDB4RkZGODsNCi0JCWlmKCEobW9kZSAmIDIp
KSB0bXB2YWwgfD0gNDsgLyogOGJpdCAqLyANCisJCWlmKCEobW9kZSAmIEVT
U19GTVRfMTZCSVQpKSB0bXB2YWwgfD0gNDsNCisJCWlmKG1vZGUgJiBFU1Nf
Rk1UX1NURVJFTykgdG1wdmFsIHw9IDI7DQogCQllc3MtPmFwdV9iYXNlW2No
YW5uZWxdPXRtcHZhbDsNCiAJCXdhdmVfc2V0X3JlZ2lzdGVyKGVzcywgZXNz
LT5hcHVbY2hhbm5lbF08PDMsIHRtcHZhbCk7DQogCQkNCkBAIC0xMjYyLDE0
ICsxMjk5LDE3IEBADQogCQlwYT4+PTE7IC8qIHdvcmRzICovDQogCQkNCiAJ
CS8qIGJhc2Ugb2Zmc2V0IG9mIGRtYSBjYWxjcyB3aGVuIHJlYWRpbmcgdGhl
IHBvaW50ZXINCi0JCQlvbiB0aGlzIGxlZnQgb25lICovDQorCQkJb24gdGhl
IGxlZnQgb25lICovDQogCQlpZighY2hhbm5lbCkgZXNzLT5kbWFfZGFjLmJh
c2UgPSBwYSYweEZGRkY7DQogCQkNCiAJCXBhfD0weDAwNDAwMDAwOwkJCS8q
IFN5c3RlbSBSQU0gKi8NCi0JCQ0KLQkJLyogQmVnaW4gbG9hZGluZyB0aGUg
QVBVICovCQkNCi0JCWZvcihpPTA7aTwxNTtpKyspCQkvKiBjbGVhciBhbGwg
UEJScyAqLw0KLQkJCWFwdV9zZXRfcmVnaXN0ZXIoZXNzLCBjaGFubmVsLCBp
LCAweDAwMDApOw0KKw0KKwkJLyogWFhYIHRoZSAxNmJpdCBoZXJlIG1pZ2h0
IG5vdCBiZSBuZWVkZWQuLiAqLw0KKwkJaWYoKG1vZGUgJiBFU1NfRk1UX1NU
RVJFTykgJiYgKG1vZGUgJiBFU1NfRk1UXzE2QklUKSkgew0KKwkJCWlmKGNo
YW5uZWwpIA0KKwkJCQlwYXw9MHgwMDgwMDAwMDsJCQkvKiBTdGVyZW8gKi8N
CisJCQlwYT4+PTE7DQorCQl9DQogCQkJDQogLyogWFhYIHRoaW5rIGFib3V0
IGVuZGlhbmVzcyB3aGVuIHdyaXRpbmcgdGhlc2UgcmVnaXN0ZXJzICovDQog
CQlNX3ByaW50aygibWFlc3RybzogZXNzX3BsYXlfc2V0dXA6IEFQVVslZF0g
cGEgPSAweCV4XG4iLCBlc3MtPmFwdVtjaGFubmVsXSwgcGEpOw0KQEAgLTEy
OTAsMTYgKzEzMzAsMTcgQEANCiAJCS8qIGRtYSBvbiwgbm8gZW52ZWxvcGVz
LCBmaWx0ZXIgdG8gYWxsIDFzKSAqLw0KIAkJYXB1X3NldF9yZWdpc3Rlcihl
c3MsIGNoYW5uZWwsIDAsIDB4NDAwRik7DQogCQkNCi0JCWlmKG1vZGUmRVNT
X0ZNVF9TVEVSRU8pDQotCQkJLyogc2V0IHBhbm5pbmc6IGxlZnQgb3Igcmln
aHQgKi8NCi0JCQlhcHVfc2V0X3JlZ2lzdGVyKGVzcywgY2hhbm5lbCwgMTAs
IDB4OEYwMCB8IChjaGFubmVsID8gMHgxMCA6IDApKTsNCi0JCWVsc2UNCi0J
CQlhcHVfc2V0X3JlZ2lzdGVyKGVzcywgY2hhbm5lbCwgMTAsIDB4OEYwOCk7
DQotDQogCQlpZihtb2RlJkVTU19GTVRfMTZCSVQpDQogCQkJZXNzLT5hcHVf
bW9kZVtjaGFubmVsXT0weDEwOw0KIAkJZWxzZQ0KIAkJCWVzcy0+YXB1X21v
ZGVbY2hhbm5lbF09MHgzMDsNCisNCisJCWlmKG1vZGUmRVNTX0ZNVF9TVEVS
RU8pIHsNCisJCQkvKiBzZXQgcGFubmluZzogbGVmdCBvciByaWdodCAqLw0K
KwkJCWFwdV9zZXRfcmVnaXN0ZXIoZXNzLCBjaGFubmVsLCAxMCwgMHg4RjAw
IHwgKGNoYW5uZWwgPyAweDEwIDogMCkpOw0KKwkJCWVzcy0+YXB1X21vZGVb
Y2hhbm5lbF0gKz0gMHgxMDsNCisJCX0gZWxzZQ0KKwkJCWFwdV9zZXRfcmVn
aXN0ZXIoZXNzLCBjaGFubmVsLCAxMCwgMHg4RjA4KTsNCiAJfQ0KIAkNCiAJ
LyogY2xlYXIgV1AgaW50ZXJ1cHRzICovDQpAQCAtMTY2MCwyOSArMTcwMSwy
MCBAQA0KIGNsZWFyX2FkdmFuY2Uoc3RydWN0IGVzc19zdGF0ZSAqcykNCiB7
DQogCXVuc2lnbmVkIGNoYXIgYyA9ICgocy0+Zm10ID4+IEVTU19EQUNfU0hJ
RlQpICYgRVNTX0ZNVF8xNkJJVCkgPyAwIDogMHg4MDsNCisJDQogCXVuc2ln
bmVkIGNoYXIgKmJ1ZiA9IHMtPmRtYV9kYWMucmF3YnVmOw0KIAl1bnNpZ25l
ZCBic2l6ZSA9IHMtPmRtYV9kYWMuZG1hc2l6ZTsNCi0JLyogc3dwdHIgaXMg
YWx3YXlzIGluIGJ5dGVzIGFzIHJlYWQgZnJvbSBhbiBhcHUuLiAqLw0KIAl1
bnNpZ25lZCBicHRyID0gcy0+ZG1hX2RhYy5zd3B0cjsNCiAJdW5zaWduZWQg
bGVuID0gcy0+ZG1hX2RhYy5mcmFnc2l6ZTsNCi0JaW50IGk9MTsNCi0NCi0J
aWYoKHMtPmZtdCA+PiBFU1NfREFDX1NISUZUKSAgJiBFU1NfRk1UX1NURVJF
Tykgew0KLQkJaSsrOw0KLQkJYnNpemUgPj49MTsNCi0JfQ0KLQkJDQotCWZv
ciAoIDtpOyBpLS0gLCBidWYgKz0gYnNpemUpIHsNCi0NCi0JCWlmIChicHRy
ICsgbGVuID4gYnNpemUpIHsNCi0JCQl1bnNpZ25lZCB4ID0gYnNpemUgLSBi
cHRyOw0KLQkJCW1lbXNldChidWYgKyBicHRyLCBjLCB4KTsNCi0JCQkvKiBh
Y2NvdW50IGZvciB3cmFwcGluZz8gKi8NCi0JCQlicHRyID0gMDsNCi0JCQls
ZW4gLT0geDsNCi0JCX0NCi0JCW1lbXNldChidWYgKyBicHRyLCBjLCBsZW4p
Ow0KKwkNCisJaWYgKGJwdHIgKyBsZW4gPiBic2l6ZSkgew0KKwkJdW5zaWdu
ZWQgeCA9IGJzaXplIC0gYnB0cjsNCisJCW1lbXNldChidWYgKyBicHRyLCBj
LCB4KTsNCisJCS8qIGFjY291bnQgZm9yIHdyYXBwaW5nPyAqLw0KKwkJYnB0
ciA9IDA7DQorCQlsZW4gLT0geDsNCiAJfQ0KKwltZW1zZXQoYnVmICsgYnB0
ciwgYywgbGVuKTsNCiB9DQogDQogLyogY2FsbCB3aXRoIHNwaW5sb2NrIGhl
bGQhICovDQpAQCAtMTcyNSw4ICsxNzU3LDEzIEBADQogCX0NCiAJLyogdXBk
YXRlIERBQyBwb2ludGVyICovDQogCWlmIChzLT5kbWFfZGFjLnJlYWR5KSB7
DQotCQkvKiB0aGlzIGlzIHNvIGdyb3NzLiAgKi8NCi0JCWh3cHRyID0gKC8q
cy0+ZG1hX2RhYy5kbWFzaXplIC0qLyBnZXRfZG1hYShzKSkgJSBzLT5kbWFf
ZGFjLmRtYXNpemU7IA0KKwkJaHdwdHIgPSBnZXRfZG1hYShzKSAlIHMtPmRt
YV9kYWMuZG1hc2l6ZTsgDQorCQkvKiB0aGUgYXB1IG9ubHkgcmVwb3J0cyB0
aGUgbGVuZ3RoIGl0IGhhcyBzZWVuLCBub3QgdGhlDQorCQkJbGVuZ3RoIG9m
IHRoZSBtZW1vcnkgdGhhdCBoYXMgYmVlbiB1c2VkICh0aGUgV1ANCisJCQlr
bm93cyB0aGF0ICovDQorCQlpZiAoICgocy0+Zm10ID4+IEVTU19EQUNfU0hJ
RlQpICYgRVNTX0ZNVF9NQVNLKSA9PSAoRVNTX0ZNVF9TVEVSRU98RVNTX0ZN
VF8xNkJJVCkpDQorCQkJaHdwdHI8PD0xOw0KKw0KIAkJZGlmZiA9IChzLT5k
bWFfZGFjLmRtYXNpemUgKyBod3B0ciAtIHMtPmRtYV9kYWMuaHdwdHIpICUg
cy0+ZG1hX2RhYy5kbWFzaXplOw0KIC8qCQlNX3ByaW50aygidXBkYXRpbmcg
ZGFjOiBod3B0cjogJWQgZGlmZjogJWRcbiIsaHdwdHIsZGlmZik7Ki8NCiAJ
CXMtPmRtYV9kYWMuaHdwdHIgPSBod3B0cjsNCkBAIC0yMTkwLDQyICsyMjI3
LDYgQEANCiAJcmV0dXJuIHJldDsNCiB9DQogDQotLyogZ29kIHRoaXMgaXMg
Z3Jvc3MuLiovDQotLyogYWdhaW4sIHRoZSBtb2RlIHBhc3NlZCBpcyBzaGlm
dGVkL21hc2tlZCAqLw0KLXN0YXRpYyBpbnQgDQotc3BsaXRfc3RlcmVvKHVu
c2lnbmVkIGNoYXIgKnJlYWxfYnVmZmVyLHVuc2lnbmVkIGNoYXIgICp0bXBf
YnVmZmVyLCBpbnQgb2Zmc2V0LCANCi0JaW50IGNvdW50LCBpbnQgYnVmc2l6
ZSwgaW50IG1vZGUpDQoteyAgDQotCS8qIG9oLCBib3RoZXIuCXN0ZXJlbyBk
ZWNvZGluZyBBUFUncyBkb24ndCB3b3JrIGluIDE2Yml0IHNvIHdlDQotCXVz
ZSBkdWFsIGxpbmVhciBkZWNvZGVycy4gIHdoaWNoIG1lYW5zIHdlIGhhdmUg
dG8gaGFjayB1cCBzdGVyZW8NCi0JYnVmZmVyJ3Mgd2UncmUgZ2l2ZW4uICB5
dWNrLiAgKi8NCi0NCi0JdW5zaWduZWQgY2hhciAqc28sKmxlZnQsKnJpZ2h0
Ow0KLQlpbnQgaTsNCi0NCi0Jc28gPSB0bXBfYnVmZmVyOw0KLQlsZWZ0ID0g
cmVhbF9idWZmZXIgKyBvZmZzZXQ7DQotCXJpZ2h0ID0gcmVhbF9idWZmZXIg
KyBidWZzaXplLzIgKyBvZmZzZXQ7DQotDQotCWlmKG1vZGUgJiBFU1NfRk1U
XzE2QklUKSB7DQotCQlmb3IoaT1jb3VudC80OyBpIDsgaS0tKSB7DQotCQkJ
KihyaWdodCsrKSA9ICgqKHNvKzIpKTsNCi0JCQkqKHJpZ2h0KyspID0gKCoo
c28rMykpOw0KLQkJCSoobGVmdCsrKSA9ICgqc28pOw0KLQkJCSoobGVmdCsr
KSA9ICgqKHNvKzEpKTsNCi0JCQlzbys9NDsNCi0JCX0NCi0JfSBlbHNlIHsN
Ci0JCWZvcihpPWNvdW50LzI7IGkgOyBpLS0pIHsNCi0JCQkqKHJpZ2h0Kysp
ID0gKCooc28rMSkpOw0KLQkJCSoobGVmdCsrKSA9ICgqc28pOw0KLQkJCXNv
Kz0yOw0KLQkJfQ0KLQl9DQotDQotCXJldHVybiAwOw0KLX0NCi0NCiBzdGF0
aWMgc3NpemVfdCANCiBlc3Nfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNv
bnN0IGNoYXIgKmJ1ZmZlciwgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3Mp
DQogew0KQEAgLTIyMzMsOSArMjIzNCw3IEBADQogCXNzaXplX3QgcmV0Ow0K
IAl1bnNpZ25lZCBsb25nIGZsYWdzOw0KIAl1bnNpZ25lZCBzd3B0cjsNCi0J
dW5zaWduZWQgY2hhciAqc3BsaXRidWYgPSBOVUxMOw0KIAlpbnQgY250Ow0K
LQlpbnQgbW9kZSA9IChzLT5mbXQgPj4gRVNTX0RBQ19TSElGVCkgJiBFU1Nf
Rk1UX01BU0s7DQogCQ0KIAlWQUxJREFURV9TVEFURShzKTsNCiAJaWYgKHBw
b3MgIT0gJmZpbGUtPmZfcG9zKQ0KQEAgLTIyNDYsOSArMjI0NSw2IEBADQog
CQlyZXR1cm4gcmV0Ow0KIAlpZiAoIWFjY2Vzc19vayhWRVJJRllfUkVBRCwg
YnVmZmVyLCBjb3VudCkpDQogCQlyZXR1cm4gLUVGQVVMVDsNCi0JLyogWFhY
IGJlIG1vcmUgY2xldmVyIHRoYW4gdGhpcy4uICovDQotCWlmICghKHNwbGl0
YnVmID0ga21hbGxvYyhjb3VudCxHRlBfS0VSTkVMKSkpDQotCQlyZXR1cm4g
LUVOT01FTTsgDQogCXJldCA9IDA7DQogDQogCWNhbGNfYm9iX3JhdGUocyk7
DQpAQCAtMjI2MiwxMiArMjI1OCw4IEBADQogCQl9DQogCQlzd3B0ciA9IHMt
PmRtYV9kYWMuc3dwdHI7DQogDQotCQlpZihtb2RlICYgRVNTX0ZNVF9TVEVS
RU8pIHsNCi0JCQkvKiBpbiBzdGVyZW8gd2UgaGF2ZSB0aGUgJ2R1YWwnIGJ1
ZmZlcnMuLiAqLw0KLQkJCWNudCA9ICgocy0+ZG1hX2RhYy5kbWFzaXplLzIp
LXN3cHRyKSoyOw0KLQkJfSBlbHNlIHsNCi0JCQljbnQgPSBzLT5kbWFfZGFj
LmRtYXNpemUtc3dwdHI7DQotCQl9DQorCQljbnQgPSBzLT5kbWFfZGFjLmRt
YXNpemUtc3dwdHI7DQorDQogCQlpZiAocy0+ZG1hX2RhYy5jb3VudCArIGNu
dCA+IHMtPmRtYV9kYWMuZG1hc2l6ZSkNCiAJCQljbnQgPSBzLT5kbWFfZGFj
LmRtYXNpemUgLSBzLT5kbWFfZGFjLmNvdW50Ow0KIA0KQEAgLTIyNzYsMTAg
KzIyNjgsNiBAQA0KIAkJaWYgKGNudCA+IGNvdW50KQ0KIAkJCWNudCA9IGNv
dW50Ow0KIA0KLQkJLyogb3VyIGdvb2ZiYWxsIHN0ZXJlbyBzcGxpdHRlciBj
YW4gb25seSBkZWFsIGluIG11bHRzIG9mIDQgKi8NCi0JCWlmIChjbnQgPiAw
KSANCi0JCQljbnQgJj0gfjM7DQotDQogCQlpZiAoY250IDw9IDApIHsNCiAJ
CQlzdGFydF9kYWMocyk7DQogCQkJaWYgKGZpbGUtPmZfZmxhZ3MgJiBPX05P
TkJMT0NLKSB7DQpAQCAtMjMwOSwyNiArMjI5NywxMyBAQA0KIAkJCX0NCiAJ
CQljb250aW51ZTsNCiAJCX0NCi0JCWlmKG1vZGUgJiBFU1NfRk1UX1NURVJF
Tykgew0KLQkJCWlmIChjb3B5X2Zyb21fdXNlcihzcGxpdGJ1ZiwgYnVmZmVy
LCBjbnQpKSB7DQotCQkJCWlmICghcmV0KSByZXQgPSAtRUZBVUxUOw0KLQkJ
CQlnb3RvIHJldHVybl9mcmVlOw0KLQkJCX0NCi0JCQlzcGxpdF9zdGVyZW8o
cy0+ZG1hX2RhYy5yYXdidWYsc3BsaXRidWYsc3dwdHIsY250LHMtPmRtYV9k
YWMuZG1hc2l6ZSwNCi0JCQkJbW9kZSk7DQotCQl9IGVsc2Ugew0KLQkJCWlm
IChjb3B5X2Zyb21fdXNlcihzLT5kbWFfZGFjLnJhd2J1ZiArIHN3cHRyLCBi
dWZmZXIsIGNudCkpIHsNCi0JCQkJaWYgKCFyZXQpIHJldCA9IC1FRkFVTFQ7
DQotCQkJCWdvdG8gcmV0dXJuX2ZyZWU7DQotCQkJfQ0KKwkJaWYgKGNvcHlf
ZnJvbV91c2VyKHMtPmRtYV9kYWMucmF3YnVmICsgc3dwdHIsIGJ1ZmZlciwg
Y250KSkgew0KKwkJCWlmICghcmV0KSByZXQgPSAtRUZBVUxUOw0KKwkJCWdv
dG8gcmV0dXJuX2ZyZWU7DQogCQl9DQogDQotCQlpZihtb2RlICYgRVNTX0ZN
VF9TVEVSRU8pIHsNCi0JCQkvKiBhZ2FpbiB3aXRoIHRoZSB3ZWlyZCBwb2lu
dGVyIG1hZ2ljICovDQotCQkJc3dwdHIgPSAoc3dwdHIgKyAoY250LzIpKSAl
IChzLT5kbWFfZGFjLmRtYXNpemUvMik7DQotCQl9IGVsc2Ugew0KLQkJCXN3
cHRyID0gKHN3cHRyICsgY250KSAlIHMtPmRtYV9kYWMuZG1hc2l6ZTsNCi0J
CX0NCisJCXN3cHRyID0gKHN3cHRyICsgY250KSAlIHMtPmRtYV9kYWMuZG1h
c2l6ZTsNCisNCiAJCXNwaW5fbG9ja19pcnFzYXZlKCZzLT5sb2NrLCBmbGFn
cyk7DQogCQlzLT5kbWFfZGFjLnN3cHRyID0gc3dwdHI7DQogCQlzLT5kbWFf
ZGFjLmNvdW50ICs9IGNudDsNCkBAIC0yMzQwLDcgKzIzMTUsNiBAQA0KIAkJ
c3RhcnRfZGFjKHMpOw0KIAl9DQogcmV0dXJuX2ZyZWU6DQotCWlmIChzcGxp
dGJ1Zikga2ZyZWUoc3BsaXRidWYpOw0KIAlyZXR1cm4gcmV0Ow0KIH0NCiAN
CkBAIC0yMzc0LDggKzIzNDgsNiBAQA0KIAlyZXR1cm4gbWFzazsNCiB9DQog
DQotLyogdGhpcyBuZWVkcyB0byBiZSBmaXhlZCB0byBkZWFsIHdpdGggdGhl
IGR1YWwgYXB1cy9idWZmZXJzICovDQotI2lmIDANCiBzdGF0aWMgaW50IGVz
c19tbWFwKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1
Y3QgKnZtYSkNCiB7DQogCXN0cnVjdCBlc3Nfc3RhdGUgKnMgPSAoc3RydWN0
IGVzc19zdGF0ZSAqKWZpbGUtPnByaXZhdGVfZGF0YTsNCkBAIC0yMzg4LDEz
ICsyMzYwLDE4IEBADQogCQlpZiAoKHJldCA9IHByb2dfZG1hYnVmKHMsIDEp
KSAhPSAwKQ0KIAkJCXJldHVybiByZXQ7DQogCQlkYiA9ICZzLT5kbWFfZGFj
Ow0KLQl9IGVsc2UgaWYgKHZtYS0+dm1fZmxhZ3MgJiBWTV9SRUFEKSB7DQor
CX0gZWxzZSANCisjaWYgMA0KKwkvKiBpZiB3ZSBjYW4gaGF2ZSB0aGUgd3Av
d2MgZG8gdGhlIGNvbWJpbmluZw0KKwkJd2UgY2FuIHR1cm4gdGhpcyBiYWNr
IG9uLiAgKi8NCisJICAgICAgaWYgKHZtYS0+dm1fZmxhZ3MgJiBWTV9SRUFE
KSB7DQogCQlpZiAoKHJldCA9IHByb2dfZG1hYnVmKHMsIDApKSAhPSAwKQ0K
IAkJCXJldHVybiByZXQ7DQogCQlkYiA9ICZzLT5kbWFfYWRjOw0KLQl9IGVs
c2UgDQorCX0gZWxzZSAgDQorI2VuZGlmDQogCQlyZXR1cm4gLUVJTlZBTDsN
Ci0JaWYgKHZtYS0+dm1fcGdvZmZ0ICE9IDApDQorCWlmIChTSUxMWV9PRkZT
RVQodm1hKSAhPSAwKQ0KIAkJcmV0dXJuIC1FSU5WQUw7DQogCXNpemUgPSB2
bWEtPnZtX2VuZCAtIHZtYS0+dm1fc3RhcnQ7DQogCWlmIChzaXplID4gKFBB
R0VfU0laRSA8PCBkYi0+YnVmb3JkZXIpKQ0KQEAgLTI0MDQsNyArMjM4MSw2
IEBADQogCWRiLT5tYXBwZWQgPSAxOw0KIAlyZXR1cm4gMDsNCiB9DQotI2Vu
ZGlmDQogDQogc3RhdGljIGludCBlc3NfaW9jdGwoc3RydWN0IGlub2RlICpp
bm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVu
c2lnbmVkIGxvbmcgYXJnKQ0KIHsNCkBAIC0yNDM0LDcgKzI0MTAsNyBAQA0K
IAkJcmV0dXJuIDA7DQogDQogCWNhc2UgU05EQ1RMX0RTUF9HRVRDQVBTOg0K
LQkJcmV0dXJuIHB1dF91c2VyKERTUF9DQVBfRFVQTEVYIHwgRFNQX0NBUF9S
RUFMVElNRSB8IERTUF9DQVBfVFJJR0dFUiAvKnwgRFNQX0NBUF9NTUFQKi8s
IChpbnQgKilhcmcpOw0KKwkJcmV0dXJuIHB1dF91c2VyKERTUF9DQVBfRFVQ
TEVYIHwgRFNQX0NBUF9SRUFMVElNRSB8IERTUF9DQVBfVFJJR0dFUiB8IERT
UF9DQVBfTU1BUCwgKGludCAqKWFyZyk7DQogCQkNCiAgICAgICAgIGNhc2Ug
U05EQ1RMX0RTUF9SRVNFVDoNCiAJCWlmIChmaWxlLT5mX21vZGUgJiBGTU9E
RV9XUklURSkgew0KQEAgLTI1MTUsNyArMjQ5MSw3IEBADQogCQkJCQkgICA6
IChFU1NfRk1UX1NURVJFTyA8PCBFU1NfREFDX1NISUZUKSkpID8gMiA6IDEs
IChpbnQgKilhcmcpOw0KIAkJDQogCWNhc2UgU05EQ1RMX0RTUF9HRVRGTVRT
OiAvKiBSZXR1cm5zIGEgbWFzayAqLw0KLSAgICAgICAgICAgICAgICByZXR1
cm4gcHV0X3VzZXIoQUZNVF9TOHxBRk1UX1MxNl9MRSwgKGludCAqKWFyZyk7
DQorICAgICAgICAgICAgICAgIHJldHVybiBwdXRfdXNlcihBRk1UX1U4fEFG
TVRfUzE2X0xFLCAoaW50ICopYXJnKTsNCiAJCQ0KIAljYXNlIFNORENUTF9E
U1BfU0VURk1UOiAvKiBTZWxlY3RzIE9ORSBmbXQqLw0KIAkJZ2V0X3VzZXJf
cmV0KHZhbCwgKGludCAqKWFyZywgLUVGQVVMVCk7DQpAQCAtMjU0OCw3ICsy
NTI0LDcgQEANCiAJCQkoRVNTX0ZNVF8xNkJJVCA8PCBFU1NfQURDX1NISUZU
KSANCiAJCQk6IChFU1NfRk1UXzE2QklUIDw8IEVTU19EQUNfU0hJRlQpKSkg
PyANCiAJCQkJQUZNVF9TMTZfTEUgOiANCi0JCQkJQUZNVF9TOCwgDQorCQkJ
CUFGTVRfVTgsIA0KIAkJCShpbnQgKilhcmcpOw0KIAkJDQogCWNhc2UgU05E
Q1RMX0RTUF9QT1NUOg0KQEAgLTI5MzgsNyArMjkxNCw3IEBADQogCU5VTEws
ICAvKiByZWFkZGlyICovDQogCSZlc3NfcG9sbCwNCiAJJmVzc19pb2N0bCwN
Ci0JTlVMTCwJLyogWFhYICZlc3NfbW1hcCwgKi8NCisJJmVzc19tbWFwLA0K
IAkmZXNzX29wZW4sDQogCU5VTEwsCS8qIGZsdXNoICovDQogCSZlc3NfcmVs
ZWFzZSwNCkBAIC0zMDAwLDcgKzI5NzYsNyBAQA0KIAl3Jj1+KDE8PDcpOwkJ
LyogSFdWIG9mZiAqLw0KIAl3Jj1+KDE8PDYpOwkJLyogRGVib3VuY2Ugb2Zm
ICovDQogCXcmPX4oMTw8NSk7CQkvKiBHUElPIDQ6NSAqLw0KLQl3fD0gKDE8
PDQpOyAgICAgICAgICAgICAvKiBEaXNjb25uZWN0IGZyb20gdGhlIENISS4g
IEVuYWJsaW5nIHRoaXMgaW4gbWFkZSBhIGRlbGwgNzUwMCB3b3JrLiAqLw0K
Kwl3fD0gKDE8PDQpOyAgICAgICAgICAgICAvKiBEaXNjb25uZWN0IGZyb20g
dGhlIENISS4gIEVuYWJsaW5nIHRoaXMgbWFkZSBhIGRlbGwgNzUwMCB3b3Jr
LiAqLw0KIAl3Jj1+KDE8PDMpOwkJLyogSURNQSBvZmYgKHVuZG9jdW1lbnRl
ZCkgKi8NCiAJdyY9figxPDwyKTsJCS8qIE1JREkgZml4IG9mZiAodW5kb2Mp
ICovDQogCXcmPX4oMTw8MSk7CQkvKiByZXNlcnZlZCwgYWx3YXlzIHdyaXRl
IDAgKi8NCkBAIC0zMzAzLDcgKzMyNzksOCBAQA0KIAltYWVzdHJvX2NvbmZp
ZyhjYXJkKTsNCiANCiAJaWYobWFlc3Ryb19hYzk3X2dldChpb2Jhc2UsIDB4
MDApPT0weDAwODApIHsNCi0JCW1hZXN0cm9fcHQxMDFfaW5pdChjYXJkLGlv
YmFzZSk7DQorCQlwcmludGsoS0VSTl9FUlIgIm1hZXN0cm86IG15IGdvb2Ru
ZXNzISAgeW91IHNlZW0gdG8gaGF2ZSBhIHB0MTAxIGNvZGVjLCB3aGljaCBp
cyBxdWl0ZSByYXJlLlxuIg0KKwkJCQkiXHR5b3Ugc2hvdWxkIHRlbGwgc29t
ZW9uZSBhYm91dCB0aGlzLlxuIik7DQogCX0gZWxzZSB7DQogCQltYWVzdHJv
X2FjOTdfaW5pdChjYXJkLGlvYmFzZSk7DQogCX0NCkBAIC0zNDUxLDcgKzM0
MjgsNyBAQA0KIH0NCiANCiBzdGF0aWMgaW50IA0KLW1hZXN0cm9fYXBtX3N1
c3BlbmQodm9pZCkNCittYWVzdHJvX3N1c3BlbmQodm9pZCkNCiB7DQogCXN0
cnVjdCBlc3NfY2FyZCAqY2FyZDsNCiAJdW5zaWduZWQgbG9uZyBmbGFnczsN
CkBAIC0zNDc0LDcgKzM0NTEsNyBAQA0KIAkJCXN0b3BfZGFjKHMpOw0KIAkJ
CXN0b3BfYWRjKHMpOw0KIAkJCWZvcihqPTA7ajw2O2orKykgDQotCQkJCWNh
cmQtPmFwdV9tYXBbcy0+YXB1W2ldXVs1XT1hcHVfZ2V0X3JlZ2lzdGVyKHMs
aSw1KTsNCisJCQkJY2FyZC0+YXB1X21hcFtzLT5hcHVbal1dWzVdPWFwdV9n
ZXRfcmVnaXN0ZXIocyxqLDUpOw0KIA0KIAkJfQ0KIA0KQEAgLTM0OTEsNyAr
MzQ2OCw3IEBADQogCXJldHVybiAwOw0KIH0NCiBzdGF0aWMgaW50IA0KLW1h
ZXN0cm9fYXBtX3Jlc3VtZSh2b2lkKQ0KK21hZXN0cm9fcmVzdW1lKHZvaWQp
DQogew0KIAlzdHJ1Y3QgZXNzX2NhcmQgKmNhcmQ7DQogCXVuc2lnbmVkIGxv
bmcgZmxhZ3M7DQpAQCAtMzU2NSwxMSArMzU0MiwxMSBAQA0KIAljYXNlIEFQ
TV9TWVNfU1VTUEVORDogDQogCWNhc2UgQVBNX0NSSVRJQ0FMX1NVU1BFTkQ6
IA0KIAljYXNlIEFQTV9VU0VSX1NVU1BFTkQ6IA0KLQkJbWFlc3Ryb19hcG1f
c3VzcGVuZCgpO2JyZWFrOw0KKwkJbWFlc3Ryb19zdXNwZW5kKCk7YnJlYWs7
DQogCWNhc2UgQVBNX05PUk1BTF9SRVNVTUU6IA0KIAljYXNlIEFQTV9DUklU
SUNBTF9SRVNVTUU6IA0KIAljYXNlIEFQTV9TVEFOREJZX1JFU1VNRTogDQot
CQltYWVzdHJvX2FwbV9yZXN1bWUoKTticmVhazsNCisJCW1hZXN0cm9fcmVz
dW1lKCk7YnJlYWs7DQogCWRlZmF1bHQ6IGJyZWFrOw0KIAl9DQogDQotLS0g
bGludXgvZHJpdmVycy9wY2kvcGNpLmlkcy5wcmVtCVN1biBEZWMgMjYgMTg6
NTU6MDcgMTk5OQ0KKysrIGxpbnV4L2RyaXZlcnMvcGNpL3BjaS5pZHMJU3Vu
IERlYyAyNiAxODo1NTo0MiAxOTk5DQpAQCAtMjE1MCw3ICsyMTUwLDcgQEAN
CiAJMTk0OCAgU29sbz8NCiAJMTk2OCAgRVMxOTY4IE1hZXN0cm8gMg0KIAkx
OTY5ICBFUzE5NjkgU29sby0xIEF1ZGlvZHJpdmUNCi0JMTk3OCAgRVMxOTc4
IE1hZXN0cm8gQXVkaW9kcml2ZQ0KKwkxOTc4ICBFUzE5NzggTWFlc3RybyAy
RQ0KIAkyODA4ICBFUzMzNkggRmF4IE1vZGVtIChMYXRlciBNb2RlbCkNCiAJ
Mjg5OCAgRVMyODk4IE1vZGVtDQogMTI1ZSAgU3BlY2lhbHZpZGVvIEVuZ2lu
ZWVyaW5nIFNSTA0KQEAgLTIyMTYsNyArMjIxNiw3IEBADQogCWU4ODYgIElU
ODMzMEcNCiAxMjg0ICBTYWhhcmEgTmV0d29ya3MsIEluYy4NCiAxMjg1ICBQ
bGF0Zm9ybSBUZWNobm9sb2dpZXMsIEluYy4NCi0JMDEwMCAgUFQtMjAxQy1P
LVAgQUdPR08tWFAgc291bmQgY2hpcA0KKwkwMTAwICBBR09HTyBzb3VuZCBj
aGlwIChha2EgRVNTIE1hZXN0cm8gMSkNCiAxMjg2ICBNYXpldCBHbWJIDQog
MTI4NyAgTS1QYWN0LCBJbmMuDQogCTAwMWUgIExTMjIwRCBEVkQgRGVjb2Rl
cg0KLS0tIGxpbnV4L0RvY3VtZW50YXRpb24vc291bmQvTWFlc3Ryby5wcmVt
CVN1biBEZWMgMjYgMTc6NTI6MDQgMTk5OQ0KKysrIGxpbnV4L0RvY3VtZW50
YXRpb24vc291bmQvTWFlc3RybwlTdW4gRGVjIDI2IDE3OjUzOjE5IDE5OTkN
CkBAIC0wLDAgKzEsOTggQEANCisJQW4gT1NTL0xpdGUgRHJpdmVyIGZvciB0
aGUgRVNTIE1hZXN0cm8gZmFtaWx5IG9mIHNvdW5kIGNhcmRzDQorDQorCQkJ
WmFjaCBCcm93biwgRGVjZW1iZXIgMTk5OQ0KKw0KK0RyaXZlciBTdGF0dXMg
YW5kIEF2YWlsYWJpbGl0eQ0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQ0KKw0KK1RoZSBtb3N0IHJlY2VudCB2ZXJzaW9uIG9mIHRoaXMgZHJp
dmVyIHdpbGwgaG9wZWZ1bGx5IGFsd2F5cyBiZSBhdmFpbGFibGUgYXQNCisJ
aHR0cDovL3Blb3BsZS5yZWRoYXQuY29tL3phYi9tYWVzdHJvLw0KKw0KK0kg
d2lsbCB0cnkgYW5kIG1haW50YWluIHRoZSBtb3N0IHJlY2VudCBzdGFibGUg
dmVyc2lvbiBvZiB0aGUgZHJpdmVyDQoraW4gYm90aCB0aGUgc3RhYmxlIGFu
ZCBkZXZlbG9wbWVudCBrZXJuZWwgbGluZXMuDQorDQorRVNTIE1hZXN0cm8g
Q2hpcCBGYW1pbHkNCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKw0KK1Ro
ZXJlIGFyZSAzIG1haW4gdmFyaWFudHMgb2YgdGhlIEVTUyBNYWVzdHJvIFBD
SSBzb3VuZCBjaGlwLiAgVGhlIGZpcnN0DQoraXMgdGhlIE1hZXN0cm8gMS4g
IEl0IHdhcyBvcmlnaW5hbGx5IHByb2R1Y2VkIGJ5IFBsYXRmb3JtIFRlY2gg
YXMgdGhlDQorJ0FHT0dPJy4gIEl0IGNhbiBiZSByZWNvZ25pemVkIGJ5IFBs
YXRmb3JtIFRlY2gncyBQQ0kgSUQgMHgxMjg1IHdpdGgNCisweDAxMDAgYXMg
dGhlIGRldmljZSBJRC4gIEl0IHdhcyBwdXQgb24gc29tZSBzb3VuZCBib2Fy
ZHMgYW5kIGEgZmV3IGxhcHRvcHMuICANCitFU1MgYm91Z2h0IHRoZSBkZXNp
Z24gYW5kIGNsZWFuZWQgaXQgdXAgYXMgdGhlIE1hZXN0cm8gMi4gIFRoaXMg
c3RhcnRzDQordGhlaXIgbWFya2luZyB3aXRoIHRoZSBFU1MgdmVuZG9yIElE
IDB4MTI1RCBhbmQgdGhlICd5ZWFyJyBkZXZpY2UgSURzLg0KK1RoZSBNYWVz
dHJvIDIgY2xhaW1zIDB4MTk2OCB3aGlsZSB0aGUgTWFlc3RybyAyZSBoYXMg
MHgxOTc4Lg0KKw0KK1RoZSB2YXJpb3VzIGZhbWlsaWVzIG9mIE1hZXN0cm8g
YXJlIG1vc3RseSBpZGVudGljYWwgYXMgZmFyIGFzIHRoaXMgDQorZHJpdmVy
IGlzIGNvbmNlcm5lZC4gIEl0IGRvZXNuJ3QgdG91Y2ggdGhlIERTUCBwYXJ0
cyB0aGF0IGRpZmZlciAodGhvdWdoDQoraXQgY291bGQgZm9yIEZNIHN5bnRo
ZXNpcykNCisNCitEcml2ZXIgT1NTIEJlaGF2aW9yDQorLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCisNCitUaGlzIE9TUyBkcml2ZXIgZXhwb3J0cyAvZGV2L21p
eGVyIGFuZCAvZGV2L2RzcCB0byBhcHBsaWNhdGlvbnMsIHdoaWNoDQorbW9z
dGx5IGFkaGVyZSB0byB0aGUgT1NTIHNwZWMuICAgVGhpcyBkcml2ZXIgZG9l
c24ndCByZWdpc3RlciBpdHNlbGYNCit3aXRoIC9kZXYvc25kc3RhdCwgc28g
ZG9uJ3QgZXhwZWN0IGluZm9ybWF0aW9uIHRvIGFwcGVhciB0aGVyZS4NCisN
CitUaGUgL2Rldi9kc3AgZGV2aWNlIGV4cG9ydGVkIGJlaGF2ZXMgYWxtb3N0
IGFzIGV4cGVjdGVkLiAgUGxheWJhY2sgaXMNCitzdXBwb3J0ZWQgaW4gYWxs
IHRoZSB2YXJpb3VzIGxvdmVseSBmb3JtYXRzLiAgOC8xNmJpdCBzdGVyZW8v
bW9ubyBmcm9tDQorOGtoeiB0byA0OGtoeiwgYW5kIG1tYXAoKWluZyBmb3Ig
cGxheWJhY2sgYmVoYXZlcy4gIENhcHR1cmUvcmVjb3JkaW5nDQoraXMgbGlt
aXRlZCBkdWUgdG8gb2RkaXRpZXMgd2l0aCB0aGUgTWFlc3RybyBoYXJkd2Fy
ZS4gIE9uZSBjYW4gb25seQ0KK3JlY29yZCBpbiAxNmJpdCBzdGVyZW8uICBG
b3IgcmVjb3JkaW5nIHRoZSBtYWVzdHJvIHVzZXMgbm9uIGludGVybGVhdmVk
DQorc3RlcmVvIGJ1ZmZlcnMgc28gdGhhdCBtbWFwKClpbmcgdGhlIGluY29t
aW5nIGRhdGEgZG9lcyBub3QgcmVzdWx0IGluDQorYSByaW5nIGJ1ZmZlciBv
ZiBMUkxSIGRhdGEuICBtbWFwKClpbmcgb2YgdGhlIHJlYWQgYnVmZmVycyBp
cyB0aGVyZWZvcmUNCitkaXNhbGxvd2VkIHVudGlsIHRoaXMgY2FuIGJlIGNs
ZWFuZWQgdXAuDQorDQorL2Rldi9taXhlciBpcyBhbiBpbnRlcmZhY2UgdG8g
dGhlIEFDJzk3IGNvZGVjIG9uIHRoZSBNYWVzdHJvLiAgSXQgaXMNCit3b3J0
aCBub3RpbmcgdGhhdCB0aGVyZSBhcmUgYSB2YXJpZXR5IG9mIEFDJzk3cyB0
aGF0IGNhbiBiZSB3aXJlZCB0bw0KK3RoZSBNYWVzdHJvLiAgV2hpY2ggaXMg
dXNlZCBpcyBlbnRpcmVseSB1cCB0byB0aGUgaGFyZHdhcmUgaW1wbGVtZW50
b3IuDQorVGhpcyBzaG91bGQgb25seSBiZSB2aXNpYmxlIHRvIHRoZSB1c2Vy
IGJ5IHRoZSBwcmVzZW5jZSwgb3IgbGFjaywgb2YNCisnQmFzcycgYW5kICdU
cmVibGUnIHNsaWRlcnMgaW4gdGhlIG1peGVyLiAgTm90IGFsbCBBQyc5N3Mg
aGF2ZSB0aGVtLg0KKw0KK1RoZSBkcml2ZXIgZG9lc24ndCBzdXBwb3J0IE1J
REkgb3IgRk0gcGxheWJhY2sgYXQgdGhlIG1vbWVudC4gIFR5cGljYWxseQ0K
K3RoZSBNYWVzdHJvIGlzIHdpcmVkIHRvIGFuIE1QVSBNSURJIGNoaXAsIGJ1
dCBzb21lIGhhcmR3YXJlIGltcGxlbWVudGF0aW9ucw0KK2Rvbid0LiAgV2Ug
bmVlZCB0byBhc3NlbWJsZSBhIHdoaXRlIGxpc3Qgb2YgaGFyZHdhcmUgaW1w
bGVtZW50YXRpb25zIHRoYXQNCitoYXZlIE1JREkgd2lyZWQgcHJvcGVybHkg
YmVmb3JlIHdlIGNhbiBjbGFpbSB0byBzdXBwb3J0IGl0IHNhZmVseS4NCisN
CitDb21waWxpbmcgYW5kIEluc3RhbGxpbmcNCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCisNCitXaXRoIHRoZSBkcml2ZXJzIGluY2x1c2lvbiBpbnRv
IHRoZSBrZXJuZWwsIGNvbXBpbGluZyBhbmQgaW5zdGFsbGluZw0KK2lzIHRo
ZSBzYW1lIGFzIG1vc3QgT1NTL0xpdGUgbW9kdWxhciBzb3VuZCBkcml2ZXJz
LiAgQ29tcGlsYXRpb24NCitvZiB0aGUgZHJpdmVyIGlzIGVuYWJsZWQgdGhy
b3VnaCB0aGUgQ09ORklHX1NPVU5EX01BRVNUUk8gdmFyaWFibGUNCitpbiB0
aGUgY29uZmlnIHN5c3RlbS4gIA0KKw0KK0l0IG1heSBiZSBtb2R1bGFyIG9y
IHN0YXRpY2FsbHkgbGlua2VkLiAgSWYgaXQgaXMgbW9kdWxhciBpdCBzaG91
bGQgYmUNCitpbnN0YWxsZWQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgbW9kdWxl
cyBmb3IgdGhlIGtlcm5lbCBvbiB0aGUgc3lzdGVtLg0KK1R5cGljYWxseSB0
aGlzIHdpbGwgYmUgaW4gL2xpYi9tb2R1bGVzLyBzb21ld2hlcmUuICAnYWxp
YXMgc291bmQgbWFlc3RybycNCitzaG91bGQgYWxzbyBiZSBhZGRlZCB0byB5
b3VyIG1vZHVsZSBjb25maWdzICh0eXBpY2FsbHkgL2V0Yy9jb25mLm1vZHVs
ZXMpDQoraWYgeW91J3JlIHVzaW5nIG1vZHVsYXIgT1NTL0xpdGUgc291bmQg
YW5kIHdhbnQgdG8gZGVmYXVsdCB0byB1c2luZyBhDQorbWFlc3RybyBjaGlw
Lg0KKw0KK0FzIHRoaXMgaXMgYSBQQ0kgZGV2aWNlLCB0aGUgbW9kdWxlIGRv
ZXMgbm90IG5lZWQgdG8gYmUgaW5mb3JtZWQgb2YNCithbnkgSU8gb3IgSVJR
IHJlc291cmNlcyBpdCBzaG91bGQgdXNlLCBpdCBkZXZpbmVzIHRoZXNlIGZy
b20gdGhlDQorc3lzdGVtLiAgU29tdGltZXMsIG9uIHN1Y2t5IFBDcywgdGhl
IEJJT1MgZmFpbHMgdG8gYWxsb2NhdGVkIHJlc291cmNlcw0KK2ZvciB0aGUg
bWFlc3Ryby4gIFRoaXMgd2lsbCByZXN1bHQgaW4gYSBtZXNzYWdlIGxpa2U6
DQorCW1hZXN0cm86IFBDSSBzdWJzeXN0ZW0gcmVwb3J0cyBJUlEgMCwgdGhp
cyBtaWdodCBub3QgYmUgY29ycmVjdC4NCitmcm9tIHRoZSBrZXJuZWwuICBT
aG91bGQgdGhpcyBoYXBwZW4gdGhlIHNvdW5kIGNoaXAgbW9zdCBsaWtlbHkg
d2lsbA0KK25vdCBvcGVyYXRlIGNvcnJlY3RseS4gIFRvIHNvbHZlIHRoaXMg
b25lIGhhcyB0byBkaWcgdGhyb3VnaCB0aGVpciBCSU9TDQorKHR5cGljYWxs
eSBlbnRlcmVkIGJ5IGhpdHRpbmcgYSBob3Qga2V5IGF0IGJvb3QgdGltZSkg
YW5kIGZpZ3VyZSBvdXQNCit3aGF0IG1hZ2ljIG5lZWRzIHRvIGhhcHBlbiBz
byB0aGF0IHRoZSBCSU9TIHdpbGwgcmV3YXJkIHRoZSBtYWVzdHJvIHdpdGgN
CithbiBJUlEuICBUaGlzIG9wZXJhdGlvbiBpcyBpbmNyZWRpYmx5IHN5c3Rl
bSBzcGVjaWZpYywgc28geW91J3JlIG9uIHlvdXINCitvd24uICBTb21ldGlt
ZXMgdGhlIG1hZ2ljIGxpZXMgaW4gJ1BOUCBDYXBhYmxlIE9wZXJhdGluZyBT
eXN0ZW0nIHNldHRpbmdzLg0KKw0KK1RoZXJlIGFyZSB2ZXJ5IGZldyBvcHRp
b25zIHRvIHRoZSBkcml2ZXIuICBPbmUgaXMgJ2RlYnVnJyB3aGljaCB3aWxs
IA0KK3RlbGwgdGhlIGRyaXZlciB0byBwcmludCBtaW5pbWFsIGRlYnVnZ2lu
ZyBpbmZvcm1hdGlvbiBhcyBpdCBydW5zLiAgVGhpcw0KK2NhbiBiZSBjb2xs
ZWN0ZWQgd2l0aCAnZG1lc2cnIG9yIHRocm91Z2ggdGhlIGtsb2dkIGRhZW1v
bi4NCisNCitUaGUgb3RoZXIsIG1vcmUgaW50ZXJlc3Rpbmcgb3B0aW9uLCBp
cyAnZHNwc19vcmRlcicuICBUeXBpY2FsbHkgYXQNCitpbnN0YWxsIHRpbWUg
dGhlIGRyaXZlciB3aWxsIG9ubHkgcmVnaXN0ZXIgb25lIGF2YWlsYWJsZSAv
ZGV2L2RzcCBkZXZpY2UNCitmb3IgaXRzIHVzZS4gIFRoZSAnZHNwc19vcmRl
cicgbW9kdWxlIHBhcmFtZXRlciBhbGxvd3MgZm9yIG1vcmUgZGV2aWNlcw0K
K3RvIGJlIGFsbG9jYXRlZCwgYXMgYSBwb3dlciBvZiB0d28uICBVcCB0byA0
IGRldmljZXMgY2FuIGJlIHJlZ2lzdGVyZWQNCisoIGRzcHNfb3JkZXI9MiAp
LiAgVGhlc2UgZGV2aWNlcyBhY3QgYXMgZnVsbHkgZGlzdGluY3QgdW5pdHMg
YW5kIHVzZQ0KK3NlcGFyYXRlIGNoYW5uZWxzIGluIHRoZSBtYWVzdHJvLg0K
Kw0KKy4uIG1vcmUgZGV0YWlscyAuLg0KKy0tLS0tLS0tLS0tLS0tLS0tDQor
DQorZHJpdmVycy9zb3VuZC9tYWVzdHJvLmMgY29udGFpbnMgY29tbWVudHMg
dGhhdCBob3BlZnVsbHkgZXhwbGFpbg0KK3RoZSBtYWVzdHJvIGltcGxlbWVu
dGF0aW9uLg0KLS0tIGxpbnV4L0RvY3VtZW50YXRpb24vQ29uZmlndXJlLmhl
bHAucHJlbQlTdW4gRGVjIDI2IDE3OjExOjM2IDE5OTkNCisrKyBsaW51eC9E
b2N1bWVudGF0aW9uL0NvbmZpZ3VyZS5oZWxwCVN1biBEZWMgMjYgMTc6MTQ6
MjIgMTk5OQ0KQEAgLTExMTcyLDYgKzExMTcyLDEyIEBADQogDQogICBTZWUg
RG9jdW1lbnRhdGlvbi9zb3VuZC9OTTI1NiBmb3IgZnVydGhlciBpbmZvcm1h
dGlvbi4NCiANCitFU1MgTWFlc3RybyBzb3VuZCBjaGlwc2V0cw0KK0NPTkZJ
R19TT1VORF9NQUVTVFJPDQorICBTYXkgWSBvciBNIGlmIHlvdSBoYXZlIGEg
c291bmQgc3lzdGVtIGRyaXZlbiBieSBFU1MncyBNYWVzdHJvIGxpbmUNCisg
IG9mIFBDSSBzb3VuZCBjaGlwcy4gIFRoZXNlIGluY2x1ZGUgdGhlIE1hZXN0
cm8gMSwgTWFlc3RybyAyLCBhbmQNCisgIE1hZXN0cm8gMkUuICBTZWUgRG9j
dW1lbnRhdGlvbi9zb3VuZC9NYWVzdHJvIGZvciBtb3JlIGRldGFpbHMuDQor
DQogQXJlIHlvdSB1c2luZyBhIGNyb3NzY29tcGlsZXINCiBDT05GSUdfQ1JP
U1NDT01QSUxFDQogICBTYXkgWSBoZXJlIGlmIHlvdSBhcmUgY29tcGlsaW5n
IHRoZSBrZXJuZWwgb24gYSBkaWZmZXJlbnQNCi0tLSBsaW51eC9NQUlOVEFJ
TkVSUy5wcmVtCVN1biBEZWMgMjYgMTc6NTM6NTMgMTk5OQ0KKysrIGxpbnV4
L01BSU5UQUlORVJTCVN1biBEZWMgMjYgMTg6MDE6NDggMTk5OQ0KQEAgLTUy
OSw2ICs1MjksMTIgQEANCiBMOglsaW51eHBwYy1kZXZAbGlzdHMubGludXhw
cGMub3JnDQogUzoJTWFpbnRhaW5lZA0KIA0KK01BRVNUUk8gUENJIFNPVU5E
IERSSVZFUg0KK1A6CVphY2ggQnJvd24NCitNOgl6YWJAcmVkaGF0LmNvbQ0K
K1c6CWh0dHA6Ly9wZW9wbGUucmVkaGF0LmNvbS96YWIvbWFlc3Ryby8NCitT
OglTdXBwb3J0ZWQNCisNCiBNNjhLDQogUDoJSmVzIFNvcmVuc2VuDQogTToJ
SmVzLlNvcmVuc2VuQGNlcm4uY2gNCi0tLSBsaW51eC9DUkVESVRTLnByZW0J
U3VuIERlYyAyNiAxNzo1ODoyNyAxOTk5DQorKysgbGludXgvQ1JFRElUUwlT
dW4gRGVjIDI2IDE4OjAwOjI4IDE5OTkNCkBAIC0zMzEsNiArMzMxLDEwIEBA
DQogUzogQW1zdGVyZGFtDQogUzogVGhlIE5ldGhlcmxhbmRzDQogDQorTjog
WmFjaCBCcm93bg0KK0U6IHphYkB6YWJiby5uZXQNCitEOiBtYWVzdHJvIHBj
aSBzb3VuZA0KKw0KIE46IFJheSBCdXJyDQogRTogcnliQG5pZ2h0bWFyZS5j
b20NCiBEOiBPcmlnaW5hbCBhdXRob3Igb2YgQW1pZ2EgRkZTIGZpbGVzeXN0
ZW0NCg==
---1345348566-1675704980-946252628=:17512--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/