<?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>121019</bug_id>
          
          <creation_ts>2013-09-08 21:48:09 -0700</creation_ts>
          <short_desc>Make Editor::deleteButtonController a reference</short_desc>
          <delta_ts>2013-09-08 22:11:42 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>philn</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>926563</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-08 21:48:09 -0700</bug_when>
    <thetext>Make Editor::deleteButtonController a reference</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926564</commentid>
    <comment_count>1</comment_count>
      <attachid>211008</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-08 21:53:38 -0700</bug_when>
    <thetext>Created attachment 211008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926565</commentid>
    <comment_count>2</comment_count>
      <attachid>211008</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-09-08 21:59:59 -0700</bug_when>
    <thetext>Comment on attachment 211008
Patch

Attachment 211008 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/1725418</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926566</commentid>
    <comment_count>3</comment_count>
      <attachid>211008</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-09-08 22:01:07 -0700</bug_when>
    <thetext>Comment on attachment 211008
Patch

Attachment 211008 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/1730257</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926567</commentid>
    <comment_count>4</comment_count>
      <attachid>211008</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-08 22:03:09 -0700</bug_when>
    <thetext>Comment on attachment 211008
Patch

r=me, just make it build :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926569</commentid>
    <comment_count>5</comment_count>
      <attachid>211008</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-09-08 22:11:10 -0700</bug_when>
    <thetext>Comment on attachment 211008
Patch

Attachment 211008 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1737017</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926570</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-08 22:11:42 -0700</bug_when>
    <thetext>Committed r155320: &lt;http://trac.webkit.org/changeset/155320&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211008</attachid>
            <date>2013-09-08 21:53:38 -0700</date>
            <delta_ts>2013-09-08 22:11:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121019-20130908215337.patch</filename>
            <type>text/plain</type>
            <size>21639</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MzE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQ1MmYwNWU3ZmJiYmMy
