<?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>95381</bug_id>
          
          <creation_ts>2012-08-29 14:37:36 -0700</creation_ts>
          <short_desc>[BlackBerry] Modifying how IP domains are handled in Cookies</short_desc>
          <delta_ts>2012-08-30 09:11:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit BlackBerry</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>otcheung</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mifenton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>707887</commentid>
    <comment_count>0</comment_count>
    <who name="">otcheung</who>
    <bug_when>2012-08-29 14:37:36 -0700</bug_when>
    <thetext>Previous implementation was dealing with IP addresses like a regular domain. This led to possible cross domain attacks. This patch fixes this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707894</commentid>
    <comment_count>1</comment_count>
      <attachid>161320</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-08-29 14:43:28 -0700</bug_when>
    <thetext>Created attachment 161320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708600</commentid>
    <comment_count>2</comment_count>
      <attachid>161320</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-08-30 07:30:33 -0700</bug_when>
    <thetext>Comment on attachment 161320
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=161320&amp;action=review

Looks good, still cleanup to do.

&gt; Source/WebCore/platform/blackberry/CookieManager.h:117
&gt; +    CookieMap* findOrCreateCookieMap(CookieMap* protocolMap, const String&amp; domain, bool isDomainIPAddress, bool findOnly);

This would be better to just use candidateCookie. And I think passing by const &amp; is preferred then to *.

&gt; Source/WebCore/platform/blackberry/ParsedCookie.h:66
&gt; +    void setDomain(const String&amp; domain, bool domainIsIPAddress = false) { m_domain = domain.lower(); m_domainIsIPAddress= domainIsIPAddress; }

Please add a space character before =.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708637</commentid>
    <comment_count>3</comment_count>
      <attachid>161476</attachid>
    <who name="">otcheung</who>
    <bug_when>2012-08-30 08:24:27 -0700</bug_when>
    <thetext>Created attachment 161476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708644</commentid>
    <comment_count>4</comment_count>
      <attachid>161476</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-08-30 08:29:17 -0700</bug_when>
    <thetext>Comment on attachment 161476
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708695</commentid>
    <comment_count>5</comment_count>
      <attachid>161476</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-30 09:11:51 -0700</bug_when>
    <thetext>Comment on attachment 161476
Patch

Clearing flags on attachment: 161476

Committed r127150: &lt;http://trac.webkit.org/changeset/127150&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708696</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-30 09:11:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161320</attachid>
            <date>2012-08-29 14:43:28 -0700</date>
            <delta_ts>2012-08-30 08:24:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95381-20120829174318.patch</filename>
            <type>text/plain</type>
            <size>14765</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc4Y2Q5YTVjYjc3MzAz
