[kaffe] [patch] more mauve related fixes

Dalibor Topic robilad@yahoo.com
Wed, 12 Jun 2002 16:19:21 -0700 (PDT)


--0-1423068165-1023923961=:60399
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

hi,

i've produced a patch that lets a few more mauve
JDK1.2 tests compile. the patch touches jdbc 2.0,
cleans up a few classes in java.text, and adds a few
missing constants to java.beans.Introspector.

cheers,

dalibor topic

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
--0-1423068165-1023923961=:60399
Content-Type: application/octet-stream; name=ChangeLog
Content-Transfer-Encoding: base64
Content-Description: ChangeLog
Content-Disposition: attachment; filename=ChangeLog

CSogbGlicmFyaWVzL2phdmFsaWIvTWFrZWZpbGUuYW06IGFkZGVkIGphdmEu
c3FsLkFycmF5LAoJamF2YS5zcWwuQmxvYiwgamF2YS5zcWwuQ2xvYiBhbmQg
amF2YS50ZXh0LkFubm90YXRpb24KCgkqIGxpYnJhcmllcy9qYXZhbGliL01h
a2VmaWxlLmluOiBhZGRlZCBqYXZhLnNxbC5BcnJheSwKCWphdmEuc3FsLkJs
b2IsIGphdmEuc3FsLkNsb2IgYW5kIGphdmEudGV4dC5Bbm5vdGF0aW9uCgoJ
KiBsaWJyYXJpZXMvamF2YWxpYi9qYXZhL2JlYW5zL0ludHJvc3BlY3Rvci5q
YXZhOgoJKFVTRV9BTExfQkVBTklORk8pLCAoSUdOT1JFX0lNTUVESUFURV9C
RUFOSU5GTyksCgkoSUdOT1JFX0FMTF9CRUFOSU5GTykgYWRkZWQgbWlzc2lu
ZyBjb25zdGFudHMuCgoJKiBsaWJyYXJpZXMvamF2YWxpYi9qYXZhL3NxbC9B
cnJheS5qYXZhOiBuZXcgaW50ZXJmYWNlLgoKCSogbGlicmFyaWVzL2phdmFs
aWIvamF2YS9zcWwvQmxvYi5qYXZhOiBuZXcgaW50ZXJmYWNlLgoKCSogbGli
cmFyaWVzL2phdmFsaWIvamF2YS9zcWwvQ2xvYi5qYXZhOiBuZXcgaW50ZXJm
YWNlLgoKCSogbGlicmFyaWVzL2phdmFsaWIvamF2YS9zcWwvVHlwZXMuamF2
YToKCShCT09MRUFOKSwgKERBVEFMSU5LKSwgKEpBVkFfT0JKRUNUKSwgKERJ
U1RJTkNUKSwgKFNUUlVDVCksCgkoQVJSQVkpLCAoQkxPQiksIChDTE9CKSwg
KFJFRikgIGFkZGVkIG1pc3NpbmcgY29uc3RhbnRzLgoKCSogbGlicmFyaWVz
L2phdmFsaWIvamF2YS90ZXh0L0Fubm90YXRpb24uamF2YTogbmV3IGNsYXNz
LgoKCSogbGlicmFyaWVzL2phdmFsaWIvamF2YS90ZXh0L0RlY2ltYWxGb3Jt
YXQuamF2YTogdXBkYXRlZCB0byB1c2UKCWFjZXNzb3IgbWV0aG9kcyBmb3Ig
RmllbGRQb3NpdGlvbi4KCgkqIGxpYnJhcmllcy9qYXZhbGliL2phdmEvdGV4
dC9GaWVsZFBvc2l0aW9uLmphdmE6IG1hZGUgZmllbGRzCglwcml2YXRlLgoJ
KGVxdWFscyksIChoYXNoQ29kZSksIChzZXRCZWdpbkluZGV4KSwgKHNldEVu
ZEluZGV4KSBuZXcgbWV0aG9kcy4KCgkqIGxpYnJhcmllcy9qYXZhbGliL2ph
dmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmE6ICB1cGRhdGVkIHRvCgl1
c2UgYWNlc3NvciBtZXRob2RzIGZvciBGaWVsZFBvc2l0aW9uLgo=

--0-1423068165-1023923961=:60399
Content-Type: application/octet-stream; name="mauve-jdk1.2.diff"
Content-Transfer-Encoding: base64
Content-Description: mauve-jdk1.2.diff
Content-Disposition: attachment; filename="mauve-jdk1.2.diff"

