<?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>102601</bug_id>
          
          <creation_ts>2012-11-17 15:51:33 -0800</creation_ts>
          <short_desc>Add ScriptWrappable to more WebCore classes which are commonly JS-wrapped</short_desc>
          <delta_ts>2012-11-17 20:50:08 -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>New Bugs</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>
          <dependson>102539</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>japhet</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>770026</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-11-17 15:51:33 -0800</bug_when>
    <thetext>Add ScriptWrappable to more WebCore classes which are commonly JS-wrapped</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770030</commentid>
    <comment_count>1</comment_count>
      <attachid>174833</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-11-17 16:42:14 -0800</bug_when>
    <thetext>Created attachment 174833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770035</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-11-17 16:47:36 -0800</bug_when>
    <thetext>These were all found using:
https://bugs.webkit.org/show_bug.cgi?id=102539#c2
and then surfing around to a few common sites (google.com, amazon.com, yahoo.com, apple.com) and running robohornet, parts of dromaeo, html5test.com and acid3.

I&apos;m sure there are many more little ones to find, but I doubt even this patch will show up in benchmarks.

This patch should be a small memory savings (there are not many of these objects created) and a small perf savings on a few sites.

I think if we want to do more of these, we should come up with a better way to test for over/under-usage of ScriptWrappable.  The current manual-testing solution is not sustainable in the long term. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770054</commentid>
    <comment_count>3</comment_count>
      <attachid>174833</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-17 19:19:19 -0800</bug_when>
    <thetext>Comment on attachment 174833
Patch

Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770056</commentid>
    <comment_count>4</comment_count>
      <attachid>174833</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-17 19:38:29 -0800</bug_when>
    <thetext>Comment on attachment 174833
Patch

Clearing flags on attachment: 174833

Committed r135058: &lt;http://trac.webkit.org/changeset/135058&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770057</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-17 19:38:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770066</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-11-17 20:50:08 -0800</bug_when>
    <thetext>I suspect there are *many* more classes in WebCore which are only ever used from the JS DOM API and thus technically should be ScriptWrappable.  Most notable being all the SVG pod types and DOM objects.  But since those didn&apos;t show up in my brief testing, I doubt they&apos;re particularly performance critical.

Ideally we&apos;d come up with a better model for making sure we always have the right set of ScriptWrappable objects.  Adam suggested we might eventually make objects with an IDL have to opt-out of the bindings assuming ScriptWrappable-ness, and thus catch many more cases.  Not sure.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174833</attachid>
            <date>2012-11-17 16:42:14 -0800</date>
            <delta_ts>2012-11-17 19:38:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102601-20121117164006.patch</filename>
            <type>text/plain</type>
            <size>16419</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGI0MDFlMjZmNjk2M2Uw
