[Kde-games-devel] KMahjongg patch

Bernhard von Gunten kde-games-devel@mail.kde.org
Sun, 12 Jan 2003 18:27:35 +0000


This is a multi-part message in MIME format.

--Multipart_Sun__12_Jan_2003_18:27:35_+0000_08233670
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hello,

as there is no direct maintainer of the kmahjongg package today i send a patch to this mailinglist.

- Tha patch adds the "remaining pairs" count to the statusbar.
- The diff is against the CVS version.

I hope somone will integrate it into the package :-)

Greetings,

Bernhard von Gunten

--Multipart_Sun__12_Jan_2003_18:27:35_+0000_08233670
Content-Type: application/octet-stream;
 name="kmahjongg_pairs_left.patch"
Content-Disposition: attachment;
 filename="kmahjongg_pairs_left.patch"
Content-Transfer-Encoding: base64

ZGlmZiAtTmF1ciAtWCBkb250ZGlmZiBrZGVnYW1lcy1jdnMva21haGpvbmdnL2ttYWhqb25nZyBr
ZGVnYW1lcy1kZXYva21haGpvbmdnL2ttYWhqb25nZwotLS0ga2RlZ2FtZXMtY3ZzL2ttYWhqb25n
Zy9rbWFoam9uZ2cJMjAwMy0wMS0wOCAxMzoyMTozMi4wMDAwMDAwMDAgKzAxMDAKKysrIGtkZWdh
bWVzLWRldi9rbWFoam9uZ2cva21haGpvbmdnCTIwMDMtMDEtMDggMjM6MzI6NDUuMDAwMDAwMDAw
ICswMTAwCkBAIC0xOCw3ICsxOCw3IEBACiAjIGlmIENEUEFUSCBpcyBzZXQuCiBpZiB0ZXN0ICIk
e0NEUEFUSCtzZXR9IiA9IHNldDsgdGhlbiBDRFBBVEg9OjsgZXhwb3J0IENEUEFUSDsgZmkKIAot
cmVsaW5rX2NvbW1hbmQ9IihjZCAvdXNyL3NyYy8zYngva2RlLWN2cy9rZGVnYW1lcy9rbWFoam9u
Z2c7IHsgdGVzdCAteiBcIlwke0xJQlJBUllfUEFUSCtzZXR9XCIgfHwgdW5zZXQgTElCUkFSWV9Q
QVRIIHx8IHsgTElCUkFSWV9QQVRIPTsgZXhwb3J0IExJQlJBUllfUEFUSDsgfTsgfTsgeyB0ZXN0
IC16IFwiXCR7Q09NUElMRVJfUEFUSCtzZXR9XCIgfHwgdW5zZXQgQ09NUElMRVJfUEFUSCB8fCB7
IENPTVBJTEVSX1BBVEg9OyBleHBvcnQgQ09NUElMRVJfUEFUSDsgfTsgfTsgeyB0ZXN0IC16IFwi
XCR7R0NDX0VYRUNfUFJFRklYK3NldH1cIiB8fCB1bnNldCBHQ0NfRVhFQ19QUkVGSVggfHwgeyBH
Q0NfRVhFQ19QUkVGSVg9OyBleHBvcnQgR0NDX0VYRUNfUFJFRklYOyB9OyB9OyB7IHRlc3QgLXog
XCJcJHtMRF9SVU5fUEFUSCtzZXR9XCIgfHwgdW5zZXQgTERfUlVOX1BBVEggfHwgeyBMRF9SVU5f
UEFUSD07IGV4cG9ydCBMRF9SVU5fUEFUSDsgfTsgfTsgTERfTElCUkFSWV9QQVRIPVwiL3Vzci9s
b2NhbC9saWI6L29wdC9xdC9saWI6L29wdC9nbm9tZS9saWI6XCI7IGV4cG9ydCBMRF9MSUJSQVJZ
X1BBVEg7IFBBVEg9XCIvdXNyL2JpbjovYmluOi91c3Ivc2Jpbjovc2Jpbjovb3B0L3F0L2Jpbjov
dXNyL1gxMVI2L2Jpbjovb3B0L2tkZS9iaW46L29wdC9qZGstMS40L2Jpbjovb3B0L2dub21lL2Jp
bjovb3B0L2JpblwiOyBleHBvcnQgUEFUSDsgZysrIC1Xbm9uLXZpcnR1YWwtZHRvciAtV25vLWxv
bmctbG9uZyAtV3VuZGVmIC1XYWxsIC1wZWRhbnRpYyAtVyAtV3BvaW50ZXItYXJpdGggLVdtaXNz
aW5nLXByb3RvdHlwZXMgLVd3cml0ZS1zdHJpbmdzIC1hbnNpIC1EX1hPUEVOX1NPVVJDRT01MDAg
LURfQlNEX1NPVVJDRSAtV2Nhc3QtYWxpZ24gLVdjb252ZXJzaW9uIC1ETkRFQlVHIC1ETk9fREVC
VUcgLU8yIC1mbm8tZXhjZXB0aW9ucyAtZm5vLWNoZWNrLW5ldyAtZm5vLWNvbW1vbiAtRFFUX0NM
RUFOX05BTUVTUEFDRSAtRFFUX05PX0NPTVBBVCAtRFFUX05PX0FTQ0lJX0NBU1QgLW8gXCRwcm9n
ZGlyL1wkZmlsZSBrbWFoam9uZ2cubyBUaWxlc2V0Lm8gQm9hcmRMYXlvdXQubyBHYW1lVGltZXIu
byBQcmVmZXJlbmNlcy5vIEJhY2tncm91bmQubyBQcmVmc0RsZy5vIFByZXZpZXcubyBFZGl0b3Iu
byBIaWdoU2NvcmUubyBQcm9ncmVzcy5vICAtTC91c3IvWDExUjYvbGliIC1ML29wdC9xdC9saWIg
LUwvb3B0L2tkZS1jdnMvbGliIC4uL2xpYmtkZWdhbWVzLy5saWJzL2xpYmtkZWdhbWVzLnNvIC1M
L3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjIgLUwvdXNyL2xpYi9nY2MtbGli
L2k2ODYtcGMtbGludXgtZ251LzMuMi8uLi8uLi8uLiAtTC91c3Ivc3JjLzNieC9nY2MvZ2NjLWJ1
aWxkL2k2ODYtcGMtbGludXgtZ251L2xpYnN0ZGMrKy12My9zcmMgLUwvdXNyL3NyYy8zYngvZ2Nj
L2djYy1idWlsZC9pNjg2LXBjLWxpbnV4LWdudS9saWJzdGRjKystdjMvc3JjLy5saWJzIC1ML3Vz
ci9zcmMvM2J4L2djYy9nY2MtYnVpbGQvZ2NjIC9vcHQva2RlLWN2cy9saWIvbGlia2lvLnNvIC9v
cHQva2RlLWN2cy9saWIvbGlia2RldWkuc28gL29wdC9rZGUtY3ZzL2xpYi9saWJrZGVzdS5zbyAv
b3B0L2tkZS1jdnMvbGliL2xpYmtkZWNvcmUuc28gL29wdC9rZGUtY3ZzL2xpYi9saWJEQ09QLnNv
IC1sZGwgL29wdC9rZGUtY3ZzL2xpYi9saWJrZGVmeC5zbyAtbHF0LW10IC1scG5nIC1sWGV4dCAt
bFgxMSAtbFNNIC1sSUNFIC1scHRocmVhZCAtbFhyZW5kZXIgLWx1dGlsIC1seiAvdXNyL2xpYi9s
aWJzdGRjKysuc28gLWxtIC1sYyAtbGdjY19zIC1XbCwtLXJwYXRoIC1XbCwvdXNyL3NyYy8zYngv
a2RlLWN2cy9rZGVnYW1lcy9saWJrZGVnYW1lcy8ubGlicyAtV2wsLS1ycGF0aCAtV2wsL29wdC9r
ZGUtY3ZzL2xpYiAtV2wsLS1ycGF0aCAtV2wsL29wdC9rZGUtY3ZzL2xpYiAtV2wsLS1ycGF0aCAt
V2wsL29wdC9xdC9saWIgLVdsLC0tcnBhdGggLVdsLC91c3IvWDExUjYvbGliKSIKK3JlbGlua19j
b21tYW5kPSIoY2QgL2hvbWUvYnZnL2Rldi9rZGVnYW1lcy9rZGVnYW1lcy9rbWFoam9uZ2c7IHsg
dGVzdCAteiBcIlwke0xJQlJBUllfUEFUSCtzZXR9XCIgfHwgdW5zZXQgTElCUkFSWV9QQVRIIHx8
IHsgTElCUkFSWV9QQVRIPTsgZXhwb3J0IExJQlJBUllfUEFUSDsgfTsgfTsgeyB0ZXN0IC16IFwi
XCR7Q09NUElMRVJfUEFUSCtzZXR9XCIgfHwgdW5zZXQgQ09NUElMRVJfUEFUSCB8fCB7IENPTVBJ
TEVSX1BBVEg9OyBleHBvcnQgQ09NUElMRVJfUEFUSDsgfTsgfTsgeyB0ZXN0IC16IFwiXCR7R0ND
X0VYRUNfUFJFRklYK3NldH1cIiB8fCB1bnNldCBHQ0NfRVhFQ19QUkVGSVggfHwgeyBHQ0NfRVhF
Q19QUkVGSVg9OyBleHBvcnQgR0NDX0VYRUNfUFJFRklYOyB9OyB9OyB7IHRlc3QgLXogXCJcJHtM
RF9SVU5fUEFUSCtzZXR9XCIgfHwgdW5zZXQgTERfUlVOX1BBVEggfHwgeyBMRF9SVU5fUEFUSD07
IGV4cG9ydCBMRF9SVU5fUEFUSDsgfTsgfTsgTERfTElCUkFSWV9QQVRIPVwiL3Vzci9sb2NhbC9s
aWI6L29wdC9xdC9saWI6L29wdC9nbm9tZS9saWI6XCI7IGV4cG9ydCBMRF9MSUJSQVJZX1BBVEg7
IFBBVEg9XCIvYmluOi91c3IvYmluOi91c3IvbG9jYWwvYmluOi9vcHQvYmluOi9vcHQvcXQvYmlu
Oi91c3IvWDExUjYvYmluOi9vcHQva2RlL2Jpbjovb3B0L2pkay0xLjQvYmluOi9vcHQvZ25vbWUv
YmluOi9vcHQvYmluOi9vcHQvd20vYmluXCI7IGV4cG9ydCBQQVRIOyBnKysgLVdub24tdmlydHVh
bC1kdG9yIC1Xbm8tbG9uZy1sb25nIC1XdW5kZWYgLVdhbGwgLXBlZGFudGljIC1XIC1XcG9pbnRl
ci1hcml0aCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3dyaXRlLXN0cmluZ3MgLWFuc2kgLURfWE9Q
RU5fU09VUkNFPTUwMCAtRF9CU0RfU09VUkNFIC1XY2FzdC1hbGlnbiAtV2NvbnZlcnNpb24gLURO
REVCVUcgLUROT19ERUJVRyAtTzIgLWZuby1leGNlcHRpb25zIC1mbm8tY2hlY2stbmV3IC1mbm8t
Y29tbW9uIC1EUVRfQ0xFQU5fTkFNRVNQQUNFIC1EUVRfTk9fQ09NUEFUIC1EUVRfTk9fQVNDSUlf
Q0FTVCAtbyBcJHByb2dkaXIvXCRmaWxlIGttYWhqb25nZy5vIFRpbGVzZXQubyBCb2FyZExheW91
dC5vIEdhbWVUaW1lci5vIFByZWZlcmVuY2VzLm8gQmFja2dyb3VuZC5vIFByZWZzRGxnLm8gUHJl
dmlldy5vIEVkaXRvci5vIEhpZ2hTY29yZS5vIFByb2dyZXNzLm8gIC1ML3Vzci9YMTFSNi9saWIg
LUwvb3B0L3F0L2xpYiAtTC9vcHQva2RlLWN2cy9saWIgLi4vbGlia2RlZ2FtZXMvLmxpYnMvbGli
a2RlZ2FtZXMuc28gLUwvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMiAtTC91
c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4yLy4uLy4uLy4uIC1ML3Vzci9zcmMv
M2J4L2djYy9nY2MtYnVpbGQvaTY4Ni1wYy1saW51eC1nbnUvbGlic3RkYysrLXYzL3NyYyAtTC91
c3Ivc3JjLzNieC9nY2MvZ2NjLWJ1aWxkL2k2ODYtcGMtbGludXgtZ251L2xpYnN0ZGMrKy12My9z
cmMvLmxpYnMgLUwvdXNyL3NyYy8zYngvZ2NjL2djYy1idWlsZC9nY2MgL29wdC9rZGUtY3ZzL2xp
Yi9saWJraW8uc28gL29wdC9rZGUtY3ZzL2xpYi9saWJrZGV1aS5zbyAvb3B0L2tkZS1jdnMvbGli
L2xpYmtkZXN1LnNvIC9vcHQva2RlLWN2cy9saWIvbGlia2RlY29yZS5zbyAvb3B0L2tkZS1jdnMv
bGliL2xpYkRDT1Auc28gLWxkbCAvb3B0L2tkZS1jdnMvbGliL2xpYmtkZWZ4LnNvIC1scXQtbXQg
LWxwbmcgLWxYZXh0IC1sWDExIC1sU00gLWxJQ0UgLWxwdGhyZWFkIC1sWHJlbmRlciAtbHV0aWwg
LWx6IC91c3IvbGliL2xpYnN0ZGMrKy5zbyAtbG0gLWxjIC1sZ2NjX3MgLVdsLC0tcnBhdGggLVds
LC9ob21lL2J2Zy9kZXYva2RlZ2FtZXMva2RlZ2FtZXMvbGlia2RlZ2FtZXMvLmxpYnMgLVdsLC0t
cnBhdGggLVdsLC9vcHQva2RlLWN2cy9saWIgLVdsLC0tcnBhdGggLVdsLC9vcHQva2RlLWN2cy9s
aWIgLVdsLC0tcnBhdGggLVdsLC9vcHQvcXQvbGliIC1XbCwtLXJwYXRoIC1XbCwvdXNyL1gxMVI2
L2xpYikiCiAKICMgVGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBkZXRlcm1pbmVzIG91ciBvcGVy
YXRpb24gbW9kZS4KIGlmIHRlc3QgIiRsaWJ0b29sX2luc3RhbGxfbWFnaWMiID0gIiUlJU1BR0lD
IHZhcmlhYmxlJSUlIjsgdGhlbgpkaWZmIC1OYXVyIC1YIGRvbnRkaWZmIGtkZWdhbWVzLWN2cy9r
bWFoam9uZ2cva21haGpvbmdnLmNwcCBrZGVnYW1lcy1kZXYva21haGpvbmdnL2ttYWhqb25nZy5j
cHAKLS0tIGtkZWdhbWVzLWN2cy9rbWFoam9uZ2cva21haGpvbmdnLmNwcAkyMDAyLTEyLTA2IDE1
OjA3OjAwLjAwMDAwMDAwMCArMDEwMAorKysga2RlZ2FtZXMtZGV2L2ttYWhqb25nZy9rbWFoam9u
Z2cuY3BwCTIwMDMtMDEtMDggMjM6MzI6MzAuMDAwMDAwMDAwICswMTAwCkBAIC0xNzEsOCArMTcx
LDggQEAKICAgICBjb25uZWN0KCBidywgU0lHTkFMKCBtZXNzYWdlKGNvbnN0IFFTdHJpbmcmKSAp
LAogICAgICAgICAgICAgICAgICBTTE9UKCBzaG93TWVzc2FnZShjb25zdCBRU3RyaW5nJikgKSAp
OwogCi0gICAgY29ubmVjdCggYncsIFNJR05BTCggdGlsZU51bWJlckNoYW5nZWQoaW50LGludCkg
KSwKLSAgICAgICAgICAgICAgICAgU0xPVCggc2hvd1RpbGVOdW1iZXIoaW50LGludCkgKSApOwor
ICAgIGNvbm5lY3QoIGJ3LCBTSUdOQUwoIHRpbGVOdW1iZXJDaGFuZ2VkKGludCxpbnQsaW50KSAp
LAorICAgICAgICAgICAgICAgICBTTE9UKCBzaG93VGlsZU51bWJlcihpbnQsaW50LGludCkgKSAp
OwogCiAgICAgY29ubmVjdCggYncsIFNJR05BTCggZGVtb01vZGVDaGFuZ2VkKGJvb2wpICksCiAg
ICAgICAgICAgICAgICAgIFNMT1QoIGRlbW9Nb2RlQ2hhbmdlZChib29sKSApICk7CkBAIC01NTcs
MTEgKzU1NywxMSBAQAogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXZvaWQgS01haGpvbmdnV2lkZ2V0OjpzaG93VGlsZU51
bWJlciggaW50IGlNYXhpbXVtLCBpbnQgaUN1cnJlbnQgKQordm9pZCBLTWFoam9uZ2dXaWRnZXQ6
OnNob3dUaWxlTnVtYmVyKCBpbnQgaU1heGltdW0sIGludCBpQ3VycmVudCwgaW50IGlMZWZ0ICkK
IHsKICAgICAvLyBIbW0uLi4gc2VlbXMgaUN1cnJlbnQgaXMgdGhlIG51bWJlciBvZiByZW1haW5p
bmcgdGlsZXMsIG5vdCByZW1vdmVkIC4uLgogICAgIC8vUVN0cmluZyBzekJ1ZmZlciA9IGkxOG4o
IlJlbW92ZWQ6ICUxLyUyIikuYXJnKGlDdXJyZW50KS5hcmcoaU1heGltdW0pOwotICAgIFFTdHJp
bmcgc3pCdWZmZXIgPSBpMThuKCJSZW1vdmVkOiAlMS8lMiIpLmFyZyhpTWF4aW11bS1pQ3VycmVu
dCkuYXJnKGlNYXhpbXVtKTsKKyAgICBRU3RyaW5nIHN6QnVmZmVyID0gaTE4bigiUmVtb3ZlZDog
JTEvJTIgIFBhaXJzIGxlZnQ6ICUzIikuYXJnKGlNYXhpbXVtLWlDdXJyZW50KS5hcmcoaU1heGlt
dW0pLmFyZyhpTGVmdCk7CiAgICAgdGlsZXNMZWZ0TGFiZWwtPnNldFRleHQoc3pCdWZmZXIpOwog
CiAgICAgLy8gVXBkYXRlIGhlcmUgc2luY2UgdW5kbyBhbGxvdyBpcyBlZmZlY3RlZCBieSBkZW1v
IG1vZGUKQEAgLTIxMDcsNiArMjEwNyw2MyBAQAogICAgICAgICByZXR1cm4oIGZhbHNlICk7CiB9
CiAKK2ludCBCb2FyZFdpZGdldDo6bW92ZUNvdW50KCApCit7CisgICAgc2hvcnQgUG9zX0VuZGUg
PSBHYW1lLk1heFRpbGVOdW07ICAvLyBFbmRlIGRlciBQb3NUYWJsZQorCisgICAgZm9yKCBzaG9y
dCBFPTA7IEU8Qm9hcmRMYXlvdXQ6OmRlcHRoOyBFKysgKQorICAgIHsKKyAgICAgICAgZm9yKCBz
aG9ydCBZPTA7IFk8Qm9hcmRMYXlvdXQ6OmhlaWdodC0xOyBZKysgKQorICAgICAgICB7CisgICAg
ICAgICAgICBmb3IoIHNob3J0IFg9MDsgWDxCb2FyZExheW91dDo6d2lkdGgtMTsgWCsrICkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiggR2FtZS5NYXNrW0VdW1ldW1hdICE9IChV
Q0hBUikgJzEnICkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAg
ICAgaWYoICEgR2FtZS5Cb2FyZFtFXVtZXVtYXSApCisgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAgICAgICAgIGlmKCBFIDwgNCApCisgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICBpZiggR2FtZS5Cb2FyZFtFKzFdW1ldW1hdIHx8IEdhbWUuQm9hcmRb
RSsxXVtZKzFdW1hdIHx8CisgICAgICAgICAgICAgICAgICAgICAgICBHYW1lLkJvYXJkW0UrMV1b
WV1bWCsxXSB8fCBHYW1lLkJvYXJkW0UrMV1bWSsxXVtYKzFdICkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZigg
KEdhbWUuQm9hcmRbRV1bWV1bWC0xXSB8fCBHYW1lLkJvYXJkW0VdW1krMV1bWC0xXSkgJiYKKyAg
ICAgICAgICAgICAgICAgICAgKEdhbWUuQm9hcmRbRV1bWV1bWCsyXSB8fCBHYW1lLkJvYXJkW0Vd
W1krMV1bWCsyXSkgKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAg
ICAgICAgIFBvc19FbmRlLS07CisgICAgICAgICAgICAgICAgUG9zVGFibGVbUG9zX0VuZGVdLmUg
PSBFOworICAgICAgICAgICAgICAgIFBvc1RhYmxlW1Bvc19FbmRlXS55ID0gWTsKKyAgICAgICAg
ICAgICAgICBQb3NUYWJsZVtQb3NfRW5kZV0ueCA9IFg7CisgICAgICAgICAgICAgICAgUG9zVGFi
bGVbUG9zX0VuZGVdLmYgPSBHYW1lLkJvYXJkW0VdW1ldW1hdOworCisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBpUG9zQ291bnQgPSAwOyAgLy8gSGllciBBbnphaGwgZGVy
IGdlZnVuZGVuIFBhYXJlIG1lcmtlbgorCisgICAgd2hpbGUoIFBvc19FbmRlIDwgR2FtZS5NYXhU
aWxlTnVtLTEgJiYgaVBvc0NvdW50IDxCb2FyZExheW91dDo6bWF4VGlsZXMtMikKKyAgICB7Cisg
ICAgICAgIGZvciggc2hvcnQgUG9zID0gUG9zX0VuZGUrMTsgUG9zIDwgR2FtZS5NYXhUaWxlTnVt
OyBQb3MrKykKKyAgICAgICAgeworICAgICAgICAgICAgaWYoIGlzTWF0Y2hpbmdUaWxlKFBvc1Rh
YmxlW1Bvc10sIFBvc1RhYmxlW1Bvc19FbmRlXSkgKQorICAgICAgICAgICAgeworCQlpZiAoaVBv
c0NvdW50IDxCb2FyZExheW91dDo6bWF4VGlsZXMtMikgeworICAgICAgICAgICAgICAgIAlQb3NU
YWJsZVtpUG9zQ291bnQrK10gPSBQb3NUYWJsZVtQb3NfRW5kZV07CisgICAgICAgICAgICAgICAg
CVBvc1RhYmxlW2lQb3NDb3VudCsrXSA9IFBvc1RhYmxlW1Bvc107CisJCX0KKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgICAgICBQb3NfRW5kZSsrOworICAgIH0KKworICAgIHJldHVybiBp
UG9zQ291bnQvMjsKK30KKworCisKKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzaG9ydCBCb2FyZFdpZGdldDo6ZmluZEFsbE1h
dGNoaW5nVGlsZXMoIFBPU0lUSU9OJiBwb3NBICkKIHsKQEAgLTI0MDgsNyArMjQ2NSw3IEBACiAv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIHZvaWQgQm9hcmRXaWRnZXQ6OmRyYXdUaWxlTnVtYmVyKCkKIHsKLSAgICBlbWl0IHRpbGVO
dW1iZXJDaGFuZ2VkKCBHYW1lLk1heFRpbGVOdW0sIEdhbWUuVGlsZU51bSApOworICAgIGVtaXQg
dGlsZU51bWJlckNoYW5nZWQoIEdhbWUuTWF4VGlsZU51bSwgR2FtZS5UaWxlTnVtLCBtb3ZlQ291
bnQoICkgKTsKIH0KIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLU5hdXIgLVggZG9udGRpZmYga2RlZ2FtZXMtY3ZzL2tt
YWhqb25nZy9rbWFoam9uZ2cuaCBrZGVnYW1lcy1kZXYva21haGpvbmdnL2ttYWhqb25nZy5oCi0t
LSBrZGVnYW1lcy1jdnMva21haGpvbmdnL2ttYWhqb25nZy5oCTIwMDItMDctMDggMTE6MDY6MTMu
MDAwMDAwMDAwICswMjAwCisrKyBrZGVnYW1lcy1kZXYva21haGpvbmdnL2ttYWhqb25nZy5oCTIw
MDMtMDEtMDggMjM6Mjk6MjkuMDAwMDAwMDAwICswMTAwCkBAIC0xNjQsNyArMTY0LDcgQEAKICAg
ICBzaWduYWxzOgogICAgICAgICB2b2lkIHN0YXR1c1RleHRDaGFuZ2VkICggY29uc3QgUVN0cmlu
ZyYsIGxvbmcgKTsKICAgICAgICAgdm9pZCBtZXNzYWdlICAgICAgICAgICAoIGNvbnN0IFFTdHJp
bmcmICk7Ci0gICAgICAgIHZvaWQgdGlsZU51bWJlckNoYW5nZWQgKCBpbnQgaU1heGltdW0sIGlu
dCBpQ3VycmVudCApOworICAgICAgICB2b2lkIHRpbGVOdW1iZXJDaGFuZ2VkICggaW50IGlNYXhp
bXVtLCBpbnQgaUN1cnJlbnQsIGludCBpTGVmdCApOwogICAgICAgICB2b2lkIGRlbW9Nb2RlQ2hh
bmdlZCAgICggYm9vbCBiQWN0aXZlICk7CiAKIAl2b2lkIGdhbWVDYWxjdWxhdGVkKHZvaWQpOwpA
QCAtMTkzLDYgKzE5Myw3IEBACiAgICAgICAgIGJvb2wgaXNNYXRjaGluZ1RpbGUoIFBPU0lUSU9O
JiwgUE9TSVRJT04mICk7CiAgICAgICAgIGJvb2wgZ2VuZXJhdGVTdGFydFBvc2l0aW9uMigpOwog
ICAgICAgICBib29sIGZpbmRNb3ZlKCBQT1NJVElPTiYsIFBPU0lUSU9OJiApOworICAgICAgICBp
bnQgIG1vdmVDb3VudCggKTsKICAgICAgICAgc2hvcnQgZmluZEFsbE1hdGNoaW5nVGlsZXMoIFBP
U0lUSU9OJiApOwogICAgICAgICB2b2lkIHN0b3BNYXRjaEFuaW1hdGlvbigpOwogCXZvaWQgc3Rh
Y2tUaWxlcyh1bnNpZ25lZCBjaGFyIHQsIHVuc2lnbmVkIHNob3J0IGgsIHVuc2lnbmVkIHNob3J0
IHgsdW5zaWduZWQgIHNob3J0IHkpOwpAQCAtMjk4LDcgKzI5OSw3IEBACiAgICAgICAgIHZvaWQg
c3RhcnROZXdHYW1lKCBpbnQgbnVtID0gLTEgKTsKICAgICAgICAgdm9pZCBzaG93U3RhdHVzVGV4
dCAoIGNvbnN0IFFTdHJpbmcmICwgbG9uZyk7CiAgICAgICAgIHZvaWQgc2hvd01lc3NhZ2UgICAg
KCBjb25zdCBRU3RyaW5nJiApOwotICAgICAgICB2b2lkIHNob3dUaWxlTnVtYmVyKCBpbnQgaU1h
eGltdW0sIGludCBpQ3VycmVudCApOworICAgICAgICB2b2lkIHNob3dUaWxlTnVtYmVyKCBpbnQg
aU1heGltdW0sIGludCBpQ3VycmVudCwgaW50IGlMZWZ0ICk7CiAgICAgICAgIHZvaWQgZGVtb01v
ZGVDaGFuZ2VkKCBib29sIGJBY3RpdmUgKTsKIAkJdm9pZCBnYW1lT3ZlciggdW5zaWduZWQgc2hv
cnQgcmVtb3ZlZCwgdW5zaWduZWQgc2hvcnQgY2hlYXRzKTsKICAJdm9pZCBzdGF0dXNCYXJNb2Rl
KGludCBvbk9mZik7CmRpZmYgLU5hdXIgLVggZG9udGRpZmYga2RlZ2FtZXMtY3ZzL2ttYWhqb25n
Zy9rbWFoam9uZ2cubW9jIGtkZWdhbWVzLWRldi9rbWFoam9uZ2cva21haGpvbmdnLm1vYwotLS0g
a2RlZ2FtZXMtY3ZzL2ttYWhqb25nZy9rbWFoam9uZ2cubW9jCTIwMDMtMDEtMDggMTM6MjA6NTku
MDAwMDAwMDAwICswMTAwCisrKyBrZGVnYW1lcy1kZXYva21haGpvbmdnL2ttYWhqb25nZy5tb2MJ
MjAwMy0wMS0wOCAyMzoyOTozMy4wMDAwMDAwMDAgKzAxMDAKQEAgLTEsNyArMSw3IEBACiAvKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgogKiogQm9hcmRXaWRnZXQgbWV0YSBvYmplY3QgY29kZSBmcm9tIHJl
YWRpbmcgQysrIGZpbGUgJ2ttYWhqb25nZy5oJwogKioKLSoqIENyZWF0ZWQ6IFdlZCBKYW4gOCAx
MzoyMDo1OSAyMDAzCisqKiBDcmVhdGVkOiBXZWQgSmFuIDggMjM6Mjk6MzMgMjAwMwogKiogICAg
ICBieTogVGhlIFF0IE1PQyAoJElkOiBxdC9tb2NfeWFjYy5jcHAgICAzLjEuMSAgIGVkaXRlZCBE
ZWMgOSAxMDo0MCAkKQogKioKICoqIFdBUk5JTkchIEFsbCBjaGFuZ2VzIG1hZGUgaW4gdGhpcyBm
aWxlIHdpbGwgYmUgbG9zdCEKQEAgLTExNiw5ICsxMTYsMTAgQEAKICAgICBzdGF0aWMgY29uc3Qg
UVVNZXRob2Qgc2lnbmFsXzEgPSB7Im1lc3NhZ2UiLCAxLCBwYXJhbV9zaWduYWxfMSB9OwogICAg
IHN0YXRpYyBjb25zdCBRVVBhcmFtZXRlciBwYXJhbV9zaWduYWxfMltdID0gewogCXsgImlNYXhp
bXVtIiwgJnN0YXRpY19RVVR5cGVfaW50LCAwLCBRVVBhcmFtZXRlcjo6SW4gfSwKLQl7ICJpQ3Vy
cmVudCIsICZzdGF0aWNfUVVUeXBlX2ludCwgMCwgUVVQYXJhbWV0ZXI6OkluIH0KKwl7ICJpQ3Vy
cmVudCIsICZzdGF0aWNfUVVUeXBlX2ludCwgMCwgUVVQYXJhbWV0ZXI6OkluIH0sCisJeyAiaUxl
ZnQiLCAmc3RhdGljX1FVVHlwZV9pbnQsIDAsIFFVUGFyYW1ldGVyOjpJbiB9CiAgICAgfTsKLSAg
ICBzdGF0aWMgY29uc3QgUVVNZXRob2Qgc2lnbmFsXzIgPSB7InRpbGVOdW1iZXJDaGFuZ2VkIiwg
MiwgcGFyYW1fc2lnbmFsXzIgfTsKKyAgICBzdGF0aWMgY29uc3QgUVVNZXRob2Qgc2lnbmFsXzIg
PSB7InRpbGVOdW1iZXJDaGFuZ2VkIiwgMywgcGFyYW1fc2lnbmFsXzIgfTsKICAgICBzdGF0aWMg
Y29uc3QgUVVQYXJhbWV0ZXIgcGFyYW1fc2lnbmFsXzNbXSA9IHsKIAl7ICJiQWN0aXZlIiwgJnN0
YXRpY19RVVR5cGVfYm9vbCwgMCwgUVVQYXJhbWV0ZXI6OkluIH0KICAgICB9OwpAQCAtMTMyLDcg
KzEzMyw3IEBACiAgICAgc3RhdGljIGNvbnN0IFFNZXRhRGF0YSBzaWduYWxfdGJsW10gPSB7CiAJ
eyAic3RhdHVzVGV4dENoYW5nZWQoY29uc3QgUVN0cmluZyYsbG9uZykiLCAmc2lnbmFsXzAsIFFN
ZXRhRGF0YTo6UHVibGljIH0sCiAJeyAibWVzc2FnZShjb25zdCBRU3RyaW5nJikiLCAmc2lnbmFs
XzEsIFFNZXRhRGF0YTo6UHVibGljIH0sCi0JeyAidGlsZU51bWJlckNoYW5nZWQoaW50LGludCki
LCAmc2lnbmFsXzIsIFFNZXRhRGF0YTo6UHVibGljIH0sCisJeyAidGlsZU51bWJlckNoYW5nZWQo
aW50LGludCxpbnQpIiwgJnNpZ25hbF8yLCBRTWV0YURhdGE6OlB1YmxpYyB9LAogCXsgImRlbW9N
b2RlQ2hhbmdlZChib29sKSIsICZzaWduYWxfMywgUU1ldGFEYXRhOjpQdWJsaWMgfSwKIAl7ICJn
YW1lQ2FsY3VsYXRlZCgpIiwgJnNpZ25hbF80LCBRTWV0YURhdGE6OlB1YmxpYyB9LAogCXsgImdh
bWVPdmVyKHVuc2lnbmVkIHNob3J0LHVuc2lnbmVkIHNob3J0KSIsICZzaWduYWxfNSwgUU1ldGFE
YXRhOjpQdWJsaWMgfQpAQCAtMTgxLDE2ICsxODIsMTcgQEAKIH0KIAogLy8gU0lHTkFMIHRpbGVO
dW1iZXJDaGFuZ2VkCi12b2lkIEJvYXJkV2lkZ2V0Ojp0aWxlTnVtYmVyQ2hhbmdlZCggaW50IHQw
LCBpbnQgdDEgKQordm9pZCBCb2FyZFdpZGdldDo6dGlsZU51bWJlckNoYW5nZWQoIGludCB0MCwg
aW50IHQxLCBpbnQgdDIgKQogewogICAgIGlmICggc2lnbmFsc0Jsb2NrZWQoKSApCiAJcmV0dXJu
OwogICAgIFFDb25uZWN0aW9uTGlzdCAqY2xpc3QgPSByZWNlaXZlcnMoIHN0YXRpY01ldGFPYmpl
Y3QoKS0+c2lnbmFsT2Zmc2V0KCkgKyAyICk7CiAgICAgaWYgKCAhY2xpc3QgKQogCXJldHVybjsK
LSAgICBRVU9iamVjdCBvWzNdOworICAgIFFVT2JqZWN0IG9bNF07CiAgICAgc3RhdGljX1FVVHlw
ZV9pbnQuc2V0KG8rMSx0MCk7CiAgICAgc3RhdGljX1FVVHlwZV9pbnQuc2V0KG8rMix0MSk7Cisg
ICAgc3RhdGljX1FVVHlwZV9pbnQuc2V0KG8rMyx0Mik7CiAgICAgYWN0aXZhdGVfc2lnbmFsKCBj
bGlzdCwgbyApOwogfQogCkBAIC0yNDgsNyArMjUwLDcgQEAKICAgICBzd2l0Y2ggKCBfaWQgLSBz
dGF0aWNNZXRhT2JqZWN0KCktPnNpZ25hbE9mZnNldCgpICkgewogICAgIGNhc2UgMDogc3RhdHVz
VGV4dENoYW5nZWQoKGNvbnN0IFFTdHJpbmcmKXN0YXRpY19RVVR5cGVfUVN0cmluZy5nZXQoX28r
MSksKGxvbmcpKCooKGxvbmcqKXN0YXRpY19RVVR5cGVfcHRyLmdldChfbysyKSkpKTsgYnJlYWs7
CiAgICAgY2FzZSAxOiBtZXNzYWdlKChjb25zdCBRU3RyaW5nJilzdGF0aWNfUVVUeXBlX1FTdHJp
bmcuZ2V0KF9vKzEpKTsgYnJlYWs7Ci0gICAgY2FzZSAyOiB0aWxlTnVtYmVyQ2hhbmdlZCgoaW50
KXN0YXRpY19RVVR5cGVfaW50LmdldChfbysxKSwoaW50KXN0YXRpY19RVVR5cGVfaW50LmdldChf
bysyKSk7IGJyZWFrOworICAgIGNhc2UgMjogdGlsZU51bWJlckNoYW5nZWQoKGludClzdGF0aWNf
UVVUeXBlX2ludC5nZXQoX28rMSksKGludClzdGF0aWNfUVVUeXBlX2ludC5nZXQoX28rMiksKGlu
dClzdGF0aWNfUVVUeXBlX2ludC5nZXQoX28rMykpOyBicmVhazsKICAgICBjYXNlIDM6IGRlbW9N
b2RlQ2hhbmdlZCgoYm9vbClzdGF0aWNfUVVUeXBlX2Jvb2wuZ2V0KF9vKzEpKTsgYnJlYWs7CiAg
ICAgY2FzZSA0OiBnYW1lQ2FsY3VsYXRlZCgpOyBicmVhazsKICAgICBjYXNlIDU6IGdhbWVPdmVy
KCh1bnNpZ25lZCBzaG9ydCkoKigodW5zaWduZWQgc2hvcnQqKXN0YXRpY19RVVR5cGVfcHRyLmdl
dChfbysxKSkpLCh1bnNpZ25lZCBzaG9ydCkoKigodW5zaWduZWQgc2hvcnQqKXN0YXRpY19RVVR5
cGVfcHRyLmdldChfbysyKSkpKTsgYnJlYWs7CkBAIC0zMTcsOSArMzE5LDEwIEBACiAgICAgc3Rh
dGljIGNvbnN0IFFVTWV0aG9kIHNsb3RfMyA9IHsic2hvd01lc3NhZ2UiLCAxLCBwYXJhbV9zbG90
XzMgfTsKICAgICBzdGF0aWMgY29uc3QgUVVQYXJhbWV0ZXIgcGFyYW1fc2xvdF80W10gPSB7CiAJ
eyAiaU1heGltdW0iLCAmc3RhdGljX1FVVHlwZV9pbnQsIDAsIFFVUGFyYW1ldGVyOjpJbiB9LAot
CXsgImlDdXJyZW50IiwgJnN0YXRpY19RVVR5cGVfaW50LCAwLCBRVVBhcmFtZXRlcjo6SW4gfQor
CXsgImlDdXJyZW50IiwgJnN0YXRpY19RVVR5cGVfaW50LCAwLCBRVVBhcmFtZXRlcjo6SW4gfSwK
Kwl7ICJpTGVmdCIsICZzdGF0aWNfUVVUeXBlX2ludCwgMCwgUVVQYXJhbWV0ZXI6OkluIH0KICAg
ICB9OwotICAgIHN0YXRpYyBjb25zdCBRVU1ldGhvZCBzbG90XzQgPSB7InNob3dUaWxlTnVtYmVy
IiwgMiwgcGFyYW1fc2xvdF80IH07CisgICAgc3RhdGljIGNvbnN0IFFVTWV0aG9kIHNsb3RfNCA9
IHsic2hvd1RpbGVOdW1iZXIiLCAzLCBwYXJhbV9zbG90XzQgfTsKICAgICBzdGF0aWMgY29uc3Qg
UVVQYXJhbWV0ZXIgcGFyYW1fc2xvdF81W10gPSB7CiAJeyAiYkFjdGl2ZSIsICZzdGF0aWNfUVVU
eXBlX2Jvb2wsIDAsIFFVUGFyYW1ldGVyOjpJbiB9CiAgICAgfTsKQEAgLTM2NCw3ICszNjcsNyBA
QAogCXsgInN0YXJ0TmV3R2FtZShpbnQpIiwgJnNsb3RfMSwgUU1ldGFEYXRhOjpQdWJsaWMgfSwK
IAl7ICJzaG93U3RhdHVzVGV4dChjb25zdCBRU3RyaW5nJixsb25nKSIsICZzbG90XzIsIFFNZXRh
RGF0YTo6UHVibGljIH0sCiAJeyAic2hvd01lc3NhZ2UoY29uc3QgUVN0cmluZyYpIiwgJnNsb3Rf
MywgUU1ldGFEYXRhOjpQdWJsaWMgfSwKLQl7ICJzaG93VGlsZU51bWJlcihpbnQsaW50KSIsICZz
bG90XzQsIFFNZXRhRGF0YTo6UHVibGljIH0sCisJeyAic2hvd1RpbGVOdW1iZXIoaW50LGludCxp
bnQpIiwgJnNsb3RfNCwgUU1ldGFEYXRhOjpQdWJsaWMgfSwKIAl7ICJkZW1vTW9kZUNoYW5nZWQo
Ym9vbCkiLCAmc2xvdF81LCBRTWV0YURhdGE6OlB1YmxpYyB9LAogCXsgImdhbWVPdmVyKHVuc2ln
bmVkIHNob3J0LHVuc2lnbmVkIHNob3J0KSIsICZzbG90XzYsIFFNZXRhRGF0YTo6UHVibGljIH0s
CiAJeyAic3RhdHVzQmFyTW9kZShpbnQpIiwgJnNsb3RfNywgUU1ldGFEYXRhOjpQdWJsaWMgfSwK
QEAgLTQxOSw3ICs0MjIsNyBAQAogICAgIGNhc2UgMTogc3RhcnROZXdHYW1lKChpbnQpc3RhdGlj
X1FVVHlwZV9pbnQuZ2V0KF9vKzEpKTsgYnJlYWs7CiAgICAgY2FzZSAyOiBzaG93U3RhdHVzVGV4
dCgoY29uc3QgUVN0cmluZyYpc3RhdGljX1FVVHlwZV9RU3RyaW5nLmdldChfbysxKSwobG9uZyko
KigobG9uZyopc3RhdGljX1FVVHlwZV9wdHIuZ2V0KF9vKzIpKSkpOyBicmVhazsKICAgICBjYXNl
IDM6IHNob3dNZXNzYWdlKChjb25zdCBRU3RyaW5nJilzdGF0aWNfUVVUeXBlX1FTdHJpbmcuZ2V0
KF9vKzEpKTsgYnJlYWs7Ci0gICAgY2FzZSA0OiBzaG93VGlsZU51bWJlcigoaW50KXN0YXRpY19R
VVR5cGVfaW50LmdldChfbysxKSwoaW50KXN0YXRpY19RVVR5cGVfaW50LmdldChfbysyKSk7IGJy
ZWFrOworICAgIGNhc2UgNDogc2hvd1RpbGVOdW1iZXIoKGludClzdGF0aWNfUVVUeXBlX2ludC5n
ZXQoX28rMSksKGludClzdGF0aWNfUVVUeXBlX2ludC5nZXQoX28rMiksKGludClzdGF0aWNfUVVU
eXBlX2ludC5nZXQoX28rMykpOyBicmVhazsKICAgICBjYXNlIDU6IGRlbW9Nb2RlQ2hhbmdlZCgo
Ym9vbClzdGF0aWNfUVVUeXBlX2Jvb2wuZ2V0KF9vKzEpKTsgYnJlYWs7CiAgICAgY2FzZSA2OiBn
YW1lT3ZlcigodW5zaWduZWQgc2hvcnQpKCooKHVuc2lnbmVkIHNob3J0KilzdGF0aWNfUVVUeXBl
X3B0ci5nZXQoX28rMSkpKSwodW5zaWduZWQgc2hvcnQpKCooKHVuc2lnbmVkIHNob3J0KilzdGF0
aWNfUVVUeXBlX3B0ci5nZXQoX28rMikpKSk7IGJyZWFrOwogICAgIGNhc2UgNzogc3RhdHVzQmFy
TW9kZSgoaW50KXN0YXRpY19RVVR5cGVfaW50LmdldChfbysxKSk7IGJyZWFrOwo=

--Multipart_Sun__12_Jan_2003_18:27:35_+0000_08233670--