From owner-acpi-jp@jp.freebsd.org  Sat Feb  5 00:39:25 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id AAA29744;
	Sat, 5 Feb 2000 00:39:25 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from mail.ogis-ri.co.jp (ns.ogis-ri.co.jp [158.201.127.1])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id AAA29737
	for <acpi-jp@jp.freebsd.org>; Sat, 5 Feb 2000 00:39:24 +0900 (JST)
	(envelope-from yokoyama@o3.otc.ogis-ri.co.jp)
Received: from nozomi.icc.ogis-ri.co.jp (nozomi.icc.ogis-ri.co.jp [158.201.123.33])
	by mail.ogis-ri.co.jp (8.9.2+3.1W/3.7W0001241907) with ESMTP id AAA12350
	for <acpi-jp@jp.freebsd.org>; Sat, 5 Feb 2000 00:39:17 +0900 (JST)
Received: from o3.otc.ogis-ri.co.jp (o3.otc.ogis-ri.co.jp [158.201.73.1]) by nozomi.icc.ogis-ri.co.jp (8.9.3+3.2W/3.5Wpl2-ogismail1.0) with ESMTP id AAA17385 for <acpi-jp@jp.freebsd.org>; Sat, 5 Feb 2000 00:39:16 +0900 (JST)
Received: from morse (test12.o3.otc.ogis-ri.co.jp [158.201.73.93]) by o3.otc.ogis-ri.co.jp (8.8.4/3.5Wpl597042212) with SMTP id AAA09126; Sat, 5 Feb 2000 00:38:40 +0900 (JST)
Message-Id: <200002041538.AAA09126@o3.otc.ogis-ri.co.jp>
Date: Sat, 05 Feb 2000 00:40:36 +0900
From: Yasuo Yokoyama/=?ISO-2022-JP?B?GyRCMiM7MyEhQllJVxsoQg==?= <yokoyama@o3.otc.ogis-ri.co.jp>
To: acpi-jp@jp.freebsd.org
Organization: OGIS-RI Co., Ltd.
Reply-To: acpi-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: acpi-jp 261
Subject: [acpi-jp 261] Re: Destroy Objects
Errors-To: owner-acpi-jp@jp.freebsd.org
Sender: owner-acpi-jp@jp.freebsd.org
X-Originator: yokoyama@o3.otc.ogis-ri.co.jp

Reference
X-Mailer: Datula version 1.22.06 for Windows
Mime-Version: 1.0
Content-Type: multipart/mixed;
	boundary="------=_949677164.FFC8FF57.FFC8F1AF"

This is a multi-part message in MIME format.

--------=_949677164.FFC8FF57.FFC8F1AF
Content-Type: text/plain; charset=iso-2022-jp

$B2#;3$G$9!#(B

