From owner-acpi-jp@jp.FreeBSD.org Sun Jan 11 16:17:20 2004
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id i0B7HKD18182;
	Sun, 11 Jan 2004 16:17:20 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from root.org (root.org [67.118.192.226])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with SMTP/inet id i0B7HJC18177
	for <acpi-jp@jp.FreeBSD.org>; Sun, 11 Jan 2004 16:17:19 +0900 (JST)
	(envelope-from nate@root.org)
Received: (qmail 49722 invoked by uid 1000); 11 Jan 2004 07:17:15 -0000
From: Nate Lawson <nate@root.org>
To: Hiroyuki Aizu <aizu@navi.org>
cc: acpi-jp@jp.FreeBSD.org
In-Reply-To: <20040111095906.22992322.aizu@navi.org>
Message-ID: <20040110231641.O49720@root.org>
References: <20040109105850.K40983@root.org> <20040111095906.22992322.aizu@navi.org>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="0-901806505-1073805435=:49720"
Reply-To: acpi-jp@jp.FreeBSD.org
Precedence: list
Date: Sat, 10 Jan 2004 23:17:15 -0800
X-Sequence: acpi-jp 2989
Subject: [acpi-jp 2989] Re: Revised Toshiba driver
Sender: owner-acpi-jp@jp.FreeBSD.org
X-Originator: nate@root.org
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+031216

  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.

--0-901806505-1073805435=:49720
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Sun, 11 Jan 2004, Hiroyuki Aizu wrote:
> On Fri, 9 Jan 2004 11:00:05 -0800
> Nate Lawson <nate@root.org> wrote:
>
> > Please test this and let me know if you find any bugs.  Especially test
> > things like the video output (TV/external monitory) since I'm not sure
> > it's legal to have all 3 outputs active at once.
>
> I found some problem in the function hci_*() etc.
> ( hci_force_fan(), hci_cpu_speed etc.)
>
> These functions check the value range of 3rd argument.
> For example in hci_force_fan().

Thanks for pointing that out.  Fixed diff is attached.

-Nate
--0-901806505-1073805435=:49720
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="tosh.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <20040110231715.W49720@root.org>
Content-Description: 
Content-Disposition: attachment; filename="tosh.diff"

