[Lcdproc] [Patch] Update contrib/patches/lcdprocserverOPT.diff
Peter McCurdy
peter.mccurdy@gmail.com
Mon Feb 26 18:29:01 2007
------=_Part_72348_17363185.1172514501528
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
I needed to use the contrib/patches/lcdprocserverOPT.diff patch for a
project I'm working on, and I've made a few fixes to it. Summary of
the changes:
* Now applies to lcdproc-0.5.1.
* The patch was created from outside the lcdproc directory, making it
easier to apply.
* CFontz633 boot messages can use both lines of the display: if you
specify a message longer than 16 characters, the second line gets set
to characters 17+.
* Now doesn't display empty menus - if you disabled the default LCDd
server menu (one of the features of the patch), you could still enter
the menus, but it would crash if you pressed the right arrow. It also
looked pretty funny. I figured the safest and easiest thing to do was
just to not display a useless menu.
* Let the server menu name be configurable in the config file with the
[menu]menuentryname="Menu Name" option in LCDd.conf.
Hopefully this all makes sense. In fact, is there any reason why this
whole patch shouldn't be applied to the main LCDproc tree? I've
tested that it works well, and it doesn't change any default
behaviour.
Here's a diff of my changes. Unfortunately, this is a diff of changes
to a diff file, which is a bit difficult to read, but interdiff gets
confused by the changed level of the patch.
Thanks.
Peter.
------=_Part_72348_17363185.1172514501528
Content-Type: application/octet-stream; name=update-serveropts-diff.patch
Content-Transfer-Encoding: base64
X-Attachment-Id: f_eyn6wjql
Content-Disposition: attachment; filename="update-serveropts-diff.patch"
LS0tIGxjZHByb2MtMC41LjEtb3JpZy9jb250cmliL3BhdGNoZXMvbGNkcHJvY3NlcnZlck9QVC5k
aWZmCTIwMDYtMDUtMjEgMTY6MjY6MjAuMDAwMDAwMDAwIC0wNDAwCisrKyBsY2Rwcm9jLTAuNS4x
LXdvcmtpbmcvY29udHJpYi9wYXRjaGVzL2xjZHByb2NzZXJ2ZXJPUFQuZGlmZgkyMDA3LTAyLTI2
IDEyOjMwOjA4LjAwMDAwMDAwMCAtMDUwMApAQCAtMSw4ICsxLDggQEAKLWRpZmYgLS1leGNsdWRl
PScqLndhbmpldCcgLS1leGNsdWRlPScuPz8qJyAtLWV4Y2x1ZGU9Y29uZmlnLmggLS1leGNsdWRl
PScqLm9yaWcnIC0tZXhjbHVkZT1NYWtlZmlsZSAtLWV4Y2x1ZGU9JyoubycgLS1leGNsdWRlPURv
eHlmaWxlIC0tZXhjbHVkZT0nKi5hJyAtLWV4Y2x1ZGU9Y29uZmlnLmxvZyAtLWV4Y2x1ZGU9Y29u
ZmlnLnN0YXR1cyAtLWV4Y2x1ZGU9J2luaXQtKicgLU51YXJwIHNlcnZlci9kcml2ZXJzL0NGb250
ejYzMy5jIHNlcnZlci5PUFQvZHJpdmVycy9DRm9udHo2MzMuYwotLS0tIHNlcnZlci9kcml2ZXJz
L0NGb250ejYzMy5jCTIwMDYtMDEtMjYgMTk6NDc6NTkuMDAwMDAwMDAwIC0wODAwCi0rKysgc2Vy
dmVyLk9QVC9kcml2ZXJzL0NGb250ejYzMy5jCTIwMDYtMDItMjEgMTk6MzU6MjcuMDAwMDAwMDAw
IC0wODAwCi1AQCAtMTMxLDYgKzEzMSw5IEBAIHN0YXRpYyB2b2lkIENGb250ejYzM19pbml0X3Zi
YXIgKERyaXZlciAKLSBzdGF0aWMgdm9pZCBDRm9udHo2MzNfaW5pdF9oYmFyIChEcml2ZXIgKmRy
dnRoaXMpOworZGlmZiAtcnVOcCBsY2Rwcm9jLTAuNS4xLW9yaWcvc2VydmVyL2RyaXZlcnMvQ0Zv
bnR6NjMzLmMgbGNkcHJvYy0wLjUuMS13b3JraW5nL3NlcnZlci9kcml2ZXJzL0NGb250ejYzMy5j
CistLS0gbGNkcHJvYy0wLjUuMS1vcmlnL3NlcnZlci9kcml2ZXJzL0NGb250ejYzMy5jCTIwMDYt
MTAtMDYgMDM6MDI6NDcuMDAwMDAwMDAwIC0wNDAwCisrKysgbGNkcHJvYy0wLjUuMS13b3JraW5n
L3NlcnZlci9kcml2ZXJzL0NGb250ejYzMy5jCTIwMDctMDItMjMgMTE6NTU6MDUuMDAwMDAwMDAw
IC0wNTAwCitAQCAtMTI0LDYgKzEyNCw5IEBAIHN0YXRpYyB2b2lkIENGb250ejYzM19oaWRlY3Vy
c29yIChEcml2ZXIKKyBzdGF0aWMgdm9pZCBDRm9udHo2MzNfcmVib290IChEcml2ZXIgKmRydnRo
aXMpOwogIHN0YXRpYyB2b2lkIENGb250ejYzM19ub19saXZlX3JlcG9ydCAoRHJpdmVyICpkcnZ0
aGlzKTsKICBzdGF0aWMgdm9pZCBDRm9udHo2MzNfaGFyZHdhcmVfY2xlYXIgKERyaXZlciAqZHJ2
dGhpcyk7CiArI2lmbmRlZiBPUFQgLy9zdG9yZSBib290IHNjcmVlbgpAQCAtMTAsMjUgKzEwLDI4
IEBACiArI2VuZGlmIC8vT1BUCiAgCiAgCi0gLyoKLUBAIC0zMDUsNiArMzA4LDE2IEBAIENGb250
ejYzM19pbml0IChEcml2ZXIgKmRydnRoaXMpCi0gCUNGb250ejYzM19ub19saXZlX3JlcG9ydCAo
ZHJ2dGhpcyk7Ci0gCUNGb250ejYzM19oYXJkd2FyZV9jbGVhciAoZHJ2dGhpcyk7CisgLyoqCitA
QCAtMzAyLDYgKzMwNSwxOSBAQCBDRm9udHo2MzNfaW5pdCAoRHJpdmVyICpkcnZ0aGlzKQorIAlD
Rm9udHo2MzNfbm9fbGl2ZV9yZXBvcnQoZHJ2dGhpcyk7CisgCUNGb250ejYzM19oYXJkd2FyZV9j
bGVhcihkcnZ0aGlzKTsKICAKICsjaWZuZGVmIE9QVCAvL3N0b3JlIGJvb3Qgc2NyZWVuCiArCS8q
IGdldCBhbmQgc3RvcmUgdGhlIHBvd2VyIG9uIGJvb3QgbGluZSwgcmVwdXJwb3NpbmcgdGhlICJz
aXplIiBidWZmZXIgKi8KICsJc3RybmNweShzaXplLCBkcnZ0aGlzLT5jb25maWdfZ2V0X3N0cmlu
ZyAoZHJ2dGhpcy0+bmFtZSwgIkJvb3REaXNwbGF5IiwgMCwgIiIgKSwgc2l6ZW9mKHNpemUpKTsK
ICsJaWYgKCBzaXplWzBdICkgewogKwkJQ0ZvbnR6NjMzX3N0cmluZyAoZHJ2dGhpcywgMSwgMSwg
c2l6ZSk7CisrCQlpZiAoIHN0cmxlbihzaXplKSA+IHAtPndpZHRoICkgeworKwkJCUNGb250ejYz
M19zdHJpbmcgKGRydnRoaXMsIDEsIDIsIHNpemUgKyBwLT53aWR0aCk7CisrCQl9CiArCQlDRm9u
dHo2MzNfZmx1c2ggKGRydnRoaXMpOwogKwkJQ0ZvbnR6NjMzX3N0b3JlX2Jvb3Rfc3RhdGUgKGRy
dnRoaXMpOwogKwl9CiArI2VuZGlmIC8vT1BUCiArCi0gCXJlcG9ydCAoUlBUX0RFQlVHLCAiJXM6
IGRvbmVcbiIsIF9fRlVOQ1RJT05fXyk7CisgCXJlcG9ydChSUFRfREVCVUcsICIlczogaW5pdCgp
IGRvbmUiLCBkcnZ0aGlzLT5uYW1lKTsKICAKICAJcmV0dXJuIDA7Ci1AQCAtMTExOCwzICsxMTMx
LDE1IEBAIENGb250ejYzM19zdHJpbmcgKERyaXZlciAqZHJ2dGhpcywgaW50IHgKK0BAIC0xMDc2
LDMgKzEwOTIsMTUgQEAgQ0ZvbnR6NjMzX3N0cmluZyAoRHJpdmVyICpkcnZ0aGlzLCBpbnQgeAog
IAl9CiAgfQogIApAQCAtNDQsMzIgKzQ3LDQ4IEBACiArCXNlbmRfemVyb2J5dGVfbWVzc2FnZShw
LT5mZCwgQ0Y2MzNfU3RvcmVfQ3VycmVudF9TdGF0ZV9Bc19Cb290X1N0YXRlKTsKICt9CiArI2Vu
ZGlmIC8vT1BUCi1kaWZmIC0tZXhjbHVkZT0nKi53YW5qZXQnIC0tZXhjbHVkZT0nLj8/KicgLS1l
eGNsdWRlPWNvbmZpZy5oIC0tZXhjbHVkZT0nKi5vcmlnJyAtLWV4Y2x1ZGU9TWFrZWZpbGUgLS1l
eGNsdWRlPScqLm8nIC0tZXhjbHVkZT1Eb3h5ZmlsZSAtLWV4Y2x1ZGU9JyouYScgLS1leGNsdWRl
PWNvbmZpZy5sb2cgLS1leGNsdWRlPWNvbmZpZy5zdGF0dXMgLS1leGNsdWRlPSdpbml0LSonIC1O
dWFycCBzZXJ2ZXIvbWVudXNjcmVlbnMuYyBzZXJ2ZXIuT1BUL21lbnVzY3JlZW5zLmMKLS0tLSBz
ZXJ2ZXIvbWVudXNjcmVlbnMuYwkyMDA2LTAxLTI2IDE5OjQ3OjU5LjAwMDAwMDAwMCAtMDgwMAot
KysrIHNlcnZlci5PUFQvbWVudXNjcmVlbnMuYwkyMDA2LTAyLTIxIDE5OjMxOjAwLjAwMDAwMDAw
MCAtMDgwMAotQEAgLTQ4LDYgKzQ4LDkgQEAgY2hhciAqIGRvd25fa2V5OworZGlmZiAtcnVOcCBs
Y2Rwcm9jLTAuNS4xLW9yaWcvc2VydmVyL21lbnVzY3JlZW5zLmMgbGNkcHJvYy0wLjUuMS13b3Jr
aW5nL3NlcnZlci9tZW51c2NyZWVucy5jCistLS0gbGNkcHJvYy0wLjUuMS1vcmlnL3NlcnZlci9t
ZW51c2NyZWVucy5jCTIwMDYtMTAtMDYgMDM6MDI6NDcuMDAwMDAwMDAwIC0wNDAwCisrKysgbGNk
cHJvYy0wLjUuMS13b3JraW5nL3NlcnZlci9tZW51c2NyZWVucy5jCTIwMDctMDItMjYgMTE6NTc6
MzkuMDAwMDAwMDAwIC0wNTAwCitAQCAtNDgsNiArNDgsMTAgQEAgY2hhciAqIGRvd25fa2V5Owog
IGNoYXIgKiBsZWZ0X2tleTsKICBjaGFyICogcmlnaHRfa2V5OwogIAogKyNpZm5kZWYgT1BUCiAr
Y2hhciAqIG1lbnVuYW1lOwkJLyogdGhlIG5hbWUgZm9yIHRoZSBkZWZhdWx0IG1lbnUgKi8KKytj
aGFyICogbWVudWVudHJ5bmFtZTsJLyogdGhlIG5hbWUgZm9yIHRoZSBkZWZhdWx0IG1lbnUncyBl
bnRyeSAqLwogKyNlbmRpZiAvL09QVAogIFNjcmVlbiAqIG1lbnVzY3JlZW4gPSBOVUxMOwogIE1l
bnVJdGVtICogYWN0aXZlX21lbnVpdGVtID0gTlVMTDsKICAvKiogdGhlICJyZWFsIiBtYWluX21l
bnUgKi8KLUBAIC05MSw2ICs5NCwxMSBAQCBpbnQgbWVudXNjcmVlbnNfaW5pdCgpCitAQCAtOTEs
NiArOTUsMTEgQEAgaW50IG1lbnVzY3JlZW5zX2luaXQoKQogIAlpZiAodG1wKQogIAkJcmlnaHRf
a2V5ID0gc3RyZHVwKHRtcCk7Ci0gICAgIAorIAogKyNpZm5kZWYgT1BUIC8vZ2V0IG1haW4gbWVu
dSBuYW1lIGFuZCBoeWJyaWQga2V5cyBmcm9tIGNvbmZpZyBmaWxlCiArCS8qIEdldCBtYWluIG1l
bnUgbmFtZSBmcm9tIGNvbmZpZyBmaWxlICovCiArCW1lbnVuYW1lID0gc3RyZHVwIChjb25maWdf
Z2V0X3N0cmluZyAoIm1lbnUiLCAibWVudW5hbWUiLCAwLCAiTENEcHJvYyBNZW51IikpOworKwlt
ZW51ZW50cnluYW1lID0gc3RyZHVwIChjb25maWdfZ2V0X3N0cmluZyAoIm1lbnUiLCAibWVudWVu
dHJ5bmFtZSIsIDAsICJPcHRpb25zIikpOwogKyNlbmRpZiAvL09QVAotKwotICAgICAgICAgCisg
CiAgCS8qIE5vdyByZXNlcnZlIGtleXMgKi8KICAJaW5wdXRfcmVzZXJ2ZV9rZXkgKG1lbnVfa2V5
LCB0cnVlLCBOVUxMKTsKLUBAIC00MzcsNTUgKzQ0NSw2MiBAQCB2b2lkIG1lbnVzY3JlZW5fY3Jl
YXRlX21lbnUgKCkKK0BAIC0zODcsNyArMzk2LDEzIEBAIHZvaWQgbWVudXNjcmVlbl9rZXlfaGFu
ZGxlciAoY29uc3QgY2hhciAKKyAJLyogSXMgdGhlIG1lbnUgYWxyZWFkeSBhY3RpdmUgPyAqLwor
IAlpZiAoIWFjdGl2ZV9tZW51aXRlbSkgeworIAkJZGVidWcgKFJQVF9ERUJVRywgIiVzOiBBY3Rp
dmF0aW5nIG1lbnUgc2NyZWVuIiwgX19GVU5DVElPTl9fKTsKKy0JCW1lbnVzY3JlZW5fc3dpdGNo
X2l0ZW0obWVudXNjcmVlbl9nZXRfbWFpbigpKTsKKysJCU1lbnUgKm1haW4gPSBtZW51c2NyZWVu
X2dldF9tYWluKCk7CisrCQkvKiBEb24ndCBkaXNwbGF5IGFuIGVtcHR5IG1lbnUgKi8KKysJCWlm
ICghbWFpbiB8fCAhTExfR2V0KG1haW4tPmRhdGEubWVudS5jb250ZW50cykpIHsKKysJCQlkZWJ1
ZyAoUlBUX0RFQlVHLCAiJXM6IElnbm9yaW5nIGVtcHR5IG1lbnUiLCBfX0ZVTkNUSU9OX18pOwor
KwkJCXJldHVybjsKKysJCX0KKysJCW1lbnVzY3JlZW5fc3dpdGNoX2l0ZW0obWFpbik7CisgCQly
ZXR1cm47CisgCX0KKyAKK0BAIC00MzcsNTUgKzQ1Miw2MiBAQCB2b2lkIG1lbnVzY3JlZW5fY3Jl
YXRlX21lbnUgKCkKICAKICAJZGVidWcgKFJQVF9ERUJVRywgIiVzKCkiLCBfX0ZVTkNUSU9OX18p
OwogIApAQCAtOTQsOSArMTEzLDIxIEBACiAtCS8qIG1lbnUncyBjbGllbnQgaXMgTlVMTCBzaW5j
ZSB3ZSdyZSBpbiB0aGUgc2VydmVyICovCiAtCWNoZWNrYm94ID0gbWVudWl0ZW1fY3JlYXRlX2No
ZWNrYm94ICgiYmFja2xpZ2h0IiwgYmFja2xpZ2h0X2hhbmRsZXIsICJCYWNrbGlnaHQiLCBOVUxM
LCB0cnVlLCBiYWNrbGlnaHQpOwogLQltZW51X2FkZF9pdGVtIChvcHRpb25zX21lbnUsIGNoZWNr
Ym94KTsKLSsjaWZuZGVmIE9QVCAvL09wdGlvbnMgbWVudSBkaXNwbGF5IGZyb20gY29uZmlnIGZp
bGUKKy0KKy0JZm9yIChkcml2ZXIgPSBkcml2ZXJzX2dldGZpcnN0KCk7IGRyaXZlcjsgZHJpdmVy
ID0gZHJpdmVyc19nZXRuZXh0KCkpIHsKKy0JCWludCBjb250cmFzdF9hdmFpbCA9IChkcml2ZXIt
PmdldF9jb250cmFzdCAmJiBkcml2ZXItPnNldF9jb250cmFzdCkgPyAxIDogMDsKKy0JCWludCBi
cmlnaHRuZXNzX2F2YWlsID0gKGRyaXZlci0+Z2V0X2JyaWdodG5lc3MgJiYgZHJpdmVyLT5zZXRf
YnJpZ2h0bmVzcykgPyAxIDogMDsKKy0KKy0JCWlmIChjb250cmFzdF9hdmFpbCB8fCBicmlnaHRu
ZXNzX2F2YWlsKSB7CistCQkJLyogbWVudSdzIGNsaWVudCBpcyBOVUxMIHNpbmNlIHdlJ3JlIGlu
IHRoZSBzZXJ2ZXIgKi8KKy0JCQlkcml2ZXJfbWVudSA9IG1lbnVfY3JlYXRlIChkcml2ZXItPm5h
bWUsIE5VTEwsIGRyaXZlci0+bmFtZSwgTlVMTCk7CistCQkJbWVudV9zZXRfYXNzb2NpYXRpb24o
ZHJpdmVyX21lbnUsIGRyaXZlcik7CistCQkJbWVudV9hZGRfaXRlbSAob3B0aW9uc19tZW51LCBk
cml2ZXJfbWVudSk7CistCQkJaWYgKGNvbnRyYXN0X2F2YWlsKSB7CistCQkJCWludCBjb250cmFz
dCA9IGRyaXZlci0+Z2V0X2NvbnRyYXN0KGRyaXZlcik7CisrI2lmbmRlZiBPUFQKICsJaWYgKCBj
b25maWdfZ2V0X2Jvb2wgKCJzZXJ2ZXIiLCAiTENET3B0aW9uc01lbnUiLCAwLCAwKSkgewotKwkJ
b3B0aW9uc19tZW51ID0gbWVudV9jcmVhdGUgKCJvcHRpb25zIiwgTlVMTCwgIk9wdGlvbnMiLCBO
VUxMKTsKKysJCW9wdGlvbnNfbWVudSA9IG1lbnVfY3JlYXRlICgib3B0aW9ucyIsIE5VTEwsIG1l
bnVlbnRyeW5hbWUsIE5VTEwpOwogKwkJbWVudV9hZGRfaXRlbSAobWFpbl9tZW51LCBvcHRpb25z
X21lbnUpOwogKwogKwkJLyogbWVudSdzIGNsaWVudCBpcyBOVUxMIHNpbmNlIHdlJ3JlIGluIHRo
ZSBzZXJ2ZXIgKi8KQEAgLTExMSwxOCArMTQyLDYgQEAKICsJCQlpbnQgY29udHJhc3RfYXZhaWwg
PSAoZHJpdmVyLT5nZXRfY29udHJhc3QgJiYgZHJpdmVyLT5zZXRfY29udHJhc3QpID8gMSA6IDA7
CiArCQkJaW50IGJyaWdodG5lc3NfYXZhaWwgPSAoZHJpdmVyLT5nZXRfYnJpZ2h0bmVzcyAmJiBk
cml2ZXItPnNldF9icmlnaHRuZXNzKSA/IDEgOiAwOwogIAotLQlmb3IgKGRyaXZlciA9IGRyaXZl
cnNfZ2V0Zmlyc3QoKTsgZHJpdmVyOyBkcml2ZXIgPSBkcml2ZXJzX2dldG5leHQoKSkgewotLQkJ
aW50IGNvbnRyYXN0X2F2YWlsID0gKGRyaXZlci0+Z2V0X2NvbnRyYXN0ICYmIGRyaXZlci0+c2V0
X2NvbnRyYXN0KSA/IDEgOiAwOwotLQkJaW50IGJyaWdodG5lc3NfYXZhaWwgPSAoZHJpdmVyLT5n
ZXRfYnJpZ2h0bmVzcyAmJiBkcml2ZXItPnNldF9icmlnaHRuZXNzKSA/IDEgOiAwOwotLQotLQkJ
aWYgKGNvbnRyYXN0X2F2YWlsIHx8IGJyaWdodG5lc3NfYXZhaWwpIHsKLS0JCQkvKiBtZW51J3Mg
Y2xpZW50IGlzIE5VTEwgc2luY2Ugd2UncmUgaW4gdGhlIHNlcnZlciAqLwotLQkJCWRyaXZlcl9t
ZW51ID0gbWVudV9jcmVhdGUgKGRyaXZlci0+bmFtZSwgTlVMTCwgZHJpdmVyLT5uYW1lLCBOVUxM
KTsKLS0JCQltZW51X3NldF9hc3NvY2lhdGlvbihkcml2ZXJfbWVudSwgZHJpdmVyKTsKLS0JCQlt
ZW51X2FkZF9pdGVtIChvcHRpb25zX21lbnUsIGRyaXZlcl9tZW51KTsKLS0JCQlpZiAoY29udHJh
c3RfYXZhaWwpIHsKLS0JCQkJaW50IGNvbnRyYXN0ID0gZHJpdmVyLT5nZXRfY29udHJhc3QoZHJp
dmVyKTsKLS0JCQkJCiArCQkJaWYgKGNvbnRyYXN0X2F2YWlsIHx8IGJyaWdodG5lc3NfYXZhaWwp
IHsKICAJCQkJLyogbWVudSdzIGNsaWVudCBpcyBOVUxMIHNpbmNlIHdlJ3JlIGluIHRoZSBzZXJ2
ZXIgKi8KIC0JCQkJc2xpZGVyID0gbWVudWl0ZW1fY3JlYXRlX3NsaWRlciAoImNvbnRyYXN0Iiwg
Y29udHJhc3RfaGFuZGxlciwgIkNvbnRyYXN0IiwKQEAgLTEzMiw3ICsxNTEsNyBAQAogLQkJCWlm
IChicmlnaHRuZXNzX2F2YWlsKSB7CiAtCQkJCWludCBvbmJyaWdodG5lc3MgPSBkcml2ZXItPmdl
dF9icmlnaHRuZXNzIChkcml2ZXIsIEJBQ0tMSUdIVF9PTik7CiAtCQkJCWludCBvZmZicmlnaHRu
ZXNzID0gZHJpdmVyLT5nZXRfYnJpZ2h0bmVzcyAoZHJpdmVyLCBCQUNLTElHSFRfT0ZGKTsKLS0J
CQkJCistCiAtCQkJCXNsaWRlciA9IG1lbnVpdGVtX2NyZWF0ZV9zbGlkZXIgKCJvbmJyaWdodG5l
c3MiLCBicmlnaHRuZXNzX2hhbmRsZXIsICJPbiBCcmlnaHRuZXNzIiwKIC0JCQkJCQkJCSBOVUxM
LCAibWluIiwgIm1heCIsIDAsIDEwMDAsIDI1LCBvbmJyaWdodG5lc3MpOwogLQkJCQltZW51X2Fk
ZF9pdGVtIChkcml2ZXJfbWVudSwgc2xpZGVyKTsKQEAgLTE0OCw3ICsxNjcsNyBAQAogKwogKwkJ
CQkJLyogbWVudSdzIGNsaWVudCBpcyBOVUxMIHNpbmNlIHdlJ3JlIGluIHRoZSBzZXJ2ZXIgKi8K
ICsJCQkJCXNsaWRlciA9IG1lbnVpdGVtX2NyZWF0ZV9zbGlkZXIgKCJjb250cmFzdCIsIGNvbnRy
YXN0X2hhbmRsZXIsICJDb250cmFzdCIsCi0rCQkJCQkJCQkgCU5VTEwsICJtaW4iLCAibWF4Iiwg
MCwgMTAwMCwgMjUsIGNvbnRyYXN0KTsKKysJCQkJCQkJCQkgTlVMTCwgIm1pbiIsICJtYXgiLCAw
LCAxMDAwLCAyNSwgY29udHJhc3QpOwogKwkJCQkJbWVudV9hZGRfaXRlbSAoZHJpdmVyX21lbnUs
IHNsaWRlcik7CiArCQkJCX0KICsJCQkJaWYgKGJyaWdodG5lc3NfYXZhaWwpIHsKQEAgLTE1Niwx
MSArMTc1LDExIEBACiArCQkJCQlpbnQgb2ZmYnJpZ2h0bmVzcyA9IGRyaXZlci0+Z2V0X2JyaWdo
dG5lc3MgKGRyaXZlciwgQkFDS0xJR0hUX09GRik7CiArCiArCQkJCQlzbGlkZXIgPSBtZW51aXRl
bV9jcmVhdGVfc2xpZGVyICgib25icmlnaHRuZXNzIiwgYnJpZ2h0bmVzc19oYW5kbGVyLCAiT24g
QnJpZ2h0bmVzcyIsCi0rCQkJCQkJCQkgCU5VTEwsICJtaW4iLCAibWF4IiwgMCwgMTAwMCwgMjUs
IG9uYnJpZ2h0bmVzcyk7CisrCQkJCQkJCQkJIE5VTEwsICJtaW4iLCAibWF4IiwgMCwgMTAwMCwg
MjUsIG9uYnJpZ2h0bmVzcyk7CiArCQkJCQltZW51X2FkZF9pdGVtIChkcml2ZXJfbWVudSwgc2xp
ZGVyKTsKICsKICsJCQkJCXNsaWRlciA9IG1lbnVpdGVtX2NyZWF0ZV9zbGlkZXIgKCJvZmZicmln
aHRuZXNzIiwgYnJpZ2h0bmVzc19oYW5kbGVyLCAiT2ZmIEJyaWdodG5lc3MiLAotKwkJCQkJCQkJ
IAlOVUxMLCAibWluIiwgIm1heCIsIDAsIDEwMDAsIDI1LCBvZmZicmlnaHRuZXNzKTsKKysJCQkJ
CQkJCQkgTlVMTCwgIm1pbiIsICJtYXgiLCAwLCAxMDAwLCAyNSwgb2ZmYnJpZ2h0bmVzcyk7CiAr
CQkJCQltZW51X2FkZF9pdGVtIChkcml2ZXJfbWVudSwgc2xpZGVyKTsKICsJCQkJfQogIAkJCX0K
QEAgLTE3NCwxMSArMTkzLDExIEBACiAgCiAgI2lmZGVmIExDRFBST0NfVEVTVE1FTlVTCQogIAl0
ZXN0X21lbnUgPSBtZW51X2NyZWF0ZSAoInRlc3QiLCBOVUxMLCAiVGVzdCBtZW51IiwgTlVMTCk7
Ci1kaWZmIC0tZXhjbHVkZT0nKi53YW5qZXQnIC0tZXhjbHVkZT0nLj8/KicgLS1leGNsdWRlPWNv
bmZpZy5oIC0tZXhjbHVkZT0nKi5vcmlnJyAtLWV4Y2x1ZGU9TWFrZWZpbGUgLS1leGNsdWRlPScq
Lm8nIC0tZXhjbHVkZT1Eb3h5ZmlsZSAtLWV4Y2x1ZGU9JyouYScgLS1leGNsdWRlPWNvbmZpZy5s
b2cgLS1leGNsdWRlPWNvbmZpZy5zdGF0dXMgLS1leGNsdWRlPSdpbml0LSonIC1OdWFycCBzZXJ2
ZXIvc2VydmVyc2NyZWVucy5jIHNlcnZlci5PUFQvc2VydmVyc2NyZWVucy5jCi0tLS0gc2VydmVy
L3NlcnZlcnNjcmVlbnMuYwkyMDA2LTAxLTI2IDE5OjQ3OjU5LjAwMDAwMDAwMCAtMDgwMAotKysr
IHNlcnZlci5PUFQvc2VydmVyc2NyZWVucy5jCTIwMDYtMDItMjEgMTk6Mjc6NDAuMDAwMDAwMDAw
IC0wODAwCi1AQCAtMzEsNiArMzEsMTIgQEAKLSAjaW5jbHVkZSAid2lkZ2V0LmgiCitkaWZmIC1y
dU5wIGxjZHByb2MtMC41LjEtb3JpZy9zZXJ2ZXIvc2VydmVyc2NyZWVucy5jIGxjZHByb2MtMC41
LjEtd29ya2luZy9zZXJ2ZXIvc2VydmVyc2NyZWVucy5jCistLS0gbGNkcHJvYy0wLjUuMS1vcmln
L3NlcnZlci9zZXJ2ZXJzY3JlZW5zLmMJMjAwNi0xMC0wNiAwMzowMjo0Ny4wMDAwMDAwMDAgLTA0
MDAKKysrKyBsY2Rwcm9jLTAuNS4xLXdvcmtpbmcvc2VydmVyL3NlcnZlcnNjcmVlbnMuYwkyMDA3
LTAyLTIzIDExOjQ4OjU2LjAwMDAwMDAwMCAtMDUwMAorQEAgLTMyLDYgKzMyLDEyIEBACisgI2lu
Y2x1ZGUgIm1haW4uaCIKICAjaW5jbHVkZSAic2VydmVyc2NyZWVucy5oIgogIAogKyNpZm5kZWYg
T1BUIC8vc3RhcnR1cCBzY3JlZW4gdGl0bGUgZnJvbSBjb25maWcKQEAgLTE5MCw3ICsyMDksNyBA
QAogICNkZWZpbmUgVU5TRVRfSU5UIC0xCiAgCiAgU2NyZWVuICogc2VydmVyX3NjcmVlbjsKLUBA
IC0zOCw2ICs0NCw3IEBAIGludCByb3RhdGVfc2VydmVyX3NjcmVlbiA9IFVOU0VUX0lOVDsKK0BA
IC0zOSw2ICs0NSw3IEBAIGludCByb3RhdGVfc2VydmVyX3NjcmVlbiA9IFVOU0VUX0lOVDsKICAK
ICAjZGVmaW5lIE1BWF9TRVJWRVJTQ1JFRU5fV0lEVEggNDAKICAKQEAgLTE5OCw3ICsyMTcsNyBA
QAogIGludAogIHNlcnZlcl9zY3JlZW5faW5pdCAoKQogIHsKLUBAIC00Niw2ICs1MywxMSBAQCBz
ZXJ2ZXJfc2NyZWVuX2luaXQgKCkKK0BAIC00Nyw2ICs1NCwxMSBAQCBzZXJ2ZXJfc2NyZWVuX2lu
aXQgKCkKICAKICAJZGVidWcgKFJQVF9ERUJVRywgInNlcnZlcl9zY3JlZW5faW5pdCIpOwogIApA
QCAtMjEwLDcgKzIyOSw3IEBACiAgCS8qIENyZWF0ZSB0aGUgc2NyZWVuICovCiAgCXNlcnZlcl9z
Y3JlZW4gPSBzY3JlZW5fY3JlYXRlICgiX3NlcnZlcl9zY3JlZW4iLCBOVUxMKTsKICAJaWYgKCFz
ZXJ2ZXJfc2NyZWVuKSB7Ci1AQCAtNzcsNyArODksMTEgQEAgc2VydmVyX3NjcmVlbl9pbml0ICgp
CitAQCAtNzgsNyArOTAsMTEgQEAgc2VydmVyX3NjcmVlbl9pbml0ICgpCiAgCQl3LT50ZXh0ID0g
bWFsbG9jIChNQVhfU0VSVkVSU0NSRUVOX1dJRFRIKzEpOwogIAkJaWYgKGxpbmUgPT0gMSkgewog
IAkJCXctPnR5cGUgPSBXSURfVElUTEU7CkBAIC0yMjIsNyArMjQxLDcgQEAKICAJCX0gZWxzZSB7
CiAgCQkJdy0+dGV4dFswXSA9IDA7CiAgCQl9Ci1AQCAtMTU2LDYgKzE3MiwxOCBAQCBnb29kYnll
X3NjcmVlbiAoKQorQEAgLTE1Nyw2ICsxNzMsMTggQEAgZ29vZGJ5ZV9zY3JlZW4gKCkKICAJY2hh
ciAqbDE2ID0gIiAgICBMQ0Rwcm9jISAgICAiOwogICNlbmRpZgogIAo=
------=_Part_72348_17363185.1172514501528--