<?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>65909</bug_id>
          
          <creation_ts>2011-08-09 04:58:01 -0700</creation_ts>
          <short_desc>JavaString is not needed by V8</short_desc>
          <delta_ts>2011-08-09 11:37:05 -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>WebCore Misc.</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>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Steve Block">steveblock</assigned_to>
          <cc>steveblock</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>448517</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-08-09 04:58:01 -0700</bug_when>
    <thetext>After http://trac.webkit.org/changeset/92659, JavaString is not used by V8. We can therefore remove the JavaScript engine-independent wrapper class and move the implementation to WebCore/bridge/jni/jsc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448579</commentid>
    <comment_count>1</comment_count>
      <attachid>103360</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-08-09 07:24:54 -0700</bug_when>
    <thetext>Created attachment 103360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448704</commentid>
    <comment_count>2</comment_count>
      <attachid>103360</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-09 11:37:02 -0700</bug_when>
    <thetext>Comment on attachment 103360
Patch

Clearing flags on attachment: 103360

Committed r92693: &lt;http://trac.webkit.org/changeset/92693&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448705</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-09 11:37:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103360</attachid>
            <date>2011-08-09 07:24:54 -0700</date>
            <delta_ts>2011-08-09 11:37:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65909-20110809152452.patch</filename>
            <type>text/plain</type>
            <size>15918</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI2ODEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNDg2YTgyMzQwYWVhOTg5