ZGlmZiAtdXJOIC14IENWUyAteCBNYWtlZmlsZSAteCAqfiAteCBzdGFtcCAt
eCByZWJ1aWxkTGliIC9ob21lL3RvcGljL0NWUy9rYWZmZS9saWJyYXJpZXMv
amF2YWxpYi9NYWtlZmlsZS5hbSAuLi9rYWZmZS9saWJyYXJpZXMvamF2YWxp
Yi9NYWtlZmlsZS5hbQotLS0gL2hvbWUvdG9waWMvQ1ZTL2thZmZlL2xpYnJh
cmllcy9qYXZhbGliL01ha2VmaWxlLmFtCVN1biBKdW4gIDIgMTM6MDE6NTQg
MjAwMgorKysgLi4va2FmZmUvbGlicmFyaWVzL2phdmFsaWIvTWFrZWZpbGUu
YW0JVGh1IEp1biAxMyAwMDozNDowNyAyMDAyCkBAIC01NTMsNiArNTUzLDkg
QEAKIAlqYXZhL3NlY3VyaXR5L3NwZWMvUlNBUHVibGljS2V5U3BlYy5qYXZh
IFwKIAlqYXZhL3NlY3VyaXR5L3NwZWMvWDUwOUVuY29kZWRLZXlTcGVjLmph
dmEKIGphdmFfc3FsX1NSQ1MgPSBcCisJamF2YS9zcWwvQXJyYXkuamF2YSBc
CisJamF2YS9zcWwvQmxvYi5qYXZhIFwKKwlqYXZhL3NxbC9DbG9iLmphdmEg
XAogCWphdmEvc3FsL0NhbGxhYmxlU3RhdGVtZW50LmphdmEgXAogCWphdmEv
c3FsL0Nvbm5lY3Rpb24uamF2YSBcCiAJamF2YS9zcWwvRGF0YVRydW5jYXRp
b24uamF2YSBcCkBAIC01NzEsNiArNTc0LDcgQEAKIAlqYXZhL3NxbC9UaW1l
c3RhbXAuamF2YSBcCiAJamF2YS9zcWwvVHlwZXMuamF2YQogamF2YV90ZXh0
X1NSQ1MgPSBcCisJamF2YS90ZXh0L0Fubm90YXRpb24uamF2YSBcCiAJamF2
YS90ZXh0L0F0dHJpYnV0ZWRDaGFyYWN0ZXJJdGVyYXRvci5qYXZhIFwKIAlq
YXZhL3RleHQvQnJlYWtJdGVyYXRvci5qYXZhIFwKIAlqYXZhL3RleHQvQ2hh
cmFjdGVySXRlcmF0b3IuamF2YSBcCmRpZmYgLXVyTiAteCBDVlMgLXggTWFr
ZWZpbGUgLXggKn4gLXggc3RhbXAgLXggcmVidWlsZExpYiAvaG9tZS90b3Bp
Yy9DVlMva2FmZmUvbGlicmFyaWVzL2phdmFsaWIvTWFrZWZpbGUuaW4gLi4v
a2FmZmUvbGlicmFyaWVzL2phdmFsaWIvTWFrZWZpbGUuaW4KLS0tIC9ob21l
L3RvcGljL0NWUy9rYWZmZS9saWJyYXJpZXMvamF2YWxpYi9NYWtlZmlsZS5p
bglNb24gSnVuICAzIDAyOjE3OjE0IDIwMDIKKysrIC4uL2thZmZlL2xpYnJh
cmllcy9qYXZhbGliL01ha2VmaWxlLmluCVRodSBKdW4gMTMgMDA6MzM6NDUg
MjAwMgpAQCAtMTgxLDkgKzE4MSw5IEBACiAKIGphdmFfc2VjdXJpdHlfc3Bl
Y19TUkNTID0gIAlqYXZhL3NlY3VyaXR5L3NwZWMvQWxnb3JpdGhtUGFyYW1l
dGVyU3BlYy5qYXZhIAlqYXZhL3NlY3VyaXR5L3NwZWMvRFNBUGFyYW1ldGVy
U3BlYy5qYXZhIAlqYXZhL3NlY3VyaXR5L3NwZWMvRFNBUHJpdmF0ZUtleVNw
ZWMuamF2YSAJamF2YS9zZWN1cml0eS9zcGVjL0RTQVB1YmxpY0tleVNwZWMu
amF2YSAJamF2YS9zZWN1cml0eS9zcGVjL0VuY29kZWRLZXlTcGVjLmphdmEg
CWphdmEvc2VjdXJpdHkvc3BlYy9JbnZhbGlkS2V5U3BlY0V4Y2VwdGlvbi5q
YXZhIAlqYXZhL3NlY3VyaXR5L3NwZWMvSW52YWxpZFBhcmFtZXRlclNwZWNF
eGNlcHRpb24uamF2YSAJamF2YS9zZWN1cml0eS9zcGVjL0tleVNwZWMuamF2
YSAJamF2YS9zZWN1cml0eS9zcGVjL1BLQ1M4RW5jb2RlZEtleVNwZWMuamF2
YSAJamF2YS9zZWN1cml0eS9zcGVjL1JTQUtleUdlblBhcmFtZXRlclNwZWMu
amF2YSAJamF2YS9zZWN1cml0eS9zcGVjL1JTQVByaXZhdGVDcnRLZXlTcGVj
LmphdmEgCWphdmEvc2VjdXJpdHkvc3BlYy9SU0FQcml2YXRlS2V5U3BlYy5q
YXZhIAlqYXZhL3NlY3VyaXR5L3NwZWMvUlNBUHVibGljS2V5U3BlYy5qYXZh
IAlqYXZhL3NlY3VyaXR5L3NwZWMvWDUwOUVuY29kZWRLZXlTcGVjLmphdmEK
IAotamF2YV9zcWxfU1JDUyA9ICAJamF2YS9zcWwvQ2FsbGFibGVTdGF0ZW1l
bnQuamF2YSAJamF2YS9zcWwvQ29ubmVjdGlvbi5qYXZhIAlqYXZhL3NxbC9E
YXRhVHJ1bmNhdGlvbi5qYXZhIAlqYXZhL3NxbC9EYXRhYmFzZU1ldGFEYXRh
LmphdmEgCWphdmEvc3FsL0RhdGUuamF2YSAJamF2YS9zcWwvRHJpdmVyLmph
dmEgCWphdmEvc3FsL0RyaXZlck1hbmFnZXIuamF2YSAJamF2YS9zcWwvRHJp
dmVyUHJvcGVydHlJbmZvLmphdmEgCWphdmEvc3FsL1ByZXBhcmVkU3RhdGVt
ZW50LmphdmEgCWphdmEvc3FsL1Jlc3VsdFNldC5qYXZhIAlqYXZhL3NxbC9S
ZXN1bHRTZXRNZXRhRGF0YS5qYXZhIAlqYXZhL3NxbC9TUUxFeGNlcHRpb24u
amF2YSAJamF2YS9zcWwvU1FMV2FybmluZy5qYXZhIAlqYXZhL3NxbC9TdGF0
ZW1lbnQuamF2YSAJamF2YS9zcWwvVGltZS5qYXZhIAlqYXZhL3NxbC9UaW1l
c3RhbXAuamF2YSAJamF2YS9zcWwvVHlwZXMuamF2YQoramF2YV9zcWxfU1JD
UyA9ICAgCWphdmEvc3FsL0FycmF5LmphdmEgIAlqYXZhL3NxbC9CbG9iLmph
dmEgICAJamF2YS9zcWwvQ2xvYi5qYXZhIAlqYXZhL3NxbC9DYWxsYWJsZVN0
YXRlbWVudC5qYXZhIAlqYXZhL3NxbC9Db25uZWN0aW9uLmphdmEgCWphdmEv
c3FsL0RhdGFUcnVuY2F0aW9uLmphdmEgCWphdmEvc3FsL0RhdGFiYXNlTWV0
YURhdGEuamF2YSAJamF2YS9zcWwvRGF0ZS5qYXZhIAlqYXZhL3NxbC9Ecml2
ZXIuamF2YSAJamF2YS9zcWwvRHJpdmVyTWFuYWdlci5qYXZhIAlqYXZhL3Nx
bC9Ecml2ZXJQcm9wZXJ0eUluZm8uamF2YSAJamF2YS9zcWwvUHJlcGFyZWRT
dGF0ZW1lbnQuamF2YSAJamF2YS9zcWwvUmVzdWx0U2V0LmphdmEgCWphdmEv
c3FsL1Jlc3VsdFNldE1ldGFEYXRhLmphdmEgCWphdmEvc3FsL1NRTEV4Y2Vw
dGlvbi5qYXZhIAlqYXZhL3NxbC9TUUxXYXJuaW5nLmphdmEgCWphdmEvc3Fs
L1N0YXRlbWVudC5qYXZhIAlqYXZhL3NxbC9UaW1lLmphdmEgCWphdmEvc3Fs
L1RpbWVzdGFtcC5qYXZhIAlqYXZhL3NxbC9UeXBlcy5qYXZhCiAKLWphdmFf
dGV4dF9TUkNTID0gIAlqYXZhL3RleHQvQXR0cmlidXRlZENoYXJhY3Rlckl0
ZXJhdG9yLmphdmEgCWphdmEvdGV4dC9CcmVha0l0ZXJhdG9yLmphdmEgCWph
dmEvdGV4dC9DaGFyYWN0ZXJJdGVyYXRvci5qYXZhIAlqYXZhL3RleHQvQ2hv
aWNlRm9ybWF0LmphdmEgCWphdmEvdGV4dC9Db2xsYXRpb25FbGVtZW50SXRl
cmF0b3IuamF2YSAJamF2YS90ZXh0L0NvbGxhdGlvbktleS5qYXZhIAlqYXZh
L3RleHQvQ29sbGF0b3IuamF2YSAJamF2YS90ZXh0L0RhdGVGb3JtYXQuamF2
YSAJamF2YS90ZXh0L0RhdGVGb3JtYXRTeW1ib2xzLmphdmEgCWphdmEvdGV4
dC9EZWNpbWFsRm9ybWF0LmphdmEgCWphdmEvdGV4dC9EZWNpbWFsRm9ybWF0
U3ltYm9scy5qYXZhIAlqYXZhL3RleHQvRmllbGRQb3NpdGlvbi5qYXZhIAlq
YXZhL3RleHQvRm9ybWF0LmphdmEgCWphdmEvdGV4dC9NZXNzYWdlRm9ybWF0
LmphdmEgCWphdmEvdGV4dC9OdW1iZXJGb3JtYXQuamF2YSAJamF2YS90ZXh0
L1BhcnNlRXhjZXB0aW9uLmphdmEgCWphdmEvdGV4dC9QYXJzZVBvc2l0aW9u
LmphdmEgCWphdmEvdGV4dC9SdWxlQmFzZWRDb2xsYXRvci5qYXZhIAlqYXZh
L3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhIAlqYXZhL3RleHQvU2ltcGxl
TGluZUl0ZXJhdG9yLmphdmEgCWphdmEvdGV4dC9TaW1wbGVTZW50ZW5jZUl0
ZXJhdG9yLmphdmEgCWphdmEvdGV4dC9TaW1wbGVXb3JkSXRlcmF0b3IuamF2
YSAJamF2YS90ZXh0L1N0cmluZ0NoYXJhY3Rlckl0ZXJhdG9yLmphdmEKK2ph
dmFfdGV4dF9TUkNTID0gICAJamF2YS90ZXh0L0Fubm90YXRpb24uamF2YSAg
CWphdmEvdGV4dC9BdHRyaWJ1dGVkQ2hhcmFjdGVySXRlcmF0b3IuamF2YSAJ
amF2YS90ZXh0L0JyZWFrSXRlcmF0b3IuamF2YSAJamF2YS90ZXh0L0NoYXJh
Y3Rlckl0ZXJhdG9yLmphdmEgCWphdmEvdGV4dC9DaG9pY2VGb3JtYXQuamF2
YSAJamF2YS90ZXh0L0NvbGxhdGlvbkVsZW1lbnRJdGVyYXRvci5qYXZhIAlq
YXZhL3RleHQvQ29sbGF0aW9uS2V5LmphdmEgCWphdmEvdGV4dC9Db2xsYXRv
ci5qYXZhIAlqYXZhL3RleHQvRGF0ZUZvcm1hdC5qYXZhIAlqYXZhL3RleHQv
RGF0ZUZvcm1hdFN5bWJvbHMuamF2YSAJamF2YS90ZXh0L0RlY2ltYWxGb3Jt
YXQuamF2YSAJamF2YS90ZXh0L0RlY2ltYWxGb3JtYXRTeW1ib2xzLmphdmEg
CWphdmEvdGV4dC9GaWVsZFBvc2l0aW9uLmphdmEgCWphdmEvdGV4dC9Gb3Jt
YXQuamF2YSAJamF2YS90ZXh0L01lc3NhZ2VGb3JtYXQuamF2YSAJamF2YS90
ZXh0L051bWJlckZvcm1hdC5qYXZhIAlqYXZhL3RleHQvUGFyc2VFeGNlcHRp
b24uamF2YSAJamF2YS90ZXh0L1BhcnNlUG9zaXRpb24uamF2YSAJamF2YS90
ZXh0L1J1bGVCYXNlZENvbGxhdG9yLmphdmEgCWphdmEvdGV4dC9TaW1wbGVE
YXRlRm9ybWF0LmphdmEgCWphdmEvdGV4dC9TaW1wbGVMaW5lSXRlcmF0b3Iu
amF2YSAJamF2YS90ZXh0L1NpbXBsZVNlbnRlbmNlSXRlcmF0b3IuamF2YSAJ
amF2YS90ZXh0L1NpbXBsZVdvcmRJdGVyYXRvci5qYXZhIAlqYXZhL3RleHQv
U3RyaW5nQ2hhcmFjdGVySXRlcmF0b3IuamF2YQogCiBqYXZhX3V0aWxfU1JD
UyA9ICAJamF2YS91dGlsL0Fic3RyYWN0Q29sbGVjdGlvbi5qYXZhIAlqYXZh
L3V0aWwvQWJzdHJhY3RMaXN0LmphdmEgCWphdmEvdXRpbC9BYnN0cmFjdExp
c3RJdGVyYXRvci5qYXZhIAlqYXZhL3V0aWwvQWJzdHJhY3RNYXAuamF2YSAJ
amF2YS91dGlsL0Fic3RyYWN0TWFwRW50cnkuamF2YSAJamF2YS91dGlsL0Fi
c3RyYWN0TWFwRW50cnlTZXQuamF2YSAJamF2YS91dGlsL0Fic3RyYWN0U2Vx
dWVudGlhbExpc3QuamF2YSAJamF2YS91dGlsL0Fic3RyYWN0U2V0LmphdmEg
CWphdmEvdXRpbC9BcnJheUxpc3QuamF2YSAJamF2YS91dGlsL0FycmF5cy5q
YXZhIAlqYXZhL3V0aWwvQml0U2V0LmphdmEgCWphdmEvdXRpbC9DYWxlbmRh
ci5qYXZhIAlqYXZhL3V0aWwvQ29sbGVjdGlvbi5qYXZhIAlqYXZhL3V0aWwv
Q29sbGVjdGlvbnMuamF2YSAJamF2YS91dGlsL0NvbXBhcmF0b3IuamF2YSAJ
amF2YS91dGlsL0NvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24uamF2
YSAJamF2YS91dGlsL0RhdGUuamF2YSAJamF2YS91dGlsL0RpY3Rpb25hcnku
amF2YSAJamF2YS91dGlsL0VtcHR5U3RhY2tFeGNlcHRpb24uamF2YSAJamF2
YS91dGlsL0VudW1lcmF0aW9uLmphdmEgCWphdmEvdXRpbC9FdmVudExpc3Rl
bmVyLmphdmEgCWphdmEvdXRpbC9FdmVudE9iamVjdC5qYXZhIAlqYXZhL3V0
aWwvR3JlZ29yaWFuQ2FsZW5kYXIuamF2YSAJamF2YS91dGlsL0hhc2hNYXAu
amF2YSAJamF2YS91dGlsL0hhc2hTZXQuamF2YSAJamF2YS91dGlsL0hhc2h0
YWJsZS5qYXZhIAlqYXZhL3V0aWwvSXRlcmF0b3IuamF2YSAJamF2YS91dGls
L0xpbmtlZExpc3QuamF2YSAJamF2YS91dGlsL0xpbmtlZExpc3RJdGVyYXRv
ci5qYXZhIAlqYXZhL3V0aWwvTGlzdC5qYXZhIAlqYXZhL3V0aWwvTGlzdEl0
ZXJhdG9yLmphdmEgCWphdmEvdXRpbC9MaXN0UmVzb3VyY2VCdW5kbGUuamF2
YSAJamF2YS91dGlsL0xvY2FsZS5qYXZhIAlqYXZhL3V0aWwvTWFwLmphdmEg
CWphdmEvdXRpbC9NaXNzaW5nUmVzb3VyY2VFeGNlcHRpb24uamF2YSAJamF2
YS91dGlsL05vU3VjaEVsZW1lbnRFeGNlcHRpb24uamF2YSAJamF2YS91dGls
L09ic2VydmFibGUuamF2YSAJamF2YS91dGlsL09ic2VydmVyLmphdmEgCWph
dmEvdXRpbC9Qcm9wZXJ0aWVzLmphdmEgCWphdmEvdXRpbC9Qcm9wZXJ0eVJl
c291cmNlQnVuZGxlLmphdmEgCWphdmEvdXRpbC9SYW5kb20uamF2YSAJamF2
YS91dGlsL1Jlc291cmNlQnVuZGxlLmphdmEgCWphdmEvdXRpbC9TZXQuamF2
YSAJamF2YS91dGlsL1NpbXBsZVRpbWVab25lLmphdmEgCWphdmEvdXRpbC9T
b3J0ZWRNYXAuamF2YSAJamF2YS91dGlsL1NvcnRlZFNldC5qYXZhIAlqYXZh
L3V0aWwvU3RhY2suamF2YSAJamF2YS91dGlsL1N0cmluZ1Rva2VuaXplci5q
YXZhIAlqYXZhL3V0aWwvVGltZVpvbmUuamF2YSAJamF2YS91dGlsL1RpbWVy
LmphdmEgCWphdmEvdXRpbC9UaW1lclRhc2suamF2YSAJamF2YS91dGlsL1Rv
b01hbnlMaXN0ZW5lcnNFeGNlcHRpb24uamF2YSAJamF2YS91dGlsL1RyZWVN
YXAuamF2YSAJamF2YS91dGlsL1RyZWVTZXQuamF2YSAJamF2YS91dGlsL1Zl
Y3Rvci5qYXZhCiAKZGlmZiAtdXJOIC14IENWUyAteCBNYWtlZmlsZSAteCAq
fiAteCBzdGFtcCAteCByZWJ1aWxkTGliIC9ob21lL3RvcGljL0NWUy9rYWZm
ZS9saWJyYXJpZXMvamF2YWxpYi9qYXZhL2JlYW5zL0ludHJvc3BlY3Rvci5q
YXZhIC4uL2thZmZlL2xpYnJhcmllcy9qYXZhbGliL2phdmEvYmVhbnMvSW50
cm9zcGVjdG9yLmphdmEKLS0tIC9ob21lL3RvcGljL0NWUy9rYWZmZS9saWJy
YXJpZXMvamF2YWxpYi9qYXZhL2JlYW5zL0ludHJvc3BlY3Rvci5qYXZhCVRo
dSBKdW4gMjIgMjI6MDE6NDggMjAwMAorKysgLi4va2FmZmUvbGlicmFyaWVz
L2phdmFsaWIvamF2YS9iZWFucy9JbnRyb3NwZWN0b3IuamF2YQlUaHUgSnVu
IDEzIDAwOjUxOjQ2IDIwMDIKQEAgLTE3LDYgKzE3LDEwIEBACiAgKi8KIHB1
YmxpYyBjbGFzcyBJbnRyb3NwZWN0b3IgewogCitwdWJsaWMgc3RhdGljIGZp
bmFsIGludCBVU0VfQUxMX0JFQU5JTkZPID0gMTsKK3B1YmxpYyBzdGF0aWMg
ZmluYWwgaW50IElHTk9SRV9JTU1FRElBVEVfQkVBTklORk8gPSAyOworcHVi
bGljIHN0YXRpYyBmaW5hbCBpbnQgSUdOT1JFX0FMTF9CRUFOSU5GTyA9IDM7
CisKIHByaXZhdGUgc3RhdGljIFN0cmluZ1tdIGJlYW5zZWFyY2ggPSB7ICJr
YWZmZS5iZWFucy5pbmZvcyIgfTsKIAogcHJpdmF0ZSBJbnRyb3NwZWN0b3Io
KSB7fQpkaWZmIC11ck4gLXggQ1ZTIC14IE1ha2VmaWxlIC14ICp+IC14IHN0
YW1wIC14IHJlYnVpbGRMaWIgL2hvbWUvdG9waWMvQ1ZTL2thZmZlL2xpYnJh
cmllcy9qYXZhbGliL2phdmEvc3FsL0FycmF5LmphdmEgLi4va2FmZmUvbGli
cmFyaWVzL2phdmFsaWIvamF2YS9zcWwvQXJyYXkuamF2YQotLS0gL2hvbWUv
dG9waWMvQ1ZTL2thZmZlL2xpYnJhcmllcy9qYXZhbGliL2phdmEvc3FsL0Fy
cmF5LmphdmEJVGh1IEphbiAgMSAwMTowMDowMCAxOTcwCisrKyAuLi9rYWZm
ZS9saWJyYXJpZXMvamF2YWxpYi9qYXZhL3NxbC9BcnJheS5qYXZhCVdlZCBK
dW4gMTIgMjE6MDg6MTQgMjAwMgpAQCAtMCwwICsxLDI2IEBACisvKgorICog
SmF2YSBjb3JlIGxpYnJhcnkgY29tcG9uZW50LgorICoKKyAqIENvcHlyaWdo
dCAoYykgMjAwMgorICogICAgICBEYWxpYm9yIFRvcGljIDxyb2JpbGFkQHlh
aG9vLmNvbT4uICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNlZSB0
aGUgZmlsZSAibGljZW5zZS50ZXJtcyIgZm9yIGluZm9ybWF0aW9uIG9uIHVz
YWdlIGFuZCByZWRpc3RyaWJ1dGlvbgorICogb2YgdGhpcyBmaWxlLgorICov
CisKK3BhY2thZ2UgamF2YS5zcWw7CisKK2ltcG9ydCBqYXZhLnV0aWwuTWFw
OworCitwdWJsaWMgaW50ZXJmYWNlIEFycmF5IHsKKyAgICBPYmplY3QgZ2V0
QXJyYXkoKSB0aHJvd3MgU1FMRXhjZXB0aW9uOworICAgIE9iamVjdCBnZXRB
cnJheShsb25nIGluZGV4LCBpbnQgY291bnQpIHRocm93cyBTUUxFeGNlcHRp
b247CisgICAgT2JqZWN0IGdldEFycmF5KGxvbmcgaW5kZXgsIGludCBjb3Vu
dCwgTWFwIG1hcCkgdGhyb3dzIFNRTEV4Y2VwdGlvbjsKKyAgICBPYmplY3Qg
Z2V0QXJyYXkoTWFwIG1hcCkgdGhyb3dzIFNRTEV4Y2VwdGlvbjsKKyAgICBp
bnQgZ2V0QmFzZVR5cGUoKSB0aHJvd3MgU1FMRXhjZXB0aW9uOworICAgIFN0
cmluZyBnZXRCYXNlVHlwZU5hbWUoKSB0aHJvd3MgU1FMRXhjZXB0aW9uOwor
ICAgIFJlc3VsdFNldCBnZXRSZXN1bHRTZXQoKSB0aHJvd3MgU1FMRXhjZXB0
aW9uOworICAgIFJlc3VsdFNldCBnZXRSZXN1bHRTZXQobG9uZyBpbmRleCwg
aW50IGNvdW50KSB0aHJvd3MgU1FMRXhjZXB0aW9uOworICAgIFJlc3VsdFNl
dCBnZXRSZXN1bHRTZXQobG9uZyBpbmRleCwgaW50IGNvdW50LCBNYXAgbWFw
KSB0aHJvd3MgU1FMRXhjZXB0aW9uOworICAgIFJlc3VsdFNldCBnZXRSZXN1
bHRTZXQoTWFwIG1hcCkgdGhyb3dzIFNRTEV4Y2VwdGlvbjsKK30KZGlmZiAt
dXJOIC14IENWUyAteCBNYWtlZmlsZSAteCAqfiAteCBzdGFtcCAteCByZWJ1
aWxkTGliIC9ob21lL3RvcGljL0NWUy9rYWZmZS9saWJyYXJpZXMvamF2YWxp
Yi9qYXZhL3NxbC9CbG9iLmphdmEgLi4va2FmZmUvbGlicmFyaWVzL2phdmFs
aWIvamF2YS9zcWwvQmxvYi5qYXZhCi0tLSAvaG9tZS90b3BpYy9DVlMva2Fm
ZmUvbGlicmFyaWVzL2phdmFsaWIvamF2YS9zcWwvQmxvYi5qYXZhCVRodSBK
YW4gIDEgMDE6MDA6MDAgMTk3MAorKysgLi4va2FmZmUvbGlicmFyaWVzL2ph
dmFsaWIvamF2YS9zcWwvQmxvYi5qYXZhCVdlZCBKdW4gMTIgMjE6NDY6MjYg
MjAwMgpAQCAtMCwwICsxLDI3IEBACisvKgorICogSmF2YSBjb3JlIGxpYnJh
cnkgY29tcG9uZW50LgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMgorICog
ICAgICBEYWxpYm9yIFRvcGljIDxyb2JpbGFkQHlhaG9vLmNvbT4uICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFNlZSB0aGUgZmlsZSAibGljZW5z
ZS50ZXJtcyIgZm9yIGluZm9ybWF0aW9uIG9uIHVzYWdlIGFuZCByZWRpc3Ry
aWJ1dGlvbgorICogb2YgdGhpcyBmaWxlLgorICovCisKK3BhY2thZ2UgamF2
YS5zcWw7CisKK2ltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFtOworaW1wb3J0
IGphdmEuaW8uT3V0cHV0U3RyZWFtOworCitwdWJsaWMgaW50ZXJmYWNlIEJs
b2IgeworICAgIElucHV0U3RyZWFtIGdldEJpbmFyeVN0cmVhbSgpIHRocm93
cyBTUUxFeGNlcHRpb247CisgICAgYnl0ZVtdIGdldEJ5dGVzKGxvbmcgcG9z
aXRpb24sIGludCBsZW5ndGgpIHRocm93cyBTUUxFeGNlcHRpb247CisgICAg
bG9uZyBsZW5ndGgoKSB0aHJvd3MgU1FMRXhjZXB0aW9uOworICAgIGxvbmcg
cG9zaXRpb24oYnl0ZVtdIHBhdHRlcm4sIGxvbmcgc3RhcnQpIHRocm93cyBT
UUxFeGNlcHRpb247CisvKiB0aGlzIGlzIGpkYmMgMy4wIG1hdGVyaWFsCisg
ICAgT3V0cHV0U3RyZWFtIHNldEJpbmFyeVN0cmVhbShsb25nIHBvc2l0aW9u
KSB0aHJvd3MgU1FMRXhjZXB0aW9uOworICAgIGludCBzZXRCeXRlcyhsb25n
IHBvc2l0aW9uLCBieXRlW10gYnl0ZXMpIHRocm93cyBTUUxFeGNlcHRpb247
CisgICAgaW50IHNldEJ5dGVzKGxvbmcgcG9zaXRpb24sIGJ5dGVbXSBieXRl
cywgaW50IG9mZnNldCwgaW50IGxlbmd0aCkgdGhyb3dzIFNRTEV4Y2VwdGlv
bjsKKyAgICB2b2lkIHRydW5jYXRlKGxvbmcgbGVuZ3RoKSB0aHJvd3MgU1FM
RXhjZXB0aW9uOworKi8KK30KZGlmZiAtdXJOIC14IENWUyAteCBNYWtlZmls
ZSAteCAqfiAteCBzdGFtcCAteCByZWJ1aWxkTGliIC9ob21lL3RvcGljL0NW
Uy9rYWZmZS9saWJyYXJpZXMvamF2YWxpYi9qYXZhL3NxbC9DbG9iLmphdmEg
Li4va2FmZmUvbGlicmFyaWVzL2phdmFsaWIvamF2YS9zcWwvQ2xvYi5qYXZh
Ci0tLSAvaG9tZS90b3BpYy9DVlMva2FmZmUvbGlicmFyaWVzL2phdmFsaWIv
amF2YS9zcWwvQ2xvYi5qYXZhCVRodSBKYW4gIDEgMDE6MDA6MDAgMTk3MAor
KysgLi4va2FmZmUvbGlicmFyaWVzL2phdmFsaWIvamF2YS9zcWwvQ2xvYi5q
YXZhCVdlZCBKdW4gMTIgMjE6NDg6NDEgMjAwMgpAQCAtMCwwICsxLDMyIEBA
CisvKgorICogSmF2YSBjb3JlIGxpYnJhcnkgY29tcG9uZW50LgorICoKKyAq
IENvcHlyaWdodCAoYykgMjAwMgorICogICAgICBEYWxpYm9yIFRvcGljIDxy
b2JpbGFkQHlhaG9vLmNvbT4uICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFNlZSB0aGUgZmlsZSAibGljZW5zZS50ZXJtcyIgZm9yIGluZm9ybWF0
aW9uIG9uIHVzYWdlIGFuZCByZWRpc3RyaWJ1dGlvbgorICogb2YgdGhpcyBm
aWxlLgorICovCisKK3BhY2thZ2UgamF2YS5zcWw7CisKK2ltcG9ydCBqYXZh
LmlvLklucHV0U3RyZWFtOworaW1wb3J0IGphdmEuaW8uUmVhZGVyOworaW1w
b3J0IGphdmEuaW8uT3V0cHV0U3RyZWFtOworaW1wb3J0IGphdmEuaW8uV3Jp
dGVyOworCitwdWJsaWMgaW50ZXJmYWNlIENsb2IgeworICAgIElucHV0U3Ry
ZWFtIGdldEFzY2lpU3RyZWFtKCkgdGhyb3dzIFNRTEV4Y2VwdGlvbjsKKyAg
ICBSZWFkZXIgZ2V0Q2hhcmFjdGVyU3RyZWFtKCkgdGhyb3dzIFNRTEV4Y2Vw
dGlvbjsKKyAgICBTdHJpbmcgZ2V0U3ViU3RyaW5nKGxvbmcgcG9zaXRpb24s
IGludCBsZW5ndGgpIHRocm93cyBTUUxFeGNlcHRpb247CisgICAgbG9uZyBs
ZW5ndGgoKSB0aHJvd3MgU1FMRXhjZXB0aW9uOworICAgIGxvbmcgcG9zaXRp
b24oQ2xvYiBzZWFyY2hfc3RyaW5nLCBsb25nIHN0YXJ0KSB0aHJvd3MgU1FM
RXhjZXB0aW9uOworICAgIGxvbmcgcG9zaXRpb24oU3RyaW5nIHNlYXJjaF9z
dHJpbmcsIGxvbmcgc3RhcnQpIHRocm93cyBTUUxFeGNlcHRpb247CisvKiB0
aGlzIGlzIGpkYmMgMy4wIG1hdGVyaWFsCisgICAgT3V0cHV0U3RyZWFtIHNl
dEFzY2lpU3RyZWFtKGxvbmcgcG9zaXRpb24pIHRocm93cyBTUUxFeGNlcHRp
b247CisgICAgV3JpdGVyIHNldENoYXJhY3RlclN0cmVhbShsb25nIHBvc2l0
aW9uKSB0aHJvd3MgU1FMRXhjZXB0aW9uOworICAgIGludCBzZXRTdHJpbmco
bG9uZyBwb3NpdGlvbiwgU3RyaW5nIHN0cikgdGhyb3dzIFNRTEV4Y2VwdGlv
bjsKKyAgICBpbnQgc2V0U3RyaW5nKGxvbmcgcG9zaXRpb24sIFN0cmluZyBz
dHIsIGludCBvZmZzZXQsIGludCBsZW4pIHRocm93cyBTUUxFeGNlcHRpb247
CisgICAgdm9pZCB0cnVuY2F0ZShsb25nIGxlbmd0aCkgdGhyb3dzIFNRTEV4
Y2VwdGlvbjsKKyovCit9CmRpZmYgLXVyTiAteCBDVlMgLXggTWFrZWZpbGUg
LXggKn4gLXggc3RhbXAgLXggcmVidWlsZExpYiAvaG9tZS90b3BpYy9DVlMv
a2FmZmUvbGlicmFyaWVzL2phdmFsaWIvamF2YS9zcWwvVHlwZXMuamF2YSAu
Li9rYWZmZS9saWJyYXJpZXMvamF2YWxpYi9qYXZhL3NxbC9UeXBlcy5qYXZh
Ci0tLSAvaG9tZS90b3BpYy9DVlMva2FmZmUvbGlicmFyaWVzL2phdmFsaWIv
amF2YS9zcWwvVHlwZXMuamF2YQlXZWQgTWFyIDEwIDA5OjMxOjMxIDE5OTkK
KysrIC4uL2thZmZlL2xpYnJhcmllcy9qYXZhbGliL2phdmEvc3FsL1R5cGVz
LmphdmEJV2VkIEp1biAxMiAyMjowOTozNyAyMDAyCkBAIC0zMyw5ICszMywx
NyBAQAogcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgUkVBTCA9IDc7CiBwdWJs
aWMgc3RhdGljIGZpbmFsIGludCBET1VCTEUgPSA4OwogcHVibGljIHN0YXRp
YyBmaW5hbCBpbnQgVkFSQ0hBUiA9IDEyOworcHVibGljIHN0YXRpYyBmaW5h
bCBpbnQgQk9PTEVBTiA9IDE2OworcHVibGljIHN0YXRpYyBmaW5hbCBpbnQg
REFUQUxJTksgPSA3MDsKIHB1YmxpYyBzdGF0aWMgZmluYWwgaW50IERBVEUg
PSA5MTsKIHB1YmxpYyBzdGF0aWMgZmluYWwgaW50IFRJTUUgPSA5MjsKIHB1
YmxpYyBzdGF0aWMgZmluYWwgaW50IFRJTUVTVEFNUCA9IDkzOwogcHVibGlj
IHN0YXRpYyBmaW5hbCBpbnQgT1RIRVIgPSAxMTExOwotCitwdWJsaWMgc3Rh
dGljIGZpbmFsIGludCBKQVZBX09CSkVDVCA9IDIwMDA7CitwdWJsaWMgc3Rh
dGljIGZpbmFsIGludCBESVNUSU5DVCA9IDIwMDE7CitwdWJsaWMgc3RhdGlj
IGZpbmFsIGludCBTVFJVQ1QgPSAyMDAyOworcHVibGljIHN0YXRpYyBmaW5h
bCBpbnQgQVJSQVkgPSAyMDAzOworcHVibGljIHN0YXRpYyBmaW5hbCBpbnQg
QkxPQiA9IDIwMDQ7CitwdWJsaWMgc3RhdGljIGZpbmFsIGludCBDTE9CID0g
MjAwNTsKK3B1YmxpYyBzdGF0aWMgZmluYWwgaW50IFJFRiA9IDIwMDY7CiB9
CmRpZmYgLXVyTiAteCBDVlMgLXggTWFrZWZpbGUgLXggKn4gLXggc3RhbXAg
LXggcmVidWlsZExpYiAvaG9tZS90b3BpYy9DVlMva2FmZmUvbGlicmFyaWVz
L2phdmFsaWIvamF2YS90ZXh0L0Fubm90YXRpb24uamF2YSAuLi9rYWZmZS9s
aWJyYXJpZXMvamF2YWxpYi9qYXZhL3RleHQvQW5ub3RhdGlvbi5qYXZhCi0t
LSAvaG9tZS90b3BpYy9DVlMva2FmZmUvbGlicmFyaWVzL2phdmFsaWIvamF2
YS90ZXh0L0Fubm90YXRpb24uamF2YQlUaHUgSmFuICAxIDAxOjAwOjAwIDE5
NzAKKysrIC4uL2thZmZlL2xpYnJhcmllcy9qYXZhbGliL2phdmEvdGV4dC9B
bm5vdGF0aW9uLmphdmEJVGh1IEp1biAxMyAwMDozMDowOCAyMDAyCkBAIC0w
LDAgKzEsMjYgQEAKKy8qCisgKiBKYXZhIGNvcmUgbGlicmFyeSBjb21wb25l
bnQuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDAyCisgKiAgICAgIERhbGli
b3IgVG9waWMgPHJvYmlsYWRAeWFob28uY29tPi4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogU2VlIHRoZSBmaWxlICJsaWNlbnNlLnRlcm1zIiBm
b3IgaW5mb3JtYXRpb24gb24gdXNhZ2UgYW5kIHJlZGlzdHJpYnV0aW9uCisg
KiBvZiB0aGlzIGZpbGUuCisgKi8KK3BhY2thZ2UgamF2YS50ZXh0OworCitw
dWJsaWMgY2xhc3MgQW5ub3RhdGlvbiB7CisgICAgcHJpdmF0ZSBmaW5hbCBP
YmplY3QgdmFsdWU7CisKKyAgICBwdWJsaWMgQW5ub3RhdGlvbihPYmplY3Qg
dmFsdWUpIHsKKwl0aGlzLnZhbHVlID0gdmFsdWU7CisgICAgfQorCisgICAg
cHVibGljIE9iamVjdCBnZXRWYWx1ZSgpIHsKKwlyZXR1cm4gdmFsdWU7Cisg
ICAgfQorCisgICAgcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsKKwlyZXR1
cm4gZ2V0Q2xhc3MoKS5nZXROYW1lKCkgKyAiW3ZhbHVlPSIgKyBnZXRWYWx1
ZSgpICsgJ10nOworICAgIH0KK30KZGlmZiAtdXJOIC14IENWUyAteCBNYWtl
ZmlsZSAteCAqfiAteCBzdGFtcCAteCByZWJ1aWxkTGliIC9ob21lL3RvcGlj
L0NWUy9rYWZmZS9saWJyYXJpZXMvamF2YWxpYi9qYXZhL3RleHQvRGVjaW1h
bEZvcm1hdC5qYXZhIC4uL2thZmZlL2xpYnJhcmllcy9qYXZhbGliL2phdmEv
dGV4dC9EZWNpbWFsRm9ybWF0LmphdmEKLS0tIC9ob21lL3RvcGljL0NWUy9r
YWZmZS9saWJyYXJpZXMvamF2YWxpYi9qYXZhL3RleHQvRGVjaW1hbEZvcm1h
dC5qYXZhCU1vbiBKYW4gIDcgMDQ6MjQ6MTYgMjAwMgorKysgLi4va2FmZmUv
bGlicmFyaWVzL2phdmFsaWIvamF2YS90ZXh0L0RlY2ltYWxGb3JtYXQuamF2
YQlXZWQgSnVuIDEyIDIyOjU1OjU4IDIwMDIKQEAgLTI4MiwxMCArMjgyLDEw
IEBACiAJfQogCiAKLQlpZiAocG9zLmZpZWxkID09IElOVEVHRVJfRklFTEQp
IHsKLQkJcG9zLmJlZ2luID0gYXBwLmxlbmd0aCgpOworCWlmIChwb3MuZ2V0
RmllbGQoKSA9PSBJTlRFR0VSX0ZJRUxEKSB7CisJCXBvcy5zZXRCZWdpbklu
ZGV4KGFwcC5sZW5ndGgoKSk7CiAJCWFwcC5hcHBlbmQoYnVmKTsKLQkJcG9z
LmVuZCA9IGFwcC5sZW5ndGgoKTsKKwkJcG9zLnNldEVuZEluZGV4KGFwcC5s
ZW5ndGgoKSk7CiAJfQogCWVsc2UgewogCQlhcHAuYXBwZW5kKGJ1Zik7CkBA
IC0zMjIsMTAgKzMyMiwxMCBAQAogCQlhcHAuYXBwZW5kKHN5bXMuZGVjaW1h
bFNlcGFyYXRvcik7CiAJfQogCi0JaWYgKHBvcy5maWVsZCA9PSBGUkFDVElP
Tl9GSUVMRCkgewotCQlwb3MuYmVnaW4gPSBhcHAubGVuZ3RoKCk7CisJaWYg
KHBvcy5nZXRGaWVsZCgpID09IEZSQUNUSU9OX0ZJRUxEKSB7CisJCXBvcy5z
ZXRCZWdpbkluZGV4KGFwcC5sZW5ndGgoKSk7CiAJCWFwcC5hcHBlbmQoYnVm
KTsKLQkJcG9zLmVuZCA9IGFwcC5sZW5ndGgoKTsKKwkJcG9zLnNldEVuZElu
ZGV4KGFwcC5sZW5ndGgoKSk7CiAJfQogCWVsc2UgewogCQlhcHAuYXBwZW5k
KGJ1Zik7CmRpZmYgLXVyTiAteCBDVlMgLXggTWFrZWZpbGUgLXggKn4gLXgg
c3RhbXAgLXggcmVidWlsZExpYiAvaG9tZS90b3BpYy9DVlMva2FmZmUvbGli
cmFyaWVzL2phdmFsaWIvamF2YS90ZXh0L0ZpZWxkUG9zaXRpb24uamF2YSAu
Li9rYWZmZS9saWJyYXJpZXMvamF2YWxpYi9qYXZhL3RleHQvRmllbGRQb3Np
dGlvbi5qYXZhCi0tLSAvaG9tZS90b3BpYy9DVlMva2FmZmUvbGlicmFyaWVz
L2phdmFsaWIvamF2YS90ZXh0L0ZpZWxkUG9zaXRpb24uamF2YQlUdWUgRGVj
ICA4IDAzOjA1OjExIDE5OTgKKysrIC4uL2thZmZlL2xpYnJhcmllcy9qYXZh
bGliL2phdmEvdGV4dC9GaWVsZFBvc2l0aW9uLmphdmEJV2VkIEp1biAxMiAy
MzowMDoxNiAyMDAyCkBAIC0xMiw5ICsxMiw5IEBACiAKIHB1YmxpYyBjbGFz
cyBGaWVsZFBvc2l0aW9uIHsKIAotaW50IGZpZWxkOwotaW50IGJlZ2luOwot
aW50IGVuZDsKK3ByaXZhdGUgaW50IGZpZWxkOworcHJpdmF0ZSBpbnQgYmVn
aW47Citwcml2YXRlIGludCBlbmQ7CiAKIHB1YmxpYyBGaWVsZFBvc2l0aW9u
KGludCBmaWVsZCkgewogCXRoaXMuZmllbGQgPSBmaWVsZDsKQEAgLTIyLDYg
KzIyLDIxIEBACiAJdGhpcy5lbmQgPSAwOwogfQogCitwdWJsaWMgYm9vbGVh
biBlcXVhbHMoT2JqZWN0IG9iamVjdCkgeworICAgIGlmIChvYmplY3QgPT0g
dGhpcykgeworCXJldHVybiB0cnVlOworICAgIH0KKyAgICBlbHNlIGlmIChv
YmplY3QgPT0gbnVsbCB8fCBnZXRDbGFzcygpICE9IG9iamVjdC5nZXRDbGFz
cygpKSB7CisJcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBlbHNlIHsKKwlG
aWVsZFBvc2l0aW9uIG90aGVyID0gKEZpZWxkUG9zaXRpb24pIG9iamVjdDsK
KwlyZXR1cm4gb3RoZXIuZ2V0RmllbGQoKSA9PSBnZXRGaWVsZCgpCisJICAg
ICYmIG90aGVyLmdldEJlZ2luSW5kZXgoKSA9PSBnZXRCZWdpbkluZGV4KCkK
KwkgICAgJiYgb3RoZXIuZ2V0RW5kSW5kZXgoKSA9PSBnZXRFbmRJbmRleCgp
OworICAgIH0KK30KKwogcHVibGljIGludCBnZXRCZWdpbkluZGV4KCkgewog
CXJldHVybiAoYmVnaW4pOwogfQpAQCAtMzQsNCArNDksMTkgQEAKIAlyZXR1
cm4gKGZpZWxkKTsKIH0KIAorcHVibGljIGludCBoYXNoQ29kZSgpIHsKKyAg
ICAvKiB0aGlzIGlzIGEgcmF0aGVyIGJhZCBoYXNoQ29kZSBtZXRob2QsCisg
ICAgICogYnV0IGl0IHByZXNlcnZlcyBlcXVhbGl0eS4gU3VuIGRpZG4ndCBi
b3RoZXIKKyAgICAgKiB0byBkb2N1bWVudCB0aGUgaGFzaGluZyBhbGdvcml0
aG0gYW55d2hlcmUuCisgICAgICovCisgICAgcmV0dXJuIGdldEZpZWxkKCkg
KyBnZXRCZWdpbkluZGV4KCkgPDwgMiArIGdldEVuZEluZGV4KCkgPDwgNDsK
K30KKworcHVibGljIHZvaWQgc2V0QmVnaW5JbmRleChpbnQgaW5kZXgpIHsK
KyAgICBiZWdpbiA9IGluZGV4OworfQorCitwdWJsaWMgdm9pZCBzZXRFbmRJ
bmRleChpbnQgaW5kZXgpIHsKKyAgICBlbmQgPSBpbmRleDsKK30KIH0KZGlm
ZiAtdXJOIC14IENWUyAteCBNYWtlZmlsZSAteCAqfiAteCBzdGFtcCAteCBy
ZWJ1aWxkTGliIC9ob21lL3RvcGljL0NWUy9rYWZmZS9saWJyYXJpZXMvamF2
YWxpYi9qYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhIC4uL2thZmZl
L2xpYnJhcmllcy9qYXZhbGliL2phdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0
LmphdmEKLS0tIC9ob21lL3RvcGljL0NWUy9rYWZmZS9saWJyYXJpZXMvamF2
YWxpYi9qYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhCVR1ZSBBcHIg
IDIgMDE6MTE6MDYgMjAwMgorKysgLi4va2FmZmUvbGlicmFyaWVzL2phdmFs
aWIvamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YQlUaHUgSnVuIDEz
IDAwOjEwOjUxIDIwMDIKQEAgLTExOCw5ICsxMTgsOSBAQAogCQljYXNlICdH
JzoKIAkJCXZhbCA9IGNhbGVuZGFyLmdldChDYWxlbmRhci5FUkEpOwogCQkJ
YnVmLmFwcGVuZChzeW1zLmVyYXNbdmFsXSk7Ci0JCQlpZiAocG9zLmZpZWxk
ID09IEVSQV9GSUVMRCkgewotCQkJCXBvcy5iZWdpbiA9IGNwb3M7Ci0JCQkJ
cG9zLmVuZCA9IGJ1Zi5sZW5ndGgoKTsKKwkJCWlmIChwb3MuZ2V0RmllbGQo
KSA9PSBFUkFfRklFTEQpIHsKKwkJCQlwb3Muc2V0QmVnaW5JbmRleChjcG9z
KTsKKwkJCQlwb3Muc2V0RW5kSW5kZXgoYnVmLmxlbmd0aCgpKTsKIAkJCX0K
IAkJCWJyZWFrOwogCQljYXNlICd5JzoKQEAgLTEzMiw5ICsxMzIsOSBAQAog
CQkJCX0KIAkJCX0KIAkJCWJ1Zi5hcHBlbmQodmFsKTsKLQkJCWlmIChwb3Mu
ZmllbGQgPT0gWUVBUl9GSUVMRCkgewotCQkJCXBvcy5iZWdpbiA9IGNwb3M7
Ci0JCQkJcG9zLmVuZCA9IGJ1Zi5sZW5ndGgoKTsKKwkJCWlmIChwb3MuZ2V0
RmllbGQoKSA9PSBZRUFSX0ZJRUxEKSB7CisJCQkJcG9zLnNldEJlZ2luSW5k
ZXgoY3Bvcyk7CisJCQkJcG9zLnNldEVuZEluZGV4KGJ1Zi5sZW5ndGgoKSk7
CiAJCQl9CiAJCQlicmVhazsKIAkJY2FzZSAnTSc6CkBAIC0xNTIsOSArMTUy
LDkgQEAKIAkJCWVsc2UgewogCQkJCWJ1Zi5hcHBlbmQoc3ltcy5tb250aHNb
dmFsXSk7CiAJCQl9Ci0JCQlpZiAocG9zLmZpZWxkID09IE1PTlRIX0ZJRUxE
KSB7Ci0JCQkJcG9zLmJlZ2luID0gY3BvczsKLQkJCQlwb3MuZW5kID0gYnVm
Lmxlbmd0aCgpOworCQkJaWYgKHBvcy5nZXRGaWVsZCgpID09IE1PTlRIX0ZJ
RUxEKSB7CisJCQkJcG9zLnNldEJlZ2luSW5kZXgoY3Bvcyk7CisJCQkJcG9z
LnNldEVuZEluZGV4KGJ1Zi5sZW5ndGgoKSk7CiAJCQl9CiAJCQlicmVhazsK
IAkJY2FzZSAnZCc6CkBAIC0xNjMsOSArMTYzLDkgQEAKIAkJCQlidWYuYXBw
ZW5kKCcwJyk7CiAJCQl9CiAJCQlidWYuYXBwZW5kKHZhbCk7Ci0JCQlpZiAo
cG9zLmZpZWxkID09IERBVEVfRklFTEQpIHsKLQkJCQlwb3MuYmVnaW4gPSBj
cG9zOwotCQkJCXBvcy5lbmQgPSBidWYubGVuZ3RoKCk7CisJCQlpZiAocG9z
LmdldEZpZWxkKCkgPT0gREFURV9GSUVMRCkgeworCQkJCXBvcy5zZXRCZWdp
bkluZGV4KGNwb3MpOworCQkJCXBvcy5zZXRFbmRJbmRleChidWYubGVuZ3Ro
KCkpOwogCQkJfQogCQkJYnJlYWs7CiAJCWNhc2UgJ2snOgpAQCAtMTc0LDkg
KzE3NCw5IEBACiAJCQkJdmFsID0gMjQ7CiAJCQl9CiAJCQlidWYuYXBwZW5k
KHZhbCk7Ci0JCQlpZiAocG9zLmZpZWxkID09IEhPVVJfT0ZfREFZMV9GSUVM
RCkgewotCQkJCXBvcy5iZWdpbiA9IGNwb3M7Ci0JCQkJcG9zLmVuZCA9IGJ1
Zi5sZW5ndGgoKTsKKwkJCWlmIChwb3MuZ2V0RmllbGQoKSA9PSBIT1VSX09G
X0RBWTFfRklFTEQpIHsKKwkJCQlwb3Muc2V0QmVnaW5JbmRleChjcG9zKTsK
KwkJCQlwb3Muc2V0RW5kSW5kZXgoYnVmLmxlbmd0aCgpKTsKIAkJCX0KIAkJ
CWJyZWFrOwogCQljYXNlICdIJzoKQEAgLTE4NSw5ICsxODUsOSBAQAogCQkJ
CWJ1Zi5hcHBlbmQoJzAnKTsKIAkJCX0KIAkJCWJ1Zi5hcHBlbmQodmFsKTsK
LQkJCWlmIChwb3MuZmllbGQgPT0gSE9VUl9PRl9EQVkwX0ZJRUxEKSB7Ci0J
CQkJcG9zLmJlZ2luID0gY3BvczsKLQkJCQlwb3MuZW5kID0gYnVmLmxlbmd0
aCgpOworCQkJaWYgKHBvcy5nZXRGaWVsZCgpID09IEhPVVJfT0ZfREFZMF9G
SUVMRCkgeworCQkJCXBvcy5zZXRCZWdpbkluZGV4KGNwb3MpOworCQkJCXBv
cy5zZXRFbmRJbmRleChidWYubGVuZ3RoKCkpOwogCQkJfQogCQkJYnJlYWs7
CiAJCWNhc2UgJ20nOgpAQCAtMTk2LDkgKzE5Niw5IEBACiAJCQkJYnVmLmFw
cGVuZCgnMCcpOwogCQkJfQogCQkJYnVmLmFwcGVuZCh2YWwpOwotCQkJaWYg
KHBvcy5maWVsZCA9PSBNSU5VVEVfRklFTEQpIHsKLQkJCQlwb3MuYmVnaW4g
PSBjcG9zOwotCQkJCXBvcy5lbmQgPSBidWYubGVuZ3RoKCk7CisJCQlpZiAo
cG9zLmdldEZpZWxkKCkgPT0gTUlOVVRFX0ZJRUxEKSB7CisJCQkJcG9zLnNl
dEJlZ2luSW5kZXgoY3Bvcyk7CisJCQkJcG9zLnNldEVuZEluZGV4KGJ1Zi5s
ZW5ndGgoKSk7CiAJCQl9CiAJCQlicmVhazsKIAkJY2FzZSAncyc6CkBAIC0y
MDcsMTcgKzIwNywxNyBAQAogCQkJCWJ1Zi5hcHBlbmQoJzAnKTsKIAkJCX0K
IAkJCWJ1Zi5hcHBlbmQodmFsKTsKLQkJCWlmIChwb3MuZmllbGQgPT0gU0VD
T05EX0ZJRUxEKSB7Ci0JCQkJcG9zLmJlZ2luID0gY3BvczsKLQkJCQlwb3Mu
ZW5kID0gYnVmLmxlbmd0aCgpOworCQkJaWYgKHBvcy5nZXRGaWVsZCgpID09
IFNFQ09ORF9GSUVMRCkgeworCQkJCXBvcy5zZXRCZWdpbkluZGV4KGNwb3Mp
OworCQkJCXBvcy5zZXRFbmRJbmRleChidWYubGVuZ3RoKCkpOwogCQkJfQog
CQkJYnJlYWs7CiAJCWNhc2UgJ1MnOgogCQkJdmFsID0gY2FsZW5kYXIuZ2V0
KENhbGVuZGFyLk1JTExJU0VDT05EKTsKIAkJCWJ1Zi5hcHBlbmQodmFsKTsK
LQkJCWlmIChwb3MuZmllbGQgPT0gTUlMTElTRUNPTkRfRklFTEQpIHsKLQkJ
CQlwb3MuYmVnaW4gPSBjcG9zOwotCQkJCXBvcy5lbmQgPSBidWYubGVuZ3Ro
KCk7CisJCQlpZiAocG9zLmdldEZpZWxkKCkgPT0gTUlMTElTRUNPTkRfRklF
TEQpIHsKKwkJCQlwb3Muc2V0QmVnaW5JbmRleChjcG9zKTsKKwkJCQlwb3Mu
c2V0RW5kSW5kZXgoYnVmLmxlbmd0aCgpKTsKIAkJCX0KIAkJCWJyZWFrOwog
CQljYXNlICdFJzoKQEAgLTIyOCwxNyArMjI4LDE3IEBACiAJCQllbHNlIHsK
IAkJCQlidWYuYXBwZW5kKHN5bXMud2Vla2RheXNbdmFsXSk7CiAJCQl9Ci0J
CQlpZiAocG9zLmZpZWxkID09IERBWV9PRl9XRUVLX0ZJRUxEKSB7Ci0JCQkJ
cG9zLmJlZ2luID0gY3BvczsKLQkJCQlwb3MuZW5kID0gYnVmLmxlbmd0aCgp
OworCQkJaWYgKHBvcy5nZXRGaWVsZCgpID09IERBWV9PRl9XRUVLX0ZJRUxE
KSB7CisJCQkJcG9zLnNldEJlZ2luSW5kZXgoY3Bvcyk7CisJCQkJcG9zLnNl
dEVuZEluZGV4KGJ1Zi5sZW5ndGgoKSk7CiAJCQl9CiAJCQlicmVhazsKIAkJ
Y2FzZSAnRCc6CiAJCQl2YWwgPSBjYWxlbmRhci5nZXQoQ2FsZW5kYXIuREFZ
X09GX1lFQVIpOwogCQkJYnVmLmFwcGVuZCh2YWwpOwotCQkJaWYgKHBvcy5m
aWVsZCA9PSBEQVlfT0ZfWUVBUl9GSUVMRCkgewotCQkJCXBvcy5iZWdpbiA9
IGNwb3M7Ci0JCQkJcG9zLmVuZCA9IGJ1Zi5sZW5ndGgoKTsKKwkJCWlmIChw
b3MuZ2V0RmllbGQoKSA9PSBEQVlfT0ZfWUVBUl9GSUVMRCkgeworCQkJCXBv
cy5zZXRCZWdpbkluZGV4KGNwb3MpOworCQkJCXBvcy5zZXRFbmRJbmRleChi
dWYubGVuZ3RoKCkpOwogCQkJfQogCQkJYnJlYWs7CiAJCWNhc2UgJ0YnOgpA
QCAtMjQ4LDI1ICsyNDgsMjUgQEAKIAkJY2FzZSAndyc6CiAJCQl2YWwgPSBj
YWxlbmRhci5nZXQoQ2FsZW5kYXIuV0VFS19PRl9ZRUFSKTsKIAkJCWJ1Zi5h
cHBlbmQodmFsKTsKLQkJCWlmIChwb3MuZmllbGQgPT0gV0VFS19PRl9ZRUFS
X0ZJRUxEKSB7Ci0JCQkJcG9zLmJlZ2luID0gY3BvczsKLQkJCQlwb3MuZW5k
ID0gYnVmLmxlbmd0aCgpOworCQkJaWYgKHBvcy5nZXRGaWVsZCgpID09IFdF
RUtfT0ZfWUVBUl9GSUVMRCkgeworCQkJCXBvcy5zZXRCZWdpbkluZGV4KGNw
b3MpOworCQkJCXBvcy5zZXRFbmRJbmRleChidWYubGVuZ3RoKCkpOwogCQkJ
fQogCQkJYnJlYWs7CiAJCWNhc2UgJ1cnOgogCQkJdmFsID0gY2FsZW5kYXIu
Z2V0KENhbGVuZGFyLldFRUtfT0ZfTU9OVEgpOwogCQkJYnVmLmFwcGVuZCh2
YWwpOwotCQkJaWYgKHBvcy5maWVsZCA9PSBXRUVLX09GX01PTlRIX0ZJRUxE
KSB7Ci0JCQkJcG9zLmJlZ2luID0gY3BvczsKLQkJCQlwb3MuZW5kID0gYnVm
Lmxlbmd0aCgpOworCQkJaWYgKHBvcy5nZXRGaWVsZCgpID09IFdFRUtfT0Zf
TU9OVEhfRklFTEQpIHsKKwkJCQlwb3Muc2V0QmVnaW5JbmRleChjcG9zKTsK
KwkJCQlwb3Muc2V0RW5kSW5kZXgoYnVmLmxlbmd0aCgpKTsKIAkJCX0KIAkJ
CWJyZWFrOwogCQljYXNlICdhJzoKIAkJCXZhbCA9IGNhbGVuZGFyLmdldChD
YWxlbmRhci5BTV9QTSk7CiAJCQlidWYuYXBwZW5kKHN5bXMuYW1QbVN0cmlu
Z3NbdmFsXSk7Ci0JCQlpZiAocG9zLmZpZWxkID09IEFNX1BNX0ZJRUxEKSB7
Ci0JCQkJcG9zLmJlZ2luID0gY3BvczsKLQkJCQlwb3MuZW5kID0gYnVmLmxl
bmd0aCgpOworCQkJaWYgKHBvcy5nZXRGaWVsZCgpID09IEFNX1BNX0ZJRUxE
KSB7CisJCQkJcG9zLnNldEJlZ2luSW5kZXgoY3Bvcyk7CisJCQkJcG9zLnNl
dEVuZEluZGV4KGJ1Zi5sZW5ndGgoKSk7CiAJCQl9CiAJCQlicmVhazsKIAkJ
Y2FzZSAnaCc6CkBAIC0yNzcsMTcgKzI3NywxNyBAQAogCQkJaWYgKCAocGxl
biA+IDEpICYmICh2YWwgPCAxMCkgKQogCQkJCWJ1Zi5hcHBlbmQoJzAnKTsK
IAkJCWJ1Zi5hcHBlbmQodmFsKTsKLQkJCWlmIChwb3MuZmllbGQgPT0gSE9V
UjFfRklFTEQpIHsKLQkJCQlwb3MuYmVnaW4gPSBjcG9zOwotCQkJCXBvcy5l
bmQgPSBidWYubGVuZ3RoKCk7CisJCQlpZiAocG9zLmdldEZpZWxkKCkgPT0g
SE9VUjFfRklFTEQpIHsKKwkJCQlwb3Muc2V0QmVnaW5JbmRleChjcG9zKTsK
KwkJCQlwb3Muc2V0RW5kSW5kZXgoYnVmLmxlbmd0aCgpKTsKIAkJCX0KIAkJ
CWJyZWFrOwogCQljYXNlICdLJzoKIAkJCXZhbCA9IGNhbGVuZGFyLmdldChD
YWxlbmRhci5IT1VSKTsKIAkJCWJ1Zi5hcHBlbmQodmFsKTsKLQkJCWlmIChw
b3MuZmllbGQgPT0gSE9VUjBfRklFTEQpIHsKLQkJCQlwb3MuYmVnaW4gPSBj
cG9zOwotCQkJCXBvcy5lbmQgPSBidWYubGVuZ3RoKCk7CisJCQlpZiAocG9z
LmdldEZpZWxkKCkgPT0gSE9VUjBfRklFTEQpIHsKKwkJCQlwb3Muc2V0QmVn
aW5JbmRleChjcG9zKTsKKwkJCQlwb3Muc2V0RW5kSW5kZXgoYnVmLmxlbmd0
aCgpKTsKIAkJCX0KIAkJCWJyZWFrOwogCQljYXNlICd6JzoKQEAgLTM0NCw5
ICszNDQsOSBAQAogCQkJCQlidWYuYXBwZW5kKHJvICUgNjApOwogCQkJCX0K
IAkJCX0KLQkJCWlmIChwb3MuZmllbGQgPT0gVElNRVpPTkVfRklFTEQpIHsK
LQkJCQlwb3MuYmVnaW4gPSBjcG9zOwotCQkJCXBvcy5lbmQgPSBidWYubGVu
Z3RoKCk7CisJCQlpZiAocG9zLmdldEZpZWxkKCkgPT0gVElNRVpPTkVfRklF
TEQpIHsKKwkJCQlwb3Muc2V0QmVnaW5JbmRleChjcG9zKTsKKwkJCQlwb3Mu
c2V0RW5kSW5kZXgoYnVmLmxlbmd0aCgpKTsKIAkJCX0KIAkJCWJyZWFrOwog
CQljYXNlICdcJyc6Cg==

--0-1423068165-1023923961=:60399--