ZWY0ZjM0Y2U0ZTk4MTVkMzNlN2E2NjI0My4uZDUzNTBjY2FlZGZmY2VkMDdiOWM2MDk2Mzc5MWQ0
ODEyMDc4YTNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA4LTI5ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IE1vZGlmeWluZyBob3cgSVAgZG9tYWlucyBhcmUgaGFuZGxlZCBpbiBDb29raWVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTM4MQorICAgICAgICAK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIEludGVybmFsbHkg
cmV2aWV3ZWQgYnkgSm9lIE1hc29uLgorCisgICAgICAgIEN1cnJlbnQgaW1wbGVtZW50YXRpb24g
aGFuZGxlcyBJUCBhZGRyZXNzZXMgbGlrZSBub3JtYWwgZG9tYWlucy4gCisgICAgICAgIFRoaXMg
bWFrZXMgaW52YWxpZCBjcm9zcyBkb21haW4gY29va2llcyBwb3NzaWJlIGJ5IHNldHRpbmcgY29v
a2llCisgICAgICAgIGRvbWFpbnMgdG8gYSBzdWZmaXggb2YgdGhlIHRhcmdldGVkIElQLiAoZXgu
IGhhY2tlcnMgb24gMTEuMTIxLjYxLjk3CisgICAgICAgIGNhbiBzZXQgY29va2llcyB0byA2MS45
Nywgc28gdGhleSBzaG93IHVwIG9uIHRoZSB0YXJnZXRlZCB3ZWJzaXRlIG9mCisgICAgICAgIDEw
LjEyMC42MS45NykKKworICAgICAgICBOZXcgSW1wbGVtZW50YXRpb24gaXMgdG8gZGV0ZWN0IElQ
IGFkZHJlc3NlcyBhbmQgdHJlYXQgdGhlbSB3aXRob3V0CisgICAgICAgIGV4cGxvZGluZyB0aGVt
IHdpdGggdGhlIGRlbGltaXRlciAiLiIuIFRoYXQgd2F5LCBJUCBhZGRyZXNzZXMgd2lsbAorICAg
ICAgICBiZSBzdG9yZWQgYXMgYSB3aG9sZSBhbmQgb3RoZXIgSVBzIHdvbid0IGhhdmUgYWNjZXNz
IHRvIGl0LgorCisgICAgICAgIFBSIDEzMDA1MQorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZCBi
eSBhY2Nlc3NpbmcgYSB3ZWJwYWdlIHZpYSBJUCAoaG9zdGVkIHRocm91Z2gKKyAgICAgICAgTEFN
UCAtIGV4OjEwLjEyMS42MS45NykgYW5kIHRyaWVkIHRvIHNldCBjb29raWVzIHdpdGggZG9tYWlu
cyB0aGF0CisgICAgICAgIGFyZSBhIHN1ZmZpeCB0byB0aGUgaXAgYWRkcmVzcyAoZXg6IC45Nywg
MTIxLjYxLjk3KS4KKyAgICAgICAgQWxzbyB0cmllZCB0byBzZXQgY29va2llcyB0byBvdGhlciBp
cCBhZGRyZXNzZXMgdGhhdCAiZG9tYWluIG1hdGNoZXMiCisgICAgICAgIHRoZSBJUCBhZGRyZXNz
IChleC4gMTEuMTIxLjYxLjk3KS4gVmVyaWZpZWQgdGhhdCB0aGV5IGFsbCBmYWlsZWQuCisKKyAg
ICAgICAgVGVzdGVkIHVzaW5nIHRoZSBjb29raWVzIHRlc3QgcGFnZTogaHR0cDovL2Jyb3dzZXIu
c3dsYWIucmltLm5ldC90ZXN0L2Nvb2tpZXMKKworICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVy
cnkvQ29va2llTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29raWVNYW5hZ2VyOjpn
ZXRSYXdDb29raWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb2tpZU1hbmFnZXI6OmNoZWNrQW5k
VHJlYXRDb29raWUpOgorICAgICAgICAoV2ViQ29yZTo6Q29va2llTWFuYWdlcjo6ZmluZE9yQ3Jl
YXRlQ29va2llTWFwKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1hbmFn
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZVBhcnNlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDb29raWVQYXJzZXI6OkNvb2tpZVBhcnNlcik6CisgICAgICAgIChX
ZWJDb3JlOjpDb29raWVQYXJzZXI6OnBhcnNlT25lQ29va2llKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ibGFja2JlcnJ5L0Nvb2tpZVBhcnNlci5oOgorICAgICAgICAoQ29va2llUGFyc2VyKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1BhcnNlZENvb2tpZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYXJzZWRDb29raWU6OlBhcnNlZENvb2tpZSk6CisgICAgICAgICogcGxhdGZvcm0v
YmxhY2tiZXJyeS9QYXJzZWRDb29raWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhcnNlZENvb2tp
ZTo6c2V0RG9tYWluKToKKyAgICAgICAgKFdlYkNvcmU6OlBhcnNlZENvb2tpZTo6ZG9tYWluSXNJ
UEFkZHJlc3MpOgorICAgICAgICAoUGFyc2VkQ29va2llKToKKwogMjAxMi0wOC0yOSAgRGF2aWQg
R3JvZ2FuICA8ZGdyb2dhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBUaHJv
dyBUeXBlRXJyb3IgZm9yIGludmFsaWQgdmVyc2lvbiBwYXJhbWV0ZXJzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcAppbmRleCBk
ZDkzNzAyMjMxNDM1MDA2NGEyYjE4YTllZTljNjVmMjg0OWUyYWI4Li4wMmEyZmM2MTMxOGU0NWFm
OTc3ZmYzMmY2NmEwOWQzODEwZWQ3NDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2JsYWNrYmVycnkvQ29va2llTWFuYWdlci5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNp
bmNsdWRlIDxCbGFja0JlcnJ5UGxhdGZvcm1NZXNzYWdlQ2xpZW50Lmg+CiAjaW5jbHVkZSA8Qmxh
Y2tCZXJyeVBsYXRmb3JtTmF2aWdhdG9ySGFuZGxlci5oPgogI2luY2x1ZGUgPEJsYWNrQmVycnlQ
bGF0Zm9ybVNldHRpbmdzLmg+CisjaW5jbHVkZSA8bmV0d29yay9Eb21haW5Ub29scy5oPgogI2lu
Y2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTIxOSw3ICsyMjAsMTQgQEAgdm9pZCBDb29raWVNYW5h
Z2VyOjpnZXRSYXdDb29raWVzKFZlY3RvcjxQYXJzZWRDb29raWUqPiAmc3RhY2tPZkNvb2tpZXMs
IGNvbnN0IEsKICAgICB9CiAKICAgICBWZWN0b3I8U3RyaW5nPiBkZWxpbWl0ZWRIb3N0OwotICAg
IHJlcXVlc3RVUkwuaG9zdCgpLmxvd2VyKCkuc3BsaXQoIi4iLCB0cnVlLCBkZWxpbWl0ZWRIb3N0
KTsKKworICAgIC8vIElQIGFkZHJlc3NlcyBhcmUgc3RvcmVkIGluIGEgcGFydGljdWxhciBmb3Jt
YXQgKGR1ZSB0byBpcHY2KS4gUmVkdWNlIHRoZSBpcCBhZGRyZXNzIHNvIHdlIGNhbiBtYXRjaAor
ICAgIC8vIGl0IHdpdGggdGhlIG9uZSBpbiBtZW1vcnkuCisgICAgc3RyaW5nIGNhbm9uaWNhbElQ
ID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06OmdldENhbm9uaWNhbElQRm9ybWF0KHJlcXVlc3RVUkwu
aG9zdCgpLnV0ZjgoKS5kYXRhKCkpOworICAgIGlmICghY2Fub25pY2FsSVAuZW1wdHkoKSkKKyAg
ICAgICAgZGVsaW1pdGVkSG9zdC5hcHBlbmQoU3RyaW5nKGNhbm9uaWNhbElQLmNfc3RyKCkpKTsK
KyAgICBlbHNlCisgICAgICAgIHJlcXVlc3RVUkwuaG9zdCgpLmxvd2VyKCkuc3BsaXQoIi4iLCB0
cnVlLCBkZWxpbWl0ZWRIb3N0KTsKIAogICAgIC8vIEdvIHRocm91Z2ggYWxsIHRoZSBwcm90b2Nv
bCB0cmVlcyB0aGF0IHdlIG5lZWQgdG8gc2VhcmNoIGZvcgogICAgIC8vIGFuZCBnZXQgYWxsIGNv
b2tpZXMgdGhhdCBhcmUgdmFsaWQgZm9yIHRoaXMgZG9tYWluCkBAIC0zNDEsNyArMzQ5LDcgQEAg
dm9pZCBDb29raWVNYW5hZ2VyOjpjaGVja0FuZFRyZWF0Q29va2llKFBhcnNlZENvb2tpZSogY2Fu
ZGlkYXRlQ29va2llLCBCYWNraW5nU3QKICAgICAvLyBJZiBwcm90b2NvbCBzdXBwb3J0IGRvbWFp
biwgd2UgaGF2ZSB0byB0cmF2ZXJzZSB0aGUgZG9tYWluIHRyZWUgdG8gZmluZCB0aGUgcmlnaHQK
ICAgICAvLyBjb29raWVNYXAgdG8gaGFuZGxlIHdpdGgKICAgICBpZiAoIWlnbm9yZURvbWFpbikK
LSAgICAgICAgY3VyTWFwID0gZmluZE9yQ3JlYXRlQ29va2llTWFwKGN1ck1hcCwgY2FuZGlkYXRl
Q29va2llLT5kb21haW4oKSwgY2FuZGlkYXRlQ29va2llLT5oYXNFeHBpcmVkKCkpOworICAgICAg
ICBjdXJNYXAgPSBmaW5kT3JDcmVhdGVDb29raWVNYXAoY3VyTWFwLCBjYW5kaWRhdGVDb29raWUt
PmRvbWFpbigpLCBjYW5kaWRhdGVDb29raWUtPmRvbWFpbklzSVBBZGRyZXNzKCksIGNhbmRpZGF0
ZUNvb2tpZS0+aGFzRXhwaXJlZCgpKTsKIAogICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgdGhlIHBy
b3BlciBtYXAgZm9yIHRoaXMgY29va2llLCB3ZSBjYW4gbW9kaWZ5IGl0CiAgICAgLy8gSWYgY29v
a2llIGRvZXMgbm90IGV4aXN0IGFuZCBoYXMgZXhwaXJlZCwgZGVsZXRlIGl0CkBAIC00NzUsMTEg
KzQ4MywxNiBAQCB2b2lkIENvb2tpZU1hbmFnZXI6OnNldFByaXZhdGVNb2RlKGJvb2wgbW9kZSkK
ICAgICB9CiB9CiAKLUNvb2tpZU1hcCogQ29va2llTWFuYWdlcjo6ZmluZE9yQ3JlYXRlQ29va2ll
TWFwKENvb2tpZU1hcCogcHJvdG9jb2xNYXAsIGNvbnN0IFN0cmluZyYgZG9tYWluLCBib29sIGZp
bmRPbmx5KQorQ29va2llTWFwKiBDb29raWVNYW5hZ2VyOjpmaW5kT3JDcmVhdGVDb29raWVNYXAo
Q29va2llTWFwKiBwcm90b2NvbE1hcCwgY29uc3QgU3RyaW5nJiBkb21haW4sIGJvb2wgaXNJUEFk
ZHJlc3MsIGJvb2wgZmluZE9ubHkpCiB7CiAgICAgLy8gRXhwbG9kZSB0aGUgZG9tYWluIHdpdGgg
dGhlICcuJyBkZWxpbWl0ZXIKICAgICBWZWN0b3I8U3RyaW5nPiBkZWxpbWl0ZWRIb3N0OwotICAg
IGRvbWFpbi5zcGxpdCgiLiIsIGRlbGltaXRlZEhvc3QpOworCisgICAgLy8gSWYgdGhlIGRvbWFp
biBpcyBhbiBJUCBhZGRyZXNzLCBkb24ndCBzcGxpdCBpdC4KKyAgICBpZiAoaXNJUEFkZHJlc3Mp
CisgICAgICAgIGRlbGltaXRlZEhvc3QuYXBwZW5kKGRvbWFpbik7CisgICAgZWxzZQorICAgICAg
ICBkb21haW4uc3BsaXQoIi4iLCBkZWxpbWl0ZWRIb3N0KTsKIAogICAgIENvb2tpZU1hcCogY3Vy
TWFwID0gcHJvdG9jb2xNYXA7CiAgICAgc2l6ZV90IGhvc3RTaXplID0gZGVsaW1pdGVkSG9zdC5z
aXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nv
b2tpZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvQ29va2ll
TWFuYWdlci5oCmluZGV4IGVhYjQ0NzhiMmU5M2RkZGIyNWMzN2JhNTdjYTg5NWI3NDE4Y2JlMmMu
LjA0Y2ZlYmQ5NjgxOTY5OTA4ODExMDEwYzdjYTdiOWJjNmEwY2I0Y2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvQ29va2llTWFuYWdlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvQ29va2llTWFuYWdlci5oCkBAIC0xMTQs
NyArMTE0LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgYWRkQ29va2llVG9NYXAoQ29va2llTWFw
KiB0YXJnZXRNYXAsIFBhcnNlZENvb2tpZSogY2FuZGlkYXRlQ29va2llLCBCYWNraW5nU3RvcmVS
ZW1vdmFsUG9saWN5IHBvc3RUb0JhY2tpbmdTdG9yZSwgQ29va2llRmlsdGVyID0gV2l0aEh0dHBP
bmx5Q29va2llcyk7CiAKLSAgICBDb29raWVNYXAqIGZpbmRPckNyZWF0ZUNvb2tpZU1hcChDb29r
aWVNYXAqIHByb3RvY29sTWFwLCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgYm9vbCBmaW5kT25seSk7
CisgICAgQ29va2llTWFwKiBmaW5kT3JDcmVhdGVDb29raWVNYXAoQ29va2llTWFwKiBwcm90b2Nv
bE1hcCwgY29uc3QgU3RyaW5nJiBkb21haW4sIGJvb2wgaXNEb21haW5JUEFkZHJlc3MsIGJvb2wg
ZmluZE9ubHkpOwogCiAgICAgdm9pZCBpbml0aWF0ZUNvb2tpZUxpbWl0Q2xlYW5VcCgpOwogICAg
IHZvaWQgY29va2llTGltaXRDbGVhblVwKFRpbWVyPENvb2tpZU1hbmFnZXI+Kik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZVBhcnNlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZVBhcnNlci5jcHAKaW5k
ZXggMjU2NGM1NjhlYWQ2NzhiN2EyMzQwY2IyMDViOWRjNzNmYmZmNDRhYy4uZmY2Yjg3MWI4MzEw
YzEwM2VjNTQ3NGNiMTBmOTM0OTI3OTI2MzE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2JsYWNrYmVycnkvQ29va2llUGFyc2VyLmNwcApAQCAtNTUsNiArNTUsMTQgQEAg
c3RhdGljIGlubGluZSBib29sIGlzTGlnaHR3ZWlnaHRTcGFjZShVQ2hhciBjKQogQ29va2llUGFy
c2VyOjpDb29raWVQYXJzZXIoY29uc3QgS1VSTCYgZGVmYXVsdENvb2tpZVVSTCkKICAgICA6IG1f
ZGVmYXVsdENvb2tpZVVSTChkZWZhdWx0Q29va2llVVJMKQogeworICAgIG1fZGVmYXVsdENvb2tp
ZUhvc3QgPSBkZWZhdWx0Q29va2llVVJMLmhvc3QoKTsKKyAgICBtX2RlZmF1bHREb21haW5Jc0lQ
QWRkcmVzcyA9IGZhbHNlOworICAgIHN0cmluZyBob3N0RG9tYWluQ2Fub25pY2FsID0gQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OmdldENhbm9uaWNhbElQRm9ybWF0KG1fZGVmYXVsdENvb2tpZUhvc3Qu
dXRmOCgpLmRhdGEoKSkuY19zdHIoKTsKKyAgICBpZiAoIWhvc3REb21haW5DYW5vbmljYWwuZW1w
dHkoKSkgeworICAgICAgICBtX2RlZmF1bHRDb29raWVIb3N0ID0gU3RyaW5nKGhvc3REb21haW5D
YW5vbmljYWwuY19zdHIoKSk7CisgICAgICAgIG1fZGVmYXVsdERvbWFpbklzSVBBZGRyZXNzID0g
dHJ1ZTsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9kZWZhdWx0Q29va2llSG9zdCA9IG1fZGVmYXVs
dENvb2tpZUhvc3Quc3RhcnRzV2l0aCgiLiIpID8gbV9kZWZhdWx0Q29va2llSG9zdCA6ICIuIiAr
IG1fZGVmYXVsdENvb2tpZUhvc3Q7CiB9CiAKIENvb2tpZVBhcnNlcjo6fkNvb2tpZVBhcnNlcigp
CkBAIC0yNjAsMjQgKzI2OCwzOCBAQCBQYXJzZWRDb29raWUqIENvb2tpZVBhcnNlcjo6cGFyc2VP
bmVDb29raWUoY29uc3QgU3RyaW5nJiBjb29raWUsIHVuc2lnbmVkIHN0YXJ0LAogICAgICAgICAg
ICAgICAgIC8vIEZvciBleGFtcGxlOiBhYi5jLmNvbSBkb3NlIG5vdCBkb21haW4gbWF0Y2ggYi5j
LmNvbTsKICAgICAgICAgICAgICAgICBTdHJpbmcgcmVhbERvbWFpbiA9IHBhcnNlZFZhbHVlWzBd
ID09ICcuJyA/IHBhcnNlZFZhbHVlIDogIi4iICsgcGFyc2VkVmFsdWU7CiAKLSAgICAgICAgICAg
ICAgICAvLyBUaGUgcmVxdWVzdCBob3N0IHNob3VsZCBkb21haW4gbWF0Y2ggdGhlIERvbWFpbiBh
dHRyaWJ1dGUuCi0gICAgICAgICAgICAgICAgLy8gRG9tYWluIHN0cmluZyBzdGFydHMgd2l0aCBh
IGRvdCwgc28gYS5iLmNvbSBzaG91bGQgZG9tYWluIG1hdGNoIC5hLmIuY29tLgotICAgICAgICAg
ICAgICAgIC8vIGFkZCBhICIuIiBhdCBiZWdpbm5pbmcgb2YgaG9zdCBuYW1lLCBiZWNhdXNlIGl0
IGNhbiBoYW5kbGUgbWFueSBjYXNlcyBzdWNoIGFzCi0gICAgICAgICAgICAgICAgLy8gYS5iLmNv
bSBtYXRjaGVzIGIuY29tLCBhLmIuY29tIG1hdGNoZXMgLkIuY29tIGFuZCBhLmIuY29tIG1hdGNo
ZXMgLkEuYi5Db20KLSAgICAgICAgICAgICAgICAvLyBhbmQgc28gb24uCi0gICAgICAgICAgICAg
ICAgU3RyaW5nIGhvc3REb21haW5OYW1lID0gbV9kZWZhdWx0Q29va2llVVJMLmhvc3QoKTsKLSAg
ICAgICAgICAgICAgICBob3N0RG9tYWluTmFtZSA9IGhvc3REb21haW5OYW1lLnN0YXJ0c1dpdGgo
Jy4nKSA/IGhvc3REb21haW5OYW1lIDogIi4iICsgaG9zdERvbWFpbk5hbWU7Ci0gICAgICAgICAg
ICAgICAgaWYgKCFob3N0RG9tYWluTmFtZS5lbmRzV2l0aChyZWFsRG9tYWluLCBmYWxzZSkpCi0g
ICAgICAgICAgICAgICAgICAgIExPR19BTkRfREVMRVRFKCJJbnZhbGlkIGNvb2tpZSAlcyAoZG9t
YWluKTogaXQgZG9lcyBub3QgZG9tYWluIG1hdGNoIHRoZSBob3N0Iik7Ci0gICAgICAgICAgICAg
ICAgLy8gV2Ugc2hvdWxkIGNoZWNrIGZvciBhbiBlbWJlZGRlZCBkb3QgaW4gdGhlIHBvcnRpb24g
b2Ygc3RyaW5nIGluIHRoZSBob3N0IG5vdCBpbiB0aGUgZG9tYWluCi0gICAgICAgICAgICAgICAg
Ly8gYnV0IHRvIG1hdGNoIGZpcmVmb3ggYmVoYXZpb3VyIHdlIGRvIG5vdC4KLQotICAgICAgICAg
ICAgICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlIGRvbWFpbiBpcyBhIHRvcCBsZXZlbCBkb21haW4s
IGlmIGl0IGlzIHRocm93IGl0IG91dAotICAgICAgICAgICAgICAgIC8vIGh0dHA6Ly9wdWJsaWNz
dWZmaXgub3JnL2xpc3QvCi0gICAgICAgICAgICAgICAgaWYgKEJsYWNrQmVycnk6OlBsYXRmb3Jt
Ojppc1RvcExldmVsRG9tYWluKHJlYWxEb21haW4udXRmOCgpLmRhdGEoKSkpCi0gICAgICAgICAg
ICAgICAgICAgIExPR19BTkRfREVMRVRFKCJJbnZhbGlkIGNvb2tpZSAlcyAoZG9tYWluKTogaXQg
ZGlkIG5vdCBwYXNzIHRoZSB0b3AgbGV2ZWwgZG9tYWluIGNoZWNrIiwgY29va2llLmFzY2lpKCku
ZGF0YSgpKTsKLQotICAgICAgICAgICAgICAgIHJlcy0+c2V0RG9tYWluKHJlYWxEb21haW4pOwor
ICAgICAgICAgICAgICAgIC8vIFRyeSB0byByZXR1cm4gYW4gY2Fub25pY2FsIGlwIGFkZHJlc3Mg
aWYgdGhlIGRvbWFpbiBpcyBhbiBpcAorCisgICAgICAgICAgICAgICAgYm9vbCBpc0lQQWRkcmVz
cyA9IGZhbHNlOworICAgICAgICAgICAgICAgIC8vIFdlIG9ubHkgY2hlY2sgaWYgdGhlIGN1cnJl
bnQgZG9tYWluIGlzIGFuIElQIGFkZHJlc3Mgd2hlbiB0aGUgZGVmYXVsdCBkb21haW4gaXMgYW4g
SVAgYWRkcmVzcworICAgICAgICAgICAgICAgIC8vIFdlIGtub3cgaWYgdGhlIGRlZmF1bHQgZG9t
YWluIGlzIG5vdCBhbiBJUCBhZGRyZXNzIGFuZCB0aGUgY3VycmVudCBkb21haW4gaXMsIGl0IHdv
bid0IHN1ZmZpeCBtYXRjaAorICAgICAgICAgICAgICAgIC8vIElmIGl0IGlzIGFuIElQIEFkZHJl
c3MsIHdlIHNob3VsZCB0cmVhdCBpdCBvbmx5IGlmIGl0IG1hdGNoZXMgdGhlIGhvc3QgZXhhY3Rs
eQorICAgICAgICAgICAgICAgIC8vIFdlIGRldGVybWluZSB0aGUgY2Fub25pY2FsIElQIGZvcm1h
dCBiZWZvcmUgY29tcGFyaW5nIGJlY2F1c2UgSVB2NiBjb3VsZCBiZSByZXByZXNlbnRlZCBpbiBt
dWx0aXBsZSBmb3JtYXRzCisgICAgICAgICAgICAgICAgaWYgKG1fZGVmYXVsdERvbWFpbklzSVBB
ZGRyZXNzKSB7CisgICAgICAgICAgICAgICAgICAgIFN0cmluZyByZWFsRG9tYWluQ2Fub25pY2Fs
ID0gU3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpnZXRDYW5vbmljYWxJUEZvcm1hdChyZWFs
RG9tYWluLnV0ZjgoKS5kYXRhKCkpLmNfc3RyKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAo
cmVhbERvbWFpbkNhbm9uaWNhbC5pc0VtcHR5KCkgfHwgcmVhbERvbWFpbkNhbm9uaWNhbCAhPSBt
X2RlZmF1bHRDb29raWVIb3N0KQorICAgICAgICAgICAgICAgICAgICAgICAgTE9HX0FORF9ERUxF
VEUoIkludmFsaWQgY29va2llICVzIChkb21haW4pOiBkb21haW4gaXMgSVAgYnV0IGRvZXMgbm90
IG1hdGNoIGhvc3QncyBJUCIsIGNvb2tpZS5hc2NpaSgpLmRhdGEoKSk7CisgICAgICAgICAgICAg
ICAgICAgIHJlYWxEb21haW4gPSByZWFsRG9tYWluQ2Fub25pY2FsOworICAgICAgICAgICAgICAg
ICAgICBpc0lQQWRkcmVzcyA9IHRydWU7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgLy8gVGhlIHJlcXVlc3QgaG9zdCBzaG91bGQgZG9tYWluIG1hdGNoIHRo
ZSBEb21haW4gYXR0cmlidXRlLgorICAgICAgICAgICAgICAgICAgICAvLyBEb21haW4gc3RyaW5n
IHN0YXJ0cyB3aXRoIGEgZG90LCBzbyBhLmIuY29tIHNob3VsZCBkb21haW4gbWF0Y2ggLmEuYi5j
b20uCisgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBhICIuIiBhdCBiZWdpbm5pbmcgb2YgaG9z
dCBuYW1lLCBiZWNhdXNlIGl0IGNhbiBoYW5kbGUgbWFueSBjYXNlcyBzdWNoIGFzCisgICAgICAg
ICAgICAgICAgICAgIC8vIGEuYi5jb20gbWF0Y2hlcyBiLmNvbSwgYS5iLmNvbSBtYXRjaGVzIC5C
LmNvbSBhbmQgYS5iLmNvbSBtYXRjaGVzIC5BLmIuQ29tCisgICAgICAgICAgICAgICAgICAgIC8v
IGFuZCBzbyBvbi4KKyAgICAgICAgICAgICAgICAgICAgLy8gV2UgYWxzbyBoYXZlIHRvIG1ha2Ug
YSBzcGVjaWFsIGNhc2UgZm9yIElQIGFkZHJlc3Nlcy4gSWYgYSB3ZWJzaXRlIHRyaWVzIHRvIHNl
dAorICAgICAgICAgICAgICAgICAgICAvLyBhIGNvb2tpZSB0byA2MS45NywgdGhhdCBkb21haW4g
aXMgbm90IGFuIElQIGFkZHJlc3MgYW5kIHdpbGwgZW5kIHdpdGggdGhlIG1fZGVmYXVsdENvb2tp
ZUhvc3QKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFtX2RlZmF1bHRDb29raWVIb3N0LmVuZHNX
aXRoKHJlYWxEb21haW4sIGZhbHNlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIExPR19BTkRf
REVMRVRFKCJJbnZhbGlkIGNvb2tpZSAlcyAoZG9tYWluKTogaXQgZG9lcyBub3QgZG9tYWluIG1h
dGNoIHRoZSBob3N0IiwgY29va2llLmFzY2lpKCkuZGF0YSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgLy8gV2Ugc2hvdWxkIGNoZWNrIGZvciBhbiBlbWJlZGRlZCBkb3QgaW4gdGhlIHBvcnRpb24g
b2Ygc3RyaW5nIGluIHRoZSBob3N0IG5vdCBpbiB0aGUgZG9tYWluCisgICAgICAgICAgICAgICAg
ICAgIC8vIGJ1dCB0byBtYXRjaCBmaXJlZm94IGJlaGF2aW91ciB3ZSBkbyBub3QuCisKKyAgICAg
ICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgZG9tYWluIGlzIGEgdG9wIGxldmVs
IGRvbWFpbiwgaWYgaXQgaXMgdGhyb3cgaXQgb3V0CisgICAgICAgICAgICAgICAgICAgIC8vIGh0
dHA6Ly9wdWJsaWNzdWZmaXgub3JnL2xpc3QvCisgICAgICAgICAgICAgICAgICAgIGlmIChCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6aXNUb3BMZXZlbERvbWFpbihyZWFsRG9tYWluLnV0ZjgoKS5kYXRh
KCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgTE9HX0FORF9ERUxFVEUoIkludmFsaWQgY29v
a2llICVzIChkb21haW4pOiBpdCBkaWQgbm90IHBhc3MgdGhlIHRvcCBsZXZlbCBkb21haW4gY2hl
Y2siLCBjb29raWUuYXNjaWkoKS5kYXRhKCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICByZXMtPnNldERvbWFpbihyZWFsRG9tYWluLCBpc0lQQWRkcmVzcyk7CiAgICAgICAg
ICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBMT0dfQU5EX0RFTEVURSgiSW52YWxpZCBjb29r
aWUgJXMgKGRvbWFpbikiLCBjb29raWUuYXNjaWkoKS5kYXRhKCkpOwogICAgICAgICAgICAgYnJl
YWs7CkBAIC0zNjMsNyArMzg1LDcgQEAgUGFyc2VkQ29va2llKiBDb29raWVQYXJzZXI6OnBhcnNl
T25lQ29va2llKGNvbnN0IFN0cmluZyYgY29va2llLCB1bnNpZ25lZCBzdGFydCwKIAogICAgIC8v
IElmIG5vIGRvbWFpbiB3YXMgcHJvdmlkZWQsIHNldCBpdCB0byB0aGUgaG9zdAogICAgIGlmICgh
cmVzLT5kb21haW4oKSkKLSAgICAgICAgcmVzLT5zZXREb21haW4obV9kZWZhdWx0Q29va2llVVJM
Lmhvc3QoKSk7CisgICAgICAgIHJlcy0+c2V0RG9tYWluKG1fZGVmYXVsdENvb2tpZUhvc3QsIG1f
ZGVmYXVsdERvbWFpbklzSVBBZGRyZXNzKTsKIAogICAgIC8vIEFjY29yZGluZyB0byB0aGUgQ29v
a2llIFNwZWNpZmljYWl0b24gKFJGQzYyNjUsIHNlY3Rpb24gNC4xLjIuNCBhbmQgNS4yLjQsIGh0
dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzYyNjUpLAogICAgIC8vIElmIG5vIHBhdGggd2Fz
IHByb3ZpZGVkIG9yIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIHBhdGggdmFsdWUgaXMgbm90
ICcvJywgc2V0IGl0IHRvIHRoZSBob3N0J3MgcGF0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2JsYWNrYmVycnkvQ29va2llUGFyc2VyLmgKaW5kZXggNjY0NTU0MjBkZjQ3M2JlZWIw
MjY0OTUxNTYzZTU1ZmMyNGU0ZmY3OS4uMDBmYWZjZmVmNzU2ZTYzYzEyNjZmNzk4NmRkZTQzNjcz
NGY1YjY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9D
b29raWVQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nv
b2tpZVBhcnNlci5oCkBAIC01MCw2ICs1MCw4IEBAIHByaXZhdGU6CiAgICAgUGFyc2VkQ29va2ll
KiBwYXJzZU9uZUNvb2tpZShjb25zdCBTdHJpbmcmIGNvb2tpZSwgdW5zaWduZWQgc3RhcnQsIHVu
c2lnbmVkIGVuZCwgZG91YmxlIGN1clRpbWUpOwogCiAgICAgS1VSTCBtX2RlZmF1bHRDb29raWVV
Ukw7CisgICAgU3RyaW5nIG1fZGVmYXVsdENvb2tpZUhvc3Q7CisgICAgYm9vbCBtX2RlZmF1bHRE
b21haW5Jc0lQQWRkcmVzczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFyc2VkQ29va2llLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFyc2VkQ29va2llLmNwcAppbmRl
eCA1ZTMxMGU5MGEyMzU2ZmE1Yzc0MDc4ZmJmOWUwOTRhYzViYWQzNDdjLi5jNDQ5ZmM2ODE0MDUz
NjY0M2Q1MmRkZDViZDU1MzZlMGIxODlhYzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ibGFja2JlcnJ5L1BhcnNlZENvb2tpZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYmxhY2tiZXJyeS9QYXJzZWRDb29raWUuY3BwCkBAIC00NSw2ICs0NSw3IEBAIFBh
cnNlZENvb2tpZTo6UGFyc2VkQ29va2llKGRvdWJsZSBjdXJyZW50VGltZSkKICAgICAsIG1faXNI
dHRwT25seShmYWxzZSkKICAgICAsIG1faXNTZXNzaW9uKHRydWUpCiAgICAgLCBtX2lzRm9yY2VF
eHBpcmVkKGZhbHNlKQorICAgICwgbV9kb21haW5Jc0lQQWRkcmVzcyhmYWxzZSkKIHsKIH0KIApA
QCAtNjEsNiArNjIsNyBAQCBQYXJzZWRDb29raWU6OlBhcnNlZENvb2tpZShjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUsIGNvbnN0IFN0cmluZwogICAgICwgbV9pc0h0dHBP
bmx5KGlzSHR0cE9ubHkpCiAgICAgLCBtX2lzU2Vzc2lvbihmYWxzZSkKICAgICAsIG1faXNGb3Jj
ZUV4cGlyZWQoZmFsc2UpCisgICAgLCBtX2RvbWFpbklzSVBBZGRyZXNzKGZhbHNlKQogewogfQog
CkBAIC03Nyw2ICs3OSw3IEBAIFBhcnNlZENvb2tpZTo6UGFyc2VkQ29va2llKGNvbnN0IFBhcnNl
ZENvb2tpZSogY29va2llKQogICAgICwgbV9pc0h0dHBPbmx5KGNvb2tpZS0+bV9pc0h0dHBPbmx5
KQogICAgICwgbV9pc1Nlc3Npb24oY29va2llLT5tX2lzU2Vzc2lvbikKICAgICAsIG1faXNGb3Jj
ZUV4cGlyZWQoY29va2llLT5tX2lzRm9yY2VFeHBpcmVkKQorICAgICwgbV9kb21haW5Jc0lQQWRk
cmVzcyhjb29raWUtPm1fZG9tYWluSXNJUEFkZHJlc3MpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFyc2VkQ29va2llLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BhcnNlZENvb2tpZS5oCmluZGV4IGRiMjllN2Fm
YWJkZmU3MzM2MzQ1M2VjNDFmMjcyZDcxOWUxNmFiNzYuLjNhNjAwN2Q3ZTA5MDM0ZDA2NWRmMmQ5
MzAxNmQ1YzRkYmQwZWQyOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Js
YWNrYmVycnkvUGFyc2VkQ29va2llLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9QYXJzZWRDb29raWUuaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRQYXRoKGNvbnN0IFN0cmluZyYgcGF0aCkgeyBtX3BhdGggPSBwYXRoOyB9CiAKICAgICBj
b25zdCBTdHJpbmcmIGRvbWFpbigpIGNvbnN0IHsgcmV0dXJuIG1fZG9tYWluOyB9Ci0gICAgdm9p
ZCBzZXREb21haW4oY29uc3QgU3RyaW5nJiBkb21haW4pIHsgbV9kb21haW4gPSBkb21haW4ubG93
ZXIoKTsgfQorICAgIHZvaWQgc2V0RG9tYWluKGNvbnN0IFN0cmluZyYgZG9tYWluLCBib29sIGRv
bWFpbklzSVBBZGRyZXNzID0gZmFsc2UpIHsgbV9kb21haW4gPSBkb21haW4ubG93ZXIoKTsgbV9k
b21haW5Jc0lQQWRkcmVzcz0gZG9tYWluSXNJUEFkZHJlc3M7IH0KIAogICAgIGNvbnN0IFN0cmlu
ZyYgcHJvdG9jb2woKSBjb25zdCB7IHJldHVybiBtX3Byb3RvY29sOyB9CiAgICAgdm9pZCBzZXRQ
cm90b2NvbChjb25zdCBTdHJpbmcmIHByb3RvY29sKSB7IG1fcHJvdG9jb2wgPSBwcm90b2NvbDsg
fQpAQCAtOTAsNiArOTAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNFeHBpcmVkKCkgY29uc3Q7
CiAgICAgYm9vbCBpc0ZvcmNlRXhwaXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNGb3JjZUV4cGly
ZWQ7IH0KICAgICBib29sIGlzVW5kZXJTaXplTGltaXQoKSBjb25zdDsKKyAgICBib29sIGRvbWFp
bklzSVBBZGRyZXNzKCkgY29uc3QgeyByZXR1cm4gbV9kb21haW5Jc0lQQWRkcmVzczsgfQogCiAg
ICAgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3Q7CiAgICAgU3RyaW5nIHRvTmFtZVZhbHVlUGFpcigp
IGNvbnN0OwpAQCAtMTEwLDYgKzExMSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzSHR0cE9u
bHk7CiAgICAgYm9vbCBtX2lzU2Vzc2lvbjsKICAgICBib29sIG1faXNGb3JjZUV4cGlyZWQ7Cisg
ICAgYm9vbCBtX2RvbWFpbklzSVBBZGRyZXNzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161476</attachid>
            <date>2012-08-30 08:24:27 -0700</date>
            <delta_ts>2012-08-30 09:11:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95381-20120830112416.patch</filename>
            <type>text/plain</type>
            <size>15253</size>
            <attacher>otcheung</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc4Y2Q5YTVjYjc3MzAz
