Re: Patching latest TORCS changes in CVS
David Savinkoff <[email protected]> Thu, 2 Mar 2017 16:14:50 -0700 (MST)
| Newsgroups | gmane.games.torcs.general |
|---|---|
| Message-ID | <1683652489.60528204.1488496490306.JavaMail.zimbra@mailid.telus.net> |
------=_Part_60528201_1319061192.1488496490304 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Update. ----- David Savinkoff wrote: > This one is for those that have ripped up a motocross track with a bike, > or who have driven a Chevy II Nova on a dirt track, > or those that have seen real drifting on you-tube: > > - Grab that latest TORCS from cvs > - Apply torcs-1.3.8.contact.2.patch and compile. > > - Select car1-trb1 (semi-pro) > - Try Alpine 2 (you can drift the whole track! -- ha ha) > - Try Dirt 2 (yeah, you know ... see ya) > - Then discover Hidden Valley (the new track! ) > > Sincerely, > David Savinkoff > > ----- David Savinkoff wrote: > > ----- David Savinkoff wrote: > > > Here is a patch to play with. > > > Correctly combined longitudinal, lateral, and yaw tire friction forces. > > > (realistic and predictable vehicular response where the rubber meets the road) > > > > The latest improvements for CVS --> torcs-1.3.8.contact.2.patch > > The latest improvements for torcs 1.3.7 --> torcs-1.3.7.contact.3.patch > ------=_Part_60528201_1319061192.1488496490304 Content-Type: text/x-patch; name=torcs-1.3.8.contact.4.patch Content-Disposition: attachment; filename=torcs-1.3.8.contact.4.patch Content-Transfer-Encoding: base64 LS0tIHRvcmNzL3NyYy9tb2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvQ2FyU291bmREYXRhLmNwcAky MDE0LTAyLTEwIDAzOjE2OjE4LjAwMDAwMDAwMCAtMDgwMAorKysgdG9yY3Mvc3JjL21vZHVsZXMv Z3JhcGhpYy9zc2dncmFwaC9DYXJTb3VuZERhdGEuY3BwCTIwMTctMDItMjQgMjM6Mjg6MjIuMDAw MDAwMDAwIC0wODAwCkBAIC0zMTUsMjkgKzMxNSwzMCBAQAogCiAgICAgfQogCisvLyBDYWxjdWxh dGUgcm9hZC10aXJlIGNvbnRhY3Qgbm9pc2UgcG9zaXRpb25zIHdpdGggYW4gZWZmaWNpZW50IGZv cm11bGEuCisvLyBub3RlIHRoYXQgc2luKGF6KSBpcyBuZWFybHkgZXF1YWwgdG8gYXogW2luIHJh ZGlhbnNdLgorLy8gbm90ZSB0aGF0IGNvcyhheikgaXMgY2xvc2UgdG8gMS4wIGZvciBtb2RlcmF0 ZSB5YXcgYW5nbGVzLgorLy8gbm90ZSB0aGF0IHRoZSBjb250YWN0IHBhdGNoIGlzIGJlbmVhdGgg R0MgKGFwcHJveCAtMC4zIG1ldHJlcykuCisgICAgdGRibGUgYXogPSBjYXItPl95YXc7CiAgICAg Zm9yIChpID0gMDsgaTw0OyBpKyspIHsKLSAgICAgICAgdGRibGUgYXogPSBjYXItPl95YXc7Ci0g ICAgICAgIHRkYmxlIFNpbnogPSBzaW4oYXopOwotICAgICAgICB0ZGJsZSBDb3N6ID0gY29zKGF6 KTsKLSAgICAgICAgICAgICAgICAKICAgICAgICAgdGRibGUgeCA9IGNhci0+cHJpdi53aGVlbFtp XS5yZWxQb3MueDsKICAgICAgICAgdGRibGUgeSA9IGNhci0+cHJpdi53aGVlbFtpXS5yZWxQb3Mu eTsKICAgICAgICAgICAgICAgICAKLSAgICAgICAgdGRibGUgZHggPSB4ICogQ29zeiAtIHkgKiBT aW56OwotICAgICAgICB0ZGJsZSBkeSA9IHggKiBTaW56ICsgeSAqIENvc3o7CisgICAgICAgIHRk YmxlIGR4ID0geCAtIHkqYXo7IC8vIHgqY29zKGF6KSAtIHkqc2luKGF6KQorICAgICAgICB0ZGJs ZSBkeSA9IHgqYXogKyB5OwogICAgICAgICAgICAgICAgIAogICAgICAgICB0ZGJsZSBkdXggPSAt Y2FyLT5feWF3X3JhdGUgKiB5OwogICAgICAgICB0ZGJsZSBkdXkgPSBjYXItPl95YXdfcmF0ZSAq IHg7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgIGR1eCA9IGR1eCAqIENvc3ogLSBkdXkgKiBT aW56OwotICAgICAgICBkdXkgPSBkdXggKiBTaW56ICsgZHV5ICogQ29zejsKKyAgICAgICAgZHV4 ID0gZHV4IC0gZHV5KmF6OworICAgICAgICBkdXkgPSBkdXgqYXogKyBkdXk7CiAgICAgICAgICAg ICAgICAgCiAgICAgICAgIHdoZWVsW2ldLnVbMF0gPSBjYXItPnB1Yi5EeW5HQ2cudmVsLnggKyBk dXg7CiAgICAgICAgIHdoZWVsW2ldLnVbMV0gPSBjYXItPnB1Yi5EeW5HQ2cudmVsLnkgKyBkdXk7 CiAgICAgICAgIHdoZWVsW2ldLnVbMl0gPSBjYXItPnB1Yi5EeW5HQ2cudmVsLno7CiAgICAgICAg IHdoZWVsW2ldLnBbMF0gPSBjYXItPnB1Yi5EeW5HQ2cucG9zLnggKyBkeDsKICAgICAgICAgd2hl ZWxbaV0ucFsxXSA9IGNhci0+cHViLkR5bkdDZy5wb3MueSArIGR5OwotICAgICAgICB3aGVlbFtp XS5wWzJdID0gY2FyLT5wdWIuRHluR0NnLnBvcy56OworICAgICAgICB3aGVlbFtpXS5wWzJdID0g Y2FyLT5wdWIuRHluR0NnLnBvcy56IC0gMC4zZjsKICAgICB9CiB9CiAKLS0tIHRvcmNzL3NyYy9t b2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvZ3Jza2lkbWFya3MuY3BwCTIwMTQtMDItMTAgMDM6MDk6 MzYuMDAwMDAwMDAwIC0wODAwCisrKyB0b3Jjcy9zcmMvbW9kdWxlcy9ncmFwaGljL3NzZ2dyYXBo L2dyc2tpZG1hcmtzLmNwcAkyMDE3LTAyLTI0IDIzOjI4OjIyLjAwMDAwMDAwMCAtMDgwMApAQCAt MTk5LDExICsxOTksNyBAQAogCQkJfQogCQl9CiAKLQkJaWYgKGNhci0+X3NraWRbaV0gPiAwLjFm KSB7Ci0JCQljdXJfY2xyWzNdID0gdGFuaChza2lkX3NlbnNpdGl2aXR5KmNhci0+X3NraWRbaV0p OwotCQl9IGVsc2UgewotCQkJY3VyX2NsclszXSA9IDAuMGY7Ci0JCX0KKwkJY3VyX2NsclszXSA9 IHNraWRfc2Vuc2l0aXZpdHkqY2FyLT5fc2tpZFtpXTsgLy8gbGluZWFyICh0YW5oIHJlbW92ZWQs IHNlZSB3aGVlbC5jcHApCiAKIAkJZm9yIChpbnQgYyA9IDA7IGMgPCAzOyBjKyspIHsKIAkJCXRk YmxlIHRtcCA9IGdyQ2FySW5mb1tjYXItPmluZGV4XS5za2lkbWFya3MtPnN0cmlwc1tpXS5zbW9v dGhfY29sb3VyW2NdOwpAQCAtMjE2LDcgKzIxMiw3IEBACiAJCX0KIAogCQlpZiAoY2FyLT5wdWIu c3BlZWQgPiAxLjBmKSB7Ci0JICAgIAlpZiAoY3VyX2NsclszXSA+IDAuMWYpIHsKKwkgICAgCWlm IChjdXJfY2xyWzNdID4gMC4xZikgeyAvLyAwLjA2IHdvcmtzIGJldHRlciB0aGFuIDAuMSAvLyBz b21ldGhpbmcgaGVyZSBpbXByb3ZlcyB0cmFjdGlvbiA/IQogICAgICAgICAgICAgICAgIAogCQkJ CWJhc2V2dHggPSBuZXcgc3NnVmVydGV4QXJyYXkoNCAqIDIgKyAxKTsKIAkJCQl0ZGJsZSBzbGlu Z19sZWZ0ID0gMC4wZjsKLS0tIHRvcmNzL3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL2Nhci5jcHAJ MjAxNy0wMi0xMiAwOTo0NTo1Ny4wMDAwMDAwMDAgLTA4MDAKKysrIHRvcmNzL3NyYy9tb2R1bGVz L3NpbXUvc2ltdXYyL2Nhci5jcHAJMjAxNy0wMi0yNCAyMzoyODoyMi4wMDAwMDAwMDAgLTA4MDAK QEAgLTY0LDcgKzY0LDcgQEAKIAl9CiAJayA9IGsgKiBrOwogCWNhci0+SWludi54ID0gMTIuMCAv IChjYXItPm1hc3MgKiAoY2FyLT5kaW1lbnNpb24ueSAqIGNhci0+ZGltZW5zaW9uLnkgKyBjYXIt PmRpbWVuc2lvbi56ICogY2FyLT5kaW1lbnNpb24ueikpOwotCWNhci0+SWludi55ID0gMTIuMCAv IChjYXItPm1hc3MgKiAoY2FyLT5kaW1lbnNpb24ueCAqIGNhci0+ZGltZW5zaW9uLnggKyBjYXIt PmRpbWVuc2lvbi56ICogY2FyLT5kaW1lbnNpb24ueikpOworCWNhci0+SWludi55ID0gMTIuMCAv IChjYXItPm1hc3MgKiAoayAqIGNhci0+ZGltZW5zaW9uLnggKiBjYXItPmRpbWVuc2lvbi54ICsg Y2FyLT5kaW1lbnNpb24ueiAqIGNhci0+ZGltZW5zaW9uLnopKTsKIAljYXItPklpbnYueiA9IDEy LjAgLyAoY2FyLT5tYXNzICogKGNhci0+ZGltZW5zaW9uLnkgKiBjYXItPmRpbWVuc2lvbi55ICsg ayAqIGNhci0+ZGltZW5zaW9uLnggKiBjYXItPmRpbWVuc2lvbi54KSk7CiAJCiAJLyogY29uZmln dXJlIGNvbXBvbmVudHMgKi8KQEAgLTE0NSwxMCArMTQ1LDcgQEAKIAl0Rm9yY2VzCUY7CiAJaW50 CQlpOwogCXRkYmxlCW0sIHcsIG1pbnY7Ci0JdGRibGUJdiwgUiwgUnYsIFJtLCBSeCwgUnksIFJ6 OwogCi0JY2FyLT5wcmVEeW5HQyA9IGNhci0+RHluR0NnOwotCQogCS8qIHRvdGFsIG1hc3MgKi8K IAltID0gY2FyLT5tYXNzICsgY2FyLT5mdWVsOwogCW1pbnYgPSAxLjAgLyBtOwpAQCAtMjAwLDM0 ICsxOTcsMTAgQEAKIAkJRi5NLnkgLT0gY2FyLT5hZXJvLmxpZnRbaV0gKiAoY2FyLT5heGxlW2ld Lnhwb3MgLSBjYXItPnN0YXRHQy54KTsKIAl9CiAJCQotCS8qIFJvbGxpbmcgUmVzaXN0YW5jZSAq LwotCXYgPSBjYXItPnNwZWVkOwotCVIgPSAwLjBmOwotCWZvciAoaSA9IDA7IGkgPCA0OyBpKysp IHsKLQkJUiArPSBjYXItPndoZWVsW2ldLnJvbGxSZXM7Ci0JfQotCWlmICh2ID4gMC4wMDAwMWYp IHsKLQkJUnYgPSBSIC8gdjsKLQkJaWYgKChSdiAqIG1pbnYgKiBTaW1EZWx0YVRpbWUpID4gdikg ewotCQkJUnYgPSB2ICogbSAvIFNpbURlbHRhVGltZTsKLQkJfQotCX0gZWxzZSB7Ci0JCVJ2ID0g MC4wZjsKLQl9Ci0JUnggPSBSdiAqIGNhci0+RHluR0MudmVsLng7Ci0JUnkgPSBSdiAqIGNhci0+ RHluR0MudmVsLnk7Ci0JUnogPSBSdiAqIGNhci0+RHluR0MudmVsLno7Ci0JCi0JaWYgKChSICog Y2FyLT53aGVlbGJhc2UgLyAyLjAgKiBjYXItPklpbnYueikgPiBmYWJzKGNhci0+RHluR0NnLnZl bC5heikpIHsKLQkJUm0gPSBjYXItPkR5bkdDZy52ZWwuYXogLyBjYXItPklpbnYuejsKLQl9IGVs c2UgewotCQlSbSA9IFNJR04oY2FyLT5EeW5HQ2cudmVsLmF6KSAqIFIgKiBjYXItPndoZWVsYmFz ZSAvIDIuMDsKLQl9Ci0JCiAJLyogY29tcHV0ZSBhY2NlbGVyYXRpb25zICovCi0JY2FyLT5EeW5H Qy5hY2MueCA9IChGLkYueCAtIFJ4KSAqIG1pbnY7Ci0JY2FyLT5EeW5HQy5hY2MueSA9IChGLkYu eSAtIFJ5KSAqIG1pbnY7Ci0JY2FyLT5EeW5HQy5hY2MueiA9IChGLkYueiAtIFJ6KSAqIG1pbnY7 CisJY2FyLT5EeW5HQy5hY2MueCA9IEYuRi54ICogbWludjsKKwljYXItPkR5bkdDLmFjYy55ID0g Ri5GLnkgKiBtaW52OworCWNhci0+RHluR0MuYWNjLnogPSBGLkYueiAqIG1pbnY7CiAJCiAJc2dW ZWMzIGFjY2VsID0ge2Nhci0+RHluR0MuYWNjLngsIGNhci0+RHluR0MuYWNjLnksIGNhci0+RHlu R0MuYWNjLnp9OwogCXNnWGZvcm1WZWMzKGFjY2VsLCBkc3QpOwpAQCAtMjM4LDcgKzIxMSw3IEBA CiAKIAljYXItPkR5bkdDZy5hY2MuYXggPSBjYXItPkR5bkdDLmFjYy5heCA9IEYuTS54ICogY2Fy LT5JaW52Lng7CiAJY2FyLT5EeW5HQ2cuYWNjLmF5ID0gY2FyLT5EeW5HQy5hY2MuYXkgPSBGLk0u eSAqIGNhci0+SWludi55OwotCWNhci0+RHluR0NnLmFjYy5heiA9IGNhci0+RHluR0MuYWNjLmF6 ID0gKEYuTS56IC0gUm0pICogY2FyLT5JaW52Lno7CisJY2FyLT5EeW5HQ2cuYWNjLmF6ID0gY2Fy LT5EeW5HQy5hY2MuYXogKz0gRi5NLnogKiBjYXItPklpbnYuejsgLy8gKz0gc2VlIHRvcmNzL3Ny Yy9tb2R1bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwIDo6IFNpbVVwZGF0ZSgpCiB9CiAKIHN0YXRp YyB2b2lkCkBAIC0yNTYsNyArMjI5LDE1IEBACiAJaWYgKGZhYnMoY2FyLT5EeW5HQ2cudmVsLmF6 KSA+IDkuMCkgewogCQljYXItPkR5bkdDZy52ZWwuYXogPSBTSUdOKGNhci0+RHluR0NnLnZlbC5h eikgKiA5LjA7CiAJfQotCQkKKworCS8qIEZJWE1FOiBIYWNrIHRvIHN0b3Agc3RhdGlvbmFyeSBj YXIgZnJvbSByb3RhdGluZyAqLworCWlmICgoCWNhci0+RHluR0NnLnZlbC54KmNhci0+RHluR0Nn LnZlbC54ICsKKwkJY2FyLT5EeW5HQ2cudmVsLnkqY2FyLT5EeW5HQ2cudmVsLnkgKworCQljYXIt PkR5bkdDZy52ZWwueipjYXItPkR5bkdDZy52ZWwueikgPCAwLjAxZiApCisJeworCQljYXItPkR5 bkdDZy52ZWwuYXggPSBjYXItPkR5bkdDZy52ZWwuYXkgPSBjYXItPkR5bkdDZy52ZWwuYXogPSAw LjBmOworCX0KKwogCWNhci0+RHluR0MudmVsLmF4ID0gY2FyLT5EeW5HQ2cudmVsLmF4OwogCWNh ci0+RHluR0MudmVsLmF5ID0gY2FyLT5EeW5HQ2cudmVsLmF5OwogCWNhci0+RHluR0MudmVsLmF6 ID0gY2FyLT5EeW5HQ2cudmVsLmF6OwotLS0gdG9yY3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIv c2ltdS5jcHAJMjAxNy0wMi0xOSAwNTowOTowMC4wMDAwMDAwMDAgLTA4MDAKKysrIHRvcmNzL3Ny Yy9tb2R1bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwCTIwMTctMDItMjQgMjM6Mjg6MjIuMDAwMDAw MDAwIC0wODAwCkBAIC0zODUsNiArMzg1LDcgQEAKIAkJCQlTaW1BeGxlVXBkYXRlKGNhciwgaSk7 CiAJCQl9CiAJCQlDSEVDSyhjYXIpOworCQkJY2FyLT5EeW5HQy5hY2MuYXogPSAwLjBmOyAvLyBz ZWUgdG9yY3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvd2hlZWwuY3BwIDo6IFNpbVdoZWVsVXBk YXRlRm9yY2UoKQogCQkJZm9yIChpID0gMDsgaSA8IDQ7IGkrKyl7CiAJCQkJU2ltV2hlZWxVcGRh dGVGb3JjZShjYXIsIGkpOwogCQkJCVNpbVdoZWVsVXBkYXRlVGlyZShjYXIsIGkpOwotLS0gdG9y Y3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvc3VzcC5jcHAJMjAxNy0wMS0xNSAwNDo1MjoxNi4w MDAwMDAwMDAgLTA4MDAKKysrIHRvcmNzL3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL3N1c3AuY3Bw CTIwMTctMDItMjQgMjM6Mjg6MjIuMDAwMDAwMDAwIC0wODAwCkBAIC0xMDcsOSArMTA3LDkgQEAK IAl9CiAJCiAJc3VzcC0+eCAqPSBzdXNwLT5zcHJpbmcuYmVsbGNyYW5rOwotCWlmIChzdXNwLT54 ID4gc3VzcC0+c3ByaW5nLnhNYXgpIHsKKwlpZiAoc3VzcC0+eCA+PSBzdXNwLT5zcHJpbmcueE1h eCkgeyAvLyBUZXN0ZWQgT0sgd2l0aCAnPj0nIChTRCByNjAyMCkKIAkJc3VzcC0+eCA9IHN1c3At PnNwcmluZy54TWF4OwotCQlzdXNwLT5zdGF0ZSA9IFNJTV9TVVNQX0VYVDsKKwkJc3VzcC0+c3Rh dGUgPSBTSU1fU1VTUF9FWFQ7IC8vIHN1c3AtPnN0YXRlIHVwZGF0ZWQgYWxzbwogCX0KIH0KIAot LS0gdG9yY3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvd2hlZWwuY3BwCTIwMTctMDItMTMgMTU6 NTE6MDcuMDAwMDAwMDAwIC0wODAwCisrKyB0b3Jjcy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi93 aGVlbC5jcHAJMjAxNy0wMy0wMiAxMjo0NjowNC4wMDAwMDAwMDAgLTA4MDAKQEAgLTQ3LDkgKzQ3 LDkgQEAKIAlDYSAgICAgICAgICAgICAgICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxT ZWN0W2luZGV4XSwgUFJNX0NBLCAoY2hhciopTlVMTCwgMzAuMGYpOwogCVJGYWN0b3IgICAgICAg ICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fUkZBQ1RP UiwgKGNoYXIqKU5VTEwsIDAuOGYpOwogCUVGYWN0b3IgICAgICAgICAgICAgICA9IEdmUGFybUdl dE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fRUZBQ1RPUiwgKGNoYXIqKU5VTEwsIDAu N2YpOwotCXdoZWVsLT5sZk1heCAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNl Y3RbaW5kZXhdLCBQUk1fTE9BREZNQVgsIChjaGFyKilOVUxMLCAxLjZmKTsKLQl3aGVlbC0+bGZN aW4gICAgICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0xP QURGTUlOLCAoY2hhciopTlVMTCwgMC44Zik7Ci0Jd2hlZWwtPm9wTG9hZCAgICAgICAgID0gR2ZQ YXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBSTV9PUExPQUQsIChjaGFyKilOVUxM LCB3aGVlbC0+d2VpZ2h0MCAqIDEuMmYpOworCXdoZWVsLT5sZk1heCAgICAgICAgICA9IEdmUGFy bUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fTE9BREZNQVgsIChjaGFyKilOVUxM LCAxLjRmKTsKKwl3aGVlbC0+bGZNaW4gICAgICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hl ZWxTZWN0W2luZGV4XSwgUFJNX0xPQURGTUlOLCAoY2hhciopTlVMTCwgMS4wZik7CisJd2hlZWwt Pm9wTG9hZCAgICAgICAgID0gR2ZQYXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBS TV9PUExPQUQsIChjaGFyKilOVUxMLCB3aGVlbC0+d2VpZ2h0MCAqIDEuNjE4Zik7CiAJd2hlZWwt Pm1hc3MgICAgICAgICAgID0gR2ZQYXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBS TV9NQVNTLCAoY2hhciopTlVMTCwgMjAuMGYpOwogCQogCXdoZWVsLT5sZk1pbiA9IE1JTigwLjhm LCB3aGVlbC0+bGZNaW4pOwpAQCAtMjEzLDEyICsyMTMsMTIgQEAKIHsKIAl0V2hlZWwgKndoZWVs ID0gJihjYXItPndoZWVsW2luZGV4XSk7CiAJdGRibGUgYXhsZUZ6ID0gd2hlZWwtPmF4bGVGejsK LQl0ZGJsZSB2dCwgdiwgdjIsIHdybDsgLy8gd2hlZWwgcmVsYXRlZCB2ZWxvY2l0eQorCXRkYmxl IHZ0LCB2biwgdiwgdjIsIHdybCwgc2xpcF9tYWduaXR1ZGUgPSAwLjAwMDAwMGY7IC8vIHdoZWVs IHJlbGF0ZWQgdmVsb2NpdHkKIAl0ZGJsZSBGbiwgRnQ7CiAJdGRibGUgd2F6OwotCXRkYmxlIENv c0EsIFNpbkE7Ci0JdGRibGUgcywgc2EsIHN4LCBzeTsgLy8gc2xpcCB2ZWN0b3IKLQl0ZGJsZSBz dG1wLCBGLCBCeDsKKwlkb3VibGUgQ29zQSwgU2luQTsKKwl0ZGJsZSBzLCBzeCwgc3ksIHNhejsg Ly8gc2xpcCB2ZWN0b3IKKwl0ZGJsZSBGLCBCeDsKIAl0ZGJsZSBtdTsKIAl3aGVlbC0+c3RhdGUg PSAwOwogCkBAIC0yNDgsNDQgKzI0OCw0MSBAQAogCX0KIAogCS8vIEhPUklaT05UQUwgRk9SQ0VT Ci0Jd2F6ID0gd2hlZWwtPnN0ZWVyICsgd2hlZWwtPnN0YXRpY1Bvcy5hejsKKwl3YXogPSB3aGVl bC0+c3RlZXIgKyB3aGVlbC0+c3RhdGljUG9zLmF6IC0gKFNpbURlbHRhVGltZSpjYXItPkR5bkdD LnZlbC5heiAvKiBhY2NvdW50IGZvciB5YXcgaW5kdWNlZCB3aGVlbCBkaXJlY3Rpb24gKi8pOwog CUNvc0EgPSBjb3Mod2F6KTsKIAlTaW5BID0gc2luKHdheik7CiAKIAkvLyB0YW5nZW50IHZlbG9j aXR5LgogCXZ0ID0gd2hlZWwtPmJvZHlWZWwueCAqIENvc0EgKyB3aGVlbC0+Ym9keVZlbC55ICog U2luQTsKKwl2biA9IHdoZWVsLT5ib2R5VmVsLnkgKiBDb3NBIC0gd2hlZWwtPmJvZHlWZWwueCAq IFNpbkE7CiAJdjIgPSB3aGVlbC0+Ym9keVZlbC54ICogd2hlZWwtPmJvZHlWZWwueCArIHdoZWVs LT5ib2R5VmVsLnkgKiB3aGVlbC0+Ym9keVZlbC55OwotCXYgPSBzcXJ0KHYyKTsKLQotCS8vIHNs aXAgYW5nbGUKLQlpZiAodiA8IDAuMDAwMDAxZikgewotCQlzYSA9IDAuMGY7Ci0JfSBlbHNlIHsK LQkJc2EgPSBhdGFuMih3aGVlbC0+Ym9keVZlbC55LCB3aGVlbC0+Ym9keVZlbC54KSAtIHdhejsK LQl9Ci0JTk9STV9QSV9QSShzYSk7CisJdiA9IHNxcnRmKHYyKTsKIAogCXdybCA9IHdoZWVsLT5z cGluVmVsICogd2hlZWwtPnJhZGl1czsKKwogCWlmICgod2hlZWwtPnN0YXRlICYgU0lNX1dIX09O QUlSKSAhPSAwKSB7Ci0JCXN4ID0gc3kgPSAwLjBmOwotCX0gZWxzZSBpZiAodiA8IDAuMDAwMDAx ZikgewotCQlzeCA9IHdybDsKLQkJc3kgPSAwLjBmOworCQlzeCA9IHN5ID0gc2F6ID0gMC4wZjsK IAl9IGVsc2UgewotCQlzeCA9ICh2dCAtIHdybCkgLyBmYWJzKHZ0KTsKLQkJc3kgPSBzaW4oc2Ep OworCQkvLyBDT01CSU5FRCBMT05HSVRVRElOQUwsIExBVEVSQUwsIGFuZCBZQVdJTkcgVElSRSBT TElQIEZPUkNFUzoKKwkJLy8gTm9ybWFsaXplIHRoZSBmcmljdGlvbiBjaXJjbGUgdG8gZ2V0IG5v cm1hbGl6ZWQgdmVjdG9yIGNvbXBvbmVudHMgKHN4LCBzeSkgd2hpbGUKKwkJLy8gYnJha2luZyAo dnQpLCBhY2NlbGVyYXRpbmcgKHdybCksIG9yIHdoZWVsIGNvdW50ZXIgc3BpbiAodnQgLSB3cmwp IGZvciBhbnkgYW5nbGUuCisJCS8vIHNheiBzbGlwIHNwZWVkIGFjY291bnRzIGZvciByb3RhdGlu ZyB0aGUgY29udGFjdCBwYXRjaCAoeWF3KS4gKiBhZGQgc3RlZXJpbmcgc3BlZWQgYW5kIHNlbGYg YWxpZ25pbmcgdG9ycXVlLgorCQlzYXogPSAoMS4xZiozLjE0MTZmKSAqIGNhci0+RHluR0MudmVs LmF6ICogY2FyLT5jYXJFbHQtPl90aXJlV2lkdGgoaW5kZXgpOyAvLyB5YXcgc2xpcCBzcGVlZC4K KwkJc2xpcF9tYWduaXR1ZGUgPSAwLjAwMDAwMWYgKyAvKiBTb2Z0ZW5pbmcgZmFjdG9yIDAuMDAw MDAxIHByZXZlbnRzIGRpdmlkZSBieSB6ZXJvICovCisJCQkJc3FydCggTUFYKE1BWCgodjIgKyBz YXoqc2F6KSwgKHZuKnZuICsgd3JsKndybCArIHNheipzYXopKSwgKHZuKnZuICsgKHZ0IC0gd3Js KSoodnQgLSB3cmwpICsgc2F6KnNheikpICk7CisJCXN4ID0gKHZ0IC0gd3JsKSAvIHNsaXBfbWFn bml0dWRlOworCQlzeSA9IHZuIC8gc2xpcF9tYWduaXR1ZGU7CisJCXNheiAvPSBzbGlwX21hZ25p dHVkZTsKIAl9Ci0JCi0JRnQgPSAwLjBmOwotCUZuID0gMC4wZjsKLQlzID0gc3FydChzeCpzeCtz eSpzeSk7CisKKwlzID0gc3FydGYoc3gqc3grc3kqc3krc2F6KnNheik7CiAKIAl7Ci0JCS8vIGNh bGN1bGF0ZSBfc2tpZCBhbmQgX3JlYWN0aW9uIGZvciBzb3VuZC4KLQkJaWYgKHYgPCAyLjBmKSB7 CisJCS8vIGNhbGN1bGF0ZSBfc2tpZCBhbmQgX3JlYWN0aW9uIGZvciBzb3VuZCAoc3VzcGljaW91 c2x5OyBhZmZlY3RzIHRyYWN0aW9uIGFsc28pLgorCQlpZiAoKHYgPCAwLjAxZikgfHwgKHpmb3Jj ZSA8IDAuMDAyZikpIHsKIAkJCWNhci0+Y2FyRWx0LT5fc2tpZFtpbmRleF0gPSAwLjBmOwogCQl9 IGVsc2UgewotCQkJY2FyLT5jYXJFbHQtPl9za2lkW2luZGV4XSA9ICBNSU4oMS4wZiwgKHMqemZv cmNlKjAuMDAwMmYpKTsKKwkJCWNhci0+Y2FyRWx0LT5fc2tpZFtpbmRleF0gPSBzOyAvLyBsaW5l YXIgKHRhbmggcmVtb3ZlZCBpbiBncnNraWRtYXJrcy5jcHApCiAJCX0KIAl9CiAKQEAgLTI5OSw0 NyArMjk2LDQ4IEBACiAJCWNhbWJlckRlbHRhID0gY2FzdGVyQ2FtYmVyOwogCX0KIAotCXN0bXAg PSBNSU4ocywgMS41Zik7Ci0JCi0JLy8gTUFHSUMgRk9STVVMQQotCUJ4ID0gd2hlZWwtPm1mQiAq IHN0bXA7Ci0JRiA9IHNpbih3aGVlbC0+bWZDICogYXRhbihCeCAqICgxLjBmIC0gd2hlZWwtPm1m RSkgKyB3aGVlbC0+bWZFICogYXRhbihCeCkpKSAqICgxLjBmICsgc3RtcCAqIHNpbVNraWRGYWN0 b3JbY2FyLT5jYXJFbHQtPl9za2lsbExldmVsXSk7CisJLy8gTUFHSUMgRk9STVVMQSAvLyBOb3Rl OiBGID0gc2luKC4uLikgYmVsb3cgcmV0dXJucyBub3JtYWxpemVkIGZvcmNlIQorCUJ4ID0gd2hl ZWwtPm1mQiAqIHM7CisJRiA9IHNpbih3aGVlbC0+bWZDICogYXRhbihCeCAqICgxLjBmIC0gd2hl ZWwtPm1mRSkgKyB3aGVlbC0+bWZFICogYXRhbihCeCkpKSAqICgxLjBmICsgcyAqIHNpbVNraWRG YWN0b3JbY2FyLT5jYXJFbHQtPl9za2lsbExldmVsXSk7CiAKIAkvLyBsb2FkIHNlbnNpdGl2aXR5 CiAJbXUgPSB3aGVlbC0+bXUgKiAod2hlZWwtPmxmTWluICsgKHdoZWVsLT5sZk1heCAtIHdoZWVs LT5sZk1pbikgKiBleHAod2hlZWwtPmxmSyAqIHpmb3JjZSAvIHdoZWVsLT5vcExvYWQpKTsKIAog CUYgKj0gemZvcmNlICogbXUgKiB3aGVlbC0+dHJrUG9zLnNlZy0+c3VyZmFjZS0+a0ZyaWN0aW9u ICogKDEuMGYgKyAwLjA1ZiAqIHNpbigoLXdoZWVsLT5zdGF0aWNQb3MuYXggKyBjYW1iZXJEZWx0 YSkgKiAxOC4wZikpOwkvKiBjb2VmZiAqLwogCUYgKj0gd2hlZWwtPmN1cnJlbnRHcmlwRmFjdG9y OwotCQorCiAJd2hlZWwtPnJvbGxSZXMgPSB6Zm9yY2UgKiB3aGVlbC0+dHJrUG9zLnNlZy0+c3Vy ZmFjZS0+a1JvbGxSZXM7Ci0gICAgY2FyLT5jYXJFbHQtPnByaXYud2hlZWxbaW5kZXhdLnJvbGxS ZXMgPSB3aGVlbC0+cm9sbFJlczsKKwkvLyB3aGVlbCBheGlzIGJhc2VkCisJcyArPSAwLjAwMDAw MWY7IC8vIGFkZCAwLjAwMDAwMSB0byBhdm9pZCBkaXZpZGUgYnkgemVybyBsYXRlci4KKwlGdCA9 IC0oRiAtIHdoZWVsLT5yb2xsUmVzKSAqIHN4L3M7IC8vIHJvbGxpbmcgcmVzaXN0YW5jZSBpcyB0 aGUgcm9sbGluZyB2ZWN0b3IgY29tcG9uZW50IG9ubHkuCisJRm4gPSAtRiAqIHN5L3M7CiAKLQlp ZiAocyA+IDAuMDAwMDAxZikgewotCQkvLyB3aGVlbCBheGlzIGJhc2VkCi0JCUZ0IC09IEYgKiBz eCAvIHM7Ci0JCUZuIC09IEYgKiBzeSAvIHM7Ci0JfQorCWNhci0+RHluR0MuYWNjLmF6ICs9IC1G ICogc2F6L3MgKiBTaW1EZWx0YVRpbWUgKiBjYXItPklpbnYuejsgLy8gc2VlIHRvcmNzL3NyYy9t b2R1bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwIDo6IFNpbVVwZGF0ZSgpCiAKLQlSRUxBWEFUSU9O MihGbiwgd2hlZWwtPnByZUZuLCA1MC4wZik7Ci0JUkVMQVhBVElPTjIoRnQsIHdoZWVsLT5wcmVG dCwgNTAuMGYpOworCXdoZWVsLT5yb2xsUmVzICo9IGZhYnNmKHN4L3MpOyAvLyBub3QgdXNlZCAo cmVtb3ZlZCBmcm9tIC9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi9jYXIuY3BwKQorCWNhci0+Y2Fy RWx0LT5wcml2LndoZWVsW2luZGV4XS5yb2xsUmVzID0gd2hlZWwtPnJvbGxSZXM7IC8vIG5vdCB1 c2VkIGluIC9zcmMvbW9kdWxlcy9ncmFwaGljL3NzZ2dyYXBoL0NhclNvdW5kRGF0YS5jcHAKKwor CXdheiA9IHdoZWVsLT5zdGVlciArIHdoZWVsLT5zdGF0aWNQb3MuYXo7IC8qIGRvbid0IGluY2x1 ZGUgeWF3IGluZHVjZWQgd2hlZWwgZGlyZWN0aW9uIGhlcmUgKi8KKwlDb3NBID0gY29zKHdheik7 CisJU2luQSA9IHNpbih3YXopOwogCiAJd2hlZWwtPnJlbFBvcy5heiA9IHdhejsKIAkKIAl3aGVl bC0+Zm9yY2VzLnggPSBGdCAqIENvc0EgLSBGbiAqIFNpbkE7CiAJd2hlZWwtPmZvcmNlcy55ID0g RnQgKiBTaW5BICsgRm4gKiBDb3NBOwogCXdoZWVsLT5zcGluVHEgPSBGdCAqIHdoZWVsLT5yYWRp dXM7Ci0Jd2hlZWwtPnNhID0gc2E7CisJd2hlZWwtPnNhID0gYXRhbjIod2hlZWwtPmJvZHlWZWwu eSwgd2hlZWwtPmJvZHlWZWwueCkgLSB3YXo7CiAJd2hlZWwtPnN4ID0gc3g7CiAKIAl3aGVlbC0+ dGlyZVpGb3JjZSA9IHpmb3JjZTsKLQl3aGVlbC0+dGlyZVNsaXAgPSBzdG1wOworCXdoZWVsLT50 aXJlU2xpcCA9IHM7CiAKIAl3aGVlbC0+ZmVlZEJhY2suc3BpblZlbCA9IHdoZWVsLT5zcGluVmVs OwogCXdoZWVsLT5mZWVkQmFjay5UcSA9IHdoZWVsLT5zcGluVHE7CiAJd2hlZWwtPmZlZWRCYWNr LmJya1RxID0gd2hlZWwtPmJyYWtlLlRxOwogCi0JY2FyLT5jYXJFbHQtPl93aGVlbFNsaXBTaWRl KGluZGV4KSA9IHN5KnY7Ci0JY2FyLT5jYXJFbHQtPl93aGVlbFNsaXBBY2NlbChpbmRleCkgPSBz eCp2OworCWNhci0+Y2FyRWx0LT5fd2hlZWxTbGlwU2lkZShpbmRleCkgPSB2biooMS4wZi1zeSk7 IC8vIHdoZWVsIG5vcm1hbCBhZGhlc2lvbiB2ZWxvY2l0eQorCWNhci0+Y2FyRWx0LT5fd2hlZWxT bGlwQWNjZWwoaW5kZXgpID0gdnQqKDEuMGYtc3gpOyAvLyB3aGVlbCB0YW5nZW50IGFkaGVzaW9u IHZlbG9jaXR5CiAJY2FyLT5jYXJFbHQtPl9yZWFjdGlvbltpbmRleF0gPSB6Zm9yY2U7CiB9CiAK QEAgLTM1NCw4ICszNTIsNiBAQAogCQl3aGVlbCA9ICYoY2FyLT53aGVlbFtpXSk7CiAJCXdoZWVs LT5zcGluVmVsID0gd2hlZWwtPmluLnNwaW5WZWw7CiAKLQkJUkVMQVhBVElPTjIod2hlZWwtPnNw aW5WZWwsIHdoZWVsLT5wcmVzcGluVmVsLCA1MC4wZik7Ci0KIAkJd2hlZWwtPnJlbFBvcy5heSAr PSB3aGVlbC0+c3BpblZlbCAqIFNpbURlbHRhVGltZTsKIAkJTk9STV9QSV9QSSh3aGVlbC0+cmVs UG9zLmF5KTsKIAkJY2FyLT5jYXJFbHQtPl93aGVlbFNwaW5WZWwoaSkgPSB3aGVlbC0+c3BpblZl bDsK ------=_Part_60528201_1319061192.1488496490304 Content-Type: text/x-patch; name=torcs-1.3.7.contact.4.patch Content-Disposition: attachment; filename=torcs-1.3.7.contact.4.patch Content-Transfer-Encoding: base64 LS0tIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvQ2FyU291bmREYXRh LmNwcAkyMDE0LTAyLTEwIDAzOjE2OjE4LjAwMDAwMDAwMCAtMDgwMAorKysgdG9yY3MtMS4zLjcv c3JjL21vZHVsZXMvZ3JhcGhpYy9zc2dncmFwaC9DYXJTb3VuZERhdGEuY3BwCTIwMTctMDMtMDIg MTM6Mzc6NTUuMzMzNTgzMTY4IC0wODAwCkBAIC0zMTUsMjkgKzMxNSwzMCBAQAogCiAgICAgfQog CisvLyBDYWxjdWxhdGUgcm9hZC10aXJlIGNvbnRhY3Qgbm9pc2UgcG9zaXRpb25zIHdpdGggYW4g ZWZmaWNpZW50IGZvcm11bGEuCisvLyBub3RlIHRoYXQgc2luKGF6KSBpcyBuZWFybHkgZXF1YWwg dG8gYXogW2luIHJhZGlhbnNdLgorLy8gbm90ZSB0aGF0IGNvcyhheikgaXMgY2xvc2UgdG8gMS4w IGZvciBtb2RlcmF0ZSB5YXcgYW5nbGVzLgorLy8gbm90ZSB0aGF0IHRoZSBjb250YWN0IHBhdGNo IGlzIGJlbmVhdGggR0MgKGFwcHJveCAtMC4zIG1ldHJlcykuCisgICAgdGRibGUgYXogPSBjYXIt Pl95YXc7CiAgICAgZm9yIChpID0gMDsgaTw0OyBpKyspIHsKLSAgICAgICAgdGRibGUgYXogPSBj YXItPl95YXc7Ci0gICAgICAgIHRkYmxlIFNpbnogPSBzaW4oYXopOwotICAgICAgICB0ZGJsZSBD b3N6ID0gY29zKGF6KTsKLSAgICAgICAgICAgICAgICAKICAgICAgICAgdGRibGUgeCA9IGNhci0+ cHJpdi53aGVlbFtpXS5yZWxQb3MueDsKICAgICAgICAgdGRibGUgeSA9IGNhci0+cHJpdi53aGVl bFtpXS5yZWxQb3MueTsKICAgICAgICAgICAgICAgICAKLSAgICAgICAgdGRibGUgZHggPSB4ICog Q29zeiAtIHkgKiBTaW56OwotICAgICAgICB0ZGJsZSBkeSA9IHggKiBTaW56ICsgeSAqIENvc3o7 CisgICAgICAgIHRkYmxlIGR4ID0geCAtIHkqYXo7IC8vIHgqY29zKGF6KSAtIHkqc2luKGF6KQor ICAgICAgICB0ZGJsZSBkeSA9IHgqYXogKyB5OwogICAgICAgICAgICAgICAgIAogICAgICAgICB0 ZGJsZSBkdXggPSAtY2FyLT5feWF3X3JhdGUgKiB5OwogICAgICAgICB0ZGJsZSBkdXkgPSBjYXIt Pl95YXdfcmF0ZSAqIHg7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgIGR1eCA9IGR1eCAqIENv c3ogLSBkdXkgKiBTaW56OwotICAgICAgICBkdXkgPSBkdXggKiBTaW56ICsgZHV5ICogQ29zejsK KyAgICAgICAgZHV4ID0gZHV4IC0gZHV5KmF6OworICAgICAgICBkdXkgPSBkdXgqYXogKyBkdXk7 CiAgICAgICAgICAgICAgICAgCiAgICAgICAgIHdoZWVsW2ldLnVbMF0gPSBjYXItPnB1Yi5EeW5H Q2cudmVsLnggKyBkdXg7CiAgICAgICAgIHdoZWVsW2ldLnVbMV0gPSBjYXItPnB1Yi5EeW5HQ2cu dmVsLnkgKyBkdXk7CiAgICAgICAgIHdoZWVsW2ldLnVbMl0gPSBjYXItPnB1Yi5EeW5HQ2cudmVs Lno7CiAgICAgICAgIHdoZWVsW2ldLnBbMF0gPSBjYXItPnB1Yi5EeW5HQ2cucG9zLnggKyBkeDsK ICAgICAgICAgd2hlZWxbaV0ucFsxXSA9IGNhci0+cHViLkR5bkdDZy5wb3MueSArIGR5OwotICAg ICAgICB3aGVlbFtpXS5wWzJdID0gY2FyLT5wdWIuRHluR0NnLnBvcy56OworICAgICAgICB3aGVl bFtpXS5wWzJdID0gY2FyLT5wdWIuRHluR0NnLnBvcy56IC0gMC4zZjsKICAgICB9CiB9CiAKLS0t IHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvZ3Jza2lkbWFya3MuY3Bw CTIwMTQtMDItMTAgMDM6MDk6MzYuMDAwMDAwMDAwIC0wODAwCisrKyB0b3Jjcy0xLjMuNy9zcmMv bW9kdWxlcy9ncmFwaGljL3NzZ2dyYXBoL2dyc2tpZG1hcmtzLmNwcAkyMDE3LTAzLTAyIDEzOjM3 OjU1LjMzNDU4MzI4MyAtMDgwMApAQCAtMTk5LDExICsxOTksNyBAQAogCQkJfQogCQl9CiAKLQkJ aWYgKGNhci0+X3NraWRbaV0gPiAwLjFmKSB7Ci0JCQljdXJfY2xyWzNdID0gdGFuaChza2lkX3Nl bnNpdGl2aXR5KmNhci0+X3NraWRbaV0pOwotCQl9IGVsc2UgewotCQkJY3VyX2NsclszXSA9IDAu MGY7Ci0JCX0KKwkJY3VyX2NsclszXSA9IHNraWRfc2Vuc2l0aXZpdHkqY2FyLT5fc2tpZFtpXTsg Ly8gbGluZWFyICh0YW5oIHJlbW92ZWQsIHNlZSB3aGVlbC5jcHApCiAKIAkJZm9yIChpbnQgYyA9 IDA7IGMgPCAzOyBjKyspIHsKIAkJCXRkYmxlIHRtcCA9IGdyQ2FySW5mb1tjYXItPmluZGV4XS5z a2lkbWFya3MtPnN0cmlwc1tpXS5zbW9vdGhfY29sb3VyW2NdOwpAQCAtMjE2LDcgKzIxMiw3IEBA CiAJCX0KIAogCQlpZiAoY2FyLT5wdWIuc3BlZWQgPiAxLjBmKSB7Ci0JICAgIAlpZiAoY3VyX2Ns clszXSA+IDAuMWYpIHsKKwkgICAgCWlmIChjdXJfY2xyWzNdID4gMC4xZikgeyAvLyAwLjA2IHdv cmtzIGJldHRlciB0aGFuIDAuMSAvLyBzb21ldGhpbmcgaGVyZSBpbXByb3ZlcyB0cmFjdGlvbiA/ IQogICAgICAgICAgICAgICAgIAogCQkJCWJhc2V2dHggPSBuZXcgc3NnVmVydGV4QXJyYXkoNCAq IDIgKyAxKTsKIAkJCQl0ZGJsZSBzbGluZ19sZWZ0ID0gMC4wZjsKLS0tIHRvcmNzLTEuMy43L3Ny Yy9tb2R1bGVzL3NpbXUvc2ltdXYyL2Nhci5jcHAJMjAxNi0wNS0xNiAxNTo1MzowNy4wMDAwMDAw MDAgLTA3MDAKKysrIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL2Nhci5jcHAJ MjAxNy0wMy0wMiAxMzozNzo1NS4zMzY1ODM1MDIgLTA4MDAKQEAgLTY0LDcgKzY0LDcgQEAKIAl9 CiAJayA9IGsgKiBrOwogCWNhci0+SWludi54ID0gMTIuMCAvIChjYXItPm1hc3MgKiAoY2FyLT5k aW1lbnNpb24ueSAqIGNhci0+ZGltZW5zaW9uLnkgKyBjYXItPmRpbWVuc2lvbi56ICogY2FyLT5k aW1lbnNpb24ueikpOwotCWNhci0+SWludi55ID0gMTIuMCAvIChjYXItPm1hc3MgKiAoY2FyLT5k aW1lbnNpb24ueCAqIGNhci0+ZGltZW5zaW9uLnggKyBjYXItPmRpbWVuc2lvbi56ICogY2FyLT5k aW1lbnNpb24ueikpOworCWNhci0+SWludi55ID0gMTIuMCAvIChjYXItPm1hc3MgKiAoayAqIGNh ci0+ZGltZW5zaW9uLnggKiBjYXItPmRpbWVuc2lvbi54ICsgY2FyLT5kaW1lbnNpb24ueiAqIGNh ci0+ZGltZW5zaW9uLnopKTsKIAljYXItPklpbnYueiA9IDEyLjAgLyAoY2FyLT5tYXNzICogKGNh ci0+ZGltZW5zaW9uLnkgKiBjYXItPmRpbWVuc2lvbi55ICsgayAqIGNhci0+ZGltZW5zaW9uLngg KiBjYXItPmRpbWVuc2lvbi54KSk7CiAJCiAJLyogY29uZmlndXJlIGNvbXBvbmVudHMgKi8KQEAg LTE0Niw3ICsxNDYsNiBAQAogCXRkYmxlCW0sIHcsIG1pbnY7CiAJdGRibGUJU2luVGhldGE7CiAJ dGRibGUJQ29zeiwgU2luejsKLQl0ZGJsZQl2LCBSLCBSdiwgUm0sIFJ4LCBSeTsKIAkKIAlDb3N6 ID0gY2FyLT5Db3N6ID0gY29zKGNhci0+RHluR0NnLnBvcy5heik7CiAJU2lueiA9IGNhci0+U2lu eiA9IHNpbihjYXItPkR5bkdDZy5wb3MuYXopOwpAQCAtMTk5LDQxICsxOTgsMTggQEAKIAkJRi5N LnkgLT0gY2FyLT5hZXJvLmxpZnRbaV0gKiAoY2FyLT5heGxlW2ldLnhwb3MgLSBjYXItPnN0YXRH Qy54KTsKIAl9CiAJCi0JLyogUm9sbGluZyBSZXNpc3RhbmNlICovCi0JdiA9IHNxcnQoY2FyLT5E eW5HQ2cudmVsLnggKiBjYXItPkR5bkdDZy52ZWwueCArIGNhci0+RHluR0NnLnZlbC55ICogY2Fy LT5EeW5HQ2cudmVsLnkpOwotCVIgPSAwOwotCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKLQkJ UiArPSBjYXItPndoZWVsW2ldLnJvbGxSZXM7Ci0JfQotCWlmICh2ID4gMC4wMDAwMSkgewotCQlS diA9IFIgLyB2OwotCQlpZiAoKFJ2ICogbWludiAqIFNpbURlbHRhVGltZSkgPiB2KSB7Ci0JCQlS diA9IHYgKiBtIC8gU2ltRGVsdGFUaW1lOwotCQl9Ci0JfSBlbHNlIHsKLQkJUnYgPSAwOwotCX0K LQlSeCA9IFJ2ICogY2FyLT5EeW5HQ2cudmVsLng7Ci0JUnkgPSBSdiAqIGNhci0+RHluR0NnLnZl bC55OwotCQotCWlmICgoUiAqIGNhci0+d2hlZWxiYXNlIC8gMi4wICogY2FyLT5JaW52LnopID4g ZmFicyhjYXItPkR5bkdDZy52ZWwuYXopKSB7Ci0JCVJtID0gY2FyLT5EeW5HQ2cudmVsLmF6IC8g Y2FyLT5JaW52Lno7Ci0JfSBlbHNlIHsKLQkJUm0gPSBTSUdOKGNhci0+RHluR0NnLnZlbC5heikg KiBSICogY2FyLT53aGVlbGJhc2UgLyAyLjA7Ci0JfQotCQogCS8qIGNvbXB1dGUgYWNjZWxlcmF0 aW9ucyAqLwogCWNhci0+RHluR0MuYWNjLnggPSBGLkYueCAqIG1pbnY7CiAJY2FyLT5EeW5HQy5h Y2MueSA9IEYuRi55ICogbWludjsKIAljYXItPkR5bkdDLmFjYy56ID0gRi5GLnogKiBtaW52Owog CQotCWNhci0+RHluR0NnLmFjYy54ID0gKEYuRi54ICogQ29zeiAtIEYuRi55ICogU2lueiAtIFJ4 KSAqIG1pbnY7Ci0JY2FyLT5EeW5HQ2cuYWNjLnkgPSAoRi5GLnggKiBTaW56ICsgRi5GLnkgKiBD b3N6IC0gUnkpICogbWludjsKKwljYXItPkR5bkdDZy5hY2MueCA9IChGLkYueCAqIENvc3ogLSBG LkYueSAqIFNpbnopICogbWludjsKKwljYXItPkR5bkdDZy5hY2MueSA9IChGLkYueCAqIFNpbnog KyBGLkYueSAqIENvc3opICogbWludjsKIAljYXItPkR5bkdDZy5hY2MueiA9IGNhci0+RHluR0Mu YWNjLno7CiAJCiAJY2FyLT5EeW5HQ2cuYWNjLmF4ID0gY2FyLT5EeW5HQy5hY2MuYXggPSBGLk0u eCAqIGNhci0+SWludi54OwogCWNhci0+RHluR0NnLmFjYy5heSA9IGNhci0+RHluR0MuYWNjLmF5 ID0gRi5NLnkgKiBjYXItPklpbnYueTsKLQljYXItPkR5bkdDZy5hY2MuYXogPSBjYXItPkR5bkdD LmFjYy5heiA9IChGLk0ueiAtIFJtKSAqIGNhci0+SWludi56OworCWNhci0+RHluR0NnLmFjYy5h eiA9IGNhci0+RHluR0MuYWNjLmF6ICs9IEYuTS56ICogY2FyLT5JaW52Lno7IC8vICs9IHNlZSB0 b3Jjcy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi9zaW11LmNwcCA6OiBTaW1VcGRhdGUoKSAKIH0K IAogc3RhdGljIHZvaWQKQEAgLTI1Niw3ICsyMzIsMTUgQEAKIAlpZiAoZmFicyhjYXItPkR5bkdD Zy52ZWwuYXopID4gOS4wKSB7CiAJCWNhci0+RHluR0NnLnZlbC5heiA9IFNJR04oY2FyLT5EeW5H Q2cudmVsLmF6KSAqIDkuMDsKIAl9Ci0JCQorCQorCS8qIEZJWE1FOiBIYWNrIHRvIHN0b3Agc3Rh dGlvbmFyeSBjYXIgZnJvbSByb3RhdGluZyAqLworCWlmICgoCWNhci0+RHluR0NnLnZlbC54KmNh ci0+RHluR0NnLnZlbC54ICsKKwkJY2FyLT5EeW5HQ2cudmVsLnkqY2FyLT5EeW5HQ2cudmVsLnkg KworCQljYXItPkR5bkdDZy52ZWwueipjYXItPkR5bkdDZy52ZWwueikgPCAwLjAxZiApCisJewor CQljYXItPkR5bkdDZy52ZWwuYXggPSBjYXItPkR5bkdDZy52ZWwuYXkgPSBjYXItPkR5bkdDZy52 ZWwuYXogPSAwLjBmOworCX0KKwkKIAljYXItPkR5bkdDLnZlbC5heCA9IGNhci0+RHluR0NnLnZl bC5heDsKIAljYXItPkR5bkdDLnZlbC5heSA9IGNhci0+RHluR0NnLnZlbC5heTsKIAljYXItPkR5 bkdDLnZlbC5heiA9IGNhci0+RHluR0NnLnZlbC5hejsKLS0tIHRvcmNzLTEuMy43L3NyYy9tb2R1 bGVzL3NpbXUvc2ltdXYyL2NvbGxpZGUuY3BwCTIwMTQtMDQtMTIgMDY6NTU6MjkuMDAwMDAwMDAw IC0wNzAwCisrKyB0b3Jjcy0xLjMuNy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi9jb2xsaWRlLmNw cAkyMDE3LTAzLTAyIDEzOjM3OjU1LjMzNzU4MzYwNiAtMDgwMApAQCAtMzcsNyArMzcsNyBAQAog CWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKIAkJd2hlZWwgPSAmKGNhci0+d2hlZWxbaV0pOwog CQlpZiAod2hlZWwtPnN0YXRlICYgU0lNX1NVU1BfQ09NUCkgewotCQkJY2FyLT5EeW5HQ2cucG9z LnogKz0gd2hlZWwtPnN1c3Auc3ByaW5nLnBhY2tlcnMgLSB3aGVlbC0+cmlkZUhlaWdodDsKKwkJ CWNhci0+RHluR0NnLnBvcy56ICs9IDAuMjVmKih3aGVlbC0+c3VzcC5zcHJpbmcucGFja2VycyAt IHdoZWVsLT5yaWRlSGVpZ2h0KTsgLy8gbGV2ZXJhZ2Ugb2YgNCB3aGVlbHMKIAkJCVJ0VHJhY2tT dXJmYWNlTm9ybWFsTCgmKHdoZWVsLT50cmtQb3MpLCAmbm9ybWFsKTsKIAkJCWRvdFByb2QgPSAo Y2FyLT5EeW5HQ2cudmVsLnggKiBub3JtYWwueCArIGNhci0+RHluR0NnLnZlbC55ICogbm9ybWFs LnkgKyBjYXItPkR5bkdDZy52ZWwueiAqIG5vcm1hbC56KSAqIHdoZWVsLT50cmtQb3Muc2VnLT5z dXJmYWNlLT5rUmVib3VuZDsKIAkJCWlmIChkb3RQcm9kIDwgMC4wZikgewotLS0gdG9yY3MtMS4z Ljcvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvc2ltdS5jcHAJMjAxNi0xMC0xNCAyMTo1MDoxMS4w MDAwMDAwMDAgLTA3MDAKKysrIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL3Np bXUuY3BwCTIwMTctMDMtMDIgMTM6Mzc6NTUuMzM4NTgzNzA3IC0wODAwCkBAIC0zODAsNiArMzgw LDcgQEAKIAkJCQlTaW1BeGxlVXBkYXRlKGNhciwgaSk7CiAJCQl9CiAJCQlDSEVDSyhjYXIpOwor CQkJY2FyLT5EeW5HQy5hY2MuYXogPSAwLjBmOyAvLyBzZWUgdG9yY3Mvc3JjL21vZHVsZXMvc2lt dS9zaW11djIvd2hlZWwuY3BwIDo6IFNpbVdoZWVsVXBkYXRlRm9yY2UoKQogCQkJZm9yIChpID0g MDsgaSA8IDQ7IGkrKyl7CiAJCQkJU2ltV2hlZWxVcGRhdGVGb3JjZShjYXIsIGkpOwogCQkJfQot LS0gdG9yY3MtMS4zLjcvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvc3VzcC5jcHAJMjAxNi0wMy0x OSAwNzo0NzowNS4wMDAwMDAwMDAgLTA3MDAKKysrIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL3Np bXUvc2ltdXYyL3N1c3AuY3BwCTIwMTctMDMtMDIgMTM6Mzc6NTUuMzM5NTgzODA0IC0wODAwCkBA IC0xMDcsOSArMTA3LDkgQEAKIAl9CiAJCiAJc3VzcC0+eCAqPSBzdXNwLT5zcHJpbmcuYmVsbGNy YW5rOwotCWlmIChzdXNwLT54ID4gc3VzcC0+c3ByaW5nLnhNYXgpIHsKKwlpZiAoc3VzcC0+eCA+ PSBzdXNwLT5zcHJpbmcueE1heCkgeyAvLyBUZXN0ZWQgT0sgd2l0aCAnPj0nIChTRCByNjAyMCkK IAkJc3VzcC0+eCA9IHN1c3AtPnNwcmluZy54TWF4OwotCQlzdXNwLT5zdGF0ZSA9IFNJTV9TVVNQ X0VYVDsKKwkJc3VzcC0+c3RhdGUgPSBTSU1fU1VTUF9FWFQ7IC8vIHN1c3AtPnN0YXRlIHVwZGF0 ZWQgYWxzbwogCX0KIH0KIAotLS0gdG9yY3MtMS4zLjcvc3JjL21vZHVsZXMvc2ltdS9zaW11djIv d2hlZWwuY3BwCTIwMTYtMDUtMTYgMTU6NTM6MDcuMDAwMDAwMDAwIC0wNzAwCisrKyB0b3Jjcy0x LjMuNy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi93aGVlbC5jcHAJMjAxNy0wMy0wMiAxMzo0OTox Ni43NjMwMjE1NzUgLTA4MDAKQEAgLTQ2LDkgKzQ2LDkgQEAKIAlDYSAgICAgICAgICAgICAgICAg ICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0NBLCAoY2hhciop TlVMTCwgMzAuMGYpOwogCVJGYWN0b3IgICAgICAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxl LCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fUkZBQ1RPUiwgKGNoYXIqKU5VTEwsIDAuOGYpOwogCUVG YWN0b3IgICAgICAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhd LCBQUk1fRUZBQ1RPUiwgKGNoYXIqKU5VTEwsIDAuN2YpOwotCXdoZWVsLT5sZk1heCAgICAgICAg ICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fTE9BREZNQVgsIChj aGFyKilOVUxMLCAxLjZmKTsKLQl3aGVlbC0+bGZNaW4gICAgICAgICAgPSBHZlBhcm1HZXROdW0o aGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0xPQURGTUlOLCAoY2hhciopTlVMTCwgMC44Zik7 Ci0Jd2hlZWwtPm9wTG9hZCAgICAgICAgID0gR2ZQYXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtp bmRleF0sIFBSTV9PUExPQUQsIChjaGFyKilOVUxMLCB3aGVlbC0+d2VpZ2h0MCAqIDEuMmYpOwor CXdoZWVsLT5sZk1heCAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5k ZXhdLCBQUk1fTE9BREZNQVgsIChjaGFyKilOVUxMLCAxLjRmKTsKKwl3aGVlbC0+bGZNaW4gICAg ICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0xPQURGTUlO LCAoY2hhciopTlVMTCwgMS4wZik7CisJd2hlZWwtPm9wTG9hZCAgICAgICAgID0gR2ZQYXJtR2V0 TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBSTV9PUExPQUQsIChjaGFyKilOVUxMLCB3aGVl bC0+d2VpZ2h0MCAqIDEuNjE4Zik7CiAJd2hlZWwtPm1hc3MgICAgICAgICAgID0gR2ZQYXJtR2V0 TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBSTV9NQVNTLCAoY2hhciopTlVMTCwgMjAuMGYp OwogCiAJaWYgKGluZGV4ICUgMikgewpAQCAtMTc0LDEyICsxNzQsMTIgQEAKIHsKIAl0V2hlZWwg KndoZWVsID0gJihjYXItPndoZWVsW2luZGV4XSk7CiAJdGRibGUgYXhsZUZ6ID0gd2hlZWwtPmF4 bGVGejsKLQl0ZGJsZSB2dCwgdiwgdjIsIHdybDsgLy8gd2hlZWwgcmVsYXRlZCB2ZWxvY2l0eQor CXRkYmxlIHZ0LCB2biwgdiwgdjIsIHdybCwgc2xpcF9tYWduaXR1ZGUgPSAwLjAwMDAwMGY7IC8v IHdoZWVsIHJlbGF0ZWQgdmVsb2NpdHkKIAl0ZGJsZSBGbiwgRnQ7CiAJdGRibGUgd2F6OwotCXRk YmxlIENvc0EsIFNpbkE7Ci0JdGRibGUgcywgc2EsIHN4LCBzeTsgLy8gc2xpcCB2ZWN0b3IKLQl0 ZGJsZSBzdG1wLCBGLCBCeDsKKwlkb3VibGUgQ29zQSwgU2luQTsKKwl0ZGJsZSBzLCBzeCwgc3ks IHNhejsgLy8gc2xpcCB2ZWN0b3IKKwl0ZGJsZSBGLCBCeDsKIAl0ZGJsZSBtdTsKIAl3aGVlbC0+ c3RhdGUgPSAwOwogCkBAIC0yMDksNTIgKzIwOSw0NyBAQAogCX0KIAogCS8vIEhPUklaT05UQUwg Rk9SQ0VTCi0Jd2F6ID0gd2hlZWwtPnN0ZWVyICsgd2hlZWwtPnN0YXRpY1Bvcy5hejsKKwl3YXog PSB3aGVlbC0+c3RlZXIgKyB3aGVlbC0+c3RhdGljUG9zLmF6IC0gKFNpbURlbHRhVGltZSpjYXIt PkR5bkdDLnZlbC5heiAvKiBhY2NvdW50IGZvciB5YXcgaW5kdWNlZCB3aGVlbCBkaXJlY3Rpb24g Ki8pOwogCUNvc0EgPSBjb3Mod2F6KTsKIAlTaW5BID0gc2luKHdheik7CiAKIAkvLyB0YW5nZW50 IHZlbG9jaXR5LgogCXZ0ID0gd2hlZWwtPmJvZHlWZWwueCAqIENvc0EgKyB3aGVlbC0+Ym9keVZl bC55ICogU2luQTsKKwl2biA9IHdoZWVsLT5ib2R5VmVsLnkgKiBDb3NBIC0gd2hlZWwtPmJvZHlW ZWwueCAqIFNpbkE7CiAJdjIgPSB3aGVlbC0+Ym9keVZlbC54ICogd2hlZWwtPmJvZHlWZWwueCAr IHdoZWVsLT5ib2R5VmVsLnkgKiB3aGVlbC0+Ym9keVZlbC55OwotCXYgPSBzcXJ0KHYyKTsKLQot CS8vIHNsaXAgYW5nbGUKLQlpZiAodiA8IDAuMDAwMDAxZikgewotCQlzYSA9IDAuMGY7Ci0JfSBl bHNlIHsKLQkJc2EgPSBhdGFuMih3aGVlbC0+Ym9keVZlbC55LCB3aGVlbC0+Ym9keVZlbC54KSAt IHdhejsKLQl9Ci0JTk9STV9QSV9QSShzYSk7CisJdiA9IHNxcnRmKHYyKTsKIAogCXdybCA9IHdo ZWVsLT5zcGluVmVsICogd2hlZWwtPnJhZGl1czsKKwogCWlmICgod2hlZWwtPnN0YXRlICYgU0lN X1dIX09OQUlSKSAhPSAwKSB7Ci0JCXN4ID0gc3kgPSAwLjBmOwotCX0gZWxzZSBpZiAodiA8IDAu MDAwMDAxZikgewotCQlzeCA9IHdybDsKLQkJc3kgPSAwLjBmOworCQlzeCA9IHN5ID0gc2F6ID0g MC4wZjsKIAl9IGVsc2UgewotCQlzeCA9ICh2dCAtIHdybCkgLyBmYWJzKHZ0KTsKLQkJc3kgPSBz aW4oc2EpOworCQkvLyBDT01CSU5FRCBMT05HSVRVRElOQUwsIExBVEVSQUwsIGFuZCBZQVdJTkcg VElSRSBTTElQIEZPUkNFUzoKKwkJLy8gTm9ybWFsaXplIHRoZSBmcmljdGlvbiBjaXJjbGUgdG8g Z2V0IG5vcm1hbGl6ZWQgdmVjdG9yIGNvbXBvbmVudHMgKHN4LCBzeSkgd2hpbGUKKwkJLy8gYnJh a2luZyAodnQpLCBhY2NlbGVyYXRpbmcgKHdybCksIG9yIHdoZWVsIGNvdW50ZXIgc3BpbiAodnQg LSB3cmwpIGZvciBhbnkgYW5nbGUuCisJCS8vIHNheiBzbGlwIHNwZWVkIGFjY291bnRzIGZvciBy b3RhdGluZyB0aGUgY29udGFjdCBwYXRjaCAoeWF3KS4gKiBhZGQgc3RlZXJpbmcgc3BlZWQgYW5k IHNlbGYgYWxpZ25pbmcgdG9ycXVlLgorCQlzYXogPSAoMS4xZiozLjE0MTZmKSAqIGNhci0+RHlu R0MudmVsLmF6ICogY2FyLT5jYXJFbHQtPl90aXJlV2lkdGgoaW5kZXgpOyAvLyB5YXdpbmcgc2xp cCBzcGVlZC4KKwkJc2xpcF9tYWduaXR1ZGUgPSAwLjAwMDAwMWYgKyAvKiBTb2Z0ZW5pbmcgZmFj dG9yIDAuMDAwMDAxIHByZXZlbnRzIGRpdmlkZSBieSB6ZXJvICovCisJCQkJc3FydCggTUFYKE1B WCgodjIgKyBzYXoqc2F6KSwgKHZuKnZuICsgd3JsKndybCArIHNheipzYXopKSwgKHZuKnZuICsg KHZ0IC0gd3JsKSoodnQgLSB3cmwpICsgc2F6KnNheikpICk7CisJCXN4ID0gKHZ0IC0gd3JsKSAv IHNsaXBfbWFnbml0dWRlOworCQlzeSA9IHZuIC8gc2xpcF9tYWduaXR1ZGU7CisJCXNheiAvPSBz bGlwX21hZ25pdHVkZTsKIAl9CiAKLQlGdCA9IDAuMGY7Ci0JRm4gPSAwLjBmOwotCXMgPSBzcXJ0 KHN4KnN4K3N5KnN5KTsKKwlzID0gc3FydGYoc3gqc3grc3kqc3krc2F6KnNheik7CiAKIAl7Ci0J CS8vIGNhbGN1bGF0ZSBfc2tpZCBhbmQgX3JlYWN0aW9uIGZvciBzb3VuZC4KLQkJaWYgKHYgPCAy LjBmKSB7CisJCS8vIGNhbGN1bGF0ZSBfc2tpZCBhbmQgX3JlYWN0aW9uIGZvciBzb3VuZCAoc3Vz cGljaW91c2x5OyBhZmZlY3RzIHRyYWN0aW9uIGFsc28pLgorCQlpZiAoKHYgPCAwLjAxZikgfHwg KHpmb3JjZSA8IDAuMDAyZikpIHsKIAkJCWNhci0+Y2FyRWx0LT5fc2tpZFtpbmRleF0gPSAwLjBm OwogCQl9IGVsc2UgewotCQkJY2FyLT5jYXJFbHQtPl9za2lkW2luZGV4XSA9ICBNSU4oMS4wZiwg KHMqemZvcmNlKjAuMDAwMmYpKTsKKwkJCWNhci0+Y2FyRWx0LT5fc2tpZFtpbmRleF0gPSBzOyAv LyBsaW5lYXIgKHRhbmggcmVtb3ZlZCBpbiBncnNraWRtYXJrcy5jcHApCiAJCX0KIAl9CiAKLQlz dG1wID0gTUlOKHMsIDEuNWYpOwotCQotCS8vIE1BR0lDIEZPUk1VTEEKLQlCeCA9IHdoZWVsLT5t ZkIgKiBzdG1wOwotCUYgPSBzaW4od2hlZWwtPm1mQyAqIGF0YW4oQnggKiAoMS4wZiAtIHdoZWVs LT5tZkUpICsgd2hlZWwtPm1mRSAqIGF0YW4oQngpKSkgKiAoMS4wZiArIHN0bXAgKiBzaW1Ta2lk RmFjdG9yW2Nhci0+Y2FyRWx0LT5fc2tpbGxMZXZlbF0pOworCS8vIE1BR0lDIEZPUk1VTEEgLy8g Tm90ZTogRiA9IHNpbiguLi4pIGJlbG93IHJldHVybnMgbm9ybWFsaXplZCBmb3JjZSEKKwlCeCA9 IHdoZWVsLT5tZkIgKiBzOworCUYgPSBzaW4od2hlZWwtPm1mQyAqIGF0YW4oQnggKiAoMS4wZiAt IHdoZWVsLT5tZkUpICsgd2hlZWwtPm1mRSAqIGF0YW4oQngpKSkgKiAoMS4wZiArIHMgKiBzaW1T a2lkRmFjdG9yW2Nhci0+Y2FyRWx0LT5fc2tpbGxMZXZlbF0pOwogCiAJLy8gbG9hZCBzZW5zaXRp dml0eQogCW11ID0gd2hlZWwtPm11ICogKHdoZWVsLT5sZk1pbiArICh3aGVlbC0+bGZNYXggLSB3 aGVlbC0+bGZNaW4pICogZXhwKHdoZWVsLT5sZksgKiB6Zm9yY2UgLyB3aGVlbC0+b3BMb2FkKSk7 CkBAIC0yNjIsMzEgKzI1NywzNSBAQAogCUYgKj0gemZvcmNlICogbXUgKiB3aGVlbC0+dHJrUG9z LnNlZy0+c3VyZmFjZS0+a0ZyaWN0aW9uICogKDEuMGYgKyAwLjA1ZiAqIHNpbigtd2hlZWwtPnN0 YXRpY1Bvcy5heCAqIDE4LjBmKSk7CS8qIGNvZWZmICovCiAKIAl3aGVlbC0+cm9sbFJlcyA9IHpm b3JjZSAqIHdoZWVsLT50cmtQb3Muc2VnLT5zdXJmYWNlLT5rUm9sbFJlczsKLSAgICBjYXItPmNh ckVsdC0+cHJpdi53aGVlbFtpbmRleF0ucm9sbFJlcyA9IHdoZWVsLT5yb2xsUmVzOwogCi0JaWYg KHMgPiAwLjAwMDAwMWYpIHsKLQkJLy8gd2hlZWwgYXhpcyBiYXNlZAotCQlGdCAtPSBGICogc3gg LyBzOwotCQlGbiAtPSBGICogc3kgLyBzOwotCX0KKwkvLyB3aGVlbCBheGlzIGJhc2VkCisJcyAr PSAwLjAwMDAwMWY7IC8vIGFkZCAwLjAwMDAwMSB0byBhdm9pZCBkaXZpZGUgYnkgemVybyBsYXRl ci4KKwlGdCA9IC0oRiAtIHdoZWVsLT5yb2xsUmVzKSAqIHN4L3M7IC8vIHJvbGxpbmcgcmVzaXN0 YW5jZSBpcyB0aGUgcm9sbGluZyB2ZWN0b3IgY29tcG9uZW50IG9ubHkuCisJRm4gPSAtRiAqIHN5 L3M7CiAKLQlSRUxBWEFUSU9OMihGbiwgd2hlZWwtPnByZUZuLCA1MC4wZik7Ci0JUkVMQVhBVElP TjIoRnQsIHdoZWVsLT5wcmVGdCwgNTAuMGYpOworCWNhci0+RHluR0MuYWNjLmF6ICs9IC1GICog c2F6L3MgKiBTaW1EZWx0YVRpbWUgKiBjYXItPklpbnYuejsgLy8gc2VlIHRvcmNzL3NyYy9tb2R1 bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwIDo6IFNpbVVwZGF0ZSgpCisKKwl3aGVlbC0+cm9sbFJl cyAqPSBmYWJzZihzeC9zKTsgLy8gbm90IHVzZWQgKHJlbW92ZWQgZnJvbSAvc3JjL21vZHVsZXMv c2ltdS9zaW11djIvY2FyLmNwcCkKKwljYXItPmNhckVsdC0+cHJpdi53aGVlbFtpbmRleF0ucm9s bFJlcyA9IHdoZWVsLT5yb2xsUmVzOyAvLyBub3QgdXNlZCBpbiAvc3JjL21vZHVsZXMvZ3JhcGhp Yy9zc2dncmFwaC9DYXJTb3VuZERhdGEuY3BwCisKKwl3YXogPSB3aGVlbC0+c3RlZXIgKyB3aGVl bC0+c3RhdGljUG9zLmF6OyAvKiBkb24ndCBpbmNsdWRlIHlhdyBpbmR1Y2VkIHdoZWVsIGRpcmVj dGlvbiBoZXJlICovCisJQ29zQSA9IGNvcyh3YXopOworCVNpbkEgPSBzaW4od2F6KTsKIAogCXdo ZWVsLT5yZWxQb3MuYXogPSB3YXo7CiAKIAl3aGVlbC0+Zm9yY2VzLnggPSBGdCAqIENvc0EgLSBG biAqIFNpbkE7CiAJd2hlZWwtPmZvcmNlcy55ID0gRnQgKiBTaW5BICsgRm4gKiBDb3NBOwogCXdo ZWVsLT5zcGluVHEgPSBGdCAqIHdoZWVsLT5yYWRpdXM7Ci0Jd2hlZWwtPnNhID0gc2E7CisJd2hl ZWwtPnNhID0gYXRhbjIod2hlZWwtPmJvZHlWZWwueSwgd2hlZWwtPmJvZHlWZWwueCkgLSB3YXo7 CiAJd2hlZWwtPnN4ID0gc3g7CiAKIAl3aGVlbC0+ZmVlZEJhY2suc3BpblZlbCA9IHdoZWVsLT5z cGluVmVsOwogCXdoZWVsLT5mZWVkQmFjay5UcSA9IHdoZWVsLT5zcGluVHE7CiAJd2hlZWwtPmZl ZWRCYWNrLmJya1RxID0gd2hlZWwtPmJyYWtlLlRxOwogCi0JY2FyLT5jYXJFbHQtPl93aGVlbFNs aXBTaWRlKGluZGV4KSA9IHN5KnY7Ci0JY2FyLT5jYXJFbHQtPl93aGVlbFNsaXBBY2NlbChpbmRl eCkgPSBzeCp2OworCWNhci0+Y2FyRWx0LT5fd2hlZWxTbGlwU2lkZShpbmRleCkgPSB2biooMS4w Zi1zeSk7IC8vIHdoZWVsIG5vcm1hbCBhZGhlc2lvbiB2ZWxvY2l0eQorCWNhci0+Y2FyRWx0LT5f d2hlZWxTbGlwQWNjZWwoaW5kZXgpID0gdnQqKDEuMGYtc3gpOyAvLyB3aGVlbCB0YW5nZW50IGFk aGVzaW9uIHZlbG9jaXR5CiAJY2FyLT5jYXJFbHQtPl9yZWFjdGlvbltpbmRleF0gPSB6Zm9yY2U7 CiB9CiAKQEAgLTMwMSw4ICszMDAsNiBAQAogCQl3aGVlbCA9ICYoY2FyLT53aGVlbFtpXSk7CiAJ CXdoZWVsLT5zcGluVmVsID0gd2hlZWwtPmluLnNwaW5WZWw7CiAKLQkJUkVMQVhBVElPTjIod2hl ZWwtPnNwaW5WZWwsIHdoZWVsLT5wcmVzcGluVmVsLCA1MC4wZik7Ci0KIAkJd2hlZWwtPnJlbFBv cy5heSArPSB3aGVlbC0+c3BpblZlbCAqIFNpbURlbHRhVGltZTsKIAkJTk9STV9QSV9QSSh3aGVl bC0+cmVsUG9zLmF5KTsKIAkJY2FyLT5jYXJFbHQtPl93aGVlbFNwaW5WZWwoaSkgPSB3aGVlbC0+ c3BpblZlbDsK ------=_Part_60528201_1319061192.1488496490304 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ------=_Part_60528201_1319061192.1488496490304 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Torcs-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/torcs-users ------=_Part_60528201_1319061192.1488496490304--