ODZhODQ0NjhmNTA5NDdmYjc3MmVlM2ZhLi45N2ZlZTAxODhiZmIzNDZjYmM5NmY0ZWIzMzk3ZTlh
OTNkMzYxN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzEgQEAKIDIwMTEtMDgtMDkgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgogCisgICAgICAgIEphdmFTdHJpbmcgaXMg
bm90IG5lZWRlZCBieSBWOAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjU5MDkKKworICAgICAgICBSZW1vdmVzIHRoZSBKYXZhU3RyaW5nIHdyYXBwZXIg
Y2xhc3MsIG1vdmVzIHRoZSBKU0MgaW1wbGVtZW50YXRpb24KKyAgICAgICAgdG8gSmF2YVN0cmlu
Z0pTQy5oIGFuZCByZW1vdmVzIHRoZSBWOCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9y
aW5nIG9ubHkuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYnJpZGdlL2puaS9KYXZhU3RyaW5nLmg6IFJlbW92ZWQuCisgICAgICAgICog
YnJpZGdlL2puaS9qbmlfanNvYmplY3QubW06CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2
YUZpZWxkSlNDLmg6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNw
cDoKKyAgICAgICAgKiBicmlkZ2Uvam5pL2pzYy9KYXZhTWV0aG9kSlNDLmg6CisgICAgICAgICog
YnJpZGdlL2puaS9qc2MvSmF2YVN0cmluZ0pTQy5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6
SmF2YVN0cmluZzo6SmF2YVN0cmluZyk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpKYXZhU3Ry
aW5nOjp+SmF2YVN0cmluZyk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpKYXZhU3RyaW5nOjpp
bml0KToKKyAgICAgICAgKiBicmlkZ2Uvam5pL3Y4L0phdmFTdHJpbmdWOC5oOiBSZW1vdmVkLgor
CisyMDExLTA4LTA5ICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKwogICAg
ICAgICBKYXZhTWV0aG9kSm9iamVjdCBpcyBubyBsb25nZXIgbmVlZGVkIGJ5IFY4CiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkxMAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBmM2NiYzNlZjdmNzY1MDgyYTc1MzZkMjdlOTNlNDA4
ZjM1YmY5ZWRmLi5kYTU3ZWQ3MWQ1MGZiOWIxODUxNTA2MzdkM2M4ZjEwMzJiN2Q3MzVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTg4NCw3ICs4ODQsNiBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaCBcCiAJU291cmNlL1dlYkNvcmUv
YnJpZGdlL2puaS9KTklVdGlsaXR5LmggXAotCVNvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSmF2
YVN0cmluZy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0phdmFUeXBlLmggXAogCVNv
dXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvam5pX2pzb2JqZWN0LmggXAogCVNvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9qbmkvanNjL0phdmFBcnJheUpTQy5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA2ZTRj
ZmI4NDE0M2M5NGI0NjBmYWU1MDFmYjk4ZmZhMTFkMjA5MDZkLi5kMjMyMWU1ZjUxZjI3M2RhNGMz
OWQwYTEzYTFiZmY4ODdjNDg2MGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMjMyLDcgKzIyMzIs
NiBAQAogICAgICAgICAgICAgJ2JyaWRnZS9jL2NfdXRpbGl0eS5jcHAnLAogICAgICAgICAgICAg
J2JyaWRnZS9jL2NfdXRpbGl0eS5oJywKICAgICAgICAgICAgICdicmlkZ2Uvam5pL0pOSVV0aWxp
dHkuY3BwJywKLSAgICAgICAgICAgICdicmlkZ2Uvam5pL0phdmFTdHJpbmcuaCcsCiAgICAgICAg
ICAgICAnYnJpZGdlL2puaS9KYXZhVHlwZS5oJywKICAgICAgICAgICAgICdicmlkZ2Uvam5pL0pv
YmplY3RXcmFwcGVyLmNwcCcsCiAgICAgICAgICAgICAnYnJpZGdlL2puaS9Kb2JqZWN0V3JhcHBl
ci5oJywKQEAgLTIyNjEsNyArMjI2MCw2IEBACiAgICAgICAgICAgICAnYnJpZGdlL2puaS92OC9K
YXZhTWV0aG9kVjguaCcsCiAgICAgICAgICAgICAnYnJpZGdlL2puaS92OC9KYXZhTlBPYmplY3RW
OC5jcHAnLAogICAgICAgICAgICAgJ2JyaWRnZS9qbmkvdjgvSmF2YU5QT2JqZWN0VjguaCcsCi0g
ICAgICAgICAgICAnYnJpZGdlL2puaS92OC9KYXZhU3RyaW5nVjguaCcsCiAgICAgICAgICAgICAn
YnJpZGdlL2puaS92OC9KYXZhVmFsdWVWOC5oJywKICAgICAgICAgICAgICdicmlkZ2UvanNjL0Jy
aWRnZUpTQy5jcHAnLAogICAgICAgICAgICAgJ2JyaWRnZS9ucHJ1bnRpbWUuY3BwJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3
YmU3NjliOWM5NGExOWZhZWRiNTMxZDlhOWY1M2JiMTJjM2E1N2ZmLi5hZWE3YjIxMTljYmZkN2E2
NDlmNDZiOGQ1YjhhMWY4OTI3NTFiMDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTAzLDcgKzE1MDMsNiBAQAogCQk1OTEz
QTI0MjEzRDQ5RUJBMDBGNUIwNUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTEzQTI0MDEzRDQ5RUJBMDBGNUIw
NUMgLyogSWRlbnRpZmllcnNGYWN0b3J5LmggKi87IH07CiAJCTU5MzA5QTExMTFGNEFFNTgwMDI1
MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkzMDlBMTAxMUY0QUU1ODAwMjUwNjAzIC8q
IERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAgKi87IH07CiAJCTU5MzA5QTEzMTFGNEFF
NkEwMDI1MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MzA5QTEyMTFGNEFFNkEwMDI1MDYw
MyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1OTNEM0VCMTEzMjUzMjk1MDA1N0U3RUUgLyog
SmF2YVN0cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTkzRDNFQjAxMzI1MzI5NTAwNTdFN0VFIC8qIEphdmFTdHJpbmcuaCAqLzsgfTsKIAkJNTk2
OTUwODIxMzIxMDU5OTAwQzNFRDE4IC8qIEpvYmplY3RXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTY5NTA4MTEzMjEwNTk5MDBDM0VEMTgg
LyogSm9iamVjdFdyYXBwZXIuaCAqLzsgfTsKIAkJNTk2OTUwODQxMzIxMDVBNTAwQzNFRDE4IC8q
IEpvYmplY3RXcmFwcGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU5Njk1MDgzMTMyMTA1QTUwMEMzRUQxOCAvKiBKb2JqZWN0V3JhcHBlci5jcHAg
Ki87IH07CiAJCTU5ODM2NUREMTM1NUY1NTcwMDFCMTg1RCAvKiBKU1Bvc2l0aW9uQ2FsbGJhY2su
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5ODM2NURD
MTM1NUY1M0MwMDFCMTg1RCAvKiBKU1Bvc2l0aW9uQ2FsbGJhY2suaCAqLzsgfTsKQEAgLTgxMjAs
NyArODExOSw2IEBACiAJCTU5MzA5QTEyMTFGNEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VPcmllbnRh
dGlvbkNsaWVudE1vY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrLmg7IHBhdGggPSBtb2NrL0RldmljZU9yaWVudGF0aW9uQ2xp
ZW50TW9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTNBQjY5NzEzNTVDRDky
MDBGQzgyMTEgLyogUG9zaXRpb25DYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UG9zaXRpb25DYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5M0FC
Njk5MTM1NUNEQUUwMEZDODIxMSAvKiBQb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFBvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTU5M0QzRUIwMTMyNTMyOTUwMDU3RTdFRSAvKiBKYXZhU3RyaW5nLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEphdmFTdHJpbmcuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTk1OEYxQ0IxMzQzOTE3QzAwODBCMzFGIC8qIFhNTFZpZXdl
ci5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IFhNTFZpZXdlci5jc3M7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5NThGMUNDMTM0MzkxN0MwMDgwQjMxRiAvKiBYTUxWaWV3
ZXIuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBYTUxWaWV3ZXIu
anM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5Njk1MDgxMTMyMTA1OTkwMEMzRUQx
OCAvKiBKb2JqZWN0V3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
b2JqZWN0V3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMyNDcsNyAr
MTMyNDUsNiBAQAogCQkxQTU2OUNDRTBEN0UyQjgyMDA3QzM5ODMgLyogam5pICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1OTNEM0VCMDEzMjUzMjk1MDA1
N0U3RUUgLyogSmF2YVN0cmluZy5oICovLAogCQkJCTU5QjBFRUE2MTMyQTZGMkEwMDQzMzFDNyAv
KiBKYXZhVHlwZS5oICovLAogCQkJCTFBNTY5Q0Q0MEQ3RTJCODIwMDdDMzk4MyAvKiBqbmlfanNv
YmplY3QuaCAqLywKIAkJCQkxQTU2OUNEMzBEN0UyQjgyMDA3QzM5ODMgLyogam5pX2pzb2JqZWN0
Lm1tICovLApAQCAtMjE3NTUsNyArMjE3NTIsNiBAQAogCQkJCUUxNjk4MjY4MTEzNDY4MDcwMDg5
NDExNSAvKiBKYXZhUnVudGltZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMzYx
MkIwMjY3NjAwQzFBMzU5IC8qIEphdmFTY3JpcHRBdWRpb05vZGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFDODFCQTBBMEU5NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmggaW4g
SGVhZGVycyAqLywKLQkJCQk1OTNEM0VCMTEzMjUzMjk1MDA1N0U3RUUgLyogSmF2YVN0cmluZy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTlCQzM5M0YxMTA1NEExMzAwRkQ4NURCIC8qIEphdmFTdHJp
bmdKU0MuaCBpbiBIZWFkZXJzICovLAogCQkJCTU5QjBFRUE3MTMyQTZGMkEwMDQzMzFDNyAvKiBK
YXZhVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1NjlEMDQwRDdFMkI4MjAwN0MzOTgzIC8q
IGpuaV9qc29iamVjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2Uvam5pL0phdmFTdHJpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSmF2
YVN0cmluZy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYmYxMWM1MjU0ZmM0ZjQ5
MTRjMjBiNmRhMzJmZmQ2YzIyNDU4NjQ2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSmF2YVN0cmluZy5oCisr
KyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwMywg
MjAwNCwgMjAwNSwgMjAwNywgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiBDb3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgSmF2YVN0cmluZ19oCi0jZGVmaW5lIEphdmFTdHJpbmdfaAotCi0jaWYg
RU5BQkxFKEpBVkFfQlJJREdFKQotCi0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0K
LSNpZiBVU0UoSlNDKQotI2luY2x1ZGUgIkphdmFTdHJpbmdKU0MuaCIKLSNlbGlmIFVTRShWOCkK
LSNpbmNsdWRlICJKYXZhU3RyaW5nVjguaCIKLSNlbmRpZgotCi1uYW1lc3BhY2UgSlNDIHsKLQot
bmFtZXNwYWNlIEJpbmRpbmdzIHsKLQotY2xhc3MgSmF2YVN0cmluZyB7Ci1wdWJsaWM6Ci0gICAg
SmF2YVN0cmluZygpCi0gICAgewotICAgICAgICBtX2ltcGwuaW5pdCgpOwotICAgIH0KLQotICAg
IEphdmFTdHJpbmcoSk5JRW52KiBlLCBqc3RyaW5nIHMpCi0gICAgewotICAgICAgICBtX2ltcGwu
aW5pdChlLCBzKTsKLSAgICB9Ci0KLSAgICBKYXZhU3RyaW5nKGpzdHJpbmcgcykKLSAgICB7Ci0g
ICAgICAgIG1faW1wbC5pbml0KGdldEpOSUVudigpLCBzKTsKLSAgICB9Ci0KLSAgICBjb25zdCBj
aGFyKiB1dGY4KCkgY29uc3QgeyByZXR1cm4gbV9pbXBsLnV0ZjgoKTsgfQotICAgIGludCBsZW5n
dGgoKSBjb25zdCB7IHJldHVybiBtX2ltcGwubGVuZ3RoKCk7IH0KLSAgICBTdHJpbmdJbXBsKiBp
bXBsKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsLmltcGwoKTsgfQotCi1wcml2YXRlOgotICAgIEph
dmFTdHJpbmdJbXBsIG1faW1wbDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIEJpbmRpbmdzCi0KLX0g
Ly8gbmFtZXNwYWNlIEpTQwotCi0jZW5kaWYgLy8gRU5BQkxFKEpBVkFfQlJJREdFKQotCi0jZW5k
aWYgLy8gSmF2YVN0cmluZ19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5p
L2puaV9qc29iamVjdC5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvam5pX2pzb2JqZWN0
Lm1tCmluZGV4IDAzYjhmYzJiNWM0ZjdjNTMwNmYwOTg0MDcxZGUxYTQxZDBiYTcxOWQuLjgwZjkz
OTg4Mjc2OTcxM2IxMWFjMTk2Y2M5ZGNjYTk1NzVjMzM4NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9qbmkvam5pX2pzb2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9qbmkvam5pX2pzb2JqZWN0Lm1tCkBAIC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSAiSk5J
VXRpbGl0eVByaXZhdGUuaCIKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJK
YXZhUnVudGltZU9iamVjdC5oIgotI2luY2x1ZGUgIkphdmFTdHJpbmcuaCIKKyNpbmNsdWRlICJK
YXZhU3RyaW5nSlNDLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlNjcmlwdENv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJTdHJpbmdTb3VyY2VQcm92aWRlci5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUZpZWxkSlNDLmggYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhRmllbGRKU0MuaAppbmRleCBlYjVmOGJiOWU0NTA2
ZTVmYzdmODIzNWFmZGMxOTVkZDE5YzE3NjU5Li45YjBiNzU0YjM5NmRhMzUxNmE2M2RjOWJhY2Ey
MzM3NTRmYmFmZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9K
YXZhRmllbGRKU0MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhRmll
bGRKU0MuaApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgIkJyaWRnZUpTQy5oIgogI2luY2x1
ZGUgIkpOSVV0aWxpdHkuaCIKICNpbmNsdWRlICJKYXZhTWV0aG9kSlNDLmgiCi0jaW5jbHVkZSAi
SmF2YVN0cmluZy5oIgorI2luY2x1ZGUgIkphdmFTdHJpbmdKU0MuaCIKICNpbmNsdWRlICJKb2Jq
ZWN0V3JhcHBlci5oIgogCiBuYW1lc3BhY2UgSlNDIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0MuY3BwCmluZGV4IGQ2Mjk4OTRlMDZkZjI3ZmU2
MWQ1MzVkNTY1YWQ4MjI5NmJiMTdjMDIuLmI1ZWNkOTM2OGE4MzM1M2UzMzAxNjVlZDE4ZGNlMjM1
MzkxOWMyYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFJ
bnN0YW5jZUpTQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUlu
c3RhbmNlSlNDLmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkphdmFBcnJheUpTQy5o
IgogI2luY2x1ZGUgIkphdmFDbGFzc0pTQy5oIgogI2luY2x1ZGUgIkphdmFNZXRob2RKU0MuaCIK
LSNpbmNsdWRlICJKYXZhU3RyaW5nLmgiCisjaW5jbHVkZSAiSmF2YVN0cmluZ0pTQy5oIgogI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJqbmlfanNvYmplY3QuaCIKICNpbmNsdWRlICJy
dW50aW1lX21ldGhvZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9q
c2MvSmF2YU1ldGhvZEpTQy5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YU1l
dGhvZEpTQy5oCmluZGV4IDBjZDUwNjJjNGNiNDhjZTE2NTZlOGQxMjNjMTA4NjJiYmViYjQ1OTEu
LjY0YzI5M2YyYzJjYzAwNmNjZmExNGYwYmViMzVlNWY0Y2ViZDdhYjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFNZXRob2RKU0MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhTWV0aG9kSlNDLmgKQEAgLTMwLDcgKzMwLDcgQEAK
ICNpZiBFTkFCTEUoSkFWQV9CUklER0UpCiAKICNpbmNsdWRlICJCcmlkZ2UuaCIKLSNpbmNsdWRl
ICJKYXZhU3RyaW5nLmgiCisjaW5jbHVkZSAiSmF2YVN0cmluZ0pTQy5oIgogI2luY2x1ZGUgIkph
dmFUeXBlLmgiCiAKIG5hbWVzcGFjZSBKU0MgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2puaS9qc2MvSmF2YVN0cmluZ0pTQy5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pu
aS9qc2MvSmF2YVN0cmluZ0pTQy5oCmluZGV4IDdjMTlkNGViODE0YTE5YWE1YjFjODQ0ZWFiZTVk
NmE3ZjgxNzBmOTIuLjBmOGI3NzljMDljYzg3Nzg1ZDY3NmIxMmFlNTQ5NzUzNjA5OWQxNjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFTdHJpbmdKU0MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhU3RyaW5nSlNDLmgKQEAgLTEs
NSArMSw2IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIENvbXB1dGVyLCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1
LCAyMDA3LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAyMDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM3LDI5ICszOCwyOCBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAotY2xhc3MgSmF2YVN0cmluZ0ltcGwgeworY2xhc3Mg
SmF2YVN0cmluZyB7CiBwdWJsaWM6Ci0gICAgfkphdmFTdHJpbmdJbXBsKCkKKyAgICBKYXZhU3Ry
aW5nKEpOSUVudiogZSwganN0cmluZyBzKQogICAgIHsKLSAgICAgICAgSlNMb2NrIGxvY2soU2ls
ZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICAgICAgbV9pbXBsID0gMDsKKyAgICAgICAgaW5pdChl
LCBzKTsKICAgICB9CiAKLSAgICB2b2lkIGluaXQoKQorICAgIEphdmFTdHJpbmcoanN0cmluZyBz
KQorICAgIHsKKyAgICAgICAgaW5pdChnZXRKTklFbnYoKSwgcyk7CisgICAgfQorCisgICAgSmF2
YVN0cmluZygpCiAgICAgewogICAgICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09u
bHkpOwogICAgICAgICBtX2ltcGwgPSBVU3RyaW5nKCkuaW1wbCgpOwogICAgIH0KIAotICAgIHZv
aWQgaW5pdChKTklFbnYqIGUsIGpzdHJpbmcgcykKKyAgICB+SmF2YVN0cmluZygpCiAgICAgewot
ICAgICAgICBpbnQgc2l6ZSA9IGUtPkdldFN0cmluZ0xlbmd0aChzKTsKLSAgICAgICAgY29uc3Qg
amNoYXIqIHVjID0gZ2V0VUNoYXJhY3RlcnNGcm9tSlN0cmluZ0luRW52KGUsIHMpOwotICAgICAg
ICB7Ci0gICAgICAgICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAg
ICAgICAgICAgbV9pbXBsID0gVVN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4o
dWMpLCBzaXplKS5pbXBsKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmVsZWFzZVVDaGFyYWN0ZXJz
Rm9ySlN0cmluZ0luRW52KGUsIHMsIHVjKTsKKyAgICAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFz
c2VydGlvbnNPbmx5KTsKKyAgICAgICAgbV9pbXBsID0gMDsKICAgICB9CiAKICAgICBjb25zdCBj
aGFyKiB1dGY4KCkgY29uc3QKQEAgLTc0LDYgKzc0LDE3IEBAIHB1YmxpYzoKICAgICBTdHJpbmdJ
bXBsKiBpbXBsKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsLmdldCgpOyB9CiAKIHByaXZhdGU6Cisg
ICAgdm9pZCBpbml0KEpOSUVudiogZSwganN0cmluZyBzKQorICAgIHsKKyAgICAgICAgaW50IHNp
emUgPSBlLT5HZXRTdHJpbmdMZW5ndGgocyk7CisgICAgICAgIGNvbnN0IGpjaGFyKiB1YyA9IGdl
dFVDaGFyYWN0ZXJzRnJvbUpTdHJpbmdJbkVudihlLCBzKTsKKyAgICAgICAgeworICAgICAgICAg
ICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKKyAgICAgICAgICAgIG1faW1w
bCA9IFVTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KHVjKSwgc2l6ZSkuaW1w
bCgpOworICAgICAgICB9CisgICAgICAgIHJlbGVhc2VVQ2hhcmFjdGVyc0ZvckpTdHJpbmdJbkVu
dihlLCBzLCB1Yyk7CisgICAgfQorCiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IG1faW1wbDsKICAg
ICBtdXRhYmxlIENTdHJpbmcgbV91dGY4U3RyaW5nOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YVN0cmluZ1Y4LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvam5pL3Y4L0phdmFTdHJpbmdWOC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
NGRiMzMxZWRjY2JiMzdjZmEyNDk2NmFiN2RmNmQyN2M1MTVmNzhiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
djgvSmF2YVN0cmluZ1Y4LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIg
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aWZuZGVmIEphdmFTdHJpbmdWOF9oCi0jZGVmaW5lIEphdmFTdHJpbmdWOF9oCi0KLSNpbmNsdWRl
ICJKTklVdGlsaXR5LmgiCi0KLSNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0jaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLQotbmFtZXNwYWNlIEpTQyB7Ci0KLW5hbWVzcGFj
ZSBCaW5kaW5ncyB7Ci0KLWNsYXNzIEphdmFTdHJpbmdJbXBsIHsKLXB1YmxpYzoKLSAgICB2b2lk
IGluaXQoKSB7fQotCi0gICAgdm9pZCBpbml0KEpOSUVudiogZW52LCBqc3RyaW5nIHN0cmluZykK
LSAgICB7Ci0gICAgICAgIGludCBzaXplID0gZW52LT5HZXRTdHJpbmdMZW5ndGgoc3RyaW5nKTsK
LSAgICAgICAgY29uc3QgamNoYXIqIGpDaGFycyA9IGdldFVDaGFyYWN0ZXJzRnJvbUpTdHJpbmdJ
bkVudihlbnYsIHN0cmluZyk7Ci0gICAgICAgIG1faW1wbCA9IFN0cmluZ0ltcGw6OmNyZWF0ZShq
Q2hhcnMsIHNpemUpOwotICAgICAgICByZWxlYXNlVUNoYXJhY3RlcnNGb3JKU3RyaW5nSW5FbnYo
ZW52LCBzdHJpbmcsIGpDaGFycyk7Ci0gICAgfQotCi0gICAgY29uc3QgY2hhciogdXRmOCgpIGNv
bnN0Ci0gICAgewotICAgICAgICBpZiAoIW1fdXRmOFN0cmluZy5kYXRhKCkpCi0gICAgICAgICAg
ICBtX3V0ZjhTdHJpbmcgPSBTdHJpbmcobV9pbXBsKS51dGY4KCk7Ci0gICAgICAgIHJldHVybiBt
X3V0ZjhTdHJpbmcuZGF0YSgpOwotICAgIH0KLSAgICBpbnQgbGVuZ3RoKCkgY29uc3QgeyByZXR1
cm4gbV91dGY4U3RyaW5nLmxlbmd0aCgpOyB9Ci0gICAgU3RyaW5nSW1wbCogaW1wbCgpIGNvbnN0
IHsgcmV0dXJuIG1faW1wbC5nZXQoKTsgfQotCi1wcml2YXRlOgotICAgIFJlZlB0cjxTdHJpbmdJ
bXBsPiBtX2ltcGw7Ci0gICAgbXV0YWJsZSBDU3RyaW5nIG1fdXRmOFN0cmluZzsKLX07Ci0KLX0g
Ly8gbmFtZXNwYWNlIEJpbmRpbmdzCi0KLX0gLy8gbmFtZXNwYWNlIEpTQwotCi0jZW5kaWYgLy8g
SmF2YVN0cmluZ1Y4X2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>