SW5kZXg6IHN5cy9pMzg2L2FjcGljYS9hY3BpX3Rvc2hpYmEuYw0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IHN5cy9pMzg2L2FjcGljYS9h
Y3BpX3Rvc2hpYmEuYw0KZGlmZiAtTiBzeXMvaTM4Ni9hY3BpY2EvYWNwaV90
b3NoaWJhLmMNCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAt
MDAwMA0KKysrIHN5cy9pMzg2L2FjcGljYS9hY3BpX3Rvc2hpYmEuYwkxMSBK
YW4gMjAwNCAwMzozNDoxMCAtMDAwMA0KQEAgLTAsMCArMSw0ODUgQEANCisv
Ki0NCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMgSGlyb3l1a2kgQWl6dSA8YWl6
dUBuYXZpLm9yZz4NCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMgTmF0ZSBMYXdz
b24gKFNERykNCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAqDQorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0DQorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zDQorICogYXJlIG1ldDoNCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0K
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodA0KKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KKyAqDQorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORA0KKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQ0KKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFDQorICogQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCisgKiBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTA0KKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
DQorICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pDQorICogSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QNCisgKiBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZDQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRg0KKyAq
IFNVQ0ggREFNQUdFLg0KKyAqDQorICovDQorDQorI2luY2x1ZGUgPHN5cy9j
ZGVmcy5oPg0KK19fRkJTRElEKCIkRnJlZUJTRCQiKTsNCisNCisjaW5jbHVk
ZSAib3B0X2FjcGkuaCINCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+DQorI2lu
Y2x1ZGUgPHN5cy9rZXJuZWwuaD4NCisjaW5jbHVkZSA8c3lzL2J1cy5oPg0K
Kw0KKyNpbmNsdWRlICJhY3BpLmgiDQorI2luY2x1ZGUgPGRldi9hY3BpY2Ev
YWNwaXZhci5oPg0KKw0KKyNkZWZpbmUgX0NPTVBPTkVOVCAgICAgIEFDUElf
VE9TSElCQQ0KK0FDUElfTU9EVUxFX05BTUUoIlRPU0hJQkEiKQ0KKw0KKy8q
DQorICogVG9zaGliYSBIQ0kgaW50ZXJmYWNlIGRlZmluaXRpb25zDQorICoN
CisgKiBIQ0kgaXMgVG9zaGliYSdzICJIYXJkd2FyZSBDb250cm9sIEludGVy
ZmFjZSIgd2hpY2ggaXMgc3VwcG9zZWQgdG8NCisgKiBiZSB1bmlmb3JtIGFj
cm9zcyBhbGwgdGhlaXIgbW9kZWxzLiAgSWRlYWxseSB3ZSB3b3VsZCBqdXN0
IGNhbGwNCisgKiBkZWRpY2F0ZWQgQUNQSSBtZXRob2RzIGluc3RlYWQgb2Yg
dXNpbmcgdGhpcyBwcmltaXRpdmUgaW50ZXJmYWNlLg0KKyAqIEhvd2V2ZXIs
IHRoZSBBQ1BJIG1ldGhvZHMgc2VlbSB0byBiZSBpbmNvbXBsZXRlIGluIHNv
bWUgYXJlYXMgKGZvcg0KKyAqIGV4YW1wbGUgdGhleSBhbGxvdyBzZXR0aW5n
LCBidXQgbm90IHJlYWRpbmcsIHRoZSBMQ0QgYnJpZ2h0bmVzcw0KKyAqIHZh
bHVlKSwgc28gdGhpcyBpcyBzdGlsbCB1c2VmdWwuDQorICovDQorDQorI2Rl
ZmluZSBNRVRIT0RfSENJCQkiR0hDSSINCisjZGVmaW5lIE1FVEhPRF9IQ0lf
RU5BQkxFCSJFTkFCIg0KKw0KKy8qIE9wZXJhdGlvbnMgKi8NCisjZGVmaW5l
IEhDSV9TRVQJCQkJMHhGRjAwDQorI2RlZmluZSBIQ0lfR0VUCQkJCTB4RkUw
MA0KKw0KKy8qIFJldHVybiBjb2RlcyAqLw0KKyNkZWZpbmUgSENJX1NVQ0NF
U1MJCQkweDAwMDANCisjZGVmaW5lIEhDSV9GQUlMVVJFCQkJMHgxMDAwDQor
I2RlZmluZSBIQ0lfTk9UX1NVUFBPUlRFRAkJMHg4MDAwDQorI2RlZmluZSBI
Q0lfRU1QVFkJCQkweDhDMDANCisNCisvKiBGdW5jdGlvbnMgKi8NCisjZGVm
aW5lIEhDSV9SRUdfTENEX0JBQ0tMSUdIVAkJMHgwMDAyDQorI2RlZmluZSBI
Q0lfUkVHX0ZBTgkJCTB4MDAwNA0KKyNkZWZpbmUgSENJX1JFR19TWVNURU1f
RVZFTlQJCTB4MDAxNg0KKyNkZWZpbmUgSENJX1JFR19WSURFT19PVVRQVVQJ
CTB4MDAxQw0KKyNkZWZpbmUgSENJX1JFR19IT1RLRVlfRVZFTlQJCTB4MDAx
RQ0KKyNkZWZpbmUgSENJX1JFR19MQ0RfQlJJR0hUTkVTUwkJMHgwMDJBDQor
I2RlZmluZSBIQ0lfUkVHX0NQVV9TUEVFRAkJMHgwMDMyDQorDQorLyogRmll
bGQgZGVmaW5pdGlvbnMgKi8NCisjZGVmaW5lIEhDSV9MQ0RfQlJJR0hUTkVT
U19CSVRTCQkzDQorI2RlZmluZSBIQ0lfTENEX0JSSUdIVE5FU1NfU0hJRlQJ
KDE2IC0gSENJX0xDRF9CUklHSFRORVNTX0JJVFMpDQorI2RlZmluZSBIQ0lf
TENEX0JSSUdIVE5FU1NfTEVWRUxTCSgxIDw8IEhDSV9MQ0RfQlJJR0hUTkVT
U19CSVRTKQ0KKyNkZWZpbmUgSENJX1ZJREVPX09VVFBVVF9GTEFHCQkweDAx
MDANCisjZGVmaW5lIEhDSV9WSURFT19PVVRQVVRfTENECQkweDENCisjZGVm
aW5lIEhDSV9WSURFT19PVVRQVVRfQ1JUCQkweDINCisjZGVmaW5lIEhDSV9W
SURFT19PVVRQVVRfVFYJCTB4NA0KKyNkZWZpbmUgSENJX0NQVV9TUEVFRF9C
SVRTCQkzDQorI2RlZmluZSBIQ0lfQ1BVX1NQRUVEX1NISUZUCQkoMTYgLSBI
Q0lfQ1BVX1NQRUVEX0JJVFMpDQorI2RlZmluZSBIQ0lfQ1BVX1NQRUVEX0xF
VkVMUwkJKDEgPDwgSENJX0NQVV9TUEVFRF9CSVRTKQ0KKw0KKy8qIEtleSBw
cmVzcy9yZWxlYXNlIGV2ZW50cy4gKi8NCisjZGVmaW5lIEZOX0YxX1BSRVNT
CTB4MDEzQg0KKyNkZWZpbmUgRk5fRjFfUkVMRUFTRQkweDAxQkINCisjZGVm
aW5lIEZOX0YyX1BSRVNTCTB4MDEzQw0KKyNkZWZpbmUgRk5fRjJfUkVMRUFT
RQkweDAxQkMNCisjZGVmaW5lIEZOX0YzX1BSRVNTCTB4MDEzRA0KKyNkZWZp
bmUgRk5fRjNfUkVMRUFTRQkweDAxQkQNCisjZGVmaW5lIEZOX0Y0X1BSRVNT
CTB4MDEzRQ0KKyNkZWZpbmUgRk5fRjRfUkVMRUFTRQkweDAxQkUNCisjZGVm
aW5lIEZOX0Y1X1BSRVNTCTB4MDEzRg0KKyNkZWZpbmUgRk5fRjVfUkVMRUFT
RQkweDAxQkYNCisjZGVmaW5lIEZOX0Y2X1BSRVNTCTB4MDE0MA0KKyNkZWZp
bmUgRk5fRjZfUkVMRUFTRQkweDAxQzANCisjZGVmaW5lIEZOX0Y3X1BSRVNT
CTB4MDE0MQ0KKyNkZWZpbmUgRk5fRjdfUkVMRUFTRQkweDAxQzENCisjZGVm
aW5lIEZOX0Y4X1BSRVNTCTB4MDE0Mg0KKyNkZWZpbmUgRk5fRjhfUkVMRUFT
RQkweDAxQzINCisjZGVmaW5lIEZOX0Y5X1BSRVNTCTB4MDE0Mw0KKyNkZWZp
bmUgRk5fRjlfUkVMRUFTRQkweDAxQzMNCisjZGVmaW5lIEZOX0JTX1BSRVNT
CTB4MDEwRQ0KKyNkZWZpbmUgRk5fQlNfUkVMRUFTRQkweDAxOEUNCisjZGVm
aW5lIEZOX0VTQ19QUkVTUwkweDAxMDENCisjZGVmaW5lIEZOX0VTQ19SRUxF
QVNFCTB4MDE4MQ0KKyNkZWZpbmUgRk5fS05KX1BSRVNTCTB4MDEyOQ0KKyNk
ZWZpbmUgRk5fS05KX1JFTEVBU0UJMHgwMUE5DQorDQorLyogSENJIHJlZ2lz
dGVyIGRlZmluaXRpb25zLiAqLw0KKyNkZWZpbmUgSENJX1dPUkRTCTYJCS8q
IE51bWJlciBvZiByZWdpc3RlcnMgKi8NCisjZGVmaW5lIEhDSV9SRUdfQVgJ
MAkJLyogT3BlcmF0aW9uLCB0aGVuIHJldHVybiB2YWx1ZSAqLw0KKyNkZWZp
bmUgSENJX1JFR19CWAkxCQkvKiBGdW5jdGlvbiAqLw0KKyNkZWZpbmUgSENJ
X1JFR19DWAkyCQkvKiBBcmd1bWVudCAoaW4gb3Igb3V0KSAqLw0KKyNkZWZp
bmUgSENJX1JFR19EWAkzCQkvKiBVbnVzZWQ/ICovDQorI2RlZmluZSBIQ0lf
UkVHX1NJCTQJCS8qIFVudXNlZD8gKi8NCisjZGVmaW5lIEhDSV9SRUdfREkJ
NQkJLyogVW51c2VkPyAqLw0KKw0KK3N0cnVjdCBhY3BpX3Rvc2hpYmFfc29m
dGMgew0KKwlkZXZpY2VfdAlkZXY7DQorCUFDUElfSEFORExFCWhhbmRsZTsN
CisJc3RydWN0CQlzeXNjdGxfY3R4X2xpc3Qgc3lzY3RsX2N0eDsNCisJc3Ry
dWN0CQlzeXNjdGxfb2lkICpzeXNjdGxfdHJlZTsNCit9Ow0KKw0KKy8qIFBy
b3RvdHlwZSBmb3IgSENJIGZ1bmN0aW9ucyBmb3IgZ2V0dGluZy9zZXR0aW5n
IGEgdmFsdWUuICovDQordHlwZWRlZiBpbnQJaGNpX2ZuX3QoQUNQSV9IQU5E
TEUsIGludCwgVUlOVDMyICopOw0KKw0KK3N0YXRpYyBpbnQJYWNwaV90b3No
aWJhX3Byb2JlKGRldmljZV90IGRldik7DQorc3RhdGljIGludAlhY3BpX3Rv
c2hpYmFfYXR0YWNoKGRldmljZV90IGRldik7DQorc3RhdGljIGludAlhY3Bp
X3Rvc2hpYmFfZGV0YWNoKGRldmljZV90IGRldik7DQorc3RhdGljIGludAlh
Y3BpX3Rvc2hpYmFfc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1MpOw0KK3N0
YXRpYyBoY2lfZm5fdAloY2lfZm9yY2VfZmFuOw0KK3N0YXRpYyBoY2lfZm5f
dAloY2lfdmlkZW9fb3V0cHV0Ow0KK3N0YXRpYyBoY2lfZm5fdAloY2lfbGNk
X2JyaWdodG5lc3M7DQorc3RhdGljIGhjaV9mbl90CWhjaV9sY2RfYmFja2xp
Z2h0Ow0KK3N0YXRpYyBoY2lfZm5fdAloY2lfY3B1X3NwZWVkOw0KK3N0YXRp
YyBpbnQJaGNpX2NhbGwoQUNQSV9IQU5ETEUgaCwgaW50IG9wLCBpbnQgZnVu
Y3Rpb24sIFVJTlQzMiAqYXJnKTsNCitzdGF0aWMgdm9pZAloY2lfa2V5X2Fj
dGlvbihBQ1BJX0hBTkRMRSBoLCBVSU5UMzIga2V5KTsNCitzdGF0aWMgdm9p
ZAlhY3BpX3Rvc2hpYmFfbm90aWZ5KEFDUElfSEFORExFIGgsIFVJTlQzMiBu
b3RpZnksDQorCQkJCSAgICB2b2lkICpjb250ZXh0KTsNCisNCisvKiBUYWJs
ZSBvZiBzeXNjdGwgbmFtZXMgYW5kIEhDSSBmdW5jdGlvbnMgdG8gY2FsbC4g
Ki8NCitzdGF0aWMgc3RydWN0IHsNCisJY2hhcgkJKm5hbWU7DQorCWhjaV9m
bl90CSpoYW5kbGVyOw0KK30gc3lzY3RsX3RhYmxlW10gPSB7DQorCS8qIG5h
bWUsCQloYW5kbGVyICovDQorCXsiZm9yY2VfZmFuIiwJCWhjaV9mb3JjZV9m
YW59LA0KKwl7ImNwdV9zcGVlZCIsCQloY2lfY3B1X3NwZWVkfSwNCisJeyJ2
aWRlb19vdXRwdXQiLAloY2lfdmlkZW9fb3V0cHV0fSwNCisJeyJsY2RfYmFj
a2xpZ2h0IiwJaGNpX2xjZF9iYWNrbGlnaHR9LA0KKwl7ImxjZF9icmlnaHRu
ZXNzIiwJaGNpX2xjZF9icmlnaHRuZXNzfSwNCisJe05VTEwsIE5VTEx9DQor
fTsNCisNCitzdGF0aWMgZGV2aWNlX21ldGhvZF90IGFjcGlfdG9zaGliYV9t
ZXRob2RzW10gPSB7DQorCURFVk1FVEhPRChkZXZpY2VfcHJvYmUsCQlhY3Bp
X3Rvc2hpYmFfcHJvYmUpLA0KKwlERVZNRVRIT0QoZGV2aWNlX2F0dGFjaCwJ
YWNwaV90b3NoaWJhX2F0dGFjaCksDQorCURFVk1FVEhPRChkZXZpY2VfZGV0
YWNoLAlhY3BpX3Rvc2hpYmFfZGV0YWNoKSwNCisNCisJezAsIDB9DQorfTsN
CisNCitzdGF0aWMgZHJpdmVyX3QgYWNwaV90b3NoaWJhX2RyaXZlciA9IHsN
CisJImFjcGlfdG9zaGliYSIsDQorCWFjcGlfdG9zaGliYV9tZXRob2RzLA0K
KwlzaXplb2Yoc3RydWN0IGFjcGlfdG9zaGliYV9zb2Z0YyksDQorfTsNCisN
CitzdGF0aWMgZGV2Y2xhc3NfdCBhY3BpX3Rvc2hpYmFfZGV2Y2xhc3M7DQor
RFJJVkVSX01PRFVMRShhY3BpX3Rvc2hpYmEsIGFjcGksIGFjcGlfdG9zaGli
YV9kcml2ZXIsIGFjcGlfdG9zaGliYV9kZXZjbGFzcywNCisJICAgICAgMCwg
MCk7DQorTU9EVUxFX0RFUEVORChhY3BpX3Rvc2hpYmEsIGFjcGksIDEwMCwg
MTAwLCAxMDApOw0KKw0KK3N0YXRpYyBpbnQJZW5hYmxlX2ZuX2tleXMgPSAx
Ow0KK1RVTkFCTEVfSU5UKCJody5hY3BpLnRvc2hpYmEuZW5hYmxlX2ZuX2tl
eXMiLCAmZW5hYmxlX2ZuX2tleXMpOw0KKw0KKy8qDQorICogSElEICAgICAg
TW9kZWwNCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tDQorICogVE9TNjIwMCAgTGlicmV0dG8gTCBTZXJpZXMNCisgKiAgICAg
ICAgICBEeW5hYm9vayBTYXRlbGxpdGUgMjQ1NQ0KKyAqICAgICAgICAgIER5
bmFib29rIFNTIDM1MDANCisgKiBUT1M2MjA3ICBEeW5hYm9vayBTUzIxMTAg
U2VyaWVzDQorICovDQorc3RhdGljIGludA0KK2FjcGlfdG9zaGliYV9wcm9i
ZShkZXZpY2VfdCBkZXYpDQorew0KKwlpbnQgcmV0ID0gRU5YSU87DQorDQor
CWlmICghYWNwaV9kaXNhYmxlZCgidG9zaGliYSIpICYmDQorCSAgICBhY3Bp
X2dldF90eXBlKGRldikgPT0gQUNQSV9UWVBFX0RFVklDRSAmJg0KKwkgICAg
ZGV2aWNlX2dldF91bml0KGRldikgPT0gMCAmJg0KKwkgICAgKGFjcGlfTWF0
Y2hIaWQoZGV2LCAiVE9TNjIwMCIpIHx8DQorCSAgICAgYWNwaV9NYXRjaEhp
ZChkZXYsICJUT1M2MjA3IikpKSB7DQorCQlkZXZpY2Vfc2V0X2Rlc2MoZGV2
LCAiVG9zaGliYSBFeHRyYSBIQ0kiKTsNCisJCXJldCA9IDA7DQorCX0NCisN
CisJcmV0dXJuIChyZXQpOw0KK30NCisNCitzdGF0aWMgaW50DQorYWNwaV90
b3NoaWJhX2F0dGFjaChkZXZpY2VfdCBkZXYpDQorew0KKwlzdHJ1Y3QJCWFj
cGlfdG9zaGliYV9zb2Z0YyAqc2M7DQorCXN0cnVjdAkJYWNwaV9zb2Z0YyAq
YWNwaV9zYzsNCisJQUNQSV9TVEFUVVMJc3RhdHVzOw0KKwlpbnQJCWk7DQor
DQorCUFDUElfRlVOQ1RJT05fVFJBQ0UoKGNoYXIgKikodWludHB0cl90KV9f
ZnVuY19fKTsNCisNCisJc2MgPSBkZXZpY2VfZ2V0X3NvZnRjKGRldik7DQor
CXNjLT5kZXYgPSBkZXY7DQorCXNjLT5oYW5kbGUgPSBhY3BpX2dldF9oYW5k
bGUoZGV2KTsNCisNCisJYWNwaV9zYyA9IGFjcGlfZGV2aWNlX2dldF9wYXJl
bnRfc29mdGMoZGV2KTsNCisJc3lzY3RsX2N0eF9pbml0KCZzYy0+c3lzY3Rs
X2N0eCk7DQorCXNjLT5zeXNjdGxfdHJlZSA9IFNZU0NUTF9BRERfTk9ERSgm
c2MtPnN5c2N0bF9jdHgsDQorCSAgICBTWVNDVExfQ0hJTERSRU4oYWNwaV9z
Yy0+YWNwaV9zeXNjdGxfdHJlZSksIE9JRF9BVVRPLA0KKwkgICAgInRvc2hp
YmEiLCBDVExGTEFHX1JELCAwLCAiIik7DQorDQorCWZvciAoaSA9IDA7IHN5
c2N0bF90YWJsZVtpXS5uYW1lICE9IE5VTEw7IGkrKykgew0KKwkJU1lTQ1RM
X0FERF9QUk9DKCZzYy0+c3lzY3RsX2N0eCwNCisJCSAgICBTWVNDVExfQ0hJ
TERSRU4oc2MtPnN5c2N0bF90cmVlKSwgT0lEX0FVVE8sDQorCQkgICAgc3lz
Y3RsX3RhYmxlW2ldLm5hbWUsDQorCQkgICAgQ1RMVFlQRV9JTlQgfCBDVExG
TEFHX1JXIHwgQ1RMRkxBR19BTllCT0RZLA0KKwkJICAgIHNjLCBpLCBhY3Bp
X3Rvc2hpYmFfc3lzY3RsLCAiSSIsICIiKTsNCisJfQ0KKw0KKwlpZiAoZW5h
YmxlX2ZuX2tleXMgIT0gMCkgew0KKwkJc3RhdHVzID0gQWNwaUV2YWx1YXRl
T2JqZWN0KHNjLT5oYW5kbGUsIE1FVEhPRF9IQ0lfRU5BQkxFLA0KKwkJCQkJ
ICAgIE5VTEwsIE5VTEwpOw0KKwkJaWYgKEFDUElfRkFJTFVSRShzdGF0dXMp
KSB7DQorCQkJZGV2aWNlX3ByaW50ZihkZXYsICJlbmFibGUgRk4ga2V5cyBm
YWlsZWRcbiIpOw0KKwkJCXN5c2N0bF9jdHhfZnJlZSgmc2MtPnN5c2N0bF9j
dHgpOw0KKwkJCXJldHVybiAoRU5YSU8pOw0KKwkJfQ0KKwkJQWNwaUluc3Rh
bGxOb3RpZnlIYW5kbGVyKHNjLT5oYW5kbGUsIEFDUElfREVWSUNFX05PVElG
WSwNCisJCQkJCSBhY3BpX3Rvc2hpYmFfbm90aWZ5LCBzYyk7DQorCX0NCisN
CisJcmV0dXJuICgwKTsNCit9DQorDQorc3RhdGljIGludA0KK2FjcGlfdG9z
aGliYV9kZXRhY2goZGV2aWNlX3QgZGV2KQ0KK3sNCisJc3RydWN0CQlhY3Bp
X3Rvc2hpYmFfc29mdGMgKnNjOw0KKw0KKwlBQ1BJX0ZVTkNUSU9OX1RSQUNF
KChjaGFyICopKHVpbnRwdHJfdClfX2Z1bmNfXyk7DQorDQorCXNjID0gZGV2
aWNlX2dldF9zb2Z0YyhkZXYpOw0KKwlBY3BpUmVtb3ZlTm90aWZ5SGFuZGxl
cihzYy0+aGFuZGxlLCBBQ1BJX0RFVklDRV9OT1RJRlksDQorCQkJCWFjcGlf
dG9zaGliYV9ub3RpZnkpOw0KKwlzeXNjdGxfY3R4X2ZyZWUoJnNjLT5zeXNj
dGxfY3R4KTsNCisNCisJcmV0dXJuICgwKTsNCit9DQorDQorc3RhdGljIGlu
dA0KK2FjcGlfdG9zaGliYV9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUykN
Cit7DQorCXN0cnVjdAkJYWNwaV90b3NoaWJhX3NvZnRjICpzYzsNCisJVUlO
VDMyCQlhcmc7DQorCWludAkJZnVuY3Rpb24sIGVycm9yID0gMDsNCisJaGNp
X2ZuX3QJKmhhbmRsZXI7DQorDQorCXNjID0gKHN0cnVjdCBhY3BpX3Rvc2hp
YmFfc29mdGMgKilvaWRwLT5vaWRfYXJnMTsNCisJZnVuY3Rpb24gPSBvaWRw
LT5vaWRfYXJnMjsNCisJaGFuZGxlciA9IHN5c2N0bF90YWJsZVtmdW5jdGlv
bl0uaGFuZGxlcjsNCisNCisJLyogR2V0IHRoZSBjdXJyZW50IHZhbHVlIGZy
b20gdGhlIGFwcHJvcHJpYXRlIGZ1bmN0aW9uLiAqLw0KKwllcnJvciA9IGhh
bmRsZXIoc2MtPmhhbmRsZSwgSENJX0dFVCwgJmFyZyk7DQorCWlmIChlcnJv
ciAhPSAwKQ0KKwkJcmV0dXJuIChlcnJvcik7DQorDQorCS8qIFNlbmQgdGhl
IGN1cnJlbnQgdmFsdWUgdG8gdGhlIHVzZXIgYW5kIHJldHVybiBpZiBubyBu
ZXcgdmFsdWUuICovDQorCWVycm9yID0gc3lzY3RsX2hhbmRsZV9pbnQob2lk
cCwgJmFyZywgMCwgcmVxKTsNCisJaWYgKGVycm9yICE9IDAgfHwgcmVxLT5u
ZXdwdHIgPT0gTlVMTCkNCisJCXJldHVybiAoZXJyb3IpOw0KKw0KKwkvKiBT
ZXQgdGhlIG5ldyB2YWx1ZSB2aWEgdGhlIGFwcHJvcHJpYXRlIGZ1bmN0aW9u
LiAqLw0KKwllcnJvciA9IGhhbmRsZXIoc2MtPmhhbmRsZSwgSENJX1NFVCwg
JmFyZyk7DQorDQorCXJldHVybiAoZXJyb3IpOw0KK30NCisNCitzdGF0aWMg
aW50DQoraGNpX2ZvcmNlX2ZhbihBQ1BJX0hBTkRMRSBoLCBpbnQgb3AsIFVJ
TlQzMiAqc3RhdGUpDQorew0KKwlpbnQJCXJldDsNCisNCisJaWYgKG9wID09
IEhDSV9TRVQpIHsNCisJCWlmICgqc3RhdGUgPCAwIHx8ICpzdGF0ZSA+IDEp
DQorCQkJcmV0dXJuIChFSU5WQUwpOw0KKwkJKnN0YXRlIDw8PSA3Ow0KKwl9
DQorCXJldCA9IGhjaV9jYWxsKGgsIG9wLCBIQ0lfUkVHX0ZBTiwgc3RhdGUp
Ow0KKwlpZiAocmV0ID09IDAgJiYgb3AgPT0gSENJX0dFVCkNCisJCSpzdGF0
ZSA+Pj0gNzsNCisJcmV0dXJuIChyZXQpOw0KK30NCisNCitzdGF0aWMgaW50
DQoraGNpX3ZpZGVvX291dHB1dChBQ1BJX0hBTkRMRSBoLCBpbnQgb3AsIFVJ
TlQzMiAqdmlkZW9fb3V0cHV0KQ0KK3sNCisJaW50CQlyZXQ7DQorDQorCWlm
IChvcCA9PSBIQ0lfU0VUKSB7DQorCQlpZiAoKnZpZGVvX291dHB1dCA8IDAg
fHwgKnZpZGVvX291dHB1dCA+IDcpDQorCQkJcmV0dXJuIChFSU5WQUwpOw0K
KwkJKnZpZGVvX291dHB1dCB8PSBIQ0lfVklERU9fT1VUUFVUX0ZMQUc7DQor
CX0NCisJcmV0ID0gaGNpX2NhbGwoaCwgb3AsIEhDSV9SRUdfVklERU9fT1VU
UFVULCB2aWRlb19vdXRwdXQpOw0KKwlpZiAocmV0ID09IDAgJiYgb3AgPT0g
SENJX0dFVCkNCisJCSp2aWRlb19vdXRwdXQgJj0gMHhmZjsNCisJcmV0dXJu
IChyZXQpOw0KK30NCisNCitzdGF0aWMgaW50DQoraGNpX2xjZF9icmlnaHRu
ZXNzKEFDUElfSEFORExFIGgsIGludCBvcCwgVUlOVDMyICpicmlnaHRuZXNz
KQ0KK3sNCisJaW50CQlyZXQ7DQorDQorCWlmIChvcCA9PSBIQ0lfU0VUKSB7
DQorCQlpZiAoKmJyaWdodG5lc3MgPCAwIHx8ICpicmlnaHRuZXNzID4gNykN
CisJCQlyZXR1cm4gKEVJTlZBTCk7DQorCQkqYnJpZ2h0bmVzcyA8PD0gSENJ
X0xDRF9CUklHSFRORVNTX1NISUZUOw0KKwl9DQorCXJldCA9IGhjaV9jYWxs
KGgsIG9wLCBIQ0lfUkVHX0xDRF9CUklHSFRORVNTLCBicmlnaHRuZXNzKTsN
CisJaWYgKHJldCA9PSAwICYmIG9wID09IEhDSV9HRVQpDQorCQkqYnJpZ2h0
bmVzcyA+Pj0gSENJX0xDRF9CUklHSFRORVNTX1NISUZUOw0KKwlyZXR1cm4g
KHJldCk7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCitoY2lfbGNkX2JhY2tsaWdo
dChBQ1BJX0hBTkRMRSBoLCBpbnQgb3AsIFVJTlQzMiAqYmFja2xpZ2h0KQ0K
K3sNCisJaWYgKG9wID09IEhDSV9TRVQpIHsNCisJCWlmICgqYmFja2xpZ2h0
IDwgMCB8fCAqYmFja2xpZ2h0ID4gMSkNCisJCQlyZXR1cm4gKEVJTlZBTCk7
DQorCX0NCisJcmV0dXJuIChoY2lfY2FsbChoLCBvcCwgSENJX1JFR19MQ0Rf
QkFDS0xJR0hULCBiYWNrbGlnaHQpKTsNCit9DQorDQorc3RhdGljIGludA0K
K2hjaV9jcHVfc3BlZWQoQUNQSV9IQU5ETEUgaCwgaW50IG9wLCBVSU5UMzIg
KnNwZWVkKQ0KK3sNCisJaW50CQlyZXQ7DQorDQorCWlmIChvcCA9PSBIQ0lf
U0VUKSB7DQorCQlpZiAoKnNwZWVkIDwgMCB8fCAqc3BlZWQgPj0gSENJX0NQ
VV9TUEVFRF9MRVZFTFMpDQorCQkJcmV0dXJuIChFSU5WQUwpOw0KKwkJKnNw
ZWVkIDw8PSBIQ0lfQ1BVX1NQRUVEX1NISUZUOw0KKwl9DQorCXJldCA9IGhj
aV9jYWxsKGgsIG9wLCBIQ0lfUkVHX0NQVV9TUEVFRCwgc3BlZWQpOw0KKwlp
ZiAocmV0ID09IDAgJiYgb3AgPT0gSENJX0dFVCkNCisJCSpzcGVlZCA+Pj0g
SENJX0NQVV9TUEVFRF9TSElGVDsNCisJcmV0dXJuIChyZXQpOw0KK30NCisN
CitzdGF0aWMgaW50DQoraGNpX2NhbGwoQUNQSV9IQU5ETEUgaCwgaW50IG9w
LCBpbnQgZnVuY3Rpb24sIFVJTlQzMiAqYXJnKQ0KK3sNCisJQUNQSV9PQkpF
Q1RfTElTVCBhcmdzOw0KKwlBQ1BJX0JVRkZFUglyZXN1bHRzOw0KKwlBQ1BJ
X09CSkVDVAlvYmpbSENJX1dPUkRTXTsNCisJQUNQSV9PQkpFQ1QJKnJlczsN
CisJaW50CQlzdGF0dXMsIGksIHJldDsNCisNCisJc3RhdHVzID0gRU5YSU87
DQorDQorCWZvciAoaSA9IDA7IGkgPCBIQ0lfV09SRFM7IGkrKykgew0KKwkJ
b2JqW2ldLlR5cGUgPSBBQ1BJX1RZUEVfSU5URUdFUjsNCisJCW9ialtpXS5J
bnRlZ2VyLlZhbHVlID0gMDsNCisJfQ0KKwlvYmpbSENJX1JFR19BWF0uSW50
ZWdlci5WYWx1ZSA9IG9wOw0KKwlvYmpbSENJX1JFR19CWF0uSW50ZWdlci5W
YWx1ZSA9IGZ1bmN0aW9uOw0KKwlpZiAob3AgPT0gSENJX1NFVCkNCisJCW9i
altIQ0lfUkVHX0NYXS5JbnRlZ2VyLlZhbHVlID0gKmFyZzsNCisNCisJYXJn
cy5Db3VudCA9IEhDSV9XT1JEUzsNCisJYXJncy5Qb2ludGVyID0gb2JqOw0K
KwlyZXN1bHRzLlBvaW50ZXIgPSBOVUxMOw0KKwlyZXN1bHRzLkxlbmd0aCA9
IEFDUElfQUxMT0NBVEVfQlVGRkVSOw0KKwlpZiAoQUNQSV9GQUlMVVJFKEFj
cGlFdmFsdWF0ZU9iamVjdChoLCBNRVRIT0RfSENJLCAmYXJncywgJnJlc3Vs
dHMpKSkNCisJCWdvdG8gZW5kOw0KKwlyZXMgPSAoQUNQSV9PQkpFQ1QgKily
ZXN1bHRzLlBvaW50ZXI7DQorCWlmICghQUNQSV9QS0dfVkFMSUQocmVzLCBI
Q0lfV09SRFMpKSB7DQorCQlwcmludGYoInRvc2hpYmE6IGludmFsaWQgcGFj
a2FnZSFcbiIpOw0KKwkJcmV0dXJuIChFTlhJTyk7DQorCX0NCisNCisJYWNw
aV9Qa2dJbnQzMihyZXMsIEhDSV9SRUdfQVgsICZyZXQpOw0KKwlpZiAocmV0
ID09IEhDSV9TVUNDRVNTKSB7DQorCQlpZiAob3AgPT0gSENJX0dFVCkNCisJ
CQlhY3BpX1BrZ0ludDMyKHJlcywgSENJX1JFR19DWCwgYXJnKTsNCisJCXN0
YXR1cyA9IDA7DQorCX0gZWxzZSBpZiAoZnVuY3Rpb24gPT0gSENJX1JFR19T
WVNURU1fRVZFTlQgJiYgb3AgPT0gSENJX0dFVCAmJg0KKwkgICAgcmV0ID09
IEhDSV9OT1RfU1VQUE9SVEVEKSB7DQorCQkvKg0KKwkJICogU29tZXRpbWVz
IHN5c3RlbSBldmVudHMgYXJlIGRpc2FibGVkIHdpdGhvdXQgdXMgcmVxdWVz
dGluZw0KKwkJICogaXQuICBUaGlzIHdvcmthcm91bmQgYXR0ZW1wdHMgdG8g
cmUtZW5hYmxlIHRoZW0uDQorCQkgKi8NCisJCSBpID0gMTsNCisJCSBoY2lf
Y2FsbChoLCBIQ0lfU0VULCBIQ0lfUkVHX1NZU1RFTV9FVkVOVCwgJmkpOw0K
Kwl9DQorDQorZW5kOg0KKwlpZiAocmVzdWx0cy5Qb2ludGVyICE9IE5VTEwp
DQorCQlBY3BpT3NGcmVlKHJlc3VsdHMuUG9pbnRlcik7DQorDQorCXJldHVy
biAoc3RhdHVzKTsNCit9DQorDQorLyoNCisgKiBQZXJmb3JtIGEgZmV3IGFj
dGlvbnMgYmFzZWQgb24gdGhlIGtleXByZXNzLiAgVXNlcnMgY2FuIGV4dGVu
ZCB0aGlzDQorICogZnVuY3Rpb25hbGl0eSBieSByZWFkaW5nIHRoZSBrZXlz
dHJva2VzIHdlIHNlbmQgdG8gZGV2ZCg4KS4NCisgKi8NCitzdGF0aWMgdm9p
ZA0KK2hjaV9rZXlfYWN0aW9uKEFDUElfSEFORExFIGgsIFVJTlQzMiBrZXkp
DQorew0KKwlVSU5UMzIJCWFyZzsNCisNCisJc3dpdGNoIChrZXkpIHsNCisJ
Y2FzZSBGTl9GNl9SRUxFQVNFOg0KKwkJLyogRGVjcmVhc2UgTENEIGJyaWdo
dG5lc3MuICovDQorCQloY2lfbGNkX2JyaWdodG5lc3MoaCwgSENJX0dFVCwg
JmFyZyk7DQorCQlpZiAoYXJnLS0gPT0gMCkNCisJCQlhcmcgPSAwOw0KKwkJ
ZWxzZQ0KKwkJCWhjaV9sY2RfYnJpZ2h0bmVzcyhoLCBIQ0lfU0VULCAmYXJn
KTsNCisJCWJyZWFrOw0KKwljYXNlIEZOX0Y3X1JFTEVBU0U6DQorCQkvKiBJ
bmNyZWFzZSBMQ0QgYnJpZ2h0bmVzcy4gKi8NCisJCWhjaV9sY2RfYnJpZ2h0
bmVzcyhoLCBIQ0lfR0VULCAmYXJnKTsNCisJCWlmIChhcmcrKyA9PSA3KQ0K
KwkJCWFyZyA9IDc7DQorCQllbHNlDQorCQkJaGNpX2xjZF9icmlnaHRuZXNz
KGgsIEhDSV9TRVQsICZhcmcpOw0KKwkJYnJlYWs7DQorCWNhc2UgRk5fRjVf
UkVMRUFTRToNCisJCS8qIEN5Y2xlIHRocm91Z2ggdmlkZW8gb3V0cHV0cy4g
Ki8NCisJCWhjaV92aWRlb19vdXRwdXQoaCwgSENJX0dFVCwgJmFyZyk7DQor
CQlhcmcgPSAoYXJnICsgMSkgJSA3Ow0KKwkJaGNpX3ZpZGVvX291dHB1dCho
LCBIQ0lfU0VULCAmYXJnKTsNCisJCWJyZWFrOw0KKwljYXNlIEZOX0Y4X1JF
TEVBU0U6DQorCQkvKiBUb2dnbGUgTENEIGJhY2tsaWdodC4gKi8NCisJCWhj
aV9sY2RfYmFja2xpZ2h0KGgsIEhDSV9HRVQsICZhcmcpOw0KKwkJYXJnID0g
KGFyZyAhPSAwKSA/IDAgOiAxOw0KKwkJaGNpX2xjZF9iYWNrbGlnaHQoaCwg
SENJX1NFVCwgJmFyZyk7DQorCQlicmVhazsNCisJY2FzZSBGTl9FU0NfUkVM
RUFTRToNCisJCS8qIFRvZ2dsZSBmb3JjaW5nIGZhbiBvbi4gKi8NCisJCWhj
aV9mb3JjZV9mYW4oaCwgSENJX0dFVCwgJmFyZyk7DQorCQlhcmcgPSAoYXJn
ICE9IDApID8gMCA6IDE7DQorCQloY2lfZm9yY2VfZmFuKGgsIEhDSV9TRVQs
ICZhcmcpOw0KKwkJYnJlYWs7DQorCX0NCit9DQorDQorc3RhdGljIHZvaWQN
CithY3BpX3Rvc2hpYmFfbm90aWZ5KEFDUElfSEFORExFIGgsIFVJTlQzMiBu
b3RpZnksIHZvaWQgKmNvbnRleHQpDQorew0KKwlzdHJ1Y3QJCWFjcGlfdG9z
aGliYV9zb2Z0YyAqc2M7DQorCVVJTlQzMgkJa2V5Ow0KKw0KKwlzYyA9IChz
dHJ1Y3QgYWNwaV90b3NoaWJhX3NvZnRjICopY29udGV4dDsNCisNCisJaWYg
KG5vdGlmeSA9PSAweDgwKSB7DQorCQl3aGlsZSAoaGNpX2NhbGwoaCwgSENJ
X0dFVCwgSENJX1JFR19TWVNURU1fRVZFTlQsICZrZXkpID09IDApIHsNCisJ
CQloY2lfa2V5X2FjdGlvbihoLCBrZXkpOw0KKwkJCWFjcGlfVXNlck5vdGlm
eSgiVE9TSElCQSIsIGgsICh1aW50OF90KWtleSk7DQorCQl9DQorCX0gZWxz
ZSB7DQorCQlkZXZpY2VfcHJpbnRmKHNjLT5kZXYsICJ1bmtub3duIG5vdGlm
eTogMHgleFxuIiwgbm90aWZ5KTsNCisJfQ0KK30NCkluZGV4OiBzeXMvbW9k
dWxlcy9hY3BpL2FjcGlfdG9zaGliYS9NYWtlZmlsZQ0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KUkNTIGZpbGU6IHN5cy9tb2R1bGVzL2FjcGkvYWNwaV90
b3NoaWJhL01ha2VmaWxlDQpkaWZmIC1OIHN5cy9tb2R1bGVzL2FjcGkvYWNw
aV90b3NoaWJhL01ha2VmaWxlDQotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAg
MDA6MDA6MDAgLTAwMDANCisrKyBzeXMvbW9kdWxlcy9hY3BpL2FjcGlfdG9z
aGliYS9NYWtlZmlsZQkyMCBEZWMgMjAwMyAwMzowNzoxOCAtMDAwMA0KQEAg
LTAsMCArMSw5IEBADQorIyAkRnJlZUJTRCQNCisNCisuUEFUSDoJCSR7LkNV
UkRJUn0vLi4vLi4vLi4vaTM4Ni9hY3BpY2ENCisNCitLTU9EPQkJYWNwaV90
b3NoaWJhDQorQ0ZMQUdTKz0JLUkkey5DVVJESVJ9Ly4uLy4uLy4uL2NvbnRy
aWIvZGV2L2FjcGljYQ0KK1NSQ1M9CQlhY3BpX3Rvc2hpYmEuYyBvcHRfYWNw
aS5oIGRldmljZV9pZi5oIGJ1c19pZi5oDQorDQorLmluY2x1ZGUgPGJzZC5r
bW9kLm1rPg0KSW5kZXg6IHN5cy9jb25mL2ZpbGVzLmkzODYNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMv
Y29uZi9maWxlcy5pMzg2LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS40NjAN
CmRpZmYgLXUgLXIxLjQ2MCBmaWxlcy5pMzg2DQotLS0gc3lzL2NvbmYvZmls
ZXMuaTM4NgkxMSBEZWMgMjAwMyAyMjozNDozNiAtMDAwMAkxLjQ2MA0KKysr
IHN5cy9jb25mL2ZpbGVzLmkzODYJMzAgRGVjIDIwMDMgMTg6MjY6NDUgLTAw
MDANCkBAIC0xNjgsNiArMTY4LDcgQEANCiBnZW9tL2dlb21fbWJyX2VuYy5j
CQlzdGFuZGFyZA0KIGkzODYvYWNwaWNhL09zZEVudmlyb25tZW50LmMJb3B0
aW9uYWwJYWNwaQ0KIGkzODYvYWNwaWNhL2FjcGlfbWFjaGRlcC5jCW9wdGlv
bmFsCWFjcGkNCitpMzg2L2FjcGljYS9hY3BpX3Rvc2hpYmEuYwlvcHRpb25h
bAlhY3BpX3Rvc2hpYmEgYWNwaQ0KIGkzODYvYWNwaWNhL2FjcGlfd2FrZXVw
LmMJb3B0aW9uYWwJYWNwaQ0KIGFjcGlfd2FrZWNvZGUuaAkJCW9wdGlvbmFs
CWFjcGkJCQlcDQogCWRlcGVuZGVuY3kgCSIkUy9pMzg2L2FjcGljYS9hY3Bp
X3dha2Vjb2RlLlMiCQlcDQpJbmRleDogc3lzL2kzODYvY29uZi9OT1RFUw0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMv
c3JjL3N5cy9pMzg2L2NvbmYvTk9URVMsdg0KcmV0cmlldmluZyByZXZpc2lv
biAxLjExMTENCmRpZmYgLXUgLXIxLjExMTEgTk9URVMNCi0tLSBzeXMvaTM4
Ni9jb25mL05PVEVTCTMwIERlYyAyMDAzIDA3OjI4OjU0IC0wMDAwCTEuMTEx
MQ0KKysrIHN5cy9pMzg2L2NvbmYvTk9URVMJMzAgRGVjIDIwMDMgMTg6Mjc6
MjkgLTAwMDANCkBAIC00MzksNiArNDM5LDEwIEBADQogIyFvcHRpb25zIAlB
Q1BJX05PX1NFTUFQSE9SRVMNCiAjIW9wdGlvbnMgCUFDUElDQV9QRURBTlRJ
Qw0KIA0KKyMgQUNQSSBUb3NoaWJhIEV4dHJhcyAoTENEIGJhY2tsaWdodC9i
cmlnaHRuZXNzLCB2aWRlbyBvdXRwdXQsIGV0Yy4pDQorIw0KK2RldmljZQkJ
YWNwaV90b3NoaWJhDQorDQogIyBEUk0gb3B0aW9uczoNCiAjIG1nYWRybTog
ICAgQUdQIE1hdHJveCBHMjAwLCBHNDAwLCBHNDUwLCBHNTUwDQogIyByMTI4
ZHJtOiAgIEFUSSBSYWdlIDEyOA0K

--0-901806505-1073805435=:49720--