NzNmNTlkZGU1NDg4MTZkMWFmZDdiYjljMS4uZTI0ZGM1YzVjMzQzZDY5MzNiYWJlMjljYjRiNWQ1
MjYyZTE1NzU0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTExLTE3ICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgU2NyaXB0V3JhcHBhYmxl
IHRvIG1vcmUgV2ViQ29yZSBjbGFzc2VzIHdoaWNoIGFyZSBjb21tb25seSBKUy13cmFwcGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI2MDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGcm9tIG15IGlu
dmVzdGlnYXRpb25zIGFsbCBvZiB0aGVzZSBjbGFzc2VzIGV4aXN0IG9ubHkgdG8gYmUgZXhwb3Nl
ZAorICAgICAgICB0byB0aGUgd2ViICh2aWEgSmF2YVNjcmlwdCkgYW5kIGFyZSBub3QgdXNlZCBp
bnRlcm5hbGx5IGJ5IFdlYkNvcmUuCisgICAgICAgIEkgYmVsZWl2ZSBhbGwgb2YgdGhlbSBhbHdh
eXMgaGF2ZSB3cmFwcGVycy4KKyAgICAgICAgVGhlc2Ugd2VyZSBmb3VuZCB1c2luZyB0aGlzIGNv
ZGU6CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI1
MzkjYzIKKworICAgICAgICBHZW9sb2NhdGlvbiAtLSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24KKyAg
ICAgICAgV2ViS2l0Q1NTTWF0cml4IC0tIHJlcHJlc2VudCBtYXRyaXhlcyBpbiBKUyB0aHJvdWdo
IHZhcmlvdXMgQVBJcworICAgICAgICBET01TdHJpbmdNYXAsIE5hbWVkTm9kZU1hcCwgTm9kZUl0
ZXJhdG9yLCBUcmVlV2Fsa2VyIC0tIGV4Y2x1c2l2ZWx5IGZvciB0aGUgRE9NIEFQSQorICAgICAg
ICBCbG9iLCBGaWxlTGlzdCAtIHVzZWQgYnkgdGhlIEZpbGUsIENsaXBib2FyZCBhbmQgWEhSLCBh
bHNvIGV4Y2x1c2l2ZWx5IGFzIEFQSQorICAgICAgICBWYWxpZGl0eVN0YXRlIC0tIGZvcm1Db250
cm9sLnZhbGlkaXR5CisgICAgICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgLS0gY2FudmFzLmdl
dENvbnRleHQoKQorICAgICAgICBET01BcHBsaWNhdGlvbkNhY2hlIC0tIHdpbmRvdy5hcHBjYWNo
ZQorICAgICAgICBTY3JlZW4gLS0gd2luZG93LnNjcmVlbgorICAgICAgICBET01NaW1lVHlwZUFy
cmF5IC0tIG5hdmlnYXRvci5taW1ldHlwZXMKKyAgICAgICAgRE9NUGx1Z2luIC0tIG5hdmlnYXRv
ci5wbHVnaW5zWzBdCisgICAgICAgIERPTVBsdWdpbkFycmF5IC0tIG5hdmlnYXRvci5wbHVnaW5z
CisKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmg6CisgICAgICAg
ICogY3NzL1dlYktpdENTU01hdHJpeC5oOgorICAgICAgICAqIGRvbS9ET01TdHJpbmdNYXAuaDoK
KyAgICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmg6CisgICAgICAgICogZG9tL05vZGVJdGVyYXRv
ci5oOgorICAgICAgICAqIGRvbS9UcmVlV2Fsa2VyLmg6CisgICAgICAgICogZmlsZWFwaS9CbG9i
Lmg6CisgICAgICAgICogZmlsZWFwaS9GaWxlTGlzdC5oOiAoaGFkIHRvIHVuLWluZGVudCB0byBt
YWtlIGNoZWNrLXdlYmtpdC1zdHlsZSBoYXBweSkKKyAgICAgICAgKEZpbGVMaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVMaXN0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUxp
c3Q6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlTGlzdDo6aXNFbXB0eSk6CisgICAg
ICAgIChXZWJDb3JlOjpGaWxlTGlzdDo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUxp
c3Q6OmFwcGVuZCk6CisgICAgICAgICogaHRtbC9WYWxpZGl0eVN0YXRlLmg6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAqIGxvYWRlci9h
cHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmg6CisgICAgICAgICogcGFnZS9TY3JlZW4uaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9NZWRpYVBsYXllclByb3h5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldlYk1lZGlhUGxheWVyUHJveHk6OmluaXRFbmdpbmUpOiBUaGlz
IGNvZGUgd2FzIHdyb25nLCBmaXhlZCB0byB1c2UgaW50ZXJuYWwgQVBJcy4KKyAgICAgICAgKiBw
bHVnaW5zL0RPTU1pbWVUeXBlQXJyYXkuaDoKKyAgICAgICAgKiBwbHVnaW5zL0RPTVBsdWdpbi5o
OgorICAgICAgICAqIHBsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaDoKKwogMjAxMi0xMS0xNyAgTGkg
WWluICA8bGkueWluQGludGVsLmNvbT4KIAogICAgICAgICBSZW1vdmUgY29uZUdhaW4gYW5kIGRp
c3RhbmNlR2FpbiBhdHRyaWJ1dGVzIGZyb20gUGFubmVyTm9kZS5pZGwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uaAppbmRleCBmZmM5MDEwM2E4
ODEwMWEyM2I1NTNjNTU5OWRkODM2ZDBkYTFlOTJjLi5iYzRhNmUzOTliNjg2YjM3NDkwNGM0YTAy
NjcxNzRlNWRkYjYzZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xv
Y2F0aW9uL0dlb2xvY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9sb2NhdGlvbi5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiUG9zaXRpb25F
cnJvci5oIgogI2luY2x1ZGUgIlBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIgogI2luY2x1ZGUgIlBv
c2l0aW9uT3B0aW9ucy5oIgorI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUg
IlRpbWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDcgKzQ4LDcgQEAgY2xhc3Mg
R2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OwogCi1jbGFzcyBHZW9sb2NhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPEdlb2xvY2F0
aW9uPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdAorY2xhc3MgR2VvbG9jYXRpb24gOiBwdWJsaWMg
U2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxHZW9sb2NhdGlvbj4sIHB1YmxpYyBB
Y3RpdmVET01PYmplY3QKIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxHZW9sb2Nh
dGlvbj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXguaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NNYXRyaXguaAppbmRleCA1ZjdhNWJlODQ0MWVlMjZhMGRiNGUzNDIwYWUyOTY1YjMyZGQ5
MzYxLi40NTM5M2ZiYWQzMWMwNTljOTYxMGVlMTdiYjAxOGQyNzIyN2FkNGE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU01hdHJpeC5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFdlYktp
dENTU01hdHJpeF9oCiAjZGVmaW5lIFdlYktpdENTU01hdHJpeF9oCiAKKyNpbmNsdWRlICJTY3Jp
cHRXcmFwcGFibGUuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzUsNyAr
MzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7
CiAKLWNsYXNzIFdlYktpdENTU01hdHJpeCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYktpdENTU01h
dHJpeD4geworY2xhc3MgV2ViS2l0Q1NTTWF0cml4IDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwg
cHVibGljIFJlZkNvdW50ZWQ8V2ViS2l0Q1NTTWF0cml4PiB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8V2ViS2l0Q1NTTWF0cml4PiBjcmVhdGUoY29uc3QgVHJhbnNmb3JtYXRpb25N
YXRyaXgmIG0pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmlu
Z01hcC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCmluZGV4IDJiMjlmMjJj
NGVkMmRjMmVkNjYyYzU5Yzg2YjE5NGNmNmMxZDEzNWEuLjUxZTJiODllMzA4MDFjOWQzNWY2YWFi
NjYxN2U4ZDc2N2NiZjhiZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJp
bmdNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKQEAgLTI2LDYg
KzI2LDcgQEAKICNpZm5kZWYgRE9NU3RyaW5nTWFwX2gKICNkZWZpbmUgRE9NU3RyaW5nTWFwX2gK
IAorI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KQEAgLTM1LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVu
dDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIERPTVN0cmluZ01hcCB7Citj
bGFzcyBET01TdHJpbmdNYXAgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShET01TdHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5ET01TdHJpbmdNYXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVN
YXAuaAppbmRleCBjM2UwZWVmNjU4Y2JlY2QxZDg1MjRmZDhlM2Q4Y2Y2YWExMTNjYTdiLi5kOWZk
ZTJkZDIwMWJmZjc5OTMwNWJmZWMwMjBkNzNjOTQ4MGJkY2M1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05hbWVk
Tm9kZU1hcC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjaWZuZGVmIE5hbWVkTm9kZU1hcF9oCiAjZGVm
aW5lIE5hbWVkTm9kZU1hcF9oCiAKKyNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0zNiw3ICszNyw3IEBAIGNsYXNzIEVsZW1l
bnQ7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIE5hbWVkTm9kZU1hcCB7
CitjbGFzcyBOYW1lZE5vZGVNYXAgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgRWxlbWVudDsKIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuaAppbmRleCAzZWVjNDlhYWM4NDRjZjgxNzYwNzBjYmFh
YWUzOTYxMjFkNDg2NmQ1Li4xZmFkMWY3ZmQ5YTFkYWFhYjk0NTg0OGQ2OWQ1NzA5ZDQxNjFlMmY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjZGVmaW5l
IE5vZGVJdGVyYXRvcl9oCiAKICNpbmNsdWRlICJOb2RlRmlsdGVyLmgiCisjaW5jbHVkZSAiU2Ny
aXB0V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSAiVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzQsNyArMzUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwog
Ci0gICAgY2xhc3MgTm9kZUl0ZXJhdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8Tm9kZUl0ZXJhdG9y
PiwgcHVibGljIFRyYXZlcnNhbCB7CisgICAgY2xhc3MgTm9kZUl0ZXJhdG9yIDogcHVibGljIFNj
cmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8Tm9kZUl0ZXJhdG9yPiwgcHVibGljIFRy
YXZlcnNhbCB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb2RlSXRl
cmF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IHJvb3ROb2RlLCB1bnNpZ25lZCB3aGF0VG9T
aG93LCBQYXNzUmVmUHRyPE5vZGVGaWx0ZXI+IGZpbHRlciwgYm9vbCBleHBhbmRFbnRpdHlSZWZl
cmVuY2VzKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVdh
bGtlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVXYWxrZXIuaAppbmRleCA4OGU1OWRhMTcz
NzI1NDZlNGQzYzBmNWM2OTZjYmRkNWE4ZDk1MWI3Li41YTVkNTg2MTA0YTYyODJlNGQyNzg4Yjlm
OTVkODYzNTU2MTUzNzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVdhbGtl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmgKQEAgLTI2LDYgKzI2LDcg
QEAKICNkZWZpbmUgVHJlZVdhbGtlcl9oCiAKICNpbmNsdWRlICJOb2RlRmlsdGVyLmgiCisjaW5j
bHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSAiVHJhdmVyc2FsLmgiCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzQs
NyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIGludCBFeGNlcHRp
b25Db2RlOwogCi0gICAgY2xhc3MgVHJlZVdhbGtlciA6IHB1YmxpYyBSZWZDb3VudGVkPFRyZWVX
YWxrZXI+LCBwdWJsaWMgVHJhdmVyc2FsIHsKKyAgICBjbGFzcyBUcmVlV2Fsa2VyIDogcHVibGlj
IFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8VHJlZVdhbGtlcj4sIHB1YmxpYyBU
cmF2ZXJzYWwgewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VHJlZVdh
bGtlcj4gY3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUsIHVuc2lnbmVkIHdoYXRUb1No
b3csIFBhc3NSZWZQdHI8Tm9kZUZpbHRlcj4gZmlsdGVyLCBib29sIGV4cGFuZEVudGl0eVJlZmVy
ZW5jZXMpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxv
Yi5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmgKaW5kZXggOTg5OGUyMzhiZWRlYWFi
YTJjMjc0YThiZTY1ZGUzOTcyNDcxMTgyYi4uZjRhMDFhZjg5MDRkYWEzYjE0NzIwNDFjNDI1ODU5
Zjk0YjBiZDFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2lu
Y2x1ZGUgIkJsb2JEYXRhLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlNjcmlwdFdy
YXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtNDMsNyArNDQsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAK
LWNsYXNzIEJsb2IgOiBwdWJsaWMgUmVmQ291bnRlZDxCbG9iPiB7CitjbGFzcyBCbG9iIDogcHVi
bGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8QmxvYj4gewogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsb2I+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9GaWxlTGlzdC5oCmluZGV4IDkyODk4MWY4NWJiOGI2ZmU4YjJkZTI2OGU0Y2VjOWNiMmZhNWYz
MDQuLmVlODc1NWRjOTM4MjllMDlhMTE0Y2U0YjliNjM1ZWEyYjhhZGU5OWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0ZpbGVMaXN0LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgRmlsZUxpc3RfaAog
CiAjaW5jbHVkZSAiRmlsZS5oIgorI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zNCwyNiArMzUsMjYgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi0gICAgY2xhc3MgRmlsZUxpc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxGaWxlTGlzdD4g
ewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RmlsZUxpc3Q+IGNyZWF0
ZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRmlsZUxpc3Qp
OwotICAgICAgICB9CitjbGFzcyBGaWxlTGlzdCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1
YmxpYyBSZWZDb3VudGVkPEZpbGVMaXN0PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RmlsZUxpc3Q+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEZpbGVMaXN0KTsKKyAgICB9CiAKLSAgICAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyBy
ZXR1cm4gbV9maWxlcy5zaXplKCk7IH0KLSAgICAgICAgRmlsZSogaXRlbSh1bnNpZ25lZCBpbmRl
eCkgY29uc3Q7CisgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9maWxlcy5z
aXplKCk7IH0KKyAgICBGaWxlKiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKIAotICAgICAg
ICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX2ZpbGVzLmlzRW1wdHkoKTsgfQotICAg
ICAgICB2b2lkIGNsZWFyKCkgeyBtX2ZpbGVzLmNsZWFyKCk7IH0KLSAgICAgICAgdm9pZCBhcHBl
bmQoUGFzc1JlZlB0cjxGaWxlPiBmaWxlKSB7IG1fZmlsZXMuYXBwZW5kKGZpbGUpOyB9Ci0gICAg
ICAgIFZlY3RvcjxTdHJpbmc+IHBhdGhzKCkgY29uc3Q7CisgICAgYm9vbCBpc0VtcHR5KCkgY29u
c3QgeyByZXR1cm4gbV9maWxlcy5pc0VtcHR5KCk7IH0KKyAgICB2b2lkIGNsZWFyKCkgeyBtX2Zp
bGVzLmNsZWFyKCk7IH0KKyAgICB2b2lkIGFwcGVuZChQYXNzUmVmUHRyPEZpbGU+IGZpbGUpIHsg
bV9maWxlcy5hcHBlbmQoZmlsZSk7IH0KKyAgICBWZWN0b3I8U3RyaW5nPiBwYXRocygpIGNvbnN0
OwogCi0gICAgcHJpdmF0ZToKLSAgICAgICAgRmlsZUxpc3QoKTsKK3ByaXZhdGU6CisgICAgRmls
ZUxpc3QoKTsKIAotICAgICAgICBWZWN0b3I8UmVmUHRyPEZpbGU+ID4gbV9maWxlczsKLSAgICB9
OworICAgIFZlY3RvcjxSZWZQdHI8RmlsZT4gPiBtX2ZpbGVzOworfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3Rh
dGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDE3ZTk0Yzk3
ODhkYmMwM2FjZDEwNWEzMmQxMDlkNjViMTI1YWEyYmEuLjI4ZjllYzY0MDU1YzM0MTdjZjg2NmNj
MmQ0YmVkNmQ1MzA3ZGQwZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRp
dHlTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC0y
NSwxMSArMjUsMTIgQEAKICNkZWZpbmUgVmFsaWRpdHlTdGF0ZV9oCiAKICNpbmNsdWRlICJGb3Jt
QXNzb2NpYXRlZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZh
bGlkaXR5U3RhdGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSA6IHB1YmxpYyBTY3JpcHRXcmFwcGFi
bGUgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0
YXRlPiBjcmVhdGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBjb250cm9sKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDEy
NDcyOWNiZWU3ZDAwODgyY2QzOTI0YzljMGYzOTQzZTM0ZjY4NGEuLjhlODQ5YmRlOGZiMWM0ZDgw
ZWVhNTI5YmI1NzJkNmQ5M2ZlMWJmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lu
Y2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgor
I2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFz
aC5oPgpAQCAtNDEsNyArNDIsNyBAQCBjbGFzcyBIVE1MVmlkZW9FbGVtZW50OwogY2xhc3MgS1VS
TDsKIGNsYXNzIFdlYkdMT2JqZWN0OwogCi1jbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsK
K2NsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYW52YXNSZW5kZXJpbmdDb250ZXh0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+Q2FudmFzUmVuZGVyaW5n
Q29udGV4dCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0RPTUFwcGxpY2F0aW9uQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9E
T01BcHBsaWNhdGlvbkNhY2hlLmgKaW5kZXggMmU4MDMxOGU4MDRmZWQ0MWZhMmY3MDBkZTU0OGYz
OWU5YzU0OWYzYi4uZmY1NjgzODJiNDY5OGE3OTg5MmViMzcyOGQ1YzJhMDc1MTc5ZTAzMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2Fj
aGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25D
YWNoZS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIK
ICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNs
dWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQyLDcg
KzQzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBLVVJMOwog
Ci1jbGFzcyBET01BcHBsaWNhdGlvbkNhY2hlIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NQXBwbGlj
YXRpb25DYWNoZT4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5
IHsKK2NsYXNzIERPTUFwcGxpY2F0aW9uQ2FjaGUgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBw
dWJsaWMgUmVmQ291bnRlZDxET01BcHBsaWNhdGlvbkNhY2hlPiwgcHVibGljIEV2ZW50VGFyZ2V0
LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPERPTUFwcGxpY2F0aW9uQ2FjaGU+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBET01BcHBsaWNhdGlvbkNhY2hlKGZyYW1lKSk7IH0KICAgICB+RE9NQXBwbGlj
YXRpb25DYWNoZSgpIHsgQVNTRVJUKCFtX2ZyYW1lKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TY3JlZW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmgKaW5kZXgg
MjYyNGYxYTEzZTBkNzRmOTBmYTdkZmZlNzExN2QzMmI0OGMyNzJiMi4uNWFiY2MxZDY5MjI4YmM0
NmYxOGMzM2M5OTYyZDY3NzEwZTg0NzRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TY3JlZW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5oCkBAIC0zMSw2ICsz
MSw3IEBACiAjZGVmaW5lIFNjcmVlbl9oCiAKICNpbmNsdWRlICJET01XaW5kb3dQcm9wZXJ0eS5o
IgorI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtMzgsNyArMzksNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAgIGNsYXNzIFNjcmVlbiA6
IHB1YmxpYyBSZWZDb3VudGVkPFNjcmVlbj4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7Cisg
ICAgY2xhc3MgU2NyZWVuIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50
ZWQ8U2NyZWVuPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5IHsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmVlbj4gY3JlYXRlKEZyYW1lICpmcmFtZSkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IFNjcmVlbihmcmFtZSkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL01lZGlhUGxheWVyUHJveHkuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvTWVkaWFQbGF5ZXJQcm94eS5jcHAK
aW5kZXggYTRhYmMzZmY4ZmY5ODExY2NlM2Q5MTMxMzUxNTVmYTYyZmI1ZDlmOS4uNjU4ZDY5OGVl
ZGJhZjVhZWRjYTE1NTY1YmZlODllMmQ4YjA4ZDdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvTWVkaWFQbGF5ZXJQcm94eS5jcHAK
QEAgLTEwMSw5ICsxMDEsOSBAQCB2b2lkIFdlYk1lZGlhUGxheWVyUHJveHk6OmluaXRFbmdpbmUo
KQogICAgIFN0cmluZyBzZXJ2aWNlVHlwZTsKIAogICAgIC8vIGFkZCBhbGwgYXR0cmlidXRlcyBz
ZXQgb24gdGhlIGVtYmVkIG9iamVjdAotICAgIGlmIChOYW1lZE5vZGVNYXAqIGF0dHJpYnV0ZXMg
PSBlbGVtZW50LT5hdHRyaWJ1dGVzKCkpIHsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGF0dHJpYnV0ZXMtPmxlbmd0aCgpOyArK2kpIHsKLSAgICAgICAgICAgIEF0dHJpYnV0ZSog
aXQgPSBhdHRyaWJ1dGVzLT5hdHRyaWJ1dGVJdGVtKGkpOworICAgIGlmIChlbGVtZW50LT5oYXNB
dHRyaWJ1dGVzKCkpIHsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVsZW1lbnQt
PmF0dHJpYnV0ZUNvdW50KCk7ICsraSkgeworICAgICAgICAgICAgQXR0cmlidXRlKiBpdCA9IGVs
ZW1lbnQtPmF0dHJpYnV0ZUl0ZW0oaSk7CiAgICAgICAgICAgICBwYXJhbU5hbWVzLmFwcGVuZChp
dC0+bmFtZSgpLmxvY2FsTmFtZSgpLnN0cmluZygpKTsKICAgICAgICAgICAgIHBhcmFtVmFsdWVz
LmFwcGVuZChpdC0+dmFsdWUoKS5zdHJpbmcoKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGVBcnJheS5oIGIvU291cmNlL1dlYkNvcmUv
cGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmgKaW5kZXggMjVjMjc2ZDM4N2Y0ZTI2Yzg0NTBlNDc2
ZDdjOWYwNDNhMTk0YzMwZi4uNTgxNjFkZjIwM2U0ODZhZGFjMzE3ODg1ZjQ2N2NmOTc1MWRmNjE1
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01NaW1lVHlwZUFycmF5LmgKQEAgLTIzLDYg
KzIzLDcgQEAKIAogI2luY2x1ZGUgIkRPTU1pbWVUeXBlLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93
UHJvcGVydHkuaCIKKyNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KQEAgLTMzLDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
RnJhbWU7CiBjbGFzcyBQbHVnaW5EYXRhOwogCi1jbGFzcyBET01NaW1lVHlwZUFycmF5IDogcHVi
bGljIFJlZkNvdW50ZWQ8RE9NTWltZVR5cGVBcnJheT4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0
eSB7CitjbGFzcyBET01NaW1lVHlwZUFycmF5IDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVi
bGljIFJlZkNvdW50ZWQ8RE9NTWltZVR5cGVBcnJheT4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0
eSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NTWltZVR5cGVBcnJheT4gY3Jl
YXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IERPTU1pbWVUeXBlQXJyYXko
ZnJhbWUpKTsgfQogICAgIH5ET01NaW1lVHlwZUFycmF5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01Q
bHVnaW4uaAppbmRleCAxNWIzNmQ0M2E4NWY2YzQ1ZWQwMzQzZjJiMDUwNjQ3ODU5NDNjMmY1Li45
MDhiOTRmOTFlMzk1NTM5ZGZjYjI3MmVhZGZlM2I5MzE4NDg2NGZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvRE9NUGx1Z2luLmgKQEAgLTIyLDYgKzIyLDcgQEAKIAogI2luY2x1ZGUgIkZyYW1lRGVzdHJ1
Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkRPTU1pbWVUeXBlLmgiCisjaW5jbHVkZSAiU2Ny
aXB0V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTMxLDcgKzMyLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGx1Z2luOwogY2xhc3MgUGx1Z2luRGF0YTsKIAot
Y2xhc3MgRE9NUGx1Z2luIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NUGx1Z2luPiwgcHVibGljIEZy
YW1lRGVzdHJ1Y3Rpb25PYnNlcnZlciB7CitjbGFzcyBET01QbHVnaW4gOiBwdWJsaWMgU2NyaXB0
V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxET01QbHVnaW4+LCBwdWJsaWMgRnJhbWVEZXN0
cnVjdGlvbk9ic2VydmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01QbHVn
aW4+IGNyZWF0ZShQbHVnaW5EYXRhKiBwbHVnaW5EYXRhLCBGcmFtZSogZnJhbWUsIHVuc2lnbmVk
IGluZGV4KSB7IHJldHVybiBhZG9wdFJlZihuZXcgRE9NUGx1Z2luKHBsdWdpbkRhdGEsIGZyYW1l
LCBpbmRleCkpOyB9CiAgICAgfkRPTVBsdWdpbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGx1Z2lucy9ET01QbHVnaW5BcnJheS5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ET01Q
bHVnaW5BcnJheS5oCmluZGV4IDZjMzU0NTcyMTRlOTIxYzFlMDIwNzRlOWFkZjM2ZDk5ZGI2OWNk
ODUuLjQ0N2MzY2ZiMWUyYmVhMzY3NGQ4NmZmYTVkNGE0ZjU2MmFmODNhMWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbHVnaW5zL0RPTVBsdWdpbkFycmF5LmgKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2luY2x1
ZGUgIkRPTVBsdWdpbi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvd1Byb3BlcnR5LmgiCisjaW5jbHVk
ZSAiU2NyaXB0V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zMyw3
ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZyYW1lOwogY2xhc3MgUGx1Z2lu
RGF0YTsKIAotY2xhc3MgRE9NUGx1Z2luQXJyYXkgOiBwdWJsaWMgUmVmQ291bnRlZDxET01QbHVn
aW5BcnJheT4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7CitjbGFzcyBET01QbHVnaW5BcnJh
eSA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPERPTVBsdWdpbkFy
cmF5PiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxET01QbHVnaW5BcnJheT4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IERPTVBsdWdpbkFycmF5KGZyYW1lKSk7IH0KICAgICB+RE9NUGx1Z2luQXJyYXko
KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>