ZWY0ZjM0Y2U0ZTk4MTVkMzNlN2E2NjI0My4uNjk5NjJlNGQxM2JlZTg2MzZhMDVmNDEwNWJhMDJm
MDg0YjNhY2Q0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA4LTI5ICBPdHRv
IERlcmVrIENoZXVuZyAgPG90Y2hldW5nQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IE1vZGlmeWluZyBob3cgSVAgZG9tYWlucyBhcmUgaGFuZGxlZCBpbiBDb29raWVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTM4MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICBJbnRlcm5hbGx5IHJldmlld2Vk
IGJ5IEpvZSBNYXNvbi4KKworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIGhhbmRsZXMg
SVAgYWRkcmVzc2VzIGxpa2Ugbm9ybWFsIGRvbWFpbnMuCisgICAgICAgIFRoaXMgbWFrZXMgaW52
YWxpZCBjcm9zcyBkb21haW4gY29va2llcyBwb3NzaWJlIGJ5IHNldHRpbmcgY29va2llCisgICAg
ICAgIGRvbWFpbnMgdG8gYSBzdWZmaXggb2YgdGhlIHRhcmdldGVkIElQLiAoZXguIGhhY2tlcnMg
b24gMTEuMTIxLjYxLjk3CisgICAgICAgIGNhbiBzZXQgY29va2llcyB0byA2MS45Nywgc28gdGhl
eSBzaG93IHVwIG9uIHRoZSB0YXJnZXRlZCB3ZWJzaXRlIG9mCisgICAgICAgIDEwLjEyMC42MS45
NykKKworICAgICAgICBOZXcgSW1wbGVtZW50YXRpb24gaXMgdG8gZGV0ZWN0IElQIGFkZHJlc3Nl
cyBhbmQgdHJlYXQgdGhlbSB3aXRob3V0CisgICAgICAgIGV4cGxvZGluZyB0aGVtIHdpdGggdGhl
IGRlbGltaXRlciAiLiIuIFRoYXQgd2F5LCBJUCBhZGRyZXNzZXMgd2lsbAorICAgICAgICBiZSBz
dG9yZWQgYXMgYSB3aG9sZSBhbmQgb3RoZXIgSVBzIHdvbid0IGhhdmUgYWNjZXNzIHRvIGl0Lgor
CisgICAgICAgIFBSIDEzMDA1MQorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZCBieSBhY2Nlc3Np
bmcgYSB3ZWJwYWdlIHZpYSBJUCAoaG9zdGVkIHRocm91Z2gKKyAgICAgICAgTEFNUCAtIGV4OjEw
LjEyMS42MS45NykgYW5kIHRyaWVkIHRvIHNldCBjb29raWVzIHdpdGggZG9tYWlucyB0aGF0Cisg
ICAgICAgIGFyZSBhIHN1ZmZpeCB0byB0aGUgaXAgYWRkcmVzcyAoZXg6IC45NywgMTIxLjYxLjk3
KS4KKyAgICAgICAgQWxzbyB0cmllZCB0byBzZXQgY29va2llcyB0byBvdGhlciBpcCBhZGRyZXNz
ZXMgdGhhdCAiZG9tYWluIG1hdGNoZXMiCisgICAgICAgIHRoZSBJUCBhZGRyZXNzIChleC4gMTEu
MTIxLjYxLjk3KS4gVmVyaWZpZWQgdGhhdCB0aGV5IGFsbCBmYWlsZWQuCisKKyAgICAgICAgVGVz
dGVkIHVzaW5nIHRoZSBjb29raWVzIHRlc3QgcGFnZTogaHR0cDovL2Jyb3dzZXIuc3dsYWIucmlt
Lm5ldC90ZXN0L2Nvb2tpZXMKKworICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvQ29va2ll
TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29raWVNYW5hZ2VyOjpnZXRSYXdDb29r
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb2tpZU1hbmFnZXI6OmNoZWNrQW5kVHJlYXRDb29r
aWUpOgorICAgICAgICAoV2ViQ29yZTo6Q29va2llTWFuYWdlcjo6ZmluZE9yQ3JlYXRlQ29va2ll
TWFwKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1hbmFnZXIuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZVBhcnNlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDb29raWVQYXJzZXI6OkNvb2tpZVBhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpD
b29raWVQYXJzZXI6OnBhcnNlT25lQ29va2llKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2Jl
cnJ5L0Nvb2tpZVBhcnNlci5oOgorICAgICAgICAoQ29va2llUGFyc2VyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ibGFja2JlcnJ5L1BhcnNlZENvb2tpZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YXJzZWRDb29raWU6OlBhcnNlZENvb2tpZSk6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJy
eS9QYXJzZWRDb29raWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhcnNlZENvb2tpZTo6c2V0RG9t
YWluKToKKyAgICAgICAgKFdlYkNvcmU6OlBhcnNlZENvb2tpZTo6ZG9tYWluSXNJUEFkZHJlc3Mp
OgorICAgICAgICAoUGFyc2VkQ29va2llKToKKwogMjAxMi0wOC0yOSAgRGF2aWQgR3JvZ2FuICA8
ZGdyb2dhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBUaHJvdyBUeXBlRXJy
b3IgZm9yIGludmFsaWQgdmVyc2lvbiBwYXJhbWV0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVNYW5hZ2VyLmNwcAppbmRleCBkZDkzNzAyMjMx
NDM1MDA2NGEyYjE4YTllZTljNjVmMjg0OWUyYWI4Li5mYmVjODYwNzZmOWViZjI1NWMyY2ZjMjc2
MzZhMzBkYTNjZjQzMWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFj
a2JlcnJ5L0Nvb2tpZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Js
YWNrYmVycnkvQ29va2llTWFuYWdlci5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlIDxC
bGFja0JlcnJ5UGxhdGZvcm1NZXNzYWdlQ2xpZW50Lmg+CiAjaW5jbHVkZSA8QmxhY2tCZXJyeVBs
YXRmb3JtTmF2aWdhdG9ySGFuZGxlci5oPgogI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybVNl
dHRpbmdzLmg+CisjaW5jbHVkZSA8bmV0d29yay9Eb21haW5Ub29scy5oPgogI2luY2x1ZGUgPHN0
ZGxpYi5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KQEAgLTIxOSw3ICsyMjAsMTQgQEAgdm9pZCBDb29raWVNYW5hZ2VyOjpnZXRS
YXdDb29raWVzKFZlY3RvcjxQYXJzZWRDb29raWUqPiAmc3RhY2tPZkNvb2tpZXMsIGNvbnN0IEsK
ICAgICB9CiAKICAgICBWZWN0b3I8U3RyaW5nPiBkZWxpbWl0ZWRIb3N0OwotICAgIHJlcXVlc3RV
UkwuaG9zdCgpLmxvd2VyKCkuc3BsaXQoIi4iLCB0cnVlLCBkZWxpbWl0ZWRIb3N0KTsKKworICAg
IC8vIElQIGFkZHJlc3NlcyBhcmUgc3RvcmVkIGluIGEgcGFydGljdWxhciBmb3JtYXQgKGR1ZSB0
byBpcHY2KS4gUmVkdWNlIHRoZSBpcCBhZGRyZXNzIHNvIHdlIGNhbiBtYXRjaAorICAgIC8vIGl0
IHdpdGggdGhlIG9uZSBpbiBtZW1vcnkuCisgICAgc3RyaW5nIGNhbm9uaWNhbElQID0gQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OmdldENhbm9uaWNhbElQRm9ybWF0KHJlcXVlc3RVUkwuaG9zdCgpLnV0
ZjgoKS5kYXRhKCkpOworICAgIGlmICghY2Fub25pY2FsSVAuZW1wdHkoKSkKKyAgICAgICAgZGVs
aW1pdGVkSG9zdC5hcHBlbmQoU3RyaW5nKGNhbm9uaWNhbElQLmNfc3RyKCkpKTsKKyAgICBlbHNl
CisgICAgICAgIHJlcXVlc3RVUkwuaG9zdCgpLmxvd2VyKCkuc3BsaXQoIi4iLCB0cnVlLCBkZWxp
bWl0ZWRIb3N0KTsKIAogICAgIC8vIEdvIHRocm91Z2ggYWxsIHRoZSBwcm90b2NvbCB0cmVlcyB0
aGF0IHdlIG5lZWQgdG8gc2VhcmNoIGZvcgogICAgIC8vIGFuZCBnZXQgYWxsIGNvb2tpZXMgdGhh
dCBhcmUgdmFsaWQgZm9yIHRoaXMgZG9tYWluCkBAIC0zNDEsNyArMzQ5LDcgQEAgdm9pZCBDb29r
aWVNYW5hZ2VyOjpjaGVja0FuZFRyZWF0Q29va2llKFBhcnNlZENvb2tpZSogY2FuZGlkYXRlQ29v
a2llLCBCYWNraW5nU3QKICAgICAvLyBJZiBwcm90b2NvbCBzdXBwb3J0IGRvbWFpbiwgd2UgaGF2
ZSB0byB0cmF2ZXJzZSB0aGUgZG9tYWluIHRyZWUgdG8gZmluZCB0aGUgcmlnaHQKICAgICAvLyBj
b29raWVNYXAgdG8gaGFuZGxlIHdpdGgKICAgICBpZiAoIWlnbm9yZURvbWFpbikKLSAgICAgICAg
Y3VyTWFwID0gZmluZE9yQ3JlYXRlQ29va2llTWFwKGN1ck1hcCwgY2FuZGlkYXRlQ29va2llLT5k
b21haW4oKSwgY2FuZGlkYXRlQ29va2llLT5oYXNFeHBpcmVkKCkpOworICAgICAgICBjdXJNYXAg
PSBmaW5kT3JDcmVhdGVDb29raWVNYXAoY3VyTWFwLCAqY2FuZGlkYXRlQ29va2llKTsKIAogICAg
IC8vIE5vdyB0aGF0IHdlIGhhdmUgdGhlIHByb3BlciBtYXAgZm9yIHRoaXMgY29va2llLCB3ZSBj
YW4gbW9kaWZ5IGl0CiAgICAgLy8gSWYgY29va2llIGRvZXMgbm90IGV4aXN0IGFuZCBoYXMgZXhw
aXJlZCwgZGVsZXRlIGl0CkBAIC00NzUsMTEgKzQ4MywxNiBAQCB2b2lkIENvb2tpZU1hbmFnZXI6
OnNldFByaXZhdGVNb2RlKGJvb2wgbW9kZSkKICAgICB9CiB9CiAKLUNvb2tpZU1hcCogQ29va2ll
TWFuYWdlcjo6ZmluZE9yQ3JlYXRlQ29va2llTWFwKENvb2tpZU1hcCogcHJvdG9jb2xNYXAsIGNv
bnN0IFN0cmluZyYgZG9tYWluLCBib29sIGZpbmRPbmx5KQorQ29va2llTWFwKiBDb29raWVNYW5h
Z2VyOjpmaW5kT3JDcmVhdGVDb29raWVNYXAoQ29va2llTWFwKiBwcm90b2NvbE1hcCwgY29uc3Qg
UGFyc2VkQ29va2llJiBjYW5kaWRhdGVDb29raWUpCiB7CiAgICAgLy8gRXhwbG9kZSB0aGUgZG9t
YWluIHdpdGggdGhlICcuJyBkZWxpbWl0ZXIKICAgICBWZWN0b3I8U3RyaW5nPiBkZWxpbWl0ZWRI
b3N0OwotICAgIGRvbWFpbi5zcGxpdCgiLiIsIGRlbGltaXRlZEhvc3QpOworCisgICAgLy8gSWYg
dGhlIGRvbWFpbiBpcyBhbiBJUCBhZGRyZXNzLCBkb24ndCBzcGxpdCBpdC4KKyAgICBpZiAoY2Fu
ZGlkYXRlQ29va2llLmRvbWFpbklzSVBBZGRyZXNzKCkpCisgICAgICAgIGRlbGltaXRlZEhvc3Qu
YXBwZW5kKGNhbmRpZGF0ZUNvb2tpZS5kb21haW4oKSk7CisgICAgZWxzZQorICAgICAgICBjYW5k
aWRhdGVDb29raWUuZG9tYWluKCkuc3BsaXQoIi4iLCBkZWxpbWl0ZWRIb3N0KTsKIAogICAgIENv
b2tpZU1hcCogY3VyTWFwID0gcHJvdG9jb2xNYXA7CiAgICAgc2l6ZV90IGhvc3RTaXplID0gZGVs
aW1pdGVkSG9zdC5zaXplKCk7CkBAIC00OTQsNyArNTA3LDcgQEAgQ29va2llTWFwKiBDb29raWVN
YW5hZ2VyOjpmaW5kT3JDcmVhdGVDb29raWVNYXAoQ29va2llTWFwKiBwcm90b2NvbE1hcCwgY29u
c3QgU3QKICAgICAgICAgQ29va2llTWFwKiBuZXh0TWFwID0gY3VyTWFwLT5nZXRTdWJkb21haW5N
YXAoZGVsaW1pdGVkSG9zdFtpXSk7CiAgICAgICAgIGlmICghbmV4dE1hcCkgewogICAgICAgICAg
ICAgQ29va2llTG9nKCJDb29raWVNYW5hZ2VyIC0gY2Fubm90IGZpbmQgbWFwXG4iKTsKLSAgICAg
ICAgICAgIGlmIChmaW5kT25seSkKKyAgICAgICAgICAgIGlmIChjYW5kaWRhdGVDb29raWUuaGFz
RXhwaXJlZCgpKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgQ29va2ll
TG9nKCJDb29raWVNYW5hZ2VyIC0gY3JlYXRpbmcgJXMgaW4gY3VycmVudG1hcCAlc1xuIiwgZGVs
aW1pdGVkSG9zdFtpXS51dGY4KCkuZGF0YSgpLCBjdXJNYXAtPmdldE5hbWUoKS51dGY4KCkuZGF0
YSgpKTsKICAgICAgICAgICAgIG5leHRNYXAgPSBuZXcgQ29va2llTWFwKGRlbGltaXRlZEhvc3Rb
aV0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29r
aWVNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1h
bmFnZXIuaAppbmRleCBlYWI0NDc4YjJlOTNkZGRiMjVjMzdiYTU3Y2E4OTViNzQxOGNiZTJjLi43
MTQ4ZDE3MGU3Yzg2Zjg5ODYzYmQwNmNiNmUwOGY0NDUyZDkyNGM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZU1hbmFnZXIuaApAQCAtMTE0LDcg
KzExNCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGFkZENvb2tpZVRvTWFwKENvb2tpZU1hcCog
dGFyZ2V0TWFwLCBQYXJzZWRDb29raWUqIGNhbmRpZGF0ZUNvb2tpZSwgQmFja2luZ1N0b3JlUmVt
b3ZhbFBvbGljeSBwb3N0VG9CYWNraW5nU3RvcmUsIENvb2tpZUZpbHRlciA9IFdpdGhIdHRwT25s
eUNvb2tpZXMpOwogCi0gICAgQ29va2llTWFwKiBmaW5kT3JDcmVhdGVDb29raWVNYXAoQ29va2ll
TWFwKiBwcm90b2NvbE1hcCwgY29uc3QgU3RyaW5nJiBkb21haW4sIGJvb2wgZmluZE9ubHkpOwor
ICAgIENvb2tpZU1hcCogZmluZE9yQ3JlYXRlQ29va2llTWFwKENvb2tpZU1hcCogcHJvdG9jb2xN
YXAsIGNvbnN0IFBhcnNlZENvb2tpZSYgY2FuZGlkYXRlQ29va2llKTsKIAogICAgIHZvaWQgaW5p
dGlhdGVDb29raWVMaW1pdENsZWFuVXAoKTsKICAgICB2b2lkIGNvb2tpZUxpbWl0Q2xlYW5VcChU
aW1lcjxDb29raWVNYW5hZ2VyPiopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYmxhY2tiZXJyeS9Db29raWVQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YmxhY2tiZXJyeS9Db29raWVQYXJzZXIuY3BwCmluZGV4IDI1NjRjNTY4ZWFkNjc4YjdhMjM0MGNi
MjA1YjlkYzczZmJmZjQ0YWMuLmZmNmI4NzFiODMxMGMxMDNlYzU0NzRjYjEwZjkzNDkyNzkyNjMx
NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvQ29va2ll
UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tp
ZVBhcnNlci5jcHAKQEAgLTU1LDYgKzU1LDE0IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0xpZ2h0
d2VpZ2h0U3BhY2UoVUNoYXIgYykKIENvb2tpZVBhcnNlcjo6Q29va2llUGFyc2VyKGNvbnN0IEtV
UkwmIGRlZmF1bHRDb29raWVVUkwpCiAgICAgOiBtX2RlZmF1bHRDb29raWVVUkwoZGVmYXVsdENv
b2tpZVVSTCkKIHsKKyAgICBtX2RlZmF1bHRDb29raWVIb3N0ID0gZGVmYXVsdENvb2tpZVVSTC5o
b3N0KCk7CisgICAgbV9kZWZhdWx0RG9tYWluSXNJUEFkZHJlc3MgPSBmYWxzZTsKKyAgICBzdHJp
bmcgaG9zdERvbWFpbkNhbm9uaWNhbCA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpnZXRDYW5vbmlj
YWxJUEZvcm1hdChtX2RlZmF1bHRDb29raWVIb3N0LnV0ZjgoKS5kYXRhKCkpLmNfc3RyKCk7Cisg
ICAgaWYgKCFob3N0RG9tYWluQ2Fub25pY2FsLmVtcHR5KCkpIHsKKyAgICAgICAgbV9kZWZhdWx0
Q29va2llSG9zdCA9IFN0cmluZyhob3N0RG9tYWluQ2Fub25pY2FsLmNfc3RyKCkpOworICAgICAg
ICBtX2RlZmF1bHREb21haW5Jc0lQQWRkcmVzcyA9IHRydWU7CisgICAgfSBlbHNlCisgICAgICAg
IG1fZGVmYXVsdENvb2tpZUhvc3QgPSBtX2RlZmF1bHRDb29raWVIb3N0LnN0YXJ0c1dpdGgoIi4i
KSA/IG1fZGVmYXVsdENvb2tpZUhvc3QgOiAiLiIgKyBtX2RlZmF1bHRDb29raWVIb3N0OwogfQog
CiBDb29raWVQYXJzZXI6On5Db29raWVQYXJzZXIoKQpAQCAtMjYwLDI0ICsyNjgsMzggQEAgUGFy
c2VkQ29va2llKiBDb29raWVQYXJzZXI6OnBhcnNlT25lQ29va2llKGNvbnN0IFN0cmluZyYgY29v
a2llLCB1bnNpZ25lZCBzdGFydCwKICAgICAgICAgICAgICAgICAvLyBGb3IgZXhhbXBsZTogYWIu
Yy5jb20gZG9zZSBub3QgZG9tYWluIG1hdGNoIGIuYy5jb207CiAgICAgICAgICAgICAgICAgU3Ry
aW5nIHJlYWxEb21haW4gPSBwYXJzZWRWYWx1ZVswXSA9PSAnLicgPyBwYXJzZWRWYWx1ZSA6ICIu
IiArIHBhcnNlZFZhbHVlOwogCi0gICAgICAgICAgICAgICAgLy8gVGhlIHJlcXVlc3QgaG9zdCBz
aG91bGQgZG9tYWluIG1hdGNoIHRoZSBEb21haW4gYXR0cmlidXRlLgotICAgICAgICAgICAgICAg
IC8vIERvbWFpbiBzdHJpbmcgc3RhcnRzIHdpdGggYSBkb3QsIHNvIGEuYi5jb20gc2hvdWxkIGRv
bWFpbiBtYXRjaCAuYS5iLmNvbS4KLSAgICAgICAgICAgICAgICAvLyBhZGQgYSAiLiIgYXQgYmVn
aW5uaW5nIG9mIGhvc3QgbmFtZSwgYmVjYXVzZSBpdCBjYW4gaGFuZGxlIG1hbnkgY2FzZXMgc3Vj
aCBhcwotICAgICAgICAgICAgICAgIC8vIGEuYi5jb20gbWF0Y2hlcyBiLmNvbSwgYS5iLmNvbSBt
YXRjaGVzIC5CLmNvbSBhbmQgYS5iLmNvbSBtYXRjaGVzIC5BLmIuQ29tCi0gICAgICAgICAgICAg
ICAgLy8gYW5kIHNvIG9uLgotICAgICAgICAgICAgICAgIFN0cmluZyBob3N0RG9tYWluTmFtZSA9
IG1fZGVmYXVsdENvb2tpZVVSTC5ob3N0KCk7Ci0gICAgICAgICAgICAgICAgaG9zdERvbWFpbk5h
bWUgPSBob3N0RG9tYWluTmFtZS5zdGFydHNXaXRoKCcuJykgPyBob3N0RG9tYWluTmFtZSA6ICIu
IiArIGhvc3REb21haW5OYW1lOwotICAgICAgICAgICAgICAgIGlmICghaG9zdERvbWFpbk5hbWUu
ZW5kc1dpdGgocmVhbERvbWFpbiwgZmFsc2UpKQotICAgICAgICAgICAgICAgICAgICBMT0dfQU5E
X0RFTEVURSgiSW52YWxpZCBjb29raWUgJXMgKGRvbWFpbik6IGl0IGRvZXMgbm90IGRvbWFpbiBt
YXRjaCB0aGUgaG9zdCIpOwotICAgICAgICAgICAgICAgIC8vIFdlIHNob3VsZCBjaGVjayBmb3Ig
YW4gZW1iZWRkZWQgZG90IGluIHRoZSBwb3J0aW9uIG9mIHN0cmluZyBpbiB0aGUgaG9zdCBub3Qg
aW4gdGhlIGRvbWFpbgotICAgICAgICAgICAgICAgIC8vIGJ1dCB0byBtYXRjaCBmaXJlZm94IGJl
aGF2aW91ciB3ZSBkbyBub3QuCi0KLSAgICAgICAgICAgICAgICAvLyBDaGVjayB3aGV0aGVyIHRo
ZSBkb21haW4gaXMgYSB0b3AgbGV2ZWwgZG9tYWluLCBpZiBpdCBpcyB0aHJvdyBpdCBvdXQKLSAg
ICAgICAgICAgICAgICAvLyBodHRwOi8vcHVibGljc3VmZml4Lm9yZy9saXN0LwotICAgICAgICAg
ICAgICAgIGlmIChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6aXNUb3BMZXZlbERvbWFpbihyZWFsRG9t
YWluLnV0ZjgoKS5kYXRhKCkpKQotICAgICAgICAgICAgICAgICAgICBMT0dfQU5EX0RFTEVURSgi
SW52YWxpZCBjb29raWUgJXMgKGRvbWFpbik6IGl0IGRpZCBub3QgcGFzcyB0aGUgdG9wIGxldmVs
IGRvbWFpbiBjaGVjayIsIGNvb2tpZS5hc2NpaSgpLmRhdGEoKSk7Ci0KLSAgICAgICAgICAgICAg
ICByZXMtPnNldERvbWFpbihyZWFsRG9tYWluKTsKKyAgICAgICAgICAgICAgICAvLyBUcnkgdG8g
cmV0dXJuIGFuIGNhbm9uaWNhbCBpcCBhZGRyZXNzIGlmIHRoZSBkb21haW4gaXMgYW4gaXAKKwor
ICAgICAgICAgICAgICAgIGJvb2wgaXNJUEFkZHJlc3MgPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICAvLyBXZSBvbmx5IGNoZWNrIGlmIHRoZSBjdXJyZW50IGRvbWFpbiBpcyBhbiBJUCBhZGRyZXNz
IHdoZW4gdGhlIGRlZmF1bHQgZG9tYWluIGlzIGFuIElQIGFkZHJlc3MKKyAgICAgICAgICAgICAg
ICAvLyBXZSBrbm93IGlmIHRoZSBkZWZhdWx0IGRvbWFpbiBpcyBub3QgYW4gSVAgYWRkcmVzcyBh
bmQgdGhlIGN1cnJlbnQgZG9tYWluIGlzLCBpdCB3b24ndCBzdWZmaXggbWF0Y2gKKyAgICAgICAg
ICAgICAgICAvLyBJZiBpdCBpcyBhbiBJUCBBZGRyZXNzLCB3ZSBzaG91bGQgdHJlYXQgaXQgb25s
eSBpZiBpdCBtYXRjaGVzIHRoZSBob3N0IGV4YWN0bHkKKyAgICAgICAgICAgICAgICAvLyBXZSBk
ZXRlcm1pbmUgdGhlIGNhbm9uaWNhbCBJUCBmb3JtYXQgYmVmb3JlIGNvbXBhcmluZyBiZWNhdXNl
IElQdjYgY291bGQgYmUgcmVwcmVzZW50ZWQgaW4gbXVsdGlwbGUgZm9ybWF0cworICAgICAgICAg
ICAgICAgIGlmIChtX2RlZmF1bHREb21haW5Jc0lQQWRkcmVzcykgeworICAgICAgICAgICAgICAg
ICAgICBTdHJpbmcgcmVhbERvbWFpbkNhbm9uaWNhbCA9IFN0cmluZyhCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6Z2V0Q2Fub25pY2FsSVBGb3JtYXQocmVhbERvbWFpbi51dGY4KCkuZGF0YSgpKS5jX3N0
cigpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlYWxEb21haW5DYW5vbmljYWwuaXNFbXB0
eSgpIHx8IHJlYWxEb21haW5DYW5vbmljYWwgIT0gbV9kZWZhdWx0Q29va2llSG9zdCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIExPR19BTkRfREVMRVRFKCJJbnZhbGlkIGNvb2tpZSAlcyAoZG9t
YWluKTogZG9tYWluIGlzIElQIGJ1dCBkb2VzIG5vdCBtYXRjaCBob3N0J3MgSVAiLCBjb29raWUu
YXNjaWkoKS5kYXRhKCkpOworICAgICAgICAgICAgICAgICAgICByZWFsRG9tYWluID0gcmVhbERv
bWFpbkNhbm9uaWNhbDsKKyAgICAgICAgICAgICAgICAgICAgaXNJUEFkZHJlc3MgPSB0cnVlOwor
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFRoZSByZXF1
ZXN0IGhvc3Qgc2hvdWxkIGRvbWFpbiBtYXRjaCB0aGUgRG9tYWluIGF0dHJpYnV0ZS4KKyAgICAg
ICAgICAgICAgICAgICAgLy8gRG9tYWluIHN0cmluZyBzdGFydHMgd2l0aCBhIGRvdCwgc28gYS5i
LmNvbSBzaG91bGQgZG9tYWluIG1hdGNoIC5hLmIuY29tLgorICAgICAgICAgICAgICAgICAgICAv
LyBhZGQgYSAiLiIgYXQgYmVnaW5uaW5nIG9mIGhvc3QgbmFtZSwgYmVjYXVzZSBpdCBjYW4gaGFu
ZGxlIG1hbnkgY2FzZXMgc3VjaCBhcworICAgICAgICAgICAgICAgICAgICAvLyBhLmIuY29tIG1h
dGNoZXMgYi5jb20sIGEuYi5jb20gbWF0Y2hlcyAuQi5jb20gYW5kIGEuYi5jb20gbWF0Y2hlcyAu
QS5iLkNvbQorICAgICAgICAgICAgICAgICAgICAvLyBhbmQgc28gb24uCisgICAgICAgICAgICAg
ICAgICAgIC8vIFdlIGFsc28gaGF2ZSB0byBtYWtlIGEgc3BlY2lhbCBjYXNlIGZvciBJUCBhZGRy
ZXNzZXMuIElmIGEgd2Vic2l0ZSB0cmllcyB0byBzZXQKKyAgICAgICAgICAgICAgICAgICAgLy8g
YSBjb29raWUgdG8gNjEuOTcsIHRoYXQgZG9tYWluIGlzIG5vdCBhbiBJUCBhZGRyZXNzIGFuZCB3
aWxsIGVuZCB3aXRoIHRoZSBtX2RlZmF1bHRDb29raWVIb3N0CisgICAgICAgICAgICAgICAgICAg
IGlmICghbV9kZWZhdWx0Q29va2llSG9zdC5lbmRzV2l0aChyZWFsRG9tYWluLCBmYWxzZSkpCisg
ICAgICAgICAgICAgICAgICAgICAgICBMT0dfQU5EX0RFTEVURSgiSW52YWxpZCBjb29raWUgJXMg
KGRvbWFpbik6IGl0IGRvZXMgbm90IGRvbWFpbiBtYXRjaCB0aGUgaG9zdCIsIGNvb2tpZS5hc2Np
aSgpLmRhdGEoKSk7CisgICAgICAgICAgICAgICAgICAgIC8vIFdlIHNob3VsZCBjaGVjayBmb3Ig
YW4gZW1iZWRkZWQgZG90IGluIHRoZSBwb3J0aW9uIG9mIHN0cmluZyBpbiB0aGUgaG9zdCBub3Qg
aW4gdGhlIGRvbWFpbgorICAgICAgICAgICAgICAgICAgICAvLyBidXQgdG8gbWF0Y2ggZmlyZWZv
eCBiZWhhdmlvdXIgd2UgZG8gbm90LgorCisgICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIHdo
ZXRoZXIgdGhlIGRvbWFpbiBpcyBhIHRvcCBsZXZlbCBkb21haW4sIGlmIGl0IGlzIHRocm93IGl0
IG91dAorICAgICAgICAgICAgICAgICAgICAvLyBodHRwOi8vcHVibGljc3VmZml4Lm9yZy9saXN0
LworICAgICAgICAgICAgICAgICAgICBpZiAoQmxhY2tCZXJyeTo6UGxhdGZvcm06OmlzVG9wTGV2
ZWxEb21haW4ocmVhbERvbWFpbi51dGY4KCkuZGF0YSgpKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIExPR19BTkRfREVMRVRFKCJJbnZhbGlkIGNvb2tpZSAlcyAoZG9tYWluKTogaXQgZGlkIG5v
dCBwYXNzIHRoZSB0b3AgbGV2ZWwgZG9tYWluIGNoZWNrIiwgY29va2llLmFzY2lpKCkuZGF0YSgp
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmVzLT5zZXREb21haW4ocmVh
bERvbWFpbiwgaXNJUEFkZHJlc3MpOwogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAg
ICAgTE9HX0FORF9ERUxFVEUoIkludmFsaWQgY29va2llICVzIChkb21haW4pIiwgY29va2llLmFz
Y2lpKCkuZGF0YSgpKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzYzLDcgKzM4NSw3IEBAIFBh
cnNlZENvb2tpZSogQ29va2llUGFyc2VyOjpwYXJzZU9uZUNvb2tpZShjb25zdCBTdHJpbmcmIGNv
b2tpZSwgdW5zaWduZWQgc3RhcnQsCiAKICAgICAvLyBJZiBubyBkb21haW4gd2FzIHByb3ZpZGVk
LCBzZXQgaXQgdG8gdGhlIGhvc3QKICAgICBpZiAoIXJlcy0+ZG9tYWluKCkpCi0gICAgICAgIHJl
cy0+c2V0RG9tYWluKG1fZGVmYXVsdENvb2tpZVVSTC5ob3N0KCkpOworICAgICAgICByZXMtPnNl
dERvbWFpbihtX2RlZmF1bHRDb29raWVIb3N0LCBtX2RlZmF1bHREb21haW5Jc0lQQWRkcmVzcyk7
CiAKICAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIENvb2tpZSBTcGVjaWZpY2FpdG9uIChSRkM2MjY1
LCBzZWN0aW9uIDQuMS4yLjQgYW5kIDUuMi40LCBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9y
ZmM2MjY1KSwKICAgICAvLyBJZiBubyBwYXRoIHdhcyBwcm92aWRlZCBvciB0aGUgZmlyc3QgY2hh
cmFjdGVyIG9mIHRoZSBwYXRoIHZhbHVlIGlzIG5vdCAnLycsIHNldCBpdCB0byB0aGUgaG9zdCdz
IHBhdGgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvQ29v
a2llUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Nvb2tpZVBh
cnNlci5oCmluZGV4IDY2NDU1NDIwZGY0NzNiZWViMDI2NDk1MTU2M2U1NWZjMjRlNGZmNzkuLjAw
ZmFmY2ZlZjc1NmU2M2MxMjY2Zjc5ODZkZGU0MzY3MzRmNWI2OWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvQ29va2llUGFyc2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Db29raWVQYXJzZXIuaApAQCAtNTAsNiArNTAs
OCBAQCBwcml2YXRlOgogICAgIFBhcnNlZENvb2tpZSogcGFyc2VPbmVDb29raWUoY29uc3QgU3Ry
aW5nJiBjb29raWUsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGRvdWJsZSBjdXJUaW1l
KTsKIAogICAgIEtVUkwgbV9kZWZhdWx0Q29va2llVVJMOworICAgIFN0cmluZyBtX2RlZmF1bHRD
b29raWVIb3N0OworICAgIGJvb2wgbV9kZWZhdWx0RG9tYWluSXNJUEFkZHJlc3M7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ibGFja2JlcnJ5L1BhcnNlZENvb2tpZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9i
bGFja2JlcnJ5L1BhcnNlZENvb2tpZS5jcHAKaW5kZXggNWUzMTBlOTBhMjM1NmZhNWM3NDA3OGZi
ZjllMDk0YWM1YmFkMzQ3Yy4uYzQ0OWZjNjgxNDA1MzY2NDNkNTJkZGQ1YmQ1NTM2ZTBiMTg5YWMy
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QYXJzZWRD
b29raWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFyc2Vk
Q29va2llLmNwcApAQCAtNDUsNiArNDUsNyBAQCBQYXJzZWRDb29raWU6OlBhcnNlZENvb2tpZShk
b3VibGUgY3VycmVudFRpbWUpCiAgICAgLCBtX2lzSHR0cE9ubHkoZmFsc2UpCiAgICAgLCBtX2lz
U2Vzc2lvbih0cnVlKQogICAgICwgbV9pc0ZvcmNlRXhwaXJlZChmYWxzZSkKKyAgICAsIG1fZG9t
YWluSXNJUEFkZHJlc3MoZmFsc2UpCiB7CiB9CiAKQEAgLTYxLDYgKzYyLDcgQEAgUGFyc2VkQ29v
a2llOjpQYXJzZWRDb29raWUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVl
LCBjb25zdCBTdHJpbmcKICAgICAsIG1faXNIdHRwT25seShpc0h0dHBPbmx5KQogICAgICwgbV9p
c1Nlc3Npb24oZmFsc2UpCiAgICAgLCBtX2lzRm9yY2VFeHBpcmVkKGZhbHNlKQorICAgICwgbV9k
b21haW5Jc0lQQWRkcmVzcyhmYWxzZSkKIHsKIH0KIApAQCAtNzcsNiArNzksNyBAQCBQYXJzZWRD
b29raWU6OlBhcnNlZENvb2tpZShjb25zdCBQYXJzZWRDb29raWUqIGNvb2tpZSkKICAgICAsIG1f
aXNIdHRwT25seShjb29raWUtPm1faXNIdHRwT25seSkKICAgICAsIG1faXNTZXNzaW9uKGNvb2tp
ZS0+bV9pc1Nlc3Npb24pCiAgICAgLCBtX2lzRm9yY2VFeHBpcmVkKGNvb2tpZS0+bV9pc0ZvcmNl
RXhwaXJlZCkKKyAgICAsIG1fZG9tYWluSXNJUEFkZHJlc3MoY29va2llLT5tX2RvbWFpbklzSVBB
ZGRyZXNzKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFj
a2JlcnJ5L1BhcnNlZENvb2tpZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJy
eS9QYXJzZWRDb29raWUuaAppbmRleCBkYjI5ZTdhZmFiZGZlNzMzNjM0NTNlYzQxZjI3MmQ3MTll
MTZhYjc2Li45ZGI3NTQ5MzRhY2NhMWU0Zjk3ZTc4NTdkNTAwZTlmNzdmNWRhNDk2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BhcnNlZENvb2tpZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFyc2VkQ29va2llLmgKQEAg
LTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UGF0aChjb25zdCBTdHJpbmcmIHBh
dGgpIHsgbV9wYXRoID0gcGF0aDsgfQogCiAgICAgY29uc3QgU3RyaW5nJiBkb21haW4oKSBjb25z
dCB7IHJldHVybiBtX2RvbWFpbjsgfQotICAgIHZvaWQgc2V0RG9tYWluKGNvbnN0IFN0cmluZyYg
ZG9tYWluKSB7IG1fZG9tYWluID0gZG9tYWluLmxvd2VyKCk7IH0KKyAgICB2b2lkIHNldERvbWFp
bihjb25zdCBTdHJpbmcmIGRvbWFpbiwgYm9vbCBkb21haW5Jc0lQQWRkcmVzcyA9IGZhbHNlKSB7
IG1fZG9tYWluID0gZG9tYWluLmxvd2VyKCk7IG1fZG9tYWluSXNJUEFkZHJlc3MgPSBkb21haW5J
c0lQQWRkcmVzczsgfQogCiAgICAgY29uc3QgU3RyaW5nJiBwcm90b2NvbCgpIGNvbnN0IHsgcmV0
dXJuIG1fcHJvdG9jb2w7IH0KICAgICB2b2lkIHNldFByb3RvY29sKGNvbnN0IFN0cmluZyYgcHJv
dG9jb2wpIHsgbV9wcm90b2NvbCA9IHByb3RvY29sOyB9CkBAIC05MCw2ICs5MCw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGhhc0V4cGlyZWQoKSBjb25zdDsKICAgICBib29sIGlzRm9yY2VFeHBpcmVk
KCkgY29uc3QgeyByZXR1cm4gbV9pc0ZvcmNlRXhwaXJlZDsgfQogICAgIGJvb2wgaXNVbmRlclNp
emVMaW1pdCgpIGNvbnN0OworICAgIGJvb2wgZG9tYWluSXNJUEFkZHJlc3MoKSBjb25zdCB7IHJl
dHVybiBtX2RvbWFpbklzSVBBZGRyZXNzOyB9CiAKICAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25z
dDsKICAgICBTdHJpbmcgdG9OYW1lVmFsdWVQYWlyKCkgY29uc3Q7CkBAIC0xMTAsNiArMTExLDcg
QEAgcHJpdmF0ZToKICAgICBib29sIG1faXNIdHRwT25seTsKICAgICBib29sIG1faXNTZXNzaW9u
OwogICAgIGJvb2wgbV9pc0ZvcmNlRXhwaXJlZDsKKyAgICBib29sIG1fZG9tYWluSXNJUEFkZHJl
c3M7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>