In Message [acpi-jp: 245]<20000125134210L.yokoyama@o3.otc.ogis-ri.co.jp>
	$B;d(B wrote:

>$B3N$+$K$=$&FI$a$J$/$J$$$G$9$M$'!#(B
>$B$H$j$"$($:$O!"(Baml_name $B$K%j%s%/$rB-$9$H$3$m$r$d$C$D$1$k$3$H$K$7$^$9!#(B
>$B!t(B $B$3$C$A$O0[O@$J$$$G$9$h$M!)(B

>Method $B%m!<%+%k$J=j$O$b$&0lEY8!F$$H$$$&$3$H$G(B
># $B<B$N=j(B Method $BC10L$N(B lifetime $B$r;}$D%*%V%8%'%/%H(B($B%a%=%C%I$GDj5A(B
># $B$5$l$k%*%V%8%'%/%H$*$h$S(BLocalX,ArgX)$B$OE}0l$7$?4IM}J}K!$r$H$kJ}$,(B
># $B$$$$$s$8$c$J$$$+$H$$$&5$$,$7$F$$$^$9!#$3$C$A$NJ}$+$i$b8!F$$7$F$_$^$9!#(B

$B$N7o$G$9$,!"$3$s$JIw$K$7$F$_$^$7$?!#$R$H$D;n$7$F$_$F$/$@$5$$!#(B

$B;D7o(B
$B%a%=%C%I8F$S=P$7$K4X$7$F$O:#0l$D%F%9%H$G$-$F$$$^$;$s!#(B
temporary_object $B$N<h$j07$$$N$H$3$m$O2u$l$F$^$9!#(B
Load(), Unload() $B$b$^$@L$<BAu$G$9!#(B
# $B<BAu$7$F$b%F%9%H$9$k(B DSDT $B$,L5$$$H$$$&$N$b$"$j$^$9$,!D(B

PS.
$B%F%9%H$7$F$F!"%a%=%C%I8F$S=P$7$N0z?t$N?t$N$H$3$m$,$*$+$7$+$C$?$N$G%Q%C%A(B
$BIU$1$F$*$-$^$9!#(B

-- 
$B$h$3$d$^!w$*!<$8$9$=$&$1$s(B
--------=_949677164.FFC8FF57.FFC8F1AF
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="namespace.patch"

SW5kZXg6IE1ha2VmaWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9ob21lL25jdnMtYWNwaS9BQ1BJL3V0aWwvYWNwaWNvbmYvTWFrZWZp
bGUsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNgpkaWZmIC11IC1yMS42IE1h
a2VmaWxlCi0tLSBNYWtlZmlsZQkyMDAwLzAxLzAyIDIwOjA0OjMxCTEuNgor
KysgTWFrZWZpbGUJMjAwMC8wMS8zMCAxODowOTo0NApAQCAtMSw1ICsxLDUg
QEAKIFBST0c9CWFjcGljb25mCi1TUkNTPQlwYXJzZSBuYW1lIGFjcGkgYWNw
aV91c2VyIGFtbG1lbSBtZW1tYW4gc3RvcmUgb2JqIGV2YWxvYmogc2VhcmNo
IG1haW4gZGVidWcgcmVnaW9uCitTUkNTPQlwYXJzZS5jIG5hbWUuYyBhY3Bp
LmMgYWNwaV91c2VyLmMgYW1sbWVtLmMgbWVtbWFuLmMgc3RvcmUuYyBvYmou
YyBldmFsb2JqLmMgbWFpbi5jIGRlYnVnLmMgcmVnaW9uLmMKIE5PTUFOPQl5
ZXMKIERFQlVHX0ZMQUdTPSAtZyAgLVdhbGwgCiAjVG8gcnVuIHVuZGVyIEZy
ZWVCU0QyLjIgVXNlIGZvbGxvd2luZyBkZWJ1ZyBmbGFnCkluZGV4OiBhbWxt
ZW0uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9u
Y3ZzLWFjcGkvQUNQSS91dGlsL2FjcGljb25mL2FtbG1lbS5jLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjUKZGlmZiAtdSAtcjEuNSBhbWxtZW0uYwotLS0g
YW1sbWVtLmMJMjAwMC8wMS8yNyAxNjowMDoxNAkxLjUKKysrIGFtbG1lbS5j
CTIwMDAvMDEvMzAgMTg6MjM6NDEKQEAgLTUwLDcgKzUwLDcgQEAKIE1FTU1B
Tl9JTklUSUFMU1RPUkFHRV9ERVNDKHN0cnVjdCBhbWxfYnVmZmVyZmllbGQs
IF9hbWxfYnVmZmVyZmllbGRfc3RvcmFnZSk7CiBNRU1NQU5fSU5JVElBTFNU
T1JBR0VfREVTQyhlbnVtIGFtbF9vYmp0eXBlLCBfYW1sX29ianR5cGVfc3Rv
cmFnZSk7CiBNRU1NQU5fSU5JVElBTFNUT1JBR0VfREVTQyhzdHJ1Y3QgYW1s
X25hbWUsIF9hbWxfbmFtZV9zdG9yYWdlKTsKLU1FTU1BTl9JTklUSUFMU1RP
UkFHRV9ERVNDKHN0cnVjdCBhbWxfbmFtZXB0ciwgX2FtbF9uYW1lcHRyX3N0
b3JhZ2UpOworTUVNTUFOX0lOSVRJQUxTVE9SQUdFX0RFU0Moc3RydWN0IGFt
bF9uYW1lX2dyb3VwLCBfYW1sX25hbWVfZ3JvdXBfc3RvcmFnZSk7CiBNRU1N
QU5fSU5JVElBTFNUT1JBR0VfREVTQyhzdHJ1Y3QgYW1sX29ianJlZiwgX2Ft
bF9vYmpyZWZfc3RvcmFnZSk7CiBNRU1NQU5fSU5JVElBTFNUT1JBR0VfREVT
QyhzdHJ1Y3QgYW1sX2Vudmlyb24sIF9hbWxfZW52aXJvbl9zdG9yYWdlKTsK
IE1FTU1BTl9JTklUSUFMU1RPUkFHRV9ERVNDKHN0cnVjdCBhbWxfb2JqZWN0
cHRyLCBfYW1sX29iamVjdHB0cl9zdG9yYWdlKTsKQEAgLTcwLDcgKzcwLDcg
QEAKIAlNRU1NQU5fTUVNQkxPQ0tfREVTQyhzaXplb2Yoc3RydWN0IGFtbF9i
dWZmZXJmaWVsZCksIF9hbWxfYnVmZmVyZmllbGRfc3RvcmFnZSksCiAJTUVN
TUFOX01FTUJMT0NLX0RFU0Moc2l6ZW9mKGVudW0gYW1sX29ianR5cGUpLCBf
YW1sX29ianR5cGVfc3RvcmFnZSksCiAJTUVNTUFOX01FTUJMT0NLX0RFU0Mo
c2l6ZW9mKHN0cnVjdCBhbWxfbmFtZSksIF9hbWxfbmFtZV9zdG9yYWdlKSwK
LQlNRU1NQU5fTUVNQkxPQ0tfREVTQyhzaXplb2Yoc3RydWN0IGFtbF9uYW1l
cHRyKSwgX2FtbF9uYW1lcHRyX3N0b3JhZ2UpLAorCU1FTU1BTl9NRU1CTE9D
S19ERVNDKHNpemVvZihzdHJ1Y3QgYW1sX25hbWVfZ3JvdXApLCBfYW1sX25h
bWVfZ3JvdXBfc3RvcmFnZSksCiAJTUVNTUFOX01FTUJMT0NLX0RFU0Moc2l6
ZW9mKHN0cnVjdCBhbWxfb2JqcmVmKSwgX2FtbF9vYmpyZWZfc3RvcmFnZSks
CiAJTUVNTUFOX01FTUJMT0NLX0RFU0Moc2l6ZW9mKHN0cnVjdCBhbWxfZW52
aXJvbiksIF9hbWxfZW52aXJvbl9zdG9yYWdlKSwKIAlNRU1NQU5fTUVNQkxP
Q0tfREVTQyhzaXplb2Yoc3RydWN0IGFtbF9vYmplY3RwdHIpLCBfYW1sX29i
amVjdHB0cl9zdG9yYWdlKSwKSW5kZXg6IGFtbG1lbS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL25jdnMtYWNwaS9BQ1BJL3V0
aWwvYWNwaWNvbmYvYW1sbWVtLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
NApkaWZmIC11IC1yMS40IGFtbG1lbS5oCi0tLSBhbWxtZW0uaAkyMDAwLzAx
LzI3IDE2OjAwOjE0CTEuNAorKysgYW1sbWVtLmgJMjAwMC8wMS8zMCAxODoy
Mjo0OQpAQCAtNDksNyArNDksNyBAQAogCW1lbWlkX2FtbF9idWZmZXJmaWVs
ZCwKIAltZW1pZF9hbWxfb2JqdHlwZSwKIAltZW1pZF9hbWxfbmFtZSwKLQlt
ZW1pZF9hbWxfbmFtZXB0ciwKKwltZW1pZF9hbWxfbmFtZV9ncm91cCwKIAlt
ZW1pZF9hbWxfb2JqcmVmLAogCW1lbWlkX2FtbF9lbnZpcm9uLAogCW1lbWlk
X2FtbF9vYmplY3RwdHIsCkluZGV4OiBkZWJ1Zy5jCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL25jdnMtYWNwaS9BQ1BJL3V0aWwv
YWNwaWNvbmYvZGVidWcuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS43CmRp
ZmYgLXUgLXIxLjcgZGVidWcuYwotLS0gZGVidWcuYwkyMDAwLzAxLzI3IDE2
OjAwOjE0CTEuNworKysgZGVidWcuYwkyMDAwLzAyLzA0IDA3OjMyOjQxCkBA
IC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAic3RhdHVzLmgiCiAjaW5jbHVk
ZSAiZW52LmgiCiAjaW5jbHVkZSAib2JqLmgiCi0jaW5jbHVkZSAic2VhcmNo
LmgiCiAjaW5jbHVkZSAiZXZhbG9iai5oIgogI2luY2x1ZGUgInBhcnNlLmgi
CiAjaW5jbHVkZSAic3RvcmUuaCIKQEAgLTIzNCwxMCArMjMzLDEyIEBACiAJ
CQl9CiAJCQluYW1lID0gc2VhcmNoX2FtbF9uYW1lX3JlY3Vyc2l2ZShnZXRf
cm9vdG5hbWUoKSwgcHRyKTsKIAkJCWlmIChuYW1lID09IE5VTEwpIHsKKwkJ
CSAgcHJpbnRmKCIlczolZDphY3BpX2RiZ3I6IG5vdCBmb3VuZCBuYW1lICVz
XG4iLCBfX0ZJTEVfXywgX19MSU5FX18sIHB0cik7CiAJCQkJYnJlYWs7CiAJ
CQl9CiAJCQlpZiAobmFtZS0+cHJvcGVydHkgPT0gTlVMTCB8fAogCQkJICAg
IG5hbWUtPnByb3BlcnR5LT50eXBlICE9IGFtbF90X21ldGhvZCkgeworCQkJ
ICBwcmludGYoIiVzOiVkOmFjcGlfZGJncjogbm90IG1ldGhvZCAlc1xuIiwg
X19GSUxFX18sIF9fTElORV9fLCBwdHIpOwogCQkJCWJyZWFrOwogCQkJfQog
CkluZGV4OiBlbnYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvaG9tZS9uY3ZzLWFjcGkvQUNQSS91dGlsL2FjcGljb25mL2Vudi5oLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjUKZGlmZiAtdSAtcjEuNSBlbnYuaAot
LS0gZW52LmgJMjAwMC8wMS8yNyAxNjowMDoxNAkxLjUKKysrIGVudi5oCTIw
MDAvMDEvMzAgMTg6MTI6NTAKQEAgLTI1LDcgKzI1LDExIEBACiAgKgogICoJ
JElkOiBlbnYuaCx2IDEuNSAyMDAwLzAxLzI3IDE2OjAwOjE0IGl3YXNha2kg
RXhwICQKICAqLworI2lmbmRlZiBfRU5WX0hfCisjZGVmaW5lIF9FTlZfSF8K
KwogI2luY2x1ZGUgIm5hbWUuaCIKKyNpbmNsdWRlICJvYmouaCIKICNpbmNs
dWRlICJzdGF0dXMuaCIKIAogc3RydWN0IGFtbF9lbnZpcm9uIHsKQEAgLTM3
LDkgKzQxLDggQEAKIAkgc3RydWN0IGFtbF9uYW1lIGFyZ3VtZW50dmFsdWVb
N107CiAJIHN0cnVjdCBhbWxfbmFtZSB3b3JrOwogCSB1bmlvbiBhbWxfb2Jq
ZWN0IHdvYmo7Ci0JIHN0cnVjdCBhbWxfbmFtZV9saXN0IGNyZWF0ZWRfb25f
ZXhlYzsKLQkgdW5zaWduZWQJZXhlY3V0aW5nOwogCSB1bnNpZ25lZAl3b3Jr
X25lZWRmcmVlOwogCSBzdHJ1Y3QgYW1sX29iamVjdF9saXN0IHRlbXBvcmFy
eV9vYmplY3RzOwogICAgICAgIH07CiAKKyNlbmRpZiAvKiBfRU5WX0hfICov
CkluZGV4OiBldmFsb2JqLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2hvbWUvbmN2cy1hY3BpL0FDUEkvdXRpbC9hY3BpY29uZi9ldmFs
b2JqLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOQpkaWZmIC11IC1yMS45
IGV2YWxvYmouYwotLS0gZXZhbG9iai5jCTIwMDAvMDEvMjcgMTY6MDA6MTQJ
MS45CisrKyBldmFsb2JqLmMJMjAwMC8wMi8wNCAwNzozOTo0NgpAQCAtNDMs
NyArNDMsNiBAQAogI2luY2x1ZGUgIm9iai5oIgogI2luY2x1ZGUgImV2YWxv
YmouaCIKICNpbmNsdWRlICJwYXJzZS5oIgotI2luY2x1ZGUgInNlYXJjaC5o
IgogI2luY2x1ZGUgInN0b3JlLmgiCiAjaW5jbHVkZSAicmVnaW9uLmgiCiAj
aW5jbHVkZSA8c3RkbGliLmg+CkBAIC0yMjgsNyArMjI3LDYgQEAKIAkJCWFj
cGlfZGJncihlbnYsY29weSk7CiAJCX0KIAkJb2JqPWFjcGlfZXZhbF9uYW1l
KGVudixhY3BpX2V4ZWN1dGVfbWV0aG9kKGNvcHkpKTsKLQkJYWNwaV9mcmVl
X2NoaWxkbmFtZShjb3B5LT5jdXJuYW1lKTsKIAkJaWYoY29weS0+c3RhdD09
YW1sX3N0YXRfcGFuaWMpewogCQkJRFBSSU5UKCJQQU5JQyBPQ0NVUkVEIElO
IE1FVEhPRCIpOwogCQkJZW52LT5zdGF0PWFtbF9zdGF0X3BhbmljOwpAQCAt
MjM2LDEwICsyMzQsNyBAQAogCQkJZ290byBvdXQ7CiAJCX0KIAkJc2hvd29i
amVjdChvYmopOwotI2lmIDAKLQkJZW52LT53b2JqLnR5cGU9YW1sX3RfbnVt
Oy8qVGVtcG9yYWxseSovCi0JCWVudi0+d29iai5udW0ubnVtYmVyPTA7Ci0j
ZWxzZQorCiAJCWlmIChvYmopIHsKIAkJCXN3aXRjaCAob2JqLT50eXBlKSB7
CiAJCQljYXNlIGFtbF90X29ianJlZjoKQEAgLTI1NSw3ICsyNTAsNiBAQAog
CQkJZW52LT53b2JqLnR5cGUgPSBhbWxfdF9udW07CiAJCQllbnYtPndvYmou
bnVtLm51bWJlciA9IDA7CiAJCX0KLSNlbmRpZgogCQlmb3IoaT0wO2k8YXJn
bnVtO2krKyl7CiAJCQlhY3BpX2ZyZWVfb2JqZWN0KCZjb3B5LT5hcmd1bWVu
dHZhbHVlW2ldLnByb3BlcnR5KTsKIAkJfQpAQCAtMzA1LDI1ICsyOTksMTAg
QEAKICphY3BpX2V4ZWN1dGVfbWV0aG9kKHN0cnVjdCBhbWxfZW52aXJvbiAq
ZW52KQogewogCXN0cnVjdCBhbWxfbmFtZSAqbmFtZTsKLQlzdHJ1Y3QgYW1s
X25hbWVwdHIgKmNyZWF0ZWQ7Ci0Jc3RydWN0IGFtbF9lbnZpcm9uICpvcmdl
bnY7Ci0Jc3RydWN0IGFtbF9vYmplY3RwdHIgKm9ianB0cjsKLQkKLQlvcmdl
bnYgPSBtZW1tYW5fYWxsb2MoYW1sX21lbW1hbiwgbWVtaWRfYW1sX2Vudmly
b24pOwotCWlmIChvcmdlbnYgPT0gTlVMTCkgewotCQlyZXR1cm4gTlVMTDsK
LQl9CisJc3RydWN0IGFtbF9uYW1lX2dyb3VwICpuZXdncnA7CiAKLSNpZiAx
Ci0Jb3JnZW52LT5leGVjdXRpbmcgPSBlbnYtPmV4ZWN1dGluZzsKLQltZW1j
cHkoJm9yZ2Vudi0+Y3JlYXRlZF9vbl9leGVjLCAmZW52LT5jcmVhdGVkX29u
X2V4ZWMsCi0JICAgIHNpemVvZiBlbnYtPmNyZWF0ZWRfb25fZXhlYyk7Ci0J
VEFJTFFfSU5JVCgmZW52LT5jcmVhdGVkX29uX2V4ZWMpOwotCWVudi0+ZXhl
Y3V0aW5nID0gMTsKLQltZW1jcHkoJm9yZ2Vudi0+dGVtcG9yYXJ5X29iamVj
dHMsICZlbnYtPnRlbXBvcmFyeV9vYmplY3RzLAotCSAgICBzaXplb2YgZW52
LT50ZW1wb3Jhcnlfb2JqZWN0cyk7Ci0JVEFJTFFfSU5JVCgmZW52LT50ZW1w
b3Jhcnlfb2JqZWN0cyk7Ci0jZW5kaWYKKwluZXdncnAgPSBuZXdfYW1sX25h
bWVfZ3JvdXAoQU1MX05BTUVfR1JPVVBfSU5fTUVUSE9EKTsKKwogCURQUklO
VCgiWyIpOwogCWFjcGlfcHJpbnRfY3VybmFtZShlbnYtPmN1cm5hbWUpOwog
CURQUklOVCgiIFNUQVJUXVxuIik7CkBAIC0zMzMsNyArMzEyLDcgQEAKIAlh
Y3BpX3ByaW50X2N1cm5hbWUoZW52LT5jdXJuYW1lKTsKIAlEUFJJTlQoIiBF
TkRdXG4iKTsKIAotI2lmIDEKKyNpZiAwCiAJZW52LT53b3JrX25lZWRmcmVl
ID0gMDsKIAl3aGlsZSAoIVRBSUxRX0VNUFRZKCZlbnYtPmNyZWF0ZWRfb25f
ZXhlYykpIHsKIAkJY3JlYXRlZCA9IFRBSUxRX0ZJUlNUKCZlbnYtPmNyZWF0
ZWRfb25fZXhlYyk7CkBAIC0zNjYsNiArMzQ1LDcgQEAKIAkgICAgc2l6ZW9m
IGVudi0+dGVtcG9yYXJ5X29iamVjdHMpOwogCW1lbW1hbl9mcmVlKGFtbF9t
ZW1tYW4sIG1lbWlkX2FtbF9lbnZpcm9uLCBvcmdlbnYpOwogI2VuZGlmCisJ
ZGVsZXRlX2FtbF9uYW1lX2dyb3VwKG5ld2dycCk7CiAJcmV0dXJuIG5hbWU7
CiB9CiAKSW5kZXg6IG1haW4uYwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvaG9tZS9uY3ZzLWFjcGkvQUNQSS91dGlsL2FjcGljb25mL21h
aW4uYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS44CmRpZmYgLXUgLXIxLjgg
bWFpbi5jCi0tLSBtYWluLmMJMjAwMC8wMS8yMyAxNTo1ODowOQkxLjgKKysr
IG1haW4uYwkyMDAwLzAyLzA0IDA3OjMzOjAwCkBAIC0zOSw3ICszOSw2IEBA
CiAjaW5jbHVkZSAic3RhdHVzLmgiCiAjaW5jbHVkZSAiZW52LmgiCiAjaW5j
bHVkZSAib2JqLmgiCi0jaW5jbHVkZSAic2VhcmNoLmgiCiAjaW5jbHVkZSAi
ZXZhbG9iai5oIgogI2luY2x1ZGUgInBhcnNlLmgiCiAjaW5jbHVkZSAic3Rv
cmUuaCIKQEAgLTkwLDYgKzg5LDcgQEAKIAl1X2ludDhfdCAgICAgICAqY29k
ZTsKIAlzdHJ1Y3Qgc3RhdCAgICAgc2I7CiAJaW50ICAgICAgICAgICAgIGZk
OworCXN0cnVjdCBhbWxfbmFtZV9ncm91cCAqbmV3Z3JwOwogCQogCWZkID0g
b3Blbihkc2R0ZmlsZSwgT19SRE9OTFksIDApOwogCWlmIChmZCA9PSAtMSkg
ewpAQCAtMTA0LDYgKzEwNCw3IEBACiAJCXBlcnJvcigibW1hcCIpOwogCQll
eGl0KC0xKTsKIAl9CisJbmV3Z3JwID0gbmV3X2FtbF9uYW1lX2dyb3VwKChp
bnQpY29kZSk7CiAJYnplcm8oJmVudiwgc2l6ZW9mKGVudikpOwogCWVudi5k
cCA9IGNvZGU7CiAJZW52LmVuZCA9IGNvZGUgKyBzYi5zdF9zaXplOwpAQCAt
MTE1LDExICsxMTYsMTIgQEAKIAllbnYuY3VybmFtZSA9IGdldF9yb290bmFt
ZSgpOwogCQogCXNob3d0cmVlKGVudi5jdXJuYW1lLCAwKTsKKwogCWRvIHsK
IAkJYWNwaV9kYmdyKCZlbnYsJmVudik7CiAJfSB3aGlsZSAoZW52LnN0YXQg
IT0gYW1sX3N0YXRfcGFuaWMpOwogCWFjcGlfc2ltdWxhdGlvbl9yZWdkdW1w
KCJyZWdpb24uZG1wIik7Ci0JYWNwaV9mcmVlX2NoaWxkbmFtZShnZXRfcm9v
dG5hbWUoKSk7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMzE2LDcgKzMxOCw4
IEBACiAJfQogCiBvdXQ6Ci0JYWNwaV9mcmVlX2NoaWxkbmFtZShnZXRfcm9v
dG5hbWUoKSk7CisJd2hpbGUgKG5hbWVfZ3JvdXBfbGlzdC0+aWQgIT0gQU1M
X05BTUVfR1JPVVBfUk9PVCkKKwkgIGRlbGV0ZV9hbWxfbmFtZV9ncm91cChu
YW1lX2dyb3VwX2xpc3QpOwogCW1lbW1hbl9zdGF0aXN0aWNzKGFtbF9tZW1t
YW4pOwogCW1lbW1hbl9mcmVlYWxsKGFtbF9tZW1tYW4pOwogCkluZGV4OiBu
YW1lLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUv
bmN2cy1hY3BpL0FDUEkvdXRpbC9hY3BpY29uZi9uYW1lLmMsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuNApkaWZmIC11IC1yMS40IG5hbWUuYwotLS0gbmFt
ZS5jCTIwMDAvMDEvMTIgMTg6NDU6MTMJMS40CisrKyBuYW1lLmMJMjAwMC8w
Mi8wNCAwNzo1MToxNApAQCAtMSwxMSArMSw1MSBAQAorLyotCisgKiBDb3B5
cmlnaHQgKGMpIDE5OTkgVGFrYW5vcmkgV2F0YW5hYmUKKyAqIENvcHlyaWdo
dCAoYykgMTk5OSwyMDAwIFlhc3VvIFlva295YW1hCisgKiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UK
KyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFV
VEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAq
IFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCiAjaW5jbHVkZSA8
c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJp
bmcuaD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlICJuYW1l
LmgiCiAjaW5jbHVkZSAiYW1sbWVtLmgiCisjaW5jbHVkZSAiZW52LmgiCisK
K3N0YXRpYyBzdHJ1Y3QgYW1sX25hbWUgcm9vdG5hbWUgPSB7IlxcIiwgTlVM
TCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTH07CisKK3N0YXRpYyBzdHJ1Y3Qg
YW1sX25hbWVfZ3JvdXAgcm9vdF9ncm91cCA9IHsKKwlBTUxfTkFNRV9HUk9V
UF9ST09ULAorCSZyb290bmFtZSwKKy8qCSZyb290bmFtZSwqLworCU5VTEwK
K307CiAKLXN0cnVjdCBhbWxfbmFtZSByb290bmFtZSA9IHsiXFwiLCBOVUxM
LCBOVUxMLCBOVUxMLCBOVUxMfTsKK3N0cnVjdCBhbWxfbmFtZV9ncm91cCAq
bmFtZV9ncm91cF9saXN0ID0gJnJvb3RfZ3JvdXA7CisKIHN0cnVjdCBhbWxf
bmFtZSAqCiBnZXRfcm9vdG5hbWUoKQogewpAQCAtMTUsOCArNTUsOSBAQAog
c3RydWN0IGFtbF9uYW1lICoKIHNlYXJjaF9hbWxfbmFtZShzdHJ1Y3QgYW1s
X25hbWUgKiBwYXJlbnQsIGNoYXIgKm5hbWUpCiB7Ci0JLyogYXNzZXJ0KHBh
cmVudCkgKi8KIAlzdHJ1Y3QgYW1sX25hbWUgKnJlc3VsdDsKKwlpZiAoIXBh
cmVudCkKKwkJcGFyZW50ID0gJnJvb3RuYW1lOwogCWZvciAocmVzdWx0ID0g
cGFyZW50LT5jaGlsZDsgcmVzdWx0OyByZXN1bHQgPSByZXN1bHQtPmJyb3Ro
ZXIpIAogCQlpZiAoIXN0cm5jbXAocmVzdWx0LT5uYW1lLCBuYW1lLCA0KSkK
IAkJCWJyZWFrOwpAQCAtMjQsMTcgKzY1LDE4IEBACiB9CiAKIHN0cnVjdCBh
bWxfbmFtZSAqCi1zZWFyY2hfYW1sX25hbWVfcmVjdXJzaXZlKHN0cnVjdCBh
bWxfbmFtZSAqc3RhcnQsIGNoYXIgKm5hbWUpCitzZWFyY2hfYW1sX25hbWVf
cmVjdXJzaXZlKHN0cnVjdCBhbWxfbmFtZSAqcGFyZW50LCBjaGFyICpuYW1l
KQogewogCWNoYXIJKnB0ciA9IG5hbWU7CiAJaW50CWxlbjsKLQkvKiBhc3Nl
cnQocGFyZW50KSAqLwotCXN0cnVjdCBhbWxfbmFtZSAqcGFyZW50LCAqcmVz
dWx0OworCXN0cnVjdCAgYW1sX25hbWUgKnJlc3VsdDsKIAkKLQlwYXJlbnQg
PSBzdGFydDsKKwlpZiAoIXBhcmVudCkKKwkJcGFyZW50ID0gJnJvb3RuYW1l
OworCiAJaWYgKHB0clswXSA9PSAnXFwnKSB7CiAJCXB0cisrOwotCQlwYXJl
bnQgPSBnZXRfcm9vdG5hbWUoKTsKKwkJcGFyZW50ID0gJnJvb3RuYW1lOwog
CX0KIAogCWZvciAobGVuID0gMDsgcHRyW2xlbl0gIT0gJy4nICYmIHB0clts
ZW5dICE9ICdcMCc7IGxlbisrKQpAQCAtNTcsOCArOTksMzkgQEAKIAlyZXR1
cm4gTlVMTDsKIH0KIAorc3RydWN0IGFtbF9uYW1lX2dyb3VwICoKK25ld19h
bWxfbmFtZV9ncm91cChpbnQgSWQpCit7CisJc3RydWN0IGFtbF9uYW1lX2dy
b3VwICpyZXN1bHQgPQorCSAgbWVtbWFuX2FsbG9jKGFtbF9tZW1tYW4sIG1l
bWlkX2FtbF9uYW1lX2dyb3VwKTsKKwlyZXN1bHQtPmlkID0gSWQ7CisvKgly
ZXN1bHQtPmhlYWQgPSByZXN1bHQtPnRhaWwgPSBOVUxMOyAqLyAKKwlyZXN1
bHQtPmhlYWQgPSBOVUxMOworCXJlc3VsdC0+bmV4dCA9IG5hbWVfZ3JvdXBf
bGlzdDsKKwluYW1lX2dyb3VwX2xpc3QgPSByZXN1bHQ7CisJcmV0dXJuIHJl
c3VsdDsKK30KKwordm9pZAorZGVsZXRlX2FtbF9uYW1lX2dyb3VwKHN0cnVj
dCBhbWxfbmFtZV9ncm91cCAqdGFyZ2V0KQoreworCXN0cnVjdCBhbWxfbmFt
ZV9ncm91cCAqcHJldmlvdXMgPSBuYW1lX2dyb3VwX2xpc3Q7CisJaWYgKHBy
ZXZpb3VzID09IHRhcmdldCkKKwkJbmFtZV9ncm91cF9saXN0ID0gdGFyZ2V0
LT5uZXh0OworCWVsc2UgeworCQl3aGlsZSAocHJldmlvdXMgJiYgcHJldmlv
dXMtPm5leHQgIT0gdGFyZ2V0KQorCQkJcHJldmlvdXMgPSBwcmV2aW91cy0+
bmV4dDsKKwkJaWYgKHByZXZpb3VzKQorCQkJcHJldmlvdXMtPm5leHQgPSB0
YXJnZXQtPm5leHQ7CisJfQorCXRhcmdldC0+bmV4dCA9IE5VTEw7CisJaWYg
KHRhcmdldC0+aGVhZCkKKwkJZGVsZXRlX2FtbF9uYW1lKHRhcmdldC0+aGVh
ZCk7CisJbWVtbWFuX2ZyZWUoYW1sX21lbW1hbiwgbWVtaWRfYW1sX25hbWVf
Z3JvdXAsIHRhcmdldCk7Cit9CisKIHN0cnVjdCBhbWxfbmFtZSAqCi1zZXRf
YW1sX25hbWUoc3RydWN0IGFtbF9uYW1lICogcGFyZW50LCBjaGFyICpuYW1l
KQorbmV3X2FtbF9uYW1lKHN0cnVjdCBhbWxfbmFtZSAqIHBhcmVudCwgY2hh
ciAqbmFtZSkKIHsKIAlzdHJ1Y3QgYW1sX25hbWUgKm5ld25hbWU7CiAKQEAg
LTcwLDM3ICsxNDMsMTE4IEBACiAJbmV3bmFtZS0+cGFyZW50ID0gcGFyZW50
OwogCW5ld25hbWUtPmNoaWxkID0gTlVMTDsKIAluZXduYW1lLT5wcm9wZXJ0
eSA9IE5VTEw7Ci0JaWYgKHBhcmVudC0+Y2hpbGQpIHsKLQkJc3RydWN0IGFt
bF9uYW1lICpsYXN0OwotCQlmb3IgKGxhc3QgPSBwYXJlbnQtPmNoaWxkOyBs
YXN0LT5icm90aGVyOyBsYXN0ID0gbGFzdC0+YnJvdGhlcikgOwotCQlsYXN0
LT5icm90aGVyID0gbmV3bmFtZTsKLSAgICAgICAgfSBlbHNlIHsKLQkJcGFy
ZW50LT5jaGlsZCA9IG5ld25hbWU7Ci0gICAgICAgIH0KKwlpZiAocGFyZW50
LT5jaGlsZCkKKwkJbmV3bmFtZS0+YnJvdGhlcj1wYXJlbnQtPmNoaWxkOwor
CWVsc2UKKwkJbmV3bmFtZS0+YnJvdGhlcj1OVUxMOworCXBhcmVudC0+Y2hp
bGQgPSBuZXduYW1lOwogCi0JbmV3bmFtZS0+YnJvdGhlciA9IE5VTEw7CisJ
bmV3bmFtZS0+Y2hhaW4gPSBuYW1lX2dyb3VwX2xpc3QtPmhlYWQ7CisJbmFt
ZV9ncm91cF9saXN0LT5oZWFkID0gbmV3bmFtZTsKKwkvKgorCWlmICghbmFt
ZV9ncm91cF9saXN0LT50YWlsKQorCQluYW1lX2dyb3VwX2xpc3QtPnRhaWwg
PSBuZXduYW1lOworCSovCiAJcmV0dXJuIG5ld25hbWU7CiB9CisKIC8qCi0J
ICAgICBwYXJlbnQKLSAgICAgICAgICAgICstLS0tLS0+bnVsbAotICAgICAg
ICArLS0tKy0tLS0rCi0gICAgICAgIHxyb290bmFtZXwgYnJvdGhlcgotCXwg
ICJcXCIgICstLS0tLS0tLT5udWxsCi0JfCAgICAgICAgfDwtLS0tKzwtLS0t
LS0tLS0tLS0tLS0tLSsKLQkrLS0tKy0tLS0rICAgICB8cGFyZW50ICAgICAg
ICAgICAgfHBhcmVudCAgICAgICAgICAgIAotICAgICAgY2hpbGQgfCAgICAg
ICstLS0rLS0tLSsgYnJvdGhlciArLS0tKy0tLS0rIGJyb3RoZXIKLSAgICAg
ICAgICAgICstLS0tLT58ICJHUEUiICArLS0tLS0tLS0+fCAiX1BUUyIgKy0t
LS0tLS0+IG51bGwKLSAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8PC0r
ICAgICAgfCAgICAgICAgfAotICAgICAgICAgICAgICAgICAgICstLS0rLS0t
LSsgIHwgICAgICArLS0tPS0tLS0rCi0gICAgICAgICAgICAgICAgICAgICAg
IHwgICAgICAgfCAgICAgICAgICB8IGNoaWxkCi0gICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgICAgfCAgICAgICAgICArLS0+bnVsbAotICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgICAgIHwKLSAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAgICArLSs8LS0tLS0tLS0tLS0tLS0tLS0rCi0gICAgICAgICAg
ICAgICAgICAgICAgIHwgICAgICAgICB8cGFyZW50ICAgICAgICAgICAgfHBh
cmVudAotICAgICAgICAgICAgICAgICAgICAgICB8ICAgICstLS0tKy0tLS0r
IGJyb3RoZXIgKy0tLSstLS0tKyBicm90aGVyCi0gICAgICAgICAgICAgICAg
ICAgICAgICsgLS0+fCAiX0wwMSIgICstLS0tLS0tLT58ICJfTDAyIiArLS0t
LS0tLT4gbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLS0t
Ky0tLS0rICAgICAgICAgKy0tLSstLS0tKwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCBjaGlsZCAgICAgICAgICAgIHwgY2hpbGQKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLT5udWxsICAgICAg
ICAgICArLS0+bnVsbAotKi8KKyAqIBskQkNtMFUbKEIKKyAqIGRlbGV0ZV9h
bWxfbmFtZSAbJEIkTxsoQiBhbWxfbmFtZV9ncm91cDo6e2hlYWQsdGFpbH0g
GyRCJHIlYSVzJUYlSiVzJTkbKEIKKyAqIBskQiQ3JEYkJCReJDskcyEjGyhC
CisgKi8KK3ZvaWQKK2RlbGV0ZV9hbWxfbmFtZShzdHJ1Y3QgYW1sX25hbWUg
KnRhcmdldCkKK3sKKyAgICAgICAgc3RydWN0IGFtbF9uYW1lICpuZXh0Owor
CWZvciAoO3RhcmdldDsgdGFyZ2V0ID0gbmV4dCkgeworCQluZXh0ID0gdGFy
Z2V0LT5jaGFpbjsKKwkJaWYgKHRhcmdldC0+Y2hpbGQpIHsKKwkJCXRhcmdl
dC0+Y2hhaW4gPSBOVUxMOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHRh
cmdldC0+YnJvdGhlcikgeworCQkJaWYgKHRhcmdldC0+cGFyZW50LT5jaGls
ZCA9PSB0YXJnZXQpCisJCQkgICAgICAgdGFyZ2V0LT5wYXJlbnQtPmNoaWxk
ID0gdGFyZ2V0LT5icm90aGVyOworCQkJZWxzZSB7CisJCQkJc3RydWN0IGFt
bF9uYW1lCSpwdHIgPSB0YXJnZXQtPnBhcmVudC0+Y2hpbGQ7CisJCQkJd2hp
bGUgKHB0ciAmJiBwdHItPmJyb3RoZXIgIT0gdGFyZ2V0KQorCQkJCQlwdHIg
PSBwdHItPmJyb3RoZXI7CisJCQkJaWYgKHB0cikKKwkJCQkJcHRyLT5icm90
aGVyID0gdGFyZ2V0LT5icm90aGVyOworCQkJfQorCQkJdGFyZ2V0LT5icm90
aGVyID0gTlVMTDsKKwkJfQorCQllbHNlCisJCQl0YXJnZXQtPnBhcmVudC0+
Y2hpbGQgPSBOVUxMOworCQlhY3BpX2ZyZWVfb2JqZWN0KCZ0YXJnZXQtPnBy
b3BlcnR5KTsKKwkJbWVtbWFuX2ZyZWUoYW1sX21lbW1hbiwgbWVtaWRfYW1s
X25hbWUsIHRhcmdldCk7CisJfQorfQorCisjZGVmaW5lIEFDUElfU0VBUkNI
X05BTUUgMAorI2RlZmluZSBBQ1BJX0NSRUFURV9OQU1FIDEKK3N0YXRpYyBz
dHJ1Y3QgYW1sX25hbWUgKmFjcGlfbmFtZW1hbihzdHJ1Y3QgYW1sX2Vudmly
b24gKiwgdV9pbnQ4X3QgKiwgaW50KTsKKworc3RydWN0IGFtbF9uYW1lICoK
K2FjcGlfc2VhcmNoX25hbWUoc3RydWN0IGFtbF9lbnZpcm9uICogZW52LCB1
X2ludDhfdCAqIGRwKQoreworCXJldHVybiBhY3BpX25hbWVtYW4oZW52LCBk
cCwgQUNQSV9TRUFSQ0hfTkFNRSk7Cit9CisKK3N0cnVjdCBhbWxfbmFtZSAq
CithY3BpX2NyZWF0ZV9uYW1lKHN0cnVjdCBhbWxfZW52aXJvbiAqIGVudiwg
dV9pbnQ4X3QgKiBkcCkKK3sKKwlyZXR1cm4gYWNwaV9uYW1lbWFuKGVudiwg
ZHAsIEFDUElfQ1JFQVRFX05BTUUpOworCQorfQorCitzdGF0aWMgc3RydWN0
IGFtbF9uYW1lICoKK2FjcGlfbmFtZW1hbihzdHJ1Y3QgYW1sX2Vudmlyb24g
KiBlbnYsIHVfaW50OF90ICogZHAsIGludCBmbGFnKQoreworCXN0cnVjdCBh
bWxfbmFtZSAqbmV3bmFtZSwgKmN1cm5hbWU7CisJc3RydWN0IGFtbF9uYW1l
ICooKnNlYXJjaGZ1bmMpIChzdHJ1Y3QgYW1sX25hbWUgKiwgY2hhciAqKTsK
KyNkZWZpbmUgQ1JFQVRFQ0hFQ0sgaWYobmV3bmFtZT09TlVMTCl7ZnByaW50
ZihzdGRlcnIsIkVSUk9SIENBTk5PVCBGSU5EIE5BTUVcbiIpO2V4aXQoLTEp
O30KKwlzZWFyY2hmdW5jID0gKGZsYWcgPT0gQUNQSV9DUkVBVEVfTkFNRSkg
PyBuZXdfYW1sX25hbWUgOiBzZWFyY2hfYW1sX25hbWU7CisJbmV3bmFtZSA9
IGVudi0+Y3VybmFtZTsKKwlpZiAoZHBbMF0gPT0gJ1xcJykgeworCQluZXdu
YW1lID0gJnJvb3RuYW1lOworCQlkcCsrOworCX0gZWxzZSBpZiAoZHBbMF0g
PT0gJ14nKSB7CisJCXdoaWxlIChkcFswXSA9PSAnXicpIHsKKwkJCW5ld25h
bWUgPSBuZXduYW1lLT5wYXJlbnQ7CisJCQlDUkVBVEVDSEVDSzsKKwkJCWRw
Kys7CisJCX0KKwl9CisJaWYgKGRwWzBdID09IDB4MDApIHsJLyogTnVsbE5h
bWUgKi8KKwkJZHArKzsKKwl9IGVsc2UgaWYgKGRwWzBdID09IDB4MmUpIHsJ
LyogRHVhbE5hbWVQcmVmaXggKi8KKwkJbmV3bmFtZSA9ICgqc2VhcmNoZnVu
YykgKG5ld25hbWUsIGRwICsgMSk7CisJCUNSRUFURUNIRUNLOworCQluZXdu
YW1lID0gKCpzZWFyY2hmdW5jKSAobmV3bmFtZSwgZHAgKyA1KTsKKwkJQ1JF
QVRFQ0hFQ0s7CisJfSBlbHNlIGlmIChkcFswXSA9PSAweDJmKSB7CS8qIE11
bHRpTmFtZVByZWZpeCAqLworCQlpbnQgICAgICAgICAgICAgc2VnY291bnQg
PSBkcFsxXTsKKwkJaW50ICAgICAgICAgICAgIGk7CisJCWZvciAoaSA9IDAs
IGRwICs9IDI7IGkgPCBzZWdjb3VudDsgaSsrLCBkcCArPSA0KSB7CisJCQlu
ZXduYW1lID0gKCpzZWFyY2hmdW5jKSAobmV3bmFtZSwgZHApOworCQkJQ1JF
QVRFQ0hFQ0s7CisJCX0KKwl9IGVsc2UgaWYgKGZsYWcgPT0gQUNQSV9DUkVB
VEVfTkFNRSkgewkvKiBOYW1lU2VnICovCisJCW5ld25hbWUgPSBuZXdfYW1s
X25hbWUobmV3bmFtZSwgZHApOworCQlDUkVBVEVDSEVDSzsKKwl9IGVsc2Ug
eworCQljdXJuYW1lID0gbmV3bmFtZTsKKwkJZm9yKDs7KSB7CisJCQluZXdu
YW1lID0gc2VhcmNoX2FtbF9uYW1lKGN1cm5hbWUsIGRwKTsKKwkJCWlmIChu
ZXduYW1lICE9IE5VTEwpCisJCQkJYnJlYWs7CisJCQlpZihjdXJuYW1lID09
ICZyb290bmFtZSkKKwkJCQlicmVhazsKKwkJCWN1cm5hbWUgPSBjdXJuYW1l
LT5wYXJlbnQ7CisJCX0gCisJfQorCXJldHVybiBuZXduYW1lOworfQorI3Vu
ZGVmIENSRUFURUNIRUNLCkluZGV4OiBuYW1lLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvbmN2cy1hY3BpL0FDUEkvdXRpbC9h
Y3BpY29uZi9uYW1lLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNgpkaWZm
IC11IC1yMS42IG5hbWUuaAotLS0gbmFtZS5oCTIwMDAvMDEvMTIgMTg6NDU6
MTMJMS42CisrKyBuYW1lLmgJMjAwMC8wMi8wNCAwNzo1MzoyNApAQCAtMSw2
ICsxLDM0IEBACisvKi0KKyAqIENvcHlyaWdodCAoYykgMTk5OSBUYWthbm9y
aSBXYXRhbmFiZQorICogQ29weXJpZ2h0IChjKSAxOTk5LDIwMDAgWWFzdW8g
WW9rb3lhbWEKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisg
KiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKgorICoJ
JElkJAorICovCisKICNpZm5kZWYgX05BTUVfSF8KICNkZWZpbmUgX05BTUVf
SF8KLSNpbmNsdWRlIDxzeXMvcXVldWUuaD4KICNpbmNsdWRlICJvYmouaCIK
IAogc3RydWN0IGFtbF9uYW1lIHsKQEAgLTksMTYgKzM3LDMzIEBACiAJc3Ry
dWN0IGFtbF9uYW1lICpwYXJlbnQ7CiAJc3RydWN0IGFtbF9uYW1lICpicm90
aGVyOwogCXN0cnVjdCBhbWxfbmFtZSAqY2hpbGQ7CisJc3RydWN0IGFtbF9u
YW1lICpjaGFpbjsKIH07CisKKyNkZWZpbmUgQU1MX05BTUVfR1JPVVBfUk9P
VCAgICAgICAwCisjZGVmaW5lIEFNTF9OQU1FX0dST1VQX09TX0RFRklORUQg
MQorI2RlZmluZSBBTUxfTkFNRV9HUk9VUF9JTl9NRVRIT0QgIDIKIAotc3Ry
dWN0IGFtbF9uYW1lcHRyIHsKLQlUQUlMUV9FTlRSWShhbWxfbmFtZXB0cikJ
bGlua3M7Ci0Jc3RydWN0IGFtbF9uYW1lICpuYW1lOworc3RydWN0IGFtbF9u
YW1lX2dyb3VweworICAgICAgICBpbnQgaWQ7IC8qIERTRFQgYWRkcmVzcyBv
ciBEQkhBTkRMRSAqLworCXN0cnVjdCBhbWxfbmFtZSAqaGVhZDsKKy8qCXN0
cnVjdCBhbWxfbmFtZSAqdGFpbDsgGyRCO0gkbyRKJCQkKyRiGyhCICovCisJ
c3RydWN0IGFtbF9uYW1lX2dyb3VwICpuZXh0OwogfTsKLVRBSUxRX0hFQUQo
YW1sX25hbWVfbGlzdCwgYW1sX25hbWVwdHIpOworCisvKiBmb3J3YXJkIGRl
Y2xhcmVtZW50ICovCitzdHJ1Y3QgYW1sX2VudnJpb247CiAKIHN0cnVjdCBh
bWxfbmFtZSAqZ2V0X3Jvb3RuYW1lKCk7CitzdHJ1Y3QgYW1sX25hbWVfZ3Jv
dXAgKm5ld19hbWxfbmFtZV9ncm91cChpbnQgSWQpOwordm9pZCBkZWxldGVf
YW1sX25hbWVfZ3JvdXAoc3RydWN0IGFtbF9uYW1lX2dyb3VwICp0YXJnZXQp
OworZXh0ZXJuIHN0cnVjdCBhbWxfbmFtZV9ncm91cCAqbmFtZV9ncm91cF9s
aXN0OworCitzdHJ1Y3QgYW1sX25hbWUgKm5ld19hbWxfbmFtZShzdHJ1Y3Qg
YW1sX25hbWUgKiBwYXJlbnQsIGNoYXIgKm5hbWUpOwordm9pZCBkZWxldGVf
YW1sX25hbWUoc3RydWN0IGFtbF9uYW1lICp0YXJnZXQpOwogc3RydWN0IGFt
bF9uYW1lICpzZWFyY2hfYW1sX25hbWUoc3RydWN0IGFtbF9uYW1lICogcGFy
ZW50LCBjaGFyICpuYW1lKTsKIHN0cnVjdCBhbWxfbmFtZSAqc2VhcmNoX2Ft
bF9uYW1lX3JlY3Vyc2l2ZShzdHJ1Y3QgYW1sX25hbWUgKiBwYXJlbnQsIGNo
YXIgKm5hbWUpOwotc3RydWN0IGFtbF9uYW1lICpzZXRfYW1sX25hbWUoc3Ry
dWN0IGFtbF9uYW1lICogcGFyZW50LCBjaGFyICpuYW1lKTsKK3N0cnVjdCBh
bWxfbmFtZSAqYWNwaV9zZWFyY2hfbmFtZShzdHJ1Y3QgYW1sX2Vudmlyb24g
KiBlbnYsIHVfaW50OF90ICogZHApOworc3RydWN0IGFtbF9uYW1lICphY3Bp
X2NyZWF0ZV9uYW1lKHN0cnVjdCBhbWxfZW52aXJvbiAqIGVudiwgdV9pbnQ4
X3QgKiBkcCk7CisKICNlbmRpZgpJbmRleDogcGFyc2UuYwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3ZzLWFjcGkvQUNQSS91
dGlsL2FjcGljb25mL3BhcnNlLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MTcKZGlmZiAtdSAtcjEuMTcgcGFyc2UuYwotLS0gcGFyc2UuYwkyMDAwLzAx
LzI3IDE2OjAwOjE0CTEuMTcKKysrIHBhcnNlLmMJMjAwMC8wMi8wNCAwNzo1
NDoyOApAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUgImFtbG1lbS5oIgog
I2luY2x1ZGUgInN0YXR1cy5oIgogI2luY2x1ZGUgImVudi5oIgotI2luY2x1
ZGUgInNlYXJjaC5oIgogI2luY2x1ZGUgImV2YWxvYmouaCIKICNpbmNsdWRl
ICJkZWJ1Zy5oIgogI2luY2x1ZGUgInBhcnNlLmgiCkBAIC0xNjg1LDQ4ICsx
Njg0LDMgQEAKIAlyZXR1cm4gYW5hbWU7CiB9CiAKLQotCi12b2lkIGFjcGlf
ZnJlZV9jaGlsZG5hbWUoc3RydWN0IGFtbF9uYW1lICphbmFtZSkKLXsKLSAg
c3RydWN0IGFtbF9uYW1lICpwdHIsKmN1cm5hbWU7Ci0gIHB0cj1hbmFtZS0+
Y2hpbGQ7Ci0gIGFuYW1lLT5jaGlsZD1OVUxMOwotICB3aGlsZShwdHIgIT0g
TlVMTCl7Ci0gICAgY3VybmFtZT1wdHI7Ci0gICAgcHRyPXB0ci0+YnJvdGhl
cjsKLSAgICBhY3BpX2ZyZWVfb2JqZWN0KCZjdXJuYW1lLT5wcm9wZXJ0eSk7
Ci0gICAgYWNwaV9mcmVlX2NoaWxkbmFtZShjdXJuYW1lKTsKLSAgICBtZW1t
YW5fZnJlZShhbWxfbWVtbWFuLG1lbWlkX2FtbF9uYW1lLGN1cm5hbWUpOwot
ICB9Ci19Ci0KLXZvaWQKLWFjcGlfZnJlZV9jaGlsZG5hbWVfb25lKHN0cnVj
dCBhbWxfbmFtZSAqYW5hbWUsIHN0cnVjdCBhbWxfbmFtZSAqY2hpbGQpCi17
Ci0Jc3RydWN0IGFtbF9uYW1lICpwdHIsICpjdXJuYW1lLCAqYmlnYnJvdGhl
cjsKLQotCXB0ciA9IGFuYW1lLT5jaGlsZDsKLQotCXdoaWxlIChwdHIgIT0g
TlVMTCkgewotCQljdXJuYW1lID0gcHRyOwotCQlwdHIgPSBwdHItPmJyb3Ro
ZXI7Ci0JCWlmIChjdXJuYW1lID09IGNoaWxkKSB7Ci0JCQkvKiBJJ20gZ29p
bmcgdG8gZGllLCBzYXkgZ29vZCBieWUgdG8gbXkgZmFtaWx5Li4uICovCi0J
CQlpZiAoY3VybmFtZS0+cGFyZW50LT5jaGlsZCA9PSBjdXJuYW1lKSB7Ci0J
CQkJY3VybmFtZS0+cGFyZW50LT5jaGlsZCA9IGN1cm5hbWUtPmJyb3RoZXI7
Ci0JCQl9IGVsc2UgewotCQkJCWZvciAoYmlnYnJvdGhlciA9IGN1cm5hbWUt
PnBhcmVudC0+Y2hpbGQ7Ci0JCQkJICAgICBiaWdicm90aGVyLT5icm90aGVy
ICE9IGN1cm5hbWU7Ci0JCQkJICAgICBiaWdicm90aGVyID0gYmlnYnJvdGhl
ci0+YnJvdGhlcikgOwotCQkJCWJpZ2Jyb3RoZXItPmJyb3RoZXIgPSBjdXJu
YW1lLT5icm90aGVyOwotCQkJfQotCQkJCi0JCQlhY3BpX2ZyZWVfb2JqZWN0
KCZjdXJuYW1lLT5wcm9wZXJ0eSk7Ci0JCQlhY3BpX2ZyZWVfY2hpbGRuYW1l
KGN1cm5hbWUpOwotCQkJbWVtbWFuX2ZyZWUoYW1sX21lbW1hbiwgbWVtaWRf
YW1sX25hbWUsIGN1cm5hbWUpOwotCQkJcmV0dXJuOwotCQl9Ci0JCWFjcGlf
ZnJlZV9jaGlsZG5hbWVfb25lKGN1cm5hbWUsIGNoaWxkKTsKLQl9Ci19Cklu
ZGV4OiBwYXJzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9ob21lL25jdnMtYWNwaS9BQ1BJL3V0aWwvYWNwaWNvbmYvcGFyc2UuaCx2
CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yCmRpZmYgLXUgLXIxLjIgcGFyc2Uu
aAotLS0gcGFyc2UuaAkyMDAwLzAxLzExIDExOjMzOjQxCTEuMgorKysgcGFy
c2UuaAkyMDAwLzAyLzA0IDA3OjU0OjA4CkBAIC0yOSw3ICsyOSwzIEBACiB2
b2lkIGFjcGlfcHJpbnRfbmFtZXN0cmluZyh1X2ludDhfdCAqIGRwKTsKIHN0
cnVjdCBhbWxfbmFtZSAqYWNwaV9wYXJzZV9vYmplY3RsaXN0KHN0cnVjdCBh
bWxfZW52aXJvbiAqIGVudiwgaW50IGluZGVudCk7CiBzdHJ1Y3QgYW1sX25h
bWUgKmFjcGlfcGFyc2VfdGVybW9iaihzdHJ1Y3QgYW1sX2Vudmlyb24gKiBl
bnYsIGludCBpbmRlbnQpOwotdm9pZCBhY3BpX2ZyZWVfY2hpbGRuYW1lKHN0
cnVjdCBhbWxfbmFtZSAqYW5hbWUpOwotdm9pZCBhY3BpX2ZyZWVfY2hpbGRu
YW1lX29uZShzdHJ1Y3QgYW1sX25hbWUgKmFuYW1lLAotCQkJICAgICBzdHJ1
Y3QgYW1sX25hbWUgKmNoaWxkKTsKLQpJbmRleDogc2VhcmNoLmMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogc2VhcmNoLmMKZGlmZiAtTiBz
ZWFyY2guYwotLS0gL3RtcC9jdnNWaU5vVmsxMjc2CUZyaSBGZWIgIDQgMTY6
NTU6MTQgMjAwMAorKysgL2Rldi9udWxsCUZyaSBGZWIgIDQgMTU6MDc6NTQg
MjAwMApAQCAtMSwxMjEgKzAsMCBAQAotLyotCi0gKiBDb3B5cmlnaHQgKGMp
IDE5OTkgVGFrYW5vcmkgV2F0YW5hYmUKLSAqIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwot
ICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBE
QU1BR0UuCi0gKgotICoJJElkOiBzZWFyY2guYyx2IDEuMiAyMDAwLzAxLzEx
IDExOjMzOjQxIGl3YXNha2kgRXhwICQKLSAqLwotI2luY2x1ZGUgPHN5cy9w
YXJhbS5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8YXNzZXJ0
Lmg+Ci0jaW5jbHVkZSA8ZXJyLmg+Ci0jaW5jbHVkZSA8bWFjaGluZS9wYy9h
Y3BpLmg+Ci0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lz
L3N0YXQuaD4KLSNpbmNsdWRlIDxzeXMvbW1hbi5oPgotI2luY2x1ZGUgPGZj
bnRsLmg+Ci0jaW5jbHVkZSAibmFtZS5oIgotI2luY2x1ZGUgImFtbG1lbS5o
IgotI2luY2x1ZGUgInN0YXR1cy5oIgotI2luY2x1ZGUgImVudi5oIgotI2lu
Y2x1ZGUgIm9iai5oIgotI2luY2x1ZGUgImV2YWxvYmouaCIKLSNpbmNsdWRl
ICJzZWFyY2guaCIKLSNpbmNsdWRlICJwYXJzZS5oIgotI2luY2x1ZGUgInN0
b3JlLmgiCi0jaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8c3RyaW5n
Lmg+Ci0KLSNkZWZpbmUgQUNQSV9TRUFSQ0hfTkFNRSAwCi0jZGVmaW5lIEFD
UElfQ1JFQVRFX05BTUUgMQotc3RhdGljIHN0cnVjdCBhbWxfbmFtZSAqYWNw
aV9uYW1lbWFuKHN0cnVjdCBhbWxfZW52aXJvbiAqLCB1X2ludDhfdCAqLCBp
bnQpOwotc3RydWN0IGFtbF9uYW1lICoKLWFjcGlfc2VhcmNoX25hbWUoc3Ry
dWN0IGFtbF9lbnZpcm9uICogZW52LCB1X2ludDhfdCAqIGRwKQotewotCXJl
dHVybiBhY3BpX25hbWVtYW4oZW52LCBkcCwgQUNQSV9TRUFSQ0hfTkFNRSk7
Ci19Ci1zdHJ1Y3QgYW1sX25hbWUgKgotYWNwaV9jcmVhdGVfbmFtZShzdHJ1
Y3QgYW1sX2Vudmlyb24gKiBlbnYsIHVfaW50OF90ICogZHApCi17Ci0Jc3Ry
dWN0IGFtbF9uYW1lICpuZXduYW1lOwotCXN0cnVjdCBhbWxfbmFtZXB0ciAq
Y3JlYXRlZDsKLQotCW5ld25hbWUgPSBhY3BpX25hbWVtYW4oZW52LCBkcCwg
QUNQSV9DUkVBVEVfTkFNRSk7Ci0KLQlpZiAoZW52LT5leGVjdXRpbmcgPT0g
MSkgewotCQljcmVhdGVkID0gbWVtbWFuX2FsbG9jKGFtbF9tZW1tYW4sIG1l
bWlkX2FtbF9uYW1lcHRyKTsKLQkJY3JlYXRlZC0+bmFtZSA9IG5ld25hbWU7
Ci0JCVRBSUxRX0lOU0VSVF9UQUlMKCZlbnYtPmNyZWF0ZWRfb25fZXhlYywg
Y3JlYXRlZCwgbGlua3MpOwotCX0KLQotCXJldHVybiBuZXduYW1lOwotfQot
c3RhdGljIHN0cnVjdCBhbWxfbmFtZSAqCi1hY3BpX25hbWVtYW4oc3RydWN0
IGFtbF9lbnZpcm9uICogZW52LCB1X2ludDhfdCAqIGRwLCBpbnQgZmxhZykK
LXsKLQlzdHJ1Y3QgYW1sX25hbWUgKm5ld25hbWUsICpjdXJuYW1lOwotCXN0
cnVjdCBhbWxfbmFtZSAqKCpzZWFyY2hmdW5jKSAoc3RydWN0IGFtbF9uYW1l
ICosIGNoYXIgKik7Ci0jZGVmaW5lIENSRUFURUNIRUNLIGlmKG5ld25hbWU9
PU5VTEwpe2ZwcmludGYoc3RkZXJyLCJFUlJPUiBDQU5OT1QgRklORCBOQU1F
XG4iKTtleGl0KC0xKTt9Ci0Jc2VhcmNoZnVuYyA9IChmbGFnID09IEFDUElf
Q1JFQVRFX05BTUUpID8gc2V0X2FtbF9uYW1lIDogc2VhcmNoX2FtbF9uYW1l
OwotCW5ld25hbWUgPSBlbnYtPmN1cm5hbWU7Ci0JaWYgKGRwWzBdID09ICdc
XCcpIHsKLQkJbmV3bmFtZSA9IGdldF9yb290bmFtZSgpOwotCQlkcCsrOwot
CX0gZWxzZSBpZiAoZHBbMF0gPT0gJ14nKSB7Ci0JCXdoaWxlIChkcFswXSA9
PSAnXicpIHsKLQkJCW5ld25hbWUgPSBuZXduYW1lLT5wYXJlbnQ7Ci0JCQlD
UkVBVEVDSEVDSzsKLQkJCWRwKys7Ci0JCX0KLQl9Ci0JaWYgKGRwWzBdID09
IDB4MDApIHsJLyogTnVsbE5hbWUgKi8KLQkJZHArKzsKLQl9IGVsc2UgaWYg
KGRwWzBdID09IDB4MmUpIHsJLyogRHVhbE5hbWVQcmVmaXggKi8KLQkJbmV3
bmFtZSA9ICgqc2VhcmNoZnVuYykgKG5ld25hbWUsIGRwICsgMSk7Ci0JCUNS
RUFURUNIRUNLOwotCQluZXduYW1lID0gKCpzZWFyY2hmdW5jKSAobmV3bmFt
ZSwgZHAgKyA1KTsKLQkJQ1JFQVRFQ0hFQ0s7Ci0JfSBlbHNlIGlmIChkcFsw
XSA9PSAweDJmKSB7CS8qIE11bHRpTmFtZVByZWZpeCAqLwotCQlpbnQgICAg
ICAgICAgICAgc2VnY291bnQgPSBkcFsxXTsKLQkJaW50ICAgICAgICAgICAg
IGk7Ci0JCWZvciAoaSA9IDAsIGRwICs9IDI7IGkgPCBzZWdjb3VudDsgaSsr
LCBkcCArPSA0KSB7Ci0JCQluZXduYW1lID0gKCpzZWFyY2hmdW5jKSAobmV3
bmFtZSwgZHApOwotCQkJQ1JFQVRFQ0hFQ0s7Ci0JCX0KLQl9IGVsc2UgaWYg
KGZsYWcgPT0gQUNQSV9DUkVBVEVfTkFNRSkgewkvKiBOYW1lU2VnICovCi0J
CW5ld25hbWUgPSBzZXRfYW1sX25hbWUobmV3bmFtZSwgZHApOwotCQlDUkVB
VEVDSEVDSzsKLQl9IGVsc2UgewotCQljdXJuYW1lID0gbmV3bmFtZTsKLQkJ
Zm9yKDs7KSB7Ci0JCQluZXduYW1lID0gc2VhcmNoX2FtbF9uYW1lKGN1cm5h
bWUsIGRwKTsKLQkJCWlmIChuZXduYW1lICE9IE5VTEwpCi0JCQkJYnJlYWs7
Ci0JCQlpZihjdXJuYW1lID09IGdldF9yb290bmFtZSgpKQotCQkJICBicmVh
azsKLQkJCWN1cm5hbWUgPSBjdXJuYW1lLT5wYXJlbnQ7Ci0JCX0gCi0JfQot
CXJldHVybiBuZXduYW1lOwotI3VuZGVmIENSRUFURUNIRUNLCi19CkluZGV4
OiBzZWFyY2guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiBz
ZWFyY2guaApkaWZmIC1OIHNlYXJjaC5oCi0tLSAvdG1wL2N2c2dBbEFBUDEy
NzYJRnJpIEZlYiAgNCAxNjo1NToxNCAyMDAwCisrKyAvZGV2L251bGwJRnJp
IEZlYiAgNCAxNTowNzo1NCAyMDAwCkBAIC0xLDI5ICswLDAgQEAKLS8qLQot
ICogQ29weXJpZ2h0IChjKSAxOTk5IFRha2Fub3JpIFdhdGFuYWJlCi0gKiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFV
VEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQot
ICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICoKLSAqCSRJZDogc2VhcmNoLmgs
diAxLjEgMTk5OS8xMi8yNiAwNjozNjoyNSB0YWthd2F0YSBFeHAgJAotICov
Ci1zdHJ1Y3QgYW1sX25hbWUgKmFjcGlfc2VhcmNoX25hbWUoc3RydWN0IGFt
bF9lbnZpcm9uICogZW52LCB1X2ludDhfdCAqIGRwKTsKLXN0cnVjdCBhbWxf
bmFtZSAqYWNwaV9jcmVhdGVfbmFtZShzdHJ1Y3QgYW1sX2Vudmlyb24gKiBl
bnYsIHVfaW50OF90ICogZHApOwpJbmRleDogc3RvcmUuYwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9uY3ZzLWFjcGkvQUNQSS91
dGlsL2FjcGljb25mL3N0b3JlLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
NwpkaWZmIC11IC1yMS43IHN0b3JlLmMKLS0tIHN0b3JlLmMJMjAwMC8wMS8y
NyAxNjowMDoxNAkxLjcKKysrIHN0b3JlLmMJMjAwMC8wMi8wNCAwNzozMzox
MApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgInN0YXR1cy5oIgogI2lu
Y2x1ZGUgImRlYnVnLmgiCiAjaW5jbHVkZSAiZW52LmgiCi0jaW5jbHVkZSAi
c2VhcmNoLmgiCiAjaW5jbHVkZSAic3RvcmUuaCIKICNpbmNsdWRlICJvYmou
aCIKICNpbmNsdWRlICJyZWdpb24uaCIK
--------=_949677164.FFC8FF57.FFC8F1AF
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="argnum.patch"

SW5kZXg6IGRlYnVnLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2hvbWUvbmN2cy1hY3BpL0FDUEkvdXRpbC9hY3BpY29uZi9kZWJ1Zy5j
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjcKZGlmZiAtdSAtcjEuNyBkZWJ1
Zy5jCi0tLSBkZWJ1Zy5jCTIwMDAvMDEvMjcgMTY6MDA6MTQJMS43CisrKyBk
ZWJ1Zy5jCTIwMDAvMDIvMDQgMTQ6MzY6MDcKQEAgLTIxOSw3ICsyMTksNyBA
QAogCQkJY2hhcglhcmdidWZbN11bQlVGTEVOXTsKIAkJCWNoYXIJKm5wLCAq
ZXA7CiAJCQlpbnQJaTsKLQorCQkJaW50ICAgICBhcmdudW07CiAJCQkvKiBO
VUxMIHRlcm1pbmF0ZSAqLwogCQkJcHRyID0gJmNvbW1hbmRsaW5lWzFdOwog
CQkJd2hpbGUgKHB0clswXSAhPSAnXG4nKQlwdHIrKzsKQEAgLTI0NCwxMyAr
MjQ0LDE0IEBACiAJCQlzaG93b2JqZWN0KG5hbWUtPnByb3BlcnR5KTsKIAkJ
CW1ldGhvZCA9IHB0cjsKIAotCQkJaWYgKG5hbWUtPnByb3BlcnR5LT5tZXRo
LmFyZ251bSkgeworCQkJYXJnbnVtID0gbmFtZS0+cHJvcGVydHktPm1ldGgu
YXJnbnVtICYgMHgwNzsKKwkJCWlmIChhcmdudW0pIHsKIAkJCQlmcHV0cygi
ICBFbnRlciBhcmd1bWVudCB2YWx1ZXMgIgogCQkJCSAgICAiKGV4LiBudW1i
ZXIgMSAvIHN0cmluZyBmb28pLiAiCiAJCQkJICAgICIncScgdG8gcXVpdC5c
biIsc3RkZXJyKTsKIAkJCX0KIAkJCS8qIGdldCBhbmQgcGFyc2UgYXJndW1l
bnQgdmFsdWVzICovCi0JCQlmb3IgKGkgPSAwOyBpIDwgbmFtZS0+cHJvcGVy
dHktPm1ldGguYXJnbnVtOyBpKyspIHsKKwkJCWZvciAoaSA9IDA7IGkgPCBh
cmdudW07IGkrKykgewogCQkJcmV0cnk6CiAJCQkJZnByaW50ZihzdGRlcnIs
ICIgIEFyZyVkID8gIiwgaSk7CiAJCQkJaWYgKHJlYWQoMCwgYXJnYnVmW2ld
LCBCVUZMRU4pID09IDApIHsKQEAgLTMxMiw4ICszMTMsNyBAQAogCQkJfQog
CQkJYnplcm8obGFzdGNvbW1hbmQsIHNpemVvZiBsYXN0Y29tbWFuZCk7CiAJ
CQlmcHJpbnRmKHN0ZGVyciwgIj09PT0gUnVubmluZyAlcy4gPT09PVxuIiwg
bWV0aG9kKTsKLQkJCXJldHZhbCA9IGFjcGlfaW52b2tlX21ldGhvZF9ieV9u
YW1lKG1ldGhvZCwKLQkJCSAgICBuYW1lLT5wcm9wZXJ0eS0+bWV0aC5hcmdu
dW0sIGFyZ3YpOworCQkJcmV0dmFsID0gYWNwaV9pbnZva2VfbWV0aG9kX2J5
X25hbWUobWV0aG9kLGFyZ251bSwgYXJndik7CiAJCQlzaG93b2JqZWN0KHJl
dHZhbCk7CiAJCQlhY3BpX2ZyZWVfb2JqZWN0KCZyZXR2YWwpOwogCQkJZnBy
aW50ZihzdGRlcnIsICI9PT09ICVzIGZpbmlzaGVkLiA9PT09XG4iLCBtZXRo
b2QpOwo=
--------=_949677164.FFC8FF57.FFC8F1AF--
