<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>73473</bug_id>
          
          <creation_ts>2011-11-30 11:02:14 -0800</creation_ts>
          <short_desc>[GTK] Add a helper function to find the current executable&apos;s path</short_desc>
          <delta_ts>2011-12-01 14:31:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>73487</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>511902</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-30 11:02:14 -0800</bug_when>
    <thetext>This will be useful to find the fonts during testing and we can also reduce our use of magic environment variables in some places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511925</commentid>
    <comment_count>1</comment_count>
      <attachid>117232</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-30 11:15:00 -0800</bug_when>
    <thetext>Created attachment 117232
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511936</commentid>
    <comment_count>2</comment_count>
      <attachid>117234</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-30 11:22:29 -0800</bug_when>
    <thetext>Created attachment 117234
Patch sans debug fprintf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511950</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-30 11:33:34 -0800</bug_when>
    <thetext>Carlos Garcia pointed out that something like this is necessary in WebCore as well. I&apos;ll change WebCore to call this version of the function and add fallbacks for BSDs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512686</commentid>
    <comment_count>4</comment_count>
      <attachid>117398</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-12-01 04:26:44 -0800</bug_when>
    <thetext>Created attachment 117398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513047</commentid>
    <comment_count>5</comment_count>
      <attachid>117398</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-12-01 13:29:21 -0800</bug_when>
    <thetext>Comment on attachment 117398
Patch

OK!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513118</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-12-01 14:31:40 -0800</bug_when>
    <thetext>Committed r101710: &lt;http://trac.webkit.org/changeset/101710&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117232</attachid>
            <date>2011-11-30 11:15:00 -0800</date>
            <delta_ts>2011-11-30 11:22:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73473-20111130201458.patch</filename>
            <type>text/plain</type>
            <size>10844</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NWYwNDlhMDAyMGNmZmVlODE2YWFjNDU0ODZmYzM1ZmUzNzhhZjVkLi5mODQyYjUzYzk3ZGRlOWJl
