[mono-vb] A few fixes for Visual Basic Class

Ryan L. Faircloth ryan@dss-i.com
Wed, 27 Oct 2004 07:21:02 -0400


This is a multi-part message in MIME format.

------_=_NextPart_001_01C4BC17.5F12EEC4
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


Some fixes were code some were test case issues.=20

Let me know how these look if its the way you need them I will work on =
more.

------_=_NextPart_001_01C4BC17.5F12EEC4
Content-Type: text/plain;
	name="patch.txt"
Content-Transfer-Encoding: base64
Content-Description: patch.txt
Content-Disposition: attachment;
	filename="patch.txt"

PyBwYXRjaC50eHQKPyBjbGFzcy9NaWNyb3NvZnQuVmlzdWFsQmFzaWMvVGVzdFJlc3VsdC1kZWZh
dWx0LnhtbAo/IGNsYXNzL01pY3Jvc29mdC5WaXN1YWxCYXNpYy9sb2cudHh0Cj8gY2xhc3MvU3lz
dGVtL1Rlc3RSZXN1bHQtZGVmYXVsdC54bWwKPyBjbGFzcy9TeXN0ZW0uWE1ML1Rlc3RSZXN1bHQt
ZGVmYXVsdC54bWwKPyBjbGFzcy9TeXN0ZW0uWE1ML1Rlc3QvWG1sRmlsZXMveHNsL3Jlc3VsdC54
bWwKPyBjbGFzcy9jb3JsaWIvYzpcVGVzdEFzc2VtYmx5LmRsbAo/IGNsYXNzL2NvcmxpYi9jb3Js
aWJfdGVzdF9kZWZhdWx0LmRsbAo/IGNsYXNzL2NvcmxpYi9mb28udHh0Cj8gY2xhc3MvY29ybGli
L2ZvbzIudHh0Cj8gY2xhc3MvY29ybGliL3RlbXAKPyBjbGFzcy9saWIvZGVmYXVsdC9udW5pdC1j
b25zb2xlLmV4ZS5jb25maWcKPyBjbGFzcy9saWIvZGVmYXVsdC9vbG51bml0CkluZGV4OiBjbGFz
cy9NaWNyb3NvZnQuVmlzdWFsQmFzaWMvTWljcm9zb2Z0LlZpc3VhbEJhc2ljL0NvbnZlcnNpb24u
Y3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL21vbm8vbWNzL2NsYXNzL01pY3Jvc29mdC5WaXN1YWxC
YXNpYy9NaWNyb3NvZnQuVmlzdWFsQmFzaWMvQ29udmVyc2lvbi5jcyx2CnJldHJpZXZpbmcgcmV2
aXNpb24gMS4xMgpkaWZmIC11IC1yMS4xMiBDb252ZXJzaW9uLmNzCi0tLSBjbGFzcy9NaWNyb3Nv
ZnQuVmlzdWFsQmFzaWMvTWljcm9zb2Z0LlZpc3VhbEJhc2ljL0NvbnZlcnNpb24uY3MJNiBTZXAg
MjAwNCAxMToyMzoxMSAtMDAwMAkxLjEyCisrKyBjbGFzcy9NaWNyb3NvZnQuVmlzdWFsQmFzaWMv
TWljcm9zb2Z0LlZpc3VhbEJhc2ljL0NvbnZlcnNpb24uY3MJMjcgT2N0IDIwMDQgMTE6MTc6MzMg
LTAwMDAKQEAgLTcwMCw3ICs3MDAsMTMgQEAKIAkJCQl0aHJvdyBuZXcgQXJndW1lbnROdWxsRXhj
ZXB0aW9uICgiRXhwcmVzc2lvbiIsIAogCQkJCQkiVmFsdWUgY2Fubm90IGJlIG51bGwiKTsKIAkJ
CX0KLQkJCisJCQlUeXBlQ29kZSBUQyA9IFR5cGUuR2V0VHlwZUNvZGUgKEV4cHJlc3Npb24uR2V0
VHlwZSgpKTsgCisJCQlpZiAoVEMgIT0gVHlwZUNvZGUuU3RyaW5nKSB7CisJCQkJdGhyb3cgbmV3
IEFyZ3VtZW50RXhjZXB0aW9uKAorCQkJCSJUeXBlIG9mIGFyZ3VtZW50ICdFeHByZXNzaW9uJyBp
cyAnIiArIAorCQkJCUV4cHJlc3Npb24uR2V0VHlwZSgpLkZ1bGxOYW1lICsgCisJCQkJIicsIHdo
aWNoIGNhbiBudCBiZSBjb252ZXJ0ZWQgdG8gbnVtZXJpYy4iKTsJCQkKKwkJCX0KIAkJCXRyeSB7
CiAJCQkJcmV0dXJuIFZhbCAoQ2FzdFRvU3RyaW5nIChFeHByZXNzaW9uKSk7IAogCQkJfSAKSW5k
ZXg6IGNsYXNzL01pY3Jvc29mdC5WaXN1YWxCYXNpYy9NaWNyb3NvZnQuVmlzdWFsQmFzaWMvRGF0
ZUFuZFRpbWUuY3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL21vbm8vbWNzL2NsYXNzL01pY3Jvc29m
dC5WaXN1YWxCYXNpYy9NaWNyb3NvZnQuVmlzdWFsQmFzaWMvRGF0ZUFuZFRpbWUuY3MsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMTMKZGlmZiAtdSAtcjEuMTMgRGF0ZUFuZFRpbWUuY3MKLS0tIGNs
YXNzL01pY3Jvc29mdC5WaXN1YWxCYXNpYy9NaWNyb3NvZnQuVmlzdWFsQmFzaWMvRGF0ZUFuZFRp
bWUuY3MJNiBTZXAgMjAwNCAxMzo0Nzo0NCAtMDAwMAkxLjEzCisrKyBjbGFzcy9NaWNyb3NvZnQu
VmlzdWFsQmFzaWMvTWljcm9zb2Z0LlZpc3VhbEJhc2ljL0RhdGVBbmRUaW1lLmNzCTI3IE9jdCAy
MDA0IDExOjE3OjMzIC0wMDAwCkBAIC01MDksMTAgKzUwOSwxMSBAQAogCQl9CiAKIAkJcHVibGlj
IHN0YXRpYyBTeXN0ZW0uRGF0ZVRpbWUgVGltZVZhbHVlIChzdHJpbmcgU3RyaW5nVGltZSkgCi0J
CXsgCi0JCQl0cnkgewotCQkJCXJldHVybiBEYXRlVGltZS5NaW5WYWx1ZSArIERhdGVUaW1lLlBh
cnNlKFN0cmluZ1RpbWUpLlRpbWVPZkRheTsKLQkJCX0gY2F0Y2ggKEZvcm1hdEV4Y2VwdGlvbiBl
eGNlcHRpb24pIHsKKwkJeyAJCQkJCQorCQkJdHJ5IHsJCQkJCisJCQkJcmV0dXJuIERhdGVUaW1l
Lk1pblZhbHVlLkRhdGUgKyBEYXRlVGltZS5QYXJzZShTdHJpbmdUaW1lKS5UaW1lT2ZEYXk7CisJ
CQl9IAorCQkJY2F0Y2ggKEZvcm1hdEV4Y2VwdGlvbiBleGNlcHRpb24pIHsKIAkJCQl0aHJvdyBu
ZXcgSW52YWxpZENhc3RFeGNlcHRpb24obnVsbCwgZXhjZXB0aW9uKTsKIAkJCX0KIAkJfQpAQCAt
NTc2LDkgKzU3Nyw5IEBACiAJCQlpZiAoV2Vla2RheSA8IDEgfHwgV2Vla2RheSA+IDcpIHsKIAkJ
CQl0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24oKTsKIAkJCX0KLQkJCVdlZWtkYXkgKz0gKGlu
dClGaXJzdERheU9mV2Vla1ZhbHVlOworCQkJV2Vla2RheSA9IFdlZWtkYXkgLTEgICsgKGludClG
aXJzdERheU9mV2Vla1ZhbHVlOwogCQkJaWYgKFdlZWtkYXkgPiA3KSB7Ci0JCQkJV2Vla2RheSAt
PSA3OworCQkJCVdlZWtkYXkgPSBXZWVrZGF5IC03OwogCQkJfQogCQkJaWYgKEFiYnJldmlhdGUp
IHsKIAkJCQlyZXR1cm4gQ3VsdHVyZUluZm8uQ3VycmVudEN1bHR1cmUuRGF0ZVRpbWVGb3JtYXQu
R2V0QWJicmV2aWF0ZWREYXlOYW1lKChEYXlPZldlZWspV2Vla2RheSk7CkluZGV4OiBjbGFzcy9N
aWNyb3NvZnQuVmlzdWFsQmFzaWMvVGVzdC9NaWNyb3NvZnQuVmlzdWFsQmFzaWMvQ29udmVyc2lv
blRlc3QuY3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL21vbm8vbWNzL2NsYXNzL01pY3Jvc29mdC5W
aXN1YWxCYXNpYy9UZXN0L01pY3Jvc29mdC5WaXN1YWxCYXNpYy9Db252ZXJzaW9uVGVzdC5jcyx2
CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yCmRpZmYgLXUgLXIxLjIgQ29udmVyc2lvblRlc3QuY3MK
LS0tIGNsYXNzL01pY3Jvc29mdC5WaXN1YWxCYXNpYy9UZXN0L01pY3Jvc29mdC5WaXN1YWxCYXNp
Yy9Db252ZXJzaW9uVGVzdC5jcwkyNCBKdW4gMjAwNCAxNDowNjo1MCAtMDAwMAkxLjIKKysrIGNs
YXNzL01pY3Jvc29mdC5WaXN1YWxCYXNpYy9UZXN0L01pY3Jvc29mdC5WaXN1YWxCYXNpYy9Db252
ZXJzaW9uVGVzdC5jcwkyNyBPY3QgMjAwNCAxMToxNzozNCAtMDAwMApAQCAtNjg0LDE5ICs2ODQs
MjQgQEAKIAkJCQlBc3NlcnRFcXVhbHMoIiNWMDYiLCB0eXBlb2YoT3ZlcmZsb3dFeGNlcHRpb24p
LCBlLkdldFR5cGUoKSk7DQogCQkJCWNhdWdodEV4Y2VwdGlvbiA9IHRydWU7DQogCQkJfQ0KLQ0K
LQkJCUFzc2VydEVxdWFscygiI1YwNyIsIHRydWUsIGNhdWdodEV4Y2VwdGlvbik7DQorCQkJZmlu
YWxseSB7DQorCQkJCUFzc2VydEVxdWFscygiI1YwNyIsIHRydWUsIGNhdWdodEV4Y2VwdGlvbik7
CisJCQl9DQogDQogCQkJY2F1Z2h0RXhjZXB0aW9uID0gZmFsc2U7DQogDQogCQkJdHJ5IHsNCiAJ
CQkJQ29udmVyc2lvbi5WYWwodHlwZW9mKGludCkpOw0KIAkJCX0NCi0JCQljYXRjaCAoRXhjZXB0
aW9uIGUpIHsNCi0JCQkJQXNzZXJ0RXF1YWxzKCIjVjA4IiwgdHlwZW9mKEFyZ3VtZW50RXhjZXB0
aW9uKSwgZS5HZXRUeXBlKCkpOw0KKwkJCWNhdGNoIChFeGNlcHRpb24gZSkgewogCQkJCWNhdWdo
dEV4Y2VwdGlvbiA9IHRydWU7DQorCQkJCUFzc2VydEVxdWFscygiI1YwOCIsIHR5cGVvZihBcmd1
bWVudEV4Y2VwdGlvbiksIGUuR2V0VHlwZSgpKTsKKwkJCQkJCQkJDQorCQkJfQorCQkJZmluYWxs
eSB7CisJCQkJQXNzZXJ0RXF1YWxzKCIjVjA5IiwgdHJ1ZSwgY2F1Z2h0RXhjZXB0aW9uKTsKIAkJ
CX0NCi0JCQlBc3NlcnRFcXVhbHMoIiNWMDkiLCB0cnVlLCBjYXVnaHRFeGNlcHRpb24pOw0KKwkJ
CQ0KIAkJfQ0KIAl9DQogfQ0KSW5kZXg6IGNsYXNzL01pY3Jvc29mdC5WaXN1YWxCYXNpYy9UZXN0
L01pY3Jvc29mdC5WaXN1YWxCYXNpYy9EYXRlQW5kVGltZVRlc3QuY3MKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL21vbm8vbWNzL2NsYXNzL01pY3Jvc29mdC5WaXN1YWxCYXNpYy9UZXN0L01pY3Jvc29m
dC5WaXN1YWxCYXNpYy9EYXRlQW5kVGltZVRlc3QuY3MsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
NQpkaWZmIC11IC1yMS41IERhdGVBbmRUaW1lVGVzdC5jcwotLS0gY2xhc3MvTWljcm9zb2Z0LlZp
c3VhbEJhc2ljL1Rlc3QvTWljcm9zb2Z0LlZpc3VhbEJhc2ljL0RhdGVBbmRUaW1lVGVzdC5jcwky
NCBKdW4gMjAwNCAxNDowNjo1MCAtMDAwMAkxLjUKKysrIGNsYXNzL01pY3Jvc29mdC5WaXN1YWxC
YXNpYy9UZXN0L01pY3Jvc29mdC5WaXN1YWxCYXNpYy9EYXRlQW5kVGltZVRlc3QuY3MJMjcgT2N0
IDIwMDQgMTE6MTc6MzQgLTAwMDAKQEAgLTEyOSwxMiArMTI5LDE2IEBACiAJCXB1YmxpYyB2b2lk
IFRpbWVTdHJpbmcoKSAKIAkJewogCQkJRGF0ZVRpbWUgZHROb3cgPSBEYXRlVGltZS5Ob3c7CisJ
CQlTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZC5TbGVlcCgoaW50KSAyKTsKIAkJCVRpbWVTcGFuIHRz
Tm93ID0gbmV3IFRpbWVTcGFuKGR0Tm93LkhvdXIsIGR0Tm93Lk1pbnV0ZSwgZHROb3cuU2Vjb25k
KTsKKwkJCVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkLlNsZWVwKChpbnQpIDIpOwogCQkJc3RyaW5n
IHMgPSBEYXRlQW5kVGltZS5UaW1lU3RyaW5nOwogCQkJRGF0ZVRpbWUgZHRUZXN0ID0gRGF0ZVRp
bWUuUGFyc2Uocyk7CiAJCQlUaW1lU3BhbiB0c1Rlc3QgPSBuZXcgVGltZVNwYW4oZHRUZXN0Lkhv
dXIsIGR0VGVzdC5NaW51dGUsIGR0VGVzdC5TZWNvbmQpOwogCQkJRGF0ZVRpbWUgZHROb3cyID0g
RGF0ZVRpbWUuTm93OworCQkJU3lzdGVtLlRocmVhZGluZy5UaHJlYWQuU2xlZXAoKGludCkgMik7
CiAJCQlUaW1lU3BhbiB0c05vdzIgPSBuZXcgVGltZVNwYW4oZHROb3cyLkhvdXIsIGR0Tm93Mi5N
aW51dGUsIGR0Tm93Mi5TZWNvbmQpOworCQkJU3lzdGVtLlRocmVhZGluZy5UaHJlYWQuU2xlZXAo
KGludCkgMik7CiAJCQkKIAkJCUFzc2VydCgiI1RTMDEiLCB0c1Rlc3QuVGlja3MgPj0gdHNOb3cu
VGlja3MpOwogCQkJQXNzZXJ0KCIjVFMwMiIsIHRzTm93Mi5UaWNrcyA+PSB0c1Rlc3QuVGlja3Mp
OwpAQCAtMjg2LDEyICsyOTAsMTIgQEAKIAkJCQlEYXRlQW5kVGltZS5UaW1lU2VyaWFsKDAsIC0x
NDQwLCAtMSk7CiAJCQl9CiAJCQljYXRjaCAoRXhjZXB0aW9uIGUpIHsKLQkJCQlBc3NlcnRFcXVh
bHMoIiNUUzAxIiwgZS5HZXRUeXBlKCksIHR5cGVvZihBcmd1bWVudE91dE9mUmFuZ2VFeGNlcHRp
b24pKTsKKwkJCQlBc3NlcnRFcXVhbHMoIiNUU0wwMSIsIHR5cGVvZihBcmd1bWVudE91dE9mUmFu
Z2VFeGNlcHRpb24pLCAgZS5HZXRUeXBlKCkpOwogCQkJCWNhdWdodEV4Y2VwdGlvbiA9IHRydWU7
CiAJCQl9Ci0JCQlBc3NlcnRFcXVhbHMoIiNUUzAyIiwgdHJ1ZSwgY2F1Z2h0RXhjZXB0aW9uKTsK
KwkJCUFzc2VydEVxdWFscygiI1RTTDAyIiwgdHJ1ZSwgY2F1Z2h0RXhjZXB0aW9uKTsKIAotCQkJ
QXNzZXJ0RXF1YWxzKCIjVFMwMyIsIG5ldyBEYXRlVGltZSgxLCAxLCAxLCAxLCAxLCAxKSwgRGF0
ZUFuZFRpbWUuVGltZVNlcmlhbCgxLCAxLCAxKSk7CisJCQlBc3NlcnRFcXVhbHMoIiNUU0wwMyIs
IG5ldyBEYXRlVGltZSgxLCAxLCAxLCAxLCAxLCAxKSwgRGF0ZUFuZFRpbWUuVGltZVNlcmlhbCgx
LCAxLCAxKSk7CiAJCQkJCiAJCX0KIApAQCAtMzE0LDE3ICszMTgsMzQgQEAKIAkJW1Rlc3RdCiAJ
CXB1YmxpYyB2b2lkIFRpbWVWYWx1ZSAoKSAKIAkJeworCQkJYm9vbCBjYXVnaHRFeGNlcHRpb24g
PSBmYWxzZTsNCisNCiAJCQl0cnkgewogCQkJCURhdGVBbmRUaW1lLlRpbWVWYWx1ZSgiVGhpcyBp
cyBub3QgYSB0aW1lLiIpOwogCQkJfQotCQkJY2F0Y2ggKEludmFsaWRDYXN0RXhjZXB0aW9uKSB7
Ci0JCQkJLyogZG8gbm90aGluZy4gIHRoaXMgaXMgd2hhdCB3ZSBleHBlY3QgKi8KKwkJCWNhdGNo
IChFeGNlcHRpb24gZSkgeworCQkJCUFzc2VydEVxdWFscygiI1RWMDEiLCB0eXBlb2YoSW52YWxp
ZENhc3RFeGNlcHRpb24pLCBlLkdldFR5cGUoKSk7CisJCQkJY2F1Z2h0RXhjZXB0aW9uID0gdHJ1
ZTsKKwkJCX0KKwkJCWZpbmFsbHkgeworCQkJCUFzc2VydEVxdWFscygiI1RWMDIiLCB0cnVlLCBj
YXVnaHRFeGNlcHRpb24pOworCQkJfQorCisJCQl0cnkgeworCQkJCUFzc2VydEVxdWFscygiI1RW
MDMiLCBuZXcgRGF0ZVRpbWUoMSwgMSwgMSwgMTYsIDM1LCAxNyksIERhdGVBbmRUaW1lLlRpbWVW
YWx1ZSgiMTY6MzU6MTciKSk7IC8vIHdvcmtzIGluIC5ORVQ/CiAJCQl9CiAJCQljYXRjaCAoRXhj
ZXB0aW9uIGUpIHsKLQkJCQlGYWlsICgiVW5leHBlY3RlZCBleGNlcHRpb246IiArIGUpOworCQkJ
CWNhdWdodEV4Y2VwdGlvbiA9IHRydWU7CisJCQkJRmFpbCAoIiNUVjAzIFVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiIgKyBlLk1lc3NhZ2UpOwkJCQorCQkJfQorCQkJCisJCQl0cnkgeworCQkJCUFzc2Vy
dEVxdWFscygiI1RWMDQiLCBuZXcgRGF0ZVRpbWUoMSwgMSwgMSwgMTYsIDM1LCAxNyksIERhdGVB
bmRUaW1lLlRpbWVWYWx1ZSgiNDozNToxNyBQTSIpKTsKKwkJCX0KKwkJCWNhdGNoIChFeGNlcHRp
b24gZSkgeworCQkJCUZhaWwgKCIjVFYwNCBVbmV4cGVjdGVkIGV4Y2VwdGlvbjoiICsgZS5NZXNz
YWdlKTsKIAkJCX0KLQkJCUFzc2VydEVxdWFscygiI1RWMDMiLCBuZXcgRGF0ZVRpbWUoMSwgMSwg
MSwgMTYsIDM1LCAxNyksIERhdGVBbmRUaW1lLlRpbWVWYWx1ZSgiMTY6MzU6MTciKSk7IC8vIHdv
cmtzIGluIC5ORVQ/Ci0JCQlBc3NlcnRFcXVhbHMoIiNUVjA0IiwgbmV3IERhdGVUaW1lKDEsIDEs
IDEsIDE2LCAzNSwgMTcpLCBEYXRlQW5kVGltZS5UaW1lVmFsdWUoIjQ6MzU6MTcgUE0iKSk7CisK
IAkJfQogCiAJCVtUZXN0XQpAQCAtNDE1LDkgKzQzNiw5IEBACiAJCXsKIAkJCURhdGVUaW1lIGph
bjEgPSBuZXcgRGF0ZVRpbWUoMjAwMSwgMSwgMSwgMSwgMSwgMSk7CiAJCQlBc3NlcnRFcXVhbHMo
IiNXTjAxIiwgIlR1ZSIsCi0JCQkJRGF0ZUFuZFRpbWUuV2Vla2RheU5hbWUoKGludClqYW4xLkRh
eU9mV2VlayArIDEsIHRydWUsIEZpcnN0RGF5T2ZXZWVrLk1vbmRheSkpOworCQkJCURhdGVBbmRU
aW1lLldlZWtkYXlOYW1lKDEsIHRydWUsIEZpcnN0RGF5T2ZXZWVrLk1vbmRheSkpOwogCQkJQXNz
ZXJ0RXF1YWxzKCIjV04wMiIsICJUdWVzZGF5IiwKLQkJCQlEYXRlQW5kVGltZS5XZWVrZGF5TmFt
ZSgoaW50KWphbjEuRGF5T2ZXZWVrICsgMSwgZmFsc2UsIEZpcnN0RGF5T2ZXZWVrLk1vbmRheSkp
OworCQkJCURhdGVBbmRUaW1lLldlZWtkYXlOYW1lKDEsIGZhbHNlLCBGaXJzdERheU9mV2Vlay5N
b25kYXkpKTsKIAogCQkJYm9vbCBjYXVnaHRFeGNlcHRpb24gPSBmYWxzZTsKIApAQCAtNDQxLDcg
KzQ2Miw3IEBACiAJCQl9CiAJCQlBc3NlcnRFcXVhbHMoIiNXTjA2IiwgdHJ1ZSwgY2F1Z2h0RXhj
ZXB0aW9uKTsKIAotCQkJQXNzZXJ0RXF1YWxzKCIjV04wNyIsICJUdWVzZGF5IiwgRGF0ZUFuZFRp
bWUuV2Vla2RheU5hbWUoKGludClqYW4xLkRheU9mV2VlayArIDEsIGZhbHNlLCBGaXJzdERheU9m
V2Vlay5Nb25kYXkpKTsKKwkJCUFzc2VydEVxdWFscygiI1dOMDciLCAiVHVlc2RheSIsIERhdGVB
bmRUaW1lLldlZWtkYXlOYW1lKChpbnQpamFuMS5EYXlPZldlZWsgKyAxLCBmYWxzZSwgRmlyc3RE
YXlPZldlZWsuU3VuZGF5KSk7CiAJCX0KIAl9CiB9CkluZGV4OiBjbGFzcy9NaWNyb3NvZnQuVmlz
dWFsQmFzaWMvVGVzdC9NaWNyb3NvZnQuVmlzdWFsQmFzaWMvU3RyaW5nc1Rlc3QuY3MKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL21vbm8vbWNzL2NsYXNzL01pY3Jvc29mdC5WaXN1YWxCYXNpYy9UZXN0
L01pY3Jvc29mdC5WaXN1YWxCYXNpYy9TdHJpbmdzVGVzdC5jcyx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS41CmRpZmYgLXUgLXIxLjUgU3RyaW5nc1Rlc3QuY3MKLS0tIGNsYXNzL01pY3Jvc29mdC5W
aXN1YWxCYXNpYy9UZXN0L01pY3Jvc29mdC5WaXN1YWxCYXNpYy9TdHJpbmdzVGVzdC5jcwk0IEF1
ZyAyMDA0IDA4OjA4OjA0IC0wMDAwCTEuNQorKysgY2xhc3MvTWljcm9zb2Z0LlZpc3VhbEJhc2lj
L1Rlc3QvTWljcm9zb2Z0LlZpc3VhbEJhc2ljL1N0cmluZ3NUZXN0LmNzCTI3IE9jdCAyMDA0IDEx
OjE3OjM3IC0wMDAwCkBAIC0xLDQgKzEsNCBAQAot77u/Ly8NCisvLw0KIC8vIFN0cmluZ3NUZXN0
LmNzDQogLy8NCiAvLyBBdXRob3JzOg0KQEAgLTg1NCw3ICs4NTQsNiBAQAogCQlbVGVzdF0NCiAJ
CXB1YmxpYyB2b2lkIExlbigpDQogCQl7DQotCQkJTGVuX09iamVjdCgpOw0KIAkJCUxlbl9Cb29s
KCk7DQogCQkJTGVuX0J5dGUoKTsNCiAJCQlMZW5fQ2hhcigpOw0KQEAgLTg2NSw3ICs4NjQsOSBA
QAogCQkJTGVuX0Zsb2F0KCk7DQogCQkJTGVuX1N0cmluZygpOw0KIAkJCUxlbl9EYXRlVGltZSgp
Ow0KLQkJCUxlbl9EZWNpbWFsKCk7DQorCQkJTGVuX0RlY2ltYWwoKTsKKwkJCUxlbl9PYmplY3Qo
KTsNCisJCQkJCQ0KIAkJfQ0KIA0KIAkJcHVibGljIHZvaWQgTGVuX0Jvb2woKQ0KQEAgLTkzMiwx
NCArOTMzLDE4IEBACiAJCQ0KIAkJcHVibGljIHZvaWQgTGVuX0ludCgpDQogCQl7DQotCQkJaW50
IE15Q2hhcjAgPSAoaW50KTA7DQotCQkJaW50IE15Q2hhcjEgPSAoaW50KTczOw0KLQkJCWludCBN
eUNoYXIxYSA9IChpbnQpLTEwMjQ7DQotCQkJaW50IE15Q2hhcjIgPSAoaW50KTY1MDAwOw0KLQkJ
CU5Vbml0LkZyYW1ld29yay5Bc3NlcnRpb24uQXNzZXJ0RXF1YWxzICgiSlcjTGVuLzkxIiwgNCwg
U3RyaW5ncy5MZW4oTXlDaGFyMCkpOw0KLQkJCU5Vbml0LkZyYW1ld29yay5Bc3NlcnRpb24uQXNz
ZXJ0RXF1YWxzICgiSlcjTGVuLzkyIiwgNCwgU3RyaW5ncy5MZW4oTXlDaGFyMSkpOw0KLQkJCU5V
bml0LkZyYW1ld29yay5Bc3NlcnRpb24uQXNzZXJ0RXF1YWxzICgiSlcjTGVuLzkzIiwgNCwgU3Ry
aW5ncy5MZW4oTXlDaGFyMWEpKTsNCi0JCQlOVW5pdC5GcmFtZXdvcmsuQXNzZXJ0aW9uLkFzc2Vy
dEVxdWFscyAoIkpXI0xlbi85NCIsIDQsIFN0cmluZ3MuTGVuKE15Q2hhcjIpKTsNCisJCQlpbnQg
TXlJbnQwID0gKGludCkwOw0KKwkJCWludCBNeUludDEgPSAoaW50KTczOw0KKwkJCWludCBNeUlu
dDFhID0gKGludCktMTAyNDsNCisJCQlpbnQgTXlJbnQyID0gKGludCk2NTAwMDsKKwkJCVN5c3Rl
bS5JbnQxNiBNeUludDE2ID0gKFN5c3RlbS5JbnQxNik1MDsKKwkJCVN5c3RlbS5JbnQ2NCBNeUlu
dDY0ID0gKFN5c3RlbS5JbnQ2NCk1MDsKKwkJCU5Vbml0LkZyYW1ld29yay5Bc3NlcnRpb24uQXNz
ZXJ0RXF1YWxzICgiSlcjTGVuLzkwIiwgMiwgU3RyaW5ncy5MZW4oTXlJbnQxNikpOyANCisJCQlO
VW5pdC5GcmFtZXdvcmsuQXNzZXJ0aW9uLkFzc2VydEVxdWFscyAoIkpXI0xlbi85MSIsIDQsIFN0
cmluZ3MuTGVuKE15SW50MCkpOw0KKwkJCU5Vbml0LkZyYW1ld29yay5Bc3NlcnRpb24uQXNzZXJ0
RXF1YWxzICgiSlcjTGVuLzkyIiwgNCwgU3RyaW5ncy5MZW4oTXlJbnQxKSk7DQorCQkJTlVuaXQu
RnJhbWV3b3JrLkFzc2VydGlvbi5Bc3NlcnRFcXVhbHMgKCJKVyNMZW4vOTMiLCA0LCBTdHJpbmdz
LkxlbihNeUludDFhKSk7DQorCQkJTlVuaXQuRnJhbWV3b3JrLkFzc2VydGlvbi5Bc3NlcnRFcXVh
bHMgKCJKVyNMZW4vOTQiLCA0LCBTdHJpbmdzLkxlbihNeUludDIpKTsKKwkJCU5Vbml0LkZyYW1l
d29yay5Bc3NlcnRpb24uQXNzZXJ0RXF1YWxzICgiSlcjTGVuLzk1IiwgOCwgU3RyaW5ncy5MZW4o
TXlJbnQ2NCkpOw0KIAkJCS8qDQogCQkJcmV0dXJuIDQ7IC8vc2l6ZW9mKGludCkNCiAJCQkqLw0K

------_=_NextPart_001_01C4BC17.5F12EEC4--