MzdmNDA5M2Y3MTAwNGQyZmRiYzhjZDI0My4uZjUwYWRkZjI0ZjU2OTA4OTdlNmRiNTdmNzg4ZWMz
YzVhY2Y1MjZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTA5LTA4ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIEVkaXRvcjo6ZGVsZXRl
QnV0dG9uQ29udHJvbGxlciBhIHJlZmVyZW5jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxMDE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDb250YWluZXJOb2RlOjpjbG9uZUNoaWxkTm9kZXMpOiBVcGRhdGVkIHRvIHVzZSAu
IGluc3RlYWQgb2YgLT4uCisgICAgICAgICogZWRpdGluZy9EZWxldGVCdXR0b24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVsZXRlQnV0dG9uOjpkZWZhdWx0RXZlbnRIYW5kbGVyKTogRGl0dG8u
CisKKyAgICAgICAgKiBlZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGVsZXRlQnV0dG9uQ29udHJvbGxlcjo6RGVsZXRlQnV0dG9uQ29udHJvbGxl
cik6IFVwZGF0ZWQgdG8gdGFrZSBhIEZyYW1lJgorICAgICAgICBpbnN0ZWFkIG9mIGEgRnJhbWUq
LgorICAgICAgICAoV2ViQ29yZTo6RGVsZXRlQnV0dG9uQ29udHJvbGxlcjo6cmVzcG9uZFRvQ2hh
bmdlZFNlbGVjdGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RGVsZXRlQnV0dG9uQ29u
dHJvbGxlcjo6Y3JlYXRlRGVsZXRpb25VSSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RGVs
ZXRlQnV0dG9uQ29udHJvbGxlcjo6c2hvdyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RGVs
ZXRlQnV0dG9uQ29udHJvbGxlcjo6ZW5hYmxlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpE
ZWxldGVCdXR0b25Db250cm9sbGVyOjpkZWxldGVUYXJnZXQpOiBEaXR0by4KKyAgICAgICAgKiBl
ZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaDogRGl0dG8uCisKKyAgICAgICAgKiBlZGl0
aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OmF2b2lkSW50ZXJzZWN0
aW9uV2l0aERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIpOiBSZW1vdmVkIGJvZ3VzCisgICAgICAgIG51
bGwgY2hlY2sgZnJvbSBib3RoIHZlcnNpb25zIG9mIHRoaXMgZnVuY3Rpb24uCisgICAgICAgIChX
ZWJDb3JlOjpFZGl0b3I6OkVkaXRvcik6IFVzZSBjb25zdHJ1Y3Rpb24gcmF0aGVyIHRoYW4gYXNz
aWdubWVudCBhbmQgcGFzcworICAgICAgICBhIHJlZmVyZW5jZSBpbnN0ZWFkIG9mIGEgcG9pbnRl
ciB0byBtYWtlIG1fZGVsZXRlQnV0dG9uQ29udHJvbGxlci4KKyAgICAgICAgKFdlYkNvcmU6OkVk
aXRvcjo6Y2xlYXIpOiBEaXR0by4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6IE1hZGUg
ZGVsZXRlQnV0dG9uQ29udHJvbGxlciByZXR1cm4gYSByZWZlcmVuY2UuCisgICAgICAgIEFsc28g
cmVvcmdhbml6ZWQgdGhlIGhlYWRlciB0byBwdXQgYWxsIHRoZSBjb25kaXRpb25hbCBmdW5jdGlv
bnMgdG9nZXRoZXIsCisgICAgICAgIGFuZCBub3QgbWl4ZWQgaW4gd2l0aCBub24tY29uZGl0aW9u
YWwgb25lcy4KKworICAgICAgICAqIGVkaXRpbmcvbWFya3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmNyZWF0ZU1hcmt1cCk6IFVwZGF0ZWQgdG8gdXNlIC4gaW5zdGVhZCBvZiAtPiBhbmQgYWxz
byB0byB1c2UKKyAgICAgICAgZW1wdHlTdHJpbmcoKSBpbnN0ZWFkIG9mIGNvbnN0cnVjdGluZyBh
IG5ldyBlbXB0eSBzdHJpbmcuCisKIDIwMTMtMDktMDggIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIElubGluZUJveDo6cm9vdCgpIHNob3VsZCByZXR1cm4gYSBy
ZWZlcmVuY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKaW5kZXggYmJiMGQwMWVi
NzZiZWUzYzQ3OWE5MWY1MThmNWI3MTFlNGQ0N2Q0OS4uYThmOTVkMDU5ZmViYmIzNWZkMGE4NGFj
ZDYzNDk0NDcxMGI3NjMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcApAQCAt
ODY1LDcgKzg2NSw3IEBAIHZvaWQgQ29udGFpbmVyTm9kZTo6Y2xvbmVDaGlsZE5vZGVzKENvbnRh
aW5lck5vZGUgKmNsb25lKQogI2lmIEVOQUJMRShERUxFVElPTl9VSSkKICAgICBIVE1MRWxlbWVu
dCogZGVsZXRlQnV0dG9uQ29udGFpbmVyRWxlbWVudCA9IDA7CiAgICAgaWYgKEZyYW1lKiBmcmFt
ZSA9IGRvY3VtZW50KCkuZnJhbWUoKSkKLSAgICAgICAgZGVsZXRlQnV0dG9uQ29udGFpbmVyRWxl
bWVudCA9IGZyYW1lLT5lZGl0b3IoKS5kZWxldGVCdXR0b25Db250cm9sbGVyKCktPmNvbnRhaW5l
ckVsZW1lbnQoKTsKKyAgICAgICAgZGVsZXRlQnV0dG9uQ29udGFpbmVyRWxlbWVudCA9IGZyYW1l
LT5lZGl0b3IoKS5kZWxldGVCdXR0b25Db250cm9sbGVyKCkuY29udGFpbmVyRWxlbWVudCgpOwog
ICAgIGNsb25lQ2hpbGROb2Rlc0F2b2lkaW5nRGVsZXRlQnV0dG9uKHRoaXMsIGNsb25lLCBkZWxl
dGVCdXR0b25Db250YWluZXJFbGVtZW50KTsKICNlbHNlCiAgICAgY2xvbmVDaGlsZE5vZGVzQXZv
aWRpbmdEZWxldGVCdXR0b24odGhpcywgY2xvbmUsIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9E
ZWxldGVCdXR0b24uY3BwCmluZGV4IDc5YTg2NDU0MDM1MDQ0MzVhYmZjYmE0NjRlNzE4YzUxNDY1
N2RlOGIuLmFlMmI4NzcxMWUzNDIyNzE0NDkyMDBjZmRiYmNlZjEwZWNmMWUwMGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbi5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgUGFzc1Jl
ZlB0cjxEZWxldGVCdXR0b24+IERlbGV0ZUJ1dHRvbjo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVu
dCkKIHZvaWQgRGVsZXRlQnV0dG9uOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkK
IHsKICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuY2xpY2tFdmVudCkgewot
ICAgICAgICBkb2N1bWVudCgpLmZyYW1lKCktPmVkaXRvcigpLmRlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXIoKS0+ZGVsZXRlVGFyZ2V0KCk7CisgICAgICAgIGRvY3VtZW50KCkuZnJhbWUoKS0+ZWRpdG9y
KCkuZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpLmRlbGV0ZVRhcmdldCgpOwogICAgICAgICBldmVu
dC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGRj
NmE0NTE5ZWQ1OGVmYjY0NzdhNjI1MGVjOWJkNTczMmUyNzFiMTQuLmM2N2ZmODY2MDEwMTc2NjMx
MTU4ODAyZDU1YTlkMWNkM2NkZTgzYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9EZWxldGVCdXR0b25Db250cm9sbGVyLmNwcApAQCAtNTgsNyArNTgsNyBAQCBjb25zdCBjaGFy
KiBjb25zdCBEZWxldGVCdXR0b25Db250cm9sbGVyOjpjb250YWluZXJFbGVtZW50SWRlbnRpZmll
ciA9ICJXZWJLaXQtRQogY29uc3QgY2hhciogY29uc3QgRGVsZXRlQnV0dG9uQ29udHJvbGxlcjo6
YnV0dG9uRWxlbWVudElkZW50aWZpZXIgPSAiV2ViS2l0LUVkaXRpbmctRGVsZXRlLUJ1dHRvbiI7
CiBjb25zdCBjaGFyKiBjb25zdCBEZWxldGVCdXR0b25Db250cm9sbGVyOjpvdXRsaW5lRWxlbWVu
dElkZW50aWZpZXIgPSAiV2ViS2l0LUVkaXRpbmctRGVsZXRlLU91dGxpbmUiOwogCi1EZWxldGVC
dXR0b25Db250cm9sbGVyOjpEZWxldGVCdXR0b25Db250cm9sbGVyKEZyYW1lKiBmcmFtZSkKK0Rl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXI6OkRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoRnJhbWUmIGZyYW1l
KQogICAgIDogbV9mcmFtZShmcmFtZSkKICAgICAsIG1fd2FzU3RhdGljUG9zaXRpb25lZChmYWxz
ZSkKICAgICAsIG1fd2FzQXV0b1pJbmRleChmYWxzZSkKQEAgLTE3Niw3ICsxNzYsNyBAQCB2b2lk
IERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXI6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYgbwogICAgICAgICByZXR1cm47CiAKICAgICBIVE1MRWxlbWVudCog
b2xkRWxlbWVudCA9IGVuY2xvc2luZ0RlbGV0YWJsZUVsZW1lbnQob2xkU2VsZWN0aW9uKTsKLSAg
ICBIVE1MRWxlbWVudCogbmV3RWxlbWVudCA9IGVuY2xvc2luZ0RlbGV0YWJsZUVsZW1lbnQobV9m
cmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkpOworICAgIEhUTUxFbGVtZW50KiBuZXdFbGVt
ZW50ID0gZW5jbG9zaW5nRGVsZXRhYmxlRWxlbWVudChtX2ZyYW1lLnNlbGVjdGlvbigpLnNlbGVj
dGlvbigpKTsKICAgICBpZiAob2xkRWxlbWVudCA9PSBuZXdFbGVtZW50KQogICAgICAgICByZXR1
cm47CiAKQEAgLTI1Niw3ICsyNTYsNyBAQCB2b2lkIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXI6OmNy
ZWF0ZURlbGV0aW9uVUkoKQogICAgIGJ1dHRvbi0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUhlaWdodCwgYnV0dG9uSGVpZ2h0LCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYKTsK
ICAgICBidXR0b24tPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlWaXNpYmlsaXR5
LCBDU1NWYWx1ZVZpc2libGUpOwogCi0gICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSBXZWJD
b3JlOjpkZXZpY2VTY2FsZUZhY3RvcihtX2ZyYW1lKTsKKyAgICBmbG9hdCBkZXZpY2VTY2FsZUZh
Y3RvciA9IFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9yKCZtX2ZyYW1lKTsKICAgICBSZWZQdHI8
SW1hZ2U+IGJ1dHRvbkltYWdlOwogICAgIGlmIChkZXZpY2VTY2FsZUZhY3RvciA+PSAyKQogICAg
ICAgICBidXR0b25JbWFnZSA9IEltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZSgiZGVsZXRlQnV0
dG9uQDJ4Iik7CkBAIC0yODUsMTIgKzI4NSwxMiBAQCB2b2lkIERlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXI6OnNob3coSFRNTEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgaWYgKCFlbmFibGVkKCkgfHwgIWVs
ZW1lbnQgfHwgIWVsZW1lbnQtPmluRG9jdW1lbnQoKSB8fCAhaXNEZWxldGFibGVFbGVtZW50KGVs
ZW1lbnQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBFZGl0b3JDbGllbnQqIGNsaWVudCA9IG1f
ZnJhbWUtPmVkaXRvcigpLmNsaWVudCgpOworICAgIEVkaXRvckNsaWVudCogY2xpZW50ID0gbV9m
cmFtZS5lZGl0b3IoKS5jbGllbnQoKTsKICAgICBpZiAoIWNsaWVudCB8fCAhY2xpZW50LT5zaG91
bGRTaG93RGVsZXRlSW50ZXJmYWNlKGVsZW1lbnQpKQogICAgICAgICByZXR1cm47CiAKICAgICAv
LyB3ZSByZWx5IG9uIHRoZSByZW5kZXJlciBoYXZpbmcgY3VycmVudCBpbmZvcm1hdGlvbiwgc28g
d2Ugc2hvdWxkIHVwZGF0ZSB0aGUgbGF5b3V0IGlmIG5lZWRlZAotICAgIG1fZnJhbWUtPmRvY3Vt
ZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIG1fZnJh
bWUuZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAK
ICAgICBtX3RhcmdldCA9IGVsZW1lbnQ7CiAKQEAgLTM0OSw4ICszNDksOCBAQCB2b2lkIERlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXI6OmVuYWJsZSgpCiAgICAgICAgIC8vIERldGVybWluaW5nIGlmIHRo
ZSBlbGVtZW50IGlzIGRlbGV0YWJsZSBjdXJyZW50bHkgZGVwZW5kcyBvbiBzdHlsZQogICAgICAg
ICAvLyBiZWNhdXNlIHdoZXRoZXIgc29tZXRoaW5nIGlzIGVkaXRhYmxlIGRlcGVuZHMgb24gc3R5
bGUsIHNvIHdlIG5lZWQKICAgICAgICAgLy8gdG8gcmVjYWxjdWxhdGUgc3R5bGUgYmVmb3JlIGNh
bGxpbmcgZW5jbG9zaW5nRGVsZXRhYmxlRWxlbWVudC4KLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1l
bnQoKS0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOwotICAgICAgICBzaG93KGVuY2xvc2luZ0RlbGV0
YWJsZUVsZW1lbnQobV9mcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkpKTsKKyAgICAgICAg
bV9mcmFtZS5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CisgICAgICAgIHNob3co
ZW5jbG9zaW5nRGVsZXRhYmxlRWxlbWVudChtX2ZyYW1lLnNlbGVjdGlvbigpLnNlbGVjdGlvbigp
KSk7CiAgICAgfQogfQogCkBAIC0zOTQsOSArMzk0LDkgQEAgdm9pZCBEZWxldGVCdXR0b25Db250
cm9sbGVyOjpkZWxldGVUYXJnZXQoKQogICAgIC8vIHdpdGhpbiB0aGUgdGFyZ2V0LCB3ZSB1bmNv
bmRpdGlvbmFsbHkgdXBkYXRlIHRoZSBzZWxlY3Rpb24gdG8gYmUKICAgICAvLyBhIGNhcmV0IHdo
ZXJlIHRoZSB0YXJnZXQgaGFkIGJlZW4uCiAgICAgUG9zaXRpb24gcG9zID0gcG9zaXRpb25JblBh
cmVudEJlZm9yZU5vZGUobV90YXJnZXQuZ2V0KCkpOwotICAgIEFTU0VSVChtX2ZyYW1lLT5kb2N1
bWVudCgpKTsKLSAgICBhcHBseUNvbW1hbmQoUmVtb3ZlVGFyZ2V0Q29tbWFuZDo6Y3JlYXRlKCpt
X2ZyYW1lLT5kb2N1bWVudCgpLCBtX3RhcmdldCkpOwotICAgIG1fZnJhbWUtPnNlbGVjdGlvbigp
LnNldFNlbGVjdGlvbihWaXNpYmxlUG9zaXRpb24ocG9zKSk7CisgICAgQVNTRVJUKG1fZnJhbWUu
ZG9jdW1lbnQoKSk7CisgICAgYXBwbHlDb21tYW5kKFJlbW92ZVRhcmdldENvbW1hbmQ6OmNyZWF0
ZSgqbV9mcmFtZS5kb2N1bWVudCgpLCBtX3RhcmdldCkpOworICAgIG1fZnJhbWUuc2VsZWN0aW9u
KCkuc2V0U2VsZWN0aW9uKFZpc2libGVQb3NpdGlvbihwb3MpKTsKIH0KICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCmluZGV4IDdh
MTEzYTkzOTliYjdkZGE3ODVjOGIyNzQwY2E1NzdlZjQ4ZDM2MzIuLjQ0N2RkOTVlZjEyOTc4Y2Jm
NmM5NWEzOTg1MmY0Y2JiNTkyODMzYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIFZpc2libGVT
ZWxlY3Rpb247CiBjbGFzcyBEZWxldGVCdXR0b25Db250cm9sbGVyIHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEZWxldGVCdXR0b25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgRGVsZXRlQnV0dG9uQ29udHJvbGxlcihGcmFtZSop
OworICAgIGV4cGxpY2l0IERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoRnJhbWUmKTsKIAogICAgIEhU
TUxFbGVtZW50KiBjb250YWluZXJFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9jb250YWluZXJF
bGVtZW50LmdldCgpOyB9CiAKQEAgLTY3LDcgKzY3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNy
ZWF0ZURlbGV0aW9uVUkoKTsKICAgICBib29sIGVuYWJsZWQoKSBjb25zdCB7IHJldHVybiAoIW1f
ZGlzYWJsZVN0YWNrKTsgfQogCi0gICAgRnJhbWUqIG1fZnJhbWU7CisgICAgRnJhbWUmIG1fZnJh
bWU7CiAgICAgUmVmUHRyPEhUTUxFbGVtZW50PiBtX3RhcmdldDsKICAgICBSZWZQdHI8SFRNTEVs
ZW1lbnQ+IG1fY29udGFpbmVyRWxlbWVudDsKICAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IG1fb3V0
bGluZUVsZW1lbnQ7CkBAIC04MywxMyArODMsMTMgQEAgcHVibGljOgogICAgICAgICA6IG1fZnJh
bWUoZnJhbWUpCiAgICAgewogICAgICAgICBpZiAoZnJhbWUpCi0gICAgICAgICAgICBmcmFtZS0+
ZWRpdG9yKCkuZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpLT5kaXNhYmxlKCk7CisgICAgICAgICAg
ICBmcmFtZS0+ZWRpdG9yKCkuZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpLmRpc2FibGUoKTsKICAg
ICB9CiAKICAgICB+RGVsZXRlQnV0dG9uQ29udHJvbGxlckRpc2FibGVTY29wZSgpCiAgICAgewog
ICAgICAgICBpZiAobV9mcmFtZSkKLSAgICAgICAgICAgIG1fZnJhbWUtPmVkaXRvcigpLmRlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXIoKS0+ZW5hYmxlKCk7CisgICAgICAgICAgICBtX2ZyYW1lLT5lZGl0
b3IoKS5kZWxldGVCdXR0b25Db250cm9sbGVyKCkuZW5hYmxlKCk7CiAgICAgfQogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDkyZGNmYjQ4NTA5MjI1ZTZkNDEwY2Qz
Yjg3NDhiYmNlMmE3ODM1NTYuLjkxOWFlZWIyNjRlYWNjN2M0YzRmYzNhNzY0ZDA3NzNjMjhiYzUw
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTEwNCwxMCArMTA0LDEwIEBAIHVz
aW5nIG5hbWVzcGFjZSBXVEY7CiB1c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIAogI2lmIEVOQUJM
RShERUxFVElPTl9VSSkKKwogUGFzc1JlZlB0cjxSYW5nZT4gRWRpdG9yOjphdm9pZEludGVyc2Vj
dGlvbldpdGhEZWxldGVCdXR0b25Db250cm9sbGVyKGNvbnN0IFJhbmdlKiByYW5nZSkgY29uc3QK
IHsKLSAgICBEZWxldGVCdXR0b25Db250cm9sbGVyKiBjb250cm9sbGVyID0gZGVsZXRlQnV0dG9u
Q29udHJvbGxlcigpOwotICAgIGlmICghcmFuZ2UgfHwgIWNvbnRyb2xsZXIpCisgICAgaWYgKCFy
YW5nZSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBOb2RlKiBzdGFydENvbnRhaW5lciA9IHJh
bmdlLT5zdGFydENvbnRhaW5lcigpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIFBhc3NSZWZQdHI8UmFu
Z2U+IEVkaXRvcjo6YXZvaWRJbnRlcnNlY3Rpb25XaXRoRGVsZXRlQnV0dG9uQ29udHJvbGxlcihj
b25zdCBSYW5nCiAKICAgICBBU1NFUlQoZW5kQ29udGFpbmVyKTsKIAotICAgIEVsZW1lbnQqIGVs
ZW1lbnQgPSBjb250cm9sbGVyLT5jb250YWluZXJFbGVtZW50KCk7CisgICAgRWxlbWVudCogZWxl
bWVudCA9IG1fZGVsZXRlQnV0dG9uQ29udHJvbGxlci0+Y29udGFpbmVyRWxlbWVudCgpOwogICAg
IGlmIChzdGFydENvbnRhaW5lciA9PSBlbGVtZW50IHx8IHN0YXJ0Q29udGFpbmVyLT5pc0Rlc2Nl
bmRhbnRPZihlbGVtZW50KSkgewogICAgICAgICBBU1NFUlQoZWxlbWVudC0+cGFyZW50Tm9kZSgp
KTsKICAgICAgICAgc3RhcnRDb250YWluZXIgPSBlbGVtZW50LT5wYXJlbnROb2RlKCk7CkBAIC0x
MzcsMTEgKzEzNywxMCBAQCBQYXNzUmVmUHRyPFJhbmdlPiBFZGl0b3I6OmF2b2lkSW50ZXJzZWN0
aW9uV2l0aERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoY29uc3QgUmFuZwogCiBWaXNpYmxlU2VsZWN0
aW9uIEVkaXRvcjo6YXZvaWRJbnRlcnNlY3Rpb25XaXRoRGVsZXRlQnV0dG9uQ29udHJvbGxlcihj
b25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24pIGNvbnN0CiB7Ci0gICAgRGVsZXRlQnV0
dG9uQ29udHJvbGxlciogY29udHJvbGxlciA9IGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoKTsKLSAg
ICBpZiAoc2VsZWN0aW9uLmlzTm9uZSgpIHx8ICFjb250cm9sbGVyKQorICAgIGlmIChzZWxlY3Rp
b24uaXNOb25lKCkpCiAgICAgICAgIHJldHVybiBzZWxlY3Rpb247CiAKLSAgICBFbGVtZW50KiBl
bGVtZW50ID0gY29udHJvbGxlci0+Y29udGFpbmVyRWxlbWVudCgpOworICAgIEVsZW1lbnQqIGVs
ZW1lbnQgPSBtX2RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmNvbnRhaW5lckVsZW1lbnQoKTsKICAg
ICBpZiAoIWVsZW1lbnQpCiAgICAgICAgIHJldHVybiBzZWxlY3Rpb247CiAgICAgVmlzaWJsZVNl
bGVjdGlvbiB1cGRhdGVkU2VsZWN0aW9uID0gc2VsZWN0aW9uOwpAQCAtMTU4LDYgKzE1Nyw3IEBA
IFZpc2libGVTZWxlY3Rpb24gRWRpdG9yOjphdm9pZEludGVyc2VjdGlvbldpdGhEZWxldGVCdXR0
b25Db250cm9sbGVyKGNvbnN0IFZpc2liCiAKICAgICByZXR1cm4gdXBkYXRlZFNlbGVjdGlvbjsK
IH0KKwogI2VuZGlmCiAKIC8vIFdoZW4gYW4gZXZlbnQgaGFuZGxlciBoYXMgbW92ZWQgdGhlIHNl
bGVjdGlvbiBvdXRzaWRlIG9mIGEgdGV4dCBjb250cm9sCkBAIC04OTMsNiArODkzLDkgQEAgdm9p
ZCBFZGl0b3I6OnJlYXBwbGllZEVkaXRpbmcoUGFzc1JlZlB0cjxFZGl0Q29tbWFuZENvbXBvc2l0
aW9uPiBjbWQpCiAKIEVkaXRvcjo6RWRpdG9yKEZyYW1lJiBmcmFtZSkKICAgICA6IG1fZnJhbWUo
ZnJhbWUpCisjaWYgRU5BQkxFKERFTEVUSU9OX1VJKQorICAgICwgbV9kZWxldGVCdXR0b25Db250
cm9sbGVyKGFkb3B0UHRyKG5ldyBEZWxldGVCdXR0b25Db250cm9sbGVyKGZyYW1lKSkpCisjZW5k
aWYKICAgICAsIG1faWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UoZmFsc2UpCiAgICAg
LCBtX3Nob3VsZFN0YXJ0TmV3S2lsbFJpbmdTZXF1ZW5jZShmYWxzZSkKICAgICAvLyBUaGlzIGlz
IG9mZiBieSBkZWZhdWx0LCBzaW5jZSBtb3N0IGVkaXRvcnMgd2FudCB0aGlzIGJlaGF2aW9yICh0
aGlzIG1hdGNoZXMgSUUgYnV0IG5vdCBGRikuCkBAIC05MDQsOSArOTA3LDYgQEAgRWRpdG9yOjpF
ZGl0b3IoRnJhbWUmIGZyYW1lKQogICAgICwgbV9kZWZhdWx0UGFyYWdyYXBoU2VwYXJhdG9yKEVk
aXRvclBhcmFncmFwaFNlcGFyYXRvcklzRGl2KQogICAgICwgbV9vdmVyd3JpdGVNb2RlRW5hYmxl
ZChmYWxzZSkKIHsKLSNpZiBFTkFCTEUoREVMRVRJT05fVUkpCi0gICAgbV9kZWxldGVCdXR0b25D
b250cm9sbGVyID0gYWRvcHRQdHIobmV3IERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoJmZyYW1lKSk7
Ci0jZW5kaWYKIH0KIAogRWRpdG9yOjp+RWRpdG9yKCkKQEAgLTkyMSw3ICs5MjEsNyBAQCB2b2lk
IEVkaXRvcjo6Y2xlYXIoKQogICAgIG1fZGVmYXVsdFBhcmFncmFwaFNlcGFyYXRvciA9IEVkaXRv
clBhcmFncmFwaFNlcGFyYXRvcklzRGl2OwogCiAjaWYgRU5BQkxFKERFTEVUSU9OX1VJKQotICAg
IG1fZGVsZXRlQnV0dG9uQ29udHJvbGxlciA9IGFkb3B0UHRyKG5ldyBEZWxldGVCdXR0b25Db250
cm9sbGVyKCZtX2ZyYW1lKSk7CisgICAgbV9kZWxldGVCdXR0b25Db250cm9sbGVyID0gYWRvcHRQ
dHIobmV3IERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIobV9mcmFtZSkpOwogI2VuZGlmCiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IDBiZTFhMDBlN2I0NTNjNWUzYzc5YWU4Zjk2N2M2YTgw
ZjZkMmQzZTguLmI4ZjNiMzNhZGRmZWFhODc5YzlhNGY3NzUzNWNhZDNiNDhkN2U3OTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuaApAQCAtOTIsMTUgKzkyLDYgQEAgcHVibGljOgogICAgIEVkaXRv
ckNsaWVudCogY2xpZW50KCkgY29uc3Q7CiAgICAgVGV4dENoZWNrZXJDbGllbnQqIHRleHRDaGVj
a2VyKCkgY29uc3Q7CiAKLSNpZiBFTkFCTEUoREVMRVRJT05fVUkpCi0gICAgRGVsZXRlQnV0dG9u
Q29udHJvbGxlciogZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fZGVs
ZXRlQnV0dG9uQ29udHJvbGxlci5nZXQoKTsgfQotICAgIFBhc3NSZWZQdHI8UmFuZ2U+IGF2b2lk
SW50ZXJzZWN0aW9uV2l0aERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoY29uc3QgUmFuZ2UqKSBjb25z
dDsKLSAgICBWaXNpYmxlU2VsZWN0aW9uIGF2b2lkSW50ZXJzZWN0aW9uV2l0aERlbGV0ZUJ1dHRv
bkNvbnRyb2xsZXIoY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpIGNvbnN0OwotI2Vsc2UKLSAgICBQ
YXNzUmVmUHRyPFJhbmdlPiBhdm9pZEludGVyc2VjdGlvbldpdGhEZWxldGVCdXR0b25Db250cm9s
bGVyKFJhbmdlKiByYW5nZSkgY29uc3QgeyByZXR1cm4gcmFuZ2U7IH0KLSAgICBWaXNpYmxlU2Vs
ZWN0aW9uIGF2b2lkSW50ZXJzZWN0aW9uV2l0aERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uKSBjb25zdCB7IHJldHVybiBzZWxlY3Rpb247IH0K
LSNlbmRpZgotCiAgICAgQ29tcG9zaXRlRWRpdENvbW1hbmQqIGxhc3RFZGl0Q29tbWFuZCgpIHsg
cmV0dXJuIG1fbGFzdEVkaXRDb21tYW5kLmdldCgpOyB9CiAKICAgICB2b2lkIGhhbmRsZUtleWJv
YXJkRXZlbnQoS2V5Ym9hcmRFdmVudCopOwpAQCAtMjEzLDEwICsyMDQsNiBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpbnNlcnRMaW5lQnJlYWsoKTsKICAgICBib29sIGluc2VydFBhcmFncmFwaFNlcGFy
YXRvcigpOwogCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGJvb2wgaW5zZXJ0UGFyYWdyYXBoU2Vw
YXJhdG9ySW5RdW90ZWRDb250ZW50KCk7Ci0jZW5kaWYKLSAgICAKICAgICBib29sIGlzQ29udGlu
dW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgY29uc3Q7CiAgICAgdm9pZCB0b2dnbGVDb250aW51
b3VzU3BlbGxDaGVja2luZygpOwogICAgIGJvb2wgaXNHcmFtbWFyQ2hlY2tpbmdFbmFibGVkKCk7
CkBAIC0yNDAsMjggKzIyNyw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzT3ZlcndyaXRlTW9kZUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX292ZXJ3cml0ZU1vZGVFbmFibGVkOyB9CiAgICAgdm9p
ZCB0b2dnbGVPdmVyd3JpdGVNb2RlRW5hYmxlZCgpOwogCi0jaWYgVVNFKEFQUEtJVCkKLSAgICB2
b2lkIHVwcGVyY2FzZVdvcmQoKTsKLSAgICB2b2lkIGxvd2VyY2FzZVdvcmQoKTsKLSAgICB2b2lk
IGNhcGl0YWxpemVXb3JkKCk7Ci0jZW5kaWYKLQotI2lmIFVTRShBVVRPTUFUSUNfVEVYVF9SRVBM
QUNFTUVOVCkKLSAgICB2b2lkIHNob3dTdWJzdGl0dXRpb25zUGFuZWwoKTsKLSAgICBib29sIHN1
YnN0aXR1dGlvbnNQYW5lbElzU2hvd2luZygpOwotICAgIHZvaWQgdG9nZ2xlU21hcnRJbnNlcnRE
ZWxldGUoKTsKLSAgICBib29sIGlzQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkKCk7
Ci0gICAgdm9pZCB0b2dnbGVBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbigpOwotICAgIGJvb2wg
aXNBdXRvbWF0aWNMaW5rRGV0ZWN0aW9uRW5hYmxlZCgpOwotICAgIHZvaWQgdG9nZ2xlQXV0b21h
dGljTGlua0RldGVjdGlvbigpOwotICAgIGJvb2wgaXNBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9u
RW5hYmxlZCgpOwotICAgIHZvaWQgdG9nZ2xlQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbigpOwot
ICAgIGJvb2wgaXNBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRFbmFibGVkKCk7Ci0gICAgdm9pZCB0
b2dnbGVBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnQoKTsKLSAgICBib29sIGlzQXV0b21hdGljU3Bl
bGxpbmdDb3JyZWN0aW9uRW5hYmxlZCgpOwotICAgIHZvaWQgdG9nZ2xlQXV0b21hdGljU3BlbGxp
bmdDb3JyZWN0aW9uKCk7Ci0jZW5kaWYKLQogICAgIHZvaWQgbWFya0FsbE1pc3NwZWxsaW5nc0Fu
ZEJhZEdyYW1tYXJJblJhbmdlcyhUZXh0Q2hlY2tpbmdUeXBlTWFzaywgUmFuZ2UqIHNwZWxsaW5n
UmFuZ2UsIFJhbmdlKiBncmFtbWFyUmFuZ2UpOwogICAgIHZvaWQgY2hhbmdlQmFja1RvUmVwbGFj
ZWRTdHJpbmcoY29uc3QgU3RyaW5nJiByZXBsYWNlZFN0cmluZyk7CiAKQEAgLTM4MiwyMCArMzQ3
LDYgQEAgcHVibGljOgogICAgIHZvaWQgdGV4dERpZENoYW5nZUluVGV4dEFyZWEoRWxlbWVudCop
OwogICAgIFdyaXRpbmdEaXJlY3Rpb24gYmFzZVdyaXRpbmdEaXJlY3Rpb25Gb3JTZWxlY3Rpb25T
dGFydCgpIGNvbnN0OwogCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGNvbnN0IFNpbXBsZUZvbnRE
YXRhKiBmb250Rm9yU2VsZWN0aW9uKGJvb2wmKSBjb25zdDsKLSAgICBOU0RpY3Rpb25hcnkqIGZv
bnRBdHRyaWJ1dGVzRm9yU2VsZWN0aW9uU3RhcnQoKSBjb25zdDsKLSAgICBib29sIGNhbkNvcHlF
eGNsdWRpbmdTdGFuZGFsb25lSW1hZ2VzKCk7Ci0gICAgdm9pZCB0YWtlRmluZFN0cmluZ0Zyb21T
ZWxlY3Rpb24oKTsKLSAgICB2b2lkIHdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKFBhc3RlYm9h
cmQmKTsKLSAgICB2b2lkIHJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lKTsKLSAgICBTdHJpbmcgc3RyaW5nU2VsZWN0aW9uRm9yUGFzdGVib2Fy
ZCgpOwotICAgIFN0cmluZyBzdHJpbmdTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkV2l0aEltYWdlQWx0
VGV4dCgpOwotICAgIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBkYXRhU2VsZWN0aW9uRm9yUGFz
dGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKTsKLSAgICB2b2lkIHdyaXRlVVJM
VG9QYXN0ZWJvYXJkKFBhc3RlYm9hcmQmLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB0aXRs
ZSk7Ci0gICAgdm9pZCB3cml0ZUltYWdlVG9QYXN0ZWJvYXJkKFBhc3RlYm9hcmQmLCBFbGVtZW50
JiBpbWFnZUVsZW1lbnQsIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSNlbmRp
ZgotCiAgICAgdm9pZCByZXBsYWNlU2VsZWN0aW9uV2l0aEZyYWdtZW50KFBhc3NSZWZQdHI8RG9j
dW1lbnRGcmFnbWVudD4sIGJvb2wgc2VsZWN0UmVwbGFjZW1lbnQsIGJvb2wgc21hcnRSZXBsYWNl
LCBib29sIG1hdGNoU3R5bGUpOwogICAgIHZvaWQgcmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0KGNv
bnN0IFN0cmluZyYsIGJvb2wgc2VsZWN0UmVwbGFjZW1lbnQsIGJvb2wgc21hcnRSZXBsYWNlKTsK
ICAgICBib29sIHNlbGVjdGlvblN0YXJ0SGFzTWFya2VyRm9yKERvY3VtZW50TWFya2VyOjpNYXJr
ZXJUeXBlLCBpbnQgZnJvbSwgaW50IGxlbmd0aCkgY29uc3Q7CkBAIC00MTEsMTEgKzM2Miw3OCBA
QCBwdWJsaWM6CiAgICAgVmVjdG9yPFN0cmluZz4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzRm9yTWFy
a2VyKGNvbnN0IERvY3VtZW50TWFya2VyKik7CiAgICAgdm9pZCBhcHBseURpY3RhdGlvbkFsdGVy
bmF0aXZlbHRlcm5hdGl2ZShjb25zdCBTdHJpbmcmIGFsdGVybmF0aXZlU3RyaW5nKTsKIAorICAg
IFBhc3NSZWZQdHI8UmFuZ2U+IGF2b2lkSW50ZXJzZWN0aW9uV2l0aERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoY29uc3QgUmFuZ2UqKSBjb25zdDsKKyAgICBWaXNpYmxlU2VsZWN0aW9uIGF2b2lkSW50
ZXJzZWN0aW9uV2l0aERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoY29uc3QgVmlzaWJsZVNlbGVjdGlv
biYpIGNvbnN0OworCisjaWYgVVNFKEFQUEtJVCkKKyAgICB2b2lkIHVwcGVyY2FzZVdvcmQoKTsK
KyAgICB2b2lkIGxvd2VyY2FzZVdvcmQoKTsKKyAgICB2b2lkIGNhcGl0YWxpemVXb3JkKCk7Cisj
ZW5kaWYKKworI2lmIFVTRShBVVRPTUFUSUNfVEVYVF9SRVBMQUNFTUVOVCkKKyAgICB2b2lkIHNo
b3dTdWJzdGl0dXRpb25zUGFuZWwoKTsKKyAgICBib29sIHN1YnN0aXR1dGlvbnNQYW5lbElzU2hv
d2luZygpOworICAgIHZvaWQgdG9nZ2xlU21hcnRJbnNlcnREZWxldGUoKTsKKyAgICBib29sIGlz
QXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkKCk7CisgICAgdm9pZCB0b2dnbGVBdXRv
bWF0aWNRdW90ZVN1YnN0aXR1dGlvbigpOworICAgIGJvb2wgaXNBdXRvbWF0aWNMaW5rRGV0ZWN0
aW9uRW5hYmxlZCgpOworICAgIHZvaWQgdG9nZ2xlQXV0b21hdGljTGlua0RldGVjdGlvbigpOwor
ICAgIGJvb2wgaXNBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCgpOworICAgIHZvaWQg
dG9nZ2xlQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbigpOworICAgIGJvb2wgaXNBdXRvbWF0aWNU
ZXh0UmVwbGFjZW1lbnRFbmFibGVkKCk7CisgICAgdm9pZCB0b2dnbGVBdXRvbWF0aWNUZXh0UmVw
bGFjZW1lbnQoKTsKKyAgICBib29sIGlzQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxl
ZCgpOworICAgIHZvaWQgdG9nZ2xlQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uKCk7CisjZW5k
aWYKKworI2lmIEVOQUJMRShERUxFVElPTl9VSSkKKyAgICBEZWxldGVCdXR0b25Db250cm9sbGVy
JiBkZWxldGVCdXR0b25Db250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gKm1fZGVsZXRlQnV0dG9u
Q29udHJvbGxlcjsgfQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisgICAgYm9vbCBpbnNl
cnRQYXJhZ3JhcGhTZXBhcmF0b3JJblF1b3RlZENvbnRlbnQoKTsKKyAgICBjb25zdCBTaW1wbGVG
b250RGF0YSogZm9udEZvclNlbGVjdGlvbihib29sJikgY29uc3Q7CisgICAgTlNEaWN0aW9uYXJ5
KiBmb250QXR0cmlidXRlc0ZvclNlbGVjdGlvblN0YXJ0KCkgY29uc3Q7CisgICAgYm9vbCBjYW5D
b3B5RXhjbHVkaW5nU3RhbmRhbG9uZUltYWdlcygpOworICAgIHZvaWQgdGFrZUZpbmRTdHJpbmdG
cm9tU2VsZWN0aW9uKCk7CisgICAgdm9pZCB3cml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZChQYXN0
ZWJvYXJkJik7CisgICAgdm9pZCByZWFkU2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQoY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSk7CisgICAgU3RyaW5nIHN0cmluZ1NlbGVjdGlvbkZvclBhc3Rl
Ym9hcmQoKTsKKyAgICBTdHJpbmcgc3RyaW5nU2VsZWN0aW9uRm9yUGFzdGVib2FyZFdpdGhJbWFn
ZUFsdFRleHQoKTsKKyAgICBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YVNlbGVjdGlvbkZv
clBhc3RlYm9hcmQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7CisgICAgdm9pZCB3cml0
ZVVSTFRvUGFzdGVib2FyZChQYXN0ZWJvYXJkJiwgY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYg
dGl0bGUpOworICAgIHZvaWQgd3JpdGVJbWFnZVRvUGFzdGVib2FyZChQYXN0ZWJvYXJkJiwgRWxl
bWVudCYgaW1hZ2VFbGVtZW50LCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB0aXRsZSk7Cisg
ICAgU3RyaW5nIHJlYWRQbGFpblRleHRGcm9tUGFzdGVib2FyZChQYXN0ZWJvYXJkJik7CisjZW5k
aWYKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBFZGl0b3IoRnJhbWUmKTsKIAogICAgIERvY3Vt
ZW50JiBkb2N1bWVudCgpIGNvbnN0OwogCisgICAgYm9vbCBjYW5EZWxldGVSYW5nZShSYW5nZSop
IGNvbnN0OworICAgIGJvb2wgY2FuU21hcnRSZXBsYWNlV2l0aFBhc3RlYm9hcmQoUGFzdGVib2Fy
ZCopOworICAgIHZvaWQgcGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0ZWJvYXJkKFBhc3RlYm9hcmQq
KTsKKyAgICB2b2lkIHBhc3RlV2l0aFBhc3RlYm9hcmQoUGFzdGVib2FyZCosIGJvb2wgYWxsb3dQ
bGFpblRleHQpOworCisgICAgdm9pZCByZXZlYWxTZWxlY3Rpb25BZnRlckVkaXRpbmdPcGVyYXRp
b24oY29uc3QgU2Nyb2xsQWxpZ25tZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJ
Zk5lZWRlZCwgUmV2ZWFsRXh0ZW50T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQpOworICAgIHZv
aWQgbWFya01pc3NwZWxsaW5nc09yQmFkR3JhbW1hcihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwg
Ym9vbCBjaGVja1NwZWxsaW5nLCBSZWZQdHI8UmFuZ2U+JiBmaXJzdE1pc3NwZWxsaW5nUmFuZ2Up
OworICAgIFRleHRDaGVja2luZ1R5cGVNYXNrIHJlc29sdmVUZXh0Q2hlY2tpbmdUeXBlTWFzayhU
ZXh0Q2hlY2tpbmdUeXBlTWFzayk7CisKKyAgICBTdHJpbmcgc2VsZWN0ZWRUZXh0KFRleHRJdGVy
YXRvckJlaGF2aW9yKSBjb25zdDsKKworICAgIHZvaWQgc2VsZWN0Q29tcG9zaXRpb24oKTsKKyAg
ICBlbnVtIFNldENvbXBvc2l0aW9uTW9kZSB7IENvbmZpcm1Db21wb3NpdGlvbiwgQ2FuY2VsQ29t
cG9zaXRpb24gfTsKKyAgICB2b2lkIHNldENvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYsIFNldENv
bXBvc2l0aW9uTW9kZSk7CisKKyAgICB2b2lkIGNoYW5nZVNlbGVjdGlvbkFmdGVyQ29tbWFuZChj
b25zdCBWaXNpYmxlU2VsZWN0aW9uJiBuZXdTZWxlY3Rpb24sIEZyYW1lU2VsZWN0aW9uOjpTZXRT
ZWxlY3Rpb25PcHRpb25zKTsKKyAgICB2b2lkIG5vdGlmeUNvbXBvbmVudHNPbkNoYW5nZWRTZWxl
Y3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgb2xkU2VsZWN0aW9uLCBGcmFtZVNlbGVjdGlv
bjo6U2V0U2VsZWN0aW9uT3B0aW9ucyk7CisKKyAgICBOb2RlKiBmaW5kRXZlbnRUYXJnZXRGcm9t
U2VsZWN0aW9uKCkgY29uc3Q7CisKKyAgICBib29sIHVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQo
KSBjb25zdDsKKwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gc2VsZWN0aW9uSW5XZWJBcmNoaXZlRm9ybWF0KCk7CiAgICAgUGFzc1JlZlB0cjxSYW5nZT4g
YWRqdXN0ZWRTZWxlY3Rpb25SYW5nZSgpOwpAQCAtNDQwLDI4ICs0NTgsNiBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9hcmVNYXJrZWRUZXh0TWF0Y2hlc0hpZ2hsaWdodGVkOwogICAgIEVkaXRvclBh
cmFncmFwaFNlcGFyYXRvciBtX2RlZmF1bHRQYXJhZ3JhcGhTZXBhcmF0b3I7CiAgICAgYm9vbCBt
X292ZXJ3cml0ZU1vZGVFbmFibGVkOwotCi0gICAgYm9vbCBjYW5EZWxldGVSYW5nZShSYW5nZSop
IGNvbnN0OwotICAgIGJvb2wgY2FuU21hcnRSZXBsYWNlV2l0aFBhc3RlYm9hcmQoUGFzdGVib2Fy
ZCopOwotICAgIHZvaWQgcGFzdGVBc1BsYWluVGV4dFdpdGhQYXN0ZWJvYXJkKFBhc3RlYm9hcmQq
KTsKLSAgICB2b2lkIHBhc3RlV2l0aFBhc3RlYm9hcmQoUGFzdGVib2FyZCosIGJvb2wgYWxsb3dQ
bGFpblRleHQpOwotCi0gICAgdm9pZCByZXZlYWxTZWxlY3Rpb25BZnRlckVkaXRpbmdPcGVyYXRp
b24oY29uc3QgU2Nyb2xsQWxpZ25tZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJ
Zk5lZWRlZCwgUmV2ZWFsRXh0ZW50T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQpOwotICAgIHZv
aWQgbWFya01pc3NwZWxsaW5nc09yQmFkR3JhbW1hcihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwg
Ym9vbCBjaGVja1NwZWxsaW5nLCBSZWZQdHI8UmFuZ2U+JiBmaXJzdE1pc3NwZWxsaW5nUmFuZ2Up
OwotICAgIFRleHRDaGVja2luZ1R5cGVNYXNrIHJlc29sdmVUZXh0Q2hlY2tpbmdUeXBlTWFzayhU
ZXh0Q2hlY2tpbmdUeXBlTWFzayk7Ci0KLSAgICBTdHJpbmcgc2VsZWN0ZWRUZXh0KFRleHRJdGVy
YXRvckJlaGF2aW9yKSBjb25zdDsKLQotICAgIHZvaWQgc2VsZWN0Q29tcG9zaXRpb24oKTsKLSAg
ICBlbnVtIFNldENvbXBvc2l0aW9uTW9kZSB7IENvbmZpcm1Db21wb3NpdGlvbiwgQ2FuY2VsQ29t
cG9zaXRpb24gfTsKLSAgICB2b2lkIHNldENvbXBvc2l0aW9uKGNvbnN0IFN0cmluZyYsIFNldENv
bXBvc2l0aW9uTW9kZSk7Ci0KLSAgICB2b2lkIGNoYW5nZVNlbGVjdGlvbkFmdGVyQ29tbWFuZChj
b25zdCBWaXNpYmxlU2VsZWN0aW9uJiBuZXdTZWxlY3Rpb24sIEZyYW1lU2VsZWN0aW9uOjpTZXRT
ZWxlY3Rpb25PcHRpb25zKTsKLSAgICB2b2lkIG5vdGlmeUNvbXBvbmVudHNPbkNoYW5nZWRTZWxl
Y3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgb2xkU2VsZWN0aW9uLCBGcmFtZVNlbGVjdGlv
bjo6U2V0U2VsZWN0aW9uT3B0aW9ucyk7Ci0KLSAgICBOb2RlKiBmaW5kRXZlbnRUYXJnZXRGcm9t
U2VsZWN0aW9uKCkgY29uc3Q7Ci0KLSAgICBib29sIHVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQo
KSBjb25zdDsKIH07CiAKIGlubGluZSB2b2lkIEVkaXRvcjo6c2V0U3RhcnROZXdLaWxsUmluZ1Nl
cXVlbmNlKGJvb2wgZmxhZykKQEAgLTQ4NCw2ICs0ODAsMTkgQEAgaW5saW5lIGJvb2wgRWRpdG9y
OjptYXJrZWRUZXh0TWF0Y2hlc0FyZUhpZ2hsaWdodGVkKCkgY29uc3QKICAgICByZXR1cm4gbV9h
cmVNYXJrZWRUZXh0TWF0Y2hlc0hpZ2hsaWdodGVkOwogfQogCisjaWYgIUVOQUJMRShERUxFVElP
Tl9VSSkKKworaW5saW5lIFBhc3NSZWZQdHI8UmFuZ2U+IEVkaXRvcjo6YXZvaWRJbnRlcnNlY3Rp
b25XaXRoRGVsZXRlQnV0dG9uQ29udHJvbGxlcihSYW5nZSogcmFuZ2UpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHJhbmdlOworfQorCitpbmxpbmUgVmlzaWJsZVNlbGVjdGlvbiBFZGl0b3I6OmF2b2lk
SW50ZXJzZWN0aW9uV2l0aERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoY29uc3QgVmlzaWJsZVNlbGVj
dGlvbiYgc2VsZWN0aW9uKSBjb25zdAoreworICAgIHJldHVybiBzZWxlY3Rpb247Cit9CisKKyNl
bmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvbWFya3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNw
cAppbmRleCBkZDcwMjZjOWMyNWU1MDI1NGNlNmE4YzhjOTZhN2Y0MWFmMTI1MGNiLi5iMDE2ZDEx
MzcyMjMxM2ZmNjE2MGViZDQyMjk1MjlkYTcwY2M3YjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL21hcmt1cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJr
dXAuY3BwCkBAIC03NTcsMTQgKzc1NywxNCBAQCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+
IGNyZWF0ZUZyYWdtZW50RnJvbU1hcmt1cFdpdGhDb250ZXh0KERvY3VtZW50KiBkb2N1bQogU3Ry
aW5nIGNyZWF0ZU1hcmt1cChjb25zdCBOb2RlKiBub2RlLCBFQ2hpbGRyZW5Pbmx5IGNoaWxkcmVu
T25seSwgVmVjdG9yPE5vZGUqPiogbm9kZXMsIEVBYnNvbHV0ZVVSTHMgc2hvdWxkUmVzb2x2ZVVS
THMsIFZlY3RvcjxRdWFsaWZpZWROYW1lPiogdGFnTmFtZXNUb1NraXAsIEVGcmFnbWVudFNlcmlh
bGl6YXRpb24gZnJhZ21lbnRTZXJpYWxpemF0aW9uKQogewogICAgIGlmICghbm9kZSkKLSAgICAg
ICAgcmV0dXJuICIiOworICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIEhUTUxF
bGVtZW50KiBkZWxldGVCdXR0b25Db250YWluZXJFbGVtZW50ID0gMDsKICNpZiBFTkFCTEUoREVM
RVRJT05fVUkpCiAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IG5vZGUtPmRvY3VtZW50KCkuZnJhbWUo
KSkgewotICAgICAgICBkZWxldGVCdXR0b25Db250YWluZXJFbGVtZW50ID0gZnJhbWUtPmVkaXRv
cigpLmRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoKS0+Y29udGFpbmVyRWxlbWVudCgpOworICAgICAg
ICBkZWxldGVCdXR0b25Db250YWluZXJFbGVtZW50ID0gZnJhbWUtPmVkaXRvcigpLmRlbGV0ZUJ1
dHRvbkNvbnRyb2xsZXIoKS5jb250YWluZXJFbGVtZW50KCk7CiAgICAgICAgIGlmIChub2RlLT5p
c0Rlc2NlbmRhbnRPZihkZWxldGVCdXR0b25Db250YWluZXJFbGVtZW50KSkKLSAgICAgICAgICAg
IHJldHVybiAiIjsKKyAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogICAgIH0KICNl
bmRpZgogICAgIE1hcmt1cEFjY3VtdWxhdG9yIGFjY3VtdWxhdG9yKG5vZGVzLCBzaG91bGRSZXNv
bHZlVVJMcywgMCwgZnJhZ21lbnRTZXJpYWxpemF0aW9uKTsK
</data>
<flag name="review"
          id="233044"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="233046"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>