OGUyMTU4MzQyYTc2OGFkMDFmNTgyNDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMS0xMS0zMCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gQWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGZpbmQgdGhl
IGN1cnJlbnQgZXhlY3V0YWJsZSdzIHBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTczNDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgV1RGIHdoaWNoIGdldHMgdGhlIGJpbmFyeSBwYXRoLiBU
aGlzIGlzIGN1cnJlbnRseSBvbmx5IHVzZWQKKyAgICAgICAgaW4gV2ViS2l0Mi4KKworICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06IEFkZCB0aGUgbmV3IGZpbGUgdG8gdGhlIHNvdXJjZSBs
aXN0LgorICAgICAgICAqIHd0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKGdldEN1cnJlbnRCaW5hcnlQYXRoKToKKyAgICAgICAgKiB3dGYvZ29iamVjdC9HbGli
VXRpbGl0aWVzLmg6IEFkZGVkLgorCiAyMDExLTExLTMwICBBZGFtIFJvYmVuICA8YXJvYmVuQGFw
cGxlLmNvbT4KIAogICAgICAgICBGaXggUmV0YWluUHRyJ3MgbW92ZSBhc3NpZ25tZW50IG9wZXJh
dG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IGE1NWU0ZmIxNjhiMTgxNjdkYWZlMGUwMWVkOWJkYTM1ODg3Mjk0
ZmUuLjUwNWEyYjEyZTU2N2RlMDM5Yjk2ZDg4NGMxZjIyZWQ1MWQ0YzhkMjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxMS0xMS0zMCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29u
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGZp
bmQgdGhlIGN1cnJlbnQgZXhlY3V0YWJsZSdzIHBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRG8gYSBzZXJpZXMgb2YgdGVzdHMgd2hlbiBsb29raW5n
IGZvciBwcm9jZXNzZXMuIEZpcnN0IHNlYXJjaCB0aGUgZGlyZWN0b3J5CisgICAgICAgIHNwZWNp
ZmllZCBieSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZW4gdGhlIGRpcmVjdG9yeSBvZiB0
aGUgYmluYXJ5IGFuZAorICAgICAgICB0aGVuIHRoZSBMSUJFWEVDRElSLgorCisgICAgICAgICog
VUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwOgorICAgICAgICAo
V2ViS2l0OjpmaW5kV2ViS2l0UHJvY2Vzcyk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpQcm9j
ZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MpOiBDYWxsIHRoZSBuZXcgaGVscGVyIHRvIGdldCB0
aGUKKyAgICAgICAgYmluYXJ5IGxvY2F0aW9uLgorCiAyMDExLTExLTMwICBNYXJpbyBTYW5jaGV6
IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR3RrXSBMaW5rcyBzaG91
bGQgYmUgVGFiLWZvY3VzYWJsZSBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IGEzNGMyMDA1OTBkMzg0NGM3NGVjODRjM2IyZTU3ZWEzZGUx
YmVjMzUuLjM3ZTE3NzhiMzkyMDNhODBmMWU4ZGMzNDA5NmFjYzZiYjZjZjQ4YzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NjQsNiArNTY0LDggQEAg
amF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9n
b2JqZWN0L0dSZWZQdHIuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3Qv
R1JlZlB0ci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR1R5cGVkZWZz
LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HbGliVXRpbGl0aWVzLmNw
cCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMuaCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9ndGsvTWFpblRocmVhZEd0ay5jcHAgXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaCBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9IYXNoRnVuY3Rpb25zLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhYTE2OWEx
ZTFkZjFhNTNmMjZkNDYzYTgzNjRkMDNhY2Y1MDU5MDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5jcHAKQEAgLTAsMCAr
MSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEsIFMuTC4KKyAqCisgKiAg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkdsaWJVdGlsaXRpZXMuaCIKKworI2lu
Y2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaWYgT1MoTElOVVgpCitD
U3RyaW5nIGdldEN1cnJlbnRCaW5hcnlQYXRoKCkKK3sKKyAgICBzdGF0aWMgY2hhciByZWFkTGlu
a0J1ZmZlcltQQVRIX01BWF07CisgICAgc3NpemVfdCByZXN1bHQgPSByZWFkbGluaygiL3Byb2Mv
c2VsZi9leGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOworICAgIGlmIChyZXN1bHQgPT0g
LTEpCisgICAgICAgIHJldHVybiBDU3RyaW5nKCk7CisgICAgcmV0dXJuIENTdHJpbmcocmVhZExp
bmtCdWZmZXIsIHJlc3VsdCk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvZ29iamVjdC9HbGliVXRpbGl0aWVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmZTliMDVhMWNhZjM2
NjM2MTdjMzU2MTJmZmJkYTU0MTk3ZGExNDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5oCkBAIC0wLDAgKzEsMjcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhLCBTLkwuCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5k
ZWYgR2xpYlV0aWxpdGllc19oCisjZGVmaW5lIEdsaWJVdGlsaXRpZXNfaAorCisjaW5jbHVkZSAi
Q1N0cmluZy5oIgorCitDU3RyaW5nIGdldEN1cnJlbnRCaW5hcnlQYXRoKCk7CisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNz
TGF1bmNoZXJHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Q
cm9jZXNzTGF1bmNoZXJHdGsuY3BwCmluZGV4IDFmZmNiYTIxNGJiZWJmODg0YjE1NGM4ZTJmMzc0
ZjZkY2ViYjEyZDIuLjA3YmFiZjk4OWE4OWFiZTQ2NWFlNmNhYzY1YWNmMmEzNjk1MzdhYWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsvUHJvY2Vzc0xh
dW5jaGVyR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3Rr
L1Byb2Nlc3NMYXVuY2hlckd0ay5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dsaWJVdGls
aXRpZXMuaD4KIAogI2lmZGVmIFNPQ0tfU0VRUEFDS0VUCiAjZGVmaW5lIFNPQ0tFVF9UWVBFIFNP
Q0tfU0VRUEFDS0VUCkBAIC03MSw2ICs3MiwzNCBAQCBzdGF0aWMgdm9pZCBjaGlsZEZpbmlzaGVk
RnVuY3Rpb24oR1BpZCwgZ2ludCBzdGF0dXMsIGdwb2ludGVyIHVzZXJEYXRhKQogICAgIGNsb3Nl
KEdQT0lOVEVSX1RPX0lOVCh1c2VyRGF0YSkpOwogfQogCitzdGF0aWMgQ1N0cmluZyBmaW5kV2Vi
S2l0UHJvY2Vzcyhjb25zdCBjaGFyKiBwcm9jZXNzTmFtZSkKK3sKKyAgICBjb25zdCBjaGFyKiBl
eGVjRGlyZWN0b3J5ID0gZ19nZXRlbnYoIldFQktJVF9FWEVDX1BBVEgiKTsKKyAgICBpZiAoZXhl
Y0RpcmVjdG9yeSkgeworICAgICAgICBTdHJpbmcgcHJvY2Vzc1BhdGggPSBwYXRoQnlBcHBlbmRp
bmdDb21wb25lbnQoZmlsZW5hbWVUb1N0cmluZyhleGVjRGlyZWN0b3J5KSwgcHJvY2Vzc05hbWUp
OworICAgICAgICBpZiAoZmlsZUV4aXN0cyhwcm9jZXNzUGF0aCkpCisgICAgICAgICAgICByZXR1
cm4gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHByb2Nlc3NQYXRoKTsKKyAgICB9CisKKyAgICBz
dGF0aWMgYm9vbCBnb3RFeGVjdXRhYmxlUGF0aCA9IGZhbHNlOworICAgIHN0YXRpYyBTdHJpbmcg
ZXhlY3V0YWJsZVBhdGg7CisgICAgaWYgKCFnb3RFeGVjdXRhYmxlUGF0aCkgeworICAgICAgICBn
b3RFeGVjdXRhYmxlUGF0aCA9IHRydWU7CisKKyAgICAgICAgQ1N0cmluZyBleGVjdXRhYmxlRmls
ZSA9IGdldEN1cnJlbnRCaW5hcnlQYXRoKCk7CisgICAgICAgIGlmICghZXhlY3V0YWJsZUZpbGUu
aXNOdWxsKCkpCisgICAgICAgICAgICBleGVjdXRhYmxlUGF0aCA9IGRpcmVjdG9yeU5hbWUoZmls
ZW5hbWVUb1N0cmluZyhleGVjdXRhYmxlRmlsZS5kYXRhKCkpKTsKKyAgICB9CisKKyAgICBpZiAo
IWV4ZWN1dGFibGVQYXRoLmlzTnVsbCgpKSB7CisgICAgICAgIFN0cmluZyBwcm9jZXNzUGF0aCA9
IHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChleGVjdXRhYmxlUGF0aCwgcHJvY2Vzc05hbWUpOwor
ICAgICAgICBpZiAoZmlsZUV4aXN0cyhwcm9jZXNzUGF0aCkpCisgICAgICAgICAgICByZXR1cm4g
ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHByb2Nlc3NQYXRoKTsKKyAgICB9CisKKyAgICByZXR1
cm4gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChmaWxl
bmFtZVRvU3RyaW5nKExJQkVYRUNESVIpLCBwcm9jZXNzTmFtZSkpOworfQorCiB2b2lkIFByb2Nl
c3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiB7CiAgICAgR1BpZCBwaWQgPSAwOwpAQCAtODIs
MTIgKzExMSwxMSBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjb25zdCBnY2hhciogZXhlY0RpcmVjdG9yeSA9IGdf
Z2V0ZW52KCJXRUJLSVRfRVhFQ19QQVRIIik7Ci0gICAgR093blB0cjxnY2hhcj4gYmluYXJ5UGF0
aChnX2J1aWxkX2ZpbGVuYW1lKGV4ZWNEaXJlY3RvcnkgPyBleGVjRGlyZWN0b3J5IDogTElCRVhF
Q0RJUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9s
YXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID09IFByb2Nlc3NMYXVuY2hlcjo6V2ViUHJvY2VzcyA/
IGdXZWJLaXRXZWJQcm9jZXNzTmFtZSA6IGdXZWJLaXRQbHVnaW5Qcm9jZXNzTmFtZSwgTlVMTCkp
OworICAgIENTdHJpbmcgYmluYXJ5UGF0aCA9IGZpbmRXZWJLaXRQcm9jZXNzKG1fbGF1bmNoT3B0
aW9ucy5wcm9jZXNzVHlwZSA9PSBQcm9jZXNzTGF1bmNoZXI6OldlYlByb2Nlc3MgPyBnV2ViS2l0
V2ViUHJvY2Vzc05hbWUgOiBnV2ViS2l0UGx1Z2luUHJvY2Vzc05hbWUpOworICAgIGZwcmludGYo
c3RkZXJyLCAiZm91bmQgV0VCS0lUIFBST0NFU1M6ICVzXG4iLCBiaW5hcnlQYXRoLmRhdGEoKSk7
CiAgICAgR093blB0cjxnY2hhcj4gc29ja2V0KGdfc3RyZHVwX3ByaW50ZigiJWQiLCBzb2NrZXRz
WzBdKSk7CiAgICAgY2hhciogYXJndlszXTsKLSAgICBhcmd2WzBdID0gYmluYXJ5UGF0aC5nZXQo
KTsKKyAgICBhcmd2WzBdID0gY29uc3RfY2FzdDxjaGFyKj4oYmluYXJ5UGF0aC5kYXRhKCkpOwog
ICAgIGFyZ3ZbMV0gPSBzb2NrZXQuZ2V0KCk7CiAgICAgYXJndlsyXSA9IDA7CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxN2I1YzY1ZTg0MDZl
MzIwMTIyMDUxMDM2ODlhMzQ0YzdkZjRlYTdkLi43MDMzZTRlZDYxYWM3MTE3YWMwZWU0YTcyOTlh
NDllNjhjYzkwZWM4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTEtMTEtMzAgIE1hcnRpbiBSb2JpbnNvbiAgPG1y
b2JpbnNvbkBpZ2FsaWEuY29tPgogCisgICAgICAgIFtHVEtdIEFkZCBhIGhlbHBlciBmdW5jdGlv
biB0byBmaW5kIHRoZSBjdXJyZW50IGV4ZWN1dGFibGUncyBwYXRoCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ3MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBNaW5pQnJvd3NlciB0byBub3Qg
cGFzcyB0aGUgYmluYXJ5IGRpcmVjdG9yeSBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKyAg
ICAgICAgVGhpcyBtZWFucyB0aGF0IHlvdSBjYW4gbW92ZSB0aGUgYmluYXJpZXMgYXJvdW5kIHdp
dGhvdXQgaXQgYnJlYWtpbmcuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvbWFpbi5jOgor
ICAgICAgICAobWFpbik6IE5vIGxvbmdlciBzZXQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvR05VbWFrZWZpbGUuYW06IE5vIGxvbmdlciBhZGQg
dGhlIGRpcmVjdG9yeSBwYXRoIGRlZmluZS4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2d0
ay9tYWluLmNwcDogIERpdHRvLgorCisyMDExLTExLTMwICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9i
aW5zb25AaWdhbGlhLmNvbT4KKwogICAgICAgICBbR1RLXSBBZGQgYW4gaW5pdGlhbCBqaGJ1aWxk
IHNldHVwIHdoaWNoIGluc3RhbGxzIGZvbnRzIGludG8gdGhlIFdlYktpdEJ1aWxkCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNQogCmRpZmYgLS1n
aXQgYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3Rr
L21haW4uYwppbmRleCAwYzNmM2YyMGU4ZDc3MGNjOWQ3ZmI0NzhiMDI4NTVjYWZjNzE3YTBlLi45
MmRkMWIwYWFmOGIwOWQwZmE3NmQ5MjMxN2Q4OTZlYTVkNGUzMjM0IDEwMDY0NAotLS0gYS9Ub29s
cy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9tYWlu
LmMKQEAgLTc2LDkgKzc2LDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAg
ICB9CiAgICAgZ19vcHRpb25fY29udGV4dF9mcmVlIChjb250ZXh0KTsKIAotICAgIC8vIFByZWZl
ciB0aGUgbm90IGluc3RhbGxlZCB3ZWIgYW5kIHBsdWdpbiBwcm9jZXNzZXMuCi0gICAgZ19zZXRl
bnYoIldFQktJVF9FWEVDX1BBVEgiLCBXRUJLSVRfRVhFQ19QQVRILCBGQUxTRSk7Ci0KICAgICBp
ZiAodXJpQXJndW1lbnRzKSB7CiAgICAgICAgIGludCBpOwogCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0dOVW1ha2VmaWxlLmFtIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9H
TlVtYWtlZmlsZS5hbQppbmRleCA4ZGRjZTEyNDBjZmI4ZTMxMDM2Njc5YjdlZWMxN2YzM2VhMTJh
OTQyLi4xNmZmMzI4ZTk5OWM3NGI0MmMwNGZhYmRlM2JlZGZlMzg3YjgzMDhlIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvR05VbWFrZWZpbGUuYW0KQEAgLTMzLDcgKzMzLDYgQEAgUHJvZ3JhbXNfV2Vi
S2l0VGVzdFJ1bm5lcl9DUFBGTEFHUyA9IFwKIAktSSQoc3JjZGlyKS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsgXAogCS1J
JCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZSBcCi0JLURXRUJL
SVRfRVhFQ19QQVRIPVwiJHtzaGVsbCBwd2R9LyQodG9wX2J1aWxkZGlyKS9Qcm9ncmFtcy9cIiBc
CiAJJChnbG9iYWxfY3BwZmxhZ3MpIFwKIAkkKGphdmFzY3JpcHRjb3JlX2NwcGZsYWdzKSBcCiAJ
JChHTE9CQUxERVBTX0NGTEFHUykgXApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9ndGsvbWFpbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9tYWluLmNwcAppbmRl
eCA0ZWQ4ZmZiZDM0MWI3YzA5ZTdlZGE1Mzc3NWFiMGNjMTVlMWQxNmM2Li5kNTNjNjI0OGE5NDcx
M2FmZTFhMDI3NTAzNmUyZjYzODhkNmRhNzg2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2d0ay9tYWluLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9tYWlu
LmNwcApAQCAtMzIsNyArMzIsNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7
CiAgICAgZ3RrX2luaXQoJmFyZ2MsICZhcmd2KTsKICAgICAvLyBQcmVmZXIgdGhlIG5vdCBpbnN0
YWxsZWQgd2ViIGFuZCBwbHVnaW4gcHJvY2Vzc2VzLgotICAgIGdfc2V0ZW52KCJXRUJLSVRfRVhF
Q19QQVRIIiwgV0VCS0lUX0VYRUNfUEFUSCwgRkFMU0UpOwogICAgIFdUUjo6VGVzdENvbnRyb2xs
ZXIgY29udHJvbGxlcihhcmdjLCBjb25zdF9jYXN0PGNvbnN0IGNoYXIqKj4oYXJndikpOwogICAg
IHJldHVybiAwOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117234</attachid>
            <date>2011-11-30 11:22:29 -0800</date>
            <delta_ts>2011-11-30 11:33:49 -0800</delta_ts>
            <desc>Patch sans debug fprintf</desc>
            <filename>bug-73473-20111130202226.patch</filename>
            <type>text/plain</type>
            <size>10773</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NWYwNDlhMDAyMGNmZmVlODE2YWFjNDU0ODZmYzM1ZmUzNzhhZjVkLi5mODQyYjUzYzk3ZGRlOWJl
