From kde-windows Sat May 29 22:59:59 2010 From: Mat Date: Sat, 29 May 2010 22:59:59 +0000 To: kde-windows Subject: Re: Patch for dbus-c++ win32 porting Message-Id: X-MARC-Message: https://marc.info/?l=kde-windows&m=127517408224228 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--0016e64a87e06fb8ba0487c396f4" --0016e64a87e06fb8ba0487c396f4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi I add cmake support for dbus-c++ in these days. It can now use original git source and build binary/library without autotools. Would you like to review the patches or give me some advice/suggestion? sincerely, Mat. On Thu, May 20, 2010 at 12:53 AM, Mat wrote: > On Tue, May 18, 2010 at 4:00 PM, Ralf Habacker = wrote: >> Mat schrieb: >>> Hi All, >>> =C2=A0 I use dbus-c++ library in my programs and found that it's great = for >>> c++ based projects. >>> >>> =C2=A0 I tried to port dbus-c++ to win32, and have some progress these = days. >>> =C2=A0 The libdbusc++ can now work on my winxp :-) >>> =C2=A0 ( for some simple examples, not yet try some real program, like >>> inkboard,...etc ) >>> >>> =C2=A0 Patches are as attachment: >>> =C2=A0 =C2=A0 dbus-c++-src-commit.patch is for import into emerge dir. >>> >> +++ portage/win32libs-sources/dbus-cpp-src/dbus-cpp-src-0.5.0.py >> + =C2=A0 =C2=A0 =C2=A0 =C2=A0self.targets[ver] =C2=A0 =C2=A0 =C2=A0 =3D >> 'http://people.debian.org.tw/~mat/kde-windows/libdbus-c++-%s.tar.gz' % v= er >> >> Is this source the same as from >> https://sourceforge.net/projects/dbus-cplusplus/ ? > > Yes. I just updated it from dbus-cplusplus git. It's the same source > to dbus-cpluscplus > >> >> Because this package is mingw only it should print a related hint and >> break on msvc > > Good, I just added it. > >> >> +++ portage/testing/pthreads-win32/pthreads-win32-2.7.0.py >> added to emerge >> >> +++ portage/testing/pkg-config/pkg-config-0.23-3.py >> added fixes to emerge >> >> +++ portage/testing/glib/glib-2.24.0-2.py >> added fixes to emerge >> >>> =C2=A0 =C2=A0 dbus-1.pc is for c:\kderoot\lib\pkgconfig\ >>> >> this should also be in the patch > Where do you suggestion to attach the patch? ( dbus-src/ pkg-config/ > dbus-cpp-src ) > >>> =C2=A0 =C2=A0 works_for_win32.patch is a patch for dbus-c++-src[1] sour= ce code >>> >> is this patch included in the above mentioned link ? It should not >> >> If patches are not in the archive file it should be added to def >> setTargets( self ): by >> >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0self.patchToApply[v] =3D ( 'xxx= x.patch', > leading components from file names> ) >> >> where v is the build target. > > Good, I have updated to use this method in new file. Thanks for your guid= ance > >> >> >> >> ++ bin/utils.py =C2=A0 =C2=A0(working copy) >> @@ -913,7 +913,7 @@ >> >> =C2=A0def applyPatch(sourceDir, file, patchLevel=3D'0'): >> =C2=A0 =C2=A0 """apply single patch""" >> - =C2=A0 =C2=A0cmd =3D "patch -d %s -p%s < %s" % ( sourceDir, patchLevel= , file ) >> + =C2=A0 =C2=A0cmd =3D "patch -d %s -p%s --binary < %s" % ( sourceDir, p= atchLevel, >> file ) >> >> for what is this good ? > > Ah, sorry for forget to drop the dirty hack. Please ignore it. > >> >>> =C2=A0 Could you help to review these works and give me some advice to = push >>> the works go furthur? >>> >> I suggest to push the patches to the dbus-c++ project directly and to >> use a git source from the original because otherwise there is ongoing >> maintenance of the portage package required. > > Great. > I found that kde-windows's emerge provide git source packing methods, > it's quite convenient. Thank you! > > > Now, I encountered some problem. > For dbus-c++ is autotools based source, so it need automake, > autoconf,... programs to gerenerate/update the Makefiles and > "configure" scripts, which blockes the packaging process. > > I tried to add autotools into emerge ( in one of attachments ), and > try =C2=A0to compile it. However it does not work. > > Do you have any suggestion about this situation, or would you like to > give some advice or direction how to solve this problem? > > Finally, thank you again for your review and advice :-) > > sincerely, Mat. > >> >> Regards >> =C2=A0Ralf >> >> >> >> _______________________________________________ >> Kde-windows mailing list >> Kde-windows@kde.org >> https://mail.kde.org/mailman/listinfo/kde-windows >> > --0016e64a87e06fb8ba0487c396f4 Content-Type: text/x-python; charset=US-ASCII; name="dbus-cpp-src-9999.py" Content-Disposition: attachment; filename="dbus-cpp-src-9999.py" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g9t12c9k2 aW1wb3J0IGluZm8NCmltcG9ydCBvcw0KDQpjbGFzcyBzdWJpbmZvKGluZm8uaW5mb2NsYXNzKToN CiAgICBkZWYgc2V0VGFyZ2V0cyggc2VsZiApOg0KICAgICAgICBzZWxmLnN2blRhcmdldHNbJ2dp dEhFQUQnXSA9ICdnaXQ6Ly9naXRvcmlvdXMub3JnL2RidXMtY3BsdXNwbHVzL21haW5saW5lLmdp dCcNCiAgICAgICAgc2VsZi5wYXRjaFRvQXBwbHlbJ2dpdEhFQUQnXSA9ICggJ3dvcmtzX2Zvcl93 aW4zMi5wYXRjaCcsIDEgKQ0KICAgICAgICBzZWxmLnRhcmdldENvbmZpZ3VyZVBhdGhbJ2dpdEhF QUQnXSA9ICdjbWFrZScNCg0KICAgICAgICBzZWxmLnN2blRhcmdldHNbJ2dpdEZPTExPVyddID0g J2dpdDovL2dpdG9yaW91cy5vcmcvfm1hdGxpbnV4ZXIyL2RidXMtY3BsdXNwbHVzL21hdGxpbnV4 ZXIycy1tYWlubGluZS5naXQnDQogICAgICAgIHNlbGYudGFyZ2V0Q29uZmlndXJlUGF0aFsnZ2l0 Rk9MTE9XJ10gPSAnY21ha2UnDQoNCiAgICAgICAgc2VsZi5kZWZhdWx0VGFyZ2V0ID0gJ2dpdEhF QUQnDQogICAgICAgICNzZWxmLmRlZmF1bHRUYXJnZXQgPSAnZ2l0Rk9MTE9XJw0KDQogICAgZGVm IHNldERlcGVuZGVuY2llcyggc2VsZiApOg0KICAgICAgICBzZWxmLmhhcmREZXBlbmRlbmNpZXNb J3ZpcnR1YWwvYmFzZSddID0gJ2RlZmF1bHQnDQogICAgICAgIHNlbGYuaGFyZERlcGVuZGVuY2ll c1snZGV2LXV0aWwvbXN5cyddID0gJ2RlZmF1bHQnDQogICAgICAgIHNlbGYuaGFyZERlcGVuZGVu Y2llc1sndGVzdGluZy9wdGhyZWFkcy13aW4zMiddID0gJ2RlZmF1bHQnDQogICAgICAgIHNlbGYu aGFyZERlcGVuZGVuY2llc1snd2luMzJsaWJzLWJpbi9kYnVzJ10gPSAnZGVmYXVsdCcNCiAgICAg ICAgc2VsZi5oYXJkRGVwZW5kZW5jaWVzWyd3aW4zMmxpYnMtYmluL2V4cGF0J10gPSAnZGVmYXVs dCcNCg0KDQpmcm9tIFBhY2thZ2UuQ01ha2VQYWNrYWdlQmFzZSBpbXBvcnQgKg0KICAgICAgICAg ICAgICAgIA0KY2xhc3MgUGFja2FnZShDTWFrZVBhY2thZ2VCYXNlKToNCiAgICBkZWYgX19pbml0 X18oIHNlbGYsICoqYXJncyApOg0KICAgICAgICBzZWxmLnN1YmluZm8gPSBzdWJpbmZvKCkNCiAg ICAgICAgQ01ha2VQYWNrYWdlQmFzZS5fX2luaXRfXyggc2VsZiApDQogICAgICAgIHNlbGYuc3Vi aW5mby5vcHRpb25zLnBhY2thZ2UucGFja2FnZU5hbWUgPSAnZGJ1cy1jKysnDQogICAgICAgIHNl bGYuc3ViaW5mby5vcHRpb25zLm1ha2Uuc2xuQmFzZU5hbWUgPSAnZGJ1cy1jKysnDQogICAgICAg IA0KICAgIGRlZiB1bnBhY2soc2VsZik6DQogICAgICAgIGlmIG5vdCBDTWFrZVBhY2thZ2VCYXNl LnVucGFjayhzZWxmKToNCiAgICAgICAgICAgIHJldHVybiBGYWxzZSAgICAgIA0KICAgICAgICAj IENoZWNrIHdoZXRoZXIgY29tcGlsZXIgaXMgbWluZ3cgb3Igbm90Li4uDQogICAgICAgIGlmIHNl bGYuY29tcGlsZXIoKSAhPSAibWluZ3ciIGFuZCBzZWxmLmNvbXBpbGVyKCkgIT0gIm1pbmd3NCI6 DQogICAgICAgICAgICB1dGlscy5kaWUoIlRoaXMgcGFja2FnZSBpcyBjdXJyZW50bHkgb25seSBj b21waWxlZCB3aXRoIG1pbmd3LiIpDQoNCiAgICAgICAgcmV0dXJuIFRydWUNCg0KDQppZiBfX25h bWVfXyA9PSAnX19tYWluX18nOg0KICAgIFBhY2thZ2UoKS5leGVjdXRlKCkNCg== --0016e64a87e06fb8ba0487c396f4 Content-Type: application/octet-stream; name="works_for_win32.patch" Content-Disposition: attachment; filename="works_for_win32.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g9t12sk03 ZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2VjaG8vTWFrZWZpbGUuYW0gYi9leGFtcGxlcy9lY2hvL01h a2VmaWxlLmFtCmluZGV4IDYzZmUyZWIuLmQyMDhiYzAgMTAwNjQ0Ci0tLSBhL2V4YW1wbGVzL2Vj aG8vTWFrZWZpbGUuYW0KKysrIGIvZXhhbXBsZXMvZWNoby9NYWtlZmlsZS5hbQpAQCAtMTAsMTEg KzEwLDExIEBAIGVjaG9fc2VydmVyX0xEQUREID0gJCh0b3BfYnVpbGRkaXIpL3NyYy9saWJkYnVz LWMrKy0xLmxhCiBlY2hvLXNlcnZlci1nbHVlLmg6IGVjaG8taW50cm9zcGVjdC54bWwKIAkkKHRv cF9idWlsZGRpcikvdG9vbHMvZGJ1c3h4LXhtbDJjcHAgJF4gLS1hZGFwdG9yPSRACgotbm9pbnN0 X1BST0dSQU1TICs9IGVjaG8tY2xpZW50LW10Ci0KLWVjaG9fY2xpZW50X210X1NPVVJDRVMgPSBl Y2hvLWNsaWVudC1nbHVlLmggZWNoby1jbGllbnQuaCBlY2hvLWNsaWVudC5jcHAKLWVjaG9fY2xp ZW50X210X0xEQUREID0gJCh0b3BfYnVpbGRkaXIpL3NyYy9saWJkYnVzLWMrKy0xLmxhIEBQVEhS RUFEX0xJQlNACi1lY2hvX2NsaWVudF9tdF9DWFhGTEFHUyA9IEBQVEhSRUFEX0NGTEFHU0AKKyNu b2luc3RfUFJPR1JBTVMgKz0gZWNoby1jbGllbnQtbXQKKyMKKyNlY2hvX2NsaWVudF9tdF9TT1VS Q0VTID0gZWNoby1jbGllbnQtZ2x1ZS5oIGVjaG8tY2xpZW50LmggZWNoby1jbGllbnQuY3BwCisj ZWNob19jbGllbnRfbXRfTERBREQgPSAkKHRvcF9idWlsZGRpcikvc3JjL2xpYmRidXMtYysrLTEu bGEgQFBUSFJFQURfTElCU0AKKyNlY2hvX2NsaWVudF9tdF9DWFhGTEFHUyA9IEBQVEhSRUFEX0NG TEFHU0AKCiBlY2hvLWNsaWVudC1nbHVlLmg6IGVjaG8taW50cm9zcGVjdC54bWwKIAkkKHRvcF9i dWlsZGRpcikvdG9vbHMvZGJ1c3h4LXhtbDJjcHAgJF4gLS1wcm94eT0kQApkaWZmIC0tZ2l0IGEv ZXhhbXBsZXMvZWNoby9lY2hvLXNlcnZlci5jcHAgYi9leGFtcGxlcy9lY2hvL2VjaG8tc2VydmVy LmNwcAppbmRleCBjYmNkNTE3Li40MGRjZGFjIDEwMDY0NAotLS0gYS9leGFtcGxlcy9lY2hvL2Vj aG8tc2VydmVyLmNwcAorKysgYi9leGFtcGxlcy9lY2hvL2VjaG8tc2VydmVyLmNwcApAQCAtOSw2 ICs5LDE3IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KCisjaWZk ZWYgX1dJTjMyCisKKyNpbmNsdWRlIDx3aW5zb2NrMi5oPgorI2RlZmluZSBIT1NUX05BTUVfTUFY IDEwMjQKKworY2hhciAqZ2V0bG9naW4oKXsKKwlyZXR1cm4gZ2V0ZW52KCJVU0VSTkFNRSIpOwor fQorCisjZW5kaWYKKwogc3RhdGljIGNvbnN0IGNoYXIgKkVDSE9fU0VSVkVSX05BTUUgPSAib3Jn LmZyZWVkZXNrdG9wLkRCdXMuRXhhbXBsZXMuRWNobyI7CiBzdGF0aWMgY29uc3QgY2hhciAqRUNI T19TRVJWRVJfUEFUSCA9ICIvb3JnL2ZyZWVkZXNrdG9wL0RCdXMvRXhhbXBsZXMvRWNobyI7Cgpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kYnVzLWMrKy9jb25uZWN0aW9uLmggYi9pbmNsdWRlL2RidXMt YysrL2Nvbm5lY3Rpb24uaAppbmRleCAzZjhhYWY2Li5iNzY2YWM0IDEwMDY0NAotLS0gYS9pbmNs dWRlL2RidXMtYysrL2Nvbm5lY3Rpb24uaAorKysgYi9pbmNsdWRlL2RidXMtYysrL2Nvbm5lY3Rp b24uaApAQCAtMjYsNiArMjYsMTQgQEAKICNkZWZpbmUgX19EQlVTWFhfQ09OTkVDVElPTl9ICgog I2luY2x1ZGUgPGxpc3Q+CisvKgorICogJ2ludGVyZmFjZScgaXMgZGVmaW5lZCBzb21ld2hlcmUg aW4gdGhlIFdpbmRvd3MgaGVhZGVyIGZpbGVzLgorICogUG9zc2libGUgaW5jbHVkZXM6IDxsaXN0 PgorICogVGhpcyBtYWNybyBpcyBkZWxldGVkIGhlcmUgdG8gYXZvaWQgY29uZmxpY3RzIGFuZCBj b21waWxlIGVycm9ycy4KKyAqLworI2lmZGVmIF9XSU4zMgorI3VuZGVmIGludGVyZmFjZQorI2Vu ZGlmCgogI2luY2x1ZGUgImFwaS5oIgogI2luY2x1ZGUgInR5cGVzLmgiCmRpZmYgLS1naXQgYS9p bmNsdWRlL2RidXMtYysrL2V2ZW50bG9vcC1pbnRlZ3JhdGlvbi5oIGIvaW5jbHVkZS9kYnVzLWMr Ky9ldmVudGxvb3AtaW50ZWdyYXRpb24uaAppbmRleCBiOGUwMmM3Li4yMGVhZTQyIDEwMDY0NAot LS0gYS9pbmNsdWRlL2RidXMtYysrL2V2ZW50bG9vcC1pbnRlZ3JhdGlvbi5oCisrKyBiL2luY2x1 ZGUvZGJ1cy1jKysvZXZlbnRsb29wLWludGVncmF0aW9uLmgKQEAgLTMxLDYgKzMxLDE2IEBACiAj aW5jbHVkZSAidXRpbC5oIgogI2luY2x1ZGUgImV2ZW50bG9vcC5oIgoKKyNpZmRlZiBfV0lOMzIK KyNpbmNsdWRlIDxkaXJlY3QuaD4KK3N0YXRpYyBpbmxpbmUgaW50IHBpcGUoaW50IHBpcGVmZFsy XSl7CisgIGNvbnN0IHVuc2lnbmVkIGludCBidWZmZXJfc2l6ZSA9IDQwOTY7CisgIGNvbnN0IGlu dCBmbGFncyA9IDA7CisgIHJldHVybiBfcGlwZShwaXBlZmQsIGJ1ZmZlcl9zaXplLCBmbGFncyk7 Cit9CisjZW5kaWYKKworCiBuYW1lc3BhY2UgREJ1cyB7CgogLyogCmRpZmYgLS1naXQgYS9pbmNs dWRlL2RidXMtYysrL2V2ZW50bG9vcC5oIGIvaW5jbHVkZS9kYnVzLWMrKy9ldmVudGxvb3AuaApp bmRleCA1YjFiODA4Li4zYmY0OTk3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RidXMtYysrL2V2ZW50 bG9vcC5oCisrKyBiL2luY2x1ZGUvZGJ1cy1jKysvZXZlbnRsb29wLmgKQEAgLTI3LDEwICsyNyw3 OSBAQAoKICNpbmNsdWRlIDxwdGhyZWFkLmg+CiAjaW5jbHVkZSA8bGlzdD4KKy8qCisgKiAnaW50 ZXJmYWNlJyBpcyBkZWZpbmVkIHNvbWV3aGVyZSBpbiB0aGUgV2luZG93cyBoZWFkZXIgZmlsZXMu CisgKiBQb3NzaWJsZSBpbmNsdWRlczogPGxpc3Q+CisgKiBUaGlzIG1hY3JvIGlzIGRlbGV0ZWQg aGVyZSB0byBhdm9pZCBjb25mbGljdHMgYW5kIGNvbXBpbGUgZXJyb3JzLgorICovCisjaWZkZWYg X1dJTjMyCisjdW5kZWYgaW50ZXJmYWNlCisjZW5kaWYKCiAjaW5jbHVkZSAiYXBpLmgiCiAjaW5j bHVkZSAidXRpbC5oIgoKKworZXh0ZXJuICJDIiB7CisKKyAgLyogQUlYIHVzZXMgZGlmZmVyZW50 IHZhbHVlcyBmb3IgcG9sbCAqLworICAjaWZkZWYgX0FJWAorICAgIC8qKiBUaGVyZSBpcyBkYXRh IHRvIHJlYWQgKi8KKyAgICAjZGVmaW5lIF9EQlVTX1BPTExJTiAgICAgIDB4MDAwMQorICAgIC8q KiBUaGVyZSBpcyB1cmdlbnQgZGF0YSB0byByZWFkICovCisgICAgI2RlZmluZSBfREJVU19QT0xM UFJJICAgICAweDAwMDQKKyAgICAvKiogV3JpdGluZyBub3cgd2lsbCBub3QgYmxvY2sgKi8KKyAg ICAjZGVmaW5lIF9EQlVTX1BPTExPVVQgICAgIDB4MDAwMgorICAgIC8qKiBFcnJvciBjb25kaXRp b24gKi8KKyAgICAjZGVmaW5lIF9EQlVTX1BPTExFUlIgICAgIDB4NDAwMAorICAgIC8qKiBIdW5n IHVwICovCisgICAgI2RlZmluZSBfREJVU19QT0xMSFVQICAgICAweDIwMDAKKyAgICAvKiogSW52 YWxpZCByZXF1ZXN0OiBmZCBub3Qgb3BlbiAqLworICAgICNkZWZpbmUgX0RCVVNfUE9MTE5WQUwg ICAgMHg4MDAwCisKKyAgI2VsaWYgZGVmaW5lZChfX0hBSUtVX18pCisgICAgLyoqIFRoZXJlIGlz IGRhdGEgdG8gcmVhZCAqLworICAgICNkZWZpbmUgX0RCVVNfUE9MTElOICAgICAgMHgwMDAxCisg ICAgLyoqIFdyaXRpbmcgbm93IHdpbGwgbm90IGJsb2NrICovCisgICAgI2RlZmluZSBfREJVU19Q T0xMT1VUICAgICAweDAwMDIKKyAgICAvKiogRXJyb3IgY29uZGl0aW9uICovCisgICAgI2RlZmlu ZSBfREJVU19QT0xMRVJSICAgICAweDAwMDQKKyAgICAvKiogVGhlcmUgaXMgdXJnZW50IGRhdGEg dG8gcmVhZCAqLworICAgICNkZWZpbmUgX0RCVVNfUE9MTFBSSSAgICAgMHgwMDIwCisgICAgLyoq IEh1bmcgdXAgKi8KKyAgICAjZGVmaW5lIF9EQlVTX1BPTExIVVAgICAgIDB4MDA4MAorICAgIC8q KiBJbnZhbGlkIHJlcXVlc3Q6IGZkIG5vdCBvcGVuICovCisgICAgI2RlZmluZSBfREJVU19QT0xM TlZBTCAgICAweDEwMDAKKworICAjZWxzZQorICAgIC8qKiBUaGVyZSBpcyBkYXRhIHRvIHJlYWQg Ki8KKyAgICAjZGVmaW5lIF9EQlVTX1BPTExJTiAgICAgIDB4MDAwMQorICAgIC8qKiBUaGVyZSBp cyB1cmdlbnQgZGF0YSB0byByZWFkICovCisgICAgI2RlZmluZSBfREJVU19QT0xMUFJJICAgICAw eDAwMDIKKyAgICAvKiogV3JpdGluZyBub3cgd2lsbCBub3QgYmxvY2sgKi8KKyAgICAjZGVmaW5l IF9EQlVTX1BPTExPVVQgICAgIDB4MDAwNAorICAgIC8qKiBFcnJvciBjb25kaXRpb24gKi8KKyAg ICAjZGVmaW5lIF9EQlVTX1BPTExFUlIgICAgIDB4MDAwOAorICAgIC8qKiBIdW5nIHVwICovCisg ICAgI2RlZmluZSBfREJVU19QT0xMSFVQICAgICAweDAwMTAKKyAgICAvKiogSW52YWxpZCByZXF1 ZXN0OiBmZCBub3Qgb3BlbiAqLworICAgICNkZWZpbmUgX0RCVVNfUE9MTE5WQUwgICAgMHgwMDIw CisgICNlbmRpZgorCisgIC8qKgorICAgKiBBIHBvcnRhYmxlIHN0cnVjdCBwb2xsZmQgd3JhcHBl ci4KKyAgICovCisgIHR5cGVkZWYgc3RydWN0CisgIHsKKyAgICBpbnQgZmQ7CisgICAgc2hvcnQg ZXZlbnRzOworICAgIHNob3J0IHJldmVudHM7CisgIH0gREJ1c1BvbGxGRDsKKworICBpbnQgX2Ri dXNfcG9sbCggREJ1c1BvbGxGRCAqZmRzLCBpbnQgbl9mZHMsIGludCB0aW1lb3V0X21pbGxpc2Vj b25kcyApOworCit9CisKIG5hbWVzcGFjZSBEQnVzIHsKCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9kYnVzLWMrKy9vYmplY3QuaCBiL2luY2x1ZGUvZGJ1cy1jKysvb2JqZWN0LmgKaW5kZXggOTYy YmY3Ny4uYTVlYTBmMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kYnVzLWMrKy9vYmplY3QuaAorKysg Yi9pbmNsdWRlL2RidXMtYysrL29iamVjdC5oCkBAIC0yNyw2ICsyNywxNCBAQAoKICNpbmNsdWRl IDxzdHJpbmc+CiAjaW5jbHVkZSA8bGlzdD4KKy8qCisgKiAnaW50ZXJmYWNlJyBpcyBkZWZpbmVk IHNvbWV3aGVyZSBpbiB0aGUgV2luZG93cyBoZWFkZXIgZmlsZXMuCisgKiBQb3NzaWJsZSBpbmNs dWRlczogPGxpc3Q+CisgKiBUaGlzIG1hY3JvIGlzIGRlbGV0ZWQgaGVyZSB0byBhdm9pZCBjb25m bGljdHMgYW5kIGNvbXBpbGUgZXJyb3JzLgorICovCisjaWZkZWYgX1dJTjMyCisjdW5kZWYgaW50 ZXJmYWNlCisjZW5kaWYKCiAjaW5jbHVkZSAiYXBpLmgiCiAjaW5jbHVkZSAiaW50ZXJmYWNlLmgi CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RidXMtYysrL3NlcnZlci5oIGIvaW5jbHVkZS9kYnVzLWMr Ky9zZXJ2ZXIuaAppbmRleCAzMDg3OWJmLi5jMGE5NWM5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2Ri dXMtYysrL3NlcnZlci5oCisrKyBiL2luY2x1ZGUvZGJ1cy1jKysvc2VydmVyLmgKQEAgLTI2LDYg KzI2LDE0IEBACiAjZGVmaW5lIF9fREJVU1hYX1NFUlZFUl9ICgogI2luY2x1ZGUgPGxpc3Q+Cisv KgorICogJ2ludGVyZmFjZScgaXMgZGVmaW5lZCBzb21ld2hlcmUgaW4gdGhlIFdpbmRvd3MgaGVh ZGVyIGZpbGVzLgorICogUG9zc2libGUgaW5jbHVkZXM6IDxsaXN0PgorICogVGhpcyBtYWNybyBp cyBkZWxldGVkIGhlcmUgdG8gYXZvaWQgY29uZmxpY3RzIGFuZCBjb21waWxlIGVycm9ycy4KKyAq LworI2lmZGVmIF9XSU4zMgorI3VuZGVmIGludGVyZmFjZQorI2VuZGlmCgogI2luY2x1ZGUgImFw aS5oIgogI2luY2x1ZGUgImVycm9yLmgiCmRpZmYgLS1naXQgYS9zcmMvZGlzcGF0Y2hlci5jcHAg Yi9zcmMvZGlzcGF0Y2hlci5jcHAKaW5kZXggMmRhNGU4Ni4uODE4ZjIyMiAxMDA2NDQKLS0tIGEv c3JjL2Rpc3BhdGNoZXIuY3BwCisrKyBiL3NyYy9kaXNwYXRjaGVyLmNwcApAQCAtNjksNyArNjks NyBAQCBXYXRjaDo6V2F0Y2goV2F0Y2g6OkludGVybmFsICppKQoKIGludCBXYXRjaDo6ZGVzY3Jp cHRvcigpIGNvbnN0CiB7Ci0jaWYgSEFWRV9XSU4zMgorI2lmIF9XSU4zMgogCXJldHVybiBkYnVz X3dhdGNoX2dldF9zb2NrZXQoKERCdXNXYXRjaCopX2ludCk7CiAjZWxzZQogCXJldHVybiBkYnVz X3dhdGNoX2dldF91bml4X2ZkKChEQnVzV2F0Y2gqKV9pbnQpOwpkaWZmIC0tZ2l0IGEvc3JjL2V2 ZW50bG9vcC1pbnRlZ3JhdGlvbi5jcHAgYi9zcmMvZXZlbnRsb29wLWludGVncmF0aW9uLmNwcApp bmRleCBkODAxNTc0Li5jYjNmMDUyIDEwMDY0NAotLS0gYS9zcmMvZXZlbnRsb29wLWludGVncmF0 aW9uLmNwcAorKysgYi9zcmMvZXZlbnRsb29wLWludGVncmF0aW9uLmNwcApAQCAtMjUsMTMgKzI1 LDE3IEBACiAjaW5jbHVkZSA8Y29uZmlnLmg+CiAjZW5kaWYKCisjaWZkZWYgX1dJTjMyCisjaW5j bHVkZSA8aW8uaD4KKyNpbmNsdWRlIDxwcm9jZXNzLmg+CisjZW5kaWYKKworCiAjaW5jbHVkZSA8 c3RyaW5nLmg+CgogI2luY2x1ZGUgPGRidXMtYysrL2V2ZW50bG9vcC1pbnRlZ3JhdGlvbi5oPgog I2luY2x1ZGUgPGRidXMtYysrL2RlYnVnLmg+CgotI2luY2x1ZGUgPHN5cy9wb2xsLmg+Ci0KICNp bmNsdWRlIDxkYnVzL2RidXMuaD4KICNpbmNsdWRlIDxlcnJuby5oPgoKQEAgLTUzLDEyICs1Nywx MiBAQCB2b2lkIEJ1c1RpbWVvdXQ6OnRvZ2dsZSgpCiBCdXNXYXRjaDo6QnVzV2F0Y2goV2F0Y2g6 OkludGVybmFsICp3aSwgQnVzRGlzcGF0Y2hlciAqYmQpCiA6IFdhdGNoKHdpKSwgRGVmYXVsdFdh dGNoKFdhdGNoOjpkZXNjcmlwdG9yKCksIDAsIGJkKQogewotCWludCBmbGFncyA9IFBPTExIVVAg fCBQT0xMRVJSOworCWludCBmbGFncyA9IF9EQlVTX1BPTExIVVAgfCBfREJVU19QT0xMRVJSOwoK IAlpZiAoV2F0Y2g6OmZsYWdzKCkgJiBEQlVTX1dBVENIX1JFQURBQkxFKQotCQlmbGFncyB8PSBQ T0xMSU47CisJCWZsYWdzIHw9IF9EQlVTX1BPTExJTjsKIAlpZiAoV2F0Y2g6OmZsYWdzKCkgJiBE QlVTX1dBVENIX1dSSVRBQkxFKQotCQlmbGFncyB8PSBQT0xMT1VUOworCQlmbGFncyB8PSBfREJV U19QT0xMT1VUOwoKIAlEZWZhdWx0V2F0Y2g6OmZsYWdzKGZsYWdzKTsKIAlEZWZhdWx0V2F0Y2g6 OmVuYWJsZWQoV2F0Y2g6OmVuYWJsZWQoKSk7CkBAIC0xNjEsMTMgKzE2NSwxMyBAQCB2b2lkIEJ1 c0Rpc3BhdGNoZXI6OndhdGNoX3JlYWR5KERlZmF1bHRXYXRjaCAmZXcpCgogCWludCBmbGFncyA9 IDA7CgotCWlmICh3YXRjaC0+c3RhdGUoKSAmIFBPTExJTikKKwlpZiAod2F0Y2gtPnN0YXRlKCkg JiBfREJVU19QT0xMSU4pCiAJCWZsYWdzIHw9IERCVVNfV0FUQ0hfUkVBREFCTEU7Ci0JaWYgKHdh dGNoLT5zdGF0ZSgpICYgUE9MTE9VVCkKKwlpZiAod2F0Y2gtPnN0YXRlKCkgJiBfREJVU19QT0xM T1VUKQogCQlmbGFncyB8PSBEQlVTX1dBVENIX1dSSVRBQkxFOwotCWlmICh3YXRjaC0+c3RhdGUo KSAmIFBPTExIVVApCisJaWYgKHdhdGNoLT5zdGF0ZSgpICYgX0RCVVNfUE9MTEhVUCkKIAkJZmxh Z3MgfD0gREJVU19XQVRDSF9IQU5HVVA7Ci0JaWYgKHdhdGNoLT5zdGF0ZSgpICYgUE9MTEVSUikK KwlpZiAod2F0Y2gtPnN0YXRlKCkgJiBfREJVU19QT0xMRVJSKQogCQlmbGFncyB8PSBEQlVTX1dB VENIX0VSUk9SOwoKIAl3YXRjaC0+aGFuZGxlKGZsYWdzKTsKZGlmZiAtLWdpdCBhL3NyYy9ldmVu dGxvb3AuY3BwIGIvc3JjL2V2ZW50bG9vcC5jcHAKaW5kZXggNzZiOTRmOC4uNGZkYWE3YSAxMDA2 NDQKLS0tIGEvc3JjL2V2ZW50bG9vcC5jcHAKKysrIGIvc3JjL2V2ZW50bG9vcC5jcHAKQEAgLTI4 LDcgKzI4LDYgQEAKICNpbmNsdWRlIDxkYnVzLWMrKy9ldmVudGxvb3AuaD4KICNpbmNsdWRlIDxk YnVzLWMrKy9kZWJ1Zy5oPgoKLSNpbmNsdWRlIDxzeXMvcG9sbC5oPgogI2luY2x1ZGUgPHN5cy90 aW1lLmg+CgogI2luY2x1ZGUgPGRidXMvZGJ1cy5oPgpAQCAtMTQ5LDEyICsxNDgsMTQgQEAgdm9p ZCBEZWZhdWx0TWFpbkxvb3A6OmRpc3BhdGNoKCkKCiAJaW50IG5mZCA9IF93YXRjaGVzLnNpemUo KTsKCisjaWZuZGVmIF9XSU4zMgogCWlmKF9mZHVubG9jaykKIAl7CiAJCW5mZD1uZmQrMjsKIAl9 CisjZW5kaWYKCi0JcG9sbGZkIGZkc1tuZmRdOworCURCdXNQb2xsRkQgZmRzW25mZF07CgogCURl ZmF1bHRXYXRjaGVzOjppdGVyYXRvciB3aSA9IF93YXRjaGVzLmJlZ2luKCk7CgpAQCAtMTcwLDE2 ICsxNzEsMTggQEAgdm9pZCBEZWZhdWx0TWFpbkxvb3A6OmRpc3BhdGNoKCkKIAkJfQogCX0KCisj aWZuZGVmIF9XSU4zMgogCWlmKF9mZHVubG9jayl7CiAJCWZkc1tuZmRdLmZkID0gX2ZkdW5sb2Nr WzBdOwotCQlmZHNbbmZkXS5ldmVudHMgPSBQT0xMSU4gfCBQT0xMT1VUIHwgUE9MTFBSSSA7CisJ CWZkc1tuZmRdLmV2ZW50cyA9IF9EQlVTX1BPTExJTiB8IF9EQlVTX1BPTExPVVQgfCBfREJVU19Q T0xMUFJJIDsKIAkJZmRzW25mZF0ucmV2ZW50cyA9IDA7CiAJCQogCQluZmQrKzsKIAkJZmRzW25m ZF0uZmQgPSBfZmR1bmxvY2tbMV07Ci0JCWZkc1tuZmRdLmV2ZW50cyA9IFBPTExJTiB8IFBPTExP VVQgfCBQT0xMUFJJIDsKKwkJZmRzW25mZF0uZXZlbnRzID0gX0RCVVNfUE9MTElOIHwgX0RCVVNf UE9MTE9VVCB8IF9EQlVTX1BPTExQUkkgOwogCQlmZHNbbmZkXS5yZXZlbnRzID0gMDsKIAl9Cisj ZW5kaWYKCiAJX211dGV4X3cudW5sb2NrKCk7CgpAQCAtMTk3LDcgKzIwMCw3IEBAIHZvaWQgRGVm YXVsdE1haW5Mb29wOjpkaXNwYXRjaCgpCgogCV9tdXRleF90LnVubG9jaygpOwoKLQlwb2xsKGZk cywgbmZkLCB3YWl0X21pbik7CisJX2RidXNfcG9sbChmZHMsIG5mZCwgd2FpdF9taW4pOwoKIAl0 aW1ldmFsIG5vdzsKIAlnZXR0aW1lb2ZkYXkoJm5vdywgTlVMTCk7CkBAIC0yNDAsMTAgKzI0Mywx MyBAQCB2b2lkIERlZmF1bHRNYWluTG9vcDo6ZGlzcGF0Y2goKQogCQkJRGVmYXVsdFdhdGNoZXM6 Oml0ZXJhdG9yIHRtcCA9IHdpOwogCQkJKyt0bXA7CgorCQkJZGVidWdfbG9nKCJtYWlubG9vcGlu Zy4uLiIpOwogCQkJaWYgKCgqd2kpLT5lbmFibGVkKCkgJiYgKCp3aSktPl9mZCA9PSBmZHNbal0u ZmQpCiAJCQl7CisJCQkJZGVidWdfbG9nKCJmaWx0ZXJpbmcuLi4lZCIsICgqd2kpLT5fZmQgKTsK IAkJCQlpZiAoZmRzW2pdLnJldmVudHMpCiAJCQkJeworCQkJCQlkZWJ1Z19sb2coInRyaWdnZXJp bmcuLi4iKTsKIAkJCQkJKCp3aSktPl9zdGF0ZSA9IGZkc1tqXS5yZXZlbnRzOwoKIAkJCQkJKCp3 aSktPnJlYWR5KCooKndpKSk7CkBAIC0yNTgsMyArMjY0LDkwIEBAIHZvaWQgRGVmYXVsdE1haW5M b29wOjpkaXNwYXRjaCgpCiAJX211dGV4X3cudW5sb2NrKCk7CiB9CgorCisjaWZkZWYgX1dJTjMy CisjaW5jbHVkZSA8d2luc29jazIuaD4KKyNlbmRpZgorCitpbnQgX2RidXNfcG9sbCAoREJ1c1Bv bGxGRCAqZmRzLCBpbnQgbl9mZHMsIGludCB0aW1lb3V0X21pbGxpc2Vjb25kcykKK3sKKworCWZk X3NldCByZWFkX3NldCwgd3JpdGVfc2V0LCBlcnJfc2V0OworCWludCBtYXhfZmQgPSAwOworCWlu dCBpOworCXN0cnVjdCB0aW1ldmFsIHR2OworCWludCByZWFkeTsKKworCUZEX1pFUk8gKCZyZWFk X3NldCk7CisJRkRfWkVSTyAoJndyaXRlX3NldCk7CisJRkRfWkVSTyAoJmVycl9zZXQpOworCisJ Zm9yIChpID0gMDsgaSA8IG5fZmRzOyBpKyspCisJeworCQlEQnVzUG9sbEZEICpmZHAgPSAmZmRz W2ldOworCisjaWZkZWYgX1dJTjMyCisJCWlmICggZmRwLT5mZCA8IDEwMjQgKXsKKwkJCWNvbnRp bnVlOworCQl9CisjZW5kaWYKKworCQlkZWJ1Z19sb2coImFkZGluZyAoZmQ6ICVkKSBmb3Igc2Vs ZWN0aW5nIHNldC4uLlxuIiwgZmRwLT5mZCAgKTsKKworCQlpZiAoZmRwLT5ldmVudHMgJiBfREJV U19QT0xMSU4peworCQkJRkRfU0VUIChmZHAtPmZkLCAmcmVhZF9zZXQpOworCQl9CisKKwkJaWYg KGZkcC0+ZXZlbnRzICYgX0RCVVNfUE9MTE9VVCl7CisJCQlGRF9TRVQgKGZkcC0+ZmQsICZ3cml0 ZV9zZXQpOworCQl9CisKKwkJRkRfU0VUIChmZHAtPmZkLCAmZXJyX3NldCk7CisKKwkJbWF4X2Zk ID0gKCBtYXhfZmQgPiBmZHAtPmZkICkgPyBtYXhfZmQgOiBmZHAtPmZkOworCX0KKworCXR2LnR2 X3NlYyA9IHRpbWVvdXRfbWlsbGlzZWNvbmRzIC8gMTAwMDsKKwl0di50dl91c2VjID0gKHRpbWVv dXRfbWlsbGlzZWNvbmRzICUgMTAwMCkgKiAxMDAwOworCisJZGVidWdfbG9nKCJiZWZvcmUgc2Vs ZWN0aW5nLi4uKG1heF9mZDogJWQsIHR2X3NlYzolZCwgdHZfdXNlYzogJWQpIFxuIiwgbWF4X2Zk LCB0di50dl9zZWMsIHR2LnR2X3VzZWMgKTsKKwlyZWFkeSA9IHNlbGVjdCAobWF4X2ZkICsgMSwg JnJlYWRfc2V0LCAmd3JpdGVfc2V0LCAmZXJyX3NldCwgdGltZW91dF9taWxsaXNlY29uZHMgPCAw ID8gTlVMTCA6ICZ0dik7CisJZGVidWdfbG9nKCJhZnRlciBzZWxlY3RpbmcgKHJldHVybjogJWQp Li4uIFxuIiwgcmVhZHkgKTsKKworCWlmIChyZWFkeSA+IDApCisJeworCQlkZWJ1Z19sb2coInNl bGVjdDogcmVhZHkgZm9yIHRyaWdnZXJpbmcgXG4iKTsKKwkJZm9yIChpID0gMDsgaSA8IG5fZmRz OyBpKyspCisJCXsKKwkJCURCdXNQb2xsRkQgKmZkcCA9ICZmZHNbaV07CisKKwkJCWZkcC0+cmV2 ZW50cyA9IDA7CisKKwkJCWlmIChGRF9JU1NFVCAoZmRwLT5mZCwgJnJlYWRfc2V0KSl7CisJCQkJ ZmRwLT5yZXZlbnRzIHw9IF9EQlVTX1BPTExJTjsKKwkJCX0KKworCQkJaWYgKEZEX0lTU0VUIChm ZHAtPmZkLCAmd3JpdGVfc2V0KSl7CisJCQkJZmRwLT5yZXZlbnRzIHw9IF9EQlVTX1BPTExPVVQ7 CisJCQl9CisKKwkJCWlmIChGRF9JU1NFVCAoZmRwLT5mZCwgJmVycl9zZXQpKXsKKwkJCQlmZHAt PnJldmVudHMgfD0gX0RCVVNfUE9MTEVSUjsKKwkJCX0KKwkJfQorCX0KKwllbHNlIGlmIChyZWFk eSA9PSAwKQorCXsKKwkJZGVidWdfbG9nKCJzZWxlY3QgdGltZW91dCBcbiIpOworCX0KKwllbHNl CisJeworCQlkZWJ1Z19sb2coICJzZWxlY3QgZmFpbGVkIVxuIiApOworI2lmZGVmIF9XSU4zMgor CQlpbnQgZXJyb3JfbnVtYmVyID0gV1NBR2V0TGFzdEVycm9yKCk7CisJCWRlYnVnX2xvZygic2Vs ZWN0OiBlcnJvciBudW1iZXIgaXMgKCAlZCApXG4iLCBlcnJvcl9udW1iZXIgKTsKKyNlbmRpZgor CX0KKworCXJldHVybiByZWFkeTsKK30KZGlmZiAtLWdpdCBhL3Rvb2xzL2dlbmVyYXRlX3Byb3h5 LmNwcCBiL3Rvb2xzL2dlbmVyYXRlX3Byb3h5LmNwcAppbmRleCBhNDZmYzMyLi42MDc5YWIyIDEw MDY0NAotLS0gYS90b29scy9nZW5lcmF0ZV9wcm94eS5jcHAKKysrIGIvdG9vbHMvZ2VuZXJhdGVf cHJveHkuY3BwCkBAIC0yOSw2ICsyOSwxMCBAQAogI2luY2x1ZGUgImdlbmVyYXRvcl91dGlscy5o IgogI2luY2x1ZGUgImdlbmVyYXRlX3Byb3h5LmgiCgorI2lmZGVmIF9XSU4zMgordHlwZWRlZiB1 bnNpZ25lZCBpbnQgdWludDsKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogdXNpbmcg bmFtZXNwYWNlIERCdXM7CgpkaWZmIC0tZ2l0IGEvdG9vbHMvaW50cm9zcGVjdC5jcHAgYi90b29s cy9pbnRyb3NwZWN0LmNwcAppbmRleCA4Y2U5ZjNhLi4xNzU2M2NmIDEwMDY0NAotLS0gYS90b29s cy9pbnRyb3NwZWN0LmNwcAorKysgYi90b29scy9pbnRyb3NwZWN0LmNwcApAQCAtMjcsNiArMjcs MjIgQEAKICNpbmNsdWRlIDxpb3N0cmVhbT4KICNpbmNsdWRlICJpbnRyb3NwZWN0LmgiCgorI2lm ZGVmIF9XSU4zMgorICNpbmNsdWRlIDx3aW5kb3dzLmg+CisKKyAjaWZuZGVmIFNJR0FMUk0KKyAg I2RlZmluZSBTSUdBTFJNIDE0CisgI2VuZGlmCisKK1ZPSUQgQ0FMTEJBQ0sgcmFpc2VTaWdBbGFy bShIV05EIGh3bmQsIFVJTlQgdU1zZywgVUlOVF9QVFIgaWRFdmVudCwgRFdPUkQgZHdUaW1lKQor eworICAgIHJhaXNlKFNJR0FMUk0pOworfQorICAjZGVmaW5lIGFsYXJtKGRlbGF5KSBTZXRUaW1l cihOVUxMLCBOVUxMLCBkZWxheSwgKFRJTUVSUFJPQykgcmFpc2VTaWdBbGFybSkKKworCisjZW5k aWYKKwogREJ1czo6QnVzRGlzcGF0Y2hlciBkaXNwYXRjaGVyOwogc3RhdGljIGJvb2wgc3lzdGVt YnVzOwogc3RhdGljIGNoYXIgKnBhdGg7Ci0tLSAvZGV2L251bGwKKysrIGEvY21ha2UvQ01ha2VM aXN0cy50eHQKQEAgLTAsMCArMSw4OCBAQAorcHJvamVjdChkYnVzLWMrKykKKworc2V0IChEQlVT X0NQTFVTUExVU19WRVJTSU9OIDAuNS4wKQorc2V0IChEQlVTX0NQTFVTUExVU19WRVJTSU9OX1NU UklORyAiJHtEQlVTX0NQTFVTUExVU19WRVJTSU9OfSIpCisKKyMgd2UgbmVlZCB0byBiZSB1cCB0 byBkYXRlCitDTUFLRV9NSU5JTVVNX1JFUVVJUkVEKFZFUlNJT04gMi40LjQgRkFUQUxfRVJST1Ip CitpZihDT01NQU5EIGNtYWtlX3BvbGljeSkKKyAgICBjbWFrZV9wb2xpY3koU0VUIENNUDAwMDMg TkVXKQorZW5kaWYoQ09NTUFORCBjbWFrZV9wb2xpY3kpCisKKyMgd2hlcmUgdG8gbG9vayBmaXJz dCBmb3IgY21ha2UgbW9kdWxlcywgYmVmb3JlICR7Q01BS0VfUk9PVH0vTW9kdWxlcy8gaXMgY2hl Y2tlZAorc2V0KENNQUtFX01PRFVMRV9QQVRIICIke0NNQUtFX1NPVVJDRV9ESVJ9L21vZHVsZXMi KQorCisjZW5hYmxlIGJ1aWxkaW5nIG9mIHNoYXJlZCBsaWJyYXJ5CitTRVQoQlVJTERfU0hBUkVE X0xJQlMgT04pCisKK2lmIChDWUdXSU4pCisgICBzZXQgKFdJTjMyKQorZW5kaWYgKENZR1dJTikK KworIyBpbmNsdWRlIGxvY2FsIGhlYWRlciBmaXJzdCB0byBhdm9pZCB1c2luZyBvbGQgaW5zdGFs bGVkIGhlYWRlcgorc2V0IChDTUFLRV9JTkNMVURFX1BBVEggJHtDTUFLRV9JTkNMVURFX1BBVEh9 ICR7Q01BS0VfU09VUkNFX0RJUn0vLi4pCisKK2luY2x1ZGUoV2luMzJNYWNyb3MpCithZGRFeHBs b3JlcldyYXBwZXIoJHtDTUFLRV9QUk9KRUNUX05BTUV9KQorCisjIHNlYXJjaCBmb3IgcmVxdWly ZWQgcGFja2FnZXMKK2ZpbmRfcGFja2FnZShMaWJFeHBhdCkKK2ZpbmRfcGFja2FnZShEYnVzKQor CitmaW5kX2xpYnJhcnkoUFRIUkVBRF9MSUJTCisgICAgICAgIE5BTUVTIHB0aHJlYWQKKyAgICAg ICAgUEFUSFMgL2xpYnMKKykKK21lc3NhZ2UoIFNUQVRVUyAicHRocmVhZCAuLi4uICR7UFRIUkVB RF9MSUJTfSIpCisKKworIyBkbyBjb25maWcgY2hlY2tzCitJTkNMVURFKENvbmZpZ3VyZUNoZWNr cy5jbWFrZSkKKworIyBAVE9ETzogaG93IHRvIHJlbW92ZSBsYXN0IGRpciBmcm9tICR7Q01BS0Vf U09VUkNFX0RJUn0gPworU0VUKERCVVNfQ1BMVVNQTFVTX1NPVVJDRV9ESVIgJHtDTUFLRV9TT1VS Q0VfRElSfS8uLikKK3NldChDTUFLRV9ERUJVR19QT1NURklYICJkIikKK1NFVChDTUFLRV9DX0ZM QUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9ICAtRF9ERUJVRyIpCisKKworc2V0IChM SUJSQVJZX09VVFBVVF9QQVRIICAke0NNQUtFX0JJTkFSWV9ESVJ9L2JpbikKK3NldCAoRVhFQ1VU QUJMRV9PVVRQVVRfUEFUSCAke0NNQUtFX0JJTkFSWV9ESVJ9L2JpbikKKworaW5jbHVkZV9kaXJl Y3RvcmllcygKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8u Li9pbmNsdWRlCisJJHtDTUFLRV9CSU5BUllfRElSfQorCSR7Q01BS0VfSU5DTFVERV9QQVRIfQor CSR7Q01BS0VfTElCUkFSWV9QQVRIfQorCSR7REJVU19JTkNMVURFU30KKykKKworIyBsaW5rZXIg c2VhcmNoIGRpcmVjdG9yaWVzCitsaW5rX2RpcmVjdG9yaWVzKAorCSR7TElCUkFSWV9PVVRQVVRf UEFUSH0KKwkke0RCVVNfTElCU30KKwkke0NNQUtFX0xJQlJBUllfUEFUSH0KKykKKworc2V0IChF WFQgIi5leGUiKQorCisjIyMjIyMjIyMjIyBjcmVhdGUgY29uZmlnLmggIyMjIyMjIyMjIyMjIyMj CisjIGJldHRlciB1c2UgZmxhZ3MgZm9yIGdjYworaWYgKE1JTkdXKQorCXNldCAoSEFWRV9HTlVD X1ZBUkFSR1MgMSkKK2VuZGlmKE1JTkdXKQorCisjIGNvbXBpbGVyIGRlZmluaXRpb25zCithZGRf ZGVmaW5pdGlvbnMoLURIQVZFX0NPTkZJR19IPTEpCitjb25maWd1cmVfZmlsZSgke0NNQUtFX0NV UlJFTlRfU09VUkNFX0RJUn0vY29uZmlnLmguY21ha2UgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9E SVJ9L2NvbmZpZy5oICkKKworIyMjIyMjIyMjIyMgc3ViZGlycyAjIyMjIyMjIyMjIyMjIyMKKwor YWRkX3N1YmRpcmVjdG9yeSggaW5jbHVkZSApCithZGRfc3ViZGlyZWN0b3J5KCBzcmMgKQorYWRk X3N1YmRpcmVjdG9yeSggdG9vbHMgKQorI2FkZF9zdWJkaXJlY3RvcnkoIGV4YW1wbGVzICkKKwor CitHRVRfRklMRU5BTUVfQ09NUE9ORU5UKENfQ09NUElMRVIgJHtDTUFLRV9DX0NPTVBJTEVSfSBO QU1FKQorR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVChDWFhfQ09NUElMRVIgJHtDTUFLRV9DWFhfQ09N UElMRVJ9IE5BTUUpCi0tLSAvZGV2L251bGwKKysrIGEvY21ha2UvQ29uZmlndXJlQ2hlY2tzLmNt YWtlCkBAIC0wLDAgKzEsMjIgQEAKK2luY2x1ZGUoQ2hlY2tJbmNsdWRlRmlsZSkKK2luY2x1ZGUo Q2hlY2tTeW1ib2xFeGlzdHMpCitpbmNsdWRlKENoZWNrVHlwZVNpemUpCisKK2NoZWNrX2luY2x1 ZGVfZmlsZShzdGRpbnQuaCAgICAgSEFWRV9TVERJTlRfSCkKK2NoZWNrX2luY2x1ZGVfZmlsZShz dGRsaWIuaCAgICAgSEFWRV9TVERMSUJfSCkKK2NoZWNrX2luY2x1ZGVfZmlsZShzdHJpbmdzLmgg ICAgSEFWRV9TVFJJTkdTX0gpCitjaGVja19pbmNsdWRlX2ZpbGUoc3RyaW5nLmggICAgIEhBVkVf U1RSSU5HX0gpCitjaGVja19pbmNsdWRlX2ZpbGUoc3lzL3N0YXQuaCAgIEhBVkVfU1lTX1NUQVRf SCkKK2NoZWNrX2luY2x1ZGVfZmlsZShzeXMvdHlwZXMuaCAgSEFWRV9TWVNfVFlQRVNfSCkKK2No ZWNrX2luY2x1ZGVfZmlsZSh1bmlzdGQuaCAgICAgSEFWRV9VTklTVERfSCkKK2NoZWNrX2luY2x1 ZGVfZmlsZShkbGZjbi5oICAgICAgSEFWRV9ETEZDTl9IKQorY2hlY2tfaW5jbHVkZV9maWxlKGV4 cGF0LmggICAgICBIQVZFX0VYUEFUX0gpCitjaGVja19pbmNsdWRlX2ZpbGUoaW50dHlwZXMuaCAg IEhBVkVfSU5UVFlQRVNfSCkKK2NoZWNrX2luY2x1ZGVfZmlsZShtZW1vcnkuaCAgICAgSEFWRV9N RU1PUllfSCkKKworY2hlY2tfdHlwZV9zaXplKCJzaG9ydCIgICAgIFNJWkVPRl9TSE9SVCkKK2No ZWNrX3R5cGVfc2l6ZSgiaW50IiAgICAgICBTSVpFT0ZfSU5UKQorY2hlY2tfdHlwZV9zaXplKCJs b25nIiAgICAgIFNJWkVPRl9MT05HKQorY2hlY2tfdHlwZV9zaXplKCJsb25nIGxvbmciIFNJWkVP Rl9MT05HX0xPTkcpCitjaGVja190eXBlX3NpemUoIl9faW50NjQiICAgU0laRU9GX19fSU5UNjQp CisKLS0tIC9kZXYvbnVsbAorKysgYS9jbWFrZS9jb25maWcuaC5jbWFrZQpAQCAtMCwwICsxLDUx IEBACisvKiBjb25maWcuaC4gR2VuZXJhdGVkIGJ5IGNtYWtlIGZyb20gY29uZmlnLmguY21ha2Ug Ki8KKy8qIGNvbmZpZy5oLmluLiAgR2VuZXJhdGVkIGZyb20gY29uZmlndXJlLmFjIGJ5IGF1dG9o ZWFkZXIuICAqLworCisvKiBkYnVzX3RocmVhZHNfaW5pdF9kZWZhdWx0IChuZWVkcyBEQnVzID49 IDAuOTMpICovCisjY21ha2VkZWZpbmUgREJVU19IQVNfVEhSRUFEU19JTklUX0RFRkFVTFQKKwor LyogRGVmaW5lIHRvIGVuYWJsZSBkZWJ1ZyBidWlsZCAqLworI2NtYWtlZGVmaW5lIERFQlVHCisK Ky8qIHRvIGVuYWJsZSBoaWRkZW4gc3ltYm9scyAqLworI2NtYWtlZGVmaW5lIEdDQ19IQVNDTEFT U1ZJU0lCSUxJVFkKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxkbGZjbi5oPiBo ZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0RMRkNOX0gKKworLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIDxleHBhdC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmlu ZSBIQVZFX0VYUEFUX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpbnR0eXBl cy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0lOVFRZUEVTX0gKKworLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxtZW1vcnkuaD4gaGVhZGVyIGZpbGUuICovCisj Y21ha2VkZWZpbmUgSEFWRV9NRU1PUllfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgUE9TSVgg dGhyZWFkcyBsaWJyYXJpZXMgYW5kIGhlYWRlciBmaWxlcy4gKi8KKyNjbWFrZWRlZmluZSBIQVZF X1BUSFJFQUQKKworLyogRGVmaW5lIHRvIGVuYWJsZSBwdGhyZWFkIHN1cHBvcnQgKi8KKyNjbWFr ZWRlZmluZSBIQVZFX1BUSFJFQURfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg PHN0ZGludC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1NURElOVF9ICisK Ky8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkbGliLmg+IGhlYWRlciBmaWxlLiAq LworI2NtYWtlZGVmaW5lIEhBVkVfU1RETElCX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIDxzdHJpbmdzLmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1RS SU5HU19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5nLmg+IGhlYWRl ciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1RSSU5HX0gKKworLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIDxzeXMvc3RhdC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmlu ZSBIQVZFX1NZU19TVEFUX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMv dHlwZXMuaD4gaGVhZGVyIGZpbGUuICovCisjY21ha2VkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSAor CisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5oPiBoZWFkZXIgZmlsZS4g Ki8KKyNjbWFrZWRlZmluZSBIQVZFX1VOSVNURF9ICisKLS0tIC9kZXYvbnVsbAorKysgYS9jbWFr ZS9leGFtcGxlcy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDIgQEAKK2FkZF9zdWJkaXJlY3Rv cnkoIHByb3BlcnRpZXMgKQorCi0tLSAvZGV2L251bGwKKysrIGEvY21ha2UvZXhhbXBsZXMvcHJv cGVydGllcy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDM2IEBACitwcm9qZWN0KHByb3BlcnRp ZXMpCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjICBwcm9wc2dzLXNlcnZlcgorIyMjIyMjIyMj IyMjIyMjIyMjIyMKK0FERF9DVVNUT01fQ09NTUFORCgKKwlPVVRQVVQgJHtDTUFLRV9DVVJSRU5U X0JJTkFSWV9ESVJ9L3Byb3BzZ3MtZ2x1ZS1hZGFwdG9yLmgKKwlDT01NQU5EICR7Q01BS0VfQklO QVJZX0RJUn0vYmluL2RidXN4eC14bWwyY3BwICR7Q01BS0VfU09VUkNFX0RJUn0vLi4vZXhhbXBs ZXMvcHJvcGVydGllcy9wcm9wc2dzLWludHJvc3BlY3QueG1sIC0tYWRhcHRvcj0ke0NNQUtFX0NV UlJFTlRfQklOQVJZX0RJUn0vcHJvcHNncy1nbHVlLWFkYXB0b3IuaCAtLQorCURFUEVORFMgJHtD TUFLRV9TT1VSQ0VfRElSfS8uLi9leGFtcGxlcy9wcm9wZXJ0aWVzL3Byb3BzZ3MtaW50cm9zcGVj dC54bWwKKykKKworYWRkX2V4ZWN1dGFibGUocHJvcHNncy1zZXJ2ZXIKKwkke0NNQUtFX0NVUlJF TlRfQklOQVJZX0RJUn0vcHJvcHNncy1nbHVlLWFkYXB0b3IuaAorCSR7Q01BS0VfU09VUkNFX0RJ Un0vLi4vZXhhbXBsZXMvcHJvcGVydGllcy9wcm9wc2dzLXNlcnZlci5jcHAKKwkke0NNQUtFX1NP VVJDRV9ESVJ9Ly4uL2V4YW1wbGVzL3Byb3BlcnRpZXMvcHJvcHNncy1zZXJ2ZXIuaAorKQordGFy Z2V0X2xpbmtfbGlicmFyaWVzKHByb3BzZ3Mtc2VydmVyIGRidXMtYysrLTEgJHtEQlVTX0xJQlN9 KQorCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgIHByb3BzZ3MtY2xpZW50CisjIyMjIyMj IyMjIyMjIyMjIyMjIworQUREX0NVU1RPTV9DT01NQU5EKAorCU9VVFBVVCAke0NNQUtFX0NVUlJF TlRfQklOQVJZX0RJUn0vcHJvcHNncy1nbHVlLXByb3h5LmgKKwlDT01NQU5EICR7Q01BS0VfQklO QVJZX0RJUn0vYmluL2RidXN4eC14bWwyY3BwICR7Q01BS0VfU09VUkNFX0RJUn0vLi4vZXhhbXBs ZXMvcHJvcGVydGllcy9wcm9wc2dzLWludHJvc3BlY3QueG1sIC0tcHJveHk9JHtDTUFLRV9DVVJS RU5UX0JJTkFSWV9ESVJ9L3Byb3BzZ3MtZ2x1ZS1wcm94eS5oIC0tCisJREVQRU5EUyAke0NNQUtF X1NPVVJDRV9ESVJ9Ly4uL2V4YW1wbGVzL3Byb3BlcnRpZXMvcHJvcHNncy1pbnRyb3NwZWN0Lnht bAorKQorCisjYWRkX2V4ZWN1dGFibGUocHJvcHNncy1jbGllbnQKKyMJJHtDTUFLRV9DVVJSRU5U X0JJTkFSWV9ESVJ9L3Byb3BzZ3MtZ2x1ZS1wcm94eS5oCisjCSR7Q01BS0VfU09VUkNFX0RJUn0v Li4vZXhhbXBsZXMvcHJvcGVydGllcy9wcm9wc2dzLWNsaWVudC5jcHAKKyMJJHtDTUFLRV9TT1VS Q0VfRElSfS8uLi9leGFtcGxlcy9wcm9wZXJ0aWVzL3Byb3BzZ3MtY2xpZW50LmgKKyMKKyMpCisj dGFyZ2V0X2xpbmtfbGlicmFyaWVzKHByb3BzZ3MtY2xpZW50IGRidXMtYysrLTEgJHtEQlVTX0xJ QlN9ICR7TElCRVhQQVRfTElCUkFSSUVTfSkKLS0tIC9kZXYvbnVsbAorKysgYS9jbWFrZS9pbmNs dWRlL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMjIgQEAKK3Byb2plY3QoZGJ1cy1jKystaW5j KQorCitpbnN0YWxsX2ZpbGVzKC9pbmNsdWRlL2RidXMtMS4wL2RidXMtYysrIEZJTEVTCisJJHtD TUFLRV9TT1VSQ0VfRElSfS8uLi9pbmNsdWRlL2RidXMtYysrL2FwaS5oCisJJHtDTUFLRV9TT1VS Q0VfRElSfS8uLi9pbmNsdWRlL2RidXMtYysrL2Nvbm5lY3Rpb24uaAorCSR7Q01BS0VfU09VUkNF X0RJUn0vLi4vaW5jbHVkZS9kYnVzLWMrKy9kYnVzLmgKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4u L2luY2x1ZGUvZGJ1cy1jKysvZGVidWcuaAorCSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vaW5jbHVk ZS9kYnVzLWMrKy9kaXNwYXRjaGVyLmgKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uL2luY2x1ZGUv ZGJ1cy1jKysvZXJyb3IuaAorCSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vaW5jbHVkZS9kYnVzLWMr Ky9ldmVudGxvb3AtaW50ZWdyYXRpb24uaAorCSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vaW5jbHVk ZS9kYnVzLWMrKy9ldmVudGxvb3AuaAorCSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vaW5jbHVkZS9k YnVzLWMrKy9pbnRlcmZhY2UuaAorCSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vaW5jbHVkZS9kYnVz LWMrKy9pbnRyb3NwZWN0aW9uLmgKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uL2luY2x1ZGUvZGJ1 cy1jKysvbWVzc2FnZS5oCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8uLi9pbmNsdWRlL2RidXMtYysr L29iamVjdC5oCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8uLi9pbmNsdWRlL2RidXMtYysrL3BlbmRp bmdjYWxsLmgKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uL2luY2x1ZGUvZGJ1cy1jKysvcHJvcGVy dHkuaAorCSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vaW5jbHVkZS9kYnVzLWMrKy9yZWZwdHJfaW1w bC5oCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8uLi9pbmNsdWRlL2RidXMtYysrL3NlcnZlci5oCisJ JHtDTUFLRV9TT1VSQ0VfRElSfS8uLi9pbmNsdWRlL2RidXMtYysrL3R5cGVzLmgKKwkke0NNQUtF X1NPVVJDRV9ESVJ9Ly4uL2luY2x1ZGUvZGJ1cy1jKysvdXRpbC5oCispCi0tLSAvZGV2L251bGwK KysrIGEvY21ha2UvbW9kdWxlcy9GaW5kRGJ1cy5jbWFrZQpAQCAtMCwwICsxLDQ5IEBACitzZXQo SEFWRV9EQlVTIEZBTFNFKQorCisjIHdpbGwgYmUgZW1wdHkgaWYgbm90IFdJTjMyCitmaWxlKFRP X0NNQUtFX1BBVEggIiRFTlZ7UFJPR1JBTUZJTEVTfSIgX3Byb2dGaWxlcykKKworZmluZF9wYXRo KERCVVNfSEVBREVSX0lOQ0xVREVfRElSIGRidXMvZGJ1cy5oCisgICBQQVRIUworICAgJHtfcHJv Z0ZpbGVzfS9kYnVzL2luY2x1ZGUKKyAgIFBBVEhfU1VGRklYRVMgZGJ1cy0xLjAKKykKKworZmlu ZF9saWJyYXJ5KERCVVNfTElCUyBOQU1FUyBkYnVzLTEKKyAgIFBBVEhTCisgICAke19wcm9nRmls ZXN9L2RidXMvbGliCispCisKK2ZpbmRfbGlicmFyeShEQlVTX0RFQlVHX0xJQlMgTkFNRVMgZGJ1 cy0xZAorICAgUEFUSFMKKyAgICR7X3Byb2dGaWxlc30vZGJ1cy9saWIKKykKKworCitpZiAoREJV U19MSUJTKQorCisgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KF9kYnVzTGliUGF0aCAke0RCVVNf TElCU30gUEFUSCkKKworICAgaWYgKERCVVNfREVCVUdfTElCUykKKyAgICAgIHNldChEQlVTX0xJ QlMKKyAgICAgICAgIG9wdGltaXplZCAke0RCVVNfTElCU30KKyAgICAgICAgIGRlYnVnICR7REJV U19ERUJVR19MSUJTfQorICAgICAgKQorICAgZW5kaWYgKERCVVNfREVCVUdfTElCUykKKworICAg ZmluZF9wYXRoKERCVVNfTElCX0lOQ0xVREVfRElSIGRidXMvZGJ1cy1hcmNoLWRlcHMuaAorICAg ICAgUEFUSFMKKyAgICAgICR7X2RidXNMaWJQYXRofQorICAgICAgJHtfcHJvZ0ZpbGVzfS9kYnVz L2luY2x1ZGUKKyAgICAgIFBBVEhfU1VGRklYRVMgZGJ1cy0xLjAvaW5jbHVkZQorICAgKQorZW5k aWYgKERCVVNfTElCUykKKworc2V0KERCVVNfSU5DTFVERVMgJHtEQlVTX0hFQURFUl9JTkNMVURF X0RJUn0gJHtEQlVTX0xJQl9JTkNMVURFX0RJUn0pCisKK2lmIChEQlVTX0lOQ0xVREVTIEFORCBE QlVTX0xJQlMpCisgICBzZXQoREJVU19GT1VORCBUUlVFKQorZWxzZSAoREJVU19JTkNMVURFUyBB TkQgREJVU19MSUJTKQorICAgc2V0KERCVVNfRk9VTkQgRkFMU0UpCitlbmRpZiAoREJVU19JTkNM VURFUyBBTkQgREJVU19MSUJTKQorCi0tLSAvZGV2L251bGwKKysrIGEvY21ha2UvbW9kdWxlcy9G aW5kTGliRXhwYXQuY21ha2UKQEAgLTAsMCArMSw2MSBAQAorIyAtIFRyeSB0byBmaW5kIExJQkVY UEFUCisjIE9uY2UgZG9uZSB0aGlzIHdpbGwgZGVmaW5lCisjCisjICBMSUJFWFBBVF9GT1VORCAt IHN5c3RlbSBoYXMgTElCRVhQQVQKKyMgIExJQkVYUEFUX0lOQ0xVREVfRElSIC0gdGhlIExJQkVY UEFUIGluY2x1ZGUgZGlyZWN0b3J5CisjICBMSUJFWFBBVF9MSUJSQVJJRVMgLSB0aGUgbGlicmFy aWVzIG5lZWRlZCB0byB1c2UgTElCRVhQQVQKKyMgIExJQkVYUEFUX0RFRklOSVRJT05TIC0gQ29t cGlsZXIgc3dpdGNoZXMgcmVxdWlyZWQgZm9yIHVzaW5nIExJQkVYUEFUCisKK2lmIChMSUJFWFBB VF9JTkNMVURFX0RJUiBBTkQgTElCRVhQQVRfTElCUkFSSUVTKQorCisgICAgIyBpbiBjYWNoZSBh bHJlYWR5CisgICAgU0VUKExJQkVYUEFUX0ZPVU5EIFRSVUUpCisKK2Vsc2UgKExJQkVYUEFUX0lO Q0xVREVfRElSIEFORCBMSUJFWFBBVF9MSUJSQVJJRVMpCisKKyAgICBJRiAoV0lOMzIpCisJCWZp bGUoVE9fQ01BS0VfUEFUSCAiJEVOVntQUk9HUkFNRklMRVN9IiBfcHJvZ0ZpbGVzKQorCQlmaW5k X0ZJTEUoTElCRVhQQVRfRElSIGV4cGF0IFNvdXJjZS9saWIvZXhwYXQuaAorCQkJUEFUSFMKKwkJ CSIke19wcm9nRmlsZXN9IgorCQkpCisgICAgICAgIGlmIChMSUJFWFBBVF9ESVIpCisgICAgICAg ICAgICBzZXQgKF9MSUJFWFBBVEluY0RpciAgJHtMSUJFWFBBVF9ESVJ9L1NvdXJjZS9saWIpCisg ICAgICAgICAgICBzZXQgKF9MSUJFWFBBVExpbmtEaXIgJHtMSUJFWFBBVF9ESVJ9L2xpYnMpCisg ICAgICAgIGVuZGlmIChMSUJFWFBBVF9ESVIpCisgICAgRUxTRSAoV0lOMzIpCisgICAgICAgICMg dXNlIHBrZy1jb25maWcgdG8gZ2V0IHRoZSBkaXJlY3RvcmllcyBhbmQgdGhlbiB1c2UgdGhlc2Ug dmFsdWVzCisgICAgICAgICMgaW4gdGhlIEZJTkRfUEFUSCgpIGFuZCBGSU5EX0xJQlJBUlkoKSBj YWxscworICAgICAgICBJTkNMVURFKFVzZVBrZ0NvbmZpZykKKyAgICAgICAgUEtHQ09ORklHKExJ QkVYUEFULTIuMCBfTElCRVhQQVRJbmNEaXIgX0xJQkVYUEFUTGlua0RpciBfTElCRVhQQVRMaW5r RmxhZ3MgX0xpSWNvbnZDZmxhZ3MpCisgICAgICAgIFNFVChMSUJFWFBBVF9ERUZJTklUSU9OUyAk e19MSUJFWFBBVENmbGFnc30pCisgICAgRU5ESUYgKFdJTjMyKQorCisgICAgRklORF9QQVRIKExJ QkVYUEFUX0lOQ0xVREVfRElSIGV4cGF0LmgKKyAgICAgIFBBVEhTCisgICAgICR7X0xJQkVYUEFU SW5jRGlyfQorICAgICAgUEFUSF9TVUZGSVhFUyBMSUJFWFBBVAorICAgICkKKworICAgIEZJTkRf TElCUkFSWShMSUJFWFBBVF9MSUJSQVJJRVMgTkFNRVMgZXhwYXQgbGliZXhwYXQKKyAgICAgIFBB VEhTCisgICAgICAke19MSUJFWFBBVExpbmtEaXJ9CisgICAgKQorCisgICAgaWYgKExJQkVYUEFU X0lOQ0xVREVfRElSIEFORCBMSUJFWFBBVF9MSUJSQVJJRVMpCisgICAgICAgc2V0KExJQkVYUEFU X0ZPVU5EIFRSVUUpCisgICAgZW5kaWYgKExJQkVYUEFUX0lOQ0xVREVfRElSIEFORCBMSUJFWFBB VF9MSUJSQVJJRVMpCisKKyAgICBpZiAoTElCRVhQQVRfRk9VTkQpCisgICAgICBpZiAoTk9UIExJ QkVYUEFUX0ZJTkRfUVVJRVRMWSkKKyAgICAgICAgbWVzc2FnZShTVEFUVVMgIkZvdW5kIGxpYmV4 cGF0OiAke0xJQkVYUEFUX0xJQlJBUklFU30iKQorICAgICAgZW5kaWYgKE5PVCBMSUJFWFBBVF9G SU5EX1FVSUVUTFkpCisgICAgZWxzZSAoTElCRVhQQVRfRk9VTkQpCisgICAgICBpZiAoTElCRVhQ QVRfRklORF9SRVFVSVJFRCkKKyAgICAgICAgbWVzc2FnZShTRU5EX0VSUk9SICJDb3VsZCBOT1Qg ZmluZCBsaWJleHBhdCIpCisgICAgICBlbmRpZiAoTElCRVhQQVRfRklORF9SRVFVSVJFRCkKKyAg ICBlbmRpZiAoTElCRVhQQVRfRk9VTkQpCisKKyAgICBNQVJLX0FTX0FEVkFOQ0VEKExJQkVYUEFU X0lOQ0xVREVfRElSIExJQkVYUEFUX0xJQlJBUklFUykKKworZW5kaWYgKExJQkVYUEFUX0lOQ0xV REVfRElSIEFORCBMSUJFWFBBVF9MSUJSQVJJRVMpCi0tLSAvZGV2L251bGwKKysrIGEvY21ha2Uv bW9kdWxlcy9NYWNyb0dldGVudldpblBhdGguY21ha2UKQEAgLTAsMCArMSw1IEBACisKK01BQ1JP IChNQUNST19HRVRFTlZfV0lOX1BBVEggdmFyIG5hbWUpCisgICBzZXQoJHt2YXJ9ICRFTlZ7JHtu YW1lfX0pCisgICBTVFJJTkcoUkVHRVggUkVQTEFDRSAiXFxcXCIgIi8iICR7dmFyfSAiJHske3Zh cn19IikKK0VORE1BQ1JPIChNQUNST19HRVRFTlZfV0lOX1BBVEggdmFyIG5hbWUpCi0tLSAvZGV2 L251bGwKKysrIGEvY21ha2UvbW9kdWxlcy9XaW4zMk1hY3Jvcy5jbWFrZQpAQCAtMCwwICsxLDQ0 IEBACisjCisjIHdpbjMyIG1hY3JvcworIworIyBDb3B5cmlnaHQgKGMpIDIwMDYtMjAwNywgUmFs ZiBIYWJhY2tlcgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlzIGFsbG93ZWQgYWNjb3Jk aW5nIHRvIHRoZSB0ZXJtcyBvZiB0aGUgQlNEIGxpY2Vuc2UuCisjCisKK2lmIChXSU4zMikKKyAg ICAjCisgICAgIyBhZGRFeHBsb3JlcldyYXBwZXIgY3JlYXRlcyBiYXRjaCBmaWxlcyBmb3IgZmFz dCBhY2Nlc3MKKyAgICAjIHRvIHRoZSBidWlsZCBlbnZpcm9ubWVudCBmcm9tIHRoZSB3aW4zMiBl eHBsb3Jlci4KKyAgICAjCisgICAgIyBGb3IgbWluZ3cgYW5kIG5tYWtlIHByb2plY3RzIGl0J3Mg b3BlbnMgYSBjb21tYW5kIHNoZWxsLAorICAgICMgZm9yIFZpc3VhbCBTdHVkaW8gSURFJ3MgKGF0 IGxlYXN0IHRlc3RlZCB3aXRoIFZTIDggMjAwNSkgaXQKKyAgICAjIG9wZW5zIHRoZSByZWxhdGVk IC5zbG4gZmlsZSB3aXRoIHBhdGhzIHNldHRpbmcgc3BlY2lmaWVkIGF0CisgICAgIyBjb25maWd1 cmUgdGltZS4KKyAgICAjCisgICAgTUFDUk8gKGFkZEV4cGxvcmVyV3JhcHBlciBfcHJvamVjdG5h bWUpCisgICAgICAgICMgd3JpdGUgZXhwbG9yZXIgd3JhcHBlcnMKKyAgICAgICAgZ2V0X2ZpbGVu YW1lX2NvbXBvbmVudChDTUFLRV9CSU5fUEFUSCAke0NNQUtFX0NPTU1BTkR9IFBBVEgpCisgICAg ICAgIHNldCAoQUREX1BBVEggIiR7Q01BS0VfQklOX1BBVEh9IikKKworICAgICAgICBpZiAoUVRf UU1BS0VfRVhFQ1VUQUJMRSkKKyAgICAgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQoUVRf QklOX1BBVEggJHtRVF9RTUFLRV9FWEVDVVRBQkxFfSBQQVRIKQorICAgICAgICAgICAgc2V0IChB RERfUEFUSCAiJHtBRERfUEFUSH07JHtRVF9CSU5fUEFUSH0iKQorICAgICAgICBlbmRpZiAoUVRf UU1BS0VfRVhFQ1VUQUJMRSkKKworICAgICAgICAjIGFkZCBoZXJlIG1vcmUgcGF0aGVzCisKKyAg ICAgICAgaWYgKE1JTkdXKQorICAgICAgICAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChNSU5H V19CSU5fUEFUSCAke0NNQUtFX0NYWF9DT01QSUxFUn0gUEFUSCkKKyAgICAgICAgICAgIHNldCAo QUREX1BBVEggIiR7QUREX1BBVEh9OyR7TUlOR1dfQklOX1BBVEh9IikKKyAgICAgICAgICAgIHdy aXRlX2ZpbGUgKCR7Q01BS0VfQklOQVJZX0RJUn0vJHtfcHJvamVjdG5hbWV9LXNoZWxsLmJhdCAi c2V0IFBBVEg9JHtBRERfUEFUSH07JVBBVEglXG5jbWQuZXhlIikKKyAgICAgICAgZWxzZSAoTUlO R1cpCisgICAgICAgICAgICBpZiAoQ01BS0VfQlVJTERfVE9PTCBTVFJFUVVBTCAgIm5tYWtlIikK KyAgICAgICAgICAgICAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KFZDX0JJTl9QQVRIICR7Q01B S0VfQ1hYX0NPTVBJTEVSfSBQQVRIKQorICAgICAgICAgICAgICAgIHdyaXRlX2ZpbGUgKCR7Q01B S0VfQklOQVJZX0RJUn0vJHtfcHJvamVjdG5hbWV9LXNoZWxsLmJhdCAic2V0IFBBVEg9JHtBRERf UEFUSH07JVBBVEglXG5jYWxsIFwiJHtWQ19CSU5fUEFUSH1cXHZjdmFyczMyLmJhdFwiXG5jbWQu ZXhlIikKKyAgICAgICAgICAgIGVsc2UgKENNQUtFX0JVSUxEX1RPT0wgU1RSRVFVQUwgICJubWFr ZSIpCisgICAgICAgICAgICAgICAgd3JpdGVfZmlsZSAoJHtDTUFLRV9CSU5BUllfRElSfS8ke19w cm9qZWN0bmFtZX0tc2xuLmJhdCAic2V0IFBBVEg9JHtBRERfUEFUSH07JVBBVEglXG5zdGFydCAk e19wcm9qZWN0bmFtZX0uc2xuIikKKyAgICAgICAgICAgIGVuZGlmIChDTUFLRV9CVUlMRF9UT09M IFNUUkVRVUFMICAibm1ha2UiKQorICAgICAgICBlbmRpZiAoTUlOR1cpCisgICAgRU5ETUFDUk8g KGFkZEV4cGxvcmVyV3JhcHBlcikKK2VuZGlmKFdJTjMyKQotLS0gL2Rldi9udWxsCisrKyBhL2Nt YWtlL3NyYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDMzIEBACitwcm9qZWN0KGxpYmRidXMt YysrKQorCithZGRfbGlicmFyeShkYnVzLWMrKy0xIFNIQVJFRAorCSR7Q01BS0VfU09VUkNFX0RJ Un0vLi4vc3JjL2Nvbm5lY3Rpb24uY3BwCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8uLi9zcmMvZGVi dWcuY3BwCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8uLi9zcmMvZGlzcGF0Y2hlci5jcHAKKwkke0NN QUtFX1NPVVJDRV9ESVJ9Ly4uL3NyYy9lcnJvci5jcHAKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4u L3NyYy9ldmVudGxvb3AtaW50ZWdyYXRpb24uY3BwCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8uLi9z cmMvZXZlbnRsb29wLmNwcAorCSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vc3JjL2ludGVyZmFjZS5j cHAKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uL3NyYy9pbnRyb3NwZWN0aW9uLmNwcAorCSR7Q01B S0VfU09VUkNFX0RJUn0vLi4vc3JjL21lc3NhZ2UuY3BwCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8u Li9zcmMvb2JqZWN0LmNwcAorCSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vc3JjL3BlbmRpbmdjYWxs LmNwcAorCSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vc3JjL3Byb3BlcnR5LmNwcAorCSR7Q01BS0Vf U09VUkNFX0RJUn0vLi4vc3JjL3NlcnZlci5jcHAKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uL3Ny Yy90eXBlcy5jcHAKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uL3NyYy9jb25uZWN0aW9uX3AuaAor CSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vc3JjL2Rpc3BhdGNoZXJfcC5oCisJJHtDTUFLRV9TT1VS Q0VfRElSfS8uLi9zcmMvaW50ZXJuYWxlcnJvci5oCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8uLi9z cmMvbWVzc2FnZV9wLmgKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uL3NyYy9wZW5kaW5nY2FsbF9w LmgKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uL3NyYy9zZXJ2ZXJfcC5oCispCisKK3RhcmdldF9s aW5rX2xpYnJhcmllcyhkYnVzLWMrKy0xCisJd3MyXzMyCisJJHtEQlVTX0xJQlN9CisJJHtQVEhS RUFEX0xJQlN9CispCisKK2luc3RhbGxfdGFyZ2V0cygvbGliIGRidXMtYysrLTEgKQorCi0tLSAv ZGV2L251bGwKKysrIGEvY21ha2UvdG9vbHMvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwzMCBA QAorcHJvamVjdCh0b29scykKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgIGRidXN4eC1pbnRy b3NwZWN0CisjIyMjIyMjIyMjIyMjIyMjIyMjIworYWRkX2V4ZWN1dGFibGUoZGJ1c3h4LWludHJv c3BlY3QKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uL3Rvb2xzL2ludHJvc3BlY3QuaAorCSR7Q01B S0VfU09VUkNFX0RJUn0vLi4vdG9vbHMvaW50cm9zcGVjdC5jcHAKKykKK3RhcmdldF9saW5rX2xp YnJhcmllcyhkYnVzeHgtaW50cm9zcGVjdCBkYnVzLWMrKy0xICR7REJVU19MSUJTfSkKK2luc3Rh bGxfdGFyZ2V0cygvYmluIGRidXN4eC1pbnRyb3NwZWN0KQorCisKKyMjIyMjIyMjIyMjIyMjIyMj IyMjCisjICBkYnVzeHgteG1sMmNwcAorIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2FkZF9leGVjdXRh YmxlKGRidXN4eC14bWwyY3BwCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8uLi90b29scy94bWwuaAor CSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vdG9vbHMveG1sLmNwcAorCSR7Q01BS0VfU09VUkNFX0RJ Un0vLi4vdG9vbHMveG1sMmNwcC5oCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8uLi90b29scy94bWwy Y3BwLmNwcAorCSR7Q01BS0VfU09VUkNFX0RJUn0vLi4vdG9vbHMvZ2VuZXJhdGVfYWRhcHRvci5j cHAKKwkke0NNQUtFX1NPVVJDRV9ESVJ9Ly4uL3Rvb2xzL2dlbmVyYXRlX2FkYXB0b3IuaAorCSR7 Q01BS0VfU09VUkNFX0RJUn0vLi4vdG9vbHMvZ2VuZXJhdGVfcHJveHkuY3BwCisJJHtDTUFLRV9T T1VSQ0VfRElSfS8uLi90b29scy9nZW5lcmF0ZV9wcm94eS5oCisJJHtDTUFLRV9TT1VSQ0VfRElS fS8uLi90b29scy9nZW5lcmF0b3JfdXRpbHMuY3BwCisJJHtDTUFLRV9TT1VSQ0VfRElSfS8uLi90 b29scy9nZW5lcmF0b3JfdXRpbHMuaAorKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGRidXN4eC14 bWwyY3BwIGRidXMtYysrLTEgICR7REJVU19MSUJTfSAke0xJQkVYUEFUX0xJQlJBUklFU30pCitp bnN0YWxsX3RhcmdldHMoL2JpbiBkYnVzeHgteG1sMmNwcCkK --0016e64a87e06fb8ba0487c396f4 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Kde-windows mailing list Kde-windows@kde.org https://mail.kde.org/mailman/listinfo/kde-windows --0016e64a87e06fb8ba0487c396f4--