[Bf-committers] ok.. this is the one.. DISTRAY PATCH <-- WORKING

Ray Wells bf-committers@blender.org
Wed, 14 Jul 2004 22:22:17 -0700 (PDT)


--0-2032806393-1089868937=:23065
Content-Type: text/plain; charset=us-ascii
Content-Id: 
Content-Disposition: inline

sorry.. i really suck at patching and i guess i missed
a lot my first few times.. but here it is.

sorry for the inconveinence my n00bness caused.


		
__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail 
--0-2032806393-1089868937=:23065
Content-Type: application/octet-stream; name="distray.patch"
Content-Transfer-Encoding: base64
Content-Description: distray.patch
Content-Disposition: attachment; filename="distray.patch"

SW5kZXg6IHJlbmRlcmNvbnZlcnRlci9pbnRlcm4vY29udmVydEJsZW5kZXJT
Y2VuZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNy
b290L2JmLWJsZW5kZXIvYmxlbmRlci9zb3VyY2UvYmxlbmRlci9yZW5kZXJj
b252ZXJ0ZXIvaW50ZXJuL2NvbnZlcnRCbGVuZGVyU2NlbmUuYyx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS43MgpkaWZmIC11IC1yMS43MiBjb252ZXJ0Qmxl
bmRlclNjZW5lLmMKLS0tIHJlbmRlcmNvbnZlcnRlci9pbnRlcm4vY29udmVy
dEJsZW5kZXJTY2VuZS5jCTEyIEp1bCAyMDA0IDAzOjIwOjMxIC0wMDAwCTEu
NzIKKysrIHJlbmRlcmNvbnZlcnRlci9pbnRlcm4vY29udmVydEJsZW5kZXJT
Y2VuZS5jCTE1IEp1bCAyMDA0IDA1OjA5OjAyIC0wMDAwCkBAIC0xNTkxLDYg
KzE1OTEsOCBAQAogCWxhci0+YnVmc2l6ZSA9IGxhLT5idWZzaXplOwogCWxh
ci0+c2FtcCA9IGxhLT5zYW1wOwogCWxhci0+c29mdCA9IGxhLT5zb2Z0Owor
CWxhci0+bWF4c29mdCA9IGxhLT5tYXhzb2Z0OworCWxhci0+c29mdHNhbXBs
ZXMgPSBsYS0+c29mdHNhbXBsZXM7CiAJbGFyLT5zaGFkaGFsb3N0ZXAgPSBs
YS0+c2hhZGhhbG9zdGVwOwogCWxhci0+Y2xpcHN0YSA9IGxhLT5jbGlwc3Rh
OwogCWxhci0+Y2xpcGVuZCA9IGxhLT5jbGlwZW5kOwpJbmRleDogcmVuZGVy
L2V4dGVybi9pbmNsdWRlL3JlbmRlcl90eXBlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIvYmxlbmRl
ci9zb3VyY2UvYmxlbmRlci9yZW5kZXIvZXh0ZXJuL2luY2x1ZGUvcmVuZGVy
X3R5cGVzLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTYKZGlmZiAtdSAt
cjEuMTYgcmVuZGVyX3R5cGVzLmgKLS0tIHJlbmRlci9leHRlcm4vaW5jbHVk
ZS9yZW5kZXJfdHlwZXMuaAkyNiBBcHIgMjAwNCAyMTozODozNSAtMDAwMAkx
LjE2CisrKyByZW5kZXIvZXh0ZXJuL2luY2x1ZGUvcmVuZGVyX3R5cGVzLmgJ
MTUgSnVsIDIwMDQgMDU6MDk6MDIgLTAwMDAKQEAgLTIzNCw3ICsyMzQsOCBA
QAogCWZsb2F0IHhzcCwgeXNwLCBkaXN0a3csIGlucHI7CiAJZmxvYXQgaGFs
b2t3LCBoYWxvOwogCWZsb2F0IGxkMSxsZDI7Ci0KKwlmbG9hdCBtYXhzb2Z0
OworCWludCBzb2Z0c2FtcGxlczsKIAkvKiBjb3BpZWQgZnJvbSBMYW1wLCB0
byBkZWNvdXBsZSBtb3JlIHJlbmRlcmluZyBzdHVmZiAqLwogCS8qKiBTaXpl
IG9mIHRoZSBzaGFkb3didWZmZXIgKi8KIAlzaG9ydCBidWZzaXplOwpAQCAt
MjY5LDQgKzI3MCwzIEBACiB9IExhbXBSZW47CiAKICNlbmRpZiAvKiBSRU5E
RVJfVFlQRVNfSCAqLwotCkluZGV4OiByZW5kZXIvaW50ZXJuL3NvdXJjZS9y
YXkuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9v
dC9iZi1ibGVuZGVyL2JsZW5kZXIvc291cmNlL2JsZW5kZXIvcmVuZGVyL2lu
dGVybi9zb3VyY2UvcmF5LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDAK
ZGlmZiAtdSAtcjEuNDAgcmF5LmMKLS0tIHJlbmRlci9pbnRlcm4vc291cmNl
L3JheS5jCTIxIEp1biAyMDA0IDE2OjA3OjUwIC0wMDAwCTEuNDAKKysrIHJl
bmRlci9pbnRlcm4vc291cmNlL3JheS5jCTE1IEp1bCAyMDA0IDA1OjA5OjA0
IC0wMDAwCkBAIC0xNDAzLDYgKzE0MDMsNyBAQAogCXJlZnJhY3RbMF09IGlu
ZGV4KnZpZXdbMF0gKyBmYWMqblswXTsKIAlyZWZyYWN0WzFdPSBpbmRleCp2
aWV3WzFdICsgZmFjKm5bMV07CiAJcmVmcmFjdFsyXT0gaW5kZXgqdmlld1sy
XSArIGZhYypuWzJdOworCQogfQogCiAvKiBvcm4gPSBvcmlnaW5hbCBmYWNl
IG5vcm1hbCAqLwpAQCAtMTQ1NSw2ICsxNDU2LDU5IEBACiAjZW5kaWYKIAog
LyogdGhlIG1haW4gcmVjdXJzaXZlIHRyYWNlciBpdHNlbGYgKi8KK3ZvaWQK
K2dldFJhbmRvbVZlYyAoZmxvYXQgKnZlYywgZmxvYXQgbWF4KQoreworICAK
KyAgCisgIAorCQorICB2ZWNbMF0gPSAoZmxvYXQpIChkcmFuZDQ4ICgpICog
KG1heCoyKSktbWF4OworICB2ZWNbMV0gPSAoZmxvYXQpIChkcmFuZDQ4ICgp
ICogKG1heCoyKSktbWF4OworICB2ZWNbMl0gPSAoZmxvYXQpIChkcmFuZDQ4
ICgpICogKG1heCoyKSktbWF4OworICAKK30KK3ZvaWQKK3JvdGF0ZVZlYyAo
ZmxvYXQgKm5ld3ZlYywgZmxvYXQgKm9yaWdpbnZlYywgZmxvYXQgKnJvdGF0
ZXZlYywgZmxvYXQgYXgsCisJICAgZmxvYXQgYXksIGZsb2F0IGF6KQorewkJ
CQkvLyB3ZSBhcmUgZ29pbmcgdG8gYmUgZG9pbmcgdGhpcyBhbG90IHNpbmNl
IHRoZSB3YXkgaSBhbSBzYW1wbGluZyBpcyBiYXNlZCBvbiByYW5kb20gYW5n
bGVzCisgIGZsb2F0IG90aGVydmVjWzNdLCB0ZW1wdmVjMVszXSwgdGVtcHZl
YzJbM107CS8vIHRoZXJlIGhhcyBHT1QgVE8gQkUgYSBiZXR0ZXIgd2F5IG9m
IGRvaW5nIHRoaXMhCisKKyAgb3RoZXJ2ZWNbMF0gPSByb3RhdGV2ZWNbMF0g
LSBvcmlnaW52ZWNbMF07CisgIG90aGVydmVjWzFdID0gcm90YXRldmVjWzFd
IC0gb3JpZ2ludmVjWzFdOworICBvdGhlcnZlY1syXSA9IHJvdGF0ZXZlY1sy
XSAtIG9yaWdpbnZlY1syXTsJLy8gbWFrZSBzdXJlIHRoaXMgaXMgcmVhbGl0
aXZpemVkIHRvIHRlaCBvcmlnaW4uLiB0aGVuIHdlIHNpbXBseSB0cmFuc2xh
dGUgYWZ0ZXIgcm90YXRpb24gYXJvdW5kIHRoZSBvcmlnaW4uIFRIQU5LIFlP
VSBFVUNMSUQhISEKKworICB0ZW1wdmVjMVswXSA9IG90aGVydmVjWzBdICog
Y29zIChheikgKyBvdGhlcnZlY1sxXSAqIHNpbiAoYXopOwkvLyB4MSA9ICB4
ICogY3ogKyAgeSAqIHN6CisgIHRlbXB2ZWMxWzFdID0gb3RoZXJ2ZWNbMV0g
KiBjb3MgKGF4KSAtIG90aGVydmVjWzBdICogc2luIChheik7CS8vIHkxID0g
IHkgKiBjeiAtICB4ICogc3oKKyAgdGVtcHZlYzFbMl0gPSBvdGhlcnZlY1sy
XTsJLy8gejEgPSB6CisKKyAgdGVtcHZlYzJbMF0gPSB0ZW1wdmVjMVswXSAq
IGNvcyAoYXkpICsgdGVtcHZlYzFbMl0gKiBzaW4gKGF5KTsJLy8geDIgPSB4
MSAqIGN5ICsgejEgKiBzeQorICB0ZW1wdmVjMlsxXSA9IHRlbXB2ZWMxWzJd
OwkvLyB5MiA9IHoxOworICB0ZW1wdmVjMlsyXSA9IHRlbXB2ZWMxWzJdICog
Y29zIChheSkgLSB0ZW1wdmVjMVswXSAqIHNpbiAoYXkpOwkvLyB6MiA9IHox
ICogY3kgLSB4MSAqIHN5CisKKyAgbmV3dmVjWzBdID0gdGVtcHZlYzJbMF07
CS8vIHgzID0geDIKKyAgbmV3dmVjWzFdID0gdGVtcHZlYzJbMV0gKiBjb3Mg
KGF4KSArIHRlbXB2ZWMxWzJdICogc2luIChheCk7CS8vIHkzID0geTIgKiBj
eCArIHoxICogc3gKKyAgbmV3dmVjWzJdID0gdGVtcHZlYzJbMl0gKiBjb3Mg
KGF4KSAtIHRlbXB2ZWMxWzBdICogc2luIChheCk7CS8vIHozID0gejIgKiBj
eCAtIHgxICogc3gKKworICBuZXd2ZWNbMF0gKz0gb3JpZ2ludmVjWzBdOwor
ICBuZXd2ZWNbMV0gKz0gb3JpZ2ludmVjWzFdOworICBuZXd2ZWNbMl0gKz0g
b3JpZ2ludmVjWzJdOworCisKKworfQordm9pZAorY2xpcFZlYyAoZmxvYXQg
KnZlYykgCit7CisgIGlmICh2ZWNbMF0gPiAxLjApCisgICAgdmVjWzBdID0g
MS4wOworICBpZiAodmVjWzFdID4gMS4wKQorICAgIHZlY1sxXSA9IDEuMDsK
KyAgaWYgKHZlY1syXSA+IDEuMCkKKyAgICB2ZWNbMl0gPSAxLjA7Cit9CisK
Kwogc3RhdGljIHZvaWQgdHJhY2VyYXkoc2hvcnQgZGVwdGgsIGZsb2F0ICpz
dGFydCwgZmxvYXQgKnZlYywgZmxvYXQgKmNvbCwgVmxha1JlbiAqdmxyLCBp
bnQgbWFzaykKIHsKIAlTaGFkZUlucHV0IHNoaTsKQEAgLTE0NjIsNyArMTUx
Niw3IEBACiAJSXNlY3QgaXNlYzsKIAlmbG9hdCBmLCBmMSwgZnIsIGZnLCBm
YjsKIAlmbG9hdCByZWZbM107Ci0JCisJZmxvYXQgbm9ycmVmWzNdOwogCVZF
Q0NPUFkoaXNlYy5zdGFydCwgc3RhcnQpOwogCWlzZWMuZW5kWzBdPSBzdGFy
dFswXStnX29jLm9jc2l6ZSp2ZWNbMF07CiAJaXNlYy5lbmRbMV09IHN0YXJ0
WzFdK2dfb2Mub2NzaXplKnZlY1sxXTsKQEAgLTE0NzcsMTAgKzE1MzEsMzkg
QEAKIAkJaWYoZGVwdGg+MCkgewogCiAJCQlpZihzaGkubWF0cmVuLT5tb2Rl
ICYgTUFfUkFZVFJBTlNQICYmIHNoci5hbHBoYSE9MS4wKSB7Ci0JCQkJZmxv
YXQgZiwgZjEsIHJlZnJhY3RbM10sIHRyYWNvbFszXTsKKwkJCQlmbG9hdCBm
LCBmMSwgcmVmcmFjdFszXSwgdHJhY29sWzNdLCBub3JbM107CisJCQkJCiAJ
CQkJCi0JCQkJcmVmcmFjdGlvbihyZWZyYWN0LCBzaGkudm4sIHNoaS52aWV3
LCBzaGkubWF0cmVuLT5hbmcpOwotCQkJCXRyYWNlcmF5KGRlcHRoLTEsIHNo
aS5jbywgcmVmcmFjdCwgdHJhY29sLCBzaGkudmxyLCBzaGkubWFzayk7CisJ
CQkJCisJCQkJaWYgKHNoaS5tYXRyZW4tPm1vZGUgJiBNQV9CTFVSUlkpIHsK
KwkJCQkJaW50IGk7CisJCQkJCWZsb2F0IGNjb2xbM10sIHNjb2xbM107CisJ
CQkJCW1lbXNldCAoc2NvbCwgMCwgc2l6ZW9mKHNjb2wpKTsKKwkJCQkJZm9y
IChpPTA7IGkgPCBzaGkubWF0cmVuLT5ibHVyc2FtcGxlczsgaSsrKSB7CisJ
CQkJCQorCQkJCQlnZXRSYW5kb21WZWMobm9yLCBzaGkubWF0cmVuLT5ibHVy
ZmFjdG9yKTsKKwkJCQkJCisJCQkJCQorCQkJCQkKKwkJCQkJCisJCQkJCQor
CQkJCQlyZWZyYWN0aW9uKHJlZnJhY3QsIHNoaS52biwgc2hpLnZpZXcsIHNo
aS5tYXRyZW4tPmFuZyk7ICAKKwkJCQkJVkVDQUREKHJlZnJhY3QscmVmcmFj
dCxub3IpOworCQkJCQlOb3JtYWxpc2UocmVmcmFjdCk7CQorCQkJCQl0cmFj
ZXJheShkZXB0aC0xLCBzaGkuY28sIHJlZnJhY3QsIGNjb2wsIHNoaS52bHIs
IHNoaS5tYXNrKTsKKwkJCQkJVkVDQUREKHNjb2wsc2NvbCxjY29sKTsKKwkJ
CQkJCisJCQkJCX0KKwkJCQkJc2NvbFswXS89KGZsb2F0KXNoaS5tYXRyZW4t
PmJsdXJzYW1wbGVzOworCQkJCQlzY29sWzFdLz0oZmxvYXQpc2hpLm1hdHJl
bi0+Ymx1cnNhbXBsZXM7CisJCQkJCXNjb2xbMl0vPShmbG9hdClzaGkubWF0
cmVuLT5ibHVyc2FtcGxlczsKKwkJCQkJVkVDQ09QWSh0cmFjb2wsIHNjb2wp
OworCQkJCQkKKwkJCQkJfQorCQkJCQllbHNlIHsKKwkJCQkJcmVmcmFjdGlv
bihyZWZyYWN0LCBzaGkudm4sIHNoaS52aWV3LCBzaGkubWF0cmVuLT5hbmcp
OyAKKwkJCQkJdHJhY2VyYXkoZGVwdGgtMSwgc2hpLmNvLCByZWZyYWN0LCB0
cmFjb2wsIHNoaS52bHIsIHNoaS5tYXNrKTsKKwkJCQl9CiAJCQkJCiAJCQkJ
Zj0gc2hyLmFscGhhOyBmMT0gMS4wLWY7CiAJCQkJc2hyLmRpZmZbMF09IGYq
c2hyLmRpZmZbMF0gKyBmMSp0cmFjb2xbMF07CkBAIC0xNDg4LDcgKzE1NzEs
NyBAQAogCQkJCXNoci5kaWZmWzJdPSBmKnNoci5kaWZmWzJdICsgZjEqdHJh
Y29sWzJdOwogCQkJCXNoci5hbHBoYT0gMS4wOwogCQkJfQotCisJCQogCQkJ
aWYoc2hpLm1hdHJlbi0+bW9kZSAmIE1BX1JBWU1JUlJPUikgewogCQkJCWY9
IHNoaS5tYXRyZW4tPnJheV9taXJyb3I7CiAJCQkJaWYoZiE9MC4wKSBmKj0g
ZnJlc25lbF9mYWMoc2hpLnZpZXcsIHNoaS52biwgc2hpLm1hdHJlbi0+ZnJl
c25lbF9taXJfaSwgc2hpLm1hdHJlbi0+ZnJlc25lbF9taXIpOwpAQCAtMTQ5
NywxMSArMTU4MCwzNSBAQAogCQkJCiAJCQlpZihmIT0wLjApIHsKIAkJCQor
CisJCQkJaWYgKHNoaS5tYXRyZW4tPm1vZGUgJiBNQV9CTFVSUlkpIHsKKwkJ
CQkJZmxvYXQgbm9yWzNdLCBjY29sWzNdLHNjb2xbM107CQorCQkJCQlpbnQg
aTsKKwkJCQkJbWVtc2V0KHNjb2wsMCxzaXplb2Yoc2NvbCkpOworCQkJCQlm
b3IgKGk9MDsgaSA8IHNoaS5tYXRyZW4tPmJsdXJzYW1wbGVzOyBpKyspIHsK
KwkJCQkJZ2V0UmFuZG9tVmVjKG5vciwgc2hpLm1hdHJlbi0+Ymx1cmZhY3Rv
cik7CisJCQkJCVZFQ0FERChub3Isbm9yLHNoaS52bik7CisJCQkJCU5vcm1h
bGlzZShub3IpOyAvLyBtYWtlIHN1cmUgbm9ycmVmIGlzIGEgbm9ybWFsCisJ
CQkJCQorCQkJCQkvLyBieSBtb2RpZml5aW5nIHZuIHdlIGNhbiBlZmZlY3Rp
dmVseSBhY2hpZXZlIGJsdXJyeSBvdmVyc2FtcGxpbmcKKwkJCQkJCisJCQkJ
CXJlZmxlY3Rpb24ocmVmLCBub3IsIHNoaS52aWV3LCBOVUxMKTsgIAorCQkJ
CQl0cmFjZXJheShkZXB0aC0xLCBzaGkuY28sIHJlZiwgY2NvbCwgc2hpLnZs
ciwgc2hpLm1hc2spOworCQkJCQlWRUNBREQoc2NvbCxzY29sLGNjb2wpOwor
CQkJCQkKKwkJCQkJfQorCQkJCQlzY29sWzBdIC89IChmbG9hdClzaGkubWF0
cmVuLT5ibHVyc2FtcGxlczsKKwkJCQkJc2NvbFsxXSAvPSAoZmxvYXQpc2hp
Lm1hdHJlbi0+Ymx1cnNhbXBsZXM7CisJCQkJCXNjb2xbMl0gLz0gKGZsb2F0
KXNoaS5tYXRyZW4tPmJsdXJzYW1wbGVzOworCQkJCQlWRUNDT1BZKGNvbCxz
Y29sKTsKKwkJCQkJfQorCQkJCQllbHNlIHsKIAkJCQlyZWZsZWN0aW9uKHJl
Ziwgc2hpLnZuLCBzaGkudmlldywgTlVMTCk7CQkJCiAJCQkJdHJhY2VyYXko
ZGVwdGgtMSwgc2hpLmNvLCByZWYsIGNvbCwgc2hpLnZsciwgc2hpLm1hc2sp
OworCQkJCQl9CiAJCQkKIAkJCQlmMT0gMS4wLWY7Ci0KKwkJCQkgCiAJCQkJ
LyogY29tYmluZSAqLwogCQkJCS8vY29sb3JfY29tYmluZShjb2wsIGYqZnIq
KDEuMC1zaHIuc3BlY1swXSksIGYxLCBjb2wsIHNoci5kaWZmKTsKIAkJCQkv
L2NvbFswXSs9IHNoci5zcGVjWzBdOwpAQCAtMTY2OCwxMSArMTc3NSwxMyBA
QAogdm9pZCByYXlfdHJhY2UoU2hhZGVJbnB1dCAqc2hpLCBTaGFkZVJlc3Vs
dCAqc2hyKQogewogCVZsYWtSZW4gKnZscjsKLQlmbG9hdCBpLCBmLCBmMSwg
ZnIsIGZnLCBmYiwgdmVjWzNdLCBtaXJjb2xbM10sIHRyYWNvbFszXTsKLQlp
bnQgZG9fdHJhLCBkb19taXI7CisJZmxvYXQgaSwgZiwgZjEsIGZyLCBmZywg
ZmIsIHZlY1szXSwgbWlyY29sWzNdLCB0cmFjb2xbM10sIHBsdWdjb2xbM107
CisJaW50IGRvX3RyYSwgZG9fbWlyLGRvX3BsdWdpbjsKIAkKIAlkb190cmE9
ICgoc2hpLT5tYXRyZW4tPm1vZGUgJiBNQV9SQVlUUkFOU1ApICYmIHNoci0+
YWxwaGEhPTEuMCk7CiAJZG9fbWlyPSAoKHNoaS0+bWF0cmVuLT5tb2RlICYg
TUFfUkFZTUlSUk9SKSAmJiBzaGktPm1hdHJlbi0+cmF5X21pcnJvciE9MC4w
KTsKKworCQogCXZscj0gc2hpLT52bHI7CiAJCiAJY29oX3Rlc3Q9IDA7CQkv
LyByZXNldCBjb2hlcmVuY2Ugb3B0aW1pemUKQEAgLTE2ODAsOCArMTc4OSwz
OCBAQAogCWlmKGRvX3RyYSkgewogCQlmbG9hdCByZWZyYWN0WzNdOwogCQkK
KworCQlpZiAoc2hpLT5tYXRyZW4tPm1vZGUgJiBNQV9CTFVSUlkpIHsKKwkJ
CQkJCisJCQlmbG9hdCBub3JbM10sIGNjb2xbM10sc2NvbFszXTsJCisJCQkJ
bWVtc2V0KHNjb2wsMCxzaXplb2Yoc2NvbCkpOworCQkJCWludCBpOworCQkJ
CWZvciAoaT0wOyBpIDwgc2hpLT5tYXRyZW4tPmJsdXJzYW1wbGVzOyBpKysp
IHsKKwkJCQkJZ2V0UmFuZG9tVmVjKG5vciwgc2hpLT5tYXRyZW4tPmJsdXJm
YWN0b3IpOworCQkJCQkvL1ZFQ0FERChub3Isbm9yLHNoaS0+dm4pOworCQkJ
CQkKKwkJCQkJCisJCQkJCQorCQkJCQkvLyBieSBtb2RpZml5aW5nIHZuIHdl
IGNhbiBlZmZlY3RpdmVseSBhY2hpZXZlIGJsdXJyeSBvdmVyc2FtcGxpbmcK
KwkJCQkJCisJCQkJCXJlZnJhY3Rpb24ocmVmcmFjdCwgc2hpLT52biwgc2hp
LT52aWV3LCBzaGktPm1hdHJlbi0+YW5nKTsKKwkJCQkJVkVDQUREKHJlZnJh
Y3QsIHJlZnJhY3QsIG5vcik7CisJCQkJCU5vcm1hbGlzZShyZWZyYWN0KTsK
KwkJCQkJdHJhY2VyYXkoc2hpLT5tYXRyZW4tPnJheV9kZXB0aF90cmEsIHNo
aS0+Y28sIHJlZnJhY3QsIGNjb2wsIHNoaS0+dmxyLCBzaGktPm1hc2spOwor
CQkJCQlWRUNBREQoc2NvbCxzY29sLGNjb2wpOworCQkJCQkKKwkJCQorCQl9
CisJCXNjb2xbMF0gLz0gKGZsb2F0KXNoaS0+bWF0cmVuLT5ibHVyc2FtcGxl
czsKKwkJCQkJc2NvbFsxXSAvPSAoZmxvYXQpc2hpLT5tYXRyZW4tPmJsdXJz
YW1wbGVzOworCQkJCQlzY29sWzJdIC89IChmbG9hdClzaGktPm1hdHJlbi0+
Ymx1cnNhbXBsZXM7CisJCQkJCVZFQ0NPUFkodHJhY29sLHNjb2wpOworCX0K
KwkJZWxzZSB7CiAJCXJlZnJhY3Rpb24ocmVmcmFjdCwgc2hpLT52biwgc2hp
LT52aWV3LCBzaGktPm1hdHJlbi0+YW5nKTsKLQkJdHJhY2VyYXkoc2hpLT5t
YXRyZW4tPnJheV9kZXB0aF90cmEsIHNoaS0+Y28sIHJlZnJhY3QsIHRyYWNv
bCwgc2hpLT52bHIsIHNoaS0+bWFzayk7CisJCQl0cmFjZXJheShzaGktPm1h
dHJlbi0+cmF5X2RlcHRoX3RyYSwgc2hpLT5jbywgcmVmcmFjdCwgdHJhY29s
LCBzaGktPnZsciwgc2hpLT5tYXNrKTsKKwkJfQorCQkKIAkJCiAJCWY9IHNo
ci0+YWxwaGE7IGYxPSAxLjAtZjsKIAkJc2hyLT5kaWZmWzBdPSBmKnNoci0+
ZGlmZlswXSArIGYxKnRyYWNvbFswXTsKQEAgLTE2ODksNyArMTgyOCw3IEBA
CiAJCXNoci0+ZGlmZlsyXT0gZipzaHItPmRpZmZbMl0gKyBmMSp0cmFjb2xb
Ml07CiAJCXNoci0+YWxwaGE9IDEuMDsKIAl9Ci0JCisKIAlpZihkb19taXIp
IHsKIAkKIAkJaT0gc2hpLT5tYXRyZW4tPnJheV9taXJyb3IqZnJlc25lbF9m
YWMoc2hpLT52aWV3LCBzaGktPnZuLCBzaGktPm1hdHJlbi0+ZnJlc25lbF9t
aXJfaSwgc2hpLT5tYXRyZW4tPmZyZXNuZWxfbWlyKTsKQEAgLTE2OTcsMTMg
KzE4MzYsNDAgQEAKIAkJCWZyPSBzaGktPm1hdHJlbi0+bWlycjsKIAkJCWZn
PSBzaGktPm1hdHJlbi0+bWlyZzsKIAkJCWZiPSBzaGktPm1hdHJlbi0+bWly
YjsKLQorCQkJaWYgKHNoaS0+bWF0cmVuLT5tb2RlICYgTUFfQkxVUlJZKSB7
CisJCQkJCisJCQkKKwkJCQlmbG9hdCBub3JbM10sIGNjb2xbM10sc2NvbFsz
XTsJCisJCQkJaW50IGk7CisJCQkJbWVtc2V0KHNjb2wsMCxzaXplb2Yoc2Nv
bCkpOworCQkJCWZvciAoaT0wOyBpIDwgc2hpLT5tYXRyZW4tPmJsdXJzYW1w
bGVzOyBpKyspIHsKKwkJCQkJZ2V0UmFuZG9tVmVjKG5vciwgc2hpLT5tYXRy
ZW4tPmJsdXJmYWN0b3IpOworCQkJCQlWRUNBREQobm9yLG5vcixzaGktPnZu
KTsKKwkJCQkJTm9ybWFsaXNlKG5vcik7IC8vIG1ha2Ugc3VyZSBub3JyZWYg
aXMgYSBub3JtYWwKKwkJCQkJCisJCQkJCS8vIGJ5IG1vZGlmaXlpbmcgdm4g
d2UgY2FuIGVmZmVjdGl2ZWx5IGFjaGlldmUgYmx1cnJ5IG92ZXJzYW1wbGlu
ZworCQkJCQkKKwkJCQlpZih2bHItPmZsYWcgJiBSX1NNT09USCkgCisJCQkJ
CXJlZmxlY3Rpb24odmVjLCBub3IsIHNoaS0+dmlldywgdmxyLT5uKTsKKwkJ
CQllbHNlCisJCQkJCXJlZmxlY3Rpb24odmVjLCBub3IJLCBzaGktPnZpZXcs
IE5VTEwpOworCQkJCQorCQkJCQl0cmFjZXJheShzaGktPm1hdHJlbi0+cmF5
X2RlcHRoLCBzaGktPmNvLCB2ZWMsIGNjb2wsIHNoaS0+dmxyLCBzaGktPm1h
c2spOworCQkJCQlWRUNBREQoc2NvbCxzY29sLGNjb2wpOworCQkJCQorCQkJ
CQl9CisJCQkJCQlzY29sWzBdIC89IChmbG9hdClzaGktPm1hdHJlbi0+Ymx1
cnNhbXBsZXM7CisJCQkJCXNjb2xbMV0gLz0gKGZsb2F0KXNoaS0+bWF0cmVu
LT5ibHVyc2FtcGxlczsKKwkJCQkJc2NvbFsyXSAvPSAoZmxvYXQpc2hpLT5t
YXRyZW4tPmJsdXJzYW1wbGVzOworCQkJCQlWRUNDT1BZKG1pcmNvbCxzY29s
KTsKKwkJCQorCQl9IGVsc2UgewogCQkJaWYodmxyLT5mbGFnICYgUl9TTU9P
VEgpIAogCQkJCXJlZmxlY3Rpb24odmVjLCBzaGktPnZuLCBzaGktPnZpZXcs
IHZsci0+bik7CiAJCQllbHNlCiAJCQkJcmVmbGVjdGlvbih2ZWMsIHNoaS0+
dm4sIHNoaS0+dmlldywgTlVMTCk7Ci0JCiAJCQl0cmFjZXJheShzaGktPm1h
dHJlbi0+cmF5X2RlcHRoLCBzaGktPmNvLCB2ZWMsIG1pcmNvbCwgc2hpLT52
bHIsIHNoaS0+bWFzayk7CisJCQl9CiAJCQkKIAkJCWY9IGkqZnIqKDEuMC1z
aHItPnNwZWNbMF0pOwlmMT0gMS4wLWk7CiAJCQlzaHItPmRpZmZbMF09IGYq
bWlyY29sWzBdICsgZjEqc2hyLT5kaWZmWzBdOwpAQCAtMjE0Myw0ICsyMzA5
LDMgQEAKIAkKIAkKIH0KLQpJbmRleDogcmVuZGVyL2ludGVybi9zb3VyY2Uv
cmVuZGVyY29yZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnNyb290L2JmLWJsZW5kZXIvYmxlbmRlci9zb3VyY2UvYmxlbmRlci9y
ZW5kZXIvaW50ZXJuL3NvdXJjZS9yZW5kZXJjb3JlLmMsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuNzAKZGlmZiAtdSAtcjEuNzAgcmVuZGVyY29yZS5jCi0t
LSByZW5kZXIvaW50ZXJuL3NvdXJjZS9yZW5kZXJjb3JlLmMJOCBKdWwgMjAw
NCAyMDozODoyNCAtMDAwMAkxLjcwCisrKyByZW5kZXIvaW50ZXJuL3NvdXJj
ZS9yZW5kZXJjb3JlLmMJMTUgSnVsIDIwMDQgMDU6MDk6MDcgLTAwMDAKQEAg
LTEzODQsNiArMTM4NCwxNSBAQAogfQogCiAvKiBCbGlubiBzcGVjICovCisj
aWYgMAorZmxvYXQgUGx1Z2luU3BlYyhmbG9hdCAqbiwgZmxvYXQgKmwsIGZs
b2F0ICp2LCBCbGVuZGVyUGx1Z2luICpwbHVnaW4pIHsKKwkJKGZsb2F0KSAo
KnNwZWNfY2IgKCBmbG9hdCAsIGZsb2F0ICwgZmxvYXQsIHVuc2lnbmVkIGNo
YXIqKikgPSBQTFVHX0dldENhbGxiYWNrKHBsdWdpbiwgUExVR19BUkVBX1NQ
RUMpOworCSAgICB1bnNpZ25lZCBjaGFyICpwdXNoYXJncyA9IE5VTEw7CisJ
CQorCQlQTFVHX0dldEFyZ1ZhbHVlcyhwbHVnaW4sIFBMVUdfU0hBREVSX1NQ
RUMsIHB1c2hhcmdzKTsgLy8gdGhlc2UgYXJlIHN0b3JlZCBpbiBzb21lIGRh
dGFiYXNlCisJCXJldHVybiAoKnNwZWNfY2IpKG4sbCx2LHB1c2hhcmdzKTsg
CisJfQorI2VuZGlmCiBmbG9hdCBCbGlubl9TcGVjKGZsb2F0ICpuLCBmbG9h
dCAqbCwgZmxvYXQgKnYsIGZsb2F0IHJlZnJhYywgZmxvYXQgc3BlY19wb3dl
ciApCiB7CiAJZmxvYXQgaSwgbmgsIG52LCBubCwgdmgsIGhbM107CkBAIC0x
NDU5LDggKzE0NjgsMTYgQEAKIAkKIAlyZXR1cm4gcnNsdDsKIH0KLQotLyog
Y2FydG9vbiByZW5kZXIgZGlmZnVzZSAqLworI2lmIDAKKy8vIHBsdWdpbiBk
aWZmdXNlCitmbG9hdCBQbHVnaW5EaWZmKCBmbG9hdCAqbiwgZmxvYXQgKmws
IGZsb2F0ICp2LCBCbGVuZGVyUGx1Z2luICpwbHVnaW4pIHsKKwkJZmxvYXQg
KCpkaWZmX2NiKSAoZmxvYXQsZmxvYXQsZmxvYXQsdmFfbGlzdCopID0gcGx1
Z2luLT5jYWxsYmFja3NbUExVR19ESUZGX0NCXTsKKwkJCisJCXJldHVybiAo
KmRpZmZfY2IpIChuLGwsdixwbHVnaW4tPnB1c2hhcmdzKTsKKwl9CisjZW5k
aWYKKwkKKwkvKiBjYXJ0b29uIHJlbmRlciBkaWZmdXNlICovCiBmbG9hdCBU
b29uX0RpZmYoIGZsb2F0ICpuLCBmbG9hdCAqbCwgZmxvYXQgKnYsIGZsb2F0
IHNpemUsIGZsb2F0IHNtb290aCApCiB7CiAJZmxvYXQgcnNsdCwgYW5nOwpA
QCAtMTk0Nyw3ICsxOTY0LDY1IEBACiAJCQkJCiAJCQkJLyogc2luZ2xlIHNp
ZGVkPyAqLwogCQkJCWlmKCBzaGktPnZsci0+blswXSpsdlswXSArIHNoaS0+
dmxyLT5uWzFdKmx2WzFdICsgc2hpLT52bHItPm5bMl0qbHZbMl0gPiAtMC4w
MSkgewotCQkJCQlyYXlfc2hhZG93KHNoaSwgbGFyLCBzaGFkKTsKKwkJCQkJ
CisJCQkJCQkJCQlpZiAobGFyLT5tb2RlICYgTEFfU0hBRF9TT0ZUKSB7CisJ
CQkJCQkvL3ByaW50ZigiU09GVCBQTEVBU0UhISBTb2Z0OiVmIFNhbXAlZCIs
bGFyLT5zb2Z0LGxhci0+c2FtcCk7CisvLwkJCQkJCWxhci0+bWF4c29mdCA9
IGxhci0+c29mdDsKKy8vCQkJCQkJbGFyLT5zb2Z0c2FtcGxlcz0gbGFyLT5z
YW1wOworCisJCQkJCQkKKwkJCQkJCWZsb2F0IG9yb1szXTsKKwkJCQkJCWlm
IChsYXItPnR5cGUgIT0gTEFfU1VOKSB7VkVDQ09QWShvcm8sbGFyLT5jbyk7
fSBlbHNlIHtWRUNDT1BZKG9ybyxsYXItPnZlYyk7fQorCQkJCQkJZmxvYXQg
c3gsc3ksc3o7CisJCQkJCQlmbG9hdCBjb29sc2hhZFszXTsKKwkJCQkJCWlu
dCBpOworCQkJCQkJbWVtc2V0IChjb29sc2hhZCwgMCwgc2l6ZW9mKGNvb2xz
aGFkKSk7IC8vIHdlIG5lZWQgdG8gcmVzZXQgaXQKKwkJCQkJCWZvciAoaT0w
OyBpIDwgbGFyLT5zb2Z0c2FtcGxlczsgaSsrKSB7CisJCQkJCQlzeD0oZmxv
YXQpZHJhbmQ0OCgpICogbGFyLT5tYXhzb2Z0OworCQkJCQkJc3k9KGZsb2F0
KWRyYW5kNDgoKSAqbGFyLT5tYXhzb2Z0OworCQkJCQkJc3o9KGZsb2F0KWRy
YW5kNDgoKSAqbGFyLT5tYXhzb2Z0OworCQkJCQkJaWYgKGxhci0+dHlwZSAh
PSBMQV9TVU4pIHsKKwkJCQkJCWxhci0+Y29bMF0gKz0gc3g7CisJCQkJCQls
YXItPmNvWzFdICs9IHN5OworCQkJCQkJbGFyLT5jb1syXSArPSBzejsKKwkJ
CQkJCX0KKwkJCQkJCWVsc2UgeworCQkJCQkJCWxhci0+dmVjWzBdKz1zeDsK
KwkJCQkJCQlsYXItPnZlY1sxXSs9c3k7CisJCQkJCQkJbGFyLT52ZWNbMl0r
PXN6OworCQkJCQkJCS8vTm9ybWFsaXNlKGxhci0+dmVjKTsJCisJCQkJCQkJ
fQorLy9bMlsyXV0JCQkJCQlpZiAoIW9uU2FtZVNpZGUgKG9ybywgc2hpLT5j
bywgc2hpLT52bHItPm4sIHNoaS0+dmxyLT52MS0+Y28pKSB7CisvLwkJCQkJ
CQlzeD0tc3g7CisvLwkJCQkJCQlzeT0tc3k7CisvLwkJCQkJCQlzej0tc3o7
CisvLwkJCQkJCQlzaGktPmNvWzBdID0gb3JvWzBdICsgc3g7CisvLwkJCQkJ
CQlzaGktPmNvWzFdID0gb3JvWzFdICsgc3k7CisvLwkJCQkJCQlzaGktPmNv
WzJdID0gb3JvWzJdKyBzejsgLy8gaWYgd2Ugd2VudCB0aG9ydWdoIG1ha2Ug
c3VyZSB3ZSBkb250IHRoaXMgdGltZS4JCQkJCQkJCisJCQkJCQkJCisvLwkJ
CQkJCQkKKy8vCQkJCQkJfQorCQkJCQkJcmF5X3NoYWRvdyhzaGksbGFyLHNo
YWQpOwkKKwkJCQkJCWNvb2xzaGFkWzBdICs9IHNoYWRbMF07CisJCQkJCQlj
b29sc2hhZFsxXSArPSBzaGFkWzFdOworCQkJCQkJY29vbHNoYWRbMl0gKz0g
c2hhZFsyXTsKKwkJCQkJCWlmIChsYXItPnR5cGUgIT0gTEFfU1VOKSB7CisJ
CQkJCQlsYXItPmNvWzBdID0gb3JvWzBdOyAvLyByZXNldCBsYXItPmNvCisJ
CQkJCQlsYXItPmNvWzFdID0gb3JvWzFdOworCQkJCQkJbGFyLT5jb1syXSA9
IG9yb1syXTsKKwkJCQkJCX0KKwkJCQkJCWVsc2UgeworCQkJCQkJCQlWRUND
T1BZKGxhci0+dmVjLCBvcm8pOworCQkJCQkJCX0KKwkJCQkJCX0KKwkJCQkJ
CXNoYWRbMF0gPSBjb29sc2hhZFswXS9sYXItPnNvZnRzYW1wbGVzOworCQkJ
CQkJc2hhZFsxXSA9IGNvb2xzaGFkWzFdL2xhci0+c29mdHNhbXBsZXM7CisJ
CQkJCQlzaGFkWzJdID0gY29vbHNoYWRbMl0vbGFyLT5zb2Z0c2FtcGxlczsK
KworCQkJCQkJCisJCQkJCX0gZWxzZSB7CisJCQkJCQlyYXlfc2hhZG93KHNo
aSwgbGFyLCBzaGFkKTsKKwkJCQkJfQogCQkJCQlzaGFkZmFjWzNdKz0gc2hh
ZFszXTsKIAkJCQkJaXIrPSAxLjA7CiAJCQkJfQpAQCAtMjE1MSw5ICsyMjI2
LDcyIEBACiAJCQkJCQl9CiAJCQkJCQllbHNlIGlmKGxhci0+bW9kZSAmIExB
X1NIQURfUkFZKSB7CiAJCQkJCQkJLy8gdGhpcyBleHRyYSAwLjAwMSBwcmV2
ZW50cyBib3VuZGFyeSBjYXNlcyAoc2hhZG93IG9uIHNtb290aCBzcGhlcmUp
Ci0JCQkJCQkJaWYoKHNoaS0+dmxyLT5uWzBdKmx2WzBdICsgc2hpLT52bHIt
Pm5bMV0qbHZbMV0gKyBzaGktPnZsci0+blsyXSpsdlsyXSkgPiAtMC4wMDEp
IAotCQkJCQkJCQlyYXlfc2hhZG93KHNoaSwgbGFyLCBzaGFkZmFjKTsKLQkJ
CQkJCQllbHNlIHNoYWRmYWNbM109IDAuMDsKKwkJCQkJCQlpZigoc2hpLT52
bHItPm5bMF0qbHZbMF0gKyBzaGktPnZsci0+blsxXSpsdlsxXSArIHNoaS0+
dmxyLT5uWzJdKmx2WzJdKSA+IC0wLjAwMSkgeworCQkJCQkJCQkJCQkJaWYg
KGxhci0+bW9kZSAmIExBX1NIQURfU09GVCkgeworCQkJCQkJLy9wcmludGYo
IlNPRlQgUExFQVNFISEgU29mdDolZiBTYW1wJWQiLGxhci0+c29mdCxsYXIt
PnNhbXApOworLy8JCQkJCQlsYXItPm1heHNvZnQgPSBsYXItPnNvZnQ7Cisv
LwkJCQkJCWxhci0+c29mdHNhbXBsZXM9IGxhci0+c2FtcDsKKworCQkJCQkJ
CisJCQkJCQlmbG9hdCBvcm9bM107CisJCQkJCQlpZiAobGFyLT50eXBlICE9
IExBX1NVTikge1ZFQ0NPUFkob3JvLCBsYXItPmNvKTt9IGVsc2Uge1ZFQ0NP
UFkob3JvLCBsYXItPnZlYyk7fQorCQkJCQkJCisJCQkJCQlmbG9hdCBzeCxz
eSxzejsKKwkJCQkJCWZsb2F0IGNvb2xzaGFkWzNdOworCQkJCQkJaW50IGk7
CisJCQkJCQltZW1zZXQgKGNvb2xzaGFkLCAwLCBzaXplb2YoY29vbHNoYWQp
KTsKKwkJCQkJCWZvciAoaT0wOyBpIDwgbGFyLT5zb2Z0c2FtcGxlczsgaSsr
KSB7CisJCQkJCQlzeD0oZmxvYXQpZHJhbmQ0OCgpICogbGFyLT5tYXhzb2Z0
OworCQkJCQkJc3k9KGZsb2F0KWRyYW5kNDgoKSAqbGFyLT5tYXhzb2Z0Owor
CQkJCQkJc3o9KGZsb2F0KWRyYW5kNDgoKSAqbGFyLT5tYXhzb2Z0OworCQkJ
CQkJaWYgKGxhci0+dHlwZSAhPSBMQV9TVU4pIHsKKwkJCQkJCWxhci0+Y29b
MF0gKz0gc3g7CisJCQkJCQlsYXItPmNvWzFdICs9IHN5OwkJCQkJCQorCQkJ
CQkJbGFyLT5jb1syXSArPSBzejsKKwkJCQkJCX0KKwkJCQkJCWVsc2Ugewor
CQkJCQkJCWxhci0+dmVjWzBdKz0gc3g7CisJCQkJCQkJbGFyLT52ZWNbMV0r
PSBzeTsKKwkJCQkJCQlsYXItPnZlY1syXSs9c3o7CisJCQkJCQkJCU5vcm1h
bGlzZShsYXItPnZlYyk7CQkJCQkJCQorCQkJCQkJCX0KKwkJCQkJCQkKKy8v
WzJbMl1dCQkJCQkJaWYgKCFvblNhbWVTaWRlIChvcm8sIHNoaS0+Y28sIHNo
aS0+dmxyLT5uLCBzaGktPnZsci0+djEtPmNvKSkgeworLy8JCQkJCQkJc3g9
LXN4OworLy8JCQkJCQkJc3k9LXN5OworLy8JCQkJCQkJc3o9LXN6OworLy8J
CQkJCQkJc2hpLT5jb1swXSA9IG9yb1swXSArIHN4OworLy8JCQkJCQkJc2hp
LT5jb1sxXSA9IG9yb1sxXSArIHN5OworLy8JCQkJCQkJc2hpLT5jb1syXSA9
IG9yb1syXSsgc3o7IC8vIGlmIHdlIHdlbnQgdGhvcnVnaCBtYWtlIHN1cmUg
d2UgZG9udCB0aGlzIHRpbWUuCQkJCQkJCQorCQkJCQkJCQorLy8JCQkJCQkJ
CisvLwkJCQkJCX0KKwkJCQkJCXJheV9zaGFkb3coc2hpLGxhcixzaGFkZmFj
KTsJCisJCQkJCQljb29sc2hhZFswXSArPSBzaGFkZmFjWzBdOworCQkJCQkJ
Y29vbHNoYWRbMV0gKz0gc2hhZGZhY1sxXTsKKwkJCQkJCWNvb2xzaGFkWzJd
ICs9IHNoYWRmYWNbMl07CisJCQkJCQljb29sc2hhZFszXSArPSBzaGFkZmFj
WzNdOworCQkJCQkJaWYgKGxhci0+dHlwZSAhPSBMQV9TVU4pIHsKKwkJCQkJ
CQkKKwkJCQkJCWxhci0+Y29bMF0gPSBvcm9bMF07IC8vIHJlc2V0IGxhci0+
Y28KKwkJCQkJCWxhci0+Y29bMV0gPSBvcm9bMV07CisJCQkJCQlsYXItPmNv
WzJdID0gb3JvWzJdOworCQkJCQkJfQorCQkJCQkJZWxzZSB7CisJCQkJCQkJ
VkVDQ09QWShsYXItPnZlYywgb3JvKTsJCQkJCQorCQkJCQkJCX0KKwkJCQkJ
CQorCQkJCQkJCX0KKwkJCQkJCXNoYWRmYWNbMF0gPSBjb29sc2hhZFswXS9s
YXItPnNvZnRzYW1wbGVzOworCQkJCQkJc2hhZGZhY1sxXSA9IGNvb2xzaGFk
WzFdL2xhci0+c29mdHNhbXBsZXM7CisJCQkJCQlzaGFkZmFjWzJdID0gY29v
bHNoYWRbMl0vbGFyLT5zb2Z0c2FtcGxlczsKKwkJCQkJCXNoYWRmYWNbM10g
PSBjb29sc2hhZFszXS9sYXItPnNvZnRzYW1wbGVzOworCQkJCQkJCisJCQkJ
CX0gZWxzZSB7CisJCQkJCQlyYXlfc2hhZG93KHNoaSwgbGFyLCBzaGFkZmFj
KTsKKwkJCQkJfQkKKwkJCQkJCQkJCQkJfQorCQkJCQkJCWVsc2V7IHNoYWRm
YWNbM109IDAuMDt9CiAJCQkJCQl9CiAJCiAJCQkJCQkvKiB3YXJuaW5nLCBo
ZXJlIGl0IHNraXBzIHRoZSBsb29wICovCkBAIC0yMjk0LDYgKzI0MzIsOCBA
QAogCiB9CiAKKworCiB2b2lkIHNoYWRlX2lucHV0X3NldF9jb29yZHMoU2hh
ZGVJbnB1dCAqc2hpLCBmbG9hdCB1LCBmbG9hdCB2LCBpbnQgaTEsIGludCBp
MiwgaW50IGkzKQogewogCVZlcnRSZW4gKnYxLCAqdjIsICp2MzsKQEAgLTM1
NTksNSArMzY5OSwzIEBACiAKIAogLyogZW5kIG9mIHJlbmRlci5jICovCi0K
LQpJbmRleDogbWFrZXNkbmEvRE5BX2xhbXBfdHlwZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9iZi1ibGVuZGVyL2Js
ZW5kZXIvc291cmNlL2JsZW5kZXIvbWFrZXNkbmEvRE5BX2xhbXBfdHlwZXMu
aCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC1yMS4xMCBE
TkFfbGFtcF90eXBlcy5oCi0tLSBtYWtlc2RuYS9ETkFfbGFtcF90eXBlcy5o
CTI5IERlYyAyMDAzIDE2OjUyOjQ5IC0wMDAwCTEuMTAKKysrIG1ha2VzZG5h
L0ROQV9sYW1wX3R5cGVzLmgJMTUgSnVsIDIwMDQgMDU6MDk6MDggLTAwMDAK
QEAgLTU1LDcgKzU1LDggQEAKIAlzaG9ydCBidWZzaXplLCBzYW1wOwogCWZs
b2F0IGNsaXBzdGEsIGNsaXBlbmQsIHNoYWRzcG90c2l6ZTsKIAlmbG9hdCBi
aWFzLCBzb2Z0OwotCQorCWZsb2F0IG1heHNvZnQ7CisJc2hvcnQgc29mdHNh
bXBsZXMsIHNjaHdhcnR6OwogCXNob3J0IHJheV9zYW1wLCByYXlfc2FtcHks
IHJheV9zYW1weiwgcmF5X3NhbXBfdHlwZTsKIAlzaG9ydCBhcmVhX3NoYXBl
LCBwYWQ7CiAJZmxvYXQgYXJlYV9zaXplLCBhcmVhX3NpemV5LCBhcmVhX3Np
emV6OwpAQCAtOTMsNiArOTQsNyBAQAogI2RlZmluZSBMQV9OT19ESUZGCQky
MDQ4CiAjZGVmaW5lIExBX05PX1NQRUMJCTQwOTYKICNkZWZpbmUgTEFfU0hB
RF9SQVkJCTgxOTIKKyNkZWZpbmUgTEFfU0hBRF9TT0ZUCTE2Mzg0CiAKIC8q
IGFyZWEgc2hhcGUgKi8KICNkZWZpbmUgTEFfQVJFQV9TUVVBUkUJMApAQCAt
MTExLDQgKzExMywzIEBACiAKIAogI2VuZGlmIC8qIEROQV9MQU1QX1RZUEVT
X0ggKi8KLQpJbmRleDogbWFrZXNkbmEvRE5BX21hdGVyaWFsX3R5cGVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvYmYt
YmxlbmRlci9ibGVuZGVyL3NvdXJjZS9ibGVuZGVyL21ha2VzZG5hL0ROQV9t
YXRlcmlhbF90eXBlcy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE3CmRp
ZmYgLXUgLXIxLjE3IEROQV9tYXRlcmlhbF90eXBlcy5oCi0tLSBtYWtlc2Ru
YS9ETkFfbWF0ZXJpYWxfdHlwZXMuaAkzMCBKdW4gMjAwNCAxODo1NDowOCAt
MDAwMAkxLjE3CisrKyBtYWtlc2RuYS9ETkFfbWF0ZXJpYWxfdHlwZXMuaAkx
NSBKdWwgMjAwNCAwNTowOTowOCAtMDAwMApAQCAtNTQsNyArNTQsNyBAQAog
CWZsb2F0IHNwZWNyLCBzcGVjZywgc3BlY2I7CiAJZmxvYXQgbWlyciwgbWly
ZywgbWlyYjsKIAlmbG9hdCBhbWJyLCBhbWJiLCBhbWJnOwotCQorCWZsb2F0
IGJsdXJmYWN0b3I7IGludCBibHVyc2FtcGxlczsKIAlmbG9hdCBhbWIsIGVt
aXQsIGFuZywgc3BlY3RyYSwgcmF5X21pcnJvcjsKIAlmbG9hdCBhbHBoYSwg
cmVmLCBzcGVjLCB6b2ZmcywgYWRkOwogCWZsb2F0IHRyYW5zbHVjZW5jeTsK
QEAgLTExMiw2ICsxMTIsOCBAQAogI2RlZmluZSBNQV9ZVVYJCQkyCiAjZGVm
aW5lIE1BX0hTVgkJCTMKIAorCisKIC8qIG1vZGUgKGlzIGludCkgKi8KICNk
ZWZpbmUgTUFfVFJBQ0VCTEUJCTEKICNkZWZpbmUgTUFfU0hBRE9XCQkyCkBA
IC0xNDAsNyArMTQyLDcgQEAKICNkZWZpbmUgTUFfU0hBRE9XX1RSQQkweDgw
MDAwCiAjZGVmaW5lIE1BX1JBTVBfQ09MCQkweDEwMDAwMAogI2RlZmluZSBN
QV9SQU1QX1NQRUMJMHgyMDAwMDAKLQorI2RlZmluZSBNQV9CTFVSUlkJCTB4
NDAwMDAwCiAvKiBkaWZmX3NoYWRlciAqLwogI2RlZmluZSBNQV9ESUZGX0xB
TUJFUlQJCTAKICNkZWZpbmUgTUFfRElGRl9PUkVOTkFZQVIJMQpAQCAtMjA4
LDQgKzIxMCwzIEBACiAjZGVmaW5lIE1BX0RBUksJCQkxCiAKICNlbmRpZgot
CkluZGV4OiBzcmMvYnV0dG9uc19zaGFkaW5nLmMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvYmYtYmxlbmRlci9ibGVuZGVy
L3NvdXJjZS9ibGVuZGVyL3NyYy9idXR0b25zX3NoYWRpbmcuYyx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS44OApkaWZmIC11IC1yMS44OCBidXR0b25zX3No
YWRpbmcuYwotLS0gc3JjL2J1dHRvbnNfc2hhZGluZy5jCTEwIEp1bCAyMDA0
IDIxOjM1OjE3IC0wMDAwCTEuODgKKysrIHNyYy9idXR0b25zX3NoYWRpbmcu
YwkxNSBKdWwgMjAwNCAwNTowOToxMyAtMDAwMApAQCAtMjA5MCw3ICsyMDkw
LDE0IEBACiAJdWlCbG9ja0VuZEFsaWduKGJsb2NrKTsKIAkKIAl1aURlZkJ1
dFMoYmxvY2ssIFRPR3xCSVR8NSwgMCwiT25seVNoYWRvdyIsCQkJMTAsMTEw
LDgwLDE5LCZsYS0+bW9kZSwgMCwgMCwgMCwgMCwgIkNhdXNlcyBsaWdodCB0
byBjYXN0IHNoYWRvd3Mgb25seSB3aXRob3V0IGlsbHVtaW5hdGluZyBvYmpl
Y3RzIik7Ci0KKwlpZiAobGEtPnR5cGUgIT0gTEFfQVJFQSAmJiAobGEtPm1v
ZGUgJiBMQV9TSEFEX1JBWSkpIHsKKwkJdWlCbG9ja0JlZ2luQWxpZ24oYmxv
Y2spOworCQl1aURlZkJ1dFMoYmxvY2ssIFRPR3xCSVR8MTQsIDAsICJTb2Z0
IiwgMTAwLDcwLDEwMCwxOSwgJmxhLT5tb2RlLCAwLCAwLDAsMCwiVHVybnMg
b24gZGlzdHJpYnV0ZWQgc2FtcGxpbmcgZm9yIHNvZnQgc2hhZG93cyIpOwor
CQkKKwkJdWlEZWZCdXRGKGJsb2NrLCBOVU1TTEksIDAsICJTb2Z0bmVzcyIs
IDEwMCw1MCwyMDAsMTksJmxhLT5tYXhzb2Z0LDAuMCw1LjAsMCwwLCJTZXRz
IHRoZSBzb2Z0bmVzcyBmYWN0b3IgZm9yIHNoYWRvd3MiKTsKKwkJdWlEZWZC
dXRJKGJsb2NrLCBOVU1TTEksIDAsICJTYW1wbGVzIiwgMTAwLCAzMCwgMjAw
LCAxOSwgJmxhLT5zb2Z0c2FtcGxlcywwLDEwMCwwLDAsIlNvZnQgU2FtcGxl
cyB0byB0YWtlIik7CisJCXVpQmxvY2tFbmRBbGlnbihibG9jayk7CisJfQog
CWlmKGxhLT50eXBlPT1MQV9TUE9UKSB7CiAJCXVpRGVmQnV0UyhibG9jaywg
VE9HfEJJVHw3LCBCX0xBTVBSRURSQVcsIlNxdWFyZSIsCTEwLDcwLDgwLDE5
LCZsYS0+bW9kZSwgMCwgMCwgMCwgMCwgIlNldHMgc3F1YXJlIHNwb3RidW5k
bGVzIik7CiAJCXVpRGVmQnV0UyhibG9jaywgVE9HfEJJVHwxLCAwLCJIYWxv
IiwJCQkJMTAsNTAsODAsMTksJmxhLT5tb2RlLCAwLCAwLCAwLCAwLCAiUmVu
ZGVycyBzcG90bGlnaHQgd2l0aCBhIHZvbHVtZXRyaWMgaGFsbyIpOyAKQEAg
LTI1NzMsNiArMjU4MCwxNiBAQAogCXVpQmxvY2tTZXRDb2woYmxvY2ssIFRI
X0FVVE8pOwogfQogCitzdGF0aWMgdm9pZCBtYXRlcmlhbF9wYW5lbF9ibHVy
cnkoTWF0ZXJpYWwgKm1hKSB7IAorCQl1aUJsb2NrICpibG9jaz0gdWlOZXdC
bG9jaygmY3VyYXJlYS0+dWlibG9ja3MsICJtYXRlcmlhbF9wYW5lbF9ibHVy
cnkiLCBVSV9FTUJPU1MsIFVJX0hFTFYsIGN1cmFyZWEtPndpbik7CisJCXVp
TmV3UGFuZWxUYWJiZWQoIk1pcnJvciBUcmFuc3AiLCJNYXRlcmlhbCIpOwor
CQlpZiAodWlOZXdQYW5lbChjdXJhcmVhLCBibG9jaywgIkJsdXJyeSIsIk1h
dGVyaWFsIiwgNjQwLCAwLCAzMTgsIDIwNCkgPT0wKSByZXR1cm47CisJCQkK
KwkJCXVpRGVmQnV0SShibG9jaywgVE9HfEJJVHwyMiwgMCwiQmx1cnJ5Iiwg
MjEwLDE4MCwxMDAsMjAsICYobWEtPm1vZGUpLDAsMCwwLDAsIkVuYWJsZXMg
Qmx1cnJ5IG92ZXJzYW1wbGluZyBmb3IgcmF5dHJhY2luZyIpOworCQkJdWlE
ZWZCdXRGKGJsb2NrLCBOVU1TTEksIDAsIkJsdXJGYWN0b3IiLCAxMCwxNjAs
MjAwLDIwLCAmKG1hLT5ibHVyZmFjdG9yKSwwLjAsMS4wLDAuMCwwLjAsIlRo
ZSBNYXhpbXVtIHJhbmRvbSB2ZWN0b3IiKTsJCQkKKwkJCXVpRGVmQnV0SShi
bG9jaywgTlVNLCAwLCAiU2FtcGxlcyIsIDIxMCwgMTYwLCAxMDAsIDIwLCAm
KG1hLT5ibHVyc2FtcGxlcyksMi4wLDEwMC4wLDAsMCwiVGhlIE51bWJlciBv
ZiBzYW1wbGVzIHRvIHRha2UiKTsKKworCX0KIHN0YXRpYyB2b2lkIG1hdGVy
aWFsX3BhbmVsX3RyYW1pcihNYXRlcmlhbCAqbWEpCiB7CiAJdWlCbG9jayAq
YmxvY2s7CkBAIC0yOTMzLDYgKzI5NTAsOSBAQAogCQkJbWF0ZXJpYWxfcGFu
ZWxfcmFtcHMobWEpOwogCQkJbWF0ZXJpYWxfcGFuZWxfc2hhZGluZyhtYSk7
CiAJCQltYXRlcmlhbF9wYW5lbF90cmFtaXIobWEpOworCQkJaWYgKChtYS0+
bW9kZSAmIE1BX1JBWU1JUlJPUikgfHwgKG1hLT5tb2RlICYgTUFfUkFZVFJB
TlNQKSkgeworCQkJCQltYXRlcmlhbF9wYW5lbF9ibHVycnkobWEpOworCQkJ
CX0KIAkJCW1hdGVyaWFsX3BhbmVsX3RleHR1cmUobWEpOwogCQkJCiAJCQlt
dGV4PSBtYS0+bXRleFsgbWEtPnRleGFjdCBdOwpAQCAtMzE2NCw1ICszMTg0
LDMgQEAKIAogCQogfQotCi0K

--0-2032806393-1089868937=:23065--