OGUyMTU4MzQyYTc2OGFkMDFmNTgyNDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMS0xMS0zMCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gQWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGZpbmQgdGhl
IGN1cnJlbnQgZXhlY3V0YWJsZSdzIHBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTczNDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgV1RGIHdoaWNoIGdldHMgdGhlIGJpbmFyeSBwYXRoLiBU
aGlzIGlzIGN1cnJlbnRseSBvbmx5IHVzZWQKKyAgICAgICAgaW4gV2ViS2l0Mi4KKworICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06IEFkZCB0aGUgbmV3IGZpbGUgdG8gdGhlIHNvdXJjZSBs
aXN0LgorICAgICAgICAqIHd0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKGdldEN1cnJlbnRCaW5hcnlQYXRoKToKKyAgICAgICAgKiB3dGYvZ29iamVjdC9HbGli
VXRpbGl0aWVzLmg6IEFkZGVkLgorCiAyMDExLTExLTMwICBBZGFtIFJvYmVuICA8YXJvYmVuQGFw
cGxlLmNvbT4KIAogICAgICAgICBGaXggUmV0YWluUHRyJ3MgbW92ZSBhc3NpZ25tZW50IG9wZXJh
dG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IGE1NWU0ZmIxNjhiMTgxNjdkYWZlMGUwMWVkOWJkYTM1ODg3Mjk0
ZmUuLjUwNWEyYjEyZTU2N2RlMDM5Yjk2ZDg4NGMxZjIyZWQ1MWQ0YzhkMjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxMS0xMS0zMCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29u
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGZp
bmQgdGhlIGN1cnJlbnQgZXhlY3V0YWJsZSdzIHBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRG8gYSBzZXJpZXMgb2YgdGVzdHMgd2hlbiBsb29raW5n
IGZvciBwcm9jZXNzZXMuIEZpcnN0IHNlYXJjaCB0aGUgZGlyZWN0b3J5CisgICAgICAgIHNwZWNp
ZmllZCBieSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZW4gdGhlIGRpcmVjdG9yeSBvZiB0
aGUgYmluYXJ5IGFuZAorICAgICAgICB0aGVuIHRoZSBMSUJFWEVDRElSLgorCisgICAgICAgICog
VUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwOgorICAgICAgICAo
V2ViS2l0OjpmaW5kV2ViS2l0UHJvY2Vzcyk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpQcm9j
ZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MpOiBDYWxsIHRoZSBuZXcgaGVscGVyIHRvIGdldCB0
aGUKKyAgICAgICAgYmluYXJ5IGxvY2F0aW9uLgorCiAyMDExLTExLTMwICBNYXJpbyBTYW5jaGV6
IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR3RrXSBMaW5rcyBzaG91
bGQgYmUgVGFiLWZvY3VzYWJsZSBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IGEzNGMyMDA1OTBkMzg0NGM3NGVjODRjM2IyZTU3ZWEzZGUx
YmVjMzUuLjM3ZTE3NzhiMzkyMDNhODBmMWU4ZGMzNDA5NmFjYzZiYjZjZjQ4YzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NjQsNiArNTY0LDggQEAg
amF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9n
b2JqZWN0L0dSZWZQdHIuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3Qv
R1JlZlB0ci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR1R5cGVkZWZz
LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HbGliVXRpbGl0aWVzLmNw
cCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMuaCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9ndGsvTWFpblRocmVhZEd0ay5jcHAgXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaCBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9IYXNoRnVuY3Rpb25zLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhYTE2OWEx
ZTFkZjFhNTNmMjZkNDYzYTgzNjRkMDNhY2Y1MDU5MDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5jcHAKQEAgLTAsMCAr
MSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEsIFMuTC4KKyAqCisgKiAg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkdsaWJVdGlsaXRpZXMuaCIKKworI2lu
Y2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaWYgT1MoTElOVVgpCitD
U3RyaW5nIGdldEN1cnJlbnRCaW5hcnlQYXRoKCkKK3sKKyAgICBzdGF0aWMgY2hhciByZWFkTGlu
a0J1ZmZlcltQQVRIX01BWF07CisgICAgc3NpemVfdCByZXN1bHQgPSByZWFkbGluaygiL3Byb2Mv
c2VsZi9leGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOworICAgIGlmIChyZXN1bHQgPT0g
LTEpCisgICAgICAgIHJldHVybiBDU3RyaW5nKCk7CisgICAgcmV0dXJuIENTdHJpbmcocmVhZExp
bmtCdWZmZXIsIHJlc3VsdCk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvZ29iamVjdC9HbGliVXRpbGl0aWVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmZTliMDVhMWNhZjM2
NjM2MTdjMzU2MTJmZmJkYTU0MTk3ZGExNDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5oCkBAIC0wLDAgKzEsMjcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhLCBTLkwuCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5k
ZWYgR2xpYlV0aWxpdGllc19oCisjZGVmaW5lIEdsaWJVdGlsaXRpZXNfaAorCisjaW5jbHVkZSAi
Q1N0cmluZy5oIgorCitDU3RyaW5nIGdldEN1cnJlbnRCaW5hcnlQYXRoKCk7CisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNz
TGF1bmNoZXJHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Q
cm9jZXNzTGF1bmNoZXJHdGsuY3BwCmluZGV4IDFmZmNiYTIxNGJiZWJmODg0YjE1NGM4ZTJmMzc0
ZjZkY2ViYjEyZDIuLmM1ZTAzNDVjY2E0MjM1N2JjYjVhYTczNDdjZjdiODM3MDk0NWYzYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsvUHJvY2Vzc0xh
dW5jaGVyR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3Rr
L1Byb2Nlc3NMYXVuY2hlckd0ay5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dsaWJVdGls
aXRpZXMuaD4KIAogI2lmZGVmIFNPQ0tfU0VRUEFDS0VUCiAjZGVmaW5lIFNPQ0tFVF9UWVBFIFNP
Q0tfU0VRUEFDS0VUCkBAIC03MSw2ICs3MiwzNCBAQCBzdGF0aWMgdm9pZCBjaGlsZEZpbmlzaGVk
RnVuY3Rpb24oR1BpZCwgZ2ludCBzdGF0dXMsIGdwb2ludGVyIHVzZXJEYXRhKQogICAgIGNsb3Nl
KEdQT0lOVEVSX1RPX0lOVCh1c2VyRGF0YSkpOwogfQogCitzdGF0aWMgQ1N0cmluZyBmaW5kV2Vi
S2l0UHJvY2Vzcyhjb25zdCBjaGFyKiBwcm9jZXNzTmFtZSkKK3sKKyAgICBjb25zdCBjaGFyKiBl
eGVjRGlyZWN0b3J5ID0gZ19nZXRlbnYoIldFQktJVF9FWEVDX1BBVEgiKTsKKyAgICBpZiAoZXhl
Y0RpcmVjdG9yeSkgeworICAgICAgICBTdHJpbmcgcHJvY2Vzc1BhdGggPSBwYXRoQnlBcHBlbmRp
bmdDb21wb25lbnQoZmlsZW5hbWVUb1N0cmluZyhleGVjRGlyZWN0b3J5KSwgcHJvY2Vzc05hbWUp
OworICAgICAgICBpZiAoZmlsZUV4aXN0cyhwcm9jZXNzUGF0aCkpCisgICAgICAgICAgICByZXR1
cm4gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHByb2Nlc3NQYXRoKTsKKyAgICB9CisKKyAgICBz
dGF0aWMgYm9vbCBnb3RFeGVjdXRhYmxlUGF0aCA9IGZhbHNlOworICAgIHN0YXRpYyBTdHJpbmcg
ZXhlY3V0YWJsZVBhdGg7CisgICAgaWYgKCFnb3RFeGVjdXRhYmxlUGF0aCkgeworICAgICAgICBn
b3RFeGVjdXRhYmxlUGF0aCA9IHRydWU7CisKKyAgICAgICAgQ1N0cmluZyBleGVjdXRhYmxlRmls
ZSA9IGdldEN1cnJlbnRCaW5hcnlQYXRoKCk7CisgICAgICAgIGlmICghZXhlY3V0YWJsZUZpbGUu
aXNOdWxsKCkpCisgICAgICAgICAgICBleGVjdXRhYmxlUGF0aCA9IGRpcmVjdG9yeU5hbWUoZmls
ZW5hbWVUb1N0cmluZyhleGVjdXRhYmxlRmlsZS5kYXRhKCkpKTsKKyAgICB9CisKKyAgICBpZiAo
IWV4ZWN1dGFibGVQYXRoLmlzTnVsbCgpKSB7CisgICAgICAgIFN0cmluZyBwcm9jZXNzUGF0aCA9
IHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChleGVjdXRhYmxlUGF0aCwgcHJvY2Vzc05hbWUpOwor
ICAgICAgICBpZiAoZmlsZUV4aXN0cyhwcm9jZXNzUGF0aCkpCisgICAgICAgICAgICByZXR1cm4g
ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHByb2Nlc3NQYXRoKTsKKyAgICB9CisKKyAgICByZXR1
cm4gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChmaWxl
bmFtZVRvU3RyaW5nKExJQkVYRUNESVIpLCBwcm9jZXNzTmFtZSkpOworfQorCiB2b2lkIFByb2Nl
c3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiB7CiAgICAgR1BpZCBwaWQgPSAwOwpAQCAtODIs
MTIgKzExMSwxMCBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjb25zdCBnY2hhciogZXhlY0RpcmVjdG9yeSA9IGdf
Z2V0ZW52KCJXRUJLSVRfRVhFQ19QQVRIIik7Ci0gICAgR093blB0cjxnY2hhcj4gYmluYXJ5UGF0
aChnX2J1aWxkX2ZpbGVuYW1lKGV4ZWNEaXJlY3RvcnkgPyBleGVjRGlyZWN0b3J5IDogTElCRVhF
Q0RJUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9s
YXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID09IFByb2Nlc3NMYXVuY2hlcjo6V2ViUHJvY2VzcyA/
IGdXZWJLaXRXZWJQcm9jZXNzTmFtZSA6IGdXZWJLaXRQbHVnaW5Qcm9jZXNzTmFtZSwgTlVMTCkp
OworICAgIENTdHJpbmcgYmluYXJ5UGF0aCA9IGZpbmRXZWJLaXRQcm9jZXNzKG1fbGF1bmNoT3B0
aW9ucy5wcm9jZXNzVHlwZSA9PSBQcm9jZXNzTGF1bmNoZXI6OldlYlByb2Nlc3MgPyBnV2ViS2l0
V2ViUHJvY2Vzc05hbWUgOiBnV2ViS2l0UGx1Z2luUHJvY2Vzc05hbWUpOwogICAgIEdPd25QdHI8
Z2NoYXI+IHNvY2tldChnX3N0cmR1cF9wcmludGYoIiVkIiwgc29ja2V0c1swXSkpOwogICAgIGNo
YXIqIGFyZ3ZbM107Ci0gICAgYXJndlswXSA9IGJpbmFyeVBhdGguZ2V0KCk7CisgICAgYXJndlsw
XSA9IGNvbnN0X2Nhc3Q8Y2hhcio+KGJpbmFyeVBhdGguZGF0YSgpKTsKICAgICBhcmd2WzFdID0g
c29ja2V0LmdldCgpOwogICAgIGFyZ3ZbMl0gPSAwOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTdiNWM2NWU4NDA2ZTMyMDEyMjA1MTAzNjg5
YTM0NGM3ZGY0ZWE3ZC4uNzAzM2U0ZWQ2MWFjNzExN2FjMGVlNGE3Mjk5YTQ5ZTY4Y2M5MGVjOCAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDIwIEBACiAyMDExLTExLTMwICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlh
LmNvbT4KIAorICAgICAgICBbR1RLXSBBZGQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gZmluZCB0aGUg
Y3VycmVudCBleGVjdXRhYmxlJ3MgcGF0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVcGRhdGUgTWluaUJyb3dzZXIgdG8gbm90IHBhc3MgdGhlIGJpbmFy
eSBkaXJlY3RvcnkgYXMgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuCisgICAgICAgIFRoaXMgbWVh
bnMgdGhhdCB5b3UgY2FuIG1vdmUgdGhlIGJpbmFyaWVzIGFyb3VuZCB3aXRob3V0IGl0IGJyZWFr
aW5nLgorCisgICAgICAgICogTWluaUJyb3dzZXIvZ3RrL21haW4uYzoKKyAgICAgICAgKG1haW4p
OiBObyBsb25nZXIgc2V0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0dOVW1ha2VmaWxlLmFtOiBObyBsb25nZXIgYWRkIHRoZSBkaXJlY3Rvcnkg
cGF0aCBkZWZpbmUuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9ndGsvbWFpbi5jcHA6ICBE
aXR0by4KKworMjAxMS0xMS0zMCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5j
b20+CisKICAgICAgICAgW0dUS10gQWRkIGFuIGluaXRpYWwgamhidWlsZCBzZXR1cCB3aGljaCBp
bnN0YWxscyBmb250cyBpbnRvIHRoZSBXZWJLaXRCdWlsZAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvTWlu
aUJyb3dzZXIvZ3RrL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmMKaW5kZXgg
MGMzZjNmMjBlOGQ3NzBjYzlkN2ZiNDc4YjAyODU1Y2FmYzcxN2EwZS4uOTJkZDFiMGFhZjhiMDlk
MGZhNzZkOTIzMTdkODk2ZWE1ZDRlMzIzNCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIv
Z3RrL21haW4uYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jCkBAIC03Niw5ICs3
Niw2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgfQogICAgIGdfb3B0
aW9uX2NvbnRleHRfZnJlZSAoY29udGV4dCk7CiAKLSAgICAvLyBQcmVmZXIgdGhlIG5vdCBpbnN0
YWxsZWQgd2ViIGFuZCBwbHVnaW4gcHJvY2Vzc2VzLgotICAgIGdfc2V0ZW52KCJXRUJLSVRfRVhF
Q19QQVRIIiwgV0VCS0lUX0VYRUNfUEFUSCwgRkFMU0UpOwotCiAgICAgaWYgKHVyaUFyZ3VtZW50
cykgewogICAgICAgICBpbnQgaTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9HTlVtYWtlZmlsZS5hbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvR05VbWFrZWZpbGUuYW0K
aW5kZXggOGRkY2UxMjQwY2ZiOGUzMTAzNjY3OWI3ZWVjMTdmMzNlYTEyYTk0Mi4uMTZmZjMyOGU5
OTljNzRiNDJjMDRmYWJkZTNiZWRmZTM4N2I4MzA4ZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9HTlVtYWtlZmlsZS5hbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0dO
VW1ha2VmaWxlLmFtCkBAIC0zMyw3ICszMyw2IEBAIFByb2dyYW1zX1dlYktpdFRlc3RSdW5uZXJf
Q1BQRkxBR1MgPSBcCiAJLUkkKHNyY2RpcikvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lciBcCiAJLUkk
KHNyY2RpcikvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrIFwKIAktSSQodG9wX2J1aWxkZGly
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUgXAotCS1EV0VCS0lUX0VYRUNfUEFUSD1c
IiR7c2hlbGwgcHdkfS8kKHRvcF9idWlsZGRpcikvUHJvZ3JhbXMvXCIgXAogCSQoZ2xvYmFsX2Nw
cGZsYWdzKSBcCiAJJChqYXZhc2NyaXB0Y29yZV9jcHBmbGFncykgXAogCSQoR0xPQkFMREVQU19D
RkxBR1MpIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL21haW4uY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvbWFpbi5jcHAKaW5kZXggNGVkOGZmYmQzNDFi
N2MwOWU3ZWRhNTM3NzVhYjBjYzE1ZTFkMTZjNi4uZDUzYzYyNDhhOTQ3MTNhZmUxYTAyNzUwMzZl
MmY2Mzg4ZDZkYTc4NiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvbWFp
bi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvbWFpbi5jcHAKQEAgLTMyLDcg
KzMyLDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewogICAgIGd0a19pbml0
KCZhcmdjLCAmYXJndik7CiAgICAgLy8gUHJlZmVyIHRoZSBub3QgaW5zdGFsbGVkIHdlYiBhbmQg
cGx1Z2luIHByb2Nlc3Nlcy4KLSAgICBnX3NldGVudigiV0VCS0lUX0VYRUNfUEFUSCIsIFdFQktJ
VF9FWEVDX1BBVEgsIEZBTFNFKTsKICAgICBXVFI6OlRlc3RDb250cm9sbGVyIGNvbnRyb2xsZXIo
YXJnYywgY29uc3RfY2FzdDxjb25zdCBjaGFyKio+KGFyZ3YpKTsKICAgICByZXR1cm4gMDsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117398</attachid>
            <date>2011-12-01 04:26:44 -0800</date>
            <delta_ts>2011-12-01 14:24:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73473-20111201132642.patch</filename>
            <type>text/plain</type>
            <size>13254</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
