com gtk/php-gtk: Module isn't registered, so this has no way to work at present. (config.m4 probably needs updating when it does work, there've been some function changes since 2.4): ext/libglade/config.w32 ext/libglade/libglade.defs ext/libglade/libglade.overrides ext/libglade/php_libglade.c ext/libglade/php_libglade .h ext/libglade/v1.libglade.overrides
[email protected] (David Soria Parra) Wed, 21 Sep 2005 15:15:29 +0000
| Newsgroups | php.gtk.cvs |
|---|---|
| Message-ID | <[email protected]> |
--7eef5a31e7171ef5a7ea1492194209e7e669b4c1 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Commit: 4646cdba60f0665d574ad15a1ad2f668544f5a13=0AAuthor: Steph Fox = <[email protected]> Wed, 21 Sep 2005 15:15:29 +0000=0AParents: 82c7b86= 2cbc62e27ac696c3dfc1634adb19eb9e0=0ABranches: master=0A=0ALink: http= ://git.php.net/?p=3Dgtk/php-gtk.git;a=3Dcommitdiff;h=3D4646cdba60f0665d574a= d15a1ad2f668544f5a13=0A=0ALog:=0AModule isn't registered, so this has no wa= y to work at present.=0A(config.m4 probably needs updating when it does wor= k, there've been some function changes since 2.4)=0A=0AChanged paths:=0A A= ext/libglade/config.w32=0A M ext/libglade/libglade.defs=0A M ext/libg= lade/libglade.overrides=0A M ext/libglade/php_libglade.c=0A M ext/libgl= ade/php_libglade.h=0A A ext/libglade/v1.libglade.overrides=0A=0A --7eef5a31e7171ef5a7ea1492194209e7e669b4c1 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="diff_4646cdba60f0665d574ad15a1ad2f668544f5a13.txt" NDY0NmNkYmE2MGYwNjY1ZDU3NGFkMTVhMWFkMmY2Njg1NDRmNWExMwpkaWZmIC0tZ2l0IGEvZXh0 L2xpYmdsYWRlL2NvbmZpZy53MzIgYi9leHQvbGliZ2xhZGUvY29uZmlnLnczMgpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mY2EwYmU0Ci0tLSAvZGV2L251bGwKKysrIGIvZXh0 L2xpYmdsYWRlL2NvbmZpZy53MzIKQEAgLTAsMCArMSwyNiBAQAorCitBUkdfV0lUSCgibGliZ2xh ZGUiLCAiR2xhZGUgc3VwcG9ydCIsICJubyIpOworCitpZiAoUEhQX0dUS19MSUJHTEFERSAhPSAi bm8iKSB7CisKKwlpZiAoQ0hFQ0tfSEVBREVSKCJnbGFkZVxcZ2xhZGUuaCIpICYmIENIRUNLX0xJ QigiZ2xhZGUtMi4wLmxpYiIsICJsaWJnbGFkZSIpKSB7CisKKwkJQUREX0ZMQUcoIkNGTEFHU19M SUJHTEFERSIsICIvSSBleHRcXGxpYmdsYWRlIC9JIC4uXFxleHRcXGxpYmdsYWRlIC9EIEhBVkVf TElCR0xBREU9MSIpOworCQlFWFRFTlNJT04oImxpYmdsYWRlIiwgInBocF9saWJnbGFkZS5jIGdl bl9saWJnbGFkZS5jIiwgdHJ1ZSk7IC8vIGFsd2F5cyBzaGFyZWQKKwkJQUNfREVGSU5FKCJIQVZF X0xJQkdMQURFIiwgMSwgImxpYmdsYWRlIGVuYWJsZWQiKTsKKworCQlpZiAoRlNPLkZpbGVFeGlz dHMoIndpbjMyXFx0ZW1wLmJhdCIpKSB7CisKKwkJCXZhciB0ZW1wID0gRlNPLk9wZW5UZXh0Rmls ZSgid2luMzJcXHRlbXAuYmF0IiwgOCk7CisKKwkJCXRlbXAuV3JpdGVMaW5lKCJwaHAgLXEgZ2Vu ZXJhdG9yXFxnZW5lcmF0b3IucGhwIC1sIHdpbjMyXFxsb2dzXFxjb25maWdfZ2xhZGUubG9nIC1v IGV4dFxcbGliZ2xhZGVcXGxpYmdsYWRlLm92ZXJyaWRlcyAtcCBHbGFkZVhNTCBleHRcXGxpYmds YWRlXFxsaWJnbGFkZS5kZWZzID4gZXh0XFxsaWJnbGFkZVxcZ2VuX2xpYmdsYWRlLmMiKTsKKwor CQkJdGVtcC5Xcml0ZUxpbmUoJ2dyZXAgLWggIl5QSFBfR1RLX0VYUE9SVF9DRSIgZXh0XFxsaWJn bGFkZVxcZ2VuX2xpYmdsYWRlLmMgfCBzZWQgLWUgInMvXi9QSFBfR1RLX0FQSSBleHRlcm4gLyIg PiBleHRcXGxpYmdsYWRlXFxnZW5fbGliZ2xhZGUuaCcpOworCQl9CisKKwl9IGVsc2UgeworCisJ CVdBUk5JTkcoImxpYmdsYWRlIG5vdCBlbmFibGVkOyBsaWJyYXJpZXMgYW5kIGhlYWRlcnMgbm90 IGZvdW5kIik7CisJfQorCit9CmRpZmYgLS1naXQgYS9leHQvbGliZ2xhZGUvbGliZ2xhZGUuZGVm cyBiL2V4dC9saWJnbGFkZS9saWJnbGFkZS5kZWZzCmluZGV4IDZkMjcwYWYuLjcxNjc3YzYgMTAw NjQ0Ci0tLSBhL2V4dC9saWJnbGFkZS9saWJnbGFkZS5kZWZzCisrKyBiL2V4dC9saWJnbGFkZS9s aWJnbGFkZS5kZWZzCkBAIC0xLDEzOCArMSwxNTIgQEAKIDs7IC0qLSBzY2hlbWUgLSotCiA7IG9i amVjdCBkZWZpbml0aW9ucyAuLi4KLShvYmplY3QgWE1MCi0gIChpbi1tb2R1bGUgR2xhZGUpCi0g IChwYXJlbnQgRGF0YSAoR3RrKSkKLSAgKGMtbmFtZSBHbGFkZVhNTCkKLSkKLQotOzsgRW51bWVy YXRpb25zIGFuZCBmbGFncyAuLi4KLQotCi07OyBGcm9tIC91c3IvaW5jbHVkZS9nbGFkZS9nbGFk ZS14bWwuaAogCi0oZnVuY3Rpb24gZ2xhZGVfeG1sX2dldF90eXBlCi0gIChjLW5hbWUgZ2xhZGVf eG1sX2dldF90eXBlKQotICAocmV0dXJuLXR5cGUgR3RrVHlwZSkKKyhkZWZpbmUtb2JqZWN0IFhN TAorICAoaW4tbW9kdWxlICJHbGFkZSIpCisgIChwYXJlbnQgIkd0a09iamVjdCIpCisgIChjLW5h bWUgIkdsYWRlWE1MIikKKyAgKGd0eXBlLWlkICJHTEFERV9UWVBFX1hNTCIpCiApCiAKLShmdW5j dGlvbiBnbGFkZV94bWxfbmV3Ci0gIChjLW5hbWUgZ2xhZGVfeG1sX25ldykKLSAgKHJldHVybi10 eXBlIEdsYWRlWE1MKikKLSAgKHBhcmFtZXRlciAodHlwZS1hbmQtbmFtZSBjb25zdC1jaGFyKiBm bmFtZSkpCi0gIChwYXJhbWV0ZXIgKHR5cGUtYW5kLW5hbWUgY29uc3QtY2hhciogcm9vdCkgKG51 bGwtb2spIChkZWZhdWx0ICJOVUxMIikpCi0pCis7OyBGdW5jdGlvbnMsIGNvbnN0cnVjdG9ycywg YW5kIG1ldGhvZHMgLi4uCiAKLShmdW5jdGlvbiBnbGFkZV94bWxfbmV3X3dpdGhfZG9tYWluCi0g IChjLW5hbWUgZ2xhZGVfeG1sX25ld193aXRoX2RvbWFpbikKLSAgKGlzLWNvbnN0cnVjdG9yLW9m IEdsYWRlWE1MKQotICAocmV0dXJuLXR5cGUgR2xhZGVYTUwqKQotICAocGFyYW1ldGVyICh0eXBl LWFuZC1uYW1lIGNvbnN0LWNoYXIqIGZuYW1lKSkKLSAgKHBhcmFtZXRlciAodHlwZS1hbmQtbmFt ZSBjb25zdC1jaGFyKiByb290KSAobnVsbC1vaykgKGRlZmF1bHQgIk5VTEwiKSkKLSAgKHBhcmFt ZXRlciAodHlwZS1hbmQtbmFtZSBjb25zdC1jaGFyKiBkb21haW4pIChudWxsLW9rKSAoZGVmYXVs dCAiTlVMTCIpKQorKGRlZmluZS1mdW5jdGlvbiBnbGFkZV94bWxfZ2V0X3R5cGUKKyAgKGMtbmFt ZSAiZ2xhZGVfeG1sX2dldF90eXBlIikKKyAgKHJldHVybi10eXBlICJHVHlwZSIpCiApCiAKLShm dW5jdGlvbiB4bWxfbmV3X2Zyb21fbWVtb3J5Ci0gIChjLW5hbWUgZ2xhZGVfeG1sX25ld19mcm9t X21lbW9yeSkKKyhkZWZpbmUtZnVuY3Rpb24gZ2xhZGVfeG1sX25ldworICAoaXMtY29uc3RydWN0 b3Itb2YgIkdsYWRlWE1MIikKKyAgKGMtbmFtZSAiZ2xhZGVfeG1sX25ldyIpCisgIChjYWxsZXIt b3ducy1yZXR1cm4gI3QpCiAgIChyZXR1cm4tdHlwZSBHbGFkZVhNTCopCi0gIChwYXJhbWV0ZXIg KHR5cGUtYW5kLW5hbWUgY2hhciogYnVmZmVyKSkKLSAgKHBhcmFtZXRlciAodHlwZS1hbmQtbmFt ZSBpbnQgc2l6ZSkpCi0gIChwYXJhbWV0ZXIgKHR5cGUtYW5kLW5hbWUgY29uc3QtY2hhciogcm9v dCkgKG51bGwtb2spKQotICAocGFyYW1ldGVyICh0eXBlLWFuZC1uYW1lIGNvbnN0LWNoYXIqIGRv bWFpbikgKG51bGwtb2spKQotKQotCi0obWV0aG9kIGNvbnN0cnVjdAotICAob2Ytb2JqZWN0IFhN TCAoR2xhZGUpKQotICAoYy1uYW1lIGdsYWRlX3htbF9jb25zdHJ1Y3QpCi0gIChyZXR1cm4tdHlw ZSBnYm9vbGVhbikKLSAgKHBhcmFtZXRlciAodHlwZS1hbmQtbmFtZSBjb25zdC1jaGFyKiBmbmFt ZSkpCi0gIChwYXJhbWV0ZXIgKHR5cGUtYW5kLW5hbWUgY29uc3QtY2hhciogcm9vdCkpCi0gIChw YXJhbWV0ZXIgKHR5cGUtYW5kLW5hbWUgY29uc3QtY2hhciogZG9tYWluKSkKLSkKLQotKG1ldGhv ZCBzaWduYWxfY29ubmVjdAotICAob2Ytb2JqZWN0IFhNTCAoR2xhZGUpKQotICAoYy1uYW1lIGds YWRlX3htbF9zaWduYWxfY29ubmVjdCkKLSAgKHJldHVybi10eXBlIG5vbmUpCi0gIChwYXJhbWV0 ZXIgKHR5cGUtYW5kLW5hbWUgY29uc3QtY2hhciogaGFuZGxlcm5hbWUpKQotICAocGFyYW1ldGVy ICh0eXBlLWFuZC1uYW1lIEd0a1NpZ25hbEZ1bmMgZnVuYykpCi0pCi0KLShtZXRob2Qgc2lnbmFs X2Nvbm5lY3RfZGF0YQotICAob2Ytb2JqZWN0IFhNTCAoR2xhZGUpKQotICAoYy1uYW1lIGdsYWRl X3htbF9zaWduYWxfY29ubmVjdF9kYXRhKQotICAocmV0dXJuLXR5cGUgbm9uZSkKLSAgKHBhcmFt ZXRlciAodHlwZS1hbmQtbmFtZSBjb25zdC1jaGFyKiBoYW5kbGVybmFtZSkpCi0gIChwYXJhbWV0 ZXIgKHR5cGUtYW5kLW5hbWUgR3RrU2lnbmFsRnVuYyBmdW5jKSkKLSAgKHBhcmFtZXRlciAodHlw ZS1hbmQtbmFtZSBncG9pbnRlciB1c2VyX2RhdGEpKQotKQotCi0obWV0aG9kIHNpZ25hbF9hdXRv Y29ubmVjdAotICAob2Ytb2JqZWN0IFhNTCAoR2xhZGUpKQotICAoYy1uYW1lIGdsYWRlX3htbF9z aWduYWxfYXV0b2Nvbm5lY3QpCi0gIChyZXR1cm4tdHlwZSBub25lKQotKQotCi0obWV0aG9kIHNp Z25hbF9jb25uZWN0X2Z1bGwKLSAgKG9mLW9iamVjdCBYTUwgKEdsYWRlKSkKLSAgKGMtbmFtZSBn bGFkZV94bWxfc2lnbmFsX2Nvbm5lY3RfZnVsbCkKLSAgKHJldHVybi10eXBlIG5vbmUpCi0gIChw YXJhbWV0ZXIgKHR5cGUtYW5kLW5hbWUgY29uc3QtZ2NoYXIqIGhhbmRsZXJfbmFtZSkpCi0gIChw YXJhbWV0ZXIgKHR5cGUtYW5kLW5hbWUgR2xhZGVYTUxDb25uZWN0RnVuYyBmdW5jKSkKLSAgKHBh cmFtZXRlciAodHlwZS1hbmQtbmFtZSBncG9pbnRlciB1c2VyX2RhdGEpKQotKQotCi0obWV0aG9k IHNpZ25hbF9hdXRvY29ubmVjdF9mdWxsCi0gIChvZi1vYmplY3QgWE1MIChHbGFkZSkpCi0gIChj LW5hbWUgZ2xhZGVfeG1sX3NpZ25hbF9hdXRvY29ubmVjdF9mdWxsKQotICAocmV0dXJuLXR5cGUg bm9uZSkKLSAgKHBhcmFtZXRlciAodHlwZS1hbmQtbmFtZSBHbGFkZVhNTENvbm5lY3RGdW5jIGZ1 bmMpKQotICAocGFyYW1ldGVyICh0eXBlLWFuZC1uYW1lIGdwb2ludGVyIHVzZXJfZGF0YSkpCi0p Ci0KLShtZXRob2QgZ2V0X3dpZGdldAotICAob2Ytb2JqZWN0IFhNTCAoR2xhZGUpKQotICAoYy1u YW1lIGdsYWRlX3htbF9nZXRfd2lkZ2V0KQotICAocmV0dXJuLXR5cGUgR3RrV2lkZ2V0KikKLSAg KHBhcmFtZXRlciAodHlwZS1hbmQtbmFtZSBjb25zdC1jaGFyKiBuYW1lKSkKLSkKLQotKG1ldGhv ZCBnZXRfd2lkZ2V0X3ByZWZpeAotICAob2Ytb2JqZWN0IFhNTCAoR2xhZGUpKQotICAoYy1uYW1l IGdsYWRlX3htbF9nZXRfd2lkZ2V0X3ByZWZpeCkKLSAgKHJldHVybi10eXBlIEdMaXN0KikKLSAg KHBhcmFtZXRlciAodHlwZS1hbmQtbmFtZSBjb25zdC1jaGFyKiBuYW1lKSkKLSkKLQotKG1ldGhv ZCBnZXRfd2lkZ2V0X2J5X2xvbmdfbmFtZQotICAob2Ytb2JqZWN0IFhNTCAoR2xhZGUpKQotICAo Yy1uYW1lIGdsYWRlX3htbF9nZXRfd2lkZ2V0X2J5X2xvbmdfbmFtZSkKLSAgKHJldHVybi10eXBl IEd0a1dpZGdldCopCi0gIChwYXJhbWV0ZXIgKHR5cGUtYW5kLW5hbWUgY29uc3QtY2hhciogbG9u Z25hbWUpKQotKQotCi0obWV0aG9kIHJlbGF0aXZlX2ZpbGUKLSAgKG9mLW9iamVjdCBYTUwgKEds YWRlKSkKLSAgKGMtbmFtZSBnbGFkZV94bWxfcmVsYXRpdmVfZmlsZSkKLSAgKHJldHVybi10eXBl IGdjaGFyKikKLSAgKHBhcmFtZXRlciAodHlwZS1hbmQtbmFtZSBjb25zdC1nY2hhciogZmlsZW5h bWUpKQotKQotCi0oZnVuY3Rpb24gZ2V0X3dpZGdldF9uYW1lCi0gIChjLW5hbWUgZ2xhZGVfZ2V0 X3dpZGdldF9uYW1lKQotICAocmV0dXJuLXR5cGUgY29uc3QtZ2NoYXIqKQotICAocGFyYW1ldGVy ICh0eXBlLWFuZC1uYW1lIEd0a1dpZGdldCogd2lkZ2V0KSkKLSkKLQotKGZ1bmN0aW9uIGdldF93 aWRnZXRfbG9uZ19uYW1lCi0gIChjLW5hbWUgZ2xhZGVfZ2V0X3dpZGdldF9sb25nX25hbWUpCi0g IChyZXR1cm4tdHlwZSBjb25zdC1nY2hhciopCi0gIChwYXJhbWV0ZXIgKHR5cGUtYW5kLW5hbWUg R3RrV2lkZ2V0KiB3aWRnZXQpKQorICAocGFyYW1ldGVycworICAgICcoImNvbnN0LWNoYXIqIiAi Zm5hbWUiKQorICAgICcoImNvbnN0LWNoYXIqIiAicm9vdCIpCisgICAgJygiY29uc3QtY2hhcioi ICJkb21haW4iKQorICApCiApCiAKLShmdW5jdGlvbiBnZXRfd2lkZ2V0X3RyZWUKLSAgKGMtbmFt ZSBnbGFkZV9nZXRfd2lkZ2V0X3RyZWUpCisoZGVmaW5lLWZ1bmN0aW9uIGdsYWRlX3htbF9uZXdf ZnJvbV9idWZmZXIKKyAgKGlzLWNvbnN0cnVjdG9yLW9mICJHbGFkZVhNTCIpCisgIChjLW5hbWUg ImdsYWRlX3htbF9uZXdfZnJvbV9idWZmZXIiKQorICAoY2FsbGVyLW93bnMtcmV0dXJuICN0KQog ICAocmV0dXJuLXR5cGUgR2xhZGVYTUwqKQotICAocGFyYW1ldGVyICh0eXBlLWFuZC1uYW1lIEd0 a1dpZGdldCogd2lkZ2V0KSkKKyAgKHBhcmFtZXRlcnMKKyAgICAnKCJjb25zdC1jaGFyKiIgImJ1 ZmZlciIpCisgICAgJygiaW50IiAic2l6ZSIpCisgICAgJygiY29uc3QtY2hhcioiICJyb290IikK KyAgICAnKCJjb25zdC1jaGFyKiIgImRvbWFpbiIpCisgICkKKykKKworKGRlZmluZS1tZXRob2Qg Y29uc3RydWN0CisgIChvZi1vYmplY3QgIkdsYWRlWE1MIikKKyAgKGMtbmFtZSAiZ2xhZGVfeG1s X2NvbnN0cnVjdCIpCisgIChyZXR1cm4tdHlwZSAiZ2Jvb2xlYW4iKQorICAocGFyYW1ldGVycwor ICAgICcoImNvbnN0LWNoYXIqIiAiZm5hbWUiKQorICAgICcoImNvbnN0LWNoYXIqIiAicm9vdCIp CisgICAgJygiY29uc3QtY2hhcioiICJkb21haW4iKQorICApCispCisKKyhkZWZpbmUtbWV0aG9k IHNpZ25hbF9jb25uZWN0CisgIChvZi1vYmplY3QgIkdsYWRlWE1MIikKKyAgKGMtbmFtZSAiZ2xh ZGVfeG1sX3NpZ25hbF9jb25uZWN0IikKKyAgKHJldHVybi10eXBlICJub25lIikKKyAgKHBhcmFt ZXRlcnMKKyAgICAnKCJjb25zdC1jaGFyKiIgImhhbmRsZXJuYW1lIikKKyAgICAnKCJHQ2FsbGJh Y2siICJmdW5jIikKKyAgKQorKQorCisoZGVmaW5lLW1ldGhvZCBzaWduYWxfY29ubmVjdF9kYXRh CisgIChvZi1vYmplY3QgIkdsYWRlWE1MIikKKyAgKGMtbmFtZSAiZ2xhZGVfeG1sX3NpZ25hbF9j b25uZWN0X2RhdGEiKQorICAocmV0dXJuLXR5cGUgIm5vbmUiKQorICAocGFyYW1ldGVycworICAg ICcoImNvbnN0LWNoYXIqIiAiaGFuZGxlcm5hbWUiKQorICAgICcoIkdDYWxsYmFjayIgImZ1bmMi KQorICAgICcoImdwb2ludGVyIiAidXNlcl9kYXRhIikKKyAgKQorKQorCisoZGVmaW5lLW1ldGhv ZCBzaWduYWxfYXV0b2Nvbm5lY3QKKyAgKG9mLW9iamVjdCAiR2xhZGVYTUwiKQorICAoYy1uYW1l ICJnbGFkZV94bWxfc2lnbmFsX2F1dG9jb25uZWN0IikKKyAgKHJldHVybi10eXBlICJub25lIikK KykKKworKGRlZmluZS1tZXRob2Qgc2lnbmFsX2Nvbm5lY3RfZnVsbAorICAob2Ytb2JqZWN0ICJH bGFkZVhNTCIpCisgIChjLW5hbWUgImdsYWRlX3htbF9zaWduYWxfY29ubmVjdF9mdWxsIikKKyAg KHJldHVybi10eXBlICJub25lIikKKyAgKHBhcmFtZXRlcnMKKyAgICAnKCJjb25zdC1nY2hhcioi ICJoYW5kbGVyX25hbWUiKQorICAgICcoIkdsYWRlWE1MQ29ubmVjdEZ1bmMiICJmdW5jIikKKyAg ICAnKCJncG9pbnRlciIgInVzZXJfZGF0YSIpCisgICkKKykKKworKGRlZmluZS1tZXRob2Qgc2ln bmFsX2F1dG9jb25uZWN0X2Z1bGwKKyAgKG9mLW9iamVjdCAiR2xhZGVYTUwiKQorICAoYy1uYW1l ICJnbGFkZV94bWxfc2lnbmFsX2F1dG9jb25uZWN0X2Z1bGwiKQorICAocmV0dXJuLXR5cGUgIm5v bmUiKQorICAocGFyYW1ldGVycworICAgICcoIkdsYWRlWE1MQ29ubmVjdEZ1bmMiICJmdW5jIikK KyAgICAnKCJncG9pbnRlciIgInVzZXJfZGF0YSIpCisgICkKKykKKworKGRlZmluZS1tZXRob2Qg Z2V0X3dpZGdldAorICAob2Ytb2JqZWN0ICJHbGFkZVhNTCIpCisgIChjLW5hbWUgImdsYWRlX3ht bF9nZXRfd2lkZ2V0IikKKyAgKHJldHVybi10eXBlICJHdGtXaWRnZXQqIikKKyAgKHBhcmFtZXRl cnMKKyAgICAnKCJjb25zdC1jaGFyKiIgIm5hbWUiKQorICApCispCisKKyhkZWZpbmUtbWV0aG9k IGdldF93aWRnZXRfcHJlZml4CisgIChvZi1vYmplY3QgIkdsYWRlWE1MIikKKyAgKGMtbmFtZSAi Z2xhZGVfeG1sX2dldF93aWRnZXRfcHJlZml4IikKKyAgKHJldHVybi10eXBlICJHTGlzdCoiKQor ICAocGFyYW1ldGVycworICAgICcoImNvbnN0LWNoYXIqIiAibmFtZSIpCisgICkKKykKKworKGRl ZmluZS1tZXRob2QgcmVsYXRpdmVfZmlsZQorICAob2Ytb2JqZWN0ICJHbGFkZVhNTCIpCisgIChj LW5hbWUgImdsYWRlX3htbF9yZWxhdGl2ZV9maWxlIikKKyAgKHJldHVybi10eXBlICJnY2hhcioi KQorICAocGFyYW1ldGVycworICAgICcoImNvbnN0LWdjaGFyKiIgImZpbGVuYW1lIikKKyAgKQor KQorCisoZGVmaW5lLWZ1bmN0aW9uIGdsYWRlX2dldF93aWRnZXRfbmFtZQorICAoYy1uYW1lICJn bGFkZV9nZXRfd2lkZ2V0X25hbWUiKQorICAocmV0dXJuLXR5cGUgImNvbnN0LWNoYXIqIikKKyAg KHBhcmFtZXRlcnMKKyAgICAnKCJHdGtXaWRnZXQqIiAid2lkZ2V0IikKKyAgKQorKQorCisoZGVm aW5lLWZ1bmN0aW9uIGdldF93aWRnZXRfdHJlZQorICAoYy1uYW1lICJnbGFkZV9nZXRfd2lkZ2V0 X3RyZWUiKQorICAocmV0dXJuLXR5cGUgIkdsYWRlWE1MKiIpCisgIChwYXJhbWV0ZXJzCisgICAg JygiR3RrV2lkZ2V0KiIgIndpZGdldCIpCisgICkKKykKKworKGRlZmluZS1mdW5jdGlvbiBzZXRf Y3VzdG9tX2hhbmRsZXIKKyAgKGMtbmFtZSAiZ2xhZGVfc2V0X2N1c3RvbV9oYW5kbGVyIikKKyAg KHJldHVybi10eXBlICJub25lIikKKyAgKHBhcmFtZXRlcnMKKyAgICAnKCJHbGFkZVhNTEN1c3Rv bVdpZGdldEhhbmRsZXIiICJoYW5kbGVyIikKKyAgICAnKCJncG9pbnRlciIgInVzZXJfZGF0YSIp CisgICkKICkKLQpkaWZmIC0tZ2l0IGEvZXh0L2xpYmdsYWRlL2xpYmdsYWRlLm92ZXJyaWRlcyBi L2V4dC9saWJnbGFkZS9saWJnbGFkZS5vdmVycmlkZXMKaW5kZXggMzk4MDE1Zi4uNDMzNDlmMCAx MDA2NDQKLS0tIGEvZXh0L2xpYmdsYWRlL2xpYmdsYWRlLm92ZXJyaWRlcworKysgYi9leHQvbGli Z2xhZGUvbGliZ2xhZGUub3ZlcnJpZGVzCkBAIC0xMiwxNjcgKzEyLDQgQEAgaWdub3JlCiAgIGds YWRlX3htbF9zaWduYWxfY29ubmVjdF9mdWxsCiAgIGdsYWRlX3htbF9zaWduYWxfY29ubmVjdF9k YXRhCiAgIGdsYWRlX3htbF9zaWduYWxfYXV0b2Nvbm5lY3RfZnVsbAotJSUKLW92ZXJyaWRlIGds YWRlX3htbF9zaWduYWxfY29ubmVjdAotc3RhdGljIHZvaWQgZ2xhZGVfY29ubmVjdF9vbmUoY29u c3QgZ2NoYXIgKmhhbmRsZXJfbmFtZSwgR3RrT2JqZWN0ICpvYmosIGNvbnN0Ci0JCQkJCQkJICBn Y2hhciAqc2lnbmFsX25hbWUsIGNvbnN0IGdjaGFyICpzaWduYWxfZGF0YSwKLQkJCQkJCQkgIEd0 a09iamVjdCAqY29ubmVjdF9vYmplY3QsIGdib29sZWFuIGFmdGVyLAotCQkJCQkJCSAgenZhbCAq Y2FsbGJhY2tfZGF0YSkKLXsKLQl6dmFsICoqY2FsbGJhY2sgPSBOVUxMLCAqKmV4dHJhID0gTlVM TCwgKipwYXNzX29iamVjdCA9IE5VTEw7Ci0JenZhbCAqKmNhbGxiYWNrX2ZpbGVuYW1lID0gTlVM TCwgKipjYWxsYmFja19saW5lbm8gPSBOVUxMOwotCXp2YWwgKm9iamVjdDsKLQlUU1JNTFNfRkVU Q0goKTsKLQotCXplbmRfaGFzaF9pbmRleF9maW5kKFpfQVJSVkFMX1AoY2FsbGJhY2tfZGF0YSks IDAsICh2b2lkICoqKSZjYWxsYmFjayk7Ci0JemVuZF9oYXNoX2luZGV4X2ZpbmQoWl9BUlJWQUxf UChjYWxsYmFja19kYXRhKSwgMSwgKHZvaWQgKiopJmV4dHJhKTsKLQl6ZW5kX2hhc2hfaW5kZXhf ZmluZChaX0FSUlZBTF9QKGNhbGxiYWNrX2RhdGEpLCAyLCAodm9pZCAqKikmcGFzc19vYmplY3Qp OwotCXplbmRfaGFzaF9pbmRleF9maW5kKFpfQVJSVkFMX1AoY2FsbGJhY2tfZGF0YSksIDMsICh2 b2lkICoqKSZjYWxsYmFja19maWxlbmFtZSk7Ci0JemVuZF9oYXNoX2luZGV4X2ZpbmQoWl9BUlJW QUxfUChjYWxsYmFja19kYXRhKSwgNCwgKHZvaWQgKiopJmNhbGxiYWNrX2xpbmVubyk7Ci0KLQlp ZiAoY29ubmVjdF9vYmplY3QpIHsKLQkJenZhbCAqdGVtcDsKLQotCQlaX0xWQUxfUFAocGFzc19v YmplY3QpID0gMDsKLQkJb2JqZWN0ID0gcGhwX2d0a19uZXcoY29ubmVjdF9vYmplY3QpOwotCQlN QUtFX1NURF9aVkFMKHRlbXApOwotCQlhcnJheV9pbml0KHRlbXApOwotCQlhZGRfbmV4dF9pbmRl eF96dmFsKHRlbXAsIG9iamVjdCk7Ci0JCXBocF9hcnJheV9tZXJnZShaX0FSUlZBTF9QKHRlbXAp LCBaX0FSUlZBTF9QUChleHRyYSksIDAgVFNSTUxTX0NDKTsKLQkJUkVQTEFDRV9aVkFMX1ZBTFVF KGV4dHJhLCB0ZW1wLCAwKTsKLQl9Ci0KLQlndGtfc2lnbmFsX2Nvbm5lY3RfZnVsbChvYmosIHNp Z25hbF9uYW1lLCBOVUxMLAotCQkJCQkJCShHdGtDYWxsYmFja01hcnNoYWwpcGhwX2d0a19jYWxs YmFja19tYXJzaGFsLAotCQkJCQkJCWNhbGxiYWNrX2RhdGEsIHBocF9ndGtfZGVzdHJveV9ub3Rp ZnksIEZBTFNFLCBhZnRlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIGdsYWRlX3NpZ25hbF9jb25uZWN0 X2ltcGwoSU5URVJOQUxfRlVOQ1RJT05fUEFSQU1FVEVSUywgaW50IHBhc3Nfb2JqZWN0KQotewot CWNoYXIgKmhhbmRsZXJfbmFtZSA9IE5VTEw7Ci0JenZhbCAqY2FsbGJhY2sgPSBOVUxMOwotCXp2 YWwgKmV4dHJhOwotCXp2YWwgKmRhdGE7Ci0JY2hhciAqY2FsbGJhY2tfZmlsZW5hbWU7Ci0JdWlu dCBjYWxsYmFja19saW5lbm87Ci0KLQlOT1RfU1RBVElDX01FVEhPRCgpOwotCi0JaWYgKFpFTkRf TlVNX0FSR1MoKSA8IDIpIHsKLQkJcGhwX2Vycm9yKEVfV0FSTklORywgIiVzKCkgcmVxdWlyZXMg YXQgbGVhc3QgMiBhcmd1bWVudHMsICVkIGdpdmVuIiwKLQkJCQkgIGdldF9hY3RpdmVfZnVuY3Rp b25fbmFtZShUU1JNTFNfQyksIFpFTkRfTlVNX0FSR1MoKSk7Ci0JCXJldHVybjsKLQl9Ci0KLQlp ZiAoIXBocF9ndGtfcGFyc2VfYXJncygyLCAic1YiLCAmaGFuZGxlcl9uYW1lLCAmY2FsbGJhY2sp KQotCQlyZXR1cm47Ci0KLQljYWxsYmFja19maWxlbmFtZSA9IHplbmRfZ2V0X2V4ZWN1dGVkX2Zp bGVuYW1lKFRTUk1MU19DKTsKLQljYWxsYmFja19saW5lbm8gPSB6ZW5kX2dldF9leGVjdXRlZF9s aW5lbm8oVFNSTUxTX0MpOwotCWV4dHJhID0gcGhwX2d0a19mdW5jX2FyZ3NfYXNfaGFzaChaRU5E X05VTV9BUkdTKCksIDIsIFpFTkRfTlVNX0FSR1MoKSk7Ci0JZGF0YSA9IHBocF9ndGtfYnVpbGRf dmFsdWUoIihWTmlzaSkiLCBjYWxsYmFjaywgZXh0cmEsIHBhc3Nfb2JqZWN0LCBjYWxsYmFja19m aWxlbmFtZSwgY2FsbGJhY2tfbGluZW5vKTsKLQlnbGFkZV94bWxfc2lnbmFsX2Nvbm5lY3RfZnVs bChHTEFERV9YTUwoUEhQX0dUS19HRVQodGhpc19wdHIpKSwgaGFuZGxlcl9uYW1lLAotCQkJCQkJ CQkgIChHbGFkZVhNTENvbm5lY3RGdW5jKWdsYWRlX2Nvbm5lY3Rfb25lLCBkYXRhKTsKLQlSRVRV Uk5fTlVMTCgpOwotfQotCi1QSFBfRlVOQ1RJT04oZ2xhZGVfeG1sX3NpZ25hbF9jb25uZWN0KQot ewotCWdsYWRlX3NpZ25hbF9jb25uZWN0X2ltcGwoSU5URVJOQUxfRlVOQ1RJT05fUEFSQU1fUEFT U1RIUlUsIDEpOwotfQotJSUKLW92ZXJyaWRlIGdsYWRlX3htbF9zaWduYWxfY29ubmVjdF9vYmpl Y3Qgc2lnbmFsX2Nvbm5lY3Rfb2JqZWN0IEdsYWRlWE1MCi1QSFBfRlVOQ1RJT04oZ2xhZGVfeG1s X3NpZ25hbF9jb25uZWN0X29iamVjdCkKLXsKLQlnbGFkZV9zaWduYWxfY29ubmVjdF9pbXBsKElO VEVSTkFMX0ZVTkNUSU9OX1BBUkFNX1BBU1NUSFJVLCAwKTsKLX0KLSUlCi1vdmVycmlkZSBnbGFk ZV94bWxfc2lnbmFsX2F1dG9jb25uZWN0Ci0KLXR5cGVkZWYgc3RydWN0IF9waHBfZ3RrX2F1dG9j b25uZWN0X2RhdGEgewotCXplbmRfYm9vbCBwYXNzX29iamVjdDsKLQl6dmFsICptYXA7Ci19IHBo cF9ndGtfYXV0b2Nvbm5lY3RfZGF0YTsKLQotc3RhdGljIHZvaWQgZ2xhZGVfY29ubmVjdF9hdXRv KGNvbnN0IGdjaGFyICpoYW5kbGVyX25hbWUsIEd0a09iamVjdCAqb2JqLAotCQkJCQkJCSAgIGNv bnN0IGdjaGFyICpzaWduYWxfbmFtZSwgY29uc3QgZ2NoYXIgKnNpZ25hbF9kYXRhLAotCQkJCQkJ CSAgIEd0a09iamVjdCAqY29ubmVjdF9vYmplY3QsIGdib29sZWFuIGFmdGVyLAotCQkJCQkJCSAg IHBocF9ndGtfYXV0b2Nvbm5lY3RfZGF0YSAqYWNfZGF0YSkKLXsKLQl6dmFsICoqY2FsbGJhY2tf ZGF0YSA9IE5VTEwsICptYXAgPSBhY19kYXRhLT5tYXA7Ci0JenZhbCAqKmNhbGxiYWNrX3B0ciA9 IE5VTEwsICpleHRyYSA9IE5VTEwsICpwYXJhbXMgPSBOVUxMOwotCXp2YWwgKmNhbGxiYWNrLCAq ZGF0YSwgKm9iamVjdCA9IE5VTEw7Ci0JaW50IHBhc3Nfb2JqZWN0ID0gYWNfZGF0YS0+cGFzc19v YmplY3Q7Ci0JY2hhciAqY2FsbGJhY2tfZmlsZW5hbWU7Ci0JdWludCBjYWxsYmFja19saW5lbm87 Ci0JVFNSTUxTX0ZFVENIKCk7Ci0KLQlpZiAobWFwICYmIHplbmRfaGFzaF9maW5kKFpfQVJSVkFM X1AobWFwKSwgKGNoYXIgKiloYW5kbGVyX25hbWUsIHN0cmxlbihoYW5kbGVyX25hbWUpICsgMSwg KHZvaWQgKiopJmNhbGxiYWNrX2RhdGEpID09IFNVQ0NFU1MpIHsKLQkJaWYgKFpfVFlQRV9QUChj YWxsYmFja19kYXRhKSAhPSBJU19BUlJBWSB8fAotCQkJemVuZF9oYXNoX2luZGV4X2ZpbmQoWl9B UlJWQUxfUFAoY2FsbGJhY2tfZGF0YSksIDAsICh2b2lkICoqKSZjYWxsYmFja19wdHIpID09IEZB SUxVUkUpIHsKLQkJCXBocF9lcnJvcihFX1dBUk5JTkcsICIlcygpIGlzIHN1cHBsaWVkIHdpdGgg aW52YWxpZCBjYWxsYmFjayBzdHJ1Y3R1cmUgZm9yIGhhbmRsZXIgJyVzJyIsIGdldF9hY3RpdmVf ZnVuY3Rpb25fbmFtZShUU1JNTFNfQyksIGhhbmRsZXJfbmFtZSk7Ci0JCQlyZXR1cm47IAotCQl9 Ci0JCXp2YWxfYWRkX3JlZihjYWxsYmFja19wdHIpOwotCQljYWxsYmFjayA9ICpjYWxsYmFja19w dHI7Ci0JCXplbmRfaGFzaF9pbmRleF9kZWwoWl9BUlJWQUxfUFAoY2FsbGJhY2tfZGF0YSksIDAp OwotCQlleHRyYSA9ICpjYWxsYmFja19kYXRhOwotCX0gZWxzZSB7Ci0JCU1BS0VfU1REX1pWQUwo Y2FsbGJhY2spOwotCQlaVkFMX1NUUklORyhjYWxsYmFjaywgKGNoYXIgKiloYW5kbGVyX25hbWUs IDEpOwotCX0KLQotCWlmICghemVuZF9pc19jYWxsYWJsZShjYWxsYmFjaywgMCwgTlVMTCkpIHsK LQkJcGhwX2Vycm9yKEVfV0FSTklORywgIiVzKCkgaXMgdW5hYmxlIHRvIGF1dG9jb25uZWN0IGNh bGxiYWNrIGZvciBoYW5kbGVyICclcyciLAotCQkJCSAgZ2V0X2FjdGl2ZV9mdW5jdGlvbl9uYW1l KFRTUk1MU19DKSwgaGFuZGxlcl9uYW1lKTsKLQkJcmV0dXJuOwotCX0KLQkKLQlNQUtFX1NURF9a VkFMKHBhcmFtcyk7Ci0JYXJyYXlfaW5pdChwYXJhbXMpOwotCi0JaWYgKGNvbm5lY3Rfb2JqZWN0 KSB7Ci0JCXBhc3Nfb2JqZWN0ID0gMDsKLQkJb2JqZWN0ID0gcGhwX2d0a19uZXcoY29ubmVjdF9v YmplY3QpOwotCQlhZGRfbmV4dF9pbmRleF96dmFsKHBhcmFtcywgb2JqZWN0KTsKLQl9Ci0JCi0J aWYgKGV4dHJhKQotCQlwaHBfYXJyYXlfbWVyZ2UoWl9BUlJWQUxfUChwYXJhbXMpLCBaX0FSUlZB TF9QKGV4dHJhKSwgMCBUU1JNTFNfQ0MpOwogCi0JY2FsbGJhY2tfZmlsZW5hbWUgPSB6ZW5kX2dl dF9leGVjdXRlZF9maWxlbmFtZShUU1JNTFNfQyk7Ci0JY2FsbGJhY2tfbGluZW5vID0gemVuZF9n ZXRfZXhlY3V0ZWRfbGluZW5vKFRTUk1MU19DKTsKLQlkYXRhID0gcGhwX2d0a19idWlsZF92YWx1 ZSgiKE5OaXNpKSIsIGNhbGxiYWNrLCBwYXJhbXMsIHBhc3Nfb2JqZWN0LAotCQkJCQkJCSAgIGNh bGxiYWNrX2ZpbGVuYW1lLCBjYWxsYmFja19saW5lbm8pOwotCWd0a19zaWduYWxfY29ubmVjdF9m dWxsKG9iaiwgc2lnbmFsX25hbWUsIE5VTEwsCi0JCQkJCQkJKEd0a0NhbGxiYWNrTWFyc2hhbClw aHBfZ3RrX2NhbGxiYWNrX21hcnNoYWwsCi0JCQkJCQkJZGF0YSwgcGhwX2d0a19kZXN0cm95X25v dGlmeSwgRkFMU0UsIGFmdGVyKTsKLX0KLQotc3RhdGljIHZvaWQgZ2xhZGVfc2lnbmFsX2F1dG9j b25uZWN0X2ltcGwoSU5URVJOQUxfRlVOQ1RJT05fUEFSQU1FVEVSUywgaW50IHBhc3Nfb2JqZWN0 KQotewotCXp2YWwgKm1hcCA9IE5VTEw7Ci0JcGhwX2d0a19hdXRvY29ubmVjdF9kYXRhICphY19k YXRhOwotCi0JTk9UX1NUQVRJQ19NRVRIT0QoKTsKLQotCWlmICghcGhwX2d0a19wYXJzZV9hcmdz KFpFTkRfTlVNX0FSR1MoKSwgInxhIiwgJm1hcCkpCi0JCXJldHVybjsKLQotCWFjX2RhdGEgPSAo cGhwX2d0a19hdXRvY29ubmVjdF9kYXRhICopZW1hbGxvYyhzaXplb2YocGhwX2d0a19hdXRvY29u bmVjdF9kYXRhKSk7Ci0JYWNfZGF0YS0+bWFwID0gbWFwOwotCWFjX2RhdGEtPnBhc3Nfb2JqZWN0 ID0gcGFzc19vYmplY3Q7Ci0JZ2xhZGVfeG1sX3NpZ25hbF9hdXRvY29ubmVjdF9mdWxsKEdMQURF X1hNTChQSFBfR1RLX0dFVCh0aGlzX3B0cikpLAotCQkJCQkJCQkJICAoR2xhZGVYTUxDb25uZWN0 RnVuYylnbGFkZV9jb25uZWN0X2F1dG8sIGFjX2RhdGEpOwotfQotCi1QSFBfRlVOQ1RJT04oZ2xh ZGVfeG1sX3NpZ25hbF9hdXRvY29ubmVjdCkKLXsKLQlnbGFkZV9zaWduYWxfYXV0b2Nvbm5lY3Rf aW1wbChJTlRFUk5BTF9GVU5DVElPTl9QQVJBTV9QQVNTVEhSVSwgMSk7Ci19Ci0lJQotb3ZlcnJp ZGUgZ2xhZGVfeG1sX3NpZ25hbF9hdXRvY29ubmVjdF9vYmplY3Qgc2lnbmFsX2F1dG9jb25uZWN0 X29iamVjdCBHbGFkZVhNTAotUEhQX0ZVTkNUSU9OKGdsYWRlX3htbF9zaWduYWxfYXV0b2Nvbm5l Y3Rfb2JqZWN0KQotewotCWdsYWRlX3NpZ25hbF9hdXRvY29ubmVjdF9pbXBsKElOVEVSTkFMX0ZV TkNUSU9OX1BBUkFNX1BBU1NUSFJVLCAwKTsKLX0KZGlmZiAtLWdpdCBhL2V4dC9saWJnbGFkZS9w aHBfbGliZ2xhZGUuYyBiL2V4dC9saWJnbGFkZS9waHBfbGliZ2xhZGUuYwppbmRleCAzZTdlNzM1 Li5mNzI1NzY4IDEwMDY0NAotLS0gYS9leHQvbGliZ2xhZGUvcGhwX2xpYmdsYWRlLmMKKysrIGIv ZXh0L2xpYmdsYWRlL3BocF9saWJnbGFkZS5jCkBAIC0yNCwxNSArMjQsMTQgQEAKIAogI2lmIEhB VkVfTElCR0xBREUKIAotI2lmZGVmIFBIUF9HVEtfQ09NUElMRV9ETF9MSUJHTEFERQotUEhQX0dU S19HRVRfRVhURU5TSU9OKGxpYmdsYWRlKQorI2lmZGVmIENPTVBJTEVfRExfTElCR0xBREUyCitQ SFBfR1RLX0dFVF9FWFRFTlNJT04obGliZ2xhZGUpOwogI2VuZGlmCiAKIFBIUF9HVEtfWElOSVRf RlVOQ1RJT04obGliZ2xhZGUpCiB7Ci0JZ2xhZGVfaW5pdCgpOwotCXBocF9saWJnbGFkZV9yZWdp c3Rlcl9jb25zdGFudHMobW9kdWxlX251bWJlciBUU1JNTFNfQ0MpOwotCXBocF9saWJnbGFkZV9y ZWdpc3Rlcl9jbGFzc2VzKCk7CisJcGhwZ19saWJnbGFkZV9yZWdpc3Rlcl9jbGFzc2VzKCk7CisJ cGhwZ19saWJnbGFkZV9yZWdpc3Rlcl9jb25zdGFudHMoIkdMQURFXyIpOwogCiAJcmV0dXJuIFNV Q0NFU1M7CiB9CkBAIC00MCw3ICszOSw3IEBAIFBIUF9HVEtfWElOSVRfRlVOQ1RJT04obGliZ2xh ZGUpCiBwaHBfZ3RrX2V4dF9lbnRyeSBsaWJnbGFkZV9leHRfZW50cnkgPSB7CiAJImxpYmdsYWRl IiwKIAlQSFBfR1RLX1hJTklUKGxpYmdsYWRlKSwKLQlOVUxMLAorCU5VTEwKIH07CiAKLSNlbmRp ZgkvKiBIQVZFX0xJQkdMQURFICovCisjZW5kaWYgLyogSEFWRV9MSUJHTEFERSAqLwpkaWZmIC0t Z2l0IGEvZXh0L2xpYmdsYWRlL3BocF9saWJnbGFkZS5oIGIvZXh0L2xpYmdsYWRlL3BocF9saWJn bGFkZS5oCmluZGV4IDZmZWYyYjcuLjQxODIzNWYgMTAwNjQ0Ci0tLSBhL2V4dC9saWJnbGFkZS9w aHBfbGliZ2xhZGUuaAorKysgYi9leHQvbGliZ2xhZGUvcGhwX2xpYmdsYWRlLmgKQEAgLTI4LDIw ICsyOCwxOCBAQAogI2lmIEhBVkVfTElCR0xBREUKIAogI2luY2x1ZGUgPGdsYWRlL2dsYWRlLmg+ Ci0jaW5jbHVkZSAiZ2VuX2NlX2xpYmdsYWRlLmgiCisjaW5jbHVkZSAiZ2VuX2xpYmdsYWRlLmgi CiAKIGV4dGVybiBwaHBfZ3RrX2V4dF9lbnRyeSBsaWJnbGFkZV9leHRfZW50cnk7Ci0jZGVmaW5l IGxpYmdsYWRlX2V4dF9wdHIgJmxpYmdsYWRlX2V4dF9lbnRyeQorI2RlZmluZSBwaHBfZ3RrX2V4 dF9saWJnbGFkZV9wdHIgJmxpYmdsYWRlX2V4dF9lbnRyeQogCi12b2lkIHBocF9saWJnbGFkZV9y ZWdpc3Rlcl9jb25zdGFudHMoaW50IG1vZHVsZV9udW1iZXIgVFNSTUxTX0RDKTsKLXZvaWQgcGhw X2xpYmdsYWRlX3JlZ2lzdGVyX2NsYXNzZXMoKTsKK3ZvaWQgcGhwZ19saWJnbGFkZV9yZWdpc3Rl cl9jb25zdGFudHMoY29uc3QgY2hhciAqc3RyaXBfcHJlZml4KTsKK3ZvaWQgcGhwZ19saWJnbGFk ZV9yZWdpc3Rlcl9jbGFzc2VzKHZvaWQpOwogCiAjZWxzZQogCi0jZGVmaW5lIGxpYmdsYWRlX2V4 dF9wdHIgTlVMTAorI2RlZmluZSBwaHBfZ3RrX2V4dF9saWJnbGFkZV9wdHIgTlVMTAogCi0jZW5k aWYJLyogSEFWRV9MSUJHTEFERSAqLworI2VuZGlmIC8qIEhBVkVfTElCR0xBREUgKi8KIAotI2Rl ZmluZSBwaHBfZ3RrX2V4dF9saWJnbGFkZV9wdHIgbGliZ2xhZGVfZXh0X3B0cgotCi0jZW5kaWYJ LyogUEhQX0xJQkdMQURFX0ggKi8KKyNlbmRpZiAvKiBQSFBfTElCR0xBREVfSCAqLwpkaWZmIC0t Z2l0IGEvZXh0L2xpYmdsYWRlL3YxLmxpYmdsYWRlLm92ZXJyaWRlcyBiL2V4dC9saWJnbGFkZS92 MS5saWJnbGFkZS5vdmVycmlkZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u Mzk4MDE1ZgotLS0gL2Rldi9udWxsCisrKyBiL2V4dC9saWJnbGFkZS92MS5saWJnbGFkZS5vdmVy cmlkZXMKQEAgLTAsMCArMSwxNzggQEAKKy8qIHZpbTogc2V0IGZ0PWNwcDogKi8KKyUlCitoZWFk ZXJzCisjaW5jbHVkZSA8Z2xhZGUvZ2xhZGUuaD4KKyNpbmNsdWRlICJleHQvZ3RrKy9waHBfZ3Rr Ky5oIgorJSUKK2lnbm9yZS1nbG9iCisgICpfZ2V0X3R5cGUKKyUlCitpZ25vcmUKKyAgZ2xhZGVf eG1sX25ldworICBnbGFkZV94bWxfc2lnbmFsX2Nvbm5lY3RfZnVsbAorICBnbGFkZV94bWxfc2ln bmFsX2Nvbm5lY3RfZGF0YQorICBnbGFkZV94bWxfc2lnbmFsX2F1dG9jb25uZWN0X2Z1bGwKKyUl CitvdmVycmlkZSBnbGFkZV94bWxfc2lnbmFsX2Nvbm5lY3QKK3N0YXRpYyB2b2lkIGdsYWRlX2Nv bm5lY3Rfb25lKGNvbnN0IGdjaGFyICpoYW5kbGVyX25hbWUsIEd0a09iamVjdCAqb2JqLCBjb25z dAorCQkJCQkJCSAgZ2NoYXIgKnNpZ25hbF9uYW1lLCBjb25zdCBnY2hhciAqc2lnbmFsX2RhdGEs CisJCQkJCQkJICBHdGtPYmplY3QgKmNvbm5lY3Rfb2JqZWN0LCBnYm9vbGVhbiBhZnRlciwKKwkJ CQkJCQkgIHp2YWwgKmNhbGxiYWNrX2RhdGEpCit7CisJenZhbCAqKmNhbGxiYWNrID0gTlVMTCwg KipleHRyYSA9IE5VTEwsICoqcGFzc19vYmplY3QgPSBOVUxMOworCXp2YWwgKipjYWxsYmFja19m aWxlbmFtZSA9IE5VTEwsICoqY2FsbGJhY2tfbGluZW5vID0gTlVMTDsKKwl6dmFsICpvYmplY3Q7 CisJVFNSTUxTX0ZFVENIKCk7CisKKwl6ZW5kX2hhc2hfaW5kZXhfZmluZChaX0FSUlZBTF9QKGNh bGxiYWNrX2RhdGEpLCAwLCAodm9pZCAqKikmY2FsbGJhY2spOworCXplbmRfaGFzaF9pbmRleF9m aW5kKFpfQVJSVkFMX1AoY2FsbGJhY2tfZGF0YSksIDEsICh2b2lkICoqKSZleHRyYSk7CisJemVu ZF9oYXNoX2luZGV4X2ZpbmQoWl9BUlJWQUxfUChjYWxsYmFja19kYXRhKSwgMiwgKHZvaWQgKiop JnBhc3Nfb2JqZWN0KTsKKwl6ZW5kX2hhc2hfaW5kZXhfZmluZChaX0FSUlZBTF9QKGNhbGxiYWNr X2RhdGEpLCAzLCAodm9pZCAqKikmY2FsbGJhY2tfZmlsZW5hbWUpOworCXplbmRfaGFzaF9pbmRl eF9maW5kKFpfQVJSVkFMX1AoY2FsbGJhY2tfZGF0YSksIDQsICh2b2lkICoqKSZjYWxsYmFja19s aW5lbm8pOworCisJaWYgKGNvbm5lY3Rfb2JqZWN0KSB7CisJCXp2YWwgKnRlbXA7CisKKwkJWl9M VkFMX1BQKHBhc3Nfb2JqZWN0KSA9IDA7CisJCW9iamVjdCA9IHBocF9ndGtfbmV3KGNvbm5lY3Rf b2JqZWN0KTsKKwkJTUFLRV9TVERfWlZBTCh0ZW1wKTsKKwkJYXJyYXlfaW5pdCh0ZW1wKTsKKwkJ YWRkX25leHRfaW5kZXhfenZhbCh0ZW1wLCBvYmplY3QpOworCQlwaHBfYXJyYXlfbWVyZ2UoWl9B UlJWQUxfUCh0ZW1wKSwgWl9BUlJWQUxfUFAoZXh0cmEpLCAwIFRTUk1MU19DQyk7CisJCVJFUExB Q0VfWlZBTF9WQUxVRShleHRyYSwgdGVtcCwgMCk7CisJfQorCisJZ3RrX3NpZ25hbF9jb25uZWN0 X2Z1bGwob2JqLCBzaWduYWxfbmFtZSwgTlVMTCwKKwkJCQkJCQkoR3RrQ2FsbGJhY2tNYXJzaGFs KXBocF9ndGtfY2FsbGJhY2tfbWFyc2hhbCwKKwkJCQkJCQljYWxsYmFja19kYXRhLCBwaHBfZ3Rr X2Rlc3Ryb3lfbm90aWZ5LCBGQUxTRSwgYWZ0ZXIpOworfQorCitzdGF0aWMgdm9pZCBnbGFkZV9z aWduYWxfY29ubmVjdF9pbXBsKElOVEVSTkFMX0ZVTkNUSU9OX1BBUkFNRVRFUlMsIGludCBwYXNz X29iamVjdCkKK3sKKwljaGFyICpoYW5kbGVyX25hbWUgPSBOVUxMOworCXp2YWwgKmNhbGxiYWNr ID0gTlVMTDsKKwl6dmFsICpleHRyYTsKKwl6dmFsICpkYXRhOworCWNoYXIgKmNhbGxiYWNrX2Zp bGVuYW1lOworCXVpbnQgY2FsbGJhY2tfbGluZW5vOworCisJTk9UX1NUQVRJQ19NRVRIT0QoKTsK KworCWlmIChaRU5EX05VTV9BUkdTKCkgPCAyKSB7CisJCXBocF9lcnJvcihFX1dBUk5JTkcsICIl cygpIHJlcXVpcmVzIGF0IGxlYXN0IDIgYXJndW1lbnRzLCAlZCBnaXZlbiIsCisJCQkJICBnZXRf YWN0aXZlX2Z1bmN0aW9uX25hbWUoVFNSTUxTX0MpLCBaRU5EX05VTV9BUkdTKCkpOworCQlyZXR1 cm47CisJfQorCisJaWYgKCFwaHBfZ3RrX3BhcnNlX2FyZ3MoMiwgInNWIiwgJmhhbmRsZXJfbmFt ZSwgJmNhbGxiYWNrKSkKKwkJcmV0dXJuOworCisJY2FsbGJhY2tfZmlsZW5hbWUgPSB6ZW5kX2dl dF9leGVjdXRlZF9maWxlbmFtZShUU1JNTFNfQyk7CisJY2FsbGJhY2tfbGluZW5vID0gemVuZF9n ZXRfZXhlY3V0ZWRfbGluZW5vKFRTUk1MU19DKTsKKwlleHRyYSA9IHBocF9ndGtfZnVuY19hcmdz X2FzX2hhc2goWkVORF9OVU1fQVJHUygpLCAyLCBaRU5EX05VTV9BUkdTKCkpOworCWRhdGEgPSBw aHBfZ3RrX2J1aWxkX3ZhbHVlKCIoVk5pc2kpIiwgY2FsbGJhY2ssIGV4dHJhLCBwYXNzX29iamVj dCwgY2FsbGJhY2tfZmlsZW5hbWUsIGNhbGxiYWNrX2xpbmVubyk7CisJZ2xhZGVfeG1sX3NpZ25h bF9jb25uZWN0X2Z1bGwoR0xBREVfWE1MKFBIUF9HVEtfR0VUKHRoaXNfcHRyKSksIGhhbmRsZXJf bmFtZSwKKwkJCQkJCQkJICAoR2xhZGVYTUxDb25uZWN0RnVuYylnbGFkZV9jb25uZWN0X29uZSwg ZGF0YSk7CisJUkVUVVJOX05VTEwoKTsKK30KKworUEhQX0ZVTkNUSU9OKGdsYWRlX3htbF9zaWdu YWxfY29ubmVjdCkKK3sKKwlnbGFkZV9zaWduYWxfY29ubmVjdF9pbXBsKElOVEVSTkFMX0ZVTkNU SU9OX1BBUkFNX1BBU1NUSFJVLCAxKTsKK30KKyUlCitvdmVycmlkZSBnbGFkZV94bWxfc2lnbmFs X2Nvbm5lY3Rfb2JqZWN0IHNpZ25hbF9jb25uZWN0X29iamVjdCBHbGFkZVhNTAorUEhQX0ZVTkNU SU9OKGdsYWRlX3htbF9zaWduYWxfY29ubmVjdF9vYmplY3QpCit7CisJZ2xhZGVfc2lnbmFsX2Nv bm5lY3RfaW1wbChJTlRFUk5BTF9GVU5DVElPTl9QQVJBTV9QQVNTVEhSVSwgMCk7Cit9CislJQor b3ZlcnJpZGUgZ2xhZGVfeG1sX3NpZ25hbF9hdXRvY29ubmVjdAorCit0eXBlZGVmIHN0cnVjdCBf cGhwX2d0a19hdXRvY29ubmVjdF9kYXRhIHsKKwl6ZW5kX2Jvb2wgcGFzc19vYmplY3Q7CisJenZh bCAqbWFwOworfSBwaHBfZ3RrX2F1dG9jb25uZWN0X2RhdGE7CisKK3N0YXRpYyB2b2lkIGdsYWRl X2Nvbm5lY3RfYXV0byhjb25zdCBnY2hhciAqaGFuZGxlcl9uYW1lLCBHdGtPYmplY3QgKm9iaiwK KwkJCQkJCQkgICBjb25zdCBnY2hhciAqc2lnbmFsX25hbWUsIGNvbnN0IGdjaGFyICpzaWduYWxf ZGF0YSwKKwkJCQkJCQkgICBHdGtPYmplY3QgKmNvbm5lY3Rfb2JqZWN0LCBnYm9vbGVhbiBhZnRl ciwKKwkJCQkJCQkgICBwaHBfZ3RrX2F1dG9jb25uZWN0X2RhdGEgKmFjX2RhdGEpCit7CisJenZh bCAqKmNhbGxiYWNrX2RhdGEgPSBOVUxMLCAqbWFwID0gYWNfZGF0YS0+bWFwOworCXp2YWwgKipj YWxsYmFja19wdHIgPSBOVUxMLCAqZXh0cmEgPSBOVUxMLCAqcGFyYW1zID0gTlVMTDsKKwl6dmFs ICpjYWxsYmFjaywgKmRhdGEsICpvYmplY3QgPSBOVUxMOworCWludCBwYXNzX29iamVjdCA9IGFj X2RhdGEtPnBhc3Nfb2JqZWN0OworCWNoYXIgKmNhbGxiYWNrX2ZpbGVuYW1lOworCXVpbnQgY2Fs bGJhY2tfbGluZW5vOworCVRTUk1MU19GRVRDSCgpOworCisJaWYgKG1hcCAmJiB6ZW5kX2hhc2hf ZmluZChaX0FSUlZBTF9QKG1hcCksIChjaGFyICopaGFuZGxlcl9uYW1lLCBzdHJsZW4oaGFuZGxl cl9uYW1lKSArIDEsICh2b2lkICoqKSZjYWxsYmFja19kYXRhKSA9PSBTVUNDRVNTKSB7CisJCWlm IChaX1RZUEVfUFAoY2FsbGJhY2tfZGF0YSkgIT0gSVNfQVJSQVkgfHwKKwkJCXplbmRfaGFzaF9p bmRleF9maW5kKFpfQVJSVkFMX1BQKGNhbGxiYWNrX2RhdGEpLCAwLCAodm9pZCAqKikmY2FsbGJh Y2tfcHRyKSA9PSBGQUlMVVJFKSB7CisJCQlwaHBfZXJyb3IoRV9XQVJOSU5HLCAiJXMoKSBpcyBz dXBwbGllZCB3aXRoIGludmFsaWQgY2FsbGJhY2sgc3RydWN0dXJlIGZvciBoYW5kbGVyICclcyci LCBnZXRfYWN0aXZlX2Z1bmN0aW9uX25hbWUoVFNSTUxTX0MpLCBoYW5kbGVyX25hbWUpOworCQkJ cmV0dXJuOyAKKwkJfQorCQl6dmFsX2FkZF9yZWYoY2FsbGJhY2tfcHRyKTsKKwkJY2FsbGJhY2sg PSAqY2FsbGJhY2tfcHRyOworCQl6ZW5kX2hhc2hfaW5kZXhfZGVsKFpfQVJSVkFMX1BQKGNhbGxi YWNrX2RhdGEpLCAwKTsKKwkJZXh0cmEgPSAqY2FsbGJhY2tfZGF0YTsKKwl9IGVsc2UgeworCQlN QUtFX1NURF9aVkFMKGNhbGxiYWNrKTsKKwkJWlZBTF9TVFJJTkcoY2FsbGJhY2ssIChjaGFyICop aGFuZGxlcl9uYW1lLCAxKTsKKwl9CisKKwlpZiAoIXplbmRfaXNfY2FsbGFibGUoY2FsbGJhY2ss IDAsIE5VTEwpKSB7CisJCXBocF9lcnJvcihFX1dBUk5JTkcsICIlcygpIGlzIHVuYWJsZSB0byBh dXRvY29ubmVjdCBjYWxsYmFjayBmb3IgaGFuZGxlciAnJXMnIiwKKwkJCQkgIGdldF9hY3RpdmVf ZnVuY3Rpb25fbmFtZShUU1JNTFNfQyksIGhhbmRsZXJfbmFtZSk7CisJCXJldHVybjsKKwl9CisJ CisJTUFLRV9TVERfWlZBTChwYXJhbXMpOworCWFycmF5X2luaXQocGFyYW1zKTsKKworCWlmIChj b25uZWN0X29iamVjdCkgeworCQlwYXNzX29iamVjdCA9IDA7CisJCW9iamVjdCA9IHBocF9ndGtf bmV3KGNvbm5lY3Rfb2JqZWN0KTsKKwkJYWRkX25leHRfaW5kZXhfenZhbChwYXJhbXMsIG9iamVj dCk7CisJfQorCQorCWlmIChleHRyYSkKKwkJcGhwX2FycmF5X21lcmdlKFpfQVJSVkFMX1AocGFy YW1zKSwgWl9BUlJWQUxfUChleHRyYSksIDAgVFNSTUxTX0NDKTsKKworCWNhbGxiYWNrX2ZpbGVu YW1lID0gemVuZF9nZXRfZXhlY3V0ZWRfZmlsZW5hbWUoVFNSTUxTX0MpOworCWNhbGxiYWNrX2xp bmVubyA9IHplbmRfZ2V0X2V4ZWN1dGVkX2xpbmVubyhUU1JNTFNfQyk7CisJZGF0YSA9IHBocF9n dGtfYnVpbGRfdmFsdWUoIihOTmlzaSkiLCBjYWxsYmFjaywgcGFyYW1zLCBwYXNzX29iamVjdCwK KwkJCQkJCQkgICBjYWxsYmFja19maWxlbmFtZSwgY2FsbGJhY2tfbGluZW5vKTsKKwlndGtfc2ln bmFsX2Nvbm5lY3RfZnVsbChvYmosIHNpZ25hbF9uYW1lLCBOVUxMLAorCQkJCQkJCShHdGtDYWxs YmFja01hcnNoYWwpcGhwX2d0a19jYWxsYmFja19tYXJzaGFsLAorCQkJCQkJCWRhdGEsIHBocF9n dGtfZGVzdHJveV9ub3RpZnksIEZBTFNFLCBhZnRlcik7Cit9CisKK3N0YXRpYyB2b2lkIGdsYWRl X3NpZ25hbF9hdXRvY29ubmVjdF9pbXBsKElOVEVSTkFMX0ZVTkNUSU9OX1BBUkFNRVRFUlMsIGlu dCBwYXNzX29iamVjdCkKK3sKKwl6dmFsICptYXAgPSBOVUxMOworCXBocF9ndGtfYXV0b2Nvbm5l Y3RfZGF0YSAqYWNfZGF0YTsKKworCU5PVF9TVEFUSUNfTUVUSE9EKCk7CisKKwlpZiAoIXBocF9n dGtfcGFyc2VfYXJncyhaRU5EX05VTV9BUkdTKCksICJ8YSIsICZtYXApKQorCQlyZXR1cm47CisK KwlhY19kYXRhID0gKHBocF9ndGtfYXV0b2Nvbm5lY3RfZGF0YSAqKWVtYWxsb2Moc2l6ZW9mKHBo cF9ndGtfYXV0b2Nvbm5lY3RfZGF0YSkpOworCWFjX2RhdGEtPm1hcCA9IG1hcDsKKwlhY19kYXRh LT5wYXNzX29iamVjdCA9IHBhc3Nfb2JqZWN0OworCWdsYWRlX3htbF9zaWduYWxfYXV0b2Nvbm5l Y3RfZnVsbChHTEFERV9YTUwoUEhQX0dUS19HRVQodGhpc19wdHIpKSwKKwkJCQkJCQkJCSAgKEds YWRlWE1MQ29ubmVjdEZ1bmMpZ2xhZGVfY29ubmVjdF9hdXRvLCBhY19kYXRhKTsKK30KKworUEhQ X0ZVTkNUSU9OKGdsYWRlX3htbF9zaWduYWxfYXV0b2Nvbm5lY3QpCit7CisJZ2xhZGVfc2lnbmFs X2F1dG9jb25uZWN0X2ltcGwoSU5URVJOQUxfRlVOQ1RJT05fUEFSQU1fUEFTU1RIUlUsIDEpOwor fQorJSUKK292ZXJyaWRlIGdsYWRlX3htbF9zaWduYWxfYXV0b2Nvbm5lY3Rfb2JqZWN0IHNpZ25h bF9hdXRvY29ubmVjdF9vYmplY3QgR2xhZGVYTUwKK1BIUF9GVU5DVElPTihnbGFkZV94bWxfc2ln bmFsX2F1dG9jb25uZWN0X29iamVjdCkKK3sKKwlnbGFkZV9zaWduYWxfYXV0b2Nvbm5lY3RfaW1w bChJTlRFUk5BTF9GVU5DVElPTl9QQVJBTV9QQVNTVEhSVSwgMCk7Cit9 --7eef5a31e7171ef5a7ea1492194209e7e669b4c1--