<?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>19653</bug_id>
          
          <creation_ts>2008-06-18 06:27:11 -0700</creation_ts>
          <short_desc>Typing style lost when creating list from, indenting or outdenting an empty paragraph</short_desc>
          <delta_ts>2008-06-19 17:23:31 -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>PC</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Bloom">futurama</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jparent</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>ovafai</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>83757</commentid>
    <comment_count>0</comment_count>
    <who name="David Bloom">futurama</who>
    <bug_when>2008-06-18 06:27:11 -0700</bug_when>
    <thetext>1. go to http://www.mozilla.org/editor/midasdemo/
2. change the font
3. type &quot;foo&quot;, newline
4. create a numbered or bulleted list
5. type &quot;bar&quot;

expected: &quot;bar&quot; is in the same font as &quot;foo&quot;
actual: the font was reset to the default for &quot;bar&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83814</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-06-18 18:31:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/6020087&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83821</commentid>
    <comment_count>2</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2008-06-18 19:42:24 -0700</bug_when>
    <thetext>Happens in a couple of other scenarios as well, including on indent.  Only happens if the paragraph that contains the caret is empty.  I confirmed that this is not specific to the midasdemo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83823</commentid>
    <comment_count>3</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2008-06-18 19:44:30 -0700</bug_when>
    <thetext>Also confirmed that this happens on all platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83833</commentid>
    <comment_count>4</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2008-06-18 21:37:38 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; 1. go to http://www.mozilla.org/editor/midasdemo/
&gt; 2. change the font
&gt; 3. type &quot;foo&quot;, newline
&gt; 4. create a numbered or bulleted list
&gt; 5. type &quot;bar&quot;
&gt; 
&gt; expected: &quot;bar&quot; is in the same font as &quot;foo&quot;
&gt; actual: the font was reset to the default for &quot;bar&quot;

This doesn&apos;t work in FireFox, either, by the way.  Also clicking on buttons in the toolbar steals focus from the editable region in FireFox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83834</commentid>
    <comment_count>5</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2008-06-18 21:39:15 -0700</bug_when>
    <thetext>&gt; Also clicking on buttons in the toolbar steals focus from the editable region in FireFox.

That&apos;s a FF3 regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83848</commentid>
    <comment_count>6</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2008-06-19 02:13:08 -0700</bug_when>
    <thetext>I have a fix for this coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83902</commentid>
    <comment_count>7</comment_count>
      <attachid>21844</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2008-06-19 12:06:02 -0700</bug_when>
    <thetext>Created attachment 21844
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83926</commentid>
    <comment_count>8</comment_count>
      <attachid>21844</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2008-06-19 15:35:58 -0700</bug_when>
    <thetext>Comment on attachment 21844
patch

Sullivan reviewed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83939</commentid>
    <comment_count>9</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2008-06-19 17:23:31 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/34681</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21844</attachid>
            <date>2008-06-19 12:06:02 -0700</date>
            <delta_ts>2008-06-19 15:35:58 -0700</delta_ts>
            <desc>patch</desc>
            <filename>mypat.txt</filename>
            <type>text/plain</type>
            <size>32976</size>
            <attacher name="Justin Garcia">justin.garcia</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNDY2MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzggQEAKKzIwMDgtMDYtMTkgIEp1c3RpbiBHYXJjaWEgIDxqdXN0aW4uZ2FyY2lh
QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjUzPgorICAg
ICAgICBUeXBpbmcgc3R5bGUgbG9zdCB3aGVuIGNyZWF0aW5nIGxpc3QgZnJvbSwgaW5kZW50aW5n
IG9yIG91dGRlbnRpbmcgYW4gZW1wdHkgcGFyYWdyYXBoCisgICAgICAgIAorICAgICAgICBUaGVy
ZSB3ZXJlIHR3byBwcm9ibGVtcy4gIEZpcnN0LCBtb3ZlUGFyYWdyYXBocyBkaWRuJ3QgcHJlc2Vy
dmUgdGhlIHN0eWxlIG9mIGVtcHR5IHBhcmFncmFwaHMuCisgICAgICAgIFNlY29uZCwgaW5kZW50
LCBvdXRkZW50IGFuZCBsaXN0IGNyZWF0aW9uIHJldHVybmVkIGZhbHNlIGZyb20gcHJlc2VydmVz
VHlwaW5nU3R5bGUuCisgICAgICAgIFRoZSBzZWNvbmQgcHJvYmxlbSBjb3VsZG4ndCBiZSBmaXhl
ZCBieSBqdXN0IGFkZGluZyBwcmVzZXJ2ZXNUeXBpbmdTdHlsZSgpIHsgcmV0dXJuIHRydWU7IH0K
KyAgICAgICAgdG8gdGhvc2UgY29tbWFuZHMsIHRob3VnaCwgYmVjYXVzZSBvZiBvdGhlciBidWdz
LgorICAgICAgICAKKyAgICAgICAgQ2xlYW5lZCB1cCB0aGUgaW1wbGVtZW50YXRpb24gb2YgdHlw
aW5nIHN0eWxlIGVub3VnaCB0byByZW1vdmUgRklYTUVzIGZvcjoKKyAgICAgICAgCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zNzY5ODk5PiBJbXBsZW1lbnRhdGlvbiBvZiB0eXBpbmcgc3R5bGUg
bmVlZHMgaW1wcm92ZW1lbnQgCisgICAgICAgIAorICAgICAgICB3aGljaCBoYXMgYWN0dWFsbHkg
YmVlbiBjbG9zZWQgZm9yIHNvbWUgdGltZSBub3cgYW55d2F5LgorICAgICAgICAKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOiBSZW1vdmVkIGFuIHVudXNlZCBoZWFkZXIuCisgICAgICAgICog
ZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21w
b3NpdGVFZGl0Q29tbWFuZDo6bW92ZVBhcmFncmFwaHMpOiBQcmVzZXJ2ZSB0aGUgc3R5bGUgb2Yg
YW4gZW1wdHkgcGFyYWdyYXBoLCB0b28uCisgICAgICAgICogZWRpdGluZy9EZWxldGVTZWxlY3Rp
b25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6
OnNhdmVUeXBpbmdTdHlsZVN0YXRlKTogUmVtb3ZlZCBGSVhNRS4KKyAgICAgICAgKFdlYkNvcmU6
OkRlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OmNhbGN1bGF0ZVR5cGluZ1N0eWxlQWZ0ZXJEZWxldGUp
OiAKKyAgICAgICAgUmVtb3ZlZCBGSVhNRS4gIAorICAgICAgICBJZiB0aGVyZSBpcyBhIHR5cGlu
ZyBzdHlsZSB0byBhcHBseSBhZnRlciBhIGRlbGV0ZSwgYXBwbHkgaXQgdG8gYW55IGxpbmUgYnJl
YWsgdGhhdCBhY3RzIGFzIGEgcGFyYWdyYXBoCisgICAgICAgIHBsYWNlaG9sZGVyLCBub3Qgb25s
eSBvbmUgdGhhdCB3YXMgaW5zZXJ0ZWQgYnkgZGVsZXRpb24uICBUaGlzIGZpeGVzIGEgYnVnIHdo
ZXJlIGRlbGV0aW5nCisgICAgICAgIDxkaXY+PGI+Qm9sZDwvYj48YnI+PC9kaXY+LCBjaGFuZ2lu
ZyB0aGUgc2VsZWN0aW9uIGFuZCB0aGVuIGNvbWluZyBiYWNrIGFuZCB0eXBpbmcgd291bGRuJ3Qg
CisgICAgICAgIHByb2R1Y2UgYm9sZCB0ZXh0LiAgCisgICAgICAgIERvbid0IHNldCB0aGUgRWRp
dENvbW1hbmQncyB0eXBpbmdTdHlsZSwgaXQgaGFzIGJlZW4gcmVtb3ZlZCAobW9yZSBvbiB0aGF0
IGxhdGVyKS4KKyAgICAgICAgKFdlYkNvcmU6OkRlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBw
bHkpOiBXZSBkb24ndCBuZWVkIHRvIHBhc3MgY2FsY3VsYXRlVHlwaW5nU3R5bGVBZnRlckRlbGV0
ZQorICAgICAgICB0aGUgaW5zZXJ0ZWQgcGxhY2Vob2xkZXIgYmVjYXVzZSBpdCB3aWxsIGZpbmQg
aXQuCisgICAgICAgIChXZWJDb3JlOjpEZWxldGVTZWxlY3Rpb25Db21tYW5kOjpwcmVzZXJ2ZXNU
eXBpbmdTdHlsZSk6IE5vcm1hbGx5IGRlbGV0aW9uIGRvZXNuJ3QgcHJlc2VydmUgdGhlIAorICAg
ICAgICB0eXBpbmcgc3R5bGUgdGhhdCB3YXMgcHJlc2VudCBiZWZvcmUgaXQuICBGb3IgZXhhbXBs
ZSwgdHlwZSBhIGNoYXJhY3RlciwgQm9sZCwgdGhlbiBkZWxldGUgdGhlIAorICAgICAgICBjaGFy
YWN0ZXIgYW5kIHN0YXJ0IHR5cGluZy4gIFRoZSBCb2xkIHR5cGluZyBzdHlsZSBzaG91bGRuJ3Qg
c3RpY2sgYXJvdW5kLiAgV2UgZ290IHRoaXMgcmlnaHQgYmVmb3JlIAorICAgICAgICBwdXJlbHkg
YnkgY2hhbmNlLiBEZWxldGlvbiBzaG91bGQgcHJlc2VydmUgYSB0eXBpbmcgc3R5bGUgdGhhdCAq
aXQqIHNldHMsIGhvd2V2ZXIuCisgICAgICAgICogZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21t
YW5kLmg6IE5vIGxvbmdlciBuZWVkIHRvIHBhc3MgY2FsY3VsYXRlVHlwaW5nU3R5bGVBZnRlckRl
bGV0ZQorICAgICAgICB0aGUgaW5zZXJ0ZWQgcGxhY2Vob2xkZXIuCisgICAgICAgICogZWRpdGlu
Zy9FZGl0Q29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0Q29tbWFuZDo6YXBwbHkp
OiAKKyAgICAgICAgQ2xlYXJpbmcgb3Igbm90IGNsZWFyaW5nIGEgcmVtb3ZlZCBhbmNob3Igc2hv
dWxkIG5vdCBiZSBkZXRlcm1pbmVkIGJ5IHdoZXRoZXIgb3Igbm90IGEgY29tbWFuZCAKKyAgICAg
ICAgcHJlc2VydmVzVHlwaW5nU3R5bGUoKS4gIEZvciBleGFtcGxlLCB0aGUgZGVsZXRpb24gdGhh
dCByZW1vdmVkIGFuIGFuY2hvciAoYW5kIHN0b3JlZCBpdCksIG1heSAKKyAgICAgICAgbm90IHBy
ZXNlcnZlIHRoZSB0eXBpbmcgc3R5bGUsIGJ1dCB0aGF0IGRvZXNuJ3QgbWVhbiB0aGF0IGl0IHNo
b3VsZCB0aGVuIGdvIGFuZCBjbGVhciB0aGUgcmVtb3ZlZCAKKyAgICAgICAgYW5jaG9yLiAgQWxs
IGNvbW1hbmRzIGV4Y2VwdCB0ZXh0IGluc2VydGlvbiwgd2hpY2ggc2hvdWxkIHJlc3RvcmUgdGhl
IHJlbW92ZWQgYW5jaG9yLCBzaG91bGQgCisgICAgICAgIGNsZWFyIGl0LiAgCisgICAgICAgIFRo
ZXJlIGlzIG5vIGxvbmdlciBhIHR5cGluZyBzdHlsZSBvbiBFZGl0Q29tbWFuZCwgcmVtb3ZlZCBj
b2RlIHRoYXQgY2xlYXJlZCBpdC4gIENvZGUgdGhhdCBjbGVhcnMgdGhlIAorICAgICAgICAqYWN0
dWFsKiB0eXBpbmcgc3R5bGUgaXMgbm93IGluIEVkaXRvcjo6YXBwbGllZEVkaXRpbmcsIGp1c3Qg
bGlrZSBiZWZvcmUuCisgICAgICAgIFRoZXJlIGlzIG5vIGxvbmdlciBhIHR5cGluZyBzdHlsZSBv
biBFZGl0Q29tbWFuZCwgcmVtb3ZlZCBjb2RlIHRvIHNldCBvbmUuCisgICAgICAgIChXZWJDb3Jl
OjpFZGl0Q29tbWFuZDo6c3R5bGVBdFBvc2l0aW9uKTogUmVtb3ZlZCBGSVhNRS4KKyAgICAgICAg
KiBlZGl0aW5nL0VkaXRDb21tYW5kLmg6IAorICAgICAgICBSZW1vdmVkIGNvZGUgYXNzb3NpYXRl
ZCB3aXRoIG1fdHlwaW5nU3R5bGUuCisgICAgICAgIE1hZGUgcHJlc2VydmVzVHlwaW5nU3R5bGUo
KSBwdWJsaWMsIHNvIHRoYXQgd2UgY2FuIGNhbGwgaXQgZnJvbSBFZGl0b3I6OmFwcGxpZWRFZGl0
aW5nKCkuCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RWRpdG9yOjphcHBsaWVkRWRpdGluZyk6CisgICAgICAgIFJlbW92ZWQgY29kZSB0byBwcmVzZXJ2
ZSB0aGUgcmVtb3ZlZEFuY2hvciBkdXJpbmcgdGhlIGNhbGwgdG8gc2V0U2VsZWN0aW9uLCBiZWNh
dXNlIHdlIG5vIGxvbmdlcgorICAgICAgICByZXF1ZXN0IHRvIGNsZWFyIHRoZSB0eXBpbmcgc3R5
bGUgd2l0aCB0aGF0IGNhbGwuICBBbHNvIHJlbW92ZWQgdGhlIEZJWE1FIGFib3V0IHRoaXMuCisg
ICAgICAgIEluc3RlYWQgb2Ygc2V0dGluZyB0aGUgdHlwaW5nIHN0eWxlIGZyb20gdGhlIG9uZSBv
biB0aGUgRWRpdENvbW1hbmQsIHdlIDEpIGNsZWFyIHRoZSB0eXBpbmcgc3R5bGUKKyAgICAgICAg
aWYgdGhlIGNvbW1hbmQgZG9lc24ndCBwcmVzZXJ2ZSBpdCBhbmQgMikgc2V0IGEgdHlwaW5nIHN0
eWxlICpmcm9tIHRoZSBjb21tYW5kIGl0c2VsZiouICBUaGlzCisgICAgICAgIGlzIGN1cnJlbnRs
eSBvbmx5IGRvbmUgYnkgb25lIGNvbW1hbmQsIGRlbGV0aW9uLgorICAgICAgICAqIGVkaXRpbmcv
SW5kZW50T3V0ZGVudENvbW1hbmQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkluZGVudE91dGRlbnRD
b21tYW5kOjpwcmVzZXJ2ZXNUeXBpbmdTdHlsZSk6IEFkZGVkLCByZXR1cm5zIHRydWUuCisgICAg
ICAgICogZWRpdGluZy9JbnNlcnRMaW5lQnJlYWtDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc2VydExpbmVCcmVha0NvbW1hbmQ6OmRvQXBwbHkpOiBSZW1vdmVkIEZJWE1FLgorICAg
ICAgICAqIGVkaXRpbmcvSW5zZXJ0TGlzdENvbW1hbmQuaDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c2VydExpc3RDb21tYW5kOjpwcmVzZXJ2ZXNUeXBpbmdTdHlsZSk6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvSW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9yQ29tbWFuZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kOjphcHBseVN0eWxlQWZ0ZXJJ
bnNlcnRpb24pOiBSZW1vdmVkIEZJWE1FLgorICAgICAgICAqIGVkaXRpbmcvSW5zZXJ0VGV4dENv
bW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zZXJ0VGV4dENvbW1hbmQ6OmlucHV0KTog
UmVtb3ZlZCBGSVhNRS4KKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5
KTogUmVtb3ZlZCBGSVhNRSBhbmQgYWxzbyBhZGRlZCBvbmUgYWJvdXQgY2xlYXJpbmcKKyAgICAg
ICAgdGhlIHR5cGluZyBzdHlsZSBoZXJlLiAgSXQgc2VlbXMgbGlrZSBpdCdzIHNvbWV0aGluZyB0
aGF0IGNvdWxkIHdhaXQgdW50aWwgYWZ0ZXIgdGhlIGNvbW1hbmQKKyAgICAgICAgaGFzIGJlZW4g
cGVyZm9ybWVkLCBzaW5jZSB0aGVyZSBpcyBubyBjb2RlIGJldHdlZW4gdGhpcyBwb2ludCBhbmQg
dGhlIGVuZCBvZiB0aGUgb3BlcmF0aW9uCisgICAgICAgIHRoYXQgcXVlcmllcyBvciB1c2VzIHRo
ZSB0eXBpbmcgc3R5bGUuCisKIDIwMDgtMDYtMTcgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpJbmRleDogV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAko
cmV2aXNpb24gMzQ2NTIpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDcgKzQyLDYgQEAKICNpbmNsdWRlICJEb2N1bWVudFR5cGUuaCIKICNpbmNsdWRl
ICJFZGl0aW5nVGV4dC5oIgogI2luY2x1ZGUgIkVkaXRvci5oIgotI2luY2x1ZGUgIkVkaXRvckNs
aWVudC5oIgogI2luY2x1ZGUgIkVudGl0eVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkV2ZW50Lmgi
CiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvQ29tcG9z
aXRlRWRpdENvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9Db21wb3Np
dGVFZGl0Q29tbWFuZC5jcHAJKHJldmlzaW9uIDM0NjUyKQorKysgV2ViQ29yZS9lZGl0aW5nL0Nv
bXBvc2l0ZUVkaXRDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzU4LDYgKzc1OCwxMyBA
QAogICAgIC8vIHNob3VsZG4ndCBtYXR0ZXIgdGhvdWdoLCBzaW5jZSBtb3ZlZCBwYXJhZ3JhcGhz
IHdpbGwgdXN1YWxseSBiZSBxdWl0ZSBzbWFsbC4KICAgICBSZWZQdHI8RG9jdW1lbnRGcmFnbWVu
dD4gZnJhZ21lbnQgPSBzdGFydE9mUGFyYWdyYXBoVG9Nb3ZlICE9IGVuZE9mUGFyYWdyYXBoVG9N
b3ZlID8gY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKGRvY3VtZW50KCksIGNyZWF0ZU1hcmt1cChy
YW5nZS5nZXQoKSwgMCwgRG9Ob3RBbm5vdGF0ZUZvckludGVyY2hhbmdlLCB0cnVlKSwgIiIpIDog
MDsKICAgICAKKyAgICAvLyBBIG5vbi1lbXB0eSBwYXJhZ3JhcGgncyBzdHlsZSBpcyBtb3ZlZCB3
aGVuIHdlIGNvcHkgYW5kIG1vdmUgaXQuICBXZSBkb24ndCBtb3ZlIAorICAgIC8vIGFueXRoaW5n
IGlmIHdlJ3JlIGdpdmVuIGFuIGVtcHR5IHBhcmFncmFwaCwgYnV0IGFuIGVtcHR5IHBhcmFncmFw
aCBjYW4gaGF2ZSBzdHlsZQorICAgIC8vIHRvbywgPGRpdj48Yj48YnI+PC9iPjwvZGl2PiBmb3Ig
ZXhhbXBsZS4gIFNhdmUgaXQgc28gdGhhdCB3ZSBjYW4gcHJlc2VydmUgaXQgbGF0ZXIuCisgICAg
UmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBzdHlsZUluRW1wdHlQYXJhZ3JhcGg7
CisgICAgaWYgKHN0YXJ0T2ZQYXJhZ3JhcGhUb01vdmUgPT0gZW5kT2ZQYXJhZ3JhcGhUb01vdmUg
JiYgcHJlc2VydmVTdHlsZSkKKyAgICAgICAgc3R5bGVJbkVtcHR5UGFyYWdyYXBoID0gc3R5bGVB
dFBvc2l0aW9uKHN0YXJ0T2ZQYXJhZ3JhcGhUb01vdmUuZGVlcEVxdWl2YWxlbnQoKSk7CisgICAg
CiAgICAgLy8gRklYTUUgKDUwOTg5MzEpOiBXZSBzaG91bGQgYWRkIGEgbmV3IGluc2VydCBhY3Rp
b24gIldlYlZpZXdJbnNlcnRBY3Rpb25Nb3ZlZCIgYW5kIGNhbGwgc2hvdWxkSW5zZXJ0RnJhZ21l
bnQgaGVyZS4KICAgICAKICAgICBzZXRFbmRpbmdTZWxlY3Rpb24oU2VsZWN0aW9uKHN0YXJ0LCBl
bmQsIERPV05TVFJFQU0pKTsKQEAgLTgxNiw2ICs4MjMsOSBAQAogICAgIAogICAgIHNldEVuZGlu
Z1NlbGVjdGlvbihkZXN0aW5hdGlvbik7CiAgICAgYXBwbHlDb21tYW5kVG9Db21wb3NpdGUoUmVw
bGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmNyZWF0ZShkb2N1bWVudCgpLCBmcmFnbWVudC5nZXQoKSwg
dHJ1ZSwgZmFsc2UsICFwcmVzZXJ2ZVN0eWxlLCBmYWxzZSwgdHJ1ZSkpOworICAgIC8vIFJlc3Rv
cmUgc3R5bGVzIGZyb20gYW4gZW1wdHkgcGFyYWdyYXBoIHRvIHRoZSBuZXcgZW1wdHkgcGFyYWdy
YXBoLgorICAgIGlmIChzdHlsZUluRW1wdHlQYXJhZ3JhcGgpCisgICAgICAgIGFwcGx5U3R5bGUo
c3R5bGVJbkVtcHR5UGFyYWdyYXBoLmdldCgpKTsKICAgICAKICAgICBpZiAocHJlc2VydmVTZWxl
Y3Rpb24gJiYgc3RhcnRJbmRleCAhPSAtMSkgewogICAgICAgICAvLyBGcmFnbWVudCBjcmVhdGlv
biAodXNpbmcgY3JlYXRlTWFya3VwKSBpbmNvcnJlY3RseSB1c2VzIHJlZ3VsYXIKSW5kZXg6IFdl
YkNvcmUvZWRpdGluZy9JbnNlcnRUZXh0Q29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9lZGl0aW5nL0luc2VydFRleHRDb21tYW5kLmNwcAkocmV2aXNpb24gMzQ2NTIpCisrKyBXZWJD
b3JlL2VkaXRpbmcvSW5zZXJ0VGV4dENvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODYs
OCArMTg2LDYgQEAKICAgICBzZXRFbmRpbmdTZWxlY3Rpb24oZm9yY2VkRW5kaW5nU2VsZWN0aW9u
KTsKIAogICAgIC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBpcyBhIHR5cGluZyBzdHls
ZS4KLSAgICAvLyBGSVhNRTogSW1wcm92ZSB0eXBpbmcgc3R5bGUuCi0gICAgLy8gU2VlIHRoaXMg
YnVnOiA8cmRhcjovL3Byb2JsZW0vMzc2OTg5OT4gSW1wbGVtZW50YXRpb24gb2YgdHlwaW5nIHN0
eWxlIG5lZWRzIGltcHJvdmVtZW50CiAgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIHR5
cGluZ1N0eWxlID0gZG9jdW1lbnQoKS0+ZnJhbWUoKS0+dHlwaW5nU3R5bGUoKTsKICAgICBSZWZQ
dHI8Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uPiBlbmRpbmdTdHlsZSA9IGVuZFBvc2l0aW9u
LmNvbXB1dGVkU3R5bGUoKTsKICAgICBlbmRpbmdTdHlsZS0+ZGlmZih0eXBpbmdTdHlsZSk7Cklu
ZGV4OiBXZWJDb3JlL2VkaXRpbmcvRWRpdENvbW1hbmQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2VkaXRpbmcvRWRpdENvbW1hbmQuaAkocmV2aXNpb24gMzQ2NTIpCisrKyBXZWJDb3JlL2VkaXRp
bmcvRWRpdENvbW1hbmQuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsMTIgKzUyLDExIEBACiAKICAg
ICBFbGVtZW50KiBzdGFydGluZ1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBt
X3N0YXJ0aW5nUm9vdEVkaXRhYmxlRWxlbWVudC5nZXQoKTsgfQogICAgIEVsZW1lbnQqIGVuZGlu
Z1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2VuZGluZ1Jvb3RFZGl0YWJs
ZUVsZW1lbnQuZ2V0KCk7IH0KLQotICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiB0eXBp
bmdTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwaW5nU3R5bGUuZ2V0KCk7IH07Ci0gICAgdm9p
ZCBzZXRUeXBpbmdTdHlsZShQYXNzUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPik7
CiAgICAgCiAgICAgdmlydHVhbCBib29sIGlzSW5zZXJ0VGV4dENvbW1hbmQoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNUeXBpbmdDb21tYW5kKCkgY29uc3Q7CisgICAgCisgICAgdmlydHVh
bCBib29sIHByZXNlcnZlc1R5cGluZ1N0eWxlKCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKICAgICBF
ZGl0Q29tbWFuZChEb2N1bWVudCopOwpAQCAtNzUsMTQgKzc0LDExIEBACiAgICAgdmlydHVhbCB2
b2lkIGRvVW5hcHBseSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZG9SZWFwcGx5KCk7IC8vIGNh
bGxzIGRvQXBwbHkoKQogCi0gICAgdmlydHVhbCBib29sIHByZXNlcnZlc1R5cGluZ1N0eWxlKCkg
Y29uc3Q7Ci0KICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7CiAgICAgU2VsZWN0aW9u
IG1fc3RhcnRpbmdTZWxlY3Rpb247CiAgICAgU2VsZWN0aW9uIG1fZW5kaW5nU2VsZWN0aW9uOwog
ICAgIFJlZlB0cjxFbGVtZW50PiBtX3N0YXJ0aW5nUm9vdEVkaXRhYmxlRWxlbWVudDsKICAgICBS
ZWZQdHI8RWxlbWVudD4gbV9lbmRpbmdSb290RWRpdGFibGVFbGVtZW50OwotICAgIFJlZlB0cjxD
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbj4gbV90eXBpbmdTdHlsZTsKICAgICBDb21wb3NpdGVF
ZGl0Q29tbWFuZCogbV9wYXJlbnQ7CiAKICAgICBmcmllbmQgdm9pZCBhcHBseUNvbW1hbmQoUGFz
c1JlZlB0cjxFZGl0Q29tbWFuZD4pOwpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVj
dGlvbkNvbW1hbmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0
aW9uQ29tbWFuZC5oCShyZXZpc2lvbiAzNDY1MikKKysrIFdlYkNvcmUvZWRpdGluZy9EZWxldGVT
ZWxlY3Rpb25Db21tYW5kLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDcgKzYxLDcgQEAKICAgICB2
b2lkIG1lcmdlUGFyYWdyYXBocygpOwogICAgIHZvaWQgcmVtb3ZlUHJldmlvdXNseVNlbGVjdGVk
RW1wdHlUYWJsZVJvd3MoKTsKICAgICB2b2lkIGNhbGN1bGF0ZUVuZGluZ1Bvc2l0aW9uKCk7Ci0g
ICAgdm9pZCBjYWxjdWxhdGVUeXBpbmdTdHlsZUFmdGVyRGVsZXRlKE5vZGUqKTsKKyAgICB2b2lk
IGNhbGN1bGF0ZVR5cGluZ1N0eWxlQWZ0ZXJEZWxldGUoKTsKICAgICB2b2lkIGNsZWFyVHJhbnNp
ZW50U3RhdGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlTm9kZShOb2RlKik7CiAgICAgdmly
dHVhbCB2b2lkIGRlbGV0ZVRleHRGcm9tTm9kZShUZXh0KiwgaW50LCBpbnQpOwpJbmRleDogV2Vi
Q29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCShyZXZpc2lvbiAzNDY1
MikKKysrIFdlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTcyMCwxMyArNzIwLDExIEBACiAgICAgCiAgICAgLy8gUGFzdGUgYXQgc3Rh
cnQgb3IgZW5kIG9mIGxpbmsgZ29lcyBvdXRzaWRlIG9mIGxpbmsuCiAgICAgaW5zZXJ0aW9uUG9z
ID0gcG9zaXRpb25Bdm9pZGluZ1NwZWNpYWxFbGVtZW50Qm91bmRhcnkoaW5zZXJ0aW9uUG9zKTsK
LQotICAgIEZyYW1lICpmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCk7CiAgICAgCi0gICAgLy8g
RklYTUU6IEltcHJvdmUgdHlwaW5nIHN0eWxlLgotICAgIC8vIFNlZSB0aGlzIGJ1ZzogPHJkYXI6
Ly9wcm9ibGVtLzM3Njk4OTk+IEltcGxlbWVudGF0aW9uIG9mIHR5cGluZyBzdHlsZSBuZWVkcyBp
bXByb3ZlbWVudAotICAgIGZyYW1lLT5jbGVhclR5cGluZ1N0eWxlKCk7Ci0gICAgc2V0VHlwaW5n
U3R5bGUoMCk7CisgICAgLy8gRklYTUU6IENhbiB0aGlzIHdhaXQgdW50aWwgYWZ0ZXIgdGhlIG9w
ZXJhdGlvbiBoYXMgYmVlbiBwZXJmb3JtZWQ/ICBUaGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUKKyAg
ICAvLyBhbnkgd29yayBwZXJmb3JtZWQgYWZ0ZXIgdGhpcyB0aGF0IHF1ZXJpZXMgb3IgdXNlcyB0
aGUgdHlwaW5nIHN0eWxlLgorICAgIGlmIChGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFt
ZSgpKQorICAgICAgICBmcmFtZS0+Y2xlYXJUeXBpbmdTdHlsZSgpOwogICAgIAogICAgIGJvb2wg
aGFuZGxlZFN0eWxlU3BhbnMgPSBoYW5kbGVTdHlsZVNwYW5zQmVmb3JlSW5zZXJ0aW9uKGZyYWdt
ZW50LCBpbnNlcnRpb25Qb3MpOwogICAgIApJbmRleDogV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDM0
NjUyKQorKysgV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1
NCwzMiArNzU0LDE4IEBACiB7CiAgICAgZGlzcGF0Y2hFZGl0YWJsZUNvbnRlbnRDaGFuZ2VkRXZl
bnRzKCpjbWQpOwogICAgIAotICAgIC8vIEZJWE1FOiBXZSBzaG91bGRuJ3QgdGVsbCBzZXRTZWxl
Y3Rpb24gdG8gY2xlYXIgdGhlIHR5cGluZyBzdHlsZSBvciByZW1vdmVkIGFuY2hvciBoZXJlLgot
ICAgIC8vIElmIHdlIGRpZG4ndCwgd2Ugd291bGRuJ3QgaGF2ZSB0byBzYXZlL3Jlc3RvcmUgdGhl
IHJlbW92ZWRBbmNob3IsIGFuZCB3ZSB3b3VsZG4ndCBoYXZlIHRvIGhhdmUKLSAgICAvLyB0aGUg
dHlwaW5nIHN0eWxlIHN0b3JlZCBpbiB0d28gcGxhY2VzICh0aGUgRnJhbWUgYW5kIGNvbW1hbmRz
KS4KLSAgICBSZWZQdHI8Tm9kZT4gYW5jaG9yID0gcmVtb3ZlZEFuY2hvcigpOwotICAgIAogICAg
IFNlbGVjdGlvbiBuZXdTZWxlY3Rpb24oY21kLT5lbmRpbmdTZWxlY3Rpb24oKSk7CiAgICAgLy8g
SWYgdGhlcmUgaXMgbm8gc2VsZWN0aW9uIGNoYW5nZSwgZG9uJ3QgYm90aGVyIHNlbmRpbmcgc2hv
dWxkQ2hhbmdlU2VsZWN0aW9uLCBidXQgc3RpbGwgY2FsbCBzZXRTZWxlY3Rpb24sCiAgICAgLy8g
YmVjYXVzZSB0aGVyZSBpcyB3b3JrIHRoYXQgaXQgbXVzdCBkbyBpbiB0aGlzIHNpdHVhdGlvbi4K
ICAgICAvLyBUaGUgb2xkIHNlbGVjdGlvbiBjYW4gYmUgaW52YWxpZCBoZXJlIGFuZCBjYWxsaW5n
IHNob3VsZENoYW5nZVNlbGVjdGlvbiBjYW4gcHJvZHVjZSBzb21lIHN0cmFuZ2UgY2FsbHMuCiAg
ICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS81NzI5MzE1PiBTb21lIHNob3VsZENoYW5nZVNlbGVj
dGVkRE9NUmFuZ2UgY29udGFpbiBSYW5nZXMgZm9yIHNlbGVjdGlvbnMgdGhhdCBhcmUgbm8gbG9u
Z2VyIHZhbGlkCisgICAgLy8gRG9uJ3QgY2xlYXIgdGhlIHR5cGluZyBzdHlsZSB3aXRoIHRoaXMg
c2VsZWN0aW9uIGNoYW5nZS4gIFdlIGRvIHRoYXQsIGlmIGFwcHJvcHJpYXRlLCBpbiBFZGl0Q29t
bWFuZDo6YXBwbHkoKS4KICAgICBpZiAobmV3U2VsZWN0aW9uID09IG1fZnJhbWUtPnNlbGVjdGlv
bigpLT5zZWxlY3Rpb24oKSB8fCBtX2ZyYW1lLT5zaG91bGRDaGFuZ2VTZWxlY3Rpb24obmV3U2Vs
ZWN0aW9uKSkKLSAgICAgICAgbV9mcmFtZS0+c2VsZWN0aW9uKCktPnNldFNlbGVjdGlvbihuZXdT
ZWxlY3Rpb24sIGZhbHNlKTsKKyAgICAgICAgbV9mcmFtZS0+c2VsZWN0aW9uKCktPnNldFNlbGVj
dGlvbihuZXdTZWxlY3Rpb24sIGZhbHNlLCBmYWxzZSk7CisgICAgICAgIAorICAgIGlmICghY21k
LT5wcmVzZXJ2ZXNUeXBpbmdTdHlsZSgpKQorICAgICAgICBtX2ZyYW1lLT5zZXRUeXBpbmdTdHls
ZSgwKTsKICAgICAKLSAgICBzZXRSZW1vdmVkQW5jaG9yKGFuY2hvcik7Ci0gICAgCi0gICAgLy8g
Tm93IHNldCB0aGUgdHlwaW5nIHN0eWxlIGZyb20gdGhlIGNvbW1hbmQuIENsZWFyIGl0IHdoZW4g
ZG9uZS4KLSAgICAvLyBUaGlzIGhlbHBzIG1ha2UgdGhlIGNhc2Ugd29yayB3aGVyZSB5b3UgY29t
cGxldGVseSBkZWxldGUgYSBwaWVjZQotICAgIC8vIG9mIHN0eWxlZCB0ZXh0IGFuZCB0aGVuIHR5
cGUgYSBjaGFyYWN0ZXIgaW1tZWRpYXRlbHkgYWZ0ZXIuCi0gICAgLy8gVGhhdCBuZXcgY2hhcmFj
dGVyIG5lZWRzIHRvIHRha2Ugb24gdGhlIHN0eWxlIG9mIHRoZSBqdXN0LWRlbGV0ZWQgdGV4dC4K
LSAgICAvLyBGSVhNRTogSW1wcm92ZSB0eXBpbmcgc3R5bGUuCi0gICAgLy8gU2VlIHRoaXMgYnVn
OiA8cmRhcjovL3Byb2JsZW0vMzc2OTg5OT4gSW1wbGVtZW50YXRpb24gb2YgdHlwaW5nIHN0eWxl
IG5lZWRzIGltcHJvdmVtZW50Ci0gICAgaWYgKGNtZC0+dHlwaW5nU3R5bGUoKSkgewotICAgICAg
ICBtX2ZyYW1lLT5zZXRUeXBpbmdTdHlsZShjbWQtPnR5cGluZ1N0eWxlKCkpOwotICAgICAgICBj
bWQtPnNldFR5cGluZ1N0eWxlKDApOwotICAgIH0KLSAgICAKICAgICAvLyBDb21tYW5kIHdpbGwg
YmUgZXF1YWwgdG8gbGFzdCBlZGl0IGNvbW1hbmQgb25seSBpbiB0aGUgY2FzZSBvZiB0eXBpbmcK
ICAgICBpZiAobV9sYXN0RWRpdENvbW1hbmQuZ2V0KCkgPT0gY21kKQogICAgICAgICBBU1NFUlQo
Y21kLT5pc1R5cGluZ0NvbW1hbmQoKSk7CkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNl
bGVjdGlvbkNvbW1hbmQuY3BwCShyZXZpc2lvbiAzNDY1MikKKysrIFdlYkNvcmUvZWRpdGluZy9E
ZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ2LDggKzI0Niw2
IEBACiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgLy8gRmlndXJlIG91dCB0aGUgdHlw
aW5nIHN0eWxlIGluIGVmZmVjdCBiZWZvcmUgdGhlIGRlbGV0ZSBpcyBkb25lLgotICAgIC8vIEZJ
WE1FOiBJbXByb3ZlIHR5cGluZyBzdHlsZS4KLSAgICAvLyBTZWUgdGhpcyBidWc6IDxyZGFyOi8v
cHJvYmxlbS8zNzY5ODk5PiBJbXBsZW1lbnRhdGlvbiBvZiB0eXBpbmcgc3R5bGUgbmVlZHMgaW1w
cm92ZW1lbnQKICAgICBSZWZQdHI8Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uPiBjb21wdXRl
ZFN0eWxlID0gcG9zaXRpb25CZWZvcmVUYWJTcGFuKG1fc2VsZWN0aW9uVG9EZWxldGUuc3RhcnQo
KSkuY29tcHV0ZWRTdHlsZSgpOwogICAgIG1fdHlwaW5nU3R5bGUgPSBjb21wdXRlZFN0eWxlLT5j
b3B5SW5oZXJpdGFibGVQcm9wZXJ0aWVzKCk7CiAgICAgCkBAIC02MTEsNyArNjA5LDcgQEAKICAg
ICAgICAgfQogfQogCi12b2lkIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OmNhbGN1bGF0ZVR5cGlu
Z1N0eWxlQWZ0ZXJEZWxldGUoTm9kZSAqaW5zZXJ0ZWRQbGFjZWhvbGRlcikKK3ZvaWQgRGVsZXRl
U2VsZWN0aW9uQ29tbWFuZDo6Y2FsY3VsYXRlVHlwaW5nU3R5bGVBZnRlckRlbGV0ZSgpCiB7CiAg
ICAgaWYgKCFtX3R5cGluZ1N0eWxlKQogICAgICAgICByZXR1cm47CkBAIC02MjEsOCArNjE5LDYg
QEAKICAgICAvLyBjb21tYW5kcyBiZWluZyBjb21wb3NlZCB3aXRoIHRoaXMgb25lIHdpbGwgd29y
aywgYW5kIGFsc28gY2FjaGUgaXQgb24gdGhlIGNvbW1hbmQsCiAgICAgLy8gc28gdGhlIEZyYW1l
OjphcHBsaWVkRWRpdGluZyBjYW4gc2V0IGl0IGFmdGVyIHRoZSB3aG9sZSBjb21wb3NpdGUgY29t
bWFuZCAKICAgICAvLyBoYXMgY29tcGxldGVkLgotICAgIC8vIEZJWE1FOiBJbXByb3ZlIHR5cGlu
ZyBzdHlsZS4KLSAgICAvLyBTZWUgdGhpcyBidWc6IDxyZGFyOi8vcHJvYmxlbS8zNzY5ODk5PiBJ
bXBsZW1lbnRhdGlvbiBvZiB0eXBpbmcgc3R5bGUgbmVlZHMgaW1wcm92ZW1lbnQKICAgICAKICAg
ICAvLyBJZiB3ZSBkZWxldGVkIGludG8gYSBibG9ja3F1b3RlLCBidXQgYXJlIG5vdyBubyBsb25n
ZXIgaW4gYSBibG9ja3F1b3RlLCB1c2UgdGhlIGFsdGVybmF0ZSB0eXBpbmcgc3R5bGUKICAgICBp
ZiAobV9kZWxldGVJbnRvQmxvY2txdW90ZVN0eWxlICYmICFuZWFyZXN0TWFpbEJsb2NrcXVvdGUo
bV9lbmRpbmdQb3NpdGlvbi5ub2RlKCkpKQpAQCAtNjMzLDI1ICs2MjksMjggQEAKICAgICBlbmRp
bmdTdHlsZS0+ZGlmZihtX3R5cGluZ1N0eWxlLmdldCgpKTsKICAgICBpZiAoIW1fdHlwaW5nU3R5
bGUtPmxlbmd0aCgpKQogICAgICAgICBtX3R5cGluZ1N0eWxlID0gMDsKLSAgICBpZiAoaW5zZXJ0
ZWRQbGFjZWhvbGRlciAmJiBtX3R5cGluZ1N0eWxlKSB7Ci0gICAgICAgIC8vIEFwcGx5IHN0eWxl
IHRvIHRoZSBwbGFjZWhvbGRlci4gVGhpcyBtYWtlcyBzdXJlIHRoYXQgdGhlIHNpbmdsZSBsaW5l
IGluIHRoZQotICAgICAgICAvLyBwYXJhZ3JhcGggaGFzIHRoZSByaWdodCBoZWlnaHQsIGFuZCB0
aGF0IHRoZSBwYXJhZ3JhcGggdGFrZXMgb24gdGhlIHN0eWxlCi0gICAgICAgIC8vIG9mIHRoZSBw
cmVjZWRpbmcgbGluZSBhbmQgcmV0YWlucyBpdCBldmVuIGlmIHlvdSBjbGljayBhd2F5LCBjbGlj
ayBiYWNrLCBhbmQKLSAgICAgICAgLy8gdGhlbiBzdGFydCB0eXBpbmcuIEluIHRoaXMgY2FzZSwg
dGhlIHR5cGluZyBzdHlsZSBpcyBhcHBsaWVkIHJpZ2h0IG5vdywgYW5kCi0gICAgICAgIC8vIGlz
IG5vdCByZXRhaW5lZCB1bnRpbCB0aGUgbmV4dCB0eXBpbmcgYWN0aW9uLgorICAgIFZpc2libGVQ
b3NpdGlvbiB2aXNpYmxlRW5kKG1fZW5kaW5nUG9zaXRpb24pOworICAgIGlmIChtX3R5cGluZ1N0
eWxlICYmIAorICAgICAgICBpc1N0YXJ0T2ZQYXJhZ3JhcGgodmlzaWJsZUVuZCkgJiYKKyAgICAg
ICAgaXNFbmRPZlBhcmFncmFwaCh2aXNpYmxlRW5kKSAmJgorICAgICAgICBsaW5lQnJlYWtFeGlz
dHNBdFBvc2l0aW9uKHZpc2libGVFbmQpKSB7CisgICAgICAgIC8vIEFwcGx5IHN0eWxlIHRvIHRo
ZSBwbGFjZWhvbGRlciB0aGF0IGlzIG5vdyBob2xkaW5nIG9wZW4gdGhlIGVtcHR5IHBhcmFncmFw
aC4gCisgICAgICAgIC8vIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHRoZSBwYXJhZ3JhcGggaGFzIHRo
ZSByaWdodCBoZWlnaHQsIGFuZCB0aGF0IHRoZSBwYXJhZ3JhcGggCisgICAgICAgIC8vIHRha2Vz
IG9uIHRoZSByaWdodCBzdHlsZSBhbmQgcmV0YWlucyBpdCBldmVuIGlmIHlvdSBtb3ZlIHRoZSBz
ZWxlY3Rpb24gYXdheSBhbmQKKyAgICAgICAgLy8gdGhlbiBtb3ZlIGl0IGJhY2sgKHdoaWNoIHdp
bGwgY2xlYXJzIHR5cGluZyBzdHlsZSkuCiAKLSAgICAgICAgc2V0RW5kaW5nU2VsZWN0aW9uKFNl
bGVjdGlvbihQb3NpdGlvbihpbnNlcnRlZFBsYWNlaG9sZGVyLCAwKSwgRE9XTlNUUkVBTSkpOwor
ICAgICAgICBzZXRFbmRpbmdTZWxlY3Rpb24odmlzaWJsZUVuZCk7CiAgICAgICAgIGFwcGx5U3R5
bGUobV90eXBpbmdTdHlsZS5nZXQoKSwgRWRpdEFjdGlvblVuc3BlY2lmaWVkKTsKLSAgICAgICAg
Ly8gYXBwbHlTdHlsZSBjYW4gZGVzdHJveSBpbnNlcnRlZFBsYWNlaG9sZGVyIGlmIGl0IG5lZWRz
IHRvIG1vdmUgaXQsIGJ1dCBpdCAKLSAgICAgICAgLy8gd2lsbCBzZXQgYW4gZW5kaW5nU2VsZWN0
aW9uKCkgYXQgW21vdmVkUGxhY2Vob2xkZXIsIDBdIGlmIGl0IGRvZXMgc28uCi0gICAgICAgIGlm
ICghaW5zZXJ0ZWRQbGFjZWhvbGRlci0+aW5Eb2N1bWVudCgpKQotICAgICAgICAgICAgbV9lbmRp
bmdQb3NpdGlvbiA9IGVuZGluZ1NlbGVjdGlvbigpLnN0YXJ0KCk7CisgICAgICAgIC8vIGFwcGx5
U3R5bGUgY2FuIGRlc3Ryb3kgdGhlIHBsYWNlaG9sZGVyIHRoYXQgd2FzIGF0IG1fZW5kaW5nUG9z
aXRpb24gaWYgaXQgbmVlZHMgdG8gCisgICAgICAgIC8vIG1vdmUgaXQsIGJ1dCBpdCB3aWxsIHNl
dCBhbiBlbmRpbmdTZWxlY3Rpb24oKSBhdCBbbW92ZWRQbGFjZWhvbGRlciwgMF0gaWYgaXQgZG9l
cyBzby4KKyAgICAgICAgbV9lbmRpbmdQb3NpdGlvbiA9IGVuZGluZ1NlbGVjdGlvbigpLnN0YXJ0
KCk7CiAgICAgICAgIG1fdHlwaW5nU3R5bGUgPSAwOwogICAgIH0KLSAgICAvLyBTZXQgbV90eXBp
bmdTdHlsZSBhcyB0aGUgdHlwaW5nIHN0eWxlLgotICAgIC8vIEl0J3MgcGVyZmVjdGx5IE9LIGZv
ciBtX3R5cGluZ1N0eWxlIHRvIGJlIG51bGwuCisgICAgLy8gVGhpcyBpcyB3aGVyZSB3ZSd2ZSBk
ZWxldGVkIGFsbCB0cmFjZXMgb2YgYSBzdHlsZSBidXQgbm90IGEgd2hvbGUgcGFyYWdyYXBoICh0
aGF0J3MgaGFuZGxlZCBhYm92ZSkuCisgICAgLy8gSW4gdGhpcyBjYXNlIGlmIHdlIHN0YXJ0IHR5
cGluZywgdGhlIG5ldyBjaGFyYWN0ZXJzIHNob3VsZCBoYXZlIHRoZSBzYW1lIHN0eWxlIGFzIHRo
ZSBqdXN0IGRlbGV0ZWQgb25lcywKKyAgICAvLyBidXQsIGlmIHdlIGNoYW5nZSB0aGUgc2VsZWN0
aW9uLCBjb21lIGJhY2sgYW5kIHN0YXJ0IHR5cGluZyB0aGF0IHN0eWxlIHNob3VsZCBiZSBsb3N0
LiAgQWxzbyBzZWUgCisgICAgLy8gcHJlc2VydmVUeXBpbmdTdHlsZSgpIGJlbG93LgogICAgIGRv
Y3VtZW50KCktPmZyYW1lKCktPnNldFR5cGluZ1N0eWxlKG1fdHlwaW5nU3R5bGUuZ2V0KCkpOwot
ICAgIHNldFR5cGluZ1N0eWxlKG1fdHlwaW5nU3R5bGUuZ2V0KCkpOwogfQogCiB2b2lkIERlbGV0
ZVNlbGVjdGlvbkNvbW1hbmQ6OmNsZWFyVHJhbnNpZW50U3RhdGUoKQpAQCAtNzUwLDcgKzc0OSw3
IEBACiAgICAgLy8gZGVsZXRpbmcganVzdCBhIEJSIGlzIGhhbmRsZWQgc3BlY2lhbGx5LCBhdCBs
ZWFzdCBiZWNhdXNlIHdlIGRvIG5vdAogICAgIC8vIHdhbnQgdG8gcmVwbGFjZSBpdCB3aXRoIGEg
cGxhY2Vob2xkZXIgQlIhCiAgICAgaWYgKGhhbmRsZVNwZWNpYWxDYXNlQlJEZWxldGUoKSkgewot
ICAgICAgICBjYWxjdWxhdGVUeXBpbmdTdHlsZUFmdGVyRGVsZXRlKGZhbHNlKTsKKyAgICAgICAg
Y2FsY3VsYXRlVHlwaW5nU3R5bGVBZnRlckRlbGV0ZSgpOwogICAgICAgICBzZXRFbmRpbmdTZWxl
Y3Rpb24oU2VsZWN0aW9uKG1fZW5kaW5nUG9zaXRpb24sIGFmZmluaXR5KSk7CiAgICAgICAgIGNs
ZWFyVHJhbnNpZW50U3RhdGUoKTsKICAgICAgICAgcmViYWxhbmNlV2hpdGVzcGFjZSgpOwpAQCAt
NzcyLDcgKzc3MSw3IEBACiAKICAgICByZWJhbGFuY2VXaGl0ZXNwYWNlQXQobV9lbmRpbmdQb3Np
dGlvbik7CiAKLSAgICBjYWxjdWxhdGVUeXBpbmdTdHlsZUFmdGVyRGVsZXRlKHBsYWNlaG9sZGVy
LmdldCgpKTsKKyAgICBjYWxjdWxhdGVUeXBpbmdTdHlsZUFmdGVyRGVsZXRlKCk7CiAgICAgCiAg
ICAgc2V0RW5kaW5nU2VsZWN0aW9uKFNlbGVjdGlvbihtX2VuZGluZ1Bvc2l0aW9uLCBhZmZpbml0
eSkpOwogICAgIGNsZWFyVHJhbnNpZW50U3RhdGUoKTsKQEAgLTc4Niw5ICs3ODUsMTIgQEAKICAg
ICByZXR1cm4gRWRpdEFjdGlvbkN1dDsKIH0KIAorLy8gTm9ybWFsbHkgZGVsZXRpb24gZG9lc24n
dCBwcmVzZXJ2ZSB0aGUgdHlwaW5nIHN0eWxlIHRoYXQgd2FzIHByZXNlbnQgYmVmb3JlIGl0LiAg
Rm9yIGV4YW1wbGUsCisvLyB0eXBlIGEgY2hhcmFjdGVyLCBCb2xkLCB0aGVuIGRlbGV0ZSB0aGUg
Y2hhcmFjdGVyIGFuZCBzdGFydCB0eXBpbmcuICBUaGUgQm9sZCB0eXBpbmcgc3R5bGUgc2hvdWxk
bid0CisvLyBzdGljayBhcm91bmQuICBEZWxldGlvbiBzaG91bGQgcHJlc2VydmUgYSB0eXBpbmcg
c3R5bGUgdGhhdCAqaXQqIHNldHMsIGhvd2V2ZXIuCiBib29sIERlbGV0ZVNlbGVjdGlvbkNvbW1h
bmQ6OnByZXNlcnZlc1R5cGluZ1N0eWxlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gdHJ1ZTsKKyAg
ICByZXR1cm4gbV90eXBpbmdTdHlsZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogV2ViQ29yZS9lZGl0aW5nL0luc2VydExpbmVCcmVha0NvbW1hbmQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvZWRpdGluZy9JbnNlcnRMaW5lQnJlYWtDb21tYW5kLmNwcAkocmV2aXNpb24g
MzQ2NTIpCisrKyBXZWJDb3JlL2VkaXRpbmcvSW5zZXJ0TGluZUJyZWFrQ29tbWFuZC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE2Miw4ICsxNjIsNiBAQAogICAgIH0KIAogICAgIC8vIEhhbmRsZSB0
aGUgY2FzZSB3aGVyZSB0aGVyZSBpcyBhIHR5cGluZyBzdHlsZS4KLSAgICAvLyBGSVhNRTogSW1w
cm92ZSB0eXBpbmcgc3R5bGUuCi0gICAgLy8gU2VlIHRoaXMgYnVnOiA8cmRhcjovL3Byb2JsZW0v
Mzc2OTg5OT4gSW1wbGVtZW50YXRpb24gb2YgdHlwaW5nIHN0eWxlIG5lZWRzIGltcHJvdmVtZW50
CiAgICAgCiAgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIHR5cGluZ1N0eWxlID0gZG9j
dW1lbnQoKS0+ZnJhbWUoKS0+dHlwaW5nU3R5bGUoKTsKICAgICAKSW5kZXg6IFdlYkNvcmUvZWRp
dGluZy9JbnNlcnRMaXN0Q29tbWFuZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9J
bnNlcnRMaXN0Q29tbWFuZC5oCShyZXZpc2lvbiAzNDY1MikKKysrIFdlYkNvcmUvZWRpdGluZy9J
bnNlcnRMaXN0Q29tbWFuZC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBACiAgICAg
fQogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm9kZT4gaW5zZXJ0TGlzdChEb2N1bWVudCosIFR5
cGUpOworICAgIAorICAgIHZpcnR1YWwgYm9vbCBwcmVzZXJ2ZXNUeXBpbmdTdHlsZSgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KIAogcHJpdmF0ZToKICAgICBJbnNlcnRMaXN0Q29tbWFuZChEb2N1
bWVudCosIFR5cGUsIGNvbnN0IFN0cmluZyYpOwpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0luc2Vy
dFBhcmFncmFwaFNlcGFyYXRvckNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRp
dGluZy9JbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kLmNwcAkocmV2aXNpb24gMzQ2NTIp
CisrKyBXZWJDb3JlL2VkaXRpbmcvSW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9yQ29tbWFuZC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTc2LDggKzc2LDYgQEAKICAgICAgICAgb3JpZ2luYWxFbmNsb3Np
bmdCbG9jay0+aGFzVGFnTmFtZShoNVRhZykpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCi0g
ICAgLy8gRklYTUU6IEltcHJvdmUgdHlwaW5nIHN0eWxlLgotICAgIC8vIFNlZSB0aGlzIGJ1Zzog
PHJkYXI6Ly9wcm9ibGVtLzM3Njk4OTk+IEltcGxlbWVudGF0aW9uIG9mIHR5cGluZyBzdHlsZSBu
ZWVkcyBpbXByb3ZlbWVudAogICAgIGlmICghbV9zdHlsZSkKICAgICAgICAgcmV0dXJuOwogCklu
ZGV4OiBXZWJDb3JlL2VkaXRpbmcvRWRpdENvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvZWRpdGluZy9FZGl0Q29tbWFuZC5jcHAJKHJldmlzaW9uIDM0NjUyKQorKysgV2ViQ29yZS9l
ZGl0aW5nL0VkaXRDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgsMjAgKzg4LDE1IEBA
CiAgICAgLy8gdXNlIHRoZW0gcGVyZm9ybSBvbmUgaWYgb25lIGlzIG5lY2Vzc2FyeSAobGlrZSBm
b3IgdGhlIGNyZWF0aW9uIG9mIFZpc2libGVQb3NpdGlvbnMpLgogICAgIGlmICghbV9wYXJlbnQp
CiAgICAgICAgIHVwZGF0ZUxheW91dCgpOworICAgIAorICAgIGlmICghbV9wYXJlbnQgJiYgIWlz
SW5zZXJ0VGV4dENvbW1hbmQoKSkKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5zZXRSZW1vdmVk
QW5jaG9yKDApOwogCiAgICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlciogZGVsZXRlQnV0dG9uQ29u
dHJvbGxlciA9IGZyYW1lLT5lZGl0b3IoKS0+ZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpOwogICAg
IGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmRpc2FibGUoKTsKICAgICBkb0FwcGx5KCk7CiAgICAg
ZGVsZXRlQnV0dG9uQ29udHJvbGxlci0+ZW5hYmxlKCk7CiAKLSAgICAvLyBGSVhNRTogSW1wcm92
ZSB0eXBpbmcgc3R5bGUuCi0gICAgLy8gU2VlIHRoaXMgYnVnOiA8cmRhcjovL3Byb2JsZW0vMzc2
OTg5OT4gSW1wbGVtZW50YXRpb24gb2YgdHlwaW5nIHN0eWxlIG5lZWRzIGltcHJvdmVtZW50Ci0g
ICAgaWYgKCFwcmVzZXJ2ZXNUeXBpbmdTdHlsZSgpKSB7Ci0gICAgICAgIHNldFR5cGluZ1N0eWxl
KDApOwotICAgICAgICBpZiAoIW1fcGFyZW50KQotICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigp
LT5zZXRSZW1vdmVkQW5jaG9yKDApOwotICAgIH0KLQogICAgIGlmICghbV9wYXJlbnQpIHsKICAg
ICAgICAgdXBkYXRlTGF5b3V0KCk7CiAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+YXBwbGllZEVk
aXRpbmcodGhpcyk7CkBAIC0xODgsMjAgKzE4Myw2IEBACiAgICAgfQogfQogCi12b2lkIEVkaXRD
b21tYW5kOjpzZXRUeXBpbmdTdHlsZShQYXNzUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uPiBzdHlsZSkKLXsKLSAgICAvLyBGSVhNRTogSW1wcm92ZSB0eXBpbmcgc3R5bGUuCi0gICAg
Ly8gU2VlIHRoaXMgYnVnOiA8cmRhcjovL3Byb2JsZW0vMzc2OTg5OT4gSW1wbGVtZW50YXRpb24g
b2YgdHlwaW5nIHN0eWxlIG5lZWRzIGltcHJvdmVtZW50Ci0gICAgaWYgKCFtX3BhcmVudCkgewot
ICAgICAgICAvLyBTcGVjaWFsIG1vcmUtZWZmaWNpZW50IGNhc2UgZm9yIHdoZXJlIHRoZXJlJ3Mg
b25seSBvbmUgY29tbWFuZCB0aGF0Ci0gICAgICAgIC8vIHRha2VzIGFkdmFudGFnZSBvZiB0aGUg
YWJpbGl0eSBvZiBQYXNzUmVmUHRyIHRvIHBhc3MgaXRzIHJlZiB0byBhIFJlZlB0ci4KLSAgICAg
ICAgbV90eXBpbmdTdHlsZSA9IHN0eWxlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGZv
ciAoRWRpdENvbW1hbmQqIGNtZCA9IHRoaXM7IGNtZDsgY21kID0gY21kLT5tX3BhcmVudCkKLSAg
ICAgICAgY21kLT5tX3R5cGluZ1N0eWxlID0gc3R5bGUuZ2V0KCk7IC8vIG11c3QgdXNlIGdldCgp
IHRvIGF2b2lkIHNldHRpbmcgcGFyZW50IHN0eWxlcyB0byAwCi19Ci0KIGJvb2wgRWRpdENvbW1h
bmQ6OnByZXNlcnZlc1R5cGluZ1N0eWxlKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkBA
IC0yMjEsOCArMjAyLDYgQEAKIHsKICAgICBSZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b24+IHN0eWxlID0gcG9zaXRpb25CZWZvcmVUYWJTcGFuKHBvcykuY29tcHV0ZWRTdHlsZSgpLT5j
b3B5SW5oZXJpdGFibGVQcm9wZXJ0aWVzKCk7CiAgCi0gICAgLy8gRklYTUU6IEltcHJvdmUgdHlw
aW5nIHN0eWxlLgotICAgIC8vIFNlZSB0aGlzIGJ1ZzogPHJkYXI6Ly9wcm9ibGVtLzM3Njk4OTk+
IEltcGxlbWVudGF0aW9uIG9mIHR5cGluZyBzdHlsZSBuZWVkcyBpbXByb3ZlbWVudAogICAgIENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uKiB0eXBpbmdTdHlsZSA9IGRvY3VtZW50KCktPmZyYW1l
KCktPnR5cGluZ1N0eWxlKCk7CiAgICAgaWYgKHR5cGluZ1N0eWxlKQogICAgICAgICBzdHlsZS0+
bWVyZ2UodHlwaW5nU3R5bGUpOwpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRD
b21tYW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21t
YW5kLmgJKHJldmlzaW9uIDM0NjUyKQorKysgV2ViQ29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRD
b21tYW5kLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDggQEAKICAgICB7CiAgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgSW5kZW50T3V0ZGVudENvbW1hbmQoZG9jdW1lbnQsIHR5cGUs
IG1hcmdpbkluUGl4ZWxzKSk7CiAgICAgfQorICAgIAorICAgIHZpcnR1YWwgYm9vbCBwcmVzZXJ2
ZXNUeXBpbmdTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogcHJpdmF0ZToKICAgICBJ
bmRlbnRPdXRkZW50Q29tbWFuZChEb2N1bWVudCosIEVJbmRlbnRUeXBlLCBpbnQgbWFyZ2luSW5Q
aXhlbHMpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzQ2NjIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNyBAQAorMjAwOC0wNi0xOSAgSnVzdGluIEdh
cmNpYSAgPGp1c3Rpbi5nYXJjaWFAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5NjUzCisgICAgICAgIFR5cGluZyBzdHlsZSBsb3N0IHdoZW4gY3Jl
YXRpbmcgbGlzdCBmcm9tLCBpbmRlbnRpbmcgb3Igb3V0ZGVudGluZyBhbiBlbXB0eSBwYXJhZ3Jh
cGgKKworICAgICAgICBUaGVzZSBkZW1vbnN0cmF0ZSBmaXhlczoKKyAgICAgICAgKiBlZGl0aW5n
L2V4ZWNDb21tYW5kLzE5NjUzLTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2V4ZWNDb21tYW5kLzE5NjUzLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9l
eGVjQ29tbWFuZC8xOTY1My0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9leGVjQ29tbWFuZC8xOTY1My0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhl
Y0NvbW1hbmQvMTk2NTMtMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
ZXhlY0NvbW1hbmQvMTk2NTMtMy5odG1sOiBBZGRlZC4KKyAgICAgICAgQ2hhbmdlZCB0byBhbiBl
cXVpdmFsZW50IGJ1dCBtb3JlIGJsb2F0ZWQgRE9NIGJlY2F1c2Ugb2YgYSBwcmUtZXhpc3Rpbmcg
YnVnIGluIEFwcGx5U3R5bGVDb21tYW5kOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5n
L2RlbGV0aW5nL2RlbGV0ZS1ici0wMTEtZXhwZWN0ZWQudHh0OgorICAgICAgICBGaXhlZCBhIGJ1
ZyB3aGVyZSB0aGUgdHlwaW5nIHN0eWxlIHdhc24ndCBhcHBsaWVkIHRvIHRoZSBwbGFjZWhvbGRl
ciBpbiBhbiBlbXB0eSBwYXJhZ3JhcGgsCisgICAgICAgIHNvIHR5cGluZyB3b3VsZCBjcmVhdGUg
dGV4dCB3aXRoIHRoZSByaWdodCBzdHlsZSwgYnV0IGlmIHlvdSB3ZXJlIHRvIGNoYW5nZSB0aGUg
c2VsZWN0aW9uCisgICAgICAgIGFuZCB0aGVuIGNvbWUgYmFjayBhbmQgc3RhcnQgdHlwaW5nLCB0
aGUgc3R5bGUgd291bGQgYmUgd3JvbmcuICBUaGUgc2l6ZSBvZiB0aGUgY2FyZXQgd2FzCisgICAg
ICAgIGFsc28gd3JvbmcgYXMgYSByZXN1bHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRp
bmcvZGVsZXRpbmcvZGVsZXRlLWJyLTAxMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWJyLTAxMi1leHBlY3RlZC5wbmc6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWJyLTAxMi1leHBlY3Rl
ZC5jaGVja3N1bToKKwogMjAwOC0wNi0xOCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC8xOTY1My0xLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kLzE5NjUzLTEtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC8xOTY1My0xLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0cyBjcmVhdGlu
ZyBhIGxpc3QgZnJvbSBhbiBlbXB0eSBwYXJhZ3JhcGggd2l0aCBib2xkIGFscmVhZHkgYXBwbGll
ZCB0byBpdC4gVGhlIHdvcmQgYmVsb3cgc2hvdWxkIGJlIGJvbGQuCis8ZGl2Pjx1bD48bGk+PGI+
Qm9sZDwvYj48L2xpPjwvdWw+PC9kaXY+CisKK1RoaXMgdGVzdHMgY3JlYXRpbmcgYSBsaXN0IGZy
b20gYW4gZW1wdHkgcGFyYWdyYXBoIHdoZW4gdGhlIHR5cGluZyBzdHlsZSB3YXMgQm9sZC4gVGhl
IHdvcmQgYmVsb3cgc2hvdWxkIGJlIGJvbGQuCis8dWw+PGxpPjxiPkJvbGQ8L2I+PC9saT48L3Vs
PgorCitUaGlzIHRlc3RzIGluZGVudGluZyBhbiBlbXB0eSBwYXJhZ3JhcGggd2l0aCBib2xkIGFs
cmVhZHkgYXBwbGllZCB0byBpdC4gVGhlIHdvcmQgYmVsb3cgc2hvdWxkIGJlIGJvbGQuCis8Ymxv
Y2txdW90ZSBjbGFzcz0id2Via2l0LWluZGVudC1ibG9ja3F1b3RlIiBzdHlsZT0ibWFyZ2luOiAw
IDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDBweDsiPjxiPkJvbGQ8L2I+PC9ibG9j
a3F1b3RlPgorCitUaGlzIHRlc3RzIGluZGVudGluZyBhbiBlbXB0eSBwYXJhZ3JhcGggd2hlbiB0
aGUgdHlwaW5nIHN0eWxlIHdhcyBCb2xkLiBUaGUgd29yZCBiZWxvdyBzaG91bGQgYmUgYm9sZC4K
KzxibG9ja3F1b3RlIGNsYXNzPSJ3ZWJraXQtaW5kZW50LWJsb2NrcXVvdGUiIHN0eWxlPSJtYXJn
aW46IDAgMCAwIDQwcHg7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMHB4OyI+PGI+Qm9sZDwvYj48
L2Jsb2NrcXVvdGU+CisKK1RoaXMgdGVzdHMgb3V0ZGVudGluZyBhbiBlbXB0eSBwYXJhZ3JhcGgg
d2l0aCBib2xkIGFscmVhZHkgYXBwbGllZCB0byBpdC4gVGhlIHdvcmQgYmVsb3cgc2hvdWxkIGJl
IGJvbGQuCis8Yj5Cb2xkPC9iPgorCitUaGlzIHRlc3RzIGluZGVudGluZyBhbiBlbXB0eSBwYXJh
Z3JhcGggd2hlbiB0aGUgdHlwaW5nIHN0eWxlIHdhcyBCb2xkLiBUaGUgd29yZCBiZWxvdyBzaG91
bGQgYmUgYm9sZC4KKzxiPkJvbGQ8L2I+CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWND
b21tYW5kLzE5NjUzLTEuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4
ZWNDb21tYW5kLzE5NjUzLTEuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRp
bmcvZXhlY0NvbW1hbmQvMTk2NTMtMS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYzIEBA
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbjEiPlRoaXMgdGVzdHMgY3JlYXRpbmcgYSBsaXN0IGZyb20g
YW4gZW1wdHkgcGFyYWdyYXBoIHdpdGggYm9sZCBhbHJlYWR5IGFwcGxpZWQgdG8gaXQuIFRoZSB3
b3JkIGJlbG93IHNob3VsZCBiZSBib2xkLjwvZGl2PgorPGRpdiBpZD0iZWRpdDEiIGNvbnRlbnRF
ZGl0YWJsZT0idHJ1ZSI+PGRpdj48Yj48YnI+PC9iPjwvZGl2PjwvZGl2PgorCis8ZGl2IGlkPSJk
ZXNjcmlwdGlvbjIiPlRoaXMgdGVzdHMgY3JlYXRpbmcgYSBsaXN0IGZyb20gYW4gZW1wdHkgcGFy
YWdyYXBoIHdoZW4gdGhlIHR5cGluZyBzdHlsZSB3YXMgQm9sZC4gVGhlIHdvcmQgYmVsb3cgc2hv
dWxkIGJlIGJvbGQuPC9kaXY+Cis8ZGl2IGlkPSJlZGl0MiIgY29udGVudEVkaXRhYmxlPSJ0cnVl
Ij48L2Rpdj4KKworPGRpdiBpZD0iZGVzY3JpcHRpb24zIj5UaGlzIHRlc3RzIGluZGVudGluZyBh
biBlbXB0eSBwYXJhZ3JhcGggd2l0aCBib2xkIGFscmVhZHkgYXBwbGllZCB0byBpdC4gVGhlIHdv
cmQgYmVsb3cgc2hvdWxkIGJlIGJvbGQuPC9kaXY+Cis8ZGl2IGlkPSJlZGl0MyIgY29udGVudEVk
aXRhYmxlPSJ0cnVlIj48ZGl2PjxiPjxicj48L2I+PC9kaXY+PC9kaXY+CisKKzxkaXYgaWQ9ImRl
c2NyaXB0aW9uNCI+VGhpcyB0ZXN0cyBpbmRlbnRpbmcgYW4gZW1wdHkgcGFyYWdyYXBoIHdoZW4g
dGhlIHR5cGluZyBzdHlsZSB3YXMgQm9sZC4gVGhlIHdvcmQgYmVsb3cgc2hvdWxkIGJlIGJvbGQu
PC9kaXY+Cis8ZGl2IGlkPSJlZGl0NCIgY29udGVudEVkaXRhYmxlPSJ0cnVlIj48L2Rpdj4KKwor
PGRpdiBpZD0iZGVzY3JpcHRpb241Ij5UaGlzIHRlc3RzIG91dGRlbnRpbmcgYW4gZW1wdHkgcGFy
YWdyYXBoIHdpdGggYm9sZCBhbHJlYWR5IGFwcGxpZWQgdG8gaXQuIFRoZSB3b3JkIGJlbG93IHNo
b3VsZCBiZSBib2xkLjwvZGl2PgorPGRpdiBpZD0iZWRpdDUiIGNvbnRlbnRFZGl0YWJsZT0idHJ1
ZSI+PGJsb2NrcXVvdGUgY2xhc3M9IndlYmtpdC1pbmRlbnQtYmxvY2txdW90ZSI+PGI+PGJyPjwv
Yj48L2Jsb2NrcXVvdGU+PC9kaXY+CisKKzxkaXYgaWQ9ImRlc2NyaXB0aW9uNiI+VGhpcyB0ZXN0
cyBpbmRlbnRpbmcgYW4gZW1wdHkgcGFyYWdyYXBoIHdoZW4gdGhlIHR5cGluZyBzdHlsZSB3YXMg
Qm9sZC4gVGhlIHdvcmQgYmVsb3cgc2hvdWxkIGJlIGJvbGQuPC9kaXY+Cis8ZGl2IGlkPSJlZGl0
NiIgY29udGVudEVkaXRhYmxlPSJ0cnVlIj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKK2VkaXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQxIik7Citl
ZGl0MS5mb2N1cygpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkluc2VydFVub3JkZXJlZExpc3Qi
KTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICJCb2xkIik7CisK
K2VkaXQyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQyIik7CitlZGl0Mi5mb2N1cygp
OworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkJvbGQiKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJJ
bnNlcnRVbm9yZGVyZWRMaXN0Iik7Citkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIs
IGZhbHNlLCAiQm9sZCIpOworCitlZGl0MyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlZGl0
MyIpOworZWRpdDMuZm9jdXMoKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJJbmRlbnQiKTsKK2Rv
Y3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICJCb2xkIik7CisKK2VkaXQ0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQ0Iik7CitlZGl0NC5mb2N1cygpOworZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkJvbGQiKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJJbmRlbnQi
KTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICJCb2xkIik7CisK
K2VkaXQ1ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQ1Iik7CitlZGl0NS5mb2N1cygp
OworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIk91dGRlbnQiKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5k
KCJJbnNlcnRUZXh0IiwgZmFsc2UsICJCb2xkIik7CisKK2VkaXQ2ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVkaXQ2Iik7CitlZGl0Ni5mb2N1cygpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkJvbGQiKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJPdXRkZW50Iik7Citkb2N1bWVudC5leGVj
Q29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNlLCAiQm9sZCIpOworCitpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uMSIpLmlubmVyVGV4dCArICJcbiIgKyBlZGl0MS5p
bm5lckhUTUwgKyAiXG5cbiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uMiIpLmlubmVyVGV4dCArICJcbiIgKyBlZGl0
Mi5pbm5lckhUTUwgKyAiXG5cbiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uMyIpLmlubmVyVGV4dCArICJcbiIgKyBl
ZGl0My5pbm5lckhUTUwgKyAiXG5cbiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uNCIpLmlubmVyVGV4dCArICJcbiIg
KyBlZGl0NC5pbm5lckhUTUwgKyAiXG5cbiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uNSIpLmlubmVyVGV4dCArICJc
biIgKyBlZGl0NS5pbm5lckhUTUwgKyAiXG5cbiIgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uNiIpLmlubmVyVGV4dCAr
ICJcbiIgKyBlZGl0Ni5pbm5lckhUTUw7CisKKzwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvMTk2NTMtMy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFu
ZC8xOTY1My0zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRp
bmcvZXhlY0NvbW1hbmQvMTk2NTMtMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMiBAQAorVGhpcyB0ZXN0cyBkZWxldGluZyBhIEJvbGQgcGFyYWdyYXBoLCB0aGVuIGNoYW5n
aW5nIHRoZSBzZWxlY3Rpb24gYW5kIG1vdmluZyBpdCBiYWNrIHRvIHRoZSBzcG90IHdoZXJlIHRo
YXQgcGFyYWdyYXBoIHdhcyBkZWxldGVkIGFuZCB0eXBpbmcgbW9yZS4gVGhlIG5ldyB0ZXh0IHNo
b3VsZCBiZSBCb2xkLCB0b28uCis8ZGl2IGlkPSJvbmUiPjxiPkJvbGQ8L2I+PC9kaXY+PGRpdiBp
ZD0idHdvIj48YnI+PC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5k
LzE5NjUzLTMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21t
YW5kLzE5NjUzLTMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvZXhl
Y0NvbW1hbmQvMTk2NTMtMy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACis8ZGl2
IGlkPSJkZXNjcmlwdGlvbjEiPlRoaXMgdGVzdHMgZGVsZXRpbmcgYSBCb2xkIHBhcmFncmFwaCwg
dGhlbiBjaGFuZ2luZyB0aGUgc2VsZWN0aW9uIGFuZCBtb3ZpbmcgaXQgYmFjayB0byB0aGUgc3Bv
dCB3aGVyZSB0aGF0IHBhcmFncmFwaCB3YXMgZGVsZXRlZCBhbmQgdHlwaW5nIG1vcmUuIFRoZSBu
ZXcgdGV4dCBzaG91bGQgYmUgQm9sZCwgdG9vLjwvZGl2PgorPGRpdiBpZD0iZWRpdDEiIGNvbnRl
bnRFZGl0YWJsZT0idHJ1ZSI+PGRpdiBpZD0ib25lIj48Yj5Cb2xkPC9iPjxicj48L2Rpdj48ZGl2
IGlkPSJ0d28iPjxicj48L2Rpdj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKK29uZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvbmUiKTsKK3dpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG9uZSwgMCwgb25lLCBvbmUuY2hpbGROb2Rlcy5s
ZW5ndGgpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkRlbGV0ZSIpOworCit3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkubW9kaWZ5KCJtb3ZlIiwgImZvcndhcmQiLCAiY2hhcmFjdGVyIik7Cit3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkubW9kaWZ5KCJtb3ZlIiwgImJhY2t3YXJkIiwgImNoYXJhY3RlciIpOwor
Citkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNlLCAiQm9sZCIpOworCitp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJU
ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uMSIpLmlubmVyVGV4dCAr
ICJcbiIgKyBlZGl0MS5pbm5lckhUTUw7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Vk
aXRpbmcvZXhlY0NvbW1hbmQvMTk2NTMtMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC8xOTY1My0yLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvMTk2NTMtMi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0cyBzcGxpdHRpbmcg
dHdvIHBhcmFncmFwaHMgd2l0aCBJbnNlcnRQYXJhZ3JhcGggd2hpbGUgdGhlIHR5cGluZyBzdHls
ZSBpcyBib2xkLiBOZXcgdGV4dCBlbnRlcmVkIGFmdGVyIHRoZSBzcGxpdCBzaG91bGQgYmUgYm9s
ZC4KK3g8ZGl2PjxiPkJvbGQ8L2I+eDwvZGl2PgorCitUaGlzIHRlc3RzIHNwbGl0dGluZyB0d28g
cGFyYWdyYXBocyB3aXRoIEluc2VydExpbmVCcmVhayB3aGlsZSB0aGUgdHlwaW5nIHN0eWxlIGlz
IGJvbGQuIE5ldyB0ZXh0IGVudGVyZWQgYWZ0ZXIgdGhlIHNwbGl0IHNob3VsZCBiZSBib2xkLiBU
aGUgaW5zZXJ0ZWQgPGJyPiBkb2Vzbid0IG5lZWQgdG8gYmUgc3Vycm91bmRlZCBieSBhIGJvbGQg
dGFnIGhlcmUuCit4PGI+PGJyPjwvYj48Yj5Cb2xkPC9iPngKSW5kZXg6IExheW91dFRlc3RzL2Vk
aXRpbmcvZXhlY0NvbW1hbmQvMTk2NTMtMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2VkaXRpbmcvZXhlY0NvbW1hbmQvMTk2NTMtMi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC8xOTY1My0yLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMjkgQEAKKzxkaXYgaWQ9ImRlc2NyaXB0aW9uMSI+VGhpcyB0ZXN0cyBzcGxpdHRpbmcg
dHdvIHBhcmFncmFwaHMgd2l0aCBJbnNlcnRQYXJhZ3JhcGggd2hpbGUgdGhlIHR5cGluZyBzdHls
ZSBpcyBib2xkLiBOZXcgdGV4dCBlbnRlcmVkIGFmdGVyIHRoZSBzcGxpdCBzaG91bGQgYmUgYm9s
ZC48L2Rpdj4KKzxkaXYgaWQ9ImVkaXQxIiBjb250ZW50RWRpdGFibGU9InRydWUiPnh4PC9kaXY+
CisKKzxkaXYgaWQ9ImRlc2NyaXB0aW9uMiI+VGhpcyB0ZXN0cyBzcGxpdHRpbmcgdHdvIHBhcmFn
cmFwaHMgd2l0aCBJbnNlcnRMaW5lQnJlYWsgd2hpbGUgdGhlIHR5cGluZyBzdHlsZSBpcyBib2xk
LiBOZXcgdGV4dCBlbnRlcmVkIGFmdGVyIHRoZSBzcGxpdCBzaG91bGQgYmUgYm9sZC4gVGhlIGlu
c2VydGVkICZsdDticiZndDsgZG9lc24ndCBuZWVkIHRvIGJlIHN1cnJvdW5kZWQgYnkgYSBib2xk
IHRhZyBoZXJlLjwvZGl2PgorPGRpdiBpZD0iZWRpdDIiIGNvbnRlbnRFZGl0YWJsZT0idHJ1ZSI+
eHg8L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK2VkaXQxID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXQxIik7CitlZGl0MS5mb2N1cygpOwordGV4dCA9IGVk
aXQxLmZpcnN0Q2hpbGQ7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24odGV4dCwg
MSk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgiQm9sZCIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQo
Ikluc2VydFBhcmFncmFwaCIpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkluc2VydFRleHQiLCBm
YWxzZSwgIkJvbGQiKTsKKworZWRpdDIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWRpdDIi
KTsKK2VkaXQyLmZvY3VzKCk7Cit0ZXh0ID0gZWRpdDIuZmlyc3RDaGlsZDsKK3dpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5zZXRQb3NpdGlvbih0ZXh0LCAxKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJC
b2xkIik7Citkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0TGluZUJyZWFrIik7Citkb2N1bWVu
dC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNlLCAiQm9sZCIpOworCitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uMSIpLmlubmVyVGV4dCArICJcbiIgKyBl
ZGl0MS5pbm5lckhUTUwgKyAiXG5cbiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uMiIpLmlubmVyVGV4dCArICJcbiIg
KyBlZGl0Mi5pbm5lckhUTUw7Cis8L3NjcmlwdD4K
</data>
<flag name="review"
          id="9588"
          type_id="1"
          status="+"
          setter="justin.garcia"
    />
          </attachment>
      

    </bug>

</bugzilla>