YjU5NmM4N2MzODc1ZGI3OTgwOTJmOTQwMzcyZjYzNWJhY2MyODU1Li42MmE2Yzc1OTA3ZjE0MTRk
ODAzNjZjYzk5OGNkMjMxNzViNTM0ZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMS0xMi0wMSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gQWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGZpbmQgdGhl
IGN1cnJlbnQgZXhlY3V0YWJsZSdzIHBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTczNDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgV1RGIHdoaWNoIGdldHMgdGhlIGJpbmFyeSBwYXRoLiBU
aGlzIGlzIGN1cnJlbnRseSBvbmx5IHVzZWQKKyAgICAgICAgaW4gV2ViS2l0Mi4KKworICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06IEFkZCB0aGUgbmV3IGZpbGUgdG8gdGhlIHNvdXJjZSBs
aXN0LgorICAgICAgICAqIHd0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCk6CisgICAgICAgICogd3RmL2dvYmplY3Qv
R2xpYlV0aWxpdGllcy5oOiBBZGRlZC4KKwogMjAxMS0xMi0wMSAgRmlsaXAgUGl6bG8gIDxmcGl6
bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEJpdFZlY3RvciBpc0lubGluZSBjaGVjayBjb3VsZCBm
YWlsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggOWViYWQzNTY1NTc2ODM1ZDI1NzNjMjkxYzU4ZmI4MzE1ZTJmNjYy
OC4uZGU1YmRlYTQ5NGNiOWNiNDc2ZmFhOWFkMTRkNzJkZTg1NzkwNzY1OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDExLTEyLTAxICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25A
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBBZGQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gZmlu
ZCB0aGUgY3VycmVudCBleGVjdXRhYmxlJ3MgcGF0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgc2hvdWxkIG5vdCBjaGFu
Z2UgYmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvRmlsZVN5c3RlbUd0ay5jcHA6
CisgICAgICAgIChXZWJDb3JlOjphcHBsaWNhdGlvbkRpcmVjdG9yeVBhdGgpOiBOb3cgdXNlIHRo
ZSBuZXcgV1RGIGZ1bmN0aW9uIHRvIGdldCB0aGUKKyAgICAgICAgY3VycmVudCBleGVjdXRhYmxl
J3MgcGF0aC4KKwogMjAxMS0xMi0wMSAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBTVkcgR2F1c3NpYW4gYmx1ciBpbiAxLWRpbWVuc2lvbiBpcyBpbmNvcnJl
Y3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCA5NTNlMjNhZjRlYjAzMzEwYmFhYTQ3ZjgzNTQzYWRmNzkyZGQxMWM5
Li4wZjE1ZjEyOWYxZTQwZWQ4MTQyMWM0NzMyMzM5NTA1ODExNmQ1NzYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTEtMTItMDEgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBp
Z2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEFkZCBhIGhlbHBlciBmdW5jdGlvbiB0byBmaW5k
IHRoZSBjdXJyZW50IGV4ZWN1dGFibGUncyBwYXRoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIERvIGEgc2VyaWVzIG9mIHRlc3RzIHdoZW4gbG9va2luZyBm
b3IgcHJvY2Vzc2VzLiBGaXJzdCBzZWFyY2ggdGhlIGRpcmVjdG9yeQorICAgICAgICBzcGVjaWZp
ZWQgYnkgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGVuIHRoZSBkaXJlY3Rvcnkgb2YgdGhl
IGJpbmFyeSBhbmQKKyAgICAgICAgdGhlbiB0aGUgTElCRVhFQ0RJUi4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9MYXVuY2hlci9ndGsvUHJvY2Vzc0xhdW5jaGVyR3RrLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6ZmluZFdlYktpdFByb2Nlc3MpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UHJvY2Vz
c0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKTogQ2FsbCB0aGUgbmV3IGhlbHBlciB0byBnZXQgdGhl
CisgICAgICAgIGJpbmFyeSBsb2NhdGlvbi4KKwogMjAxMS0xMS0zMCAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgYW4gdW5uZWVkZWQgYXJndW1l
bnQgZnJvbSBGcmFtZUxvYWRlckNsaWVudDo6ZG93bmxvYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTM0YzIwMDU5MGQzODQ0Yzc0ZWM4NGMzYjJlNTdl
YTNkZTFiZWMzNS4uMzdlMTc3OGIzOTIwM2E4MGYxZThkYzM0MDk2YWNjNmJiNmNmNDhjNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTU2NCw2ICs1NjQs
OCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL2dvYmplY3QvR1JlZlB0ci5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29i
amVjdC9HUmVmUHRyLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HVHlw
ZWRlZnMuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRp
ZXMuY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGll
cy5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2d0ay9NYWluVGhyZWFkR3RrLmNwcCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0hhc2hGdW5jdGlvbnMuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmZj
ZDgwNmViZWE2MmU2YzZjZDFkZjBjNjY0N2E4YmVlYTFmNDk4YwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HbGliVXRpbGl0aWVzLmNwcApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSwgUy5MLgorICoK
KyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR2xpYlV0aWxpdGllcy5oIgor
CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpZiBPUyhMSU5V
WCkKK0NTdHJpbmcgZ2V0Q3VycmVudEV4ZWN1dGFibGVQYXRoKCkKK3sKKyAgICBzdGF0aWMgY2hh
ciByZWFkTGlua0J1ZmZlcltQQVRIX01BWF07CisgICAgc3NpemVfdCByZXN1bHQgPSByZWFkbGlu
aygiL3Byb2Mvc2VsZi9leGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOworICAgIGlmIChy
ZXN1bHQgPT0gLTEpCisgICAgICAgIHJldHVybiBDU3RyaW5nKCk7CisgICAgcmV0dXJuIENTdHJp
bmcocmVhZExpbmtCdWZmZXIsIHJlc3VsdCk7Cit9CisjZWxpZiBPUyhVTklYKQorQ1N0cmluZyBn
ZXRDdXJyZW50RXhlY3V0YWJsZVBhdGgoKQoreworICAgIHN0YXRpYyBjaGFyIHJlYWRMaW5rQnVm
ZmVyW1BBVEhfTUFYXTsKKyAgICBzc2l6ZV90IHJlc3VsdCA9IHJlYWRsaW5rKCIvcHJvYy9jdXJw
cm9jL2ZpbGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOworICAgIGlmIChyZXN1bHQgPT0g
LTEpCisgICAgICAgIHJldHVybiBDU3RyaW5nKCk7CisgICAgcmV0dXJuIENTdHJpbmcocmVhZExp
bmtCdWZmZXIsIHJlc3VsdCk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvZ29iamVjdC9HbGliVXRpbGl0aWVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmM2JhNmM1YjFiOTYw
ZDQ0OWNlYzQzNmM5OTI5ODMwMWI4YWY2NDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5oCkBAIC0wLDAgKzEsMjcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhLCBTLkwuCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5k
ZWYgR2xpYlV0aWxpdGllc19oCisjZGVmaW5lIEdsaWJVdGlsaXRpZXNfaAorCisjaW5jbHVkZSAi
Q1N0cmluZy5oIgorCitDU3RyaW5nIGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpOworCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlU3lzdGVtR3Rr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlU3lzdGVtR3RrLmNwcAppbmRl
eCBlZTcwOWQ0OWU5ZmY4N2QzZmEyNjIwNzJhYmM3YzgzNzFiNjA3OWZjLi5mYzlkNGJmYzVkNGEy
N2QyODIzMmQyMDYyODgwZDIyOTIwMWQ5NjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvRmlsZVN5c3RlbUd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL0ZpbGVTeXN0ZW1HdGsuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSA8Z2lv
L2dpby5oPgogI2luY2x1ZGUgPGdsaWIuaD4KICNpbmNsdWRlIDxnbGliL2dzdGRpby5oPgorI2lu
Y2x1ZGUgPHd0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3dGYvZ29iamVj
dC9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCkBAIC0xNzYsMTUg
KzE3NywxMCBAQCBTdHJpbmcgcGF0aEdldEZpbGVOYW1lKGNvbnN0IFN0cmluZyYgcGF0aE5hbWUp
CiAKIENTdHJpbmcgYXBwbGljYXRpb25EaXJlY3RvcnlQYXRoKCkKIHsKLSNpZiBPUyhMSU5VWCkK
LSAgICAvLyBIYW5kbGUgdGhlIC9wcm9jIGZpbGVzeXN0ZW0gY2FzZS4KLSAgICBjaGFyIHBhdGhG
cm9tUHJvY1tQQVRIX01BWF0gPSB7MH07Ci0gICAgaWYgKHJlYWRsaW5rKCIvcHJvYy9zZWxmL2V4
ZSIsIHBhdGhGcm9tUHJvYywgc2l6ZW9mKHBhdGhGcm9tUHJvYykgLSAxKSA9PSAtMSkKLSAgICAg
ICAgcmV0dXJuIENTdHJpbmcoKTsKKyAgICBDU3RyaW5nIHBhdGggPSBnZXRDdXJyZW50RXhlY3V0
YWJsZVBhdGgoKTsKKyAgICBpZiAoIXBhdGguaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBwYXRo
OwogCi0gICAgR093blB0cjxjaGFyPiBkaXJuYW1lKGdfcGF0aF9nZXRfZGlybmFtZShwYXRoRnJv
bVByb2MpKTsKLSAgICByZXR1cm4gZGlybmFtZS5nZXQoKTsKLSNlbGlmIE9TKFVOSVgpCiAgICAg
Ly8gSWYgdGhlIGFib3ZlIGZhaWxzLCBjaGVjayB0aGUgUEFUSCBlbnYgdmFyaWFibGUuCiAgICAg
R093blB0cjxjaGFyPiBjdXJyZW50RXhlUGF0aChnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoKGdfZ2V0
X3ByZ25hbWUoKSkpOwogICAgIGlmICghY3VycmVudEV4ZVBhdGguZ2V0KCkpCkBAIC0xOTIsOSAr
MTg4LDYgQEAgQ1N0cmluZyBhcHBsaWNhdGlvbkRpcmVjdG9yeVBhdGgoKQogCiAgICAgR093blB0
cjxjaGFyPiBkaXJuYW1lKGdfcGF0aF9nZXRfZGlybmFtZShjdXJyZW50RXhlUGF0aC5nZXQoKSkp
OwogICAgIHJldHVybiBkaXJuYW1lLmdldCgpOwotI2Vsc2UKLSAgICByZXR1cm4gQ1N0cmluZygp
OwotI2VuZGlmCiB9CiAKIHVpbnQ2NF90IGdldFZvbHVtZUZyZWVTaXplRm9yUGF0aChjb25zdCBj
aGFyKiBwYXRoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xh
dW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwCmluZGV4IDFmZmNiYTIxNGJiZWJmODg0
YjE1NGM4ZTJmMzc0ZjZkY2ViYjEyZDIuLmJiYmFlMmU2ODA5Mjg0MDI1NWU2ZWFiZDRjZjVlYzU0
MGM0Y2YxYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9n
dGsvUHJvY2Vzc0xhdW5jaGVyR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
TGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9nb2Jq
ZWN0L0dsaWJVdGlsaXRpZXMuaD4KIAogI2lmZGVmIFNPQ0tfU0VRUEFDS0VUCiAjZGVmaW5lIFNP
Q0tFVF9UWVBFIFNPQ0tfU0VRUEFDS0VUCkBAIC03MSw2ICs3MiwzNCBAQCBzdGF0aWMgdm9pZCBj
aGlsZEZpbmlzaGVkRnVuY3Rpb24oR1BpZCwgZ2ludCBzdGF0dXMsIGdwb2ludGVyIHVzZXJEYXRh
KQogICAgIGNsb3NlKEdQT0lOVEVSX1RPX0lOVCh1c2VyRGF0YSkpOwogfQogCitzdGF0aWMgQ1N0
cmluZyBmaW5kV2ViS2l0UHJvY2Vzcyhjb25zdCBjaGFyKiBwcm9jZXNzTmFtZSkKK3sKKyAgICBj
b25zdCBjaGFyKiBleGVjRGlyZWN0b3J5ID0gZ19nZXRlbnYoIldFQktJVF9FWEVDX1BBVEgiKTsK
KyAgICBpZiAoZXhlY0RpcmVjdG9yeSkgeworICAgICAgICBTdHJpbmcgcHJvY2Vzc1BhdGggPSBw
YXRoQnlBcHBlbmRpbmdDb21wb25lbnQoZmlsZW5hbWVUb1N0cmluZyhleGVjRGlyZWN0b3J5KSwg
cHJvY2Vzc05hbWUpOworICAgICAgICBpZiAoZmlsZUV4aXN0cyhwcm9jZXNzUGF0aCkpCisgICAg
ICAgICAgICByZXR1cm4gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHByb2Nlc3NQYXRoKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgYm9vbCBnb3RFeGVjdXRhYmxlUGF0aCA9IGZhbHNlOworICAgIHN0
YXRpYyBTdHJpbmcgZXhlY3V0YWJsZVBhdGg7CisgICAgaWYgKCFnb3RFeGVjdXRhYmxlUGF0aCkg
eworICAgICAgICBnb3RFeGVjdXRhYmxlUGF0aCA9IHRydWU7CisKKyAgICAgICAgQ1N0cmluZyBl
eGVjdXRhYmxlRmlsZSA9IGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpOworICAgICAgICBpZiAo
IWV4ZWN1dGFibGVGaWxlLmlzTnVsbCgpKQorICAgICAgICAgICAgZXhlY3V0YWJsZVBhdGggPSBk
aXJlY3RvcnlOYW1lKGZpbGVuYW1lVG9TdHJpbmcoZXhlY3V0YWJsZUZpbGUuZGF0YSgpKSk7Cisg
ICAgfQorCisgICAgaWYgKCFleGVjdXRhYmxlUGF0aC5pc051bGwoKSkgeworICAgICAgICBTdHJp
bmcgcHJvY2Vzc1BhdGggPSBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoZXhlY3V0YWJsZVBhdGgs
IHByb2Nlc3NOYW1lKTsKKyAgICAgICAgaWYgKGZpbGVFeGlzdHMocHJvY2Vzc1BhdGgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihwcm9jZXNzUGF0aCk7Cisg
ICAgfQorCisgICAgcmV0dXJuIGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihwYXRoQnlBcHBlbmRp
bmdDb21wb25lbnQoZmlsZW5hbWVUb1N0cmluZyhMSUJFWEVDRElSKSwgcHJvY2Vzc05hbWUpKTsK
K30KKwogdm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MoKQogewogICAgIEdQaWQg
cGlkID0gMDsKQEAgLTgyLDEyICsxMTEsMTAgQEAgdm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5j
aFByb2Nlc3MoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgY29uc3QgZ2NoYXIqIGV4
ZWNEaXJlY3RvcnkgPSBnX2dldGVudigiV0VCS0lUX0VYRUNfUEFUSCIpOwotICAgIEdPd25QdHI8
Z2NoYXI+IGJpbmFyeVBhdGgoZ19idWlsZF9maWxlbmFtZShleGVjRGlyZWN0b3J5ID8gZXhlY0Rp
cmVjdG9yeSA6IExJQkVYRUNESVIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fbGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQcm9jZXNzTGF1bmNo
ZXI6OldlYlByb2Nlc3MgPyBnV2ViS2l0V2ViUHJvY2Vzc05hbWUgOiBnV2ViS2l0UGx1Z2luUHJv
Y2Vzc05hbWUsIE5VTEwpKTsKKyAgICBDU3RyaW5nIGJpbmFyeVBhdGggPSBmaW5kV2ViS2l0UHJv
Y2VzcyhtX2xhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc0xhdW5jaGVyOjpXZWJQ
cm9jZXNzID8gZ1dlYktpdFdlYlByb2Nlc3NOYW1lIDogZ1dlYktpdFBsdWdpblByb2Nlc3NOYW1l
KTsKICAgICBHT3duUHRyPGdjaGFyPiBzb2NrZXQoZ19zdHJkdXBfcHJpbnRmKCIlZCIsIHNvY2tl
dHNbMF0pKTsKICAgICBjaGFyKiBhcmd2WzNdOwotICAgIGFyZ3ZbMF0gPSBiaW5hcnlQYXRoLmdl
dCgpOworICAgIGFyZ3ZbMF0gPSBjb25zdF9jYXN0PGNoYXIqPihiaW5hcnlQYXRoLmRhdGEoKSk7
CiAgICAgYXJndlsxXSA9IHNvY2tldC5nZXQoKTsKICAgICBhcmd2WzJdID0gMDsKIApkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGM1ZGViY2ZhYjc1
NTAzMDQ2MTAzMThlNWI4MjA4OTNiOWM2Nzc5NGEuLmRhY2NiMzhhNjYxMGNmZmQ1YmE5NGI4ZDg4
ODdmYmJkZDAxNGIyYjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0xMi0wMSAgTWFydGluIFJvYmluc29uICA8
bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQWRkIGEgaGVscGVyIGZ1bmN0
aW9uIHRvIGZpbmQgdGhlIGN1cnJlbnQgZXhlY3V0YWJsZSdzIHBhdGgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNDczCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIE1pbmlCcm93c2VyIHRvIG5v
dCBwYXNzIHRoZSBiaW5hcnkgZGlyZWN0b3J5IGFzIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLgor
ICAgICAgICBUaGlzIG1lYW5zIHRoYXQgeW91IGNhbiBtb3ZlIHRoZSBiaW5hcmllcyBhcm91bmQg
d2l0aG91dCBpdCBicmVha2luZy4KKworICAgICAgICAqIE1pbmlCcm93c2VyL2d0ay9tYWluLmM6
CisgICAgICAgIChtYWluKTogTm8gbG9uZ2VyIHNldCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUu
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9HTlVtYWtlZmlsZS5hbTogTm8gbG9uZ2VyIGFk
ZCB0aGUgZGlyZWN0b3J5IHBhdGggZGVmaW5lLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
Z3RrL21haW4uY3BwOiAgRGl0dG8uCisKIDIwMTEtMTEtMzAgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNocm9taXVtOiBJ
J2QgbGlrZSB0byBhZGQgYSBzY3JpcHQgZm9yIHJ1bm5pbmcgcGVyZiB0ZXN0cyBmb3IgV2ViSW5z
cGVjdG9yLgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4uYyBiL1Rvb2xz
L01pbmlCcm93c2VyL2d0ay9tYWluLmMKaW5kZXggMGMzZjNmMjBlOGQ3NzBjYzlkN2ZiNDc4YjAy
ODU1Y2FmYzcxN2EwZS4uOTJkZDFiMGFhZjhiMDlkMGZhNzZkOTIzMTdkODk2ZWE1ZDRlMzIzNCAx
MDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4uYworKysgYi9Ub29scy9NaW5p
QnJvd3Nlci9ndGsvbWFpbi5jCkBAIC03Niw5ICs3Niw2IEBAIGludCBtYWluKGludCBhcmdjLCBj
aGFyICphcmd2W10pCiAgICAgfQogICAgIGdfb3B0aW9uX2NvbnRleHRfZnJlZSAoY29udGV4dCk7
CiAKLSAgICAvLyBQcmVmZXIgdGhlIG5vdCBpbnN0YWxsZWQgd2ViIGFuZCBwbHVnaW4gcHJvY2Vz
c2VzLgotICAgIGdfc2V0ZW52KCJXRUJLSVRfRVhFQ19QQVRIIiwgV0VCS0lUX0VYRUNfUEFUSCwg
RkFMU0UpOwotCiAgICAgaWYgKHVyaUFyZ3VtZW50cykgewogICAgICAgICBpbnQgaTsKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9HTlVtYWtlZmlsZS5hbSBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvR05VbWFrZWZpbGUuYW0KaW5kZXggOGRkY2UxMjQwY2ZiOGUzMTAzNjY3
OWI3ZWVjMTdmMzNlYTEyYTk0Mi4uMTZmZjMyOGU5OTljNzRiNDJjMDRmYWJkZTNiZWRmZTM4N2I4
MzA4ZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9HTlVtYWtlZmlsZS5hbQor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0dOVW1ha2VmaWxlLmFtCkBAIC0zMyw3ICszMyw2
IEBAIFByb2dyYW1zX1dlYktpdFRlc3RSdW5uZXJfQ1BQRkxBR1MgPSBcCiAJLUkkKHNyY2Rpcikv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lciBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrIFwKIAktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2lu
Y2x1ZGUgXAotCS1EV0VCS0lUX0VYRUNfUEFUSD1cIiR7c2hlbGwgcHdkfS8kKHRvcF9idWlsZGRp
cikvUHJvZ3JhbXMvXCIgXAogCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCiAJJChqYXZhc2NyaXB0Y29y
ZV9jcHBmbGFncykgXAogCSQoR0xPQkFMREVQU19DRkxBR1MpIFwKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvZ3RrL21haW4uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9n
dGsvbWFpbi5jcHAKaW5kZXggNGVkOGZmYmQzNDFiN2MwOWU3ZWRhNTM3NzVhYjBjYzE1ZTFkMTZj
Ni4uZDUzYzYyNDhhOTQ3MTNhZmUxYTAyNzUwMzZlMmY2Mzg4ZDZkYTc4NiAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvbWFpbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9ndGsvbWFpbi5jcHAKQEAgLTMyLDcgKzMyLDYgQEAgaW50IG1haW4oaW50IGFyZ2Ms
IGNoYXIqKiBhcmd2KQogewogICAgIGd0a19pbml0KCZhcmdjLCAmYXJndik7CiAgICAgLy8gUHJl
ZmVyIHRoZSBub3QgaW5zdGFsbGVkIHdlYiBhbmQgcGx1Z2luIHByb2Nlc3Nlcy4KLSAgICBnX3Nl
dGVudigiV0VCS0lUX0VYRUNfUEFUSCIsIFdFQktJVF9FWEVDX1BBVEgsIEZBTFNFKTsKICAgICBX
VFI6OlRlc3RDb250cm9sbGVyIGNvbnRyb2xsZXIoYXJnYywgY29uc3RfY2FzdDxjb25zdCBjaGFy
Kio+KGFyZ3YpKTsKICAgICByZXR1cm4gMDsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>